<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>맥스의 개발 끄적끄적</title>
    <link>https://maxjang.tistory.com/</link>
    <description>개발과 일상의 콜라보레이션</description>
    <language>ko</language>
    <pubDate>Fri, 10 Jul 2026 16:23:44 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>maxjang</managingEditor>
    <image>
      <title>맥스의 개발 끄적끄적</title>
      <url>https://tistory1.daumcdn.net/tistory/4522876/attach/4af0e77ae5384d68853825f5a9ca956a</url>
      <link>https://maxjang.tistory.com</link>
    </image>
    <item>
      <title>[IntelliJ] 생산성을 2배로 높이는 초기 설정 팁 (필수 플러그인 포함)</title>
      <link>https://maxjang.tistory.com/15</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;IntelliJ를 처음 설치하고 편리하고 아름다운 환경에서 개발할 수 있는 몇 가지 초기 설정 팁을 소개합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;* JetBrains의 다른 IDE에서도 설정이 가능하지만, 본 문서는 IntelliJ를 기준으로 작성되었습니다. 일부 설정은 다른 IDE에서 작동하지 않을 수 있습니다.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;1. Font - D2Coding Ligature 폰트 사용&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;개발자는 가독성과 효율성을 중시합니다. IntelliJ에서 &lt;b&gt;D2Coding 폰트와 Ligature&lt;/b&gt;를 사용하면 코드 작성이 훨씬 편리해집니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;D2Coding 폰트의 장점:&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;가독성 높은 글자 디자인&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;다국어 지원&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Ligature로 가독성과 이해도 향상&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;!==는 &amp;ne;로 표시&lt;/li&gt;
&lt;li&gt;-&amp;gt;는 &amp;rarr;로 표시&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;IntelliJ에 D2Coding 폰트를 적용하는 방법:&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;아래 이미지를 클릭하여 &lt;a href=&quot;https://github.com/naver/d2codingfont/releases/tag/VER1.3.2&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;D2Coding 폰트를 다운로드&lt;/a&gt;합니다.&lt;/li&gt;
&lt;li&gt;다운로드한 폰트를 설치한 후 IntelliJ를 종료합니다.&lt;/li&gt;
&lt;li&gt;IntelliJ를 다시 실행하고, &lt;code&gt;Settings &amp;gt; Editor &amp;gt; Font&lt;/code&gt;에서 D2Coding Ligature를 선택합니다.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;888&quot; data-origin-height=&quot;350&quot;&gt;&lt;a href=&quot;https://github.com/naver/d2codingfont/releases/tag/VER1.3.2&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bw2k7z/btsLFg9EnvM/OSIouYjgigxZfNJnfZYmIK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbw2k7z%2FbtsLFg9EnvM%2FOSIouYjgigxZfNJnfZYmIK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;690&quot; height=&quot;272&quot; data-origin-width=&quot;888&quot; data-origin-height=&quot;350&quot;/&gt;&lt;/a&gt;&lt;figcaption&gt;사진을 클릭하여 폰트 다운로드 페이지로 갈 수 있습니다.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;i&gt;폰트 설정 메뉴&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2025-01-04 오후 9.52.46.png&quot; data-origin-width=&quot;1277&quot; data-origin-height=&quot;855&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ce2atV/btsLDmwFO45/qA8HJvY2ZnAUCYOwSR1Nhk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ce2atV/btsLDmwFO45/qA8HJvY2ZnAUCYOwSR1Nhk/img.png&quot; data-alt=&quot;폰트 설정 메뉴&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ce2atV/btsLDmwFO45/qA8HJvY2ZnAUCYOwSR1Nhk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fce2atV%2FbtsLDmwFO45%2FqA8HJvY2ZnAUCYOwSR1Nhk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;764&quot; height=&quot;512&quot; data-filename=&quot;스크린샷 2025-01-04 오후 9.52.46.png&quot; data-origin-width=&quot;1277&quot; data-origin-height=&quot;855&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;폰트 설정 메뉴&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2025-01-04 오후 10.01.45.png&quot; data-origin-width=&quot;1135&quot; data-origin-height=&quot;789&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/S8e27/btsLFexfgO3/OiS7PTAue0DEVyihOqOF00/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/S8e27/btsLFexfgO3/OiS7PTAue0DEVyihOqOF00/img.png&quot; data-alt=&quot;D2Coding Ligature가 적용된 코드&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/S8e27/btsLFexfgO3/OiS7PTAue0DEVyihOqOF00/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FS8e27%2FbtsLFexfgO3%2FOiS7PTAue0DEVyihOqOF00%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;800&quot; height=&quot;556&quot; data-filename=&quot;스크린샷 2025-01-04 오후 10.01.45.png&quot; data-origin-width=&quot;1135&quot; data-origin-height=&quot;789&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;D2Coding Ligature가 적용된 코드&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Ligature 적용으로 연산자와 기호가 시각적으로 명확해져, 코드 가독성이 향상됩니다.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;2. Plugin - Atom Material Icons&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Atom Material Icons&lt;/b&gt;는 파일 유형에 따라 다른 아이콘을 적용해주는 플러그인으로, 다음과 같은 장점이 있습니다:&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;파일 확장자별로 고유 아이콘 제공&lt;/b&gt; (.java, .html, .css, .js 등)&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Google Material Design 기반의 세련된 디자인&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2025-01-04 오후 10.11.14.png&quot; data-origin-width=&quot;1480&quot; data-origin-height=&quot;828&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cdL74O/btsLCHH721O/wfN17213cFhmTQbd16sK9k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cdL74O/btsLCHH721O/wfN17213cFhmTQbd16sK9k/img.png&quot; data-alt=&quot;플러그인 메뉴&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cdL74O/btsLCHH721O/wfN17213cFhmTQbd16sK9k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcdL74O%2FbtsLCHH721O%2FwfN17213cFhmTQbd16sK9k%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;764&quot; height=&quot;427&quot; data-filename=&quot;스크린샷 2025-01-04 오후 10.11.14.png&quot; data-origin-width=&quot;1480&quot; data-origin-height=&quot;828&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;플러그인 메뉴&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2025-01-04 오후 10.12.39.png&quot; data-origin-width=&quot;169&quot; data-origin-height=&quot;140&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cFaGA3/btsLCqNmHcB/fgZCCyKG2YVscBaQHc63dk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cFaGA3/btsLCqNmHcB/fgZCCyKG2YVscBaQHc63dk/img.png&quot; data-alt=&quot;플러그인이 적용된 프로젝트 파일&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cFaGA3/btsLCqNmHcB/fgZCCyKG2YVscBaQHc63dk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcFaGA3%2FbtsLCqNmHcB%2FfgZCCyKG2YVscBaQHc63dk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;169&quot; height=&quot;140&quot; data-filename=&quot;스크린샷 2025-01-04 오후 10.12.39.png&quot; data-origin-width=&quot;169&quot; data-origin-height=&quot;140&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;플러그인이 적용된 프로젝트 파일&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;플러그인을 설치하면 프로젝트 파일이 위처럼 아이콘으로 구분됩니다.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;3. Plugin - Nyan Progress Bar&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Nyancat Progress Bar&lt;/b&gt;는 로딩 바를 귀여운 NyanCat 이미지로 변경하는 플러그인입니다. 로딩 시간을 즐겁게 해주는 재미 요소입니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2025-01-04 오후 10.17.43.png&quot; data-origin-width=&quot;1109&quot; data-origin-height=&quot;830&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ubhT8/btsLDJ6d5lO/HE8CHzlaL6aUYtEkZ2jre0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ubhT8/btsLDJ6d5lO/HE8CHzlaL6aUYtEkZ2jre0/img.png&quot; data-alt=&quot;플러그인 메뉴&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ubhT8/btsLDJ6d5lO/HE8CHzlaL6aUYtEkZ2jre0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FubhT8%2FbtsLDJ6d5lO%2FHE8CHzlaL6aUYtEkZ2jre0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;764&quot; height=&quot;572&quot; data-filename=&quot;스크린샷 2025-01-04 오후 10.17.43.png&quot; data-origin-width=&quot;1109&quot; data-origin-height=&quot;830&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;플러그인 메뉴&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2025-01-04 오후 10.20.05.png&quot; data-origin-width=&quot;176&quot; data-origin-height=&quot;29&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/W60RE/btsLCrS29wr/YldO9HUW5QmbNxKWB2GT91/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/W60RE/btsLCrS29wr/YldO9HUW5QmbNxKWB2GT91/img.png&quot; data-alt=&quot;플러그인이 적용된 프로그레스바&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/W60RE/btsLCrS29wr/YldO9HUW5QmbNxKWB2GT91/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FW60RE%2FbtsLCrS29wr%2FYldO9HUW5QmbNxKWB2GT91%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;176&quot; height=&quot;29&quot; data-filename=&quot;스크린샷 2025-01-04 오후 10.20.05.png&quot; data-origin-width=&quot;176&quot; data-origin-height=&quot;29&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;플러그인이 적용된 프로그레스바&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;4. Plugin - Rainbow Bracket&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Rainbow Bracket&lt;/b&gt;은 중첩된 괄호 구조를 색상으로 구분해 가독성을 높이는 플러그인입니다:&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;가독성 향상:&lt;/b&gt; 복잡한 구조도 시각적으로 명확&lt;/li&gt;
&lt;li&gt;&lt;b&gt;오류 방지:&lt;/b&gt; 짝이 맞지 않는 괄호를 쉽게 확인&lt;/li&gt;
&lt;li&gt;&lt;b&gt;다양한 언어 지원:&lt;/b&gt; Java, Python, JavaScript 등&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2025-01-04 오후 10.24.13.png&quot; data-origin-width=&quot;1312&quot; data-origin-height=&quot;828&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cUTrSW/btsLEhIfwaw/X5F9g7xKb4ihiTaqA7LKLk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cUTrSW/btsLEhIfwaw/X5F9g7xKb4ihiTaqA7LKLk/img.png&quot; data-alt=&quot;플러그인 메뉴&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cUTrSW/btsLEhIfwaw/X5F9g7xKb4ihiTaqA7LKLk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcUTrSW%2FbtsLEhIfwaw%2FX5F9g7xKb4ihiTaqA7LKLk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;764&quot; height=&quot;482&quot; data-filename=&quot;스크린샷 2025-01-04 오후 10.24.13.png&quot; data-origin-width=&quot;1312&quot; data-origin-height=&quot;828&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;플러그인 메뉴&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2025-01-04 오후 10.25.54.png&quot; data-origin-width=&quot;637&quot; data-origin-height=&quot;467&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cAa2Ug/btsLCGCFUbu/ohXrOSznD2zDNAVBhUL5a0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cAa2Ug/btsLCGCFUbu/ohXrOSznD2zDNAVBhUL5a0/img.png&quot; data-alt=&quot;Rainbow Bracket이 적용된 코드&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cAa2Ug/btsLCGCFUbu/ohXrOSznD2zDNAVBhUL5a0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcAa2Ug%2FbtsLCGCFUbu%2FohXrOSznD2zDNAVBhUL5a0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;800&quot; height=&quot;586&quot; data-filename=&quot;스크린샷 2025-01-04 오후 10.25.54.png&quot; data-origin-width=&quot;637&quot; data-origin-height=&quot;467&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;Rainbow Bracket이 적용된 코드&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;5. Function - Semantic Highlighting&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Semantic Highlighting&lt;/b&gt;은 변수, 메서드, 클래스 등 코드 요소를 문맥에 따라 다른 색상으로 강조해주는 기능입니다.&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;&lt;code&gt;Settings &amp;gt; Editor &amp;gt; Color Scheme&lt;/code&gt;로 이동&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Language Defaults&lt;/code&gt;에서 &lt;b&gt;Semantic Highlighting&lt;/b&gt; 체크박스 활성화&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2025-01-04 오후 10.33.10.png&quot; data-origin-width=&quot;1312&quot; data-origin-height=&quot;828&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cCXtuG/btsLEXWOAyY/7aTLxvLjLQxllkKYCkNrg0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cCXtuG/btsLEXWOAyY/7aTLxvLjLQxllkKYCkNrg0/img.png&quot; data-alt=&quot;Semantic Highlighting 활성화 메뉴&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cCXtuG/btsLEXWOAyY/7aTLxvLjLQxllkKYCkNrg0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcCXtuG%2FbtsLEXWOAyY%2F7aTLxvLjLQxllkKYCkNrg0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;764&quot; height=&quot;482&quot; data-filename=&quot;스크린샷 2025-01-04 오후 10.33.10.png&quot; data-origin-width=&quot;1312&quot; data-origin-height=&quot;828&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;Semantic Highlighting 활성화 메뉴&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2025-01-04 오후 10.35.00.png&quot; data-origin-width=&quot;1046&quot; data-origin-height=&quot;670&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Ad9oQ/btsLEN7VbNe/C1PNJuKU9CcMhn8tgVpAkk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Ad9oQ/btsLEN7VbNe/C1PNJuKU9CcMhn8tgVpAkk/img.png&quot; data-alt=&quot;Sementic Highlighting이 적용된 코드&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Ad9oQ/btsLEN7VbNe/C1PNJuKU9CcMhn8tgVpAkk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FAd9oQ%2FbtsLEN7VbNe%2FC1PNJuKU9CcMhn8tgVpAkk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;800&quot; height=&quot;512&quot; data-filename=&quot;스크린샷 2025-01-04 오후 10.35.00.png&quot; data-origin-width=&quot;1046&quot; data-origin-height=&quot;670&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;Sementic Highlighting이 적용된 코드&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Semantic Highlighting을 활성화하면 키워드와 변수의 구분이 명확해져 코드 이해도가 높아집니다.&lt;/p&gt;</description>
      <category>Tip</category>
      <category>d2coding</category>
      <category>intellij</category>
      <category>intellij설정</category>
      <category>jetbrains</category>
      <category>pycharm</category>
      <category>개발환경</category>
      <category>인텔리제이</category>
      <category>코딩폰트</category>
      <category>파이참</category>
      <category>플러그인</category>
      <author>maxjang</author>
      <guid isPermaLink="true">https://maxjang.tistory.com/15</guid>
      <comments>https://maxjang.tistory.com/15#entry15comment</comments>
      <pubDate>Sun, 5 Jan 2025 11:00:53 +0900</pubDate>
    </item>
    <item>
      <title>[AZ-900] Azure 자격증 무료 응시 방법(중단), 시험신청 및 합격후기</title>
      <link>https://maxjang.tistory.com/13</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;다운로드 (1).png&quot; data-origin-width=&quot;600&quot; data-origin-height=&quot;600&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/mtsq6/btr07y32F4N/NwUWLauil5khk8LgZSboAk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/mtsq6/btr07y32F4N/NwUWLauil5khk8LgZSboAk/img.png&quot; data-alt=&quot;AZURE FUNDAMENTALS&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/mtsq6/btr07y32F4N/NwUWLauil5khk8LgZSboAk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fmtsq6%2Fbtr07y32F4N%2FNwUWLauil5khk8LgZSboAk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;250&quot; height=&quot;250&quot; data-filename=&quot;다운로드 (1).png&quot; data-origin-width=&quot;600&quot; data-origin-height=&quot;600&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;AZURE FUNDAMENTALS&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;방송통신대학교 졸업논문대체 자격증 중에 AZ-900이라는 Microsoft Azure가 해당이 된다는 것을 알았습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;클라우드 기초 자격증이고, &lt;s&gt;MS에서 제공하는 무료 강의를 이틀 연속으로 라이브 수강하면 시험응시를 무료로 할 수 있는 바우처도 준다고 해서 바로 찾아봤습니다.&lt;/s&gt; (시험 비용 $69)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;-&amp;gt; 정정합니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Microsoft Training Support에 의하면 2023년 3월 28일 이후 교육부터는 무료 바우처가 포함이 안되는 것으로 확인되었습니다.&lt;/b&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1692458102287&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;리디렉션 중&quot; data-og-description=&quot;&quot; data-og-host=&quot;login.microsoftonline.com&quot; data-og-source-url=&quot;https://trainingsupport.microsoft.com/en-us/mcp/forum/all/microsoft-stopped-giving-out-az-900-vouchers/842615ed-d66b-4c15-8de4-1647c096373d&quot; data-og-url=&quot;https://login.microsoftonline.com/common/oauth2/v2.0/authorize?client_id=a81d90ac-aa75-4cf8-b14c-58bf348528fe&amp;amp;redirect_uri=https%3A%2F%2Ftrainingsupport.microsoft.com&amp;amp;response_type=code%20id_token&amp;amp;scope=openid%20profile&amp;amp;state=OpenIdConnect.AuthenticationProperties%3DYkGWRxDx2D68ozCU4B0_Jqthlm26UcyhAQ9-lHEUe_GREkk1QdGFQ99-B1HmMDDDaR2VGfwpSl7q7rTCKzV-HP7MUN0fx16SPj_yj7MmKJPjTaEcc_dpDioAtHObbiZB7YyZxqsgcgt3ToApRZEYxMUYek-JPVYv5325W9X99qQty1DGKEHH6emm7EangOLim6M5keEtc0BMr-iIreH-1AYR15sSJhVKy03YZOy_Cre-fSa2_6CrKmfbdvCGEty9q9YORXVBG05m3d_cxVby25sWNhd42xz86TErIUaZiS33jmvZIzZprobD9D2sTVU0rKHGS3NLrHT0GZXYmx0gAOAK84IYSahd67Om2zzU4NXBsznl3MM3hGLAub_0eL8kZJpLy5ETF4C_Byuocq2BqQ&amp;amp;response_mode=form_post&amp;amp;nonce=638280548586641529.Mzg4M2ZhM2ItOTU1MC00M2FmLWI3OTItZmY4NTJlNDRlMGM4ZThlNWMyMDYtZjJiMC00NzU1LWFhZjAtODRmYTQxNTNjMjMw&amp;amp;nopa=2&amp;amp;prompt=none&amp;amp;x-client-SKU=ID_NET472&amp;amp;x-client-ver=6.17.0.0&quot; data-og-image=&quot;&quot;&gt;&lt;a href=&quot;https://trainingsupport.microsoft.com/en-us/mcp/forum/all/microsoft-stopped-giving-out-az-900-vouchers/842615ed-d66b-4c15-8de4-1647c096373d&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://trainingsupport.microsoft.com/en-us/mcp/forum/all/microsoft-stopped-giving-out-az-900-vouchers/842615ed-d66b-4c15-8de4-1647c096373d&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url();&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;리디렉션 중&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;login.microsoftonline.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;무료 강의를 들을 수 있는 신청은 아래 링크에서 가능합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;과목이 많으니 잘 선택해야 한다. (Microsoft Azure Virtual Training Day: Fundamentals)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;(아래 링크는 과목 필터링이 포함되어 있음)&lt;/p&gt;
