<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>Sky Archive</title>
    <link>https://string.tistory.com/</link>
    <description></description>
    <language>ko</language>
    <pubDate>Wed, 15 Apr 2026 12:50:44 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>Zero Line</managingEditor>
    <image>
      <title>Sky Archive</title>
      <url>https://tistory1.daumcdn.net/tistory/4808134/attach/a47db885c5c741e2a498699a71407eeb</url>
      <link>https://string.tistory.com</link>
    </image>
    <item>
      <title>[한강나이트워크42K] 2023 HANGANG NIGHT Walk 42K 행사 안내</title>
      <link>https://string.tistory.com/156</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1000&quot; data-origin-height=&quot;1462&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/drjbvD/btspnjVVfht/DcqKJoXUjL6YyCKY9SJJ4K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/drjbvD/btspnjVVfht/DcqKJoXUjL6YyCKY9SJJ4K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/drjbvD/btspnjVVfht/DcqKJoXUjL6YyCKY9SJJ4K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdrjbvD%2FbtspnjVVfht%2FDcqKJoXUjL6YyCKY9SJJ4K%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;454&quot; height=&quot;664&quot; data-origin-width=&quot;1000&quot; data-origin-height=&quot;1462&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;안녕하세요 &amp;zwj; &lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이번 글에서는 이번에 제가 참여하게 된 '한강 나이트워크 42K' 행사 안내에 대한 내용입니다.&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;size18&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;★★ 일정 변경 안내 ★★&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;원래 행사 기간은 2023. 7. 29. (토) ~ 2023. 7. 30. (일) 이였으나&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;집중 호우로 인한 한강 공원 침수 등 복구 작업으로 &lt;u&gt;&lt;b&gt;2023. 8. 5. (토) ~ 2023. 08. 06 (일)&lt;/b&gt;&lt;/u&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;b&gt;2023. 07. 20. (목) ~ 2023. 08. 02 (수)&lt;/b&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;h4 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;a style=&quot;background-color: #e6f5ff; color: #0070d1;&quot; href=&quot;https://urbansports.kr/shop_view/?idx=50&quot;&gt;&lt;b&gt;구매 링크 ☞&lt;/b&gt;&lt;/a&gt;&lt;/h4&gt;
&lt;figure id=&quot;og_1690785789806&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;2023 한강나이트워크42K | 어반스포츠&quot; data-og-description=&quot;✔ 모든 취소 티켓은 2023. 08. 02. (수) 까지 구매 가능합니다.✔ 취소티켓은 환불/취소가 불가하오니 신중한 구매 부탁드립니다.✔ 단체신청 안내 : 하단 엑셀 양식을 꼭 다운로드 하여 작성해주시&quot; data-og-host=&quot;urbansports.kr&quot; data-og-source-url=&quot;https://urbansports.kr/shop_view/?idx=50&quot; data-og-url=&quot;https://urbansports.kr/shop_view/?idx=50&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/bbJDc4/hyTvbMOwnS/4q1XPv1l8dhoZlHE2w3bS0/img.png?width=750&amp;amp;height=1096&amp;amp;face=0_0_750_1096,https://scrap.kakaocdn.net/dn/IsphT/hyTvbMOwU7/OYfSkXGFLFfGjgQxfF0JjK/img.png?width=1646&amp;amp;height=2406&amp;amp;face=0_0_1646_2406,https://scrap.kakaocdn.net/dn/cNtMbw/hyTvcdTwC4/UJDtMZ84ZpNk2Z3ntpp40k/img.png?width=750&amp;amp;height=1096&amp;amp;face=0_0_750_1096&quot;&gt;&lt;a href=&quot;https://urbansports.kr/shop_view/?idx=50&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://urbansports.kr/shop_view/?idx=50&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/bbJDc4/hyTvbMOwnS/4q1XPv1l8dhoZlHE2w3bS0/img.png?width=750&amp;amp;height=1096&amp;amp;face=0_0_750_1096,https://scrap.kakaocdn.net/dn/IsphT/hyTvbMOwU7/OYfSkXGFLFfGjgQxfF0JjK/img.png?width=1646&amp;amp;height=2406&amp;amp;face=0_0_1646_2406,https://scrap.kakaocdn.net/dn/cNtMbw/hyTvcdTwC4/UJDtMZ84ZpNk2Z3ntpp40k/img.png?width=750&amp;amp;height=1096&amp;amp;face=0_0_750_1096');&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;2023 한강나이트워크42K | 어반스포츠&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;✔ 모든 취소 티켓은 2023. 08. 02. (수) 까지 구매 가능합니다.✔ 취소티켓은 환불/취소가 불가하오니 신중한 구매 부탁드립니다.✔ 단체신청 안내 : 하단 엑셀 양식을 꼭 다운로드 하여 작성해주시&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;urbansports.kr&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;size18&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;※&amp;nbsp;취소 티켓 구매 시 주의할 점&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;취소 티켓은 환불/취소 X&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;참가 패키지의 경우 7/31 오전 10시 이전 구매자는 사전 배송되나 이후 구매자는 &lt;b&gt;현장 수령&lt;/b&gt;해야 합니다!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;- 장소 (집결지)&lt;/b&gt;&lt;/span&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;size18&quot;&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;- 제한 시간&lt;/b&gt;&lt;/span&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;b&gt;42K : 제한시간&amp;nbsp;11시간&lt;/b&gt; &lt;br /&gt;자신의 한계에 도전하는 극한 체험! 나이트워크 대표 코스 &lt;br /&gt;&lt;br /&gt;&lt;b&gt;22K : 제한시간&amp;nbsp;6시간&lt;/b&gt; &lt;br /&gt;밤부터 아침까지&amp;nbsp; 한강의 다채로운 풍경과 함께 걷는 미들 코스 &lt;br /&gt;&lt;br /&gt;&lt;b&gt;15K : 제한시간&amp;nbsp;4시간&lt;/b&gt; &lt;br /&gt;야경과 함께 즐기며 소통하는 누구나 도전할 수 있는 이지 코스&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;- 참가자 패키지 이외의 챙겨야 할 준비물&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. 물병과 간식을 동시 수납할 수 있는 가방 (10리터 이상 배낭 권장, 가슴과 허리 조임끈이 있는 형태 권장) &lt;br /&gt;2. 물 500ml(또는 동량의 물을 담을 수 있는 용기) &lt;br /&gt;3. 참가 종목 기준 10km당 100kcal 이상의 간식 (42K 참가자라면 420kcal 이상) &lt;br /&gt;4. 옷이나 가방에 부착할 수 있는 발광체 (LED 제품 등) &lt;br /&gt;5. 휴대폰과 비상금 (신용카드 또는 현금)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;6. 보조 배터리&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;- 완보증 신청기간&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;8월 5일 (토) ~ 8월 11일 (금)&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;h4 data-ke-size=&quot;size20&quot;&gt;&amp;nbsp;&lt;/h4&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&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;1285&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/YwHT9/btspsGJHfFH/qvDSPiSvnSrqwGovElrp40/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/YwHT9/btspsGJHfFH/qvDSPiSvnSrqwGovElrp40/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/YwHT9/btspsGJHfFH/qvDSPiSvnSrqwGovElrp40/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FYwHT9%2FbtspsGJHfFH%2FqvDSPiSvnSrqwGovElrp40%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;1280&quot; height=&quot;1285&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;1285&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;1280&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/NDq5z/btspolskpRn/qhVcHYOmMneE9suT8Opl51/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/NDq5z/btspolskpRn/qhVcHYOmMneE9suT8Opl51/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/NDq5z/btspolskpRn/qhVcHYOmMneE9suT8Opl51/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FNDq5z%2FbtspolskpRn%2FqhVcHYOmMneE9suT8Opl51%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;1280&quot; height=&quot;1280&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;1280&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;1280&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/LPbz9/btspmL6ddN4/jHvCxQGcLPbfZHoBQJKa9k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/LPbz9/btspmL6ddN4/jHvCxQGcLPbfZHoBQJKa9k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/LPbz9/btspmL6ddN4/jHvCxQGcLPbfZHoBQJKa9k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FLPbz9%2FbtspmL6ddN4%2FjHvCxQGcLPbfZHoBQJKa9k%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;1280&quot; height=&quot;1280&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;1280&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1080&quot; data-origin-height=&quot;1080&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/vwbYD/btsppIulUwT/dKvMDgJ7pMMgJSHsFnGz81/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/vwbYD/btsppIulUwT/dKvMDgJ7pMMgJSHsFnGz81/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/vwbYD/btsppIulUwT/dKvMDgJ7pMMgJSHsFnGz81/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FvwbYD%2FbtsppIulUwT%2FdKvMDgJ7pMMgJSHsFnGz81%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;1080&quot; height=&quot;1080&quot; data-origin-width=&quot;1080&quot; data-origin-height=&quot;1080&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1040&quot; data-origin-height=&quot;1040&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b2n4mc/btsplOB4wSQ/8FmVpC6P58aHMcKe97gRyK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b2n4mc/btsplOB4wSQ/8FmVpC6P58aHMcKe97gRyK/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b2n4mc/btsplOB4wSQ/8FmVpC6P58aHMcKe97gRyK/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb2n4mc%2FbtsplOB4wSQ%2F8FmVpC6P58aHMcKe97gRyK%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;1040&quot; height=&quot;1040&quot; data-origin-width=&quot;1040&quot; data-origin-height=&quot;1040&quot;/&gt;&lt;/span&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;&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;cf. 어반스포츠 한강나이트워크24K 공식 홈페이지 &lt;a href=&quot;https://urbansports.kr/shop_view/?idx=50&quot;&gt;https://urbansports.kr/shop_view/?idx=50&lt;/a&gt;&lt;/p&gt;</description>
      <category>ETC/운동</category>
      <category>2023</category>
      <category>24K</category>
      <category>녹음수 광장</category>
      <category>여의도</category>
      <category>완보증</category>
      <category>코스</category>
      <category>한강공원</category>
      <category>한강나이트워크</category>
      <author>Anchovy ʕ-᷅ᴥ-᷄ʔ</author>
      <guid isPermaLink="true">https://string.tistory.com/156</guid>
      <comments>https://string.tistory.com/156#entry156comment</comments>
      <pubDate>Mon, 31 Jul 2023 16:05:14 +0900</pubDate>
    </item>
    <item>
      <title>[롯데타워 스카이런] 롯데월드타워 SKY RUN 기부금영수증 발행 신청</title>
      <link>https://string.tistory.com/155</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;안녕하세요. &amp;zwj; &lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;지난 글들에서 이색마라톤인 롯데월드타워 스카이런(SKY RUN) 행사 안내를 했는데요!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;5분 만에 매진되었다고 하던데 다들 신청 성공하셨나요?? 꼭 참석하고 싶었는데 &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;운 좋게도&lt;/span&gt; 성공하였습니다.✌&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1080&quot; data-origin-height=&quot;1548&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dDL5gK/btsaXnrOmAQ/76b4cSnie44kvK81KICnVK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dDL5gK/btsaXnrOmAQ/76b4cSnie44kvK81KICnVK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dDL5gK/btsaXnrOmAQ/76b4cSnie44kvK81KICnVK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdDL5gK%2FbtsaXnrOmAQ%2F76b4cSnie44kvK81KICnVK%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;400&quot; height=&quot;573&quot; data-origin-width=&quot;1080&quot; data-origin-height=&quot;1548&quot;/&gt;&lt;/span&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;참가 신청을 하셨다면 잊지 말아야 할 기부금영수증 발행 신청에 대해 포스팅하려고 합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&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 style=&quot;color: #000000; text-align: start;&quot;&gt;2023 스카이런 기부금 영수증 발행 신청은 &lt;u&gt;&lt;b&gt;4월 24일 (월)&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;&lt;span&gt;까&lt;/span&gt;&lt;/span&gt;지&lt;/b&gt;&lt;/u&gt;이고&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;연말정산 시 기부금 세제 혜택도 받을 수 있으니 꼭 &lt;span style=&quot;color: #000000; text-align: start;&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 style=&quot;color: #000000; text-align: start;&quot;&gt;참가 대상자에 한해 아래와 같은 문자가 오고&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1080&quot; data-origin-height=&quot;1733&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/d8u8vf/btsa8gE3FmS/qp21g02ymDJmvCDK3zuBmK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/d8u8vf/btsa8gE3FmS/qp21g02ymDJmvCDK3zuBmK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/d8u8vf/btsa8gE3FmS/qp21g02ymDJmvCDK3zuBmK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fd8u8vf%2Fbtsa8gE3FmS%2Fqp21g02ymDJmvCDK3zuBmK%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;400&quot; height=&quot;642&quot; data-origin-width=&quot;1080&quot; data-origin-height=&quot;1733&quot;/&gt;&lt;/span&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;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;개인정보 수집 및 활용 동의 후 개인 정보 입력하고 제출하면 끝!&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #202124; text-align: start;&quot;&gt;다만, &lt;b&gt;스카이런 참가자 정보와 일치&lt;/b&gt;해야 발행 가능하고 이름과 주민등록번호 오류 시 기부금영수증 발급 불가하니 제출 전에 한번 더 확인하세요&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/xJY3z/btsa5UCNICb/gmHzzNTZL5MPUjWti0KB21/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/xJY3z/btsa5UCNICb/gmHzzNTZL5MPUjWti0KB21/img.png&quot; data-origin-width=&quot;668&quot; data-origin-height=&quot;1066&quot; data-is-animation=&quot;false&quot; width=&quot;400&quot; height=&quot;638&quot; style=&quot;width: 50.7973%; margin-right: 10px;&quot; data-widthpercent=&quot;51.39&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/xJY3z/btsa5UCNICb/gmHzzNTZL5MPUjWti0KB21/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FxJY3z%2Fbtsa5UCNICb%2FgmHzzNTZL5MPUjWti0KB21%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;668&quot; height=&quot;1066&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/FKe0Q/btsa9H3mMDK/wfrTEc3cYYWfM8iOdIFQZ0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/FKe0Q/btsa9H3mMDK/wfrTEc3cYYWfM8iOdIFQZ0/img.png&quot; data-origin-width=&quot;675&quot; data-origin-height=&quot;1139&quot; data-is-animation=&quot;false&quot; width=&quot;400&quot; height=&quot;675&quot; style=&quot;width: 48.0399%;&quot; data-widthpercent=&quot;48.61&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/FKe0Q/btsa9H3mMDK/wfrTEc3cYYWfM8iOdIFQZ0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FFKe0Q%2Fbtsa9H3mMDK%2FwfrTEc3cYYWfM8iOdIFQZ0%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;675&quot; height=&quot;1139&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;a href=&quot;https://docs.google.com/forms/d/e/1FAIpQLSd4ov8gkS0lIbwFbtgMQJIvNQA4u4pv4ZlugejEEfbCB4J-gA/viewform&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;&lt;b&gt;2023 롯데월드타워 수직마라톤대회(&lt;/b&gt;&lt;b&gt;SKY RUN)&lt;/b&gt;&lt;span style=&quot;background-color: #ffffff; color: #202124; text-align: start;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;기부금영수증 발행 신청&amp;nbsp; ☞&lt;/b&gt;&lt;/a&gt;&lt;/h4&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;</description>
      <category>ETC/운동</category>
      <category>lotteworldtower</category>
      <category>SKYRUN</category>
      <category>SKYRUN2023</category>
      <category>기부 영수증</category>
      <category>롯데월드타워</category>
      <category>롯타</category>
      <category>수직마라톤</category>
      <category>스카이런</category>
      <category>스카이런2023</category>
      <category>이색마라톤</category>
      <author>Anchovy ʕ-᷅ᴥ-᷄ʔ</author>
      <guid isPermaLink="true">https://string.tistory.com/155</guid>
      <comments>https://string.tistory.com/155#entry155comment</comments>
      <pubDate>Wed, 19 Apr 2023 13:16:47 +0900</pubDate>
    </item>
    <item>
      <title>[롯데타워 스카이런] 공식! 2023 롯데월드타워&amp;middot;몰 스카이런 행사 안내</title>
      <link>https://string.tistory.com/154</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #555555; text-align: left;&quot;&gt;안녕하세요 &amp;zwj; &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #555555; text-align: left;&quot;&gt;이번 글은 지난 글에 이어 롯데월드타워&amp;middot;몰 공식 블로그에 공지된 내용으로 &lt;span style=&quot;color: #555555; text-align: left;&quot;&gt;2023년 롯데타워 스카이런 행사 안내를 해보려고 합니다!&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #555555; text-align: left;&quot;&gt;공식블로그 내용을 참고하였습니다!&lt;/span&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;스카이런은 롯데월드타워에서 2017년부터 매년 봄에 진행하는 수직마라톤 대회이고 국내에서 가장 많은 건물 내 계단 2917개를 올라가는 행사입니다&lt;span style=&quot;color: #555555; text-align: left;&quot;&gt;! &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #555555; text-align: left;&quot;&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 style=&quot;color: #555555; text-align: left;&quot;&gt;행사 참가비 전액이 보바스어린이의원에 기부되니 좋은 곳에 기부와 더불어 건강도 챙기시는 건 어떨까요?&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;s style=&quot;color: #555555; text-align: left;&quot;&gt;(기부 영수증도 챙길 수 있다!)&lt;/s&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;기부처 안내▽&lt;/p&gt;
