-
Notifications
You must be signed in to change notification settings - Fork 12
/
index.html
96 lines (88 loc) · 54.1 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta http-equiv="x-ua-compatible" content="ie=edge"/><meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"/><meta data-react-helmet="true" name="twitter:image" content=""/><meta data-react-helmet="true" name="twitter:description" content="web 开发者, 擅长各项前端技能,专注于 web 端开发与前端性能, 并对 Nodejs 及 Go 服务端技术栈深感兴趣。"/><meta data-react-helmet="true" name="twitter:title" content="linhe0x0's blog | 根号三的博客"/><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"/><meta data-react-helmet="true" property="og:image" content=""/><meta data-react-helmet="true" property="og:description" content="web 开发者, 擅长各项前端技能,专注于 web 端开发与前端性能, 并对 Nodejs 及 Go 服务端技术栈深感兴趣。"/><meta data-react-helmet="true" property="og:title" content="linhe0x0's blog | 根号三的博客"/><meta data-react-helmet="true" property="og:type" content="website"/><meta data-react-helmet="true" property="og:url"/><meta data-react-helmet="true" itemProp="image" content=""/><meta data-react-helmet="true" itemProp="description" content="web 开发者, 擅长各项前端技能,专注于 web 端开发与前端性能, 并对 Nodejs 及 Go 服务端技术栈深感兴趣。"/><meta data-react-helmet="true" itemProp="name" content="linhe0x0's blog | 根号三的博客"/><meta data-react-helmet="true" name="description" content="web 开发者, 擅长各项前端技能,专注于 web 端开发与前端性能, 并对 Nodejs 及 Go 服务端技术栈深感兴趣。"/><meta data-react-helmet="true" name="keyword" content="前端 前端工程师 HTML5 CSS3 Javascript React Vue Node.js Go Docker"/><meta name="generator" content="Gatsby 4.13.0"/><style data-href="/styles.9f738cf1fdf45340fae5.css" data-identity="gatsby-global-css">code[class*=language-],pre[class*=language-]{word-wrap:normal;background:none;color:#f8f8f2;font-family:Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace;font-size:1em;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;text-align:left;text-shadow:0 1px rgba(0,0,0,.3);white-space:pre;word-break:normal;word-spacing:normal}pre[class*=language-]{border-radius:.3em;margin:.5em 0;overflow:auto;padding:1em}:not(pre)>code[class*=language-],pre[class*=language-]{background:#272822}:not(pre)>code[class*=language-]{border-radius:.3em;padding:.1em;white-space:normal}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#8292a2}.token.punctuation{color:#f8f8f2}.token.namespace{opacity:.7}.token.constant,.token.deleted,.token.property,.token.symbol,.token.tag{color:#f92672}.token.boolean,.token.number{color:#ae81ff}.token.attr-name,.token.builtin,.token.char,.token.inserted,.token.selector,.token.string{color:#a6e22e}.language-css .token.string,.style .token.string,.token.entity,.token.operator,.token.url,.token.variable{color:#f8f8f2}.token.atrule,.token.attr-value,.token.class-name,.token.function{color:#e6db74}.token.keyword{color:#66d9ef}.token.important,.token.regex{color:#fd971f}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}:root{--mark-font-size-small:12px;--mark-font-size-base:14px;--mark-font-size-large:16px;--mark-cjk-font:"Chinese Quote","Source Han Sans SC","思源黑体 CN","思源黑体";--mark-mono-font:"Fira Code",Monaco,monospace;--mark-fallback-font:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Helvetica Neue",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--mark-heading-font:var(--mark-cjk-font),var(--mark-fallback-font);--mark-text-font:var(--mark-cjk-font),var(--mark-fallback-font);--mark-general-font-feature-settings:"calt","ccmp","kern","salt" 0;--mark-light-color:#fff;--mark-body-light-color:#fff;--mark-primary-light-color:#3b82f6;--mark-secondary-light-color:#60a5fa;--mark-heading-light-color:#000;--mark-text-light-color:#1a1a1a;--mark-bg-light-color:#f1f5f9;--mark-inline-code-light-color:#fff;--mark-block-code-light-color:#cbd5e1;--mark-block-code-header-bg-light-color:#1e293b;--mark-block-code-bg-light-color:#0f172a;--mark-table-header-light-color:#f1f5f9;--mark-table-bg-hover-light-color:#f1f5f9;--mark-divider-light-color:#d1d5db;--mark-dark-color:#1a1a1a;--mark-body-dark-color:#111827;--mark-primary-dark-color:#3b82f6;--mark-secondary-dark-color:#1e3a8a;--mark-heading-dark-color:#cbd5e1;--mark-text-dark-color:#94a3b8;--mark-bg-dark-color:#1f2937;--mark-inline-code-dark-color:#cbd5e1;--mark-block-code-dark-color:#e5e7eb;--mark-block-code-header-bg-dark-color:#334155;--mark-block-code-bg-dark-color:#1f2937;--mark-table-header-dark-color:#334155;--mark-table-bg-hover-dark-color:#1e2937;--mark-divider-dark-color:#1f2937}.markdown-body{font-feature-settings:var(--mark-general-font-feature-settings);font-size:var(--mark-font-size-base);font-variant-numeric:tabular-nums;line-height:1.5}.markdown-body .h1,.markdown-body .h2,.markdown-body .h3,.markdown-body .h4,.markdown-body .h5,.markdown-body .h6,.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{cursor:text;font-family:var(--mark-heading-font);font-weight:600;line-height:1.125;margin-bottom:.5em;margin-top:.875em;text-align:center}.markdown-body .h1,.markdown-body h1{font-size:2.5rem}.markdown-body .h2,.markdown-body h2{font-size:2rem}.markdown-body .h3,.markdown-body h3{font-size:1.75rem}.markdown-body .h4,.markdown-body h4{font-size:1.625rem}.markdown-body .h5,.markdown-body h5{font-size:1.25rem}.markdown-body .h6,.markdown-body h6{font-size:1.125rem}@media (min-width:768px){.markdown-body .h1,.markdown-body .h2,.markdown-body .h3,.markdown-body .h4,.markdown-body .h5,.markdown-body .h6,.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{line-height:1.5;text-align:left}}.markdown-body p{word-wrap:break-word;font-family:var(--mark-text-font);font-size:1rem;-ms-hyphens:auto;-moz-hyphens:auto;-webkit-hyphens:auto;hyphens:auto;line-height:1.875;margin:.75rem 0;overflow-wrap:break-word;-ms-word-break:break-all;word-break:break-all;word-break:break-word}.markdown-body div strong,.markdown-body p strong{font-size:500}.markdown-body code{font-family:var(--mark-mono-font)}.markdown-body blockquote code,.markdown-body p code{border-radius:4px;display:inline-block;font-size:.875rem;line-height:1.25;margin:-2px 4px 0;padding:3px 8px;vertical-align:middle}.markdown-body pre{border-radius:4px;display:block;padding:3.5rem 1rem 1rem;position:relative}.markdown-body pre:before{border-top-left-radius:4px;border-top-right-radius:4px;content:attr(rel);height:2.5rem;left:0;position:absolute;top:0;width:100%}.markdown-body pre:after{background:#fc625d;border-radius:.875rem;box-shadow:20px 0 #fdbc40,40px 0 #35cd4b;content:"";height:.875rem;left:1.125rem;position:absolute;top:.875rem;width:.875rem}.markdown-body pre code{display:inline-block;max-width:100%;overflow:auto}.markdown-body .blockquote,.markdown-body blockquote{word-wrap:break-word;border-bottom-right-radius:4px;border-left:.375rem solid;border-top-right-radius:4px;display:block;-ms-hyphens:auto;-moz-hyphens:auto;-webkit-hyphens:auto;hyphens:auto;margin:0;overflow:hidden;overflow-wrap:break-word;padding:0 1.25rem;-ms-word-break:break-all;word-break:break-all;word-break:break-word}.markdown-body a{font-weight:500;text-decoration:none}.markdown-body a:hover{text-decoration:underline}.markdown-body hr{border:3px solid;display:block;margin:2rem 0}.markdown-body img{border-radius:4px;display:block;margin:1rem auto;max-width:100%}@media (max-width:786px){.markdown-body img{width:100%}}.markdown-body ol,.markdown-body ul{margin:1rem 0;padding:0 2rem}.markdown-body ol ol,.markdown-body ol ul,.markdown-body ul ol,.markdown-body ul ul{margin-top:0;padding-bottom:0}.markdown-body .blockquote ol,.markdown-body .blockquote ul,.markdown-body blockquote ol,.markdown-body blockquote ul{padding-left:1rem;padding-right:1rem}.markdown-body .blockquote>ul,.markdown-body blockquote>ul{list-style:disc}.markdown-body .blockquote>ol,.markdown-body blockquote>ol{list-style:decimal}.markdown-body li{margin:.25rem 0}.markdown-body li p{margin:0}.markdown-body table{border:1px solid;border-radius:4px;border-spacing:0;width:100%}.markdown-body table tr:last-child{border-bottom-left-radius:4px}.markdown-body table td,.markdown-body table th{border-bottom:1px solid;border-right:1px solid;border-color:inherit;padding:.5rem}.markdown-body table thead tr:first-child th:first-child{border-top-left-radius:4px}.markdown-body table thead tr:first-child th:last-child{border-top-right-radius:4px}.markdown-body table tbody tr:last-child td{border-bottom:none}.markdown-body table td:last-child,.markdown-body table th:last-child{border-right:none}.markdown-body table tr:last-child td:first-child{border-bottom-left-radius:4px}.markdown-body table tr:last-child td:last-child{border-bottom-right-radius:4px}.markdown-body table th{font-weight:500}.markdown-body .anchor.before{align-items:center;display:flex;height:100%;left:0;padding-right:4px;position:absolute;top:0;transform:translateX(-100%)}.markdown-body ::selection{background-color:var(--mark-primary-light-color);color:var(--mark-light-color)}.markdown-body .h1,.markdown-body .h2,.markdown-body .h3,.markdown-body .h4,.markdown-body .h5,.markdown-body .h6,.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{color:var(--mark-primary-light-color)}@media (min-width:768px){.markdown-body .h1,.markdown-body .h2,.markdown-body .h3,.markdown-body .h4,.markdown-body .h5,.markdown-body .h6,.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{color:var(--mark-heading-light-color)}}.markdown-body div,.markdown-body p{color:var(--mark-text-light-color)}.markdown-body div strong,.markdown-body p strong{color:var(--mark-primary-light-color)}.markdown-body p code{background-color:var(--mark-secondary-light-color);color:var(--mark-inline-code-light-color)}.markdown-body pre{background-color:var(--mark-block-code-bg-light-color);color:var(--mark-block-code-light-color)}.markdown-body pre:before{background-color:var(--mark-block-code-header-bg-light-color)}.markdown-body pre code{color:var(--mark-block-code-light-color)}.markdown-body .blockquote,.markdown-body blockquote{background-color:var(--mark-bg-light-color);border-color:var(--mark-secondary-light-color)}.markdown-body a{color:var(--mark-primary-light-color)}.markdown-body li{color:var(--mark-text-light-color)}.markdown-body table{border-color:var(--mark-divider-light-color)}.markdown-body table tr:hover{background-color:var(--mark-table-bg-hover-light-color)}.markdown-body table th{background-color:var(--mark-table-header-light-color)}.markdown-body table td,.markdown-body table th{color:var(--mark-text-light-color)}.markdown-body hr{border-color:var(--mark-divider-light-color)}@media (prefers-color-scheme:dark){.markdown-body .h1,.markdown-body .h2,.markdown-body .h3,.markdown-body .h4,.markdown-body .h5,.markdown-body .h6,.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{color:var(--mark-primary-dark-color)}@media (min-width:768px){.markdown-body .h1,.markdown-body .h2,.markdown-body .h3,.markdown-body .h4,.markdown-body .h5,.markdown-body .h6,.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{color:var(--mark-heading-dark-color)}}.markdown-body div,.markdown-body p{color:var(--mark-text-dark-color)}.markdown-body div strong,.markdown-body p strong{color:var(--mark-primary-dark-color)}.markdown-body p code{background-color:var(--mark-secondary-dark-color);color:var(--mark-inline-code-dark-color)}.markdown-body pre{background-color:var(--mark-block-code-bg-dark-color);color:var(--mark-block-code-dark-color)}.markdown-body pre:before{background-color:var(--mark-block-code-header-bg-dark-color)}.markdown-body pre code{color:var(--mark-block-code-dark-color)}.markdown-body .blockquote,.markdown-body blockquote{background-color:var(--mark-bg-dark-color);border-color:var(--mark-secondary-dark-color)}.markdown-body a{color:var(--mark-primary-dark-color)}.markdown-body li{color:var(--mark-text-dark-color)}.markdown-body table{border-color:var(--mark-divider-dark-color)}.markdown-body table tr:hover{background-color:var(--mark-table-bg-hover-dark-color)}.markdown-body table th{background-color:var(--mark-table-header-dark-color)}.markdown-body table td,.markdown-body table th{color:var(--mark-text-dark-color)}.markdown-body hr{border-color:var(--mark-divider-dark-color)}}.light .markdown-body ::selection{background-color:var(--mark-primary-light-color);color:var(--mark-light-color)}.light .markdown-body .h1,.light .markdown-body .h2,.light .markdown-body .h3,.light .markdown-body .h4,.light .markdown-body .h5,.light .markdown-body .h6,.light .markdown-body h1,.light .markdown-body h2,.light .markdown-body h3,.light .markdown-body h4,.light .markdown-body h5,.light .markdown-body h6{color:var(--mark-primary-light-color)}@media (min-width:768px){.light .markdown-body .h1,.light .markdown-body .h2,.light .markdown-body .h3,.light .markdown-body .h4,.light .markdown-body .h5,.light .markdown-body .h6,.light .markdown-body h1,.light .markdown-body h2,.light .markdown-body h3,.light .markdown-body h4,.light .markdown-body h5,.light .markdown-body h6{color:var(--mark-heading-light-color)}}.light .markdown-body div,.light .markdown-body p{color:var(--mark-text-light-color)}.light .markdown-body div strong,.light .markdown-body p strong{color:var(--mark-primary-light-color)}.light .markdown-body p code{background-color:var(--mark-secondary-light-color);color:var(--mark-inline-code-light-color)}.light .markdown-body pre{background-color:var(--mark-block-code-bg-light-color);color:var(--mark-block-code-light-color)}.light .markdown-body pre:before{background-color:var(--mark-block-code-header-bg-light-color)}.light .markdown-body pre code{color:var(--mark-block-code-light-color)}.light .markdown-body .blockquote,.light .markdown-body blockquote{background-color:var(--mark-bg-light-color);border-color:var(--mark-secondary-light-color)}.light .markdown-body a{color:var(--mark-primary-light-color)}.light .markdown-body li{color:var(--mark-text-light-color)}.light .markdown-body table{border-color:var(--mark-divider-light-color)}.light .markdown-body table tr:hover{background-color:var(--mark-table-bg-hover-light-color)}.light .markdown-body table th{background-color:var(--mark-table-header-light-color)}.light .markdown-body table td,.light .markdown-body table th{color:var(--mark-text-light-color)}.light .markdown-body hr{border-color:var(--mark-divider-light-color)}.dark .markdown-body .h1,.dark .markdown-body .h2,.dark .markdown-body .h3,.dark .markdown-body .h4,.dark .markdown-body .h5,.dark .markdown-body .h6,.dark .markdown-body h1,.dark .markdown-body h2,.dark .markdown-body h3,.dark .markdown-body h4,.dark .markdown-body h5,.dark .markdown-body h6{color:var(--mark-primary-dark-color)}@media (min-width:768px){.dark .markdown-body .h1,.dark .markdown-body .h2,.dark .markdown-body .h3,.dark .markdown-body .h4,.dark .markdown-body .h5,.dark .markdown-body .h6,.dark .markdown-body h1,.dark .markdown-body h2,.dark .markdown-body h3,.dark .markdown-body h4,.dark .markdown-body h5,.dark .markdown-body h6{color:var(--mark-heading-dark-color)}}.dark .markdown-body div,.dark .markdown-body p{color:var(--mark-text-dark-color)}.dark .markdown-body div strong,.dark .markdown-body p strong{color:var(--mark-primary-dark-color)}.dark .markdown-body p code{background-color:var(--mark-secondary-dark-color);color:var(--mark-inline-code-dark-color)}.dark .markdown-body pre{background-color:var(--mark-block-code-bg-dark-color);color:var(--mark-block-code-dark-color)}.dark .markdown-body pre:before{background-color:var(--mark-block-code-header-bg-dark-color)}.dark .markdown-body pre code{color:var(--mark-block-code-dark-color)}.dark .markdown-body .blockquote,.dark .markdown-body blockquote{background-color:var(--mark-bg-dark-color);border-color:var(--mark-secondary-dark-color)}.dark .markdown-body a{color:var(--mark-primary-dark-color)}.dark .markdown-body li{color:var(--mark-text-dark-color)}.dark .markdown-body table{border-color:var(--mark-divider-dark-color)}.dark .markdown-body table tr:hover{background-color:var(--mark-table-bg-hover-dark-color)}.dark .markdown-body table th{background-color:var(--mark-table-header-dark-color)}.dark .markdown-body table td,.dark .markdown-body table th{color:var(--mark-text-dark-color)}.dark .markdown-body hr{border-color:var(--mark-divider-dark-color)}.markdown-body ul{list-style:disc}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{margin-top:-88px;padding-top:88px}
/*
! tailwindcss v3.0.24 | MIT License | https://tailwindcss.com
*/*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}html{-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{color:inherit;font-family:inherit;font-size:100%;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:#9ca3af;opacity:1}input:-ms-input-placeholder,textarea:-ms-input-placeholder{color:#9ca3af;opacity:1}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]{display:none}*,:after,:before{--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-x-0{left:0;right:0}.bottom-0{bottom:0}.left-0{left:0}.top-0{top:0}.z-10{z-index:10}.z-20{z-index:20}.m-1{margin:.25rem}.mx-auto{margin-left:auto;margin-right:auto}.my-4{margin-bottom:1rem;margin-top:1rem}.mx-10{margin-left:2.5rem;margin-right:2.5rem}.mx-2{margin-left:.5rem;margin-right:.5rem}.my-3{margin-bottom:.75rem;margin-top:.75rem}.-mx-1{margin-left:-.25rem;margin-right:-.25rem}.-mt-12{margin-top:-3rem}.-mt-16{margin-top:-4rem}.mt-6{margin-top:1.5rem}.mb-2{margin-bottom:.5rem}.mr-4{margin-right:1rem}.mb-16{margin-bottom:4rem}.mb-8{margin-bottom:2rem}.ml-2{margin-left:.5rem}.mr-3{margin-right:.75rem}.mb-12{margin-bottom:3rem}.-ml-4{margin-left:-1rem}.mr-2{margin-right:.5rem}.mb-3{margin-bottom:.75rem}.mt-2{margin-top:.5rem}.box-content{box-sizing:content-box}.block{display:block}.flex{display:flex}.h-32{height:8rem}.h-12{height:3rem}.h-full{height:100%}.h-1\.5{height:.375rem}.h-1{height:.25rem}.h-8{height:2rem}.h-52{height:13rem}.h-10{height:2.5rem}.w-2\/3{width:66.666667%}.w-full{width:100%}.w-1\.5{width:.375rem}.w-1{width:.25rem}.w-3\/4{width:75%}.w-8{width:2rem}.flex-none{flex:none}.shrink-0{flex-shrink:0}.cursor-pointer{cursor:pointer}.resize{resize:both}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1rem*var(--tw-space-y-reverse));margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1.5rem*var(--tw-space-y-reverse));margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)))}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.5rem*var(--tw-space-x-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-bottom-width:calc(1px*var(--tw-divide-y-reverse));border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)))}.divide-x>:not([hidden])~:not([hidden]){--tw-divide-x-reverse:0;border-left-width:calc(1px*(1 - var(--tw-divide-x-reverse)));border-right-width:calc(1px*var(--tw-divide-x-reverse))}.divide-gray-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(243 244 246/var(--tw-divide-opacity))}.overflow-hidden,.truncate{overflow:hidden}.truncate{text-overflow:ellipsis;white-space:nowrap}.rounded-lg{border-radius:.5rem}.rounded-full{border-radius:9999px}.rounded{border-radius:.25rem}.rounded-md{border-radius:.375rem}.rounded-t-md{border-top-left-radius:.375rem;border-top-right-radius:.375rem}.bg-gray-900{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity))}.bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity))}.bg-blue-600{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}.bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity))}.bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.bg-blue-100{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity))}.bg-yellow-100{--tw-bg-opacity:1;background-color:rgb(254 249 195/var(--tw-bg-opacity))}.bg-opacity-50{--tw-bg-opacity:0.5}.bg-gradient-to-t{background-image:linear-gradient(to top,var(--tw-gradient-stops))}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.from-white{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to,hsla(0,0%,100%,0))}.from-gray-500{--tw-gradient-from:#6b7280;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to,hsla(220,9%,46%,0))}.from-indigo-600\/80{--tw-gradient-from:rgba(79,70,229,.8);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to,rgba(79,70,229,0))}.to-blue-600\/80{--tw-gradient-to:rgba(37,99,235,.8)}.bg-cover{background-size:cover}.object-cover{-o-object-fit:cover;object-fit:cover}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.px-8{padding-left:2rem;padding-right:2rem}.px-4{padding-left:1rem;padding-right:1rem}.py-12{padding-bottom:3rem;padding-top:3rem}.py-5{padding-bottom:1.25rem;padding-top:1.25rem}.py-44{padding-bottom:11rem;padding-top:11rem}.py-6{padding-bottom:1.5rem;padding-top:1.5rem}.py-10{padding-bottom:2.5rem;padding-top:2.5rem}.py-8{padding-bottom:2rem;padding-top:2rem}.py-16{padding-bottom:4rem;padding-top:4rem}.py-3{padding-bottom:.75rem;padding-top:.75rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-2{padding-left:.5rem;padding-right:.5rem}.py-24{padding-bottom:6rem;padding-top:6rem}.py-56{padding-bottom:14rem;padding-top:14rem}.py-4{padding-bottom:1rem;padding-top:1rem}.py-1{padding-bottom:.25rem;padding-top:.25rem}.pt-20{padding-top:5rem}.pb-32{padding-bottom:8rem}.pt-96{padding-top:24rem}.pt-16{padding-top:4rem}.pl-4{padding-left:1rem}.pt-8{padding-top:2rem}.pl-2{padding-left:.5rem}.pb-28{padding-bottom:7rem}.pb-10{padding-bottom:2.5rem}.text-center{text-align:center}.text-right{text-align:right}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem}.text-lg,.text-xl{line-height:1.75rem}.text-lg{font-size:1.125rem}.text-5xl{font-size:3rem;line-height:1}.text-base{font-size:1rem;line-height:1.5rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-xs{font-size:.75rem;line-height:1rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-6xl{font-size:3.75rem;line-height:1}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-normal{font-weight:400}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.text-blue-600{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity))}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity))}.text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity))}.text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity))}.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity))}.text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity))}.text-gray-200{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity))}.text-gray-300{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity))}.text-yellow-700{--tw-text-opacity:1;color:rgb(161 98 7/var(--tw-text-opacity))}.opacity-100{opacity:1}.opacity-0{opacity:0}.shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition{transition-duration:.15s;transition-property:color,background-color,border-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-text-decoration-color,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-text-decoration-color,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-500{transition-duration:.5s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.line-clamp-2{-webkit-box-orient:vertical;-webkit-line-clamp:2;display:-webkit-box;overflow:hidden}.hover\:bg-gray-700:hover{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}.hover\:bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.hover\:bg-gray-200:hover{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}.hover\:text-gray-600:hover{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity))}.hover\:text-gray-800:hover{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity))}.hover\:opacity-100:hover{opacity:1}.hover\:backdrop-blur:hover{--tw-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-gray-400:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(156 163 175/var(--tw-ring-opacity))}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px}.dark .dark\:divide-gray-900>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(17 24 39/var(--tw-divide-opacity))}.dark .dark\:bg-gray-900{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity))}.dark .dark\:bg-gray-700{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}.dark .dark\:bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}.dark .dark\:from-gray-900{--tw-gradient-from:#111827;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to,rgba(17,24,39,0))}.dark .dark\:text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}.dark .dark\:text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity))}.dark .dark\:text-gray-100{--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity))}.dark .dark\:text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity))}.dark .dark\:text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.dark .dark\:hover\:bg-gray-600:hover{--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity))}.dark .dark\:hover\:bg-gray-900:hover{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity))}.dark .dark\:hover\:bg-gray-800:hover{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}.dark .dark\:hover\:text-gray-200:hover{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity))}@media (min-width:768px){.md\:mb-0{margin-bottom:0}.md\:mr-6{margin-right:1.5rem}.md\:flex{display:flex}.md\:w-1\/4{width:25%}.md\:w-1\/3{width:33.333333%}.md\:w-1\/2{width:50%}.md\:space-x-6>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(1.5rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(1.5rem*var(--tw-space-x-reverse))}.md\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(0px*var(--tw-space-y-reverse));margin-top:calc(0px*(1 - var(--tw-space-y-reverse)))}.md\:space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(2rem*var(--tw-space-y-reverse));margin-top:calc(2rem*(1 - var(--tw-space-y-reverse)))}.md\:px-10{padding-left:2.5rem;padding-right:2.5rem}.md\:px-0{padding-left:0;padding-right:0}.md\:py-20{padding-bottom:5rem;padding-top:5rem}.md\:py-32{padding-bottom:8rem;padding-top:8rem}.md\:px-4{padding-left:1rem;padding-right:1rem}}@media (min-width:1024px){.lg\:container{width:100%}@media (min-width:640px){.lg\:container{max-width:640px}}@media (min-width:768px){.lg\:container{max-width:768px}}@media (min-width:1024px){.lg\:container{max-width:1024px}}@media (min-width:1280px){.lg\:container{max-width:1280px}}@media (min-width:1536px){.lg\:container{max-width:1536px}}.lg\:mx-auto{margin-left:auto;margin-right:auto}.lg\:mx-32{margin-left:8rem;margin-right:8rem}.lg\:w-1\/3{width:33.333333%}.lg\:px-12{padding-left:3rem;padding-right:3rem}.lg\:px-40{padding-left:10rem;padding-right:10rem}.lg\:pr-16{padding-right:4rem}}@media (min-width:1280px){.xl\:mx-48{margin-left:12rem;margin-right:12rem}.xl\:space-x-8>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(2rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(2rem*var(--tw-space-x-reverse))}}@media (min-width:1536px){.\32xl\:mx-60{margin-left:15rem;margin-right:15rem}}</style><title data-react-helmet="true">linhe0x0's blog | 根号三的博客</title><script data-react-helmet="true" async="" src="https://www.googletagmanager.com/gtag/js?id=UA-64863915-1"></script><script data-react-helmet="true">
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'UA-64863915-1');
</script><style type="text/css">
.anchor.before {
position: absolute;
top: 0;
left: 0;
transform: translateX(-100%);
padding-right: 4px;
}
.anchor.after {
display: inline-block;
padding-left: 4px;
}
h1 .anchor svg,
h2 .anchor svg,
h3 .anchor svg,
h4 .anchor svg,
h5 .anchor svg,
h6 .anchor svg {
visibility: hidden;
}
h1:hover .anchor svg,
h2:hover .anchor svg,
h3:hover .anchor svg,
h4:hover .anchor svg,
h5:hover .anchor svg,
h6:hover .anchor svg,
h1 .anchor:focus svg,
h2 .anchor:focus svg,
h3 .anchor:focus svg,
h4 .anchor:focus svg,
h5 .anchor:focus svg,
h6 .anchor:focus svg {
visibility: visible;
}
</style><script>
document.addEventListener("DOMContentLoaded", function(event) {
var hash = window.decodeURI(location.hash.replace('#', ''))
if (hash !== '') {
var element = document.getElementById(hash)
if (element) {
var scrollTop = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop
var clientTop = document.documentElement.clientTop || document.body.clientTop || 0
var offset = element.getBoundingClientRect().top + scrollTop - clientTop
// Wait for the browser to finish rendering before scrolling.
setTimeout((function() {
window.scrollTo(0, offset - 0)
}), 0)
}
}
})
</script><link as="script" rel="preload" href="/webpack-runtime-5f25a2aa31bea071b47b.js"/><link as="script" rel="preload" href="/framework-8422a4916cf7e29be454.js"/><link as="script" rel="preload" href="/app-8c74e0425dc1a5c7a9d7.js"/><link as="script" rel="preload" href="/a8cdfa104e15dfc27094a282fe21dd8f5a2a5967-f12fe78f317b16a55fc8.js"/><link as="script" rel="preload" href="/component---node-modules-gatsby-theme-mini-src-pages-index-jsx-231a104526c963727113.js"/><link as="fetch" rel="preload" href="/page-data/index/page-data.json" crossorigin="anonymous"/><link as="fetch" rel="preload" href="/page-data/sq/d/1923471915.json" crossorigin="anonymous"/><link as="fetch" rel="preload" href="/page-data/sq/d/2251655042.json" crossorigin="anonymous"/><link as="fetch" rel="preload" href="/page-data/app-data.json" crossorigin="anonymous"/></head><body><script>
void function() {
window.__onThemeChange = function() {}
var preferredTheme
try {
preferredTheme = localStorage.getItem('theme')
} catch (err) { }
function setTheme(newTheme) {
if (preferredTheme && document.body.classList.contains(preferredTheme)) {
document.body.classList.replace(preferredTheme, newTheme)
} else {
document.body.classList.add(newTheme)
}
window.__theme = newTheme
preferredTheme = newTheme
window.__onThemeChange(newTheme)
}
window.__setPreferredTheme = function(newTheme) {
setTheme(newTheme)
try {
localStorage.setItem('theme', newTheme)
} catch (err) {}
}
var darkQuery = window.matchMedia('(prefers-color-scheme: dark)')
darkQuery.addListener(function(e) {
window.__setPreferredTheme(e.matches ? 'dark' : 'light')
})
setTheme(preferredTheme || (darkQuery.matches ? 'dark' : 'light'))
}()
</script><div id="___gatsby"><div style="outline:none" tabindex="-1" id="gatsby-focus-wrapper"><div><nav class="fixed z-20 w-full transition-all duration-500 ease-in-out py-6"><div class="container mx-auto px-8"><div class="flex items-center justify-between"><div class="flex-none text-gray-900 dark:text-white font-bold"><a aria-current="page" class="" href="/">根号三</a></div><div class="flex divide-x"><ul class="flex space-x-2"><li class="transition rounded hover:bg-gray-200 dark:hover:bg-gray-800"><a aria-current="page" class="block px-6 py-2 font-bold text-gray-900 dark:text-white" href="/">HOME</a></li><li class="transition rounded hover:bg-gray-200 dark:hover:bg-gray-800"><a class="block px-6 py-2 font-bold text-gray-900 dark:text-white" href="/tags">TAG</a></li></ul><div class="ml-2"><div class="transition mx-2 rounded hover:bg-gray-200 dark:hover:bg-gray-800"><span class="block px-3 py-2 dark:text-gray-100 cursor-pointer"><svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z"></path></svg></span></div></div></div></div></div></nav><div class="header relative bg-gray-50 dark:bg-gray-900"><div class="absolute left-0 top-0 w-full h-full"><img class="w-full h-full object-cover" src="/cover.svg" alt="/cover.svg"/></div><div class="relative container mx-auto px-2 md:px-10 lg:px-40 text-center text-gray-900 dark:text-white py-56"><h1 class="py-8 text-6xl">根号三</h1><h2 class="font-normal text-3xl">O ever youthful, O ever weeping.</h2></div></div><div class="relative pt-20 pb-32 dark:bg-gray-900 bg-opacity-50"><div class="container mx-auto px-6 md:px-10 lg:px-12"><div class="flex flex-wrap"><div class="flex flex-col w-full md:w-1/2 lg:w-1/3 px-3 md:px-4 space-y-6 md:space-y-8"><div class="bg-gray-50 dark:bg-gray-800 rounded-md"><a href="/posts/2018/03/20/dont-fear-the-rebase/"><div class="h-52 bg-gray-100 dark:bg-gray-800 rounded-t-md overflow-hidden relative"><img class="block w-full h-full object-cover rounded-t-md" src="https://hackernoon.com/hn-images/1*09KWDWnv1JDeZ-LEkXpL7g.png" alt=""/><div class="absolute left-0 top-0 flex items-center justify-center w-full h-full rounded-t-md cursor-pointer opacity-0 hover:opacity-100 bg-gradient-to-r from-indigo-600/80 to-blue-600/80 hover:backdrop-blur transition-all"><div class="flex items-center text-white"><span class="mr-2">立即阅读</span><span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="5" y1="12" x2="19" y2="12"></line><polyline points="12 5 19 12 12 19"></polyline></svg></span></div></div></div><div class="px-6 py-4"><h4 class="mb-3 py-1 text-xl truncate dark:text-gray-100">不要害怕 Rebase</h4><p class=" mt-2 mb-3 text-sm text-gray-500">原文地址:Don’t Fear The Rebase 原文作者:本文已获原作者 Jared Ready 授权,转载请注明出处。 译者:根号三 Git 的 命令是 Git 用户感到害怕和迷惑的一个常见原因,特别是那些来自可能更集中的版本控制系统的用户。这很正常。Rebase…</p><div class="flex items-center justify-between"><div></div><p class="text-sm text-gray-400">2018-03-20</p></div></div></a></div><div class="bg-gray-50 dark:bg-gray-800 rounded-md"><a href="/posts/2017/02/10/a-5-minute-intro-to-styled-components/"><div class="h-52 bg-gray-100 dark:bg-gray-800 rounded-t-md overflow-hidden relative"><img class="block w-full h-full object-cover rounded-t-md" src="https://camo.githubusercontent.com/4cf7254acbf60caa799fadead24a8e35839b84af/68747470733a2f2f63646e2d696d616765732d312e6d656469756d2e636f6d2f6d61782f323030302f312a4449466a69345a6d4a61345f483345706247325841772e706e67" alt=""/><div class="absolute left-0 top-0 flex items-center justify-center w-full h-full rounded-t-md cursor-pointer opacity-0 hover:opacity-100 bg-gradient-to-r from-indigo-600/80 to-blue-600/80 hover:backdrop-blur transition-all"><div class="flex items-center text-white"><span class="mr-2">立即阅读</span><span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="5" y1="12" x2="19" y2="12"></line><polyline points="12 5 19 12 12 19"></polyline></svg></span></div></div></div><div class="px-6 py-4"><h4 class="mb-3 py-1 text-xl truncate dark:text-gray-100">一个关于 Styled Components 的五分钟介绍</h4><p class=" mt-2 mb-3 text-sm text-gray-500">原文地址:A 5-minute Intro to Styled Components 原文作者:Sacha Greif 译文出自:掘金翻译计划 译者:根号三 校对者:Tina92、lovelyCiTY CSS 是一个很神奇的语言,你可以在 1…</p><div class="flex items-center justify-between"><div></div><p class="text-sm text-gray-400">2017-02-10</p></div></div></a></div><div class="bg-gray-50 dark:bg-gray-800 rounded-md"><a href="/posts/2016/01/23/implicit-type-conversion/"><div class="h-52 bg-gray-100 dark:bg-gray-800 rounded-t-md overflow-hidden relative"><img class="block w-full h-full object-cover rounded-t-md" alt=""/><div class="absolute left-0 top-0 flex items-center justify-center w-full h-full rounded-t-md cursor-pointer opacity-0 hover:opacity-100 bg-gradient-to-r from-indigo-600/80 to-blue-600/80 hover:backdrop-blur transition-all"><div class="flex items-center text-white"><span class="mr-2">立即阅读</span><span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="5" y1="12" x2="19" y2="12"></line><polyline points="12 5 19 12 12 19"></polyline></svg></span></div></div></div><div class="px-6 py-4"><h4 class="mb-3 py-1 text-xl truncate dark:text-gray-100">聊一聊 JS 中的『隐式类型转换』</h4><p class=" mt-2 mb-3 text-sm text-gray-500">…</p><div class="flex items-center justify-between"><div></div><p class="text-sm text-gray-400">2016-01-23</p></div></div></a></div></div><div class="flex flex-col w-full md:w-1/2 lg:w-1/3 px-3 md:px-4 space-y-6 md:space-y-8"><div class="bg-gray-50 dark:bg-gray-800 rounded-md"><a href="/posts/2018/03/16/random-number-in-golang/"><div class="h-52 bg-gray-100 dark:bg-gray-800 rounded-t-md overflow-hidden relative"><img class="block w-full h-full object-cover rounded-t-md" alt=""/><div class="absolute left-0 top-0 flex items-center justify-center w-full h-full rounded-t-md cursor-pointer opacity-0 hover:opacity-100 bg-gradient-to-r from-indigo-600/80 to-blue-600/80 hover:backdrop-blur transition-all"><div class="flex items-center text-white"><span class="mr-2">立即阅读</span><span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="5" y1="12" x2="19" y2="12"></line><polyline points="12 5 19 12 12 19"></polyline></svg></span></div></div></div><div class="px-6 py-4"><h4 class="mb-3 py-1 text-xl truncate dark:text-gray-100">GoLang 中的随机数</h4><p class=" mt-2 mb-3 text-sm text-gray-500">随机数我们都知道,就是计算机通过某种算法,“随机”的生成一个数字。很多编程语言都有内置的方法来生成随机数,那么 GoLang…</p><div class="flex items-center justify-between"><div></div><p class="text-sm text-gray-400">2018-03-16</p></div></div></a></div><div class="bg-gray-50 dark:bg-gray-800 rounded-md"><a href="/posts/2016/06/13/jquery-3-0-final-released/"><div class="h-52 bg-gray-100 dark:bg-gray-800 rounded-t-md overflow-hidden relative"><img class="block w-full h-full object-cover rounded-t-md" alt=""/><div class="absolute left-0 top-0 flex items-center justify-center w-full h-full rounded-t-md cursor-pointer opacity-0 hover:opacity-100 bg-gradient-to-r from-indigo-600/80 to-blue-600/80 hover:backdrop-blur transition-all"><div class="flex items-center text-white"><span class="mr-2">立即阅读</span><span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="5" y1="12" x2="19" y2="12"></line><polyline points="12 5 19 12 12 19"></polyline></svg></span></div></div></div><div class="px-6 py-4"><h4 class="mb-3 py-1 text-xl truncate dark:text-gray-100">jQuery 3.0 终于发布啦!</h4><p class=" mt-2 mb-3 text-sm text-gray-500">jQuery 3.0 现在发布啦!这个版本从 2014 年 10 月就已经在开始开发了。我们的目标是创建一个更轻量、更快的 jQuery(带有向后兼容的思想)。我们删除了所有的兼容旧版本 IE 浏览器的解决办法,并在一些有意义的地方利用了一些较为现代的 web APIs。它是…</p><div class="flex items-center justify-between"><div></div><p class="text-sm text-gray-400">2016-06-13</p></div></div></a></div><div class="bg-gray-50 dark:bg-gray-800 rounded-md"><a href="/posts/2015/12/26/javascript-developer-survey-results/"><div class="h-52 bg-gray-100 dark:bg-gray-800 rounded-t-md overflow-hidden relative"><img class="block w-full h-full object-cover rounded-t-md" alt=""/><div class="absolute left-0 top-0 flex items-center justify-center w-full h-full rounded-t-md cursor-pointer opacity-0 hover:opacity-100 bg-gradient-to-r from-indigo-600/80 to-blue-600/80 hover:backdrop-blur transition-all"><div class="flex items-center text-white"><span class="mr-2">立即阅读</span><span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="5" y1="12" x2="19" y2="12"></line><polyline points="12 5 19 12 12 19"></polyline></svg></span></div></div></div><div class="px-6 py-4"><h4 class="mb-3 py-1 text-xl truncate dark:text-gray-100">JavaScript 开发者年度调查报告</h4><p class=" mt-2 mb-3 text-sm text-gray-500">原文链接 : JavaScript Developer Survey Results 原文作者 : ponyfoo 译文出自 : 掘金翻译计划 译者 : sqrthree(根号三) 校对者: Zhangdroid 截止目前有超过了 500…</p><div class="flex items-center justify-between"><div></div><p class="text-sm text-gray-400">2015-12-26</p></div></div></a></div></div><div class="flex flex-col w-full md:w-1/2 lg:w-1/3 px-3 md:px-4 space-y-6 md:space-y-8"><div class="bg-gray-50 dark:bg-gray-800 rounded-md"><a href="/posts/2017/03/15/what-it-feels-like-to-be-an-open-source-maintainer/"><div class="h-52 bg-gray-100 dark:bg-gray-800 rounded-t-md overflow-hidden relative"><img class="block w-full h-full object-cover rounded-t-md" alt=""/><div class="absolute left-0 top-0 flex items-center justify-center w-full h-full rounded-t-md cursor-pointer opacity-0 hover:opacity-100 bg-gradient-to-r from-indigo-600/80 to-blue-600/80 hover:backdrop-blur transition-all"><div class="flex items-center text-white"><span class="mr-2">立即阅读</span><span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="5" y1="12" x2="19" y2="12"></line><polyline points="12 5 19 12 12 19"></polyline></svg></span></div></div></div><div class="px-6 py-4"><h4 class="mb-3 py-1 text-xl truncate dark:text-gray-100">作为一个开源软件的作者是一种什么样的感受?</h4><p class=" mt-2 mb-3 text-sm text-gray-500">原文地址:What it feels like to be an open-source maintainer 原文作者:Nolan Lawson…</p><div class="flex items-center justify-between"><div></div><p class="text-sm text-gray-400">2017-03-15</p></div></div></a></div><div class="bg-gray-50 dark:bg-gray-800 rounded-md"><a href="/posts/2016/02/29/debugging-nodejs-in-chrome-devtools/"><div class="h-52 bg-gray-100 dark:bg-gray-800 rounded-t-md overflow-hidden relative"><img class="block w-full h-full object-cover rounded-t-md" alt=""/><div class="absolute left-0 top-0 flex items-center justify-center w-full h-full rounded-t-md cursor-pointer opacity-0 hover:opacity-100 bg-gradient-to-r from-indigo-600/80 to-blue-600/80 hover:backdrop-blur transition-all"><div class="flex items-center text-white"><span class="mr-2">立即阅读</span><span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="5" y1="12" x2="19" y2="12"></line><polyline points="12 5 19 12 12 19"></polyline></svg></span></div></div></div><div class="px-6 py-4"><h4 class="mb-3 py-1 text-xl truncate dark:text-gray-100">在 Chrome 开发者工具中调试 node.js</h4><p class=" mt-2 mb-3 text-sm text-gray-500">原文链接 : Debugging Node.js in Chrome DevTools 原文作者 : MATT DESLAURIERS 译文出自 : 掘金翻译计划 译者 : sqrthree (根号三) 校对者: shenxn、CoderBOBO…</p><div class="flex items-center justify-between"><div></div><p class="text-sm text-gray-400">2016-02-29</p></div></div></a></div><div class="bg-gray-50 dark:bg-gray-800 rounded-md"><a href="/posts/2015/11/12/jquery3-0-alpha-versions-released/"><div class="h-52 bg-gray-100 dark:bg-gray-800 rounded-t-md overflow-hidden relative"><img class="block w-full h-full object-cover rounded-t-md" alt=""/><div class="absolute left-0 top-0 flex items-center justify-center w-full h-full rounded-t-md cursor-pointer opacity-0 hover:opacity-100 bg-gradient-to-r from-indigo-600/80 to-blue-600/80 hover:backdrop-blur transition-all"><div class="flex items-center text-white"><span class="mr-2">立即阅读</span><span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="5" y1="12" x2="19" y2="12"></line><polyline points="12 5 19 12 12 19"></polyline></svg></span></div></div></div><div class="px-6 py-4"><h4 class="mb-3 py-1 text-xl truncate dark:text-gray-100">jQuery 3.0 以及兼容版的 Alpha 版本发布</h4><p class=" mt-2 mb-3 text-sm text-gray-500">从我们做出上一个重大的版本发布已经过去很长时间了,所以你理应再得到一个新版本。因此我们非常高兴的宣布 的第一个 版本的发布。 尽管版本号已经到了 3.…</p><div class="flex items-center justify-between"><div></div><p class="text-sm text-gray-400">2015-11-12</p></div></div></a></div></div></div></div><div class="-mt-12 flex justify-center"><div class="absolute b-0 h-32 pt-96 box-content inset-x-0 bottom-0 flex justify-center bg-gradient-to-t from-white pointer-events-none dark:from-gray-900"></div><a class="py-2 px-6 text-gray-400 hover:text-gray-600 dark:hover:text-gray-200" href="/pages/2#page-2"><button class="relative bg-gray-900 hover:bg-gray-700 focus:outline-none focus:ring-2 focus:ring-gray-400 focus:ring-offset-2 text-sm text-white font-bold h-12 px-8 rounded-lg flex items-center dark:bg-gray-700 dark:hover:bg-gray-600 pointer-events-auto">查看更多</button></a></div></div><footer class="relative"><div class="bg-black px-4 py-16"><div class="container mx-auto text-gray-200"><h6 class="text-lg">内容许可</h6><p class="py-2 text-sm">除特别说明外,本站所有内容均采用<a href="https://creativecommons.org/licenses/by-nc-nd/4.0/deed.zh" target="_blank" rel="noreferrer"> 署名-非商业性使用-禁止演绎 4.0 国际 (CC BY-NC-ND 4.0) </a>进行许可。</p></div></div><div class="bg-gray-900 px-4 py-3 text-xs text-right"><p class="container mx-auto text-gray-300"><strong class="font-normal"><a href="https://github.com/sqrthree" target="_blank" rel="noreferrer">@根号三 </a></strong><strong class="font-normal">Power by<a href="https://www.gatsbyjs.org" target="_blank" rel="noreferrer"> Gatsby</a></strong></p></div></footer></div></div><div id="gatsby-announcer" style="position:absolute;top:0;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0" aria-live="assertive" aria-atomic="true"></div></div><script id="gatsby-script-loader">/*<![CDATA[*/window.pagePath="/";window.___webpackCompilationHash="6dc0eb21b6d8c7754bbd";/*]]>*/</script><script id="gatsby-chunk-mapping">/*<![CDATA[*/window.___chunkMapping={"polyfill":["/polyfill-4bae0ebd19da6d624f9b.js"],"app":["/app-8c74e0425dc1a5c7a9d7.js"],"component---node-modules-gatsby-theme-mini-src-pages-404-jsx":["/component---node-modules-gatsby-theme-mini-src-pages-404-jsx-2144a3340b79f2154f89.js"],"component---node-modules-gatsby-theme-mini-src-pages-index-jsx":["/component---node-modules-gatsby-theme-mini-src-pages-index-jsx-231a104526c963727113.js"],"component---node-modules-gatsby-theme-mini-src-pages-tags-jsx":["/component---node-modules-gatsby-theme-mini-src-pages-tags-jsx-6b7ab5467a418e47f377.js"],"component---node-modules-gatsby-theme-mini-src-templates-post-jsx":["/component---node-modules-gatsby-theme-mini-src-templates-post-jsx-d1fbcd510d24b67df13b.js"]};/*]]>*/</script><script src="/polyfill-4bae0ebd19da6d624f9b.js" nomodule=""></script><script src="/component---node-modules-gatsby-theme-mini-src-pages-index-jsx-231a104526c963727113.js" async=""></script><script src="/a8cdfa104e15dfc27094a282fe21dd8f5a2a5967-f12fe78f317b16a55fc8.js" async=""></script><script src="/app-8c74e0425dc1a5c7a9d7.js" async=""></script><script src="/framework-8422a4916cf7e29be454.js" async=""></script><script src="/webpack-runtime-5f25a2aa31bea071b47b.js" async=""></script></body></html>