-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.html
154 lines (141 loc) · 89 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
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
<!DOCTYPE html><html lang="ko"><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"/><style data-href="/styles.1cfadd536e0ed4ee026c.css">pre[class*=language-].line-numbers{position:relative;padding-left:3.8em;counter-reset:linenumber}pre[class*=language-].line-numbers>code{position:relative;white-space:inherit}.line-numbers .line-numbers-rows{position:absolute;pointer-events:none;top:0;font-size:100%;left:-3.8em;width:3em;letter-spacing:-1px;border-right:1px solid #999;-webkit-user-select:none;-ms-user-select:none;user-select:none}.line-numbers-rows>span{pointer-events:none;display:block;counter-increment:linenumber}.line-numbers-rows>span:before{content:counter(linenumber);color:#999;display:block;padding-right:.8em;text-align:right}</style><meta name="generator" content="Gatsby 2.23.3"/><link rel="icon" href="/favicon-32x32.png?v=83455313757f7d5558ecbb4d2c6744cf"/><link rel="manifest" href="/manifest.webmanifest"/><meta name="theme-color" content="#0c9ee4"/><link rel="apple-touch-icon" sizes="48x48" href="/icons/icon-48x48.png?v=83455313757f7d5558ecbb4d2c6744cf"/><link rel="apple-touch-icon" sizes="72x72" href="/icons/icon-72x72.png?v=83455313757f7d5558ecbb4d2c6744cf"/><link rel="apple-touch-icon" sizes="96x96" href="/icons/icon-96x96.png?v=83455313757f7d5558ecbb4d2c6744cf"/><link rel="apple-touch-icon" sizes="144x144" href="/icons/icon-144x144.png?v=83455313757f7d5558ecbb4d2c6744cf"/><link rel="apple-touch-icon" sizes="192x192" href="/icons/icon-192x192.png?v=83455313757f7d5558ecbb4d2c6744cf"/><link rel="apple-touch-icon" sizes="256x256" href="/icons/icon-256x256.png?v=83455313757f7d5558ecbb4d2c6744cf"/><link rel="apple-touch-icon" sizes="384x384" href="/icons/icon-384x384.png?v=83455313757f7d5558ecbb4d2c6744cf"/><link rel="apple-touch-icon" sizes="512x512" href="/icons/icon-512x512.png?v=83455313757f7d5558ecbb4d2c6744cf"/><style type="text/css">
.anchor-header.before {
position: absolute;
top: 0;
left: 0;
transform: translateX(-100%);
padding-right: 4px;
}
.anchor-header.after {
display: inline-block;
padding-left: 4px;
}
h1 .anchor-header svg,
h2 .anchor-header svg,
h3 .anchor-header svg,
h4 .anchor-header svg,
h5 .anchor-header svg,
h6 .anchor-header svg {
visibility: hidden;
}
h1:hover .anchor-header svg,
h2:hover .anchor-header svg,
h3:hover .anchor-header svg,
h4:hover .anchor-header svg,
h5:hover .anchor-header svg,
h6:hover .anchor-header svg,
h1 .anchor-header:focus svg,
h2 .anchor-header:focus svg,
h3 .anchor-header:focus svg,
h4 .anchor-header:focus svg,
h5 .anchor-header:focus svg,
h6 .anchor-header: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 rel="preconnect" href="https://www.google-analytics.com"/><link rel="dns-prefetch" href="https://www.google-analytics.com"/><title data-react-helmet="true">Blausee 기술 블로그</title><link data-react-helmet="true" rel="canonical" href="https://wwlee94.github.io"/><link data-react-helmet="true" rel="stylesheet" type="text/css" href="https://cdn.rawgit.com/innks/NanumSquareRound/master/nanumsquareround.min.css"/><meta data-react-helmet="true" name="description" content="📚'기억보다 기록을' 목표로
공부한 내용을 정리하는 블로그 ✔︎"/><meta data-react-helmet="true" property="og:title" content="Blausee 기술 블로그"/><meta data-react-helmet="true" property="og:description" content="📚'기억보다 기록을' 목표로
공부한 내용을 정리하는 블로그 ✔︎"/><meta data-react-helmet="true" property="og:image" content="https://wwlee94.github.io/images/ogp.png"/><meta data-react-helmet="true" property="og:type" content="website"/><meta data-react-helmet="true" name="google-site-verification" content="OxCmDAbFt_oP2EzYabwJiA4KNndMwAcKMQdvpa8vL6w"/><meta data-react-helmet="true" name="naver-site-verification" content="07c520f56835b243f94776be22c4cbcb671bbfe5"/><script data-react-helmet="true" type="application/ld+json">{"@context":"http://schema.org","@type":"WebSite","image":{"@type":"ImageObject","url":"https://wwlee94.github.io/images/ogp.png","height":1200,"width":630},"url":"https://wwlee94.github.io","name":"Blausee 기술 블로그","author":{"@type":"Person","name":"wwlee94"},"description":"📚'기억보다 기록을' 목표로 \n 공부한 내용을 정리하는 블로그 ✔︎","publisher":{"@type":"Organization","name":"wwlee94","logo":{"@type":"ImageObject","url":"https://wwlee94.github.io/images/avatar.png","width":150,"height":150}}}</script><style data-styled="RRmay eYfJyt fARCIn iRqtPU jzKyDb ghKhoM itpjOs gKrmCb iqwDhc beJVrs dTIPbZ gbDaBa hYEGGd ewFmUv hHuvPI eVYoiM PECYf gobrdQ huBels gJRwpF hTwKlC hEfKMb qFAAr gQCnFr" data-styled-version="4.4.1">
/* sc-component-id: sc-global-4288524390 */
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline;-webkit-tap-highlight-color:rgba(0,0,0,0);} html,body{height:100%;} body{--bg:#f5f5f5;--textNormal:#21242d;--headerBackground:#ffffff;--bioBackground:#f5f5f5;--bioColor:rgba(0,0,0,0.87);--bioHighlight:#000000;--categoryHeader:rgba(0,0,0,0.87);--categoryColor:rgba(0,0,0,0.87);--categotyImgage:linear-gradient(-45deg,#ffa649,#f7645b,#805ed4);--postCardColor:rgba(0,0,0,0.87);--postCardHighlight:rgba(0,0,0,0.08);--postCardEmoji:#ffffff;--postCardDivideLine:#969fa7;--tableOfContentsFocusColor:rgb(33,37,41) background-color:var(--bg);color:var(--textNormal);line-height:1.6;font-size:100%;font-weight:400;font-family:"Helvetica Neue",Helvetica,Arial,"Hiragino Kaku Gothic ProN","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,sans-serif;-webkit-text-size-adjust:100%;} body.dark{--bg:#21242d;--textNormal:#21242d;--headerBackground:#3B71DA;--bioBackground:#313746;--bioColor:#ffffff;--bioHighlight:#ffffff;--categoryHeader:#ffffff;--categoryColor:#727d86;--categotyImgage:#313746;--postCardColor:#ffffff;--postCardHighlight:#313746;--postCardEmoji:#313746;--postCardDivideLine:#313746;--tableOfContentsFocusColor:#f1f4f7;background-color:var(--bg);color:var(--textNormal);line-height:1.6;font-size:100%;font-weight:400;font-family:"Helvetica Neue",Helvetica,Arial,"Hiragino Kaku Gothic ProN","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,sans-serif;-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;} article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block;} a{color:#20a8ea;-webkit-text-decoration:none;text-decoration:none;word-break:break-all;-webkit-transition:.2s;transition:.2s;} a:focus{outline:none;} ol,ul,li{list-style:none;} blockquote,q{quotes:none;} blockquote::before,blockquote::after,q::before,q::after{content:'';content:none;} table{border-collapse:collapse;border-spacing:0;} *{box-sizing:border-box;} img{max-width:100%;} button,input{font-family:inherit;font-size:inherit;background:none;border:none;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:0;resize:none;} button:focus,input:focus{outline:none;}
/* sc-component-id: ContentWrapper__IndexContent-sc-11a8f56-0 */
.eYfJyt{max-width:1250px;margin:0 auto;padding:0 1.5em;} @media screen and (max-width:950px){.eYfJyt{max-width:760px;}} @media screen and (max-width:500px){.eYfJyt{padding:0 20px;}}
/* sc-component-id: Footer__FooterContent-zn4blm-0 */
.qFAAr{padding:0.1em 0;}
/* sc-component-id: Footer__FooterInner-zn4blm-1 */
.gQCnFr{margin-top:3em;text-align:center;padding:1.5em;border-top:solid 1px #313746;color:#727d86;font-size:14px;} .gQCnFr a{color:#727d86;-webkit-text-decoration:underline;text-decoration:underline;}
/* sc-component-id: ColorModeToggle__ToggleButton-pbocc9-0 */
.iRqtPU{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;margin-left:auto;cursor:pointer;} .iRqtPU .icon-sun{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;text-align:center;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;height:100%;color:#222;} .iRqtPU .icon-moon{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;text-align:center;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;height:100%;color:#fff;}
/* sc-component-id: Header__HeaderTag-ewwnf4-0 */
.RRmay{background:var(--headerBackground);width:100%;box-shadow:rgba(0,0,0,0.2) 0px 3px 3px -2px,rgba(0,0,0,0.14) 0px 3px 4px 0px,rgba(0,0,0,0.12) 0px 1px 8px 0px;}
/* sc-component-id: Header__HeaderInner-ewwnf4-1 */
.fARCIn{position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:5px;} .fARCIn .logo{width:200px;height:55px;} @media screen and (max-width:500px){.fARCIn .logo{margin:0 auto;}} .fARCIn .message-link{position:absolute;right:0;top:7px;display:block;width:34px;} .fARCIn .message-link:hover{top:5px;}
/* sc-component-id: Layout__Content-sc-2dvbv0-0 */
.jzKyDb{margin-top:2em;min-height:85vh;} @media screen and (max-width:950px){.jzKyDb{display:block;}} @media screen and (max-width:500px){.jzKyDb{margin-top:0;}}
/* sc-component-id: Bio__BioWrapper-sc-1p2fzdk-0 */
.hHuvPI{position:-webkit-sticky;position:sticky;top:2em;width:290px;padding:1.5em;font-size:15.5px;background:var(--bioBackground);border-radius:4px;box-shadow:0 2px 4px rgba(0,0,0,0.4);} @media screen and (max-width:950px){.hHuvPI{position:relative;margin:2em 0;width:100%;}} @media screen and (max-width:500px){.hHuvPI{padding:1.3em 1em;}}
/* sc-component-id: Bio__AvatarImage-sc-1p2fzdk-1 */
.PECYf{display:block;width:70px;height:70px;border-radius:50%;}
/* sc-component-id: Bio__BioHeader-sc-1p2fzdk-2 */
.eVYoiM{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}
/* sc-component-id: Bio__BioName-sc-1p2fzdk-3 */
.gobrdQ{margin-left:10px;font-weight:700;-webkit-letter-spacing:1px;-moz-letter-spacing:1px;-ms-letter-spacing:1px;letter-spacing:1px;font-size:1.3em;color:var(--bioColor);}
/* sc-component-id: Bio__BioMain-sc-1p2fzdk-4 */
.huBels{margin-top:1em;}
/* sc-component-id: Bio__BioText-sc-1p2fzdk-5 */
.gJRwpF{color:var(--bioColor);font-size:0.92em;}
/* sc-component-id: Bio__BioLinks-sc-1p2fzdk-6 */
.hTwKlC{margin-top:1.5em;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;color:var(--bioColor);text-align:center;max-width:244px;} .hTwKlC img{display:block;margin:0 auto;width:40px;height:33px;}
/* sc-component-id: Bio__BioLink-sc-1p2fzdk-7 */
.hEfKMb{width:33.3%;display:block;font-weight:700;font-size:0.9em;line-height:30px;color:#727d86;-webkit-letter-spacing:0.5px;-moz-letter-spacing:0.5px;-ms-letter-spacing:0.5px;letter-spacing:0.5px;} .hEfKMb:hover{color:var(--bioHighlight);}
/* sc-component-id: CategoryMenu__Nav-lfwotq-0 */
.gKrmCb{display:block;margin:0;padding:0 0 2em;} @media screen and (max-width:500px){.gKrmCb{padding:1em 0;}}
/* sc-component-id: CategoryMenu__CategoryItemList-lfwotq-1 */
.iqwDhc{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;} @media screen and (max-width:500px){.iqwDhc{margin:0 -20px;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;}.iqwDhc::-webkit-scrollbar{display:none;}.iqwDhc:after{content:'';width:40px;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;}}
/* sc-component-id: CategoryMenu__CategoryItem-lfwotq-2 */
.beJVrs{width:70px;margin:0 20px 0 0;text-align:center;} @media screen and (max-width:500px){.beJVrs{width:60px;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;margin:0 0 0 15px;}} .beJVrs .category-item__link{color:#fff;} .beJVrs .category-item__image{padding:2px;background:var(--categotyImgage);border-radius:50%;position:relative;} .beJVrs .category-item__image img{position:relative;background:var(--categotyImgage);border-radius:50%;display:block;z-index:2;} .beJVrs .category-item__image img .cactus{fill:#fff000;} .beJVrs .category-item__image .cactus{fill:#fff000;} .beJVrs .category-item__name{margin-top:5px;font-size:13px;font-weight:700;-webkit-letter-spacing:0.5px;-moz-letter-spacing:0.5px;-ms-letter-spacing:0.5px;letter-spacing:0.5px;color:var(--categoryColor);} @media screen and (max-width:500px){.beJVrs .category-item__name{font-size:12px;}} .beJVrs.active .category-item__image:after{content:'';position:absolute;display:block;left:0;top:0;width:100%;height:100%;border-radius:50%;background:linear-gradient(-45deg,#ffa649,#f7645b,#805ed4);-webkit-animation:rotating 2s linear infinite;animation:rotating 2s linear infinite;} .beJVrs.active img{border:solid 1.5px var(--bg);} .beJVrs.active .cactus{fill:#fff;} @-webkit-keyframes rotating{from{-webkit-transform:rotate(0deg);-ms-transform:rotate(0deg);transform:rotate(0deg);}to{-webkit-transform:rotate(360deg);-ms-transform:rotate(360deg);transform:rotate(360deg);}} @keyframes rotating{from{-webkit-transform:rotate(0deg);-ms-transform:rotate(0deg);transform:rotate(0deg);}to{-webkit-transform:rotate(360deg);-ms-transform:rotate(360deg);transform:rotate(360deg);}}
/* sc-component-id: MainWrapper__IndexWrapper-fdnybq-0 */
.ghKhoM{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;-webkit-align-items:flex-start;-webkit-box-align:flex-start;-ms-flex-align:flex-start;align-items:flex-start;margin-top:2em;min-height:85vh;} @media screen and (max-width:950px){.ghKhoM{display:block;}} @media screen and (max-width:500px){.ghKhoM{margin-top:0;}}
/* sc-component-id: MainWrapper__ContentsWrapper-fdnybq-1 */
.itpjOs{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;width:calc(100% - 290px - 40px);margin-right:40px;} @media screen and (max-width:950px){.itpjOs{width:100%;}}
/* sc-component-id: CategoryLabel__Wrapper-m6lbf0-0 */
.ewFmUv .category-text{padding:0.3em 1em;display:inline-block;display:inline;padding:3px 6px;line-height:1.2;font-size:12px;border-radius:2px;font-weight:700;color:#fff;} @media screen and (max-width:950px){.ewFmUv .category-text{font-size:11px;padding:2.5px 6px;}}
/* sc-component-id: PostCard__PostCardWrapper-sc-1tm6sq-0 */
.dTIPbZ .post-card-link{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:1.4em 0;-webkit-transition:all 0.3s ease-in-out 0s;transition:all 0.3s ease-in-out 0s;color:var(--postCardColor);border-bottom:solid 1px var(--postCardDivideLine);} .dTIPbZ .post-card-link:hover{background:var(--postCardHighlight);} @media screen and (max-width:950px){.dTIPbZ .post-card-link{padding:1em 0;}}
/* sc-component-id: PostCard__PostCardEmoji-sc-1tm6sq-1 */
.gbDaBa{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;margin:0 0 0 10px;width:90px;height:90px;background:var(--postCardEmoji);box-shadow:0 2px 4px rgba(0,0,0,0.4);border-radius:4px;font-size:50px;} .gbDaBa img{width:55px;height:55px;} @media screen and (max-width:950px){.gbDaBa{margin:0;width:70px;height:70px;}.gbDaBa img{width:40px;height:40px;}}
/* sc-component-id: PostCard__PostCardContent-sc-1tm6sq-2 */
.hYEGGd{width:calc(100% - 90px);padding-left:25px;padding-top:0.2em;} .hYEGGd h3{font-size:1.3em;font-weight:700;line-height:1.4;} .hYEGGd time{display:block;margin-top:0.2em;margin-bottom:0.2em;-webkit-letter-spacing:0.05em;-moz-letter-spacing:0.05em;-ms-letter-spacing:0.05em;letter-spacing:0.05em;font-size:0.9em;color:#727d86;} @media screen and (max-width:950px){.hYEGGd{width:calc(100% - 70px);padding-left:15px;}.hYEGGd h3{font-size:16.5px;}.hYEGGd time{font-size:12px;margin-bottom:0;}}</style><link rel="sitemap" type="application/xml" href="/sitemap.xml"/><link as="script" rel="preload" href="/webpack-runtime-cce8e936c5dadeac0036.js"/><link as="script" rel="preload" href="/framework-59a9ef51c55d9b62f7de.js"/><link as="script" rel="preload" href="/styles-09367947dddffb36886c.js"/><link as="script" rel="preload" href="/app-89429f537d9a1df97907.js"/><link as="script" rel="preload" href="/de71a805-ab927e1633c63597cfb4.js"/><link as="script" rel="preload" href="/1bfc9850-195fa7a09fc2744fd99e.js"/><link as="script" rel="preload" href="/252f366e-914e4d372a4f086759be.js"/><link as="script" rel="preload" href="/53b27b57f60ee3e1ca57a66cde9add975dffb161-93fa836e42eda3f94876.js"/><link as="script" rel="preload" href="/e51bce8a6a1e2f80f21b6ba026f4a8af0763000b-7cc60d64b84b523b8c8b.js"/><link as="script" rel="preload" href="/component---src-pages-index-tsx-10d6ca52cb891d226318.js"/><link as="fetch" rel="preload" href="/page-data/index/page-data.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 class="App" style="background-color:var(--bg);color:var(--textNormal);transition:color 0.2s ease-out, background 0.2s ease-out"><header class="Header__HeaderTag-ewwnf4-0 RRmay"><div class="ContentWrapper__IndexContent-sc-11a8f56-0 eYfJyt"><div class="Header__HeaderInner-ewwnf4-1 fARCIn"><a aria-current="page" class="logo-link" href="/"><img class="logo" src="/static/logo-42e9962f0784e14369fff245074e7612.png" alt="Blausee 기술 블로그"/></a><div class="ColorModeToggle__ToggleButton-pbocc9-0 iRqtPU"><div style="position:relative;display:inline-block;text-align:left;opacity:1;direction:ltr;border-radius:13px;-webkit-transition:opacity 0.25s;-moz-transition:opacity 0.25s;transition:opacity 0.25s;touch-action:none;-webkit-tap-highlight-color:rgba(0, 0, 0, 0);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none"><div class="react-switch-bg" style="height:26px;width:54px;margin:0;position:relative;background:#d9dfe2;border-radius:13px;cursor:pointer;-webkit-transition:background 0.25s;-moz-transition:background 0.25s;transition:background 0.25s"><div style="height:26px;width:29px;position:relative;opacity:0;pointer-events:none;-webkit-transition:opacity 0.25s;-moz-transition:opacity 0.25s;transition:opacity 0.25s"><div class="icon-moon checkedIcon"><svg width="24" height="24" fill="#EFDC05"><rect width="24" height="24" fill="none" rx="0" ry="0"></rect><path fill-rule="evenodd" clip-rule="evenodd" d="M14.8102 3.2H13.8202C13.4902 3.2 13.2302 2.93 13.2302 2.6C13.2302 2.27 13.5002 2 13.8302 2H16.2602C16.5002 2 16.7202 2.15 16.8102 2.37C16.9002 2.59 16.8502 2.85 16.6802 3.02L15.2702 4.43H16.2602C16.5902 4.43 16.8602 4.7 16.8602 5.03C16.8602 5.36 16.5902 5.63 16.2602 5.63H13.8202C13.5802 5.63 13.3602 5.48 13.2702 5.26C13.1802 5.04 13.2302 4.78 13.4002 4.61L14.8102 3.2ZM20.1401 11.0101H21.1301C21.4601 11.0101 21.7401 11.2801 21.7401 11.6101C21.7401 11.9401 21.4701 12.2101 21.1401 12.2101H18.7001C18.4601 12.2101 18.2401 12.0601 18.1501 11.8401C18.0601 11.6201 18.1101 11.3601 18.2801 11.1901L19.6901 9.78008H18.7001C18.3701 9.78008 18.1001 9.51008 18.1001 9.18008C18.1001 8.85008 18.3701 8.58008 18.7001 8.58008H21.1301C21.3701 8.58008 21.5901 8.73008 21.6801 8.95008C21.7701 9.17008 21.7201 9.43008 21.5501 9.60008L20.1401 11.0101ZM11.0302 9.8499H12.8502L10.7002 11.9999C10.5302 12.1699 10.4802 12.4299 10.5702 12.6499C10.6602 12.8699 10.8802 13.0199 11.1202 13.0199H14.2902C14.6202 13.0199 14.8902 12.7499 14.8902 12.4199C14.8902 12.0899 14.6202 11.8199 14.2902 11.8199H12.5602L14.7102 9.6699C14.8802 9.4999 14.9302 9.2399 14.8402 9.0199C14.7502 8.7999 14.5302 8.6499 14.2902 8.6499H11.0202C10.6902 8.6499 10.4202 8.9199 10.4202 9.2499C10.4202 9.5799 10.7002 9.8499 11.0302 9.8499ZM14.5501 16.89C15.6601 16.89 16.7201 16.66 17.7101 16.19C17.9401 16.08 18.2101 16.13 18.3801 16.3C18.5601 16.48 18.6101 16.75 18.5001 16.98C17.0901 20.05 13.9901 22.03 10.6001 22.03C5.79013 22.03 1.88013 18.12 1.88013 13.31C1.88013 9.94004 3.87013 6.84004 6.93013 5.40004C7.16013 5.29004 7.43012 5.34004 7.61012 5.52004C7.79012 5.70004 7.84013 5.97004 7.73013 6.20004C7.27013 7.19004 7.03012 8.26004 7.03012 9.38004C7.03012 13.52 10.4001 16.89 14.5501 16.89ZM3.09013 13.31C3.09013 17.46 6.46012 20.83 10.6101 20.83C12.9901 20.83 15.2001 19.7 16.6001 17.85C15.9401 18.01 15.2501 18.09 14.5501 18.09C9.74013 18.09 5.83012 14.18 5.83012 9.38004C5.83012 8.68004 5.91013 7.99004 6.07013 7.32004C4.22013 8.73004 3.09013 10.94 3.09013 13.31Z"></path></svg></div></div><div style="height:26px;width:29px;position:absolute;opacity:1;right:0;top:0;pointer-events:none;-webkit-transition:opacity 0.25s;-moz-transition:opacity 0.25s;transition:opacity 0.25s"><div class="icon-sun uncheckedIcon"><svg stroke="currentColor" fill="currentColor" stroke-width="0" version="1.2" baseProfile="tiny" viewBox="0 0 24 24" size="24" height="24" width="24" xmlns="http://www.w3.org/2000/svg"><path d="M12 6.934l1-2.934c.072-.213.078-.452 0-.682-.188-.553-.789-.848-1.341-.659-.553.189-.847.788-.659 1.341l1 2.934zM4 11c-.213-.072-.452-.078-.682 0-.553.188-.848.789-.659 1.341.189.553.788.847 1.341.659l2.934-1-2.934-1zM12 17.066l-1 2.934c-.072.213-.078.452 0 .682.188.553.789.848 1.341.659.553-.189.847-.788.659-1.341l-1-2.934zM21.341 11.657c-.188-.553-.788-.848-1.341-.659l-2.934 1 2.934 1c.213.072.452.078.682 0 .552-.188.847-.789.659-1.341zM5.636 7.05l2.781 1.367-1.367-2.781c-.1-.202-.265-.375-.482-.482-.524-.258-1.157-.042-1.415.482-.257.523-.041 1.157.483 1.414zM5.153 17.432c-.257.523-.041 1.156.482 1.414.523.257 1.157.041 1.414-.482l1.367-2.781-2.781 1.367c-.201.099-.374.263-.482.482zM18.363 16.949l-2.781-1.367 1.367 2.781c.1.202.264.375.482.482.523.257 1.156.041 1.414-.482s.042-1.157-.482-1.414zM18.844 6.566c.258-.524.042-1.157-.481-1.415-.523-.257-1.157-.041-1.414.482l-1.369 2.783 2.782-1.368c.202-.1.375-.264.482-.482zM12 7.5c-2.481 0-4.5 2.019-4.5 4.5s2.019 4.5 4.5 4.5 4.5-2.019 4.5-4.5-2.019-4.5-4.5-4.5z"></path></svg></div></div></div><div class="react-switch-handle" style="height:26px;width:26px;background:#ffffff;display:inline-block;cursor:pointer;border-radius:50%;position:absolute;transform:translateX(0px);top:0;outline:0;box-shadow:0px 1px 5px rgba(0, 0, 0, 0.6);border:0;-webkit-transition:background-color 0.25s, transform 0.25s, box-shadow 0.15s;-moz-transition:background-color 0.25s, transform 0.25s, box-shadow 0.15s;transition:background-color 0.25s, transform 0.25s, box-shadow 0.15s"></div><input type="checkbox" role="switch" style="border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px" id="normal-switch"/></div></div></div></div></header><div class="ContentWrapper__IndexContent-sc-11a8f56-0 eYfJyt"><div class="Layout__Content-sc-2dvbv0-0 jzKyDb"><main><div class="MainWrapper__IndexWrapper-fdnybq-0 ghKhoM"><div class="MainWrapper__ContentsWrapper-fdnybq-1 itpjOs"><nav class="CategoryMenu__Nav-lfwotq-0 gKrmCb"><ul class="CategoryMenu__CategoryItemList-lfwotq-1 iqwDhc"><li class="CategoryMenu__CategoryItem-lfwotq-2 beJVrs active"><a aria-current="page" class="category-item__link" href="/"><div class="category-item__image"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDIyLjEuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IuODrOOCpOODpOODvF8xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiCgkgeT0iMHB4IiB2aWV3Qm94PSIwIDAgNjQgNjQiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDY0IDY0OyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+CjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+Cgkuc3Qwe2ZpbGw6I0ZGRUVFNDt9Cjwvc3R5bGU+Cjx0aXRsZT5pY29uPC90aXRsZT4KPHBhdGggY2xhc3M9InN0MCIgZD0iTTEwLjgsMzguMWMtMC4xLTAuMS0wLjEtMC4yLTAuMS0wLjNMMTMuMywyNmMwLTAuMSwwLjEtMC4yLDAuMi0wLjNjMC4xLTAuMSwwLjItMC4xLDAuNC0wLjFoMgoJYzAuMiwwLDAuNSwwLjEsMC42LDAuNGwyLjgsNi44bDEuNC02LjdjMC0wLjEsMC4xLTAuMiwwLjItMC4zYzAuMS0wLjEsMC4yLTAuMSwwLjQtMC4xaDIuM2MwLjEsMCwwLjIsMCwwLjMsMC4xCgljMC4xLDAuMSwwLjEsMC4yLDAuMSwwLjNsLTIuNSwxMS43YzAsMC4xLTAuMSwwLjItMC4yLDAuM2MtMC4xLDAuMS0wLjIsMC4xLTAuNCwwLjFoLTJjLTAuMSwwLTAuMywwLTAuNC0wLjEKCWMtMC4xLTAuMS0wLjEtMC4yLTAuMi0wLjJsLTIuOS02LjVMMTQsMzcuN2MwLDAuMS0wLjEsMC4yLTAuMiwwLjNjLTAuMSwwLjEtMC4yLDAuMS0wLjMsMC4xaC0yLjNDMTEsMzguMiwxMC45LDM4LjIsMTAuOCwzOC4xeiIvPgo8cGF0aCBjbGFzcz0ic3QwIiBkPSJNMjQuNiwzOC4xYy0wLjEtMC4xLTAuMS0wLjItMC4xLTAuM0wyNywyNmMwLTAuMSwwLjEtMC4yLDAuMi0wLjNjMC4xLTAuMSwwLjItMC4xLDAuNC0wLjFoOC41CgljMC4xLDAsMC4yLDAsMC4zLDAuMWMwLjEsMC4xLDAuMSwwLjIsMC4xLDAuM2wtMC40LDEuOGMwLDAuMS0wLjEsMC4yLTAuMiwwLjNjLTAuMSwwLjEtMC4yLDAuMS0wLjQsMC4xaC01LjdsLTAuNSwyLjNoNS4zCgljMC4xLDAsMC4yLDAsMC4zLDAuMUMzNSwzMC44LDM1LDMwLjksMzUsMzFsLTAuMywxLjZjMCwwLjEtMC4xLDAuMi0wLjIsMC4zYy0wLjEsMC4xLTAuMiwwLjEtMC40LDAuMWgtNS4zbC0wLjUsMi4zaDUuOQoJYzAuMSwwLDAuMiwwLDAuMywwLjFjMC4xLDAuMSwwLjEsMC4yLDAuMSwwLjNsLTAuNCwxLjhjMCwwLjEtMC4xLDAuMi0wLjIsMC4zYy0wLjEsMC4xLTAuMiwwLjEtMC4zLDAuMWgtOC43CglDMjQuOCwzOC4yLDI0LjcsMzguMSwyNC42LDM4LjF6Ii8+CjxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik0zOC4zLDM4Yy0wLjEtMC4xLTAuMi0wLjMtMC4xLTAuNEwzOC42LDI2YzAtMC4xLDAuMS0wLjIsMC4yLTAuM2MwLjEtMC4xLDAuMi0wLjEsMC4zLTAuMWgyLjMKCWMwLjMsMCwwLjUsMC4xLDAuNSwwLjVsLTAuMyw2LjdsMi4xLTMuOWMwLjEtMC4zLDAuNC0wLjUsMC43LTAuNWgxLjNjMC4zLDAsMC41LDAuMiwwLjUsMC40YzAsMCwwLDAsMCwwbDAuNCwzLjlsMi42LTYuOAoJYzAtMC4xLDAuMS0wLjMsMC4yLTAuM2MwLjEtMC4xLDAuMy0wLjEsMC40LTAuMWgyLjRjMC4xLDAsMC4yLDAsMC4yLDAuMWMwLjEsMC4xLDAuMSwwLjEsMC4xLDAuMmMwLDAuMSwwLDAuMSwwLDAuMmwtNC4zLDExLjYKCWMtMC4xLDAuMi0wLjIsMC4zLTAuMywwLjRjLTAuMSwwLjEtMC4zLDAuMi0wLjUsMC4yaC0xLjljLTAuMiwwLTAuMywwLTAuNC0wLjJjLTAuMS0wLjEtMC4xLTAuMi0wLjItMC4zbC0wLjktNWwtMi43LDUKCWMtMC4xLDAuMy0wLjUsMC41LTAuOCwwLjVoLTEuOEMzOC42LDM4LjIsMzguNCwzOC4xLDM4LjMsMzh6Ii8+Cjwvc3ZnPgo=" alt="최신 글"/></div><div class="category-item__name">최신 글</div></a></li><li class="CategoryMenu__CategoryItem-lfwotq-2 beJVrs"><a class="category-item__link" href="/category/blog"><div class="category-item__image"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/Pg0KPCEtLSDslYTsnbTsvZgg7KCc7J6R7J6QIDxhIGhyZWY9Imh0dHBzOi8vd3d3LmZsYXRpY29uLmNvbS9rci9hdXRob3JzL2ZyZWVwaWsiIHRpdGxlPSJGcmVlcGlrIj5GcmVlcGlrPC9hPiBmcm9tIDxhIGhyZWY9Imh0dHBzOi8vd3d3LmZsYXRpY29uLmNvbS9rci8iIHRpdGxlPSJGbGF0aWNvbiI+IHd3dy5mbGF0aWNvbi5jb208L2E+IC0tPg0KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDE5LjAuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPg0KPHN2ZyB2ZXJzaW9uPSIxLjEiIGlkPSJMYXllcl8xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCINCgkgdmlld0JveD0iMCAwIDUxMiA1MTIiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDUxMiA1MTI7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxwYXRoIHN0eWxlPSJmaWxsOiNBNUE1QTU7IiBkPSJNNTAzLjkxNiw0NjAuOEw1MDMuOTE2LDQ2MC44YzAsMjMuODEyLTE5LjMwNCw0My4xMTYtNDMuMTE2LDQzLjExNkg1MS4yDQoJYy0yMy44MTIsMC00My4xMTYtMTkuMzA0LTQzLjExNi00My4xMTZsMCwwYzAtMjMuODEyLDE5LjMwNC00My4xMTYsNDMuMTE2LTQzLjExNmg0MDkuNg0KCUM0ODQuNjEyLDQxNy42ODQsNTAzLjkxNiw0MzYuOTg4LDUwMy45MTYsNDYwLjh6Ii8+DQo8cGF0aCBzdHlsZT0iZmlsbDojQ0NDQUM0OyIgZD0iTTQ3MS41NzksMTU4Ljk4OXYyMzcuMTM3YzAsMjMuODEyLTE5LjMwNCw0My4xMTYtNDMuMTE2LDQzLjExNkg4My41MzcNCgljLTIzLjgxMiwwLTQzLjExNi0xOS4zMDQtNDMuMTE2LTQzLjExNlYxNTguOTg5YzAtMjMuODEyLDE5LjMwNC00My4xMTYsNDMuMTE2LTQzLjExNmgzNDQuOTI2DQoJQzQ1Mi4yNzUsMTE1Ljg3NCw0NzEuNTc5LDEzNS4xNzgsNDcxLjU3OSwxNTguOTg5eiIvPg0KPHBhdGggc3R5bGU9ImZpbGw6I0YyRUZFMjsiIGQ9Ik00MjguNDYzLDQxNy42ODRIODMuNTM3Yy0xMS45MDYsMC0yMS41NTgtOS42NTEtMjEuNTU4LTIxLjU1OFYxNTguOTg5DQoJYzAtMTEuOTA2LDkuNjUxLTIxLjU1OCwyMS41NTgtMjEuNTU4aDM0NC45MjZjMTEuOTA2LDAsMjEuNTU4LDkuNjUxLDIxLjU1OCwyMS41NTh2MjM3LjEzNw0KCUM0NTAuMDIxLDQwOC4wMzMsNDQwLjM3LDQxNy42ODQsNDI4LjQ2Myw0MTcuNjg0eiIvPg0KPHBhdGggc3R5bGU9ImZpbGw6I0JGQkJBMzsiIGQ9Ik00MDEuNTE2LDIwNC44SDExMC40ODRjLTguOTI5LDAtMTYuMTY4LTcuMjM5LTE2LjE2OC0xNi4xNjhsMCwwYzAtOC45MjksNy4yMzktMTYuMTY4LDE2LjE2OC0xNi4xNjgNCgloMjkxLjAzMmM4LjkyOSwwLDE2LjE2OCw3LjIzOSwxNi4xNjgsMTYuMTY4bDAsMEM0MTcuNjg0LDE5Ny41NjEsNDEwLjQ0NSwyMDQuOCw0MDEuNTE2LDIwNC44eiBNMjQ1LjIyMSwyNDUuMjIxTDI0NS4yMjEsMjQ1LjIyMQ0KCWMwLTguOTI5LTcuMjM5LTE2LjE2OC0xNi4xNjgtMTYuMTY4SDExMC40ODRjLTguOTI5LDAtMTYuMTY4LDcuMjM5LTE2LjE2OCwxNi4xNjhsMCwwYzAsOC45MjksNy4yMzksMTYuMTY4LDE2LjE2OCwxNi4xNjhoMTE4LjU2OA0KCUMyMzcuOTgyLDI2MS4zODksMjQ1LjIyMSwyNTQuMTUsMjQ1LjIyMSwyNDUuMjIxeiBNNDE3LjY4NCwyNDUuMjIxTDQxNy42ODQsMjQ1LjIyMWMwLTguOTI5LTcuMjM5LTE2LjE2OC0xNi4xNjgtMTYuMTY4SDI4Mi45NDcNCgljLTguOTI5LDAtMTYuMTY4LDcuMjM5LTE2LjE2OCwxNi4xNjhsMCwwYzAsOC45MjksNy4yMzksMTYuMTY4LDE2LjE2OCwxNi4xNjhoMTE4LjU2OA0KCUM0MTAuNDQ1LDI2MS4zODksNDE3LjY4NCwyNTQuMTUsNDE3LjY4NCwyNDUuMjIxeiIvPg0KPHBhdGggc3R5bGU9ImZpbGw6I0ZGRDg4MDsiIGQ9Ik00MDEuNTE2LDM3OS45NThIMTEwLjQ4NGMtOC45MjksMC0xNi4xNjgtNy4yMzktMTYuMTY4LTE2LjE2OHYtNjQuNjc0DQoJYzAtOC45MjksNy4yMzktMTYuMTY4LDE2LjE2OC0xNi4xNjhoMjkxLjAzMmM4LjkyOSwwLDE2LjE2OCw3LjIzOSwxNi4xNjgsMTYuMTY4djY0LjY3NA0KCUM0MTcuNjg0LDM3Mi43MTksNDEwLjQ0NSwzNzkuOTU4LDQwMS41MTYsMzc5Ljk1OHoiLz4NCjxwYXRoIHN0eWxlPSJmaWxsOiNGQzgwNTk7IiBkPSJNMTQzLjM2MSwzNzAuNDk2bC0yLjI1OCwyLjI1OGwwLjA4MywwLjA4M2wtMTguNDk1LDE4LjQ5NWMtMS4zMjcsMS4zMjctMy4xMjcsMi4wNzMtNS4wMDQsMi4wNzNsMCwwDQoJYy0xLjg3NywwLTMuNjc3LTAuNzQ2LTUuMDA0LTIuMDczTDk0LjE5LDM3Mi44MzdsMC4wODMtMC4wODNsLTIuMjU4LTIuMjU4Yy02LjQ2Ni02LjQ2Ni02LjQ2Ni0xNi45NDksMC0yMy40MTVsMCwwDQoJYzYuNDY2LTYuNDY2LDE2Ljk0OS02LjQ2NiwyMy40MTUsMGwyLjI1OCwyLjI1OGwyLjI1OC0yLjI1OGM2LjQ2Ni02LjQ2NiwxNi45NDktNi40NjYsMjMuNDE1LDBsMCwwDQoJQzE0OS44MjcsMzUzLjU0NywxNDkuODI3LDM2NC4wMywxNDMuMzYxLDM3MC40OTZ6Ii8+DQo8cGF0aCBzdHlsZT0iZmlsbDojRDZBMTU0OyIgZD0iTTM3Mi40MTMsMjkxLjIxMmwtMjEuNTU4LDI4Ljc0NGMtNC4zMTIsNS43NDgtMTIuOTM1LDUuNzQ4LTE3LjI0NiwwbC0yMS41NTgtMjguNzQ0DQoJYy0xLjM5OS0xLjg2Ni0yLjE1Ni00LjEzNS0yLjE1Ni02LjQ2N1YyOS42NDJjMC0xMS45MDYsOS42NTEtMjEuNTU4LDIxLjU1OC0yMS41NThoMjEuNTU4YzExLjkwNiwwLDIxLjU1OCw5LjY1MSwyMS41NTgsMjEuNTU4DQoJdjI1NS4xMDJDMzc0LjU2OCwyODcuMDc2LDM3My44MTIsMjg5LjM0NiwzNzIuNDEzLDI5MS4yMTJ6Ii8+DQo8cGF0aCBzdHlsZT0iZmlsbDojQjI2OTMyOyIgZD0iTTM2Ni40ODQsMjk5LjExNmwtMTUuNjI5LDIwLjgzOWMtNC4zMTIsNS43NDgtMTIuOTM1LDUuNzQ4LTE3LjI0NiwwbC0xNS42MjktMjAuODM5SDM2Ni40ODR6Ii8+DQo8cGF0aCBzdHlsZT0iZmlsbDojRkZEODgwOyIgZD0iTTMwOS44OTUsMjU2VjI5LjY0MmMwLTExLjkwNiw5LjY1MS0yMS41NTgsMjEuNTU4LTIxLjU1OGgyMS41NTgNCgljMTEuOTA2LDAsMjEuNTU4LDkuNjUxLDIxLjU1OCwyMS41NThWMjU2SDMwOS44OTV6Ii8+DQo8cGF0aCBzdHlsZT0iZmlsbDojRkNDMTU5OyIgZD0iTTM0Mi4yMzIsMjU2VjguMDg0aDEwLjc3OWMxMS45MDYsMCwyMS41NTgsOS42NTEsMjEuNTU4LDIxLjU1OFYyNTZIMzQyLjIzMnoiLz4NCjxwYXRoIHN0eWxlPSJmaWxsOiNGQzgwNTk7IiBkPSJNMzc0LjU2OCwyOS42NDJWNTEuMmgtNjQuNjc0VjI5LjY0MmMwLTExLjkwNiw5LjY1MS0yMS41NTgsMjEuNTU4LTIxLjU1OGgyMS41NTgNCglDMzY0LjkxNyw4LjA4NCwzNzQuNTY4LDE3LjczNiwzNzQuNTY4LDI5LjY0MnoiLz4NCjxwYXRoIHN0eWxlPSJmaWxsOiM0QzRDNEM7IiBkPSJNNDc3LjA2OCw0MTIuMjM3YzEuNjg1LTUuMDY3LDIuNTk2LTEwLjQ4NSwyLjU5Ni0xNi4xMVYxNTguOTg5YzAtMjguMjMxLTIyLjk2OS01MS4yLTUxLjItNTEuMg0KCWgtNDUuODExVjI5LjY0MkMzODIuNjUzLDEzLjI5OCwzNjkuMzU1LDAsMzUzLjAxLDBoLTIxLjU1OGMtMTYuMzQ0LDAtMjkuNjQyLDEzLjI5OC0yOS42NDIsMjkuNjQydjc4LjE0N0g4My41MzcNCgljLTI4LjIzMSwwLTUxLjIsMjIuOTY5LTUxLjIsNTEuMnYyMzcuMTM3YzAsNS42MjcsMC45MTIsMTEuMDQzLDIuNTk2LDE2LjExQzE0LjQzLDQxOS4wNjUsMCw0MzguMzY4LDAsNDYwLjgNCglDMCw0ODkuMDMxLDIyLjk2OSw1MTIsNTEuMiw1MTJoNDA5LjZjMjguMjMxLDAsNTEuMi0yMi45NjksNTEuMi01MS4yQzUxMiw0MzguMzY4LDQ5Ny41Nyw0MTkuMDY1LDQ3Ny4wNjgsNDEyLjIzN3ogTTMxNy45NzksMjkuNjQyDQoJYzAtNy40Myw2LjA0NC0xMy40NzQsMTMuNDc0LTEzLjQ3NGgyMS41NThjNy40MywwLDEzLjQ3NCw2LjA0NCwxMy40NzQsMTMuNDc0djEzLjQ3NGgtNDguNTA1VjI5LjY0MnogTTM2Ni40ODQsNTkuMjg0djE4OC42MzINCgloLTE2LjE2OFY1OS4yODRIMzY2LjQ4NHogTTMxNy45NzksNTkuMjg0aDE2LjE2OHYxODguNjMyaC0xNi4xNjhWNTkuMjg0eiBNMzE3Ljk3OSwyNjQuMDg0aDQ4LjUwNXYyMC42Ng0KCWMwLDAuNTc5LTAuMTkyLDEuMTUzLTAuNTM5LDEuNjE3bC0yMS41NTgsMjguNzQzYy0wLjcwNCwwLjkzOC0xLjY1MiwxLjA3OC0yLjE1NiwxLjA3OHMtMS40NTItMC4xNC0yLjE1Ni0xLjA3OGwtMjEuNTU3LTI4Ljc0MQ0KCWMtMC4zNDgtMC40NjYtMC41NC0xLjA0LTAuNTQtMS42MTlWMjY0LjA4NHogTTQ4LjUwNSwxNTguOTg5YzAtMTkuMzE3LDE1LjcxNS0zNS4wMzIsMzUuMDMyLTM1LjAzMmgyMTguMjc0djE2MC43ODYNCgljMCw0LjA1MywxLjMzOSw4LjA3MSwzLjc3MywxMS4zMThsMjEuNTU4LDI4Ljc0M2MzLjU5Niw0Ljc5Niw5LjA5Niw3LjU0NSwxNS4wOTEsNy41NDVzMTEuNDk1LTIuNzUsMTUuMDkxLTcuNTQ1bDIxLjU1OC0yOC43NDINCgljMi40MzMtMy4yNDQsMy43NzMtNy4yNjMsMy43NzMtMTEuMzE5VjEyMy45NThoNDUuODExYzE5LjMxNywwLDM1LjAzMiwxNS43MTUsMzUuMDMyLDM1LjAzMnYyMzcuMTM3DQoJYzAsMTkuMzE3LTE1LjcxNSwzNS4wMzItMzUuMDMyLDM1LjAzMkg4My41MzdjLTE5LjMxNywwLTM1LjAzMi0xNS43MTUtMzUuMDMyLTM1LjAzMlYxNTguOTg5eiBNNDYwLjgsNDk1LjgzMkg1MS4yDQoJYy0xOS4zMTcsMC0zNS4wMzItMTUuNzE1LTM1LjAzMi0zNS4wMzJjMC0xNi4yNTcsMTEuMDcxLTMwLjExMywyNi40MjYtMzMuOTYzYzkuMzQ5LDEyLjQzNCwyNC4yMjIsMjAuNDksNDAuOTQzLDIwLjQ5aDM0NC45MjYNCgljMTYuNzIsMCwzMS41OTQtOC4wNTYsNDAuOTQzLTIwLjQ5YzE1LjM1NSwzLjg1LDI2LjQyNiwxNy43MDcsMjYuNDI2LDMzLjk2M0M0OTUuODMyLDQ4MC4xMTcsNDgwLjExNyw0OTUuODMyLDQ2MC44LDQ5NS44MzJ6DQoJIE0xNzIuNDYzLDQ3MS41NzljMCw0LjQ2Ni0zLjYxOCw4LjA4NC04LjA4NCw4LjA4NEg3OC4xNDdjLTQuNDY2LDAtOC4wODQtMy42MTgtOC4wODQtOC4wODRzMy42MTgtOC4wODQsOC4wODQtOC4wODRoODYuMjMyDQoJQzE2OC44NDUsNDYzLjQ5NSwxNzIuNDYzLDQ2Ny4xMTMsMTcyLjQ2Myw0NzEuNTc5eiBNNDQxLjkzNyw0NzEuNTc5YzAsNC40NjYtMy42MTgsOC4wODQtOC4wODQsOC4wODRIMjcyLjE2OA0KCWMtNC40NjYsMC04LjA4NC0zLjYxOC04LjA4NC04LjA4NHMzLjYxOC04LjA4NCw4LjA4NC04LjA4NGgxNjEuNjg0QzQzOC4zMTgsNDYzLjQ5NSw0NDEuOTM3LDQ2Ny4xMTMsNDQxLjkzNyw0NzEuNTc5eg0KCSBNMjQzLjYwNCw0NzEuNTc5YzAsNC40NjYtMy42MTgsOC4wODQtOC4wODQsOC4wODRoLTEuMDc4Yy00LjQ2NiwwLTguMDg0LTMuNjE4LTguMDg0LTguMDg0czMuNjE4LTguMDg0LDguMDg0LTguMDg0aDEuMDc4DQoJQzIzOS45ODYsNDYzLjQ5NSwyNDMuNjA0LDQ2Ny4xMTMsMjQzLjYwNCw0NzEuNTc5eiBNMjEwLjE4OSw0NzEuNTc5YzAsNC40NjYtMy42MTgsOC4wODQtOC4wODQsOC4wODRoLTEuMDc4DQoJYy00LjQ2NiwwLTguMDg0LTMuNjE4LTguMDg0LTguMDg0czMuNjE4LTguMDg0LDguMDg0LTguMDg0aDEuMDc4QzIwNi41NzEsNDYzLjQ5NSwyMTAuMTg5LDQ2Ny4xMTMsMjEwLjE4OSw0NzEuNTc5eiIvPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPC9zdmc+DQo=" alt="블로그"/></div><div class="category-item__name">블로그</div></a></li><li class="CategoryMenu__CategoryItem-lfwotq-2 beJVrs"><a class="category-item__link" href="/category/algorithm"><div class="category-item__image"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/Pg0KPCEtLSDslYTsnbTsvZgg7KCc7J6R7J6QIDxhIGhyZWY9Imh0dHBzOi8vd3d3LmZsYXRpY29uLmNvbS9rci9hdXRob3JzL3NtYXNoaWNvbnMiIHRpdGxlPSJTbWFzaGljb25zIj5TbWFzaGljb25zPC9hPiBmcm9tIDxhIGhyZWY9Imh0dHBzOi8vd3d3LmZsYXRpY29uLmNvbS9rci8iIHRpdGxlPSJGbGF0aWNvbiI+IHd3dy5mbGF0aWNvbi5jb208L2E+IC0tPg0KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDE5LjAuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPg0KPHN2ZyB2ZXJzaW9uPSIxLjEiIGlkPSJDYXBhXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgNTEyIDUxMiIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgNTEyIDUxMjsiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPGc+DQoJPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMSAxKSI+DQoJCTxwb2x5Z29uIHN0eWxlPSJmaWxsOiM3OTU1NDg7IiBwb2ludHM9IjIxMi40NTMsMzQ1LjM5NCAxNTIuNjQzLDM1Ny4zNTcgMTY0LjYwNiwyOTcuNTQ3IDE4Ni43MzMsMjg5LjEzMyAyMjAuODY3LDMyMy4yNjcgCQkiLz4NCgkJDQoJCQk8cmVjdCB4PSIyNzQuMzU5IiB5PSIxODAuNDk5IiB0cmFuc2Zvcm09Im1hdHJpeCgwLjcwNzEgMC43MDcxIC0wLjcwNzEgMC43MDcxIDIzMy4wMTUzIC0xNTguNzk4KSIgc3R5bGU9ImZpbGw6I0Y1RjVGNTsiIHdpZHRoPSI2Ny42NyIgaGVpZ2h0PSI0Mi43NTIiLz4NCgkJPHBhdGggc3R5bGU9ImZpbGw6I0ZERDgzNDsiIGQ9Ik0xNzguMiw3LjUzM2gxNTMuNmM0LjcxMywwLDguNTMzLDMuODIxLDguNTMzLDguNTMzVjEwMS40YzAsNC43MTMtMy44Miw4LjUzMy04LjUzMyw4LjUzM0gxNzguMg0KCQkJYy00LjcxMywwLTguNTMzLTMuODIxLTguNTMzLTguNTMzVjE2LjA2N0MxNjkuNjY3LDExLjM1NCwxNzMuNDg3LDcuNTMzLDE3OC4yLDcuNTMzeiIvPg0KCQk8cGF0aCBzdHlsZT0iZmlsbDojRkZFQjNBOyIgZD0iTTE3OC4yLDcuNTMzaDEyOGM0LjcxMywwLDguNTMzLDMuODIxLDguNTMzLDguNTMzVjEwMS40YzAsNC43MTMtMy44Miw4LjUzMy04LjUzMyw4LjUzM2gtMTI4DQoJCQljLTQuNzEzLDAtOC41MzMtMy44MjEtOC41MzMtOC41MzNWMTYuMDY3QzE2OS42NjcsMTEuMzU0LDE3My40ODcsNy41MzMsMTc4LjIsNy41MzN6Ii8+DQoJCTxwYXRoIHN0eWxlPSJmaWxsOiMwMDgzOEY7IiBkPSJNMTA5LjkzMywyNTVjLTAuMDIyLDI4LjI2OC0yMi45MzIsNTEuMTc4LTUxLjIsNTEuMmMtNC4zMTctMC4wMTMtOC42MTYtMC41NTgtMTIuOC0xLjYyMQ0KCQkJYy0yMi42MDItNS44MTgtMzguNC0yNi4xOTctMzguNC00OS41MzZzMTUuNzk4LTQzLjcxOCwzOC40LTQ5LjUzNmM0LjE3Mi0xLjEzNCw4LjQ3Ny0xLjcwOCwxMi44LTEuNzA3DQoJCQlDODcuMDAxLDIwMy44MjIsMTA5LjkxMSwyMjYuNzMyLDEwOS45MzMsMjU1eiIvPg0KCQk8cGF0aCBzdHlsZT0iZmlsbDojMDBCQ0Q0OyIgZD0iTTg0LjMzMywyNTVjLTAuMDU0LDIzLjMzLTE1LjgyNSw0My42OTItMzguNCw0OS41NzljLTIyLjYwMi01LjgxOC0zOC40LTI2LjE5Ny0zOC40LTQ5LjUzNg0KCQkJczE1Ljc5OC00My43MTgsMzguNC00OS41MzZDNjguNTEzLDIxMS4zMzEsODQuMzAyLDIzMS42ODEsODQuMzMzLDI1NXoiLz4NCgkJPHBhdGggc3R5bGU9ImZpbGw6I0FEMTQ1NzsiIGQ9Ik01MDIuNDY3LDI1NWMtMC4wMjIsMjguMjY4LTIyLjkzMiw1MS4xNzgtNTEuMiw1MS4yYy00LjMxNy0wLjAxMy04LjYxNi0wLjU1OC0xMi44LTEuNjIxDQoJCQljLTIyLjYwMi01LjgxOC0zOC40LTI2LjE5Ny0zOC40LTQ5LjUzNnMxNS43OTgtNDMuNzE4LDM4LjQtNDkuNTM2YzQuMTcyLTEuMTM0LDguNDc3LTEuNzA4LDEyLjgtMS43MDcNCgkJCUM0NzkuNTM0LDIwMy44MjIsNTAyLjQ0NCwyMjYuNzMyLDUwMi40NjcsMjU1eiIvPg0KCQk8cGF0aCBzdHlsZT0iZmlsbDojRTkxRTYzOyIgZD0iTTQ3Ni44NjcsMjU1Yy0wLjA1NCwyMy4zMy0xNS44MjUsNDMuNjkyLTM4LjQsNDkuNTc5Yy0yMi42MDItNS44MTgtMzguNC0yNi4xOTctMzguNC00OS41MzYNCgkJCXMxNS43OTgtNDMuNzE4LDM4LjQtNDkuNTM2QzQ2MS4wNDcsMjExLjMzMSw0NzYuODM2LDIzMS42ODEsNDc2Ljg2NywyNTV6Ii8+DQoJCTxwYXRoIHN0eWxlPSJmaWxsOiM0Q0FGNTA7IiBkPSJNMjA5Ljc5NCw0NDUuMjM3bDM5LjEzMS0zOS4xMzFjMy4zMzItMy4zMzIsOC43MzYtMy4zMzIsMTIuMDY4LDBsMzkuMTMxLDM5LjEzMQ0KCQkJYzMuMzMyLDMuMzMyLDMuMzMyLDguNzM2LDAsMTIuMDY4bC0zOS4xMzEsMzkuMTMxYy0zLjMzMiwzLjMzMi04LjczNiwzLjMzMi0xMi4wNjgsMGwtMzkuMTMxLTM5LjEzMQ0KCQkJQzIwNi40NjIsNDUzLjk3MywyMDYuNDYyLDQ0OC41NywyMDkuNzk0LDQ0NS4yMzd6Ii8+DQoJCTxwb2x5Z29uIHN0eWxlPSJmaWxsOiNGRjk4MDE7IiBwb2ludHM9IjMyMC4xMDksMjM3Ljc2MyAyMTIuNDE5LDM0NS4zNjggMTk0LjU4NCwzMjcuNTMzIDE4Mi40NjcsMzE1LjQxNiAxNjQuNjMyLDI5Ny41ODEgDQoJCQkyNzIuMjM3LDE4OS44OTEgCQkiLz4NCgkJPHBhdGggc3R5bGU9ImZpbGw6I0U5MUU2MzsiIGQ9Ik0zNDQuMDM0LDIxMy44MDlsLTQ3Ljg0Ny00Ny44NDdsNS44MjItNS44MjFjOS45OTctOS45OTcsMjYuMjA3LTkuOTk3LDM2LjIwNCwwbDExLjY0MywxMS42NDMNCgkJCWM5Ljk5Nyw5Ljk5Nyw5Ljk5NywyNi4yMDcsMCwzNi4yMDRMMzQ0LjAzNCwyMTMuODA5eiIvPg0KCTwvZz4NCgk8Zz4NCgkJPHBhdGggZD0iTTUxLjIsMzE1LjA1MnYzOS44MTVsLTIzLjEsMjMuMWMtMy4yODEsMy4zNDEtMy4yNTYsOC43MDEsMC4wNTQsMTIuMDEyczguNjcxLDMuMzM1LDEyLjAxMiwwLjA1NEw1MS4yLDM3OXY0Ny42NjcNCgkJCWMwLjAyLDE4Ljg0MywxNS4yOSwzNC4xMTMsMzQuMTMzLDM0LjEzM2gxMTUuOTMzbDQ4LjcsNDguN2MxLjYsMS42MDEsMy43NywyLjUsNi4wMzMsMi41YzIuMjYzLDAsNC40MzMtMC44OTksNi4wMzMtMi41DQoJCQlsNDguNy00OC43aDExNS45MzNjMTguODQzLTAuMDIsMzQuMTEzLTE1LjI5LDM0LjEzMy0zNC4xMzN2LTM5LjEzM2wyMy4xLTIzLjFjMy4yOTYtMy4zMzgsMy4yOC04LjcxMS0wLjAzOC0xMi4wMjkNCgkJCWMtMy4zMTctMy4zMTctOC42OS0zLjMzNC0xMi4wMjktMC4wMzhMNDYwLjgsMzYzLjR2LTQ4LjM0OUM0OTAuMTgsMzEwLjg0Niw1MTIsMjg1LjY4LDUxMiwyNTZjMC0yOS42OC0yMS44MTktNTQuODQ2LTUxLjItNTkuMDUyDQoJCQl2LTM5LjgxNWwyMy4xLTIzLjFjMi4xNzgtMi4xNTEsMy4wMzctNS4zMDQsMi4yNTEtOC4yNjJjLTAuNzg2LTIuOTU4LTMuMDk3LTUuMjY5LTYuMDU1LTYuMDU1DQoJCQljLTIuOTU4LTAuNzg2LTYuMTExLDAuMDczLTguMjYyLDIuMjUxTDQ2MC44LDEzM1Y4NS4zMzNDNDYwLjc4LDY2LjQ5LDQ0NS41MSw1MS4yMiw0MjYuNjY3LDUxLjJoLTc2LjhWMTcuMDY3DQoJCQlDMzQ5Ljg1Niw3LjY0NiwzNDIuMjIxLDAuMDExLDMzMi44LDBIMTc5LjJjLTkuNDIxLDAuMDExLTE3LjA1Niw3LjY0NS0xNy4wNjcsMTcuMDY3VjUxLjJoLTc2LjgNCgkJCUM2Ni40OSw1MS4yMiw1MS4yMiw2Ni40OSw1MS4yLDg1LjMzM3YzOS4xMzNsLTIzLjEsMjMuMWMtMy4yODEsMy4zNDEtMy4yNTYsOC43MDEsMC4wNTQsMTIuMDEyDQoJCQljMy4zMTEsMy4zMTEsOC42NzEsMy4zMzUsMTIuMDEyLDAuMDU0TDUxLjIsMTQ4LjZ2NDguMzQ5QzIxLjgyLDIwMS4xNTUsMCwyMjYuMzIsMCwyNTZDMCwyODUuNjgsMjEuODIsMzEwLjg0Niw1MS4yLDMxNS4wNTJ6DQoJCQkgTTI1Niw0OTEuNGwtMzkuMTMzLTM5LjEzM0wyNTYsNDEzLjEzM2wzOS4xMzMsMzkuMTMzTDI1Niw0OTEuNHogTTQ5NC45MzMsMjU2YzAsMjMuNTY0LTE5LjEwMyw0Mi42NjctNDIuNjY3LDQyLjY2Nw0KCQkJYy0yMy41NjQsMC00Mi42NjctMTkuMTAzLTQyLjY2Ny00Mi42NjdzMTkuMTAzLTQyLjY2Nyw0Mi42NjctNDIuNjY3QzQ3NS44MTksMjEzLjM2MSw0OTQuOTA2LDIzMi40NDcsNDk0LjkzMywyNTZ6IE0xNzkuMiwxNy4wNjcNCgkJCWgxNTMuNmwwLjAwNCw0Mi42NDZsLTAuMDA0LDAuMDIxbDAuMDA0LDAuMDIxbDAuMDA0LDQyLjY0NkgxNzkuMlYxNy4wNjd6IE04NS4zMzMsNjguMjY3aDc2LjhWMTAyLjQNCgkJCWMwLjAxMSw5LjQyMSw3LjY0NSwxNy4wNTYsMTcuMDY3LDE3LjA2N2gxNTMuNmM5LjQyMS0wLjAxMSwxNy4wNTYtNy42NDUsMTcuMDY3LTE3LjA2N1Y2OC4yNjdoNzYuOA0KCQkJYzkuNDIxLDAuMDExLDE3LjA1Niw3LjY0NSwxNy4wNjcsMTcuMDY3VjEzM0w0MzIuNywxMjEuOTY2Yy0zLjMzOC0zLjI5Ni04LjcxMS0zLjI3OS0xMi4wMjksMC4wMzhzLTMuMzM0LDguNjkxLTAuMDM4LDEyLjAyOQ0KCQkJbDIzLjEsMjMuMXYzOS44MTVjLTI5LjM4LDQuMjA2LTUxLjIsMjkuMzcyLTUxLjIsNTkuMDUyYzAsMjkuNjgsMjEuODE5LDU0Ljg0NSw1MS4yLDU5LjA1MlYzNjMuNEw0MzIuNywzNTIuMzY2DQoJCQljLTMuMzM4LTMuMjk2LTguNzExLTMuMjc5LTEyLjAyOSwwLjAzOHMtMy4zMzQsOC42OTEtMC4wMzgsMTIuMDI5bDIzLjEsMjMuMXYzOS4xMzNjLTAuMDExLDkuNDIxLTcuNjQ1LDE3LjA1Ni0xNy4wNjcsMTcuMDY3DQoJCQlIMzEwLjczM2wtNDguNy00OC43Yy0xLjYtMS42MDEtMy43Ny0yLjUtNi4wMzMtMi41Yy0yLjI2MywwLTQuNDM0LDAuODk5LTYuMDMzLDIuNWwtNDguNyw0OC43SDg1LjMzMw0KCQkJYy05LjQyMS0wLjAxMS0xNy4wNTYtNy42NDUtMTcuMDY3LTE3LjA2N1YzNzlMNzkuMywzOTAuMDM0YzIuMTUxLDIuMTc4LDUuMzA0LDMuMDM3LDguMjYyLDIuMjUxDQoJCQljMi45NTgtMC43ODYsNS4yNjktMy4wOTcsNi4wNTUtNi4wNTVzLTAuMDczLTYuMTExLTIuMjUxLTguMjYybC0yMy4xLTIzLjF2LTM5LjgxNWMyOS4zOC00LjIwNiw1MS4yLTI5LjM3Miw1MS4yLTU5LjA1Mg0KCQkJYzAtMjkuNjgtMjEuODItNTQuODQ2LTUxLjItNTkuMDUyVjE0OC42TDc5LjMsMTU5LjYzNGMzLjMzOCwzLjI5Niw4LjcxMSwzLjI3OSwxMi4wMjktMC4wMzgNCgkJCWMzLjMxNy0zLjMxNywzLjMzNC04LjY5MSwwLjAzOC0xMi4wMjlsLTIzLjEtMjMuMVY4NS4zMzNDNjguMjc3LDc1LjkxMiw3NS45MTIsNjguMjc3LDg1LjMzMyw2OC4yNjd6IE01OS43MzMsMjEzLjMzMw0KCQkJYzIzLjU2NCwwLDQyLjY2NywxOS4xMDMsNDIuNjY3LDQyLjY2N3MtMTkuMTAzLDQyLjY2Ny00Mi42NjcsNDIuNjY3UzE3LjA2NywyNzkuNTY0LDE3LjA2NywyNTYNCgkJCUMxNy4wOTQsMjMyLjQ0NywzNi4xODEsMjEzLjM2MSw1OS43MzMsMjEzLjMzM3oiLz4NCgkJPHBhdGggZD0iTTE1My42NSwzNjYuODg4YzAuNTYzLDAsMS4xMjQtMC4wNTYsMS42NzUtMC4xNjdsNTkuODA4LTExLjk2M2MwLjI2Mi0wLjA1MywwLjQ1OC0wLjIyMiwwLjcxLTAuMjk3DQoJCQljMS4wOTMtMC4zNDEsMi4xMTEtMC44ODYsMy0xLjYwNmMwLjIwNC0wLjE2OSwwLjQ1Ni0wLjIzOSwwLjY0OC0wLjQzbDEwNy42NS0xMDcuNjU0bDIzLjkxMy0yMy45MTJsMC4wMTMtMC4wMDlsNS44MjUtNS44MjUNCgkJCWMxMy4zMDgtMTMuMzQsMTMuMzA4LTM0LjkzNSwwLTQ4LjI3NWwtMTEuNjUtMTEuNjM3Yy02LjQtNi40MDItMTUuMDgtOS45OTktMjQuMTMyLTEwYy05LjA1Mi0wLjAwMS0xNy43MzQsMy41OTUtMjQuMTM0LDkuOTk2DQoJCQlsLTUuODI1LDUuODIxbC0wLjAwOSwwLjAxMmwtMjMuOTA4LDIzLjkxN0wxNTkuNTc1LDI5Mi41MTNjLTAuMTc2LDAuMTc2LTAuMjQ4LDAuNDE5LTAuNDA2LDAuNjA4DQoJCQljLTAuNzI1LDAuODc5LTEuMjcxLDEuODkxLTEuNjA2LDIuOTc5Yy0wLjEyMSwwLjI1MS0wLjIyOCwwLjUwOC0wLjMyMSwwLjc3MWwtMTEuOTU4LDU5LjgwOA0KCQkJYy0wLjUwMiwyLjUwNywwLjE0Nyw1LjEwNywxLjc2OCw3LjA4NEMxNDguNjcyLDM2NS43NCwxNTEuMDkzLDM2Ni44ODcsMTUzLjY1LDM2Ni44ODh6IE0xNzAuODQ5LDMxNS44NTJsMjUuMzAxLDI1LjI5OQ0KCQkJbC0zMS42MjUsNi4zMjRMMTcwLjg0OSwzMTUuODUyeiBNMjEzLjQ1OCwzMzQuMzI1bC0xMS44NTktMTEuODU4bDk1LjU4NS05NS41ODlsMTEuODU3LDExLjg1OUwyMTMuNDU4LDMzNC4zMjV6IE0zMzMuMTc1LDE2Ny4xNzkNCgkJCXYwLjAwNGwxMS42NSwxMS42MzdjNi41Nyw2LjU4OSw2LjY2MywxNy4yMjMsMC4yMDgsMjMuOTI1bC0zNS43NzUtMzUuNzc1QzMxNi4wMzMsMTYwLjcwOSwzMjYuNTExLDE2MC44LDMzMy4xNzUsMTY3LjE3OXoNCgkJCSBNMjk3LjE4MywxNzkuMDM4bDMyLjE4LDMyLjE3MmwzLjYwMywzLjYwM2wtMTEuODU4LDExLjg1N2wtMTcuODg3LTE3Ljg4OWwtMTcuODg4LTE3Ljg5TDI5Ny4xODMsMTc5LjAzOHogTTI3My4yNjcsMjAyLjk1OQ0KCQkJbDExLjg1MiwxMS44NTNsLTk1LjU4Nyw5NS41ODlsLTExLjg1Ni0xMS44NTVMMjczLjI2NywyMDIuOTU5eiIvPg0KCTwvZz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjwvc3ZnPg0K" alt="알고리즘"/></div><div class="category-item__name">알고리즘</div></a></li><li class="CategoryMenu__CategoryItem-lfwotq-2 beJVrs"><a class="category-item__link" href="/category/study"><div class="category-item__image"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/Pg0KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDE5LjAuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPg0KPHN2ZyB2ZXJzaW9uPSIxLjEiIGlkPSJDYXBhXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgNDk2LjQ4NSA0OTYuNDg1IiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCA0OTYuNDg1IDQ5Ni40ODU7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxjaXJjbGUgc3R5bGU9ImZpbGw6IzJFQTJEQjsiIGN4PSIyNTQuNDQ4IiBjeT0iMTM2LjUzMyIgcj0iMTM2LjUzMyIvPg0KPHBhdGggc3R5bGU9ImZpbGw6I0YxNjA1MTsiIGQ9Ik00NzMuMjEyLDQxNC4yNTVoLTM2LjQ2MXY3NC40NzNoMzYuNDYxYzguNTMzLDAsMTUuNTE1LTYuOTgyLDE1LjUxNS0xNS41MTVWNDI5Ljc3DQoJQzQ4OC43MjcsNDIxLjIzNiw0ODEuNzQ1LDQxNC4yNTUsNDczLjIxMiw0MTQuMjU1eiIvPg0KPHBhdGggc3R5bGU9ImZpbGw6IzE5MzY1MTsiIGQ9Ik00NzMuMjEyLDQ5Ni40ODVoLTM2LjQ2MWMtNC42NTUsMC03Ljc1OC0zLjEwMy03Ljc1OC03Ljc1OHYtNzQuNDczYzAtNC42NTUsMy4xMDMtNy43NTgsNy43NTgtNy43NTgNCgloMzYuNDYxYzEzLjE4OCwwLDIzLjI3MywxMC4wODUsMjMuMjczLDIzLjI3M3Y0My40NDJDNDk2LjQ4NSw0ODYuNCw0ODYuNCw0OTYuNDg1LDQ3My4yMTIsNDk2LjQ4NXogTTQ0NC41MDksNDgwLjk3aDI4LjcwMw0KCWM0LjY1NSwwLDcuNzU4LTMuMTAzLDcuNzU4LTcuNzU4VjQyOS43N2MwLTQuNjU1LTMuMTAzLTcuNzU4LTcuNzU4LTcuNzU4aC0yOC43MDNWNDgwLjk3eiIvPg0KPHBvbHlnb24gc3R5bGU9ImZpbGw6I0ZEQkY1RTsiIHBvaW50cz0iNzkuMTI3LDQ4OC43MjcgNzkuMTI3LDQxNC4yNTUgNy43NTgsNDUxLjQ5MSAiLz4NCjxwYXRoIHN0eWxlPSJmaWxsOiMxOTM2NTE7IiBkPSJNNzkuMTI3LDQ5Ni40ODVjLTEuNTUyLDAtMi4zMjcsMC0zLjg3OS0wLjc3NmwtNzEuMzctMzcuMjM2QzEuNTUyLDQ1Ni45MjEsMCw0NTQuNTk0LDAsNDUxLjQ5MQ0KCWMwLTMuMTAzLDEuNTUyLTUuNDMsMy44NzktNi45ODJsNzEuMzctMzcuMjM2YzIuMzI3LTEuNTUyLDUuNDMtMC43NzYsNy43NTgsMGMyLjMyNywxLjU1MiwzLjg3OSwzLjg3OSwzLjg3OSw2Ljk4MnY3NC40NzMNCgljMCwyLjMyNy0xLjU1Miw1LjQzLTMuODc5LDYuOTgyQzgyLjIzLDQ5Ni40ODUsODAuNjc5LDQ5Ni40ODUsNzkuMTI3LDQ5Ni40ODV6IE0yNC44MjQsNDUxLjQ5MWw0Ny4zMjEsMjQuODI0di00OS42NDgNCglMMjQuODI0LDQ1MS40OTF6Ii8+DQo8cmVjdCB4PSI3OS4xMjciIHk9IjQxNC4yNTUiIHN0eWxlPSJmaWxsOiNFMUU2RTk7IiB3aWR0aD0iMzU2Ljg0OSIgaGVpZ2h0PSI3NC40NzMiLz4NCjxwYXRoIHN0eWxlPSJmaWxsOiMxOTM2NTE7IiBkPSJNNDM2Ljc1Miw0OTYuNDg1SDc5LjkwM2MtNC42NTUsMC03Ljc1OC0zLjEwMy03Ljc1OC03Ljc1OHYtNzQuNDczYzAtNC42NTUsMy4xMDMtNy43NTgsNy43NTgtNy43NTgNCgloMzU2Ljg0OWM0LjY1NSwwLDcuNzU4LDMuMTAzLDcuNzU4LDcuNzU4djc0LjQ3M0M0NDQuNTA5LDQ5My4zODIsNDQwLjYzLDQ5Ni40ODUsNDM2Ljc1Miw0OTYuNDg1eiBNODYuODg1LDQ4MC45N2gzNDEuMzMzdi01OC45NTgNCglIODYuODg1Qzg2Ljg4NSw0MjIuMDEyLDg2Ljg4NSw0ODAuOTcsODYuODg1LDQ4MC45N3oiLz4NCjxyZWN0IHg9IjEwMi40IiB5PSI0MzkuMDc5IiBzdHlsZT0iZmlsbDojRkZGRkZGOyIgd2lkdGg9IjMxMC4zMDMiIGhlaWdodD0iMjQuODI0Ii8+DQo8cmVjdCB4PSI3OS4xMjciIHk9IjM1OC40IiBzdHlsZT0iZmlsbDojMkVBMkRCOyIgd2lkdGg9IjI3MS41MTUiIGhlaWdodD0iNTUuMDc5Ii8+DQo8cGF0aCBzdHlsZT0iZmlsbDojMTkzNjUxOyIgZD0iTTM1MC42NDIsNDIyLjAxMkg3OS4xMjdjLTQuNjU1LDAtNy43NTgtMy4xMDMtNy43NTgtNy43NTh2LTU1LjA3OWMwLTQuNjU1LDMuMTAzLTcuNzU4LDcuNzU4LTcuNzU4DQoJaDI3MS41MTVjNC42NTUsMCw3Ljc1OCwzLjEwMyw3Ljc1OCw3Ljc1OHY1NS4wNzlDMzU4LjQsNDE4LjEzMywzNTUuMjk3LDQyMi4wMTIsMzUwLjY0Miw0MjIuMDEyeiBNODYuODg1LDQwNi40OTdoMjU2di0zOS41NjRoLTI1Ng0KCUM4Ni44ODUsMzY2LjkzMyw4Ni44ODUsNDA2LjQ5Nyw4Ni44ODUsNDA2LjQ5N3oiLz4NCjxnPg0KCTxyZWN0IHg9IjExMi40ODUiIHk9IjM2Ni45MzMiIHN0eWxlPSJmaWxsOiNGRkZGRkY7IiB3aWR0aD0iNS40MyIgaGVpZ2h0PSIzOS41NjQiLz4NCgk8cmVjdCB4PSIxMjQuODk3IiB5PSIzNjYuOTMzIiBzdHlsZT0iZmlsbDojRkZGRkZGOyIgd2lkdGg9IjEzLjE4OCIgaGVpZ2h0PSIzOS41NjQiLz4NCgk8cmVjdCB4PSIzMTIuNDc1IiB5PSIzNjYuMjM1IiBzdHlsZT0iZmlsbDojRkZGRkZGOyIgd2lkdGg9IjUuNDMiIGhlaWdodD0iMzkuNTY0Ii8+DQoJPHJlY3QgeD0iMjkyLjQ2MSIgeT0iMzY2LjIzNSIgc3R5bGU9ImZpbGw6I0ZGRkZGRjsiIHdpZHRoPSIxMy4xODgiIGhlaWdodD0iMzkuNTY0Ii8+DQo8L2c+DQo8cmVjdCB4PSI3OS4xMjciIHk9IjMwMy4zMjEiIHN0eWxlPSJmaWxsOiNGMTYwNTE7IiB3aWR0aD0iMjcxLjUxNSIgaGVpZ2h0PSI1NS4wNzkiLz4NCjxwYXRoIHN0eWxlPSJmaWxsOiMxOTM2NTE7IiBkPSJNMzUwLjY0MiwzNjYuMTU4SDc5LjEyN2MtNC42NTUsMC03Ljc1OC0zLjEwMy03Ljc1OC03Ljc1OHYtNTUuMDc5YzAtNC42NTUsMy4xMDMtNy43NTgsNy43NTgtNy43NTgNCgloMjcxLjUxNWM0LjY1NSwwLDcuNzU4LDMuMTAzLDcuNzU4LDcuNzU4VjM1OC40QzM1OC40LDM2My4wNTUsMzU1LjI5NywzNjYuMTU4LDM1MC42NDIsMzY2LjE1OHogTTg2Ljg4NSwzNTAuNjQyaDI1NnYtMzkuNTY0aC0yNTYNCglDODYuODg1LDMxMS4wNzksODYuODg1LDM1MC42NDIsODYuODg1LDM1MC42NDJ6Ii8+DQo8Zz4NCgk8cmVjdCB4PSIxMTIuNDg1IiB5PSIzMTEuMDc5IiBzdHlsZT0iZmlsbDojRkZGRkZGOyIgd2lkdGg9IjUuNDMiIGhlaWdodD0iMzkuNTY0Ii8+DQoJPHJlY3QgeD0iMTI0Ljg5NyIgeT0iMzExLjA3OSIgc3R5bGU9ImZpbGw6I0ZGRkZGRjsiIHdpZHRoPSIxMy4xODgiIGhlaWdodD0iMzkuNTY0Ii8+DQoJPHJlY3QgeD0iMzEyLjQ3NSIgeT0iMzExLjY5OSIgc3R5bGU9ImZpbGw6I0ZGRkZGRjsiIHdpZHRoPSI1LjQzIiBoZWlnaHQ9IjM5LjU2NCIvPg0KCTxyZWN0IHg9IjI5Mi40NjEiIHk9IjMxMS42OTkiIHN0eWxlPSJmaWxsOiNGRkZGRkY7IiB3aWR0aD0iMTMuMTg4IiBoZWlnaHQ9IjM5LjU2NCIvPg0KCTxwYXRoIHN0eWxlPSJmaWxsOiNGRkZGRkY7IiBkPSJNNDY1LjQ1NSwzNzguNTdoLTkxLjUzOWMtMTMuMTg4LDAtMjMuMjczLDEwLjA4NS0yMy4yNzMsMjMuMjczdjExLjYzNmgxMzguMDg1di0xMS42MzYNCgkJQzQ4OC43MjcsMzg5LjQzLDQ3OC42NDIsMzc4LjU3LDQ2NS40NTUsMzc4LjU3eiIvPg0KPC9nPg0KPGc+DQoJPHBhdGggc3R5bGU9ImZpbGw6IzE5MzY1MTsiIGQ9Ik00NjUuNDU1LDM3MC44MTJoLTkxLjUzOWMtMTcuMDY3LDAtMzEuMDMsMTMuOTY0LTMxLjAzLDMxLjAzdjExLjYzNg0KCQljMCw0LjY1NSwzLjEwMyw3Ljc1OCw3Ljc1OCw3Ljc1OGgxMzguMDg1YzQuNjU1LDAsNy43NTgtMy4xMDMsNy43NTgtNy43NTh2LTExLjYzNg0KCQlDNDk2LjQ4NSwzODQuNzc2LDQ4Mi41MjEsMzcwLjgxMiw0NjUuNDU1LDM3MC44MTJ6IE00ODAuOTcsNDA2LjQ5N0gzNTguNHYtMy44NzljMC04LjUzMyw2Ljk4Mi0xNS41MTUsMTUuNTE1LTE1LjUxNWg5MS41MzkNCgkJYzguNTMzLDAsMTUuNTE1LDYuOTgyLDE1LjUxNSwxNS41MTVWNDA2LjQ5N3oiLz4NCgk8cGF0aCBzdHlsZT0iZmlsbDojMTkzNjUxOyIgZD0iTTQwNy4yNzMsMzg2LjMyN2MtMy44NzktMC43NzYtNi4yMDYtNS40My01LjQzLTkuMzA5bDQyLjY2Ny0xNTguMjU1TDI4My45MjcsNTYuNjMNCgkJYy0zLjEwMy0zLjEwMy0zLjEwMy03Ljc1OCwwLTEwLjg2MWMzLjEwMy0zLjEwMyw3Ljc1OC0zLjEwMywxMC44NjEsMGwxNjMuNjg1LDE2NS4yMzZjMi4zMjcsMi4zMjcsMi4zMjcsNC42NTUsMi4zMjcsNy43NTgNCgkJbC00NC4yMTgsMTYyLjEzM0M0MTUuMDMsMzg0Ljc3Niw0MTEuMTUyLDM4Ny4xMDMsNDA3LjI3MywzODYuMzI3eiIvPg0KCTxyZWN0IHg9IjE1MC40OTciIHk9IjE1Mi44MjQiIHN0eWxlPSJmaWxsOiMxOTM2NTE7IiB3aWR0aD0iMTUuNTE1IiBoZWlnaHQ9IjEzLjk2NCIvPg0KPC9nPg0KPHJlY3QgeD0iMTYwLjU2OCIgeT0iMTg5LjEyOCIgdHJhbnNmb3JtPSJtYXRyaXgoLTAuODY2IDAuNSAtMC41IC0wLjg2NiA0MTIuMTU1NiAyODEuNzgwNCkiIHN0eWxlPSJmaWxsOiMxOTM2NTE7IiB3aWR0aD0iMTUuNTE1IiBoZWlnaHQ9IjEzLjk2MyIvPg0KPGc+DQoJDQoJCTxyZWN0IHg9IjE4Ni43MjEiIHk9IjIxNi4wMDIiIHRyYW5zZm9ybT0ibWF0cml4KC0wLjUwMDIgMC44NjU5IC0wLjg2NTkgLTAuNTAwMiA0ODQuODM5OSAxNjYuMTIwNSkiIHN0eWxlPSJmaWxsOiMxOTM2NTE7IiB3aWR0aD0iMTUuNTE1IiBoZWlnaHQ9IjEzLjk2NCIvPg0KCTxyZWN0IHg9IjIyNC4xOTQiIHk9IjIyNC45NyIgc3R5bGU9ImZpbGw6IzE5MzY1MTsiIHdpZHRoPSIxMy45NjQiIGhlaWdodD0iMTUuNTE1Ii8+DQo8L2c+DQo8cG9seWdvbiBzdHlsZT0iZmlsbDojRkRCRjVFOyIgcG9pbnRzPSIzMjMuNDkxLDQwLjMzOSAyOTAuMTMzLDc0LjQ3MyAxNzMuNzcsMTEwLjkzMyAyODAuMDQ4LDIxNy4yMTIgMzE3LjI4NSwxMDAuODQ4IA0KCTM1MC42NDIsNjcuNDkxICIvPg0KPHBhdGggc3R5bGU9ImZpbGw6IzE5MzY1MTsiIGQ9Ik0yODAuMDQ4LDIyNC45N2MtMi4zMjcsMC0zLjg3OS0wLjc3Ni01LjQzLTIuMzI3TDE2OC4zMzksMTE2LjM2NA0KCWMtMS41NTItMS41NTItMi4zMjctNC42NTUtMi4zMjctNi45ODJjMC43NzYtMi4zMjcsMi4zMjctNC42NTUsNS40My01LjQzbDExNC4wMzYtMzUuNjg1bDMyLjU4Mi0zMy4zNTgNCgljMy4xMDMtMy4xMDMsNy43NTgtMy4xMDMsMTAuODYxLDBsMjcuMTUyLDI3LjE1MmMxLjU1MiwxLjU1MiwyLjMyNywzLjEwMywyLjMyNyw1LjQzYzAsMi4zMjctMC43NzYsMy44NzktMi4zMjcsNS40Mw0KCWwtMzIuNTgyLDMyLjU4MmwtMzUuNjg1LDExNC4wMzZjLTAuNzc2LDIuMzI3LTMuMTAzLDQuNjU1LTUuNDMsNS40M0MyODEuNiwyMjQuOTcsMjgwLjgyNCwyMjQuOTcsMjgwLjA0OCwyMjQuOTd6IE0xODguNTA5LDExNC4wMzYNCglsODguNDM2LDg4LjQzNmwzMi41ODItMTAzLjk1MmMwLTEuNTUyLDAuNzc2LTIuMzI3LDEuNTUyLTMuMTAzbDI3LjkyNy0yNy45MjdsLTE1LjUxNS0xNS41MTVsLTI3LjkyNywyNy45MjcNCgljLTAuNzc2LDAuNzc2LTIuMzI3LDEuNTUyLTMuMTAzLDEuNTUyTDE4OC41MDksMTE0LjAzNnoiLz4NCjxnPg0KCTxwb2x5Z29uIHN0eWxlPSJmaWxsOiNGRkZGRkY7IiBwb2ludHM9IjI2OS45NjQsMTA3LjA1NSAyMTguNzY0LDEyMy4zNDUgMjY3LjYzNiwxNzIuMjE4IDI4My45MjcsMTIxLjAxOCAJIi8+DQoJPHBhdGggc3R5bGU9ImZpbGw6I0ZGRkZGRjsiIGQ9Ik0yMDAuOTIxLDEzOC44NjFjLTEzLjk2NCwxMy45NjQtMTMuOTY0LDM3LjIzNiwwLDUxLjJjMTMuOTY0LDEzLjk2NCwzNy4yMzYsMTMuOTY0LDUxLjIsMA0KCQlMMjAwLjkyMSwxMzguODYxeiIvPg0KPC9nPg0KPHBhdGggc3R5bGU9ImZpbGw6IzE5MzY1MTsiIGQ9Ik0yMjYuNTIxLDIwOC42NzljLTExLjYzNiwwLTIyLjQ5Ny00LjY1NS0zMS4wMy0xMy4xODhzLTEzLjE4OC0xOS4zOTQtMTMuMTg4LTMxLjAzDQoJczQuNjU1LTIyLjQ5NywxMy4xODgtMzEuMDNjMy4xMDMtMy4xMDMsNy43NTgtMy4xMDMsMTAuODYxLDBsNTEuMiw1MS4yYzEuNTUyLDEuNTUyLDIuMzI3LDMuMTAzLDIuMzI3LDUuNDMNCgljMCwyLjMyNy0wLjc3NiwzLjg3OS0yLjMyNyw1LjQzQzI0OS4wMTgsMjA0LjAyNCwyMzguMTU4LDIwOC42NzksMjI2LjUyMSwyMDguNjc5eiBNMjAxLjY5NywxNTAuNDk3DQoJYy0yLjMyNywzLjg3OS0zLjg3OSw5LjMwOS0zLjg3OSwxMy45NjRjMCw3Ljc1OCwzLjEwMywxNC43MzksOC41MzMsMjAuMTdjOS4zMDksOC41MzMsMjMuMjczLDEwLjg2MSwzNC4xMzMsNC42NTVMMjAxLjY5NywxNTAuNDk3eg0KCSIvPg0KPGNpcmNsZSBzdHlsZT0iZmlsbDojRkZGRkZGOyIgY3g9IjQ1My4wNDIiIGN5PSIyMTYuNDM2IiByPSIyMi40OTciLz4NCjxwYXRoIHN0eWxlPSJmaWxsOiMxOTM2NTE7IiBkPSJNNDUzLjA0MiwyNDYuNjkxYy0xNi4yOTEsMC0zMC4yNTUtMTMuMTg4LTMwLjI1NS0zMC4yNTVjMC0xNi4yOTEsMTMuMTg4LTMwLjI1NSwzMC4yNTUtMzAuMjU1DQoJYzE2LjI5MSwwLDMwLjI1NSwxMy4xODgsMzAuMjU1LDMwLjI1NUM0ODMuMjk3LDIzMi43MjcsNDY5LjMzMywyNDYuNjkxLDQ1My4wNDIsMjQ2LjY5MXogTTQ1My4wNDIsMjAxLjY5Nw0KCWMtNy43NTgsMC0xNC43MzksNi4yMDYtMTQuNzM5LDE0LjczOWMwLDcuNzU4LDYuMjA2LDE0LjczOSwxNC43MzksMTQuNzM5YzcuNzU4LDAsMTQuNzM5LTYuMjA2LDE0LjczOS0xNC43MzkNCglDNDY3Ljc4MiwyMDguNjc5LDQ2MC44LDIwMS42OTcsNDUzLjA0MiwyMDEuNjk3eiIvPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPC9zdmc+DQo=" alt="스터디"/></div><div class="category-item__name">스터디</div></a></li></ul></nav><div class="PostCard__PostCardWrapper-sc-1tm6sq-0 dTIPbZ"><a class="post-card-link" href="/category/blog/graphql-introduce/"><p class="PostCard__PostCardEmoji-sc-1tm6sq-1 gbDaBa"><img class="emoji" draggable="false" alt="📘" src="https://twemoji.maxcdn.com/v/12.1.6/svg/1f4d8.svg"/></p><div class="PostCard__PostCardContent-sc-1tm6sq-2 hYEGGd"><h3>[GraphQL] GraphQL에 대해서</h3><time>2020.11.25</time><div class="CategoryLabel__Wrapper-m6lbf0-0 ewFmUv"><span class="category-text" style="background:#ffa22b">블로그</span></div></div></a></div><div class="PostCard__PostCardWrapper-sc-1tm6sq-0 dTIPbZ"><a class="post-card-link" href="/category/blog/spring/redis/spring-data-redis-version-issue/"><p class="PostCard__PostCardEmoji-sc-1tm6sq-1 gbDaBa"><img class="emoji" draggable="false" alt="❓" src="https://twemoji.maxcdn.com/v/12.1.6/svg/2753.svg"/></p><div class="PostCard__PostCardContent-sc-1tm6sq-2 hYEGGd"><h3>[Spring] Spring Boot 2.3.2.RELEASE 버전 Redis 이슈</h3><time>2020.11.20</time><div class="CategoryLabel__Wrapper-m6lbf0-0 ewFmUv"><span class="category-text" style="background:#ffa22b">블로그</span></div></div></a></div><div class="PostCard__PostCardWrapper-sc-1tm6sq-0 dTIPbZ"><a class="post-card-link" href="/category/blog/spring-transactional-precautions/"><p class="PostCard__PostCardEmoji-sc-1tm6sq-1 gbDaBa"><img class="emoji" draggable="false" alt="🚧" src="https://twemoji.maxcdn.com/v/12.1.6/svg/1f6a7.svg"/></p><div class="PostCard__PostCardContent-sc-1tm6sq-2 hYEGGd"><h3>[Spring] @Transactional 사용 시 주의점과 JPQL 주의점</h3><time>2020.11.14</time><div class="CategoryLabel__Wrapper-m6lbf0-0 ewFmUv"><span class="category-text" style="background:#ffa22b">블로그</span></div></div></a></div><div class="PostCard__PostCardWrapper-sc-1tm6sq-0 dTIPbZ"><a class="post-card-link" href="/category/study/jpa-programming/chapter7-persistence-context-and-jpql/"><p class="PostCard__PostCardEmoji-sc-1tm6sq-1 gbDaBa"><img class="emoji" draggable="false" alt="📦" src="https://twemoji.maxcdn.com/v/12.1.6/svg/1f4e6.svg"/></p><div class="PostCard__PostCardContent-sc-1tm6sq-2 hYEGGd"><h3>[JPA 프로그래밍] 7. 영속성 컨텍스트와 JPQL</h3><time>2020.11.11</time><div class="CategoryLabel__Wrapper-m6lbf0-0 ewFmUv"><span class="category-text" style="background:#C0D545">스터디</span></div></div></a></div><div class="PostCard__PostCardWrapper-sc-1tm6sq-0 dTIPbZ"><a class="post-card-link" href="/category/study/jpa-programming/chapter6-object-oriented-query-language/"><p class="PostCard__PostCardEmoji-sc-1tm6sq-1 gbDaBa"><img class="emoji" draggable="false" alt="📝" src="https://twemoji.maxcdn.com/v/12.1.6/svg/1f4dd.svg"/></p><div class="PostCard__PostCardContent-sc-1tm6sq-2 hYEGGd"><h3>[JPA 프로그래밍] 6. 객체지향 쿼리 언어</h3><time>2020.11.04</time><div class="CategoryLabel__Wrapper-m6lbf0-0 ewFmUv"><span class="category-text" style="background:#C0D545">스터디</span></div></div></a></div><div class="PostCard__PostCardWrapper-sc-1tm6sq-0 dTIPbZ"><a class="post-card-link" href="/category/study/jpa-programming/chapter5-relationship-mapping/"><p class="PostCard__PostCardEmoji-sc-1tm6sq-1 gbDaBa"><img class="emoji" draggable="false" alt="🤼♂️" src="https://twemoji.maxcdn.com/v/12.1.6/svg/1f93c-200d-2642-fe0f.svg"/></p><div class="PostCard__PostCardContent-sc-1tm6sq-2 hYEGGd"><h3>[JPA 프로그래밍] 5. 연관 관계 매핑</h3><time>2020.10.27</time><div class="CategoryLabel__Wrapper-m6lbf0-0 ewFmUv"><span class="category-text" style="background:#C0D545">스터디</span></div></div></a></div><div class="PostCard__PostCardWrapper-sc-1tm6sq-0 dTIPbZ"><a class="post-card-link" href="/category/study/jpa-programming/chapter4-entity-mapping/"><p class="PostCard__PostCardEmoji-sc-1tm6sq-1 gbDaBa"><img class="emoji" draggable="false" alt="⛳️" src="https://twemoji.maxcdn.com/v/12.1.6/svg/26f3.svg"/></p><div class="PostCard__PostCardContent-sc-1tm6sq-2 hYEGGd"><h3>[JPA 프로그래밍] 4. 엔티티 매핑</h3><time>2020.10.22</time><div class="CategoryLabel__Wrapper-m6lbf0-0 ewFmUv"><span class="category-text" style="background:#C0D545">스터디</span></div></div></a></div><div class="PostCard__PostCardWrapper-sc-1tm6sq-0 dTIPbZ"><a class="post-card-link" href="/category/study/jpa-programming/chapter3-persistence-context/"><p class="PostCard__PostCardEmoji-sc-1tm6sq-1 gbDaBa"><img class="emoji" draggable="false" alt="⏰" src="https://twemoji.maxcdn.com/v/12.1.6/svg/23f0.svg"/></p><div class="PostCard__PostCardContent-sc-1tm6sq-2 hYEGGd"><h3>[JPA 프로그래밍] 3. 영속성 관리</h3><time>2020.10.18</time><div class="CategoryLabel__Wrapper-m6lbf0-0 ewFmUv"><span class="category-text" style="background:#C0D545">스터디</span></div></div></a></div><div class="PostCard__PostCardWrapper-sc-1tm6sq-0 dTIPbZ"><a class="post-card-link" href="/category/study/jpa-programming/chapter2-jpa-start/"><p class="PostCard__PostCardEmoji-sc-1tm6sq-1 gbDaBa"><img class="emoji" draggable="false" alt="🚥" src="https://twemoji.maxcdn.com/v/12.1.6/svg/1f6a5.svg"/></p><div class="PostCard__PostCardContent-sc-1tm6sq-2 hYEGGd"><h3>[JPA 프로그래밍] 2. JPA 시작</h3><time>2020.10.12</time><div class="CategoryLabel__Wrapper-m6lbf0-0 ewFmUv"><span class="category-text" style="background:#C0D545">스터디</span></div></div></a></div><div class="PostCard__PostCardWrapper-sc-1tm6sq-0 dTIPbZ"><a class="post-card-link" href="/category/study/jpa-programming/chapter1-jpa-introduction/"><p class="PostCard__PostCardEmoji-sc-1tm6sq-1 gbDaBa"><img class="emoji" draggable="false" alt="🙌🏻" src="https://twemoji.maxcdn.com/v/12.1.6/svg/1f64c-1f3fb.svg"/></p><div class="PostCard__PostCardContent-sc-1tm6sq-2 hYEGGd"><h3>[JPA 프로그래밍] 1. JPA 소개</h3><time>2020.10.05</time><div class="CategoryLabel__Wrapper-m6lbf0-0 ewFmUv"><span class="category-text" style="background:#C0D545">스터디</span></div></div></a></div><div class="PostCard__PostCardWrapper-sc-1tm6sq-0 dTIPbZ"><a class="post-card-link" href="/category/blog/spring-jpa-one-to-many-save-issue/"><p class="PostCard__PostCardEmoji-sc-1tm6sq-1 gbDaBa"><img class="emoji" draggable="false" alt="💭" src="https://twemoji.maxcdn.com/v/12.1.6/svg/1f4ad.svg"/></p><div class="PostCard__PostCardContent-sc-1tm6sq-2 hYEGGd"><h3>[Spring JPA] 1:N 관계 엔티티 save시 update 쿼리가 추가로 발생하는 이슈</h3><time>2020.09.25</time><div class="CategoryLabel__Wrapper-m6lbf0-0 ewFmUv"><span class="category-text" style="background:#ffa22b">블로그</span></div></div></a></div><div class="PostCard__PostCardWrapper-sc-1tm6sq-0 dTIPbZ"><a class="post-card-link" href="/category/blog/aws-eb-deploy/"><p class="PostCard__PostCardEmoji-sc-1tm6sq-1 gbDaBa"><img class="emoji" draggable="false" alt="🚀" src="https://twemoji.maxcdn.com/v/12.1.6/svg/1f680.svg"/></p><div class="PostCard__PostCardContent-sc-1tm6sq-2 hYEGGd"><h3>[AWS EB] AWS Elastic Beanstalk로 서버 배포 하기</h3><time>2020.09.02</time><div class="CategoryLabel__Wrapper-m6lbf0-0 ewFmUv"><span class="category-text" style="background:#ffa22b">블로그</span></div></div></a></div><div class="PostCard__PostCardWrapper-sc-1tm6sq-0 dTIPbZ"><a class="post-card-link" href="/category/blog/http-post-redirect-to-get/"><p class="PostCard__PostCardEmoji-sc-1tm6sq-1 gbDaBa"><img class="emoji" draggable="false" alt="❔" src="https://twemoji.maxcdn.com/v/12.1.6/svg/2754.svg"/></p><div class="PostCard__PostCardContent-sc-1tm6sq-2 hYEGGd"><h3>왜 리다이렉트시 HTTP 메소드들은 GET 메서드로 리다이렉션 될까?</h3><time>2020.08.27</time><div class="CategoryLabel__Wrapper-m6lbf0-0 ewFmUv"><span class="category-text" style="background:#ffa22b">블로그</span></div></div></a></div><div class="PostCard__PostCardWrapper-sc-1tm6sq-0 dTIPbZ"><a class="post-card-link" href="/category/algorithm/bfs-dfs/target-number/"><p class="PostCard__PostCardEmoji-sc-1tm6sq-1 gbDaBa"><img class="emoji" draggable="false" alt="🔢" src="https://twemoji.maxcdn.com/v/12.1.6/svg/1f522.svg"/></p><div class="PostCard__PostCardContent-sc-1tm6sq-2 hYEGGd"><h3>[프로그래머스] DFS & BFS - 타겟 넘버 / Python</h3><time>2020.08.25</time><div class="CategoryLabel__Wrapper-m6lbf0-0 ewFmUv"><span class="category-text" style="background:#f7615f">알고리즘</span></div></div></a></div><div class="PostCard__PostCardWrapper-sc-1tm6sq-0 dTIPbZ"><a class="post-card-link" href="/category/blog/aws-eb-https/"><p class="PostCard__PostCardEmoji-sc-1tm6sq-1 gbDaBa"><img class="emoji" draggable="false" alt="🔐" src="https://twemoji.maxcdn.com/v/12.1.6/svg/1f510.svg"/></p><div class="PostCard__PostCardContent-sc-1tm6sq-2 hYEGGd"><h3>AWS EB에서 HTTPS 적용하기 + Route 53에 도메인 등록하기</h3><time>2020.08.23</time><div class="CategoryLabel__Wrapper-m6lbf0-0 ewFmUv"><span class="category-text" style="background:#ffa22b">블로그</span></div></div></a></div><div class="PostCard__PostCardWrapper-sc-1tm6sq-0 dTIPbZ"><a class="post-card-link" href="/category/algorithm/dp/long-run/"><p class="PostCard__PostCardEmoji-sc-1tm6sq-1 gbDaBa"><img class="emoji" draggable="false" alt="🏃🏼♂️" src="https://twemoji.maxcdn.com/v/12.1.6/svg/1f3c3-1f3fc-200d-2642-fe0f.svg"/></p><div class="PostCard__PostCardContent-sc-1tm6sq-2 hYEGGd"><h3>[프로그래머스] DP - 멀리 뛰기 / Python</h3><time>2020.08.15</time><div class="CategoryLabel__Wrapper-m6lbf0-0 ewFmUv"><span class="category-text" style="background:#f7615f">알고리즘</span></div></div></a></div><div class="PostCard__PostCardWrapper-sc-1tm6sq-0 dTIPbZ"><a class="post-card-link" href="/category/study/toby-spring/spring-core-technology/"><p class="PostCard__PostCardEmoji-sc-1tm6sq-1 gbDaBa"><img class="emoji" draggable="false" alt="🌟" src="https://twemoji.maxcdn.com/v/12.1.6/svg/1f31f.svg"/></p><div class="PostCard__PostCardContent-sc-1tm6sq-2 hYEGGd"><h3>[토비의 스프링] 7. 스프링 핵심 기술의 응용</h3><time>2020.07.24</time><div class="CategoryLabel__Wrapper-m6lbf0-0 ewFmUv"><span class="category-text" style="background:#C0D545">스터디</span></div></div></a></div><div class="PostCard__PostCardWrapper-sc-1tm6sq-0 dTIPbZ"><a class="post-card-link" href="/category/study/toby-spring/aop/transaction-property/"><p class="PostCard__PostCardEmoji-sc-1tm6sq-1 gbDaBa"><img class="emoji" draggable="false" alt="🧩" src="https://twemoji.maxcdn.com/v/12.1.6/svg/1f9e9.svg"/></p><div class="PostCard__PostCardContent-sc-1tm6sq-2 hYEGGd"><h3>[토비의 스프링] 6-3. AOP - 트랜잭션 속성</h3><time>2020.07.20</time><div class="CategoryLabel__Wrapper-m6lbf0-0 ewFmUv"><span class="category-text" style="background:#C0D545">스터디</span></div></div></a></div><div class="PostCard__PostCardWrapper-sc-1tm6sq-0 dTIPbZ"><a class="post-card-link" href="/category/algorithm/dp/school-road/"><p class="PostCard__PostCardEmoji-sc-1tm6sq-1 gbDaBa"><img class="emoji" draggable="false" alt="🚌" src="https://twemoji.maxcdn.com/v/12.1.6/svg/1f68c.svg"/></p><div class="PostCard__PostCardContent-sc-1tm6sq-2 hYEGGd"><h3>[프로그래머스] DP - 등굣길 / Python</h3><time>2020.07.18</time><div class="CategoryLabel__Wrapper-m6lbf0-0 ewFmUv"><span class="category-text" style="background:#f7615f">알고리즘</span></div></div></a></div><div class="PostCard__PostCardWrapper-sc-1tm6sq-0 dTIPbZ"><a class="post-card-link" href="/category/study/toby-spring/aop/basic-concept/"><p class="PostCard__PostCardEmoji-sc-1tm6sq-1 gbDaBa"><img class="emoji" draggable="false" alt="📙" src="https://twemoji.maxcdn.com/v/12.1.6/svg/1f4d9.svg"/></p><div class="PostCard__PostCardContent-sc-1tm6sq-2 hYEGGd"><h3>[토비의 스프링] 6-2. AOP - 기본 용어</h3><time>2020.07.16</time><div class="CategoryLabel__Wrapper-m6lbf0-0 ewFmUv"><span class="category-text" style="background:#C0D545">스터디</span></div></div></a></div><div class="PostCard__PostCardWrapper-sc-1tm6sq-0 dTIPbZ"><a class="post-card-link" href="/category/algorithm/brute-force-search/find-prime-numbers/"><p class="PostCard__PostCardEmoji-sc-1tm6sq-1 gbDaBa"><img class="emoji" draggable="false" alt="🔍" src="https://twemoji.maxcdn.com/v/12.1.6/svg/1f50d.svg"/></p><div class="PostCard__PostCardContent-sc-1tm6sq-2 hYEGGd"><h3>[프로그래머스] 완전탐색 - 소수 찾기 / Python</h3><time>2020.07.14</time><div class="CategoryLabel__Wrapper-m6lbf0-0 ewFmUv"><span class="category-text" style="background:#f7615f">알고리즘</span></div></div></a></div><div class="PostCard__PostCardWrapper-sc-1tm6sq-0 dTIPbZ"><a class="post-card-link" href="/category/algorithm/hash/camouflage/"><p class="PostCard__PostCardEmoji-sc-1tm6sq-1 gbDaBa"><img class="emoji" draggable="false" alt="🌫" src="https://twemoji.maxcdn.com/v/12.1.6/svg/1f32b.svg"/></p><div class="PostCard__PostCardContent-sc-1tm6sq-2 hYEGGd"><h3>[프로그래머스] 해시 - 위장 / Python</h3><time>2020.07.12</time><div class="CategoryLabel__Wrapper-m6lbf0-0 ewFmUv"><span class="category-text" style="background:#f7615f">알고리즘</span></div></div></a></div><div class="PostCard__PostCardWrapper-sc-1tm6sq-0 dTIPbZ"><a class="post-card-link" href="/category/study/toby-spring/aop/unit-test-and-proxy/"><p class="PostCard__PostCardEmoji-sc-1tm6sq-1 gbDaBa"><img class="emoji" draggable="false" alt="ℹ️" src="https://twemoji.maxcdn.com/v/12.1.6/svg/2139.svg"/></p><div class="PostCard__PostCardContent-sc-1tm6sq-2 hYEGGd"><h3>[토비의 스프링] 6-1. AOP - 단위 테스트와 프록시</h3><time>2020.07.11</time><div class="CategoryLabel__Wrapper-m6lbf0-0 ewFmUv"><span class="category-text" style="background:#C0D545">스터디</span></div></div></a></div><div class="PostCard__PostCardWrapper-sc-1tm6sq-0 dTIPbZ"><a class="post-card-link" href="/category/algorithm/dp/tile-decorations/"><p class="PostCard__PostCardEmoji-sc-1tm6sq-1 gbDaBa"><img class="emoji" draggable="false" alt="🖼" src="https://twemoji.maxcdn.com/v/12.1.6/svg/1f5bc.svg"/></p><div class="PostCard__PostCardContent-sc-1tm6sq-2 hYEGGd"><h3>[프로그래머스] DP - 타일 장식물 / Python</h3><time>2020.07.09</time><div class="CategoryLabel__Wrapper-m6lbf0-0 ewFmUv"><span class="category-text" style="background:#f7615f">알고리즘</span></div></div></a></div><div class="PostCard__PostCardWrapper-sc-1tm6sq-0 dTIPbZ"><a class="post-card-link" href="/category/study/toby-spring/service-abstraction/mockup-test/"><p class="PostCard__PostCardEmoji-sc-1tm6sq-1 gbDaBa"><img class="emoji" draggable="false" alt="⚠️" src="https://twemoji.maxcdn.com/v/12.1.6/svg/26a0.svg"/></p><div class="PostCard__PostCardContent-sc-1tm6sq-2 hYEGGd"><h3>[토비의 스프링] 5-2. 단일 책임 원칙과 테스트 추상화</h3><time>2020.07.07</time><div class="CategoryLabel__Wrapper-m6lbf0-0 ewFmUv"><span class="category-text" style="background:#C0D545">스터디</span></div></div></a></div><div class="PostCard__PostCardWrapper-sc-1tm6sq-0 dTIPbZ"><a class="post-card-link" href="/category/algorithm/dp/2xn-tiling/"><p class="PostCard__PostCardEmoji-sc-1tm6sq-1 gbDaBa"><img class="emoji" draggable="false" alt="🔳" src="https://twemoji.maxcdn.com/v/12.1.6/svg/1f533.svg"/></p><div class="PostCard__PostCardContent-sc-1tm6sq-2 hYEGGd"><h3>[프로그래머스] DP - 2xn 타일링 / Python</h3><time>2020.07.05</time><div class="CategoryLabel__Wrapper-m6lbf0-0 ewFmUv"><span class="category-text" style="background:#f7615f">알고리즘</span></div></div></a></div><div class="PostCard__PostCardWrapper-sc-1tm6sq-0 dTIPbZ"><a class="post-card-link" href="/category/study/toby-spring/service-abstraction/transaction/"><p class="PostCard__PostCardEmoji-sc-1tm6sq-1 gbDaBa"><img class="emoji" draggable="false" alt="🔮" src="https://twemoji.maxcdn.com/v/12.1.6/svg/1f52e.svg"/></p><div class="PostCard__PostCardContent-sc-1tm6sq-2 hYEGGd"><h3>[토비의 스프링] 5-1. 서비스 추상화와 트랜잭션</h3><time>2020.07.01</time><div class="CategoryLabel__Wrapper-m6lbf0-0 ewFmUv"><span class="category-text" style="background:#C0D545">스터디</span></div></div></a></div><div class="PostCard__PostCardWrapper-sc-1tm6sq-0 dTIPbZ"><a class="post-card-link" href="/category/blog/spring-jpa-n+1-query/"><p class="PostCard__PostCardEmoji-sc-1tm6sq-1 gbDaBa"><img class="emoji" draggable="false" alt="✅" src="https://twemoji.maxcdn.com/v/12.1.6/svg/2705.svg"/></p><div class="PostCard__PostCardContent-sc-1tm6sq-2 hYEGGd"><h3>Spring JPA(ORM)의 N+1 쿼리 문제 해결</h3><time>2020.06.29</time><div class="CategoryLabel__Wrapper-m6lbf0-0 ewFmUv"><span class="category-text" style="background:#ffa22b">블로그</span></div></div></a></div><div class="PostCard__PostCardWrapper-sc-1tm6sq-0 dTIPbZ"><a class="post-card-link" href="/category/algorithm/hash/best-album/"><p class="PostCard__PostCardEmoji-sc-1tm6sq-1 gbDaBa"><img class="emoji" draggable="false" alt="🎧" src="https://twemoji.maxcdn.com/v/12.1.6/svg/1f3a7.svg"/></p><div class="PostCard__PostCardContent-sc-1tm6sq-2 hYEGGd"><h3>[프로그래머스] 해시 - 베스트 앨범 / Python</h3><time>2020.06.28</time><div class="CategoryLabel__Wrapper-m6lbf0-0 ewFmUv"><span class="category-text" style="background:#f7615f">알고리즘</span></div></div></a></div><div class="PostCard__PostCardWrapper-sc-1tm6sq-0 dTIPbZ"><a class="post-card-link" href="/category/study/toby-spring/spring-exception/"><p class="PostCard__PostCardEmoji-sc-1tm6sq-1 gbDaBa"><img class="emoji" draggable="false" alt="🛠" src="https://twemoji.maxcdn.com/v/12.1.6/svg/1f6e0.svg"/></p><div class="PostCard__PostCardContent-sc-1tm6sq-2 hYEGGd"><h3>[토비의 스프링] 4. 스프링 예외 처리</h3><time>2020.06.27</time><div class="CategoryLabel__Wrapper-m6lbf0-0 ewFmUv"><span class="category-text" style="background:#C0D545">스터디</span></div></div></a></div><div class="PostCard__PostCardWrapper-sc-1tm6sq-0 dTIPbZ"><a class="post-card-link" href="/category/algorithm/bfs-dfs/travel-route/"><p class="PostCard__PostCardEmoji-sc-1tm6sq-1 gbDaBa"><img class="emoji" draggable="false" alt="✈️" src="https://twemoji.maxcdn.com/v/12.1.6/svg/2708.svg"/></p><div class="PostCard__PostCardContent-sc-1tm6sq-2 hYEGGd"><h3>[프로그래머스] DFS & BFS - 여행 경로 / Python</h3><time>2020.06.25</time><div class="CategoryLabel__Wrapper-m6lbf0-0 ewFmUv"><span class="category-text" style="background:#f7615f">알고리즘</span></div></div></a></div><div class="PostCard__PostCardWrapper-sc-1tm6sq-0 dTIPbZ"><a class="post-card-link" href="/category/study/toby-spring/template-callback/"><p class="PostCard__PostCardEmoji-sc-1tm6sq-1 gbDaBa"><img class="emoji" draggable="false" alt="📃" src="https://twemoji.maxcdn.com/v/12.1.6/svg/1f4c3.svg"/></p><div class="PostCard__PostCardContent-sc-1tm6sq-2 hYEGGd"><h3>[토비의 스프링] 3. 전략 패턴과 템플릿/콜백에 대해서</h3><time>2020.06.23</time><div class="CategoryLabel__Wrapper-m6lbf0-0 ewFmUv"><span class="category-text" style="background:#C0D545">스터디</span></div></div></a></div><div class="PostCard__PostCardWrapper-sc-1tm6sq-0 dTIPbZ"><a class="post-card-link" href="/category/algorithm/bfs-dfs/word-conversion/"><p class="PostCard__PostCardEmoji-sc-1tm6sq-1 gbDaBa"><img class="emoji" draggable="false" alt="🔄" src="https://twemoji.maxcdn.com/v/12.1.6/svg/1f504.svg"/></p><div class="PostCard__PostCardContent-sc-1tm6sq-2 hYEGGd"><h3>[프로그래머스] DFS & BFS - 단어 변환 / Python</h3><time>2020.06.21</time><div class="CategoryLabel__Wrapper-m6lbf0-0 ewFmUv"><span class="category-text" style="background:#f7615f">알고리즘</span></div></div></a></div><div class="PostCard__PostCardWrapper-sc-1tm6sq-0 dTIPbZ"><a class="post-card-link" href="/category/study/toby-spring/spring-test/"><p class="PostCard__PostCardEmoji-sc-1tm6sq-1 gbDaBa"><img class="emoji" draggable="false" alt="⚙️" src="https://twemoji.maxcdn.com/v/12.1.6/svg/2699.svg"/></p><div class="PostCard__PostCardContent-sc-1tm6sq-2 hYEGGd"><h3>[토비의 스프링] 2. 테스트에 대해서</h3><time>2020.06.19</time><div class="CategoryLabel__Wrapper-m6lbf0-0 ewFmUv"><span class="category-text" style="background:#C0D545">스터디</span></div></div></a></div><div class="PostCard__PostCardWrapper-sc-1tm6sq-0 dTIPbZ"><a class="post-card-link" href="/category/algorithm/bfs-dfs/network/"><p class="PostCard__PostCardEmoji-sc-1tm6sq-1 gbDaBa"><img class="emoji" draggable="false" alt="🌏" src="https://twemoji.maxcdn.com/v/12.1.6/svg/1f30f.svg"/></p><div class="PostCard__PostCardContent-sc-1tm6sq-2 hYEGGd"><h3>[프로그래머스] DFS & BFS - 네트워크 / Python, Java</h3><time>2020.06.18</time><div class="CategoryLabel__Wrapper-m6lbf0-0 ewFmUv"><span class="category-text" style="background:#f7615f">알고리즘</span></div></div></a></div><div class="PostCard__PostCardWrapper-sc-1tm6sq-0 dTIPbZ"><a class="post-card-link" href="/category/algorithm/binary-search/immigration/"><p class="PostCard__PostCardEmoji-sc-1tm6sq-1 gbDaBa"><img class="emoji" draggable="false" alt="🔏" src="https://twemoji.maxcdn.com/v/12.1.6/svg/1f50f.svg"/></p><div class="PostCard__PostCardContent-sc-1tm6sq-2 hYEGGd"><h3>[프로그래머스] 이진탐색 - 입국심사 / Python</h3><time>2020.06.17</time><div class="CategoryLabel__Wrapper-m6lbf0-0 ewFmUv"><span class="category-text" style="background:#f7615f">알고리즘</span></div></div></a></div><div class="PostCard__PostCardWrapper-sc-1tm6sq-0 dTIPbZ"><a class="post-card-link" href="/category/blog/about-multi-thread-env/"><p class="PostCard__PostCardEmoji-sc-1tm6sq-1 gbDaBa"><img class="emoji" draggable="false" alt="🏘" src="https://twemoji.maxcdn.com/v/12.1.6/svg/1f3d8.svg"/></p><div class="PostCard__PostCardContent-sc-1tm6sq-2 hYEGGd"><h3>멀티 스레드 환경의 자원 공유에 대하여</h3><time>2020.06.16</time><div class="CategoryLabel__Wrapper-m6lbf0-0 ewFmUv"><span class="category-text" style="background:#ffa22b">블로그</span></div></div></a></div><div class="PostCard__PostCardWrapper-sc-1tm6sq-0 dTIPbZ"><a class="post-card-link" href="/category/algorithm/greedy/island-connection/"><p class="PostCard__PostCardEmoji-sc-1tm6sq-1 gbDaBa"><img class="emoji" draggable="false" alt="🏝" src="https://twemoji.maxcdn.com/v/12.1.6/svg/1f3dd.svg"/></p><div class="PostCard__PostCardContent-sc-1tm6sq-2 hYEGGd"><h3>[프로그래머스] 그리디 - 섬 연결하기 / Python</h3><time>2020.06.15</time><div class="CategoryLabel__Wrapper-m6lbf0-0 ewFmUv"><span class="category-text" style="background:#f7615f">알고리즘</span></div></div></a></div><div class="PostCard__PostCardWrapper-sc-1tm6sq-0 dTIPbZ"><a class="post-card-link" href="/category/study/toby-spring/object-dependency/dependency-injection/"><p class="PostCard__PostCardEmoji-sc-1tm6sq-1 gbDaBa"><img class="emoji" draggable="false" alt="📥" src="https://twemoji.maxcdn.com/v/12.1.6/svg/1f4e5.svg"/></p><div class="PostCard__PostCardContent-sc-1tm6sq-2 hYEGGd"><h3>[토비의 스프링] 1. 오브젝트와 의존관계 - 의존관계 주입(DI)</h3><time>2020.06.13</time><div class="CategoryLabel__Wrapper-m6lbf0-0 ewFmUv"><span class="category-text" style="background:#C0D545">스터디</span></div></div></a></div><div class="PostCard__PostCardWrapper-sc-1tm6sq-0 dTIPbZ"><a class="post-card-link" href="/category/algorithm/greedy/speed-enforcement-camera/"><p class="PostCard__PostCardEmoji-sc-1tm6sq-1 gbDaBa"><img class="emoji" draggable="false" alt="📸" src="https://twemoji.maxcdn.com/v/12.1.6/svg/1f4f8.svg"/></p><div class="PostCard__PostCardContent-sc-1tm6sq-2 hYEGGd"><h3>[프로그래머스] 그리디 - 단속 카메라 / Python</h3><time>2020.06.12</time><div class="CategoryLabel__Wrapper-m6lbf0-0 ewFmUv"><span class="category-text" style="background:#f7615f">알고리즘</span></div></div></a></div><div class="PostCard__PostCardWrapper-sc-1tm6sq-0 dTIPbZ"><a class="post-card-link" href="/category/blog/performance-comparison-prisma-typeorm/"><p class="PostCard__PostCardEmoji-sc-1tm6sq-1 gbDaBa"><img class="emoji" draggable="false" alt="⁉️" src="https://twemoji.maxcdn.com/v/12.1.6/svg/2049.svg"/></p><div class="PostCard__PostCardContent-sc-1tm6sq-2 hYEGGd"><h3>Prisma와 TypeORM은 성능에 차이가 있을까?</h3><time>2020.06.11</time><div class="CategoryLabel__Wrapper-m6lbf0-0 ewFmUv"><span class="category-text" style="background:#ffa22b">블로그</span></div></div></a></div><div class="PostCard__PostCardWrapper-sc-1tm6sq-0 dTIPbZ"><a class="post-card-link" href="/category/study/toby-spring/object-dependency/singleton-registry/"><p class="PostCard__PostCardEmoji-sc-1tm6sq-1 gbDaBa"><img class="emoji" draggable="false" alt="🔭" src="https://twemoji.maxcdn.com/v/12.1.6/svg/1f52d.svg"/></p><div class="PostCard__PostCardContent-sc-1tm6sq-2 hYEGGd"><h3>[토비의 스프링] 1. 오브젝트와 의존관계 - 싱글톤 레지스트리와 오브젝트 스코프</h3><time>2020.06.10</time><div class="CategoryLabel__Wrapper-m6lbf0-0 ewFmUv"><span class="category-text" style="background:#C0D545">스터디</span></div></div></a></div><div class="PostCard__PostCardWrapper-sc-1tm6sq-0 dTIPbZ"><a class="post-card-link" href="/category/study/toby-spring/object-dependency/spring-ioc/"><p class="PostCard__PostCardEmoji-sc-1tm6sq-1 gbDaBa"><img class="emoji" draggable="false" alt="📖" src="https://twemoji.maxcdn.com/v/12.1.6/svg/1f4d6.svg"/></p><div class="PostCard__PostCardContent-sc-1tm6sq-2 hYEGGd"><h3>[토비의 스프링] 1. 오브젝트와 의존관계 - 스프링의 IoC</h3><time>2020.06.09</time><div class="CategoryLabel__Wrapper-m6lbf0-0 ewFmUv"><span class="category-text" style="background:#C0D545">스터디</span></div></div></a></div><div class="PostCard__PostCardWrapper-sc-1tm6sq-0 dTIPbZ"><a class="post-card-link" href="/category/algorithm/greedy/scale/"><p class="PostCard__PostCardEmoji-sc-1tm6sq-1 gbDaBa"><img class="emoji" draggable="false" alt="⚖️" src="https://twemoji.maxcdn.com/v/12.1.6/svg/2696.svg"/></p><div class="PostCard__PostCardContent-sc-1tm6sq-2 hYEGGd"><h3>[프로그래머스] 그리디 - 저울 / Python</h3><time>2020.06.08</time><div class="CategoryLabel__Wrapper-m6lbf0-0 ewFmUv"><span class="category-text" style="background:#f7615f">알고리즘</span></div></div></a></div><div class="PostCard__PostCardWrapper-sc-1tm6sq-0 dTIPbZ"><a class="post-card-link" href="/category/blog/getting-started-utterances/"><p class="PostCard__PostCardEmoji-sc-1tm6sq-1 gbDaBa"><img class="emoji" draggable="false" alt="💬" src="https://twemoji.maxcdn.com/v/12.1.6/svg/1f4ac.svg"/></p><div class="PostCard__PostCardContent-sc-1tm6sq-2 hYEGGd"><h3>Gatsby 블로그 - utterances 소셜 댓글 기능 도입하기</h3><time>2020.06.07</time><div class="CategoryLabel__Wrapper-m6lbf0-0 ewFmUv"><span class="category-text" style="background:#ffa22b">블로그</span></div></div></a></div><div class="PostCard__PostCardWrapper-sc-1tm6sq-0 dTIPbZ"><a class="post-card-link" href="/category/algorithm/competition/2018-kakao/news-clustering/"><p class="PostCard__PostCardEmoji-sc-1tm6sq-1 gbDaBa"><img class="emoji" draggable="false" alt="🌤" src="https://twemoji.maxcdn.com/v/12.1.6/svg/1f324.svg"/></p><div class="PostCard__PostCardContent-sc-1tm6sq-2 hYEGGd"><h3>[프로그래머스] [1차] 2018 카카오 - 뉴스 클러스터링 / Python</h3><time>2020.06.05</time><div class="CategoryLabel__Wrapper-m6lbf0-0 ewFmUv"><span class="category-text" style="background:#f7615f">알고리즘</span></div></div></a></div><div class="PostCard__PostCardWrapper-sc-1tm6sq-0 dTIPbZ"><a class="post-card-link" href="/category/blog/getting-started-markdown/"><p class="PostCard__PostCardEmoji-sc-1tm6sq-1 gbDaBa"><img class="emoji" draggable="false" alt="📋" src="https://twemoji.maxcdn.com/v/12.1.6/svg/1f4cb.svg"/></p><div class="PostCard__PostCardContent-sc-1tm6sq-2 hYEGGd"><h3>마크다운 (Markdown) 문법 알아보기</h3><time>2020.06.04</time><div class="CategoryLabel__Wrapper-m6lbf0-0 ewFmUv"><span class="category-text" style="background:#ffa22b">블로그</span></div></div></a></div><div class="PostCard__PostCardWrapper-sc-1tm6sq-0 dTIPbZ"><a class="post-card-link" href="/category/algorithm/competition/2018-kakao/n-base-game/"><p class="PostCard__PostCardEmoji-sc-1tm6sq-1 gbDaBa"><img class="emoji" draggable="false" alt="🎮" src="https://twemoji.maxcdn.com/v/12.1.6/svg/1f3ae.svg"/></p><div class="PostCard__PostCardContent-sc-1tm6sq-2 hYEGGd"><h3>[프로그래머스] [3차] 2018 카카오 - n진수 게임 / Python</h3><time>2020.06.02</time><div class="CategoryLabel__Wrapper-m6lbf0-0 ewFmUv"><span class="category-text" style="background:#f7615f">알고리즘</span></div></div></a></div><div class="PostCard__PostCardWrapper-sc-1tm6sq-0 dTIPbZ"><a class="post-card-link" href="/category/algorithm/competition/2018-kakao/cache/"><p class="PostCard__PostCardEmoji-sc-1tm6sq-1 gbDaBa"><img class="emoji" draggable="false" alt="📚" src="https://twemoji.maxcdn.com/v/12.1.6/svg/1f4da.svg"/></p><div class="PostCard__PostCardContent-sc-1tm6sq-2 hYEGGd"><h3>[프로그래머스] [1차] 2018 카카오 - 캐시 / Python</h3><time>2020.05.30</time><div class="CategoryLabel__Wrapper-m6lbf0-0 ewFmUv"><span class="category-text" style="background:#f7615f">알고리즘</span></div></div></a></div></div><div class="Bio__BioWrapper-sc-1p2fzdk-0 hHuvPI"><div class="Bio__BioHeader-sc-1p2fzdk-2 eVYoiM"><img src="/static/avatar-c5732e69e427dc0059678a756666580e.png" alt="wwlee94" class="Bio__AvatarImage-sc-1p2fzdk-1 PECYf"/><div class="Bio__BioName-sc-1p2fzdk-3 gobrdQ">wwlee94</div></div><div class="Bio__BioMain-sc-1p2fzdk-4 huBels"><div class="Bio__BioText-sc-1p2fzdk-5 gJRwpF"><p>📚'기억보다 기록을' 목표로 </p><p> 공부한 내용을 정리하는 블로그 ✔︎</p></div><div class="Bio__BioLinks-sc-1p2fzdk-6 hTwKlC"><a href="https://www.notion.so/LEE-Woo-won-aa26875d3b4f40cdb4a75f86a77a0862" class="Bio__BioLink-sc-1p2fzdk-7 hEfKMb"><svg xmlns="http://www.w3.org/2000/svg" focusable="false" style="transform:rotate(360deg)" width="32" height="32" preserveAspectRatio="xMidYMid meet" viewBox="0 0 24 24"><path d="M4.459 4.208c.746.606 1.026.56 2.428.466l13.215-.793c.28 0 .047-.28-.046-.326L17.86 1.968c-.42-.326-.981-.7-2.055-.607L3.01 2.295c-.466.046-.56.28-.374.466zm.793 3.08v13.904c0 .747.373 1.027 1.214.98l14.523-.84c.841-.046.935-.56.935-1.167V6.354c0-.606-.233-.933-.748-.887l-15.177.887c-.56.047-.747.327-.747.933zm14.337.745c.093.42 0 .84-.42.888l-.7.14v10.264c-.608.327-1.168.514-1.635.514c-.748 0-.935-.234-1.495-.933l-4.577-7.186v6.952L12.21 19s0 .84-1.168.84l-3.222.186c-.093-.186 0-.653.327-.746l.84-.233V9.854L7.822 9.76c-.094-.42.14-1.026.793-1.073l3.456-.233l4.764 7.279v-6.44l-1.215-.139c-.093-.514.28-.887.747-.933zM1.936 1.035l13.31-.98c1.634-.14 2.055-.047 3.082.7l4.249 2.986c.7.513.934.653.934 1.213v16.378c0 1.026-.373 1.634-1.68 1.726l-15.458.934c-.98.047-1.448-.093-1.962-.747l-3.129-4.06c-.56-.747-.793-1.306-.793-1.96V2.667c0-.839.374-1.54 1.447-1.632z" fill="currentColor"/></svg></a><a href="https://github.com/wwlee94" class="Bio__BioLink-sc-1p2fzdk-7 hEfKMb"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 496 512" size="32" height="32" width="32" xmlns="http://www.w3.org/2000/svg"><path d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"></path></svg></a><a class="Bio__BioLink-sc-1p2fzdk-7 hEfKMb bio-link--email" href="mailto:wwlee94@naver.com"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 24 24" size="32" height="32" width="32" xmlns="http://www.w3.org/2000/svg"><path d="M20 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 4l-8 5-8-5V6l8 5 8-5v2z"></path></svg></a></div></div></div></div></main></div></div><footer class="Footer__FooterContent-zn4blm-0 qFAAr"><div class="ContentWrapper__IndexContent-sc-11a8f56-0 eYfJyt"><div class="Footer__FooterInner-zn4blm-1 gQCnFr"><div>© <!-- -->2022<!-- -->, Blausee. All rights reserved.</div></div></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>
if(true) {
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
}
if (typeof ga === "function") {
ga('create', 'none', 'auto', {});
}</script><script id="gatsby-script-loader">/*<![CDATA[*/window.pagePath="/";/*]]>*/</script><script id="gatsby-chunk-mapping">/*<![CDATA[*/window.___chunkMapping={"app":["/app-89429f537d9a1df97907.js"],"component---node-modules-gatsby-plugin-offline-app-shell-js":["/component---node-modules-gatsby-plugin-offline-app-shell-js-71ad33effa27f873a1fc.js"],"component---src-pages-404-tsx":["/component---src-pages-404-tsx-aaabd06a16a990d9871a.js"],"component---src-pages-index-tsx":["/component---src-pages-index-tsx-10d6ca52cb891d226318.js"],"component---src-templates-categories-tsx":["/component---src-templates-categories-tsx-8dab18d4fe118a7a95b5.js"],"component---src-templates-post-tsx":["/component---src-templates-post-tsx-61975928013a32dc06b9.js"]};/*]]>*/</script><script src="/component---src-pages-index-tsx-10d6ca52cb891d226318.js" async=""></script><script src="/e51bce8a6a1e2f80f21b6ba026f4a8af0763000b-7cc60d64b84b523b8c8b.js" async=""></script><script src="/53b27b57f60ee3e1ca57a66cde9add975dffb161-93fa836e42eda3f94876.js" async=""></script><script src="/252f366e-914e4d372a4f086759be.js" async=""></script><script src="/1bfc9850-195fa7a09fc2744fd99e.js" async=""></script><script src="/de71a805-ab927e1633c63597cfb4.js" async=""></script><script src="/app-89429f537d9a1df97907.js" async=""></script><script src="/styles-09367947dddffb36886c.js" async=""></script><script src="/framework-59a9ef51c55d9b62f7de.js" async=""></script><script src="/webpack-runtime-cce8e936c5dadeac0036.js" async=""></script></body></html>