&lt;div data-ke-type=&quot;moreLess&quot; data-text-more=&quot;더보기&quot; data-text-less=&quot;닫기&quot;&gt;&lt;a class=&quot;btn-toggle-moreless&quot;&gt;더보기&lt;/a&gt;
&lt;div class=&quot;moreless-content&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;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;445&quot; data-origin-height=&quot;102&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/oR3Bv/btr3SH4rIxI/JVnbrnrKgf5945VE706oFK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/oR3Bv/btr3SH4rIxI/JVnbrnrKgf5945VE706oFK/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/oR3Bv/btr3SH4rIxI/JVnbrnrKgf5945VE706oFK/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FoR3Bv%2Fbtr3SH4rIxI%2FJVnbrnrKgf5945VE706oFK%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;253&quot; height=&quot;58&quot; data-origin-width=&quot;445&quot; data-origin-height=&quot;102&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;보바스어린이의원은&amp;nbsp;국내&amp;nbsp;최초의&amp;nbsp;소아재활&amp;nbsp;전문으로&amp;nbsp;뇌병변&amp;nbsp;질환과&amp;nbsp;같은&amp;nbsp;중추신경계&amp;nbsp;질환&amp;nbsp;및&amp;nbsp;발달&amp;nbsp;지연을&amp;nbsp;겪고&amp;nbsp;있는&amp;nbsp;아동들에게&amp;nbsp;포괄적이고&amp;nbsp;체계적인&amp;nbsp;개인별&amp;nbsp;맞춤&amp;nbsp;전문&amp;nbsp;의료&amp;nbsp;서비스를&amp;nbsp;제공하고&amp;nbsp;있습니다. &lt;br /&gt;&lt;br /&gt;보바스어린이의원에 기부해 주시는 소중한 후원금은 재활치료 환아의 건강한 발달과 성장을 위한 치료비 지원 및 치료 환경 개선을 위해 사용됩니다.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://string.tistory.com/155&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://string.tistory.com/155&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1681877848712&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[롯데타워 스카이런] 롯데월드타워 SKY RUN 기부금영수증 발행 신청&quot; data-og-description=&quot;안녕하세요. &amp;zwj;  지난 글들에서 이색마라톤인 롯데월드타워 스카이런(SKY RUN) 행사 안내를 했는데요! 5분 만에 매진되었다고 하던데 다들 신청 성공하셨나요?? 꼭 참석하고 싶었는데 운 좋게&quot; data-og-host=&quot;string.tistory.com&quot; data-og-source-url=&quot;https://string.tistory.com/155&quot; data-og-url=&quot;https://string.tistory.com/155&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/jtgZF/hySkY22Ht7/NHJfPad1FfvKNMkjBdGwBk/img.jpg?width=658&amp;amp;height=931&amp;amp;face=0_0_658_931,https://scrap.kakaocdn.net/dn/YUMFc/hySk00WpJc/pdabX2ucbfjVzIOJ0ZSlh1/img.jpg?width=658&amp;amp;height=931&amp;amp;face=0_0_658_931,https://scrap.kakaocdn.net/dn/cViSE1/hySkOTDwyd/2QTENk1xXwOILqASj3A9Ek/img.png?width=675&amp;amp;height=1139&amp;amp;face=0_0_675_1139&quot;&gt;&lt;a href=&quot;https://string.tistory.com/155&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://string.tistory.com/155&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/jtgZF/hySkY22Ht7/NHJfPad1FfvKNMkjBdGwBk/img.jpg?width=658&amp;amp;height=931&amp;amp;face=0_0_658_931,https://scrap.kakaocdn.net/dn/YUMFc/hySk00WpJc/pdabX2ucbfjVzIOJ0ZSlh1/img.jpg?width=658&amp;amp;height=931&amp;amp;face=0_0_658_931,https://scrap.kakaocdn.net/dn/cViSE1/hySkOTDwyd/2QTENk1xXwOILqASj3A9Ek/img.png?width=675&amp;amp;height=1139&amp;amp;face=0_0_675_1139');&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;[롯데타워 스카이런] 롯데월드타워 SKY RUN 기부금영수증 발행 신청&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;안녕하세요. &amp;zwj;  지난 글들에서 이색마라톤인 롯데월드타워 스카이런(SKY RUN) 행사 안내를 했는데요! 5분 만에 매진되었다고 하던데 다들 신청 성공하셨나요?? 꼭 참석하고 싶었는데 운 좋게&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;string.tistory.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;span style=&quot;color: #555555; text-align: left;&quot;&gt;관심 있는 분들은 일정 참고하여 참가해 보시면 좋을 거 같아요!&lt;/span&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-origin-width=&quot;658&quot; data-origin-height=&quot;931&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b3tWYe/btr3IC39w2O/FSGdPqoLszTHBmhB8DkMAk/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b3tWYe/btr3IC39w2O/FSGdPqoLszTHBmhB8DkMAk/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b3tWYe/btr3IC39w2O/FSGdPqoLszTHBmhB8DkMAk/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb3tWYe%2Fbtr3IC39w2O%2FFSGdPqoLszTHBmhB8DkMAk%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;500&quot; height=&quot;707&quot; data-origin-width=&quot;658&quot; data-origin-height=&quot;931&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;800&quot; data-origin-height=&quot;800&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/rE73I/btr3Q882gL6/AX2gAqekk2H1STFIsvS1i0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/rE73I/btr3Q882gL6/AX2gAqekk2H1STFIsvS1i0/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/rE73I/btr3Q882gL6/AX2gAqekk2H1STFIsvS1i0/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FrE73I%2Fbtr3Q882gL6%2FAX2gAqekk2H1STFIsvS1i0%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;500&quot; height=&quot;500&quot; data-origin-width=&quot;800&quot; data-origin-height=&quot;800&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;2023년&amp;nbsp;스카이런&amp;nbsp;행사&amp;nbsp;일시&amp;nbsp;:&amp;nbsp;4월&amp;nbsp;22일&amp;nbsp;(토)&amp;nbsp;9:00&amp;nbsp;~&amp;nbsp;18:00&lt;/b&gt;&lt;/h4&gt;
&lt;h4 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size20&quot;&gt;&amp;nbsp;&lt;/h4&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;800&quot; data-origin-height=&quot;800&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/4Hf5j/btr3Rasf7V1/CCouhIKBPUas0H6MJP5CK1/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/4Hf5j/btr3Rasf7V1/CCouhIKBPUas0H6MJP5CK1/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/4Hf5j/btr3Rasf7V1/CCouhIKBPUas0H6MJP5CK1/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F4Hf5j%2Fbtr3Rasf7V1%2FCCouhIKBPUas0H6MJP5CK1%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;500&quot; height=&quot;500&quot; data-origin-width=&quot;800&quot; data-origin-height=&quot;800&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;스카이런&amp;nbsp;참가&amp;nbsp;접수&lt;/b&gt;는&amp;nbsp;다음 주&amp;nbsp;&lt;b&gt;월요일&lt;/b&gt;부터&amp;nbsp;시작됩니다!&lt;/h4&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;접수기간 : 3월 20일(월) 11시~ 3월 24일(금) 17시&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;남녀노소 누구나 참여 가능한 &lt;b&gt;비경쟁부문&lt;/b&gt;과, 만 18세 이상 ~ 65세 미만이 참여 가능한 &lt;b&gt;경쟁부문&lt;/b&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;롯데ON 스카이런 상품페이지를 통해 온라인 접수로 진행되며, 현장 접수는 받지 않는다고 합니다!&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;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;800&quot; data-origin-height=&quot;800&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Kr5FB/btr3S0by1SN/YGkai5y9HF63cRpHyv5LfK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Kr5FB/btr3S0by1SN/YGkai5y9HF63cRpHyv5LfK/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Kr5FB/btr3S0by1SN/YGkai5y9HF63cRpHyv5LfK/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FKr5FB%2Fbtr3S0by1SN%2FYGkai5y9HF63cRpHyv5LfK%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;500&quot; height=&quot;500&quot; data-origin-width=&quot;800&quot; data-origin-height=&quot;800&quot;/&gt;&lt;/span&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-origin-width=&quot;800&quot; data-origin-height=&quot;800&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/z5YJJ/btr3TGYamdB/wCNNT09hEt7cnvndRCvKA0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/z5YJJ/btr3TGYamdB/wCNNT09hEt7cnvndRCvKA0/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/z5YJJ/btr3TGYamdB/wCNNT09hEt7cnvndRCvKA0/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fz5YJJ%2Fbtr3TGYamdB%2FwCNNT09hEt7cnvndRCvKA0%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;500&quot; height=&quot;500&quot; data-origin-width=&quot;800&quot; data-origin-height=&quot;800&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;참가 신청까지 마치셨다면 좋은 컨디션으로 대회 당일 시간에 맞춰 &lt;b&gt;롯데월드타워 아레나 광장&lt;/b&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;도착 후 메디컬센터 건강검진, 참가등록처에 서류 제출 후, RACE 팔찌를 받은 뒤 출발대기하시면 됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;(건강검진은 만 40세 이상은 필수, 미만은 선택입니다.)&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-origin-width=&quot;800&quot; data-origin-height=&quot;800&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/0CJ1V/btr3Q9GTsTB/1KVZBwOk2DybjYq8vmCwVk/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/0CJ1V/btr3Q9GTsTB/1KVZBwOk2DybjYq8vmCwVk/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/0CJ1V/btr3Q9GTsTB/1KVZBwOk2DybjYq8vmCwVk/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F0CJ1V%2Fbtr3Q9GTsTB%2F1KVZBwOk2DybjYq8vmCwVk%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;500&quot; height=&quot;500&quot; data-origin-width=&quot;800&quot; data-origin-height=&quot;800&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;참가 신청 및 더 자세한 내용&lt;/b&gt;은 공식 페이지를 참고하세요!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://www.lwt.co.kr/skyrun/introduce.do&quot;&gt;https://www.lwt.co.kr/skyrun/introduce.do&lt;/a&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;롯데ON 스카이런 상품 페이지&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://www.lotteon.com/p/display/shop/seltDpShop/31798&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://www.lotteon.com/p/display/shop/seltDpShop/31798&lt;/a&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;&lt;/p&gt;</description>
      <category>ETC/운동</category>
      <category>lotteworldtower</category>
      <category>SKYRUN</category>
      <category>SKYRUN2023</category>
      <category>기부 영수증</category>
      <category>롯데월드타워</category>
      <category>롯타</category>
      <category>수직마라톤</category>
      <category>스카이런</category>
      <category>스카이런2023</category>
      <category>이색마라톤</category>
      <author>Anchovy ʕ-᷅ᴥ-᷄ʔ</author>
      <guid isPermaLink="true">https://string.tistory.com/154</guid>
      <comments>https://string.tistory.com/154#entry154comment</comments>
      <pubDate>Wed, 15 Mar 2023 01:32:31 +0900</pubDate>
    </item>
    <item>
      <title>[롯데타워 스카이런] 다시 돌아온 롯데월드타워&amp;middot;몰 스카이런 행사 예정</title>
      <link>https://string.tistory.com/153</link>
      <description>&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;안녕하세요 &amp;zwj; &lt;br /&gt;이번 글은 2023년 롯데타워 스카이런&amp;nbsp;행사 안내를 해보려고 합니다.&lt;br /&gt;스카이런은 롯데월드타워&amp;nbsp;1층부터 123층까지의 계단을 오르는 수직 마라톤입니다! &lt;br /&gt;작년의 경우 행사 참가비 전액이 보바스어린이의원에 기부되었으니 좋은 곳에 기부와 더불어 건강도 챙기시는 건 어떨까요? &lt;s&gt;(기부영수증도 챙길 수 있다!)&lt;/s&gt;&lt;br /&gt;관심 있는 분들은 일정 참고하여 참가해 보시면 좋을 거 같아요!&lt;/p&gt;