&lt;figure id=&quot;og_1677655330326&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;Microsoft Virtual Training Days&quot; data-og-description=&quot;전문성을 확장하고, 새로운 기술을 습득하고 커뮤니티를 구축하는 데 도움이 되는 특별 이벤트와 학습 기회를 살펴보세요.&quot; data-og-host=&quot;events.microsoft.com&quot; data-og-source-url=&quot;https://events.microsoft.com/ko-kr/mvtd?view=list&amp;amp;scenario=Microsoft%20Azure%20Virtual%20Training%20Day:%20Fundamentals&amp;amp;clientTimeZone=1&quot; data-og-url=&quot;https://events.microsoft.com/ko-kr/mvtd&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/dhhxxF/hyRMmjQJTz/jIYoNegXBiztYT8fauohHk/img.png?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630&quot;&gt;&lt;a href=&quot;https://events.microsoft.com/ko-kr/mvtd?view=list&amp;amp;scenario=Microsoft%20Azure%20Virtual%20Training%20Day:%20Fundamentals&amp;amp;clientTimeZone=1&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://events.microsoft.com/ko-kr/mvtd?view=list&amp;amp;scenario=Microsoft%20Azure%20Virtual%20Training%20Day:%20Fundamentals&amp;amp;clientTimeZone=1&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/dhhxxF/hyRMmjQJTz/jIYoNegXBiztYT8fauohHk/img.png?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;Microsoft Virtual Training Days&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;전문성을 확장하고, 새로운 기술을 습득하고 커뮤니티를 구축하는 데 도움이 되는 특별 이벤트와 학습 기회를 살펴보세요.&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;events.microsoft.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;저는 영어, 일본어 강의가 없어서 울며 겨자먹기로 자리가 남은 태국어 강의를 신청했는데, 실제로 강의는 영어로 진행되고 자막은 태국어/영어 선택이 가능하니 남아있는 자리가 있다면 언어 불문하고 신청하는 것이 좋습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;1. 시험 신청 방법&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;아래 링크에서 시험 신청이 가능합니다.&lt;/p&gt;
&lt;figure id=&quot;og_1677655071538&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;시험 AZ-900: Microsoft Azure Fundamentals - Certifications&quot; data-og-description=&quot;시험 AZ-900: Microsoft Azure Fundamentals&quot; data-og-host=&quot;learn.microsoft.com&quot; data-og-source-url=&quot;https://learn.microsoft.com/ko-kr/certifications/exams/az-900/?tab=tab-learning-paths&quot; data-og-url=&quot;https://learn.microsoft.com/ko-kr/certifications/exams/az-900/&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/b3xsZa/hyRMvHSiai/c0LDcSRmihetPrE76kaKO0/img.png?width=400&amp;amp;height=400&amp;amp;face=0_0_400_400&quot;&gt;&lt;a href=&quot;https://learn.microsoft.com/ko-kr/certifications/exams/az-900/?tab=tab-learning-paths&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://learn.microsoft.com/ko-kr/certifications/exams/az-900/?tab=tab-learning-paths&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/b3xsZa/hyRMvHSiai/c0LDcSRmihetPrE76kaKO0/img.png?width=400&amp;amp;height=400&amp;amp;face=0_0_400_400');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;시험 AZ-900: Microsoft Azure Fundamentals - Certifications&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;시험 AZ-900: Microsoft Azure Fundamentals&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;learn.microsoft.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;979&quot; data-origin-height=&quot;556&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/CEG3c/btsgyLgrnXg/GVSzR33BgHZUIfJ8sMyZq1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/CEG3c/btsgyLgrnXg/GVSzR33BgHZUIfJ8sMyZq1/img.png&quot; data-alt=&quot;예약 페이지 화면&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/CEG3c/btsgyLgrnXg/GVSzR33BgHZUIfJ8sMyZq1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FCEG3c%2FbtsgyLgrnXg%2FGVSzR33BgHZUIfJ8sMyZq1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;979&quot; height=&quot;556&quot; data-origin-width=&quot;979&quot; data-origin-height=&quot;556&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;예약 페이지 화면&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;저는 무료 강의를 통해 받은 바우처 사용으로 예약을 하기 위해 Pearson VUE에서 예약을 했습니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2023-05-19 오후 4.17.48.png&quot; data-origin-width=&quot;702&quot; data-origin-height=&quot;546&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/vIUnG/btsgBVWCWzY/r11VEW7Jw3b3HOSCSWGqZ1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/vIUnG/btsgBVWCWzY/r11VEW7Jw3b3HOSCSWGqZ1/img.png&quot; data-alt=&quot;바우처 할인 사용 화면&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/vIUnG/btsgBVWCWzY/r11VEW7Jw3b3HOSCSWGqZ1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FvIUnG%2FbtsgBVWCWzY%2Fr11VEW7Jw3b3HOSCSWGqZ1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;702&quot; height=&quot;546&quot; data-filename=&quot;스크린샷 2023-05-19 오후 4.17.48.png&quot; data-origin-width=&quot;702&quot; data-origin-height=&quot;546&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;바우처 할인 사용 화면&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;할인 적용을 누르고 진행하면 나중에 결제 창에서 -$69.00 처리가 되면서 무료로 신청이 가능합니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2023-05-19 오후 4.20.27.png&quot; data-origin-width=&quot;1203&quot; data-origin-height=&quot;784&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bKkrh1/btsgB2nMntY/9VJqCwTburuuds6Nu4Pw3k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bKkrh1/btsgB2nMntY/9VJqCwTburuuds6Nu4Pw3k/img.png&quot; data-alt=&quot;시험 언어 선택 화면&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bKkrh1/btsgB2nMntY/9VJqCwTburuuds6Nu4Pw3k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbKkrh1%2FbtsgB2nMntY%2F9VJqCwTburuuds6Nu4Pw3k%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1203&quot; height=&quot;784&quot; data-filename=&quot;스크린샷 2023-05-19 오후 4.20.27.png&quot; data-origin-width=&quot;1203&quot; data-origin-height=&quot;784&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;시험 언어 선택 화면&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;시험 언어는 위와 같이 선택할 수 있습니다. 영어가 아닌 다른 언어를 선택을 하면 30분 추가 시간이 주어진다고 합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;한국어 선택을 하고 시험에 응시해도 영어로 전환이 되기 때문에 한국어로 응시했습니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2023-05-19 오후 4.23.35.png&quot; data-origin-width=&quot;1178&quot; data-origin-height=&quot;472&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Jap53/btsgBHxAU3A/DLrG3Rxy83vgoaIOZ7i0v0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Jap53/btsgBHxAU3A/DLrG3Rxy83vgoaIOZ7i0v0/img.png&quot; data-alt=&quot;감독관 언어 선택 화면&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Jap53/btsgBHxAU3A/DLrG3Rxy83vgoaIOZ7i0v0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FJap53%2FbtsgBHxAU3A%2FDLrG3Rxy83vgoaIOZ7i0v0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1178&quot; height=&quot;472&quot; data-filename=&quot;스크린샷 2023-05-19 오후 4.23.35.png&quot; data-origin-width=&quot;1178&quot; data-origin-height=&quot;472&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;감독관 언어 선택 화면&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;시험에 체크인하고 본인확인 및 캠으로 시험 장소 확인을 위해 감독관과 채팅 및 음성대화에 필요한 언어를 선택합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;영어나 일본어 선택이 가능합니다. 저는 일본어로 진행했습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;+ 일본어 구사자의 경우 감독관(proctor)의 이름으로 보아 중국계 같았습니다. 실제로 발음이나 어휘에 전혀 문제 없습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;또한 감독관과 채팅을 위해 일본어 키보드를 미리 설정해두시고, 존경어/겸양어 등 경어를 사용하니 일본어에 능숙하지 않은 분들은 영어를 추천드립니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2023-05-19 오후 4.28.40.png&quot; data-origin-width=&quot;2172&quot; data-origin-height=&quot;1100&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/pui0l/btsgDhqZ3as/jg2kFNzKidl0KIi6fwZF90/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/pui0l/btsgDhqZ3as/jg2kFNzKidl0KIi6fwZF90/img.png&quot; data-alt=&quot;예약 시험 확인 메일&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/pui0l/btsgDhqZ3as/jg2kFNzKidl0KIi6fwZF90/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fpui0l%2FbtsgDhqZ3as%2Fjg2kFNzKidl0KIi6fwZF90%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2172&quot; height=&quot;1100&quot; data-filename=&quot;스크린샷 2023-05-19 오후 4.28.40.png&quot; data-origin-width=&quot;2172&quot; data-origin-height=&quot;1100&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;예약 시험 확인 메일&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예약을 하면 이런 내용의 메일이 시험 신청 시 기재하신 이메일로 발송됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;'시스템 테스트하기' 를 클릭하여 미리 시험에 필요한 프로그램을 설치하여 캠, 마이크, 스피커 그리고 네트워크 등 환경에 대한 테스트가 가능합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;'시험을 시작하려면 체크인'을 클릭하여 시험 30분 전부터 체크인을 할 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;2. 시험 후기&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;시험은 대체적으로 덤프에서 출제되었으며, laaS, FaaS, SaaS 및 클라우드 시스템의 대략적인 흐름을 알고 계신다면 덤프 및 기초상식을 기반으로 문제를 풀 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;아래에 공유해 드릴 모의시험도 도움이 되었습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;AWS 서비스만 사용한 나머지 Azure의 서비스 및 상품들의 이름들이 생소에 적응하는데 시간이 걸렸습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;덤프 및 모의시험으로 공부에 사용한 시간은 약 10시간 입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;굳이 모의시험을 하지 않아도 된다고 생각하고, 덤프로도 충분히 커버 가능할 것 같습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;문제는 시험을 볼 때마다 다르다고 합니다. 저는 36문제가 출제되었으며, 난이도는 덤프와 똑같았으나 클라우드 기초 부분에서는 쉬웠지만, Azure의 상품에 익숙치 않아 상품 쪽에서는 좀 어려움이 있었습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;저처럼 타 서비스를 사용하여 Azure에 익숙하지 않은 분들은 Azure 대시보드에 직접 접속하여 서비스들을 훑어보시는 것을 추천드립니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;저는 1000점 만점으로 저는 800점을 맞았습니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2023-05-19 오후 4.53.34.png&quot; data-origin-width=&quot;630&quot; data-origin-height=&quot;1143&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cOsrZQ/btsgC2nfx94/h64xqtLWEt2UPlgu2p1afK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cOsrZQ/btsgC2nfx94/h64xqtLWEt2UPlgu2p1afK/img.png&quot; data-alt=&quot;시험 합격 및 종료 후 메일&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cOsrZQ/btsgC2nfx94/h64xqtLWEt2UPlgu2p1afK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcOsrZQ%2FbtsgC2nfx94%2Fh64xqtLWEt2UPlgu2p1afK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;630&quot; height=&quot;1143&quot; data-filename=&quot;스크린샷 2023-05-19 오후 4.53.34.png&quot; data-origin-width=&quot;630&quot; data-origin-height=&quot;1143&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;시험 합격 및 종료 후 메일&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;시험이 끝나고 약 1시간 뒤에 제 메일로 온 합격 메일입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;배지 신청을 하여 credly.com을 통해 링크드인에도 추가할 수 있고, 아래와 같이 Public Link를 만들 수 있습니다.&lt;/p&gt;
&lt;figure id=&quot;og_1684482789262&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;og:object&quot; data-og-title=&quot;Microsoft Certified: Azure Fundamentals was issued by Microsoft to KukYeong Jang.&quot; data-og-description=&quot;Earners of the Azure Fundamentals certification have demonstrated foundational level knowledge of cloud services and how those services are provided with Microsoft Azure.&quot; data-og-host=&quot;www.credly.com&quot; data-og-source-url=&quot;https://www.credly.com/badges/a4641577-ebe0-43e0-ba31-c21976f90606/public_url&quot; data-og-url=&quot;https://www.credly.com/badges/a4641577-ebe0-43e0-ba31-c21976f90606&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/wpO6t/hySGaWkQNg/5KhiaaGgyGYMj1vezk5VEK/img.png?width=672&amp;amp;height=352&amp;amp;face=0_0_672_352,https://scrap.kakaocdn.net/dn/Ee4Ni/hySF9JTM9W/FMMYoqterGkXPiRG4dVcZ0/img.png?width=512&amp;amp;height=512&amp;amp;face=0_0_512_512&quot;&gt;&lt;a href=&quot;https://www.credly.com/badges/a4641577-ebe0-43e0-ba31-c21976f90606/public_url&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://www.credly.com/badges/a4641577-ebe0-43e0-ba31-c21976f90606/public_url&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/wpO6t/hySGaWkQNg/5KhiaaGgyGYMj1vezk5VEK/img.png?width=672&amp;amp;height=352&amp;amp;face=0_0_672_352,https://scrap.kakaocdn.net/dn/Ee4Ni/hySF9JTM9W/FMMYoqterGkXPiRG4dVcZ0/img.png?width=512&amp;amp;height=512&amp;amp;face=0_0_512_512');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;Microsoft Certified: Azure Fundamentals was issued by Microsoft to KukYeong Jang.&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Earners of the Azure Fundamentals certification have demonstrated foundational level knowledge of cloud services and how those services are provided with Microsoft Azure.&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;www.credly.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;3. 시험 공부에 사용한 자료 공유&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;시험 공부에 사용한 자료를 공유해드리겠습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. examtopics 덤프 - 페이지를 넘어갈 때마다 CAPTCHA 인증이 뜨지만, 가장 시험이랑 유사한 문제들이 있음&lt;/p&gt;
&lt;figure id=&quot;og_1684481616461&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;AZ-900 Exam &amp;ndash; Free Actual Q&amp;amp;As, Page 1 | ExamTopics&quot; data-og-description=&quot;Note: The question is included in a number of questions that depicts the identical set-up. However, every question has a distinctive result. Establish if the solution satisfies the requirements. Your company's Azure subscription includes a Basic support pl&quot; data-og-host=&quot;www.examtopics.com&quot; data-og-source-url=&quot;https://www.examtopics.com/exams/microsoft/az-900/view/&quot; data-og-url=&quot;https://www.examtopics.com/exams/microsoft/az-900/view/&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/P60hB/hySF7rMnjq/TSiU5Pv4UkPdgap8vKjnqk/img.png?width=566&amp;amp;height=468&amp;amp;face=0_0_566_468,https://scrap.kakaocdn.net/dn/uFKhR/hySFZ1zDy7/sjeznBSPfS2TGJzfxdzrc1/img.png?width=566&amp;amp;height=468&amp;amp;face=0_0_566_468&quot;&gt;&lt;a href=&quot;https://www.examtopics.com/exams/microsoft/az-900/view/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://www.examtopics.com/exams/microsoft/az-900/view/&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/P60hB/hySF7rMnjq/TSiU5Pv4UkPdgap8vKjnqk/img.png?width=566&amp;amp;height=468&amp;amp;face=0_0_566_468,https://scrap.kakaocdn.net/dn/uFKhR/hySFZ1zDy7/sjeznBSPfS2TGJzfxdzrc1/img.png?width=566&amp;amp;height=468&amp;amp;face=0_0_566_468');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;AZ-900 Exam &amp;ndash; Free Actual Q&amp;amp;As, Page 1 | ExamTopics&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Note: The question is included in a number of questions that depicts the identical set-up. However, every question has a distinctive result. Establish if the solution satisfies the requirements. Your company's Azure subscription includes a Basic support pl&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;www.examtopics.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2. ITExams 덤프 - 1번과 다를게 없지만 문제들이 조금씩 다름&lt;/p&gt;
&lt;figure id=&quot;og_1684481829042&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;AZ-900 by Microsoft Actual Free Exam Q&amp;amp;As - ITExams.com&quot; data-og-description=&quot;Note: This question is part of a series of questions that present the same scenario. Each question in the series contains a unique solution that might meet the stated goals. Some question sets might have more than one correct solution, while others might n&quot; data-og-host=&quot;www.itexams.com&quot; data-og-source-url=&quot;https://www.itexams.com/exam/AZ-900&quot; data-og-url=&quot;https://www.itexams.com/exam/AZ-900&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/vlIrm/hySFZ1zPa6/ScyC3SoVoce0nt0BNQUB6k/img.jpg?width=645&amp;amp;height=533&amp;amp;face=0_0_645_533,https://scrap.kakaocdn.net/dn/drwkv2/hySF6Na800/iTjNOOeXYe1acEiKyA6by0/img.jpg?width=762&amp;amp;height=307&amp;amp;face=0_0_762_307,https://scrap.kakaocdn.net/dn/dODSE8/hySF5Hv6jY/FmFgeBTUg6owxxpT0WBLaK/img.jpg?width=724&amp;amp;height=265&amp;amp;face=0_0_724_265&quot;&gt;&lt;a href=&quot;https://www.itexams.com/exam/AZ-900&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://www.itexams.com/exam/AZ-900&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/vlIrm/hySFZ1zPa6/ScyC3SoVoce0nt0BNQUB6k/img.jpg?width=645&amp;amp;height=533&amp;amp;face=0_0_645_533,https://scrap.kakaocdn.net/dn/drwkv2/hySF6Na800/iTjNOOeXYe1acEiKyA6by0/img.jpg?width=762&amp;amp;height=307&amp;amp;face=0_0_762_307,https://scrap.kakaocdn.net/dn/dODSE8/hySF5Hv6jY/FmFgeBTUg6owxxpT0WBLaK/img.jpg?width=724&amp;amp;height=265&amp;amp;face=0_0_724_265');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;AZ-900 by Microsoft Actual Free Exam Q&amp;amp;As - ITExams.com&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Note: This question is part of a series of questions that present the same scenario. Each question in the series contains a unique solution that might meet the stated goals. Some question sets might have more than one correct solution, while others might n&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;www.itexams.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3. Udemy 모의 시험 - 시험이랑 비슷한 느낌으로 모의 시험을 볼 수 있음 (유료)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;figure id=&quot;og_1660201659332&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;udemy_com:course&quot; data-og-title=&quot;【한글자막】 AZ-900: Microsoft Azure Fundamentals 실전 테스트&quot; data-og-description=&quot;세 개의 완성형, 시간제한 AZ-900 Azure Fundamentals 시험 연습 테스트, 총 150문항, 100% 오리지널 자료&quot; data-og-host=&quot;www.udemy.com&quot; data-og-source-url=&quot;https://www.udemy.com/course/best-az-900-azure-practice-test/&quot; data-og-url=&quot;https://www.udemy.com/course/best-az-900-azure-practice-test/&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/b014Op/hyPpFLbpLN/RGan56UDlJruAZctm8mM8k/img.jpg?width=480&amp;amp;height=270&amp;amp;face=206_84_298_185,https://scrap.kakaocdn.net/dn/JyVjJ/hyPpBPzfk6/NB2Pc2C1EmO1R03N6owYlK/img.jpg?width=480&amp;amp;height=270&amp;amp;face=206_84_298_185&quot;&gt;&lt;a href=&quot;https://www.udemy.com/course/best-az-900-azure-practice-test/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://www.udemy.com/course/best-az-900-azure-practice-test/&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/b014Op/hyPpFLbpLN/RGan56UDlJruAZctm8mM8k/img.jpg?width=480&amp;amp;height=270&amp;amp;face=206_84_298_185,https://scrap.kakaocdn.net/dn/JyVjJ/hyPpBPzfk6/NB2Pc2C1EmO1R03N6owYlK/img.jpg?width=480&amp;amp;height=270&amp;amp;face=206_84_298_185');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;【한글자막】 AZ-900: Microsoft Azure Fundamentals 실전 테스트&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;세 개의 완성형, 시간제한 AZ-900 Azure Fundamentals 시험 연습 테스트, 총 150문항, 100% 오리지널 자료&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;www.udemy.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;좋은 결과 있길 기대하겠습니다!&lt;/p&gt;</description>
      <category>CS</category>
      <category>AZ-900</category>
      <category>Azure</category>
      <category>Azure Fundamentals</category>
      <category>Microsoft</category>
      <category>마이크로소프트</category>
      <category>방송통신대학교</category>
      <category>방통대</category>
      <category>애저</category>
      <category>졸업논문대체</category>
      <category>클라우드</category>
      <author>maxjang</author>
      <guid isPermaLink="true">https://maxjang.tistory.com/13</guid>
      <comments>https://maxjang.tistory.com/13#entry13comment</comments>
      <pubDate>Fri, 19 May 2023 16:55:39 +0900</pubDate>
    </item>
    <item>
      <title>[IntelliJ] Kotlin based 프로젝트에서 KDoc 주석 자동완성</title>
      <link>https://maxjang.tistory.com/11</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;IntelliJ Kotlin based 프로젝트에서 Java based 프로젝트와 같이 KDoc 주석을 시도할 시 자동완성이 되지 않습니다.&lt;/p&gt;
