diff --git a/404.html b/404.html new file mode 100644 index 0000000..e24335c --- /dev/null +++ b/404.html @@ -0,0 +1,294 @@ + + + + + + + + + + + + + + + + 페이지를 찾을 수 없습니다. | SpringRunner + + + + + + + + + + + + + + + + +
+
+ +
+ +
+
+ + + +
+ + +
+
+ 페이지를 찾을 수 없습니다. +
+ + Gopher + Go Home... + +
+

+ 페이지를 찾을 수 없습니다. +

+
+
+
+
+ +
+ + + +
+
+ + + + + + + diff --git a/CNAME b/CNAME index a9c986b..1f26179 100644 --- a/CNAME +++ b/CNAME @@ -1 +1 @@ -springrunner.dev \ No newline at end of file +springrunner.dev diff --git a/android-chrome-192x192.png b/android-chrome-192x192.png new file mode 100755 index 0000000..126f2e0 Binary files /dev/null and b/android-chrome-192x192.png differ diff --git a/android-chrome-512x512.png b/android-chrome-512x512.png new file mode 100755 index 0000000..7a52c04 Binary files /dev/null and b/android-chrome-512x512.png differ diff --git a/apple-touch-icon.png b/apple-touch-icon.png new file mode 100755 index 0000000..aa5972a Binary files /dev/null and b/apple-touch-icon.png differ diff --git a/assets/css/custom.css b/assets/css/custom.css new file mode 100644 index 0000000..e535cfb --- /dev/null +++ b/assets/css/custom.css @@ -0,0 +1,86 @@ +.widget.sep-after:after { + margin-top: 1.76em; +} + +.widget-about .logo { + max-width: 100%; +} + +.widget-about .logo img { + border-radius: 5px; +} + +.btn-register { + padding: 10px 15px; + overflow: hidden; + border-width: 0; + outline: none; + border-radius: 2px; + box-shadow: 0 1px 4px rgba(0, 0, 0, .6); + background-color: #26a69a; + color: #ecf0f1; + transition: background-color .3s; + border-bottom: none !important; +} + +.btn-register:hover, .btn-register:focus { + background-color: #35BAAC; +} + +.btn-register > * { + position: relative; +} + +.btn-register span { + display: block; + padding: 12px 24px; +} + +.btn-register:before { + content: ""; + position: absolute; + top: 50%; + left: 50%; + display: block; + width: 0; + padding-top: 0; + border-radius: 100%; + background-color: rgba(236, 240, 241, .3); + -webkit-transform: translate(-50%, -50%); + -moz-transform: translate(-50%, -50%); + -ms-transform: translate(-50%, -50%); + -o-transform: translate(-50%, -50%); + transform: translate(-50%, -50%); +} + +.btn-register:active:before { + width: 120%; + padding-top: 120%; + transition: width .2s ease-out, padding-top .2s ease-out; +} + +.btn-register.orange { + background-color: #e67e22; +} + +.btn-register.orange:hover, .btn-register.orange:focus { + background-color: #d35400; +} + +.btn-register.gray { + color:rgb(160, 160, 160); + background-color:rgb(78, 78, 78); +} + +.btn-register.gray:hover, .btn-register.gray:focus { + color:rgb(160, 160, 160); + background-color: rgb(78, 78, 78); +} + +.btn-register.red { + background-color: #e74c3c; +} + +.btn-register.red:hover, .btn-register.red:focus { + background-color: #c0392b; +} \ No newline at end of file diff --git a/assets/css/main.4a10984a.css b/assets/css/main.4a10984a.css new file mode 100644 index 0000000..55dd2ff --- /dev/null +++ b/assets/css/main.4a10984a.css @@ -0,0 +1,5 @@ +/*! normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,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}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}[hidden],template{display:none} +/*! + * Theme Name: Minimo + * Author: Munif Tanjim + */body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;font-size:1em;line-height:1.5;color:#37474f;word-wrap:break-word}@media screen and (min-width:480px){body{font-size:1.125em}}.title,h1,h2,h3,h4,h5,h6{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;font-weight:700;line-height:1.2;color:#263238;margin:0 0 .625em}.comment-content h2,.comment-content h3,.comment-content h4,.comment-content h5,.comment-content h6,.entry-content h2,.entry-content h3,.entry-content h4,.entry-content h5,.entry-content h6{margin-top:1.5em}.comment-content h2:first-child,.comment-content h3:first-child,.comment-content h4:first-child,.comment-content h5:first-child,.comment-content h6:first-child,.entry-content h2:first-child,.entry-content h3:first-child,.entry-content h4:first-child,.entry-content h5:first-child,.entry-content h6:first-child{margin-top:0}.site-title,h1{font-size:2em}h2{font-size:1.75em}h3{font-size:1.5em}h4{font-size:1.375em}h5{font-size:1.25em}h6{font-size:1.125em}p{margin:0 0 1.5em}blockquote,cite,dfn,em,i{font-style:italic}blockquote{font-size:1.125em;padding-left:1em;border-left:.2em solid #bdbdbd}address,blockquote{margin:0 0 1.5em}code,kbd,pre,samp,var{font-family:Menlo,Consolas,Monaco,Ubuntu Mono,Liberation Mono,Lucida Console,monospace;background:#eee;color:#212121;border:1px solid #dcdcdc;border-radius:.25em;padding:.1em .25em}pre{overflow:auto;word-wrap:normal;text-align:initial;margin-bottom:1.5em;padding:.75em 1em}pre code,pre kbd,pre samp,pre var{background:none;color:inherit;border:0;padding:0}code,kbd,samp,var{font-size:.9375em}.highlight pre{border:0;margin:0}.comment-content .highlight,.entry-content .highlight{margin-bottom:1.5em}abbr,acronym{border-bottom:1px dotted #212121;cursor:help}ins,mark{background:#212121;text-decoration:none}big{font-size:125%}.desc{font-style:italic}html{box-sizing:border-box}*,:after,:before{box-sizing:inherit}blockquote,q{quotes:"" ""}blockquote:after,blockquote:before,q:after,q:before{content:""}blockquote :last-child,q :last-child{margin-bottom:0}hr{border:0;height:1px;margin:2em 0;background-color:#bdbdbd}img{max-width:100%;height:auto}figure{margin:1em 0}a{color:#212121;text-decoration:none;transition:color .1s ease-in-out}a:focus{outline-color:#ffcd00;outline-color:var(--color-accent)}a:active,a:hover{outline:0}a:active,a:focus,a:hover{color:#37474f}a.button{display:inline-block}ol,ul{padding:0;margin:0 0 1.5em 2em}ul{list-style:disc}ol{list-style:decimal}li>ol,li>ul{padding-left:1.5em;margin-bottom:0;margin-left:.5em}dt{font-weight:700}dd{margin:0 1.5em 1.5em}table,td,th{border:1px solid #bdbdbd}table{width:100%;margin:0 0 1.5em;table-layout:fixed;border-collapse:separate;border-spacing:0;border-width:1px 0 0 1px}caption,td,th{font-weight:400;text-align:left}th{font-weight:700}td,th{border-width:0 1px 1px 0}td,th{padding:.375em}.button,button,input[type=button],input[type=reset],input[type=submit]{width:auto;padding:.5em .75em;border:1px solid #bdbdbd;border-radius:.2em;background:#fff;color:#37474f;font-size:1em;font-weight:700;line-height:1.15;text-align:center;letter-spacing:1px;white-space:nowrap;text-transform:uppercase;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;transition:.1s ease-in-out}.button:focus,button:focus,input[type=button]:focus,input[type=reset]:focus,input[type=submit]:focus{outline-color:#ffcd00;outline-color:var(--color-accent)}.button:active,.button:hover,button:active,button:hover,input[type=button]:active,input[type=button]:hover,input[type=reset]:active,input[type=reset]:hover,input[type=submit]:active,input[type=submit]:hover{outline:0}.button:active,.button:focus,.button:hover,button:active,button:focus,button:hover,input[type=button]:active,input[type=button]:focus,input[type=button]:hover,input[type=reset]:active,input[type=reset]:focus,input[type=reset]:hover,input[type=submit]:active,input[type=submit]:focus,input[type=submit]:hover{background:#37474f;color:#fff}input,select,textarea{width:100%;padding:.625em .875em;border:1px solid #bdbdbd;border-radius:.2em;color:#37474f;transition:.1s ease-in-out}input:focus,select:focus,textarea:focus{border-color:#ffcd00;outline-color:transparent}label{font-weight:700;letter-spacing:1px}.menu ul{list-style:none;margin:0}.menu li{text-transform:uppercase}.menu li.current>a{font-weight:700;pointer-events:none}.main-menu>div{display:flex;align-items:center}.main-menu li{display:inline-block;margin-right:.625em}.main-menu li:last-child{margin-right:0}.sidebar-menu .item{display:flex;flex-flow:row wrap;justify-content:flex-end}.sidebar-menu .has-current>a{font-style:italic}.sidebar-menu .sub-menu{display:none;padding-left:0;flex:100%;flex-shrink:0}.sidebar-menu .sub-menu .item:not(.has-children){padding-right:1.2em}.sub-menu-toggler{border:0;padding:0;margin-left:.2em;font-weight:400;width:1em}.sub-menu-toggler:active,.sub-menu-toggler:focus,.sub-menu-toggler:hover{background:none}.sub-menu-toggler>.sign{position:relative;top:-2px}.sub-menu-toggler>.sign:after{content:"+"}.toggled>.sub-menu{display:block}.toggled>.sub-menu-toggler>.sign:after{content:"\2013"}.menu a,.sidebar-toggler span,.sub-menu-toggler,.widget-social_menu a{color:#455a64}.menu a:focus,.menu a:hover,.sidebar-toggler span:focus,.sidebar-toggler span:hover,.sub-menu-toggler:focus,.sub-menu-toggler:hover,.widget-social_menu a:focus,.widget-social_menu a:hover{color:#263238}.entry-nav .sep-before:nth-child(2):before{width:2em;margin:1em 0}.entry-nav div a{display:block;font-style:italic}.entry-nav div span{display:block;font-style:normal;font-size:.875em}.page-links{margin-top:2em}.page-link{display:inline-block;padding:.25em .625em}.page-link:first-child{padding-left:0}.page-link:last-child{padding-right:0}.page-link.current{font-weight:700}.page-link.dots{padding:0}.site{overflow-x:hidden}.main{width:100%;padding-top:2em;transition:margin-left .2s}.sidebar.toggled~.main{margin-left:300px}@media screen and (min-width:920px){.main{width:auto}.has-sidebar .main{float:left;margin-left:300px;padding-left:2em}}.container{width:100%;max-width:740px;padding:0 20px;margin:0 auto}.has-sidebar .container{margin-left:0}.sep-after:after,.sep-before:before{content:"";display:block;width:4em;margin-top:2.5em;margin-bottom:2.5em;border-bottom:.125em solid #bdbdbd}.sidebar{visibility:hidden;float:left;left:-300px;position:absolute;width:300px;max-width:100%;min-height:100%;padding:2em 0;margin-right:-100%;outline:0;z-index:99999;transition:left .2s;text-align:right;background:#fff}.sidebar.toggled{visibility:visible;left:0}.sidebar .sep-after:after{margin-left:auto}@media screen and (min-width:920px){.sidebar{visibility:visible;left:0}}.sidebar-toggler{background:none;border:0}.sidebar-toggler .icon{font-size:1.25em}.sidebar-toggler:active,.sidebar-toggler:focus,.sidebar-toggler:hover{background:none}.main .sidebar-toggler{padding:0;position:absolute;right:20px}.main .sidebar-toggler .close{display:none}.main-menu .sidebar-toggler{position:static;margin-right:.75em}.sidebar .sidebar-toggler{position:absolute;top:.5em;left:.5em;z-index:2027}.sidebar .sidebar-toggler .open{display:none}@media screen and (min-width:920px){.sidebar-toggler{display:none}}.sidebar-overlay{display:none}.sidebar.toggled .sidebar-overlay{display:block}.sidebar.toggled .sidebar-overlay:after{content:"";display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:-2027;background:#fff;opacity:.75}@media screen and (min-width:920px){.sidebar.toggled .sidebar-overlay{display:none}}.header .sep-after:after{border-bottom-color:#ffcd00;border-bottom-color:var(--color-accent)}.has-cover .header .sep-after:after,.site-header{display:none}.error404 .site-header,.home .site-header{display:flex}.header-info{margin-top:1.5em}.header-info .title{margin-bottom:0}.header-info .desc{margin:.5em 0 0}.header-info .taxonomy-name{font-size:.875em;margin-right:.25em;font-style:italic}.entry-meta{margin-top:.75em}.entry-meta span{font-size:.9375em;margin-right:.75em;font-style:italic}.entry-meta .icon{margin-right:.25em}.entry-cover figure{margin-top:2em;margin-bottom:2.5em}.entry-cover img{display:block}.entry-cover figcaption{text-align:center;margin:.25em auto 0;padding:0}.entry-cover figcaption span{font-size:.875em}.cover-wide{padding:0;max-width:1080px}.cover-full{padding:0;max-width:100%}.cover-full img{width:100%}details,summary{display:block}summary{cursor:pointer}.no-details details:not([open])>:not(summary){display:none}.no-details details>summary:before{content:"\25BC";display:inline-block;margin-right:.25em;transition:.1s;-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}.no-details details[open]>summary:before{-webkit-transform:rotate(0deg);transform:rotate(0deg)}.entry-toc{margin-bottom:2.5em}.entry-toc ul{list-style:none;margin:0}.comment-content>:last-child,.comment-content>:last-child>:last-child,.entry-content>:last-child,.entry-content>:last-child>:last-child{margin-bottom:0}.comment-content a,.entry-content a{border-bottom:.125em dashed #bdbdbd}.comment-content a:focus,.comment-content a:hover,.entry-content a:focus,.entry-content a:hover{border-bottom-color:#ffcd00;border-bottom-color:var(--color-accent)}.comment-content a.footnote-return,.entry-content a.footnote-return{border-bottom:none}.entry-footer .container>div{margin-top:.5em}.entry-footer .container>div:first-child{margin-top:2.5em}.entry-footer .icon{margin-right:.375em}.comments ol{list-style:none;margin:0}.comments-title{font-size:1.25em;margin-bottom:1.5em}.comment{position:relative;margin:1em 0}.comment-header{min-height:3em}.comment .avatar{float:left;height:3em;width:3em;border-radius:.25em;margin-right:.75em}.comment-meta{font-size:.875em}.comment .fn{display:inline-block;margin-top:.1em}.comment .reply{position:absolute;right:0;margin-top:-2em}.comment .reply,.comment .reply a{display:inline-block}.comment-content{margin-top:.75em;border-radius:.25em;border:1px solid #bdbdbd;padding:1em;padding-bottom:2em}.comment-respond{margin:1.5em 0}.comment-reply-title small{display:inline-block;font-size:.5em;margin-left:1em}.comment-form label{display:inline-block;margin-bottom:.25em}.comment-form>div{margin-top:1em}.comment-submission-feedback{display:none;position:relative;border-radius:.25em;border:1px solid #bdbdbd;padding:1.5em;margin-bottom:1.5em}.comment-submission-feedback a{position:absolute;top:1.5em;right:1.5em;font-size:.875em}.comment-submission-feedback:target{display:block}.list{margin:0 auto;list-style:none}.entry+.list-container{margin-top:2.5em}.list .item{display:flex;width:100%;margin-top:1em}.list .item:first-of-type{margin-top:0}.list .item .meta{flex:0 0 6em}.list .item .meta span{font-size:.875em}.list .item-header{flex:1}.list .item-title{font-size:1em;font-weight:400;margin-bottom:0;line-height:inherit}.list .item .icon{margin-right:.25em}.taxonomy-cloud{display:flex;flex-wrap:wrap;align-items:center}.taxonomy-cloud li{max-width:100%;padding:0 1.5em .5em 0;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.footer .sep-before:before{border-bottom-color:#ffcd00;border-bottom-color:var(--color-accent)}.footer a{font-style:italic}.footer .container>div,.footer .container>section{width:100%;margin-top:1em}.footer .container>div:first-child,.footer .container>section:first-child{margin-top:0}.footer .container>div:last-child,.footer .container>section:last-child{margin-bottom:2em}.error404 .gopher{margin:0}.error404 .gopher img{width:17.5em}.error404 .gopher a{display:block;border:0}.error404 .gopher figcaption{margin-top:1em}.error404 .gopher .title{margin-bottom:0}.home-widgets .sep-before:before{display:none}.entry+.home-widgets .sep-before:before{display:block}.icon{display:inline-block;stroke:currentColor;fill:none;position:relative;top:2px}.icon,img.emoji{height:1em;width:1em}img.emoji{margin:0 .05em 0 .1em;vertical-align:-.1em}.layout-archive .list .item{padding-left:1em}.layout-archive .list .item .meta{flex:0 0 3.5em}.archive-group.sep-after:last-child:after{display:none}.search-results li{height:2.5em;line-height:2em;border:1px solid #bdbdbd;border-top-width:0}.search-results li:last-child{border-radius:0 0 .2em .2em}.search-results li.results-empty,.search-results li.searching{font-style:italic}.search-results li a{display:block;padding:.25em .875em}.widget-title{margin-bottom:1em}.widget.sep-after:after{margin-top:1.5em;margin-bottom:1.5em}.widget.sep-after:last-of-type:after{display:none}.sidebar .widget-title{margin-bottom:.5em;font-size:1.25em}.sidebar .widget .container{padding:0}.main-menu+.header-widgets{margin-top:1em}.widget-about .logo{max-width:5em}.widget-about .logo a{display:block;line-height:0}.sidebar .widget-about .logo{margin-left:auto}.widget-about .site-title{margin-bottom:0;font-size:1.75em}.sidebar .widget-about.sep-after:after{border-bottom-color:#ffcd00;border-bottom-color:var(--color-accent)}.widget-breadcrumbs ol{list-style:none;margin:0}.widget-breadcrumbs li{display:inline-block}.widget-breadcrumbs li:after{display:inline-block;padding:0 .25em;speak:none}.widget-breadcrumbs li:last-child:after{display:none}.widget-breadcrumbs li span{font-weight:700}.sidebar .widget-recent_posts .meta{display:none}.sidebar .widget-recent_posts .item{margin-top:0}.widget-search .search-form{position:relative}.widget-search .search-submit{position:absolute;top:0;right:0;height:2.5em;width:2.5em;border-radius:0 .2em .2em 0}.layout-search .widget-search header{display:none}.layout-search .widget-search .search-term{height:2.5em;padding-right:3em;border-radius:.2em .2em 0 0}.widget-social_menu ul{list-style:none;padding:0;margin:0}.widget-social_menu li{display:inline-block;margin-right:.625em}.widget-social_menu li:last-child{margin-right:0}.widget-social_menu li a{font-size:1.125em}.sidebar .widget-social_menu li{margin-right:0;margin-left:.625em}.sidebar .widget-taxonomy_cloud .taxonomy-cloud{justify-content:flex-end;font-size:.875em}.sidebar .widget-taxonomy_cloud li{padding:0 0 .4em .8em}.comment .says,.screen-reader-text{position:absolute;clip:rect(1px,1px,1px,1px);-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;width:1px;margin:-1px;padding:0;border:0;overflow:hidden;word-wrap:normal!important}.comment .says:focus,.screen-reader-text:focus{display:block;left:.5em;top:.5em;clip:auto;-webkit-clip-path:none;clip-path:none;height:auto;width:auto;padding:1em;border-radius:.25em;font-size:.875em;font-weight:700;line-height:normal;text-decoration:none;background:#212121;color:#fafafa;z-index:100000}.align-center{text-align:center}.align-center>blockquote{display:inline-block}.align-center>ol,.align-center>ul{display:inline-block;text-align:initial}.align-center li{word-wrap:normal}.convo ol{display:table;list-style:none;margin:0}.convo li{display:table-row}.convo li>div{display:table-cell;padding-bottom:1.5em}.convo .person{font-size:.9em;font-style:italic;text-align:right}.convo .sep{padding-left:.75em;padding-right:.5em}.text-shortcode *{color:inherit;font-size:1em} diff --git a/assets/css/main.ab98e12b.css b/assets/css/main.ab98e12b.css new file mode 100644 index 0000000..0770c5d --- /dev/null +++ b/assets/css/main.ab98e12b.css @@ -0,0 +1,6 @@ +/*! normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,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}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}[hidden],template{display:none} +@charset "UTF-8"; +/*! + * Theme Name: Minimo + * Author: Munif Tanjim + */body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;font-size:1em;line-height:1.5;color:#37474f;word-wrap:break-word}@media screen and (min-width:480px){body{font-size:1.125em}}.title,h1,h2,h3,h4,h5,h6{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;font-weight:700;line-height:1.2;color:#263238;margin:0 0 .625em}.comment-content h2,.comment-content h3,.comment-content h4,.comment-content h5,.comment-content h6,.entry-content h2,.entry-content h3,.entry-content h4,.entry-content h5,.entry-content h6{margin-top:1.5em}.comment-content h2:first-child,.comment-content h3:first-child,.comment-content h4:first-child,.comment-content h5:first-child,.comment-content h6:first-child,.entry-content h2:first-child,.entry-content h3:first-child,.entry-content h4:first-child,.entry-content h5:first-child,.entry-content h6:first-child{margin-top:0}.site-title,h1{font-size:2em}h2{font-size:1.75em}h3{font-size:1.5em}h4{font-size:1.375em}h5{font-size:1.25em}h6{font-size:1.125em}p{margin:0 0 1.5em}p:last-child{margin:0}blockquote,cite,dfn,em,i{font-style:italic}blockquote{font-size:1.125em;padding-left:1em;border-left:.2em solid #bdbdbd}address,blockquote{margin:0 0 1.5em}code,kbd,pre,samp,var{font-family:Menlo,Consolas,Monaco,Ubuntu Mono,Liberation Mono,Lucida Console,monospace;background:#eee;color:#212121;border:1px solid #dcdcdc;border-radius:.25em;padding:.1em .25em}pre{overflow:auto;word-wrap:normal;text-align:initial;margin-bottom:1.5em;padding:.75em 1em}pre code,pre kbd,pre samp,pre var{background:none;color:inherit;border:0;padding:0}code,kbd,samp,var{font-size:.9375em}.highlight pre{border:0;margin:0}.comment-content .highlight,.entry-content .highlight{margin-bottom:1.5em}abbr,acronym{border-bottom:1px dotted #212121;cursor:help}ins,mark{background:#212121;text-decoration:none}big{font-size:125%}.desc{font-style:italic}html{box-sizing:border-box}*,:after,:before{box-sizing:inherit}blockquote,q{quotes:"" ""}blockquote:after,blockquote:before,q:after,q:before{content:""}blockquote :last-child,q :last-child{margin-bottom:0}hr{border:0;height:1px;margin:2em 0;background-color:#bdbdbd}img{max-width:100%;height:auto}figure{margin:1em 0}a{color:#212121;text-decoration:none;transition:color .1s ease-in-out}a:focus{outline-color:#ffcd00;outline-color:var(--color-accent)}a:active,a:hover{outline:0}a:active,a:focus,a:hover{color:#37474f}a.button{display:inline-block}ol,ul{padding:0;margin:0 0 1.5em 1.5em}ul.task-list{list-style:none}ul.task-list label{font-weight:inherit}ul.task-list input{width:auto;margin-left:-1.5em}li ol,li ul{margin-bottom:0;margin-left:1.5em}dt{font-weight:700}dd{margin:0 1.5em 1.5em}table,td,th{border:1px solid #bdbdbd}table{width:100%;margin:0 0 1.5em;table-layout:fixed;border-collapse:separate;border-spacing:0;border-width:1px 0 0 1px}caption,td,th{font-weight:400;text-align:left}th{font-weight:700}td,th{border-width:0 1px 1px 0}td,th{padding:.375em}.button,button,input[type=button],input[type=reset],input[type=submit]{width:auto;padding:.5em .75em;border:1px solid #bdbdbd;border-radius:.2em;background:#fff;color:#37474f;font-size:1em;font-weight:700;line-height:1.15;text-align:center;letter-spacing:1px;white-space:nowrap;text-transform:uppercase;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;transition:.1s ease-in-out}.button:focus,button:focus,input[type=button]:focus,input[type=reset]:focus,input[type=submit]:focus{outline-color:#ffcd00;outline-color:var(--color-accent)}.button:active,.button:hover,button:active,button:hover,input[type=button]:active,input[type=button]:hover,input[type=reset]:active,input[type=reset]:hover,input[type=submit]:active,input[type=submit]:hover{outline:0}.button:active,.button:focus,.button:hover,button:active,button:focus,button:hover,input[type=button]:active,input[type=button]:focus,input[type=button]:hover,input[type=reset]:active,input[type=reset]:focus,input[type=reset]:hover,input[type=submit]:active,input[type=submit]:focus,input[type=submit]:hover{background:#37474f;color:#fff}input,select,textarea{width:100%;padding:.625em .875em;border:1px solid #bdbdbd;border-radius:.2em;color:#37474f;transition:.1s ease-in-out}input:focus,select:focus,textarea:focus{border-color:#ffcd00;border-color:var(--color-accent);outline-color:transparent}input[type=checkbox],input[type=radio]{width:auto}label{font-weight:700;letter-spacing:1px}.menu ul{list-style:none;margin:0}.menu li{text-transform:uppercase}.menu li.current>a{font-weight:700;pointer-events:none}.main-menu>div{display:flex;align-items:center}.main-menu li{display:inline-block;margin-right:.625em}.main-menu li:last-child{margin-right:0}.sidebar-menu .item{display:flex;flex-flow:row wrap;justify-content:flex-end}.sidebar-menu .has-current>a{font-style:italic}.sidebar-menu .sub-menu{display:none;padding-left:0;flex:100%;flex-shrink:0}.sidebar-menu .sub-menu .item:not(.has-children){padding-right:1.2em}.sub-menu-toggler{border:0;padding:0;margin-left:.2em;font-weight:400;width:1em}.sub-menu-toggler:active,.sub-menu-toggler:focus,.sub-menu-toggler:hover{background:none}.sub-menu-toggler>.sign{position:relative;top:-2px}.sub-menu-toggler>.sign:after{content:"+"}.toggled>.sub-menu{display:block}.toggled>.sub-menu-toggler>.sign:after{content:"–"}.menu a,.sidebar-toggler span,.sub-menu-toggler,.widget-social_menu a{color:#455a64}.menu a:focus,.menu a:hover,.sidebar-toggler span:focus,.sidebar-toggler span:hover,.sub-menu-toggler:focus,.sub-menu-toggler:hover,.widget-social_menu a:focus,.widget-social_menu a:hover{color:#263238}.entry-nav .sep-before:nth-child(2):before{width:2em;margin:1em 0}.entry-nav div a{display:block;font-style:italic}.entry-nav div span{display:block;font-style:normal;font-size:.875em}.page-links{margin-top:2em}.page-link{display:inline-block;padding:.25em .625em}.page-link:first-child{padding-left:0}.page-link:last-child{padding-right:0}.page-link.current{font-weight:700}.page-link.dots{padding:0}body{background:#fff}.site{overflow-x:hidden}.main{width:100%;padding:2em 0;transition:margin-left .2s}.sidebar.toggled~.main{margin-left:300px}@media screen and (min-width:920px){.main{width:auto}.has-sidebar .main{float:left;width:calc(100% - 300px);margin-left:300px;padding-left:2em}}.container{width:100%;max-width:740px;padding:0 20px;margin:0 auto}.has-sidebar .container{margin-left:0}.sep-after:after,.sep-before:before{content:"";display:block;width:4em;margin-top:2.5em;margin-bottom:2.5em;border-bottom:.125em solid #bdbdbd}.sidebar{visibility:hidden;float:left;left:-300px;position:absolute;width:300px;max-width:100%;min-height:100%;padding:2em 0;margin-right:-100%;outline:0;z-index:99999;transition:left .2s;text-align:right;background:#fff}.sidebar.toggled{visibility:visible;left:0}.sidebar .sep-after:after{margin-left:auto}@media screen and (min-width:920px){.sidebar{visibility:visible;left:0}}.sidebar-toggler{background:none;border:0}.sidebar-toggler .icon{font-size:1.25em}.sidebar-toggler:active,.sidebar-toggler:focus,.sidebar-toggler:hover{background:none}.main .sidebar-toggler{padding:0;position:absolute;right:20px}.main .sidebar-toggler .close,.main .sidebar-toggler[aria-expanded=true]{display:none}.main-menu .sidebar-toggler{position:static;margin-right:.75em}.main-menu .sidebar-toggler[aria-expanded=true]{display:inline-block}.sidebar .sidebar-toggler{position:absolute;top:.5em;left:.5em;z-index:2027}.sidebar .sidebar-toggler .open{display:none}@media screen and (min-width:920px){.sidebar-toggler{display:none}}.sidebar-overlay{display:none}.sidebar.toggled .sidebar-overlay{display:block}.sidebar.toggled .sidebar-overlay:after{content:"";display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:-2027;background:#fff;opacity:.75}@media screen and (min-width:920px){.sidebar.toggled .sidebar-overlay{display:none}}.header .sep-after:after{border-bottom-color:#ffcd00;border-bottom-color:var(--color-accent)}.has-cover .header .sep-after:after,.site-header{display:none}.error404 .site-header,.home .site-header{display:flex}.header-info{margin-top:1.5em}.header-info .title{margin-bottom:0}.header-info .desc{margin:.5em 0 0}.header-info .taxonomy-name{font-size:.875em;margin-right:.25em;font-style:italic}.entry-meta{margin-top:.75em}.entry-meta span{font-size:.9375em;margin-right:.75em;font-style:italic}.entry-meta .icon{margin-right:.25em}.entry-cover figure{margin-top:2em;margin-bottom:2.5em}.entry-cover img{display:block}.entry-cover figcaption{text-align:center;margin:.25em auto 0;padding:0}.entry-cover figcaption span{font-size:.875em}.cover-wide{padding:0;max-width:1080px}.cover-full{padding:0;max-width:100%}.cover-full img{width:100%}details,summary{display:block}summary{cursor:pointer}.no-details details:not([open])>:not(summary){display:none}.no-details details>summary:before{content:"\25BC";display:inline-block;margin-right:.25em;transition:.1s;-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}.no-details details[open]>summary:before{-webkit-transform:rotate(0deg);transform:rotate(0deg)}.entry-toc{margin-bottom:2.5em}.entry-toc ul{list-style:none}.entry-toc nav>ul{margin:0}.comment-content>:last-child,.comment-content>:last-child>:last-child,.entry-content>:last-child,.entry-content>:last-child>:last-child{margin-bottom:0}.comment-content a,.entry-content a{border-bottom:.125em dashed #bdbdbd}.comment-content a:focus,.comment-content a:hover,.entry-content a:focus,.entry-content a:hover{border-bottom-color:#ffcd00;border-bottom-color:var(--color-accent)}.comment-content a.footnote-return,.entry-content a.footnote-return{border-bottom:none}.entry-footer .container>div{margin-top:.5em}.entry-footer .container>div:first-child{margin-top:2.5em}.entry-footer .icon{margin-right:.375em}.comments ol{list-style:none}.comments ol.comment-list{margin:0}.comments-title{font-size:1.25em;margin-bottom:1.5em}.comment{position:relative;margin:1em 0}.comment-header{min-height:3em}.comment .avatar{float:left;height:3em;width:3em;border-radius:.25em;margin-right:.75em}.comment-meta{font-size:.875em}.comment .fn{display:inline-block;margin-top:.1em}.comment .reply{position:absolute;right:0;margin-top:-2em}.comment .reply,.comment .reply a{display:inline-block}.comment-content{margin-top:.75em;border-radius:.25em;border:1px solid #bdbdbd;padding:1em 1em 2em}.comment-respond{margin:1.5em 0}.comment-reply-title small{display:inline-block;font-size:.5em;margin-left:1em}.comment-form label{display:inline-block;margin-bottom:.25em}.comment-form>div{margin-top:1em}.comment-submission-feedback{display:none;position:relative;border-radius:.25em;border:1px solid #bdbdbd;padding:1.5em;margin-bottom:1.5em}.comment-submission-feedback a{position:absolute;top:1.5em;right:1.5em;font-size:.875em}.comment-submission-feedback:target{display:block}.list{margin:0 auto;list-style:none}.entry+.list-container{margin-top:2.5em}.list .item{display:flex;width:100%;margin-top:1em}.list .item:first-of-type{margin-top:0}.list .item .meta{flex:0 0 6em}.list .item .meta span{font-size:.875em}.list .item-header{flex:1}.list .item-title{font-size:1em;font-weight:400;margin-bottom:0;line-height:inherit}.list .item .icon{margin-right:.25em}.taxonomy-cloud{display:flex;flex-wrap:wrap;align-items:center}.taxonomy-cloud li{max-width:100%;padding:0 1.5em .5em 0;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.footer .sep-before:before{border-bottom-color:#ffcd00;border-bottom-color:var(--color-accent)}.footer a{font-style:italic}.footer .container>div,.footer .container>section{width:100%;margin-top:1em}.footer .container>div:first-child,.footer .container>section:first-child{margin-top:0}.error404 .gopher{margin:0}.error404 .gopher img{width:17.5em}.error404 .gopher a{display:block;border:0}.error404 .gopher figcaption{margin-top:1em}.error404 .gopher .title{margin-bottom:0}.home-widgets .sep-before:before{display:none}.entry+.home-widgets .sep-before:before{display:block}.icon{display:inline-block;stroke:currentColor;fill:none;position:relative;top:2px}.icon,img.emoji{height:1em;width:1em}img.emoji{margin:0 .05em 0 .1em;vertical-align:-.1em}.layout-archive .list .item{padding-left:1em}.layout-archive .list .item .meta{flex:0 0 3.5em}.archive-group.sep-after:last-child:after{display:none}.search-results li{height:2.5em;line-height:2em;border:1px solid #bdbdbd;border-top:0 solid #bdbdbd}.search-results li:last-child{border-radius:0 0 .2em .2em}.search-results li.results-empty,.search-results li.searching{font-style:italic}.search-results li a{display:block;padding:.25em .875em}.widget-title{margin-bottom:1em}.widget.sep-after:after{margin-top:1.5em;margin-bottom:1.5em}.widget.sep-after:last-of-type:after{display:none}.sidebar .widget-title{margin-bottom:.5em;font-size:1.25em}.sidebar .widget .container{padding:0}.main-menu+.header-widgets{margin-top:1em}.widget-about .logo{max-width:5em}.widget-about .logo a{display:block;line-height:0}.sidebar .widget-about .logo{margin-left:auto}.widget-about .site-title{margin-bottom:0;font-size:1.75em}.sidebar .widget-about.sep-after:after{border-bottom-color:#ffcd00;border-bottom-color:var(--color-accent)}.widget-breadcrumbs ol{list-style:none;margin:0}.widget-breadcrumbs li{display:inline-block}.widget-breadcrumbs li:after{display:inline-block;padding:0 .25em;speak:none}.widget-breadcrumbs li:last-child:after{display:none}.widget-breadcrumbs li span{font-weight:700}.sidebar .widget-recent_posts .meta{display:none}.sidebar .widget-recent_posts .item{margin-top:0}.widget-search .search-form{position:relative}.widget-search .search-submit{position:absolute;top:0;right:0;height:2.5em;width:2.5em;border-radius:0 .2em .2em 0}.layout-search .widget-search header{display:none}.layout-search .widget-search .search-term{height:2.5em;padding-right:3em;border-radius:.2em .2em 0 0}.widget-social_menu ul{list-style:none;margin:0}.widget-social_menu li{display:inline-block;margin-right:.625em}.widget-social_menu li:last-child{margin-right:0}.widget-social_menu li a{font-size:1.125em}.sidebar .widget-social_menu li{margin-right:0;margin-left:.625em}.sidebar .widget-taxonomy_cloud .taxonomy-cloud{justify-content:flex-end;font-size:.875em}.sidebar .widget-taxonomy_cloud li{padding:0 0 .4em .8em}.comment .says,.screen-reader-text{position:absolute;clip:rect(1px,1px,1px,1px);-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;width:1px;margin:-1px;padding:0;border:0;overflow:hidden;word-wrap:normal!important}.comment .says:focus,.screen-reader-text:focus{display:block;left:.5em;top:.5em;clip:auto;-webkit-clip-path:none;clip-path:none;height:auto;width:auto;padding:1em;border-radius:.25em;font-size:.875em;font-weight:700;line-height:normal;text-decoration:none;background:#212121;color:#fafafa!important;z-index:100000}.align-center{text-align:center}.align-center>blockquote{display:inline-block}.align-center>ol,.align-center>ul{display:inline-block;text-align:initial}.align-center li{word-wrap:normal}.convo ol{display:table;list-style:none;margin:0}.convo li{display:table-row}.convo li>div{display:table-cell;padding-bottom:1.5em}.convo .person{font-size:.9em;font-style:italic;text-align:right}.convo .sep{padding-left:.75em;padding-right:.5em}.text-shortcode *{color:inherit;font-size:1em} diff --git a/assets/css/rtl.bf9d5394.css b/assets/css/rtl.bf9d5394.css new file mode 100644 index 0000000..cbef49f --- /dev/null +++ b/assets/css/rtl.bf9d5394.css @@ -0,0 +1 @@ +blockquote{padding-left:0;padding-right:1em;border-left:0;border-right:.2em solid #bdbdbd}body{direction:rtl}ol,ul{margin:0 2em 1.5em 0}li>ol,li>ul{padding-left:0;padding-right:1.5em;margin-left:0;margin-right:.5em}caption,td,th{text-align:right}.main-menu li{margin-right:0;margin-left:.625em}.main-menu li:last-child{margin-left:0}.sidebar-menu .sub-menu{padding-right:0}.sidebar-menu .sub-menu .item:not(.has-children){padding-right:0;padding-left:1.2em}.sub-menu-toggler{margin-left:0;margin-right:.2em}.page-link:first-child{padding-left:.625em;padding-right:0}.page-link:last-child{padding-left:0;padding-right:.625em}.page-link.next .icon,.page-link.prev .icon{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.main{transition:margin-right .2s}.sidebar.toggled~.main{margin-left:0;margin-right:300px}@media screen and (min-width:920px){.has-sidebar .main{float:right;margin-left:0;margin-right:300px;padding-left:0;padding-right:2em}}.has-sidebar .container{margin-left:auto;margin-right:0}.sidebar{float:right;left:auto;right:-300px;margin-right:0;margin-left:-100%;transition:right .2s;text-align:left}.sidebar.toggled{right:0}.sidebar .sep-after:after{margin-left:0;margin-right:auto}@media screen and (min-width:920px){.sidebar{left:auto;right:0}}.main .sidebar-toggler{right:auto;left:20px}.main-menu .sidebar-toggler{margin-right:0;margin-left:.75em}.sidebar .sidebar-toggler{left:auto;right:.5em}.header-info .taxonomy-name{margin-right:0;margin-left:.25em}.entry-meta>span{display:inline-block}.entry-meta span{margin-right:0;margin-left:.75em}.entry-meta .icon,.no-details details>summary:before{margin-right:0;margin-left:.25em}.entry-footer .icon{margin-right:0;margin-left:.375em}.comment .avatar{float:right;margin-right:0;margin-left:.75em}.comment .reply{right:auto;left:0}.comment-reply-title small{margin-left:0;margin-right:1em}.comment-submission-feedback a{right:auto;left:1.5em}.list .item .icon{margin-right:0;margin-left:.25em}.taxonomy-cloud li{padding:0 0 .5em 1.5em}img.emoji{margin:0 .1em 0 .05em}.layout-archive .list .item{padding-left:0;padding-right:1em}.sidebar .widget-about .logo{margin-left:0;margin-right:auto}.widget-search .search-submit{right:auto;left:0;border-radius:.2em 0 0 0}.layout-search .widget-search .search-term{padding-right:.875em;padding-left:3em}.widget-social_menu li{margin-right:0;margin-left:.625em}.widget-social_menu li:last-child{margin-left:0}.sidebar .widget-social_menu li{margin-left:0;margin-right:.625em}.sidebar .widget-taxonomy_cloud li{padding:0 .8em .4em 0}.screen-reader-text:focus{left:auto;right:.5em}.convo .sep{padding-left:.5em;padding-right:.75em} diff --git a/assets/gopher.png b/assets/gopher.png new file mode 100644 index 0000000..7b5adc1 Binary files /dev/null and b/assets/gopher.png differ diff --git a/assets/images/logo.png b/assets/images/logo.png new file mode 100644 index 0000000..fc32061 Binary files /dev/null and b/assets/images/logo.png differ diff --git a/assets/js/algolia_search.499151b4.js b/assets/js/algolia_search.499151b4.js new file mode 100644 index 0000000..c1a02f2 --- /dev/null +++ b/assets/js/algolia_search.499151b4.js @@ -0,0 +1,8 @@ +!function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{configurable:!1,enumerable:!0,get:n})},r.r=function(e){Object.defineProperty(e,"__esModule",{value:!0})},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=36)}([function(e,t){e.exports=function(e){return JSON.parse(JSON.stringify(e))}},function(e,t){var r=Object.prototype.hasOwnProperty,n=Object.prototype.toString;e.exports=function(e,t,o){if("[object Function]"!==n.call(t))throw new TypeError("iterator must be a function");var a=e.length;if(a===+a)for(var s=0;s\n "+t.dataset.resultsEmpty+"\n ":t.innerHTML=e.reduce(function(e,t){return e+"
  • "+t.title+"
  • "},"")},t.setSearchingIndicator=function(e){e.innerHTML="
  • \n "+e.dataset.searching+"…\n
  • "},t.getUrlSearchParam=function(e){if("URLSearchParams"in window)return new URLSearchParams(window.location.search).get(e);e=e.replace(/[\[]/,"\\[").replace(/[\]]/,"\\]");var t=new RegExp("[\\?&]"+e+"=([^&#]*)").exec(location.search);return null===t?"":decodeURIComponent(t[1].replace(/\+/g," "))},t.getJSON=function(e,t){var r=new XMLHttpRequest;r.open("GET",e,!0),r.onload=function(){if(r.status>=200&&r.status<400){var e=JSON.parse(r.responseText);t(null,e)}else t(new Error(r.statusText))},r.onerror=function(){t(new Error("Failed to get JSON! "+r.statusText))},r.send()}},function(e,t,r){(function(n){function o(){var e;try{e=t.storage.debug}catch(e){}return!e&&void 0!==n&&"env"in n&&(e=n.env.DEBUG),e}(t=e.exports=r(25)).log=function(){return"object"==typeof console&&console.log&&Function.prototype.apply.call(console.log,console,arguments)},t.formatArgs=function(e){var r=this.useColors;if(e[0]=(r?"%c":"")+this.namespace+(r?" %c":" ")+e[0]+(r?"%c ":" ")+"+"+t.humanize(this.diff),!r)return;var n="color: "+this.color;e.splice(1,0,n,"color: inherit");var o=0,a=0;e[0].replace(/%[a-zA-Z%]/g,function(e){"%%"!==e&&"%c"===e&&(a=++o)}),e.splice(a,0,n)},t.save=function(e){try{null==e?t.storage.removeItem("debug"):t.storage.debug=e}catch(e){}},t.load=o,t.useColors=function(){if("undefined"!=typeof window&&window.process&&"renderer"===window.process.type)return!0;return"undefined"!=typeof document&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||"undefined"!=typeof window&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)},t.storage="undefined"!=typeof chrome&&void 0!==chrome.storage?chrome.storage.local:function(){try{return window.localStorage}catch(e){}}(),t.colors=["lightseagreen","forestgreen","goldenrod","dodgerblue","darkorchid","crimson"],t.formatters.j=function(e){try{return JSON.stringify(e)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}},t.enable(o())}).call(this,r(8))},function(e,t,r){var n=r(1);e.exports=function(e,t){var r=[];return n(e,function(n,o){r.push(t(n,o,e))}),r}},function(e,t){var r={}.toString;e.exports=Array.isArray||function(e){return"[object Array]"==r.call(e)}},function(e,t,r){"use strict";var n=r(11);function o(e,t){var n=r(1),o=this;"function"==typeof Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):o.stack=(new Error).stack||"Cannot get a stacktrace, browser is too old",this.name="AlgoliaSearchError",this.message=e||"Unknown error",t&&n(t,function(e,t){o[t]=e})}function a(e,t){function r(){var r=Array.prototype.slice.call(arguments,0);"string"!=typeof r[0]&&r.unshift(t),o.apply(this,r),this.name="AlgoliaSearch"+e+"Error"}return n(r,o),r}n(o,Error),e.exports={AlgoliaSearchError:o,UnparsableJSON:a("UnparsableJSON","Could not parse the incoming response as JSON, see err.more for details"),RequestTimeout:a("RequestTimeout","Request timedout before getting a response"),Network:a("Network","Network issue, see err.more for details"),JSONPScriptFail:a("JSONPScriptFail"," + + + + + +
    +
    + + +
    + +
    +
    + + + +
    + + +
    +
    +
    +

    Author: 박용권

    + + + +
    +
    +
    + + + + +
    + + + + +
    + +
    + + + +
    +
    + + + + + + + diff --git a/authors/arawn/index.xml b/authors/arawn/index.xml new file mode 100644 index 0000000..271dae2 --- /dev/null +++ b/authors/arawn/index.xml @@ -0,0 +1,26 @@ + + + + Arawn on SpringRunner + https://springrunner.github.io/authors/arawn/ + Recent content in Arawn on SpringRunner + Hugo + en + Tue, 17 Dec 2019 09:00:00 +0900 + + + Learn Essence of Spring Workshop + https://springrunner.github.io/training/learn-essence-of-spring-workshop/ + Tue, 17 Dec 2019 09:00:00 +0900 + https://springrunner.github.io/training/learn-essence-of-spring-workshop/ + 본 워크숍은 스프링 프레임워크의 기본 기술이자 핵심 개발 원칙인 제어의 역전(IoC)과 의존관계 주입(DI)을 이해하고, 더 나아가 스프링 핵심 기술인 관점지향 + + + Mastering Spring Web 101 Workshop + https://springrunner.github.io/training/mastering-spring-web-101-workshop/ + Sat, 01 Dec 2018 09:00:00 +0900 + https://springrunner.github.io/training/mastering-spring-web-101-workshop/ + 본 워크숍은 Spring MVC와 Spring Boot로 웹 애플리케이션 서버 사이드(Server-side)를 직접 개발하며 학습하는 워크숍입니다. 참가자는 Spring MVC의 핵심 + + + diff --git a/authors/arawn/page/1/index.html b/authors/arawn/page/1/index.html new file mode 100644 index 0000000..989713a --- /dev/null +++ b/authors/arawn/page/1/index.html @@ -0,0 +1,10 @@ + + + + https://springrunner.github.io/authors/arawn/ + + + + + + diff --git a/authors/honeymon/index.html b/authors/honeymon/index.html new file mode 100644 index 0000000..1377d1d --- /dev/null +++ b/authors/honeymon/index.html @@ -0,0 +1,319 @@ + + + + + + + + + + + + + + + + Honeymon | SpringRunner + + + + + + + + + + + + + + + + + + +
    +
    + + +
    + +
    +
    + + + +
    + + +
    +
    +
    +

    Author: 김지헌

    + + + +
    +
    +
    + + + + +
    + + + + +
    + +
    + + + +
    +
    + + + + + + + diff --git a/authors/honeymon/index.xml b/authors/honeymon/index.xml new file mode 100644 index 0000000..17e034d --- /dev/null +++ b/authors/honeymon/index.xml @@ -0,0 +1,19 @@ + + + + Honeymon on SpringRunner + https://springrunner.github.io/authors/honeymon/ + Recent content in Honeymon on SpringRunner + Hugo + en + Sat, 01 Dec 2018 09:00:00 +0900 + + + Mastering Spring Web 101 Workshop + https://springrunner.github.io/training/mastering-spring-web-101-workshop/ + Sat, 01 Dec 2018 09:00:00 +0900 + https://springrunner.github.io/training/mastering-spring-web-101-workshop/ + 본 워크숍은 Spring MVC와 Spring Boot로 웹 애플리케이션 서버 사이드(Server-side)를 직접 개발하며 학습하는 워크숍입니다. 참가자는 Spring MVC의 핵심 + + + diff --git a/authors/honeymon/page/1/index.html b/authors/honeymon/page/1/index.html new file mode 100644 index 0000000..6f11e55 --- /dev/null +++ b/authors/honeymon/page/1/index.html @@ -0,0 +1,10 @@ + + + + https://springrunner.github.io/authors/honeymon/ + + + + + + diff --git a/authors/index.html b/authors/index.html new file mode 100644 index 0000000..d3b579c --- /dev/null +++ b/authors/index.html @@ -0,0 +1,327 @@ + + + + + + + + + + + + + + + + Author: | SpringRunner + + + + + + + + + + + + + + + + + + +
    +
    + +
    + +
    +
    + + + +
    + + +
    +
    +
    +

    Authors

    + + + +
    +
    +
    + + +
    + +
    + +
    + + + +
    +
    + + + + + + + diff --git a/authors/index.xml b/authors/index.xml new file mode 100644 index 0000000..b251698 --- /dev/null +++ b/authors/index.xml @@ -0,0 +1,26 @@ + + + + Authors on SpringRunner + https://springrunner.github.io/authors/ + Recent content in Authors on SpringRunner + Hugo + en + Tue, 17 Dec 2019 09:00:00 +0900 + + + Arawn + https://springrunner.github.io/authors/arawn/ + Tue, 17 Dec 2019 09:00:00 +0900 + https://springrunner.github.io/authors/arawn/ + + + + Honeymon + https://springrunner.github.io/authors/honeymon/ + Sat, 01 Dec 2018 09:00:00 +0900 + https://springrunner.github.io/authors/honeymon/ + + + + diff --git a/blog/index.html b/blog/index.html new file mode 100644 index 0000000..2bfabf5 --- /dev/null +++ b/blog/index.html @@ -0,0 +1,258 @@ + + + + + + + + + + + + + + + + Blog | SpringRunner + + + + + + + + + + + + + + + + + + +
    +
    + +
    + +
    +
    + + + +
    + + +
    +
    +
    +

    + + + +
    +
    +
    + + + + +
    +
      + +
    + + + +
    + +
    + + + +
    +
    + + + + + + + diff --git a/blog/index.xml b/blog/index.xml new file mode 100644 index 0000000..d1c4205 --- /dev/null +++ b/blog/index.xml @@ -0,0 +1,13 @@ + + + + SpringRunner + https://springrunner.github.io/blog/ + Recent content on SpringRunner + Hugo -- gohugo.io + + + + + + \ No newline at end of file diff --git a/blog/page/1/index.html b/blog/page/1/index.html new file mode 100644 index 0000000..d44413b --- /dev/null +++ b/blog/page/1/index.html @@ -0,0 +1 @@ +https://springrunner.github.io/blog/ \ No newline at end of file diff --git a/categories/index.html b/categories/index.html new file mode 100644 index 0000000..e609045 --- /dev/null +++ b/categories/index.html @@ -0,0 +1,298 @@ + + + + + + + + + + + + + + + + Category: Categories | SpringRunner + + + + + + + + + + + + + + + + + + +
    +
    + +
    + +
    +
    + + + +
    + + +
    +
    +
    +

    Categories

    + + + +
    +
    +
    + + +
    + +
    + + +
    + + + +
    +
    + + + + + + + diff --git a/categories/index.xml b/categories/index.xml new file mode 100644 index 0000000..cccb772 --- /dev/null +++ b/categories/index.xml @@ -0,0 +1,19 @@ + + + + Categories on SpringRunner + https://springrunner.github.io/categories/ + Recent content in Categories on SpringRunner + Hugo + en + Tue, 17 Dec 2019 09:00:00 +0900 + + + Workshop + https://springrunner.github.io/categories/workshop/ + Tue, 17 Dec 2019 09:00:00 +0900 + https://springrunner.github.io/categories/workshop/ + + + + diff --git a/categories/workshop/index.html b/categories/workshop/index.html new file mode 100644 index 0000000..e3d32ae --- /dev/null +++ b/categories/workshop/index.html @@ -0,0 +1,335 @@ + + + + + + + + + + + + + + + + Workshop | SpringRunner + + + + + + + + + + + + + + + + + + +
    +
    + + +
    + +
    +
    + + + +
    + + +
    +
    +
    +

    Category: Workshop

    + + + +
    +
    +
    + + + + +
    + + + + +
    + +
    + + + +
    +
    + + + + + + + diff --git a/categories/workshop/index.xml b/categories/workshop/index.xml new file mode 100644 index 0000000..00d3185 --- /dev/null +++ b/categories/workshop/index.xml @@ -0,0 +1,26 @@ + + + + Workshop on SpringRunner + https://springrunner.github.io/categories/workshop/ + Recent content in Workshop on SpringRunner + Hugo + en + Tue, 17 Dec 2019 09:00:00 +0900 + + + Learn Essence of Spring Workshop + https://springrunner.github.io/training/learn-essence-of-spring-workshop/ + Tue, 17 Dec 2019 09:00:00 +0900 + https://springrunner.github.io/training/learn-essence-of-spring-workshop/ + 본 워크숍은 스프링 프레임워크의 기본 기술이자 핵심 개발 원칙인 제어의 역전(IoC)과 의존관계 주입(DI)을 이해하고, 더 나아가 스프링 핵심 기술인 관점지향 + + + Mastering Spring Web 101 Workshop + https://springrunner.github.io/training/mastering-spring-web-101-workshop/ + Sat, 01 Dec 2018 09:00:00 +0900 + https://springrunner.github.io/training/mastering-spring-web-101-workshop/ + 본 워크숍은 Spring MVC와 Spring Boot로 웹 애플리케이션 서버 사이드(Server-side)를 직접 개발하며 학습하는 워크숍입니다. 참가자는 Spring MVC의 핵심 + + + diff --git a/categories/workshop/page/1/index.html b/categories/workshop/page/1/index.html new file mode 100644 index 0000000..d49be84 --- /dev/null +++ b/categories/workshop/page/1/index.html @@ -0,0 +1,10 @@ + + + + https://springrunner.github.io/categories/workshop/ + + + + + + diff --git a/favicon-16x16.png b/favicon-16x16.png new file mode 100755 index 0000000..24346ba Binary files /dev/null and b/favicon-16x16.png differ diff --git a/favicon-32x32.png b/favicon-32x32.png new file mode 100755 index 0000000..6bfe2fa Binary files /dev/null and b/favicon-32x32.png differ diff --git a/favicon.ico b/favicon.ico old mode 100644 new mode 100755 diff --git a/favicon.png b/favicon.png new file mode 100644 index 0000000..acde088 Binary files /dev/null and b/favicon.png differ diff --git a/guide/index.html b/guide/index.html new file mode 100644 index 0000000..22e2d3b --- /dev/null +++ b/guide/index.html @@ -0,0 +1,302 @@ + + + + + + + + + + + + + + + + GUIDES | SpringRunner + + + + + + + + + + + + + + + + + + +
    +
    + +
    + +
    +
    + + + +
    + + +
    +
    +
    +

    + + + +
    +
    +
    + + + + +
    +
      + +
    + + + +
    + +
    + + + +
    +
    + + + + + + + diff --git a/guide/index.xml b/guide/index.xml new file mode 100644 index 0000000..5f69578 --- /dev/null +++ b/guide/index.xml @@ -0,0 +1,11 @@ + + + + SpringRunner + https://springrunner.github.io/guide/ + Recent content on SpringRunner + Hugo + en + + + diff --git a/guide/page/1/index.html b/guide/page/1/index.html new file mode 100644 index 0000000..b968eaf --- /dev/null +++ b/guide/page/1/index.html @@ -0,0 +1,10 @@ + + + + https://springrunner.github.io/guide/ + + + + + + diff --git a/images/logo.png b/images/logo.png new file mode 100644 index 0000000..7d21219 Binary files /dev/null and b/images/logo.png differ diff --git a/index.html b/index.html index 654ede8..f2e1808 100644 --- a/index.html +++ b/index.html @@ -1,212 +1,383 @@ - - - - - SpringRunner - 스프링 기반 애플리케이션 개발 트레이닝 - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + SpringRunner + + + + + + + + + + + + + + + - -
    - - - - -
    - -
    -

    - 스프링러너는 스프링 기반 애플리케이션을 개발하는데 필요한 지식과 경험을 쌓을 수 있도록 돕는 트레이닝 팀입니다. -

    -

    - 스프링 기반 애플리케이션을 개발하기 위해서는 생각보다 많은 학습과 노력이 필요합니다. 서적과 온라인 교육 등을 통해 스프링의 기술적인 측면을 학습할 수 있습니다. - 하지만 이렇게 학습을 통해 쌓은 지식만으로 애플리케이션을 개발하려고 하면 막막함을 느끼게됩니다. 스프링이 제공하는 기능 사용법은 배웠지만, 스프링 기반 애플리케이션 개발 경험을 가지지 못했기 때문입니다. -

    -

    - 참가자가 스프링 프레임워크(Spring Framework), 스프링 부트(Spring Boot) 등 스프링 생태계에서 스프링 작동원리와 사용법을 배우고 거기서 더 나아가 실무에 적용 가능한 - 스프링 기반 애플리케이션 프로그래밍을 익힐 수 있도록 스프링러너가 도와드립니다. -

    -
    -

    - 가이드 러너(Guide Runner)란, 스포츠 경기에서 선수들이 안전하게 경기를 끝낼 수 있도록 함께 뛰는 도우미를 뜻합니다. -

    -
    -

    - 스프링러너는 트레이너로서 탄탄히 스프링 관련 지식을 전달하는 것을 넘어 참가자 곁에서 함께 달리며 개발자의 길을 함께 달리는 가이드 러너입니다. -

    -
    -

    - 스프링러너(SpringRunner)는 스프링(Spring) + 가이드 러너(Guide Runner)를 합해 만들어진 이름입니다. -

    -
    - - -
    -

    훈련 프로그램

    - -
    -

    - 스프링 핵심 프로그래밍(Learn Essence of Spring Workshop) - (개정 중) -

    -

    May 2020

    -
      -
    • 제어의 역전(IoC)과 의존관계 주입(DI), 스프링 컨테이너와 빈 관리의 핵심 개념을 학습합니다.
    • -
    • 관점지향 프로그래밍(AOP)의 원리와 스프링 AOP 모듈 활용 방법을 익힙니다.
    • -
    • 이식 가능한 서비스 추상화(PSA)를 통해 기술 독립적인 애플리케이션 설계 방법을 다룹니다.
    • -
    • 소프트웨어 복잡성을 이해하고, 설계 원칙과 디자인 패턴을 적용하여 변경에 유연한 코드를 작성합니다.
    • -
    • 순수 자바 애플리케이션에 스프링을 도입하고 점진적 리팩토링을 통해 코드를 개선하는 경험을 쌓습니다.
    • -
    -

    더 나은 내용으로 개정 작업 중입니다. 곧 다시 만나요!

    -
    - -
    -

    - - 스프링 웹 마스터하기(Mastering Spring Web 101 Workshop) - -

    -

    November 2019

    -
      -
    • Spring MVC와 Spring Boot로 웹 애플리케이션 서버 사이드를 직접 개발하며 실무 경험을 쌓습니다.
    • -
    • HTTP 요청 연결, 데이터 바인딩, 응답 및 예외 처리 등 Spring MVC의 핵심 기능을 학습합니다.
    • -
    • 인증과 인가, 국제화, 파일 처리 등 엔터프라이즈 환경의 복잡한 요구 사항을 다룹니다.
    • -
    • 변화하는 요구 사항에 유연하게 대응할 수 있는 소프트웨어 설계 역량과 아키텍처 구조를 익힙니다.
    • -
    -
    -
    - - -
    -

    강의 프로그램

    - -
    -

    - - 확장성 있는 시스템 설계하기 - -

    -

    February 2025

    -
      -
    • 소규모에서 대규모 서비스로 성장하기 위한 확장성 있는 시스템 설계의 기본 원리를 익힙니다.
    • -
    • 가용성, 성능, 확장성을 고려한 단계별 설계 전략과 실천 방안을 학습합니다.
    • -
    • 플랫폼, 서버, 클라이언트 엔지니어링의 역할과 협업 방식을 알아봅니다.
    • -
    -
    - -
    -

    - 모듈형 모놀리스란 무엇인가 - (개정 중) -

    -

    September 2024

    -
      -
    • 단일 코드베이스를 유지하면서도 명확한 책임과 경계를 가진 자율적인 모듈로 시스템을 구성하는 방법을 익힙니다.
    • -
    • 모듈을 비즈니스 기능 단위로 수직 분할하고, 각 모듈 내부를 계층화하여 복잡성을 관리하는 전략을 학습합니다.
    • -
    • 모듈화를 통해 유지 보수성과 유연성을 확보하면서도 시스템 복잡성을 효과적으로 관리하는 실천법을 알아봅니다.
    • -
    -

    더 나은 내용으로 개정 작업 중입니다. 곧 다시 만나요!

    -
    - -
    -

    - - 코틀린 멀티플랫폼, 미지와의 조우 - -

    -

    September 2022

    -
      -
    • Kotlin/JS 기반 리액트와 Kotlin/JVM 기반 스프링을 활용하여 단일 코드베이스로 풀스택 웹 애플리케이션을 개발합니다.
    • -
    • 클라이언트와 서버 간 공유 로직을 작성하고, 도메인 모델과 저장소 로직을 멀티플랫폼으로 구현합니다.
    • -
    • 할 일 관리 애플리케이션을 실습하며 클린 아키텍처 기반의 웹 애플리케이션 구조를 경험합니다.
    • -
    • 코틀린 멀티플랫폼의 실용성과 한계를 파악하고, 실무 적용 가능성을 탐구합니다.
    • -
    -
    -
    - - -
    -

    © 2018 SpringRunner. All rights reserved.

    -
    -
    + + +
    +
    +
    + +
    +
    + + + +
    + + + +
    + +
    +

    스프링러너(SpringRunner)를 소개합니다.

    +

    스프링러너는 스프링 기반 애플리케이션을 개발하는데 필요한 지식과 경험을 쌓을 수 있도록 돕는 오프라인 트레이닝 팀입니다.

    +

    스프링 기반 애플리케이션을 개발하기 위해서는 생각보다 많은 학습과 노력이 필요합니다. 서적과 온라인 교육 등을 통해 스프링의 기술적인 측면을 학습할 수 있습니다. 하지만 이렇게 학습을 통해 쌓은 지식만으로 애플리케이션을 개발하려고 하면 막막함을 느끼게됩니다. 스프링이 제공하는 기능 사용법은 배웠지만, 스프링 기반 애플리케이션 개발 경험을 가지지 못했기 때문입니다.

    +

    참가자가 스프링 프레임워크(Spring Framework), 스프링 부트(Spring Boot) 등 스프링 생태계에서 스프링 작동원리와 사용법을 배우고 거기서 더 나아가 실무에 적용 가능한 스프링 기반 애플리케이션 프로그래밍을 익힐 수 있도록 스프링러너가 도와드립니다.

    +

    스프링러너 트레이닝 과정은 가이드 러너(Guide Runner)가 참가자들의 곁에서 과정을 함께 수행하도록 설계되었습니다.

    +
    +

    가이드 러너(Guide Runner)란, 스포츠 경기에서 선수들이 안전하게 경기를 펼칠 수 있도록 함께 뛰는 도우미를 뜻합니다.

    +

    우리는 트레이너로서 단순히 스프링 관련 지식을 전달하는 것을 넘어 참가자 곁에서 함께 달리며 개발자의 길을 함께 달리는 가이드 러너입니다.

    +
    +

    스프링러너(SpringRunner)스프링(Spring) + 가이드 러너(Guide Runner)를 합해 만들어진 이름입니다.

    +

    트레이닝 과정

    +

    트레이닝(TRAINING) 페이지에서 준비 중인 과정을 볼 수 있습니다.

    +

    팀 구성

    +

    박용권 / arawn

    + +

    김지헌 / honeymon

    + + +
    + +
    +
    +
    +
    +

    Recent Posts

    +
    + + +
    +
    +
    + + +
    +
    + + + + + diff --git a/index.xml b/index.xml new file mode 100644 index 0000000..b256293 --- /dev/null +++ b/index.xml @@ -0,0 +1,26 @@ + + + + About Us on SpringRunner + https://springrunner.github.io/ + Recent content in About Us on SpringRunner + Hugo + en + Tue, 17 Dec 2019 09:00:00 +0900 + + + Learn Essence of Spring Workshop + https://springrunner.github.io/training/learn-essence-of-spring-workshop/ + Tue, 17 Dec 2019 09:00:00 +0900 + https://springrunner.github.io/training/learn-essence-of-spring-workshop/ + 본 워크숍은 스프링 프레임워크의 기본 기술이자 핵심 개발 원칙인 제어의 역전(IoC)과 의존관계 주입(DI)을 이해하고, 더 나아가 스프링 핵심 기술인 관점지향 + + + Mastering Spring Web 101 Workshop + https://springrunner.github.io/training/mastering-spring-web-101-workshop/ + Sat, 01 Dec 2018 09:00:00 +0900 + https://springrunner.github.io/training/mastering-spring-web-101-workshop/ + 본 워크숍은 Spring MVC와 Spring Boot로 웹 애플리케이션 서버 사이드(Server-side)를 직접 개발하며 학습하는 워크숍입니다. 참가자는 Spring MVC의 핵심 + + + diff --git a/post/index.html b/post/index.html new file mode 100644 index 0000000..56bd7c8 --- /dev/null +++ b/post/index.html @@ -0,0 +1,258 @@ + + + + + + + + + + + + + + + + Posts | SpringRunner + + + + + + + + + + + + + + + + + + +
    +
    + +
    + +
    +
    + + + +
    + + +
    +
    +
    +

    Posts

    + + + +
    +
    +
    + + + + +
    +
      + +
    + + + +
    + +
    + + + +
    +
    + + + + + + + diff --git a/post/index.xml b/post/index.xml new file mode 100644 index 0000000..8bdf36a --- /dev/null +++ b/post/index.xml @@ -0,0 +1,13 @@ + + + + Posts on SpringRunner + https://springrunner.github.io/post/ + Recent content in Posts on SpringRunner + Hugo -- gohugo.io + + + + + + \ No newline at end of file diff --git a/post/page/1/index.html b/post/page/1/index.html new file mode 100644 index 0000000..9c819c9 --- /dev/null +++ b/post/page/1/index.html @@ -0,0 +1 @@ +https://springrunner.github.io/post/ \ No newline at end of file diff --git a/robots.txt b/robots.txt new file mode 100644 index 0000000..eb05362 --- /dev/null +++ b/robots.txt @@ -0,0 +1,2 @@ +User-agent: * +Disallow: diff --git a/series/index.html b/series/index.html new file mode 100644 index 0000000..aabb428 --- /dev/null +++ b/series/index.html @@ -0,0 +1,296 @@ + + + + + + + + + + + + + + + + Series: Series | SpringRunner + + + + + + + + + + + + + + + + + + +
    +
    + +
    + +
    +
    + + + +
    + + +
    +
    +
    +

    Series

    + + + +
    +
    +
    + + +
    +
      Not a single Series!
    +
    + + +
    + + + +
    +
    + + + + + + + diff --git a/series/index.xml b/series/index.xml new file mode 100644 index 0000000..993e361 --- /dev/null +++ b/series/index.xml @@ -0,0 +1,11 @@ + + + + Series on SpringRunner + https://springrunner.github.io/series/ + Recent content in Series on SpringRunner + Hugo + en + + + diff --git a/site.webmanifest b/site.webmanifest new file mode 100755 index 0000000..4e51a57 --- /dev/null +++ b/site.webmanifest @@ -0,0 +1 @@ +{"name":"SpringRunner","short_name":"SpringRunner","icons":[{"src":"/android-chrome-192x192.png","sizes":"192x192","type":"image/png"},{"src":"/android-chrome-512x512.png","sizes":"512x512","type":"image/png"}],"theme_color":"#ffffff","background_color":"#ffffff","display":"standalone"} \ No newline at end of file diff --git a/sitemap.xml b/sitemap.xml new file mode 100644 index 0000000..f56fb56 --- /dev/null +++ b/sitemap.xml @@ -0,0 +1,48 @@ + + + + https://springrunner.github.io/authors/arawn/ + 2019-12-17T09:00:00+09:00 + + https://springrunner.github.io/authors/ + 2019-12-17T09:00:00+09:00 + + https://springrunner.github.io/categories/ + 2019-12-17T09:00:00+09:00 + + https://springrunner.github.io/ + 2019-12-17T09:00:00+09:00 + + https://springrunner.github.io/tags/spring-core/ + 2019-12-17T09:00:00+09:00 + + https://springrunner.github.io/tags/ + 2019-12-17T09:00:00+09:00 + + https://springrunner.github.io/training/ + 2019-12-17T09:00:00+09:00 + + https://springrunner.github.io/categories/workshop/ + 2019-12-17T09:00:00+09:00 + + https://springrunner.github.io/training/learn-essence-of-spring-workshop/ + 2019-12-17T09:00:00+09:00 + + https://springrunner.github.io/authors/honeymon/ + 2018-12-01T09:00:00+09:00 + + https://springrunner.github.io/tags/spring-boot/ + 2018-12-01T09:00:00+09:00 + + https://springrunner.github.io/tags/spring-mvc/ + 2018-12-01T09:00:00+09:00 + + https://springrunner.github.io/training/mastering-spring-web-101-workshop/ + 2018-12-01T09:00:00+09:00 + + https://springrunner.github.io/guide/ + + https://springrunner.github.io/series/ + + diff --git a/springrunner.webp b/springrunner.webp deleted file mode 100644 index 4a7d4ef..0000000 Binary files a/springrunner.webp and /dev/null differ diff --git a/tags/index.html b/tags/index.html new file mode 100644 index 0000000..99d2745 --- /dev/null +++ b/tags/index.html @@ -0,0 +1,302 @@ + + + + + + + + + + + + + + + + Tag: Tags | SpringRunner + + + + + + + + + + + + + + + + + + +
    +
    + +
    + +
    +
    + + + +
    + + +
    +
    +
    +

    Tags

    + + + +
    +
    +
    + + + + + +
    + + + +
    +
    + + + + + + + diff --git a/tags/index.xml b/tags/index.xml new file mode 100644 index 0000000..6a828b3 --- /dev/null +++ b/tags/index.xml @@ -0,0 +1,33 @@ + + + + Tags on SpringRunner + https://springrunner.github.io/tags/ + Recent content in Tags on SpringRunner + Hugo + en + Tue, 17 Dec 2019 09:00:00 +0900 + + + Spring Core + https://springrunner.github.io/tags/spring-core/ + Tue, 17 Dec 2019 09:00:00 +0900 + https://springrunner.github.io/tags/spring-core/ + + + + Spring Boot + https://springrunner.github.io/tags/spring-boot/ + Sat, 01 Dec 2018 09:00:00 +0900 + https://springrunner.github.io/tags/spring-boot/ + + + + Spring Mvc + https://springrunner.github.io/tags/spring-mvc/ + Sat, 01 Dec 2018 09:00:00 +0900 + https://springrunner.github.io/tags/spring-mvc/ + + + + diff --git a/tags/spring-boot/index.html b/tags/spring-boot/index.html new file mode 100644 index 0000000..afb5e08 --- /dev/null +++ b/tags/spring-boot/index.html @@ -0,0 +1,319 @@ + + + + + + + + + + + + + + + + Spring Boot | SpringRunner + + + + + + + + + + + + + + + + + + +
    +
    + + +
    + +
    +
    + + + +
    + + +
    +
    +
    +

    Tag: Spring Boot

    + + + +
    +
    +
    + + + + +
    + + + + +
    + +
    + + + +
    +
    + + + + + + + diff --git a/tags/spring-boot/index.xml b/tags/spring-boot/index.xml new file mode 100644 index 0000000..5f5f0ed --- /dev/null +++ b/tags/spring-boot/index.xml @@ -0,0 +1,19 @@ + + + + Spring Boot on SpringRunner + https://springrunner.github.io/tags/spring-boot/ + Recent content in Spring Boot on SpringRunner + Hugo + en + Sat, 01 Dec 2018 09:00:00 +0900 + + + Mastering Spring Web 101 Workshop + https://springrunner.github.io/training/mastering-spring-web-101-workshop/ + Sat, 01 Dec 2018 09:00:00 +0900 + https://springrunner.github.io/training/mastering-spring-web-101-workshop/ + 본 워크숍은 Spring MVC와 Spring Boot로 웹 애플리케이션 서버 사이드(Server-side)를 직접 개발하며 학습하는 워크숍입니다. 참가자는 Spring MVC의 핵심 + + + diff --git a/tags/spring-boot/page/1/index.html b/tags/spring-boot/page/1/index.html new file mode 100644 index 0000000..6c5160b --- /dev/null +++ b/tags/spring-boot/page/1/index.html @@ -0,0 +1,10 @@ + + + + https://springrunner.github.io/tags/spring-boot/ + + + + + + diff --git a/tags/spring-core/index.html b/tags/spring-core/index.html new file mode 100644 index 0000000..b57a4fa --- /dev/null +++ b/tags/spring-core/index.html @@ -0,0 +1,319 @@ + + + + + + + + + + + + + + + + Spring Core | SpringRunner + + + + + + + + + + + + + + + + + + +
    +
    + + +
    + +
    +
    + + + +
    + + +
    +
    +
    +

    Tag: Spring Core

    + + + +
    +
    +
    + + + + +
    + + + + +
    + +
    + + + +
    +
    + + + + + + + diff --git a/tags/spring-core/index.xml b/tags/spring-core/index.xml new file mode 100644 index 0000000..47c1c10 --- /dev/null +++ b/tags/spring-core/index.xml @@ -0,0 +1,19 @@ + + + + Spring Core on SpringRunner + https://springrunner.github.io/tags/spring-core/ + Recent content in Spring Core on SpringRunner + Hugo + en + Tue, 17 Dec 2019 09:00:00 +0900 + + + Learn Essence of Spring Workshop + https://springrunner.github.io/training/learn-essence-of-spring-workshop/ + Tue, 17 Dec 2019 09:00:00 +0900 + https://springrunner.github.io/training/learn-essence-of-spring-workshop/ + 본 워크숍은 스프링 프레임워크의 기본 기술이자 핵심 개발 원칙인 제어의 역전(IoC)과 의존관계 주입(DI)을 이해하고, 더 나아가 스프링 핵심 기술인 관점지향 + + + diff --git a/tags/spring-core/page/1/index.html b/tags/spring-core/page/1/index.html new file mode 100644 index 0000000..e647389 --- /dev/null +++ b/tags/spring-core/page/1/index.html @@ -0,0 +1,10 @@ + + + + https://springrunner.github.io/tags/spring-core/ + + + + + + diff --git a/tags/spring-mvc/index.html b/tags/spring-mvc/index.html new file mode 100644 index 0000000..5d67067 --- /dev/null +++ b/tags/spring-mvc/index.html @@ -0,0 +1,319 @@ + + + + + + + + + + + + + + + + Spring Mvc | SpringRunner + + + + + + + + + + + + + + + + + + +
    +
    + + +
    + +
    +
    + + + +
    + + +
    +
    +
    +

    Tag: Spring Mvc

    + + + +
    +
    +
    + + + + +
    + + + + +
    + +
    + + + +
    +
    + + + + + + + diff --git a/tags/spring-mvc/index.xml b/tags/spring-mvc/index.xml new file mode 100644 index 0000000..ec29ff7 --- /dev/null +++ b/tags/spring-mvc/index.xml @@ -0,0 +1,19 @@ + + + + Spring Mvc on SpringRunner + https://springrunner.github.io/tags/spring-mvc/ + Recent content in Spring Mvc on SpringRunner + Hugo + en + Sat, 01 Dec 2018 09:00:00 +0900 + + + Mastering Spring Web 101 Workshop + https://springrunner.github.io/training/mastering-spring-web-101-workshop/ + Sat, 01 Dec 2018 09:00:00 +0900 + https://springrunner.github.io/training/mastering-spring-web-101-workshop/ + 본 워크숍은 Spring MVC와 Spring Boot로 웹 애플리케이션 서버 사이드(Server-side)를 직접 개발하며 학습하는 워크숍입니다. 참가자는 Spring MVC의 핵심 + + + diff --git a/tags/spring-mvc/page/1/index.html b/tags/spring-mvc/page/1/index.html new file mode 100644 index 0000000..70f932d --- /dev/null +++ b/tags/spring-mvc/page/1/index.html @@ -0,0 +1,10 @@ + + + + https://springrunner.github.io/tags/spring-mvc/ + + + + + + diff --git a/training/index.html b/training/index.html new file mode 100644 index 0000000..610a66a --- /dev/null +++ b/training/index.html @@ -0,0 +1,342 @@ + + + + + + + + + + + + + + + + TRAINING | SpringRunner + + + + + + + + + + + + + + + + + + +
    +
    + +
    + +
    +
    + + + +
    + + +
    +
    +
    +

    + + + +
    +
    +
    + + + +
    +
    +

    트레이닝 일정

    + +

    아이캘린더(iCalendar)로 구독하시려면, 아래 주소를 사용해주세요.

    +
    https://calendar.google.com/calendar/ical/ssjc1milsi7mn97026kl3bnlic%40group.calendar.google.com/public/basic.ics
    +

    트레이닝 과정

    + +
    + +
    + + +
    + + + + +
    + +
    + + + +
    +
    + + + + + + + diff --git a/training/index.xml b/training/index.xml new file mode 100644 index 0000000..5f601ea --- /dev/null +++ b/training/index.xml @@ -0,0 +1,26 @@ + + + + SpringRunner + https://springrunner.github.io/training/ + Recent content on SpringRunner + Hugo + en + Tue, 17 Dec 2019 09:00:00 +0900 + + + Learn Essence of Spring Workshop + https://springrunner.github.io/training/learn-essence-of-spring-workshop/ + Tue, 17 Dec 2019 09:00:00 +0900 + https://springrunner.github.io/training/learn-essence-of-spring-workshop/ + 본 워크숍은 스프링 프레임워크의 기본 기술이자 핵심 개발 원칙인 제어의 역전(IoC)과 의존관계 주입(DI)을 이해하고, 더 나아가 스프링 핵심 기술인 관점지향 + + + Mastering Spring Web 101 Workshop + https://springrunner.github.io/training/mastering-spring-web-101-workshop/ + Sat, 01 Dec 2018 09:00:00 +0900 + https://springrunner.github.io/training/mastering-spring-web-101-workshop/ + 본 워크숍은 Spring MVC와 Spring Boot로 웹 애플리케이션 서버 사이드(Server-side)를 직접 개발하며 학습하는 워크숍입니다. 참가자는 Spring MVC의 핵심 + + + diff --git a/training/learn-essence-of-spring-workshop/hands-on-code.png b/training/learn-essence-of-spring-workshop/hands-on-code.png new file mode 100644 index 0000000..070771c Binary files /dev/null and b/training/learn-essence-of-spring-workshop/hands-on-code.png differ diff --git a/training/learn-essence-of-spring-workshop/index.html b/training/learn-essence-of-spring-workshop/index.html new file mode 100644 index 0000000..ba51385 --- /dev/null +++ b/training/learn-essence-of-spring-workshop/index.html @@ -0,0 +1,453 @@ + + + + + + + + + + + + + + + + Learn Essence of Spring Workshop | SpringRunner + + + + + + + + + + + + + + + + +
    +
    + + +
    + +
    +
    + + + +
    + + +
    +
    +
    +
    +

    Learn Essence of Spring Workshop

    + +

    스프링 프레임워크의 핵심 개발 원칙과 3대 기술(IoC/DI, AOP, PSA)을 학습하는 핸즈온 랩 워크숍입니다.

    + + +
    + + + +
    +
    + + + + +
    +

    본 워크숍은 스프링 프레임워크의 기본 기술이자 핵심 개발 원칙인 제어의 역전(IoC)과 의존관계 주입(DI)을 이해하고, 더 나아가 스프링 핵심 기술인 관점지향 프로그래밍, 이식 가능한 서비스 추상화를 학습합니다. 참가자는 스프링 핵심 기술과 함께 소프트웨어 설계 원칙과 디자인 패턴을 배우고, 이를 응용해 변경에 유연하게 대응할 수 있는 애플리케이션 개발을 경험할 수 있습니다.

    +

    목표

    + +

    학습자료 및 환경

    +

    워크숍 과정에서 사용하는 JVM 플랫폼 및 프레임워크, 라이브러리와 도구는 아래와 같습니다.

    + +

    진행방식

    + +

    순수 자바로 작성된 콘솔 애플리케이션에 스프링 프레임워크를 도입하고, 리팩토링을 통해 점진적으로 코드를 개선합니다. 가이드 러너가 라이브 코딩과 함께 리팩터링 목적과 스프링 기술을 설명해주면, 참가자는 해당 코드를 직접 작성하고 실행-테스트하는 과정을 반복하는 방식으로 진행됩니다.

    +

    참가대상 및 준비물

    +
      +
    • 본 워크숍은 자바(Java) 언어의 특징과 문법을 이해하고 사용할 줄 아는 분을 대상으로 합니다.
    • +
    • 참가자는 Java SE 11과 Spring Tool Suite가 설치된 개인 노트북을 지참해야 합니다.
    • +
    +

    참가신청

    +
      +
    • 본 워크숍은 유료사전 신청 및 결제 후 참여할 수 있습니다.
    • +
    • 신청 및 결제는 페스타(Festa)를 통해 할 수 있습니다.
    • +
    +

    참가취소 및 환불 정책

    +
      +
    • 마감전 취소/환불은 페스타에서 할 수 있습니다. +
        +
      • 참가 취소/환불 규정은 페스타 약관에 따라 처리됩니다.
      • +
      • 참가비의 100%가 환불됩니다.
      • +
      +
    • +
    • 마감후 취소/환불은 메일(help@springrunner.dev)로 신청해야합니다. +
        +
      • 메일 내용에 은행 / 환불계좌 / 계좌주 / 연락처 / 페스타 아이디를 작성해 보내야합니다.
      • +
      • 참가비의 50%가 환불됩니다. (교육장 계약 비용으로 인한 점 양해바랍니다)
      • +
      +
    • +
    + +

    워크숍 일정

    +

    이 워크숍은 코로나바이러스감염증-19(COVID-19) 상황이 진정될 때까지 잠정 중단되었습니다.

    + + + +
    + + + + + +
    + + + + + + +
    + + + +
    +
    + + + + + + + diff --git a/training/mastering-spring-web-101-workshop/demo.png b/training/mastering-spring-web-101-workshop/demo.png new file mode 100644 index 0000000..03b42af Binary files /dev/null and b/training/mastering-spring-web-101-workshop/demo.png differ diff --git a/training/mastering-spring-web-101-workshop/index.html b/training/mastering-spring-web-101-workshop/index.html new file mode 100644 index 0000000..af9e2bf --- /dev/null +++ b/training/mastering-spring-web-101-workshop/index.html @@ -0,0 +1,552 @@ + + + + + + + + + + + + + + + + Mastering Spring Web 101 Workshop | SpringRunner + + + + + + + + + + + + + + + + +
    +
    + + +
    + +
    +
    + + + +
    + + +
    +
    +
    +
    +

    Mastering Spring Web 101 Workshop

    + +

    스프링 기반 웹 애플리케이션 - 서버 사이드를 실습 중심으로 학습하는 워크샵입니다.

    + + +
    + + + +
    +
    + + + + +
    +

    본 워크숍은 Spring MVCSpring Boot로 웹 애플리케이션 서버 사이드(Server-side)를 직접 개발하며 학습하는 워크숍입니다. 참가자는 Spring MVC의 핵심인 HTTP 요청 연결, 데이터 바인딩, 응답 및 예외 처리 방법을 배우고 경험 할 수 있습니다.

    +
      +
    • Spring MVC와 Spring Boot가 제공하는 다양한 웹 기능을 학습할 수 있습니다.
    • +
    • 웹 애플리케이션에 서버 사이드 전체를 개발해보는 경험을 할 수 있습니다. +
        +
      • 프론트엔드 엔지니어와 협업하며 프로젝트를 수행하는 것과 유사한 경험을 할 수 있습니다.
      • +
      • 보편적인 웹 애플리케이션 아키텍처를 엿볼 수 있습니다.
      • +
      +
    • +
    • 라이브 코딩과 설명, 실습으로 18시간(온라인 3시간 / 오프라인 하루 7.5시간, 이틀간) 동안 진행됩니다.
    • +
    +

    목표

    +
      +
    • Spring MVC의 구조와 아키텍처를 살펴봅니다. +
        +
      • Spring Boot가 제공하는 웹 기능도 함께 살펴봅니다.
      • +
      +
    • +
    • HTTP 요청을 연결하는 방법을 학습합니다. +
        +
      • URL과 HTTP Method, Header 등 사용해 연결하는 방법을 다룹니다.
      • +
      • 정적 자원(css, image, javascript)을 연결하는 방법을 다룹니다.
      • +
      +
    • +
    • HTTP 요청시 클라이언트(브라우저)가 전송한 데이터을 다루는 방법을 학습합니다. +
        +
      • HTML 폼, JSON 페이로드, 파일 등 다양한 요청 데이터를 다룹니다.
      • +
      +
    • +
    • 요청 처리 결과를 클라이언트(브라우저)에게 응답하는 방법을 학습합니다. +
        +
      • HTML 또는 JSON, 파일 컨텐트를 다룹니다.
      • +
      +
    • +
    • 요청 및 응답 처리 과정에서 발생한 예외를 처리하는 방법을 학습합니다. +
        +
      • 오류 페이지와 메시지를 처리하는 방법을 다룹니다.
      • +
      +
    • +
    • 요청과 응답에 대해 전처리 또는 후처리 방법을 학습합니다. +
        +
      • 사용자 인증과 인가 또는 로깅 등 처리 방법을 다룹니다.
      • +
      +
    • +
    • i18n을 위한 메세지 다국어 처리 방법을 학습합니다.
    • +
    +

    학습자료 및 환경

    +

    워크숍 과정에서 제공되는 학습 자료 중 일부를 링크를 통해 볼 수 있습니다. 그리고 사용하는 JVM 플랫폼 및 프레임워크, 라이브러리와 도구는 아래와 같습니다.

    + +

    진행방식

    +

    참가자는 제공되는 애플리케이션 정의서와 Web API 정의서, 그리고 웹 클라이언트로 할 일 목록 웹 애플리케이션(todos)에 서버 사이드를 개발합니다.

    + +

    가이드 러너가 라이브 코딩과 함께 Spring MVC(또는 Spring Boot)에 기능을 설명해주면, 참가자는 해당 코드를 직접 작성하고 실행-테스트 하는 과정을 반복하며 완전한 웹 애플리케이션을 개발해보는 방식으로 진행됩니다.

    +

    참가대상 및 준비물

    +

    본 워크숍은 자바(Java)와 웹(Web)에 대한 이해가 있는 분을 대상으로 합니다.

    +
      +
    • 자바(Java)에 언어 특징과 문법을 이해하고 사용할 줄 알아야 합니다. +
        +
      • 서블릿(Servlet)에 대해 이해도가 있으면, 워크숍 과정에서 좀 더 많은 것을 얻을 수 있습니다.
      • +
      +
    • +
    • HTTP에 대한 기본 지식과 이해가 필요합니다. +
        +
      • 요청(Request)과 응답(Response)이라는 웹 처리 흐름에 대한 이해가 있어야 합니다.
      • +
      • HTTP 헤더, 쿠키, 세션, 상태코드 등에 대한 이해가 있어야 합니다.
      • +
      • 미디어타입(Media Type)에 대해 이해도가 있으면, 워크숍 과정에서 좀 더 많은 것을 얻을 수 있습니다.
      • +
      +
    • +
    • 웹 기술(HTML, CSS, JavaScript)에 대해 이해도가 있으면, 워크숍 과정에서 좀 더 많은 것을 얻을 수 있습니다.
    • +
    +

    참가자는 Java 21과 IntelliJ IDEA Community Edition이 설치된 개인 노트북을 지참해야 합니다.

    +

    참가신청

    +
      +
    • 본 워크숍은 유료사전 신청 및 결제 후 참여할 수 있습니다.
    • +
    • 신청 및 결제는 페스타(Festa)를 통해 할 수 있습니다.
    • +
    +

    참가취소 및 환불 정책

    +
      +
    • 마감전 취소/환불은 페스타에서 할 수 있습니다. +
        +
      • 참가 취소/환불 규정은 페스타 약관에 따라 처리됩니다.
      • +
      • 참가비의 100%가 환불됩니다.
      • +
      +
    • +
    • 마감후 취소/환불은 메일(help@springrunner.dev)로 신청해야합니다. +
        +
      • 메일 내용에 은행 / 환불계좌 / 계좌주 / 연락처 / 페스타 아이디를 작성해 보내야합니다.
      • +
      • 참가비의 50%가 환불됩니다. (교육장 계약 비용으로 인한 점 양해바랍니다)
      • +
      +
    • +
    + +
    워크숍 후기
    + +
    워크숍 일정 및 이력
    +
    Mastering Spring Web 101 Workshop (10th)
    +
      +
    • 일정: 2024년 8월 9일 ~ 8월 11일
    • +
    • 장소: 서울 강남구 봉은사로 303 502호, eBrain
    • +
    +
    Done: Mastering Spring Web 101 Workshop (9th)
    +
      +
    • 일정: 2020년 8월 14일 ~ 8월 16일
    • +
    • 장소: 서울시 강남구 논현로105길 10 2층, 펀에듀스페이스
    • +
    • 인원: 6명
    • +
    +
    Done: Mastering Spring Web 101 Workshop (8th)
    +
      +
    • 일정: 2020년 7월 17일 ~ 7월 19일
    • +
    • 장소: 서울시 강남구 논현로105길 10 2층, 펀에듀스페이스
    • +
    • 인원: 5명
    • +
    +
    Done: Mastering Spring Web 101 Workshop (7th)
    +
      +
    • 일정: 2020년 2월 15일 ~ 2월 16일
    • +
    • 장소: 서울시 서초구 서운로 142-4 재전빌딩, 코지 모임공간 강남2호점
    • +
    • 인원: 9명
    • +
    +
    Done: Mastering Spring Web 101 Workshop (6th)
    +
      +
    • 일정: 2019년 11월 23일 ~ 11월 24일
    • +
    • 장소: 서울시 강남구 논현로105길 10 2층, 펀에듀스페이스
    • +
    • 인원: 8명
    • +
    +
    Done: Mastering Spring Web 101 Workshop (5th)
    +
      +
    • 일정: 2019년 10월 19일 ~ 10월 26일
    • +
    • 장소: 서울시 강남구 논현로105길 10 2층, 펀에듀스페이스
    • +
    • 인원: 5명
    • +
    +
    Done: Mastering Spring Web 101 Workshop (4th)
    +
      +
    • 일정: 2019년 9월 7일 ~ 9월 8일
    • +
    • 장소: 서울시 강남구 테헤란로4길 6, 마이워크스페이스 1호점 컨퍼런스룸
    • +
    • 인원: 11명
    • +
    +
    Done: Mastering Spring Web 101 Workshop (3rd)
    +
      +
    • 일정: 2019년 8월 24일 ~ 8월 25일
    • +
    • 장소: 서울시 강남구 논현로105길 10 2층, 펀에듀스페이스
    • +
    • 인원: 13명
    • +
    +
    Done: Mastering Spring Web 101 Workshop (2nd)
    +
      +
    • 일정: 2019년 7월 20일 ~ 2019년 7월 21일
    • +
    • 장소: 서울시 강남구 논현로105길 10 2층, 펀에듀스페이스
    • +
    • 인원: 11명
    • +
    +
    Done: Mastering Spring Web 101 Workshop (1st)
    +
      +
    • 일정: 2019년 2월 16일 ~ 2019년 2월 17일
    • +
    • 장소: 서울시 강남구 강남대로62길 23 4층, 코드스쿼드
    • +
    • 인원: 10명
    • +
    + + + +
    + + + + + +
    + + + + + + +
    + + + +
    +
    + + + + + + + diff --git a/training/page/1/index.html b/training/page/1/index.html new file mode 100644 index 0000000..2cbae21 --- /dev/null +++ b/training/page/1/index.html @@ -0,0 +1,10 @@ + + + + https://springrunner.github.io/training/ + + + + + +