&lt;hr data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;773&quot; data-origin-height=&quot;771&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ueQo5/btr2PTRPz3Y/uBz2HV9wtU6eR53kBioHNK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ueQo5/btr2PTRPz3Y/uBz2HV9wtU6eR53kBioHNK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ueQo5/btr2PTRPz3Y/uBz2HV9wtU6eR53kBioHNK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FueQo5%2Fbtr2PTRPz3Y%2FuBz2HV9wtU6eR53kBioHNK%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;503&quot; height=&quot;502&quot; data-origin-width=&quot;773&quot; data-origin-height=&quot;771&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;스카이런은 롯데월드타워에서 2017년부터 매년 봄에 진행하는 수직마라톤 대회이고 국내에서 가장 많은 건물 내 계단 2917개를 올라가는 행사입니다!&lt;br /&gt;코로나19로 중단됐다가 작년에 3년 만에 다시 개최 됐었는데 올해 스카이런은 4년 만에 마스크 없이 진행될 예정이라고 합니다.&lt;br /&gt;&amp;nbsp;&lt;br /&gt;아직 자세한 2023년 행사 내용은 공지되지 않아 롯데월드타워&amp;middot;몰 공식 블로그 2022년 행사 안내를 참고하여 작성하였습니다.&lt;br /&gt;작년 행사 안내를 통해 어느 정도 예상해 볼 수 있겠네요!&lt;br /&gt;&amp;nbsp;&lt;br /&gt;자세한 내용이 공지되면 추가적으로 작성할게요!&lt;/p&gt;
&lt;hr data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;800&quot; data-origin-height=&quot;800&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dEsVCc/btr2Riw1Yx3/Pf03dfv08CRfRMjd5lE7f1/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dEsVCc/btr2Riw1Yx3/Pf03dfv08CRfRMjd5lE7f1/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dEsVCc/btr2Riw1Yx3/Pf03dfv08CRfRMjd5lE7f1/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdEsVCc%2Fbtr2Riw1Yx3%2FPf03dfv08CRfRMjd5lE7f1%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;550&quot; height=&quot;550&quot; data-origin-width=&quot;800&quot; data-origin-height=&quot;800&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;800&quot; data-origin-height=&quot;800&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/JsmSS/btr2NikKVjC/ILtOXdvjUX2hsrzxP0AYp0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/JsmSS/btr2NikKVjC/ILtOXdvjUX2hsrzxP0AYp0/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/JsmSS/btr2NikKVjC/ILtOXdvjUX2hsrzxP0AYp0/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FJsmSS%2Fbtr2NikKVjC%2FILtOXdvjUX2hsrzxP0AYp0%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;550&quot; height=&quot;550&quot; data-origin-width=&quot;800&quot; data-origin-height=&quot;800&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;800&quot; data-origin-height=&quot;800&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bNdpr9/btr2H6kEuCh/KHZk3V9ozhgdMQHWJmYCI1/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bNdpr9/btr2H6kEuCh/KHZk3V9ozhgdMQHWJmYCI1/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bNdpr9/btr2H6kEuCh/KHZk3V9ozhgdMQHWJmYCI1/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbNdpr9%2Fbtr2H6kEuCh%2FKHZk3V9ozhgdMQHWJmYCI1%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;550&quot; height=&quot;550&quot; data-origin-width=&quot;800&quot; data-origin-height=&quot;800&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;800&quot; data-origin-height=&quot;800&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/PtOsU/btr2RXTWja9/IsrdR59Uk5wxaNiix1f8i0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/PtOsU/btr2RXTWja9/IsrdR59Uk5wxaNiix1f8i0/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/PtOsU/btr2RXTWja9/IsrdR59Uk5wxaNiix1f8i0/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FPtOsU%2Fbtr2RXTWja9%2FIsrdR59Uk5wxaNiix1f8i0%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;550&quot; height=&quot;550&quot; data-origin-width=&quot;800&quot; data-origin-height=&quot;800&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;800&quot; data-origin-height=&quot;800&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/08l6t/btr2QKm4Xrf/yDZiTp4dqruWg2XaNRIbqK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/08l6t/btr2QKm4Xrf/yDZiTp4dqruWg2XaNRIbqK/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/08l6t/btr2QKm4Xrf/yDZiTp4dqruWg2XaNRIbqK/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F08l6t%2Fbtr2QKm4Xrf%2FyDZiTp4dqruWg2XaNRIbqK%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;550&quot; height=&quot;550&quot; data-origin-width=&quot;800&quot; data-origin-height=&quot;800&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;720&quot; data-origin-height=&quot;1469&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/1HNlM/btr2YaL0LUe/p530HPR6xt90EnTosIFo8k/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/1HNlM/btr2YaL0LUe/p530HPR6xt90EnTosIFo8k/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/1HNlM/btr2YaL0LUe/p530HPR6xt90EnTosIFo8k/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F1HNlM%2Fbtr2YaL0LUe%2Fp530HPR6xt90EnTosIFo8k%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;550&quot; height=&quot;1122&quot; data-origin-width=&quot;720&quot; data-origin-height=&quot;1469&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;a href=&quot;https://m.blog.naver.com/lotte_tower/222680536503?referrerCode=1&quot; target=&quot;_self&quot;&gt;&lt;span&gt;https://m.blog.naver.com/lotte_tower/222680536503?referrerCode=1&lt;/span&gt;&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;figure data-ke-type=&quot;opengraph&quot; data-og-title=&quot;2022 롯데월드타워&amp;middot;몰 스카이런&amp;middot;언택트스카이런 행사안내&quot; data-ke-align=&quot;alignCenter&quot; data-og-description=&quot;2022 롯데월드타워&amp;middot;몰 스카이런&amp;middot;언택트스카이런 행사안내 안녕하세요. 롯데월드타워&amp;middot;몰 공식 블로그입니다....&quot; data-og-host=&quot;blog.naver.com&quot; data-og-source-url=&quot;https://m.blog.naver.com/lotte_tower/222680536503?referrerCode=1&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/dkalQv/hyRRG3AmOp/udH3Z6k4tANKb5OJfgdr5K/img.jpg?width=700&amp;amp;height=700&amp;amp;face=0_0_700_700&quot; data-og-url=&quot;https://blog.naver.com/lotte_tower/222680536503&quot;&gt;&lt;a href=&quot;https://blog.naver.com/lotte_tower/222680536503&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://m.blog.naver.com/lotte_tower/222680536503?referrerCode=1&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/dkalQv/hyRRG3AmOp/udH3Z6k4tANKb5OJfgdr5K/img.jpg?width=700&amp;amp;height=700&amp;amp;face=0_0_700_700');&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;2022 롯데월드타워&amp;middot;몰 스카이런&amp;middot;언택트스카이런 행사안내&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;2022 롯데월드타워&amp;middot;몰 스카이런&amp;middot;언택트스카이런 행사안내 안녕하세요. 롯데월드타워&amp;middot;몰 공식 블로그입니다....&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;blog.naver.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;</description>
      <category>ETC/운동</category>
      <category>lotteworldtower</category>
      <category>기부</category>
      <category>롯데월드몰</category>
      <category>롯데월드타워</category>
      <category>롯타</category>
      <category>마라톤</category>
      <category>수직 마라톤</category>
      <category>스카이런</category>
      <category>신청</category>
      <category>일정</category>
      <author>Anchovy ʕ-᷅ᴥ-᷄ʔ</author>
      <guid isPermaLink="true">https://string.tistory.com/153</guid>
      <comments>https://string.tistory.com/153#entry153comment</comments>
      <pubDate>Thu, 9 Mar 2023 12:59:33 +0900</pubDate>
    </item>
    <item>
      <title>[Java] 알  수 없는 속성이 있는 JSON 처리, Jackson Unmarshalling JSON</title>
      <link>https://string.tistory.com/152</link>
      <description>&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;증상: Unrecognized Property Exception&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;API로 JSON 데이터를 받아와 Java 엔터티로 언마샬링(객체로 맵핑), DTO 클래스에 선언되지 않은 속성이 있으면 오류 발생.&lt;/p&gt;
&lt;pre id=&quot;code_1678078364389&quot; class=&quot;shell&quot; data-ke-language=&quot;shell&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException: Unrecognized field&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&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;color: #000000;&quot;&gt;&lt;b&gt;1. ObjectMapper를&amp;nbsp;사용하여&amp;nbsp;알&amp;nbsp;수&amp;nbsp;없는&amp;nbsp;필드&amp;nbsp;처리&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #202124;&quot;&gt;ObjectMapper 객체 생성 시 옵션 설정&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1678079047254&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;ObjectMapper mapper = new ObjectMapper().configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);&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;b&gt;&lt;span style=&quot;background-color: #ffffff; color: #202124;&quot;&gt;2. &amp;nbsp;클래스&amp;nbsp;수준에서&amp;nbsp;알&amp;nbsp;수&amp;nbsp;없는&amp;nbsp;필드&amp;nbsp;처리&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #202124;&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #202124;&quot;&gt;DTO class에 @JsonIgnoreProperties 어노테이션&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 style=&quot;background-color: #ffffff; color: #202124;&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #202124;&quot;&gt;- 특정 필드만 제외&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1678078828047&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;@JsonIgnoreProperties({&quot;name&quot;})
public class Sample {
	private String name;
	...
}&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;- 선언된 필드&amp;nbsp;외에&amp;nbsp;모든&amp;nbsp;요소&amp;nbsp;제외&lt;/p&gt;
&lt;pre id=&quot;code_1678078938174&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;@JsonIgnoreProperties(ignoreUnknown = true)
public class Sample {
	private String name;
	...
}&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;&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;&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;ref .&lt;a href=&quot;https://www.baeldung.com/jackson-deserialize-json-unknown-properties&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://www.baeldung.com/jackson-deserialize-json-unknown-properties&lt;/a&gt;&lt;/p&gt;</description>
      <category>트러블슈팅 &amp;amp; 디버깅</category>
      <category>API</category>
      <category>exception</category>
      <category>json</category>
      <category>Property</category>
      <category>Unrecognized</category>
      <author>Anchovy ʕ-᷅ᴥ-᷄ʔ</author>
      <guid isPermaLink="true">https://string.tistory.com/152</guid>
      <comments>https://string.tistory.com/152#entry152comment</comments>
      <pubDate>Mon, 6 Mar 2023 16:26:01 +0900</pubDate>
    </item>
    <item>
      <title>[AWS] AWS Certifications, 자격시험 무료 재응시 이벤트</title>
      <link>https://string.tistory.com/151</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;안녕하세요 &amp;zwj; &lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;AWS 자격시험 무료 재응시 기회가 있어 소개해 드리려고 합니다!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;처음 응시료는 지불하고 해당 시험 불합격 시 재응시료를 면제해 주는 프로모션입니다.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1250&quot; data-origin-height=&quot;694&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bPdmlR/btrYj2zAtP9/B8PpWN2W1q2dzbH0b0B7SK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bPdmlR/btrYj2zAtP9/B8PpWN2W1q2dzbH0b0B7SK/img.png&quot; data-alt=&quot;https://aws.amazon.com/ko/certification/&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bPdmlR/btrYj2zAtP9/B8PpWN2W1q2dzbH0b0B7SK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbPdmlR%2FbtrYj2zAtP9%2FB8PpWN2W1q2dzbH0b0B7SK%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;1250&quot; height=&quot;694&quot; data-origin-width=&quot;1250&quot; data-origin-height=&quot;694&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;https://aws.amazon.com/ko/certification/&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;737&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/kXSw3/btrYjV8oHbr/DxRVktWXlbloESKKjPkUA0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/kXSw3/btrYjV8oHbr/DxRVktWXlbloESKKjPkUA0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/kXSw3/btrYjV8oHbr/DxRVktWXlbloESKKjPkUA0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FkXSw3%2FbtrYjV8oHbr%2FDxRVktWXlbloESKKjPkUA0%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;1280&quot; height=&quot;737&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;737&quot;/&gt;&lt;/span&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;&lt;b&gt;2023년 1월 16일부터 2023년 4월 17일까지&lt;/b&gt;의 기간 사이에 Pearson VUE를 통해 AWS 시험을 예약하실 때,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;프로모션 코드 &lt;b&gt;PEARSONKR&lt;/b&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;a title=&quot;시험 예약&quot; href=&quot;https://korea.pearsonvue.com/aws/retake?sc_icampaign=aware_certification_apj_ko_ribbon_pv_examretake_tnc&amp;amp;sc_ichannel=ha&amp;amp;sc_icontent=awssm-12394_tnc_aware&amp;amp;sc_iplace=ribbon&amp;amp;trk=05ba298f-4eff-4a21-8ee7-b5b3d86cf023~ha_awssm-12394_tnc_aware&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;시험 예약&lt;/a&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;b&gt;2023년 6월 5일까지&lt;/b&gt; Pearson VUE&amp;reg; 공인 시험 센터 또는 OnVUE 온라인 시험을 통해 완료되어야 하고&amp;nbsp;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;시험 한 번을 불합격하는 경우, 재응시 자격을 얻을 때까지 14일을 기다려야 합니다. 프로모션 기간 내에 응시하여 불합격한 자격시험에 대해 한 번의 무료 재응시로만 제한됩니다. &lt;/span&gt; &lt;br /&gt;&lt;br /&gt;결재창에서 코드 입력 후 프로모션 정상 적용 여부를 확인해야 합니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1123&quot; data-origin-height=&quot;446&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/btLqNy/btrYjEsgsQQ/TwRKniQLVonub2t5qIPc20/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/btLqNy/btrYjEsgsQQ/TwRKniQLVonub2t5qIPc20/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/btLqNy/btrYjEsgsQQ/TwRKniQLVonub2t5qIPc20/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbtLqNy%2FbtrYjEsgsQQ%2FTwRKniQLVonub2t5qIPc20%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;1123&quot; height=&quot;446&quot; data-origin-width=&quot;1123&quot; data-origin-height=&quot;446&quot;/&gt;&lt;/span&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;※ &lt;b&gt;AWS Certified Developer &amp;ndash; Associate 및 DevOps Engineer &amp;ndash; Professional 시험 업데이트가 예정&lt;/b&gt;되어 있으니, 해당 시험을 응시 예정이라면 업데이트 내용을 확인해 보세요.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;AWS&amp;nbsp;Certified&amp;nbsp;Developer&amp;nbsp;-&amp;nbsp;Associate&amp;nbsp;시험&amp;nbsp;업데이트&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이제 업데이트된 AWS Certified Developer &amp;ndash; Associate 시험에 등록할 수 있습니다. 이 자격증은 핵심 AWS 서비스, 사용 및 기본 AWS 아키텍처 모범 사례에 대한 지식 및 이해를 입증하고 AWS를 사용한 클라우드 기반 애플리케이션을 능숙하게 개발, 배포, 디버깅할 수 있음을 보여줍니다. &lt;br /&gt;&amp;nbsp; &lt;br /&gt;현재&amp;nbsp;이&amp;nbsp;자격증을&amp;nbsp;보유하고&amp;nbsp;있고&amp;nbsp;재인증이&amp;nbsp;필요한&amp;nbsp;경우&amp;nbsp;2023년&amp;nbsp;2월&amp;nbsp;27일까지&amp;nbsp;현재&amp;nbsp;시험을&amp;nbsp;다시&amp;nbsp;보거나,&amp;nbsp;2023년&amp;nbsp;2월&amp;nbsp;28일부터&amp;nbsp;시작되는&amp;nbsp;업데이트된&amp;nbsp;시험을&amp;nbsp;보거나,&amp;nbsp;Developer&amp;nbsp;-&amp;nbsp;Associate&amp;nbsp;자격증을&amp;nbsp;자동으로&amp;nbsp;재인증하는&amp;nbsp;AWS&amp;nbsp;Certified&amp;nbsp;DevOps&amp;nbsp;Engineer&amp;nbsp;-&amp;nbsp;Professional&amp;nbsp;시험을&amp;nbsp;보고&amp;nbsp;자격증을&amp;nbsp;획득할&amp;nbsp;수&amp;nbsp;있습니다. &lt;br /&gt;&amp;nbsp; &lt;br /&gt;아래에서&amp;nbsp;모든&amp;nbsp;시험&amp;nbsp;언어로&amp;nbsp;제공되는&amp;nbsp;시험&amp;nbsp;가이드,&amp;nbsp;샘플&amp;nbsp;문항&amp;nbsp;및&amp;nbsp;공식&amp;nbsp;연습&amp;nbsp;문제&amp;nbsp;세트를&amp;nbsp;검토하세요.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;&lt;b&gt;- 시험 개요&lt;/b&gt; &lt;br /&gt;형식:&amp;nbsp;객관식&amp;nbsp;및&amp;nbsp;다중&amp;nbsp;응답&amp;nbsp;질문만&amp;nbsp;해당 &lt;br /&gt;유형:&amp;nbsp;Associate &lt;br /&gt;제공&amp;nbsp;방법:&amp;nbsp;Pearson&amp;nbsp;VUE&amp;nbsp;테스트&amp;nbsp;센터&amp;nbsp;또는&amp;nbsp;온라인&amp;nbsp;감독&amp;nbsp;시험 &lt;br /&gt;문항&amp;nbsp;수:&amp;nbsp;65개 &lt;br /&gt;시간:&amp;nbsp;130분 &lt;br /&gt;비용:&amp;nbsp;150&amp;nbsp;USD &lt;br /&gt;언어:&amp;nbsp;영어,&amp;nbsp;프랑스어(프랑스),&amp;nbsp;독일어,&amp;nbsp;이탈리아어,&amp;nbsp;일본어,&amp;nbsp;한국어,&amp;nbsp;포르투갈어(브라질),&amp;nbsp;중국어&amp;nbsp;간체,&amp;nbsp;스페인어(라틴&amp;nbsp;아메리카)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;&lt;b&gt;- 주요 날짜&lt;/b&gt;&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 50%;&quot;&gt;현재&amp;nbsp;시험&amp;nbsp;마지막&amp;nbsp;응시&amp;nbsp;일자&lt;/td&gt;