&lt;p data-renderer-start-pos=&quot;71&quot; data-ke-size=&quot;size16&quot;&gt;IntelliJ에서 플러그인 설치로 해결할 수 있습니다.&lt;/p&gt;
&lt;p data-renderer-start-pos=&quot;102&quot; data-ke-size=&quot;size16&quot;&gt;+ 참고로 Kotlin에서는 HTML기반의 JavaDoc이 아닌 Markdown 기반 KDoc이라는 것을 사용하며, JavaDoc의 문법을 지원합니다.&lt;/p&gt;
&lt;p data-renderer-start-pos=&quot;187&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-renderer-start-pos=&quot;189&quot; data-ke-size=&quot;size16&quot;&gt;KDoc 자동완성을 사용하기 하기 위해 새로운 플러그인을 설치합니다.&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-indent-level=&quot;1&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;Preferences (⌘ + ,) &amp;gt; Plugins &amp;gt; Marketplace 탭 이동&lt;/li&gt;
&lt;li&gt;검색창에 KDoc-er 을 검색해 Install을 눌러 설치합니다.&lt;/li&gt;
&lt;li&gt;KDoc을 작성하고 싶은 함수 위에서 /** 입력 후 엔터를 누르면 함수의 파라미터를 참조하여 KDoc이 자동완성이 됩니다.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;3334&quot; data-origin-height=&quot;2164&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/spYzl/btsaw73LF1U/D9pvILzzgp2dCzHeL3fK2K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/spYzl/btsaw73LF1U/D9pvILzzgp2dCzHeL3fK2K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/spYzl/btsaw73LF1U/D9pvILzzgp2dCzHeL3fK2K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FspYzl%2Fbtsaw73LF1U%2FD9pvILzzgp2dCzHeL3fK2K%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;700&quot; height=&quot;454&quot; data-origin-width=&quot;3334&quot; data-origin-height=&quot;2164&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>Tip</category>
      <category>intellij</category>
      <category>jetbrains</category>
      <category>Kotlin</category>
      <category>spring</category>
      <category>spring boot</category>
      <category>스프링</category>
      <category>스프링부트</category>
      <category>인텔리제이</category>
      <category>주석</category>
      <author>maxjang</author>
      <guid isPermaLink="true">https://maxjang.tistory.com/11</guid>
      <comments>https://maxjang.tistory.com/11#entry11comment</comments>
      <pubDate>Thu, 11 May 2023 18:08:08 +0900</pubDate>
    </item>
    <item>
      <title>[IntelliJ] 기본 Testing Framework 설정</title>
      <link>https://maxjang.tistory.com/10</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;IntelliJ의 프로젝트를 Gradle로 생성하면 기본 테스트를 Gradle로 돌리게 됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;JUnit5로 테스트 하기 위해 Global 설정에서 Gradle 설정을 변경합니다.&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;Preferences (⌘ + ,) &amp;gt; Build, Execution, Deployment &amp;gt; Build Tools &amp;gt; Gradle 탭 이동&lt;/li&gt;
&lt;li&gt;Gradle projects 내 Run tests using을 Gradle에서 IntelliJ IDEA로 변경하면 JUnit5로 실행이 가능합니다.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;3334&quot; data-origin-height=&quot;2164&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/3juAY/btseQkqvf5Y/1dRoBnCHLFZkDqmJ3i0qLk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/3juAY/btseQkqvf5Y/1dRoBnCHLFZkDqmJ3i0qLk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/3juAY/btseQkqvf5Y/1dRoBnCHLFZkDqmJ3i0qLk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F3juAY%2FbtseQkqvf5Y%2F1dRoBnCHLFZkDqmJ3i0qLk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;700&quot; height=&quot;454&quot; data-origin-width=&quot;3334&quot; data-origin-height=&quot;2164&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>Tip</category>
      <category>gradle</category>
      <category>intellij</category>
      <category>jetbrains</category>
      <category>spring</category>
      <category>spring boot</category>
      <category>그래들</category>
      <category>스프링</category>
      <category>스프링부트</category>
      <category>인텔리제이</category>
      <author>maxjang</author>
      <guid isPermaLink="true">https://maxjang.tistory.com/10</guid>
      <comments>https://maxjang.tistory.com/10#entry10comment</comments>
      <pubDate>Thu, 11 May 2023 18:02:48 +0900</pubDate>
    </item>
    <item>
      <title>[JPA] ORM #1</title>
      <link>https://maxjang.tistory.com/9</link>
      <description>&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;ORM(Object Relational Mapping)&lt;/b&gt;&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;정의&lt;/b&gt;&lt;br /&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;객체로 연결을 해준다 라는 의미&lt;/li&gt;
&lt;li&gt;SQL언어가 아닌 Application 개발 언어로 DB에 접근 가능하게 하는 툴&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Persistence &lt;b&gt;(영속성)&lt;/b&gt; API&amp;nbsp;&lt;/b&gt;&lt;br /&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;데이터를 생성한 프로그램이 종료되더라도 사라지지 않는 데이터의 특성&lt;/li&gt;
&lt;li&gt;영속성을 갖지 않는 데이터는 단지 메모리 상에서만 존재하기 때문에 프로그램 종료 후 모두 자동 소멸&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Persistence Framework&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&amp;nbsp;기존의 JDBC 프로그래밍의 복잡함과 번거로움 없이 간단한 작업만으로 DB와 연동되는 시스템을 빠르게 개발할 수 있으며 안정적 구동 보장&lt;/li&gt;
&lt;li&gt;SQL Mapper와 ORM으로 구분
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;SQL Mapper: MyBatis, iBatis&lt;/li&gt;
&lt;li&gt;ORM: JPA(인터페이스), Hibernate(JPA 구현체)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;장점&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;SQL 중심적 개발에서 객체중심으로 개발하여 비즈니스 로직에 집중할 수 있음&lt;/li&gt;
&lt;li&gt;SQL의 이해가 부족해도 코드레벨로 커버 가능&lt;/li&gt;
&lt;li&gt;재사용 및 유지보수의 편리성이 증가&lt;/li&gt;
&lt;li&gt;DBMS에 대한 종속성 감소&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;단점&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ORM만으로는 복잡한 연산 수행이 어려워 필요시 SQL 사용 必&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;</description>
      <category>Spring</category>
      <category>hibernate</category>
      <category>jpa</category>
      <category>ORM</category>
      <category>spring</category>
      <category>spring boot</category>
      <author>maxjang</author>
      <guid isPermaLink="true">https://maxjang.tistory.com/9</guid>
      <comments>https://maxjang.tistory.com/9#entry9comment</comments>
      <pubDate>Sun, 19 Feb 2023 15:55:19 +0900</pubDate>
    </item>
    <item>
      <title>2022년 회고 - last fantasy.</title>
      <link>https://maxjang.tistory.com/8</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;늦은 감이 있지만 2022년 한 해를 기념하며 다시 한번 저를 돌아보는 회고록을 작성하게 되었습니다.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;#0 2022 메인 키워드&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;2022년에 나를 표현할 수 있는 대표적인 키워드는 ['이직', '새로운 경험', '새로운 사람'] 이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 모든 키워드가 하나로 이어지는 스토리와도 같다.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;이직&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;스타트업으로 &lt;b&gt;이직&lt;/b&gt;하여 혼자 일하던 방식에서 여러 사람과 협업하며 일하는 것이 나의 꿈이었는데, 그 꿈을 이뤄낸 것 같다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;기존 회사에서는 체계가 없어 멋모르는 사람들과 함께 일하는 경우가 많았다. 정말 답답한 생활이었고, 스트레스도 많이 받았다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;물론 내가 모든 것을 안다고는 절대 말할 수 없는 것은 당연하다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;단지 너무 답답한 점은 많고 나는 힘이 없기 때문에 내 퍼포먼스를 100% 보여주지 못한 것에 대해 많은 후회가 있었다는 것이다.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;새로운 경험&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;이직으로 인해 &lt;b&gt;새로운 경험&lt;/b&gt;을 할 수 있었다. 아직 생긴 지 별로 안된 개발팀이라 그런지 체계가 잘 잡혔다고 할 수 없었다. 하지만 난 이마저도 너무나도 만족스럽고 일정관리도 꼼꼼하게 하면서 &lt;span&gt;각자의 할 일을 충실히 하는 것에 대한 만족감을 매우 많이 느꼈다.&lt;/span&gt;&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;새로운 사람&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;&amp;nbsp;기존의 관리자는 나에게 있어 최악이었다.&lt;span&gt; 아는 것은 없고 질문만 하며 고집은 세고 나이와 직급으로 눌러버리고 내가 산업기능요원으로 복무를 하고 있다는 이유로 까내리는 말도 안 되는 발언을 서슴지 않게 하는 것이 정말 최악이었다. &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp;내가 사수가 되는 것은 있었어도 기존에 혼자 일하던 나에게 사수란 단 한 명도 없었다.&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;하지만 이직 후 &lt;b&gt;새로운 사람&lt;/b&gt;들을 만나고, 팀원들은 나에게 있어 소중하고 소통하는 매체이며 나를 바뀌게 하는 원동력이 되었다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;특히 나를 이끌어주는 파트장과 시니어들은 나에게 많은 조언을 해주고 나는 그들이 나를 믿을 수 있도록 스스로 변해왔다.&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style2&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 모든 것들이 나를 한 스텝 더 발전시켜주는 디딤판이 되었다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;#1 새로운 환경, 내가 원하던 것이 이거야!&lt;/span&gt;&lt;/b&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;회사와 학업, 병역을 이 세 가지를 병행하며 방송통신대학교 졸업을 앞둔 나는 나이에 비해 남들과 비교하면 엄청나게 앞서 나가고 있다는 것을 항상 자랑스럽게 여기고 살아왔다. 하지만 이러한 것 이외에도 나는 많은 공부를 끊임없이 해야 했다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;2022년 1월 25일, 새로운 회사에 들어갔다. 처음으로 이직하는 것이기도 하고 기존에 나이 많은 분들이랑 일하다가 나와 비슷한 나이대의 분들과 일하는 것이 설레었다. 모든 것이 새로웠다.&amp;nbsp;나는 평소에도 내가 많이 아는 것이 없다고 생각했다. 평소에 공부는 끊임없이 하고 있지만 그 공부한 내용을 써먹을 환경이 되지 않았다. 혼자 실습을 하는 것 그 이상 그 이하도 아니었다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;새로운 회사에 가니 기존 회사와 비교했을 때 최고의 조건이었다. 내가 이 회사를 선택한 것은 많은 Reason이 따라온다. 사실 연봉은 나의 기준에 많이 못 미치지만 그 이외의 부가적인 조건들이 나에게 큰 행복이었다. 큰 장점으로 강남역 4번 출구에서 넘어지면 바로 회사. 집 앞에서 버스를 타고 40분만 가면 (경부 고속도로만 막히지 않는다면..) 건너편에 바로 회사가 있다니. 1시간 40분 출근-퇴근하다가 이렇게 최적의 조건을 뽑을 수가 없다. 출근도 10시 출근이라 정말 여유롭게 다닐 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;(집 앞이 판교역이면 더욱 좋았겠지만 나는 사실 버스가 더 좋다)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다른 장점도 정말 많다. 스낵룸이 있어 언제든지 먹고 싶은 음료나 스낵을 먹을 수 있다. 식비도 많이 줄었다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2023-01-08 오후 4.38.52.png&quot; data-origin-width=&quot;880&quot; data-origin-height=&quot;1167&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/wPwML/btrVAuez3yJ/kecMkrOnyKJPsb3pKB8vm1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/wPwML/btrVAuez3yJ/kecMkrOnyKJPsb3pKB8vm1/img.png&quot; data-alt=&quot;우리회사 큰 복지 중 하나, 스낵룸(이외에도 음료, 아이스크림 등 훨씬 많다)&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/wPwML/btrVAuez3yJ/kecMkrOnyKJPsb3pKB8vm1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FwPwML%2FbtrVAuez3yJ%2FkecMkrOnyKJPsb3pKB8vm1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;508&quot; height=&quot;674&quot; data-filename=&quot;스크린샷 2023-01-08 오후 4.38.52.png&quot; data-origin-width=&quot;880&quot; data-origin-height=&quot;1167&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;우리회사 큰 복지 중 하나, 스낵룸(이외에도 음료, 아이스크림 등 훨씬 많다)&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;대표님 두 분도 정말 좋은 분들 뿐이다. 생각이 열려 있는 분들이며 항상 회사 발전을 위해 노력하시는 멋진 분들이다. 내가 말을 걸거나 질문을 하면 항상 대답도 잘해주시는 그런.. 내가 따르고 싶은 분들이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;현재 우리 개발팀의 평균 연령이 20대 후반~30대 초중이 대부분이지만 내가 가장 평균을 많이 깎는다고 한다. (평균 26.4?)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;나는 이전에 고등학교 때 친구와 함께 일했고 20대 후반인 내 부사수, 그 위로는 바로 부모님 뻘되는 두분이었다. 일하면서 정말 불만이 많았다. 백엔드 주니어 개발자인 나를 케어해줄 사람은 아무도 없었다. 오로지 내 스스로 성장해왔다고 생각해도 과언이 아닐 정도로.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그들은 항상 무리하게 프로젝트를 받아왔고 나는 그것을 쳐내는 기계에 불과했다. 회사에서 시키는 일은 당연히 해야 한다고 생각한다. 하지만 불가능한 것을 억지로 끼워 내는 것은 정말 바보 같은 짓이라고 생각한다. 안 되는 이유를 대고 타협을 하여 조정을 해나가야 하는데 나에게는 그런 기회도 전혀 주어지지 않았다. 의견을 줘도 묵살해버리는 환경이기 때문에 내가 성장할 수 없었다. 그래서 나는 회사 내에서 하는 산업기능요원이 끝나자마자 이직하고 싶었다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;새로운 회사에서의 삶은 너무 행복했다. 내가 가장 막내지만 나를 귀여워해 주며 같이 소통하고 의논하는 우리 팀원들과 경험 많고 능력 있는 파트장과 팀장님. 내가 하고 싶은 것은 모두 다 할 수 있게 푸시해주는 멋진 분들이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;내가 당장 REST -&amp;gt; GraphQL 쓰자고 타당한 사유를 대면 파트장님께 말하면 쓰라고 하실 정도로 오픈되어 있는? (물론 해당 진행 건에 대한 팔로업과 디벨롭, 책임은 내 담당)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;이직은 나에게 많은 발전이 있었다. 현업에서 쓰던 다른 사람이 만든 프로그램의 코드를 보고 분석하는 시간은 그야말로 행복했다. 남들에게 물어본다면 싫다는 사람들이 다반수일 것이다. 하지만 나는 이전 회사에서 내가 짠 코드만 보고 살아왔기 때문에 다른 사람의 코드를 보는 것은 GitHub 이외에는 없었다. 나는 현업에서 사용하는 다른 사람의 코드가 너무 궁금했다. 이걸로 인해 나는 내 코드 스타일을 우리 회사에 맞춰 갔다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;사실 어떤 코드가 맞는지는 정답은 없다. 하지만 다른 사람의 코드 스타일에서 좋은 부분만 빼서 내 코드에 적용하면 되는 것 아닌가? 다른 팀원들도 내 코드 보면서 많이 배워갔다고 한다. 이런 것을 들을 때 많이 뿌듯함을 느낀다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;CI/CD 또한 이전 회사에서 내가 GitLab 구축, 서버 관리, Docker 이미지/컨테이너화, Jenkins 설치 및 설정 등 하나부터 열까지 직접 하였기 때문에 어렵지 않았다. 이 회사에서는 이 시스템을 우리 파트장님께서 관리하고 계셨고 나도 일부 참여하였다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;또한 고민이 있을 때 혼자 고민하고 개발 커뮤니티에 물어보는 것에 그치지 않고 파트장님과 팀원들과 함께 상의하는 것이 너무 행복하다. 이런 환경이 없던 나에게는 정말로 좋은 부분이다. 이전 회사에서는 물어볼 사람이 없어 혼자 고민하고 검색하는 것을 통해 스스로가 발전하게 되었다면 현재 회사에서는 스스로 고민하고 찾아보되, 정 안 되는 부분을 함께 이야기를 나누고 있다. 당연히 모르는 것이 있을 때 바로 물어보지 않는다. 나도 혼자 고민해보고 검색해보지 않는 사람은 싫다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;하고 싶은 것을 마음껏 할 수 있는 우리 회사가 정말 자랑스럽고 행복하다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;이제는 5년 차에 접어드는 개발자가 되었다. 2023년에는 내가 사용하는 스프링에 대해서 하나둘씩 처음부터 파고드는 시간을 가져 질문하면 뭐든지 답변할 수 있는 만능이 되는 것이 꿈이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2023년은 기본 개념부터 차근차근 다시 돌아보는 시간을 가질 예정이다.&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;#2 교통사고? 내 인생을 바꿔버렸어..&lt;/span&gt;&lt;/b&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;4월에 큰 교통사고가 났다. 이전에는 허리 상태가 좋았지만 교통사고로 인해 내 허리 디스크 중 하나가 파열되어 터지기 직전이 되었다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;퇴근하고 광역버스 타고 집 가는데 사고가 크게 난 것이다. 옆 사람은 머리에서 피 나시던데 거기가 원래 내가 맨날 앉는 자리인데 내가 거기 앉았다면 어떻게 됐을지.. 그분은 현재는 괜찮으실련지.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;사고로 인해 나의 인생이 한순간에 바뀌었다. 먹고 있는 약이 마약성 진통제, 소염진통제, 신경통 등 다양하다. 한번 먹을 때 4개는 기본으로 먹는데 이게 은근 효과가 커서 안 먹으면 확실히 아프다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;병원도 맨날 다닌다. 회사 4층에 정형외과가 있어서 아까운 점심시간을 쪼개서 거의 매일 다니면서 물리치료를 받고 있다. 점심시간 아깝다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;오래 앉아있는 게 정말 고통스럽다. 오죽하면 뮤지컬 / 음악회 중에 허리가 아파서 주기적으로 자세를 바꿔주는 것은 기본.. 진짜 힘들다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;허리가 가장 중요한데 허리가 고장 나니 삶이 우울해진다. 빨리 나아서 원래대로 행복한 삶에 뛰어들고 싶다.&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;#3 이 시국에 해외여행? 까짓 거 가지 뭐!&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;2021년 회고에 2022년에는 해외여행을 꼭 갈 거라는 다짐을 했었는 데 성공했다!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;해외여행을 팬데믹이 엔데믹으로 바뀌어가면서 해외여행의 길이 조금씩 열리고 있다. 나는 그래서 이 시국 첫 해외여행을 내게 소중한 사람과 내 생일에 보라카이 여행을 계획하였다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;호텔은 보라카이에서 가장 좋은 샹그릴라 보라카이 리조트! 3박에 240만 원인가.. 이걸 생일 선물로 받았다. 너무 감동!!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;휴양지 여행에서 꽃은 역시 스노클링 아닐까 싶다. 배를 타고 다니면서 특정 장소에서 스노클링을 했는데 처음에는 마스크가 되게 숨이 막혔는데 나중에는 좀 괜찮아졌다. 물고기가 되게 예뻤다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;바닷가를 보면서 먹는 해산물도 너무 맛있었다. 최고!&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2023-01-08 오후 4.46.59.png&quot; data-origin-width=&quot;1794&quot; data-origin-height=&quot;1192&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/9iWIk/btrVA05nzlU/IRlPqtIYvGBsJStdjsWC0K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/9iWIk/btrVA05nzlU/IRlPqtIYvGBsJStdjsWC0K/img.png&quot; data-alt=&quot;리조트 안에 있는 레스토랑에서 찍은 사진, 날씨도 바다도 최고!&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/9iWIk/btrVA05nzlU/IRlPqtIYvGBsJStdjsWC0K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F9iWIk%2FbtrVA05nzlU%2FIRlPqtIYvGBsJStdjsWC0K%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;800&quot; height=&quot;532&quot; data-filename=&quot;스크린샷 2023-01-08 오후 4.46.59.png&quot; data-origin-width=&quot;1794&quot; data-origin-height=&quot;1192&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;리조트 안에 있는 레스토랑에서 찍은 사진, 날씨도 바다도 최고!&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;보라카이 여행이 끝나고 11월에 일본 오사카를 또 가게 되었다. 일본 여행이 풀리는 기사를 일본에서 보자마자 바로 예약해 버렸다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;호텔은 메리어트 플래티넘 사용해서 매일 다른 호텔을 이용했다. 오사카/교토/고베 각각 다른 지역을 갔기 때문에 차 렌털을 했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;확실히 자동차를 차고 다니는 여행이 편하고 좋았다. 원래 일본에 가면 지하철만 타서 불편했는데 역시 차가 편하다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;아직 외국인 여행목적 입국이 풀린 지 별로 안 돼서 그런지 외국인이 많이 없어서 평소보다 더욱 로컬스러운 분위기를 느낄 수 있었다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;마지막에 오사카를 방문했을 때 공사 중이라서 제대로 보지 못한 청수사도 제대로 볼 수 있었다. 가을에 청수사 가보는 게 꿈이었는데 드디어 이뤘다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;조금 차가 막혀 늦게나마 주차를 빨리하고 정상까지 튀어갔다. 이 사진을 찍기 위해.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2023-01-08 오후 4.51.05.png&quot; data-origin-width=&quot;894&quot; data-origin-height=&quot;1195&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/GywI8/btrVzEWves0/KEDOHNXIBg1wAK0ypc9FlK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/GywI8/btrVzEWves0/KEDOHNXIBg1wAK0ypc9FlK/img.png&quot; data-alt=&quot;해 지기 전에 빨리 찍은 청수사, 그래도 원본 사진은 어둡다.&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/GywI8/btrVzEWves0/KEDOHNXIBg1wAK0ypc9FlK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FGywI8%2FbtrVzEWves0%2FKEDOHNXIBg1wAK0ypc9FlK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;525&quot; height=&quot;702&quot; data-filename=&quot;스크린샷 2023-01-08 오후 4.51.05.png&quot; data-origin-width=&quot;894&quot; data-origin-height=&quot;1195&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;해 지기 전에 빨리 찍은 청수사, 그래도 원본 사진은 어둡다.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2023-01-08 오후 4.49.29.png&quot; data-origin-width=&quot;1809&quot; data-origin-height=&quot;1166&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Q8oU7/btrVzEI0cxU/nWYpXC5602e8aWtinagkwK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Q8oU7/btrVzEI0cxU/nWYpXC5602e8aWtinagkwK/img.png&quot; data-alt=&quot;청수사를 배경으로 찍은 사진, 엄청 어두워서 휴대폰 플래시를 한손으로 들고 지속광으로 사용했다..&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Q8oU7/btrVzEI0cxU/nWYpXC5602e8aWtinagkwK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FQ8oU7%2FbtrVzEI0cxU%2FnWYpXC5602e8aWtinagkwK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;800&quot; height=&quot;516&quot; data-filename=&quot;스크린샷 2023-01-08 오후 4.49.29.png&quot; data-origin-width=&quot;1809&quot; data-origin-height=&quot;1166&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;청수사를 배경으로 찍은 사진, 엄청 어두워서 휴대폰 플래시를 한손으로 들고 지속광으로 사용했다..&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;청수사는 다음에도 또 가고 싶다. 왼쪽에 길게 보이는 건 교토타워&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2023년 1월에는 대만을 가기로 했다. 한 번도 가보지 못한 대만 여행 너무 기대된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;지금 글을 쓰는 시점으로 딱 다음 주에 간다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;비록 원래 가고 싶었던 뉴욕은 가지 못했지만 너무 만족스럽다. 뉴욕은 퇴사하고 가는 걸로..&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2023년에도 해외여행의 길이 더 많이 열려 많이 가고 싶다. 회사 일정 때문에 휴가를 낼 수 있을지는 모르겠지만.&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;#3 2023년에 하고 싶은 것&lt;/span&gt;&lt;/b&gt;&lt;/h2&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;개발 공부&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;새로운 회사에 와서 공부를 했지만 항상 시간이 없다는 핑계로 개발 공부를 뒷전으로 하였다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2023년에는 토비의 스프링 3.1을 기준으로 스프링 레거시의 기초부터 내가 부족한 부분을 열심히 공부할 것이다. (진짜로!!)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;시간이 된다면 평일 및 주말 시간을 쪼개어 &lt;span&gt;블로그에도 정리할 것이다.&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;개발 공부를 시작으로 내 포트폴리오를 더욱 멋지게 장식하고 싶다.&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;&lt;b&gt;&lt;b&gt;투자 공부&lt;/b&gt;&lt;/b&gt;&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;2022년에는 2021년보다 돈을 모으지 못한 것 같다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;충동구매도 있고 투자도 마음대로 되지 않고 (전쟁 빨리 끝나라.. 금리도 돌아와라.. 경제 불황 싫어&lt;/span&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;2023년에는 돈을 더 많이 모을 수 있길.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;&lt;b&gt;&lt;b&gt;야근 금지&lt;/b&gt;&lt;/b&gt;&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;야근을 정말 많이 했다. 10월부터 새로운 일에 투입되어 밤 12시 퇴근은 기본에 일주일에 54시간도 채워봤다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이런 힘든 시간은 이제 그만 왔으면 좋겠다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;야근을 하는게 전부 대단하고 열심히 일을 하는 것이라고 전혀 생각하지 않는다. 하지만 나는 진짜로 열심히 임하였고 회사가 자랑스러워하고 필요로하는 사람이라고 생각한다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;내 성과를 회사에서 좀 알아줬으면 하는 바램.&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;&lt;b&gt;허리디스크 완치&lt;/b&gt;&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;교통사고 하나로 삶이 너무 불편하다. 너무..&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;얼른 치료해서 빨리 나아서 이전 같은 일상을 되찾고 싶다.&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;해외여행&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;올해도 해외여행을 많이 다니고 싶다. 한 해의 첫 번째 달인 1월, 대만을 시작으로 많이 가고 싶다.&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;다이어트&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;2022년 12월에 바짝 2주 동안의 식단으로 4kg 감량을 하였다. 하지만 이것은 턱없이 부족하며 앞으로도 다이어트의 목표는 버리지 않고 꾸준히 할 예정이다.&lt;/span&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2022년의 회고를 늦게나마 작성하였습니다.&lt;br /&gt;많은 일들이 있었지만 모든 것이 행복한 일로 남은 2022년이었습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2023년에도 행복한 일만 가득했으면 좋겠습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;새해 복 많이 받으시고 2023년도 행복하세요 :)&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;&lt;i&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;You're the greatest of all time.&lt;/span&gt;&lt;/b&gt;&lt;/i&gt;&lt;/blockquote&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;IMG_1045.JPG&quot; data-origin-width=&quot;3024&quot; data-origin-height=&quot;4032&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cKLoxF/btrVF89b5fs/rBK8f6amdcfZCmJVJ48fQk/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cKLoxF/btrVF89b5fs/rBK8f6amdcfZCmJVJ48fQk/img.jpg&quot; data-alt=&quot;2022.11.05 오사카성 꼭대기&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cKLoxF/btrVF89b5fs/rBK8f6amdcfZCmJVJ48fQk/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcKLoxF%2FbtrVF89b5fs%2FrBK8f6amdcfZCmJVJ48fQk%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;640&quot; height=&quot;853&quot; data-filename=&quot;IMG_1045.JPG&quot; data-origin-width=&quot;3024&quot; data-origin-height=&quot;4032&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;2022.11.05 오사카성 꼭대기&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>Daily life</category>
      <category>spring</category>
      <category>개발자</category>
      <category>메리어트</category>
      <category>이직</category>
      <category>회고</category>
      <author>maxjang</author>
      <guid isPermaLink="true">https://maxjang.tistory.com/8</guid>
      <comments>https://maxjang.tistory.com/8#entry8comment</comments>
      <pubDate>Sun, 8 Jan 2023 17:17:34 +0900</pubDate>
    </item>
    <item>
      <title>Jackson에서 Boolean 직렬화 시 is가 사라지는 문제</title>
      <link>https://maxjang.tistory.com/7</link>
      <description>&lt;blockquote data-ke-style=&quot;style1&quot;&gt;Swagger에서 JSON Request Body를 보는데 DTO랑 이름이 달라요!&lt;/blockquote&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;발단&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;여느때와 다름없이 조용히 회사에서 개발을 하고 있는 도중, Swagger로 API 테스트를 위해 요청을 보내는데 debug에서 객체를 보았을 때, 특정 변수만 null로 들어오는 상황이 발생했습니다.&lt;br /&gt;처음에는 JSON key가 잘못됐나 싶어서 다시 작성해보지만 마찬가지였습니다.&lt;br /&gt;&lt;br /&gt;JSON Body를 다시 한번 봐 보니 Boolean으로 선언한 'isUsing'이라는 변수가 직렬화 시 Swagger 내에서 제가 예상한 isUsing이라는 key와 달리 using으로 표시되는 것이였습니다.&lt;br /&gt;일단 평소와 같이 @JsonProperty 어노테이션을 사용하여 JSON key를 임의로 지정을 했고, Swagger에서는 isUsing으로 잘 표기가 되었습니다. 하지만 debug에서는 여전히 null로 값을 가져오고 있었습니다.&lt;br /&gt;&lt;br /&gt;Stackoverflow를 찾아보니 저와 같은 문제가 발생한 분이 계셨습니다.&lt;/p&gt;
&lt;figure data-ke-type=&quot;opengraph&quot; data-og-title=&quot;Jackson renames primitive boolean field by removing 'is'&quot; data-ke-align=&quot;alignCenter&quot; data-og-description=&quot;This might be a duplicate. But I cannot find a solution to my Problem. I have a class public class MyResponse implements Serializable { private boolean isSuccess; public boolean isSuccess...&quot; data-og-host=&quot;stackoverflow.com&quot; data-og-source-url=&quot;https://stackoverflow.com/questions/32270422/jackson-renames-primitive-boolean-field-by-removing-is&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/c5vZfR/hyNGBDPhjE/Nb0kq9WKLTkKQb3MHHkkSk/img.png?width=316&amp;amp;height=316&amp;amp;face=0_0_316_316&quot; data-og-url=&quot;https://stackoverflow.com/questions/32270422/jackson-renames-primitive-boolean-field-by-removing-is&quot;&gt;&lt;a href=&quot;https://stackoverflow.com/questions/32270422/jackson-renames-primitive-boolean-field-by-removing-is&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://stackoverflow.com/questions/32270422/jackson-renames-primitive-boolean-field-by-removing-is&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/c5vZfR/hyNGBDPhjE/Nb0kq9WKLTkKQb3MHHkkSk/img.png?width=316&amp;amp;height=316&amp;amp;face=0_0_316_316');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;Jackson renames primitive boolean field by removing 'is'&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;This might be a duplicate. But I cannot find a solution to my Problem. I have a class public class MyResponse implements Serializable { private boolean isSuccess; public boolean isSuccess...&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;stackoverflow.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;해결&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Jackson에서는 직렬화 시 get/set prefix를 제외 (Boolean에서는 is) 하므로 변수명에 해당 prefix를 추가해서 사용하고 싶다면 직접 설정해주어야 합니다.&lt;br /&gt;Kotlin에서 아래와 같은 방법으로 간단히 해결할 수 있습니다.&lt;/p&gt;
&lt;pre class=&quot;less&quot;&gt;&lt;code&gt;data class TestDTO(
    @get:JsonProperty(&quot;isUsing&quot;)
    @param:JsonProperty(&quot;isUsing&quot;)
    var isUsing: Boolean? = true,

    var name: String? = null,
)&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;사용하고자 하는 변수명에 @get:JsonProperty, @param:JsonProperty를 지정하여 직렬화 키워드 누락 문제를 해결할 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;JavaBeans Convention과 Jackson의 직렬화 동작간의 충돌로 발생 하는 것으로 보이며, is를 빼고 다른 키워드를 넣는게 더 깔끔할 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Spring</category>
      <category>jackson</category>
      <category>java</category>
      <category>Kotlin</category>
      <category>spring boot</category>
      <category>스프링부트</category>
      <category>자바</category>
      <category>직렬화</category>
      <category>코틀린</category>
      <author>maxjang</author>
      <guid isPermaLink="true">https://maxjang.tistory.com/7</guid>
      <comments>https://maxjang.tistory.com/7#entry7comment</comments>
      <pubDate>Sat, 12 Mar 2022 19:44:55 +0900</pubDate>
    </item>
    <item>
      <title>[Docker] 도커 기초 #1</title>
      <link>https://maxjang.tistory.com/6</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;11883.png&quot; data-origin-width=&quot;1202&quot; data-origin-height=&quot;309&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dry1xo/btrsytgzwFy/TKNqeJpPPsvMjVGj1S1Tmk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dry1xo/btrsytgzwFy/TKNqeJpPPsvMjVGj1S1Tmk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dry1xo/btrsytgzwFy/TKNqeJpPPsvMjVGj1S1Tmk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fdry1xo%2FbtrsytgzwFy%2FTKNqeJpPPsvMjVGj1S1Tmk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;500&quot; height=&quot;129&quot; data-filename=&quot;11883.png&quot; data-origin-width=&quot;1202&quot; data-origin-height=&quot;309&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이전 회사에서는 기본적으로 도커를 이용하여 MariaDB나 Spring Boot 등 프로그램을 컨테이너화 시켜서 사용하는 일이 흔했습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;제가 개발자 생활을 약 3년 동안 하면서 유용하게 사용해온 도커에 대해 정리해보고자 합니다.&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;#1 Docker란?&lt;/span&gt;&lt;/b&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;컨테이너(Container) 기반의 오픈소스 가상화 플랫폼입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이전에는 프로그램을 한 대의 컴퓨터에서 직접 프로그램을 실행시키는 작업을 하였지만, 이제는 프로그램을 컨테이너화 시켜 격리된 환경에서 프로그램을 돌리는 것입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;화물 컨테이너를 생각하면 편합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;큰 배에 화물을 실으려면 그냥 물건을 실는거보다 컨테이너에 종류별로 묶어 실으면 물건들이 종류별로 나눠져 관리하기 쉬워집니다.&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;#2 장점&lt;/span&gt;&lt;/b&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;608&quot; data-origin-height=&quot;486&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/mKOeE/btrsDaAybyO/GIaO5csQt7ykmnt96Mdurk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/mKOeE/btrsDaAybyO/GIaO5csQt7ykmnt96Mdurk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/mKOeE/btrsDaAybyO/GIaO5csQt7ykmnt96Mdurk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FmKOeE%2FbtrsDaAybyO%2FGIaO5csQt7ykmnt96Mdurk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;608&quot; height=&quot;486&quot; data-origin-width=&quot;608&quot; data-origin-height=&quot;486&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;글보다 사진을 참고하여 이해하면 편합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;하나의 OS에 도커를 설치하고 그 위에 각각의 컨테이너로 분리된 앱을 실행을 시키는 것입니다. &lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;커널은 공유하고 프로세스는 공유하는 격리된 환경인 것입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. 각각의 컨테이너에는 OS 전체가 설치되는 것이 아닌 앱 실행의 필요한 라이브러리와 실행파일만 있어 환경이 경량화 되어 프로그램 실행 속도가 빠르다는 것이 큰 장점입니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2. 다른 컨테이너와의 분리된 환경으로 동작하여 보안 상으로 봤을 때 이점이 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3. 도커 컨테이너를 사용하여 프로그램 개발/배포 환경을 강제할 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;4. 호스트와 볼륨으로 디스크를 공유하여 백업/복원이 용이하고 다른 서버로도 이전하기 쉽습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;5. Docker Hub를 이용하여 다른 개발자들이 미리 만들어둔 이미지를 받아 사용할 수 있습니다.&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;#2 이미지 (Image)&lt;/span&gt;&lt;/b&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;도커에는 이미지라는 것이 있습니다. 이미지에는 컨테이너에 필요한 파일시스템 및 애플리케이션 설정이 들어있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;컨테이너는 이 이미지를 기반으로 실행됩니다. 템플릿이라고 생각할 수도 있고, 자바로 생각한다면 클래스(이미지)를 만들어두고 이 클래스를 기반으로 객체(컨테이너)로 만드는 것이라고 생각하면 편합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;#3 설치 (Installation)&lt;/span&gt;&lt;/b&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;도커 설치는 매우 쉽습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;MacOS 기준으로 설명하겠습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. 아래 링크에서 본인의 환경에 맞는 도커 설치 파일을 다운받아 실행합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;&lt;a href=&quot;https://hub.docker.com/editions/community/docker-ce-desktop-mac&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://hub.docker.com/editions/community/docker-ce-desktop-mac&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1644076347034&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;Docker Desktop for Mac by Docker | Docker Hub&quot; data-og-description=&quot;Docker Desktop for Mac Docker Desktop for Mac is an easy-to-install desktop app for building, debugging, and testing Dockerized apps on a Mac. Docker Desktop for Mac is a complete development environment deeply integrated with the Mac OS Hypervisor framewo&quot; data-og-host=&quot;hub.docker.com&quot; data-og-source-url=&quot;https://hub.docker.com/editions/community/docker-ce-desktop-mac&quot; data-og-url=&quot;https://hub.docker.com/editions/community/docker-ce-desktop-mac&quot; data-og-image=&quot;&quot;&gt;&lt;a href=&quot;https://hub.docker.com/editions/community/docker-ce-desktop-mac&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://hub.docker.com/editions/community/docker-ce-desktop-mac&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url();&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;Docker Desktop for Mac by Docker | Docker Hub&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Docker Desktop for Mac Docker Desktop for Mac is an easy-to-install desktop app for building, debugging, and testing Dockerized apps on a Mac. Docker Desktop for Mac is a complete development environment deeply integrated with the Mac OS Hypervisor framewo&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;hub.docker.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2. 도커 설치 이미지를 실행하여 도커파일을 애플리케이션 폴더로 이동합니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2022-02-06 오전 12.59.48.png&quot; data-origin-width=&quot;832&quot; data-origin-height=&quot;452&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dou9hp/btrstXJqFVp/N1cy3jdnRwK7eNbKOxg8O0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dou9hp/btrstXJqFVp/N1cy3jdnRwK7eNbKOxg8O0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dou9hp/btrstXJqFVp/N1cy3jdnRwK7eNbKOxg8O0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fdou9hp%2FbtrstXJqFVp%2FN1cy3jdnRwK7eNbKOxg8O0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;600&quot; height=&quot;326&quot; data-filename=&quot;스크린샷 2022-02-06 오전 12.59.48.png&quot; data-origin-width=&quot;832&quot; data-origin-height=&quot;452&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3. 설치된 도커를 실행시킵니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2022-02-06 오전 12.54.24.png&quot; data-origin-width=&quot;1382&quot; data-origin-height=&quot;832&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dXEF6i/btrsxJp6Ao6/74GDGuIEYwUd6WnXrP3100/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dXEF6i/btrsxJp6Ao6/74GDGuIEYwUd6WnXrP3100/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dXEF6i/btrsxJp6Ao6/74GDGuIEYwUd6WnXrP3100/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdXEF6i%2FbtrsxJp6Ao6%2F74GDGuIEYwUd6WnXrP3100%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;600&quot; height=&quot;361&quot; data-filename=&quot;스크린샷 2022-02-06 오전 12.54.24.png&quot; data-origin-width=&quot;1382&quot; data-origin-height=&quot;832&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;4. 터미널에서 docker --version을 입력하여 정상적으로 버전이 표시되는지 확인합니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2022-02-06 오전 1.02.31.png&quot; data-origin-width=&quot;922&quot; data-origin-height=&quot;745&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/chFxBa/btrsvdTmZ7N/2urGtCK7HZrQCKOcciqrKK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/chFxBa/btrsvdTmZ7N/2urGtCK7HZrQCKOcciqrKK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/chFxBa/btrsvdTmZ7N/2urGtCK7HZrQCKOcciqrKK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FchFxBa%2FbtrsvdTmZ7N%2F2urGtCK7HZrQCKOcciqrKK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;600&quot; height=&quot;485&quot; data-filename=&quot;스크린샷 2022-02-06 오전 1.02.31.png&quot; data-origin-width=&quot;922&quot; data-origin-height=&quot;745&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;설치까지 성공적으로 마쳤습니다. 다음에는 이어서 도커 이미지를 실제로 컨테이너로 띄워보고 컨테이너 여러개를 한번에 띄우고 쉽게 관리할 수 있는 Docker Compose에 관련해서 포스팅하겠습니다.&lt;/p&gt;</description>
      <category>Docker</category>
      <category>Docker</category>
      <category>docker-compose</category>
      <category>가상머신</category>
      <category>개발</category>
      <category>도커</category>
      <category>도커이미지</category>
      <category>컨테이너</category>
      <author>maxjang</author>
      <guid isPermaLink="true">https://maxjang.tistory.com/6</guid>
      <comments>https://maxjang.tistory.com/6#entry6comment</comments>
      <pubDate>Sun, 6 Feb 2022 10:19:49 +0900</pubDate>
    </item>
    <item>
      <title>[Kotlin] 코틀린 기초 #2</title>
      <link>https://maxjang.tistory.com/4</link>
      <description>&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;720&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cyIJKO/btrseRaK0jg/PTKXrKdPyZqmLkYsBjzrYk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cyIJKO/btrseRaK0jg/PTKXrKdPyZqmLkYsBjzrYk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cyIJKO/btrseRaK0jg/PTKXrKdPyZqmLkYsBjzrYk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcyIJKO%2FbtrseRaK0jg%2FPTKXrKdPyZqmLkYsBjzrYk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;500&quot; height=&quot;281&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;720&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;h2 data-ke-size=&quot;size26&quot;&gt;함수 선언 (Function declaration)&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;코틀린은 함수를 자바보다 더 짧고 간단하게 생성할 수 있습니다.&lt;br&gt;기본적으로 fun 함수명 (파라미터): 리턴타입 의 형식을 따릅니다.&lt;/p&gt;
&lt;pre class=&quot;kotlin&quot;&gt;&lt;code&gt;fun add(a: Int, b: Int, c: Int): Int {
    return a + b + c
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;리턴을 생략하고 표기 할 수 있습니다.&lt;/p&gt;
&lt;pre class=&quot;kotlin&quot;&gt;&lt;code&gt;fun add(a: Int, b: Int, c: Int): Int = a + b + c&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;타입추론으로 리턴타입 또한 생략 가능합니다.&lt;/p&gt;
&lt;pre class=&quot;kotlin&quot;&gt;&lt;code&gt;fun add(a: Int, b: Int, c: Int) = a + b + c&lt;/code&gt;&lt;/pre&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;클래스 선언 (Class declaration)&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;코틀린은 class 앞에 public 키워드의 생략이 가능합니다.&lt;br&gt;자바와 다르게 생성자에 들어가는 파라미터의 기본 값을 지정할 수 있습니다.&lt;br&gt;init은 초기화 블럭이며, constructor는 오버로딩을 사용하기 위해 사용하는 보조생성자입니다.&lt;/p&gt;
&lt;pre class=&quot;kotlin&quot;&gt;&lt;code&gt;fun main() {
    var a = Person(&quot;이태민&quot;, 1993)
    var b = Person(&quot;최민호&quot;)
    var c = Person(&quot;김기범&quot;)
}

// 클래스 속성 선언과 동시에 생성자 생성
// var/val 표기하지 않을 시 dafault로 val로 선언
class Person(var name: String, val birthYear: Int) {

    // init: 파라미터나 반환값이 없는 기본생성자 함수
    // 초기화 시 코드를 추가하여 유효성 검사 등 기능을 추가
    init {
        println(&quot;안녕하세요, ${birthYear}년에 태어난 ${name}입니다.&quot;)
    }

    // constructor: 인스턴트 생성시 추가적인 구문을 수행하는 보조생성자
    // 반드시 기본생성자를 통해 속성을 초기화를 해야함
    // 기본 생성자 생성 후 보조생성자가 생성됨
    constructor(name: String) : this(name, 1991) {
        println(&quot;보조생성자가 사용되었습니다.&quot;)
    }
}

// 클래스 생성자에 초기값을 이런식으로 지정도 가능
class Person2(var name: String = &quot;이름없음&quot;, var age: Int) {

}
&lt;/code&gt;&lt;/pre&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;클래스 상속 (Inheritance)&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;코틀린은 상속 금지가 기본이기 때문에 class 키워드 앞에 open을 사용해 상속가능으로 변경합니다. &lt;br&gt;null을 사용하기 위해서는 타입 뒤에 ?(물음표)를 넣어 nullable type으로 선언합니다.&lt;/p&gt;
&lt;pre class=&quot;kotlin&quot;&gt;&lt;code&gt;fun main() {
    var a = Animal(&quot;콩떡&quot;, 5, &quot;개&quot;)
    var b = Dog(&quot;초코&quot;, 9)

    a.introduce()
    b.introduce()

    b.bark()
    var c = Cat(&quot;루이&quot;, 1)
    c.meow()

}

// 코틀린은 상속 금지가 기본
// open 키워드를 사용하여 클래스를 상속가능으로 변경
open class Animal(var name: String = &quot;&quot;, var age: Int, var type: String) {
    fun introduce() {
        println(&quot;저는 $type $name 이고, ${age}살 입니다.&quot;)
    }
}

// 서브 클래스가 생성될 때 슈퍼클래스 생성자가 함께 호출 되어야함
// var, val을 붙이면 속성으로 선언되므로 파라미터로 넘기기 위해 선언 키워드를 붙이지않음
class Dog(name: String, age: Int) : Animal(name, age, &quot;개&quot;) {
    fun bark() {
        println(&quot;멍멍&quot;)
    }
}

class Cat(name: String, age: Int) : Animal(name, age, &quot;고양이&quot;) {
    fun meow() {
        println(&quot;야옹&quot;)
    }
}&lt;/code&gt;&lt;/pre&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;오버라이딩 (overriding)&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;코틀린에서는 상속을 받고 슈퍼 클래스에 open으로 정의되어있는 함수를 재정의하는 오버라이딩을 지원합니다.&lt;br&gt;서브 클래스에서 상속 후 override 키워드를 사용하여 재정의합니다.&lt;/p&gt;
&lt;pre class=&quot;kotlin&quot;&gt;&lt;code&gt;fun main() {
    var t = Tiger()
    t.eat()
}

open class Animal2 {
    // open: 서브 클래스에서 오버라이딩 허용
    open fun eat() {
        println(&quot;음식을 먹습니다.&quot;)
    }
}

class Tiger : Animal2() {
    override fun eat() {
        println(&quot;고기를 먹습니다&quot;)
    }
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt; &lt;br&gt;스터디 코드는 &lt;a href=&quot;https://github.com/max-jang/study-kotlin-with-me&quot; target=&quot;_blank&quot;&gt;&lt;span&gt;GitHub 프로젝트&lt;/span&gt;&lt;/a&gt;에서 확인하실 수 있습니다.&lt;/p&gt;</description>
      <category>Kotlin</category>
      <category>java</category>
      <category>JVM</category>
      <category>Kotlin</category>
      <category>자바</category>
      <category>코틀린</category>
      <category>코틀린 기초</category>
      <category>코틀린 상속</category>
      <category>코틀린 함수</category>
      <author>maxjang</author>
      <guid isPermaLink="true">https://maxjang.tistory.com/4</guid>
      <comments>https://maxjang.tistory.com/4#entry4comment</comments>
      <pubDate>Tue, 1 Feb 2022 11:09:30 +0900</pubDate>
    </item>
    <item>
      <title>[Kotlin] 코틀린 기초 #1</title>
      <link>https://maxjang.tistory.com/3</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;720&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b3yXQ8/btrr7rcXBk0/gUAz2d9IFQYqXxaQjoSOUK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b3yXQ8/btrr7rcXBk0/gUAz2d9IFQYqXxaQjoSOUK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b3yXQ8/btrr7rcXBk0/gUAz2d9IFQYqXxaQjoSOUK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb3yXQ8%2Fbtrr7rcXBk0%2FgUAz2d9IFQYqXxaQjoSOUK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;500&quot; height=&quot;281&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;720&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;Kotlin&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;코틀린이란 Java IDE인 IntelliJ를 개발한 Jetbrains에서 개발한 JVM 에서 동작하는 언어입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;자바가 가지고 있는 약점을 개선할 수 있고, 기존 자바 코드와의 상호사용이 가능한 대체언어입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;웹 서비스, 안드로이드 개발 뿐만아니라 JavaScript 및 Swift와도 연동이 가능합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2017년에 Google에서 안드로이드 공식 언어로 채택되면서 많은 관심을 받고 있습니다.&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;Hello World!&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;모든 프로그래밍 언어의 시작은 Hello World!&lt;/p&gt;
&lt;pre class=&quot;kotlin&quot;&gt;&lt;code&gt;package com.maxjang.kotlin

fun main(args: Array&amp;lt;String&amp;gt;) {
    println(&quot;Hello World!&quot;)
}&lt;/code&gt;&lt;/pre&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;변수 선언 (Variable declaration)&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;코틀린은 기존 자바와의 변수 선언방식이 다릅니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;var로 선언한 변수는 값 변경이 가능하며, val은 자바의 final 변수와 비슷하게 값 변경을 할 수 없는 변수로 선언합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;하지만 val로 선언한 값의 참조 객체의 내부 값은 변경이 가능합니다.&lt;/p&gt;
&lt;pre class=&quot;kotlin&quot;&gt;&lt;code&gt;fun main() {
    // var: 읽기 쓰기가 가능한 변수
    var variable: Int = 123
    println(variable)

    // val: 선언 이후에는 중간에 값을 변경할 수 없는 변수
    val value: Int = 456
    println(value)
}&lt;/code&gt;&lt;/pre&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;타입 추론 (Type&amp;nbsp;Inference)&amp;nbsp;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;코틀린은 타입추론이 가능하여 변수 타입을 기재하지 않고 변수를 선언하여 코드의 양을 줄일 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;변수의 선언와 초기화가 동시에 진행 될 때 값의 타입을 추론되어 변수를 생성합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;아래의 String 또한 생략될 수 있습니다.&lt;/p&gt;
&lt;pre class=&quot;kotlin&quot;&gt;&lt;code&gt;fun main() {
    var hello = &quot;Hello!&quot;
    var bye: String = &quot;Bye!&quot;
}&lt;/code&gt;&lt;/pre&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;Nullable&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;코틀린에서는 기본적으로 null 값을 지원하지 않습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;null을 사용하기 위해서는 타입 뒤에 ?(물음표)를 넣어 nullable type으로 선언합니다.&lt;/p&gt;
&lt;pre class=&quot;kotlin&quot;&gt;&lt;code&gt;fun main() {
// ?(Nullable): NullSafe 해제 -&amp;gt; NPE 가능성이 있음
    var nullableVariable: Int? = null
    println(nullableVariable)
}&lt;/code&gt;&lt;/pre&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;문자열 템플릿 (String Template)&amp;nbsp;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;코틀린에서는 자바스크립트나 스위프트에서 지원하는 문자열 템플릿을 지원합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;문자열 안에 외부변수를 넣을 수 있어 +(플러스 연산자) 없이 문자열 조합이 손쉽게 가능합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;문자열 내에 $(달러)를 넣어 변수를 삽입할 수 있습니다.&amp;nbsp;&lt;/p&gt;
&lt;pre class=&quot;kotlin&quot;&gt;&lt;code&gt;fun main() {
    var abc = &quot;안녕하세요&quot;
    // 문자열 템플릿 (String Template): 문자열 안에 외부 변수를 삽입가능
    var singleLineString = &quot;abc 의 값은 $abc 입니다.&quot;;
    println(singleLineString)
}&lt;/code&gt;&lt;/pre&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;배열 선언 (Array declaration)&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;arrayOf(values...) 함수를 사용하여 배열 선언이 가능합니다.&lt;/p&gt;
&lt;pre class=&quot;kotlin&quot;&gt;&lt;code&gt;fun main() {
    // arrayOf(...): 배열선언
    var arr = arrayOf(1, 2, 3, 4, 5)
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt; 스터디 코드는 &lt;a href=&quot;https://github.com/max-jang/study-kotlin-with-me&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;GitHub 프로젝트&lt;/a&gt;에서 확인하실 수 있습니다.&lt;/p&gt;</description>
      <category>Kotlin</category>
      <category>java</category>
      <category>JVM</category>
      <category>Kotlin</category>
      <category>Nullable</category>
      <category>자바</category>
      <category>코틀린</category>
      <category>코틀린 기초</category>
      <category>코틀린 변수</category>
      <author>maxjang</author>
      <guid isPermaLink="true">https://maxjang.tistory.com/3</guid>
      <comments>https://maxjang.tistory.com/3#entry3comment</comments>
      <pubDate>Tue, 1 Feb 2022 10:21:08 +0900</pubDate>
    </item>
  </channel>
</rss>