CINXE.COM

<!doctype html><html lang="en"><head><title data-rh="true">Evans Ye – Medium</title><meta data-rh="true" charset="utf-8"/><meta data-rh="true" name="viewport" content="width=device-width,minimum-scale=1,initial-scale=1,maximum-scale=1"/><meta data-rh="true" name="theme-color" content="#000000"/><meta data-rh="true" name="twitter:app:name:iphone" content="Medium"/><meta data-rh="true" name="twitter:app:id:iphone" content="828256236"/><meta data-rh="true" property="al:ios:app_name" content="Medium"/><meta data-rh="true" property="al:ios:app_store_id" content="828256236"/><meta data-rh="true" property="al:android:package" content="com.medium.reader"/><meta data-rh="true" property="al:android:app_name" content="Medium"/><meta data-rh="true" property="fb:app_id" content="542599432471018"/><meta data-rh="true" property="og:site_name" content="Medium"/><meta data-rh="true" property="og:title" content="Evans Ye – Medium"/><meta data-rh="true" name="description" content="Read writing from Evans Ye on Medium. 軟體工程雜談。歡迎打臉,幫助我成為更好的自己:). Every day, Evans Ye and thousands of other voices read, write, and share important stories on Medium."/><meta data-rh="true" property="og:description" content="Read writing from Evans Ye on Medium. 軟體工程雜談。歡迎打臉,幫助我成為更好的自己:). Every day, Evans Ye and thousands of other voices read, write, and share important stories on Medium."/><meta data-rh="true" name="twitter:description" content="Read writing from Evans Ye on Medium. 軟體工程雜談。歡迎打臉,幫助我成為更好的自己:). Every day, Evans Ye and thousands of other voices read, write, and share important stories on Medium."/><meta data-rh="true" property="og:url" content="https://medium.com/@evansye"/><meta data-rh="true" property="al:web:url" content="https://medium.com/@evansye"/><meta data-rh="true" property="al:ios:url" content="medium://@evansye"/><meta data-rh="true" name="twitter:app:url:iphone" content="medium://@evansye"/><meta data-rh="true" property="al:android:url" content="medium://@evansye"/><meta data-rh="true" property="og:image" content="https://miro.medium.com/v2/resize:fit:2400/0*bVmEapcbk-cCyJq2.png"/><meta data-rh="true" name="twitter:image:src" content="https://miro.medium.com/v2/resize:fit:2400/0*bVmEapcbk-cCyJq2.png"/><meta data-rh="true" property="profile:username" content="evansye"/><meta data-rh="true" property="profile:first_name" content="Evans"/><meta data-rh="true" property="profile:last_name" content="Ye"/><meta data-rh="true" property="og:type" content="profile"/><meta data-rh="true" name="twitter:card" content="summary"/><link data-rh="true" rel="icon" href="https://miro.medium.com/v2/5d8de952517e8160e40ef9841c781cdc14a5db313057fa3c3de41c6f5b494b19"/><link data-rh="true" rel="search" type="application/opensearchdescription+xml" title="Medium" href="/osd.xml"/><link data-rh="true" rel="apple-touch-icon" sizes="152x152" href="https://miro.medium.com/v2/resize:fill:304:304/10fd5c419ac61637245384e7099e131627900034828f4f386bdaa47a74eae156"/><link data-rh="true" rel="apple-touch-icon" sizes="120x120" href="https://miro.medium.com/v2/resize:fill:240:240/10fd5c419ac61637245384e7099e131627900034828f4f386bdaa47a74eae156"/><link data-rh="true" rel="apple-touch-icon" sizes="76x76" href="https://miro.medium.com/v2/resize:fill:152:152/10fd5c419ac61637245384e7099e131627900034828f4f386bdaa47a74eae156"/><link data-rh="true" rel="apple-touch-icon" sizes="60x60" href="https://miro.medium.com/v2/resize:fill:120:120/10fd5c419ac61637245384e7099e131627900034828f4f386bdaa47a74eae156"/><link data-rh="true" rel="mask-icon" href="https://miro.medium.com/v2/resize:fill:1000:1000/7*GAOKVe--MXbEJmV9230oOQ.png" color="#171717"/><link data-rh="true" id="glyph_preload_link" rel="preload" as="style" type="text/css" href="https://glyph.medium.com/css/unbound.css"/><link data-rh="true" id="glyph_link" rel="stylesheet" type="text/css" href="https://glyph.medium.com/css/unbound.css"/><link data-rh="true" rel="canonical" href="https://medium.com/@evansye"/><link data-rh="true" rel="alternate" href="android-app://com.medium.reader/https/medium.com/@evansye"/><link data-rh="true" id="feedLink" rel="alternate" type="application/rss+xml" title="RSS" href="https://medium.com/feed/@evansye"/><link data-rh="true" rel="me" href="https://twitter.com/YE_YOU_XIN"/><style type="text/css" data-fela-rehydration="393" data-fela-type="STATIC">html{box-sizing:border-box;-webkit-text-size-adjust:100%}*, *:before, *:after{box-sizing:inherit}body{margin:0;padding:0;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;color:rgba(0,0,0,0.8);position:relative;min-height:100vh}h1, h2, h3, h4, h5, h6, dl, dd, ol, ul, menu, figure, blockquote, p, pre, form{margin:0}menu, ol, ul{padding:0;list-style:none;list-style-image:none}main{display:block}a{color:inherit;text-decoration:none}a, button, input{-webkit-tap-highlight-color:transparent}img, svg{vertical-align:middle}button{background:transparent;overflow:visible}button, input, optgroup, select, textarea{margin:0}:root{--reach-tabs:1;--reach-menu-button:1}#speechify-root{font-family:Sohne, sans-serif}div[data-popper-reference-hidden="true"]{visibility:hidden;pointer-events:none}.grecaptcha-badge{visibility:hidden} /*XCode style (c) Angel Garcia <angelgarcia.mail@gmail.com>*/.hljs {background: #fff;color: black; }/* Gray DOCTYPE selectors like WebKit */ .xml .hljs-meta {color: #c0c0c0; }.hljs-comment, .hljs-quote {color: #007400; }.hljs-tag, .hljs-attribute, .hljs-keyword, .hljs-selector-tag, .hljs-literal, .hljs-name {color: #aa0d91; }.hljs-variable, .hljs-template-variable {color: #3F6E74; }.hljs-code, .hljs-string, .hljs-meta .hljs-string {color: #c41a16; }.hljs-regexp, .hljs-link {color: #0E0EFF; }.hljs-title, .hljs-symbol, .hljs-bullet, .hljs-number {color: #1c00cf; }.hljs-section, .hljs-meta {color: #643820; }.hljs-title.class_, .hljs-class .hljs-title, .hljs-type, .hljs-built_in, .hljs-params {color: #5c2699; }.hljs-attr {color: #836C28; }.hljs-subst {color: #000; }.hljs-formula {background-color: #eee;font-style: italic; }.hljs-addition {background-color: #baeeba; }.hljs-deletion {background-color: #ffc8bd; }.hljs-selector-id, .hljs-selector-class {color: #9b703f; }.hljs-doctag, .hljs-strong {font-weight: bold; }.hljs-emphasis {font-style: italic; } </style><style type="text/css" data-fela-rehydration="393" data-fela-type="KEYFRAME">@-webkit-keyframes k1{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}@-moz-keyframes k1{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}@keyframes k1{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}</style><style type="text/css" data-fela-rehydration="393" data-fela-type="RULE">.a{font-family:medium-content-sans-serif-font, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif}.b{font-weight:400}.c{background-color:rgba(255, 255, 255, 1)}.l{display:block}.m{position:sticky}.n{top:0}.o{z-index:500}.p{padding:0 24px}.q{align-items:center}.r{border-bottom:solid 1px #F2F2F2}.y{height:41px}.z{line-height:20px}.ab{display:flex}.ac{height:57px}.ae{flex:1 0 auto}.af{color:inherit}.ag{fill:inherit}.ah{font-size:inherit}.ai{border:inherit}.aj{font-family:inherit}.ak{letter-spacing:inherit}.al{font-weight:inherit}.am{padding:0}.an{margin:0}.ao{cursor:pointer}.ap:disabled{cursor:not-allowed}.aq:disabled{color:#6B6B6B}.ar:disabled{fill:#6B6B6B}.au{width:auto}.av path{fill:#242424}.aw{height:25px}.ax{margin-left:16px}.ay{border:none}.az{border-radius:20px}.ba{width:240px}.bb{background:#F9F9F9}.bc path{fill:#6B6B6B}.be{outline:none}.bf{font-family:sohne, "Helvetica Neue", Helvetica, Arial, sans-serif}.bg{font-size:14px}.bh{width:100%}.bi{padding:10px 20px 10px 0}.bj{background-color:transparent}.bk{color:#242424}.bl::placeholder{color:#6B6B6B}.bm{display:inline-block}.bn{margin-left:12px}.bo{margin-right:12px}.bp{border-radius:4px}.bq{margin-left:24px}.br{height:24px}.bx{background-color:#F9F9F9}.by{border-radius:50%}.bz{height:32px}.ca{width:32px}.cb{margin:auto}.cc{max-width:1336px}.cd{flex-direction:row}.ce{justify-content:space-evenly}.cl{flex:1 1 auto}.cm{height:100vh}.cn{justify-content:center}.co{width:40px}.cp{height:40px}.cq{border-width:2px}.cr{border-style:solid}.cs{border-color:#242424 transparent #242424 #242424}.ct{animation:k1 2s infinite linear;}.cu{padding-right:24px}.dm{box-sizing:border-box}.dn{border-left:1px solid #F2F2F2}.do{min-height:100vh}.dp{height:100%}.dq{position:relative}.dr{margin-left:8px}.ds{color:#6B6B6B}.dt{font-size:13px}.el{color:#FFFFFF}.em{fill:#FFFFFF}.eo{background:#1A8917}.ep{border-color:#1A8917}.et:disabled{cursor:inherit !important}.eu:disabled{opacity:0.3}.ev:disabled:hover{background:#1A8917}.ew:disabled:hover{border-color:#1A8917}.ex{border-radius:99em}.ey{border-width:1px}.ez{text-decoration:none}.fa{text-align:center}.fd{margin-right:32px}.fe{fill:#6B6B6B}.fh{background:transparent}.fi svg{margin-left:4px}.fj svg{fill:#6B6B6B}.fl{box-shadow:inset 0 0 0 1px rgba(0, 0, 0, 0.05)}.fm{position:absolute}.fo{background-color:#F2F2F2}.fp{top:57px}.fq{min-height:calc(100vh - 57px)}.fr{flex-direction:column}.fs{padding-bottom:0px}.ft{border-bottom:none}.fu{margin-top:40px}.fv{height:88px}.fw{width:88px}.fy{margin-top:16px}.fz{align-items:baseline}.ga{flex-wrap:wrap}.gb{word-break:break-word}.gc{padding-right:8px}.gd{font-weight:500}.ge{font-size:16px}.gf{letter-spacing:0}.gg{margin-top:8px}.gh{line-height:24px}.gi{margin-top:12px}.gj{margin-bottom:40px}.gk{margin-top:24px}.gl{padding:8px 16px}.gm{stroke:#F2F2F2}.gn{height:36px}.go{width:36px}.gp{color:#F2F2F2}.gq{fill:#F2F2F2}.gr{background:#F2F2F2}.gs{border-color:#F2F2F2}.gy{margin-bottom:16px}.gz{justify-content:space-between}.ha p{word-break:break-all}.hd{padding-right:10px}.he{padding-right:12px}.hf{height:20px}.hg{width:20px}.hh{overflow:hidden}.hi{max-height:20px}.hj{text-overflow:ellipsis}.hk{display:-webkit-box}.hl{-webkit-line-clamp:1}.hm{-webkit-box-orient:vertical}.hn{word-break:break-all}.hp{padding:4px}.hs{border-radius:6px}.ht{padding:24px 0}.hu{margin-right:6px}.hv{font-size:11px}.hw{line-height:16px}.hx{min-width:0}.hy{margin:0 24px}.ic{box-shadow:inset 0 -1px 0 #F2F2F2}.jf{justify-content:flex-start}.jg{margin-right:20px}.jh{align-self:flex-start}.ji{flex:0 0 auto}.jj{height:48px}.jk{width:48px}.kk{color:rgba(25, 25, 25, 1)}.kn{margin-top:2px}.ko{overflow-x:scroll}.kp{overflow-y:hidden}.kq::-webkit-scrollbar{height:0}.kr::-webkit-scrollbar{width:0}.ks::-webkit-scrollbar{background:transparent}.kt{scrollbar-width:none}.ku{-ms-overflow-style:none}.kv{min-width:-webkit-max-content}.kw{padding:0px}.ky{padding-bottom:16px}.kz{border-bottom:1px solid #F2F2F2}.la{min-width:max-content}.lb{right:0}.lc{bottom:12px}.ld{padding-left:42px}.le{pointer-events:none}.lf{opacity:0}.lg{background:linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.75) 25%, rgba(255, 255, 255, 0.9) 50%, rgba(255, 255, 255, 1) 75%)}.lh{margin:2px}.li svg path{fill:#6B6B6B}.lk{left:0}.ll{padding-right:42px}.lm{background:linear-gradient(270deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.75) 25%, rgba(255, 255, 255, 0.9) 50%, rgba(255, 255, 255, 1) 75%)}.ln{padding:8px 0}.lo{box-sizing:content-box}.lp a{position:relative}.lq a{z-index:2}.lr button{position:relative}.ls button{z-index:2}.lt a{position:static}.lu a::before{content:""}.lv a::before{position:absolute}.lw a::before{z-index:1}.lx a::before{top:0}.ly a::before{left:0}.lz a::before{bottom:0}.ma a::before{right:0}.mb a{display:flex}.mc a{flex-direction:column}.md{font-weight:700}.my{padding-top:8px}.mz{max-height:40px}.na{-webkit-line-clamp:2}.nl{max-width:200px}.nm{height:16px}.nn{opacity:1}.no{transition:opacity 300ms ease-out}.np{gap:16px}.nq{width:80px}.nr{justify-content:flex-end}.ns{flex:0 0 0}.nu{padding:12px}.nv{padding-top:12px}.nw{height:0px}.oc{margin-top:32px}.od{gap:4px}.as:hover:not(:disabled){color:rgba(25, 25, 25, 1)}.at:hover:not(:disabled){fill:rgba(25, 25, 25, 1)}.eq:hover{background:#156D12}.er:hover{border-color:#156D12}.es:hover{cursor:pointer}.ff:hover{color:#242424}.fg:hover{fill:#242424}.fk:hover svg{fill:#242424}.fn:hover{background-color:rgba(0, 0, 0, 0.1)}.fx:hover{background-color:none}.gt:hover{background:#F2F2F2}.gu:hover{border-color:#F2F2F2}.gv:hover{cursor:wait}.gw:hover{color:#F2F2F2}.gx:hover{fill:#F2F2F2}.hb:hover p{text-decoration:underline}.hc:hover p{color:rgba(61, 61, 61, 1)}.hq:hover path{fill:#000000}.kx:hover{color:#000000 !important}.lj:hover svg path{fill:#000000}.nt:hover{color:#000000}.bd:focus-within path{fill:#242424}.hr:focus path{fill:#000000}</style><style type="text/css" data-fela-rehydration="393" data-fela-type="RULE" media="all and (min-width: 1080px)">.d{display:none}.bw{width:64px}.cf{max-width:728px}.cg{min-width:728px}.di{padding-left:clamp(24px, 24px + 100vw - 1080px, 40px)}.dj{display:block}.dk{min-width:368px}.dl{max-width:368px}.ec{font-size:14px}.ed{line-height:20px}.ej{font-size:13px}.ek{padding:5px 12px}.fc{display:flex}.ib{max-width:680px}.ih{margin:52px 0 48px}.iw{margin-bottom:40px}.ix{align-items:center}.iy{justify-content:flex-end}.iz{flex-wrap:nowrap}.je{margin-right:0}.kf{font-size:42px}.kg{line-height:52px}.kh{max-height:52px}.ki{-webkit-line-clamp:1}.kj{letter-spacing:-0.011em}.mt{font-size:24px}.mu{line-height:30px}.mv{max-height:90px}.mw{-webkit-line-clamp:3}.mx{letter-spacing:-0.016em}.nj{padding-top:10px}.nk{width:calc(100% - (160px + 56px))}.ob{margin-top:20px}</style><style type="text/css" data-fela-rehydration="393" data-fela-type="RULE" media="all and (max-width: 1079.98px)">.e{display:none}</style><style type="text/css" data-fela-rehydration="393" data-fela-type="RULE" media="all and (max-width: 903.98px)">.f{display:none}</style><style type="text/css" data-fela-rehydration="393" data-fela-type="RULE" media="all and (max-width: 727.98px)">.g{display:none}</style><style type="text/css" data-fela-rehydration="393" data-fela-type="RULE" media="all and (max-width: 551.98px)">.h{display:none}.s{display:flex}.t{justify-content:space-between}.bs{width:24px}.ck{min-width:0}.cv{padding-left:24px}.cw{min-width:352px}.cx{max-width:352px}.du{font-size:13px}.dv{line-height:20px}.ee{padding:0px 8px 1px}.id{margin:24px 0}.ii{margin-bottom:24px}.ij{align-items:flex-start}.ik{flex-wrap:wrap}.ja{margin-right:0}.jl{font-size:24px}.jm{line-height:30px}.jn{max-height:120px}.jo{-webkit-line-clamp:4}.jp{letter-spacing:-0.016em}.kl{flex-wrap:nowrap}.me{font-size:20px}.mf{line-height:24px}.mg{max-height:96px}.mh{letter-spacing:0}.nb{padding-top:2px}.nc{width:100%}.nx{margin-top:20px}</style><style type="text/css" data-fela-rehydration="393" data-fela-type="RULE" media="all and (min-width: 904px) and (max-width: 1079.98px)">.i{display:none}.bv{width:64px}.ch{min-width:0}.de{padding-left:24px}.df{display:block}.dg{min-width:352px}.dh{max-width:352px}.ea{font-size:14px}.eb{line-height:20px}.eh{font-size:13px}.ei{padding:5px 12px}.fb{display:flex}.ia{max-width:680px}.ig{margin:52px 0 48px}.is{margin-bottom:40px}.it{align-items:center}.iu{justify-content:flex-end}.iv{flex-wrap:nowrap}.jd{margin-right:16px}.ka{font-size:42px}.kb{line-height:52px}.kc{max-height:52px}.kd{-webkit-line-clamp:1}.ke{letter-spacing:-0.011em}.mo{font-size:24px}.mp{line-height:30px}.mq{max-height:90px}.mr{-webkit-line-clamp:3}.ms{letter-spacing:-0.016em}.nh{padding-top:10px}.ni{width:calc(100% - (160px + 56px))}.oa{margin-top:20px}</style><style type="text/css" data-fela-rehydration="393" data-fela-type="RULE" media="all and (min-width: 728px) and (max-width: 903.98px)">.j{display:none}.w{display:flex}.x{justify-content:space-between}.bu{width:64px}.ci{min-width:0}.db{padding-left:24px}.dc{min-width:352px}.dd{max-width:352px}.dy{font-size:13px}.dz{line-height:20px}.eg{padding:0px 8px 1px}.hz{max-width:680px}.if{margin:52px 0 48px}.io{margin-bottom:40px}.ip{align-items:flex-start}.iq{justify-content:flex-end}.ir{flex-wrap:nowrap}.jc{margin-right:16px}.jv{font-size:24px}.jw{line-height:30px}.jx{max-height:120px}.jy{-webkit-line-clamp:4}.jz{letter-spacing:-0.016em}.mm{max-height:90px}.mn{-webkit-line-clamp:3}.nf{padding-top:10px}.ng{width:calc(100% - (160px + 56px))}.nz{margin-top:20px}</style><style type="text/css" data-fela-rehydration="393" data-fela-type="RULE" media="all and (min-width: 552px) and (max-width: 727.98px)">.k{display:none}.u{display:flex}.v{justify-content:space-between}.bt{width:24px}.cj{min-width:0}.cy{padding-left:24px}.cz{min-width:352px}.da{max-width:352px}.dw{font-size:13px}.dx{line-height:20px}.ef{padding:0px 8px 1px}.ie{margin:24px 0}.il{margin-bottom:24px}.im{align-items:flex-start}.in{flex-wrap:wrap}.jb{margin-right:0}.jq{font-size:24px}.jr{line-height:30px}.js{max-height:120px}.jt{-webkit-line-clamp:4}.ju{letter-spacing:-0.016em}.km{flex-wrap:nowrap}.mi{font-size:20px}.mj{line-height:24px}.mk{max-height:96px}.ml{letter-spacing:0}.nd{padding-top:2px}.ne{width:100%}.ny{margin-top:20px}</style><style type="text/css" data-fela-rehydration="393" data-fela-type="RULE" media="(orientation: landscape) and (max-width: 903.98px)">.ho{max-height:none}</style></head><body><div id="root"><div class="a b c"><div class="d e f g h i j k"></div><script>document.domain = document.domain;</script><div class="l c"><div class="l m n o c"><div class="p q r s t u v w x i d y z"><a class="ds ag dt bf ak b am an ao ap aq ar as at s u w i d q dp z" href="https://rsci.app.link/?%24canonical_url=https%3A%2F%2Fmedium.com%2F%40evansye&amp;%7Efeature=LoOpenInAppButton&amp;%7Echannel=ShowUser&amp;source=---two_column_layout_nav----------------------------------" rel="noopener follow">Open in app<svg xmlns="http://www.w3.org/2000/svg" width="10" height="10" fill="none" viewBox="0 0 10 10" class="dr"><path fill="currentColor" d="M.985 8.485a.375.375 0 1 0 .53.53zM8.75 1.25h.375A.375.375 0 0 0 8.75.875zM8.375 6.5a.375.375 0 1 0 .75 0zM3.5.875a.375.375 0 1 0 0 .75zm-1.985 8.14 7.5-7.5-.53-.53-7.5 7.5zm6.86-7.765V6.5h.75V1.25zM3.5 1.625h5.25v-.75H3.5z"></path></svg></a><div class="ab q"><p class="bf b du dv dw dx dy dz ea eb ec ed ds"><span><button class="bf b du dv ee dw dx ef dy dz eg eh eb ei ej ed ek el em eo ep eq er es et eu ev ew ex ey cr dm bm ez fa" data-testid="headerSignUpButton">Sign up</button></span></p><div class="ax l"><p class="bf b du dv dw dx dy dz ea eb ec ed ds"><span><a class="af ag ah ai aj ak al am an ao ap aq ar as at" data-testid="headerSignInButton" rel="noopener follow" href="/m/signin?operation=login&amp;redirect=https%3A%2F%2Fmedium.com%2F%40evansye&amp;source=user_profile_page---two_column_layout_nav-----------------------global_nav-----------">Sign in</a></span></p></div></div></div><div class="p q r ab ac"><div class="ab q ae"><a class="af ag ah ai aj ak al am an ao ap aq ar as at ab" aria-label="Homepage" data-testid="headerMediumLogo" rel="noopener follow" href="/?source=---two_column_layout_nav----------------------------------"><svg xmlns="http://www.w3.org/2000/svg" width="719" height="160" fill="none" viewBox="0 0 719 160" class="au av aw"><path fill="#242424" d="m174.104 9.734.215-.047V8.02H130.39L89.6 103.89 48.81 8.021H1.472v1.666l.212.047c8.018 1.81 12.09 4.509 12.09 14.242V137.93c0 9.734-4.087 12.433-12.106 14.243l-.212.047v1.671h32.118v-1.665l-.213-.048c-8.018-1.809-12.089-4.509-12.089-14.242V30.586l52.399 123.305h2.972l53.925-126.743V140.75c-.687 7.688-4.721 10.062-11.982 11.701l-.215.05v1.652h55.948v-1.652l-.215-.05c-7.269-1.639-11.4-4.013-12.087-11.701l-.037-116.774h.037c0-9.733 4.071-12.432 12.087-14.242m25.555 75.488c.915-20.474 8.268-35.252 20.606-35.507 3.806.063 6.998 1.312 9.479 3.714 5.272 5.118 7.751 15.812 7.368 31.793zm-.553 5.77h65.573v-.275c-.186-15.656-4.721-27.834-13.466-36.196-7.559-7.227-18.751-11.203-30.507-11.203h-.263c-6.101 0-13.584 1.48-18.909 4.16-6.061 2.807-11.407 7.003-15.855 12.511-7.161 8.874-11.499 20.866-12.554 34.343q-.05.606-.092 1.212a50 50 0 0 0-.065 1.151 85.807 85.807 0 0 0-.094 5.689c.71 30.524 17.198 54.917 46.483 54.917 25.705 0 40.675-18.791 44.407-44.013l-1.886-.664c-6.557 13.556-18.334 21.771-31.738 20.769-18.297-1.369-32.314-19.922-31.042-42.395m139.722 41.359c-2.151 5.101-6.639 7.908-12.653 7.908s-11.513-4.129-15.418-11.63c-4.197-8.053-6.405-19.436-6.405-32.92 0-28.067 8.729-46.22 22.24-46.22 5.657 0 10.111 2.807 12.236 7.704zm43.499 20.008c-8.019-1.897-12.089-4.722-12.089-14.951V1.309l-48.716 14.353v1.757l.299-.024c6.72-.543 11.278.386 13.925 2.83 2.072 1.915 3.082 4.853 3.082 8.987v18.66c-4.803-3.067-10.516-4.56-17.448-4.56-14.059 0-26.909 5.92-36.176 16.672-9.66 11.205-14.767 26.518-14.767 44.278-.003 31.72 15.612 53.039 38.851 53.039 13.595 0 24.533-7.449 29.54-20.013v16.865h43.711v-1.746zM424.1 19.819c0-9.904-7.468-17.374-17.375-17.374-9.859 0-17.573 7.632-17.573 17.374s7.721 17.374 17.573 17.374c9.907 0 17.375-7.47 17.375-17.374m11.499 132.546c-8.019-1.897-12.089-4.722-12.089-14.951h-.035V43.635l-43.714 12.551v1.705l.263.024c9.458.842 12.047 4.1 12.047 15.152v81.086h43.751v-1.746zm112.013 0c-8.018-1.897-12.089-4.722-12.089-14.951V43.635l-41.621 12.137v1.71l.246.026c7.733.813 9.967 4.257 9.967 15.36v59.279c-2.578 5.102-7.415 8.131-13.274 8.336-9.503 0-14.736-6.419-14.736-18.073V43.638l-43.714 12.55v1.703l.262.024c9.459.84 12.05 4.097 12.05 15.152v50.17a56.3 56.3 0 0 0 .91 10.444l.787 3.423c3.701 13.262 13.398 20.197 28.59 20.197 12.868 0 24.147-7.966 29.115-20.43v17.311h43.714v-1.747zm169.818 1.788v-1.749l-.213-.05c-8.7-2.006-12.089-5.789-12.089-13.49v-63.79c0-19.89-11.171-31.761-29.883-31.761-13.64 0-25.141 7.882-29.569 20.16-3.517-13.01-13.639-20.16-28.606-20.16-13.146 0-23.449 6.938-27.869 18.657V43.643L545.487 55.68v1.715l.263.024c9.345.829 12.047 4.181 12.047 14.95v81.784h40.787v-1.746l-.215-.053c-6.941-1.631-9.181-4.606-9.181-12.239V66.998c1.836-4.289 5.537-9.37 12.853-9.37 9.086 0 13.692 6.296 13.692 18.697v77.828h40.797v-1.746l-.215-.053c-6.94-1.631-9.18-4.606-9.18-12.239V75.066a42 42 0 0 0-.578-7.26c1.947-4.661 5.86-10.177 13.475-10.177 9.214 0 13.691 6.114 13.691 18.696v77.828z"></path></svg></a><div class="ax h"><div class="ab ay az ba bb q bc bd"><div class="bm" aria-hidden="false" aria-describedby="searchResults" aria-labelledby="searchResults"></div><div class="bn bo ab"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none" viewBox="0 0 24 24"><path fill="currentColor" fill-rule="evenodd" d="M4.092 11.06a6.95 6.95 0 1 1 13.9 0 6.95 6.95 0 0 1-13.9 0m6.95-8.05a8.05 8.05 0 1 0 5.13 14.26l3.75 3.75a.56.56 0 1 0 .79-.79l-3.73-3.73A8.05 8.05 0 0 0 11.042 3z" clip-rule="evenodd"></path></svg></div><input role="combobox" aria-controls="searchResults" aria-expanded="false" aria-label="search" data-testid="headerSearchInput" tabindex="0" class="ay be bf bg z bh bi bj bk bl" placeholder="Search" value=""/></div></div></div><div class="h k w fb fc"><div class="fd ab"><span><a class="af ag ah ai aj ak al am an ao ap aq ar as at" data-testid="headerWriteButton" rel="noopener follow" href="/m/signin?operation=register&amp;redirect=https%3A%2F%2Fmedium.com%2Fnew-story&amp;source=---two_column_layout_nav-----------------------new_post_topnav-----------"><div class="bf b bg z ds dq fe ab q ff fg"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none" viewBox="0 0 24 24" aria-label="Write"><path fill="currentColor" d="M14 4a.5.5 0 0 0 0-1zm7 6a.5.5 0 0 0-1 0zm-7-7H4v1h10zM3 4v16h1V4zm1 17h16v-1H4zm17-1V10h-1v10zm-1 1a1 1 0 0 0 1-1h-1zM3 20a1 1 0 0 0 1 1v-1zM4 3a1 1 0 0 0-1 1h1z"></path><path stroke="currentColor" d="m17.5 4.5-8.458 8.458a.25.25 0 0 0-.06.098l-.824 2.47a.25.25 0 0 0 .316.316l2.47-.823a.25.25 0 0 0 .098-.06L19.5 6.5m-2-2 2.323-2.323a.25.25 0 0 1 .354 0l1.646 1.646a.25.25 0 0 1 0 .354L19.5 6.5m-2-2 2 2"></path></svg><div class="dr l">Write</div></div></a></span></div></div><div class="k j i d"><div class="fd ab"><a class="af ag ah ai aj ak al am an ao ap aq ar as at" data-testid="headerSearchButton" rel="noopener follow" href="/search?source=---two_column_layout_nav----------------------------------"><div class="bf b bg z ds dq fe ab q ff fg"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none" viewBox="0 0 24 24" aria-label="Search"><path fill="currentColor" fill-rule="evenodd" d="M4.092 11.06a6.95 6.95 0 1 1 13.9 0 6.95 6.95 0 0 1-13.9 0m6.95-8.05a8.05 8.05 0 1 0 5.13 14.26l3.75 3.75a.56.56 0 1 0 .79-.79l-3.73-3.73A8.05 8.05 0 0 0 11.042 3z" clip-rule="evenodd"></path></svg></div></a></div></div><div class="fd h k j"><div class="ab q"><p class="bf b du dv dw dx dy dz ea eb ec ed ds"><span><button class="bf b du dv ee dw dx ef dy dz eg eh eb ei ej ed ek el em eo ep eq er es et eu ev ew ex ey cr dm bm ez fa" data-testid="headerSignUpButton">Sign up</button></span></p><div class="ax l"><p class="bf b du dv dw dx dy dz ea eb ec ed ds"><span><a class="af ag ah ai aj ak al am an ao ap aq ar as at" data-testid="headerSignInButton" rel="noopener follow" href="/m/signin?operation=login&amp;redirect=https%3A%2F%2Fmedium.com%2F%40evansye&amp;source=user_profile_page---two_column_layout_nav-----------------------global_nav-----------">Sign in</a></span></p></div></div></div><div class="l" aria-hidden="false"><button class="ay fh am ab q ao fi fj fk" aria-label="user options menu" data-testid="headerUserIcon"><div class="l dq"><img alt="" class="l dm by bz ca fo" src="https://miro.medium.com/v2/resize:fill:64:64/1*dmbNkD5D-u45r44go_cf0g.png" width="32" height="32" loading="lazy" role="presentation"/><div class="fl by l bz ca fm n ay fn"></div></div></button></div></div></div><div class="cb cc l"><div class="ab cd ce"><main class="cf cg ch ci cj ck l cl"><div class="do ab fr c"><div class="l"><div class="ab cn"><div class="hx bh hy hz ia ib"><div class="ic id ie if ig ih l"><div class="ii ij t ik il im v in io ip iq ir is it iu iv iw ix iy iz ab"><div class="bh ab ij im ip it ix"><div class="ja jb jc jd je ab q jf cl"><div class="jg i d jh ji"><div class="l dq"><img alt="Evans Ye" class="l dm by jj jk fo" src="https://miro.medium.com/v2/resize:fill:96:96/0*bVmEapcbk-cCyJq2.png" width="48" height="48" loading="lazy"/><div class="fl by l jj jk fm n ay fx"></div></div></div><div class="l"><div class="ab kl km ir iv iz"><span class="bf gd jl jm jn jo jp jq jr js jt ju jv jw jx jy jz ka kb kc kd ke kf kg kh ki kj hh hj hk hm gb ho kk gc">Evans Ye</span><div class="kn ab q"></div></div><div class="gg i d"><p class="bf b ge gh ds"><span class="pw-follower-count bf b ge gh ds"><a class="af ag ah ai aj ak al am an ao ap aq ar as at" rel="noopener follow" href="/@evansye/followers?source=user_profile_page----------------------1002493df61e---------------">213 Followers</a></span></p></div></div></div></div></div><nav class="ic hh l dq"><div class="ab q ko kp kq kr ks kt ku"><span class="kv l"><div class="ky kz fd la l"><a class="ay ao kw" role="tab" rel="noopener follow" href="/@evansye?source=user_profile_page----------------------1002493df61e---------------"><p class="bf b bg z ds"><span class="kx">Home</span></p></a></div></span><span class="kv l"><div class="ky kz fd la l"><a class="ay ao kw" role="tab" rel="noopener follow" href="/@evansye/about?source=user_profile_page----------------------1002493df61e---------------"><p class="bf b bg z ds"><span class="kx">About</span></p></a></div></span><div class="fm lb n lc ld ab q le lf lg"><button class="ay am lh ao li lj" aria-label="next sections" tabindex="-1"><svg width="26px" height="26px" class="svgIcon-use" viewBox="0 0 19 19" style="transform:rotate(180deg)" aria-hidden="true"><path fill-rule="evenodd" d="M11.47 13.969 6.986 9.484 11.47 5l.553.492L8.03 9.484l3.993 3.993z"></path></svg></button></div><div class="fm lk n lc ll ab q le lf lm"><button class="ay am lh ao li lj" aria-label="previous sections" tabindex="-1"><svg width="26px" height="26px" class="svgIcon-use" viewBox="0 0 19 19" aria-hidden="true"><path fill-rule="evenodd" d="M11.47 13.969 6.986 9.484 11.47 5l.553.492L8.03 9.484l3.993 3.993z"></path></svg></button></div></div></nav></div></div></div></div><div class="l ae"><div class="ln l"><div><div class="ab cn"><div class="hx bh hy hz ia ib"><div class="bh l"><article class=""><div class="lo l"><div class="bh dp"><div class="l"><div class="bh l"><div style="position:relative;display:flex" role="link" data-href="https://medium.com/@evansye/在邊界內做事-但我現在在哪-b8047db12c0a" tabindex="0"><div class="bh lp lq lr ls"><div class="ab"></div><div class="ab"><div class="l cl gb"><div class="lt lu lv lw lx ly lz ma mb mc"><a class="af ag ah ai aj ak al am an ao ap aq ar as at" rel="noopener follow" href="/@evansye/在邊界內做事-但我現在在哪-b8047db12c0a?source=user_profile_page---------0-------------1002493df61e---------------"><h2 class="bf md me mf mg jo mh mi mj mk jt ml jv jw mm mn jz mo mp mq mr ms mt mu mv mw mx hh hj hk hm ho bk">在邊界內做事,但我現在在哪?</h2><div class="my"><h3 class="bf b ge z hh mz hj hk na hm ho ds">在邊界內做事是我聽得到吳軍專欄常常聽到的一句話,我也非常認同。SQL optimizer很難,但有多難?如果說SQL…</h3></div></a></div><div class="h k"><div class="nb nc nd ne nf ng nh ni nj nk l"><span class="bf b dt z ds"><div class="jj ab gz ae"><div class="ab q np"><span>Jul 2, 2023</span><div class="h k j i d"><div class="dq nl nm ab q"><div class="fm nn no ab q np"><div class="ax nm nq l fo"></div></div><a class="fm lf no ab q np" tabindex="-1" rel="noopener follow" href="/@evansye/在邊界內做事-但我現在在哪-b8047db12c0a?source=user_profile_page---------0-------------1002493df61e---------------"></a></div></div></div><div class="ab q nr ns"><div class="h k j i d"><div><div class="bm" aria-hidden="false"><span><a class="af ag ah ai aj ak al am an ao ap aq ar as at" rel="noopener follow" href="/m/signin?actionUrl=https%3A%2F%2Fmedium.com%2F_%2Fbookmark%2Fp%2Fb8047db12c0a&amp;operation=register&amp;redirect=https%3A%2F%2Fmedium.com%2F%40evansye%2F%25E5%259C%25A8%25E9%2582%258A%25E7%2595%258C%25E5%2585%25A7%25E5%2581%259A%25E4%25BA%258B-%25E4%25BD%2586%25E6%2588%2591%25E7%258F%25BE%25E5%259C%25A8%25E5%259C%25A8%25E5%2593%25AA-b8047db12c0a&amp;source=---------0-------------1002493df61e----bookmark_preview-----------"><svg xmlns="http://www.w3.org/2000/svg" width="25" height="25" fill="none" viewBox="0 0 25 25" class="ds nt nu" aria-label="Add to list bookmark button"><path fill="currentColor" d="M18 2.5a.5.5 0 0 1 1 0V5h2.5a.5.5 0 0 1 0 1H19v2.5a.5.5 0 1 1-1 0V6h-2.5a.5.5 0 0 1 0-1H18zM7 7a1 1 0 0 1 1-1h3.5a.5.5 0 0 0 0-1H8a2 2 0 0 0-2 2v14a.5.5 0 0 0 .805.396L12.5 17l5.695 4.396A.5.5 0 0 0 19 21v-8.5a.5.5 0 0 0-1 0v7.485l-5.195-4.012a.5.5 0 0 0-.61 0L7 19.985z"></path></svg></a></span></div></div></div></div></div></span></div></div></div></div><div class="nv j i d"><span class="bf b dt z ds"><div class="jj ab gz ae"><div class="ab q np"><span>Jul 2, 2023</span><div class="h k j i d"><div class="dq nl nm ab q"><div class="fm nn no ab q np"><div class="ax nm nq l fo"></div></div><a class="fm lf no ab q np" tabindex="-1" rel="noopener follow" href="/@evansye/在邊界內做事-但我現在在哪-b8047db12c0a?source=user_profile_page---------0-------------1002493df61e---------------"></a></div></div></div><div class="ab q nr ns"><div class="h k j i d"><div><div class="bm" aria-hidden="false"><span><a class="af ag ah ai aj ak al am an ao ap aq ar as at" rel="noopener follow" href="/m/signin?actionUrl=https%3A%2F%2Fmedium.com%2F_%2Fbookmark%2Fp%2Fb8047db12c0a&amp;operation=register&amp;redirect=https%3A%2F%2Fmedium.com%2F%40evansye%2F%25E5%259C%25A8%25E9%2582%258A%25E7%2595%258C%25E5%2585%25A7%25E5%2581%259A%25E4%25BA%258B-%25E4%25BD%2586%25E6%2588%2591%25E7%258F%25BE%25E5%259C%25A8%25E5%259C%25A8%25E5%2593%25AA-b8047db12c0a&amp;source=---------0-------------1002493df61e----bookmark_preview-----------"><svg xmlns="http://www.w3.org/2000/svg" width="25" height="25" fill="none" viewBox="0 0 25 25" class="ds nt nu" aria-label="Add to list bookmark button"><path fill="currentColor" d="M18 2.5a.5.5 0 0 1 1 0V5h2.5a.5.5 0 0 1 0 1H19v2.5a.5.5 0 1 1-1 0V6h-2.5a.5.5 0 0 1 0-1H18zM7 7a1 1 0 0 1 1-1h3.5a.5.5 0 0 0 0-1H8a2 2 0 0 0-2 2v14a.5.5 0 0 0 .805.396L12.5 17l5.695 4.396A.5.5 0 0 0 19 21v-8.5a.5.5 0 0 0-1 0v7.485l-5.195-4.012a.5.5 0 0 0-.61 0L7 19.985z"></path></svg></a></span></div></div></div></div></div></span></div></div></div><div class="nw bh r nx ny nz oa ob"></div></div></div></div></div></article></div></div></div><div class="ab cn"><div class="hx bh hy hz ia ib"><div class="oc bh l"><article class=""><div class="lo l"><div class="bh dp"><div class="l"><div class="bh l"><div style="position:relative;display:flex" role="link" data-href="https://medium.com/@evansye/雖人登入加拿大-分享我的焦慮全餐給大家笑笑-4f3a4f32e354" tabindex="0"><div class="bh lp lq lr ls"><div class="ab"></div><div class="ab"><div class="l cl gb"><div class="lt lu lv lw lx ly lz ma mb mc"><a class="af ag ah ai aj ak al am an ao ap aq ar as at" rel="noopener follow" href="/@evansye/雖人登入加拿大-分享我的焦慮全餐給大家笑笑-4f3a4f32e354?source=user_profile_page---------1-------------1002493df61e---------------"><h2 class="bf md me mf mg jo mh mi mj mk jt ml jv jw mm mn jz mo mp mq mr ms mt mu mv mw mx hh hj hk hm ho bk">雖人登入加拿大 — 分享我的焦慮全餐給大家笑笑</h2><div class="my"><h3 class="bf b ge z hh mz hj hk na hm ho ds">去年底工程師裁員潮開始時,我揣著坎克不安的心情relocate到溫哥華做打工仔。通常這種開啟人生新篇章的事件,大部分人都是抱持美好的想像與期待,不過我的劇情很快就急轉直下。不開心是肯定的,不過轉念一想,我的雖事如果能讓大家莞爾一笑,也算是一種美好經歷不是?</h3></div></a></div><div class="h k"><div class="nb nc nd ne nf ng nh ni nj nk l"><span class="bf b dt z ds"><div class="jj ab gz ae"><div class="ab q np"><span>Feb 19, 2023</span><div class="h k j i d"><div class="dq nl nm ab q"><div class="fm nn no ab q np"><div class="ax nm nq l fo"></div></div><a class="fm lf no ab q np" tabindex="-1" rel="noopener follow" href="/@evansye/雖人登入加拿大-分享我的焦慮全餐給大家笑笑-4f3a4f32e354?source=user_profile_page---------1-------------1002493df61e---------------"><div><div class="ab" aria-hidden="false"><div class="ab q od"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="#6B6B6B" viewBox="0 0 16 16"><path fill="#6B6B6B" d="M12.344 11.458A5.28 5.28 0 0 0 14 7.526C14 4.483 11.391 2 8.051 2S2 4.483 2 7.527c0 3.051 2.712 5.526 6.059 5.526a6.6 6.6 0 0 0 1.758-.236q.255.223.554.414c.784.51 1.626.768 2.512.768a.37.37 0 0 0 .355-.214.37.37 0 0 0-.03-.384 4.7 4.7 0 0 1-.857-1.958v.014z"></path></svg><span>1</span></div></div></div></a></div></div></div><div class="ab q nr ns"><div class="h k j i d"><div><div class="bm" aria-hidden="false"><span><a class="af ag ah ai aj ak al am an ao ap aq ar as at" rel="noopener follow" href="/m/signin?actionUrl=https%3A%2F%2Fmedium.com%2F_%2Fbookmark%2Fp%2F4f3a4f32e354&amp;operation=register&amp;redirect=https%3A%2F%2Fmedium.com%2F%40evansye%2F%25E9%259B%2596%25E4%25BA%25BA%25E7%2599%25BB%25E5%2585%25A5%25E5%258A%25A0%25E6%258B%25BF%25E5%25A4%25A7-%25E5%2588%2586%25E4%25BA%25AB%25E6%2588%2591%25E7%259A%2584%25E7%2584%25A6%25E6%2585%25AE%25E5%2585%25A8%25E9%25A4%2590%25E7%25B5%25A6%25E5%25A4%25A7%25E5%25AE%25B6%25E7%25AC%2591%25E7%25AC%2591-4f3a4f32e354&amp;source=---------1-------------1002493df61e----bookmark_preview-----------"><svg xmlns="http://www.w3.org/2000/svg" width="25" height="25" fill="none" viewBox="0 0 25 25" class="ds nt nu" aria-label="Add to list bookmark button"><path fill="currentColor" d="M18 2.5a.5.5 0 0 1 1 0V5h2.5a.5.5 0 0 1 0 1H19v2.5a.5.5 0 1 1-1 0V6h-2.5a.5.5 0 0 1 0-1H18zM7 7a1 1 0 0 1 1-1h3.5a.5.5 0 0 0 0-1H8a2 2 0 0 0-2 2v14a.5.5 0 0 0 .805.396L12.5 17l5.695 4.396A.5.5 0 0 0 19 21v-8.5a.5.5 0 0 0-1 0v7.485l-5.195-4.012a.5.5 0 0 0-.61 0L7 19.985z"></path></svg></a></span></div></div></div></div></div></span></div></div></div></div><div class="nv j i d"><span class="bf b dt z ds"><div class="jj ab gz ae"><div class="ab q np"><span>Feb 19, 2023</span><div class="h k j i d"><div class="dq nl nm ab q"><div class="fm nn no ab q np"><div class="ax nm nq l fo"></div></div><a class="fm lf no ab q np" tabindex="-1" rel="noopener follow" href="/@evansye/雖人登入加拿大-分享我的焦慮全餐給大家笑笑-4f3a4f32e354?source=user_profile_page---------1-------------1002493df61e---------------"><div><div class="ab" aria-hidden="false"><div class="ab q od"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="#6B6B6B" viewBox="0 0 16 16"><path fill="#6B6B6B" d="M12.344 11.458A5.28 5.28 0 0 0 14 7.526C14 4.483 11.391 2 8.051 2S2 4.483 2 7.527c0 3.051 2.712 5.526 6.059 5.526a6.6 6.6 0 0 0 1.758-.236q.255.223.554.414c.784.51 1.626.768 2.512.768a.37.37 0 0 0 .355-.214.37.37 0 0 0-.03-.384 4.7 4.7 0 0 1-.857-1.958v.014z"></path></svg><span>1</span></div></div></div></a></div></div></div><div class="ab q nr ns"><div class="h k j i d"><div><div class="bm" aria-hidden="false"><span><a class="af ag ah ai aj ak al am an ao ap aq ar as at" rel="noopener follow" href="/m/signin?actionUrl=https%3A%2F%2Fmedium.com%2F_%2Fbookmark%2Fp%2F4f3a4f32e354&amp;operation=register&amp;redirect=https%3A%2F%2Fmedium.com%2F%40evansye%2F%25E9%259B%2596%25E4%25BA%25BA%25E7%2599%25BB%25E5%2585%25A5%25E5%258A%25A0%25E6%258B%25BF%25E5%25A4%25A7-%25E5%2588%2586%25E4%25BA%25AB%25E6%2588%2591%25E7%259A%2584%25E7%2584%25A6%25E6%2585%25AE%25E5%2585%25A8%25E9%25A4%2590%25E7%25B5%25A6%25E5%25A4%25A7%25E5%25AE%25B6%25E7%25AC%2591%25E7%25AC%2591-4f3a4f32e354&amp;source=---------1-------------1002493df61e----bookmark_preview-----------"><svg xmlns="http://www.w3.org/2000/svg" width="25" height="25" fill="none" viewBox="0 0 25 25" class="ds nt nu" aria-label="Add to list bookmark button"><path fill="currentColor" d="M18 2.5a.5.5 0 0 1 1 0V5h2.5a.5.5 0 0 1 0 1H19v2.5a.5.5 0 1 1-1 0V6h-2.5a.5.5 0 0 1 0-1H18zM7 7a1 1 0 0 1 1-1h3.5a.5.5 0 0 0 0-1H8a2 2 0 0 0-2 2v14a.5.5 0 0 0 .805.396L12.5 17l5.695 4.396A.5.5 0 0 0 19 21v-8.5a.5.5 0 0 0-1 0v7.485l-5.195-4.012a.5.5 0 0 0-.61 0L7 19.985z"></path></svg></a></span></div></div></div></div></div></span></div></div></div><div class="nw bh r nx ny nz oa ob"></div></div></div></div></div></article></div></div></div><div class="ab cn"><div class="hx bh hy hz ia ib"><div class="oc bh l"><article class=""><div class="lo l"><div class="bh dp"><div class="l"><div class="bh l"><div style="position:relative;display:flex" role="link" data-href="https://medium.com/@evansye/中古車出售經驗分享-26b36729f63b" tabindex="0"><div class="bh lp lq lr ls"><div class="ab"></div><div class="ab"><div class="l cl gb"><div class="lt lu lv lw lx ly lz ma mb mc"><a class="af ag ah ai aj ak al am an ao ap aq ar as at" rel="noopener follow" href="/@evansye/中古車出售經驗分享-26b36729f63b?source=user_profile_page---------2-------------1002493df61e---------------"><h2 class="bf md me mf mg jo mh mi mj mk jt ml jv jw mm mn jz mo mp mq mr ms mt mu mv mw mx hh hj hk hm ho bk">中古車出售經驗分享</h2><div class="my"><h3 class="bf b ge z hh mz hj hk na hm ho ds">前陣子斟酌要把車賣了,就開始各種搗騰。</h3></div></a></div><div class="h k"><div class="nb nc nd ne nf ng nh ni nj nk l"><span class="bf b dt z ds"><div class="jj ab gz ae"><div class="ab q np"><span>Oct 25, 2022</span><div class="h k j i d"><div class="dq nl nm ab q"><div class="fm nn no ab q np"><div class="ax nm nq l fo"></div></div><a class="fm lf no ab q np" tabindex="-1" rel="noopener follow" href="/@evansye/中古車出售經驗分享-26b36729f63b?source=user_profile_page---------2-------------1002493df61e---------------"></a></div></div></div><div class="ab q nr ns"><div class="h k j i d"><div><div class="bm" aria-hidden="false"><span><a class="af ag ah ai aj ak al am an ao ap aq ar as at" rel="noopener follow" href="/m/signin?actionUrl=https%3A%2F%2Fmedium.com%2F_%2Fbookmark%2Fp%2F26b36729f63b&amp;operation=register&amp;redirect=https%3A%2F%2Fmedium.com%2F%40evansye%2F%25E4%25B8%25AD%25E5%258F%25A4%25E8%25BB%258A%25E5%2587%25BA%25E5%2594%25AE%25E7%25B6%2593%25E9%25A9%2597%25E5%2588%2586%25E4%25BA%25AB-26b36729f63b&amp;source=---------2-------------1002493df61e----bookmark_preview-----------"><svg xmlns="http://www.w3.org/2000/svg" width="25" height="25" fill="none" viewBox="0 0 25 25" class="ds nt nu" aria-label="Add to list bookmark button"><path fill="currentColor" d="M18 2.5a.5.5 0 0 1 1 0V5h2.5a.5.5 0 0 1 0 1H19v2.5a.5.5 0 1 1-1 0V6h-2.5a.5.5 0 0 1 0-1H18zM7 7a1 1 0 0 1 1-1h3.5a.5.5 0 0 0 0-1H8a2 2 0 0 0-2 2v14a.5.5 0 0 0 .805.396L12.5 17l5.695 4.396A.5.5 0 0 0 19 21v-8.5a.5.5 0 0 0-1 0v7.485l-5.195-4.012a.5.5 0 0 0-.61 0L7 19.985z"></path></svg></a></span></div></div></div></div></div></span></div></div></div></div><div class="nv j i d"><span class="bf b dt z ds"><div class="jj ab gz ae"><div class="ab q np"><span>Oct 25, 2022</span><div class="h k j i d"><div class="dq nl nm ab q"><div class="fm nn no ab q np"><div class="ax nm nq l fo"></div></div><a class="fm lf no ab q np" tabindex="-1" rel="noopener follow" href="/@evansye/中古車出售經驗分享-26b36729f63b?source=user_profile_page---------2-------------1002493df61e---------------"></a></div></div></div><div class="ab q nr ns"><div class="h k j i d"><div><div class="bm" aria-hidden="false"><span><a class="af ag ah ai aj ak al am an ao ap aq ar as at" rel="noopener follow" href="/m/signin?actionUrl=https%3A%2F%2Fmedium.com%2F_%2Fbookmark%2Fp%2F26b36729f63b&amp;operation=register&amp;redirect=https%3A%2F%2Fmedium.com%2F%40evansye%2F%25E4%25B8%25AD%25E5%258F%25A4%25E8%25BB%258A%25E5%2587%25BA%25E5%2594%25AE%25E7%25B6%2593%25E9%25A9%2597%25E5%2588%2586%25E4%25BA%25AB-26b36729f63b&amp;source=---------2-------------1002493df61e----bookmark_preview-----------"><svg xmlns="http://www.w3.org/2000/svg" width="25" height="25" fill="none" viewBox="0 0 25 25" class="ds nt nu" aria-label="Add to list bookmark button"><path fill="currentColor" d="M18 2.5a.5.5 0 0 1 1 0V5h2.5a.5.5 0 0 1 0 1H19v2.5a.5.5 0 1 1-1 0V6h-2.5a.5.5 0 0 1 0-1H18zM7 7a1 1 0 0 1 1-1h3.5a.5.5 0 0 0 0-1H8a2 2 0 0 0-2 2v14a.5.5 0 0 0 .805.396L12.5 17l5.695 4.396A.5.5 0 0 0 19 21v-8.5a.5.5 0 0 0-1 0v7.485l-5.195-4.012a.5.5 0 0 0-.61 0L7 19.985z"></path></svg></a></span></div></div></div></div></div></span></div></div></div><div class="nw bh r nx ny nz oa ob"></div></div></div></div></div></article></div></div></div><div class="ab cn"><div class="hx bh hy hz ia ib"><div class="oc bh l"><article class=""><div class="lo l"><div class="bh dp"><div class="l"><div class="bh l"><div style="position:relative;display:flex" role="link" data-href="https://medium.com/@evansye/軟體業管理風格-一-2a79c875762e" tabindex="0"><div class="bh lp lq lr ls"><div class="ab"></div><div class="ab"><div class="l cl gb"><div class="lt lu lv lw lx ly lz ma mb mc"><a class="af ag ah ai aj ak al am an ao ap aq ar as at" rel="noopener follow" href="/@evansye/軟體業管理風格-一-2a79c875762e?source=user_profile_page---------3-------------1002493df61e---------------"><h2 class="bf md me mf mg jo mh mi mj mk jt ml jv jw mm mn jz mo mp mq mr ms mt mu mv mw mx hh hj hk hm ho bk">軟體業管理風格(一)</h2><div class="my"><h3 class="bf b ge z hh mz hj hk na hm ho ds">這兩天聽到一集podcast,有感而發:</h3></div></a></div><div class="h k"><div class="nb nc nd ne nf ng nh ni nj nk l"><span class="bf b dt z ds"><div class="jj ab gz ae"><div class="ab q np"><span>Sep 22, 2022</span><div class="h k j i d"><div class="dq nl nm ab q"><div class="fm nn no ab q np"><div class="ax nm nq l fo"></div></div><a class="fm lf no ab q np" tabindex="-1" rel="noopener follow" href="/@evansye/軟體業管理風格-一-2a79c875762e?source=user_profile_page---------3-------------1002493df61e---------------"><div><div class="ab" aria-hidden="false"><div class="ab q od"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="#6B6B6B" viewBox="0 0 16 16"><path fill="#6B6B6B" d="M12.344 11.458A5.28 5.28 0 0 0 14 7.526C14 4.483 11.391 2 8.051 2S2 4.483 2 7.527c0 3.051 2.712 5.526 6.059 5.526a6.6 6.6 0 0 0 1.758-.236q.255.223.554.414c.784.51 1.626.768 2.512.768a.37.37 0 0 0 .355-.214.37.37 0 0 0-.03-.384 4.7 4.7 0 0 1-.857-1.958v.014z"></path></svg><span>1</span></div></div></div></a></div></div></div><div class="ab q nr ns"><div class="h k j i d"><div><div class="bm" aria-hidden="false"><span><a class="af ag ah ai aj ak al am an ao ap aq ar as at" rel="noopener follow" href="/m/signin?actionUrl=https%3A%2F%2Fmedium.com%2F_%2Fbookmark%2Fp%2F2a79c875762e&amp;operation=register&amp;redirect=https%3A%2F%2Fmedium.com%2F%40evansye%2F%25E8%25BB%259F%25E9%25AB%2594%25E6%25A5%25AD%25E7%25AE%25A1%25E7%2590%2586%25E9%25A2%25A8%25E6%25A0%25BC-%25E4%25B8%2580-2a79c875762e&amp;source=---------3-------------1002493df61e----bookmark_preview-----------"><svg xmlns="http://www.w3.org/2000/svg" width="25" height="25" fill="none" viewBox="0 0 25 25" class="ds nt nu" aria-label="Add to list bookmark button"><path fill="currentColor" d="M18 2.5a.5.5 0 0 1 1 0V5h2.5a.5.5 0 0 1 0 1H19v2.5a.5.5 0 1 1-1 0V6h-2.5a.5.5 0 0 1 0-1H18zM7 7a1 1 0 0 1 1-1h3.5a.5.5 0 0 0 0-1H8a2 2 0 0 0-2 2v14a.5.5 0 0 0 .805.396L12.5 17l5.695 4.396A.5.5 0 0 0 19 21v-8.5a.5.5 0 0 0-1 0v7.485l-5.195-4.012a.5.5 0 0 0-.61 0L7 19.985z"></path></svg></a></span></div></div></div></div></div></span></div></div></div></div><div class="nv j i d"><span class="bf b dt z ds"><div class="jj ab gz ae"><div class="ab q np"><span>Sep 22, 2022</span><div class="h k j i d"><div class="dq nl nm ab q"><div class="fm nn no ab q np"><div class="ax nm nq l fo"></div></div><a class="fm lf no ab q np" tabindex="-1" rel="noopener follow" href="/@evansye/軟體業管理風格-一-2a79c875762e?source=user_profile_page---------3-------------1002493df61e---------------"><div><div class="ab" aria-hidden="false"><div class="ab q od"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="#6B6B6B" viewBox="0 0 16 16"><path fill="#6B6B6B" d="M12.344 11.458A5.28 5.28 0 0 0 14 7.526C14 4.483 11.391 2 8.051 2S2 4.483 2 7.527c0 3.051 2.712 5.526 6.059 5.526a6.6 6.6 0 0 0 1.758-.236q.255.223.554.414c.784.51 1.626.768 2.512.768a.37.37 0 0 0 .355-.214.37.37 0 0 0-.03-.384 4.7 4.7 0 0 1-.857-1.958v.014z"></path></svg><span>1</span></div></div></div></a></div></div></div><div class="ab q nr ns"><div class="h k j i d"><div><div class="bm" aria-hidden="false"><span><a class="af ag ah ai aj ak al am an ao ap aq ar as at" rel="noopener follow" href="/m/signin?actionUrl=https%3A%2F%2Fmedium.com%2F_%2Fbookmark%2Fp%2F2a79c875762e&amp;operation=register&amp;redirect=https%3A%2F%2Fmedium.com%2F%40evansye%2F%25E8%25BB%259F%25E9%25AB%2594%25E6%25A5%25AD%25E7%25AE%25A1%25E7%2590%2586%25E9%25A2%25A8%25E6%25A0%25BC-%25E4%25B8%2580-2a79c875762e&amp;source=---------3-------------1002493df61e----bookmark_preview-----------"><svg xmlns="http://www.w3.org/2000/svg" width="25" height="25" fill="none" viewBox="0 0 25 25" class="ds nt nu" aria-label="Add to list bookmark button"><path fill="currentColor" d="M18 2.5a.5.5 0 0 1 1 0V5h2.5a.5.5 0 0 1 0 1H19v2.5a.5.5 0 1 1-1 0V6h-2.5a.5.5 0 0 1 0-1H18zM7 7a1 1 0 0 1 1-1h3.5a.5.5 0 0 0 0-1H8a2 2 0 0 0-2 2v14a.5.5 0 0 0 .805.396L12.5 17l5.695 4.396A.5.5 0 0 0 19 21v-8.5a.5.5 0 0 0-1 0v7.485l-5.195-4.012a.5.5 0 0 0-.61 0L7 19.985z"></path></svg></a></span></div></div></div></div></div></span></div></div></div><div class="nw bh r nx ny nz oa ob"></div></div></div></div></div></article></div></div></div><div class="ab cn"><div class="hx bh hy hz ia ib"><div class="oc bh l"><article class=""><div class="lo l"><div class="bh dp"><div class="l"><div class="bh l"><div style="position:relative;display:flex" role="link" data-href="https://medium.com/@evansye/知識的源頭-x-open-source-e8ed26d9c49" tabindex="0"><div class="bh lp lq lr ls"><div class="ab"></div><div class="ab"><div class="l cl gb"><div class="lt lu lv lw lx ly lz ma mb mc"><a class="af ag ah ai aj ak al am an ao ap aq ar as at" rel="noopener follow" href="/@evansye/知識的源頭-x-open-source-e8ed26d9c49?source=user_profile_page---------4-------------1002493df61e---------------"><h2 class="bf md me mf mg jo mh mi mj mk jt ml jv jw mm mn jz mo mp mq mr ms mt mu mv mw mx hh hj hk hm ho bk">知識的源頭 X Open Source</h2><div class="my"><h3 class="bf b ge z hh mz hj hk na hm ho ds">最近在讀一本書:躍遷,古典著。</h3></div></a></div><div class="h k"><div class="nb nc nd ne nf ng nh ni nj nk l"><span class="bf b dt z ds"><div class="jj ab gz ae"><div class="ab q np"><span>Sep 2, 2022</span><div class="h k j i d"><div class="dq nl nm ab q"><div class="fm nn no ab q np"><div class="ax nm nq l fo"></div></div><a class="fm lf no ab q np" tabindex="-1" rel="noopener follow" href="/@evansye/知識的源頭-x-open-source-e8ed26d9c49?source=user_profile_page---------4-------------1002493df61e---------------"></a></div></div></div><div class="ab q nr ns"><div class="h k j i d"><div><div class="bm" aria-hidden="false"><span><a class="af ag ah ai aj ak al am an ao ap aq ar as at" rel="noopener follow" href="/m/signin?actionUrl=https%3A%2F%2Fmedium.com%2F_%2Fbookmark%2Fp%2Fe8ed26d9c49&amp;operation=register&amp;redirect=https%3A%2F%2Fmedium.com%2F%40evansye%2F%25E7%259F%25A5%25E8%25AD%2598%25E7%259A%2584%25E6%25BA%2590%25E9%25A0%25AD-x-open-source-e8ed26d9c49&amp;source=---------4-------------1002493df61e----bookmark_preview-----------"><svg xmlns="http://www.w3.org/2000/svg" width="25" height="25" fill="none" viewBox="0 0 25 25" class="ds nt nu" aria-label="Add to list bookmark button"><path fill="currentColor" d="M18 2.5a.5.5 0 0 1 1 0V5h2.5a.5.5 0 0 1 0 1H19v2.5a.5.5 0 1 1-1 0V6h-2.5a.5.5 0 0 1 0-1H18zM7 7a1 1 0 0 1 1-1h3.5a.5.5 0 0 0 0-1H8a2 2 0 0 0-2 2v14a.5.5 0 0 0 .805.396L12.5 17l5.695 4.396A.5.5 0 0 0 19 21v-8.5a.5.5 0 0 0-1 0v7.485l-5.195-4.012a.5.5 0 0 0-.61 0L7 19.985z"></path></svg></a></span></div></div></div></div></div></span></div></div></div></div><div class="nv j i d"><span class="bf b dt z ds"><div class="jj ab gz ae"><div class="ab q np"><span>Sep 2, 2022</span><div class="h k j i d"><div class="dq nl nm ab q"><div class="fm nn no ab q np"><div class="ax nm nq l fo"></div></div><a class="fm lf no ab q np" tabindex="-1" rel="noopener follow" href="/@evansye/知識的源頭-x-open-source-e8ed26d9c49?source=user_profile_page---------4-------------1002493df61e---------------"></a></div></div></div><div class="ab q nr ns"><div class="h k j i d"><div><div class="bm" aria-hidden="false"><span><a class="af ag ah ai aj ak al am an ao ap aq ar as at" rel="noopener follow" href="/m/signin?actionUrl=https%3A%2F%2Fmedium.com%2F_%2Fbookmark%2Fp%2Fe8ed26d9c49&amp;operation=register&amp;redirect=https%3A%2F%2Fmedium.com%2F%40evansye%2F%25E7%259F%25A5%25E8%25AD%2598%25E7%259A%2584%25E6%25BA%2590%25E9%25A0%25AD-x-open-source-e8ed26d9c49&amp;source=---------4-------------1002493df61e----bookmark_preview-----------"><svg xmlns="http://www.w3.org/2000/svg" width="25" height="25" fill="none" viewBox="0 0 25 25" class="ds nt nu" aria-label="Add to list bookmark button"><path fill="currentColor" d="M18 2.5a.5.5 0 0 1 1 0V5h2.5a.5.5 0 0 1 0 1H19v2.5a.5.5 0 1 1-1 0V6h-2.5a.5.5 0 0 1 0-1H18zM7 7a1 1 0 0 1 1-1h3.5a.5.5 0 0 0 0-1H8a2 2 0 0 0-2 2v14a.5.5 0 0 0 .805.396L12.5 17l5.695 4.396A.5.5 0 0 0 19 21v-8.5a.5.5 0 0 0-1 0v7.485l-5.195-4.012a.5.5 0 0 0-.61 0L7 19.985z"></path></svg></a></span></div></div></div></div></div></span></div></div></div><div class="nw bh r nx ny nz oa ob"></div></div></div></div></div></article></div></div></div><div class="ab cn"><div class="hx bh hy hz ia ib"><div class="oc bh l"><article class=""><div class="lo l"><div class="bh dp"><div class="l"><div class="bh l"><div style="position:relative;display:flex" role="link" data-href="https://medium.com/@evansye/2018年中國杭州生活經驗分享-327e8a1eda91" tabindex="0"><div class="bh lp lq lr ls"><div class="ab"></div><div class="ab"><div class="l cl gb"><div class="lt lu lv lw lx ly lz ma mb mc"><a class="af ag ah ai aj ak al am an ao ap aq ar as at" rel="noopener follow" href="/@evansye/2018年中國杭州生活經驗分享-327e8a1eda91?source=user_profile_page---------5-------------1002493df61e---------------"><h2 class="bf md me mf mg jo mh mi mj mk jt ml jv jw mm mn jz mo mp mq mr ms mt mu mv mw mx hh hj hk hm ho bk">2018年中國杭州生活經驗分享</h2><div class="my"><h3 class="bf b ge z hh mz hj hk na hm ho ds">2018年4月,我來到杭州A公司展開新的挑戰。</h3></div></a></div><div class="h k"><div class="nb nc nd ne nf ng nh ni nj nk l"><span class="bf b dt z ds"><div class="jj ab gz ae"><div class="ab q np"><span>Aug 22, 2022</span><div class="h k j i d"><div class="dq nl nm ab q"><div class="fm nn no ab q np"><div class="ax nm nq l fo"></div></div><a class="fm lf no ab q np" tabindex="-1" rel="noopener follow" href="/@evansye/2018年中國杭州生活經驗分享-327e8a1eda91?source=user_profile_page---------5-------------1002493df61e---------------"></a></div></div></div><div class="ab q nr ns"><div class="h k j i d"><div><div class="bm" aria-hidden="false"><span><a class="af ag ah ai aj ak al am an ao ap aq ar as at" rel="noopener follow" href="/m/signin?actionUrl=https%3A%2F%2Fmedium.com%2F_%2Fbookmark%2Fp%2F327e8a1eda91&amp;operation=register&amp;redirect=https%3A%2F%2Fmedium.com%2F%40evansye%2F2018%25E5%25B9%25B4%25E4%25B8%25AD%25E5%259C%258B%25E6%259D%25AD%25E5%25B7%259E%25E7%2594%259F%25E6%25B4%25BB%25E7%25B6%2593%25E9%25A9%2597%25E5%2588%2586%25E4%25BA%25AB-327e8a1eda91&amp;source=---------5-------------1002493df61e----bookmark_preview-----------"><svg xmlns="http://www.w3.org/2000/svg" width="25" height="25" fill="none" viewBox="0 0 25 25" class="ds nt nu" aria-label="Add to list bookmark button"><path fill="currentColor" d="M18 2.5a.5.5 0 0 1 1 0V5h2.5a.5.5 0 0 1 0 1H19v2.5a.5.5 0 1 1-1 0V6h-2.5a.5.5 0 0 1 0-1H18zM7 7a1 1 0 0 1 1-1h3.5a.5.5 0 0 0 0-1H8a2 2 0 0 0-2 2v14a.5.5 0 0 0 .805.396L12.5 17l5.695 4.396A.5.5 0 0 0 19 21v-8.5a.5.5 0 0 0-1 0v7.485l-5.195-4.012a.5.5 0 0 0-.61 0L7 19.985z"></path></svg></a></span></div></div></div></div></div></span></div></div></div></div><div class="nv j i d"><span class="bf b dt z ds"><div class="jj ab gz ae"><div class="ab q np"><span>Aug 22, 2022</span><div class="h k j i d"><div class="dq nl nm ab q"><div class="fm nn no ab q np"><div class="ax nm nq l fo"></div></div><a class="fm lf no ab q np" tabindex="-1" rel="noopener follow" href="/@evansye/2018年中國杭州生活經驗分享-327e8a1eda91?source=user_profile_page---------5-------------1002493df61e---------------"></a></div></div></div><div class="ab q nr ns"><div class="h k j i d"><div><div class="bm" aria-hidden="false"><span><a class="af ag ah ai aj ak al am an ao ap aq ar as at" rel="noopener follow" href="/m/signin?actionUrl=https%3A%2F%2Fmedium.com%2F_%2Fbookmark%2Fp%2F327e8a1eda91&amp;operation=register&amp;redirect=https%3A%2F%2Fmedium.com%2F%40evansye%2F2018%25E5%25B9%25B4%25E4%25B8%25AD%25E5%259C%258B%25E6%259D%25AD%25E5%25B7%259E%25E7%2594%259F%25E6%25B4%25BB%25E7%25B6%2593%25E9%25A9%2597%25E5%2588%2586%25E4%25BA%25AB-327e8a1eda91&amp;source=---------5-------------1002493df61e----bookmark_preview-----------"><svg xmlns="http://www.w3.org/2000/svg" width="25" height="25" fill="none" viewBox="0 0 25 25" class="ds nt nu" aria-label="Add to list bookmark button"><path fill="currentColor" d="M18 2.5a.5.5 0 0 1 1 0V5h2.5a.5.5 0 0 1 0 1H19v2.5a.5.5 0 1 1-1 0V6h-2.5a.5.5 0 0 1 0-1H18zM7 7a1 1 0 0 1 1-1h3.5a.5.5 0 0 0 0-1H8a2 2 0 0 0-2 2v14a.5.5 0 0 0 .805.396L12.5 17l5.695 4.396A.5.5 0 0 0 19 21v-8.5a.5.5 0 0 0-1 0v7.485l-5.195-4.012a.5.5 0 0 0-.61 0L7 19.985z"></path></svg></a></span></div></div></div></div></div></span></div></div></div><div class="nw bh r nx ny nz oa ob"></div></div></div></div></div></article></div></div></div><div class="ab cn"><div class="hx bh hy hz ia ib"><div class="oc bh l"><article class=""><div class="lo l"><div class="bh dp"><div class="l"><div class="bh l"><div style="position:relative;display:flex" role="link" data-href="https://medium.com/@evansye/spark-aqe-dynamically-coalesce-shuffle-partitions為什麼會有non-deterministic的結果-8df2b0bf30da" tabindex="0"><div class="bh lp lq lr ls"><div class="ab"></div><div class="ab"><div class="l cl gb"><div class="lt lu lv lw lx ly lz ma mb mc"><a class="af ag ah ai aj ak al am an ao ap aq ar as at" rel="noopener follow" href="/@evansye/spark-aqe-dynamically-coalesce-shuffle-partitions為什麼會有non-deterministic的結果-8df2b0bf30da?source=user_profile_page---------6-------------1002493df61e---------------"><h2 class="bf md me mf mg jo mh mi mj mk jt ml jv jw mm mn jz mo mp mq mr ms mt mu mv mw mx hh hj hk hm ho bk">Spark AQE Dynamically Coalesce Shuffle Partitions為什麼會有non-deterministic的結果?</h2><div class="my"><h3 class="bf b ge z hh mz hj hk na hm ho ds">去年升級Spark 3.0的時候,我們的Spark based ML framework開始occasionally出錯,特別的是什麼都不改重跑就有機會成功。</h3></div></a></div><div class="h k"><div class="nb nc nd ne nf ng nh ni nj nk l"><span class="bf b dt z ds"><div class="jj ab gz ae"><div class="ab q np"><span>Aug 20, 2022</span><div class="h k j i d"><div class="dq nl nm ab q"><div class="fm nn no ab q np"><div class="ax nm nq l fo"></div></div><a class="fm lf no ab q np" tabindex="-1" rel="noopener follow" href="/@evansye/spark-aqe-dynamically-coalesce-shuffle-partitions為什麼會有non-deterministic的結果-8df2b0bf30da?source=user_profile_page---------6-------------1002493df61e---------------"></a></div></div></div><div class="ab q nr ns"><div class="h k j i d"><div><div class="bm" aria-hidden="false"><span><a class="af ag ah ai aj ak al am an ao ap aq ar as at" rel="noopener follow" href="/m/signin?actionUrl=https%3A%2F%2Fmedium.com%2F_%2Fbookmark%2Fp%2F8df2b0bf30da&amp;operation=register&amp;redirect=https%3A%2F%2Fmedium.com%2F%40evansye%2Fspark-aqe-dynamically-coalesce-shuffle-partitions%25E7%2582%25BA%25E4%25BB%2580%25E9%25BA%25BC%25E6%259C%2583%25E6%259C%2589non-deterministic%25E7%259A%2584%25E7%25B5%2590%25E6%259E%259C-8df2b0bf30da&amp;source=---------6-------------1002493df61e----bookmark_preview-----------"><svg xmlns="http://www.w3.org/2000/svg" width="25" height="25" fill="none" viewBox="0 0 25 25" class="ds nt nu" aria-label="Add to list bookmark button"><path fill="currentColor" d="M18 2.5a.5.5 0 0 1 1 0V5h2.5a.5.5 0 0 1 0 1H19v2.5a.5.5 0 1 1-1 0V6h-2.5a.5.5 0 0 1 0-1H18zM7 7a1 1 0 0 1 1-1h3.5a.5.5 0 0 0 0-1H8a2 2 0 0 0-2 2v14a.5.5 0 0 0 .805.396L12.5 17l5.695 4.396A.5.5 0 0 0 19 21v-8.5a.5.5 0 0 0-1 0v7.485l-5.195-4.012a.5.5 0 0 0-.61 0L7 19.985z"></path></svg></a></span></div></div></div></div></div></span></div></div></div></div><div class="nv j i d"><span class="bf b dt z ds"><div class="jj ab gz ae"><div class="ab q np"><span>Aug 20, 2022</span><div class="h k j i d"><div class="dq nl nm ab q"><div class="fm nn no ab q np"><div class="ax nm nq l fo"></div></div><a class="fm lf no ab q np" tabindex="-1" rel="noopener follow" href="/@evansye/spark-aqe-dynamically-coalesce-shuffle-partitions為什麼會有non-deterministic的結果-8df2b0bf30da?source=user_profile_page---------6-------------1002493df61e---------------"></a></div></div></div><div class="ab q nr ns"><div class="h k j i d"><div><div class="bm" aria-hidden="false"><span><a class="af ag ah ai aj ak al am an ao ap aq ar as at" rel="noopener follow" href="/m/signin?actionUrl=https%3A%2F%2Fmedium.com%2F_%2Fbookmark%2Fp%2F8df2b0bf30da&amp;operation=register&amp;redirect=https%3A%2F%2Fmedium.com%2F%40evansye%2Fspark-aqe-dynamically-coalesce-shuffle-partitions%25E7%2582%25BA%25E4%25BB%2580%25E9%25BA%25BC%25E6%259C%2583%25E6%259C%2589non-deterministic%25E7%259A%2584%25E7%25B5%2590%25E6%259E%259C-8df2b0bf30da&amp;source=---------6-------------1002493df61e----bookmark_preview-----------"><svg xmlns="http://www.w3.org/2000/svg" width="25" height="25" fill="none" viewBox="0 0 25 25" class="ds nt nu" aria-label="Add to list bookmark button"><path fill="currentColor" d="M18 2.5a.5.5 0 0 1 1 0V5h2.5a.5.5 0 0 1 0 1H19v2.5a.5.5 0 1 1-1 0V6h-2.5a.5.5 0 0 1 0-1H18zM7 7a1 1 0 0 1 1-1h3.5a.5.5 0 0 0 0-1H8a2 2 0 0 0-2 2v14a.5.5 0 0 0 .805.396L12.5 17l5.695 4.396A.5.5 0 0 0 19 21v-8.5a.5.5 0 0 0-1 0v7.485l-5.195-4.012a.5.5 0 0 0-.61 0L7 19.985z"></path></svg></a></span></div></div></div></div></div></span></div></div></div><div class="nw bh r nx ny nz oa ob"></div></div></div></div></div></article></div></div></div><div class="ab cn"><div class="hx bh hy hz ia ib"><div class="oc bh l"><article class=""><div class="lo l"><div class="bh dp"><div class="l"><div class="bh l"><div style="position:relative;display:flex" role="link" data-href="https://medium.com/@evansye/為什麼nosql比較快-e3db46f733d2" tabindex="0"><div class="bh lp lq lr ls"><div class="ab"></div><div class="ab"><div class="l cl gb"><div class="lt lu lv lw lx ly lz ma mb mc"><a class="af ag ah ai aj ak al am an ao ap aq ar as at" rel="noopener follow" href="/@evansye/為什麼nosql比較快-e3db46f733d2?source=user_profile_page---------7-------------1002493df61e---------------"><h2 class="bf md me mf mg jo mh mi mj mk jt ml jv jw mm mn jz mo mp mq mr ms mt mu mv mw mx hh hj hk hm ho bk">為什麼NoSQL比較快?</h2><div class="my"><h3 class="bf b ge z hh mz hj hk na hm ho ds">今天參加某conference,講者說雲端提供的NoSQL比傳統B-tree database快,因為B-tree database使用SQL介面,需要額外轉譯執行,而NoSQL只要使用簡單的API calls (get, put…</h3></div></a></div><div class="h k"><div class="nb nc nd ne nf ng nh ni nj nk l"><span class="bf b dt z ds"><div class="jj ab gz ae"><div class="ab q np"><span>Aug 10, 2022</span><div class="h k j i d"><div class="dq nl nm ab q"><div class="fm nn no ab q np"><div class="ax nm nq l fo"></div></div><a class="fm lf no ab q np" tabindex="-1" rel="noopener follow" href="/@evansye/為什麼nosql比較快-e3db46f733d2?source=user_profile_page---------7-------------1002493df61e---------------"></a></div></div></div><div class="ab q nr ns"><div class="h k j i d"><div><div class="bm" aria-hidden="false"><span><a class="af ag ah ai aj ak al am an ao ap aq ar as at" rel="noopener follow" href="/m/signin?actionUrl=https%3A%2F%2Fmedium.com%2F_%2Fbookmark%2Fp%2Fe3db46f733d2&amp;operation=register&amp;redirect=https%3A%2F%2Fmedium.com%2F%40evansye%2F%25E7%2582%25BA%25E4%25BB%2580%25E9%25BA%25BCnosql%25E6%25AF%2594%25E8%25BC%2583%25E5%25BF%25AB-e3db46f733d2&amp;source=---------7-------------1002493df61e----bookmark_preview-----------"><svg xmlns="http://www.w3.org/2000/svg" width="25" height="25" fill="none" viewBox="0 0 25 25" class="ds nt nu" aria-label="Add to list bookmark button"><path fill="currentColor" d="M18 2.5a.5.5 0 0 1 1 0V5h2.5a.5.5 0 0 1 0 1H19v2.5a.5.5 0 1 1-1 0V6h-2.5a.5.5 0 0 1 0-1H18zM7 7a1 1 0 0 1 1-1h3.5a.5.5 0 0 0 0-1H8a2 2 0 0 0-2 2v14a.5.5 0 0 0 .805.396L12.5 17l5.695 4.396A.5.5 0 0 0 19 21v-8.5a.5.5 0 0 0-1 0v7.485l-5.195-4.012a.5.5 0 0 0-.61 0L7 19.985z"></path></svg></a></span></div></div></div></div></div></span></div></div></div></div><div class="nv j i d"><span class="bf b dt z ds"><div class="jj ab gz ae"><div class="ab q np"><span>Aug 10, 2022</span><div class="h k j i d"><div class="dq nl nm ab q"><div class="fm nn no ab q np"><div class="ax nm nq l fo"></div></div><a class="fm lf no ab q np" tabindex="-1" rel="noopener follow" href="/@evansye/為什麼nosql比較快-e3db46f733d2?source=user_profile_page---------7-------------1002493df61e---------------"></a></div></div></div><div class="ab q nr ns"><div class="h k j i d"><div><div class="bm" aria-hidden="false"><span><a class="af ag ah ai aj ak al am an ao ap aq ar as at" rel="noopener follow" href="/m/signin?actionUrl=https%3A%2F%2Fmedium.com%2F_%2Fbookmark%2Fp%2Fe3db46f733d2&amp;operation=register&amp;redirect=https%3A%2F%2Fmedium.com%2F%40evansye%2F%25E7%2582%25BA%25E4%25BB%2580%25E9%25BA%25BCnosql%25E6%25AF%2594%25E8%25BC%2583%25E5%25BF%25AB-e3db46f733d2&amp;source=---------7-------------1002493df61e----bookmark_preview-----------"><svg xmlns="http://www.w3.org/2000/svg" width="25" height="25" fill="none" viewBox="0 0 25 25" class="ds nt nu" aria-label="Add to list bookmark button"><path fill="currentColor" d="M18 2.5a.5.5 0 0 1 1 0V5h2.5a.5.5 0 0 1 0 1H19v2.5a.5.5 0 1 1-1 0V6h-2.5a.5.5 0 0 1 0-1H18zM7 7a1 1 0 0 1 1-1h3.5a.5.5 0 0 0 0-1H8a2 2 0 0 0-2 2v14a.5.5 0 0 0 .805.396L12.5 17l5.695 4.396A.5.5 0 0 0 19 21v-8.5a.5.5 0 0 0-1 0v7.485l-5.195-4.012a.5.5 0 0 0-.61 0L7 19.985z"></path></svg></a></span></div></div></div></div></div></span></div></div></div><div class="nw bh r nx ny nz oa ob"></div></div></div></div></div></article></div></div></div><div></div></div></div></div></div></main><div class="cu cv h cw cx cy k cz da db j dc dd de df dg dh di dj dk dl dm c dn do"><div class="dp bh bm dq"><div class="l m fp"><div class="fq ab fr"><div class="l ae"><div class="fs ft fu l"><div class="l dq"><img alt="Evans Ye" class="l dm by fv fw fo" src="https://miro.medium.com/v2/resize:fill:176:176/0*bVmEapcbk-cCyJq2.png" width="88" height="88" loading="lazy"/><div class="fl by l fv fw fm n ay fx"></div></div><div class="fy ab fz ga"><h2 class="pw-author-name bf gd ge z gf bk"><span class="gb gc">Evans Ye</span></h2></div><div class="gg l"><span class="pw-follower-count bf b ge gh ds"><a class="af ag ah ai aj ak al am an ao ap aq ar as at" rel="noopener follow" href="/@evansye/followers?source=user_profile_page---user_sidebar-------------------1002493df61e---------------">213 Followers</a></span></div><div class="gi l"><p class="bf b bg z ds"><span class="gb">軟體工程雜談。歡迎打臉,幫助我成為更好的自己:)</span></p></div><div class="gj gk ab"><span><button class="bf b bg z el gl em eo ep eq er es et eu ev ew ex au ey cr dm bm ez fa">Follow</button></span><div class="dr l"><div><div><div class="bm" aria-hidden="false"><div class="l"><span><a class="af ag ah ai aj ak al am an ao ap aq ar as at" rel="noopener follow" href="/m/signin?actionUrl=%2F_%2Fapi%2Fusers%2F1002493df61e%2Flazily-enable-writer-subscription&amp;operation=register&amp;redirect=https%3A%2F%2Fmedium.com%2F%40evansye&amp;user=Evans+Ye&amp;userId=1002493df61e&amp;source=---user_sidebar-------------------1002493df61e----subscribe_user-----------"><button class="bf b bg z gp am gq gr gs gt gu gv gw gx et eu ev ew ex ey cr dm bm ez fa" aria-label="Subscribe"><svg xmlns="http://www.w3.org/2000/svg" width="38" height="38" fill="none" viewBox="0 0 38 38" class="gm gn go"><rect width="0.5" height="6.5" x="26.25" y="9.25" rx="0.25"></rect><rect width="0.5" height="6.5" x="29.75" y="12.25" rx="0.25" transform="rotate(90 29.75 12.25)"></rect><path d="M19.5 12.5h-7a1 1 0 0 0-1 1v11a1 1 0 0 0 1 1h13a1 1 0 0 0 1-1v-5"></path><path d="M11.5 14.5 19 20l4-3"></path></svg></button></a></span></div></div></div></div></div></div><div class="l dq"><span class="bf gd ge z gf bk">Following</span><ul class="gy fy l"><li class="ab q gz"><a class="af ag ah ai aj ak al am an ao ap aq ar as at ha hb hc" rel="noopener follow" href="/@asrathore08?source=user_profile_page---blogroll-------------------1002493df61e---------------"><div class="hd ab"><div class="he l"><div class="l dq"><img alt="Amit Singh Rathore" class="l dm by hf hg fo" src="https://miro.medium.com/v2/resize:fill:40:40/1*XuNZOS6H22UYoNxwcJKirw.png" width="20" height="20" loading="lazy"/><div class="fl by l hf hg fm n ay fx"></div></div></div><p class="bf b dt z hh hi hj hk hl hm hn ho ds">Amit Singh Rathore</p></div></a><div class="bm" aria-hidden="false" aria-describedby="creatorInfoPopover-6857a4254ad8" aria-labelledby="creatorInfoPopover-6857a4254ad8" aria-haspopup="dialog"><button class="af ag ah ai aj ak al hp an ao ap aq ar as at bc hq hr gt hs" aria-controls="creatorInfoPopover-6857a4254ad8" aria-expanded="false"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none" viewBox="0 0 24 24"><path fill="currentColor" fill-rule="evenodd" d="M4.385 12c0 .55.2 1.02.59 1.41.39.4.86.59 1.41.59s1.02-.2 1.41-.59c.4-.39.59-.86.59-1.41s-.2-1.02-.59-1.41a1.93 1.93 0 0 0-1.41-.59c-.55 0-1.02.2-1.41.59-.4.39-.59.86-.59 1.41m5.62 0c0 .55.2 1.02.58 1.41.4.4.87.59 1.42.59s1.02-.2 1.41-.59c.4-.39.59-.86.59-1.41s-.2-1.02-.59-1.41a1.93 1.93 0 0 0-1.41-.59c-.55 0-1.03.2-1.42.59s-.58.86-.58 1.41m5.6 0c0 .55.2 1.02.58 1.41.4.4.87.59 1.43.59s1.03-.2 1.42-.59.58-.86.58-1.41-.2-1.02-.58-1.41a1.93 1.93 0 0 0-1.42-.59c-.56 0-1.04.2-1.43.59s-.58.86-.58 1.41" clip-rule="evenodd"></path></svg></button></div></li><li class="ab q gz"><a class="af ag ah ai aj ak al am an ao ap aq ar as at ha hb hc" rel="noopener follow" href="/@dean-lin?source=user_profile_page---blogroll-------------------1002493df61e---------------"><div class="hd ab"><div class="he l"><div class="l dq"><img alt="林鼎淵" class="l dm by hf hg fo" src="https://miro.medium.com/v2/resize:fill:40:40/1*5f6U-c3dmxPOUzp4S_ek-A.jpeg" width="20" height="20" loading="lazy"/><div class="fl by l hf hg fm n ay fx"></div></div></div><p class="bf b dt z hh hi hj hk hl hm hn ho ds">林鼎淵</p></div></a><div class="bm" aria-hidden="false" aria-describedby="creatorInfoPopover-73c0bfd16db0" aria-labelledby="creatorInfoPopover-73c0bfd16db0" aria-haspopup="dialog"><button class="af ag ah ai aj ak al hp an ao ap aq ar as at bc hq hr gt hs" aria-controls="creatorInfoPopover-73c0bfd16db0" aria-expanded="false"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none" viewBox="0 0 24 24"><path fill="currentColor" fill-rule="evenodd" d="M4.385 12c0 .55.2 1.02.59 1.41.39.4.86.59 1.41.59s1.02-.2 1.41-.59c.4-.39.59-.86.59-1.41s-.2-1.02-.59-1.41a1.93 1.93 0 0 0-1.41-.59c-.55 0-1.02.2-1.41.59-.4.39-.59.86-.59 1.41m5.62 0c0 .55.2 1.02.58 1.41.4.4.87.59 1.42.59s1.02-.2 1.41-.59c.4-.39.59-.86.59-1.41s-.2-1.02-.59-1.41a1.93 1.93 0 0 0-1.41-.59c-.55 0-1.03.2-1.42.59s-.58.86-.58 1.41m5.6 0c0 .55.2 1.02.58 1.41.4.4.87.59 1.43.59s1.03-.2 1.42-.59.58-.86.58-1.41-.2-1.02-.58-1.41a1.93 1.93 0 0 0-1.42-.59c-.56 0-1.04.2-1.43.59s-.58.86-.58 1.41" clip-rule="evenodd"></path></svg></button></div></li><li class="ab q gz"><a class="af ag ah ai aj ak al am an ao ap aq ar as at ha hb hc" rel="noopener follow" href="/@leventov?source=user_profile_page---blogroll-------------------1002493df61e---------------"><div class="hd ab"><div class="he l"><div class="l dq"><img alt="Roman Leventov" class="l dm by hf hg fo" src="https://miro.medium.com/v2/resize:fill:40:40/1*HANJa4hs90jf7lzMoG0Heg.jpeg" width="20" height="20" loading="lazy"/><div class="fl by l hf hg fm n ay fx"></div></div></div><p class="bf b dt z hh hi hj hk hl hm hn ho ds">Roman Leventov</p></div></a><div class="bm" aria-hidden="false" aria-describedby="creatorInfoPopover-6ce225eafe47" aria-labelledby="creatorInfoPopover-6ce225eafe47" aria-haspopup="dialog"><button class="af ag ah ai aj ak al hp an ao ap aq ar as at bc hq hr gt hs" aria-controls="creatorInfoPopover-6ce225eafe47" aria-expanded="false"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none" viewBox="0 0 24 24"><path fill="currentColor" fill-rule="evenodd" d="M4.385 12c0 .55.2 1.02.59 1.41.39.4.86.59 1.41.59s1.02-.2 1.41-.59c.4-.39.59-.86.59-1.41s-.2-1.02-.59-1.41a1.93 1.93 0 0 0-1.41-.59c-.55 0-1.02.2-1.41.59-.4.39-.59.86-.59 1.41m5.62 0c0 .55.2 1.02.58 1.41.4.4.87.59 1.42.59s1.02-.2 1.41-.59c.4-.39.59-.86.59-1.41s-.2-1.02-.59-1.41a1.93 1.93 0 0 0-1.41-.59c-.55 0-1.03.2-1.42.59s-.58.86-.58 1.41m5.6 0c0 .55.2 1.02.58 1.41.4.4.87.59 1.43.59s1.03-.2 1.42-.59.58-.86.58-1.41-.2-1.02-.58-1.41a1.93 1.93 0 0 0-1.42-.59c-.56 0-1.04.2-1.43.59s-.58.86-.58 1.41" clip-rule="evenodd"></path></svg></button></div></li><li class="ab q gz"><a class="af ag ah ai aj ak al am an ao ap aq ar as at ha hb hc" rel="noopener follow" href="/@jaydenlin?source=user_profile_page---blogroll-------------------1002493df61e---------------"><div class="hd ab"><div class="he l"><div class="l dq"><img alt="Jayden Lin" class="l dm by hf hg fo" src="https://miro.medium.com/v2/resize:fill:40:40/1*kPcann7YpJEgg9LmtoiG-g.png" width="20" height="20" loading="lazy"/><div class="fl by l hf hg fm n ay fx"></div></div></div><p class="bf b dt z hh hi hj hk hl hm hn ho ds">Jayden Lin</p></div></a><div class="bm" aria-hidden="false" aria-describedby="creatorInfoPopover-850bca0cf78e" aria-labelledby="creatorInfoPopover-850bca0cf78e" aria-haspopup="dialog"><button class="af ag ah ai aj ak al hp an ao ap aq ar as at bc hq hr gt hs" aria-controls="creatorInfoPopover-850bca0cf78e" aria-expanded="false"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none" viewBox="0 0 24 24"><path fill="currentColor" fill-rule="evenodd" d="M4.385 12c0 .55.2 1.02.59 1.41.39.4.86.59 1.41.59s1.02-.2 1.41-.59c.4-.39.59-.86.59-1.41s-.2-1.02-.59-1.41a1.93 1.93 0 0 0-1.41-.59c-.55 0-1.02.2-1.41.59-.4.39-.59.86-.59 1.41m5.62 0c0 .55.2 1.02.58 1.41.4.4.87.59 1.42.59s1.02-.2 1.41-.59c.4-.39.59-.86.59-1.41s-.2-1.02-.59-1.41a1.93 1.93 0 0 0-1.41-.59c-.55 0-1.03.2-1.42.59s-.58.86-.58 1.41m5.6 0c0 .55.2 1.02.58 1.41.4.4.87.59 1.43.59s1.03-.2 1.42-.59.58-.86.58-1.41-.2-1.02-.58-1.41a1.93 1.93 0 0 0-1.42-.59c-.56 0-1.04.2-1.43.59s-.58.86-.58 1.41" clip-rule="evenodd"></path></svg></button></div></li><li class="ab q gz"><a class="af ag ah ai aj ak al am an ao ap aq ar as at ha hb hc" rel="noopener follow" href="/@systemdesign?source=user_profile_page---blogroll-------------------1002493df61e---------------"><div class="hd ab"><div class="he l"><div class="l dq"><img alt="SystemDesign" class="l dm by hf hg fo" src="https://miro.medium.com/v2/resize:fill:40:40/1*i2NxIXlGdAlGeCPyUVEJsQ.png" width="20" height="20" loading="lazy"/><div class="fl by l hf hg fm n ay fx"></div></div></div><p class="bf b dt z hh hi hj hk hl hm hn ho ds">SystemDesign</p></div></a><div class="bm" aria-hidden="false" aria-describedby="creatorInfoPopover-ed7398b0c05a" aria-labelledby="creatorInfoPopover-ed7398b0c05a" aria-haspopup="dialog"><button class="af ag ah ai aj ak al hp an ao ap aq ar as at bc hq hr gt hs" aria-controls="creatorInfoPopover-ed7398b0c05a" aria-expanded="false"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none" viewBox="0 0 24 24"><path fill="currentColor" fill-rule="evenodd" d="M4.385 12c0 .55.2 1.02.59 1.41.39.4.86.59 1.41.59s1.02-.2 1.41-.59c.4-.39.59-.86.59-1.41s-.2-1.02-.59-1.41a1.93 1.93 0 0 0-1.41-.59c-.55 0-1.02.2-1.41.59-.4.39-.59.86-.59 1.41m5.62 0c0 .55.2 1.02.58 1.41.4.4.87.59 1.42.59s1.02-.2 1.41-.59c.4-.39.59-.86.59-1.41s-.2-1.02-.59-1.41a1.93 1.93 0 0 0-1.41-.59c-.55 0-1.03.2-1.42.59s-.58.86-.58 1.41m5.6 0c0 .55.2 1.02.58 1.41.4.4.87.59 1.43.59s1.03-.2 1.42-.59.58-.86.58-1.41-.2-1.02-.58-1.41a1.93 1.93 0 0 0-1.42-.59c-.56 0-1.04.2-1.43.59s-.58.86-.58 1.41" clip-rule="evenodd"></path></svg></button></div></li></ul><p class="bf b dt z ds"><a class="af ag ah ai aj ak al am an ao ap aq ar as at" rel="noopener follow" href="/@evansye/following?source=user_profile_page---blogroll-------------------1002493df61e---------------">See all (88)</a></p></div></div><div class="fs ft fu l"></div></div><div class="ht ab cd ga"><div class="hu l"><a class="af ag ah ai aj ak al am an ao ap aq ar as at" href="https://help.medium.com/hc/en-us?source=user_profile_page---user_sidebar-------------------1002493df61e---------------" rel="noopener follow"><p class="bf b hv hw ds">Help</p></a></div><div class="hu l"><a class="af ag ah ai aj ak al am an ao ap aq ar as at" href="https://medium.statuspage.io/?source=user_profile_page---user_sidebar-------------------1002493df61e---------------" rel="noopener follow"><p class="bf b hv hw ds">Status</p></a></div><div class="hu l"><a class="af ag ah ai aj ak al am an ao ap aq ar as at" rel="noopener follow" href="/about?autoplay=1&amp;source=user_profile_page---user_sidebar-------------------1002493df61e---------------"><p class="bf b hv hw ds">About</p></a></div><div class="hu l"><a class="af ag ah ai aj ak al am an ao ap aq ar as at" rel="noopener follow" href="/jobs-at-medium/work-at-medium-959d1a85284e?source=user_profile_page---user_sidebar-------------------1002493df61e---------------"><p class="bf b hv hw ds">Careers</p></a></div><div class="hu l"><a class="af ag ah ai aj ak al am an ao ap aq ar as at" href="pressinquiries@medium.com?source=user_profile_page---user_sidebar-------------------1002493df61e---------------" rel="noopener follow"><p class="bf b hv hw ds">Press</p></a></div><div class="hu l"><a class="af ag ah ai aj ak al am an ao ap aq ar as at" href="https://blog.medium.com/?source=user_profile_page---user_sidebar-------------------1002493df61e---------------" rel="noopener follow"><p class="bf b hv hw ds">Blog</p></a></div><div class="hu l"><a class="af ag ah ai aj ak al am an ao ap aq ar as at" href="https://policy.medium.com/medium-privacy-policy-f03bf92035c9?source=user_profile_page---user_sidebar-------------------1002493df61e---------------" rel="noopener follow"><p class="bf b hv hw ds">Privacy</p></a></div><div class="hu l"><a class="af ag ah ai aj ak al am an ao ap aq ar as at" href="https://policy.medium.com/medium-terms-of-service-9db0094a1e0f?source=user_profile_page---user_sidebar-------------------1002493df61e---------------" rel="noopener follow"><p class="bf b hv hw ds">Terms</p></a></div><div class="hu l"><a class="af ag ah ai aj ak al am an ao ap aq ar as at" href="https://speechify.com/medium?source=user_profile_page---user_sidebar-------------------1002493df61e---------------" rel="noopener follow"><p class="bf b hv hw ds">Text to speech</p></a></div><div class="l"><a class="af ag ah ai aj ak al am an ao ap aq ar as at" rel="noopener follow" href="/business?source=user_profile_page---user_sidebar-------------------1002493df61e---------------"><p class="bf b hv hw ds">Teams</p></a></div></div></div></div></div></div></div></div></div></div></div><script>window.__BUILD_ID__="main-20241126-181518-0cb59a020f"</script><script>window.__GRAPHQL_URI__ = "https://medium.com/_/graphql"</script><script>window.__PRELOADED_STATE__ = {"algolia":{"queries":{}},"cache":{"experimentGroupSet":true,"reason":"Edgy did not set shouldUseCache to true","group":"disabled","tags":[],"serverVariantState":"","middlewareEnabled":true,"cacheStatus":"DYNAMIC","shouldUseCache":false,"vary":[],"lohpSummerUpsellEnabled":false,"publicationHierarchyEnabledWeb":false,"postBottomResponsesEnabled":false},"client":{"hydrated":false,"isUs":false,"isNativeMedium":false,"isSafariMobile":false,"isSafari":false,"isFirefox":false,"routingEntity":{"type":"DEFAULT","explicit":false},"viewerIsBot":false},"debug":{"requestId":"59d2841f-01ca-4d41-a20b-8662663146c3","hybridDevServices":[],"originalSpanCarrier":{"traceparent":"00-b80dc0db68622f4416fd7208de289e28-0f0c53e31a928e0d-01"}},"multiVote":{"clapsPerPost":{}},"navigation":{"branch":{"show":null,"hasRendered":null,"blockedByCTA":false},"hideGoogleOneTap":false,"hasRenderedAlternateUserBanner":null,"currentLocation":"https:\u002F\u002Fmedium.com\u002F@evansye","host":"medium.com","hostname":"medium.com","referrer":"","hasSetReferrer":false,"susiModal":{"step":null,"operation":"register"},"postRead":false,"partnerProgram":{"selectedCountryCode":null},"queryString":"?source=user_followers_page----------------------8cdb52f9cdca---------------"},"config":{"nodeEnv":"production","version":"main-20241126-181518-0cb59a020f","target":"production","productName":"Medium","publicUrl":"https:\u002F\u002Fcdn-client.medium.com\u002Flite","authDomain":"medium.com","authGoogleClientId":"216296035834-k1k6qe060s2tp2a2jam4ljdcms00sttg.apps.googleusercontent.com","favicon":"production","glyphUrl":"https:\u002F\u002Fglyph.medium.com","branchKey":"key_live_ofxXr2qTrrU9NqURK8ZwEhknBxiI6KBm","algolia":{"appId":"MQ57UUUQZ2","apiKeySearch":"394474ced050e3911ae2249ecc774921","indexPrefix":"medium_","host":"-dsn.algolia.net"},"recaptchaKey":"6Lfc37IUAAAAAKGGtC6rLS13R1Hrw_BqADfS1LRk","recaptcha3Key":"6Lf8R9wUAAAAABMI_85Wb8melS7Zj6ziuf99Yot5","recaptchaEnterpriseKeyId":"6Le-uGgpAAAAAPprRaokM8AKthQ9KNGdoxaGUvVp","datadog":{"applicationId":"6702d87d-a7e0-42fe-bbcb-95b469547ea0","clientToken":"pub853ea8d17ad6821d9f8f11861d23dfed","rumToken":"pubf9cc52896502b9413b68ba36fc0c7162","context":{"deployment":{"target":"production","tag":"main-20241126-181518-0cb59a020f","commit":"0cb59a020f4453d0900f671f1a6576feecc55e74"}},"datacenter":"us"},"googleAnalyticsCode":"G-7JY7T788PK","googlePay":{"apiVersion":"2","apiVersionMinor":"0","merchantId":"BCR2DN6TV7EMTGBM","merchantName":"Medium","instanceMerchantId":"13685562959212738550"},"applePay":{"version":3},"signInWallCustomDomainCollectionIds":["3a8144eabfe3","336d898217ee","61061eb0c96b","138adf9c44c","819cc2aaeee0"],"mediumMastodonDomainName":"me.dm","mediumOwnedAndOperatedCollectionIds":["8a9336e5bb4","b7e45b22fec3","193b68bd4fba","8d6b8a439e32","54c98c43354d","3f6ecf56618","d944778ce714","92d2092dc598","ae2a65f35510","1285ba81cada","544c7006046e","fc8964313712","40187e704f1c","88d9857e584e","7b6769f2748b","bcc38c8f6edf","cef6983b292","cb8577c9149e","444d13b52878","713d7dbc99b0","ef8e90590e66","191186aaafa0","55760f21cdc5","9dc80918cc93","bdc4052bbdba","8ccfed20cbb2"],"tierOneDomains":["medium.com","thebolditalic.com","arcdigital.media","towardsdatascience.com","uxdesign.cc","codeburst.io","psiloveyou.xyz","writingcooperative.com","entrepreneurshandbook.co","prototypr.io","betterhumans.coach.me","theascent.pub"],"topicsToFollow":["d61cf867d93f","8a146bc21b28","1eca0103fff3","4d562ee63426","aef1078a3ef5","e15e46793f8d","6158eb913466","55f1c20aba7a","3d18b94f6858","4861fee224fd","63c6f1f93ee","1d98b3a9a871","decb52b64abf","ae5d4995e225","830cded25262"],"topicToTagMappings":{"accessibility":"accessibility","addiction":"addiction","android-development":"android-development","art":"art","artificial-intelligence":"artificial-intelligence","astrology":"astrology","basic-income":"basic-income","beauty":"beauty","biotech":"biotech","blockchain":"blockchain","books":"books","business":"business","cannabis":"cannabis","cities":"cities","climate-change":"climate-change","comics":"comics","coronavirus":"coronavirus","creativity":"creativity","cryptocurrency":"cryptocurrency","culture":"culture","cybersecurity":"cybersecurity","data-science":"data-science","design":"design","digital-life":"digital-life","disability":"disability","economy":"economy","education":"education","equality":"equality","family":"family","feminism":"feminism","fiction":"fiction","film":"film","fitness":"fitness","food":"food","freelancing":"freelancing","future":"future","gadgets":"gadgets","gaming":"gaming","gun-control":"gun-control","health":"health","history":"history","humor":"humor","immigration":"immigration","ios-development":"ios-development","javascript":"javascript","justice":"justice","language":"language","leadership":"leadership","lgbtqia":"lgbtqia","lifestyle":"lifestyle","machine-learning":"machine-learning","makers":"makers","marketing":"marketing","math":"math","media":"media","mental-health":"mental-health","mindfulness":"mindfulness","money":"money","music":"music","neuroscience":"neuroscience","nonfiction":"nonfiction","outdoors":"outdoors","parenting":"parenting","pets":"pets","philosophy":"philosophy","photography":"photography","podcasts":"podcast","poetry":"poetry","politics":"politics","privacy":"privacy","product-management":"product-management","productivity":"productivity","programming":"programming","psychedelics":"psychedelics","psychology":"psychology","race":"race","relationships":"relationships","religion":"religion","remote-work":"remote-work","san-francisco":"san-francisco","science":"science","self":"self","self-driving-cars":"self-driving-cars","sexuality":"sexuality","social-media":"social-media","society":"society","software-engineering":"software-engineering","space":"space","spirituality":"spirituality","sports":"sports","startups":"startup","style":"style","technology":"technology","transportation":"transportation","travel":"travel","true-crime":"true-crime","tv":"tv","ux":"ux","venture-capital":"venture-capital","visual-design":"visual-design","work":"work","world":"world","writing":"writing"},"defaultImages":{"avatar":{"imageId":"1*dmbNkD5D-u45r44go_cf0g.png","height":150,"width":150},"orgLogo":{"imageId":"7*V1_7XP4snlmqrc_0Njontw.png","height":110,"width":500},"postLogo":{"imageId":"bd978bb536350a710e8efb012513429cabdc4c28700604261aeda246d0f980b7","height":810,"width":1440},"postPreviewImage":{"imageId":"1*hn4v1tCaJy7cWMyb0bpNpQ.png","height":386,"width":579}},"collectionStructuredData":{"8d6b8a439e32":{"name":"Elemental","data":{"@type":"NewsMediaOrganization","ethicsPolicy":"https:\u002F\u002Fhelp.medium.com\u002Fhc\u002Fen-us\u002Farticles\u002F360043290473","logo":{"@type":"ImageObject","url":"https:\u002F\u002Fcdn-images-1.medium.com\u002Fmax\u002F980\u002F1*9ygdqoKprhwuTVKUM0DLPA@2x.png","width":980,"height":159}}},"3f6ecf56618":{"name":"Forge","data":{"@type":"NewsMediaOrganization","ethicsPolicy":"https:\u002F\u002Fhelp.medium.com\u002Fhc\u002Fen-us\u002Farticles\u002F360043290473","logo":{"@type":"ImageObject","url":"https:\u002F\u002Fcdn-images-1.medium.com\u002Fmax\u002F596\u002F1*uULpIlImcO5TDuBZ6lm7Lg@2x.png","width":596,"height":183}}},"ae2a65f35510":{"name":"GEN","data":{"@type":"NewsMediaOrganization","ethicsPolicy":"https:\u002F\u002Fhelp.medium.com\u002Fhc\u002Fen-us\u002Farticles\u002F360043290473","logo":{"@type":"ImageObject","url":"https:\u002F\u002Fmiro.medium.com\u002Fmax\u002F264\u002F1*RdVZMdvfV3YiZTw6mX7yWA.png","width":264,"height":140}}},"88d9857e584e":{"name":"LEVEL","data":{"@type":"NewsMediaOrganization","ethicsPolicy":"https:\u002F\u002Fhelp.medium.com\u002Fhc\u002Fen-us\u002Farticles\u002F360043290473","logo":{"@type":"ImageObject","url":"https:\u002F\u002Fmiro.medium.com\u002Fmax\u002F540\u002F1*JqYMhNX6KNNb2UlqGqO2WQ.png","width":540,"height":108}}},"7b6769f2748b":{"name":"Marker","data":{"@type":"NewsMediaOrganization","ethicsPolicy":"https:\u002F\u002Fhelp.medium.com\u002Fhc\u002Fen-us\u002Farticles\u002F360043290473","logo":{"@type":"ImageObject","url":"https:\u002F\u002Fcdn-images-1.medium.com\u002Fmax\u002F383\u002F1*haCUs0wF6TgOOvfoY-jEoQ@2x.png","width":383,"height":92}}},"444d13b52878":{"name":"OneZero","data":{"@type":"NewsMediaOrganization","ethicsPolicy":"https:\u002F\u002Fhelp.medium.com\u002Fhc\u002Fen-us\u002Farticles\u002F360043290473","logo":{"@type":"ImageObject","url":"https:\u002F\u002Fmiro.medium.com\u002Fmax\u002F540\u002F1*cw32fIqCbRWzwJaoQw6BUg.png","width":540,"height":123}}},"8ccfed20cbb2":{"name":"Zora","data":{"@type":"NewsMediaOrganization","ethicsPolicy":"https:\u002F\u002Fhelp.medium.com\u002Fhc\u002Fen-us\u002Farticles\u002F360043290473","logo":{"@type":"ImageObject","url":"https:\u002F\u002Fmiro.medium.com\u002Fmax\u002F540\u002F1*tZUQqRcCCZDXjjiZ4bDvgQ.png","width":540,"height":106}}}},"embeddedPostIds":{"coronavirus":"cd3010f9d81f"},"sharedCdcMessaging":{"COVID_APPLICABLE_TAG_SLUGS":[],"COVID_APPLICABLE_TOPIC_NAMES":[],"COVID_APPLICABLE_TOPIC_NAMES_FOR_TOPIC_PAGE":[],"COVID_MESSAGES":{"tierA":{"text":"For more information on the novel coronavirus and Covid-19, visit cdc.gov.","markups":[{"start":66,"end":73,"href":"https:\u002F\u002Fwww.cdc.gov\u002Fcoronavirus\u002F2019-nCoV"}]},"tierB":{"text":"Anyone can publish on Medium per our Policies, but we don’t fact-check every story. For more info about the coronavirus, see cdc.gov.","markups":[{"start":37,"end":45,"href":"https:\u002F\u002Fhelp.medium.com\u002Fhc\u002Fen-us\u002Fcategories\u002F201931128-Policies-Safety"},{"start":125,"end":132,"href":"https:\u002F\u002Fwww.cdc.gov\u002Fcoronavirus\u002F2019-nCoV"}]},"paywall":{"text":"This article has been made free for everyone, thanks to Medium Members. For more information on the novel coronavirus and Covid-19, visit cdc.gov.","markups":[{"start":56,"end":70,"href":"https:\u002F\u002Fmedium.com\u002Fmembership"},{"start":138,"end":145,"href":"https:\u002F\u002Fwww.cdc.gov\u002Fcoronavirus\u002F2019-nCoV"}]},"unbound":{"text":"This article is free for everyone, thanks to Medium Members. For more information on the novel coronavirus and Covid-19, visit cdc.gov.","markups":[{"start":45,"end":59,"href":"https:\u002F\u002Fmedium.com\u002Fmembership"},{"start":127,"end":134,"href":"https:\u002F\u002Fwww.cdc.gov\u002Fcoronavirus\u002F2019-nCoV"}]}},"COVID_BANNER_POST_ID_OVERRIDE_WHITELIST":["3b31a67bff4a"]},"sharedVoteMessaging":{"TAGS":["politics","election-2020","government","us-politics","election","2020-presidential-race","trump","donald-trump","democrats","republicans","congress","republican-party","democratic-party","biden","joe-biden","maga"],"TOPICS":["politics","election"],"MESSAGE":{"text":"Find out more about the U.S. election results here.","markups":[{"start":46,"end":50,"href":"https:\u002F\u002Fcookpolitical.com\u002F2020-national-popular-vote-tracker"}]},"EXCLUDE_POSTS":["397ef29e3ca5"]},"embedPostRules":[],"recircOptions":{"v1":{"limit":3},"v2":{"limit":8}},"braintreeClientKey":"production_zjkj96jm_m56f8fqpf7ngnrd4","braintree":{"enabled":true,"merchantId":"m56f8fqpf7ngnrd4","merchantAccountId":{"usd":"AMediumCorporation_instant","eur":"amediumcorporation_EUR","cad":"amediumcorporation_CAD"},"publicKey":"ds2nn34bg2z7j5gd","braintreeEnvironment":"production","dashboardUrl":"https:\u002F\u002Fwww.braintreegateway.com\u002Fmerchants","gracePeriodDurationInDays":14,"mediumMembershipPlanId":{"monthly":"ce105f8c57a3","monthlyV2":"e8a5e126-792b-4ee6-8fba-d574c1b02fc5","monthlyWithTrial":"d5ee3dbe3db8","monthlyPremium":"fa741a9b47a2","yearly":"a40ad4a43185","yearlyV2":"3815d7d6-b8ca-4224-9b8c-182f9047866e","yearlyStaff":"d74fb811198a","yearlyWithTrial":"b3bc7350e5c7","yearlyPremium":"e21bd2c12166","monthlyOneYearFree":"e6c0637a-2bad-4171-ab4f-3c268633d83c","monthly25PercentOffFirstYear":"235ecc62-0cdb-49ae-9378-726cd21c504b","monthly20PercentOffFirstYear":"ba518864-9c13-4a99-91ca-411bf0cac756","monthly15PercentOffFirstYear":"594c029b-9f89-43d5-88f8-8173af4e070e","monthly10PercentOffFirstYear":"c6c7bc9a-40f2-4b51-8126-e28511d5bdb0","monthlyForStudents":"629ebe51-da7d-41fd-8293-34cd2f2030a8","yearlyOneYearFree":"78ba7be9-0d9f-4ece-aa3e-b54b826f2bf1","yearly25PercentOffFirstYear":"2dbb010d-bb8f-4eeb-ad5c-a08509f42d34","yearly20PercentOffFirstYear":"47565488-435b-47f8-bf93-40d5fbe0ebc8","yearly15PercentOffFirstYear":"8259809b-0881-47d9-acf7-6c001c7f720f","yearly10PercentOffFirstYear":"9dd694fb-96e1-472c-8d9e-3c868d5c1506","yearlyForStudents":"e29345ef-ab1c-4234-95c5-70e50fe6bc23","monthlyCad":"p52orjkaceei","yearlyCad":"h4q9g2up9ktt"},"braintreeDiscountId":{"oneMonthFree":"MONTHS_FREE_01","threeMonthsFree":"MONTHS_FREE_03","sixMonthsFree":"MONTHS_FREE_06","fiftyPercentOffOneYear":"FIFTY_PERCENT_OFF_ONE_YEAR"},"3DSecureVersion":"2","defaultCurrency":"usd","providerPlanIdCurrency":{"4ycw":"usd","rz3b":"usd","3kqm":"usd","jzw6":"usd","c2q2":"usd","nnsw":"usd","q8qw":"usd","d9y6":"usd","fx7w":"cad","nwf2":"cad"}},"paypalClientId":"AXj1G4fotC2GE8KzWX9mSxCH1wmPE3nJglf4Z2ig_amnhvlMVX87otaq58niAg9iuLktVNF_1WCMnN7v","paypal":{"host":"https:\u002F\u002Fapi.paypal.com:443","clientMode":"production","serverMode":"live","webhookId":"4G466076A0294510S","monthlyPlan":{"planId":"P-9WR0658853113943TMU5FDQA","name":"Medium Membership (Monthly) with setup fee","description":"Unlimited access to the best and brightest stories on Medium. Membership billed monthly."},"yearlyPlan":{"planId":"P-7N8963881P8875835MU5JOPQ","name":"Medium Membership (Annual) with setup fee","description":"Unlimited access to the best and brightest stories on Medium. Membership billed annually."},"oneYearGift":{"name":"Medium Membership (1 Year, Digital Gift Code)","description":"Unlimited access to the best and brightest stories on Medium. Gift codes can be redeemed at medium.com\u002Fredeem.","price":"50.00","currency":"USD","sku":"membership-gift-1-yr"},"oldMonthlyPlan":{"planId":"P-96U02458LM656772MJZUVH2Y","name":"Medium Membership (Monthly)","description":"Unlimited access to the best and brightest stories on Medium. Membership billed monthly."},"oldYearlyPlan":{"planId":"P-59P80963JF186412JJZU3SMI","name":"Medium Membership (Annual)","description":"Unlimited access to the best and brightest stories on Medium. Membership billed annually."},"monthlyPlanWithTrial":{"planId":"P-66C21969LR178604GJPVKUKY","name":"Medium Membership (Monthly) with setup fee","description":"Unlimited access to the best and brightest stories on Medium. Membership billed monthly."},"yearlyPlanWithTrial":{"planId":"P-6XW32684EX226940VKCT2MFA","name":"Medium Membership (Annual) with setup fee","description":"Unlimited access to the best and brightest stories on Medium. Membership billed annually."},"oldMonthlyPlanNoSetupFee":{"planId":"P-4N046520HR188054PCJC7LJI","name":"Medium Membership (Monthly)","description":"Unlimited access to the best and brightest stories on Medium. Membership billed monthly."},"oldYearlyPlanNoSetupFee":{"planId":"P-7A4913502Y5181304CJEJMXQ","name":"Medium Membership (Annual)","description":"Unlimited access to the best and brightest stories on Medium. Membership billed annually."},"sdkUrl":"https:\u002F\u002Fwww.paypal.com\u002Fsdk\u002Fjs"},"stripePublishableKey":"pk_live_7FReX44VnNIInZwrIIx6ghjl","log":{"json":true,"level":"info"},"imageUploadMaxSizeMb":25,"staffPicks":{"title":"Staff Picks","catalogId":"c7bc6e1ee00f"}},"session":{"xsrf":""}}</script><script>window.__APOLLO_STATE__ = {"ROOT_QUERY":{"__typename":"Query","viewer":null,"variantFlags":[{"__typename":"VariantFlag","name":"enable_braintree_trial_membership","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_pre_pp_v4","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_sharer_create_post_share_key","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_members_only_audio","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"redefined_top_posts","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"android_enable_editor_new_publishing_flow","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_automod","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_iceland_forced_android","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_lite_homepage","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_ranker_v10","valueType":{"__typename":"VariantFlagString","value":"control"}},{"__typename":"VariantFlag","name":"mobile_custom_app_icon","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_eventstats_event_processing","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_braintree_webhook","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_recommended_publishers_query","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_rex_aggregator_v2","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"skip_fs_cache_user_vals","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_sharer_validate_post_share_key","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"available_annual_plan","valueType":{"__typename":"VariantFlagString","value":"2c754bcc2995"}},{"__typename":"VariantFlag","name":"enable_conversion_model_v2","valueType":{"__typename":"VariantFlagString","value":"group_2"}},{"__typename":"VariantFlag","name":"enable_starspace","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_branch_io","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_switch_plan_premium_tier","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"glyph_font_set","valueType":{"__typename":"VariantFlagString","value":"m2-unbound-source-serif-pro"}},{"__typename":"VariantFlag","name":"enable_braintree_apple_pay","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_group_gifting","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_mastodon_for_members","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_lite_continue_this_thread","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_susi_redesign_android","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"ios_in_app_free_trial","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_new_stripe_customers","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"android_rating_prompt_stories_read_threshold","valueType":{"__typename":"VariantFlagNumber","value":2}},{"__typename":"VariantFlag","name":"enable_android_miro_v2","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_post_bottom_responses","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_braintree_paypal","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_app_flirty_thirty","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_braintree_google_pay","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_ios_dynamic_paywall_aspiriational","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_sprig","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_diversification_rex","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_tag_recs","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"ios_display_paywall_after_onboarding","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"ios_social_share_sheet","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_apple_sign_in","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_publication_hierarchy_web","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"allow_test_auth","valueType":{"__typename":"VariantFlagString","value":"disallow"}},{"__typename":"VariantFlag","name":"enable_legacy_feed_in_iceland","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_lite_server_upstream_deadlines","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_lo_homepage","valueType":{"__typename":"VariantFlagString","value":"control"}},{"__typename":"VariantFlag","name":"enable_post_bottom_responses_input","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_cache_less_following_feed","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_recaptcha_enterprise","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_abandoned_cart_promotion_email","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_braintree_integration","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_maim_the_meter","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_pp_v4","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_rex_new_push_notification_endpoint","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"available_monthly_premium_plan","valueType":{"__typename":"VariantFlagString","value":"12a660186432"}},{"__typename":"VariantFlag","name":"enable_tipping_v0_ios","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"coronavirus_topic_recirc","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_lite_archive_page","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"ios_enable_friend_links_creation","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"available_annual_premium_plan","valueType":{"__typename":"VariantFlagString","value":"4a442ace1476"}},{"__typename":"VariantFlag","name":"enable_explicit_signals","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_marketing_emails","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_newsletter_lo_flow_custom_domains","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_updated_pub_recs_ui","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_deprecate_legacy_providers_v3","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_pp_country_expansion","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"available_monthly_plan","valueType":{"__typename":"VariantFlagString","value":"60e220181034"}},{"__typename":"VariantFlag","name":"enable_simplified_digest_v2_b","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_google_one_tap","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_moc_load_processor_all_recs_surfaces","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_apple_webhook","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"android_two_hour_refresh","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"android_enable_lists_v2","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_braintree_client","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_google_webhook","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"onboarding_tags_from_top_views","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_rex_reading_history","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_lite_response_markup","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_tribute_landing_page","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"ios_iceland_nux","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"ios_remove_twitter_onboarding_step","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_auto_follow_on_subscribe","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_explicit_signals_updated_post_previews","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_premium_tier_badge","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"limit_user_follows","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"browsable_stream_config_bucket","valueType":{"__typename":"VariantFlagString","value":"curated-topics"}},{"__typename":"VariantFlag","name":"enable_tick_landing_page","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"android_enable_friend_links_postpage_banners","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_bayesian_average_pub_search","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"signin_services","valueType":{"__typename":"VariantFlagString","value":"twitter,facebook,google,email,google-fastidv,google-one-tap,apple"}},{"__typename":"VariantFlag","name":"enable_android_dynamic_programming_paywall","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_update_explore_wtf","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_billing_frequency_on_step2","valueType":{"__typename":"VariantFlagString","value":"group_1"}},{"__typename":"VariantFlag","name":"android_enable_syntax_highlight","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_ios_dynamic_paywall_programming","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_mastodon_for_members_username_selection","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_update_topic_portals_wtf","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_verifications_service","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"ios_enable_verified_book_author","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_ios_offline_reading","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_intrinsic_automatic_actions","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_susi_redesign_ios","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_author_cards_byline","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_see_pronouns","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_ios_autorefresh","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"textshots_userid","valueType":{"__typename":"VariantFlagString","value":""}},{"__typename":"VariantFlag","name":"enable_footer_app_buttons","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_medium2_kbfd","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_premium_tier","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_conversion_ranker_v2","valueType":{"__typename":"VariantFlagString","value":"control"}},{"__typename":"VariantFlag","name":"enable_boost_nia_v01","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_android_offline_reading","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"price_smoke_test_monthly","valueType":{"__typename":"VariantFlagString","value":""}},{"__typename":"VariantFlag","name":"can_send_tips_v0","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"android_enable_topic_portals","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_entities_to_follow_v2","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"android_enable_friend_links_creation","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"price_smoke_test_yearly","valueType":{"__typename":"VariantFlagString","value":""}},{"__typename":"VariantFlag","name":"enable_aurora_pub_follower_page","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_android_dynamic_aspirational_paywall","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_android_verified_author","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"disable_partner_program_enrollment","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"ios_enable_home_post_menu","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_author_cards","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_speechify_ios","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"goliath_externalsearch_enable_comment_deindexation","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"signup_services","valueType":{"__typename":"VariantFlagString","value":"twitter,facebook,google,email,google-fastidv,google-one-tap,apple"}},{"__typename":"VariantFlag","name":"allow_signup","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_moc_load_processor_c","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"limit_post_referrers","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"rex_generator_max_candidates","valueType":{"__typename":"VariantFlagNumber","value":1000}},{"__typename":"VariantFlag","name":"android_enable_image_sharer","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"ios_enable_lock_responses","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_import","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_new_manage_membership_flow","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_recirc_model","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"reader_fair_distribution_non_qp","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_configure_pronouns","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_mastodon_avatar_upload","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_ml_rank_rex_anno","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_moc_load_processor_first_story","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_tipping_v0_android","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"ios_enable_friend_links_postpage_banners","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_pill_based_home_feed","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_bg_post_post","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_speechify_widget","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"reengagement_notification_duration","valueType":{"__typename":"VariantFlagNumber","value":3}},{"__typename":"VariantFlag","name":"can_receive_tips_v0","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_creator_welcome_email","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_ios_easy_resubscribe","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_seamless_social_sharing","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"num_post_bottom_responses_to_show","valueType":{"__typename":"VariantFlagString","value":"3"}},{"__typename":"VariantFlag","name":"enable_rito_upstream_deadlines","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"allow_access","valueType":{"__typename":"VariantFlagBoolean","value":true}}],"collectionByDomainOrSlug({\"domainOrSlug\":\"medium.com\"})":null,"user({\"id\":\"1002493df61e\"})":{"__ref":"User:1002493df61e"},"userResult({\"id\":\"1002493df61e\"})":{"__ref":"User:1002493df61e"},"userResult({\"id\":null,\"username\":\"evansye\"})":{"__ref":"User:1002493df61e"},"user({\"username\":\"evansye\"})":{"__ref":"User:1002493df61e"},"userResult({\"username\":\"evansye\"})":{"__ref":"User:1002493df61e"},"userResult({\"id\":\"1002493df61e\",\"username\":\"\"})":{"__ref":"User:1002493df61e"}},"User:1002493df61e":{"__typename":"User","id":"1002493df61e","name":"Evans Ye","customStyleSheet":null,"imageId":"0*bVmEapcbk-cCyJq2.png","socialStats":{"__typename":"SocialStats","followerCount":213,"followingCount":78,"collectionFollowingCount":10},"viewerEdge":{"__ref":"UserViewerEdge:userId:1002493df61e-viewerId:lo_daaf4853a168"},"membership":null,"verifications":{"__typename":"VerifiedInfo","isBookAuthor":false},"username":"evansye","customDomainState":null,"hasSubdomain":false,"bio":"軟體工程雜談。歡迎打臉,幫助我成為更好的自己:)","isPartnerProgramEnrolled":false,"viewerIsUser":false,"newsletterV3":null,"postSubscribeMembershipUpsellShownAt":0,"followingEntityConnection:{\"paging\":{\"limit\":5}}":{"__typename":"EntityConnection","entities":[{"__ref":"User:6857a4254ad8"},{"__ref":"User:73c0bfd16db0"},{"__ref":"User:6ce225eafe47"},{"__ref":"User:850bca0cf78e"},{"__ref":"User:ed7398b0c05a"}]},"pronouns":[],"homepagePostsConnection:{\"paging\":{\"limit\":1}}":{"__typename":"PostConnection","posts":[{"__ref":"Post:b8047db12c0a"}]},"linkedAccounts":{"__ref":"LinkedAccounts:1002493df61e"},"homepagePostsConnection:{\"paging\":{\"limit\":10},\"includeDistributedResponses\":true}":{"__typename":"PostConnection","posts":[{"__ref":"Post:b8047db12c0a"},{"__ref":"Post:4f3a4f32e354"},{"__ref":"Post:26b36729f63b"},{"__ref":"Post:2a79c875762e"},{"__ref":"Post:e8ed26d9c49"},{"__ref":"Post:327e8a1eda91"},{"__ref":"Post:8df2b0bf30da"},{"__ref":"Post:e3db46f733d2"}],"pagingInfo":{"__typename":"Paging","next":null}},"twitterScreenName":"YE_YOU_XIN","navItems":[{"__typename":"UserNavItem","title":"Profile"},{"__typename":"UserNavItem","title":"Claps"},{"__typename":"UserNavItem","title":"Highlights"},{"__typename":"UserNavItem","title":"Responses"}],"isSuspended":false,"authoredBooks":[]},"UserViewerEdge:userId:1002493df61e-viewerId:lo_daaf4853a168":{"__typename":"UserViewerEdge","isBlocking":false,"id":"userId:1002493df61e-viewerId:lo_daaf4853a168","isFollowing":false,"isUser":false,"isMuting":false,"hasList":false},"Membership:c3f91c6acc51":{"__typename":"Membership","tier":"MEMBER","id":"c3f91c6acc51"},"User:6857a4254ad8":{"__typename":"User","id":"6857a4254ad8","name":"Amit Singh Rathore","imageId":"1*XuNZOS6H22UYoNxwcJKirw.png","membership":{"__ref":"Membership:c3f91c6acc51"},"username":"asrathore08","customDomainState":{"__typename":"CustomDomainState","live":{"__typename":"CustomDomain","domain":"asrathore08.medium.com"}},"hasSubdomain":true,"hasDomain":true,"bio":"Staff Data Engineer @ Visa — Writes about Cloud | Big Data | ML","verifications":{"__typename":"VerifiedInfo","isBookAuthor":false}},"User:73c0bfd16db0":{"__typename":"User","id":"73c0bfd16db0","name":"林鼎淵","imageId":"1*5f6U-c3dmxPOUzp4S_ek-A.jpeg","membership":null,"username":"dean-lin","customDomainState":{"__typename":"CustomDomainState","live":{"__typename":"CustomDomain","domain":"dean-lin.medium.com"}},"hasSubdomain":true,"hasDomain":true,"bio":"職涯中培育過多名工程師,🧰 目前在外商公司擔任 Software Specialist |✍️ 我專注寫 (1)最新技術 (2)團隊合作 (3)工程師職涯的文章,出版過 6 本專業書籍|👏🏻 如果對這些主題感興趣,歡迎點擊「Follow」來關注我~","verifications":{"__typename":"VerifiedInfo","isBookAuthor":true}},"User:6ce225eafe47":{"__typename":"User","id":"6ce225eafe47","name":"Roman Leventov","imageId":"1*HANJa4hs90jf7lzMoG0Heg.jpeg","membership":null,"username":"leventov","customDomainState":{"__typename":"CustomDomainState","live":{"__typename":"CustomDomain","domain":"leventov.medium.com"}},"hasSubdomain":true,"hasDomain":true,"bio":"Writing about systems, technology, philosophy.","verifications":{"__typename":"VerifiedInfo","isBookAuthor":false}},"User:850bca0cf78e":{"__typename":"User","id":"850bca0cf78e","name":"Jayden Lin","imageId":"1*kPcann7YpJEgg9LmtoiG-g.png","membership":null,"username":"jaydenlin","customDomainState":{"__typename":"CustomDomainState","live":{"__typename":"CustomDomain","domain":"jaydenlin.medium.com"}},"hasSubdomain":true,"hasDomain":true,"bio":"曾在 Yahoo 擔任 Lead Engineer,負責廣告系統,帶團隊做跨國開發,現任職區塊鏈產業。也是《程式猿吃香蕉》團隊創辦人,喜歡將實用的軟體知識以簡單生動的方式講給大家聽 😄😄😄","verifications":{"__typename":"VerifiedInfo","isBookAuthor":false}},"User:ed7398b0c05a":{"__typename":"User","id":"ed7398b0c05a","name":"SystemDesign","imageId":"1*i2NxIXlGdAlGeCPyUVEJsQ.png","membership":null,"username":"systemdesign","customDomainState":{"__typename":"CustomDomainState","live":{"__typename":"CustomDomain","domain":"systemdesign.medium.com"}},"hasSubdomain":true,"hasDomain":true,"bio":"The ultimate Poor man’s system design interview prep guide -- https:\u002F\u002Fsystemdesign.medium.com\u002Fmembership","verifications":{"__typename":"VerifiedInfo","isBookAuthor":false}},"Post:b8047db12c0a":{"__typename":"Post","id":"b8047db12c0a","title":"在邊界內做事,但我現在在哪?","previewImage":{"__ref":"ImageMetadata:"},"extendedPreviewContent":{"__typename":"PreviewContent","subtitle":"在邊界內做事是我聽得到吳軍專欄常常聽到的一句話,我也非常認同。SQL optimizer很難,但有多難?如果說SQL…","isFullContent":false},"creator":{"__ref":"User:1002493df61e"},"isPublished":true,"mediumUrl":"https:\u002F\u002Fmedium.com\u002F@evansye\u002F%E5%9C%A8%E9%82%8A%E7%95%8C%E5%85%A7%E5%81%9A%E4%BA%8B-%E4%BD%86%E6%88%91%E7%8F%BE%E5%9C%A8%E5%9C%A8%E5%93%AA-b8047db12c0a","collection":null,"isLimitedState":false,"allowResponses":true,"postResponses":{"__typename":"PostResponses","count":0},"visibility":"PUBLIC","clapCount":5,"isLocked":false,"firstPublishedAt":1688328417564,"latestPublishedAt":1688328417564,"pinnedAt":0,"readingTime":4.022,"sequence":null,"isSeries":false,"uniqueSlug":"在邊界內做事-但我現在在哪-b8047db12c0a","pinnedByCreatorAt":0},"LinkedAccounts:1002493df61e":{"__typename":"LinkedAccounts","mastodon":null,"id":"1002493df61e"},"ImageMetadata:":{"__typename":"ImageMetadata","id":"","focusPercentX":null,"focusPercentY":null,"alt":null},"Post:4f3a4f32e354":{"__typename":"Post","id":"4f3a4f32e354","title":"雖人登入加拿大 — 分享我的焦慮全餐給大家笑笑","previewImage":{"__ref":"ImageMetadata:"},"extendedPreviewContent":{"__typename":"PreviewContent","subtitle":"去年底工程師裁員潮開始時,我揣著坎克不安的心情relocate到溫哥華做打工仔。通常這種開啟人生新篇章的事件,大部分人都是抱持美好的想像與期待,不過我的劇情很快就急轉直下。不開心是肯定的,不過轉念一想,我的雖事如果能讓大家莞爾一笑,也算是一種美好經歷不是?","isFullContent":false},"creator":{"__ref":"User:1002493df61e"},"isPublished":true,"mediumUrl":"https:\u002F\u002Fmedium.com\u002F@evansye\u002F%E9%9B%96%E4%BA%BA%E7%99%BB%E5%85%A5%E5%8A%A0%E6%8B%BF%E5%A4%A7-%E5%88%86%E4%BA%AB%E6%88%91%E7%9A%84%E7%84%A6%E6%85%AE%E5%85%A8%E9%A4%90%E7%B5%A6%E5%A4%A7%E5%AE%B6%E7%AC%91%E7%AC%91-4f3a4f32e354","collection":null,"isLimitedState":false,"allowResponses":true,"postResponses":{"__typename":"PostResponses","count":1},"visibility":"PUBLIC","clapCount":21,"isLocked":false,"firstPublishedAt":1676796543357,"latestPublishedAt":1676800192259,"pinnedAt":0,"readingTime":6.216,"sequence":null,"isSeries":false,"uniqueSlug":"雖人登入加拿大-分享我的焦慮全餐給大家笑笑-4f3a4f32e354","pinnedByCreatorAt":0},"Post:26b36729f63b":{"__typename":"Post","id":"26b36729f63b","title":"中古車出售經驗分享","previewImage":{"__ref":"ImageMetadata:"},"extendedPreviewContent":{"__typename":"PreviewContent","subtitle":"前陣子斟酌要把車賣了,就開始各種搗騰。","isFullContent":false},"creator":{"__ref":"User:1002493df61e"},"isPublished":true,"mediumUrl":"https:\u002F\u002Fmedium.com\u002F@evansye\u002F%E4%B8%AD%E5%8F%A4%E8%BB%8A%E5%87%BA%E5%94%AE%E7%B6%93%E9%A9%97%E5%88%86%E4%BA%AB-26b36729f63b","collection":null,"isLimitedState":false,"allowResponses":true,"postResponses":{"__typename":"PostResponses","count":0},"visibility":"PUBLIC","clapCount":91,"isLocked":false,"firstPublishedAt":1666712854335,"latestPublishedAt":1666798597333,"pinnedAt":0,"readingTime":5.26,"sequence":null,"isSeries":false,"uniqueSlug":"中古車出售經驗分享-26b36729f63b","pinnedByCreatorAt":0},"Post:2a79c875762e":{"__typename":"Post","id":"2a79c875762e","title":"軟體業管理風格(一)","previewImage":{"__ref":"ImageMetadata:"},"extendedPreviewContent":{"__typename":"PreviewContent","subtitle":"這兩天聽到一集podcast,有感而發:","isFullContent":false},"creator":{"__ref":"User:1002493df61e"},"isPublished":true,"mediumUrl":"https:\u002F\u002Fmedium.com\u002F@evansye\u002F%E8%BB%9F%E9%AB%94%E6%A5%AD%E7%AE%A1%E7%90%86%E9%A2%A8%E6%A0%BC-%E4%B8%80-2a79c875762e","collection":null,"isLimitedState":false,"allowResponses":true,"postResponses":{"__typename":"PostResponses","count":1},"visibility":"PUBLIC","clapCount":133,"isLocked":false,"firstPublishedAt":1663846244321,"latestPublishedAt":1663846244321,"pinnedAt":0,"readingTime":4.588,"sequence":null,"isSeries":false,"uniqueSlug":"軟體業管理風格-一-2a79c875762e","pinnedByCreatorAt":0},"Post:e8ed26d9c49":{"__typename":"Post","id":"e8ed26d9c49","title":"知識的源頭 X Open Source","previewImage":{"__ref":"ImageMetadata:"},"extendedPreviewContent":{"__typename":"PreviewContent","subtitle":"最近在讀一本書:躍遷,古典著。","isFullContent":false},"creator":{"__ref":"User:1002493df61e"},"isPublished":true,"mediumUrl":"https:\u002F\u002Fmedium.com\u002F@evansye\u002F%E7%9F%A5%E8%AD%98%E7%9A%84%E6%BA%90%E9%A0%AD-x-open-source-e8ed26d9c49","collection":null,"isLimitedState":false,"allowResponses":true,"postResponses":{"__typename":"PostResponses","count":0},"visibility":"PUBLIC","clapCount":37,"isLocked":false,"firstPublishedAt":1662101351245,"latestPublishedAt":1662113925233,"pinnedAt":0,"readingTime":2.572,"sequence":null,"isSeries":false,"uniqueSlug":"知識的源頭-x-open-source-e8ed26d9c49","pinnedByCreatorAt":0},"Post:327e8a1eda91":{"__typename":"Post","id":"327e8a1eda91","title":"2018年中國杭州生活經驗分享","previewImage":{"__ref":"ImageMetadata:"},"extendedPreviewContent":{"__typename":"PreviewContent","subtitle":"2018年4月,我來到杭州A公司展開新的挑戰。","isFullContent":false},"creator":{"__ref":"User:1002493df61e"},"isPublished":true,"mediumUrl":"https:\u002F\u002Fmedium.com\u002F@evansye\u002F2018%E5%B9%B4%E4%B8%AD%E5%9C%8B%E6%9D%AD%E5%B7%9E%E7%94%9F%E6%B4%BB%E7%B6%93%E9%A9%97%E5%88%86%E4%BA%AB-327e8a1eda91","collection":null,"isLimitedState":false,"allowResponses":true,"postResponses":{"__typename":"PostResponses","count":0},"visibility":"PUBLIC","clapCount":34,"isLocked":false,"firstPublishedAt":1661166165206,"latestPublishedAt":1661188482050,"pinnedAt":0,"readingTime":4.708,"sequence":null,"isSeries":false,"uniqueSlug":"2018年中國杭州生活經驗分享-327e8a1eda91","pinnedByCreatorAt":0},"Post:8df2b0bf30da":{"__typename":"Post","id":"8df2b0bf30da","title":"Spark AQE Dynamically Coalesce Shuffle Partitions為什麼會有non-deterministic的結果?","previewImage":{"__ref":"ImageMetadata:"},"extendedPreviewContent":{"__typename":"PreviewContent","subtitle":"去年升級Spark 3.0的時候,我們的Spark based ML framework開始occasionally出錯,特別的是什麼都不改重跑就有機會成功。","isFullContent":false},"creator":{"__ref":"User:1002493df61e"},"isPublished":true,"mediumUrl":"https:\u002F\u002Fmedium.com\u002F@evansye\u002Fspark-aqe-dynamically-coalesce-shuffle-partitions%E7%82%BA%E4%BB%80%E9%BA%BC%E6%9C%83%E6%9C%89non-deterministic%E7%9A%84%E7%B5%90%E6%9E%9C-8df2b0bf30da","collection":null,"isLimitedState":false,"allowResponses":true,"postResponses":{"__typename":"PostResponses","count":0},"visibility":"PUBLIC","clapCount":86,"isLocked":false,"firstPublishedAt":1660968635750,"latestPublishedAt":1660970036499,"pinnedAt":0,"readingTime":6.78,"sequence":null,"isSeries":false,"uniqueSlug":"spark-aqe-dynamically-coalesce-shuffle-partitions為什麼會有non-deterministic的結果-8df2b0bf30da","pinnedByCreatorAt":0},"Post:e3db46f733d2":{"__typename":"Post","id":"e3db46f733d2","title":"為什麼NoSQL比較快?","previewImage":{"__ref":"ImageMetadata:"},"extendedPreviewContent":{"__typename":"PreviewContent","subtitle":"今天參加某conference,講者說雲端提供的NoSQL比傳統B-tree database快,因為B-tree database使用SQL介面,需要額外轉譯執行,而NoSQL只要使用簡單的API calls (get, put…","isFullContent":false},"creator":{"__ref":"User:1002493df61e"},"isPublished":true,"mediumUrl":"https:\u002F\u002Fmedium.com\u002F@evansye\u002F%E7%82%BA%E4%BB%80%E9%BA%BCnosql%E6%AF%94%E8%BC%83%E5%BF%AB-e3db46f733d2","collection":null,"isLimitedState":false,"allowResponses":true,"postResponses":{"__typename":"PostResponses","count":0},"visibility":"PUBLIC","clapCount":54,"isLocked":false,"firstPublishedAt":1660149613649,"latestPublishedAt":1660315179747,"pinnedAt":0,"readingTime":2.31,"sequence":null,"isSeries":false,"uniqueSlug":"為什麼nosql比較快-e3db46f733d2","pinnedByCreatorAt":0}}</script><script src="https://cdn-client.medium.com/lite/static/js/manifest.aa9242f7.js"></script><script src="https://cdn-client.medium.com/lite/static/js/9865.1496d74a.js"></script><script src="https://cdn-client.medium.com/lite/static/js/main.e556b4ac.js"></script><script src="https://cdn-client.medium.com/lite/static/js/instrumentation.d9108df7.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/reporting.ff22a7a5.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/5049.d1ead72d.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/4810.6318add7.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/2707.b0942613.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/9977.5b3eb23a.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/8599.1ab63137.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/5250.9f9e01d2.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/5787.e66a3a4d.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/2648.26563adf.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/8393.826a25fb.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/3104.c3413b66.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/3735.afb7e926.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/5642.8ad8a900.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/4124.0567a444.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/4769.e7f80c12.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/3591.8b4ac29e.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/6834.08de95de.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/1676.7c5eb266.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/3561.c365f1ea.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/7880.b3d77a02.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/6594.8def288e.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/UserProfilePage.MainContent.c2a2d70c.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/2278.e4e1a3d4.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/7346.72622eb9.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/408.e884c80f.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/UserProfilePage.RightColumnContent.ca20d324.chunk.js"></script><script>window.main();</script><script>(function(){function c(){var b=a.contentDocument||a.contentWindow.document;if(b){var d=b.createElement('script');d.innerHTML="window.__CF$cv$params={r:'8e902dc8cb629c1b',t:'MTczMjY5MDE3My4wMDAwMDA='};var a=document.createElement('script');a.nonce='';a.src='/cdn-cgi/challenge-platform/scripts/jsd/main.js';document.getElementsByTagName('head')[0].appendChild(a);";b.getElementsByTagName('head')[0].appendChild(d)}}if(document.body){var a=document.createElement('iframe');a.height=1;a.width=1;a.style.position='absolute';a.style.top=0;a.style.left=0;a.style.border='none';a.style.visibility='hidden';document.body.appendChild(a);if('loading'!==document.readyState)c();else if(window.addEventListener)document.addEventListener('DOMContentLoaded',c);else{var e=document.onreadystatechange||function(){};document.onreadystatechange=function(b){e(b);'loading'!==document.readyState&&(document.onreadystatechange=e,c())}}}})();</script></body></html>

Pages: 1 2 3 4 5 6 7 8 9 10