&lt;td style=&quot;width: 50%;&quot;&gt;2023년 2월 27일&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 50%;&quot;&gt;업데이트된&amp;nbsp;시험&amp;nbsp;첫&amp;nbsp;응시&amp;nbsp;일자&lt;/td&gt;
&lt;td style=&quot;width: 50%;&quot;&gt;2023년&amp;nbsp;2월&amp;nbsp;28일&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&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;b&gt;&lt;a href=&quot;https://d1.awsstatic.com/ko_KR/training-and-certification/docs-dev-associate/AWS-Certified-Developer-Associate_Exam-Guide_C02.pdf&quot;&gt;시험 가이드 다운로드(DVA-C02) &amp;raquo;&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;https://d1.awsstatic.com/ko_KR/training-and-certification/docs-dev-associate/AWS-Certified-Developer-Associate_Sample-Questions_C02.pdf&quot;&gt;샘플 문항 다운로드(DVA-C02) &amp;raquo;&lt;/a&gt;&lt;/b&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;AWS&amp;nbsp;Certified&amp;nbsp;DevOps&amp;nbsp;Engineer&amp;nbsp;-&amp;nbsp;Professional&amp;nbsp;시험&amp;nbsp;업데이트&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이제 업데이트된 AWS Certified DevOps Engineer &amp;ndash; Professional 시험에 등록할 수 있습니다. 이 자격증은 AWS 플랫폼에서 분산 애플리케이션 시스템을 프로비저닝하고, 운영하고, 관리할 수 있는 기술 전문성을 입증합니다. &lt;br /&gt;&amp;nbsp; &lt;br /&gt;현재&amp;nbsp;이&amp;nbsp;자격증을&amp;nbsp;보유하고&amp;nbsp;있고&amp;nbsp;재인증이&amp;nbsp;필요하거나&amp;nbsp;AWS&amp;nbsp;Certified&amp;nbsp;Developer&amp;nbsp;-&amp;nbsp;Associate&amp;nbsp;자격증을&amp;nbsp;보유하고&amp;nbsp;있고&amp;nbsp;업그레이드하려는&amp;nbsp;경우,&amp;nbsp;2023년&amp;nbsp;3월&amp;nbsp;6일까지&amp;nbsp;현재&amp;nbsp;AWS&amp;nbsp;Certified&amp;nbsp;DevOps&amp;nbsp;Engineer&amp;nbsp;-&amp;nbsp;Professional&amp;nbsp;시험을&amp;nbsp;보거나&amp;nbsp;2023년&amp;nbsp;3월&amp;nbsp;7일부터&amp;nbsp;새&amp;nbsp;시험을&amp;nbsp;볼&amp;nbsp;수&amp;nbsp;있습니다. &lt;br /&gt;&amp;nbsp; &lt;br /&gt;업데이트된&amp;nbsp;시험에&amp;nbsp;대해&amp;nbsp;아래에서&amp;nbsp;시험&amp;nbsp;언어로&amp;nbsp;제공되는&amp;nbsp;시험&amp;nbsp;가이드,&amp;nbsp;샘플&amp;nbsp;문항&amp;nbsp;및&amp;nbsp;공식&amp;nbsp;연습&amp;nbsp;문제&amp;nbsp;세트를&amp;nbsp;검토하세요.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;&lt;b&gt;- 시험 개요&lt;/b&gt; &lt;br /&gt;형식:&amp;nbsp;객관식&amp;nbsp;및&amp;nbsp;다중&amp;nbsp;응답&amp;nbsp;질문만&amp;nbsp;해당 &lt;br /&gt;유형:&amp;nbsp;Associate &lt;br /&gt;제공&amp;nbsp;방법:&amp;nbsp;Pearson&amp;nbsp;VUE&amp;nbsp;테스트&amp;nbsp;센터&amp;nbsp;또는&amp;nbsp;온라인&amp;nbsp;감독&amp;nbsp;시험 &lt;br /&gt;문항&amp;nbsp;수:&amp;nbsp;75개 &lt;br /&gt;시간:&amp;nbsp;180분 &lt;br /&gt;비용:&amp;nbsp;300&amp;nbsp;USD &lt;br /&gt;언어:&amp;nbsp;영어,&amp;nbsp;일본어,&amp;nbsp;한국어&amp;nbsp;및&amp;nbsp;중국어&amp;nbsp;간체&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;&lt;b&gt;- 주요 날짜&lt;/b&gt; &lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 50%;&quot;&gt;현재&amp;nbsp;시험&amp;nbsp;마지막&amp;nbsp;응시&amp;nbsp;일자&lt;/td&gt;
&lt;td style=&quot;width: 50%;&quot;&gt;2023년&amp;nbsp;3월&amp;nbsp;6일&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 50%;&quot;&gt;업데이트된&amp;nbsp;시험&amp;nbsp;첫&amp;nbsp;응시&amp;nbsp;일자&lt;/td&gt;
&lt;td style=&quot;width: 50%;&quot;&gt;2023년&amp;nbsp;3월&amp;nbsp;7일&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;a href=&quot;https://d1.awsstatic.com/ko_KR/training-and-certification/docs-devops-pro/AWS-Certified-DevOps-Engineer-Professional_Exam-Guide_C02.pdf&quot;&gt;시험 가이드 다운로드(DOP-C02) &amp;raquo;&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;https://d1.awsstatic.com/ko_KR/training-and-certification/docs-devops-pro/AWS-Certified-DevOps-Engineer-Professional_Sample-Questions_C02.pdf&quot;&gt;샘플 문항 다운로드(DOP-C02) &amp;raquo;&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&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;&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;rf.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://aws.amazon.com/ko/certification/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://aws.amazon.com/ko/certification/&lt;/a&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://aws.amazon.com/ko/certification/coming-soon/?trk=f3f1555b-4e36-480b-abe0-e56e66f4ea00&amp;amp;sc_channel=el&quot;&gt;https://aws.amazon.com/ko/certification/coming-soon/?trk=f3f1555b-4e36-480b-abe0-e56e66f4ea00&amp;amp;sc_channel=el&lt;/a&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;&lt;/p&gt;</description>
      <category>Cloud/AWS</category>
      <category>AWS</category>
      <category>certification</category>
      <category>무료</category>
      <category>자격 시험</category>
      <category>자격증</category>
      <category>재응시</category>
      <category>종류</category>
      <author>Anchovy ʕ-᷅ᴥ-᷄ʔ</author>
      <guid isPermaLink="true">https://string.tistory.com/151</guid>
      <comments>https://string.tistory.com/151#entry151comment</comments>
      <pubDate>Tue, 7 Feb 2023 13:36:36 +0900</pubDate>
    </item>
    <item>
      <title>[Azure] Azure portal에서 Azure AD application and service principal 생성, 권한 부여 방법</title>
      <link>https://string.tistory.com/150</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;안녕하세요 &amp;zwj; &lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;오늘은 Azure portal에서 Azure AD application and service principal 생성, 권한 부여 방법에 대해 설명할게요!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;외부 애플리케이션에서 api 호출 등을 위해 Azure portal에서 app registrations 후 권한 부여하는 일련의 과정입니다.&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;Azure documentation을 참고하여 작성했습니다!&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;역할 기반 액세스 컨트롤(RBAC, role-based access control)과 함께 사용할 수 있는 새로운 Azure Active Directory(Azure AD) 애플리케이션과 서비스 주체 작성 방법에 대해 설명합니다. 리소스에 액세스 하거나 수정해야 하는 애플리케이션, 호스팅 된 서비스 또는 자동화된 도구가 있는 경우 앱의 ID를 생성할 수 있습니다. 이 ID는 서비스 주체라고 불립니다. 리소스에 대한 액세스는 서비스 주체에게 할당된 역할에 의해 제한되므로 액세스 할 수 있는 리소스와 수준을 제어할 수 있습니다.&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;&lt;b&gt;앱&amp;nbsp;등록,&amp;nbsp;앱&amp;nbsp;개체&amp;nbsp;및&amp;nbsp;서비스&amp;nbsp;주체&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Azure 포털을 사용하여 서비스 주체를 직접 생성할 수 있는 방법은 없습니다. Azure 포털을 통해 애플리케이션을 등록하면 홈 디렉터리 또는 테넌트에 애플리케이션 개체와 서비스 주체가 자동으로 생성됩니다. 애플리케이션 등록, 애플리케이션 개체 및 서비스 주체 간의 관계에 대한 자세한 내용은 Azure Active Directory의 애플리케이션 및 서비스 주체 개체를 참조하십시오.&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;&lt;b&gt;앱&amp;nbsp;등록에&amp;nbsp;필요한&amp;nbsp;권한&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;우선 응용 프로그램을 Azure AD 테넌트에 등록하고 응용 프로그램에 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;1. Azure Active Directory를 선택합니다. &lt;br /&gt;2. Overview -&amp;gt; My feed에서 역할을 찾습니다. 사용자 역할이 있는 경우 관리자가 아닌 사용자가 응용 프로그램을 등록할 수 있는지 확인해야 합니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;800&quot; data-origin-height=&quot;523&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/OTXxN/btrW6qWHVGj/eaAkrtLvKMkpxQCe7BYpW0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/OTXxN/btrW6qWHVGj/eaAkrtLvKMkpxQCe7BYpW0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/OTXxN/btrW6qWHVGj/eaAkrtLvKMkpxQCe7BYpW0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FOTXxN%2FbtrW6qWHVGj%2FeaAkrtLvKMkpxQCe7BYpW0%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;523&quot; data-origin-width=&quot;800&quot; data-origin-height=&quot;523&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3. 왼쪽 메뉴 목록에서 Users를 선택한 다음 User&amp;nbsp;settings을 선택합니다. &lt;br /&gt;4. App registrations 설정을 확인합니다. 이 값은 관리자만 설정할 수 있습니다. Yes로 설정하면 Azure AD 테넌트의 모든 사용자가 앱을 등록할 수 있습니다.&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;앱 등록 설정이 No로 설정된 경우 관리자 역할이 있는 사용자만 이러한 유형의 애플리케이션을 등록할 수 있습니다. 사용 가능한 관리자 역할 및 각 역할에 부여되는 Azure AD의 특정 권한에 대해 알아보려면 &lt;a title=&quot;Azure AD 기본 제공 역할&quot; href=&quot;https://learn.microsoft.com/en-us/azure/active-directory/roles/permissions-reference#all-roles&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Azure AD 기본 제공 역할&lt;/a&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;&lt;b&gt;Azure&amp;nbsp;구독&amp;nbsp;권한&amp;nbsp;확인&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Azure 구독 시 귀하의 계정은 다음과 같아야 합니다. Microsoft.Authorization/*/WriteAD 앱에 역할을 할당하기 위한 액세스 권한입니다. 이 작업은 Owner 역할 또는 User Access Administrator 역할을 통해 부여됩니다. 계정에 기여자 역할이 할당된 경우 적절한 권한이 없습니다. 서비스 주체에게 역할을 할당하려고 하면 오류가 발생합니다. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;구독 권한 확인:&lt;/b&gt; &lt;br /&gt;1. Subscriptions을 선택합니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;654&quot; data-origin-height=&quot;559&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/LZL2s/btrXfMb3GUs/qil9x3k126vELskr859VYk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/LZL2s/btrXfMb3GUs/qil9x3k126vELskr859VYk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/LZL2s/btrXfMb3GUs/qil9x3k126vELskr859VYk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FLZL2s%2FbtrXfMb3GUs%2Fqil9x3k126vELskr859VYk%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;654&quot; height=&quot;559&quot; data-origin-width=&quot;654&quot; data-origin-height=&quot;559&quot;/&gt;&lt;/span&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;2. 서비스&amp;nbsp;주체&amp;nbsp;생성에&amp;nbsp;사용할&amp;nbsp;구독을&amp;nbsp;선택합니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;562&quot; data-origin-height=&quot;350&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dQbInt/btrXe8M2zbW/XceTEWXQPDqNnS9AJeRGh0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dQbInt/btrXe8M2zbW/XceTEWXQPDqNnS9AJeRGh0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dQbInt/btrXe8M2zbW/XceTEWXQPDqNnS9AJeRGh0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdQbInt%2FbtrXe8M2zbW%2FXceTEWXQPDqNnS9AJeRGh0%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;562&quot; height=&quot;350&quot; data-origin-width=&quot;562&quot; data-origin-height=&quot;350&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;찾고&amp;nbsp;있는&amp;nbsp;헤드라인&amp;nbsp;등록이&amp;nbsp;표시되지&amp;nbsp;않으면&amp;nbsp;글로벌&amp;nbsp;헤드라인&amp;nbsp;등록&amp;nbsp;필터를&amp;nbsp;선택합니다. 포털에&amp;nbsp;대해&amp;nbsp;원하는&amp;nbsp;구독이&amp;nbsp;선택되었는지&amp;nbsp;확인하십시오. &lt;br /&gt;&lt;br /&gt;3. My permissions를 선택합니다. 그런 다음 여기를 클릭하여 이 헤드라인 등록에 대한 전체 액세스 세부 정보를 보십시오.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;840&quot; data-origin-height=&quot;383&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/LyFBa/btrXfMQEYUY/5k5n9kguoNUGrhajSjNVu0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/LyFBa/btrXfMQEYUY/5k5n9kguoNUGrhajSjNVu0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/LyFBa/btrXfMQEYUY/5k5n9kguoNUGrhajSjNVu0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FLyFBa%2FbtrXfMQEYUY%2F5k5n9kguoNUGrhajSjNVu0%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;840&quot; height=&quot;383&quot; data-origin-width=&quot;840&quot; data-origin-height=&quot;383&quot;/&gt;&lt;/span&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;4. Role&amp;nbsp;assignments을 선택하여 할당된 역할을 보고 AD 앱에 역할을 할당할 수 있는 적절한 권한이 있는지 확인합니다. 그렇지 않은 경우 구독 관리자에게 사용자 액세스 관리자 역할에 사용자를 추가하도록 요청하십시오. 다음 이미지에서는 사용자에게 Owner 역할이 할당되어 있습니다. 이는 사용자에게 적절한 권한이 있음을 의미합니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;800&quot; data-origin-height=&quot;398&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bTs9yT/btrXamMLih2/beifkkzg3i0qUx78mOMyOk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bTs9yT/btrXamMLih2/beifkkzg3i0qUx78mOMyOk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bTs9yT/btrXamMLih2/beifkkzg3i0qUx78mOMyOk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbTs9yT%2FbtrXamMLih2%2Fbeifkkzg3i0qUx78mOMyOk%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;398&quot; data-origin-width=&quot;800&quot; data-origin-height=&quot;398&quot;/&gt;&lt;/span&gt;&lt;/figure&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;&lt;b&gt;Azure&amp;nbsp;AD에&amp;nbsp;애플리케이션&amp;nbsp;등록&amp;nbsp;및&amp;nbsp;서비스&amp;nbsp;주체&amp;nbsp;만들기&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1&lt;span&gt;.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;Azure Active Directory를 선택합니다. &lt;br /&gt;2&lt;span&gt;.&lt;span&gt; App&amp;nbsp;registrations&lt;/span&gt;&lt;/span&gt;을 선택합니다. &lt;br /&gt;3&lt;span&gt;.&lt;span&gt; New registration&lt;/span&gt;&lt;/span&gt;을 선택합니다. &lt;br /&gt;4&lt;span&gt;.&lt;span&gt; &lt;/span&gt;&lt;/span&gt;애플리케이션&amp;nbsp;이름을&amp;nbsp;지정합니다(예:&amp;nbsp;&quot;example-app&quot;).&amp;nbsp;애플리케이션을&amp;nbsp;사용할&amp;nbsp;수&amp;nbsp;있는&amp;nbsp;사람을&amp;nbsp;결정하는&amp;nbsp;지원되는&amp;nbsp;계정&amp;nbsp;유형을&amp;nbsp;선택합니다.&amp;nbsp;리디렉션&amp;nbsp;URI&amp;nbsp;아래에서&amp;nbsp;만들려는&amp;nbsp;애플리케이션&amp;nbsp;유형으로&amp;nbsp;웹을&amp;nbsp;선택합니다.&amp;nbsp;액세스&amp;nbsp;토큰이&amp;nbsp;전송되는&amp;nbsp;URI를&amp;nbsp;입력합니다.&amp;nbsp;네이티브&amp;nbsp;애플리케이션에&amp;nbsp;대한&amp;nbsp;자격&amp;nbsp;증명을&amp;nbsp;만들&amp;nbsp;수&amp;nbsp;없습니다.&amp;nbsp;자동화된&amp;nbsp;애플리케이션에는&amp;nbsp;해당&amp;nbsp;유형을&amp;nbsp;사용할&amp;nbsp;수&amp;nbsp;없습니다.&amp;nbsp;값을&amp;nbsp;설정한&amp;nbsp;후&amp;nbsp;등록을&amp;nbsp;선택합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;※ 문제가 발생하면 필요한 권한을 확인하여 계정이 ID를 생성할 수 있는지 확인&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;800&quot; data-origin-height=&quot;740&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/HLkC5/btrXDBu1e2n/ElsNW4MfLeXfLgPtbD9kqk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/HLkC5/btrXDBu1e2n/ElsNW4MfLeXfLgPtbD9kqk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/HLkC5/btrXDBu1e2n/ElsNW4MfLeXfLgPtbD9kqk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FHLkC5%2FbtrXDBu1e2n%2FElsNW4MfLeXfLgPtbD9kqk%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;740&quot; data-origin-width=&quot;800&quot; data-origin-height=&quot;740&quot;/&gt;&lt;/span&gt;&lt;/figure&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;&lt;b&gt;애플리케이션에&amp;nbsp;역할&amp;nbsp;할당&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;구독의 리소스에 액세스 하려면 애플리케이션에 역할을 할당해야 합니다. 애플리케이션에 적합한 권한을 제공하는 역할을 결정합니다. 사용 가능한 역할에 대해 알아보려면 &lt;a href=&quot;https://learn.microsoft.com/en-us/azure/active-directory/roles/permissions-reference#all-roles&quot;&gt;Azure AD 기본 제공 역할&lt;/a&gt;을 참조하세요. &lt;br /&gt;&lt;br /&gt;구독,&amp;nbsp;리소스&amp;nbsp;그룹&amp;nbsp;또는&amp;nbsp;리소스&amp;nbsp;수준에서&amp;nbsp;범위를&amp;nbsp;설정할&amp;nbsp;수&amp;nbsp;있습니다.&amp;nbsp;권한은&amp;nbsp;더&amp;nbsp;낮은&amp;nbsp;수준의&amp;nbsp;범위로&amp;nbsp;상속됩니다.&amp;nbsp;예를&amp;nbsp;들어&amp;nbsp;리소스&amp;nbsp;그룹에&amp;nbsp;대한&amp;nbsp;독자&amp;nbsp;역할에&amp;nbsp;애플리케이션을&amp;nbsp;추가하면&amp;nbsp;리소스&amp;nbsp;그룹과&amp;nbsp;여기에&amp;nbsp;포함된&amp;nbsp;모든&amp;nbsp;리소스를&amp;nbsp;읽을&amp;nbsp;수&amp;nbsp;있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;1. Azure Portal에서 애플리케이션을 할당하려는 범위 수준을 선택합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;ex. 구독 범위에서 역할을 할당하려면 구독을 검색하여 선택하거나 홈 페이지에서 구독을 선택합니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;654&quot; data-origin-height=&quot;559&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cIMOoE/btrXBmeLUL2/jqvEQyqNZINwRYsnU2WOEk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cIMOoE/btrXBmeLUL2/jqvEQyqNZINwRYsnU2WOEk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cIMOoE/btrXBmeLUL2/jqvEQyqNZINwRYsnU2WOEk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcIMOoE%2FbtrXBmeLUL2%2FjqvEQyqNZINwRYsnU2WOEk%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;654&quot; height=&quot;559&quot; data-origin-width=&quot;654&quot; data-origin-height=&quot;559&quot;/&gt;&lt;/span&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;2. &lt;span style=&quot;background-color: #ffffff; color: #171717;&quot;&gt;애플리케이션을 할당할 특정 구독을 선택합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;562&quot; data-origin-height=&quot;350&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bZl6SB/btrXEB2CgVj/HKx3UkOhhKBbakKfIyYSK0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bZl6SB/btrXEB2CgVj/HKx3UkOhhKBbakKfIyYSK0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bZl6SB/btrXEB2CgVj/HKx3UkOhhKBbakKfIyYSK0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbZl6SB%2FbtrXEB2CgVj%2FHKx3UkOhhKBbakKfIyYSK0%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;562&quot; height=&quot;350&quot; data-origin-width=&quot;562&quot; data-origin-height=&quot;350&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;※ 찾고&amp;nbsp;있는&amp;nbsp;구독이&amp;nbsp;표시되지&amp;nbsp;않으면&amp;nbsp;글로벌&amp;nbsp;구독&amp;nbsp;필터를&amp;nbsp;선택하십시오.&amp;nbsp;포털에&amp;nbsp;대해&amp;nbsp;원하는&amp;nbsp;구독이&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. Access control(IAM)를 선택합니다. &lt;br /&gt;4. Add&amp;nbsp;&amp;gt;&amp;nbsp;Add&amp;nbsp;role&amp;nbsp;assignment를 선택하여 역할 할당 추가 페이지를 엽니다. &lt;br /&gt;5. Role 탭에서 목록의 애플리케이션에 할당할 역할을 선택합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;ex. 애플리케이션이 재부팅, 인스턴스 시작 및 중지와 같은 작업을 실행하도록 허용하려면 기여자 역할을 선택. &lt;a href=&quot;https://learn.microsoft.com/en-us/azure/role-based-access-control/built-in-roles&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;사용 가능한 역할&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;6. Next 또는 Members 탭으로 이동합니다. Assign access to -&amp;gt; User, group, or service principal를 선택한 다음 구성원 선택을 선택합니다. 기본적으로 Azure AD 애플리케이션은 사용 가능한 옵션에 표시되지 않습니다. 애플리케이션을 찾으려면 이름(예: &quot;example-app&quot;)으로 검색하고 반환된 목록에서 선택합니다. 선택 버튼을 클릭합니다. 그런 다음 검토 + 할당 버튼을 클릭합니다.&lt;/p&gt;
&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;940&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/69fI9/btrXByMZjDm/jgd61sIMBPlUEQrx1HLMkK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/69fI9/btrXByMZjDm/jgd61sIMBPlUEQrx1HLMkK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/69fI9/btrXByMZjDm/jgd61sIMBPlUEQrx1HLMkK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F69fI9%2FbtrXByMZjDm%2Fjgd61sIMBPlUEQrx1HLMkK%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;1280&quot; height=&quot;940&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;940&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;서비스&amp;nbsp;주체가&amp;nbsp;설정되었습니다.&amp;nbsp;이를&amp;nbsp;사용하여&amp;nbsp;스크립트&amp;nbsp;또는&amp;nbsp;앱을&amp;nbsp;실행할&amp;nbsp;수&amp;nbsp;있습니다.&amp;nbsp;서비스&amp;nbsp;주체(권한,&amp;nbsp;사용자&amp;nbsp;동의&amp;nbsp;권한,&amp;nbsp;동의한&amp;nbsp;사용자&amp;nbsp;확인,&amp;nbsp;권한&amp;nbsp;검토,&amp;nbsp;로그인&amp;nbsp;정보&amp;nbsp;확인&amp;nbsp;등)를&amp;nbsp;관리하려면&amp;nbsp;엔터프라이즈&amp;nbsp;애플리케이션으로&amp;nbsp;이동합니다. &lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;br /&gt;&lt;b&gt;로그인을&amp;nbsp;위한&amp;nbsp;테넌트&amp;nbsp;및&amp;nbsp;앱&amp;nbsp;ID&amp;nbsp;값&amp;nbsp;가져오기&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;프로그래밍 방식으로 로그인할 때 인증 요청 및 애플리케이션 ID와 함께 테넌트 ID를 전달합니다. 또한 인증서 또는 인증 키가 필요합니다(다음 섹션에서 설명). 해당 값을 얻으려면 다음 단계를 사용하십시오.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;1. Azure Active Directory를 선택합니다. &lt;br /&gt;2&lt;span&gt;.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;Azure AD의&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;App&amp;nbsp;registrations에서 애플리케이션을 선택합니다. &lt;br /&gt;3&lt;span&gt;.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;디렉터리(테넌트) ID를 복사하여 애플리케이션 코드에 저장합니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;818&quot; data-origin-height=&quot;262&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/csWWQP/btrXFvH05FL/A0dbfKwVE7xPBue9XpS8z0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/csWWQP/btrXFvH05FL/A0dbfKwVE7xPBue9XpS8z0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/csWWQP/btrXFvH05FL/A0dbfKwVE7xPBue9XpS8z0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcsWWQP%2FbtrXFvH05FL%2FA0dbfKwVE7xPBue9XpS8z0%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;818&quot; height=&quot;262&quot; data-origin-width=&quot;818&quot; data-origin-height=&quot;262&quot;/&gt;&lt;/span&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;4. 애플리케이션 ID를 복사하여 애플리케이션 코드에 저장합니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;818&quot; data-origin-height=&quot;264&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bIdKzN/btrXGTaMHeL/cF3oiDHsVzmkej6ZoCugQ0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bIdKzN/btrXGTaMHeL/cF3oiDHsVzmkej6ZoCugQ0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bIdKzN/btrXGTaMHeL/cF3oiDHsVzmkej6ZoCugQ0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbIdKzN%2FbtrXGTaMHeL%2FcF3oiDHsVzmkej6ZoCugQ0%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;818&quot; height=&quot;264&quot; data-origin-width=&quot;818&quot; data-origin-height=&quot;264&quot;/&gt;&lt;/span&gt;&lt;/figure&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;&lt;b&gt;인증&lt;/b&gt;&lt;/h3&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;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;옵션 1: 새 애플리케이션 암호 만들기&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;br /&gt;1. Azure Active Directory를 선택합니다. &lt;br /&gt;2. Azure AD의 App&amp;nbsp;registrations에서 애플리케이션을 선택합니다. &lt;br /&gt;3. Certificates &amp;amp; secrets을 선택합니다. &lt;br /&gt;4. Client secrets -&amp;gt; New client secret을 선택합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;5. 완료되면 Add를 선택합니다.&lt;br /&gt;&amp;nbsp; 클라이언트 암호를 저장하면 클라이언트 암호 값이 표시됩니다. 나중에 value는 숨김 처리되니 이 값을 반드시 기록해 둡니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;818&quot; data-origin-height=&quot;170&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dRzYkf/btrXCjaIR57/frTErkL57KUHK7zOg3Cyvk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dRzYkf/btrXCjaIR57/frTErkL57KUHK7zOg3Cyvk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dRzYkf/btrXCjaIR57/frTErkL57KUHK7zOg3Cyvk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdRzYkf%2FbtrXCjaIR57%2FfrTErkL57KUHK7zOg3Cyvk%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;818&quot; height=&quot;170&quot; data-origin-width=&quot;818&quot; data-origin-height=&quot;170&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;옵션 2: 인증서 업로드&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;기존&amp;nbsp;인증서가&amp;nbsp;있는&amp;nbsp;경우&amp;nbsp;사용할&amp;nbsp;수&amp;nbsp;있습니다.&amp;nbsp;선택적으로&amp;nbsp;테스트&amp;nbsp;목적으로만&amp;nbsp;자체&amp;nbsp;서명된&amp;nbsp;인증서를&amp;nbsp;만들&amp;nbsp;수&amp;nbsp;있습니다.&amp;nbsp;자체&amp;nbsp;서명된&amp;nbsp;인증서를&amp;nbsp;만들려면&amp;nbsp;PowerShell을&amp;nbsp;열고&amp;nbsp;다음&amp;nbsp;매개&amp;nbsp;변수와&amp;nbsp;함께&amp;nbsp;New-SelfSignedCertificate를&amp;nbsp;실행하여&amp;nbsp;컴퓨터의&amp;nbsp;사용자&amp;nbsp;인증서&amp;nbsp;저장소에&amp;nbsp;인증서를&amp;nbsp;만듭니다. &lt;br /&gt;&lt;br /&gt;- Azure PowerShell&lt;/p&gt;
&lt;pre id=&quot;code_1675131651847&quot; class=&quot;shell&quot; data-ke-language=&quot;shell&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$cert=New-SelfSignedCertificate -Subject &quot;CN=DaemonConsoleCert&quot; -CertStoreLocation &quot;Cert:\CurrentUser\My&quot;  -KeyExportPolicy Exportable -KeySpec Signature&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Windows 제어판에서 액세스 할 수 있는 사용자 인증서 관리 MMC 스냅인을 사용하여 이 인증서를 파일로 내보냅니다. &lt;br /&gt;&lt;br /&gt;1. 시작 메뉴에서 실행을 선택한 다음 certmgr.msc를 입력합니다. &lt;br /&gt;&amp;nbsp; 현재 사용자의 인증서 관리자 도구가 나타납니다. &lt;br /&gt;2. 인증서를 보려면 인증서 - 왼쪽 창의 Certificates - Current User에서 Personal&amp;nbsp;directory를 확장합니다. &lt;br /&gt;3. 생성한 인증서를 마우스 오른쪽 버튼으로 클릭하고 All&amp;nbsp;tasks-&amp;gt;Export를 선택합니다. &lt;br /&gt;4. 인증서 내보내기 마법사를 따릅니다. 개인 키를 내보내지 말고 .CER 파일로 내보내십시오. &lt;br /&gt;&lt;b&gt;인증서를 업로드하려면:&lt;/b&gt; &lt;br /&gt;&amp;nbsp; 4.1. Azure Active Directory를 선택합니다. &lt;br /&gt;&amp;nbsp; 4.2. Azure AD의 App registrations에서 애플리케이션을 선택합니다. &lt;br /&gt;&lt;span&gt;&amp;nbsp; 4.3.&lt;span&gt; Certificates &amp;amp; secrets&lt;/span&gt;&lt;/span&gt;을&amp;nbsp;선택합니다. &lt;br /&gt;&amp;nbsp; 4.4. Certificates&amp;nbsp;&amp;gt;&amp;nbsp;Upload&amp;nbsp;certificate를 선택하고 인증서(기존 인증서 또는 내보낸 자체 서명된 인증서)를 선택합니다. &lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;562&quot; data-origin-height=&quot;196&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/prKWS/btrXDBozLCC/CiMHtZlN1tbkxSKkxyIyL1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/prKWS/btrXDBozLCC/CiMHtZlN1tbkxSKkxyIyL1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/prKWS/btrXDBozLCC/CiMHtZlN1tbkxSKkxyIyL1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FprKWS%2FbtrXDBozLCC%2FCiMHtZlN1tbkxSKkxyIyL1%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;562&quot; height=&quot;196&quot; data-origin-width=&quot;562&quot; data-origin-height=&quot;196&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; 4.5. Add를 선택합니다. &lt;br /&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;&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;ref.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://learn.microsoft.com/en-us/azure/active-directory/develop/howto-create-service-principal-portal#permissions-required-for-registering-an-app&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://learn.microsoft.com/en-us/azure/active-directory/develop/howto-create-service-principal-portal#permissions-required-for-registering-an-app&lt;/a&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://learn.microsoft.com/ko-kr/azure/role-based-access-control/overview&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://learn.microsoft.com/ko-kr/azure/role-based-access-control/overview&lt;/a&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;</description>
      <category>Cloud/MS Azure</category>
      <category>ABAC</category>
      <category>application</category>
      <category>assignmnent</category>
      <category>Azure AD</category>
      <category>Azure Portal</category>
      <category>RBAC</category>
      <category>Role</category>
      <category>service principal</category>
      <category>권한</category>
      <category>생성</category>
      <author>Anchovy ʕ-᷅ᴥ-᷄ʔ</author>
      <guid isPermaLink="true">https://string.tistory.com/150</guid>
      <comments>https://string.tistory.com/150#entry150comment</comments>
      <pubDate>Tue, 31 Jan 2023 14:23:08 +0900</pubDate>
    </item>
    <item>
      <title>[Clean Code] 클린 코드 'Chapter 5. 형식 맞추기' 핵심 내용 및 정리</title>
      <link>https://string.tistory.com/149</link>
      <description>&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;color: #9d9d9d;&quot;&gt;Chapter 1. 깨끗한 코드&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #9d9d9d;&quot;&gt;Chapter 2. 의미 있는 이름&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #9d9d9d;&quot;&gt;Chapter&amp;nbsp;3.&amp;nbsp;함수&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #9d9d9d;&quot;&gt;Chapter 4. 주석&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 style=&quot;color: #333333;&quot;&gt;&lt;b&gt;Chapter 5. 형식 맞추기&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;(p95 ~ 116)&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 style=&quot;color: #9d9d9d;&quot;&gt;Chapter 6. 객체와&amp;nbsp;자료&amp;nbsp;구조&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #9d9d9d;&quot;&gt;Chapter 7. 오류&amp;nbsp;처리&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #9d9d9d;&quot;&gt;Chapter 8. 경계&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #9d9d9d;&quot;&gt;Chapter 9. 단위&amp;nbsp;테스트&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #9d9d9d;&quot;&gt;Chapter 10. 클래스&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #9d9d9d;&quot;&gt;Chapter 11. 시스템&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #9d9d9d;&quot;&gt;Chapter 12. 창발성&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #9d9d9d;&quot;&gt;Chapter&amp;nbsp;13. 동시성&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #9d9d9d;&quot;&gt;Chapter&amp;nbsp;14. 점진적인 개선&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #9d9d9d;&quot;&gt;Chapter&amp;nbsp;15. JUnit&amp;nbsp;들여다보기&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #9d9d9d;&quot;&gt;Chapter&amp;nbsp;16. SerialDate&amp;nbsp;리팩터링&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #9d9d9d;&quot;&gt;Chapter&amp;nbsp;17. 냄새와 휴리스틱&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&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;b&gt;코드의 가독성에 필수적인 포맷팅&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;01&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;포맷팅이 중요한 이유 &lt;br /&gt;02&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;클린코드 포맷팅 &lt;br /&gt;03&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;Java Class Declarations &lt;br /&gt;04 Team Coding Convention&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;01 포맷팅이 중요한 이유&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;가독성에 필수적&lt;/b&gt;&lt;br /&gt;&lt;span&gt;&amp;bull;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;코드를 수월하게 읽어나갈 수 있다. &lt;br /&gt;&lt;span&gt;&amp;bull;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;아마추어처럼 보이지 않는다. &lt;br /&gt;&lt;span&gt;&amp;bull;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;포맷팅으로 인해 코드를 잘못 해석해 버그를 발생할 위험을 줄인다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;02 클린코드 포맷팅&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;- 적절한 길이 유지&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;반드시는 아니지만 일반적으로 200라인 이하로 작성.&lt;br /&gt;&amp;bull; 큰 파일보다는 작은 파일이 이해하기 쉽다. &lt;br /&gt;&amp;bull; 코드길이가 200라인을 넘어간다면, 클래스가 여러 개의 일을 하고 있을 수 있다. SRP 위배됨.&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;b&gt;- 밀접한 개념은 가까이&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;밀접한 개념은 서로 가까이 둔다. &lt;br /&gt;&amp;bull;&amp;nbsp;행묶음은 완결된 생각 하나를 표현하기 때문에 개념은 빈행으로 분리한다. &lt;br /&gt;&amp;bull;&amp;nbsp;변수는 사용되는 위치에서 최대한 가까이 선언한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;03 Java Class Declarations&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Class 내부코드 순서&lt;/b&gt;&lt;br /&gt;1. static 변수 &lt;br /&gt;public &amp;rarr; protected&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&amp;rarr;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;package&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&amp;rarr;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;private&lt;br /&gt;2. instance 변수&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;public&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&amp;rarr; protected&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&amp;rarr;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;package&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&amp;rarr;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;private &lt;br /&gt;3. 생성자 &lt;br /&gt;4. 메서드 &lt;br /&gt;public 메서드에서 호출되는 private 메서드(종속 함수)는 그 아래에 위치 : 가독성위주의 그룹핑&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-origin-width=&quot;987&quot; data-origin-height=&quot;589&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/WmMQs/btrUJjZvWrE/CJxTzQ0Mpu9VMDMedkJKlK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/WmMQs/btrUJjZvWrE/CJxTzQ0Mpu9VMDMedkJKlK/img.png&quot; data-alt=&quot;https://www.oracle.com/java/technologies/javase/codeconventions-fileorganization.html#1852&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/WmMQs/btrUJjZvWrE/CJxTzQ0Mpu9VMDMedkJKlK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FWmMQs%2FbtrUJjZvWrE%2FCJxTzQ0Mpu9VMDMedkJKlK%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;987&quot; height=&quot;589&quot; data-origin-width=&quot;987&quot; data-origin-height=&quot;589&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;https://www.oracle.com/java/technologies/javase/codeconventions-fileorganization.html#1852&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1672045902936&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;/*
 * @(#)Blah.java        1.82 99/03/18
 *
 * Copyright (c) 1994-1999 Sun Microsystems, Inc.
 * 901 San Antonio Road, Palo Alto, California, 94303, U.S.A.
 * All rights reserved.
 *
 * This software is the confidential and proprietary information of Sun
 * Microsystems, Inc. (&quot;Confidential Information&quot;).  You shall not
 * disclose such Confidential Information and shall use it only in
 * accordance with the terms of the license agreement you entered into
 * with Sun.
 */

package java.blah;

import java.blah.blahdy.BlahBlah;

/**
 * Class description goes here.
 *
 * @version 1.82 18 Mar 1999
 * @author Firstname Lastname
 */
public class Blah extends SomeClass {
    /** classVar1 documentation comment */
    public static int classVar1;

    /** 
     * classVar2 documentation comment that happens to be
     * more than one line long
     */
    private static Object classVar2;

    /** instanceVar1 documentation comment */
    public Object instanceVar1;

    /** instanceVar2 documentation comment */
    protected int instanceVar2;

    /** instanceVar3 documentation comment */
    private Object[] instanceVar3;

    public Blah() {
        // ...implementation goes here...
    }

    public void doSomething() {
        // ...implementation goes here...
    }

    public void doSomethingElse(Object someParam) {
        // ...implementation goes here...
    }
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;03 Team Coding Convention&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;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;ex.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;MySQL Convention&lt;/b&gt; &lt;br /&gt;컬럼명은 snake_case로 네이밍 한다.&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;b&gt;Team Convention&lt;/b&gt; &lt;br /&gt;enum 타입으로 사용하는 varchar 타입의 경우 컬럼명은 _type로 끝나도록 네이밍 한다.&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;Google Java Style Guide &lt;a href=&quot;https://google.github.io/styleguide/javaguide.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://google.github.io/styleguide/javaguide.html&lt;/a&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Naver Hackday Java Convention&amp;nbsp;&lt;a href=&quot;https://naver.github.io/hackday-conventions-java/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://naver.github.io/hackday-conventions-java/&lt;/a&gt;&lt;/p&gt;</description>
      <category>교육/Clean Code</category>
      <category>clean</category>
      <category>code</category>
      <category>Zero base</category>
      <category>맞추기</category>
      <category>정리</category>
      <category>제로 베이스</category>
      <category>클린 코드</category>
      <category>핵심 요약</category>
      <category>형식</category>
      <author>Anchovy ʕ-᷅ᴥ-᷄ʔ</author>
      <guid isPermaLink="true">https://string.tistory.com/149</guid>
      <comments>https://string.tistory.com/149#entry149comment</comments>
      <pubDate>Wed, 28 Dec 2022 10:05:19 +0900</pubDate>
    </item>
    <item>
      <title>[Clean Code] 클린 코드 'Chapter 4. 주석' 핵심 내용 및 정리</title>
      <link>https://string.tistory.com/148</link>
      <description>&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;color: #9d9d9d;&quot;&gt;Chapter 1. 깨끗한 코드&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #9d9d9d;&quot;&gt;Chapter 2. 의미 있는 이름&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #9d9d9d;&quot;&gt;Chapter&amp;nbsp;3.&amp;nbsp;함수&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 style=&quot;color: #000000;&quot;&gt;&lt;b&gt;Chapter 4. 주석&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;(p67 ~ 94)&lt;/span&gt;&lt;span style=&quot;color: #555555;&quot;&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 style=&quot;color: #9d9d9d;&quot;&gt;Chapter 5. 형식 맞추기&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #9d9d9d;&quot;&gt;Chapter 6. 객체와&amp;nbsp;자료&amp;nbsp;구조&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #9d9d9d;&quot;&gt;Chapter 7. 오류&amp;nbsp;처리&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #9d9d9d;&quot;&gt;Chapter 8. 경계&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #9d9d9d;&quot;&gt;Chapter 9. 단위&amp;nbsp;테스트&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #9d9d9d;&quot;&gt;Chapter 10. 클래스&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #9d9d9d;&quot;&gt;Chapter 11. 시스템&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #9d9d9d;&quot;&gt;Chapter 12. 창발성&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #9d9d9d;&quot;&gt;Chapter&amp;nbsp;13. 동시성&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #9d9d9d;&quot;&gt;Chapter&amp;nbsp;14. 점진적인 개선&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #9d9d9d;&quot;&gt;Chapter&amp;nbsp;15. JUnit&amp;nbsp;들여다보기&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #9d9d9d;&quot;&gt;Chapter&amp;nbsp;16. SerialDate&amp;nbsp;리팩터링&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #9d9d9d;&quot;&gt;Chapter&amp;nbsp;17. 냄새와 휴리스틱&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&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;b&gt;코드를 보조하는 주석&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;01 주석을 최대한 쓰지 말자&lt;br /&gt;&lt;span&gt;02&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;좋은 주석&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span&gt;03&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;주석보다 annotation&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span&gt;04&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;JavaDoc&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;01&amp;nbsp;주석을 최대한 쓰지 말자&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;- 주석은 나쁜 코드를 보완하지 못한다.&lt;/b&gt;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;코드에 주석을 추가하는 일반적인 이유는 코드품질이 나쁘기 때문이다.&lt;br /&gt;자신이 저지른 난장판을 주석으로 설명하지 말고 개선하는데 시간을 보내야 한다.&lt;br /&gt;코드로도 의도를 표현할 수 있다&lt;/blockquote&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;span&gt;&lt;b&gt;- 주석은 방치된다.&lt;/b&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;코드의 변화에 따라가지 못하고, 주석은 방치된다.&lt;br /&gt;코드는 컴파일되어 호출되지만, 주석은 그저 주석이기 때문에 그 자리에 방치되고 결국의미 없는 텍스트가 되어버린다.&lt;/blockquote&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;738&quot; data-origin-height=&quot;160&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/CXupR/btrUmCDyV9g/wIIBR5kHKVPmwUdOUxJdy0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/CXupR/btrUmCDyV9g/wIIBR5kHKVPmwUdOUxJdy0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/CXupR/btrUmCDyV9g/wIIBR5kHKVPmwUdOUxJdy0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FCXupR%2FbtrUmCDyV9g%2FwIIBR5kHKVPmwUdOUxJdy0%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;738&quot; height=&quot;160&quot; data-origin-width=&quot;738&quot; data-origin-height=&quot;160&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;02 좋은 주석&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;- 구현에 대한 정보를 제공&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;895&quot; data-origin-height=&quot;150&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bbPxN3/btrUk4uj8mH/eRrxopagCITVCQtIRquP3k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bbPxN3/btrUk4uj8mH/eRrxopagCITVCQtIRquP3k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bbPxN3/btrUk4uj8mH/eRrxopagCITVCQtIRquP3k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbbPxN3%2FbtrUk4uj8mH%2FeRrxopagCITVCQtIRquP3k%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;895&quot; height=&quot;150&quot; data-origin-width=&quot;895&quot; data-origin-height=&quot;150&quot;/&gt;&lt;/span&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;&lt;b&gt;- 의도와 중요성을 설명&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;820&quot; data-origin-height=&quot;208&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/yuyo9/btrUlCdvzLd/FXK2nNahBQjpsLDS7gEmR0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/yuyo9/btrUlCdvzLd/FXK2nNahBQjpsLDS7gEmR0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/yuyo9/btrUlCdvzLd/FXK2nNahBQjpsLDS7gEmR0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fyuyo9%2FbtrUlCdvzLd%2FFXK2nNahBQjpsLDS7gEmR0%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;820&quot; height=&quot;208&quot; data-origin-width=&quot;820&quot; data-origin-height=&quot;208&quot;/&gt;&lt;/span&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;&lt;b&gt;- TODO, FIXME 주석 (Task tag)&lt;/b&gt;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;&amp;bull; TODO : 좀 더 최적화시키고 리팩터링 시킬 수 있을만한 구석이 있을 때.&lt;br /&gt;&amp;bull; FIXME : 문제가 있는 것이 확실하지만, 그걸&amp;nbsp;지금&amp;nbsp;당장&amp;nbsp;그것을&amp;nbsp;수정할&amp;nbsp;필요는&amp;nbsp;없을&amp;nbsp;때.&lt;br /&gt;IDE에서 하이라이팅 되고, 별도의 창에서 관리할 수 있다.&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://string.tistory.com/104&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://string.tistory.com/104&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1672028022946&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[Eclipse] Task tag란? Task tag의 종류&quot; data-og-description=&quot;안녕하세요. &amp;zwj;  코드를 작성하다 보면 시간에 쫓기거나 우선순위 때문에 미뤄지는 일들이 생기는데, 기억해야지 하고 그냥 주석으로 적어두면 다시 보지 않는 경우가 부지기수인 경우가 &quot; data-og-host=&quot;string.tistory.com&quot; data-og-source-url=&quot;https://string.tistory.com/104&quot; data-og-url=&quot;https://string.tistory.com/104&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/bikDAU/hyQ1o9Ycge/luHDVTsENK0te7fbyyTFPK/img.png?width=172&amp;amp;height=157&amp;amp;face=0_0_172_157,https://scrap.kakaocdn.net/dn/doG9vx/hyQ1oB9EoX/MKVfPYO379Mg1LCH5RfH6k/img.png?width=172&amp;amp;height=157&amp;amp;face=0_0_172_157,https://scrap.kakaocdn.net/dn/bgD55t/hyQ1ioowry/kIYnMevvR2lXE6gh5FOqik/img.png?width=1279&amp;amp;height=1003&amp;amp;face=0_0_1279_1003&quot;&gt;&lt;a href=&quot;https://string.tistory.com/104&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://string.tistory.com/104&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/bikDAU/hyQ1o9Ycge/luHDVTsENK0te7fbyyTFPK/img.png?width=172&amp;amp;height=157&amp;amp;face=0_0_172_157,https://scrap.kakaocdn.net/dn/doG9vx/hyQ1oB9EoX/MKVfPYO379Mg1LCH5RfH6k/img.png?width=172&amp;amp;height=157&amp;amp;face=0_0_172_157,https://scrap.kakaocdn.net/dn/bgD55t/hyQ1ioowry/kIYnMevvR2lXE6gh5FOqik/img.png?width=1279&amp;amp;height=1003&amp;amp;face=0_0_1279_1003');&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;[Eclipse] Task tag란? Task tag의 종류&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;안녕하세요. &amp;zwj;  코드를 작성하다 보면 시간에 쫓기거나 우선순위 때문에 미뤄지는 일들이 생기는데, 기억해야지 하고 그냥 주석으로 적어두면 다시 보지 않는 경우가 부지기수인 경우가&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;string.tistory.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;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;03 주석보다 annotation&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;annotation = 코드에 대한 메타데이터&lt;br /&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;b&gt;&lt;span&gt;- 자주 사용되는&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;annotation&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;java.lang.annotation&lt;br /&gt;&lt;b&gt;@Deprecated&lt;/b&gt;: 컴파일러가 warning을발생시킴. 사용시 IDE에서 표시됨&lt;br /&gt;&lt;b&gt;@NotThreadSafe&lt;/b&gt;: ThreadSafe 하지 않음을 나타냄 (주석보다 어노테이션으로 많이 사용)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;04 JavaDoc&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Java코드에서 API문서를 HTML형식으로 생성해주는 도구&lt;/p&gt;
&lt;pre id=&quot;code_1672027145025&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;// This is a single line comment

/*
 * This is a regular multi-line comment
 */
 
 /**
  * This is a Javadoc
  */&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;b&gt;- Class level&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1672027527169&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;/**
* Hero is the main entity we'll be using to . . .
* 
* Please see the {@link com.baeldung.javadoc.Person} class for true identity
* @author Captain America
* 
*/
public class SuperHero extends Person {
    // fields and methods
}&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;b&gt;- Field level&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1672027629666&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;/**
 * The public name of a hero that is common knowledge
 */
private String heroName;&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;b&gt;- Method level&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1672027686121&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;/**
 * &amp;lt;p&amp;gt;This is a simple description of the method. . .
 * &amp;lt;a href=&quot;http://www.supermanisthegreatest.com&quot;&amp;gt;Superman!&amp;lt;/a&amp;gt;
 * &amp;lt;/p&amp;gt;
 * @param incomingDamage the amount of incoming damage
 * @return the amount of health hero has after attack
 * @see &amp;lt;a href=&quot;http://www.link_to_jira/HERO-402&quot;&amp;gt;HERO-402&amp;lt;/a&amp;gt;
 * @since 1.0
 */
public int successfullyAttacked(int incomingDamage) {
    // do things
    return 0;
}&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;b&gt;- Javadoc 문서&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1027&quot; data-origin-height=&quot;842&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cbyIuS/btrUyCEjjjY/LB6SYObpE5N1m7lO9eAvZ0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cbyIuS/btrUyCEjjjY/LB6SYObpE5N1m7lO9eAvZ0/img.png&quot; data-alt=&quot;https://www.baeldung.com/javadoc&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cbyIuS/btrUyCEjjjY/LB6SYObpE5N1m7lO9eAvZ0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcbyIuS%2FbtrUyCEjjjY%2FLB6SYObpE5N1m7lO9eAvZ0%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;1027&quot; height=&quot;842&quot; data-origin-width=&quot;1027&quot; data-origin-height=&quot;842&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;https://www.baeldung.com/javadoc&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;&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;ref.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://www.baeldung.com/javadoc&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://www.baeldung.com/javadoc&lt;/a&gt;&lt;/p&gt;</description>
      <category>교육/Clean Code</category>
      <category>clean</category>
      <category>code</category>
      <category>task tag</category>
      <category>Zero base</category>
      <category>정리</category>
      <category>제로 베이스</category>
      <category>주석</category>
      <category>클린 코드</category>
      <category>핵심 요약</category>
      <author>Anchovy ʕ-᷅ᴥ-᷄ʔ</author>
      <guid isPermaLink="true">https://string.tistory.com/148</guid>
      <comments>https://string.tistory.com/148#entry148comment</comments>
      <pubDate>Mon, 26 Dec 2022 13:16:15 +0900</pubDate>
    </item>
    <item>
      <title>[Clean Code] 클린 코드 'Chapter 3. 함수' 핵심 내용 및 정리</title>
      <link>https://string.tistory.com/147</link>
      <description>&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;color: #9d9d9d;&quot;&gt;Chapter 1. 깨끗한 코드&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #9d9d9d;&quot;&gt;Chapter 2. 의미 있는 이름&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;b&gt;Chapter&amp;nbsp;3.&amp;nbsp;함수&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;(p39 ~ 66)&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 style=&quot;color: #9d9d9d;&quot;&gt;Chapter 4. 주석&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #9d9d9d;&quot;&gt;Chapter 5. 형식 맞추기&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #9d9d9d;&quot;&gt;Chapter 6. 객체와&amp;nbsp;자료&amp;nbsp;구조&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #9d9d9d;&quot;&gt;Chapter 7. 오류&amp;nbsp;처리&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #9d9d9d;&quot;&gt;Chapter 8. 경계&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #9d9d9d;&quot;&gt;Chapter 9. 단위&amp;nbsp;테스트&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #9d9d9d;&quot;&gt;Chapter 10. 클래스&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #9d9d9d;&quot;&gt;Chapter 11. 시스템&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #9d9d9d;&quot;&gt;Chapter 12. 창발성&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #9d9d9d;&quot;&gt;Chapter&amp;nbsp;13. 동시성&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #9d9d9d;&quot;&gt;Chapter&amp;nbsp;14. 점진적인 개선&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #9d9d9d;&quot;&gt;Chapter&amp;nbsp;15. JUnit&amp;nbsp;들여다보기&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #9d9d9d;&quot;&gt;Chapter&amp;nbsp;16. SerialDate&amp;nbsp;리팩터링&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #9d9d9d;&quot;&gt;Chapter&amp;nbsp;17. 냄새와 휴리스틱&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;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;b&gt;함수를 안전하고 간결하게 작성하기&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;01 SOLID &lt;br /&gt;&lt;span&gt;02&lt;span&gt; 간결한 함수 작성하기&lt;/span&gt;&lt;/span&gt; &lt;br /&gt;&lt;span&gt;03&lt;span&gt; 안전한 함수 작성하기&lt;/span&gt;&lt;/span&gt; &lt;br /&gt;&lt;span&gt;04&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&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;700&quot; data-origin-height=&quot;278&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/xrXdl/btrT0RWPZob/bQJPcA0GkJJiyvbJKzdYT1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/xrXdl/btrT0RWPZob/bQJPcA0GkJJiyvbJKzdYT1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/xrXdl/btrT0RWPZob/bQJPcA0GkJJiyvbJKzdYT1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FxrXdl%2FbtrT0RWPZob%2FbQJPcA0GkJJiyvbJKzdYT1%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;278&quot; data-origin-width=&quot;700&quot; data-origin-height=&quot;278&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;01&amp;nbsp;SOLID&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;SOLID&amp;nbsp;원칙&lt;/b&gt;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;&amp;bull; SRP 단일 책임 원칙 &lt;br /&gt;&amp;bull; OCP 개방-폐쇄 원칙 &lt;br /&gt;&amp;bull; LSP 리스코프 치환 원칙 &lt;br /&gt;&amp;bull; ISP 인터페이스 분리 원칙 &lt;br /&gt;&amp;bull; DIP 의존성 역전 원칙&lt;/blockquote&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;b&gt;SRP (단일 책임 원칙)&lt;/b&gt; &lt;br /&gt;한 클래스는 하나의 책임만 가져야 한다.&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;&amp;bull; 클래스는 하나의 기능만 가지며, 어떤 변화에 의해 클래스를 변경해야 하는 이유는 오직 하나만&lt;br /&gt;&amp;bull; SRP 책임이 분명해지기 때문에, 변경에 의한 연쇄작용에서 자유로움&lt;br /&gt;&amp;bull; 가독성 향상과 유지보수 가용이&lt;/blockquote&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;b&gt;OCP (개방-폐쇄 원칙)&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;소프트웨어 요소는 확장에는 열려있으나 변경에는 닫혀있어야 한다.&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;&amp;bull; 변경을 위한 비용은 가능한 줄이고, 확장을 위한 비용은 가능한 극대화 해야 한다. &lt;br /&gt;&amp;bull; 요구사항의 변경이 나 추가사항이 발생하더라도, 기존 구성요소에는 수정이 일어나지 않고, 기존 구성요소를 쉽게 확장해서 재사용한다. &lt;br /&gt;&amp;bull; 객체지향의 추상화와 다형성을 활용한다.&lt;/blockquote&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;b&gt;LSP (리스코프 치환 원칙)&lt;/b&gt; &lt;br /&gt;서브타입은 언제나 기반 타입으로 교체할 수 있어야 한다.&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;&amp;bull; 서브타입은 기반 타입이 약속한 규약(접근 제한자, 예외 포함)을 지켜야 한다. &lt;br /&gt;&amp;bull;&amp;nbsp;클래스 상속, 인터페이스 상속을 이용해 확장성을 획득한다. &lt;br /&gt;&amp;bull; 다형성과 확장성을 극대화하기 위해 인터페이스를 사용하는 것이 더 좋다. &lt;br /&gt;&amp;bull;&amp;nbsp;합성(composition)을 이용할 수도 있다.&lt;/blockquote&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;b&gt;ISP&amp;nbsp;(인터페이스&amp;nbsp;분리&amp;nbsp;원칙)&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;자신이&amp;nbsp;사용하지&amp;nbsp;않는&amp;nbsp;인터페이스는&amp;nbsp;구현하지&amp;nbsp;말아야&amp;nbsp;한다.&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;&amp;bull; 가능한 최소한의 인터페이스만 구현한다. &lt;br /&gt;&amp;bull; 만약 어떤 클래스를 이용하는 클라이언트가 여러 개고, 이 클라이언트들이 클래스의 특정 부분만 이용한다면, 여러 인터페이스로 분류하여 클라이언트가 필요한 기능만 전달한다. &lt;br /&gt;&amp;bull;&amp;nbsp;SRP가 클래스의 단일 책임이라면, ISP는 인터페이스의 단일 책임&lt;/blockquote&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;b&gt;DIP (의존성 역전 원칙)&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;상위&amp;nbsp;모델은&amp;nbsp;하위&amp;nbsp;모델에&amp;nbsp;의존하면&amp;nbsp;안&amp;nbsp;된다.&amp;nbsp;둘&amp;nbsp;다&amp;nbsp;추상화에&amp;nbsp;의존해야&amp;nbsp;한다. &lt;br /&gt;추상화는&amp;nbsp;세부사항에&amp;nbsp;의존해서는&amp;nbsp;안&amp;nbsp;된다.&amp;nbsp;세부사항은&amp;nbsp;추상화에&amp;nbsp;따라&amp;nbsp;달라진다.&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;&amp;bull; 하위 모델의 변경이 상위 모듈의 변경을 요구하는 위계관계를 끊는다. &lt;br /&gt;&amp;bull; 실제 사용관계는 그대로이지만, 추상화를 매개로 메시지를 주고받으면서 관계를 느슨하게 만든다.&lt;/blockquote&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-origin-width=&quot;869&quot; data-origin-height=&quot;280&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cLiOry/btrUlRuESgb/iSfgskLZJpJ9OrrzaUS5I0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cLiOry/btrUlRuESgb/iSfgskLZJpJ9OrrzaUS5I0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cLiOry/btrUlRuESgb/iSfgskLZJpJ9OrrzaUS5I0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcLiOry%2FbtrUlRuESgb%2FiSfgskLZJpJ9OrrzaUS5I0%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;869&quot; height=&quot;280&quot; data-origin-width=&quot;869&quot; data-origin-height=&quot;280&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;881&quot; data-origin-height=&quot;197&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cGteH9/btrUmC4Bspe/eMf28bhHviJh64mRnCf5v1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cGteH9/btrUmC4Bspe/eMf28bhHviJh64mRnCf5v1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cGteH9/btrUmC4Bspe/eMf28bhHviJh64mRnCf5v1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcGteH9%2FbtrUmC4Bspe%2FeMf28bhHviJh64mRnCf5v1%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;881&quot; height=&quot;197&quot; data-origin-width=&quot;881&quot; data-origin-height=&quot;197&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;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1401&quot; data-origin-height=&quot;350&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/LGpa4/btrT6vLXdiy/vZ7kYSkiHbCYtrmnzs4TxK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/LGpa4/btrT6vLXdiy/vZ7kYSkiHbCYtrmnzs4TxK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/LGpa4/btrT6vLXdiy/vZ7kYSkiHbCYtrmnzs4TxK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FLGpa4%2FbtrT6vLXdiy%2FvZ7kYSkiHbCYtrmnzs4TxK%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;1401&quot; height=&quot;350&quot; data-origin-width=&quot;1401&quot; data-origin-height=&quot;350&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;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;02&amp;nbsp;간결한 함수 작성하기&lt;/b&gt;&lt;/h4&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1375&quot; data-origin-height=&quot;333&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bkRW6O/btrT4z9RHTy/b4P6HzLkGejoMcBb9lqWY1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bkRW6O/btrT4z9RHTy/b4P6HzLkGejoMcBb9lqWY1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bkRW6O/btrT4z9RHTy/b4P6HzLkGejoMcBb9lqWY1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbkRW6O%2FbtrT4z9RHTy%2Fb4P6HzLkGejoMcBb9lqWY1%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;1375&quot; height=&quot;333&quot; data-origin-width=&quot;1375&quot; data-origin-height=&quot;333&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;함수가 길고, 여러 가지 기능이 섞여있다. // Bad&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-origin-width=&quot;1384&quot; data-origin-height=&quot;158&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Gvwru/btrT6wjZwkQ/9olB1uDoMcUHskXcTKKLjK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Gvwru/btrT6wjZwkQ/9olB1uDoMcUHskXcTKKLjK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Gvwru/btrT6wjZwkQ/9olB1uDoMcUHskXcTKKLjK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FGvwru%2FbtrT6wjZwkQ%2F9olB1uDoMcUHskXcTKKLjK%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;1384&quot; height=&quot;158&quot; data-origin-width=&quot;1384&quot; data-origin-height=&quot;158&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;함수를 작게 쪼개고 함수 내 추상화 수준을 동일하게 맞춘다. // Good&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;b&gt;- 한 가지만 하기 (SRP), 변경에는 닫히게 만들기 (OCP)&lt;/b&gt;&lt;b&gt;&lt;/b&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-origin-width=&quot;820&quot; data-origin-height=&quot;293&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/xiyLv/btrT4FaYeRv/VaUWs8L5M8um4PGL16W2Wk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/xiyLv/btrT4FaYeRv/VaUWs8L5M8um4PGL16W2Wk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/xiyLv/btrT4FaYeRv/VaUWs8L5M8um4PGL16W2Wk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FxiyLv%2FbtrT4FaYeRv%2FVaUWs8L5M8um4PGL16W2Wk%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;820&quot; height=&quot;293&quot; data-origin-width=&quot;820&quot; data-origin-height=&quot;293&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;두 가지 기능이 존재 (계산, Money 생성) // Bad&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-origin-width=&quot;878&quot; data-origin-height=&quot;455&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/tU0HV/btrT3qk8KfH/NFFv1kFmIZwhD1j3C0rxX0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/tU0HV/btrT3qk8KfH/NFFv1kFmIZwhD1j3C0rxX0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/tU0HV/btrT3qk8KfH/NFFv1kFmIZwhD1j3C0rxX0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FtU0HV%2FbtrT3qk8KfH%2FNFFv1kFmIZwhD1j3C0rxX0%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;878&quot; height=&quot;455&quot; data-origin-width=&quot;878&quot; data-origin-height=&quot;455&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;계산과 타입 관리를 분리 // Good&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;타입에 대한 처리는 최대한 Factory에서만 한다.&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;b&gt;- 함수 인수&lt;/b&gt; &lt;br /&gt;인수의 개수는 0~2개가 적당&lt;br /&gt;3개 이상인 경우에는 인자를 줄이는 형태로 변경한다.&lt;/p&gt;
&lt;pre id=&quot;code_1671509934705&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;// 객체를 인자로 넘기기
Circle makeCircle(double x, double y, double radius); // Bad
Circle makeCircle(Point center, double radius); // Good

// 가변 인자를 넘기기 -&amp;gt; 특별한 경우
String.format(String format, Object&amp;hellip; args);&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;03&amp;nbsp;안전한 함수 작성하기&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;부수효과(Side Effect) 없는 함수 &lt;br /&gt;(Side Effect : 값을 반환하는 함수가 외부 상태를 변경)&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;990&quot; data-origin-height=&quot;333&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/MVaxJ/btrT4Gua0U1/7phA02vUKAM49bKPLcx3a0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/MVaxJ/btrT4Gua0U1/7phA02vUKAM49bKPLcx3a0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/MVaxJ/btrT4Gua0U1/7phA02vUKAM49bKPLcx3a0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FMVaxJ%2FbtrT4Gua0U1%2F7phA02vUKAM49bKPLcx3a0%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;990&quot; height=&quot;333&quot; data-origin-width=&quot;990&quot; data-origin-height=&quot;333&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;함수와 관계없는 외부 상태를 변경시킨다. // Bad&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;04 함수 리팩터링&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;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;blockquote data-ke-style=&quot;style2&quot;&gt;1. 기능을 구현하는 서툰 함수를 작성한다.&lt;br /&gt;길고, 복잡하고, 중복이 존재한다.&lt;br /&gt;&lt;br /&gt;2. 테스트 코드를 작성한다.&lt;br /&gt;함수 내부의 분기와 엣지 값마다 테스트하는 코드를 작성한다.&lt;br /&gt;&lt;br /&gt;3. 리팩터링 한다.&lt;br /&gt;코드를 다듬고, 함수를 쪼개고, 이름을 바꾸고, 중복을 제거한다.&lt;/blockquote&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;&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;ref.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;SOLID design principles &lt;a href=&quot;https://medium.com/bgl-tech/what-are-the-solid-design-principles-c61feff33685&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://medium.com/bgl-tech/what-are-the-solid-design-principles-c61feff33685&lt;/a&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;</description>
      <category>교육/Clean Code</category>
      <category>clean</category>
      <category>code</category>
      <category>Zero base</category>
      <category>정리</category>
      <category>제로 베이스</category>
      <category>클린 코드</category>
      <category>함수</category>
      <category>핵심 요약</category>
      <author>Anchovy ʕ-᷅ᴥ-᷄ʔ</author>
      <guid isPermaLink="true">https://string.tistory.com/147</guid>
      <comments>https://string.tistory.com/147#entry147comment</comments>
      <pubDate>Thu, 22 Dec 2022 16:06:26 +0900</pubDate>
    </item>
  </channel>
</rss>