<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>hello jiniworld</title>
    <link>https://jini-box.tistory.com/</link>
    <description>지니의 개발 블로그
웹개발에 필요한 기술과 관련된 글을 올립니다.</description>
    <language>ko</language>
    <pubDate>Thu, 18 Jun 2026 21:46:36 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>jiniya22</managingEditor>
    <image>
      <title>hello jiniworld</title>
      <url>https://tistory1.daumcdn.net/tistory/2962149/attach/8ddfaf0787434c438e8b3657b1cd978b</url>
      <link>https://jini-box.tistory.com</link>
    </image>
    <item>
      <title>[MySQL] Window Function를 활용한 별도 계산 출력</title>
      <link>https://jini-box.tistory.com/254</link>
      <description>&lt;div id=&quot;html-export&quot;&gt;
    
    
      &lt;div class=&quot;crossnote markdown-preview  &quot;&gt;
      
&lt;h2 id=&quot;1-window-function&quot;&gt;1. Window Function? &lt;/h2&gt;
&lt;p&gt;쿼리의 각 행에 대해 &lt;code&gt;해당 행&lt;/code&gt;과 &lt;code&gt;관련된 행&lt;/code&gt;을 사용하여 계산을 수행하는 &lt;mark&gt;비집계 함수&lt;/mark&gt; 함수입니다.&lt;br&gt;
각 행에 대해 누적값, 순위, 평균 등을 계산하는데에 활용하는데 집계함수와 달리 결과를 묶지 않고 계산 결과를 유지합니다.&lt;br&gt;
(행을 그대로 유지하면서 계산한다는 차이점이 있습니다.)&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;일반 집계 함수: group by
&lt;ul&gt;
&lt;li&gt;그룹별로 &lt;strong&gt;하나의 결과만&lt;/strong&gt; 반환&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;window 함수: over()
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;행을 그대로 유지&lt;/strong&gt;하면서 별도의 결과를 반환&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id=&quot;2-예제&quot;&gt;2. 예제 &lt;/h2&gt;
&lt;p&gt;아래와 같은 데이터가 들어있는 user_contract 테이블에서&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;csv&quot; class=&quot;language-csv csv&quot;&gt;&lt;code&gt;&lt;span class=&quot;token value&quot;&gt;user_contract_id&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;token value&quot;&gt;user_id&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;token value&quot;&gt;contract_id&lt;/span&gt;
&lt;span class=&quot;token value&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;token value&quot;&gt;sherry&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;token value&quot;&gt;C00437&lt;/span&gt;
&lt;span class=&quot;token value&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;token value&quot;&gt;jini&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;token value&quot;&gt;C00437&lt;/span&gt;
&lt;span class=&quot;token value&quot;&gt;3&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;token value&quot;&gt;lily&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;token value&quot;&gt;C00542&lt;/span&gt;
&lt;span class=&quot;token value&quot;&gt;4&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;token value&quot;&gt;jane&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;token value&quot;&gt;C01113&lt;/span&gt;
&lt;span class=&quot;token value&quot;&gt;5&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;token value&quot;&gt;jini&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;token value&quot;&gt;C00001&lt;/span&gt;
&lt;span class=&quot;token value&quot;&gt;6&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;token value&quot;&gt;lily&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;token value&quot;&gt;C00100&lt;/span&gt;
&lt;span class=&quot;token value&quot;&gt;7&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;token value&quot;&gt;lily&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;token value&quot;&gt;C00005&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;아래 두 예제를 window함수와 일반 집계함수를 활용하여 출력해봅니다.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;기존 row를 그대로 출력하면서 user_id별로 user_contract_id 가 가장 큰것을 조회하기&lt;/li&gt;
&lt;li&gt;user_id 로 그룹핑하여 user_contract_id가 가장 큰 것을 조회하기&lt;/li&gt;
&lt;/ol&gt;
&lt;br&gt;
&lt;p&gt;&lt;strong&gt;OVER (PARTITION BY ...)&lt;/strong&gt; 는 window function 를 활용하면 기존 row를 유지하면서 user_id별 max(user_contract_id)를 함께 출력할 수 있습니다.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sql&quot; class=&quot;language-sql sql&quot;&gt;&lt;code&gt;&lt;span class=&quot;token keyword keyword-select&quot;&gt;select&lt;/span&gt; user_contract_id&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; user_id&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; contract_id&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; 
    &lt;span class=&quot;token function&quot;&gt;max&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;user_contract_id&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token keyword keyword-over&quot;&gt;over&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token keyword keyword-partition&quot;&gt;partition&lt;/span&gt; &lt;span class=&quot;token keyword keyword-by&quot;&gt;by&lt;/span&gt; user_id&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; max_user_contract_id
&lt;span class=&quot;token keyword keyword-from&quot;&gt;from&lt;/span&gt; user_contract
&lt;span class=&quot;token keyword keyword-where&quot;&gt;where&lt;/span&gt; user_id &lt;span class=&quot;token operator&quot;&gt;in&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;'jini'&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;'sherry'&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;'lily'&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;'jane'&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token keyword keyword-order&quot;&gt;order&lt;/span&gt; &lt;span class=&quot;token keyword keyword-by&quot;&gt;by&lt;/span&gt; user_id&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;
&lt;li&gt;partition by user_id: 결과값을 &lt;code&gt;user_id&lt;/code&gt; 별로 그룹핑하여&lt;/li&gt;
&lt;li&gt;max(user_contract_id) over: 위에서 그룹화된 그룹들 내에서 max(track_contract_id)를 계산합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;br&gt;
&lt;p&gt;조회결과는 아래와 같습니다.&lt;br&gt;
원본의 row를 그대로 유지하면서, 최대값을 계산하여 컬럼에 보여줍니다.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;csv&quot; class=&quot;language-csv csv&quot;&gt;&lt;code&gt;&lt;span class=&quot;token value&quot;&gt;user_contract_id&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;token value&quot;&gt;user_id&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;token value&quot;&gt;contract_id&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;token value&quot;&gt;max_user_contract_id&lt;/span&gt;
&lt;span class=&quot;token value&quot;&gt;4&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;token value&quot;&gt;jane&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;token value&quot;&gt;C01113&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;token value&quot;&gt;4&lt;/span&gt;
&lt;span class=&quot;token value&quot;&gt;5&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;token value&quot;&gt;jini&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;token value&quot;&gt;C00001&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;token value&quot;&gt;5&lt;/span&gt;
&lt;span class=&quot;token value&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;token value&quot;&gt;jini&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;token value&quot;&gt;C00437&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;token value&quot;&gt;5&lt;/span&gt;
&lt;span class=&quot;token value&quot;&gt;7&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;token value&quot;&gt;lily&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;token value&quot;&gt;C00005&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;token value&quot;&gt;7&lt;/span&gt;
&lt;span class=&quot;token value&quot;&gt;6&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;token value&quot;&gt;lily&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;token value&quot;&gt;C00100&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;token value&quot;&gt;7&lt;/span&gt;
&lt;span class=&quot;token value&quot;&gt;3&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;token value&quot;&gt;lily&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;token value&quot;&gt;C00542&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;token value&quot;&gt;7&lt;/span&gt;
&lt;span class=&quot;token value&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;token value&quot;&gt;sherry&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;token value&quot;&gt;C00437&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;token value&quot;&gt;1&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;br&gt;
&lt;p&gt;만일 user_id별로 가장큰 user_contract_id를 조회하고 싶음거라면 group by 한 후, max 함수를 적용하면 됩니다.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sql&quot; class=&quot;language-sql sql&quot;&gt;&lt;code&gt;&lt;span class=&quot;token keyword keyword-select&quot;&gt;select&lt;/span&gt; user_id&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;max&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;user_contract_id&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; max_user_contract_id
&lt;span class=&quot;token keyword keyword-from&quot;&gt;from&lt;/span&gt; user_contract
&lt;span class=&quot;token keyword keyword-where&quot;&gt;where&lt;/span&gt; user_id &lt;span class=&quot;token operator&quot;&gt;in&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;'jini'&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;'sherry'&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;'lily'&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;'jane'&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token keyword keyword-group&quot;&gt;group&lt;/span&gt; &lt;span class=&quot;token keyword keyword-by&quot;&gt;by&lt;/span&gt; user_id&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;csv&quot; class=&quot;language-csv csv&quot;&gt;&lt;code&gt;&lt;span class=&quot;token value&quot;&gt;user_id&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;token value&quot;&gt;max_user_contract_id&lt;/span&gt;
&lt;span class=&quot;token value&quot;&gt;jane&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;token value&quot;&gt;4&lt;/span&gt;
&lt;span class=&quot;token value&quot;&gt;jini&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;token value&quot;&gt;5&lt;/span&gt;
&lt;span class=&quot;token value&quot;&gt;lily&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;token value&quot;&gt;7&lt;/span&gt;
&lt;span class=&quot;token value&quot;&gt;sherry&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;token value&quot;&gt;1&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;&lt;/div&gt;</description>
      <category>DB/MySQL</category>
      <author>jiniya22</author>
      <guid isPermaLink="true">https://jini-box.tistory.com/254</guid>
      <comments>https://jini-box.tistory.com/254#entry254comment</comments>
      <pubDate>Wed, 6 Aug 2025 14:10:59 +0900</pubDate>
    </item>
    <item>
      <title>[Spring Security] @PreAuthorize에서 활용하고 있는 인증 객체 warning 해소</title>
      <link>https://jini-box.tistory.com/253</link>
      <description>&lt;div id=&quot;html-export&quot;&gt;
    
    
      &lt;div class=&quot;crossnote markdown-preview  &quot;&gt;
      
&lt;p&gt;인증과 관련된 객체를 커스텀한 AuthUser 객체가 있고,&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;java&quot; class=&quot;language-java java&quot;&gt;&lt;code&gt;&lt;span class=&quot;token keyword keyword-public&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;token keyword keyword-record&quot;&gt;record&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;AuthUser&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;
    &lt;span class=&quot;token class-name&quot;&gt;Long&lt;/span&gt; userId&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
    &lt;span class=&quot;token class-name&quot;&gt;String&lt;/span&gt; name&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
    &lt;span class=&quot;token class-name&quot;&gt;Long&lt;/span&gt; userGroupId&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
    &lt;span class=&quot;token class-name&quot;&gt;UserType&lt;/span&gt; userType&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
    &lt;span class=&quot;token keyword keyword-implements&quot;&gt;implements&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;Serializable&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  
  &lt;span class=&quot;token class-name&quot;&gt;AuthUser&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;User&lt;/span&gt; user&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;token keyword keyword-this&quot;&gt;this&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;
        user&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;getUserId&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
        user&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;getName&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
        user&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;getRoleGroup&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt; &lt;span class=&quot;token keyword keyword-null&quot;&gt;null&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;?&lt;/span&gt; &lt;span class=&quot;token keyword keyword-null&quot;&gt;null&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; user&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;getRoleGroup&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;getRoleGroupId&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
        user&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;getUserType&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
        user&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;getUsername&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

  &lt;span class=&quot;token keyword keyword-public&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;token keyword keyword-boolean&quot;&gt;boolean&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;isAdmin&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;token keyword keyword-return&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;UserType&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token constant&quot;&gt;ADMIN&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt; userType&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

  &lt;span class=&quot;token keyword keyword-public&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;token keyword keyword-boolean&quot;&gt;boolean&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;isBasic&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;token keyword keyword-return&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;UserType&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token constant&quot;&gt;BASIC&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt; userType&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;일반적으로는 이 커스텀 인증 객체를 이용하여 요청을 보낸 authUser에 관한 정보를 읽어들여 서비스 클래스의 메서드에서 활용하고 있습니다.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;java&quot; class=&quot;language-java java&quot;&gt;&lt;code&gt;&lt;span class=&quot;token annotation punctuation&quot;&gt;@PreAuthorize&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;@cardSecurityService.allowAccess(#authUser)&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token annotation punctuation&quot;&gt;@Secured&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;Roles&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;Card&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token constant&quot;&gt;READ&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token annotation punctuation&quot;&gt;@PutMapping&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;/{cardId}&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token keyword keyword-public&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;token keyword keyword-void&quot;&gt;void&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;updateCard&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;
        &lt;span class=&quot;token annotation punctuation&quot;&gt;@PathVariable&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;String&lt;/span&gt; cardId&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token annotation punctuation&quot;&gt;@Auth&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;AuthUser&lt;/span&gt; authUser&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    cardService&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;update&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;cardId&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;CardRequestMapper&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token constant&quot;&gt;INSTANCE&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;toCommand&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;reques&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; authUser&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;userId&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;java&quot; class=&quot;language-java java&quot;&gt;&lt;code&gt;&lt;span class=&quot;token annotation punctuation&quot;&gt;@Service&lt;/span&gt;
&lt;span class=&quot;token keyword keyword-class&quot;&gt;class&lt;/span&gt; cardSecurityService &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;

  &lt;span class=&quot;token keyword keyword-public&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;token keyword keyword-boolean&quot;&gt;boolean&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;allowAccess&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;AuthUser&lt;/span&gt; user&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;token keyword keyword-return&quot;&gt;return&lt;/span&gt; user&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;isAdmin&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;br&gt;
&lt;p&gt;위와 같이 코드 블럭 내에서 authUser를 사용하고 있는 경우에는 문제가 없겠지만&lt;/p&gt;
&lt;p&gt;만일 아래와 같이 @PreAuthorized에서만 해당 객체를 사용하고, 코드 블럭 내에서는 사용하지 않는다면 IntelliJ에서 &lt;code&gt;Parameter 'authUser' is never used&lt;/code&gt; 라는 문구와 함께 회색 글자로 표기됩니다.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;../img/01-1.png&quot; alt=&quot;&quot;&gt;&lt;/p&gt;
&lt;br&gt;
&lt;p&gt;@PreAuthorize 에서 해당 객체를 활용하지만, 메서드 내에서는 사용되지 않은 상황이라 IntelliJ는 해당 파라미터가 사용되지 않았다고 판단하고 있습니다.&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id=&quot;1-intellij의-warning-억제&quot;&gt;1. IntelliJ의 warning 억제 &lt;/h3&gt;
&lt;p&gt;아주 단순하게 컨트롤러 메서드에 @SuppressWarnings(&quot;unused&quot;) 설정하여 IntelliJ에 안쓰는 파라미터에 대한 경고를 표시하지 않도록 하여 이 문제를 해소할 수 있습니다.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;java&quot; class=&quot;language-java java&quot;&gt;&lt;code&gt;&lt;span class=&quot;token annotation punctuation&quot;&gt;@SuppressWarnings&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;unused&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token annotation punctuation&quot;&gt;@PreAuthorize&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;@cardSecurityService.allowAccess(#authUser)&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token annotation punctuation&quot;&gt;@Secured&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;Roles&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;Card&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token constant&quot;&gt;READ&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token annotation punctuation&quot;&gt;@GetMapping&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;/{cardId}&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token keyword keyword-public&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;token keyword keyword-void&quot;&gt;void&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;updateCard&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token annotation punctuation&quot;&gt;@PathVariable&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;String&lt;/span&gt; cardId&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token annotation punctuation&quot;&gt;@Auth&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;AuthUser&lt;/span&gt; authUser&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  cardService&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;select&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;cardId&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;br&gt;
&lt;p&gt;그러면 아래와 같이 authUser 파라미터가 회색으로 표기되던 것이 해소된 것을 확인할 수 있습니다.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;../img/01-2.png&quot; alt=&quot;&quot;&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&quot;2-블럭-내부에서-authuser-사용하기&quot;&gt;2. 블럭 내부에서 authUser 사용하기 &lt;/h2&gt;
&lt;p&gt;메서드 블럭안에서 어떤식으로든 authUser를 활용하는 방식으로도 warning을 해소할 수도 있습니다.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;java&quot; class=&quot;language-java java&quot;&gt;&lt;code&gt;&lt;span class=&quot;token annotation punctuation&quot;&gt;@PreAuthorize&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;@cardSecurityService.allowAccess(#authUser)&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token annotation punctuation&quot;&gt;@Secured&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;Roles&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;Card&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token constant&quot;&gt;READ&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token annotation punctuation&quot;&gt;@GetMapping&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;/{cardId}&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token keyword keyword-public&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;token keyword keyword-void&quot;&gt;void&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;updateCard&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token annotation punctuation&quot;&gt;@PathVariable&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;String&lt;/span&gt; cardId&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token annotation punctuation&quot;&gt;@Auth&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;AuthUser&lt;/span&gt; authUser&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;token keyword keyword-if&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;authUser &lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt; &lt;span class=&quot;token keyword keyword-null&quot;&gt;null&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token keyword keyword-return&quot;&gt;return&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
  cardService&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;select&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;cardId&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;hr&gt;
&lt;h2 id=&quot;3-preauthorize에서-authentication-활용하기&quot;&gt;3. @PreAuthorize에서 authentication 활용하기 &lt;/h2&gt;
&lt;p&gt;@PreAuthorize 에서는 Spring Security에서 제공하는 Authentication 객체를 바로 사용할 수 있습니다.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;java&quot; class=&quot;language-java java&quot;&gt;&lt;code&gt;&lt;span class=&quot;token annotation punctuation&quot;&gt;@PreAuthorize&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;@cardSecurityService.allowAccess(authentication)&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token annotation punctuation&quot;&gt;@Secured&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;Roles&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;Card&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token constant&quot;&gt;READ&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token annotation punctuation&quot;&gt;@GetMapping&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;/{cardId}&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token keyword keyword-public&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;token keyword keyword-void&quot;&gt;void&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;updateCard&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token annotation punctuation&quot;&gt;@PathVariable&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;String&lt;/span&gt; cardId&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  cardService&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;select&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;cardId&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;br&gt;
&lt;p&gt;Authentication으로 대체하고, allowAccess 메서드에서 authentication 객체로부터 AuthUser를 꺼내서 사용할 수 있습니다.&lt;/p&gt;
&lt;p&gt;위에서 소개했던 나머지 2가지 방식보다 더 깔끔한 구조이기에 전체 구조를 깔끔하게 설정하고 싶다면 이와 같은 방식을 권장합니다.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;java&quot; class=&quot;language-java java&quot;&gt;&lt;code&gt;&lt;span class=&quot;token annotation punctuation&quot;&gt;@Service&lt;/span&gt;
&lt;span class=&quot;token keyword keyword-class&quot;&gt;class&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;CardSecurityService&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  
  &lt;span class=&quot;token keyword keyword-public&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;token keyword keyword-boolean&quot;&gt;boolean&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;allowAccess&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;Authentication&lt;/span&gt; authentication&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;token keyword keyword-if&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;authentication&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;getPrincipal&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;!=&lt;/span&gt; &lt;span class=&quot;token keyword keyword-null&quot;&gt;null&lt;/span&gt;
        &lt;span class=&quot;token operator&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt; authentication&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;getPrincipal&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token keyword keyword-instanceof&quot;&gt;instanceof&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;AuthUser&lt;/span&gt; authUser&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
      &lt;span class=&quot;token keyword keyword-return&quot;&gt;return&lt;/span&gt; authUser&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;isAdmin&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
    &lt;span class=&quot;token keyword keyword-return&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;token boolean&quot;&gt;false&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;&lt;/div&gt;</description>
      <category>Spring/Basic</category>
      <author>jiniya22</author>
      <guid isPermaLink="true">https://jini-box.tistory.com/253</guid>
      <comments>https://jini-box.tistory.com/253#entry253comment</comments>
      <pubDate>Thu, 3 Jul 2025 09:50:30 +0900</pubDate>
    </item>
    <item>
      <title>[Spring Data Commons] 2.1. Spring Data Repository</title>
      <link>https://jini-box.tistory.com/252</link>
      <description>&lt;div id=&quot;html-export&quot;&gt;
      &lt;div class=&quot;mume markdown-preview  &quot;&gt;
      &lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;#a01&quot;&gt;&amp;#xD575;&amp;#xC2EC; &amp;#xAC1C;&amp;#xB150;&lt;/a&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;#a01-1&quot;&gt;&amp;#xD655;&amp;#xC7A5; &amp;#xC778;&amp;#xD130;&amp;#xD398;&amp;#xC774;&amp;#xC2A4;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#a01-2&quot;&gt;&amp;#xAE30;&amp;#xD0C0; &amp;#xD30C;&amp;#xC0DD; &amp;#xCFFC;&amp;#xB9AC;&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;&amp;#xBA54;&amp;#xC11C;&amp;#xB4DC; &amp;#xC9C8;&amp;#xC758;&amp;#xD558;&amp;#xAE30;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;#a02-1&quot;&gt;Repository &amp;#xC778;&amp;#xD130;&amp;#xD398;&amp;#xC774;&amp;#xC2A4; &amp;#xC815;&amp;#xC758;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#a02-2&quot;&gt;&amp;#xCFFC;&amp;#xB9AC; &amp;#xBA54;&amp;#xC11C;&amp;#xB4DC; &amp;#xC120;&amp;#xC5B8;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#a02-3&quot;&gt;Java &amp;#xAD6C;&amp;#xC131;&amp;#xD30C;&amp;#xC77C; &amp;#xC124;&amp;#xC815;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#a02-4&quot;&gt;Repository &amp;#xC8FC;&amp;#xC785;&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#a03&quot;&gt;Repository Interface &amp;#xC815;&amp;#xC758;&amp;#xD558;&amp;#xAE30;&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;hr&gt;
&lt;h2 class=&quot;mume-header&quot; id=&quot;div-ida011-%ED%95%B5%EC%8B%AC-%EA%B0%9C%EB%85%90div&quot;&gt;&lt;div id=&quot;a01&quot;&gt;1. &amp;#xD575;&amp;#xC2EC; &amp;#xAC1C;&amp;#xB150;&lt;/div&gt;&lt;/h2&gt;

&lt;p&gt;Spring Data Repository &amp;#xCD94;&amp;#xC0C1;&amp;#xD654;&amp;#xC758; &amp;#xBAA9;&amp;#xD45C;&amp;#xB294; &amp;#xB2E4;&amp;#xC591;&amp;#xD55C; &amp;#xD37C;&amp;#xC2DC;&amp;#xC2A4;&amp;#xD134;&amp;#xC2A4; &amp;#xC800;&amp;#xC7A5;&amp;#xC18C;&amp;#xC758; &amp;#xB370;&amp;#xC774;&amp;#xD130; &amp;#xC811;&amp;#xADFC; &amp;#xACC4;&amp;#xCE35;&amp;#xC744; &amp;#xAD6C;&amp;#xD604;&amp;#xD558;&amp;#xB294;&amp;#xB370;&amp;#xC5D0; &amp;#xD544;&amp;#xC694;&amp;#xD55C; &amp;#xBCF4;&amp;#xC5D8;&amp;#xB7EC;&amp;#xD50C;&amp;#xB808;&amp;#xC774;&amp;#xD2B8; &amp;#xCF54;&amp;#xB4DC;&amp;#xB97C; &amp;#xC904;&amp;#xC774;&amp;#xB294; &amp;#xAC83;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;Spring Data Repository &amp;#xCD94;&amp;#xC0C1;&amp;#xD654;&amp;#xC758; &amp;#xC911;&amp;#xC2EC; &amp;#xC778;&amp;#xD130;&amp;#xD398;&amp;#xC774;&amp;#xC2A4;&amp;#xB294; &lt;strong&gt;Repository&lt;/strong&gt; &amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xC774;&amp;#xAC83;&amp;#xC740; &amp;#xB3C4;&amp;#xBA54;&amp;#xC778; &amp;#xD074;&amp;#xB798;&amp;#xC2A4;&amp;#xB97C; &amp;#xAD00;&amp;#xB9AC;&amp;#xD558;&amp;#xBA74;&amp;#xC11C; &amp;#xB3C4;&amp;#xBA54;&amp;#xC778;&amp;#xD074;&amp;#xB798;&amp;#xC2A4;&amp;#xC758; &amp;#xC2DD;&amp;#xBCC4;&amp;#xC790;&amp;#xB97C; &amp;#xC720;&amp;#xD615;&amp;#xC778;&amp;#xC218;&amp;#xB85C;&amp;#xC368; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;Spring Data&amp;#xC5D0;&amp;#xC11C;&amp;#xB294; &amp;#xB3C4;&amp;#xBA54;&amp;#xC778; &amp;#xD0C0;&amp;#xC785;&amp;#xC744; &lt;strong&gt;Entity&lt;/strong&gt; &amp;#xB77C;&amp;#xACE0; &amp;#xBD80;&amp;#xB985;&amp;#xB2C8;&amp;#xB2E4;. (= &amp;#xB610;&amp;#xB294; Aggregate &amp;#xB77C;&amp;#xACE0;&amp;#xB3C4; &amp;#xBD80;&amp;#xB985;&amp;#xB2C8;&amp;#xB2E4;.)&lt;/p&gt;
&lt;p&gt;&amp;#xAC01; &amp;#xB3C4;&amp;#xBA54;&amp;#xC778; &amp;#xAC1D;&amp;#xCCB4;&amp;#xB294; &amp;#xC2DD;&amp;#xBCC4;&amp;#xC790;(ID) &amp;#xAC00; &amp;#xC788;&amp;#xACE0;, &amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xB97C; &amp;#xC561;&amp;#xC138;&amp;#xC2A4;&amp;#xD560;&amp;#xB54C;&amp;#xC5D0; &amp;#xC774; &amp;#xAC12;&amp;#xC744; &amp;#xD65C;&amp;#xC6A9;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&lt;br&gt;&lt;/p&gt;
&lt;p&gt;Spring Data Commons&amp;#xC5D0;&amp;#xC11C; &amp;#xC81C;&amp;#xACF5;&amp;#xD558;&amp;#xB294; Repository&amp;#xC758; &amp;#xD655;&amp;#xC7A5; &amp;#xC778;&amp;#xD130;&amp;#xD398;&amp;#xC774;&amp;#xC2A4;&amp;#xB85C;&amp;#xB294; CrudRepository, ListCrudRepository, PagingAndSortingRepository, ListPagingAndSortingRepository &amp;#xAC00; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;#xC774; &amp;#xD655;&amp;#xC7A5; &amp;#xC778;&amp;#xD130;&amp;#xD398;&amp;#xC774;&amp;#xC2A4;&amp;#xB97C; &amp;#xC2E4;&amp;#xC9C8;&amp;#xC801;&amp;#xC73C;&amp;#xB85C; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD558;&amp;#xACE0;&amp;#xC790;&amp;#xD558;&amp;#xB294; &amp;#xC800;&amp;#xC7A5;&amp;#xC18C; &amp;#xBAA8;&amp;#xB4C8;(JPA, mongoDB &amp;#xB4F1;...)&amp;#xC5D0;&amp;#xC11C; &amp;#xC9C0;&amp;#xC6D0;&amp;#xB418;&amp;#xB294;&amp;#xC9C0; &amp;#xC0AC;&amp;#xC804;&amp;#xC5D0; &amp;#xD655;&amp;#xC778;&amp;#xD55C; &amp;#xD6C4;, &amp;#xC9C0;&amp;#xC6D0;&amp;#xB418;&amp;#xBA74; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD558;&amp;#xBA74; &amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;br&gt;
&lt;h3 class=&quot;mume-header&quot; id=&quot;div-ida01-111-%ED%99%95%EC%9E%A5-%EC%9D%B8%ED%84%B0%ED%8E%98%EC%9D%B4%EC%8A%A4div&quot;&gt;&lt;div id=&quot;a01-1&quot;&gt;1.1. &amp;#xD655;&amp;#xC7A5; &amp;#xC778;&amp;#xD130;&amp;#xD398;&amp;#xC774;&amp;#xC2A4;&lt;/div&gt;&lt;/h3&gt;

&lt;p&gt;CrudRepository&amp;#xC640; ListCrudRepository&amp;#xB294; Repository&amp;#xC778;&amp;#xD130;&amp;#xD398;&amp;#xC774;&amp;#xC2A4;&amp;#xC758; &amp;#xC0C1;&amp;#xC18D; &amp;#xC778;&amp;#xD130;&amp;#xD398;&amp;#xC774;&amp;#xC2A4;&amp;#xB85C;, &amp;#xC5D4;&amp;#xD2F0;&amp;#xD2F0; &amp;#xD074;&amp;#xB798;&amp;#xC2A4;&amp;#xC5D0; &amp;#xB300;&amp;#xD55C; &amp;#xC815;&amp;#xAD50;&amp;#xD55C; CURD &amp;#xAE30;&amp;#xB2A5;&amp;#xC744; &amp;#xC81C;&amp;#xACF5;&amp;#xD574;&amp;#xC90D;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
ListCrudRepository&amp;#xB294; CrudRepository&amp;#xC5D0;&amp;#xC11C; Iterable &amp;#xAC1D;&amp;#xCCB4;&amp;#xB85C; &amp;#xBC18;&amp;#xD658;&amp;#xD558;&amp;#xB294; &amp;#xAC12;&amp;#xC744; List&amp;#xD615;&amp;#xD0DC;&amp;#xB85C; &amp;#xBC18;&amp;#xD658;&amp;#xD558;&amp;#xB294; &amp;#xAC83;&amp;#xB9CC; &amp;#xCC28;&amp;#xC774;&amp;#xAC00; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;java&quot; class=&quot;language-java&quot;&gt;&lt;span class=&quot;token annotation punctuation&quot;&gt;@NoRepositoryBean&lt;/span&gt;
&lt;span class=&quot;token keyword keyword-public&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;token keyword keyword-interface&quot;&gt;interface&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;CrudRepository&lt;/span&gt;&lt;span class=&quot;token generics&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;T&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; ID&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;token keyword keyword-extends&quot;&gt;extends&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;Repository&lt;/span&gt;&lt;span class=&quot;token generics&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;T&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; ID&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;token generics&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;S&lt;/span&gt; &lt;span class=&quot;token keyword keyword-extends&quot;&gt;extends&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;T&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;S&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;save&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;S&lt;/span&gt; entity&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

    &lt;span class=&quot;token generics&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;S&lt;/span&gt; &lt;span class=&quot;token keyword keyword-extends&quot;&gt;extends&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;T&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;Iterable&lt;/span&gt;&lt;span class=&quot;token generics&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;S&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;saveAll&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;Iterable&lt;/span&gt;&lt;span class=&quot;token generics&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;S&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt; entities&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

    &lt;span class=&quot;token class-name&quot;&gt;Optional&lt;/span&gt;&lt;span class=&quot;token generics&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;T&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;findById&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;ID&lt;/span&gt; id&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

    &lt;span class=&quot;token keyword keyword-boolean&quot;&gt;boolean&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;existsById&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;ID&lt;/span&gt; id&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

    &lt;span class=&quot;token class-name&quot;&gt;Iterable&lt;/span&gt;&lt;span class=&quot;token generics&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;T&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;findAll&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

    &lt;span class=&quot;token class-name&quot;&gt;Iterable&lt;/span&gt;&lt;span class=&quot;token generics&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;T&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;findAllById&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;Iterable&lt;/span&gt;&lt;span class=&quot;token generics&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;ID&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt; ids&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

    &lt;span class=&quot;token keyword keyword-long&quot;&gt;long&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;count&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

    &lt;span class=&quot;token keyword keyword-void&quot;&gt;void&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;deleteById&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;ID&lt;/span&gt; id&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

    &lt;span class=&quot;token keyword keyword-void&quot;&gt;void&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;delete&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;T&lt;/span&gt; entity&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

    &lt;span class=&quot;token keyword keyword-void&quot;&gt;void&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;deleteAllById&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;Iterable&lt;/span&gt;&lt;span class=&quot;token generics&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;?&lt;/span&gt; &lt;span class=&quot;token keyword keyword-extends&quot;&gt;extends&lt;/span&gt; ID&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt; ids&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

    &lt;span class=&quot;token keyword keyword-void&quot;&gt;void&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;deleteAll&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;Iterable&lt;/span&gt;&lt;span class=&quot;token generics&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;?&lt;/span&gt; &lt;span class=&quot;token keyword keyword-extends&quot;&gt;extends&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;T&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt; entities&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

    &lt;span class=&quot;token keyword keyword-void&quot;&gt;void&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;deleteAll&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;java&quot; class=&quot;language-java&quot;&gt;&lt;span class=&quot;token annotation punctuation&quot;&gt;@NoRepositoryBean&lt;/span&gt;
&lt;span class=&quot;token keyword keyword-public&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;token keyword keyword-interface&quot;&gt;interface&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;ListCrudRepository&lt;/span&gt;&lt;span class=&quot;token generics&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;T&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; ID&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;token keyword keyword-extends&quot;&gt;extends&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;CrudRepository&lt;/span&gt;&lt;span class=&quot;token generics&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;T&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; ID&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;token generics&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;S&lt;/span&gt; &lt;span class=&quot;token keyword keyword-extends&quot;&gt;extends&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;T&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;List&lt;/span&gt;&lt;span class=&quot;token generics&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;S&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;saveAll&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;Iterable&lt;/span&gt;&lt;span class=&quot;token generics&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;S&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt; entities&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

    &lt;span class=&quot;token class-name&quot;&gt;List&lt;/span&gt;&lt;span class=&quot;token generics&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;T&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;findAll&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

    &lt;span class=&quot;token class-name&quot;&gt;List&lt;/span&gt;&lt;span class=&quot;token generics&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;T&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;findAllById&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;Iterable&lt;/span&gt;&lt;span class=&quot;token generics&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;ID&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt; ids&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;br&gt;
&lt;p&gt;Repository&amp;#xB294; &amp;#xAE30;&amp;#xBCF8;&amp;#xC801;&amp;#xC73C;&amp;#xB85C; &amp;#xD504;&amp;#xB85C;&amp;#xD37C;&amp;#xD2F0;&amp;#xBA85;&amp;#xC744; &amp;#xAE30;&amp;#xBC18;&amp;#xD55C; Query Methods &amp;#xB97C; &amp;#xC81C;&amp;#xACF5;&amp;#xD558;&amp;#xC9C0;&amp;#xB9CC;, PK&amp;#xC758; &amp;#xACBD;&amp;#xC6B0; PK&amp;#xB85C; &amp;#xC9C0;&amp;#xC815;&amp;#xD55C; &amp;#xD504;&amp;#xB85C;&amp;#xD37C;&amp;#xD2F0;&amp;#xBA85;&amp;#xACFC; &amp;#xBB34;&amp;#xAD00;&amp;#xD558;&amp;#xAC8C; &lt;strong&gt;Id&lt;/strong&gt;&amp;#xB77C;&amp;#xB294; &amp;#xBA85;&amp;#xCE6D;&amp;#xC73C;&amp;#xB85C; &amp;#xCFFC;&amp;#xB9AC;&amp;#xBA54;&amp;#xC11C;&amp;#xB4DC;&amp;#xB97C; &amp;#xC81C;&amp;#xACF5;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;. (ex. &lt;code&gt;findById&lt;/code&gt;)&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;a href=&quot;https://docs.spring.io/spring-data/commons/reference/repositories/query-methods-details.html#repositories.query-methods.reserved-methods&quot;&gt;Reseved Methods Names&lt;/a&gt; &amp;#xCC38;&amp;#xACE0;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&amp;#xD504;&amp;#xB85C;&amp;#xD37C;&amp;#xD2F0;&amp;#xBA85;&amp;#xC5D0; &amp;#xAE30;&amp;#xBC18;&amp;#xD55C; Query Methods &amp;#xB97C; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD558;&amp;#xB294; &amp;#xAC83; &amp;#xC678;&amp;#xC5D0; &amp;#xC9C1;&amp;#xC811; &amp;#xCFFC;&amp;#xB9AC;&amp;#xB97C; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD558;&amp;#xACE0; &amp;#xC2F6;&amp;#xB2E4;&amp;#xBA74; &lt;strong&gt;@Query&lt;/strong&gt; &amp;#xC560;&amp;#xB108;&amp;#xD14C;&amp;#xC774;&amp;#xC158;&amp;#xC744; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD558;&amp;#xC5EC; &amp;#xC0AC;&amp;#xC6A9;&amp;#xC790; &amp;#xC9C0;&amp;#xC815; &amp;#xCFFC;&amp;#xB9AC;&amp;#xB97C; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&lt;br&gt;&lt;/p&gt;
&lt;p&gt;&amp;#xC5D4;&amp;#xD2F0;&amp;#xD2F0;&amp;#xC5D0; &amp;#xB300;&amp;#xD55C; &amp;#xD398;&amp;#xC774;&amp;#xC9D5;&amp;#xB41C; &amp;#xC561;&amp;#xC138;&amp;#xC2A4;&amp;#xB97C; &amp;#xD3B8;&amp;#xB9AC;&amp;#xD558;&amp;#xAC8C; &amp;#xD574;&amp;#xC8FC;&amp;#xB294; &amp;#xBA54;&amp;#xC11C;&amp;#xB4DC;&amp;#xB97C; &amp;#xD3EC;&amp;#xD568;&amp;#xD55C; PagingAndSortingRepository &amp;#xB3C4; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;#xBAA9;&amp;#xB85D;&amp;#xC744; Iterable &amp;#xAC1D;&amp;#xCCB4;&amp;#xAC00; &amp;#xC544;&amp;#xB2CC; List&amp;#xAC1D;&amp;#xCCB4;&amp;#xB85C; &amp;#xBC18;&amp;#xD658;&amp;#xD558;&amp;#xB294; ListPagingAndSortingRepository &amp;#xD655;&amp;#xC7A5; &amp;#xC778;&amp;#xD130;&amp;#xD398;&amp;#xC774;&amp;#xC2A4;&amp;#xAC00; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;java&quot; class=&quot;language-java&quot;&gt;&lt;span class=&quot;token annotation punctuation&quot;&gt;@NoRepositoryBean&lt;/span&gt;
&lt;span class=&quot;token keyword keyword-public&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;token keyword keyword-interface&quot;&gt;interface&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;PagingAndSortingRepository&lt;/span&gt;&lt;span class=&quot;token generics&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;T&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; ID&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;token keyword keyword-extends&quot;&gt;extends&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;Repository&lt;/span&gt;&lt;span class=&quot;token generics&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;T&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; ID&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;token class-name&quot;&gt;Iterable&lt;/span&gt;&lt;span class=&quot;token generics&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;T&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;findAll&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;Sort&lt;/span&gt; sort&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

    &lt;span class=&quot;token class-name&quot;&gt;Page&lt;/span&gt;&lt;span class=&quot;token generics&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;T&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;findAll&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;Pageable&lt;/span&gt; pageable&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;br&gt;
&lt;h3 class=&quot;mume-header&quot; id=&quot;div-ida01-212-%EA%B8%B0%ED%83%80-%ED%8C%8C%EC%83%9D-%EC%BF%BC%EB%A6%ACdiv&quot;&gt;&lt;div id=&quot;a01-2&quot;&gt;1.2. &amp;#xAE30;&amp;#xD0C0; &amp;#xD30C;&amp;#xC0DD; &amp;#xCFFC;&amp;#xB9AC;&lt;/div&gt;&lt;/h3&gt;

&lt;p&gt;&amp;#xC5D4;&amp;#xD2F0;&amp;#xD2F0;&amp;#xB97C; &amp;#xC870;&amp;#xD68C;&amp;#xD558;&amp;#xB294; &amp;#xAC83; &amp;#xC678;&amp;#xC5D0;&amp;#xB3C4; count&amp;#xB098; &amp;#xC874;&amp;#xC7AC;&amp;#xC5EC;&amp;#xBD80;&amp;#xB97C; &amp;#xC870;&amp;#xD68C;&amp;#xD558;&amp;#xB294; &amp;#xD30C;&amp;#xC0DD;&amp;#xCFFC;&amp;#xB9AC;&amp;#xB3C4; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xACE0;,&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;java&quot; class=&quot;language-java&quot;&gt;&lt;span class=&quot;token keyword keyword-interface&quot;&gt;interface&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;UserRepository&lt;/span&gt; &lt;span class=&quot;token keyword keyword-extends&quot;&gt;extends&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;CrudRepository&lt;/span&gt;&lt;span class=&quot;token generics&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;User&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;Long&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;

  &lt;span class=&quot;token keyword keyword-long&quot;&gt;long&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;countByLastname&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;String&lt;/span&gt; lastname&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;token keyword keyword-boolean&quot;&gt;boolean&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;existsByLastname&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;String&lt;/span&gt; lastname&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;br&gt;
&lt;p&gt;&amp;#xC0AD;&amp;#xC81C; &amp;#xCFFC;&amp;#xB9AC;&amp;#xB3C4; &amp;#xC544;&amp;#xB798;&amp;#xC640; &amp;#xAC19;&amp;#xC774; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;java&quot; class=&quot;language-java&quot;&gt;&lt;span class=&quot;token keyword keyword-interface&quot;&gt;interface&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;UserRepository&lt;/span&gt; &lt;span class=&quot;token keyword keyword-extends&quot;&gt;extends&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;CrudRepository&lt;/span&gt;&lt;span class=&quot;token generics&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;User&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;Long&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;

  &lt;span class=&quot;token keyword keyword-long&quot;&gt;long&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;deleteByLastname&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;String&lt;/span&gt; lastname&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

  &lt;span class=&quot;token class-name&quot;&gt;List&lt;/span&gt;&lt;span class=&quot;token generics&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;User&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;removeByLastname&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;String&lt;/span&gt; lastname&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;hr&gt;
&lt;h2 class=&quot;mume-header&quot; id=&quot;div-ida02-12-%EB%A9%94%EC%84%9C%EB%93%9C-%EC%A7%88%EC%9D%98%ED%95%98%EA%B8%B0div&quot;&gt;&lt;div id=&quot;a02-1&quot;&gt;2. &amp;#xBA54;&amp;#xC11C;&amp;#xB4DC; &amp;#xC9C8;&amp;#xC758;&amp;#xD558;&amp;#xAE30;&lt;/div&gt;&lt;/h2&gt;

&lt;p&gt;Spring Data&amp;#xB97C; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD558;&amp;#xC5EC; &amp;#xC560;&amp;#xD50C;&amp;#xB9AC;&amp;#xCF00;&amp;#xC774;&amp;#xC158;&amp;#xC5D0;&amp;#xC11C; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD558;&amp;#xACE0;&amp;#xC790;&amp;#xD558;&amp;#xB294; &amp;#xC800;&amp;#xC7A5;&amp;#xC18C;&amp;#xC5D0; &amp;#xB300;&amp;#xD55C; &amp;#xCFFC;&amp;#xB9AC;&amp;#xB97C; &amp;#xC120;&amp;#xC5B8;&amp;#xD558;&amp;#xACE0; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD558;&amp;#xB294; &amp;#xBC29;&amp;#xBC95;&amp;#xC740; 4&amp;#xAC00;&amp;#xC9C0; &amp;#xB2E8;&amp;#xACC4;&amp;#xB97C; &amp;#xAC70;&amp;#xCE69;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;em&gt;Repository&lt;/em&gt; &amp;#xB610;&amp;#xB294; &lt;em&gt;Repository&lt;/em&gt; &amp;#xC758; &amp;#xD558;&amp;#xC704; &amp;#xC778;&amp;#xD130;&amp;#xD398;&amp;#xC774;&amp;#xC2A4;&amp;#xB97C; &amp;#xC0C1;&amp;#xC18D;&amp;#xD55C; &amp;#xC778;&amp;#xD130;&amp;#xD398;&amp;#xC774;&amp;#xC2A4;&amp;#xB97C; &amp;#xC120;&amp;#xC5B8;&amp;#xD558;&amp;#xACE0; &amp;#xB300;&amp;#xC0C1;&amp;#xC774;&amp;#xB418;&amp;#xB294; &amp;#xB3C4;&amp;#xBA54;&amp;#xC778;&amp;#xD074;&amp;#xB798;&amp;#xC2A4;&amp;#xC640; &amp;#xADF8; &amp;#xB3C4;&amp;#xBA54;&amp;#xC778; &amp;#xD074;&amp;#xB798;&amp;#xC2A4;&amp;#xC758; PK&amp;#xD0C0;&amp;#xC785;&amp;#xC744; &amp;#xC124;&amp;#xC815;&lt;/li&gt;
&lt;li&gt;&amp;#xADF8; &amp;#xC778;&amp;#xD130;&amp;#xD398;&amp;#xC774;&amp;#xC2A4; &amp;#xB0B4;&amp;#xC5D0; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD558;&amp;#xACE0;&amp;#xC790;&amp;#xD558;&amp;#xB294; &amp;#xCFFC;&amp;#xB9AC; &amp;#xBA54;&amp;#xC11C;&amp;#xB4DC;&amp;#xB97C; &amp;#xC120;&amp;#xC5B8;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;JavaConfig&lt;/strong&gt; (&amp;#xB610;&amp;#xB294; XML config)&amp;#xC5D0; &lt;em&gt;Repository&lt;/em&gt; &amp;#xAC00; &amp;#xC704;&amp;#xCE58;&amp;#xD55C; &amp;#xD328;&amp;#xD0A4;&amp;#xC9C0;&amp;#xB97C; &amp;#xC9C0;&amp;#xC815;&lt;/li&gt;
&lt;li&gt;&amp;#xC11C;&amp;#xBE44;&amp;#xC2A4; &amp;#xD074;&amp;#xB798;&amp;#xC2A4;&amp;#xC5D0;&amp;#xC11C; &amp;#xD574;&amp;#xB2F9; Repository&amp;#xB97C; &amp;#xC8FC;&amp;#xC785;&amp;#xD558;&amp;#xC5EC; &amp;#xC0AC;&amp;#xC6A9;&lt;/li&gt;
&lt;/ol&gt;
&lt;br&gt;
&lt;h3 class=&quot;mume-header&quot; id=&quot;21-repository-%EC%9D%B8%ED%84%B0%ED%8E%98%EC%9D%B4%EC%8A%A4-%EC%A0%95%EC%9D%98&quot;&gt;2.1. Repository &amp;#xC778;&amp;#xD130;&amp;#xD398;&amp;#xC774;&amp;#xC2A4; &amp;#xC815;&amp;#xC758;&lt;/h3&gt;

&lt;p&gt;Repository &amp;#xB610;&amp;#xB294; Repository&amp;#xC758; &amp;#xD558;&amp;#xC704; &amp;#xC778;&amp;#xD130;&amp;#xD398;&amp;#xC774;&amp;#xC2A4;&amp;#xB97C; &amp;#xC0C1;&amp;#xC18D;&amp;#xD558;&amp;#xB294; &amp;#xC778;&amp;#xD130;&amp;#xD398;&amp;#xC774;&amp;#xC2A4;&amp;#xB97C; &amp;#xC815;&amp;#xC758;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;PK &amp;#xD0C0;&amp;#xC785;&amp;#xC774; Long&amp;#xC778; User &amp;#xB77C;&amp;#xB294; &amp;#xC5D4;&amp;#xD2F0;&amp;#xD2F0; &amp;#xB3C4;&amp;#xBA54;&amp;#xC778;&amp;#xC774; &amp;#xC788;&amp;#xB2E4;&amp;#xACE0; &amp;#xD560; &amp;#xB54C;,&lt;br&gt;
&amp;#xC774; &amp;#xB3C4;&amp;#xBA54;&amp;#xC778; &amp;#xC5D4;&amp;#xD2F0;&amp;#xD2F0;&amp;#xB97C; &amp;#xCC98;&amp;#xB9AC;&amp;#xD560; Repository &amp;#xC778;&amp;#xD130;&amp;#xD398;&amp;#xC774;&amp;#xC2A4;&amp;#xB97C; &amp;#xC815;&amp;#xC758;&amp;#xD574;&amp;#xBD05;&amp;#xC2DC;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;java&quot; class=&quot;language-java&quot;&gt;&lt;span class=&quot;token annotation punctuation&quot;&gt;@Getter&lt;/span&gt;
&lt;span class=&quot;token annotation punctuation&quot;&gt;@ToString&lt;/span&gt;
&lt;span class=&quot;token annotation punctuation&quot;&gt;@Entity&lt;/span&gt;
&lt;span class=&quot;token keyword keyword-public&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;token keyword keyword-class&quot;&gt;class&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;User&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;token annotation punctuation&quot;&gt;@Id&lt;/span&gt;
    &lt;span class=&quot;token annotation punctuation&quot;&gt;@GeneratedValue&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;strategy &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;&lt;span class=&quot;token namespace&quot;&gt;jakarta&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;persistence&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;/span&gt;GenerationType&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;IDENTITY&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
    &lt;span class=&quot;token keyword keyword-private&quot;&gt;private&lt;/span&gt; &lt;span class=&quot;token keyword keyword-final&quot;&gt;final&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;Long&lt;/span&gt; id&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;token keyword keyword-private&quot;&gt;private&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;String&lt;/span&gt; username&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;token keyword keyword-private&quot;&gt;private&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;String&lt;/span&gt; email&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

    &lt;span class=&quot;token keyword keyword-protected&quot;&gt;protected&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;User&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
        &lt;span class=&quot;token keyword keyword-this&quot;&gt;this&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;id &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token keyword keyword-null&quot;&gt;null&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

    &lt;span class=&quot;token keyword keyword-public&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;User&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;Long&lt;/span&gt; id&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;String&lt;/span&gt; username&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;String&lt;/span&gt; email&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
        &lt;span class=&quot;token keyword keyword-this&quot;&gt;this&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;id &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; id&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
        &lt;span class=&quot;token keyword keyword-this&quot;&gt;this&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;username &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; username&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
        &lt;span class=&quot;token keyword keyword-this&quot;&gt;this&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;email &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; email&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

    &lt;span class=&quot;token class-name&quot;&gt;User&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;withId&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;Long&lt;/span&gt; id&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
        &lt;span class=&quot;token keyword keyword-return&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;token keyword keyword-new&quot;&gt;new&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;User&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;id&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token keyword keyword-this&quot;&gt;this&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;username&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token keyword keyword-this&quot;&gt;this&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;email&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;br&gt;
&lt;p&gt;CrudRepository&amp;#xC5D0; &amp;#xCC98;&amp;#xB9AC;&amp;#xD558;&amp;#xACE0;&amp;#xC790;&amp;#xD558;&amp;#xB294; &amp;#xB3C4;&amp;#xBA54;&amp;#xC778; &amp;#xC5D4;&amp;#xD2F0;&amp;#xD2F0; &amp;#xD0C0;&amp;#xC785;&amp;#xACFC; &amp;#xADF8; &amp;#xB3C4;&amp;#xBA54;&amp;#xC778;&amp;#xC758; PK&amp;#xC778; Long &amp;#xD0C0;&amp;#xC785;&amp;#xC744; &amp;#xC124;&amp;#xC815;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;java&quot; class=&quot;language-java&quot;&gt;&lt;span class=&quot;token keyword keyword-package&quot;&gt;package&lt;/span&gt; &lt;span class=&quot;token namespace&quot;&gt;me&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;jiniworld&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;sdc&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;store&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;jpa&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;user&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

&lt;span class=&quot;token keyword keyword-interface&quot;&gt;interface&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;UserRepository&lt;/span&gt; &lt;span class=&quot;token keyword keyword-extends&quot;&gt;extends&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;CrudRepository&lt;/span&gt;&lt;span class=&quot;token generics&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;User&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;Long&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;br&gt;
&lt;h3 class=&quot;mume-header&quot; id=&quot;div-ida02-222-%EC%BF%BC%EB%A6%AC-%EB%A9%94%EC%84%9C%EB%93%9C-%EC%84%A0%EC%96%B8div&quot;&gt;&lt;div id=&quot;a02-2&quot;&gt;2.2. &amp;#xCFFC;&amp;#xB9AC; &amp;#xBA54;&amp;#xC11C;&amp;#xB4DC; &amp;#xC120;&amp;#xC5B8;&lt;/div&gt;&lt;/h3&gt;

&lt;p&gt;&amp;#xC0DD;&amp;#xC131;&amp;#xD55C; &lt;em&gt;Repository&lt;/em&gt; &amp;#xC778;&amp;#xD130;&amp;#xD398;&amp;#xC774;&amp;#xC2A4; &amp;#xB0B4;&amp;#xC5D0; &amp;#xCFFC;&amp;#xB9AC; &amp;#xBA54;&amp;#xC11C;&amp;#xB4DC;&amp;#xB97C; &amp;#xC120;&amp;#xC5B8;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xC544;&amp;#xB798; &amp;#xCF54;&amp;#xB4DC;&amp;#xB294; Spring Data Commons&amp;#xC5D0;&amp;#xC11C; &amp;#xAE30;&amp;#xBCF8;&amp;#xC801;&amp;#xC73C;&amp;#xB85C; &amp;#xC81C;&amp;#xACF5;&amp;#xD574;&amp;#xC8FC;&amp;#xB294; CrudRepository&amp;#xB97C; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD55C; &amp;#xC608;&amp;#xC81C; &amp;#xCF54;&amp;#xB4DC;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;#xC0AC;&amp;#xC6A9;&amp;#xD558;&amp;#xACE0;&amp;#xC790;&amp;#xD558;&amp;#xB294; &amp;#xC800;&amp;#xC7A5;&amp;#xC18C;&amp;#xC640; &amp;#xD504;&amp;#xB808;&amp;#xC784;&amp;#xC6CC;&amp;#xD06C;&amp;#xC5D0; &amp;#xB530;&amp;#xB77C; &lt;em&gt;ReactiveCrudRepository, CoroutineCrudRepository&lt;/em&gt; &amp;#xB4F1; &amp;#xB2E4;&amp;#xC591;&amp;#xD55C; Repository&amp;#xB97C; &amp;#xD65C;&amp;#xC6A9;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;java&quot; class=&quot;language-java&quot;&gt;&lt;span class=&quot;token keyword keyword-package&quot;&gt;package&lt;/span&gt; &lt;span class=&quot;token namespace&quot;&gt;me&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;jiniworld&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;sdc&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;store&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;jpa&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;user&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

&lt;span class=&quot;token keyword keyword-import&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;token namespace&quot;&gt;org&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;springframework&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;data&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;repository&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;CrudRepository&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

&lt;span class=&quot;token keyword keyword-interface&quot;&gt;interface&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;UserRepository&lt;/span&gt; &lt;span class=&quot;token keyword keyword-extends&quot;&gt;extends&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;CrudRepository&lt;/span&gt;&lt;span class=&quot;token generics&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;User&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;Long&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;token keyword keyword-boolean&quot;&gt;boolean&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;existsByEmail&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;String&lt;/span&gt; email&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;br&gt;
&lt;h3 class=&quot;mume-header&quot; id=&quot;div-ida02-323-java-%EA%B5%AC%EC%84%B1%ED%8C%8C%EC%9D%BC-%EC%84%A4%EC%A0%95div&quot;&gt;&lt;div id=&quot;a02-3&quot;&gt;2.3. Java &amp;#xAD6C;&amp;#xC131;&amp;#xD30C;&amp;#xC77C; &amp;#xC124;&amp;#xC815;&lt;/div&gt;&lt;/h3&gt;

&lt;p&gt;&amp;#xC0AC;&amp;#xC6A9;&amp;#xD558;&amp;#xACE0;&amp;#xC790;&amp;#xD558;&amp;#xB294; Spring Data store &amp;#xD0C0;&amp;#xC785;&amp;#xC774; &amp;#xB2E8; &amp;#xD558;&amp;#xB098;&amp;#xC77C; &amp;#xACBD;&amp;#xC6B0;&amp;#xC5D0;&amp;#xB294; &amp;#xAD6C;&amp;#xC131;&amp;#xD30C;&amp;#xC77C; &amp;#xC124;&amp;#xC815;&amp;#xC744; &amp;#xC0DD;&amp;#xB7B5;&amp;#xD574;&amp;#xB3C4; &amp;#xAE30;&amp;#xB2A5;&amp;#xC774; &amp;#xB3D9;&amp;#xC791;&amp;#xD558;&amp;#xC9C0;&amp;#xB9CC;,&lt;br&gt;
JPA, MongoDB &amp;#xB4F1; &amp;#xC5EC;&amp;#xB7EC;&amp;#xAC1C;&amp;#xC758; Spring Data &amp;#xD504;&amp;#xB85C;&amp;#xC81D;&amp;#xD2B8;&amp;#xB97C; &amp;#xD558;&amp;#xB098;&amp;#xC758; &amp;#xC560;&amp;#xD50C;&amp;#xB9AC;&amp;#xCF00;&amp;#xC774;&amp;#xC158; &amp;#xB0B4;&amp;#xC5D0; &amp;#xC815;&amp;#xC758;&amp;#xD558;&amp;#xB294; &amp;#xACBD;&amp;#xC6B0;&amp;#xC5D0;&amp;#xB294; &amp;#xBC18;&amp;#xB4DC;&amp;#xC2DC; config &amp;#xC124;&amp;#xC815;&amp;#xC744; &amp;#xCD94;&amp;#xAC00;&amp;#xD574;&amp;#xC57C; &amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xC544;&amp;#xB798; &amp;#xC608;&amp;#xC2DC;&amp;#xB294; JPA&amp;#xB97C; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD558;&amp;#xACE0; &amp;#xC788;&amp;#xB294; &amp;#xCF54;&amp;#xB4DC;&amp;#xC5D0; &amp;#xB300;&amp;#xD55C; &amp;#xC608;&amp;#xC81C;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
JPA&amp;#xB97C; &amp;#xD65C;&amp;#xC6A9;&amp;#xD55C; Repository &amp;#xAC00; &amp;#xC704;&amp;#xCE58;&amp;#xD560; &amp;#xD328;&amp;#xD0A4;&amp;#xC9C0;&amp;#xB97C; &amp;#xC815;&amp;#xC758;&amp;#xD558;&amp;#xC5EC;, &amp;#xC124;&amp;#xC815;&amp;#xD55C; &amp;#xD328;&amp;#xD0A4;&amp;#xC9C0; &amp;#xB0B4;&amp;#xC5D0; &amp;#xC704;&amp;#xCE58;&amp;#xD55C; &amp;#xC778;&amp;#xD130;&amp;#xD398;&amp;#xC774;&amp;#xC2A4;&amp;#xC5D0; &amp;#xB300;&amp;#xD574;&amp;#xC11C; Proxy &amp;#xAC1D;&amp;#xCCB4;&amp;#xB97C; &amp;#xC0DD;&amp;#xC131;&amp;#xD558;&amp;#xB3C4;&amp;#xB85D; &amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;java&quot; class=&quot;language-java&quot;&gt;&lt;span class=&quot;token annotation punctuation&quot;&gt;@EnableJpaRepositories&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;basePackages &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;me.jiniworld.sdc.store.jpa&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token annotation punctuation&quot;&gt;@Configuration&lt;/span&gt;
&lt;span class=&quot;token keyword keyword-public&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;token keyword keyword-class&quot;&gt;class&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;JpaConfig&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;br&gt;
&lt;h3 class=&quot;mume-header&quot; id=&quot;div-ida02-424-repository-%EC%A3%BC%EC%9E%85div&quot;&gt;&lt;div id=&quot;a02-4&quot;&gt;2.4. Repository &amp;#xC8FC;&amp;#xC785;&lt;/div&gt;&lt;/h3&gt;

&lt;p&gt;&amp;#xC704;&amp;#xC5D0;&amp;#xC11C; &amp;#xC791;&amp;#xC131;&amp;#xD588;&amp;#xB358; &lt;em&gt;Repository&lt;/em&gt; &amp;#xC758; &amp;#xAC1D;&amp;#xCCB4;&amp;#xB97C; &amp;#xC8FC;&amp;#xC785;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;UserRepository&amp;#xC5D0; &lt;em&gt;@Component&lt;/em&gt; &amp;#xB098; &lt;em&gt;@Repository&lt;/em&gt; &amp;#xC640; &amp;#xAC19;&amp;#xC740; &amp;#xC560;&amp;#xB108;&amp;#xD14C;&amp;#xC774;&amp;#xC158;&amp;#xC744; &amp;#xC124;&amp;#xC815;&amp;#xD558;&amp;#xC9C0; &amp;#xC54A;&amp;#xC544;&amp;#xB3C4; @EnableJpaRepositories&amp;#xB85C; &amp;#xC778;&amp;#xD130;&amp;#xD398;&amp;#xC774;&amp;#xC2A4;&amp;#xB97C; &amp;#xBAA8;&amp;#xB450; &amp;#xB4F1;&amp;#xB85D;&amp;#xD588;&amp;#xAE30;&amp;#xC5D0; &amp;#xAC1D;&amp;#xCCB4;&amp;#xB97C; &amp;#xC8FC;&amp;#xC785;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;java&quot; class=&quot;language-java&quot;&gt;&lt;span class=&quot;token annotation punctuation&quot;&gt;@Transactional&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;readOnly &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token boolean&quot;&gt;true&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token annotation punctuation&quot;&gt;@RequiredArgsConstructor&lt;/span&gt;
&lt;span class=&quot;token annotation punctuation&quot;&gt;@Service&lt;/span&gt;
&lt;span class=&quot;token keyword keyword-class&quot;&gt;class&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;UserServiceImpl&lt;/span&gt; &lt;span class=&quot;token keyword keyword-implements&quot;&gt;implements&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;UserService&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;token keyword keyword-private&quot;&gt;private&lt;/span&gt; &lt;span class=&quot;token keyword keyword-final&quot;&gt;final&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;UserRepository&lt;/span&gt; userRepository&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

    &lt;span class=&quot;token annotation punctuation&quot;&gt;@Override&lt;/span&gt;
    &lt;span class=&quot;token keyword keyword-public&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;User&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;findById&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;Long&lt;/span&gt; id&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
        &lt;span class=&quot;token keyword keyword-return&quot;&gt;return&lt;/span&gt; userRepository&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;findById&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;id&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;orElseThrow&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;-&amp;gt;&lt;/span&gt; &lt;span class=&quot;token keyword keyword-new&quot;&gt;new&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;RuntimeException&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;User not found&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

    &lt;span class=&quot;token annotation punctuation&quot;&gt;@Override&lt;/span&gt;
    &lt;span class=&quot;token annotation punctuation&quot;&gt;@Transactional&lt;/span&gt;
    &lt;span class=&quot;token keyword keyword-public&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;User&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;save&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;User&lt;/span&gt; user&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
        &lt;span class=&quot;token keyword keyword-return&quot;&gt;return&lt;/span&gt; userRepository&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;save&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;user&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;hr&gt;
&lt;h2 class=&quot;mume-header&quot; id=&quot;div-ida033-repository-interface-%EC%A0%95%EC%9D%98%ED%95%98%EA%B8%B0div&quot;&gt;&lt;div id=&quot;a03&quot;&gt;3. Repository Interface &amp;#xC815;&amp;#xC758;&amp;#xD558;&amp;#xAE30;&lt;/div&gt;&lt;/h2&gt;

&lt;p&gt;CrudRepository&amp;#xB098; JpaRepository &amp;#xCF54;&amp;#xB4DC;&amp;#xB97C; &amp;#xC0B4;&amp;#xD3B4;&amp;#xBCF4;&amp;#xBA74; &lt;strong&gt;@NoRepositoryBean&lt;/strong&gt; &amp;#xB77C;&amp;#xB294; &amp;#xC560;&amp;#xB108;&amp;#xD14C;&amp;#xC774;&amp;#xC158;&amp;#xC774; &amp;#xBD99;&amp;#xC740; &amp;#xAC83;&amp;#xC744; &amp;#xD655;&amp;#xC778;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;java&quot; class=&quot;language-java&quot;&gt;&lt;span class=&quot;token annotation punctuation&quot;&gt;@NoRepositoryBean&lt;/span&gt;
&lt;span class=&quot;token keyword keyword-public&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;token keyword keyword-interface&quot;&gt;interface&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;CrudRepository&lt;/span&gt;&lt;span class=&quot;token generics&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;T&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; ID&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;token keyword keyword-extends&quot;&gt;extends&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;Repository&lt;/span&gt;&lt;span class=&quot;token generics&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;T&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; ID&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;br&gt;
&lt;p&gt;&lt;em&gt;Repository&lt;/em&gt; &amp;#xB97C; &amp;#xD655;&amp;#xC7A5;&amp;#xD55C; &amp;#xB2E4;&amp;#xB978; &amp;#xC778;&amp;#xD130;&amp;#xD398;&amp;#xC774;&amp;#xC2A4;&amp;#xC5D0;&amp;#xB3C4; &lt;strong&gt;@NoRepositoryBean&lt;/strong&gt; &amp;#xC560;&amp;#xB108;&amp;#xD14C;&amp;#xC774;&amp;#xC158;&amp;#xC774; &amp;#xC124;&amp;#xC815;&amp;#xB41C;&amp;#xAC83;&amp;#xC744; &amp;#xD655;&amp;#xC778;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xB294;&amp;#xB370;, &amp;#xC774; &amp;#xC560;&amp;#xB108;&amp;#xD14C;&amp;#xC774;&amp;#xC158;&amp;#xC740; &amp;#xD2B9;&amp;#xC815; &amp;#xB3C4;&amp;#xBA54;&amp;#xC778; &amp;#xC5D4;&amp;#xD2F0;&amp;#xD2F0;&amp;#xC640; &amp;#xC5F0;&amp;#xACB0;&amp;#xB41C; &amp;#xAC83;&amp;#xC774; &amp;#xC544;&amp;#xB2CC; &amp;#xACF5;&amp;#xD1B5; &amp;#xCFFC;&amp;#xB9AC;&amp;#xBA54;&amp;#xC11C;&amp;#xB4DC;&amp;#xB97C; &amp;#xC815;&amp;#xC758;&amp;#xD560; &amp;#xC778;&amp;#xD130;&amp;#xD398;&amp;#xC774;&amp;#xC2A4;&amp;#xB97C; &amp;#xC120;&amp;#xC5B8;&amp;#xD558;&amp;#xB294; &amp;#xC560;&amp;#xB108;&amp;#xD14C;&amp;#xC774;&amp;#xC158; &amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;#xCC38;&amp;#xACE0;&amp;#xB85C; &lt;em&gt;@NoRepositoryBean&lt;/em&gt; &amp;#xC560;&amp;#xB108;&amp;#xD14C;&amp;#xC774;&amp;#xC158;&amp;#xC744; &amp;#xC124;&amp;#xC815;&amp;#xD560; &amp;#xACBD;&amp;#xC6B0;, Spring Data&amp;#xAC00; &amp;#xB7F0;&amp;#xD0C0;&amp;#xC784; &amp;#xC911;&amp;#xC5D0; &amp;#xD574;&amp;#xB2F9; &amp;#xC778;&amp;#xC2A4;&amp;#xD134;&amp;#xC2A4;&amp;#xB97C; &amp;#xC0DD;&amp;#xC131;&amp;#xD558;&amp;#xC9C0; &amp;#xC54A;&amp;#xAC8C; &amp;#xD574;&amp;#xC90D;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;br&gt;
&lt;p&gt;&amp;#xB9CC;&amp;#xC57D; &amp;#xC5EC;&amp;#xB7EC; &amp;#xB3C4;&amp;#xBA54;&amp;#xC778; &amp;#xC5D4;&amp;#xD2F0;&amp;#xD2F0;&amp;#xC5D0;&amp;#xC11C; &amp;#xACF5;&amp;#xD1B5;&amp;#xC801;&amp;#xC73C;&amp;#xB85C; &amp;#xD65C;&amp;#xC6A9;&amp;#xB420; &amp;#xCFFC;&amp;#xB9AC; &amp;#xBA54;&amp;#xC11C;&amp;#xB4DC;&amp;#xB4E4;&amp;#xC774; &amp;#xC788;&amp;#xB2E4;&amp;#xBA74; &amp;#xCEE4;&amp;#xC2A4;&amp;#xD140; &amp;#xBCA0;&amp;#xC774;&amp;#xC2A4; Repoistory&amp;#xB97C; &amp;#xC120;&amp;#xC5B8;&amp;#xD558;&amp;#xB294; &amp;#xAC83;&amp;#xB3C4; &amp;#xC88B;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;java&quot; class=&quot;language-java&quot;&gt;&lt;span class=&quot;token annotation punctuation&quot;&gt;@NoRepositoryBean&lt;/span&gt;
&lt;span class=&quot;token keyword keyword-interface&quot;&gt;interface&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;MyBaseRepository&lt;/span&gt;&lt;span class=&quot;token generics&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;T&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; ID&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;token keyword keyword-extends&quot;&gt;extends&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;Repository&lt;/span&gt;&lt;span class=&quot;token generics&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;T&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; ID&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;

  &lt;span class=&quot;token class-name&quot;&gt;Optional&lt;/span&gt;&lt;span class=&quot;token generics&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;T&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;findById&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;ID&lt;/span&gt; id&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

  &lt;span class=&quot;token generics&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;S&lt;/span&gt; &lt;span class=&quot;token keyword keyword-extends&quot;&gt;extends&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;T&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;S&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;save&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;S&lt;/span&gt; entity&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token keyword keyword-interface&quot;&gt;interface&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;UserRepository&lt;/span&gt; &lt;span class=&quot;token keyword keyword-extends&quot;&gt;extends&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;MyBaseRepository&lt;/span&gt;&lt;span class=&quot;token generics&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;User&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;Long&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;token class-name&quot;&gt;User&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;findByEmail&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;String&lt;/span&gt; email&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;hr&gt;
&lt;h3 class=&quot;mume-header&quot; id&gt;++&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Working with Spring Data Repositories&lt;/li&gt;
&lt;li&gt;Defining Repository Interfaces&lt;/li&gt;
&lt;/ul&gt;

  &lt;/div&gt;&lt;/div&gt;</description>
      <category>Spring/Spring Docs</category>
      <category>spring data commons</category>
      <category>spring docs</category>
      <author>jiniya22</author>
      <guid isPermaLink="true">https://jini-box.tistory.com/252</guid>
      <comments>https://jini-box.tistory.com/252#entry252comment</comments>
      <pubDate>Tue, 17 Dec 2024 11:10:08 +0900</pubDate>
    </item>
    <item>
      <title>[Spring Data Commons] 1. 개요</title>
      <link>https://jini-box.tistory.com/251</link>
      <description>&lt;div id=&quot;html-export&quot;&gt;
      &lt;div class=&quot;mume markdown-preview  &quot;&gt;
      &lt;p&gt;Spring Data Commons &amp;#xD504;&amp;#xB85C;&amp;#xC81D;&amp;#xD2B8;&amp;#xB294; &amp;#xB2E4;&amp;#xC591;&amp;#xD55C; &amp;#xAD00;&amp;#xACC4;&amp;#xD615; &amp;amp; &amp;#xBE44;&amp;#xAD00;&amp;#xACC4;&amp;#xD615; &amp;#xB370;&amp;#xC774;&amp;#xD130; &amp;#xC800;&amp;#xC7A5;&amp;#xC18C;&amp;#xC5D0; &amp;#xC0AC;&amp;#xC6A9;&amp;#xB418;&amp;#xB294; &amp;#xC194;&amp;#xB8E8;&amp;#xC158; &amp;#xAC1C;&amp;#xBC1C;&amp;#xC758; &amp;#xD575;&amp;#xC2EC; Spring &amp;#xAC1C;&amp;#xB150;&amp;#xC744; &amp;#xC81C;&amp;#xACF5;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 class=&quot;mume-header&quot; id=&quot;1-dependencies&quot;&gt;1. Dependencies&lt;/h2&gt;

&lt;p&gt;&amp;#xAC01;&amp;#xAC01;&amp;#xC758; Spring Data &amp;#xBAA8;&amp;#xB4C8;&amp;#xB4E4;&amp;#xC758; &amp;#xC2DC;&amp;#xC791;&amp;#xC77C;&amp;#xC774; &amp;#xBAA8;&amp;#xB450; &amp;#xB2E4;&amp;#xB974;&amp;#xAE30; &amp;#xB54C;&amp;#xBB38;&amp;#xC5D0; &amp;#xB300;&amp;#xBD80;&amp;#xBD84; major, minor &amp;#xBC84;&amp;#xC804;&amp;#xC774; &amp;#xB2E4;&amp;#xB985;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xD638;&amp;#xD658;&amp;#xB418;&amp;#xB294; &amp;#xBC84;&amp;#xC804;&amp;#xC744; &amp;#xCC3E;&amp;#xB294; &amp;#xAC00;&amp;#xC7A5; &amp;#xC26C;&amp;#xC6B4; &amp;#xBC29;&amp;#xBC95;&amp;#xC740; Spring Data Release Train&amp;#xC744; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD558;&amp;#xB294; &amp;#xAC83;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Spring Data Release Train&amp;#xB0B4;&amp;#xC5D0;&amp;#xB294; &amp;#xAC01; &amp;#xBAA8;&amp;#xB4C8;&amp;#xC774; &amp;#xD1B5;&amp;#xD569;&amp;#xC801;&amp;#xC73C;&amp;#xB85C; &amp;#xD638;&amp;#xD658;&amp;#xB418;&amp;#xAE30; &amp;#xC704;&amp;#xD55C; &amp;#xBC84;&amp;#xC804;&amp;#xC774; &amp;#xC815;&amp;#xC758;&amp;#xB418;&amp;#xC5B4;&amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;br&gt;
&lt;h3 class=&quot;mume-header&quot; id=&quot;11-spring-data-release-train-bom&quot;&gt;1.1. Spring Data release train BOM&lt;/h3&gt;

&lt;p&gt;&amp;#xB9B4;&amp;#xB9AC;&amp;#xC988; &amp;#xD2B8;&amp;#xB808;&amp;#xC778; &amp;#xBC84;&amp;#xC804;&amp;#xC740; &lt;a href=&quot;https://calver.org/&quot;&gt;calver&lt;/a&gt; &amp;#xD328;&amp;#xD134; &amp;#xC591;&amp;#xC2DD;&amp;#xC778; &lt;code&gt;YYYY.MINOR.MICRO&lt;/code&gt; &amp;#xC744; &amp;#xB530;&amp;#xB974;&amp;#xBA70;, &amp;#xD604;&amp;#xC7AC; &amp;#xB0A0;&amp;#xC9DC; &amp;#xAE30;&amp;#xC900;&amp;#xC73C;&amp;#xB85C; &lt;code&gt;2024.1.0&lt;/code&gt; &amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;#x203B; spring-data-commons&amp;#xC758; &lt;a href=&quot;https://github.com/spring-projects/spring-data-commons/wiki&quot;&gt;Release Notes&lt;/a&gt; &amp;#xCC38;&amp;#xACE0;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;GA &amp;#xB9B4;&amp;#xB9AC;&amp;#xC988;, &amp;#xC11C;&amp;#xBE44;&amp;#xC2A4; &amp;#xB9B4;&amp;#xB9AC;&amp;#xC988;&amp;#xB294; &lt;code&gt;${calver}&lt;/code&gt; &amp;#xD3EC;&amp;#xB9F7;&amp;#xC73C;&amp;#xB85C; &amp;#xBC84;&amp;#xC804;&amp;#xC774; &amp;#xC815;&amp;#xC758;&amp;#xB418;&amp;#xACE0;&lt;br&gt;
&amp;#xADF8; &amp;#xC678;&amp;#xC758; &amp;#xB9B4;&amp;#xB9AC;&amp;#xC988;&amp;#xB4E4;&amp;#xC758; &amp;#xACBD;&amp;#xC6B0; suffix&amp;#xB85C; &amp;#xC544;&amp;#xB798;&amp;#xC640; &amp;#xAC19;&amp;#xC740; modifier&amp;#xB97C; &amp;#xBD99;&amp;#xC5EC; &lt;code&gt;${calver}-${modifier}&lt;/code&gt; &amp;#xD3EC;&amp;#xB9F7;&amp;#xC744; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;SNAPSHOT&lt;/strong&gt;: &amp;#xD604;&amp;#xC7AC;&amp;#xC2A4;&amp;#xB0C5;&amp;#xC0F7;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;M1, M2, ...&lt;/strong&gt;: &amp;#xB9C8;&amp;#xC77C;&amp;#xC2A4;&amp;#xD1A4;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;RC1, RC2, ...&lt;/strong&gt;: &amp;#xB9B4;&amp;#xB9AC;&amp;#xC988; &amp;#xD6C4;&amp;#xBCF4;&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/spring-projects/spring-data-examples/tree/main/bom&quot;&gt;Spring Data examples repository&lt;/a&gt;&amp;#xC5D0;&amp;#xC11C; &amp;#xC608;&amp;#xC81C;&amp;#xCF54;&amp;#xB4DC;&amp;#xB97C; &amp;#xCC3E;&amp;#xC544;&amp;#xBCFC; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;#xD604; &amp;#xBB38;&amp;#xC11C;&amp;#xC5D0;&amp;#xC11C; &amp;#xC124;&amp;#xBA85;&amp;#xD558;&amp;#xACE0; &amp;#xC788;&amp;#xB294; Spring Data Common &amp;#xBAA8;&amp;#xB4C8;&amp;#xC758; &amp;#xBC84;&amp;#xC804;&amp;#xC740; Spring Framework 6.2.0 &amp;#xC774;&amp;#xC0C1;&amp;#xC744; &amp;#xC694;&amp;#xAD6C;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;br&gt;
&lt;p&gt;&lt;strong&gt;1.1.1. maven&lt;/strong&gt;&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;xml&quot; class=&quot;language-xml&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;properties&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
  &lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;spring-data-bom.version&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;2024.1.0&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;/&lt;/span&gt;spring-data-bom.version&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;/&lt;/span&gt;properties&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;

&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;dependencyManagement&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
  &lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;dependencies&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
    &lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;dependency&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
      &lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;groupId&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;org.springframework.data&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;/&lt;/span&gt;groupId&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
      &lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;artifactId&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;spring-data-bom&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;/&lt;/span&gt;artifactId&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
      &lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;version&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;${spring-data-bom.version}&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;/&lt;/span&gt;version&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
      &lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;scope&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;import&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;/&lt;/span&gt;scope&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
      &lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;type&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;pom&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;/&lt;/span&gt;type&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
    &lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;/&lt;/span&gt;dependency&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
  &lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;/&lt;/span&gt;dependencies&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;/&lt;/span&gt;dependencyManagement&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;/pre&gt;&lt;br&gt;
&lt;p&gt;&lt;strong&gt;1.1.2. gradle&lt;/strong&gt;&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;groovy&quot; class=&quot;language-groovy&quot;&gt;ext &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	springDataBomVersion &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;apos;2024.1.0&amp;apos;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

dependencyManagement &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	imports &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
		mavenBom &lt;span class=&quot;token string&quot;&gt;&amp;quot;org.springframework.data:spring-data-bom:${springDataBomVersion}&amp;quot;&lt;/span&gt;
	&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;br&gt;
&lt;h3 class=&quot;mume-header&quot; id=&quot;12-spring-boot-%EC%A2%85%EC%86%8D%EC%84%B1-%EA%B4%80%EB%A6%AC&quot;&gt;1.2. Spring Boot &amp;#xC885;&amp;#xC18D;&amp;#xC131; &amp;#xAD00;&amp;#xB9AC;&lt;/h3&gt;

&lt;p&gt;Spring Boot&amp;#xB294; &amp;#xCD5C;&amp;#xC2E0;&amp;#xBC84;&amp;#xC804;&amp;#xC758; Spring Data &amp;#xBAA8;&amp;#xB4C8;&amp;#xC744; &amp;#xC120;&amp;#xD0DD;&amp;#xD574; &amp;#xC90D;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xB9CC;&amp;#xC57D; &amp;#xC0C8;&amp;#xBC84;&amp;#xC804;&amp;#xC73C;&amp;#xB85C; &amp;#xC5C5;&amp;#xADF8;&amp;#xB808;&amp;#xC774;&amp;#xB4DC; &amp;#xD558;&amp;#xAE30;&amp;#xB97C; &amp;#xC6D0;&amp;#xD55C;&amp;#xB2E4;&amp;#xBA74;, &lt;em&gt;spring-data-bom.version&lt;/em&gt; &amp;#xBC84;&amp;#xC804;&amp;#xC744; &amp;#xCD5C;&amp;#xC2E0;&amp;#xD654;&amp;#xD558;&amp;#xBA74; &amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Spring Docs&amp;#xC758; &lt;a href=&quot;https://docs.spring.io/spring-boot/appendix/dependency-versions/properties.html#appendix.dependency-versions.properties&quot;&gt;Version Properties&lt;/a&gt; &amp;#xBB38;&amp;#xC11C;&amp;#xB97C; &amp;#xBCF4;&amp;#xBA74;, Spring Boot&amp;#xC5D0; &amp;#xC758;&amp;#xD574; &amp;#xAD00;&amp;#xB9AC;&amp;#xB418;&amp;#xACE0; &amp;#xC788;&amp;#xB294; &amp;#xB77C;&amp;#xC774;&amp;#xBE0C;&amp;#xB7EC;&amp;#xB9AC;&amp;#xB4E4;&amp;#xC758; &amp;#xBC84;&amp;#xC804;&amp;#xC744; override&amp;#xD558;&amp;#xAE30;&amp;#xC704;&amp;#xD55C; &amp;#xBC84;&amp;#xC804;&amp;#xACFC; &amp;#xAD00;&amp;#xB828;&amp;#xB41C; &amp;#xD504;&amp;#xB85C;&amp;#xD37C;&amp;#xD2F0;&amp;#xBA85;&amp;#xC744; &amp;#xC81C;&amp;#xACF5;&amp;#xD558;&amp;#xACE0; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xAD00;&amp;#xB828; &amp;#xC0AC;&amp;#xD56D;&amp;#xC774;&amp;#xC774; &amp;#xAD81;&amp;#xAE08;&amp;#xD558;&amp;#xB2E4;&amp;#xBA74; &amp;#xD574;&amp;#xB2F9; &amp;#xBB38;&amp;#xC11C;&amp;#xB97C; &amp;#xCC38;&amp;#xACE0;&amp;#xD558;&amp;#xBA74; &amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr&gt;
&lt;h2 class=&quot;mume-header&quot; id=&quot;2-spring-data-%EC%97%85%EA%B7%B8%EB%A0%88%EC%9D%B4%EB%93%9C&quot;&gt;2. Spring Data &amp;#xC5C5;&amp;#xADF8;&amp;#xB808;&amp;#xC774;&amp;#xB4DC;&lt;/h2&gt;

&lt;p&gt;Spring Data &amp;#xBC84;&amp;#xC804;&amp;#xC744; &amp;#xC5C5;&amp;#xADF8;&amp;#xB808;&amp;#xC774;&amp;#xB4DC;&amp;#xD558;&amp;#xAE30; &amp;#xC704;&amp;#xD55C; &amp;#xBC29;&amp;#xBC95;&amp;#xC740; &lt;a href=&quot;https://github.com/spring-projects/spring-data-commons/wiki&quot;&gt;&amp;#xD504;&amp;#xB85C;&amp;#xC81D;&amp;#xD2B8;&amp;#xC758; Wiki&lt;/a&gt; &amp;#xD398;&amp;#xC774;&amp;#xC9C0;&amp;#xB97C; &amp;#xCC38;&amp;#xACE0;&amp;#xD558;&amp;#xBA74; &amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;Wiki&amp;#xC758; &amp;#xB9B4;&amp;#xB9AC;&amp;#xC988; &amp;#xB178;&amp;#xD2B8;&amp;#xC5D0;&amp;#xB294; &amp;#xAC01; &amp;#xBC84;&amp;#xC804;&amp;#xBCC4;&amp;#xB85C; &amp;#xC5C5;&amp;#xADF8;&amp;#xB808;&amp;#xC774;&amp;#xB4DC;&amp;#xB97C; &amp;#xC704;&amp;#xD55C; &amp;#xC9C0;&amp;#xCE68;&amp;#xC744; &amp;#xD3EC;&amp;#xD568;&amp;#xD558;&amp;#xACE0; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xB9CC;&amp;#xC77C; &amp;#xB9B4;&amp;#xB9AC;&amp;#xC988; &amp;#xB178;&amp;#xD2B8; &amp;#xC5C5;&amp;#xB370;&amp;#xC774;&amp;#xD2B8;&amp;#xAC00; &amp;#xC5EC;&amp;#xB7EC;&amp;#xAC1C;&amp;#xAC00; &amp;#xC788;&amp;#xB2E4;&amp;#xBA74; &amp;#xACFC;&amp;#xAC70; &amp;#xB9B4;&amp;#xB9AC;&amp;#xC988; &amp;#xB178;&amp;#xD2B8;&amp;#xB3C4; &amp;#xAC80;&amp;#xD1A0;&amp;#xD55C; &amp;#xD6C4; &amp;#xC5C5;&amp;#xADF8;&amp;#xB808;&amp;#xC774;&amp;#xB4DC; &amp;#xD558;&amp;#xB294; &amp;#xAC83;&amp;#xC774; &amp;#xC88B;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 class=&quot;mume-header&quot; id=&quot;3-object-mapping&quot;&gt;3. Object Mapping&lt;/h2&gt;

&lt;p&gt;Spring Data &amp;#xAC1D;&amp;#xCCB4; &amp;#xB9E4;&amp;#xD551;/&amp;#xC0DD;&amp;#xC131; &amp;#xACFC; &amp;#xAC01; &amp;#xD544;&amp;#xB4DC; &amp;#xBC0F; &amp;#xD504;&amp;#xB85C;&amp;#xD37C;&amp;#xD2F0;&amp;#xC5D0; &amp;#xC811;&amp;#xADFC;&amp;#xD558;&amp;#xB294; &amp;#xAC83;, &amp;#xADF8;&amp;#xB9AC;&amp;#xACE0; &amp;#xAC00;&amp;#xBCC0;&amp;#xC131;/&amp;#xBD88;&amp;#xBCC0;&amp;#xC131;&amp;#xC5D0; &amp;#xB300;&amp;#xD55C; &amp;#xAE30;&amp;#xBCF8;&amp;#xC0AC;&amp;#xD56D;&amp;#xC744; &amp;#xC54C;&amp;#xC544;&amp;#xBD05;&amp;#xC2DC;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xC774; &amp;#xD3EC;&amp;#xC2A4;&amp;#xD305;&amp;#xC5D0;&amp;#xC11C;&amp;#xB294; JPA&amp;#xC640; &amp;#xAC19;&amp;#xC740; &amp;#xB370;&amp;#xC774;&amp;#xD130; &amp;#xC800;&amp;#xC7A5;&amp;#xC18C;&amp;#xC758; &amp;#xAC1D;&amp;#xCCB4; &amp;#xB9E4;&amp;#xD551;&amp;#xC744; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD558;&amp;#xC9C0; &amp;#xC54A;&amp;#xB294; Spring Data &amp;#xBAA8;&amp;#xB4C8;&amp;#xC5D0; &amp;#xB300;&amp;#xD574; &amp;#xC124;&amp;#xBA85;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;Spring Data &amp;#xAC1D;&amp;#xCCB4; &amp;#xB9E4;&amp;#xD551;&amp;#xC758; &amp;#xD575;&amp;#xC2EC; &amp;#xCC45;&amp;#xC784;&amp;#xC740; &amp;#xB3C4;&amp;#xBA54;&amp;#xC778; &amp;#xAC1D;&amp;#xCCB4;&amp;#xC758; &amp;#xC778;&amp;#xC2A4;&amp;#xD134;&amp;#xC2A4;&amp;#xB97C; &amp;#xC0DD;&amp;#xC131;&amp;#xD558;&amp;#xACE0;, store-native &amp;#xB370;&amp;#xC774;&amp;#xD130; &amp;#xAD6C;&amp;#xC870;&amp;#xB97C; &amp;#xADF8; &amp;#xC778;&amp;#xC2A4;&amp;#xD134;&amp;#xC2A4;&amp;#xC5D0; &amp;#xB9E4;&amp;#xD551;&amp;#xD558;&amp;#xB294; &amp;#xAC83;&amp;#xC73C;&amp;#xB85C;, &amp;#xC544;&amp;#xB798; 2&amp;#xAC00;&amp;#xC9C0; &amp;#xAE30;&amp;#xBCF8; &amp;#xB2E8;&amp;#xACC4;&amp;#xB97C; &amp;#xD544;&amp;#xC694;&amp;#xB85C; &amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&amp;#xB178;&amp;#xCD9C; &amp;#xB418;&amp;#xC5B4;&amp;#xC788;&amp;#xB294; &amp;#xC0DD;&amp;#xC131;&amp;#xC790;&amp;#xB97C; &amp;#xC774;&amp;#xC6A9;&amp;#xD55C; &amp;#xAC1D;&amp;#xCCB4; &amp;#xC0DD;&amp;#xC131;&lt;/li&gt;
&lt;li&gt;&amp;#xB178;&amp;#xCD9C;&amp;#xB41C; &amp;#xBAA8;&amp;#xB4E0; &amp;#xD504;&amp;#xB85C;&amp;#xD37C;&amp;#xD2F0;&amp;#xB97C; &amp;#xAD6C;&amp;#xCCB4;&amp;#xD654;&amp;#xD558;&amp;#xAE30; &amp;#xC704;&amp;#xD55C; &amp;#xAC1D;&amp;#xCCB4; &amp;#xC694;&amp;#xC18C;&lt;/li&gt;
&lt;/ol&gt;
&lt;br&gt;
&lt;h3 class=&quot;mume-header&quot; id=&quot;div-ida03-131-%EA%B0%9D%EC%B2%B4-%EC%83%9D%EC%84%B1div&quot;&gt;&lt;div id=&quot;a03-1&quot;&gt;3.1. &amp;#xAC1D;&amp;#xCCB4; &amp;#xC0DD;&amp;#xC131;&lt;/div&gt;&lt;/h3&gt;

&lt;p&gt;Spring Data&amp;#xB294; &amp;#xD574;&amp;#xB2F9; &amp;#xD0C0;&amp;#xC785;&amp;#xC758; &amp;#xAC1D;&amp;#xCCB4;&amp;#xB97C; &amp;#xAD6C;&amp;#xCCB4;&amp;#xD654;&amp;#xD558;&amp;#xAE30; &amp;#xC704;&amp;#xD574; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD560; &amp;#xD37C;&amp;#xC2DC;&amp;#xC2A4;&amp;#xD134;&amp;#xC2A4; &amp;#xC5D4;&amp;#xD2F0;&amp;#xD2F0;&amp;#xC758; &amp;#xC0DD;&amp;#xC131;&amp;#xC790;&amp;#xB97C; &amp;#xAC10;&amp;#xC9C0;&amp;#xD558;&amp;#xAE30; &amp;#xC704;&amp;#xD574; &amp;#xC2DC;&amp;#xB3C4;&amp;#xD558;&amp;#xBA70;, &amp;#xC544;&amp;#xB798;&amp;#xC640; &amp;#xAC19;&amp;#xC740; &amp;#xC870;&amp;#xAC74;&amp;#xC5D0; &amp;#xC758;&amp;#xD574; &amp;#xAC1D;&amp;#xCCB4;&amp;#xB97C; &amp;#xC0DD;&amp;#xC131;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&amp;#xB9CC;&amp;#xC77C; &lt;em&gt;@PersistenceCreator&lt;/em&gt; &amp;#xC560;&amp;#xB108;&amp;#xD14C;&amp;#xC774;&amp;#xC158;&amp;#xC774; &amp;#xC124;&amp;#xC815;&amp;#xB41C; &amp;#xB2E8;&amp;#xC77C; &amp;#xC815;&amp;#xC801; &amp;#xD329;&amp;#xD1A0;&amp;#xB9AC; &amp;#xBA54;&amp;#xC11C;&amp;#xB4DC;&amp;#xAC00; &amp;#xC874;&amp;#xC7AC;&amp;#xD560; &amp;#xACBD;&amp;#xC6B0;, &amp;#xADF8;&amp;#xAC83;&amp;#xC744; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD568;&lt;/li&gt;
&lt;li&gt;&amp;#xC0DD;&amp;#xC131;&amp;#xC790;&amp;#xAC00; &amp;#xB2E8; &amp;#xD558;&amp;#xB098;&amp;#xC77C; &amp;#xACBD;&amp;#xC6B0;, &amp;#xADF8;&amp;#xAC83;&amp;#xC744; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD568;&lt;/li&gt;
&lt;li&gt;&amp;#xC5EC;&amp;#xB7EC;&amp;#xAC1C;&amp;#xC758; &amp;#xC0DD;&amp;#xC131;&amp;#xC790;&amp;#xAC00; &amp;#xC788;&amp;#xC73C;&amp;#xB098; &lt;em&gt;@PersistenceCreator&lt;/em&gt; &amp;#xC560;&amp;#xB108;&amp;#xD14C;&amp;#xC774;&amp;#xC158;&amp;#xC774; &amp;#xC124;&amp;#xC815;&amp;#xB41C; &amp;#xC0DD;&amp;#xC131;&amp;#xC790;&amp;#xAC00; &amp;#xB2E8; &amp;#xD558;&amp;#xB098;&amp;#xC77C; &amp;#xACBD;&amp;#xC6B0;, &amp;#xADF8;&amp;#xAC83;&amp;#xC744; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD568;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;record class&lt;/em&gt; &amp;#xD0C0;&amp;#xC785;&amp;#xC77C; &amp;#xACBD;&amp;#xC6B0;, &amp;#xADF8;&amp;#xAC83;&amp;#xC744; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD568;&lt;/li&gt;
&lt;li&gt;NoArgsConstructor(&amp;#xC778;&amp;#xC218; &amp;#xC5C6;&amp;#xB294; &amp;#xC0DD;&amp;#xC131;&amp;#xC790;)&amp;#xAC00; &amp;#xC874;&amp;#xC7AC;&amp;#xD560; &amp;#xACBD;&amp;#xC6B0;, (&amp;#xB2E4;&amp;#xB978; &amp;#xC0DD;&amp;#xC131;&amp;#xC790;&amp;#xB294; &amp;#xBAA8;&amp;#xB450; &amp;#xBB34;&amp;#xC2DC;&amp;#xD558;&amp;#xACE0;) &amp;#xADF8;&amp;#xAC83;&amp;#xC744; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD568;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&amp;#xAC12;&amp;#xC740; &amp;#xAE30;&amp;#xBCF8;&amp;#xC801;&amp;#xC73C;&amp;#xB85C; &amp;#xC5D4;&amp;#xD2F0;&amp;#xD2F0;&amp;#xC758; &amp;#xD504;&amp;#xB85C;&amp;#xD37C;&amp;#xD2F0;&amp;#xBA85;&amp;#xACFC; &amp;#xC0DD;&amp;#xC131;&amp;#xC790;(&amp;#xB610;&amp;#xB294; &amp;#xD329;&amp;#xD1A0;&amp;#xB9AC; &amp;#xBA54;&amp;#xC11C;&amp;#xB4DC;) &amp;#xC778;&amp;#xC218; &amp;#xC774;&amp;#xB984;&amp;#xC774; &amp;#xB3D9;&amp;#xC77C;&amp;#xD558;&amp;#xB2E4;&amp;#xACE0; &amp;#xAC00;&amp;#xC815;&amp;#xD558;&amp;#xC5EC; &amp;#xD574;&amp;#xB2F9; &amp;#xC18D;&amp;#xC131;&amp;#xB4E4;&amp;#xC744; &amp;#xCC44;&amp;#xC6CC;&amp;#xC838;&amp;#xC11C; &amp;#xD45C;&amp;#xD604;&amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xC0DD;&amp;#xC131;&amp;#xC790;(&amp;#xB610;&amp;#xB294; &amp;#xD329;&amp;#xD1A0;&amp;#xB9AC; &amp;#xBA54;&amp;#xC11C;&amp;#xB4DC;)&amp;#xC5D0; &amp;#xC124;&amp;#xC815;&amp;#xB41C; &amp;#xC778;&amp;#xC218;&amp;#xAC12;&amp;#xACFC; &amp;#xC5D4;&amp;#xD2F0;&amp;#xD2F0;&amp;#xC758; &amp;#xD504;&amp;#xB85C;&amp;#xD37C;&amp;#xD2F0;&amp;#xBA85;&amp;#xC744; &amp;#xB2EC;&amp;#xB9AC;&amp;#xD558;&amp;#xBA74;&amp;#xC11C; &amp;#xAC12;&amp;#xC744; &amp;#xD45C;&amp;#xD604;&amp;#xD558;&amp;#xACE0; &amp;#xC2F6;&amp;#xB2E4;&amp;#xBA74; &lt;strong&gt;@ConstructorProperties&lt;/strong&gt; &amp;#xC5D0; &amp;#xC124;&amp;#xC815;&amp;#xD558;&amp;#xBA74; &amp;#xB418;&amp;#xACE0;,&lt;br&gt;
&lt;strong&gt;@Value&lt;/strong&gt; &amp;#xC560;&amp;#xB108;&amp;#xD14C;&amp;#xC774;&amp;#xC158;&amp;#xC73C;&amp;#xB85C; SpEL &amp;#xD45C;&amp;#xD604;&amp;#xC2DD;&amp;#xC744; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD558;&amp;#xC5EC; &amp;#xC0AC;&amp;#xC6A9;&amp;#xC790; &amp;#xC815;&amp;#xC758; &amp;#xBC29;&amp;#xC2DD;&amp;#xC73C;&amp;#xB85C; &amp;#xAC12;&amp;#xC744; &amp;#xD45C;&amp;#xD604;&amp;#xD560; &amp;#xC218;&amp;#xB3C4; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;br&gt;
&lt;p&gt;&lt;strong&gt;&amp;#xAC1D;&amp;#xCCB4; &amp;#xC0DD;&amp;#xC131; &amp;#xC2DC; &amp;#xCD5C;&amp;#xC801;&amp;#xD654;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Spring Data &amp;#xAC1D;&amp;#xCCB4; &amp;#xC0DD;&amp;#xC131;&amp;#xC740; reflection &amp;#xC624;&amp;#xBC84;&amp;#xD5E4;&amp;#xB4DC;&amp;#xB97C; &amp;#xBC29;&amp;#xC9C0;&amp;#xD558;&amp;#xAE30; &amp;#xC704;&amp;#xD574; &amp;#xAE30;&amp;#xBCF8;&amp;#xC801;&amp;#xC73C;&amp;#xB85C; &amp;#xB7F0;&amp;#xD0C0;&amp;#xC784;&amp;#xC2DC; &amp;#xC0DD;&amp;#xC131;&amp;#xB41C; &amp;#xD329;&amp;#xD1A0;&amp;#xB9AC; &amp;#xD074;&amp;#xB798;&amp;#xC2A4;&amp;#xB97C; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD558;&amp;#xC5EC; &amp;#xAC1D;&amp;#xCCB4; &amp;#xC0DD;&amp;#xC131;&amp;#xC744; &amp;#xCD5C;&amp;#xC801;&amp;#xD654; &amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xD329;&amp;#xD1A0;&amp;#xB9AC; &amp;#xD074;&amp;#xB798;&amp;#xC2A4;&amp;#xB294; &amp;#xB3C4;&amp;#xBA54;&amp;#xC778; &amp;#xD074;&amp;#xB798;&amp;#xC2A4; &amp;#xC0DD;&amp;#xC131;&amp;#xC790;&amp;#xB97C; &amp;#xC9C1;&amp;#xC811; &amp;#xD638;&amp;#xCD9C;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&lt;br&gt;&lt;/p&gt;
&lt;p&gt;&amp;#xC608;&amp;#xB97C;&amp;#xB4E4;&amp;#xC5B4;, &amp;#xC544;&amp;#xB798;&amp;#xC640; &amp;#xAC19;&amp;#xC740; &amp;#xD074;&amp;#xB798;&amp;#xC2A4;&amp;#xAC00; &amp;#xC788;&amp;#xB2E4;&amp;#xACE0; &amp;#xD560;&amp;#xB54C;&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;java&quot; class=&quot;language-java&quot;&gt;&lt;span class=&quot;token keyword keyword-class&quot;&gt;class&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;Person&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;token class-name&quot;&gt;Person&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;String&lt;/span&gt; firstname&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;String&lt;/span&gt; lastname&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt; &amp;#x2026; &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;p&gt;&amp;#xB7F0;&amp;#xD0C0;&amp;#xC784; &amp;#xC911;&amp;#xC5D0; &amp;#xC544;&amp;#xB798;&amp;#xC640; &amp;#xAC19;&amp;#xC740; &amp;#xD329;&amp;#xD1A0;&amp;#xB9AC; &amp;#xD074;&amp;#xB798;&amp;#xC2A4;&amp;#xB97C; &amp;#xC0DD;&amp;#xC131;&amp;#xD558;&amp;#xC5EC; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;java&quot; class=&quot;language-java&quot;&gt;&lt;span class=&quot;token keyword keyword-class&quot;&gt;class&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;PersonObjectInstantiator&lt;/span&gt; &lt;span class=&quot;token keyword keyword-implements&quot;&gt;implements&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;ObjectInstantiator&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;

  &lt;span class=&quot;token class-name&quot;&gt;Object&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;newInstance&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;Object&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt; args&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;token keyword keyword-return&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;token keyword keyword-new&quot;&gt;new&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;Person&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;String&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; args&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;String&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; args&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;br&gt;
&lt;p&gt;&amp;#xD329;&amp;#xD1A0;&amp;#xB9AC; &amp;#xC0DD;&amp;#xC131;&amp;#xC790;&amp;#xB97C; &amp;#xB7F0;&amp;#xD0C0;&amp;#xC784;&amp;#xC2DC; &amp;#xC0DD;&amp;#xC131;&amp;#xD558;&amp;#xC5EC; &amp;#xD65C;&amp;#xC6A9;&amp;#xD558;&amp;#xB294; &amp;#xACBD;&amp;#xC6B0;, reflection&amp;#xC744; &amp;#xC774;&amp;#xC6A9;&amp;#xD558;&amp;#xB294; &amp;#xAC83;&amp;#xBCF4;&amp;#xB2E4; 10%&amp;#xC758; &amp;#xC131;&amp;#xB2A5; &amp;#xD5A5;&amp;#xC0C1;&amp;#xC774; &amp;#xC81C;&amp;#xACF5;&amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xB2E8;, &amp;#xC544;&amp;#xB798;&amp;#xC758; &amp;#xC870;&amp;#xAC74;&amp;#xC744; &amp;#xCDA9;&amp;#xC871;&amp;#xD558;&amp;#xB294; &amp;#xACBD;&amp;#xC6B0;&amp;#xC5D0;&amp;#xB9CC; &amp;#xB0B4;&amp;#xBD80;&amp;#xC801;&amp;#xC73C;&amp;#xB85C; &amp;#xD329;&amp;#xD1A0;&amp;#xB9AC; &amp;#xBA54;&amp;#xC11C;&amp;#xB4DC;&amp;#xB97C; &amp;#xC0DD;&amp;#xC131;&amp;#xD558;&amp;#xB2C8;, &amp;#xAD00;&amp;#xB828; &amp;#xC81C;&amp;#xC57D;&amp;#xC870;&amp;#xAC74;&amp;#xC5D0; &amp;#xC720;&amp;#xC758;&amp;#xD574;&amp;#xC57C; &amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
(&amp;#xB9CC;&amp;#xC77C;, &amp;#xC544;&amp;#xB798;&amp;#xC758; &amp;#xC81C;&amp;#xC57D;&amp;#xC870;&amp;#xAC74;&amp;#xC744; &amp;#xB9CC;&amp;#xC871;&amp;#xD558;&amp;#xC9C0; &amp;#xC54A;&amp;#xC744; &amp;#xACBD;&amp;#xC6B0;&amp;#xC5D0;&amp;#xB294; reflection&amp;#xC744; &amp;#xC774;&amp;#xC6A9;&amp;#xD558;&amp;#xC5EC; &amp;#xC5D4;&amp;#xD2F0;&amp;#xD2F0;&amp;#xB97C; &amp;#xAC1D;&amp;#xCCB4;&amp;#xD654; &amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.)&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;private class &amp;#xAC00; &amp;#xC544;&amp;#xB2C8;&amp;#xC5B4;&amp;#xC57C; &amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/li&gt;
&lt;li&gt;non-static inner class &amp;#xAC00; &amp;#xC544;&amp;#xB2C8;&amp;#xC5EC;&amp;#xC57C; &amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/li&gt;
&lt;li&gt;CGLib &amp;#xD504;&amp;#xB85D;&amp;#xC2DC; class&amp;#xAC00; &amp;#xC544;&amp;#xB2C8;&amp;#xC5B4;&amp;#xC57C; &amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/li&gt;
&lt;li&gt;Spring Data&amp;#xC5D0;&amp;#xC11C; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD560; &amp;#xC0DD;&amp;#xC131;&amp;#xC790;&amp;#xB294; private&amp;#xC774;&amp;#xBA74; &amp;#xC548;&amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;/li&gt;
&lt;/ol&gt;
&lt;br&gt;
&lt;h3 class=&quot;mume-header&quot; id=&quot;32-%ED%94%84%EB%A1%9C%ED%8D%BC%ED%8B%B0%EC%86%8D%EC%84%B1-%EC%B1%84%EC%9A%B0%EA%B8%B0&quot;&gt;3.2. &amp;#xD504;&amp;#xB85C;&amp;#xD37C;&amp;#xD2F0;(&amp;#xC18D;&amp;#xC131;) &amp;#xCC44;&amp;#xC6B0;&amp;#xAE30;&lt;/h3&gt;

&lt;p&gt;&amp;#xC5D4;&amp;#xD2F0;&amp;#xD2F0; &amp;#xAC1D;&amp;#xCCB4;&amp;#xAC00; &amp;#xC0DD;&amp;#xC131;&amp;#xB420; &amp;#xB54C;, Spring Data&amp;#xB294; &amp;#xD074;&amp;#xB798;&amp;#xC2A4;&amp;#xC758; &amp;#xB098;&amp;#xBA38;&amp;#xC9C0; &amp;#xBAA8;&amp;#xB4E0; &amp;#xC601;&amp;#xAD6C;(persistent) &amp;#xC18D;&amp;#xC131;&amp;#xB4E4;&amp;#xC744; &amp;#xCC44;&amp;#xC6C1;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xB9CC;&amp;#xC77C; &amp;#xC5D4;&amp;#xD2F0;&amp;#xD2F0;&amp;#xC758; &amp;#xC0DD;&amp;#xC131;&amp;#xC790;&amp;#xC5D0; &amp;#xC758;&amp;#xD574; &amp;#xCC44;&amp;#xC6CC;&amp;#xC9C0;&amp;#xC9C0; &amp;#xC54A;&amp;#xB294; &amp;#xACBD;&amp;#xC6B0;&amp;#xC5D0;&amp;#xB294; &amp;#xC2DD;&amp;#xBCC4;&amp;#xC790; &amp;#xC18D;&amp;#xC131;&amp;#xC740; &amp;#xC21C;&amp;#xD658; &amp;#xAC1D;&amp;#xCCB4; &amp;#xCC38;&amp;#xC870;&amp;#xB97C; &amp;#xD574;&amp;#xACB0;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xB3C4;&amp;#xB85D; &amp;#xBA3C;&amp;#xC800; &amp;#xCC44;&amp;#xC6CC;&amp;#xC9D1;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xADF8; &amp;#xB2E4;&amp;#xC74C; &amp;#xBE44;&amp;#xC77C;&amp;#xC2DC;&amp;#xC801;(non-transient) &amp;#xC18D;&amp;#xC131;&amp;#xB4E4;&amp;#xC774; &amp;#xC5D4;&amp;#xD2F0;&amp;#xD2F0; &amp;#xAC1D;&amp;#xCCB4;&amp;#xC5D0; &amp;#xC124;&amp;#xC815;&amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xC18D;&amp;#xC131;&amp;#xC744; &amp;#xCC44;&amp;#xC6B0;&amp;#xB294; &amp;#xACFC;&amp;#xC815;&amp;#xC740; &amp;#xC544;&amp;#xB798;&amp;#xC758; &amp;#xB2E8;&amp;#xACC4;&amp;#xB97C; &amp;#xB530;&amp;#xB985;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;immutable property(&amp;#xBCC0;&amp;#xACBD;&amp;#xD560;&amp;#xC218; &amp;#xC5C6;&amp;#xB294; &amp;#xC18D;&amp;#xC131;)&amp;#xC774;&amp;#xBA74;&amp;#xC11C; &amp;#xACF5;&amp;#xAC1C;&amp;#xB418;&amp;#xC5B4;&amp;#xC788;&amp;#xB294; &lt;code&gt;with...&lt;/code&gt; &amp;#xBA54;&amp;#xC11C;&amp;#xB4DC;&amp;#xAC00; &amp;#xC788;&amp;#xB294; &amp;#xACBD;&amp;#xC6B0;, &lt;code&gt;with...&lt;/code&gt; &amp;#xBA54;&amp;#xC11C;&amp;#xB4DC;&amp;#xB97C; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD558;&amp;#xC5EC; &amp;#xC0C8; &amp;#xC18D;&amp;#xC131;&amp;#xAC12;&amp;#xC744; &amp;#xC0C8; &amp;#xC5D4;&amp;#xD2F0;&amp;#xD2F0; &amp;#xC778;&amp;#xC2A4;&amp;#xD134;&amp;#xC2A4;&amp;#xB97C; &amp;#xB9CC;&amp;#xB4ED;&amp;#xB2C8;&amp;#xB2E4;.&lt;/li&gt;
&lt;li&gt;setter&amp;#xB97C; &amp;#xC774;&amp;#xC6A9;&amp;#xD55C; &amp;#xC18D;&amp;#xC131; &amp;#xC811;&amp;#xADFC;&amp;#xC774; &amp;#xC815;&amp;#xC758;&amp;#xB418;&amp;#xC5B4;&amp;#xC788;&amp;#xB294; &amp;#xACBD;&amp;#xC6B0; setter&amp;#xB97C; &amp;#xD638;&amp;#xCD9C;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/li&gt;
&lt;li&gt;&amp;#xBCC0;&amp;#xACBD;&amp;#xAC00;&amp;#xB2A5;&amp;#xD55C; &amp;#xC18D;&amp;#xC131;&amp;#xC77C; &amp;#xACBD;&amp;#xC6B0; &amp;#xC9C1;&amp;#xC811; &amp;#xC124;&amp;#xC815;&lt;/li&gt;
&lt;li&gt;&amp;#xC18D;&amp;#xC131;&amp;#xC758; &amp;#xBCC0;&amp;#xACBD;&amp;#xC774; &amp;#xBD88;&amp;#xAC00;&amp;#xD55C; &amp;#xACBD;&amp;#xC6B0;, &amp;#xC601;&amp;#xC18D;&amp;#xC801; &amp;#xC5F0;&amp;#xC0B0;&amp;#xC5D0; &amp;#xC0AC;&amp;#xC6A9;&amp;#xB418;&amp;#xB294; &amp;#xC0DD;&amp;#xC131;&amp;#xC790;&amp;#xB97C; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD558;&amp;#xC5EC; &amp;#xAC1D;&amp;#xCCB4;&amp;#xC758; &amp;#xBCF5;&amp;#xC81C;&amp;#xBCF8;&amp;#xC744; &amp;#xC0DD;&amp;#xC131;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;. (&lt;a href=&quot;#a03-1&quot;&gt;3.1. &amp;#xAC1D;&amp;#xCCB4; &amp;#xC0DD;&amp;#xC131;&lt;/a&gt; &amp;#xCC38;&amp;#xACE0;)&lt;/li&gt;
&lt;li&gt;&amp;#xAE30;&amp;#xBCF8;&amp;#xC801;&amp;#xC73C;&amp;#xB85C; &amp;#xAC12;&amp;#xC740; &amp;#xC9C1;&amp;#xC811; &amp;#xC124;&amp;#xC815; &amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/li&gt;
&lt;/ol&gt;
&lt;br&gt;
&lt;p&gt;&lt;strong&gt;&amp;#xB0B4;&amp;#xBD80;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&amp;#xAC1D;&amp;#xCCB4; &amp;#xC0DD;&amp;#xC131; &amp;#xCD5C;&amp;#xC801;&amp;#xD654;&amp;#xC640; &amp;#xC720;&amp;#xC0AC;&amp;#xD558;&amp;#xAC8C;, &amp;#xC18D;&amp;#xC131; &amp;#xCCB4;&amp;#xC6B0;&amp;#xAE30;&amp;#xC5D0;&amp;#xC11C;&amp;#xB3C4; Spring Data &amp;#xB7F0;&amp;#xD0C0;&amp;#xC784;&amp;#xC2DC; &amp;#xC0DD;&amp;#xC131;&amp;#xB41C; &amp;#xC811;&amp;#xADFC;&amp;#xC790; &amp;#xD074;&amp;#xB798;&amp;#xC2A4;&amp;#xB97C; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD558;&amp;#xC5EC; &amp;#xC5D4;&amp;#xD2F0;&amp;#xD2F0; &amp;#xAC1D;&amp;#xCCB4;&amp;#xC640; &amp;#xC0C1;&amp;#xD638;&amp;#xC791;&amp;#xC6A9;&amp;#xC744; &amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;java&quot; class=&quot;language-java&quot;&gt;&lt;span class=&quot;token keyword keyword-class&quot;&gt;class&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;Person&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;

  &lt;span class=&quot;token keyword keyword-private&quot;&gt;private&lt;/span&gt; &lt;span class=&quot;token keyword keyword-final&quot;&gt;final&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;Long&lt;/span&gt; id&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;token keyword keyword-private&quot;&gt;private&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;String&lt;/span&gt; firstname&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;token keyword keyword-private&quot;&gt;private&lt;/span&gt; &lt;span class=&quot;token annotation punctuation&quot;&gt;@AccessType&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;Type&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;PROPERTY&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;String&lt;/span&gt; lastname&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

  &lt;span class=&quot;token class-name&quot;&gt;Person&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;token keyword keyword-this&quot;&gt;this&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;id &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token keyword keyword-null&quot;&gt;null&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

  &lt;span class=&quot;token class-name&quot;&gt;Person&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;Long&lt;/span&gt; id&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;String&lt;/span&gt; firstname&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;String&lt;/span&gt; lastname&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;token comment&quot;&gt;// Field assignments&lt;/span&gt;
  &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

  &lt;span class=&quot;token class-name&quot;&gt;Person&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;withId&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;Long&lt;/span&gt; id&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;token keyword keyword-return&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;token keyword keyword-new&quot;&gt;new&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;Person&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;id&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token keyword keyword-this&quot;&gt;this&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;firstname&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token keyword keyword-this&quot;&gt;this&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;lastame&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

  &lt;span class=&quot;token keyword keyword-void&quot;&gt;void&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;setLastname&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;String&lt;/span&gt; lastname&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;token keyword keyword-this&quot;&gt;this&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;lastname &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; lastname&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;java&quot; class=&quot;language-java&quot;&gt;&lt;span class=&quot;token keyword keyword-class&quot;&gt;class&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;PersonPropertyAccessor&lt;/span&gt; &lt;span class=&quot;token keyword keyword-implements&quot;&gt;implements&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;PersistentPropertyAccessor&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;

  &lt;span class=&quot;token keyword keyword-private&quot;&gt;private&lt;/span&gt; &lt;span class=&quot;token keyword keyword-static&quot;&gt;static&lt;/span&gt; &lt;span class=&quot;token keyword keyword-final&quot;&gt;final&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;MethodHandle&lt;/span&gt; firstname&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;              

  &lt;span class=&quot;token keyword keyword-private&quot;&gt;private&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;Person&lt;/span&gt; person&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;                                    

  &lt;span class=&quot;token keyword keyword-public&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;token keyword keyword-void&quot;&gt;void&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;setProperty&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;PersistentProperty&lt;/span&gt; property&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;Object&lt;/span&gt; value&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;

    &lt;span class=&quot;token class-name&quot;&gt;String&lt;/span&gt; name &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; property&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;getName&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

    &lt;span class=&quot;token keyword keyword-if&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;firstname&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;equals&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;name&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
      firstname&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;invoke&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;person&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;String&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; value&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;             
    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt; &lt;span class=&quot;token keyword keyword-else&quot;&gt;else&lt;/span&gt; &lt;span class=&quot;token keyword keyword-if&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;id&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;equals&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;name&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
      &lt;span class=&quot;token keyword keyword-this&quot;&gt;this&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;person &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; person&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;withId&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;Long&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; value&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;            
    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt; &lt;span class=&quot;token keyword keyword-else&quot;&gt;else&lt;/span&gt; &lt;span class=&quot;token keyword keyword-if&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;lastname&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;equals&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;name&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
      &lt;span class=&quot;token keyword keyword-this&quot;&gt;this&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;person&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;setLastname&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;String&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; value&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;              
    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
  &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;p&gt;PropertyAccessor&amp;#xB294; (&amp;#xAC1D;&amp;#xCCB4;&amp;#xC758; &amp;#xBCC0;&amp;#xACBD;&amp;#xD560; &amp;#xC218; &amp;#xC5C6;&amp;#xB294; &amp;#xC18D;&amp;#xC131;&amp;#xC758; &amp;#xBCC0;&amp;#xD615;&amp;#xC744; &amp;#xAC00;&amp;#xB2A5;&amp;#xD558;&amp;#xAC8C; &amp;#xD558;&amp;#xAE30; &amp;#xC704;&amp;#xD574;) &amp;#xAC1D;&amp;#xCCB4;&amp;#xC758; &amp;#xBCC0;&amp;#xACBD;&amp;#xAC00;&amp;#xB2A5;&amp;#xD55C; &amp;#xC778;&amp;#xC2A4;&amp;#xD134;&amp;#xC2A4;&amp;#xB97C; &amp;#xBCF4;&amp;#xC720;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xAE30;&amp;#xBCF8;&amp;#xC801;&amp;#xC73C;&amp;#xB85C; FieldAccess &amp;#xBC29;&amp;#xC2DD;&amp;#xC73C;&amp;#xB85C; &amp;#xD504;&amp;#xB85C;&amp;#xD37C;&amp;#xD2F0; &amp;#xAC12;&amp;#xC744; &amp;#xC77D;&amp;#xACE0; &amp;#xC4F0;&amp;#xBA70;, (= &amp;#xB9AC;&amp;#xD50C;&amp;#xB809;&amp;#xC158; &amp;#xD65C;&amp;#xC6A9;)&lt;br&gt;
&amp;#xBA85;&amp;#xC2DC;&amp;#xC801;&amp;#xC73C;&amp;#xB85C; &lt;code&gt;@AccessType(Type.PROPETY)&lt;/code&gt; &amp;#xC640; &amp;#xAC19;&amp;#xC774; &amp;#xC811;&amp;#xADFC;&amp;#xBC29;&amp;#xC2DD;&amp;#xC744; &amp;#xC124;&amp;#xC815;&amp;#xD560; &amp;#xACBD;&amp;#xC6B0; PropertyAccess&amp;#xBC29;&amp;#xC2DD;&amp;#xC73C;&amp;#xB85C; &amp;#xBA54;&amp;#xC11C;&amp;#xB4DC;&amp;#xB97C; &amp;#xD638;&amp;#xCD9C;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.(= setter)&lt;/p&gt;
&lt;p&gt;setter&amp;#xB098; with... &amp;#xBA54;&amp;#xC11C;&amp;#xB4DC;&amp;#xB97C; &amp;#xC774;&amp;#xC6A9;&amp;#xD55C; &amp;#xBC29;&amp;#xC2DD;&amp;#xC740; &amp;#xB9AC;&amp;#xD50C;&amp;#xB809;&amp;#xC158;&amp;#xC744; &amp;#xC774;&amp;#xC6A9;&amp;#xD55C; &amp;#xD504;&amp;#xB85C;&amp;#xD37C;&amp;#xD2F0; &amp;#xC124;&amp;#xC815;&amp;#xBCF4;&amp;#xB2E4; 25% &amp;#xC758; &amp;#xC131;&amp;#xB2A5;&amp;#xD5A5;&amp;#xC0C1;&amp;#xC774; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&lt;s&gt;++ &amp;#xC791;&amp;#xB3D9;&amp;#xB418;&amp;#xB294; &amp;#xC608;&amp;#xC81C; &amp;#xCD94;&amp;#xD6C4; &amp;#xBCF4;&amp;#xAC15;&amp;#xB420; &amp;#xC608;&amp;#xC815;...&lt;/s&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;&lt;strong&gt;&lt;s&gt;3.3. &amp;#xC608;&amp;#xC2DC;&lt;/s&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;yml&quot; class=&quot;language-yaml&quot;&gt;&lt;span class=&quot;token key atrule&quot;&gt;person&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
  &lt;span class=&quot;token key atrule&quot;&gt;id&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;123&lt;/span&gt;
  &lt;span class=&quot;token key atrule&quot;&gt;first-name&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; jini
  &lt;span class=&quot;token key atrule&quot;&gt;last-name&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; yoo
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;java&quot; class=&quot;language-java&quot;&gt;&lt;span class=&quot;token annotation punctuation&quot;&gt;@Getter&lt;/span&gt;
&lt;span class=&quot;token annotation punctuation&quot;&gt;@ToString&lt;/span&gt;
&lt;span class=&quot;token annotation punctuation&quot;&gt;@ConfigurationProperties&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;prefix &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;person&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token keyword keyword-public&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;token keyword keyword-class&quot;&gt;class&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;Person&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;token keyword keyword-private&quot;&gt;private&lt;/span&gt; &lt;span class=&quot;token keyword keyword-final&quot;&gt;final&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;Long&lt;/span&gt; id&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;token keyword keyword-private&quot;&gt;private&lt;/span&gt; &lt;span class=&quot;token keyword keyword-final&quot;&gt;final&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;String&lt;/span&gt; firstName&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;token keyword keyword-private&quot;&gt;private&lt;/span&gt; &lt;span class=&quot;token keyword keyword-final&quot;&gt;final&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;String&lt;/span&gt; lastName&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

    &lt;span class=&quot;token keyword keyword-public&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;Person&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;Long&lt;/span&gt; id&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;String&lt;/span&gt; firstName&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;String&lt;/span&gt; lastName&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
        &lt;span class=&quot;token keyword keyword-this&quot;&gt;this&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;id &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; id&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
        &lt;span class=&quot;token keyword keyword-this&quot;&gt;this&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;firstName &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; firstName&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
        &lt;span class=&quot;token keyword keyword-this&quot;&gt;this&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;lastName &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; lastName&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;
  &lt;/div&gt;&lt;/div&gt;</description>
      <category>Spring/Spring Docs</category>
      <category>spring data commons</category>
      <category>spring docs</category>
      <author>jiniya22</author>
      <guid isPermaLink="true">https://jini-box.tistory.com/251</guid>
      <comments>https://jini-box.tistory.com/251#entry251comment</comments>
      <pubDate>Mon, 16 Dec 2024 14:48:07 +0900</pubDate>
    </item>
    <item>
      <title>[Spring Boot Core] 2.2. Externalized Configuration</title>
      <link>https://jini-box.tistory.com/250</link>
      <description>&lt;div id=&quot;html-export&quot;&gt;
      &lt;div class=&quot;mume markdown-preview  &quot;&gt;
      &lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;#a01&quot;&gt;&lt;code&gt;spring.config.name&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#a02&quot;&gt;&lt;code&gt;spring.config.location&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#a03&quot;&gt;optional location&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#a04&quot;&gt;wildcard location&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;profile&amp;#xBCC4; &amp;#xAD6C;&amp;#xC131; &amp;#xD30C;&amp;#xC77C;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;#a05-1&quot;&gt;&amp;#xD2B9;&amp;#xC815; &amp;#xD504;&amp;#xB85C;&amp;#xD30C;&amp;#xC77C; &amp;#xD65C;&amp;#xC131;&amp;#xD654;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#a05-2&quot;&gt;Last wins &amp;#xC804;&amp;#xB7B5;&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#a06&quot;&gt;&amp;#xCD94;&amp;#xAC00; &amp;#xB370;&amp;#xC774;&amp;#xD130; import&lt;/a&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;#a06-1&quot;&gt;Profipe-specific varinants &amp;#xAC00;&amp;#xC838;&amp;#xC624;&amp;#xAE30;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#a06-2&quot;&gt;&amp;#xD655;&amp;#xC7A5;&amp;#xC790; &amp;#xC5C6;&amp;#xB294; &amp;#xD30C;&amp;#xC77C; &amp;#xAC00;&amp;#xC838;&amp;#xC624;&amp;#xAE30;&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#a07&quot;&gt;configtree&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#a08&quot;&gt;property placeholders&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#a09&quot;&gt;&amp;#xB2E4;&amp;#xC911; &amp;#xBB38;&amp;#xC11C; &amp;#xD30C;&amp;#xC77C; &amp;#xC791;&amp;#xC5C5;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#a10&quot;&gt;&amp;#xD65C;&amp;#xC131;&amp;#xD654; &amp;#xD504;&amp;#xB85C;&amp;#xD37C;&amp;#xD2F0;&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;hr&gt;
&lt;p&gt;Spring Boot &amp;#xB294; &amp;#xC560;&amp;#xD50C;&amp;#xB9AC;&amp;#xCF00;&amp;#xC774;&amp;#xC158;&amp;#xC774; &amp;#xC2DC;&amp;#xC791;&amp;#xB420; &amp;#xB54C;, &lt;code&gt;application.properties&lt;/code&gt; &amp;#xC640; &lt;code&gt;application.yml&lt;/code&gt; &amp;#xD30C;&amp;#xC77C;&amp;#xC744; &amp;#xC544;&amp;#xB798;&amp;#xC758; &amp;#xACBD;&amp;#xB85C;&amp;#xB85C;&amp;#xBD80;&amp;#xD130; &amp;#xC790;&amp;#xB3D9;&amp;#xC73C;&amp;#xB85C; &amp;#xCC3E;&amp;#xC544;&amp;#xC11C; &amp;#xB85C;&amp;#xB4DC;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;classpath&amp;#xB85C; &amp;#xBD80;&amp;#xD130; &amp;#xCC3E;&amp;#xAE30;
&lt;ol&gt;
&lt;li&gt;classpath&amp;#xC758; root&lt;/li&gt;
&lt;li&gt;classpath &amp;#xD558;&amp;#xC704;&amp;#xC758; &lt;code&gt;/config&lt;/code&gt; &amp;#xD328;&amp;#xD0A4;&amp;#xC9C0;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;&amp;#xD604;&amp;#xC7AC; &amp;#xB514;&amp;#xB809;&amp;#xD1A0;&amp;#xB9AC;&amp;#xC5D0;&amp;#xC11C; &amp;#xCC3E;&amp;#xAE30;
&lt;ol&gt;
&lt;li&gt;&amp;#xD604;&amp;#xC7AC; &amp;#xB514;&amp;#xB809;&amp;#xD1A0;&amp;#xB9AC;&lt;/li&gt;
&lt;li&gt;&amp;#xD604;&amp;#xC7AC; &amp;#xB514;&amp;#xB809;&amp;#xD1A0;&amp;#xB9AC;&amp;#xC758; &lt;code&gt;./config/&lt;/code&gt; &amp;#xB514;&amp;#xB809;&amp;#xD1A0;&amp;#xB9AC;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;./config&lt;/code&gt; &amp;#xB514;&amp;#xB809;&amp;#xD1A0;&amp;#xB9AC;&amp;#xC758; &amp;#xC9C1;&amp;#xACC4; &amp;#xD558;&amp;#xC704; &amp;#xB514;&amp;#xB809;&amp;#xD1A0;&amp;#xB9AC;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;br&gt;
&lt;h2 class=&quot;mume-header&quot; id=&quot;div-ida011-springconfignamediv&quot;&gt;&lt;div id=&quot;a01&quot;&gt;1. &lt;code&gt;spring.config.name&lt;/code&gt;&lt;/div&gt;&lt;/h2&gt;

&lt;p&gt;&amp;#xAE30;&amp;#xBCF8;&amp;#xC801;&amp;#xC73C;&amp;#xB85C; application&amp;#xC774;&amp;#xB77C;&amp;#xB294; config &amp;#xD30C;&amp;#xC77C;&amp;#xBA85;&amp;#xC744; &amp;#xB85C;&amp;#xB4DC;&amp;#xD558;&amp;#xC9C0;&amp;#xB9CC; (&amp;#xC608;: &lt;code&gt;application.yml&lt;/code&gt;)&lt;br&gt;
&amp;#xB9CC;&amp;#xC77C; config &amp;#xD30C;&amp;#xC77C;&amp;#xBA85;&amp;#xC744; &amp;#xBCC0;&amp;#xACBD;&amp;#xD558;&amp;#xACE0; &amp;#xC2F6;&amp;#xB2E4;&amp;#xBA74;, &lt;strong&gt;&lt;code&gt;spring.config.name&lt;/code&gt;&lt;/strong&gt; &amp;#xD658;&amp;#xACBD; &amp;#xD504;&amp;#xB85C;&amp;#xD37C;&amp;#xD2F0;&amp;#xB85C; &amp;#xAD00;&amp;#xB828; &amp;#xC124;&amp;#xC815;&amp;#xC744; &amp;#xCD94;&amp;#xAC00;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xC608;&amp;#xB97C;&amp;#xB4E4;&amp;#xC5B4; demo.jar &amp;#xC560;&amp;#xD50C;&amp;#xB9AC;&amp;#xCF00;&amp;#xC774;&amp;#xC158;&amp;#xC744; &amp;#xC2EB;&amp;#xD589;&amp;#xD558;&amp;#xB294;&amp;#xB370;, &lt;code&gt;demo.yml&lt;/code&gt; &amp;#xB610;&amp;#xB294; &lt;code&gt;demo.properties&lt;/code&gt; &amp;#xAD6C;&amp;#xC131;&amp;#xD30C;&amp;#xC77C;&amp;#xC744; &amp;#xC77D;&amp;#xACE0; &amp;#xC2F6;&amp;#xB2E4;&amp;#xBA74;, &amp;#xC544;&amp;#xB798;&amp;#xC640; &amp;#xAC19;&amp;#xC774; &amp;#xC560;&amp;#xD50C;&amp;#xB9AC;&amp;#xCF00;&amp;#xC774;&amp;#xC158;&amp;#xC744; &amp;#xC2E4;&amp;#xD589;&amp;#xD558;&amp;#xBA74; &amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;java -jar demo.jar --spring.config.name&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;demo
&lt;/pre&gt;&lt;br&gt;
&lt;h2 class=&quot;mume-header&quot; id=&quot;div-ida022-springconfiglocationdiv&quot;&gt;&lt;div id=&quot;a02&quot;&gt;2. &lt;code&gt;spring.config.location&lt;/code&gt;&lt;/div&gt;&lt;/h2&gt;

&lt;p&gt;&amp;#xD558;&amp;#xB098; &amp;#xC774;&amp;#xC0C1;&amp;#xC758; &amp;#xAD6C;&amp;#xC131; &amp;#xD30C;&amp;#xC77C;&amp;#xC744; &amp;#xB85C;&amp;#xB4DC;&amp;#xD558;&amp;#xACE0; &amp;#xC2F6;&amp;#xB2E4;&amp;#xBA74;, &lt;code&gt;spring.config.location&lt;/code&gt; &amp;#xC18D;&amp;#xC131;&amp;#xC744; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD558;&amp;#xBA74;&amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xC27C;&amp;#xD45C;&amp;#xB97C; &amp;#xD1B5;&amp;#xD574; &amp;#xC5EC;&amp;#xB7EC;&amp;#xAC1C;&amp;#xB97C; &amp;#xCC38;&amp;#xC870;&amp;#xD560; &amp;#xC218;&amp;#xB3C4; &amp;#xC788;&amp;#xC73C;&amp;#xBA70;, &amp;#xD30C;&amp;#xC77C;&amp;#xBA85; &amp;#xB610;&amp;#xB294; &amp;#xB514;&amp;#xB809;&amp;#xD1A0;&amp;#xB9AC; &amp;#xC704;&amp;#xCE58;&amp;#xB97C; &amp;#xC9C1;&amp;#xC811;&amp;#xC801;&amp;#xC73C;&amp;#xB85C; &amp;#xC124;&amp;#xC815;&amp;#xD558;&amp;#xB294; &amp;#xBC29;&amp;#xBC95;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xB098;&amp;#xC911;&amp;#xC5D0; &amp;#xC77D;&amp;#xC5B4;&amp;#xB4E4;&amp;#xC778; &amp;#xAD6C;&amp;#xC131;&amp;#xD30C;&amp;#xC77C;&amp;#xC740; &amp;#xC774;&amp;#xC804;&amp;#xC5D0; &amp;#xBD88;&amp;#xB824;&amp;#xC9C4; &amp;#xAD6C;&amp;#xC131;&amp;#xD30C;&amp;#xC77C;&amp;#xC744; override &amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;#xB098;&amp;#xC911;&amp;#xC5D0; &amp;#xC77D;&amp;#xC5B4;&amp;#xB4E4;&amp;#xC778; &amp;#xAD6C;&amp;#xC131;&amp;#xD30C;&amp;#xC77C;&amp;#xC744; &lt;strong&gt;&amp;#xC6B0;&amp;#xC120;&amp;#xD55C;&amp;#xB2E4;&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;java -jar demo.jar --spring.config.location&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;\&lt;/span&gt;
  optional:classpath:/default.yml,&lt;span class=&quot;token punctuation&quot;&gt;\&lt;/span&gt;
  optional:classpath:/override.yml
&lt;/pre&gt;&lt;br&gt;
&lt;p&gt;&lt;code&gt;spring.config.name&lt;/code&gt;, &lt;code&gt;spring.config.location&lt;/code&gt;, &lt;code&gt;spring.config.additional-location&lt;/code&gt; &amp;#xAD6C;&amp;#xC131;&amp;#xC124;&amp;#xC815;&amp;#xC740; &amp;#xC5B4;&amp;#xB5A4; &amp;#xAD6C;&amp;#xC131; &amp;#xD30C;&amp;#xC77C;&amp;#xC744; &amp;#xC77D;&amp;#xC744; &amp;#xAC74;&amp;#xC9C0;&amp;#xB97C; &amp;#xD310;&amp;#xB2E8;&amp;#xD558;&amp;#xB294; &amp;#xC124;&amp;#xC815;&amp;#xC73C;&amp;#xB85C; &amp;#xC560;&amp;#xD50C;&amp;#xB9AC;&amp;#xCF00;&amp;#xC774;&amp;#xC158; &amp;#xAD6C;&amp;#xB3D9; &amp;#xC911;&amp;#xC5D0; &amp;#xB9E4;&amp;#xC6B0; &amp;#xC77C;&amp;#xCC0D; &amp;#xC77D;&amp;#xC5B4;&amp;#xB4E4;&amp;#xC774;&amp;#xB294; &amp;#xC18D;&amp;#xC131;&amp;#xC73C;&amp;#xB85C;,&lt;br&gt;
&lt;mark&gt;&amp;#xD658;&amp;#xACBD;&amp;#xBCC0;&amp;#xC218;(OS &amp;#xD658;&amp;#xACBD;&amp;#xBCC0;&amp;#xC218;, &amp;#xC2DC;&amp;#xC2A4;&amp;#xD15C; &amp;#xC18D;&amp;#xC131;, command line &amp;#xC778;&amp;#xC218;)&amp;#xB85C; &amp;#xC815;&amp;#xC758;&amp;#xD574;&amp;#xC57C; &amp;#xC815;&amp;#xC0C1;&amp;#xC801;&amp;#xC73C;&amp;#xB85C; &amp;#xC791;&amp;#xB3D9;&amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;/mark&gt;&lt;/p&gt;
&lt;br&gt;
&lt;p&gt;&amp;#xB514;&amp;#xB809;&amp;#xD1A0;&amp;#xB9AC;&amp;#xC640; &amp;#xD30C;&amp;#xC77C;&amp;#xC758; &amp;#xC704;&amp;#xCE58;&amp;#xAC12;&amp;#xC740; profile &amp;#xBCC4;&amp;#xB85C; &amp;#xCCB4;&amp;#xD06C;&amp;#xD558;&amp;#xC5EC; &amp;#xD655;&amp;#xC7A5;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&lt;code&gt;spring.config.location=classpath:demo.yml&lt;/code&gt; &amp;#xB85C; &amp;#xC124;&amp;#xC815;&amp;#xB418;&amp;#xC5B4;&amp;#xC788;&amp;#xC744; &amp;#xB54C;, profile &amp;#xC124;&amp;#xC815;&amp;#xC5D0; &amp;#xB530;&amp;#xB77C; &amp;#xD2B9;&amp;#xC815; &amp;#xAD6C;&amp;#xC131;&amp;#xC124;&amp;#xC815;&amp;#xC744; &amp;#xC77D;&amp;#xC5B4;&amp;#xB4E4;&amp;#xC77C; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;. (classpath:demo-&lt;profile&gt;.yml)&lt;/profile&gt;&lt;/p&gt;
&lt;p&gt;&amp;#xC608;&amp;#xB97C;&amp;#xB4E4;&amp;#xC5B4;, profile&amp;#xC774; dev &amp;#xC778; &amp;#xACBD;&amp;#xC6B0;&amp;#xB77C;&amp;#xBA74; classpath:demo-dev.yml &amp;#xC744; &amp;#xCC3E;&amp;#xC544;&amp;#xC11C; &amp;#xC77D;&amp;#xB294; &amp;#xAC83;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&lt;br&gt;&lt;/p&gt;
&lt;p&gt;spring.config.location&amp;#xC5D0; &amp;#xC544;&amp;#xB798;&amp;#xC640; &amp;#xAC19;&amp;#xC774; &amp;#xC704;&amp;#xCE58;&amp;#xB97C; &amp;#xC124;&amp;#xC815;&amp;#xD560; &amp;#xACBD;&amp;#xC6B0;, &amp;#xC544;&amp;#xB798;&amp;#xC640; &amp;#xAC19;&amp;#xC740; &amp;#xC21C;&amp;#xC11C;&amp;#xB85C; &amp;#xAD6C;&amp;#xC131;&amp;#xD30C;&amp;#xC77C;&amp;#xC744; &amp;#xC77D;&amp;#xC5B4;&amp;#xB4E4;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;optional:classpath:/custom-config/&lt;/li&gt;
&lt;li&gt;optional:file:./custom-config/&lt;/li&gt;
&lt;/ol&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;--spring.config.location&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;optional:classpath:/custom-config/,optional:file:./custom-config/
&lt;/pre&gt;&lt;br&gt;
&lt;p&gt;&lt;em&gt;additional-location&lt;/em&gt; &amp;#xC5D0; &amp;#xC124;&amp;#xC815;&amp;#xD560; &amp;#xACBD;&amp;#xC6B0;, &amp;#xAE30;&amp;#xBCF8; &amp;#xC124;&amp;#xC815;&amp;#xAC12;&amp;#xC744; &amp;#xC77D;&amp;#xC5B4;&amp;#xB4E4;&amp;#xC778; &amp;#xD6C4; &amp;#xCD94;&amp;#xAC00;&amp;#xC801;&amp;#xC778; &amp;#xAD6C;&amp;#xC131;&amp;#xD30C;&amp;#xC77C; &amp;#xC124;&amp;#xC815;&amp;#xC744; override &amp;#xD558;&amp;#xC5EC; &amp;#xAD6C;&amp;#xC131;&amp;#xD30C;&amp;#xC77C;&amp;#xC744; &amp;#xC77D;&amp;#xC5B4;&amp;#xB4E4;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;optional:classpath:/;optional:classpath:/config/&lt;/li&gt;
&lt;li&gt;optional:classpath:file:./;optional:classpath:file:./config/;optional:classpath:file:./config/*/;&lt;/li&gt;
&lt;li&gt;optional:classpath:/custom-config/&lt;/li&gt;
&lt;li&gt;optional:file:./custom-config/&lt;/li&gt;
&lt;/ol&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;--spring.config.additional-location&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;optional:classpath:/custom-config/,optional:file:./custom-config/
&lt;/pre&gt;&lt;br&gt;
&lt;h2 class=&quot;mume-header&quot; id=&quot;div-ida033-optional-locationdiv&quot;&gt;&lt;div id=&quot;a03&quot;&gt;3. optional location&lt;/div&gt;&lt;/h2&gt;

&lt;h3 class=&quot;mume-header&quot; id=&quot;31-optional&quot;&gt;3.1. &lt;code&gt;optional:&lt;/code&gt;&lt;/h3&gt;

&lt;p&gt;&amp;#xAE30;&amp;#xBCF8;&amp;#xC801;&amp;#xC73C;&amp;#xB85C; &amp;#xC124;&amp;#xC815;&amp;#xD55C; &amp;#xC704;&amp;#xCE58;&amp;#xC5D0; &amp;#xAD6C;&amp;#xC131;&amp;#xD30C;&amp;#xC77C;&amp;#xC774; &amp;#xC5C6;&amp;#xC744; &amp;#xACBD;&amp;#xC6B0; ConfigDataLocationNotFoundException&amp;#xB97C; &amp;#xBC1C;&amp;#xC0DD;&amp;#xC2DC;&amp;#xD0A4;&amp;#xBA74;&amp;#xC11C; &amp;#xC560;&amp;#xD50C;&amp;#xB9AC;&amp;#xCF00;&amp;#xC774;&amp;#xC158;&amp;#xC774; &amp;#xC2DC;&amp;#xC791;&amp;#xB418;&amp;#xC9C0; &amp;#xC54A;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xB9CC;&amp;#xC77C;, &amp;#xD2B9;&amp;#xC815; &amp;#xAD6C;&amp;#xC131;&amp;#xD30C;&amp;#xC77C;&amp;#xC744; &amp;#xC77D;&amp;#xC5B4;&amp;#xB4E4;&amp;#xC774;&amp;#xB294; &amp;#xAC83;&amp;#xC774; &amp;#xD544;&amp;#xC218;&amp;#xAC00; &amp;#xC544;&amp;#xB2C8;&amp;#xB77C;&amp;#xBA74; &lt;strong&gt;optional:&lt;/strong&gt; &amp;#xC744; &amp;#xBD99;&amp;#xC5EC;&amp;#xC8FC;&amp;#xBA74; &amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xC704;&amp;#xC5D0;&amp;#xC11C; &amp;#xC608;&amp;#xC2DC;&amp;#xC5D0;&amp;#xC11C; &amp;#xBD24;&amp;#xB358;&amp;#xAC83; &amp;#xCC98;&amp;#xB7FC; &lt;strong&gt;spring.config.location&lt;/strong&gt; &amp;#xC124;&amp;#xC815;&amp;#xC5D0;&amp;#xB3C4; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xACE0;, (ex. &lt;code&gt;--spring.config.location=optional:classpath:/demo.yml&lt;/code&gt;)&lt;br&gt;
&lt;strong&gt;spring.config.import&lt;/strong&gt; &amp;#xC5D0;&amp;#xB3C4; &amp;#xC124;&amp;#xC815;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;br&gt;
&lt;h3 class=&quot;mume-header&quot; id=&quot;32-on-not-found&quot;&gt;3.2. on-not-found&lt;/h3&gt;

&lt;p&gt;&amp;#xB9CC;&amp;#xC77C; &amp;#xC560;&amp;#xD50C;&amp;#xB9AC;&amp;#xCF00;&amp;#xC774;&amp;#xC158; &amp;#xC2DC;&amp;#xC791;&amp;#xC911; config &amp;#xD30C;&amp;#xC77C; &amp;#xC704;&amp;#xCE58; &amp;#xCC3E;&amp;#xAE30;&amp;#xC5D0; &amp;#xB300;&amp;#xD55C; &amp;#xC624;&amp;#xB958;(&lt;em&gt;ConfigDataLocationNotFoundExceptions&lt;/em&gt;)&amp;#xB97C; &amp;#xBAA8;&amp;#xB450; &amp;#xBB34;&amp;#xC2DC;&amp;#xD558;&amp;#xACE0;, &amp;#xAD6C;&amp;#xC131; &amp;#xD30C;&amp;#xC77C;&amp;#xAC00; &amp;#xC5C6;&amp;#xB354;&amp;#xB77C;&amp;#xB3C4; &amp;#xBB34;&amp;#xC870;&amp;#xAC74; &amp;#xC560;&amp;#xD50C;&amp;#xB9AC;&amp;#xCF00;&amp;#xC774;&amp;#xC158;&amp;#xC744; &amp;#xC2E4;&amp;#xD589;&amp;#xC2DC;&amp;#xD0A4;&amp;#xACE0; &amp;#xC2F6;&amp;#xB2E4;&amp;#xBA74; &amp;#xC2DC;&amp;#xC2A4;&amp;#xD15C;/&amp;#xD658;&amp;#xACBD; &amp;#xBCC0;&amp;#xC218;&amp;#xB85C; &lt;code&gt;spring.config.on-not-found&lt;/code&gt; &amp;#xD504;&amp;#xB85C;&amp;#xD37C;&amp;#xD2F0; &amp;#xAC12;&amp;#xC744; &lt;strong&gt;ignore&lt;/strong&gt; &amp;#xB85C; &amp;#xC124;&amp;#xC815;&amp;#xD558;&amp;#xBA74; &amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;java&quot; class=&quot;language-java&quot;&gt;&lt;span class=&quot;token annotation punctuation&quot;&gt;@SpringBootApplication&lt;/span&gt;
&lt;span class=&quot;token keyword keyword-public&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;token keyword keyword-class&quot;&gt;class&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;SpringBootApp&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;

	&lt;span class=&quot;token keyword keyword-public&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;token keyword keyword-static&quot;&gt;static&lt;/span&gt; &lt;span class=&quot;token keyword keyword-void&quot;&gt;void&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;main&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;String&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; args&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
		&lt;span class=&quot;token class-name&quot;&gt;SpringApplication&lt;/span&gt; app &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token keyword keyword-new&quot;&gt;new&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;SpringApplication&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;SpringBootApp&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token keyword keyword-class&quot;&gt;class&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
		app&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;setDefaultProperties&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;Map&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;of&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;spring.config.on-not-found&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;ignore&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
		app&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;run&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;args&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
	&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;hr&gt;
&lt;h2 class=&quot;mume-header&quot; id=&quot;div-ida044-wildcard-locationdiv&quot;&gt;&lt;div id=&quot;a04&quot;&gt;4. wildcard location&lt;/div&gt;&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;config/*/&lt;/code&gt; &amp;#xC640; &amp;#xAC19;&amp;#xC774; location &amp;#xB05D;&amp;#xC5D0; &lt;code&gt;*&lt;/code&gt;&amp;#xB97C; &amp;#xD3EC;&amp;#xD568;&amp;#xD560; &amp;#xACBD;&amp;#xC6B0;, &amp;#xAD6C;&amp;#xC131;&amp;#xC774; &amp;#xB85C;&amp;#xB4DC; &amp;#xB420;&amp;#xB54C; &amp;#xD558;&amp;#xC704; &amp;#xB514;&amp;#xB809;&amp;#xD130;&amp;#xB9AC; &amp;#xAE4C;&amp;#xC9C0; &amp;#xD655;&amp;#xC7A5;&amp;#xD558;&amp;#xC5EC; &amp;#xAC80;&amp;#xC0C9;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
(&amp;#xAD6C;&amp;#xC131; &amp;#xC18D;&amp;#xC131;&amp;#xC774; &amp;#xC5EC;&amp;#xB7EC;&amp;#xAC1C;&amp;#xC778; k8s &amp;#xD658;&amp;#xACBD;&amp;#xC5D0; &amp;#xC720;&amp;#xC6A9;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.)&lt;/p&gt;
&lt;p&gt;&amp;#xC608;&amp;#xB97C;&amp;#xB4E4;&amp;#xC5B4; redis&amp;#xC640; mysql &amp;#xAD6C;&amp;#xC131;&amp;#xC774; &amp;#xC788;&amp;#xB294; &amp;#xACBD;&amp;#xC6B0;, &amp;#xAD6C;&amp;#xC131;&amp;#xC744; &amp;#xADF8;&amp;#xB300;&amp;#xB85C; &amp;#xC720;&amp;#xC9C0;&amp;#xD558;&amp;#xBA74;&amp;#xC11C; &amp;#xAC01;&amp;#xAC01; &amp;#xBCC4;&amp;#xB3C4; &amp;#xD30C;&amp;#xC77C;&amp;#xB85C; &amp;#xAD6C;&amp;#xC131;&amp;#xD558;&amp;#xACE0; &amp;#xC2F6;&amp;#xB2E4;&amp;#xBA74; &lt;code&gt;config/*/&lt;/code&gt; &amp;#xB85C; &amp;#xC124;&amp;#xC815;&amp;#xD574;&amp;#xB450;&amp;#xBA74; &amp;#xC544;&amp;#xB798;&amp;#xC640; &amp;#xAC19;&amp;#xC740; &amp;#xC704;&amp;#xCE58;&amp;#xC5D0; &amp;#xC874;&amp;#xC7AC;&amp;#xD558;&amp;#xB294; &amp;#xAD6C;&amp;#xC131; &amp;#xD30C;&amp;#xC77C;&amp;#xB4E4;&amp;#xC744; &amp;#xBAA8;&amp;#xB450; &amp;#xCC3E;&amp;#xC544; &amp;#xB85C;&amp;#xB4DC;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;/config/redis/application.yml&lt;/li&gt;
&lt;li&gt;/config/mysql/application.yml&lt;/li&gt;
&lt;/ul&gt;
&lt;br&gt;
&lt;p&gt;&lt;code&gt;config/*/&lt;/code&gt; &amp;#xB294; Spring Boot&amp;#xC5D0;&amp;#xC11C; &amp;#xD3EC;&amp;#xD568;&amp;#xD558;&amp;#xACE0; &amp;#xC788;&amp;#xB294; &amp;#xAE30;&amp;#xBCF8; &amp;#xAC80;&amp;#xC0C9; &amp;#xC704;&amp;#xCE58;&amp;#xC774;&amp;#xAE30; &amp;#xB54C;&amp;#xBB38;&amp;#xC5EC;, &amp;#xAE30;&amp;#xBCF8;&amp;#xC801;&amp;#xC73C;&amp;#xB85C; &amp;#xB0B4; jar &amp;#xD504;&amp;#xB85C;&amp;#xC81D;&amp;#xD2B8;&amp;#xC758; &lt;strong&gt;&amp;#xC678;&amp;#xBD80;&lt;/strong&gt; config &amp;#xB514;&amp;#xB809;&amp;#xD1A0;&amp;#xB9AC;&amp;#xC758; &amp;#xD558;&amp;#xC704; &amp;#xB514;&amp;#xB809;&amp;#xD1A0;&amp;#xB9AC;&amp;#xB97C; &amp;#xBAA8;&amp;#xB450; &amp;#xAC80;&amp;#xC0C9;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xBB3C;&amp;#xB860; &amp;#xD0D0;&amp;#xC0C9;&amp;#xD558;&amp;#xACE0; &amp;#xC2F6;&amp;#xC740; &amp;#xC704;&amp;#xCE58;&amp;#xB97C; &amp;#xBCC0;&amp;#xACBD;&amp;#xD558;&amp;#xACE0; &amp;#xC2F6;&amp;#xB2E4;&amp;#xBA74; &lt;code&gt;spring.config.location&lt;/code&gt; &amp;#xC774;&amp;#xB098; &lt;code&gt;spring.config.additional-location&lt;/code&gt;&lt;br&gt;
&amp;#xC5D0; &lt;code&gt;*&lt;/code&gt; &amp;#xB97C; &amp;#xD3EC;&amp;#xD568;&amp;#xD558;&amp;#xC5EC; &amp;#xBCC0;&amp;#xACBD;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;div class=&quot;admonition note&quot;&gt;
&lt;p class=&quot;admonition-title&quot;&gt;Note&lt;/p&gt;
&lt;p&gt;wildcare location&amp;#xC740; &lt;code&gt;*&lt;/code&gt;&amp;#xB97C; &amp;#xB2E8;&amp;#xD558;&amp;#xB098;&amp;#xB9CC; &amp;#xD3EC;&amp;#xD568;&amp;#xC2DC;&amp;#xCF1C;&amp;#xC57C; &amp;#xD558;&amp;#xACE0;, &amp;#xC640;&amp;#xC77C;&amp;#xB4DC;&amp;#xCE74;&amp;#xB4DC;&amp;#xB97C; &amp;#xD3EC;&amp;#xD568;&amp;#xD558;&amp;#xC5EC; &amp;#xCC3E;&amp;#xACE0;&amp;#xC790;&amp;#xD558;&amp;#xB294; &amp;#xB514;&amp;#xB809;&amp;#xD1A0;&amp;#xB9AC; &amp;#xC704;&amp;#xCE58;&amp;#xB97C; &amp;#xC124;&amp;#xC815;&amp;#xD558;&amp;#xACE0;&amp;#xC790;&amp;#xD55C;&amp;#xB2E4;&amp;#xBA74;  &lt;code&gt;*/&lt;/code&gt;&amp;#xB85C; &amp;#xB05D;&amp;#xB0B4;&amp;#xC57C; &amp;#xD558;&amp;#xACE0;, &amp;#xC640;&amp;#xC77C;&amp;#xB4DC;&amp;#xCE74;&amp;#xB4DC; &amp;#xB514;&amp;#xB809;&amp;#xD1A0;&amp;#xB9AC; &amp;#xD558;&amp;#xC704;&amp;#xC758; &amp;#xD2B9;&amp;#xC815; &amp;#xD30C;&amp;#xC77C;&amp;#xBA85;&amp;#xC744; &amp;#xC9C0;&amp;#xC815;&amp;#xD558;&amp;#xACE0; &amp;#xC2F6;&amp;#xB2E4;&amp;#xBA74; &lt;code&gt;*/&amp;lt;filename&amp;gt;&lt;/code&gt; &amp;#xAC19;&amp;#xC740; &amp;#xD615;&amp;#xC2DD;&amp;#xC73C;&amp;#xB85C; &amp;#xC815;&amp;#xC758;&amp;#xD574;&amp;#xC57C; &amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xC640;&amp;#xC77C;&amp;#xB4DC;&amp;#xCE74;&amp;#xB4DC;&amp;#xAC00; &amp;#xC788;&amp;#xB294; &amp;#xC704;&amp;#xCE58; &amp;#xD30C;&amp;#xC77C; &amp;#xC774;&amp;#xB984;&amp;#xC740; &lt;strong&gt;&amp;#xC54C;&amp;#xD30C;&amp;#xBCB3;&lt;/strong&gt; &amp;#xC624;&amp;#xB984;&amp;#xCC28;&amp;#xC21C; &amp;#xC21C;&amp;#xC73C;&amp;#xB85C; &amp;#xC815;&amp;#xB82C;&amp;#xB418;&amp;#xC5B4; &amp;#xB85C;&amp;#xB4DC;&amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;wildcard location&amp;#xC740; &lt;mark&gt;&amp;#xC678;&amp;#xBD80; &amp;#xB514;&amp;#xB809;&amp;#xD1A0;&amp;#xB9AC;&amp;#xC5D0;&amp;#xC11C;&amp;#xB9CC; &amp;#xC791;&amp;#xB3D9;&lt;/mark&gt; &amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;. &lt;u&gt;&lt;code&gt;classpath:&lt;/code&gt; &amp;#xC704;&amp;#xCE58;&amp;#xC5D0;&amp;#xB294; &amp;#xC640;&amp;#xC77C;&amp;#xB4DC;&amp;#xCE74;&amp;#xB4DC;&amp;#xB97C; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD560; &amp;#xC218; &amp;#xC5C6;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/u&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;h2 class=&quot;mume-header&quot; id=&quot;div-ida05-15-profile%EB%B3%84-%EA%B5%AC%EC%84%B1-%ED%8C%8C%EC%9D%BCdiv&quot;&gt;&lt;div id=&quot;a05-1&quot;&gt;5. profile&amp;#xBCC4; &amp;#xAD6C;&amp;#xC131; &amp;#xD30C;&amp;#xC77C;&lt;/div&gt;&lt;/h2&gt;

&lt;h3 class=&quot;mume-header&quot; id=&quot;51-%ED%8A%B9%EC%A0%95-%ED%94%84%EB%A1%9C%ED%8C%8C%EC%9D%BC-%ED%99%9C%EC%84%B1%ED%99%94&quot;&gt;5.1. &amp;#xD2B9;&amp;#xC815; &amp;#xD504;&amp;#xB85C;&amp;#xD30C;&amp;#xC77C; &amp;#xD65C;&amp;#xC131;&amp;#xD654;&lt;/h3&gt;

&lt;p&gt;&lt;code&gt;-Dspring.profiles.active=dev&lt;/code&gt; &amp;#xC640; &amp;#xAC19;&amp;#xC740; &amp;#xBC29;&amp;#xC2DD;&amp;#xC73C;&amp;#xB85C; &amp;#xD65C;&amp;#xC131;&amp;#xD654;&amp;#xD560; &amp;#xD504;&amp;#xB85C;&amp;#xD30C;&amp;#xC77C;&amp;#xC744; &amp;#xC815;&amp;#xC758;&amp;#xD558;&amp;#xBA74;, 1&amp;#xC21C;&amp;#xC704;&amp;#xB85C; &lt;code&gt;application.yml&lt;/code&gt; &amp;#xD30C;&amp;#xC77C;&amp;#xC744; &amp;#xB85C;&amp;#xB4DC;&amp;#xD558;&amp;#xACE0; &amp;#xADF8; &amp;#xD6C4;&amp;#xC5D0; &lt;code&gt;application-dev.yml&lt;/code&gt; &amp;#xAD6C;&amp;#xC131;&amp;#xD30C;&amp;#xC77C;&amp;#xC744; &amp;#xB85C;&amp;#xB4DC;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;#xB098;&amp;#xC911;&amp;#xC5D0; &amp;#xB85C;&amp;#xB4DC;&amp;#xB41C; &lt;code&gt;application-dev.yml&lt;/code&gt; &amp;#xAD6C;&amp;#xC131;&amp;#xD30C;&amp;#xC77C;&amp;#xC774; &amp;#xC774;&amp;#xC804;&amp;#xC5D0; &amp;#xC77D;&amp;#xC740; &amp;#xAD6C;&amp;#xC131; &amp;#xAC12;&amp;#xC744; override &amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;br&gt;
&lt;p&gt;&lt;strong&gt;&amp;#xAD6C;&amp;#xC131;&amp;#xD30C;&amp;#xC77C;&lt;/strong&gt;&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;yml&quot; class=&quot;language-yaml&quot;&gt;&lt;span class=&quot;token key atrule&quot;&gt;spring&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
  &lt;span class=&quot;token key atrule&quot;&gt;application&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
    &lt;span class=&quot;token key atrule&quot;&gt;name&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; spring&lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt;boot

&lt;span class=&quot;token key atrule&quot;&gt;custom&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
  &lt;span class=&quot;token key atrule&quot;&gt;name&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; jini
  &lt;span class=&quot;token key atrule&quot;&gt;group&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; jiniworld
&lt;/pre&gt;&lt;blockquote&gt;
&lt;p&gt;application.yml&lt;/p&gt;
&lt;/blockquote&gt;
&lt;br&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;yml&quot; class=&quot;language-yaml&quot;&gt;&lt;span class=&quot;token key atrule&quot;&gt;spring&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
  &lt;span class=&quot;token key atrule&quot;&gt;application&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
    &lt;span class=&quot;token key atrule&quot;&gt;name&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; spring&lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt;boot&lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt;dev

&lt;span class=&quot;token key atrule&quot;&gt;custom&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
  &lt;span class=&quot;token key atrule&quot;&gt;name&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; jini&lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt;dev
&lt;/pre&gt;&lt;blockquote&gt;
&lt;p&gt;application-dev.yml&lt;/p&gt;
&lt;/blockquote&gt;
&lt;br&gt;
&lt;p&gt;&lt;strong&gt;&amp;#xC560;&amp;#xD50C;&amp;#xB9AC;&amp;#xCF00;&amp;#xC774;&amp;#xC158; &amp;#xC2E4;&amp;#xD589;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&amp;#xD65C;&amp;#xC131;&amp;#xD654;&amp;#xD560; &amp;#xD504;&amp;#xB85C;&amp;#xD30C;&amp;#xC77C;&amp;#xC744; &amp;#xC9C0;&amp;#xC815;&amp;#xD558;&amp;#xC5EC; &amp;#xC560;&amp;#xD50C;&amp;#xB9AC;&amp;#xCF00;&amp;#xC774;&amp;#xC158; &amp;#xC2E4;&amp;#xD589;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;java -jar demo.jar -Dspring.profiles.active&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;dev
&lt;/pre&gt;&lt;br&gt;
&lt;p&gt;&lt;strong&gt;&amp;#xACB0;&amp;#xACFC;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&amp;#xB098;&amp;#xC911;&amp;#xC5D0; &amp;#xBD88;&amp;#xB824;&amp;#xC9C0;&amp;#xB294; &lt;em&gt;application-dev.yml&lt;/em&gt; &amp;#xC5D0; &amp;#xC124;&amp;#xC815;&amp;#xD55C; &amp;#xAC12;&amp;#xC774; &amp;#xCD5C;&amp;#xC885;&amp;#xC801;&amp;#xC73C;&amp;#xB85C; &amp;#xB36E;&amp;#xC5B4;&amp;#xC368;&amp;#xC9C0;&amp;#xAE30; &amp;#xB54C;&amp;#xBB38;&amp;#xC5D0;, &lt;strong&gt;&lt;code&gt;spring.application.name&lt;/code&gt;&lt;/strong&gt; &amp;#xAC12;&amp;#xC740; &lt;code&gt;spring-boot-dev&lt;/code&gt;&amp;#xAC00; &amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
(&amp;#xC774;&amp;#xB294;, &amp;#xC560;&amp;#xD50C;&amp;#xB9AC;&amp;#xCF00;&amp;#xC774;&amp;#xC158; &amp;#xC2E4;&amp;#xD589;&amp;#xC2DC; &amp;#xB85C;&amp;#xADF8; &amp;#xB0B4;&amp;#xC5D0;&amp;#xC11C; &amp;#xD655;&amp;#xC778;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.)&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;&lt;span class=&quot;token number&quot;&gt;2024&lt;/span&gt;-11-15T16:44:43.572+09:00 DEBUG &lt;span class=&quot;token number&quot;&gt;14254&lt;/span&gt; --- &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;spring-boot-dev&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;  restartedMain&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; o.s.boot.SpringApplication               &lt;span class=&quot;token builtin class-name&quot;&gt;:&lt;/span&gt; Loading &lt;span class=&quot;token builtin class-name&quot;&gt;source&lt;/span&gt; class me.jiniworld.springboot.SpringBootApp
&lt;/pre&gt;&lt;br&gt;
&lt;p&gt;&lt;code&gt;spring.application.name&lt;/code&gt; &amp;#xACFC; &amp;#xB9C8;&amp;#xCC2C;&amp;#xAC00;&amp;#xC9C0;&amp;#xB85C; &lt;code&gt;custom.name&lt;/code&gt; &amp;#xAC12;&amp;#xC740; &lt;code&gt;application-dev.yml&lt;/code&gt; &amp;#xC5D0;&amp;#xC11C; override &amp;#xB41C; &amp;quot;jini-dev&amp;quot;&amp;#xAC00; &amp;#xC124;&amp;#xC815;&amp;#xB418;&amp;#xACE0;, dev profile&amp;#xC5D0;&amp;#xB294; &amp;#xC815;&amp;#xC758;&amp;#xD558;&amp;#xC9C0; &amp;#xC54A;&amp;#xC740; &lt;code&gt;custom.group&lt;/code&gt; &amp;#xAC12;&amp;#xC740; &amp;#xAE30;&amp;#xBCF8; &lt;code&gt;application.yml&lt;/code&gt; &amp;#xC5D0; &amp;#xC815;&amp;#xC758;&amp;#xD55C; &lt;strong&gt;jiniworld&lt;/strong&gt; &amp;#xAC00; &amp;#xCD9C;&amp;#xB825;&amp;#xB418;&amp;#xB294; &amp;#xAC83;&amp;#xC744; &amp;#xD655;&amp;#xC778;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;br&gt;
&lt;h3 class=&quot;mume-header&quot; id=&quot;div-ida05-252-last-wins-%EC%A0%84%EB%9E%B5div&quot;&gt;&lt;div id=&quot;a05-2&quot;&gt;5.2. Last wins &amp;#xC804;&amp;#xB7B5;&lt;/div&gt;&lt;/h3&gt;

&lt;p&gt;&amp;#xB9CC;&amp;#xC77C;, &lt;code&gt;spring.profiles.active&lt;/code&gt; &amp;#xAC12;&amp;#xC5D0; &amp;quot;prod,live&amp;quot; &amp;#xC640; &amp;#xAC19;&amp;#xC774; &amp;#xC5EC;&amp;#xB7EC;&amp;#xAC1C;&amp;#xB97C; &amp;#xC124;&amp;#xC815;&amp;#xD560; &amp;#xACBD;&amp;#xC6B0;&lt;br&gt;
&amp;#xB3D9;&amp;#xC77C;&amp;#xD55C; &amp;#xD504;&amp;#xB85C;&amp;#xD37C;&amp;#xD2F0; &amp;#xAC12;&amp;#xC5D0; &amp;#xB300;&amp;#xD574; &amp;#xAC00;&amp;#xC7A5; &amp;#xB098;&amp;#xC911;&amp;#xC5D0; &amp;#xD638;&amp;#xCD9C;&amp;#xB41C; &lt;em&gt;application-live.yml&lt;/em&gt; &amp;#xD30C;&amp;#xC77C;&amp;#xC5D0; &amp;#xC124;&amp;#xC815;&amp;#xD55C; &amp;#xAC12;&amp;#xC73C;&amp;#xB85C; override &amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xC5EC;&amp;#xB7EC;&amp;#xAC1C;&amp;#xC758; profile&amp;#xC774; &amp;#xC9C0;&amp;#xC815;&amp;#xB41C; &amp;#xACBD;&amp;#xC6B0;, &amp;#xB9C8;&amp;#xC9C0;&amp;#xB9C9;&amp;#xC5D0; &amp;#xC124;&amp;#xC815;&amp;#xD55C; &amp;#xC804;&amp;#xB7B5;&amp;#xC774; override &amp;#xB418;&amp;#xB294; Last wins &amp;#xC804;&amp;#xB7B5;&amp;#xC774; &amp;#xC801;&amp;#xC6A9;&amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&lt;br&gt;&lt;/p&gt;
&lt;p&gt;Last wins &amp;#xC804;&amp;#xB7B5;&amp;#xC740; &amp;#xC704;&amp;#xCE58; &amp;#xADF8;&amp;#xB8F9; &amp;#xC218;&amp;#xC900;&amp;#xC5D0;&amp;#xC11C; &amp;#xC801;&amp;#xC6A9;&amp;#xB418;&amp;#xB294;&amp;#xB370;,&lt;/p&gt;
&lt;p&gt;&lt;code&gt;spring.config.active=prod,live&lt;/code&gt; &amp;#xC778; &amp;#xC0C1;&amp;#xD669;&amp;#xC5D0;&amp;#xC11C; &amp;#xC544;&amp;#xB798;&amp;#xC640; &amp;#xAC19;&amp;#xC740; &amp;#xAD6C;&amp;#xC870;&amp;#xB85C; &amp;#xAD6C;&amp;#xC131;&amp;#xD30C;&amp;#xC77C;&amp;#xC774; &amp;#xC788;&amp;#xB2E4;&amp;#xACE0; &amp;#xD560;&amp;#xB54C;,&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;txt&quot; class=&quot;language-txt&quot;&gt;/cfg
  application-live.yml
/ext
  application-live.yml
  application-prod.yml
&lt;/pre&gt;&lt;p&gt;&lt;code&gt;spring.config.location=classpath:/cfg/,classpath:/ext/&lt;/code&gt; &amp;#xC640;&lt;br&gt;
&lt;code&gt;spring.config.location=classpath:/cfg/;classpath:/ext/&lt;/code&gt; &amp;#xB294; override &amp;#xADDC;&amp;#xCE59;&amp;#xC774; &amp;#xB2E4;&amp;#xB985;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;br&gt;
&lt;p&gt;&lt;strong&gt;5.2.1. classpath:/cfg/,classpath:/ext/&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;location&amp;#xC744; &amp;#xC27C;&amp;#xD45C;&amp;#xB85C; &amp;#xAD6C;&amp;#xBD84;&amp;#xD558;&amp;#xB294; &amp;#xAC83;&amp;#xC740; (&amp;#xD65C;&amp;#xC131;&amp;#xD654;&amp;#xD560; profile &amp;#xC21C;&amp;#xC11C;&amp;#xB97C; &amp;#xC815;&amp;#xC758;&amp;#xD55C;&amp;#xAC83; &amp;#xCC98;&amp;#xB7FC;) &amp;#xAC01; location &amp;#xB514;&amp;#xB809;&amp;#xD1A0;&amp;#xB9AC;&amp;#xBCC4;&amp;#xB85C; &amp;#xC21C;&amp;#xC11C;&amp;#xB97C; &amp;#xC9C0;&amp;#xC815;&amp;#xD558;&amp;#xB294; &amp;#xAC83;&amp;#xACFC; &amp;#xAC19;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xB530;&amp;#xB77C;&amp;#xC11C;, cfg &amp;#xB514;&amp;#xB809;&amp;#xD1A0;&amp;#xB9AC; &amp;#xD558;&amp;#xC704;&amp;#xC5D0; &amp;#xC788;&amp;#xB294; &amp;#xD30C;&amp;#xC77C;&amp;#xB4E4;&amp;#xC774; &amp;#xAC00;&amp;#xC7A5; &amp;#xC6B0;&amp;#xC120;&amp;#xC21C;&amp;#xC704;&amp;#xAC00; &amp;#xB192;&amp;#xACE0; &amp;#xADF8;&amp;#xB2E4;&amp;#xC74C;&amp;#xC5D0; ext &amp;#xB514;&amp;#xB809;&amp;#xD1A0;&amp;#xB9AC; &amp;#xD558;&amp;#xC704;&amp;#xC758; &amp;#xD30C;&amp;#xC77C;&amp;#xC744; &amp;#xB85C;&amp;#xB4DC;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;/cfg/application-live.yml&lt;/li&gt;
&lt;li&gt;/ext/application-prod.yml&lt;/li&gt;
&lt;li&gt;/ext/application-live.yml&lt;br&gt;
&lt;br&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;5.2.1. classpath:/cfg/;classpath:/ext/&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;location&amp;#xC744; &amp;#xC138;&amp;#xBBF8;&amp;#xCF5C;&amp;#xB860;&amp;#xB85C; &amp;#xAD6C;&amp;#xBD84;&amp;#xD558;&amp;#xB294; &amp;#xAC83;&amp;#xC740; &amp;#xAC01; location &amp;#xB514;&amp;#xB809;&amp;#xD1A0;&amp;#xB9AC;&amp;#xB97C; &amp;#xB3D9;&amp;#xC77C;&amp;#xD55C; &amp;#xC218;&amp;#xC900;&amp;#xC73C;&amp;#xB85C; &amp;#xAC04;&amp;#xC8FC;&amp;#xD558;&amp;#xB294; &amp;#xAC83;&amp;#xACFC; &amp;#xAC19;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xB2E4;&amp;#xB9CC;, &amp;#xB9CC;&amp;#xC77C; &amp;#xB450; &amp;#xB514;&amp;#xB809;&amp;#xD1A0;&amp;#xB9AC; &amp;#xB0B4;&amp;#xC5D0; &amp;#xB3D9;&amp;#xC77C;&amp;#xD55C; &amp;#xD504;&amp;#xB85C;&amp;#xD30C;&amp;#xC77C;&amp;#xC774; &amp;#xC874;&amp;#xC7AC;&amp;#xD55C;&amp;#xB2E4;&amp;#xBA74; &amp;#xBA3C;&amp;#xC800; &amp;#xC704;&amp;#xCE58;&amp;#xD55C; &amp;#xB514;&amp;#xB809;&amp;#xD1A0;&amp;#xB9AC;&amp;#xB97C; &amp;#xBA3C;&amp;#xC800; &amp;#xB85C;&amp;#xB4DC;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;/ext/application-prod.yml&lt;/li&gt;
&lt;li&gt;/cfg/application-live.yml&lt;/li&gt;
&lt;li&gt;/ext/application-live.yml&lt;/li&gt;
&lt;/ol&gt;
&lt;div class=&quot;admonition note&quot;&gt;
&lt;p class=&quot;admonition-title&quot;&gt;Note&lt;/p&gt;
&lt;p&gt;&amp;#xB9CC;&amp;#xC77C; &amp;#xD65C;&amp;#xC131;&amp;#xD654;&amp;#xD560; &amp;#xD504;&amp;#xB85C;&amp;#xD30C;&amp;#xC77C;&amp;#xC744; &amp;#xBA85;&amp;#xC2DC;&amp;#xC801;&amp;#xC73C;&amp;#xB85C; &amp;#xC9C0;&amp;#xC815;&amp;#xD574;&amp;#xC8FC;&amp;#xC9C0; &amp;#xC54A;&amp;#xB294;&amp;#xB2E4;&amp;#xBA74; &amp;#xAE30;&amp;#xBCF8;&amp;#xC801;&amp;#xC73C;&amp;#xB85C; default &amp;#xD504;&amp;#xB85C;&amp;#xD30C;&amp;#xC77C;&amp;#xC744; &amp;#xC124;&amp;#xC815;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xC989;, &amp;#xD504;&amp;#xB85C;&amp;#xD30C;&amp;#xC77C; &amp;#xBBF8;&amp;#xC9C0;&amp;#xC815;&amp;#xC2DC;&amp;#xC5D0;&amp;#xB294; &lt;code&gt;application-default&lt;/code&gt; &amp;#xAD6C;&amp;#xC131;&amp;#xD30C;&amp;#xC77C; &amp;#xB0B4;&amp;#xC5D0; &amp;#xC815;&amp;#xC758;&amp;#xB41C; &amp;#xD504;&amp;#xB85C;&amp;#xD30C;&amp;#xC77C;&amp;#xB4E4;&amp;#xC744; &amp;#xB85C;&amp;#xB4DC;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xC544;&amp;#xB798;&amp;#xB294; &amp;#xD65C;&amp;#xC131;&amp;#xD654;&amp;#xD560; &amp;#xD504;&amp;#xB85C;&amp;#xD30C;&amp;#xC77C; &amp;#xBBF8;&amp;#xC9C0;&amp;#xC815;&amp;#xC2DC; &amp;#xCD9C;&amp;#xB825;&amp;#xB418;&amp;#xB294; &amp;#xB85C;&amp;#xADF8;&amp;#xD654;&amp;#xBA74;&amp;#xC758; &amp;#xC77C;&amp;#xBD80;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;&lt;span class=&quot;token number&quot;&gt;2024&lt;/span&gt;-12-04T14:05:35.451+09:00  INFO &lt;span class=&quot;token number&quot;&gt;32545&lt;/span&gt; --- &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;spring-boot&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;  restartedMain&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; me.jiniworld.springboot.SpringBootApp    &lt;span class=&quot;token builtin class-name&quot;&gt;:&lt;/span&gt; No active profile set, falling back to &lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt; default profile: &lt;span class=&quot;token string&quot;&gt;&amp;quot;default&amp;quot;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;hr&gt;
&lt;h2 class=&quot;mume-header&quot; id=&quot;div-ida066-%EC%B6%94%EA%B0%80-%EB%8D%B0%EC%9D%B4%ED%84%B0-importdiv&quot;&gt;&lt;div id=&quot;a06&quot;&gt;6. &amp;#xCD94;&amp;#xAC00; &amp;#xB370;&amp;#xC774;&amp;#xD130; import&lt;/div&gt;&lt;/h2&gt;

&lt;p&gt;&amp;#xC560;&amp;#xD50C;&amp;#xB9AC;&amp;#xCF00;&amp;#xC774;&amp;#xC158; &amp;#xD504;&amp;#xB85C;&amp;#xD37C;&amp;#xD2F0;&amp;#xB294; &lt;code&gt;spring.config.import&lt;/code&gt; &amp;#xD504;&amp;#xB85C;&amp;#xD37C;&amp;#xD2F0;&amp;#xB97C; &amp;#xC774;&amp;#xC6A9;&amp;#xD558;&amp;#xC5EC; &amp;#xB2E4;&amp;#xB978; &amp;#xC704;&amp;#xCE58;&amp;#xB85C;&amp;#xBD80;&amp;#xD130; config data&amp;#xB97C; &amp;#xAC00;&amp;#xC838;&amp;#xC62C; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xC544;&amp;#xB798;&amp;#xC640; &amp;#xAC19;&amp;#xC774; classpath &amp;#xD558;&amp;#xC704;&amp;#xC5D0; &amp;#xC788;&amp;#xB294; &amp;#xD30C;&amp;#xC77C;&amp;#xC744; &amp;#xCD94;&amp;#xAC00;&amp;#xB85C; &amp;#xAC00;&amp;#xC838;&amp;#xC62C; &amp;#xC218;&amp;#xB3C4; &amp;#xC788;&amp;#xACE0;,&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;yml&quot; class=&quot;language-yaml&quot;&gt;&lt;span class=&quot;token key atrule&quot;&gt;spring&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
  &lt;span class=&quot;token key atrule&quot;&gt;config&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
    &lt;span class=&quot;token key atrule&quot;&gt;import&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; optional&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;classpath&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;/demo.yml
&lt;/pre&gt;&lt;br&gt;
&lt;p&gt;&amp;#xD504;&amp;#xB85C;&amp;#xD37C;&amp;#xD2F0; &amp;#xD30C;&amp;#xC77C;&amp;#xC774; &amp;#xC704;&amp;#xCE58;&amp;#xD55C; &amp;#xB3D9;&amp;#xC77C;&amp;#xD55C; &amp;#xB514;&amp;#xB809;&amp;#xD1A0;&amp;#xB9AC;&amp;#xC5D0; &amp;#xC788;&amp;#xB294; &amp;#xD30C;&amp;#xC77C;&amp;#xC744; &amp;#xAC00;&amp;#xC838;&amp;#xC624;&amp;#xB294; &amp;#xAC83;&amp;#xB3C4; &amp;#xAC00;&amp;#xB2A5;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;yml&quot; class=&quot;language-yaml&quot;&gt;&lt;span class=&quot;token key atrule&quot;&gt;spring&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
  &lt;span class=&quot;token key atrule&quot;&gt;config&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
    &lt;span class=&quot;token key atrule&quot;&gt;import&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; optional&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;./demo.yml
&lt;/pre&gt;&lt;br&gt;
&lt;p&gt;&lt;code&gt;spring.config.import&lt;/code&gt;&amp;#xB97C; &amp;#xC774;&amp;#xC6A9;&amp;#xD558;&amp;#xC5EC; &amp;#xAC00;&amp;#xC838;&amp;#xC628; &amp;#xAC12;&amp;#xB4E4;&amp;#xC744; &amp;#xAC00;&amp;#xC7A5; &lt;strong&gt;&amp;#xC6B0;&amp;#xC120;&lt;/strong&gt;&amp;#xD558;&amp;#xBA70;, &amp;#xAD6C;&amp;#xC131;&amp;#xD30C;&amp;#xC77C; &amp;#xB0B4;&amp;#xC5D0;&amp;#xC11C;&amp;#xC758; &lt;code&gt;spring.config.import&lt;/code&gt; &amp;#xD504;&amp;#xB85C;&amp;#xD37C;&amp;#xD2F0;&amp;#xC758; &amp;#xC704;&amp;#xCE58;&amp;#xC640;&amp;#xB294; &amp;#xBB34;&amp;#xAD00;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
(= import&amp;#xB97C; &amp;#xC815;&amp;#xC758;&amp;#xD55C; &amp;#xAD6C;&amp;#xC131; &amp;#xD30C;&amp;#xC77C;&amp;#xC758; &amp;#xB9E8; &amp;#xB9C8;&amp;#xC9C0;&amp;#xB9C9;&amp;#xC5D0; &amp;#xC791;&amp;#xC131;&amp;#xD558;&amp;#xB4E0; &amp;#xB9E8; &amp;#xC704;&amp;#xC5D0; &amp;#xC791;&amp;#xC131;&amp;#xD558;&amp;#xB4E0; &amp;#xD504;&amp;#xB85C;&amp;#xD37C;&amp;#xD2F0; &amp;#xC704;&amp;#xCE58;&amp;#xC640;&amp;#xB294; &amp;#xBB34;&amp;#xAD00;&amp;#xD558;&amp;#xAC8C; &amp;#xBB34;&amp;#xC870;&amp;#xAC74; import&amp;#xD55C; &amp;#xD30C;&amp;#xC77C;&amp;#xC744; &amp;#xB9E8; &amp;#xB9C8;&amp;#xC9C0;&amp;#xB9C9;&amp;#xC73C;&amp;#xB85C; override &amp;#xD55C;&amp;#xB2E4;.)&lt;/p&gt;
&lt;p&gt;&amp;#xC989;, &amp;#xC544;&amp;#xB798; &amp;#xB450; &amp;#xAD6C;&amp;#xC131;&amp;#xD30C;&amp;#xC77C;&amp;#xC740; &amp;#xBAA8;&amp;#xB450; &amp;#xB3D9;&amp;#xC77C;&amp;#xD558;&amp;#xAC8C; &amp;#xC791;&amp;#xB3D9;&amp;#xB418;&amp;#xBA70;, demo.yml &amp;#xC5D0; &amp;#xC791;&amp;#xC131;&amp;#xB41C; &amp;#xAC83;&amp;#xC73C;&amp;#xB85C; &amp;#xB36E;&amp;#xC5B4;&amp;#xC368;&amp;#xC9D1;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;yml&quot; class=&quot;language-yaml&quot;&gt;&lt;span class=&quot;token key atrule&quot;&gt;spring&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
  &lt;span class=&quot;token key atrule&quot;&gt;config&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
    &lt;span class=&quot;token key atrule&quot;&gt;import&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;demo.yml&amp;quot;&lt;/span&gt;

&lt;span class=&quot;token key atrule&quot;&gt;custom&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
  &lt;span class=&quot;token key atrule&quot;&gt;name&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; hello
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;yml&quot; class=&quot;language-yaml&quot;&gt;&lt;span class=&quot;token key atrule&quot;&gt;custom&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
  &lt;span class=&quot;token key atrule&quot;&gt;name&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; hello

&lt;span class=&quot;token key atrule&quot;&gt;spring&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
  &lt;span class=&quot;token key atrule&quot;&gt;config&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
    &lt;span class=&quot;token key atrule&quot;&gt;import&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;demo.yml&amp;quot;&lt;/span&gt;
&lt;/pre&gt;&lt;br&gt;
&lt;p&gt;&lt;code&gt;spring.config.import&lt;/code&gt; &amp;#xC5D0;&amp;#xB294; &amp;#xC5EC;&amp;#xB7EC;&amp;#xAC1C;&amp;#xC758; &amp;#xC704;&amp;#xCE58;&amp;#xB97C; &amp;#xD3EC;&amp;#xD568;&amp;#xC2DC;&amp;#xD0AC; &amp;#xC218; &amp;#xC788;&amp;#xC73C;&amp;#xBA70;, &amp;#xB9C8;&amp;#xCC2C;&amp;#xAC00;&amp;#xC9C0;&amp;#xB85C; &amp;#xB9E8; &amp;#xB9C8;&amp;#xC9C0;&amp;#xB9C9;&amp;#xC5D0; &amp;#xC815;&amp;#xC758;&amp;#xD55C; &amp;#xC704;&amp;#xCE58;&amp;#xB97C; &amp;#xC6B0;&amp;#xC120;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&lt;code&gt;spring.config.import&lt;/code&gt; &amp;#xD504;&amp;#xB85C;&amp;#xD37C;&amp;#xD2F0; &amp;#xC124;&amp;#xC815;&amp;#xC740; &amp;#xAD6C;&amp;#xC131;&amp;#xD30C;&amp;#xC77C; &amp;#xB0B4;&amp;#xC5D0; &amp;#xB2E8; &amp;#xD55C;&amp;#xBC88;&amp;#xB9CC; import &amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;. (&amp;#xC5EC;&amp;#xB7EC;&amp;#xAC1C; &amp;#xC120;&amp;#xC5B8;&amp;#xD558;&amp;#xB354;&amp;#xB77C;&amp;#xB3C4;)&lt;/p&gt;
&lt;br&gt;
&lt;h3 class=&quot;mume-header&quot; id=&quot;div-ida06-161-profipe-specific-varinants-%EA%B0%80%EC%A0%B8%EC%98%A4%EA%B8%B0div&quot;&gt;&lt;div id=&quot;a06-1&quot;&gt;6.1. Profipe-specific varinants &amp;#xAC00;&amp;#xC838;&amp;#xC624;&amp;#xAE30;&lt;/div&gt;&lt;/h3&gt;

&lt;p&gt;&amp;#xB610;, application*.yml &amp;#xC774;&amp;#xC678;&amp;#xC5D0; &amp;#xBCC0;&amp;#xD615;&amp;#xB41C; profile &amp;#xB3C4; &amp;#xAC00;&amp;#xC838;&amp;#xC624;&amp;#xB294;&amp;#xAC8C; &amp;#xAC00;&amp;#xB2A5;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xC608;&amp;#xB97C;&amp;#xB4E4;&amp;#xC5B4;, &amp;#xC544;&amp;#xB798;&amp;#xC640; &amp;#xAC19;&amp;#xC774; demo &amp;#xB77C;&amp;#xB294; &amp;#xC774;&amp;#xB984;&amp;#xC758; &amp;#xAD6C;&amp;#xC131;&amp;#xD30C;&amp;#xC77C;&amp;#xC744; &amp;#xAC00;&amp;#xC838;&amp;#xC628;&amp;#xB2E4;&amp;#xACE0; &amp;#xC124;&amp;#xC815;&amp;#xC774; &amp;#xB418;&amp;#xC5B4;&amp;#xC788;&amp;#xC73C;&amp;#xBA74;&amp;#xC11C;, qa &amp;#xD504;&amp;#xB85C;&amp;#xD30C;&amp;#xC77C;&amp;#xC774; &amp;#xD65C;&amp;#xC131;&amp;#xD654; &amp;#xB418;&amp;#xC5B4;&amp;#xC788;&amp;#xC744; &amp;#xACBD;&amp;#xC6B0;&amp;#xC5D0;&amp;#xB294;  (= &lt;code&gt;-Dspring.profiles.active=qa&lt;/code&gt;)&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;yml&quot; class=&quot;language-yaml&quot;&gt;&lt;span class=&quot;token key atrule&quot;&gt;spring&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
  &lt;span class=&quot;token key atrule&quot;&gt;config&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
    &lt;span class=&quot;token key atrule&quot;&gt;import&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
      &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt; demo.yml
&lt;/pre&gt;&lt;p&gt;application.yml &amp;#x2192; application-qa.yml &amp;#x2192; demo.yml &amp;#x2192; demo-qa.yml &amp;#xC21C;&amp;#xC73C;&amp;#xB85C; &amp;#xB36E;&amp;#xC5B4;&amp;#xC368;&amp;#xC9D1;&amp;#xB2C8;&amp;#xB2E4;. (demo-qa.yml &amp;#xAD6C;&amp;#xC131;&amp;#xD30C;&amp;#xC77C;&amp;#xC774; &amp;#xAC00;&amp;#xC7A5; &amp;#xB192;&amp;#xC740; &amp;#xC6B0;&amp;#xC120;&amp;#xC21C;&amp;#xC704;)&lt;/p&gt;
&lt;br&gt;
&lt;h3 class=&quot;mume-header&quot; id=&quot;div-ida06-262-%ED%99%95%EC%9E%A5%EC%9E%90-%EC%97%86%EB%8A%94-%ED%8C%8C%EC%9D%BC-%EA%B0%80%EC%A0%B8%EC%98%A4%EA%B8%B0div&quot;&gt;&lt;div id=&quot;a06-2&quot;&gt;6.2. &amp;#xD655;&amp;#xC7A5;&amp;#xC790; &amp;#xC5C6;&amp;#xB294; &amp;#xD30C;&amp;#xC77C; &amp;#xAC00;&amp;#xC838;&amp;#xC624;&amp;#xAE30;&lt;/div&gt;&lt;/h3&gt;

&lt;p&gt;Spring Boot&amp;#xC5D0;&amp;#xB294; &amp;#xB2E4;&amp;#xC591;&amp;#xD55C; &amp;#xC704;&amp;#xCE58;&amp;#xC8FC;&amp;#xC18C;&amp;#xB97C; &amp;#xC9C0;&amp;#xC6D0;&amp;#xD558;&amp;#xB294; &amp;#xD50C;&amp;#xB7EC;&amp;#xADF8;&amp;#xD615; API&amp;#xB97C; &amp;#xD3EC;&amp;#xD568;&amp;#xD558;&amp;#xACE0; &amp;#xC788;&amp;#xAE30; &amp;#xB54C;&amp;#xBB38;&amp;#xC5D0;, &amp;#xAE30;&amp;#xBCF8;&amp;#xC801;&amp;#xC73C;&amp;#xB85C; java &amp;#xD074;&amp;#xB798;&amp;#xC2A4;&amp;#xB97C; &amp;#xC774;&amp;#xC6A9;&amp;#xD55C; &amp;#xD504;&amp;#xB85C;&amp;#xD37C;&amp;#xD2F0; &amp;#xC18D;&amp;#xC131;&amp;#xACFC; YAML, &amp;#xAD6C;&amp;#xC131; &amp;#xD2B8;&amp;#xB9AC;&amp;#xB97C; &amp;#xD1B5;&amp;#xD55C; import&amp;#xAC00; &amp;#xAC00;&amp;#xB2A5;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
(Consul, Apache Zookeeper, Netflix Archaius &amp;#xB4F1;&amp;#xACFC; &amp;#xAC19;&amp;#xC740; &amp;#xC678;&amp;#xBD80; &amp;#xC800;&amp;#xC7A5;&amp;#xC18C;&amp;#xB85C;&amp;#xBD80;&amp;#xD130; &amp;#xAD6C;&amp;#xC131; &amp;#xB370;&amp;#xC774;&amp;#xD130; &amp;#xB85C;&amp;#xB4DC;)&lt;/p&gt;
&lt;p&gt;&amp;#xC77C;&amp;#xBD80; &amp;#xD074;&amp;#xB77C;&amp;#xC6B0;&amp;#xB4DC; &amp;#xD50C;&amp;#xB7AB;&amp;#xD3FC;&amp;#xC740; &amp;#xBCFC;&amp;#xB968; &amp;#xB9C8;&amp;#xC6B4;&amp;#xD2B8;&amp;#xB41C; &amp;#xD30C;&amp;#xC77C;&amp;#xC5D0; &amp;#xD30C;&amp;#xC77C; &amp;#xD655;&amp;#xC7A5;&amp;#xC790;&amp;#xB97C; &amp;#xCD94;&amp;#xAC00;&amp;#xD560; &amp;#xC218; &amp;#xC5C6;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xC774;&amp;#xB7EC;&amp;#xD55C; &amp;#xACBD;&amp;#xC6B0;&amp;#xC5D0; &amp;#xB300;&amp;#xD55C; &amp;#xAD6C;&amp;#xC131;&amp;#xD30C;&amp;#xC77C; &amp;#xB85C;&amp;#xB4DC;&amp;#xB97C; &amp;#xAC00;&amp;#xB2A5;&amp;#xD558;&amp;#xAC8C; &amp;#xD558;&amp;#xAE30; &amp;#xC704;&amp;#xD574; Spring Boot&amp;#xB294; &amp;#xD655;&amp;#xC7A5;&amp;#xC790; hint&amp;#xB97C; &amp;#xC81C;&amp;#xACF5;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xD655;&amp;#xC7A5;&amp;#xC790; hint&amp;#xB294; &amp;#xB300;&amp;#xAD04;&amp;#xD638;&amp;#xB97C; &amp;#xBB36;&amp;#xC5B4;&amp;#xC11C; &amp;#xC2E4;&amp;#xD589;&amp;#xD558;&amp;#xB294;&amp;#xB370;, &amp;#xC544;&amp;#xB798;&amp;#xC640; &amp;#xAC19;&amp;#xC774; &amp;#xC791;&amp;#xC131;&amp;#xD558;&amp;#xBA74; &amp;#xD30C;&amp;#xC77C;&amp;#xBA85;&amp;#xC5D0; &amp;#xD655;&amp;#xC7A5;&amp;#xC790;&amp;#xAC00; &amp;#xC5C6;&amp;#xC5B4;&amp;#xB3C4; &amp;#xB85C;&amp;#xB4DC;&amp;#xAC00; &amp;#xAC00;&amp;#xB2A5;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;yml&quot; class=&quot;language-yaml&quot;&gt;&lt;span class=&quot;token key atrule&quot;&gt;spring&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
  &lt;span class=&quot;token key atrule&quot;&gt;config&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
    &lt;span class=&quot;token key atrule&quot;&gt;import&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
      &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;file:/etc/config/demo[.yml]&amp;quot;&lt;/span&gt;
&lt;/pre&gt;&lt;hr&gt;
&lt;h2 class=&quot;mume-header&quot; id=&quot;div-ida077-configtreediv&quot;&gt;&lt;div id=&quot;a07&quot;&gt;7. configtree&lt;/div&gt;&lt;/h2&gt;

&lt;p&gt;Kubernetes &amp;#xC640; &amp;#xAC19;&amp;#xC740; &amp;#xD074;&amp;#xB77C;&amp;#xC6B0;&amp;#xB4DC; &amp;#xD50C;&amp;#xB7AB;&amp;#xD3FC;&amp;#xC5D0;&amp;#xC11C; &amp;#xC560;&amp;#xD50C;&amp;#xB9AC;&amp;#xCF00;&amp;#xC774;&amp;#xC158;&amp;#xC744; &amp;#xC2E4;&amp;#xD589;&amp;#xD560; &amp;#xB54C;, &amp;#xD50C;&amp;#xB7AB;&amp;#xD3FC;&amp;#xC5D0;&amp;#xC11C; &amp;#xC81C;&amp;#xACF5;&amp;#xD558;&amp;#xB294; &amp;#xAD6C;&amp;#xC131;&amp;#xAC12;&amp;#xC744; &amp;#xC77D;&amp;#xC5B4;&amp;#xC57C;&amp;#xD558;&amp;#xB294; &amp;#xACBD;&amp;#xC6B0;&amp;#xAC00; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xD50C;&amp;#xB7AB;&amp;#xD3FC;&amp;#xC5D0;&amp;#xC11C; &amp;#xC81C;&amp;#xACF5;&amp;#xD558;&amp;#xB294; &amp;#xAD6C;&amp;#xC131;&amp;#xAC12;&amp;#xC744; &amp;#xC77D;&amp;#xAE30; &amp;#xC704;&amp;#xD558;&amp;#xC5EC; &amp;#xD658;&amp;#xACBD;&amp;#xBCC0;&amp;#xC218;&amp;#xB97C; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD558;&amp;#xB294; &amp;#xAC83;&amp;#xC740; &amp;#xB4DC;&amp;#xBB38;&amp;#xC77C;&amp;#xC740; &amp;#xC544;&amp;#xB2C8;&amp;#xC9C0;&amp;#xB9CC;, &amp;#xAC12;&amp;#xC744; &amp;#xBE44;&amp;#xBC00;&amp;#xB85C; &amp;#xD574;&amp;#xC57C;&amp;#xD558;&amp;#xB294; &amp;#xACBD;&amp;#xC6B0;&amp;#xC5D0;&amp;#xB294; &amp;#xBCF4;&amp;#xC548;&amp;#xC0C1; &amp;#xCDE8;&amp;#xC57D;&amp;#xD558;&amp;#xB2E4;&amp;#xB294; &amp;#xB2E8;&amp;#xC810;&amp;#xC774; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xADF8;&amp;#xB7EC;&amp;#xD55C; &amp;#xC774;&amp;#xC720;&amp;#xB85C;, &amp;#xD658;&amp;#xACBD;&amp;#xBCC0;&amp;#xC218; &amp;#xB300;&amp;#xC548;&amp;#xC73C;&amp;#xB85C; &amp;#xB9CE;&amp;#xC740; &amp;#xD074;&amp;#xB77C;&amp;#xC6B0;&amp;#xB4DC; &amp;#xD50C;&amp;#xB7AB;&amp;#xD3FC;&amp;#xC5D0;&amp;#xC11C; &amp;#xB9C8;&amp;#xC6B4;&amp;#xD2B8;&amp;#xB41C; &amp;#xB370;&amp;#xC774;&amp;#xD130; &amp;#xBCFC;&amp;#xB968;&amp;#xC5D0; &amp;#xAD6C;&amp;#xC131;&amp;#xC744; &amp;#xB9E4;&amp;#xD551;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Kubernetes&amp;#xB97C; &amp;#xC608;&amp;#xB85C; &amp;#xB4E4;&amp;#xC790;&amp;#xBA74; &lt;em&gt;ConfigMaps&lt;/em&gt; &amp;#xC640; &lt;em&gt;Secrets&lt;/em&gt; &amp;#xB458;&amp;#xB2E4; &amp;#xBCFC;&amp;#xB968; &amp;#xB9C8;&amp;#xC6B4;&amp;#xD2B8; &amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;br&gt;
&lt;p&gt;&lt;strong&gt;&amp;#xC77C;&amp;#xBC18;&amp;#xC801;&amp;#xC778; &amp;#xBCFC;&amp;#xB968; &amp;#xB9C8;&amp;#xC6B4;&amp;#xD2B8; &amp;#xD328;&amp;#xD134;&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&amp;#xB2E8;&amp;#xC77C;&amp;#xD30C;&amp;#xC77C;&amp;#xC5D0;&amp;#xB294; &amp;#xC804;&amp;#xCCB4; &amp;#xD504;&amp;#xB85C;&amp;#xD37C;&amp;#xD2F0; &amp;#xC138;&amp;#xD2B8;&amp;#xB97C; &amp;#xD3EC;&amp;#xD568;&amp;#xD558;&amp;#xACE0; &amp;#xC788;&amp;#xB2E4;.&lt;/li&gt;
&lt;li&gt;&amp;#xC5EC;&amp;#xB7EC;&amp;#xAC1C;&amp;#xC758; &amp;#xD30C;&amp;#xC77C;&amp;#xC740; &amp;#xD30C;&amp;#xC77C;&amp;#xC774;&amp;#xB984;&amp;#xC740; &amp;apos;key&amp;apos;&amp;#xAC00; &amp;#xB418;&amp;#xACE0; &amp;#xB0B4;&amp;#xC6A9;&amp;#xC740; &amp;apos;value&amp;apos;&amp;#xAC00; &amp;#xB418;&amp;#xC5B4; &amp;#xB514;&amp;#xB809;&amp;#xD1A0;&amp;#xB9AC; &amp;#xD2B8;&amp;#xB9AC;&amp;#xC5D0; &amp;#xAE30;&amp;#xB85D;&amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;/li&gt;
&lt;/ol&gt;
&lt;br&gt;
&lt;p&gt;K8s &amp;#xAC00; &amp;#xC544;&amp;#xB798;&amp;#xC640; &amp;#xAC19;&amp;#xC740; &amp;#xBCFC;&amp;#xB968;&amp;#xC744; &amp;#xB9C8;&amp;#xC6B4;&amp;#xD2B8;&amp;#xD588;&amp;#xB2E4;&amp;#xACE0; &amp;#xD574;&amp;#xBD05;&amp;#xC2DC;&amp;#xB2E4;.&lt;br&gt;
&amp;#xC774; &amp;#xC911;, username&amp;#xC740; config &amp;#xAC12;&amp;#xC774;&amp;#xACE0;, password &amp;#xAC12;&amp;#xC740; &amp;#xBE44;&amp;#xBC00;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;txt&quot; class=&quot;language-txt&quot;&gt;etc/
  config/
    myapp/
      username
      password
&lt;/pre&gt;&lt;br&gt;
&lt;p&gt;&amp;#xC774; &amp;#xAC12;&amp;#xC744; &amp;#xC77D;&amp;#xAE30; &amp;#xC704;&amp;#xD574;&amp;#xC11C;, &amp;#xD504;&amp;#xB85C;&amp;#xD37C;&amp;#xD2F0;&amp;#xC5D0; &amp;#xC544;&amp;#xB798;&amp;#xC640; &amp;#xAC19;&amp;#xC774; &amp;#xC124;&amp;#xC815;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;yml&quot; class=&quot;language-yaml&quot;&gt;&lt;span class=&quot;token key atrule&quot;&gt;spring&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
  &lt;span class=&quot;token key atrule&quot;&gt;config&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
    &lt;span class=&quot;token key atrule&quot;&gt;import&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;optional:configtree:/etc/config/&amp;quot;&lt;/span&gt;
&lt;/pre&gt;&lt;p&gt;&amp;#xAD6C;&amp;#xC131;&amp;#xD2B8;&amp;#xB9AC;&amp;#xC758; &amp;#xAC12;&amp;#xC740; &amp;#xC608;&amp;#xC0C1;&amp;#xB418;&amp;#xB294; &amp;#xCEE8;&amp;#xD150;&amp;#xCE20; &amp;#xB0B4;&amp;#xC6A9;&amp;#xC5D0; &amp;#xB530;&amp;#xB77C; &lt;em&gt;String&lt;/em&gt; &amp;#xACFC; &lt;em&gt;byte[]&lt;/em&gt; &amp;#xC720;&amp;#xD615; &amp;#xBAA8;&amp;#xB450;&amp;#xC5D0; &amp;#xBC14;&amp;#xC778;&amp;#xB529;&amp;#xB420; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&lt;br&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&amp;#xC5EC;&amp;#xB7EC; &amp;#xAD6C;&amp;#xC131;&amp;#xD2B8;&amp;#xB9AC; &amp;#xAC00;&amp;#xC838;&amp;#xC624;&amp;#xAE30;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&amp;#xC544;&amp;#xB798;&amp;#xC640; &amp;#xAC19;&amp;#xC740; &amp;#xBCFC;&amp;#xB968;&amp;#xC774; &amp;#xC8FC;&amp;#xC5B4;&amp;#xC84C;&amp;#xC744; &amp;#xB54C;&amp;#xC5D0;&amp;#xB294;,&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;txt&quot; class=&quot;language-txt&quot;&gt;etc/
  config/
    db/
      username
      password
    db/
      username
      password
&lt;/pre&gt;&lt;p&gt;&amp;#xC544;&amp;#xB798;&amp;#xC640; &amp;#xAC19;&amp;#xC774; * &amp;#xB97C; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD558;&amp;#xBA74; &amp;#xC5EC;&amp;#xB7EC;&amp;#xAC1C;&amp;#xC758; &amp;#xAD6C;&amp;#xC131; &amp;#xD2B8;&amp;#xB9AC;&amp;#xB97C; &amp;#xAC00;&amp;#xC838;&amp;#xC62C; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;yml&quot; class=&quot;language-yaml&quot;&gt;&lt;span class=&quot;token key atrule&quot;&gt;spring&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
  &lt;span class=&quot;token key atrule&quot;&gt;config&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
    &lt;span class=&quot;token key atrule&quot;&gt;import&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;optional:configtree:/etc/config/*/&amp;quot;&lt;/span&gt;
&lt;/pre&gt;&lt;div class=&quot;admonition note&quot;&gt;
&lt;p class=&quot;admonition-title&quot;&gt;Note&lt;/p&gt;
&lt;p&gt;&amp;#xB2E4;&amp;#xB9CC;, &amp;#xC5EC;&amp;#xB7EC;&amp;#xAD6C;&amp;#xC131;&amp;#xD2B8;&amp;#xB9AC;&amp;#xB97C; import &amp;#xD560; &amp;#xACBD;&amp;#xC6B0;, &amp;#xC54C;&amp;#xD30C;&amp;#xBCB3; &amp;#xC21C;&amp;#xC73C;&amp;#xB85C; &amp;#xC815;&amp;#xB82C;&amp;#xD558;&amp;#xC5EC; &amp;#xB85C;&amp;#xB4DC;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xB9CC;&amp;#xC57D; &amp;#xB85C;&amp;#xB4DC; &amp;#xC21C;&amp;#xC11C;&amp;#xB97C; &amp;#xC9C1;&amp;#xC811; &amp;#xC815;&amp;#xC758;&amp;#xD558;&amp;#xACE0; &amp;#xC2F6;&amp;#xB2E4;&amp;#xBA74; &amp;#xAC01; &amp;#xC704;&amp;#xCE58;&amp;#xBCC4;&amp;#xB85C; &amp;#xBCC4;&amp;#xB3C4;&amp;#xB85C; import&amp;#xD558;&amp;#xC5EC; &amp;#xAC00;&amp;#xC838;&amp;#xC640;&amp;#xC57C;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;/div&gt;
&lt;hr&gt;
&lt;h2 class=&quot;mume-header&quot; id=&quot;div-ida088-property-placeholdersdiv&quot;&gt;&lt;div id=&quot;a08&quot;&gt;8. property placeholders&lt;/div&gt;&lt;/h2&gt;

&lt;p&gt;&amp;#xAD6C;&amp;#xC131;&amp;#xD30C;&amp;#xC77C; &amp;#xB0B4;&amp;#xC5D0;&amp;#xC11C; &amp;quot;${}&amp;quot; &amp;#xB0B4;&amp;#xC5D0; property-placeholder &amp;#xBB38;&amp;#xBC95;&amp;#xC744; &amp;#xC774;&amp;#xC6A9;&amp;#xD558;&amp;#xBA74; &amp;#xAE30;&amp;#xC874;&amp;#xC5D0; &amp;#xC815;&amp;#xC758;&amp;#xD55C; &amp;#xD504;&amp;#xB85C;&amp;#xD37C;&amp;#xD2F0;&amp;#xB098; &amp;#xC2DC;&amp;#xC2A4;&amp;#xD15C; &amp;#xC18D;&amp;#xC131;, &amp;#xD658;&amp;#xACBD;&amp;#xBCC0;&amp;#xC218;&amp;#xB97C; &amp;#xCC38;&amp;#xC870;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;${&amp;#xC18D;&amp;#xC131;&amp;#xD0A4;:&amp;#xAE30;&amp;#xBCF8;&amp;#xAC12;}&lt;/code&gt; &amp;#xACFC; &amp;#xAC19;&amp;#xC774; &amp;#xC18D;&amp;#xC131;&amp;#xD0A4;&amp;#xAC00; &amp;#xC5C6;&amp;#xC744; &amp;#xACBD;&amp;#xC6B0; &amp;#xD560;&amp;#xB2F9;&amp;#xD560; &amp;#xAE30;&amp;#xBCF8;&amp;#xAC12;&amp;#xB3C4; &amp;#xC815;&amp;#xC758;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xC774;&amp;#xB54C;, &amp;#xCC38;&amp;#xC870;&amp;#xD560; &amp;#xAC12;&amp;#xC740; &amp;#xC18C;&amp;#xBB38;&amp;#xC790;&amp;#xB85C; &amp;#xAD6C;&amp;#xC131;&amp;#xB41C; &lt;strong&gt;Kebab case&lt;/strong&gt; &amp;#xB85C; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD558;&amp;#xB294; &amp;#xD45C;&amp;#xC900; &amp;#xD615;&amp;#xC2DD;&amp;#xC744; &amp;#xB530;&amp;#xB77C;&amp;#xC57C; &amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xC774;&amp;#xB97C; &amp;#xB530;&amp;#xB97C; &amp;#xB54C;, Spring Boot&amp;#xB294; &amp;#xAE30;&amp;#xC874; Relaxed Binding @ConfigurationProperties &amp;#xB97C; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD560; &amp;#xB54C;&amp;#xC640; &amp;#xB3D9;&amp;#xC77C;&amp;#xD55C; &amp;#xB85C;&amp;#xC9C1;&amp;#xC744; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;#xCC38;&amp;#xACE0;: &lt;a href=&quot;https://blog.jiniworld.me/146&quot;&gt;[Spring Boot Core] Spring Boot Relaxed Binding using yaml&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;br&gt;
&lt;p&gt;&lt;strong&gt;&amp;#xD65C;&amp;#xC6A9; &amp;#xBC29;&amp;#xC548;: property placeholders&amp;#xB97C; &amp;#xD65C;&amp;#xC6A9;&amp;#xD55C; &amp;#xBA85;&amp;#xB839;&amp;#xC5B4; &amp;#xC778;&amp;#xC790; &amp;#xAC04;&amp;#xC18C;&amp;#xD654;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&amp;#xB9CC;&amp;#xC77C;, &amp;#xD2B9;&amp;#xC815; &amp;#xC560;&amp;#xD50C;&amp;#xB9AC;&amp;#xCF00;&amp;#xC774;&amp;#xC158;&amp;#xC744; &amp;#xC2E4;&amp;#xD589;&amp;#xD560; &amp;#xB54C;, &amp;#xC544;&amp;#xB798;&amp;#xC640; &amp;#xAC19;&amp;#xC774; &amp;#xD3EC;&amp;#xD2B8;&amp;#xB97C; &amp;#xC9C0;&amp;#xC815;&amp;#xD55C;&amp;#xB2E4;&amp;#xACE0; &amp;#xD560;&amp;#xB54C;,&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;java -jar demo.jar -Dserver.port&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;18080&lt;/span&gt;
&lt;/pre&gt;&lt;br&gt;
&lt;p&gt;property placeholders &amp;#xB97C; &amp;#xD65C;&amp;#xC6A9;&amp;#xD558;&amp;#xC5EC; &amp;#xC544;&amp;#xB798;&amp;#xC640; &amp;#xAC19;&amp;#xC774; &amp;#xC815;&amp;#xC758;&amp;#xD574;&amp;#xB450;&amp;#xBA74;,&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;yml&quot; class=&quot;language-yaml&quot;&gt;&lt;span class=&quot;token key atrule&quot;&gt;server&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
  &lt;span class=&quot;token key atrule&quot;&gt;port&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;${port:8080}&amp;quot;&lt;/span&gt;
&lt;/pre&gt;&lt;br&gt;
&lt;p&gt;&amp;#xC544;&amp;#xB798;&amp;#xC640; &amp;#xAC19;&amp;#xC774; &amp;#xB9E4;&amp;#xC6B0; &amp;#xAC04;&amp;#xB2E8;&amp;#xD558;&amp;#xAC8C; command line &amp;#xC778;&amp;#xC790;&amp;#xB97C; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;java -jar demo.jar --port&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;18080&lt;/span&gt;
&lt;/pre&gt;&lt;hr&gt;
&lt;h2 class=&quot;mume-header&quot; id=&quot;div-ida099-%EB%8B%A4%EC%A4%91-%EB%AC%B8%EC%84%9C-%ED%8C%8C%EC%9D%BC-%EC%9E%91%EC%97%85div&quot;&gt;&lt;div id=&quot;a09&quot;&gt;9. &amp;#xB2E4;&amp;#xC911; &amp;#xBB38;&amp;#xC11C; &amp;#xD30C;&amp;#xC77C; &amp;#xC791;&amp;#xC5C5;&lt;/div&gt;&lt;/h2&gt;

&lt;p&gt;&amp;#xD558;&amp;#xB098;&amp;#xB85C; &amp;#xAD6C;&amp;#xC131;&amp;#xB41C; &amp;#xAD6C;&amp;#xC131;&amp;#xD30C;&amp;#xC77C;&amp;#xC744; &amp;#xC5EC;&amp;#xB7EC; &amp;#xB17C;&amp;#xB9AC;&amp;#xC801; &amp;#xBB38;&amp;#xC11C;&amp;#xB85C; &amp;#xBD84;&amp;#xD560;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;YAML &amp;#xAD6C;&amp;#xC131;&amp;#xD30C;&amp;#xC77C;&amp;#xC758; &amp;#xACBD;&amp;#xC6B0;, &amp;#xAC01; &amp;#xB17C;&amp;#xB9AC;&amp;#xC801; &amp;#xBB38;&amp;#xC11C; &amp;#xAD6C;&amp;#xBD84;&amp;#xC744; &lt;strong&gt;---&lt;/strong&gt; &amp;#xB85C; &amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;.properties &amp;#xD30C;&amp;#xC77C;&amp;#xC758; &amp;#xACBD;&amp;#xC6B0;&amp;#xC5D0;&amp;#xB294; &lt;code&gt;#---&lt;/code&gt; &amp;#xB610;&amp;#xB294; &lt;code&gt;!---&lt;/code&gt; &amp;#xB85C; &amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;br&gt;
&lt;p&gt;&amp;#xC608;&amp;#xB97C;&amp;#xB4E4;&amp;#xC5B4; &amp;#xC544;&amp;#xB798;&amp;#xC640; &amp;#xAC19;&amp;#xC774; &amp;#xAD6C;&amp;#xC131;&amp;#xB41C; &amp;#xAD6C;&amp;#xC131;&amp;#xD30C;&amp;#xC77C;&amp;#xC774; &amp;#xC788;&amp;#xB2E4;&amp;#xACE0; &amp;#xD560;&amp;#xB54C;,&lt;/p&gt;
&lt;p&gt;&amp;#xB9E8; &amp;#xC704;&amp;#xC758; &amp;#xB17C;&amp;#xB9AC;&amp;#xC801; &amp;#xBB38;&amp;#xC11C;&amp;#xB294; &amp;#xACF5;&amp;#xD1B5; &amp;#xC18D;&amp;#xC131;&amp;#xC774;&amp;#xACE0;,&lt;br&gt;
&amp;#xD65C;&amp;#xC131;&amp;#xD654;&amp;#xB41C; &amp;#xD504;&amp;#xB85C;&amp;#xD30C;&amp;#xC77C;&amp;#xC5D0; &amp;#xB530;&amp;#xB77C; &amp;#xD2B9;&amp;#xC815; &amp;#xC18D;&amp;#xC131;&amp;#xAC12;&amp;#xC744; &amp;#xC7AC;&amp;#xC815;&amp;#xC758;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;#xC0C1;&amp;#xC138;&amp;#xD55C; &amp;#xC126;&amp;#xBA85;&amp;#xC740; &lt;a href=&quot;#a10&quot;&gt;&amp;#xD65C;&amp;#xC131;&amp;#xD654; &amp;#xD504;&amp;#xB85C;&amp;#xD37C;&amp;#xD2F0;&lt;/a&gt; &amp;#xB97C; &amp;#xCC38;&amp;#xACE0;&amp;#xD574;&amp;#xC8FC;&amp;#xC138;&amp;#xC694;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;yml&quot; class=&quot;language-yaml&quot;&gt;&lt;span class=&quot;token key atrule&quot;&gt;spring&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
  &lt;span class=&quot;token key atrule&quot;&gt;datasource&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
    &lt;span class=&quot;token key atrule&quot;&gt;hikari&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
      &lt;span class=&quot;token key atrule&quot;&gt;connection-test-query&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; SELECT 1
      &lt;span class=&quot;token key atrule&quot;&gt;maximum-pool-size&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;30&lt;/span&gt;
      &lt;span class=&quot;token key atrule&quot;&gt;auto-commit&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token boolean important&quot;&gt;false&lt;/span&gt;

&lt;span class=&quot;token key atrule&quot;&gt;management&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
  &lt;span class=&quot;token key atrule&quot;&gt;endpoint&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
    &lt;span class=&quot;token key atrule&quot;&gt;env&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
      &lt;span class=&quot;token key atrule&quot;&gt;show-values&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; always
  &lt;span class=&quot;token key atrule&quot;&gt;endpoints&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
    &lt;span class=&quot;token key atrule&quot;&gt;web&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
      &lt;span class=&quot;token key atrule&quot;&gt;exposure&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
        &lt;span class=&quot;token key atrule&quot;&gt;include&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; env

&lt;span class=&quot;token key atrule&quot;&gt;logging&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
  &lt;span class=&quot;token key atrule&quot;&gt;level&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
    &lt;span class=&quot;token key atrule&quot;&gt;root&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; info
    &lt;span class=&quot;token key atrule&quot;&gt;web&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; debug
    &lt;span class=&quot;token key atrule&quot;&gt;org.springframework&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
      &lt;span class=&quot;token key atrule&quot;&gt;boot.autoconfigure&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; info
      &lt;span class=&quot;token key atrule&quot;&gt;web&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; debug

&lt;span class=&quot;token punctuation&quot;&gt;---&lt;/span&gt;

&lt;span class=&quot;token key atrule&quot;&gt;spring&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
  &lt;span class=&quot;token key atrule&quot;&gt;config&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
    &lt;span class=&quot;token key atrule&quot;&gt;activate&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
      &lt;span class=&quot;token key atrule&quot;&gt;on-profile&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; prod
  &lt;span class=&quot;token key atrule&quot;&gt;datasource&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
    &lt;span class=&quot;token key atrule&quot;&gt;url&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; jdbc&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;mysql&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;//&amp;#xC0C1;&amp;#xC6A9;&amp;#xC11C;&amp;#xBC84;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;3306/jiniworld
    &lt;span class=&quot;token key atrule&quot;&gt;hikari&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
      &lt;span class=&quot;token key atrule&quot;&gt;pool-name&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; pool&lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt;prod
      &lt;span class=&quot;token key atrule&quot;&gt;username&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; jini
      &lt;span class=&quot;token key atrule&quot;&gt;password&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; jiniProd

&lt;span class=&quot;token punctuation&quot;&gt;---&lt;/span&gt;

&lt;span class=&quot;token key atrule&quot;&gt;spring&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
  &lt;span class=&quot;token key atrule&quot;&gt;config&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
    &lt;span class=&quot;token key atrule&quot;&gt;activate&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
      &lt;span class=&quot;token key atrule&quot;&gt;on-profile&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; local
  &lt;span class=&quot;token key atrule&quot;&gt;datasource&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
    &lt;span class=&quot;token key atrule&quot;&gt;url&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; jdbc&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;mysql&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;//localhost&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;3306/jiniworld
    &lt;span class=&quot;token key atrule&quot;&gt;hikari&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
      &lt;span class=&quot;token key atrule&quot;&gt;pool-name&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; pool&lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt;local
      &lt;span class=&quot;token key atrule&quot;&gt;username&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; jini
      &lt;span class=&quot;token key atrule&quot;&gt;password&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; jiniLocal
&lt;/pre&gt;&lt;div class=&quot;admonition note&quot;&gt;
&lt;p class=&quot;admonition-title&quot;&gt;Note&lt;/p&gt;
&lt;p&gt;&amp;#xAD6C;&amp;#xC131; &amp;#xD30C;&amp;#xC77C; &amp;#xAD6C;&amp;#xBD84; &amp;#xAE30;&amp;#xD638; &lt;code&gt;---&lt;/code&gt; &amp;#xC55E;&amp;#xC5D0;&amp;#xB294; &amp;#xACF5;&amp;#xBC31;&amp;#xC774; &amp;#xC5C6;&amp;#xC5B4;&amp;#xC57C;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;/div&gt;
&lt;hr&gt;
&lt;h2 class=&quot;mume-header&quot; id=&quot;div-ida1010-%ED%99%9C%EC%84%B1%ED%99%94-%ED%94%84%EB%A1%9C%ED%8D%BC%ED%8B%B0div&quot;&gt;&lt;div id=&quot;a10&quot;&gt;10. &amp;#xD65C;&amp;#xC131;&amp;#xD654; &amp;#xD504;&amp;#xB85C;&amp;#xD37C;&amp;#xD2F0;&lt;/div&gt;&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;spring.config.activate&lt;/code&gt; &amp;#xC18D;&amp;#xC131;&amp;#xC744; &amp;#xC774;&amp;#xC6A9;&amp;#xD558;&amp;#xC5EC; &amp;#xC870;&amp;#xAC74;&amp;#xBD80;&amp;#xB85C; &amp;#xD2B9;&amp;#xC815; &amp;#xD504;&amp;#xB85C;&amp;#xD37C;&amp;#xD2F0; &amp;#xD30C;&amp;#xC77C;&amp;#xC744; &amp;#xD655;&amp;#xC131;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;java -jar demo.jar -Dspring.config.activate&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;prod
&lt;/pre&gt;&lt;br&gt;
&lt;p&gt;&amp;#xC704;&amp;#xC5D0;&amp;#xC11C; &amp;#xC18C;&amp;#xAC1C;&amp;#xD588;&amp;#xB4EF;, &amp;#xB9E8; &amp;#xCCAB;&amp;#xBC88;&amp;#xC9F8; &amp;#xBB38;&amp;#xB2E8;&amp;#xC740; &amp;#xB9E8; &amp;#xCC98;&amp;#xC74C;&amp;#xC73C;&amp;#xB85C; &amp;#xAD6C;&amp;#xC131;&amp;#xB418;&amp;#xB294; &amp;#xACF5;&amp;#xD1B5; &amp;#xC124;&amp;#xC815;&amp;#xC774;&amp;#xACE0;,&lt;br&gt;
&lt;code&gt;spring.config.activate.on-profile&lt;/code&gt;&amp;#xC740; &amp;#xD65C;&amp;#xC131;&amp;#xD654;&amp;#xB418;&amp;#xAE30; &amp;#xC704;&amp;#xD574; &amp;#xC77C;&amp;#xCE58;&amp;#xD574;&amp;#xC57C;&amp;#xD560; profile &amp;#xD45C;&amp;#xD604;&amp;#xC2DD;&amp;#xC744; &amp;#xC815;&amp;#xC758;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;code&gt;spring.config.activate.on-cloud-profile&lt;/code&gt; &amp;#xB77C;&amp;#xB294; &amp;#xC18D;&amp;#xC131;&amp;#xB3C4; &amp;#xC788;&amp;#xB294;&amp;#xB370;, &amp;#xC774;&amp;#xB294; &amp;#xD65C;&amp;#xC131;&amp;#xD654;&amp;#xB418;&amp;#xAE30; &amp;#xC704;&amp;#xD574; &amp;#xD0D0;&amp;#xC9C0;&amp;#xB418;&amp;#xC5B4;&amp;#xC57C;&amp;#xD558;&amp;#xB294; CloudPlatform&amp;#xC744; &amp;#xC815;&amp;#xC758;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
ex. &lt;code&gt;spring.config.activate.on-cloud-profile=kubernetes&lt;/code&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;yml&quot; class=&quot;language-yaml&quot;&gt;&lt;span class=&quot;token key atrule&quot;&gt;myprop&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
  &lt;span class=&quot;token string&quot;&gt;&amp;quot;always-set&amp;quot;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;---&lt;/span&gt;
&lt;span class=&quot;token key atrule&quot;&gt;spring&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
  &lt;span class=&quot;token key atrule&quot;&gt;config&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
    &lt;span class=&quot;token key atrule&quot;&gt;activate&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
      &lt;span class=&quot;token key atrule&quot;&gt;on-cloud-platform&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;kubernetes&amp;quot;&lt;/span&gt;
      &lt;span class=&quot;token key atrule&quot;&gt;on-profile&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;prod | staging&amp;quot;&lt;/span&gt;
&lt;span class=&quot;token key atrule&quot;&gt;myotherprop&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;sometimes-set&amp;quot;&lt;/span&gt;
&lt;/pre&gt;&lt;h2 class=&quot;mume-header&quot; id&gt;++&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&amp;#xC678;&amp;#xBD80; &amp;#xC560;&amp;#xD50C;&amp;#xB9AC;&amp;#xCF00;&amp;#xC774;&amp;#xC158; &amp;#xD504;&amp;#xB85C;&amp;#xD37C;&amp;#xD2F0;&lt;/li&gt;
&lt;li&gt;&lt;s&gt;file:./application-demo.yml &amp;#xC801;&amp;#xC6A9; &amp;#xC548;&amp;#xB428;. &amp;#xCD94;&amp;#xD6C4; &amp;#xC54C;&amp;#xC544;&amp;#xBCFC; &amp;#xAC83;.&lt;/s&gt;&lt;/li&gt;
&lt;li&gt;configtree&amp;#xC5D0; &amp;#xB300;&amp;#xD574;&amp;#xC11C;&amp;#xB3C4; &amp;#xC9C1;&amp;#xC811;&amp;#xC801;&amp;#xC778; &amp;#xC0AC;&amp;#xC6A9;&amp;#xC608;&amp;#xC81C;&amp;#xB85C; &amp;#xD14C;&amp;#xC2A4;&amp;#xD2B8;&amp;#xD574;&amp;#xBCFC; &amp;#xAC83;&lt;/li&gt;
&lt;/ul&gt;

  &lt;/div&gt;&lt;/div&gt;</description>
      <category>Spring/Spring Docs</category>
      <category>Externalized Configuration</category>
      <category>Spring Boot</category>
      <category>spring docs</category>
      <author>jiniya22</author>
      <guid isPermaLink="true">https://jini-box.tistory.com/250</guid>
      <comments>https://jini-box.tistory.com/250#entry250comment</comments>
      <pubDate>Mon, 9 Dec 2024 16:48:18 +0900</pubDate>
    </item>
    <item>
      <title>[Spring Boot Core] 2.1. Externalized Configuration 개요와 JSON Application Properties 설정하기</title>
      <link>https://jini-box.tistory.com/249</link>
      <description>&lt;div id=&quot;html-export&quot;&gt;
      &lt;div class=&quot;mume markdown-preview  &quot;&gt;
      &lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;#a01&quot;&gt;&amp;#xAD6C;&amp;#xC131;&amp;#xC124;&amp;#xC815; &amp;#xC678;&amp;#xBD80;&amp;#xD654; &amp;#xAC1C;&amp;#xC694;&lt;/a&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;#a01-1&quot;&gt;&amp;#xC608;&amp;#xC81C;&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#a02&quot;&gt;command line &amp;#xD504;&amp;#xB85C;&amp;#xD37C;&amp;#xD2F0; &amp;#xC561;&amp;#xC138;&amp;#xC2A4;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;JSON Application properties
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;#a03-1&quot;&gt;&amp;#xC608;&amp;#xC81C; &amp;#xCF54;&amp;#xB4DC;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#a03-2&quot;&gt;JSON Application Properties &amp;#xC124;&amp;#xC815;&amp;#xD558;&amp;#xAE30;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#a03-3&quot;&gt;&amp;#xD14C;&amp;#xC2A4;&amp;#xD2B8;&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;hr&gt;
&lt;h2 class=&quot;mume-header&quot; id=&quot;div-ida011-%EA%B5%AC%EC%84%B1%EC%84%A4%EC%A0%95-%EC%99%B8%EB%B6%80%ED%99%94-%EA%B0%9C%EC%9A%94div&quot;&gt;&lt;div id=&quot;a01&quot;&gt;1. &amp;#xAD6C;&amp;#xC131;&amp;#xC124;&amp;#xC815; &amp;#xC678;&amp;#xBD80;&amp;#xD654; &amp;#xAC1C;&amp;#xC694;&lt;/div&gt;&lt;/h2&gt;

&lt;p&gt;Spring Boot &amp;#xB97C; &amp;#xC774;&amp;#xC6A9;&amp;#xD558;&amp;#xBA74;, configuration&amp;#xC744; &amp;#xC678;&amp;#xBD80;&amp;#xD654;&amp;#xD558;&amp;#xC5EC; &amp;#xC5EC;&amp;#xB7EC; &amp;#xD658;&amp;#xACBD;&amp;#xC5D0;&amp;#xC11C; &amp;#xB3D9;&amp;#xC77C;&amp;#xD55C; &amp;#xCF54;&amp;#xB4DC;&amp;#xB97C; &amp;#xD65C;&amp;#xC6A9;&amp;#xD558;&amp;#xC5EC; &amp;#xC560;&amp;#xD50C;&amp;#xB9AC;&amp;#xCF00;&amp;#xC774;&amp;#xC158;&amp;#xC744; &amp;#xC2E4;&amp;#xD589;&amp;#xC2DC;&amp;#xD0AC; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;Java Config &amp;#xD30C;&amp;#xC77C;, YAML &amp;#xD30C;&amp;#xC77C;, &amp;#xD658;&amp;#xACBD;&amp;#xBCC0;&amp;#xC218; &amp;#xBC0F; &amp;#xBA85;&amp;#xB839;&amp;#xC5B4; &amp;#xC778;&amp;#xC218; &amp;#xB4F1;&amp;#xC744; &amp;#xD1B5;&amp;#xD574; &amp;#xB2E4;&amp;#xC591;&amp;#xD55C; &amp;#xC678;&amp;#xBD80; &amp;#xAD6C;&amp;#xC131; &amp;#xC18C;&amp;#xC2A4;&amp;#xB97C; &amp;#xD65C;&amp;#xC6A9;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;Spring &amp;#xC5D0;&amp;#xC11C;&amp;#xB294; &amp;#xC544;&amp;#xB798; 3&amp;#xAC00;&amp;#xC9C0; &amp;#xBC29;&amp;#xC2DD;&amp;#xC73C;&amp;#xB85C; &amp;#xAC12;&amp;#xC744; &amp;#xC8FC;&amp;#xC785;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;@Value &amp;#xC560;&amp;#xB108;&amp;#xD14C;&amp;#xC774;&amp;#xC158;&amp;#xC744; &amp;#xC774;&amp;#xC6A9;&amp;#xD558;&amp;#xC5EC; Bean&amp;#xC5D0; &amp;#xC9C1;&amp;#xC811; &amp;#xC8FC;&amp;#xC785;&lt;/li&gt;
&lt;li&gt;Spring &amp;#xC758; &amp;#xD658;&amp;#xACBD; &amp;#xCD94;&amp;#xC0C1;&amp;#xD654;&amp;#xB97C; &amp;#xD1B5;&amp;#xD55C; &amp;#xC811;&amp;#xADFC;&lt;/li&gt;
&lt;li&gt;@ConfigurationProperties &amp;#xB85C; &amp;#xAC1D;&amp;#xCCB4;&amp;#xC5D0; &amp;#xBC14;&amp;#xC778;&amp;#xB529;&amp;#xD558;&amp;#xC5EC; &amp;#xD65C;&amp;#xC6A9;&lt;/li&gt;
&lt;/ul&gt;
&lt;br&gt;
&lt;p&gt;Spring Boot&amp;#xB294; &amp;#xAC12;&amp;#xC744; &amp;#xD569;&amp;#xB9AC;&amp;#xC801;&amp;#xC73C;&amp;#xB85C; &amp;#xC7AC;&amp;#xC815;&amp;#xC758;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xB3C4;&amp;#xB85D; &amp;#xC124;&amp;#xACC4;&amp;#xB418;&amp;#xC5B4;&amp;#xC788;&amp;#xB294; PropertySource &amp;#xC21C;&amp;#xC11C;&amp;#xB97C; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
Spring Boot&amp;#xC5D0;&amp;#xC11C;&amp;#xB294; &amp;#xC5EC;&amp;#xB7EC;&amp;#xBC29;&amp;#xC2DD;&amp;#xC73C;&amp;#xB85C; &amp;#xD658;&amp;#xACBD;&amp;#xBCC0;&amp;#xC218;&amp;#xB97C; &amp;#xC8FC;&amp;#xC785;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xB294;&amp;#xB370;, &amp;#xC774; &amp;#xD6C4;&amp;#xC5D0; &amp;#xBD88;&amp;#xB824;&amp;#xC9C4; &amp;#xC18C;&amp;#xC2A4;&amp;#xB294; &amp;#xD658;&amp;#xACBD;&amp;#xBCC0;&amp;#xC218;&amp;#xB97C; &amp;#xC624;&amp;#xBC84;&amp;#xB77C;&amp;#xC774;&amp;#xB529;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xD504;&amp;#xB85C;&amp;#xD37C;&amp;#xD2F0;&amp;#xB294; &amp;#xB2E4;&amp;#xC74C;&amp;#xACFC; &amp;#xAC19;&amp;#xC740; &amp;#xC21C;&amp;#xC11C;&amp;#xB85C; &amp;#xC77D;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&amp;#xAE30;&amp;#xBCF8; &amp;#xD504;&amp;#xB85C;&amp;#xD37C;&amp;#xD2F0;
&lt;ul&gt;
&lt;li&gt;SpringApplication.setDefaultProperties &amp;#xBA54;&amp;#xC11C;&amp;#xB4DC;&amp;#xB85C; &amp;#xD504;&amp;#xB85C;&amp;#xD37C;&amp;#xD2F0;&amp;#xB97C; &amp;#xBCC0;&amp;#xACBD;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;@Configuration &amp;#xD074;&amp;#xB798;&amp;#xC2A4;&amp;#xC5D0; &amp;#xC124;&amp;#xC815;&amp;#xD558;&amp;#xB294; @PropertySource &amp;#xC560;&amp;#xB108;&amp;#xD14C;&amp;#xC774;&amp;#xC158;
&lt;ul&gt;
&lt;li&gt;&amp;#xC774; &amp;#xD504;&amp;#xB85C;&amp;#xD37C;&amp;#xD2F0; &amp;#xC18C;&amp;#xC2A4;&amp;#xB294; &amp;#xC560;&amp;#xD50C;&amp;#xB9AC;&amp;#xCF00;&amp;#xC774;&amp;#xC158; &amp;#xCEE8;&amp;#xD14D;&amp;#xC2A4;&amp;#xD2B8;&amp;#xB97C; &amp;#xC0C8;&amp;#xB85C; &amp;#xACE0;&amp;#xCE60; &amp;#xB54C; &amp;#xD658;&amp;#xACBD;&amp;#xC5D0; &amp;#xCD94;&amp;#xAC00;&amp;#xB418;&amp;#xB294; &amp;#xAC12;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;/li&gt;
&lt;li&gt;&amp;#xB530;&amp;#xB77C;&amp;#xC11C;, &lt;code&gt;logging.*&lt;/code&gt; &amp;#xC774;&amp;#xB098; &lt;code&gt;spring.main.*&lt;/code&gt; &amp;#xAC19;&amp;#xC740; &amp;#xC18D;&amp;#xC131;&amp;#xC740; &amp;#xC5EC;&amp;#xAE30;&amp;#xC5D0; &amp;#xC124;&amp;#xC815;&amp;#xD558;&amp;#xBA74; &amp;#xB3D9;&amp;#xC791;&amp;#xB418;&amp;#xC9C0; &amp;#xC54A;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&amp;#xAD6C;&amp;#xC131; &amp;#xB370;&amp;#xC774;&amp;#xD130;
&lt;ul&gt;
&lt;li&gt;application.yml &amp;#xB098; application.properties &amp;#xC640; &amp;#xAC19;&amp;#xC740; &amp;#xD30C;&amp;#xC77C;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;RandomValuePropertySource
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;random.*&lt;/code&gt; &amp;#xD504;&amp;#xB85C;&amp;#xD37C;&amp;#xD2F0; &amp;#xAC12;&amp;#xB9CC;&amp;#xC744; &amp;#xAC00;&amp;#xC9C0;&amp;#xACE0; &amp;#xC788;&amp;#xB294; &amp;#xD504;&amp;#xB85C;&amp;#xD37C;&amp;#xD2F0; &amp;#xC18C;&amp;#xC2A4;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;OS &amp;#xD658;&amp;#xACBD; &amp;#xBCC0;&amp;#xC218;&lt;/li&gt;
&lt;li&gt;Java &amp;#xC2DC;&amp;#xC2A4;&amp;#xD15C; &amp;#xD504;&amp;#xB85C;&amp;#xD37C;&amp;#xD2F0;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;System.getProperties()&lt;/code&gt; &amp;#xB85C; &amp;#xC870;&amp;#xD68C;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;JNDI &amp;#xC18D;&amp;#xC131;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;java:comp/env&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&amp;#xC560;&amp;#xD50C;&amp;#xB9AC;&amp;#xCF00;&amp;#xC774;&amp;#xC158;&amp;#xC774; &amp;#xC11C;&amp;#xBE14;&amp;#xB9BF; &amp;#xCEE8;&amp;#xD14C;&amp;#xC774;&amp;#xB108;&amp;#xB098; &amp;#xC560;&amp;#xD50C;&amp;#xB9AC;&amp;#xCF00;&amp;#xC774;&amp;#xC158; &amp;#xC11C;&amp;#xBC84;&amp;#xC5D0;&amp;#xC11C; &amp;#xC2E4;&amp;#xD589;&amp;#xB418;&amp;#xB294; &amp;#xACBD;&amp;#xC6B0; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;ServletContext &amp;#xCD08;&amp;#xAE30;&amp;#xD654; &amp;#xD30C;&amp;#xB77C;&amp;#xBBF8;&amp;#xD130;&lt;/li&gt;
&lt;li&gt;ServletConfig &amp;#xCD08;&amp;#xAE30;&amp;#xD654; &amp;#xD30C;&amp;#xB77C;&amp;#xBBF8;&amp;#xD130;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;SPRING_APPLICATION_JSON&lt;/em&gt; &amp;#xD504;&amp;#xB85C;&amp;#xD37C;&amp;#xD2F0;
&lt;ul&gt;
&lt;li&gt;&amp;#xD658;&amp;#xACBD;&amp;#xBCC0;&amp;#xC218;&amp;#xB098; &amp;#xC2DC;&amp;#xC2A4;&amp;#xD15C; &amp;#xC18D;&amp;#xC131;&amp;#xC5D0; &amp;#xD3EC;&amp;#xD568;&amp;#xB41C; &amp;#xC778;&amp;#xB77C;&amp;#xC778; JSON&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;command line &amp;#xC778;&amp;#xC218;&lt;/li&gt;
&lt;li&gt;&amp;#xD14C;&amp;#xC2A4;&amp;#xD2B8;&amp;#xC5D0; &amp;#xC0AC;&amp;#xC6A9;&amp;#xB418;&amp;#xB294; &lt;em&gt;properties&lt;/em&gt; &amp;#xC18D;&amp;#xC131;
&lt;ul&gt;
&lt;li&gt;@SpringBootTest &amp;#xB098; &amp;#xC560;&amp;#xD50C;&amp;#xB9AC;&amp;#xCF00;&amp;#xC774;&amp;#xC158;&amp;#xC758; &amp;#xD2B9;&amp;#xC815; &amp;#xBD80;&amp;#xBD84; &amp;#xD14C;&amp;#xC2A4;&amp;#xD2B8;&amp;#xC5D0; &amp;#xD65C;&amp;#xC6A9;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&amp;#xD14C;&amp;#xC2A4;&amp;#xD2B8;&amp;#xC5D0;&amp;#xC11C; &amp;#xC0AC;&amp;#xC6A9;&amp;#xB418;&amp;#xB294; &lt;em&gt;@DynamicPropertySource&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&amp;#xD14C;&amp;#xC2A4;&amp;#xD2B8;&amp;#xC5D0;&amp;#xC11C; &amp;#xC0AC;&amp;#xC6A9;&amp;#xB418;&amp;#xB294; &lt;em&gt;@TestPropertySource&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;DevTools &amp;#xC804;&amp;#xC5ED; &amp;#xD504;&amp;#xB85C;&amp;#xD37C;&amp;#xD2F0;
&lt;ul&gt;
&lt;li&gt;devtools&amp;#xAC00; &amp;#xD65C;&amp;#xC131;&amp;#xD654; &amp;#xB418;&amp;#xC5B4;&amp;#xC788;&amp;#xB294; &amp;#xC0C1;&amp;#xD0DC;&amp;#xC5D0;&amp;#xB9CC; &amp;#xD65C;&amp;#xC131;&amp;#xD654; &amp;#xB428;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;$HOME/.config/spring-boot&lt;/code&gt; &amp;#xB514;&amp;#xB809;&amp;#xD1A0;&amp;#xB9AC; &amp;#xD558;&amp;#xC704;&amp;#xC5D0; &amp;#xC788;&amp;#xB294; &amp;#xC804;&amp;#xC5ED; &amp;#xD504;&amp;#xB85C;&amp;#xD37C;&amp;#xD2F0;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;br&gt;
&lt;p&gt;config &amp;#xB370;&amp;#xC774;&amp;#xD130; &amp;#xD30C;&amp;#xC77C;&amp;#xC740; &amp;#xB2E4;&amp;#xC74C; &amp;#xC21C;&amp;#xC11C;&amp;#xC5D0; &amp;#xB530;&amp;#xB77C; &amp;#xACE0;&amp;#xB824; &amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;#xCC38;&amp;#xACE0;&amp;#xB85C;, .properties, YAML &amp;#xD30C;&amp;#xC77C; &amp;#xBAA8;&amp;#xB450; &amp;#xB3D9;&amp;#xC77C;&amp;#xD558;&amp;#xAC8C; &amp;#xC9C0;&amp;#xC6D0;&amp;#xB418;&amp;#xBA70;, &amp;#xC544;&amp;#xB798;&amp;#xC5D0;&amp;#xC11C;&amp;#xB294; application.yml &amp;#xD30C;&amp;#xC77C; &amp;#xD558;&amp;#xB098;&amp;#xB85C; &amp;#xC124;&amp;#xBA85;&amp;#xD558;&amp;#xB3C4;&amp;#xB85D; &amp;#xD558;&amp;#xACA0;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;ol&gt;
&lt;li&gt;&amp;#xD328;&amp;#xD0A4;&amp;#xC9D5;&amp;#xB41C; jar &amp;#xB0B4;&amp;#xC5D0; &amp;#xC788;&amp;#xB294; &amp;#xC560;&amp;#xD50C;&amp;#xB9AC;&amp;#xCF00;&amp;#xC774;&amp;#xC158; &amp;#xD504;&amp;#xB85C;&amp;#xD37C;&amp;#xD2F0;
&lt;ul&gt;
&lt;li&gt;&lt;em&gt;application.yml&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&amp;#xD328;&amp;#xD0A4;&amp;#xC9D5;&amp;#xB41C; jar &amp;#xB0B4;&amp;#xC5D0; &amp;#xC788;&amp;#xB294; &amp;#xD504;&amp;#xB85C;&amp;#xD544;&amp;#xBCC4; &amp;#xC560;&amp;#xD50C;&amp;#xB9AC;&amp;#xCF00;&amp;#xC774;&amp;#xC158; &amp;#xD504;&amp;#xB85C;&amp;#xD37C;&amp;#xD2F0;
&lt;ul&gt;
&lt;li&gt;&lt;em&gt;application-{profile}.yml&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&amp;#xD328;&amp;#xD0A4;&amp;#xC9D5;&amp;#xB41C; jar &amp;#xBC16;&amp;#xC5D0; &amp;#xC788;&amp;#xB294; &amp;#xC560;&amp;#xD50C;&amp;#xB9AC;&amp;#xCF00;&amp;#xC774;&amp;#xC158; &amp;#xD504;&amp;#xB85C;&amp;#xD37C;&amp;#xD2F0;
&lt;ul&gt;
&lt;li&gt;&lt;em&gt;application.yml&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&amp;#xD328;&amp;#xD0A4;&amp;#xC9D5;&amp;#xB41C; jar &amp;#xBC16;&amp;#xC5D0; &amp;#xC788;&amp;#xB294; &amp;#xD504;&amp;#xB85C;&amp;#xD544;&amp;#xBCC4; &amp;#xC560;&amp;#xD50C;&amp;#xB9AC;&amp;#xCF00;&amp;#xC774;&amp;#xC158; &amp;#xD504;&amp;#xB85C;&amp;#xD37C;&amp;#xD2F0;
&lt;ul&gt;
&lt;li&gt;&lt;em&gt;application-{profile}.yml&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;div class=&quot;admonition note&quot;&gt;
&lt;p class=&quot;admonition-title&quot;&gt;Note&lt;/p&gt;
&lt;p&gt;&amp;#xAD6C;&amp;#xC131;&amp;#xD30C;&amp;#xC77C;&amp;#xC740; .yml(&amp;#xADF8; &amp;#xC678;&amp;#xC758; YAML &amp;#xBCC0;&amp;#xD615;&amp;#xD30C;&amp;#xC77C; &amp;#xBAA8;&amp;#xB450;) &amp;#xB098; .properties &amp;#xBAA8;&amp;#xB450; &amp;#xC9C0;&amp;#xC6D0;&amp;#xD558;&amp;#xC9C0;&amp;#xB9CC;,&lt;br&gt;
&amp;#xD558;&amp;#xB098;&amp;#xC758; &amp;#xD504;&amp;#xB85C;&amp;#xC81D;&amp;#xD2B8; &amp;#xB0B4;&amp;#xC5D0; &amp;#xB3D9;&amp;#xC77C;&amp;#xD55C; &amp;#xD615;&amp;#xC2DD;&amp;#xC744; &amp;#xAD6C;&amp;#xC131;&amp;#xD558;&amp;#xB294; &amp;#xAC83;&amp;#xC774; &amp;#xAD00;&amp;#xB9AC;&amp;#xBA74;&amp;#xC5D0;&amp;#xC11C; &amp;#xAD8C;&amp;#xC7A5;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xB9CC;&amp;#xC77C; &amp;#xAC19;&amp;#xC740; &amp;#xC704;&amp;#xCE58;&amp;#xC5D0; &amp;#xB450;&amp;#xAC00;&amp;#xC9C0; &amp;#xD615;&amp;#xC2DD;&amp;#xC774; &amp;#xBAA8;&amp;#xB450; &amp;#xC788;&amp;#xC744; &amp;#xACBD;&amp;#xC6B0;&amp;#xC5D0;&amp;#xB294; &lt;strong&gt;.properties&lt;/strong&gt; &amp;#xD30C;&amp;#xC77C;&amp;#xC744; &amp;#xB354; &amp;#xC6B0;&amp;#xC120;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;admonition note&quot;&gt;
&lt;p class=&quot;admonition-title&quot;&gt;Note&lt;/p&gt;
&lt;p&gt;&amp;#xD658;&amp;#xACBD;&amp;#xBCC0;&amp;#xC218;&amp;#xB97C; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD560;&amp;#xB54C;, OS &amp;#xC5D0;&amp;#xC11C; &amp;#xB9C8;&amp;#xCE68;&amp;#xD45C;&amp;#xB85C; &amp;#xAD6C;&amp;#xBD84;&amp;#xB41C; &amp;#xD658;&amp;#xACBD;&amp;#xBCC0;&amp;#xC218;&amp;#xBA85;&amp;#xC744; &amp;#xD5C8;&amp;#xC6A9;&amp;#xD558;&amp;#xC9C0; &amp;#xC54A;&amp;#xB294; &amp;#xACBD;&amp;#xC6B0;&amp;#xAC00; &amp;#xB9CE;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xC774; &amp;#xACBD;&amp;#xC6B0;&amp;#xC5D0;&amp;#xB294; &amp;#xB9C8;&amp;#xCE68;&amp;#xD45C;&amp;#xB97C; &lt;code&gt;_&lt;/code&gt;&amp;#xB85C; &amp;#xB300;&amp;#xCCB4;&amp;#xD558;&amp;#xC5EC; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD558; &amp;#x3139;&amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xC608;&amp;#xB97C;&amp;#xB4E4;&amp;#xC5B4;, &lt;code&gt;spring.config.name&lt;/code&gt; &amp;#xD504;&amp;#xB85C;&amp;#xD37C;&amp;#xD2F0;&amp;#xB97C; &amp;#xD658;&amp;#xACBD;&amp;#xBCC0;&amp;#xC218;&amp;#xB85C; &amp;#xC124;&amp;#xC815;&amp;#xD558;&amp;#xACE0; &amp;#xC2F6;&amp;#xB2E4;&amp;#xBA74; &lt;strong&gt;SPRING_CONFIG_NAME&lt;/strong&gt; &amp;#xC774;&amp;#xB77C;&amp;#xB294; &amp;#xC774;&amp;#xB984;&amp;#xC73C;&amp;#xB85C; &amp;#xC0AC;&amp;#xC6A9; &amp;#xAC00;&amp;#xB2A5;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;#xCC38;&amp;#xACE0;: &lt;a href=&quot;https://docs.spring.io/spring-boot/reference/features/external-config.html#features.external-config.typesafe-configuration-properties.relaxed-binding.environment-variables&quot;&gt;Binding From Environment Variables&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/div&gt;
&lt;hr&gt;
&lt;h3 class=&quot;mume-header&quot; id=&quot;div-ida01-111-%EC%98%88%EC%A0%9Cdiv&quot;&gt;&lt;div id=&quot;a01-1&quot;&gt;1.1. &amp;#xC608;&amp;#xC81C;&lt;/div&gt;&lt;/h3&gt;

&lt;p&gt;&amp;#xBD88;&amp;#xB824;&amp;#xC9C0;&amp;#xB294; &amp;#xC21C;&amp;#xC11C;&amp;#xC5D0; &amp;#xB530;&amp;#xB77C; &amp;#xD504;&amp;#xB85C;&amp;#xD37C;&amp;#xD2F0;&amp;#xAC12;&amp;#xC774; override &amp;#xB418;&amp;#xB294; &amp;#xAC83;&amp;#xC744; &amp;#xD655;&amp;#xC778;&amp;#xD558;&amp;#xAE30; &amp;#xC704;&amp;#xD574; &amp;#xC544;&amp;#xB798; &amp;#xC608;&amp;#xC81C;&amp;#xB97C; &amp;#xC0B4;&amp;#xD3B4;&amp;#xBD05;&amp;#xC2DC;&amp;#xB2E4;.&lt;br&gt;
&lt;br&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;1.1.1. &amp;#xC608;&amp;#xC81C; 1&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;yml &amp;#xB370;&amp;#xC774;&amp;#xD130; &amp;#xD30C;&amp;#xC77C;&amp;#xC5D0; &amp;#xC544;&amp;#xB798;&amp;#xC640; &amp;#xAC19;&amp;#xC774; &amp;#xAD6C;&amp;#xC131; &amp;#xC124;&amp;#xC815;&amp;#xC744; &amp;#xD560; &amp;#xACBD;&amp;#xC6B0;,&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;yml&quot; class=&quot;language-yaml&quot;&gt;&lt;span class=&quot;token key atrule&quot;&gt;name&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; jini
&lt;/pre&gt;&lt;p&gt;&amp;#xC544;&amp;#xB798; api&amp;#xB97C; &amp;#xD638;&amp;#xCD9C;&amp;#xD574;&amp;#xBCF4;&amp;#xBA74;, &amp;#xD504;&amp;#xB85C;&amp;#xD37C;&amp;#xD2F0; &amp;#xD30C;&amp;#xC77C;&amp;#xC5D0; &amp;#xC124;&amp;#xC815;&amp;#xD55C; &amp;#xAD6C;&amp;#xC131; &amp;#xAC12;&amp;#xC774; &amp;#xC798; &amp;#xCD9C;&amp;#xB825;&amp;#xB418;&amp;#xB294; &amp;#xAC83;&amp;#xC744; &amp;#xD655;&amp;#xC778;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC744; &amp;#xAC83;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;java&quot; class=&quot;language-java&quot;&gt;&lt;span class=&quot;token annotation punctuation&quot;&gt;@RequiredArgsConstructor&lt;/span&gt;
&lt;span class=&quot;token annotation punctuation&quot;&gt;@RequestMapping&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;/test&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token annotation punctuation&quot;&gt;@RestController&lt;/span&gt;
&lt;span class=&quot;token keyword keyword-class&quot;&gt;class&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;TestController&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;

    &lt;span class=&quot;token keyword keyword-private&quot;&gt;private&lt;/span&gt; &lt;span class=&quot;token keyword keyword-final&quot;&gt;final&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;AppConfig&lt;/span&gt; appConfig&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

    &lt;span class=&quot;token annotation punctuation&quot;&gt;@GetMapping&lt;/span&gt;
    &lt;span class=&quot;token keyword keyword-public&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;String&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;hello&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
        &lt;span class=&quot;token keyword keyword-return&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;name: &amp;quot;&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;+&lt;/span&gt; appConfig&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;getName&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;http&quot; class=&quot;language-http&quot;&gt;http :8080/test
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;http&quot; class=&quot;language-http&quot;&gt;HTTP/1.1 200
&lt;span class=&quot;token header-name keyword&quot;&gt;Connection:&lt;/span&gt; keep-alive
&lt;span class=&quot;token header-name keyword&quot;&gt;Content-Length:&lt;/span&gt; 10
&lt;span class=&quot;token header-name keyword&quot;&gt;Content-Type:&lt;/span&gt; text/plain;charset=UTF-8
&lt;span class=&quot;token header-name keyword&quot;&gt;Date:&lt;/span&gt; Fri, 01 Nov 2024 10:25:50 GMT
&lt;span class=&quot;token header-name keyword&quot;&gt;Keep-Alive:&lt;/span&gt; timeout=60

&lt;span class=&quot;token header-name keyword&quot;&gt;name:&lt;/span&gt; jini
&lt;/pre&gt;&lt;br&gt;
&lt;p&gt;&lt;strong&gt;1.1.2. &amp;#xC608;&amp;#xC81C; 2&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;command line &amp;#xC778;&amp;#xC790;&amp;#xB85C; &amp;#xAC12;&amp;#xC744; &amp;#xC124;&amp;#xC815;&amp;#xD574;&amp;#xC8FC;&amp;#xBA74;, &amp;#xAE30;&amp;#xC874;&amp;#xC5D0; &amp;#xD328;&amp;#xD0A4;&amp;#xC9D5;&amp;#xB41C; jar &amp;#xB0B4;&amp;#xC758; application.yml &amp;#xD30C;&amp;#xC77C; &amp;#xC124;&amp;#xC815;&amp;#xC744; override &amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xC544;&amp;#xB798;&amp;#xC640; &amp;#xAC19;&amp;#xC774; command line &amp;#xC778;&amp;#xC790;&amp;#xB85C; name &amp;#xAC12;&amp;#xC744; &amp;#xC815;&amp;#xC758;&amp;#xD574;&amp;#xC8FC;&amp;#xBA74; &amp;#xD574;&amp;#xB2F9; &amp;#xAC12;&amp;#xC774; &amp;#xB36E;&amp;#xC5B4;&amp;#xC368;&amp;#xC9C0;&amp;#xB294; &amp;#xAC83;&amp;#xC744; &amp;#xD655;&amp;#xC778;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;java -jar spring-boot-0.0.1.jar --name&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;lily&amp;quot;&lt;/span&gt;
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;http&quot; class=&quot;language-http&quot;&gt;http :8080/ttt
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;http&quot; class=&quot;language-http&quot;&gt;HTTP/1.1 200
&lt;span class=&quot;token header-name keyword&quot;&gt;Connection:&lt;/span&gt; keep-alive
&lt;span class=&quot;token header-name keyword&quot;&gt;Content-Length:&lt;/span&gt; 10
&lt;span class=&quot;token header-name keyword&quot;&gt;Content-Type:&lt;/span&gt; text/plain;charset=UTF-8
&lt;span class=&quot;token header-name keyword&quot;&gt;Date:&lt;/span&gt; Fri, 01 Nov 2024 10:26:45 GMT
&lt;span class=&quot;token header-name keyword&quot;&gt;Keep-Alive:&lt;/span&gt; timeout=60

&lt;span class=&quot;token header-name keyword&quot;&gt;name:&lt;/span&gt; lily
&lt;/pre&gt;&lt;br&gt;
&lt;div class=&quot;admonition tip&quot;&gt;
&lt;p class=&quot;admonition-title&quot;&gt;Tip&lt;/p&gt;
&lt;p&gt;&lt;code&gt;env&lt;/code&gt; &amp;#xC640; &lt;code&gt;configprops&lt;/code&gt; &amp;#xC5D4;&amp;#xB4DC;&amp;#xD3EC;&amp;#xC778;&amp;#xD2B8;&amp;#xB97C; &amp;#xD65C;&amp;#xC6A9;&amp;#xD558;&amp;#xBA74; &amp;#xD504;&amp;#xB85C;&amp;#xD37C;&amp;#xD2F0;&amp;#xC5D0; &amp;#xD2B9;&amp;#xC815; &amp;#xAC12;&amp;#xC774; &amp;#xB4E4;&amp;#xC5B4;&amp;#xC788;&amp;#xB294; &amp;#xC774;&amp;#xC720;&amp;#xB97C; &amp;#xD655;&amp;#xC778;&amp;#xD558;&amp;#xB294;&amp;#xB370;&amp;#xC5D0; &amp;#xC720;&amp;#xC6A9;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xD504;&amp;#xB85C;&amp;#xB355;&amp;#xC158; &amp;#xC900;&amp;#xBE44;&amp;#xB97C; &amp;#xD558;&amp;#xAE30; &amp;#xC804;&amp;#xC5D0; &amp;#xC774;&amp;#xBD80;&amp;#xBD84;&amp;#xC744; &amp;#xAC80;&amp;#xD1A0;&amp;#xD558;&amp;#xC5EC; &amp;#xC608;&amp;#xC0C1;&amp;#xCE58; &amp;#xBABB;&amp;#xD55C; &amp;#xC18D;&amp;#xC131; &amp;#xAC12;&amp;#xC744; &amp;#xC9C4;&amp;#xB2E8;&amp;#xD558;&amp;#xB294; &amp;#xAC83;&amp;#xC774; &amp;#xC88B;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xCC38;&amp;#xACE0;: &lt;a href=&quot;https://blog.jiniworld.me/247&quot;&gt;[Spring Boot Core] Actuator&amp;#xB97C; &amp;#xC774;&amp;#xC6A9;&amp;#xD55C; &amp;#xD658;&amp;#xACBD; &amp;#xBCC0;&amp;#xC218; &amp;#xBAA8;&amp;#xC544;&amp;#xBCF4;&amp;#xAE30;&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;hr&gt;
&lt;h2 class=&quot;mume-header&quot; id=&quot;div-ida022-command-line-%ED%94%84%EB%A1%9C%ED%8D%BC%ED%8B%B0-%EC%95%A1%EC%84%B8%EC%8A%A4div&quot;&gt;&lt;div id=&quot;a02&quot;&gt;2. command line &amp;#xD504;&amp;#xB85C;&amp;#xD37C;&amp;#xD2F0; &amp;#xC561;&amp;#xC138;&amp;#xC2A4;&lt;/div&gt;&lt;/h2&gt;

&lt;p&gt;&amp;#xAE30;&amp;#xBCF8;&amp;#xC801;&amp;#xC73C;&amp;#xB85C; SpringApplication &amp;#xC740; &lt;code&gt;--&lt;/code&gt; &amp;#xC73C;&amp;#xB85C; &amp;#xC2DC;&amp;#xC791;&amp;#xB418;&amp;#xB294; command line &amp;#xC778;&amp;#xC790;&amp;#xAC12;&amp;#xC744; &amp;#xD504;&amp;#xB85C;&amp;#xD37C;&amp;#xD2F0;&amp;#xB85C; &amp;#xBCC0;&amp;#xD658;&amp;#xD574;&amp;#xC8FC;&amp;#xACE0;, &amp;#xC774; &amp;#xD504;&amp;#xB85C;&amp;#xD37C;&amp;#xD2F0;&amp;#xB4E4;&amp;#xC744; Spring Environment&amp;#xC5D0; &amp;#xCD94;&amp;#xAC00;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;#xC608;&amp;#xC2DC;: &lt;code&gt;java -jar demo.jar --server.port=18080&lt;/code&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&amp;#xB9CC;&amp;#xC57D; command line &amp;#xC778;&amp;#xC790;&amp;#xAC12;&amp;#xB4E4;&amp;#xC744; Spring Environment&amp;#xC5D0; &amp;#xCD94;&amp;#xAC00;&amp;#xD558;&amp;#xACE0; &amp;#xC2F6;&amp;#xC9C0; &amp;#xC54A;&amp;#xB2E4;&amp;#xBA74;,&lt;br&gt;
&lt;code&gt;SpringApplication.setAddCommandLineProperties(false)&lt;/code&gt; &amp;#xC124;&amp;#xC815;&amp;#xC73C;&amp;#xB85C; &amp;#xBE44;&amp;#xD65C;&amp;#xC131;&amp;#xD654; &amp;#xC2DC;&amp;#xD0AC; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 class=&quot;mume-header&quot; id=&quot;div-ida03-13-json-application-propertiesdiv&quot;&gt;&lt;div id=&quot;a03-1&quot;&gt;3. JSON Application properties&lt;/div&gt;&lt;/h2&gt;

&lt;p&gt;&amp;#xD658;&amp;#xACBD;&amp;#xBCC0;&amp;#xC218;&amp;#xC640; &amp;#xC2DC;&amp;#xC2A4;&amp;#xD15C; &amp;#xD504;&amp;#xB85C;&amp;#xD37C;&amp;#xD2F0;&amp;#xB4E4;&amp;#xC744; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD560; &amp;#xB54C;, &amp;#xC885;&amp;#xC885; &amp;#xC774;&amp;#xB984; &amp;#xC124;&amp;#xC815;&amp;#xC758; &amp;#xC81C;&amp;#xD55C;&amp;#xC744; &amp;#xB9C8;&amp;#xC8FC;&amp;#xD560; &amp;#xB54C;&amp;#xAC00; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;Spring&amp;#xC5D0;&amp;#xC11C;&amp;#xB294; &amp;#xB2E8;&amp;#xC77C; JSON &amp;#xAD6C;&amp;#xC870;&amp;#xB85C; &amp;#xD504;&amp;#xB85C;&amp;#xD37C;&amp;#xD2F0; &amp;#xBE14;&amp;#xB85D;&amp;#xC744; &amp;#xC778;&amp;#xCF54;&amp;#xB529;&amp;#xD558;&amp;#xC5EC; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD558;&amp;#xB294; &amp;#xAC83;&amp;#xC744; &amp;#xD5C8;&amp;#xC6A9;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;br&gt;
&lt;h3 class=&quot;mume-header&quot; id=&quot;31-%EC%98%88%EC%A0%9C-%EC%86%8C%EC%8A%A4%EC%BD%94%EB%93%9C&quot;&gt;3.1. &amp;#xC608;&amp;#xC81C; &amp;#xC18C;&amp;#xC2A4;&amp;#xCF54;&amp;#xB4DC;&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;my&lt;/em&gt; &amp;#xB77C;&amp;#xB294; prefix &amp;#xC5D0; name &amp;#xACFC; age &amp;#xD504;&amp;#xB85C;&amp;#xD37C;&amp;#xD2F0;&amp;#xB97C; &amp;#xC124;&amp;#xC815;&amp;#xD55C;&amp;#xB2E4;&amp;#xACE0; &amp;#xD558;&amp;#xACE0;, &amp;#xADF8; &amp;#xD504;&amp;#xB85C;&amp;#xD37C;&amp;#xD2F0;&amp;#xB97C; &amp;#xC77D;&amp;#xC5B4;&amp;#xB4E4;&amp;#xC77C; &amp;#xCF54;&amp;#xB4DC;&amp;#xB97C; &amp;#xC791;&amp;#xC131;&amp;#xD574;&amp;#xBD05;&amp;#xC2DC;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;java&quot; class=&quot;language-java&quot;&gt;&lt;span class=&quot;token annotation punctuation&quot;&gt;@Data&lt;/span&gt;
&lt;span class=&quot;token annotation punctuation&quot;&gt;@ToString&lt;/span&gt;
&lt;span class=&quot;token annotation punctuation&quot;&gt;@ConfigurationProperties&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;prefix &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;my&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token annotation punctuation&quot;&gt;@Component&lt;/span&gt;
&lt;span class=&quot;token keyword keyword-public&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;token keyword keyword-class&quot;&gt;class&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;MyProperties&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;token keyword keyword-private&quot;&gt;private&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;String&lt;/span&gt; name&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;token keyword keyword-private&quot;&gt;private&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;Integer&lt;/span&gt; age&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;java&quot; class=&quot;language-java&quot;&gt;&lt;span class=&quot;token annotation punctuation&quot;&gt;@RequiredArgsConstructor&lt;/span&gt;
&lt;span class=&quot;token annotation punctuation&quot;&gt;@RequestMapping&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;/properties&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token annotation punctuation&quot;&gt;@RestController&lt;/span&gt;
&lt;span class=&quot;token keyword keyword-class&quot;&gt;class&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;PropertiesController&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;

    &lt;span class=&quot;token keyword keyword-private&quot;&gt;private&lt;/span&gt; &lt;span class=&quot;token keyword keyword-final&quot;&gt;final&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;MyProperties&lt;/span&gt; myProperties&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

    &lt;span class=&quot;token annotation punctuation&quot;&gt;@GetMapping&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;/my&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
    &lt;span class=&quot;token keyword keyword-public&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;String&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;my&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
        &lt;span class=&quot;token keyword keyword-return&quot;&gt;return&lt;/span&gt; myProperties&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;toString&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;br&gt;
&lt;h3 class=&quot;mume-header&quot; id=&quot;div-ida03-232-json-application-properties-%EC%84%A4%EC%A0%95%ED%95%98%EA%B8%B0div&quot;&gt;&lt;div id=&quot;a03-2&quot;&gt;3.2. JSON Application Properties &amp;#xC124;&amp;#xC815;&amp;#xD558;&amp;#xAE30;&lt;/div&gt;&lt;/h3&gt;

&lt;p&gt;JSON Application Properties&amp;#xB97C; &amp;#xC124;&amp;#xC815;&amp;#xD558;&amp;#xB294; &amp;#xBC29;&amp;#xBC95;&amp;#xC740; &amp;#xB2E4;&amp;#xC591;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xC544;&amp;#xB798; 3&amp;#xAC00;&amp;#xC9C0; &amp;#xBC29;&amp;#xBC95;&amp;#xC911; &amp;#xD3B8;&amp;#xD55C; &amp;#xBC29;&amp;#xBC95;&amp;#xB300;&amp;#xB85C; &amp;#xC124;&amp;#xC815;&amp;#xD558;&amp;#xBA74; &amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&lt;br&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;3.2.1. command line &amp;#xC778;&amp;#xC790;&amp;#xB85C; &amp;#xC124;&amp;#xC815;&lt;/strong&gt;&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;java -jar spring-boot.jar &lt;span class=&quot;token punctuation&quot;&gt;\&lt;/span&gt;
 --spring.application.json&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;{&lt;span class=&quot;token entity&quot; title=&quot;\&amp;quot;&quot;&gt;\&amp;quot;&lt;/span&gt;my&lt;span class=&quot;token entity&quot; title=&quot;\&amp;quot;&quot;&gt;\&amp;quot;&lt;/span&gt;:{&lt;span class=&quot;token entity&quot; title=&quot;\&amp;quot;&quot;&gt;\&amp;quot;&lt;/span&gt;name&lt;span class=&quot;token entity&quot; title=&quot;\&amp;quot;&quot;&gt;\&amp;quot;&lt;/span&gt;:&lt;span class=&quot;token entity&quot; title=&quot;\&amp;quot;&quot;&gt;\&amp;quot;&lt;/span&gt;coco&lt;span class=&quot;token entity&quot; title=&quot;\&amp;quot;&quot;&gt;\&amp;quot;&lt;/span&gt;, &lt;span class=&quot;token entity&quot; title=&quot;\&amp;quot;&quot;&gt;\&amp;quot;&lt;/span&gt;age&lt;span class=&quot;token entity&quot; title=&quot;\&amp;quot;&quot;&gt;\&amp;quot;&lt;/span&gt;:22}}&amp;quot;&lt;/span&gt;
&lt;/pre&gt;&lt;br&gt;
&lt;p&gt;&lt;strong&gt;3.2.2. &amp;#xC2DC;&amp;#xC2A4;&amp;#xD15C; &amp;#xD504;&amp;#xB85C;&amp;#xD37C;&amp;#xD2F0;&amp;#xB85C; &amp;#xC124;&amp;#xC815;&lt;/strong&gt;&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;java -Dspring.application.json&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;{&lt;span class=&quot;token entity&quot; title=&quot;\&amp;quot;&quot;&gt;\&amp;quot;&lt;/span&gt;my&lt;span class=&quot;token entity&quot; title=&quot;\&amp;quot;&quot;&gt;\&amp;quot;&lt;/span&gt;:{&lt;span class=&quot;token entity&quot; title=&quot;\&amp;quot;&quot;&gt;\&amp;quot;&lt;/span&gt;name&lt;span class=&quot;token entity&quot; title=&quot;\&amp;quot;&quot;&gt;\&amp;quot;&lt;/span&gt;:&lt;span class=&quot;token entity&quot; title=&quot;\&amp;quot;&quot;&gt;\&amp;quot;&lt;/span&gt;coco&lt;span class=&quot;token entity&quot; title=&quot;\&amp;quot;&quot;&gt;\&amp;quot;&lt;/span&gt;, &lt;span class=&quot;token entity&quot; title=&quot;\&amp;quot;&quot;&gt;\&amp;quot;&lt;/span&gt;age&lt;span class=&quot;token entity&quot; title=&quot;\&amp;quot;&quot;&gt;\&amp;quot;&lt;/span&gt;:22}}&amp;quot;&lt;/span&gt; -jar spring-boot.jar
&lt;/pre&gt;&lt;br&gt;
&lt;p&gt;&lt;strong&gt;3.2.3. &amp;#xD658;&amp;#xACBD;&amp;#xBCC0;&amp;#xC218;&amp;#xB85C; &amp;#xC124;&amp;#xC815;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&amp;#xC0AC;&amp;#xC6A9;&amp;#xD558;&amp;#xACE0; &amp;#xC788;&amp;#xB294; &amp;#xD130;&amp;#xBBF8;&amp;#xB110;&amp;#xC758; &amp;#xD658;&amp;#xACBD;&amp;#xBCC0;&amp;#xC218; &amp;#xC124;&amp;#xC815;&amp;#xD30C;&amp;#xC77C;&amp;#xC5D0; &amp;#xB4E4;&amp;#xC5B4;&amp;#xAC00;&amp;#xC11C;&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;&lt;span class=&quot;token function&quot;&gt;vim&lt;/span&gt; ~/.zshrc
&lt;/pre&gt;&lt;p&gt;&amp;#xD558;&amp;#xB2E8;&amp;#xC5D0; SPRING_APPLICATION_JSON &amp;#xD658;&amp;#xACBD; export&amp;#xB97C; &amp;#xCD94;&amp;#xAC00;&amp;#xD574;&amp;#xC90D;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;&lt;span class=&quot;token builtin class-name&quot;&gt;export&lt;/span&gt; &lt;span class=&quot;token assign-left variable&quot;&gt;SPRING_APPLICATION_JSON&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;{&lt;span class=&quot;token entity&quot; title=&quot;\&amp;quot;&quot;&gt;\&amp;quot;&lt;/span&gt;my&lt;span class=&quot;token entity&quot; title=&quot;\&amp;quot;&quot;&gt;\&amp;quot;&lt;/span&gt;:{&lt;span class=&quot;token entity&quot; title=&quot;\&amp;quot;&quot;&gt;\&amp;quot;&lt;/span&gt;name&lt;span class=&quot;token entity&quot; title=&quot;\&amp;quot;&quot;&gt;\&amp;quot;&lt;/span&gt;:&lt;span class=&quot;token entity&quot; title=&quot;\&amp;quot;&quot;&gt;\&amp;quot;&lt;/span&gt;coco&lt;span class=&quot;token entity&quot; title=&quot;\&amp;quot;&quot;&gt;\&amp;quot;&lt;/span&gt;, &lt;span class=&quot;token entity&quot; title=&quot;\&amp;quot;&quot;&gt;\&amp;quot;&lt;/span&gt;age&lt;span class=&quot;token entity&quot; title=&quot;\&amp;quot;&quot;&gt;\&amp;quot;&lt;/span&gt;:22}}&amp;quot;&lt;/span&gt;
&lt;/pre&gt;&lt;br&gt;
&lt;p&gt;&amp;#xC218;&amp;#xC815;&amp;#xC0AC;&amp;#xD56D;&amp;#xC744; &amp;#xBC18;&amp;#xC601;&amp;#xD574;&amp;#xC8FC;&amp;#xACE0;&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;&lt;span class=&quot;token builtin class-name&quot;&gt;source&lt;/span&gt; ~/.zshrc
&lt;/pre&gt;&lt;p&gt;echo&amp;#xBA85;&amp;#xB839;&amp;#xC5B4;&amp;#xB85C; &amp;#xD658;&amp;#xACBD;&amp;#xBCC0;&amp;#xC218;&amp;#xAC00; &amp;#xC798; &amp;#xC124;&amp;#xC815;&amp;#xB418;&amp;#xC5B4;&amp;#xC788;&amp;#xB294;&amp;#xC9C0; &amp;#xD655;&amp;#xC778;&amp;#xD574;&amp;#xC90D;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;&lt;span class=&quot;token builtin class-name&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;token variable&quot;&gt;$SPRING_APPLICATION_JSON&lt;/span&gt;
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;my&amp;quot;&lt;/span&gt;:&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;name&amp;quot;&lt;/span&gt;&lt;span class=&quot;token builtin class-name&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;coco2&amp;quot;&lt;/span&gt;, &lt;span class=&quot;token string&quot;&gt;&amp;quot;age&amp;quot;&lt;/span&gt;:22&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;br&gt;
&lt;p&gt;&amp;#xC124;&amp;#xC815;&amp;#xD55C; &amp;#xD658;&amp;#xACBD;&amp;#xBCC0;&amp;#xC218;&amp;#xAC00; &amp;#xC798; &amp;#xC870;&amp;#xD68C;&amp;#xB41C;&amp;#xB2E4;&amp;#xBA74; &amp;#xC560;&amp;#xD50C;&amp;#xB9AC;&amp;#xCF00;&amp;#xC774;&amp;#xC158;&amp;#xC744; &amp;#xC2E4;&amp;#xD589;&amp;#xD574;&amp;#xBD05;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;java -jar spring-boot.jar
&lt;/pre&gt;&lt;br&gt;
&lt;h3 class=&quot;mume-header&quot; id=&quot;div-ida03-333-%ED%85%8C%EC%8A%A4%ED%8A%B8div&quot;&gt;&lt;div id=&quot;a03-3&quot;&gt;3.3. &amp;#xD14C;&amp;#xC2A4;&amp;#xD2B8;&lt;/div&gt;&lt;/h3&gt;

&lt;h3 class=&quot;mume-header&quot; id=&quot;331-api-%ED%85%8C%EC%8A%A4%ED%8A%B8&quot;&gt;3.3.1. api &amp;#xD14C;&amp;#xC2A4;&amp;#xD2B8;&lt;/h3&gt;

&lt;p&gt;HTTPie &amp;#xB85C; &amp;#xC2E4;&amp;#xD589;&amp;#xD55C; &amp;#xACB0;&amp;#xACFC;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xC0AC;&amp;#xC6A9;&amp;#xD558;&amp;#xACE0; &amp;#xC788;&amp;#xB294; http client &amp;#xB97C; &amp;#xC774;&amp;#xC6A9;&amp;#xD558;&amp;#xC5EC; api&amp;#xB97C; &amp;#xC870;&amp;#xD68C;&amp;#xD574;&amp;#xBD05;&amp;#xC2DC;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;http&quot; class=&quot;language-http&quot;&gt;http :8080/properties/my
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;http&quot; class=&quot;language-http&quot;&gt;HTTP/1.1 200
&lt;span class=&quot;token header-name keyword&quot;&gt;Connection:&lt;/span&gt; keep-alive
&lt;span class=&quot;token header-name keyword&quot;&gt;Content-Length:&lt;/span&gt; 31
&lt;span class=&quot;token header-name keyword&quot;&gt;Content-Type:&lt;/span&gt; text/plain;charset=UTF-8
&lt;span class=&quot;token header-name keyword&quot;&gt;Date:&lt;/span&gt; Sun, 03 Nov 2024 07:50:05 GMT
&lt;span class=&quot;token header-name keyword&quot;&gt;Keep-Alive:&lt;/span&gt; timeout=60

MyProperties(name=coco, age=22)
&lt;/pre&gt;&lt;br&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;http&quot; class=&quot;language-http&quot;&gt;GET http://localhost:8080/actuator/env
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;json&quot; class=&quot;language-json&quot;&gt;...
&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;token property&quot;&gt;&amp;quot;name&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;spring.application.json&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
  &lt;span class=&quot;token property&quot;&gt;&amp;quot;properties&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;token property&quot;&gt;&amp;quot;my.name&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
      &lt;span class=&quot;token property&quot;&gt;&amp;quot;value&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;coco&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
      &lt;span class=&quot;token property&quot;&gt;&amp;quot;origin&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;\&amp;quot;spring.application.json\&amp;quot; from property source \&amp;quot;commandLineArgs\&amp;quot;&amp;quot;&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
    &lt;span class=&quot;token property&quot;&gt;&amp;quot;my.age&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
      &lt;span class=&quot;token property&quot;&gt;&amp;quot;value&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;22&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
      &lt;span class=&quot;token property&quot;&gt;&amp;quot;origin&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;\&amp;quot;spring.application.json\&amp;quot; from property source \&amp;quot;commandLineArgs\&amp;quot;&amp;quot;&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
  &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
&lt;/pre&gt;&lt;br&gt;
&lt;h3 class=&quot;mume-header&quot; id=&quot;332-env-%ED%85%8C%EC%8A%A4%ED%8A%B8&quot;&gt;3.3.2. env &amp;#xD14C;&amp;#xC2A4;&amp;#xD2B8;&lt;/h3&gt;

&lt;p&gt;env &amp;#xD14C;&amp;#xC2A4;&amp;#xD2B8;&amp;#xC5D0; &amp;#xB300;&amp;#xD55C; &amp;#xC0C1;&amp;#xC138;&amp;#xD55C; &amp;#xC124;&amp;#xBA85;&amp;#xC740; &amp;#xC544;&amp;#xB798; &amp;#xAC8C;&amp;#xC2DC;&amp;#xBB3C;&amp;#xC744; &amp;#xCC38;&amp;#xACE0;&amp;#xD574;&amp;#xC8FC;&amp;#xC138;&amp;#xC694;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;a href=&quot;https://blog.jiniworld.me/24&quot;&gt;[Spring Boot Core] Actuator&amp;#xB97C; &amp;#xC774;&amp;#xC6A9;&amp;#xD55C; &amp;#xD658;&amp;#xACBD; &amp;#xBCC0;&amp;#xC218; &amp;#xBAA8;&amp;#xC544;&amp;#xBCF4;&amp;#xAE30;&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;br&gt;
&lt;p&gt;&lt;strong&gt;3.3.2.1. command line &amp;#xC778;&amp;#xC790; &amp;#xC124;&amp;#xC815; &amp;#xACB0;&amp;#xACFC;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;command line &amp;#xC778;&amp;#xC790;&amp;#xB85C; &amp;#xC124;&amp;#xC815;&amp;#xD55C; &amp;#xD6C4; Actuator env&amp;#xB97C; REST Client&amp;#xB85C; &amp;#xC870;&amp;#xD68C;&amp;#xD55C; &amp;#xACB0;&amp;#xACFC;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;http&quot; class=&quot;language-http&quot;&gt;GET http://localhost:8080/actuator/env
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;json&quot; class=&quot;language-json&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;token property&quot;&gt;&amp;quot;propertySources&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
      &lt;span class=&quot;token property&quot;&gt;&amp;quot;name&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;commandLineArgs&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
      &lt;span class=&quot;token property&quot;&gt;&amp;quot;properties&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
        &lt;span class=&quot;token property&quot;&gt;&amp;quot;spring.application.json&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
          &lt;span class=&quot;token property&quot;&gt;&amp;quot;value&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;{\&amp;quot;my\&amp;quot;:{\&amp;quot;name\&amp;quot;:\&amp;quot;coco\&amp;quot;, \&amp;quot;age\&amp;quot;:22}}&amp;quot;&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
      &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
      &lt;span class=&quot;token property&quot;&gt;&amp;quot;name&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;spring.application.json&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
      &lt;span class=&quot;token property&quot;&gt;&amp;quot;properties&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
        &lt;span class=&quot;token property&quot;&gt;&amp;quot;my.name&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
          &lt;span class=&quot;token property&quot;&gt;&amp;quot;value&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;coco&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
          &lt;span class=&quot;token property&quot;&gt;&amp;quot;origin&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;\&amp;quot;spring.application.json\&amp;quot; from property source \&amp;quot;commandLineArgs\&amp;quot;&amp;quot;&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
        &lt;span class=&quot;token property&quot;&gt;&amp;quot;my.age&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
          &lt;span class=&quot;token property&quot;&gt;&amp;quot;value&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;22&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
          &lt;span class=&quot;token property&quot;&gt;&amp;quot;origin&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;\&amp;quot;spring.application.json\&amp;quot; from property source \&amp;quot;commandLineArgs\&amp;quot;&amp;quot;&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
      &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
    ...
  &lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;br&gt;
&lt;p&gt;&lt;strong&gt;3.3.2.2. &amp;#xD658;&amp;#xACBD;&amp;#xBCC0;&amp;#xC218; &amp;#xC124;&amp;#xC815; &amp;#xACB0;&amp;#xACFC;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;SPRING_APPLICATION_JSON&lt;/code&gt; &amp;#xD658;&amp;#xACBD;&amp;#xBCC0;&amp;#xC218;&amp;#xB85C; &amp;#xC124;&amp;#xC815;&amp;#xD55C; &amp;#xD6C4; Actuator env&amp;#xB97C; REST Client&amp;#xB85C; &amp;#xC870;&amp;#xD68C;&amp;#xD55C; &amp;#xACB0;&amp;#xACFC;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;http&quot; class=&quot;language-http&quot;&gt;GET http://localhost:8080/actuator/env
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;json&quot; class=&quot;language-json&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;token property&quot;&gt;&amp;quot;propertySources&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
      &lt;span class=&quot;token property&quot;&gt;&amp;quot;name&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;spring.application.json&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
      &lt;span class=&quot;token property&quot;&gt;&amp;quot;properties&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
        &lt;span class=&quot;token property&quot;&gt;&amp;quot;my.name&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
          &lt;span class=&quot;token property&quot;&gt;&amp;quot;value&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;jini&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
          &lt;span class=&quot;token property&quot;&gt;&amp;quot;origin&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;System Environment Property \&amp;quot;SPRING_APPLICATION_JSON\&amp;quot;&amp;quot;&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
        &lt;span class=&quot;token property&quot;&gt;&amp;quot;my.age&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
          &lt;span class=&quot;token property&quot;&gt;&amp;quot;value&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;28&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
          &lt;span class=&quot;token property&quot;&gt;&amp;quot;origin&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;System Environment Property \&amp;quot;SPRING_APPLICATION_JSON\&amp;quot;&amp;quot;&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
      &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
      &lt;span class=&quot;token property&quot;&gt;&amp;quot;name&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;systemProperties&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
      &lt;span class=&quot;token property&quot;&gt;&amp;quot;properties&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
        ...
        &lt;span class=&quot;token property&quot;&gt;&amp;quot;SPRING_APPLICATION_JSON&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
          &lt;span class=&quot;token property&quot;&gt;&amp;quot;value&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;{\&amp;quot;my\&amp;quot;:{\&amp;quot;name\&amp;quot;:\&amp;quot;jini\&amp;quot;,\&amp;quot;age\&amp;quot;:28}}&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
          &lt;span class=&quot;token property&quot;&gt;&amp;quot;origin&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;System Environment Property \&amp;quot;SPRING_APPLICATION_JSON\&amp;quot;&amp;quot;&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
        ...
      &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
  &lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;hr&gt;
&lt;h3 class=&quot;mume-header&quot; id&gt;++&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Externalized Configuration&lt;/li&gt;
&lt;/ul&gt;

  &lt;/div&gt;&lt;/div&gt;</description>
      <category>Spring/Spring Docs</category>
      <category>Externalized Configuration</category>
      <category>Spring Boot</category>
      <category>spring docs</category>
      <author>jiniya22</author>
      <guid isPermaLink="true">https://jini-box.tistory.com/249</guid>
      <comments>https://jini-box.tistory.com/249#entry249comment</comments>
      <pubDate>Sun, 3 Nov 2024 17:11:57 +0900</pubDate>
    </item>
    <item>
      <title>[Spring Boot Core] 1. SpringApplication</title>
      <link>https://jini-box.tistory.com/248</link>
      <description>&lt;div id=&quot;html-export&quot;&gt;
      &lt;div class=&quot;mume markdown-preview  &quot;&gt;
      &lt;h1 class=&quot;mume-header&quot; id=&quot;spring-appplication&quot;&gt;Spring Appplication&lt;/h1&gt;

&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;#a01&quot;&gt;startup &amp;#xC2E4;&amp;#xD328;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#a02&quot;&gt;&amp;#xC9C0;&amp;#xC5F0; &amp;#xCD08;&amp;#xAE30;&amp;#xD654;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&amp;#xCEE4;&amp;#xC2A4;&amp;#xD140; &amp;#xBC30;&amp;#xB108;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#a04&quot;&gt;SpringApplication &amp;#xCEE4;&amp;#xC2A4;&amp;#xD140;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#a05&quot;&gt;&amp;#xC560;&amp;#xD50C;&amp;#xB9AC;&amp;#xCF00;&amp;#xC774;&amp;#xC158; &amp;#xAC00;&amp;#xC6A9;&amp;#xC131;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#a06&quot;&gt;&amp;#xC6F9; &amp;#xD658;&amp;#xACBD;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#a07&quot;&gt;application arguments &amp;#xC811;&amp;#xADFC;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#a08&quot;&gt;Application &amp;#xB610;&amp;#xB294; CommandLineRunner&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#a09&quot;&gt;&amp;#xC560;&amp;#xD50C;&amp;#xB9AC;&amp;#xCF00;&amp;#xC774;&amp;#xC158; &amp;#xC885;&amp;#xB8CC;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#a10&quot;&gt;&amp;#xAD00;&amp;#xB9AC;&amp;#xC790; &amp;#xAE30;&amp;#xB2A5;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&amp;#xC560;&amp;#xD50C;&amp;#xB9AC;&amp;#xCF00;&amp;#xC774;&amp;#xC158; &amp;#xC2DC;&amp;#xC791; &amp;#xCD94;&amp;#xC801;&lt;br&gt;
1. &lt;a href=&quot;#a11-1&quot;&gt;&amp;#xC2DC;&amp;#xC791; &amp;#xC2DC;&amp;#xAC04; &amp;#xBD84;&amp;#xC11D;&lt;/a&gt;&lt;br&gt;
1. &lt;a href=&quot;#a11-2&quot;&gt;&amp;#xD2B9;&amp;#xC815; startup event&amp;#xB9CC; &amp;#xD544;&amp;#xD130;&amp;#xB9C1;&amp;#xD558;&amp;#xC5EC; &amp;#xBD84;&amp;#xC11D;&lt;/a&gt;&lt;br&gt;
1. &lt;a href=&quot;#a11-3&quot;&gt;jq json processor &amp;#xB97C; &amp;#xC774;&amp;#xC6A9;&amp;#xD55C; &amp;#xBE48; &amp;#xCD08;&amp;#xAE30;&amp;#xD654; &amp;#xAE30;&amp;#xAC04; &amp;#xC870;&amp;#xD68C;&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;hr&gt;
&lt;p&gt;&lt;code&gt;SpringApplication&lt;/code&gt; &amp;#xD074;&amp;#xB798;&amp;#xC2A4;&amp;#xB294; &lt;code&gt;main()&lt;/code&gt;&amp;#xBA54;&amp;#xC11C;&amp;#xB4DC;&amp;#xB97C; &amp;#xC774;&amp;#xC6A9;&amp;#xD558;&amp;#xC5EC; &amp;#xD3B8;&amp;#xB9AC;&amp;#xD558;&amp;#xAC8C; Spring &amp;#xC560;&amp;#xD50C;&amp;#xB9AC;&amp;#xCF00;&amp;#xC774;&amp;#xC158; &amp;#xBD80;&amp;#xD305;&amp;#xC744; &amp;#xC81C;&amp;#xACF5;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;SpringApplication.run&lt;/strong&gt; &amp;#xC815;&amp;#xC801; &amp;#xBA54;&amp;#xC11C;&amp;#xB4DC;&amp;#xC5D0;&amp;#xAC8C; &amp;#xC704;&amp;#xC784;&amp;#xD558;&amp;#xC5EC; &amp;#xC560;&amp;#xD50C;&amp;#xB9AC;&amp;#xCF00;&amp;#xC774;&amp;#xC158;&amp;#xC744; &amp;#xC2E4;&amp;#xD589;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;java&quot; class=&quot;language-java&quot;&gt;&lt;span class=&quot;token annotation punctuation&quot;&gt;@SpringBootApplication&lt;/span&gt;
&lt;span class=&quot;token keyword keyword-public&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;token keyword keyword-class&quot;&gt;class&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;SpringBootApp&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;

	&lt;span class=&quot;token keyword keyword-public&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;token keyword keyword-static&quot;&gt;static&lt;/span&gt; &lt;span class=&quot;token keyword keyword-void&quot;&gt;void&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;main&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;String&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; args&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
		&lt;span class=&quot;token class-name&quot;&gt;SpringApplication&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;run&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;SpringBootApp&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token keyword keyword-class&quot;&gt;class&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; args&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
	&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;br&gt;
&lt;p&gt;&amp;#xCD5C;&amp;#xCD08;&amp;#xB85C; &amp;#xD504;&amp;#xB85C;&amp;#xC81D;&amp;#xD2B8;&amp;#xB97C; &amp;#xC0DD;&amp;#xC131;&amp;#xD55C; &amp;#xD6C4;, &amp;#xC2E4;&amp;#xD589;&amp;#xD588;&amp;#xC744; &amp;#xB54C; &amp;#xC544;&amp;#xB798;&amp;#xC640; &amp;#xAC19;&amp;#xC774; &amp;#xB85C;&amp;#xADF8;&amp;#xAC00; &amp;#xCD9C;&amp;#xB825;&amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;txt{.line-numbers, highlight=[10-11,21]}&quot; class=&quot;language-txt line-numbers&quot; data-line=&quot;10-11,21&quot;&gt;.   ____          _            __ _ _
/\\ / ___&amp;apos;_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | &amp;apos;_ | &amp;apos;_| | &amp;apos;_ \/ _` | \ \ \ \
\\/  ___)| |_)| | | | | || (_| |  ) ) ) )
&amp;apos;  |____| .__|_| |_|_| |_\__, | / / / /
=========|_|==============|___/=/_/_/_/

:: Spring Boot ::                (v3.3.3)

2024-09-30T14:25:01.031+09:00  INFO 38382 --- [spring-boot] [  restartedMain] me.jiniworld.springboot.SpringBootApp    : Starting SpringBootApp using Java 22.0.2 with PID 38382 (/User/jini/jini_box/jinispaces/java/spring-playground/spring-boot/build/classes/java/main started by jini in /User/jini/jini_box/jinispaces/java/spring-playground)
2024-09-30T14:25:01.033+09:00  INFO 38382 --- [spring-boot] [  restartedMain] me.jiniworld.springboot.SpringBootApp    : The following 1 profile is active: &amp;quot;local&amp;quot;
2024-09-30T14:25:01.052+09:00  INFO 38382 --- [spring-boot] [  restartedMain] .e.DevToolsPropertyDefaultsPostProcessor : Devtools property defaults active! Set &amp;apos;spring.devtools.add-properties&amp;apos; to &amp;apos;false&amp;apos; to disable
2024-09-30T14:25:01.052+09:00  INFO 38382 --- [spring-boot] [  restartedMain] .e.DevToolsPropertyDefaultsPostProcessor : For additional web related logging consider setting the &amp;apos;logging.level.web&amp;apos; property to &amp;apos;DEBUG&amp;apos;
2024-09-30T14:25:01.411+09:00  INFO 38382 --- [spring-boot] [  restartedMain] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat initialized with port 8080 (http)
2024-09-30T14:25:01.418+09:00  INFO 38382 --- [spring-boot] [  restartedMain] o.apache.catalina.core.StandardService   : Starting service [Tomcat]
2024-09-30T14:25:01.418+09:00  INFO 38382 --- [spring-boot] [  restartedMain] o.apache.catalina.core.StandardEngine    : Starting Servlet engine: [Apache Tomcat/10.1.28]
2024-09-30T14:25:01.435+09:00  INFO 38382 --- [spring-boot] [  restartedMain] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring embedded WebApplicationContext
2024-09-30T14:25:01.435+09:00  INFO 38382 --- [spring-boot] [  restartedMain] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 383 ms
2024-09-30T14:25:04.900+09:00  INFO 38382 --- [spring-boot] [  restartedMain] o.s.b.d.a.OptionalLiveReloadServer       : LiveReload server is running on port 35729
2024-09-30T14:25:04.914+09:00  INFO 38382 --- [spring-boot] [  restartedMain] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat started on port 8080 (http) with context path &amp;apos;/&amp;apos;
2024-09-30T14:25:04.919+09:00  INFO 38382 --- [spring-boot] [  restartedMain] me.jiniworld.springboot.SpringBootApp    : Started SpringBootApp in 4.048 seconds (process running for 9.333)
&lt;span aria-hidden=&quot;true&quot; class=&quot;line-numbers-rows&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class=&quot;line-highlight-wrapper&quot;&gt;








&lt;div aria-hidden=&quot;true&quot; class=&quot;line-highlight&quot; data-range=&quot;10-11&quot; data-start=&quot;10&quot; data-end=&quot;11&quot;&gt;

&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;line-highlight-wrapper&quot;&gt;



















&lt;div aria-hidden=&quot;true&quot; class=&quot;line-highlight&quot; data-range=&quot;21&quot; data-start=&quot;21&quot;&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/pre&gt;&lt;p&gt;&amp;#xAE30;&amp;#xBCF8;&amp;#xC801;&amp;#xC73C;&amp;#xB85C; &lt;code&gt;INFO&lt;/code&gt; &amp;#xB85C;&amp;#xAE45;&amp;#xBA54;&amp;#xC2DC;&amp;#xC9C0;&amp;#xAC00; &amp;#xCD9C;&amp;#xB825;&amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;#xB9CC;&amp;#xC77C; &amp;#xB85C;&amp;#xAE45; &amp;#xC124;&amp;#xC815;&amp;#xC744; &amp;#xC9C1;&amp;#xC811; &amp;#xC124;&amp;#xC815;&amp;#xD558;&amp;#xACE0; &amp;#xC2F6;&amp;#xB2E4;&amp;#xBA74;, &lt;a href=&quot;https://docs.spring.io/spring-boot/reference/features/logging.html#features.logging.log-levels&quot;&gt;Logging&lt;/a&gt; &amp;#xD398;&amp;#xC774;&amp;#xC9C0;&amp;#xB97C; &amp;#xCC38;&amp;#xC870;&amp;#xD558;&amp;#xC5EC; &amp;#xC54C;&amp;#xB9DE;&amp;#xAC8C; &amp;#xCEE4;&amp;#xC2A4;&amp;#xD140; &amp;#xD558;&amp;#xBA74; &amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;br&gt;
&lt;p&gt;&amp;#xB85C;&amp;#xAE45; &amp;#xC815;&amp;#xBCF4;&amp;#xC758; &amp;#xB9E8; &amp;#xCCAB;&amp;#xBC88;&amp;#xC9F8;&amp;#xB85C;&amp;#xB294; spring &amp;#xAE30;&amp;#xBCF8; &amp;#xBC30;&amp;#xB108;&amp;#xC640; &amp;#xD568;&amp;#xAED8;, Spring Boot &amp;#xC758; &amp;#xBA54;&amp;#xC778; &amp;#xBC84;&amp;#xC804;(spring-boot.formatted-version)&amp;#xC774; &amp;#xCD9C;&amp;#xB825;&amp;#xB418;&amp;#xACE0;,&lt;/p&gt;
&lt;p&gt;&amp;#xADF8; &amp;#xB2E4;&amp;#xC74C;&amp;#xC5D0; &amp;#xC560;&amp;#xD50C;&amp;#xB9AC;&amp;#xCF00;&amp;#xC774;&amp;#xC158; &amp;#xC2E4;&amp;#xD589;&amp;#xC2DC; &amp;#xC2DC;&amp;#xC791; &amp;#xC815;&amp;#xBCF4; &amp;#xB85C;&amp;#xAE45;&amp;#xC744; &amp;#xCD9C;&amp;#xB825;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xC2DC;&amp;#xC791; &amp;#xC815;&amp;#xBCF4; &amp;#xB85C;&amp;#xAE45;&amp;#xC5D0;&amp;#xB294; &amp;#xC560;&amp;#xD50C;&amp;#xB9AC;&amp;#xCF00;&amp;#xC774;&amp;#xC158;&amp;#xC744; &amp;#xC2DC;&amp;#xC791;&amp;#xD55C; &amp;#xC0AC;&amp;#xC6A9;&amp;#xC790;&amp;#xC5D0; &amp;#xB300;&amp;#xD55C; &amp;#xC138;&amp;#xBD80; &amp;#xC815;&amp;#xBCF4; &amp;#xB4F1;&amp;#xC774; &amp;#xD3EC;&amp;#xD568;&amp;#xB418;&amp;#xC5B4;&amp;#xC788;&amp;#xB294;&amp;#xB370;, &amp;#xC774; &amp;#xC815;&amp;#xBCF4;&amp;#xB97C; &amp;#xB044;&amp;#xACE0; &amp;#xC2F6;&amp;#xB2E4;&amp;#xBA74;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;spring.main.log-startup-info&lt;/code&gt; &amp;#xAC12;&amp;#xC744; &lt;strong&gt;false&lt;/strong&gt; &amp;#xB85C; &amp;#xC124;&amp;#xC815;&amp;#xD558;&amp;#xBA74; &amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;yml&quot; class=&quot;language-yaml&quot;&gt;&lt;span class=&quot;token key atrule&quot;&gt;spring&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
  &lt;span class=&quot;token key atrule&quot;&gt;main&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
    &lt;span class=&quot;token key atrule&quot;&gt;log-startup-info&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token boolean important&quot;&gt;false&lt;/span&gt;
&lt;/pre&gt;&lt;hr&gt;
&lt;h2 class=&quot;mume-header&quot; id=&quot;div-ida011-startup-%EC%8B%A4%ED%8C%A8div&quot;&gt;&lt;div id=&quot;a01&quot;&gt;1. startup &amp;#xC2E4;&amp;#xD328;&lt;/div&gt;&lt;/h2&gt;

&lt;p&gt;&amp;#xC560;&amp;#xD50C;&amp;#xB9AC;&amp;#xCF00;&amp;#xC774;&amp;#xC158; &amp;#xC2DC;&amp;#xC791;&amp;#xC5D0; &amp;#xC2E4;&amp;#xD328;&amp;#xD588;&amp;#xC744; &amp;#xB54C;, &amp;#xB4F1;&amp;#xB85D;&amp;#xB41C; &lt;code&gt;FailureAnalyzers&lt;/code&gt;&amp;#xB294; &amp;#xC624;&amp;#xB958; &amp;#xBA54;&amp;#xC2DC;&amp;#xC9C0;&amp;#xC640; &amp;#xD568;&amp;#xAED8; &amp;#xBB38;&amp;#xC81C; &amp;#xD574;&amp;#xACB0;&amp;#xC744; &amp;#xC704;&amp;#xD55C; &amp;#xC870;&amp;#xCE58; &amp;#xBC29;&amp;#xC548;&amp;#xC744; &amp;#xC81C;&amp;#xACF5;&amp;#xD574;&amp;#xC90D;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xC544;&amp;#xB798;&amp;#xB294; 8080&amp;#xD3EC;&amp;#xD2B8;&amp;#xB97C; &amp;#xC774;&amp;#xC6A9;&amp;#xD558;&amp;#xC5EC; &amp;#xC560;&amp;#xD50C;&amp;#xB9AC;&amp;#xCF00;&amp;#xC774;&amp;#xC158;&amp;#xC744; &amp;#xC2DC;&amp;#xC791;&amp;#xD588;&amp;#xC73C;&amp;#xB098;, &amp;#xB2E4;&amp;#xB978; &amp;#xACF3;&amp;#xC5D0;&amp;#xC11C; &amp;#xC774;&amp;#xBBF8; &amp;#xD574;&amp;#xB2F9; &amp;#xD3EC;&amp;#xD2B8;&amp;#xB97C; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD558;&amp;#xACE0; &amp;#xC788;&amp;#xC744; &amp;#xACBD;&amp;#xC6B0;&amp;#xC5D0; &amp;#xB300;&amp;#xD55C; &amp;#xC5D0;&amp;#xB7EC; &amp;#xB85C;&amp;#xADF8;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;txt&quot; class=&quot;language-txt&quot;&gt;***************************
APPLICATION FAILED TO START
***************************

Description:

Web server failed to start. Port 8080 was already in use.

Action:

Identify and stop the process that&amp;apos;s listening on port 8080 or configure this application to listen on another port.

Disconnected from the target VM, address: &amp;apos;127.0.0.1:51544&amp;apos;, transport: &amp;apos;socket&amp;apos;

Process finished with exit code 0
&lt;/pre&gt;&lt;p&gt;Spring Boot&amp;#xC5D0;&amp;#xC11C;&amp;#xB294; &amp;#xB2E4;&amp;#xC591;&amp;#xD55C; FailureAnalyzers &amp;#xAD6C;&amp;#xD604;&amp;#xCCB4;&amp;#xB97C; &amp;#xC81C;&amp;#xACF5;&amp;#xD558;&amp;#xACE0; &amp;#xC788;&amp;#xC73C;&amp;#xBA70;, &amp;#xC9C1;&amp;#xC811; &amp;#xCEE4;&amp;#xC2A4;&amp;#xD140;&amp;#xD55C; FailureAnalyzers &amp;#xAD6C;&amp;#xD604;&amp;#xCCB4;&amp;#xB97C; &amp;#xC774;&amp;#xC6A9;&amp;#xD560; &amp;#xC218; &amp;#xB3C4; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;. &lt;a href=&quot;https://docs.spring.io/spring-boot/how-to/application.html#howto.application.failure-analyzer&quot;&gt;&amp;#xCC38;&amp;#xACE0;&lt;/a&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;h2 class=&quot;mume-header&quot; id=&quot;div-ida022-%EC%A7%80%EC%97%B0-%EC%B4%88%EA%B8%B0%ED%99%94div&quot;&gt;&lt;div id=&quot;a02&quot;&gt;2. &amp;#xC9C0;&amp;#xC5F0; &amp;#xCD08;&amp;#xAE30;&amp;#xD654;&lt;/div&gt;&lt;/h2&gt;

&lt;p&gt;Spring Application&amp;#xC740; &amp;#xC9C0;&amp;#xC5F0; &amp;#xCD08;&amp;#xAE30;&amp;#xD654;(Lazy Initialization)&amp;#xB97C; &amp;#xD5C8;&amp;#xC6A9;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xC9C0;&amp;#xC5F0; &amp;#xCD08;&amp;#xAE30;&amp;#xD654;&amp;#xAC00; &amp;#xD65C;&amp;#xC131;&amp;#xD654; &amp;#xB418;&amp;#xC5B4;&amp;#xC788;&amp;#xC744; &amp;#xACBD;&amp;#xC6B0;, bean&amp;#xC740; &amp;#xC560;&amp;#xD50C;&amp;#xB9AC;&amp;#xCF00;&amp;#xC774;&amp;#xC158; &amp;#xC2DC;&amp;#xC791;&amp;#xC2DC;&amp;#xAC00; &amp;#xC544;&amp;#xB2CC;, &lt;strong&gt;&amp;#xD544;&amp;#xC694;&amp;#xC2DC;&amp;#xC5D0; &amp;#xC0DD;&amp;#xC131;&amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;/strong&gt;&lt;br&gt;
&amp;#xBE48; &amp;#xC0DD;&amp;#xC131;&amp;#xC774; &amp;#xC560;&amp;#xD50C;&amp;#xB9AC;&amp;#xCF00;&amp;#xC774;&amp;#xC158; &amp;#xC2E4;&amp;#xD589;&amp;#xC2DC;&amp;#xC5D0; &amp;#xC0DD;&amp;#xC131;&amp;#xB418;&amp;#xB294; &amp;#xAC83;&amp;#xC774; &amp;#xC544;&amp;#xB2C8;&amp;#xAE30; &amp;#xB584;&amp;#xBB38;&amp;#xC5D0;, &amp;#xC560;&amp;#xD50C;&amp;#xB9AC;&amp;#xCF00;&amp;#xC774;&amp;#xC158; &amp;#xC2DC;&amp;#xC791;&amp;#xC5D0; &amp;#xAC78;&amp;#xB9AC;&amp;#xB294; &amp;#xC2DC;&amp;#xAC04;&amp;#xC744; &amp;#xC904;&amp;#xC77C; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;ul&gt;
&lt;li&gt;&amp;#xC6F9; &amp;#xC560;&amp;#xD50C;&amp;#xB9AC;&amp;#xCF00;&amp;#xC774;&amp;#xC158;&amp;#xC5D0;&amp;#xC11C; &amp;#xC9C0;&amp;#xC5F0; &amp;#xCD08;&amp;#xAE30;&amp;#xD654;&amp;#xB97C; &amp;#xD65C;&amp;#xC131;&amp;#xD654;&amp;#xD560; &amp;#xACBD;&amp;#xC6B0;, http &amp;#xC694;&amp;#xCCAD;&amp;#xC744; &amp;#xBC1B;&amp;#xAE30; &amp;#xC804;&amp;#xAE4C;&amp;#xC9C0; &amp;#xC6F9; &amp;#xAD00;&amp;#xB828; bean&amp;#xC774; &amp;#xCD08;&amp;#xAE30;&amp;#xD654; &amp;#xB418;&amp;#xC9C0; &amp;#xC54A;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;p&gt;&amp;#xC9C0;&amp;#xC5F0; &amp;#xCD08;&amp;#xAE30;&amp;#xD654;&amp;#xB97C; &amp;#xD65C;&amp;#xC131;&amp;#xD654;&amp;#xC2DC;&amp;#xD0AC; &amp;#xACBD;&amp;#xC6B0;, &amp;#xBB38;&amp;#xC81C;&amp;#xAC00; &amp;#xC788;&amp;#xB294; &amp;#xBE48;&amp;#xC774; &amp;#xC0AC;&amp;#xC6A9;&amp;#xB418;&amp;#xB294; &amp;#xC2DC;&amp;#xC810;&amp;#xC5D0; &amp;#xCD08;&amp;#xAE30;&amp;#xD654; &amp;#xB418;&amp;#xAE30; &amp;#xB54C;&amp;#xBB38;&amp;#xC5D0; &amp;#xC560;&amp;#xD50C;&amp;#xB9AC;&amp;#xCF00;&amp;#xC774;&amp;#xC158;&amp;#xC758; &amp;#xBB38;&amp;#xC81C;&amp;#xC810; &amp;#xBC1C;&amp;#xACAC;&amp;#xC774; &amp;#xB2A6;&amp;#xC5B4;&amp;#xC9C8; &amp;#xC218; &amp;#xC788;&amp;#xB2E4;&amp;#xB294; &amp;#xB2E8;&amp;#xC810;&amp;#xC774; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xB610;, &amp;#xC2DC;&amp;#xC791;&amp;#xC2DC; &amp;#xCD08;&amp;#xAE30;&amp;#xD654;&amp;#xB418;&amp;#xB294; &amp;#xBE48; &amp;#xBFD0;&amp;#xC548;&amp;#xC544;&amp;#xB2C8;&amp;#xB77C; &amp;#xC774;&amp;#xD6C4;&amp;#xC5D0; &amp;#xCD08;&amp;#xAE30;&amp;#xD654;&amp;#xB420; &amp;#xBAA8;&amp;#xB4E0; &amp;#xBE48;&amp;#xB4E4;&amp;#xC744; &amp;#xC218;&amp;#xC6A9;&amp;#xD560;&amp;#xB9CC;&amp;#xD07C; JVM &amp;#xBA54;&amp;#xBAA8;&amp;#xB9AC;&amp;#xAC00; &amp;#xCDA9;&amp;#xBD84;&amp;#xD55C;&amp;#xC9C0; &amp;#xCCB4;&amp;#xD06C;&amp;#xD558;&amp;#xAE30;&amp;#xAC00; &amp;#xC5B4;&amp;#xB824;&amp;#xC6B4; &amp;#xC810;&amp;#xC774; &amp;#xC788;&amp;#xC5B4; &amp;#xAE30;&amp;#xBCF8;&amp;#xC801;&amp;#xC73C;&amp;#xB85C; &amp;#xC9C0;&amp;#xC5F0; &amp;#xCD08;&amp;#xAE30;&amp;#xD654;&amp;#xB97C; &amp;#xD65C;&amp;#xC131;&amp;#xD654; &amp;#xD558;&amp;#xC9C0; &amp;#xC54A;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xC9C0;&amp;#xC5F0; &amp;#xCD08;&amp;#xAE30;&amp;#xD654; &amp;#xAE30;&amp;#xB2A5;&amp;#xC744; &amp;#xD65C;&amp;#xC131;&amp;#xD654;&amp;#xD560;&amp;#xAC70;&amp;#xB77C;&amp;#xBA74; &amp;#xC0AC;&amp;#xC804;&amp;#xC5D0; JVM &amp;#xD799; &amp;#xD06C;&amp;#xAE30;&amp;#xB97C; &amp;#xBBF8;&amp;#xC138; &amp;#xC870;&amp;#xC815;&amp;#xD558;&amp;#xB294; &amp;#xAC83;&amp;#xC774; &amp;#xC88B;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xC9C0;&amp;#xC5F0; &amp;#xCD08;&amp;#xAE30;&amp;#xD654;&amp;#xB97C; &amp;#xD65C;&amp;#xC131;&amp;#xD654;&amp;#xD558;&amp;#xACE0; &amp;#xC2F6;&amp;#xB2E4;&amp;#xBA74; &lt;code&gt;spring.main.lazy-initialization&lt;/code&gt; &amp;#xAC12;&amp;#xC744; &lt;strong&gt;true&lt;/strong&gt; &amp;#xB85C; &amp;#xC124;&amp;#xC815;&amp;#xD558;&amp;#xBA74; &amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;. (&amp;#xAE30;&amp;#xBCF8;&amp;#xAC12;: false)&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;yml&quot; class=&quot;language-yaml&quot;&gt;&lt;span class=&quot;token key atrule&quot;&gt;spring&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
  &lt;span class=&quot;token key atrule&quot;&gt;main&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
    &lt;span class=&quot;token key atrule&quot;&gt;lazy-initialization&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token boolean important&quot;&gt;true&lt;/span&gt;
&lt;/pre&gt;&lt;p&gt;&amp;#xAE30;&amp;#xBCF8;&amp;#xC801;&amp;#xC73C;&amp;#xB85C; &amp;#xC9C0;&amp;#xC5F0;&amp;#xCD08;&amp;#xAE30;&amp;#xD654;&amp;#xB97C; &amp;#xD65C;&amp;#xC131;&amp;#xD654;&amp;#xD55C; &amp;#xC0C1;&amp;#xD0DC;&amp;#xC5D0;&amp;#xC11C;, &amp;#xD2B9;&amp;#xC815; &amp;#xBE48;&amp;#xC740; &amp;#xC9C0;&amp;#xC5F0;&amp;#xCD08;&amp;#xAE30;&amp;#xD654;&amp;#xB97C; &amp;#xBE44;&amp;#xD65C;&amp;#xC131;&amp;#xD654;&amp;#xD558;&amp;#xACE0; &amp;#xC2F6;&amp;#xB2E4;&amp;#xBA74;, &amp;#xD574;&amp;#xB2F9; &amp;#xBE48;&amp;#xC5D0; &lt;strong&gt;@Lazy(false)&lt;/strong&gt; &amp;#xC124;&amp;#xC815;&amp;#xC744; &amp;#xCD94;&amp;#xAC00;&amp;#xD574;&amp;#xC8FC;&amp;#xBA74; &amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 class=&quot;mume-header&quot; id=&quot;div-ida033-%EC%BB%A4%EC%8A%A4%ED%85%80-%EB%B0%B0%EB%84%88div&quot;&gt;&lt;div id=&quot;a03&quot;&gt;3. &amp;#xCEE4;&amp;#xC2A4;&amp;#xD140; &amp;#xBC30;&amp;#xB108;&lt;/div&gt;&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://blog.jiniworld.me/31&quot;&gt;[Spring Boot] Custom Banners&lt;/a&gt; &amp;#xCC38;&amp;#xACE0;&lt;/p&gt;
&lt;hr&gt;
&lt;h2 class=&quot;mume-header&quot; id=&quot;div-ida044-springapplication-%EC%BB%A4%EC%8A%A4%ED%85%80div&quot;&gt;&lt;div id=&quot;a04&quot;&gt;4. SpringApplication &amp;#xCEE4;&amp;#xC2A4;&amp;#xD140;&lt;/div&gt;&lt;/h2&gt;

&lt;p&gt;&amp;#xAE30;&amp;#xBCF8; SpringApplication&amp;#xC5D0;&amp;#xC11C; &amp;#xCEE4;&amp;#xC2A4;&amp;#xD140;&amp;#xC744; &amp;#xD558;&amp;#xACE0; &amp;#xC2F6;&amp;#xB2E4;&amp;#xBA74;, SpringApplication &amp;#xC778;&amp;#xC2A4;&amp;#xD134;&amp;#xC2A4;&amp;#xB97C; &amp;#xC9C1;&amp;#xC811; &amp;#xC0DD;&amp;#xC131;&amp;#xD558;&amp;#xC5EC; &amp;#xCEE4;&amp;#xC2A4;&amp;#xD140;&amp;#xD558;&amp;#xC5EC; &amp;#xC2E4;&amp;#xD589;&amp;#xC2DC;&amp;#xD0AC; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&lt;img width=&quot;900&quot; src=&quot;https://raw.githubusercontent.com/jiniya22/image_box/master/blog/Spring%20Docs/01-6.png&quot;&gt;&lt;br&gt;&lt;br&gt;&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;java&quot; class=&quot;language-java&quot;&gt;&lt;span class=&quot;token annotation punctuation&quot;&gt;@SpringBootApplication&lt;/span&gt;
&lt;span class=&quot;token keyword keyword-public&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;token keyword keyword-class&quot;&gt;class&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;SpringBootApp&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;

	&lt;span class=&quot;token keyword keyword-public&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;token keyword keyword-static&quot;&gt;static&lt;/span&gt; &lt;span class=&quot;token keyword keyword-void&quot;&gt;void&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;main&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;String&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; args&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
		&lt;span class=&quot;token class-name&quot;&gt;SpringApplication&lt;/span&gt; app &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token keyword keyword-new&quot;&gt;new&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;SpringApplication&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;SpringBootApp&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token keyword keyword-class&quot;&gt;class&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
		app&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;setBannerMode&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;Banner&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;Mode&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;OFF&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
		app&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;run&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;args&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
	&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;br&gt;
&lt;p&gt;SpringApplicationBuilder&amp;#xB97C; &amp;#xC774;&amp;#xC6A9;&amp;#xD558;&amp;#xC5EC; &amp;#xBE4C;&amp;#xB354; &amp;#xD328;&amp;#xD134;&amp;#xC73C;&amp;#xB85C; SpringApplication &amp;#xCEE4;&amp;#xC2A4;&amp;#xD140;&amp;#xC774; &amp;#xAC00;&amp;#xB2A5;&amp;#xD558;&amp;#xACE0;,&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;java&quot; class=&quot;language-java&quot;&gt;&lt;span class=&quot;token annotation punctuation&quot;&gt;@SpringBootApplication&lt;/span&gt;
&lt;span class=&quot;token keyword keyword-public&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;token keyword keyword-class&quot;&gt;class&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;SpringBootApp&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;

	&lt;span class=&quot;token keyword keyword-public&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;token keyword keyword-static&quot;&gt;static&lt;/span&gt; &lt;span class=&quot;token keyword keyword-void&quot;&gt;void&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;main&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;String&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; args&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
		&lt;span class=&quot;token keyword keyword-new&quot;&gt;new&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;SpringApplicationBuilder&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;sources&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;SpringBootApp&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token keyword keyword-class&quot;&gt;class&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
			&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;bannerMode&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;Banner&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;Mode&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;OFF&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
			&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;run&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;args&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
	&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;p&gt;&lt;code&gt;.child()&lt;/code&gt; &amp;#xBA54;&amp;#xC11C;&amp;#xB4DC;&amp;#xB85C; parent-child &amp;#xACC4;&amp;#xCE35; &amp;#xAD6C;&amp;#xC870; &amp;#xC124;&amp;#xC815;&amp;#xB3C4; &amp;#xAC00;&amp;#xB2A5;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 class=&quot;mume-header&quot; id=&quot;div-ida055-%EC%95%A0%ED%94%8C%EB%A6%AC%EC%BC%80%EC%9D%B4%EC%85%98-%EA%B0%80%EC%9A%A9%EC%84%B1div&quot;&gt;&lt;div id=&quot;a05&quot;&gt;5. &amp;#xC560;&amp;#xD50C;&amp;#xB9AC;&amp;#xCF00;&amp;#xC774;&amp;#xC158; &amp;#xAC00;&amp;#xC6A9;&amp;#xC131;&lt;/div&gt;&lt;/h2&gt;

&lt;p&gt;Spring &amp;#xC560;&amp;#xD50C;&amp;#xB9AC;&amp;#xCF00;&amp;#xC774;&amp;#xC158;&amp;#xC740; &amp;#xD50C;&amp;#xB7AB;&amp;#xD3FC;&amp;#xC5D0; &amp;#xBC30;&amp;#xD3EC;&amp;#xD560;&amp;#xB54C; &amp;#xC778;&amp;#xD504;&amp;#xB77C;&amp;#xB97C; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD55C; &amp;#xD50C;&amp;#xB7AB;&amp;#xD3FC; &amp;#xAC00;&amp;#xC6A9;&amp;#xC131;&amp;#xC5D0; &amp;#xB300;&amp;#xD55C; &amp;#xC815;&amp;#xBCF4;&amp;#xB97C; &amp;#xC54C;&amp;#xB824;&amp;#xC90D;&amp;#xB2C8;&amp;#xB2E4;. (&amp;#xCFE0;&amp;#xBC84;&amp;#xB124;&amp;#xD2F0;&amp;#xC2A4;&amp;#xC758; Probes&amp;#xC640; &amp;#xAC19;&amp;#xC740;)&lt;/p&gt;
&lt;p&gt;Spring Boot&amp;#xC5D0;&amp;#xB294; Liveness, readiness &amp;#xAC00;&amp;#xC6A9;&amp;#xC131; &amp;#xC0C1;&amp;#xD0DC;&amp;#xC5D0; &amp;#xB300;&amp;#xD55C; &amp;#xAE30;&amp;#xBCF8;&amp;#xC801;&amp;#xC778; &amp;#xC9C0;&amp;#xC6D0;&amp;#xC774; &amp;#xD3EC;&amp;#xD568;&amp;#xB418;&amp;#xC5B4;&amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xB9CC;&amp;#xC57D; Spring Boot&amp;#xC758; actuator&amp;#xB97C; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD558;&amp;#xB294; &amp;#xACBD;&amp;#xC6B0;, &amp;#xC774;&amp;#xB7EC;&amp;#xD55C; &amp;#xC0C1;&amp;#xD0DC;&amp;#xB294; health endpoint group&amp;#xC73C;&amp;#xB85C; &amp;#xB178;&amp;#xCD9C;&amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xB610;, ApplicationAvailability &amp;#xC778;&amp;#xD130;&amp;#xD398;&amp;#xC774;&amp;#xC2A4;&amp;#xB97C; &amp;#xD1B5;&amp;#xD574; &amp;#xB2F9;&amp;#xC2E0;&amp;#xC758; &amp;#xBE48;&amp;#xC5D0; &amp;#xC8FC;&amp;#xC785;&amp;#xD558;&amp;#xC5EC; &amp;#xAC00;&amp;#xC6A9;&amp;#xC131; &amp;#xC0C1;&amp;#xD0DC;&amp;#xB97C; &amp;#xC5BB;&amp;#xC744; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&lt;br&gt;&lt;/p&gt;
&lt;h3 class=&quot;mume-header&quot; id=&quot;51-liveness-status&quot;&gt;5.1. Liveness status&lt;/h3&gt;

&lt;p&gt;&amp;#xC560;&amp;#xD50C;&amp;#xB9AC;&amp;#xCF00;&amp;#xC774;&amp;#xC158;&amp;#xC758; Liveness(&amp;#xD65C;&amp;#xC131;) &amp;#xC0C1;&amp;#xD0DC;&amp;#xB294; &amp;#xB0B4;&amp;#xBD80;&amp;#xC0C1;&amp;#xD0DC;&amp;#xAC00; &amp;#xC62C;&amp;#xBC14;&amp;#xB974;&amp;#xAC8C; &amp;#xC791;&amp;#xB3D9;&amp;#xB420; &amp;#xC218; &amp;#xC788;&amp;#xAC70;&amp;#xB098; &amp;#xC2E4;&amp;#xD328;&amp;#xC911;&amp;#xC778; &amp;#xC0C1;&amp;#xD0DC;&amp;#xC5D0;&amp;#xC11C; &amp;#xC2A4;&amp;#xC2A4;&amp;#xB85C; &amp;#xBCF5;&amp;#xAD6C;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xB294;&amp;#xC9C0;&amp;#xC5D0; &amp;#xB300;&amp;#xD574; &amp;#xC54C;&amp;#xB824;&amp;#xC90D;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;Liveness &amp;#xC0C1;&amp;#xD0DC;&amp;#xAC00; &amp;#xBB38;&amp;#xC81C;&amp;#xAC00; &amp;#xC788;&amp;#xB2E4;&amp;#xBA74;, &amp;#xC560;&amp;#xD50C;&amp;#xB9AC;&amp;#xCF00;&amp;#xC774;&amp;#xC158;&amp;#xC774; &amp;#xBCF5;&amp;#xAD6C;&amp;#xD560; &amp;#xC218; &amp;#xC5C6;&amp;#xB294; &amp;#xC0C1;&amp;#xD0DC;&amp;#xC5D0; &amp;#xC788;&amp;#xB2E4;&amp;#xB294; &amp;#xB73B;&amp;#xC73C;&amp;#xB85C;, &amp;#xC778;&amp;#xD504;&amp;#xB77C;&amp;#xAC00; &amp;#xC560;&amp;#xD50C;&amp;#xB9AC;&amp;#xCF00;&amp;#xC774;&amp;#xC158;&amp;#xC744; &amp;#xC0C8;&amp;#xB85C; &amp;#xC2DC;&amp;#xC791;&amp;#xD574;&amp;#xC57C; &amp;#xD55C;&amp;#xB2E4;&amp;#xB294; &amp;#xC758;&amp;#xBBF8;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;div class=&quot;admonition info&quot;&gt;
&lt;p class=&quot;admonition-title&quot;&gt;memo&lt;/p&gt;
&lt;p&gt;&amp;#xC77C;&amp;#xBC18;&amp;#xC801;&amp;#xC73C;&amp;#xB85C;, &lt;strong&gt;Liveness&lt;/strong&gt; &amp;#xC0C1;&amp;#xD0DC;&amp;#xB97C; &amp;#xC678;&amp;#xBD80; &amp;#xAC80;&amp;#xC0AC; &amp;#xAE30;&amp;#xBC18;&amp;#xC73C;&amp;#xB85C; &amp;#xD558;&amp;#xB294; &amp;#xAC83;&amp;#xC744; &amp;#xAD8C;&amp;#xC7A5;&amp;#xD558;&amp;#xC9C0; &amp;#xC54A;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xB9CC;&amp;#xC77C;, &amp;#xC678;&amp;#xBD80; &amp;#xAC80;&amp;#xC0AC; &amp;#xAE30;&amp;#xBC18;&amp;#xC73C;&amp;#xB85C; &amp;#xC124;&amp;#xC815;&amp;#xD55C;&amp;#xB2E4;&amp;#xBA74;, &amp;#xC678;&amp;#xBD80; &amp;#xC2DC;&amp;#xC2A4;&amp;#xD15C;(DB, &amp;#xC678;&amp;#xBD80; web api, &amp;#xC678;&amp;#xC7A5; &amp;#xCE90;&amp;#xC2DC;)&amp;#xC758; &amp;#xC2E4;&amp;#xD328;&amp;#xB85C; &amp;#xC778;&amp;#xD574; &amp;#xB300;&amp;#xADDC;&amp;#xBAA8; &amp;#xC7AC;&amp;#xC2DC;&amp;#xC791;&amp;#xC774;&amp;#xB098; &amp;#xD50C;&amp;#xB7AB;&amp;#xD3FC; &amp;#xC804;&amp;#xBC18;&amp;#xC5D0; &amp;#xAC78;&amp;#xCE5C; &amp;#xC5F0;&amp;#xC1C4; &amp;#xC2E4;&amp;#xD328;&amp;#xB97C; &amp;#xC720;&amp;#xBC1C;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Spring Boot&amp;#xC758; &amp;#xB0B4;&amp;#xBD80;&amp;#xC0C1;&amp;#xD0DC;&amp;#xB294; &amp;#xB300;&amp;#xBD80;&amp;#xBD84; &lt;strong&gt;ApplicationContext&lt;/strong&gt; &amp;#xB85C; &amp;#xD45C;&amp;#xD604;&amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xB9CC;&amp;#xC57D; &amp;#xC560;&amp;#xD50C;&amp;#xB9AC;&amp;#xCF00;&amp;#xC774;&amp;#xC158; &amp;#xCEE8;&amp;#xD14D;&amp;#xC2A4;&amp;#xD2B8;&amp;#xAC00; &amp;#xC131;&amp;#xACF5;&amp;#xC801;&amp;#xC73C;&amp;#xB85C; &amp;#xC2DC;&amp;#xC791;&amp;#xB41C;&amp;#xB2E4;&amp;#xBA74;, Spring Boot&amp;#xB294; &amp;#xC560;&amp;#xD50C;&amp;#xB9AC;&amp;#xCF00;&amp;#xC774;&amp;#xC158;&amp;#xC744; &amp;#xC720;&amp;#xD6A8;&amp;#xD55C; &amp;#xC0C1;&amp;#xD0DC;&amp;#xB85C; &amp;#xAC00;&amp;#xC815;&amp;#xD558;&amp;#xACE0;, &amp;#xCEE8;&amp;#xD14D;&amp;#xC2A4;&amp;#xD2B8;&amp;#xAC00; &amp;#xC0C8;&amp;#xB85C; &amp;#xACE0;&amp;#xCCD0;&amp;#xC9C8; &amp;#xB54C; &amp;#xC560;&amp;#xD50C;&amp;#xB9AC;&amp;#xCF00;&amp;#xC774;&amp;#xC158;&amp;#xC740; &amp;#xD65C;&amp;#xC131; &amp;#xC0C1;&amp;#xD0DC;&amp;#xB85C; &amp;#xAC04;&amp;#xC8FC;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;br&gt;
&lt;h3 class=&quot;mume-header&quot; id=&quot;52-readiness-status&quot;&gt;5.2. Readiness status&lt;/h3&gt;

&lt;p&gt;&amp;#xC560;&amp;#xD50C;&amp;#xB9AC;&amp;#xCF00;&amp;#xC774;&amp;#xC158;&amp;#xC758; Readiness(&amp;#xC900;&amp;#xBE44;) &amp;#xC0C1;&amp;#xD0DC;&amp;#xB294; &amp;#xC560;&amp;#xD50C;&amp;#xB9AC;&amp;#xCF00;&amp;#xC774;&amp;#xC158;&amp;#xC774; &amp;#xD2B8;&amp;#xB798;&amp;#xD53D;&amp;#xC744; &amp;#xCC98;&amp;#xB9AC;&amp;#xD560; &amp;#xC900;&amp;#xBE44;&amp;#xAC00; &amp;#xB418;&amp;#xC5C8;&amp;#xB294;&amp;#xC9C0; &amp;#xC5EC;&amp;#xBD80;&amp;#xB97C; &amp;#xC54C;&amp;#xB824;&amp;#xC90D;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xC2E4;&amp;#xD328;&amp;#xD55C; readiness status&amp;#xB294; &amp;#xD50C;&amp;#xB7AB;&amp;#xD3FC;&amp;#xC5D0;&amp;#xAC8C; &amp;#xD604;&amp;#xC7AC; &amp;#xC560;&amp;#xD50C;&amp;#xB9AC;&amp;#xCF00;&amp;#xC774;&amp;#xC158;&amp;#xC73C;&amp;#xB85C; &amp;#xD2B8;&amp;#xB798;&amp;#xD53D;&amp;#xC744; &amp;#xB77C;&amp;#xC6B0;&amp;#xD305;&amp;#xD574;&amp;#xC11C;&amp;#xB294; &amp;#xC548;&amp;#xB41C;&amp;#xB2E4;&amp;#xB294; &amp;#xAC83;&amp;#xC744; &amp;#xC54C;&amp;#xB824;&amp;#xC90D;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xC774;&amp;#xAC83;&amp;#xC744; &amp;#xC77C;&amp;#xBC18;&amp;#xC801;&amp;#xC73C;&amp;#xB85C; &amp;#xC2DC;&amp;#xC791; &amp;#xC911;&amp;#xC5D0; &amp;#xBC1C;&amp;#xC0DD;&amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&lt;code&gt;CommandLineRunner&lt;/code&gt; &amp;#xBC0F; &lt;code&gt;ApplicationRunner&lt;/code&gt; &amp;#xCEF4;&amp;#xD3EC;&amp;#xB10C;&amp;#xD2B8;&amp;#xAC00; &amp;#xCC98;&amp;#xB9AC;&amp;#xB418;&amp;#xB294; &amp;#xB3D9;&amp;#xC548; &amp;#xB610;&amp;#xB294; &amp;#xC560;&amp;#xD50C;&amp;#xB9AC;&amp;#xCF00;&amp;#xC774;&amp;#xC158;&amp;#xC774; &amp;#xB108;&amp;#xBB34; &amp;#xBC14;&amp;#xBE60;&amp;#xC11C; &amp;#xCD94;&amp;#xAC00; &amp;#xD2B8;&amp;#xB798;&amp;#xD53D;&amp;#xC744; &amp;#xCC98;&amp;#xB9AC;&amp;#xD560; &amp;#xC218; &amp;#xC5C6;&amp;#xB2E4;&amp;#xACE0; &amp;#xD310;&amp;#xB2E8;&amp;#xB418;&amp;#xB294; &amp;#xACBD;&amp;#xC6B0;&amp;#xC5D0; &amp;#xC5B8;&amp;#xC81C;&amp;#xB4E0;&amp;#xC9C0; &amp;#xBC1C;&amp;#xC0DD;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xC560;&amp;#xD50C;&amp;#xB9AC;&amp;#xCF00;&amp;#xC774;&amp;#xC158;&amp;#xC740; CommandLineRunner&amp;#xAC00; &amp;#xC2E4;&amp;#xD589;&amp;#xB418;&amp;#xC790;&amp;#xB9C8;&amp;#xC790; &amp;#xC900;&amp;#xBE44;&amp;#xB41C; &amp;#xAC83;&amp;#xC73C;&amp;#xB85C; &amp;#xAC04;&amp;#xC8FC;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;div class=&quot;admonition info&quot;&gt;
&lt;p class=&quot;admonition-title&quot;&gt;note&lt;/p&gt;
&lt;p&gt;&amp;#xC2DC;&amp;#xC791;&amp;#xC911;&amp;#xC5D0; &amp;#xC2E4;&amp;#xD589;&amp;#xB418;&amp;#xC5B4;&amp;#xC57C;&amp;#xD558;&amp;#xB294; &amp;#xC791;&amp;#xC5C5;&amp;#xB4E4;&amp;#xC740; @PostContruct &amp;#xC640;&amp;#xAC19;&amp;#xC740; Spring component lifecycle callback &amp;#xB300;&amp;#xC2E0; &lt;code&gt;CommandLineRunner &amp;#xBC0F; ApplicationRunner &amp;#xCEF4;&amp;#xD3EC;&amp;#xB10C;&amp;#xD2B8;&amp;#xC5D0;&amp;#xC11C; &amp;#xC2E4;&amp;#xD589;&amp;#xD574;&amp;#xC57C; &amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/code&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;br&gt;
&lt;h3 class=&quot;mume-header&quot; id=&quot;53-%EC%95%A0%ED%94%8C%EB%A6%AC%EC%BC%80%EC%9D%B4%EC%85%98-%EA%B0%80%EC%9A%A9%EC%84%B1-%EC%83%81%ED%83%9C-%EA%B4%80%EB%A6%AC&quot;&gt;5.3. &amp;#xC560;&amp;#xD50C;&amp;#xB9AC;&amp;#xCF00;&amp;#xC774;&amp;#xC158; &amp;#xAC00;&amp;#xC6A9;&amp;#xC131; &amp;#xC0C1;&amp;#xD0DC; &amp;#xAD00; &amp;#xB9AC;&lt;/h3&gt;

&lt;p&gt;&amp;#xC560;&amp;#xD50C;&amp;#xB9AC;&amp;#xCF00;&amp;#xC774;&amp;#xC158; &amp;#xAD6C;&amp;#xC131; &amp;#xC694;&amp;#xC18C;&amp;#xB294; &amp;#xC5B8;&amp;#xC81C;&amp;#xB4E0;&amp;#xC9C0; ApplicationAvailability &amp;#xC778;&amp;#xD130;&amp;#xD398;&amp;#xC774;&amp;#xC2A4;&amp;#xB97C; &amp;#xD1B5;&amp;#xD574; &amp;#xD604;&amp;#xC7AC; &amp;#xAC00;&amp;#xC6A9;&amp;#xC131; &amp;#xC0C1;&amp;#xD0DC;&amp;#xB97C; &amp;#xAC80;&amp;#xC0C9;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xC560;&amp;#xD50C;&amp;#xB9AC;&amp;#xCF00;&amp;#xC774;&amp;#xC158;&amp;#xC740; &amp;#xC0C1;&amp;#xD0DC; &amp;#xC5C5;&amp;#xB370;&amp;#xC774;&amp;#xD2B8;&amp;#xB97C; &amp;#xC218;&amp;#xC2E0;&amp;#xD558;&amp;#xAC70;&amp;#xB098; &amp;#xC560;&amp;#xD50C;&amp;#xB9AC;&amp;#xCF00;&amp;#xC774;&amp;#xC158; &amp;#xC0C1;&amp;#xD0DC;&amp;#xB97C; &amp;#xC5C5;&amp;#xB370;&amp;#xC774;&amp;#xD2B8;&amp;#xD558;&amp;#xACE0;&amp;#xC790;&amp;#xD560; &amp;#xB54C;&amp;#xAC00; &amp;#xB9CE;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xCFE0;&amp;#xBC84;&amp;#xB124;&amp;#xD2F0;&amp;#xC2A4;&amp;#xC758; &lt;code&gt;exec Probe&lt;/code&gt;&amp;#xAC00; &amp;#xC544;&amp;#xB798;&amp;#xC758; &amp;#xD30C;&amp;#xC77C;&amp;#xC744; &amp;#xBCFC; &amp;#xC218; &amp;#xC788;&amp;#xB3C4;&amp;#xB85D; &amp;#xC560;&amp;#xD50C;&amp;#xB9AC;&amp;#xCF00;&amp;#xC774;&amp;#xC158;&amp;#xC758; Readiness &amp;#xC0C1;&amp;#xD0DC;&amp;#xB97C; &amp;#xB0B4;&amp;#xBCF4;&amp;#xB0BC; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 class=&quot;mume-header&quot; id=&quot;div-ida066-%EC%9B%B9-%ED%99%98%EA%B2%BDdiv&quot;&gt;&lt;div id=&quot;a06&quot;&gt;6. &amp;#xC6F9; &amp;#xD658;&amp;#xACBD;&lt;/div&gt;&lt;/h2&gt;

&lt;p&gt;&lt;em&gt;SpringApplication&lt;/em&gt; &amp;#xC740; &amp;#xC54C;&amp;#xB9DE;&amp;#xB294; &lt;em&gt;ApplicationContext&lt;/em&gt; &amp;#xD0C0;&amp;#xC785;&amp;#xC744; &amp;#xC0DD;&amp;#xC131;&amp;#xD558;&amp;#xB824;&amp;#xACE0; &amp;#xC2DC;&amp;#xB3C4;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&amp;#xB9CC;&amp;#xC77C; Spring MVC &amp;#xB97C; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD558;&amp;#xB294; &amp;#xACBD;&amp;#xC6B0;&amp;#xC5D0;&amp;#xB294; &lt;em&gt;AnnotationConfigServletWebServerApplicationContext&lt;/em&gt; &amp;#xAC00; &amp;#xC0AC;&amp;#xC6A9;&amp;#xB418;&amp;#xACE0;&lt;/li&gt;
&lt;li&gt;Spring MVC &amp;#xB294; &amp;#xC5C6;&amp;#xACE0; &lt;em&gt;Spring WebFlux&lt;/em&gt; &amp;#xAC00; &amp;#xC788;&amp;#xB2E4;&amp;#xBA74; &lt;em&gt;AnnotationConfigReactiveWebServerApplicationContext&lt;/em&gt; &amp;#xAC00; &amp;#xC0AC;&amp;#xC6A9;&amp;#xB429;&amp;#xBA70;&lt;/li&gt;
&lt;li&gt;&amp;#xADF8; &amp;#xC678;&amp;#xC758; &amp;#xACBD;&amp;#xC6B0;&amp;#xC5D0;&amp;#xB294; &lt;em&gt;AnnotationConfigApplicationContext&lt;/em&gt; &amp;#xAC00; &amp;#xC0AC;&amp;#xC6A9;&amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;#xC989;, &lt;em&gt;Spring MCP&lt;/em&gt; &amp;#xC640; Spring WebFlux&amp;#xC758; &lt;em&gt;WebClient&lt;/em&gt; &amp;#xB97C; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD558;&amp;#xACE0; &amp;#xC788;&amp;#xB2E4;&amp;#xBA74;, &amp;#xAE30;&amp;#xBCF8;&amp;#xC801;&amp;#xC73C;&amp;#xB85C; Spring MVC&amp;#xAC00; &amp;#xC0AC;&amp;#xC6A9;&amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xB9CC;&amp;#xC77C;, &amp;#xC560;&amp;#xD50C;&amp;#xB9AC;&amp;#xCF00;&amp;#xC774;&amp;#xC158; &amp;#xD0C0;&amp;#xC785;&amp;#xC744; &amp;#xBCC0;&amp;#xACBD;&amp;#xD558;&amp;#xACE0; &amp;#xC2F6;&amp;#xB2E4;&amp;#xBA74; &lt;code&gt;setWebApplicationType(&amp;#xC6F9;&amp;#xC560;&amp;#xD50C;&amp;#xB9AC;&amp;#xCF00;&amp;#xC774;&amp;#xC158;&amp;#xD0C0;&amp;#xC785;)&lt;/code&gt; &amp;#xC73C;&amp;#xB85C; override &amp;#xD558;&amp;#xBA74; &amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;#xB610;&amp;#xB294; &lt;code&gt;setApplicationContextFactory()&lt;/code&gt; &amp;#xB85C;&amp;#xB3C4; &amp;#xC124;&amp;#xC815; &amp;#xAC00;&amp;#xB2A5;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;div class=&quot;admonition tip&quot;&gt;
&lt;p class=&quot;admonition-title&quot;&gt;tip&lt;/p&gt;
&lt;p&gt;JUnit &amp;#xD14C;&amp;#xC2A4;&amp;#xD2B8; &amp;#xB0B4;&amp;#xC5D0;&amp;#xC11C; &lt;em&gt;SpringApplication&lt;/em&gt; &amp;#xC744; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD558;&amp;#xB294; &amp;#xACBD;&amp;#xC6B0;&amp;#xC5D0;&amp;#xB294;, &lt;code&gt;setWebApplicationType(WebApplicationType.NONE)&lt;/code&gt; &amp;#xC744; &amp;#xD638;&amp;#xCD9C;&amp;#xD558;&amp;#xB294; &amp;#xAC83;&amp;#xC744; &amp;#xAD8C;&amp;#xC7A5;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;/div&gt;
&lt;hr&gt;
&lt;h2 class=&quot;mume-header&quot; id=&quot;div-ida077-application-arguments-%EC%A0%91%EA%B7%BCdiv&quot;&gt;&lt;div id=&quot;a07&quot;&gt;7. application arguments &amp;#xC811;&amp;#xADFC;&lt;/div&gt;&lt;/h2&gt;

&lt;p&gt;&amp;#xB9CC;&amp;#xC57D; _SpringApplication.run(...)` &amp;#xC73C;&amp;#xB85C; &amp;#xC804;&amp;#xB2EC;&amp;#xB41C; application arguments &amp;#xC5D0; &amp;#xC811;&amp;#xADFC;&amp;#xD574;&amp;#xC57C;&amp;#xD55C;&amp;#xB2E4;&amp;#xBA74;, &lt;strong&gt;org.springframework.boot.ApplicationArguments&lt;/strong&gt; &amp;#xBE48;&amp;#xC744; &amp;#xD1B5;&amp;#xD574; &amp;#xD574;&amp;#xB2F9; &amp;#xAC12;&amp;#xC744; &amp;#xC8FC;&amp;#xC785;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;java&quot; class=&quot;language-java&quot;&gt;&lt;span class=&quot;token annotation punctuation&quot;&gt;@RequiredArgsConstructor&lt;/span&gt;
&lt;span class=&quot;token annotation punctuation&quot;&gt;@RequestMapping&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;/spring-application&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token annotation punctuation&quot;&gt;@RestController&lt;/span&gt;
&lt;span class=&quot;token keyword keyword-class&quot;&gt;class&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;SpringApplicationController&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;

    &lt;span class=&quot;token keyword keyword-private&quot;&gt;private&lt;/span&gt; &lt;span class=&quot;token keyword keyword-final&quot;&gt;final&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;ApplicationArguments&lt;/span&gt; applicationArguments&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

    &lt;span class=&quot;token annotation punctuation&quot;&gt;@GetMapping&lt;/span&gt;
    &lt;span class=&quot;token keyword keyword-public&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;Data&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;applicationArguments&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
        &lt;span class=&quot;token class-name&quot;&gt;Map&lt;/span&gt;&lt;span class=&quot;token generics&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;String&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;Object&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt; options &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token keyword keyword-new&quot;&gt;new&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;HashMap&lt;/span&gt;&lt;span class=&quot;token generics&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
        applicationArguments&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;getOptionNames&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;forEach&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;optionName &lt;span class=&quot;token operator&quot;&gt;-&amp;gt;&lt;/span&gt; options&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;put&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;optionName&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; applicationArguments&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;getOptionValues&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;optionName&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

        &lt;span class=&quot;token keyword keyword-return&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;token keyword keyword-new&quot;&gt;new&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;Data&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;List&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;of&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;applicationArguments&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;getSourceArgs&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; options&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; applicationArguments&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;getNonOptionArgs&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

    &lt;span class=&quot;token keyword keyword-record&quot;&gt;record&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;Data&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;List&lt;/span&gt;&lt;span class=&quot;token generics&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;String&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt; sourceArgs&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;Map&lt;/span&gt;&lt;span class=&quot;token generics&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;String&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;Object&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt; options&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;List&lt;/span&gt;&lt;span class=&quot;token generics&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;String&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt; nonOptionArgs&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;br&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;java -jar spring-boot/build/libs/spring-boot-0.0.1.jar --debug --tag&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;test &lt;span class=&quot;token builtin class-name&quot;&gt;local&lt;/span&gt;
&lt;/pre&gt;&lt;p&gt;&lt;img width=&quot;700&quot; src=&quot;https://raw.githubusercontent.com/jiniya22/image_box/master/blog/Spring%20Docs/01-10.png&quot;&gt;&lt;br&gt;&lt;br&gt;&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;json&quot; class=&quot;language-json&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;token property&quot;&gt;&amp;quot;sourceArgs&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;
    &lt;span class=&quot;token string&quot;&gt;&amp;quot;--debug&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
    &lt;span class=&quot;token string&quot;&gt;&amp;quot;--name=jini&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
    &lt;span class=&quot;token string&quot;&gt;&amp;quot;local&amp;quot;&lt;/span&gt;
  &lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
  &lt;span class=&quot;token property&quot;&gt;&amp;quot;options&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;token property&quot;&gt;&amp;quot;debug&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
    &lt;span class=&quot;token property&quot;&gt;&amp;quot;name&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;
      &lt;span class=&quot;token string&quot;&gt;&amp;quot;jini&amp;quot;&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;
  &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
  &lt;span class=&quot;token property&quot;&gt;&amp;quot;nonOptionArgs&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;
    &lt;span class=&quot;token string&quot;&gt;&amp;quot;local&amp;quot;&lt;/span&gt;
  &lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;hr&gt;
&lt;h2 class=&quot;mume-header&quot; id=&quot;div-ida088-application-%EB%98%90%EB%8A%94-commandlinerunner-%EC%82%AC%EC%9A%A9div&quot;&gt;&lt;div id=&quot;a08&quot;&gt;8. Application &amp;#xB610;&amp;#xB294; CommandLineRunner &amp;#xC0AC;&amp;#xC6A9;&lt;/div&gt;&lt;/h2&gt;

&lt;p&gt;&lt;em&gt;SpringApplication&lt;/em&gt; &amp;#xC774; &amp;#xC2DC;&amp;#xC791;&amp;#xB41C; &amp;#xC774;&amp;#xD6C4; &amp;#xD2B9;&amp;#xC815; &amp;#xCF54;&amp;#xB4DC;&amp;#xB97C; &amp;#xC2E4;&amp;#xD589;&amp;#xD558;&amp;#xACE0; &amp;#xC2F6;&amp;#xB2E4;&amp;#xBA74;, &lt;strong&gt;ApplicationRunner&lt;/strong&gt; &amp;#xB610;&amp;#xB294; &lt;strong&gt;CommandLineRunner&lt;/strong&gt; &amp;#xC778;&amp;#xD130;&amp;#xD398;&amp;#xC774;&amp;#xC2A4;&amp;#xB97C; &amp;#xAD6C;&amp;#xD604;&amp;#xD574;&amp;#xC57C;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xB450; &amp;#xC778;&amp;#xD130;&amp;#xD398;&amp;#xC774;&amp;#xC2A4; &amp;#xBAA8;&amp;#xB450; &amp;#xB3D9;&amp;#xC77C;&amp;#xD55C; &amp;#xBC29;&amp;#xC2DD;&amp;#xC73C;&amp;#xB85C; &amp;#xB3D9;&amp;#xC791;&amp;#xB418;&amp;#xBA70;, &amp;#xD558;&amp;#xB098;&amp;#xC758; &lt;em&gt;run&lt;/em&gt; &amp;#xBA54;&amp;#xC11C;&amp;#xB354;&amp;#xB4DC;&amp;#xB97C; &amp;#xC81C;&amp;#xACF5;&amp;#xD558;&amp;#xACE0; &amp;#xC788;&amp;#xC73C;&amp;#xBA70;, &amp;#xC774;&amp;#xB294; &lt;em&gt;SpringApplication.run()&lt;/em&gt; &amp;#xC774; &amp;#xC644;&amp;#xB8CC;&amp;#xB418;&amp;#xAE30; &amp;#xC9C1;&amp;#xC804;&amp;#xC5D0; &amp;#xD638;&amp;#xCD9C;&amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xC774;&amp;#xB7EC;&amp;#xD55C; &amp;#xC791;&amp;#xC5C5;&amp;#xC740; &amp;#xBCF4;&amp;#xD1B5; &amp;#xC560;&amp;#xD50C;&amp;#xB9AC;&amp;#xCF00;&amp;#xC774;&amp;#xC158;&amp;#xC774; &amp;#xC2DC;&amp;#xC791;&amp;#xB41C; &amp;#xD6C4; &amp;#xC2E4;&amp;#xC9C8;&amp;#xC801;&amp;#xC778; &amp;#xD2B8;&amp;#xB798;&amp;#xD53D;&amp;#xC744; &amp;#xBC1B;&amp;#xAE30; &amp;#xC804;&amp;#xC5D0; &amp;#xC2E4;&amp;#xD589;&amp;#xB418;&amp;#xC5B4;&amp;#xC57C;&amp;#xD558;&amp;#xB294; &amp;#xC791;&amp;#xC5C5;&amp;#xC5D0; &amp;#xC801;&amp;#xD569;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;java&quot; class=&quot;language-java&quot;&gt;&lt;span class=&quot;token annotation punctuation&quot;&gt;@Slf4j&lt;/span&gt;
&lt;span class=&quot;token annotation punctuation&quot;&gt;@SpringBootApplication&lt;/span&gt;
&lt;span class=&quot;token keyword keyword-public&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;token keyword keyword-class&quot;&gt;class&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;SpringBootApp&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;

	&lt;span class=&quot;token keyword keyword-public&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;token keyword keyword-static&quot;&gt;static&lt;/span&gt; &lt;span class=&quot;token keyword keyword-void&quot;&gt;void&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;main&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;String&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; args&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
		&lt;span class=&quot;token class-name&quot;&gt;SpringApplication&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;run&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;SpringBootApp&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token keyword keyword-class&quot;&gt;class&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; args&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
	&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

	&lt;span class=&quot;token annotation punctuation&quot;&gt;@Bean&lt;/span&gt;
	&lt;span class=&quot;token class-name&quot;&gt;CommandLineRunner&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;commandLineRunner&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
		&lt;span class=&quot;token keyword keyword-return&quot;&gt;return&lt;/span&gt; args &lt;span class=&quot;token operator&quot;&gt;-&amp;gt;&lt;/span&gt; log&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;info&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;commandLineRunner - args : {}&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;Arrays&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;toString&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;args&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
	&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;br&gt;
&lt;p&gt;&amp;#xC6F9;&amp;#xC11C;&amp;#xBC84;&amp;#xAC00; &amp;#xC2E4;&amp;#xD589; &amp;#xB41C;&amp;#xD6C4;, &amp;#xC704;&amp;#xC758; commandLineRunner() &amp;#xBE48; &amp;#xC2E4;&amp;#xD589;&amp;#xC5D0; &amp;#xC758;&amp;#xD574; &amp;#xB85C;&amp;#xADF8;&amp;#xC5D0; &lt;code&gt;commandLineRunner - args : [--debug, --tag=test, local]&lt;/code&gt; &amp;#xAC00; &amp;#xCC0D;&amp;#xD614;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;txt{.line-numbers, highlight=6}&quot; class=&quot;language-txt line-numbers&quot; data-line=&quot;6&quot;&gt;2024-10-07T13:44:09.486+09:00  INFO 82127 --- [spring-boot] [  restartedMain] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat started on port 8080 (http) with context path &amp;apos;/&amp;apos;
2024-10-07T13:44:09.488+09:00 DEBUG 82127 --- [spring-boot] [  restartedMain] inMXBeanRegistrar$SpringApplicationAdmin : Application Admin MBean registered with name &amp;apos;org.springframework.boot:type=Admin,name=SpringApplication&amp;apos;
2024-10-07T13:44:09.489+09:00 DEBUG 82127 --- [spring-boot] [  restartedMain] o.s.b.d.livereload.LiveReloadServer      : Starting live reload server on port 35729
2024-10-07T13:44:09.490+09:00  INFO 82127 --- [spring-boot] [  restartedMain] o.s.b.d.a.OptionalLiveReloadServer       : LiveReload server is running on port 35729
2024-10-07T13:44:09.551+09:00 DEBUG 82127 --- [spring-boot] [  restartedMain] o.s.b.a.ApplicationAvailabilityBean      : Application availability state LivenessState changed to CORRECT
2024-10-07T13:44:09.552+09:00  INFO 82127 --- [spring-boot] [  restartedMain] me.jiniworld.springboot.SpringBootApp    : commandLineRunner - args : [--debug, --tag=test, local]
2024-10-07T13:44:09.553+09:00 DEBUG 82127 --- [spring-boot] [  restartedMain] o.s.boot.devtools.restart.Restarter      : Creating new Restarter for thread Thread[#1,main,5,main]
2024-10-07T13:44:09.553+09:00 DEBUG 82127 --- [spring-boot] [  restartedMain] o.s.boot.devtools.restart.Restarter      : Immediately restarting application
2024-10-07T13:44:09.553+09:00 DEBUG 82127 --- [spring-boot] [  restartedMain] o.s.boot.devtools.restart.Restarter      : Starting application me.jiniworld.springboot.SpringBootApp with URLs []
2024-10-07T13:44:09.553+09:00 DEBUG 82127 --- [spring-boot] [  restartedMain] o.s.b.a.ApplicationAvailabilityBean      : Application availability state ReadinessState changed to ACCEPTING_TRAFFIC
&lt;span aria-hidden=&quot;true&quot; class=&quot;line-numbers-rows&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class=&quot;line-highlight-wrapper&quot;&gt;




&lt;div aria-hidden=&quot;true&quot; class=&quot;line-highlight&quot; data-range=&quot;6&quot; data-start=&quot;6&quot;&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/pre&gt;&lt;br&gt;
&lt;p&gt;&lt;strong&gt;8.1. CommandLineRunner &amp;#xBE48;&amp;#xC758; &amp;#xC2E4;&amp;#xD589; &amp;#xC21C;&amp;#xC11C; &amp;#xC124;&amp;#xC815;&amp;#xD558;&amp;#xAE30;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;ApplicationRunner, CommandLinerRunner &amp;#xBE48;&amp;#xC744; &amp;#xC5EC;&amp;#xB7EC;&amp;#xAC1C; &amp;#xC815;&amp;#xC758;&amp;#xD558;&amp;#xACE0;, Ordered &amp;#xC778;&amp;#xD130;&amp;#xD398;&amp;#xC774;&amp;#xC2A4;&amp;#xC758; &amp;#xAD6C;&amp;#xD604;&amp;#xC774;&amp;#xB098; @Order &amp;#xC560;&amp;#xB108;&amp;#xD14C;&amp;#xC774;&amp;#xC158;&amp;#xC744; &amp;#xC774;&amp;#xC6A9;&amp;#xD558;&amp;#xC5EC; &amp;#xC2E4;&amp;#xD589; &amp;#xC21C;&amp;#xC11C;&amp;#xB97C; &amp;#xC124;&amp;#xC815;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;java&quot; class=&quot;language-java&quot;&gt;&lt;span class=&quot;token annotation punctuation&quot;&gt;@Slf4j&lt;/span&gt;
&lt;span class=&quot;token annotation punctuation&quot;&gt;@SpringBootApplication&lt;/span&gt;
&lt;span class=&quot;token keyword keyword-public&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;token keyword keyword-class&quot;&gt;class&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;SpringBootApp&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;

	&lt;span class=&quot;token keyword keyword-public&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;token keyword keyword-static&quot;&gt;static&lt;/span&gt; &lt;span class=&quot;token keyword keyword-void&quot;&gt;void&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;main&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;String&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; args&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
		&lt;span class=&quot;token class-name&quot;&gt;SpringApplication&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;run&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;SpringBootApp&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token keyword keyword-class&quot;&gt;class&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; args&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
	&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

	&lt;span class=&quot;token annotation punctuation&quot;&gt;@Order&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	&lt;span class=&quot;token annotation punctuation&quot;&gt;@Bean&lt;/span&gt;
	&lt;span class=&quot;token class-name&quot;&gt;CommandLineRunner&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;commandLineRunner&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
		&lt;span class=&quot;token keyword keyword-return&quot;&gt;return&lt;/span&gt; args &lt;span class=&quot;token operator&quot;&gt;-&amp;gt;&lt;/span&gt; log&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;info&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;commandLineRunner bean : {}&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;Arrays&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;toString&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;args&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
	&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;java&quot; class=&quot;language-java&quot;&gt;&lt;span class=&quot;token annotation punctuation&quot;&gt;@Slf4j&lt;/span&gt;
&lt;span class=&quot;token annotation punctuation&quot;&gt;@Component&lt;/span&gt;
&lt;span class=&quot;token keyword keyword-public&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;token keyword keyword-class&quot;&gt;class&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;MyCommandLineRunner&lt;/span&gt; &lt;span class=&quot;token keyword keyword-implements&quot;&gt;implements&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;CommandLineRunner&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;Ordered&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;

    &lt;span class=&quot;token annotation punctuation&quot;&gt;@Override&lt;/span&gt;
    &lt;span class=&quot;token keyword keyword-public&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;token keyword keyword-void&quot;&gt;void&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;run&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;String&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt; args&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
        log&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;info&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;MyCommandLineRunner: {}&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;Arrays&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;toString&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;args&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

    &lt;span class=&quot;token annotation punctuation&quot;&gt;@Override&lt;/span&gt;
    &lt;span class=&quot;token keyword keyword-public&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;token keyword keyword-int&quot;&gt;int&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;getOrder&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
        &lt;span class=&quot;token keyword keyword-return&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;br&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;txt{.line-numbers, highlight=6-7}&quot; class=&quot;language-txt line-numbers&quot; data-line=&quot;6-7&quot;&gt;2024-10-07T14:47:32.154+09:00  INFO 90766 --- [spring-boot] [  restartedMain] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat started on port 8080 (http) with context path &amp;apos;/&amp;apos;
2024-10-07T14:47:32.156+09:00 DEBUG 90766 --- [spring-boot] [  restartedMain] inMXBeanRegistrar$SpringApplicationAdmin : Application Admin MBean registered with name &amp;apos;org.springframework.boot:type=Admin,name=SpringApplication&amp;apos;
2024-10-07T14:47:32.158+09:00 DEBUG 90766 --- [spring-boot] [  restartedMain] o.s.b.d.livereload.LiveReloadServer      : Starting live reload server on port 35729
2024-10-07T14:47:32.158+09:00  INFO 90766 --- [spring-boot] [  restartedMain] o.s.b.d.a.OptionalLiveReloadServer       : LiveReload server is running on port 35729
2024-10-07T14:47:32.215+09:00 DEBUG 90766 --- [spring-boot] [  restartedMain] o.s.b.a.ApplicationAvailabilityBean      : Application availability state LivenessState changed to CORRECT
2024-10-07T14:47:32.217+09:00  INFO 90766 --- [spring-boot] [  restartedMain] me.jiniworld.springboot.SpringBootApp    : commandLineRunner bean : [--debug, --tag=test, local]
2024-10-07T14:47:32.217+09:00  INFO 90766 --- [spring-boot] [  restartedMain] m.j.springboot.MyCommandLineRunner       : MyCommandLineRunner: [--debug, --tag=test, local]
2024-10-07T14:47:32.217+09:00 DEBUG 90766 --- [spring-boot] [  restartedMain] o.s.boot.devtools.restart.Restarter      : Creating new Restarter for thread Thread[#1,main,5,main]
2024-10-07T14:47:32.217+09:00 DEBUG 90766 --- [spring-boot] [  restartedMain] o.s.boot.devtools.restart.Restarter      : Immediately restarting application
2024-10-07T14:47:32.217+09:00 DEBUG 90766 --- [spring-boot] [  restartedMain] o.s.boot.devtools.restart.Restarter      : Starting application me.jiniworld.springboot.SpringBootApp with URLs []
2024-10-07T14:47:32.217+09:00 DEBUG 90766 --- [spring-boot] [  restartedMain] o.s.b.a.ApplicationAvailabilityBean      : Application availability state ReadinessState changed to ACCEPTING_TRAFFIC
&lt;span aria-hidden=&quot;true&quot; class=&quot;line-numbers-rows&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class=&quot;line-highlight-wrapper&quot;&gt;




&lt;div aria-hidden=&quot;true&quot; class=&quot;line-highlight&quot; data-range=&quot;6-7&quot; data-start=&quot;6&quot; data-end=&quot;7&quot;&gt;

&lt;/div&gt;&lt;/div&gt;&lt;/pre&gt;&lt;hr&gt;
&lt;h2 class=&quot;mume-header&quot; id=&quot;div-ida099-%EC%95%A0%ED%94%8C%EB%A6%AC%EC%BC%80%EC%9D%B4%EC%85%98-%EC%A2%85%EB%A3%8Cdiv&quot;&gt;&lt;div id=&quot;a09&quot;&gt;9. &amp;#xC560;&amp;#xD50C;&amp;#xB9AC;&amp;#xCF00;&amp;#xC774;&amp;#xC158; &amp;#xC885;&amp;#xB8CC;&lt;/div&gt;&lt;/h2&gt;

&lt;p&gt;&amp;#xAC01; &lt;em&gt;SpringApplication&lt;/em&gt; &amp;#xC740; &amp;#xC885;&amp;#xB8CC; &amp;#xC2DC; &lt;em&gt;ApplicationContext&lt;/em&gt; &amp;#xAC00; &amp;#xC885;&amp;#xB8CC;&amp;#xC2DC; graceful &amp;#xD558;&amp;#xAC8C; &amp;#xAEBC;&amp;#xC9C0;&amp;#xB3C4;&amp;#xB85D; JVM&amp;#xC5D0; shutdown hook&amp;#xB97C; &amp;#xB4F1;&amp;#xB85D;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&lt;em&gt;DisposableBean&lt;/em&gt; &amp;#xC778;&amp;#xD130;&amp;#xD398;&amp;#xC774;&amp;#xC2A4;&amp;#xB098; &lt;em&gt;@PreDestory&lt;/em&gt; &amp;#xC560;&amp;#xB108;&amp;#xD14C;&amp;#xC774;&amp;#xC158;&amp;#xACFC; &amp;#xAC19;&amp;#xC740; &amp;#xD45C;&amp;#xC900; Spring lifecycle &amp;#xCF5C;&amp;#xBC31;&amp;#xC744; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xB9CC;&amp;#xC57D; &lt;code&gt;SpringApplication.exit()&lt;/code&gt;&amp;#xAC00; &amp;#xD638;&amp;#xCD9C;&amp;#xB420; &amp;#xB54C; &amp;#xD2B9;&amp;#xBCC4;&amp;#xD55C; exit code&amp;#xB97C; &amp;#xBC18;&amp;#xD658;&amp;#xD558;&amp;#xAE30;&amp;#xB97C; &amp;#xC6D0;&amp;#xD55C;&amp;#xB2E4;&amp;#xBA74; &lt;code&gt;org.springframework.boot.ExitCodeGenerator&lt;/code&gt; &amp;#xC778;&amp;#xD130;&amp;#xD398;&amp;#xC774;&amp;#xC2A4;&amp;#xB97C; &amp;#xAD6C;&amp;#xD604;&amp;#xD55C; &amp;#xBE48;&amp;#xC744; &amp;#xD65C;&amp;#xC6A9;&amp;#xD558;&amp;#xBA74; &amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;ExitCodeGenerator&lt;/em&gt; &amp;#xAC00; 2&amp;#xAC1C; &amp;#xC774;&amp;#xC0C1;&amp;#xC778; &amp;#xACBD;&amp;#xC6B0;, 0&amp;#xC774; &amp;#xC544;&amp;#xB2CC; exit code&amp;#xAC00; &amp;#xC0AC;&amp;#xC6A9;&amp;#xB418;&amp;#xBA70;,&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;java&quot; class=&quot;language-java&quot;&gt;&lt;span class=&quot;token annotation punctuation&quot;&gt;@SpringBootApplication&lt;/span&gt;
&lt;span class=&quot;token keyword keyword-public&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;token keyword keyword-class&quot;&gt;class&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;SpringBootApp&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;

	&lt;span class=&quot;token keyword keyword-public&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;token keyword keyword-static&quot;&gt;static&lt;/span&gt; &lt;span class=&quot;token keyword keyword-void&quot;&gt;void&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;main&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;String&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; args&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
		&lt;span class=&quot;token class-name&quot;&gt;SpringApplication&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;run&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;SpringBootApp&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token keyword keyword-class&quot;&gt;class&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; args&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
	&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

	&lt;span class=&quot;token annotation punctuation&quot;&gt;@Bean&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-public&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;ExitCodeGenerator&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;exitCodeGenerator&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
		&lt;span class=&quot;token keyword keyword-return&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;-&amp;gt;&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;42&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
	&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;p&gt;ExitCodeEvent &amp;#xC5D0; &amp;#xB300;&amp;#xD55C; EventListener&amp;#xB97C; &amp;#xB9CC;&amp;#xB4ED;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;java&quot; class=&quot;language-java&quot;&gt;&lt;span class=&quot;token annotation punctuation&quot;&gt;@Slf4j&lt;/span&gt;
&lt;span class=&quot;token annotation punctuation&quot;&gt;@Component&lt;/span&gt;
&lt;span class=&quot;token keyword keyword-public&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;token keyword keyword-class&quot;&gt;class&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;ExitCodeEventListener&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;

    &lt;span class=&quot;token annotation punctuation&quot;&gt;@EventListener&lt;/span&gt;
    &lt;span class=&quot;token keyword keyword-public&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;token keyword keyword-void&quot;&gt;void&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;handleExitCodeEvent&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;ExitCodeEvent&lt;/span&gt; event&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
        log&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;info&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;ExitCodeEvent &amp;gt;&amp;gt;&amp;gt; Exit code: {}&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; event&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;getExitCode&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;br&gt;
&lt;p&gt;data &amp;#xAC12;&amp;#xC774; &lt;code&gt;q&lt;/code&gt; &amp;#xC77C; &amp;#xACBD;&amp;#xC6B0;, &amp;#xC885;&amp;#xB8CC;&amp;#xC2DC;&amp;#xD0A4;&amp;#xB294; api&amp;#xB97C; &amp;#xCD94;&amp;#xAC00;&amp;#xD558;&amp;#xC600;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;java&quot; class=&quot;language-java&quot;&gt;&lt;span class=&quot;token keyword keyword-public&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;token keyword keyword-record&quot;&gt;record&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;SimpleData&lt;/span&gt;&lt;span class=&quot;token generics&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;T&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;T&lt;/span&gt; data&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;java&quot; class=&quot;language-java&quot;&gt;&lt;span class=&quot;token annotation punctuation&quot;&gt;@RequiredArgsConstructor&lt;/span&gt;
&lt;span class=&quot;token annotation punctuation&quot;&gt;@RequestMapping&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;/exit-code&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token annotation punctuation&quot;&gt;@RestController&lt;/span&gt;
&lt;span class=&quot;token keyword keyword-class&quot;&gt;class&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;ExitCodeController&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;

    &lt;span class=&quot;token keyword keyword-private&quot;&gt;private&lt;/span&gt; &lt;span class=&quot;token keyword keyword-final&quot;&gt;final&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;ApplicationContext&lt;/span&gt; applicationContext&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;token keyword keyword-private&quot;&gt;private&lt;/span&gt; &lt;span class=&quot;token keyword keyword-final&quot;&gt;final&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;ExitCodeGenerator&lt;/span&gt; exitCodeGenerator&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

    &lt;span class=&quot;token annotation punctuation&quot;&gt;@PostMapping&lt;/span&gt;
    &lt;span class=&quot;token keyword keyword-public&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;String&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;exitCode&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token annotation punctuation&quot;&gt;@RequestBody&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;SimpleData&lt;/span&gt;&lt;span class=&quot;token generics&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;String&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt; req&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
        &lt;span class=&quot;token keyword keyword-if&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;q&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;equals&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;req&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;data&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
            &lt;span class=&quot;token class-name&quot;&gt;SpringApplication&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;exit&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;applicationContext&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; exitCodeGenerator&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
        &lt;span class=&quot;token keyword keyword-return&quot;&gt;return&lt;/span&gt; req&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;data&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;br&gt;
&lt;p&gt;HTTPie&amp;#xB85C; api &amp;#xD14C;&amp;#xC2A4;&amp;#xD2B8;&amp;#xB97C; &amp;#xD55C; &amp;#xACB0;&amp;#xACFC;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;http&quot; class=&quot;language-http&quot;&gt;http POST :8080/exit-code data=q
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;txt&quot; class=&quot;language-txt&quot;&gt;http: error: ConnectionError: (&amp;apos;Connection aborted.&amp;apos;, RemoteDisconnected(&amp;apos;Remote end closed connection without response&amp;apos;)) while doing a POST request to URL: http://localhost:8080/exit-code
&lt;/pre&gt;&lt;hr&gt;
&lt;h2 class=&quot;mume-header&quot; id=&quot;div-ida1010-%EA%B4%80%EB%A6%AC%EC%9E%90-%EA%B8%B0%EB%8A%A5div&quot;&gt;&lt;div id=&quot;a10&quot;&gt;10. &amp;#xAD00;&amp;#xB9AC;&amp;#xC790; &amp;#xAE30;&amp;#xB2A5;&lt;/div&gt;&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;spring.application.admin.enabled&lt;/code&gt; &amp;#xD504;&amp;#xB85C;&amp;#xD37C;&amp;#xD2F0; &amp;#xC18D;&amp;#xC131;&amp;#xC744; &amp;#xD65C;&amp;#xC131;&amp;#xD654;&amp;#xD558;&amp;#xC5EC; &amp;#xAD00;&amp;#xB9AC;&amp;#xC790; &amp;#xAE30;&amp;#xB2A5;&amp;#xC744; &amp;#xD65C;&amp;#xC131;&amp;#xD654; &amp;#xC2DC;&amp;#xD0AC; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;json&quot; class=&quot;language-json&quot;&gt;spring&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt;
  application&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt;
    admin&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt;
      enabled&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token boolean&quot;&gt;true&lt;/span&gt;
&lt;/pre&gt;&lt;br&gt;
&lt;p&gt;javac &amp;#xBA85;&amp;#xB839;&amp;#xC5B4;&amp;#xAC00; &amp;#xC124;&amp;#xCE58;&amp;#xB41C; &amp;#xB514;&amp;#xB809;&amp;#xD1A0;&amp;#xB9AC;&amp;#xC5D0; &amp;#xB4E4;&amp;#xC5B4;&amp;#xAC00;&amp;#xBCF4;&amp;#xBA74; jconsole &amp;#xBA85;&amp;#xB839;&amp;#xC5B4;&amp;#xAC00; &amp;#xC788;&amp;#xB2E4;. &amp;#xC774; &amp;#xBA85;&amp;#xB839;&amp;#xC5B4;&amp;#xB97C; &amp;#xC2E4;&amp;#xD589;&amp;#xD558;&amp;#xBA74; &lt;em&gt;Java Monitoring &amp;amp; Management Console&lt;/em&gt; &amp;#xC744; &amp;#xC2E4;&amp;#xD589;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;&lt;span class=&quot;token function&quot;&gt;which&lt;/span&gt; javac
/opt/homebrew/opt/openjdk/bin/javac
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;&lt;span class=&quot;token function&quot;&gt;ls&lt;/span&gt; /opt/homebrew/opt/openjdk/bin/
jar         java        javadoc     jcmd        jdb         jdeps       jhsdb       jinfo       jmap        jpackage    jrunscript  jstack      jstatd      keytool     serialver
jarsigner   javac       javap       jconsole    jdeprscan   jfr         jimage      jlink       jmod        jps         jshell      jstat       jwebserver  rmiregistry
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;./jconsole
&lt;/pre&gt;&lt;p&gt;&lt;img width=&quot;900&quot; src=&quot;https://raw.githubusercontent.com/jiniya22/image_box/master/blog/Spring%20Docs/01-11.png&quot;&gt;&lt;br&gt;&lt;br&gt;&lt;/p&gt;
&lt;br&gt;
&lt;p&gt;&amp;#xD799; &amp;#xBA54;&amp;#xBAA8;&amp;#xB9AC; &amp;#xC0AC;&amp;#xC6A9;&amp;#xB7C9;, CPU &amp;#xC0AC;&amp;#xC6A9;&amp;#xB7C9;, &amp;#xB85C;&amp;#xB529;&amp;#xB41C; &amp;#xD074;&amp;#xB798;&amp;#xC2A4; &amp;#xC218; &amp;#xB4F1; &amp;#xC2E4;&amp;#xD589;&amp;#xC911;&amp;#xC778; &amp;#xC560;&amp;#xD50C;&amp;#xB9AC;&amp;#xCF00;&amp;#xC774;&amp;#xC158;&amp;#xC5D0; &amp;#xB300;&amp;#xD55C; &amp;#xB2E4;&amp;#xC591;&amp;#xD55C; &amp;#xC815;&amp;#xBCF4;&amp;#xB97C; &amp;#xD655;&amp;#xC778;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&lt;img width=&quot;900&quot; src=&quot;https://raw.githubusercontent.com/jiniya22/image_box/master/blog/Spring%20Docs/01-12.png&quot;&gt;&lt;br&gt;&lt;br&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;h2 class=&quot;mume-header&quot; id=&quot;div-ida11-111-%EC%95%A0%ED%94%8C%EB%A6%AC%EC%BC%80%EC%9D%B4%EC%85%98-%EC%8B%9C%EC%9E%91-%EC%B6%94%EC%A0%81div&quot;&gt;&lt;div id=&quot;a11-1&quot;&gt;11. &amp;#xC560;&amp;#xD50C;&amp;#xB9AC;&amp;#xCF00;&amp;#xC774;&amp;#xC158; &amp;#xC2DC;&amp;#xC791; &amp;#xCD94;&amp;#xC801;&lt;/div&gt;&lt;/h2&gt;

&lt;p&gt;&amp;#xC560;&amp;#xD50C;&amp;#xB9AC;&amp;#xCF00;&amp;#xC774;&amp;#xC158;&amp;#xC744; &amp;#xC2DC;&amp;#xC791;&amp;#xD558;&amp;#xB294; &amp;#xB3D9;&amp;#xC548; &lt;em&gt;SpringApplication&lt;/em&gt; &amp;#xACFC; &lt;em&gt;ApplicationContext&lt;/em&gt; &amp;#xB294; &amp;#xC560;&amp;#xD50C;&amp;#xB9AC;&amp;#xCF00;&amp;#xC774;&amp;#xC158; &amp;#xC0DD;&amp;#xC560;&amp;#xC8FC;&amp;#xAE30;&amp;#xB3D9;&amp;#xC548; &lt;code&gt;bean lifecycle&lt;/code&gt; &amp;#xC774;&amp;#xB098; &lt;code&gt;&amp;#xC560;&amp;#xD50C;&amp;#xB9AC;&amp;#xCF00;&amp;#xC774;&amp;#xC158; &amp;#xC774;&amp;#xBCA4;&amp;#xD2B8; &amp;#xCC98;&amp;#xB9AC;&lt;/code&gt; &amp;#xC640; &amp;#xAD00;&amp;#xB828;&amp;#xB41C; &amp;#xB2E4;&amp;#xC591;&amp;#xD55C; &amp;#xC791;&amp;#xC5C5;&amp;#xC744; &amp;#xC218;&amp;#xD589;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
_ApplicationStartup_&amp;#xC744; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD558;&amp;#xBA74; &amp;#xC2A4;&amp;#xD504;&amp;#xB9C1;&amp;#xD504;&amp;#xB808;&amp;#xC784;&amp;#xC6CC;&amp;#xD06C;&amp;#xB97C; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD558;&amp;#xC5EC; &lt;em&gt;StartupStep&lt;/em&gt; &amp;#xAC1D;&amp;#xCCB4;&amp;#xB85C; &amp;#xC560;&amp;#xD50C;&amp;#xB9AC;&amp;#xCF00;&amp;#xC774;&amp;#xC158; &amp;#xC2DC;&amp;#xC791; &amp;#xC2DC;&amp;#xD000;&amp;#xC2A4;&amp;#xB97C; &amp;#xCD94;&amp;#xC801;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;br&gt;
&lt;p&gt;&amp;#xC77C;&amp;#xBC18;&amp;#xC801;&amp;#xC73C;&amp;#xB85C;, &amp;#xAE30;&amp;#xBCF8;&amp;#xC73C;&amp;#xB85C; &amp;#xC124;&amp;#xC815;&amp;#xB418;&amp;#xC5B4;&amp;#xC788;&amp;#xB294; &lt;em&gt;DefaultApplicationStartup&lt;/em&gt; &amp;#xB97C; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD558;&amp;#xC9C0;&amp;#xB9CC;, (&amp;#xBCC4;&amp;#xB3C4;&amp;#xC758; &amp;#xC635;&amp;#xC158;&amp;#xC774; &amp;#xC124;&amp;#xC815;&amp;#xB418;&amp;#xC5B4;&amp;#xC788;&amp;#xC9C0; &amp;#xC54A;&amp;#xC74C;)&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;java&quot; class=&quot;language-java&quot;&gt;&lt;span class=&quot;token annotation punctuation&quot;&gt;@SpringBootApplication&lt;/span&gt;
&lt;span class=&quot;token keyword keyword-public&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;token keyword keyword-class&quot;&gt;class&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;SpringBootApp&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;

	&lt;span class=&quot;token keyword keyword-public&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;token keyword keyword-static&quot;&gt;static&lt;/span&gt; &lt;span class=&quot;token keyword keyword-void&quot;&gt;void&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;main&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;String&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; args&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
		&lt;span class=&quot;token class-name&quot;&gt;SpringApplication&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;run&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;SpringBootApp&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token keyword keyword-class&quot;&gt;class&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; args&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
	&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;br&gt;
&lt;p&gt;SpringApplication &amp;#xC778;&amp;#xC2A4;&amp;#xD134;&amp;#xC2A4;&amp;#xB97C; &amp;#xC124;&amp;#xC815;&amp;#xD560; &amp;#xB54C;, &lt;em&gt;setApplicationStartup&lt;/em&gt; &amp;#xB85C; ApplicationStartup &amp;#xAD6C;&amp;#xD604;&amp;#xC744; &amp;#xC124;&amp;#xC815;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;ApplicationStartup &amp;#xAD6C;&amp;#xD604;&amp;#xCCB4;&amp;#xB85C;&amp;#xB294; &lt;em&gt;BufferingApplicationStartup&lt;/em&gt; &amp;#xC640; &lt;em&gt;FlightRecorderApplicationStartup&lt;/em&gt; &amp;#xAC00; &amp;#xC788;&amp;#xACE0;, &amp;#xC774; &amp;#xAD6C;&amp;#xD604;&amp;#xCCB4;&amp;#xB4E4;&amp;#xC744; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD560; &amp;#xACBD;&amp;#xC6B0;, Spring &amp;#xC560;&amp;#xD50C;&amp;#xB9AC;&amp;#xCF00;&amp;#xC774;&amp;#xC158;&amp;#xC774; &amp;#xC2DC;&amp;#xC791;&amp;#xB418;&amp;#xB294; &amp;#xB3D9;&amp;#xC548;, &amp;#xAC01; &amp;#xB2E8;&amp;#xACC4;&amp;#xBCC4;&amp;#xB85C; &amp;#xAC78;&amp;#xB9B0; &amp;#xC2DC;&amp;#xAC04;&amp;#xB4E4;&amp;#xC744; &amp;#xC0C1;&amp;#xC138;&amp;#xD788; &amp;#xD30C;&amp;#xC545;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&lt;br&gt;&lt;/p&gt;
&lt;h3 class=&quot;mume-header&quot; id=&quot;111-%EC%8B%9C%EC%9E%91-%EC%8B%9C%EA%B0%84-%EB%B6%84%EC%84%9D&quot;&gt;11.1. &amp;#xC2DC;&amp;#xC791; &amp;#xC2DC;&amp;#xAC04; &amp;#xBD84;&amp;#xC11D;&lt;/h3&gt;

&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;java&quot; class=&quot;language-java&quot;&gt;&lt;span class=&quot;token annotation punctuation&quot;&gt;@SpringBootApplication&lt;/span&gt;
&lt;span class=&quot;token keyword keyword-public&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;token keyword keyword-class&quot;&gt;class&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;SpringBootApp&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;

	&lt;span class=&quot;token keyword keyword-public&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;token keyword keyword-static&quot;&gt;static&lt;/span&gt; &lt;span class=&quot;token keyword keyword-void&quot;&gt;void&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;main&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;String&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; args&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
		&lt;span class=&quot;token class-name&quot;&gt;SpringApplication&lt;/span&gt; application &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token keyword keyword-new&quot;&gt;new&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;SpringApplication&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;SpringBootApp&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token keyword keyword-class&quot;&gt;class&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
		application&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;setApplicationStartup&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token keyword keyword-new&quot;&gt;new&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;BufferingApplicationStartup&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;2048&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
		application&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;run&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;args&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
	&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;br&gt;
&lt;p&gt;api &amp;#xB97C; &amp;#xC2E4;&amp;#xD589;&amp;#xD574;&amp;#xBD05;&amp;#xB2C8;&amp;#xB2E4;. (&amp;#xC544;&amp;#xB798;&amp;#xB294; curl&amp;#xB85C; &amp;#xC870;&amp;#xD68C;&amp;#xD55C; &amp;#xACB0;&amp;#xACFC;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.)&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;&lt;span class=&quot;token function&quot;&gt;curl&lt;/span&gt; http://localhost:8080/actuator/startup &lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt; json_pp
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;json&quot; class=&quot;language-json&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;token property&quot;&gt;&amp;quot;springBootVersion&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;3.3.3&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
  &lt;span class=&quot;token property&quot;&gt;&amp;quot;timeline&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;token property&quot;&gt;&amp;quot;startTime&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;2024-10-22T05:00:48.922274Z&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
    &lt;span class=&quot;token property&quot;&gt;&amp;quot;events&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;
      &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
        &lt;span class=&quot;token property&quot;&gt;&amp;quot;endTime&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;2024-10-22T05:00:48.933747Z&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
        &lt;span class=&quot;token property&quot;&gt;&amp;quot;duration&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;PT0.011367S&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
        &lt;span class=&quot;token property&quot;&gt;&amp;quot;startTime&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;2024-10-22T05:00:48.922380Z&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
        &lt;span class=&quot;token property&quot;&gt;&amp;quot;startupStep&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
          &lt;span class=&quot;token property&quot;&gt;&amp;quot;name&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;spring.boot.application.starting&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
          &lt;span class=&quot;token property&quot;&gt;&amp;quot;id&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
          &lt;span class=&quot;token property&quot;&gt;&amp;quot;tags&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;
            &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
              &lt;span class=&quot;token property&quot;&gt;&amp;quot;key&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;mainApplicationClass&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
              &lt;span class=&quot;token property&quot;&gt;&amp;quot;value&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;me.jiniworld.springboot.SpringBootApp&amp;quot;&lt;/span&gt;
            &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
          &lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
      &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
      ...
      &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
        &lt;span class=&quot;token property&quot;&gt;&amp;quot;endTime&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;2024-10-22T05:00:50.013900Z&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
        &lt;span class=&quot;token property&quot;&gt;&amp;quot;duration&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;PT0.003504S&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
        &lt;span class=&quot;token property&quot;&gt;&amp;quot;startTime&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;2024-10-22T05:00:50.010396Z&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
        &lt;span class=&quot;token property&quot;&gt;&amp;quot;startupStep&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
          &lt;span class=&quot;token property&quot;&gt;&amp;quot;name&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;spring.boot.application.started&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
          &lt;span class=&quot;token property&quot;&gt;&amp;quot;id&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;260&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
          &lt;span class=&quot;token property&quot;&gt;&amp;quot;tags&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
      &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
      &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
        &lt;span class=&quot;token property&quot;&gt;&amp;quot;endTime&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;2024-10-22T05:00:50.014133Z&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
        &lt;span class=&quot;token property&quot;&gt;&amp;quot;duration&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;PT0.000103S&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
        &lt;span class=&quot;token property&quot;&gt;&amp;quot;startTime&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;2024-10-22T05:00:50.014030Z&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
        &lt;span class=&quot;token property&quot;&gt;&amp;quot;startupStep&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
          &lt;span class=&quot;token property&quot;&gt;&amp;quot;name&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;spring.beans.instantiate&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
          &lt;span class=&quot;token property&quot;&gt;&amp;quot;id&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;265&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
          &lt;span class=&quot;token property&quot;&gt;&amp;quot;tags&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;
            &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
              &lt;span class=&quot;token property&quot;&gt;&amp;quot;key&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;beanName&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
              &lt;span class=&quot;token property&quot;&gt;&amp;quot;value&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;myCommandLineRunner&amp;quot;&lt;/span&gt;
            &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
            &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
              &lt;span class=&quot;token property&quot;&gt;&amp;quot;key&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;beanType&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
              &lt;span class=&quot;token property&quot;&gt;&amp;quot;value&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;interface org.springframework.boot.Runner&amp;quot;&lt;/span&gt;
            &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
          &lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
      &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
      &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
        &lt;span class=&quot;token property&quot;&gt;&amp;quot;endTime&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;2024-10-22T05:00:50.014428Z&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
        &lt;span class=&quot;token property&quot;&gt;&amp;quot;duration&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;PT0.000279S&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
        &lt;span class=&quot;token property&quot;&gt;&amp;quot;startTime&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;2024-10-22T05:00:50.014149Z&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
        &lt;span class=&quot;token property&quot;&gt;&amp;quot;startupStep&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
          &lt;span class=&quot;token property&quot;&gt;&amp;quot;name&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;spring.beans.instantiate&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
          &lt;span class=&quot;token property&quot;&gt;&amp;quot;id&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;267&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
          &lt;span class=&quot;token property&quot;&gt;&amp;quot;tags&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;
            &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
              &lt;span class=&quot;token property&quot;&gt;&amp;quot;key&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;beanName&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
              &lt;span class=&quot;token property&quot;&gt;&amp;quot;value&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;springBootApp&amp;quot;&lt;/span&gt;
            &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
          &lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
          &lt;span class=&quot;token property&quot;&gt;&amp;quot;parentId&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;266&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
      &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
      ...
      &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
        &lt;span class=&quot;token property&quot;&gt;&amp;quot;endTime&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;2024-10-22T05:01:07.532088Z&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
        &lt;span class=&quot;token property&quot;&gt;&amp;quot;duration&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;PT0.001044S&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
        &lt;span class=&quot;token property&quot;&gt;&amp;quot;startTime&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;2024-10-22T05:01:07.531044Z&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
        &lt;span class=&quot;token property&quot;&gt;&amp;quot;startupStep&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
          &lt;span class=&quot;token property&quot;&gt;&amp;quot;name&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;spring.beans.instantiate&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
          &lt;span class=&quot;token property&quot;&gt;&amp;quot;id&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;293&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
          &lt;span class=&quot;token property&quot;&gt;&amp;quot;tags&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;
            &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
              &lt;span class=&quot;token property&quot;&gt;&amp;quot;key&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;beanName&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
              &lt;span class=&quot;token property&quot;&gt;&amp;quot;value&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;flashMapManager&amp;quot;&lt;/span&gt;
            &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
            &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
              &lt;span class=&quot;token property&quot;&gt;&amp;quot;key&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;beanType&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
              &lt;span class=&quot;token property&quot;&gt;&amp;quot;value&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;interface org.springframework.web.servlet.FlashMapManager&amp;quot;&lt;/span&gt;
            &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
          &lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
      &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;
  &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;br&gt;
&lt;h3 class=&quot;mume-header&quot; id=&quot;div-ida11-2112-%ED%8A%B9%EC%A0%95-startup-event%EB%A7%8C-%ED%95%84%ED%84%B0%EB%A7%81%ED%95%98%EC%97%AC-%EB%B6%84%EC%84%9Ddiv&quot;&gt;&lt;div id=&quot;a11-2&quot;&gt;11.2. &amp;#xD2B9;&amp;#xC815; startup event&amp;#xB9CC; &amp;#xD544;&amp;#xD130;&amp;#xB9C1;&amp;#xD558;&amp;#xC5EC; &amp;#xBD84;&amp;#xC11D;&lt;/div&gt;&lt;/h3&gt;

&lt;p&gt;startupStemp&amp;#xC758; &amp;#xD2B9;&amp;#xC815; name&amp;#xB9CC; &amp;#xD544;&amp;#xD130;&amp;#xB9C1;&amp;#xD574;&amp;#xC11C; &amp;#xBCF4;&amp;#xC5EC;&amp;#xC8FC;&amp;#xB3C4;&amp;#xB85D; &amp;#xD558;&amp;#xACE0; &amp;#xC2F6;&amp;#xB2E4;&amp;#xBA74; ApplicationStartup &amp;#xAD6C;&amp;#xD604;&amp;#xCCB4;&amp;#xC5D0; startupStep&amp;#xC5D0; &amp;#xC544;&amp;#xB798;&amp;#xC640; &amp;#xAC19;&amp;#xC740; match&amp;#xB97C; &amp;#xC124;&amp;#xC815;&amp;#xD574;&amp;#xC8FC;&amp;#xBA74; &amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;java&quot; class=&quot;language-java&quot;&gt;&lt;span class=&quot;token annotation punctuation&quot;&gt;@SpringBootApplication&lt;/span&gt;
&lt;span class=&quot;token keyword keyword-public&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;token keyword keyword-class&quot;&gt;class&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;SpringBootApp&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;

	&lt;span class=&quot;token keyword keyword-public&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;token keyword keyword-static&quot;&gt;static&lt;/span&gt; &lt;span class=&quot;token keyword keyword-void&quot;&gt;void&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;main&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;String&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; args&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
		&lt;span class=&quot;token class-name&quot;&gt;SpringApplication&lt;/span&gt; application &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token keyword keyword-new&quot;&gt;new&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;SpringApplication&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;SpringBootApp&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token keyword keyword-class&quot;&gt;class&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
		&lt;span class=&quot;token keyword keyword-var&quot;&gt;var&lt;/span&gt; applicationStartup &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token keyword keyword-new&quot;&gt;new&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;BufferingApplicationStartup&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;2048&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
		applicationStartup&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;addFilter&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;startupStep &lt;span class=&quot;token operator&quot;&gt;-&amp;gt;&lt;/span&gt; startupStep&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;getName&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;matches&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;spring.beans.instantiate&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
		application&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;setApplicationStartup&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;applicationStartup&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
		application&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;run&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;args&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
	&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;br&gt;
&lt;p&gt;api &amp;#xB97C; &amp;#xC2E4;&amp;#xD589;&amp;#xD574;&amp;#xBD05;&amp;#xB2C8;&amp;#xB2E4;. (&amp;#xC544;&amp;#xB798;&amp;#xB294; HTTPie&amp;#xB85C; &amp;#xC870;&amp;#xD68C;&amp;#xD55C; &amp;#xACB0;&amp;#xACFC;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.)&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;http&quot; class=&quot;language-http&quot;&gt;http :8080/actuator/startup
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;json&quot; class=&quot;language-json&quot;&gt;HTTP/&lt;span class=&quot;token number&quot;&gt;1.1&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;200&lt;/span&gt;
Connection&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; keep-alive
Content-Type&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; application/vnd.spring-boot.actuator.v3+json
Date&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; Tue&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;22&lt;/span&gt; Oct &lt;span class=&quot;token number&quot;&gt;2024&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;05&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;15&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;39&lt;/span&gt; GMT
Keep-Alive&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; timeout=&lt;span class=&quot;token number&quot;&gt;60&lt;/span&gt;
Transfer-Encoding&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; chunked

&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;token property&quot;&gt;&amp;quot;springBootVersion&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;3.3.3&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
  &lt;span class=&quot;token property&quot;&gt;&amp;quot;timeline&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;token property&quot;&gt;&amp;quot;startTime&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;2024-10-22T05:12:04.400145Z&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
    &lt;span class=&quot;token property&quot;&gt;&amp;quot;events&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;
      &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
        &lt;span class=&quot;token property&quot;&gt;&amp;quot;endTime&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;2024-10-22T05:12:04.578045Z&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
        &lt;span class=&quot;token property&quot;&gt;&amp;quot;duration&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;PT0.000673S&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
        &lt;span class=&quot;token property&quot;&gt;&amp;quot;startTime&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;2024-10-22T05:12:04.577372Z&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
        &lt;span class=&quot;token property&quot;&gt;&amp;quot;startupStep&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
          &lt;span class=&quot;token property&quot;&gt;&amp;quot;name&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;spring.beans.instantiate&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
          &lt;span class=&quot;token property&quot;&gt;&amp;quot;id&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;7&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
          &lt;span class=&quot;token property&quot;&gt;&amp;quot;tags&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;
            &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
              &lt;span class=&quot;token property&quot;&gt;&amp;quot;key&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;beanName&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
              &lt;span class=&quot;token property&quot;&gt;&amp;quot;value&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;org.springframework.boot.autoconfigure.internalCachingMetadataReaderFactory&amp;quot;&lt;/span&gt;
            &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
          &lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
          &lt;span class=&quot;token property&quot;&gt;&amp;quot;parentId&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;6&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
      &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
      ...
      &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
        &lt;span class=&quot;token property&quot;&gt;&amp;quot;endTime&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;2024-10-22T05:12:05.718332Z&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
        &lt;span class=&quot;token property&quot;&gt;&amp;quot;duration&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;PT0.020823S&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
        &lt;span class=&quot;token property&quot;&gt;&amp;quot;startTime&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;2024-10-22T05:12:05.697509Z&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
        &lt;span class=&quot;token property&quot;&gt;&amp;quot;startupStep&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
          &lt;span class=&quot;token property&quot;&gt;&amp;quot;name&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;spring.beans.instantiate&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
          &lt;span class=&quot;token property&quot;&gt;&amp;quot;id&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;284&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
          &lt;span class=&quot;token property&quot;&gt;&amp;quot;tags&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;
            &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
              &lt;span class=&quot;token property&quot;&gt;&amp;quot;key&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;beanName&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
              &lt;span class=&quot;token property&quot;&gt;&amp;quot;value&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;viewResolver&amp;quot;&lt;/span&gt;
            &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
          &lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
      &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
      &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
        &lt;span class=&quot;token property&quot;&gt;&amp;quot;endTime&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;2024-10-22T05:12:05.719134Z&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
        &lt;span class=&quot;token property&quot;&gt;&amp;quot;duration&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;PT0.000787S&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
        &lt;span class=&quot;token property&quot;&gt;&amp;quot;startTime&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;2024-10-22T05:12:05.718347Z&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
        &lt;span class=&quot;token property&quot;&gt;&amp;quot;startupStep&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
          &lt;span class=&quot;token property&quot;&gt;&amp;quot;name&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;spring.beans.instantiate&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
          &lt;span class=&quot;token property&quot;&gt;&amp;quot;id&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;293&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
          &lt;span class=&quot;token property&quot;&gt;&amp;quot;tags&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;
            &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
              &lt;span class=&quot;token property&quot;&gt;&amp;quot;key&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;beanName&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
              &lt;span class=&quot;token property&quot;&gt;&amp;quot;value&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;flashMapManager&amp;quot;&lt;/span&gt;
            &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
            &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
              &lt;span class=&quot;token property&quot;&gt;&amp;quot;key&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;beanType&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
              &lt;span class=&quot;token property&quot;&gt;&amp;quot;value&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;interface org.springframework.web.servlet.FlashMapManager&amp;quot;&lt;/span&gt;
            &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
          &lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
      &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;
  &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;br&gt;
&lt;h3 class=&quot;mume-header&quot; id=&quot;div-ida11-3113-jq-json-processor-%EB%A5%BC-%EC%9D%B4%EC%9A%A9%ED%95%9C-%EB%B9%88-%EC%B4%88%EA%B8%B0%ED%99%94-%EA%B8%B0%EA%B0%84-%EC%A1%B0%ED%9A%8Cdiv&quot;&gt;&lt;div id=&quot;a11-3&quot;&gt;11.3. jq json processor &amp;#xB97C; &amp;#xC774;&amp;#xC6A9;&amp;#xD55C; &amp;#xBE48; &amp;#xCD08;&amp;#xAE30;&amp;#xD654; &amp;#xAE30;&amp;#xAC04; &amp;#xC870;&amp;#xD68C;&lt;/div&gt;&lt;/h3&gt;

&lt;p&gt;&amp;#xC0AC;&amp;#xC804;&amp;#xC5D0; jq&amp;#xB97C; &amp;#xB2E4;&amp;#xC6B4;&amp;#xBC1B;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
mac OS&amp;#xC758; &amp;#xACBD;&amp;#xC6B0;, brew&amp;#xB85C; &amp;#xC124;&amp;#xCE58;&amp;#xAC00; &amp;#xAC00;&amp;#xB2A5;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;brew &lt;span class=&quot;token function&quot;&gt;install&lt;/span&gt; jq
&lt;/pre&gt;&lt;blockquote&gt;
&lt;p&gt;&amp;#xB2E4;&amp;#xB978; OS&amp;#xC5D0;&amp;#xC11C; &amp;#xC124;&amp;#xCE58;&amp;#xD574;&amp;#xC57C;&amp;#xD55C;&amp;#xB2E4;&amp;#xBA74;. &lt;a href=&quot;https://jqlang.github.io/jq/download/&quot;&gt;Download jq&lt;/a&gt;&amp;#xB97C; &amp;#xCC38;&amp;#xACE0;&amp;#xD574;&amp;#xC8FC;&amp;#xC138;&amp;#xC694;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;br&gt;
&lt;p&gt;jq&amp;#xB97C; &amp;#xC774;&amp;#xC6A9;&amp;#xD558;&amp;#xC5EC; &lt;code&gt;startupStep.name&lt;/code&gt; &amp;#xC774; &lt;code&gt;spring.beans.instantiate&lt;/code&gt; &amp;#xC778; &amp;#xD56D;&amp;#xBAA9;&amp;#xB4E4;&amp;#xC5D0; &amp;#xB300;&amp;#xD574;&amp;#xC11C; startupStep - tags[0] - value &amp;#xC640; duration &amp;#xAC12;&amp;#xB9CC; duration &amp;#xB0B4;&amp;#xB9BC;&amp;#xCC28;&amp;#xC21C;&amp;#xC73C;&amp;#xB85C; &amp;#xC870;&amp;#xD68C;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xC544;&amp;#xB798;&amp;#xC758; &amp;#xACB0;&amp;#xACFC;&amp;#xC5D0;&amp;#xB294; &amp;#xAC00;&amp;#xC7A5; &amp;#xC624;&amp;#xB798;&amp;#xAC78;&amp;#xB9B0; &amp;#xBE48; &amp;#xCD08;&amp;#xAE30;&amp;#xD654;&amp;#xAC00; 0.05&amp;#xCD08;&amp;#xC774;&amp;#xC9C0;&amp;#xB9CC;, &amp;#xB9CC;&amp;#xC57D; &amp;#xBE48;&amp;#xC758; &amp;#xCD08;&amp;#xAE30;&amp;#xD654;&amp;#xAC00; &amp;#xC624;&amp;#xB798;&amp;#xAC78;&amp;#xB9AC;&amp;#xB294; &amp;#xD56D;&amp;#xBAA9;&amp;#xC774; &amp;#xC870;&amp;#xD68C;&amp;#xB41C;&amp;#xB2E4;&amp;#xBA74;, &amp;#xC560;&amp;#xD50C;&amp;#xB9AC;&amp;#xCF00;&amp;#xC774;&amp;#xC158;&amp;#xC758; &amp;#xAC1C;&amp;#xC120;&amp;#xC810;&amp;#xC744; &amp;#xCC3E;&amp;#xB294;&amp;#xB370;&amp;#xC5D0; &amp;#xB3C4;&amp;#xC6C0;&amp;#xC774; &amp;#xB420; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;&lt;span class=&quot;token function&quot;&gt;curl&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;apos;http://localhost:8080/actuator/startup&amp;apos;&lt;/span&gt; -X POST &lt;span class=&quot;token punctuation&quot;&gt;\&lt;/span&gt;
&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt; jq &lt;span class=&quot;token string&quot;&gt;&amp;apos;[.timeline.events
 | sort_by(.duration) | reverse[]
 | select(.startupStep.name | match(&amp;quot;spring.beans.instantiate&amp;quot;))
 | {beanName: .startupStep.tags[0].value, duration: .duration}]&amp;apos;&lt;/span&gt;
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
&lt;span class=&quot;token number&quot;&gt;100&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;77332&lt;/span&gt;    &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;77332&lt;/span&gt;    &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;     &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;   600k      &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt; --:--:-- --:--:-- --:--:--  604k
&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;
  &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;token string&quot;&gt;&amp;quot;beanName&amp;quot;&lt;/span&gt;&lt;span class=&quot;token builtin class-name&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;tomcatServletWebServerFactory&amp;quot;&lt;/span&gt;,
    &lt;span class=&quot;token string&quot;&gt;&amp;quot;duration&amp;quot;&lt;/span&gt;&lt;span class=&quot;token builtin class-name&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;PT0.051436S&amp;quot;&lt;/span&gt;
  &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;,
  &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;token string&quot;&gt;&amp;quot;beanName&amp;quot;&lt;/span&gt;&lt;span class=&quot;token builtin class-name&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;jmxMBeanExporter&amp;quot;&lt;/span&gt;,
    &lt;span class=&quot;token string&quot;&gt;&amp;quot;duration&amp;quot;&lt;/span&gt;&lt;span class=&quot;token builtin class-name&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;PT0.045843S&amp;quot;&lt;/span&gt;
  &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;,
  &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;token string&quot;&gt;&amp;quot;beanName&amp;quot;&lt;/span&gt;&lt;span class=&quot;token builtin class-name&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;webMvcObservationFilter&amp;quot;&lt;/span&gt;,
    &lt;span class=&quot;token string&quot;&gt;&amp;quot;duration&amp;quot;&lt;/span&gt;&lt;span class=&quot;token builtin class-name&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;PT0.028073S&amp;quot;&lt;/span&gt;
  &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;,
  &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;token string&quot;&gt;&amp;quot;beanName&amp;quot;&lt;/span&gt;&lt;span class=&quot;token builtin class-name&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;requestMappingHandlerMapping&amp;quot;&lt;/span&gt;,
    &lt;span class=&quot;token string&quot;&gt;&amp;quot;duration&amp;quot;&lt;/span&gt;&lt;span class=&quot;token builtin class-name&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;PT0.025103S&amp;quot;&lt;/span&gt;
  &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;,
  &lt;span class=&quot;token punctuation&quot;&gt;..&lt;/span&gt;.
  &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;token string&quot;&gt;&amp;quot;beanName&amp;quot;&lt;/span&gt;&lt;span class=&quot;token builtin class-name&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;org.springframework.boot.actuate.autoconfigure.web.mappings.MappingsEndpointAutoConfiguration&lt;span class=&quot;token variable&quot;&gt;$ServletWebConfiguration&lt;/span&gt;&amp;quot;&lt;/span&gt;,
    &lt;span class=&quot;token string&quot;&gt;&amp;quot;duration&amp;quot;&lt;/span&gt;&lt;span class=&quot;token builtin class-name&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;PT0.000052S&amp;quot;&lt;/span&gt;
  &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;,
  &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;token string&quot;&gt;&amp;quot;beanName&amp;quot;&lt;/span&gt;&lt;span class=&quot;token builtin class-name&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;org.springframework.boot.actuate.autoconfigure.startup.StartupEndpointAutoConfiguration&amp;quot;&lt;/span&gt;,
    &lt;span class=&quot;token string&quot;&gt;&amp;quot;duration&amp;quot;&lt;/span&gt;&lt;span class=&quot;token builtin class-name&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;PT0.000051S&amp;quot;&lt;/span&gt;
  &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;
&lt;/pre&gt;&lt;br&gt;
&lt;p&gt;ApplicationStartup&amp;#xC744; &amp;#xD65C;&amp;#xC6A9;&amp;#xD558;&amp;#xC5EC; Spring Boot &amp;#xC560;&amp;#xD50C;&amp;#xB9AC;&amp;#xCF00;&amp;#xC774;&amp;#xC158;&amp;#xC758; startup&amp;#xBA54;&amp;#xD2B8;&amp;#xB9AD;&amp;#xC5D0; &amp;#xB300;&amp;#xD574; &amp;#xD655;&amp;#xC778;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC5C8;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xB2E4;&amp;#xB9CC;, ApplicationStartup&amp;#xC740; &amp;#xC560;&amp;#xD50C;&amp;#xB9AC;&amp;#xCF00;&amp;#xC774;&amp;#xC158;&amp;#xC758; startup &amp;#xD558;&amp;#xB294; &amp;#xB3D9;&amp;#xC548;&amp;#xC5D0;&amp;#xB9CC; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xB294; &amp;#xBD80;&amp;#xBD84;&amp;#xC73C;&amp;#xB85C;, &amp;#xC560;&amp;#xD50C;&amp;#xB9AC;&amp;#xCF00;&amp;#xC774;&amp;#xC158; &amp;#xACC4;&amp;#xCE21;&amp;#xC744; &amp;#xC704;&amp;#xD55C; Java &amp;#xD504;&amp;#xB85C;&amp;#xD30C;&amp;#xC77C;&amp;#xB7EC; &amp;#xBC0F; &amp;#xBA54;&amp;#xD2B8;&amp;#xB9AD; &amp;#xC218;&amp;#xC9D1; &amp;#xD504;&amp;#xB808;&amp;#xC784;&amp;#xC6CC;&amp;#xD06C;&amp;#xB97C; &amp;#xB300;&amp;#xCCB4;&amp;#xD558;&amp;#xC9C0;&amp;#xB294; &amp;#xC54A;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 class=&quot;mume-header&quot; id=&quot;div-ida1212-virtual-threaddiv&quot;&gt;&lt;div id=&quot;a12&quot;&gt;12. Virtual Thread&lt;/div&gt;&lt;/h2&gt;

&lt;p&gt;Java 21 &amp;#xC774;&amp;#xC0C1; &amp;#xBC84;&amp;#xC804;&amp;#xC744; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD558;&amp;#xB294; &amp;#xACBD;&amp;#xC6B0;, &lt;code&gt;spring.threads.virtual.enabled&lt;/code&gt; &amp;#xC18D;&amp;#xC131;&amp;#xC744; &amp;#xC774;&amp;#xC6A9;&amp;#xD558;&amp;#xC5EC; &amp;#xAC00;&amp;#xC0C1; &amp;#xC2A4;&amp;#xB808;&amp;#xB4DC;&amp;#xB97C; &amp;#xD65C;&amp;#xC131;&amp;#xD654;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xC774; &amp;#xC635;&amp;#xC158;&amp;#xC744; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD558;&amp;#xAE30; &amp;#xC804;&amp;#xC5D0;, &lt;a href=&quot;https://docs.oracle.com/en/java/javase/21/core/virtual-threads.html&quot;&gt;official Java virtual threads Docs&lt;/a&gt;&amp;#xB97C; &amp;#xC77D;&amp;#xC5B4;&amp;#xBCF4;&amp;#xB294;&amp;#xAC83;&amp;#xC744; &amp;#xAD8C;&amp;#xC7A5;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xC5B4;&amp;#xB5A4; &amp;#xACBD;&amp;#xC6B0;, &amp;quot;&amp;#xACE0;&amp;#xC815;&amp;#xB41C; &amp;#xAC00;&amp;#xC0C1; &amp;#xC2A4;&amp;#xB808;&amp;#xB4DC;&amp;quot;&amp;#xB85C; &amp;#xC778;&amp;#xD558;&amp;#xC5EC; &amp;#xC560;&amp;#xD50C;&amp;#xB9AC;&amp;#xCF00;&amp;#xC774;&amp;#xC158;&amp;#xC758; &amp;#xCC98;&amp;#xB9AC;&amp;#xB7C9;&amp;#xC774; &amp;#xB0AE;&amp;#xC544;&amp;#xC9C8; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xC704;&amp;#xC758; &amp;#xACF5;&amp;#xC2DD;&amp;#xBB38;&amp;#xC11C;&amp;#xC5D0;&amp;#xC11C;&amp;#xB294; JDK Flight Recorder &amp;#xB610;&amp;#xB294; jcmd CLI&amp;#xB85C; &amp;#xC774;&amp;#xB7EC;&amp;#xD55C; &amp;#xACBD;&amp;#xC6B0;&amp;#xB97C; &amp;#xAC10;&amp;#xC9C0;&amp;#xD558;&amp;#xB294; &amp;#xBC29;&amp;#xBC95;&amp;#xB3C4; &amp;#xC124;&amp;#xBA85;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;div class=&quot;admonition info&quot;&gt;
&lt;p class=&quot;admonition-title&quot;&gt;note&lt;/p&gt;
&lt;p&gt;virtual thread&amp;#xB294; &amp;#xC804;&amp;#xC6A9; &amp;#xC2A4;&amp;#xB808;&amp;#xB4DC; &amp;#xD480;&amp;#xC774; &amp;#xC544;&amp;#xB2CC; JVM &amp;#xC804;&amp;#xCCB4; &amp;#xD50C;&amp;#xB7AB;&amp;#xD3FC; &amp;#xC2A4;&amp;#xB808;&amp;#xB4DC; &amp;#xD480;&amp;#xC5D0;&amp;#xC11C; &amp;#xC608;&amp;#xC57D;&amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xB530;&amp;#xB77C;&amp;#xC11C;, virtual thread &amp;#xAC00; &amp;#xD65C;&amp;#xC131;&amp;#xD654;&amp;#xB418;&amp;#xBA74; &lt;strong&gt;thread pool&amp;#xC744; &amp;#xAD6C;&amp;#xC131;&amp;#xD558;&amp;#xB294; &amp;#xC18D;&amp;#xC131;&amp;#xC740; &amp;#xB354;&amp;#xC774;&amp;#xC0C1; &amp;#xD6A8;&amp;#xACFC;&amp;#xAC00; &amp;#xC5C6;&amp;#xC5B4; &amp;#xC9D1;&amp;#xB2C8;&amp;#xB2E4;.&lt;/strong&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;br&gt;
&lt;div class=&quot;admonition warning&quot;&gt;
&lt;p class=&quot;admonition-title&quot;&gt;Warning&lt;/p&gt;
&lt;p&gt;&amp;#xAC00;&amp;#xC0C1; &amp;#xC2A4;&amp;#xB808;&amp;#xB4DC;&amp;#xB294; &amp;#xB370;&amp;#xBAAC; &amp;#xC2A4;&amp;#xB808;&amp;#xB4DC;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xBAA8;&amp;#xB4E0; &amp;#xC2A4;&amp;#xB808;&amp;#xB4DC;&amp;#xAC00; &amp;#xB370;&amp;#xBAAC; &amp;#xC2A4;&amp;#xB808;&amp;#xB4DC;&amp;#xC77C; &amp;#xACBD;&amp;#xC6B0;, JVM&amp;#xC774; &amp;#xC885;&amp;#xB8CC;&amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xC774;&amp;#xB7EC;&amp;#xD55C; &amp;#xC131;&amp;#xC9C8;&amp;#xC744; &amp;#xC720;&amp;#xC758;&amp;#xD558;&amp;#xC9C0; &amp;#xC54A;&amp;#xC73C;&amp;#xBA74; &amp;#xC560;&amp;#xD50C;&amp;#xB9AC;&amp;#xCF00;&amp;#xC774;&amp;#xC158; &amp;#xC6B4;&amp;#xC601; &amp;#xC911; &amp;#xBB38;&amp;#xC81C;&amp;#xC810;&amp;#xC744; &amp;#xB9CC;&amp;#xB0A0; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xC608;&amp;#xB97C; &amp;#xB4E4;&amp;#xC5B4;, &amp;#xC560;&amp;#xD50C;&amp;#xB9AC;&amp;#xCF00;&amp;#xC774;&amp;#xC158;&amp;#xC744; &amp;#xC720;&amp;#xC9C0;&amp;#xD558;&amp;#xAE30; &amp;#xC704;&amp;#xD574; &lt;code&gt;@Scheduled&lt;/code&gt; Bean&amp;#xC5D0; &amp;#xC758;&amp;#xC874;&amp;#xD558;&amp;#xB294; &amp;#xACBD;&amp;#xC6B0; &amp;#xC774;&amp;#xB7EC;&amp;#xD55C; &amp;#xB3D9;&amp;#xC791;&amp;#xC774; &amp;#xBB38;&amp;#xC81C;&amp;#xAC00; &amp;#xB420; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xAC00;&amp;#xC0C1; &amp;#xC2A4;&amp;#xB808;&amp;#xB4DC;&amp;#xAC00; &amp;#xD65C;&amp;#xC131;&amp;#xD654;&amp;#xB41C; &amp;#xC0C1;&amp;#xD0DC;&amp;#xC5D0;&amp;#xC11C;&amp;#xB294;, &amp;#xC2A4;&amp;#xCF00;&amp;#xC904;&amp;#xB7EC; &amp;#xC2A4;&amp;#xB808;&amp;#xB4DC;&amp;#xAC00; &amp;#xB370;&amp;#xBAAC; &amp;#xC2A4;&amp;#xB808;&amp;#xB4DC;&amp;#xAC00; &amp;#xB418;&amp;#xAE30; &amp;#xB54C;&amp;#xBB38;&amp;#xC5D0; JVM&amp;#xC744; &amp;#xD65C;&amp;#xC131; &amp;#xC0C1;&amp;#xD0DC;&amp;#xB85C; &amp;#xC720;&amp;#xC9C0;&amp;#xD558;&amp;#xC9C0; &amp;#xC54A;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xC774;&amp;#xB294; &amp;#xC2A4;&amp;#xCF00;&amp;#xC904;&amp;#xB9C1;&amp;#xC5D0; &amp;#xC601;&amp;#xD5A5;&amp;#xC744; &amp;#xBBF8;&amp;#xCE60; &amp;#xBFD0;&amp;#xB9CC; &amp;#xC544;&amp;#xB2C8;&amp;#xB77C; &amp;#xB2E4;&amp;#xB978; &amp;#xAE30;&amp;#xC220;&amp;#xC5D0;&amp;#xB3C4; &amp;#xC601;&amp;#xD5A5;&amp;#xC744; &amp;#xBBF8;&amp;#xCE60; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xBAA8;&amp;#xB4E0; &amp;#xACBD;&amp;#xC6B0;&amp;#xC5D0; JVM&amp;#xC744; &amp;#xACC4;&amp;#xC18D; &amp;#xC2E4;&amp;#xD589;&amp;#xD558;&amp;#xAE30; &amp;#xC704;&amp;#xD574;&amp;#xC11C;&amp;#xB294; &lt;code&gt;spring.main.keep-alive&lt;/code&gt; &amp;#xC18D;&amp;#xC131;&amp;#xC744; &lt;code&gt;true&lt;/code&gt;&amp;#xB85C; &amp;#xC124;&amp;#xC815;&amp;#xD558;&amp;#xBA74; &amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;. &amp;#xC774;&amp;#xB807;&amp;#xAC8C; &amp;#xC124;&amp;#xC815;&amp;#xD558;&amp;#xBA74; &amp;#xBAA8;&amp;#xB4E0; &amp;#xC2A4;&amp;#xB808;&amp;#xB4DC;&amp;#xAC00; &amp;#xAC00;&amp;#xC0C1; &amp;#xC2A4;&amp;#xB808;&amp;#xB4DC;&amp;#xC778; &amp;#xACBD;&amp;#xC6B0;&amp;#xC5D0;&amp;#xB3C4; JVM&amp;#xC774; &amp;#xD65C;&amp;#xC131;&amp;#xC0C1;&amp;#xD0DC;&amp;#xB85C; &amp;#xC720;&amp;#xC9C0;&amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;/div&gt;
&lt;hr&gt;
&lt;h2 class=&quot;mume-header&quot; id&gt;++&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Spring Boot Docs 3.3.4&lt;/li&gt;
&lt;li&gt;Core Features - SpringApplication&lt;/li&gt;
&lt;/ul&gt;

  &lt;/div&gt;&lt;/div&gt;</description>
      <category>Spring/Spring Docs</category>
      <category>Spring Boot</category>
      <category>spring docs</category>
      <author>jiniya22</author>
      <guid isPermaLink="true">https://jini-box.tistory.com/248</guid>
      <comments>https://jini-box.tistory.com/248#entry248comment</comments>
      <pubDate>Tue, 22 Oct 2024 16:33:01 +0900</pubDate>
    </item>
    <item>
      <title>[Spring Boot Core] Actuator를 이용한 환경 변수 모아보기</title>
      <link>https://jini-box.tistory.com/247</link>
      <description>&lt;body id=&quot;html-export&quot;&gt;
      &lt;div class=&quot;mume markdown-preview  &quot;&gt;
      &lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;#a01&quot;&gt;dependency &amp;#xCD94;&amp;#xAC00;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#a02&quot;&gt;actuator endpoints &amp;#xC124;&amp;#xC815;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#a03&quot;&gt;&amp;#xD658;&amp;#xACBD;&amp;#xBCC0;&amp;#xC218; &amp;#xBCF4;&amp;#xC774;&amp;#xAC8C; &amp;#xC124;&amp;#xC815;&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;hr&gt;
&lt;p&gt;Spring Application&amp;#xC744; &amp;#xC774;&amp;#xC6A9;&amp;#xD558;&amp;#xC5EC; &amp;#xAC1C;&amp;#xBC1C;&amp;#xC744; &amp;#xD558;&amp;#xB294; &amp;#xC911;&amp;#xC5D0;, OS&amp;#xC5D0; &amp;#xC124;&amp;#xC815;&amp;#xB418;&amp;#xC5B4;&amp;#xC788;&amp;#xB294; &amp;#xD658;&amp;#xACBD; &amp;#xBCC0;&amp;#xC218;&amp;#xB098;, &amp;#xD504;&amp;#xB85C;&amp;#xD37C;&amp;#xD2F0;&amp;#xB97C; &amp;#xD1B5;&amp;#xD574; &amp;#xC124;&amp;#xC815;&amp;#xB41C; &amp;#xD504;&amp;#xB85C;&amp;#xD30C;&amp;#xC77C; &amp;#xAC12;&amp;#xB4E4;&amp;#xC774; &amp;#xC5B4;&amp;#xB5BB;&amp;#xAC8C; &amp;#xC801;&amp;#xC6A9;&amp;#xB418;&amp;#xC5B4;&amp;#xC788;&amp;#xB294;&amp;#xC9C0; &amp;#xD55C;&amp;#xB208;&amp;#xC5D0; &amp;#xD655;&amp;#xC778;&amp;#xD574;&amp;#xBCF4;&amp;#xACE0; &amp;#xC2F6;&amp;#xC740; &amp;#xACBD;&amp;#xC6B0;&amp;#xAC00; &amp;#xC885;&amp;#xC885; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;Spring Actuator &amp;#xC5D0;&amp;#xC11C;&amp;#xB294; &amp;#xC774;&amp;#xB7EC;&amp;#xD55C; &amp;#xD658;&amp;#xACBD;&amp;#xC815;&amp;#xBCF4;&amp;#xB97C; &amp;#xBAA8;&amp;#xC544;&amp;#xC11C; json&amp;#xD615;&amp;#xD0DC;&amp;#xB85C; &amp;#xB0B4;&amp;#xB824;&amp;#xC8FC;&amp;#xB294; &amp;#xAE30;&amp;#xB2A5;&amp;#xC744; &amp;#xC81C;&amp;#xACF5;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 class=&quot;mume-header&quot; id=&quot;div-ida011-dependency-%EC%B6%94%EA%B0%80div&quot;&gt;&lt;div id=&quot;a01&quot;&gt;1. dependency &amp;#xCD94;&amp;#xAC00;&lt;/div&gt;&lt;/h2&gt;

&lt;p&gt;&amp;#xC0AC;&amp;#xC6A9;&amp;#xC911;&amp;#xC778; dependency &amp;#xAD00;&amp;#xB9AC;&amp;#xD234;&amp;#xC5D0; &amp;#xB530;&amp;#xB978; dependency&amp;#xB97C; &amp;#xCD94;&amp;#xAC00;&amp;#xD574;&amp;#xC90D;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;groovy&quot; class=&quot;language-groovy&quot;&gt;&lt;span class=&quot;token function&quot;&gt;implementation&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;org.springframework.boot:spring-boot-starter-actuator:3.3.4&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;/pre&gt;&lt;blockquote&gt;
&lt;p&gt;build.gradle.kts (Gradle - Kotlin)&lt;/p&gt;
&lt;/blockquote&gt;
&lt;br&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;xml&quot; class=&quot;language-xml&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;dependency&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
    &lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;groupId&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;org.springframework.boot&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;/&lt;/span&gt;groupId&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
    &lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;artifactId&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;spring-boot-starter-actuator&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;/&lt;/span&gt;artifactId&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
    &lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;version&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;3.3.4&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;/&lt;/span&gt;version&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;/&lt;/span&gt;dependency&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;/pre&gt;&lt;blockquote&gt;
&lt;p&gt;pom.xml (Maven)&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr&gt;
&lt;h2 class=&quot;mume-header&quot; id=&quot;div-ida022-actuator-endpoints-%EC%84%A4%EC%A0%95div&quot;&gt;&lt;div id=&quot;a02&quot;&gt;2. actuator endpoints &amp;#xC124;&amp;#xC815;&lt;/div&gt;&lt;/h2&gt;

&lt;p&gt;&amp;#xBCF4;&amp;#xC548; &amp;#xC774;&amp;#xC288; &amp;#xB54C;&amp;#xBB38;&amp;#xC5D0; &amp;#xC2E4;&amp;#xC9C8;&amp;#xC801;&amp;#xC778; &amp;#xC0C1;&amp;#xC6A9;&amp;#xD658;&amp;#xACBD;&amp;#xC5D0;&amp;#xC11C;&amp;#xB294; &amp;#xC801;&amp;#xC6A9;&amp;#xD558;&amp;#xBA74; &amp;#xC548;&amp;#xB418;&amp;#xACA0;&amp;#xC9C0;&amp;#xB9CC;, &amp;#xAC1C;&amp;#xBC1C;&amp;#xC911;&amp;#xC778; &amp;#xB85C;&amp;#xCEEC; &amp;#xD658;&amp;#xACBD;&amp;#xC5D0;&amp;#xC11C;&amp;#xB294; &amp;#xC635;&amp;#xC158;&amp;#xC744; &amp;#xC774;&amp;#xC6A9;&amp;#xD558;&amp;#xBA74; &amp;#xD604;&amp;#xC7AC; &amp;#xD658;&amp;#xACBD;&amp;#xC5D0;&amp;#xC11C; &amp;#xC5B4;&amp;#xB5A0;&amp;#xD55C; &amp;#xD658;&amp;#xACBD;&amp;#xBCC0;&amp;#xC218;&amp;#xAC00; &amp;#xC124;&amp;#xC815;&amp;#xB418;&amp;#xC5B4;&amp;#xC788;&amp;#xB294;&amp;#xC9C0; &amp;#xD55C;&amp;#xB208;&amp;#xC5D0; &amp;#xD655;&amp;#xC778;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC5B4; &amp;#xD544;&amp;#xC694;&amp;#xC2DC; &amp;#xD65C;&amp;#xC6A9;&amp;#xD558;&amp;#xAE30; &amp;#xC88B;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&lt;br&gt;&lt;/p&gt;
&lt;p&gt;actuator &amp;#xC758;&amp;#xC874;&amp;#xC131;&amp;#xC744; &amp;#xCD94;&amp;#xAC00;&amp;#xD588;&amp;#xB2E4;&amp;#xBA74;, &lt;em&gt;application.yml&lt;/em&gt; &amp;#xC5D0; actuator &amp;#xAD00;&amp;#xB828; &amp;#xC124;&amp;#xC815;&amp;#xC744; &amp;#xCD94;&amp;#xAC00;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
actuator &amp;#xD658;&amp;#xACBD;&amp;#xC124;&amp;#xC815;&amp;#xC744; &amp;#xC77D;&amp;#xAE30;&amp;#xC704;&amp;#xD574;&amp;#xC11C;&amp;#xB294; &lt;code&gt;management.endpoints.web.exposure.include&lt;/code&gt; &amp;#xAC12;&amp;#xC5D0; env&amp;#xB97C; &amp;#xCD94;&amp;#xAC00;&amp;#xD574;&amp;#xC8FC;&amp;#xBA74; &amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;yml&quot; class=&quot;language-yaml&quot;&gt;&lt;span class=&quot;token key atrule&quot;&gt;management&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
  &lt;span class=&quot;token key atrule&quot;&gt;endpoints&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
    &lt;span class=&quot;token key atrule&quot;&gt;web&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
      &lt;span class=&quot;token key atrule&quot;&gt;exposure&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
        &lt;span class=&quot;token key atrule&quot;&gt;include&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; env
&lt;/pre&gt;&lt;br&gt;
&lt;h3 class=&quot;mume-header&quot; id=&quot;21-get-actuatorenv&quot;&gt;2.1. GET &lt;code&gt;/actuator/env&lt;/code&gt;&lt;/h3&gt;

&lt;p&gt;&amp;#xC0AC;&amp;#xC6A9;&amp;#xD558;&amp;#xACE0; &amp;#xC788;&amp;#xB294; http client&amp;#xB85C; &lt;code&gt;/actuator/env&lt;/code&gt; api&amp;#xB97C; &amp;#xC2E4;&amp;#xD589;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;HTTPie&amp;#xB85C; &amp;#xC2E4;&amp;#xD589;&amp;#xD55C; &amp;#xACB0;&amp;#xACFC;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xD658;&amp;#xACBD;&amp;#xBCC0;&amp;#xC218;&amp;#xC758; values &amp;#xAC12;&amp;#xC744; &amp;#xBCF4;&amp;#xC5EC;&amp;#xC8FC;&amp;#xC9C0; &amp;#xC54A;&amp;#xACE0; &amp;#xB9C8;&amp;#xC2A4;&amp;#xD0B9; &amp;#xCC98;&amp;#xB9AC;&amp;#xB41C; &amp;#xACB0;&amp;#xACFC;&amp;#xB97C; &amp;#xBCF4;&amp;#xC5EC;&amp;#xC8FC;&amp;#xB294; &amp;#xAC83;&amp;#xC774; &amp;#xAE30;&amp;#xBCF8; &amp;#xAC12;&amp;#xC774;&amp;#xAE30; &amp;#xB54C;&amp;#xBB38;&amp;#xC5D0; &amp;#xC544;&amp;#xB798;&amp;#xC640; &amp;#xAC19;&amp;#xC774; &lt;code&gt;&amp;quot;******&amp;quot;&lt;/code&gt;&amp;#xB85C; &amp;#xCD9C;&amp;#xB825;&amp;#xB418;&amp;#xB294; &amp;#xAC83;&amp;#xC744; &amp;#xD655;&amp;#xC778;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;http&quot; class=&quot;language-http&quot;&gt;http :8080/actuator/env
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;http&quot; class=&quot;language-http&quot;&gt;HTTP/1.1 200
&lt;span class=&quot;token header-name keyword&quot;&gt;Connection:&lt;/span&gt; keep-alive
&lt;span class=&quot;token header-name keyword&quot;&gt;Content-Type:&lt;/span&gt; application/vnd.spring-boot.actuator.v3+json
&lt;span class=&quot;token header-name keyword&quot;&gt;Date:&lt;/span&gt; Tue, 15 Oct 2024 09:03:10 GMT
&lt;span class=&quot;token header-name keyword&quot;&gt;Keep-Alive:&lt;/span&gt; timeout=60
&lt;span class=&quot;token header-name keyword&quot;&gt;Transfer-Encoding:&lt;/span&gt; chunked&lt;span class=&quot;token application-json&quot;&gt;

&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;token string&quot;&gt;&amp;quot;activeProfiles&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;
    &lt;span class=&quot;token string&quot;&gt;&amp;quot;local&amp;quot;&lt;/span&gt;
  &lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
  &lt;span class=&quot;token string&quot;&gt;&amp;quot;defaultProfiles&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;
    &lt;span class=&quot;token string&quot;&gt;&amp;quot;default&amp;quot;&lt;/span&gt;
  &lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
  &lt;span class=&quot;token string&quot;&gt;&amp;quot;propertySources&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
      &lt;span class=&quot;token string&quot;&gt;&amp;quot;name&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;server.ports&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
      &lt;span class=&quot;token string&quot;&gt;&amp;quot;properties&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
        &lt;span class=&quot;token string&quot;&gt;&amp;quot;local.server.port&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
          &lt;span class=&quot;token string&quot;&gt;&amp;quot;value&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;******&amp;quot;&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
      &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
      &lt;span class=&quot;token string&quot;&gt;&amp;quot;name&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;devtools-local: [file:/Users/jini/.config/spring-boot/spring-boot-devtools.yml]&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
      &lt;span class=&quot;token string&quot;&gt;&amp;quot;properties&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
        &lt;span class=&quot;token string&quot;&gt;&amp;quot;spring.devtools.restart.enabled&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
          &lt;span class=&quot;token string&quot;&gt;&amp;quot;value&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;******&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
          &lt;span class=&quot;token string&quot;&gt;&amp;quot;origin&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;file [/Users/jini/.config/spring-boot/spring-boot-devtools.yml] - 4:16&amp;quot;&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
        &lt;span class=&quot;token string&quot;&gt;&amp;quot;spring.devtools.restart.log-condition-evaluation-delta&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
          &lt;span class=&quot;token string&quot;&gt;&amp;quot;value&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;******&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
          &lt;span class=&quot;token string&quot;&gt;&amp;quot;origin&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;file [/Users/jini/.config/spring-boot/spring-boot-devtools.yml] - 5:39&amp;quot;&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
        &lt;span class=&quot;token string&quot;&gt;&amp;quot;spring.devtools.restart.additional-exclude&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
          &lt;span class=&quot;token string&quot;&gt;&amp;quot;value&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;******&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
          &lt;span class=&quot;token string&quot;&gt;&amp;quot;origin&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;file [/Users/jini/.config/spring-boot/spring-boot-devtools.yml] - 6:27&amp;quot;&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
        &lt;span class=&quot;token string&quot;&gt;&amp;quot;spring.devtools.livereload.enabled&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
          &lt;span class=&quot;token string&quot;&gt;&amp;quot;value&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;******&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
          &lt;span class=&quot;token string&quot;&gt;&amp;quot;origin&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;file [/Users/jini/.config/spring-boot/spring-boot-devtools.yml] - 8:16&amp;quot;&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
      &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
      &lt;span class=&quot;token string&quot;&gt;&amp;quot;name&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;commandLineArgs&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
      &lt;span class=&quot;token string&quot;&gt;&amp;quot;properties&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
        &lt;span class=&quot;token string&quot;&gt;&amp;quot;debug&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
          &lt;span class=&quot;token string&quot;&gt;&amp;quot;value&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;******&amp;quot;&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
        &lt;span class=&quot;token string&quot;&gt;&amp;quot;tag&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
          &lt;span class=&quot;token string&quot;&gt;&amp;quot;value&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;******&amp;quot;&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
      &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
      &lt;span class=&quot;token string&quot;&gt;&amp;quot;name&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;servletContextInitParams&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
      &lt;span class=&quot;token string&quot;&gt;&amp;quot;properties&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
      &lt;span class=&quot;token string&quot;&gt;&amp;quot;name&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;systemProperties&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
      &lt;span class=&quot;token string&quot;&gt;&amp;quot;properties&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
        &lt;span class=&quot;token string&quot;&gt;&amp;quot;spring.devtools.restart.trigger-file&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
          &lt;span class=&quot;token string&quot;&gt;&amp;quot;value&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;******&amp;quot;&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
        &lt;span class=&quot;token string&quot;&gt;&amp;quot;java.specification.version&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
          &lt;span class=&quot;token string&quot;&gt;&amp;quot;value&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;******&amp;quot;&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
        &lt;span class=&quot;token string&quot;&gt;&amp;quot;sun.jnu.encoding&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
          &lt;span class=&quot;token string&quot;&gt;&amp;quot;value&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;******&amp;quot;&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
        &lt;span class=&quot;token string&quot;&gt;&amp;quot;java.class.path&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
          &lt;span class=&quot;token string&quot;&gt;&amp;quot;value&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;******&amp;quot;&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
        &lt;span class=&quot;token string&quot;&gt;&amp;quot;java.vm.vendor&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
          &lt;span class=&quot;token string&quot;&gt;&amp;quot;value&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;******&amp;quot;&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
        &lt;span class=&quot;token spread operator&quot;&gt;...&lt;/span&gt;
        &lt;span class=&quot;token string&quot;&gt;&amp;quot;java.class.version&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
          &lt;span class=&quot;token string&quot;&gt;&amp;quot;value&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;******&amp;quot;&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
        &lt;span class=&quot;token string&quot;&gt;&amp;quot;LOGGED_APPLICATION_NAME&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
          &lt;span class=&quot;token string&quot;&gt;&amp;quot;value&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;******&amp;quot;&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
      &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
      &lt;span class=&quot;token string&quot;&gt;&amp;quot;name&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;systemEnvironment&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
      &lt;span class=&quot;token string&quot;&gt;&amp;quot;properties&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
        &lt;span class=&quot;token string&quot;&gt;&amp;quot;HOMEBREW_PREFIX&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
          &lt;span class=&quot;token string&quot;&gt;&amp;quot;value&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;******&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
          &lt;span class=&quot;token string&quot;&gt;&amp;quot;origin&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;System Environment Property \&amp;quot;HOMEBREW_PREFIX\&amp;quot;&amp;quot;&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
        &lt;span class=&quot;token string&quot;&gt;&amp;quot;RABBIT_MQ_HOME&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
          &lt;span class=&quot;token string&quot;&gt;&amp;quot;value&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;******&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
          &lt;span class=&quot;token string&quot;&gt;&amp;quot;origin&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;System Environment Property \&amp;quot;RABBIT_MQ_HOME\&amp;quot;&amp;quot;&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
        &lt;span class=&quot;token string&quot;&gt;&amp;quot;SDKMAN_CANDIDATES_API&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
          &lt;span class=&quot;token string&quot;&gt;&amp;quot;value&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;******&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
          &lt;span class=&quot;token string&quot;&gt;&amp;quot;origin&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;System Environment Property \&amp;quot;SDKMAN_CANDIDATES_API\&amp;quot;&amp;quot;&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
        &lt;span class=&quot;token spread operator&quot;&gt;...&lt;/span&gt;
        &lt;span class=&quot;token string&quot;&gt;&amp;quot;NVM_BIN&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
          &lt;span class=&quot;token string&quot;&gt;&amp;quot;value&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;******&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
          &lt;span class=&quot;token string&quot;&gt;&amp;quot;origin&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;System Environment Property \&amp;quot;NVM_BIN\&amp;quot;&amp;quot;&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
      &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
      &lt;span class=&quot;token string&quot;&gt;&amp;quot;name&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;Config resource &amp;apos;class path resource [application.yml]&amp;apos; via location &amp;apos;optional:classpath:/&amp;apos;&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
      &lt;span class=&quot;token string&quot;&gt;&amp;quot;properties&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
        &lt;span class=&quot;token string&quot;&gt;&amp;quot;spring.application.admin.enabled&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
          &lt;span class=&quot;token string&quot;&gt;&amp;quot;value&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;******&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
          &lt;span class=&quot;token string&quot;&gt;&amp;quot;origin&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;class path resource [application.yml] - 4:16&amp;quot;&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
        &lt;span class=&quot;token string&quot;&gt;&amp;quot;spring.application.name&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
          &lt;span class=&quot;token string&quot;&gt;&amp;quot;value&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;******&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
          &lt;span class=&quot;token string&quot;&gt;&amp;quot;origin&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;class path resource [application.yml] - 5:11&amp;quot;&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
        &lt;span class=&quot;token string&quot;&gt;&amp;quot;spring.profiles.active&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
          &lt;span class=&quot;token string&quot;&gt;&amp;quot;value&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;******&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
          &lt;span class=&quot;token string&quot;&gt;&amp;quot;origin&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;class path resource [application.yml] - 7:13&amp;quot;&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
        &lt;span class=&quot;token spread operator&quot;&gt;...&lt;/span&gt;
        &lt;span class=&quot;token string&quot;&gt;&amp;quot;logging.level.root&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
          &lt;span class=&quot;token string&quot;&gt;&amp;quot;value&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;******&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
          &lt;span class=&quot;token string&quot;&gt;&amp;quot;origin&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;class path resource [application.yml] - 53:11&amp;quot;&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
        &lt;span class=&quot;token string&quot;&gt;&amp;quot;logging.level.web&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
          &lt;span class=&quot;token string&quot;&gt;&amp;quot;value&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;******&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
          &lt;span class=&quot;token string&quot;&gt;&amp;quot;origin&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;class path resource [application.yml] - 54:10&amp;quot;&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
      &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
      &lt;span class=&quot;token string&quot;&gt;&amp;quot;name&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;devtools&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
      &lt;span class=&quot;token string&quot;&gt;&amp;quot;properties&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
        &lt;span class=&quot;token string&quot;&gt;&amp;quot;spring.groovy.template.cache&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
          &lt;span class=&quot;token string&quot;&gt;&amp;quot;value&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;******&amp;quot;&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
        &lt;span class=&quot;token string&quot;&gt;&amp;quot;spring.mvc.log-resolved-exception&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
          &lt;span class=&quot;token string&quot;&gt;&amp;quot;value&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;******&amp;quot;&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
        &lt;span class=&quot;token string&quot;&gt;&amp;quot;spring.web.resources.chain.cache&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
          &lt;span class=&quot;token string&quot;&gt;&amp;quot;value&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;******&amp;quot;&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
        &lt;span class=&quot;token string&quot;&gt;&amp;quot;spring.thymeleaf.cache&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
          &lt;span class=&quot;token string&quot;&gt;&amp;quot;value&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;******&amp;quot;&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
        &lt;span class=&quot;token spread operator&quot;&gt;...&lt;/span&gt;
        &lt;span class=&quot;token string&quot;&gt;&amp;quot;spring.web.resources.cache.period&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
          &lt;span class=&quot;token string&quot;&gt;&amp;quot;value&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;******&amp;quot;&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
      &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
  &lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/pre&gt;&lt;br&gt;
&lt;h3 class=&quot;mume-header&quot; id=&quot;21-get-actuatorenv%ED%99%98%EA%B2%BD%EB%B3%80%EC%88%98%EB%AA%85&quot;&gt;2.1. GET &lt;code&gt;/actuator/env/{&amp;#xD658;&amp;#xACBD;&amp;#xBCC0;&amp;#xC218;&amp;#xBA85;}&lt;/code&gt;&lt;/h3&gt;

&lt;p&gt;&amp;#xC0AC;&amp;#xC6A9;&amp;#xD558;&amp;#xACE0; &amp;#xC788;&amp;#xB294; http client&amp;#xB85C; &lt;code&gt;/actuator/env/{&amp;#xD658;&amp;#xACBD;&amp;#xBCC0;&amp;#xC218;&amp;#xBA85;}&lt;/code&gt; api&amp;#xB97C; &amp;#xC2E4;&amp;#xD589;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xD2B9;&amp;#xC815; &amp;#xD658;&amp;#xACBD;&amp;#xBCC0;&amp;#xC218;&amp;#xBA85;&amp;#xC5D0; &amp;#xB300;&amp;#xD558;&amp;#xC5EC; &amp;#xC138;&amp;#xBD80;&amp;#xC815;&amp;#xBCF4;&amp;#xB97C; &amp;#xC870;&amp;#xD68C;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;http&quot; class=&quot;language-http&quot;&gt;http :8080/actuator/env/RABBIT_MQ_HOME
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;http&quot; class=&quot;language-http&quot;&gt;HTTP/1.1 200
&lt;span class=&quot;token header-name keyword&quot;&gt;Connection:&lt;/span&gt; keep-alive
&lt;span class=&quot;token header-name keyword&quot;&gt;Content-Type:&lt;/span&gt; application/vnd.spring-boot.actuator.v3+json
&lt;span class=&quot;token header-name keyword&quot;&gt;Date:&lt;/span&gt; Tue, 15 Oct 2024 09:06:57 GMT
&lt;span class=&quot;token header-name keyword&quot;&gt;Keep-Alive:&lt;/span&gt; timeout=60
&lt;span class=&quot;token header-name keyword&quot;&gt;Transfer-Encoding:&lt;/span&gt; chunked&lt;span class=&quot;token application-json&quot;&gt;

&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;token string&quot;&gt;&amp;quot;activeProfiles&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;
        &lt;span class=&quot;token string&quot;&gt;&amp;quot;local&amp;quot;&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
    &lt;span class=&quot;token string&quot;&gt;&amp;quot;defaultProfiles&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;
        &lt;span class=&quot;token string&quot;&gt;&amp;quot;default&amp;quot;&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
    &lt;span class=&quot;token string&quot;&gt;&amp;quot;property&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
        &lt;span class=&quot;token string&quot;&gt;&amp;quot;source&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;systemEnvironment&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
        &lt;span class=&quot;token string&quot;&gt;&amp;quot;value&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;******&amp;quot;&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
    &lt;span class=&quot;token string&quot;&gt;&amp;quot;propertySources&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
            &lt;span class=&quot;token string&quot;&gt;&amp;quot;name&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;server.ports&amp;quot;&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
            &lt;span class=&quot;token string&quot;&gt;&amp;quot;name&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;devtools-local: [file:/Users/jini/.config/spring-boot/spring-boot-devtools.yml]&amp;quot;&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
            &lt;span class=&quot;token string&quot;&gt;&amp;quot;name&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;commandLineArgs&amp;quot;&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
            &lt;span class=&quot;token string&quot;&gt;&amp;quot;name&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;servletConfigInitParams&amp;quot;&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
            &lt;span class=&quot;token string&quot;&gt;&amp;quot;name&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;servletContextInitParams&amp;quot;&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
            &lt;span class=&quot;token string&quot;&gt;&amp;quot;name&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;systemProperties&amp;quot;&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
            &lt;span class=&quot;token string&quot;&gt;&amp;quot;name&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;systemEnvironment&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
            &lt;span class=&quot;token string&quot;&gt;&amp;quot;property&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
                &lt;span class=&quot;token string&quot;&gt;&amp;quot;origin&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;System Environment Property \&amp;quot;RABBIT_MQ_HOME\&amp;quot;&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
                &lt;span class=&quot;token string&quot;&gt;&amp;quot;value&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;******&amp;quot;&lt;/span&gt;
            &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
            &lt;span class=&quot;token string&quot;&gt;&amp;quot;name&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;random&amp;quot;&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
            &lt;span class=&quot;token string&quot;&gt;&amp;quot;name&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;Config resource &amp;apos;class path resource [application.yml]&amp;apos; via location &amp;apos;optional:classpath:/&amp;apos;&amp;quot;&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
            &lt;span class=&quot;token string&quot;&gt;&amp;quot;name&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;devtools&amp;quot;&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
            &lt;span class=&quot;token string&quot;&gt;&amp;quot;name&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;Management Server&amp;quot;&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/pre&gt;&lt;hr&gt;
&lt;h2 class=&quot;mume-header&quot; id=&quot;div-ida033-%ED%99%98%EA%B2%BD%EB%B3%80%EC%88%98-%EB%B3%B4%EC%9D%B4%EA%B2%8C-%EC%84%A4%EC%A0%95div&quot;&gt;&lt;div id=&quot;a03&quot;&gt;3. &amp;#xD658;&amp;#xACBD;&amp;#xBCC0;&amp;#xC218; &amp;#xBCF4;&amp;#xC774;&amp;#xAC8C; &amp;#xC124;&amp;#xC815;&lt;/div&gt;&lt;/h2&gt;

&lt;p&gt;&amp;#xD658;&amp;#xACBD;&amp;#xBCC0;&amp;#xC218;&amp;#xB294; &amp;#xBCF4;&amp;#xC548;&amp;#xC774; &amp;#xB9E4;&amp;#xC6B0; &amp;#xC911;&amp;#xC694;&amp;#xD55C; &amp;#xC694;&amp;#xC18C;&amp;#xB85C;, &amp;#xB85C;&amp;#xCEEC;&amp;#xD658;&amp;#xACBD;&amp;#xC5D0;&amp;#xC11C;&amp;#xB9CC; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD558;&amp;#xAE30; &amp;#xAD8C;&amp;#xC7A5;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
local&amp;#xC5D0;&amp;#xC11C; &amp;#xD14C;&amp;#xC2A4;&amp;#xD2B8; &amp;#xC911;, &amp;#xD504;&amp;#xB85C;&amp;#xC81D;&amp;#xD2B8;&amp;#xC5D0;&amp;#xC11C; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD558;&amp;#xACE0; &amp;#xC788;&amp;#xB294; &amp;#xD658;&amp;#xACBD;&amp;#xBCC0;&amp;#xC218;&amp;#xAC12;&amp;#xC744; &amp;#xD655;&amp;#xC778;&amp;#xD558;&amp;#xACE0; &amp;#xC2F6;&amp;#xC744; &amp;#xB54C; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD558;&amp;#xBA74; &amp;#xC88B;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;management.endpoint.env.show-values&lt;/code&gt; &amp;#xAC12;&amp;#xC744; always &amp;#xB85C; &amp;#xC124;&amp;#xC815;&amp;#xD558;&amp;#xC5EC; &amp;#xD655;&amp;#xC778;&amp;#xD558;&amp;#xBA74; &amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;yml&quot; class=&quot;language-yaml&quot;&gt;&lt;span class=&quot;token key atrule&quot;&gt;management&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
  &lt;span class=&quot;token key atrule&quot;&gt;endpoint&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
    &lt;span class=&quot;token key atrule&quot;&gt;env&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
      &lt;span class=&quot;token key atrule&quot;&gt;show-values&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; always
  &lt;span class=&quot;token key atrule&quot;&gt;endpoints&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
    &lt;span class=&quot;token key atrule&quot;&gt;web&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
      &lt;span class=&quot;token key atrule&quot;&gt;exposure&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
        &lt;span class=&quot;token key atrule&quot;&gt;include&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; env
&lt;/pre&gt;&lt;br&gt;
&lt;h3 class=&quot;mume-header&quot; id=&quot;31-get-actuatorenv&quot;&gt;3.1. GET &lt;code&gt;/actuator/env&lt;/code&gt;&lt;/h3&gt;

&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;http&quot; class=&quot;language-http&quot;&gt;http :8080/actuator/env
HTTP/1.1 200
&lt;span class=&quot;token header-name keyword&quot;&gt;Connection:&lt;/span&gt; keep-alive
&lt;span class=&quot;token header-name keyword&quot;&gt;Content-Type:&lt;/span&gt; application/vnd.spring-boot.actuator.v3+json
&lt;span class=&quot;token header-name keyword&quot;&gt;Date:&lt;/span&gt; Tue, 15 Oct 2024 09:11:02 GMT
&lt;span class=&quot;token header-name keyword&quot;&gt;Keep-Alive:&lt;/span&gt; timeout=60
&lt;span class=&quot;token header-name keyword&quot;&gt;Transfer-Encoding:&lt;/span&gt; chunked&lt;span class=&quot;token application-json&quot;&gt;

&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;token string&quot;&gt;&amp;quot;activeProfiles&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;
        &lt;span class=&quot;token string&quot;&gt;&amp;quot;local&amp;quot;&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
    &lt;span class=&quot;token string&quot;&gt;&amp;quot;defaultProfiles&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;
        &lt;span class=&quot;token string&quot;&gt;&amp;quot;default&amp;quot;&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
    &lt;span class=&quot;token string&quot;&gt;&amp;quot;propertySources&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
            &lt;span class=&quot;token string&quot;&gt;&amp;quot;name&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;server.ports&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
            &lt;span class=&quot;token string&quot;&gt;&amp;quot;properties&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
                &lt;span class=&quot;token string&quot;&gt;&amp;quot;local.server.port&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
                    &lt;span class=&quot;token string&quot;&gt;&amp;quot;value&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;8080&lt;/span&gt;
                &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
            &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
            &lt;span class=&quot;token string&quot;&gt;&amp;quot;name&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;devtools-local: [file:/Users/jini/.config/spring-boot/spring-boot-devtools.yml]&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
            &lt;span class=&quot;token string&quot;&gt;&amp;quot;properties&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
                &lt;span class=&quot;token string&quot;&gt;&amp;quot;spring.devtools.livereload.enabled&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
                    &lt;span class=&quot;token string&quot;&gt;&amp;quot;origin&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;file [/Users/jini/.config/spring-boot/spring-boot-devtools.yml] - 8:16&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
                    &lt;span class=&quot;token string&quot;&gt;&amp;quot;value&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token boolean&quot;&gt;true&lt;/span&gt;
                &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
                &lt;span class=&quot;token string&quot;&gt;&amp;quot;spring.devtools.restart.additional-exclude&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
                    &lt;span class=&quot;token string&quot;&gt;&amp;quot;origin&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;file [/Users/jini/.config/spring-boot/spring-boot-devtools.yml] - 6:27&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
                    &lt;span class=&quot;token string&quot;&gt;&amp;quot;value&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;ttt/**,**/Ttt*.class&amp;quot;&lt;/span&gt;
                &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
                &lt;span class=&quot;token string&quot;&gt;&amp;quot;spring.devtools.restart.enabled&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
                    &lt;span class=&quot;token string&quot;&gt;&amp;quot;origin&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;file [/Users/jini/.config/spring-boot/spring-boot-devtools.yml] - 4:16&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
                    &lt;span class=&quot;token string&quot;&gt;&amp;quot;value&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token boolean&quot;&gt;true&lt;/span&gt;
                &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
                &lt;span class=&quot;token string&quot;&gt;&amp;quot;spring.devtools.restart.log-condition-evaluation-delta&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
                    &lt;span class=&quot;token string&quot;&gt;&amp;quot;origin&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;file [/Users/jini/.config/spring-boot/spring-boot-devtools.yml] - 5:39&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
                    &lt;span class=&quot;token string&quot;&gt;&amp;quot;value&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token boolean&quot;&gt;false&lt;/span&gt;
                &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
            &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
            &lt;span class=&quot;token string&quot;&gt;&amp;quot;name&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;commandLineArgs&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
            &lt;span class=&quot;token string&quot;&gt;&amp;quot;properties&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
                &lt;span class=&quot;token string&quot;&gt;&amp;quot;debug&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
                    &lt;span class=&quot;token string&quot;&gt;&amp;quot;value&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;&amp;quot;&lt;/span&gt;
                &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
                &lt;span class=&quot;token string&quot;&gt;&amp;quot;tag&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
                    &lt;span class=&quot;token string&quot;&gt;&amp;quot;value&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;test&amp;quot;&lt;/span&gt;
                &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
            &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
            &lt;span class=&quot;token string&quot;&gt;&amp;quot;name&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;servletContextInitParams&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
            &lt;span class=&quot;token string&quot;&gt;&amp;quot;properties&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
            &lt;span class=&quot;token string&quot;&gt;&amp;quot;name&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;systemProperties&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
            &lt;span class=&quot;token string&quot;&gt;&amp;quot;properties&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
                &lt;span class=&quot;token string&quot;&gt;&amp;quot;CONSOLE_LOG_CHARSET&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
                    &lt;span class=&quot;token string&quot;&gt;&amp;quot;value&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;UTF-8&amp;quot;&lt;/span&gt;
                &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
                &lt;span class=&quot;token string&quot;&gt;&amp;quot;FILE_LOG_CHARSET&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
                    &lt;span class=&quot;token string&quot;&gt;&amp;quot;value&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;UTF-8&amp;quot;&lt;/span&gt;
                &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
                &lt;span class=&quot;token spread operator&quot;&gt;...&lt;/span&gt;
                &lt;span class=&quot;token string&quot;&gt;&amp;quot;user.dir&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
                    &lt;span class=&quot;token string&quot;&gt;&amp;quot;value&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;/Users/jini/jini_box/jinispaces/java/spring-playground&amp;quot;&lt;/span&gt;
                &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
                &lt;span class=&quot;token string&quot;&gt;&amp;quot;user.home&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
                    &lt;span class=&quot;token string&quot;&gt;&amp;quot;value&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;/Users/jini&amp;quot;&lt;/span&gt;
                &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
                &lt;span class=&quot;token string&quot;&gt;&amp;quot;user.language&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
                    &lt;span class=&quot;token string&quot;&gt;&amp;quot;value&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;ko&amp;quot;&lt;/span&gt;
                &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
                &lt;span class=&quot;token string&quot;&gt;&amp;quot;user.name&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
                    &lt;span class=&quot;token string&quot;&gt;&amp;quot;value&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;sherry_01&amp;quot;&lt;/span&gt;
                &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
                &lt;span class=&quot;token string&quot;&gt;&amp;quot;user.timezone&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
                    &lt;span class=&quot;token string&quot;&gt;&amp;quot;value&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;Asia/Seoul&amp;quot;&lt;/span&gt;
                &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
            &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
            &lt;span class=&quot;token string&quot;&gt;&amp;quot;name&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;systemEnvironment&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
            &lt;span class=&quot;token string&quot;&gt;&amp;quot;properties&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
                &lt;span class=&quot;token string&quot;&gt;&amp;quot;HOME&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
                    &lt;span class=&quot;token string&quot;&gt;&amp;quot;origin&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;System Environment Property \&amp;quot;HOME\&amp;quot;&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
                    &lt;span class=&quot;token string&quot;&gt;&amp;quot;value&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;/Users/jini&amp;quot;&lt;/span&gt;
                &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;

                &lt;span class=&quot;token string&quot;&gt;&amp;quot;JAVA_HOME&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
                    &lt;span class=&quot;token string&quot;&gt;&amp;quot;origin&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;System Environment Property \&amp;quot;JAVA_HOME\&amp;quot;&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
                    &lt;span class=&quot;token string&quot;&gt;&amp;quot;value&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;/Users/jini/.sdkman/candidates/java/current&amp;quot;&lt;/span&gt;
                &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
                &lt;span class=&quot;token string&quot;&gt;&amp;quot;JAVA_OPTS&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
                    &lt;span class=&quot;token string&quot;&gt;&amp;quot;origin&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;System Environment Property \&amp;quot;JAVA_OPTS\&amp;quot;&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
                    &lt;span class=&quot;token string&quot;&gt;&amp;quot;value&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;-Xmx1024m&amp;quot;&lt;/span&gt;
                &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
                &lt;span class=&quot;token string&quot;&gt;&amp;quot;RABBIT_MQ_HOME&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
                    &lt;span class=&quot;token string&quot;&gt;&amp;quot;origin&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;System Environment Property \&amp;quot;RABBIT_MQ_HOME\&amp;quot;&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
                    &lt;span class=&quot;token string&quot;&gt;&amp;quot;value&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;/opt/homebrew/opt/rabbitmq/sbin&amp;quot;&lt;/span&gt;
                &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
                &lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
            &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
            &lt;span class=&quot;token string&quot;&gt;&amp;quot;name&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;Config resource &amp;apos;class path resource [application.yml]&amp;apos; via location &amp;apos;optional:classpath:/&amp;apos;&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
            &lt;span class=&quot;token string&quot;&gt;&amp;quot;properties&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
                &lt;span class=&quot;token spread operator&quot;&gt;...&lt;/span&gt;
                &lt;span class=&quot;token string&quot;&gt;&amp;quot;spring.mvc.log-resolved-exception&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
                    &lt;span class=&quot;token string&quot;&gt;&amp;quot;origin&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;class path resource [application.yml] - 25:29&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
                    &lt;span class=&quot;token string&quot;&gt;&amp;quot;value&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token boolean&quot;&gt;true&lt;/span&gt;
                &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
                &lt;span class=&quot;token string&quot;&gt;&amp;quot;spring.mvc.static-path-pattern&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
                    &lt;span class=&quot;token string&quot;&gt;&amp;quot;origin&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;class path resource [application.yml] - 26:26&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
                    &lt;span class=&quot;token string&quot;&gt;&amp;quot;value&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;/static/**&amp;quot;&lt;/span&gt;
                &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
                &lt;span class=&quot;token string&quot;&gt;&amp;quot;spring.profiles.active&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
                    &lt;span class=&quot;token string&quot;&gt;&amp;quot;origin&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;class path resource [application.yml] - 7:13&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
                    &lt;span class=&quot;token string&quot;&gt;&amp;quot;value&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;local&amp;quot;&lt;/span&gt;
                &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
            &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
            &lt;span class=&quot;token string&quot;&gt;&amp;quot;name&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;devtools&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
            &lt;span class=&quot;token string&quot;&gt;&amp;quot;properties&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
                &lt;span class=&quot;token string&quot;&gt;&amp;quot;server.error.include-binding-errors&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
                    &lt;span class=&quot;token string&quot;&gt;&amp;quot;value&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;always&amp;quot;&lt;/span&gt;
                &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
                &lt;span class=&quot;token string&quot;&gt;&amp;quot;server.error.include-message&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
                    &lt;span class=&quot;token string&quot;&gt;&amp;quot;value&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;always&amp;quot;&lt;/span&gt;
                &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
                &lt;span class=&quot;token spread operator&quot;&gt;...&lt;/span&gt;
                &lt;span class=&quot;token string&quot;&gt;&amp;quot;spring.web.resources.cache.period&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
                    &lt;span class=&quot;token string&quot;&gt;&amp;quot;value&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;0&amp;quot;&lt;/span&gt;
                &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
                &lt;span class=&quot;token string&quot;&gt;&amp;quot;spring.web.resources.chain.cache&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
                    &lt;span class=&quot;token string&quot;&gt;&amp;quot;value&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;false&amp;quot;&lt;/span&gt;
                &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
            &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/pre&gt;&lt;br&gt;
&lt;h3 class=&quot;mume-header&quot; id=&quot;32-get-actuatorenv%ED%99%98%EA%B2%BD%EB%B3%80%EC%88%98%EB%AA%85&quot;&gt;3.2. GET &lt;code&gt;/actuator/env/{&amp;#xD658;&amp;#xACBD;&amp;#xBCC0;&amp;#xC218;&amp;#xBA85;}&lt;/code&gt;&lt;/h3&gt;

&lt;p&gt;&amp;#xD2B9;&amp;#xC815; &amp;#xD658;&amp;#xACBD;&amp;#xBCC0;&amp;#xC218; &amp;#xC0C1;&amp;#xC138;&amp;#xBCF4;&amp;#xAE30;&amp;#xB97C; &amp;#xC2E4;&amp;#xD589;&amp;#xD574;&amp;#xBCF4;&amp;#xBA74; &amp;#xC544;&amp;#xB798;&amp;#xC640; &amp;#xAC19;&amp;#xC774; &amp;#xB9C8;&amp;#xC2A4;&amp;#xD0B9;&amp;#xB418;&amp;#xC9C0; &amp;#xC54A;&amp;#xACE0; value&amp;#xAC00; &amp;#xB178;&amp;#xCD9C;&amp;#xB41C; &amp;#xAC83;&amp;#xC744; &amp;#xD655;&amp;#xC778;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;http&quot; class=&quot;language-http&quot;&gt;http :8080/actuator/env/JAVA_HOME
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;http&quot; class=&quot;language-http&quot;&gt;HTTP/1.1 200
&lt;span class=&quot;token header-name keyword&quot;&gt;Connection:&lt;/span&gt; keep-alive
&lt;span class=&quot;token header-name keyword&quot;&gt;Content-Type:&lt;/span&gt; application/vnd.spring-boot.actuator.v3+json
&lt;span class=&quot;token header-name keyword&quot;&gt;Date:&lt;/span&gt; Tue, 15 Oct 2024 09:13:50 GMT
&lt;span class=&quot;token header-name keyword&quot;&gt;Keep-Alive:&lt;/span&gt; timeout=60
&lt;span class=&quot;token header-name keyword&quot;&gt;Transfer-Encoding:&lt;/span&gt; chunked&lt;span class=&quot;token application-json&quot;&gt;

&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;token string&quot;&gt;&amp;quot;activeProfiles&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;
        &lt;span class=&quot;token string&quot;&gt;&amp;quot;local&amp;quot;&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
    &lt;span class=&quot;token string&quot;&gt;&amp;quot;defaultProfiles&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;
        &lt;span class=&quot;token string&quot;&gt;&amp;quot;default&amp;quot;&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
    &lt;span class=&quot;token string&quot;&gt;&amp;quot;property&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
        &lt;span class=&quot;token string&quot;&gt;&amp;quot;source&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;systemEnvironment&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
        &lt;span class=&quot;token string&quot;&gt;&amp;quot;value&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;/Users/jini/.sdkman/candidates/java/current&amp;quot;&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
    &lt;span class=&quot;token string&quot;&gt;&amp;quot;propertySources&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
            &lt;span class=&quot;token string&quot;&gt;&amp;quot;name&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;server.ports&amp;quot;&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
            &lt;span class=&quot;token string&quot;&gt;&amp;quot;name&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;devtools-local: [file:/Users/jini/.config/spring-boot/spring-boot-devtools.yml]&amp;quot;&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
            &lt;span class=&quot;token string&quot;&gt;&amp;quot;name&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;commandLineArgs&amp;quot;&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
            &lt;span class=&quot;token string&quot;&gt;&amp;quot;name&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;servletConfigInitParams&amp;quot;&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
            &lt;span class=&quot;token string&quot;&gt;&amp;quot;name&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;servletContextInitParams&amp;quot;&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
            &lt;span class=&quot;token string&quot;&gt;&amp;quot;name&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;systemProperties&amp;quot;&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
            &lt;span class=&quot;token string&quot;&gt;&amp;quot;name&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;systemEnvironment&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
            &lt;span class=&quot;token string&quot;&gt;&amp;quot;property&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
                &lt;span class=&quot;token string&quot;&gt;&amp;quot;origin&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;System Environment Property \&amp;quot;JAVA_HOME\&amp;quot;&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
                &lt;span class=&quot;token string&quot;&gt;&amp;quot;value&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;/Users/jini/.sdkman/candidates/java/current&amp;quot;&lt;/span&gt;
            &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
            &lt;span class=&quot;token string&quot;&gt;&amp;quot;name&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;random&amp;quot;&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
            &lt;span class=&quot;token string&quot;&gt;&amp;quot;name&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;Config resource &amp;apos;class path resource [application.yml]&amp;apos; via location &amp;apos;optional:classpath:/&amp;apos;&amp;quot;&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
            &lt;span class=&quot;token string&quot;&gt;&amp;quot;name&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;devtools&amp;quot;&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
            &lt;span class=&quot;token string&quot;&gt;&amp;quot;name&amp;quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;Management Server&amp;quot;&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/pre&gt;&lt;hr&gt;
&lt;h3 class=&quot;mume-header&quot; id&gt;++&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Spring Boot &amp;#xD658;&amp;#xACBD;&amp;#xBCC0;&amp;#xC218; &amp;#xC870;&amp;#xD68C;&amp;#xD558;&amp;#xAE30;&lt;/li&gt;
&lt;/ul&gt;

  &lt;/div&gt;&lt;/div&gt;</description>
      <category>Spring/Spring Docs</category>
      <category>springboot</category>
      <author>jiniya22</author>
      <guid isPermaLink="true">https://jini-box.tistory.com/247</guid>
      <comments>https://jini-box.tistory.com/247#entry247comment</comments>
      <pubDate>Tue, 15 Oct 2024 18:21:06 +0900</pubDate>
    </item>
    <item>
      <title>[Spring Docs] DevTools</title>
      <link>https://jini-box.tistory.com/246</link>
      <description>&lt;div id=&quot;html-export&quot;&gt;
      &lt;div class=&quot;mume markdown-preview  &quot;&gt;
      &lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;#a01&quot;&gt;Developer Tools&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#a02&quot;&gt;Developer Tools &amp;#xD504;&amp;#xB85C;&amp;#xD37C;&amp;#xD2F0; &amp;#xAE30;&amp;#xBCF8;&amp;#xAC12;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#a03&quot;&gt;log-request-details &amp;#xD504;&amp;#xB85C;&amp;#xD37C;&amp;#xD2F0;&amp;#xB97C; &amp;#xC774;&amp;#xC6A9;&amp;#xD55C; &amp;#xD5E4;&amp;#xB354; &amp;#xB85C;&amp;#xAE45;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Hot swapping
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;#a04-1&quot;&gt;&amp;#xC815;&amp;#xC801; &amp;#xB9AC;&amp;#xC18C;&amp;#xC2A4; &amp;#xB9AC;&amp;#xB85C;&amp;#xB4DC;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#a04-2&quot;&gt;&amp;#xCEE8;&amp;#xD14C;&amp;#xC774;&amp;#xB108; &amp;#xC7AC;&amp;#xC2DC;&amp;#xC791; &amp;#xC5C6;&amp;#xC774; &amp;#xD15C;&amp;#xD50C;&amp;#xB9BF; &amp;#xBDF0; &amp;#xB85C;&amp;#xB4DC;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#a04-3&quot;&gt;&amp;#xBE60;&amp;#xB978; &amp;#xC560;&amp;#xD50C;&amp;#xB9AC;&amp;#xCF00;&amp;#xC774;&amp;#xC158; &amp;#xC7AC;&amp;#xC2DC;&amp;#xC791;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#a04-4&quot;&gt;&amp;#xCEE8;&amp;#xD14C;&amp;#xC774;&amp;#xB108; &amp;#xC7AC;&amp;#xC2DC;&amp;#xC791; &amp;#xC5C6;&amp;#xC774; java &amp;#xD074;&amp;#xB798;&amp;#xC2A4; &amp;#xB9AC;&amp;#xB85C;&amp;#xB4DC;&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;&amp;#xC790;&amp;#xB3D9; restart
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;#a05-1&quot;&gt;Restart vs Reload&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#a05-2&quot;&gt;condition evalutaion&amp;#xC5D0;&amp;#xC11C; &amp;#xBCC0;&amp;#xACBD;&amp;#xC0AC;&amp;#xD56D; &amp;#xB85C;&amp;#xAE45;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#a05-3&quot;&gt;&amp;#xB9AC;&amp;#xC18C;&amp;#xC2A4; &amp;#xC81C;&amp;#xC678;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#a05-4&quot;&gt;restart &amp;#xBE44;&amp;#xD65C;&amp;#xC131;&amp;#xD654;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#a05-5&quot;&gt;&amp;#xC54C;&amp;#xB824;&amp;#xC838;&amp;#xC788;&amp;#xB294; &amp;#xC81C;&amp;#xD55C;&amp;#xC0AC;&amp;#xD56D;&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;&amp;#xC560;&amp;#xD50C;&amp;#xB9AC;&amp;#xCF00;&amp;#xC774;&amp;#xC158;&amp;#xC758; &amp;#xD504;&amp;#xB85C;&amp;#xB355;&amp;#xC158; &amp;#xBC30;&amp;#xD3EC;&amp;#xB97C; &amp;#xC704;&amp;#xD55C; &amp;#xD328;&amp;#xD0A4;&amp;#xC9D5;&lt;/li&gt;
&lt;/ol&gt;
&lt;hr&gt;
&lt;h2 class=&quot;mume-header&quot; id=&quot;div-ida011-developer-toolsdiv&quot;&gt;&lt;div id=&quot;a01&quot;&gt;1. Developer Tools?&lt;/div&gt;&lt;/h2&gt;

&lt;p&gt;devTools &amp;#xB294; &amp;#xAC1C;&amp;#xBC1C;&amp;#xC758; &amp;#xD3B8;&amp;#xC758;&amp;#xC131;&amp;#xC744; &amp;#xC704;&amp;#xD55C; &amp;#xC5EC;&amp;#xB7EC; &amp;#xAE30;&amp;#xB2A5;&amp;#xB4E4;&amp;#xC744; &amp;#xD3EC;&amp;#xD568;&amp;#xD558;&amp;#xACE0; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;gradle &amp;#xD658;&amp;#xACBD;&amp;#xC5D0;&amp;#xC11C;&amp;#xB294; &amp;#xC544;&amp;#xB798;&amp;#xC640; &amp;#xAC19;&amp;#xC740; &amp;#xC758;&amp;#xC874;&amp;#xC131;&amp;#xC744; &amp;#xCD94;&amp;#xAC00;&amp;#xD574;&amp;#xC8FC;&amp;#xBA74; &amp;#xB418;&amp;#xACE0;,&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;groovy&quot; class=&quot;language-groovy&quot;&gt;dependencies &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token function&quot;&gt;developmentOnly&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;org.springframework.boot:spring-boot-devtools&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;br&gt;
&lt;p&gt;Maven &amp;#xC744; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD558;&amp;#xACE0; &amp;#xC788;&amp;#xB2E4;&amp;#xBA74; &amp;#xC544;&amp;#xB798;&amp;#xC640; &amp;#xAC19;&amp;#xC740; &amp;#xC758;&amp;#xC874;&amp;#xC131;&amp;#xC744; &amp;#xCD94;&amp;#xAC00;&amp;#xD558;&amp;#xBA74; &amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;xml&quot; class=&quot;language-xml&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;dependencies&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
	&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;dependency&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
		&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;groupId&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;org.springframework.boot&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;/&lt;/span&gt;groupId&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
		&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;artifactId&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;spring-boot-devtools&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;/&lt;/span&gt;artifactId&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
		&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;optional&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;true&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;/&lt;/span&gt;optional&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
	&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;/&lt;/span&gt;dependency&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;/&lt;/span&gt;dependencies&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;/pre&gt;&lt;p&gt;&amp;#xC704;&amp;#xC640; &amp;#xAC19;&amp;#xC774; &amp;#xC758;&amp;#xC874;&amp;#xC131;&amp;#xC744; &amp;#xCD94;&amp;#xAC00;&amp;#xD588;&amp;#xC744; &amp;#xACBD;&amp;#xC6B0;, &amp;#xBA40;&amp;#xD2F0;&amp;#xBAA8;&amp;#xB4C8; &amp;#xD504;&amp;#xB85C;&amp;#xC81D;&amp;#xD2B8; &amp;#xC0C1;&amp;#xC5D0;&amp;#xC11C; &amp;#xB2E4;&amp;#xB978; &amp;#xBAA8;&amp;#xB4C8;&amp;#xC5D0; DevTools&amp;#xAC00; &amp;#xC804;&amp;#xC774; &amp;#xC801;&amp;#xC6A9;&amp;#xB418;&amp;#xB294; &amp;#xAC83;&amp;#xC744; &amp;#xBC29;&amp;#xC9C0;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&lt;br&gt;&lt;/p&gt;
&lt;p&gt;devTools &amp;#xB294; &amp;#xAC1C;&amp;#xBC1C;&amp;#xC758; &amp;#xD3B8;&amp;#xC758;&amp;#xB97C; &amp;#xC704;&amp;#xD574; &amp;#xC81C;&amp;#xACF5;&amp;#xB418;&amp;#xB294; &amp;#xAE30;&amp;#xB2A5;&amp;#xB4E4;&amp;#xB85C;, &amp;#xBCF4;&amp;#xC548;&amp;#xC801;&amp;#xC778; &amp;#xC774;&amp;#xC720;&amp;#xB85C; production &amp;#xD658;&amp;#xACBD;&amp;#xC5D0;&amp;#xC11C;&amp;#xB294; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD558;&amp;#xB294; &amp;#xAC83;&amp;#xC744; &amp;#xAD8C;&amp;#xC7A5;&amp;#xD558;&amp;#xC9C0; &amp;#xC54A;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xCC38;&amp;#xACE0;&amp;#xB85C; &lt;code&gt;java -jar&lt;/code&gt;&amp;#xB85C; &amp;#xC2E4;&amp;#xD589;&amp;#xB41C; &amp;#xC560;&amp;#xD50C;&amp;#xB9AC;&amp;#xCF00;&amp;#xC774;&amp;#xC158;&amp;#xC774;&amp;#xB098; &amp;#xD2B9;&amp;#xBCC4;&amp;#xD55C; &amp;#xD074;&amp;#xB798;&amp;#xC2A4; &amp;#xB85C;&amp;#xB354;&amp;#xB97C; &amp;#xD1B5;&amp;#xD574; &amp;#xC2DC;&amp;#xC791;&amp;#xB41C; &amp;#xB85C; &amp;#xD328;&amp;#xD0A4;&amp;#xC9D5;&amp;#xB41C; &amp;#xC560;&amp;#xD50C;&amp;#xB9AC;&amp;#xCF00;&amp;#xC774;&amp;#xC158;&amp;#xC758; &amp;#xACBD;&amp;#xC6B0;, production application &amp;#xC73C;&amp;#xB85C; &amp;#xAC04;&amp;#xC8FC;&amp;#xB418;&amp;#xC5B4; &amp;#xC790;&amp;#xB3D9;&amp;#xC73C;&amp;#xB85C; &amp;#xBE44;&amp;#xD65C;&amp;#xC131;&amp;#xD654; &amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xB9CC;&amp;#xC77C; &amp;#xAC15;&amp;#xC81C;&amp;#xB85C; devTools&amp;#xB97C; &amp;#xD65C;&amp;#xC131;&amp;#xD654;&amp;#xC2DC;&amp;#xD0A4;&amp;#xACE0; &amp;#xC2F6;&amp;#xB2E4;&amp;#xBA74; &lt;code&gt;-Dspring.devtools.restart.enabled=true&lt;/code&gt; &amp;#xC635;&amp;#xC158;&amp;#xC744; &amp;#xC124;&amp;#xC815;&amp;#xD558;&amp;#xC5EC; &amp;#xC560;&amp;#xD50C;&amp;#xB9AC;&amp;#xCF00;&amp;#xC774;&amp;#xC158;&amp;#xC744; &amp;#xC2E4;&amp;#xD589;&amp;#xD558;&amp;#xBA74; &amp;#xB418;&amp;#xC9C0;&amp;#xB9CC;, &amp;#xBCF4;&amp;#xC548;&amp;#xC5D0; &amp;#xCDE8;&amp;#xC57D;&amp;#xD558;&amp;#xAE30; &amp;#xB54C;&amp;#xBB38;&amp;#xC5D0; &amp;#xAD8C;&amp;#xC7A5;&amp;#xD558;&amp;#xC9C0; &amp;#xC54A;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;br&gt;
&lt;h2 class=&quot;mume-header&quot; id=&quot;div-ida022-developer-tools-%ED%94%84%EB%A1%9C%ED%8D%BC%ED%8B%B0-%EA%B8%B0%EB%B3%B8%EA%B0%92div&quot;&gt;&lt;div id=&quot;a02&quot;&gt;2. Developer Tools &amp;#xD504;&amp;#xB85C;&amp;#xD37C;&amp;#xD2F0; &amp;#xAE30;&amp;#xBCF8;&amp;#xAC12;&lt;/div&gt;&lt;/h2&gt;

&lt;p&gt;Spring Boot&amp;#xC5D0;&amp;#xC11C; &amp;#xC9C0;&amp;#xC6D0;&amp;#xD558;&amp;#xB294; &amp;#xB2E4;&amp;#xC591;&amp;#xD55C; &amp;#xB77C;&amp;#xC774;&amp;#xBE0C;&amp;#xB7EC;&amp;#xB9AC;&amp;#xB4E4;&amp;#xC5D0;&amp;#xC11C;&amp;#xB294; &amp;#xC131;&amp;#xB2A5; &amp;#xAC1C;&amp;#xC120;&amp;#xC744; &amp;#xC704;&amp;#xD574; &amp;#xCE90;&amp;#xC2DC;&amp;#xB97C; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&amp;#xC608;&amp;#xC2DC; 1. &amp;#xC608;&amp;#xB97C;&amp;#xB4E4;&amp;#xBA74; &amp;#xD15C;&amp;#xD50C;&amp;#xB9BF; &amp;#xC5D4;&amp;#xC9C4;&amp;#xC5D0;&amp;#xC11C; &amp;#xCE90;&amp;#xC2DC;&amp;#xB97C; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD558;&amp;#xC5EC; &amp;#xD654;&amp;#xBA74;&amp;#xC73C;&amp;#xB85C; &amp;#xBCF4;&amp;#xC5EC;&amp;#xC904; &amp;#xD15C;&amp;#xD50C;&amp;#xB9BF;&amp;#xC744; &amp;#xCE90;&amp;#xC2DC;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;. &amp;#xD15C;&amp;#xD50C;&amp;#xB9BF; &amp;#xD30C;&amp;#xC77C;&amp;#xC744; &amp;#xCE90;&amp;#xC2DC;&amp;#xD560; &amp;#xACBD;&amp;#xC6B0;, &amp;#xCF54;&amp;#xB4DC;&amp;#xAC00; &amp;#xC218;&amp;#xC815;&amp;#xB420; &amp;#xB54C;&amp;#xB9C8;&amp;#xB2E4; &amp;#xB9E4;&amp;#xBC88; &amp;#xCF54;&amp;#xB4DC;&amp;#xB97C; &amp;#xBD84;&amp;#xC11D;&amp;#xD558;&amp;#xC9C0; &amp;#xC54A;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/li&gt;
&lt;li&gt;&amp;#xC608;&amp;#xC2DC; 2.  Spring MVC&amp;#xC5D0;&amp;#xC11C; &amp;#xC815;&amp;#xC801; &amp;#xB9AC;&amp;#xC18C;&amp;#xC2A4;&amp;#xB97C; &amp;#xC81C;&amp;#xACF5;&amp;#xD560; &amp;#xB54C;&amp;#xC5D0; response&amp;#xC5D0; HTTP &amp;#xCE90;&amp;#xC2F1; &amp;#xD5E4;&amp;#xB354;&amp;#xB97C; &amp;#xCD94;&amp;#xAC00;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;#xCE90;&amp;#xC2F1; &amp;#xAE30;&amp;#xB2A5;&amp;#xC740; production &amp;#xD658;&amp;#xACBD;&amp;#xC5D0;&amp;#xC11C;&amp;#xB294; &amp;#xC131;&amp;#xB2A5; &amp;#xAC1C;&amp;#xC120;&amp;#xC5D0; &amp;#xB9E4;&amp;#xC6B0; &amp;#xC88B;&amp;#xC9C0;&amp;#xB9CC;, &amp;#xAC1C;&amp;#xBC1C; &amp;#xC911;&amp;#xC5D0;&amp;#xB294;  &amp;#xC218;&amp;#xC815;&amp;#xC0AC;&amp;#xD56D;&amp;#xC744; &amp;#xBC14;&amp;#xB85C; &amp;#xBC18;&amp;#xC601;&amp;#xD558;&amp;#xC9C0; &amp;#xC54A;&amp;#xAE30; &amp;#xB54C;&amp;#xBB38;&amp;#xC5D0; &amp;#xAC1C;&amp;#xBC1C;&amp;#xC5D0; &amp;#xC5ED;&amp;#xD6A8;&amp;#xACFC;&amp;#xB97C; &amp;#xC90D;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xC774;&amp;#xB7EC;&amp;#xD55C; &amp;#xC774;&amp;#xC720;&amp;#xB85C; devTools&amp;#xC5D0;&amp;#xC11C;&amp;#xB294; &amp;#xAE30;&amp;#xBCF8;&amp;#xC801;&amp;#xC73C;&amp;#xB85C; &amp;#xCE90;&amp;#xC2F1; &amp;#xC635;&amp;#xC158;&amp;#xC744; &amp;#xBE44;&amp;#xD65C;&amp;#xC131;&amp;#xD654;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xC544;&amp;#xB798;&amp;#xC758; &amp;#xAC12;&amp;#xB4E4;&amp;#xC740; devTools &amp;#xB97C; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD560; &amp;#xACBD;&amp;#xC6B0; &amp;#xC801;&amp;#xC6A9;&amp;#xB420; &amp;#xD504;&amp;#xB85C;&amp;#xD37C;&amp;#xD2F0; &amp;#xAE30;&amp;#xBCF8;&amp;#xAC12;&amp;#xB4E4;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xB9CC;&amp;#xC77C;, &amp;#xC544;&amp;#xB798;&amp;#xC758; &amp;#xAE30;&amp;#xBCF8;&amp;#xAC12;&amp;#xC744; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD558;&amp;#xACE0; &amp;#xC2F6;&amp;#xC9C0; &amp;#xC54A;&amp;#xB2E4;&amp;#xBA74; &lt;strong&gt;spring.devtools.add-properties&lt;/strong&gt; &amp;#xD558;&amp;#xC704;&amp;#xC5D0; &amp;#xD504;&amp;#xB85C;&amp;#xD37C;&amp;#xD2F0;&amp;#xB97C; &amp;#xC7AC;&amp;#xC124;&amp;#xC815; &amp;#xD574;&amp;#xC8FC;&amp;#xBA74; &amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;server.error.include-binding-errors
&lt;ul&gt;
&lt;li&gt;always&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;server.error.include-message
&lt;ul&gt;
&lt;li&gt;always&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;server.error.include-stacktrace
&lt;ul&gt;
&lt;li&gt;always&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;server.servlet.jsp.init-parameters.development
&lt;ul&gt;
&lt;li&gt;TRUE&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;server.servlet.session.persistent
&lt;ul&gt;
&lt;li&gt;TRUE&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;spring.docker.compose.readiness.wait
&lt;ul&gt;
&lt;li&gt;only-if-started&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;spring.freemarker.cache
&lt;ul&gt;
&lt;li&gt;FALSE&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;spring.graphql.graphiql.enabled
&lt;ul&gt;
&lt;li&gt;TRUE&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;spring.groovy.template.cache
&lt;ul&gt;
&lt;li&gt;FALSE&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;spring.h2.console.enabled
&lt;ul&gt;
&lt;li&gt;TRUE&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;spring.mustache.servlet.cache
&lt;ul&gt;
&lt;li&gt;FALSE&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;spring.mvc.log-resolved-exception
&lt;ul&gt;
&lt;li&gt;TRUE&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;spring.reactor.netty.shutdown-quiet-period
&lt;ul&gt;
&lt;li&gt;0s&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;spring.template.provider.cache
&lt;ul&gt;
&lt;li&gt;FALSE&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;spring.thymeleaf.cache
&lt;ul&gt;
&lt;li&gt;FALSE&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;spring.web.resources.cache.period
&lt;ul&gt;
&lt;li&gt;0&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;spring.web.resources.chain.cache
&lt;ul&gt;
&lt;li&gt;FALSE&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Spring MVC/WebFlux &amp;#xC560;&amp;#xD50C;&amp;#xB9AC;&amp;#xCF00;&amp;#xC774;&amp;#xC158; &amp;#xAC1C;&amp;#xBC1C;&amp;#xD558;&amp;#xB294; &amp;#xB3D9;&amp;#xC548;&amp;#xC5D0;&amp;#xB294; web &amp;#xADF8;&amp;#xB8F9;&amp;#xC5D0; &amp;#xB300;&amp;#xD55C; logging &amp;#xB808;&amp;#xBCA8;&amp;#xC744; &lt;strong&gt;DEBUG&lt;/strong&gt;&amp;#xB85C; &amp;#xD65C;&amp;#xC131;&amp;#xD654;&amp;#xD558;&amp;#xB294; &amp;#xAC83;&amp;#xC744; &amp;#xAD8C;&amp;#xC7A5;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
web &amp;#xADF8;&amp;#xB8F9;&amp;#xC5D0; &amp;#xB300;&amp;#xD55C; &amp;#xB85C;&amp;#xAE45;&amp;#xB808;&amp;#xBCA8;&amp;#xC744; DEBUG&amp;#xB85C; &amp;#xC124;&amp;#xC815;&amp;#xD560; &amp;#xACBD;&amp;#xC6B0;, request, request&amp;#xB97C; &amp;#xCC98;&amp;#xB9AC;&amp;#xD558;&amp;#xB294; &amp;#xD578;&amp;#xB4E4;&amp;#xB7EC;, response &amp;#xBC0F; &amp;#xC138;&amp;#xBD80; &amp;#xC815;&amp;#xBCF4;&amp;#xC5D0; &amp;#xB300;&amp;#xD55C; &amp;#xC0C1;&amp;#xC138; &amp;#xC815;&amp;#xBCF4;&amp;#xB97C; &amp;#xD655;&amp;#xC778;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xB2E8;, request &amp;#xC138;&amp;#xBD80;&amp;#xC815;&amp;#xBCF4;&amp;#xC5D0;&amp;#xB294; &amp;#xBBFC;&amp;#xAC10; &amp;#xC815;&amp;#xBCF4;&amp;#xAC00; &amp;#xB4E4;&amp;#xC5B4;&amp;#xC788;&amp;#xC744; &amp;#xC218; &amp;#xC788;&amp;#xAE30; &amp;#xB54C;&amp;#xBB38;&amp;#xC5D0;,&lt;/p&gt;
&lt;br&gt;
&lt;h2 class=&quot;mume-header&quot; id=&quot;div-ida033-log-request-details-%ED%94%84%EB%A1%9C%ED%8D%BC%ED%8B%B0%EB%A5%BC-%EC%9D%B4%EC%9A%A9%ED%95%9C-%ED%97%A4%EB%8D%94-%EB%A1%9C%EA%B9%85div&quot;&gt;&lt;div id=&quot;a03&quot;&gt;3. log-request-details &amp;#xD504;&amp;#xB85C;&amp;#xD37C;&amp;#xD2F0;&amp;#xB97C; &amp;#xC774;&amp;#xC6A9;&amp;#xD55C; &amp;#xD5E4;&amp;#xB354; &amp;#xB85C;&amp;#xAE45;&lt;/div&gt;&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;org.springframework.web&lt;/code&gt; &amp;#xD328;&amp;#xD0A4;&amp;#xC9C0;&amp;#xC758; &amp;#xB85C;&amp;#xAE45;&amp;#xB808;&amp;#xBCA8;&amp;#xC744; &lt;strong&gt;trace&lt;/strong&gt; &amp;#xB85C; &amp;#xC124;&amp;#xC815;&amp;#xD558;&amp;#xBA74; &amp;#xC6F9; &amp;#xC694;&amp;#xCCAD;&amp;#xACFC; &amp;#xCC98;&amp;#xB9AC;&amp;#xD558;&amp;#xB294; &amp;#xD578;&amp;#xB4E4;&amp;#xB7EC;, &amp;#xC751;&amp;#xB2F5; &amp;#xACB0;&amp;#xACFC; &amp;#xBC0F; &amp;#xC138;&amp;#xBD80; &amp;#xC815;&amp;#xBCF4;&amp;#xB97C; &amp;#xCD9C;&amp;#xB825;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xAE30;&amp;#xBCF8;&amp;#xC801;&amp;#xC73C;&amp;#xB85C; DispatcherServlet &amp;#xC5D0;&amp;#xC11C; request&amp;#xC5D0; &amp;#xB300;&amp;#xD55C; parameters, headers&amp;#xC640; response&amp;#xC758; headers &amp;#xC815;&amp;#xBCF4;&amp;#xB294; &amp;#xB9C8;&amp;#xC2A4;&amp;#xD0B9;&amp;#xB418;&amp;#xC5B4; &amp;#xCD9C;&amp;#xB825;&amp;#xB418;&amp;#xC9C0; &amp;#xC54A;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xB9CC;&amp;#xC77C;, &amp;#xAC1C;&amp;#xBC1C; &amp;#xC911;&amp;#xC5D0; &amp;#xC138;&amp;#xBD80;&amp;#xC815;&amp;#xBCF4;&amp;#xB97C; &amp;#xD655;&amp;#xC778;&amp;#xD558;&amp;#xACE0; &amp;#xC2F6;&amp;#xB2E4;&amp;#xBA74; &lt;code&gt;spring.mvc.log-request-details&lt;/code&gt; &amp;#xD504;&amp;#xB85C;&amp;#xD37C;&amp;#xD2F0; &amp;#xAC12;&amp;#xC744; true&amp;#xB85C; &amp;#xC124;&amp;#xC815;&amp;#xD574;&amp;#xC8FC;&amp;#xBA74; &amp;#xAD00;&amp;#xB828; &amp;#xC815;&amp;#xBCF4;&amp;#xB97C; &amp;#xB85C;&amp;#xADF8;&amp;#xB85C; &amp;#xCD9C;&amp;#xB825;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
(&amp;#xB2E8;, payload &amp;#xAC12;&amp;#xC740; &amp;#xB178;&amp;#xCD9C;&amp;#xB418;&amp;#xC9C0; &amp;#xC54A;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.)&lt;br&gt;
&lt;br&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;application.yml&lt;/em&gt; &amp;#xC744; &amp;#xC544;&amp;#xB798;&amp;#xC640; &amp;#xAC19;&amp;#xC774; &amp;#xC124;&amp;#xC815;&amp;#xD55C; &amp;#xD6C4; &amp;#xB85C;&amp;#xAE45; &amp;#xCD9C;&amp;#xB825;&amp;#xAC12;&amp;#xC744; &amp;#xD655;&amp;#xC778;&amp;#xD574;&amp;#xBD05;&amp;#xC2DC;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;yml&quot; class=&quot;language-yaml&quot;&gt;&lt;span class=&quot;token key atrule&quot;&gt;spring&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
  &lt;span class=&quot;token key atrule&quot;&gt;application&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
    &lt;span class=&quot;token key atrule&quot;&gt;name&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; spring&lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt;boot

  &lt;span class=&quot;token key atrule&quot;&gt;mvc&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
    &lt;span class=&quot;token key atrule&quot;&gt;log-request-details&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token boolean important&quot;&gt;true&lt;/span&gt;

&lt;span class=&quot;token key atrule&quot;&gt;logging&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
  &lt;span class=&quot;token key atrule&quot;&gt;level&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
    &lt;span class=&quot;token key atrule&quot;&gt;root&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; info
    &lt;span class=&quot;token key atrule&quot;&gt;web&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; debug
    &lt;span class=&quot;token key atrule&quot;&gt;org.springframework.web&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; trace
&lt;/pre&gt;&lt;br&gt;
&lt;h3 class=&quot;mume-header&quot; id=&quot;31-springmvclog-request-details-true&quot;&gt;3.1. &lt;code&gt;spring.mvc.log-request-details: true&lt;/code&gt;&lt;/h3&gt;

&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;&lt;span class=&quot;token number&quot;&gt;2024&lt;/span&gt;-09-26T10:05:24.404+09:00 TRACE &lt;span class=&quot;token number&quot;&gt;75476&lt;/span&gt; --- &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;spring-boot&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;nio-8080-exec-1&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; o.s.web.servlet.DispatcherServlet        &lt;span class=&quot;token builtin class-name&quot;&gt;:&lt;/span&gt; POST &lt;span class=&quot;token string&quot;&gt;&amp;quot;/hello?version=2&amp;quot;&lt;/span&gt;, &lt;span class=&quot;token assign-left variable&quot;&gt;parameters&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;version:&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;, &lt;span class=&quot;token assign-left variable&quot;&gt;headers&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;user-agent:&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;vscode-restclient&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;, content-type:&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;application/json&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;, accept-encoding:&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;gzip, deflate&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;, content-length:&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;64&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;, cookie:&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token environment constant&quot;&gt;SESSION&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;MjczMGI1YTUtZWU0YS00MDNjLWFiM2MtYTljMDQ4ODI5ZTQ2&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;, host:&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;localhost:8080&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;, connection:&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;keep-alive&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt; &lt;span class=&quot;token keyword keyword-in&quot;&gt;in&lt;/span&gt; DispatcherServlet &lt;span class=&quot;token string&quot;&gt;&amp;apos;dispatcherServlet&amp;apos;&lt;/span&gt;
&lt;span class=&quot;token number&quot;&gt;2024&lt;/span&gt;-09-26T10:05:24.410+09:00 TRACE &lt;span class=&quot;token number&quot;&gt;75476&lt;/span&gt; --- &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;spring-boot&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;nio-8080-exec-1&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; s.w.s.m.m.a.RequestMappingHandlerMapping &lt;span class=&quot;token builtin class-name&quot;&gt;:&lt;/span&gt; Mapped to me.jiniworld.springboot.TttController&lt;span class=&quot;token comment&quot;&gt;#hello(User)&lt;/span&gt;
&lt;span class=&quot;token number&quot;&gt;2024&lt;/span&gt;-09-26T10:05:24.447+09:00 TRACE &lt;span class=&quot;token number&quot;&gt;75476&lt;/span&gt; --- &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;spring-boot&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;nio-8080-exec-1&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; m.m.a.RequestResponseBodyMethodProcessor &lt;span class=&quot;token builtin class-name&quot;&gt;:&lt;/span&gt; Read &lt;span class=&quot;token string&quot;&gt;&amp;quot;application/json;charset=UTF-8&amp;quot;&lt;/span&gt; to &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;User&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;: jini&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;
&lt;span class=&quot;token number&quot;&gt;2024&lt;/span&gt;-09-26T10:05:24.450+09:00 TRACE &lt;span class=&quot;token number&quot;&gt;75476&lt;/span&gt; --- &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;spring-boot&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;nio-8080-exec-1&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; o.s.web.method.HandlerMethod             &lt;span class=&quot;token builtin class-name&quot;&gt;:&lt;/span&gt; Arguments: &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;User&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;: jini&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;
&lt;span class=&quot;token number&quot;&gt;2024&lt;/span&gt;-09-26T10:05:24.453+09:00 DEBUG &lt;span class=&quot;token number&quot;&gt;75476&lt;/span&gt; --- &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;spring-boot&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;nio-8080-exec-1&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; m.m.a.RequestResponseBodyMethodProcessor &lt;span class=&quot;token builtin class-name&quot;&gt;:&lt;/span&gt; Using &lt;span class=&quot;token string&quot;&gt;&amp;apos;text/plain&amp;apos;&lt;/span&gt;, given &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;*/*&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; and supported &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;text/plain, */*, application/json, application/*+json&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;
&lt;span class=&quot;token number&quot;&gt;2024&lt;/span&gt;-09-26T10:05:24.453+09:00 TRACE &lt;span class=&quot;token number&quot;&gt;75476&lt;/span&gt; --- &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;spring-boot&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;nio-8080-exec-1&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; m.m.a.RequestResponseBodyMethodProcessor &lt;span class=&quot;token builtin class-name&quot;&gt;:&lt;/span&gt; Writing &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;jini, jiniworld.me&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;
&lt;span class=&quot;token number&quot;&gt;2024&lt;/span&gt;-09-26T10:05:24.455+09:00 TRACE &lt;span class=&quot;token number&quot;&gt;75476&lt;/span&gt; --- &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;spring-boot&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;nio-8080-exec-1&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; s.w.s.m.m.a.RequestMappingHandlerAdapter &lt;span class=&quot;token builtin class-name&quot;&gt;:&lt;/span&gt; Applying default &lt;span class=&quot;token assign-left variable&quot;&gt;cacheSeconds&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;-1
&lt;span class=&quot;token number&quot;&gt;2024&lt;/span&gt;-09-26T10:05:24.455+09:00 TRACE &lt;span class=&quot;token number&quot;&gt;75476&lt;/span&gt; --- &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;spring-boot&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;nio-8080-exec-1&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; o.s.web.servlet.DispatcherServlet        &lt;span class=&quot;token builtin class-name&quot;&gt;:&lt;/span&gt; No view rendering, null ModelAndView returned.
&lt;span class=&quot;token number&quot;&gt;2024&lt;/span&gt;-09-26T10:05:24.456+09:00 DEBUG &lt;span class=&quot;token number&quot;&gt;75476&lt;/span&gt; --- &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;spring-boot&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;nio-8080-exec-1&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; o.s.web.servlet.DispatcherServlet        &lt;span class=&quot;token builtin class-name&quot;&gt;:&lt;/span&gt; Completed &lt;span class=&quot;token number&quot;&gt;200&lt;/span&gt; OK, &lt;span class=&quot;token assign-left variable&quot;&gt;headers&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;Content-Type:&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;text/plain&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;token assign-left variable&quot;&gt;charset&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;UTF-8&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;, Content-Length:&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;18&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;, Date:&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;Thu, &lt;span class=&quot;token number&quot;&gt;26&lt;/span&gt; Sep &lt;span class=&quot;token number&quot;&gt;2024&lt;/span&gt; 01:05:24 GMT&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;, Keep-Alive:&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;timeout&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;60&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;, Connection:&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;keep-alive&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;br&gt;
&lt;h3 class=&quot;mume-header&quot; id=&quot;32-springmvclog-request-details-false&quot;&gt;3.2. &lt;code&gt;spring.mvc.log-request-details: false&lt;/code&gt;&lt;/h3&gt;

&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;&lt;span class=&quot;token number&quot;&gt;2024&lt;/span&gt;-09-26T10:13:15.843+09:00 TRACE &lt;span class=&quot;token number&quot;&gt;75731&lt;/span&gt; --- &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;spring-boot&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;nio-8080-exec-1&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; o.s.web.servlet.DispatcherServlet        &lt;span class=&quot;token builtin class-name&quot;&gt;:&lt;/span&gt; POST &lt;span class=&quot;token string&quot;&gt;&amp;quot;/hello?version=2&amp;quot;&lt;/span&gt;, &lt;span class=&quot;token assign-left variable&quot;&gt;parameters&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;masked&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;, &lt;span class=&quot;token assign-left variable&quot;&gt;headers&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;masked&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt; &lt;span class=&quot;token keyword keyword-in&quot;&gt;in&lt;/span&gt; DispatcherServlet &lt;span class=&quot;token string&quot;&gt;&amp;apos;dispatcherServlet&amp;apos;&lt;/span&gt;
&lt;span class=&quot;token number&quot;&gt;2024&lt;/span&gt;-09-26T10:13:15.847+09:00 TRACE &lt;span class=&quot;token number&quot;&gt;75731&lt;/span&gt; --- &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;spring-boot&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;nio-8080-exec-1&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; s.w.s.m.m.a.RequestMappingHandlerMapping &lt;span class=&quot;token builtin class-name&quot;&gt;:&lt;/span&gt; Mapped to me.jiniworld.springboot.TttController&lt;span class=&quot;token comment&quot;&gt;#hello(User)&lt;/span&gt;
&lt;span class=&quot;token number&quot;&gt;2024&lt;/span&gt;-09-26T10:13:15.884+09:00 TRACE &lt;span class=&quot;token number&quot;&gt;75731&lt;/span&gt; --- &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;spring-boot&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;nio-8080-exec-1&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; m.m.a.RequestResponseBodyMethodProcessor &lt;span class=&quot;token builtin class-name&quot;&gt;:&lt;/span&gt; Read &lt;span class=&quot;token string&quot;&gt;&amp;quot;application/json;charset=UTF-8&amp;quot;&lt;/span&gt; to &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;User&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;: jini&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;
&lt;span class=&quot;token number&quot;&gt;2024&lt;/span&gt;-09-26T10:13:15.887+09:00 TRACE &lt;span class=&quot;token number&quot;&gt;75731&lt;/span&gt; --- &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;spring-boot&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;nio-8080-exec-1&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; o.s.web.method.HandlerMethod             &lt;span class=&quot;token builtin class-name&quot;&gt;:&lt;/span&gt; Arguments: &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;User&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;: jini&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;
&lt;span class=&quot;token number&quot;&gt;2024&lt;/span&gt;-09-26T10:13:15.890+09:00 DEBUG &lt;span class=&quot;token number&quot;&gt;75731&lt;/span&gt; --- &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;spring-boot&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;nio-8080-exec-1&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; m.m.a.RequestResponseBodyMethodProcessor &lt;span class=&quot;token builtin class-name&quot;&gt;:&lt;/span&gt; Using &lt;span class=&quot;token string&quot;&gt;&amp;apos;text/plain&amp;apos;&lt;/span&gt;, given &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;*/*&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; and supported &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;text/plain, */*, application/json, application/*+json&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;
&lt;span class=&quot;token number&quot;&gt;2024&lt;/span&gt;-09-26T10:13:15.890+09:00 TRACE &lt;span class=&quot;token number&quot;&gt;75731&lt;/span&gt; --- &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;spring-boot&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;nio-8080-exec-1&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; m.m.a.RequestResponseBodyMethodProcessor &lt;span class=&quot;token builtin class-name&quot;&gt;:&lt;/span&gt; Writing &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;jini, jiniworld.me&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;
&lt;span class=&quot;token number&quot;&gt;2024&lt;/span&gt;-09-26T10:13:15.892+09:00 TRACE &lt;span class=&quot;token number&quot;&gt;75731&lt;/span&gt; --- &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;spring-boot&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;nio-8080-exec-1&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; s.w.s.m.m.a.RequestMappingHandlerAdapter &lt;span class=&quot;token builtin class-name&quot;&gt;:&lt;/span&gt; Applying default &lt;span class=&quot;token assign-left variable&quot;&gt;cacheSeconds&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;-1
&lt;span class=&quot;token number&quot;&gt;2024&lt;/span&gt;-09-26T10:13:15.892+09:00 TRACE &lt;span class=&quot;token number&quot;&gt;75731&lt;/span&gt; --- &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;spring-boot&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;nio-8080-exec-1&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; o.s.web.servlet.DispatcherServlet        &lt;span class=&quot;token builtin class-name&quot;&gt;:&lt;/span&gt; No view rendering, null ModelAndView returned.
&lt;span class=&quot;token number&quot;&gt;2024&lt;/span&gt;-09-26T10:13:15.893+09:00 DEBUG &lt;span class=&quot;token number&quot;&gt;75731&lt;/span&gt; --- &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;spring-boot&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;nio-8080-exec-1&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; o.s.web.servlet.DispatcherServlet        &lt;span class=&quot;token builtin class-name&quot;&gt;:&lt;/span&gt; Completed &lt;span class=&quot;token number&quot;&gt;200&lt;/span&gt; OK, &lt;span class=&quot;token assign-left variable&quot;&gt;headers&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;masked&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;hr&gt;
&lt;h2 class=&quot;mume-header&quot; id=&quot;div-ida04-14-hot-swappingdiv&quot;&gt;&lt;div id=&quot;a04-1&quot;&gt;4. Hot swapping&lt;/div&gt;&lt;/h2&gt;

&lt;p&gt;Spring Boot&amp;#xB294; JVM&amp;#xC758; hot swap&amp;#xAE30;&amp;#xB2A5;&amp;#xC744; &amp;#xC9C0;&amp;#xC6D0;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
hot swap&amp;#xC740; &amp;#xCF54;&amp;#xB4DC; &amp;#xBCC0;&amp;#xACBD;&amp;#xC0AC;&amp;#xD56D;&amp;#xC774; &amp;#xAC10;&amp;#xC9C0;&amp;#xB418;&amp;#xBA74; &amp;#xC560;&amp;#xD50C;&amp;#xB9AC;&amp;#xCF00;&amp;#xC774;&amp;#xC158;&amp;#xC744; &amp;#xC790;&amp;#xB3D9;&amp;#xC73C;&amp;#xB85C; &amp;#xB85C;&amp;#xB4DC;&amp;#xD558;&amp;#xB294; &amp;#xAE30;&amp;#xB2A5;&amp;#xC73C;&amp;#xB85C;, &amp;#xD074;&amp;#xB798;&amp;#xC2A4;&amp;#xD30C;&amp;#xC77C;&amp;#xC758; &amp;#xBCC0;&amp;#xB3D9;&amp;#xC0AC;&amp;#xD56D;&amp;#xC744; &amp;#xD56B;&amp;#xC2A4;&amp;#xC651;&amp;#xD558;&amp;#xAC70;&amp;#xB098; &amp;#xC815;&amp;#xC801; &amp;#xB9AC;&amp;#xC18C;&amp;#xC2A4; &amp;#xD30C;&amp;#xC77C;&amp;#xC744; &amp;#xB9AC;&amp;#xB85C;&amp;#xB4DC; &amp;#xD558;&amp;#xB294; &amp;#xAE30;&amp;#xB2A5;&amp;#xC744; &amp;#xC81C;&amp;#xACF5;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;IntelliJ &amp;#xC640;&amp;#xAC19;&amp;#xC740; IDE&amp;#xB97C; &amp;#xC774;&amp;#xC6A9;&amp;#xD558;&amp;#xC5EC; &amp;#xAC1C;&amp;#xBC1C;&amp;#xD558;&amp;#xB294; &amp;#xC911;&amp;#xC5D0; &amp;#xD65C;&amp;#xC6A9;&amp;#xD558;&amp;#xC5EC; &amp;#xAC1C;&amp;#xBC1C; &amp;#xB2A5;&amp;#xB960; &amp;#xD5A5;&amp;#xC0C1; &amp;#xBAA9;&amp;#xC801;&amp;#xC73C;&amp;#xB85C; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&lt;br&gt;&lt;/p&gt;
&lt;p&gt;IntelliJ &amp;#xB97C; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD558;&amp;#xB294; &amp;#xACBD;&amp;#xC6B0;, &amp;#xC571; &amp;#xC2E4;&amp;#xD589;&amp;#xC5D0; &amp;#xB300;&amp;#xD55C; &amp;#xAD6C;&amp;#xC131;&amp;#xC124;&amp;#xC815;&amp;#xC5D0;&amp;#xC11C; &amp;#xAD00;&amp;#xB828; &amp;#xC124;&amp;#xC815;&amp;#xC744; &amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&lt;img width=&quot;400&quot; src=&quot;https://raw.githubusercontent.com/jiniya22/image_box/master/blog/Spring%20Docs/01-7.png&quot;&gt;&lt;br&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;On &amp;apos;Update&amp;apos; action&lt;/code&gt;, &lt;code&gt;On frame deactivation&lt;/code&gt; &amp;#xC635;&amp;#xC158; &amp;#xC124;&amp;#xC815;&amp;#xC744; &amp;#xBCC0;&amp;#xACBD;&amp;#xD558;&amp;#xC5EC; &amp;#xD56B;&amp;#xC2A4;&amp;#xC651; &amp;#xAD00;&amp;#xB828; &amp;#xAE30;&amp;#xB2A5;&amp;#xC744; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xB294;&amp;#xB370;&lt;br&gt;
&amp;#xC124;&amp;#xC815;&amp;#xAC12;&amp;#xC5D0; &amp;#xB530;&amp;#xB77C; &amp;#xCEE8;&amp;#xD14C;&amp;#xC774;&amp;#xB108;&amp;#xC758; &amp;#xC7AC;&amp;#xC2DC;&amp;#xC791; &amp;#xC5C6;&amp;#xC774; &amp;#xC815;&amp;#xC801; &amp;#xB9AC;&amp;#xC18C;&amp;#xC2A4;&amp;#xC640; &amp;#xD074;&amp;#xB798;&amp;#xC2A4;&amp;#xC758; &amp;#xB9AC;&amp;#xB85C;&amp;#xB4DC; &amp;#xD558;&amp;#xC5EC; &amp;#xAC1C;&amp;#xBC1C;&amp;#xC758; &amp;#xD3B8;&amp;#xC758;&amp;#xC131;&amp;#xC744; &amp;#xC62C;&amp;#xB824; &amp;#xC90D;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&lt;img width=&quot;900&quot; src=&quot;https://raw.githubusercontent.com/jiniya22/image_box/master/blog/Spring%20Docs/01-8.png&quot;&gt;&lt;br&gt;&lt;br&gt;
&lt;img width=&quot;600&quot; src=&quot;https://raw.githubusercontent.com/jiniya22/image_box/master/blog/Spring%20Docs/01-9.png&quot;&gt;&lt;br&gt;&lt;br&gt;&lt;/p&gt;
&lt;br&gt;
&lt;h3 class=&quot;mume-header&quot; id=&quot;41-%EC%A0%95%EC%A0%81-%EB%A6%AC%EC%86%8C%EC%8A%A4-%EB%A6%AC%EB%A1%9C%EB%93%9C&quot;&gt;4.1. &amp;#xC815;&amp;#xC801; &amp;#xB9AC;&amp;#xC18C;&amp;#xC2A4; &amp;#xB9AC;&amp;#xB85C;&amp;#xB4DC;&lt;/h3&gt;

&lt;p&gt;spring boot&amp;#xC5D0;&amp;#xC11C;&amp;#xB294; hot reload&amp;#xB97C; &amp;#xC704;&amp;#xD55C; &amp;#xBA87;&amp;#xAC00;&amp;#xC9C0; &amp;#xC635;&amp;#xC158;&amp;#xC744; &amp;#xC81C;&amp;#xACF5;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xADF8; &amp;#xC911; &amp;#xAC00;&amp;#xC7A5; &amp;#xCD94;&amp;#xCC9C;&amp;#xD558;&amp;#xB294; &amp;#xBC29;&amp;#xC2DD;&amp;#xC740;, &lt;em&gt;spring-boot-devtools&lt;/em&gt; &amp;#xB97C; &amp;#xD65C;&amp;#xC6A9;&amp;#xD558;&amp;#xC5EC; &amp;#xBE60;&amp;#xB978; &amp;#xC560;&amp;#xD50C;&amp;#xB9AC;&amp;#xCF00;&amp;#xC774;&amp;#xC158; &amp;#xC7AC;&amp;#xC2DC;&amp;#xC791;&amp;#xC744; &amp;#xC774;&amp;#xC6A9;&amp;#xD558;&amp;#xC5EC; &amp;#xAC1C;&amp;#xBC1C; &amp;#xB2A5;&amp;#xB960;&amp;#xC744; &amp;#xD5A5;&amp;#xC0C1;&amp;#xC2DC;&amp;#xD0A4;&amp;#xB294; &amp;#xAC83;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;devtools &amp;#xB294; classpath&amp;#xC5D0;&amp;#xC11C; &amp;#xBCC0;&amp;#xACBD;&amp;#xC0AC;&amp;#xD56D;&amp;#xC744; &amp;#xBAA8;&amp;#xB2C8;&amp;#xD130;&amp;#xB9C1;&amp;#xD558;&amp;#xC5EC; &amp;#xBCC0;&amp;#xACBD;&amp;#xC0AC;&amp;#xD56D;&amp;#xC774; &amp;#xC788;&amp;#xC744; &amp;#xC2DC; &amp;#xC791;&amp;#xB3D9;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xC815;&amp;#xC801; &amp;#xB9AC;&amp;#xC18C;&amp;#xC2A4; &amp;#xBCC0;&amp;#xACBD;&amp;#xC0AC;&amp;#xD56D;&amp;#xC758; &amp;#xC801;&amp;#xC6A9;&amp;#xC744; &amp;#xC704;&amp;#xD574;&amp;#xC11C;&amp;#xB294;, &amp;#xD504;&amp;#xB85C;&amp;#xC81D;&amp;#xD2B8;&amp;#xC758; build &amp;#xACFC;&amp;#xC815;&amp;#xC774; &amp;#xD544;&amp;#xC218;&amp;#xC774;&amp;#xC9C0;&amp;#xB9CC;, default restart exclusions&amp;#xC5D0; &amp;#xC758;&amp;#xD574; &amp;#xC815;&amp;#xC801; &amp;#xB9AC;&amp;#xC18C;&amp;#xC2A4;&amp;#xB294; &amp;#xBCC0;&amp;#xACBD;&amp;#xC0AC;&amp;#xD56D;&amp;#xC774; &amp;#xC0DD;&amp;#xACA8;&amp;#xB3C4; &amp;#xC7AC;&amp;#xC2DC;&amp;#xC791;&amp;#xC744; &amp;#xD558;&amp;#xC9C0; &amp;#xC54A;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;. (&amp;#xB2E4;&amp;#xB9CC; livereload&amp;#xB294; &amp;#xC791;&amp;#xB3D9;&amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.)&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;yml&quot; class=&quot;language-yaml&quot;&gt;&lt;span class=&quot;token key atrule&quot;&gt;spring&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
  &lt;span class=&quot;token key atrule&quot;&gt;devtools&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
    &lt;span class=&quot;token key atrule&quot;&gt;restart&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
      &lt;span class=&quot;token key atrule&quot;&gt;enabled&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token boolean important&quot;&gt;true&lt;/span&gt;
      &lt;span class=&quot;token key atrule&quot;&gt;additional-exclude&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; ttt/&lt;span class=&quot;token important&quot;&gt;**&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;token important&quot;&gt;**/Ttt*.class&lt;/span&gt;
&lt;/pre&gt;&lt;blockquote&gt;
&lt;p&gt;&lt;code&gt;spring.devtools.restart.exclude&lt;/code&gt;, &lt;code&gt;spring.devtools.restart.additional-exclude&lt;/code&gt; &amp;#xD504;&amp;#xB85C;&amp;#xD37C;&amp;#xD2F0; &amp;#xC124;&amp;#xC815;&amp;#xC73C;&amp;#xB85C; default restart exclusions&amp;#xB97C; &amp;#xC218;&amp;#xC815;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;br&gt;
&lt;h3 class=&quot;mume-header&quot; id=&quot;div-ida04-242-%EC%BB%A8%ED%85%8C%EC%9D%B4%EB%84%88-%EC%9E%AC%EC%8B%9C%EC%9E%91-%EC%97%86%EC%9D%B4-%ED%85%9C%ED%94%8C%EB%A6%BF-%EB%B7%B0-%EB%A1%9C%EB%93%9Cdiv&quot;&gt;&lt;div id=&quot;a04-2&quot;&gt;4.2. &amp;#xCEE8;&amp;#xD14C;&amp;#xC774;&amp;#xB108; &amp;#xC7AC;&amp;#xC2DC;&amp;#xC791; &amp;#xC5C6;&amp;#xC774; &amp;#xD15C;&amp;#xD50C;&amp;#xB9BF; &amp;#xBDF0; &amp;#xB85C;&amp;#xB4DC;&lt;/div&gt;&lt;/h3&gt;

&lt;p&gt;Spring Boot &amp;#xC5D0;&amp;#xC11C; &amp;#xC9C0;&amp;#xC6D0;&amp;#xD558;&amp;#xACE0; &amp;#xC788;&amp;#xB294; &amp;#xD15C;&amp;#xD50C;&amp;#xB9BF;&amp;#xC758; &amp;#xCE90;&amp;#xC2F1; &amp;#xBE44;&amp;#xD65C;&amp;#xC131;&amp;#xD654; &amp;#xC635;&amp;#xC158;&amp;#xC744; &amp;#xC81C;&amp;#xACF5;&amp;#xD558;&amp;#xC5EC;, &amp;#xD15C;&amp;#xD50C;&amp;#xB9BF; &amp;#xBDF0;&amp;#xC758; &amp;#xC218;&amp;#xC815;&amp;#xC0AC;&amp;#xD56D; &amp;#xBC1C;&amp;#xC0DD;&amp;#xC2DC;, &amp;#xCEE8;&amp;#xD14C;&amp;#xC774;&amp;#xB108; &amp;#xC7AC;&amp;#xC2DC;&amp;#xC791; &amp;#xC5C6;&amp;#xC774; &amp;#xAC31;&amp;#xC2E0;&amp;#xB41C; &amp;#xC0AC;&amp;#xD56D;&amp;#xC744; &amp;#xB85C;&amp;#xB4DC;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xAC8C; &amp;#xD574;&amp;#xC90D;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xC608;&amp;#xB97C;&amp;#xB4E4;&amp;#xC5B4;, Thymeleaf &amp;#xD15C;&amp;#xD50C;&amp;#xB9BF;&amp;#xC744; &amp;#xC774;&amp;#xC6A9;&amp;#xD558;&amp;#xB294; &amp;#xACBD;&amp;#xC6B0;, &lt;code&gt;spring.thymeleaf.cache&lt;/code&gt; &amp;#xB97C; false&amp;#xB85C; &amp;#xC124;&amp;#xC815;&amp;#xD560; &amp;#xACBD;&amp;#xC6B0;, &amp;#xC11C;&amp;#xBC84; &amp;#xC7AC;&amp;#xC2DC;&amp;#xC791; &amp;#xC5C6;&amp;#xC774; &amp;#xD15C;&amp;#xD50C;&amp;#xB9BF;&amp;#xC758; &amp;#xBCC0;&amp;#xACBD;&amp;#xC0AC;&amp;#xD56D;&amp;#xC744; &amp;#xB85C;&amp;#xB4DC;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;yml&quot; class=&quot;language-yaml&quot;&gt;&lt;span class=&quot;token key atrule&quot;&gt;spring&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
  &lt;span class=&quot;token key atrule&quot;&gt;thymeleaf&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
    &lt;span class=&quot;token key atrule&quot;&gt;cache&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token boolean important&quot;&gt;false&lt;/span&gt;
&lt;/pre&gt;&lt;blockquote&gt;
&lt;p&gt;FreeMarker &amp;#xD15C;&amp;#xD50C;&amp;#xB9BF;&amp;#xC744; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD55C;&amp;#xB2E4;&amp;#xBA74; &lt;code&gt;spring.freemarker.cache&lt;/code&gt;, Groovy &amp;#xD15C;&amp;#xD50C;&amp;#xB9BF;&amp;#xC744; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD55C;&amp;#xB2E4;&amp;#xBA74; &lt;code&gt;spring.groovy.template.cache&lt;/code&gt; &amp;#xC5D0; &amp;#xC124;&amp;#xC815;&amp;#xD558;&amp;#xBA74; &amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;br&gt;
&lt;h3 class=&quot;mume-header&quot; id=&quot;div-ida04-343-%EB%B9%A0%EB%A5%B8-%EC%95%A0%ED%94%8C%EB%A6%AC%EC%BC%80%EC%9D%B4%EC%85%98-%EC%9E%AC%EC%8B%9C%EC%9E%91div&quot;&gt;&lt;div id=&quot;a04-3&quot;&gt;4.3. &amp;#xBE60;&amp;#xB978; &amp;#xC560;&amp;#xD50C;&amp;#xB9AC;&amp;#xCF00;&amp;#xC774;&amp;#xC158; &amp;#xC7AC;&amp;#xC2DC;&amp;#xC791;&lt;/div&gt;&lt;/h3&gt;

&lt;p&gt;devtools&amp;#xC5D0;&amp;#xB294; &amp;#xC790;&amp;#xB3D9; &amp;#xC560;&amp;#xD50C;&amp;#xB9AC;&amp;#xCF00;&amp;#xC774;&amp;#xC158;&amp;#xC744; &amp;#xC7AC;&amp;#xC2DC;&amp;#xC791;&amp;#xC744; &amp;#xC9C0;&amp;#xC6D0;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;devtools&amp;#xB97C; &amp;#xC774;&amp;#xC6A9;&amp;#xD55C; restart&amp;#xC5D0;&amp;#xC11C;&amp;#xB294; 2&amp;#xAC1C;&amp;#xC758; &amp;#xD074;&amp;#xB798;&amp;#xC2A4; &amp;#xB85C;&amp;#xB354;&amp;#xB97C; &amp;#xC774;&amp;#xC6A9;&amp;#xD558;&amp;#xC5EC; &amp;#xC7AC;&amp;#xC2DC;&amp;#xC791;&amp;#xC744; &amp;#xD558;&amp;#xBA70;,&lt;br&gt;
&amp;#xC678;&amp;#xBD80; &amp;#xB77C;&amp;#xC774;&amp;#xBE0C;&amp;#xB7EC;&amp;#xB9AC;&amp;#xC758; &amp;#xACBD;&amp;#xC6B0;&amp;#xC5D0;&amp;#xB294; &amp;#xAE30;&amp;#xC874;&amp;#xC5D0; &amp;#xCC44;&amp;#xC6CC;&amp;#xC838;&amp;#xC788;&amp;#xB294; &amp;#xAC83;&amp;#xC744; &amp;#xADF8;&amp;#xB300;&amp;#xB85C; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD558;&amp;#xACE0;(&amp;#xAE30;&amp;#xBCF8; &amp;#xD074;&amp;#xB798;&amp;#xC2A4;&amp;#xB85C;&amp;#xB354;&amp;#xC5D0; &amp;#xB85C;&amp;#xB4DC;&amp;#xB418;&amp;#xC5B4;&amp;#xC788;&amp;#xC74C;) &amp;#xAC1C;&amp;#xBC1C;&amp;#xC790;&amp;#xAC00; &amp;#xC9C1;&amp;#xC811; &amp;#xC791;&amp;#xC131;&amp;#xD55C; &amp;#xD074;&amp;#xB798;&amp;#xC2A4;&amp;#xB4E4;&amp;#xB9CC; &amp;#xC7AC;&amp;#xC2DC;&amp;#xC791; &amp;#xD074;&amp;#xB798;&amp;#xC2A4;&amp;#xB85C;&amp;#xB354;&amp;#xC5D0; &amp;#xC7AC;&amp;#xB85C;&amp;#xB4DC;&amp;#xD558;&amp;#xC5EC; &amp;#xC7AC;&amp;#xC2DC;&amp;#xC791;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;JRebel&amp;#xACFC; &amp;#xAC19;&amp;#xC740; &amp;#xAE30;&amp;#xC220;&amp;#xB9CC;&amp;#xD07C; &amp;#xBE60;&amp;#xB974;&amp;#xC9C0;&amp;#xB294; &amp;#xC54A;&amp;#xC9C0;&amp;#xB9CC;, &amp;#xC77C;&amp;#xBC18;&amp;#xC801;&amp;#xC73C;&amp;#xB85C; &amp;quot;cold start&amp;quot; &amp;#xBCF4;&amp;#xB2E4;&amp;#xB294; &amp;#xBE60;&amp;#xB985;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
(cold start&amp;#xB294; &amp;#xC77C;&amp;#xBC18;&amp;#xC801;&amp;#xC73C;&amp;#xB85C; &amp;#xC560;&amp;#xD50C;&amp;#xB9AC;&amp;#xCF00;&amp;#xC774;&amp;#xC158;&amp;#xC744; &amp;#xC885;&amp;#xB8CC;&amp;#xD558;&amp;#xACE0; &amp;#xC0C8;&amp;#xB85C; &amp;#xC2DC;&amp;#xC791;&amp;#xD558;&amp;#xB294; &amp;#xAC83;&amp;#xC744; &amp;#xC758;&amp;#xBBF8;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.)&lt;/p&gt;
&lt;br&gt;
&lt;h3 class=&quot;mume-header&quot; id=&quot;div-ida04-444-%EC%BB%A8%ED%85%8C%EC%9D%B4%EB%84%88-%EC%9E%AC%EC%8B%9C%EC%9E%91-%EC%97%86%EC%9D%B4-java-%ED%81%B4%EB%9E%98%EC%8A%A4-%EB%A6%AC%EB%A1%9C%EB%93%9Cdiv&quot;&gt;&lt;div id=&quot;a04-4&quot;&gt;4.4. &amp;#xCEE8;&amp;#xD14C;&amp;#xC774;&amp;#xB108; &amp;#xC7AC;&amp;#xC2DC;&amp;#xC791; &amp;#xC5C6;&amp;#xC774; java &amp;#xD074;&amp;#xB798;&amp;#xC2A4; &amp;#xB9AC;&amp;#xB85C;&amp;#xB4DC;&lt;/div&gt;&lt;/h3&gt;

&lt;p&gt;IntelliJ IDEA, Eclipse &amp;#xB4F1; &amp;#xCD5C;&amp;#xC2E0; IDE&amp;#xC5D0;&amp;#xC11C;&amp;#xB294; bytecode&amp;#xC758; &amp;#xD56B; &amp;#xC2A4;&amp;#xC640;&amp;#xD551;&amp;#xC744; &amp;#xC9C0;&amp;#xC6D0;&amp;#xD558;&amp;#xACE0; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;class&amp;#xB098; method&amp;#xC758; &amp;#xC2DC;&amp;#xADF8;&amp;#xB2C8;&amp;#xCC98;&amp;#xC5D0; &amp;#xC601;&amp;#xD5A5;&amp;#xC744; &amp;#xBBF8;&amp;#xCE58;&amp;#xC9C0; &amp;#xC54A;&amp;#xB294; &amp;#xC218;&amp;#xC900;&amp;#xC758; &amp;#xBCC0;&amp;#xACBD;&amp;#xC774; &amp;#xC77C;&amp;#xC5B4;&amp;#xB09C; &amp;#xACBD;&amp;#xC6B0;&amp;#xC5D0;&amp;#xB294; &amp;#xCEE8;&amp;#xD14C;&amp;#xC774;&amp;#xB108;&amp;#xC758; &amp;#xC7AC;&amp;#xC2DC;&amp;#xC791;&amp;#xC5C6;&amp;#xC774; &amp;#xB9AC;&amp;#xB85C;&amp;#xB4DC;&amp;#xD558;&amp;#xC5EC; &amp;#xC218;&amp;#xC815;&amp;#xC0AC;&amp;#xD56D;&amp;#xC744; &amp;#xC989;&amp;#xAC01; &amp;#xBC18;&amp;#xC601;&amp;#xD574;&amp;#xC90D;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;class&amp;#xB098; method&amp;#xC758; &amp;#xC2DC;&amp;#xADF8;&amp;#xB2C8;&amp;#xCC98;&amp;#xC5D0; &amp;#xC601;&amp;#xD5A5;&amp;#xC744; &amp;#xBBF8;&amp;#xCE5C; &amp;#xACBD;&amp;#xC6B0;&amp;#xC5D0;&amp;#xB294; &amp;#xC7AC;&amp;#xC2DC;&amp;#xC791;&amp;#xC5C6;&amp;#xC774; &amp;#xB9AC;&amp;#xB85C;&amp;#xB4DC; &amp;#xC0AC;&amp;#xD56D;&amp;#xC774; &amp;#xBC18;&amp;#xC601;&amp;#xB418;&amp;#xC9C0; &amp;#xC54A;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xC0C8;&amp;#xB85C;&amp;#xC6B4; &amp;#xBA54;&amp;#xC11C;&amp;#xB4DC;&amp;#xAC00; &amp;#xCD94;&amp;#xAC00; &amp;#xB610;&amp;#xB294; &amp;#xC0AD;&amp;#xC81C; &amp;#xB418;&amp;#xB294; &amp;#xACBD;&amp;#xC6B0; &amp;#xC544;&amp;#xB798;&amp;#xC640; &amp;#xAC19;&amp;#xC740; &amp;#xD31D;&amp;#xC5C5; &amp;#xB178;&amp;#xCD9C;&amp;#xACFC; &amp;#xD568;&amp;#xAED8; &amp;#xD56B;&amp;#xC2A4;&amp;#xC651;&amp;#xC774; &amp;#xC2E4;&amp;#xD328;&amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&lt;img width=&quot;600&quot; src=&quot;https://raw.githubusercontent.com/jiniya22/image_box/master/blog/Spring%20Docs/01-2.png&quot;&gt;&lt;br&gt;
&lt;img width=&quot;600&quot; src=&quot;https://raw.githubusercontent.com/jiniya22/image_box/master/blog/Spring%20Docs/01-3.png&quot;&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;api url&amp;#xC758; &amp;#xBCC0;&amp;#xACBD;&amp;#xACFC; &amp;#xAC19;&amp;#xC740; &amp;#xC2DC;&amp;#xADF8;&amp;#xB2C8;&amp;#xCC98; &amp;#xBCC0;&amp;#xACBD;&amp;#xC2DC;&amp;#xC5D0;&amp;#xB294; &amp;#xBCC4;&amp;#xB3C4;&amp;#xC758; &amp;#xC2E4;&amp;#xD328; &amp;#xD31D;&amp;#xC5C5;&amp;#xC740; &amp;#xB728;&amp;#xC9C0; &amp;#xC54A;&amp;#xC9C0;&amp;#xB9CC; &amp;#xB9AC;&amp;#xB85C;&amp;#xB4DC;&amp;#xB294; &amp;#xB418;&amp;#xC5B4;&amp;#xB3C4; api &amp;#xBCC0;&amp;#xACBD;&amp;#xC774; &amp;#xBC18;&amp;#xC601;&amp;#xB418;&amp;#xC9C0; &amp;#xC54A;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;br&gt;
&lt;h2 class=&quot;mume-header&quot; id=&quot;div-ida05-15-%EC%9E%90%EB%8F%99-restartdiv&quot;&gt;&lt;div id=&quot;a05-1&quot;&gt;5. &amp;#xC790;&amp;#xB3D9; restart&lt;/div&gt;&lt;/h2&gt;

&lt;p&gt;spring-boot-devtools &amp;#xB97C; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD558;&amp;#xB294; &amp;#xC560;&amp;#xD50C;&amp;#xB9AC;&amp;#xCF00;&amp;#xC774;&amp;#xC158;&amp;#xC740; classpath &amp;#xD30C;&amp;#xC77C;&amp;#xC774; &amp;#xBCC0;&amp;#xACBD;&amp;#xB420;&amp;#xB54C;&amp;#xB9C8;&amp;#xB2E4; &amp;#xC7AC;&amp;#xC2DC;&amp;#xC791;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;. (&amp;#xC7AC;&amp;#xC2DC;&amp;#xC791; &amp;#xD560; &amp;#xB54C;, &amp;#xC218;&amp;#xC815;&amp;#xB41C; &amp;#xD30C;&amp;#xC77C;&amp;#xC5D0; &amp;#xB300;&amp;#xD574; &amp;#xB2E4;&amp;#xC2DC; &amp;#xCEF4;&amp;#xD30C;&amp;#xC77C; &amp;#xD55C; &amp;#xD6C4; &amp;#xC7AC;&amp;#xC2DC;&amp;#xC791; &amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.)&lt;/p&gt;
&lt;p&gt;&amp;#xC774;&amp;#xB294;, IntelliJ&amp;#xC640; &amp;#xAC19;&amp;#xC740; IDE&amp;#xB85C; &amp;#xAC1C;&amp;#xBC1C;&amp;#xC744; &amp;#xD560; &amp;#xB54C;&amp;#xC5D0;, &amp;#xBCC0;&amp;#xACBD;&amp;#xC0AC;&amp;#xD56D;&amp;#xC744; &amp;#xBE60;&amp;#xB974;&amp;#xAC8C; &amp;#xBC18;&amp;#xC601;&amp;#xD574;&amp;#xC8FC;&amp;#xAE30; &amp;#xB54C;&amp;#xBB38;&amp;#xC5D0; &amp;#xD3B8;&amp;#xB9AC;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xB2E8;, AspectJ weaving &amp;#xC744; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD560; &amp;#xB54C;&amp;#xC5D4; &amp;#xC790;&amp;#xB3D9; &amp;#xC7AC;&amp;#xC2DC;&amp;#xC791;&amp;#xC744; &amp;#xC9C0;&amp;#xC6D0;&amp;#xD558;&amp;#xC9C0; &amp;#xC54A;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&lt;br&gt;&lt;/p&gt;
&lt;h3 class=&quot;mume-header&quot; id=&quot;51-restart-vs-reload&quot;&gt;5.1. Restart vs Reload&lt;/h3&gt;

&lt;p&gt;spring boot&amp;#xC5D0;&amp;#xC11C; &amp;#xC81C;&amp;#xACF5;&amp;#xD558;&amp;#xB294; &amp;#xC7AC;&amp;#xC2DC;&amp;#xC791;&amp;#xC740; 2&amp;#xAC1C;&amp;#xC758; &amp;#xD074;&amp;#xB798;&amp;#xC2A4;&amp;#xB85C;&amp;#xB354;&amp;#xC5D0; &amp;#xC758;&amp;#xD574; &amp;#xC791;&amp;#xB3D9;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
dependency&amp;#xB97C; &amp;#xD1B5;&amp;#xD574; &amp;#xC774;&amp;#xC6A9;&amp;#xD558;&amp;#xACE0; &amp;#xC788;&amp;#xB294; &amp;#xD0C0;&amp;#xC0AC; jar &amp;#xD074;&amp;#xB798;&amp;#xC2A4;&amp;#xB4E4;&amp;#xC740; &amp;#xBCC0;&amp;#xACBD;&amp;#xB418;&amp;#xC9C0; &amp;#xC54A;&amp;#xB294; &amp;#xD074;&amp;#xB798;&amp;#xC2A4;&amp;#xB85C;, &amp;#xAE30;&amp;#xBCF8; &amp;#xD074;&amp;#xB798;&amp;#xC2A4;&amp;#xB85C;&amp;#xB354;(base classloader)&amp;#xC5D0; &amp;#xB85C;&amp;#xB4DC;&amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xADF8;&amp;#xB9AC;&amp;#xACE0;, &amp;#xAC1C;&amp;#xBC1C;&amp;#xC911;&amp;#xC778; &amp;#xD074;&amp;#xB798;&amp;#xC2A4;&amp;#xB4E4;&amp;#xC740; &amp;#xC7AC;&amp;#xC2DC;&amp;#xC791; &amp;#xD074;&amp;#xB798;&amp;#xC2A4;&amp;#xB85C;&amp;#xB354;(restart classloader)&amp;#xC5D0; &amp;#xB85C;&amp;#xB4DC;&amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xC560;&amp;#xD50C;&amp;#xB9AC;&amp;#xCF00;&amp;#xC774;&amp;#xC158;&amp;#xC774; &amp;#xC7AC;&amp;#xC2DC;&amp;#xC791;&amp;#xB420; &amp;#xB54C;, &amp;#xC7AC;&amp;#xC2DC;&amp;#xC791; &amp;#xD074;&amp;#xB798;&amp;#xC2A4;&amp;#xB85C;&amp;#xB354;&amp;#xB294; &amp;#xC0AC;&amp;#xB77C;&amp;#xC9C0;&amp;#xACE0; &amp;#xC0C8;&amp;#xB85C;&amp;#xC6B4; &amp;#xD074;&amp;#xB798;&amp;#xC2A4; &amp;#xB85C;&amp;#xB354;&amp;#xAC00; &amp;#xC0DD;&amp;#xC131;&amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xAE30;&amp;#xBCF8; &amp;#xD074;&amp;#xB798;&amp;#xC2A4;&amp;#xB85C;&amp;#xB354;&amp;#xB294; &amp;#xAE30;&amp;#xC874;&amp;#xC5D0; &amp;#xCC44;&amp;#xC6CC;&amp;#xC838;&amp;#xC788;&amp;#xB294; &amp;#xAC83;&amp;#xC744; &amp;#xADF8;&amp;#xB300;&amp;#xB85C; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD558;&amp;#xAE30; &amp;#xB54C;&amp;#xBB38;&amp;#xC5D0;, &amp;#xC560;&amp;#xD50C;&amp;#xB9AC;&amp;#xCF00;&amp;#xC774;&amp;#xC158; restart&amp;#xB294; &amp;#xC77C;&amp;#xBC18;&amp;#xC801;&amp;#xC73C;&amp;#xB85C; &amp;quot;cold starts&amp;quot; &amp;#xBCF4;&amp;#xB2E4; &amp;#xD6E8;&amp;#xC52C; &amp;#xBE60;&amp;#xB985;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xC560;&amp;#xD50C;&amp;#xB9AC;&amp;#xCF00;&amp;#xC774;&amp;#xC158;&amp;#xC758; &amp;#xC7AC;&amp;#xC2DC;&amp;#xC791;&amp;#xC774; &amp;#xB108;&amp;#xBB34; &amp;#xB290;&amp;#xB9AC;&amp;#xAC70;&amp;#xB098;, &amp;#xD074;&amp;#xB798;&amp;#xC2A4;&amp;#xB85C;&amp;#xB529;&amp;#xC5D0; &amp;#xBB38;&amp;#xC81C;&amp;#xAC00; &amp;#xC788;&amp;#xB2E4;&amp;#xBA74; JRebel &amp;#xAC19;&amp;#xC740; &amp;#xC7AC;&amp;#xB85C;&amp;#xB529; &amp;#xAE30;&amp;#xC220;&amp;#xC744; &amp;#xACE0;&amp;#xB824;&amp;#xD574;&amp;#xBCF4;&amp;#xB294; &amp;#xAC83;&amp;#xB3C4; &amp;#xC88B;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;br&gt;
&lt;h3 class=&quot;mume-header&quot; id=&quot;div-ida05-252-condition-evalutaion%EC%97%90%EC%84%9C-%EB%B3%80%EA%B2%BD%EC%82%AC%ED%95%AD-%EB%A1%9C%EA%B9%85div&quot;&gt;&lt;div id=&quot;a05-2&quot;&gt;5.2. condition evalutaion&amp;#xC5D0;&amp;#xC11C; &amp;#xBCC0;&amp;#xACBD;&amp;#xC0AC;&amp;#xD56D; &amp;#xB85C;&amp;#xAE45;&lt;/div&gt;&lt;/h3&gt;

&lt;p&gt;&amp;#xAE30;&amp;#xBCF8;&amp;#xC801;&amp;#xC73C;&amp;#xB85C; &amp;#xC560;&amp;#xD50C;&amp;#xB9AC;&amp;#xCF00;&amp;#xC774;&amp;#xC158;&amp;#xC774; &amp;#xC7AC;&amp;#xC2DC;&amp;#xC791;&amp;#xD560; &amp;#xB54C;, &amp;#xC870;&amp;#xAC74; &amp;#xD3C9;&amp;#xAC00; &amp;#xB378;&amp;#xD0C0;&amp;#xB97C; &amp;#xBCF4;&amp;#xC5EC;&amp;#xC8FC;&amp;#xB294; &amp;#xBCF4;&amp;#xACE0;&amp;#xC11C;&amp;#xAC00; &amp;#xAE30;&amp;#xB85D;&amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xC774; &amp;#xBCF4;&amp;#xACE0;&amp;#xC11C;&amp;#xC5D0;&amp;#xB294; &amp;#xBE48;&amp;#xC758; &amp;#xCD94;&amp;#xAC00;&amp;#xB098; &amp;#xC81C;&amp;#xAC70;, &amp;#xAD6C;&amp;#xC131;&amp;#xC124;&amp;#xC815;&amp;#xC758; &amp;#xBCC0;&amp;#xACBD; &amp;#xB4F1;&amp;#xC5D0; &amp;#xB300;&amp;#xD55C; &amp;#xBCC0;&amp;#xACBD; &amp;#xC0AC;&amp;#xD56D;&amp;#xC774; &amp;#xB4E4;&amp;#xC5B4;&amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xCEE8;&amp;#xD14C;&amp;#xC774;&amp;#xB108; restart&amp;#xC2DC; &amp;#xBCF4;&amp;#xACE0;&amp;#xC11C; &amp;#xB85C;&amp;#xAE45;&amp;#xC744; &amp;#xBE44;&amp;#xD65C;&amp;#xC131;&amp;#xD654;&amp;#xD558;&amp;#xACE0; &amp;#xC2F6;&amp;#xB2E4;&amp;#xBA74; &lt;code&gt;spring.devtools.restart.log-condition-evaluation-delta&lt;/code&gt; &amp;#xAC12;&amp;#xC744; false&amp;#xB85C; &amp;#xC124;&amp;#xC815;&amp;#xD558;&amp;#xBA74; &amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&lt;br&gt;&lt;/p&gt;
&lt;p&gt;&amp;#xC544;&amp;#xB798;&amp;#xB294; condition evalutaion delta&amp;#xC758; &amp;#xC608;&amp;#xC2DC;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;java&quot; class=&quot;language-java&quot;&gt;&lt;span class=&quot;token number&quot;&gt;2024&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;09&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;30&lt;/span&gt;T13&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;42&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;56.365&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;09&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;00&lt;/span&gt; DEBUG &lt;span class=&quot;token number&quot;&gt;35798&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;spring&lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt;boot&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;  restartedMain&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;s&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;b&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;a&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;l&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;ConditionEvaluationReportLogger &lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt;


&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;
CONDITIONS &lt;span class=&quot;token class-name&quot;&gt;EVALUATION&lt;/span&gt; REPORT
&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;


&lt;span class=&quot;token class-name&quot;&gt;Positive&lt;/span&gt; matches&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt;
&lt;span class=&quot;token operator&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt;

   &lt;span class=&quot;token class-name&quot;&gt;AopAutoConfiguration&lt;/span&gt; matched&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt;
      &lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;token annotation punctuation&quot;&gt;@ConditionalOnProperty&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;spring&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;aop&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;auto&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token boolean&quot;&gt;true&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; matched &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;OnPropertyCondition&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;

   &lt;span class=&quot;token class-name&quot;&gt;AopAutoConfiguration&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;ClassProxyingConfiguration&lt;/span&gt; matched&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt;
      &lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;token annotation punctuation&quot;&gt;@ConditionalOnMissingClass&lt;/span&gt; did not find unwanted &lt;span class=&quot;token keyword keyword-class&quot;&gt;class&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;apos;org.aspectj.weaver.Advice&amp;apos;&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;OnClassCondition&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
      &lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;token annotation punctuation&quot;&gt;@ConditionalOnProperty&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;spring&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;aop&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;proxy&lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt;target&lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;token keyword keyword-class&quot;&gt;class&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token boolean&quot;&gt;true&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; matched &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;OnPropertyCondition&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;

   &lt;span class=&quot;token class-name&quot;&gt;ApplicationAvailabilityAutoConfiguration&lt;/span&gt;#applicationAvailability matched&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt;
      &lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;token annotation punctuation&quot;&gt;@ConditionalOnMissingBean&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;types&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;&lt;span class=&quot;token namespace&quot;&gt;org&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;springframework&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;boot&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;availability&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;/span&gt;ApplicationAvailability&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;SearchStrategy&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; all&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; did not find any beans &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;OnBeanCondition&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;

      &lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;

&lt;span class=&quot;token class-name&quot;&gt;Negative&lt;/span&gt; matches&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt;
&lt;span class=&quot;token operator&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt;

   &lt;span class=&quot;token class-name&quot;&gt;ActiveMQAutoConfiguration&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt;
      &lt;span class=&quot;token class-name&quot;&gt;Did&lt;/span&gt; not match&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt;
         &lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;token annotation punctuation&quot;&gt;@ConditionalOnClass&lt;/span&gt; did not find required &lt;span class=&quot;token keyword keyword-class&quot;&gt;class&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;apos;jakarta.jms.ConnectionFactory&amp;apos;&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;OnClassCondition&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;

&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;         

&lt;span class=&quot;token class-name&quot;&gt;Exclusions&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt;
&lt;span class=&quot;token operator&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt;

   &lt;span class=&quot;token class-name&quot;&gt;None&lt;/span&gt;


&lt;span class=&quot;token class-name&quot;&gt;Unconditional&lt;/span&gt; classes&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt;
&lt;span class=&quot;token operator&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;--&lt;/span&gt;

   &lt;span class=&quot;token class-name&quot;&gt;&lt;span class=&quot;token namespace&quot;&gt;org&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;springframework&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;boot&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;autoconfigure&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;context&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;/span&gt;ConfigurationPropertiesAutoConfiguration&lt;/span&gt;

   &lt;span class=&quot;token class-name&quot;&gt;&lt;span class=&quot;token namespace&quot;&gt;org&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;springframework&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;boot&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;autoconfigure&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;ssl&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;/span&gt;SslAutoConfiguration&lt;/span&gt;

   &lt;span class=&quot;token class-name&quot;&gt;&lt;span class=&quot;token namespace&quot;&gt;org&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;springframework&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;boot&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;autoconfigure&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;context&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;/span&gt;LifecycleAutoConfiguration&lt;/span&gt;

   &lt;span class=&quot;token class-name&quot;&gt;&lt;span class=&quot;token namespace&quot;&gt;org&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;springframework&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;boot&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;autoconfigure&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;context&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;/span&gt;PropertyPlaceholderAutoConfiguration&lt;/span&gt;

   &lt;span class=&quot;token class-name&quot;&gt;&lt;span class=&quot;token namespace&quot;&gt;org&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;springframework&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;boot&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;autoconfigure&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;availability&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;/span&gt;ApplicationAvailabilityAutoConfiguration&lt;/span&gt;

   &lt;span class=&quot;token class-name&quot;&gt;&lt;span class=&quot;token namespace&quot;&gt;org&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;springframework&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;boot&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;autoconfigure&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;info&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;/span&gt;ProjectInfoAutoConfiguration&lt;/span&gt;
&lt;/pre&gt;&lt;br&gt;
&lt;h3 class=&quot;mume-header&quot; id=&quot;div-ida05-353-%EB%A6%AC%EC%86%8C%EC%8A%A4-%EC%A0%9C%EC%99%B8div&quot;&gt;&lt;div id=&quot;a05-3&quot;&gt;5.3. &amp;#xB9AC;&amp;#xC18C;&amp;#xC2A4; &amp;#xC81C;&amp;#xC678;&lt;/div&gt;&lt;/h3&gt;

&lt;p&gt;&amp;#xD2B9;&amp;#xC815; &amp;#xB9AC;&amp;#xC18C;&amp;#xC2A4;&amp;#xC758; &amp;#xACBD;&amp;#xC6B0;, &amp;#xC218;&amp;#xC815;&amp;#xC0AC;&amp;#xD56D;&amp;#xC774; &amp;#xBC1C;&amp;#xC0DD;&amp;#xB418;&amp;#xC5C8;&amp;#xB2E4; &amp;#xD558;&amp;#xB354;&amp;#xB77C;&amp;#xB3C4; &amp;#xBC18;&amp;#xB4DC;&amp;#xC2DC; &amp;#xC7AC;&amp;#xC2DC;&amp;#xC791;&amp;#xC774; &amp;#xB420; &amp;#xD544;&amp;#xC694;&amp;#xAC00; &amp;#xC5C6;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;. (ex. thymeleaf &amp;#xD15C;&amp;#xD50C;&amp;#xB9BF;)&lt;/p&gt;
&lt;p&gt;&amp;#xAE30;&amp;#xBCF8;&amp;#xC801;&amp;#xC73C;&amp;#xB85C;, &lt;code&gt;/META-INF/maven, /META-INF/resources, /resources, /static, /public, /templates&lt;/code&gt; &amp;#xB514;&amp;#xB809;&amp;#xD1A0;&amp;#xB9AC; &amp;#xB0B4;&amp;#xC758; &amp;#xB9AC;&amp;#xC18C;&amp;#xC2A4;&amp;#xB4E4;&amp;#xC740; &amp;#xBCC0;&amp;#xACBD;&amp;#xC0AC;&amp;#xD56D;&amp;#xC774; &amp;#xC788;&amp;#xC5B4;&amp;#xB3C4; &amp;#xC7AC;&amp;#xC2DC;&amp;#xC791;&amp;#xC774; &amp;#xB418;&amp;#xC9C0; &amp;#xC54A;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;. (&amp;#xD558;&amp;#xC9C0;&amp;#xB9CC;, live reload&amp;#xC758; &amp;#xACBD;&amp;#xC6B0;, &amp;#xD574;&amp;#xB2F9; &amp;#xB514;&amp;#xB809;&amp;#xD1A0;&amp;#xB9AC; &amp;#xB0B4;&amp;#xC758; &amp;#xB9AC;&amp;#xC18C;&amp;#xC2A4; &amp;#xBCC0;&amp;#xACBD;&amp;#xC774; &amp;#xC788;&amp;#xC744; &amp;#xC2DC; &amp;#xC7AC;&amp;#xC2DC;&amp;#xC791;&amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.)&lt;/p&gt;
&lt;blockquote&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;java&quot; class=&quot;language-java&quot;&gt;&lt;span class=&quot;token class-name&quot;&gt;String&lt;/span&gt; DEFAULT_RESTART_EXCLUDES &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;META-INF/maven/**,META-INF/resources/**,resources/**,static/**,public/**,templates/**,**/*Test.class,**/*Tests.class,git.properties,META-INF/build-info.properties&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;/pre&gt;&lt;/blockquote&gt;
&lt;p&gt;&amp;#xB9CC;&amp;#xC77C;, &amp;#xC774; &amp;#xB9AC;&amp;#xC18C;&amp;#xC2A4; &amp;#xB514;&amp;#xB809;&amp;#xD1A0;&amp;#xB9AC;&amp;#xB4E4;&amp;#xC744; &amp;#xBCC0;&amp;#xACBD;&amp;#xD558;&amp;#xACE0; &amp;#xC2F6;&amp;#xB2E4;&amp;#xBA74;, &lt;code&gt;spring.devtools.restart.exclude&lt;/code&gt; &amp;#xC5D0; &amp;#xC124;&amp;#xC815;&amp;#xD574;&amp;#xC8FC;&amp;#xBA74; &amp;#xB418;&amp;#xACE0;, &amp;#xAE30;&amp;#xBCF8;&amp;#xAC12;&amp;#xC744; &amp;#xC720;&amp;#xC9C0;&amp;#xD558;&amp;#xBA74;&amp;#xC11C; &amp;#xB9AC;&amp;#xC18C;&amp;#xC2A4; &amp;#xC81C;&amp;#xC678;&amp;#xAC12;&amp;#xC744; &amp;#xCD94;&amp;#xAC00;&amp;#xD558;&amp;#xACE0; &amp;#xC2F6;&amp;#xB2E4;&amp;#xBA74; &lt;code&gt;spring.devtools.restart.additional-exclude&lt;/code&gt; &amp;#xD504;&amp;#xB85C;&amp;#xD37C;&amp;#xD2F0; &amp;#xAC12;&amp;#xC744; &amp;#xCD94;&amp;#xAC00;&amp;#xD574;&amp;#xC8FC;&amp;#xBA74; &amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;yml&quot; class=&quot;language-yaml&quot;&gt;&lt;span class=&quot;token key atrule&quot;&gt;spring&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
  &lt;span class=&quot;token key atrule&quot;&gt;application&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
    &lt;span class=&quot;token key atrule&quot;&gt;name&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; spring&lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt;boot

  &lt;span class=&quot;token key atrule&quot;&gt;devtools&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
    &lt;span class=&quot;token key atrule&quot;&gt;restart&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
      &lt;span class=&quot;token key atrule&quot;&gt;log-condition-evaluation-delta&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token boolean important&quot;&gt;false&lt;/span&gt;
      &lt;span class=&quot;token key atrule&quot;&gt;additional-exclude&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; /ttt/&lt;span class=&quot;token important&quot;&gt;**&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;token important&quot;&gt;**/*Test.class&lt;/span&gt;
&lt;/pre&gt;&lt;br&gt;
&lt;h3 class=&quot;mume-header&quot; id=&quot;div-ida05-454-restart-%EB%B9%84%ED%99%9C%EC%84%B1%ED%99%94div&quot;&gt;&lt;div id=&quot;a05-4&quot;&gt;5.4. restart &amp;#xBE44;&amp;#xD65C;&amp;#xC131;&amp;#xD654;&lt;/div&gt;&lt;/h3&gt;

&lt;p&gt;&amp;#xC7AC;&amp;#xC2DC;&amp;#xC791; &amp;#xAE30;&amp;#xB2A5;&amp;#xC744; &amp;#xBE44;&amp;#xD65C;&amp;#xC131;&amp;#xD654; &amp;#xD558;&amp;#xACE0; &amp;#xC2F6;&amp;#xB2E4;&amp;#xBA74;, &lt;code&gt;spring.devtools.restart.enabled&lt;/code&gt; &amp;#xAC12;&amp;#xC744; false &amp;#xB85C; &amp;#xC124;&amp;#xC815;&amp;#xD558;&amp;#xBA74; &amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xD504;&amp;#xB85C;&amp;#xD37C;&amp;#xD2F0;&amp;#xAC12;&amp;#xC744; &amp;#xD1B5;&amp;#xD574; restart &amp;#xBE44;&amp;#xD65C;&amp;#xC131;&amp;#xD654; &amp;#xC2DC;&amp;#xD0AC; &amp;#xACBD;&amp;#xC6B0;, &amp;#xC7AC;&amp;#xC2DC;&amp;#xC791; &amp;#xD074;&amp;#xB798;&amp;#xC2A4;&amp;#xB85C;&amp;#xB354;&amp;#xAC00; &amp;#xCD08;&amp;#xAE30;&amp;#xD654;&amp;#xB41C; &amp;#xD6C4;, &amp;#xD30C;&amp;#xC77C; &amp;#xBCC0;&amp;#xACBD; &amp;#xC0AC;&amp;#xD56D;&amp;#xC744; &amp;#xAC10;&amp;#xC2DC;&amp;#xD558;&amp;#xC9C0; &amp;#xC54A;&amp;#xC544; &amp;#xCEE8;&amp;#xD14C;&amp;#xC774;&amp;#xB108; &amp;#xC7AC;&amp;#xC2DC;&amp;#xC791;&amp;#xC774; &amp;#xB418;&amp;#xC9C0; &amp;#xC54A;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xB9CC;&amp;#xC77C;, &amp;#xC644;&amp;#xC804;&amp;#xD55C; restart &amp;#xBE44;&amp;#xD65C;&amp;#xC131;&amp;#xD654;&amp;#xB97C; &amp;#xC124;&amp;#xC815;&amp;#xD558;&amp;#xACE0; &amp;#xC2F6;&amp;#xB2E4;&amp;#xBA74;, &amp;#xCF54;&amp;#xB4DC;&amp;#xC0C1;&amp;#xC5D0; &amp;#xC2DC;&amp;#xC2A4;&amp;#xD15C; &amp;#xC124;&amp;#xC815;&amp;#xAC12;&amp;#xC744; &amp;#xD1B5;&amp;#xD574; &lt;code&gt;spring.devtools.restart.enabled&lt;/code&gt; &amp;#xAC12;&amp;#xC744; false&amp;#xB85C; &amp;#xC124;&amp;#xC815;&amp;#xD558;&amp;#xBA74; &amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;java&quot; class=&quot;language-java&quot;&gt;&lt;span class=&quot;token annotation punctuation&quot;&gt;@SpringBootApplication&lt;/span&gt;
&lt;span class=&quot;token keyword keyword-public&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;token keyword keyword-class&quot;&gt;class&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;MyApplication&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;

	&lt;span class=&quot;token keyword keyword-public&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;token keyword keyword-static&quot;&gt;static&lt;/span&gt; &lt;span class=&quot;token keyword keyword-void&quot;&gt;void&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;main&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;String&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; args&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
		&lt;span class=&quot;token class-name&quot;&gt;System&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;setProperty&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;spring.devtools.restart.enabled&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;false&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
		&lt;span class=&quot;token class-name&quot;&gt;SpringApplication&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;run&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;MyApplication&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token keyword keyword-class&quot;&gt;class&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; args&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
	&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;br&gt;
&lt;h3 class=&quot;mume-header&quot; id=&quot;div-ida05-555-%EC%95%8C%EB%A0%A4%EC%A0%B8%EC%9E%88%EB%8A%94-%EC%A0%9C%ED%95%9C%EC%82%AC%ED%95%ADdiv&quot;&gt;&lt;div id=&quot;a05-5&quot;&gt;5.5. &amp;#xC54C;&amp;#xB824;&amp;#xC838;&amp;#xC788;&amp;#xB294; &amp;#xC81C;&amp;#xD55C;&amp;#xC0AC;&amp;#xD56D;&lt;/div&gt;&lt;/h3&gt;

&lt;p&gt;restart &amp;#xAE30;&amp;#xB2A5;&amp;#xC740; &amp;#xD45C;&amp;#xC900; ObjectInputStream &amp;#xC744; &amp;#xC774;&amp;#xC6A9;&amp;#xD55C; &amp;#xC5ED;&amp;#xC9C1;&amp;#xB82C;&amp;#xD654;&amp;#xB41C; &amp;#xAC1D;&amp;#xCCB4;&amp;#xC5D0;&amp;#xC11C; &amp;#xC798; &amp;#xC791;&amp;#xB3D9;&amp;#xB418;&amp;#xC9C0; &amp;#xC54A;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xB9CC;&amp;#xC57D; &amp;#xB370;&amp;#xC774;&amp;#xD130; &amp;#xC5ED;&amp;#xC9C1;&amp;#xB82C;&amp;#xD654;&amp;#xAC00; &amp;#xD544;&amp;#xC694;&amp;#xD55C; &amp;#xACBD;&amp;#xC6B0;&amp;#xB77C;&amp;#xBA74;, Spring &amp;#xC758; &lt;strong&gt;ConfigurableObjectInputStream&lt;/strong&gt;&amp;#xB97C; &lt;code&gt;Thread.currentThread().getContextClassLoader()&lt;/code&gt; &amp;#xC640; &amp;#xD568;&amp;#xAED8; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD574;&amp;#xC57C;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xBA87;&amp;#xBA87; 3rd party &amp;#xB77C;&amp;#xC774;&amp;#xBE0C;&amp;#xB7EC;&amp;#xB9AC;&amp;#xB4E4;&amp;#xC5D0;&amp;#xC11C; context classloader&amp;#xB97C; &amp;#xACE0;&amp;#xB824;&amp;#xD558;&amp;#xC9C0; &amp;#xC54A;&amp;#xACE0; &amp;#xC5ED;&amp;#xC9C1;&amp;#xB82C;&amp;#xD654;&amp;#xD558;&amp;#xB294; &amp;#xACBD;&amp;#xC6B0;&amp;#xAC00; &amp;#xC788;&amp;#xC5B4;, &amp;#xC774; &amp;#xBD80;&amp;#xBD84;&amp;#xC744; &amp;#xC720;&amp;#xC758;&amp;#xD574;&amp;#xC57C;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 class=&quot;mume-header&quot; id=&quot;6-%EC%95%A0%ED%94%8C%EB%A6%AC%EC%BC%80%EC%9D%B4%EC%85%98%EC%9D%98-%ED%94%84%EB%A1%9C%EB%8D%95%EC%85%98-%EB%B0%B0%ED%8F%AC%EB%A5%BC-%EC%9C%84%ED%95%9C-%ED%8C%A8%ED%82%A4%EC%A7%95&quot;&gt;6. &amp;#xC560;&amp;#xD50C;&amp;#xB9AC;&amp;#xCF00;&amp;#xC774;&amp;#xC158;&amp;#xC758; &amp;#xD504;&amp;#xB85C;&amp;#xB355;&amp;#xC158; &amp;#xBC30;&amp;#xD3EC;&amp;#xB97C; &amp;#xC704;&amp;#xD55C; &amp;#xD328;&amp;#xD0A4;&amp;#xC9D5;&lt;/h2&gt;

&lt;p&gt;&amp;#xC560;&amp;#xD50C;&amp;#xB9AC;&amp;#xCF00;&amp;#xC774;&amp;#xC158;&amp;#xC744; &amp;#xD504;&amp;#xB85C;&amp;#xB355;&amp;#xC158; &amp;#xD658;&amp;#xACBD;&amp;#xC5D0; &amp;#xBC30;&amp;#xD3EC;&amp;#xD558;&amp;#xAE30; &amp;#xC704;&amp;#xD574;&amp;#xC11C;&amp;#xB294; &lt;a href=&quot;https://docs.spring.io/spring-boot/reference/packaging/index.html&quot;&gt;&amp;#xD328;&amp;#xD0A4;&amp;#xC9D5;&lt;/a&gt;&amp;#xC744; &amp;#xD574;&amp;#xC57C;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xC2A4;&amp;#xD504;&amp;#xB9C1; &amp;#xBD80;&amp;#xD2B8;&amp;#xC5D0;&amp;#xC11C;&amp;#xB294; &amp;#xC560;&amp;#xD50C;&amp;#xB9AC;&amp;#xCF00;&amp;#xC774;&amp;#xC158; &amp;#xD328;&amp;#xD0A4;&amp;#xC9D5;&amp;#xC744; &amp;#xCD5C;&amp;#xC801;&amp;#xD654;&amp;#xD558;&amp;#xAE30; &amp;#xC704;&amp;#xD55C; &amp;#xB2E4;&amp;#xC591;&amp;#xD55C; &amp;#xC635;&amp;#xC158;&amp;#xC744; &amp;#xC81C;&amp;#xACF5;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xD504;&amp;#xB85C;&amp;#xB355;&amp;#xC158; &amp;#xD658;&amp;#xACBD;&amp;#xC5D0; health check, REST &amp;#xBA54;&amp;#xD2B8;&amp;#xB9AD;, JMX end-point, &lt;a href=&quot;https://docs.spring.io/spring-boot/how-to/actuator.html&quot;&gt;spring actuator&lt;/a&gt; &amp;#xB4F1;&amp;#xC744; &amp;#xCD94;&amp;#xAC00;&amp;#xD558;&amp;#xB294; &amp;#xAC83;&amp;#xC744; &amp;#xACE0;&amp;#xB824;&amp;#xD574;&amp;#xBCF4;&amp;#xC138;&amp;#xC694;.&lt;/p&gt;
&lt;hr&gt;
&lt;h3 class=&quot;mume-header&quot; id&gt;++&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Hot Swap failed. SpringBootApp: add method not implemented&lt;/li&gt;
&lt;li&gt;Hot Swap failed. SpringBootApp: delete method not implemented&lt;/li&gt;
&lt;/ul&gt;

  &lt;/div&gt;&lt;/div&gt;</description>
      <category>Spring/Basic</category>
      <category>spring docs</category>
      <author>jiniya22</author>
      <guid isPermaLink="true">https://jini-box.tistory.com/246</guid>
      <comments>https://jini-box.tistory.com/246#entry246comment</comments>
      <pubDate>Fri, 4 Oct 2024 16:45:17 +0900</pubDate>
    </item>
    <item>
      <title>Amazon ElastiCache &amp;amp; Memory DB</title>
      <link>https://jini-box.tistory.com/245</link>
      <description>&lt;body id=&quot;html-export&quot;&gt;
      &lt;div class=&quot;mume markdown-preview  &quot;&gt;
      &lt;p&gt;&amp;#xC2E4;&amp;#xC2DC;&amp;#xAC04; &amp;#xC560;&amp;#xD50C;&amp;#xB9AC;&amp;#xCF00;&amp;#xC774;&amp;#xC158;&amp;#xC744; &amp;#xC704;&amp;#xD55C; &amp;#xC2E4;&amp;#xC2DC;&amp;#xAC04; &amp;#xC131;&amp;#xB2A5;.&lt;/p&gt;
&lt;p&gt;&amp;#x203B; 2024&amp;#xB144; 4&amp;#xC6D4; 16&amp;#xC77C; AWS Database Introductory Training - Amazon ElastiCache &amp;#xAD50;&amp;#xC721;&amp;#xC758; &amp;#xB0B4;&amp;#xC6A9;&amp;#xC744; &amp;#xC815;&amp;#xB9AC;&amp;#xD55C; &amp;#xD3EC;&amp;#xC2A4;&amp;#xD305;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;#a01&quot;&gt;ElasticCache&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#a02&quot;&gt;Amazon Memory DB for Redis&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#a03&quot;&gt;Amazon ElasticCache Common In-Memory Use Cases&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;hr&gt;
&lt;h2 class=&quot;mume-header&quot; id=&quot;div-ida011-amazon-elasticachediv&quot;&gt;&lt;div id=&quot;a01&quot;&gt;1. Amazon ElastiCache&lt;/div&gt;&lt;/h2&gt;

&lt;p&gt;&lt;img width=&quot;800&quot; src=&quot;https://raw.githubusercontent.com/jiniya22/image_box/master/1_&amp;#xAC15;&amp;#xC758;/ElastiCache/01-3.png&quot;&gt;&lt;br&gt;&lt;br&gt;&lt;/p&gt;
&lt;p&gt;&amp;#xD604;&amp;#xB300;&amp;#xD654;&amp;#xAC00; &amp;#xC9C4;&amp;#xD589;&amp;#xB420; &amp;#xC218;&amp;#xB85D; &amp;#xCD1D; &amp;#xBE44;&amp;#xC6A9;(TCO, total cost of ownership)&amp;#xC744; &amp;#xC808;&amp;#xAC10;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xACE0;,&lt;br&gt;
&amp;#xC774;&amp;#xC5D0; &amp;#xC758;&amp;#xD574; &amp;#xC2DC;&amp;#xAC04;&amp;#xB3C4; &amp;#xC808;&amp;#xAC10;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xC2E4;&amp;#xC2DC;&amp;#xAC04; &amp;#xC11C;&amp;#xBE44;&amp;#xC2A4;&amp;#xB97C; &amp;#xC704;&amp;#xD574;&amp;#xC11C;&amp;#xB294; microseconds&amp;#xB85C; &amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xC5D0; &amp;#xC811;&amp;#xADFC;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC5B4;&amp;#xC57C; &amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;microseconds&amp;#xB85C; &amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xC5D0; &amp;#xC811;&amp;#xADFC;&amp;#xD558;&amp;#xAE30; &amp;#xC704;&amp;#xD574;&amp;#xC11C;&amp;#xB294; &amp;#xCE90;&amp;#xC2DC;&amp;#xB97C; &amp;#xD65C;&amp;#xC6A9;&amp;#xD574;&amp;#xC57C; &amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&lt;br&gt;&lt;/p&gt;
&lt;p&gt;&amp;#xB2E4;&amp;#xC74C;&amp;#xACFC; &amp;#xAC19;&amp;#xC740; &amp;#xACBD;&amp;#xC6B0;&amp;#xC5D0;&amp;#xB294; &amp;#xCE90;&amp;#xC2DC;&amp;#xB97C; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD558;&amp;#xB294; &amp;#xAC83;&amp;#xC744; &amp;#xACE0;&amp;#xB824;&amp;#xD574;&amp;#xBCF4;&amp;#xB294;&amp;#xAC83;&amp;#xC774; &amp;#xC88B;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&amp;#xB3D9;&amp;#xC77C;&amp;#xD55C; &amp;#xCFFC;&amp;#xB9AC;&amp;#xAC00; &amp;#xBE48;&amp;#xBC88;&amp;#xD788; &amp;#xBC1C;&amp;#xC0DD;&amp;#xB418;&amp;#xB294; &amp;#xACBD;&amp;#xC6B0;&lt;/li&gt;
&lt;li&gt;&amp;#xC77D;&amp;#xAE30; &amp;#xC9C0;&amp;#xC5F0;&amp;#xC2DC;&amp;#xAC04;&amp;#xC774; &amp;#xB192;&amp;#xC740; &amp;#xACBD;&amp;#xC6B0;&lt;/li&gt;
&lt;li&gt;&amp;#xB192;&amp;#xC740; I/O &amp;#xB098; &amp;#xACFC;&amp;#xB3C4;&amp;#xD55C; &amp;#xC77D;&amp;#xAE30;&amp;#xB85C; &amp;#xC778;&amp;#xD55C; &amp;#xBE44;&amp;#xC6A9;&amp;#xC744; &amp;#xC808;&amp;#xAC10;&amp;#xD558;&amp;#xACE0; &amp;#xC2F6;&amp;#xC740; &amp;#xACBD;&amp;#xC6B0;&lt;/li&gt;
&lt;/ol&gt;
&lt;br&gt;
&lt;p&gt;&amp;#xCE90;&amp;#xC2DC;&amp;#xB97C; &amp;#xC4F0;&amp;#xAC8C; &amp;#xB418;&amp;#xBA74; &amp;#xB2E4;&amp;#xC74C;&amp;#xACFC; &amp;#xAC19;&amp;#xC740; &amp;#xC8FC;&amp;#xC694; &amp;#xC774;&amp;#xC810;&amp;#xB4E4;&amp;#xC774; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&amp;#xADDC;&amp;#xBAA8;&amp;#xC5D0; &amp;#xB530;&amp;#xB978; &amp;#xC608;&amp;#xCE21;&amp;#xAC00;&amp;#xB2A5;&amp;#xD55C; &amp;#xBE44;&amp;#xC6A9;&amp;#xC744; &amp;#xBCF4;&amp;#xC7A5;&amp;#xD558;&amp;#xC5EC;, &amp;#xCD1D; &amp;#xBE44;&amp;#xC6A9;&amp;#xC744; &amp;#xC808;&amp;#xAC10;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xB2E4;&lt;/li&gt;
&lt;li&gt;&amp;#xBCC4;&amp;#xB3C4;&amp;#xC758; I/O &amp;#xC218;&amp;#xC218;&amp;#xB8CC;&amp;#xAC00; &amp;#xC5C6;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4; (&amp;#xC778;&amp;#xC2A4;&amp;#xD134;&amp;#xC2A4;&amp;#xB2F9; &amp;#xC218;&amp;#xC218;&amp;#xB8CC;&amp;#xB9CC; &amp;#xC9C0;&amp;#xBD88;&amp;#xD558;&amp;#xBA74; &amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.)&lt;/li&gt;
&lt;li&gt;DB &amp;#xBD80;&amp;#xD558;&amp;#xB97C; &amp;#xC904;&amp;#xC5EC; &amp;#xC560;&amp;#xD50C;&amp;#xB9AC;&amp;#xCF00;&amp;#xC774;&amp;#xC158; &amp;#xC751;&amp;#xB2F5; &amp;#xC2DC;&amp;#xAC04;&amp;#xC744; &amp;#xD5A5;&amp;#xC0C1;&amp;#xC2DC;&amp;#xD0B5;&amp;#xB2C8;&amp;#xB2E4;&lt;/li&gt;
&lt;li&gt;&amp;#xC77D;&amp;#xAE30; &amp;#xCC98;&amp;#xB9AC;&amp;#xB7C9;&amp;#xC744; &amp;#xD655;&amp;#xC7A5;&amp;#xC2DC;&amp;#xD0AC; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&amp;#xC774;&amp;#xB7EC;&amp;#xD55C; &amp;#xC774;&amp;#xC810;&amp;#xB4E4;&amp;#xC744; &amp;#xACE0;&amp;#xB824;&amp;#xD558;&amp;#xC5EC;, FE&amp;#xAC00; BE&amp;#xC5D0; &amp;#xC811;&amp;#xADFC;&amp;#xD558;&amp;#xC9C0; &amp;#xC54A;&amp;#xACE0; &amp;#xCE90;&amp;#xC2DC;&amp;#xB97C; &amp;#xC774;&amp;#xC6A9;&amp;#xD558;&amp;#xAC8C; &amp;#xB418;&amp;#xBA74; BE &amp;#xBD80;&amp;#xB2F4;&amp;#xB3C4; &amp;#xC904;&amp;#xC774;&amp;#xBA74;&amp;#xC11C; &amp;#xBE60;&amp;#xB974;&amp;#xAC8C; &amp;#xB370;&amp;#xC774;&amp;#xD130; &amp;#xC811;&amp;#xADFC;&amp;#xC774; &amp;#xAC00;&amp;#xB2A5;&amp;#xD558;&amp;#xAC8C; &amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;redis&amp;#xB098; memcached&amp;#xB97C; &amp;#xC9C1;&amp;#xC811; &amp;#xC124;&amp;#xCE58;&amp;#xD558;&amp;#xB294; &amp;#xACBD;&amp;#xC6B0;, &amp;#xC720;&amp;#xC9C0;&amp;#xBCF4;&amp;#xC218;&amp;#xB098; scale out&amp;#xC5D0; &amp;#xC5B4;&amp;#xB824;&amp;#xC6C0;&amp;#xC774; &amp;#xD06C;&amp;#xACE0; &amp;#xC7A5;&amp;#xC560; &amp;#xB300;&amp;#xC751;&amp;#xC774; &amp;#xAE4C;&amp;#xB2E4;&amp;#xB85C;&amp;#xC6B4; &amp;#xBC18;&amp;#xBA74; ElastiCache&amp;#xB97C; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD558;&amp;#xAC8C; &amp;#xB418;&amp;#xBA74; &amp;#xC544;&amp;#xB798;&amp;#xC640; &amp;#xAC19;&amp;#xC740; &amp;#xCE21;&amp;#xBA74;&amp;#xC5D0;&amp;#xC11C; &amp;#xC7A5;&amp;#xC810;&amp;#xC774; &amp;#xD07D;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&amp;#xC131;&amp;#xB2A5; &amp;#xBC0F; &amp;#xD655;&amp;#xC7A5;&amp;#xC131;&lt;/li&gt;
&lt;li&gt;&amp;#xACE0;&amp;#xAC00;&amp;#xC6A9;&amp;#xC131; &amp;#xBC0F; &amp;#xC5D4;&amp;#xD130;&amp;#xD504;&amp;#xB77C;&amp;#xC774;&amp;#xC988; &amp;#xBCF4;&amp;#xC548;&lt;/li&gt;
&lt;li&gt;&amp;#xCD1D;&amp;#xBE44;&amp;#xC6A9; &amp;#xAC10;&amp;#xC18C;&lt;/li&gt;
&lt;li&gt;Fully-managed
&lt;ul&gt;
&lt;li&gt;&amp;#xB808;&amp;#xB514;&amp;#xC2A4; Api&amp;#xB97C; &amp;#xC644;&amp;#xC804; &amp;#xC9C0;&amp;#xC6D0;&amp;#xD558;&amp;#xAE30; &amp;#xB54C;&amp;#xBB38;&amp;#xC5D0; &amp;#xC720;&amp;#xC5F0;&amp;#xD558;&amp;#xAC8C; &amp;#xC811;&amp;#xADFC;&amp;#xC774; &amp;#xAC00;&amp;#xB2A5;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&amp;#xC624;&amp;#xD508;&amp;#xC18C;&amp;#xC2A4; &amp;#xD638;&amp;#xD658;&amp;#xC744; &amp;#xC9C0;&amp;#xC6D0;
&lt;ul&gt;
&lt;li&gt;EKS, lambda &amp;#xB4F1;&amp;#xACFC; &amp;#xC5F0;&amp;#xB3D9;&amp;#xD558;&amp;#xC5EC; &amp;#xC0AC;&amp;#xC6A9; &amp;#xAC00;&amp;#xB2A5;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;#xB610;, &amp;#xC624;&amp;#xB7AB;&amp;#xB3D9;&amp;#xC548; &amp;#xC811;&amp;#xC18D;&amp;#xD558;&amp;#xC9C0; &amp;#xC54A;&amp;#xC740; &amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xB4E4;&amp;#xC740; &amp;#xD558;&amp;#xB4DC;&amp;#xC5D0; &amp;#xC800;&amp;#xC7A5;&amp;#xD558;&amp;#xC5EC; &amp;#xBE44;&amp;#xC6A9;&amp;#xC744; &amp;#xC808;&amp;#xAC10;&amp;#xC2DC;&amp;#xCF1C;&amp;#xC8FC;&amp;#xB294; data tiering &amp;#xAE30;&amp;#xB2A5;&amp;#xB3C4; &amp;#xC81C;&amp;#xACF5;&amp;#xD558;&amp;#xACE0; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;ElastiCache&amp;#xB294; &amp;#xC801;&amp;#xC6A9;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xB294; &amp;#xC0AC;&amp;#xC6A9; &amp;#xC608;&amp;#xC2DC;&amp;#xB85C;&amp;#xB294; &amp;#xC544;&amp;#xB798;&amp;#xC640; &amp;#xAC19;&amp;#xC740; &amp;#xC11C;&amp;#xBE44;&amp;#xC2A4;&amp;#xB4E4;&amp;#xC774; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;microseconds&amp;#xB85C; &amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xC5D0; &amp;#xC811;&amp;#xADFC;&amp;#xB418;&amp;#xC5B4;&amp;#xC57C;&amp;#xD558;&amp;#xB294; &amp;#xC11C;&amp;#xBE44;&amp;#xC2A4;&lt;/li&gt;
&lt;li&gt;&amp;#xC2E4;&amp;#xC2DC;&amp;#xAC04; &amp;#xB370;&amp;#xC774;&amp;#xD130; &amp;#xBD84;&amp;#xC11D; &amp;#xC11C;&amp;#xBE44;&amp;#xC2A4;&lt;/li&gt;
&lt;li&gt;&amp;#xC2E4;&amp;#xC2DC;&amp;#xAC04;&amp;#xC73C;&amp;#xB85C; &amp;#xC9C0;&amp;#xB9AC;&amp;#xC801; &amp;#xC815;&amp;#xBCF4;&amp;#xB97C; &amp;#xACC4;&amp;#xC0B0;&amp;#xD558;&amp;#xC5EC; &amp;#xAC70;&amp;#xB9AC;&amp;#xAC10; &amp;#xB4F1;&amp;#xC744; &amp;#xACC4;&amp;#xC0B0;&amp;#xD558;&amp;#xB294; Geospatial&lt;/li&gt;
&lt;li&gt;&amp;#xBBF8;&amp;#xB514;&amp;#xC5B4; &amp;#xC2A4;&amp;#xD2B8;&amp;#xB9AC;&amp;#xBC0D;&lt;/li&gt;
&lt;li&gt;&amp;#xC2E4;&amp;#xC2DC;&amp;#xAC04; &amp;#xB7AD;&amp;#xD0B9; &amp;#xC870;&amp;#xD68C;&lt;/li&gt;
&lt;/ul&gt;
&lt;br&gt;
&lt;p&gt;&lt;strong&gt;Amazon ElastiCache Serverless&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&amp;#xAE30;&amp;#xC874; ElastiCache&amp;#xC640;&amp;#xC758; &amp;#xCC28;&amp;#xC774;&amp;#xC810;&amp;#xC740;&lt;br&gt;
&amp;#xC124;&amp;#xC815;&amp;#xC744; &amp;#xD574;&amp;#xB450;&amp;#xACE0;, &amp;#xC694;&amp;#xCCAD;&amp;#xC774; &amp;#xC624;&amp;#xBA74; &amp;#xC694;&amp;#xCCAD; &amp;#xC624;&amp;#xB294;&amp;#xB9CC;&amp;#xD07C; &amp;#xCC98;&amp;#xB9AC;&amp;#xB418;&amp;#xB294; &amp;#xAC83;&amp;#xC73C;&amp;#xB85C;, &amp;#xC778;&amp;#xD504;&amp;#xB77C; &amp;#xAD00;&amp;#xB9AC; &amp;#xC5C6;&amp;#xC774; &amp;#xB9E4;&amp;#xC6B0; &amp;#xBE60;&amp;#xB974;&amp;#xAC8C; &amp;#xACE0;&amp;#xAC00;&amp;#xC6A9;&amp;#xC131; &amp;#xCE90;&amp;#xC2DC; &amp;#xC0DD;&amp;#xC131;&amp;#xC774; &amp;#xAC00;&amp;#xB2A5;&amp;#xD558;&amp;#xC5EC; &amp;#xC560;&amp;#xD50C;&amp;#xB9AC;&amp;#xCF00;&amp;#xC774;&amp;#xC158; &amp;#xC561;&amp;#xC138;&amp;#xC2A4; &amp;#xD328;&amp;#xD134;&amp;#xC5D0; &amp;#xB530;&amp;#xB77C; &amp;#xC989;&amp;#xAC01;&amp;#xC801;&amp;#xC778; &amp;#xD655;&amp;#xC7A5;&amp;#xC774; &amp;#xAC00;&amp;#xB2A5;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xB9E4;&amp;#xC6B0; &amp;#xBE60;&amp;#xB974;&amp;#xAC8C; &amp;#xC0DD;&amp;#xC131;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC73C;&amp;#xB098;, &amp;#xAE30;&amp;#xBCF8; &amp;#xC5D8;&amp;#xB77C;&amp;#xC2A4;&amp;#xD2F1;&amp;#xCE90;&amp;#xC2DC;&amp;#xBCF4;&amp;#xB2E4; &amp;#xBE44;&amp;#xC6A9;&amp;#xC774; &amp;#xC870;&amp;#xAE08; &amp;#xB354; &amp;#xBE44;&amp;#xC309;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xC694;&amp;#xCCAD;&amp;#xD558;&amp;#xB294; &amp;#xB9CC;&amp;#xD07C; &amp;#xBE44;&amp;#xC6A9;&amp;#xC774; &amp;#xB4ED;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 class=&quot;mume-header&quot; id=&quot;div-ida022-amazon-memorydb-for-redisdiv&quot;&gt;&lt;div id=&quot;a02&quot;&gt;2. Amazon MemoryDB for Redis&lt;/div&gt;&lt;/h2&gt;

&lt;p&gt;Amazon Memory DB for Redis&amp;#xB294; &amp;#xC544;&amp;#xB798;&amp;#xC640; &amp;#xAC19;&amp;#xC740; &amp;#xC8FC;&amp;#xC694; &amp;#xD2B9;&amp;#xC9D5;&amp;#xC744; &amp;#xAC00;&amp;#xC9C0;&amp;#xACE0; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&amp;#xC131;&amp;#xB2A5; &amp;#xBC0F; &amp;#xD655;&amp;#xC7A5;&amp;#xC131;&lt;/li&gt;
&lt;li&gt;&amp;#xB6F0;&amp;#xC5B4;&amp;#xB09C; &lt;strong&gt;&amp;#xB0B4;&amp;#xAD6C;&amp;#xC131;(durability)&lt;/strong&gt; &amp;#xBC0F; &amp;#xACE0;&amp;#xAC00;&amp;#xC6A9;&amp;#xC131;&lt;/li&gt;
&lt;li&gt;&amp;#xC5D4;&amp;#xD130;&amp;#xD504;&amp;#xB77C;&amp;#xC774;&amp;#xC988; &amp;#xBCF4;&amp;#xC548;&lt;/li&gt;
&lt;li&gt;Fully-managed&lt;/li&gt;
&lt;li&gt;&amp;#xC624;&amp;#xD508;&amp;#xC18C;&amp;#xC2A4; &amp;#xD638;&amp;#xD658;&amp;#xC744; &amp;#xC9C0;&amp;#xC6D0;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;ElastiCache&amp;#xC640; &amp;#xD2B9;&amp;#xC9D5;&amp;#xC774; &amp;#xAC70;&amp;#xC758; &amp;#xC720;&amp;#xC0AC;&amp;#xD558;&amp;#xC9C0;&amp;#xB9CC;, &amp;#xB0B4;&amp;#xAD6C;&amp;#xC131;&amp;#xC5D0; &amp;#xB300;&amp;#xD55C; &amp;#xCC28;&amp;#xC774;&amp;#xC810;&amp;#xC774; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
Amazone MemoryDB for Redis&amp;#xB294; &amp;#xD2B8;&amp;#xB79C;&amp;#xC7AD;&amp;#xC158; &amp;#xB85C;&amp;#xADF8;&amp;#xC5D0; &amp;#xCEE4;&amp;#xBC0B;&amp;#xD574;&amp;#xB450;&amp;#xAE30; &amp;#xB54C;&amp;#xBB38;&amp;#xC5D0; &amp;#xB2E4;&amp;#xC6B4;&amp;#xB418;&amp;#xC5B4;&amp;#xB3C4; &amp;#xBCF5;&amp;#xAD6C;&amp;#xAC00; &amp;#xAC00;&amp;#xB2A5;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.(&amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xAC00; &amp;#xD718;&amp;#xBC1C;&amp;#xB418;&amp;#xC9C0; &amp;#xC54A;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;)&lt;/p&gt;
&lt;p&gt;&amp;#xB54C;&amp;#xBB38;&amp;#xC5D0;, &amp;#xB0B4;&amp;#xAD6C;&amp;#xC131;&amp;#xC774; &amp;#xD544;&amp;#xC694;&amp;#xD558;&amp;#xC9C0; &amp;#xC54A;&amp;#xACE0; &amp;#xC77C;&amp;#xC2DC;&amp;#xC801;&amp;#xC73C;&amp;#xB85C; &amp;#xC800;&amp;#xC7A5;&amp;#xB418;&amp;#xB294; &amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xB294; ElastiCache&amp;#xB97C; &amp;#xD65C;&amp;#xC6A9;&amp;#xD574;&amp;#xC57C;&amp;#xD558;&amp;#xACE0;, &amp;#xBE60;&amp;#xB978; access &amp;#xC18D;&amp;#xB3C4;&amp;#xAC00; &amp;#xD544;&amp;#xC694;&amp;#xD558;&amp;#xC9C0;&amp;#xB9CC; &amp;#xB0B4;&amp;#xAD6C;&amp;#xC131;&amp;#xB3C4; &amp;#xD544;&amp;#xC694;&amp;#xD558;&amp;#xB2E4;&amp;#xBA74; Amazon MemoryDB for Redis&amp;#xB97C; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD558;&amp;#xB294; &amp;#xAC83;&amp;#xC774; &amp;#xC88B;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;br&gt;
&lt;p&gt;AWS&amp;#xC5D0;&amp;#xC11C; &amp;#xC81C;&amp;#xACF5;&amp;#xD558;&amp;#xACE0; &amp;#xC788;&amp;#xB294; In-Memory DB&amp;#xB4E4;&amp;#xC740; &amp;#xC544;&amp;#xB798;&amp;#xC640; &amp;#xAC19;&amp;#xC740; &amp;#xCC28;&amp;#xC774;&amp;#xC810;&amp;#xC744; &amp;#xAC00;&amp;#xC9C0;&amp;#xACE0; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&lt;img width=&quot;900&quot; src=&quot;https://raw.githubusercontent.com/jiniya22/image_box/master/1_&amp;#xAC15;&amp;#xC758;/ElastiCache/01-4.png&quot;&gt;&lt;br&gt;&lt;br&gt;&lt;/p&gt;
&lt;p&gt;Elastic for Memcached&amp;#xB294; failover &amp;#xC9C0;&amp;#xC6D0;&amp;#xB3C4; &amp;#xC548;&amp;#xD558;&amp;#xACE0;, &amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xD0C0;&amp;#xC785;&amp;#xB3C4; string&amp;#xB9CC; &amp;#xC9C0;&amp;#xC6D0;&amp;#xD558;&amp;#xC9C0;&amp;#xB9CC;, &amp;#xBA40;&amp;#xD2F0;&amp;#xC2A4;&amp;#xB808;&amp;#xB4DC;&amp;#xB97C; &amp;#xC9C0;&amp;#xC6D0;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;#xB2E4;&amp;#xB9CC;, &amp;#xBA40;&amp;#xD2F0;&amp;#xC2A4;&amp;#xB808;&amp;#xB4DC;&amp;#xB3C4; &amp;#xACB0;&amp;#xAD6D; cpu&amp;#xC790;&amp;#xC6D0;&amp;#xC744; &amp;#xC774;&amp;#xC6A9;&amp;#xD558;&amp;#xB294; &amp;#xAC83;&amp;#xC774;&amp;#xAE30; &amp;#xB54C;&amp;#xBB38;&amp;#xC5D0; &amp;#xB54C;&amp;#xC5D0; &amp;#xB530;&amp;#xB77C; &amp;#xB354; &amp;#xB290;&amp;#xB824;&amp;#xC9C8; &amp;#xC218; &amp;#xC788;&amp;#xAE30; &amp;#xB54C;&amp;#xBB38;&amp;#xC5D0; &amp;#xBB34;&amp;#xC870;&amp;#xAC74; &amp;#xC7A5;&amp;#xC810;&amp;#xC774;&amp;#xB77C;&amp;#xACE0; &amp;#xC0DD;&amp;#xAC01;&amp;#xD560; &amp;#xC218; &amp;#xC5C6;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;ElastiCache for Redis&amp;#xB294; &amp;#xC2A4;&amp;#xB0C5;&amp;#xC0F7;&amp;#xC744; &amp;#xC774;&amp;#xC6A9;&amp;#xD558;&amp;#xC5EC; &amp;#xBCF5;&amp;#xAD6C;&amp;#xB97C; &amp;#xC9C0;&amp;#xC6D0;&amp;#xD558;&amp;#xAE30; &amp;#xB54C;&amp;#xBB38;&amp;#xC5D0; memcached &amp;#xBCF4;&amp;#xB2E4;&amp;#xB294; &amp;#xB0B4;&amp;#xAD6C;&amp;#xC131;&amp;#xC774; &amp;#xC88B;&amp;#xC9C0;&amp;#xB9CC;, &amp;#xC804;&amp;#xC6D0;&amp;#xC774; &amp;#xB098;&amp;#xAC08; &amp;#xACBD;&amp;#xC6B0; &amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xAC00; &amp;#xD718;&amp;#xBC1C;&amp;#xB418;&amp;#xB294; &amp;#xC815;&amp;#xBCF4;&amp;#xB85C; &amp;#xC601;&amp;#xC18D;&amp;#xC131;&amp;#xC740; &amp;#xC5C6;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;MemoryDB for Redis&amp;#xB294; &amp;#xD2B8;&amp;#xB79C;&amp;#xC81D;&amp;#xC158; &amp;#xB85C;&amp;#xADF8;&amp;#xB97C; &amp;#xD65C;&amp;#xC6A9;&amp;#xD558;&amp;#xC5EC; &amp;#xC601;&amp;#xC18D;&amp;#xC131;&amp;#xC744; &amp;#xC9C0;&amp;#xC6D0;&amp;#xD558;&amp;#xC5EC; &amp;#xB0B4;&amp;#xAD6C;&amp;#xC131;&amp;#xC774; &amp;#xC88B;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&lt;img width=&quot;800&quot; src=&quot;https://raw.githubusercontent.com/jiniya22/image_box/master/1_&amp;#xAC15;&amp;#xC758;/ElastiCache/01-5.png&quot;&gt;&lt;br&gt;&lt;br&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;h2 class=&quot;mume-header&quot; id=&quot;div-ida033-amazon-elasticcache-common-in-memory-use-casesdiv&quot;&gt;&lt;div id=&quot;a03&quot;&gt;3. Amazon ElasticCache Common In-Memory Use Cases&lt;/div&gt;&lt;/h2&gt;

&lt;h3 class=&quot;mume-header&quot; id=&quot;31-caching&quot;&gt;3.1. caching&lt;/h3&gt;

&lt;p&gt;&amp;#xB514;&amp;#xC2A4;&amp;#xD06C; &amp;#xAE30;&amp;#xBC18;&amp;#xC758; &amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xBCA0;&amp;#xC774;&amp;#xC2A4;&amp;#xC640; &amp;#xC560;&amp;#xD50C;&amp;#xB9AC;&amp;#xCF00;&amp;#xC774;&amp;#xC158;&amp;#xC5D0;&amp;#xC11C; &amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xB97C; &amp;#xAC80;&amp;#xC0C9;&amp;#xD558;&amp;#xB294; &amp;#xAC83;&amp;#xC740; &amp;#xC18D;&amp;#xB3C4;&amp;#xAC00; &amp;#xB290;&amp;#xB9BD;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;microseconds &amp;#xC758; &amp;#xC9C0;&amp;#xC5F0;&amp;#xC2DC;&amp;#xAC04;&amp;#xACFC; &amp;#xB192;&amp;#xC740; &amp;#xCC98;&amp;#xB9AC;&amp;#xB7C9;&amp;#xC744; &amp;#xC704;&amp;#xD574;&amp;#xC11C;&amp;#xB294; &amp;#xC790;&amp;#xC8FC; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD558;&amp;#xB294; &amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xB97C; In-Memory DB&amp;#xC778; &amp;#xB808;&amp;#xB514;&amp;#xC2A4;&amp;#xC5D0; &amp;#xC800;&amp;#xC7A5;&amp;#xD558;&amp;#xB294;&amp;#xAC83;&amp;#xC744; &amp;#xAD8C;&amp;#xC7A5;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xC8FC;&amp;#xB85C; &amp;#xCE90;&amp;#xC2F1;&amp;#xD558;&amp;#xB294; &amp;#xC885;&amp;#xB958;&amp;#xB85C;&amp;#xB294; &amp;#xCFFC;&amp;#xB9AC;&amp;#xCE90;&amp;#xC2F1;&amp;#xC774;&amp;#xB098; &amp;#xC804;&amp;#xCCB4; &amp;#xC6F9;&amp;#xD398;&amp;#xC774;&amp;#xC9C0; &amp;#xCE90;&amp;#xC2F1;&amp;#xC774; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#x2022; &amp;#xCFFC;&amp;#xB9AC; &amp;#xCE90;&amp;#xC2F1;(&amp;#xAD00;&amp;#xACC4;&amp;#xD615;, &amp;#xBE44;&amp;#xAD00;&amp;#xACC4;&amp;#xD615;, &amp;#xAC1D;&amp;#xCCB4;, JSON, XML, &amp;#xAC80;&amp;#xC0C9;, &amp;#xADF8;&amp;#xB798;&amp;#xD504;, API)&lt;br&gt;
&amp;#x2022; &amp;#xC804;&amp;#xCCB4; &amp;#xC6F9; &amp;#xD398;&amp;#xC774;&amp;#xC9C0; &amp;#xCE90;&amp;#xC2F1;(&amp;#xB300;&amp;#xBD80;&amp;#xBD84;&amp;#xC758; &amp;#xC571; &amp;#xC11C;&amp;#xBC84;&amp;#xC640; &amp;#xAC04;&amp;#xB2E8;&amp;#xD55C; &amp;#xD1B5;&amp;#xD569; &amp;#xBAA8;&amp;#xB4C8;)&lt;/p&gt;
&lt;br&gt;
&lt;p&gt;&amp;#xCE90;&amp;#xC2F1;&amp;#xC5D0;&amp;#xC11C; &amp;#xC18C;&amp;#xAC1C;&amp;#xB418;&amp;#xB294; TTL&amp;#xACFC; evctions &amp;#xC5D0; &amp;#xB300;&amp;#xD574; &amp;#xC54C;&amp;#xC544;&amp;#xBCF4;&amp;#xC790;&amp;#xBA74;&lt;/p&gt;
&lt;p&gt;TTL&amp;#xC740; &amp;#xC9C0;&amp;#xC815;&amp;#xD55C; &amp;#xC2DC;&amp;#xAC04;&amp;#xC774; &amp;#xC9C0;&amp;#xB0A0; &amp;#xACBD;&amp;#xC6B0; &amp;#xBC14;&amp;#xB85C; &amp;#xB9CC;&amp;#xB8CC;&amp;#xCC98;&amp;#xB9AC;&amp;#xAC00; &amp;#xB418;&amp;#xB294; &amp;#xAC83;&amp;#xC774; &amp;#xC544;&amp;#xB2C8;&amp;#xB77C; &lt;strong&gt;&amp;#xC9C0;&amp;#xC815;&amp;#xD55C; &amp;#xC2DC;&amp;#xAC04;&amp;#xB3D9;&amp;#xC548; &amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xAC00; &amp;#xC720;&amp;#xC9C0;&amp;#xB418;&amp;#xB294;&amp;#xAC83;&amp;#xC744; &amp;#xBCF4;&amp;#xC7A5;&amp;#xD558;&amp;#xB294;&lt;/strong&gt; &amp;#xC124;&amp;#xC815;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;TTL&amp;#xC740; &amp;#xAC01; &amp;#xD0A4;&amp;#xB97C; &amp;#xC0DD;&amp;#xC131; &amp;#xB610;&amp;#xB294; &amp;#xC218;&amp;#xC815;&amp;#xD560; &amp;#xB54C; &amp;#xBA85;&amp;#xC2DC;&amp;#xC801;&amp;#xC73C;&amp;#xB85C; &amp;#xD560;&amp;#xB2F9;&amp;#xD558;&amp;#xB294; &amp;#xAC12;&amp;#xC73C;&amp;#xB85C;, &amp;#xAE00;&amp;#xB85C;&amp;#xBC8C; &amp;#xC18D;&amp;#xC131;&amp;#xC774; &amp;#xC544;&amp;#xB2D9;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xB610;, &amp;#xC77C;&amp;#xBD80; &amp;#xD0A4;&amp;#xC5D0;&amp;#xB294; TTL &amp;#xC124;&amp;#xC815;&amp;#xC774; &amp;#xD544;&amp;#xC694;&amp;#xD558;&amp;#xC9C0; &amp;#xC54A;&amp;#xC744; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xB610;, &amp;#xBA54;&amp;#xBAA8;&amp;#xB9AC;&amp;#xAC00; &amp;#xAF49;&amp;#xCC3C;&amp;#xC744; &amp;#xACBD;&amp;#xC6B0;, &amp;#xC790;&amp;#xB3D9;&amp;#xC73C;&amp;#xB85C; &amp;#xC81C;&amp;#xAC70;&amp;#xD558;&amp;#xAE30; &amp;#xC704;&amp;#xD55C; Evictions &amp;#xC815;&amp;#xCC45;&amp;#xC774; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xC5B4;&amp;#xB5A4; &amp;#xAE30;&amp;#xC900;&amp;#xC5D0; &amp;#xB530;&amp;#xB77C; &amp;#xD0A4;&amp;#xB97C; &amp;#xC81C;&amp;#xAC70;&amp;#xD560; &amp;#xAC83;&amp;#xC778;&amp;#xC9C0; &amp;#xC815;&amp;#xCC45;&amp;#xC744; &amp;#xC9C0;&amp;#xC815;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;br&gt;
&lt;p&gt;redis&amp;#xC758; key&amp;#xB294; &amp;#xD574;&amp;#xC2DC;&amp;#xD568;&amp;#xC218;&amp;#xB97C; &amp;#xC774;&amp;#xC6A9;&amp;#xD558;&amp;#xC5EC; &amp;#xC800;&amp;#xC7A5;&amp;#xD558;&amp;#xAE30; &amp;#xB54C;&amp;#xBB38;&amp;#xC5D0; &amp;#xD0A4;&amp;#xC774;&amp;#xB984;&amp;#xC744; &amp;#xC77C;&amp;#xBD80;&amp;#xB7EC; &amp;#xC5B4;&amp;#xB835;&amp;#xAC8C; &amp;#xC124;&amp;#xC815;&amp;#xD560; &amp;#xD544;&amp;#xC694; &amp;#xC5C6;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;br&gt;
&lt;h3 class=&quot;mume-header&quot; id=&quot;32-leaderboards&quot;&gt;3.2. Leaderboards&lt;/h3&gt;

&lt;p&gt;&amp;#xB9AC;&amp;#xB354;&amp;#xBCF4;&amp;#xB4DC;&amp;#xB294; &amp;#xBCC0;&amp;#xD654;&amp;#xD558;&amp;#xB294; &amp;#xC810;&amp;#xC218;&amp;#xC640; &amp;#xC21C;&amp;#xC704;&amp;#xB97C; &amp;#xC2E4;&amp;#xC2DC;&amp;#xAC04;&amp;#xC73C;&amp;#xB85C; &amp;#xC5C5;&amp;#xB370;&amp;#xC774;&amp;#xD2B8;&amp;#xD574;&amp;#xC57C;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xB530;&amp;#xB77C;&amp;#xC11C;, &amp;#xB0AE;&amp;#xC740; &amp;#xC9C0;&amp;#xC5F0;&amp;#xC2DC;&amp;#xAC04;&amp;#xACFC; &amp;#xC9E7;&amp;#xACE0; &amp;#xB3D9;&amp;#xC2DC;&amp;#xC131;&amp;#xC774; &amp;#xB192;&amp;#xC740; &amp;#xB370;&amp;#xC774;&amp;#xD130; &amp;#xC800;&amp;#xC7A5;&amp;#xC18C;&amp;#xC778; &amp;#xB808;&amp;#xB514;&amp;#xC2A4;&amp;#xB97C; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD558;&amp;#xB294; &amp;#xAC83;&amp;#xC774; &amp;#xC88B;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xAC8C;&amp;#xC784; &amp;#xB7AD;&amp;#xD0B9; &amp;#xC2DC;&amp;#xC2A4;&amp;#xD15C;&amp;#xC774;&amp;#xB098;, &amp;#xB9CE;&amp;#xC774;&amp;#xD314;&amp;#xB9B0; &amp;#xC0C1;&amp;#xD488; &amp;#xB4F1;&amp;#xC774; &amp;#xAD00;&amp;#xB828;&amp;#xB41C; &amp;#xC11C;&amp;#xBE44;&amp;#xC2A4;&amp;#xB77C;&amp;#xACE0; &amp;#xBCFC; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&lt;br&gt;&lt;/p&gt;
&lt;p&gt;sorted set &amp;#xB370;&amp;#xC774;&amp;#xD130; &amp;#xAD6C;&amp;#xC870;&amp;#xB97C; &amp;#xC774;&amp;#xC5D0; &amp;#xD65C;&amp;#xC6A9;&amp;#xD558;&amp;#xBA74; &amp;#xC88B;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xC544;&amp;#xB798;&amp;#xC640; &amp;#xAC19;&amp;#xC774; &amp;#xB9AC;&amp;#xB354;&amp;#xBCF4;&amp;#xB4DC;&amp;#xC5D0; &amp;#xC0AC;&amp;#xC6A9;&amp;#xC790;&amp;#xC758; &amp;#xD65C;&amp;#xB3D9;&amp;#xC810;&amp;#xC218;&amp;#xB97C; &amp;#xD569;&amp;#xC0B0;&amp;#xD558;&amp;#xBA74; &amp;#xC544;&amp;#xC8FC; &amp;#xAC04;&amp;#xB2E8;&amp;#xD558;&amp;#xAC8C; &amp;#xB9AC;&amp;#xB354;&amp;#xBCF4;&amp;#xB4DC; &amp;#xAD6C;&amp;#xD604;&amp;#xC774; &amp;#xAC00;&amp;#xB2A5;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&lt;img width=&quot;800&quot; src=&quot;https://raw.githubusercontent.com/jiniya22/image_box/master/1_&amp;#xAC15;&amp;#xC758;/ElastiCache/01-6.png&quot;&gt;&lt;br&gt;&lt;br&gt;&lt;/p&gt;
&lt;br&gt;
&lt;p&gt;&amp;#xC810;&amp;#xC218;&amp;#xB97C; &amp;#xD569;&amp;#xC0B0;&amp;#xD558;&amp;#xAC70;&amp;#xB098; &amp;#xD2B9;&amp;#xC815; &amp;#xAD6C;&amp;#xB9E4;&amp;#xAE30;&amp;#xB85D;&amp;#xC744; &amp;#xC313;&amp;#xB294; &amp;#xB4F1;&amp;#xC758; &amp;#xAE30;&amp;#xB85D;&amp;#xC744; &amp;#xC307;&amp;#xB294; &amp;#xC800;&amp;#xC7A5;&amp;#xC18C;&amp;#xB85C; no sql&amp;#xC744; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD558;&amp;#xC5EC;&lt;br&gt;
&amp;#xD788;&amp;#xC2A4;&amp;#xD1A0;&amp;#xB9AC;&amp;#xAC00; &amp;#xC313;&amp;#xC77C; &amp;#xACBD;&amp;#xC6B0; &amp;#xC774;&amp;#xBCA4;&amp;#xD2B8;&amp;#xB85C; score&amp;#xB97C; redis&amp;#xC5D0; &amp;#xC5C5;&amp;#xB370;&amp;#xC774;&amp;#xD2B8;&amp;#xD558;&amp;#xB3C4;&amp;#xB85D; &amp;#xD558;&amp;#xBA74;&lt;/p&gt;
&lt;p&gt;&amp;#xBCC4;&amp;#xB3C4;&amp;#xC758; &amp;#xC5F0;&amp;#xC0B0;&amp;#xC5C6;&amp;#xC774; &amp;#xBC14;&amp;#xB85C; &amp;#xC77D;&amp;#xC5B4;&amp;#xC11C; &amp;#xC11C;&amp;#xBE44;&amp;#xC2A4;&amp;#xB97C; &amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xAC8C; &amp;#xD574;&amp;#xC90D;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&lt;br&gt;&lt;/p&gt;
&lt;p&gt;&amp;#xC774;&amp;#xB294;, &amp;#xD654;&amp;#xBA74;&amp;#xC758; UI&amp;#xC640; &amp;#xC11C;&amp;#xBE44;&amp;#xC2A4; &amp;#xD2B9;&amp;#xC131;&amp;#xC5D0; &amp;#xB530;&amp;#xB77C; &amp;#xB2EC;&amp;#xB77C;&amp;#xC9C8; &amp;#xC218; &amp;#xC788;&amp;#xB294;&amp;#xB370;&lt;/p&gt;
&lt;p&gt;&amp;#xB9CC;&amp;#xC57D;, &amp;#xBC18;&amp;#xB4DC;&amp;#xC2DC; &amp;#xD398;&amp;#xC774;&amp;#xC9C0; &amp;#xC774;&amp;#xB3D9;&amp;#xC774; &amp;#xB418;&amp;#xC5B4;&amp;#xC57C;&amp;#xD558;&amp;#xB294; &amp;#xC11C;&amp;#xBE44;&amp;#xC2A4;&amp;#xB77C;&amp;#xBA74;, &amp;#xC704;&amp;#xC640; &amp;#xAC19;&amp;#xC740; &amp;#xAD6C;&amp;#xC870;&amp;#xB85C; &amp;#xC11C;&amp;#xBE44;&amp;#xC2A4;&amp;#xD558;&amp;#xB294; &amp;#xAC83;&amp;#xC774; &amp;#xBD88;&amp;#xAC00;&amp;#xB2A5;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xD398;&amp;#xC774;&amp;#xC9D5; &amp;#xCC98;&amp;#xB9AC;&amp;#xAC00; &amp;#xB41C;&amp;#xB2E4;&amp;#xB294; &amp;#xAC83;&amp;#xC740; &amp;#xACB0;&amp;#xAD6D; &amp;#xCD1D; count&amp;#xB97C; &amp;#xC54C;&amp;#xC544;&amp;#xC57C;&amp;#xD558;&amp;#xAE30; &amp;#xB54C;&amp;#xBB38;&amp;#xC5D0; &amp;#xC774; &amp;#xACBD;&amp;#xC6B0;&amp;#xC5D0;&amp;#xB294; RDB&amp;#xB97C; &amp;#xC4F0;&amp;#xB294; &amp;#xAC83;&amp;#xC774; &amp;#xB354; &amp;#xD569;&amp;#xB9AC;&amp;#xC801;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
(&amp;#xB300;&amp;#xD45C;&amp;#xC801;&amp;#xC73C;&amp;#xB85C;  admin&amp;#xD398;&amp;#xC774;&amp;#xC9C0;)&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;#xB9AC;&amp;#xB354;&amp;#xBCF4;&amp;#xB4DC;&amp;#xB098;, &amp;#xD398;&amp;#xC774;&amp;#xC2A4;&amp;#xBD81;/&amp;#xC778;&amp;#xC2A4;&amp;#xD0C0;&amp;#xADF8;&amp;#xB7A8; &amp;#xD53C;&amp;#xB4DC;, &amp;#xAD6C;&amp;#xAE00; &amp;#xAC80;&amp;#xC0C9; &amp;#xACB0;&amp;#xACFC; &amp;#xB4F1;&amp;#xACFC; &amp;#xAC19;&amp;#xC774; &amp;#xD398;&amp;#xC774;&amp;#xC9D5; &amp;#xD615;&amp;#xD0DC;&amp;#xAC00; &amp;#xC544;&amp;#xB2CC; load more &amp;#xD615;&amp;#xD0DC;&amp;#xB85C; &amp;#xB2E4;&amp;#xC74C; &amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xB97C; &amp;#xBD88;&amp;#xB7EC;&amp;#xC624;&amp;#xB294; &amp;#xD615;&amp;#xD0DC;&amp;#xC758; UI&amp;#xB85C; &amp;#xAD6C;&amp;#xC131;&amp;#xD558;&amp;#xB294; &amp;#xB370;&amp;#xC774;&amp;#xD130; &amp;#xBD80;&amp;#xB2F4;&amp;#xC774; &amp;#xC90D;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;br&gt;
&lt;h4 class=&quot;mume-header&quot; id=&quot;geospatial&quot;&gt;Geospatial&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;&amp;#xBC30;&amp;#xB2EC;&amp;#xC5C5;&amp;#xCCB4;. &amp;#xD2B9;&amp;#xC815; &amp;#xBC18;&amp;#xACBD; &amp;#xC548;&amp;#xC5D0; &amp;#xC788;&amp;#xB294; &amp;#xAC00;&amp;#xAC8C;&amp;#xB97C; &amp;#xC54C;&amp;#xB824;&amp;#xC918;&lt;/li&gt;
&lt;li&gt;&amp;#xD0DD;&amp;#xC2DC;
&lt;ul&gt;
&lt;li&gt;&amp;#xC8FC;&amp;#xAE30;&amp;#xC801;&amp;#xC73C;&amp;#xB85C; &amp;#xD0DD;&amp;#xC2DC;&amp;#xB4E4;&amp;#xC5D0; &amp;#xB300;&amp;#xD55C; &amp;#xC2E4;&amp;#xC2DC;&amp;#xAC04; &amp;#xC704;&amp;#xCE58;&amp;#xB97C; &amp;#xD2B8;&amp;#xB798;&amp;#xD0B9; &amp;#xD574;&amp;#xC57C;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/li&gt;
&lt;li&gt;500m &amp;#xBC18;&amp;#xACBD;&amp;#xC5D0; &amp;#xC788;&amp;#xB294; &amp;#xD0DD;&amp;#xC2DC; &amp;#xC870;&amp;#xD68C;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&amp;#xB0B4; &amp;#xC704;&amp;#xCE58;&amp;#xC5D0;&amp;#xC11C; &amp;#xAC00;&amp;#xAE4C;&amp;#xC774;&amp;#xC5D0; &amp;#xC788;&amp;#xB294; &amp;#xD3B8;&amp;#xC758;&amp;#xC810;
&lt;ul&gt;
&lt;li&gt;dynamoDB&amp;#xC5D0; &amp;#xAE30;&amp;#xC874; &amp;#xC704;&amp;#xCE58;&amp;#xC815;&amp;#xBCF4;&amp;#xB97C; &amp;#xC800;&amp;#xC7A5;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img width=&quot;800&quot; src=&quot;https://raw.githubusercontent.com/jiniya22/image_box/master/1_&amp;#xAC15;&amp;#xC758;/ElastiCache/01-7.png&quot;&gt;&lt;br&gt;&lt;br&gt;&lt;/p&gt;
&lt;p&gt;&amp;#xC2E4;&amp;#xC2DC;&amp;#xAC04;&amp;#xC73C;&amp;#xB85C; &amp;#xBCC0;&amp;#xACBD;&amp;#xB418;&amp;#xB294; &amp;#xD0DD;&amp;#xC2DC;&amp;#xB098; &amp;#xBC30;&amp;#xB2EC;&amp;#xC5C5;&amp;#xCCB4; &amp;#xC704;&amp;#xCE58; &amp;#xC815;&amp;#xBCF4; &amp;#xB4F1;&amp;#xC740; &amp;#xC4F0;&amp;#xAE30; &amp;#xD2B8;&amp;#xB798;&amp;#xD53D;&amp;#xC774; &amp;#xBE48;&amp;#xBC88;&amp;#xD558;&amp;#xACE0; &amp;#xB9CE;&amp;#xC744; &amp;#xB54C;&amp;#xC5D0;&amp;#xB294;, rdb &amp;#xB85C;&amp;#xB294; &amp;#xAD6C;&amp;#xC131;&amp;#xC774; &amp;#xC5B4;&amp;#xB835;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;. &amp;#xC774; &amp;#xACBD;&amp;#xC6B0;&amp;#xC5D0;&amp;#xB294; no sql&amp;#xB97C; &amp;#xD65C;&amp;#xC6A9;&amp;#xD574;&amp;#xC57C; &amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;br&gt;
&lt;h4 class=&quot;mume-header&quot; id=&quot;~~chat-message~~-%EB%B9%84%EA%B6%8C%EC%9E%A5&quot;&gt; &lt;s&gt;Chat &amp;amp; Message&lt;/s&gt; &amp;#xBE44;&amp;#xAD8C;&amp;#xC7A5;&lt;/h4&gt;

&lt;p&gt;redis&amp;#xC758; pub/sub&lt;br&gt;
&amp;#xBE0C;&amp;#xB85C;&amp;#xB4DC;&amp;#xCE90;&amp;#xC2A4;&amp;#xD305; &amp;#xBC29;&amp;#xC2DD;&lt;br&gt;
&amp;#xB178;&amp;#xB4DC;&amp;#xAC00; &amp;#xC5EC;&amp;#xB7EC;&amp;#xAC1C;&amp;#xC77C; &amp;#xACBD;&amp;#xC6B0;, &amp;#xC5EC;&amp;#xB7EC;&amp;#xAC1C;&amp;#xC758; &amp;#xB178;&amp;#xB4DC;&amp;#xC5D0;&amp;#xAC8C; &amp;#xBA54;&amp;#xC2DC;&amp;#xC9C0;&amp;#xB97C; &amp;#xC804;&amp;#xB2EC;&amp;#xD574;&amp;#xC57C;&amp;#xD558;&amp;#xB294; &amp;#xBD80;&amp;#xBD84;&amp;#xB54C;&amp;#xBB38;&amp;#xC5D0; &amp;#xC131;&amp;#xB2A5;&amp;#xC774; &amp;#xB5A8;&amp;#xC5B4;&amp;#xC9C8; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
(&amp;#xB178;&amp;#xB4DC;&amp;#xAC00; &amp;#xB9CE;&amp;#xC544;&amp;#xC9C8;&amp;#xC218;&amp;#xB85D; &amp;#xC131;&amp;#xB2A5;&amp;#xC774; &amp;#xB5A8;&amp;#xC5B4;&amp;#xC9C8;&amp;#xC218; &amp;#xC788;&amp;#xB2E4;)&lt;/p&gt;
&lt;p&gt;shadded pub/sub &amp;#xD558;&amp;#xB098;&amp;#xC758; &amp;#xC0E4;&amp;#xB4DC;&amp;#xC5D0;&amp;#xC11C;&amp;#xB9CC;  pub/sub&amp;#xC744;&lt;br&gt;
&amp;#xD074;&amp;#xB7EC;&amp;#xC2A4;&amp;#xD130; n&amp;#xAC1C;&amp;#xC758; &amp;#xC0E4;&amp;#xB4DC;&amp;#xB97C;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Message Queue&lt;/strong&gt;&lt;br&gt;
failover&amp;#xAC00; &amp;#xBC1C;&amp;#xC0DD;&amp;#xB418;&amp;#xC5C8;&amp;#xC744; &amp;#xB54C; &amp;#xB370;&amp;#xC774;&amp;#xD130; &amp;#xC720;&amp;#xC2E4;&amp;#xC774; &amp;#xBC1C;&amp;#xC0DD;&amp;#xB429;&amp;#xB2C8;&amp;#xB2E4; -&amp;gt; &amp;#xC720;&amp;#xC2E4;&amp;#xB418;&amp;#xBA74; &amp;#xC548;&amp;#xB41C;&amp;#xB2E4;&amp;#xBA74; sqs&amp;#xB97C; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD558;&amp;#xB294;&amp;#xAC83;&amp;#xC744; &amp;#xAD8C;&amp;#xC7A5;&lt;/p&gt;
&lt;br&gt;
&lt;h4 class=&quot;mume-header&quot; id=&quot;machine-learning&quot;&gt;Machine Learning&lt;/h4&gt;

&lt;p&gt;dynamodb&amp;#xC5D0; &amp;#xB9E4;&amp;#xC77C; &amp;#xC804; &amp;#xC720;&amp;#xC800;&amp;#xC758; &amp;#xC815;&amp;#xC801; &amp;#xCD94;&amp;#xCC9C;&amp;#xBAA9;&amp;#xB85D;&amp;#xC744; &amp;#xAC31;&amp;#xC2E0;&amp;#xD558;&amp;#xC5EC;,&lt;br&gt;
&amp;#xC811;&amp;#xC18D;&amp;#xC2DC; &amp;#xADF8; &amp;#xCD94;&amp;#xCC9C;&amp;#xBAA9;&amp;#xB85D;&amp;#xC744; &amp;#xBC14;&amp;#xB85C; &amp;#xC11C;&amp;#xBE59;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xC0AC;&amp;#xC6A9;&amp;#xD558;&amp;#xBA74;&amp;#xC11C; &amp;#xD074;&amp;#xB9AD;&amp;#xD55C; &amp;#xC815;&amp;#xBCF4;&amp;#xB97C; &amp;#xAE30;&amp;#xBC18;&amp;#xC73C;&amp;#xB85C; &amp;#xCD94;&amp;#xCC9C;&amp;#xC815;&amp;#xBCF4;&amp;#xB97C; &amp;#xC704;&amp;#xD55C; &amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xB97C; &amp;#xC218;&amp;#xC9D1;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.(&amp;#xB3D9;&amp;#xC801;)&lt;/p&gt;
&lt;p&gt;sorted set&amp;#xC744; &amp;#xC774;&amp;#xC6A9;&amp;#xD558;&amp;#xC5EC;, &amp;#xC800;&amp;#xC7A5;&amp;#xB418;&amp;#xC5B4;&amp;#xC788;&amp;#xB294; &amp;#xCD94;&amp;#xCC9C;&amp;#xBAA9;&amp;#xB85D;&amp;#xC744; &amp;#xC11C;&amp;#xBE59;&lt;/p&gt;
&lt;hr&gt;

  &lt;/div&gt;&lt;/div&gt;</description>
      <category>DB</category>
      <category>AWS</category>
      <author>jiniya22</author>
      <guid isPermaLink="true">https://jini-box.tistory.com/245</guid>
      <comments>https://jini-box.tistory.com/245#entry245comment</comments>
      <pubDate>Wed, 22 May 2024 18:03:22 +0900</pubDate>
    </item>
    <item>
      <title>[Effective Java] Item57~67. 일반적인 프로그래밍 원칙</title>
      <link>https://jini-box.tistory.com/244</link>
      <description>&lt;div id=&quot;html-export&quot;&gt;
      &lt;div class=&quot;mume markdown-preview  &quot;&gt;
      &lt;h2 class=&quot;mume-header&quot; id=&quot;item-57-%EC%A7%80%EC%97%AD%EB%B3%80%EC%88%98%EC%9D%98-%EB%B2%94%EC%9C%84%EB%A5%BC-%EC%B5%9C%EC%86%8C%ED%99%94-%ED%95%98%EB%9D%BC&quot;&gt;Item 57. &amp;#xC9C0;&amp;#xC5ED;&amp;#xBCC0;&amp;#xC218;&amp;#xC758; &amp;#xBC94;&amp;#xC704;&amp;#xB97C; &amp;#xCD5C;&amp;#xC18C;&amp;#xD654; &amp;#xD558;&amp;#xB77C;&lt;/h2&gt;

&lt;p&gt;&amp;#xC9C0;&amp;#xC5ED;&amp;#xBCC0;&amp;#xC218;&amp;#xB97C; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD558;&amp;#xAE30; &amp;#xC9C1;&amp;#xC804;&amp;#xC5D0;, &amp;#xC9C0;&amp;#xC5ED;&amp;#xBCC0;&amp;#xC218;&amp;#xB97C; &amp;#xC120;&amp;#xC5B8;&amp;#xD558;&amp;#xB294; &amp;#xAC83;&amp;#xC774; &amp;#xC88B;&amp;#xC73C;&amp;#xBA70;&lt;br&gt;
&amp;#xAC00;&amp;#xB2A5;&amp;#xD55C; &amp;#xC120;&amp;#xC5B8;&amp;#xACFC; &amp;#xB3D9;&amp;#xC2DC;&amp;#xC5D0; &amp;#xCD08;&amp;#xAE30;&amp;#xD654;&amp;#xD558;&amp;#xB294; &amp;#xAC83;&amp;#xC774; &amp;#xC88B;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;while&amp;#xBB38; &amp;#xAC19;&amp;#xC774;, &amp;#xBCC0;&amp;#xC218;&amp;#xB97C; &amp;#xC678;&amp;#xBD80;&amp;#xC5D0; &amp;#xC120;&amp;#xC5B8;&amp;#xD558;&amp;#xB294; &amp;#xBB38;&amp;#xBC95;&amp;#xBCF4;&amp;#xB2E4;&amp;#xB294;&lt;br&gt;
for&amp;#xBB38;&amp;#xC744; &amp;#xC774;&amp;#xC6A9;&amp;#xD558;&amp;#xC5EC;, for&amp;#xBB38; &amp;#xBE14;&amp;#xB7ED; &amp;#xB0B4;&amp;#xC5D0;&amp;#xC11C; &amp;#xC9C0;&amp;#xC5ED;&amp;#xBCC0;&amp;#xC218;&amp;#xB97C; &amp;#xC120;&amp;#xC5B8;&amp;#xD558;&amp;#xACE0;, &amp;#xADF8; &amp;#xBE14;&amp;#xB7ED; &amp;#xB0B4;&amp;#xC5D0;&amp;#xC11C;&amp;#xB9CC; &amp;#xD574;&amp;#xB2F9; &amp;#xC9C0;&amp;#xC5ED;&amp;#xBCC0;&amp;#xC218;&amp;#xB97C; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD558;&amp;#xAC8C; &amp;#xB9CC;&amp;#xB4DC;&amp;#xB294; &amp;#xAC83;&amp;#xC774; bug&amp;#xB97C; &amp;#xC720;&amp;#xBC1C;&amp;#xD558;&amp;#xC9C0; &amp;#xC54A;&amp;#xAE30;&amp;#xC5D0; &amp;#xB354; &amp;#xC88B;&amp;#xC740; &amp;#xCF54;&amp;#xB4DC;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xBA54;&amp;#xC11C;&amp;#xB4DC;&amp;#xB294; &amp;#xC791;&amp;#xAC8C; &amp;#xC720;&amp;#xC9C0;&amp;#xD558;&amp;#xACE0;, &amp;#xAC01; &amp;#xBA54;&amp;#xC11C;&amp;#xB4DC;&amp;#xB2F9; &amp;#xD558;&amp;#xB098;&amp;#xC758; &amp;#xAE30;&amp;#xB2A5;&amp;#xC5D0; &amp;#xC9D1;&amp;#xC911;&amp;#xD558;&amp;#xAC8C; &amp;#xB9CC;&amp;#xB4E4;&amp;#xC790;&lt;/p&gt;
&lt;hr&gt;
&lt;h2 class=&quot;mume-header&quot; id=&quot;item-58-%EC%A0%84%ED%86%B5%EC%A0%81%EC%9D%B8-for%EB%AC%B8-%EB%B3%B4%EB%8B%A4%EB%8A%94-for-each%EB%AC%B8%EC%9D%84-%EC%82%AC%EC%9A%A9%ED%95%98%EB%9D%BC&quot;&gt;Item 58. &amp;#xC804;&amp;#xD1B5;&amp;#xC801;&amp;#xC778; for&amp;#xBB38; &amp;#xBCF4;&amp;#xB2E4;&amp;#xB294; for-each&amp;#xBB38;&amp;#xC744; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD558;&amp;#xB77C;&lt;/h2&gt;

&lt;p&gt;&amp;#xC804;&amp;#xD1B5;&amp;#xC801;&amp;#xC73C;&amp;#xB85C; for&amp;#xBB38;&amp;#xC744; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD558;&amp;#xB294; &amp;#xC544;&amp;#xB798;&amp;#xC640; &amp;#xAC19;&amp;#xC740; &amp;#xBC29;&amp;#xC2DD;&amp;#xC774; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;java&quot; class=&quot;language-java&quot;&gt;&lt;span class=&quot;token keyword keyword-for&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;Iterator&lt;/span&gt;&lt;span class=&quot;token generics&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;Element&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt; i &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; c&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;iterator&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; i&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;hasNext&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;token class-name&quot;&gt;Element&lt;/span&gt; e &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; i&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;next&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;java&quot; class=&quot;language-java&quot;&gt;&lt;span class=&quot;token keyword keyword-for&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token keyword keyword-int&quot;&gt;int&lt;/span&gt; i &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; i &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt; a&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;length&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; i&lt;span class=&quot;token operator&quot;&gt;++&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;br&gt;
&lt;p&gt;&amp;#xC774;&amp;#xB7EC;&amp;#xD55C; for&amp;#xBB38;&amp;#xC740; while&amp;#xBB38;&amp;#xBCF4;&amp;#xB2E4;&amp;#xB294; &amp;#xB0AB;&amp;#xC9C0;&amp;#xB9CC;, for&amp;#xBB38; &amp;#xB0B4;&amp;#xC5D0;&amp;#xC11C; &amp;#xC815;&amp;#xC758;&amp;#xD55C; &amp;#xC9C0;&amp;#xC5ED;&amp;#xBCC0;&amp;#xC218; &amp;#xC694;&amp;#xC18C;&amp;#xB4E4;&amp;#xC744; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD574;&amp;#xC57C;&amp;#xD560; &amp;#xAC83;&amp;#xC774; &amp;#xC544;&amp;#xB2C8;&amp;#xB77C;&amp;#xBA74; &amp;#xC544;&amp;#xB798;&amp;#xC640; &amp;#xAC19;&amp;#xC740; &amp;#xC774;&amp;#xC720;&amp;#xC758; &amp;#xB2E8;&amp;#xC810;&amp;#xB4E4;&amp;#xC774; &amp;#xC874;&amp;#xC7AC;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;for &amp;#xC120;&amp;#xC5B8;&amp;#xC5D0; &amp;#xC4F0;&amp;#xC774;&amp;#xB294; &amp;#xC694;&amp;#xC18C;&amp;#xB4E4;&amp;#xC774; &amp;#xB9CE;&amp;#xC544;&amp;#xC9C0;&amp;#xB294; &amp;#xB9CC;&amp;#xD07C;, &amp;#xADF8;&amp;#xC5D0; &amp;#xC758;&amp;#xD55C; &amp;#xC624;&amp;#xB958;&amp;#xAC00; &amp;#xBC1C;&amp;#xC0DD;&amp;#xC2DC;&amp;#xD0AC; &amp;#xC218; &amp;#xC788;&amp;#xB294; &amp;#xAC00;&amp;#xB2A5;&amp;#xC131;&amp;#xB3C4; &amp;#xB192;&amp;#xC544;&amp;#xC9D1;&amp;#xB2C8;&amp;#xB2E4;.&lt;/li&gt;
&lt;li&gt;for&amp;#xB97C; &amp;#xC801;&amp;#xC6A9;&amp;#xD560; &amp;#xB300;&amp;#xC0C1;&amp;#xC774; &amp;#xB2EC;&amp;#xB77C;&amp;#xC9D0;&amp;#xC5D0; &amp;#xB530;&amp;#xB77C; &amp;#xC791;&amp;#xC131;&amp;#xBC95;&amp;#xC774; &amp;#xB2EC;&amp;#xB77C;&amp;#xC9C0;&amp;#xB294; &amp;#xBD88;&amp;#xD3B8;&amp;#xD568;&amp;#xC774; &amp;#xC874;&amp;#xC7AC;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;. (&amp;#xCEEC;&amp;#xB809;&amp;#xC158;, &amp;#xBC30;&amp;#xC5F4;)&lt;/li&gt;
&lt;/ol&gt;
&lt;br&gt;
&lt;p&gt;&amp;#xC778;&amp;#xB371;&amp;#xC2A4;&amp;#xB098; &amp;#xBC18;&amp;#xBCF5;&amp;#xC790;&amp;#xB97C; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD558;&amp;#xC9C0; &amp;#xC54A;&amp;#xC544;&amp;#xB3C4; &amp;#xB41C;&amp;#xB2E4;&amp;#xBA74;, &amp;#xD5A5;&amp;#xC0C1;&amp;#xB41C; for&amp;#xBB38;&amp;#xC744; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD558;&amp;#xB294; &amp;#xAC83;&amp;#xC774; &amp;#xAC00;&amp;#xB3C5;&amp;#xC131; &amp;#xCE21;&amp;#xBA74;&amp;#xC5D0;&amp;#xC11C;&amp;#xB3C4; &amp;#xC88B;&amp;#xACE0;,&lt;br&gt;
for &amp;#xC801;&amp;#xC6A9;&amp;#xB300;&amp;#xC0C1;&amp;#xC774; &amp;#xCEEC;&amp;#xB809;&amp;#xC158;&amp;#xC774;&amp;#xB4E0; &amp;#xBC30;&amp;#xC5F4;&amp;#xC774;&amp;#xB4E0; &amp;#xAD00;&amp;#xACC4;&amp;#xC5C6;&amp;#xC774; &amp;#xB3D9;&amp;#xC77C;&amp;#xD55C; &amp;#xBB38;&amp;#xBC95; &amp;#xAD6C;&amp;#xC870;&amp;#xB85C; &amp;#xC791;&amp;#xC131;&amp;#xD558;&amp;#xB294; &amp;#xAC83;&amp;#xC774; &amp;#xAC00;&amp;#xB2A5;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xB610;, &amp;#xC804;&amp;#xD1B5;&amp;#xC801;&amp;#xC778; for&amp;#xBB38;&amp;#xACFC; &amp;#xBE44;&amp;#xAD50;&amp;#xD588;&amp;#xC744; &amp;#xB54C; &amp;#xC131;&amp;#xB2A5;&amp;#xC801;&amp;#xC778; &amp;#xCC28;&amp;#xC774;&amp;#xC810;&amp;#xB3C4; &amp;#xC5C6;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;java&quot; class=&quot;language-java&quot;&gt;&lt;span class=&quot;token keyword keyword-for&quot;&gt;for&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;Element&lt;/span&gt; e&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; elements&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;br&gt;
&lt;p&gt;&amp;#xB2E4;&amp;#xB9CC;, &amp;#xC544;&amp;#xB798;&amp;#xC758; &amp;#xC0C1;&amp;#xD669;&amp;#xC5D0;&amp;#xC11C;&amp;#xB294; &amp;#xD5A5;&amp;#xC0C1;&amp;#xB41C; for&amp;#xBB38;&amp;#xC744; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD560; &amp;#xC218; &amp;#xC5C6;&amp;#xAE30; &amp;#xB54C;&amp;#xBB38;&amp;#xC5D0; &amp;#xC804;&amp;#xD1B5;&amp;#xC801;&amp;#xC778; for&amp;#xBB38;&amp;#xC744; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD574;&amp;#xC57C; &amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&amp;#xCEEC;&amp;#xB809;&amp;#xC158;&amp;#xC744; &amp;#xC21C;&amp;#xD68C;&amp;#xD558;&amp;#xBA74;&amp;#xC11C; &amp;#xC120;&amp;#xD0DD;&amp;#xB41C; &amp;#xC6D0;&amp;#xC18C;&amp;#xB97C; &amp;#xC81C;&amp;#xAC70;&amp;#xD574;&amp;#xC57C;&amp;#xD558;&amp;#xB294; &amp;#xACBD;&amp;#xC6B0;.
&lt;ul&gt;
&lt;li&gt;Java8 &amp;#xC774;&amp;#xC0C1;&amp;#xBD80;&amp;#xD130; &amp;#xC9C0;&amp;#xC6D0;&amp;#xD558;&amp;#xB294; Colleciton &amp;#xD074;&amp;#xB798;&amp;#xC2A4;&amp;#xC758; removeIf &amp;#xBA54;&amp;#xC11C;&amp;#xB4DC;&amp;#xB85C; &amp;#xCEEC;&amp;#xB809;&amp;#xC158;&amp;#xC744; &amp;#xBA85;&amp;#xC2DC;&amp;#xC801;&amp;#xC73C;&amp;#xB85C; &amp;#xC21C;&amp;#xD68C;&amp;#xD558;&amp;#xB294; &amp;#xAC83;&amp;#xC744; &amp;#xD53C;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&amp;#xB9AC;&amp;#xC2A4;&amp;#xD2B8;&amp;#xB098; &amp;#xBC30;&amp;#xC5F4;&amp;#xC744; &amp;#xC21C;&amp;#xD68C;&amp;#xD558;&amp;#xBA74;&amp;#xC11C; &amp;#xADF8; &amp;#xC6D0;&amp;#xC18C;&amp;#xC758; &amp;#xAC12;&amp;#xC758; &amp;#xC77C;&amp;#xBD80;&amp;#xB098; &amp;#xC804;&amp;#xCCB4;&amp;#xB97C; &amp;#xAD50;&amp;#xCCB4;&amp;#xD574;&amp;#xC57C;&amp;#xD558;&amp;#xB294; &amp;#xACBD;&amp;#xC6B0;
&lt;ul&gt;
&lt;li&gt;&amp;#xC774; &amp;#xACBD;&amp;#xC6B0;&amp;#xC5D0;&amp;#xB294; &amp;#xB9AC;&amp;#xC2A4;&amp;#xD2B8;&amp;#xC758; &amp;#xBC18;&amp;#xBCF5;&amp;#xC790;&amp;#xB098; &amp;#xBC30;&amp;#xC5F4;&amp;#xC758; &amp;#xC778;&amp;#xB371;&amp;#xC2A4;&amp;#xB97C; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD574;&amp;#xC57C;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&amp;#xC5EC;&amp;#xB7EC; &amp;#xCEEC;&amp;#xB809;&amp;#xC158;&amp;#xC744; &amp;#xBCD1;&amp;#xB82C;&amp;#xB85C; &amp;#xC21C;&amp;#xD68C;&amp;#xD574;&amp;#xC57C;&amp;#xD558;&amp;#xB294; &amp;#xACBD;&amp;#xC6B0;&lt;/li&gt;
&lt;/ol&gt;
&lt;hr&gt;
&lt;h2 class=&quot;mume-header&quot; id=&quot;item-60-%EC%A0%95%ED%99%95%ED%95%9C-%EB%8B%B5%EC%9D%B4-%ED%95%84%EC%9A%94%ED%95%98%EB%8B%A4%EB%A9%B4-float%EC%99%80-double%EC%9D%80-%ED%94%BC%ED%95%98%EB%9D%BC&quot;&gt;Item 60. &amp;#xC815;&amp;#xD655;&amp;#xD55C; &amp;#xB2F5;&amp;#xC774; &amp;#xD544;&amp;#xC694;&amp;#xD558;&amp;#xB2E4;&amp;#xBA74; float&amp;#xC640; double&amp;#xC740; &amp;#xD53C;&amp;#xD558;&amp;#xB77C;&lt;/h2&gt;

&lt;p&gt;float&amp;#xC640; double&amp;#xC740; &amp;#xACFC;&amp;#xD559;/&amp;#xACF5;&amp;#xD559; &amp;#xACC4;&amp;#xC0B0;&amp;#xC6A9;&amp;#xC73C;&amp;#xB85C; &amp;#xC124;&amp;#xACC4;&amp;#xB41C; &amp;#xAC83;&amp;#xC73C;&amp;#xB85C;, &amp;#xC774;&amp;#xC9C4; &amp;#xBD80;&amp;#xB3D9;&amp;#xC18C;&amp;#xC218;&amp;#xC810; &amp;#xC5F0;&amp;#xC0B0;&amp;#xC5D0; &amp;#xC0AC;&amp;#xC6A9;&amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xB113;&amp;#xC740; &amp;#xBC94;&amp;#xC704;&amp;#xC758; &amp;#xC218;&amp;#xB97C; &amp;#xBE60;&amp;#xB974;&amp;#xACE0; &amp;#xC815;&amp;#xBC00;&amp;#xD55C; &lt;u&gt;&amp;#xADFC;&amp;#xC0AC;&amp;#xCE58;&lt;/u&gt;&amp;#xB85C; &amp;#xACC4;&amp;#xC0B0;&amp;#xD558;&amp;#xAE30; &amp;#xB54C;&amp;#xBB38;&amp;#xC5D0;, &lt;strong&gt;&amp;#xC815;&amp;#xD655;&amp;#xD55C;&lt;/strong&gt; &amp;#xACC4;&amp;#xC0B0; &amp;#xACB0;&amp;#xACFC;&amp;#xAC00; &amp;#xD544;&amp;#xC694;&amp;#xD560; &amp;#xB54C; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD558;&amp;#xBA74; &amp;#xC548;&amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;#xD2B9;&amp;#xD788;, &amp;#xAE08;&amp;#xC735; &amp;#xAD00;&amp;#xB828; &amp;#xACC4;&amp;#xC0B0;&amp;#xC5D0;&amp;#xC11C;&amp;#xB294; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD558;&amp;#xC9C0; &amp;#xC54A;&amp;#xC544;&amp;#xC57C; &amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;float/double&amp;#xC740; 0.1 &amp;#xC774;&amp;#xB098; &amp;#xC74C;&amp;#xC758; &amp;#xAC70;&amp;#xB4ED;&amp;#xC81C;&amp;#xACF1;(&lt;span class=&quot;katex&quot;&gt;&lt;span class=&quot;katex-mathml&quot;&gt;&lt;math xmlns=&quot;http://www.w3.org/1998/Math/MathML&quot;&gt;&lt;semantics&gt;&lt;mrow&gt;&lt;mn&gt;1&lt;/mn&gt;&lt;msup&gt;&lt;mn&gt;0&lt;/mn&gt;&lt;mrow&gt;&lt;mo&gt;&amp;#x2212;&lt;/mo&gt;&lt;mn&gt;1&lt;/mn&gt;&lt;/mrow&gt;&lt;/msup&gt;&lt;/mrow&gt;&lt;annotation encoding=&quot;application/x-tex&quot;&gt;10^{-1}&lt;/annotation&gt;&lt;/semantics&gt;&lt;/math&gt;&lt;/span&gt;&lt;span class=&quot;katex-html&quot; aria-hidden=&quot;true&quot;&gt;&lt;span class=&quot;base&quot;&gt;&lt;span class=&quot;strut&quot; style=&quot;height:0.8141em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;mord&quot;&gt;&lt;span class=&quot;mord&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;msupsub&quot;&gt;&lt;span class=&quot;vlist-t&quot;&gt;&lt;span class=&quot;vlist-r&quot;&gt;&lt;span class=&quot;vlist&quot; style=&quot;height:0.8141em;&quot;&gt;&lt;span style=&quot;top:-3.063em;margin-right:0.05em;&quot;&gt;&lt;span class=&quot;pstrut&quot; style=&quot;height:2.7em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;sizing reset-size6 size3 mtight&quot;&gt;&lt;span class=&quot;mord mtight&quot;&gt;&lt;span class=&quot;mord mtight&quot;&gt;&amp;#x2212;&lt;/span&gt;&lt;span class=&quot;mord mtight&quot;&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;, &lt;span class=&quot;katex&quot;&gt;&lt;span class=&quot;katex-mathml&quot;&gt;&lt;math xmlns=&quot;http://www.w3.org/1998/Math/MathML&quot;&gt;&lt;semantics&gt;&lt;mrow&gt;&lt;mn&gt;1&lt;/mn&gt;&lt;msup&gt;&lt;mn&gt;0&lt;/mn&gt;&lt;mrow&gt;&lt;mo&gt;&amp;#x2212;&lt;/mo&gt;&lt;mn&gt;2&lt;/mn&gt;&lt;/mrow&gt;&lt;/msup&gt;&lt;/mrow&gt;&lt;annotation encoding=&quot;application/x-tex&quot;&gt;10^{-2}&lt;/annotation&gt;&lt;/semantics&gt;&lt;/math&gt;&lt;/span&gt;&lt;span class=&quot;katex-html&quot; aria-hidden=&quot;true&quot;&gt;&lt;span class=&quot;base&quot;&gt;&lt;span class=&quot;strut&quot; style=&quot;height:0.8141em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;mord&quot;&gt;&lt;span class=&quot;mord&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;msupsub&quot;&gt;&lt;span class=&quot;vlist-t&quot;&gt;&lt;span class=&quot;vlist-r&quot;&gt;&lt;span class=&quot;vlist&quot; style=&quot;height:0.8141em;&quot;&gt;&lt;span style=&quot;top:-3.063em;margin-right:0.05em;&quot;&gt;&lt;span class=&quot;pstrut&quot; style=&quot;height:2.7em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;sizing reset-size6 size3 mtight&quot;&gt;&lt;span class=&quot;mord mtight&quot;&gt;&lt;span class=&quot;mord mtight&quot;&gt;&amp;#x2212;&lt;/span&gt;&lt;span class=&quot;mord mtight&quot;&gt;2&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;)&amp;#xC744; &amp;#xD45C;&amp;#xD604;&amp;#xD560; &amp;#xC218; &amp;#xC5C6;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&lt;br&gt;&lt;/p&gt;
&lt;p&gt;&amp;#xC608;&amp;#xB97C;&amp;#xB4E4;&amp;#xC5B4;, 1.01 - 0.33 = 0.68 &amp;#xC774; &amp;#xB098;&amp;#xC640;&amp;#xC57C;&amp;#xD558;&amp;#xC9C0;&amp;#xB9CC;&lt;br&gt;
java&amp;#xC5D0;&amp;#xC11C;&amp;#xB294; &lt;code&gt;0.6799999999999999&lt;/code&gt;&amp;#xB97C; &amp;#xCD9C;&amp;#xB825;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;java&quot; class=&quot;language-java&quot;&gt;&lt;span class=&quot;token class-name&quot;&gt;System&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;out&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;1.01&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0.33&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;&lt;span class=&quot;token number&quot;&gt;0.6799999999999999&lt;/span&gt;
&lt;/pre&gt;&lt;br&gt;
&lt;p&gt;&amp;#xC544;&amp;#xB798;&amp;#xC758; &amp;#xACC4;&amp;#xC0B0; &amp;#xACB0;&amp;#xACFC;&amp;#xB3C4; &lt;code&gt;0.2&lt;/code&gt;&amp;#xAC00; &amp;#xC544;&amp;#xB2CC; &amp;#xADFC;&amp;#xC0AC;&amp;#xCE58;&amp;#xAC00; &amp;#xCD9C;&amp;#xB825;&amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;java&quot; class=&quot;language-java&quot;&gt;&lt;span class=&quot;token class-name&quot;&gt;System&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;out&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;1.00&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;8&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;*&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0.10&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;&lt;span class=&quot;token number&quot;&gt;0.19999999999999996&lt;/span&gt;
&lt;/pre&gt;&lt;br&gt;
&lt;p&gt;double &amp;#xC790;&amp;#xB8CC;&amp;#xD615;&amp;#xC744; &amp;#xC815;&amp;#xD655;&amp;#xD55C; &amp;#xACC4;&amp;#xC0B0;&amp;#xC774; &amp;#xD544;&amp;#xC694;&amp;#xD55C; &amp;#xAE08;&amp;#xC735; &amp;#xACC4;&amp;#xC0B0;&amp;#xC5D0; &amp;#xC801;&amp;#xC6A9;&amp;#xD560; &amp;#xACBD;&amp;#xC6B0;, &amp;#xC798;&amp;#xBABB;&amp;#xB41C; &amp;#xACB0;&amp;#xACFC;&amp;#xAC00; &amp;#xBC1C;&amp;#xC0DD;&amp;#xB420; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;java&quot; class=&quot;language-java&quot;&gt;&lt;span class=&quot;token keyword keyword-double&quot;&gt;double&lt;/span&gt; funds &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;1.00&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token keyword keyword-int&quot;&gt;int&lt;/span&gt; itemsBought &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token keyword keyword-for&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token keyword keyword-double&quot;&gt;double&lt;/span&gt; price &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0.10&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; funds &lt;span class=&quot;token operator&quot;&gt;&amp;gt;=&lt;/span&gt; price&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; price &lt;span class=&quot;token operator&quot;&gt;+=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0.10&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    funds &lt;span class=&quot;token operator&quot;&gt;-=&lt;/span&gt; price&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
    itemsBought&lt;span class=&quot;token operator&quot;&gt;++&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token class-name&quot;&gt;System&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;out&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;itemsBought &lt;span class=&quot;token operator&quot;&gt;+&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot; items bought.&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token class-name&quot;&gt;System&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;out&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;Change: $&amp;quot;&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;+&lt;/span&gt; funds&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;&lt;span class=&quot;token number&quot;&gt;3&lt;/span&gt; items bought.
Change: &lt;span class=&quot;token variable&quot;&gt;$0&lt;/span&gt;.3999999999999999
&lt;/pre&gt;&lt;br&gt;
&lt;p&gt;&amp;#xC774; &amp;#xACBD;&amp;#xC6B0;, BigDecimal&amp;#xB85C; &amp;#xAD50;&amp;#xCCB4;&amp;#xD560; &amp;#xACBD;&amp;#xC6B0; &amp;#xC815;&amp;#xD655;&amp;#xD55C; &amp;#xACB0;&amp;#xACFC;&amp;#xB97C; &amp;#xB3C4;&amp;#xCD9C;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xB2E4;&amp;#xB9CC;, BigDecimal&amp;#xC740; &amp;#xAE30;&amp;#xBCF8; &amp;#xD0C0;&amp;#xC785;&amp;#xC5D0; &amp;#xBE44;&amp;#xD574; &amp;#xC18D;&amp;#xB3C4;&amp;#xAC00; &amp;#xB290;&amp;#xB9AC;&amp;#xACE0; &amp;#xC0AC;&amp;#xC6A9; &amp;#xBC29;&amp;#xBC95;&amp;#xC774; &amp;#xC9C1;&amp;#xAD00;&amp;#xC801;&amp;#xC774;&amp;#xC9C0; &amp;#xC54A;&amp;#xB2E4;&amp;#xB294; &amp;#xB2E8;&amp;#xC810;&amp;#xC774; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;java&quot; class=&quot;language-java&quot;&gt;&lt;span class=&quot;token keyword keyword-final&quot;&gt;final&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;BigDecimal&lt;/span&gt; TEN_CENTS &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token keyword keyword-new&quot;&gt;new&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;BigDecimal&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;.10&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token keyword keyword-int&quot;&gt;int&lt;/span&gt; itemsBought &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token class-name&quot;&gt;BigDecimal&lt;/span&gt; funds &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token keyword keyword-new&quot;&gt;new&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;BigDecimal&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;1.00&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token keyword keyword-for&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;BigDecimal&lt;/span&gt; price &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; TEN_CENTS&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; funds&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;compareTo&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;price&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;&amp;gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; price &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; price&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;add&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;TEN_CENTS&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    funds &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; funds&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;subtract&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;price&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
    itemsBought&lt;span class=&quot;token operator&quot;&gt;++&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token class-name&quot;&gt;System&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;out&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;itemsBought &lt;span class=&quot;token operator&quot;&gt;+&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot; items bought.&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token class-name&quot;&gt;System&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;out&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;Change: $&amp;quot;&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;+&lt;/span&gt; funds&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;&lt;span class=&quot;token number&quot;&gt;4&lt;/span&gt; items bought.
Change: &lt;span class=&quot;token variable&quot;&gt;$0&lt;/span&gt;.00
&lt;/pre&gt;&lt;br&gt;
&lt;p&gt;&amp;#xB9CC;&amp;#xC57D; &amp;#xACC4;&amp;#xC0B0;&amp;#xBC95;&amp;#xC744; &amp;#xC2ED;&amp;#xC9C4;&amp;#xC218;&amp;#xB85C; &amp;#xD45C;&amp;#xD604;&amp;#xC774; &amp;#xAC00;&amp;#xB2A5;&amp;#xD558;&amp;#xBA74;&amp;#xC11C;, &amp;#xACC4;&amp;#xC0B0;&amp;#xC5D0; &amp;#xD544;&amp;#xC694;&amp;#xD55C; &amp;#xC218;&amp;#xAC00; &amp;#xB108;&amp;#xBB34; &amp;#xD06C;&amp;#xC9C0; &amp;#xC54A;&amp;#xB2E4;&amp;#xBA74; int &amp;#xB098; long &amp;#xD0C0;&amp;#xC785;&amp;#xC73C;&amp;#xB85C; &amp;#xBCC0;&amp;#xACBD;&amp;#xD558;&amp;#xC5EC; &amp;#xACC4;&amp;#xC0B0;&amp;#xD558;&amp;#xB294; &amp;#xAC83;&amp;#xB3C4; &amp;#xBC29;&amp;#xBC95;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xC22B;&amp;#xC790;&amp;#xB97C; 9&amp;#xC790;&amp;#xB9AC; &amp;#xC2ED;&amp;#xC9C4;&amp;#xC218;&amp;#xB85C; &amp;#xD45C;&amp;#xD604;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xB2E4;&amp;#xBA74; int &amp;#xC790;&amp;#xB8CC;&amp;#xD615;&amp;#xC744;, 18&amp;#xC790;&amp;#xB9AC; &amp;#xC2ED;&amp;#xC9C4;&amp;#xC218;&amp;#xB85C; &amp;#xD45C;&amp;#xD604;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xB2E4;&amp;#xBA74; long &amp;#xD0C0;&amp;#xC785;&amp;#xC744; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD558;&amp;#xBA74; &amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;#xB9CC;&amp;#xC77C; 18&amp;#xC790;&amp;#xB9AC;&amp;#xC218;&amp;#xB864; &amp;#xB118;&amp;#xC5B4;&amp;#xAC04;&amp;#xB2E4;&amp;#xBA74; BigDecimal&amp;#xC744; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD574;&amp;#xC57C; &amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&amp;#xC704;&amp;#xC758; &amp;#xC608;&amp;#xC81C; &amp;#xCF54;&amp;#xB4DC;&amp;#xC5D0;&amp;#xC11C;&amp;#xB294; &amp;#xB2EC;&amp;#xB7EC; &amp;#xCCB4;&amp;#xACC4;&amp;#xC5D0;&amp;#xC11C; &amp;#xC13C;&amp;#xD2B8; &amp;#xB2E8;&amp;#xC704;&amp;#xB85C; &amp;#xBCC0;&amp;#xACBD;&amp;#xD55C; &amp;#xD6C4;, &amp;#xC790;&amp;#xB8CC;&amp;#xD615;&amp;#xC744; int&amp;#xB85C; &amp;#xBCC0;&amp;#xACBD;&amp;#xD558;&amp;#xC5EC; &amp;#xACC4;&amp;#xC0B0;&amp;#xC744; &amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;java&quot; class=&quot;language-java&quot;&gt;&lt;span class=&quot;token keyword keyword-int&quot;&gt;int&lt;/span&gt; funds &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;100&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token keyword keyword-int&quot;&gt;int&lt;/span&gt; itemsBought &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token keyword keyword-for&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token keyword keyword-int&quot;&gt;int&lt;/span&gt; price &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;10&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; funds &lt;span class=&quot;token operator&quot;&gt;&amp;gt;=&lt;/span&gt; price&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; price &lt;span class=&quot;token operator&quot;&gt;+=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;10&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    funds &lt;span class=&quot;token operator&quot;&gt;-=&lt;/span&gt; price&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
    itemsBought&lt;span class=&quot;token operator&quot;&gt;++&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token class-name&quot;&gt;System&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;out&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;itemsBought &lt;span class=&quot;token operator&quot;&gt;+&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot; items bought.&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token class-name&quot;&gt;System&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;out&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;Change: &amp;quot;&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;+&lt;/span&gt; funds &lt;span class=&quot;token operator&quot;&gt;+&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot; cents&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;&lt;span class=&quot;token number&quot;&gt;4&lt;/span&gt; items bought.
Change: &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt; cents
&lt;/pre&gt;&lt;hr&gt;
&lt;h2 class=&quot;mume-header&quot; id=&quot;61-%EB%B0%95%EC%8B%B1%EB%90%9C-%ED%83%80%EC%9E%85-%EB%B3%B4%EB%8B%A4%EB%8A%94-primitive-%ED%83%80%EC%9E%85%EC%9D%84-%EC%82%AC%EC%9A%A9%ED%95%98%EB%9D%BC&quot;&gt;61. &amp;#xBC15;&amp;#xC2F1;&amp;#xB41C; &amp;#xD0C0;&amp;#xC785; &amp;#xBCF4;&amp;#xB2E4;&amp;#xB294; primitive &amp;#xD0C0;&amp;#xC785;&amp;#xC744; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD558;&amp;#xB77C;&lt;/h2&gt;

&lt;p&gt;java&amp;#xC5D0;&amp;#xC11C; &amp;#xB370;&amp;#xC774;&amp;#xD130; &amp;#xD0C0;&amp;#xC785;&amp;#xC740; primitive(&amp;#xAE30;&amp;#xBCF8;) &amp;#xD0C0;&amp;#xC785; (int, long, float, double) &amp;#xACFC; reference &amp;#xD0C0;&amp;#xC785;(String, Map, List, Double, Integer) &amp;#xC774; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;primitive &amp;#xD0C0;&amp;#xC785;&amp;#xC744; List &amp;#xB098; Map&amp;#xC5D0;&amp;#xC11C; &amp;#xD65C;&amp;#xC6A9;&amp;#xD558;&amp;#xAE30; &amp;#xC704;&amp;#xD574; &amp;#xC0AC;&amp;#xC6A9;&amp;#xB418;&amp;#xB294; &amp;#xAC83;&amp;#xC774; boxing &amp;#xB41C; &amp;#xAE30;&amp;#xBCF8;&amp;#xD0C0;&amp;#xC785;&amp;#xB4E4;&amp;#xC774; &amp;#xC788;&amp;#xB294;&amp;#xB370;, Integer, Long, Float, Double&amp;#xC774; &amp;#xC774;&amp;#xC5D0; &amp;#xD574;&amp;#xB2F9;&amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;java&amp;#xC5D0;&amp;#xC11C;&amp;#xB294; auto boxing, auto unboxing&amp;#xC744; &amp;#xC81C;&amp;#xACF5;&amp;#xD558;&amp;#xACE0; &amp;#xC788;&amp;#xC5B4; &amp;#xAE30;&amp;#xBCF8;&amp;#xD0C0;&amp;#xC785;&amp;#xACFC; &amp;#xBC15;&amp;#xC2F1;&amp;#xB41C; &amp;#xAE30;&amp;#xBCF8; &amp;#xD0C0;&amp;#xC785;&amp;#xC744; &amp;#xAD6C;&amp;#xBD84;&amp;#xD558;&amp;#xC9C0; &amp;#xC54A;&amp;#xACE0; &amp;#xD63C;&amp;#xC6A9;&amp;#xD574;&amp;#xC11C; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC9C0;&amp;#xB9CC;, &amp;#xB450; &amp;#xD0C0;&amp;#xC785;&amp;#xC5D0;&amp;#xB294; &amp;#xCC28;&amp;#xC774;&amp;#xC810;&amp;#xC774; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xB530;&amp;#xB77C;&amp;#xC11C;, &amp;#xB450; &amp;#xD0C0;&amp;#xC785;&amp;#xC758; &amp;#xCC28;&amp;#xC774;&amp;#xC810;&amp;#xC744; &amp;#xBA85;&amp;#xD655;&amp;#xD788; &amp;#xC54C;&amp;#xACE0; &amp;#xD0C0;&amp;#xC785;&amp;#xC744; &amp;#xC801;&amp;#xC808;&amp;#xD558;&amp;#xAC8C; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD558;&amp;#xB294; &amp;#xAC83;&amp;#xC774; &amp;#xC88B;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&lt;br&gt;&lt;/p&gt;
&lt;h3 class=&quot;mume-header&quot; id=&quot;611-%EC%B0%A8%EC%9D%B4%EC%A0%90&quot;&gt;61.1. &amp;#xCC28;&amp;#xC774;&amp;#xC810;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&amp;#xAE30;&amp;#xBCF8; &amp;#xD0C0;&amp;#xC785;&amp;#xC740; &amp;#xAC12;&amp;#xB9CC; &amp;#xAC00;&amp;#xC9C0;&amp;#xACE0; &amp;#xC788;&amp;#xC73C;&amp;#xB098;, &amp;#xBC15;&amp;#xC2F1;&amp;#xB41C; &amp;#xAE30;&amp;#xBCF8;&amp;#xD0C0;&amp;#xC785;&amp;#xC740; &amp;#xAC12;&amp;#xACFC; &amp;#xC2DD;&amp;#xBCC4;&amp;#xC131;(identity) &amp;#xC18D;&amp;#xC131;&amp;#xC744; &amp;#xAC00;&amp;#xC9C0;&amp;#xACE0; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;
&lt;ul&gt;
&lt;li&gt;&amp;#xC2DD;&amp;#xBCC4;&amp;#xC131;&amp;#xC740; &amp;#xAC12;&amp;#xC774; &amp;#xB3D9;&amp;#xC77C;&amp;#xD558;&amp;#xB354;&amp;#xB77C;&amp;#xB3C4; &amp;#xC11C;&amp;#xB85C; &amp;#xB2E4;&amp;#xB978; &amp;#xAC12;&amp;#xC784;&amp;#xC744; &amp;#xD310;&amp;#xB2E8;&amp;#xD558;&amp;#xB294; &amp;#xC18D;&amp;#xC131;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;. &amp;#xBC15;&amp;#xC2F1;&amp;#xB41C; &amp;#xAE30;&amp;#xBCF8;&amp;#xD0C0;&amp;#xC785;&amp;#xB3C4; reference &amp;#xD0C0;&amp;#xC785;&amp;#xC758; &amp;#xC77C;&amp;#xC885;&amp;#xC774;&amp;#xBBC0;&amp;#xB85C; &amp;#xAC12;&amp;#xC73C;&amp;#xB85C; &amp;#xB3D9;&amp;#xC77C;&amp;#xC131;&amp;#xC744; &amp;#xD310;&amp;#xB2E8;&amp;#xD558;&amp;#xB294; &amp;#xAC83;&amp;#xC774; &amp;#xC544;&amp;#xB2C8;&amp;#xB77C; &amp;#xC8FC;&amp;#xC18C;&amp;#xAC12;&amp;#xC73C;&amp;#xB85C; &amp;#xB3D9;&amp;#xC77C;&amp;#xAC12;&amp;#xC784;&amp;#xC73C;&amp;#xB85C; &amp;#xD310;&amp;#xB2E8;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&amp;#xAE30;&amp;#xBCF8;&amp;#xD0C0;&amp;#xC785;&amp;#xC740; &amp;#xC720;&amp;#xD6A8;&amp;#xD55C; &amp;#xAC12;&amp;#xB9CC;&amp;#xC744; &amp;#xB2F4;&amp;#xC744; &amp;#xC218; &amp;#xC788;&amp;#xC9C0;&amp;#xB9CC;, &amp;#xBC15;&amp;#xC2F1;&amp;#xB41C; &amp;#xAE30;&amp;#xBCF8;&amp;#xD0C0;&amp;#xC785;&amp;#xC758; &amp;#xAE30;&amp;#xBCF8;&amp;#xAC12;&amp;#xC740; &amp;#xC720;&amp;#xD6A8;&amp;#xD558;&amp;#xC9C0; &amp;#xC54A;&amp;#xC740; &amp;#xAC12;&amp;#xB3C4; &amp;#xB2F4;&amp;#xC744; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.
&lt;ul&gt;
&lt;li&gt;&amp;#xBC15;&amp;#xC2F1;&amp;#xB41C; &amp;#xAE30;&amp;#xBCF8;&amp;#xAC12;&amp;#xC740; &lt;code&gt;null&lt;/code&gt; &amp;#xB3C4; &amp;#xB2F4;&amp;#xC744; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&amp;#xAE30;&amp;#xBCF8;&amp;#xD0C0;&amp;#xC785;&amp;#xC774; &amp;#xC2DC;&amp;#xAC04;&amp;#xACFC; &amp;#xBA54;&amp;#xBAA8;&amp;#xB9AC; &amp;#xC0AC;&amp;#xC6A9;&amp;#xBA74;&amp;#xC5D0;&amp;#xC11C; &amp;#xB354; &amp;#xD6A8;&amp;#xC728;&amp;#xC801;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 class=&quot;mume-header&quot; id=&quot;612-%EB%B0%95%EC%8B%B1%EB%90%9C-%EA%B8%B0%EB%B3%B8%ED%83%80%EC%9E%85-%EC%82%AC%EC%9A%A9%EC%8B%9C-%EC%A3%BC%EC%9D%98%EC%A0%90&quot;&gt;61.2. &amp;#xBC15;&amp;#xC2F1;&amp;#xB41C; &amp;#xAE30;&amp;#xBCF8;&amp;#xD0C0;&amp;#xC785; &amp;#xC0AC;&amp;#xC6A9;&amp;#xC2DC; &amp;#xC8FC;&amp;#xC758;&amp;#xC810;&lt;/h3&gt;

&lt;p&gt;&lt;mark&gt;&amp;#xAE30;&amp;#xBCF8;&amp;#xD0C0;&amp;#xC785;&amp;#xACFC; &amp;#xBC15;&amp;#xC2F1;&amp;#xB41C; &amp;#xAE30;&amp;#xBCF8;&amp;#xD0C0;&amp;#xC785;&amp;#xC744; &amp;#xD63C;&amp;#xC6A9;&amp;#xD574;&amp;#xC11C; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD560; &amp;#xACBD;&amp;#xC6B0;, &amp;#xC790;&amp;#xB3D9;&amp;#xC73C;&amp;#xB85C; unboxing&lt;/mark&gt; &amp;#xB418;&amp;#xAE30; &amp;#xB54C;&amp;#xBB38;&amp;#xC5D0;, null&amp;#xC774; &amp;#xB4E4;&amp;#xC5B4;&amp;#xC62C; &amp;#xC218; &amp;#xC788;&amp;#xB294; &amp;#xC0C1;&amp;#xD669;&amp;#xC5D0; &amp;#xB300;&amp;#xD55C; &amp;#xC608;&amp;#xC678;&amp;#xCC98;&amp;#xB9AC;&amp;#xB97C; &amp;#xD574;&amp;#xC57C;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xC608;&amp;#xB97C; &amp;#xB4E4;&amp;#xC5B4; &amp;#xC544;&amp;#xB798;&amp;#xC640; &amp;#xAC19;&amp;#xC740; &amp;#xCF54;&amp;#xB4DC;&amp;#xAC00; &amp;#xC788;&amp;#xB2E4;&amp;#xACE0; &amp;#xD560;&amp;#xB54C;,&lt;br&gt;
i&amp;#xB294; &amp;#xCD08;&amp;#xAE30;&amp;#xD654;&amp;#xAC00; &amp;#xB418;&amp;#xC5B4;&amp;#xC788;&amp;#xC9C0; &amp;#xC54A;&amp;#xAE30; &amp;#xB54C;&amp;#xBB38;&amp;#xC5D0; null&amp;#xC774; &amp;#xB4E4;&amp;#xC5B4;&amp;#xC788;&amp;#xB294; &amp;#xC0C1;&amp;#xD0DC;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
null&amp;#xAC12;&amp;#xC740; 10&amp;#xACFC; &amp;#xAC19;&amp;#xC9C0; &amp;#xC54A;&amp;#xAE30; &amp;#xB54C;&amp;#xBB38;&amp;#xC5D0; &amp;#xCD9C;&amp;#xB825;&amp;#xBB38;&amp;#xC774; &amp;#xCD9C;&amp;#xB825;&amp;#xB420; &amp;#xAC83;&amp;#xC774;&amp;#xB77C;&amp;#xACE0; &amp;#xC0DD;&amp;#xAC01;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC73C;&amp;#xB098;&lt;/p&gt;
&lt;p&gt;&amp;#xC774; &amp;#xAC12;&amp;#xC744; &amp;#xAE30;&amp;#xBCF8;&amp;#xD0C0;&amp;#xC785; 10&amp;#xACFC; &amp;#xBE44;&amp;#xAD50;&amp;#xD558;&amp;#xB824; &amp;#xD560;&amp;#xB54C;, &amp;#xC790;&amp;#xB3D9; unboxing &amp;#xB418;&amp;#xBA74;&amp;#xC11C; null&amp;#xAC12;&amp;#xC744; &amp;#xAE30;&amp;#xBCF8;&amp;#xD0C0;&amp;#xC785;&amp;#xC73C;&amp;#xB85C; &amp;#xBCC0;&amp;#xD658;&amp;#xD558;&amp;#xB824; &amp;#xC2DC;&amp;#xB3C4;&amp;#xD558;&amp;#xAC8C; &amp;#xB418;&amp;#xACE0;&lt;br&gt;
&amp;#xC774; &amp;#xB54C;, NullPointerException&amp;#xC774; &amp;#xBC1C;&amp;#xC0DD;&amp;#xB418;&amp;#xAC8C; &amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;java&quot; class=&quot;language-java&quot;&gt;&lt;span class=&quot;token keyword keyword-static&quot;&gt;static&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;Integer&lt;/span&gt; i&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

&lt;span class=&quot;token keyword keyword-public&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;token keyword keyword-static&quot;&gt;static&lt;/span&gt; &lt;span class=&quot;token keyword keyword-void&quot;&gt;void&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;main&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;String&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; args&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-if&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;i &lt;span class=&quot;token operator&quot;&gt;!=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;10&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
		&lt;span class=&quot;token class-name&quot;&gt;System&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;out&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;&amp;#xC774;&amp;#xAC8C; &amp;#xCD9C;&amp;#xB825;&amp;#xB420;&amp;#xAE4C;&amp;#xC694;?&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;br&gt;
&amp;#xBE44;&amp;#xC2B7;&amp;#xD55C; &amp;#xC774;&amp;#xC720;&amp;#xB85C;, &amp;#xC544;&amp;#xB798;&amp;#xC758; &amp;#xCF54;&amp;#xB4DC;&amp;#xB3C4; &amp;#xC624;&amp;#xB958;&amp;#xAC00; &amp;#xBC1C;&amp;#xC0DD;&amp;#xB420; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.
&lt;p&gt;&amp;#xC815;&amp;#xC218;&amp;#xD615; &amp;#xC218;&amp;#xB97C; &amp;#xC624;&amp;#xB984;&amp;#xCC28;&amp;#xC21C;&amp;#xC73C;&amp;#xB85C; &amp;#xC815;&amp;#xB82C;&amp;#xD558;&amp;#xACE0;&amp;#xC790; &amp;#xC544;&amp;#xB798;&amp;#xC758; &amp;#xD06C;&amp;#xB4DC;&amp;#xB97C; &amp;#xB9CC;&amp;#xB4E4;&amp;#xC5C8;&amp;#xC73C;&amp;#xB098;&lt;br&gt;
&amp;#xC5BC;&amp;#xD54F;&amp;#xBCF4;&amp;#xAE30;&amp;#xC5D0;&amp;#xB294; &amp;#xCF54;&amp;#xB4DC;&amp;#xC0C1;&amp;#xC73C;&amp;#xB85C; &amp;#xC774;&amp;#xC0C1;&amp;#xC774; &amp;#xC5C6;&amp;#xC5B4;&amp;#xBCF4;&amp;#xC774;&amp;#xC9C0;&amp;#xB9CC;, &amp;#xB9CC;&amp;#xC77C; &amp;#xBE44;&amp;#xAD50;&amp;#xB300;&amp;#xC0C1;&amp;#xC774; null&amp;#xC774; &amp;#xB4E4;&amp;#xC5B4;&amp;#xC654;&amp;#xC744; &amp;#xACBD;&amp;#xC6B0;&amp;#xC5D0; &amp;#xB300;&amp;#xD55C; &amp;#xC608;&amp;#xC678;&amp;#xCC98;&amp;#xB9AC;&amp;#xAC00; &amp;#xBE60;&amp;#xC838;&amp;#xC788;&amp;#xC5B4;, &amp;#xC801;&amp;#xC6A9; &amp;#xB300;&amp;#xC0C1;&amp;#xC5D0; null&amp;#xC774; &amp;#xB4E4;&amp;#xC5B4;&amp;#xC788;&amp;#xC744; &amp;#xACBD;&amp;#xC6B0; NullPointerException&amp;#xC744; &amp;#xBC1C;&amp;#xC0DD;&amp;#xC2DC;&amp;#xD0B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;java&quot; class=&quot;language-java&quot;&gt;&lt;span class=&quot;token class-name&quot;&gt;Comparator&lt;/span&gt;&lt;span class=&quot;token generics&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;Integer&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt; naturalOrder &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;i&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; j&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;-&amp;gt;&lt;/span&gt; i &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt; j &lt;span class=&quot;token operator&quot;&gt;?&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;i &lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt; j &lt;span class=&quot;token operator&quot;&gt;?&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;/pre&gt;&lt;p&gt;&amp;#xB610;, &amp;#xBC15;&amp;#xC2F1;&amp;#xB41C; &amp;#xAE30;&amp;#xBCF8;&amp;#xD0C0;&amp;#xC785;&amp;#xC744; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD558;&amp;#xB294; &amp;#xAC83;&amp;#xC740; &amp;#xAC1D;&amp;#xCCB4;&amp;#xB97C; &amp;#xC0DD;&amp;#xC131;&amp;#xD558;&amp;#xB294; &amp;#xAC83;&amp;#xC774;&amp;#xAE30;&amp;#xC5D0; &amp;#xC774;&amp;#xC5D0;&amp;#xC758;&amp;#xD55C; &amp;#xC5F0;&amp;#xC0B0;&amp;#xC801; &amp;#xCE21;&amp;#xBA74;&amp;#xC5D0;&amp;#xC11C;&amp;#xC758; &amp;#xC624;&amp;#xB958;&amp;#xB97C; &amp;#xBC94;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;#xCC38;&amp;#xACE0;&amp;#xB85C;, Java9 &amp;#xBC84;&amp;#xC804;&amp;#xBD80;&amp;#xD130;&amp;#xB294; &amp;#xBC15;&amp;#xC2F1;&amp;#xB41C; &amp;#xAE30;&amp;#xBCF8;&amp;#xD0C0;&amp;#xC785;&amp;#xC744; &amp;#xC0DD;&amp;#xC131;&amp;#xC790;&amp;#xB97C; &amp;#xD1B5;&amp;#xD574; &amp;#xC0DD;&amp;#xC131;&amp;#xD558;&amp;#xB294; &amp;#xAC83;&amp;#xC744; &amp;#xB9C9;&amp;#xACE0; &amp;#xC788;&amp;#xAE30; &amp;#xB54C;&amp;#xBB38;&amp;#xC5D0;&lt;br&gt;
&amp;#xB3D9;&amp;#xC77C;&amp;#xD55C; &amp;#xC218;&amp;#xB97C; &amp;#xB2F4;&amp;#xACE0; &amp;#xC788;&amp;#xB294; &amp;#xB450; &amp;#xC22B;&amp;#xC790; &amp;#xAC1D;&amp;#xCCB4;&amp;#xC758; &amp;#xBE44;&amp;#xAD50;&amp;#xC5D0; &amp;#xB300;&amp;#xD55C; &amp;#xC608;&amp;#xC0C1;&amp;#xCE58; &amp;#xBABB;&amp;#xD55C; &amp;#xBD80;&amp;#xC791;&amp;#xC6A9;&amp;#xC740; &amp;#xD574;&amp;#xC18C;&amp;#xB418;&amp;#xC5C8;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;java&quot; class=&quot;language-java&quot;&gt;&lt;span class=&quot;token annotation punctuation&quot;&gt;@Deprecated&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;since&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;9&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; forRemoval &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token boolean&quot;&gt;true&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token keyword keyword-public&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;Integer&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token keyword keyword-int&quot;&gt;int&lt;/span&gt; value&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-this&quot;&gt;this&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;value &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; value&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;hr&gt;
&lt;h2 class=&quot;mume-header&quot; id=&quot;63-%EB%AC%B8%EC%9E%90%EC%97%B4-%ED%95%A9%EC%84%B1%EC%9D%B4-%EB%B9%88%EB%B2%88%ED%95%A0-%EA%B2%BD%EC%9A%B0-stringbuilder%EB%A5%BC-%EC%82%AC%EC%9A%A9%ED%95%98%EC%9E%90&quot;&gt;63. &amp;#xBB38;&amp;#xC790;&amp;#xC5F4; &amp;#xD569;&amp;#xC131;&amp;#xC774; &amp;#xBE48;&amp;#xBC88;&amp;#xD560; &amp;#xACBD;&amp;#xC6B0; StringBuilder&amp;#xB97C; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD558;&amp;#xC790;&lt;/h2&gt;

&lt;p&gt;&amp;#xC5EC;&amp;#xB7EC;&amp;#xAC1C;&amp;#xC758; &amp;#xBB38;&amp;#xC790;&amp;#xC5F4;&amp;#xC744; &amp;#xD569;&amp;#xCE58;&amp;#xB294; &amp;#xAC83;&amp;#xC740; &lt;code&gt;+&lt;/code&gt; &amp;#xC5F0;&amp;#xC0B0;&amp;#xC790;&amp;#xB97C; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD558;&amp;#xB294; &amp;#xAC83;&amp;#xC73C;&amp;#xB85C;&amp;#xB3C4; &amp;#xC190;&amp;#xC27D;&amp;#xAC8C; &amp;#xAC00;&amp;#xB2A5;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;java&quot; class=&quot;language-java&quot;&gt;&lt;span class=&quot;token class-name&quot;&gt;String&lt;/span&gt; s1 &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;apple&amp;quot;&lt;/span&gt;
&lt;span class=&quot;token class-name&quot;&gt;String&lt;/span&gt; s2 &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;tree&amp;quot;&lt;/span&gt;
&lt;span class=&quot;token class-name&quot;&gt;String&lt;/span&gt; result &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; s1 &lt;span class=&quot;token operator&quot;&gt;+&lt;/span&gt; s2&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;/pre&gt;&lt;p&gt;&amp;#xB2E4;&amp;#xB9CC;, &amp;#xBB38;&amp;#xC790;&amp;#xC5F4;&amp;#xC744; &lt;code&gt;+&lt;/code&gt; &amp;#xC5F0;&amp;#xC0B0;&amp;#xC790;&amp;#xB85C; &amp;#xC787;&amp;#xB294; &amp;#xD589;&amp;#xC704;&amp;#xB294; &amp;#xC131;&amp;#xB2A5;&amp;#xC774; &amp;#xC88B;&amp;#xC9C0; &amp;#xC54A;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
n&amp;#xAC1C;&amp;#xC758; &amp;#xBB38;&amp;#xC790;&amp;#xC5F4;&amp;#xC744; &lt;code&gt;+&lt;/code&gt; &amp;#xC5F0;&amp;#xC0B0;&amp;#xC790;&amp;#xB85C; &amp;#xC5F0;&amp;#xACB0;&amp;#xD558;&amp;#xB294;&amp;#xB370;&amp;#xC5D0; &amp;#xB4DC;&amp;#xB294; &amp;#xC2DC;&amp;#xAC04;&amp;#xBCF5;&amp;#xC7A1;&amp;#xB3C4;&amp;#xB294; &lt;span class=&quot;katex&quot;&gt;&lt;span class=&quot;katex-mathml&quot;&gt;&lt;math xmlns=&quot;http://www.w3.org/1998/Math/MathML&quot;&gt;&lt;semantics&gt;&lt;mrow&gt;&lt;mi&gt;O&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;msup&gt;&lt;mi&gt;n&lt;/mi&gt;&lt;mn&gt;2&lt;/mn&gt;&lt;/msup&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;annotation encoding=&quot;application/x-tex&quot;&gt;O(n^2)&lt;/annotation&gt;&lt;/semantics&gt;&lt;/math&gt;&lt;/span&gt;&lt;span class=&quot;katex-html&quot; aria-hidden=&quot;true&quot;&gt;&lt;span class=&quot;base&quot;&gt;&lt;span class=&quot;strut&quot; style=&quot;height:1.0641em;vertical-align:-0.25em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord mathnormal&quot; style=&quot;margin-right:0.02778em;&quot;&gt;O&lt;/span&gt;&lt;span class=&quot;mopen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mord&quot;&gt;&lt;span class=&quot;mord mathnormal&quot;&gt;n&lt;/span&gt;&lt;span class=&quot;msupsub&quot;&gt;&lt;span class=&quot;vlist-t&quot;&gt;&lt;span class=&quot;vlist-r&quot;&gt;&lt;span class=&quot;vlist&quot; style=&quot;height:0.8141em;&quot;&gt;&lt;span style=&quot;top:-3.063em;margin-right:0.05em;&quot;&gt;&lt;span class=&quot;pstrut&quot; style=&quot;height:2.7em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;sizing reset-size6 size3 mtight&quot;&gt;&lt;span class=&quot;mord mtight&quot;&gt;2&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;mclose&quot;&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; &amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xBB38;&amp;#xC790;&amp;#xC5F4;&amp;#xC740; &amp;#xBD88;&amp;#xBCC0;&amp;#xAC1D;&amp;#xCCB4; &amp;#xC77C;&amp;#xC885;&amp;#xC774;&amp;#xAE30; &amp;#xB54C;&amp;#xBB38;&amp;#xC5D0; &amp;#xC787;&amp;#xB294; &amp;#xC5F0;&amp;#xC0B0;&amp;#xC774; &amp;#xBC1C;&amp;#xC0DD;&amp;#xD560; &amp;#xB54C;&amp;#xB9C8;&amp;#xB2E4; &amp;#xB9E4;&amp;#xBC88; &amp;#xC0C8;&amp;#xB85C;&amp;#xC6B4; &amp;#xAC1D;&amp;#xCCB4;&amp;#xC5D0; &amp;#xBCF5;&amp;#xC0AC;&amp;#xD558;&amp;#xB294; &amp;#xD589;&amp;#xC704;&amp;#xB97C; &amp;#xD558;&amp;#xAE30; &amp;#xB54C;&amp;#xBB38;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xADF8;&amp;#xB807;&amp;#xAE30; &amp;#xB54C;&amp;#xBB38;&amp;#xC5D0;, &amp;#xC774;&amp;#xC5B4;&amp;#xC57C;&amp;#xD558;&amp;#xB294; &amp;#xD56D;&amp;#xBAA9;&amp;#xC774; &amp;#xB9CE;&amp;#xC744; &amp;#xACBD;&amp;#xC6B0;&amp;#xB77C;&amp;#xBA74; &lt;strong&gt;StringBuilder&lt;/strong&gt; &amp;#xB97C; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD558;&amp;#xB294; &amp;#xAC83;&amp;#xC774; &amp;#xC88B;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;java&quot; class=&quot;language-java&quot;&gt;&lt;span class=&quot;token keyword keyword-static&quot;&gt;static&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;String&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;ex01&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;List&lt;/span&gt;&lt;span class=&quot;token generics&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;String&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt; list&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token class-name&quot;&gt;StringBuilder&lt;/span&gt; builder &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token keyword keyword-new&quot;&gt;new&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;StringBuilder&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-for&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;String&lt;/span&gt; s &lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; list&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
		builder&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;append&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;s&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
	&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-return&quot;&gt;return&lt;/span&gt; builder&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;toString&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;hr&gt;
&lt;h2 class=&quot;mume-header&quot; id=&quot;67-%EC%B5%9C%EC%A0%81%ED%99%94%EB%8A%94-%EC%8B%A0%EC%A4%91%ED%9E%88-%ED%95%98%EB%9D%BC&quot;&gt;67. &amp;#xCD5C;&amp;#xC801;&amp;#xD654;&amp;#xB294; &amp;#xC2E0;&amp;#xC911;&amp;#xD788; &amp;#xD558;&amp;#xB77C;&lt;/h2&gt;

&lt;p&gt;&amp;#xC131;&amp;#xB2A5;&amp;#xB54C;&amp;#xBB38;&amp;#xC5D0; &amp;#xACAC;&amp;#xACE0;&amp;#xD55C; &amp;#xAD6C;&amp;#xC870;&amp;#xB97C; &amp;#xD76C;&amp;#xC0DD;&amp;#xD574;&amp;#xC11C;&amp;#xB294; &amp;#xC548;&amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xBE60;&amp;#xB978; &amp;#xD504;&amp;#xB85C;&amp;#xADF8;&amp;#xB7A8;&amp;#xBCF4;&amp;#xB2E4;&amp;#xB294; &amp;#xC88B;&amp;#xC740; &amp;#xD504;&amp;#xB85C;&amp;#xADF8;&amp;#xB7A8;&amp;#xC744; &amp;#xC791;&amp;#xC131;&amp;#xD558;&amp;#xB294; &amp;#xAC83;&amp;#xC774; &amp;#xB354; &amp;#xC88B;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xC88B;&amp;#xC740; &amp;#xD504;&amp;#xB85C;&amp;#xADF8;&amp;#xB7A8;&amp;#xC774;&amp;#xC9C0;&amp;#xB9CC; &amp;#xC6D0;&amp;#xD558;&amp;#xB294; &amp;#xC131;&amp;#xB2A5;&amp;#xC774; &amp;#xB098;&amp;#xC624;&amp;#xC9C0; &amp;#xC54A;&amp;#xB294;&amp;#xB2E4;&amp;#xBA74;, &amp;#xC544;&amp;#xD0A4;&amp;#xD14D;&amp;#xCC98; &amp;#xC790;&amp;#xCCB4;&amp;#xAC00; &amp;#xCD5C;&amp;#xC801;&amp;#xD654;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xB294; &amp;#xAE38;&amp;#xC744; &amp;#xC548;&amp;#xB0B4;&amp;#xD574;&amp;#xC904; &amp;#xAC83;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xC88B;&amp;#xC740; &amp;#xD504;&amp;#xB85C;&amp;#xADF8;&amp;#xB7A8;&amp;#xC740; &amp;#xC815;&amp;#xBCF4; &amp;#xC740;&amp;#xB2C9; &amp;#xC6D0;&amp;#xCE59;&amp;#xC744; &amp;#xB530;&amp;#xB974;&amp;#xACE0;, &amp;#xADF8;&amp;#xB807;&amp;#xAE30; &amp;#xB584;&amp;#xBB38;&amp;#xC5D0; &amp;#xAC1C;&amp;#xBCC4; &amp;#xAD6C;&amp;#xC131;&amp;#xC694;&amp;#xC18C;&amp;#xB97C; &amp;#xAC01;&amp;#xAC01; &amp;#xB3C5;&amp;#xB9BD;&amp;#xC801;&amp;#xC73C;&amp;#xB85C; &amp;#xC124;&amp;#xACC4;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xAC8C; &amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xB530;&amp;#xB77C;&amp;#xC11C; &amp;#xC2DC;&amp;#xC2A4;&amp;#xD15C;&amp;#xC758; &amp;#xB098;&amp;#xBA38;&amp;#xC9C0;&amp;#xC5D0; &amp;#xC601;&amp;#xD5A5;&amp;#xC744; &amp;#xC8FC;&amp;#xC9C0; &amp;#xC54A;&amp;#xACE0;&amp;#xB3C4; &amp;#xAC01; &amp;#xC694;&amp;#xC18C;&amp;#xB97C; &amp;#xB2E4;&amp;#xC2DC; &amp;#xC124;&amp;#xACC4;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xAC8C; &amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&lt;br&gt;&lt;/p&gt;
&lt;p&gt;&amp;#xC18D;&amp;#xB3C4;&amp;#xC801; &amp;#xCD5C;&amp;#xC801;&amp;#xD654; &amp;#xBB38;&amp;#xC81C;&amp;#xB294; &amp;#xCD94;&amp;#xD6C4; &amp;#xC5BC;&amp;#xB9C8;&amp;#xB4E0;&amp;#xC9C0; &amp;#xD574;&amp;#xACB0;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xB294; &amp;#xBB38;&amp;#xC81C;&amp;#xC774;&amp;#xC9C0;&amp;#xB9CC;&lt;br&gt;
&amp;#xC544;&amp;#xD0A4;&amp;#xD14D;&amp;#xCCD0;&amp;#xC801; &amp;#xACB0;&amp;#xD568;&amp;#xC740; &amp;#xC2DC;&amp;#xC2A4;&amp;#xD15C; &amp;#xC804;&amp;#xCCB4;&amp;#xB97C; &amp;#xC7AC;&amp;#xC791;&amp;#xC131;&amp;#xD558;&amp;#xC9C0; &amp;#xC54A;&amp;#xACE0;&amp;#xC11C;&amp;#xB294; &amp;#xD574;&amp;#xACB0;&amp;#xD558;&amp;#xAE30; &amp;#xC5B4;&amp;#xB824;&amp;#xC6B4; &amp;#xC0C1;&amp;#xD669;&amp;#xC774; &amp;#xB9CE;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&lt;strong&gt;&amp;#xC131;&amp;#xB2A5;&amp;#xC744; &amp;#xC81C;&amp;#xD55C;&amp;#xD558;&amp;#xB294; &amp;#xC124;&amp;#xACC4;&amp;#xB294; &amp;#xD53C;&amp;#xD574;&amp;#xC57C;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&amp;#xC678;&amp;#xBD80; &amp;#xC2DC;&amp;#xC2A4;&amp;#xD15C;&amp;#xACFC; &amp;#xC18C;&amp;#xD1B5;&amp;#xD558;&amp;#xB294; &amp;#xBC29;&amp;#xC2DD;&amp;#xC740; &amp;#xCD94;&amp;#xD6C4; &amp;#xBCC0;&amp;#xACBD;&amp;#xD558;&amp;#xAE30;&amp;#xAC00; &amp;#xC5B4;&amp;#xB835;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xB530;&amp;#xB77C;&amp;#xC11C; &amp;#xCD08;&amp;#xBC18;&amp;#xC5D0; &amp;#xC124;&amp;#xACC4;&amp;#xD558;&amp;#xB294; &amp;#xB2E8;&amp;#xACC4;&amp;#xC5D0;&amp;#xC11C; &amp;#xC774; &amp;#xBD80;&amp;#xBD84;&amp;#xC744; &amp;#xC720;&amp;#xC758;&amp;#xD558;&amp;#xC5EC; &amp;#xC124;&amp;#xACC4;&amp;#xD574;&amp;#xC57C;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;

  &lt;/div&gt;&lt;/div&gt;</description>
      <category>Java/Effective Java</category>
      <category>effectivejava</category>
      <author>jiniya22</author>
      <guid isPermaLink="true">https://jini-box.tistory.com/244</guid>
      <comments>https://jini-box.tistory.com/244#entry244comment</comments>
      <pubDate>Sun, 19 May 2024 21:28:25 +0900</pubDate>
    </item>
    <item>
      <title>[Effective Java] Item18. 상속보다는 컴포지션을 사용하라</title>
      <link>https://jini-box.tistory.com/243</link>
      <description>&lt;div id=&quot;html-export&quot;&gt;
      &lt;div class=&quot;mume markdown-preview  &quot;&gt;
      &lt;p&gt;(&amp;#xAD6C;&amp;#xCCB4; &amp;#xD074;&amp;#xB798;&amp;#xC2A4;&amp;#xB97C; &amp;#xD655;&amp;#xC7A5;&amp;#xD558;&amp;#xB294;) &amp;#xC0C1;&amp;#xC18D;&amp;#xC740; &amp;#xCEA1;&amp;#xC290;&amp;#xD654;&amp;#xB97C; &amp;#xAE68;&amp;#xB728;&amp;#xB9AC;&amp;#xB294; &amp;#xD2B9;&amp;#xC131;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&amp;#xC0C1;&amp;#xC704; &amp;#xD074;&amp;#xB798;&amp;#xC2A4;&amp;#xC758; &amp;#xC0C8;&amp;#xB85C;&amp;#xC6B4; &amp;#xB9B4;&amp;#xB9AC;&amp;#xC988;&amp;#xB85C; &amp;#xB0B4;&amp;#xBD80; &amp;#xAD6C;&amp;#xD604;&amp;#xC758; &amp;#xBCC0;&amp;#xACBD;&amp;#xC774; &amp;#xC0DD;&amp;#xACBC;&amp;#xC744; &amp;#xB54C;,
&lt;ul&gt;
&lt;li&gt;&amp;#xADF8;&amp;#xB97C; &amp;#xAD6C;&amp;#xD604;&amp;#xD55C; &amp;#xCEE4;&amp;#xC2A4;&amp;#xD140; &amp;#xAD6C;&amp;#xD604; &amp;#xD074;&amp;#xB798;&amp;#xC2A4;&amp;#xC5D0;&amp;#xC11C; &amp;#xC608;&amp;#xAE30;&amp;#xCE58; &amp;#xBABB;&amp;#xD558;&amp;#xB294; &amp;#xC624;&amp;#xB3D9;&amp;#xC791;&amp;#xC744; &amp;#xB9CC;&amp;#xB0A0; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&amp;#xC0C1;&amp;#xC704; &amp;#xD074;&amp;#xB798;&amp;#xC2A4;&amp;#xC5D0;&amp;#xC11C; &amp;#xC0C8;&amp;#xB85C;&amp;#xC6B4; &amp;#xBA54;&amp;#xC11C;&amp;#xB4DC;&amp;#xB97C; &amp;#xCD94;&amp;#xAC00;&amp;#xD588;&amp;#xC744; &amp;#xB54C;,
&lt;ul&gt;
&lt;li&gt;&amp;#xAE30;&amp;#xC874;&amp;#xC5D0; &amp;#xD2B9;&amp;#xC815; validation &amp;#xC870;&amp;#xAC74;&amp;#xC744; &amp;#xB9CC;&amp;#xC871;&amp;#xD574;&amp;#xC57C;&amp;#xB9CC; &amp;#xAC12;&amp;#xC744; &amp;#xCD94;&amp;#xAC00;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xB294; &amp;#xAD6C;&amp;#xD604; &amp;#xD074;&amp;#xB798;&amp;#xC2A4;&amp;#xAC00; &amp;#xC788;&amp;#xC5C8;&amp;#xB2E4;&amp;#xACE0; &amp;#xD560; &amp;#xB54C;, &amp;#xC0C1;&amp;#xC704; &amp;#xD074;&amp;#xB798;&amp;#xC2A4;&amp;#xC758; &amp;#xC0C8;&amp;#xB85C;&amp;#xC6B4; &amp;#xB9B4;&amp;#xB9AC;&amp;#xC988; &amp;#xBC84;&amp;#xC804;&amp;#xC5D0;&amp;#xC11C; &amp;#xCD94;&amp;#xAC00;&amp;#xB41C; &amp;#xBA54;&amp;#xC11C;&amp;#xB4DC;&amp;#xAC00; validation &amp;#xCCB4;&amp;#xD06C; &amp;#xC5C6;&amp;#xC774; &amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xB97C; &amp;#xB123;&amp;#xC744; &amp;#xC218; &amp;#xC788;&amp;#xB294; &amp;#xC6B0;&amp;#xB824;&amp;#xB3C4; &amp;#xBC1C;&amp;#xC0DD;&amp;#xB420; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/li&gt;
&lt;li&gt;&amp;#xAE30;&amp;#xC874;&amp;#xC5D0; &amp;#xC774;&amp;#xC6A9;&amp;#xD558;&amp;#xACE0; &amp;#xC788;&amp;#xB358; &amp;#xCEE4;&amp;#xC2A4;&amp;#xD140; &amp;#xAD6C;&amp;#xD604; &amp;#xD074;&amp;#xB798;&amp;#xC2A4;&amp;#xC5D0;&amp;#xC11C; &amp;#xADF8; &amp;#xBA54;&amp;#xC11C;&amp;#xB4DC;&amp;#xC640; &amp;#xB611;&amp;#xAC19;&amp;#xC740; &amp;#xC2DC;&amp;#xADF8;&amp;#xB2C8;&amp;#xCCD0;&amp;#xB97C; &amp;#xAC00;&amp;#xC9C4; &amp;#xBA54;&amp;#xC11C;&amp;#xB4DC;&amp;#xB97C; &amp;#xBCF4;&amp;#xC720;&amp;#xD558;&amp;#xACE0; &amp;#xC788;&amp;#xC744; &amp;#xACBD;&amp;#xC6B0; &amp;#xAE30;&amp;#xC874;&amp;#xC5D0; &amp;#xC798; &amp;#xB418;&amp;#xB358; &amp;#xB3D9;&amp;#xC791;&amp;#xB3C4; &amp;#xB418;&amp;#xC9C0; &amp;#xC54A;&amp;#xC744; &amp;#xC218; &amp;#xC788;&amp;#xACE0;, &amp;#xB514;&amp;#xBC84;&amp;#xAE45;&amp;#xB3C4; &amp;#xAE4C;&amp;#xB2E4;&amp;#xB86D;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h3 class=&quot;mume-header&quot; id=&quot;1-%EC%83%81%EC%86%8D%EC%9D%98-%EB%AC%B8%EC%A0%9C%EC%A0%90&quot;&gt;1. &amp;#xC0C1;&amp;#xC18D;&amp;#xC758; &amp;#xBB38;&amp;#xC81C;&amp;#xC810;&lt;/h3&gt;

&lt;p&gt;&amp;#xC0C1;&amp;#xC18D;&amp;#xC758; &amp;#xBB38;&amp;#xC81C;&amp;#xC810;&amp;#xC5D0; &amp;#xB300;&amp;#xD574; &amp;#xC54C;&amp;#xC544; &amp;#xBCFC; &amp;#xC218; &amp;#xC788;&amp;#xB294; &amp;#xC608;&amp;#xC81C;&amp;#xB97C; &amp;#xD655;&amp;#xC778;&amp;#xD574;&amp;#xBD05;&amp;#xC2DC;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xC544;&amp;#xB798; &amp;#xCF54;&amp;#xB4DC;&amp;#xB294;&lt;br&gt;
HashSet&amp;#xC758; add, addAll &amp;#xD568;&amp;#xC218;&amp;#xB97C; &amp;#xD1B5;&amp;#xD574; &amp;#xCD94;&amp;#xAC00;&amp;#xB41C; &amp;#xC694;&amp;#xC18C;&amp;#xC758; &amp;#xC218;&amp;#xB97C; &amp;#xAD6C;&amp;#xD558;&amp;#xACE0;&amp;#xC790; addCount &amp;#xB77C;&amp;#xB294; &amp;#xD544;&amp;#xB4DC;&amp;#xAC12;&amp;#xC758; &amp;#xCD94;&amp;#xAC00;&amp;#xD558;&amp;#xC5EC; &amp;#xAE30;&amp;#xB2A5;&amp;#xC744; &amp;#xC218;&amp;#xD589;&amp;#xD558;&amp;#xB294; &amp;#xCF54;&amp;#xB4DC; &amp;#xC608;&amp;#xC81C; &amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;java&quot; class=&quot;language-java&quot;&gt;&lt;span class=&quot;token annotation punctuation&quot;&gt;@Getter&lt;/span&gt;
&lt;span class=&quot;token keyword keyword-public&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;token keyword keyword-class&quot;&gt;class&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;InstrumentedHashSet&lt;/span&gt;&lt;span class=&quot;token generics&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;E&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;token keyword keyword-extends&quot;&gt;extends&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;HashSet&lt;/span&gt;&lt;span class=&quot;token generics&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;E&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;token keyword keyword-private&quot;&gt;private&lt;/span&gt; &lt;span class=&quot;token keyword keyword-int&quot;&gt;int&lt;/span&gt; addCount &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

    &lt;span class=&quot;token keyword keyword-public&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;InstrumentedHashSet&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
    &lt;span class=&quot;token keyword keyword-public&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;InstrumentedHashSet&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token keyword keyword-int&quot;&gt;int&lt;/span&gt; initialCapacity&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token keyword keyword-float&quot;&gt;float&lt;/span&gt; loadFactor&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
        &lt;span class=&quot;token keyword keyword-super&quot;&gt;super&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;initialCapacity&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; loadFactor&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

    &lt;span class=&quot;token annotation punctuation&quot;&gt;@Override&lt;/span&gt;
    &lt;span class=&quot;token keyword keyword-public&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;token keyword keyword-boolean&quot;&gt;boolean&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;add&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;E&lt;/span&gt; e&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
        addCount&lt;span class=&quot;token operator&quot;&gt;++&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
        &lt;span class=&quot;token keyword keyword-return&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;token keyword keyword-super&quot;&gt;super&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;add&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;e&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

    &lt;span class=&quot;token annotation punctuation&quot;&gt;@Override&lt;/span&gt;
    &lt;span class=&quot;token keyword keyword-public&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;token keyword keyword-boolean&quot;&gt;boolean&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;addAll&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;Collection&lt;/span&gt;&lt;span class=&quot;token generics&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;?&lt;/span&gt; &lt;span class=&quot;token keyword keyword-extends&quot;&gt;extends&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;E&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt; c&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
        addCount &lt;span class=&quot;token operator&quot;&gt;+=&lt;/span&gt; c&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;size&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
        &lt;span class=&quot;token keyword keyword-return&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;token keyword keyword-super&quot;&gt;super&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;addAll&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;c&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;br&gt;
&lt;p&gt;add&amp;#xB098; addAll&amp;#xD568;&amp;#xC218;&amp;#xB97C; &amp;#xD638;&amp;#xCD9C;&amp;#xD55C; &amp;#xD69F;&amp;#xC218;&amp;#xB97C; &amp;#xCD9C;&amp;#xB825;&amp;#xD558;&amp;#xACE0;&amp;#xC790;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xC544;&amp;#xB798;&amp;#xC758; &amp;#xC2E4;&amp;#xD589;&amp;#xCF54;&amp;#xB4DC;&amp;#xC5D0;&amp;#xC11C; &amp;#xC6B0;&amp;#xB9AC;&amp;#xAC00; &amp;#xC6D0;&amp;#xD558;&amp;#xB294; &amp;#xACB0;&amp;#xACFC;&amp;#xAC12;&amp;#xC740; 4&amp;#xC774;&amp;#xC9C0;&amp;#xB9CC; &amp;#xB180;&amp;#xB78D;&amp;#xAC8C;&amp;#xB3C4; 7&amp;#xC774; &amp;#xCD9C;&amp;#xB825;&amp;#xB418;&amp;#xB294;&amp;#xAC83;&amp;#xC744; &amp;#xD655;&amp;#xC778;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;java&quot; class=&quot;language-java&quot;&gt;&lt;span class=&quot;token keyword keyword-static&quot;&gt;static&lt;/span&gt; &lt;span class=&quot;token keyword keyword-void&quot;&gt;void&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;ex1&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;token class-name&quot;&gt;InstrumentedHashSet&lt;/span&gt;&lt;span class=&quot;token generics&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;Integer&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt; s &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token keyword keyword-new&quot;&gt;new&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;InstrumentedHashSet&lt;/span&gt;&lt;span class=&quot;token generics&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
    s&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;add&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;3&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
    s&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;addAll&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;List&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;of&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;5&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;6&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;8&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;token class-name&quot;&gt;System&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;out&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;s&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;getAddCount&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;&lt;span class=&quot;token number&quot;&gt;7&lt;/span&gt;
&lt;/pre&gt;&lt;br&gt;
&lt;p&gt;&amp;#xC774;&amp;#xB294;, HashSet&amp;#xC5D0;&amp;#xC11C; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD558;&amp;#xACE0; &amp;#xC788;&amp;#xB294; addAll&amp;#xD568;&amp;#xC218; &amp;#xB0B4;&amp;#xC5D0;&amp;#xC11C; add&amp;#xD568;&amp;#xC218;&amp;#xB97C; &amp;#xD638;&amp;#xCD9C;&amp;#xD558;&amp;#xAE30; &amp;#xB54C;&amp;#xBB38;&amp;#xC5D0; &amp;#xBC1C;&amp;#xC0DD;&amp;#xB41C; &amp;#xBB38;&amp;#xC81C;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xADF8; &amp;#xB54C;&amp;#xBB38;&amp;#xC5D0;,&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;java&quot; class=&quot;language-java&quot;&gt;&lt;span class=&quot;token keyword keyword-public&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;token keyword keyword-boolean&quot;&gt;boolean&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;addAll&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;Collection&lt;/span&gt;&lt;span class=&quot;token generics&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;?&lt;/span&gt; &lt;span class=&quot;token keyword keyword-extends&quot;&gt;extends&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;E&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt; c&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;token keyword keyword-boolean&quot;&gt;boolean&lt;/span&gt; modified &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token boolean&quot;&gt;false&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;token keyword keyword-for&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;E&lt;/span&gt; e &lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; c&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
        &lt;span class=&quot;token keyword keyword-if&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;add&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;e&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
            modified &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token boolean&quot;&gt;true&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;token keyword keyword-return&quot;&gt;return&lt;/span&gt; modified&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;p&gt;&amp;#xC6B0;&amp;#xB9AC;&amp;#xAC00; &amp;#xC0C8;&amp;#xB85C; &amp;#xCD94;&amp;#xAC00;&amp;#xD55C; addCount&amp;#xB77C;&amp;#xB294; &amp;#xD544;&amp;#xB4DC;&amp;#xAC12;&amp;#xC740; &amp;#xAE30;&amp;#xC874;&amp;#xC5D0; Set, HashSet &amp;#xCEEC;&amp;#xB809;&amp;#xC158;&amp;#xC5D0;&amp;#xC11C; &amp;#xC694;&amp;#xAD6C;&amp;#xD558;&amp;#xB294; &amp;#xAD6C;&amp;#xC870;&amp;#xC640; &amp;#xBC97;&amp;#xC5B4;&amp;#xB0AC;&amp;#xAE30; &amp;#xB54C;&amp;#xBB38;&amp;#xC5D0; &amp;#xBC1C;&amp;#xC0DD;&amp;#xB41C; &amp;#xBB38;&amp;#xC81C;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xAE30;&amp;#xC874;&amp;#xC5D0; &amp;#xC81C;&amp;#xACF5;&amp;#xB418;&amp;#xACE0; &amp;#xC788;&amp;#xB294; &amp;#xB77C;&amp;#xC774;&amp;#xBE0C;&amp;#xB7EC;&amp;#xB9AC;&amp;#xB97C; &amp;#xD65C;&amp;#xC6A9;&amp;#xD558;&amp;#xBA74;&amp;#xC11C;, &amp;#xAE30;&amp;#xB2A5;&amp;#xC744; &amp;#xD655;&amp;#xC7A5;&amp;#xD558;&amp;#xACE0; &amp;#xC2F6;&amp;#xB2E4;&amp;#xBA74;&lt;br&gt;
&amp;#xC0C1;&amp;#xC18D;&amp;#xC744; &amp;#xD1B5;&amp;#xD55C; &amp;#xAE30;&amp;#xB2A5; &amp;#xD655;&amp;#xC7A5;&amp;#xBCF4;&amp;#xB2E4;&amp;#xB294;, &amp;#xAE30;&amp;#xC874; &amp;#xD074;&amp;#xB798;&amp;#xC2A4;&amp;#xC758; &amp;#xAD6C;&amp;#xC131;&amp;#xC694;&amp;#xC18C;&amp;#xB97C; &lt;strong&gt;&amp;#xC0C8;&amp;#xB85C;&amp;#xC6B4; &amp;#xD074;&amp;#xB798;&amp;#xC2A4;&amp;#xC758; &amp;#xAD6C;&amp;#xC131;&amp;#xC694;&amp;#xC18C;&amp;#xB85C; &amp;#xC0AC;&amp;#xC6A9;&amp;#xB418;&amp;#xB294;&lt;/strong&gt; &lt;mark&gt;Composition(&amp;#xAD6C;&amp;#xC131;)&lt;/mark&gt; &amp;#xBC29;&amp;#xC2DD;&amp;#xC744; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD558;&amp;#xB294; &amp;#xAC83;&amp;#xC774; &amp;#xC88B;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;br&gt;
&lt;h3 class=&quot;mume-header&quot; id=&quot;2-%EC%BB%B4%ED%8F%AC%EC%A7%80%EC%85%98%EC%9D%84-%EC%82%AC%EC%9A%A9%ED%95%9C-%EC%98%88%EC%A0%9C&quot;&gt;2. &amp;#xCEF4;&amp;#xD3EC;&amp;#xC9C0;&amp;#xC158;&amp;#xC744; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD55C; &amp;#xC608;&amp;#xC81C;&lt;/h3&gt;

&lt;p&gt;Set&amp;#xC744; &amp;#xD544;&amp;#xB4DC;&amp;#xB85C; &amp;#xAC16;&amp;#xACE0;, Set&amp;#xC73C; &amp;#xAE30;&amp;#xB2A5;&amp;#xC744; &amp;#xADF8;&amp;#xB300;&amp;#xB85C; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD558;&amp;#xB294; &amp;#xC804;&amp;#xB2EC;&amp;#xC6A9; &amp;#xD074;&amp;#xB798;&amp;#xC2A4;&amp;#xB97C; &amp;#xD558;&amp;#xB098; &amp;#xB9CC;&amp;#xB4ED;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xB0B4;&amp;#xBD80;&amp;#xC5D0; &amp;#xAC16;&amp;#xACE0; &amp;#xC788;&amp;#xB294; &amp;#xBAA8;&amp;#xB4E0; &amp;#xBA54;&amp;#xC11C;&amp;#xB4DC;&amp;#xB294; Set&amp;#xC5D0; &amp;#xC815;&amp;#xC758;&amp;#xB41C; &amp;#xD568;&amp;#xC218;&amp;#xB97C; &amp;#xADF8;&amp;#xB300;&amp;#xB85C; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;java&quot; class=&quot;language-java&quot;&gt;&lt;span class=&quot;token keyword keyword-package&quot;&gt;package&lt;/span&gt; &lt;span class=&quot;token namespace&quot;&gt;me&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;jiniworld&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;effectivejava&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;item18&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

&lt;span class=&quot;token keyword keyword-import&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;token namespace&quot;&gt;java&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;util&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;Collection&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token keyword keyword-import&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;token namespace&quot;&gt;java&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;util&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;Iterator&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token keyword keyword-import&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;token namespace&quot;&gt;java&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;util&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;Set&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

&lt;span class=&quot;token keyword keyword-public&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;token keyword keyword-class&quot;&gt;class&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;ForwardingSet&lt;/span&gt;&lt;span class=&quot;token generics&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;E&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;token keyword keyword-private&quot;&gt;private&lt;/span&gt; &lt;span class=&quot;token keyword keyword-final&quot;&gt;final&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;Set&lt;/span&gt;&lt;span class=&quot;token generics&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;E&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt; s&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

    &lt;span class=&quot;token keyword keyword-public&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;ForwardingSet&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;Set&lt;/span&gt;&lt;span class=&quot;token generics&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;E&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt; s&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
        &lt;span class=&quot;token keyword keyword-this&quot;&gt;this&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;s &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; s&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

    &lt;span class=&quot;token keyword keyword-public&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;token keyword keyword-void&quot;&gt;void&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;clear&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
        s&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;clear&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

    &lt;span class=&quot;token keyword keyword-public&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;token keyword keyword-boolean&quot;&gt;boolean&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;contains&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;Object&lt;/span&gt; o&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
        &lt;span class=&quot;token keyword keyword-return&quot;&gt;return&lt;/span&gt; s&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;contains&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;o&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

    &lt;span class=&quot;token keyword keyword-public&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;token keyword keyword-boolean&quot;&gt;boolean&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;isEmpty&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
        &lt;span class=&quot;token keyword keyword-return&quot;&gt;return&lt;/span&gt; s&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;isEmpty&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

    &lt;span class=&quot;token keyword keyword-public&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;token keyword keyword-int&quot;&gt;int&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;size&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
        &lt;span class=&quot;token keyword keyword-return&quot;&gt;return&lt;/span&gt; s&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;size&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

    &lt;span class=&quot;token keyword keyword-public&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;Iterator&lt;/span&gt;&lt;span class=&quot;token generics&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;E&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;iterator&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
        &lt;span class=&quot;token keyword keyword-return&quot;&gt;return&lt;/span&gt; s&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;iterator&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

    &lt;span class=&quot;token keyword keyword-public&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;token keyword keyword-boolean&quot;&gt;boolean&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;add&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;E&lt;/span&gt; e&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
        &lt;span class=&quot;token keyword keyword-return&quot;&gt;return&lt;/span&gt; s&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;add&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;e&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

    &lt;span class=&quot;token keyword keyword-public&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;token keyword keyword-boolean&quot;&gt;boolean&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;remove&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;Object&lt;/span&gt; o&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
        &lt;span class=&quot;token keyword keyword-return&quot;&gt;return&lt;/span&gt; s&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;remove&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;o&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

    &lt;span class=&quot;token keyword keyword-public&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;token keyword keyword-boolean&quot;&gt;boolean&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;containsAll&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;Collection&lt;/span&gt;&lt;span class=&quot;token generics&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;?&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt; c&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
        &lt;span class=&quot;token keyword keyword-return&quot;&gt;return&lt;/span&gt; s&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;containsAll&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;c&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

    &lt;span class=&quot;token keyword keyword-public&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;token keyword keyword-boolean&quot;&gt;boolean&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;addAll&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;Collection&lt;/span&gt;&lt;span class=&quot;token generics&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;?&lt;/span&gt; &lt;span class=&quot;token keyword keyword-extends&quot;&gt;extends&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;E&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt; c&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
        &lt;span class=&quot;token keyword keyword-return&quot;&gt;return&lt;/span&gt; s&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;addAll&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;c&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

    &lt;span class=&quot;token keyword keyword-public&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;token keyword keyword-boolean&quot;&gt;boolean&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;removeAll&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;Collection&lt;/span&gt;&lt;span class=&quot;token generics&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;?&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt; c&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
        &lt;span class=&quot;token keyword keyword-return&quot;&gt;return&lt;/span&gt; s&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;removeAll&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;c&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

    &lt;span class=&quot;token keyword keyword-public&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;token keyword keyword-boolean&quot;&gt;boolean&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;retainAll&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;Collection&lt;/span&gt;&lt;span class=&quot;token generics&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;?&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt; c&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
        &lt;span class=&quot;token keyword keyword-return&quot;&gt;return&lt;/span&gt; s&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;retainAll&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;c&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

    &lt;span class=&quot;token keyword keyword-public&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;Object&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;toArray&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
        &lt;span class=&quot;token keyword keyword-return&quot;&gt;return&lt;/span&gt; s&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;toArray&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

    &lt;span class=&quot;token keyword keyword-public&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;token generics&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;T&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;T&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;toArray&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;T&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; a&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
        &lt;span class=&quot;token keyword keyword-return&quot;&gt;return&lt;/span&gt; s&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;toArray&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;a&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

    &lt;span class=&quot;token annotation punctuation&quot;&gt;@Override&lt;/span&gt;
    &lt;span class=&quot;token keyword keyword-public&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;token keyword keyword-boolean&quot;&gt;boolean&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;equals&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;Object&lt;/span&gt; o&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
        &lt;span class=&quot;token keyword keyword-return&quot;&gt;return&lt;/span&gt; s&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;equals&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;o&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

    &lt;span class=&quot;token annotation punctuation&quot;&gt;@Override&lt;/span&gt;
    &lt;span class=&quot;token keyword keyword-public&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;token keyword keyword-int&quot;&gt;int&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;hashCode&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
        &lt;span class=&quot;token keyword keyword-return&quot;&gt;return&lt;/span&gt; s&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;hashCode&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

    &lt;span class=&quot;token annotation punctuation&quot;&gt;@Override&lt;/span&gt;
    &lt;span class=&quot;token keyword keyword-public&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;String&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;toString&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
        &lt;span class=&quot;token keyword keyword-return&quot;&gt;return&lt;/span&gt; s&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;toString&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;br&gt;
&lt;p&gt;&amp;#xADF8;&amp;#xB9AC;&amp;#xACE0; &amp;#xC704;&amp;#xC5D0;&amp;#xC11C; &amp;#xC0DD;&amp;#xC131;&amp;#xD55C; &amp;#xD3EC;&amp;#xC6CC;&amp;#xB529;&amp;#xD074;&amp;#xB798;&amp;#xC2A4;&amp;#xB97C; &amp;#xD544;&amp;#xB4DC;&amp;#xB85C; &amp;#xAC16;&amp;#xB294; &amp;#xCEF4;&amp;#xD3EC;&amp;#xC9C0;&amp;#xC158; &amp;#xD074;&amp;#xB798;&amp;#xC2A4;&amp;#xB97C; &amp;#xC0DD;&amp;#xC131;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xC5EC;&amp;#xAE30;&amp;#xC5D0;&amp;#xC11C;, addAll&amp;#xD568;&amp;#xC218;&amp;#xB294; ForwardingSet&amp;#xC5D0; &amp;#xC815;&amp;#xC758;&amp;#xD574;&amp;#xB454; addAll &amp;#xD568;&amp;#xC218;&amp;#xB97C; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD558;&amp;#xAE30; &amp;#xB54C;&amp;#xBB38;&amp;#xC5D0;, InstrumentedSet&amp;#xC5D0;&amp;#xC11C; &amp;#xC815;&amp;#xC758;&amp;#xD55C; add&amp;#xB97C; &amp;#xD638;&amp;#xCD9C;&amp;#xD558;&amp;#xC9C0; &amp;#xC54A;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;java&quot; class=&quot;language-java&quot;&gt;&lt;span class=&quot;token annotation punctuation&quot;&gt;@EqualsAndHashCode&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;callSuper &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token boolean&quot;&gt;false&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token annotation punctuation&quot;&gt;@Getter&lt;/span&gt;
&lt;span class=&quot;token keyword keyword-public&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;token keyword keyword-class&quot;&gt;class&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;InstrumentedSet&lt;/span&gt;&lt;span class=&quot;token generics&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;E&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;token keyword keyword-extends&quot;&gt;extends&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;ForwardingSet&lt;/span&gt;&lt;span class=&quot;token generics&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;E&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;token keyword keyword-private&quot;&gt;private&lt;/span&gt; &lt;span class=&quot;token keyword keyword-int&quot;&gt;int&lt;/span&gt; addCount &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;token keyword keyword-public&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;InstrumentedSet&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;Set&lt;/span&gt;&lt;span class=&quot;token generics&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;E&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt; s&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
        &lt;span class=&quot;token keyword keyword-super&quot;&gt;super&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;s&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

    &lt;span class=&quot;token annotation punctuation&quot;&gt;@Override&lt;/span&gt;
    &lt;span class=&quot;token keyword keyword-public&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;token keyword keyword-boolean&quot;&gt;boolean&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;add&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;E&lt;/span&gt; e&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
        addCount&lt;span class=&quot;token operator&quot;&gt;++&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
        &lt;span class=&quot;token keyword keyword-return&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;token keyword keyword-super&quot;&gt;super&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;add&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;e&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

    &lt;span class=&quot;token annotation punctuation&quot;&gt;@Override&lt;/span&gt;
    &lt;span class=&quot;token keyword keyword-public&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;token keyword keyword-boolean&quot;&gt;boolean&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;addAll&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;Collection&lt;/span&gt;&lt;span class=&quot;token generics&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;?&lt;/span&gt; &lt;span class=&quot;token keyword keyword-extends&quot;&gt;extends&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;E&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt; c&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
        addCount &lt;span class=&quot;token operator&quot;&gt;+=&lt;/span&gt; c&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;size&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
        &lt;span class=&quot;token keyword keyword-return&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;token keyword keyword-super&quot;&gt;super&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;addAll&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;c&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;br&gt;
&lt;p&gt;&amp;#xB530;&amp;#xB77C;&amp;#xC11C;, &amp;#xC544;&amp;#xB798;&amp;#xC758; &amp;#xC2E4;&amp;#xD589;&amp;#xACB0;&amp;#xACFC;&amp;#xB294; &amp;#xC6B0;&amp;#xB9AC;&amp;#xAC00; &amp;#xC6D0;&amp;#xD558;&amp;#xB294; &amp;#xB300;&amp;#xB85C; 4&amp;#xAC00; &amp;#xCD9C;&amp;#xB825;&amp;#xB418;&amp;#xB294; &amp;#xAC83;&amp;#xC744; &amp;#xD655;&amp;#xC778;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;java&quot; class=&quot;language-java&quot;&gt;&lt;span class=&quot;token keyword keyword-static&quot;&gt;static&lt;/span&gt; &lt;span class=&quot;token keyword keyword-void&quot;&gt;void&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;ex2&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;token class-name&quot;&gt;InstrumentedSet&lt;/span&gt;&lt;span class=&quot;token generics&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;Integer&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt; s &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token keyword keyword-new&quot;&gt;new&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;InstrumentedSet&lt;/span&gt;&lt;span class=&quot;token generics&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token keyword keyword-new&quot;&gt;new&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;HashSet&lt;/span&gt;&lt;span class=&quot;token generics&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
    s&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;add&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;3&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
    s&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;addAll&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;List&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;of&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;5&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;6&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;8&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;token class-name&quot;&gt;System&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;out&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;s&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;getAddCount&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;&lt;span class=&quot;token number&quot;&gt;4&lt;/span&gt;
&lt;/pre&gt;&lt;hr&gt;
&lt;p&gt;&amp;#xAE30;&amp;#xB2A5;&amp;#xC744; &amp;#xD655;&amp;#xC7A5;&amp;#xD558;&amp;#xACE0; &amp;#xC2F6;&amp;#xB2E4;&amp;#xBA74; &amp;#xC0C1;&amp;#xC18D;&amp;#xBCF4;&amp;#xB2E4; &amp;#xCEF4;&amp;#xD3EC;&amp;#xC9C0;&amp;#xC158; &amp;#xBC29;&amp;#xC2DD;&amp;#xC744; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD558;&amp;#xB294; &amp;#xAC83;&amp;#xC744; &amp;#xAD8C;&amp;#xC7A5;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xC0C1;&amp;#xC18D;&amp;#xC744; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD558;&amp;#xAE30; &amp;#xC804;&amp;#xC5D0; &amp;#xC544;&amp;#xB798; 2&amp;#xAC00;&amp;#xC9C0;&amp;#xB97C; &amp;#xBA3C;&amp;#xC800; &amp;#xCCB4;&amp;#xD06C;&amp;#xD574;&amp;#xC57C;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&amp;#xD655;&amp;#xC7A5;&amp;#xD558;&amp;#xACE0;&amp;#xC790; &amp;#xD558;&amp;#xB294; &amp;#xAE30;&amp;#xB2A5;&amp;#xC744; has-a &amp;#xBC29;&amp;#xC2DD;(&amp;#xCEF4;&amp;#xD3EC;&amp;#xC9C0;&amp;#xC158;)&amp;#xC73C;&amp;#xB85C; &amp;#xAD6C;&amp;#xD604;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xB294;&amp;#xC9C0; &amp;#xCCB4;&amp;#xD06C;&amp;#xD574;&amp;#xC57C; &amp;#xD558;&amp;#xACE0;&lt;/li&gt;
&lt;li&gt;&amp;#xD655;&amp;#xC7A5;&amp;#xD558;&amp;#xACE0;&amp;#xC790; &amp;#xD558;&amp;#xB294; &amp;#xD074;&amp;#xB798;&amp;#xC2A4;&amp;#xC5D0; &amp;#xB4E4;&amp;#xC5B4;&amp;#xC788;&amp;#xC788;&amp;#xB294; &amp;#xAE30;&amp;#xB2A5;&amp;#xB4E4;&amp;#xC774; &amp;#xACB0;&amp;#xD568;&amp;#xC774; &amp;#xC5C6;&amp;#xB294;&amp;#xC9C0; &amp;#xBC18;&amp;#xB4DC;&amp;#xC2DC; &amp;#xCCB4;&amp;#xD06C;&amp;#xD574;&amp;#xC57C; &amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.
&lt;ul&gt;
&lt;li&gt;&amp;#xC0C1;&amp;#xC18D;&amp;#xC744; &amp;#xD558;&amp;#xAC8C; &amp;#xB418;&amp;#xBA74;, &amp;#xC0C1;&amp;#xC704; &amp;#xD074;&amp;#xB798;&amp;#xC2A4;&amp;#xC758; &amp;#xACB0;&amp;#xD568;&amp;#xB3C4; &amp;#xADF8;&amp;#xB300;&amp;#xB85C; &amp;#xC804;&amp;#xD30C;&amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;

  &lt;/div&gt;&lt;/div&gt;</description>
      <category>Java/Effective Java</category>
      <category>effectivejava</category>
      <author>jiniya22</author>
      <guid isPermaLink="true">https://jini-box.tistory.com/243</guid>
      <comments>https://jini-box.tistory.com/243#entry243comment</comments>
      <pubDate>Sun, 17 Mar 2024 15:35:08 +0900</pubDate>
    </item>
    <item>
      <title>[Effective Java] Item17. 불변클래스를 이용하여 변경가능성을 최소화 하라</title>
      <link>https://jini-box.tistory.com/242</link>
      <description>&lt;div id=&quot;html-export&quot;&gt;
      &lt;div class=&quot;mume markdown-preview  &quot;&gt;
      &lt;p&gt;&amp;#xBD88;&amp;#xBCC0; &amp;#xD074;&amp;#xB798;&amp;#xC2A4;&amp;#xB294; &amp;#xB2E8;&amp;#xC21C;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xADF8;&amp;#xB807;&amp;#xAE30; &amp;#xB54C;&amp;#xBB38;&amp;#xC5D0; &amp;#xAC00;&amp;#xBCC0;&amp;#xD074;&amp;#xB798;&amp;#xC2A4;&amp;#xBCF4;&amp;#xB2E4; &amp;#xC124;&amp;#xACC4;/&amp;#xAD6C;&amp;#xD604;/&amp;#xC0AC;&amp;#xC6A9;&amp;#xC774; &amp;#xC27D;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xBD88;&amp;#xBCC0; &amp;#xAC1D;&amp;#xCCB4;&amp;#xB294; &amp;#xC0DD;&amp;#xC131;&amp;#xC2DC;&amp;#xC810;&amp;#xBD80;&amp;#xD130; &amp;#xC0AC;&amp;#xC6A9;&amp;#xC744; &amp;#xB9C8;&amp;#xCE58;&amp;#xB294; &amp;#xC2DC;&amp;#xC810;&amp;#xAE4C;&amp;#xC9C0; &amp;#xAC12;&amp;#xC744; &amp;#xADF8;&amp;#xB300;&amp;#xB85C; &amp;#xC720;&amp;#xC9C0;&amp;#xD558;&amp;#xAE30; &amp;#xB54C;&amp;#xBB38;&amp;#xC5D0;, &amp;#xC608;&amp;#xC0C1;&amp;#xCE58; &amp;#xBABB;&amp;#xD55C; &amp;#xC624;&amp;#xB958;&amp;#xB97C; &amp;#xBC29;&amp;#xC9C0;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC5B4;&amp;#xC11C; &lt;mark&gt;&amp;#xC548;&amp;#xC804;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/mark&gt;&lt;br&gt;
ThreadSafe&amp;#xD558;&amp;#xACE0;, &amp;#xC5EC;&amp;#xB7EC; &amp;#xC2A4;&amp;#xB808;&amp;#xB4DC;&amp;#xAC00; &amp;#xB3D9;&amp;#xC2DC;&amp;#xC5D0; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD558;&amp;#xB354;&amp;#xB77C;&amp;#xB3C4; &amp;#xD6FC;&amp;#xC190;&amp;#xB418;&amp;#xC9C0; &amp;#xC54A;&amp;#xC73C;&amp;#xBA70;, &amp;#xC7AC;&amp;#xD65C;&amp;#xC6A9;&amp;#xC774; &amp;#xD3B8;&amp;#xB9AC;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;br&gt;
&lt;p&gt;&amp;#xD074;&amp;#xB798;&amp;#xC2A4;&amp;#xB97C; &amp;#xBD88;&amp;#xBCC0;&amp;#xC73C;&amp;#xB85C; &amp;#xB9CC;&amp;#xB4E4;&amp;#xAE30; &amp;#xC704;&amp;#xD574;&amp;#xC11C;&amp;#xB294; &amp;#xC544;&amp;#xB798;&amp;#xC758; &amp;#xADDC;&amp;#xCE59;&amp;#xC744; &amp;#xB530;&amp;#xB77C;&amp;#xC57C; &amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;setter &amp;#xB97C; &amp;#xC81C;&amp;#xACF5;&amp;#xD558;&amp;#xC9C0; &amp;#xC54A;&amp;#xB294;&amp;#xB2E4;
&lt;ul&gt;
&lt;li&gt;&amp;#xAC1D;&amp;#xCCB4; &amp;#xB0B4;&amp;#xC758; &amp;#xD544;&amp;#xB4DC;&amp;#xAC12;&amp;#xC744; &amp;#xC218;&amp;#xC815;&amp;#xD560; &amp;#xC218; &amp;#xC5C6;&amp;#xB3C4;&amp;#xB85D; &amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&amp;#xD074;&amp;#xB798;&amp;#xC2A4;&amp;#xB97C; final &amp;#xC124;&amp;#xC815;&amp;#xD558;&amp;#xC5EC; &lt;strong&gt;&amp;#xD074;&amp;#xB798;&amp;#xC2A4;&amp;#xB97C; &amp;#xD655;&amp;#xC7A5;&amp;#xD560; &amp;#xC218; &amp;#xC5C6;&amp;#xB3C4;&amp;#xB85D; &amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;&amp;#xD558;&amp;#xC704; &amp;#xD074;&amp;#xB798;&amp;#xC2A4;&amp;#xB97C; &amp;#xD1B5;&amp;#xD55C; &amp;#xD655;&amp;#xC7A5; &amp;#xC911;, &amp;#xC758;&amp;#xB3C4;&amp;#xCE58; &amp;#xC54A;&amp;#xAC8C; &amp;#xAC1D;&amp;#xCCB4; &amp;#xB0B4;&amp;#xC758; &amp;#xD544;&amp;#xB4DC;&amp;#xAC12;&amp;#xC744; &amp;#xC218;&amp;#xC815;&amp;#xD558;&amp;#xB294; &amp;#xC0C1;&amp;#xD669;&amp;#xC774; &amp;#xBC1C;&amp;#xC0DD;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&amp;#xBAA8;&amp;#xB4E0; &amp;#xD544;&amp;#xB4DC;&amp;#xB97C; final&amp;#xB85C; &amp;#xC120;&amp;#xC5B8;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.
&lt;ul&gt;
&lt;li&gt;ThreadSafe &amp;#xD558;&amp;#xAE30; &amp;#xB54C;&amp;#xBB38;&amp;#xC5D0; &amp;#xC0C8;&amp;#xB85C; &amp;#xC0DD;&amp;#xC131;&amp;#xB41C; &amp;#xC778;&amp;#xC2A4;&amp;#xD134;&amp;#xC2A4;&amp;#xB97C; &amp;#xB3D9;&amp;#xAE30;&amp;#xD654; &amp;#xC5C6;&amp;#xC774; &amp;#xB2E4;&amp;#xB978; &amp;#xC2A4;&amp;#xB808;&amp;#xB4DC;&amp;#xB85C; &amp;#xAC74;&amp;#xB12C;&amp;#xC218; &amp;#xC788;&amp;#xAC8C; &amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&amp;#xBAA8;&amp;#xB4E0; &amp;#xD544;&amp;#xB4DC;&amp;#xB97C; private &amp;#xC120;&amp;#xC5B8;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.
&lt;ul&gt;
&lt;li&gt;&amp;#xAC1D;&amp;#xCCB4; &amp;#xB0B4;&amp;#xC758; &amp;#xD544;&amp;#xB4DC;&amp;#xB97C; &amp;#xD074;&amp;#xB77C;&amp;#xC774;&amp;#xC5B8;&amp;#xD2B8; &amp;#xCE21;&amp;#xC5D0;&amp;#xC11C; &amp;#xC9C1;&amp;#xC811; &amp;#xC218;&amp;#xC815;&amp;#xD560; &amp;#xC218; &amp;#xC5C6;&amp;#xAC8C; &amp;#xD574;&amp;#xC90D;&amp;#xB2C8;&amp;#xB2E4;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&amp;#xD074;&amp;#xB798;&amp;#xC2A4; &amp;#xB0B4;&amp;#xC758; &amp;#xAC00;&amp;#xBCC0; &amp;#xC694;&amp;#xC18C;&amp;#xB294; &amp;#xBCF8;&amp;#xC778;(&amp;#xD574;&amp;#xB2F9; &amp;#xD074;&amp;#xB798;&amp;#xC2A4;)&amp;#xB9CC; &amp;#xC811;&amp;#xADFC;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xB3C4;&amp;#xB85D; &amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Java 14 &amp;#xC5D0;&amp;#xC11C;&amp;#xB294; &amp;#xBD88;&amp;#xBCC0; &amp;#xD074;&amp;#xB798;&amp;#xC2A4;&amp;#xB97C; record &amp;#xD0A4;&amp;#xC6CC;&amp;#xB4DC;&amp;#xB85C; &amp;#xC0DD;&amp;#xC131;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC73C;&amp;#xB2C8;, &lt;strong&gt;record &amp;#xD074;&amp;#xB798;&amp;#xC2A4;&amp;#xB85C; &amp;#xBD88;&amp;#xBCC0; &amp;#xD074;&amp;#xB798;&amp;#xC2A4;&amp;#xB97C; &amp;#xC0DD;&amp;#xC131;&amp;#xD558;&amp;#xBA74; &amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&amp;#xBD88;&amp;#xBCC0;&amp;#xAC1D;&amp;#xCCB4;&amp;#xB294; &amp;#xC790;&amp;#xC720;&amp;#xB86D;&amp;#xAC8C; &amp;#xACF5;&amp;#xC720;&amp;#xAC00; &amp;#xAC00;&amp;#xB2A5;&amp;#xD558;&amp;#xAE30; &amp;#xB54C;&amp;#xBB38;&amp;#xC5D0;, clone &amp;#xD558;&amp;#xC9C0; &amp;#xC54A;&amp;#xACE0;, &amp;#xADF8;&amp;#xC790;&amp;#xCCB4;&amp;#xB97C; &amp;#xC5EC;&amp;#xB7EC;&amp;#xACF3;&amp;#xC5D0;&amp;#xC11C; &amp;#xD65C;&amp;#xC6A9;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xB54C;&amp;#xBB38;&amp;#xC5D0;, &amp;#xBD88;&amp;#xBCC0;&amp;#xAC1D;&amp;#xCCB4;&amp;#xB97C; &amp;#xBCF5;&amp;#xC81C;&amp;#xD558;&amp;#xB294; &amp;#xAC83;&amp;#xC740; &amp;#xBB34;&amp;#xC758;&amp;#xBBF8;&amp;#xD558;&amp;#xACE0;(&amp;#xADF8; &amp;#xC790;&amp;#xCCB4;&amp;#xB97C; &amp;#xD65C;&amp;#xC6A9;&amp;#xD558;&amp;#xBA74; &amp;#xB418;&amp;#xAE30; &amp;#xB54C;&amp;#xBB38;&amp;#xC5D0;)&lt;br&gt;
&amp;#xD074;&amp;#xB798;&amp;#xC2A4;&amp;#xB97C; &amp;#xBCF5;&amp;#xC0AC;&amp;#xD558;&amp;#xB294; clone&amp;#xAC19;&amp;#xC740; &amp;#xBA54;&amp;#xC11C;&amp;#xB4DC;&amp;#xB294; &amp;#xC81C;&amp;#xACF5;&amp;#xD558;&amp;#xC9C0; &amp;#xC54A;&amp;#xB294;&amp;#xAC83;&amp;#xC744; &amp;#xAD8C;&amp;#xC7A5;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xB2E4;&amp;#xB9CC;, &amp;#xB0B4;&amp;#xBD80; &amp;#xAC12;&amp;#xC774; &amp;#xC870;&amp;#xAE08;&amp;#xC774;&amp;#xB77C;&amp;#xB3C4; &amp;#xB2E4;&amp;#xB97C; &amp;#xACBD;&amp;#xC6B0;, &amp;#xAC1D;&amp;#xCCB4;&amp;#xB97C; &amp;#xD558;&amp;#xB098;&amp;#xB354; &amp;#xB9CC;&amp;#xB4E4;&amp;#xC5B4;&amp;#xC57C;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xB54C;&amp;#xBB38;&amp;#xC5D0;, &amp;#xB9CC;&amp;#xC57D; &amp;#xB9CC;&amp;#xB4E4;&amp;#xC5B4;&amp;#xC57C;&amp;#xD558;&amp;#xB294; &amp;#xBD88;&amp;#xBCC0;&amp;#xAC1D;&amp;#xCCB4;&amp;#xAC00; &amp;#xB9CE;&amp;#xB2E4;&amp;#xBA74; &amp;#xADF8;&amp;#xC5D0; &amp;#xB530;&amp;#xB978; &amp;#xBE44;&amp;#xC6A9;&amp;#xC774; &amp;#xBC1C;&amp;#xC0DD;&amp;#xB41C;&amp;#xB2E4;&amp;#xB294; &amp;#xB2E8;&amp;#xC810;&amp;#xC774; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;&lt;strong&gt;&amp;#xBD88;&amp;#xBCC0; &amp;#xAC1D;&amp;#xCCB4;&amp;#xB97C; &amp;#xB9CC;&amp;#xB4DC;&amp;#xB294; &amp;#xB610;&amp;#xB2E4;&amp;#xB978; &amp;#xBC29;&amp;#xBC95;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&amp;#xC704;&amp;#xC5D0;&amp;#xC11C; &amp;#xC81C;&amp;#xC2DC;&amp;#xD558;&amp;#xB294; &amp;#xBC29;&amp;#xBC95;&amp;#xC744; &amp;#xC81C;&amp;#xC678;&amp;#xD558;&amp;#xACE0;, &amp;#xC124;&amp;#xACC4;&amp;#xC801;&amp;#xC778; &amp;#xBC29;&amp;#xBC95;&amp;#xC73C;&amp;#xB85C; &amp;#xBD88;&amp;#xBCC0; &amp;#xAC1D;&amp;#xCCB4;&amp;#xB97C; &amp;#xB9CC;&amp;#xB4DC;&amp;#xB294; &amp;#xBC29;&amp;#xBC95;&amp;#xC774; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xBC14;&amp;#xB85C;, &amp;#xBAA8;&amp;#xB4E0; &amp;#xC0DD;&amp;#xC131;&amp;#xC790;&amp;#xB97C; private &amp;#xB610;&amp;#xB294; package-private&amp;#xC73C;&amp;#xB85C; &amp;#xC124;&amp;#xC815;&amp;#xD558;&amp;#xACE0;, &amp;#xC815;&amp;#xC801; &amp;#xD329;&amp;#xD130;&amp;#xB9AC; &amp;#xBA54;&amp;#xC11C;&amp;#xB4DC;&amp;#xB97C; &amp;#xC774;&amp;#xC6A9;&amp;#xD558;&amp;#xC5EC; &amp;#xAC1D;&amp;#xCCB4;&amp;#xB97C; &amp;#xC0DD;&amp;#xC131;&amp;#xD558;&amp;#xB294; &amp;#xBC29;&amp;#xBC95;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
public/protected &amp;#xC0DD;&amp;#xC131;&amp;#xC790;&amp;#xAC00; &amp;#xC5C6;&amp;#xAE30; &amp;#xB584;&amp;#xBB38;&amp;#xC5D0; &amp;#xD074;&amp;#xB798;&amp;#xC2A4; &amp;#xD655;&amp;#xC7A5;&amp;#xB3C4; &amp;#xBD88;&amp;#xAC00;&amp;#xB2A5;&amp;#xD558;&amp;#xAE30; &amp;#xB584;&amp;#xBB38;&amp;#xC5D0; &amp;#xB17C;&amp;#xB9AC;&amp;#xC801;&amp;#xC73C;&amp;#xB85C; final &amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;java&quot; class=&quot;language-java&quot;&gt;&lt;span class=&quot;token annotation punctuation&quot;&gt;@Getter&lt;/span&gt;
&lt;span class=&quot;token keyword keyword-public&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;token keyword keyword-class&quot;&gt;class&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;Complex&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;token keyword keyword-private&quot;&gt;private&lt;/span&gt; &lt;span class=&quot;token keyword keyword-double&quot;&gt;double&lt;/span&gt; re&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;token keyword keyword-private&quot;&gt;private&lt;/span&gt; &lt;span class=&quot;token keyword keyword-double&quot;&gt;double&lt;/span&gt; im&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

    &lt;span class=&quot;token keyword keyword-private&quot;&gt;private&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;Complex&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token keyword keyword-double&quot;&gt;double&lt;/span&gt; re&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token keyword keyword-double&quot;&gt;double&lt;/span&gt; im&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
        &lt;span class=&quot;token keyword keyword-this&quot;&gt;this&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;re &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; re&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
        &lt;span class=&quot;token keyword keyword-this&quot;&gt;this&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;im &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; im&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

    &lt;span class=&quot;token keyword keyword-public&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;token keyword keyword-static&quot;&gt;static&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;Complex&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;valueOf&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token keyword keyword-double&quot;&gt;double&lt;/span&gt; re&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token keyword keyword-double&quot;&gt;double&lt;/span&gt; im&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
        &lt;span class=&quot;token keyword keyword-return&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;token keyword keyword-new&quot;&gt;new&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;Complex&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;re&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; im&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;p&gt;&amp;#xB2E8;&amp;#xC21C;&amp;#xD558;&amp;#xBA74;&amp;#xC11C;, &amp;#xC608;&amp;#xC0C1;&amp;#xCE58; &amp;#xBABB;&amp;#xD55C; &amp;#xC624;&amp;#xB958;&amp;#xB97C; &amp;#xBC29;&amp;#xC9C0;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xB3C4;&amp;#xB85D; &amp;#xBD88;&amp;#xBCC0; &amp;#xD074;&amp;#xB798;&amp;#xC2A4;/&amp;#xAC1D;&amp;#xCCB4;&amp;#xB97C; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD558;&amp;#xB294; &amp;#xAC83;&amp;#xC744; &amp;#xAD8C;&amp;#xC7A5;&amp;#xD558;&amp;#xC9C0;&amp;#xB9CC;&lt;br&gt;
&amp;#xB9CC;&amp;#xC77C; &amp;#xBD88;&amp;#xBCC0; &amp;#xD074;&amp;#xB798;&amp;#xC2A4;&amp;#xB85C; &amp;#xC815;&amp;#xC758;&amp;#xD560; &amp;#xC218; &amp;#xC5C6;&amp;#xB2E4;&amp;#xBA74; &amp;#xCD5C;&amp;#xB300;&amp;#xD55C; &amp;#xBCC0;&amp;#xACBD;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xB294; &amp;#xC694;&amp;#xC18C;&amp;#xB97C; &amp;#xCD5C;&amp;#xC18C;&amp;#xD55C;&amp;#xC73C;&amp;#xB85C; &amp;#xD558;&amp;#xB294; &amp;#xAC83;&amp;#xC744; &amp;#xAD8C;&amp;#xC7A5;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xAC1D;&amp;#xCCB4;&amp;#xB97C; &amp;#xC7AC;&amp;#xD65C;&amp;#xC6A9;&amp;#xD560; &amp;#xBAA9;&amp;#xC801;&amp;#xC73C;&amp;#xB85C; &amp;#xB0B4;&amp;#xBD80; &amp;#xD544;&amp;#xB4DC;&amp;#xAC12;&amp;#xC744; &amp;#xB2E4;&amp;#xC2DC; &amp;#xCD08;&amp;#xAE30;&amp;#xD654;&amp;#xD574;&amp;#xC11C;&amp;#xB294; &amp;#xC548;&amp;#xB418;&amp;#xBA70;, &amp;#xC815;&amp;#xC801; &amp;#xD329;&amp;#xD130;&amp;#xB9AC; &amp;#xBA54;&amp;#xC11C;&amp;#xB4DC;&amp;#xB97C; &amp;#xD1B5;&amp;#xD574; &amp;#xAC1D;&amp;#xCCB4;&amp;#xB97C; &amp;#xC0DD;&amp;#xC131;&amp;#xD55C; &amp;#xD6C4;, &amp;#xAC12;&amp;#xC774; &amp;#xBCC0;&amp;#xACBD;&amp;#xB418;&amp;#xC9C0; &amp;#xC54A;&amp;#xB3C4;&amp;#xB85D; &amp;#xD074;&amp;#xB798;&amp;#xC2A4;&amp;#xB97C; &amp;#xC815;&amp;#xC758;&amp;#xD558;&amp;#xB294; &amp;#xAC83;&amp;#xC744; &amp;#xAD8C;&amp;#xC7A5;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;hr&gt;
&lt;h3 class=&quot;mume-header&quot; id&gt;++&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Item 17. &amp;#xBCC0;&amp;#xACBD;&amp;#xAC00;&amp;#xB2A5;&amp;#xC131;&amp;#xC744; &amp;#xCD5C;&amp;#xC18C;&amp;#xD654; &amp;#xD558;&amp;#xB77C;.&lt;/li&gt;
&lt;/ul&gt;

  &lt;/div&gt;&lt;/div&gt;</description>
      <category>Java/Effective Java</category>
      <category>effectivejava</category>
      <author>jiniya22</author>
      <guid isPermaLink="true">https://jini-box.tistory.com/242</guid>
      <comments>https://jini-box.tistory.com/242#entry242comment</comments>
      <pubDate>Sat, 16 Mar 2024 21:43:28 +0900</pubDate>
    </item>
    <item>
      <title>[Effective Java] Item 15. 상수로 사용하고자하는 필드값이 불변객체인지 고려해야한다</title>
      <link>https://jini-box.tistory.com/241</link>
      <description>&lt;div id=&quot;html-export&quot;&gt;
      &lt;div class=&quot;mume markdown-preview  &quot;&gt;
      &lt;p&gt;&amp;#xD504;&amp;#xB85C;&amp;#xADF8;&amp;#xB7A8;&amp;#xC758; &amp;#xC694;&amp;#xC18C;&amp;#xB97C; &amp;#xC811;&amp;#xADFC;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xB294; &amp;#xAD8C;&amp;#xD55C;&amp;#xC740; &amp;#xCD5C;&amp;#xB300;&amp;#xD55C; &amp;#xCD5C;&amp;#xC18C;&amp;#xD654;&amp;#xD558;&amp;#xB294; &amp;#xAC83;&amp;#xC774; &amp;#xC88B;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xBC18;&amp;#xB4DC;&amp;#xC2DC; &amp;#xACF5;&amp;#xAC1C;&amp;#xB418;&amp;#xC5B4;&amp;#xC57C;&amp;#xD558;&amp;#xB294; &amp;#xC694;&amp;#xC18C;&amp;#xB4E4;&amp;#xB9CC; public&amp;#xC73C;&amp;#xB85C; &amp;#xC124;&amp;#xC815;&amp;#xD558;&amp;#xB294; &amp;#xAC83;&amp;#xC774;, &amp;#xC720;&amp;#xC9C0;&amp;#xBCF4;&amp;#xC218; &amp;#xBA74;&amp;#xC5D0;&amp;#xC11C;&amp;#xB3C4; &amp;#xC88B;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;public &amp;#xD074;&amp;#xB798;&amp;#xC2A4; &amp;#xB0B4;&amp;#xC758; &lt;strong&gt;&amp;#xAC00;&amp;#xBCC0; &amp;#xD544;&amp;#xB4DC;&amp;#xAC12;&amp;#xB4E4;&amp;#xC740; &amp;#xBAA8;&amp;#xB450; private &amp;#xC73C;&amp;#xB85C; &amp;#xC124;&amp;#xC815;&lt;/strong&gt; &amp;#xD558;&amp;#xB294; &amp;#xAC83;&amp;#xC744; &amp;#xAD8C;&amp;#xC7A5;&amp;#xD558;&amp;#xACE0;&lt;br&gt;
&amp;#xC0C1;&amp;#xC218;&amp;#xD544;&amp;#xB4DC;&amp;#xC758; &amp;#xACBD;&amp;#xC6B0; &amp;#xD544;&amp;#xC694;&amp;#xC5D0; &amp;#xB530;&amp;#xB77C; public&amp;#xC73C;&amp;#xB85C; &amp;#xC124;&amp;#xC815;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;&lt;/p&gt;
&lt;p&gt;&amp;#xC0C1;&amp;#xC218;&amp;#xB85C; &amp;#xC774;&amp;#xC6A9;&amp;#xD558;&amp;#xACE0;&amp;#xC790;&amp;#xD558;&amp;#xB294; &amp;#xD544;&amp;#xB4DC;&amp;#xAC12;&amp;#xC5D0;&amp;#xB294; &lt;code&gt;public static final&lt;/code&gt; &amp;#xB97C; &amp;#xC124;&amp;#xC815;&amp;#xD558;&amp;#xB294;&amp;#xB370;,&lt;/p&gt;
&lt;p&gt;&amp;#xC774;&amp;#xB54C; &amp;#xC8FC;&amp;#xC758;&amp;#xD574;&amp;#xC57C;&amp;#xD560; &amp;#xC810;&amp;#xC774;, reference &amp;#xD0C0;&amp;#xC785; &amp;#xC911; &amp;#xBA87;&amp;#xBA87; &amp;#xD0C0;&amp;#xC785;&amp;#xC740; private static final&amp;#xC744; &amp;#xC124;&amp;#xC815;&amp;#xD558;&amp;#xC5EC;&amp;#xB3C4; &amp;#xB0B4;&amp;#xC6A9;&amp;#xC744; &amp;#xC218;&amp;#xC815;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xB2E4;&amp;#xB294; &amp;#xC810;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;#xBCC0;&amp;#xACBD;&amp;#xAC00;&amp;#xB2A5;&amp;#xD55C; &amp;#xB808;&amp;#xD37C;&amp;#xB7F0;&amp;#xC2A4; &amp;#xD0C0;&amp;#xC785; &amp;#xD544;&amp;#xB4DC;&amp;#xAC12; (array, modifiable &amp;#xCEEC;&amp;#xB809;&amp;#xC158;&amp;#xB4E4;) &amp;#xC758; &amp;#xACBD;&amp;#xC6B0; &amp;#xB0B4;&amp;#xC6A9; &lt;code&gt;private static final&lt;/code&gt;&amp;#xC744; &amp;#xC124;&amp;#xC815;&amp;#xD574;&amp;#xB3C4; &amp;#xBCC0;&amp;#xACBD;&amp;#xC774; &amp;#xAC00;&amp;#xB2A5;&amp;#xD558;&amp;#xB2E4;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr&gt;
&lt;h4 class=&quot;mume-header&quot; id=&quot;%EC%98%88%EC%8B%9C-1&quot;&gt;&amp;#xC608;&amp;#xC2DC; 1&lt;/h4&gt;

&lt;p&gt;&amp;#xC544;&amp;#xB798; &amp;#xC608;&amp;#xC81C;&amp;#xCF54;&amp;#xB4DC;&amp;#xC5D0;&amp;#xC11C; &lt;code&gt;private static final&lt;/code&gt;&amp;#xC744; &amp;#xC124;&amp;#xC815;&amp;#xD558;&amp;#xC600;&amp;#xC73C;&amp;#xB098;, &amp;#xAC12;&amp;#xC744; &amp;#xBCC0;&amp;#xACBD;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xB294; &amp;#xAC83;&amp;#xC744; &amp;#xD655;&amp;#xC778;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;java&quot; class=&quot;language-java&quot;&gt;&lt;span class=&quot;token keyword keyword-static&quot;&gt;static&lt;/span&gt; &lt;span class=&quot;token keyword keyword-final&quot;&gt;final&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;String&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; arr &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;apple&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token keyword keyword-public&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;token keyword keyword-static&quot;&gt;static&lt;/span&gt; &lt;span class=&quot;token keyword keyword-void&quot;&gt;void&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;main&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;String&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; args&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;token class-name&quot;&gt;System&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;out&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;Arrays&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;toString&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;arr&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
    arr&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;banana&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;token class-name&quot;&gt;System&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;out&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;Arrays&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;toString&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;arr&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;apple&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;banana&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;
&lt;/pre&gt;&lt;br&gt;
&lt;h4 class=&quot;mume-header&quot; id=&quot;%EC%98%88%EC%8B%9C-2&quot;&gt;&amp;#xC608;&amp;#xC2DC; 2&lt;/h4&gt;

&lt;p&gt;unmodifiable &amp;#xB9AC;&amp;#xC2A4;&amp;#xD2B8;&amp;#xAC00; &amp;#xC544;&amp;#xB2CC; &amp;#xACBD;&amp;#xC6B0;, &lt;code&gt;private static final&lt;/code&gt; &amp;#xC124;&amp;#xC815;&amp;#xC744; &amp;#xD558;&amp;#xC5EC;&amp;#xB3C4; &amp;#xB0B4;&amp;#xC6A9;&amp;#xC744; &amp;#xC218;&amp;#xC815;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;java&quot; class=&quot;language-java&quot;&gt;&lt;span class=&quot;token keyword keyword-private&quot;&gt;private&lt;/span&gt; &lt;span class=&quot;token keyword keyword-static&quot;&gt;static&lt;/span&gt; &lt;span class=&quot;token keyword keyword-final&quot;&gt;final&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;List&lt;/span&gt;&lt;span class=&quot;token generics&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;String&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt; list &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;Lists&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;newArrayList&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;RED&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;BLUE&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token keyword keyword-static&quot;&gt;static&lt;/span&gt; &lt;span class=&quot;token keyword keyword-void&quot;&gt;void&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;ex02&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;token class-name&quot;&gt;System&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;out&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;list&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
    list&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;set&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;AAA&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;token class-name&quot;&gt;System&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;out&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;list&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;RED, BLUE&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;AAA, BLUE&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;
&lt;/pre&gt;&lt;hr&gt;
&lt;p&gt;&amp;#xC774;&amp;#xB7EC;&amp;#xD55C; &amp;#xBD80;&amp;#xBD84;&amp;#xC744; &amp;#xACE0;&amp;#xB824;&amp;#xD558;&amp;#xC9C0; &amp;#xC54A;&amp;#xB294;&amp;#xB2E4;&amp;#xBA74;, &amp;#xBCC0;&amp;#xACBD;&amp;#xB418;&amp;#xC9C0; &amp;#xC54A;&amp;#xC544;&amp;#xC57C;&amp;#xD558;&amp;#xB294; &amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xAC00; &amp;#xC5B4;&amp;#xB290;&amp;#xC2DC;&amp;#xC810;&amp;#xC5D0; &amp;#xBCC0;&amp;#xACBD;&amp;#xB418;&amp;#xC5B4; &amp;#xC11C;&amp;#xBE44;&amp;#xC2A4;&amp;#xC5D0; &amp;#xC601;&amp;#xD5A5;&amp;#xC744; &amp;#xC904; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xC774;&amp;#xB7F0; &amp;#xBD80;&amp;#xBD84;&amp;#xC744; &amp;#xBC29;&amp;#xC9C0;&amp;#xD558;&amp;#xAE30; &amp;#xC704;&amp;#xD574;&amp;#xC11C;&amp;#xB294;, &amp;#xC544;&amp;#xB798; 2&amp;#xAC00;&amp;#xC9C0; &amp;#xBC29;&amp;#xBC95;&amp;#xC744; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&amp;#xBD88;&amp;#xBCC0; &amp;#xAC1D;&amp;#xCCB4;&amp;#xB85C; &amp;#xBCC0;&amp;#xD658;&amp;#xD558;&amp;#xC5EC; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD558;&amp;#xAE30;&lt;/li&gt;
&lt;li&gt;&amp;#xBCC0;&amp;#xACBD;&amp;#xC774; &amp;#xAC00;&amp;#xB2A5;&amp;#xD55C; &amp;#xD544;&amp;#xB4DC;&amp;#xAC12;&amp;#xC740; private&amp;#xB85C; &amp;#xC124;&amp;#xC815;&amp;#xD558;&amp;#xACE0; &amp;#xD574;&amp;#xB2F9; &amp;#xAC12;&amp;#xC744; &amp;#xBCF5;&amp;#xC81C;&amp;#xD55C; &amp;#xAC12;&amp;#xC744; &amp;#xBC18;&amp;#xD658;&amp;#xD558;&amp;#xB294; &amp;#xBA54;&amp;#xC11C;&amp;#xB4DC;&amp;#xB97C; &amp;#xC81C;&amp;#xACF5;&amp;#xD558;&amp;#xAE30;&lt;/li&gt;
&lt;/ol&gt;
&lt;br&gt;
&lt;p&gt;&lt;strong&gt;1. &amp;#xBD88;&amp;#xBCC0;&amp;#xAC1D;&amp;#xCCB4;&amp;#xB85C; &amp;#xBCC0;&amp;#xD658;&amp;#xD558;&amp;#xC5EC; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD558;&amp;#xAE30;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;List.of&lt;/code&gt;&amp;#xB97C; &amp;#xC774;&amp;#xC6A9;&amp;#xD558;&amp;#xC5EC; &amp;#xBD88;&amp;#xBCC0;&amp;#xAC1D;&amp;#xCCB4;&amp;#xB85C; &amp;#xB9CC;&amp;#xB4E0; &amp;#xD6C4;, &amp;#xADF8; &amp;#xAC1D;&amp;#xCCB4;&amp;#xB97C; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD558;&amp;#xBA74; &amp;#xC678;&amp;#xBD80;&amp;#xC5D0;&amp;#xC11C; &amp;#xC6D0;&amp;#xCE58; &amp;#xC54A;&amp;#xAC8C; &amp;#xC218;&amp;#xC815;&amp;#xB418;&amp;#xB294; &amp;#xC77C;&amp;#xC744; &amp;#xBC29;&amp;#xC9C0;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xACE0;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;#xBCC0;&amp;#xACBD;&amp;#xD558;&amp;#xB824; &amp;#xD560;&amp;#xB54C;, &lt;code&gt;.UnsupportedOperationException&lt;/code&gt; &amp;#xC775;&amp;#xC149;&amp;#xC158;&amp;#xC774; &amp;#xBC1C;&amp;#xC0DD;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;java&quot; class=&quot;language-java&quot;&gt;&lt;span class=&quot;token keyword keyword-private&quot;&gt;private&lt;/span&gt; &lt;span class=&quot;token keyword keyword-static&quot;&gt;static&lt;/span&gt; &lt;span class=&quot;token keyword keyword-final&quot;&gt;final&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;String&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; P_VALUES &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;apple&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;melon&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;peach&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token keyword keyword-public&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;token keyword keyword-static&quot;&gt;static&lt;/span&gt; &lt;span class=&quot;token keyword keyword-final&quot;&gt;final&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;List&lt;/span&gt;&lt;span class=&quot;token generics&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;String&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt; VALUES &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;List&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;of&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;P_VALUES&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

&lt;span class=&quot;token keyword keyword-public&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;token keyword keyword-static&quot;&gt;static&lt;/span&gt; &lt;span class=&quot;token keyword keyword-void&quot;&gt;void&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;main&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;String&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; args&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;token class-name&quot;&gt;System&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;out&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;VALUES&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
    VALUES&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;set&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;AAA&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token comment&quot;&gt;// Exception &amp;#xBC1C;&amp;#xC0DD;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;br&gt;
&lt;p&gt;&lt;strong&gt;2. &amp;#xBCC0;&amp;#xACBD;&amp;#xC774; &amp;#xAC00;&amp;#xB2A5;&amp;#xD55C; &amp;#xD544;&amp;#xB4DC;&amp;#xAC12;&amp;#xC740; private&amp;#xB85C; &amp;#xC124;&amp;#xC815;&amp;#xD558;&amp;#xACE0; &amp;#xD574;&amp;#xB2F9; &amp;#xAC12;&amp;#xC744; &amp;#xBCF5;&amp;#xC81C;&amp;#xD55C; &amp;#xAC12;&amp;#xC744; &amp;#xBC18;&amp;#xD658;&amp;#xD558;&amp;#xB294; &amp;#xBA54;&amp;#xC11C;&amp;#xB4DC;&amp;#xB97C; &amp;#xC81C;&amp;#xACF5;&amp;#xD558;&amp;#xAE30;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&amp;#xC544;&amp;#xB798;&amp;#xC640; &amp;#xAC19;&amp;#xC774;, &amp;#xBCC0;&amp;#xACBD;&amp;#xC774; &amp;#xAC00;&amp;#xB2A5;&amp;#xD55C; &amp;#xD544;&amp;#xB4DC;&amp;#xAC12;&amp;#xC740; private&amp;#xC73C;&amp;#xB85C; &amp;#xC124;&amp;#xC815;&amp;#xD574;&amp;#xB450;&amp;#xACE0;,&lt;br&gt;
&amp;#xD574;&amp;#xB2F9;&amp;#xAC12;&amp;#xC758; clone&amp;#xD55C; &amp;#xAC12;&amp;#xC744; &amp;#xB9AC;&amp;#xD134;&amp;#xD558;&amp;#xB294; public &amp;#xBA54;&amp;#xC11C;&amp;#xB4DC;&amp;#xB97C; &amp;#xCD94;&amp;#xAC00;&amp;#xD574;&amp;#xC90D;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;fruits() &amp;#xBA54;&amp;#xC11C;&amp;#xB4DC;&amp;#xC758; &amp;#xB9AC;&amp;#xD134;&amp;#xAC12;&amp;#xC778; fruits&amp;#xB97C; &amp;#xC218;&amp;#xC815;&amp;#xD558;&amp;#xB354;&amp;#xB77C;&amp;#xB3C4; &amp;#xC6D0;&amp;#xBCF8;&amp;#xC5D0;&amp;#xB294; &amp;#xC601;&amp;#xD5A5;&amp;#xC744; &amp;#xC8FC;&amp;#xC9C0; &amp;#xC54A;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;java&quot; class=&quot;language-java&quot;&gt;&lt;span class=&quot;token keyword keyword-private&quot;&gt;private&lt;/span&gt; &lt;span class=&quot;token keyword keyword-static&quot;&gt;static&lt;/span&gt; &lt;span class=&quot;token keyword keyword-final&quot;&gt;final&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;String&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; P_VALUES &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;apple&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;melon&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;peach&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

&lt;span class=&quot;token keyword keyword-public&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;token keyword keyword-static&quot;&gt;static&lt;/span&gt; &lt;span class=&quot;token keyword keyword-final&quot;&gt;final&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;String&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;fruits&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;token keyword keyword-return&quot;&gt;return&lt;/span&gt; P_VALUES&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;clone&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token keyword keyword-public&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;token keyword keyword-static&quot;&gt;static&lt;/span&gt; &lt;span class=&quot;token keyword keyword-void&quot;&gt;void&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;main&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;String&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; args&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;token class-name&quot;&gt;String&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; fruits &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;fruits&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;token class-name&quot;&gt;System&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;out&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;Arrays&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;toString&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;fruits&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
    fruits&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;AAA&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;token class-name&quot;&gt;System&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;out&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;Arrays&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;toString&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;fruits&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;token class-name&quot;&gt;System&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;out&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;Arrays&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;toString&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;fruits&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;apple, melon, peach&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;AAA, melon, peach&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;apple, melon, peach&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;
&lt;/pre&gt;&lt;hr&gt;
&lt;h3 class=&quot;mume-header&quot; id&gt;++&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Item 15. &amp;#xD074;&amp;#xB798;&amp;#xC2A4;&amp;#xC640; &amp;#xBA64;&amp;#xBC84;&amp;#xC758; &amp;#xC811;&amp;#xADFC; &amp;#xAD8C;&amp;#xD55C;&amp;#xC744; &amp;#xCD5C;&amp;#xC18C;&amp;#xD654;&amp;#xD558;&amp;#xB77C;&lt;/li&gt;
&lt;/ul&gt;

  &lt;/div&gt;&lt;/div&gt;</description>
      <category>Java/Effective Java</category>
      <category>effectivejava</category>
      <author>jiniya22</author>
      <guid isPermaLink="true">https://jini-box.tistory.com/241</guid>
      <comments>https://jini-box.tistory.com/241#entry241comment</comments>
      <pubDate>Sat, 16 Mar 2024 20:37:08 +0900</pubDate>
    </item>
    <item>
      <title>[Go] 19. 테스트와 벤치마크</title>
      <link>https://jini-box.tistory.com/239</link>
      <description>&lt;div id=&quot;html-export&quot;&gt;
      &lt;div class=&quot;mume markdown-preview  &quot;&gt;
      &lt;h2 class=&quot;mume-header&quot; id=&quot;1-%ED%85%8C%EC%8A%A4%ED%8A%B8&quot;&gt;1. &amp;#xD14C;&amp;#xC2A4;&amp;#xD2B8;&lt;/h2&gt;

&lt;p&gt;Golang &amp;#xC5D0;&amp;#xC11C;&amp;#xB294; &amp;#xD14C;&amp;#xC2A4;&amp;#xD2B8;&amp;#xB97C; &amp;#xC9C0;&amp;#xC6D0;&amp;#xD558;&amp;#xACE0; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;go test&lt;/strong&gt; &amp;#xBA85;&amp;#xB839;&amp;#xC744; &amp;#xC774;&amp;#xC6A9;&amp;#xD558;&amp;#xC5EC; &amp;#xD14C;&amp;#xC2A4;&amp;#xD2B8; &amp;#xCF54;&amp;#xB4DC;&amp;#xB97C; &amp;#xC2E4;&amp;#xD589;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC73C;&amp;#xBA70;,&lt;br&gt;
&amp;#xC544;&amp;#xB798;&amp;#xC640; &amp;#xAC19;&amp;#xC740; &amp;#xD45C;&amp;#xC900; &amp;#xADDC;&amp;#xC57D;&amp;#xC744; &amp;#xAC00;&amp;#xC9C0;&amp;#xACE0; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&amp;#xD30C;&amp;#xC77C;&amp;#xBA85;&amp;#xC774; &lt;code&gt;_test.go&lt;/code&gt; &amp;#xB85C; &amp;#xB05D;&amp;#xB0A9;&amp;#xB2C8;&amp;#xB2E4;&lt;/li&gt;
&lt;li&gt;&amp;#xD14C;&amp;#xC2A4;&amp;#xD2B8; &amp;#xCF54;&amp;#xB4DC;&amp;#xB294; &lt;code&gt;func TestXxxxx(t *testing.T)&lt;/code&gt; &amp;#xD615;&amp;#xD0DC;&amp;#xC758; &amp;#xD568;&amp;#xC218;&amp;#xB85C; &amp;#xC791;&amp;#xC131;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;
&lt;ul&gt;
&lt;li&gt;testing &amp;#xD328;&amp;#xD0A4;&amp;#xC9C0; import&lt;/li&gt;
&lt;li&gt;&amp;#xD14C;&amp;#xC2A4;&amp;#xD2B8; &amp;#xD568;&amp;#xC218;&amp;#xC758; &amp;#xB9E4;&amp;#xAC1C;&amp;#xBCC0;&amp;#xC218;&amp;#xB294; &lt;code&gt;t *testing.T&lt;/code&gt; &amp;#xD558;&amp;#xB098;&amp;#xC5EC;&amp;#xC57C; &amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h3 class=&quot;mume-header&quot; id=&quot;11-%ED%85%8C%EC%8A%A4%ED%8A%B8-%EC%8B%A4%ED%96%89&quot;&gt;1.1. &amp;#xD14C;&amp;#xC2A4;&amp;#xD2B8; &amp;#xC2E4;&amp;#xD589;&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;1.1.1. &amp;#xD14C;&amp;#xC2A4;&amp;#xD2B8; &amp;#xC804;&amp;#xCCB4; &amp;#xC2E4;&amp;#xD589;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;ex28.1.go&lt;/em&gt; &amp;#xB77C;&amp;#xB294; &amp;#xC774;&amp;#xB984;&amp;#xC73C;&amp;#xB85C; &amp;#xC544;&amp;#xB798;&amp;#xC640; &amp;#xAC19;&amp;#xC740; &amp;#xAC04;&amp;#xB2E8;&amp;#xD55C; &amp;#xC608;&amp;#xC81C;&amp;#xCF54;&amp;#xB4DC;&amp;#xB97C; &amp;#xC791;&amp;#xC131;&amp;#xD558;&amp;#xC600;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword keyword-package&quot;&gt;package&lt;/span&gt; main

&lt;span class=&quot;token keyword keyword-import&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;fmt&amp;quot;&lt;/span&gt;

&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;power&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;num &lt;span class=&quot;token builtin&quot;&gt;int&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token builtin&quot;&gt;int&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-return&quot;&gt;return&lt;/span&gt; num &lt;span class=&quot;token operator&quot;&gt;*&lt;/span&gt; num
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;main&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	n &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;5&lt;/span&gt;
	result &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;power&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;5&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Printf&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;%d&amp;#xC758; &amp;#xAC70;&amp;#xB4ED;&amp;#xC81C;&amp;#xACF1;&amp;#xC740; %d\n&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; n&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; result&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;br&gt;
&lt;p&gt;&amp;#xC774;&amp;#xC81C; &amp;#xD14C;&amp;#xC2A4;&amp;#xD2B8; &amp;#xCF54;&amp;#xB4DC;&amp;#xB97C; &amp;#xC791;&amp;#xC131;&amp;#xD574;&amp;#xBD05;&amp;#xC2DC;&amp;#xB2E4;.&lt;br&gt;
Go &amp;#xD45C;&amp;#xC900; &amp;#xADDC;&amp;#xC57D;&amp;#xC5D0; &amp;#xB9DE;&amp;#xCDB0; &lt;em&gt;ex28_1_test.go&lt;/em&gt; &amp;#xB77C;&amp;#xB294; &amp;#xC774;&amp;#xB984;&amp;#xC73C;&amp;#xB85C; &amp;#xC544;&amp;#xB798;&amp;#xC640; &amp;#xAC19;&amp;#xC740; &amp;#xCF54;&amp;#xB4DC;&amp;#xB97C; &amp;#xC791;&amp;#xC131;&amp;#xD558;&amp;#xC600;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;t.Errorf&lt;/em&gt; &amp;#xB97C; &amp;#xC774;&amp;#xC6A9;&amp;#xD558;&amp;#xC5EC;, &amp;#xD14C;&amp;#xC2A4;&amp;#xD2B8;&amp;#xC911; &amp;#xC5D0;&amp;#xB7EC; &amp;#xBC1C;&amp;#xC0DD;&amp;#xC2DC;&amp;#xC5D0; &amp;#xB300;&amp;#xD55C; &amp;#xCD9C;&amp;#xB825;&amp;#xBB38;&amp;#xB3C4; &amp;#xC815;&amp;#xC758;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword keyword-package&quot;&gt;package&lt;/span&gt; main

&lt;span class=&quot;token keyword keyword-import&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;testing&amp;quot;&lt;/span&gt;

&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;TestPower&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;t &lt;span class=&quot;token operator&quot;&gt;*&lt;/span&gt;testing&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;T&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	result &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;power&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;5&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-if&quot;&gt;if&lt;/span&gt; result &lt;span class=&quot;token operator&quot;&gt;!=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;25&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
		t&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Errorf&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;power(5)&amp;#xC758; &amp;#xACB0;&amp;#xACFC;&amp;#xB294; 25&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;. &amp;#xD558;&amp;#xC9C0;&amp;#xB9CC; &amp;#xACB0;&amp;#xACFC;&amp;#xAC00; %d&amp;#xAC00; &amp;#xB098;&amp;#xC654;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; result&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;go test&lt;/strong&gt; &amp;#xBA85;&amp;#xB839;&amp;#xC744; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD558;&amp;#xAE30; &amp;#xC704;&amp;#xD574;&amp;#xC11C;&amp;#xB294;, &amp;#xAE30;&amp;#xC874; &amp;#xCF54;&amp;#xB4DC;&amp;#xAC00; &amp;#xBAA8;&amp;#xB4C8;&amp;#xB85C; &amp;#xC815;&amp;#xC758;&amp;#xB418;&amp;#xC5B4;&amp;#xC788;&amp;#xC5B4;&amp;#xC57C; &amp;#xD558;&amp;#xBBC0;&amp;#xB85C;&lt;br&gt;
&amp;#xBAA8;&amp;#xB4C8;&amp;#xC744; &amp;#xC0DD;&amp;#xC131;&amp;#xD55C; &amp;#xD6C4;,&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;go mod init goplayground/ex28.1
&lt;/pre&gt;&lt;p&gt;&amp;#xD14C;&amp;#xC2A4;&amp;#xD2B8; &amp;#xCF54;&amp;#xB4DC;&amp;#xB97C; &amp;#xC2E4;&amp;#xD589;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xD14C;&amp;#xC2A4;&amp;#xD2B8;&amp;#xAC00; &amp;#xBAA8;&amp;#xB450; &amp;#xD1B5;&amp;#xACFC;&amp;#xB418;&amp;#xC5C8;&amp;#xAE30; &amp;#xB54C;&amp;#xBB38;&amp;#xC5D0; &amp;#xC544;&amp;#xB798;&amp;#xC640; &amp;#xAC19;&amp;#xC774; &lt;em&gt;PASS&lt;/em&gt; &amp;#xAC00; &amp;#xCD9C;&amp;#xB825;&amp;#xB418;&amp;#xC5C8;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;go &lt;span class=&quot;token builtin class-name&quot;&gt;test&lt;/span&gt;
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;PASS
ok      goplayground/ex28.1     &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;.496s
&lt;/pre&gt;&lt;br&gt;
&amp;#xD14C;&amp;#xC2A4;&amp;#xD2B8; &amp;#xCF54;&amp;#xB4DC; &amp;#xC2E4;&amp;#xD589; &amp;#xC911;, &amp;#xC624;&amp;#xB958;&amp;#xAC00; &amp;#xBC1C;&amp;#xC0DD;&amp;#xB418;&amp;#xBA74; &amp;#xC544;&amp;#xB798;&amp;#xC640; &amp;#xAC19;&amp;#xC774; &amp;#xC5D0;&amp;#xB7EC; &amp;#xCF54;&amp;#xB4DC;&amp;#xC640; &amp;#xD568;&amp;#xAED8; FAIL&amp;#xC774; &amp;#xCD9C;&amp;#xB825;&amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;--- FAIL: TestPower &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;.00s&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
    ex28_1_test.go:8: power&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;5&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&amp;#xC758; &amp;#xACB0;&amp;#xACFC;&amp;#xB294; &lt;span class=&quot;token number&quot;&gt;25&lt;/span&gt;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;. &amp;#xD558;&amp;#xC9C0;&amp;#xB9CC; &amp;#xACB0;&amp;#xACFC;&amp;#xAC00; &lt;span class=&quot;token number&quot;&gt;50&lt;/span&gt;&amp;#xAC00; &amp;#xB098;&amp;#xC654;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.
FAIL
&lt;span class=&quot;token builtin class-name&quot;&gt;exit&lt;/span&gt; status &lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;
FAIL    goplayground/ex28.1     &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;.599s
&lt;/pre&gt;&lt;br&gt;
&lt;p&gt;&lt;strong&gt;1.1.2. &amp;#xD2B9;&amp;#xC815; &amp;#xD14C;&amp;#xC2A4;&amp;#xD2B8; &amp;#xD568;&amp;#xC218;&amp;#xB9CC; &amp;#xC2E4;&amp;#xD589;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&amp;#xD14C;&amp;#xC2A4;&amp;#xD2B8; &amp;#xC2E4;&amp;#xD589; &amp;#xC911;, &lt;strong&gt;-run &amp;#xD14C;&amp;#xC2A4;&amp;#xD2B8;&amp;#xBA85;&lt;/strong&gt; &amp;#xC635;&amp;#xC158;&amp;#xC744; &amp;#xC774;&amp;#xC6A9;&amp;#xD558;&amp;#xBA74; &amp;#xD2B9;&amp;#xC815; &amp;#xD14C;&amp;#xC2A4;&amp;#xD2B8;&amp;#xB9CC; &amp;#xC2E4;&amp;#xD589;&amp;#xC2DC;&amp;#xD0AC; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;go &lt;span class=&quot;token builtin class-name&quot;&gt;test&lt;/span&gt; -run TestPower
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;PASS
ok      goplayground/ex28.1     &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;.463s
&lt;/pre&gt;&lt;hr&gt;
&lt;h3 class=&quot;mume-header&quot; id=&quot;12-assert&quot;&gt;1.2. assert&lt;/h3&gt;

&lt;p&gt;testify &amp;#xC678;&amp;#xBD80; &amp;#xD328;&amp;#xD0A4;&amp;#xC9C0;&amp;#xC758; assert&lt;/p&gt;
&lt;p&gt;&amp;#xBA3C;&amp;#xC800;, &lt;strong&gt;go get&lt;/strong&gt; &amp;#xBA85;&amp;#xB839;&amp;#xC5B4;&amp;#xB97C; &amp;#xC774;&amp;#xC6A9;&amp;#xD558;&amp;#xC5EC; &amp;#xC678;&amp;#xBD80; &amp;#xD328;&amp;#xD0A4;&amp;#xC9C0;&amp;#xB97C; &amp;#xC124;&amp;#xCE58;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword keyword-go&quot;&gt;go&lt;/span&gt; get github&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;com&lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt;stretchr&lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt;testify
&lt;/pre&gt;&lt;p&gt;&amp;#xADF8; &amp;#xD6C4;, testify &amp;#xD328;&amp;#xC9C0;&amp;#xD0A4; &amp;#xB0B4;&amp;#xC758; assert &amp;#xD328;&amp;#xD0A4;&amp;#xC9C0;&amp;#xB97C; import&amp;#xD558;&amp;#xC5EC; assert &amp;#xD328;&amp;#xD0A4;&amp;#xC9C0;&amp;#xB97C; &amp;#xD65C;&amp;#xC6A9;&amp;#xD558;&amp;#xC5EC; &amp;#xD14C;&amp;#xC2A4;&amp;#xD2B8; &amp;#xCF54;&amp;#xB4DC;&amp;#xB97C; &amp;#xC791;&amp;#xC131;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xAE30;&amp;#xBCF8;&amp;#xC801;&amp;#xC73C;&amp;#xB85C; assert &amp;#xD328;&amp;#xD0A4;&amp;#xC9C0; &amp;#xB0B4;&amp;#xC758; &amp;#xD568;&amp;#xC218;&amp;#xB4E4;&amp;#xC740; &amp;#xCCAB;&amp;#xBC88;&amp;#xC9F8; &amp;#xC778;&amp;#xC790;&amp;#xB85C; TestT(= *testing.T) &amp;#xAC1D;&amp;#xCCB4;&amp;#xB97C; &amp;#xBC1B;&amp;#xC9C0;&amp;#xB9CC;,&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;Equal&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;t TestingT&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; expected&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; actual &lt;span class=&quot;token keyword keyword-interface&quot;&gt;interface&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; msgAndArgs &lt;span class=&quot;token operator&quot;&gt;...&lt;/span&gt;&lt;span class=&quot;token keyword keyword-interface&quot;&gt;interface&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token builtin&quot;&gt;bool&lt;/span&gt;
&lt;/pre&gt;&lt;p&gt;&lt;code&gt;assert.New(t)&lt;/code&gt; &amp;#xB85C; &amp;#xC0DD;&amp;#xC131;&amp;#xD55C; &amp;#xAC1D;&amp;#xCCB4;&amp;#xB97C; &amp;#xD65C;&amp;#xC6A9;&amp;#xD558;&amp;#xBA74;, &amp;#xB9E8; &amp;#xCCAB;&amp;#xBC88;&amp;#xC9F8; &amp;#xC778;&amp;#xC790;&amp;#xC5D0; TestingT&amp;#xB97C; &amp;#xC785;&amp;#xB825;&amp;#xD558;&amp;#xB294; &amp;#xAC83;&amp;#xC744; &amp;#xC0DD;&amp;#xB7B5;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword keyword-package&quot;&gt;package&lt;/span&gt; main

&lt;span class=&quot;token keyword keyword-import&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;
	&lt;span class=&quot;token string&quot;&gt;&amp;quot;github.com/stretchr/testify/assert&amp;quot;&lt;/span&gt;
	&lt;span class=&quot;token string&quot;&gt;&amp;quot;testing&amp;quot;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;

&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;TestPower2&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;t &lt;span class=&quot;token operator&quot;&gt;*&lt;/span&gt;testing&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;T&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	assert &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; assert&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;New&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;t&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	assert&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Equal&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;25&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;power&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;5&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;power(5)&amp;#xC758; &amp;#xACB0;&amp;#xACFC;&amp;#xB294; 25&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;p&gt;assert &amp;#xD328;&amp;#xD0A4;&amp;#xC9C0; &amp;#xB0B4;&amp;#xC5D0;&amp;#xB294; &amp;#xC544;&amp;#xB798;&amp;#xC640; &amp;#xAC19;&amp;#xC740; &amp;#xD568;&amp;#xC218;&amp;#xB97C; &amp;#xC81C;&amp;#xACF5;&amp;#xD558;&amp;#xACE0; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xC870;&amp;#xAC74;&amp;#xC5D0; &amp;#xB9CC;&amp;#xC871;&amp;#xD558;&amp;#xC9C0; &amp;#xC54A;&amp;#xC744;&amp;#xC2DC; &amp;#xD14C;&amp;#xC2A4;&amp;#xD2B8; FAIL&amp;#xACFC; &amp;#xD568;&amp;#xAED8; msgAndArgs&amp;#xB97C; &amp;#xCD9C;&amp;#xB825;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;func Equal(t TestingT, expected, actual interface{}, msgAndArgs ...interface{}) bool
&lt;ul&gt;
&lt;li&gt;&amp;#xC778;&amp;#xC790;&amp;#xB85C; &amp;#xC785;&amp;#xB825;&amp;#xBC1B;&amp;#xB294; &amp;#xB450; &amp;#xAC12;(expected, actual)&amp;#xC744; &amp;#xBE44;&amp;#xAD50;&amp;#xD558;&amp;#xC5EC; &amp;#xAC19;&amp;#xC744; &amp;#xACBD;&amp;#xC6B0; &amp;#xD14C;&amp;#xC2A4;&amp;#xD2B8; &amp;#xC131;&amp;#xACF5;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;func Greater(t TestingT, expected, actual interface{}, msgAndArgs ...interface{}) bool
&lt;ul&gt;
&lt;li&gt;expected &amp;gt; actual &amp;#xC77C; &amp;#xACBD;&amp;#xC6B0; &amp;#xD14C;&amp;#xC2A4;&amp;#xD2B8; &amp;#xC131;&amp;#xACF5;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;func Len(t TestingT, object interface{}, length int, msgAndArgs ...interface{}) bool
&lt;ul&gt;
&lt;li&gt;object&amp;#xC758; &amp;#xAC1C;&amp;#xC218;&amp;#xAC00; length&amp;#xACFC; &amp;#xAC19;&amp;#xC744; &amp;#xACBD;&amp;#xC6B0; &amp;#xD14C;&amp;#xC2A4;&amp;#xD2B8; &amp;#xC131;&amp;#xACF5;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;func NotNil(t TestingT, object interface{}, msgAndArgs ...interface{}) bool
&lt;ul&gt;
&lt;li&gt;object&amp;#xAC00; nil&amp;#xC774; &amp;#xC544;&amp;#xB2D0;&amp;#xACBD;&amp;#xC6B0; &amp;#xD14C;&amp;#xC2A4;&amp;#xD2B8; &amp;#xC131;&amp;#xACF5;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;func NotEqualf(t TestingT, expected interface{}, actual interface{}, msg string, args ...interface{}) bool
&lt;ul&gt;
&lt;li&gt;expected != actual &amp;#xC77C; &amp;#xACBD;&amp;#xC6B0; &amp;#xD14C;&amp;#xC2A4;&amp;#xD2B8; &amp;#xC131;&amp;#xACF5;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 class=&quot;mume-header&quot; id=&quot;2-%EB%B2%A4%EC%B9%98%EB%A7%88%ED%81%AC&quot;&gt;2. &amp;#xBCA4;&amp;#xCE58;&amp;#xB9C8;&amp;#xD06C;&lt;/h2&gt;

&lt;p&gt;Go&amp;#xC5D0;&amp;#xC11C;&amp;#xB294; &amp;#xCF54;&amp;#xB4DC; &amp;#xC131;&amp;#xB2A5;&amp;#xC744; &amp;#xAC80;&amp;#xC0AC;&amp;#xD558;&amp;#xB294; &amp;#xBCA4;&amp;#xCE58;&amp;#xB9C8;&amp;#xD06C; &amp;#xAE30;&amp;#xB2A5;&amp;#xC744; &amp;#xC9C0;&amp;#xC6D0;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xBCA4;&amp;#xCE58;&amp;#xB9C8;&amp;#xD06C;&amp;#xB294; &amp;#xC544;&amp;#xB798;&amp;#xC640; &amp;#xAC19;&amp;#xC740; &amp;#xD45C;&amp;#xC900; &amp;#xADDC;&amp;#xC57D;&amp;#xC744; &amp;#xAC00;&amp;#xC9C0;&amp;#xACE0; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&amp;#xD30C;&amp;#xC77C;&amp;#xBA85;&amp;#xC774; &lt;code&gt;_test.go&lt;/code&gt; &amp;#xB85C; &amp;#xB05D;&amp;#xB0A9;&amp;#xB2C8;&amp;#xB2E4;&lt;/li&gt;
&lt;li&gt;&amp;#xD14C;&amp;#xC2A4;&amp;#xD2B8; &amp;#xCF54;&amp;#xB4DC;&amp;#xB294; &lt;code&gt;func BenchmarkXxxxx(b *testing.B)&lt;/code&gt; &amp;#xD615;&amp;#xD0DC;&amp;#xC758; &amp;#xD568;&amp;#xC218;&amp;#xB85C; &amp;#xC791;&amp;#xC131;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;
&lt;ul&gt;
&lt;li&gt;testing &amp;#xD328;&amp;#xD0A4;&amp;#xC9C0; import&lt;/li&gt;
&lt;li&gt;&amp;#xD14C;&amp;#xC2A4;&amp;#xD2B8; &amp;#xD568;&amp;#xC218;&amp;#xC758; &amp;#xB9E4;&amp;#xAC1C;&amp;#xBCC0;&amp;#xC218;&amp;#xB294; `b *testing. B &amp;#xD558;&amp;#xB098;&amp;#xC5EC;&amp;#xC57C; &amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;#xBA3C;&amp;#xC800; &amp;#xBCA4;&amp;#xCE58;&amp;#xB9C8;&amp;#xD06C; &amp;#xAE30;&amp;#xB2A5;&amp;#xC744; &amp;#xC774;&amp;#xC6A9;&amp;#xD558;&amp;#xC5EC; &amp;#xC131;&amp;#xB2A5; &amp;#xD14C;&amp;#xC2A4;&amp;#xD2B8;&amp;#xB97C; &amp;#xD558;&amp;#xAE30; &amp;#xC704;&amp;#xD55C; &amp;#xCF54;&amp;#xB4DC;&amp;#xB97C; &amp;#xC791;&amp;#xC131;&amp;#xD558;&amp;#xC600;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword keyword-package&quot;&gt;package&lt;/span&gt; main

&lt;span class=&quot;token keyword keyword-import&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;fmt&amp;quot;&lt;/span&gt;

&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;fibonacci1&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;n &lt;span class=&quot;token builtin&quot;&gt;int&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token builtin&quot;&gt;int&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-if&quot;&gt;if&lt;/span&gt; n &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
		&lt;span class=&quot;token keyword keyword-return&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;
	&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt; &lt;span class=&quot;token keyword keyword-else&quot;&gt;else&lt;/span&gt; &lt;span class=&quot;token keyword keyword-if&quot;&gt;if&lt;/span&gt; n &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;2&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
		&lt;span class=&quot;token keyword keyword-return&quot;&gt;return&lt;/span&gt; n
	&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-return&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;fibonacci1&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;n&lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;+&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;fibonacci1&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;n&lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;fibonacci2&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;n &lt;span class=&quot;token builtin&quot;&gt;int&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token builtin&quot;&gt;int&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-if&quot;&gt;if&lt;/span&gt; n &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
		&lt;span class=&quot;token keyword keyword-return&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;
	&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt; &lt;span class=&quot;token keyword keyword-else&quot;&gt;else&lt;/span&gt; &lt;span class=&quot;token keyword keyword-if&quot;&gt;if&lt;/span&gt; n &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;2&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
		&lt;span class=&quot;token keyword keyword-return&quot;&gt;return&lt;/span&gt; n
	&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
	first &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;
	second &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;
	result &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;

	&lt;span class=&quot;token keyword keyword-for&quot;&gt;for&lt;/span&gt; i &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; i &lt;span class=&quot;token operator&quot;&gt;&amp;lt;=&lt;/span&gt; n&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; i&lt;span class=&quot;token operator&quot;&gt;++&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
		result &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; first &lt;span class=&quot;token operator&quot;&gt;+&lt;/span&gt; second
		first &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; second
		second &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; result
	&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-return&quot;&gt;return&lt;/span&gt; second
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;main&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;fibonacci1&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;10&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;fibonacci2&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;10&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;br&gt;
&lt;p&gt;&amp;#xBCA4;&amp;#xCE58;&amp;#xB9C8;&amp;#xD06C;&amp;#xB97C; &amp;#xB3CC;&amp;#xB9AC;&amp;#xAE30; &amp;#xC804;&amp;#xC5D0;, fibonnaci1, fibonnaci2 &amp;#xD568;&amp;#xC218;&amp;#xAC00; &amp;#xC6D0;&amp;#xD558;&amp;#xB294;&amp;#xB300;&amp;#xB85C; &amp;#xC791; &amp;#xB3CC;&amp;#xC544;&amp;#xAC00;&amp;#xB294;&amp;#xC9C0; &amp;#xD14C;&amp;#xC2A4;&amp;#xD2B8; &amp;#xCF54;&amp;#xB4DC;&amp;#xB85C; &amp;#xD655;&amp;#xC778;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword keyword-package&quot;&gt;package&lt;/span&gt; main

&lt;span class=&quot;token keyword keyword-import&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;
	&lt;span class=&quot;token string&quot;&gt;&amp;quot;github.com/stretchr/testify/assert&amp;quot;&lt;/span&gt;
	&lt;span class=&quot;token string&quot;&gt;&amp;quot;testing&amp;quot;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;

&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;TestFibonnacci1&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;t &lt;span class=&quot;token operator&quot;&gt;*&lt;/span&gt;testing&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;T&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	assert &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; assert&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;New&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;t&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	assert&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Equal&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;fibonacci1&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;fibonacci1(-1) &amp;#xACB0;&amp;#xACFC;&amp;#xB294; 0&amp;#xC774;&amp;#xC5B4;&amp;#xC57C; &amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	assert&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Equal&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;fibonacci1&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;fibonacci1(0) &amp;#xACB0;&amp;#xACFC;&amp;#xB294; 0&amp;#xC774;&amp;#xC5B4;&amp;#xC57C; &amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	assert&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Equal&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;fibonacci1&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;fibonacci1(1) &amp;#xACB0;&amp;#xACFC;&amp;#xB294; 1&amp;#xC774;&amp;#xC5B4;&amp;#xC57C; &amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	assert&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Equal&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;21&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;fibonacci1&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;8&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;fibonacci1(8) &amp;#xACB0;&amp;#xACFC;&amp;#xB294; 21&amp;#xC774;&amp;#xC5B4;&amp;#xC57C; &amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	assert&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Equal&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;55&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;fibonacci1&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;10&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;fibonacci1(10) &amp;#xACB0;&amp;#xACFC;&amp;#xB294; 55&amp;#xC774;&amp;#xC5B4;&amp;#xC57C; &amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;TestFibonnacci2&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;t &lt;span class=&quot;token operator&quot;&gt;*&lt;/span&gt;testing&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;T&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	assert &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; assert&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;New&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;t&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	assert&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Equal&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;fibonacci2&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;fibonacci2(-1) &amp;#xACB0;&amp;#xACFC;&amp;#xB294; 0&amp;#xC774;&amp;#xC5B4;&amp;#xC57C; &amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	assert&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Equal&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;fibonacci2&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;fibonacci2(0) &amp;#xACB0;&amp;#xACFC;&amp;#xB294; 0&amp;#xC774;&amp;#xC5B4;&amp;#xC57C; &amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	assert&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Equal&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;fibonacci2&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;fibonacci2(1) &amp;#xACB0;&amp;#xACFC;&amp;#xB294; 1&amp;#xC774;&amp;#xC5B4;&amp;#xC57C; &amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	assert&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Equal&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;21&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;fibonacci2&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;8&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;fibonacci2(8) &amp;#xACB0;&amp;#xACFC;&amp;#xB294; 21&amp;#xC774;&amp;#xC5B4;&amp;#xC57C; &amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	assert&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Equal&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;55&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;fibonacci2&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;10&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;fibonacci2(10) &amp;#xACB0;&amp;#xACFC;&amp;#xB294; 55&amp;#xC774;&amp;#xC5B4;&amp;#xC57C; &amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;PASS
ok      goplayground/ex28.2     &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;.658s
&lt;/pre&gt;&lt;br&gt;
&lt;p&gt;&amp;#xAC01; &amp;#xBCA4;&amp;#xCE58;&amp;#xB9C8;&amp;#xD06C; &amp;#xD568;&amp;#xC218;&amp;#xC5D0;&amp;#xC11C; &lt;strong&gt;b.N&lt;/strong&gt; &amp;#xB9CC;&amp;#xD07C; &amp;#xBC18;&amp;#xBCF5;&amp;#xBB38;&amp;#xC744; &amp;#xC2E4;&amp;#xD589;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
Go&amp;#xC5D0;&amp;#xC11C;&amp;#xB294; N&amp;#xAC12;&amp;#xC744; &amp;#xC801;&amp;#xC808;&amp;#xD788; &amp;#xC99D;&amp;#xAC00;&amp;#xC2DC;&amp;#xD0A4;&amp;#xBA74;&amp;#xC11C; &amp;#xCDA9;&amp;#xBD84;&amp;#xD788; &amp;#xD14C;&amp;#xC2A4;&amp;#xD2B8;&amp;#xB97C; &amp;#xD558;&amp;#xC5EC; &amp;#xD568;&amp;#xC218; &amp;#xC131;&amp;#xB2A5;&amp;#xC744; &amp;#xCE21;&amp;#xC815;&amp;#xD574;&amp;#xC90D;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword keyword-package&quot;&gt;package&lt;/span&gt; main

&lt;span class=&quot;token keyword keyword-import&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;
	&lt;span class=&quot;token string&quot;&gt;&amp;quot;github.com/stretchr/testify/assert&amp;quot;&lt;/span&gt;
	&lt;span class=&quot;token string&quot;&gt;&amp;quot;testing&amp;quot;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;

&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;BenchmarkFibonacci1&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;b &lt;span class=&quot;token operator&quot;&gt;*&lt;/span&gt;testing&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;B&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-for&quot;&gt;for&lt;/span&gt; i &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; i &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt; b&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;N&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; i&lt;span class=&quot;token operator&quot;&gt;++&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
		&lt;span class=&quot;token function&quot;&gt;fibonacci1&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;20&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;BenchmarkFibonacci2&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;b &lt;span class=&quot;token operator&quot;&gt;*&lt;/span&gt;testing&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;B&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-for&quot;&gt;for&lt;/span&gt; i &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; i &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt; b&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;N&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; i&lt;span class=&quot;token operator&quot;&gt;++&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
		&lt;span class=&quot;token function&quot;&gt;fibonacci2&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;20&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;p&gt;&lt;code&gt;-bench .&lt;/code&gt; &amp;#xC635;&amp;#xC158;&amp;#xC744; &amp;#xC774;&amp;#xC6A9;&amp;#xD558;&amp;#xC5EC; &amp;#xD604;&amp;#xC7AC; &amp;#xBAA8;&amp;#xB4C8;&amp;#xC5D0; &amp;#xC788;&amp;#xB294; &amp;#xBCA4;&amp;#xCE58;&amp;#xB9C8;&amp;#xD06C;&amp;#xB97C; &amp;#xD14C;&amp;#xC2A4;&amp;#xD2B8;&amp;#xB97C; &amp;#xC2E4;&amp;#xD589;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;go &lt;span class=&quot;token builtin class-name&quot;&gt;test&lt;/span&gt; -bench &lt;span class=&quot;token builtin class-name&quot;&gt;.&lt;/span&gt;
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;goos: darwin
goarch: arm64
pkg: goplayground/ex28.2
BenchmarkFibonacci1-10             &lt;span class=&quot;token number&quot;&gt;48760&lt;/span&gt;             &lt;span class=&quot;token number&quot;&gt;24825&lt;/span&gt; ns/op
BenchmarkFibonacci2-10          &lt;span class=&quot;token number&quot;&gt;167900041&lt;/span&gt;                &lt;span class=&quot;token number&quot;&gt;7.157&lt;/span&gt; ns/op
PASS
ok      goplayground/ex28.2     &lt;span class=&quot;token number&quot;&gt;3&lt;/span&gt;.546s
&lt;/pre&gt;&lt;p&gt;fibonacci1 &amp;#xD568;&amp;#xC218;&amp;#xB294; 24825 ns &amp;#xAC00; &amp;#xAC78;&amp;#xB838;&amp;#xACE0;, fibonnaci2 &amp;#xD568;&amp;#xC218;&amp;#xB294; 7.157ns &amp;#xAC00; &amp;#xAC78;&amp;#xB838;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
fibonacci1 &amp;#xD568;&amp;#xC218;&amp;#xAC00; &amp;#xC7AC;&amp;#xADC0;&amp;#xD568;&amp;#xC218;&amp;#xB97C; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD558;&amp;#xACE0; &amp;#xC788;&amp;#xAE30; &amp;#xB54C;&amp;#xBB38;&amp;#xC5D0; &amp;#xC131;&amp;#xB2A5;&amp;#xC774; &amp;#xD604;&amp;#xC800;&amp;#xD788; &amp;#xB5A8;&amp;#xC5B4;&amp;#xC9C0;&amp;#xB294; &amp;#xAC83;&amp;#xC744; &amp;#xD655;&amp;#xC778;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC5C8;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;

  &lt;/div&gt;&lt;/div&gt;</description>
      <category>Go</category>
      <category>go</category>
      <author>jiniya22</author>
      <guid isPermaLink="true">https://jini-box.tistory.com/239</guid>
      <comments>https://jini-box.tistory.com/239#entry239comment</comments>
      <pubDate>Wed, 13 Mar 2024 18:08:51 +0900</pubDate>
    </item>
    <item>
      <title>[Go] 18. 채널</title>
      <link>https://jini-box.tistory.com/238</link>
      <description>&lt;div id=&quot;html-export&quot;&gt;
      &lt;div class=&quot;mume markdown-preview  &quot;&gt;
      &lt;p&gt;channel&amp;#xC740; &amp;#xACE0;&amp;#xB8E8;&amp;#xD2F4;&amp;#xAC04;&amp;#xC5D0; &amp;#xBA54;&amp;#xC2DC;&amp;#xC9C0;&amp;#xB97C; &amp;#xC804;&amp;#xB2EC;&amp;#xD558;&amp;#xB294; &amp;#xBA54;&amp;#xC2DC;&amp;#xC9C0; &amp;#xD050;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 class=&quot;mume-header&quot; id=&quot;1-%EA%B8%B0%EB%B3%B8-%EB%AC%B8%EB%B2%95&quot;&gt;1. &amp;#xAE30;&amp;#xBCF8; &amp;#xBB38;&amp;#xBC95;&lt;/h2&gt;

&lt;p&gt;&amp;#xCC44;&amp;#xB110; &amp;#xC778;&amp;#xC2A4;&amp;#xD134;&amp;#xC2A4;&amp;#xB294; make() &amp;#xB0B4;&amp;#xC7A5;&amp;#xD568;&amp;#xC218;&amp;#xB85C; &amp;#xB9CC;&amp;#xB4E4; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword keyword-var&quot;&gt;var&lt;/span&gt; &amp;#xBCC0;&amp;#xC218;&amp;#xBA85; &lt;span class=&quot;token keyword keyword-chan&quot;&gt;chan&lt;/span&gt; &amp;#xCC44;&amp;#xB110;&amp;#xD0C0;&amp;#xC785; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;make&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token keyword keyword-chan&quot;&gt;chan&lt;/span&gt; &amp;#xCC44;&amp;#xB110;&amp;#xD0C0;&amp;#xC785;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;/pre&gt;&lt;p&gt;&amp;#xCC44;&amp;#xB110;&amp;#xC5D0; &amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xB97C; &amp;#xB123;&amp;#xAE30; &amp;#xC704;&amp;#xD574;&amp;#xC11C;&amp;#xB294; &lt;code&gt;&amp;lt;-&lt;/code&gt; &amp;#xC5F0;&amp;#xC0B0;&amp;#xC790;&amp;#xB97C; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD558;&amp;#xACE0;,&lt;br&gt;
&amp;#xCC44;&amp;#xB110;&amp;#xB85C;&amp;#xBD80;&amp;#xD130; &amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xB97C; &amp;#xBE84; &amp;#xB54C;&amp;#xC5D0;&amp;#xB3C4; &lt;code&gt;&amp;lt;-&lt;/code&gt; &amp;#xC5F0;&amp;#xC0B0;&amp;#xC790;&amp;#xB97C; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xC544;&amp;#xB798;&amp;#xB294; messages &amp;#xB77C;&amp;#xB294; &amp;#xC774;&amp;#xB984;&amp;#xC758; &amp;#xCC44;&amp;#xB110;&amp;#xC5D0; &amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xB97C; &amp;#xB123;&amp;#xACE0;, &amp;#xBE7C;&amp;#xB294; &amp;#xC608;&amp;#xC81C;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword keyword-var&quot;&gt;var&lt;/span&gt; messages &lt;span class=&quot;token keyword keyword-chan&quot;&gt;chan&lt;/span&gt; &lt;span class=&quot;token builtin&quot;&gt;string&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;make&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token keyword keyword-chan&quot;&gt;chan&lt;/span&gt; &lt;span class=&quot;token builtin&quot;&gt;string&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
messages &lt;span class=&quot;token operator&quot;&gt;&amp;lt;-&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;apple&amp;quot;&lt;/span&gt;
&lt;/pre&gt;&lt;br&gt;
&lt;p&gt;&amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xB97C; &amp;#xBE7C;&amp;#xB824;&amp;#xACE0; &amp;#xC2DC;&amp;#xB3C4;&amp;#xD560; &amp;#xB54C;, &amp;#xB9CC;&amp;#xC57D; messages &amp;#xC5D0; &lt;strong&gt;&amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xAC00; &amp;#xB4E4;&amp;#xC5B4;&amp;#xC788;&amp;#xC9C0; &amp;#xC54A;&amp;#xC744; &amp;#xACBD;&amp;#xC6B0;, &amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xAC00; &amp;#xB4E4;&amp;#xC5B4;&amp;#xC62C; &amp;#xB54C;&amp;#xAE4C;&amp;#xC9C0; &amp;#xB300;&amp;#xAE30;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/strong&gt;&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword keyword-var&quot;&gt;var&lt;/span&gt; message &lt;span class=&quot;token builtin&quot;&gt;string&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;&amp;lt;-&lt;/span&gt; messages
&lt;/pre&gt;&lt;br&gt;
&lt;p&gt;&amp;#xCC44;&amp;#xB110;&amp;#xC740; &amp;#xD504;&amp;#xB85C;&amp;#xADF8;&amp;#xB798;&amp;#xBC0D;&amp;#xC801;&amp;#xC73C;&amp;#xB85C; &amp;#xC548;&amp;#xC804;&amp;#xD558;&amp;#xAC8C; &amp;#xCF54;&amp;#xB529;&amp;#xD558;&amp;#xAE30; &amp;#xC704;&amp;#xD574;&lt;br&gt;
&amp;#xC798;&amp;#xBABB; &amp;#xC791;&amp;#xC131;&amp;#xB41C; &amp;#xC0C1;&amp;#xD669;&amp;#xC744; &amp;#xBC29;&amp;#xC9C0;&amp;#xD558;&amp;#xAE30; &amp;#xC704;&amp;#xD55C; &amp;#xC6A9;&amp;#xB3C4;&amp;#xB85C; &amp;#xC544;&amp;#xB798;&amp;#xC640; &amp;#xAC19;&amp;#xC774; &amp;#xC791;&amp;#xC131;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xC218;&amp;#xC2E0;/&amp;#xC1A1;&amp;#xC2E0;&amp;#xB9CC; &amp;#xD558;&amp;#xB294; &amp;#xCC44;&amp;#xB110;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;func sendChan(ch chan &amp;lt;- string)&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;func receiveChan(ch &amp;lt;-chan string)&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h3 class=&quot;mume-header&quot; id=&quot;11-%EA%B0%84%EB%8B%A8%ED%95%9C-%EC%98%88%EC%A0%9C&quot;&gt;1.1. &amp;#xAC04;&amp;#xB2E8;&amp;#xD55C; &amp;#xC608;&amp;#xC81C;&lt;/h3&gt;

&lt;p&gt;&amp;#xCC44;&amp;#xB110; &amp;#xC778;&amp;#xC2A4;&amp;#xD134;&amp;#xC2A4; ch&amp;#xB97C; &amp;#xB9CC;&amp;#xB4E4;&amp;#xACE0;, &amp;#xADF8; &amp;#xCC44;&amp;#xB110; &amp;#xC778;&amp;#xC2A4;&amp;#xD134;&amp;#xC2A4;&amp;#xB97C; &amp;#xD65C;&amp;#xC6A9;&amp;#xD558;&amp;#xB294; &amp;#xACE0;&amp;#xB8E8;&amp;#xD2F4;&amp;#xC744; &amp;#xC0DD;&amp;#xC131;&amp;#xD558;&amp;#xB294; &amp;#xC608;&amp;#xC81C;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&lt;code&gt;go power(&amp;amp;wg, ch)&lt;/code&gt; &amp;#xCF54;&amp;#xB4DC;&amp;#xC5D0;&amp;#xC11C; &amp;#xC544;&amp;#xC9C1; ch &amp;#xC778;&amp;#xC2A4;&amp;#xD134;&amp;#xC2A4;&amp;#xC5D0; &amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xAC00; &amp;#xB4E4;&amp;#xC5B4;&amp;#xC788;&amp;#xC9C0; &amp;#xC54A;&amp;#xC544;, &amp;#xB300;&amp;#xAE30;&amp;#xC0C1;&amp;#xD0DC;&amp;#xB85C; &amp;#xAE30;&amp;#xB2E4;&amp;#xB9AC;&amp;#xB2E4;&amp;#xAC00;&lt;br&gt;
&amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xAC00; &amp;#xB4E4;&amp;#xC5B4;&amp;#xC624;&amp;#xBA74; &amp;#xACE0;&amp;#xB8E8;&amp;#xD2F4;&amp;#xC744; &amp;#xC2E4;&amp;#xD589;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword keyword-package&quot;&gt;package&lt;/span&gt; main

&lt;span class=&quot;token keyword keyword-import&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;
	&lt;span class=&quot;token string&quot;&gt;&amp;quot;fmt&amp;quot;&lt;/span&gt;
	&lt;span class=&quot;token string&quot;&gt;&amp;quot;sync&amp;quot;&lt;/span&gt;
	&lt;span class=&quot;token string&quot;&gt;&amp;quot;time&amp;quot;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;

&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;main&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-var&quot;&gt;var&lt;/span&gt; wg sync&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;WaitGroup
	ch &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;make&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token keyword keyword-chan&quot;&gt;chan&lt;/span&gt; &lt;span class=&quot;token builtin&quot;&gt;int&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	wg&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Add&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-go&quot;&gt;go&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;power&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt;wg&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; ch&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;data insert before&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	ch &lt;span class=&quot;token operator&quot;&gt;&amp;lt;-&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;5&lt;/span&gt;
	fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;data insert after&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	wg&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Wait&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;power&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;wg &lt;span class=&quot;token operator&quot;&gt;*&lt;/span&gt;sync&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;WaitGroup&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; ch &lt;span class=&quot;token keyword keyword-chan&quot;&gt;chan&lt;/span&gt; &lt;span class=&quot;token builtin&quot;&gt;int&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;power function start&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	num &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;&amp;lt;-&lt;/span&gt;ch
	time&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Sleep&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;time&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;Second&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Printf&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;%d&amp;#xC758; &amp;#xAC70;&amp;#xB4ED;&amp;#xC81C;&amp;#xACF1;&amp;#xC740; %d\n&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; num&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; num&lt;span class=&quot;token operator&quot;&gt;*&lt;/span&gt;num&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;power function end&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	wg&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Done&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;data insert before
power &lt;span class=&quot;token keyword keyword-function&quot;&gt;function&lt;/span&gt; start
data insert after
&lt;span class=&quot;token number&quot;&gt;5&lt;/span&gt;&amp;#xC758; &amp;#xAC70;&amp;#xB4ED;&amp;#xC81C;&amp;#xACF1;&amp;#xC740; &lt;span class=&quot;token number&quot;&gt;25&lt;/span&gt;
power &lt;span class=&quot;token keyword keyword-function&quot;&gt;function&lt;/span&gt; end
&lt;/pre&gt;&lt;blockquote&gt;
&lt;p&gt;&amp;#xCC44;&amp;#xB110; &amp;#xC778;&amp;#xC2A4;&amp;#xD134;&amp;#xC2A4;&amp;#xC5D0; &amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xAC00; &amp;#xB4E4;&amp;#xC5B4;&amp;#xC62C; &amp;#xB54C;&amp;#xAE4C;&amp;#xC9C0;, power &amp;#xD568;&amp;#xC218; &amp;#xB0B4;&amp;#xC758; &lt;code&gt;fmt.Println&lt;/code&gt; &amp;#xAC00; &amp;#xCD9C;&amp;#xB825;&amp;#xB418;&amp;#xC9C0; &amp;#xC54A;&amp;#xACE0; &amp;#xB300;&amp;#xAE30;&amp;#xD558;&amp;#xACE0; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr&gt;
&lt;h2 class=&quot;mume-header&quot; id=&quot;2-%EC%B1%84%EB%84%90-%ED%81%AC%EA%B8%B0&quot;&gt;2. &amp;#xCC44;&amp;#xB110; &amp;#xD06C;&amp;#xAE30;&lt;/h2&gt;

&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;ch &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;make&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token keyword keyword-chan&quot;&gt;chan&lt;/span&gt; &lt;span class=&quot;token builtin&quot;&gt;string&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;/pre&gt;&lt;p&gt;&amp;#xCC44;&amp;#xB110; &amp;#xC0DD;&amp;#xC131;&amp;#xC2DC; &amp;#xC704;&amp;#xC640; &amp;#xAC19;&amp;#xC774; make &amp;#xD568;&amp;#xC218;&amp;#xB0B4;&amp;#xC5D0; &amp;#xC778;&amp;#xC790;&amp;#xB97C; &amp;#xD558;&amp;#xB098;&amp;#xB9CC; &amp;#xC124;&amp;#xC815;&amp;#xD560; &amp;#xACBD;&amp;#xC6B0;, &amp;#xD06C;&amp;#xAE30;&amp;#xAC00; 0&amp;#xC778; &amp;#xCC44;&amp;#xB110;&amp;#xC774; &amp;#xB9CC;&amp;#xB4E4;&amp;#xC5B4;&amp;#xC9D1;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xD06C;&amp;#xAE30;&amp;#xAC00; 0&amp;#xC778; &amp;#xCC44;&amp;#xB110;&amp;#xC740; &lt;u&gt;&amp;#xB4E4;&amp;#xC5B4;&amp;#xC628; &amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xB97C; &amp;#xB2F4;&amp;#xC544;&amp;#xB450;&amp;#xC9C0; &amp;#xC54A;&amp;#xACE0; &amp;#xC218;&amp;#xC2E0;&amp;#xC790;&amp;#xAC00; &amp;#xC18C;&amp;#xBE44;&amp;#xD560; &amp;#xB54C;&amp;#xAE4C;&amp;#xC9C0; &amp;#xB300;&amp;#xAE30;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/u&gt;&lt;/p&gt;
&lt;p&gt;&amp;#xCC44;&amp;#xB110; &amp;#xD06C;&amp;#xAE30;&amp;#xAC00; 0&amp;#xC778; &amp;#xCC44;&amp;#xB110; &amp;#xC778;&amp;#xC2A4;&amp;#xD134;&amp;#xC2A4;&amp;#xC5D0; &amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xB97C; &amp;#xB2F4;&amp;#xC544;&amp;#xB450;&amp;#xACE0; &amp;#xC18C;&amp;#xBE44;&amp;#xD558;&amp;#xC9C0; &amp;#xC54A;&amp;#xC744; &amp;#xACBD;&amp;#xC6B0;,  deadlock&amp;#xC774; &amp;#xAC78;&amp;#xB9AC;&amp;#xBA74;&amp;#xC11C; &amp;#xD504;&amp;#xB85C;&amp;#xADF8;&amp;#xB7A8;&amp;#xC774; &amp;#xBA48;&amp;#xCDA5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xC704;&amp;#xC758; &amp;#xC608;&amp;#xC81C;&amp;#xCF54;&amp;#xB4DC;&amp;#xC5D0;&amp;#xC11C;, &amp;#xCC44;&amp;#xB110;&amp;#xC5D0; &amp;#xB123;&amp;#xC740; &amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xB97C; &amp;#xC18C;&amp;#xBE44;&amp;#xD558;&amp;#xC9C0; &amp;#xC54A;&amp;#xB3C4;&amp;#xB85D; &amp;#xCF54;&amp;#xB4DC;&amp;#xB97C; &amp;#xC544;&amp;#xB798;&amp;#xC640; &amp;#xAC19;&amp;#xC774; &amp;#xBCC0;&amp;#xACBD;&amp;#xD560; &amp;#xACBD;&amp;#xC6B0;, &amp;#xB370;&amp;#xB4DC;&amp;#xB77D; &amp;#xBC1C;&amp;#xC0DD; &amp;#xD6C4; &amp;#xD504;&amp;#xB85C;&amp;#xADF8;&amp;#xB7A8;&amp;#xC774; &amp;#xAC15;&amp;#xC81C;&amp;#xC885;&amp;#xB8CC; &amp;#xB418;&amp;#xB294; &amp;#xAC83;&amp;#xC744; &amp;#xD655;&amp;#xC778;&amp;#xD560; &amp;#xC218; &amp;#xC787;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xC774; &amp;#xB54C;, &amp;#xCC44;&amp;#xB110; &amp;#xC778;&amp;#xC2A4;&amp;#xD134;&amp;#xC2A4;&amp;#xC5D0; &amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xB97C; &amp;#xD560;&amp;#xB2F9;&amp;#xD558;&amp;#xB294; &amp;#xCF54;&amp;#xB4DC; &amp;#xC544;&amp;#xD6C4;&amp;#xC758; &amp;#xB85C;&amp;#xC9C1;&amp;#xC740; &amp;#xB3D9;&amp;#xC791;&amp;#xB418;&amp;#xC9C0; &amp;#xC54A;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xC544;&amp;#xB798; &amp;#xC608;&amp;#xC81C;&amp;#xC5D0;&amp;#xC11C;&amp;#xB3C4; &lt;code&gt;data insert after&lt;/code&gt; &amp;#xB294; &amp;#xCD9C;&amp;#xB825;&amp;#xB418;&amp;#xC9C0; &amp;#xC54A;&amp;#xC740; &amp;#xAC83;&amp;#xC744; &amp;#xD655;&amp;#xC778;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;main&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-var&quot;&gt;var&lt;/span&gt; wg sync&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;WaitGroup
	ch &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;make&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token keyword keyword-chan&quot;&gt;chan&lt;/span&gt; &lt;span class=&quot;token builtin&quot;&gt;int&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	wg&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Add&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-go&quot;&gt;go&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;power&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt;wg&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; ch&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;data insert before&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	ch &lt;span class=&quot;token operator&quot;&gt;&amp;lt;-&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;5&lt;/span&gt;
	fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;data insert after&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	wg&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Wait&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;power&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;wg &lt;span class=&quot;token operator&quot;&gt;*&lt;/span&gt;sync&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;WaitGroup&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; ch &lt;span class=&quot;token keyword keyword-chan&quot;&gt;chan&lt;/span&gt; &lt;span class=&quot;token builtin&quot;&gt;int&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;power function start&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	time&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Sleep&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;time&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;Second&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;power function end&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	wg&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Done&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;data insert before
power &lt;span class=&quot;token keyword keyword-function&quot;&gt;function&lt;/span&gt; start
power &lt;span class=&quot;token keyword keyword-function&quot;&gt;function&lt;/span&gt; end
fatal error: all goroutines are asleep - deadlock&lt;span class=&quot;token operator&quot;&gt;!&lt;/span&gt;

goroutine &lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;chan send&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;:
main.main&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
        /Users/sherry/jini_box/jinispaces/go/goplayground/ch25/ex25.1/ex25.1.go:15 +0xe8
&lt;/pre&gt;&lt;hr&gt;
&lt;h2 class=&quot;mume-header&quot; id=&quot;3-%EB%B2%84%ED%8D%BC%EB%A5%BC-%EA%B0%80%EC%A7%84-%EC%B1%84%EB%84%90&quot;&gt;3. &amp;#xBC84;&amp;#xD37C;&amp;#xB97C; &amp;#xAC00;&amp;#xC9C4; &amp;#xCC44;&amp;#xB110;&lt;/h2&gt;

&lt;p&gt;&amp;#xBC84;&amp;#xD37C;&amp;#xB294; &amp;#xB0B4;&amp;#xBD80;&amp;#xC5D0; &amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xB97C; &amp;#xBCF4;&amp;#xAD00;&amp;#xD560;&amp;#xC218; &amp;#xC788;&amp;#xB294; &amp;#xBA54;&amp;#xBAA8;&amp;#xB9AC; &amp;#xC601;&amp;#xC5ED;&amp;#xC744; &amp;#xB9D0;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xBC84;&amp;#xD37C;&amp;#xB97C; &amp;#xAC00;&amp;#xC9C4; &amp;#xCC44;&amp;#xB110;&amp;#xC744; &amp;#xC0DD;&amp;#xC131;&amp;#xD558;&amp;#xACE0; &amp;#xC2F6;&amp;#xB2E4;&amp;#xBA74;, make &amp;#xD568;&amp;#xC218;&amp;#xB85C; &amp;#xCC44;&amp;#xB110; &amp;#xC778;&amp;#xC2A4;&amp;#xD134;&amp;#xC2A4;&amp;#xB97C; &amp;#xC0DD;&amp;#xC131;&amp;#xD560; &amp;#xB54C;, &amp;#xB450;&amp;#xBC88;&amp;#xC9F8; &amp;#xC778;&amp;#xC790;&amp;#xAC12;&amp;#xC5D0; &amp;#xBC84;&amp;#xD37C; &amp;#xD06C;&amp;#xAE30;&amp;#xB97C; &amp;#xC124;&amp;#xC815;&amp;#xD558;&amp;#xBA74; &amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;ch &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;make&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token keyword keyword-chan&quot;&gt;chan&lt;/span&gt; &lt;span class=&quot;token builtin&quot;&gt;string&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;/pre&gt;&lt;p&gt;&amp;#xBC84;&amp;#xD37C; &amp;#xD06C;&amp;#xAE30;&amp;#xAC00; &amp;#xC788;&amp;#xB294; &amp;#xCC44;&amp;#xB110;&amp;#xC758; &amp;#xACBD;&amp;#xC6B0;, &amp;#xBC84;&amp;#xD37C; &amp;#xD06C;&amp;#xAE30;&amp;#xB9CC;&amp;#xD07C; &amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xB97C; &amp;#xB2F4;&amp;#xC544;&amp;#xB458; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xBC84;&amp;#xD37C;&amp;#xC5D0; &amp;#xB2F4;&amp;#xAE30;&amp;#xC9C0; &amp;#xC54A;&amp;#xC740; &amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xAC00; &amp;#xC788;&amp;#xC9C0; &amp;#xC54A;&amp;#xB294;&amp;#xB2E4;&amp;#xBA74; &amp;#xBC84;&amp;#xD37C;&amp;#xC5D0; &amp;#xB4E4;&amp;#xC5B4;&amp;#xC788;&amp;#xB294; &amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xB97C; &amp;#xC218;&amp;#xC2E0;&amp;#xD560; &amp;#xB54C;&amp;#xAE4C;&amp;#xC9C0; &amp;#xBB34;&amp;#xD55C;&amp;#xC815; &amp;#xB300;&amp;#xAE30;&amp;#xD558;&amp;#xC9C0; &amp;#xC54A;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;#xBC84;&amp;#xD37C;&amp;#xB97C; &amp;#xCD08;&amp;#xACFC;&amp;#xD558;&amp;#xB294; &amp;#xACBD;&amp;#xC6B0;&amp;#xC5D0;&amp;#xB294; &amp;#xBC84;&amp;#xD37C;&amp;#xAC00; &amp;#xC5C6;&amp;#xB294; &amp;#xCC44;&amp;#xB110;&amp;#xACFC; &amp;#xB3D9;&amp;#xC77C;&amp;#xD558;&amp;#xAC8C; &amp;#xB370;&amp;#xC774;&amp;#xD130; &amp;#xC18C;&amp;#xBE44;&amp;#xB97C; &amp;#xBB34;&amp;#xD55C;&amp;#xC815; &amp;#xAE30;&amp;#xB2E4;&amp;#xB9BD;&amp;#xB2C8;&amp;#xB2E4;. (&amp;#xC81C;&amp;#xB54C; &amp;#xC18C;&amp;#xBE44;&amp;#xB418;&amp;#xC9C0; &amp;#xC54A;&amp;#xC73C;&amp;#xBA74; deadlock&amp;#xC774; &amp;#xBC1C;&amp;#xC0DD;&amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;)&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr&gt;
&lt;h2 class=&quot;mume-header&quot; id=&quot;4-%EC%B1%84%EB%84%90-%EB%8B%AB%EA%B8%B0&quot;&gt;4. &amp;#xCC44;&amp;#xB110; &amp;#xB2EB;&amp;#xAE30;&lt;/h2&gt;

&lt;p&gt;&amp;#xCC44;&amp;#xB110; &amp;#xC778;&amp;#xC2A4;&amp;#xD134;&amp;#xC2A4;&amp;#xC5D0; &amp;#xB4E4;&amp;#xC5B4;&amp;#xC788;&amp;#xB294; &amp;#xAC12;&amp;#xB4E4;&amp;#xC744; &amp;#xCC98;&amp;#xB9AC;&amp;#xD558;&amp;#xB294; &amp;#xCF54;&amp;#xB4DC;&amp;#xB97C; &amp;#xC791;&amp;#xC131;&amp;#xD560; &amp;#xB54C;&amp;#xC5D0;&amp;#xB294; &amp;#xC8FC;&amp;#xC758;&amp;#xD574;&amp;#xC57C;&amp;#xD560; &amp;#xC810;&amp;#xC774; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xC544;&amp;#xB798; &amp;#xC608;&amp;#xC81C;&amp;#xB97C; &amp;#xBCF4;&amp;#xBA70; &amp;#xC124;&amp;#xBA85;&amp;#xC744; &amp;#xC774;&amp;#xC5B4;&amp;#xAC00;&amp;#xACA0;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword keyword-package&quot;&gt;package&lt;/span&gt; main

&lt;span class=&quot;token keyword keyword-import&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;
	&lt;span class=&quot;token string&quot;&gt;&amp;quot;fmt&amp;quot;&lt;/span&gt;
	&lt;span class=&quot;token string&quot;&gt;&amp;quot;sync&amp;quot;&lt;/span&gt;
	&lt;span class=&quot;token string&quot;&gt;&amp;quot;time&amp;quot;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;

&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;power&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;wg &lt;span class=&quot;token operator&quot;&gt;*&lt;/span&gt;sync&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;WaitGroup&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; ch &lt;span class=&quot;token keyword keyword-chan&quot;&gt;chan&lt;/span&gt; &lt;span class=&quot;token builtin&quot;&gt;int&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-for&quot;&gt;for&lt;/span&gt; num &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; &lt;span class=&quot;token keyword keyword-range&quot;&gt;range&lt;/span&gt; ch &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
		fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Printf&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;%d&amp;#xC758; &amp;#xAC70;&amp;#xB4ED;&amp;#xC81C;&amp;#xACF1;&amp;#xC740; %d\n&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; num&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; num&lt;span class=&quot;token operator&quot;&gt;*&lt;/span&gt;num&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
		time&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Sleep&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;200&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;*&lt;/span&gt; time&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;Millisecond&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
	wg&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Done&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;main&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-var&quot;&gt;var&lt;/span&gt; wg sync&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;WaitGroup
	ch &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;make&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token keyword keyword-chan&quot;&gt;chan&lt;/span&gt; &lt;span class=&quot;token builtin&quot;&gt;int&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;

	wg&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Add&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-go&quot;&gt;go&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;power&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt;wg&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; ch&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-for&quot;&gt;for&lt;/span&gt; i &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; i &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;10&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; i&lt;span class=&quot;token operator&quot;&gt;++&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
		ch &lt;span class=&quot;token operator&quot;&gt;&amp;lt;-&lt;/span&gt; i
	&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
	wg&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Wait&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;&lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&amp;#xC758; &amp;#xAC70;&amp;#xB4ED;&amp;#xC81C;&amp;#xACF1;&amp;#xC740; &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;
&lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;&amp;#xC758; &amp;#xAC70;&amp;#xB4ED;&amp;#xC81C;&amp;#xACF1;&amp;#xC740; &lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;
&lt;span class=&quot;token number&quot;&gt;2&lt;/span&gt;&amp;#xC758; &amp;#xAC70;&amp;#xB4ED;&amp;#xC81C;&amp;#xACF1;&amp;#xC740; &lt;span class=&quot;token number&quot;&gt;4&lt;/span&gt;
&lt;span class=&quot;token number&quot;&gt;3&lt;/span&gt;&amp;#xC758; &amp;#xAC70;&amp;#xB4ED;&amp;#xC81C;&amp;#xACF1;&amp;#xC740; &lt;span class=&quot;token number&quot;&gt;9&lt;/span&gt;
&lt;span class=&quot;token number&quot;&gt;4&lt;/span&gt;&amp;#xC758; &amp;#xAC70;&amp;#xB4ED;&amp;#xC81C;&amp;#xACF1;&amp;#xC740; &lt;span class=&quot;token number&quot;&gt;16&lt;/span&gt;
&lt;span class=&quot;token number&quot;&gt;5&lt;/span&gt;&amp;#xC758; &amp;#xAC70;&amp;#xB4ED;&amp;#xC81C;&amp;#xACF1;&amp;#xC740; &lt;span class=&quot;token number&quot;&gt;25&lt;/span&gt;
&lt;span class=&quot;token number&quot;&gt;6&lt;/span&gt;&amp;#xC758; &amp;#xAC70;&amp;#xB4ED;&amp;#xC81C;&amp;#xACF1;&amp;#xC740; &lt;span class=&quot;token number&quot;&gt;36&lt;/span&gt;
&lt;span class=&quot;token number&quot;&gt;7&lt;/span&gt;&amp;#xC758; &amp;#xAC70;&amp;#xB4ED;&amp;#xC81C;&amp;#xACF1;&amp;#xC740; &lt;span class=&quot;token number&quot;&gt;49&lt;/span&gt;
&lt;span class=&quot;token number&quot;&gt;8&lt;/span&gt;&amp;#xC758; &amp;#xAC70;&amp;#xB4ED;&amp;#xC81C;&amp;#xACF1;&amp;#xC740; &lt;span class=&quot;token number&quot;&gt;64&lt;/span&gt;
&lt;span class=&quot;token number&quot;&gt;9&lt;/span&gt;&amp;#xC758; &amp;#xAC70;&amp;#xB4ED;&amp;#xC81C;&amp;#xACF1;&amp;#xC740; &lt;span class=&quot;token number&quot;&gt;81&lt;/span&gt;
fatal error: all goroutines are asleep - deadlock&lt;span class=&quot;token operator&quot;&gt;!&lt;/span&gt;
&lt;/pre&gt;&lt;p&gt;&amp;#xC704;&amp;#xC758; &amp;#xCF54;&amp;#xB4DC;&amp;#xB294; &amp;#xBB38;&amp;#xC81C;&amp;#xC5C6;&amp;#xC774; &amp;#xC885;&amp;#xB8CC;&amp;#xB420;&amp;#xAC83; &amp;#xAC19;&amp;#xC9C0;&amp;#xB9CC;, &amp;#xC704;&amp;#xC640; &amp;#xAC19;&amp;#xC774; &amp;#xB370;&amp;#xB4DC;&amp;#xB77D;&amp;#xC774; &amp;#xBC1C;&amp;#xC0DD;&amp;#xB418;&amp;#xC5C8;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;ch &amp;#xC778;&amp;#xC2A4;&amp;#xD134;&amp;#xC2A4;&amp;#xC5D0; 10&amp;#xAC1C;&amp;#xC758; &amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xB97C; &amp;#xB123;&amp;#xC5CF;&amp;#xACE0;,  power &amp;#xACE0;&amp;#xB8E8;&amp;#xD2F4;&amp;#xC5D0;&amp;#xC11C; 10&amp;#xAC1C;&amp;#xC5D0; &amp;#xB300;&amp;#xD574;&amp;#xC11C; &amp;#xCC98;&amp;#xB9AC;&amp;#xD560;&amp;#xAC83;&amp;#xC744; &amp;#xC608;&amp;#xC0C1;&amp;#xD558;&amp;#xACA0;&amp;#xC9C0;&amp;#xB9CC;&lt;/p&gt;
&lt;p&gt;power &amp;#xACE0;&amp;#xB8E8;&amp;#xD2F4;&amp;#xC5D0;&amp;#xC11C;&amp;#xB294; &amp;#xC815;&amp;#xD655;&amp;#xD558;&amp;#xAC8C; ch&amp;#xC778;&amp;#xC2A4;&amp;#xD134;&amp;#xC2A4;&amp;#xC758; &amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xAC00; &amp;#xBA87;&amp;#xAC1C;&amp;#xC77C;&amp;#xC9C0; &amp;#xC608;&amp;#xCE21;&amp;#xD560; &amp;#xC218; &amp;#xC5C6;&amp;#xAE30; &amp;#xB54C;&amp;#xBB38;&amp;#xC5D0;, 10&amp;#xAC1C;&amp;#xC758; &amp;#xC785;&amp;#xB825;&amp;#xC744; &amp;#xBAA8;&amp;#xB450; &amp;#xB9C8;&amp;#xCE5C; &amp;#xD6C4;&amp;#xC5D0;&amp;#xB3C4; &amp;#xC5EC;&amp;#xC804;&amp;#xD788; &amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xC758; &amp;#xC785;&amp;#xB825;&amp;#xC744; &amp;#xBB34;&amp;#xD55C; &amp;#xB300;&amp;#xAE30;&amp;#xD558;&amp;#xB294; &amp;#xC0C1;&amp;#xD0DC;&amp;#xAC00; &amp;#xB418;&amp;#xC5B4;, &amp;#xB370;&amp;#xB4DC;&amp;#xB77D;&amp;#xC774; &amp;#xBC1C;&amp;#xC0DD;&amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;&amp;#xCC44;&amp;#xB110;&amp;#xC744; &amp;#xC81C;&amp;#xB54C;&amp;#xC5D0; &amp;#xB2EB;&amp;#xC544;&amp;#xC8FC;&amp;#xC9C0; &amp;#xC54A;&amp;#xC544; &amp;#xACE0;&amp;#xB8E8;&amp;#xD2F4;&amp;#xC5D0;&amp;#xC11C; &amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xB97C; &amp;#xBB34;&amp;#xD55C; &amp;#xB300;&amp;#xAE30;&amp;#xD558;&amp;#xB294; &amp;#xC0C1;&amp;#xD0DC;&lt;/strong&gt;&amp;#xC5D0; &amp;#xB300;&amp;#xD574; &lt;em&gt;&amp;#xC880;&amp;#xBE44; &amp;#xB8E8;&amp;#xD2F4;&lt;/em&gt; &amp;#xB610;&amp;#xB294; &lt;em&gt;&amp;#xACE0;&amp;#xB8E8;&amp;#xD2F4; leak&lt;/em&gt; &amp;#xC774;&amp;#xB77C;&amp;#xACE0; &amp;#xBD80;&amp;#xB985;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;br&gt;
&lt;p&gt;&amp;#xC5EC;&amp;#xB7EC;&amp;#xAC1C;&amp;#xC758; &amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xB97C; &amp;#xC785;&amp;#xB825;&amp;#xBC1B;&amp;#xACE0;, &amp;#xC785;&amp;#xB825;&amp;#xBC1B;&amp;#xC740; &amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xB4E4;&amp;#xC5D0; &amp;#xB300;&amp;#xD55C; &amp;#xCC98;&amp;#xB9AC;&amp;#xB97C; &amp;#xD558;&amp;#xACE0;&amp;#xC790; &amp;#xD560; &amp;#xB54C;&amp;#xC5D0;&amp;#xB294;, &amp;#xD574;&amp;#xB2F9; &amp;#xCC44;&amp;#xB110;&amp;#xC758; &amp;#xC785;&amp;#xB825;&amp;#xC744; &amp;#xB9C8;&amp;#xCE58;&amp;#xAE30; &amp;#xC704;&amp;#xD574; &lt;strong&gt;&amp;#xCC44;&amp;#xB110;&amp;#xC744; &amp;#xB2EB;&amp;#xC544;&amp;#xC918;&amp;#xC57C; &amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;for &amp;#xB8E8;&amp;#xD504;&amp;#xC5D0;&amp;#xC11C; &amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xB97C; &amp;#xC785;&amp;#xB825;&amp;#xC744; &amp;#xBAA8;&amp;#xB450; &amp;#xB9C8;&amp;#xCE5C; &amp;#xD6C4;, &lt;em&gt;close(ch)&lt;/em&gt; &amp;#xB85C; &amp;#xCC44;&amp;#xB110;&amp;#xC744; &amp;#xB2EB;&amp;#xC544;&amp;#xC8FC;&amp;#xBA74; &amp;#xB370;&amp;#xB4DC;&amp;#xB77D; &amp;#xC774;&amp;#xC288;&amp;#xB97C; &amp;#xD574;&amp;#xACB0;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;main&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-var&quot;&gt;var&lt;/span&gt; wg sync&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;WaitGroup
	ch &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;make&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token keyword keyword-chan&quot;&gt;chan&lt;/span&gt; &lt;span class=&quot;token builtin&quot;&gt;int&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;

	wg&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Add&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-go&quot;&gt;go&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;power&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt;wg&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; ch&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-for&quot;&gt;for&lt;/span&gt; i &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; i &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;10&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; i&lt;span class=&quot;token operator&quot;&gt;++&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
		ch &lt;span class=&quot;token operator&quot;&gt;&amp;lt;-&lt;/span&gt; i
	&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
	&lt;span class=&quot;token function&quot;&gt;close&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;ch&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	wg&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Wait&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;hr&gt;
&lt;h2 class=&quot;mume-header&quot; id=&quot;5-select-case&quot;&gt;5. select ... case&lt;/h2&gt;

&lt;p&gt;select &amp;#xBB38;&amp;#xC744; &amp;#xC774;&amp;#xC6A9;&amp;#xD558;&amp;#xC5EC; &amp;#xC5EC;&amp;#xB7EC; &amp;#xCC44;&amp;#xB110;&amp;#xC744; &amp;#xB300;&amp;#xAE30;&amp;#xD558;&amp;#xBA70;, &amp;#xAC01; &amp;#xCC44;&amp;#xB110;&amp;#xC5D0; &amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xAC00; &amp;#xB4E4;&amp;#xC5B4;&amp;#xC654;&amp;#xC744;&amp;#xC2DC;&amp;#xC5D0; &amp;#xB300;&amp;#xD55C; &amp;#xCC98;&amp;#xB9AC;&amp;#xB97C; &amp;#xD55C;&amp;#xBC88;&amp;#xC5D0; &amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword keyword-package&quot;&gt;package&lt;/span&gt; main

&lt;span class=&quot;token keyword keyword-import&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;
	&lt;span class=&quot;token string&quot;&gt;&amp;quot;fmt&amp;quot;&lt;/span&gt;
	&lt;span class=&quot;token string&quot;&gt;&amp;quot;sync&amp;quot;&lt;/span&gt;
	&lt;span class=&quot;token string&quot;&gt;&amp;quot;time&amp;quot;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;

&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;power&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;wg &lt;span class=&quot;token operator&quot;&gt;*&lt;/span&gt;sync&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;WaitGroup&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; nums &lt;span class=&quot;token keyword keyword-chan&quot;&gt;chan&lt;/span&gt; &lt;span class=&quot;token builtin&quot;&gt;int&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; quit &lt;span class=&quot;token keyword keyword-chan&quot;&gt;chan&lt;/span&gt; &lt;span class=&quot;token builtin&quot;&gt;bool&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-for&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
		&lt;span class=&quot;token keyword keyword-select&quot;&gt;select&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
		&lt;span class=&quot;token keyword keyword-case&quot;&gt;case&lt;/span&gt; num &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;&amp;lt;-&lt;/span&gt;nums&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
			fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Printf&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;%d&amp;#xC758; &amp;#xAC70;&amp;#xB4ED;&amp;#xC81C;&amp;#xACF1;&amp;#xC740; %d\n&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; num&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; num&lt;span class=&quot;token operator&quot;&gt;*&lt;/span&gt;num&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
			time&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Sleep&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;time&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;Second&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
		&lt;span class=&quot;token keyword keyword-case&quot;&gt;case&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;&amp;lt;-&lt;/span&gt;quit&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
			wg&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Done&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
			&lt;span class=&quot;token keyword keyword-return&quot;&gt;return&lt;/span&gt;
		&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
	&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;main&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-var&quot;&gt;var&lt;/span&gt; wg sync&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;WaitGroup
	nums &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;make&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token keyword keyword-chan&quot;&gt;chan&lt;/span&gt; &lt;span class=&quot;token builtin&quot;&gt;int&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	quit &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;make&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token keyword keyword-chan&quot;&gt;chan&lt;/span&gt; &lt;span class=&quot;token builtin&quot;&gt;bool&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	wg&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Add&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-go&quot;&gt;go&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;power&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt;wg&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; nums&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; quit&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-for&quot;&gt;for&lt;/span&gt; i &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; i &lt;span class=&quot;token operator&quot;&gt;&amp;lt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;5&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; i&lt;span class=&quot;token operator&quot;&gt;++&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
		nums &lt;span class=&quot;token operator&quot;&gt;&amp;lt;-&lt;/span&gt; i
	&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
	quit &lt;span class=&quot;token operator&quot;&gt;&amp;lt;-&lt;/span&gt; &lt;span class=&quot;token boolean&quot;&gt;true&lt;/span&gt;
	wg&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Wait&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;&lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;&amp;#xC758; &amp;#xAC70;&amp;#xB4ED;&amp;#xC81C;&amp;#xACF1;&amp;#xC740; &lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;
&lt;span class=&quot;token number&quot;&gt;2&lt;/span&gt;&amp;#xC758; &amp;#xAC70;&amp;#xB4ED;&amp;#xC81C;&amp;#xACF1;&amp;#xC740; &lt;span class=&quot;token number&quot;&gt;4&lt;/span&gt;
&lt;span class=&quot;token number&quot;&gt;3&lt;/span&gt;&amp;#xC758; &amp;#xAC70;&amp;#xB4ED;&amp;#xC81C;&amp;#xACF1;&amp;#xC740; &lt;span class=&quot;token number&quot;&gt;9&lt;/span&gt;
&lt;span class=&quot;token number&quot;&gt;4&lt;/span&gt;&amp;#xC758; &amp;#xAC70;&amp;#xB4ED;&amp;#xC81C;&amp;#xACF1;&amp;#xC740; &lt;span class=&quot;token number&quot;&gt;16&lt;/span&gt;
&lt;span class=&quot;token number&quot;&gt;5&lt;/span&gt;&amp;#xC758; &amp;#xAC70;&amp;#xB4ED;&amp;#xC81C;&amp;#xACF1;&amp;#xC740; &lt;span class=&quot;token number&quot;&gt;25&lt;/span&gt;
&lt;/pre&gt;&lt;hr&gt;
&lt;h2 class=&quot;mume-header&quot; id=&quot;6-context&quot;&gt;6. context&lt;/h2&gt;

&lt;p&gt;&amp;#xCEE8;&amp;#xD14D;&amp;#xC2A4;&amp;#xD2B8;&amp;#xB294; context &amp;#xD328;&amp;#xD0A4;&amp;#xC9C0;&amp;#xC5D0;&amp;#xC11C; &amp;#xC81C;&amp;#xACF5;&amp;#xD558;&amp;#xB294; &amp;#xAE30;&amp;#xB2A5;&amp;#xC73C;&amp;#xB85C;,&lt;br&gt;
&amp;#xC791;&amp;#xC5C5;&amp;#xC744; &amp;#xC9C0;&amp;#xC2DC;&amp;#xD560; &amp;#xB54C; &amp;#xC791;&amp;#xC5C5; &amp;#xAC00;&amp;#xB2A5;&amp;#xC2DC;&amp;#xAC04;, &amp;#xC791;&amp;#xC5C5; &amp;#xCDE8;&amp;#xC18C; &amp;#xB4F1;&amp;#xC758; &amp;#xC870;&amp;#xAC74;&amp;#xC744; &amp;#xC9C0;&amp;#xC2DC;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xB294; &amp;#xC791;&amp;#xC5C5; &amp;#xBA85;&amp;#xC138;&amp;#xC11C; &amp;#xC5ED;&amp;#xD560;&amp;#xC744; &amp;#xD558;&amp;#xBA70;, &amp;#xC791;&amp;#xC5C5; &amp;#xC124;&amp;#xC815;&amp;#xC5D0; &amp;#xB300;&amp;#xD55C; &amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xB97C; &amp;#xC804;&amp;#xB2EC;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&amp;#xC0C8;&amp;#xB85C;&amp;#xC6B4; &amp;#xACE0;&amp;#xB8E8;&amp;#xD2F4;&amp;#xC73C;&amp;#xB85C; &amp;#xC791;&amp;#xC5C5;&amp;#xC744; &amp;#xC2DC;&amp;#xC791;&amp;#xD560; &amp;#xB54C;, &amp;#xC77C;&amp;#xC815; &amp;#xC2DC;&amp;#xAC04;&amp;#xB3D9;&amp;#xC548;&amp;#xB9CC; &amp;#xC791;&amp;#xC5C5;&amp;#xC744; &amp;#xC9C0;&amp;#xC2DC;&amp;#xD560; &amp;#xB54C;&lt;/li&gt;
&lt;li&gt;&amp;#xC678;&amp;#xBD80;&amp;#xC5D0;&amp;#xC11C; &amp;#xC791;&amp;#xC5C5;&amp;#xC744; &amp;#xCDE8;&amp;#xC18C;&amp;#xD558;&amp;#xACE0;&amp;#xC790;&amp;#xD560; &amp;#xB54C;&lt;/li&gt;
&lt;/ul&gt;
&lt;br&gt;
&lt;h3 class=&quot;mume-header&quot; id=&quot;61-%EC%9E%91%EC%97%85-%EC%B7%A8%EC%86%8C%EA%B0%80-%EA%B0%80%EB%8A%A5%ED%95%9C-context&quot;&gt;6.1. &amp;#xC791;&amp;#xC5C5; &amp;#xCDE8;&amp;#xC18C;&amp;#xAC00; &amp;#xAC00;&amp;#xB2A5;&amp;#xD55C; context&lt;/h3&gt;

&lt;p&gt;&amp;#xC791;&amp;#xC5C5;&amp;#xC774; &amp;#xCDE8;&amp;#xC18C;&amp;#xB420; &amp;#xB54C;&amp;#xAE4C;&amp;#xC9C0; 1&amp;#xCD08;&amp;#xB9C8;&amp;#xB2E4; &amp;#xBA54;&amp;#xC2DC;&amp;#xC9C0;&amp;#xB97C; &amp;#xCD9C;&amp;#xB825;&amp;#xD558;&amp;#xB294; &amp;#xACE0;&amp;#xB8E8;&amp;#xD2F4;&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword keyword-package&quot;&gt;package&lt;/span&gt; main

&lt;span class=&quot;token keyword keyword-import&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;
	&lt;span class=&quot;token string&quot;&gt;&amp;quot;context&amp;quot;&lt;/span&gt;
	&lt;span class=&quot;token string&quot;&gt;&amp;quot;fmt&amp;quot;&lt;/span&gt;
	&lt;span class=&quot;token string&quot;&gt;&amp;quot;sync&amp;quot;&lt;/span&gt;
	&lt;span class=&quot;token string&quot;&gt;&amp;quot;time&amp;quot;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;

&lt;span class=&quot;token keyword keyword-var&quot;&gt;var&lt;/span&gt; wg sync&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;WaitGroup

&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;main&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	wg&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Add&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	ctx&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; cancel &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; context&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;WithCancel&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;context&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Background&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-go&quot;&gt;go&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;printTickEverySecond&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;ctx&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;

	time&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Sleep&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;5&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;*&lt;/span&gt; time&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;Second&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	&lt;span class=&quot;token function&quot;&gt;cancel&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	wg&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Wait&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;printTickEverySecond&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;ctx context&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;Context&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	tick &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; time&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Tick&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;time&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;Second&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-for&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
		&lt;span class=&quot;token keyword keyword-select&quot;&gt;select&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
		&lt;span class=&quot;token keyword keyword-case&quot;&gt;case&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;&amp;lt;-&lt;/span&gt;ctx&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Done&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
			wg&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Done&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
			&lt;span class=&quot;token keyword keyword-return&quot;&gt;return&lt;/span&gt;
		&lt;span class=&quot;token keyword keyword-case&quot;&gt;case&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;&amp;lt;-&lt;/span&gt;tick&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
			fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;Tick!&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
		&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
	&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;Tick&lt;span class=&quot;token operator&quot;&gt;!&lt;/span&gt;
Tick&lt;span class=&quot;token operator&quot;&gt;!&lt;/span&gt;
Tick&lt;span class=&quot;token operator&quot;&gt;!&lt;/span&gt;
Tick&lt;span class=&quot;token operator&quot;&gt;!&lt;/span&gt;
Tick&lt;span class=&quot;token operator&quot;&gt;!&lt;/span&gt;
&lt;/pre&gt;&lt;p&gt;&lt;em&gt;context.WithCancel()&lt;/em&gt; &amp;#xB294; &amp;#xCDE8;&amp;#xC18C;&amp;#xAC00;&amp;#xB2A5;&amp;#xD55C; &amp;#xCEE8;&amp;#xD14D;&amp;#xC2A4;&amp;#xD2B8;&amp;#xB97C; &amp;#xC0DD;&amp;#xC131;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xC0C1;&amp;#xC704; &amp;#xCEE8;&amp;#xD14D;&amp;#xC2A4;&amp;#xD2B8;&amp;#xAC00; &amp;#xC788;&amp;#xB2E4;&amp;#xBA74; &amp;#xC778;&amp;#xC790;&amp;#xB85C; &amp;#xC0C1;&amp;#xC704;&amp;#xCEE8;&amp;#xD14D;&amp;#xC2A4;&amp;#xD2B8;&amp;#xB97C; &amp;#xC124;&amp;#xC815;&amp;#xD558;&amp;#xBA74; &amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;. &amp;#xC608;&amp;#xC81C;&amp;#xCF54;&amp;#xB4DC;&amp;#xC5D0;&amp;#xC11C;&amp;#xB294; &amp;#xC0C1;&amp;#xC704; &amp;#xCEE8;&amp;#xD14D;&amp;#xC2A4;&amp;#xD2B8;&amp;#xAC00; &amp;#xC5C6;&amp;#xAE30; &amp;#xB54C;&amp;#xBB38;&amp;#xC5D0; &amp;#xAE30;&amp;#xBCF8; &amp;#xCEE8;&amp;#xD14D;&amp;#xC2A4;&amp;#xD2B8;&amp;#xC778; **context.Background()**&amp;#xB97C; &amp;#xC778;&amp;#xC790;&amp;#xB85C; &amp;#xC124;&amp;#xC815;&amp;#xD558;&amp;#xC600;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;context.WithCancel()&lt;/em&gt; &amp;#xAC00; &amp;#xBC18;&amp;#xD658;&amp;#xD558;&amp;#xB294; cancel &amp;#xD568;&amp;#xC218;&amp;#xB97C; &amp;#xD638;&amp;#xCD9C;&amp;#xD560; &amp;#xACBD;&amp;#xC6B0;, &amp;#xCEE8;&amp;#xD14D;&amp;#xC2A4;&amp;#xD2B8;&amp;#xAC00; &amp;#xC885;&amp;#xB8CC;&amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;5&amp;#xCD08; &amp;#xB300;&amp;#xAE30;&amp;#xD6C4;, cacel() &amp;#xD568;&amp;#xC218;&amp;#xAC00; &amp;#xD638;&amp;#xCD9C;&amp;#xB418;&amp;#xB3C4;&amp;#xB85D; &amp;#xC124;&amp;#xC815;&amp;#xD558;&amp;#xC600;&amp;#xACE0;,&lt;br&gt;
&amp;#xACE0;&amp;#xB8E8;&amp;#xD2F4;&amp;#xC5D0;&amp;#xC11C; 1&amp;#xCD08;&amp;#xAC04;&amp;#xACA9;&amp;#xC73C;&amp;#xB85C; &lt;em&gt;Tick!&lt;/em&gt; &amp;#xBA54;&amp;#xC2DC;&amp;#xC9C0;&amp;#xAC00; &amp;#xCD9C;&amp;#xB825;&amp;#xB418;&amp;#xB3C4;&amp;#xB85D; &amp;#xC124;&amp;#xC815;&amp;#xD558;&amp;#xC600;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xADF8;&amp;#xB9AC;&amp;#xACE0; &amp;#xB9CC;&amp;#xC57D; &amp;#xC791;&amp;#xC5C5;&amp;#xCDE8;&amp;#xC18C; &amp;#xAC00; &amp;#xC2E4;&amp;#xD589;&amp;#xB420; &amp;#xACBD;&amp;#xC6B0;(&lt;strong&gt;ctx.Done()&lt;/strong&gt;) &amp;#xC791;&amp;#xC5C5;&amp;#xADF8;&amp;#xB8F9;&amp;#xC774; &amp;#xC885;&amp;#xB8CC;&amp;#xB418;&amp;#xB3C4;&amp;#xB85D; &amp;#xD558;&amp;#xC600;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&lt;br&gt;&lt;/p&gt;
&lt;h3 class=&quot;mume-header&quot; id=&quot;62-%EC%9E%91%EC%97%85-%EC%8B%9C%EA%B0%84%EC%9D%84-%EC%84%A4%EC%A0%95%ED%95%9C-context&quot;&gt;6.2. &amp;#xC791;&amp;#xC5C5; &amp;#xC2DC;&amp;#xAC04;&amp;#xC744; &amp;#xC124;&amp;#xC815;&amp;#xD55C; context&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;context.WithTimeout&lt;/em&gt; &amp;#xC758; &amp;#xB450;&amp;#xBC88;&amp;#xC9F8; &amp;#xC778;&amp;#xC790;&amp;#xC5D0; &amp;#xC791;&amp;#xC5C5;&amp;#xC2DC;&amp;#xAC04;&amp;#xC744; &amp;#xC124;&amp;#xC815;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xC774; &amp;#xACBD;&amp;#xC6B0;, &amp;#xCEE8;&amp;#xD14D;&amp;#xC2A4;&amp;#xD2B8; &amp;#xC0DD;&amp;#xC131; &amp;#xD6C4;, &amp;#xC791;&amp;#xC5C5;&amp;#xC2DC;&amp;#xAC04;&amp;#xC774; &amp;#xC9C0;&amp;#xB09C; &amp;#xD6C4;, Done() &amp;#xCC44;&amp;#xB110;&amp;#xC5D0; &amp;#xC2DC;&amp;#xADF8;&amp;#xB110;&amp;#xC744; &amp;#xBCF4;&amp;#xB0C5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xC544;&amp;#xB798; &amp;#xCF54;&amp;#xB4DC;&amp;#xB294;, 5&amp;#xCD08;&amp;#xAC00; &amp;#xC9C0;&amp;#xB09C; &amp;#xD6C4; &amp;#xCEE8;&amp;#xD14D;&amp;#xC2A4;&amp;#xD2B8;&amp;#xB97C; &amp;#xC885;&amp;#xB8CC;&amp;#xC2DC;&amp;#xD0A4;&amp;#xB294; &amp;#xC608;&amp;#xC81C;&amp;#xCF54;&amp;#xB4DC;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword keyword-package&quot;&gt;package&lt;/span&gt; main

&lt;span class=&quot;token keyword keyword-import&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;
	&lt;span class=&quot;token string&quot;&gt;&amp;quot;context&amp;quot;&lt;/span&gt;
	&lt;span class=&quot;token string&quot;&gt;&amp;quot;fmt&amp;quot;&lt;/span&gt;
	&lt;span class=&quot;token string&quot;&gt;&amp;quot;sync&amp;quot;&lt;/span&gt;
	&lt;span class=&quot;token string&quot;&gt;&amp;quot;time&amp;quot;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;

&lt;span class=&quot;token keyword keyword-var&quot;&gt;var&lt;/span&gt; wg sync&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;WaitGroup

&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;main&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	wg&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Add&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	ctx&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token boolean&quot;&gt;_&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; context&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;WithTimeout&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;context&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Background&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;5&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;*&lt;/span&gt;time&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;Second&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-go&quot;&gt;go&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;printTickEverySecond&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;ctx&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	wg&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Wait&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;printTickEverySecond&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;ctx context&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;Context&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	tick &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; time&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Tick&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;time&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;Second&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-for&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
		&lt;span class=&quot;token keyword keyword-select&quot;&gt;select&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
		&lt;span class=&quot;token keyword keyword-case&quot;&gt;case&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;&amp;lt;-&lt;/span&gt;ctx&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Done&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
			wg&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Done&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
			&lt;span class=&quot;token keyword keyword-return&quot;&gt;return&lt;/span&gt;
		&lt;span class=&quot;token keyword keyword-case&quot;&gt;case&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;&amp;lt;-&lt;/span&gt;tick&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
			fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;Tick!&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
		&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
	&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;Tick&lt;span class=&quot;token operator&quot;&gt;!&lt;/span&gt;
Tick&lt;span class=&quot;token operator&quot;&gt;!&lt;/span&gt;
Tick&lt;span class=&quot;token operator&quot;&gt;!&lt;/span&gt;
Tick&lt;span class=&quot;token operator&quot;&gt;!&lt;/span&gt;
Tick&lt;span class=&quot;token operator&quot;&gt;!&lt;/span&gt;
&lt;/pre&gt;&lt;br&gt;
&lt;h3 class=&quot;mume-header&quot; id=&quot;63-%ED%8A%B9%EC%A0%95-%EA%B0%92%EC%9D%84-%EC%84%A4%EC%A0%95%ED%95%9C-context&quot;&gt;6.3. &amp;#xD2B9;&amp;#xC815; &amp;#xAC12;&amp;#xC744; &amp;#xC124;&amp;#xC815;&amp;#xD55C; context&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;context.WithValue&lt;/em&gt; &amp;#xD568;&amp;#xC218;&amp;#xB97C; &amp;#xC774;&amp;#xC6A9;&amp;#xD558;&amp;#xC5EC; &amp;#xCEE8;&amp;#xD14D;&amp;#xC2A4;&amp;#xD2B8;&amp;#xC5D0; &amp;#xD2B9;&amp;#xC815; &amp;#xD0A4;&amp;#xB97C; &amp;#xC124;&amp;#xC815;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;. (&amp;#xBC18;&amp;#xD658;&amp;#xAC12;&amp;#xC740; &lt;strong&gt;context.Context&lt;/strong&gt;)&lt;/p&gt;
&lt;p&gt;&amp;#xCEE8;&amp;#xD14D;&amp;#xC2A4;&amp;#xD2B8;&amp;#xC5D0; &amp;#xC124;&amp;#xC815;&amp;#xD55C; &amp;#xAC12;&amp;#xC740; &lt;code&gt;Value(&amp;#xD0A4;)&lt;/code&gt;&amp;#xB97C; &amp;#xC774;&amp;#xC6A9;&amp;#xD558;&amp;#xC5EC; &amp;#xC870;&amp;#xD68C;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;. &amp;#xC874;&amp;#xC7AC;&amp;#xD558;&amp;#xC9C0; &amp;#xC54A;&amp;#xB294; &amp;#xD0A4;&amp;#xB97C; &amp;#xC870;&amp;#xD68C;&amp;#xC2DC;&amp;#xB3C4;&amp;#xD560; &amp;#xACBD;&amp;#xC6B0; nil&amp;#xC744; &amp;#xBC18;&amp;#xD658;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword keyword-package&quot;&gt;package&lt;/span&gt; main

&lt;span class=&quot;token keyword keyword-import&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;
	&lt;span class=&quot;token string&quot;&gt;&amp;quot;context&amp;quot;&lt;/span&gt;
	&lt;span class=&quot;token string&quot;&gt;&amp;quot;fmt&amp;quot;&lt;/span&gt;
	&lt;span class=&quot;token string&quot;&gt;&amp;quot;sync&amp;quot;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;

&lt;span class=&quot;token keyword keyword-var&quot;&gt;var&lt;/span&gt; wg sync&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;WaitGroup

&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;main&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	wg&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Add&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	ctx &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; context&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;WithValue&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;context&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Background&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;num&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;5&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-go&quot;&gt;go&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;power&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;ctx&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	wg&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Wait&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;power&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;ctx context&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;Context&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-if&quot;&gt;if&lt;/span&gt; v &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; ctx&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Value&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;num&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; v &lt;span class=&quot;token operator&quot;&gt;!=&lt;/span&gt; &lt;span class=&quot;token boolean&quot;&gt;nil&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
		num &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; v&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token builtin&quot;&gt;int&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
		fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Printf&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;%d&amp;#xC758; &amp;#xAC70;&amp;#xB4ED;&amp;#xC81C;&amp;#xACF1;&amp;#xC740; %d\n&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; num&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; num&lt;span class=&quot;token operator&quot;&gt;*&lt;/span&gt;num&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
	wg&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Done&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;hr&gt;

  &lt;/div&gt;&lt;/div&gt;</description>
      <category>Go</category>
      <category>go</category>
      <author>jiniya22</author>
      <guid isPermaLink="true">https://jini-box.tistory.com/238</guid>
      <comments>https://jini-box.tistory.com/238#entry238comment</comments>
      <pubDate>Tue, 12 Mar 2024 18:07:31 +0900</pubDate>
    </item>
    <item>
      <title>[Go] 17. 고루틴</title>
      <link>https://jini-box.tistory.com/237</link>
      <description>&lt;div id=&quot;html-export&quot;&gt;
      &lt;div class=&quot;mume markdown-preview  &quot;&gt;
      &lt;p&gt;&amp;#xACE0;&amp;#xB8E8;&amp;#xD2F4;&amp;#xC740; &amp;#xACBD;&amp;#xB7C9; &amp;#xC2A4;&amp;#xB808;&amp;#xB4DC;&amp;#xB85C;, &amp;#xD568;&amp;#xC218; or &amp;#xBA85;&amp;#xB839;&amp;#xC744; &amp;#xB3D9;&amp;#xC2DC;&amp;#xC5D0; &amp;#xC2E4;&amp;#xD589;&amp;#xD560; &amp;#xB54C; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;main() &amp;#xD568;&amp;#xC218;&amp;#xB294; &amp;#xACE0;&amp;#xB8E8;&amp;#xD2F4;&amp;#xC5D0; &amp;#xC758;&amp;#xD574; &amp;#xC2E4;&amp;#xD589;&amp;#xB418;&amp;#xB294; &amp;#xD568;&amp;#xC218;&amp;#xB85C;, Go &amp;#xD504;&amp;#xB85C;&amp;#xADF8;&amp;#xB7A8;&amp;#xC740; &amp;#xCD5C;&amp;#xC18C; 1&amp;#xAC1C; &amp;#xC774;&amp;#xC0C1;&amp;#xC758; &amp;#xACE0;&amp;#xB8E8;&amp;#xD2F4;&amp;#xC73C;&amp;#xB85C; &amp;#xAD6C;&amp;#xC131;&amp;#xB418;&amp;#xC5B4;&amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xC6D0;&amp;#xB798;&amp;#xC758; CPU&amp;#xCF54;&amp;#xC5B4;&amp;#xB294; &amp;#xD55C;&amp;#xBC88;&amp;#xC5D0; &amp;#xD558;&amp;#xB098;&amp;#xC758; &amp;#xBA85;&amp;#xB839;&amp;#xC744; &amp;#xC218;&amp;#xD589;&amp;#xD558;&amp;#xC9C0;&amp;#xB9CC;, &amp;#xCEE8;&amp;#xD14D;&amp;#xC2A4;&amp;#xD2B8; &amp;#xC2A4;&amp;#xC704;&amp;#xCE6D;&amp;#xC744; &amp;#xC774;&amp;#xC6A9;&amp;#xD558;&amp;#xC5EC; &amp;#xC5EC;&amp;#xB7EC;&amp;#xAC1C;&amp;#xC758; &amp;#xC2A4;&amp;#xB808;&amp;#xB4DC;&amp;#xB97C; &amp;#xC804;&amp;#xD658;&amp;#xD558;&amp;#xBA70; &amp;#xC2E4;&amp;#xD589;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xB2E4;&amp;#xB9CC;, &amp;#xCEE8;&amp;#xD14D;&amp;#xC2A4;&amp;#xD2B8; &amp;#xC2A4;&amp;#xC704;&amp;#xCE6D;&amp;#xC740; &amp;#xC2A4;&amp;#xB808;&amp;#xB4DC; &amp;#xC804;&amp;#xD658; &amp;#xC774;&amp;#xC804;&amp;#xC5D0; &lt;em&gt;instruction pointer(&amp;#xBA85;&amp;#xB839; &amp;#xD3EC;&amp;#xC778;&amp;#xD130;), &amp;#xC2A4;&amp;#xD0DD; &amp;#xBA54;&amp;#xBAA8;&amp;#xB9AC;&lt;/em&gt; &amp;#xB4F1;&amp;#xC758; &amp;#xC815;&amp;#xBCF4;&amp;#xB97C; &amp;#xC800;&amp;#xC7A5;&amp;#xD558;&amp;#xC5EC; &amp;#xC791;&amp;#xC5C5;&amp;#xC911;&amp;#xC778; &amp;#xC2A4;&amp;#xB808;&amp;#xB4DC;&amp;#xB97C; &amp;#xAE30;&amp;#xB85D;&amp;#xD558;&amp;#xB294; &amp;#xACFC;&amp;#xC815;&amp;#xC744; &amp;#xAC70;&amp;#xCE58;&amp;#xACE0;, &amp;#xBCF5;&amp;#xC6D0;&amp;#xD558;&amp;#xB294; &amp;#xC77C;&amp;#xC744; &amp;#xAC70;&amp;#xCE58;&amp;#xB294;&amp;#xB370; &amp;#xC774;&amp;#xB7EC;&amp;#xD55C; &amp;#xBD80;&amp;#xBD84;&amp;#xC5D0; &amp;#xC758;&amp;#xD574; &lt;strong&gt;&amp;#xCEE8;&amp;#xD14D;&amp;#xC2A4;&amp;#xD2B8; &amp;#xC2A4;&amp;#xC704;&amp;#xCE6D; &amp;#xBE44;&amp;#xC6A9;&lt;/strong&gt; &amp;#xC774; &amp;#xBC1C;&amp;#xC0DD;&amp;#xB418;&amp;#xAC8C; &amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;CPU&amp;#xCF54;&amp;#xC5B4; &amp;#xC218;&amp;#xC5D0; &amp;#xBE44;&amp;#xD574; &amp;#xC2A4;&amp;#xB808;&amp;#xB4DC; &amp;#xC218;&amp;#xAC00; &amp;#xB108;&amp;#xBB34; &amp;#xB9CE;&amp;#xC744;&amp;#xC2DC;(CPU&amp;#xCF54;&amp;#xC5B4;&amp;#xC218;&amp;#xC758; 2&amp;#xBC30;&amp;#xC774;&amp;#xC0C1;&amp;#xC73C;&amp;#xB85C; &amp;#xC2A4;&amp;#xB808;&amp;#xB4DC;&amp;#xB97C; &amp;#xC124;&amp;#xC815;), &amp;#xCEE8;&amp;#xD14D;&amp;#xC2A4;&amp;#xD2B8; &amp;#xC2A4;&amp;#xC704;&amp;#xCE6D; &amp;#xBE44;&amp;#xC6A9;&amp;#xC5D0; &amp;#xC758;&amp;#xD55C; &amp;#xC131;&amp;#xB2A5;&amp;#xC800;&amp;#xD558;&amp;#xAC00; &amp;#xBC1C;&amp;#xC0DD;&amp;#xB420; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;Golang &amp;#xC5D0;&amp;#xC11C;&amp;#xB294; &lt;strong&gt;CPU&amp;#xCF54;&amp;#xC5B4;&amp;#xB9C8;&amp;#xB2E4; OS&amp;#xC2A4;&amp;#xB808;&amp;#xB4DC;&amp;#xB97C; &amp;#xD558;&amp;#xB098;&amp;#xB9CC; &amp;#xD560;&amp;#xB2F9;&lt;/strong&gt; &amp;#xD558;&amp;#xAE30; &amp;#xB54C;&amp;#xBB38;&amp;#xC5D0;, &amp;#xCEE8;&amp;#xD14D;&amp;#xC2A4;&amp;#xD2B8; &amp;#xC2A4;&amp;#xC704;&amp;#xCE6D; &amp;#xBE44;&amp;#xC6A9;&amp;#xC774; &amp;#xBC1C;&amp;#xC0DD;&amp;#xB418;&amp;#xC9C0; &amp;#xC54A;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xACE0;&amp;#xB8E8;&amp;#xD2F4;&amp;#xC740; &amp;#xD568;&amp;#xC218; &amp;#xC55E;&amp;#xC5D0; &lt;strong&gt;go&lt;/strong&gt; &amp;#xB77C;&amp;#xB294; &amp;#xD0A4;&amp;#xC6CC;&amp;#xB4DC;&amp;#xB97C; &amp;#xBD99;&amp;#xC5EC; &amp;#xC0DD;&amp;#xC131;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xACE0;&amp;#xB8E8;&amp;#xD2F4; &amp;#xB0B4;&amp;#xC5D0;&amp;#xC11C;  go &amp;#xD0A4;&amp;#xC6CC;&amp;#xB4DC;&amp;#xB85C; &amp;#xACE0;&amp;#xB8E8;&amp;#xD2F4;&amp;#xC744; &amp;#xC0DD;&amp;#xC131;&amp;#xD558;&amp;#xBA74; &amp;#xC0C8;&amp;#xB85C;&amp;#xC6B4; &amp;#xACE0;&amp;#xB8E8;&amp;#xD2F4;&amp;#xC774; &amp;#xC0DD;&amp;#xC131;&amp;#xB418;&amp;#xC5B4; &amp;#xC0C8;&amp;#xB85C;&amp;#xC6B4; &amp;#xACE0;&amp;#xB8E8;&amp;#xD2F4;&amp;#xC5D0;&amp;#xC11C; &amp;#xBA85;&amp;#xB839;&amp;#xC744; &amp;#xC218;&amp;#xD589;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Golang&amp;#xC5D0;&amp;#xC11C;&amp;#xB294; &amp;#xACE0;&amp;#xB8E8;&amp;#xD2F4;&amp;#xC744; &amp;#xC774;&amp;#xC6A9;&amp;#xD558;&amp;#xC5EC; OS&amp;#xC2A4;&amp;#xB808;&amp;#xB4DC;&amp;#xB97C; &amp;#xD65C;&amp;#xC6A9;&amp;#xD55C; &amp;#xB3D9;&amp;#xC2DC;&amp;#xC131; &amp;#xD504;&amp;#xB85C;&amp;#xADF8;&amp;#xB798;&amp;#xBC0D;&amp;#xC744; &amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr&gt;
&lt;h2 class=&quot;mume-header&quot; id=&quot;1-%EA%B0%84%EB%8B%A8%ED%95%9C-%EC%98%88%EC%A0%9C&quot;&gt;1. &amp;#xAC04;&amp;#xB2E8;&amp;#xD55C; &amp;#xC608;&amp;#xC81C;&lt;/h2&gt;

&lt;p&gt;&amp;#xAC01;&amp;#xAC01; 200ms, 300ms &amp;#xC529; &amp;#xAC04;&amp;#xACA9;&amp;#xC744; &amp;#xAC16;&amp;#xACE0; &amp;#xC601;&amp;#xBB38;&amp;#xC790;&amp;#xC640; &amp;#xC22B;&amp;#xC790; &amp;#xD55C;&amp;#xC790;&amp;#xC529; &amp;#xCD9C;&amp;#xB825;&amp;#xD558;&amp;#xB294; &amp;#xD568;&amp;#xC218;&amp;#xB97C; &amp;#xACE0;&amp;#xB8E8;&amp;#xD2F4;&amp;#xC73C;&amp;#xB85C; &amp;#xCD9C;&amp;#xB825;&amp;#xD558;&amp;#xB294; &amp;#xC608;&amp;#xC81C;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword keyword-package&quot;&gt;package&lt;/span&gt; main

&lt;span class=&quot;token keyword keyword-import&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;
	&lt;span class=&quot;token string&quot;&gt;&amp;quot;fmt&amp;quot;&lt;/span&gt;
	&lt;span class=&quot;token string&quot;&gt;&amp;quot;time&amp;quot;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;

&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;printAlphabets&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	alphabets &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token builtin&quot;&gt;rune&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;apos;A&amp;apos;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;apos;B&amp;apos;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;apos;C&amp;apos;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;apos;D&amp;apos;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;apos;E&amp;apos;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;apos;F&amp;apos;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-for&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;token boolean&quot;&gt;_&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; alphabet &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; &lt;span class=&quot;token keyword keyword-range&quot;&gt;range&lt;/span&gt; alphabets &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
		time&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Sleep&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;200&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;*&lt;/span&gt; time&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;Millisecond&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
		fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Printf&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;%c &amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; alphabet&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;printNumbers&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-for&quot;&gt;for&lt;/span&gt; i &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; i &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;7&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; i&lt;span class=&quot;token operator&quot;&gt;++&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
		time&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Sleep&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;300&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;*&lt;/span&gt; time&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;Millisecond&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
		fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Printf&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;%d &amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; i&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;main&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-go&quot;&gt;go&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;printAlphabets&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-go&quot;&gt;go&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;printNumbers&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;

	fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;main 1&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	time&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Sleep&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;3&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;*&lt;/span&gt; time&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;Second&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;main 2&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;main &lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;
A &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt; B C &lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt; D &lt;span class=&quot;token number&quot;&gt;2&lt;/span&gt; E &lt;span class=&quot;token number&quot;&gt;3&lt;/span&gt; F &lt;span class=&quot;token number&quot;&gt;4&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;5&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;6&lt;/span&gt; main &lt;span class=&quot;token number&quot;&gt;2&lt;/span&gt;
&lt;/pre&gt;&lt;p&gt;go&amp;#xB8E8;&amp;#xD2F4;&amp;#xC73C;&amp;#xB85C; &amp;#xAC01;&amp;#xAC01; &amp;#xD638;&amp;#xCD9C;&amp;#xD588;&amp;#xAE30; &amp;#xB54C;&amp;#xBB38;&amp;#xC5D0; &amp;#xB3D9;&amp;#xC2DC;&amp;#xC5D0; &amp;#xC2E4;&amp;#xD589;&amp;#xB418;&amp;#xBA70;,&lt;br&gt;
&amp;#xB450; &amp;#xACE0;&amp;#xB8E8;&amp;#xD2F4;&amp;#xD568;&amp;#xC218; &amp;#xB0B4;&amp;#xC5D0;&amp;#xB294; &amp;#xBB38;&amp;#xC790; &amp;#xCD9C;&amp;#xB825; &amp;#xC774;&amp;#xC804;&amp;#xC5D0; time.sleep &amp;#xC744; &amp;#xAC16;&amp;#xACE0; &amp;#xC788;&amp;#xAE30; &amp;#xB54C;&amp;#xBB38;&amp;#xC5D0; &lt;strong&gt;main 1&lt;/strong&gt; &amp;#xC774; &amp;#xAC00;&amp;#xC7A5; &amp;#xBA3C;&amp;#xC800; &amp;#xCD9C;&amp;#xB825;&amp;#xB41C;&amp;#xAC83;&amp;#xC744; &amp;#xD655;&amp;#xC778;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xC5EC;&amp;#xAE30;&amp;#xC5D0;&amp;#xC11C;, main&amp;#xD568;&amp;#xC218;&amp;#xB0B4;&amp;#xC5D0; &amp;#xC788;&amp;#xB294; time.Sleep &amp;#xBD80;&amp;#xBD84;&amp;#xC744; &amp;#xC544;&amp;#xB798;&amp;#xC640; &amp;#xAC19;&amp;#xC774; 600 &amp;#xBC00;&amp;#xB9AC;&amp;#xCD08;&amp;#xB85C; &amp;#xC218;&amp;#xC815;&amp;#xD560; &amp;#xACBD;&amp;#xC6B0;,&lt;br&gt;
printAlphabets()&amp;#xC640; printNumbers() &amp;#xACE0;&amp;#xB8E8;&amp;#xD2F4;&amp;#xC744; &amp;#xB9C8;&amp;#xCE58;&amp;#xAE30; &amp;#xC804;&amp;#xC5D0; &amp;#xC885;&amp;#xB8CC;&amp;#xB418;&amp;#xB294; &amp;#xAC83;&amp;#xC744; &amp;#xD655;&amp;#xC778;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xC774;&amp;#xB294; &amp;#xBA54;&amp;#xC778; &amp;#xD568;&amp;#xC218;&amp;#xAC00; &amp;#xC885;&amp;#xB8CC;&amp;#xB420; &amp;#xACBD;&amp;#xC6B0;, &lt;strong&gt;&amp;#xC11C;&amp;#xBE0C; &amp;#xACE0;&amp;#xB8E8;&amp;#xD2F4;(&amp;#xBA54;&amp;#xC778; &amp;#xB0B4;&amp;#xC5D0;&amp;#xC11C; &amp;#xD638;&amp;#xCD9C;&amp;#xD55C; &amp;#xBAA8;&amp;#xB4E0; &amp;#xACE0;&amp;#xB8E8;&amp;#xD2F4;)&amp;#xC774; &amp;#xC989;&amp;#xC2DC; &amp;#xC885;&amp;#xB8CC;&lt;/strong&gt; &amp;#xB418;&amp;#xAE30; &amp;#xB54C;&amp;#xBB38;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;main&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-go&quot;&gt;go&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;printAlphabets&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-go&quot;&gt;go&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;printNumbers&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;

	fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;main 1&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	time&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Sleep&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;600&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;*&lt;/span&gt; time&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;Millisecond&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;main 2&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;main &lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;
A &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt; B main &lt;span class=&quot;token number&quot;&gt;2&lt;/span&gt;
&lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;
&lt;/pre&gt;&lt;hr&gt;
&lt;h2 class=&quot;mume-header&quot; id=&quot;2-%EC%84%9C%EB%B8%8C-%EA%B3%A0%EB%A3%A8%ED%8B%B4-%EC%A2%85%EB%A3%8C%EC%8B%9C-%EA%B9%8C%EC%A7%80-%EA%B8%B0%EB%8B%A4%EB%A6%AC%EA%B8%B0&quot;&gt;2. &amp;#xC11C;&amp;#xBE0C; &amp;#xACE0;&amp;#xB8E8;&amp;#xD2F4; &amp;#xC885;&amp;#xB8CC;&amp;#xC2DC; &amp;#xAE4C;&amp;#xC9C0; &amp;#xAE30;&amp;#xB2E4;&amp;#xB9AC;&amp;#xAE30;&lt;/h2&gt;

&lt;p&gt;&amp;#xBA54;&amp;#xC778;&amp;#xD568;&amp;#xC218;&amp;#xC5D0;&amp;#xC11C; &amp;#xC11C;&amp;#xBE0C;&amp;#xACE0;&amp;#xB8E8;&amp;#xD2F4;&amp;#xC774; &amp;#xBAA8;&amp;#xB450; &amp;#xC885;&amp;#xB8CC;&amp;#xB420;&amp;#xB54C;&amp;#xAE4C;&amp;#xC9C0; &amp;#xAE30;&amp;#xB2E4;&amp;#xB9AC;&amp;#xAE30; &amp;#xC704;&amp;#xD574;, time.Sleep &amp;#xD558;&amp;#xB294; &amp;#xBC29;&amp;#xBC95;&amp;#xB3C4; &amp;#xC788;&amp;#xACA0;&amp;#xC9C0;&amp;#xB9CC;, &amp;#xC5B8;&amp;#xC81C; &amp;#xC885;&amp;#xB8CC;&amp;#xB420;&amp;#xC9C0; &amp;#xBAA8;&amp;#xB974;&amp;#xB294; &amp;#xACBD;&amp;#xC6B0;&amp;#xB3C4; &amp;#xB9CE;&amp;#xAE30; &amp;#xB54C;&amp;#xBB38;&amp;#xC5D0; &amp;#xC6B0;&amp;#xB9AC;&amp;#xB294; &amp;#xBCF4;&amp;#xB2E4; &amp;#xD655;&amp;#xC2E4;&amp;#xD55C; &amp;#xBC29;&amp;#xBC95;&amp;#xC744; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD560; &amp;#xD544;&amp;#xC694;&amp;#xAC00; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;Golang&amp;#xC5D0;&amp;#xC11C;&amp;#xB294; &amp;#xACE0;&amp;#xB8E8;&amp;#xD2F4;&amp;#xC774; &amp;#xC885;&amp;#xB8CC;&amp;#xB420; &amp;#xB54C;&amp;#xAE4C;&amp;#xC9C0; &amp;#xB300;&amp;#xAE30;&amp;#xD558;&amp;#xAE30; &amp;#xC704;&amp;#xD55C; sync&amp;#xD328;&amp;#xD0A4;&amp;#xAE30;&amp;#xC758; WaitGroup &amp;#xAC1D;&amp;#xCCB4;&amp;#xB97C; &amp;#xC9C0;&amp;#xC6D0;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xC544;&amp;#xB798;&amp;#xC640; &amp;#xAC19;&amp;#xC774; &lt;code&gt;sync.WaintGroup&lt;/code&gt; &amp;#xAC1D;&amp;#xCCB4;&amp;#xB97C; &amp;#xC0DD;&amp;#xC131;&amp;#xD55C; &amp;#xD6C4;,&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword keyword-var&quot;&gt;var&lt;/span&gt; wg sync&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;WaitGroup
&lt;/pre&gt;&lt;p&gt;&amp;#xCD1D; &amp;#xC774;&amp;#xC6A9;&amp;#xD560; &amp;#xC11C;&amp;#xBE0C; &amp;#xACE0;&amp;#xB8E8;&amp;#xD2F4; &amp;#xAC1C;&amp;#xC218;&amp;#xB97C; Add &amp;#xD558;&amp;#xACE0;,&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;wg&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Add&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;/pre&gt;&lt;p&gt;&amp;#xC11C;&amp;#xBE0C;&amp;#xACE0;&amp;#xB8E8;&amp;#xD2F4;&amp;#xC758; &amp;#xB3D9;&amp;#xC791;&amp;#xC744; &amp;#xBAA8;&amp;#xB450; &amp;#xB9C8;&amp;#xCE5C; &amp;#xD6C4; Done &amp;#xD568;&amp;#xC218;&amp;#xB97C; &amp;#xD638;&amp;#xCD9C;&amp;#xD558;&amp;#xBA74; &amp;#xC791;&amp;#xC5C5; &amp;#xD558;&amp;#xB098;&amp;#xAC00; &amp;#xC644;&amp;#xB8CC;&amp;#xCC98;&amp;#xB9AC;&amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;wg&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Done&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;/pre&gt;&lt;p&gt;&amp;#xC11C;&amp;#xBE0C; &amp;#xACE0;&amp;#xB8E8;&amp;#xD2F4;&amp;#xC774; &amp;#xD638;&amp;#xCD9C;&amp;#xB418;&amp;#xB294; &amp;#xC0C1;&amp;#xC704; &amp;#xACE0;&amp;#xB8E8;&amp;#xD2F4;&amp;#xC5D0;&amp;#xC11C;&amp;#xB294;, &amp;#xC791;&amp;#xC5C5;&amp;#xADF8;&amp;#xB8F9;&amp;#xC774; &amp;#xBAA8;&amp;#xB450; &amp;#xC644;&amp;#xB8CC;&amp;#xB420; &amp;#xB54C;&amp;#xAE4C;&amp;#xC9C0; &amp;#xB300;&amp;#xAE30;&amp;#xD558;&amp;#xAE30; &amp;#xC704;&amp;#xD574; Wait() &amp;#xD568;&amp;#xC218;&amp;#xB97C; &amp;#xD638;&amp;#xCD9C;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;wg&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Wait&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;/pre&gt;&lt;br&gt;
&lt;h3 class=&quot;mume-header&quot; id=&quot;21-syncwaitgroup-%EC%A0%81%EC%9A%A9&quot;&gt;2.1. sync.WaitGroup &amp;#xC801;&amp;#xC6A9;&lt;/h3&gt;

&lt;p&gt;&amp;#xC704;&amp;#xC5D0;&amp;#xC11C; &amp;#xB9CC;&amp;#xB4E4;&amp;#xC5C8;&amp;#xC5C8;&amp;#xB358; &amp;#xC54C;&amp;#xD30C;&amp;#xBCB3;&amp;#xACFC; &amp;#xC22B;&amp;#xC790;&amp;#xB97C; &amp;#xCD9C;&amp;#xB825;&amp;#xD558;&amp;#xB294; &amp;#xC608;&amp;#xC81C;&amp;#xCF54;&amp;#xB4DC;&amp;#xC5D0; &lt;em&gt;sync.WaitGroup&lt;/em&gt; &amp;#xC744; &amp;#xC801;&amp;#xC6A9;&amp;#xD574;&amp;#xBD05;&amp;#xC2DC;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword keyword-package&quot;&gt;package&lt;/span&gt; main

&lt;span class=&quot;token keyword keyword-import&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;
	&lt;span class=&quot;token string&quot;&gt;&amp;quot;fmt&amp;quot;&lt;/span&gt;
	&lt;span class=&quot;token string&quot;&gt;&amp;quot;sync&amp;quot;&lt;/span&gt;
	&lt;span class=&quot;token string&quot;&gt;&amp;quot;time&amp;quot;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;

&lt;span class=&quot;token keyword keyword-var&quot;&gt;var&lt;/span&gt; wg sync&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;WaitGroup

&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;printAlphabets&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	alphabets &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token builtin&quot;&gt;rune&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;apos;A&amp;apos;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;apos;B&amp;apos;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;apos;C&amp;apos;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;apos;D&amp;apos;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;apos;E&amp;apos;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;apos;F&amp;apos;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-for&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;token boolean&quot;&gt;_&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; alphabet &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; &lt;span class=&quot;token keyword keyword-range&quot;&gt;range&lt;/span&gt; alphabets &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
		time&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Sleep&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;200&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;*&lt;/span&gt; time&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;Millisecond&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
		fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Printf&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;%c &amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; alphabet&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
	wg&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Done&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;printNumbers&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-for&quot;&gt;for&lt;/span&gt; i &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; i &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;7&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; i&lt;span class=&quot;token operator&quot;&gt;++&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
		time&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Sleep&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;300&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;*&lt;/span&gt; time&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;Millisecond&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
		fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Printf&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;%d &amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; i&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
	wg&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Done&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;main&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	wg&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Add&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-go&quot;&gt;go&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;printAlphabets&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-go&quot;&gt;go&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;printNumbers&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	wg&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Wait&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;main 2&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;A &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt; B &lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt; C D &lt;span class=&quot;token number&quot;&gt;2&lt;/span&gt; E &lt;span class=&quot;token number&quot;&gt;3&lt;/span&gt; F &lt;span class=&quot;token number&quot;&gt;4&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;5&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;6&lt;/span&gt; main &lt;span class=&quot;token number&quot;&gt;2&lt;/span&gt;
&lt;/pre&gt;&lt;p&gt;&amp;#xC2E4;&amp;#xD589;&amp;#xD558;&amp;#xACE0;&amp;#xC790;&amp;#xD558;&amp;#xB294; &amp;#xACE0;&amp;#xB8E8;&amp;#xD2F4;&amp;#xD568;&amp;#xC218;&amp;#xAC00; 2&amp;#xAC1C;&amp;#xC774;&amp;#xAE30; &amp;#xB54C;&amp;#xBB38;&amp;#xC5D0;, &lt;em&gt;wg.Add(2)&lt;/em&gt; &amp;#xC124;&amp;#xC815;&amp;#xD558;&amp;#xC5EC; &amp;#xC2E4;&amp;#xD589;&amp;#xD574;&amp;#xBCF4;&amp;#xB2C8;&lt;br&gt;
&amp;#xBA54;&amp;#xC778;&amp;#xD568;&amp;#xC218;&amp;#xC5D0; time.Sleep &amp;#xB97C; &amp;#xC124;&amp;#xC815;&amp;#xD558;&amp;#xC9C0; &amp;#xC54A;&amp;#xC544;&amp;#xB3C4; &amp;#xC11C;&amp;#xBE0C;&amp;#xACE0;&amp;#xB8E8;&amp;#xD2F4;&amp;#xC774; &amp;#xBAA8;&amp;#xB450; &amp;#xC885;&amp;#xB8CC;&amp;#xB420;&amp;#xB54C;&amp;#xAE4C;&amp;#xC9C0; &amp;#xB300;&amp;#xAE30;&amp;#xD558;&amp;#xB294; &amp;#xAC83;&amp;#xC744; &amp;#xD655;&amp;#xC778;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC5C8;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&lt;br&gt;&lt;/p&gt;
&lt;h3 class=&quot;mume-header&quot; id=&quot;22-%EB%91%90%EB%B2%88%EC%A7%B8-%EC%98%88%EC%A0%9C&quot;&gt;2.2. &amp;#xB450;&amp;#xBC88;&amp;#xC9F8; &amp;#xC608;&amp;#xC81C;&lt;/h3&gt;

&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword keyword-package&quot;&gt;package&lt;/span&gt; main

&lt;span class=&quot;token keyword keyword-import&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;
	&lt;span class=&quot;token string&quot;&gt;&amp;quot;fmt&amp;quot;&lt;/span&gt;
	&lt;span class=&quot;token string&quot;&gt;&amp;quot;sync&amp;quot;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;

&lt;span class=&quot;token keyword keyword-var&quot;&gt;var&lt;/span&gt; wg sync&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;WaitGroup

&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;sumAtoB&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;i&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; a&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; b &lt;span class=&quot;token builtin&quot;&gt;int&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	sum &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-for&quot;&gt;for&lt;/span&gt; i &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; a&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; i &lt;span class=&quot;token operator&quot;&gt;&amp;lt;=&lt;/span&gt; b&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; i&lt;span class=&quot;token operator&quot;&gt;++&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
		sum &lt;span class=&quot;token operator&quot;&gt;+=&lt;/span&gt; i
	&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
	fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Printf&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;%d) %d &amp;#xBD80;&amp;#xD130; %d &amp;#xAE4C;&amp;#xC9C0;&amp;#xC758; &amp;#xCD1D; &amp;#xD569; = %d\n&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; i&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; a&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; b&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; sum&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	wg&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Done&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;main&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	cnt &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;10&lt;/span&gt;
	wg&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Add&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;cnt&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-for&quot;&gt;for&lt;/span&gt; i &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; i &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt; cnt&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; i&lt;span class=&quot;token operator&quot;&gt;++&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
		&lt;span class=&quot;token keyword keyword-go&quot;&gt;go&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;sumAtoB&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;i&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;1000000&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
	wg&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Wait&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;&lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt; &amp;#xBD80;&amp;#xD130; &lt;span class=&quot;token number&quot;&gt;1000000&lt;/span&gt; &amp;#xAE4C;&amp;#xC9C0;&amp;#xC758; &amp;#xCD1D; &amp;#xD569; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;500000500000&lt;/span&gt;
&lt;span class=&quot;token number&quot;&gt;3&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt; &amp;#xBD80;&amp;#xD130; &lt;span class=&quot;token number&quot;&gt;1000000&lt;/span&gt; &amp;#xAE4C;&amp;#xC9C0;&amp;#xC758; &amp;#xCD1D; &amp;#xD569; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;500000500000&lt;/span&gt;
&lt;span class=&quot;token number&quot;&gt;9&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt; &amp;#xBD80;&amp;#xD130; &lt;span class=&quot;token number&quot;&gt;1000000&lt;/span&gt; &amp;#xAE4C;&amp;#xC9C0;&amp;#xC758; &amp;#xCD1D; &amp;#xD569; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;500000500000&lt;/span&gt;
&lt;span class=&quot;token number&quot;&gt;6&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt; &amp;#xBD80;&amp;#xD130; &lt;span class=&quot;token number&quot;&gt;1000000&lt;/span&gt; &amp;#xAE4C;&amp;#xC9C0;&amp;#xC758; &amp;#xCD1D; &amp;#xD569; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;500000500000&lt;/span&gt;
&lt;span class=&quot;token number&quot;&gt;7&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt; &amp;#xBD80;&amp;#xD130; &lt;span class=&quot;token number&quot;&gt;1000000&lt;/span&gt; &amp;#xAE4C;&amp;#xC9C0;&amp;#xC758; &amp;#xCD1D; &amp;#xD569; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;500000500000&lt;/span&gt;
&lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt; &amp;#xBD80;&amp;#xD130; &lt;span class=&quot;token number&quot;&gt;1000000&lt;/span&gt; &amp;#xAE4C;&amp;#xC9C0;&amp;#xC758; &amp;#xCD1D; &amp;#xD569; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;500000500000&lt;/span&gt;
&lt;span class=&quot;token number&quot;&gt;4&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt; &amp;#xBD80;&amp;#xD130; &lt;span class=&quot;token number&quot;&gt;1000000&lt;/span&gt; &amp;#xAE4C;&amp;#xC9C0;&amp;#xC758; &amp;#xCD1D; &amp;#xD569; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;500000500000&lt;/span&gt;
&lt;span class=&quot;token number&quot;&gt;5&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt; &amp;#xBD80;&amp;#xD130; &lt;span class=&quot;token number&quot;&gt;1000000&lt;/span&gt; &amp;#xAE4C;&amp;#xC9C0;&amp;#xC758; &amp;#xCD1D; &amp;#xD569; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;500000500000&lt;/span&gt;
&lt;span class=&quot;token number&quot;&gt;8&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt; &amp;#xBD80;&amp;#xD130; &lt;span class=&quot;token number&quot;&gt;1000000&lt;/span&gt; &amp;#xAE4C;&amp;#xC9C0;&amp;#xC758; &amp;#xCD1D; &amp;#xD569; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;500000500000&lt;/span&gt;
&lt;span class=&quot;token number&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt; &amp;#xBD80;&amp;#xD130; &lt;span class=&quot;token number&quot;&gt;1000000&lt;/span&gt; &amp;#xAE4C;&amp;#xC9C0;&amp;#xC758; &amp;#xCD1D; &amp;#xD569; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;500000500000&lt;/span&gt;
&lt;/pre&gt;&lt;hr&gt;
&lt;h2 class=&quot;mume-header&quot; id=&quot;3-%EA%B3%A0%EB%A3%A8%ED%8B%B4-%EC%82%AC%EC%9A%A9%EC%8B%9C-%EC%A3%BC%EC%9D%98-%EC%82%AC%ED%95%AD&quot;&gt;3. &amp;#xACE0;&amp;#xB8E8;&amp;#xD2F4; &amp;#xC0AC;&amp;#xC6A9;&amp;#xC2DC; &amp;#xC8FC;&amp;#xC758; &amp;#xC0AC;&amp;#xD56D;&lt;/h2&gt;

&lt;p&gt;&amp;#xACE0;&amp;#xB8E8;&amp;#xD2F4;&amp;#xC744; &amp;#xD65C;&amp;#xC6A9;&amp;#xD55C; &amp;#xB3D9;&amp;#xC2DC;&amp;#xC131; &amp;#xD504;&amp;#xB85C;&amp;#xADF8;&amp;#xB798;&amp;#xBC0D;&amp;#xC744; &amp;#xC774;&amp;#xC6A9;&amp;#xD560; &amp;#xB54C;&amp;#xC5D0;&amp;#xB294; &amp;#xACF5;&amp;#xC720;&amp;#xC790;&amp;#xC6D0; &amp;#xAD00;&amp;#xB828; &amp;#xC774;&amp;#xC288;&amp;#xB97C; &amp;#xBC18;&amp;#xB4DC;&amp;#xC2DC; &amp;#xC720;&amp;#xC758;&amp;#xD574;&amp;#xC57C; &amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xB3D9;&amp;#xC2DC;&amp;#xC5D0; &amp;#xC2E4;&amp;#xD589;&amp;#xB418;&amp;#xB294; &amp;#xC791;&amp;#xC5C5;&amp;#xC5D0;&amp;#xC11C; &amp;#xB3D9;&amp;#xC77C;&amp;#xD55C; &amp;#xC790;&amp;#xC6D0;&amp;#xC744; &amp;#xC774;&amp;#xC6A9;&amp;#xD558;&amp;#xAC8C; &amp;#xB420; &amp;#xACBD;&amp;#xC6B0;, &amp;#xC791;&amp;#xC5C5;&amp;#xC774; &amp;#xC2E4;&amp;#xD589;&amp;#xB3C4;&amp;#xC911; &amp;#xACF5;&amp;#xC720;&amp;#xC790;&amp;#xC6D0; &amp;#xAC12;&amp;#xC774; &amp;#xBCC0;&amp;#xACBD;&amp;#xB418;&amp;#xC5B4; &amp;#xC6D0;&amp;#xD558;&amp;#xB294; &amp;#xB3D9;&amp;#xC791;&amp;#xACFC; &amp;#xB2E4;&amp;#xB974;&amp;#xAC8C; &amp;#xACB0;&amp;#xACFC;&amp;#xAC00; &amp;#xB098;&amp;#xC640; &amp;#xC608;&amp;#xC0C1;&amp;#xD558;&amp;#xC9C0; &amp;#xBABB;&amp;#xD55C; &amp;#xACB0;&amp;#xACFC;&amp;#xB97C; &amp;#xB9CC;&amp;#xB0A0; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xC774;&amp;#xB7EC;&amp;#xD55C; &amp;#xC774;&amp;#xC720;&amp;#xB85C;, &lt;strong&gt;&amp;#xACF5;&amp;#xC720;&amp;#xC790;&amp;#xC6D0;(&amp;#xAC1D;&amp;#xCCB4; &amp;#xB610;&amp;#xB294; DB&amp;#xC790;&amp;#xC6D0; &amp;#xB4F1;)&lt;/strong&gt; &amp;#xC744; &amp;#xC774;&amp;#xC6A9;&amp;#xD560; &amp;#xACBD;&amp;#xC6B0;&amp;#xC5D0;&amp;#xB294; &amp;#xB2E4;&amp;#xB978; &amp;#xACE0;&amp;#xB8E8;&amp;#xD2F4;&amp;#xC774; &amp;#xC790;&amp;#xC6D0;&amp;#xC744; &amp;#xBCC0;&amp;#xACBD;&amp;#xD558;&amp;#xC9C0; &amp;#xC54A;&amp;#xB3C4;&amp;#xB85D; &amp;#xACE0;&amp;#xB824;&amp;#xD558;&amp;#xC5EC; &amp;#xCF54;&amp;#xB4DC;&amp;#xB97C; &amp;#xC791;&amp;#xC131;&amp;#xD574;&amp;#xC57C;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&lt;br&gt;&lt;/p&gt;
&lt;h3 class=&quot;mume-header&quot; id=&quot;31-mutex&quot;&gt;3.1. mutex&lt;/h3&gt;

&lt;p&gt;&amp;#xB3D9;&amp;#xC2DC;&amp;#xC131; &amp;#xD504;&amp;#xB85C;&amp;#xADF8;&amp;#xB798;&amp;#xBC0D;&amp;#xC5D0;&amp;#xC11C; &amp;#xACF5;&amp;#xC720;&amp;#xC790;&amp;#xC6D0; &amp;#xC0AC;&amp;#xC6A9;&amp;#xC2DC; &amp;#xC6D0;&amp;#xCE58; &amp;#xC54A;&amp;#xC740; &amp;#xC624;&amp;#xB958;&amp;#xAC00; &amp;#xBC1C;&amp;#xC0DD;&amp;#xB418;&amp;#xC9C0; &amp;#xC54A;&amp;#xB3C4;&amp;#xB85D; &amp;#xD558;&amp;#xB294; &amp;#xAC00;&amp;#xC7A5; &amp;#xB2E8;&amp;#xC21C;&amp;#xD55C; &amp;#xBC29;&amp;#xBC95;&amp;#xC73C;&amp;#xB85C;&amp;#xB294; mutex&amp;#xB97C; &amp;#xC774;&amp;#xC6A9;&amp;#xD558;&amp;#xB294; &amp;#xBC29;&amp;#xBC95;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;sync &amp;#xB0B4;&amp;#xC7A5; &amp;#xD328;&amp;#xD0A4;&amp;#xC9C0;&amp;#xC758; Mutex&amp;#xB97C; &amp;#xC774;&amp;#xC6A9;&amp;#xD558;&amp;#xBA74; mutex&amp;#xB97C; &amp;#xAC04;&amp;#xB2E8;&amp;#xD788; &amp;#xD65C;&amp;#xC6A9;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xACF5;&amp;#xC720;&amp;#xC790;&amp;#xC6D0;&amp;#xC744; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD558;&amp;#xB294; &amp;#xD568;&amp;#xC218; &amp;#xB0B4;&amp;#xC5D0; &lt;code&gt;mutex.Lock()&lt;/code&gt; &amp;#xC744; &amp;#xC774;&amp;#xC6A9;&amp;#xD558;&amp;#xC5EC;, &amp;#xB2E4;&amp;#xB978; &amp;#xACE0;&amp;#xB8E8;&amp;#xD2F4;&amp;#xC5D0;&amp;#xC11C; &amp;#xACF5;&amp;#xC720;&amp;#xC790;&amp;#xC6D0;&amp;#xC744; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD558;&amp;#xC9C0; &amp;#xBABB;&amp;#xD558;&amp;#xACE0; &amp;#xB300;&amp;#xAE30;&amp;#xC0C1;&amp;#xD0DC;&amp;#xB97C; &amp;#xAC16;&amp;#xB3C4;&amp;#xB85D; &amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;defer mutex.Unlock()&lt;/code&gt; &amp;#xD568;&amp;#xC218;&amp;#xB85C; &amp;#xACE0;&amp;#xB8E8;&amp;#xD2F4; &amp;#xC885;&amp;#xB8CC;&amp;#xC2DC;, mutex&amp;#xB97C; &amp;#xBC18;&amp;#xD658;&amp;#xD558;&amp;#xAC8C; &amp;#xD558;&amp;#xBA74; &amp;#xD568;&amp;#xC218; &amp;#xC885;&amp;#xB8CC;&amp;#xC2DC; &amp;#xB300;&amp;#xAE30;&amp;#xC911;&amp;#xC778; &amp;#xB2E4;&amp;#xB978; &amp;#xACE0;&amp;#xB8E8;&amp;#xD2F4;&amp;#xC5D0;&amp;#xC11C; &amp;#xBBA4;&amp;#xD14D;&amp;#xC2A4;&amp;#xB97C; &amp;#xD68D;&amp;#xB4DD;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xB3C4;&amp;#xB85D; &amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;#xBBA4;&amp;#xD14D;&amp;#xC2A4;&amp;#xB97C; &amp;#xC774;&amp;#xC6A9;&amp;#xD558;&amp;#xB294; &amp;#xD568;&amp;#xC218;&amp;#xC5D0;&amp;#xC11C;&amp;#xB294; &amp;#xBC18;&amp;#xB4DC;&amp;#xC2DC;, Unlock()&amp;#xC744; &amp;#xD638;&amp;#xCD9C;&amp;#xD558;&amp;#xC5EC; &amp;#xBBA4;&amp;#xD14D;&amp;#xC2A4;&amp;#xB97C; &amp;#xBC18;&amp;#xD658;&amp;#xD574;&amp;#xC918;&amp;#xC57C; &amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;!&lt;/p&gt;
&lt;/blockquote&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword keyword-var&quot;&gt;var&lt;/span&gt; mutex sync&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;Mutex

&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;testFunc&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;account &lt;span class=&quot;token operator&quot;&gt;*&lt;/span&gt;Account&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	mutex&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Lock&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-defer&quot;&gt;defer&lt;/span&gt; mutex&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Unlock&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	&lt;span class=&quot;token operator&quot;&gt;...&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;br&gt;
&lt;p&gt;&lt;strong&gt;deadlock&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&amp;#xD558;&amp;#xC9C0;&amp;#xB9CC;, &amp;#xB3D9;&amp;#xC2DC;&amp;#xC131; &amp;#xD504;&amp;#xB85C;&amp;#xADF8;&amp;#xB798;&amp;#xBC0D;&amp;#xC744; &amp;#xC704;&amp;#xD574; &amp;#xACE0;&amp;#xB8E8;&amp;#xD2F4;&amp;#xC744; &amp;#xC791;&amp;#xC131;&amp;#xD55C; &amp;#xCF54;&amp;#xB4DC;&amp;#xC5D0;&amp;#xC11C; &amp;#xBBA4;&amp;#xD14D;&amp;#xC2A4;&amp;#xB97C; &amp;#xC774;&amp;#xC6A9;&amp;#xD558;&amp;#xB294;&amp;#xAC83;&amp;#xC740;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&amp;#xB3D9;&amp;#xC2DC;&amp;#xC131; &amp;#xD504;&amp;#xB85C;&amp;#xADF8;&amp;#xB798;&amp;#xBC0D;&amp;#xC73C;&amp;#xB85C;&amp;#xC368;&amp;#xC758; &amp;#xC131;&amp;#xB2A5; &amp;#xC774;&amp;#xC810;&amp;#xC758; &amp;#xC7A5;&amp;#xC810;&amp;#xC744; &amp;#xB193;&amp;#xCE58;&amp;#xB294; &amp;#xBA74;&amp;#xACFC;&lt;/li&gt;
&lt;li&gt;&amp;#xBBA4;&amp;#xD14D;&amp;#xC2A4;&amp;#xB97C; &amp;#xC798;&amp;#xBABB; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD560; &amp;#xACBD;&amp;#xC6B0;, deadlock&amp;#xC774; &amp;#xBC1C;&amp;#xC0DD;&amp;#xB420; &amp;#xC218; &amp;#xC788;&amp;#xB294; &amp;#xBB38;&amp;#xC81C;&amp;#xC810;&lt;br&gt;
&amp;#xACFC; &amp;#xAC19;&amp;#xC740; &amp;#xBB38;&amp;#xC81C;&amp;#xC0AC;&amp;#xD56D;&amp;#xC774; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&amp;#xC544;&amp;#xB798;&amp;#xC758; &amp;#xC608;&amp;#xC81C;&amp;#xB97C; &amp;#xBCF4;&amp;#xBA74;&amp;#xC11C; &amp;#xB370;&amp;#xB4DC;&amp;#xB77D; &amp;#xC774;&amp;#xC288;&amp;#xC5D0; &amp;#xB300;&amp;#xD574; &amp;#xC0DD;&amp;#xAC01;&amp;#xD574;&amp;#xBD05;&amp;#xC2DC;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword keyword-package&quot;&gt;package&lt;/span&gt; main  

&lt;span class=&quot;token keyword keyword-import&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;  
  &lt;span class=&quot;token string&quot;&gt;&amp;quot;fmt&amp;quot;&lt;/span&gt;  
  &lt;span class=&quot;token string&quot;&gt;&amp;quot;math/rand&amp;quot;&lt;/span&gt;  &lt;span class=&quot;token string&quot;&gt;&amp;quot;sync&amp;quot;&lt;/span&gt;  &lt;span class=&quot;token string&quot;&gt;&amp;quot;time&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;  

&lt;span class=&quot;token keyword keyword-var&quot;&gt;var&lt;/span&gt; wg sync&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;WaitGroup  

&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;dining&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;name &lt;span class=&quot;token builtin&quot;&gt;string&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; first&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; second &lt;span class=&quot;token operator&quot;&gt;*&lt;/span&gt;sync&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;Mutex&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; firstName&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; secondName &lt;span class=&quot;token builtin&quot;&gt;string&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;  
  &lt;span class=&quot;token keyword keyword-for&quot;&gt;for&lt;/span&gt; i &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; i &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;10&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; i&lt;span class=&quot;token operator&quot;&gt;++&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;  
   fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Printf&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;%s&amp;#xAC00; &amp;#xBC25;&amp;#xC744; &amp;#xBA39;&amp;#xC73C;&amp;#xB824;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.\n&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; name&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;  
   first&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Lock&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;  
   fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Printf&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;%s&amp;#xAC00; %s&amp;#xB97C; &amp;#xD68D;&amp;#xB4DD;&amp;#xD588;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.\n&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; name&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; firstName&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;  
   second&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Lock&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;  
   fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Printf&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;%s&amp;#xAC00; %s&amp;#xB97C; &amp;#xD68D;&amp;#xB4DD;&amp;#xD588;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.\n&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; name&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; secondName&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;  

   fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Printf&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;%s&amp;#xAC00; &amp;#xBC25;&amp;#xC744; &amp;#xBA39;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.\n&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; name&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;  
   time&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Sleep&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;time&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Duration&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;rand&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Intn&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;1000&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;*&lt;/span&gt; time&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;Millisecond&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;  

   second&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Unlock&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;  
   first&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Unlock&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;  
  &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;  
  wg&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Done&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;  
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;  

&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;main&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;  
  rand&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;New&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;rand&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;NewSource&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;time&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Now&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;UnixNano&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;  

  wg&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Add&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;  
  fork &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt;sync&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;Mutex&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;  
  spoon &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt;sync&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;Mutex&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;  

  &lt;span class=&quot;token keyword keyword-go&quot;&gt;go&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;dining&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;A&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; fork&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; spoon&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;fork&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;spoon&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;  
  &lt;span class=&quot;token keyword keyword-go&quot;&gt;go&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;dining&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;B&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; spoon&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; fork&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;spoon&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;fork&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;  

  wg&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Wait&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;  
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;B&amp;#xAC00; &amp;#xBC25;&amp;#xC744; &amp;#xBA39;&amp;#xC73C;&amp;#xB824;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.
B&amp;#xAC00; spoon&amp;#xB97C; &amp;#xD68D;&amp;#xB4DD;&amp;#xD588;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.
B&amp;#xAC00; fork&amp;#xB97C; &amp;#xD68D;&amp;#xB4DD;&amp;#xD588;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.
B&amp;#xAC00; &amp;#xBC25;&amp;#xC744; &amp;#xBA39;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.
A&amp;#xAC00; &amp;#xBC25;&amp;#xC744; &amp;#xBA39;&amp;#xC73C;&amp;#xB824;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.
B&amp;#xAC00; &amp;#xBC25;&amp;#xC744; &amp;#xBA39;&amp;#xC73C;&amp;#xB824;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.
B&amp;#xAC00; spoon&amp;#xB97C; &amp;#xD68D;&amp;#xB4DD;&amp;#xD588;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.
A&amp;#xAC00; fork&amp;#xB97C; &amp;#xD68D;&amp;#xB4DD;&amp;#xD588;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.
fatal error: all goroutines are asleep - deadlock&lt;span class=&quot;token operator&quot;&gt;!&lt;/span&gt;
&lt;/pre&gt;&lt;p&gt;&amp;#xBBA4;&amp;#xD14D;&amp;#xC2A4; &amp;#xC774;&amp;#xB984;&amp;#xC744; fork, spoon &amp;#xB85C; &amp;#xC815;&amp;#xC758;&amp;#xD558;&amp;#xACE0;, &amp;#xAC01; &amp;#xBBA4;&amp;#xD14D;&amp;#xC2A4;&amp;#xB97C; &amp;#xC810;&amp;#xC720;&amp;#xD55C; &amp;#xACBD;&amp;#xC6B0;&amp;#xC5D0; fork&amp;#xB098; spoon&amp;#xC744; &amp;#xD68D;&amp;#xB4DD;&amp;#xD55C; &amp;#xACBD;&amp;#xC6B0;&amp;#xB85C; &amp;#xC0DD;&amp;#xAC01;&amp;#xD574;&amp;#xBD05;&amp;#xC2DC;&amp;#xB2E4;.&lt;br&gt;
&amp;#xD3EC;&amp;#xD06C;&amp;#xB791; &amp;#xC2A4;&amp;#xD47C;&amp;#xC774; &amp;#xBAA8;&amp;#xB450; &amp;#xC788;&amp;#xB294; &amp;#xACBD;&amp;#xC6B0;&amp;#xC5D0; &amp;#xC2DD;&amp;#xC0AC;&amp;#xB97C; &amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC73C;&amp;#xBA70;, &amp;#xC2DD;&amp;#xC0AC;&amp;#xB97C; &amp;#xB9C8;&amp;#xCE5C; &amp;#xD6C4; &amp;#xBBA4;&amp;#xD14D;&amp;#xC2A4;&amp;#xB97C; &amp;#xBC18;&amp;#xD658;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xC2E4;&amp;#xD589; &amp;#xACB0;&amp;#xACFC;&amp;#xB97C; &amp;#xBCF4;&amp;#xBA74;, &amp;#xCC98;&amp;#xC74C;&amp;#xC5D0; B&amp;#xAC00; &amp;#xBA3C;&amp;#xC800; &amp;#xBBA4;&amp;#xD14D;&amp;#xC2A4;&amp;#xB97C; &amp;#xC810;&amp;#xC720;&amp;#xD558;&amp;#xBA70; &amp;#xC2DD;&amp;#xC0AC;&amp;#xB97C; &amp;#xB9C8;&amp;#xCCE4;&amp;#xC9C0;&amp;#xB9CC;,&lt;br&gt;
&amp;#xBBA4;&amp;#xD14D;&amp;#xC2A4; &amp;#xBC18;&amp;#xD658; &amp;#xD6C4; &amp;#xB2E4;&amp;#xC74C; loop&amp;#xB97C; &amp;#xC2E4;&amp;#xD589;&amp;#xD558;&amp;#xB824;&amp;#xACE0; &amp;#xD560; &amp;#xB54C;, A&amp;#xAC00; fork &amp;#xBBA4;&amp;#xD14D;&amp;#xC2A4;&amp;#xB97C; &amp;#xD68D;&amp;#xB4DD;&amp;#xD574;&amp;#xBC84;&amp;#xB9AC;&amp;#xB294; &amp;#xBC14;&amp;#xB78C;&amp;#xC5D0; &amp;#xC591;&amp;#xCABD; &amp;#xBAA8;&amp;#xB450; &amp;#xB098;&amp;#xBA38;&amp;#xC9C0; &amp;#xBBA4;&amp;#xD14D;&amp;#xC2A4;&amp;#xB97C; &amp;#xD68D;&amp;#xB4DD;&amp;#xD558;&amp;#xC9C0; &amp;#xBABB;&amp;#xD558;&amp;#xC5EC; &amp;#xBB34;&amp;#xD55C;&amp;#xC815; &amp;#xB300;&amp;#xAE30;&amp;#xD558;&amp;#xB294; &amp;#xC0C1;&amp;#xD0DC;&amp;#xC778; &amp;#xB370;&amp;#xB4DC;&amp;#xB77D;&amp;#xC5D0; &amp;#xBE60;&amp;#xC9C0;&amp;#xB294; &amp;#xD604;&amp;#xC0C1;&amp;#xC774; &amp;#xBC1C;&amp;#xC0DD;&amp;#xD558;&amp;#xC600;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xC774;&amp;#xCC98;&amp;#xB7FC; &amp;#xB3D9;&amp;#xC2DC;&amp;#xC131; &amp;#xD504;&amp;#xB85C;&amp;#xADF8;&amp;#xB798;&amp;#xBC0D;&amp;#xC5D0;&amp;#xC11C; &amp;#xBBA4;&amp;#xD14D;&amp;#xC2A4;&amp;#xB97C; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD558;&amp;#xB294; &amp;#xACBD;&amp;#xC6B0;&amp;#xC5D0;&amp;#xB294; &lt;strong&gt;&amp;#xC131;&amp;#xB2A5; &amp;#xC800;&amp;#xD558;&lt;/strong&gt; &amp;#xC774;&amp;#xC288; &amp;#xBFD0;&amp;#xB9CC; &amp;#xC544;&amp;#xB2C8;&amp;#xB77C;, &amp;#xC608;&amp;#xC0C1;&amp;#xD558;&amp;#xC9C0; &amp;#xBABB;&amp;#xD55C; &lt;strong&gt;&amp;#xB370;&amp;#xB4DC;&amp;#xB77D;&lt;/strong&gt; &amp;#xC744; &amp;#xB9C8;&amp;#xC8FC;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xAE30; &amp;#xB54C;&amp;#xBB38;&amp;#xC5D0; &amp;#xC720;&amp;#xC758;&amp;#xD574;&amp;#xC57C; &amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;br&gt;
&lt;h3 class=&quot;mume-header&quot; id=&quot;32-%EC%9E%90%EC%9B%90-%EC%9D%B4%EC%8A%88-%ED%95%B4%EA%B2%B0%ED%95%98%EB%8A%94-%EB%B0%A9%EB%B2%95-%EB%98%90%EB%8B%A4%EB%A5%B8-%EB%B0%A9%EB%B2%95&quot;&gt;3.2. &amp;#xC790;&amp;#xC6D0; &amp;#xC774;&amp;#xC288; &amp;#xD574;&amp;#xACB0;&amp;#xD558;&amp;#xB294; &amp;#xBC29;&amp;#xBC95; &amp;#xB610;&amp;#xB2E4;&amp;#xB978; &amp;#xBC29;&amp;#xBC95;&lt;/h3&gt;

&lt;p&gt;&amp;#xBBA4;&amp;#xD14D;&amp;#xC2A4;&amp;#xB97C; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD558;&amp;#xB294; &amp;#xC774;&amp;#xC720;&amp;#xB294; &amp;#xACF5;&amp;#xC720;&amp;#xC790;&amp;#xC6D0; &amp;#xC811;&amp;#xADFC;&amp;#xC5D0; &amp;#xC758;&amp;#xD55C; side effect&amp;#xB97C; &amp;#xBC29;&amp;#xC9C0;&amp;#xD558;&amp;#xAE30; &amp;#xC704;&amp;#xD568;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xD558;&amp;#xC9C0;&amp;#xB9CC; &amp;#xBBA4;&amp;#xD14D;&amp;#xC2A4;&amp;#xB97C; &amp;#xC774;&amp;#xC6A9;&amp;#xD558;&amp;#xBA74;, &amp;#xC131;&amp;#xB2A5;&amp;#xC800;&amp;#xD558;&amp;#xB098; &amp;#xB370;&amp;#xB4DC;&amp;#xB77D; &amp;#xB4F1;&amp;#xC758; &amp;#xBB38;&amp;#xC81C;&amp;#xAC00; &amp;#xBC1C;&amp;#xC0DD;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xADF8;&amp;#xB807;&amp;#xB2E4;&amp;#xBA74;, &amp;#xBBA4;&amp;#xD14D;&amp;#xC2A4;&amp;#xB97C; &amp;#xC774;&amp;#xC6A9;&amp;#xD558;&amp;#xC9C0; &amp;#xC54A;&amp;#xACE0; &amp;#xC790;&amp;#xC6D0; &amp;#xC774;&amp;#xC288;&amp;#xB97C; &amp;#xD574;&amp;#xACB0;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xB294; &amp;#xBC29;&amp;#xBC95;&amp;#xC740; &amp;#xC5B4;&amp;#xB5A4;&amp;#xAC8C; &amp;#xC788;&amp;#xC744;&amp;#xAE4C;&amp;#xC694;?&lt;/p&gt;
&lt;p&gt;&amp;#xACF5;&amp;#xC720; &amp;#xC790;&amp;#xC6D0;&amp;#xC744; &amp;#xB3D9;&amp;#xC2DC;&amp;#xC5D0; &amp;#xC811;&amp;#xADFC;&amp;#xD558;&amp;#xC9C0; &amp;#xC54A;&amp;#xB3C4;&amp;#xB85D; &amp;#xCF54;&amp;#xB4DC;&amp;#xB97C; &amp;#xC791;&amp;#xC131;&amp;#xD558;&amp;#xBA74; &amp;#xBB38;&amp;#xC81C;&amp;#xB294; &amp;#xD574;&amp;#xACB0;&amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&amp;#xAC01; &amp;#xACE0;&amp;#xB8E8;&amp;#xD2F4;&amp;#xB9C8;&amp;#xB2E4; &amp;#xC11C;&amp;#xB85C; &amp;#xB2E4;&amp;#xB978; &amp;#xC601;&amp;#xC5ED;&amp;#xC744; &amp;#xC791;&amp;#xC5C5;&amp;#xD558;&amp;#xB3C4;&amp;#xB85D; &amp;#xD558;&amp;#xAC70;&amp;#xB098;&lt;/li&gt;
&lt;li&gt;&amp;#xAC01;&amp;#xC790; &amp;#xB2E4;&amp;#xB978; &amp;#xC5ED;&amp;#xD560;&amp;#xC744; &amp;#xC218;&amp;#xD589;&amp;#xD558;&amp;#xC5EC; &amp;#xC791;&amp;#xC5C5;&amp;#xAC04;&amp;#xC758; &amp;#xAC04;&amp;#xC12D;&amp;#xC774; &amp;#xC5C6;&amp;#xB3C4;&amp;#xB85D; &amp;#xD558;&amp;#xBA74; &amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;/li&gt;
&lt;/ul&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword keyword-package&quot;&gt;package&lt;/span&gt; main  

&lt;span class=&quot;token keyword keyword-import&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;  
  &lt;span class=&quot;token string&quot;&gt;&amp;quot;fmt&amp;quot;&lt;/span&gt;  
  &lt;span class=&quot;token string&quot;&gt;&amp;quot;sync&amp;quot;&lt;/span&gt;  &lt;span class=&quot;token string&quot;&gt;&amp;quot;time&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;  

&lt;span class=&quot;token keyword keyword-type&quot;&gt;type&lt;/span&gt; Job &lt;span class=&quot;token keyword keyword-interface&quot;&gt;interface&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;  
  &lt;span class=&quot;token function&quot;&gt;Do&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;  
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;  

&lt;span class=&quot;token keyword keyword-type&quot;&gt;type&lt;/span&gt; PowerJob &lt;span class=&quot;token keyword keyword-struct&quot;&gt;struct&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;  
  num &lt;span class=&quot;token builtin&quot;&gt;int&lt;/span&gt;  
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;  

&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;pj &lt;span class=&quot;token operator&quot;&gt;*&lt;/span&gt;PowerJob&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;Do&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;  
  fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Printf&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;%d &amp;#xAC70;&amp;#xB4ED;&amp;#xC81C;&amp;#xACF1; job start\n&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; pj&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;num&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;  
  time&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Sleep&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;500&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;*&lt;/span&gt; time&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;Millisecond&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;  
  fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Printf&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;%d &amp;#xAC70;&amp;#xB4ED;&amp;#xC81C;&amp;#xACF1; job end! &amp;#xACB0;&amp;#xACFC;&amp;#xB294; %d\n&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; pj&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;num&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; pj&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;num&lt;span class=&quot;token operator&quot;&gt;*&lt;/span&gt;pj&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;num&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;  
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;  

&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;main&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;  
  &lt;span class=&quot;token keyword keyword-var&quot;&gt;var&lt;/span&gt; jobs &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;10&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;Job  
  size &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;10&lt;/span&gt;  

  &lt;span class=&quot;token keyword keyword-for&quot;&gt;for&lt;/span&gt; i &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; i &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt; size&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; i&lt;span class=&quot;token operator&quot;&gt;++&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;  
   jobs&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;i&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt;PowerJob&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;i&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;  
  &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;  

  &lt;span class=&quot;token keyword keyword-var&quot;&gt;var&lt;/span&gt; wg sync&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;WaitGroup  
  wg&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Add&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;size&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;  

  &lt;span class=&quot;token keyword keyword-for&quot;&gt;for&lt;/span&gt; i &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; i &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;len&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;jobs&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; i&lt;span class=&quot;token operator&quot;&gt;++&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;  
   job &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; jobs&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;i&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;  
   &lt;span class=&quot;token keyword keyword-go&quot;&gt;go&lt;/span&gt; &lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;  
    job&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Do&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;  
    wg&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Done&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;  
   &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;  
  &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;  
  wg&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Wait&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;  

&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;&lt;span class=&quot;token number&quot;&gt;2&lt;/span&gt; &amp;#xAC70;&amp;#xB4ED;&amp;#xC81C;&amp;#xACF1; job start
&lt;span class=&quot;token number&quot;&gt;7&lt;/span&gt; &amp;#xAC70;&amp;#xB4ED;&amp;#xC81C;&amp;#xACF1; job start
&lt;span class=&quot;token number&quot;&gt;9&lt;/span&gt; &amp;#xAC70;&amp;#xB4ED;&amp;#xC81C;&amp;#xACF1; job start
&lt;span class=&quot;token number&quot;&gt;6&lt;/span&gt; &amp;#xAC70;&amp;#xB4ED;&amp;#xC81C;&amp;#xACF1; job start
&lt;span class=&quot;token number&quot;&gt;8&lt;/span&gt; &amp;#xAC70;&amp;#xB4ED;&amp;#xC81C;&amp;#xACF1; job start
&lt;span class=&quot;token number&quot;&gt;4&lt;/span&gt; &amp;#xAC70;&amp;#xB4ED;&amp;#xC81C;&amp;#xACF1; job start
&lt;span class=&quot;token number&quot;&gt;5&lt;/span&gt; &amp;#xAC70;&amp;#xB4ED;&amp;#xC81C;&amp;#xACF1; job start
&lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt; &amp;#xAC70;&amp;#xB4ED;&amp;#xC81C;&amp;#xACF1; job start
&lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt; &amp;#xAC70;&amp;#xB4ED;&amp;#xC81C;&amp;#xACF1; job start
&lt;span class=&quot;token number&quot;&gt;3&lt;/span&gt; &amp;#xAC70;&amp;#xB4ED;&amp;#xC81C;&amp;#xACF1; job start
&lt;span class=&quot;token number&quot;&gt;2&lt;/span&gt; &amp;#xAC70;&amp;#xB4ED;&amp;#xC81C;&amp;#xACF1; job end&lt;span class=&quot;token operator&quot;&gt;!&lt;/span&gt; &amp;#xACB0;&amp;#xACFC;&amp;#xB294; &lt;span class=&quot;token number&quot;&gt;4&lt;/span&gt;
&lt;span class=&quot;token number&quot;&gt;4&lt;/span&gt; &amp;#xAC70;&amp;#xB4ED;&amp;#xC81C;&amp;#xACF1; job end&lt;span class=&quot;token operator&quot;&gt;!&lt;/span&gt; &amp;#xACB0;&amp;#xACFC;&amp;#xB294; &lt;span class=&quot;token number&quot;&gt;16&lt;/span&gt;
&lt;span class=&quot;token number&quot;&gt;6&lt;/span&gt; &amp;#xAC70;&amp;#xB4ED;&amp;#xC81C;&amp;#xACF1; job end&lt;span class=&quot;token operator&quot;&gt;!&lt;/span&gt; &amp;#xACB0;&amp;#xACFC;&amp;#xB294; &lt;span class=&quot;token number&quot;&gt;36&lt;/span&gt;
&lt;span class=&quot;token number&quot;&gt;8&lt;/span&gt; &amp;#xAC70;&amp;#xB4ED;&amp;#xC81C;&amp;#xACF1; job end&lt;span class=&quot;token operator&quot;&gt;!&lt;/span&gt; &amp;#xACB0;&amp;#xACFC;&amp;#xB294; &lt;span class=&quot;token number&quot;&gt;64&lt;/span&gt;
&lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt; &amp;#xAC70;&amp;#xB4ED;&amp;#xC81C;&amp;#xACF1; job end&lt;span class=&quot;token operator&quot;&gt;!&lt;/span&gt; &amp;#xACB0;&amp;#xACFC;&amp;#xB294; &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;
&lt;span class=&quot;token number&quot;&gt;5&lt;/span&gt; &amp;#xAC70;&amp;#xB4ED;&amp;#xC81C;&amp;#xACF1; job end&lt;span class=&quot;token operator&quot;&gt;!&lt;/span&gt; &amp;#xACB0;&amp;#xACFC;&amp;#xB294; &lt;span class=&quot;token number&quot;&gt;25&lt;/span&gt;
&lt;span class=&quot;token number&quot;&gt;3&lt;/span&gt; &amp;#xAC70;&amp;#xB4ED;&amp;#xC81C;&amp;#xACF1; job end&lt;span class=&quot;token operator&quot;&gt;!&lt;/span&gt; &amp;#xACB0;&amp;#xACFC;&amp;#xB294; &lt;span class=&quot;token number&quot;&gt;9&lt;/span&gt;
&lt;span class=&quot;token number&quot;&gt;9&lt;/span&gt; &amp;#xAC70;&amp;#xB4ED;&amp;#xC81C;&amp;#xACF1; job end&lt;span class=&quot;token operator&quot;&gt;!&lt;/span&gt; &amp;#xACB0;&amp;#xACFC;&amp;#xB294; &lt;span class=&quot;token number&quot;&gt;81&lt;/span&gt;
&lt;span class=&quot;token number&quot;&gt;7&lt;/span&gt; &amp;#xAC70;&amp;#xB4ED;&amp;#xC81C;&amp;#xACF1; job end&lt;span class=&quot;token operator&quot;&gt;!&lt;/span&gt; &amp;#xACB0;&amp;#xACFC;&amp;#xB294; &lt;span class=&quot;token number&quot;&gt;49&lt;/span&gt;
&lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt; &amp;#xAC70;&amp;#xB4ED;&amp;#xC81C;&amp;#xACF1; job end&lt;span class=&quot;token operator&quot;&gt;!&lt;/span&gt; &amp;#xACB0;&amp;#xACFC;&amp;#xB294; &lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;
&lt;/pre&gt;&lt;p&gt;&amp;#xC704;&amp;#xC758; &amp;#xC608;&amp;#xC81C;&amp;#xC5D0;&amp;#xC11C;, &amp;#xAC01; &amp;#xACE0;&amp;#xB8E8;&amp;#xD2F4;&amp;#xC740; &amp;#xBC30;&amp;#xC5F4; &amp;#xC911; &amp;#xAC01;&amp;#xAE30; &amp;#xB2E4;&amp;#xB978; &amp;#xC778;&amp;#xB371;&amp;#xC2A4;&amp;#xB97C; &amp;#xC811;&amp;#xADFC;&amp;#xD558;&amp;#xAE30; &amp;#xB54C;&amp;#xBB38;&amp;#xC5D0; &amp;#xACF5;&amp;#xC720;&amp;#xC790;&amp;#xC6D0;&amp;#xC744; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD558;&amp;#xC9C0; &amp;#xC54A;&amp;#xC544; &amp;#xACF5;&amp;#xC720;&amp;#xC790;&amp;#xC6D0; &amp;#xAD00;&amp;#xB828; &amp;#xC774;&amp;#xC288;&amp;#xB97C; &amp;#xBC29;&amp;#xC9C0;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xC774;&amp;#xB807;&amp;#xAC8C; &amp;#xCF54;&amp;#xB4DC;&amp;#xB97C; &amp;#xC791;&amp;#xC131;&amp;#xD558;&amp;#xBA74; &amp;#xBBA4;&amp;#xD14D;&amp;#xC2A4;&amp;#xB97C; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD558;&amp;#xC9C0; &amp;#xC54A;&amp;#xACE0;&amp;#xB3C4; &amp;#xB3D9;&amp;#xC2DC;&amp;#xC131; &amp;#xD504;&amp;#xB85C;&amp;#xADF8;&amp;#xB798;&amp;#xBC0D; &amp;#xC0AC;&amp;#xC6A9;&amp;#xC2DC; &amp;#xBC1C;&amp;#xC0DD;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xB294; &amp;#xBB38;&amp;#xC81C;&amp;#xB97C; &amp;#xD574;&amp;#xACB0;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;

  &lt;/div&gt;&lt;/div&gt;</description>
      <category>Go</category>
      <category>go</category>
      <author>jiniya22</author>
      <guid isPermaLink="true">https://jini-box.tistory.com/237</guid>
      <comments>https://jini-box.tistory.com/237#entry237comment</comments>
      <pubDate>Mon, 11 Mar 2024 18:06:12 +0900</pubDate>
    </item>
    <item>
      <title>[Effective Java] Item 14. Comparable을 구현할지 고려하라</title>
      <link>https://jini-box.tistory.com/240</link>
      <description>&lt;div id=&quot;html-export&quot;&gt;
      &lt;div class=&quot;mume markdown-preview  &quot;&gt;
      &lt;p&gt;Comparable &amp;#xC778;&amp;#xD130;&amp;#xD398;&amp;#xC774;&amp;#xC2A4; &amp;#xB0B4;&amp;#xC5D0; &amp;#xC120;&amp;#xC5B8;&amp;#xB41C; &amp;#xC720;&amp;#xC77C;&amp;#xD55C; &amp;#xBA54;&amp;#xC11C;&amp;#xB4DC;&amp;#xC778; compareTo&amp;#xB294; &amp;#xB3D9;&amp;#xCE58;&amp;#xC131; &amp;#xBE44;&amp;#xAD50;&amp;#xC5D0; &amp;#xB354;&amp;#xD574; &amp;#xC21C;&amp;#xC11C; &amp;#xBE44;&amp;#xAD50;&amp;#xAE4C;&amp;#xC9C0; &amp;#xAC00;&amp;#xC9C0;&amp;#xACE0; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
Comparable&amp;#xC744; &amp;#xAD6C;&amp;#xD604;&amp;#xD55C; &amp;#xD074;&amp;#xB798;&amp;#xC2A4;&amp;#xB97C; &amp;#xB2F4;&amp;#xC740; &amp;#xBC30;&amp;#xC5F4;&amp;#xC740; &lt;code&gt;Arrays.sort()&lt;/code&gt;&amp;#xB97C; &amp;#xC774;&amp;#xC6A9;&amp;#xD558;&amp;#xC5EC; &amp;#xC815;&amp;#xB82C;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&lt;br&gt;&lt;/p&gt;
&lt;p&gt;compareTo &amp;#xBA54;&amp;#xC11C;&amp;#xB4DC; &amp;#xC77C;&amp;#xBC18; &amp;#xADDC;&amp;#xC57D;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&amp;#xD604;&amp;#xC7AC;&amp;#xAC1D;&amp;#xCCB4;&amp;#xAC00; &amp;#xC8FC;&amp;#xC5B4;&amp;#xC9C4; &amp;#xAC1D;&amp;#xCCB4;&amp;#xBCF4;&amp;#xB2E4; &amp;#xC791;&amp;#xC73C;&amp;#xBA74; -1, &amp;#xAC19;&amp;#xC73C;&amp;#xBA74; 0, &amp;#xD06C;&amp;#xBA74; 1&amp;#xB97C; &amp;#xBC18;&amp;#xD658;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;. (&amp;#xD604;&amp;#xC7AC;&amp;#xAC1D;&amp;#xCCB4;&amp;#xC640; &amp;#xBE44;&amp;#xAD50;&amp;#xD560; &amp;#xC218; &amp;#xC5C6;&amp;#xB294; &amp;#xD0C0;&amp;#xC785;&amp;#xC774; &amp;#xC8FC;&amp;#xC5B4;&amp;#xC9C0;&amp;#xB294; &amp;#xACBD;&amp;#xC6B0;&amp;#xC5D0;&amp;#xB294; &lt;code&gt;ClassCastException&lt;/code&gt;&amp;#xC744; &amp;#xBC18;&amp;#xD658;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.)&lt;/li&gt;
&lt;li&gt;x.compareTo(y) == -y.compareTo(x)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;x.compareTo(y) &amp;gt; 0 &amp;amp;&amp;amp; y.compareTo(z) &amp;#xC77C; &amp;#xACBD;&amp;#xC6B0;&lt;/code&gt;, &lt;code&gt;x.compareTo(z) &amp;gt; 0&lt;/code&gt; &amp;#xB97C; &amp;#xB9CC;&amp;#xC871;&amp;#xD574;&amp;#xC57C; &amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;x.compareTo(y) == 0&lt;/code&gt; &amp;#xC77C; &amp;#xACBD;&amp;#xC6B0;, &lt;code&gt;x.compareTo(z) == y.compareTo(z)&lt;/code&gt; &amp;#xB97C; &amp;#xB9CC;&amp;#xC871;&amp;#xD574;&amp;#xC57C; &amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;x.compareTo(y) == 0&lt;/code&gt; &amp;#xC77C; &amp;#xACBD;&amp;#xC6B0;, &lt;code&gt;x.equals(y)&lt;/code&gt;&amp;#xC5EC;&amp;#xC57C; &amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/li&gt;
&lt;/ol&gt;
&lt;br&gt;
&lt;p&gt;compareTo &amp;#xADDC;&amp;#xC57D;&amp;#xC744; &amp;#xC9C0;&amp;#xD0AC; &amp;#xACBD;&amp;#xC6B0;, &amp;#xBE44;&amp;#xAD50;&amp;#xB97C; &amp;#xD65C;&amp;#xC6A9;&amp;#xD55C; &amp;#xD074;&amp;#xB798;&amp;#xC2A4;&amp;#xC778; &lt;strong&gt;TreeSet, TreeMap, &amp;#xC815;&amp;#xB82C;&lt;/strong&gt; &amp;#xB4F1;&amp;#xC744; &amp;#xD65C;&amp;#xC6A9;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xC815;&amp;#xB82C;&amp;#xB41C; &amp;#xCEEC;&amp;#xB809;&amp;#xC158;&amp;#xC758; &amp;#xACBD;&amp;#xC6B0;, &amp;#xB3D9;&amp;#xCE58;&amp;#xC131; &amp;#xBE44;&amp;#xAD50;&amp;#xC5D0; equals&amp;#xAC00; &amp;#xC544;&amp;#xB2CC; compareTo &amp;#xB97C; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;compareTo&amp;#xC758; &amp;#xC77C;&amp;#xBC18; &amp;#xADDC;&amp;#xC57D;&amp;#xC911; &amp;#xB9E8; &amp;#xB9C8;&amp;#xC9C0;&amp;#xB9C9;&amp;#xC5D0; &amp;#xC4F0;&amp;#xC5EC;&amp;#xC9C4;, &lt;code&gt;x.compareTo(y) == 0&lt;/code&gt; &amp;#xC778; &amp;#xACBD;&amp;#xC6B0;, &lt;code&gt;x.equals(y) == true&lt;/code&gt;&amp;#xB97C; &amp;#xB9CC;&amp;#xC871;&amp;#xD558;&amp;#xB3C4;&amp;#xB85D; &amp;#xC815;&amp;#xC758;&amp;#xD558;&amp;#xC790;&amp;#xC5D0; &amp;#xB300;&amp;#xD574;&amp;#xC11C; &amp;#xC0B4;&amp;#xD3B4;&amp;#xBD05;&amp;#xC2DC;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;BigDecimal&amp;#xC5D0;&amp;#xC11C; &amp;quot;1.0&amp;quot;&amp;#xACFC; &amp;quot;1.00&amp;quot; &amp;#xC785;&amp;#xB825;&amp;#xC5D0; &amp;#xB300;&amp;#xD55C; compareTo &amp;#xBE44;&amp;#xAD50;&amp;#xAC12;&amp;#xC740; 0&amp;#xC744; &amp;#xBC18;&amp;#xD658;&amp;#xD558;&amp;#xC9C0;&amp;#xB9CC;, equals &amp;#xACB0;&amp;#xACFC;&amp;#xB294; false&amp;#xB97C; &amp;#xBC18;&amp;#xD658;&amp;#xD558;&amp;#xACE0; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;java&quot; class=&quot;language-java&quot;&gt;&lt;span class=&quot;token class-name&quot;&gt;BigDecimal&lt;/span&gt; b1 &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token keyword keyword-new&quot;&gt;new&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;BigDecimal&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;1.0&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token class-name&quot;&gt;BigDecimal&lt;/span&gt; b2 &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token keyword keyword-new&quot;&gt;new&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;BigDecimal&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;1.00&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token class-name&quot;&gt;System&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;out&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;b1&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;equals&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;b2&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;      &lt;span class=&quot;token comment&quot;&gt;// false&lt;/span&gt;
&lt;span class=&quot;token class-name&quot;&gt;System&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;out&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;b1&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;compareTo&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;b2&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;   &lt;span class=&quot;token comment&quot;&gt;// 0&lt;/span&gt;
&lt;/pre&gt;&lt;br&gt;
&lt;p&gt;&amp;#xC774;&amp;#xB7EC;&amp;#xD55C; &amp;#xC774;&amp;#xC720;&amp;#xB85C;, HashSet&amp;#xC5D0; &amp;#xB123;&amp;#xC740; &amp;#xACB0;&amp;#xACFC;&amp;#xC640;&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;java&quot; class=&quot;language-java&quot;&gt;&lt;span class=&quot;token class-name&quot;&gt;Set&lt;/span&gt;&lt;span class=&quot;token generics&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;BigDecimal&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt; hashSet &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token keyword keyword-new&quot;&gt;new&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;HashSet&lt;/span&gt;&lt;span class=&quot;token generics&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
hashSet&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;add&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;b1&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
hashSet&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;add&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;b2&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token class-name&quot;&gt;System&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;out&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;hashSet&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;    &lt;span class=&quot;token comment&quot;&gt;// [1.0, 1.00]&lt;/span&gt;
&lt;/pre&gt;&lt;p&gt;TreeSet&amp;#xC5D0; &amp;#xB123;&amp;#xC740; &amp;#xACB0;&amp;#xACFC;&amp;#xAC00; &amp;#xB2EC;&amp;#xB77C;&amp;#xC9C0;&amp;#xAC8C; &amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;java&quot; class=&quot;language-java&quot;&gt;&lt;span class=&quot;token class-name&quot;&gt;Set&lt;/span&gt;&lt;span class=&quot;token generics&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;BigDecimal&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt; treeSet &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token keyword keyword-new&quot;&gt;new&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;TreeSet&lt;/span&gt;&lt;span class=&quot;token generics&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
treeSet&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;add&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;b1&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
treeSet&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;add&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;b2&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token class-name&quot;&gt;System&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;out&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;treeSet&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;    &lt;span class=&quot;token comment&quot;&gt;// [1.0]&lt;/span&gt;
&lt;/pre&gt;&lt;p&gt;&amp;#xC774; &amp;#xBD80;&amp;#xBD84;&amp;#xC5D0; &amp;#xB300;&amp;#xD574; &amp;#xC720;&amp;#xC758;&amp;#xD558;&amp;#xACE0;, compareTo&amp;#xB97C; &amp;#xADDC;&amp;#xC57D;&amp;#xC5D0; &amp;#xB9DE;&amp;#xCDB0; &amp;#xC815;&amp;#xC758;&amp;#xD558;&amp;#xB294; &amp;#xD544;&amp;#xC694;&amp;#xC131;&amp;#xC5D0; &amp;#xB300;&amp;#xD574; &amp;#xACE0;&amp;#xB824;&amp;#xD574;&amp;#xBCF4;&amp;#xB294; &amp;#xAC83;&amp;#xC774; &amp;#xC88B;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;&amp;#xC815;&amp;#xC218;&amp;#xB098; &amp;#xC2E4;&amp;#xC218; primitive &amp;#xD0C0;&amp;#xC785;&amp;#xC5D0; &amp;#xB300;&amp;#xD55C; &amp;#xBE44;&amp;#xAD50;&amp;#xC5F0;&amp;#xC0B0;&amp;#xC740; &amp;lt; &amp;#xB098; &amp;gt; &amp;#xAC19;&amp;#xC740; &amp;#xAD00;&amp;#xACC4; &amp;#xC5F0;&amp;#xC0B0;&amp;#xC790;&amp;#xB97C; &amp;#xC4F0;&amp;#xC9C0; &amp;#xC54A;&amp;#xC544;&amp;#xC57C; &amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
(&amp;#xBCF4;&amp;#xC774;&amp;#xAC8C;&amp;#xB3C4; &amp;#xAC70;&amp;#xCD94;&amp;#xC7A5; &amp;#xC2A4;&amp;#xB7FD;&amp;#xACE0; &amp;#xC624;&amp;#xB958;&amp;#xB97C; &amp;#xBC1C;&amp;#xC0DD;&amp;#xC2DC;&amp;#xD0A4;&amp;#xAE30;&amp;#xB3C4; &amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.)&lt;br&gt;
&lt;br&gt;&lt;/p&gt;
&lt;p&gt;compareTo &amp;#xBA54;&amp;#xC11C;&amp;#xB4DC;&amp;#xC5D0;&amp;#xC11C; &amp;#xD544;&amp;#xB4DC;&amp;#xAC12;&amp;#xC744; &amp;#xBE44;&amp;#xAD50;&amp;#xD560; &amp;#xB54C;&amp;#xC5D0;&amp;#xB294;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&amp;#xBC15;&amp;#xC2F1;&amp;#xB41C; &amp;#xAE30;&amp;#xBCF8; &amp;#xD0C0;&amp;#xC785; &amp;#xD074;&amp;#xB798;&amp;#xC2A4;&amp;#xC758; &amp;#xC815;&amp;#xC801; &amp;#xBA54;&amp;#xC11C;&amp;#xB4DC;(&lt;code&gt;Float.compare&lt;/code&gt;&amp;#xB4F1;..)&amp;#xB97C; &amp;#xC774;&amp;#xC6A9;&amp;#xD558;&amp;#xAC70;&amp;#xB098;&lt;/li&gt;
&lt;li&gt;Comparator &amp;#xC778;&amp;#xD130;&amp;#xD398;&amp;#xC774;&amp;#xC2A4;&amp;#xAC00; &amp;#xC81C;&amp;#xACF5;&amp;#xD558;&amp;#xB294; &amp;#xBE44;&amp;#xAD50;&amp;#xC790; &amp;#xC0DD;&amp;#xC131; &amp;#xBA54;&amp;#xC11C;&amp;#xB4DC;&amp;#xB97C; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD569;&amp;#xC2DC;&amp;#xB2E4;.&lt;/li&gt;
&lt;/ul&gt;
&lt;br&gt;
&lt;p&gt;&lt;strong&gt;Comparable &amp;#xC0AC;&amp;#xC6A9; &amp;#xC608;&amp;#xC81C;&lt;/strong&gt;&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;java&quot; class=&quot;language-java&quot;&gt;&lt;span class=&quot;token keyword keyword-public&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;token keyword keyword-record&quot;&gt;record&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;Member&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;
    &lt;span class=&quot;token class-name&quot;&gt;String&lt;/span&gt; name&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token keyword keyword-int&quot;&gt;int&lt;/span&gt; age
&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token keyword keyword-implements&quot;&gt;implements&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;Comparable&lt;/span&gt;&lt;span class=&quot;token generics&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;Member&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;

    &lt;span class=&quot;token annotation punctuation&quot;&gt;@Override&lt;/span&gt;
    &lt;span class=&quot;token keyword keyword-public&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;token keyword keyword-int&quot;&gt;int&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;compareTo&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token annotation punctuation&quot;&gt;@NotNull&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;Member&lt;/span&gt; m&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
        &lt;span class=&quot;token keyword keyword-int&quot;&gt;int&lt;/span&gt; result &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;Integer&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;compare&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;age&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; m&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;age&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
        &lt;span class=&quot;token keyword keyword-if&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;result &lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
            &lt;span class=&quot;token keyword keyword-return&quot;&gt;return&lt;/span&gt; name&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;compareTo&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;m&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;name&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
        &lt;span class=&quot;token keyword keyword-return&quot;&gt;return&lt;/span&gt; result&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;java&quot; class=&quot;language-java&quot;&gt;&lt;span class=&quot;token keyword keyword-public&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;token keyword keyword-class&quot;&gt;class&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;ComparableExample&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;

    &lt;span class=&quot;token keyword keyword-public&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;token keyword keyword-static&quot;&gt;static&lt;/span&gt; &lt;span class=&quot;token keyword keyword-void&quot;&gt;void&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;main&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;String&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; args&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
        &lt;span class=&quot;token class-name&quot;&gt;List&lt;/span&gt;&lt;span class=&quot;token generics&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;Member&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt; members &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;Lists&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;newArrayList&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token keyword keyword-new&quot;&gt;new&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;Member&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;jini&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;33&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
            &lt;span class=&quot;token keyword keyword-new&quot;&gt;new&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;Member&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;lily&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;28&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token keyword keyword-new&quot;&gt;new&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;Member&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;sol&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;39&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token keyword keyword-new&quot;&gt;new&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;Member&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;coco&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;28&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
        &lt;span class=&quot;token class-name&quot;&gt;Collections&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;sort&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;members&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
        &lt;span class=&quot;token class-name&quot;&gt;System&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;out&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;members&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;java&quot; class=&quot;language-java&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;Member&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;name&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;coco&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; age&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;28&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;Member&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;name&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;lily&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; age&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;28&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;Member&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;name&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;jini&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; age&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;33&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;Member&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;name&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;sol&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; age&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;39&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;
&lt;/pre&gt;&lt;br&gt;
&lt;p&gt;&lt;strong&gt;Comparator &amp;#xC0AC;&amp;#xC6A9; &amp;#xC608;&lt;/strong&gt;&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;java&quot; class=&quot;language-java&quot;&gt;&lt;span class=&quot;token keyword keyword-public&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;token keyword keyword-record&quot;&gt;record&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;Student&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;
    &lt;span class=&quot;token class-name&quot;&gt;String&lt;/span&gt; name&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token keyword keyword-int&quot;&gt;int&lt;/span&gt; age
&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;java&quot; class=&quot;language-java&quot;&gt;&lt;span class=&quot;token keyword keyword-public&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;token keyword keyword-class&quot;&gt;class&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;ComparatorExample&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;

    &lt;span class=&quot;token keyword keyword-public&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;token keyword keyword-static&quot;&gt;static&lt;/span&gt; &lt;span class=&quot;token keyword keyword-void&quot;&gt;void&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;main&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;String&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; args&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
        &lt;span class=&quot;token class-name&quot;&gt;List&lt;/span&gt;&lt;span class=&quot;token generics&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;Student&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt; students &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;Lists&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;newArrayList&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token keyword keyword-new&quot;&gt;new&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;Student&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;jini&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;33&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
            &lt;span class=&quot;token keyword keyword-new&quot;&gt;new&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;Student&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;lily&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;28&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token keyword keyword-new&quot;&gt;new&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;Student&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;sol&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;39&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token keyword keyword-new&quot;&gt;new&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;Student&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;coco&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;28&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
        &lt;span class=&quot;token class-name&quot;&gt;Collections&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;sort&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;students&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; COMPARATOR&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
        &lt;span class=&quot;token class-name&quot;&gt;System&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;out&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;students&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

    &lt;span class=&quot;token keyword keyword-static&quot;&gt;static&lt;/span&gt; &lt;span class=&quot;token keyword keyword-final&quot;&gt;final&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;Comparator&lt;/span&gt;&lt;span class=&quot;token generics&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;Student&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt; COMPARATOR &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;Comparator&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;comparingInt&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;Student&lt;/span&gt; s&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;-&amp;gt;&lt;/span&gt; s&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;age&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;thenComparing&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;s &lt;span class=&quot;token operator&quot;&gt;-&amp;gt;&lt;/span&gt; s&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;name&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;Student&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;name&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;coco, &lt;span class=&quot;token assign-left variable&quot;&gt;age&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;28&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;, Student&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;name&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;lily, &lt;span class=&quot;token assign-left variable&quot;&gt;age&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;28&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;, Student&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;name&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;jini, &lt;span class=&quot;token assign-left variable&quot;&gt;age&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;33&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;, Student&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;name&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;sol, &lt;span class=&quot;token assign-left variable&quot;&gt;age&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;39&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;
&lt;/pre&gt;
  &lt;/div&gt;&lt;/div&gt;</description>
      <category>Java/Effective Java</category>
      <category>effectivejava</category>
      <author>jiniya22</author>
      <guid isPermaLink="true">https://jini-box.tistory.com/240</guid>
      <comments>https://jini-box.tistory.com/240#entry240comment</comments>
      <pubDate>Sun, 10 Mar 2024 17:59:47 +0900</pubDate>
    </item>
    <item>
      <title>[Go] 16. 에러 핸들링</title>
      <link>https://jini-box.tistory.com/236</link>
      <description>&lt;div id=&quot;html-export&quot;&gt;
      &lt;div class=&quot;mume markdown-preview  &quot;&gt;
      &lt;h2 class=&quot;mume-header&quot; id=&quot;1-%EC%97%90%EB%9F%AC-%EB%B0%98%ED%99%98&quot;&gt;1. &amp;#xC5D0;&amp;#xB7EC; &amp;#xBC18;&amp;#xD658;&lt;/h2&gt;

&lt;p&gt;&amp;#xC5D0;&amp;#xB7EC;&amp;#xAC00; &amp;#xBC1C;&amp;#xC0DD;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xB294; &amp;#xD568;&amp;#xC218;&amp;#xC758; &amp;#xACBD;&amp;#xC6B0;, &amp;#xD568;&amp;#xC218; &amp;#xB0B4;&amp;#xC5D0;&amp;#xC11C; &amp;#xC5D0;&amp;#xB7EC;&amp;#xB97C; &amp;#xCC98;&amp;#xB9AC;&amp;#xD558;&amp;#xC9C0; &amp;#xB9D0;&amp;#xACE0;, &amp;#xB2E4;&amp;#xC911; &amp;#xB9AC;&amp;#xD134; &amp;#xC131;&amp;#xC9D5;&amp;#xC744; &amp;#xD65C;&amp;#xC6A9;&amp;#xD558;&amp;#xC5EC; &amp;#xC5D0;&amp;#xB7EC;&amp;#xB97C; &amp;#xD568;&amp;#xAED8; &amp;#xBC18;&amp;#xD658;&amp;#xD558;&amp;#xB294; &amp;#xAC83;&amp;#xC744; &amp;#xCD94;&amp;#xCC9C;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xD574;&amp;#xB2F9; &amp;#xBA54;&amp;#xC11C;&amp;#xB4DC;&amp;#xC5D0;&amp;#xC11C; &amp;#xC5D0;&amp;#xB7EC;&amp;#xAC00; &amp;#xBC1C;&amp;#xC0DD;&amp;#xD588;&amp;#xC744; &amp;#xACBD;&amp;#xC6B0;, &amp;#xC5B4;&amp;#xB5A4; &amp;#xC5D0;&amp;#xB7EC;&amp;#xAC00; &amp;#xBC1C;&amp;#xC0DD;&amp;#xB41C; &amp;#xAC83;&amp;#xC778;&amp;#xC9C0; &amp;#xC54C;&amp;#xB9BC;&amp;#xACFC; &amp;#xD568;&amp;#xAED8; &amp;#xC885;&amp;#xB8CC; &amp;#xB610;&amp;#xB294; &amp;#xC7AC;&amp;#xAC1C;&amp;#xB97C; &amp;#xD558;&amp;#xB3C4;&amp;#xB85D; &amp;#xCF54;&amp;#xB4DC;&amp;#xB97C; &amp;#xC791;&amp;#xC131;&amp;#xD558;&amp;#xBA74; &amp;#xC88B;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword keyword-package&quot;&gt;package&lt;/span&gt; main

&lt;span class=&quot;token keyword keyword-import&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;
	&lt;span class=&quot;token string&quot;&gt;&amp;quot;bufio&amp;quot;&lt;/span&gt;
	&lt;span class=&quot;token string&quot;&gt;&amp;quot;fmt&amp;quot;&lt;/span&gt;
	&lt;span class=&quot;token string&quot;&gt;&amp;quot;os&amp;quot;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;

&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;ReadFile&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;filename &lt;span class=&quot;token builtin&quot;&gt;string&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token builtin&quot;&gt;string&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token builtin&quot;&gt;error&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	file&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; err &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; os&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Open&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;filename&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-if&quot;&gt;if&lt;/span&gt; err &lt;span class=&quot;token operator&quot;&gt;!=&lt;/span&gt; &lt;span class=&quot;token boolean&quot;&gt;nil&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
		&lt;span class=&quot;token keyword keyword-return&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; err
	&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-defer&quot;&gt;defer&lt;/span&gt; file&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Close&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	rd &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; bufio&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;NewReader&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;file&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	line&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token boolean&quot;&gt;_&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; rd&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;ReadString&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;apos;\n&amp;apos;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-return&quot;&gt;return&lt;/span&gt; line&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token boolean&quot;&gt;nil&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;WriteFile&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;filename &lt;span class=&quot;token builtin&quot;&gt;string&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; line &lt;span class=&quot;token builtin&quot;&gt;string&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token builtin&quot;&gt;error&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	file&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; err &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; os&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Create&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;filename&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-if&quot;&gt;if&lt;/span&gt; err &lt;span class=&quot;token operator&quot;&gt;!=&lt;/span&gt; &lt;span class=&quot;token boolean&quot;&gt;nil&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
		&lt;span class=&quot;token keyword keyword-return&quot;&gt;return&lt;/span&gt; err
	&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-defer&quot;&gt;defer&lt;/span&gt; file&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Close&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	&lt;span class=&quot;token boolean&quot;&gt;_&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; err &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Fprintf&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;file&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; line&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-return&quot;&gt;return&lt;/span&gt; err
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;main&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	filename &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;data.txt&amp;quot;&lt;/span&gt;
	line&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; err &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;ReadFile&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;filename&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-if&quot;&gt;if&lt;/span&gt; err &lt;span class=&quot;token operator&quot;&gt;!=&lt;/span&gt; &lt;span class=&quot;token boolean&quot;&gt;nil&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
		err &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;WriteFile&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;filename&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;&amp;#xD30C;&amp;#xC77C;&amp;#xC774; &amp;#xC874;&amp;#xC7AC;&amp;#xD558;&amp;#xC9C0; &amp;#xC54A;&amp;#xC544;&amp;#xC11C; WriteFile &amp;#xD568;&amp;#xC218;&amp;#xB85C; &amp;#xC0C8;&amp;#xB85C; &amp;#xC0DD;&amp;#xC131;&amp;#xD588;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
		&lt;span class=&quot;token keyword keyword-if&quot;&gt;if&lt;/span&gt; err &lt;span class=&quot;token operator&quot;&gt;!=&lt;/span&gt; &lt;span class=&quot;token boolean&quot;&gt;nil&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
			fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;&amp;#xD30C;&amp;#xC77C; &amp;#xC0DD;&amp;#xC131;&amp;#xC911; &amp;#xC5D0;&amp;#xB7EC; &amp;#xBC1C;&amp;#xC0DD;&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; err&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
			&lt;span class=&quot;token keyword keyword-return&quot;&gt;return&lt;/span&gt;
		&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
		line&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; err &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;ReadFile&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;filename&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
		&lt;span class=&quot;token keyword keyword-if&quot;&gt;if&lt;/span&gt; err &lt;span class=&quot;token operator&quot;&gt;!=&lt;/span&gt; &lt;span class=&quot;token boolean&quot;&gt;nil&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
			fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;&amp;#xD30C;&amp;#xC77C; &amp;#xC77D;&amp;#xAE30; 2&amp;#xBC88;&amp;#xC9F8; &amp;#xC2E4;&amp;#xD328;&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; err&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
			&lt;span class=&quot;token keyword keyword-return&quot;&gt;return&lt;/span&gt;
		&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
	&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
	fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;&amp;#xD30C;&amp;#xC77C;&amp;#xC5D0; &amp;#xC4F0;&amp;#xC5EC;&amp;#xC9C4; &amp;#xAC12;&amp;#xC740;&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; line&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;

&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;br&gt;
&lt;h3 class=&quot;mume-header&quot; id=&quot;11-%EC%82%AC%EC%9A%A9%EC%9E%90-%EC%A0%95%EC%9D%98-%EC%97%90%EB%9F%AC-%EB%B0%98%ED%99%98&quot;&gt;1.1. &amp;#xC0AC;&amp;#xC6A9;&amp;#xC790; &amp;#xC815;&amp;#xC758; &amp;#xC5D0;&amp;#xB7EC; &amp;#xBC18;&amp;#xD658;&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;fmt.Errorf()&lt;/em&gt; &amp;#xD568;&amp;#xC218;&amp;#xB97C; &amp;#xC774;&amp;#xC6A9;&amp;#xD558;&amp;#xC5EC; &amp;#xC0AC;&amp;#xC6A9;&amp;#xC790; &amp;#xC815;&amp;#xC758; &amp;#xC5D0;&amp;#xB7EC;&amp;#xB97C; &amp;#xBC18;&amp;#xD658;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword keyword-package&quot;&gt;package&lt;/span&gt; main

&lt;span class=&quot;token keyword keyword-import&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;
	&lt;span class=&quot;token string&quot;&gt;&amp;quot;fmt&amp;quot;&lt;/span&gt;
	&lt;span class=&quot;token string&quot;&gt;&amp;quot;math&amp;quot;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;

&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;Sqrt&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;f &lt;span class=&quot;token builtin&quot;&gt;float64&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token builtin&quot;&gt;float64&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token builtin&quot;&gt;error&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-if&quot;&gt;if&lt;/span&gt; f &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
		&lt;span class=&quot;token keyword keyword-return&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Errorf&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;&amp;#xC81C;&amp;#xACF1;&amp;#xADFC;&amp;#xC740; &amp;#xC591;&amp;#xC218;&amp;#xC5EC;&amp;#xC57C; &amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;. &amp;#xC785;&amp;#xB825;&amp;#xAC12;: %f\n&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; f&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-return&quot;&gt;return&lt;/span&gt; math&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Sqrt&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;f&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token boolean&quot;&gt;nil&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;f1&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;num &lt;span class=&quot;token builtin&quot;&gt;float64&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	result&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; err &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;Sqrt&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;num&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-if&quot;&gt;if&lt;/span&gt; err &lt;span class=&quot;token operator&quot;&gt;!=&lt;/span&gt; &lt;span class=&quot;token boolean&quot;&gt;nil&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
		fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Printf&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;Error! %v\n&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; num&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
		&lt;span class=&quot;token keyword keyword-return&quot;&gt;return&lt;/span&gt;
	&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
	fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Printf&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;Sqrt(%f) = %v\n&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; num&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; result&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;main&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token function&quot;&gt;f1&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;2.2&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	&lt;span class=&quot;token function&quot;&gt;f1&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;2.2&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;Sqrt&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;2.200000&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;1.4832396974191326&lt;/span&gt;
Error&lt;span class=&quot;token operator&quot;&gt;!&lt;/span&gt; -2.2
&lt;/pre&gt;&lt;br&gt;
&lt;p&gt;errors &amp;#xD328;&amp;#xD0A4;&amp;#xC9C0;&amp;#xC758; New&amp;#xB97C; &amp;#xC774;&amp;#xC6A9;&amp;#xD558;&amp;#xB824; error &amp;#xD0C0;&amp;#xC785;&amp;#xC744; &amp;#xC0DD;&amp;#xC131;&amp;#xD560;&amp;#xC218;&amp;#xB3C4; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword keyword-import&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;errors&amp;quot;&lt;/span&gt;
errors&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;New&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;&amp;#xC81C;&amp;#xACF1;&amp;#xADFC;&amp;#xC740; &amp;#xC591;&amp;#xC218;&amp;#xC5EC;&amp;#xC57C; &amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;/pre&gt;&lt;hr&gt;
&lt;h2 class=&quot;mume-header&quot; id=&quot;2-%EC%97%90%EB%9F%AC-%ED%83%80%EC%9E%85&quot;&gt;2. &amp;#xC5D0;&amp;#xB7EC; &amp;#xD0C0;&amp;#xC785;&lt;/h2&gt;

&lt;p&gt;error &amp;#xD0C0;&amp;#xC785;&amp;#xC740; &lt;strong&gt;&amp;#xC778;&amp;#xD130;&amp;#xD398;&amp;#xC774;&amp;#xC2A4;&lt;/strong&gt;&amp;#xB85C;, &lt;strong&gt;string&amp;#xC744; &amp;#xB9AC;&amp;#xD134;&amp;#xD558;&amp;#xB294; Error() &amp;#xBA54;&amp;#xC11C;&amp;#xB4DC;&amp;#xC758; &amp;#xC120;&amp;#xC5B8;&amp;#xB9CC; &amp;#xAC00;&amp;#xC9C0;&amp;#xACE0;&lt;/strong&gt; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&lt;mark&gt;&amp;#xC989;, Error() &amp;#xD568;&amp;#xC218;&amp;#xB97C; &amp;#xAC00;&amp;#xC9C0;&amp;#xACE0; &amp;#xC788;&amp;#xB2E4;&amp;#xBA74;, &amp;#xC5D0;&amp;#xB7EC;&amp;#xB85C; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/mark&gt;&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword keyword-type&quot;&gt;type&lt;/span&gt; &lt;span class=&quot;token builtin&quot;&gt;error&lt;/span&gt; &lt;span class=&quot;token keyword keyword-interface&quot;&gt;interface&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token function&quot;&gt;Error&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token builtin&quot;&gt;string&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;br&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword keyword-package&quot;&gt;package&lt;/span&gt; main

&lt;span class=&quot;token keyword keyword-import&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;fmt&amp;quot;&lt;/span&gt;

&lt;span class=&quot;token keyword keyword-type&quot;&gt;type&lt;/span&gt; PasswordError &lt;span class=&quot;token keyword keyword-struct&quot;&gt;struct&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	Len         &lt;span class=&quot;token builtin&quot;&gt;int&lt;/span&gt;
	RequiredLen &lt;span class=&quot;token builtin&quot;&gt;int&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;err PasswordError&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;Error&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token builtin&quot;&gt;string&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-return&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;&amp;#xC554;&amp;#xD638;&amp;#xAE38;&amp;#xC774;&amp;#xAC00; &amp;#xC9E7;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&amp;quot;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token keyword keyword-type&quot;&gt;type&lt;/span&gt; Account &lt;span class=&quot;token keyword keyword-struct&quot;&gt;struct&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	Id       &lt;span class=&quot;token builtin&quot;&gt;string&lt;/span&gt;
	Password &lt;span class=&quot;token builtin&quot;&gt;string&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;RegisterAccount&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;id&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; password &lt;span class=&quot;token builtin&quot;&gt;string&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;*&lt;/span&gt;Account&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token builtin&quot;&gt;error&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-const&quot;&gt;const&lt;/span&gt; minimumLength &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;8&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-if&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;len&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;password&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt; minimumLength &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
		&lt;span class=&quot;token keyword keyword-return&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;token boolean&quot;&gt;nil&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; PasswordError&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;len&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;password&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; minimumLength&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
	&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-return&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt;Account&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;id&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; password&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token boolean&quot;&gt;nil&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;main&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-if&quot;&gt;if&lt;/span&gt; account&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; err &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;RegisterAccount&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;jini&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;jini123&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; err &lt;span class=&quot;token operator&quot;&gt;!=&lt;/span&gt; &lt;span class=&quot;token boolean&quot;&gt;nil&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
		&lt;span class=&quot;token keyword keyword-if&quot;&gt;if&lt;/span&gt; errInfo&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; ok &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; err&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;PasswordError&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; ok &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
			fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Printf&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;&amp;#xCD5C;&amp;#xC18C; &amp;#xAE38;&amp;#xC774;: %d, &amp;#xC785;&amp;#xB825; &amp;#xAE38;&amp;#xC774;: %d\n&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; errInfo&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;RequiredLen&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; errInfo&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;Len&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
		&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
	&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt; &lt;span class=&quot;token keyword keyword-else&quot;&gt;else&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
		fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;&amp;#xD68C;&amp;#xC6D0;&amp;#xAC00;&amp;#xC785; &amp;#xC131;&amp;#xACF5;! &amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; account&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;&amp;#xCD5C;&amp;#xC18C; &amp;#xAE38;&amp;#xC774;: &lt;span class=&quot;token number&quot;&gt;8&lt;/span&gt;, &amp;#xC785;&amp;#xB825; &amp;#xAE38;&amp;#xC774;: &lt;span class=&quot;token number&quot;&gt;7&lt;/span&gt;
&lt;/pre&gt;&lt;p&gt;PasswordError&amp;#xB294; Error() &amp;#xBA54;&amp;#xC11C;&amp;#xB4DC;&amp;#xB97C; &amp;#xAD6C;&amp;#xD604;&amp;#xD558;&amp;#xACE0; &amp;#xC788;&amp;#xAE30; &amp;#xB54C;&amp;#xBB38;&amp;#xC5D0;, err&amp;#xB97C; &amp;#xD0C0;&amp;#xC785;&amp;#xBCC0;&amp;#xD658;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;code&gt;err.(PasswordError)&lt;/code&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr&gt;
&lt;h2 class=&quot;mume-header&quot; id=&quot;3-%EC%97%90%EB%9F%AC-%EB%9E%A9%ED%95%91&quot;&gt;3. &amp;#xC5D0;&amp;#xB7EC; &amp;#xB7A9;&amp;#xD551;&lt;/h2&gt;

&lt;hr&gt;
&lt;h2 class=&quot;mume-header&quot; id=&quot;4-panic&quot;&gt;4. panic&lt;/h2&gt;

&lt;p&gt;panic&amp;#xC740; &amp;#xD504;&amp;#xB85C;&amp;#xADF8;&amp;#xB7A8;&amp;#xC744; &amp;#xC815;&amp;#xC0C1; &amp;#xC9C4;&amp;#xD589;&amp;#xC2DC;&amp;#xD0A4;&amp;#xAE30; &amp;#xC5B4;&amp;#xB824;&amp;#xC6B4; &amp;#xC0C1;&amp;#xD669;&amp;#xC744; &amp;#xB9CC;&amp;#xB0AC;&amp;#xC744; &amp;#xB54C;, &amp;#xD504;&amp;#xB85C;&amp;#xADF8;&amp;#xB7A8; &amp;#xD750;&amp;#xB984;&amp;#xC744; &amp;#xC911;&amp;#xC9C0;&amp;#xC2DC;&amp;#xD0A4;&amp;#xB294; &amp;#xAE30;&amp;#xB2A5;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;Go&amp;#xC5D0;&amp;#xC11C;&amp;#xB294; &amp;#xB0B4;&amp;#xC7A5;&amp;#xD568;&amp;#xC218; panic()&amp;#xC73C;&amp;#xB85C; &amp;#xD328;&amp;#xB2C9; &amp;#xAE30;&amp;#xB2A5;&amp;#xC744; &amp;#xC81C;&amp;#xACF5;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;panic&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;v any&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;/pre&gt;&lt;blockquote&gt;
&lt;p&gt;panic() &amp;#xB0B4;&amp;#xC7A5;&amp;#xD568;&amp;#xC218;&amp;#xB294; &amp;#xC778;&amp;#xC790;&amp;#xAC12;&amp;#xC73C;&amp;#xB85C; &amp;#xBAA8;&amp;#xB4E0; &amp;#xD0C0;&amp;#xC785;&amp;#xC744; &amp;#xBC1B;&amp;#xC744; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&amp;#xC704;&amp;#xC5D0;&amp;#xC11C; &amp;#xC124;&amp;#xBA85;&amp;#xD588;&amp;#xC5C8;&amp;#xB358; error &amp;#xC778;&amp;#xD130;&amp;#xD398;&amp;#xC774;&amp;#xC2A4;&amp;#xB97C; &amp;#xD65C;&amp;#xC6A9;&amp;#xD55C; &amp;#xC608;&amp;#xC81C;&amp;#xB4E4;&amp;#xC740;, &amp;#xD638;&amp;#xCD9C;&amp;#xC790;&amp;#xC5D0;&amp;#xAC8C; &amp;#xC5D0;&amp;#xB7EC;&amp;#xAC00; &amp;#xBC1C;&amp;#xC0DD;&amp;#xB41C; &amp;#xC774;&amp;#xC720;&amp;#xB97C; &amp;#xC9C1;&amp;#xC811;&amp;#xC801;&amp;#xC73C;&amp;#xB85C; &amp;#xC54C;&amp;#xB824;&amp;#xC8FC;&amp;#xB294; &amp;#xAC83;&amp;#xC774;&amp;#xC5C8;&amp;#xB2E4;&amp;#xBA74;,&lt;br&gt;
&amp;#xD328;&amp;#xB2C9;&amp;#xC740; &amp;#xD504;&amp;#xB85C;&amp;#xADF8;&amp;#xB7A8; &amp;#xC218;&amp;#xD589;&amp;#xC2DC; &amp;#xC608;&amp;#xAE30;&amp;#xCE58; &amp;#xBABB;&amp;#xD55C; &amp;#xC5D0;&amp;#xB7EC;&amp;#xB97C; &amp;#xB9CC;&amp;#xB0AC;&amp;#xC744; &amp;#xB54C; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD558;&amp;#xB294; &amp;#xAE30;&amp;#xB2A5;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&amp;#xBC84;&amp;#xADF8; &amp;#xBC1C;&amp;#xC0DD;&amp;#xC73C;&amp;#xB85C; &amp;#xC778;&amp;#xD574; &amp;#xC798;&amp;#xBABB;&amp;#xB41C; &amp;#xBA54;&amp;#xBAA8;&amp;#xB9AC;&amp;#xC5D0; &amp;#xC811;&amp;#xADFC;&amp;#xD558;&amp;#xAC70;&amp;#xB098;&lt;/li&gt;
&lt;li&gt;&amp;#xBA54;&amp;#xBAA8;&amp;#xB9AC;&amp;#xAC00; &amp;#xBD80;&amp;#xC871;&amp;#xD560; &amp;#xB54C;&lt;/li&gt;
&lt;/ul&gt;
&lt;br&gt;
&lt;p&gt;&amp;#xC544;&amp;#xB798;&amp;#xC640; &amp;#xAC19;&amp;#xC774; &amp;#xD2B9;&amp;#xC815; &amp;#xC870;&amp;#xAC74;&amp;#xC5D0; panic&amp;#xC744; &amp;#xBC1C;&amp;#xC0DD;&amp;#xC2DC;&amp;#xD0AC; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
panic() &amp;#xD568;&amp;#xC218;&amp;#xB97C; &amp;#xD638;&amp;#xCD9C;&amp;#xD558;&amp;#xBA74;, &amp;#xC5D0;&amp;#xB7EC; &amp;#xBA54;&amp;#xC2DC;&amp;#xC9C0;&amp;#xB97C; &amp;#xCD9C;&amp;#xB825;&amp;#xD558;&amp;#xACE0; call stack&amp;#xC744; &amp;#xD45C;&amp;#xC2DC;&amp;#xD558;&amp;#xB294;&amp;#xB370;, &amp;#xC774;&amp;#xAC83;&amp;#xC744; &amp;#xD1B5;&amp;#xD574; &amp;#xC5D0;&amp;#xB7EC;&amp;#xAC00; &amp;#xBC1C;&amp;#xC0DD;&amp;#xB41C; &amp;#xACBD;&amp;#xB85C;&amp;#xB97C; &amp;#xC54C; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword keyword-package&quot;&gt;package&lt;/span&gt; main

&lt;span class=&quot;token keyword keyword-import&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;fmt&amp;quot;&lt;/span&gt;

&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;divide&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;a&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; b &lt;span class=&quot;token builtin&quot;&gt;int&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-if&quot;&gt;if&lt;/span&gt; b &lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
		&lt;span class=&quot;token function&quot;&gt;panic&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;&amp;#xBD84;&amp;#xBAA8; b&amp;#xB294; 0&amp;#xC77C; &amp;#xC218; &amp;#xC5C6;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
	fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Printf&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;%d / %d = %d\n&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; a&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; b&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; a&lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt;b&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;main&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token function&quot;&gt;divide&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;3&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;panic: &amp;#xBD84;&amp;#xBAA8; b&amp;#xB294; &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&amp;#xC77C; &amp;#xC218; &amp;#xC5C6;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;

goroutine &lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;running&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;:
main.divide&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;0x3?, 0x2?&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
        /Users/sherry/jini_box/jinispaces/go/goplayground/ch23/ex23.5/ex23.5.go:7 +0xc8
main.main&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
        /Users/sherry/jini_box/jinispaces/go/goplayground/ch23/ex23.5/ex23.5.go:14 +0x30
&lt;/pre&gt;&lt;hr&gt;
&lt;h2 class=&quot;mume-header&quot; id=&quot;5-%ED%8C%A8%EB%8B%89-%EB%B3%B5%EA%B5%AC&quot;&gt;5. &amp;#xD328;&amp;#xB2C9; &amp;#xBCF5;&amp;#xAD6C;&lt;/h2&gt;

&lt;p&gt;recover() &amp;#xD568;&amp;#xC218;&amp;#xB97C; &amp;#xC774;&amp;#xC6A9;&amp;#xD558;&amp;#xBA74;, &amp;#xD328;&amp;#xB2C9; &amp;#xBCF5;&amp;#xAD6C;&amp;#xB97C; &amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;recover&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; any
&lt;/pre&gt;&lt;p&gt;recover() &amp;#xD568;&amp;#xC218;&amp;#xB97C; &amp;#xC2E4;&amp;#xD589;&amp;#xD588;&amp;#xC744; &amp;#xB54C;, &amp;#xD328;&amp;#xB2C9; &amp;#xC804;&amp;#xD30C;&amp;#xC911;&amp;#xC77C; &amp;#xACBD;&amp;#xC6B0;&amp;#xC5D0;&amp;#xB294; panic&amp;#xAC1D;&amp;#xCCB4;&amp;#xB97C; &amp;#xBC18;&amp;#xD658;&amp;#xD558;&amp;#xACE0;, &amp;#xC544;&amp;#xB2D0; &amp;#xACBD;&amp;#xC6B0;&amp;#xC5D0;&amp;#xB294; nil&amp;#xC744; &amp;#xBC18;&amp;#xD658;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xC544;&amp;#xB798;&amp;#xC758; &amp;#xBD84;&amp;#xAE30;&amp;#xBB38;&amp;#xC740;, &amp;#xD328;&amp;#xB2C9;&amp;#xC804;&amp;#xD30C;&amp;#xC2DC;&amp;#xC5D0;&amp;#xB9CC; &amp;#xC2E4;&amp;#xD589;&amp;#xB418;&amp;#xB294; &amp;#xAD6C;&amp;#xBB38;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword keyword-if&quot;&gt;if&lt;/span&gt; r &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;recover&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; r &lt;span class=&quot;token operator&quot;&gt;!=&lt;/span&gt; &lt;span class=&quot;token boolean&quot;&gt;nil&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;panic &amp;#xBCF5;&amp;#xAD6C; - &amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; r&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;br&gt;
&lt;p&gt;recover &amp;#xD568;&amp;#xC218;&amp;#xB97C; &amp;#xC774;&amp;#xC6A9;&amp;#xD558;&amp;#xC5EC;, &amp;#xD328;&amp;#xB2C9; &amp;#xC804;&amp;#xD30C;&amp;#xB97C; &amp;#xBCF5;&amp;#xAD6C;&amp;#xD574;&amp;#xBD05;&amp;#xC2DC;&amp;#xB2E4;.&lt;br&gt;
&amp;#xC544;&amp;#xB798;&amp;#xC640; &amp;#xAC19;&amp;#xC774;, defer &amp;#xC9C0;&amp;#xC5F0; &amp;#xC2E4;&amp;#xD589;&amp;#xC744; &amp;#xD65C;&amp;#xC6A9;&amp;#xD558;&amp;#xBA74;, f() &amp;#xD568;&amp;#xC218; &amp;#xC2E4;&amp;#xD589; &amp;#xC885;&amp;#xB8CC; &amp;#xC9C1;&amp;#xC804;&amp;#xC5D0; &amp;#xD2B9;&amp;#xC815; &amp;#xAD6C;&amp;#xBB38;&amp;#xC744; &amp;#xC2E4;&amp;#xD589;&amp;#xB418;&amp;#xB3C4;&amp;#xB85D; &amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword keyword-package&quot;&gt;package&lt;/span&gt; main

&lt;span class=&quot;token keyword keyword-import&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;fmt&amp;quot;&lt;/span&gt;

&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;f&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;f() start&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-defer&quot;&gt;defer&lt;/span&gt; &lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
		&lt;span class=&quot;token keyword keyword-if&quot;&gt;if&lt;/span&gt; r &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;recover&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; r &lt;span class=&quot;token operator&quot;&gt;!=&lt;/span&gt; &lt;span class=&quot;token boolean&quot;&gt;nil&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
			fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;panic &amp;#xBCF5;&amp;#xAD6C; - &amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; r&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
		&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
	&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	&lt;span class=&quot;token function&quot;&gt;g&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;f() finish&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;g&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Printf&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;3 / 2 = %d\n&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;divide&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;3&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	&lt;span class=&quot;token comment&quot;&gt;//fmt.Printf(&amp;quot;3 / 0 = %d\n&amp;quot;, divide(3, 0))&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;divide&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;a&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; b &lt;span class=&quot;token builtin&quot;&gt;int&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token builtin&quot;&gt;int&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-if&quot;&gt;if&lt;/span&gt; b &lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
		&lt;span class=&quot;token function&quot;&gt;panic&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;&amp;#xBD84;&amp;#xBAA8; b&amp;#xB294; 0&amp;#xC77C; &amp;#xC218; &amp;#xC5C6;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-return&quot;&gt;return&lt;/span&gt; a &lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt; b
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;main&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token function&quot;&gt;f&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;main &amp;#xB05D;&amp;#xBD80;&amp;#xBD84;&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;p&gt;panic&amp;#xC744; &amp;#xBC1C;&amp;#xC0DD;&amp;#xC2DC;&amp;#xD0A4;&amp;#xB294; &amp;#xCF54;&amp;#xB4DC;&amp;#xB97C; &amp;#xB2F4;&amp;#xACE0; &amp;#xC788;&amp;#xB294; &amp;#xC608;&amp;#xC81C;&amp;#xCF54;&amp;#xB4DC;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xB9CC;&amp;#xC77C;, &amp;#xC704;&amp;#xC758; &amp;#xCF54;&amp;#xB4DC;&amp;#xC5D0;&amp;#xC11C; &amp;#xD328;&amp;#xB2C9;&amp;#xC744; &amp;#xC720;&amp;#xBC1C;&amp;#xC2DC;&amp;#xD0A4;&amp;#xC9C0; &amp;#xC54A;&amp;#xB294;&amp;#xB2E4;&amp;#xBA74; f() &amp;#xD568;&amp;#xC218;&amp;#xB3C4; &amp;#xC815;&amp;#xC0C1;&amp;#xC801;&amp;#xC73C;&amp;#xB85C; &amp;#xC885;&amp;#xB8CC;&amp;#xD55C; &amp;#xD6C4;, main &amp;#xB05D;&amp;#xBD80;&amp;#xBD84; &amp;#xCD9C;&amp;#xB825;&amp;#xAE4C;&amp;#xC9C0; &amp;#xB9C8;&amp;#xBB34;&amp;#xB9AC;&amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;f&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; start
&lt;span class=&quot;token number&quot;&gt;3&lt;/span&gt; / &lt;span class=&quot;token number&quot;&gt;2&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;
f&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; finish
main &amp;#xB05D;&amp;#xBD80;&amp;#xBD84;
&lt;/pre&gt;&lt;br&gt;
&lt;p&gt;&amp;#xC5EC;&amp;#xAE30;&amp;#xC5D0;&amp;#xC11C;, g() &amp;#xD568;&amp;#xC218; &amp;#xB0B4;&amp;#xC758; &amp;#xC8FC;&amp;#xC11D;&amp;#xBD80;&amp;#xBD84;&amp;#xC744; &amp;#xD574;&amp;#xC81C;&amp;#xD558;&amp;#xBA74;, g() &amp;#xD568;&amp;#xC218;&amp;#xB97C; &amp;#xC885;&amp;#xB8CC;&amp;#xD558;&amp;#xAE30; &amp;#xC804;&amp;#xC5D0; panic&amp;#xC774; &amp;#xBC1C;&amp;#xC0DD;&amp;#xB418;&amp;#xAC8C; &amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xC774; &amp;#xACBD;&amp;#xC6B0;, &amp;#xD328;&amp;#xB2C9; &amp;#xBCF5;&amp;#xAD6C;&amp;#xAC00; &amp;#xC2E4;&amp;#xD589;&amp;#xB418;&amp;#xC5B4;, &lt;code&gt;panic &amp;#xBCF5;&amp;#xAD6C; - &amp;#xBD84;&amp;#xBAA8; b&amp;#xB294; 0&amp;#xC77C; &amp;#xC218; &amp;#xC5C6;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;&lt;/code&gt;&amp;#xC774; &amp;#xCD9C;&amp;#xB825;&amp;#xB418;&amp;#xAC8C; &amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
g() &amp;#xD568;&amp;#xC218; &amp;#xB3C4;&amp;#xC911;&amp;#xC5D0; &amp;#xD328;&amp;#xB2C9;&amp;#xC774; &amp;#xBC1C;&amp;#xC0DD;&amp;#xB418;&amp;#xC5C8;&amp;#xAE30; &amp;#xB54C;&amp;#xBB38;&amp;#xC5D0;, f() &amp;#xD568;&amp;#xC218;&amp;#xB294; &amp;#xC815;&amp;#xC0C1;&amp;#xC801;&amp;#xC73C;&amp;#xB85C; &amp;#xC885;&amp;#xB8CC;&amp;#xB418;&amp;#xC9C0; &amp;#xC54A;&amp;#xAE30; &amp;#xB54C;&amp;#xBB38;&amp;#xC5D0;, &lt;code&gt;f() finish&lt;/code&gt;&amp;#xB294; &amp;#xCD9C;&amp;#xB825;&amp;#xB418;&amp;#xC9C0; &amp;#xC54A;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xC774;&amp;#xB807;&amp;#xAC8C; &amp;#xD328;&amp;#xB2C9; &amp;#xBCF5;&amp;#xAD6C;&amp;#xB97C; &amp;#xC798; &amp;#xD65C;&amp;#xC6A9;&amp;#xD558;&amp;#xBA74; &amp;#xC11C;&amp;#xBE44;&amp;#xC2A4;&amp;#xAC00; &amp;#xB3C4;&amp;#xC911;&amp;#xC5D0; &amp;#xC885;&amp;#xB8CC;&amp;#xB418;&amp;#xC9C0; &amp;#xC54A;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;!&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;f&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; start
&lt;span class=&quot;token number&quot;&gt;3&lt;/span&gt; / &lt;span class=&quot;token number&quot;&gt;2&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;
panic &amp;#xBCF5;&amp;#xAD6C; -  &amp;#xBD84;&amp;#xBAA8; b&amp;#xB294; &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&amp;#xC77C; &amp;#xC218; &amp;#xC5C6;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;
main &amp;#xB05D;&amp;#xBD80;&amp;#xBD84;
&lt;/pre&gt;&lt;br&gt;
&lt;p&gt;panic&amp;#xD568;&amp;#xC218;&amp;#xC758; &amp;#xC778;&amp;#xC790;&amp;#xB85C; any&amp;#xD0C0;&amp;#xC785;&amp;#xC744; &amp;#xB123;&amp;#xC744; &amp;#xC218; &amp;#xC788;&amp;#xC5C8;&amp;#xB358; &amp;#xAC83; &amp;#xCC98;&amp;#xB7FC;, recover&amp;#xD568;&amp;#xC218;&amp;#xC758; &amp;#xACB0;&amp;#xACFC;&amp;#xB3C4; any&amp;#xD0C0;&amp;#xC785;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xD2B9;&amp;#xC815; &amp;#xD0C0;&amp;#xC785;&amp;#xC758; &amp;#xD328;&amp;#xB2C9;&amp;#xC77C; &amp;#xACBD;&amp;#xC6B0;&amp;#xC5D0;&amp;#xB9CC; &amp;#xC5B4;&amp;#xB5A4; &amp;#xD589;&amp;#xC704;&amp;#xB97C; &amp;#xB3D9;&amp;#xC791;&amp;#xD558;&amp;#xAC8C; &amp;#xD558;&amp;#xACE0; &amp;#xC2F6;&amp;#xB2E4;&amp;#xBA74; &amp;#xC544;&amp;#xB798;&amp;#xC640; &amp;#xAC19;&amp;#xC774; &amp;#xC791;&amp;#xC131;&amp;#xD560; &amp;#xC218;&amp;#xB3C4; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword keyword-if&quot;&gt;if&lt;/span&gt; r&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; ok &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;recover&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;net&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;Error&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; ok &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;net.Error &amp;#xD0C0;&amp;#xC785;&amp;#xC758; &amp;#xD328;&amp;#xB2C9;&amp;#xC5D0; &amp;#xB300;&amp;#xD55C; &amp;#xBCF5;&amp;#xAD6C;&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;
  &lt;/div&gt;&lt;/div&gt;</description>
      <category>Go</category>
      <author>jiniya22</author>
      <guid isPermaLink="true">https://jini-box.tistory.com/236</guid>
      <comments>https://jini-box.tistory.com/236#entry236comment</comments>
      <pubDate>Sun, 10 Mar 2024 17:04:54 +0900</pubDate>
    </item>
    <item>
      <title>[Effective Java] Item 10~11. equals는 일반 규약을 지켜서 재정의하라</title>
      <link>https://jini-box.tistory.com/235</link>
      <description>&lt;div id=&quot;html-export&quot;&gt;
      &lt;div class=&quot;mume markdown-preview  &quot;&gt;
      &lt;h2 class=&quot;mume-header&quot; id=&quot;1-equals-%EA%B7%9C%EC%95%BD%EC%9D%84-%EC%A7%80%ED%82%A4%EB%A9%B4%EC%84%9C-%EA%B0%92%EC%9D%84-%EC%B6%94%EA%B0%80%ED%95%98%EA%B8%B0&quot;&gt;1. equals &amp;#xADDC;&amp;#xC57D;&amp;#xC744; &amp;#xC9C0;&amp;#xD0A4;&amp;#xBA74;&amp;#xC11C; &amp;#xAC12;&amp;#xC744; &amp;#xCD94;&amp;#xAC00;&amp;#xD558;&amp;#xAE30;&lt;/h2&gt;

&lt;p&gt;equals&amp;#xB97C; override&amp;#xD560; &amp;#xB54C;&amp;#xC5D0;&amp;#xB294; &amp;#xBC18;&amp;#xB4DC;&amp;#xC2DC; &amp;#xC544;&amp;#xB798;&amp;#xC758; &amp;#xC77C;&amp;#xBC18; &amp;#xADDC;&amp;#xC57D;&amp;#xC744; &amp;#xB9CC;&amp;#xC871;&amp;#xD574;&amp;#xC57C; &amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
(&amp;#xC544;&amp;#xB798; &amp;#xADDC;&amp;#xC57D;&amp;#xC740; &amp;#xBAA8;&amp;#xB450; null&amp;#xC774; &amp;#xC544;&amp;#xB2CC; &amp;#xCC38;&amp;#xC870;&amp;#xAC12; x&amp;#xC5D0; &amp;#xB300;&amp;#xD55C; &amp;#xADDC;&amp;#xC57D;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;)&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;x.equals(x) &amp;#xB294; &amp;#xBC18;&amp;#xB4DC;&amp;#xC2DC; true &amp;#xC5EC;&amp;#xC57C; &amp;#xD558;&amp;#xACE0;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;x.equals(y) == true&lt;/code&gt; &amp;#xB77C;&amp;#xBA74;, &lt;code&gt;y.equals(x) == true&lt;/code&gt; &amp;#xC5EC;&amp;#xC57C; &amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;x.equals(y) == true &amp;#xC774;&amp;#xACE0;, y.equals(z) == true&lt;/code&gt; &amp;#xB77C;&amp;#xBA74;, &lt;code&gt;x.equals(z) == true&lt;/code&gt; &amp;#xC5EC;&amp;#xC57C; &amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;x.equals(y)&lt;/code&gt; &amp;#xACB0;&amp;#xACFC;&amp;#xB294; &amp;#xC5EC;&amp;#xB7EC;&amp;#xBC88; &amp;#xD638;&amp;#xCD9C;&amp;#xD558;&amp;#xB354;&amp;#xB77C;&amp;#xB3C4; &amp;#xB298; &amp;#xAC19;&amp;#xC740; &amp;#xAC12;&amp;#xC744; &amp;#xBC18;&amp;#xD658;&amp;#xD574;&amp;#xC57C; &amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;x.equals(null)&lt;/code&gt; &amp;#xC740; &amp;#xBC18;&amp;#xB4DC;&amp;#xC2DC; false &amp;#xC5EC;&amp;#xC57C; &amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;p&gt;&amp;#xC704;&amp;#xC758; &amp;#xD2B9;&amp;#xC9D5;&amp;#xC744; &amp;#xACE0;&amp;#xB824;&amp;#xD588;&amp;#xC744; &amp;#xB54C;, &amp;#xC5B4;&amp;#xB5A4; &amp;#xAD6C;&amp;#xD604;&amp;#xD074;&amp;#xB798;&amp;#xC2A4;&amp;#xC758; &amp;#xC0C1;&amp;#xC18D;&amp;#xD074;&amp;#xB798;&amp;#xC2A4;&amp;#xB294; &amp;#xC774; &amp;#xADDC;&amp;#xCE59;&amp;#xC744; &amp;#xB9CC;&amp;#xC871;&amp;#xD558;&amp;#xC9C0; &amp;#xBABB;&amp;#xD558;&amp;#xAC8C; &amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xC608;&amp;#xB97C; &amp;#xB4E4;&amp;#xC5B4;, &amp;#xC544;&amp;#xB798;&amp;#xC640; &amp;#xAC19;&amp;#xC740; Point &amp;#xAC1D;&amp;#xCCB4;&amp;#xAC00; &amp;#xC788;&amp;#xACE0;,&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;java&quot; class=&quot;language-java&quot;&gt;&lt;span class=&quot;token annotation punctuation&quot;&gt;@RequiredArgsConstructor&lt;/span&gt;
&lt;span class=&quot;token annotation punctuation&quot;&gt;@Getter&lt;/span&gt;
&lt;span class=&quot;token keyword keyword-public&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;token keyword keyword-class&quot;&gt;class&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;Point&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;token keyword keyword-private&quot;&gt;private&lt;/span&gt; &lt;span class=&quot;token keyword keyword-final&quot;&gt;final&lt;/span&gt; &lt;span class=&quot;token keyword keyword-int&quot;&gt;int&lt;/span&gt; x&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;token keyword keyword-private&quot;&gt;private&lt;/span&gt; &lt;span class=&quot;token keyword keyword-final&quot;&gt;final&lt;/span&gt; &lt;span class=&quot;token keyword keyword-int&quot;&gt;int&lt;/span&gt; y&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

    &lt;span class=&quot;token annotation punctuation&quot;&gt;@Override&lt;/span&gt;
    &lt;span class=&quot;token keyword keyword-public&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;token keyword keyword-boolean&quot;&gt;boolean&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;equals&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;Object&lt;/span&gt; o&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
        &lt;span class=&quot;token keyword keyword-if&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;o &lt;span class=&quot;token keyword keyword-instanceof&quot;&gt;instanceof&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;Point&lt;/span&gt; p&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
            &lt;span class=&quot;token keyword keyword-return&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;token keyword keyword-this&quot;&gt;this&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;x &lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt; p&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;x &lt;span class=&quot;token operator&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class=&quot;token keyword keyword-this&quot;&gt;this&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;y &lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt; p&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;y&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
        &lt;span class=&quot;token keyword keyword-return&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;token boolean&quot;&gt;false&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;br&gt;
&lt;p&gt;&amp;#xC774;&amp;#xB97C; &amp;#xC0C1;&amp;#xC18D;&amp;#xD55C; NamePoint &amp;#xD074;&amp;#xB798;&amp;#xC2A4;&amp;#xAC00; &amp;#xC788;&amp;#xB2E4;&amp;#xACE0; &amp;#xD560; &amp;#xB54C;,&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;java&quot; class=&quot;language-java&quot;&gt;&lt;span class=&quot;token annotation punctuation&quot;&gt;@Getter&lt;/span&gt;
&lt;span class=&quot;token keyword keyword-public&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;token keyword keyword-class&quot;&gt;class&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;NamePoint&lt;/span&gt; &lt;span class=&quot;token keyword keyword-extends&quot;&gt;extends&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;Point&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;token keyword keyword-private&quot;&gt;private&lt;/span&gt; &lt;span class=&quot;token keyword keyword-final&quot;&gt;final&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;String&lt;/span&gt; name&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

    &lt;span class=&quot;token keyword keyword-public&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;NamePoint&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token keyword keyword-int&quot;&gt;int&lt;/span&gt; x&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token keyword keyword-int&quot;&gt;int&lt;/span&gt; y&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;String&lt;/span&gt; name&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
        &lt;span class=&quot;token keyword keyword-super&quot;&gt;super&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;x&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; y&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
        &lt;span class=&quot;token keyword keyword-this&quot;&gt;this&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;name &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; name&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

    &lt;span class=&quot;token annotation punctuation&quot;&gt;@Override&lt;/span&gt;
    &lt;span class=&quot;token keyword keyword-public&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;token keyword keyword-boolean&quot;&gt;boolean&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;equals&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;Object&lt;/span&gt; o&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
        &lt;span class=&quot;token keyword keyword-if&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;o &lt;span class=&quot;token keyword keyword-instanceof&quot;&gt;instanceof&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;NamePoint&lt;/span&gt; p&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
            &lt;span class=&quot;token keyword keyword-return&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;token keyword keyword-super&quot;&gt;super&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;equals&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;p&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class=&quot;token keyword keyword-this&quot;&gt;this&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;name&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;equals&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;p&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;name&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
        &lt;span class=&quot;token keyword keyword-return&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;token boolean&quot;&gt;false&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;p&gt;&amp;#xC5EC;&amp;#xAE30;&amp;#xC11C; &amp;#xC815;&amp;#xC758;&amp;#xB41C; eqauls &amp;#xBA54;&amp;#xC11C;&amp;#xB4DC;&amp;#xB294; &amp;#xC77C;&amp;#xBC18; &amp;#xADDC;&amp;#xC57D;&amp;#xC744; &amp;#xB9CC;&amp;#xC871;&amp;#xD558;&amp;#xC9C0; &amp;#xC54A;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
point&amp;#xB97C; namePoint&amp;#xC640; &amp;#xBE44;&amp;#xAD50;&amp;#xD55C; &amp;#xACBD;&amp;#xC6B0;&amp;#xC5D0;&amp;#xB294; &amp;#xACB0;&amp;#xACFC;&amp;#xAC12;&amp;#xC774; true&amp;#xC9C0;&amp;#xB9CC;, &amp;#xC21C;&amp;#xC11C;&amp;#xB97C; &amp;#xBC14;&amp;#xAFC0; &amp;#xACBD;&amp;#xC6B0; equals &amp;#xACB0;&amp;#xACFC;&amp;#xAC00; &amp;#xB2EC;&amp;#xB77C;&amp;#xC9C0; &amp;#xAE30; &amp;#xB54C;&amp;#xBB38;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;java&quot; class=&quot;language-java&quot;&gt;&lt;span class=&quot;token class-name&quot;&gt;Point&lt;/span&gt; point &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token keyword keyword-new&quot;&gt;new&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;Point&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;3&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token class-name&quot;&gt;NamePoint&lt;/span&gt; namePoint &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token keyword keyword-new&quot;&gt;new&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;NamePoint&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;3&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;coco&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token class-name&quot;&gt;System&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;out&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;point&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;equals&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;namePoint&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;  &lt;span class=&quot;token comment&quot;&gt;// true&lt;/span&gt;
&lt;span class=&quot;token class-name&quot;&gt;System&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;out&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;namePoint&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;equals&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;point&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;  &lt;span class=&quot;token comment&quot;&gt;// false&lt;/span&gt;
&lt;/pre&gt;&lt;p&gt;&amp;#xAC1D;&amp;#xCCB4; &amp;#xC9C0;&amp;#xD5A5;&amp;#xC801; &amp;#xCD94;&amp;#xC0C1;&amp;#xD654;&amp;#xC758; &amp;#xC774;&amp;#xC810;&amp;#xC744; &amp;#xC774;&amp;#xC6A9;&amp;#xD558;&amp;#xBA74;&amp;#xC11C;, &lt;mark&gt;&amp;#xAD6C;&amp;#xCCB4; &amp;#xD074;&amp;#xB798;&amp;#xC2A4;&amp;#xB97C; &amp;#xD655;&amp;#xC7A5;&amp;#xD574; &amp;#xC0C8;&amp;#xB85C;&amp;#xC6B4; &amp;#xAC12;&amp;#xC744; &amp;#xCD94;&amp;#xAC00;&amp;#xD558;&amp;#xBA74;&amp;#xC11C; equals &amp;#xADDC;&amp;#xC57D;&amp;#xC744; &amp;#xB9CC;&amp;#xC871;&amp;#xC2DC;&amp;#xD0AC; &amp;#xC218; &amp;#xC788;&amp;#xB294; &amp;#xBC29;&amp;#xBC95;&amp;#xC740; &amp;#xC5C6;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;&lt;/mark&gt;&lt;/p&gt;
&lt;p&gt;equals &amp;#xADDC;&amp;#xC57D;&amp;#xC744; &amp;#xC9C0;&amp;#xD0A4;&amp;#xBA74;&amp;#xC11C; &amp;#xAC12;&amp;#xC744; &amp;#xCD94;&amp;#xAC00;&amp;#xD558;&amp;#xACE0; &amp;#xC2F6;&amp;#xB2E4;&amp;#xBA74;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&amp;#xAD6C;&amp;#xCCB4; &amp;#xD074;&amp;#xB798;&amp;#xC2A4;&amp;#xC758; &amp;#xD558;&amp;#xC704; &amp;#xD074;&amp;#xB798;&amp;#xC2A4;&amp;#xC5D0; &amp;#xAC12;&amp;#xC744; &amp;#xCD94;&amp;#xAC00;&amp;#xD558;&amp;#xB294; &amp;#xAC83;(&amp;#xC0C1;&amp;#xC18D;)&amp;#xC774; &amp;#xC544;&amp;#xB2CC;, &lt;strong&gt;&amp;#xCEF4;&amp;#xD3EC;&amp;#xC9C0;&amp;#xC158;&amp;#xC744; &amp;#xC0AC;&amp;#xC6A9;&lt;/strong&gt; &amp;#xD558;&amp;#xAC70;&amp;#xB098;&lt;/li&gt;
&lt;li&gt;&amp;#xCD5C;&amp;#xC0C1;&amp;#xC704;&amp;#xC5D0; &amp;#xCD94;&amp;#xC0C1;&amp;#xD074;&amp;#xB798;&amp;#xC2A4;&amp;#xB97C; &amp;#xC815;&amp;#xC758;&amp;#xD558;&amp;#xACE0;, &amp;#xD558;&amp;#xC704;&amp;#xD074;&amp;#xB798;&amp;#xC2A4;&amp;#xC5D0;&amp;#xC11C; &amp;#xAC12;&amp;#xC744; &amp;#xCD94;&amp;#xAC00;&amp;#xD558;&amp;#xBA74; &amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;/li&gt;
&lt;/ol&gt;
&lt;br&gt;
&lt;p&gt;&lt;strong&gt;composition &amp;#xC0AC;&amp;#xC6A9; &amp;#xC608;&amp;#xC81C;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&amp;#xAD6C;&amp;#xCCB4; &amp;#xD074;&amp;#xB798;&amp;#xC2A4;&amp;#xC758; &amp;#xD558;&amp;#xC704; &amp;#xD074;&amp;#xB798;&amp;#xC2A4;&amp;#xC5D0; &amp;#xAC12;&amp;#xC744; &amp;#xCD94;&amp;#xAC00;&amp;#xD558;&amp;#xB294; &amp;#xAC83;(&amp;#xC0C1;&amp;#xC18D;)&amp;#xC774; &amp;#xC544;&amp;#xB2CC;, &lt;strong&gt;&amp;#xCEF4;&amp;#xD3EC;&amp;#xC9C0;&amp;#xC158;&amp;#xC744; &amp;#xC0AC;&amp;#xC6A9;&lt;/strong&gt; &amp;#xD558;&amp;#xBA74; equals &amp;#xADDC;&amp;#xC57D;&amp;#xC744; &amp;#xC9C0;&amp;#xD0A4;&amp;#xBA74;&amp;#xC11C; &amp;#xAC12;&amp;#xC744; &amp;#xCD94;&amp;#xAC00;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;java&quot; class=&quot;language-java&quot;&gt;&lt;span class=&quot;token annotation punctuation&quot;&gt;@Getter&lt;/span&gt;
&lt;span class=&quot;token annotation punctuation&quot;&gt;@RequiredArgsConstructor&lt;/span&gt;
&lt;span class=&quot;token keyword keyword-public&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;token keyword keyword-class&quot;&gt;class&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;Point&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;token keyword keyword-private&quot;&gt;private&lt;/span&gt; &lt;span class=&quot;token keyword keyword-final&quot;&gt;final&lt;/span&gt; &lt;span class=&quot;token keyword keyword-int&quot;&gt;int&lt;/span&gt; x&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;token keyword keyword-private&quot;&gt;private&lt;/span&gt; &lt;span class=&quot;token keyword keyword-final&quot;&gt;final&lt;/span&gt; &lt;span class=&quot;token keyword keyword-int&quot;&gt;int&lt;/span&gt; y&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

    &lt;span class=&quot;token annotation punctuation&quot;&gt;@Override&lt;/span&gt;
    &lt;span class=&quot;token keyword keyword-public&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;token keyword keyword-boolean&quot;&gt;boolean&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;equals&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;Object&lt;/span&gt; o&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
        &lt;span class=&quot;token keyword keyword-if&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;o &lt;span class=&quot;token keyword keyword-instanceof&quot;&gt;instanceof&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;Point&lt;/span&gt; p&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
            &lt;span class=&quot;token keyword keyword-return&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;token keyword keyword-this&quot;&gt;this&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;x &lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt; p&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;x &lt;span class=&quot;token operator&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class=&quot;token keyword keyword-this&quot;&gt;this&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;y &lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt; p&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;y&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
        &lt;span class=&quot;token keyword keyword-return&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;token boolean&quot;&gt;false&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;java&quot; class=&quot;language-java&quot;&gt;&lt;span class=&quot;token annotation punctuation&quot;&gt;@Getter&lt;/span&gt;
&lt;span class=&quot;token annotation punctuation&quot;&gt;@RequiredArgsConstructor&lt;/span&gt;
&lt;span class=&quot;token keyword keyword-public&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;token keyword keyword-class&quot;&gt;class&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;ColorPoint&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;token keyword keyword-private&quot;&gt;private&lt;/span&gt; &lt;span class=&quot;token keyword keyword-final&quot;&gt;final&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;Color&lt;/span&gt; color&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;token keyword keyword-private&quot;&gt;private&lt;/span&gt; &lt;span class=&quot;token keyword keyword-final&quot;&gt;final&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;Point&lt;/span&gt; point&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

    &lt;span class=&quot;token keyword keyword-public&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;Point&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;asPoint&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
        &lt;span class=&quot;token keyword keyword-return&quot;&gt;return&lt;/span&gt; point&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

    &lt;span class=&quot;token annotation punctuation&quot;&gt;@Override&lt;/span&gt;
    &lt;span class=&quot;token keyword keyword-public&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;token keyword keyword-boolean&quot;&gt;boolean&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;equals&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;Object&lt;/span&gt; o&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
        &lt;span class=&quot;token keyword keyword-if&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;o &lt;span class=&quot;token keyword keyword-instanceof&quot;&gt;instanceof&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;ColorPoint&lt;/span&gt; cp&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
            &lt;span class=&quot;token keyword keyword-return&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;token keyword keyword-this&quot;&gt;this&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;point&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;equals&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;cp&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;point&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class=&quot;token keyword keyword-this&quot;&gt;this&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;color&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;equals&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;cp&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;color&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
        &lt;span class=&quot;token keyword keyword-return&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;token boolean&quot;&gt;false&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;br&gt;
&lt;p&gt;&amp;#xB610;&amp;#xB294;, &amp;#xCD5C;&amp;#xC0C1;&amp;#xC704;&amp;#xC5D0; &amp;#xC544;&amp;#xBB34;&amp;#xB7F0; &amp;#xD544;&amp;#xB4DC;&amp;#xAC12;&amp;#xC744; &amp;#xAC16;&amp;#xC9C0; &amp;#xC54A;&amp;#xC740; &amp;#xCD94;&amp;#xC0C1;&amp;#xD074;&amp;#xB798;&amp;#xC2A4;&amp;#xB85C; &amp;#xC815;&amp;#xC758;&amp;#xD558;&amp;#xC5EC; &amp;#xC0C1;&amp;#xC704; &amp;#xD074;&amp;#xB798;&amp;#xC2A4;&amp;#xB97C; &amp;#xC9C1;&amp;#xC811; &amp;#xC778;&amp;#xC2A4;&amp;#xD134;&amp;#xC2A4;&amp;#xB85C; &amp;#xB9CC;&amp;#xB4DC;&amp;#xB294;&amp;#xAC8C; &amp;#xBD88;&amp;#xAC00;&amp;#xB2A5;&amp;#xD558;&amp;#xB2E4;&amp;#xBA74; &amp;#xC0C1;&amp;#xC18D; &amp;#xAC1C;&amp;#xB150;&amp;#xC744; &amp;#xC774;&amp;#xC6A9;&amp;#xD558;&amp;#xBA74;&amp;#xC11C; equals &amp;#xADDC;&amp;#xC57D;&amp;#xC744; &amp;#xB9CC;&amp;#xC871;&amp;#xC2DC;&amp;#xD0AC; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 class=&quot;mume-header&quot; id=&quot;2-%EA%B8%B0%ED%83%80-%EA%B3%A0%EB%A0%A4-%EC%82%AC%ED%95%AD&quot;&gt;2. &amp;#xAE30;&amp;#xD0C0; &amp;#xACE0;&amp;#xB824; &amp;#xC0AC;&amp;#xD56D;&lt;/h2&gt;

&lt;h3 class=&quot;mume-header&quot; id=&quot;21-float-double-%EB%B9%84%EA%B5%90&quot;&gt;2.1. float, double &amp;#xBE44;&amp;#xAD50;&lt;/h3&gt;

&lt;p&gt;&amp;#xBD80;&amp;#xB3D9;&amp;#xC18C;&amp;#xC218; &amp;#xAC12;&amp;#xC744; &amp;#xB2E4;&amp;#xB8E8;&amp;#xB294; float, double &amp;#xD0C0;&amp;#xC785;&amp;#xC758; &amp;#xBE44;&amp;#xAD50;&amp;#xB294; &amp;#xC815;&amp;#xC801;&amp;#xBA54;&amp;#xC11C;&amp;#xB4DC; &lt;strong&gt;Float.compare(f1, f2), Double.compare(d1, d2)&lt;/strong&gt; &amp;#xB85C; &amp;#xBE44;&amp;#xAD50;&amp;#xD558;&amp;#xC5EC; equals &amp;#xCCB4;&amp;#xD06C;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Float.equals, Double.equals&amp;#xB294; primitive &amp;#xD0C0;&amp;#xC785;&amp;#xC77C; &amp;#xACBD;&amp;#xC6B0; auto boxing&amp;#xC774; &amp;#xC77C;&amp;#xC5B4;&amp;#xB098;&amp;#xAE30; &amp;#xB54C;&amp;#xBB38;&amp;#xC5D0; &amp;#xC131;&amp;#xB2A5;&amp;#xC774; &amp;#xB354; &amp;#xB5A8;&amp;#xC5B4;&amp;#xC9D1;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;br&gt;
&lt;h3 class=&quot;mume-header&quot; id=&quot;22-null%EB%8F%84-%EA%B0%92%EC%9C%BC%EB%A1%9C-%EC%B7%A8%EA%B8%89%ED%95%98%EB%8A%94-%EC%B0%B8%EC%A1%B0%ED%83%80%EC%9E%85-%EB%B9%84%EA%B5%90&quot;&gt;2.2. null&amp;#xB3C4; &amp;#xAC12;&amp;#xC73C;&amp;#xB85C; &amp;#xCDE8;&amp;#xAE09;&amp;#xD558;&amp;#xB294; &amp;#xCC38;&amp;#xC870;&amp;#xD0C0;&amp;#xC785; &amp;#xBE44;&amp;#xAD50;&lt;/h3&gt;

&lt;p&gt;null&amp;#xB3C4; &amp;#xC815;&amp;#xC0C1;&amp;#xAC12;&amp;#xC73C;&amp;#xB85C; &amp;#xCDE8;&amp;#xAE09;&amp;#xD558;&amp;#xB294; &amp;#xCC38;&amp;#xC870;&amp;#xD0C0;&amp;#xC785;&amp;#xC774;&amp;#xB77C;&amp;#xBA74;, &lt;strong&gt;Object.equals(o1, o2)&lt;/strong&gt; &amp;#xB85C; &amp;#xBE44;&amp;#xAD50;&amp;#xD558;&amp;#xC5EC; NullPointerException &amp;#xBC1C;&amp;#xC0DD;&amp;#xC744; &amp;#xBC29;&amp;#xC9C0;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xB610;, &amp;#xC131;&amp;#xB2A5;&amp;#xC744; &amp;#xB192;&amp;#xC774;&amp;#xACE0; &amp;#xC2F6;&amp;#xB2E4;&amp;#xBA74; &amp;#xAC00;&amp;#xC7A5; &amp;#xB2E4;&amp;#xB97C; &amp;#xAC00;&amp;#xB2A5;&amp;#xC131;&amp;#xC774; &amp;#xD070; &amp;#xD544;&amp;#xB4DC;&amp;#xBD80;&amp;#xD130; &amp;#xBE44;&amp;#xAD50;&amp;#xD558;&amp;#xB3C4;&amp;#xB85D; &amp;#xD558;&amp;#xBA74; &amp;#xC88B;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&lt;br&gt;&lt;/p&gt;
&lt;h3 class=&quot;mume-header&quot; id=&quot;23-object-%EC%9D%B4%EC%99%B8%EC%9D%98-%ED%83%80%EC%9E%85%EC%9D%84-%EB%A7%A4%EA%B0%9C%EB%B3%80%EC%88%98%EB%A1%9C-%EB%B0%9B%EB%8A%94-equals%EB%8A%94-%EC%82%AC%EC%9A%A9%ED%95%98%EC%A7%80-%EB%A7%90%EC%9E%90&quot;&gt;2.3. Object &amp;#xC774;&amp;#xC678;&amp;#xC758; &amp;#xD0C0;&amp;#xC785;&amp;#xC744; &amp;#xB9E4;&amp;#xAC1C;&amp;#xBCC0;&amp;#xC218;&amp;#xB85C; &amp;#xBC1B;&amp;#xB294; equals&amp;#xB294; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD558;&amp;#xC9C0; &amp;#xB9D0;&amp;#xC790;&lt;/h3&gt;

&lt;p&gt;&amp;#xB9E4;&amp;#xAC1C;&amp;#xBCC0;&amp;#xC218;&amp;#xB97C; Object&amp;#xAC00; &amp;#xC544;&amp;#xB2CC; &amp;#xB2E4;&amp;#xB978; &amp;#xAC12;&amp;#xC73C;&amp;#xB85C; &amp;#xB123;&amp;#xB294; &amp;#xAC83;&amp;#xC740;, &amp;#xAE30;&amp;#xBCF8; equals &amp;#xB9E4;&amp;#xC11C;&amp;#xB4DC;&amp;#xB97C; &amp;#xC7AC;&amp;#xC815;&amp;#xC758;&amp;#xD558;&amp;#xB294; &amp;#xAC83;&amp;#xC774; &amp;#xC544;&amp;#xB2CC; &amp;#xB3D9;&amp;#xC77C;&amp;#xD55C; &amp;#xBA54;&amp;#xC11C;&amp;#xB4DC;&amp;#xBA85;&amp;#xC73C;&amp;#xB85C; &amp;#xBA54;&amp;#xC11C;&amp;#xB4DC;&amp;#xB97C; overload &amp;#xD55C; &amp;#xAC83;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;java&quot; class=&quot;language-java&quot;&gt;&lt;span class=&quot;token keyword keyword-public&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;token keyword keyword-boolean&quot;&gt;boolean&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;equals&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;Point&lt;/span&gt; p&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;p&gt;&amp;#xC624;&amp;#xBC84;&amp;#xB77C;&amp;#xC774;&amp;#xB529; &amp;#xD560; &amp;#xBA54;&amp;#xC11C;&amp;#xB4DC;&amp;#xB97C; &amp;#xC815;&amp;#xC758;&amp;#xD560; &amp;#xB54C;, &lt;strong&gt;@Override&lt;/strong&gt; &amp;#xC560;&amp;#xB108;&amp;#xD14C;&amp;#xC774;&amp;#xC158;&amp;#xC744; &amp;#xBD99;&amp;#xC5EC;&amp;#xC900;&amp;#xB2E4;&amp;#xBA74;, &amp;#xC560;&amp;#xCD08;&amp;#xC5D0; &amp;#xCEF4;&amp;#xD30C;&amp;#xC77C;&amp;#xC2DC; &amp;#xC5D0;&amp;#xB7EC;&amp;#xAC00; &amp;#xBC1C;&amp;#xC0DD;&amp;#xB418;&amp;#xAE30; &amp;#xB54C;&amp;#xBB38;&amp;#xC5D0; &amp;#xC624;&amp;#xB958;&amp;#xB97C; &amp;#xBC29;&amp;#xC9C0;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xADF8;&amp;#xB7EC;&amp;#xB2C8;, @Override &amp;#xC560;&amp;#xB108;&amp;#xD14C;&amp;#xC774;&amp;#xC158;&amp;#xC744; &amp;#xBD99;&amp;#xC5EC; &amp;#xC2E4;&amp;#xC218;&amp;#xB97C; &amp;#xC608;&amp;#xBC29;&amp;#xD569;&amp;#xC2DC;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;java&quot; class=&quot;language-java&quot;&gt;&lt;span class=&quot;token annotation punctuation&quot;&gt;@Override&lt;/span&gt;
&lt;span class=&quot;token keyword keyword-public&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;token keyword keyword-boolean&quot;&gt;boolean&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;equals&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;Object&lt;/span&gt; o&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-if&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;o &lt;span class=&quot;token keyword keyword-instanceof&quot;&gt;instanceof&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;Point&lt;/span&gt; p&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
		&lt;span class=&quot;token keyword keyword-return&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;token keyword keyword-this&quot;&gt;this&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;x &lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt; p&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;x &lt;span class=&quot;token operator&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class=&quot;token keyword keyword-this&quot;&gt;this&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;y &lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt; p&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;y&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
	&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-return&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;token boolean&quot;&gt;false&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;hr&gt;
&lt;h2 class=&quot;mume-header&quot; id=&quot;3-equals-%EC%9E%AC%EC%A0%95%EC%9D%98-%ED%9B%84-hashcode%EB%8F%84-%EC%9E%AC%EC%A0%95%EC%9D%98%ED%95%98%EB%9D%BC&quot;&gt;3. equals &amp;#xC7AC;&amp;#xC815;&amp;#xC758; &amp;#xD6C4; hashCode&amp;#xB3C4; &amp;#xC7AC;&amp;#xC815;&amp;#xC758;&amp;#xD558;&amp;#xB77C;&lt;/h2&gt;

&lt;p&gt;equals&amp;#xB97C; &amp;#xC7AC;&amp;#xC815;&amp;#xC758; &amp;#xD55C; &amp;#xD6C4;, hashCode&amp;#xB97C; &amp;#xC7AC;&amp;#xC815;&amp;#xC758;&amp;#xD558;&amp;#xC9C0; &amp;#xC54A;&amp;#xC73C;&amp;#xBA74;, HashMap&amp;#xAC19;&amp;#xC740; &amp;#xCEEC;&amp;#xB809;&amp;#xC158;&amp;#xC5D0; &amp;#xC694;&amp;#xC18C;&amp;#xB97C; &amp;#xB123;&amp;#xC744; &amp;#xB54C; &amp;#xBB38;&amp;#xC81C;&amp;#xAC00; &amp;#xBC1C;&amp;#xC0DD;&amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xB450; &amp;#xAC1D;&amp;#xCCB4;&amp;#xC758; equals &amp;#xACB0;&amp;#xACFC;&amp;#xAC00; true&amp;#xB77C;&amp;#xBA74; hashCode &amp;#xACB0;&amp;#xACFC;&amp;#xB3C4; &amp;#xAC19;&amp;#xC544;&amp;#xC57C; &amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xD074;&amp;#xB798;&amp;#xC2A4;&amp;#xAC00; &amp;#xBD88;&amp;#xBCC0; &amp;#xD074;&amp;#xB798;&amp;#xC2A4;&amp;#xBA74;&amp;#xC11C; &amp;#xD574;&amp;#xC2DC;&amp;#xCF54;&amp;#xB4DC; &amp;#xACC4;&amp;#xC0B0; &amp;#xBE44;&amp;#xC6A9;&amp;#xC774; &amp;#xD070; &amp;#xACBD;&amp;#xC6B0;&amp;#xB77C;&amp;#xBA74;, &amp;#xC9C0;&amp;#xC5F0; &amp;#xCD08;&amp;#xAE30;&amp;#xD654; &amp;#xC804;&amp;#xB7B5;&amp;#xC73C;&amp;#xB85C; hashCode&amp;#xB97C; &amp;#xC77D;&amp;#xC5B4;&amp;#xB4E4;&amp;#xC774;&amp;#xB294; &amp;#xAC83;&amp;#xB3C4; &amp;#xC88B;&amp;#xC740; &amp;#xBC29;&amp;#xBC95;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;java&quot; class=&quot;language-java&quot;&gt;&lt;span class=&quot;token keyword keyword-private&quot;&gt;private&lt;/span&gt; &lt;span class=&quot;token keyword keyword-int&quot;&gt;int&lt;/span&gt; hashCode&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

&lt;span class=&quot;token annotation punctuation&quot;&gt;@Override&lt;/span&gt;
&lt;span class=&quot;token keyword keyword-public&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;token keyword keyword-int&quot;&gt;int&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;hashCode&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-int&quot;&gt;int&lt;/span&gt; result &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; hashCode&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-if&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;result &lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
		&lt;span class=&quot;token comment&quot;&gt;// &amp;#xC5F0;&amp;#xC0B0;&amp;#xC2DD;&lt;/span&gt;
	&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-return&quot;&gt;return&lt;/span&gt; result&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;br&gt;
&lt;p&gt;&amp;#xC5B4;&amp;#xB290;&amp;#xC815;&amp;#xB3C4; &amp;#xC131;&amp;#xB2A5;&amp;#xB3C4; &amp;#xACE0;&amp;#xB824;&amp;#xD558;&amp;#xBA74;&amp;#xC11C;, &amp;#xB3D9;&amp;#xC77C; &amp;#xAC1D;&amp;#xCCB4; &amp;#xC5EC;&amp;#xBD80;&amp;#xB97C; &amp;#xC798; &amp;#xD310;&amp;#xB2E8;&amp;#xD558;&amp;#xB294; hashCode&amp;#xB97C; &amp;#xC791;&amp;#xC131;&amp;#xD558;&amp;#xB294; &amp;#xAC83;&amp;#xC774; &amp;#xC911;&amp;#xC694;&amp;#xD55C;&amp;#xB370;,&lt;br&gt;
Lombok &amp;#xC744; &amp;#xC774;&amp;#xC6A9;&amp;#xD558;&amp;#xBA74; &amp;#xC774;&amp;#xB7F0; &amp;#xBD80;&amp;#xBD84;&amp;#xC744; &amp;#xB9E4;&amp;#xC6B0; &amp;#xAC04;&amp;#xD3B8;&amp;#xD558;&amp;#xAC8C; &amp;#xD574;&amp;#xACB0;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;java&quot; class=&quot;language-java&quot;&gt;&lt;span class=&quot;token annotation punctuation&quot;&gt;@EqualsAndHashCode&lt;/span&gt;
&lt;span class=&quot;token annotation punctuation&quot;&gt;@RequiredArgsConstructor&lt;/span&gt;
&lt;span class=&quot;token annotation punctuation&quot;&gt;@Getter&lt;/span&gt;
&lt;span class=&quot;token keyword keyword-public&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;token keyword keyword-class&quot;&gt;class&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;Point&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;token keyword keyword-private&quot;&gt;private&lt;/span&gt; &lt;span class=&quot;token keyword keyword-final&quot;&gt;final&lt;/span&gt; &lt;span class=&quot;token keyword keyword-int&quot;&gt;int&lt;/span&gt; x&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;token keyword keyword-private&quot;&gt;private&lt;/span&gt; &lt;span class=&quot;token keyword keyword-final&quot;&gt;final&lt;/span&gt; &lt;span class=&quot;token keyword keyword-int&quot;&gt;int&lt;/span&gt; y&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;blockquote&gt;
&lt;p&gt;&amp;#xC9C0;&amp;#xC5F0; &amp;#xCD08;&amp;#xAE30;&amp;#xD654; &amp;#xCE90;&amp;#xC2DC;&amp;#xC804;&amp;#xB7B5;&amp;#xB3C4; &amp;#xC9C0;&amp;#xC6D0;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&lt;code&gt;@EqualsAndHashCode(cacheStrategy = EqualsAndHashCode.CacheStrategy.LAZY)&lt;/code&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr&gt;
&lt;h3 class=&quot;mume-header&quot; id&gt;++&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&amp;#xC544;&amp;#xC774;&amp;#xD15C; 10. equals&amp;#xB294; &amp;#xC77C;&amp;#xBC18; &amp;#xADDC;&amp;#xC57D;&amp;#xC744; &amp;#xC9C0;&amp;#xCF1C; &amp;#xC7AC;&amp;#xC815;&amp;#xC758;&amp;#xD558;&amp;#xB77C;&lt;/li&gt;
&lt;li&gt;&amp;#xC544;&amp;#xC774;&amp;#xD15C; 11. equals&amp;#xB97C; &amp;#xC7AC;&amp;#xC815;&amp;#xC758;&amp;#xD558;&amp;#xB824;&amp;#xAC70;&amp;#xB4E0; hashCode&amp;#xB3C4; &amp;#xC7AC;&amp;#xC815;&amp;#xC758;&amp;#xD558;&amp;#xB77C;&lt;/li&gt;
&lt;/ul&gt;

  &lt;/div&gt;&lt;/div&gt;</description>
      <category>Java/Effective Java</category>
      <category>effectivejava</category>
      <author>jiniya22</author>
      <guid isPermaLink="true">https://jini-box.tistory.com/235</guid>
      <comments>https://jini-box.tistory.com/235#entry235comment</comments>
      <pubDate>Sun, 10 Mar 2024 17:03:43 +0900</pubDate>
    </item>
    <item>
      <title>[Go] 15. 자료구조 - list, ring, map</title>
      <link>https://jini-box.tistory.com/234</link>
      <description>&lt;div id=&quot;html-export&quot;&gt;
      &lt;div class=&quot;mume markdown-preview  &quot;&gt;
      &lt;p&gt;Go&amp;#xC5D0;&amp;#xC11C; map&amp;#xC740; &amp;#xAE30;&amp;#xBCF8; &amp;#xB0B4;&amp;#xC7A5;&amp;#xD0C0;&amp;#xC785;&amp;#xC73C;&amp;#xB85C; &amp;#xC81C;&amp;#xACF5;&amp;#xD558;&amp;#xACE0; &amp;#xC788;&amp;#xC73C;&amp;#xBA70;,&lt;br&gt;
list&amp;#xC640; ring&amp;#xC740; container &amp;#xAE30;&amp;#xBCF8; &amp;#xB0B4;&amp;#xC7A5; &amp;#xD328;&amp;#xD0A4;&amp;#xC9C0;&amp;#xC5D0;&amp;#xC11C; &amp;#xC81C;&amp;#xACF5;&amp;#xD558;&amp;#xACE0; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 class=&quot;mume-header&quot; id=&quot;1-%EB%A6%AC%EC%8A%A4%ED%8A%B8&quot;&gt;1. &amp;#xB9AC;&amp;#xC2A4;&amp;#xD2B8;&lt;/h2&gt;

&lt;p&gt;list&amp;#xB294; container &amp;#xB0B4;&amp;#xC7A5;&amp;#xD328;&amp;#xD0A4;&amp;#xC9C0;&amp;#xC5D0;&amp;#xC11C; &amp;#xC81C;&amp;#xACF5;&amp;#xD558;&amp;#xACE0; &amp;#xC788;&amp;#xB294; LinkedList &amp;#xC790;&amp;#xB8CC;&amp;#xAD6C;&amp;#xC870;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword keyword-type&quot;&gt;type&lt;/span&gt; List &lt;span class=&quot;token keyword keyword-struct&quot;&gt;struct&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	root Element
	&lt;span class=&quot;token builtin&quot;&gt;len&lt;/span&gt;  &lt;span class=&quot;token builtin&quot;&gt;int&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token keyword keyword-type&quot;&gt;type&lt;/span&gt; Element &lt;span class=&quot;token keyword keyword-struct&quot;&gt;struct&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	next&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; prev &lt;span class=&quot;token operator&quot;&gt;*&lt;/span&gt;Element
	list &lt;span class=&quot;token operator&quot;&gt;*&lt;/span&gt;List
	Value any
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;br&gt;
&lt;p&gt;&amp;#xBC30;&amp;#xC5F4;&amp;#xC774; &amp;#xC5F0;&amp;#xC18D;&amp;#xB41C; &amp;#xBA54;&amp;#xBAA8;&amp;#xB9AC;&amp;#xC5D0; &amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xB97C; &amp;#xC800;&amp;#xC7A5;&amp;#xD588;&amp;#xC5C8;&amp;#xB2E4;&amp;#xBA74;, &amp;#xB9AC;&amp;#xC2A4;&amp;#xD2B8;&amp;#xB294; &amp;#xBD88;&amp;#xC5F0;&amp;#xC18D;&amp;#xB41C; &amp;#xBA54;&amp;#xBAA8;&amp;#xB9AC;&amp;#xACF5;&amp;#xAC04;&amp;#xC5D0; &amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xB97C; &amp;#xC800;&amp;#xC7A5;&amp;#xD55C;&amp;#xB2E4;&amp;#xB294; &amp;#xCC28;&amp;#xC774;&amp;#xC810;&amp;#xC774; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xBC30;&amp;#xC5F4;&amp;#xC740; &amp;#xC5F0;&amp;#xC18D;&amp;#xB41C; &amp;#xBA54;&amp;#xBAA8;&amp;#xB9AC; &amp;#xACF5;&amp;#xAC04;&amp;#xC5D0; &amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xB97C; &amp;#xC800;&amp;#xC7A5;&amp;#xD558;&amp;#xAE30; &amp;#xB54C;&amp;#xBB38;&amp;#xC5D0; &amp;#xC778;&amp;#xB371;&amp;#xC2A4;&amp;#xB97C; &amp;#xC774;&amp;#xC6A9;&amp;#xD55C; &amp;#xB370;&amp;#xC774;&amp;#xD130; &amp;#xC811;&amp;#xADFC;&amp;#xC774; &amp;#xBE48;&amp;#xBC88;&amp;#xD558;&amp;#xB2E4;&amp;#xBA74; &amp;#xBC30;&amp;#xC5F4; &amp;#xB610;&amp;#xB294; &amp;#xC2AC;&amp;#xB77C;&amp;#xC774;&amp;#xC2A4;&amp;#xB97C; &amp;#xC774;&amp;#xC6A9;&amp;#xD558;&amp;#xB294; &amp;#xAC83;&amp;#xC774; &amp;#xB354; &amp;#xD6A8;&amp;#xC728;&amp;#xC801;&amp;#xC774;&amp;#xACE0;&lt;br&gt;
&amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xC758; &amp;#xC0BD;&amp;#xC785;&amp;#xACFC; &amp;#xC0AD;&amp;#xC81C;&amp;#xAC00; &amp;#xB354; &amp;#xBE48;&amp;#xBC88;&amp;#xD558;&amp;#xB2E4;&amp;#xBA74; &amp;#xB9AC;&amp;#xC2A4;&amp;#xD2B8;&amp;#xB97C; &amp;#xC774;&amp;#xC6A9;&amp;#xD558;&amp;#xB294; &amp;#xAC83;&amp;#xC774; &amp;#xB354; &amp;#xD6A8;&amp;#xC728;&amp;#xC801;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xB2E4;&amp;#xB9CC;, &lt;strong&gt;&amp;#xB370;&amp;#xC774;&amp;#xD130; &amp;#xC9C0;&amp;#xC5ED;&amp;#xC131;(= &amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xAC00; &amp;#xBC00;&amp;#xC9D1;&amp;#xD55C; &amp;#xC815;&amp;#xB3C4;)&lt;/strong&gt; &amp;#xB294; &amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xB97C; &amp;#xC5F0;&amp;#xC0B0; &amp;#xC18D;&amp;#xB3C4;&amp;#xC5D0; &amp;#xB9CE;&amp;#xC740; &amp;#xC601;&amp;#xD5A5;&amp;#xC744; &amp;#xC8FC;&amp;#xB294;&amp;#xB370;,&lt;br&gt;
&amp;#xB9AC;&amp;#xC2A4;&amp;#xD2B8;&amp;#xC5D0; &amp;#xBE44;&amp;#xD574; &amp;#xBC30;&amp;#xC5F4;&amp;#xC758; &amp;#xB370;&amp;#xC774;&amp;#xD130; &amp;#xC9C0;&amp;#xC5ED;&amp;#xC131;&amp;#xC774; &amp;#xC6D4;&amp;#xB4F1;&amp;#xD788; &amp;#xC88B;&amp;#xAE30; &amp;#xB54C;&amp;#xBB38;&amp;#xC5D0; &amp;#xC694;&amp;#xC18C;&amp;#xC218;&amp;#xAC00; &amp;#xC801;&amp;#xC744; &amp;#xACBD;&amp;#xC6B0;&amp;#xC5D0;&amp;#xB294; &amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xC758; &amp;#xC0BD;&amp;#xC785;/&amp;#xC0AD;&amp;#xC81C;&amp;#xAC00; &amp;#xBE48;&amp;#xBC88;&amp;#xD558;&amp;#xB354;&amp;#xB77C;&amp;#xB3C4; &amp;#xB9AC;&amp;#xC2A4;&amp;#xD2B8;&amp;#xBCF4;&amp;#xB2E4;&amp;#xB294; &amp;#xBC30;&amp;#xC5F4;&amp;#xC758; &amp;#xD6A8;&amp;#xC728;&amp;#xC774; &amp;#xB354; &amp;#xD6A8;&amp;#xC728;&amp;#xC801;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xC774; &amp;#xBD80;&amp;#xBD84;&amp;#xC744; &amp;#xC720;&amp;#xC758;&amp;#xD558;&amp;#xC5EC; &amp;#xC801;&amp;#xC808;&amp;#xD55C; &amp;#xD0C0;&amp;#xC785;&amp;#xC744; &amp;#xD65C;&amp;#xC6A9;&amp;#xD558;&amp;#xB294; &amp;#xAC83;&amp;#xC774; &amp;#xC88B;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;br&gt;
&lt;p&gt;List&amp;#xB294; &amp;#xAE38;&amp;#xC774;&amp;#xC640; Element&amp;#xB97C; &amp;#xAC00;&amp;#xC9C0;&amp;#xACE0; &amp;#xC788;&amp;#xB294; &amp;#xD0C0;&amp;#xC785;&amp;#xC73C;&amp;#xB85C;,&lt;br&gt;
&amp;#xAC01; Element&amp;#xB294; &amp;#xC774;&amp;#xC804; &amp;#xC694;&amp;#xC18C;&amp;#xC640; &amp;#xB2E4;&amp;#xC74C;&amp;#xC694;&amp;#xC18C;&amp;#xB97C; &amp;#xAC00;&amp;#xB9AC;&amp;#xD0A4;&amp;#xB294; &amp;#xD3EC;&amp;#xC778;&amp;#xD130;&amp;#xBCC0;&amp;#xC218;&amp;#xC640;&lt;br&gt;
&amp;#xD604;&amp;#xC7AC; &amp;#xAC12;&amp;#xACFC; &amp;#xD604;&amp;#xC7AC; &amp;#xAC12;&amp;#xC774; &amp;#xB4E4;&amp;#xC5B4;&amp;#xC788;&amp;#xB294; &amp;#xB9AC;&amp;#xC2A4;&amp;#xD2B8;&amp;#xC758; &amp;#xD3EC;&amp;#xC778;&amp;#xD130;&amp;#xBCC0;&amp;#xC218; &amp;#xB4F1;&amp;#xC744; &amp;#xAC00;&amp;#xC9C0;&amp;#xACE0; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;Value&amp;#xAC12;&amp;#xC740; {}interface &amp;#xD0C0;&amp;#xC785;&amp;#xC73C;&amp;#xB85C; &amp;#xC5B4;&amp;#xB5A4; &amp;#xD0C0;&amp;#xC785;&amp;#xC774;&amp;#xB4E0; &amp;#xB4E4;&amp;#xC5B4;&amp;#xAC08; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;. (any&amp;#xB294; {}interface&amp;#xC758; &amp;#xBCC4;&amp;#xCE6D;)&lt;/p&gt;
&lt;p&gt;&amp;#xD3EC;&amp;#xC778;&amp;#xD130;&amp;#xBCC0;&amp;#xC218;&amp;#xAC00; &amp;#xC774;&amp;#xC804;&amp;#xACFC; &amp;#xB2E4;&amp;#xC74C;&amp;#xC5D0; &amp;#xBAA8;&amp;#xB450; &amp;#xC788;&amp;#xAE30; &amp;#xB54C;&amp;#xBB38;&amp;#xC5D0;, &amp;#xB9AC;&amp;#xC2A4;&amp;#xD2B8; &amp;#xC55E;&amp;#xACFC; &amp;#xB4A4;&amp;#xC5D0; &amp;#xC694;&amp;#xC18C; &amp;#xCD94;&amp;#xAC00;&amp;#xAC00; &amp;#xAC00;&amp;#xB2A5;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&lt;br&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;list.New()&lt;/em&gt; &amp;#xD568;&amp;#xC218;&amp;#xB85C; &amp;#xB9AC;&amp;#xC2A4;&amp;#xD2B8; &amp;#xC778;&amp;#xC2A4;&amp;#xD134;&amp;#xC2A4;&amp;#xB97C; &amp;#xC0DD;&amp;#xC131;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC73C;&amp;#xBA70;,&lt;br&gt;
&lt;em&gt;PushFront()&lt;/em&gt;, &lt;em&gt;PushBack()&lt;/em&gt; &amp;#xBA54;&amp;#xC11C;&amp;#xB4DC;&amp;#xB85C; &amp;#xB9AC;&amp;#xC2A4;&amp;#xD2B8;&amp;#xC758; &amp;#xC55E; &amp;#xB610;&amp;#xB294; &amp;#xB4A4;&amp;#xC5D0; &amp;#xC694;&amp;#xC18C;&amp;#xB97C; &amp;#xCD94;&amp;#xAC00;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;PushFront&amp;#xC640; PushFront &amp;#xBA54;&amp;#xC11C;&amp;#xB4DC;&amp;#xB294; &amp;#xC694;&amp;#xC18C;&amp;#xB97C; &amp;#xCD94;&amp;#xAC00;&amp;#xD55C; &amp;#xD6C4;, &amp;#xCD94;&amp;#xAC00;&amp;#xD55C; &amp;#xC694;&amp;#xC18C;&amp;#xC758; &amp;#xD3EC;&amp;#xC778;&amp;#xD130;&amp;#xB97C; &amp;#xBC18;&amp;#xD658;&amp;#xD558;&amp;#xBA70;,&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;l &lt;span class=&quot;token operator&quot;&gt;*&lt;/span&gt;List&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;PushBack&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;v any&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;*&lt;/span&gt;Element &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	l&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;lazyInit&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-return&quot;&gt;return&lt;/span&gt; l&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;insertValue&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;v&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; l&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;root&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;prev&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;br&gt;
&lt;p&gt;&amp;#xADF8; &amp;#xD3EC;&amp;#xC778;&amp;#xD130; &amp;#xBCC0;&amp;#xC218;&amp;#xB97C; &amp;#xD65C;&amp;#xC6A9;&amp;#xD558;&amp;#xC5EC; &amp;#xD2B9;&amp;#xC815; &amp;#xC694;&amp;#xC18C; &amp;#xC55E; &amp;#xB610;&amp;#xB294; &amp;#xB4A4;&amp;#xC5D0; &amp;#xAC12;&amp;#xC744; &amp;#xC0BD;&amp;#xC785;&amp;#xD560; &amp;#xC218;&amp;#xB3C4; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;l &lt;span class=&quot;token operator&quot;&gt;*&lt;/span&gt;List&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;InsertBefore&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;v any&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; mark &lt;span class=&quot;token operator&quot;&gt;*&lt;/span&gt;Element&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;*&lt;/span&gt;Element &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-if&quot;&gt;if&lt;/span&gt; mark&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;list &lt;span class=&quot;token operator&quot;&gt;!=&lt;/span&gt; l &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
		&lt;span class=&quot;token keyword keyword-return&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;token boolean&quot;&gt;nil&lt;/span&gt;
	&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
	&lt;span class=&quot;token comment&quot;&gt;// see comment in List.Remove about initialization of l&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-return&quot;&gt;return&lt;/span&gt; l&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;insertValue&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;v&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; mark&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;prev&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;br&gt;
&lt;p&gt;&amp;#xC544;&amp;#xB798;&amp;#xB294; &amp;#xB9AC;&amp;#xC2A4;&amp;#xD2B8;&amp;#xB97C; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD558;&amp;#xB294; &amp;#xAC04;&amp;#xB2E8;&amp;#xD55C; &amp;#xC608;&amp;#xC81C;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword keyword-package&quot;&gt;package&lt;/span&gt; main

&lt;span class=&quot;token keyword keyword-import&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;
	&lt;span class=&quot;token string&quot;&gt;&amp;quot;container/list&amp;quot;&lt;/span&gt;
	&lt;span class=&quot;token string&quot;&gt;&amp;quot;fmt&amp;quot;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;

&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;main&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	a &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; list&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;New&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	e1 &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; a&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;PushBack&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	e2 &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; a&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;PushFront&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;

	a&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;InsertBefore&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;10&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; e1&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	a&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;InsertAfter&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;20&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; e2&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;

	&lt;span class=&quot;token keyword keyword-for&quot;&gt;for&lt;/span&gt; e &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; a&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Front&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; e &lt;span class=&quot;token operator&quot;&gt;!=&lt;/span&gt; &lt;span class=&quot;token boolean&quot;&gt;nil&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; e &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; e&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Next&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
		fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Print&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;e&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;Value&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;, &amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

	fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;\n----------&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-for&quot;&gt;for&lt;/span&gt; e &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; a&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Back&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; e &lt;span class=&quot;token operator&quot;&gt;!=&lt;/span&gt; &lt;span class=&quot;token boolean&quot;&gt;nil&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; e &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; e&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Prev&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
		fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Print&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;e&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;Value&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;, &amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;&lt;span class=&quot;token number&quot;&gt;2&lt;/span&gt;, &lt;span class=&quot;token number&quot;&gt;20&lt;/span&gt;, &lt;span class=&quot;token number&quot;&gt;10&lt;/span&gt;, &lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;,
----------
&lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;, &lt;span class=&quot;token number&quot;&gt;10&lt;/span&gt;, &lt;span class=&quot;token number&quot;&gt;20&lt;/span&gt;, &lt;span class=&quot;token number&quot;&gt;2&lt;/span&gt;,
&lt;/pre&gt;&lt;p&gt;&lt;em&gt;Front()&lt;/em&gt; &amp;#xBA54;&amp;#xC11C;&amp;#xB4DC;&amp;#xB85C; &amp;#xB9AC;&amp;#xC2A4;&amp;#xD2B8;&amp;#xC758; &amp;#xB9E8; &amp;#xC55E;&amp;#xC5D0; &amp;#xC704;&amp;#xCE58;&amp;#xD55C; &amp;#xC694;&amp;#xC18C;&amp;#xC758; &amp;#xD3EC;&amp;#xC778;&amp;#xD130;&amp;#xB97C; &amp;#xAC00;&amp;#xC838;&amp;#xC62C; &amp;#xC218; &amp;#xC788;&amp;#xC73C;&amp;#xBA70;,&lt;br&gt;
_Next(), &lt;em&gt;Prev()&lt;/em&gt; &amp;#xBA54;&amp;#xC11C;&amp;#xB4DC;&amp;#xB85C; &amp;#xD2B9;&amp;#xC815; &amp;#xC694;&amp;#xC18C; &amp;#xD3EC;&amp;#xC778;&amp;#xD130; &amp;#xBCC0;&amp;#xC218;&amp;#xC758; &amp;#xC774;&amp;#xC804; &amp;#xB610;&amp;#xB294; &amp;#xB2E4;&amp;#xC74C; &amp;#xC694;&amp;#xC18C;&amp;#xB97C; &amp;#xC77D;&amp;#xC5B4;&amp;#xB4E4;&amp;#xC77C; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;br&gt;
&lt;h3 class=&quot;mume-header&quot; id=&quot;11-list%EB%A1%9C-queue-%EA%B5%AC%ED%98%84&quot;&gt;1.1. list&amp;#xB85C; Queue &amp;#xAD6C;&amp;#xD604;&lt;/h3&gt;

&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword keyword-package&quot;&gt;package&lt;/span&gt; main

&lt;span class=&quot;token keyword keyword-import&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;
	&lt;span class=&quot;token string&quot;&gt;&amp;quot;container/list&amp;quot;&lt;/span&gt;
	&lt;span class=&quot;token string&quot;&gt;&amp;quot;fmt&amp;quot;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;

&lt;span class=&quot;token keyword keyword-type&quot;&gt;type&lt;/span&gt; Queue &lt;span class=&quot;token keyword keyword-struct&quot;&gt;struct&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	v &lt;span class=&quot;token operator&quot;&gt;*&lt;/span&gt;list&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;List
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;q &lt;span class=&quot;token operator&quot;&gt;*&lt;/span&gt;Queue&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;Push&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;val any&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	q&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;v&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;PushBack&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;val&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;q &lt;span class=&quot;token operator&quot;&gt;*&lt;/span&gt;Queue&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;Pop&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; any &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	ele &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; q&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;v&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Front&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-if&quot;&gt;if&lt;/span&gt; ele &lt;span class=&quot;token operator&quot;&gt;!=&lt;/span&gt; &lt;span class=&quot;token boolean&quot;&gt;nil&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
		&lt;span class=&quot;token keyword keyword-return&quot;&gt;return&lt;/span&gt; q&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;v&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Remove&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;ele&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-return&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;token boolean&quot;&gt;nil&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;NewQueue&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;*&lt;/span&gt;Queue &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-return&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt;Queue&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;list&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;New&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;main&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	queue &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;NewQueue&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-for&quot;&gt;for&lt;/span&gt; i &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; i &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;5&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; i&lt;span class=&quot;token operator&quot;&gt;++&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
		queue&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Push&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;i&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-for&quot;&gt;for&lt;/span&gt; ele &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; queue&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Pop&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; ele &lt;span class=&quot;token operator&quot;&gt;!=&lt;/span&gt; &lt;span class=&quot;token boolean&quot;&gt;nil&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; ele &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; queue&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Pop&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
		fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Print&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;ele&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;, &amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;&lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;, &lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;, &lt;span class=&quot;token number&quot;&gt;2&lt;/span&gt;, &lt;span class=&quot;token number&quot;&gt;3&lt;/span&gt;, &lt;span class=&quot;token number&quot;&gt;4&lt;/span&gt;,
&lt;/pre&gt;&lt;br&gt;
&lt;h3 class=&quot;mume-header&quot; id=&quot;12-list%EB%A1%9C-stack-%EA%B5%AC%ED%98%84&quot;&gt;1.2. list&amp;#xB85C; Stack &amp;#xAD6C;&amp;#xD604;&lt;/h3&gt;

&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword keyword-package&quot;&gt;package&lt;/span&gt; main

&lt;span class=&quot;token keyword keyword-import&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;
	&lt;span class=&quot;token string&quot;&gt;&amp;quot;container/list&amp;quot;&lt;/span&gt;
	&lt;span class=&quot;token string&quot;&gt;&amp;quot;fmt&amp;quot;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;

&lt;span class=&quot;token keyword keyword-type&quot;&gt;type&lt;/span&gt; Stack &lt;span class=&quot;token keyword keyword-struct&quot;&gt;struct&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	v &lt;span class=&quot;token operator&quot;&gt;*&lt;/span&gt;list&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;List
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;s &lt;span class=&quot;token operator&quot;&gt;*&lt;/span&gt;Stack&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;Push&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;value any&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	s&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;v&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;PushBack&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;value&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;s &lt;span class=&quot;token operator&quot;&gt;*&lt;/span&gt;Stack&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;Pop&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; any &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	ele &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; s&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;v&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Back&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-if&quot;&gt;if&lt;/span&gt; ele &lt;span class=&quot;token operator&quot;&gt;!=&lt;/span&gt; &lt;span class=&quot;token boolean&quot;&gt;nil&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
		&lt;span class=&quot;token keyword keyword-return&quot;&gt;return&lt;/span&gt; s&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;v&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Remove&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;ele&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-return&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;token boolean&quot;&gt;nil&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;NewStack&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;*&lt;/span&gt;Stack &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-return&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt;Stack&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;list&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;New&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;main&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	stack &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;NewStack&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-for&quot;&gt;for&lt;/span&gt; i &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; i &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;5&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; i&lt;span class=&quot;token operator&quot;&gt;++&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
		stack&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Push&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;i&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

	&lt;span class=&quot;token keyword keyword-for&quot;&gt;for&lt;/span&gt; ele &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; stack&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Pop&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; ele &lt;span class=&quot;token operator&quot;&gt;!=&lt;/span&gt; &lt;span class=&quot;token boolean&quot;&gt;nil&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; ele &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; stack&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Pop&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
		fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Print&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;ele&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;, &amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;hr&gt;
&lt;h2 class=&quot;mume-header&quot; id=&quot;2-%EB%A7%81&quot;&gt;2. &amp;#xB9C1;&lt;/h2&gt;

&lt;p&gt;&amp;#xB9C1;&amp;#xC740; Go&amp;#xC758; container &amp;#xB0B4;&amp;#xC7A5;&amp;#xD328;&amp;#xD0A4;&amp;#xC9C0;&amp;#xC5D0;&amp;#xC11C; &amp;#xC81C;&amp;#xACF5;&amp;#xD558;&amp;#xACE0; &amp;#xC788;&amp;#xB294; circular linked list &amp;#xB85C;, list&amp;#xC5D0;&amp;#xC11C; &amp;#xB9E8; &amp;#xB4A4; &amp;#xC694;&amp;#xC18C;&amp;#xC640; &amp;#xB9E8; &amp;#xC55E; &amp;#xC694;&amp;#xC18C;&amp;#xAC00; &amp;#xC5F0;&amp;#xACB0;&amp;#xB41C; &amp;#xC790;&amp;#xB8CC;&amp;#xAD6C;&amp;#xC870;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword keyword-type&quot;&gt;type&lt;/span&gt; Ring &lt;span class=&quot;token keyword keyword-struct&quot;&gt;struct&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	next&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; prev &lt;span class=&quot;token operator&quot;&gt;*&lt;/span&gt;Ring
	Value      any
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;p&gt;ring&amp;#xC5D0;&amp;#xC11C;&amp;#xB3C4; New() &amp;#xD568;&amp;#xC218;&amp;#xB97C; &amp;#xC81C;&amp;#xACF5;&amp;#xD558;&amp;#xACE0; &amp;#xC788;&amp;#xB294;&amp;#xB370;,&lt;br&gt;
&amp;#xC778;&amp;#xC790;&amp;#xB85C; element &amp;#xAC1C;&amp;#xC218;&amp;#xB97C; &amp;#xC124;&amp;#xC815;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC73C;&amp;#xBA70;, &amp;#xC120;&amp;#xC5B8;&amp;#xD558;&amp;#xBA74; &amp;#xB9C1;&amp;#xC774; &amp;#xC704;&amp;#xCE58;&amp;#xD55C; &amp;#xD3EC;&amp;#xC778;&amp;#xD130; &amp;#xBCC0;&amp;#xC218;&amp;#xB97C; &amp;#xBC18;&amp;#xD658;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;New&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;n &lt;span class=&quot;token builtin&quot;&gt;int&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;*&lt;/span&gt;Ring &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-if&quot;&gt;if&lt;/span&gt; n &lt;span class=&quot;token operator&quot;&gt;&amp;lt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
		&lt;span class=&quot;token keyword keyword-return&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;token boolean&quot;&gt;nil&lt;/span&gt;
	&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
	r &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;new&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;Ring&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	p &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; r
	&lt;span class=&quot;token keyword keyword-for&quot;&gt;for&lt;/span&gt; i &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; i &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt; n&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; i&lt;span class=&quot;token operator&quot;&gt;++&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
		p&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;next &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt;Ring&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;prev&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; p&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
		p &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; p&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;next
	&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
	p&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;next &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; r
	r&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;prev &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; p
	&lt;span class=&quot;token keyword keyword-return&quot;&gt;return&lt;/span&gt; r
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;br&gt;
&amp;#xB9C1;&amp;#xC740; &amp;#xB9C8;&amp;#xC9C0;&amp;#xB9C9;&amp;#xC774;&amp;#xB77C;&amp;#xB294; &amp;#xAC1C;&amp;#xB150;&amp;#xC774; &amp;#xC5C6;&amp;#xAE30; &amp;#xB584;&amp;#xBB38;&amp;#xC5D0; &amp;#xC544;&amp;#xB798;&amp;#xC640; &amp;#xAC19;&amp;#xC740; &amp;#xC608;&amp;#xC81C; &amp;#xCF54;&amp;#xB4DC;&amp;#xAC00; &amp;#xAC00;&amp;#xB2A5;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword keyword-package&quot;&gt;package&lt;/span&gt; main

&lt;span class=&quot;token keyword keyword-import&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;
	&lt;span class=&quot;token string&quot;&gt;&amp;quot;container/ring&amp;quot;&lt;/span&gt;
	&lt;span class=&quot;token string&quot;&gt;&amp;quot;fmt&amp;quot;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;

&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;main&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	r &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; ring&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;New&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;5&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	n &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; r&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Len&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;

	&lt;span class=&quot;token keyword keyword-for&quot;&gt;for&lt;/span&gt; i &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; i &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt; n&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; i&lt;span class=&quot;token operator&quot;&gt;++&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
		r&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;Value &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; i
		r &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; r&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Next&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

	&lt;span class=&quot;token keyword keyword-for&quot;&gt;for&lt;/span&gt; i &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; i &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt; n&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; i&lt;span class=&quot;token operator&quot;&gt;++&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
		fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Print&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;r&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;Value&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;, &amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
		r &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; r&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Next&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
	fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;\n--------------&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-for&quot;&gt;for&lt;/span&gt; i &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; i &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt; n&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; i&lt;span class=&quot;token operator&quot;&gt;++&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
		fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Print&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;r&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;Value&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;, &amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
		r &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; r&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Prev&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;&lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;, &lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;, &lt;span class=&quot;token number&quot;&gt;2&lt;/span&gt;, &lt;span class=&quot;token number&quot;&gt;3&lt;/span&gt;, &lt;span class=&quot;token number&quot;&gt;4&lt;/span&gt;,
--------------
&lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;, &lt;span class=&quot;token number&quot;&gt;4&lt;/span&gt;, &lt;span class=&quot;token number&quot;&gt;3&lt;/span&gt;, &lt;span class=&quot;token number&quot;&gt;2&lt;/span&gt;, &lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;,
&lt;/pre&gt;&lt;p&gt;length&amp;#xAC00; 5&amp;#xC778; &amp;#xB9C1;&amp;#xC744; &amp;#xC0DD;&amp;#xC131;&amp;#xD55C; &amp;#xD6C4;, 0&amp;#xBD80;&amp;#xD130; 4&amp;#xAE4C;&amp;#xC9C0; &amp;#xAC12;&amp;#xC744; &amp;#xD560;&amp;#xB2F9;&amp;#xD558;&amp;#xACE0;, Next()&amp;#xB97C; &amp;#xC774;&amp;#xC6A9;&amp;#xD558;&amp;#xC5EC; &amp;#xC21C;&amp;#xD68C;&amp;#xD558;&amp;#xBA74; &lt;code&gt;0, 1, 2, 3, 4,&lt;/code&gt; &amp;#xAC00; &amp;#xCD9C;&amp;#xB825;&amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xC774; &amp;#xC21C;&amp;#xD68C;&amp;#xB97C; &amp;#xB9C8;&amp;#xCE5C; &amp;#xD6C4;, r&amp;#xC740; 0&amp;#xAC12;&amp;#xC774; &amp;#xC788;&amp;#xB294; &amp;#xACF3;&amp;#xC744; &amp;#xAC00;&amp;#xB9AC;&amp;#xD0A4;&amp;#xACE0; &amp;#xC788;&amp;#xAE30; &amp;#xB54C;&amp;#xBB38;&amp;#xC5D0; &amp;#xADF8; &amp;#xB2E4;&amp;#xC74C; for &amp;#xB8E8;&amp;#xD504;&amp;#xC5D0;&amp;#xC11C;&amp;#xB294;  0&amp;#xC5D0;&amp;#xC11C; &amp;#xC2DC;&amp;#xC791;&amp;#xB418;&amp;#xBA70;, Prev() &amp;#xD568;&amp;#xC218;&amp;#xB97C; &amp;#xC774;&amp;#xC6A9;&amp;#xD558;&amp;#xC5EC; &amp;#xC21C;&amp;#xD68C;&amp;#xD558;&amp;#xAE30; &amp;#xB54C;&amp;#xBB38;&amp;#xC5D0; &amp;#xADF8; &amp;#xC774;&amp;#xD6C4;&amp;#xBD80;&amp;#xD130;&amp;#xB294; &lt;code&gt;4, 3, 2, 1,&lt;/code&gt; &amp;#xC774; &amp;#xCD9C;&amp;#xB825;&amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&lt;br&gt;&lt;br&gt;
&amp;#xB9C1;&amp;#xC740; &amp;#xC800;&amp;#xC7A5;&amp;#xD560; &amp;#xC694;&amp;#xC18C;&amp;#xC758; &amp;#xAC1C;&amp;#xC218;&amp;#xAC00; &amp;#xACE0;&amp;#xC815;&amp;#xB418;&amp;#xC5B4;&amp;#xC788;&amp;#xC73C;&amp;#xBA74;&amp;#xC11C;, &amp;#xC624;&amp;#xB798;&amp;#xB41C; &amp;#xC694;&amp;#xC18C;&amp;#xB97C; &amp;#xC9C0;&amp;#xC6CC;&amp;#xB3C4; &amp;#xB418;&amp;#xB294; &amp;#xACBD;&amp;#xC6B0;&amp;#xC5D0; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD558;&amp;#xBA74; &amp;#xC88B;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&amp;#xC2E4;&amp;#xD589;&amp;#xCDE8;&amp;#xC18C;/&amp;#xC7AC;&amp;#xAC1C;&lt;/li&gt;
&lt;li&gt;&amp;#xACE0;&amp;#xC815;&amp;#xD06C;&amp;#xAE30; &amp;#xBC84;&amp;#xD37C;&lt;/li&gt;
&lt;li&gt;&amp;#xB9AC;&amp;#xD50C;&amp;#xB808;&amp;#xC774;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 class=&quot;mume-header&quot; id=&quot;3-%EB%A7%B5&quot;&gt;3. &amp;#xB9F5;&lt;/h2&gt;

&lt;p&gt;map&amp;#xC740; key&amp;#xC640; value&amp;#xD615;&amp;#xD0DC;&amp;#xB85C; &amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xB97C; &amp;#xC800;&amp;#xC7A5;&amp;#xD558;&amp;#xB294; &amp;#xB370;&amp;#xC774;&amp;#xD130; &amp;#xAD6C;&amp;#xC870;&amp;#xB85C;, &amp;#xC21C;&amp;#xC11C;&amp;#xB97C; &amp;#xBCF4;&amp;#xC7A5;&amp;#xD558;&amp;#xC9C0; &amp;#xC54A;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;Go&amp;#xC5D0;&amp;#xC11C;&amp;#xB294; map&amp;#xC774;&amp;#xB77C;&amp;#xB294; &amp;#xC774;&amp;#xB984;&amp;#xC73C;&amp;#xB85C; &amp;#xAE30;&amp;#xBCF8; &amp;#xB0B4;&amp;#xC7A5; &amp;#xD0C0;&amp;#xC785;&amp;#xC73C;&amp;#xB85C; &amp;#xC81C;&amp;#xACF5;&amp;#xD558;&amp;#xACE0; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Java&amp;#xC5D0;&amp;#xC11C;&amp;#xB294; HashMap, Hashtable, python&amp;#xC5D0;&amp;#xC11C;&amp;#xB294; dictionary &amp;#xB77C;&amp;#xACE0; &amp;#xBD80;&amp;#xB985;&amp;#xB2C8;&amp;#xB2E4;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;br&gt;
&lt;p&gt;&amp;#xCD94;&amp;#xAC00;/&amp;#xC0AD;&amp;#xC81C;/&amp;#xC77D;&amp;#xAE30; &amp;#xBAA8;&amp;#xB450; &lt;span class=&quot;katex&quot;&gt;&lt;span class=&quot;katex-mathml&quot;&gt;&lt;math xmlns=&quot;http://www.w3.org/1998/Math/MathML&quot;&gt;&lt;semantics&gt;&lt;mrow&gt;&lt;mi&gt;O&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mn&gt;1&lt;/mn&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;annotation encoding=&quot;application/x-tex&quot;&gt;O(1)&lt;/annotation&gt;&lt;/semantics&gt;&lt;/math&gt;&lt;/span&gt;&lt;span class=&quot;katex-html&quot; aria-hidden=&quot;true&quot;&gt;&lt;span class=&quot;base&quot;&gt;&lt;span class=&quot;strut&quot; style=&quot;height:1em;vertical-align:-0.25em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord mathnormal&quot; style=&quot;margin-right:0.02778em;&quot;&gt;O&lt;/span&gt;&lt;span class=&quot;mopen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mord&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;mclose&quot;&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; &amp;#xC2DC;&amp;#xAC04;&amp;#xBCF5;&amp;#xC7A1;&amp;#xB3C4;&amp;#xAC00; &amp;#xBC1C;&amp;#xC0DD;&amp;#xD558;&amp;#xAE30; &amp;#xB54C;&amp;#xBB38;&amp;#xC5D0; &amp;#xB9E4;&amp;#xC6B0; &amp;#xBE60;&amp;#xB974;&amp;#xC9C0;&amp;#xB9CC;, &amp;#xC785;&amp;#xB825;&amp;#xD55C; &amp;#xC21C;&amp;#xC11C;&amp;#xB97C; &amp;#xBCF4;&amp;#xC7A5;&amp;#xD558;&amp;#xC9C0; &amp;#xC54A;&amp;#xACE0;, &amp;#xC774; &amp;#xB584;&amp;#xBB38;&amp;#xC5D0; &amp;#xC778;&amp;#xB371;&amp;#xC2A4;&amp;#xB97C; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD558;&amp;#xC5EC; &amp;#xC811;&amp;#xADFC;&amp;#xD558;&amp;#xB294; &amp;#xAC83;&amp;#xC774; &amp;#xBD88;&amp;#xAC00;&amp;#xB2A5;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xB610;, &amp;#xBC30;&amp;#xC5F4;&amp;#xACFC; &amp;#xB9AC;&amp;#xC2A4;&amp;#xD2B8;&amp;#xC5D0; &amp;#xBE44;&amp;#xD574; &amp;#xC0C1;&amp;#xB300;&amp;#xC801;&amp;#xC73C;&amp;#xB85C; &amp;#xBA54;&amp;#xBAA8;&amp;#xB9AC;&amp;#xB97C; &amp;#xB9CE;&amp;#xC774; &amp;#xCC28;&amp;#xC9C0;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;br&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword keyword-map&quot;&gt;map&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&amp;#xD0A4;&amp;#xD0C0;&amp;#xC785;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&amp;#xAC12;&amp;#xD0C0;&amp;#xC785;
&lt;/pre&gt;&lt;br&gt;
&lt;p&gt;make&amp;#xD568;&amp;#xC218;&amp;#xB97C; &amp;#xC774;&amp;#xC6A9;&amp;#xD558;&amp;#xC5EC; map&amp;#xC744; &amp;#xB9CC;&amp;#xB4E4; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
map&amp;#xC740; for range&amp;#xB97C; &amp;#xC774;&amp;#xC6A9;&amp;#xD558;&amp;#xC5EC; &amp;#xC694;&amp;#xC18C;&amp;#xB97C; &amp;#xC21C;&amp;#xD68C;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xACE0;, key, value &amp;#xD615;&amp;#xD0DC;&amp;#xB85C; &amp;#xC77D;&amp;#xC5B4;&amp;#xB4E4;&amp;#xC77C; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword keyword-package&quot;&gt;package&lt;/span&gt; main

&lt;span class=&quot;token keyword keyword-import&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;fmt&amp;quot;&lt;/span&gt;

&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;main&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	m &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;make&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token keyword keyword-map&quot;&gt;map&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token builtin&quot;&gt;string&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token builtin&quot;&gt;int&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	m&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;jini&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;100&lt;/span&gt;
	m&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;coco&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;92&lt;/span&gt;
	m&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;sol&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;84&lt;/span&gt;

	&lt;span class=&quot;token keyword keyword-for&quot;&gt;for&lt;/span&gt; key&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; value &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; &lt;span class=&quot;token keyword keyword-range&quot;&gt;range&lt;/span&gt; m &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
		fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Printf&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;key: %s, value: %d\n&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; key&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; value&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
	fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;m&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;jini&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;br&gt;
&lt;p&gt;map&amp;#xC740; &amp;#xC21C;&amp;#xC11C;&amp;#xB97C; &amp;#xBCF4;&amp;#xC7A5;&amp;#xD558;&amp;#xC9C0; &amp;#xC54A;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xADF8;&amp;#xB807;&amp;#xAE30; &amp;#xB54C;&amp;#xBB38;&amp;#xC5D0;, &amp;#xC544;&amp;#xB798; &amp;#xC608;&amp;#xC81C;&amp;#xCF54;&amp;#xB4DC;&amp;#xC5D0;&amp;#xC11C; for &amp;#xB8E8;&amp;#xD504;&amp;#xC758; &amp;#xCD9C;&amp;#xB825;&amp;#xBB38;&amp;#xC774; &amp;#xC785;&amp;#xB825;&amp;#xC21C;&amp;#xC11C;&amp;#xB300;&amp;#xB85C; &amp;#xCD9C;&amp;#xB825;&amp;#xB418;&amp;#xC9C0; &amp;#xC54A;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword keyword-package&quot;&gt;package&lt;/span&gt; main

&lt;span class=&quot;token keyword keyword-import&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;fmt&amp;quot;&lt;/span&gt;

&lt;span class=&quot;token keyword keyword-type&quot;&gt;type&lt;/span&gt; User &lt;span class=&quot;token keyword keyword-struct&quot;&gt;struct&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	Name &lt;span class=&quot;token builtin&quot;&gt;string&lt;/span&gt;
	Age  &lt;span class=&quot;token builtin&quot;&gt;int&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;main&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	users &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;make&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token keyword keyword-map&quot;&gt;map&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token builtin&quot;&gt;int&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;User&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;

	users&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;99&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; User&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;coco&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;25&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
	users&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;11&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; User&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;jin&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;37&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
	users&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;28&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; User&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;lily&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;28&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
	users&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;19&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; User&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;rora&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;21&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
	users&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;192&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; User&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;kate&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;34&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

	&lt;span class=&quot;token keyword keyword-for&quot;&gt;for&lt;/span&gt; key&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; value &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; &lt;span class=&quot;token keyword keyword-range&quot;&gt;range&lt;/span&gt; users &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
		fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;key&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; value&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;&lt;span class=&quot;token number&quot;&gt;192&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;kate &lt;span class=&quot;token number&quot;&gt;34&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token number&quot;&gt;99&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;coco &lt;span class=&quot;token number&quot;&gt;25&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token number&quot;&gt;11&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;jin &lt;span class=&quot;token number&quot;&gt;37&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token number&quot;&gt;28&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;lily &lt;span class=&quot;token number&quot;&gt;28&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token number&quot;&gt;19&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;rora &lt;span class=&quot;token number&quot;&gt;21&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;br&gt;
&lt;p&gt;map&amp;#xC758; &amp;#xC694;&amp;#xC18C;&amp;#xB97C; &amp;#xC0AD;&amp;#xC81C;&amp;#xD558;&amp;#xACE0; &amp;#xC2F6;&amp;#xB2E4;&amp;#xBA74;, &lt;code&gt;delete(&amp;#xB9F5;&amp;#xBCC0;&amp;#xC218;, &amp;#xC0AD;&amp;#xC81C;&amp;#xD560;&amp;#xD0A4;)&lt;/code&gt; &amp;#xD568;&amp;#xC218;&amp;#xB97C; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD558;&amp;#xBA74; &amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
delete&amp;#xD568;&amp;#xC218;&amp;#xB294; &amp;#xC874;&amp;#xC7AC;&amp;#xD558;&amp;#xC9C0; &amp;#xC54A;&amp;#xB294; &amp;#xD0A4;&amp;#xB97C; &amp;#xC0AD;&amp;#xC81C; &amp;#xC2DC;&amp;#xB3C4;&amp;#xD558;&amp;#xB354;&amp;#xB77C;&amp;#xB3C4; &lt;strong&gt;&amp;#xC5D0;&amp;#xB7EC;&amp;#xB97C; &amp;#xBC1C;&amp;#xC0DD;&amp;#xC2DC;&amp;#xD0A4;&amp;#xC9C0; &amp;#xC54A;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&amp;#xB610;, &amp;#xC874;&amp;#xC7AC;&amp;#xD558;&amp;#xC9C0; &amp;#xC54A;&amp;#xB294; &amp;#xC694;&amp;#xC18C;&amp;#xAC12;&amp;#xC744; &amp;#xCD9C;&amp;#xB825;&amp;#xD558;&amp;#xB824; &amp;#xD574;&amp;#xB3C4; &amp;#xC624;&amp;#xB958;&amp;#xAC00; &amp;#xBC1C;&amp;#xC0DD;&amp;#xB418;&amp;#xC9C0; &amp;#xC54A;&amp;#xACE0;, &amp;#xD574;&amp;#xB2F9; &amp;#xB9F5; value&amp;#xC758; &amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xD0C0;&amp;#xC785; &amp;#xAE30;&amp;#xBCF8;&amp;#xAC12;&amp;#xC744; &amp;#xCD9C;&amp;#xB825;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword keyword-package&quot;&gt;package&lt;/span&gt; main

&lt;span class=&quot;token keyword keyword-import&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;fmt&amp;quot;&lt;/span&gt;

&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;main&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	m &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;make&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token keyword keyword-map&quot;&gt;map&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token builtin&quot;&gt;string&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token builtin&quot;&gt;int&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;

	m&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;apple&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;3&lt;/span&gt;
	m&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;banana&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;12&lt;/span&gt;
	m&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;melon&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;22&lt;/span&gt;

	&lt;span class=&quot;token function&quot;&gt;delete&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;m&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;banana&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	&lt;span class=&quot;token function&quot;&gt;delete&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;m&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;tomato&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;  &lt;span class=&quot;token comment&quot;&gt;// &amp;#xC5D0;&amp;#xB7EC; &amp;#xBC1C;&amp;#xC0DD; x&lt;/span&gt;
	fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;&amp;#xC788;&amp;#xB294; &amp;#xC694;&amp;#xC18C;&amp;#xB97C; &amp;#xC870;&amp;#xD68C;&amp;#xD560; &amp;#xACBD;&amp;#xC6B0;: &amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; m&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;apple&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;&amp;#xC5C6;&amp;#xB294; &amp;#xC694;&amp;#xC18C;&amp;#xB97C; &amp;#xC870;&amp;#xD68C;&amp;#xD560; &amp;#xACBD;&amp;#xC6B0;: &amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; m&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;banana&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;  &lt;span class=&quot;token comment&quot;&gt;// &amp;#xC5D0;&amp;#xB7EC; &amp;#xBC1C;&amp;#xC0DD; x&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;br&gt;
&lt;p&gt;key&amp;#xB97C; &amp;#xC774;&amp;#xC6A9;&amp;#xD558;&amp;#xC5EC; &amp;#xC694;&amp;#xC18C;&amp;#xB97C; &amp;#xC870;&amp;#xD68C;&amp;#xD558;&amp;#xB294; &amp;#xD589;&amp;#xC704;&amp;#xB294; value &amp;#xD558;&amp;#xB098;&amp;#xB9CC; &amp;#xB9AC;&amp;#xD134;&amp;#xBC1B;&amp;#xC744; &amp;#xC218;&amp;#xB3C4; &amp;#xC788;&amp;#xC9C0;&amp;#xB9CC;, value&amp;#xC640; key&amp;#xC874;&amp;#xC7AC;&amp;#xC720;&amp;#xBB34;&amp;#xB97C; &amp;#xD568;&amp;#xAED8; &amp;#xB9AC;&amp;#xD134;&amp;#xBC1B;&amp;#xC744; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;value &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; m&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;&amp;#xD0A4;&amp;#xAC12;&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;
value&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; ok &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; m&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;&amp;#xD0A4;&amp;#xAC12;&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;
&lt;/pre&gt;&lt;br&gt;
&lt;p&gt;&amp;#xC774;&amp;#xB7EC;&amp;#xD55C; &amp;#xD2B9;&amp;#xC131;&amp;#xC744; &amp;#xC798; &amp;#xC774;&amp;#xC6A9;&amp;#xD558;&amp;#xC5EC; &amp;#xC544;&amp;#xB798;&amp;#xC640; &amp;#xAC19;&amp;#xC774; &amp;#xCF54;&amp;#xB4DC;&amp;#xB97C; &amp;#xC791;&amp;#xC131;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword keyword-if&quot;&gt;if&lt;/span&gt; value&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; ok &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; m&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;grape&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; ok &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;&amp;#xC800;&amp;#xC7A5;&amp;#xB41C; &amp;#xAC12;&amp;#xC740;&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; value&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt; &lt;span class=&quot;token keyword keyword-else&quot;&gt;else&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;&amp;#xD574;&amp;#xB2F9; &amp;#xAC12;&amp;#xC774; &amp;#xC874;&amp;#xC7AC;&amp;#xD558;&amp;#xC9C0; &amp;#xC54A;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;
  &lt;/div&gt;&lt;/div&gt;</description>
      <category>Go</category>
      <category>go</category>
      <author>jiniya22</author>
      <guid isPermaLink="true">https://jini-box.tistory.com/234</guid>
      <comments>https://jini-box.tistory.com/234#entry234comment</comments>
      <pubDate>Mon, 5 Feb 2024 17:00:37 +0900</pubDate>
    </item>
    <item>
      <title>[Go] 14. 함수 고급편</title>
      <link>https://jini-box.tistory.com/233</link>
      <description>&lt;div id=&quot;html-export&quot;&gt;
      &lt;div class=&quot;mume markdown-preview  &quot;&gt;
      &lt;h2 class=&quot;mume-header&quot; id=&quot;1-%EA%B0%80%EB%B3%80-%EC%9D%B8%EC%88%98-%ED%95%A8%EC%88%98&quot;&gt;1. &amp;#xAC00;&amp;#xBCC0; &amp;#xC778;&amp;#xC218; &amp;#xD568;&amp;#xC218;&lt;/h2&gt;

&lt;p&gt;&amp;#xD568;&amp;#xC218;&amp;#xC758; &amp;#xC778;&amp;#xC218; &amp;#xAC1C;&amp;#xC218;&amp;#xB97C; &amp;#xACE0;&amp;#xC815;&amp;#xD558;&amp;#xC9C0; &amp;#xC54A;&amp;#xB294; &amp;#xD568;&amp;#xC218;&amp;#xB97C; &amp;#xAC00;&amp;#xBCC0; &amp;#xC778;&amp;#xC218; &amp;#xD568;&amp;#xC218;&amp;#xB77C;&amp;#xACE0; &amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;fmt &amp;#xD328;&amp;#xD0A4;&amp;#xC9C0;&amp;#xC758; Println&amp;#xC740; &amp;#xC544;&amp;#xB798;&amp;#xC640; &amp;#xAC19;&amp;#xC774; &amp;#xC0AC;&amp;#xC6A9; &amp;#xAC00;&amp;#xB2A5;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;Hi&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;23&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;apple&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;3.14&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;ABC&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;10&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;/pre&gt;&lt;p&gt;Println &amp;#xD568;&amp;#xC218;&amp;#xB97C; &amp;#xC0B4;&amp;#xD3B4;&amp;#xBCF4;&amp;#xBA74;, &amp;#xC544;&amp;#xB798;&amp;#xC640; &amp;#xAC19;&amp;#xC774;  ...interface{} &amp;#xD0C0;&amp;#xC785;&amp;#xC744; &amp;#xC778;&amp;#xC218;&amp;#xAC12;&amp;#xC73C;&amp;#xB85C; &amp;#xAC00;&amp;#xC9C0;&amp;#xACE0; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword keyword-type&quot;&gt;type&lt;/span&gt; any &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token keyword keyword-interface&quot;&gt;interface&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;a &lt;span class=&quot;token operator&quot;&gt;...&lt;/span&gt;any&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;n &lt;span class=&quot;token builtin&quot;&gt;int&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; err &lt;span class=&quot;token builtin&quot;&gt;error&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-return&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;Fprintln&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;os&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;Stdout&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; a&lt;span class=&quot;token operator&quot;&gt;...&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;br&gt;
&lt;p&gt;... &amp;#xD0A4;&amp;#xC6CC;&amp;#xB4DC;&amp;#xB97C; &amp;#xC774;&amp;#xC6A9;&amp;#xD558;&amp;#xBA74; &amp;#xAC00;&amp;#xBCC0; &amp;#xC778;&amp;#xC218;&amp;#xB97C; &amp;#xCC98;&amp;#xB9AC;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;sum&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;nums &lt;span class=&quot;token operator&quot;&gt;...&lt;/span&gt;&lt;span class=&quot;token builtin&quot;&gt;int&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token builtin&quot;&gt;int&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	result &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-for&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;token boolean&quot;&gt;_&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; num &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; &lt;span class=&quot;token keyword keyword-range&quot;&gt;range&lt;/span&gt; nums &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
		result &lt;span class=&quot;token operator&quot;&gt;+=&lt;/span&gt; num
	&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-return&quot;&gt;return&lt;/span&gt; result
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;main&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;sum&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;sum&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;5&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;6&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;10&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;sum&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;22&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;99&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;p&gt;...&amp;#xD0A4;&amp;#xC6CC;&amp;#xB4DC;&amp;#xB85C; &amp;#xC124;&amp;#xC815;&amp;#xD55C; &amp;#xAC00;&amp;#xBCC0; &amp;#xC778;&amp;#xC218;&amp;#xB294; &amp;#xD568;&amp;#xC218; &amp;#xB0B4;&amp;#xBD80;&amp;#xC5D0;&amp;#xC11C; &amp;#xC2AC;&amp;#xB77C;&amp;#xC774;&amp;#xC2A4;&amp;#xD0C0;&amp;#xC785;&amp;#xC73C;&amp;#xB85C; &amp;#xCC98;&amp;#xB9AC;&amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;sum &amp;#xD568;&amp;#xC218;&amp;#xC5D0; &amp;#xC124;&amp;#xC815;&amp;#xD55C; nums &amp;#xC778;&amp;#xC218;&amp;#xC758; &amp;#xACBD;&amp;#xC6B0;, []int &amp;#xB85C; &amp;#xCC98;&amp;#xB9AC;&amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&amp;#xB9CC;&amp;#xC77C;, &amp;#xBAA8;&amp;#xB4E0; &amp;#xD0C0;&amp;#xC785;&amp;#xC744; &amp;#xBC1B;&amp;#xC744; &amp;#xC218; &amp;#xC788;&amp;#xB294; &amp;#xAC00;&amp;#xBCC0;&amp;#xC778;&amp;#xC218;&amp;#xB97C; &amp;#xD568;&amp;#xC218;&amp;#xC5D0; &amp;#xC774;&amp;#xC6A9;&amp;#xD558;&amp;#xACE0; &amp;#xC2F6;&amp;#xB2E4;&amp;#xBA74;,&lt;br&gt;
Println &amp;#xD568;&amp;#xC218;&amp;#xC640; &amp;#xAC19;&amp;#xC774; &lt;code&gt;...interface{}&lt;/code&gt; &amp;#xD0C0;&amp;#xC785;&amp;#xC744; &amp;#xBC1B;&amp;#xC73C;&amp;#xBA74; &amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;&lt;/p&gt;
&lt;hr&gt;
&lt;h2 class=&quot;mume-header&quot; id=&quot;2-defer-%EC%A7%80%EC%97%B0-%EC%8B%A4%ED%96%89&quot;&gt;2. defer &amp;#xC9C0;&amp;#xC5F0; &amp;#xC2E4;&amp;#xD589;&lt;/h2&gt;

&lt;p&gt;&amp;#xD568;&amp;#xC218;&amp;#xAC00; &amp;#xC885;&amp;#xB8CC;&amp;#xB418;&amp;#xAE30; &amp;#xC9C1;&amp;#xC804;&amp;#xC5D0; &amp;#xBC18;&amp;#xB4DC;&amp;#xC2DC; &amp;#xC2E4;&amp;#xD589;&amp;#xB418;&amp;#xC5B4;&amp;#xC57C;&amp;#xD558;&amp;#xB294; &amp;#xCF54;&amp;#xB4DC;&amp;#xAC00; &amp;#xC788;&amp;#xB2E4;&amp;#xBA74;,&lt;br&gt;
defer &amp;#xC9C0;&amp;#xC5F0; &amp;#xC2E4;&amp;#xD589;&amp;#xC744; &amp;#xC774;&amp;#xC6A9;&amp;#xD558;&amp;#xBA74;, &amp;#xC885;&amp;#xB8CC;&amp;#xB418;&amp;#xAE30; &amp;#xC9C1;&amp;#xC804;&amp;#xC5D0; &amp;#xD574;&amp;#xB2F9; &amp;#xBA85;&amp;#xB839;&amp;#xC744; &amp;#xC2E4;&amp;#xD589;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword keyword-defer&quot;&gt;defer&lt;/span&gt; &amp;#xBA85;&amp;#xB839;&amp;#xBB38;
&lt;/pre&gt;&lt;p&gt;&amp;#xC9C0;&amp;#xC5F0;&amp;#xC2E4;&amp;#xD589;&amp;#xC774; &amp;#xD544;&amp;#xC694;&amp;#xD55C; &amp;#xB300;&amp;#xD45C;&amp;#xC801;&amp;#xC778; &amp;#xC608;&amp;#xB85C;&amp;#xB294; &amp;#xD30C;&amp;#xC77C;&amp;#xC774;&amp;#xB098; &amp;#xC18C;&amp;#xCF13;&amp;#xACFC; &amp;#xAC19;&amp;#xC740; OS &amp;#xB0B4;&amp;#xBD80; &amp;#xC790;&amp;#xC6D0;&amp;#xC744; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD558;&amp;#xB294; &amp;#xD568;&amp;#xC218;&amp;#xAC00; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xD30C;&amp;#xC77C;&amp;#xC744; &amp;#xC0DD;&amp;#xC131;&amp;#xD558;&amp;#xAC70;&amp;#xB098; &amp;#xC77D;&amp;#xB294; &amp;#xD589;&amp;#xC704;&amp;#xB294; OS &amp;#xB0B4;&amp;#xBD80;&amp;#xC790;&amp;#xC6D0;&amp;#xC744; &amp;#xC774;&amp;#xC6A9;&amp;#xD558;&amp;#xB294; &amp;#xAC83;&amp;#xC774;&amp;#xAE30; &amp;#xB54C;&amp;#xBB38;&amp;#xC5D0;, &amp;#xCF54;&amp;#xB4DC;&amp;#xC0C1;&amp;#xC5D0;&amp;#xC11C; &amp;#xD574;&amp;#xB2F9; &amp;#xAE30;&amp;#xB2A5;&amp;#xC744; &amp;#xC774;&amp;#xC6A9;&amp;#xD560; &amp;#xB54C;, &amp;#xC790;&amp;#xC6D0;&amp;#xC744; &amp;#xBE4C;&amp;#xB824;&amp;#xC501;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xB54C;&amp;#xBB38;&amp;#xC5D0;, &amp;#xC0AC;&amp;#xC6A9;&amp;#xD55C; &amp;#xD6C4;&amp;#xC5D0;&amp;#xB294; OS&amp;#xC5D0;&amp;#xAC8C; &amp;#xD578;&amp;#xB4E4;&amp;#xC744; &amp;#xBC18;&amp;#xD658;&amp;#xD574;&amp;#xC918;&amp;#xC57C; &amp;#xB0B4;&amp;#xBD80;&amp;#xC790;&amp;#xC6D0;&amp;#xC774; &amp;#xACE0;&amp;#xAC08;&amp;#xB418;&amp;#xC9C0; &amp;#xC54A;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;defer &amp;#xC9C0;&amp;#xC5F0;&amp;#xC2E4;&amp;#xD589;&amp;#xC740; &amp;#xC5ED;&amp;#xC21C;&amp;#xC73C;&amp;#xB85C; &amp;#xC2E4;&amp;#xD589;&amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xC989;, &amp;#xAC00;&amp;#xC7A5; &amp;#xBA3C;&amp;#xC800; &amp;#xC120;&amp;#xC5B8;&amp;#xB41C; defer &amp;#xD568;&amp;#xC218;&amp;#xAC00; &amp;#xAC00;&amp;#xC7A5; &amp;#xB098;&amp;#xC911;&amp;#xC5D0; &amp;#xC2E4;&amp;#xD589;&amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xC544;&amp;#xB798;&amp;#xC758; &amp;#xC608;&amp;#xC81C;&amp;#xCF54;&amp;#xB4DC;&amp;#xB97C; &amp;#xBCF4;&amp;#xBA74; &amp;#xB9E8; &amp;#xB098;&amp;#xC911;&amp;#xC5D0; &amp;#xC120;&amp;#xC5B8;&amp;#xD55C; defer &amp;#xC9C0;&amp;#xC5F0;&amp;#xC2E4;&amp;#xD589;&amp;#xC774; &amp;#xAC00;&amp;#xC7A5; &amp;#xBA3C;&amp;#xC800; &amp;#xC2E4;&amp;#xD589;&amp;#xB41C; &amp;#xAC83;&amp;#xC744; &amp;#xD655;&amp;#xC778;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword keyword-package&quot;&gt;package&lt;/span&gt; main

&lt;span class=&quot;token keyword keyword-import&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;
	&lt;span class=&quot;token string&quot;&gt;&amp;quot;fmt&amp;quot;&lt;/span&gt;
	&lt;span class=&quot;token string&quot;&gt;&amp;quot;os&amp;quot;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;

&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;main&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	file&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; err &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; os&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Create&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;data.txt&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-if&quot;&gt;if&lt;/span&gt; err &lt;span class=&quot;token operator&quot;&gt;!=&lt;/span&gt; &lt;span class=&quot;token boolean&quot;&gt;nil&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
		fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;&amp;#xD30C;&amp;#xC77C; &amp;#xC0DD;&amp;#xC131; &amp;#xC911; &amp;#xC624;&amp;#xB958; &amp;#xBC1C;&amp;#xC0DD;&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
		&lt;span class=&quot;token keyword keyword-return&quot;&gt;return&lt;/span&gt;
	&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-defer&quot;&gt;defer&lt;/span&gt; fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;defer &amp;#xC9C0;&amp;#xC5F0;&amp;#xC2E4;&amp;#xD589;&amp;#xC740; &amp;#xB9E8;&amp;#xBA3C;&amp;#xC800; &amp;#xC120;&amp;#xC5B8;&amp;#xD55C;&amp;#xAC83;&amp;#xC774; &amp;#xB9E8; &amp;#xB098;&amp;#xC911;&amp;#xC5D0; &amp;#xC2E4;&amp;#xD589;&amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-defer&quot;&gt;defer&lt;/span&gt; file&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Close&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-defer&quot;&gt;defer&lt;/span&gt; fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;&amp;#xB9E8; &amp;#xB9C8;&amp;#xC9C0;&amp;#xB9C9;&amp;#xC5D0; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD55C; defer &amp;#xC9C0;&amp;#xC5F0;&amp;#xC2E4;&amp;#xD589;&amp;#xC774;&amp;#xC9C0;&amp;#xB9CC; &amp;#xAC00;&amp;#xC7A5; &amp;#xBA3C;&amp;#xC800; &amp;#xC2E4;&amp;#xD589;&amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;

	fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;&amp;#xD30C;&amp;#xC77C;&amp;#xC5D0; Hello jiniworld!&amp;#xB97C; &amp;#xC37C;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Fprintln&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;file&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;Hello jiniworld!&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;&amp;#xD30C;&amp;#xC77C;&amp;#xC5D0; Hello jiniworld&lt;span class=&quot;token operator&quot;&gt;!&lt;/span&gt;&amp;#xB97C; &amp;#xC37C;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.
&amp;#xB9E8; &amp;#xB9C8;&amp;#xC9C0;&amp;#xB9C9;&amp;#xC5D0; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD55C; defer &amp;#xC9C0;&amp;#xC5F0;&amp;#xC2E4;&amp;#xD589;&amp;#xC774;&amp;#xC9C0;&amp;#xB9CC; &amp;#xAC00;&amp;#xC7A5; &amp;#xBA3C;&amp;#xC800; &amp;#xC2E4;&amp;#xD589;&amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.
defer &amp;#xC9C0;&amp;#xC5F0;&amp;#xC2E4;&amp;#xD589;&amp;#xC740; &amp;#xB9E8;&amp;#xBA3C;&amp;#xC800; &amp;#xC120;&amp;#xC5B8;&amp;#xD55C;&amp;#xAC83;&amp;#xC774; &amp;#xB9E8; &amp;#xB098;&amp;#xC911;&amp;#xC5D0; &amp;#xC2E4;&amp;#xD589;&amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.
&lt;/pre&gt;&lt;hr&gt;
&lt;h2 class=&quot;mume-header&quot; id=&quot;3-%ED%95%A8%EC%88%98-%ED%83%80%EC%9E%85-%EB%B3%80%EC%88%98-%ED%95%A8%EC%88%98-%EB%A6%AC%ED%84%B0%EB%9F%B4&quot;&gt;3. &amp;#xD568;&amp;#xC218; &amp;#xD0C0;&amp;#xC785; &amp;#xBCC0;&amp;#xC218;, &amp;#xD568;&amp;#xC218; &amp;#xB9AC;&amp;#xD130;&amp;#xB7F4;&lt;/h2&gt;

&lt;p&gt;Go&amp;#xC5D0;&amp;#xC11C;&amp;#xC758; &amp;#xD568;&amp;#xC218;&amp;#xB294;, javascript&amp;#xC640; &amp;#xAC19;&amp;#xC774; &amp;#xD568;&amp;#xC218;&amp;#xB97C; &amp;#xB9AC;&amp;#xD134;&amp;#xD0C0;&amp;#xC785;&amp;#xC73C;&amp;#xB85C; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xC544;&amp;#xB798; &amp;#xC608;&amp;#xC81C;&amp;#xB97C; &amp;#xC0B4;&amp;#xD3B4;&amp;#xBD05;&amp;#xC2DC;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;add&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;a&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; b &lt;span class=&quot;token builtin&quot;&gt;int&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token builtin&quot;&gt;int&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-return&quot;&gt;return&lt;/span&gt; a &lt;span class=&quot;token operator&quot;&gt;+&lt;/span&gt; b
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;multiply&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;a&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; b &lt;span class=&quot;token builtin&quot;&gt;int&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token builtin&quot;&gt;int&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-return&quot;&gt;return&lt;/span&gt; a &lt;span class=&quot;token operator&quot;&gt;*&lt;/span&gt; b
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;getOperator&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;op &lt;span class=&quot;token builtin&quot;&gt;string&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token builtin&quot;&gt;int&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token builtin&quot;&gt;int&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token builtin&quot;&gt;int&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-if&quot;&gt;if&lt;/span&gt; op &lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;+&amp;quot;&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
		&lt;span class=&quot;token keyword keyword-return&quot;&gt;return&lt;/span&gt; add
	&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt; &lt;span class=&quot;token keyword keyword-else&quot;&gt;else&lt;/span&gt; &lt;span class=&quot;token keyword keyword-if&quot;&gt;if&lt;/span&gt; op &lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;-&amp;quot;&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
		&lt;span class=&quot;token keyword keyword-return&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;a &lt;span class=&quot;token builtin&quot;&gt;int&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; b &lt;span class=&quot;token builtin&quot;&gt;int&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token builtin&quot;&gt;int&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
			&lt;span class=&quot;token keyword keyword-return&quot;&gt;return&lt;/span&gt; a &lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt; b
		&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
	&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt; &lt;span class=&quot;token keyword keyword-else&quot;&gt;else&lt;/span&gt; &lt;span class=&quot;token keyword keyword-if&quot;&gt;if&lt;/span&gt; op &lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;*&amp;quot;&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
		&lt;span class=&quot;token keyword keyword-return&quot;&gt;return&lt;/span&gt; multiply
	&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-return&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;token boolean&quot;&gt;nil&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;p&gt;getOperator &amp;#xD568;&amp;#xC218;&amp;#xC640; &amp;#xAC19;&amp;#xC774; &amp;#xD568;&amp;#xC218;&amp;#xB97C; &amp;#xB9AC;&amp;#xD134;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xC774;&amp;#xBBF8; &amp;#xC120;&amp;#xC5B8;&amp;#xB41C; &amp;#xD568;&amp;#xC218;&amp;#xBA85;&amp;#xC744; &amp;#xB9AC;&amp;#xD134;&amp;#xD560;&amp;#xC218;&amp;#xB3C4; &amp;#xC788;&amp;#xACE0;,&lt;br&gt;
&lt;code&gt;else if op == &amp;quot;-&amp;quot;&lt;/code&gt; &amp;#xC5D0;&amp;#xC11C; &amp;#xC815;&amp;#xC758;&amp;#xD588;&amp;#xB358; &amp;#xAC83; &amp;#xCC98;&amp;#xB7FC;, &amp;#xC775;&amp;#xBA85;&amp;#xD568;&amp;#xC218; &amp;#xD615;&amp;#xD0DC;&amp;#xB97C; &amp;#xB9AC;&amp;#xD134;&amp;#xD560; &amp;#xC218;&amp;#xB3C4; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;Go&amp;#xC5D0;&amp;#xC11C;&amp;#xB294; &amp;#xC775;&amp;#xBA85;&amp;#xD568;&amp;#xC218;&amp;#xB97C; &lt;strong&gt;&amp;#xD568;&amp;#xC218; &amp;#xB9AC;&amp;#xD130;&amp;#xB7F4;&lt;/strong&gt; &amp;#xC774;&amp;#xB77C;&amp;#xACE0; &amp;#xBD80;&amp;#xB985;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;#xD568;&amp;#xC218;&amp;#xBA85;&amp;#xC744; &amp;#xC801;&amp;#xC9C0; &amp;#xC54A;&amp;#xACE0; &amp;#xD568;&amp;#xC218;&amp;#xD0C0;&amp;#xC785; &amp;#xBCC0;&amp;#xC218;&amp;#xAC12;&amp;#xC5D0; &amp;#xB300;&amp;#xC785;&amp;#xB418;&amp;#xB294; &amp;#xD568;&amp;#xC218;&amp;#xAC12;&amp;#xC744; &amp;#xD568;&amp;#xC218;&amp;#xB9AC;&amp;#xD130;&amp;#xB7F4;&amp;#xC774;&amp;#xB77C;&amp;#xACE0; &amp;#xBD80;&amp;#xB985;&amp;#xB2C8;&amp;#xB2E4;. Java&amp;#xC5D0;&amp;#xC11C;&amp;#xB294; &amp;#xB78C;&amp;#xB2E4;&amp;#xB77C;&amp;#xACE0; &amp;#xBD80;&amp;#xB985;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;br&gt;
&lt;h3 class=&quot;mume-header&quot; id=&quot;31-%EB%B3%84%EC%B9%AD%EC%9D%84-%EC%9D%B4%EC%9A%A9%ED%95%98%EC%97%AC-%EA%B0%80%EB%8F%85%EC%84%B1-%EB%86%92%EC%9D%B4%EA%B8%B0&quot;&gt;3.1. &amp;#xBCC4;&amp;#xCE6D;&amp;#xC744; &amp;#xC774;&amp;#xC6A9;&amp;#xD558;&amp;#xC5EC; &amp;#xAC00;&amp;#xB3C5;&amp;#xC131; &amp;#xB192;&amp;#xC774;&amp;#xAE30;&lt;/h3&gt;

&lt;p&gt;&amp;#xD568;&amp;#xC218;&amp;#xB97C; &amp;#xB9AC;&amp;#xD134;&amp;#xD0C0;&amp;#xC785;&amp;#xC73C;&amp;#xB85C; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD558;&amp;#xB294; &amp;#xAC83;&amp;#xC740; &amp;#xAC00;&amp;#xB3C5;&amp;#xC131;&amp;#xC774; &amp;#xB5A8;&amp;#xC5B4;&amp;#xC9C0;&amp;#xAE30; &amp;#xB54C;&amp;#xBB38;&amp;#xC5D0;, &amp;#xC544;&amp;#xB798;&amp;#xC640; &amp;#xAC19;&amp;#xC774; &amp;#xBCC4;&amp;#xCE6D;&amp;#xC744; &amp;#xC815;&amp;#xC758;&amp;#xD558;&amp;#xC5EC; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD560; &amp;#xC218;&amp;#xB3C4; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword keyword-type&quot;&gt;type&lt;/span&gt; opFunc &lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token builtin&quot;&gt;int&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token builtin&quot;&gt;int&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token builtin&quot;&gt;int&lt;/span&gt;

&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;getOperator&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;op &lt;span class=&quot;token builtin&quot;&gt;string&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; opFunc &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-if&quot;&gt;if&lt;/span&gt; op &lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;+&amp;quot;&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
		&lt;span class=&quot;token keyword keyword-return&quot;&gt;return&lt;/span&gt; add
	&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt; &lt;span class=&quot;token keyword keyword-else&quot;&gt;else&lt;/span&gt; &lt;span class=&quot;token keyword keyword-if&quot;&gt;if&lt;/span&gt; op &lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;-&amp;quot;&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
		&lt;span class=&quot;token keyword keyword-return&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;a &lt;span class=&quot;token builtin&quot;&gt;int&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; b &lt;span class=&quot;token builtin&quot;&gt;int&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token builtin&quot;&gt;int&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
			&lt;span class=&quot;token keyword keyword-return&quot;&gt;return&lt;/span&gt; a &lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt; b
		&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
	&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt; &lt;span class=&quot;token keyword keyword-else&quot;&gt;else&lt;/span&gt; &lt;span class=&quot;token keyword keyword-if&quot;&gt;if&lt;/span&gt; op &lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;*&amp;quot;&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
		&lt;span class=&quot;token keyword keyword-return&quot;&gt;return&lt;/span&gt; multiply
	&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-return&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;token boolean&quot;&gt;nil&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;hr&gt;
&lt;h2 class=&quot;mume-header&quot; id=&quot;4-%ED%95%A8%EC%88%98-%EB%A6%AC%ED%84%B0%EB%9F%B4&quot;&gt;4. &amp;#xD568;&amp;#xC218; &amp;#xB9AC;&amp;#xD130;&amp;#xB7F4;&lt;/h2&gt;

&lt;p&gt;&amp;#xC678;&amp;#xBD80;&amp;#xC5D0; &amp;#xC815;&amp;#xC758;&amp;#xB41C; &amp;#xC678;&amp;#xBD80;&amp;#xBCC0;&amp;#xC218;&amp;#xB97C; &amp;#xD568;&amp;#xC218; &amp;#xB9AC;&amp;#xD130;&amp;#xB7F4; &amp;#xB0B4;&amp;#xC5D0;&amp;#xC11C;&amp;#xB3C4; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;main&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	num &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;
	f &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; &lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;a &lt;span class=&quot;token builtin&quot;&gt;int&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
		num &lt;span class=&quot;token operator&quot;&gt;*=&lt;/span&gt; a
	&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
	num &lt;span class=&quot;token operator&quot;&gt;+=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;100&lt;/span&gt;
	&lt;span class=&quot;token function&quot;&gt;f&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;num&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;p&gt;&amp;#xD568;&amp;#xC218;&amp;#xB9AC;&amp;#xD130;&amp;#xB7F4;&amp;#xC744; &amp;#xC120;&amp;#xC5B8;&amp;#xD560; &amp;#xB54C;&amp;#xAC00; &amp;#xC544;&amp;#xB2CC;, &amp;#xADF8; &amp;#xD568;&amp;#xC218;&amp;#xB9AC;&amp;#xD130;&amp;#xB7F4;&amp;#xC744; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD560; &amp;#xB54C;, &amp;#xD568;&amp;#xC218; &amp;#xB0B4;&amp;#xBD80;&amp;#xAC00; &amp;#xC2E4;&amp;#xD589;&amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xB530;&amp;#xB77C;&amp;#xC11C;, &amp;#xC704;&amp;#xC758; &amp;#xCF54;&amp;#xB4DC;&amp;#xC758; &amp;#xC2E4;&amp;#xD589;&amp;#xACB0;&amp;#xACFC;&amp;#xB294; 202&amp;#xAC00;&amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;. (1 -&amp;gt; 101 -&amp;gt; 202)&lt;br&gt;
&lt;br&gt;&lt;/p&gt;
&lt;h3 class=&quot;mume-header&quot; id=&quot;41-%EC%BA%A1%EC%B2%98&quot;&gt;4.1. &amp;#xCEA1;&amp;#xCC98;&lt;/h3&gt;

&lt;p&gt;&amp;#xC678;&amp;#xBD80;&amp;#xBCC0;&amp;#xC218;&amp;#xB97C; &amp;#xD568;&amp;#xC218; &amp;#xB9AC;&amp;#xD130;&amp;#xB7F4; &amp;#xB0B4;&amp;#xC5D0;&amp;#xC11C; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD560; &amp;#xB54C;, &amp;#xC8FC;&amp;#xC758;&amp;#xD574;&amp;#xC57C;&amp;#xD560; &amp;#xC810;&amp;#xC774; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xD568;&amp;#xC218;&amp;#xB9AC;&amp;#xD130;&amp;#xB7F4;&amp;#xC740; &amp;#xD638;&amp;#xCD9C;&amp;#xB418;&amp;#xB294; &amp;#xC2DC;&amp;#xC810;&amp;#xC5D0; &amp;#xC2E4;&amp;#xD589;&amp;#xB41C;&amp;#xB2E4;&amp;#xB294; &amp;#xC810;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;[]func()&lt;/code&gt; &amp;#xB97C; &amp;#xC774;&amp;#xC6A9;&amp;#xD558;&amp;#xC5EC; &amp;#xB9CC;&amp;#xC57D;, 0, 1, 2&amp;#xB97C; &amp;#xCD9C;&amp;#xB825;&amp;#xD558;&amp;#xACE0;&amp;#xC790; &amp;#xD560;&amp;#xB54C; &amp;#xC544;&amp;#xB798;&amp;#xC640; &amp;#xAC19;&amp;#xC740; &amp;#xBC29;&amp;#xC2DD;&amp;#xC73C;&amp;#xB85C; &amp;#xD568;&amp;#xC218;&amp;#xB97C; &amp;#xC815;&amp;#xC758;&amp;#xD558;&amp;#xBA74; &amp;#xC608;&amp;#xC0C1;&amp;#xACFC; &amp;#xB2EC;&amp;#xB9AC; 3, 3, 3&amp;#xC774; &amp;#xCD9C;&amp;#xB825;&amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;CaptureLoop&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	f &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;make&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;3&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;ValueLoop&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-for&quot;&gt;for&lt;/span&gt; i &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; i &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;3&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; i&lt;span class=&quot;token operator&quot;&gt;++&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
		f&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;i&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
			fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;i&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
		&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
	&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-for&quot;&gt;for&lt;/span&gt; i &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; i &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;len&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;f&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; i&lt;span class=&quot;token operator&quot;&gt;++&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
		f&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;i&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;p&gt;&amp;#xD568;&amp;#xC218; &amp;#xB9AC;&amp;#xD130;&amp;#xB7F4; &amp;#xB0B4;&amp;#xC5D0;&amp;#xC11C; &amp;#xC678;&amp;#xBD80;&amp;#xBCC0;&amp;#xC218;&amp;#xB294; &amp;#xAC12;&amp;#xC744; &amp;#xBCF5;&amp;#xC0AC;&amp;#xD558;&amp;#xB294; &amp;#xAC83;&amp;#xC774; &amp;#xC544;&amp;#xB2C8;&amp;#xB77C;, &lt;strong&gt;&amp;#xBCC0;&amp;#xC218;&amp;#xAC12;&amp;#xC758; &amp;#xCC38;&amp;#xC870;(&amp;#xC8FC;&amp;#xC18C;&amp;#xAC12;)&lt;/strong&gt; &amp;#xB97C; &amp;#xC774;&amp;#xC6A9;&amp;#xD558;&amp;#xC5EC; &amp;#xCEA1;&amp;#xCCD0;&amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xADF8;&amp;#xB7F0;&amp;#xB370; &amp;#xD568;&amp;#xC218; &amp;#xB9AC;&amp;#xD130;&amp;#xB7F4; &amp;#xB0B4;&amp;#xC758; &amp;#xD568;&amp;#xC218;&amp;#xB294; &amp;#xD638;&amp;#xCD9C;&amp;#xC2DC;&amp;#xC810;&amp;#xC5D0; &amp;#xC2E4;&amp;#xD589;&amp;#xB418;&amp;#xAE30; &amp;#xB54C;&amp;#xBB38;&amp;#xC5D0;, &amp;#xBCC0;&amp;#xC218;&amp;#xAC12;&amp;#xC740; for&amp;#xB8E8;&amp;#xD504;&amp;#xB97C; &amp;#xBAA8;&amp;#xB450; &amp;#xB9C8;&amp;#xCE5C; &amp;#xD6C4;, 3&amp;#xC774;&amp;#xB41C; &amp;#xC2DC;&amp;#xC810;&amp;#xC758; &amp;#xCC38;&amp;#xC870;&amp;#xAC12;&amp;#xC744; &amp;#xC77D;&amp;#xC5B4;&amp;#xB4E4;&amp;#xC774;&amp;#xAE30; &amp;#xB54C;&amp;#xBB38;&amp;#xC5D0; &amp;#xBAA8;&amp;#xB450; 3&amp;#xC73C;&amp;#xB85C; &amp;#xCD9C;&amp;#xB825;&amp;#xB418;&amp;#xB294; &amp;#xAC83;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xC6B0;&amp;#xB9AC;&amp;#xAC00; &amp;#xC6D0;&amp;#xB798; &amp;#xC758;&amp;#xB3C4;&amp;#xD588;&amp;#xC5C8;&amp;#xB358; &amp;#xAC83; &amp;#xCC98;&amp;#xB7FC; 0, 1, 2&amp;#xB97C; &amp;#xCD9C;&amp;#xB825;&amp;#xD558;&amp;#xAC8C; &amp;#xD558;&amp;#xACE0; &amp;#xC2F6;&amp;#xB2E4;&amp;#xBA74;,&lt;br&gt;
&amp;#xD568;&amp;#xC218;&amp;#xB9AC;&amp;#xD130;&amp;#xB7F4; &amp;#xB0B4;&amp;#xC5D0;&amp;#xC11C; &amp;#xC678;&amp;#xBD80; &amp;#xBCC0;&amp;#xC218; i&amp;#xB97C; &amp;#xADF8;&amp;#xB300;&amp;#xB85C; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD558;&amp;#xB294; &amp;#xAC83;&amp;#xC774; &amp;#xC544;&amp;#xB2C8;&amp;#xB77C;, &amp;#xC0C8;&amp;#xB85C;&amp;#xC6B4; &amp;#xBCC0;&amp;#xC218;&amp;#xC5D0; &amp;#xAC12;&amp;#xC744; &amp;#xBCF5;&amp;#xC0AC;&amp;#xD55C; &amp;#xD6C4;, &amp;#xADF8; &amp;#xAC12;&amp;#xC744; &amp;#xD65C;&amp;#xC6A9;&amp;#xD558;&amp;#xBA74; &amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;CaptureLoop2&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	f &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;make&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;3&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;ValueLoop&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-for&quot;&gt;for&lt;/span&gt; i &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; i &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;3&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; i&lt;span class=&quot;token operator&quot;&gt;++&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
		v &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; i
		f&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;i&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
			fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;v&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
		&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
	&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-for&quot;&gt;for&lt;/span&gt; i &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; i &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;len&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;f&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; i&lt;span class=&quot;token operator&quot;&gt;++&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
		f&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;i&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;br&gt;
&lt;h3 class=&quot;mume-header&quot; id=&quot;42-%ED%8C%8C%EC%9D%BC-%ED%95%B8%EB%93%A4%EC%9D%84-%ED%95%A8%EC%88%98-%EB%A6%AC%ED%84%B0%EB%9F%B4-%EB%82%B4%EC%97%90%EC%84%9C-%EC%82%AC%EC%9A%A9%ED%95%98%EA%B8%B0&quot;&gt;4.2. &amp;#xD30C;&amp;#xC77C; &amp;#xD578;&amp;#xB4E4;&amp;#xC744; &amp;#xD568;&amp;#xC218; &amp;#xB9AC;&amp;#xD130;&amp;#xB7F4; &amp;#xB0B4;&amp;#xC5D0;&amp;#xC11C; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD558;&amp;#xAE30;&lt;/h3&gt;

&lt;p&gt;&amp;#xD568;&amp;#xC218;&amp;#xD0C0;&amp;#xC785;&amp;#xC744; &amp;#xC778;&amp;#xC790;&amp;#xB85C; &amp;#xBC1B;&amp;#xB294; &amp;#xD568;&amp;#xC218;&amp;#xB97C; &amp;#xC774;&amp;#xC6A9;&amp;#xD558;&amp;#xACE0;&amp;#xC790; &amp;#xD560;&amp;#xB54C;, &amp;#xD568;&amp;#xC218;&amp;#xB9AC;&amp;#xD130;&amp;#xB7F4;&amp;#xC744; &amp;#xC774;&amp;#xC6A9;&amp;#xD558;&amp;#xBA74;, &amp;#xC678;&amp;#xBD80;&amp;#xBCC0;&amp;#xC218;&amp;#xAC12;&amp;#xC744; &amp;#xD568;&amp;#xC218; &amp;#xB9AC;&amp;#xD130;&amp;#xB7F4; &amp;#xB0B4;&amp;#xC5D0;&amp;#xC11C; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xB2E4;&amp;#xACE0; &amp;#xD588;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xC5EC;&amp;#xAE30;&amp;#xC5D0;&amp;#xC11C; &amp;#xB354; &amp;#xB098;&amp;#xC544;&amp;#xAC00;, &amp;#xD30C;&amp;#xC77C; &amp;#xD578;&amp;#xB4E4;&amp;#xACFC; &amp;#xAC19;&amp;#xC740; &amp;#xAC12;&amp;#xB3C4; &amp;#xD568;&amp;#xC218; &amp;#xB9AC;&amp;#xD130;&amp;#xB7F4; &amp;#xB0B4;&amp;#xC758; &amp;#xB0B4;&amp;#xBD80;&amp;#xC0C1;&amp;#xD0DC;&amp;#xB85C; &amp;#xAC00;&amp;#xC9C8; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword keyword-package&quot;&gt;package&lt;/span&gt; main

&lt;span class=&quot;token keyword keyword-import&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;
	&lt;span class=&quot;token string&quot;&gt;&amp;quot;fmt&amp;quot;&lt;/span&gt;
	&lt;span class=&quot;token string&quot;&gt;&amp;quot;os&amp;quot;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;

&lt;span class=&quot;token keyword keyword-type&quot;&gt;type&lt;/span&gt; Writer &lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token builtin&quot;&gt;string&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;

&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;writeHello&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;writer Writer&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token function&quot;&gt;writer&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;Hello&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;main&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	file&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; err &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; os&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Create&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;data.txt&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-if&quot;&gt;if&lt;/span&gt; err &lt;span class=&quot;token operator&quot;&gt;!=&lt;/span&gt; &lt;span class=&quot;token boolean&quot;&gt;nil&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
		fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;&amp;#xD30C;&amp;#xC77C; &amp;#xC0DD;&amp;#xC131; &amp;#xC2E4;&amp;#xD328;&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
		&lt;span class=&quot;token keyword keyword-return&quot;&gt;return&lt;/span&gt;
	&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-defer&quot;&gt;defer&lt;/span&gt; file&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Close&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	&lt;span class=&quot;token function&quot;&gt;writeHello&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;msg &lt;span class=&quot;token builtin&quot;&gt;string&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
		fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Fprintln&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;file&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; msg&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;p&gt;&amp;#xC774;&amp;#xB7EC;&amp;#xD55C; &amp;#xC131;&amp;#xC9C8;&amp;#xC744; &amp;#xC798; &amp;#xC774;&amp;#xC6A9;&amp;#xD558;&amp;#xBA74;, writeHello &amp;#xD568;&amp;#xC218;&amp;#xC5D0;&amp;#xC11C; &amp;#xB2E4;&amp;#xC591;&amp;#xD55C; &amp;#xB85C;&amp;#xC9C1;&amp;#xC744; &amp;#xC2E4;&amp;#xD589;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;. (&amp;#xC758;&amp;#xC874;&amp;#xC131; &amp;#xC8FC;&amp;#xC785;)&lt;/p&gt;

  &lt;/div&gt;&lt;/div&gt;</description>
      <category>Go</category>
      <category>go</category>
      <author>jiniya22</author>
      <guid isPermaLink="true">https://jini-box.tistory.com/233</guid>
      <comments>https://jini-box.tistory.com/233#entry233comment</comments>
      <pubDate>Sun, 4 Feb 2024 16:57:23 +0900</pubDate>
    </item>
    <item>
      <title>[Go] 13. 인터페이스</title>
      <link>https://jini-box.tistory.com/232</link>
      <description>&lt;div id=&quot;html-export&quot;&gt;
      &lt;div class=&quot;mume markdown-preview  &quot;&gt;
      &lt;h2 class=&quot;mume-header&quot; id=&quot;1-%EC%9D%B8%ED%84%B0%ED%8E%98%EC%9D%B4%EC%8A%A4&quot;&gt;1. &amp;#xC778;&amp;#xD130;&amp;#xD398;&amp;#xC774;&amp;#xC2A4;&lt;/h2&gt;

&lt;p&gt;&amp;#xC778;&amp;#xD130;&amp;#xD398;&amp;#xC774;&amp;#xC2A4;&amp;#xB294; &amp;#xBA54;&amp;#xC11C;&amp;#xB4DC; &amp;#xC120;&amp;#xC5B8;&amp;#xC744; &amp;#xAC00;&amp;#xC9C0;&amp;#xACE0; &amp;#xC788;&amp;#xB294; &amp;#xD0C0;&amp;#xC785;&amp;#xC73C;&amp;#xB85C;, &amp;#xC544;&amp;#xB798;&amp;#xC640; &amp;#xAC19;&amp;#xC740; &amp;#xC131;&amp;#xC9C8;&amp;#xC744; &amp;#xAC00;&amp;#xC9C0;&amp;#xACE0; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&amp;#xBA54;&amp;#xC11C;&amp;#xB4DC;&amp;#xBA85;&amp;#xC740; &amp;#xD544;&amp;#xC218; &amp;#xC694;&amp;#xC18C;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;&lt;/li&gt;
&lt;li&gt;&amp;#xB3D9;&amp;#xC77C;&amp;#xD55C; &amp;#xBA54;&amp;#xC11C;&amp;#xB4DC;&amp;#xBA85;&amp;#xC740; &amp;#xC124;&amp;#xC815;&amp;#xD560; &amp;#xC218; &amp;#xC5C6;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;. (overloading x)&lt;/li&gt;
&lt;li&gt;&amp;#xBA54;&amp;#xC11C;&amp;#xB4DC; &amp;#xC120;&amp;#xC5B8;&amp;#xB9CC; &amp;#xB4E4;&amp;#xC5B4;&amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;. (&amp;#xBA54;&amp;#xC11C;&amp;#xB4DC; &amp;#xAD6C;&amp;#xD604;&amp;#xC740; &amp;#xD3EC;&amp;#xD568;x)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;type&lt;/strong&gt; &amp;#xD0A4;&amp;#xC6CC;&amp;#xB4DC; &amp;#xB4A4;&amp;#xC5D0; &amp;#xC778;&amp;#xD130;&amp;#xD398;&amp;#xC774;&amp;#xC2A4;&amp;#xBA85;&amp;#xC744; &amp;#xC4F0;&amp;#xACE0;, &lt;strong&gt;interface&lt;/strong&gt; &amp;#xD0A4;&amp;#xC6CC;&amp;#xB4DC;&amp;#xB97C; &amp;#xC4F4; &amp;#xD6C4; &amp;#xC911;&amp;#xAD04;&amp;#xD638;&amp;#xB97C; &amp;#xC4F0;&amp;#xBA70;&lt;br&gt;
&amp;#xC911;&amp;#xAD04;&amp;#xD638; &amp;#xC548;&amp;#xC5D0; &amp;#xC778;&amp;#xD130;&amp;#xD398;&amp;#xC774;&amp;#xC2A4;&amp;#xC5D0; &amp;#xD3EC;&amp;#xD568;&amp;#xB41C; &amp;#xBA54;&amp;#xC11C;&amp;#xB4DC;&amp;#xB4E4;&amp;#xC744; &amp;#xC501;&amp;#xB2C8;&amp;#xB2E4;&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword keyword-type&quot;&gt;type&lt;/span&gt; InterfaceName &lt;span class=&quot;token keyword keyword-interface&quot;&gt;interface&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;token function&quot;&gt;Introduce&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
  &lt;span class=&quot;token function&quot;&gt;calculate&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;a&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; b &lt;span class=&quot;token builtin&quot;&gt;int&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token builtin&quot;&gt;int&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;br&gt;
&lt;p&gt;&amp;#xC544;&amp;#xB798;&amp;#xB294; &amp;#xC778;&amp;#xD130;&amp;#xD398;&amp;#xC774;&amp;#xC2A4;&amp;#xB97C; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD55C; &amp;#xC608;&amp;#xC81C;&amp;#xCF54;&amp;#xB4DC;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword keyword-package&quot;&gt;package&lt;/span&gt; main  

&lt;span class=&quot;token keyword keyword-import&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;fmt&amp;quot;&lt;/span&gt;  

&lt;span class=&quot;token keyword keyword-type&quot;&gt;type&lt;/span&gt; Member &lt;span class=&quot;token keyword keyword-interface&quot;&gt;interface&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;  
  &lt;span class=&quot;token function&quot;&gt;Introduce&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token builtin&quot;&gt;string&lt;/span&gt;  
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;  

&lt;span class=&quot;token keyword keyword-type&quot;&gt;type&lt;/span&gt; VipMember &lt;span class=&quot;token keyword keyword-struct&quot;&gt;struct&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;  
  Name &lt;span class=&quot;token builtin&quot;&gt;string&lt;/span&gt;  
  Age  &lt;span class=&quot;token builtin&quot;&gt;int&lt;/span&gt;  
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;  

&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;u VipMember&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;Introduce&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token builtin&quot;&gt;string&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;  
  &lt;span class=&quot;token keyword keyword-return&quot;&gt;return&lt;/span&gt; fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Sprintf&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;&amp;#xC774;&amp;#xB984;: %s, &amp;#xB098;&amp;#xC774;: %d&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; u&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;Name&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; u&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;Age&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;  
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;  

&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;main&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;  
  &lt;span class=&quot;token keyword keyword-var&quot;&gt;var&lt;/span&gt; member Member &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; VipMember&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;coco&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;25&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;  
  fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;member&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Introduce&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;  
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;&amp;#xC774;&amp;#xB984;: coco, &amp;#xB098;&amp;#xC774;: &lt;span class=&quot;token number&quot;&gt;25&lt;/span&gt;
&lt;/pre&gt;&lt;p&gt;&amp;#xC778;&amp;#xD130;&amp;#xD398;&amp;#xC774;&amp;#xC2A4;&amp;#xC5D0; &amp;#xC815;&amp;#xC758;&amp;#xD55C; &amp;#xBA54;&amp;#xC11C;&amp;#xB4DC;&amp;#xB97C; &amp;#xB85C;&amp;#xCEEC;&amp;#xD0C0;&amp;#xC785;&amp;#xC758; &amp;#xBA54;&amp;#xC11C;&amp;#xB4DC;&amp;#xB85C; &amp;#xC120;&amp;#xC5B8;&amp;#xD574;&amp;#xB450;&amp;#xBA74;&lt;br&gt;
&amp;#xC778;&amp;#xD130;&amp;#xD398;&amp;#xC774;&amp;#xC2A4; &amp;#xD0C0;&amp;#xC785;&amp;#xC778; member&amp;#xC5D0; VipMember&amp;#xB97C; &amp;#xB2F4;&amp;#xC744; &amp;#xC218; &amp;#xC788;&amp;#xACE0;,&lt;/p&gt;
&lt;p&gt;Member&amp;#xC778;&amp;#xD130;&amp;#xD398;&amp;#xC774;&amp;#xC2A4;&amp;#xC5D0;&amp;#xB294; Introduce &amp;#xBA54;&amp;#xC11C;&amp;#xB4DC;&amp;#xC5D0; &amp;#xB300;&amp;#xD55C; &amp;#xAD6C;&amp;#xD604;&amp;#xC774; &amp;#xC791;&amp;#xC131;&amp;#xB418;&amp;#xC5B4;&amp;#xC788;&amp;#xC9C0; &amp;#xC54A;&amp;#xC9C0;&amp;#xB9CC;, &amp;#xB2F4;&amp;#xACA8;&amp;#xC838;&amp;#xC788;&amp;#xB294; &amp;#xD0C0;&amp;#xC785;&amp;#xC774; VipMember&amp;#xC774;&amp;#xAE30; &amp;#xB54C;&amp;#xBB38;&amp;#xC5D0;&lt;br&gt;
Introduce() &amp;#xBA54;&amp;#xC11C;&amp;#xB4DC;&amp;#xB97C; &amp;#xD638;&amp;#xCD9C;&amp;#xD560; &amp;#xACBD;&amp;#xC6B0;, VipMember&amp;#xC5D0; &amp;#xC815;&amp;#xC758;&amp;#xD55C; Introduce &amp;#xBA54;&amp;#xC11C;&amp;#xB4DC;&amp;#xAC00; &amp;#xD638;&amp;#xCD9C;&amp;#xB418;&amp;#xB294; &amp;#xAC83;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xC774;&amp;#xB7EC;&amp;#xD55C; &amp;#xC131;&amp;#xC9C8;&amp;#xC744; &amp;#xC798; &amp;#xD65C;&amp;#xC6A9;&amp;#xD558;&amp;#xBA74;, &amp;#xAD6C;&amp;#xD604; &amp;#xAC1D;&amp;#xCCB4;&amp;#xC758; &amp;#xAD50;&amp;#xCCB4;&amp;#xB9CC;&amp;#xC73C;&amp;#xB85C; &amp;#xCF54;&amp;#xB4DC;&amp;#xB97C; &amp;#xC218;&amp;#xC815;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xAC8C; &amp;#xB418;&amp;#xAE30; &amp;#xB54C;&amp;#xBB38;&amp;#xC5D0; &amp;#xCF54;&amp;#xB4DC;&amp;#xC218;&amp;#xC815;&amp;#xC774; &amp;#xD3B8;&amp;#xB9AC;&amp;#xD574;&amp;#xC9D1;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 class=&quot;mume-header&quot; id=&quot;2-%EC%9D%B8%ED%84%B0%ED%8E%98%EC%9D%B4%EC%8A%A4-%EC%82%AC%EC%9A%A9-%EC%98%88%EC%A0%9C&quot;&gt;2.  &amp;#xC778;&amp;#xD130;&amp;#xD398;&amp;#xC774;&amp;#xC2A4; &amp;#xC0AC;&amp;#xC6A9; &amp;#xC608;&amp;#xC81C;&lt;/h2&gt;

&lt;h3 class=&quot;mume-header&quot; id=&quot;21-fedex-%EB%AA%A8%EB%93%88-%EC%83%9D%EC%84%B1&quot;&gt;2.1. fedex &amp;#xBAA8;&amp;#xB4C8; &amp;#xC0DD;&amp;#xC131;&lt;/h3&gt;

&lt;p&gt;&amp;#xBA3C;&amp;#xC800;, fedex &amp;#xBAA8;&amp;#xB4C8;&amp;#xC744; &amp;#xC0DD;&amp;#xC131;&amp;#xD574;&amp;#xBD05;&amp;#xC2DC;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;ch20&amp;#xB514;&amp;#xB809;&amp;#xD1A0;&amp;#xB9AC; &amp;#xD558;&amp;#xC704;&amp;#xC5D0; fedex&amp;#xB514;&amp;#xB809;&amp;#xD1A0;&amp;#xB9AC;&amp;#xB97C; &amp;#xB9CC;&amp;#xB4E0; &amp;#xD6C4;, &amp;#xADF8; &amp;#xC548;&amp;#xC5D0; fedex.go &amp;#xD30C;&amp;#xC77C;&amp;#xC744; &amp;#xC0DD;&amp;#xC131;&amp;#xD558;&amp;#xC5EC;&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;&lt;span class=&quot;token builtin class-name&quot;&gt;cd&lt;/span&gt; ch20
&lt;span class=&quot;token function&quot;&gt;mkdir&lt;/span&gt; fedex
&lt;span class=&quot;token function&quot;&gt;vim&lt;/span&gt; fedex.go
&lt;/pre&gt;&lt;p&gt;&amp;#xC544;&amp;#xB798;&amp;#xC640; &amp;#xAC19;&amp;#xC774; Send&amp;#xBA54;&amp;#xC11C;&amp;#xB4DC;&amp;#xB97C; &amp;#xC815;&amp;#xC758;&amp;#xD574;&amp;#xBD05;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword keyword-package&quot;&gt;package&lt;/span&gt; fedex

&lt;span class=&quot;token keyword keyword-import&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;fmt&amp;quot;&lt;/span&gt;

&lt;span class=&quot;token keyword keyword-type&quot;&gt;type&lt;/span&gt; FedexSender &lt;span class=&quot;token keyword keyword-struct&quot;&gt;struct&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;f &lt;span class=&quot;token operator&quot;&gt;*&lt;/span&gt;FedexSender&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;Send&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;parcel &lt;span class=&quot;token builtin&quot;&gt;string&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Printf&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;Fedex sends %s parcel\n&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; parcel&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;p&gt;&amp;#xADF8; &amp;#xD6C4;, &amp;#xBAA8;&amp;#xB4C8;&amp;#xC744; github &amp;#xC678;&amp;#xBD80; &amp;#xB808;&amp;#xD30C;&amp;#xC9C0;&amp;#xD1A0;&amp;#xB9AC;&amp;#xB85C; &amp;#xC124;&amp;#xC815;&amp;#xD558;&amp;#xC5EC; &amp;#xBAA8;&amp;#xB4C8;&amp;#xC744; &amp;#xC0DD;&amp;#xC131;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;go mod init github.com/jiniya22/goplayground/ch20/fedex
&lt;/pre&gt;&lt;p&gt;&amp;#xADF8;&amp;#xB7EC;&amp;#xBA74; &amp;#xC544;&amp;#xB798;&amp;#xC640; &amp;#xAC19;&amp;#xC774; &lt;em&gt;go.mod&lt;/em&gt; &amp;#xD30C;&amp;#xC77C;&amp;#xC774; &amp;#xC0DD;&amp;#xC131;&amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;txt&quot; class=&quot;language-txt&quot;&gt;module github.com/jiniya22/goplayground/ch20/fedex

go 1.21.5
&lt;/pre&gt;&lt;br&gt;
&lt;h3 class=&quot;mume-header&quot; id=&quot;22-%EB%A9%94%EC%9D%B8%EB%AA%A8%EB%93%88-%EC%83%9D%EC%84%B1&quot;&gt;2.2. &amp;#xBA54;&amp;#xC778;&amp;#xBAA8;&amp;#xB4C8; &amp;#xC0DD;&amp;#xC131;&lt;/h3&gt;

&lt;p&gt;ch20 &amp;#xB514;&amp;#xB809;&amp;#xD1A0;&amp;#xB9AC;&amp;#xB85C; &amp;#xC774;&amp;#xB3D9;&amp;#xD55C; &amp;#xD6C4;, fedex&amp;#xBAA8;&amp;#xB4C8;&amp;#xC744; &amp;#xD65C;&amp;#xC6A9;&amp;#xD560; ex20.2 &amp;#xBAA8;&amp;#xB4C8;&amp;#xC744; &amp;#xC0DD;&amp;#xC131;&amp;#xD574;&amp;#xBD05;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;&lt;span class=&quot;token function&quot;&gt;mkdir&lt;/span&gt; ex20.2
&lt;span class=&quot;token function&quot;&gt;vim&lt;/span&gt; ex20.2.go
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword keyword-package&quot;&gt;package&lt;/span&gt; main

&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;main&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;p&gt;ex.20.2.go &amp;#xD30C;&amp;#xC77C;&amp;#xC758; &amp;#xAECD;&amp;#xB370;&amp;#xAE30;&amp;#xB97C; &amp;#xB9CC;&amp;#xB4E0; &amp;#xD6C4;, ex20.2 &amp;#xB97C; &amp;#xBAA8;&amp;#xB4C8;&amp;#xB85C; &amp;#xB9CC;&amp;#xB4ED;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;go mod init goplayground/ex20.2
&lt;/pre&gt;&lt;p&gt;&amp;#xADF8;&amp;#xD6C4;, &amp;#xC704;&amp;#xC5D0;&amp;#xC11C; &amp;#xC0DD;&amp;#xC131;&amp;#xD588;&amp;#xC5C8;&amp;#xB358; fedex &amp;#xBAA8;&amp;#xB4C8;&amp;#xC744; &amp;#xD65C;&amp;#xC6A9;&amp;#xD558;&amp;#xC5EC; FedexSender&amp;#xB97C; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD558;&amp;#xB294; &amp;#xD568;&amp;#xC218;&amp;#xB97C; &amp;#xC0DD;&amp;#xC131;&amp;#xD558;&amp;#xACE0; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD574;&amp;#xBD05;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword keyword-package&quot;&gt;package&lt;/span&gt; main

&lt;span class=&quot;token keyword keyword-import&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;
	&lt;span class=&quot;token string&quot;&gt;&amp;quot;github.com/jiniya22/goplayground/ch20/fedex&amp;quot;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;

&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;SendBook&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;name &lt;span class=&quot;token builtin&quot;&gt;string&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; sender &lt;span class=&quot;token operator&quot;&gt;*&lt;/span&gt;fedex&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;FedexSender&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	sender&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Send&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;name&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;main&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	sender &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt;fedex&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;FedexSender&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
	&lt;span class=&quot;token function&quot;&gt;SendBook&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;ABC &amp;#xC2E0;&amp;#xB098;&amp;#xB294; &amp;#xC601;&amp;#xC5B4;&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; sender&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	&lt;span class=&quot;token function&quot;&gt;SendBook&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;&amp;#xB108;&amp;#xC5D0;&amp;#xAC8C; &amp;#xBCF4;&amp;#xB0B4;&amp;#xB294; &amp;#xD3B8;&amp;#xC9C0;&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; sender&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;p&gt;&amp;#xC678;&amp;#xBD80; &amp;#xC800;&amp;#xC7A5;&amp;#xC18C;&amp;#xC5D0; &amp;#xB4E4;&amp;#xC5B4;&amp;#xC788;&amp;#xB294; &amp;#xBAA8;&amp;#xB4C8;&amp;#xC744; &amp;#xB2E4;&amp;#xC6B4;&amp;#xB85C;&amp;#xB4DC;&amp;#xBC1B;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;go mod tidy
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;go: finding module &lt;span class=&quot;token keyword keyword-for&quot;&gt;for&lt;/span&gt; package github.com/jiniya22/goplayground/ch20/fedex
go: downloading github.com/jiniya22/goplayground v0.0.0-20240114082621-0a685760f1d2
go: downloading github.com/jiniya22/goplayground/ch20/fedex v0.0.0-20240114082621-0a685760f1d2
go: found github.com/jiniya22/goplayground/ch20/fedex &lt;span class=&quot;token keyword keyword-in&quot;&gt;in&lt;/span&gt; github.com/jiniya22/goplayground/ch20/fedex v0.0.0-20240114082621-0a685760f1d2
&lt;/pre&gt;&lt;blockquote&gt;
&lt;p&gt;&amp;#xBAA8;&amp;#xB4C8;&amp;#xC744; &amp;#xB2E4;&amp;#xC6B4;&amp;#xBC1B;&amp;#xC740; &amp;#xD6C4;,  &lt;em&gt;go.sum&lt;/em&gt; &amp;#xD30C;&amp;#xC77C;&amp;#xC774; &amp;#xC0DD;&amp;#xC131;&amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&amp;#xC704;&amp;#xC758; &amp;#xBAA8;&amp;#xB4C8;&amp;#xC744; &amp;#xBE4C;&amp;#xB4DC;&amp;#xD55C; &amp;#xD6C4; &amp;#xC2E4;&amp;#xD589;&amp;#xC2DC;&amp;#xCF1C;&amp;#xBCF4;&amp;#xBA74; &amp;#xC544;&amp;#xB798;&amp;#xC640; &amp;#xAC19;&amp;#xC774; &amp;#xCD9C;&amp;#xB825;&amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;Fedex sends ABC &amp;#xC2E0;&amp;#xB098;&amp;#xB294; &amp;#xC601;&amp;#xC5B4; parcel
Fedex sends &amp;#xB108;&amp;#xC5D0;&amp;#xAC8C; &amp;#xBCF4;&amp;#xB0B4;&amp;#xB294; &amp;#xD3B8;&amp;#xC9C0; parcel
&lt;/pre&gt;&lt;br&gt;
&lt;h3 class=&quot;mume-header&quot; id=&quot;23-koreapost-%EB%AA%A8%EB%93%88-%EC%B6%94%EA%B0%80&quot;&gt;2.3. koreapost &amp;#xBAA8;&amp;#xB4C8; &amp;#xCD94;&amp;#xAC00;&lt;/h3&gt;

&lt;p&gt;fedex &amp;#xBAA8;&amp;#xB4C8;&amp;#xACFC; &amp;#xB3D9;&amp;#xC77C;&amp;#xD55C; &amp;#xBC29;&amp;#xC2DD;&amp;#xC73C;&amp;#xB85C; koreapost(&amp;#xC6B0;&amp;#xCCB4;&amp;#xAD6D;) &amp;#xBAA8;&amp;#xB4C8;&amp;#xC744; &amp;#xC0DD;&amp;#xC131;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword keyword-package&quot;&gt;package&lt;/span&gt; koreapost

&lt;span class=&quot;token keyword keyword-import&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;fmt&amp;quot;&lt;/span&gt;

&lt;span class=&quot;token keyword keyword-type&quot;&gt;type&lt;/span&gt; PostSender &lt;span class=&quot;token keyword keyword-struct&quot;&gt;struct&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;f &lt;span class=&quot;token operator&quot;&gt;*&lt;/span&gt;PostSender&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;Send&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;parcel &lt;span class=&quot;token builtin&quot;&gt;string&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Printf&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;&amp;#xC6B0;&amp;#xCCB4;&amp;#xAD6D;&amp;#xC5D0;&amp;#xC11C; &amp;#xD0DD;&amp;#xBC30; %s &amp;#xB97C; &amp;#xBCF4;&amp;#xB0C5;&amp;#xB2C8;&amp;#xB2E4;\n&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; parcel&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;blockquote&gt;
&lt;p&gt;&lt;code&gt;go mod init github.com/jiniya22/goplayground/ch20/koreapost&lt;/code&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;br&gt;
&lt;h3 class=&quot;mume-header&quot; id=&quot;24-%EC%9D%B8%ED%84%B0%ED%8E%98%EC%9D%B4%EC%8A%A4-%ED%99%9C%EC%9A%A9&quot;&gt;2.4. &amp;#xC778;&amp;#xD130;&amp;#xD398;&amp;#xC774;&amp;#xC2A4; &amp;#xD65C;&amp;#xC6A9;&lt;/h3&gt;

&lt;p&gt;&amp;#xC544;&amp;#xB798;&amp;#xC758; &amp;#xD568;&amp;#xC218;&amp;#xB97C;, &amp;#xC778;&amp;#xD130;&amp;#xD398;&amp;#xC774;&amp;#xC2A4;&amp;#xB97C; &amp;#xD65C;&amp;#xC6A9;&amp;#xD558;&amp;#xC5EC; FedexSender, PostSender&amp;#xAC00; &amp;#xBAA8;&amp;#xB450; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xB294; &amp;#xD568;&amp;#xC218;&amp;#xB85C; &amp;#xBCC0;&amp;#xACBD;&amp;#xD574;&amp;#xBCF4;&amp;#xC790;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;SendBook&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;name &lt;span class=&quot;token builtin&quot;&gt;string&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; sender &lt;span class=&quot;token operator&quot;&gt;*&lt;/span&gt;fedex&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;FedexSender&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	sender&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Send&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;name&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword keyword-package&quot;&gt;package&lt;/span&gt; main

&lt;span class=&quot;token keyword keyword-import&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;
	&lt;span class=&quot;token string&quot;&gt;&amp;quot;github.com/jiniya22/goplayground/ch20/fedex&amp;quot;&lt;/span&gt;
	&lt;span class=&quot;token string&quot;&gt;&amp;quot;github.com/jiniya22/goplayground/ch20/koreapost&amp;quot;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;

&lt;span class=&quot;token keyword keyword-type&quot;&gt;type&lt;/span&gt; Sender &lt;span class=&quot;token keyword keyword-interface&quot;&gt;interface&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token function&quot;&gt;Send&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;parcel &lt;span class=&quot;token builtin&quot;&gt;string&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;SendBook&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;name &lt;span class=&quot;token builtin&quot;&gt;string&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; sender Sender&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	sender&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Send&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;name&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;main&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	fedexSender &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt;fedex&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;FedexSender&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
	postSender &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt;koreapost&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;PostSender&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
	&lt;span class=&quot;token function&quot;&gt;SendBook&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;ABC &amp;#xC2E0;&amp;#xB098;&amp;#xB294; &amp;#xC601;&amp;#xC5B4;&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; fedexSender&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	&lt;span class=&quot;token function&quot;&gt;SendBook&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;&amp;#xB108;&amp;#xC5D0;&amp;#xAC8C; &amp;#xBCF4;&amp;#xB0B4;&amp;#xB294; &amp;#xD3B8;&amp;#xC9C0;&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; postSender&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;Fedex sends ABC &amp;#xC2E0;&amp;#xB098;&amp;#xB294; &amp;#xC601;&amp;#xC5B4; parcel
&amp;#xC6B0;&amp;#xCCB4;&amp;#xAD6D;&amp;#xC5D0;&amp;#xC11C; &amp;#xD0DD;&amp;#xBC30; &amp;#xB108;&amp;#xC5D0;&amp;#xAC8C; &amp;#xBCF4;&amp;#xB0B4;&amp;#xB294; &amp;#xD3B8;&amp;#xC9C0; &amp;#xB97C; &amp;#xBCF4;&amp;#xB0C5;&amp;#xB2C8;&amp;#xB2E4;
&lt;/pre&gt;&lt;hr&gt;
&lt;h2 class=&quot;mume-header&quot; id=&quot;3-%EB%8D%95%ED%83%80%EC%9D%B4%ED%95%91&quot;&gt;3. &amp;#xB355;&amp;#xD0C0;&amp;#xC774;&amp;#xD551;&lt;/h2&gt;

&lt;p&gt;Go&amp;#xC758; &amp;#xC778;&amp;#xD130;&amp;#xD398;&amp;#xC774;&amp;#xC2A4;&amp;#xB294; &amp;#xB355;&amp;#xD0C0;&amp;#xC774;&amp;#xD551;(duck typing) &amp;#xBC29;&amp;#xC2DD;&amp;#xC744; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xB355;&amp;#xD0C0;&amp;#xC774;&amp;#xD551; &amp;#xBC29;&amp;#xC2DD;&amp;#xC774;&amp;#xB780;, &amp;#xC778;&amp;#xD130;&amp;#xD398;&amp;#xC774;&amp;#xC2A4;&amp;#xC758; &amp;#xAD6C;&amp;#xD604; &amp;#xC5EC;&amp;#xBD80;&amp;#xB97C; &amp;#xBA85;&amp;#xC2DC;&amp;#xC801;&amp;#xC73C;&amp;#xB85C; &amp;#xB098;&amp;#xD0C0;&amp;#xB0BC; &amp;#xD544;&amp;#xC694;&amp;#xC5C6;&amp;#xC774;, &amp;#xC778;&amp;#xD130;&amp;#xD398;&amp;#xC774;&amp;#xC2A4;&amp;#xC5D0; &amp;#xC120;&amp;#xC5B8;&amp;#xB41C; &amp;#xBA54;&amp;#xC11C;&amp;#xB4DC;&amp;#xB97C; &amp;#xAD6C;&amp;#xD604;&amp;#xD558;&amp;#xB294; &amp;#xAC83; &amp;#xB9CC;&amp;#xC73C;&amp;#xB85C;&amp;#xB3C4; &amp;#xADF8; &amp;#xC778;&amp;#xD130;&amp;#xD398;&amp;#xC774;&amp;#xC2A4;&amp;#xC758; &amp;#xAD6C;&amp;#xD604;&amp;#xD558;&amp;#xB294; &amp;#xD0C0;&amp;#xC785;&amp;#xC73C;&amp;#xB85C; &amp;#xAC04;&amp;#xC8FC;&amp;#xD558;&amp;#xB294; &amp;#xAC83;&amp;#xC744; &amp;#xC758;&amp;#xBBF8;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;Java&amp;#xC5D0;&amp;#xC11C;&amp;#xB294;, &amp;#xC778;&amp;#xD130;&amp;#xD398;&amp;#xC774;&amp;#xC2A4;&amp;#xC5D0; &amp;#xC120;&amp;#xC5B8;&amp;#xB418;&amp;#xC5B4;&amp;#xC788;&amp;#xB294; &amp;#xBA54;&amp;#xC11C;&amp;#xB4DC;&amp;#xB4E4;&amp;#xC744; &amp;#xAC00;&amp;#xC9C0;&amp;#xACE0; &amp;#xC788;&amp;#xB294; &amp;#xD074;&amp;#xB798;&amp;#xC2A4;&amp;#xB354;&amp;#xB77C;&amp;#xB3C4;, &lt;strong&gt;implements&lt;/strong&gt; &amp;#xD0A4;&amp;#xC6CC;&amp;#xB4DC;&amp;#xB85C; &amp;#xADF8; &amp;#xC778;&amp;#xD130;&amp;#xD398;&amp;#xC774;&amp;#xC2A4;&amp;#xB97C; &amp;#xAD6C;&amp;#xD604;&amp;#xD588;&amp;#xB2E4;&amp;#xACE0; &amp;#xBA85;&amp;#xC2DC;&amp;#xC801;&amp;#xC73C;&amp;#xB85C; &amp;#xC124;&amp;#xC815;&amp;#xD574;&amp;#xC57C;&amp;#xB9CC; &amp;#xAD6C;&amp;#xD604;&amp;#xD074;&amp;#xB798;&amp;#xC2A4;&amp;#xB85C; &amp;#xAC04;&amp;#xC8FC;&amp;#xD588;&amp;#xC9C0;&amp;#xB9CC; Go&amp;#xB294; &amp;#xC774;&amp;#xB7F0; &amp;#xBA85;&amp;#xC2DC;&amp;#xAC00; &amp;#xD544;&amp;#xC694;&amp;#xD558;&amp;#xC9C0; &amp;#xC54A;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xC778;&amp;#xD130;&amp;#xD398;&amp;#xC774;&amp;#xC2A4;&amp;#xB97C; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD558;&amp;#xB294; &amp;#xC2DC;&amp;#xC810;&amp;#xC5D0;, &amp;#xD574;&amp;#xB2F9; &amp;#xD0C0;&amp;#xC785;&amp;#xC774; &amp;#xC778;&amp;#xD130;&amp;#xD398;&amp;#xC774;&amp;#xC2A4;&amp;#xC5D0; &amp;#xC815;&amp;#xC758;&amp;#xB41C; &amp;#xBA54;&amp;#xC11C;&amp;#xB4DC;&amp;#xB97C; &amp;#xD3EC;&amp;#xD568;&amp;#xD558;&amp;#xACE0; &amp;#xC788;&amp;#xB294;&amp;#xC9C0;&amp;#xB97C; &amp;#xD310;&amp;#xB2E8;&amp;#xD558;&amp;#xBA70;, &amp;#xC774;&amp;#xB7EC;&amp;#xD55C; &amp;#xC131;&amp;#xC9C8;&amp;#xB85C; &amp;#xC778;&amp;#xD574; &amp;#xAC1C;&amp;#xBC1C;&amp;#xC5D0; &amp;#xD3B8;&amp;#xC758;&amp;#xC131;&amp;#xC774; &amp;#xB192;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 class=&quot;mume-header&quot; id=&quot;4-%EC%9D%B8%ED%84%B0%ED%8E%98%EC%9D%B4%EC%8A%A4%EB%A5%BC-%ED%8F%AC%ED%95%A8%ED%95%98%EB%8A%94-%EC%9D%B8%ED%84%B0%ED%8E%98%EC%9D%B4%EC%8A%A4&quot;&gt;4.  &amp;#xC778;&amp;#xD130;&amp;#xD398;&amp;#xC774;&amp;#xC2A4;&amp;#xB97C; &amp;#xD3EC;&amp;#xD568;&amp;#xD558;&amp;#xB294; &amp;#xC778;&amp;#xD130;&amp;#xD398;&amp;#xC774;&amp;#xC2A4;&lt;/h2&gt;

&lt;p&gt;&amp;#xC778;&amp;#xD130;&amp;#xD398;&amp;#xC774;&amp;#xC2A4;&amp;#xB294; &amp;#xC778;&amp;#xD130;&amp;#xD398;&amp;#xC774;&amp;#xC2A4;&amp;#xB97C; &amp;#xD3EC;&amp;#xD568;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;#xB610;, &amp;#xD3EC;&amp;#xD568;&amp;#xD558;&amp;#xACE0; &amp;#xC788;&amp;#xB294; &amp;#xC778;&amp;#xD130;&amp;#xD398;&amp;#xC774;&amp;#xC2A4;&amp;#xC5D0;&amp;#xC11C; &amp;#xC774;&amp;#xB984;&amp;#xC774; &amp;#xACB9;&amp;#xCE58;&amp;#xB294; &amp;#xACBD;&amp;#xC6B0;&amp;#xC5D0;&amp;#xB294; &amp;#xD558;&amp;#xB098;&amp;#xB9CC; &amp;#xD3EC;&amp;#xD568;&amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword keyword-type&quot;&gt;type&lt;/span&gt; Reader &lt;span class=&quot;token keyword keyword-interface&quot;&gt;interface&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token function&quot;&gt;Read&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;n &lt;span class=&quot;token builtin&quot;&gt;int&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; err &lt;span class=&quot;token builtin&quot;&gt;error&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	&lt;span class=&quot;token function&quot;&gt;Close&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token builtin&quot;&gt;error&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token keyword keyword-type&quot;&gt;type&lt;/span&gt; Writer &lt;span class=&quot;token keyword keyword-interface&quot;&gt;interface&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token function&quot;&gt;Write&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;n &lt;span class=&quot;token builtin&quot;&gt;int&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; err &lt;span class=&quot;token builtin&quot;&gt;error&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	&lt;span class=&quot;token function&quot;&gt;Close&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token builtin&quot;&gt;error&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token keyword keyword-type&quot;&gt;type&lt;/span&gt; ReadWriter &lt;span class=&quot;token keyword keyword-interface&quot;&gt;interface&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	Reader
	Writer
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;p&gt;ReadWriter &amp;#xC778;&amp;#xD130;&amp;#xD398;&amp;#xC774;&amp;#xC2A4;&amp;#xB294; &lt;code&gt;Read() (n int, err error), Close() error, Write() (n int, err error)&lt;/code&gt; &amp;#xB97C; &amp;#xBAA8;&amp;#xB450; &amp;#xD3EC;&amp;#xD568;&amp;#xD55C; &amp;#xD0C0;&amp;#xC785;&amp;#xC758; &amp;#xACBD;&amp;#xC6B0;&amp;#xC5D0;&amp;#xB9CC; &amp;#xC0AC;&amp;#xC6A9;&amp;#xAC00;&amp;#xB2A5;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 class=&quot;mume-header&quot; id=&quot;5-%EB%B9%88-%EC%9D%B8%ED%84%B0%ED%8E%98%EC%9D%B4%EC%8A%A4&quot;&gt;5. &amp;#xBE48; &amp;#xC778;&amp;#xD130;&amp;#xD398;&amp;#xC774;&amp;#xC2A4;&lt;/h2&gt;

&lt;p&gt;&amp;#xBE48; &amp;#xC778;&amp;#xD130;&amp;#xD398;&amp;#xC774;&amp;#xC2A4;(&lt;code&gt;interface{}&lt;/code&gt;) &amp;#xB294; &amp;#xC5B4;&amp;#xB5A0;&amp;#xD55C; &amp;#xBA54;&amp;#xC11C;&amp;#xB4DC;&amp;#xB3C4; &amp;#xD3EC;&amp;#xD568;&amp;#xD558;&amp;#xACE0; &amp;#xC788;&amp;#xC9C0; &amp;#xC54A;&amp;#xAE30; &amp;#xB54C;&amp;#xBB38;&amp;#xC5D0; &amp;#xBAA8;&amp;#xB4E0; &amp;#xD0C0;&amp;#xC785;&amp;#xC744; &amp;#xB2F4;&amp;#xC744; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xBE48; &amp;#xC778;&amp;#xD130;&amp;#xD398;&amp;#xC774;&amp;#xC2A4;&amp;#xB294; int, float64, string, int8 &amp;#xB4F1; &amp;#xB2E4;&amp;#xC591;&amp;#xD55C; &amp;#xD0C0;&amp;#xC785;&amp;#xB4E4;&amp;#xC744; &amp;#xB2F4;&amp;#xC744; &amp;#xC218; &amp;#xC788;&amp;#xAE30; &amp;#xB54C;&amp;#xBB38;&amp;#xC5D0; &amp;#xC544;&amp;#xB798;&amp;#xC640; &amp;#xAC19;&amp;#xC774; &amp;#xD65C;&amp;#xC6A9;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword keyword-package&quot;&gt;package&lt;/span&gt; main

&lt;span class=&quot;token keyword keyword-import&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;fmt&amp;quot;&lt;/span&gt;

&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;PrintValue&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;v &lt;span class=&quot;token keyword keyword-interface&quot;&gt;interface&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-switch&quot;&gt;switch&lt;/span&gt; t &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; v&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token keyword keyword-type&quot;&gt;type&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-case&quot;&gt;case&lt;/span&gt; &lt;span class=&quot;token builtin&quot;&gt;int&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
		fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Printf&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;%d&amp;#xB294; int &amp;#xD0C0;&amp;#xC785;&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; t&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-case&quot;&gt;case&lt;/span&gt; &lt;span class=&quot;token builtin&quot;&gt;float64&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
		fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Printf&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;%f&amp;#xB294; float64 &amp;#xD0C0;&amp;#xC785;&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; t&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-case&quot;&gt;case&lt;/span&gt; &lt;span class=&quot;token builtin&quot;&gt;string&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
		fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Printf&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;%s&amp;#xB294; string &amp;#xD0C0;&amp;#xC785;&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; t&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-default&quot;&gt;default&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
		fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Printf&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;%v&amp;#xB294; int, float64, string &amp;#xC678;&amp;#xC758; &amp;#xD0C0;&amp;#xC785;&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; t&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
	fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;main&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token function&quot;&gt;PrintValue&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;32&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	&lt;span class=&quot;token function&quot;&gt;PrintValue&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;3.14&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	&lt;span class=&quot;token function&quot;&gt;PrintValue&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;&amp;#xC9C0;&amp;#xB2C8;&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-var&quot;&gt;var&lt;/span&gt; a &lt;span class=&quot;token builtin&quot;&gt;int8&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;9&lt;/span&gt;
	&lt;span class=&quot;token function&quot;&gt;PrintValue&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;a&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;&lt;span class=&quot;token number&quot;&gt;32&lt;/span&gt;&amp;#xB294; int &amp;#xD0C0;&amp;#xC785;
&lt;span class=&quot;token number&quot;&gt;3.140000&lt;/span&gt;&amp;#xB294; float64 &amp;#xD0C0;&amp;#xC785;
&amp;#xC9C0;&amp;#xB2C8;&amp;#xB294; string &amp;#xD0C0;&amp;#xC785;
&lt;span class=&quot;token number&quot;&gt;9&lt;/span&gt;&amp;#xB294; int, float64, string &amp;#xC678;&amp;#xC758; &amp;#xD0C0;&amp;#xC785;
&lt;/pre&gt;&lt;hr&gt;
&lt;h2 class=&quot;mume-header&quot; id=&quot;6-%EC%9D%B8%ED%84%B0%ED%8E%98%EC%9D%B4%EC%8A%A4-%EA%B8%B0%EB%B3%B8%EA%B0%92&quot;&gt;6. &amp;#xC778;&amp;#xD130;&amp;#xD398;&amp;#xC774;&amp;#xC2A4; &amp;#xAE30;&amp;#xBCF8;&amp;#xAC12;&lt;/h2&gt;

&lt;p&gt;&amp;#xC778;&amp;#xD130;&amp;#xD398;&amp;#xC774;&amp;#xC2A4;&amp;#xC758; &amp;#xAE30;&amp;#xBCF8;&amp;#xAC12;&amp;#xC740; &lt;strong&gt;nil&lt;/strong&gt; &amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;&lt;/p&gt;
&lt;p&gt;&amp;#xC778;&amp;#xD130;&amp;#xD398;&amp;#xC774;&amp;#xC2A4;&amp;#xC5D0; &amp;#xC120;&amp;#xC5B8;&amp;#xB41C; &amp;#xBA54;&amp;#xC11C;&amp;#xB4DC;&amp;#xB97C; &amp;#xD3EC;&amp;#xD568;&amp;#xD558;&amp;#xACE0; &amp;#xC788;&amp;#xB294; &amp;#xD0C0;&amp;#xC785;&amp;#xC73C;&amp;#xB85C; &amp;#xCD08;&amp;#xAE30;&amp;#xD654;&amp;#xD558;&amp;#xC9C0; &amp;#xC54A;&amp;#xACE0; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD560; &amp;#xACBD;&amp;#xC6B0;&amp;#xC5D0;&amp;#xB294; &lt;code&gt;panic: runtime error: invalid memory address or nil pointer dereference&lt;/code&gt; &amp;#xBA54;&amp;#xC2DC;&amp;#xC9C0;&amp;#xC640; &amp;#xD568;&amp;#xAED8; &amp;#xB7F0;&amp;#xD0C0;&amp;#xC784; &amp;#xC5D0;&amp;#xB7EC;&amp;#xAC00; &amp;#xBC1C;&amp;#xC0DD;&amp;#xB418;&amp;#xAE30; &amp;#xB54C;&amp;#xBB38;&amp;#xC5D0; &amp;#xC774; &amp;#xBD80;&amp;#xBD84;&amp;#xC5D0; &amp;#xB300;&amp;#xD574; &amp;#xC720;&amp;#xC758;&amp;#xD574;&amp;#xC57C; &amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xC778;&amp;#xD130;&amp;#xD398;&amp;#xC774;&amp;#xC2A4; &amp;#xBCC0;&amp;#xC218;&amp;#xAC00; &amp;#xCD08;&amp;#xAE30;&amp;#xD654; &amp;#xB418;&amp;#xC5B4;&amp;#xC788;&amp;#xB294;&amp;#xC9C0;&amp;#xC5D0; &amp;#xB300;&amp;#xD574;&amp;#xC11C;&amp;#xB294; &amp;#xCEF4;&amp;#xD30C;&amp;#xC77C;&amp;#xC2DC; &amp;#xD655;&amp;#xC778;&amp;#xB418;&amp;#xC9C0; &amp;#xC54A;&amp;#xAE30; &amp;#xB54C;&amp;#xBB38;&amp;#xC5D0;&lt;br&gt;
&amp;#xC778;&amp;#xD130;&amp;#xD398;&amp;#xC774;&amp;#xC2A4;&amp;#xC758; &amp;#xBA54;&amp;#xC11C;&amp;#xB4DC;&amp;#xB97C; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD558;&amp;#xAE30; &amp;#xC804;&amp;#xC5D0;, &amp;#xC778;&amp;#xD130;&amp;#xD398;&amp;#xC774;&amp;#xC2A4;&amp;#xAC00; nil&amp;#xC774; &amp;#xC544;&amp;#xB2CC;&amp;#xC9C0;&amp;#xB97C; &amp;#xBC18;&amp;#xB4DC;&amp;#xC2DC; &amp;#xCCB4;&amp;#xD06C;&amp;#xD574;&amp;#xC57C; &amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword keyword-package&quot;&gt;package&lt;/span&gt; main

&lt;span class=&quot;token keyword keyword-type&quot;&gt;type&lt;/span&gt; Member &lt;span class=&quot;token keyword keyword-interface&quot;&gt;interface&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token function&quot;&gt;Introduce&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;main&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-var&quot;&gt;var&lt;/span&gt; member Member
	member&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Introduce&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;panic: runtime error: invalid memory address or nil pointer dereference
&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;signal SIGSEGV: segmentation violation &lt;span class=&quot;token assign-left variable&quot;&gt;code&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;0x2 &lt;span class=&quot;token assign-left variable&quot;&gt;addr&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;0x0 &lt;span class=&quot;token assign-left variable&quot;&gt;pc&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;0x102e3a7fc&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;

goroutine &lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;running&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;:
main.main&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
        /Users/sherry/jini_box/jinispaces/go/goplayground/ch20/ex20.4/ex20.4.go:9 +0x1c
&lt;/pre&gt;&lt;hr&gt;
&lt;h2 class=&quot;mume-header&quot; id=&quot;7-%EC%9D%B8%ED%84%B0%ED%8E%98%EC%9D%B4%EC%8A%A4-%EB%B3%80%ED%99%98&quot;&gt;7. &amp;#xC778;&amp;#xD130;&amp;#xD398;&amp;#xC774;&amp;#xC2A4; &amp;#xBCC0;&amp;#xD658;&lt;/h2&gt;

&lt;h3 class=&quot;mume-header&quot; id=&quot;71-%EC%9D%B8%ED%84%B0%ED%8E%98%EC%9D%B4%EC%8A%A4%EB%A5%BC-%EA%B5%AC%EC%B2%B4%ED%99%94%ED%83%80%EC%9E%85%EC%9C%BC%EB%A1%9C-%EB%B3%80%ED%99%98&quot;&gt;7.1. &amp;#xC778;&amp;#xD130;&amp;#xD398;&amp;#xC774;&amp;#xC2A4;&amp;#xB97C; &amp;#xAD6C;&amp;#xCCB4;&amp;#xD654;&amp;#xD0C0;&amp;#xC785;&amp;#xC73C;&amp;#xB85C; &amp;#xBCC0;&amp;#xD658;&lt;/h3&gt;

&lt;p&gt;VipMember &amp;#xD0C0;&amp;#xC785;&amp;#xC73C;&amp;#xB85C; &amp;#xC0DD;&amp;#xC131;&amp;#xD55C; &amp;#xD3EC;&amp;#xC778;&amp;#xD130;&amp;#xBCC0;&amp;#xC218;&amp;#xB97C;  Member &amp;#xC778;&amp;#xD130;&amp;#xD398;&amp;#xC774;&amp;#xC2A4;&amp;#xC5D0; &amp;#xB2F4;&amp;#xC744; &amp;#xC218; &amp;#xC788;&amp;#xACE0;,&lt;br&gt;
&amp;#xC774; member&amp;#xC5D0; Introduce()&amp;#xB97C; &amp;#xC2E4;&amp;#xD589;&amp;#xD558;&amp;#xBA74; VipMember&amp;#xC5D0; &amp;#xC815;&amp;#xC758;&amp;#xD55C; &amp;#xBA54;&amp;#xC11C;&amp;#xB4DC;&amp;#xAC00; &amp;#xC2E4;&amp;#xD589;&amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xC778;&amp;#xD130;&amp;#xD398;&amp;#xC774;&amp;#xC2A4;&amp;#xB97C; &amp;#xB2E4;&amp;#xC2DC; &lt;code&gt;*VipMember&lt;/code&gt; &amp;#xD0C0;&amp;#xC785;&amp;#xC73C;&amp;#xB85C; &amp;#xBCC0;&amp;#xD658;&amp;#xD558;&amp;#xACE0; &amp;#xC2F6;&amp;#xB2E4;&amp;#xBA74; &lt;code&gt;member.(*VipMember)&lt;/code&gt; &amp;#xC640; &amp;#xAC19;&amp;#xC740; &amp;#xBC29;&amp;#xC2DD;&amp;#xC73C;&amp;#xB85C; &amp;#xBCC0;&amp;#xD658;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword keyword-package&quot;&gt;package&lt;/span&gt; main

&lt;span class=&quot;token keyword keyword-import&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;fmt&amp;quot;&lt;/span&gt;

&lt;span class=&quot;token keyword keyword-type&quot;&gt;type&lt;/span&gt; Member &lt;span class=&quot;token keyword keyword-interface&quot;&gt;interface&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token function&quot;&gt;Introduce&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token builtin&quot;&gt;string&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token keyword keyword-type&quot;&gt;type&lt;/span&gt; VipMember &lt;span class=&quot;token keyword keyword-struct&quot;&gt;struct&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	Name &lt;span class=&quot;token builtin&quot;&gt;string&lt;/span&gt;
	Age  &lt;span class=&quot;token builtin&quot;&gt;int&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;v &lt;span class=&quot;token operator&quot;&gt;*&lt;/span&gt;VipMember&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;Introduce&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token builtin&quot;&gt;string&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-return&quot;&gt;return&lt;/span&gt; fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Sprintf&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;%s&amp;#xB294; Vip&amp;#xD68C;&amp;#xC6D0;&amp;#xC774;&amp;#xBA70; &amp;#xB098;&amp;#xC774;&amp;#xB294; %d &amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; v&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;Name&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; v&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;Age&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;main&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-var&quot;&gt;var&lt;/span&gt; member Member &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt;VipMember&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;sol&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;26&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
	fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;member&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Introduce&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Printf&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;member&amp;#xC758; &amp;#xD0C0;&amp;#xC785;&amp;#xC740; %T\n\n&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; member&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;

	vipMember &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; member&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;*&lt;/span&gt;VipMember&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;vipMember&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Introduce&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Printf&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;vipMember&amp;#xC758; &amp;#xD0C0;&amp;#xC785;&amp;#xC740; %T\n\n&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; vipMember&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;sol&amp;#xB294; Vip&amp;#xD68C;&amp;#xC6D0;&amp;#xC774;&amp;#xBA70; &amp;#xB098;&amp;#xC774;&amp;#xB294; &lt;span class=&quot;token number&quot;&gt;26&lt;/span&gt; &amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.
member&amp;#xC758; &amp;#xD0C0;&amp;#xC785;&amp;#xC740; *main.VipMember

sol&amp;#xB294; Vip&amp;#xD68C;&amp;#xC6D0;&amp;#xC774;&amp;#xBA70; &amp;#xB098;&amp;#xC774;&amp;#xB294; &lt;span class=&quot;token number&quot;&gt;26&lt;/span&gt; &amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.
vipMember&amp;#xC758; &amp;#xD0C0;&amp;#xC785;&amp;#xC740; *main.VipMember
&lt;/pre&gt;&lt;br&gt;
&lt;p&gt;VipMember &amp;#xD0C0;&amp;#xC785; &amp;#xC678;&amp;#xC5D0; BasicMember &amp;#xD0C0;&amp;#xC785;&amp;#xC744; &amp;#xB9CC;&amp;#xB4E4;&amp;#xACE0;, &amp;#xC774; &amp;#xD0C0;&amp;#xC785;&amp;#xB3C4; Member &amp;#xC778;&amp;#xD130;&amp;#xD398;&amp;#xC774;&amp;#xC2A4;&amp;#xC5D0; &amp;#xC120;&amp;#xC5B8;&amp;#xB41C; &amp;#xBA54;&amp;#xC11C;&amp;#xB4DC;&amp;#xB97C; &amp;#xAD6C;&amp;#xD604;&amp;#xD55C; &amp;#xD6C4; &amp;#xC544;&amp;#xB798; &amp;#xCF54;&amp;#xB4DC;&amp;#xB97C; &amp;#xC2E4;&amp;#xD589;&amp;#xD558;&amp;#xBA74;,&lt;/p&gt;
&lt;p&gt;&lt;code&gt;*VipMember&lt;/code&gt; &amp;#xD0C0;&amp;#xC785;&amp;#xC73C;&amp;#xB85C; &amp;#xC120;&amp;#xC5B8;&amp;#xD55C; member &amp;#xBCC0;&amp;#xC218;&amp;#xAC00; &lt;code&gt;*VipMember&lt;/code&gt; &amp;#xB85C;&amp;#xB294; &amp;#xB2E4;&amp;#xC2DC; &amp;#xBCC0;&amp;#xD658;&amp;#xD558;&amp;#xB294;&amp;#xAC8C; &amp;#xAC00;&amp;#xB2A5;&amp;#xD558;&amp;#xC9C0;&amp;#xB9CC;&lt;br&gt;
&lt;code&gt;*BasicMember&lt;/code&gt; &amp;#xD0C0;&amp;#xC785;&amp;#xC73C;&amp;#xB85C;&amp;#xB294; &amp;#xBCC0;&amp;#xD658;&amp;#xC774; &amp;#xB418;&amp;#xC9C0; &amp;#xC54A;&amp;#xB294; &amp;#xAC83;&amp;#xC744; &amp;#xC54C; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword keyword-package&quot;&gt;package&lt;/span&gt; main

&lt;span class=&quot;token keyword keyword-import&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;fmt&amp;quot;&lt;/span&gt;

&lt;span class=&quot;token keyword keyword-type&quot;&gt;type&lt;/span&gt; Member &lt;span class=&quot;token keyword keyword-interface&quot;&gt;interface&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token function&quot;&gt;Introduce&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token builtin&quot;&gt;string&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token keyword keyword-type&quot;&gt;type&lt;/span&gt; BasicMember &lt;span class=&quot;token keyword keyword-struct&quot;&gt;struct&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	Name &lt;span class=&quot;token builtin&quot;&gt;string&lt;/span&gt;
	Age  &lt;span class=&quot;token builtin&quot;&gt;int&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;v &lt;span class=&quot;token operator&quot;&gt;*&lt;/span&gt;BasicMember&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;Introduce&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token builtin&quot;&gt;string&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-return&quot;&gt;return&lt;/span&gt; fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Sprintf&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;%s&amp;#xB294; &amp;#xAE30;&amp;#xBCF8;&amp;#xD68C;&amp;#xC6D0;&amp;#xC774;&amp;#xBA70; &amp;#xB098;&amp;#xC774;&amp;#xB294; %d &amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; v&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;Name&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; v&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;Age&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token keyword keyword-type&quot;&gt;type&lt;/span&gt; VipMember &lt;span class=&quot;token keyword keyword-struct&quot;&gt;struct&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	Name &lt;span class=&quot;token builtin&quot;&gt;string&lt;/span&gt;
	Age  &lt;span class=&quot;token builtin&quot;&gt;int&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;v &lt;span class=&quot;token operator&quot;&gt;*&lt;/span&gt;VipMember&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;Introduce&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token builtin&quot;&gt;string&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-return&quot;&gt;return&lt;/span&gt; fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Sprintf&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;%s&amp;#xB294; Vip&amp;#xD68C;&amp;#xC6D0;&amp;#xC774;&amp;#xBA70; &amp;#xB098;&amp;#xC774;&amp;#xB294; %d &amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; v&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;Name&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; v&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;Age&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;main&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-var&quot;&gt;var&lt;/span&gt; member Member &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt;VipMember&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;sol&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;26&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
	fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;member&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Introduce&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Printf&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;member&amp;#xC758; &amp;#xD0C0;&amp;#xC785;&amp;#xC740; %T\n\n&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; member&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;

	vipMember &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; member&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;*&lt;/span&gt;VipMember&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;vipMember&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Introduce&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Printf&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;vipMember&amp;#xC758; &amp;#xD0C0;&amp;#xC785;&amp;#xC740; %T\n\n&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; vipMember&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;

	basicMember &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; member&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;*&lt;/span&gt;BasicMember&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token comment&quot;&gt;// Runtime Exception &amp;#xBC1C;&amp;#xC0DD;!&lt;/span&gt;
	fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;basicMember&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Introduce&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Printf&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;normalMember&amp;#xC758; &amp;#xD0C0;&amp;#xC785;&amp;#xC740; %T&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; basicMember&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;p&gt;&lt;code&gt;basicMember := member.(*BasicMember)&lt;/code&gt; &amp;#xC2E4;&amp;#xD589; &amp;#xC911;&amp;#xC5D0; &lt;code&gt;panic: interface conversion: main.Member is *main.VipMember, not *main.BasicMember&lt;/code&gt; &amp;#xC5D0;&amp;#xB7EC;&amp;#xAC00; &amp;#xBC1C;&amp;#xC0DD;&amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xB2E4;&amp;#xB978; &amp;#xC778;&amp;#xD130;&amp;#xD398;&amp;#xC774;&amp;#xC2A4; &amp;#xD0C0;&amp;#xC785;&amp;#xC73C;&amp;#xB85C; &amp;#xBCC0;&amp;#xD658;&amp;#xD558;&amp;#xACE0; &amp;#xC2F6;&amp;#xB2E4;&amp;#xBA74; &amp;#xC704;&amp;#xC640; &amp;#xAC19;&amp;#xC740; &amp;#xBC29;&amp;#xBC95;&amp;#xC73C;&amp;#xB85C;&amp;#xB294; &amp;#xBD88;&amp;#xAC00;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;hr&gt;
&lt;h3 class=&quot;mume-header&quot; id=&quot;72-%EC%9D%B8%ED%84%B0%ED%8E%98%EC%9D%B4%EC%8A%A4-%ED%83%80%EC%9E%85-%EB%B3%80%ED%99%98&quot;&gt;7.2. &amp;#xC778;&amp;#xD130;&amp;#xD398;&amp;#xC774;&amp;#xC2A4; &amp;#xD0C0;&amp;#xC785; &amp;#xBCC0;&amp;#xD658;&lt;/h3&gt;

&lt;p&gt;&amp;#xC778;&amp;#xD130;&amp;#xD398;&amp;#xC774;&amp;#xC2A4; &amp;#xD0C0;&amp;#xC785; &amp;#xBCC0;&amp;#xD658;&amp;#xC744; &amp;#xC774;&amp;#xC6A9;&amp;#xD558;&amp;#xC5EC; &amp;#xB2E4;&amp;#xB978; &amp;#xAD6C;&amp;#xCCB4;&amp;#xD654;&amp;#xD0C0;&amp;#xC785;/&amp;#xC778;&amp;#xD130;&amp;#xD398;&amp;#xC774;&amp;#xC2A4;&amp;#xB85C; &amp;#xBCC0;&amp;#xACBD;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xC778;&amp;#xD130;&amp;#xD398;&amp;#xC774;&amp;#xC2A4; &amp;#xD0C0;&amp;#xC785;&amp;#xC744; &amp;#xBCC0;&amp;#xD658;&amp;#xD55C; &amp;#xD6C4;, &amp;#xADF8; &amp;#xC778;&amp;#xD130;&amp;#xD398;&amp;#xC774;&amp;#xC2A4;&amp;#xC5D0; &amp;#xC120;&amp;#xC5B8;&amp;#xB41C; &amp;#xBA54;&amp;#xC11C;&amp;#xB4DC;&amp;#xB97C; &amp;#xC2E4;&amp;#xD589;&amp;#xD558;&amp;#xB294; &amp;#xBD80;&amp;#xBD84;&amp;#xC5D0;&amp;#xC11C; &amp;#xBCC0;&amp;#xD658;&amp;#xD558;&amp;#xB294; &amp;#xC778;&amp;#xD130;&amp;#xD398;&amp;#xC774;&amp;#xC2A4;&amp;#xC5D0; &amp;#xC120;&amp;#xC5B8;&amp;#xB41C; &amp;#xBA54;&amp;#xC11C;&amp;#xB4DC;&amp;#xAC00; &amp;#xD3EC;&amp;#xD568;&amp;#xB418;&amp;#xC5B4;&amp;#xC788;&amp;#xB294;&amp;#xC9C0; &amp;#xC720;&amp;#xBB34;&amp;#xB97C; &amp;#xCEF4;&amp;#xD30C;&amp;#xC77C;&amp;#xC2DC;&amp;#xC810;&amp;#xC5D0; &amp;#xD310;&amp;#xB2E8;&amp;#xD558;&amp;#xC9C0; &amp;#xC54A;&amp;#xAE30; &amp;#xB54C;&amp;#xBB38;&amp;#xC5D0;, &amp;#xC774;&amp;#xC5D0; &amp;#xB300;&amp;#xD55C; &lt;mark&gt;&amp;#xBC29;&amp;#xC5B4;&amp;#xCF54;&amp;#xB4DC;&amp;#xB97C; &amp;#xBC18;&amp;#xB4DC;&amp;#xC2DC; &amp;#xC791;&amp;#xC131;&amp;#xD574;&amp;#xC57C;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;&lt;/mark&gt;&lt;/p&gt;
&lt;p&gt;Shape &amp;#xC778;&amp;#xD130;&amp;#xD398;&amp;#xC774;&amp;#xC2A4;&amp;#xC640;, &amp;#xADF8; &amp;#xC778;&amp;#xD130;&amp;#xD398;&amp;#xC774;&amp;#xC2A4;&amp;#xB97C; &amp;#xAD6C;&amp;#xD604;&amp;#xD55C; Circle &amp;#xD0C0;&amp;#xC785;&amp;#xC774; &amp;#xC788;&amp;#xACE0;,&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword keyword-type&quot;&gt;type&lt;/span&gt; Shape &lt;span class=&quot;token keyword keyword-interface&quot;&gt;interface&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token function&quot;&gt;Introduce&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token builtin&quot;&gt;string&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token keyword keyword-type&quot;&gt;type&lt;/span&gt; Circle &lt;span class=&quot;token keyword keyword-struct&quot;&gt;struct&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	Name   &lt;span class=&quot;token builtin&quot;&gt;string&lt;/span&gt;
	Radius &lt;span class=&quot;token builtin&quot;&gt;int&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;v &lt;span class=&quot;token operator&quot;&gt;*&lt;/span&gt;Circle&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;Introduce&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token builtin&quot;&gt;string&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-return&quot;&gt;return&lt;/span&gt; fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Sprintf&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;%s&amp;#xB294; &amp;#xC6D0;. &amp;#xBC18;&amp;#xC9C0;&amp;#xB984;&amp;#xC740; %d &amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; v&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;Name&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; v&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;Radius&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;br&gt;
&lt;p&gt;Shape &amp;#xC778;&amp;#xD130;&amp;#xD398;&amp;#xC774;&amp;#xC2A4;&amp;#xB97C; &amp;#xD3EC;&amp;#xD568;&amp;#xD558;&amp;#xACE0; &amp;#xC788;&amp;#xB294; Polygon &amp;#xC778;&amp;#xD130;&amp;#xD398;&amp;#xC774;&amp;#xC2A4;&amp;#xC640;&lt;br&gt;
&amp;#xADF8; &amp;#xC778;&amp;#xD130;&amp;#xD398;&amp;#xC774;&amp;#xC2A4;&amp;#xB97C; &amp;#xAD6C;&amp;#xD604;&amp;#xD55C; Square &amp;#xD0C0;&amp;#xC785;&amp;#xC774; &amp;#xC788;&amp;#xB2E4;&amp;#xACE0; &amp;#xD560; &amp;#xB54C;,&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword keyword-type&quot;&gt;type&lt;/span&gt; Polygon &lt;span class=&quot;token keyword keyword-interface&quot;&gt;interface&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	Shape
	&lt;span class=&quot;token function&quot;&gt;GetLines&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token builtin&quot;&gt;int&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token keyword keyword-type&quot;&gt;type&lt;/span&gt; Square &lt;span class=&quot;token keyword keyword-struct&quot;&gt;struct&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	Name  &lt;span class=&quot;token builtin&quot;&gt;string&lt;/span&gt;
	Width &lt;span class=&quot;token builtin&quot;&gt;int&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;v &lt;span class=&quot;token operator&quot;&gt;*&lt;/span&gt;Square&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;Introduce&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token builtin&quot;&gt;string&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-return&quot;&gt;return&lt;/span&gt; fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Sprintf&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;%s&amp;#xB294; &amp;#xC815;&amp;#xC0AC;&amp;#xAC01;&amp;#xD615;. &amp;#xBCC0;&amp;#xC758; &amp;#xAE38;&amp;#xC774;&amp;#xB294; %d &amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; v&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;Name&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; v&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;Width&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;v &lt;span class=&quot;token operator&quot;&gt;*&lt;/span&gt;Square&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;GetLines&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token builtin&quot;&gt;int&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-return&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;4&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;br&gt;
&lt;p&gt;Shape &amp;#xC778;&amp;#xD130;&amp;#xD398;&amp;#xC774;&amp;#xC2A4;&amp;#xB97C; Polygon &amp;#xC778;&amp;#xD130;&amp;#xD398;&amp;#xC774;&amp;#xC2A4;&amp;#xB85C; &amp;#xBCC0;&amp;#xD658;&amp;#xD558;&amp;#xB824; &amp;#xD560;&amp;#xB54C;,&lt;br&gt;
&amp;#xBCC0;&amp;#xD658;&amp;#xC911; &amp;#xC624;&amp;#xB958;&amp;#xAC00; &amp;#xBC1C;&amp;#xC0DD;&amp;#xD558;&amp;#xC9C0; &amp;#xC54A;&amp;#xC558;&amp;#xC744; &amp;#xB54C;&amp;#xC5D0;&amp;#xB9CC; &amp;#xD2B9;&amp;#xC815; &amp;#xAE30;&amp;#xB2A5;&amp;#xC744; &amp;#xC218;&amp;#xD589;&amp;#xD558;&amp;#xB3C4;&amp;#xB85D; &amp;#xC544;&amp;#xB798;&amp;#xC640; &amp;#xAC19;&amp;#xC774; &amp;#xC791;&amp;#xC131;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;PrintIntroduce&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;s Shape&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	p&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; ok &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; s&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;Polygon&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-if&quot;&gt;if&lt;/span&gt; ok &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
		fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Printf&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;&amp;#xBCC0;&amp;#xC758; &amp;#xC218;&amp;#xB294; %d\n&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; p&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;GetLines&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
	fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;s&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Introduce&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;br&gt;
&lt;p&gt;&amp;#xBCC0;&amp;#xD658; &amp;#xC911; &amp;#xC624;&amp;#xB958;&amp;#xAC00; &amp;#xBC1C;&amp;#xC0DD;&amp;#xD558;&amp;#xC9C0; &amp;#xC54A;&amp;#xC558;&amp;#xC744; &amp;#xB54C;&amp;#xC5D0; &amp;#xD2B9;&amp;#xC815; &amp;#xAE30;&amp;#xB2A5;&amp;#xC774; &amp;#xC218;&amp;#xD589;&amp;#xD558;&amp;#xB3C4;&amp;#xB85D; &amp;#xD558;&amp;#xB294; &amp;#xCF54;&amp;#xB4DC;&amp;#xB294; &amp;#xC544;&amp;#xB798;&amp;#xC640; &amp;#xAC19;&amp;#xC774; &amp;#xB354; &amp;#xCD95;&amp;#xC57D;&amp;#xD574;&amp;#xC11C; &amp;#xC791;&amp;#xC131;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword keyword-if&quot;&gt;if&lt;/span&gt; p&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; ok &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; s&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;Polygon&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; ok &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Printf&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;&amp;#xBCC0;&amp;#xC758; &amp;#xC218;&amp;#xB294; %d\n&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; p&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;GetLines&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;main&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-var&quot;&gt;var&lt;/span&gt; s1 Shape &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt;Circle&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;&amp;#xC6D0;1&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
	fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;s1&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Introduce&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Printf&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;s1&amp;#xC758; &amp;#xD0C0;&amp;#xC785;&amp;#xC740; %T\n&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; s1&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;

	&lt;span class=&quot;token keyword keyword-var&quot;&gt;var&lt;/span&gt; s2 Shape &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt;Square&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;&amp;#xC0AC;&amp;#xAC01;&amp;#xD615;1&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;5&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
	fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;s2&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Introduce&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Printf&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;s2&amp;#xC758; &amp;#xD0C0;&amp;#xC785;&amp;#xC740; %T\n&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; s2&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;

	fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;-------&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	&lt;span class=&quot;token function&quot;&gt;PrintIntroduce&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;s1&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	&lt;span class=&quot;token function&quot;&gt;PrintIntroduce&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;s2&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;&amp;#xC6D0;1&amp;#xB294; &amp;#xC6D0;. &amp;#xBC18;&amp;#xC9C0;&amp;#xB984;&amp;#xC740; &lt;span class=&quot;token number&quot;&gt;2&lt;/span&gt; &amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.
s1&amp;#xC758; &amp;#xD0C0;&amp;#xC785;&amp;#xC740; *main.Circle
&amp;#xC0AC;&amp;#xAC01;&amp;#xD615;1&amp;#xB294; &amp;#xC815;&amp;#xC0AC;&amp;#xAC01;&amp;#xD615;. &amp;#xBCC0;&amp;#xC758; &amp;#xAE38;&amp;#xC774;&amp;#xB294; &lt;span class=&quot;token number&quot;&gt;5&lt;/span&gt; &amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.
s2&amp;#xC758; &amp;#xD0C0;&amp;#xC785;&amp;#xC740; *main.Square
-------
&amp;#xC6D0;1&amp;#xB294; &amp;#xC6D0;. &amp;#xBC18;&amp;#xC9C0;&amp;#xB984;&amp;#xC740; &lt;span class=&quot;token number&quot;&gt;2&lt;/span&gt; &amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.
&amp;#xBCC0;&amp;#xC758; &amp;#xC218;&amp;#xB294; &lt;span class=&quot;token number&quot;&gt;4&lt;/span&gt;
&amp;#xC0AC;&amp;#xAC01;&amp;#xD615;1&amp;#xB294; &amp;#xC815;&amp;#xC0AC;&amp;#xAC01;&amp;#xD615;. &amp;#xBCC0;&amp;#xC758; &amp;#xAE38;&amp;#xC774;&amp;#xB294; &lt;span class=&quot;token number&quot;&gt;5&lt;/span&gt; &amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.
&lt;/pre&gt;&lt;p&gt;&amp;#xC704;&amp;#xC758; &amp;#xC608;&amp;#xC81C;&amp;#xC758; full code&amp;#xB294; &lt;a href=&quot;https://github.com/jiniya22/goplayground/blob/main/ch20/ex20.6/ex20.6.go&quot;&gt;jiniya22 Github ex20.6.go&lt;/a&gt;&amp;#xC5D0; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;

  &lt;/div&gt;&lt;/div&gt;</description>
      <category>Go</category>
      <category>go</category>
      <author>jiniya22</author>
      <guid isPermaLink="true">https://jini-box.tistory.com/232</guid>
      <comments>https://jini-box.tistory.com/232#entry232comment</comments>
      <pubDate>Sun, 21 Jan 2024 13:39:03 +0900</pubDate>
    </item>
    <item>
      <title>[Go] 12. 메서드</title>
      <link>https://jini-box.tistory.com/231</link>
      <description>&lt;div id=&quot;html-export&quot;&gt;
      &lt;div class=&quot;mume markdown-preview  &quot;&gt;
      &lt;p&gt;&amp;#xBA54;&amp;#xC11C;&amp;#xB4DC;&amp;#xB294; &amp;#xD568;&amp;#xC218;&amp;#xC640; &amp;#xB2EC;&amp;#xB9AC; func &amp;#xC624;&amp;#xB978;&amp;#xCABD;&amp;#xC5D0; &amp;#xC18C;&amp;#xAD04;&amp;#xD638;&amp;#xB85C; &amp;#xB9AC;&amp;#xC2DC;&amp;#xBC84;&amp;#xB97C; &amp;#xBC1B;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xB9AC;&amp;#xC2DC;&amp;#xBC84;&amp;#xB294;  type&amp;#xD0A4;&amp;#xC6CC;&amp;#xB4DC;&amp;#xB85C; &amp;#xC120;&amp;#xC5B8;&amp;#xB41C; &amp;#xBAA8;&amp;#xB4E0; &amp;#xB85C;&amp;#xCEEC; &amp;#xD0C0;&amp;#xC785;&amp;#xB4E4;&amp;#xC744; &amp;#xC785;&amp;#xB825;&amp;#xBC1B;&amp;#xC744; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;. (= type&amp;#xC73C;&amp;#xB85C; &amp;#xC120;&amp;#xC5B8;&amp;#xB41C; &amp;#xBCC4;&amp;#xCE6D;&amp;#xB4E4;&amp;#xC774;&amp;#xB098; &amp;#xAD6C;&amp;#xC870;&amp;#xCCB4;)&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&amp;#xBA54;&amp;#xC11C;&amp;#xB4DC;&amp;#xB97C; &amp;#xC798; &amp;#xD65C;&amp;#xC6A9;&amp;#xD558;&amp;#xBA74; &amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xC640; &amp;#xAD00;&amp;#xB828; &amp;#xAE30;&amp;#xB2A5;&amp;#xC744; &amp;#xBB36;&amp;#xC5B4; &amp;#xC751;&amp;#xC9D1;&amp;#xB3C4;&amp;#xB97C; &amp;#xB192;&amp;#xC77C; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/li&gt;
&lt;/ul&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;r Receiver&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;methodName&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token builtin&quot;&gt;int&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-return&quot;&gt;return&lt;/span&gt; r&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;width &lt;span class=&quot;token operator&quot;&gt;*&lt;/span&gt; r&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;height
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;br&gt;
&lt;p&gt;&amp;#xC544;&amp;#xB798; &amp;#xC608;&amp;#xC81C;&amp;#xB97C; &amp;#xD655;&amp;#xC778;&amp;#xD574;&amp;#xBCF4;&amp;#xBA74;, &amp;#xAE30;&amp;#xC874;&amp;#xC758; &amp;#xD568;&amp;#xC218;&amp;#xC640; &amp;#xBA54;&amp;#xC11C;&amp;#xB4DC;&amp;#xC758; &amp;#xCC28;&amp;#xC774;&amp;#xC810;&amp;#xC744; &amp;#xC54C; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword keyword-package&quot;&gt;package&lt;/span&gt; main  

&lt;span class=&quot;token keyword keyword-import&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;fmt&amp;quot;&lt;/span&gt;  

&lt;span class=&quot;token keyword keyword-type&quot;&gt;type&lt;/span&gt; account &lt;span class=&quot;token keyword keyword-struct&quot;&gt;struct&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;  
  balance &lt;span class=&quot;token builtin&quot;&gt;int&lt;/span&gt;  
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;  

&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;withdrawFunc&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;a &lt;span class=&quot;token operator&quot;&gt;*&lt;/span&gt;account&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; amount &lt;span class=&quot;token builtin&quot;&gt;int&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;  
  a&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;balance &lt;span class=&quot;token operator&quot;&gt;-=&lt;/span&gt; amount  
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;  

&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;a &lt;span class=&quot;token operator&quot;&gt;*&lt;/span&gt;account&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;withdrawMethod&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;amount &lt;span class=&quot;token builtin&quot;&gt;int&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;  
  a&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;balance &lt;span class=&quot;token operator&quot;&gt;-=&lt;/span&gt; amount  
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;  

&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;main&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;  
  a &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt;account&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;1000&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;  
  &lt;span class=&quot;token function&quot;&gt;withdrawFunc&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;a&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;30&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;  
  fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Printf&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;&amp;#xC794;&amp;#xC561;: %d\n&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; a&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;balance&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;  

  a&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;withdrawMethod&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;50&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;  
  fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Printf&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;&amp;#xC794;&amp;#xC561;: %d\n&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; a&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;balance&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;  
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;&amp;#xC794;&amp;#xC561;: &lt;span class=&quot;token number&quot;&gt;970&lt;/span&gt;
&amp;#xC794;&amp;#xC561;: &lt;span class=&quot;token number&quot;&gt;920&lt;/span&gt;
&lt;/pre&gt;&lt;br&gt;
&lt;p&gt;&amp;#xD3EC;&amp;#xC778;&amp;#xD130; &amp;#xD568;&amp;#xC218;&amp;#xB85C; &amp;#xC120;&amp;#xC5B8;&amp;#xB41C; a&amp;#xB97C; &amp;#xD568;&amp;#xC218;&amp;#xB97C; &amp;#xC774;&amp;#xC6A9;&amp;#xD558;&amp;#xB294; &amp;#xBC29;&amp;#xBC95;&amp;#xACFC; &amp;#xBA54;&amp;#xC11C;&amp;#xB4DC;&amp;#xB97C; &amp;#xC774;&amp;#xC6A9;&amp;#xD558;&amp;#xB294; &amp;#xBC29;&amp;#xBC95;&amp;#xC5D0; &amp;#xB300;&amp;#xD574; &amp;#xC54C;&amp;#xC544;&amp;#xBCF4;&amp;#xC558;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xBA54;&amp;#xC11C;&amp;#xB4DC;&amp;#xB294; &amp;#xB9AC;&amp;#xC2DC;&amp;#xBC84;&amp;#xD0C0;&amp;#xC785;&amp;#xC778; *account&amp;#xC5D0; &amp;#xC18D;&amp;#xD574;&amp;#xC788;&amp;#xACE0;, &amp;#xADF8;&amp;#xB807;&amp;#xAC8C; &amp;#xB54C;&amp;#xBB38;&amp;#xC5D0; &lt;code&gt;a.withdrawMethod(50)&lt;/code&gt; &amp;#xAC19;&amp;#xC740; &amp;#xBC29;&amp;#xC2DD;&amp;#xC73C;&amp;#xB85C; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xBAA8;&amp;#xB4E0; &amp;#xB85C;&amp;#xCEEC; &amp;#xD0C0;&amp;#xC785;&amp;#xB4E4;&amp;#xC740; &amp;#xB9AC;&amp;#xC2DC;&amp;#xBC84;&amp;#xAC00; &amp;#xB420; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xB9CC;&amp;#xC57D;, int&amp;#xC640; &amp;#xAC19;&amp;#xC740; &amp;#xD0C0;&amp;#xC785;&amp;#xC5D0;&amp;#xB3C4; &amp;#xBA54;&amp;#xC11C;&amp;#xB4DC;&amp;#xB97C; &amp;#xD65C;&amp;#xC6A9;&amp;#xD558;&amp;#xACE0; &amp;#xC2F6;&amp;#xB2E4;&amp;#xBA74; &amp;#xBCC4;&amp;#xCE6D;&amp;#xD0C0;&amp;#xC785;&amp;#xC744; &amp;#xC120;&amp;#xC5B8;&amp;#xD574;&amp;#xB450;&amp;#xACE0; &amp;#xBA54;&amp;#xC11C;&amp;#xB4DC;&amp;#xB97C; &amp;#xC120;&amp;#xC5B8;&amp;#xD558;&amp;#xBA74; &amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;int &amp;#xD0C0;&amp;#xC785;&amp;#xC5D0; &amp;#xBCC4;&amp;#xCE6D;&amp;#xC744; &amp;#xC815;&amp;#xC758;&amp;#xD55C; &amp;#xD6C4; &amp;#xC544;&amp;#xB798;&amp;#xC640; &amp;#xAC19;&amp;#xC774; &amp;#xBA54;&amp;#xC11C;&amp;#xB4DC;&amp;#xB97C; &amp;#xC124;&amp;#xC815;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword keyword-type&quot;&gt;type&lt;/span&gt; myInt &lt;span class=&quot;token builtin&quot;&gt;int&lt;/span&gt;  

&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;a myInt&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;add&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;b &lt;span class=&quot;token builtin&quot;&gt;int&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token builtin&quot;&gt;int&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;  
  &lt;span class=&quot;token keyword keyword-return&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;int&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;a&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;+&lt;/span&gt; b  
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;main&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;  
  &lt;span class=&quot;token keyword keyword-var&quot;&gt;var&lt;/span&gt; a myInt &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;10&lt;/span&gt;  
  fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;a&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;add&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;5&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;  
  &lt;span class=&quot;token keyword keyword-var&quot;&gt;var&lt;/span&gt; b &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;10&lt;/span&gt;  
  fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;myInt&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;b&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;add&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;5&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;  
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;hr&gt;
&lt;h3 class=&quot;mume-header&quot; id=&quot;%ED%8F%AC%EC%9D%B8%ED%84%B0-%EB%A9%94%EC%84%9C%EB%93%9C-%EA%B0%92%ED%83%80%EC%9E%85-%EB%A9%94%EC%84%9C%EB%93%9C&quot;&gt;&amp;#xD3EC;&amp;#xC778;&amp;#xD130; &amp;#xBA54;&amp;#xC11C;&amp;#xB4DC;, &amp;#xAC12;&amp;#xD0C0;&amp;#xC785; &amp;#xBA54;&amp;#xC11C;&amp;#xB4DC;&lt;/h3&gt;

&lt;p&gt;&amp;#xB9AC;&amp;#xC2DC;&amp;#xBC84;&amp;#xB85C; &amp;#xC774;&amp;#xC6A9;&amp;#xD558;&amp;#xB294; &amp;#xD0C0;&amp;#xC785;&amp;#xC744; &amp;#xD3EC;&amp;#xC778;&amp;#xD130;&amp;#xB97C; &amp;#xC774;&amp;#xC6A9;&amp;#xD558;&amp;#xC5EC; &amp;#xBA54;&amp;#xC11C;&amp;#xB4DC; &amp;#xC218;&amp;#xD589;&amp;#xACB0;&amp;#xACFC;&amp;#xB97C; &amp;#xC804;&amp;#xB2EC;&amp;#xD560; &amp;#xC218;&amp;#xB3C4; &amp;#xC788;&amp;#xACE0;,&lt;br&gt;
&amp;#xB610;&amp;#xB294; &amp;#xAC12;&amp;#xC73C;&amp;#xB85C; &amp;#xB118;&amp;#xACA8;&amp;#xC8FC;&amp;#xB418; &amp;#xB9AC;&amp;#xD134;&amp;#xD0C0;&amp;#xC785;&amp;#xC73C;&amp;#xB85C; &amp;#xBC18;&amp;#xD658;&amp;#xD558;&amp;#xB294; &amp;#xBC29;&amp;#xBC95;&amp;#xC774; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword keyword-package&quot;&gt;package&lt;/span&gt; main  

&lt;span class=&quot;token keyword keyword-import&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;fmt&amp;quot;&lt;/span&gt;  

&lt;span class=&quot;token keyword keyword-type&quot;&gt;type&lt;/span&gt; account &lt;span class=&quot;token keyword keyword-struct&quot;&gt;struct&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;  
  balance &lt;span class=&quot;token builtin&quot;&gt;int&lt;/span&gt;  
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;  

&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;a &lt;span class=&quot;token operator&quot;&gt;*&lt;/span&gt;account&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;withdrawPointer&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;amount &lt;span class=&quot;token builtin&quot;&gt;int&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;  
  a&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;balance &lt;span class=&quot;token operator&quot;&gt;-=&lt;/span&gt; amount  
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;  

&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;a account&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;withdrawRetureValue&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;amount &lt;span class=&quot;token builtin&quot;&gt;int&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; account &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;  
  a&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;balance &lt;span class=&quot;token operator&quot;&gt;-=&lt;/span&gt; amount  
  &lt;span class=&quot;token keyword keyword-return&quot;&gt;return&lt;/span&gt; a  
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;  

&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;main&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;  
  a &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; account&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;1000&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;  

  &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt;a&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;withdrawPointer&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;50&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;  
  fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Printf&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;a &amp;#xC794;&amp;#xC561;: %d\n&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; a&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;balance&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;  

  fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;------------&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;  

  a2 &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; a&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;withdrawRetureValue&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;30&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;  
  fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Printf&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;a &amp;#xC794;&amp;#xC561;: %d\n&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; a&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;balance&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;  
  fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Printf&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;a2 &amp;#xC794;&amp;#xC561;: %d\n&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; a2&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;balance&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;  
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;a &amp;#xC794;&amp;#xC561;: &lt;span class=&quot;token number&quot;&gt;950&lt;/span&gt;
------------
a &amp;#xC794;&amp;#xC561;: &lt;span class=&quot;token number&quot;&gt;950&lt;/span&gt;
a2 &amp;#xC794;&amp;#xC561;: &lt;span class=&quot;token number&quot;&gt;920&lt;/span&gt;
&lt;/pre&gt;&lt;p&gt;&amp;#xB9AC;&amp;#xC2DC;&amp;#xBC84;&amp;#xB97C; &amp;#xD3EC;&amp;#xC778;&amp;#xD130;&amp;#xB85C; &amp;#xC124;&amp;#xC815;&amp;#xD558;&amp;#xB294; withdrawPointer &amp;#xBA54;&amp;#xC11C;&amp;#xB4DC;&amp;#xB294; &amp;#xC218;&amp;#xD589;&amp;#xD55C; &amp;#xD6C4;, &amp;#xC6D0;&amp;#xBCF8;&amp;#xC778; a&amp;#xC758; &amp;#xAC12;&amp;#xC5D0; &amp;#xC601;&amp;#xD5A5;&amp;#xC744; &amp;#xC90D;&amp;#xB2C8;&amp;#xB2E4;&lt;/p&gt;
&lt;p&gt;&amp;#xADF8;&amp;#xB7EC;&amp;#xB098;, &amp;#xAC12;&amp;#xC73C;&amp;#xB85C; &amp;#xB9AC;&amp;#xC2DC;&amp;#xBC84;&amp;#xB97C; &amp;#xBC1B;&amp;#xC73C;&amp;#xBA74;&amp;#xC11C; &amp;#xB9AC;&amp;#xD134;&amp;#xD558;&amp;#xB294; withdrawRetureValue &amp;#xBA54;&amp;#xC11C;&amp;#xB4DC;&amp;#xB294;, &amp;#xB9AC;&amp;#xC2DC;&amp;#xBC84;&amp;#xAC12;&amp;#xC744; &amp;#xC0C8;&amp;#xB85C; &amp;#xBA54;&amp;#xBAA8;&amp;#xB9AC;&amp;#xC5D0; &amp;#xBCF5;&amp;#xC0AC;&amp;#xD55C; &amp;#xD6C4; &amp;#xBA54;&amp;#xC11C;&amp;#xB4DC; &amp;#xC218;&amp;#xD589;&amp;#xACB0;&amp;#xACFC;&amp;#xB97C; &amp;#xB9AC;&amp;#xD134;&amp;#xD558;&amp;#xAE30; &amp;#xB54C;&amp;#xBB38;&amp;#xC5D0;, a2&amp;#xC5D0;&amp;#xB294; &amp;#xC6B0;&amp;#xB9AC;&amp;#xAC00; &amp;#xC6D0;&amp;#xD558;&amp;#xB294;&amp;#xB300;&amp;#xB85C; 920&amp;#xC774; &amp;#xCD9C;&amp;#xB825;&amp;#xB418;&amp;#xC9C0;&amp;#xB9CC;, &amp;#xAE30;&amp;#xC874; &amp;#xC6D0;&amp;#xBCF8;&amp;#xAC12;&amp;#xC778; a&amp;#xC5D0;&amp;#xB294; &amp;#xC601;&amp;#xD5A5;&amp;#xC744; &amp;#xC8FC;&amp;#xC9C0; &amp;#xC54A;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xC774;&amp;#xB7EC;&amp;#xD55C; &amp;#xC131;&amp;#xC9C8;&amp;#xC744; &amp;#xC798; &amp;#xC720;&amp;#xC758;&amp;#xD558;&amp;#xC5EC; &amp;#xC0C1;&amp;#xD669;&amp;#xC5D0; &amp;#xB9DE;&amp;#xAC8C; &amp;#xBA54;&amp;#xC11C;&amp;#xB4DC;&amp;#xB97C; &amp;#xC120;&amp;#xC5B8;&amp;#xD574;&amp;#xC57C;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;

  &lt;/div&gt;&lt;/div&gt;</description>
      <category>Go</category>
      <category>go</category>
      <author>jiniya22</author>
      <guid isPermaLink="true">https://jini-box.tistory.com/231</guid>
      <comments>https://jini-box.tistory.com/231#entry231comment</comments>
      <pubDate>Sun, 21 Jan 2024 13:35:42 +0900</pubDate>
    </item>
    <item>
      <title>[Go] 10. 패키지</title>
      <link>https://jini-box.tistory.com/229</link>
      <description>&lt;div id=&quot;html-export&quot;&gt;
      &lt;div class=&quot;mume markdown-preview  &quot;&gt;
      &lt;p&gt;package&amp;#xB294; Go&amp;#xC5D0;&amp;#xC11C; &amp;#xCF54;&amp;#xB4DC;&amp;#xB97C; &amp;#xBB36;&amp;#xB294; &amp;#xAC00;&amp;#xC7A5; &amp;#xD070; &amp;#xB2E8;&amp;#xC704;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;&lt;/p&gt;
&lt;p&gt;&amp;#xAD6C;&amp;#xC870;&amp;#xCCB4;&amp;#xB85C; &amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xB97C; &amp;#xBB36;&amp;#xACE0;, &amp;#xD568;&amp;#xC218;&amp;#xB85C; &amp;#xCF54;&amp;#xB4DC;&amp;#xB97C; &amp;#xBB36;&amp;#xC5C8;&amp;#xB2E4;&amp;#xBA74;&lt;br&gt;
&amp;#xD328;&amp;#xD0A4;&amp;#xC9C0;&amp;#xB294; &amp;#xD568;&amp;#xC218;&amp;#xC640; &amp;#xAD6C;&amp;#xC870;&amp;#xCCB4; &amp;#xADF8;&amp;#xB9AC;&amp;#xACE0; &amp;#xADF8;&amp;#xC678;&amp;#xC758; &amp;#xCF54;&amp;#xB4DC;&amp;#xB97C; &amp;#xBB36;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;main&amp;#xD328;&amp;#xD0A4;&amp;#xC9C0;&amp;#xB294; &lt;strong&gt;&amp;#xD504;&amp;#xB85C;&amp;#xADF8;&amp;#xB7A8;&amp;#xC758; &amp;#xC2DC;&amp;#xC791;&amp;#xC810;&amp;#xC778; main()&amp;#xD568;&amp;#xC218;&amp;#xB97C; &amp;#xD3EC;&amp;#xD568;&amp;#xD55C; &amp;#xD328;&amp;#xD0A4;&amp;#xC9C0;&lt;/strong&gt; &amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;. (&amp;#xD504;&amp;#xB85C;&amp;#xADF8;&amp;#xB7A8;&amp;#xC758; &amp;#xC2DC;&amp;#xC791;&amp;#xC810;&amp;#xC774;&amp;#xAE30; &amp;#xB54C;&amp;#xBB38;&amp;#xC5D0; &amp;#xD544;&amp;#xC218; &amp;#xC694;&amp;#xC18C;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;)&lt;/p&gt;
&lt;p&gt;&amp;#xD558;&amp;#xB098;&amp;#xC758; &amp;#xD504;&amp;#xB85C;&amp;#xADF8;&amp;#xB7A8;&amp;#xC740; main&amp;#xD328;&amp;#xD0A4;&amp;#xC9C0; &amp;#xD558;&amp;#xB098;&amp;#xC640; 0&amp;#xAC1C; &amp;#xC774;&amp;#xC0C1;&amp;#xC758; &amp;#xC678;&amp;#xBD80; &amp;#xD328;&amp;#xD0A4;&amp;#xC9C0;&amp;#xB85C; &amp;#xAD6C;&amp;#xC131;&amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xD328;&amp;#xD0A4;&amp;#xC9C0;&amp;#xBA85;&amp;#xC740; &amp;#xC544;&amp;#xB798;&amp;#xC640; &amp;#xAC19;&amp;#xC740; &amp;#xADDC;&amp;#xCE59;&amp;#xC73C;&amp;#xB85C; &amp;#xB9CC;&amp;#xB4DC;&amp;#xB294; &amp;#xAC83;&amp;#xC744; &amp;#xAD8C;&amp;#xC7A5;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&amp;#xCD5C;&amp;#xB300;&amp;#xD55C; &amp;#xAC04;&amp;#xC18C;&amp;#xD558;&amp;#xAC8C;&lt;/li&gt;
&lt;li&gt;&amp;#xC18C;&amp;#xBB38;&amp;#xC790;&amp;#xB9CC;&amp;#xC744; &amp;#xC774;&amp;#xC6A9;&amp;#xD558;&amp;#xC5EC; &amp;#xB9CC;&amp;#xB4E4;&amp;#xAE30;&lt;/li&gt;
&lt;li&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a href=&quot;https://pkg.go.dev/std&quot;&gt;GoLang Standard library&lt;/a&gt; &amp;#xC5D0;&amp;#xC11C; &amp;#xC720;&amp;#xC6A9;&amp;#xD55C; &amp;#xD328;&amp;#xD0A4;&amp;#xC9C0;&amp;#xB97C; &amp;#xD559;&amp;#xC2B5;&amp;#xD558;&amp;#xACE0;, &amp;#xD45C;&amp;#xC900; &amp;#xD328;&amp;#xD0A4;&amp;#xC9C0;&amp;#xC5D0;&amp;#xC11C; &amp;#xC81C;&amp;#xACF5;&amp;#xD558;&amp;#xACE0; &amp;#xC788;&amp;#xB294; &amp;#xAE30;&amp;#xB2A5;&amp;#xC774;&amp;#xB77C;&amp;#xBA74; &amp;#xD65C;&amp;#xC6A9;&amp;#xD558;&amp;#xC5EC; &amp;#xC11C;&amp;#xBE44;&amp;#xC2A4;&amp;#xB97C; &amp;#xAD6C;&amp;#xD604;&amp;#xD558;&amp;#xB294; &amp;#xAC83;&amp;#xC774; &amp;#xC88B;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/avelino/awesome-go&quot;&gt;Awesome Go&lt;/a&gt; &amp;#xC5D0;&amp;#xC11C;&amp;#xB3C4; &amp;#xB9CE;&amp;#xC774; &amp;#xC0AC;&amp;#xC6A9;&amp;#xB418;&amp;#xB294; &amp;#xD328;&amp;#xD0A4;&amp;#xC9C0;&amp;#xB97C; &amp;#xCC38;&amp;#xACE0;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr&gt;
&lt;h2 class=&quot;mume-header&quot; id=&quot;1-%ED%8C%A8%ED%82%A4%EC%A7%80-import&quot;&gt;1.  &amp;#xD328;&amp;#xD0A4;&amp;#xC9C0; import&lt;/h2&gt;

&lt;p&gt;Go&amp;#xC5D0;&amp;#xC11C; import&amp;#xB41C; &amp;#xD328;&amp;#xD0A4;&amp;#xC9C0;&amp;#xB97C; &amp;#xCC3E;&amp;#xB294; &amp;#xBC29;&amp;#xBC95;&amp;#xC740; &amp;#xC544;&amp;#xB798;&amp;#xC640; &amp;#xAC19;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Go&amp;#xC124;&amp;#xCE58; &amp;#xACBD;&amp;#xB85C;&amp;#xB85C;&amp;#xBD80;&amp;#xD130; Go &amp;#xAE30;&amp;#xBCF8;&amp;#xC81C;&amp;#xACF5; &amp;#xD328;&amp;#xD0A4;&amp;#xC9C0;(fmt &amp;#xB4F1;...)&amp;#xB97C; &amp;#xCC3E;&amp;#xACE0;&lt;/li&gt;
&lt;li&gt;&amp;#xC678;&amp;#xBD80; repository(GitHub &amp;#xB4F1;...)&amp;#xC5D0; &amp;#xC800;&amp;#xC7A5;&amp;#xB41C; &amp;#xD328;&amp;#xD0A4;&amp;#xC9C0;&amp;#xC758; &amp;#xACBD;&amp;#xC6B0;, &amp;#xB2E4;&amp;#xC6B4;&amp;#xBC1B;&amp;#xC544;&amp;#xC11C; &lt;strong&gt;GOPATH/pkg&lt;/strong&gt; &amp;#xC5D0; &amp;#xC124;&amp;#xCE58;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.
&lt;ol&gt;
&lt;li&gt;&lt;code&gt;go env GOPATH&lt;/code&gt; &amp;#xBA85;&amp;#xB839;&amp;#xC5B4;&amp;#xB85C; GOPATH&amp;#xB97C; &amp;#xC870;&amp;#xD68C;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;&amp;#xD604;&amp;#xC7AC; &amp;#xBAA8;&amp;#xB4C8; &amp;#xD558;&amp;#xC704;&amp;#xC5D0; &amp;#xC704;&amp;#xCE58;&amp;#xD55C; &amp;#xD328;&amp;#xD0A4;&amp;#xC9C0;&amp;#xB97C; &amp;#xC870;&amp;#xD68C;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;import&amp;#xD560; &amp;#xD328;&amp;#xD0A4;&amp;#xC9C0;&amp;#xAC00; &amp;#xD558;&amp;#xB098;&amp;#xB77C;&amp;#xBA74; &amp;#xD070;&amp;#xB530;&amp;#xC634;&amp;#xD45C;&amp;#xB85C; &amp;#xD328;&amp;#xD0A4;&amp;#xC9C0;&amp;#xBA85;&amp;#xC744; &amp;#xAC10;&amp;#xC2F8;&amp;#xC11C; &amp;#xC544;&amp;#xB798;&amp;#xC640; &amp;#xAC19;&amp;#xC774; &amp;#xC791;&amp;#xC131;&amp;#xD558;&amp;#xBA74; &amp;#xB418;&amp;#xACE0;&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword keyword-import&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;fmt&amp;quot;&lt;/span&gt;
&lt;/pre&gt;&lt;p&gt;&amp;#xC5EC;&amp;#xB7EC;&amp;#xAC1C;&amp;#xBA74; &amp;#xC544;&amp;#xB798;&amp;#xC640; &amp;#xAC19;&amp;#xC774; &amp;#xC18C;&amp;#xAD04;&amp;#xD638;&amp;#xB85C; &amp;#xAC10;&amp;#xC2F8;&amp;#xC11C; import&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;&lt;br&gt;
&amp;#xACBD;&amp;#xB85C;&amp;#xAC00; &amp;#xC788;&amp;#xC744; &amp;#xACBD;&amp;#xC6B0;&amp;#xC5D0;&amp;#xB294; &amp;#xACBD;&amp;#xB85C;&amp;#xB97C; &amp;#xADF8;&amp;#xB300;&amp;#xB85C; &amp;#xC791;&amp;#xC131;&amp;#xD558;&amp;#xACE0;, &amp;#xB9E8;&amp;#xB9C8;&amp;#xC9C0;&amp;#xB9C9; &amp;#xB514;&amp;#xB809;&amp;#xD1A0;&amp;#xB9AC;&amp;#xBA85;&amp;#xC744; &amp;#xC774;&amp;#xC6A9;&amp;#xD558;&amp;#xC5EC; &amp;#xBA54;&amp;#xC11C;&amp;#xB4DC;&amp;#xB97C; &amp;#xC774;&amp;#xC6A9;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xC544;&amp;#xB798;&amp;#xB294;  math/rand &amp;#xD328;&amp;#xD0A4;&amp;#xC9C0;&amp;#xB97C; &amp;#xC774;&amp;#xC6A9;&amp;#xD558;&amp;#xC5EC; 0&amp;#xC774;&amp;#xC0C1; 10&amp;#xBBF8;&amp;#xB9CC;&amp;#xC758; &amp;#xB79C;&amp;#xB364;&amp;#xC218; 10&amp;#xAC1C;&amp;#xB97C; &amp;#xCD9C;&amp;#xB825;&amp;#xD558;&amp;#xB294; &amp;#xCF54;&amp;#xB4DC;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword keyword-package&quot;&gt;package&lt;/span&gt; main  

&lt;span class=&quot;token keyword keyword-import&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;  
  &lt;span class=&quot;token string&quot;&gt;&amp;quot;fmt&amp;quot;&lt;/span&gt;  
  &lt;span class=&quot;token string&quot;&gt;&amp;quot;math/rand&amp;quot;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;  

&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;main&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;  
  &lt;span class=&quot;token keyword keyword-for&quot;&gt;for&lt;/span&gt; i &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; i &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;10&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; i&lt;span class=&quot;token operator&quot;&gt;++&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;  
   fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Print&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;rand&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Intn&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;10&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot; &amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;  
  &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;  
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;p&gt;&amp;#xB9CC;&amp;#xC57D;, &amp;#xD328;&amp;#xD0A4;&amp;#xC9C0; &amp;#xBA85;&amp;#xC774; &amp;#xB3D9;&amp;#xC77C;&amp;#xD55C; &amp;#xD328;&amp;#xD0A4;&amp;#xC9C0;&amp;#xB97C; import&amp;#xD574;&amp;#xC57C;&amp;#xD55C;&amp;#xB2E4;&amp;#xBA74;, &amp;#xD328;&amp;#xD0A4;&amp;#xC9C0;&amp;#xBA85; &amp;#xC55E;&amp;#xC5D0; &amp;#xBCC4;&amp;#xBA85;&amp;#xC744; &amp;#xBD99;&amp;#xC5EC;&amp;#xC8FC;&amp;#xBA74; &amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword keyword-import&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;
	&lt;span class=&quot;token string&quot;&gt;&amp;quot;text/template&amp;quot;&lt;/span&gt;
	htemplate &lt;span class=&quot;token string&quot;&gt;&amp;quot;html/template&amp;quot;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;/pre&gt;&lt;p&gt;&amp;#xC0AC;&amp;#xC6A9;&amp;#xD558;&amp;#xC9C0; &amp;#xC54A;&amp;#xB294; &amp;#xD328;&amp;#xD0A4;&amp;#xC9C0;&amp;#xBA85;&amp;#xC744; import&amp;#xD560; &amp;#xACBD;&amp;#xC6B0;, &amp;#xC5D0;&amp;#xB7EC;&amp;#xAC00; &amp;#xB0A9;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xC0AC;&amp;#xC6A9;&amp;#xD558;&amp;#xC9C0;&amp;#xB294; &amp;#xC54A;&amp;#xC9C0;&amp;#xB9CC; &amp;#xBD80;&amp;#xAC00;&amp;#xD6A8;&amp;#xACFC;&amp;#xB97C; &amp;#xC774;&amp;#xC6A9;&amp;#xD558;&amp;#xAE30; &amp;#xC704;&amp;#xD574; import&amp;#xAC00; &amp;#xD544;&amp;#xC694;&amp;#xD55C; &amp;#xACBD;&amp;#xC6B0;&amp;#xC5D0;&amp;#xB294; &amp;#xD328;&amp;#xD0A4;&amp;#xC9C0;&amp;#xBA85; &amp;#xC55E;&amp;#xC5D0; &lt;code&gt;_&lt;/code&gt;&amp;#xB97C; &amp;#xBD99;&amp;#xC5EC;&amp;#xC8FC;&amp;#xBA74; &amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;#xBD80;&amp;#xAC00;&amp;#xD6A8;&amp;#xACFC;&amp;#xB780; &amp;#xD328;&amp;#xD0A4;&amp;#xC9C0;&amp;#xAC00; &amp;#xCD08;&amp;#xAE30;&amp;#xD654;&amp;#xB418;&amp;#xBA74;&amp;#xC11C; &amp;#xC2E4;&amp;#xD589;&amp;#xB418;&amp;#xB294; &amp;#xCF54;&amp;#xB4DC;&amp;#xC5D0; &amp;#xB530;&amp;#xB978; &amp;#xD6A8;&amp;#xACFC;&amp;#xB97C; &amp;#xC758;&amp;#xBBF8;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword keyword-import&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;
	&lt;span class=&quot;token boolean&quot;&gt;_&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;github.com/mattn/go-sqlite3&amp;quot;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;/pre&gt;&lt;hr&gt;
&lt;h2 class=&quot;mume-header&quot; id=&quot;2-go%EB%AA%A8%EB%93%88&quot;&gt;2. Go&amp;#xBAA8;&amp;#xB4C8;&lt;/h2&gt;

&lt;p&gt;Go 1.16 &amp;#xC774;&amp;#xC0C1;&amp;#xC758; &amp;#xBC84;&amp;#xC804;&amp;#xC5D0;&amp;#xC11C;&amp;#xB294; &amp;#xBAA8;&amp;#xB4E0; Go&amp;#xCF54;&amp;#xB4DC;&amp;#xB294; Go&amp;#xBAA8;&amp;#xB4C8; &amp;#xC544;&amp;#xB798;&amp;#xC5D0; &amp;#xC788;&amp;#xC5B4;&amp;#xC57C; &amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;#xC774;&amp;#xC804; &amp;#xBC84;&amp;#xC804;&amp;#xC758; &amp;#xACBD;&amp;#xC6B0;, Go&amp;#xBAA8;&amp;#xB4C8;&amp;#xC744; &amp;#xB9CC;&amp;#xB4E4;&amp;#xC9C0; &amp;#xC54A;&amp;#xC740; Go&amp;#xCF54;&amp;#xB4DC;&amp;#xB294; &lt;strong&gt;GOPATH/src&lt;/strong&gt; &amp;#xC544;&amp;#xB798;&amp;#xC5D0; &amp;#xC704;&amp;#xCE58;&amp;#xC2DC;&amp;#xCF1C;&amp;#xC57C; &amp;#xD588;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;strong&gt;go build&lt;/strong&gt; &amp;#xD558;&amp;#xAE30; &amp;#xC704;&amp;#xD574;&amp;#xC11C;&amp;#xB294; Go&amp;#xBAA8;&amp;#xB4C8; &amp;#xB8E8;&amp;#xD2B8; &amp;#xD3F4;&amp;#xB354;&amp;#xC5D0; &lt;strong&gt;go.mod&lt;/strong&gt; &amp;#xD30C;&amp;#xC77C;&amp;#xC774; &amp;#xBC18;&amp;#xB4DC;&amp;#xC2DC; &amp;#xC788;&amp;#xC5B4;&amp;#xC57C; &amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;go.mod &amp;#xD30C;&amp;#xC77C;&amp;#xC740; Go &amp;#xBC84;&amp;#xC804;, &amp;#xD544;&amp;#xC694;&amp;#xD55C; &amp;#xC678;&amp;#xBD80; &amp;#xD328;&amp;#xD0A4;&amp;#xC9C0; &amp;#xB4F1;&amp;#xC774; &amp;#xBA85;&amp;#xC2DC;&amp;#xB41C; &amp;#xD30C;&amp;#xC77C;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Go&amp;#xBAA8;&amp;#xB4C8;&amp;#xC744; &amp;#xB9CC;&amp;#xB4DC;&amp;#xB294; &amp;#xBC29;&amp;#xBC95;&amp;#xC740; &amp;#xC544;&amp;#xB798;&amp;#xC758; &amp;#xBA85;&amp;#xB839;&amp;#xC744; &amp;#xD1B5;&amp;#xD574; &lt;code&gt;go.mod&lt;/code&gt; &amp;#xD30C;&amp;#xC77C;&amp;#xC744; &amp;#xC0DD;&amp;#xC131;&amp;#xD558;&amp;#xB294; &amp;#xAC83;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;go mod init &amp;#xD328;&amp;#xD0A4;&amp;#xC9C0;&amp;#xBA85;
&lt;/pre&gt;&lt;p&gt;go.mod &amp;#xD30C;&amp;#xC77C;&amp;#xC774; &amp;#xC0DD;&amp;#xC131;&amp;#xB418;&amp;#xBA74; &lt;code&gt;go build&lt;/code&gt; &amp;#xBA85;&amp;#xB839;&amp;#xC73C;&amp;#xB85C; &amp;#xBE4C;&amp;#xB4DC;&amp;#xAC00; &amp;#xAC00;&amp;#xB2A5;&amp;#xD574;&amp;#xC9C0;&amp;#xACE0;, &amp;#xBE4C;&amp;#xB4DC;&amp;#xB97C; &amp;#xD558;&amp;#xBA74; Go &amp;#xC2E4;&amp;#xD589;&amp;#xD30C;&amp;#xC77C;&amp;#xC774; &amp;#xC0DD;&amp;#xC131;&amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;br&gt;
&lt;h3 class=&quot;mume-header&quot; id=&quot;21-%EB%AA%A8%EB%93%88-%ED%99%9C%EC%9A%A9-%EC%8B%A4%EC%8A%B5&quot;&gt;2.1. &amp;#xBAA8;&amp;#xB4C8; &amp;#xD65C;&amp;#xC6A9; &amp;#xC2E4;&amp;#xC2B5;&lt;/h3&gt;

&lt;p&gt;goproject &amp;#xD504;&amp;#xB85C;&amp;#xC81D;&amp;#xD2B8; &amp;#xB0B4;&amp;#xC5D0;&amp;#xC11C; usepkg &amp;#xB514;&amp;#xB809;&amp;#xD1A0;&amp;#xB9AC;&amp;#xB97C; &amp;#xB9CC;&amp;#xB4E0; &amp;#xD6C4;, &amp;#xADF8; &amp;#xB514;&amp;#xB809;&amp;#xD1A0;&amp;#xB9AC;&amp;#xB85C; &amp;#xC774;&amp;#xB3D9;&amp;#xD558;&amp;#xC5EC;&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;&lt;span class=&quot;token function&quot;&gt;mkdir&lt;/span&gt; usepkg
&lt;span class=&quot;token builtin class-name&quot;&gt;cd&lt;/span&gt; usepkg
&lt;/pre&gt;&lt;p&gt;&amp;#xC544;&amp;#xB798;&amp;#xC758; &amp;#xBA85;&amp;#xB839;&amp;#xC5B4;&amp;#xB97C; &amp;#xC774;&amp;#xC6A9;&amp;#xD558;&amp;#xC5EC; usepkg&amp;#xB514;&amp;#xB809;&amp;#xD1A0;&amp;#xB9AC;&amp;#xAC00; &amp;#xBAA8;&amp;#xB4C8; &amp;#xC791;&amp;#xB3D9;&amp;#xB418;&amp;#xB3C4;&amp;#xB85D; &amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;go mod init goproject/usepkg
&lt;/pre&gt;&lt;p&gt;&amp;#xADF8;&amp;#xB7EC;&amp;#xBA74; &amp;#xC544;&amp;#xB798;&amp;#xC640; &amp;#xAC19;&amp;#xC740; &amp;#xB0B4;&amp;#xC6A9;&amp;#xC744; &amp;#xB2F4;&amp;#xACE0; &amp;#xC788;&amp;#xB294; go.mod&amp;#xD30C;&amp;#xC77C;&amp;#xC774; &amp;#xC0DD;&amp;#xC131;&amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;txt&quot; class=&quot;language-txt&quot;&gt;module goproject/usepkg

go 1.21.5
&lt;/pre&gt;&lt;br&gt;
&lt;h4 class=&quot;mume-header&quot; id=&quot;211-%EB%AA%A8%EB%93%88-%EB%82%B4-%ED%8C%A8%ED%82%A4%EC%A7%80-%EB%A7%8C%EB%93%A4%EA%B8%B0&quot;&gt;2.1.1. &amp;#xBAA8;&amp;#xB4C8; &amp;#xB0B4; &amp;#xD328;&amp;#xD0A4;&amp;#xC9C0; &amp;#xB9CC;&amp;#xB4E4;&amp;#xAE30;&lt;/h4&gt;

&lt;p&gt;usepkg &amp;#xB0B4;&amp;#xC5D0; custompkg&amp;#xB514;&amp;#xB809;&amp;#xD1A0;&amp;#xB9AC;&amp;#xB97C; &amp;#xB9CC;&amp;#xB4E4;&amp;#xACE0;, custompkg.go&amp;#xB97C; &amp;#xB9CC;&amp;#xB4ED;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;&lt;span class=&quot;token function&quot;&gt;mkdir&lt;/span&gt; custompkg
&lt;span class=&quot;token builtin class-name&quot;&gt;cd&lt;/span&gt; custompkg
&lt;span class=&quot;token function&quot;&gt;vim&lt;/span&gt; custompkg.go
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword keyword-package&quot;&gt;package&lt;/span&gt; custompkg  

&lt;span class=&quot;token keyword keyword-import&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;fmt&amp;quot;&lt;/span&gt;  

&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;PrintLine&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;  
  fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;-----------&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;  
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;br&gt;
&lt;h4 class=&quot;mume-header&quot; id=&quot;212-%EB%AA%A8%EB%93%88-%EB%82%B4-%ED%8C%A8%ED%82%A4%EC%A7%80-%EB%B0%8F-%EC%99%B8%EB%B6%80-repository-%ED%8C%A8%ED%82%A4%EC%A7%80-%ED%99%9C%EC%9A%A9&quot;&gt;2.1.2. &amp;#xBAA8;&amp;#xB4C8; &amp;#xB0B4; &amp;#xD328;&amp;#xD0A4;&amp;#xC9C0; &amp;#xBC0F; &amp;#xC678;&amp;#xBD80; repository &amp;#xD328;&amp;#xD0A4;&amp;#xC9C0; &amp;#xD65C;&amp;#xC6A9;&lt;/h4&gt;

&lt;p&gt;&amp;#xB2E4;&amp;#xC2DC; &amp;#xC0C1;&amp;#xC704; &amp;#xB514;&amp;#xB809;&amp;#xD1A0;&amp;#xB9AC;&amp;#xC778; usepkg&amp;#xB85C; &amp;#xC774;&amp;#xB3D9;&amp;#xD558;&amp;#xC5EC;, usepkg.go&amp;#xB97C; &amp;#xC0DD;&amp;#xC131;&amp;#xD558;&amp;#xACE0; &amp;#xBAA8;&amp;#xB4C8;&amp;#xB0B4;&amp;#xC5D0; &amp;#xC788;&amp;#xB294; &amp;#xD328;&amp;#xD0A4;&amp;#xC9C0;&amp;#xB97C; &amp;#xD65C;&amp;#xC6A9;&amp;#xD574;&amp;#xBD05;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;&lt;span class=&quot;token builtin class-name&quot;&gt;cd&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;..&lt;/span&gt;
&lt;span class=&quot;token function&quot;&gt;touch&lt;/span&gt; usepkg.go
&lt;/pre&gt;&lt;br&gt;
&lt;p&gt;&amp;#xC870;&amp;#xAE08; &amp;#xC804;&amp;#xC5D0; &amp;#xC0DD;&amp;#xC131;&amp;#xD55C; &amp;#xBAA8;&amp;#xB4C8;&amp;#xACFC; (&lt;code&gt;&amp;quot;goproject/usepkg/custompkg&amp;quot;&lt;/code&gt;)&lt;br&gt;
github&amp;#xC5D0; &amp;#xC788;&amp;#xB294; &amp;#xC678;&amp;#xBD80; repository &amp;#xD328;&amp;#xD0A4;&amp;#xC9C0;&amp;#xB97C; import&amp;#xD558;&amp;#xC5EC; &amp;#xD568;&amp;#xC218;&amp;#xB97C; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD574;&amp;#xBCF4;&amp;#xC558;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword keyword-package&quot;&gt;package&lt;/span&gt; main  

&lt;span class=&quot;token keyword keyword-import&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;  
  &lt;span class=&quot;token string&quot;&gt;&amp;quot;fmt&amp;quot;&lt;/span&gt;  
  &lt;span class=&quot;token string&quot;&gt;&amp;quot;github.com/guptarohit/asciigraph&amp;quot;&lt;/span&gt;  
  &lt;span class=&quot;token string&quot;&gt;&amp;quot;goproject/usepkg/custompkg&amp;quot;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;  

&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;main&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;  
  custompkg&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;PrintLine&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;  
  data &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token builtin&quot;&gt;float64&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;3&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;4&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;5&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;8&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;10&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;5&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;  
  graph &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; asciigraph&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Plot&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;data&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;  
  fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;graph&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;  
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;p&gt;&lt;code&gt;go mod tidy&lt;/code&gt; &amp;#xBA85;&amp;#xB839;&amp;#xC5B4;&amp;#xB97C; &amp;#xC774;&amp;#xC6A9;&amp;#xD558;&amp;#xC5EC; &amp;#xD544;&amp;#xC694;&amp;#xD55C; &amp;#xC678;&amp;#xBD80; &amp;#xD328;&amp;#xD0A4;&amp;#xC9C0;&amp;#xB97C; &amp;#xB2E4;&amp;#xC6B4;&amp;#xBC1B;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;go mod tidy
&lt;/pre&gt;&lt;p&gt;&amp;#xADF8;&amp;#xB7EC;&amp;#xBA74; &amp;#xC678;&amp;#xBD80; &amp;#xD328;&amp;#xD0A4;&amp;#xC9C0;&amp;#xAC00; &amp;#xB2E4;&amp;#xC6B4;&amp;#xB85C;&amp;#xB4DC; &amp;#xBC1B;&amp;#xC544;&amp;#xC9C0;&amp;#xACE0;, &lt;em&gt;go.mod&lt;/em&gt; &amp;#xD30C;&amp;#xC77C;&amp;#xC5D0; &amp;#xB9E8; &amp;#xC544;&amp;#xB798;&amp;#xC904;&amp;#xC774; &amp;#xCD94;&amp;#xAC00;&amp;#xB41C; &amp;#xAC83;&amp;#xC744; &amp;#xD655;&amp;#xC778;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC73C;&amp;#xBA70;, go.sum &amp;#xD30C;&amp;#xC77C;&amp;#xC774; &amp;#xC0DD;&amp;#xC131;&amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;txt&quot; class=&quot;language-txt&quot;&gt;module goproject/usepkg  

go 1.21.5  

require github.com/guptarohit/asciigraph v0.5.6
&lt;/pre&gt;&lt;br&gt;
&lt;p&gt;go.sum &amp;#xD30C;&amp;#xC77C;&amp;#xC5D0;&amp;#xB3C4; &amp;#xD328;&amp;#xD0A4;&amp;#xC9C0;&amp;#xC758; &amp;#xBC84;&amp;#xC804;&amp;#xC815;&amp;#xBCF4;&amp;#xAC00; &amp;#xAE30;&amp;#xC785;&amp;#xB418;&amp;#xC5B4;&amp;#xC788;&amp;#xB294;&amp;#xB370;, &amp;#xD328;&amp;#xD0A4;&amp;#xC9C0;&amp;#xC758; &amp;#xC704;&amp;#xC870; &amp;#xC5EC;&amp;#xBD80;&amp;#xB97C; &amp;#xAC80;&amp;#xC0AC;&amp;#xD558;&amp;#xAE30; &amp;#xC704;&amp;#xD55C; checksum &amp;#xACB0;&amp;#xACFC;&amp;#xB97C; &amp;#xB2F5;&amp;#xACE0; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;txt&quot; class=&quot;language-txt&quot;&gt;github.com/guptarohit/asciigraph v0.5.6 h1:0tra3HEhfdj1sP/9IedrCpfSiXYTtHdCgBhBL09Yx6E=  
github.com/guptarohit/asciigraph v0.5.6/go.mod h1:dYl5wwK4gNsnFf9Zp+l06rFiDZ5YtXM6x7SRWZ3KGag=
&lt;/pre&gt;&lt;br&gt;
&lt;p&gt;&amp;#xD544;&amp;#xC694;&amp;#xD55C; &amp;#xD328;&amp;#xD0A4;&amp;#xC9C0;&amp;#xB97C; &amp;#xBAA8;&amp;#xB450; &amp;#xB2E4;&amp;#xC6B4;&amp;#xBC1B;&amp;#xC558;&amp;#xC73C;&amp;#xB2C8;, &amp;#xC774;&amp;#xC81C; &amp;#xBE4C;&amp;#xB4DC; &amp;#xD6C4; &amp;#xD504;&amp;#xB85C;&amp;#xADF8;&amp;#xB7A8;&amp;#xC744; &amp;#xC2E4;&amp;#xD589;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;go build
./usepkg
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;-----------
 &lt;span class=&quot;token number&quot;&gt;10.00&lt;/span&gt; &amp;#x2524;   &amp;#x256D;&amp;#x256E;
  &lt;span class=&quot;token number&quot;&gt;9.00&lt;/span&gt; &amp;#x2524;   &amp;#x2502;&amp;#x2502;
  &lt;span class=&quot;token number&quot;&gt;8.00&lt;/span&gt; &amp;#x2524;  &amp;#x256D;&amp;#x256F;&amp;#x2502;
  &lt;span class=&quot;token number&quot;&gt;7.00&lt;/span&gt; &amp;#x2524;  &amp;#x2502; &amp;#x2502;
  &lt;span class=&quot;token number&quot;&gt;6.00&lt;/span&gt; &amp;#x2524;  &amp;#x2502; &amp;#x2502;
  &lt;span class=&quot;token number&quot;&gt;5.00&lt;/span&gt; &amp;#x2524; &amp;#x256D;&amp;#x256F; &amp;#x2570;&amp;#x256E;
  &lt;span class=&quot;token number&quot;&gt;4.00&lt;/span&gt; &amp;#x2524;&amp;#x256D;&amp;#x256F;   &amp;#x2502;
  &lt;span class=&quot;token number&quot;&gt;3.00&lt;/span&gt; &amp;#x253C;&amp;#x256F;    &amp;#x2502;
  &lt;span class=&quot;token number&quot;&gt;2.00&lt;/span&gt; &amp;#x2524;     &amp;#x2570;
&lt;/pre&gt;&lt;p&gt;&amp;#xB2E4;&amp;#xC6B4;&amp;#xBC1B;&amp;#xC740; &amp;#xC678;&amp;#xBD80; &amp;#xD328;&amp;#xD0A4;&amp;#xC9C0; &amp;#xBAA8;&amp;#xB4C8;&amp;#xC740; &lt;code&gt;GOPATH/pkg/mod&lt;/code&gt; &amp;#xC5D0; &amp;#xC124;&amp;#xCE58;&amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;MacOS&amp;#xC758; &amp;#xACBD;&amp;#xC6B0; &lt;code&gt;~/go&lt;/code&gt; &amp;#xD558;&amp;#xC704;&amp;#xC5D0; &amp;#xC124;&amp;#xCE58;&amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;img width=&quot;600&quot; src=&quot;https://raw.githubusercontent.com/jiniya22/image_box/master/Book/Go/01-4.png&quot;&gt;&lt;br&gt;&lt;br&gt;&lt;/p&gt;
&lt;p&gt;&amp;#xC774;&amp;#xBBF8; &amp;#xB2E4;&amp;#xC6B4;&amp;#xBC1B;&amp;#xC740; &amp;#xD328;&amp;#xD0A4;&amp;#xC9C0;&amp;#xB97C; &amp;#xB2E4;&amp;#xB978; &amp;#xBAA8;&amp;#xB4C8;&amp;#xC5D0;&amp;#xC11C; &amp;#xD65C;&amp;#xC6A9;&amp;#xD560; &amp;#xB54C;&amp;#xC5D0;&amp;#xB294;, &amp;#xB2E4;&amp;#xC6B4;&amp;#xB85C;&amp;#xB4DC;&amp;#xD558;&amp;#xC9C0; &amp;#xC54A;&amp;#xACE0; &amp;#xAE30;&amp;#xC874;&amp;#xC5D0; &amp;#xB2E4;&amp;#xC6B4;&amp;#xBC1B;&amp;#xC558;&amp;#xB358; &amp;#xBAA8;&amp;#xB4C8;&amp;#xC744; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 class=&quot;mume-header&quot; id=&quot;3-%ED%8C%A8%ED%82%A4%EC%A7%80-%EC%99%B8%EB%B6%80-%EA%B3%B5%EA%B0%9C&quot;&gt;3.  &amp;#xD328;&amp;#xD0A4;&amp;#xC9C0; &amp;#xC678;&amp;#xBD80; &amp;#xACF5;&amp;#xAC1C;&lt;/h2&gt;

&lt;p&gt;ch16&amp;#xB514;&amp;#xB809;&amp;#xD1A0;&amp;#xB9AC; &amp;#xD558;&amp;#xC704;&amp;#xC5D0; &amp;#xBAA8;&amp;#xB4C8;&amp;#xB85C; &amp;#xC774;&amp;#xC6A9;&amp;#xD560; ex16.2 &amp;#xB514;&amp;#xB809;&amp;#xD1A0;&amp;#xB9AC;&amp;#xB97C; &amp;#xC0DD;&amp;#xC131;&amp;#xD55C; &amp;#xD6C4;, &amp;#xADF8; &amp;#xB514;&amp;#xB809;&amp;#xD1A0;&amp;#xB9AC;&amp;#xB85C; &amp;#xC774;&amp;#xB3D9;&amp;#xD55C; &amp;#xD6C4;, &lt;code&gt;go mod init&lt;/code&gt; &amp;#xBA85;&amp;#xB839;&amp;#xC5B4;&amp;#xB97C; &amp;#xC2E4;&amp;#xD589;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;&lt;span class=&quot;token builtin class-name&quot;&gt;cd&lt;/span&gt; ch16
&lt;span class=&quot;token function&quot;&gt;mkdir&lt;/span&gt; ex16.2
&lt;span class=&quot;token builtin class-name&quot;&gt;cd&lt;/span&gt; ex16.2
go mod init ch16/ex16.2
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;&lt;span class=&quot;token function&quot;&gt;mkdir&lt;/span&gt; publicpkg
&lt;span class=&quot;token builtin class-name&quot;&gt;cd&lt;/span&gt; publicpkg
&lt;span class=&quot;token function&quot;&gt;vim&lt;/span&gt; publicpkg.go
&lt;/pre&gt;&lt;p&gt;publicpkg.go &amp;#xD30C;&amp;#xC77C;&amp;#xC5D0; &amp;#xBCC0;&amp;#xC218;&amp;#xC640; &amp;#xC0C1;&amp;#xC218;, &amp;#xAD6C;&amp;#xC870;&amp;#xCCB4;, &amp;#xD568;&amp;#xC218; &amp;#xB4F1;&amp;#xC744; &amp;#xACF5;&amp;#xAC1C;&amp;#xD615;&amp;#xACFC; &amp;#xBE44;&amp;#xACF5;&amp;#xAC1C;&amp;#xD615;&amp;#xC744; &amp;#xC815;&amp;#xC758;&amp;#xD574;&amp;#xBD05;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;#xB9E8; &amp;#xCCAB;&amp;#xBC88;&amp;#xC9F8; &amp;#xBB38;&amp;#xC790;&amp;#xB97C; &amp;#xB300;&amp;#xBB38;&amp;#xC790;&amp;#xB85C; &amp;#xC124;&amp;#xC815;&amp;#xD560; &amp;#xACBD;&amp;#xC6B0; &amp;#xACF5;&amp;#xAC1C;&amp;#xD615;&amp;#xD0DC;&amp;#xAC00; &amp;#xB418;&amp;#xACE0;, &amp;#xC18C;&amp;#xBB38;&amp;#xC790;&amp;#xB85C; &amp;#xC124;&amp;#xC815;&amp;#xD560; &amp;#xACBD;&amp;#xC6B0; &amp;#xBE44;&amp;#xACF5;&amp;#xAC1C;&amp;#xD615;&amp;#xD0DC;&amp;#xAC00; &amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword keyword-package&quot;&gt;package&lt;/span&gt; publicpkg  

&lt;span class=&quot;token keyword keyword-import&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;fmt&amp;quot;&lt;/span&gt;  

&lt;span class=&quot;token keyword keyword-const&quot;&gt;const&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;  
  PI &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;3.1415&lt;/span&gt;  
  pi &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;3.14&lt;/span&gt;  
&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;  

&lt;span class=&quot;token keyword keyword-var&quot;&gt;var&lt;/span&gt; ScreenSize &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;1080&lt;/span&gt;  
&lt;span class=&quot;token keyword keyword-var&quot;&gt;var&lt;/span&gt; screenHeight &lt;span class=&quot;token builtin&quot;&gt;int&lt;/span&gt;  

&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;PublicFunc&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;  
  &lt;span class=&quot;token keyword keyword-const&quot;&gt;const&lt;/span&gt; MyConst &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;100&lt;/span&gt;  
  fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;PublicFunc &amp;#xB294; &amp;#xACF5;&amp;#xAC1C;&amp;#xD568;&amp;#xC218;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;!&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; MyConst&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;  
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;  

&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;privateFunc&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;  
  fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;privateFunc &amp;#xB294; &amp;#xBE44;&amp;#xACF5;&amp;#xAC1C;&amp;#xD568;&amp;#xC218;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;!&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;  
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;  

&lt;span class=&quot;token keyword keyword-type&quot;&gt;type&lt;/span&gt; MyInt &lt;span class=&quot;token builtin&quot;&gt;int&lt;/span&gt;  
&lt;span class=&quot;token keyword keyword-type&quot;&gt;type&lt;/span&gt; myString &lt;span class=&quot;token builtin&quot;&gt;string&lt;/span&gt;  

&lt;span class=&quot;token keyword keyword-type&quot;&gt;type&lt;/span&gt; MyStruct &lt;span class=&quot;token keyword keyword-struct&quot;&gt;struct&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;  
  Age  &lt;span class=&quot;token builtin&quot;&gt;int&lt;/span&gt;  
  Name &lt;span class=&quot;token builtin&quot;&gt;string&lt;/span&gt;  
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;  

&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;m MyStruct&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;PublicMethod&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;  
  fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;MyStruct &amp;#xC5D0; &amp;#xB4E4;&amp;#xC5B4;&amp;#xC788;&amp;#xB294; &amp;#xACF5;&amp;#xAC1C; &amp;#xBA54;&amp;#xC11C;&amp;#xB4DC;&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;  
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;  

&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;m MyStruct&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;privateMethod&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;  
  fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;MyStruct &amp;#xC5D0; &amp;#xB4E4;&amp;#xC5B4;&amp;#xC788;&amp;#xB294; &amp;#xBE44;&amp;#xACF5;&amp;#xAC1C; &amp;#xBA54;&amp;#xC11C;&amp;#xB4DC;&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;  
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;  

&lt;span class=&quot;token keyword keyword-type&quot;&gt;type&lt;/span&gt; myPrivateStruct &lt;span class=&quot;token keyword keyword-struct&quot;&gt;struct&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;  
  Age  &lt;span class=&quot;token builtin&quot;&gt;int&lt;/span&gt;  
  Name &lt;span class=&quot;token builtin&quot;&gt;string&lt;/span&gt;  
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;  

&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;m myPrivateStruct&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;PrivateMethod&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;  
  fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;myPrivateStruct &amp;#xC5D0; &amp;#xB4E4;&amp;#xC5B4;&amp;#xC788;&amp;#xB294; &amp;#xBE44;&amp;#xACF5;&amp;#xAC1C; &amp;#xBA54;&amp;#xC11C;&amp;#xB4DC;&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;  
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;br&gt;
&lt;p&gt;&amp;#xC0C1;&amp;#xC704; &amp;#xB514;&amp;#xB809;&amp;#xD1A0;&amp;#xB9AC;&amp;#xB85C; &amp;#xC774;&amp;#xB3D9;&amp;#xD55C; &amp;#xD6C4;, ex16.2.go &amp;#xD30C;&amp;#xC77C;&amp;#xC744; &amp;#xC0DD;&amp;#xC131;&amp;#xD558;&amp;#xACE0;, &amp;#xC870;&amp;#xAE08; &amp;#xC804;&amp;#xC5D0; &amp;#xC815;&amp;#xC758;&amp;#xD55C; &amp;#xACF5;&amp;#xAC1C;&amp;#xBCC0;&amp;#xC218;/&amp;#xAD6C;&amp;#xC870;&amp;#xCCB4;/&amp;#xD568;&amp;#xC218;&amp;#xB97C; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD574;&amp;#xBD05;&amp;#xC2DC;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword keyword-package&quot;&gt;package&lt;/span&gt; main  

&lt;span class=&quot;token keyword keyword-import&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;  
  &lt;span class=&quot;token string&quot;&gt;&amp;quot;ch16/ex16.2/publicpkg&amp;quot;&lt;/span&gt;  
  &lt;span class=&quot;token string&quot;&gt;&amp;quot;fmt&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;  

&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;main&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;  
  fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Printf&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;PI: %v, ScreenSize: %v\n&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; publicpkg&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;PI&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; publicpkg&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;ScreenSize&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;  
  publicpkg&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;PublicFunc&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;  

  &lt;span class=&quot;token keyword keyword-var&quot;&gt;var&lt;/span&gt; myInt publicpkg&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;MyInt &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;10&lt;/span&gt;  
  fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;myInt:&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; myInt&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;  

  myStruct &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; publicpkg&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;MyStruct&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;Name&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;jini&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;  
  fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;myStruct&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;  
  myStruct&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;PublicMethod&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;  
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;PI:  &lt;span class=&quot;token number&quot;&gt;3.1415&lt;/span&gt;
PublicFunc &amp;#xB294; &amp;#xACF5;&amp;#xAC1C;&amp;#xD568;&amp;#xC218;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;&lt;span class=&quot;token operator&quot;&gt;!&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;100&lt;/span&gt;
myInt: &lt;span class=&quot;token number&quot;&gt;10&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt; jini&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
MyStruct &amp;#xC5D0; &amp;#xB4E4;&amp;#xC5B4;&amp;#xC788;&amp;#xB294; &amp;#xACF5;&amp;#xAC1C; &amp;#xBA54;&amp;#xC11C;&amp;#xB4DC;
&lt;/pre&gt;&lt;br&gt;
&lt;p&gt;publicpkg &amp;#xBAA8;&amp;#xB4C8;&amp;#xB0B4;&amp;#xC5D0;&amp;#xC11C; &amp;#xACF5;&amp;#xAC1C;&amp;#xD615;&amp;#xB9CC; &amp;#xC811;&amp;#xADFC;&amp;#xAC00;&amp;#xB2A5;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;!&lt;/p&gt;
&lt;img width=&quot;600&quot; src=&quot;https://raw.githubusercontent.com/jiniya22/image_box/master/Book/Go/01-5.png&quot;&gt;
&lt;hr&gt;
&lt;h2 class=&quot;mume-header&quot; id=&quot;4-%ED%8C%A8%ED%82%A4%EC%A7%80-%EC%B4%88%EA%B8%B0%ED%99%94&quot;&gt;4. &amp;#xD328;&amp;#xD0A4;&amp;#xC9C0; &amp;#xCD08;&amp;#xAE30;&amp;#xD654;&lt;/h2&gt;

&lt;p&gt;&amp;#xD328;&amp;#xD0A4;&amp;#xC9C0;&amp;#xB97C; import &amp;#xD588;&amp;#xC744; &amp;#xB54C;, &amp;#xC544;&amp;#xB798;&amp;#xC758; &amp;#xB3D9;&amp;#xC791; &amp;#xACFC;&amp;#xC815;&amp;#xC744; &amp;#xAC70;&amp;#xCE69;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&amp;#xCEF4;&amp;#xD30C;&amp;#xC77C;&amp;#xB7EC;&amp;#xAC00; &amp;#xD328;&amp;#xD0A4;&amp;#xC9C0; &amp;#xB0B4;&amp;#xC758; &amp;#xC804;&amp;#xC5ED;&amp;#xBCC0;&amp;#xC218;&amp;#xB97C; &amp;#xCD08;&amp;#xAE30;&amp;#xD654;&lt;/li&gt;
&lt;li&gt;&amp;#xD328;&amp;#xD0A4;&amp;#xC9C0;&amp;#xC5D0; init()&amp;#xD568;&amp;#xC218;&amp;#xAC00; &amp;#xC788;&amp;#xC744; &amp;#xACBD;&amp;#xC6B0;, init()&amp;#xD568;&amp;#xC218;&amp;#xB97C; &amp;#xD638;&amp;#xCD9C;&amp;#xD558;&amp;#xC5EC; &amp;#xD328;&amp;#xD0A4;&amp;#xC9C0;&amp;#xB97C; &amp;#xCD08;&amp;#xAE30;&amp;#xD654;&amp;#xD568;
&lt;ol&gt;
&lt;li&gt;init() &amp;#xD568;&amp;#xC218;&amp;#xB294; &lt;strong&gt;&amp;#xBC18;&amp;#xB4DC;&amp;#xC2DC;&lt;/strong&gt; &amp;#xC785;&amp;#xB825; &amp;#xB9E4;&amp;#xAC1C;&amp;#xBCC0;&amp;#xC218;&amp;#xC640; &amp;#xBC18;&amp;#xD658;&amp;#xAC12;&amp;#xC774; &amp;#xC5C6;&amp;#xB294; &amp;#xD568;&amp;#xC218;&amp;#xC5EC;&amp;#xC57C; &amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;go&amp;#xC5D0;&amp;#xC11C; &amp;#xC5B4;&amp;#xB5A4; &amp;#xD328;&amp;#xD0A4;&amp;#xC9C0;&amp;#xB97C; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD558;&amp;#xC9C0;&amp;#xB294; &amp;#xC54A;&amp;#xC9C0;&amp;#xB9CC;, &amp;#xD328;&amp;#xD0A4;&amp;#xC9C0;&amp;#xC5D0; &amp;#xC815;&amp;#xC758;&amp;#xB41C; &amp;#xD328;&amp;#xD0A4;&amp;#xC9C0; &amp;#xCD08;&amp;#xAE30;&amp;#xD568;&amp;#xC218;&amp;#xC778; init()&amp;#xD568;&amp;#xC218;&amp;#xC758; &amp;#xAE30;&amp;#xB2A5;&amp;#xC744; &amp;#xC6D0;&amp;#xD55C;&amp;#xB2E4;&amp;#xBA74;, &amp;#xC544;&amp;#xB798;&amp;#xC640; &amp;#xAC19;&amp;#xC774; &lt;code&gt;_&lt;/code&gt; &amp;#xC744; &amp;#xC774;&amp;#xC6A9;&amp;#xD558;&amp;#xC5EC; &amp;#xC784;&amp;#xD3EC;&amp;#xD2B8;&amp;#xD558;&amp;#xBA74; &amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Go&amp;#xC5D0;&amp;#xC11C; import&amp;#xD558;&amp;#xC600;&amp;#xC73C;&amp;#xB098;, &amp;#xC0AC;&amp;#xC6A9;&amp;#xD558;&amp;#xC9C0; &amp;#xC54A;&amp;#xC744; &amp;#xACBD;&amp;#xC6B0; &amp;#xC5D0;&amp;#xB7EC;&amp;#xAC00; &amp;#xBC1C;&amp;#xC0DD;&amp;#xB418;&amp;#xAE30; &amp;#xB54C;&amp;#xBB38;&amp;#xC5D0;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword keyword-import&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;
	&lt;span class=&quot;token boolean&quot;&gt;_&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;github.com/mattn/go-sqlite3&amp;quot;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;/pre&gt;&lt;br&gt;
&lt;p&gt;ex16.3 &amp;#xBAA8;&amp;#xB4C8;&amp;#xC744; &amp;#xB9CC;&amp;#xB4E0; &amp;#xD6C4;,&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;&lt;span class=&quot;token function&quot;&gt;mkdir&lt;/span&gt; ex16.3
&lt;span class=&quot;token builtin class-name&quot;&gt;cd&lt;/span&gt; ex16.3
go mod init ch16/ex16.3
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;&lt;span class=&quot;token function&quot;&gt;mkdir&lt;/span&gt; exinit
&lt;span class=&quot;token function&quot;&gt;vim&lt;/span&gt; exinit.go
&lt;/pre&gt;&lt;br&gt;
&lt;p&gt;&amp;#xD328;&amp;#xD0A4;&amp;#xC9C0; &amp;#xCD08;&amp;#xAE30;&amp;#xD654;&amp;#xC5D0; &amp;#xB300;&amp;#xD574; &amp;#xC54C;&amp;#xC544;&amp;#xBCF4;&amp;#xAE30; &amp;#xC704;&amp;#xD55C; &amp;#xC608;&amp;#xC81C;&amp;#xB97C; &amp;#xC791;&amp;#xC131;&amp;#xD574;&amp;#xBD05;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword keyword-package&quot;&gt;package&lt;/span&gt; exinit  

&lt;span class=&quot;token keyword keyword-import&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;fmt&amp;quot;&lt;/span&gt;  

&lt;span class=&quot;token keyword keyword-var&quot;&gt;var&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;  
  a &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; c &lt;span class=&quot;token operator&quot;&gt;+&lt;/span&gt; b  
  b &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;f&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;  
  c &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;f&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;  
  d &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;3&lt;/span&gt;  
&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;  

&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;init&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;  
  d&lt;span class=&quot;token operator&quot;&gt;++&lt;/span&gt;  
  fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;init &amp;#xD568;&amp;#xC218; &amp;#xC2E4;&amp;#xD589;! d: &amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; d&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;  
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;  

&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;f&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token builtin&quot;&gt;int&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;  
  d&lt;span class=&quot;token operator&quot;&gt;++&lt;/span&gt;  
  fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;f() &amp;#xD568;&amp;#xC218; &amp;#xC2E4;&amp;#xD589;! d: &amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; d&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;  
  &lt;span class=&quot;token keyword keyword-return&quot;&gt;return&lt;/span&gt; d  
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;  

&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;PrintD&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;  
  fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;d: &amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; d&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;  
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;br&gt;
&lt;p&gt;import &amp;#xD568;&amp;#xC218;&amp;#xC5D0;&amp;#xC11C; exinit &amp;#xD328;&amp;#xD0A4;&amp;#xC9C0;&amp;#xB97C; import&amp;#xD560; &amp;#xB54C;,&lt;br&gt;
exinit &amp;#xD328;&amp;#xD0A4;&amp;#xC9C0; &amp;#xB0B4;&amp;#xC5D0; &amp;#xC815;&amp;#xC758;&amp;#xB41C; &amp;#xBCC0;&amp;#xC218;&amp;#xC758; &amp;#xCD08;&amp;#xAE30;&amp;#xD654;&amp;#xC640; init()&amp;#xD568;&amp;#xC218;&amp;#xAC00; &amp;#xC2E4;&amp;#xD589;&amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xADF8; &amp;#xD6C4;&amp;#xC5D0;, main&amp;#xD568;&amp;#xC218;&amp;#xAC00; &amp;#xC2E4;&amp;#xD589;&amp;#xC744; &amp;#xC2DC;&amp;#xC791;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword keyword-package&quot;&gt;package&lt;/span&gt; main  

&lt;span class=&quot;token keyword keyword-import&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;  
  &lt;span class=&quot;token string&quot;&gt;&amp;quot;ch16/ex16.3/exinit&amp;quot;&lt;/span&gt;  
  &lt;span class=&quot;token string&quot;&gt;&amp;quot;fmt&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;  

&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;main&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;  
  fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;------&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;  
  exinit&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;PrintD&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;  
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;f&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &amp;#xD568;&amp;#xC218; &amp;#xC2E4;&amp;#xD589;&lt;span class=&quot;token operator&quot;&gt;!&lt;/span&gt; d:  &lt;span class=&quot;token number&quot;&gt;4&lt;/span&gt;
f&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &amp;#xD568;&amp;#xC218; &amp;#xC2E4;&amp;#xD589;&lt;span class=&quot;token operator&quot;&gt;!&lt;/span&gt; d:  &lt;span class=&quot;token number&quot;&gt;5&lt;/span&gt;
init &amp;#xD568;&amp;#xC218; &amp;#xC2E4;&amp;#xD589;&lt;span class=&quot;token operator&quot;&gt;!&lt;/span&gt; d:  &lt;span class=&quot;token number&quot;&gt;6&lt;/span&gt;
------
d:  &lt;span class=&quot;token number&quot;&gt;6&lt;/span&gt;
&lt;/pre&gt;
  &lt;/div&gt;&lt;/div&gt;</description>
      <category>Go</category>
      <category>go</category>
      <author>jiniya22</author>
      <guid isPermaLink="true">https://jini-box.tistory.com/229</guid>
      <comments>https://jini-box.tistory.com/229#entry229comment</comments>
      <pubDate>Sat, 20 Jan 2024 19:04:25 +0900</pubDate>
    </item>
    <item>
      <title>[Go] 09. 문자열</title>
      <link>https://jini-box.tistory.com/228</link>
      <description>&lt;div id=&quot;html-export&quot;&gt;
      &lt;div class=&quot;mume markdown-preview  &quot;&gt;
      &lt;p&gt;&amp;#xBB38;&amp;#xC790; &amp;#xC9D1;&amp;#xD569;&amp;#xC73C;&amp;#xB85C; &amp;#xD0C0;&amp;#xC785;&amp;#xBA85;&amp;#xC740; string&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xC30D;&amp;#xB530;&amp;#xC634;&amp;#xD45C;(&amp;quot;) &amp;#xB610;&amp;#xB294; backtick(`)&amp;#xC73C;&amp;#xB85C; &amp;#xAC10;&amp;#xC2F8;&amp;#xC11C; &amp;#xC815;&amp;#xC758;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;backtick&amp;#xC73C;&amp;#xB85C; &amp;#xAC10;&amp;#xC300; &amp;#xACBD;&amp;#xC6B0;, &amp;#xBB38;&amp;#xC790;&amp;#xC5F4; &amp;#xC548;&amp;#xC5D0; &amp;#xB4E4;&amp;#xC5B4;&amp;#xC788;&amp;#xB294; &amp;#xD2B9;&amp;#xC218;&amp;#xBB38;&amp;#xC790;(&lt;code&gt;\t&lt;/code&gt;, &lt;code&gt;\n&lt;/code&gt; &amp;#xB4F1;)&amp;#xB97C; &amp;#xBB38;&amp;#xC790;&amp;#xC790;&amp;#xCCB4;&amp;#xB85C; &amp;#xC778;&amp;#xC2DD;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;utf-8&amp;#xC744; &amp;#xD45C;&amp;#xC900; &amp;#xBB38;&amp;#xC790;&amp;#xCF54;&amp;#xB4DC;&amp;#xB85C; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD55C;&amp;#xB2E4;
&lt;ul&gt;
&lt;li&gt;ansi&amp;#xC5D0; &amp;#xC788;&amp;#xB294; &amp;#xBB38;&amp;#xC790;&amp;#xB4E4;&amp;#xC740; 1byte&amp;#xB85C; &amp;#xD45C;&amp;#xD604;(&amp;#xC601;&amp;#xBB38;&amp;#xC790;, &amp;#xC22B;&amp;#xC790;, &amp;#xC77C;&amp;#xBD80;&amp;#xD2B9;&amp;#xC218;&amp;#xBB38;&amp;#xC790;)
&lt;ul&gt;
&lt;li&gt;ansi = ascii&amp;#xCF54;&amp;#xB4DC;(7bit)&amp;#xC758; &amp;#xD655;&amp;#xC7A5;&amp;#xD310;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&amp;#xADF8;&amp;#xC678;&amp;#xC758; &amp;#xBB38;&amp;#xC790;&amp;#xB4E4;&amp;#xC740; 2~3byte&amp;#xB85C; &amp;#xD45C;&amp;#xD604;&lt;/li&gt;
&lt;li&gt;ansi&amp;#xBB38;&amp;#xC790;&amp;#xC5D0; &amp;#xD574;&amp;#xB2F9;&amp;#xD558;&amp;#xB294; &amp;#xBB38;&amp;#xC790;&amp;#xB294; 1byte&amp;#xB85C; &amp;#xD45C;&amp;#xD604;&amp;#xD558;&amp;#xBA74;&amp;#xC11C; &amp;#xB2E4;&amp;#xAD6D;&amp;#xC5B4;&amp;#xBB38;&amp;#xC790;&amp;#xB97C; &amp;#xD45C;&amp;#xD604;&amp;#xAC00;&amp;#xB2A5;&amp;#xD558;&amp;#xAE30; &amp;#xB54C;&amp;#xBB38;&amp;#xC5D0; &amp;#xD569;&amp;#xB9AC;&amp;#xC801;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&amp;#xBB38;&amp;#xC790;&amp;#xC5F4; &amp;#xC77C;&amp;#xCE58;&amp;#xC5EC;&amp;#xBD80;&amp;#xB294; &lt;code&gt;==&lt;/code&gt;, &lt;code&gt;!=&lt;/code&gt; &amp;#xB85C; &amp;#xBE44;&amp;#xAD50;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&amp;gt;, &amp;gt;=, &amp;lt;, &amp;lt;=&lt;/code&gt;&amp;#xB85C; &amp;#xBB38;&amp;#xC790;&amp;#xC5F4; &amp;#xBE44;&amp;#xAD50;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xACE0;, &amp;#xBB38;&amp;#xC790;&amp;#xC5F4; &amp;#xBE44;&amp;#xAD50;&amp;#xB294; &amp;#xB9E8; &amp;#xC55E;&amp;#xAE00;&amp;#xC790;&amp;#xBD80;&amp;#xD130; &amp;#xD55C; &amp;#xAE00;&amp;#xC790;&amp;#xC529; &amp;#xBE44;&amp;#xAD50;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/li&gt;
&lt;li&gt;&amp;#xBB38;&amp;#xC790;&amp;#xC5F4; &amp;#xB300;&amp;#xC785;&amp;#xC2DC; &amp;#xBB38;&amp;#xC790;&amp;#xC5F4; &amp;#xC790;&amp;#xCCB4;&amp;#xC758; &amp;#xBCF5;&amp;#xC0AC;&amp;#xAC00; &amp;#xC544;&amp;#xB2C8;&amp;#xB77C; &amp;#xAC19;&amp;#xC740; &amp;#xBA54;&amp;#xBAA8;&amp;#xB9AC;&amp;#xB97C; &amp;#xAC00;&amp;#xB9AC;&amp;#xD0A4;&amp;#xB3C4;&amp;#xB85D; &amp;#xD558;&amp;#xAE30; &amp;#xB54C;&amp;#xBB38;&amp;#xC5D0;, &amp;#xBB38;&amp;#xC790;&amp;#xC5F4; &amp;#xB300;&amp;#xC785;&amp;#xC740; &amp;#xC131;&amp;#xB2A5;&amp;#xC5D0; &amp;#xC601;&amp;#xD5A5;&amp;#xC744; &amp;#xC8FC;&amp;#xC9C0; &amp;#xC54A;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.
&lt;ul&gt;
&lt;li&gt;&amp;#xBB38;&amp;#xC790;&amp;#xC5F4;&amp;#xC758; &amp;#xC8FC;&amp;#xC18C;&amp;#xAC12;&amp;#xAE4C;&amp;#xC9C0; &amp;#xD568;&amp;#xAED8; &amp;#xBCF5;&amp;#xC0AC;&amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&amp;#xBB38;&amp;#xC790;&amp;#xC5F4;&amp;#xC740; &lt;strong&gt;&amp;#xBD88;&amp;#xBCC0;&lt;/strong&gt; &amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;&lt;/li&gt;
&lt;/ul&gt;
&lt;br&gt;
&lt;p&gt;&amp;#xC30D;&amp;#xB530;&amp;#xC634;&amp;#xD45C;&amp;#xB85C; &amp;#xAC10;&amp;#xC2FC; &amp;#xBB38;&amp;#xC790;&amp;#xC5F4;&amp;#xC740; &amp;#xD2B9;&amp;#xC218;&amp;#xBB38;&amp;#xC790; &amp;#xCC98;&amp;#xB9AC;&amp;#xAC00; &amp;#xB418;&amp;#xC9C0;&amp;#xB9CC;&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;s1 &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;apple\tbanana\nmelon&amp;quot;&lt;/span&gt;  
fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;s1&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;  
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;apple   banana
melon
&lt;/pre&gt;&lt;br&gt;
&lt;p&gt;backtick&amp;#xC73C;&amp;#xB85C; &amp;#xAC10;&amp;#xC2FC; &amp;#xBB38;&amp;#xC790;&amp;#xC5F4;&amp;#xC740; &amp;#xBB38;&amp;#xC790;&amp;#xB85C; &amp;#xC778;&amp;#xC2DD;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;s2 &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;`red\tblue\norange`&lt;/span&gt;  
fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;s2&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;red&lt;span class=&quot;token punctuation&quot;&gt;\&lt;/span&gt;tblue&lt;span class=&quot;token punctuation&quot;&gt;\&lt;/span&gt;norange
&lt;/pre&gt;&lt;hr&gt;
&lt;h2 class=&quot;mume-header&quot; id=&quot;1-rune&quot;&gt;1. rune&lt;/h2&gt;

&lt;p&gt;&amp;#xC774;&amp;#xC804;&amp;#xC5D0; &amp;#xBCC0;&amp;#xC218;&amp;#xC5D0; &amp;#xB300;&amp;#xD55C; &amp;#xD3EC;&amp;#xC2A4;&amp;#xD305;&amp;#xC5D0;&amp;#xC11C; &amp;#xC7A0;&amp;#xAE50; &amp;#xC18C;&amp;#xAC1C;&amp;#xD588;&amp;#xC5C8;&amp;#xB358; rune &amp;#xB370;&amp;#xC774;&amp;#xD130; &amp;#xD0C0;&amp;#xC785;&amp;#xC740; int32 &amp;#xB370;&amp;#xC774;&amp;#xD130; &amp;#xD0C0;&amp;#xC785;&amp;#xC758; alias&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
utf-8&amp;#xBB38;&amp;#xC790;&amp;#xB97C; &amp;#xD45C;&amp;#xD604;&amp;#xD558;&amp;#xAE30; &amp;#xC704;&amp;#xD574;&amp;#xC11C;&amp;#xB294; &amp;#xCD5C;&amp;#xC18C; 1byte ~ 3byte&amp;#xAC00; &amp;#xD544;&amp;#xC694;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xADF8;&amp;#xB7EC;&amp;#xB098;, 3byte&amp;#xC5D0; &amp;#xD574;&amp;#xB2F9;&amp;#xD558;&amp;#xB294; &amp;#xC815;&amp;#xC218;&amp;#xD0C0;&amp;#xC785;&amp;#xC740; &amp;#xC5C6;&amp;#xAE30; &amp;#xB54C;&amp;#xBB38;&amp;#xC5D0; 4byte &amp;#xC815;&amp;#xC218;&amp;#xD0C0;&amp;#xC785;&amp;#xC778; int32&amp;#xD0C0;&amp;#xC785;&amp;#xC744; &amp;#xBB38;&amp;#xC790; &amp;#xD558;&amp;#xB098;&amp;#xB97C; &amp;#xD45C;&amp;#xD604;&amp;#xD558;&amp;#xB294;&amp;#xB370;&amp;#xC5D0; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xBB38;&amp;#xC790;&amp;#xD558;&amp;#xB098;&amp;#xB97C; &amp;#xD45C;&amp;#xD604;&amp;#xB418;&amp;#xB294; int32&amp;#xD0C0;&amp;#xC785;&amp;#xC744; &amp;#xD3B8;&amp;#xC758;&amp;#xC0C1; rune &amp;#xC774;&amp;#xB77C;&amp;#xB294; &amp;#xD0C0;&amp;#xC785;&amp;#xC744; &amp;#xC774;&amp;#xC6A9;&amp;#xD558;&amp;#xC5EC; &amp;#xC815;&amp;#xC758;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;java &amp;#xC5D0;&amp;#xC11C; char&amp;#xAC12;&amp;#xC744; &amp;#xC22B;&amp;#xC790;&amp;#xC640; &amp;#xBB38;&amp;#xC790;&amp;#xB85C; &amp;#xD45C;&amp;#xD604;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC5C8;&amp;#xB358; &amp;#xAC83; &amp;#xCC98;&amp;#xB7FC;, go&amp;#xC5D0;&amp;#xC11C;&amp;#xB3C4; rune&amp;#xD0C0;&amp;#xC785;&amp;#xC758; &amp;#xAC12;&amp;#xC744; &amp;#xBB38;&amp;#xC790;&amp;#xB098; &amp;#xC22B;&amp;#xC790;&amp;#xB85C; &amp;#xD45C;&amp;#xD604;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword keyword-var&quot;&gt;var&lt;/span&gt; ch &lt;span class=&quot;token builtin&quot;&gt;rune&lt;/span&gt;  
ch &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;apos;&amp;#xAC00;&amp;apos;&lt;/span&gt;  
fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Printf&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;%%c : %c, %%d: %d, &amp;#xB370;&amp;#xC774;&amp;#xD130; &amp;#xD0C0;&amp;#xC785;: %T&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; ch&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; ch&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; ch&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;%c &lt;span class=&quot;token builtin class-name&quot;&gt;:&lt;/span&gt; &amp;#xAC00;, %d: &lt;span class=&quot;token number&quot;&gt;44032&lt;/span&gt;, &amp;#xB370;&amp;#xC774;&amp;#xD130; &amp;#xD0C0;&amp;#xC785;: int32
&lt;/pre&gt;&lt;hr&gt;
&lt;h2 class=&quot;mume-header&quot; id=&quot;2-%EB%AC%B8%EC%9E%90%EC%97%B4-%EB%A9%94%EB%AA%A8%EB%A6%AC%ED%81%AC%EA%B8%B0&quot;&gt;2. &amp;#xBB38;&amp;#xC790;&amp;#xC5F4; &amp;#xBA54;&amp;#xBAA8;&amp;#xB9AC;&amp;#xD06C;&amp;#xAE30;&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;len()&lt;/strong&gt; &amp;#xB0B4;&amp;#xC7A5;&amp;#xD568;&amp;#xC218;&amp;#xB97C; &amp;#xBB38;&amp;#xC790;&amp;#xC5F4;&amp;#xC5D0; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD558;&amp;#xBA74;, &amp;#xADF8; &amp;#xBB38;&amp;#xC790;&amp;#xC5F4;&amp;#xC758; &amp;#xBA54;&amp;#xBAA8;&amp;#xB9AC; &amp;#xD06C;&amp;#xAE30;&amp;#xB97C; &amp;#xAD6C;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;. (&amp;#xBB38;&amp;#xC790;&amp;#xC5F4; &amp;#xAE38;&amp;#xC774;&amp;#xAC00; &amp;#xC544;&amp;#xB2D9;&amp;#xB2C8;&amp;#xB2E4;)&lt;/p&gt;
&lt;p&gt;ansi&amp;#xBB38;&amp;#xC790;&amp;#xC5D0; &amp;#xD574;&amp;#xB2F9;&amp;#xD558;&amp;#xB294; &amp;#xC601;&amp;#xBB38;&amp;#xC790;, &amp;#xC22B;&amp;#xC790;&amp;#xB294; &amp;#xAC01; &amp;#xBB38;&amp;#xC790;&amp;#xB2F9; 1byte&amp;#xC758; &amp;#xBA54;&amp;#xBAA8;&amp;#xB9AC; &amp;#xD06C;&amp;#xAE30;&amp;#xB97C; &amp;#xCC28;&amp;#xC9C0;&amp;#xD558;&amp;#xAE30; &amp;#xB54C;&amp;#xBB38;&amp;#xC5D0; 4&amp;#xAC00; &amp;#xCD9C;&amp;#xB825;&amp;#xB418;&amp;#xC9C0;&amp;#xB9CC;&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;s1 &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;abC4&amp;quot;&lt;/span&gt;  
fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;len&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;s1&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;&lt;span class=&quot;token number&quot;&gt;4&lt;/span&gt;
&lt;/pre&gt;&lt;p&gt;&amp;#xD55C;&amp;#xAE00;&amp;#xC740; &amp;#xD55C;&amp;#xBB38;&amp;#xC790;&amp;#xB2F9; 3byte&amp;#xC758; &amp;#xBA54;&amp;#xBAA8;&amp;#xB9AC; &amp;#xD06C;&amp;#xAE30;&amp;#xB97C; &amp;#xCC28;&amp;#xC9C0;&amp;#xD558;&amp;#xAE30; &amp;#xB54C;&amp;#xBB38;&amp;#xC5D0; 3 * 3 = 9 &amp;#xAC00; &amp;#xCD9C;&amp;#xB825;&amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;s2 &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;&amp;#xAC00;&amp;#xB098;&amp;#xB2E4;&amp;quot;&lt;/span&gt;   
fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;len&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;s2&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;&lt;span class=&quot;token number&quot;&gt;9&lt;/span&gt;
&lt;/pre&gt;&lt;hr&gt;
&lt;h2 class=&quot;mume-header&quot; id=&quot;3-%EB%AC%B8%EC%9E%90%EC%97%B4-%EA%B8%B8%EC%9D%B4&quot;&gt;3. &amp;#xBB38;&amp;#xC790;&amp;#xC5F4; &amp;#xAE38;&amp;#xC774;&lt;/h2&gt;

&lt;p&gt;&amp;#xBB38;&amp;#xC790;&amp;#xC5F4;&amp;#xC5D0; &amp;#xD3EC;&amp;#xD568;&amp;#xB41C; &amp;#xAE00;&amp;#xC790;&amp;#xC218;(= &amp;#xAE38;&amp;#xC774;)&amp;#xB97C; &amp;#xC54C;&amp;#xC544;&amp;#xB0B4;&amp;#xACE0; &amp;#xC2F6;&amp;#xB2E4;&amp;#xBA74;, &amp;#xBB38;&amp;#xC790;&amp;#xC5F4;&amp;#xC744; &lt;strong&gt;[]rune&lt;/strong&gt; &amp;#xD0C0;&amp;#xC785;&amp;#xC73C;&amp;#xB85C; &amp;#xBCC0;&amp;#xD658;&amp;#xD55C; &amp;#xD6C4; &lt;strong&gt;len()&lt;/strong&gt; &amp;#xB0B4;&amp;#xC7A5;&amp;#xD568;&amp;#xC218;&amp;#xB85C; &amp;#xAE38;&amp;#xC774;&amp;#xB97C; &amp;#xAD6C;&amp;#xD558;&amp;#xBA74; &amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;[]rune&lt;/code&gt; &amp;#xC740; &amp;#xAC00;&amp;#xBCC0;&amp;#xAE38;&amp;#xC774; &amp;#xBC30;&amp;#xC5F4;&amp;#xC778; slice &amp;#xD0C0;&amp;#xC785;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;s1 &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;abC4&amp;quot;&lt;/span&gt;  
s2 &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;&amp;#xAC00;&amp;#xB098;&amp;#xB2E4;&amp;quot;&lt;/span&gt;  

r1 &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;rune&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;s1&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;  
r2 &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;rune&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;s2&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;  

fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;len&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;r1&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;  
fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;len&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;r2&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;&lt;span class=&quot;token number&quot;&gt;4&lt;/span&gt;
&lt;span class=&quot;token number&quot;&gt;3&lt;/span&gt;
&lt;/pre&gt;&lt;p&gt;[]rune &amp;#xD0C0;&amp;#xC785;&amp;#xC73C;&amp;#xB85C; &amp;#xBCC0;&amp;#xACBD;&amp;#xD55C; &amp;#xD6C4;&amp;#xC5D0;&amp;#xB294; &amp;#xBB38;&amp;#xC790;&amp;#xC5F4; &amp;#xAE38;&amp;#xC774;&amp;#xB97C; &amp;#xAD6C;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 class=&quot;mume-header&quot; id=&quot;4-%EB%AC%B8%EC%9E%90%EC%97%B4-%EC%88%9C%ED%9A%8C&quot;&gt;4. &amp;#xBB38;&amp;#xC790;&amp;#xC5F4; &amp;#xC21C;&amp;#xD68C;&lt;/h2&gt;

&lt;h3 class=&quot;mume-header&quot; id=&quot;41-%EC%9E%98%EB%AA%BB-%EC%9E%91%EC%84%B1%ED%95%9C-%EB%AC%B8%EC%9E%90%EC%97%B4-%EC%88%9C%ED%9A%8C&quot;&gt;4.1. &amp;#xC798;&amp;#xBABB; &amp;#xC791;&amp;#xC131;&amp;#xD55C; &amp;#xBB38;&amp;#xC790;&amp;#xC5F4; &amp;#xC21C;&amp;#xD68C;&lt;/h3&gt;

&lt;p&gt;&amp;#xBB38;&amp;#xC790;&amp;#xC5F4;&amp;#xC5D0; len() &amp;#xD568;&amp;#xC218;&amp;#xB97C; &amp;#xC801;&amp;#xC6A9;&amp;#xD560; &amp;#xACBD;&amp;#xC6B0;, &amp;#xBB38;&amp;#xC790;&amp;#xC5F4; &amp;#xBA54;&amp;#xBAA8;&amp;#xB9AC; &amp;#xD06C;&amp;#xAE30;&amp;#xB97C; &amp;#xBC18;&amp;#xD658;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xADF8;&amp;#xB807;&amp;#xAE30; &amp;#xB54C;&amp;#xBB38;&amp;#xC5D0; java&amp;#xC5D0;&amp;#xC11C; &amp;#xC790;&amp;#xC8FC; &amp;#xC774;&amp;#xC6A9;&amp;#xD558;&amp;#xB294; &amp;#xBC29;&amp;#xC2DD;&amp;#xB300;&amp;#xB85C; for i &amp;#xBC18;&amp;#xBCF5;&amp;#xBB38;&amp;#xC744; &amp;#xC774;&amp;#xC6A9;&amp;#xD560; &amp;#xACBD;&amp;#xC6B0;,&lt;br&gt;
&amp;#xBB38;&amp;#xC790;&amp;#xD558;&amp;#xB098;&amp;#xC529; &amp;#xCD9C;&amp;#xB825;&amp;#xB418;&amp;#xB294; &amp;#xAC83;&amp;#xC774; &amp;#xC544;&amp;#xB2C8;&amp;#xB77C;, 1byte&amp;#xC529; &amp;#xC77D;&amp;#xC5B4;&amp;#xB4E4;&amp;#xC774;&amp;#xAE30; &amp;#xB54C;&amp;#xBB38;&amp;#xC5D0;&lt;br&gt;
ANSI&amp;#xBB38;&amp;#xC790;&amp;#xC5D0; &amp;#xD574;&amp;#xB2F9;&amp;#xD558;&amp;#xB294; &lt;code&gt;A, B, 1, 2&lt;/code&gt;&amp;#xB294; &amp;#xC798; &amp;#xCD9C;&amp;#xB825;&amp;#xB418;&amp;#xC9C0;&amp;#xB9CC; &lt;code&gt;&amp;#xAC00;, &amp;#xB098;&lt;/code&gt; &amp;#xB294; &amp;#xAC01;&amp;#xAC01; 3&amp;#xAC1C;&amp;#xC529; &amp;#xCABC;&amp;#xAC1C;&amp;#xC838;&amp;#xC11C; &amp;#xC774;&amp;#xC0C1;&amp;#xD55C; &amp;#xBB38;&amp;#xC790;&amp;#xB85C; &amp;#xCD9C;&amp;#xB825;&amp;#xB418;&amp;#xAC8C; &amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xB610;, &amp;#xC774; &amp;#xBB38;&amp;#xC790;&amp;#xB4E4;&amp;#xC758; &amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xD0C0;&amp;#xC785;&amp;#xC740; uint8&amp;#xB85C; &amp;#xCD9C;&amp;#xB825;&amp;#xB418;&amp;#xB294;&amp;#xB370;&lt;br&gt;
uint8&amp;#xC740; alias&amp;#xB85C; byte&amp;#xC640; &amp;#xAC19;&amp;#xC740; &amp;#xD0C0;&amp;#xC785;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xBB38;&amp;#xC790;&amp;#xC5F4;&amp;#xC5D0; len&amp;#xC744; &amp;#xBC14;&amp;#xB85C; &amp;#xC801;&amp;#xC6A9;&amp;#xD560; &amp;#xACBD;&amp;#xC6B0; byte&amp;#xB2E8;&amp;#xC704;&amp;#xB85C; &amp;#xC77D;&amp;#xC5B4;&amp;#xC9D1;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;s &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;AB12&amp;#xAC00;&amp;#xB098;&amp;quot;&lt;/span&gt;  
&lt;span class=&quot;token keyword keyword-for&quot;&gt;for&lt;/span&gt; i &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; i &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;len&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;s&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; i&lt;span class=&quot;token operator&quot;&gt;++&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;  
  fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Printf&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;%%d: %d, %%c: %c (%T)\n&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; s&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;i&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; s&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;i&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; s&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;i&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;  
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;%d: &lt;span class=&quot;token number&quot;&gt;65&lt;/span&gt;, %c: A &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;uint8&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
%d: &lt;span class=&quot;token number&quot;&gt;66&lt;/span&gt;, %c: B &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;uint8&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
%d: &lt;span class=&quot;token number&quot;&gt;49&lt;/span&gt;, %c: &lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;uint8&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
%d: &lt;span class=&quot;token number&quot;&gt;50&lt;/span&gt;, %c: &lt;span class=&quot;token number&quot;&gt;2&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;uint8&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
%d: &lt;span class=&quot;token number&quot;&gt;234&lt;/span&gt;, %c: &amp;#xEA; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;uint8&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
%d: &lt;span class=&quot;token number&quot;&gt;176&lt;/span&gt;, %c: &amp;#xB0; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;uint8&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
%d: &lt;span class=&quot;token number&quot;&gt;128&lt;/span&gt;, %c: &amp;#xFFFD; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;uint8&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
%d: &lt;span class=&quot;token number&quot;&gt;235&lt;/span&gt;, %c: &amp;#xEB; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;uint8&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
%d: &lt;span class=&quot;token number&quot;&gt;130&lt;/span&gt;, %c: &amp;#xFFFD; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;uint8&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
%d: &lt;span class=&quot;token number&quot;&gt;152&lt;/span&gt;, %c: &amp;#xFFFD; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;uint8&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;/pre&gt;&lt;br&gt;
&lt;h3 class=&quot;mume-header&quot; id=&quot;42-rune-%EB%B3%80%ED%99%98%ED%9B%84-%EC%88%9C%ED%9A%8C&quot;&gt;4.2. []rune &amp;#xBCC0;&amp;#xD658;&amp;#xD6C4; &amp;#xC21C;&amp;#xD68C;&lt;/h3&gt;

&lt;p&gt;&amp;#xBB38;&amp;#xC790;&amp;#xC5F4;&amp;#xC744; []rune &amp;#xD0C0;&amp;#xC785;&amp;#xC73C;&amp;#xB85C; &amp;#xBCC0;&amp;#xD658;&amp;#xD558;&amp;#xB294; &amp;#xAC83;&amp;#xC740; &amp;#xBB38;&amp;#xC790;&amp;#xB85C; &amp;#xC774;&amp;#xB904;&amp;#xC9C4; &amp;#xAC00;&amp;#xBCC0;&amp;#xBC30;&amp;#xC5F4;&amp;#xB85C; &amp;#xBCC0;&amp;#xD658;&amp;#xD558;&amp;#xB294; &amp;#xAC83;&amp;#xC774;&amp;#xAE30; &amp;#xB54C;&amp;#xBB38;&amp;#xC5D0;,&lt;br&gt;
&amp;#xBC30;&amp;#xC5F4;&amp;#xC758; &amp;#xAC01; &amp;#xC694;&amp;#xC18C;&amp;#xB97C; &amp;#xCD9C;&amp;#xB825;&amp;#xD558;&amp;#xBA74; &amp;#xBB38;&amp;#xC790;&amp;#xB97C; &amp;#xC21C;&amp;#xD68C;&amp;#xD558;&amp;#xB294; &amp;#xAC83;&amp;#xC774; &amp;#xAC00;&amp;#xB2A5;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;s &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;AB12&amp;#xAC00;&amp;#xB098;&amp;quot;&lt;/span&gt;
arr &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;rune&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;s&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;  
&lt;span class=&quot;token keyword keyword-for&quot;&gt;for&lt;/span&gt; i &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; i &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;len&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;arr&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; i&lt;span class=&quot;token operator&quot;&gt;++&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;  
  fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Printf&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;%%d: %d, %%c: %c (%T)\n&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; arr&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;i&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; arr&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;i&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; arr&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;i&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;  
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;%d: &lt;span class=&quot;token number&quot;&gt;65&lt;/span&gt;, %c: A &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;int32&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
%d: &lt;span class=&quot;token number&quot;&gt;66&lt;/span&gt;, %c: B &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;int32&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
%d: &lt;span class=&quot;token number&quot;&gt;49&lt;/span&gt;, %c: &lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;int32&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
%d: &lt;span class=&quot;token number&quot;&gt;50&lt;/span&gt;, %c: &lt;span class=&quot;token number&quot;&gt;2&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;int32&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
%d: &lt;span class=&quot;token number&quot;&gt;44032&lt;/span&gt;, %c: &amp;#xAC00; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;int32&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
%d: &lt;span class=&quot;token number&quot;&gt;45208&lt;/span&gt;, %c: &amp;#xB098; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;int32&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;/pre&gt;&lt;br&gt;
&lt;h3 class=&quot;mume-header&quot; id=&quot;43-range-%ED%82%A4%EC%9B%8C%EB%93%9C%EB%A1%9C-%EC%88%9C%ED%9A%8C-span-classfixme%EC%B6%94%EC%B2%9Cspan&quot;&gt;4.3. range &amp;#xD0A4;&amp;#xC6CC;&amp;#xB4DC;&amp;#xB85C; &amp;#xC21C;&amp;#xD68C;  &lt;span class=&quot;fixme&quot;&gt;&amp;#xCD94;&amp;#xCC9C;**&lt;/span&gt;&lt;/h3&gt;

&lt;p&gt;&amp;#xB354; &amp;#xAC04;&amp;#xD3B8;&amp;#xD55C; &amp;#xBC29;&amp;#xC2DD;&amp;#xC73C;&amp;#xB85C;, for range&amp;#xB97C; string&amp;#xC5D0; &amp;#xC801;&amp;#xC6A9;&amp;#xD558;&amp;#xBA74;, &amp;#xBB38;&amp;#xC790;&amp;#xC5F4;&amp;#xC744; &amp;#xC21C;&amp;#xD68C;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
[]rune &amp;#xD0C0;&amp;#xC785;&amp;#xC73C;&amp;#xB85C; &amp;#xBCC0;&amp;#xD658;&amp;#xD558;&amp;#xB294; &amp;#xBC29;&amp;#xBC95;&amp;#xC5D0;&amp;#xC11C;&amp;#xB294;, &amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xD0C0;&amp;#xC785; &amp;#xBCC0;&amp;#xD658;&amp;#xC744; &amp;#xC704;&amp;#xD55C; &amp;#xC791;&amp;#xC5C5;(&amp;#xBA54;&amp;#xBAA8;&amp;#xB9AC; &amp;#xD560;&amp;#xB2F9; &amp;#xB4F1;...)&amp;#xC744; &amp;#xD589;&amp;#xD574;&amp;#xC57C;&amp;#xD558;&amp;#xC9C0;&amp;#xB9CC;, for range&amp;#xB85C; &amp;#xBB38;&amp;#xC790;&amp;#xC5F4;&amp;#xC744; &amp;#xC21C;&amp;#xD68C;&amp;#xD558;&amp;#xB294; &amp;#xBC29;&amp;#xBC95;&amp;#xC740; &amp;#xADF8;&amp;#xB7EC;&amp;#xD55C; &amp;#xC791;&amp;#xC5C5;&amp;#xC774; &amp;#xC5C6;&amp;#xAE30; &amp;#xB54C;&amp;#xBB38;&amp;#xC5D0; &amp;#xBA54;&amp;#xBAA8;&amp;#xB9AC; &amp;#xB0AD;&amp;#xBE44;&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;s &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;AB12&amp;#xAC00;&amp;#xB098;&amp;quot;&lt;/span&gt;
&lt;span class=&quot;token keyword keyword-for&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;token boolean&quot;&gt;_&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; v &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; &lt;span class=&quot;token keyword keyword-range&quot;&gt;range&lt;/span&gt; s &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;  
  fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Printf&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;%%d: %d, %%c: %c (%T)\n&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; v&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; v&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; v&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;  
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;%d: &lt;span class=&quot;token number&quot;&gt;65&lt;/span&gt;, %c: A &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;int32&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
%d: &lt;span class=&quot;token number&quot;&gt;66&lt;/span&gt;, %c: B &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;int32&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
%d: &lt;span class=&quot;token number&quot;&gt;49&lt;/span&gt;, %c: &lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;int32&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
%d: &lt;span class=&quot;token number&quot;&gt;50&lt;/span&gt;, %c: &lt;span class=&quot;token number&quot;&gt;2&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;int32&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
%d: &lt;span class=&quot;token number&quot;&gt;44032&lt;/span&gt;, %c: &amp;#xAC00; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;int32&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
%d: &lt;span class=&quot;token number&quot;&gt;45208&lt;/span&gt;, %c: &amp;#xB098; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;int32&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;/pre&gt;&lt;hr&gt;
&lt;h2 class=&quot;mume-header&quot; id=&quot;5-%EB%AC%B8%EC%9E%90%EC%97%B4-%ED%95%A9%EC%B9%98%EA%B8%B0&quot;&gt;5. &amp;#xBB38;&amp;#xC790;&amp;#xC5F4; &amp;#xD569;&amp;#xCE58;&amp;#xAE30;&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;+&lt;/code&gt; &amp;#xC5F0;&amp;#xC0B0;&amp;#xC790;&amp;#xB97C; &amp;#xC774;&amp;#xC6A9;&amp;#xD558;&amp;#xC5EC; &amp;#xBB38;&amp;#xC790;&amp;#xC5F4;&amp;#xC744; &amp;#xD569;&amp;#xCE60; &amp;#xC218; &amp;#xC788;&amp;#xC73C;&amp;#xBA70;,&lt;br&gt;
&lt;code&gt;+=&lt;/code&gt; &amp;#xB97C; &amp;#xC774;&amp;#xC6A9;&amp;#xD558;&amp;#xC5EC; &amp;#xAE30;&amp;#xC874; &amp;#xBB38;&amp;#xC790;&amp;#xC5F4;&amp;#xC5D0; &amp;#xBB38;&amp;#xC790;&amp;#xC5F4;&amp;#xC744; &amp;#xD569;&amp;#xCE60; &amp;#xC218;&amp;#xB3C4; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;s1 &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;hi&amp;quot;&lt;/span&gt;  
s2 &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;wow&amp;quot;&lt;/span&gt;  
s3 &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; s1 &lt;span class=&quot;token operator&quot;&gt;+&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot; &amp;quot;&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;+&lt;/span&gt; s2  
s1 &lt;span class=&quot;token operator&quot;&gt;+=&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot; &amp;quot;&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;+&lt;/span&gt; s2  

fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;s3&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;  
fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;s1&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;hi wow
hi wow
&lt;/pre&gt;&lt;hr&gt;
&lt;h2 class=&quot;mume-header&quot; id=&quot;6-%EB%AC%B8%EC%9E%90%EC%97%B4-%EB%8C%80%EC%9E%85&quot;&gt;6. &amp;#xBB38;&amp;#xC790;&amp;#xC5F4; &amp;#xB300;&amp;#xC785;&lt;/h2&gt;

&lt;p&gt;&amp;#xBB38;&amp;#xC790;&amp;#xC5F4;&amp;#xC744; &amp;#xB300;&amp;#xC785;&amp;#xD560; &amp;#xB54C;&amp;#xC5D0;&amp;#xB294;, &amp;#xB2E4;&amp;#xB978; &amp;#xBCC0;&amp;#xC218;&amp;#xB4E4;&amp;#xACFC; &amp;#xB2EC;&amp;#xB9AC; &amp;#xC8FC;&amp;#xC18C;&amp;#xAC12;&amp;#xB3C4; &amp;#xD568;&amp;#xAED8; &amp;#xBCF5;&amp;#xC0AC;&amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xB530;&amp;#xB77C;&amp;#xC11C;, &amp;#xC0C8;&amp;#xB85C; &amp;#xBCF5;&amp;#xC0AC;&amp;#xB418;&amp;#xB294; &amp;#xAC83;&amp;#xC774; &amp;#xC544;&amp;#xB2C8;&amp;#xB77C; &amp;#xAC19;&amp;#xC740; &amp;#xBA54;&amp;#xBAA8;&amp;#xB9AC;&amp;#xB97C; &amp;#xBC14;&amp;#xB77C;&amp;#xBCF4;&amp;#xAC8C; &amp;#xB418;&amp;#xAE30; &amp;#xB54C;&amp;#xBB38;&amp;#xC5D0; &amp;#xC131;&amp;#xB2A5;&amp;#xC744; &amp;#xB5A8;&amp;#xC5B4;&amp;#xB728;&amp;#xB9AC;&amp;#xC9C0; &amp;#xC54A;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xBB38;&amp;#xC790;&amp;#xC5F4;&amp;#xC740; &amp;#xB0B4;&amp;#xBD80;&amp;#xC5D0; &amp;#xD3EC;&amp;#xC778;&amp;#xD130;&amp;#xC640; &amp;#xAE38;&amp;#xC774; &amp;#xD544;&amp;#xB4DC;&amp;#xB85C; &amp;#xAD6C;&amp;#xC131;&amp;#xB418;&amp;#xC5B4;&amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;. &amp;#xC544;&amp;#xB798; &amp;#xC608;&amp;#xC81C;&amp;#xB97C; &amp;#xD1B5;&amp;#xD574; &amp;#xC2E4;&amp;#xC81C; &amp;#xBB38;&amp;#xC790;&amp;#xC5F4;&amp;#xC774; &amp;#xAC00;&amp;#xB9AC;&amp;#xD0A4;&amp;#xACE0; &amp;#xC788;&amp;#xB294; &amp;#xBA54;&amp;#xBAA8;&amp;#xB9AC;&amp;#xC758; &amp;#xC8FC;&amp;#xC18C;&amp;#xC640; &amp;#xAE38;&amp;#xC774; &amp;#xB4F1;&amp;#xC744; &amp;#xD655;&amp;#xC778;&amp;#xD574;&amp;#xBCFC; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword keyword-package&quot;&gt;package&lt;/span&gt; main  

&lt;span class=&quot;token keyword keyword-import&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;  
  &lt;span class=&quot;token string&quot;&gt;&amp;quot;fmt&amp;quot;&lt;/span&gt;  
  &lt;span class=&quot;token string&quot;&gt;&amp;quot;reflect&amp;quot;&lt;/span&gt;  &lt;span class=&quot;token string&quot;&gt;&amp;quot;unsafe&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;  

&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;main&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;  
  s1 &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;apple&amp;quot;&lt;/span&gt;  
  s2 &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; s1  
  fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Printf&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;s1&amp;#xC758; &amp;#xC8FC;&amp;#xC18C;: %p, %d\n&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; unsafe&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;StringData&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;s1&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; unsafe&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;StringData&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;s1&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;  
  fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Printf&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;s2&amp;#xC758; &amp;#xC8FC;&amp;#xC18C;: %p, %d\n&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; unsafe&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;StringData&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;s2&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; unsafe&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;StringData&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;s2&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;  

  fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;*&lt;/span&gt;reflect&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;StringHeader&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;unsafe&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Pointer&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt;s1&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;  
  fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;*&lt;/span&gt;reflect&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;StringHeader&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;unsafe&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Pointer&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt;s2&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;  
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;s1&amp;#xC758; &amp;#xC8FC;&amp;#xC18C;: 0x100f4ca75, &lt;span class=&quot;token number&quot;&gt;4311009909&lt;/span&gt;
s2&amp;#xC758; &amp;#xC8FC;&amp;#xC18C;: 0x100f4ca75, &lt;span class=&quot;token number&quot;&gt;4311009909&lt;/span&gt;
&lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;4311009909&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;5&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;4311009909&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;5&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;blockquote&gt;
&lt;p&gt;StringHeader &amp;#xAD6C;&amp;#xC870;&amp;#xCCB4;&amp;#xB294; &amp;#xC8FC;&amp;#xC18C;&amp;#xC640; &amp;#xBB38;&amp;#xC790;&amp;#xC5F4;&amp;#xAE38;&amp;#xC774;&amp;#xB97C; &amp;#xB2F4;&amp;#xACE0; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr&gt;
&lt;h2 class=&quot;mume-header&quot; id=&quot;7-%EB%AC%B8%EC%9E%90%EC%97%B4%EC%9D%80-%EB%B6%88%EB%B3%80&quot;&gt;7. &amp;#xBB38;&amp;#xC790;&amp;#xC5F4;&amp;#xC740; &amp;#xBD88;&amp;#xBCC0;&lt;/h2&gt;

&lt;p&gt;&amp;#xBB38;&amp;#xC790;&amp;#xC5F4;&amp;#xC740; &amp;#xBD88;&amp;#xBCC0;&amp;#xD0C0;&amp;#xC785;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xC774;&amp;#xB7EC;&amp;#xD55C; &amp;#xC131;&amp;#xC9C8;&amp;#xB85C; &amp;#xC778;&amp;#xD558;&amp;#xC5EC; &amp;#xBB38;&amp;#xC790;&amp;#xC5F4; &amp;#xB0B4;&amp;#xC758; &amp;#xD2B9;&amp;#xC815; &amp;#xBB38;&amp;#xC790;&amp;#xB97C; &amp;#xBCC0;&amp;#xACBD;&amp;#xD558;&amp;#xB294; &amp;#xAC83;&amp;#xC740; &amp;#xBD88;&amp;#xAC00;&amp;#xD558;&amp;#xBA70;&lt;br&gt;
&amp;#xBB38;&amp;#xC790;&amp;#xC5F4; &amp;#xD569;&amp;#xC131;&amp;#xC2DC;&amp;#xC5D0;&amp;#xB294; &amp;#xC0C8;&amp;#xB85C;&amp;#xC6B4; &amp;#xBA54;&amp;#xBAA8;&amp;#xB9AC;&amp;#xACF5;&amp;#xAC04;&amp;#xC5D0; &amp;#xB450; &amp;#xBB38;&amp;#xC790;&amp;#xC5F4;&amp;#xC744; &amp;#xD569;&amp;#xCE58;&amp;#xB294; &amp;#xD589;&amp;#xC704;&amp;#xB97C; &amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xC544;&amp;#xB798;&amp;#xC758; &amp;#xC608;&amp;#xC81C;&amp;#xCF54;&amp;#xB4DC;&amp;#xC5D0;&amp;#xC11C; &amp;#xBB38;&amp;#xC790;&amp;#xC5F4; &amp;#xD569;&amp;#xC0B0; &amp;#xC774;&amp;#xD6C4; s1&amp;#xC758; &amp;#xC8FC;&amp;#xC18C;&amp;#xAC00; &amp;#xBCC0;&amp;#xACBD;&amp;#xB41C; &amp;#xAC83;&amp;#xC744; &amp;#xD655;&amp;#xC778;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword keyword-package&quot;&gt;package&lt;/span&gt; main  

&lt;span class=&quot;token keyword keyword-import&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;  
  &lt;span class=&quot;token string&quot;&gt;&amp;quot;fmt&amp;quot;&lt;/span&gt;  
  &lt;span class=&quot;token string&quot;&gt;&amp;quot;unsafe&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;  

&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;main&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;  
  s1 &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;test&amp;quot;&lt;/span&gt;  
  fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Printf&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;&amp;#xCD5C;&amp;#xCD08;&amp;#xC758; s1&amp;#xC758; &amp;#xC8FC;&amp;#xC18C;: %p\n&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; unsafe&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;StringData&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;s1&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;  

  s1 &lt;span class=&quot;token operator&quot;&gt;+=&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;123&amp;quot;&lt;/span&gt;  
  fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Printf&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;&amp;#xBB38;&amp;#xC790;&amp;#xC5F4; &amp;#xD569;&amp;#xC0B0; &amp;#xD6C4; s1&amp;#xC758; &amp;#xC8FC;&amp;#xC18C;: %p\n&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; unsafe&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;StringData&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;s1&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;  
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;&amp;#xCD5C;&amp;#xCD08;&amp;#xC758; s1&amp;#xC758; &amp;#xC8FC;&amp;#xC18C;: 0x102428650
&amp;#xBB38;&amp;#xC790;&amp;#xC5F4; &amp;#xD569;&amp;#xC0B0; &amp;#xD6C4; s1&amp;#xC758; &amp;#xC8FC;&amp;#xC18C;: 0x140000a4012
&lt;/pre&gt;&lt;hr&gt;
&lt;h2 class=&quot;mume-header&quot; id=&quot;8-%EB%AC%B8%EC%9E%90%EC%97%B4-%ED%95%A9%EC%82%B0%EC%9D%B4-%EB%B9%88%EB%B2%88%ED%95%98%EB%8B%A4%EB%A9%B4-stringsbuilder%EB%A1%9C&quot;&gt;8. &amp;#xBB38;&amp;#xC790;&amp;#xC5F4; &amp;#xD569;&amp;#xC0B0;&amp;#xC774; &amp;#xBE48;&amp;#xBC88;&amp;#xD558;&amp;#xB2E4;&amp;#xBA74; strings.Builder&amp;#xB85C;&lt;/h2&gt;

&lt;p&gt;&amp;#xBB38;&amp;#xC790;&amp;#xC5F4; &amp;#xD569;&amp;#xC2E0;&amp;#xC774; &amp;#xBE48;&amp;#xBC88;&amp;#xD558;&amp;#xB2E4;&amp;#xBA74;, strings &amp;#xD328;&amp;#xD0A4;&amp;#xC9C0;&amp;#xC758; Builder&amp;#xB97C; &amp;#xC774;&amp;#xC6A9;&amp;#xD558;&amp;#xBA74; &amp;#xBA54;&amp;#xBAA8;&amp;#xB9AC; &amp;#xB0AD;&amp;#xBE44;&amp;#xB97C; &amp;#xC904;&amp;#xC77C; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;strings.Builder&amp;#xB294; &amp;#xB0B4;&amp;#xBD80;&amp;#xC5D0; []byte &amp;#xB97C; &amp;#xAC00;&amp;#xC9C0;&amp;#xACE0; &amp;#xC788;&amp;#xAE30; &amp;#xB584;&amp;#xBB38;&amp;#xC5D0; &amp;#xBB38;&amp;#xC790; &amp;#xCD94;&amp;#xAC00;&amp;#xC2DC; &amp;#xB9E4;&amp;#xBC88; &amp;#xBA54;&amp;#xBAA8;&amp;#xB9AC;&amp;#xB97C; &amp;#xC0C8;&amp;#xB85C; &amp;#xC0DD;&amp;#xC131;&amp;#xD558;&amp;#xC9C0; &amp;#xC54A;&amp;#xAE30; &amp;#xB54C;&amp;#xBB38;&amp;#xC5D0; &amp;#xACF5;&amp;#xAC04; &amp;#xB0AD;&amp;#xBE44;&amp;#xAC00; &amp;#xC801;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword keyword-package&quot;&gt;package&lt;/span&gt; main  

&lt;span class=&quot;token keyword keyword-import&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;  
  &lt;span class=&quot;token string&quot;&gt;&amp;quot;fmt&amp;quot;&lt;/span&gt;  
  &lt;span class=&quot;token string&quot;&gt;&amp;quot;strings&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;  

&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;main&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;  
  fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;ToUpper&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;Hello World!&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;  
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;  

&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;ToUpper&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;s &lt;span class=&quot;token builtin&quot;&gt;string&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token builtin&quot;&gt;string&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;  
  &lt;span class=&quot;token keyword keyword-var&quot;&gt;var&lt;/span&gt; builder strings&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;Builder  
  &lt;span class=&quot;token keyword keyword-for&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;token boolean&quot;&gt;_&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; ch &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; &lt;span class=&quot;token keyword keyword-range&quot;&gt;range&lt;/span&gt; s &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;  
   &lt;span class=&quot;token keyword keyword-if&quot;&gt;if&lt;/span&gt; ch &lt;span class=&quot;token operator&quot;&gt;&amp;gt;=&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;apos;a&amp;apos;&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt; ch &lt;span class=&quot;token operator&quot;&gt;&amp;lt;=&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;apos;z&amp;apos;&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;  
    builder&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;WriteRune&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;apos;A&amp;apos;&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;+&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;ch &lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;apos;a&amp;apos;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;  
   &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt; &lt;span class=&quot;token keyword keyword-else&quot;&gt;else&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;  
    builder&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;WriteRune&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;ch&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;  
   &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;  

  &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;  
  &lt;span class=&quot;token keyword keyword-return&quot;&gt;return&lt;/span&gt; builder&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;String&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;  
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;
  &lt;/div&gt;&lt;/div&gt;</description>
      <category>Go</category>
      <category>go</category>
      <author>jiniya22</author>
      <guid isPermaLink="true">https://jini-box.tistory.com/228</guid>
      <comments>https://jini-box.tistory.com/228#entry228comment</comments>
      <pubDate>Thu, 18 Jan 2024 17:00:35 +0900</pubDate>
    </item>
    <item>
      <title>[Go] 08. 포인터</title>
      <link>https://jini-box.tistory.com/227</link>
      <description>&lt;div id=&quot;html-export&quot;&gt;
      &lt;div class=&quot;mume markdown-preview  &quot;&gt;
      &lt;h2 class=&quot;mume-header&quot; id=&quot;1-%ED%8F%AC%EC%9D%B8%ED%84%B0&quot;&gt;1. &amp;#xD3EC;&amp;#xC778;&amp;#xD130;?&lt;/h2&gt;

&lt;p&gt;&amp;#xD3EC;&amp;#xC778;&amp;#xD130;&amp;#xB294; &amp;#xBCC0;&amp;#xC218;&amp;#xAC00; &amp;#xC704;&amp;#xCE58;&amp;#xD55C; &amp;#xC8FC;&amp;#xC18C;&amp;#xB97C; &amp;#xAC12;&amp;#xC73C;&amp;#xB85C; &amp;#xAC16;&amp;#xB294; &amp;#xD0C0;&amp;#xC785;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xD0C0;&amp;#xC785; &amp;#xC67C;&amp;#xCABD;&amp;#xC5D0; &lt;code&gt;*&lt;/code&gt;&amp;#xB97C; &amp;#xBD99;&amp;#xC5EC;&amp;#xC11C; &amp;#xC120;&amp;#xC5B8;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;*int, *float64 &amp;#xB4F1;...&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xAC00; &amp;#xB4E4;&amp;#xC5B4;&amp;#xC788;&amp;#xB294; &amp;#xBCC0;&amp;#xC218;&amp;#xC67C;&amp;#xCABD;&amp;#xC5D0; &lt;code&gt;&amp;amp;&lt;/code&gt;&amp;#xB97C; &amp;#xBD99;&amp;#xC774;&amp;#xBA74; &amp;#xADF8; &amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xC758; &amp;#xC8FC;&amp;#xC18C;&amp;#xB97C; &amp;#xC5BB;&amp;#xC744; &amp;#xC218; &amp;#xC788;&amp;#xACE0;,&lt;br&gt;
&amp;#xD3EC;&amp;#xC778;&amp;#xD130;&amp;#xBCC0;&amp;#xC218; &amp;#xC67C;&amp;#xCABD;&amp;#xC5D0; &lt;code&gt;*&lt;/code&gt; &amp;#xB97C; &amp;#xBD99;&amp;#xC774;&amp;#xBA74; &amp;#xD3EC;&amp;#xC778;&amp;#xD130;&amp;#xBCC0;&amp;#xC218;&amp;#xAC00; &amp;#xAC00;&amp;#xB9AC;&amp;#xD0A4;&amp;#xACE0; &amp;#xC788;&amp;#xB294; &amp;#xBA54;&amp;#xBAA8;&amp;#xB9AC;(&amp;#xC778;&amp;#xC2A4;&amp;#xD134;&amp;#xC2A4;)&amp;#xC5D0; &amp;#xB4E4;&amp;#xC5B4;&amp;#xC788;&amp;#xB294; &amp;#xC2E4;&amp;#xC81C; &amp;#xAC12;&amp;#xC744; &amp;#xC5BB;&amp;#xC744; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&amp;#xAE30;&amp;#xBCF8;&amp;#xAC12;&amp;#xC740; &lt;strong&gt;nil&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&amp;#xD568;&amp;#xC218; &amp;#xC885;&amp;#xB8CC;&amp;#xB85C; &amp;#xC778;&amp;#xD574; &amp;#xC0AC;&amp;#xC6A9;&amp;#xC744; &amp;#xB9C8;&amp;#xCE5C; &amp;#xC778;&amp;#xC2A4;&amp;#xD134;&amp;#xC2A4;&amp;#xB294; &amp;#xAC00;&amp;#xBE44;&amp;#xC9C0;&amp;#xCEEC;&amp;#xB809;&amp;#xD130;&amp;#xC5D0; &amp;#xC758;&amp;#xD574; &amp;#xBA54;&amp;#xBAA8;&amp;#xB9AC; &amp;#xD574;&amp;#xC81C; &amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xD0C0;&amp;#xC785;&amp;#xC774; int&amp;#xC778; &amp;#xBCC0;&amp;#xC218; a&amp;#xC758; &amp;#xC8FC;&amp;#xC18C;&amp;#xB97C; &amp;#xAC12;&amp;#xC73C;&amp;#xB85C; &amp;#xAC16;&amp;#xACE0; &amp;#xC788;&amp;#xB294; &amp;#xD3EC;&amp;#xC778;&amp;#xD130; &amp;#xBCC0;&amp;#xC218; p&amp;#xC5D0; &amp;#xB300;&amp;#xD55C; &amp;#xC608;&amp;#xC81C;&amp;#xB97C; &amp;#xD655;&amp;#xC778;&amp;#xD574;&amp;#xBD05;&amp;#xC2DC;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword keyword-var&quot;&gt;var&lt;/span&gt; a &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;10&lt;/span&gt;  
&lt;span class=&quot;token keyword keyword-var&quot;&gt;var&lt;/span&gt; p &lt;span class=&quot;token operator&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;token builtin&quot;&gt;int&lt;/span&gt;  
p &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt;a  
fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Printf&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;a&amp;#xC758; &amp;#xAC12;: %d\n&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; a&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;  
fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Printf&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;p&amp;#xC758; &amp;#xAC12;: %p\n&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; p&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;  
fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Printf&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;p&amp;#xAC00; &amp;#xAC00;&amp;#xB9AC;&amp;#xD0A4;&amp;#xACE0;&amp;#xC788;&amp;#xB294; &amp;#xBA54;&amp;#xBAA8;&amp;#xB9AC;&amp;#xC5D0; &amp;#xB4E4;&amp;#xC5B4;&amp;#xC788;&amp;#xB294; &amp;#xAC12;: %d\n&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;*&lt;/span&gt;p&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;  

fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;---------&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;  
&lt;span class=&quot;token operator&quot;&gt;*&lt;/span&gt;p &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;100&lt;/span&gt;  
fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Printf&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;p&amp;#xAC00; &amp;#xAC00;&amp;#xB9AC;&amp;#xD0A4;&amp;#xACE0;&amp;#xC788;&amp;#xB294; &amp;#xBA54;&amp;#xBAA8;&amp;#xB9AC;&amp;#xC5D0; &amp;#xB4E4;&amp;#xC5B4;&amp;#xC788;&amp;#xB294; &amp;#xAC12;: %d\n&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;*&lt;/span&gt;p&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;  
fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Printf&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;a&amp;#xC758; &amp;#xAC12;: %d&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; a&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;a&amp;#xC758; &amp;#xAC12;: &lt;span class=&quot;token number&quot;&gt;10&lt;/span&gt;
p&amp;#xC758; &amp;#xAC12;: 0x14000112008
p&amp;#xAC00; &amp;#xAC00;&amp;#xB9AC;&amp;#xD0A4;&amp;#xACE0;&amp;#xC788;&amp;#xB294; &amp;#xBA54;&amp;#xBAA8;&amp;#xB9AC;&amp;#xC5D0; &amp;#xB4E4;&amp;#xC5B4;&amp;#xC788;&amp;#xB294; &amp;#xAC12;: &lt;span class=&quot;token number&quot;&gt;10&lt;/span&gt;
---------
p&amp;#xAC00; &amp;#xAC00;&amp;#xB9AC;&amp;#xD0A4;&amp;#xACE0;&amp;#xC788;&amp;#xB294; &amp;#xBA54;&amp;#xBAA8;&amp;#xB9AC;&amp;#xC5D0; &amp;#xB4E4;&amp;#xC5B4;&amp;#xC788;&amp;#xB294; &amp;#xAC12;: &lt;span class=&quot;token number&quot;&gt;100&lt;/span&gt;
a&amp;#xC758; &amp;#xAC12;: &lt;span class=&quot;token number&quot;&gt;100&lt;/span&gt;
&lt;/pre&gt;&lt;p&gt;&amp;#xD3EC;&amp;#xC778;&amp;#xD130;&amp;#xBCC0;&amp;#xC218; p&amp;#xC5D0; &amp;#xB4E4;&amp;#xC5B4;&amp;#xC788;&amp;#xB294; &amp;#xAC12;&amp;#xC744; &amp;#xBCC0;&amp;#xACBD;&amp;#xD558;&amp;#xC790; a&amp;#xC758; &amp;#xAC12;&amp;#xB3C4; &amp;#xBCC0;&amp;#xACBD;&amp;#xB41C; &amp;#xAC83;&amp;#xC744; &amp;#xD655;&amp;#xC778;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;*p&amp;#xB97C; &amp;#xBCC0;&amp;#xACBD;&amp;#xD558;&amp;#xB294; &amp;#xAC83;&amp;#xC740; a&amp;#xB97C; &amp;#xBCC0;&amp;#xACBD;&amp;#xD558;&amp;#xB294; &amp;#xAC83;&amp;#xACFC; &amp;#xAC19;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr&gt;
&lt;h2 class=&quot;mume-header&quot; id=&quot;2-%ED%8F%AC%EC%9D%B8%ED%84%B0%EB%A5%BC-%EC%93%B0%EB%8A%94-%EC%9D%B4%EC%9C%A0&quot;&gt;2. &amp;#xD3EC;&amp;#xC778;&amp;#xD130;&amp;#xB97C; &amp;#xC4F0;&amp;#xB294; &amp;#xC774;&amp;#xC720;&lt;/h2&gt;

&lt;p&gt;&amp;#xBCC0;&amp;#xC218; &amp;#xB300;&amp;#xC785;&amp;#xC774;&amp;#xB098; &amp;#xD568;&amp;#xC218;&amp;#xC778;&amp;#xC790;&amp;#xB97C; &amp;#xC804;&amp;#xB2EC;&amp;#xD558;&amp;#xB294; &amp;#xD589;&amp;#xC704;&amp;#xB294; &amp;#xAC12;&amp;#xC744; &amp;#xBCF5;&amp;#xC0AC;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xAC12;&amp;#xC744; &amp;#xBCF5;&amp;#xC0AC;&amp;#xD558;&amp;#xB294; &amp;#xD589;&amp;#xC704;&amp;#xB294; &amp;#xBA54;&amp;#xBAA8;&amp;#xB9AC; &amp;#xACF5;&amp;#xAC04;&amp;#xC744; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD558;&amp;#xAE30; &amp;#xB54C;&amp;#xBB38;&amp;#xC5D0;, &amp;#xBA54;&amp;#xBAA8;&amp;#xB9AC; &amp;#xBCF5;&amp;#xC0AC;&amp;#xC2DC; &amp;#xBC1C;&amp;#xC0DD;&amp;#xB418;&amp;#xB294; &amp;#xC131;&amp;#xB2A5;&amp;#xC801; &amp;#xC774;&amp;#xC288;&amp;#xAC00; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xB610;, &amp;#xBCF5;&amp;#xC0AC;&amp;#xB41C; &amp;#xAC12;&amp;#xC774;&amp;#xAE30; &amp;#xB54C;&amp;#xBB38;&amp;#xC5D0; &amp;#xBCF5;&amp;#xC0AC;&amp;#xB41C; &amp;#xAC12;&amp;#xC758; &amp;#xBCC0;&amp;#xACBD;&amp;#xC0AC;&amp;#xD56D;&amp;#xC774; &amp;#xC2E4;&amp;#xC81C;&amp;#xAC12;&amp;#xC5D0; &amp;#xBC18;&amp;#xC601;&amp;#xB418;&amp;#xC9C0; &amp;#xC54A;&amp;#xB294; &amp;#xC810;&amp;#xC774; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xBA54;&amp;#xBAA8;&amp;#xB9AC; &amp;#xACF5;&amp;#xAC04;&amp;#xC744; &amp;#xD6A8;&amp;#xC728;&amp;#xC801;&amp;#xC73C;&amp;#xB85C; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD558;&amp;#xACE0; &amp;#xC2F6;&amp;#xAC70;&amp;#xB098; &amp;#xBCC0;&amp;#xACBD;&amp;#xC0AC;&amp;#xD56D;&amp;#xC744; &amp;#xC6D0;&amp;#xBB38;&amp;#xC5D0;&amp;#xB3C4; &amp;#xBC18;&amp;#xC601;&amp;#xD558;&amp;#xACE0; &amp;#xC2F6;&amp;#xB2E4;&amp;#xBA74; &amp;#xD3EC;&amp;#xC778;&amp;#xD130;&amp;#xB97C; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD558;&amp;#xB294; &amp;#xAC83;&amp;#xC774; &amp;#xC88B;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;go&amp;#xC5D0;&amp;#xC11C; &amp;#xD568;&amp;#xC218; &amp;#xD30C;&amp;#xB77C;&amp;#xBBF8;&amp;#xD130; &amp;#xAC12;&amp;#xC73C;&amp;#xB85C; &amp;#xAD6C;&amp;#xC870;&amp;#xCCB4;&amp;#xBCC0;&amp;#xC218;&amp;#xB97C; &amp;#xB118;&amp;#xACA8;&amp;#xC8FC;&amp;#xB294; &amp;#xD589;&amp;#xC704;&amp;#xB294; &amp;#xAD6C;&amp;#xC870;&amp;#xCCB4; &amp;#xBCC0;&amp;#xC218;&amp;#xAC12;&amp;#xC744; &amp;#xBCF5;&amp;#xC0AC;&amp;#xD558;&amp;#xB294; &amp;#xD589;&amp;#xC704;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xB530;&amp;#xB77C;&amp;#xC11C;, &amp;#xC544;&amp;#xB798;&amp;#xC758; &amp;#xC608;&amp;#xC81C;&amp;#xC5D0;&amp;#xC11C;, data&amp;#xBCC0;&amp;#xC218;&amp;#xB294; ChangeData&amp;#xD568;&amp;#xC218;&amp;#xB0B4;&amp;#xB85C; &amp;#xBCF5;&amp;#xC0AC;&amp;#xAC00; &amp;#xB418;&amp;#xAE30; &amp;#xB54C;&amp;#xBB38;&amp;#xC5D0;, main&amp;#xD568;&amp;#xC218; &amp;#xB0B4;&amp;#xC758; data &amp;#xC640; ChangeData &amp;#xD568;&amp;#xC218;&amp;#xB0B4;&amp;#xC758; data&amp;#xC758; &amp;#xC8FC;&amp;#xC18C;&amp;#xB294; &amp;#xAC01;&amp;#xAC01; &amp;#xB2E4;&amp;#xB974;&amp;#xACE0;,&lt;br&gt;
ChangeData &amp;#xD568;&amp;#xC218;&amp;#xB0B4;&amp;#xC5D0;&amp;#xC11C; &amp;#xAC12;&amp;#xC744; &amp;#xBCC0;&amp;#xACBD;&amp;#xD558;&amp;#xC5EC;&amp;#xB3C4;, main &amp;#xD568;&amp;#xC218;&amp;#xB0B4;&amp;#xC758; data &amp;#xBCC0;&amp;#xC218;&amp;#xB294; &amp;#xBCC0;&amp;#xACBD;&amp;#xB418;&amp;#xC9C0; &amp;#xC54A;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword keyword-package&quot;&gt;package&lt;/span&gt; main  

&lt;span class=&quot;token keyword keyword-import&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;fmt&amp;quot;&lt;/span&gt;  

&lt;span class=&quot;token keyword keyword-type&quot;&gt;type&lt;/span&gt; Data &lt;span class=&quot;token keyword keyword-struct&quot;&gt;struct&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;  
  value &lt;span class=&quot;token builtin&quot;&gt;string&lt;/span&gt;  
  score &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;4&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token builtin&quot;&gt;int&lt;/span&gt;  
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;  

&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;main&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;  
  &lt;span class=&quot;token keyword keyword-var&quot;&gt;var&lt;/span&gt; data Data  
  fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Printf&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;data.value&amp;#xC758; &amp;#xC8FC;&amp;#xC18C;&amp;#xAC12;: %p\n&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt;data&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;value&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;  
  &lt;span class=&quot;token function&quot;&gt;ChangeData&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;data&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;  
  fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Printf&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;data&amp;#xC758; value: %s, score[3]: %d\n&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; data&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;value&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; data&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;score&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;3&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;  
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;  

&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;ChangeData&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;data Data&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;  
  fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Printf&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;ChangeData &amp;#xB0B4;&amp;#xC758; data.value&amp;#xC758; &amp;#xC8FC;&amp;#xC18C;&amp;#xAC12;: %p\n&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt;data&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;value&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;  
  data&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;value &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;temp&amp;quot;&lt;/span&gt;  
  data&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;score&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;3&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;100&lt;/span&gt;  
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;data.value&amp;#xC758; &amp;#xC8FC;&amp;#xC18C;&amp;#xAC12;: 0x1400010e0c0
ChangeData &amp;#xB0B4;&amp;#xC758; data.value&amp;#xC758; &amp;#xC8FC;&amp;#xC18C;&amp;#xAC12;: 0x1400010e0f0
data&amp;#xC758; value: , score&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;3&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;: &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;
&lt;/pre&gt;&lt;br&gt;
&lt;p&gt;&amp;#xC704;&amp;#xC758; &amp;#xCF54;&amp;#xB4DC;&amp;#xC5D0;&amp;#xC11C;, data&amp;#xC758; &amp;#xC8FC;&amp;#xC18C;&amp;#xAC12;&amp;#xC744; &amp;#xB118;&amp;#xACA8;&amp;#xC8FC;&amp;#xB294; &amp;#xBC29;&amp;#xC2DD;&amp;#xC73C;&amp;#xB85C; &amp;#xBCC0;&amp;#xACBD;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword keyword-package&quot;&gt;package&lt;/span&gt; main  

&lt;span class=&quot;token keyword keyword-import&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;fmt&amp;quot;&lt;/span&gt;  

&lt;span class=&quot;token keyword keyword-type&quot;&gt;type&lt;/span&gt; Data &lt;span class=&quot;token keyword keyword-struct&quot;&gt;struct&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;  
  value &lt;span class=&quot;token builtin&quot;&gt;string&lt;/span&gt;  
  score &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;4&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token builtin&quot;&gt;int&lt;/span&gt;  
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;  

&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;main&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;  
  &lt;span class=&quot;token keyword keyword-var&quot;&gt;var&lt;/span&gt; data Data  
  fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Printf&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;data.value&amp;#xC758; &amp;#xC8FC;&amp;#xC18C;&amp;#xAC12;: %p\n&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt;data&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;value&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;  
  &lt;span class=&quot;token function&quot;&gt;ChangeData&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt;data&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;  
  fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Printf&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;data&amp;#xC758; value: %s, score[3]: %d\n&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; data&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;value&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; data&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;score&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;3&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;  
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;  

&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;ChangeData&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;data &lt;span class=&quot;token operator&quot;&gt;*&lt;/span&gt;Data&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;  
  fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Printf&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;ChangeData &amp;#xB0B4;&amp;#xC758; data.value&amp;#xC758; &amp;#xC8FC;&amp;#xC18C;&amp;#xAC12;: %p\n&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt;data&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;value&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;  
  data&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;value &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;temp&amp;quot;&lt;/span&gt;  
  data&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;score&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;3&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;100&lt;/span&gt;  
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;data.value&amp;#xC758; &amp;#xC8FC;&amp;#xC18C;&amp;#xAC12;: 0x1400006a0c0
ChangeData &amp;#xB0B4;&amp;#xC758; data.value&amp;#xC758; &amp;#xC8FC;&amp;#xC18C;&amp;#xAC12;: 0x1400006a0c0
data&amp;#xC758; value: temp, score&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;3&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;: &lt;span class=&quot;token number&quot;&gt;100&lt;/span&gt;
&lt;/pre&gt;&lt;p&gt;ChangeData &amp;#xD568;&amp;#xC218;&amp;#xB0B4;&amp;#xC5D0;&amp;#xC11C;, data&amp;#xB294; &amp;#xD3EC;&amp;#xC778;&amp;#xD130;&amp;#xBCC0;&amp;#xC218;&amp;#xC774;&amp;#xAE30; &amp;#xB54C;&amp;#xBB38;&amp;#xC5D0; &amp;#xC6D0;&amp;#xB798;&amp;#xB294; &lt;code&gt;(*data).value = &amp;quot;temp&amp;quot;&lt;/code&gt; &amp;#xC640; &amp;#xAC19;&amp;#xC774; &amp;#xC791;&amp;#xC131;&amp;#xD574;&amp;#xC57C;&amp;#xD558;&amp;#xC9C0;&amp;#xB9CC;, Go&amp;#xC5B8;&amp;#xC5B4;&amp;#xC5D0;&amp;#xC11C;&amp;#xB294; &lt;code&gt;data.value = &amp;quot;temp&amp;quot;&lt;/code&gt; &amp;#xB85C; &amp;#xC124;&amp;#xC815;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xB3C4;&amp;#xB85D; &amp;#xD3B8;&amp;#xC758;&amp;#xB97C; &amp;#xC81C;&amp;#xACF5;&amp;#xD558;&amp;#xACE0; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;java &amp;#xC5D0;&amp;#xC11C;&amp;#xB294; method&amp;#xC5D0; &amp;#xAC1D;&amp;#xCCB4;&amp;#xC758; &amp;#xC778;&amp;#xC2A4;&amp;#xD134;&amp;#xC2A4;&amp;#xB97C; &amp;#xB118;&amp;#xACA8;&amp;#xC904; &amp;#xB54C;, &amp;#xC778;&amp;#xC2A4;&amp;#xD134;&amp;#xC2A4;&amp;#xBA85;&amp;#xC744; &amp;#xB118;&amp;#xACA8;&amp;#xC8FC;&amp;#xB294; &amp;#xAC83;&amp;#xC73C;&amp;#xB85C; &amp;#xAC00;&amp;#xB2A5;&amp;#xD588;&amp;#xB2E4;&amp;#xBA74;,&lt;br&gt;
&lt;mark&gt;go&amp;#xC5D0;&amp;#xC11C;&amp;#xB294; &amp;#xAD6C;&amp;#xC870;&amp;#xCCB4; &amp;#xD3EC;&amp;#xC778;&amp;#xD130;&amp;#xB97C; &amp;#xB118;&amp;#xACA8;&amp;#xC918;&amp;#xC57C;&amp;#xD558;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/mark&gt;&lt;/p&gt;
&lt;br&gt;
&lt;p&gt;&amp;#xD55C;&amp;#xBC88; &amp;#xB354; &amp;#xC815;&amp;#xB9AC;&amp;#xD558;&amp;#xC790;&amp;#xBA74;, &amp;#xC544;&amp;#xB798;&amp;#xC5D0; &amp;#xC788;&amp;#xB294; d1, d2, d3 &amp;#xC778;&amp;#xC2A4;&amp;#xD134;&amp;#xC2A4;&amp;#xB294; &amp;#xBAA8;&amp;#xB450; &amp;#xAC01;&amp;#xAE30; &amp;#xB2E4;&amp;#xB978; &amp;#xC778;&amp;#xC2A4;&amp;#xD134;&amp;#xC2A4;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;. (d2, d3&amp;#xB294; d1&amp;#xC744; &amp;#xBCF5;&amp;#xC0AC;&amp;#xD55C; &amp;#xAC12;&amp;#xC774;&amp;#xAE30; &amp;#xB54C;&amp;#xBB38;&amp;#xC5D0;)&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword keyword-var&quot;&gt;var&lt;/span&gt; d1 Data
&lt;span class=&quot;token keyword keyword-var&quot;&gt;var&lt;/span&gt; d2 &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; d1
&lt;span class=&quot;token keyword keyword-var&quot;&gt;var&lt;/span&gt; d3 &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; d1
&lt;/pre&gt;&lt;br&gt;
&lt;p&gt;&amp;#xC544;&amp;#xB798;&amp;#xC5D0; &amp;#xC788;&amp;#xB294; a1, a2, a3 &amp;#xD3EC;&amp;#xC778;&amp;#xD130; &amp;#xBCC0;&amp;#xC218;&amp;#xB294; &amp;#xD558;&amp;#xB098;&amp;#xC758; &amp;#xC778;&amp;#xC2A4;&amp;#xD134;&amp;#xC2A4;&amp;#xB97C; &amp;#xAC00;&amp;#xB9AC;&amp;#xD0A4;&amp;#xACE0; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword keyword-var&quot;&gt;var&lt;/span&gt; a1 &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt;Data&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;  
&lt;span class=&quot;token keyword keyword-var&quot;&gt;var&lt;/span&gt; a2 &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; a1  
&lt;span class=&quot;token keyword keyword-var&quot;&gt;var&lt;/span&gt; a3 &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; a2
&lt;/pre&gt;&lt;hr&gt;
&lt;h2 class=&quot;mume-header&quot; id=&quot;3-%EA%B5%AC%EC%A1%B0%EC%B2%B4-%EB%B3%80%EC%88%98%EC%97%90-%EB%8C%80%ED%95%9C-%ED%8F%AC%EC%9D%B8%ED%84%B0%EB%B3%80%EC%88%98-%EC%B4%88%EA%B8%B0%ED%99%94&quot;&gt;3. &amp;#xAD6C;&amp;#xC870;&amp;#xCCB4; &amp;#xBCC0;&amp;#xC218;&amp;#xC5D0; &amp;#xB300;&amp;#xD55C; &amp;#xD3EC;&amp;#xC778;&amp;#xD130;&amp;#xBCC0;&amp;#xC218; &amp;#xCD08;&amp;#xAE30;&amp;#xD654;&lt;/h2&gt;

&lt;p&gt;&amp;#xAD6C;&amp;#xC870;&amp;#xCCB4; &amp;#xBCC0;&amp;#xC218;&amp;#xC5D0; &lt;strong&gt;&amp;amp;&lt;/strong&gt; &amp;#xC744; &amp;#xBD99;&amp;#xC5EC; &amp;#xD3EC;&amp;#xC778;&amp;#xD130;&amp;#xBCC0;&amp;#xC218;&amp;#xC5D0; &amp;#xB2F4;&amp;#xC744; &amp;#xC218; &amp;#xC788;&amp;#xC9C0;&amp;#xB9CC;&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword keyword-type&quot;&gt;type&lt;/span&gt; User &lt;span class=&quot;token keyword keyword-struct&quot;&gt;struct&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;  
  Name &lt;span class=&quot;token builtin&quot;&gt;string&lt;/span&gt;  
  Age  &lt;span class=&quot;token builtin&quot;&gt;int&lt;/span&gt;  
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;main&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;  
  &lt;span class=&quot;token keyword keyword-var&quot;&gt;var&lt;/span&gt; u User  
  &lt;span class=&quot;token keyword keyword-var&quot;&gt;var&lt;/span&gt; p1 &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt;u  
  fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;*&lt;/span&gt;p1&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;br&gt;
&lt;p&gt;&lt;code&gt;&amp;amp;User{}&lt;/code&gt; &amp;#xC640; &amp;#xAC19;&amp;#xC740; &amp;#xBC29;&amp;#xC2DD;&amp;#xC73C;&amp;#xB85C; &amp;#xD55C;&amp;#xBC88;&amp;#xC5D0; &amp;#xCD08;&amp;#xAE30;&amp;#xAC12;&amp;#xC744; &amp;#xB300;&amp;#xC785;&amp;#xD560; &amp;#xC218;&amp;#xB3C4; &amp;#xC788;&amp;#xACE0;, (p2&amp;#xC758; &amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xD0C0;&amp;#xC785;&amp;#xC740; &lt;code&gt;*User&lt;/code&gt;)&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword keyword-var&quot;&gt;var&lt;/span&gt; p2 &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt;User&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;  
fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;*&lt;/span&gt;p2&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;/pre&gt;&lt;br&gt;
&lt;p&gt;&lt;strong&gt;new()&lt;/strong&gt; &amp;#xB0B4;&amp;#xC7A5;&amp;#xD568;&amp;#xC218;&amp;#xB97C; &amp;#xC774;&amp;#xC6A9;&amp;#xD558;&amp;#xC5EC; &amp;#xCD08;&amp;#xAE30;&amp;#xD654; &amp;#xD560; &amp;#xC218;&amp;#xB3C4; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword keyword-var&quot;&gt;var&lt;/span&gt; p3 &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;new&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;User&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;  
fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;*&lt;/span&gt;p3&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;/pre&gt;&lt;hr&gt;
&lt;h2 class=&quot;mume-header&quot; id=&quot;4-stack-heap&quot;&gt;4. stack, heap&lt;/h2&gt;

&lt;p&gt;&amp;#xBCF4;&amp;#xD1B5; &amp;#xD568;&amp;#xC218; &amp;#xB0B4;&amp;#xC5D0;&amp;#xC11C;&amp;#xB9CC; &amp;#xC774;&amp;#xC6A9;&amp;#xD558;&amp;#xB294; &amp;#xAC12;&amp;#xC740; stack &amp;#xBA54;&amp;#xBAA8;&amp;#xB9AC; &amp;#xC601;&amp;#xC5ED;&amp;#xC744; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD558;&amp;#xACE0;,&lt;br&gt;
&amp;#xD568;&amp;#xC218; &amp;#xC678;&amp;#xBD80;&amp;#xC5D0; &amp;#xACF5;&amp;#xAC1C;&amp;#xB418;&amp;#xC5B4;&amp;#xC788;&amp;#xB294; &amp;#xAC12;&amp;#xC740; heap &amp;#xBA54;&amp;#xBAA8;&amp;#xB9AC; &amp;#xC601;&amp;#xC5ED;&amp;#xC744; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xAE30;&amp;#xBCF8;&amp;#xC801;&amp;#xC73C;&amp;#xB85C;, &amp;#xD568;&amp;#xC218; &amp;#xB0B4;&amp;#xBD80;&amp;#xC5D0;&amp;#xC11C; &amp;#xC815;&amp;#xC758;&amp;#xD55C; &amp;#xBCC0;&amp;#xC218;&amp;#xC758; &amp;#xACBD;&amp;#xC6B0;, &amp;#xD568;&amp;#xC218;&amp;#xB97C; &amp;#xC885;&amp;#xB8CC;&amp;#xD55C; &amp;#xD6C4; &amp;#xAC00;&amp;#xBE44;&amp;#xC9C0; &amp;#xCEEC;&amp;#xB809;&amp;#xD130;&amp;#xC5D0; &amp;#xC758;&amp;#xD574; &amp;#xBA54;&amp;#xBAA8;&amp;#xB9AC; &amp;#xD574;&amp;#xC81C;&amp;#xB418;&amp;#xC9C0;&amp;#xB9CC;,&lt;br&gt;
&amp;#xD568;&amp;#xC218; &amp;#xB0B4;&amp;#xC5D0;&amp;#xC11C; &amp;#xC0DD;&amp;#xC131;&amp;#xD55C; &amp;#xBCC0;&amp;#xC218;&amp;#xC758; &amp;#xC8FC;&amp;#xC18C;&amp;#xAC12;&amp;#xC744; &amp;#xBC18;&amp;#xD658;&amp;#xD55C;&amp;#xB2E4;&amp;#xBA74;, &amp;#xC774;&amp;#xB294; &amp;#xD568;&amp;#xC218;&amp;#xAC00; &amp;#xC885;&amp;#xB8CC;&amp;#xB418;&amp;#xB354;&amp;#xB77C;&amp;#xB3C4; &amp;#xBA54;&amp;#xBAA8;&amp;#xB9AC; &amp;#xD574;&amp;#xC81C;&amp;#xAC00; &amp;#xB418;&amp;#xC9C0; &amp;#xC54A;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xC989;, &amp;#xC774; &amp;#xACBD;&amp;#xC6B0;&amp;#xC5D0;&amp;#xB294; heap &amp;#xBA54;&amp;#xBAA8;&amp;#xB9AC; &amp;#xC601;&amp;#xC5ED;&amp;#xC5D0; &amp;#xD560;&amp;#xB2F9;&amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword keyword-package&quot;&gt;package&lt;/span&gt; main  

&lt;span class=&quot;token keyword keyword-import&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;fmt&amp;quot;&lt;/span&gt;  

&lt;span class=&quot;token keyword keyword-type&quot;&gt;type&lt;/span&gt; User &lt;span class=&quot;token keyword keyword-struct&quot;&gt;struct&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;  
  Name &lt;span class=&quot;token builtin&quot;&gt;string&lt;/span&gt;  
  Age  &lt;span class=&quot;token builtin&quot;&gt;int&lt;/span&gt;  
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;  

&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;main&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;  
  pUser &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;NewUser&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;jini&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;32&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;  
  fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;*&lt;/span&gt;pUser&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;  
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;  

&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;NewUser&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;name &lt;span class=&quot;token builtin&quot;&gt;string&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; age &lt;span class=&quot;token builtin&quot;&gt;int&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;*&lt;/span&gt;User &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;  
  &lt;span class=&quot;token keyword keyword-return&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt;User&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;Name&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; name&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; Age&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; age&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;  
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;jini &lt;span class=&quot;token number&quot;&gt;32&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;
  &lt;/div&gt;&lt;/div&gt;</description>
      <category>Go</category>
      <category>go</category>
      <author>jiniya22</author>
      <guid isPermaLink="true">https://jini-box.tistory.com/227</guid>
      <comments>https://jini-box.tistory.com/227#entry227comment</comments>
      <pubDate>Thu, 18 Jan 2024 01:25:27 +0900</pubDate>
    </item>
    <item>
      <title>[Go] 07. 배열, 구조체</title>
      <link>https://jini-box.tistory.com/226</link>
      <description>&lt;div id=&quot;html-export&quot;&gt;
      &lt;div class=&quot;mume markdown-preview  &quot;&gt;
      &lt;h2 class=&quot;mume-header&quot; id=&quot;1-%EB%B0%B0%EC%97%B4&quot;&gt;1. &amp;#xBC30;&amp;#xC5F4;&lt;/h2&gt;

&lt;p&gt;&amp;#xAC19;&amp;#xC740; &amp;#xD0C0;&amp;#xC785;&amp;#xC758; &amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xB4E4;&amp;#xB85C; &amp;#xC774;&amp;#xB8E8;&amp;#xC5B4;&amp;#xC838; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xBC30;&amp;#xC5F4;&amp;#xC744; &amp;#xC774;&amp;#xB8E8;&amp;#xB294; &amp;#xAC01; &amp;#xAC12;&amp;#xC744; elemenet(&amp;#xC694;&amp;#xC18C;), &amp;#xC704;&amp;#xCE58;&amp;#xAC12;&amp;#xC740;  index&amp;#xB77C;&amp;#xACE0; &amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword keyword-var&quot;&gt;var&lt;/span&gt; &amp;#xBCC0;&amp;#xC218;&amp;#xBA85; &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&amp;#xC694;&amp;#xC18C; &amp;#xAC1C;&amp;#xC218;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&amp;#xD0C0;&amp;#xC785;
&lt;/pre&gt;&lt;br&gt;
&lt;ul&gt;
&lt;li&gt;&amp;#xBC30;&amp;#xC5F4; &amp;#xC694;&amp;#xC18C;&amp;#xC218;&amp;#xB294; &lt;strong&gt;&amp;#xC0C1;&amp;#xC218;&lt;/strong&gt; &amp;#xAC12;&amp;#xB9CC; &amp;#xC124;&amp;#xC815;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/li&gt;
&lt;li&gt;&amp;#xBC30;&amp;#xC5F4;&amp;#xC758; &amp;#xAE38;&amp;#xC774;&amp;#xB294; &lt;code&gt;len(&amp;#xBC30;&amp;#xC5F4;&amp;#xBA85;)&lt;/code&gt; &amp;#xC73C;&amp;#xB85C; &amp;#xAD6C;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/li&gt;
&lt;li&gt;range&amp;#xB97C; &amp;#xC774;&amp;#xC6A9;&amp;#xD558;&amp;#xBA74; for&amp;#xC21C;&amp;#xD68C;&amp;#xD558;&amp;#xBA74;&amp;#xC11C; &amp;#xC778;&amp;#xB371;&amp;#xC2A4;&amp;#xC640; &amp;#xAC12;&amp;#xC744; &amp;#xD568;&amp;#xAED8; &amp;#xC870;&amp;#xD68C;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/li&gt;
&lt;li&gt;&amp;#xBC30;&amp;#xC5F4;&amp;#xC758; &amp;#xAE38;&amp;#xC774;&amp;#xB294; &amp;#xC124;&amp;#xC815;&amp;#xD558;&amp;#xC600;&amp;#xC73C;&amp;#xB098; &amp;#xAC12;&amp;#xC744; &amp;#xC124;&amp;#xC815;&amp;#xD558;&amp;#xC9C0; &amp;#xC54A;&amp;#xAC70;&amp;#xB098; &amp;#xAD6C;&amp;#xC870;&amp;#xCCB4; &amp;#xBCC0;&amp;#xC218;&amp;#xC758; &amp;#xAC01; &amp;#xD544;&amp;#xB4DC;&amp;#xAC12;&amp;#xC744; &amp;#xCD08;&amp;#xAE30;&amp;#xD654; &amp;#xD558;&amp;#xC9C0; &amp;#xC54A;&amp;#xC744; &amp;#xACBD;&amp;#xC6B0;, &amp;#xAC01; &amp;#xB370;&amp;#xC774;&amp;#xD130; &amp;#xD0C0;&amp;#xC785;&amp;#xC758; &amp;#xAE30;&amp;#xBCF8;&amp;#xAC12;&amp;#xC73C;&amp;#xB85C; &amp;#xCD08;&amp;#xAE30;&amp;#xD654; &amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;/li&gt;
&lt;li&gt;&amp;#xBC30;&amp;#xC5F4;&amp;#xC774;&amp;#xB098; &amp;#xAD6C;&amp;#xC870;&amp;#xCCB4;&amp;#xC640; &amp;#xAC19;&amp;#xC774; &amp;#xC911;&amp;#xAD04;&amp;#xD638;&amp;#xB97C; &amp;#xC774;&amp;#xC6A9;&amp;#xD558;&amp;#xC5EC; &amp;#xCD08;&amp;#xAE30;&amp;#xAC12;&amp;#xC744; &amp;#xC124;&amp;#xC815;&amp;#xD558;&amp;#xB294; &amp;#xBCC0;&amp;#xC218;&amp;#xB4E4;&amp;#xC740; &lt;code&gt;}&lt;/code&gt;&amp;#xAC00; &amp;#xC0C8;&amp;#xB85C;&amp;#xC6B4; &amp;#xC904;&amp;#xC5D0; &amp;#xC704;&amp;#xCE58;&amp;#xD558;&amp;#xC9C0; &amp;#xC54A;&amp;#xC744; &amp;#xACBD;&amp;#xC6B0; &amp;#xBC18;&amp;#xB4DC;&amp;#xC2DC; &lt;code&gt;,&lt;/code&gt; &amp;#xB97C; &amp;#xC791;&amp;#xC131;&amp;#xD574;&amp;#xC918;&amp;#xC57C;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/li&gt;
&lt;/ul&gt;
&lt;br&gt;
&lt;h3 class=&quot;mume-header&quot; id=&quot;11-%EB%B0%B0%EC%97%B4-%EC%B4%88%EA%B8%B0%ED%99%94&quot;&gt;1.1. &amp;#xBC30;&amp;#xC5F4; &amp;#xCD08;&amp;#xAE30;&amp;#xD654;&lt;/h3&gt;

&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;arr &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;5&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token builtin&quot;&gt;float32&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;3.14&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;5.9&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;9.0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;7&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;12.3&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;  

&lt;span class=&quot;token keyword keyword-for&quot;&gt;for&lt;/span&gt; i &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; i &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;len&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;arr&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; i&lt;span class=&quot;token operator&quot;&gt;++&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;  
  fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;arr&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;i&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;  
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;&lt;span class=&quot;token number&quot;&gt;3.14&lt;/span&gt;
&lt;span class=&quot;token number&quot;&gt;5.9&lt;/span&gt;
&lt;span class=&quot;token number&quot;&gt;9&lt;/span&gt;
&lt;span class=&quot;token number&quot;&gt;7&lt;/span&gt;
&lt;span class=&quot;token number&quot;&gt;12.3&lt;/span&gt;
&lt;/pre&gt;&lt;p&gt;&amp;#xC2E4;&amp;#xC218;&amp;#xC758; &amp;#xACBD;&amp;#xC6B0;, format&amp;#xC744; &amp;#xC9C0;&amp;#xC815;&amp;#xD558;&amp;#xC9C0; &amp;#xC54A;&amp;#xC73C;&amp;#xBA74; &amp;#xCD5C;&amp;#xC18C; &amp;#xC18C;&amp;#xC218;&amp;#xC810; &amp;#xAE4C;&amp;#xC9C0; &amp;#xD45C;&amp;#xC2DC;&amp;#xD558;&amp;#xAE30; &amp;#xB54C;&amp;#xBB38;&amp;#xC5D0; 9.0, 7&amp;#xC740; &amp;#xBAA8;&amp;#xB450; 9, 7&amp;#xB85C; &amp;#xCD9C;&amp;#xB825;&amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&lt;br&gt;&lt;br&gt;
&amp;#xBC30;&amp;#xC5F4;&amp;#xC744; &amp;#xC120;&amp;#xC5B8;&amp;#xD558;&amp;#xACE0; &amp;#xCD08;&amp;#xAE30;&amp;#xD654;&amp;#xB97C; &amp;#xD558;&amp;#xC9C0; &amp;#xC54A;&amp;#xB294;&amp;#xB2E4;&amp;#xBA74;, &amp;#xAC01; &amp;#xB370;&amp;#xC774;&amp;#xD130; &amp;#xD0C0;&amp;#xC785;&amp;#xC5D0; &amp;#xB530;&amp;#xB978; &amp;#xAE30;&amp;#xBCF8;&amp;#xAC12;&amp;#xC73C;&amp;#xB85C; &amp;#xCD08;&amp;#xAE30;&amp;#xD654;&amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;. (&amp;#xC815;&amp;#xC218; &amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xC758; &amp;#xACBD;&amp;#xC6B0;&amp;#xC5D0;&amp;#xB294; 0)&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword keyword-var&quot;&gt;var&lt;/span&gt; arr &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;3&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token builtin&quot;&gt;int&lt;/span&gt;  
fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;arr&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;
&lt;/pre&gt;&lt;br&gt;
&lt;p&gt;&amp;#xC544;&amp;#xB798;&amp;#xC640; &amp;#xAC19;&amp;#xC774;, &amp;#xBC30;&amp;#xC5F4;&amp;#xC758; &amp;#xAE38;&amp;#xC774;&amp;#xC5D0; &amp;#xBE44;&amp;#xD574; &amp;#xCD08;&amp;#xAE30;&amp;#xD654;&amp;#xC5D0; &amp;#xC774;&amp;#xC6A9;&amp;#xB418;&amp;#xB294; &amp;#xC694;&amp;#xC18C;&amp;#xC218;&amp;#xAC00; &amp;#xC801;&amp;#xC744; &amp;#xACBD;&amp;#xC6B0;&amp;#xC5D0;&amp;#xB294;, &amp;#xB9E8; &amp;#xC55E; &amp;#xC778;&amp;#xB371;&amp;#xC2A4;&amp;#xBD80;&amp;#xD130; &amp;#xD560;&amp;#xB2F9;&amp;#xB418;&amp;#xACE0; &amp;#xB098;&amp;#xBA38;&amp;#xC9C0;&amp;#xB294; &amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xD0C0;&amp;#xC785;&amp;#xC5D0; &amp;#xB9DE;&amp;#xB294; &amp;#xAE30;&amp;#xBCF8;&amp;#xAC12;&amp;#xC774; &amp;#xC124;&amp;#xC815;&amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;arr &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;5&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token builtin&quot;&gt;int&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;5&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;  
fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;arr&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;5&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;2&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;
&lt;/pre&gt;&lt;br&gt;
&amp;#xC544;&amp;#xB798;&amp;#xC640; &amp;#xAC19;&amp;#xC774; `&amp;#xC778;&amp;#xB371;&amp;#xC2A4;:&amp;#xAC12;` &amp;#xBC29;&amp;#xC2DD;&amp;#xC73C;&amp;#xB85C; &amp;#xBC30;&amp;#xC5F4;&amp;#xC744; &amp;#xCD08;&amp;#xAE30;&amp;#xD654;&amp;#xD558;&amp;#xBA74; &amp;#xD2B9;&amp;#xC815; &amp;#xC778;&amp;#xB371;&amp;#xC2A4;&amp;#xC5D0;&amp;#xB9CC; &amp;#xC694;&amp;#xC18C;&amp;#xB97C; &amp;#xCD08;&amp;#xAE30;&amp;#xD654;&amp;#xD560; &amp;#xC218;&amp;#xB3C4; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;arr &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;5&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token builtin&quot;&gt;int&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;11&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;4&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;98&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;  
fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;arr&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;11&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;98&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;
&lt;/pre&gt;&lt;br&gt;
&lt;p&gt;&amp;#xBC30;&amp;#xC5F4; &amp;#xC694;&amp;#xC18C; &amp;#xAC1C;&amp;#xC218;&amp;#xB97C; &amp;#xC0DD;&amp;#xB7B5;&amp;#xD558;&amp;#xACE0; &amp;#xC2F6;&amp;#xB2E4;&amp;#xBA74; &lt;code&gt;[...]&lt;/code&gt; &amp;#xB97C; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD558;&amp;#xBA74; &amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;arr &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;...&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token builtin&quot;&gt;string&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;red&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;blue&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;green&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;  
fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;arr&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;len&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;arr&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;red blue green&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;3&lt;/span&gt;
&lt;/pre&gt;&lt;hr&gt;
&lt;h3 class=&quot;mume-header&quot; id=&quot;12-range&quot;&gt;1.2.  range&lt;/h3&gt;

&lt;p&gt;for range &amp;#xB97C; &amp;#xC774;&amp;#xC6A9;&amp;#xD558;&amp;#xBA74; &amp;#xBC30;&amp;#xC5F4;&amp;#xC744; &amp;#xC21C;&amp;#xD68C;&amp;#xD558;&amp;#xBA74;&amp;#xC11C; &lt;code&gt;&amp;#xC778;&amp;#xB371;&amp;#xC2A4;, &amp;#xAC12;&lt;/code&gt; &amp;#xC744; &amp;#xC870;&amp;#xD68C;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;range&amp;#xB294; array&amp;#xC678;&amp;#xC5D0;&amp;#xB3C4; slice, string, map, channel&amp;#xC5D0;&amp;#xB3C4; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;arr &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;...&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token builtin&quot;&gt;string&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;red&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;blue&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;green&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;  
&lt;span class=&quot;token keyword keyword-for&quot;&gt;for&lt;/span&gt; i&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; v &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; &lt;span class=&quot;token keyword keyword-range&quot;&gt;range&lt;/span&gt; arr &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;  
  fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;i&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; v&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;  
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;&lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt; red
&lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt; blue
&lt;span class=&quot;token number&quot;&gt;2&lt;/span&gt; green
&lt;/pre&gt;&lt;p&gt;&amp;#xB9CC;&amp;#xC57D;, &amp;#xC778;&amp;#xB371;&amp;#xC2A4;&amp;#xAC00; &amp;#xD544;&amp;#xC694;&amp;#xC5C6;&amp;#xB2E4;&amp;#xBA74;, &amp;#xC544;&amp;#xB798;&amp;#xC640; &amp;#xAC19;&amp;#xC774; &amp;#xC791;&amp;#xC131;&amp;#xD558;&amp;#xBA74; &amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&lt;code&gt;for _, v := range { }&lt;/code&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;h3 class=&quot;mume-header&quot; id=&quot;13-%EB%B0%B0%EC%97%B4-%EC%A3%BC%EC%86%8C&quot;&gt;1.3. &amp;#xBC30;&amp;#xC5F4; &amp;#xC8FC;&amp;#xC18C;&lt;/h3&gt;

&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;arr &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;...&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token builtin&quot;&gt;int16&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;11&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;12&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;13&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;  
&lt;span class=&quot;token keyword keyword-for&quot;&gt;for&lt;/span&gt; i &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; i &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;len&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;arr&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; i&lt;span class=&quot;token operator&quot;&gt;++&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;  
  fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Printf&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;&amp;#xC778;&amp;#xB371;&amp;#xC2A4;: %d, &amp;#xAC12;: %d, &amp;#xC8FC;&amp;#xC18C;&amp;#xAC12;: %d\n&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; i&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; arr&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;i&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt;arr&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;i&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;  
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;&amp;#xC778;&amp;#xB371;&amp;#xC2A4;: &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;, &amp;#xAC12;: &lt;span class=&quot;token number&quot;&gt;11&lt;/span&gt;, &amp;#xC8FC;&amp;#xC18C;&amp;#xAC12;: &lt;span class=&quot;token number&quot;&gt;1374390206482&lt;/span&gt;
&amp;#xC778;&amp;#xB371;&amp;#xC2A4;: &lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;, &amp;#xAC12;: &lt;span class=&quot;token number&quot;&gt;12&lt;/span&gt;, &amp;#xC8FC;&amp;#xC18C;&amp;#xAC12;: &lt;span class=&quot;token number&quot;&gt;1374390206484&lt;/span&gt;
&amp;#xC778;&amp;#xB371;&amp;#xC2A4;: &lt;span class=&quot;token number&quot;&gt;2&lt;/span&gt;, &amp;#xAC12;: &lt;span class=&quot;token number&quot;&gt;13&lt;/span&gt;, &amp;#xC8FC;&amp;#xC18C;&amp;#xAC12;: &lt;span class=&quot;token number&quot;&gt;1374390206486&lt;/span&gt;
&lt;/pre&gt;&lt;p&gt;&amp;#xBC30;&amp;#xC5F4;&amp;#xC740; &amp;#xC5F0;&amp;#xC18D;&amp;#xB41C; &amp;#xBA54;&amp;#xBAA8;&amp;#xB9AC;&amp;#xACF5;&amp;#xAC04;&amp;#xC5D0; &amp;#xC800;&amp;#xC7A5;&amp;#xB418;&amp;#xAE30; &amp;#xB54C;&amp;#xBB38;&amp;#xC5D0;, &amp;#xAC01; &amp;#xC694;&amp;#xC18C;&amp;#xC758; &amp;#xC8FC;&amp;#xC18C;&amp;#xB294; &amp;#xC694;&amp;#xC18C;&amp;#xC758; &amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xD0C0;&amp;#xC785; &amp;#xD06C;&amp;#xAE30;&amp;#xC5D0; &amp;#xB530;&amp;#xB77C; &amp;#xB2EC;&amp;#xB77C;&amp;#xC9D1;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xBC30;&amp;#xC5F4; &amp;#xC8FC;&amp;#xC18C;&amp;#xB294; 1&amp;#xBC14;&amp;#xC774;&amp;#xD2B8;(= 8bit)&amp;#xB2F9; 1&amp;#xCC28;&amp;#xC774;&amp;#xAC00; &amp;#xB0A9;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xC989;, int8&amp;#xD0C0;&amp;#xC785;&amp;#xC758; &amp;#xACBD;&amp;#xC6B0;, &amp;#xAC01; &amp;#xBC30;&amp;#xC5F4;&amp;#xC694;&amp;#xC18C;&amp;#xC758; &amp;#xC8FC;&amp;#xC18C;&amp;#xCC28;&amp;#xC774;&amp;#xAC00; 1&amp;#xC774;&amp;#xACE0;&lt;br&gt;
int16&amp;#xD0C0;&amp;#xC785;&amp;#xC740; 2, int64&amp;#xB294; 8&amp;#xC529; &amp;#xCC28;&amp;#xC774;&amp;#xAC00; &amp;#xB0A9;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;hr&gt;
&lt;h3 class=&quot;mume-header&quot; id=&quot;14-%EB%B0%B0%EC%97%B4-%EB%B3%B5%EC%82%AC&quot;&gt;1.4.  &amp;#xBC30;&amp;#xC5F4; &amp;#xBCF5;&amp;#xC0AC;&lt;/h3&gt;

&lt;p&gt;&amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xD0C0;&amp;#xC785;&amp;#xACFC; &amp;#xBC30;&amp;#xC5F4; &amp;#xD06C;&amp;#xAE30;&amp;#xAC00; &amp;#xAC19;&amp;#xC740; &amp;#xACBD;&amp;#xC6B0;,&lt;br&gt;
&amp;#xC544;&amp;#xB798;&amp;#xC640; &amp;#xAC19;&amp;#xC774; &amp;#xBC30;&amp;#xC5F4;&amp;#xAC04;&amp;#xC758; &amp;#xB300;&amp;#xC785; &amp;#xBC29;&amp;#xC2DD;(&lt;code&gt;a = b&lt;/code&gt; )&amp;#xC73C;&amp;#xB85C; b&amp;#xC5D0; &amp;#xB4E4;&amp;#xC5B4;&amp;#xC788;&amp;#xB294; &amp;#xAC12;&amp;#xC744; a &amp;#xBC30;&amp;#xC5F4;&amp;#xC758; &amp;#xAC01; &amp;#xBA54;&amp;#xBAA8;&amp;#xB9AC; &amp;#xACF5;&amp;#xAC04;&amp;#xC5D0; &amp;#xBCF5;&amp;#xC0AC;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;#xBCF5;&amp;#xC0AC; &amp;#xC2DC;, &amp;#xAC01; &amp;#xBC30;&amp;#xC5F4;&amp;#xC758; &amp;#xC8FC;&amp;#xC18C;&amp;#xAC12;&amp;#xC740; &amp;#xBCC0;&amp;#xD558;&amp;#xC9C0; &amp;#xC54A;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;a &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;3&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token builtin&quot;&gt;int&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;10&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;20&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;30&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;  
b &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;3&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token builtin&quot;&gt;int&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;3&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;  
fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;a&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;  
fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;b&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;  

fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;-----------&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;

a &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; b  
fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;a&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;  
fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;b&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;10&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;20&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;30&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; 0x140000a8018
&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;2&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;3&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; 0x140000a8030
-----------
&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;2&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;3&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; 0x140000a8018
&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;2&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;3&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; 0x140000a8030
&lt;/pre&gt;&lt;hr&gt;
&lt;h3 class=&quot;mume-header&quot; id=&quot;15-%EB%8B%A4%EC%A4%91-%EB%B0%B0%EC%97%B4&quot;&gt;1.5. &amp;#xB2E4;&amp;#xC911; &amp;#xBC30;&amp;#xC5F4;&lt;/h3&gt;

&lt;p&gt;&amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xD0C0;&amp;#xC785;&amp;#xC774; int&amp;#xC774;&amp;#xBA74;&amp;#xC11C;, &amp;#xC694;&amp;#xC18C;&amp;#xAC00; 5&amp;#xAC1C;&amp;#xC778; &amp;#xBC30;&amp;#xC5F4;&amp;#xC774; 2&amp;#xAC1C;&amp;#xC778; &amp;#xC774;&amp;#xC911;&amp;#xBC30;&amp;#xC5F4;&amp;#xC740; &amp;#xD45C;&amp;#xD604;&amp;#xD558;&amp;#xB294; &amp;#xBC29;&amp;#xBC95;&amp;#xC740; &amp;#xC544;&amp;#xB798;&amp;#xC640; &amp;#xAC19;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword keyword-var&quot;&gt;var&lt;/span&gt; arr &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;5&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token builtin&quot;&gt;int&lt;/span&gt;
&lt;/pre&gt;&lt;p&gt;&amp;#xBC30;&amp;#xC5F4;&amp;#xC744; &amp;#xB2EB;&amp;#xB294; &lt;code&gt;}&lt;/code&gt; &amp;#xB97C; &amp;#xBC30;&amp;#xC5F4; &amp;#xD56D;&amp;#xBAA9;&amp;#xACFC; &amp;#xAC19;&amp;#xC740; &amp;#xC904;&amp;#xC5D0; &amp;#xC791;&amp;#xC131;&amp;#xD560; &amp;#xB54C;&amp;#xC5D0;&amp;#xB294; &lt;code&gt;,&lt;/code&gt; &amp;#xB97C; &amp;#xC0DD;&amp;#xB7B5;&amp;#xD574;&amp;#xB3C4; &amp;#xB418;&amp;#xC9C0;&amp;#xB9CC;&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;a &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;5&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token builtin&quot;&gt;int&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;3&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;4&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;5&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;6&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;7&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;8&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;9&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;10&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;p&gt;&amp;#xB2E4;&amp;#xB978; &amp;#xC904;&amp;#xC5D0; &amp;#xC788;&amp;#xC744; &amp;#xB54C;&amp;#xC5D0;&amp;#xB294; &lt;strong&gt;&amp;#xBC18;&amp;#xB4DC;&amp;#xC2DC;&lt;/strong&gt; &lt;code&gt;,&lt;/code&gt; &amp;#xB97C; &amp;#xC791;&amp;#xC131;&amp;#xD574;&amp;#xC57C; &amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;#xBC30;&amp;#xC5F4; &amp;#xC678;&amp;#xC5D0;&amp;#xB3C4; &amp;#xAD6C;&amp;#xC870;&amp;#xCCB4; &amp;#xB4F1;&amp;#xACFC; &amp;#xAC19;&amp;#xC774; &amp;#xAD04;&amp;#xD638;&amp;#xB97C; &amp;#xC774;&amp;#xC6A9;&amp;#xD558;&amp;#xC5EC; &amp;#xAC12;&amp;#xC744; &amp;#xCD08;&amp;#xAE30;&amp;#xD654;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xB294; &amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xD0C0;&amp;#xC785;&amp;#xB4E4;&amp;#xC740; &amp;#xC774;&amp;#xC640; &amp;#xAC19;&amp;#xC740; &amp;#xD2B9;&amp;#xC9D5;&amp;#xC744; &amp;#xAC00;&amp;#xC9C0;&amp;#xACE0; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;a &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;5&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token builtin&quot;&gt;int&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;  
  &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;3&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;4&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;5&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;  
  &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;6&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;7&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;8&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;9&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;10&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;  
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;p&gt;&amp;#xAE30;&amp;#xBCF8; &amp;#xBC30;&amp;#xC5F4;&amp;#xC5D0;&amp;#xC11C; &amp;#xC544;&amp;#xB798;&amp;#xC640; &amp;#xAC19;&amp;#xC774; &amp;#xC791;&amp;#xC131;&amp;#xD560; &amp;#xACBD;&amp;#xC6B0;&amp;#xC5D0;&amp;#xB294; &lt;code&gt;,&lt;/code&gt;&amp;#xB97C; &amp;#xCC0D;&amp;#xC5B4;&amp;#xC918;&amp;#xC57C; &amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;b &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;...&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token builtin&quot;&gt;int&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;3&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;4&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;5&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;p&gt;&amp;#xAC04;&amp;#xB2E8;&amp;#xD558;&amp;#xAC8C;, &amp;#xC704;&amp;#xC758; &amp;#xBC30;&amp;#xC5F4;&amp;#xC744; &amp;#xC774;&amp;#xC6A9;&amp;#xD55C; &amp;#xC608;&amp;#xC81C;&amp;#xB97C; &amp;#xD655;&amp;#xC778;&amp;#xD574;&amp;#xBD05;&amp;#xC2DC;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;a &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;5&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token builtin&quot;&gt;int&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;  
  &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;3&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;4&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;5&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;  
  &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;6&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;7&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;8&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;9&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;10&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;  
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;  

fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;a&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;  
fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;a&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;  
fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;a&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;2&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;3&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;4&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;5&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;6&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;7&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;8&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;9&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;10&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;2&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;3&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;4&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;5&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;6&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;7&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;8&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;9&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;10&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;
&lt;/pre&gt;&lt;p&gt;a[0]&amp;#xC5D0; &amp;#xD574;&amp;#xB2F9;&amp;#xD558;&amp;#xB294; &amp;#xAC12;&amp;#xC774; &amp;#xBC14;&amp;#xB85C; &lt;code&gt;{1, 2, 3, 4, 5}&lt;/code&gt; &amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 class=&quot;mume-header&quot; id=&quot;2-%EA%B5%AC%EC%A1%B0%EC%B2%B4&quot;&gt;2. &amp;#xAD6C;&amp;#xC870;&amp;#xCCB4;&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&amp;#xAD6C;&amp;#xC870;&amp;#xCCB4;&amp;#xC758; &amp;#xD06C;&amp;#xAE30;&amp;#xB294; &amp;#xAD6C;&amp;#xC870;&amp;#xCCB4; &amp;#xB0B4;&amp;#xC5D0; &amp;#xC815;&amp;#xC758;&amp;#xB41C; &amp;#xD544;&amp;#xB4DC;&amp;#xB4E4;&amp;#xC758; &amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xD06C;&amp;#xAE30;&amp;#xB97C; &amp;#xBAA8;&amp;#xB450; &amp;#xD569;&amp;#xC0B0;&amp;#xD55C; &amp;#xAC12;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.
&lt;ul&gt;
&lt;li&gt;int&amp;#xD0C0;&amp;#xC785; &amp;#xD544;&amp;#xB4DC; 1&amp;#xAC1C;&amp;#xC640; float64&amp;#xD0C0;&amp;#xC785; &amp;#xD544;&amp;#xB4DC; 1&amp;#xAC1C;&amp;#xB85C; &amp;#xAD6C;&amp;#xC131;&amp;#xB418;&amp;#xC5B4;&amp;#xC788;&amp;#xB2E4;&amp;#xBA74;  8byte + 8byte = 16byte&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;(&amp;#xBC30;&amp;#xC5F4;&amp;#xACFC; &amp;#xAC19;&amp;#xC774;) &amp;#xB300;&amp;#xC785;&amp;#xC5F0;&amp;#xC0B0;&amp;#xC73C;&amp;#xB85C; &amp;#xAD6C;&amp;#xC870;&amp;#xCCB4; &amp;#xAC12; &amp;#xBCF5;&amp;#xC0AC;&amp;#xAC00; &amp;#xAC00;&amp;#xB2A5;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.
&lt;ul&gt;
&lt;li&gt;m1 = m2&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 class=&quot;mume-header&quot; id=&quot;21-%EA%B5%AC%EC%A1%B0%EC%B2%B4-%EC%84%A0%EC%96%B8&quot;&gt;2.1. &amp;#xAD6C;&amp;#xC870;&amp;#xCCB4; &amp;#xC120;&amp;#xC5B8;&lt;/h3&gt;

&lt;p&gt;(&amp;#xD0C0;&amp;#xC785;&amp;#xC774; &amp;#xAC19;&amp;#xAC70;&amp;#xB098; &amp;#xB2E4;&amp;#xB978;) &amp;#xC5EC;&amp;#xB7EC;&amp;#xAC1C;&amp;#xC758; &amp;#xBCC0;&amp;#xC218;&amp;#xB97C; &amp;#xD558;&amp;#xB098;&amp;#xB85C; &amp;#xBB36;&amp;#xC740; &amp;#xD0C0;&amp;#xC785;&amp;#xC744; &amp;#xAD6C;&amp;#xC870;&amp;#xCCB4;(structure)&amp;#xB77C;&amp;#xACE0; &amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xAD6C;&amp;#xC870;&amp;#xCCB4;&amp;#xB294; &amp;#xC0AC;&amp;#xC6A9;&amp;#xC790;&amp;#xAC00; &amp;#xC9C1;&amp;#xC811; &amp;#xD0C0;&amp;#xC785;&amp;#xC744; &amp;#xB9CC;&amp;#xB4E4;&amp;#xAE30; &amp;#xB54C;&amp;#xBB38;&amp;#xC5D0; type&amp;#xD0A4;&amp;#xC6CC;&amp;#xB4DC;&amp;#xB97C; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD558;&amp;#xC5EC; &amp;#xC120;&amp;#xC5B8;&amp;#xD574;&amp;#xC57C; &amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xC774;&amp;#xC804; &amp;#xC2DC;&amp;#xAC04;&amp;#xC5D0;, const &amp;#xBAA9;&amp;#xB85D;&amp;#xC744; &amp;#xC774;&amp;#xC6A9;&amp;#xD55C; enum &amp;#xC815;&amp;#xC758; &amp;#xBD80;&amp;#xBD84;&amp;#xC5D0;&amp;#xC11C;, &amp;#xC544;&amp;#xB798;&amp;#xC640; &amp;#xAC19;&amp;#xC774; &amp;#xD0C0;&amp;#xC785;&amp;#xC744; &amp;#xC815;&amp;#xC758;&amp;#xD588;&amp;#xB358; &amp;#xAC83;&amp;#xCC98;&amp;#xB7FC;&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword keyword-type&quot;&gt;type&lt;/span&gt; ColorType &lt;span class=&quot;token builtin&quot;&gt;int&lt;/span&gt;

&lt;span class=&quot;token keyword keyword-const&quot;&gt;const&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;
	Red ColorType &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token boolean&quot;&gt;iota&lt;/span&gt;
	Blue
	Yellow
	Black
&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;/pre&gt;&lt;br&gt;
&lt;p&gt;&amp;#xC544;&amp;#xB798;&amp;#xC640; &amp;#xAC19;&amp;#xC740; &amp;#xD615;&amp;#xD0DC;&amp;#xB85C; &amp;#xAD6C;&amp;#xC870;&amp;#xCCB4;&amp;#xB97C; &amp;#xC815;&amp;#xC758;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword keyword-type&quot;&gt;type&lt;/span&gt; &amp;#xAD6C;&amp;#xC870;&amp;#xCCB4;&amp;#xD0C0;&amp;#xC785;&amp;#xBA85; &lt;span class=&quot;token keyword keyword-struct&quot;&gt;struct&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&amp;#xD544;&amp;#xB4DC;&amp;#xBA85; &amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xD0C0;&amp;#xC785;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;p&gt;&amp;#xAD6C;&amp;#xC870;&amp;#xCCB4;&amp;#xBA85;&amp;#xACFC; &amp;#xD544;&amp;#xB4DC;&amp;#xBA85;&amp;#xC758; &amp;#xB9E8; &amp;#xCCAB;&amp;#xBC88;&amp;#xC9F8; &amp;#xAE00;&amp;#xC790;&amp;#xB97C; &amp;#xB300;&amp;#xBB38;&amp;#xC790;&amp;#xB85C; &amp;#xC815;&amp;#xC758;&amp;#xD560; &amp;#xACBD;&amp;#xC6B0;, &amp;#xD328;&amp;#xD0A4;&amp;#xC9C0; &amp;#xC678;&amp;#xBD80;&amp;#xB85C; &amp;#xACF5;&amp;#xAC1C;(public)&amp;#xB418;&amp;#xB294; &amp;#xD0C0;&amp;#xC785;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&lt;br&gt;&lt;/p&gt;
&lt;h3 class=&quot;mume-header&quot; id=&quot;22-%EA%B8%B0%EB%B3%B8-%EC%82%AC%EC%9A%A9%EB%B2%95&quot;&gt;2.2. &amp;#xAE30;&amp;#xBCF8; &amp;#xC0AC;&amp;#xC6A9;&amp;#xBC95;&lt;/h3&gt;

&lt;p&gt;&amp;#xC120;&amp;#xC5B8;&amp;#xACFC; &amp;#xB3D9;&amp;#xC2DC;&amp;#xC5D0; &amp;#xBAA8;&amp;#xB4E0; &amp;#xD544;&amp;#xB4DC;&amp;#xAC12;&amp;#xC744; &amp;#xCD08;&amp;#xAE30;&amp;#xD654;&amp;#xC2DC;&amp;#xD0A4;&amp;#xACE0;&amp;#xC790;&amp;#xD560; &amp;#xB54C;, &amp;#xAE30;&amp;#xBCF8;&amp;#xC801;&amp;#xC73C;&amp;#xB85C; &amp;#xC544;&amp;#xB798;&amp;#xC640; &amp;#xAC19;&amp;#xC774; &lt;code&gt;&amp;#xD544;&amp;#xB4DC;&amp;#xBA85;: &amp;#xAC12;&lt;/code&gt; &amp;#xD615;&amp;#xD0DC;&amp;#xB85C; &amp;#xCD08;&amp;#xAE30;&amp;#xD654; &amp;#xD558;&amp;#xBA70;, &amp;#xC774;&amp;#xB807;&amp;#xAC8C; &amp;#xD544;&amp;#xB4DC;&amp;#xBA85;&amp;#xC744; &amp;#xC9C1;&amp;#xC811; &amp;#xC124;&amp;#xC815;&amp;#xD560; &amp;#xB54C;&amp;#xC5D0;&amp;#xB294; &amp;#xC77C;&amp;#xBD80; &amp;#xBCC0;&amp;#xC218;&amp;#xB9CC; &amp;#xCD08;&amp;#xAE30;&amp;#xD654; &amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword keyword-package&quot;&gt;package&lt;/span&gt; main  

&lt;span class=&quot;token keyword keyword-import&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;fmt&amp;quot;&lt;/span&gt;  

&lt;span class=&quot;token keyword keyword-type&quot;&gt;type&lt;/span&gt; Member &lt;span class=&quot;token keyword keyword-struct&quot;&gt;struct&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;  
  Name &lt;span class=&quot;token builtin&quot;&gt;string&lt;/span&gt;  
  Age  &lt;span class=&quot;token builtin&quot;&gt;int&lt;/span&gt;  
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;  

&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;main&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;  
  m1 &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; Member&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;Name&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;jay&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; Age&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;38&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;  
  fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;m2&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;

  m2 &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; Member&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;Name&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;jane&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;  
  fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;m2&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;  
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;jay &lt;span class=&quot;token number&quot;&gt;38&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;janae &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;br&gt;
&lt;p&gt;&amp;#xBAA8;&amp;#xB4E0; &amp;#xD544;&amp;#xB4DC;&amp;#xB97C; &amp;#xCD08;&amp;#xAE30;&amp;#xD654;&amp;#xD560; &amp;#xACBD;&amp;#xC6B0;&amp;#xC5D0;&amp;#xB294; &amp;#xD544;&amp;#xB4DC;&amp;#xBA85;&amp;#xC744; &amp;#xC0DD;&amp;#xB7B5;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xACE0;&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;m1 &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; Member&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;jini&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;32&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;  
fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;m1&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;/pre&gt;&lt;br&gt;
&lt;p&gt;&amp;#xCD08;&amp;#xAE30;&amp;#xD654;&amp;#xC2DC;, &amp;#xB9E8; &amp;#xB9C8;&amp;#xC9C0;&amp;#xB9C9; &lt;code&gt;}&lt;/code&gt;&amp;#xB97C; &amp;#xC120;&amp;#xC5B8;&amp;#xD544;&amp;#xB4DC;&amp;#xC640; &amp;#xBCC4;&amp;#xB3C4;&amp;#xC758; &amp;#xC904;&amp;#xB85C; &amp;#xC791;&amp;#xC131;&amp;#xD560; &amp;#xB54C;&amp;#xC5D0;&amp;#xB294; &amp;#xBC18;&amp;#xB4DC;&amp;#xC2DC; &lt;code&gt;,&lt;/code&gt; &amp;#xB97C; &amp;#xC791;&amp;#xC131;&amp;#xD574;&amp;#xC57C; &amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go num{3}&quot; class=&quot;language-go num{3}&quot;&gt;&lt;code&gt;m3 := Member{  
  &amp;quot;rora&amp;quot;,  
  29,  
}
&lt;/code&gt;&lt;/pre&gt;&lt;br&gt;
&lt;p&gt;&amp;#xD0C0;&amp;#xC785;&amp;#xC744; &amp;#xBA3C;&amp;#xC800; &amp;#xC120;&amp;#xC5B8;&amp;#xD558;&amp;#xACE0; &amp;#xB098;&amp;#xC911;&amp;#xC5D0; &amp;#xAC12;&amp;#xC744; &amp;#xC124;&amp;#xC815;&amp;#xD560; &amp;#xC218;&amp;#xB3C4; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword keyword-var&quot;&gt;var&lt;/span&gt; m2 Member  
m2&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;name &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;coco&amp;quot;&lt;/span&gt;  
m2&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;age &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;22&lt;/span&gt;
&lt;/pre&gt;&lt;br&gt;
&lt;h3 class=&quot;mume-header&quot; id=&quot;23-%EB%A9%94%EB%AA%A8%EB%A6%AC-%EC%A0%95%EB%A0%AC&quot;&gt;2.3. &amp;#xBA54;&amp;#xBAA8;&amp;#xB9AC; &amp;#xC815;&amp;#xB82C;&lt;/h3&gt;

&lt;p&gt;&amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xC5D0; &amp;#xD6A8;&amp;#xACFC;&amp;#xC801;&amp;#xC73C;&amp;#xB85C; &amp;#xC811;&amp;#xADFC;&amp;#xD558;&amp;#xAE30; &amp;#xC704;&amp;#xD574; &lt;strong&gt;&amp;#xBA54;&amp;#xBAA8;&amp;#xB9AC;&amp;#xB97C; &amp;#xC77C;&amp;#xC815; &amp;#xD06C;&amp;#xAE30; &amp;#xAC04;&amp;#xACA9;&amp;#xC73C;&amp;#xB85C; &amp;#xC815;&amp;#xB82C;&lt;/strong&gt; &amp;#xD558;&amp;#xB294; &amp;#xAC83;&lt;/p&gt;
&lt;p&gt;&amp;#xB808;&amp;#xC9C0;&amp;#xC2A4;&amp;#xD130;&amp;#xC758; &amp;#xD06C;&amp;#xAE30;&amp;#xC640; &amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xC758; &amp;#xD06C;&amp;#xAE30;&amp;#xAC00; &amp;#xAC19;&amp;#xAC8C; &amp;#xC815;&amp;#xB82C;&amp;#xB418;&amp;#xC5B4;&amp;#xC788;&amp;#xC744; &amp;#xACBD;&amp;#xC6B0;&amp;#xC5D0; &amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xB97C; &amp;#xD6A8;&amp;#xC728;&amp;#xC801;&amp;#xC73C;&amp;#xB85C; &amp;#xC77D;&amp;#xC5B4;&amp;#xB4E4;&amp;#xC77C; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;#xB808;&amp;#xC9C0;&amp;#xC2A4;&amp;#xD130;&amp;#xB294; &amp;#xC2E4;&amp;#xC81C; &amp;#xC5F0;&amp;#xC0B0;&amp;#xC5D0; &amp;#xC0AC;&amp;#xC6A9;&amp;#xB418;&amp;#xB294; &amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xAC00; &amp;#xC800;&amp;#xC7A5;&amp;#xB418;&amp;#xB294; &amp;#xACF3;&amp;#xC73C;&amp;#xB85C;, &amp;#xB808;&amp;#xC9C0;&amp;#xC2A4;&amp;#xD130; &amp;#xD06C;&amp;#xAE30;&amp;#xAC00; 8byte&amp;#xC778; &amp;#xCEF4;&amp;#xD4E8;&amp;#xD130;&amp;#xB97C; 64bit &amp;#xCEF4;&amp;#xD4E8;&amp;#xD130;&amp;#xB77C;&amp;#xACE0; &amp;#xBD80;&amp;#xB985;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword keyword-package&quot;&gt;package&lt;/span&gt; main  

&lt;span class=&quot;token keyword keyword-import&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;  
  &lt;span class=&quot;token string&quot;&gt;&amp;quot;fmt&amp;quot;&lt;/span&gt;  
  &lt;span class=&quot;token string&quot;&gt;&amp;quot;unsafe&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;  

&lt;span class=&quot;token keyword keyword-type&quot;&gt;type&lt;/span&gt; Student &lt;span class=&quot;token keyword keyword-struct&quot;&gt;struct&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;  
  Age   &lt;span class=&quot;token builtin&quot;&gt;int32&lt;/span&gt;  
  Score &lt;span class=&quot;token builtin&quot;&gt;float64&lt;/span&gt;  
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;main&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;  

  u1 &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; Student&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;Age&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;32&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; Score&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;9.5&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;  
  fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;unsafe&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Sizeof&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;u1&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt;u1&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;Age&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt;u1&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;Score&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;&lt;span class=&quot;token number&quot;&gt;16&lt;/span&gt; 0x14000112010 0x14000112018
&lt;/pre&gt;&lt;p&gt;64bit &amp;#xCEF4;&amp;#xD4E8;&amp;#xD130;&amp;#xC758; &amp;#xACBD;&amp;#xC6B0;&amp;#xC5D0;&amp;#xB294; &amp;#xAC01; &amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xB97C; 8&amp;#xC758; &amp;#xBC30;&amp;#xC218;&amp;#xC5D0; &amp;#xB2F4;&amp;#xB294; &amp;#xAC83;&amp;#xC774; &amp;#xD6A8;&amp;#xC728;&amp;#xC801;&amp;#xC774;&amp;#xAE30; &amp;#xB54C;&amp;#xBB38;&amp;#xC5D0;, &amp;#xB370;&amp;#xC774;&amp;#xD130; &amp;#xC2DC;&amp;#xC791; &amp;#xC8FC;&amp;#xC18C;&amp;#xB294; 8&amp;#xC758; &amp;#xC8FC;&amp;#xC18C; &amp;#xBC30;&amp;#xC218;&amp;#xC5D0; &amp;#xC704;&amp;#xCE58;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xADF8;&amp;#xB9AC;&amp;#xACE0;, &amp;#xAD6C;&amp;#xC870;&amp;#xCCB4; &amp;#xB0B4;&amp;#xC758; &amp;#xBCC0;&amp;#xC218;&amp;#xB294; &amp;#xAC01; &amp;#xD0C0;&amp;#xC785;&amp;#xC5D0; &amp;#xB530;&amp;#xB77C; &amp;#xD0C0;&amp;#xC785;&amp;#xC758; byte&amp;#xC218;&amp;#xC758; &amp;#xBC30;&amp;#xC218;&amp;#xC5D0; &amp;#xC704;&amp;#xCE58;&amp;#xD574; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
int32 &amp;#xD0C0;&amp;#xC785;&amp;#xC740; 4&amp;#xC758; &amp;#xBC30;&amp;#xC218;&amp;#xC704;&amp;#xCE58;&amp;#xC5D0;,  float64&amp;#xD0C0;&amp;#xC785;&amp;#xC740; 8&amp;#xC758; &amp;#xBC30;&amp;#xC218; &amp;#xC704;&amp;#xCE58;&amp;#xC5D0; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;int8&amp;#xC740; 1&amp;#xC758; &amp;#xBC30;&amp;#xC218;, int16&amp;#xC740; 2&amp;#xC758; &amp;#xBC30;&amp;#xC218;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;br&gt;
&lt;p&gt;&amp;#xB530;&amp;#xB77C;&amp;#xC11C;, u1 &amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xC758; &amp;#xD06C;&amp;#xAE30;(&lt;code&gt;unsafe.Sizeof&lt;/code&gt;) &amp;#xACB0;&amp;#xACFC;&amp;#xAC00; 16&amp;#xC774; &amp;#xB098;&amp;#xC635;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xC774;&amp;#xAC83;&amp;#xC744; &amp;#xADF8;&amp;#xB9BC;&amp;#xC73C;&amp;#xB85C; &amp;#xB098;&amp;#xD0C0;&amp;#xB0B4;&amp;#xBA74; &amp;#xC544;&amp;#xB798;&amp;#xC640; &amp;#xAC19;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&lt;img width=&quot;600&quot; src=&quot;https://raw.githubusercontent.com/jiniya22/image_box/master/Book/Go/01-2.png&quot;&gt;&lt;br&gt;&lt;br&gt;&lt;/p&gt;
&lt;p&gt;&amp;#xC774;&amp;#xB7EC;&amp;#xD55C; &amp;#xC131;&amp;#xC9C8;&amp;#xC744; &amp;#xD1A0;&amp;#xB300;&amp;#xB85C;&lt;/p&gt;
&lt;p&gt;int8&amp;#xD0C0;&amp;#xC785;&amp;#xC758; &amp;#xD544;&amp;#xB4DC; A, C, E&amp;#xC640; int&amp;#xD0C0;&amp;#xC785;&amp;#xC758; &amp;#xD544;&amp;#xB4DC; B, D &amp;#xB85C; &amp;#xAD6C;&amp;#xC131;&amp;#xB41C; User&amp;#xAD6C;&amp;#xC870;&amp;#xCCB4;&amp;#xAC00; &amp;#xC788;&amp;#xB2E4;&amp;#xACE0; &amp;#xD560; &amp;#xB54C;,&lt;br&gt;
&amp;#xC774; &amp;#xAD6C;&amp;#xC870;&amp;#xCCB4;&amp;#xC758; &amp;#xD544;&amp;#xB4DC; &amp;#xBC30;&amp;#xCE58;&amp;#xB97C; &amp;#xADF8;&amp;#xB300;&amp;#xB85C; &amp;#xB450;&amp;#xB294; &amp;#xAC83;&amp;#xC774; &amp;#xC544;&amp;#xB2C8;&amp;#xB77C;&lt;br&gt;
&amp;#xCD5C;&amp;#xC801;&amp;#xC758; &amp;#xBA54;&amp;#xBAA8;&amp;#xB9AC; &amp;#xBC30;&amp;#xCE58;&amp;#xB97C; &amp;#xACE0;&amp;#xB824;&amp;#xD558;&amp;#xC5EC; &amp;#xD328;&amp;#xB529;&amp;#xC744; &amp;#xCD5C;&amp;#xC18C;&amp;#xD654;&amp;#xD558;&amp;#xB294; &amp;#xAC83;&amp;#xC774; &amp;#xC88B;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&lt;br&gt;&lt;/p&gt;
&lt;p&gt;&amp;#xC774;&amp;#xB807;&amp;#xAC8C; &amp;#xC0DD;&amp;#xAE34; &amp;#xAD6C;&amp;#xC870;&amp;#xCCB4;&amp;#xB97C;&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword keyword-type&quot;&gt;type&lt;/span&gt; User &lt;span class=&quot;token keyword keyword-struct&quot;&gt;struct&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;  
  A &lt;span class=&quot;token builtin&quot;&gt;int8&lt;/span&gt;  
  B &lt;span class=&quot;token builtin&quot;&gt;int&lt;/span&gt;  
  C &lt;span class=&quot;token builtin&quot;&gt;int8&lt;/span&gt;  
  D &lt;span class=&quot;token builtin&quot;&gt;int&lt;/span&gt;  
  E &lt;span class=&quot;token builtin&quot;&gt;int8&lt;/span&gt;  
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;br&gt;
&lt;p&gt;&amp;#xC774;&amp;#xB807;&amp;#xAC8C; &amp;#xBCC0;&amp;#xACBD;&amp;#xD558;&amp;#xBA74;&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword keyword-type&quot;&gt;type&lt;/span&gt; User &lt;span class=&quot;token keyword keyword-struct&quot;&gt;struct&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;  
  A &lt;span class=&quot;token builtin&quot;&gt;int8&lt;/span&gt;
  C &lt;span class=&quot;token builtin&quot;&gt;int8&lt;/span&gt;
  E &lt;span class=&quot;token builtin&quot;&gt;int8&lt;/span&gt;
  B &lt;span class=&quot;token builtin&quot;&gt;int&lt;/span&gt;  
  D &lt;span class=&quot;token builtin&quot;&gt;int&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;br&gt;
&lt;p&gt;&amp;#xC544;&amp;#xB798;&amp;#xC640; &amp;#xAC19;&amp;#xC774; &amp;#xBA54;&amp;#xBAA8;&amp;#xB9AC; &amp;#xB0AD;&amp;#xBE44;&amp;#xB97C; &amp;#xC904;&amp;#xC77C; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;. (40 -&amp;gt; 24)&lt;/p&gt;
&lt;p&gt;&lt;img width=&quot;600&quot; src=&quot;https://raw.githubusercontent.com/jiniya22/image_box/master/Book/Go/01-3.png&quot;&gt;&lt;br&gt;&lt;br&gt;&lt;/p&gt;

  &lt;/div&gt;&lt;/div&gt;</description>
      <category>Go</category>
      <category>go</category>
      <author>jiniya22</author>
      <guid isPermaLink="true">https://jini-box.tistory.com/226</guid>
      <comments>https://jini-box.tistory.com/226#entry226comment</comments>
      <pubDate>Wed, 17 Jan 2024 17:00:51 +0900</pubDate>
    </item>
    <item>
      <title>[Go] 06. if문, switch문, for문</title>
      <link>https://jini-box.tistory.com/225</link>
      <description>&lt;div id=&quot;html-export&quot;&gt;
      &lt;div class=&quot;mume markdown-preview  &quot;&gt;
      &lt;p&gt;go&amp;#xC5D0;&amp;#xC11C;&amp;#xB294; java for&amp;#xBB38;&amp;#xC5D0;&amp;#xC11C; &amp;#xCD08;&amp;#xAE30;&amp;#xAC12;&amp;#xC744; &amp;#xC120;&amp;#xC5B8;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xB294; &amp;#xAC83;&amp;#xACFC; &amp;#xAC19;&amp;#xC774; if&amp;#xBB38;&amp;#xACFC; switch&amp;#xBB38;&amp;#xC5D0;&amp;#xC11C;&amp;#xB3C4; &amp;#xCD08;&amp;#xAE30;&amp;#xAC12;&amp;#xC744; &amp;#xC120;&amp;#xC5B8;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 class=&quot;mume-header&quot; id=&quot;1-if%EB%AC%B8&quot;&gt;1. if&amp;#xBB38;&lt;/h2&gt;

&lt;h3 class=&quot;mume-header&quot; id=&quot;11-if-%EC%B4%88%EA%B8%B0%EB%AC%B8-%EC%A1%B0%EA%B1%B4%EB%AC%B8&quot;&gt;1.1. if &amp;#xCD08;&amp;#xAE30;&amp;#xBB38;; &amp;#xC870;&amp;#xAC74;&amp;#xBB38;&lt;/h3&gt;

&lt;p&gt;go&amp;#xC5D0;&amp;#xC11C;&amp;#xB294; if&amp;#xBB38; &amp;#xB0B4;&amp;#xC5D0;&amp;#xC11C;&amp;#xB9CC; &amp;#xC0AC;&amp;#xC6A9;&amp;#xAC00;&amp;#xB2A5;&amp;#xD55C; &amp;#xCD08;&amp;#xAE30;&amp;#xBB38;&amp;#xC744; &amp;#xC120;&amp;#xC5B8;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xB2E8;, &amp;#xADF8; &amp;#xC120;&amp;#xC5B8;&amp;#xBB38;&amp;#xBB38;&amp;#xC740; if-else &amp;#xBE14;&amp;#xB7ED; &amp;#xBC16;&amp;#xC5D0;&amp;#xC11C;&amp;#xB294; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD560; &amp;#xC218; &amp;#xC5C6;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword keyword-package&quot;&gt;package&lt;/span&gt; main

&lt;span class=&quot;token keyword keyword-import&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;fmt&amp;quot;&lt;/span&gt;

&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;main&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-if&quot;&gt;if&lt;/span&gt; age&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; ok &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;getAge&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; ok &lt;span class=&quot;token operator&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt; age &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;20&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
		fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;You are young&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; age&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt; &lt;span class=&quot;token keyword keyword-else&quot;&gt;else&lt;/span&gt; &lt;span class=&quot;token keyword keyword-if&quot;&gt;if&lt;/span&gt; ok &lt;span class=&quot;token operator&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt; age &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;30&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
		fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;Nice age&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; age&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt; &lt;span class=&quot;token keyword keyword-else&quot;&gt;else&lt;/span&gt; &lt;span class=&quot;token keyword keyword-if&quot;&gt;if&lt;/span&gt; ok &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
		fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;You are beautiful&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; age&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt; &lt;span class=&quot;token keyword keyword-else&quot;&gt;else&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
		fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;Error&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
	&lt;span class=&quot;token comment&quot;&gt;// age, ok &amp;#xC0AC;&amp;#xC6A9; &amp;#xBD88;&amp;#xAC00;&amp;#xB2A5;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;getAge&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token builtin&quot;&gt;int&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token builtin&quot;&gt;bool&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-return&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;24&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token boolean&quot;&gt;true&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;hr&gt;
&lt;h2 class=&quot;mume-header&quot; id=&quot;2-switch&quot;&gt;2. switch&lt;/h2&gt;

&lt;p&gt;go&amp;#xC5D0;&amp;#xC11C;&amp;#xB294; switch&amp;#xBB38;&amp;#xC758; case&amp;#xC5D0;&amp;#xC11C; break&amp;#xB97C; &amp;#xC791;&amp;#xC131;&amp;#xD558;&amp;#xC9C0; &amp;#xC54A;&amp;#xC544;&amp;#xB3C4;, &amp;#xAE30;&amp;#xBCF8;&amp;#xC801;&amp;#xC73C;&amp;#xB85C; case&amp;#xD558;&amp;#xB098; &amp;#xC2E4;&amp;#xD589; &amp;#xD6C4; switch&amp;#xBB38;&amp;#xC744; &amp;#xBE60;&amp;#xC838;&amp;#xB098;&amp;#xAC11;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;fallthrough &amp;#xD0A4;&amp;#xC6CC;&amp;#xB4DC;&amp;#xB97C; &amp;#xC774;&amp;#xC6A9;&amp;#xD560; &amp;#xACBD;&amp;#xC6B0;, case &amp;#xC2E4;&amp;#xD589; &amp;#xD6C4; &amp;#xADF8; &amp;#xB2E4;&amp;#xC74C; case&amp;#xB3C4; &amp;#xC2E4;&amp;#xD589;&amp;#xD558;&amp;#xC9C0;&amp;#xB9CC;, &amp;#xC774; &amp;#xD0A4;&amp;#xC6CC;&amp;#xB4DC;&amp;#xB294; &amp;#xCF54;&amp;#xB4DC; &amp;#xD63C;&amp;#xB3D9;&amp;#xC744; &amp;#xC8FC;&amp;#xAE30; &amp;#xB54C;&amp;#xBB38;&amp;#xC5D0; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD558;&amp;#xC9C0; &amp;#xC54A;&amp;#xB294; &amp;#xAC83;&amp;#xC744; &amp;#xAD8C;&amp;#xC7A5;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;br&gt;
&lt;h3 class=&quot;mume-header&quot; id=&quot;21-%EC%97%AC%EB%9F%AC%EA%B0%92%EC%9D%84-%ED%95%9C%EB%B2%88%EC%97%90-%EB%B9%84%EA%B5%90&quot;&gt;2.1. &amp;#xC5EC;&amp;#xB7EC;&amp;#xAC12;&amp;#xC744; &amp;#xD55C;&amp;#xBC88;&amp;#xC5D0; &amp;#xBE44;&amp;#xAD50;&lt;/h3&gt;

&lt;p&gt;switch&amp;#xBB38;&amp;#xC5D0;&amp;#xC11C; &amp;#xD558;&amp;#xB098;&amp;#xC758; case&amp;#xC5D0; &amp;#xC5EC;&amp;#xB7EC;&amp;#xAC1C;&amp;#xC758; &amp;#xAC12;&amp;#xC744; &amp;#xC27C;&amp;#xD45C;&amp;#xB85C; &amp;#xAD6C;&amp;#xBB38;&amp;#xD558;&amp;#xC5EC; &amp;#xBE44;&amp;#xAD50;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go{.line-numbers, highlight=11}&quot; class=&quot;language-go line-numbers&quot; data-line=&quot;11&quot;&gt;&lt;span class=&quot;token keyword keyword-package&quot;&gt;package&lt;/span&gt; main

&lt;span class=&quot;token keyword keyword-import&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;fmt&amp;quot;&lt;/span&gt;

&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;main&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	day &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;friday&amp;quot;&lt;/span&gt;

	&lt;span class=&quot;token keyword keyword-switch&quot;&gt;switch&lt;/span&gt; day &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-case&quot;&gt;case&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;friday&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
		fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;&amp;#xAE08;&amp;#xC694;&amp;#xC77C;&amp;#xC740; &amp;#xBD88;&amp;#xAE08;!&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-case&quot;&gt;case&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;saturday&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;sunday&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
		fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;&amp;#xC8FC;&amp;#xB9D0; &amp;#xB108;&amp;#xBB34; &amp;#xC88B;&amp;#xC544;&amp;#xC694;&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-default&quot;&gt;default&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
		fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;&amp;#xC6D4;&amp;#xD654;&amp;#xC218;&amp;#xBAA9; &amp;#xC6D4;&amp;#xD654;&amp;#xC218;&amp;#xBAA9;&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span aria-hidden=&quot;true&quot; class=&quot;line-numbers-rows&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class=&quot;line-highlight-wrapper&quot;&gt;









&lt;div aria-hidden=&quot;true&quot; class=&quot;line-highlight&quot; data-range=&quot;11&quot; data-start=&quot;11&quot;&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/pre&gt;&lt;br&gt;
&lt;h3 class=&quot;mume-header&quot; id=&quot;22-%EC%A1%B0%EA%B1%B4%EB%AC%B8-%EB%B9%84%EA%B5%90&quot;&gt;2.2. &amp;#xC870;&amp;#xAC74;&amp;#xBB38; &amp;#xBE44;&amp;#xAD50;&lt;/h3&gt;

&lt;p&gt;&amp;#xC2A4;&amp;#xC704;&amp;#xCE58;&amp;#xC758; &amp;#xBE44;&amp;#xAD50;&amp;#xAC12;&amp;#xC5D0; true&amp;#xB97C; &amp;#xB123;&amp;#xC5B4;, if&amp;#xBB38;&amp;#xACFC; &amp;#xAC19;&amp;#xC774; &amp;#xC870;&amp;#xAC74;&amp;#xBB38; &amp;#xBE44;&amp;#xAD50;&amp;#xB97C; case&amp;#xC5D0; &amp;#xC124;&amp;#xC815;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xC774;&amp;#xB54C;, &lt;code&gt;switch true {}&lt;/code&gt; &amp;#xB294; &lt;code&gt;switch {}&lt;/code&gt;&amp;#xB85C; &amp;#xC904;&amp;#xC5EC;&amp;#xC4F8; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword keyword-switch&quot;&gt;switch&lt;/span&gt; &lt;span class=&quot;token boolean&quot;&gt;true&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;

&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;br&gt;
&lt;p&gt;&amp;#xBE44;&amp;#xAD50;&amp;#xAC12;&amp;#xC774; true&amp;#xC778; &amp;#xACBD;&amp;#xC6B0;&amp;#xC5D0;&amp;#xB294; case&amp;#xC5D0; &amp;#xBE44;&amp;#xAD50;&amp;#xAD6C;&amp;#xBB38;&amp;#xC744; &amp;#xC791;&amp;#xC131;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;or &amp;#xC870;&amp;#xAC74;&amp;#xC744; case&amp;#xC5D0; &amp;#xC791;&amp;#xC131;&amp;#xD558;&amp;#xACE0; &amp;#xC2F6;&amp;#xB2E4;&amp;#xBA74; &lt;code&gt;,&lt;/code&gt; &amp;#xB610;&amp;#xB294; &lt;code&gt;||&lt;/code&gt; &amp;#xB85C; &amp;#xAD6C;&amp;#xBD84;&amp;#xC9C0;&amp;#xC5B4; &amp;#xC870;&amp;#xAC74;&amp;#xC744; &amp;#xB098;&amp;#xC5F4;&amp;#xD558;&amp;#xBA74; &amp;#xB418;&amp;#xACE0;&lt;br&gt;
and &amp;#xC870;&amp;#xAC74;&amp;#xC740; &lt;code&gt;&amp;amp;&amp;amp;&lt;/code&gt; &amp;#xB97C; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD558;&amp;#xBA74; &amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword keyword-switch&quot;&gt;switch&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
&lt;span class=&quot;token keyword keyword-case&quot;&gt;case&lt;/span&gt; temp &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;10&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; temp &lt;span class=&quot;token operator&quot;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;30&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
  fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;&amp;#xB180;&amp;#xB7EC;&amp;#xAC00;&amp;#xAE30; &amp;#xC88B;&amp;#xC9C0; &amp;#xC54A;&amp;#xC740; &amp;#xB0A0;&amp;#xC528;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token keyword keyword-case&quot;&gt;case&lt;/span&gt; temp &lt;span class=&quot;token operator&quot;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;15&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt; temp &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;20&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
  fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;&amp;#xC801;&amp;#xB2F9;&amp;#xD55C; &amp;#xAC89;&amp;#xC637;&amp;#xC744; &amp;#xC785;&amp;#xACE0; &amp;#xB098;&amp;#xAC00;&amp;#xBA74; &amp;#xC88B;&amp;#xC744; &amp;#xB0A0;&amp;#xC528;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token keyword keyword-default&quot;&gt;default&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
  fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;&amp;#xAE30;&amp;#xD0C0;&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;br&gt;
&lt;h3 class=&quot;mume-header&quot; id=&quot;23-switch%EB%AC%B8%EC%97%90%EC%84%9C-%EC%B4%88%EA%B8%B0%EB%AC%B8-%EC%82%AC%EC%9A%A9&quot;&gt;2.3. switch&amp;#xBB38;&amp;#xC5D0;&amp;#xC11C; &amp;#xCD08;&amp;#xAE30;&amp;#xBB38; &amp;#xC0AC;&amp;#xC6A9;&lt;/h3&gt;

&lt;p&gt;switch&amp;#xBB38;&amp;#xC5D0;&amp;#xC11C;&amp;#xB3C4; &amp;#xCD08;&amp;#xAE30;&amp;#xBB38;&amp;#xC744; &amp;#xC124;&amp;#xC815;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC73C;&amp;#xBA70;, &amp;#xCD08;&amp;#xAE30;&amp;#xBB38;&amp;#xC5D0; &amp;#xC124;&amp;#xC815;&amp;#xD55C; &amp;#xBCC0;&amp;#xC218;&amp;#xB294; switch&amp;#xBE14;&amp;#xB7ED; &amp;#xB0B4;&amp;#xC5D0;&amp;#xC11C;&amp;#xB9CC; &amp;#xC0AC;&amp;#xC6A9; &amp;#xAC00;&amp;#xB2A5;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword keyword-package&quot;&gt;package&lt;/span&gt; main

&lt;span class=&quot;token keyword keyword-import&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;fmt&amp;quot;&lt;/span&gt;

&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;getAge&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token builtin&quot;&gt;int&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-return&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;30&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;main&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-switch&quot;&gt;switch&lt;/span&gt; age &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;getAge&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; age &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-case&quot;&gt;case&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;18&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
		fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;18&amp;#xC0B4;!&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-case&quot;&gt;case&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;30&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
		fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;30!!!&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-default&quot;&gt;default&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
		fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;&amp;#xB0B4; &amp;#xB098;&amp;#xC774;&amp;#xB294;&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; age&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

	&lt;span class=&quot;token comment&quot;&gt;// switch &amp;#xBE14;&amp;#xB85D; &amp;#xBC16;&amp;#xC5D0;&amp;#xC11C;&amp;#xB294; age &amp;#xBCC0;&amp;#xC218; &amp;#xC0AC;&amp;#xC6A9; &amp;#xBD88;&amp;#xAC00;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;br&gt;
&lt;p&gt;&amp;#xCD08;&amp;#xAE30;&amp;#xBB38; &amp;#xC0AC;&amp;#xC6A9;&amp;#xACFC; &amp;#xD568;&amp;#xAED8; &amp;#xC870;&amp;#xAC74;&amp;#xBB38;&amp;#xC744; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD558;&amp;#xACE0; &amp;#xC2F6;&amp;#xB2E4;&amp;#xBA74; &amp;#xC544;&amp;#xB798;&amp;#xC640; &amp;#xAC19;&amp;#xC774; &amp;#xBE44;&amp;#xAD50;&amp;#xAC12;&amp;#xC744; &amp;#xC0DD;&amp;#xB7B5;&amp;#xD558;&amp;#xBA74; &amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword keyword-switch&quot;&gt;switch&lt;/span&gt; age&lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;getAge&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;br&gt;
&lt;h3 class=&quot;mume-header&quot; id=&quot;24-switch%EB%AC%B8%EC%97%90-const-%EC%97%B4%EA%B1%B0%EA%B0%92-%ED%99%9C%EC%9A%A9&quot;&gt;2.4. switch&amp;#xBB38;&amp;#xC5D0; const &amp;#xC5F4;&amp;#xAC70;&amp;#xAC12; &amp;#xD65C;&amp;#xC6A9;&lt;/h3&gt;

&lt;p&gt;const &amp;#xC5F4;&amp;#xAC70;&amp;#xAC12;&amp;#xC744; &amp;#xD30C;&amp;#xB77C;&amp;#xBBF8;&amp;#xD130;&amp;#xB85C; &amp;#xBC1B;&amp;#xC544;, &amp;#xC5F4;&amp;#xAC70;&amp;#xD0C0;&amp;#xC785;&amp;#xC5D0; &amp;#xB530;&amp;#xB978; switch case &amp;#xC2E4;&amp;#xD589;&amp;#xD558;&amp;#xB294; &amp;#xAC83;&amp;#xB3C4; &amp;#xC790;&amp;#xC8FC; &amp;#xC774;&amp;#xC6A9;&amp;#xB418;&amp;#xB294; &amp;#xBC29;&amp;#xC2DD;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword keyword-package&quot;&gt;package&lt;/span&gt; main

&lt;span class=&quot;token keyword keyword-import&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;fmt&amp;quot;&lt;/span&gt;

&lt;span class=&quot;token keyword keyword-type&quot;&gt;type&lt;/span&gt; ColorType &lt;span class=&quot;token builtin&quot;&gt;int&lt;/span&gt;

&lt;span class=&quot;token keyword keyword-const&quot;&gt;const&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;
	Red ColorType &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token boolean&quot;&gt;iota&lt;/span&gt;
	Blue
	Yellow
	Black
&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;

&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;colorToString&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;color ColorType&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token builtin&quot;&gt;string&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-switch&quot;&gt;switch&lt;/span&gt; color &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-case&quot;&gt;case&lt;/span&gt; Red&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
		&lt;span class=&quot;token keyword keyword-return&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;red&amp;quot;&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-case&quot;&gt;case&lt;/span&gt; Blue&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
		&lt;span class=&quot;token keyword keyword-return&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;blue&amp;quot;&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-default&quot;&gt;default&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
		&lt;span class=&quot;token keyword keyword-return&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;etc&amp;quot;&lt;/span&gt;
	&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;getMyColor&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; ColorType &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-return&quot;&gt;return&lt;/span&gt; Blue
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;main&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;&amp;#xB0B4;&amp;#xAC00; &amp;#xAC00;&amp;#xC7A5; &amp;#xC88B;&amp;#xC544;&amp;#xD558;&amp;#xB294; &amp;#xC0C9;&amp;#xC740;&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;colorToString&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;getMyColor&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;/pre&gt;&lt;hr&gt;
&lt;h2 class=&quot;mume-header&quot; id=&quot;3-for%EB%AC%B8&quot;&gt;3. for&amp;#xBB38;&lt;/h2&gt;

&lt;p&gt;for&amp;#xBB38;&amp;#xC740; &lt;code&gt;for &amp;#xCD08;&amp;#xAE30;&amp;#xBB38;; &amp;#xC870;&amp;#xAC74;&amp;#xBB38;; &amp;#xD6C4;&amp;#xCC98;&amp;#xB9AC; {}&lt;/code&gt;&amp;#xB85C; &amp;#xAD6C;&amp;#xC131;&amp;#xB418;&amp;#xBA70;,&lt;br&gt;
if&amp;#xBB38;&amp;#xACFC; switch&amp;#xBB38;&amp;#xACFC; &amp;#xB9C8;&amp;#xCC2C;&amp;#xAC00;&amp;#xC9C0;&amp;#xB85C; &amp;#xCD08;&amp;#xAE30;&amp;#xBB38;&amp;#xC5D0; &amp;#xC120;&amp;#xC5B8;&amp;#xB41C; &amp;#xBCC0;&amp;#xC218;&amp;#xB294; for&amp;#xCF54;&amp;#xB4DC;&amp;#xBE14;&amp;#xB7ED; &amp;#xC548;&amp;#xC5D0;&amp;#xC11C;&amp;#xB9CC; &amp;#xC0AC;&amp;#xC6A9;&amp;#xAC00;&amp;#xB2A5;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword keyword-for&quot;&gt;for&lt;/span&gt; i &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; i &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;10&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; i&lt;span class=&quot;token operator&quot;&gt;++&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Print&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;i&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;, &amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;&lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;, &lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;, &lt;span class=&quot;token number&quot;&gt;2&lt;/span&gt;, &lt;span class=&quot;token number&quot;&gt;3&lt;/span&gt;, &lt;span class=&quot;token number&quot;&gt;4&lt;/span&gt;, &lt;span class=&quot;token number&quot;&gt;5&lt;/span&gt;, &lt;span class=&quot;token number&quot;&gt;6&lt;/span&gt;, &lt;span class=&quot;token number&quot;&gt;7&lt;/span&gt;, &lt;span class=&quot;token number&quot;&gt;8&lt;/span&gt;, &lt;span class=&quot;token number&quot;&gt;9&lt;/span&gt;,
&lt;/pre&gt;&lt;br&gt;
&lt;p&gt;&amp;#xCD08;&amp;#xAE30;&amp;#xBB38;, &amp;#xD6C4;&amp;#xCC98;&amp;#xB9AC;&amp;#xB294; &amp;#xC0DD;&amp;#xB7B5; &amp;#xAC00;&amp;#xB2A5;&amp;#xD558;&amp;#xACE0;, &amp;#xC0DD;&amp;#xB7B5;&amp;#xD560; &amp;#xB54C;&amp;#xC5D0;&amp;#xB294; &amp;#xAE30;&amp;#xBCF8;&amp;#xC801;&amp;#xC73C;&amp;#xB85C; &amp;#xC27C;&amp;#xD45C;&amp;#xB294; &amp;#xD45C;&amp;#xC2DC;&amp;#xD574;&amp;#xC57C;&amp;#xD558;&amp;#xB098;,&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword keyword-for&quot;&gt;for&lt;/span&gt; i &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; i &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;10&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Print&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;i&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;, &amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	i&lt;span class=&quot;token operator&quot;&gt;++&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;br&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;i &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;
&lt;span class=&quot;token keyword keyword-for&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; i &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;10&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; i&lt;span class=&quot;token operator&quot;&gt;++&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Print&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;i&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;, &amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;br&gt;
&lt;p&gt;&amp;#xC870;&amp;#xAC74;&amp;#xBB38;&amp;#xB9CC; &amp;#xC788;&amp;#xB294; &amp;#xACBD;&amp;#xC6B0;&amp;#xC5D0;&amp;#xB294; &amp;#xC27C;&amp;#xD45C; &amp;#xC0DD;&amp;#xB7B5;&amp;#xC774; &amp;#xAC00;&amp;#xB2A5;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;java&amp;#xC5D0;&amp;#xC11C; while&amp;#xBB38;&amp;#xC744; &amp;#xB300;&amp;#xC2E0;&amp;#xD558;&amp;#xB294; &amp;#xAE30;&amp;#xB2A5;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;i &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;
&lt;span class=&quot;token keyword keyword-for&quot;&gt;for&lt;/span&gt; i &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;10&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Print&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;i&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;, &amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	i &lt;span class=&quot;token operator&quot;&gt;+=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;2&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;br&gt;
&lt;h3 class=&quot;mume-header&quot; id=&quot;31-%EB%AC%B4%ED%95%9C%EB%A3%A8%ED%94%84&quot;&gt;3.1. &amp;#xBB34;&amp;#xD55C;&amp;#xB8E8;&amp;#xD504;&lt;/h3&gt;

&lt;p&gt;if&amp;#xBB38;&amp;#xC5D0;&amp;#xC11C;&amp;#xB3C4; &amp;#xADF8;&amp;#xB7AC;&amp;#xB358;&amp;#xAC83; &amp;#xCC98;&amp;#xB7FC; &amp;#xC870;&amp;#xAC74;&amp;#xBB38;&amp;#xC5D0; true&amp;#xB97C; &amp;#xC124;&amp;#xC815;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xC774;&amp;#xB97C; &amp;#xC774;&amp;#xC6A9;&amp;#xD558;&amp;#xC5EC; &amp;#xBB34;&amp;#xD55C;&amp;#xB8E8;&amp;#xD504;&amp;#xB97C; &amp;#xB098;&amp;#xD0C0;&amp;#xB0BC; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword keyword-for&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;token boolean&quot;&gt;true&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;

&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;br&gt;
&lt;p&gt;&amp;#xC870;&amp;#xAC74;&amp;#xBB38; true&amp;#xB294; &amp;#xC0DD;&amp;#xB7B5; &amp;#xAC00;&amp;#xB2A5;&amp;#xD558;&amp;#xC5EC; &amp;#xC544;&amp;#xB798;&amp;#xC640; &amp;#xAC19;&amp;#xC774; &amp;#xAC04;&amp;#xB2E8;&amp;#xD55C; &amp;#xD615;&amp;#xD0DC;&amp;#xB3C4; &amp;#xAC00;&amp;#xB2A5;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword keyword-for&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;

&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;br&gt;
&lt;h3 class=&quot;mume-header&quot; id=&quot;32-continue-break&quot;&gt;3.2. continue, break&lt;/h3&gt;

&lt;p&gt;java&amp;#xC5D0;&amp;#xC11C; &amp;#xC81C;&amp;#xACF5;&amp;#xD558;&amp;#xB294; continue, break&amp;#xB3C4; &amp;#xC9C0;&amp;#xC6D0;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword keyword-package&quot;&gt;package&lt;/span&gt; main

&lt;span class=&quot;token keyword keyword-import&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;
	&lt;span class=&quot;token string&quot;&gt;&amp;quot;bufio&amp;quot;&lt;/span&gt;
	&lt;span class=&quot;token string&quot;&gt;&amp;quot;fmt&amp;quot;&lt;/span&gt;
	&lt;span class=&quot;token string&quot;&gt;&amp;quot;os&amp;quot;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;

&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;main&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	stdin &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; bufio&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;NewReader&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;os&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;Stdin&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-for&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
		fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Print&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;&amp;#xC22B;&amp;#xC790;&amp;#xB97C; &amp;#xC785;&amp;#xB825;&amp;#xD558;&amp;#xC138;&amp;#xC694;(&amp;#xC885;&amp;#xB8CC;: 0): &amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
		&lt;span class=&quot;token keyword keyword-var&quot;&gt;var&lt;/span&gt; num &lt;span class=&quot;token builtin&quot;&gt;int&lt;/span&gt;
		&lt;span class=&quot;token boolean&quot;&gt;_&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; err &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Scanln&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt;num&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
		&lt;span class=&quot;token keyword keyword-if&quot;&gt;if&lt;/span&gt; err &lt;span class=&quot;token operator&quot;&gt;!=&lt;/span&gt; &lt;span class=&quot;token boolean&quot;&gt;nil&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
			fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;Error! &amp;#xC22B;&amp;#xC790; &amp;#xAC12;&amp;#xC744; &amp;#xC785;&amp;#xB825;&amp;#xD574;&amp;#xC57C;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
			&lt;span class=&quot;token boolean&quot;&gt;_&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token boolean&quot;&gt;_&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; stdin&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;ReadString&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;apos;\n&amp;apos;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
			&lt;span class=&quot;token keyword keyword-continue&quot;&gt;continue&lt;/span&gt;
		&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
		fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Printf&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;&amp;#xC785;&amp;#xB825;&amp;#xD55C; &amp;#xC22B;&amp;#xC790;&amp;#xB294; %d &amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;\n&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; num&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
		&lt;span class=&quot;token keyword keyword-if&quot;&gt;if&lt;/span&gt; num &lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
			&lt;span class=&quot;token keyword keyword-break&quot;&gt;break&lt;/span&gt;
		&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
	&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
	fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;End&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;&amp;#xC22B;&amp;#xC790;&amp;#xB97C; &amp;#xC785;&amp;#xB825;&amp;#xD558;&amp;#xC138;&amp;#xC694;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&amp;#xC885;&amp;#xB8CC;: &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;: &lt;span class=&quot;token number&quot;&gt;29&lt;/span&gt;
&amp;#xC785;&amp;#xB825;&amp;#xD55C; &amp;#xC22B;&amp;#xC790;&amp;#xB294; &lt;span class=&quot;token number&quot;&gt;29&lt;/span&gt; &amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;
&amp;#xC22B;&amp;#xC790;&amp;#xB97C; &amp;#xC785;&amp;#xB825;&amp;#xD558;&amp;#xC138;&amp;#xC694;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&amp;#xC885;&amp;#xB8CC;: &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;: hi
Error&lt;span class=&quot;token operator&quot;&gt;!&lt;/span&gt; &amp;#xC22B;&amp;#xC790; &amp;#xAC12;&amp;#xC744; &amp;#xC785;&amp;#xB825;&amp;#xD574;&amp;#xC57C;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;
&amp;#xC22B;&amp;#xC790;&amp;#xB97C; &amp;#xC785;&amp;#xB825;&amp;#xD558;&amp;#xC138;&amp;#xC694;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&amp;#xC885;&amp;#xB8CC;: &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;: &lt;span class=&quot;token number&quot;&gt;2&lt;/span&gt;
&amp;#xC785;&amp;#xB825;&amp;#xD55C; &amp;#xC22B;&amp;#xC790;&amp;#xB294; &lt;span class=&quot;token number&quot;&gt;2&lt;/span&gt; &amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;
&amp;#xC22B;&amp;#xC790;&amp;#xB97C; &amp;#xC785;&amp;#xB825;&amp;#xD558;&amp;#xC138;&amp;#xC694;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&amp;#xC885;&amp;#xB8CC;: &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;: &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;
&amp;#xC785;&amp;#xB825;&amp;#xD55C; &amp;#xC22B;&amp;#xC790;&amp;#xB294; &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt; &amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;
End
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;java&quot; class=&quot;language-java&quot;&gt;&lt;span class=&quot;token keyword keyword-public&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;token keyword keyword-void&quot;&gt;void&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;test&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	hi
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;br&gt;
&lt;h3 class=&quot;mume-header&quot; id=&quot;33-label&quot;&gt;3.3. label&lt;/h3&gt;

&lt;p&gt;&amp;#xB808;&amp;#xC774;&amp;#xBE14;&amp;#xC744; &amp;#xC124;&amp;#xC815;&amp;#xD558;&amp;#xC5EC;, &amp;#xC911;&amp;#xCCA9; for&amp;#xBB38;&amp;#xC5D0;&amp;#xC11C; &amp;#xD2B9;&amp;#xC815; for&amp;#xBB38;&amp;#xC744; &amp;#xC885;&amp;#xB8CC;&amp;#xC2DC;&amp;#xD0AC; &amp;#xC218;&amp;#xB3C4; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword keyword-package&quot;&gt;package&lt;/span&gt; main

&lt;span class=&quot;token keyword keyword-import&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;fmt&amp;quot;&lt;/span&gt;

&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;main&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;

	a &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;
	b &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;

OuterFor&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-for&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; a &lt;span class=&quot;token operator&quot;&gt;&amp;lt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;9&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; a&lt;span class=&quot;token operator&quot;&gt;++&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
		&lt;span class=&quot;token keyword keyword-for&quot;&gt;for&lt;/span&gt; b &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; b &lt;span class=&quot;token operator&quot;&gt;&amp;lt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;9&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; b&lt;span class=&quot;token operator&quot;&gt;++&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
			&lt;span class=&quot;token keyword keyword-if&quot;&gt;if&lt;/span&gt; a&lt;span class=&quot;token operator&quot;&gt;*&lt;/span&gt;b &lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;30&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
				&lt;span class=&quot;token keyword keyword-break&quot;&gt;break&lt;/span&gt; OuterFor
			&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
		&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
	&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
	fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Printf&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;%d * %d = %d\n&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; a&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; b&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; a&lt;span class=&quot;token operator&quot;&gt;*&lt;/span&gt;b&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;&lt;span class=&quot;token number&quot;&gt;5&lt;/span&gt; * &lt;span class=&quot;token number&quot;&gt;6&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;30&lt;/span&gt;
&lt;/pre&gt;&lt;br&gt;
&lt;p&gt;&amp;#xB2E4;&amp;#xB9CC;, label &amp;#xC744; &amp;#xC774;&amp;#xC6A9;&amp;#xD55C; &amp;#xBC18;&amp;#xBCF5;&amp;#xBB38; &amp;#xC885;&amp;#xB8CC;&amp;#xB294; &amp;#xC0AC;&amp;#xC6A9;&amp;#xC790; &amp;#xD63C;&amp;#xB780;&amp;#xC744; &amp;#xC8FC;&amp;#xB294; &amp;#xBA74;&amp;#xC774; &amp;#xC788;&amp;#xAE30; &amp;#xB54C;&amp;#xBB38;&amp;#xC5D0; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD558;&amp;#xC9C0; &amp;#xC54A;&amp;#xB294; &amp;#xAC83;&amp;#xC744; &amp;#xAD8C;&amp;#xC7A5;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xB610;, &amp;#xC911;&amp;#xCCA9; &amp;#xBC18;&amp;#xBCF5;&amp;#xBB38;&amp;#xC740; &amp;#xCD5C;&amp;#xB300;&amp;#xD55C; &amp;#xC81C;&amp;#xAC70;&amp;#xD558;&amp;#xB294; &amp;#xBC29;&amp;#xD5A5;&amp;#xC73C;&amp;#xB85C; &amp;#xCF54;&amp;#xB4DC;&amp;#xB97C; &amp;#xC791;&amp;#xC131;&amp;#xD558;&amp;#xC5EC;, &amp;#xD50C;&amp;#xB798;&amp;#xADF8; &amp;#xBCC0;&amp;#xC218;&amp;#xB098; &amp;#xB808;&amp;#xC774;&amp;#xBE14; &amp;#xC0AC;&amp;#xC6A9; &amp;#xC5C6;&amp;#xC774; &amp;#xCF54;&amp;#xB4DC;&amp;#xB97C; &amp;#xC791;&amp;#xC131;&amp;#xD558;&amp;#xB294; &amp;#xAC83;&amp;#xC744; &amp;#xAD8C;&amp;#xC7A5;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword keyword-package&quot;&gt;package&lt;/span&gt; main  

&lt;span class=&quot;token keyword keyword-import&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;fmt&amp;quot;&lt;/span&gt;  

&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;main&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;  
  a &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;  
  b &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;  

  &lt;span class=&quot;token keyword keyword-for&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; a &lt;span class=&quot;token operator&quot;&gt;&amp;lt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;9&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; a&lt;span class=&quot;token operator&quot;&gt;++&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;  
   &lt;span class=&quot;token keyword keyword-var&quot;&gt;var&lt;/span&gt; found &lt;span class=&quot;token builtin&quot;&gt;bool&lt;/span&gt;  
   &lt;span class=&quot;token keyword keyword-if&quot;&gt;if&lt;/span&gt; b&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; found &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;find30&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;a&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; found &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;  
    &lt;span class=&quot;token keyword keyword-break&quot;&gt;break&lt;/span&gt;  
   &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;  
  &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;  
  fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Printf&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;%d * %d = %d\n&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; a&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; b&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; a&lt;span class=&quot;token operator&quot;&gt;*&lt;/span&gt;b&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;  
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;  

&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;find30&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;a &lt;span class=&quot;token builtin&quot;&gt;int&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token builtin&quot;&gt;int&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token builtin&quot;&gt;bool&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;  
  &lt;span class=&quot;token keyword keyword-for&quot;&gt;for&lt;/span&gt; b &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; b &lt;span class=&quot;token operator&quot;&gt;&amp;lt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;9&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; b&lt;span class=&quot;token operator&quot;&gt;++&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;  
   &lt;span class=&quot;token keyword keyword-if&quot;&gt;if&lt;/span&gt; a&lt;span class=&quot;token operator&quot;&gt;*&lt;/span&gt;b &lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;30&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;  
    &lt;span class=&quot;token keyword keyword-return&quot;&gt;return&lt;/span&gt; b&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token boolean&quot;&gt;true&lt;/span&gt;  
   &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;  
  &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;  
  &lt;span class=&quot;token keyword keyword-return&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token boolean&quot;&gt;false&lt;/span&gt;  
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;
  &lt;/div&gt;&lt;/div&gt;</description>
      <category>Go</category>
      <category>go</category>
      <author>jiniya22</author>
      <guid isPermaLink="true">https://jini-box.tistory.com/225</guid>
      <comments>https://jini-box.tistory.com/225#entry225comment</comments>
      <pubDate>Tue, 16 Jan 2024 17:00:48 +0900</pubDate>
    </item>
    <item>
      <title>[Go] 05. 함수, 상수</title>
      <link>https://jini-box.tistory.com/224</link>
      <description>&lt;div id=&quot;html-export&quot;&gt;
      &lt;div class=&quot;mume markdown-preview  &quot;&gt;
      &lt;h2 class=&quot;mume-header&quot; id=&quot;1-%ED%95%A8%EC%88%98&quot;&gt;1. &amp;#xD568;&amp;#xC218;&lt;/h2&gt;

&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;Func1&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;a &lt;span class=&quot;token builtin&quot;&gt;int&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; b &lt;span class=&quot;token builtin&quot;&gt;int&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token builtin&quot;&gt;int&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;token keyword keyword-return&quot;&gt;return&lt;/span&gt; a &lt;span class=&quot;token operator&quot;&gt;+&lt;/span&gt; b
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&amp;#xD568;&amp;#xC218;&amp;#xBA85;&amp;#xC758; &amp;#xCCAB;&amp;#xAE00;&amp;#xC790;&amp;#xAC00; &amp;#xB300;&amp;#xBB38;&amp;#xC790;&lt;/strong&gt;&amp;#xC77C; &amp;#xACBD;&amp;#xC6B0; &lt;mark&gt;public &amp;#xD568;&amp;#xC218;&lt;/mark&gt;&lt;/li&gt;
&lt;li&gt;&amp;#xD568;&amp;#xC218;&amp;#xBA85; &amp;#xC606; &amp;#xC18C;&amp;#xAD04;&amp;#xD638;&amp;#xC5D0; &amp;#xB9E4;&amp;#xAC1C;&amp;#xBCC0;&amp;#xC218;(parameter)&amp;#xB97C; &amp;#xC124;&amp;#xC815;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.
&lt;ul&gt;
&lt;li&gt;&amp;#xB9CC;&amp;#xC77C; &amp;#xB9E4;&amp;#xAC1C;&amp;#xBCC0;&amp;#xC218;&amp;#xAC00; &amp;#xC5C6;&amp;#xB2E4;&amp;#xBA74; &amp;#xBE44;&amp;#xC6CC;&amp;#xB461;&amp;#xB2C8;&amp;#xB2E4;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&amp;#xB9E4;&amp;#xAC1C;&amp;#xBCC0;&amp;#xC218; &amp;#xC18C;&amp;#xAD04;&amp;#xD638; &amp;#xC624;&amp;#xB978;&amp;#xCABD;&amp;#xC5D0; &amp;#xBC18;&amp;#xD658;&amp;#xD0C0;&amp;#xC785;&amp;#xC744; &amp;#xC124;&amp;#xC815;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.
&lt;ul&gt;
&lt;li&gt;&amp;#xBC18;&amp;#xD658;&amp;#xD0C0;&amp;#xC785;&amp;#xC774; &amp;#xC5C6;&amp;#xB2E4;&amp;#xBA74; &amp;#xBE44;&amp;#xC6CC;&amp;#xB461;&amp;#xB2C8;&amp;#xB2E4;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&amp;#xC911;&amp;#xAD04;&amp;#xD638; &amp;#xC548;&amp;#xC5D0; &amp;#xD568;&amp;#xC218; &amp;#xC218;&amp;#xD589;&amp;#xCF54;&amp;#xB4DC;&amp;#xC640;, &amp;#xBC18;&amp;#xD658;&amp;#xD0C0;&amp;#xC785;&amp;#xC774; &amp;#xC874;&amp;#xC7AC;&amp;#xD560; &amp;#xACBD;&amp;#xC6B0;, &amp;#xB9C8;&amp;#xC9C0;&amp;#xB9C9; &amp;#xC904;&amp;#xC5D0; &amp;#xBC18;&amp;#xD658;&amp;#xAC12;&amp;#xC744; return &amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.
&lt;ul&gt;
&lt;li&gt;&amp;#xD568;&amp;#xC218; &amp;#xCF54;&amp;#xB4DC;&amp;#xC758; &amp;#xC2DC;&amp;#xC791;&amp;#xC778; &lt;code&gt;&amp;#xC911;&amp;#xAD04;&amp;#xD638; {&lt;/code&gt; &amp;#xB294; &amp;#xBC18;&amp;#xB4DC;&amp;#xC2DC; &amp;#xD568;&amp;#xC218; &amp;#xC815;&amp;#xC758;&amp;#xD558;&amp;#xB294; func&amp;#xC640; &amp;#xB3D9;&amp;#xC77C;&amp;#xD55C; &amp;#xB77C;&amp;#xC778;&amp;#xC5D0; &amp;#xC791;&amp;#xC131;&amp;#xD574;&amp;#xC57C; &amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.
&lt;ul&gt;
&lt;li&gt;&amp;#xC544;&amp;#xB798;&amp;#xC640; &amp;#xAC19;&amp;#xC774; &amp;#xCF54;&amp;#xB4DC; &amp;#xBE14;&amp;#xB85D;&amp;#xC744; &amp;#xC791;&amp;#xC131;&amp;#xD560; &amp;#xC218; &amp;#xC5C6;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;Func1&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;a &lt;span class=&quot;token builtin&quot;&gt;int&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; b &lt;span class=&quot;token builtin&quot;&gt;int&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token builtin&quot;&gt;int&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt; &lt;span class=&quot;token comment&quot;&gt;// Error&lt;/span&gt;
  &lt;span class=&quot;token keyword keyword-return&quot;&gt;return&lt;/span&gt; a &lt;span class=&quot;token operator&quot;&gt;+&lt;/span&gt; b
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&amp;#xBC18;&amp;#xD658;&amp;#xAC12;&amp;#xC740; &amp;#xC5EC;&amp;#xB7EC;&amp;#xAC1C; &amp;#xC124;&amp;#xC815;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC73C;&amp;#xBA70;, &amp;#xC5EC;&amp;#xB7EC;&amp;#xAC1C;&amp;#xC77C; &amp;#xACBD;&amp;#xC6B0;&amp;#xC5D0;&amp;#xB294; &amp;#xC18C;&amp;#xAD04;&amp;#xD638;&amp;#xB85C; &amp;#xAC10;&amp;#xC2F8;&amp;#xC90D;&amp;#xB2C8;&amp;#xB2E4;.&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;Divide&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;a&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; b &lt;span class=&quot;token builtin&quot;&gt;int&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token builtin&quot;&gt;int&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token builtin&quot;&gt;bool&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;token keyword keyword-if&quot;&gt;if&lt;/span&gt; b &lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;token keyword keyword-return&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token boolean&quot;&gt;false&lt;/span&gt;
  &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
  &lt;span class=&quot;token keyword keyword-return&quot;&gt;return&lt;/span&gt; a &lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt; b&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token boolean&quot;&gt;true&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;main&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  result&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; success &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;Divide&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;5&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;3&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
  fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;result&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; success&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token comment&quot;&gt;// 1 true&lt;/span&gt;
  result2&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; success &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;Divide&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;5&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
  fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;result2&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; success&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token comment&quot;&gt;// 0 false&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 class=&quot;mume-header&quot; id=&quot;2-%EC%83%81%EC%88%98&quot;&gt;2. &amp;#xC0C1;&amp;#xC218;&lt;/h2&gt;

&lt;h3 class=&quot;mume-header&quot; id=&quot;21-%EC%83%81%EC%88%98&quot;&gt;2.1. &amp;#xC0C1;&amp;#xC218;&lt;/h3&gt;

&lt;p&gt;&amp;#xCD5C;&amp;#xCD08;&amp;#xB85C; &amp;#xC120;&amp;#xC5B8;&amp;#xB41C; &amp;#xD6C4; &amp;#xBCC0;&amp;#xD558;&amp;#xC9C0; &amp;#xC54A;&amp;#xB294; &amp;#xAC12;&amp;#xC744; &amp;#xC815;&amp;#xC758;&amp;#xD558;&amp;#xAC70;&amp;#xB098; &amp;#xCF54;&amp;#xB4DC;&amp;#xAC12;&amp;#xC744; &amp;#xC815;&amp;#xC758;&amp;#xD560; &amp;#xB54C; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xC815;&amp;#xC218;, &amp;#xC2E4;&amp;#xC218;, &amp;#xBB38;&amp;#xC790;&amp;#xC5F4; &amp;#xB4F1;&amp;#xACFC; &amp;#xAC19;&amp;#xC740; &lt;strong&gt;primitive(&amp;#xAE30;&amp;#xBCF8; &amp;#xD0C0;&amp;#xC785;&amp;#xAC12;)&lt;/strong&gt; &amp;#xB9CC;&amp;#xC774; &amp;#xC0C1;&amp;#xC218;&amp;#xB85C; &amp;#xC120;&amp;#xC5B8;&amp;#xB420; &amp;#xC218; &amp;#xC788;&amp;#xC73C;&amp;#xBA70;,&lt;br&gt;
&amp;#xAD6C;&amp;#xC870;&amp;#xCCB4;, &amp;#xBC30;&amp;#xC5F4;&amp;#xACFC; &amp;#xAC19;&amp;#xC740; &amp;#xD0C0;&amp;#xC785;&amp;#xC740; &amp;#xC0C1;&amp;#xC218;&amp;#xB85C; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD560; &amp;#xC218; &amp;#xC5C6;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;#xADF8; &amp;#xBC16;&amp;#xC758; primitive &amp;#xD0C0;&amp;#xC785;&amp;#xC73C;&amp;#xB85C;&amp;#xB294; bool, rune, complex&amp;#xAC00; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;br&gt;
&lt;p&gt;&amp;#xC0C1;&amp;#xC218;&amp;#xB294; var&amp;#xD0A4;&amp;#xC6CC;&amp;#xB4DC; &amp;#xB300;&amp;#xC2E0; &lt;strong&gt;const&lt;/strong&gt; &amp;#xD0A4;&amp;#xC6CC;&amp;#xB4DC;&amp;#xB97C; &amp;#xC774;&amp;#xC6A9;&amp;#xD558;&amp;#xC5EC; &amp;#xC120;&amp;#xC5B8;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword keyword-const&quot;&gt;const&lt;/span&gt; ConstValue &lt;span class=&quot;token builtin&quot;&gt;int&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;5&lt;/span&gt;
&lt;/pre&gt;&lt;hr&gt;
&lt;h3 class=&quot;mume-header&quot; id=&quot;22-iota&quot;&gt;2.2. iota&lt;/h3&gt;

&lt;p&gt;&amp;#xC0C1;&amp;#xC218; &amp;#xBAA9;&amp;#xB85D;&amp;#xC744; iota &amp;#xD0A4;&amp;#xC6CC;&amp;#xB4DC;&amp;#xB97C; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD558;&amp;#xC5EC; &amp;#xC5F4;&amp;#xAC70;&amp;#xD615; &amp;#xCC98;&amp;#xB7FC; &amp;#xC815;&amp;#xC758;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
iota&amp;#xB97C; &amp;#xC774;&amp;#xC6A9;&amp;#xD558;&amp;#xBA74; &amp;#xC99D;&amp;#xAC00;&amp;#xD558;&amp;#xB294; &amp;#xC0C1;&amp;#xC218;&amp;#xB97C; &amp;#xD3B8;&amp;#xB9AC;&amp;#xD558;&amp;#xAC8C; &amp;#xC120;&amp;#xC5B8;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xC544;&amp;#xB798;&amp;#xC640; &amp;#xAC19;&amp;#xC774; &amp;#xC791;&amp;#xC131;&amp;#xD560; &amp;#xACBD;&amp;#xC6B0;, 0&amp;#xBD80;&amp;#xD130; &amp;#xC2DC;&amp;#xC791;&amp;#xD558;&amp;#xC5EC; &amp;#xAC01;&amp;#xAC01; 0, 1, 2&amp;#xB85C; &amp;#xCD08;&amp;#xAE30;&amp;#xD654;&amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword keyword-const&quot;&gt;const&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;
	APPLE &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token boolean&quot;&gt;iota&lt;/span&gt;
	BANANA
	GREEN
&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;/pre&gt;&lt;br&gt;
&lt;p&gt;const &amp;#xB0B4;&amp;#xC758; &amp;#xC0C1;&amp;#xC218; &amp;#xBAA9;&amp;#xB85D;&amp;#xC5D0;&amp;#xC11C; &amp;#xCD5C;&amp;#xCD08;&amp;#xB85C; iota&amp;#xB97C; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD560; &amp;#xB54C;, 0&amp;#xC73C;&amp;#xB85C; &amp;#xC124;&amp;#xC815;&amp;#xB418;&amp;#xB294;&amp;#xB370;&lt;/p&gt;
&lt;p&gt;&amp;#xCF54;&amp;#xB4DC;&amp;#xAC12;&amp;#xC744; &amp;#xB2E4;&amp;#xB974;&amp;#xAC8C; &amp;#xC801;&amp;#xC6A9;&amp;#xD558;&amp;#xACE0; &amp;#xC2F6;&amp;#xB2E4;&amp;#xBA74; &amp;#xC544;&amp;#xB798;&amp;#xC640; &amp;#xAC19;&amp;#xC774; &amp;#xC124;&amp;#xC815;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xACE0;, &amp;#xC544;&amp;#xB798;&amp;#xC758; &amp;#xACBD;&amp;#xC6B0; &amp;#xAC01;&amp;#xAC01; 11, 12, 13&amp;#xC73C;&amp;#xB85C; &amp;#xCD08;&amp;#xAE30;&amp;#xD654; &amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword keyword-const&quot;&gt;const&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;
	APPLE &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token boolean&quot;&gt;iota&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;+&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;11&lt;/span&gt;
	BANANA
	GREEN
&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;/pre&gt;&lt;br&gt;
&lt;p&gt;&amp;#xC26C;&amp;#xD504;&amp;#xD2B8; &amp;#xC5F0;&amp;#xC0B0;&amp;#xC790;&amp;#xB97C; &amp;#xD65C;&amp;#xC6A9;&amp;#xD558;&amp;#xC5EC; 10, 20, 40, 80 &amp;#xAC12;&amp;#xC744; &amp;#xC5F4;&amp;#xAC70;&amp;#xD615;&amp;#xC744; &amp;#xC774;&amp;#xC6A9;&amp;#xD558;&amp;#xC5EC; &amp;#xCD08;&amp;#xAE30;&amp;#xD654;&amp;#xD560; &amp;#xC218;&amp;#xB3C4; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword keyword-const&quot;&gt;const&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;
	C1 &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;10&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt; &lt;span class=&quot;token boolean&quot;&gt;iota&lt;/span&gt;
	C2
	C3
	C4
&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;/pre&gt;&lt;hr&gt;
&lt;h3 class=&quot;mume-header&quot; id=&quot;23-%ED%83%80%EC%9E%85-%EC%97%86%EB%8A%94-%EC%83%81%EC%88%98&quot;&gt;2.3. &amp;#xD0C0;&amp;#xC785; &amp;#xC5C6;&amp;#xB294; &amp;#xC0C1;&amp;#xC218;&lt;/h3&gt;

&lt;p&gt;Go&amp;#xC5D0;&amp;#xC11C;&amp;#xB294; &amp;#xD0C0;&amp;#xC785;&amp;#xC774; &amp;#xC5C6;&amp;#xB294; &amp;#xC0C1;&amp;#xC218;&amp;#xB97C; &amp;#xC815;&amp;#xC758;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xC544;&amp;#xB798;&amp;#xC640; &amp;#xAC19;&amp;#xC774;, &lt;u&gt;&amp;#xD0C0;&amp;#xC785;&amp;#xC5C6;&amp;#xC774; &amp;#xC0C1;&amp;#xC218;&amp;#xB97C; &amp;#xC815;&amp;#xC758;&amp;#xD558;&amp;#xBA74; &amp;#xD0C0;&amp;#xC785; &amp;#xC0C1;&amp;#xAD00;&amp;#xC5C6;&amp;#xC774; &amp;#xC5F0;&amp;#xC0B0;&amp;#xC774; &amp;#xAC00;&amp;#xB2A5;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/u&gt;&lt;/p&gt;
&lt;p&gt;&amp;#xC608;&amp;#xB97C;&amp;#xB4E4;&amp;#xC5B4;, &amp;#xC815;&amp;#xC218;&amp;#xAC12;&amp;#xC774; &amp;#xB4E4;&amp;#xC5B4;&amp;#xC788;&amp;#xB294; &amp;#xC0C1;&amp;#xC218;&amp;#xC758; &amp;#xACBD;&amp;#xC6B0;, &amp;#xC815;&amp;#xC218;&amp;#xAC12;&amp;#xB4E4;(int, int8, int32, int64)&amp;#xACFC; &amp;#xC2E4;&amp;#xC218;(float32, float64, complex32, complex64) &amp;#xB4E4;&amp;#xACFC; &amp;#xC5F0;&amp;#xC0B0;&amp;#xC774; &amp;#xAC00;&amp;#xB2A5;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword keyword-const&quot;&gt;const&lt;/span&gt; LIMIT &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;10&lt;/span&gt;

&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;main&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-var&quot;&gt;var&lt;/span&gt; a &lt;span class=&quot;token builtin&quot;&gt;int8&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; LIMIT &lt;span class=&quot;token operator&quot;&gt;*&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;4&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-var&quot;&gt;var&lt;/span&gt; a2 &lt;span class=&quot;token builtin&quot;&gt;int32&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; LIMIT &lt;span class=&quot;token operator&quot;&gt;*&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;8&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-var&quot;&gt;var&lt;/span&gt; a3 &lt;span class=&quot;token builtin&quot;&gt;float32&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; LIMIT &lt;span class=&quot;token operator&quot;&gt;*&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;8&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-var&quot;&gt;var&lt;/span&gt; a4 &lt;span class=&quot;token builtin&quot;&gt;complex64&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; LIMIT &lt;span class=&quot;token operator&quot;&gt;*&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;8&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-var&quot;&gt;var&lt;/span&gt; a5 &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; LIMIT &lt;span class=&quot;token operator&quot;&gt;*&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;2.38&lt;/span&gt;

	fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Printf&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;%v, %T\n&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; a&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; a&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Printf&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;%v, %T\n&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; a2&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; a2&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Printf&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;%v, %T\n&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; a3&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; a3&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Printf&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;%v, %T\n&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; a4&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; a4&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Printf&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;%v, %T\n&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; a5&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; a5&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;&lt;span class=&quot;token number&quot;&gt;40&lt;/span&gt;, int8
&lt;span class=&quot;token number&quot;&gt;80&lt;/span&gt;, int32
&lt;span class=&quot;token number&quot;&gt;80&lt;/span&gt;, float32
&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;80&lt;/span&gt;+0i&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;, complex64
&lt;span class=&quot;token number&quot;&gt;23.8&lt;/span&gt;, float64
&lt;/pre&gt;&lt;br&gt;
&lt;p&gt;&amp;#xC2E4;&amp;#xC218;&amp;#xD0C0;&amp;#xC785;&amp;#xC758; &amp;#xC0C1;&amp;#xC218;&amp;#xC758; &amp;#xACBD;&amp;#xC6B0;,&lt;br&gt;
&amp;#xC815;&amp;#xC218;&amp;#xD0C0;&amp;#xC785;&amp;#xC5D0; &amp;#xB2F4;&amp;#xC744;&amp;#xC218;&amp;#xB294; &amp;#xC5C6;&amp;#xC9C0;&amp;#xB9CC;, &amp;#xBCC0;&amp;#xC218;&amp;#xC5D0; &amp;#xC120;&amp;#xC5B8;&amp;#xB41C; &amp;#xAC12;&amp;#xC774; &amp;#xC544;&amp;#xB2CC; &amp;#xC774;&amp;#xC0C1; &amp;#xC815;&amp;#xC218;/&amp;#xC2E4;&amp;#xC218;&amp;#xC640; &amp;#xC0AC;&amp;#xCE59;&amp;#xC5F0;&amp;#xC0B0;&amp;#xC740; &amp;#xBB38;&amp;#xC81C;&amp;#xC5C6;&amp;#xC774; &amp;#xC798; &amp;#xB418;&amp;#xBA70;&lt;br&gt;
&amp;#xBCC0;&amp;#xC218;&amp;#xB85C; &amp;#xC815;&amp;#xC758;&amp;#xB41C; &amp;#xC815;&amp;#xC218;&amp;#xC640;&amp;#xB294; &amp;#xC5F0;&amp;#xC0B0;&amp;#xB418;&amp;#xC9C0; &amp;#xC54A;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xB610;, float32 &amp;#xD0C0;&amp;#xC785;&amp;#xACFC; float64 &amp;#xD0C0;&amp;#xC785; &amp;#xBAA8;&amp;#xB450;&amp;#xC640; &amp;#xC5F0;&amp;#xC0B0;&amp;#xC774; &amp;#xAC00;&amp;#xB2A5;&amp;#xD558;&amp;#xACE0;, &amp;#xADF8;&amp;#xC5D0; &amp;#xB530;&amp;#xB77C; &amp;#xB9AC;&amp;#xD134;&amp;#xAC12;&amp;#xC744; &amp;#xBC1B;&amp;#xC744; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword keyword-const&quot;&gt;const&lt;/span&gt; PI &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;3.14&lt;/span&gt;

&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;main&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-var&quot;&gt;var&lt;/span&gt; b &lt;span class=&quot;token builtin&quot;&gt;float32&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; PI &lt;span class=&quot;token operator&quot;&gt;*&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;2&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-var&quot;&gt;var&lt;/span&gt; b2 &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; PI &lt;span class=&quot;token operator&quot;&gt;*&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;1.2&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-var&quot;&gt;var&lt;/span&gt; b3 &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; PI &lt;span class=&quot;token operator&quot;&gt;+&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;8&lt;/span&gt;

	&lt;span class=&quot;token keyword keyword-var&quot;&gt;var&lt;/span&gt; c &lt;span class=&quot;token builtin&quot;&gt;float32&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;8.12&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-var&quot;&gt;var&lt;/span&gt; b4 &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; PI &lt;span class=&quot;token operator&quot;&gt;*&lt;/span&gt; c

	&lt;span class=&quot;token keyword keyword-var&quot;&gt;var&lt;/span&gt; d &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;9.87&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-var&quot;&gt;var&lt;/span&gt; b5 &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; PI &lt;span class=&quot;token operator&quot;&gt;*&lt;/span&gt; d

	&lt;span class=&quot;token comment&quot;&gt;//var a = 8&lt;/span&gt;
	&lt;span class=&quot;token comment&quot;&gt;//var b5 = PI * a		// Error&lt;/span&gt;

	fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Printf&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;%v, %T\n&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; b&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; b&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Printf&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;%v, %T\n&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; b2&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; b2&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Printf&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;%v, %T\n&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; b3&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; b3&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Printf&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;%v, %T\n&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; b4&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; b4&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Printf&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;%v, %T\n&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; b5&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; b5&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;&lt;span class=&quot;token number&quot;&gt;6.28&lt;/span&gt;, float32
&lt;span class=&quot;token number&quot;&gt;3.768&lt;/span&gt;, float64
&lt;span class=&quot;token number&quot;&gt;11.14&lt;/span&gt;, float64
&lt;span class=&quot;token number&quot;&gt;25.496801&lt;/span&gt;, float32
&lt;span class=&quot;token number&quot;&gt;30.991799999999998&lt;/span&gt;, float64
&lt;/pre&gt;&lt;hr&gt;
&lt;h3 class=&quot;mume-header&quot; id=&quot;24-%EB%A6%AC%ED%84%B0%EB%9F%B4&quot;&gt;2.4. &amp;#xB9AC;&amp;#xD130;&amp;#xB7F4;&lt;/h3&gt;

&lt;p&gt;&amp;#xB9AC;&amp;#xD130;&amp;#xB7F4;&amp;#xC740; &amp;#xAC12; &amp;#xC790;&amp;#xCCB4;&amp;#xB85C; &amp;#xC4F0;&amp;#xC5EC;&amp;#xC9C4; &amp;#xBB38;&amp;#xAD6C;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;Go&amp;#xC5D0;&amp;#xC11C;&amp;#xB294; &amp;#xCEF4;&amp;#xD30C;&amp;#xC77C;&amp;#xB420;&amp;#xB54C; &amp;#xC0C1;&amp;#xC218;&amp;#xAC12;&amp;#xC774; &amp;#xB9AC;&amp;#xD130;&amp;#xB7F4;&amp;#xB85C; &amp;#xBCC0;&amp;#xD658;&amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xC774;&amp;#xB7EC;&amp;#xD55C; &amp;#xC131;&amp;#xC9C8;&amp;#xB85C; &amp;#xC778;&amp;#xD558;&amp;#xC5EC; &amp;#xC0C1;&amp;#xC218; &amp;#xD45C;&amp;#xD604;&amp;#xC2DD;&amp;#xC744; &amp;#xD65C;&amp;#xC6A9;&amp;#xD55C; &amp;#xACC4;&amp;#xC0B0;&amp;#xC740; &amp;#xCEF4;&amp;#xD30C;&amp;#xC77C;&amp;#xC2DC; &amp;#xB9AC;&amp;#xD130;&amp;#xB7F4;&amp;#xB85C; &amp;#xBCC0;&amp;#xD658;&amp;#xB418;&amp;#xAE30; &amp;#xB54C;&amp;#xBB38;&amp;#xC5D0; CPU &amp;#xC790;&amp;#xC6D0;&amp;#xC744; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD558;&amp;#xC9C0; &amp;#xC54A;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&lt;br&gt;&lt;/p&gt;
&lt;p&gt;&amp;#xC608;&amp;#xB97C;&amp;#xB4E4;&amp;#xC5B4; &amp;#xC544;&amp;#xB798;&amp;#xC640; &amp;#xAC19;&amp;#xC774; &amp;#xC791;&amp;#xC131;&amp;#xB41C; &amp;#xCF54;&amp;#xB4DC;&amp;#xC5D0;&amp;#xC11C;, &amp;#xBCC0;&amp;#xC218; x&amp;#xB294;&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword keyword-const&quot;&gt;const&lt;/span&gt; PI &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;3.14&lt;/span&gt;
&lt;span class=&quot;token keyword keyword-var&quot;&gt;var&lt;/span&gt; x &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;3.14&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;*&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;1000&lt;/span&gt;
&lt;/pre&gt;&lt;br&gt;
&lt;p&gt;&amp;#xCEF4;&amp;#xD30C;&amp;#xC77C; &amp;#xD0C0;&amp;#xC784;&amp;#xC5D0; &amp;#xC544;&amp;#xB798;&amp;#xC640; &amp;#xAC19;&amp;#xC774; &amp;#xBCC0;&amp;#xD658;&amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword keyword-var&quot;&gt;var&lt;/span&gt; x &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;3140&lt;/span&gt;
&lt;/pre&gt;&lt;p&gt;&amp;#xC0C1;&amp;#xC218;&amp;#xB294; &amp;#xCEF4;&amp;#xD30C;&amp;#xC77C;&amp;#xC2DC;&amp;#xC810;&amp;#xC5D0; &amp;#xB9AC;&amp;#xD130;&amp;#xB7F4;&amp;#xB85C; &amp;#xBCC0;&amp;#xD658;&amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xADF8;&amp;#xB807;&amp;#xAE30; &amp;#xB54C;&amp;#xBB38;&amp;#xC5D0; &lt;strong&gt;&amp;#xC0C1;&amp;#xC218;&amp;#xC758; &amp;#xBA54;&amp;#xBAA8;&amp;#xB9AC; &amp;#xC8FC;&amp;#xC18C;&amp;#xAC12;&amp;#xC5D0; &amp;#xC811;&amp;#xADFC;&amp;#xD560; &amp;#xC218; &amp;#xC5C6;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;&lt;/strong&gt;&lt;br&gt;
&amp;#xC774; &amp;#xD2B9;&amp;#xC9D5;&amp;#xC5D0; &amp;#xB300;&amp;#xD574;&amp;#xC11C; &amp;#xC798; &amp;#xBA85;&amp;#xC2EC;&amp;#xD558;&amp;#xC5EC;, &amp;#xAC1C;&amp;#xBC1C;&amp;#xC2DC; &amp;#xC720;&amp;#xC758;&amp;#xD574;&amp;#xC57C;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;

  &lt;/div&gt;&lt;/div&gt;</description>
      <category>Go</category>
      <category>go</category>
      <author>jiniya22</author>
      <guid isPermaLink="true">https://jini-box.tistory.com/224</guid>
      <comments>https://jini-box.tistory.com/224#entry224comment</comments>
      <pubDate>Mon, 15 Jan 2024 17:00:51 +0900</pubDate>
    </item>
    <item>
      <title>[Go] 03. fmt - 2. 표준입력</title>
      <link>https://jini-box.tistory.com/222</link>
      <description>&lt;div id=&quot;html-export&quot;&gt;
      &lt;div class=&quot;mume markdown-preview  &quot;&gt;
      &lt;h2 class=&quot;mume-header&quot; id=&quot;1-%ED%91%9C%EC%A4%80-%EC%9E%85%EB%A0%A5&quot;&gt;1. &amp;#xD45C;&amp;#xC900; &amp;#xC785;&amp;#xB825;&lt;/h2&gt;

&lt;p&gt;&amp;#xD45C;&amp;#xC900; &amp;#xC785;&amp;#xB825;&amp;#xC7A5;&amp;#xCE58;(ex. &amp;#xD0A4;&amp;#xBCF4;&amp;#xB4DC;)&amp;#xB85C;&amp;#xBD80;&amp;#xD130; &amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xB97C; &amp;#xC785;&amp;#xB825;&amp;#xBC1B;&amp;#xB294; &amp;#xD568;&amp;#xC218;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Scan
&lt;ul&gt;
&lt;li&gt;&amp;#xD45C;&amp;#xC900; &amp;#xC785;&amp;#xB825;&amp;#xC73C;&amp;#xB85C;&amp;#xBD80;&amp;#xD130; &amp;#xAC12;&amp;#xC744; &amp;#xC785;&amp;#xB825;&amp;#xBC1B;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Scanln
&lt;ul&gt;
&lt;li&gt;&amp;#xD45C;&amp;#xC900; &amp;#xC785;&amp;#xB825;&amp;#xC73C;&amp;#xB85C;&amp;#xBD80;&amp;#xD130; &amp;#xD55C;&amp;#xC904;&amp;#xC744; &amp;#xC77D;&amp;#xC5B4;&amp;#xC11C; &amp;#xAC12;&amp;#xC744; &amp;#xC785;&amp;#xB825;&amp;#xBC1B;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Scanf
&lt;ul&gt;
&lt;li&gt;&amp;#xD45C;&amp;#xC900; &amp;#xC785;&amp;#xB825;&amp;#xC73C;&amp;#xB85C;&amp;#xBD80;&amp;#xD130; &amp;#xC11C;&amp;#xC2DD;&amp;#xD615;&amp;#xD0DC;&amp;#xB85C; &amp;#xAC12;&amp;#xC744; &amp;#xC785;&amp;#xB825;&amp;#xBC1B;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;br&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;Scan&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;a &lt;span class=&quot;token operator&quot;&gt;...&lt;/span&gt;&lt;span class=&quot;token keyword keyword-interface&quot;&gt;interface&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;n &lt;span class=&quot;token builtin&quot;&gt;int&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; err &lt;span class=&quot;token builtin&quot;&gt;error&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;Scanln&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;a &lt;span class=&quot;token operator&quot;&gt;...&lt;/span&gt;&lt;span class=&quot;token keyword keyword-interface&quot;&gt;interface&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;n &lt;span class=&quot;token builtin&quot;&gt;int&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; err &lt;span class=&quot;token builtin&quot;&gt;error&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;Scanf&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;format &lt;span class=&quot;token builtin&quot;&gt;string&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; a &lt;span class=&quot;token operator&quot;&gt;...&lt;/span&gt;&lt;span class=&quot;token keyword keyword-interface&quot;&gt;interface&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;n &lt;span class=&quot;token builtin&quot;&gt;int&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; err &lt;span class=&quot;token builtin&quot;&gt;error&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;/pre&gt;&lt;p&gt;Scan&amp;#xD568;&amp;#xC218;&amp;#xB294; &amp;#xC785;&amp;#xB825;&amp;#xBC1B;&amp;#xC744; &amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xAC00; &amp;#xB4E4;&amp;#xC5B4;&amp;#xC788;&amp;#xB294; &amp;#xC8FC;&amp;#xC18C;&amp;#xB97C; &amp;#xC778;&amp;#xC790;&amp;#xB85C; &amp;#xBC1B;&amp;#xC544;&amp;#xC11C;,&lt;br&gt;
&amp;#xC785;&amp;#xB825; &amp;#xC131;&amp;#xACF5;&amp;#xC2DC; &amp;#xCD1D; &amp;#xC785;&amp;#xB825;&amp;#xB41C; &amp;#xAC12;&amp;#xC758; &amp;#xAC1C;&amp;#xC218;&amp;#xB97C;, &amp;#xC2E4;&amp;#xD328;&amp;#xC2DC;&amp;#xC5D0;&amp;#xB294; error&amp;#xB97C; &amp;#xBC18;&amp;#xD658;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&lt;br&gt;&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword keyword-package&quot;&gt;package&lt;/span&gt; main

&lt;span class=&quot;token keyword keyword-import&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;fmt&amp;quot;&lt;/span&gt;

&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;main&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-var&quot;&gt;var&lt;/span&gt; a &lt;span class=&quot;token builtin&quot;&gt;int&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-var&quot;&gt;var&lt;/span&gt; b &lt;span class=&quot;token builtin&quot;&gt;int&lt;/span&gt;

	n&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; err &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Scan&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt;a&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt;b&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-if&quot;&gt;if&lt;/span&gt; err &lt;span class=&quot;token operator&quot;&gt;!=&lt;/span&gt; &lt;span class=&quot;token boolean&quot;&gt;nil&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
		fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;n&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; err&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt; &lt;span class=&quot;token keyword keyword-else&quot;&gt;else&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
		fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;n&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; a&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; b&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;p&gt;&amp;#xC785;&amp;#xB825;&amp;#xBC1B;&amp;#xC740; &amp;#xAC12;&amp;#xC744; &amp;#xACF5;&amp;#xBC31;&amp;#xC73C;&amp;#xB85C; &amp;#xAD6C;&amp;#xBD84;&amp;#xD558;&amp;#xC5EC;, a, b&amp;#xC5D0; &amp;#xC800;&amp;#xC7A5;&amp;#xD558;&amp;#xBA70;&lt;br&gt;
&amp;#xC785;&amp;#xB825; &amp;#xC911; &amp;#xC5D0;&amp;#xB7EC;&amp;#xAC00; &amp;#xBC1C;&amp;#xC0DD;&amp;#xB418;&amp;#xC9C0; &amp;#xC54A;&amp;#xB294;&amp;#xB2E4;&amp;#xBA74;, &amp;#xC785;&amp;#xB825;&amp;#xB41C; &amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xC758; &amp;#xAC1C;&amp;#xC218;&amp;#xC640; &amp;#xAC01; &amp;#xAC12;&amp;#xC744; &amp;#xCD9C;&amp;#xB825;&amp;#xD558;&amp;#xB294; &amp;#xCF54;&amp;#xB4DC;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xC608;&amp;#xB97C;&amp;#xB4E4;&amp;#xC5B4;, &lt;code&gt;10 20&lt;/code&gt;&amp;#xB97C; &amp;#xC785;&amp;#xB825;&amp;#xD560; &amp;#xACBD;&amp;#xC6B0;, &amp;#xC544;&amp;#xB798;&amp;#xC640; &amp;#xAC19;&amp;#xC774; &amp;#xCD9C;&amp;#xB825;&amp;#xB418;&amp;#xACE0;,&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;&lt;span class=&quot;token number&quot;&gt;2&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;10&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;20&lt;/span&gt;
&lt;/pre&gt;&lt;br&gt;
&lt;p&gt;&lt;code&gt;2 hi&lt;/code&gt;&amp;#xC640; &amp;#xAC19;&amp;#xC774; &amp;#xC798;&amp;#xBABB;&amp;#xB41C; &amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xD0C0;&amp;#xC785;&amp;#xC774; &amp;#xB4E4;&amp;#xC5B4;&amp;#xC640;&amp;#xC11C; &amp;#xC5D0;&amp;#xB7EC;&amp;#xAC00; &amp;#xBC1C;&amp;#xC0DD;&amp;#xD588;&amp;#xC744;&amp;#xC2DC;, &amp;#xC544;&amp;#xB798;&amp;#xC640; &amp;#xAC19;&amp;#xC774; &amp;#xC5D0;&amp;#xB7EC;&amp;#xBB38;&amp;#xAD6C;&amp;#xB97C; &amp;#xD568;&amp;#xAED8; &amp;#xCD9C;&amp;#xB825;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;&lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt; expected integer
&lt;/pre&gt;&lt;blockquote&gt;
&lt;p&gt;&amp;#xCC38;&amp;#xACE0;&amp;#xB85C;, &amp;#xCCAB;&amp;#xBC88;&amp;#xC9F8; &amp;#xC785;&amp;#xB825;&amp;#xBD80;&amp;#xD130; &amp;#xC624;&amp;#xB958;&amp;#xAC00; &amp;#xBC1C;&amp;#xC0DD;&amp;#xD588;&amp;#xC744;&amp;#xC2DC;&amp;#xC5D0;&amp;#xB294;, &amp;#xC815;&amp;#xC0C1;&amp;#xC801;&amp;#xC73C;&amp;#xB85C; &amp;#xC785;&amp;#xB825;&amp;#xB41C; &amp;#xAC12;&amp;#xC774; &amp;#xC5C6;&amp;#xAE30; &amp;#xB54C;&amp;#xBB38;&amp;#xC5D0; n&amp;#xC774; 0&amp;#xC774; &amp;#xB418;&amp;#xAE30; &amp;#xB54C;&amp;#xBB38;&amp;#xC5D0; &lt;code&gt;0 expected integer&lt;/code&gt;&amp;#xB97C; &amp;#xCD9C;&amp;#xB825;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;br&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword keyword-package&quot;&gt;package&lt;/span&gt; main

&lt;span class=&quot;token keyword keyword-import&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;fmt&amp;quot;&lt;/span&gt;

&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;main&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-var&quot;&gt;var&lt;/span&gt; a &lt;span class=&quot;token builtin&quot;&gt;string&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-var&quot;&gt;var&lt;/span&gt; b &lt;span class=&quot;token builtin&quot;&gt;string&lt;/span&gt;

	n&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; err &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Scanf&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;%3s%2s&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt;a&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt;b&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-if&quot;&gt;if&lt;/span&gt; err &lt;span class=&quot;token operator&quot;&gt;!=&lt;/span&gt; &lt;span class=&quot;token boolean&quot;&gt;nil&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
		fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;n&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; err&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt; &lt;span class=&quot;token keyword keyword-else&quot;&gt;else&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
		fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;n&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; a&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; b&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;p&gt;&lt;code&gt;abcde&lt;/code&gt;&amp;#xC785;&amp;#xB825;&amp;#xC744;, &amp;#xC11C;&amp;#xC2DD;&amp;#xC5D0; &amp;#xB9DE;&amp;#xCDB0; &amp;quot;abc&amp;quot;, &amp;quot;de&amp;quot;&amp;#xB85C; &amp;#xC785;&amp;#xB825;&amp;#xBC1B;&amp;#xB294;&amp;#xAC83;&amp;#xC774; &amp;#xAC00;&amp;#xB2A5;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;&lt;span class=&quot;token number&quot;&gt;2&lt;/span&gt; abc de
&lt;/pre&gt;&lt;hr&gt;
&lt;h2 class=&quot;mume-header&quot; id=&quot;2-scan-%ED%95%A8%EC%88%98-%EB%8F%99%EC%9E%91-%EC%9B%90%EB%A6%AC&quot;&gt;2. Scan &amp;#xD568;&amp;#xC218; &amp;#xB3D9;&amp;#xC791; &amp;#xC6D0;&amp;#xB9AC;&lt;/h2&gt;

&lt;p&gt;&amp;#xC0AC;&amp;#xC6A9;&amp;#xC790;&amp;#xAC00; &amp;#xD45C;&amp;#xC900;&amp;#xC785;&amp;#xB825;&amp;#xC7A5;&amp;#xCE58;(ex. &amp;#xD0A4;&amp;#xBCF4;&amp;#xB4DC;)&amp;#xB85C; &amp;#xC785;&amp;#xB825;&amp;#xD558;&amp;#xBA74;, &amp;#xC785;&amp;#xB825;&amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xB294; standard input stream(&amp;#xD45C;&amp;#xC900; &amp;#xC785;&amp;#xB825; &amp;#xC2A4;&amp;#xD2B8;&amp;#xB9BC;, &amp;#xCEF4;&amp;#xD4E8;&amp;#xD130; &amp;#xB0B4;&amp;#xBD80; &amp;#xBA54;&amp;#xBAA8;&amp;#xB9AC; &amp;#xACF5;&amp;#xAC04;)&amp;#xC5D0; &amp;#xC800;&amp;#xC7A5;&amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;Scan&amp;#xD568;&amp;#xC218;&amp;#xB294; &amp;#xD45C;&amp;#xC900;&amp;#xC785;&amp;#xB825; &amp;#xC2A4;&amp;#xD2B8;&amp;#xB9BC;&amp;#xC73C;&amp;#xB85C;&amp;#xBD80;&amp;#xD130; &amp;#xAC12;&amp;#xC744; &amp;#xC77D;&amp;#xC5B4;&amp;#xC11C; &amp;#xC785;&amp;#xB825;&amp;#xAC12;&amp;#xC744; &amp;#xCC98;&amp;#xB9AC;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;stream&amp;#xC774;&amp;#xB77C;&amp;#xB294; &amp;#xB9D0;&amp;#xC5D0;&amp;#xC11C; &amp;#xC54C; &amp;#xC218; &amp;#xC788;&amp;#xB4EF;, &amp;#xB370;&amp;#xC774;&amp;#xD130; &amp;#xD750;&amp;#xB984;&amp;#xC744; &amp;#xC758;&amp;#xBBF8;&amp;#xD558;&amp;#xBA70;, &amp;#xC774; &amp;#xAC12;&amp;#xC740; &amp;#xD55C;&amp;#xBC88; &amp;#xC77D;&amp;#xC5B4;&amp;#xB4E4;&amp;#xC774;&amp;#xBA74; &amp;#xB2E4;&amp;#xC2DC; &amp;#xC77D;&amp;#xC744;&amp;#xC218; &amp;#xC5C6;&amp;#xB294; &amp;#xAC12;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xC774;&amp;#xB54C;, &amp;#xC911;&amp;#xC694;&amp;#xD55C; &amp;#xAC83;&amp;#xC740; Scan &amp;#xD568;&amp;#xC218; &amp;#xC2E4;&amp;#xD589;&amp;#xC911;, &amp;#xC624;&amp;#xB958;&amp;#xAC00; &amp;#xBC1C;&amp;#xC0DD;&amp;#xD588;&amp;#xB2E4;&amp;#xACE0; &amp;#xD558;&amp;#xC5EC; &amp;#xC785;&amp;#xB825;&amp;#xC2A4;&amp;#xD2B8;&amp;#xB9BC; &amp;#xAC12;&amp;#xC774; &amp;#xBE44;&amp;#xC6CC;&amp;#xC9C0;&amp;#xB294; &amp;#xAC83;&amp;#xC774; &amp;#xC544;&amp;#xB2C8;&amp;#xB77C;&amp;#xB294; &amp;#xC810;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xC608;&amp;#xB97C;&amp;#xB4E4;&amp;#xC5B4;, &amp;#xC785;&amp;#xB825;&amp;#xC2A4;&amp;#xD2B8;&amp;#xB9BC;&amp;#xC5D0; &amp;quot;apple 3&amp;quot; &amp;#xC774;&amp;#xB77C;&amp;#xB294; &amp;#xAC12;&amp;#xC774; &amp;#xB4E4;&amp;#xC5B4;&amp;#xC788;&amp;#xB294;&amp;#xB370;, Scan&amp;#xC73C;&amp;#xB85C; &amp;#xBC1B;&amp;#xB294; &amp;#xB370;&amp;#xC774;&amp;#xD130; &amp;#xD0C0;&amp;#xC785;&amp;#xC774; &amp;#xC815;&amp;#xC218;&amp;#xAC12;&amp;#xC77C; &amp;#xACBD;&amp;#xC6B0;, &amp;#xB9E8;&amp;#xCCAB;&amp;#xBC88;&amp;#xC9F8; &amp;#xBB38;&amp;#xC790; &amp;quot;a&amp;quot;&amp;#xB97C; &amp;#xC77D;&amp;#xC73C;&amp;#xBA74;&amp;#xC11C; &amp;#xBC14;&amp;#xB85C; &amp;#xC624;&amp;#xB958;&amp;#xAC00; &amp;#xBC1C;&amp;#xC0DD;&amp;#xB418;&amp;#xAC8C; &amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;&lt;/p&gt;
&lt;p&gt;&amp;#xADF8;&amp;#xB7EC;&amp;#xB098;, &amp;#xADF8; &amp;#xC774;&amp;#xD6C4;&amp;#xC5D0; &amp;#xB4E4;&amp;#xC5B4;&amp;#xC788;&amp;#xB294; &amp;quot;pple 3&amp;quot;&amp;#xC740; &amp;#xC544;&amp;#xC9C1; &amp;#xC785;&amp;#xB825; &amp;#xC2A4;&amp;#xD2B8;&amp;#xB9BC;&amp;#xC5D0; &amp;#xC5EC;&amp;#xC804;&amp;#xD788; &amp;#xB4E4;&amp;#xC5B4;&amp;#xC788;&amp;#xB294; &amp;#xC0C1;&amp;#xD0DC;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&lt;br&gt;&lt;/p&gt;
&lt;p&gt;&amp;#xC544;&amp;#xB798; &amp;#xC608;&amp;#xC81C;&amp;#xB97C; &amp;#xD1B5;&amp;#xD574; &amp;#xC790;&amp;#xC138;&amp;#xD788; &amp;#xC54C;&amp;#xC544;&amp;#xBD05;&amp;#xC2DC;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword keyword-package&quot;&gt;package&lt;/span&gt; main

&lt;span class=&quot;token keyword keyword-import&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;fmt&amp;quot;&lt;/span&gt;

&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;main&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-var&quot;&gt;var&lt;/span&gt; a&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; b &lt;span class=&quot;token builtin&quot;&gt;int&lt;/span&gt;

	n&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; err &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Scan&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt;a&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt;b&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-if&quot;&gt;if&lt;/span&gt; err &lt;span class=&quot;token operator&quot;&gt;!=&lt;/span&gt; &lt;span class=&quot;token boolean&quot;&gt;nil&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
		fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;n&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; err&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt; &lt;span class=&quot;token keyword keyword-else&quot;&gt;else&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
		fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;n&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; a&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; b&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

	&lt;span class=&quot;token keyword keyword-var&quot;&gt;var&lt;/span&gt; c&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; d &lt;span class=&quot;token builtin&quot;&gt;string&lt;/span&gt;
	n&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; err &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Scan&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt;c&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt;d&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-if&quot;&gt;if&lt;/span&gt; err &lt;span class=&quot;token operator&quot;&gt;!=&lt;/span&gt; &lt;span class=&quot;token boolean&quot;&gt;nil&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
		fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;n&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; err&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt; &lt;span class=&quot;token keyword keyword-else&quot;&gt;else&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
		fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;n&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; c&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; d&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;p&gt;&lt;code&gt;apple 3&lt;/code&gt;&amp;#xB97C; &amp;#xC785;&amp;#xB825;&amp;#xD588;&amp;#xC744; &amp;#xB54C;, &amp;#xC624;&amp;#xB958;&amp;#xAC00; &amp;#xBC1C;&amp;#xC0DD;&amp;#xB418;&amp;#xC9C0;&amp;#xB9CC;, &amp;#xC5EC;&amp;#xC804;&amp;#xD788; &amp;#xC785;&amp;#xB825; &amp;#xC2A4;&amp;#xD2B8;&amp;#xB9BC;&amp;#xC5D0;&amp;#xB294; &amp;quot;pple 3&amp;quot;&amp;#xAC00; &amp;#xB0A8;&amp;#xC544;&amp;#xC788;&amp;#xACE0;, &amp;#xC774; &amp;#xAC12;&amp;#xC774; c&amp;#xC640; d&amp;#xC5D0; &amp;#xB4E4;&amp;#xC5B4;&amp;#xAC00;&amp;#xAC8C; &amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;&lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt; expected integer
&lt;span class=&quot;token number&quot;&gt;2&lt;/span&gt; pple &lt;span class=&quot;token number&quot;&gt;3&lt;/span&gt;
&lt;/pre&gt;&lt;hr&gt;
&lt;h2 class=&quot;mume-header&quot; id=&quot;3-%ED%91%9C%EC%A4%80-%EC%9E%85%EC%B6%9C%EB%A0%A5-%EC%8A%A4%ED%8A%B8%EB%A6%BC-%EB%B9%84%EC%9A%B0%EA%B8%B0&quot;&gt;3. &amp;#xD45C;&amp;#xC900; &amp;#xC785;&amp;#xCD9C;&amp;#xB825; &amp;#xC2A4;&amp;#xD2B8;&amp;#xB9BC; &amp;#xBE44;&amp;#xC6B0;&amp;#xAE30;&lt;/h2&gt;

&lt;p&gt;bufio &amp;#xD328;&amp;#xD0A4;&amp;#xC9C0;&amp;#xC758; NewReader &amp;#xAC1D;&amp;#xCCB4;&amp;#xB294; &amp;#xC904;&amp;#xBC14;&amp;#xAFC8;(&lt;code&gt;\n&lt;/code&gt;)&amp;#xC774; &amp;#xB098;&amp;#xC62C; &amp;#xB54C;&amp;#xAE4C;&amp;#xC9C0; &amp;#xC785;&amp;#xB825;&amp;#xC744; &amp;#xBC1B;&amp;#xAE30; &amp;#xB54C;&amp;#xBB38;&amp;#xC5D0;,&lt;br&gt;
&amp;#xC5D0;&amp;#xB7EC;&amp;#xAC00; &amp;#xBC1C;&amp;#xC0DD;&amp;#xD588;&amp;#xC744;&amp;#xC2DC;, &lt;code&gt;stdin.ReadString(&amp;apos;\n&amp;apos;)&lt;/code&gt;&amp;#xB97C; &amp;#xD638;&amp;#xCD9C;&amp;#xD558;&amp;#xBA74; &amp;#xD45C;&amp;#xC900; &amp;#xC785;&amp;#xCD9C;&amp;#xB825; &amp;#xC2A4;&amp;#xD2B8;&amp;#xB9BC;&amp;#xC744; &amp;#xBE44;&amp;#xC6CC;&amp;#xC9C0;&amp;#xAE30; &amp;#xB54C;&amp;#xBB38;&amp;#xC5D0; &amp;#xC0C8;&amp;#xB85C; &amp;#xD45C;&amp;#xC900; &amp;#xC785;&amp;#xCD9C;&amp;#xB825;&amp;#xC744; &amp;#xC785;&amp;#xB825;&amp;#xBC1B;&amp;#xC744; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword keyword-package&quot;&gt;package&lt;/span&gt; main

&lt;span class=&quot;token keyword keyword-import&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;
	&lt;span class=&quot;token string&quot;&gt;&amp;quot;bufio&amp;quot;&lt;/span&gt;
	&lt;span class=&quot;token string&quot;&gt;&amp;quot;fmt&amp;quot;&lt;/span&gt;
	&lt;span class=&quot;token string&quot;&gt;&amp;quot;os&amp;quot;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;

&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;main&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	stdin &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; bufio&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;NewReader&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;os&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;Stdin&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-var&quot;&gt;var&lt;/span&gt; a&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; b &lt;span class=&quot;token builtin&quot;&gt;int&lt;/span&gt;

	n&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; err &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Scan&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt;a&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt;b&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-if&quot;&gt;if&lt;/span&gt; err &lt;span class=&quot;token operator&quot;&gt;!=&lt;/span&gt; &lt;span class=&quot;token boolean&quot;&gt;nil&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
		fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;n&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; err&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
		stdin&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;ReadString&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;apos;\n&amp;apos;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt; &lt;span class=&quot;token keyword keyword-else&quot;&gt;else&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
		fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;n&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; a&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; b&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

	n&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; err &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Scan&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt;a&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt;b&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-if&quot;&gt;if&lt;/span&gt; err &lt;span class=&quot;token operator&quot;&gt;!=&lt;/span&gt; &lt;span class=&quot;token boolean&quot;&gt;nil&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
		fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;n&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; err&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
		stdin&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;ReadString&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;apos;\n&amp;apos;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt; &lt;span class=&quot;token keyword keyword-else&quot;&gt;else&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
		fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;n&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; a&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; b&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;
  &lt;/div&gt;&lt;/div&gt;</description>
      <category>Go</category>
      <category>go</category>
      <author>jiniya22</author>
      <guid isPermaLink="true">https://jini-box.tistory.com/222</guid>
      <comments>https://jini-box.tistory.com/222#entry222comment</comments>
      <pubDate>Sun, 14 Jan 2024 23:10:11 +0900</pubDate>
    </item>
    <item>
      <title>[Go] 03. fmt - 1. 출력</title>
      <link>https://jini-box.tistory.com/221</link>
      <description>&lt;div id=&quot;html-export&quot;&gt;
      &lt;div class=&quot;mume markdown-preview  &quot;&gt;
      &lt;p&gt;fmt &amp;#xD328;&amp;#xD0A4;&amp;#xC9C0;&amp;#xB294; OS&amp;#xAC00; &amp;#xC81C;&amp;#xACF5;&amp;#xD558;&amp;#xB294; &amp;#xD45C;&amp;#xC900;&amp;#xC785;&amp;#xCD9C;&amp;#xB825;(standard input/output)&amp;#xC744; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD558;&amp;#xC5EC; &amp;#xD504;&amp;#xB85C;&amp;#xADF8;&amp;#xB7A8; &amp;#xB0B4;&amp;#xBD80;&amp;#xC5D0;&amp;#xC11C; &amp;#xC785;&amp;#xB825;/&amp;#xCD9C;&amp;#xB825;&amp;#xC744; &amp;#xAC04;&amp;#xD3B8;&amp;#xD558;&amp;#xAC8C; &amp;#xCC98;&amp;#xB9AC;&amp;#xD558;&amp;#xAC8C; &amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;Go&amp;#xC5B8;&amp;#xC5B4;&amp;#xC758; &amp;#xAE30;&amp;#xBCF8; &amp;#xD328;&amp;#xD0A4;&amp;#xC9C0;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;br&gt;
&lt;h2 class=&quot;mume-header&quot; id=&quot;1-%EC%B6%9C%EB%A0%A5%EC%9A%A9-%ED%95%A8%EC%88%98&quot;&gt;1. &amp;#xCD9C;&amp;#xB825;&amp;#xC6A9; &amp;#xD568;&amp;#xC218;&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Print
&lt;ul&gt;
&lt;li&gt;&amp;#xD568;&amp;#xC218; &amp;#xC785;&amp;#xB825;&amp;#xAC12;&amp;#xC744; &amp;#xCD9C;&amp;#xB825;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Println()
&lt;ul&gt;
&lt;li&gt;&amp;#xD568;&amp;#xC218; &amp;#xC785;&amp;#xB825;&amp;#xAC12;&amp;#xC744; &amp;#xCD9C;&amp;#xB825;&amp;#xD55C; &amp;#xD6C4; &amp;#xAC1C;&amp;#xD589;(new line)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Printf(&amp;#xC11C;&amp;#xC2DD;&amp;#xBB38;&amp;#xC790;&amp;#xC5F4;, &amp;#xC778;&amp;#xC218;1, &amp;#xC778;&amp;#xC218;2, ...)
&lt;ul&gt;
&lt;li&gt;&amp;#xC785;&amp;#xB825;&amp;#xAC12;&amp;#xC5D0; &amp;#xC815;&amp;#xC758;&amp;#xD55C; &amp;#xC11C;&amp;#xC2DD;&amp;#xBB38;&amp;#xC790;&amp;#xC5F4;&amp;#xC5D0; &amp;#xB9DE;&amp;#xCDB0; &amp;#xC778;&amp;#xC218;&amp;#xB97C; &amp;#xCD9C;&amp;#xB825;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword keyword-package&quot;&gt;package&lt;/span&gt; main

&lt;span class=&quot;token keyword keyword-import&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;fmt&amp;quot;&lt;/span&gt;

&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;main&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token keyword keyword-var&quot;&gt;var&lt;/span&gt; n &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;12345.6789&lt;/span&gt;
	fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Print&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;1)&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;2) n: &amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; n&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Printf&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;3) n: %f =&amp;gt; %.2f\n&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; n&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; n&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;finish!!&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;&lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; n:  &lt;span class=&quot;token number&quot;&gt;12345.6789&lt;/span&gt;
&lt;span class=&quot;token number&quot;&gt;3&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; n: &lt;span class=&quot;token number&quot;&gt;12345.678900&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;12345.68&lt;/span&gt;
finish&lt;span class=&quot;token operator&quot;&gt;!&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;!&lt;/span&gt;
&lt;/pre&gt;&lt;p&gt;&amp;#xC2E4;&amp;#xC218;&amp;#xD0C0;&amp;#xC785;&amp;#xC744; &amp;#xC11C;&amp;#xC2DD;&amp;#xC5C6;&amp;#xC774; &amp;#xCD9C;&amp;#xB825;&amp;#xD558;&amp;#xBA74;, &amp;#xAE30;&amp;#xBCF8;&amp;#xD615;&amp;#xD0DC;&amp;#xB85C; &amp;#xCD9C;&amp;#xB825;&amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.(&lt;code&gt;12345.6789&lt;/code&gt;)&lt;br&gt;
&amp;#xC2E4;&amp;#xC218;&amp;#xD0C0;&amp;#xC785;&amp;#xC744; &amp;quot;%f&amp;quot;&amp;#xB85C; &amp;#xCD9C;&amp;#xB825;&amp;#xD558;&amp;#xBA74;, &amp;#xC124;&amp;#xC815;&amp;#xB41C; &amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xD0C0;&amp;#xC785;&amp;#xC5D0; &amp;#xB9DE;&amp;#xCD98; &amp;#xC2E4;&amp;#xC218;&amp;#xAC12;&amp;#xC774; &amp;#xCD9C;&amp;#xB825;&amp;#xB418;&amp;#xBA70;, &amp;#xC18C;&amp;#xC218;&amp;#xC810;&amp;#xC744; &amp;#xC9C0;&amp;#xC815;&amp;#xD574;&amp;#xC8FC;&amp;#xBA74; &amp;#xC124;&amp;#xC815;&amp;#xD55C; &amp;#xC18C;&amp;#xC218;&amp;#xC810;&amp;#xB9CC;&amp;#xD07C; &amp;#xBC18;&amp;#xC62C;&amp;#xB9BC;&amp;#xD558;&amp;#xC5EC; &amp;#xCD9C;&amp;#xB825;&amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&lt;br&gt;&lt;/p&gt;
&lt;p&gt;Println &amp;#xD568;&amp;#xC218;&amp;#xB294; &amp;#xC27C;&amp;#xD45C;&amp;#xB85C; &amp;#xAD6C;&amp;#xBD84;&amp;#xC9C0;&amp;#xC5B4; &amp;#xB098;&amp;#xC5F4;&amp;#xD55C; &amp;#xAC12;&amp;#xC744; &amp;#xACF5;&amp;#xBC31; &amp;#xD55C;&amp;#xCE78;&amp;#xC744; &amp;#xB450;&amp;#xACE0; &amp;#xCD9C;&amp;#xB825;&amp;#xD558;&amp;#xACE0;&lt;br&gt;
Print &amp;#xD568;&amp;#xC218;&amp;#xB294; &amp;#xC27C;&amp;#xD45C;&amp;#xB85C; &amp;#xAD6C;&amp;#xBD84;&amp;#xC9C0;&amp;#xC5B4; &amp;#xB098;&amp;#xC5F4;&amp;#xD55C; &amp;#xAC12;&amp;#xC744; &amp;#xACF5;&amp;#xBC31;&amp;#xC5C6;&amp;#xC774; &amp;#xCD9C;&amp;#xB825;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;apple&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;banana&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;-------&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Print&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;apple&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;banana&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;apple banana
-------
applebanana
&lt;/pre&gt;&lt;br&gt;
&lt;h2 class=&quot;mume-header&quot; id=&quot;2-%EC%84%9C%EC%8B%9D%EB%AC%B8%EC%9E%90&quot;&gt;2. &amp;#xC11C;&amp;#xC2DD;&amp;#xBB38;&amp;#xC790;&lt;/h2&gt;

&lt;p&gt;%v&amp;#xB294; &amp;#xB370;&amp;#xC774;&amp;#xD130; &amp;#xD0C0;&amp;#xC785;&amp;#xC5D0; &amp;#xB9DE;&amp;#xCDB0;&amp;#xC11C; &amp;#xAE30;&amp;#xBCF8;&amp;#xD615;&amp;#xD0DC;&amp;#xB85C; &amp;#xCD9C;&amp;#xB825;&amp;#xD558;&amp;#xACE0;,&lt;br&gt;
%T&amp;#xB294; &amp;#xB370;&amp;#xC774;&amp;#xD130; &amp;#xD0C0;&amp;#xC785;&amp;#xC744; &amp;#xCD9C;&amp;#xB825;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xC790;&amp;#xC8FC; &amp;#xC774;&amp;#xC6A9;&amp;#xB418;&amp;#xB294; &amp;#xC11C;&amp;#xC2DD;&amp;#xBB38;&amp;#xC790;&amp;#xC5F4;&amp;#xC740; %d, %f, %s&amp;#xC9C0;&amp;#xB9CC;, &amp;#xC608;&amp;#xC81C;&amp;#xB97C; &amp;#xD1B5;&amp;#xD574; &amp;#xADF8; &amp;#xC678;&amp;#xC758; &amp;#xC11C;&amp;#xC2DD;&amp;#xBB38;&amp;#xC790;&amp;#xC5F4;&amp;#xC5D0; &amp;#xB300;&amp;#xD574; &amp;#xC54C;&amp;#xC544;&amp;#xBCF4;&amp;#xB3C4;&amp;#xB85D; &amp;#xD569;&amp;#xC2DC;&amp;#xB2E4;.&lt;/p&gt;
&lt;br&gt;
&lt;h3 class=&quot;mume-header&quot; id=&quot;21-%EC%A0%95%EC%88%98-%EC%84%9C%EC%8B%9D&quot;&gt;2.1. &amp;#xC815;&amp;#xC218; &amp;#xC11C;&amp;#xC2DD;&lt;/h3&gt;

&lt;p&gt;&amp;#xC815;&amp;#xC218;&amp;#xB97C; &amp;#xB098;&amp;#xD0C0;&amp;#xB0B4;&amp;#xB294; &amp;#xC11C;&amp;#xC2DD;&amp;#xBB38;&amp;#xC790;&amp;#xC5F4;&amp;#xB85C;&amp;#xB294; &amp;#xC544;&amp;#xB798;&amp;#xC640; &amp;#xAC19;&amp;#xC774; &amp;#xB2E4;&amp;#xC591;&amp;#xD55C; &amp;#xD0C0;&amp;#xC785;&amp;#xB4E4;&amp;#xC774; &amp;#xC874;&amp;#xC7AC;&amp;#xD558;&amp;#xB294;&amp;#xB370;,&lt;br&gt;
&amp;#xADF8; &amp;#xC911; %d, %o(%O), %c&amp;#xB294; &amp;#xC815;&amp;#xC218; &amp;#xD0C0;&amp;#xC785;&amp;#xC5D0;&amp;#xB9CC; &amp;#xC801;&amp;#xC6A9;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xB294; &amp;#xC11C;&amp;#xC2DD;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword keyword-var&quot;&gt;var&lt;/span&gt; n1 &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;43&lt;/span&gt;
fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Printf&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;%%v(&amp;#xAE30;&amp;#xBCF8;): %v\n&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; n1&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Printf&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;%%T(&amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xD0C0;&amp;#xC785;): %T\n&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; n1&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Printf&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;%%d(10&amp;#xC9C4;&amp;#xC218; &amp;#xC815;&amp;#xC218;): %d\n&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; n1&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Printf&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;%%b(2&amp;#xC9C4;&amp;#xC218; &amp;#xC815;&amp;#xC218;): %b\n&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; n1&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Printf&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;%%o(8&amp;#xC9C4;&amp;#xC218; &amp;#xC815;&amp;#xC218;): %o\n&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; n1&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Printf&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;%%O(8&amp;#xC9C4;&amp;#xC218; &amp;#xC815;&amp;#xC218;, prefix&amp;#xB85C; 0o &amp;#xBD99;&amp;#xC784;): %O\n&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; n1&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Printf&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;%%x(16&amp;#xC9C4;&amp;#xC218; &amp;#xC815;&amp;#xC218;): %x\n&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; n1&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Printf&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;%%X(16&amp;#xC9C4;&amp;#xC218; &amp;#xC815;&amp;#xC218;): %X\n&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; n1&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Printf&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;%%c(&amp;#xC720;&amp;#xB2C8;&amp;#xCF54;&amp;#xB4DC; &amp;#xBB38;&amp;#xC790;): %b\n&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; n1&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;

fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Print&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;

fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Printf&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;%v = %c(&amp;#xC720;&amp;#xB2C8;&amp;#xCF54;&amp;#xB4DC;), %v = %c(&amp;#xC720;&amp;#xB2C8;&amp;#xCF54;&amp;#xB4DC;)\n&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;65&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;65&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;97&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;97&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;%v&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&amp;#xAE30;&amp;#xBCF8;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;: &lt;span class=&quot;token number&quot;&gt;43&lt;/span&gt;
%T&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xD0C0;&amp;#xC785;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;: int
%d&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;10&lt;/span&gt;&amp;#xC9C4;&amp;#xC218; &amp;#xC815;&amp;#xC218;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;: &lt;span class=&quot;token number&quot;&gt;43&lt;/span&gt;
%b&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;2&lt;/span&gt;&amp;#xC9C4;&amp;#xC218; &amp;#xC815;&amp;#xC218;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;: &lt;span class=&quot;token number&quot;&gt;101011&lt;/span&gt;
%o&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;8&lt;/span&gt;&amp;#xC9C4;&amp;#xC218; &amp;#xC815;&amp;#xC218;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;: &lt;span class=&quot;token number&quot;&gt;53&lt;/span&gt;
%O&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;8&lt;/span&gt;&amp;#xC9C4;&amp;#xC218; &amp;#xC815;&amp;#xC218;, prefix&amp;#xB85C; 0o &amp;#xBD99;&amp;#xC784;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;: 0o53
%x&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;16&lt;/span&gt;&amp;#xC9C4;&amp;#xC218; &amp;#xC815;&amp;#xC218;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;: 2b
%X&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;16&lt;/span&gt;&amp;#xC9C4;&amp;#xC218; &amp;#xC815;&amp;#xC218;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;: 2B
%c&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&amp;#xC720;&amp;#xB2C8;&amp;#xCF54;&amp;#xB4DC; &amp;#xBB38;&amp;#xC790;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;: &lt;span class=&quot;token number&quot;&gt;101011&lt;/span&gt;

&lt;span class=&quot;token number&quot;&gt;65&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; A&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&amp;#xC720;&amp;#xB2C8;&amp;#xCF54;&amp;#xB4DC;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;, &lt;span class=&quot;token number&quot;&gt;97&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; a&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&amp;#xC720;&amp;#xB2C8;&amp;#xCF54;&amp;#xB4DC;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;/pre&gt;&lt;br&gt;
&lt;p&gt;&amp;#xC801;&amp;#xC6A9;&amp;#xD560; &amp;#xC218; &amp;#xC5C6;&amp;#xB294; &amp;#xD0C0;&amp;#xC785;&amp;#xC758; &amp;#xACBD;&amp;#xC6B0;, &lt;code&gt;%!d(float64=1.2)&lt;/code&gt; &amp;#xAC19;&amp;#xC740; &amp;#xD615;&amp;#xD0DC;&amp;#xB85C; &amp;#xCD9C;&amp;#xB825;&amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;var n2 &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;1.2&lt;/span&gt;
fmt.Printf&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;%d, %o, %c, %s, %t&lt;span class=&quot;token entity&quot; title=&quot;\n&quot;&gt;\n&lt;/span&gt;&amp;quot;&lt;/span&gt;, n2, n2, n2, n2, n2&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
fmt.Printf&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;%x, %b&lt;span class=&quot;token entity&quot; title=&quot;\n&quot;&gt;\n&lt;/span&gt;&amp;quot;&lt;/span&gt;, n2, n2&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;%&lt;span class=&quot;token operator&quot;&gt;!&lt;/span&gt;d&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;float64&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;1.2&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;, %&lt;span class=&quot;token operator&quot;&gt;!&lt;/span&gt;o&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;float64&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;1.2&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;, %&lt;span class=&quot;token operator&quot;&gt;!&lt;/span&gt;c&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;float64&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;1.2&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;, %&lt;span class=&quot;token operator&quot;&gt;!&lt;/span&gt;s&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;float64&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;1.2&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;, %&lt;span class=&quot;token operator&quot;&gt;!&lt;/span&gt;t&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;float64&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;1.2&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
0x1.3333333333333p+00, 5404319552844595p-52
&lt;/pre&gt;&lt;br&gt;
&lt;h3 class=&quot;mume-header&quot; id=&quot;22-%EC%8B%A4%EC%88%98-%EC%84%9C%EC%8B%9Dformat&quot;&gt;2.2. &amp;#xC2E4;&amp;#xC218; &amp;#xC11C;&amp;#xC2DD;(format)&lt;/h3&gt;

&lt;p&gt;&amp;#xC2E4;&amp;#xC218;&amp;#xD0C0;&amp;#xC785;&amp;#xC744; &amp;#xCD9C;&amp;#xB825;&amp;#xD558;&amp;#xB294; &amp;#xC11C;&amp;#xC2DD;&amp;#xBB38;&amp;#xC790;&amp;#xB85C;, %f(%F), %e(%E), %g(%G)&amp;#xAC00; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xC774; &amp;#xC11C;&amp;#xC2DD;&amp;#xBB38;&amp;#xC790;&amp;#xB4E4;&amp;#xC740; &amp;#xC2E4;&amp;#xC218;&amp;#xD0C0;&amp;#xC785;&amp;#xC5D0;&amp;#xB9CC; &amp;#xC801;&amp;#xC6A9;&amp;#xAC00;&amp;#xB2A5;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;%f&amp;#xB294; &amp;#xC2E4;&amp;#xC218;&amp;#xB97C; &amp;#xD0C0;&amp;#xC785;&amp;#xC5D0; &amp;#xB9DE;&amp;#xAC8C; &amp;#xAE30;&amp;#xBCF8; &amp;#xCD9C;&amp;#xB825;&amp;#xD558;&amp;#xBA70;, %e&amp;#xB294; &amp;#xC9C0;&amp;#xC218;&amp;#xD45C;&amp;#xAE30;&amp;#xBC95;&amp;#xC73C;&amp;#xB85C; &amp;#xCD9C;&amp;#xB825;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;%g&amp;#xB294; &amp;#xAC12;&amp;#xC774; &amp;#xD070; &amp;#xC2E4;&amp;#xC218;&amp;#xAC12;&amp;#xC740; &amp;#xC9C0;&amp;#xC218;&amp;#xD615;&amp;#xD0DC;(%e)&amp;#xB85C;, &amp;#xAC12;&amp;#xC774; &amp;#xC791;&amp;#xC740; &amp;#xC2E4;&amp;#xC218;&amp;#xAC12;&amp;#xC740; &amp;#xAE30;&amp;#xBCF8;(%f) &amp;#xCD9C;&amp;#xB825;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword keyword-var&quot;&gt;var&lt;/span&gt; n1 &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;1234.56789&lt;/span&gt;

fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Printf&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;%%v(&amp;#xAE30;&amp;#xBCF8;): %v\n&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; n1&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Printf&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;%%T(&amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xD0C0;&amp;#xC785;): %T\n&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; n1&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Printf&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;%%f(&amp;#xC2E4;&amp;#xC218;): %f\n&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; n1&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Printf&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;%%e(&amp;#xC9C0;&amp;#xC218;&amp;#xD45C;&amp;#xAE30;&amp;#xBC95;): %e\n&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; n1&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Printf&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;%%E(&amp;#xC9C0;&amp;#xC218;&amp;#xD45C;&amp;#xAE30;&amp;#xBC95;): %E\n&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; n1&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Printf&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;%%f(&amp;#xC2E4;&amp;#xC218; &amp;#xC18C;&amp;#xC218;&amp;#xC810; 3&amp;#xC790;&amp;#xB9AC;&amp;#xAE4C;&amp;#xC9C0;): %.3f\n&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; n1&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;%v&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&amp;#xAE30;&amp;#xBCF8;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;: &lt;span class=&quot;token number&quot;&gt;1234.56789&lt;/span&gt;
%T&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xD0C0;&amp;#xC785;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;: float64
%f&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&amp;#xC2E4;&amp;#xC218;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;: &lt;span class=&quot;token number&quot;&gt;1234.567890&lt;/span&gt;
%e&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&amp;#xC9C0;&amp;#xC218;&amp;#xD45C;&amp;#xAE30;&amp;#xBC95;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;: &lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;.234568e+03
%E&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&amp;#xC9C0;&amp;#xC218;&amp;#xD45C;&amp;#xAE30;&amp;#xBC95;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;: &lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;.234568E+03
%f&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&amp;#xC2E4;&amp;#xC218; &amp;#xC18C;&amp;#xC218;&amp;#xC810; &lt;span class=&quot;token number&quot;&gt;3&lt;/span&gt;&amp;#xC790;&amp;#xB9AC;&amp;#xAE4C;&amp;#xC9C0;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;: &lt;span class=&quot;token number&quot;&gt;1234.568&lt;/span&gt;
&lt;/pre&gt;&lt;br&gt;
&lt;p&gt;&amp;#xC2E4;&amp;#xC218;&amp;#xC758; &amp;#xACBD;&amp;#xC6B0;, &amp;#xC11C;&amp;#xC2DD;&amp;#xC744; &amp;#xC124;&amp;#xC815;&amp;#xD558;&amp;#xC9C0; &amp;#xC54A;&amp;#xC744; &amp;#xACBD;&amp;#xC6B0; &lt;strong&gt;&amp;#xCD5C;&amp;#xC18C; &amp;#xC18C;&amp;#xC218;&amp;#xC810; &amp;#xC790;&amp;#xB9AC;&amp;#xC218;&lt;/strong&gt; &amp;#xB85C; &amp;#xD45C;&amp;#xC2DC;&amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword keyword-var&quot;&gt;var&lt;/span&gt; a &lt;span class=&quot;token builtin&quot;&gt;float32&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;7.0&lt;/span&gt;  
fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;a&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;&lt;span class=&quot;token number&quot;&gt;7&lt;/span&gt;
&lt;/pre&gt;&lt;br&gt;
&lt;h3 class=&quot;mume-header&quot; id=&quot;23-bool-%ED%83%80%EC%9E%85&quot;&gt;2.3. bool &amp;#xD0C0;&amp;#xC785;&lt;/h3&gt;

&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword keyword-var&quot;&gt;var&lt;/span&gt; v1 &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token boolean&quot;&gt;true&lt;/span&gt;
fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Printf&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;%%T(&amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xD0C0;&amp;#xC785;): %T\n&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; v1&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Printf&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;%%t(boolean): %t\n&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; v1&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;%T&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xD0C0;&amp;#xC785;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;: bool
%t&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;boolean&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;: &lt;span class=&quot;token boolean&quot;&gt;true&lt;/span&gt;
&lt;/pre&gt;&lt;br&gt;
&lt;h3 class=&quot;mume-header&quot; id=&quot;24-string-%ED%83%80%EC%9E%85&quot;&gt;2.4. string &amp;#xD0C0;&amp;#xC785;&lt;/h3&gt;

&lt;p&gt;&amp;#xBB38;&amp;#xC790;&amp;#xC5F4;&amp;#xC744; &amp;#xCD9C;&amp;#xB825;&amp;#xD558;&amp;#xB294; &amp;#xC11C;&amp;#xC2DD;&amp;#xBB38;&amp;#xC790;&amp;#xC5F4;&amp;#xC740; 2&amp;#xAC00;&amp;#xC9C0;&amp;#xAC00; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
\t(&amp;#xD0ED;), \n(&amp;#xAC1C;&amp;#xD589;)&amp;#xACFC;&amp;#xAC19;&amp;#xC740; &amp;#xD2B9;&amp;#xC218;&amp;#xBB38;&amp;#xC790;&amp;#xC758; &amp;#xB3D9;&amp;#xC791;&amp;#xC744; &amp;#xD589;&amp;#xD558;&amp;#xBA70; &amp;#xCD9C;&amp;#xB825;&amp;#xD558;&amp;#xB294; %s&amp;#xC640;, &amp;#xB3D9;&amp;#xC791;&amp;#xC744; &amp;#xBB34;&amp;#xC2DC;&amp;#xD558;&amp;#xACE0; &amp;#xADF8;&amp;#xB300;&amp;#xB85C; &amp;#xCD9C;&amp;#xB825;&amp;#xD558;&amp;#xB294; %q &amp;#xAC00; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword keyword-var&quot;&gt;var&lt;/span&gt; v2 &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;hello\njiniworld\t!&amp;quot;&lt;/span&gt;
fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Printf&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;%%s(&amp;#xBB38;&amp;#xC790;&amp;#xC5F4;): %s\n&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; v2&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Printf&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;%%q(&amp;#xBB38;&amp;#xC790;&amp;#xC5F4;, &amp;#xD2B9;&amp;#xC218;&amp;#xBB38;&amp;#xC790; &amp;#xAE30;&amp;#xB2A5; &amp;#xB3D9;&amp;#xC791; &amp;#xBB34;&amp;#xC2DC;): %q\n&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; v2&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;%s&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&amp;#xBB38;&amp;#xC790;&amp;#xC5F4;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;: hello
jiniworld       &lt;span class=&quot;token operator&quot;&gt;!&lt;/span&gt;
%q&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&amp;#xBB38;&amp;#xC790;&amp;#xC5F4;, &amp;#xD2B9;&amp;#xC218;&amp;#xBB38;&amp;#xC790; &amp;#xAE30;&amp;#xB2A5; &amp;#xB3D9;&amp;#xC791; &amp;#xBB34;&amp;#xC2DC;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;: &lt;span class=&quot;token string&quot;&gt;&amp;quot;hello&lt;span class=&quot;token entity&quot; title=&quot;\n&quot;&gt;\n&lt;/span&gt;jiniworld&lt;span class=&quot;token entity&quot; title=&quot;\t&quot;&gt;\t&lt;/span&gt;!&amp;quot;&lt;/span&gt;
&lt;/pre&gt;&lt;br&gt;
&lt;h3 class=&quot;mume-header&quot; id=&quot;25-%EB%A9%94%EB%AA%A8%EB%A6%AC-%EC%A3%BC%EC%86%8C&quot;&gt;2.5. &amp;#xBA54;&amp;#xBAA8;&amp;#xB9AC; &amp;#xC8FC;&amp;#xC18C;&lt;/h3&gt;

&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword keyword-var&quot;&gt;var&lt;/span&gt; v3 &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;123&lt;/span&gt;  
fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Printf&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;%%p(&amp;#xBA54;&amp;#xBAA8;&amp;#xB9AC; &amp;#xC8FC;&amp;#xC18C;&amp;#xAC12;) %p&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt;v3&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;%p&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&amp;#xBA54;&amp;#xBAA8;&amp;#xB9AC; &amp;#xC8FC;&amp;#xC18C;&amp;#xAC12;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; 0x14000110020
&lt;/pre&gt;&lt;hr&gt;

  &lt;/div&gt;&lt;/div&gt;</description>
      <category>Go</category>
      <category>go</category>
      <author>jiniya22</author>
      <guid isPermaLink="true">https://jini-box.tistory.com/221</guid>
      <comments>https://jini-box.tistory.com/221#entry221comment</comments>
      <pubDate>Sun, 14 Jan 2024 22:37:53 +0900</pubDate>
    </item>
    <item>
      <title>[Kubernetes 시작하기] 11. 데몬셋</title>
      <link>https://jini-box.tistory.com/219</link>
      <description>&lt;div id=&quot;html-export&quot;&gt;
      &lt;div class=&quot;mume markdown-preview  &quot;&gt;
      &lt;ol&gt;
&lt;li&gt;&amp;#xB370;&amp;#xBAAC;&amp;#xC14B;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;#a01-1&quot;&gt;&amp;#xB370;&amp;#xBAAC;&amp;#xC14B;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#a01-1&quot;&gt;&amp;#xB370;&amp;#xBAAC;&amp;#xC14B; &amp;#xC2A4;&amp;#xCF00;&amp;#xC974;&amp;#xB7EC;&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;&amp;#xB370;&amp;#xBAAC;&amp;#xC14B; &amp;#xC0DD;&amp;#xC131;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;#a02-1&quot;&gt;&amp;#xBAA8;&amp;#xB4E0; &amp;#xB178;&amp;#xB4DC;&amp;#xC5D0; &amp;#xB370;&amp;#xBAAC;&amp;#xC14B; &amp;#xC0DD;&amp;#xC131;&amp;#xD558;&amp;#xAE30;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#a02-1&quot;&gt;&amp;#xD2B9;&amp;#xC815; &amp;#xB178;&amp;#xB4DC;&amp;#xC5D0;&amp;#xB9CC; &amp;#xB370;&amp;#xBAAC;&amp;#xC14B; &amp;#xC0DD;&amp;#xC131;&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#a03&quot;&gt;&amp;#xB370;&amp;#xBAAC;&amp;#xC14B; &amp;#xC5C5;&amp;#xB370;&amp;#xC774;&amp;#xD2B8;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#a04&quot;&gt;&amp;#xB370;&amp;#xBAAC;&amp;#xC14B; &amp;#xC0AD;&amp;#xC81C;&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;hr&gt;
&lt;p&gt;&amp;#xD30C;&amp;#xB4DC; &amp;#xC9D1;&amp;#xD569;&amp;#xC744; &amp;#xBCF5;&amp;#xC81C;&amp;#xD558;&amp;#xB294; &amp;#xC774;&amp;#xC720;&amp;#xB294; &amp;#xD06C;&amp;#xAC8C; &amp;#xB450;&amp;#xAC00;&amp;#xC9C0; &amp;#xC774;&amp;#xC720;&amp;#xAC00; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&amp;#xC911;&amp;#xBCF5;&amp;#xC131;&amp;#xC744; &amp;#xC704;&amp;#xD574;
&lt;ul&gt;
&lt;li&gt;&amp;#xC911;&amp;#xBCF5;&amp;#xC131;: &amp;#xC5EC;&amp;#xB7EC;&amp;#xAC1C;&amp;#xC758; &amp;#xBCF5;&amp;#xC81C;&amp;#xBCF8; &amp;#xC124;&amp;#xC815;&amp;#xC73C;&amp;#xB85C;, &amp;#xC7A5;&amp;#xC560; &amp;#xBC1C;&amp;#xC0DD;&amp;#xB418;&amp;#xB354;&amp;#xB77C;&amp;#xB3C4; &amp;#xADF8;&amp;#xC5D0; &amp;#xB300;&amp;#xD55C; &amp;#xB300;&amp;#xBE44;&amp;#xAC00; &amp;#xAC00;&amp;#xB2A5;&amp;#xD558;&amp;#xAC8C; &amp;#xD558;&amp;#xB294; &amp;#xC131;&amp;#xC9C8;&lt;/li&gt;
&lt;li&gt;&amp;#xAD00;&amp;#xB828; &amp;#xCFE0;&amp;#xBC84;&amp;#xB124;&amp;#xD2F0;&amp;#xC2A4; &amp;#xAC1D;&amp;#xCCB4;: &amp;#xB808;&amp;#xD50C;&amp;#xB9AC;&amp;#xCE74;&amp;#xC14B;, &amp;#xB514;&amp;#xD50C;&amp;#xB85C;&amp;#xC774;&amp;#xBA3C;&amp;#xD2B8;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&amp;#xAC01; &amp;#xB178;&amp;#xB4DC;&amp;#xC5D0; &amp;#xC5D0;&amp;#xC774;&amp;#xC804;&amp;#xD2B8;&amp;#xB098; &amp;#xB370;&amp;#xBAAC;&amp;#xC744; &amp;#xC2E4;&amp;#xD589;&amp;#xD558;&amp;#xAE30; &amp;#xC704;&amp;#xD574;
&lt;ul&gt;
&lt;li&gt;&amp;#xD074;&amp;#xB7EC;&amp;#xC2A4;&amp;#xD130; &amp;#xB0B4;&amp;#xC758; &amp;#xBAA8;&amp;#xB4E0; &amp;#xB178;&amp;#xB4DC;&amp;#xC5D0; &amp;#xB2E8;&amp;#xC77C; &amp;#xD30C;&amp;#xB4DC;&amp;#xB97C; &amp;#xC2A4;&amp;#xCF00;&amp;#xC974;&amp;#xB9C1;&amp;#xD558;&amp;#xAE30; &amp;#xC704;&amp;#xD574;&lt;/li&gt;
&lt;li&gt;&amp;#xAD00;&amp;#xB828; &amp;#xCFE0;&amp;#xBC84;&amp;#xB124;&amp;#xD2F0;&amp;#xC2A4; &amp;#xAC1D;&amp;#xCCB4;: &amp;#xB370;&amp;#xBAAC;&amp;#xC14B;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&amp;#xC774;&amp;#xBC88; &amp;#xD3EC;&amp;#xC2A4;&amp;#xD305;&amp;#xC5D0;&amp;#xC11C;&amp;#xB294;, &amp;#xC704;&amp;#xC5D0;&amp;#xC11C; &amp;#xC18C;&amp;#xAC1C;&amp;#xD55C; &amp;#xD30C;&amp;#xB4DC; &amp;#xC9D1;&amp;#xD569; &amp;#xBCF5;&amp;#xC81C; &amp;#xC774;&amp;#xC720;&amp;#xC758; 2&amp;#xBC88;&amp;#xC9F8;&amp;#xC5D0; &amp;#xD574;&amp;#xB2F9;&amp;#xD558;&amp;#xB294;, &amp;#xB370;&amp;#xBAAC; &amp;#xC2E4;&amp;#xD589;&amp;#xC744; &amp;#xC704;&amp;#xD55C; &amp;#xB370;&amp;#xBAAC;&amp;#xC14B;&amp;#xC5D0; &amp;#xB300;&amp;#xD574; &amp;#xC54C;&amp;#xC544;&amp;#xBCFC; &amp;#xAC83;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;br&gt;
&lt;h2 class=&quot;mume-header&quot; id=&quot;div-ida01-11-%EB%8D%B0%EB%AA%AC%EC%85%8Bdiv&quot;&gt;&lt;div id=&quot;a01-1&quot;&gt;1. &amp;#xB370;&amp;#xBAAC;&amp;#xC14B;&lt;/div&gt;&lt;/h2&gt;

&lt;h3 class=&quot;mume-header&quot; id=&quot;11-%EB%8D%B0%EB%AA%AC%EC%85%8B&quot;&gt;1.1. &amp;#xB370;&amp;#xBAAC;&amp;#xC14B;&lt;/h3&gt;

&lt;p&gt;&amp;#xD30C;&amp;#xB4DC;&amp;#xC758; &amp;#xBCF5;&amp;#xC0AC;&amp;#xBCF8;&amp;#xC774; &amp;#xCFE0;&amp;#xBC84;&amp;#xB124;&amp;#xD2F0;&amp;#xC2A4; &amp;#xD074;&amp;#xB7EC;&amp;#xC2A4;&amp;#xD130; &amp;#xB178;&amp;#xB4DC; &amp;#xC9D1;&amp;#xD569;&amp;#xC5D0;&amp;#xC11C; &amp;#xC2E4;&amp;#xD589;&amp;#xB418;&amp;#xAC8C; &amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xC77C;&amp;#xBC18;&amp;#xC801;&amp;#xC73C;&amp;#xB85C; (&amp;#xD074;&amp;#xB7EC;&amp;#xC2A4;&amp;#xD130; &amp;#xC2A4;&amp;#xD1A0;&amp;#xB9AC;&amp;#xC9C0;&amp;#xB098; &amp;#xB85C;&amp;#xADF8; &amp;#xC218;&amp;#xC9D1;&amp;#xAE30;&amp;#xB098; &amp;#xB178;&amp;#xB4DC; &amp;#xBAA8;&amp;#xB2C8;&amp;#xD130;&amp;#xB9C1; &amp;#xC5D0;&amp;#xC774;&amp;#xC804;&amp;#xD2B8;&amp;#xC640; &amp;#xAC19;&amp;#xC774;) &amp;#xBAA8;&amp;#xB4E0; &amp;#xB178;&amp;#xB4DC;&amp;#xC5D0;&amp;#xC11C; &amp;#xC2E4;&amp;#xD589;&amp;#xB418;&amp;#xC5B4;&amp;#xC57C;&amp;#xD558;&amp;#xB294; &lt;strong&gt;&amp;#xC2DC;&amp;#xC2A4;&amp;#xD15C; &amp;#xB370;&amp;#xBAAC;&amp;#xC744; &amp;#xBC30;&amp;#xD3EC;&amp;#xD558;&amp;#xB294;&amp;#xB370;&amp;#xC5D0; &amp;#xC0AC;&amp;#xC6A9;&lt;/strong&gt;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xB370;&amp;#xBAAC;&amp;#xC14B;&amp;#xC744; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD558;&amp;#xBA74; &amp;#xD074;&amp;#xB77C;&amp;#xC6B0;&amp;#xB4DC; &amp;#xAE30;&amp;#xBC18; &amp;#xD074;&amp;#xB7EC;&amp;#xC2A4;&amp;#xD130; &amp;#xB178;&amp;#xB4DC;&amp;#xC5D0; &amp;#xC18C;&amp;#xD504;&amp;#xD2B8;&amp;#xC6E8;&amp;#xC5B4;&amp;#xB97C; &amp;#xC27D;&amp;#xAC8C; &amp;#xC124;&amp;#xCE58;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;#xD074;&amp;#xB7EC;&amp;#xC2A4;&amp;#xD130; &amp;#xD655;&amp;#xC7A5;&amp;#xC2DC;, &amp;#xD2B9;&amp;#xC815; &amp;#xC18C;&amp;#xD504;&amp;#xD2B8;&amp;#xC6E8;&amp;#xC5B4;&amp;#xB97C; &amp;#xC0C8;&amp;#xB85C; &amp;#xCD94;&amp;#xAC00;&amp;#xD55C; &amp;#xB178;&amp;#xB4DC;&amp;#xC5D0; &amp;#xC124;&amp;#xCE58;&amp;#xD558;&amp;#xB294; &amp;#xAC83;&amp;#xB3C4; &amp;#xB370;&amp;#xBAAC;&amp;#xC14B;&amp;#xC744; &amp;#xC774;&amp;#xC6A9;&amp;#xD558;&amp;#xC5EC; &amp;#xC124;&amp;#xCE58;&amp;#xD558;&amp;#xBA74; &amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;br&gt;
&lt;p&gt;&amp;#xC7A5;&amp;#xC2DC;&amp;#xAC04; &amp;#xC2E4;&amp;#xD589;&amp;#xB418;&amp;#xB294; &amp;#xC11C;&amp;#xBE44;&amp;#xC2A4;&amp;#xB97C; &amp;#xC2E4;&amp;#xD589;&amp;#xD558;&amp;#xB294; &amp;#xD30C;&amp;#xB4DC;&amp;#xB97C; &amp;#xC0DD;&amp;#xC131;&amp;#xD558;&amp;#xACE0;, &amp;#xD074;&amp;#xB7EC;&amp;#xC2A4;&amp;#xD130;&amp;#xC758; &amp;#xC6D0;&amp;#xD558;&amp;#xB294; &amp;#xC0C1;&amp;#xD0DC;&amp;#xC640; &amp;#xD604;&amp;#xC7AC;(&amp;#xAD00;&amp;#xCC30;&amp;#xB41C;) &amp;#xC0C1;&amp;#xD0DC;&amp;#xB97C; &amp;#xB3D9;&amp;#xC77C;&amp;#xD558;&amp;#xAC8C; &amp;#xB9CC;&amp;#xB4E0;&amp;#xB2E4;&amp;#xB294; &amp;#xC810;&amp;#xC5D0;&amp;#xC11C; &amp;#xB808;&amp;#xD50C;&amp;#xB9AC;&amp;#xCE74;&amp;#xC14B;&amp;#xACFC; &amp;#xC720;&amp;#xC0AC;&amp;#xC810;&amp;#xC774; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xC0AC;&amp;#xC6A9;&amp;#xBAA9;&amp;#xC801;&amp;#xC5D0; &amp;#xB530;&amp;#xB77C; &amp;#xB808;&amp;#xD50C;&amp;#xB9AC;&amp;#xCE74;&amp;#xC14B;&amp;#xACFC; &amp;#xB370;&amp;#xBAAC;&amp;#xC14B; &amp;#xC911; &amp;#xC120;&amp;#xD0DD;&amp;#xD574;&amp;#xC57C;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&amp;#xB808;&amp;#xD50C;&amp;#xB9AC;&amp;#xCE74;&amp;#xC14B;
&lt;ul&gt;
&lt;li&gt;&amp;#xC560;&amp;#xD50C;&amp;#xB9AC;&amp;#xCF00;&amp;#xC774;&amp;#xC158;&amp;#xC744; &amp;#xB178;&amp;#xB4DC;&amp;#xC5D0;&amp;#xC11C; &amp;#xC644;&amp;#xC804;&amp;#xD788; &amp;#xBD84;&amp;#xB9AC;&amp;#xD560; &amp;#xB54C; &amp;#xC0AC;&amp;#xC6A9;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&amp;#xB370;&amp;#xBAAC;&amp;#xC14B;
&lt;ul&gt;
&lt;li&gt;&amp;#xBAA8;&amp;#xB4E0; &amp;#xB178;&amp;#xB4DC;(&amp;#xB610;&amp;#xB294; &amp;#xD2B9;&amp;#xC815; &amp;#xB178;&amp;#xB4DC;&amp;#xC9D1;&amp;#xD569;)&amp;#xC5D0;&amp;#xC11C; &amp;#xB2E8;&amp;#xC77C; &amp;#xD30C;&amp;#xB4DC; &amp;#xBCF5;&amp;#xC0AC;&amp;#xBCF8;&amp;#xC774; &amp;#xC2E4;&amp;#xD589;&amp;#xB418;&amp;#xC5B4;&amp;#xC57C;&amp;#xD558;&amp;#xB294; &amp;#xACBD;&amp;#xC6B0;&amp;#xC5D0; &amp;#xC0AC;&amp;#xC6A9;
&lt;ul&gt;
&lt;li&gt;&amp;#xB370;&amp;#xBAAC;&amp;#xC14B; &amp;#xC124;&amp;#xC815;&amp;#xC5D0;&amp;#xC11C; label&amp;#xC744; &amp;#xC124;&amp;#xC815;&amp;#xD558;&amp;#xBA74;, &amp;#xD2B9;&amp;#xC815; &amp;#xB178;&amp;#xB4DC; &amp;#xC9D1;&amp;#xD569;&amp;#xC5D0;&amp;#xC11C;&amp;#xB9CC; &amp;#xB370;&amp;#xBAAC;&amp;#xC14B;&amp;#xC744; &amp;#xC2E4;&amp;#xD589;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;br&gt;
&lt;h3 class=&quot;mume-header&quot; id=&quot;div-ida01-212-%EB%8D%B0%EB%AA%AC%EC%85%8B-%EC%8A%A4%EC%BC%80%EC%A5%B4%EB%9F%ACdiv&quot;&gt;&lt;div id=&quot;a01-2&quot;&gt;1.2. &amp;#xB370;&amp;#xBAAC;&amp;#xC14B; &amp;#xC2A4;&amp;#xCF00;&amp;#xC974;&amp;#xB7EC;&lt;/div&gt;&lt;/h3&gt;

&lt;p&gt;&amp;#xBCC4;&amp;#xB3C4;&amp;#xC758; &amp;#xC124;&amp;#xC815;&amp;#xC744; &amp;#xD558;&amp;#xC9C0; &amp;#xC54A;&amp;#xC744; &amp;#xACBD;&amp;#xC6B0;, &amp;#xAE30;&amp;#xBCF8;&amp;#xC801;&amp;#xC73C;&amp;#xB85C; &amp;#xBAA8;&amp;#xB4E0; &amp;#xB178;&amp;#xB4DC;&amp;#xC5D0; &amp;#xD30C;&amp;#xB4DC;&amp;#xC758; &amp;#xBCF5;&amp;#xC81C;&amp;#xBCF8;&amp;#xC744; &amp;#xC124;&amp;#xCE58;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xB370;&amp;#xBAAC;&amp;#xC14B;&amp;#xC744; &amp;#xC77C;&amp;#xBD80; &amp;#xB178;&amp;#xB4DC;&amp;#xC5D0;&amp;#xB9CC; &amp;#xC124;&amp;#xCE58;&amp;#xD558;&amp;#xACE0; &amp;#xC2F6;&amp;#xB2E4;&amp;#xBA74; node selector&amp;#xC744; &amp;#xC124;&amp;#xC815;&amp;#xD558;&amp;#xBA74; &amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
node selector&amp;#xB294; &amp;#xC124;&amp;#xC815;&amp;#xD55C; &amp;#xB77C;&amp;#xBCA8; &amp;#xBAA9;&amp;#xB85D;&amp;#xC73C;&amp;#xB85C; &amp;#xB178;&amp;#xB4DC;&amp;#xB97C; &amp;#xD544;&amp;#xD130;&amp;#xB9C1;&amp;#xD558;&amp;#xC5EC; &amp;#xD30C;&amp;#xB4DC;&amp;#xB97C; &amp;#xBCF5;&amp;#xC81C;&amp;#xD574;&amp;#xC90D;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xC870;&amp;#xC815; &amp;#xB8E8;&amp;#xD504;&amp;#xC5D0; &amp;#xC758;&amp;#xD574; &amp;#xAD00;&amp;#xB9AC;&amp;#xB418;&amp;#xBA70;, &amp;#xCE21;&amp;#xC815;&amp;#xB41C; &amp;#xC815;&amp;#xBCF4;&amp;#xB97C; &amp;#xBC14;&amp;#xD0D5;&amp;#xC73C;&amp;#xB85C; &amp;#xB370;&amp;#xBAAC;&amp;#xC14B; &amp;#xCEE8;&amp;#xD2B8;&amp;#xB864;&amp;#xB7EC;&amp;#xB294; &amp;#xC77C;&amp;#xCE58;&amp;#xD558;&amp;#xB294; &amp;#xD30C;&amp;#xB4DC;&amp;#xAC00; &amp;#xC5C6;&amp;#xB294; &amp;#xAC01;&amp;#xB178;&amp;#xB4DC;&amp;#xC5D0; &amp;#xD30C;&amp;#xB4DC;&amp;#xB97C; &amp;#xC0DD;&amp;#xC131;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xC774;&amp;#xC5D0; &amp;#xC758;&amp;#xD574;, &amp;#xD074;&amp;#xB7EC;&amp;#xC2A4;&amp;#xD130;&amp;#xC5D0; &amp;#xC0C8;&amp;#xB85C;&amp;#xC6B4; &amp;#xB178;&amp;#xB4DC;&amp;#xAC00; &amp;#xCD94;&amp;#xAC00;&amp;#xB418;&amp;#xC5C8;&amp;#xC744; &amp;#xACBD;&amp;#xC6B0;&amp;#xC5D0;&amp;#xB3C4; &amp;#xB370;&amp;#xBAAC;&amp;#xC14B; &amp;#xCEE8;&amp;#xD2B8;&amp;#xB864;&amp;#xB7EC;&amp;#xAC00; &amp;#xD574;&amp;#xB2F9; &amp;#xB178;&amp;#xB4DC;&amp;#xC5D0; &amp;#xD30C;&amp;#xB4DC;&amp;#xB97C; &amp;#xCD94;&amp;#xAC00;&amp;#xD574;&amp;#xC90D;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;#xC870;&amp;#xC815; &amp;#xB8E8;&amp;#xD504;: &amp;#xC870;&amp;#xC815; &amp;#xB8E8;&amp;#xD504;&amp;#xB294; &amp;#xC9C0;&amp;#xC18D;&amp;#xC801;&amp;#xC73C;&amp;#xB85C; &amp;#xD30C;&amp;#xB4DC;&amp;#xC758; &amp;#xC0C1;&amp;#xD0DC;&amp;#xB97C; &amp;#xAD00;&amp;#xCC30;&amp;#xD558;&amp;#xACE0;, &amp;#xD604;&amp;#xC7AC;(&amp;#xAD00;&amp;#xCC30;&amp;#xB41C;) &amp;#xC0C1;&amp;#xD0DC;&amp;#xAC00; &amp;#xC6D0;&amp;#xD558;&amp;#xB294; &amp;#xC0C1;&amp;#xD0DC;&amp;#xC640; &amp;#xC77C;&amp;#xCE58;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xB3C4;&amp;#xB85D; &amp;#xB3D9;&amp;#xC791;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;br&gt;
&lt;p&gt;&amp;#xB808;&amp;#xD50C;&amp;#xB9AC;&amp;#xCE74;&amp;#xC14B;&amp;#xC774; &amp;#xC790;&amp;#xC2E0;&amp;#xC774; &amp;#xAD00;&amp;#xB9AC;&amp;#xD558;&amp;#xB294; &amp;#xD30C;&amp;#xB4DC;&amp;#xB97C; &amp;#xC18C;&amp;#xC720;&amp;#xD558;&amp;#xACE0; &amp;#xC788;&amp;#xC5C8;&amp;#xB2E4;&amp;#xBA74;,(&amp;#xD30C;&amp;#xB4DC;&amp;#xAC00; &amp;#xB808;&amp;#xD50C;&amp;#xB9AC;&amp;#xCE74;&amp;#xC14B;&amp;#xC758; &amp;#xD558;&amp;#xC704; &amp;#xB9AC;&amp;#xC18C;&amp;#xC2A4;)&lt;br&gt;
&amp;#xB370;&amp;#xBAAC;&amp;#xC14B;&amp;#xC758; &amp;#xACBD;&amp;#xC6B0;, &amp;#xB370;&amp;#xBAAC;&amp;#xC14B;&amp;#xC5D0; &amp;#xC758;&amp;#xD574; &amp;#xAD00;&amp;#xB9AC;&amp;#xB418;&amp;#xB294; &amp;#xAC01; &amp;#xD30C;&amp;#xB4DC;&amp;#xB4E4;&amp;#xC774; &amp;#xB370;&amp;#xBAAC;&amp;#xC14B;&amp;#xC744; &amp;#xC18C;&amp;#xC720;&amp;#xD558;&amp;#xACE0; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;. (&amp;#xD30C;&amp;#xB4DC;&amp;#xAC00; &amp;#xB370;&amp;#xBAAC;&amp;#xC14B;&amp;#xC758; &amp;#xC0C1;&amp;#xC704; &amp;#xB9AC;&amp;#xC18C;&amp;#xC2A4;)&lt;/p&gt;
&lt;hr&gt;
&lt;h2 class=&quot;mume-header&quot; id=&quot;div-ida02-12-%EB%8D%B0%EB%AA%AC%EC%85%8B-%EC%83%9D%EC%84%B1div&quot;&gt;&lt;div id=&quot;a02-1&quot;&gt;2. &amp;#xB370;&amp;#xBAAC;&amp;#xC14B; &amp;#xC0DD;&amp;#xC131;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/h2&gt;

&lt;h3 class=&quot;mume-header&quot; id=&quot;21-%EB%AA%A8%EB%93%A0-%EB%85%B8%EB%93%9C%EC%97%90-%EB%8D%B0%EB%AA%AC%EC%85%8B-%EC%83%9D%EC%84%B1%ED%95%98%EA%B8%B0&quot;&gt;2.1. &amp;#xBAA8;&amp;#xB4E0; &amp;#xB178;&amp;#xB4DC;&amp;#xC5D0; &amp;#xB370;&amp;#xBAAC;&amp;#xC14B; &amp;#xC0DD;&amp;#xC131;&amp;#xD558;&amp;#xAE30;&lt;/h3&gt;

&lt;p&gt;&amp;#xBCC4;&amp;#xB3C4;&amp;#xC758; &amp;#xD544;&amp;#xD130;&amp;#xB9C1; &amp;#xC5C6;&amp;#xC774;, &amp;#xBAA8;&amp;#xB4E0; &amp;#xB178;&amp;#xB4DC;&amp;#xC5D0; &amp;#xB370;&amp;#xBAAC;&amp;#xC14B; &amp;#xD30C;&amp;#xB4DC;&amp;#xB97C; &amp;#xC0DD;&amp;#xC131;&amp;#xD574;&amp;#xBD05;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;yml{.line-numbers, highlight=[7-10,12-14]}&quot; class=&quot;language-yaml line-numbers&quot; data-line=&quot;7-10,12-14&quot;&gt;&lt;span class=&quot;token key atrule&quot;&gt;apiVersion&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; apps/v1
&lt;span class=&quot;token key atrule&quot;&gt;kind&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; DaemonSet
&lt;span class=&quot;token key atrule&quot;&gt;metadata&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
  &lt;span class=&quot;token key atrule&quot;&gt;name&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; fluentd
  &lt;span class=&quot;token key atrule&quot;&gt;labels&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
    &lt;span class=&quot;token key atrule&quot;&gt;app&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; fluentd
&lt;span class=&quot;token key atrule&quot;&gt;spec&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
  &lt;span class=&quot;token key atrule&quot;&gt;selector&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
    &lt;span class=&quot;token key atrule&quot;&gt;matchLabels&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
      &lt;span class=&quot;token key atrule&quot;&gt;app&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; fluentd
  &lt;span class=&quot;token key atrule&quot;&gt;template&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
    &lt;span class=&quot;token key atrule&quot;&gt;metadata&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
      &lt;span class=&quot;token key atrule&quot;&gt;labels&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
        &lt;span class=&quot;token key atrule&quot;&gt;app&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; fluentd
    &lt;span class=&quot;token key atrule&quot;&gt;spec&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
      &lt;span class=&quot;token key atrule&quot;&gt;containers&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
      &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;token key atrule&quot;&gt;name&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; fluentd
        &lt;span class=&quot;token key atrule&quot;&gt;image&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; fluent/fluentd&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;v0.14.10
        &lt;span class=&quot;token key atrule&quot;&gt;resources&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
          &lt;span class=&quot;token key atrule&quot;&gt;limits&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
            &lt;span class=&quot;token key atrule&quot;&gt;memory&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; 200Mi
          &lt;span class=&quot;token key atrule&quot;&gt;requests&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
            &lt;span class=&quot;token key atrule&quot;&gt;cpu&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; 100m
            &lt;span class=&quot;token key atrule&quot;&gt;memory&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; 200Mi
        &lt;span class=&quot;token key atrule&quot;&gt;volumeMounts&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;token key atrule&quot;&gt;name&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; varlog
          &lt;span class=&quot;token key atrule&quot;&gt;mountPath&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; /var/log
        &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;token key atrule&quot;&gt;name&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; varlibdockercontainers
          &lt;span class=&quot;token key atrule&quot;&gt;mountPath&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; /var/lib/docker/containers
          &lt;span class=&quot;token key atrule&quot;&gt;readOnly&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token boolean important&quot;&gt;true&lt;/span&gt;
      &lt;span class=&quot;token key atrule&quot;&gt;terminationGracePeriodSeconds&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;30&lt;/span&gt;
      &lt;span class=&quot;token key atrule&quot;&gt;volumes&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
      &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;token key atrule&quot;&gt;name&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; varlog
        &lt;span class=&quot;token key atrule&quot;&gt;hostPath&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
          &lt;span class=&quot;token key atrule&quot;&gt;path&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; /var/log
      &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;token key atrule&quot;&gt;name&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; varlibdockercontainers
        &lt;span class=&quot;token key atrule&quot;&gt;hostPath&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
          &lt;span class=&quot;token key atrule&quot;&gt;path&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; /var/lib/docker/containers
&lt;span aria-hidden=&quot;true&quot; class=&quot;line-numbers-rows&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class=&quot;line-highlight-wrapper&quot;&gt;





&lt;div aria-hidden=&quot;true&quot; class=&quot;line-highlight&quot; data-range=&quot;7-10&quot; data-start=&quot;7&quot; data-end=&quot;10&quot;&gt;



&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;line-highlight-wrapper&quot;&gt;










&lt;div aria-hidden=&quot;true&quot; class=&quot;line-highlight&quot; data-range=&quot;12-14&quot; data-start=&quot;12&quot; data-end=&quot;14&quot;&gt;


&lt;/div&gt;&lt;/div&gt;&lt;/pre&gt;&lt;br&gt;
&lt;p&gt;&amp;#xC815;&amp;#xC758;&amp;#xD574;&amp;#xB454; &amp;#xB370;&amp;#xBAAC;&amp;#xC14B; &amp;#xAD6C;&amp;#xC131;&amp;#xD30C;&amp;#xC77C;&amp;#xC744; &amp;#xC774;&amp;#xC6A9;&amp;#xD558;&amp;#xC5EC; &amp;#xB370;&amp;#xBAAC;&amp;#xC14B;&amp;#xC744; &amp;#xC0DD;&amp;#xC131;&amp;#xD574;&amp;#xBD05;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;kubectl apply -f fluentd.yml
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;daemonset.apps/fluentd created
&lt;/pre&gt;&lt;br&gt;
&lt;p&gt;&lt;strong&gt;&amp;#xB370;&amp;#xBAAC;&amp;#xC14B; &amp;#xBAA9;&amp;#xB85D; &amp;#xC870;&amp;#xD68C;&lt;/strong&gt;&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;kubectl get ds                                                          
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;NAME      DESIRED   CURRENT   READY   UP-TO-DATE   AVAILABLE   NODE SELECTOR   AGE
fluentd   &lt;span class=&quot;token number&quot;&gt;3&lt;/span&gt;         &lt;span class=&quot;token number&quot;&gt;3&lt;/span&gt;         &lt;span class=&quot;token number&quot;&gt;3&lt;/span&gt;       &lt;span class=&quot;token number&quot;&gt;3&lt;/span&gt;            &lt;span class=&quot;token number&quot;&gt;3&lt;/span&gt;           &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;none&lt;span class=&quot;token operator&quot;&gt;&amp;gt;&lt;/span&gt;          64s
&lt;/pre&gt;&lt;br&gt;
&lt;p&gt;&lt;strong&gt;&amp;#xD30C;&amp;#xB4DC; &amp;#xBAA9;&amp;#xB85D; &amp;#xC870;&amp;#xD68C;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&amp;#xB370;&amp;#xBAAC;&amp;#xC14B;&amp;#xC740; &amp;#xD2B9;&amp;#xC815; &amp;#xC870;&amp;#xAC74;&amp;#xC5D0; &amp;#xB9DE;&amp;#xB294; &amp;#xB178;&amp;#xB4DC;&amp;#xC5D0; &amp;#xC124;&amp;#xCE58;&amp;#xB418;&amp;#xB294; &amp;#xD30C;&amp;#xB4DC;&amp;#xC774;&amp;#xAE30; &amp;#xB54C;&amp;#xBB38;&amp;#xC5D0; &amp;#xD30C;&amp;#xB4DC; &amp;#xBAA9;&amp;#xB85D; &amp;#xC870;&amp;#xD68C;&amp;#xB97C; &amp;#xC774;&amp;#xC6A9;&amp;#xD558;&amp;#xC5EC; &amp;#xC870;&amp;#xD68C;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xD30C;&amp;#xB4DC; &amp;#xC804;&amp;#xCCB4; &amp;#xBAA9;&amp;#xB85D;&amp;#xC744; &amp;#xC870;&amp;#xD68C;&amp;#xD574;&amp;#xBCF4;&amp;#xBA74; &amp;#xB370;&amp;#xBAAC;&amp;#xC14B;&amp;#xC774; &amp;#xC870;&amp;#xD68C;&amp;#xB418;&amp;#xB294; &amp;#xAC83;&amp;#xC744; &amp;#xD655;&amp;#xC778;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;kubectl get pods -o wide
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;NAME            READY   STATUS    RESTARTS   AGE   IP           NODE           NOMINATED NODE   READINESS GATES
fluentd-dn4sc   &lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;/1     Running   &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;          98s   &lt;span class=&quot;token number&quot;&gt;10.244&lt;/span&gt;.5.2   kind-worker    &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;none&lt;span class=&quot;token operator&quot;&gt;&amp;gt;&lt;/span&gt;           &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;none&lt;span class=&quot;token operator&quot;&gt;&amp;gt;&lt;/span&gt;
fluentd-wwf8k   &lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;/1     Running   &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;          98s   &lt;span class=&quot;token number&quot;&gt;10.244&lt;/span&gt;.3.2   kind-worker3   &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;none&lt;span class=&quot;token operator&quot;&gt;&amp;gt;&lt;/span&gt;           &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;none&lt;span class=&quot;token operator&quot;&gt;&amp;gt;&lt;/span&gt;
fluentd-xh69t   &lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;/1     Running   &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;          98s   &lt;span class=&quot;token number&quot;&gt;10.244&lt;/span&gt;.4.2   kind-worker2   &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;none&lt;span class=&quot;token operator&quot;&gt;&amp;gt;&lt;/span&gt;           &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;none&lt;span class=&quot;token operator&quot;&gt;&amp;gt;&lt;/span&gt;
kuard-fk5dg     &lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;/1     Running   &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;          5s    &lt;span class=&quot;token number&quot;&gt;10.244&lt;/span&gt;.3.3   kind-worker3   &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;none&lt;span class=&quot;token operator&quot;&gt;&amp;gt;&lt;/span&gt;           &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;none&lt;span class=&quot;token operator&quot;&gt;&amp;gt;&lt;/span&gt;
kuard-w7qxr     &lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;/1     Running   &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;          5s    &lt;span class=&quot;token number&quot;&gt;10.244&lt;/span&gt;.5.3   kind-worker    &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;none&lt;span class=&quot;token operator&quot;&gt;&amp;gt;&lt;/span&gt;           &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;none&lt;span class=&quot;token operator&quot;&gt;&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;br&gt;
&lt;p&gt;&amp;#xB77C;&amp;#xBCA8;&amp;#xC744; &amp;#xC774;&amp;#xC6A9;&amp;#xD558;&amp;#xC5EC; app&amp;#xC774; fluentd&amp;#xC778; &amp;#xD30C;&amp;#xB4DC;&amp;#xB9CC; &amp;#xC870;&amp;#xD68C;&amp;#xD558;&amp;#xBA74; &amp;#xC544;&amp;#xB798;&amp;#xC640; &amp;#xAC19;&amp;#xC774; fluentd &amp;#xD30C;&amp;#xB4DC;&amp;#xB9CC; &amp;#xC870;&amp;#xD68C;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;kubectl get pods -o wide -l &lt;span class=&quot;token assign-left variable&quot;&gt;app&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;fluentd
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;NAME            READY   STATUS    RESTARTS   AGE     IP           NODE           NOMINATED NODE   READINESS GATES
fluentd-dn4sc   &lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;/1     Running   &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;          2m12s   &lt;span class=&quot;token number&quot;&gt;10.244&lt;/span&gt;.5.2   kind-worker    &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;none&lt;span class=&quot;token operator&quot;&gt;&amp;gt;&lt;/span&gt;           &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;none&lt;span class=&quot;token operator&quot;&gt;&amp;gt;&lt;/span&gt;
fluentd-wwf8k   &lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;/1     Running   &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;          2m12s   &lt;span class=&quot;token number&quot;&gt;10.244&lt;/span&gt;.3.2   kind-worker3   &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;none&lt;span class=&quot;token operator&quot;&gt;&amp;gt;&lt;/span&gt;           &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;none&lt;span class=&quot;token operator&quot;&gt;&amp;gt;&lt;/span&gt;
fluentd-xh69t   &lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;/1     Running   &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;          2m12s   &lt;span class=&quot;token number&quot;&gt;10.244&lt;/span&gt;.4.2   kind-worker2   &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;none&lt;span class=&quot;token operator&quot;&gt;&amp;gt;&lt;/span&gt;           &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;none&lt;span class=&quot;token operator&quot;&gt;&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;br&gt;
&lt;p&gt;&lt;strong&gt;fluentd &amp;#xB370;&amp;#xBAAC;&amp;#xC14B;&amp;#xC5D0; &amp;#xB300;&amp;#xD55C; &amp;#xD604;&amp;#xC7AC;&amp;#xC0C1;&amp;#xD0DC; &amp;#xC870;&amp;#xD68C;&lt;/strong&gt;&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;kubectl describe daemonset fluentd
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;Name:           fluentd
Selector:       &lt;span class=&quot;token assign-left variable&quot;&gt;app&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;fluentd
Node-Selector:  &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;none&lt;span class=&quot;token operator&quot;&gt;&amp;gt;&lt;/span&gt;
Labels:         &lt;span class=&quot;token assign-left variable&quot;&gt;app&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;fluentd
Annotations:    deprecated.daemonset.template.generation: &lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;
Desired Number of Nodes Scheduled: &lt;span class=&quot;token number&quot;&gt;3&lt;/span&gt;
Current Number of Nodes Scheduled: &lt;span class=&quot;token number&quot;&gt;3&lt;/span&gt;
Number of Nodes Scheduled with Up-to-date Pods: &lt;span class=&quot;token number&quot;&gt;3&lt;/span&gt;
Number of Nodes Scheduled with Available Pods: &lt;span class=&quot;token number&quot;&gt;3&lt;/span&gt;
Number of Nodes Misscheduled: &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;
Pods Status:  &lt;span class=&quot;token number&quot;&gt;3&lt;/span&gt; Running / &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt; Waiting / &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt; Succeeded / &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt; Failed
Pod Template:
  Labels:  &lt;span class=&quot;token assign-left variable&quot;&gt;app&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;fluentd
  Containers:
   fluentd:
    Image:      fluent/fluentd:v0.14.10
    Port:       &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;none&lt;span class=&quot;token operator&quot;&gt;&amp;gt;&lt;/span&gt;
    Host Port:  &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;none&lt;span class=&quot;token operator&quot;&gt;&amp;gt;&lt;/span&gt;
    Limits:
      memory:  200Mi
    Requests:
      cpu:        100m
      memory:     200Mi
    Environment:  &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;none&lt;span class=&quot;token operator&quot;&gt;&amp;gt;&lt;/span&gt;
    Mounts:
      /var/lib/docker/containers from varlibdockercontainers &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;ro&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
      /var/log from varlog &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;rw&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
  Volumes:
   varlog:
    Type:          HostPath &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;bare &lt;span class=&quot;token function&quot;&gt;host&lt;/span&gt; directory volume&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
    Path:          /var/log
    HostPathType:
   varlibdockercontainers:
    Type:          HostPath &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;bare &lt;span class=&quot;token function&quot;&gt;host&lt;/span&gt; directory volume&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
    Path:          /var/lib/docker/containers
    HostPathType:
Events:
  Type    Reason            Age    From                  Message
  ----    ------            ----   ----                  -------
  Normal  SuccessfulCreate  2m28s  daemonset-controller  Created pod: fluentd-wwf8k
  Normal  SuccessfulCreate  2m28s  daemonset-controller  Created pod: fluentd-xh69t
  Normal  SuccessfulCreate  2m28s  daemonset-controller  Created pod: fluentd-dn4sc
&lt;/pre&gt;&lt;br&gt;
&lt;p&gt;&lt;strong&gt;&amp;#xB370;&amp;#xBAAC;&amp;#xC14B; &amp;#xC0AD;&amp;#xC81C;&lt;/strong&gt;&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;kubectl delete -f fluentd.yml
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;daemonset.apps &lt;span class=&quot;token string&quot;&gt;&amp;quot;fluentd&amp;quot;&lt;/span&gt; deleted
&lt;/pre&gt;&lt;br&gt;
&lt;h3 class=&quot;mume-header&quot; id=&quot;div-ida02-222-%ED%8A%B9%EC%A0%95-%EB%85%B8%EB%93%9C%EC%97%90%EB%A7%8C-%EB%8D%B0%EB%AA%AC%EC%85%8B-%EC%83%9D%EC%84%B1div&quot;&gt;&lt;div id=&quot;a02-2&quot;&gt;2.2. &amp;#xD2B9;&amp;#xC815; &amp;#xB178;&amp;#xB4DC;&amp;#xC5D0;&amp;#xB9CC; &amp;#xB370;&amp;#xBAAC;&amp;#xC14B; &amp;#xC0DD;&amp;#xC131;&lt;/div&gt;&lt;/h3&gt;

&lt;p&gt;&amp;#xD2B9;&amp;#xC815; &amp;#xB178;&amp;#xB4DC;&amp;#xC5D0;&amp;#xB9CC; &amp;#xB370;&amp;#xBAAC;&amp;#xC14B;&amp;#xC744; &amp;#xC2E4;&amp;#xD589;&amp;#xD558;&amp;#xACE0; &amp;#xC2F6;&amp;#xB2E4;&amp;#xBA74;, &amp;#xB77C;&amp;#xBCA8;&amp;#xC744; &amp;#xD65C;&amp;#xC6A9;&amp;#xD558;&amp;#xBA74; &amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xB370;&amp;#xBAAC;&amp;#xC14B;&amp;#xC744; &amp;#xC2E4;&amp;#xD589;&amp;#xD558;&amp;#xACE0;&amp;#xC790;&amp;#xD558;&amp;#xB294; &amp;#xB178;&amp;#xB4DC;&amp;#xC5D0; &amp;#xB77C;&amp;#xBCA8;&amp;#xC744; &amp;#xC124;&amp;#xC815;&amp;#xD55C; &amp;#xD6C4;, &amp;#xD2B9;&amp;#xC815; &amp;#xB77C;&amp;#xBCA8;&amp;#xC774; &amp;#xC788;&amp;#xB294; &amp;#xB178;&amp;#xB4DC;&amp;#xC5D0;&amp;#xAC8C;&amp;#xB9CC; &amp;#xB370;&amp;#xBAAC;&amp;#xC14B;&amp;#xC774; &amp;#xC0DD;&amp;#xC131;&amp;#xB418;&amp;#xB3C4;&amp;#xB85D; &amp;#xC81C;&amp;#xD55C;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xAE30;&amp;#xC874;&amp;#xC5D0; &amp;#xC0DD;&amp;#xC131;&amp;#xD588;&amp;#xB358; kind &amp;#xD074;&amp;#xB7EC;&amp;#xC2A4;&amp;#xD130; &amp;#xB178;&amp;#xB4DC;&amp;#xC5D0;&amp;#xB294; &amp;#xC544;&amp;#xB798;&amp;#xC640; &amp;#xAC19;&amp;#xC774; 2&amp;#xAC1C;&amp;#xC758; worker&amp;#xB178;&amp;#xB4DC;&amp;#xC5D0; &lt;code&gt;tier: backend&lt;/code&gt; &amp;#xB77C;&amp;#xBCA8;&amp;#xC774; &amp;#xC124;&amp;#xC815;&amp;#xB418;&amp;#xC5B4;&amp;#xC788;&amp;#xC5C8;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;ul&gt;
&lt;li&gt;-l, --selector: &amp;#xD2B9;&amp;#xC815; &amp;#xB77C;&amp;#xBCA8; &amp;#xD544;&amp;#xD130;&amp;#xB9C1;&amp;#xC744; &amp;#xC704;&amp;#xD55C; &amp;#xC635;&amp;#xC158;&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;kubectl get nodes -l &lt;span class=&quot;token assign-left variable&quot;&gt;tier&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;backend
NAME           STATUS   ROLES    AGE     VERSION
kind-worker    Ready    &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;none&lt;span class=&quot;token operator&quot;&gt;&amp;gt;&lt;/span&gt;   5m45s   v1.27.3
kind-worker2   Ready    &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;none&lt;span class=&quot;token operator&quot;&gt;&amp;gt;&lt;/span&gt;   5m45s   v1.27.3
&lt;/pre&gt;&lt;br&gt;
&lt;p&gt;&amp;#xC774;&amp;#xC804;&amp;#xC5D0; &amp;#xC0DD;&amp;#xC131;&amp;#xD588;&amp;#xB358; &amp;#xB370;&amp;#xBAAC;&amp;#xC14B;&amp;#xC744; &amp;#xC0AD;&amp;#xC81C;&amp;#xD55C; &amp;#xD6C4;, &amp;#xD544;&amp;#xD130;&amp;#xB9C1;&amp;#xC5D0; &amp;#xD65C;&amp;#xC6A9;&amp;#xD560; label&amp;#xC744; nodeSelector&amp;#xC5D0; &amp;#xC124;&amp;#xC815;&amp;#xD574;&amp;#xBD05;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;yml{.line-numbers, highlight=[7,17,19-20]}&quot; class=&quot;language-yaml line-numbers&quot; data-line=&quot;7,17,19-20&quot;&gt;&lt;span class=&quot;token key atrule&quot;&gt;apiVersion&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; apps/v1
&lt;span class=&quot;token key atrule&quot;&gt;kind&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; DaemonSet
&lt;span class=&quot;token key atrule&quot;&gt;metadata&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
  &lt;span class=&quot;token key atrule&quot;&gt;name&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; fluentd
  &lt;span class=&quot;token key atrule&quot;&gt;labels&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
    &lt;span class=&quot;token key atrule&quot;&gt;app&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; fluentd
    &lt;span class=&quot;token key atrule&quot;&gt;tier&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; backend
&lt;span class=&quot;token key atrule&quot;&gt;spec&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
  &lt;span class=&quot;token key atrule&quot;&gt;selector&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
    &lt;span class=&quot;token key atrule&quot;&gt;matchLabels&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
      &lt;span class=&quot;token key atrule&quot;&gt;app&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; fluentd
      &lt;span class=&quot;token key atrule&quot;&gt;tier&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; backend
  &lt;span class=&quot;token key atrule&quot;&gt;template&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
    &lt;span class=&quot;token key atrule&quot;&gt;metadata&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
      &lt;span class=&quot;token key atrule&quot;&gt;labels&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
        &lt;span class=&quot;token key atrule&quot;&gt;app&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; fluentd
        &lt;span class=&quot;token key atrule&quot;&gt;tier&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; backend
    &lt;span class=&quot;token key atrule&quot;&gt;spec&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
      &lt;span class=&quot;token key atrule&quot;&gt;nodeSelector&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
        &lt;span class=&quot;token key atrule&quot;&gt;tier&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; backend
      &lt;span class=&quot;token key atrule&quot;&gt;containers&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
      &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;token key atrule&quot;&gt;name&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; fluentd
        &lt;span class=&quot;token key atrule&quot;&gt;image&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; fluent/fluentd&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;v0.14.10
        &lt;span class=&quot;token key atrule&quot;&gt;resources&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
          &lt;span class=&quot;token key atrule&quot;&gt;limits&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
            &lt;span class=&quot;token key atrule&quot;&gt;memory&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; 200Mi
          &lt;span class=&quot;token key atrule&quot;&gt;requests&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
            &lt;span class=&quot;token key atrule&quot;&gt;cpu&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; 100m
            &lt;span class=&quot;token key atrule&quot;&gt;memory&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; 200Mi
        &lt;span class=&quot;token key atrule&quot;&gt;volumeMounts&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;token key atrule&quot;&gt;name&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; varlog
          &lt;span class=&quot;token key atrule&quot;&gt;mountPath&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; /var/log
        &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;token key atrule&quot;&gt;name&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; varlibdockercontainers
          &lt;span class=&quot;token key atrule&quot;&gt;mountPath&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; /var/lib/docker/containers
          &lt;span class=&quot;token key atrule&quot;&gt;readOnly&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token boolean important&quot;&gt;true&lt;/span&gt;
      &lt;span class=&quot;token key atrule&quot;&gt;terminationGracePeriodSeconds&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;30&lt;/span&gt;
      &lt;span class=&quot;token key atrule&quot;&gt;volumes&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
      &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;token key atrule&quot;&gt;name&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; varlog
        &lt;span class=&quot;token key atrule&quot;&gt;hostPath&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
          &lt;span class=&quot;token key atrule&quot;&gt;path&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; /var/log
      &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;token key atrule&quot;&gt;name&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; varlibdockercontainers
        &lt;span class=&quot;token key atrule&quot;&gt;hostPath&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
          &lt;span class=&quot;token key atrule&quot;&gt;path&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; /var/lib/docker/containers
&lt;span aria-hidden=&quot;true&quot; class=&quot;line-numbers-rows&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class=&quot;line-highlight-wrapper&quot;&gt;





&lt;div aria-hidden=&quot;true&quot; class=&quot;line-highlight&quot; data-range=&quot;7&quot; data-start=&quot;7&quot;&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;line-highlight-wrapper&quot;&gt;















&lt;div aria-hidden=&quot;true&quot; class=&quot;line-highlight&quot; data-range=&quot;17&quot; data-start=&quot;17&quot;&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;line-highlight-wrapper&quot;&gt;

















&lt;div aria-hidden=&quot;true&quot; class=&quot;line-highlight&quot; data-range=&quot;19-20&quot; data-start=&quot;19&quot; data-end=&quot;20&quot;&gt;

&lt;/div&gt;&lt;/div&gt;&lt;/pre&gt;&lt;blockquote&gt;
&lt;p&gt;fluentd-2.yml&lt;/p&gt;
&lt;/blockquote&gt;
&lt;br&gt;
&lt;p&gt;&amp;#xADF8;&amp;#xB9AC;&amp;#xACE0;, &amp;#xC704;&amp;#xC758; &amp;#xB370;&amp;#xBAAC;&amp;#xC14B; &amp;#xAD6C;&amp;#xC131;&amp;#xD30C;&amp;#xC77C;&amp;#xC744; &amp;#xC774;&amp;#xC6A9;&amp;#xD558;&amp;#xC5EC; &amp;#xB370;&amp;#xBAAC;&amp;#xC14B;&amp;#xC744; &amp;#xC0DD;&amp;#xC131;&amp;#xD574;&amp;#xBD05;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;kubectl apply -f fluentd.yml
&lt;/pre&gt;&lt;br&gt;
&lt;p&gt;&amp;#xADF8;&amp;#xB7EC;&amp;#xBA74;, 2&amp;#xAC1C;&amp;#xC758; worker&amp;#xB178;&amp;#xB4DC;&amp;#xC5D0;&amp;#xB9CC; fluentd &amp;#xD30C;&amp;#xB4DC;&amp;#xAC00; &amp;#xC124;&amp;#xCE58;&amp;#xB41C; &amp;#xAC83;&amp;#xC744; &amp;#xD655;&amp;#xC778;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;kubectl get pods -o wide -l &lt;span class=&quot;token assign-left variable&quot;&gt;app&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;fluentd
NAME            READY   STATUS    RESTARTS   AGE   IP           NODE           NOMINATED NODE   READINESS GATES
fluentd-5nzhm   &lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;/1     Running   &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;          20s   &lt;span class=&quot;token number&quot;&gt;10.244&lt;/span&gt;.3.6   kind-worker    &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;none&lt;span class=&quot;token operator&quot;&gt;&amp;gt;&lt;/span&gt;           &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;none&lt;span class=&quot;token operator&quot;&gt;&amp;gt;&lt;/span&gt;
fluentd-sfgdz   &lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;/1     Running   &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;          20s   &lt;span class=&quot;token number&quot;&gt;10.244&lt;/span&gt;.4.5   kind-worker2   &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;none&lt;span class=&quot;token operator&quot;&gt;&amp;gt;&lt;/span&gt;           &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;none&lt;span class=&quot;token operator&quot;&gt;&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;hr&gt;
&lt;h2 class=&quot;mume-header&quot; id=&quot;div-ida033-%EB%8D%B0%EB%AA%AC%EC%85%8B-%EC%97%85%EB%8D%B0%EC%9D%B4%ED%8A%B8div&quot;&gt;&lt;div id=&quot;a03&quot;&gt;3. &amp;#xB370;&amp;#xBAAC;&amp;#xC14B; &amp;#xC5C5;&amp;#xB370;&amp;#xC774;&amp;#xD2B8;&lt;/div&gt;&lt;/h2&gt;

&lt;p&gt;&amp;#xB370;&amp;#xBAAC;&amp;#xC14B;&amp;#xC740; &amp;#xC804;&amp;#xCCB4; &amp;#xD074;&amp;#xB7EC;&amp;#xC2A4;&amp;#xD130;&amp;#xC5D0; &amp;#xC11C;&amp;#xBE44;&amp;#xC2A4;&amp;#xB97C; &amp;#xBC30;&amp;#xD3EC;&amp;#xD558;&amp;#xACE0;&amp;#xC790;&amp;#xD560; &amp;#xB54C; &amp;#xC720;&amp;#xC6A9;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xCFE0;&amp;#xBC84;&amp;#xB124;&amp;#xD2F0;&amp;#xC2A4; 1.6 &amp;#xBC84;&amp;#xC804; &amp;#xC774;&amp;#xC804;&amp;#xC5D0;&amp;#xB294;, &amp;#xB370;&amp;#xBAAC;&amp;#xC14B;&amp;#xC744; &amp;#xC5C5;&amp;#xB370;&amp;#xC774;&amp;#xD2B8;&amp;#xD558;&amp;#xACE0;&amp;#xC790; &amp;#xD560;&amp;#xB54C;, &amp;#xB370;&amp;#xBAAC;&amp;#xC14B;&amp;#xC774; &amp;#xAD00;&amp;#xB9AC;&amp;#xD558;&amp;#xB294; &amp;#xAC01; &amp;#xD30C;&amp;#xB4DC;&amp;#xB4E4;&amp;#xC744; &amp;#xC218;&amp;#xB3D9;&amp;#xC73C;&amp;#xB85C; &amp;#xC0AD;&amp;#xC81C;&amp;#xD55C; &amp;#xD6C4;, &amp;#xC218;&amp;#xC815;&amp;#xD55C; &amp;#xB370;&amp;#xBAAC;&amp;#xC14B; &amp;#xAD6C;&amp;#xC131;&amp;#xD30C;&amp;#xC77C;&amp;#xC744; &amp;#xC774;&amp;#xC6A9;&amp;#xD558;&amp;#xC5EC; &amp;#xC0C8;&amp;#xB85C; &amp;#xD30C;&amp;#xB4DC;&amp;#xB97C; &amp;#xC0DD;&amp;#xC131;&amp;#xD558;&amp;#xB294; &amp;#xAC83;&amp;#xC774; &amp;#xC720;&amp;#xC77C;&amp;#xD55C; &amp;#xBC29;&amp;#xBC95;&amp;#xC774;&amp;#xC5C8;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xCFE0;&amp;#xBC84;&amp;#xB124;&amp;#xD2F0;&amp;#xC2A4; 1.6 &amp;#xC774;&amp;#xD6C4; &amp;#xBC84;&amp;#xC804;&amp;#xBD80;&amp;#xD130;&amp;#xB294;, &amp;#xD074;&amp;#xB7EC;&amp;#xC2A4;&amp;#xD130; &amp;#xB0B4;&amp;#xC5D0;&amp;#xC11C; &amp;#xB808;&amp;#xD50C;&amp;#xB9AC;&amp;#xCE74;&amp;#xC14B; &amp;#xB864;&amp;#xC544;&amp;#xC6C3; &amp;#xAD00;&amp;#xB9AC;&amp;#xB97C; &amp;#xD558;&amp;#xB294; &amp;#xB514;&amp;#xD50C;&amp;#xB85C;&amp;#xC774;&amp;#xBA3C;&amp;#xD2B8; &amp;#xAC1D;&amp;#xCCB4;&amp;#xC640; &amp;#xB3D9;&amp;#xC77C;&amp;#xD55C; &amp;#xAE30;&amp;#xB2A5;&amp;#xC774; &amp;#xC0DD;&amp;#xACBC;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xB864;&amp;#xB9C1; &amp;#xC5C5;&amp;#xB370;&amp;#xC774;&amp;#xD2B8; &amp;#xC804;&amp;#xB7B5;&amp;#xC744; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD558;&amp;#xBA74; &amp;#xB370;&amp;#xBAAC;&amp;#xC14B;&amp;#xC5D0; &amp;#xB300;&amp;#xD55C; &amp;#xB864;&amp;#xC544;&amp;#xC6C3;&amp;#xC744; &amp;#xC218;&amp;#xD589;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;&lt;br&gt;
&lt;br&gt;&lt;/p&gt;
&lt;p&gt;&amp;#xB370;&amp;#xBAAC;&amp;#xC14B;&amp;#xC758; &amp;#xB864;&amp;#xC544;&amp;#xC6C3; &amp;#xC815;&amp;#xCC45;&amp;#xC740; spec &amp;#xD558;&amp;#xC704;&amp;#xC5D0; &amp;#xC815;&amp;#xC758;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;minReadySeconds
&lt;ul&gt;
&lt;li&gt;&amp;#xB864;&amp;#xB9C1;&amp;#xC5C5;&amp;#xB370;&amp;#xC774;&amp;#xD2B8;&amp;#xAC00; &amp;#xB2E4;&amp;#xC74C; &amp;#xD30C;&amp;#xB4DC;&amp;#xC758; &amp;#xC5C5;&amp;#xADF8;&amp;#xB808;&amp;#xC774;&amp;#xB4DC; &amp;#xC804;&amp;#xC5D0; &amp;#xD30C;&amp;#xB4DC;&amp;#xB97C; &amp;#xC900;&amp;#xBE44;&amp;#xC0C1;&amp;#xD0DC;&amp;#xB85C; &amp;#xB450;&amp;#xB294; &amp;#xC2DC;&amp;#xAC04;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;updateStrategy.rollingUpdate.maxUnavailable
&lt;ul&gt;
&lt;li&gt;&amp;#xB3D9;&amp;#xC2DC;&amp;#xC5D0; &amp;#xB864;&amp;#xB9C1;&amp;#xC5C5;&amp;#xB370;&amp;#xC774;&amp;#xD2B8;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xB294; &amp;#xCD5C;&amp;#xB300; &amp;#xD30C;&amp;#xB4DC; &amp;#xC218;&lt;/li&gt;
&lt;li&gt;&amp;#xC18D;&amp;#xB3C4;&amp;#xB294; &amp;#xB290;&amp;#xB9AC;&amp;#xACA0;&amp;#xC9C0;&amp;#xB9CC;, &amp;#xC548;&amp;#xC804;&amp;#xD55C; &amp;#xC11C;&amp;#xBE44;&amp;#xC2A4; &amp;#xBC30;&amp;#xD3EC;&amp;#xB97C; &amp;#xC704;&amp;#xD574;&amp;#xC11C;&amp;#xB294; 1&amp;#xB85C; &amp;#xC124;&amp;#xC815;&amp;#xD558;&amp;#xB294; &amp;#xAC83;&amp;#xC774; &amp;#xC88B;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;br&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;yml{.line-numbers, highlight=[13-17,28]}&quot; class=&quot;language-yaml line-numbers&quot; data-line=&quot;13-17,28&quot;&gt;&lt;span class=&quot;token key atrule&quot;&gt;apiVersion&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; apps/v1
&lt;span class=&quot;token key atrule&quot;&gt;kind&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; DaemonSet
&lt;span class=&quot;token key atrule&quot;&gt;metadata&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
  &lt;span class=&quot;token key atrule&quot;&gt;name&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; fluentd
  &lt;span class=&quot;token key atrule&quot;&gt;labels&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
    &lt;span class=&quot;token key atrule&quot;&gt;app&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; fluentd
    &lt;span class=&quot;token key atrule&quot;&gt;tier&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; backend
&lt;span class=&quot;token key atrule&quot;&gt;spec&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
  &lt;span class=&quot;token key atrule&quot;&gt;selector&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
    &lt;span class=&quot;token key atrule&quot;&gt;matchLabels&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
      &lt;span class=&quot;token key atrule&quot;&gt;app&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; fluentd
      &lt;span class=&quot;token key atrule&quot;&gt;tier&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; backend
  &lt;span class=&quot;token key atrule&quot;&gt;minReadySeconds&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;10&lt;/span&gt;
  &lt;span class=&quot;token key atrule&quot;&gt;updateStrategy&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
    &lt;span class=&quot;token key atrule&quot;&gt;type&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; RollingUpdate
    &lt;span class=&quot;token key atrule&quot;&gt;rollingUpdate&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
      &lt;span class=&quot;token key atrule&quot;&gt;maxUnavailable&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;
  &lt;span class=&quot;token key atrule&quot;&gt;template&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
    &lt;span class=&quot;token key atrule&quot;&gt;metadata&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
      &lt;span class=&quot;token key atrule&quot;&gt;labels&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
        &lt;span class=&quot;token key atrule&quot;&gt;app&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; fluentd
        &lt;span class=&quot;token key atrule&quot;&gt;tier&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; backend
    &lt;span class=&quot;token key atrule&quot;&gt;spec&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
      &lt;span class=&quot;token key atrule&quot;&gt;nodeSelector&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
        &lt;span class=&quot;token key atrule&quot;&gt;tier&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; backend
      &lt;span class=&quot;token key atrule&quot;&gt;containers&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
      &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;token key atrule&quot;&gt;name&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; fluent
        &lt;span class=&quot;token key atrule&quot;&gt;image&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; fluent/fluentd&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;v0.14.10
        &lt;span class=&quot;token key atrule&quot;&gt;resources&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
          &lt;span class=&quot;token key atrule&quot;&gt;limits&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
            &lt;span class=&quot;token key atrule&quot;&gt;memory&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; 200Mi
          &lt;span class=&quot;token key atrule&quot;&gt;requests&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
            &lt;span class=&quot;token key atrule&quot;&gt;cpu&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; 100m
            &lt;span class=&quot;token key atrule&quot;&gt;memory&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; 200Mi
        &lt;span class=&quot;token key atrule&quot;&gt;volumeMounts&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;token key atrule&quot;&gt;name&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; varlog
          &lt;span class=&quot;token key atrule&quot;&gt;mountPath&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; /var/log
        &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;token key atrule&quot;&gt;name&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; varlibdockercontainers
          &lt;span class=&quot;token key atrule&quot;&gt;mountPath&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; /var/lib/docker/containers
          &lt;span class=&quot;token key atrule&quot;&gt;readOnly&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token boolean important&quot;&gt;true&lt;/span&gt;
      &lt;span class=&quot;token key atrule&quot;&gt;terminationGracePeriodSeconds&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;30&lt;/span&gt;
      &lt;span class=&quot;token key atrule&quot;&gt;volumes&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
      &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;token key atrule&quot;&gt;name&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; varlog
        &lt;span class=&quot;token key atrule&quot;&gt;hostPath&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
          &lt;span class=&quot;token key atrule&quot;&gt;path&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; /var/log
      &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;token key atrule&quot;&gt;name&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; varlibdockercontainers
        &lt;span class=&quot;token key atrule&quot;&gt;hostPath&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
          &lt;span class=&quot;token key atrule&quot;&gt;path&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; /var/lib/docker/containers
&lt;span aria-hidden=&quot;true&quot; class=&quot;line-numbers-rows&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class=&quot;line-highlight-wrapper&quot;&gt;











&lt;div aria-hidden=&quot;true&quot; class=&quot;line-highlight&quot; data-range=&quot;13-17&quot; data-start=&quot;13&quot; data-end=&quot;17&quot;&gt;




&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;line-highlight-wrapper&quot;&gt;


























&lt;div aria-hidden=&quot;true&quot; class=&quot;line-highlight&quot; data-range=&quot;28&quot; data-start=&quot;28&quot;&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/pre&gt;&lt;blockquote&gt;
&lt;p&gt;fluentd-3.yml&lt;/p&gt;
&lt;/blockquote&gt;
&lt;br&gt;
&lt;p&gt;&amp;#xC774;&amp;#xC804;&amp;#xC5D0; &amp;#xC0DD;&amp;#xC131;&amp;#xD588;&amp;#xB358; &amp;#xB370;&amp;#xBAAC;&amp;#xC14B;&amp;#xC740; &amp;#xB864;&amp;#xC544;&amp;#xC6C3; &amp;#xC815;&amp;#xCC45;&amp;#xC774; &amp;#xC801;&amp;#xC6A9;&amp;#xB418;&amp;#xC5B4;&amp;#xC788;&amp;#xC9C0; &amp;#xC54A;&amp;#xAE30; &amp;#xB54C;&amp;#xBB38;&amp;#xC5D0; &amp;#xC81C;&amp;#xAC70;&amp;#xD6C4; &amp;#xC9C4;&amp;#xD589;&amp;#xD574;&amp;#xC57C;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xC0C8;&amp;#xB85C;, &amp;#xB370;&amp;#xBAAC;&amp;#xC14B;&amp;#xC744; &amp;#xC2E4;&amp;#xD589; &amp;#xD55C;&amp;#xD6C4;,&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;kubectl apply -f fluentd-3.yml
daemonset.apps/fluentd created
&lt;/pre&gt;&lt;br&gt;
&lt;p&gt;&amp;#xD604;&amp;#xC7AC; &amp;#xC124;&amp;#xCE58;&amp;#xB418;&amp;#xC5B4;&amp;#xC788;&amp;#xB294; fluentd &amp;#xBC84;&amp;#xC804;&amp;#xC744; &amp;#xD655;&amp;#xC778;&amp;#xD574;&amp;#xBD05;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;kubectl get pods -o &lt;span class=&quot;token assign-left variable&quot;&gt;jsonpath&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;{.items[*].spec.containers[*].image}&amp;quot;&lt;/span&gt; -l &lt;span class=&quot;token assign-left variable&quot;&gt;app&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;fluentd
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;fluent/fluentd:v0.14.10 fluent/fluentd:v0.14.10%  
&lt;/pre&gt;&lt;br&gt;
&lt;p&gt;fluentd &amp;#xC774;&amp;#xBBF8;&amp;#xC9C0;&amp;#xB97C; &lt;code&gt;fluent/fluentd:v0.14.10&lt;/code&gt; -&amp;gt; &lt;code&gt;fluent/fluentd:v0.14.14&lt;/code&gt;&amp;#xB85C; &amp;#xC5C5;&amp;#xB370;&amp;#xC774;&amp;#xD2B8;&amp;#xD55C; &amp;#xD6C4;, &amp;#xC0C8;&amp;#xB85C; &amp;#xC801;&amp;#xC6A9;&amp;#xD574;&amp;#xBD05;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;kubectl apply -f fluentd-3.yml
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;daemonset.apps/fluentd configured
&lt;/pre&gt;&lt;br&gt;
&lt;p&gt;&amp;#xADF8;&amp;#xB9AC;&amp;#xACE0;, &amp;#xB370;&amp;#xBAAC;&amp;#xC14B;&amp;#xC758; &amp;#xB864;&amp;#xC544;&amp;#xC6C3; &amp;#xC0C1;&amp;#xD0DC;&amp;#xB97C; &amp;#xD655;&amp;#xC778;&amp;#xD574;&amp;#xBD05;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;Waiting &lt;span class=&quot;token keyword keyword-for&quot;&gt;for&lt;/span&gt; daemon &lt;span class=&quot;token builtin class-name&quot;&gt;set&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;fluentd&amp;quot;&lt;/span&gt; rollout to finish: &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt; out of &lt;span class=&quot;token number&quot;&gt;2&lt;/span&gt; new pods have been updated&lt;span class=&quot;token punctuation&quot;&gt;..&lt;/span&gt;.
Waiting &lt;span class=&quot;token keyword keyword-for&quot;&gt;for&lt;/span&gt; daemon &lt;span class=&quot;token builtin class-name&quot;&gt;set&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;fluentd&amp;quot;&lt;/span&gt; rollout to finish: &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt; out of &lt;span class=&quot;token number&quot;&gt;2&lt;/span&gt; new pods have been updated&lt;span class=&quot;token punctuation&quot;&gt;..&lt;/span&gt;.
Waiting &lt;span class=&quot;token keyword keyword-for&quot;&gt;for&lt;/span&gt; daemon &lt;span class=&quot;token builtin class-name&quot;&gt;set&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;fluentd&amp;quot;&lt;/span&gt; rollout to finish: &lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt; out of &lt;span class=&quot;token number&quot;&gt;2&lt;/span&gt; new pods have been updated&lt;span class=&quot;token punctuation&quot;&gt;..&lt;/span&gt;.
Waiting &lt;span class=&quot;token keyword keyword-for&quot;&gt;for&lt;/span&gt; daemon &lt;span class=&quot;token builtin class-name&quot;&gt;set&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;fluentd&amp;quot;&lt;/span&gt; rollout to finish: &lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt; out of &lt;span class=&quot;token number&quot;&gt;2&lt;/span&gt; new pods have been updated&lt;span class=&quot;token punctuation&quot;&gt;..&lt;/span&gt;.
Waiting &lt;span class=&quot;token keyword keyword-for&quot;&gt;for&lt;/span&gt; daemon &lt;span class=&quot;token builtin class-name&quot;&gt;set&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;fluentd&amp;quot;&lt;/span&gt; rollout to finish: &lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt; out of &lt;span class=&quot;token number&quot;&gt;2&lt;/span&gt; new pods have been updated&lt;span class=&quot;token punctuation&quot;&gt;..&lt;/span&gt;.
Waiting &lt;span class=&quot;token keyword keyword-for&quot;&gt;for&lt;/span&gt; daemon &lt;span class=&quot;token builtin class-name&quot;&gt;set&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;fluentd&amp;quot;&lt;/span&gt; rollout to finish: &lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt; out of &lt;span class=&quot;token number&quot;&gt;2&lt;/span&gt; new pods have been updated&lt;span class=&quot;token punctuation&quot;&gt;..&lt;/span&gt;.
Waiting &lt;span class=&quot;token keyword keyword-for&quot;&gt;for&lt;/span&gt; daemon &lt;span class=&quot;token builtin class-name&quot;&gt;set&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;fluentd&amp;quot;&lt;/span&gt; rollout to finish: &lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt; of &lt;span class=&quot;token number&quot;&gt;2&lt;/span&gt; updated pods are available&lt;span class=&quot;token punctuation&quot;&gt;..&lt;/span&gt;.
Waiting &lt;span class=&quot;token keyword keyword-for&quot;&gt;for&lt;/span&gt; daemon &lt;span class=&quot;token builtin class-name&quot;&gt;set&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;fluentd&amp;quot;&lt;/span&gt; rollout to finish: &lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt; of &lt;span class=&quot;token number&quot;&gt;2&lt;/span&gt; updated pods are available&lt;span class=&quot;token punctuation&quot;&gt;..&lt;/span&gt;.
daemon &lt;span class=&quot;token builtin class-name&quot;&gt;set&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;fluentd&amp;quot;&lt;/span&gt; successfully rolled out
&lt;/pre&gt;&lt;br&gt;
&lt;p&gt;&amp;#xB2E4;&amp;#xC2DC; &amp;#xC774;&amp;#xBBF8;&amp;#xC9C0; &amp;#xBC84;&amp;#xC804;&amp;#xC744; &amp;#xC870;&amp;#xD68C;&amp;#xD574;&amp;#xBCF4;&amp;#xBA74; &amp;#xC544;&amp;#xB798;&amp;#xC640; &amp;#xAC19;&amp;#xC774; &amp;#xBC84;&amp;#xC804;&amp;#xC774; &amp;#xC5C5;&amp;#xB370;&amp;#xC774;&amp;#xD2B8; &amp;#xB41C; &amp;#xAC83;&amp;#xC744; &amp;#xD655;&amp;#xC778;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;kubectl get pods -o &lt;span class=&quot;token assign-left variable&quot;&gt;jsonpath&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;{.items[*].spec.containers[*].image}&amp;quot;&lt;/span&gt; -l &lt;span class=&quot;token assign-left variable&quot;&gt;app&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;fluentd
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;fluent/fluentd:v0.14.14 fluent/fluentd:v0.14.14%
&lt;/pre&gt;&lt;hr&gt;
&lt;h2 class=&quot;mume-header&quot; id=&quot;div-ida044-%EB%8D%B0%EB%AA%AC%EC%85%8B-%EC%82%AD%EC%A0%9Cdiv&quot;&gt;&lt;div id=&quot;a04&quot;&gt;4. &amp;#xB370;&amp;#xBAAC;&amp;#xC14B; &amp;#xC0AD;&amp;#xC81C;&lt;/div&gt;&lt;/h2&gt;

&lt;p&gt;&amp;#xAE30;&amp;#xBCF8;&amp;#xC801;&amp;#xC73C;&amp;#xB85C;, &amp;#xB370;&amp;#xBAAC;&amp;#xC14B;&amp;#xACFC; &amp;#xADF8; &amp;#xB370;&amp;#xBAAC;&amp;#xC14B;&amp;#xC774; &amp;#xAD00;&amp;#xB9AC;&amp;#xD558;&amp;#xACE0; &amp;#xC788;&amp;#xB358; &amp;#xD30C;&amp;#xB4DC;&amp;#xB97C; &amp;#xD568;&amp;#xAED8; &amp;#xC0AD;&amp;#xC81C;&amp;#xD558;&amp;#xC9C0;&amp;#xB9CC;,&lt;br&gt;
&lt;strong&gt;--cascade=false&lt;/strong&gt; &amp;#xC124;&amp;#xC815;&amp;#xC744; &amp;#xD558;&amp;#xBA74;, &amp;#xD30C;&amp;#xB4DC;&amp;#xB294; &amp;#xADF8;&amp;#xB300;&amp;#xB85C; &amp;#xB0A8;&amp;#xAE30;&amp;#xACE0; &amp;#xB370;&amp;#xBAAC;&amp;#xC14B;&amp;#xB9CC; &amp;#xC0AD;&amp;#xC81C;&amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;br&gt;
&lt;h3 class=&quot;mume-header&quot; id=&quot;41-%EB%8D%B0%EB%AA%AC%EC%85%8B-%EA%B5%AC%EC%84%B1%ED%8C%8C%EC%9D%BC%EC%9D%84-%EC%9D%B4%EC%9A%A9%ED%95%9C-%EC%82%AD%EC%A0%9C&quot;&gt;4.1. &amp;#xB370;&amp;#xBAAC;&amp;#xC14B; &amp;#xAD6C;&amp;#xC131;&amp;#xD30C;&amp;#xC77C;&amp;#xC744; &amp;#xC774;&amp;#xC6A9;&amp;#xD55C; &amp;#xC0AD;&amp;#xC81C;&lt;/h3&gt;

&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;kubectl delete -f fluentd.yml
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;daemonset.apps &lt;span class=&quot;token string&quot;&gt;&amp;quot;fluentd&amp;quot;&lt;/span&gt; deleted
&lt;/pre&gt;&lt;br&gt;
&lt;h3 class=&quot;mume-header&quot; id=&quot;42-%EB%8D%B0%EB%AA%AC%EC%85%8B-%EC%9D%B4%EB%A6%84%EC%9D%84-%EC%9D%B4%EC%9A%A9%ED%95%9C-%EC%82%AD%EC%A0%9C&quot;&gt;4.2. &amp;#xB370;&amp;#xBAAC;&amp;#xC14B; &amp;#xC774;&amp;#xB984;&amp;#xC744; &amp;#xC774;&amp;#xC6A9;&amp;#xD55C; &amp;#xC0AD;&amp;#xC81C;&lt;/h3&gt;

&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;kubectl delete ds fluentd
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;daemonset.apps &lt;span class=&quot;token string&quot;&gt;&amp;quot;fluentd&amp;quot;&lt;/span&gt; deleted
&lt;/pre&gt;
  &lt;/div&gt;&lt;/div&gt;</description>
      <category>Infrastructure/Kubernetes</category>
      <category>k8s</category>
      <author>jiniya22</author>
      <guid isPermaLink="true">https://jini-box.tistory.com/219</guid>
      <comments>https://jini-box.tistory.com/219#entry219comment</comments>
      <pubDate>Fri, 29 Dec 2023 16:30:48 +0900</pubDate>
    </item>
    <item>
      <title>[Kubernetes 시작하기] 05. 파드</title>
      <link>https://jini-box.tistory.com/218</link>
      <description>&lt;div id=&quot;html-export&quot;&gt;
      &lt;div class=&quot;mume markdown-preview  &quot;&gt;
      &lt;ol&gt;
&lt;li&gt;&amp;#xD30C;&amp;#xB4DC;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;#a01-1&quot;&gt;&amp;#xD30C;&amp;#xB4DC;?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#a01-2&quot;&gt;&amp;#xD30C;&amp;#xB4DC; &amp;#xB9E4;&amp;#xB2C8;&amp;#xD398;&amp;#xC2A4;&amp;#xD2B8;&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;&amp;#xD30C;&amp;#xB4DC;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;#a02-1&quot;&gt;&amp;#xBA85;&amp;#xB839;&amp;#xC5B4;&amp;#xB97C; &amp;#xC774;&amp;#xC6A9;&amp;#xD55C; &amp;#xD30C;&amp;#xB4DC; &amp;#xC0DD;&amp;#xC131;/&amp;#xC0AD;&amp;#xC81C;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#a02-2&quot;&gt;&amp;#xD30C;&amp;#xB4DC; &amp;#xB9E4;&amp;#xB2C8;&amp;#xD398;&amp;#xC2A4;&amp;#xD2B8; &amp;#xC801;&amp;#xC6A9;&amp;#xC744; &amp;#xD1B5;&amp;#xD55C; &amp;#xD30C;&amp;#xB4DC; &amp;#xC2E4;&amp;#xD589;&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;&amp;#xD30C;&amp;#xB4DC;&amp;#xC5D0; &amp;#xC811;&amp;#xADFC;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;#a03-1&quot;&gt;&amp;#xD30C;&amp;#xB4DC; &amp;#xB85C;&amp;#xADF8; &amp;#xCD9C;&amp;#xB825;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#a03-2&quot;&gt;&amp;#xCEE8;&amp;#xD14C;&amp;#xC774;&amp;#xB108;&amp;#xC5D0;&amp;#xC11C; &amp;#xBA85;&amp;#xB839; &amp;#xC2E4;&amp;#xD589;&amp;#xD558;&amp;#xAE30;&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;Probe
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;#a04-1&quot;&gt;&amp;#xD65C;&amp;#xC131; &amp;#xD504;&amp;#xB85C;&amp;#xBE0C;(liveness probe)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#a04-2&quot;&gt;&amp;#xC900;&amp;#xBE44; &amp;#xD504;&amp;#xB85C;&amp;#xBE0C;(readiness probe)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#a04-3&quot;&gt;&amp;#xC2DC;&amp;#xC791; &amp;#xD504;&amp;#xB85C;&amp;#xBE0C; (startup probe)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#a04-4&quot;&gt;&amp;#xC0C1;&amp;#xD0DC; &amp;#xAC80;&amp;#xC0AC;&amp;#xC758; &amp;#xAE30;&amp;#xD0C0; &amp;#xD0C0;&amp;#xC785;&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;hr&gt;
&lt;h2 class=&quot;mume-header&quot; id=&quot;div-ida01-11-%ED%8C%8C%EB%93%9Cdiv&quot;&gt;&lt;div id=&quot;a01-1&quot;&gt;1. &amp;#xD30C;&amp;#xB4DC;&lt;/div&gt;&lt;/h2&gt;

&lt;h3 class=&quot;mume-header&quot; id=&quot;11-%ED%8C%8C%EB%93%9C&quot;&gt;1.1. &amp;#xD30C;&amp;#xB4DC;?&lt;/h3&gt;

&lt;p&gt;&amp;#xCEE8;&amp;#xD14C;&amp;#xC774;&amp;#xB108;&amp;#xD654; &amp;#xB41C; &amp;#xC560;&amp;#xD50C;&amp;#xB9AC;&amp;#xCF00;&amp;#xC774;&amp;#xC158;&amp;#xC744; &amp;#xBC30;&amp;#xD3EC;&amp;#xD558;&amp;#xACE0;&amp;#xC790; &amp;#xD560;&amp;#xB54C;,&lt;br&gt;
&amp;#xC5EC;&amp;#xB7EC; &amp;#xC560;&amp;#xD50C;&amp;#xB9AC;&amp;#xCF00;&amp;#xC774;&amp;#xC158;&amp;#xC744; &amp;#xD55C; &amp;#xBA38;&amp;#xC2E0; &amp;#xC704;&amp;#xC5D0; &amp;#xB2E8;&amp;#xC77C; &amp;#xC6D0;&amp;#xC790; &amp;#xB2E8;&amp;#xC704;(atimic unit)&amp;#xB85C; &amp;#xBC30;&amp;#xD3EC;&amp;#xD558;&amp;#xACE0;&amp;#xC790; &amp;#xD560; &amp;#xAC83;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;&lt;/p&gt;
&lt;p&gt;&amp;#xCFE0;&amp;#xBC84;&amp;#xB124;&amp;#xD2F0;&amp;#xC2A4;&amp;#xC5D0;&amp;#xC11C;&amp;#xB294;, &amp;#xC774; &amp;#xB2E8;&amp;#xC77C; &amp;#xC6D0;&amp;#xC790; &amp;#xB2E8;&amp;#xC704;&amp;#xB97C; Pod(&amp;#xD30C;&amp;#xB4DC;)&amp;#xB77C;&amp;#xACE0; &amp;#xBD80;&amp;#xB985;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xC5B4;&amp;#xB5A4; &amp;#xC560;&amp;#xD50C;&amp;#xB9AC;&amp;#xCF00;&amp;#xC774;&amp;#xC158;&amp;#xC744; &amp;#xC11C;&amp;#xBE44;&amp;#xC2A4;&amp;#xD558;&amp;#xAE30; &amp;#xC704;&amp;#xD574; &lt;em&gt;&amp;#xC6F9;&amp;#xC11C;&amp;#xBC84;&lt;/em&gt; &amp;#xC640; &lt;em&gt;Git &amp;#xB3D9;&amp;#xAE30;&amp;#xD654; &amp;#xC11C;&amp;#xBC84;&lt;/em&gt; &amp;#xAC00; &amp;#xD544;&amp;#xC694;&amp;#xD558;&amp;#xACE0;, &amp;#xADF8; &amp;#xB450; &amp;#xC11C;&amp;#xBC84;&amp;#xB294; _&amp;#xACF5;&amp;#xD1B5; &amp;#xD30C;&amp;#xC77C; &amp;#xB9AC;&amp;#xC18C;&amp;#xC2A4;_&amp;#xB97C; &amp;#xC774;&amp;#xC6A9;&amp;#xD558;&amp;#xACE0; &amp;#xC788;&amp;#xB2E4;&amp;#xACE0; &amp;#xD560;&amp;#xB54C;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&amp;#xC6F9;&amp;#xC11C;&amp;#xBC84;&amp;#xC640; Git&amp;#xB3D9;&amp;#xAE30;&amp;#xD654; &amp;#xC11C;&amp;#xBC84;&amp;#xB294; &amp;#xAC01;&amp;#xAC01; &amp;#xBCC4;&amp;#xB3C4;&amp;#xC758; &amp;#xCEE8;&amp;#xD14C;&amp;#xC774;&amp;#xB108;&amp;#xC5D0; &amp;#xB2F4;&amp;#xB294;&amp;#xB2E4;&lt;/li&gt;
&lt;li&gt;&amp;#xC704;&amp;#xC758; &amp;#xB450; &amp;#xCEE8;&amp;#xD14C;&amp;#xC774;&amp;#xB108;&amp;#xB294; Volume(&amp;#xACF5;&amp;#xD1B5; &amp;#xD30C;&amp;#xC77C; &amp;#xB9AC;&amp;#xC18C;&amp;#xC2A4; &amp;#xC11C;&amp;#xBC84;)&amp;#xC5D0; &amp;#xC811;&amp;#xADFC;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xB2E4;&lt;/li&gt;
&lt;li&gt;&amp;#xB450; &amp;#xC11C;&amp;#xBC84;&amp;#xB294; &amp;#xD558;&amp;#xB098;&amp;#xC758; &amp;#xAE30;&amp;#xB2A5;&amp;#xC744; &amp;#xC704;&amp;#xD55C; &amp;#xC11C;&amp;#xBC84;&amp;#xC774;&amp;#xC790;, &amp;#xACF5;&amp;#xC720; &amp;#xD30C;&amp;#xC77C;&amp;#xC2DC;&amp;#xC2A4;&amp;#xD15C;&amp;#xC744; &amp;#xC774;&amp;#xC6A9;&amp;#xD558;&amp;#xBA70;, &amp;#xC11C;&amp;#xB85C; &amp;#xACF5;&amp;#xC0DD;&amp;#xAD00;&amp;#xACC4;&amp;#xC774;&amp;#xB2E4;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;#xC774;&amp;#xB7F0; &amp;#xB450; &amp;#xCEE8;&amp;#xD14C;&amp;#xC774;&amp;#xB108;&amp;#xB97C; Pod&amp;#xB77C;&amp;#xB294; &amp;#xD558;&amp;#xB098;&amp;#xC758; &amp;#xB2E8;&amp;#xC704;&amp;#xB85C; &amp;#xADF8;&amp;#xB8F9;&amp;#xD654; &amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&lt;br&gt;&lt;/p&gt;
&lt;p&gt;&amp;#xD30C;&amp;#xB4DC;&amp;#xB294; &lt;u&gt;&amp;#xB3D9;&amp;#xC77C;&amp;#xD55C; &amp;#xC2E4;&amp;#xD589;&amp;#xD658;&amp;#xACBD;&amp;#xC5D0;&amp;#xC11C; &amp;#xB3D9;&amp;#xC791;&amp;#xD558;&amp;#xB294; &amp;#xC560;&amp;#xD50C;&amp;#xB9AC;&amp;#xCF00;&amp;#xC774;&amp;#xC158; &amp;#xCEE8;&amp;#xD14C;&amp;#xC774;&amp;#xB108;&amp;#xC640; &amp;#xBCFC;&amp;#xB968;&amp;#xC758; &amp;#xC9D1;&amp;#xD569;&lt;/u&gt; &amp;#xC774;&amp;#xACE0;, &amp;#xCFE0;&amp;#xBC84;&amp;#xB124;&amp;#xD2F0;&amp;#xC2A4; &amp;#xD074;&amp;#xB7EC;&amp;#xC2A4;&amp;#xD130;&amp;#xC5D0;&amp;#xC11C; &lt;strong&gt;&amp;#xBC30;&amp;#xD3EC;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xB294; &amp;#xAC00;&amp;#xC7A5; &amp;#xC791;&amp;#xC740; &amp;#xC544;&amp;#xD2F0;&amp;#xD329;&amp;#xD2B8;&lt;/strong&gt; &amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xB3D9;&amp;#xC77C;&amp;#xD55C; &amp;#xD30C;&amp;#xB4DC; &amp;#xB0B4;&amp;#xC5D0; &amp;#xC2E4;&amp;#xD589;&amp;#xB418;&amp;#xB294; &amp;#xC560;&amp;#xD50C;&amp;#xB9AC;&amp;#xCF00;&amp;#xC774;&amp;#xC158;&amp;#xC740;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&amp;#xAC19;&amp;#xC740; &amp;#xBA38;&amp;#xC2E0;&amp;#xC5D0; &amp;#xC874;&amp;#xC7AC;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/li&gt;
&lt;li&gt;&amp;#xB3D9;&amp;#xC77C;&amp;#xD55C; ip, port, network namespace&amp;#xB97C; &amp;#xACF5;&amp;#xC720;&amp;#xD558;&amp;#xACE0;, &amp;#xB3D9;&amp;#xC77C;&amp;#xD55C; &amp;#xD638;&amp;#xC2A4;&amp;#xD2B8;&amp;#xBA85;(uts &amp;#xB124;&amp;#xC784;&amp;#xC2A4;&amp;#xD398;&amp;#xC774;&amp;#xC2A4;)&amp;#xC744; &amp;#xAC16;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/li&gt;
&lt;li&gt;&amp;#xC2DC;&amp;#xC2A4;&amp;#xD15C; V IPC&amp;#xB098; POSIX &amp;#xBA54;&amp;#xC2DC;&amp;#xC9C0; &amp;#xD050; &amp;#xC704;&amp;#xC758; &amp;#xD504;&amp;#xB85C;&amp;#xC138;&amp;#xC2A4; &amp;#xAC04; &amp;#xD1B5;&amp;#xC2E0; &amp;#xCC44;&amp;#xB110;&amp;#xC744; &amp;#xD1B5;&amp;#xD574; &amp;#xD1B5;&amp;#xC2E0;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;#xC11C;&amp;#xB85C; &amp;#xB2E4;&amp;#xB978; &amp;#xD30C;&amp;#xB4DC;&amp;#xC5D0; &amp;#xC788;&amp;#xB294; &amp;#xC560;&amp;#xD50C;&amp;#xB9AC;&amp;#xCF00;&amp;#xC774;&amp;#xC158;&amp;#xC740; &amp;#xC11C;&amp;#xB85C; &amp;#xACA9;&amp;#xB9AC;&amp;#xB418;&amp;#xC5B4;&amp;#xC788;&amp;#xACE0;, &amp;#xC11C;&amp;#xB85C; &amp;#xB2E4;&amp;#xB978; ip&amp;#xC8FC;&amp;#xC18C;&amp;#xC640; &amp;#xD638;&amp;#xC2A4;&amp;#xD2B8; &amp;#xC8FC;&amp;#xC18C;&amp;#xB97C; &amp;#xAC16;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&lt;br&gt;&lt;/p&gt;
&lt;p&gt;&amp;#xC5B4;&amp;#xB5A4; &amp;#xC560;&amp;#xD50C;&amp;#xB9AC;&amp;#xCF00;&amp;#xC774;&amp;#xC158;&amp;#xC744; &amp;#xD558;&amp;#xB098;&amp;#xC5D0; &amp;#xB2E4; &amp;#xB450;&amp;#xC5C8;&amp;#xC744;&amp;#xB54C;&amp;#xC640; &amp;#xAC01;&amp;#xC790; &amp;#xBCC4;&amp;#xB3C4;&amp;#xB85C; &amp;#xBD84;&amp;#xB9AC;&amp;#xD588;&amp;#xC744; &amp;#xB54C;&amp;#xB97C; &amp;#xC0DD;&amp;#xAC01;&amp;#xD588;&amp;#xC744;&amp;#xB54C;&lt;br&gt;
&amp;#xAC01;&amp;#xAE30; &amp;#xB2E4;&amp;#xB978; &amp;#xBA38;&amp;#xC2E0;&amp;#xC5D0; &amp;#xB450;&amp;#xC5B4;&amp;#xB3C4; &amp;#xC798; &amp;#xB3D9;&amp;#xC791;&amp;#xC774; &amp;#xB418;&amp;#xB294; &amp;#xC560;&amp;#xD50C;&amp;#xB9AC;&amp;#xCF00;&amp;#xC774;&amp;#xC158;&amp;#xC774;&amp;#xB77C;&amp;#xBA74; &amp;#xAC01;&amp;#xAE30; &amp;#xB2E4;&amp;#xB978; &amp;#xD30C;&amp;#xB4DC;&amp;#xC5D0; &amp;#xAD6C;&amp;#xC131;&amp;#xD558;&amp;#xB294; &amp;#xAC83;&amp;#xC774; &amp;#xC633;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xB610; &amp;#xD544;&amp;#xC694;&amp;#xC5D0;&amp;#xB530;&amp;#xB77C; &amp;#xC11C;&amp;#xBC84;&amp;#xC758; scale out&amp;#xC744; &amp;#xC2DC;&amp;#xD589;&amp;#xD560; &amp;#xD150;&amp;#xB370;,&lt;br&gt;
&amp;#xD30C;&amp;#xB4DC;&amp;#xB85C; &amp;#xBB36;&amp;#xC5B4;&amp;#xB458; &amp;#xACBD;&amp;#xC6B0; &amp;#xD30C;&amp;#xB4DC; &amp;#xB0B4;&amp;#xC5D0; &amp;#xB4E4;&amp;#xC5B4;&amp;#xC788;&amp;#xB294; &amp;#xBAA8;&amp;#xB4E0; &amp;#xC560;&amp;#xD50C;&amp;#xB9AC;&amp;#xCF00;&amp;#xC774;&amp;#xC158;&amp;#xC758; &amp;#xD655;&amp;#xC7A5;&amp;#xC774; &amp;#xC77C;&amp;#xC5B4;&amp;#xB09C;&amp;#xB2E4;&amp;#xB294; &amp;#xC810;&amp;#xB3C4; &amp;#xC5FC;&amp;#xB450;&amp;#xD574;&amp;#xC57C; &amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&lt;br&gt;&lt;/p&gt;
&lt;h3 class=&quot;mume-header&quot; id=&quot;div-ida01-212-%ED%8C%8C%EB%93%9C-%EB%A7%A4%EB%8B%88%ED%8E%98%EC%8A%A4%ED%8A%B8div&quot;&gt;&lt;div id=&quot;a01-2&quot;&gt;1.2. &amp;#xD30C;&amp;#xB4DC; &amp;#xB9E4;&amp;#xB2C8;&amp;#xD398;&amp;#xC2A4;&amp;#xD2B8;&lt;/div&gt;&lt;/h3&gt;

&lt;p&gt;&amp;#xD30C;&amp;#xB4DC;&amp;#xB294; &amp;#xD30C;&amp;#xB4DC; &amp;#xB9E4;&amp;#xB2C8;&amp;#xD398;&amp;#xC2A4;&amp;#xD2B8;(Pod manifest)&amp;#xC5D0; &amp;#xAE30;&amp;#xC220;&amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xD30C;&amp;#xB4DC; &amp;#xB9E4;&amp;#xB2C8;&amp;#xD398;&amp;#xC2A4;&amp;#xD2B8;&amp;#xB294; &amp;#xCFE0;&amp;#xBC84;&amp;#xB124;&amp;#xD2F0;&amp;#xC2A4; API&amp;#xAC1D;&amp;#xCCB4;&amp;#xB97C; yaml &amp;#xD14D;&amp;#xC2A4;&amp;#xD2B8; &amp;#xD30C;&amp;#xC77C; &amp;#xD615;&amp;#xD0DC;&amp;#xB85C; &amp;#xD45C;&amp;#xD604;&amp;#xD55C; &amp;#xAC83;&amp;#xC73C;&amp;#xB85C;, &amp;#xD30C;&amp;#xB4DC; &amp;#xB9E4;&amp;#xB2C8;&amp;#xD398;&amp;#xC2A4;&amp;#xD2B8; &amp;#xD30C;&amp;#xC77C;&amp;#xC5D0; &amp;#xC791;&amp;#xC131;&amp;#xB41C; &amp;#xB0B4;&amp;#xC6A9;&amp;#xC740; &amp;#xC120;&amp;#xC5B8;&amp;#xD615; &amp;#xCEE8;&amp;#xD53C;&amp;#xADDC;&amp;#xB808;&amp;#xC774;&amp;#xC158; &amp;#xC131;&amp;#xC9C8;&amp;#xC5D0; &amp;#xC758;&amp;#xD574; &amp;#xCFE0;&amp;#xBC84;&amp;#xB124;&amp;#xD2F0;&amp;#xC2A4; &amp;#xC11C;&amp;#xBC84;&amp;#xC5D0; &amp;#xC801;&amp;#xC6A9;&amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xC544;&amp;#xB798; &amp;#xCF54;&amp;#xB4DC;&amp;#xB294; &amp;#xD30C;&amp;#xB4DC; &amp;#xB9E4;&amp;#xB2C8;&amp;#xD398;&amp;#xC2A4;&amp;#xD2B8; &amp;#xC608;&amp;#xC2DC;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;yml&quot; class=&quot;language-yaml&quot;&gt;&lt;span class=&quot;token key atrule&quot;&gt;apiVersion&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; v1
&lt;span class=&quot;token key atrule&quot;&gt;kind&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; Pod
&lt;span class=&quot;token key atrule&quot;&gt;metadata&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
  &lt;span class=&quot;token key atrule&quot;&gt;name&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; kuard
&lt;span class=&quot;token key atrule&quot;&gt;spec&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
  &lt;span class=&quot;token key atrule&quot;&gt;containers&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;token key atrule&quot;&gt;image&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; gcr.io/kuar&lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt;demo/kuard&lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt;arm64&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;blue
      &lt;span class=&quot;token key atrule&quot;&gt;name&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; kuard
      &lt;span class=&quot;token key atrule&quot;&gt;ports&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;token key atrule&quot;&gt;containerPort&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;8080&lt;/span&gt;
          &lt;span class=&quot;token key atrule&quot;&gt;name&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; http
          &lt;span class=&quot;token key atrule&quot;&gt;protocol&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; TCP
&lt;/pre&gt;&lt;hr&gt;
&lt;h2 class=&quot;mume-header&quot; id=&quot;div-ida02-12-%ED%8C%8C%EB%93%9C-%EC%83%9D%EC%84%B1div&quot;&gt;&lt;div id=&quot;a02-1&quot;&gt;2. &amp;#xD30C;&amp;#xB4DC; &amp;#xC0DD;&amp;#xC131;&lt;/div&gt;&lt;/h2&gt;

&lt;h3 class=&quot;mume-header&quot; id=&quot;21-%EB%AA%85%EB%A0%B9%EC%96%B4%EB%A5%BC-%EC%9D%B4%EC%9A%A9%ED%95%9C-%ED%8C%8C%EB%93%9C-%EC%83%9D%EC%84%B1%EC%82%AD%EC%A0%9C&quot;&gt;2.1. &amp;#xBA85;&amp;#xB839;&amp;#xC5B4;&amp;#xB97C; &amp;#xC774;&amp;#xC6A9;&amp;#xD55C; &amp;#xD30C;&amp;#xB4DC; &amp;#xC0DD;&amp;#xC131;/&amp;#xC0AD;&amp;#xC81C;&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;&amp;#xD30C;&amp;#xB4DC; &amp;#xC0DD;&amp;#xC131;&lt;/strong&gt;&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;kubectl run kuard --image&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;gcr.io/kuar-demo/kuard-arm64:blue
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;pod/kuard created
&lt;/pre&gt;&lt;br&gt;
&lt;p&gt;&lt;strong&gt;pod &amp;#xC0C1;&amp;#xD0DC; &amp;#xBC0F; &amp;#xBAA9;&amp;#xB85D; &amp;#xC870;&amp;#xD68C;&lt;/strong&gt;&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;kubectl get pods
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;NAME    READY   STATUS    RESTARTS   AGE
kuard   &lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;/1     Running   &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;          65s
&lt;/pre&gt;&lt;p&gt;&amp;#xD30C;&amp;#xB4DC;&amp;#xB97C; &amp;#xC0DD;&amp;#xC131;&amp;#xD55C; &amp;#xD6C4; &amp;#xBC14;&amp;#xB85C; &amp;#xC704;&amp;#xC758; &amp;#xBA85;&amp;#xB839;&amp;#xC5B4;&amp;#xB97C; &amp;#xC2E4;&amp;#xD589;&amp;#xD558;&amp;#xBA74;, Pending&amp;#xC73C;&amp;#xB85C; &amp;#xC870;&amp;#xD68C;&amp;#xB418;&amp;#xB2E4;&amp;#xAC00; Running&amp;#xC73C;&amp;#xB85C; &amp;#xBC14;&amp;#xB01D;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xC704;&amp;#xC758; &amp;#xBA85;&amp;#xB839;&amp;#xC5B4;&amp;#xB294; &amp;#xD30C;&amp;#xB4DC; &amp;#xBAA9;&amp;#xB85D; &amp;#xBFD0;&amp;#xB9CC;&amp;#xC544;&amp;#xB2C8;&amp;#xB77C;, &amp;#xC900;&amp;#xBE44;&amp;#xB41C; &amp;#xCEE8;&amp;#xD14C;&amp;#xC774;&amp;#xB108; &amp;#xC218;, &amp;#xD30C;&amp;#xB4DC;&amp;#xC758; &amp;#xC0C1;&amp;#xD0DC;, &amp;#xD30C;&amp;#xB4DC;&amp;#xC758; &amp;#xC218;&amp;#xBA85;, &amp;#xD30C;&amp;#xB4DC;&amp;#xAC00; &amp;#xC7AC;&amp;#xC2DC;&amp;#xC791;&amp;#xB41C; &amp;#xC218;&amp;#xB97C; &amp;#xD655;&amp;#xC778;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;br&gt;
&lt;p&gt;&lt;strong&gt;&amp;#xD30C;&amp;#xB4DC; &amp;#xC0AD;&amp;#xC81C;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&amp;#xD30C;&amp;#xB4DC; &amp;#xC0AD;&amp;#xC81C; &amp;#xBA85;&amp;#xB839;&amp;#xC5B4; &amp;#xC2E4;&amp;#xD589; &amp;#xD6C4;, 30s&amp;#xC758; &amp;#xC885;&amp;#xB8CC; &amp;#xC720;&amp;#xC608;&amp;#xC2DC;&amp;#xAC04; &amp;#xD6C4; &amp;#xC0AD;&amp;#xC81C;&amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xC720;&amp;#xC608; &amp;#xC2DC;&amp;#xAC04;&amp;#xB3D9;&amp;#xC548;&amp;#xC740; Terminating &amp;#xC0C1;&amp;#xD0DC;&amp;#xB85C; &amp;#xCD9C;&amp;#xB825;&amp;#xB418;&amp;#xBA70;, &amp;#xC774; &amp;#xC0C1;&amp;#xD0DC;&amp;#xC5D0;&amp;#xC11C;&amp;#xB294; &amp;#xB354;&amp;#xC774; &amp;#xC0C1; &amp;#xC0C8;&amp;#xB85C;&amp;#xC6B4; &amp;#xC694;&amp;#xCCAD;&amp;#xC744; &amp;#xBC1B;&amp;#xC9C0; &amp;#xC54A;&amp;#xC9C0;&amp;#xB9CC;, &amp;#xD604;&amp;#xC7AC; &amp;#xCC98;&amp;#xB9AC;&amp;#xC911;&amp;#xC778; &amp;#xC694;&amp;#xCCAD;&amp;#xC774; &amp;#xB05D;&amp;#xB0BC;&amp;#xC218; &amp;#xC788;&amp;#xB3C4;&amp;#xB85D; &amp;#xD558;&amp;#xAE30; &amp;#xB54C;&amp;#xBB38;&amp;#xC5D0; &amp;#xC2E0;&amp;#xB8B0;&amp;#xC131; &amp;#xCE21;&amp;#xBA74;&amp;#xC5D0;&amp;#xC11C; &amp;#xAC15;&amp;#xC810;&amp;#xC774; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;kubectl delete pod/kuard
&lt;/pre&gt;&lt;p&gt;&amp;#xD30C;&amp;#xB4DC;&amp;#xAC00; &amp;#xC0AD;&amp;#xC81C;&amp;#xD560; &amp;#xB54C;&amp;#xC5D0;&amp;#xB294; &amp;#xD30C;&amp;#xB4DC; &amp;#xB0B4;&amp;#xC5D0; &amp;#xB4E4;&amp;#xC5B4;&amp;#xC788;&amp;#xB294; &amp;#xCEE8;&amp;#xD14C;&amp;#xC774;&amp;#xB108; &amp;#xBC0F; &amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xAC00; &amp;#xD568;&amp;#xAED8; &amp;#xC0AD;&amp;#xC81C;&amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xB9CC;&amp;#xC57D;, &amp;#xD30C;&amp;#xB4DC; &amp;#xC0AD;&amp;#xC81C;&amp;#xC2DC; &amp;#xC81C;&amp;#xAC70;&amp;#xB418;&amp;#xBA74; &amp;#xC548;&amp;#xB418;&amp;#xB294; &amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xAC00; &amp;#xC788;&amp;#xB2E4;&amp;#xBA74;, &amp;#xADF8; &amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xB4E4;&amp;#xC740; Persistent Volume &amp;#xC5D0; &amp;#xC124;&amp;#xC815;&amp;#xD574;&amp;#xB46C;&amp;#xC57C; &amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;br&gt;
&lt;h3 class=&quot;mume-header&quot; id=&quot;div-ida02-222-%ED%8C%8C%EB%93%9C-%EB%A7%A4%EB%8B%88%ED%8E%98%EC%8A%A4%ED%8A%B8-%EC%A0%81%EC%9A%A9%EC%9D%84-%ED%86%B5%ED%95%9C-%ED%8C%8C%EB%93%9C-%EC%8B%A4%ED%96%89div&quot;&gt;&lt;div id=&quot;a02-2&quot;&gt;2.2. &amp;#xD30C;&amp;#xB4DC; &amp;#xB9E4;&amp;#xB2C8;&amp;#xD398;&amp;#xC2A4;&amp;#xD2B8; &amp;#xC801;&amp;#xC6A9;&amp;#xC744; &amp;#xD1B5;&amp;#xD55C; &amp;#xD30C;&amp;#xB4DC; &amp;#xC2E4;&amp;#xD589;&lt;/div&gt;&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;kuard-pod.yml&lt;/em&gt; &amp;#xD30C;&amp;#xC77C;&amp;#xC5D0; &amp;#xD30C;&amp;#xB4DC;&amp;#xC5D0; &amp;#xAD00;&amp;#xD55C; &amp;#xC124;&amp;#xC815;&amp;#xC744; &amp;#xC815;&amp;#xC758;&amp;#xD574;&amp;#xB450;&amp;#xACE0;, apply&amp;#xB97C; &amp;#xD1B5;&amp;#xD574; &amp;#xD30C;&amp;#xB4DC;&amp;#xB97C; &amp;#xC0DD;&amp;#xC131;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;yml&quot; class=&quot;language-yaml&quot;&gt;&lt;span class=&quot;token key atrule&quot;&gt;apiVersion&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; v1
&lt;span class=&quot;token key atrule&quot;&gt;kind&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; Pod
&lt;span class=&quot;token key atrule&quot;&gt;metadata&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
  &lt;span class=&quot;token key atrule&quot;&gt;name&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; kuard
&lt;span class=&quot;token key atrule&quot;&gt;spec&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
  &lt;span class=&quot;token key atrule&quot;&gt;containers&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;token key atrule&quot;&gt;image&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; gcr.io/kuar&lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt;demo/kuard&lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt;arm64&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;blue
      &lt;span class=&quot;token key atrule&quot;&gt;name&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; kuard
      &lt;span class=&quot;token key atrule&quot;&gt;ports&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;token key atrule&quot;&gt;containerPort&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;8080&lt;/span&gt;
          &lt;span class=&quot;token key atrule&quot;&gt;name&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; http
          &lt;span class=&quot;token key atrule&quot;&gt;protocol&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; TCP
&lt;/pre&gt;&lt;br&gt;
&lt;p&gt;&lt;strong&gt;&amp;#xD30C;&amp;#xB4DC; &amp;#xC2E4;&amp;#xD589;&lt;/strong&gt;&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;kubectl apply -f kuard-pod.yml
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;pod/kuard created
&lt;/pre&gt;&lt;br&gt;
&lt;p&gt;&lt;em&gt;kubectl get pods&lt;/em&gt; &amp;#xBA85;&amp;#xB839;&amp;#xC5B4;&amp;#xB97C; &amp;#xC2E4;&amp;#xD589;&amp;#xD558;&amp;#xBA74; kuard &amp;#xD30C;&amp;#xB4DC;&amp;#xAC00; &amp;#xC870;&amp;#xD68C;&amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xC704;&amp;#xC640;&amp;#xAC19;&amp;#xC774; &amp;#xD30C;&amp;#xC77C;&amp;#xC744; &amp;#xD1B5;&amp;#xD574; &amp;#xD30C;&amp;#xB4DC;&amp;#xC5D0; &amp;#xB300;&amp;#xD55C; &amp;#xC815;&amp;#xC758;&amp;#xB97C; &amp;#xD558;&amp;#xAC8C;&amp;#xB41C;&amp;#xB2E4;&amp;#xBA74; &amp;#xC7A5;&amp;#xAE30;&amp;#xC801;&amp;#xC778; &amp;#xAD00;&amp;#xC810;&amp;#xC5D0;&amp;#xC11C; &amp;#xD3B8;&amp;#xB9AC;&amp;#xD558;&amp;#xAC8C; &amp;#xAD00;&amp;#xB9AC;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;br&gt;
&lt;p&gt;&lt;strong&gt;&amp;#xD30C;&amp;#xB4DC; &amp;#xC138;&amp;#xBD80;&amp;#xC0AC;&amp;#xD56D; &amp;#xC870;&amp;#xD68C;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&amp;#xD30C;&amp;#xB4DC;&amp;#xC5D0; &amp;#xB300;&amp;#xD55C; &amp;#xC0C1;&amp;#xC138;&amp;#xD55C; &amp;#xC815;&amp;#xBCF4;&amp;#xB97C; &amp;#xD655;&amp;#xC778;&amp;#xD558;&amp;#xACE0; &amp;#xC2F6;&amp;#xB2E4;&amp;#xBA74; &lt;em&gt;kubectl describe pods &amp;#xD30C;&amp;#xB4DC;&amp;#xBA85;&lt;/em&gt; &amp;#xC744; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD558;&amp;#xBA74; &amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;kubectl describe pods kuard
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;Name:             kuard
Namespace:        default
Priority:         &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;
Service Account:  default
Node:             minikube/192.168.49.2
Start Time:       Mon, &lt;span class=&quot;token number&quot;&gt;27&lt;/span&gt; Nov &lt;span class=&quot;token number&quot;&gt;2023&lt;/span&gt; 00:02:09 +0900
Labels:           &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;none&lt;span class=&quot;token operator&quot;&gt;&amp;gt;&lt;/span&gt;
Annotations:      &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;none&lt;span class=&quot;token operator&quot;&gt;&amp;gt;&lt;/span&gt;
Status:           Running
IP:               &lt;span class=&quot;token number&quot;&gt;10.244&lt;/span&gt;.0.6
IPs:
  IP:  &lt;span class=&quot;token number&quot;&gt;10.244&lt;/span&gt;.0.6
&lt;/pre&gt;&lt;p&gt;&amp;#xD30C;&amp;#xB4DC; &amp;#xB0B4;&amp;#xC5D0;&amp;#xC11C; &amp;#xC2E4;&amp;#xD589;&amp;#xC911;&amp;#xC778; &amp;#xCEE8;&amp;#xD14C;&amp;#xC774;&amp;#xB108;&amp;#xC5D0; &amp;#xB300;&amp;#xD55C; &amp;#xC815;&amp;#xBCF4;&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;Containers:
  kuard:
    Container ID:   docker://364fd550f63c6e92805e41533ac72777c9af0a8b27ce630176f0bb9d41658120
    Image:          gcr.io/kuar-demo/kuard-arm64:blue
    Image ID:       docker-pullable://gcr.io/kuar-demo/kuard-arm64@sha256:4f500bd9af3813076b7672450fd060a51a5c98d6fea1772d48ae0447da66a26a
    Port:           &lt;span class=&quot;token number&quot;&gt;8080&lt;/span&gt;/TCP
    Host Port:      &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;/TCP
    State:          Running
      Started:      Mon, &lt;span class=&quot;token number&quot;&gt;27&lt;/span&gt; Nov &lt;span class=&quot;token number&quot;&gt;2023&lt;/span&gt; 00:02:09 +0900
    Ready:          True
    Restart Count:  &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;
    Environment:    &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;none&lt;span class=&quot;token operator&quot;&gt;&amp;gt;&lt;/span&gt;
    Mounts:
      /var/run/secrets/kubernetes.io/serviceaccount from kube-api-access-sghjc &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;ro&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
Conditions:
  Type              Status
  Initialized       True
  Ready             True
  ContainersReady   True
  PodScheduled      True
Volumes:
  kube-api-access-sghjc:
    Type:                    Projected &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;a volume that contains injected data from multiple sources&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
    TokenExpirationSeconds:  &lt;span class=&quot;token number&quot;&gt;3607&lt;/span&gt;
    ConfigMapName:           kube-root-ca.crt
    ConfigMapOptional:       &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;nil&lt;span class=&quot;token operator&quot;&gt;&amp;gt;&lt;/span&gt;
    DownwardAPI:             &lt;span class=&quot;token boolean&quot;&gt;true&lt;/span&gt;
QoS Class:                   BestEffort
Node-Selectors:              &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;none&lt;span class=&quot;token operator&quot;&gt;&amp;gt;&lt;/span&gt;
Tolerations:                 node.kubernetes.io/not-ready:NoExecute &lt;span class=&quot;token assign-left variable&quot;&gt;op&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;Exists &lt;span class=&quot;token keyword keyword-for&quot;&gt;for&lt;/span&gt; 300s
                             node.kubernetes.io/unreachable:NoExecute &lt;span class=&quot;token assign-left variable&quot;&gt;op&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;Exists &lt;span class=&quot;token keyword keyword-for&quot;&gt;for&lt;/span&gt; 300s
&lt;/pre&gt;&lt;p&gt;&amp;#xC2A4;&amp;#xCF00;&amp;#xC904;&amp;#xB9C1;&amp;#xB41C; &amp;#xC2DC;&amp;#xAC04;&amp;#xACFC; &amp;#xC774;&amp;#xBBF8;&amp;#xC9C0;&amp;#xB97C; &amp;#xAC00;&amp;#xC838;&amp;#xC628; &amp;#xC2DC;&amp;#xAC04;, &amp;#xC0C1;&amp;#xD0DC;&amp;#xAC80;&amp;#xC0AC; &amp;#xC2E4;&amp;#xD328;&amp;#xB85C;&amp;#xC778;&amp;#xD55C; &amp;#xC7AC;&amp;#xC2DC;&amp;#xC791; &amp;#xC5EC;&amp;#xBD80;, &amp;#xC2DC;&amp;#xAC04; &amp;#xB4F1;&amp;#xC5D0; &amp;#xB300;&amp;#xD55C; &amp;#xC774;&amp;#xBCA4;&amp;#xD2B8; &amp;#xC815;&amp;#xBCF4;&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;Events:
  Type    Reason     Age    From               Message
  ----    ------     ----   ----               -------
  Normal  Scheduled  4m48s  default-scheduler  Successfully assigned default/kuard to minikube
  Normal  Pulled     4m48s  kubelet            Container image &lt;span class=&quot;token string&quot;&gt;&amp;quot;gcr.io/kuar-demo/kuard-arm64:blue&amp;quot;&lt;/span&gt; already present on machine
  Normal  Created    4m48s  kubelet            Created container kuard
  Normal  Started    4m48s  kubelet            Started container kuard
&lt;/pre&gt;&lt;hr&gt;
&lt;h2 class=&quot;mume-header&quot; id=&quot;div-ida03-13-%ED%8C%8C%EB%93%9C%EC%97%90-%EC%A0%91%EA%B7%BCdiv&quot;&gt;&lt;div id=&quot;a03-1&quot;&gt;3. &amp;#xD30C;&amp;#xB4DC;&amp;#xC5D0; &amp;#xC811;&amp;#xADFC;&lt;/div&gt;&lt;/h2&gt;

&lt;p&gt;&amp;#xD30C;&amp;#xB4DC; &amp;#xB0B4;&amp;#xBD80;&amp;#xC5D0;&amp;#xC11C; &amp;#xC2E4;&amp;#xD589;&amp;#xB418;&amp;#xACE0; &amp;#xC788;&amp;#xB294; &amp;#xCF54;&amp;#xB4DC; &amp;#xBC0F; &amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xC640; &amp;#xC0C1;&amp;#xD638;&amp;#xC791;&amp;#xC6A9;&amp;#xD558;&amp;#xB294; &amp;#xBC29;&amp;#xBC95;&amp;#xC744; &amp;#xC54C;&amp;#xC544;&amp;#xBD05;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;br&gt;
&lt;h3 class=&quot;mume-header&quot; id=&quot;31-%ED%8C%8C%EB%93%9C-%EB%A1%9C%EA%B7%B8-%EC%B6%9C%EB%A0%A5&quot;&gt;3.1. &amp;#xD30C;&amp;#xB4DC; &amp;#xB85C;&amp;#xADF8; &amp;#xCD9C;&amp;#xB825;&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;kubectl logs &amp;#xD30C;&amp;#xB4DC;&amp;#xBA85;&lt;/em&gt; &amp;#xBA85;&amp;#xB839;&amp;#xC5B4;&amp;#xB97C; &amp;#xC774;&amp;#xC6A9;&amp;#xD558;&amp;#xBA74;, &amp;#xC2E4;&amp;#xD589;&amp;#xC911;&amp;#xC778; &amp;#xD30C;&amp;#xB4DC;&amp;#xB85C;&amp;#xBD80;&amp;#xD130; &amp;#xD604;&amp;#xC7AC; &amp;#xB85C;&amp;#xADF8;&amp;#xB97C; &amp;#xB2E4;&amp;#xC6B4;&amp;#xBC1B;&amp;#xC744; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;-f&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;&amp;#xC5F0;&amp;#xC18D; &amp;#xB85C;&amp;#xADF8; &amp;#xC2A4;&amp;#xD2B8;&amp;#xB9BC;&amp;#xC73C;&amp;#xB85C; &amp;#xC2E4;&amp;#xC2DC;&amp;#xAC04; &amp;#xB85C;&amp;#xADF8;&amp;#xB97C; &amp;#xD655;&amp;#xC778;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;--previous
&lt;ul&gt;
&lt;li&gt;&amp;#xCEE8;&amp;#xD14C;&amp;#xC774;&amp;#xB108;&amp;#xC758; &amp;#xC774;&amp;#xC804; &amp;#xC778;&amp;#xC2A4;&amp;#xD134;&amp;#xC2A4;&amp;#xB85C; &amp;#xBD80;&amp;#xD130; &amp;#xB85C;&amp;#xADF8;&amp;#xB97C; &amp;#xAC00;&amp;#xC838;&amp;#xC635;&amp;#xB2C8;&amp;#xB2E4;&lt;/li&gt;
&lt;li&gt;&amp;#xCEE8;&amp;#xD14C;&amp;#xC774;&amp;#xB108;&amp;#xAC00; &amp;#xBB38;&amp;#xC81C;&amp;#xAC00; &amp;#xC788;&amp;#xC5B4; &amp;#xACC4;&amp;#xC18D;&amp;#xD574;&amp;#xC11C; &amp;#xCEE8;&amp;#xD14C;&amp;#xC774;&amp;#xB108; &amp;#xC7AC;&amp;#xC2DC;&amp;#xC791;&amp;#xD558;&amp;#xACE0; &amp;#xC788;&amp;#xB294; &amp;#xACBD;&amp;#xC6B0;&amp;#xC5D0; &amp;#xD65C;&amp;#xC6A9;&amp;#xD558;&amp;#xBA74; &amp;#xC88B;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;kubectl logs kuard
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;&lt;span class=&quot;token number&quot;&gt;2023&lt;/span&gt;/11/26 &lt;span class=&quot;token number&quot;&gt;15&lt;/span&gt;:02:09 Starting kuard version: v0.10.0-blue
&lt;span class=&quot;token number&quot;&gt;2023&lt;/span&gt;/11/26 &lt;span class=&quot;token number&quot;&gt;15&lt;/span&gt;:02:09 **********************************************************************
&lt;span class=&quot;token number&quot;&gt;2023&lt;/span&gt;/11/26 &lt;span class=&quot;token number&quot;&gt;15&lt;/span&gt;:02:09 * WARNING: This server may expose sensitive
&lt;span class=&quot;token number&quot;&gt;2023&lt;/span&gt;/11/26 &lt;span class=&quot;token number&quot;&gt;15&lt;/span&gt;:02:09 * and secret information. Be careful.
&lt;span class=&quot;token number&quot;&gt;2023&lt;/span&gt;/11/26 &lt;span class=&quot;token number&quot;&gt;15&lt;/span&gt;:02:09 **********************************************************************
&lt;span class=&quot;token number&quot;&gt;2023&lt;/span&gt;/11/26 &lt;span class=&quot;token number&quot;&gt;15&lt;/span&gt;:02:09 Config:
&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;token string&quot;&gt;&amp;quot;address&amp;quot;&lt;/span&gt;&lt;span class=&quot;token builtin class-name&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;:8080&amp;quot;&lt;/span&gt;,
  &lt;span class=&quot;token string&quot;&gt;&amp;quot;debug&amp;quot;&lt;/span&gt;&lt;span class=&quot;token builtin class-name&quot;&gt;:&lt;/span&gt; false,
  &lt;span class=&quot;token string&quot;&gt;&amp;quot;debug-sitedata-dir&amp;quot;&lt;/span&gt;&lt;span class=&quot;token builtin class-name&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;./sitedata&amp;quot;&lt;/span&gt;,
  &lt;span class=&quot;token string&quot;&gt;&amp;quot;keygen&amp;quot;&lt;/span&gt;&lt;span class=&quot;token builtin class-name&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;token string&quot;&gt;&amp;quot;enable&amp;quot;&lt;/span&gt;&lt;span class=&quot;token builtin class-name&quot;&gt;:&lt;/span&gt; false,
    &lt;span class=&quot;token string&quot;&gt;&amp;quot;exit-code&amp;quot;&lt;/span&gt;&lt;span class=&quot;token builtin class-name&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;,
    &lt;span class=&quot;token string&quot;&gt;&amp;quot;exit-on-complete&amp;quot;&lt;/span&gt;&lt;span class=&quot;token builtin class-name&quot;&gt;:&lt;/span&gt; false,
    &lt;span class=&quot;token string&quot;&gt;&amp;quot;memq-queue&amp;quot;&lt;/span&gt;&lt;span class=&quot;token builtin class-name&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;&amp;quot;&lt;/span&gt;,
    &lt;span class=&quot;token string&quot;&gt;&amp;quot;memq-server&amp;quot;&lt;/span&gt;&lt;span class=&quot;token builtin class-name&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;&amp;quot;&lt;/span&gt;,
    &lt;span class=&quot;token string&quot;&gt;&amp;quot;num-to-gen&amp;quot;&lt;/span&gt;&lt;span class=&quot;token builtin class-name&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;,
    &lt;span class=&quot;token string&quot;&gt;&amp;quot;time-to-run&amp;quot;&lt;/span&gt;&lt;span class=&quot;token builtin class-name&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;
  &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;,
  &lt;span class=&quot;token string&quot;&gt;&amp;quot;liveness&amp;quot;&lt;/span&gt;&lt;span class=&quot;token builtin class-name&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;token string&quot;&gt;&amp;quot;fail-next&amp;quot;&lt;/span&gt;&lt;span class=&quot;token builtin class-name&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;
  &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;,
  &lt;span class=&quot;token string&quot;&gt;&amp;quot;readiness&amp;quot;&lt;/span&gt;&lt;span class=&quot;token builtin class-name&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;token string&quot;&gt;&amp;quot;fail-next&amp;quot;&lt;/span&gt;&lt;span class=&quot;token builtin class-name&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;
  &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;,
  &lt;span class=&quot;token string&quot;&gt;&amp;quot;tls-address&amp;quot;&lt;/span&gt;&lt;span class=&quot;token builtin class-name&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;:8443&amp;quot;&lt;/span&gt;,
  &lt;span class=&quot;token string&quot;&gt;&amp;quot;tls-dir&amp;quot;&lt;/span&gt;&lt;span class=&quot;token builtin class-name&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;/tls&amp;quot;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token number&quot;&gt;2023&lt;/span&gt;/11/26 &lt;span class=&quot;token number&quot;&gt;15&lt;/span&gt;:02:09 Could not &lt;span class=&quot;token function&quot;&gt;find&lt;/span&gt; certificates to serve TLS
&lt;span class=&quot;token number&quot;&gt;2023&lt;/span&gt;/11/26 &lt;span class=&quot;token number&quot;&gt;15&lt;/span&gt;:02:09 Serving on HTTP on :8080
&lt;/pre&gt;&lt;br&gt;
&lt;h3 class=&quot;mume-header&quot; id=&quot;div-ida03-232-%EC%BB%A8%ED%85%8C%EC%9D%B4%EB%84%88%EC%97%90%EC%84%9C-%EB%AA%85%EB%A0%B9-%EC%8B%A4%ED%96%89%ED%95%98%EA%B8%B0div&quot;&gt;&lt;div id=&quot;a03-2&quot;&gt;3.2. &amp;#xCEE8;&amp;#xD14C;&amp;#xC774;&amp;#xB108;&amp;#xC5D0;&amp;#xC11C; &amp;#xBA85;&amp;#xB839; &amp;#xC2E4;&amp;#xD589;&amp;#xD558;&amp;#xAE30;&lt;/div&gt;&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;kubectl exec&lt;/em&gt; &amp;#xBA85;&amp;#xB839;&amp;#xC5B4;&amp;#xB97C; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD558;&amp;#xC5EC;, &amp;#xCEE8;&amp;#xD14C;&amp;#xC774;&amp;#xB108; &amp;#xB0B4;&amp;#xBD80;&amp;#xC5D0;&amp;#xC11C; &amp;#xBA85;&amp;#xB839;&amp;#xC744; &amp;#xC2E4;&amp;#xD589;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;kubectl &lt;span class=&quot;token builtin class-name&quot;&gt;exec&lt;/span&gt; kuard -- &lt;span class=&quot;token function&quot;&gt;date&lt;/span&gt;
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;Sun Nov &lt;span class=&quot;token number&quot;&gt;26&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;15&lt;/span&gt;:27:00 UTC &lt;span class=&quot;token number&quot;&gt;2023&lt;/span&gt;
&lt;/pre&gt;&lt;br&gt;
&lt;p&gt;&amp;#xC5EC;&amp;#xAE30;&amp;#xC5D0; &lt;strong&gt;-it&lt;/strong&gt; &amp;#xC635;&amp;#xC158;&amp;#xC744; &amp;#xCD94;&amp;#xAC00;&amp;#xD558;&amp;#xBA74;, &amp;#xB300;&amp;#xD654;&amp;#xD615;&amp;#xC73C;&amp;#xB85C; &amp;#xBA85;&amp;#xB839;&amp;#xC744; &amp;#xACC4;&amp;#xC18D;&amp;#xD574;&amp;#xC11C; &amp;#xC2E4;&amp;#xD589;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;kubectl &lt;span class=&quot;token builtin class-name&quot;&gt;exec&lt;/span&gt; -it kuard -- &lt;span class=&quot;token function&quot;&gt;sh&lt;/span&gt;
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;~ &lt;span class=&quot;token variable&quot;&gt;$ls&lt;/span&gt;
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;bin    dev    etc    home   kuard  lib    media  mnt    opt    proc   root   run    sbin   srv    sys    tmp    usr    var
&lt;/pre&gt;&lt;hr&gt;
&lt;h2 class=&quot;mume-header&quot; id=&quot;div-ida04-14-probe%ED%94%84%EB%A1%9C%EB%B8%8Cdiv&quot;&gt;&lt;div id=&quot;a04-1&quot;&gt;4. Probe(&amp;#xD504;&amp;#xB85C;&amp;#xBE0C;)&lt;/div&gt;&lt;/h2&gt;

&lt;p&gt;&amp;#xCFE0;&amp;#xBC84;&amp;#xB124;&amp;#xD2F0;&amp;#xC2A4;&amp;#xC5D0;&amp;#xC11C;&amp;#xB294; &amp;#xD504;&amp;#xB85C;&amp;#xC138;&amp;#xC2A4; health check&amp;#xB97C; &amp;#xD1B5;&amp;#xD574; &amp;#xCEE8;&amp;#xD14C;&amp;#xC774;&amp;#xB108;&amp;#xAC00; &amp;#xC0B4;&amp;#xC544;&amp;#xC788;&amp;#xB294;&amp;#xC9C0; &amp;#xCCB4;&amp;#xD06C;&amp;#xD558;&amp;#xBA70;, &amp;#xBB38;&amp;#xC81C;&amp;#xAC00; &amp;#xC788;&amp;#xC744;&amp;#xC2DC; &amp;#xCFE0;&amp;#xBC84;&amp;#xB124;&amp;#xD2F0;&amp;#xC2A4;&amp;#xAC00; &amp;#xC560;&amp;#xD50C;&amp;#xB9AC;&amp;#xCF00;&amp;#xC774;&amp;#xC158;&amp;#xC744; &amp;#xC7AC;&amp;#xC2DC;&amp;#xC791; &amp;#xD574;&amp;#xC90D;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xD558;&amp;#xC9C0;&amp;#xB9CC;, &amp;#xC560;&amp;#xD50C;&amp;#xB9AC;&amp;#xCF00;&amp;#xC774;&amp;#xC158;&amp;#xC758; health check&amp;#xB294; &amp;#xBB38;&amp;#xC81C;&amp;#xAC00; &amp;#xC5C6;&amp;#xC9C0;&amp;#xB9CC;, &amp;#xD504;&amp;#xB85C;&amp;#xC138;&amp;#xC2A4; deadlock&amp;#xC5D0; &amp;#xAC78;&amp;#xB9B0; &amp;#xC0C1;&amp;#xD0DC;&amp;#xB77C; &amp;#xC694;&amp;#xCCAD;&amp;#xC744; &amp;#xCC98;&amp;#xB9AC;&amp;#xD560; &amp;#xC218; &amp;#xC5C6;&amp;#xB294; &amp;#xC0C1;&amp;#xD0DC;&amp;#xB77C;&amp;#xBA74; &amp;#xC5B4;&amp;#xB5BB;&amp;#xAC8C; &amp;#xD574;&amp;#xC57C;&amp;#xD560;&amp;#xAE4C;&lt;/p&gt;
&lt;p&gt;&amp;#xCFE0;&amp;#xBC84;&amp;#xB124;&amp;#xD2F0;&amp;#xC2A4;&amp;#xC5D0;&amp;#xC11C;&amp;#xB294; &amp;#xC774;&amp;#xB7EC;&amp;#xD55C; &amp;#xBB38;&amp;#xC81C;&amp;#xB97C; &amp;#xD574;&amp;#xACB0;&amp;#xD558;&amp;#xACE0;&amp;#xC790; liveness(&amp;#xD65C;&amp;#xC131;) &amp;#xC0C1;&amp;#xD0DC; &amp;#xAC80;&amp;#xC0AC;&amp;#xB97C; &amp;#xB3C4;&amp;#xC785;&amp;#xD588;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xB2E8;&amp;#xC21C;&amp;#xD788; &amp;#xC560;&amp;#xD50C;&amp;#xB9AC;&amp;#xCF00;&amp;#xC774;&amp;#xC158;&amp;#xC774; &amp;#xB3D9;&amp;#xC791;&amp;#xB418;&amp;#xACE0; &amp;#xC788;&amp;#xB294; &amp;#xAC83; &amp;#xBFD0;&amp;#xB9CC; &amp;#xC544;&amp;#xB2C8;&amp;#xB77C;, &amp;#xC815;&amp;#xC0C1; &amp;#xAE30;&amp;#xB2A5; &amp;#xC218;&amp;#xD589; &amp;#xC5EC;&amp;#xBD80;&amp;#xB97C; &amp;#xAC80;&amp;#xC0AC;&amp;#xD558;&amp;#xB294; &amp;#xAE30;&amp;#xB2A5;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xC774;&amp;#xB294;, &amp;#xC560;&amp;#xD50C;&amp;#xB9AC;&amp;#xCF00;&amp;#xC774;&amp;#xC158;&amp;#xB9C8;&amp;#xB2E4; &amp;#xC815;&amp;#xC758;&amp;#xAC00; &amp;#xB2EC;&amp;#xB77C;&amp;#xC9C8; &amp;#xC218; &amp;#xC788;&amp;#xB294; &amp;#xBD80;&amp;#xBD84;&amp;#xC774;&amp;#xAE30; &amp;#xB54C;&amp;#xBB38;&amp;#xC5D0; &lt;strong&gt;&amp;#xD30C;&amp;#xB4DC; &amp;#xB9E4;&amp;#xB2C8;&amp;#xD398;&amp;#xC2A4;&amp;#xD2B8;&amp;#xC5D0; &amp;#xC815;&amp;#xC758;&lt;/strong&gt;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&lt;br&gt;&lt;/p&gt;
&lt;p&gt;&amp;#xCFE0;&amp;#xBC84;&amp;#xB124;&amp;#xD2F0;&amp;#xC2A4;&amp;#xC5D0;&amp;#xC11C;&amp;#xB294; &amp;#xB2E4;&amp;#xC591;&amp;#xD55C; &amp;#xD504;&amp;#xB85C;&amp;#xBE0C; &amp;#xC635;&amp;#xC158;&amp;#xC744; &amp;#xC81C;&amp;#xACF5;&amp;#xD558;&amp;#xBA70;, &amp;#xBCC4;&amp;#xB3C4;&amp;#xB85C; &amp;#xC9C0;&amp;#xC815;&amp;#xD558;&amp;#xC9C0; &amp;#xC54A;&amp;#xC744; &amp;#xACBD;&amp;#xC6B0; &amp;#xAE30;&amp;#xBCF8;&amp;#xAC12;&amp;#xC73C;&amp;#xB85C; &amp;#xC124;&amp;#xC815;&amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xAD00;&amp;#xB828; &amp;#xB9C1;&amp;#xD06C;: &lt;a href=&quot;https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#configure-probes&quot;&gt;Configure Probes&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;#xC81C;&amp;#xACF5;&amp;#xD558;&amp;#xACE0; &amp;#xC788;&amp;#xB294; &amp;#xACE0;&amp;#xAE09; &amp;#xD504;&amp;#xB85C;&amp;#xBE0C; &amp;#xC635;&amp;#xC158;&amp;#xC5D0;&amp;#xB294; &amp;#xC544;&amp;#xB798;&amp;#xC640; &amp;#xC124;&amp;#xC815;&amp;#xB4E4;&amp;#xC774; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&amp;#xD30C;&amp;#xB4DC; &amp;#xAD6C;&amp;#xB3D9; &amp;#xD6C4; &amp;#xD504;&amp;#xB85C;&amp;#xBE0C;&amp;#xB97C; &amp;#xC2DC;&amp;#xC791;&amp;#xD558;&amp;#xACE0;&amp;#xC790; &amp;#xB300;&amp;#xAE30;&amp;#xD558;&amp;#xB294; &amp;#xC2DC;&amp;#xAC04;&lt;/li&gt;
&lt;li&gt;&amp;#xC2E4;&amp;#xD328;&amp;#xB85C; &amp;#xAC04;&amp;#xC8FC;&amp;#xD560; &amp;#xCD1D; &amp;#xC2E4;&amp;#xD328; &amp;#xC218;&lt;/li&gt;
&lt;li&gt;&amp;#xC2E4;&amp;#xD328;&amp;#xC218;&amp;#xB97C; &amp;#xC7AC;&amp;#xC124;&amp;#xC815;&amp;#xD558;&amp;#xB294;&amp;#xB370;&amp;#xC5D0; &amp;#xD544;&amp;#xC694;&amp;#xD55C; &amp;#xC131;&amp;#xACF5; &amp;#xD69F;&amp;#xC218;&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;br&gt;
&lt;h3 class=&quot;mume-header&quot; id=&quot;41-%ED%99%9C%EC%84%B1-%ED%94%84%EB%A1%9C%EB%B8%8C-liveness-probe&quot;&gt;4.1. &amp;#xD65C;&amp;#xC131; &amp;#xD504;&amp;#xB85C;&amp;#xBE0C; (liveness probe)&lt;/h3&gt;

&lt;p&gt;&amp;#xCEE8;&amp;#xD14C;&amp;#xC774;&amp;#xB108; &amp;#xB2E8;&amp;#xC704;&amp;#xB85C; &amp;#xC815;&amp;#xC758;&amp;#xB418;&amp;#xBA70;, &amp;#xD30C;&amp;#xB4DC;&amp;#xC758; &amp;#xAC01; &amp;#xCEE8;&amp;#xD14C;&amp;#xC774;&amp;#xB108;&amp;#xBCC4;&amp;#xB85C; &amp;#xC0C1;&amp;#xD0DC;&amp;#xAC80;&amp;#xC0AC;&amp;#xB97C; &amp;#xC218;&amp;#xD589;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;kubectl apply -f kuard-pod-health.yml
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;pod/kuard created
&lt;/pre&gt;&lt;br&gt;
&lt;p&gt;&amp;#xD3EC;&amp;#xD2B8;&amp;#xD3EC;&amp;#xC6CC;&amp;#xB529; &amp;#xC124;&amp;#xC815;&amp;#xC744; &amp;#xD1B5;&amp;#xD574; &amp;#xD638;&amp;#xC2A4;&amp;#xD2B8;&amp;#xC640; &amp;#xD30C;&amp;#xB4DC; &amp;#xB0B4;&amp;#xC758; &amp;#xC774;&amp;#xBBF8;&amp;#xB97C; &amp;#xC5F0;&amp;#xACB0;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;kubectl port-forward kuard &lt;span class=&quot;token number&quot;&gt;8080&lt;/span&gt;:8080
Forwarding from &lt;span class=&quot;token number&quot;&gt;127.0&lt;/span&gt;.0.1:8080 -&lt;span class=&quot;token operator&quot;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;8080&lt;/span&gt;
Forwarding from &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;::1&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;:8080 -&lt;span class=&quot;token operator&quot;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;8080&lt;/span&gt;
Handling connection &lt;span class=&quot;token keyword keyword-for&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;8080&lt;/span&gt;
&lt;/pre&gt;&lt;br&gt;
&lt;p&gt;&amp;#xD3EC;&amp;#xD2B8;&amp;#xD3EC;&amp;#xC6CC;&amp;#xB529; &amp;#xC124;&amp;#xC815;&amp;#xC744; &amp;#xB9C8;&amp;#xCCE4;&amp;#xC73C;&amp;#xBA74;, kuard &amp;#xC6F9; &amp;#xD398;&amp;#xC774;&amp;#xC9C0;&amp;#xC5D0; &amp;#xC811;&amp;#xADFC;&amp;#xC774; &amp;#xAC00;&amp;#xB2A5;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
Liveness Probe &amp;#xD0ED;&amp;#xC5D0; &amp;#xB4E4;&amp;#xC5B4;&amp;#xAC00;&amp;#xBA74;, &amp;#xD504;&amp;#xB85C;&amp;#xBE0C; &amp;#xC2E4;&amp;#xD589; &amp;#xACB0;&amp;#xACFC;&amp;#xB97C; &amp;#xD655;&amp;#xC778;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xB294;&amp;#xB370;&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://raw.githubusercontent.com/jiniya22/image_box/master/Book/K8s/01-2.png&quot; alt=&quot;01-2&quot;&gt;&lt;br&gt;
&lt;br&gt;&lt;/p&gt;
&lt;p&gt;Fail &amp;#xB9C1;&amp;#xD06C;&amp;#xB97C; &amp;#xD074;&amp;#xB9AD;&amp;#xD558;&amp;#xC5EC; &amp;#xC784;&amp;#xC758;&amp;#xB85C; &amp;#xC0C1;&amp;#xD0DC; &amp;#xAC80;&amp;#xC0AC; &amp;#xC2E4;&amp;#xD328;&amp;#xB97C; &amp;#xC2DC;&amp;#xCF1C;&amp;#xBD05;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xADF8;&amp;#xB7EC;&amp;#xBA74;, &amp;#xC544;&amp;#xB798;&amp;#xC640; &amp;#xAC19;&amp;#xC774; 500 status&amp;#xAC00; &amp;#xB178;&amp;#xCD9C;&amp;#xB418;&amp;#xB2E4;&amp;#xAC00; &amp;#xC7AC;&amp;#xC2DC;&amp;#xC791;&amp;#xC744; &amp;#xD589;&amp;#xD558;&amp;#xAC8C; &amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xD65C;&amp;#xC131; &amp;#xC0C1;&amp;#xD0DC; &amp;#xAC80;&amp;#xC0AC; &amp;#xC2E4;&amp;#xD328;&amp;#xC5D0; &amp;#xB300;&amp;#xD55C; default &amp;#xBC18;&amp;#xC751;&amp;#xC740; &amp;#xD30C;&amp;#xB4DC;&amp;#xB97C; &amp;#xC7AC;&amp;#xC2DC;&amp;#xC791;&amp;#xD558;&amp;#xB294; &amp;#xAC83;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xC774; &amp;#xAC12;&amp;#xC740; restartPolicy(&amp;#xD30C;&amp;#xB4DC; &amp;#xC7AC;&amp;#xC2DC;&amp;#xC791; &amp;#xC815;&amp;#xCC45;) &amp;#xC124;&amp;#xC815;&amp;#xC73C;&amp;#xB85C; &amp;#xBCC0;&amp;#xACBD;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;restartPolicy
&lt;ul&gt;
&lt;li&gt;Always
&lt;ul&gt;
&lt;li&gt;&amp;#xAE30;&amp;#xBCF8;&amp;#xAC12;&lt;/li&gt;
&lt;li&gt;&amp;#xD65C;&amp;#xC131; &amp;#xAC80;&amp;#xC0AC; &amp;#xC2E4;&amp;#xD328;&amp;#xC2DC; &amp;#xC7AC;&amp;#xC2DC;&amp;#xC791;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;OnFailure
&lt;ul&gt;
&lt;li&gt;&amp;#xD65C;&amp;#xC131; &amp;#xAC80;&amp;#xC0AC; &amp;#xC2E4;&amp;#xD328; &amp;#xB610;&amp;#xB294; 0&amp;#xC774; &amp;#xC544;&amp;#xB2CC; &amp;#xD504;&amp;#xB85C;&amp;#xC138;&amp;#xC2A4; &amp;#xC815;&amp;#xC9C0; &amp;#xCF54;&amp;#xB4DC;&amp;#xC2DC; &amp;#xC7AC;&amp;#xC2DC;&amp;#xC791;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Never
&lt;ul&gt;
&lt;li&gt;&amp;#xC7AC;&amp;#xC2DC;&amp;#xC791;&amp;#xD558;&amp;#xC9C0; &amp;#xC54A;&amp;#xB294;&amp;#xB2E4;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src=&quot;https://raw.githubusercontent.com/jiniya22/image_box/master/Book/K8s/01-3.png&quot; alt=&quot;01-3&quot;&gt;&lt;/p&gt;
&lt;br&gt;
&lt;p&gt;&lt;em&gt;kubectl describe pods kuard&lt;/em&gt; &amp;#xBA85;&amp;#xB839;&amp;#xC5B4;&amp;#xB97C; &amp;#xC774;&amp;#xC6A9;&amp;#xD558;&amp;#xC5EC; Event &amp;#xC139;&amp;#xC158;&amp;#xC5D0;&amp;#xC11C; &amp;#xC7AC;&amp;#xC2DC;&amp;#xC791;&amp;#xC5D0; &amp;#xAD00;&amp;#xB828;&amp;#xB41C; &amp;#xC138;&amp;#xBD80; &amp;#xC815;&amp;#xBCF4;&amp;#xB97C; &amp;#xD655;&amp;#xC778;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;Events:
  Type     Reason     Age                 From               Message
  ----     ------     ----                ----               -------
  Normal   Scheduled  5m1s                default-scheduler  Successfully assigned default/kuard to minikube
  Normal   Pulled     31s &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;x2 over 5m1s&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;  kubelet            Container image &lt;span class=&quot;token string&quot;&gt;&amp;quot;gcr.io/kuar-demo/kuard-arm64:blue&amp;quot;&lt;/span&gt; already present on machine
  Normal   Created    31s &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;x2 over 5m1s&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;  kubelet            Created container kuard
  Normal   Started    31s &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;x2 over 5m1s&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;  kubelet            Started container kuard
  Warning  Unhealthy  31s &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;x3 over 51s&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;   kubelet            Liveness probe failed: HTTP probe failed with statuscode: &lt;span class=&quot;token number&quot;&gt;500&lt;/span&gt;
  Normal   Killing    31s                 kubelet            Container kuard failed liveness probe, will be restarted
&lt;/pre&gt;&lt;br&gt;
&lt;h3 class=&quot;mume-header&quot; id=&quot;div-ida04-242-%EC%A4%80%EB%B9%84-%ED%94%84%EB%A1%9C%EB%B8%8C-readiness-probediv&quot;&gt;&lt;div id=&quot;a04-2&quot;&gt;4.2. &amp;#xC900;&amp;#xBE44; &amp;#xD504;&amp;#xB85C;&amp;#xBE0C; (readiness probe)&lt;/div&gt;&lt;/h3&gt;

&lt;p&gt;&amp;#xC900;&amp;#xBE44; &amp;#xD504;&amp;#xB85C;&amp;#xBE0C;&amp;#xB294; &amp;#xC0C1;&amp;#xD0DC; &amp;#xAC80;&amp;#xC0AC;&amp;#xB97C; &amp;#xD558;&amp;#xB294; &amp;#xD504;&amp;#xB85C;&amp;#xD504; &amp;#xC911; &amp;#xD558;&amp;#xB098; &amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;liveness probe&amp;#xB294; &amp;#xC560;&amp;#xD50C;&amp;#xB9AC;&amp;#xCF00;&amp;#xC774;&amp;#xC158;&amp;#xC758; &amp;#xC815;&amp;#xC0C1; &amp;#xB3D9;&amp;#xC791; &amp;#xC5EC;&amp;#xBD80;&amp;#xB97C; &amp;#xAC80;&amp;#xC0AC;&amp;#xD558;&amp;#xACE0;, &amp;#xD65C;&amp;#xC131;&amp;#xAC80;&amp;#xC0AC; &amp;#xC2E4;&amp;#xD328;&amp;#xC2DC; &amp;#xCEE8;&amp;#xD14C;&amp;#xC774;&amp;#xB108;&amp;#xB97C; &amp;#xC7AC;&amp;#xC2DC;&amp;#xC791;&amp;#xD55C;&amp;#xB2E4;&amp;#xBA74;,&lt;/p&gt;
&lt;p&gt;readiness probe&amp;#xB294; &amp;#xCEE8;&amp;#xD14C;&amp;#xC774;&amp;#xB108;&amp;#xAC00; &amp;#xC0AC;&amp;#xC6A9;&amp;#xC790; &amp;#xC694;&amp;#xCCAD; &amp;#xCC98;&amp;#xB9AC;&amp;#xC5D0; &amp;#xB300;&amp;#xD55C; &amp;#xC900;&amp;#xBE44; &amp;#xC720;&amp;#xBB34;&amp;#xB97C; &amp;#xAC80;&amp;#xC0AC;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xC900;&amp;#xBE44; &amp;#xC0C1;&amp;#xD0DC; &amp;#xAC80;&amp;#xC0AC; &amp;#xC2E4;&amp;#xD328;&amp;#xC2DC;, &amp;#xCEE8;&amp;#xD14C;&amp;#xC774;&amp;#xB108;&amp;#xB294; &lt;strong&gt;&amp;#xC11C;&amp;#xBE44;&amp;#xC2A4; &amp;#xB85C;&amp;#xB4DC;&amp;#xBC38;&amp;#xB7F0;&amp;#xC11C;&amp;#xC5D0;&amp;#xC11C; &amp;#xC81C;&amp;#xAC70;&amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&amp;#xC900;&amp;#xBE44;&amp;#xD504;&amp;#xB85C;&amp;#xBE0C;&amp;#xC640; &amp;#xD65C;&amp;#xC131; &amp;#xD504;&amp;#xB85C;&amp;#xBE0C;&amp;#xB97C; &amp;#xD568;&amp;#xAED8; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD558;&amp;#xBA74; &amp;#xD074;&amp;#xB7EC;&amp;#xC2A4;&amp;#xD130; &amp;#xB0B4;&amp;#xC5D0;&amp;#xC11C; &amp;#xC815;&amp;#xC0C1; &amp;#xC0C1;&amp;#xD0DC;&amp;#xC758; &amp;#xCEE8;&amp;#xD14C;&amp;#xC774;&amp;#xB108;&amp;#xB9CC; &amp;#xC2E4;&amp;#xD589;&amp;#xB418;&amp;#xAC8C; &amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;br&gt;
&lt;h3 class=&quot;mume-header&quot; id=&quot;div-ida04-343-%EC%8B%9C%EC%9E%91-%ED%94%84%EB%A1%9C%EB%B8%8C-startup-probediv&quot;&gt;&lt;div id=&quot;a04-3&quot;&gt;4.3. &amp;#xC2DC;&amp;#xC791; &amp;#xD504;&amp;#xB85C;&amp;#xBE0C; (startup probe)&lt;/div&gt;&lt;/h3&gt;

&lt;p&gt;&amp;#xB290;&amp;#xB9AC;&amp;#xAC8C; &amp;#xAD6C;&amp;#xB3D9;&amp;#xB418;&amp;#xB294; &amp;#xCEE8;&amp;#xD14C;&amp;#xC774;&amp;#xB108;(slow-starting container)&amp;#xB97C; &amp;#xAD00;&amp;#xB9AC;&amp;#xD558;&amp;#xAE30; &amp;#xC704;&amp;#xD55C; &amp;#xB300;&amp;#xC548;&amp;#xC73C;&amp;#xB85C; &amp;#xB3C4;&amp;#xC785;&amp;#xB418;&amp;#xC5C8;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xB290;&amp;#xB9AC;&amp;#xAC8C; &amp;#xAD6C;&amp;#xB3D9;&amp;#xB418;&amp;#xB294; &amp;#xCEE8;&amp;#xD14C;&amp;#xC774;&amp;#xB108;&amp;#xC5D0; &amp;#xB300;&amp;#xD574; &amp;#xB290;&amp;#xB9AC;&amp;#xAC8C; &amp;#xD3F4;&amp;#xB9C1;&amp;#xD558;&amp;#xACE0;, &amp;#xADF8; &amp;#xCEE8;&amp;#xD14C;&amp;#xC774;&amp;#xB108;&amp;#xAC00; &amp;#xCD08;&amp;#xAE30;&amp;#xD654;&amp;#xB41C; &amp;#xD6C4; &amp;#xC751;&amp;#xB2F5; &amp;#xD65C;&amp;#xC131; &amp;#xAC80;&amp;#xC0AC;&amp;#xB97C; &amp;#xAC00;&amp;#xB2A5;&amp;#xD558;&amp;#xAC8C; &amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xD30C;&amp;#xB4DC; &amp;#xAD6C;&amp;#xB3D9;&amp;#xC2DC;, &amp;#xD30C;&amp;#xB4DC;&amp;#xC758; &amp;#xB2E4;&amp;#xB978; &amp;#xD504;&amp;#xB85C;&amp;#xBE0C;&amp;#xAC00; &amp;#xAD6C;&amp;#xB3D9;&amp;#xB418;&amp;#xAE30; &amp;#xC804;&amp;#xC5D0; &amp;#xC2DC;&amp;#xC791; &amp;#xD504;&amp;#xB85C;&amp;#xBE0C;&amp;#xAC00; &amp;#xC2E4;&amp;#xD589;&amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xC2DC;&amp;#xC791;&amp;#xD504;&amp;#xB85C;&amp;#xBE0C;&amp;#xB294; &amp;#xC2DC;&amp;#xAC04;&amp;#xC774; &amp;#xCD08;&amp;#xACFC;&amp;#xB418;&amp;#xAC70;&amp;#xB098; &amp;#xC131;&amp;#xACF5;&amp;#xD560;&amp;#xB54C;&amp;#xAE4C;&amp;#xC9C0; &amp;#xC9C4;&amp;#xD589;&amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&amp;#xC2DC;&amp;#xAC04;&amp;#xC774; &amp;#xCD08;&amp;#xACFC;&amp;#xB418;&amp;#xBA74; &amp;#xD30C;&amp;#xB4DC;&amp;#xB97C; &amp;#xB2E4;&amp;#xC2DC; &amp;#xC2DC;&amp;#xC791;&amp;#xD558;&amp;#xACE0;&lt;/li&gt;
&lt;li&gt;&amp;#xC131;&amp;#xACF5;&amp;#xD558;&amp;#xBA74; &amp;#xD65C;&amp;#xC131; &amp;#xD504;&amp;#xB85C;&amp;#xBE0C;&amp;#xB85C; &amp;#xC778;&amp;#xACC4;&amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;/li&gt;
&lt;/ul&gt;
&lt;br&gt;
&lt;h3 class=&quot;mume-header&quot; id=&quot;div-ida04-443-%EC%83%81%ED%83%9C-%EA%B2%80%EC%82%AC%EC%9D%98-%EA%B8%B0%ED%83%80-%ED%83%80%EC%9E%85div&quot;&gt;&lt;div id=&quot;a04-4&quot;&gt;4.3. &amp;#xC0C1;&amp;#xD0DC; &amp;#xAC80;&amp;#xC0AC;&amp;#xC758; &amp;#xAE30;&amp;#xD0C0; &amp;#xD0C0;&amp;#xC785;&lt;/div&gt;&lt;/h3&gt;

&lt;p&gt;&amp;#xC0C1;&amp;#xD0DC;&amp;#xAC80;&amp;#xC0AC;&amp;#xB294; HTTP &amp;#xAC80;&amp;#xC0AC; &amp;#xC678;&amp;#xC5D0;&amp;#xB3C4;&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;yml{.line-numbers, highlight=14-19}&quot; class=&quot;language-yaml line-numbers&quot; data-line=&quot;14-19&quot;&gt;&lt;span class=&quot;token key atrule&quot;&gt;apiVersion&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; v1
&lt;span class=&quot;token key atrule&quot;&gt;kind&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; Pod
&lt;span class=&quot;token key atrule&quot;&gt;metadata&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
  &lt;span class=&quot;token key atrule&quot;&gt;labels&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
    &lt;span class=&quot;token key atrule&quot;&gt;test&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; liveness
  &lt;span class=&quot;token key atrule&quot;&gt;name&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; liveness&lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt;http
&lt;span class=&quot;token key atrule&quot;&gt;spec&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
  &lt;span class=&quot;token key atrule&quot;&gt;containers&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
  &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;token key atrule&quot;&gt;name&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; liveness
    &lt;span class=&quot;token key atrule&quot;&gt;image&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; registry.k8s.io/liveness
    &lt;span class=&quot;token key atrule&quot;&gt;args&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt; /server
    &lt;span class=&quot;token key atrule&quot;&gt;livenessProbe&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
      &lt;span class=&quot;token key atrule&quot;&gt;httpGet&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
        &lt;span class=&quot;token key atrule&quot;&gt;path&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; /healthz
        &lt;span class=&quot;token key atrule&quot;&gt;port&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;8080&lt;/span&gt;
        &lt;span class=&quot;token key atrule&quot;&gt;httpHeaders&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;token key atrule&quot;&gt;name&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; Custom&lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt;Header
          &lt;span class=&quot;token key atrule&quot;&gt;value&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; Awesome
      &lt;span class=&quot;token key atrule&quot;&gt;initialDelaySeconds&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;3&lt;/span&gt;
      &lt;span class=&quot;token key atrule&quot;&gt;periodSeconds&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;3&lt;/span&gt;
&lt;span aria-hidden=&quot;true&quot; class=&quot;line-numbers-rows&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class=&quot;line-highlight-wrapper&quot;&gt;












&lt;div aria-hidden=&quot;true&quot; class=&quot;line-highlight&quot; data-range=&quot;14-19&quot; data-start=&quot;14&quot; data-end=&quot;19&quot;&gt;





&lt;/div&gt;&lt;/div&gt;&lt;/pre&gt;&lt;br&gt;
&lt;p&gt;TCP &amp;#xC18C;&amp;#xCF13;&amp;#xC744; &amp;#xC774;&amp;#xC6A9;&amp;#xD55C; &amp;#xC0C1;&amp;#xD0DC; &amp;#xAC80;&amp;#xC0AC;&amp;#xB3C4; &amp;#xC9C0;&amp;#xC6D0;&amp;#xD558;&amp;#xACE0;&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;yml{.line-numbers, highlight=14-15}&quot; class=&quot;language-yaml line-numbers&quot; data-line=&quot;14-15&quot;&gt;&lt;span class=&quot;token key atrule&quot;&gt;apiVersion&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; v1
&lt;span class=&quot;token key atrule&quot;&gt;kind&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; Pod
&lt;span class=&quot;token key atrule&quot;&gt;metadata&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
  &lt;span class=&quot;token key atrule&quot;&gt;name&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; goproxy
  &lt;span class=&quot;token key atrule&quot;&gt;labels&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
    &lt;span class=&quot;token key atrule&quot;&gt;app&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; goproxy
&lt;span class=&quot;token key atrule&quot;&gt;spec&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
  &lt;span class=&quot;token key atrule&quot;&gt;containers&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
  &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;token key atrule&quot;&gt;name&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; goproxy
    &lt;span class=&quot;token key atrule&quot;&gt;image&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; registry.k8s.io/goproxy&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;0.1&lt;/span&gt;
    &lt;span class=&quot;token key atrule&quot;&gt;ports&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;token key atrule&quot;&gt;containerPort&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;8080&lt;/span&gt;
    &lt;span class=&quot;token key atrule&quot;&gt;readinessProbe&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
      &lt;span class=&quot;token key atrule&quot;&gt;tcpSocket&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
        &lt;span class=&quot;token key atrule&quot;&gt;port&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;8080&lt;/span&gt;
      &lt;span class=&quot;token key atrule&quot;&gt;initialDelaySeconds&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;15&lt;/span&gt;
      &lt;span class=&quot;token key atrule&quot;&gt;periodSeconds&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;10&lt;/span&gt;
    &lt;span class=&quot;token key atrule&quot;&gt;livenessProbe&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
      &lt;span class=&quot;token key atrule&quot;&gt;tcpSocket&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
        &lt;span class=&quot;token key atrule&quot;&gt;port&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;8080&lt;/span&gt;
      &lt;span class=&quot;token key atrule&quot;&gt;initialDelaySeconds&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;15&lt;/span&gt;
      &lt;span class=&quot;token key atrule&quot;&gt;periodSeconds&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;10&lt;/span&gt;
&lt;span aria-hidden=&quot;true&quot; class=&quot;line-numbers-rows&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class=&quot;line-highlight-wrapper&quot;&gt;












&lt;div aria-hidden=&quot;true&quot; class=&quot;line-highlight&quot; data-range=&quot;14-15&quot; data-start=&quot;14&quot; data-end=&quot;15&quot;&gt;

&lt;/div&gt;&lt;/div&gt;&lt;/pre&gt;&lt;br&gt;
&lt;p&gt;exec &amp;#xD504;&amp;#xB85C;&amp;#xBE0C;&amp;#xB3C4; &amp;#xC9C0;&amp;#xC6D0;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
exec &amp;#xD504;&amp;#xB85C;&amp;#xBE0C;&amp;#xB294; &amp;#xCEE8;&amp;#xD14C;&amp;#xC774;&amp;#xB108; &amp;#xB0B4;&amp;#xBD80;&amp;#xC5D0;&amp;#xC11C; &amp;#xC2A4;&amp;#xD06C;&amp;#xB9BD;&amp;#xD2B8;&amp;#xB098; &amp;#xD504;&amp;#xB85C;&amp;#xADF8;&amp;#xB7A8;&amp;#xC744; &amp;#xC2E4;&amp;#xD589;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xC2A4;&amp;#xD06C;&amp;#xB9BD;&amp;#xD2B8;&amp;#xAC00; &amp;#xC885;&amp;#xB8CC;&amp;#xCF54;&amp;#xB4DC; 0&amp;#xC744; &amp;#xBC18;&amp;#xD658;&amp;#xD560; &amp;#xACBD;&amp;#xC6B0; &amp;#xD574;&amp;#xB2F9; &amp;#xD504;&amp;#xB85C;&amp;#xBE0C;&amp;#xB97C; &amp;#xC131;&amp;#xACF5;&amp;#xC73C;&amp;#xB85C;, &amp;#xADF8; &amp;#xC678;&amp;#xC758; &amp;#xACBD;&amp;#xC6B0; &amp;#xC2E4;&amp;#xD328;&amp;#xB85C; &amp;#xAC04;&amp;#xC8FC;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
HTTP &amp;#xD638;&amp;#xCD9C;&amp;#xC5D0; &amp;#xC801;&amp;#xD569;&amp;#xD558;&amp;#xC9C0; &amp;#xC54A;&amp;#xC740; &amp;#xC0AC;&amp;#xC6A9;&amp;#xC790; &amp;#xC815;&amp;#xC758; &amp;#xC560;&amp;#xD50C;&amp;#xB9AC;&amp;#xCF00;&amp;#xC774;&amp;#xC158;&amp;#xC758; &amp;#xAC80;&amp;#xC99D; &amp;#xB85C;&amp;#xC9C1;&amp;#xC5D0; &amp;#xC774;&amp;#xC6A9;&amp;#xD558;&amp;#xBA74; &amp;#xC88B;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;yml{.line-numbers, highlight=16-19}&quot; class=&quot;language-yaml line-numbers&quot; data-line=&quot;16-19&quot;&gt;&lt;span class=&quot;token key atrule&quot;&gt;apiVersion&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; v1
&lt;span class=&quot;token key atrule&quot;&gt;kind&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; Pod
&lt;span class=&quot;token key atrule&quot;&gt;metadata&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
  &lt;span class=&quot;token key atrule&quot;&gt;labels&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
    &lt;span class=&quot;token key atrule&quot;&gt;test&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; liveness
  &lt;span class=&quot;token key atrule&quot;&gt;name&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; liveness&lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt;exec
&lt;span class=&quot;token key atrule&quot;&gt;spec&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
  &lt;span class=&quot;token key atrule&quot;&gt;containers&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
  &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;token key atrule&quot;&gt;name&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; liveness
    &lt;span class=&quot;token key atrule&quot;&gt;image&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; registry.k8s.io/busybox
    &lt;span class=&quot;token key atrule&quot;&gt;args&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt; /bin/sh
    &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt;c
    &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt; touch /tmp/healthy; sleep 30; rm &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt;f /tmp/healthy; sleep 600
    &lt;span class=&quot;token key atrule&quot;&gt;livenessProbe&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
      &lt;span class=&quot;token key atrule&quot;&gt;exec&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
        &lt;span class=&quot;token key atrule&quot;&gt;command&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt; cat
        &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt; /tmp/healthy
      &lt;span class=&quot;token key atrule&quot;&gt;initialDelaySeconds&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;5&lt;/span&gt;
      &lt;span class=&quot;token key atrule&quot;&gt;periodSeconds&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;5&lt;/span&gt;
&lt;span aria-hidden=&quot;true&quot; class=&quot;line-numbers-rows&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class=&quot;line-highlight-wrapper&quot;&gt;














&lt;div aria-hidden=&quot;true&quot; class=&quot;line-highlight&quot; data-range=&quot;16-19&quot; data-start=&quot;16&quot; data-end=&quot;19&quot;&gt;



&lt;/div&gt;&lt;/div&gt;&lt;/pre&gt;&lt;br&gt;
&lt;p&gt;&amp;#xADF8;&amp;#xBC16;&amp;#xC5D0; gRPC &amp;#xD504;&amp;#xB85C;&amp;#xBE0C;&amp;#xB3C4; &amp;#xC9C0;&amp;#xC6D0;&amp;#xD558;&amp;#xB2C8;, &amp;#xD544;&amp;#xC694;&amp;#xD558;&amp;#xB2E4;&amp;#xBA74; &lt;a href=&quot;https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#define-a-grpc-liveness-probe&quot;&gt;Define a gRPC liveness probe&lt;/a&gt;&amp;#xB97C; &amp;#xCC38;&amp;#xACE0;&amp;#xD558;&amp;#xC2DC;&amp;#xBA74; &amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 class=&quot;mume-header&quot; id=&quot;5-%EB%A6%AC%EC%86%8C%EC%8A%A4-%EA%B4%80%EB%A6%AC&quot;&gt;5. &amp;#xB9AC;&amp;#xC18C;&amp;#xC2A4; &amp;#xAD00;&amp;#xB9AC;&lt;/h2&gt;

&lt;p&gt;&lt;span class=&quot;fixme&quot;&gt;TODO ++&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;#xC560;&amp;#xD50C;&amp;#xB9AC;&amp;#xCF00;&amp;#xC774;&amp;#xC158;&amp;#xC774; &amp;#xD544;&amp;#xC694;&amp;#xB85C;&amp;#xD558;&amp;#xB294; &amp;#xB9AC;&amp;#xC18C;&amp;#xC2A4;&amp;#xC758; &amp;#xC591;&amp;#xC744; &amp;#xC815;&amp;#xC758;&lt;/p&gt;
&lt;p&gt;&amp;#xCFE0;&amp;#xBC84;&amp;#xB124;&amp;#xD2F0;&amp;#xC2A4;&amp;#xC5D0;&amp;#xC11C; &amp;#xC0AC;&amp;#xC6A9;&amp;#xC790;&amp;#xAC00; &amp;#xC124;&amp;#xC815;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xB294; &amp;#xB9AC;&amp;#xC18C;&amp;#xC2A4;&amp;#xC5D0; &amp;#xAD00;&amp;#xB828;&amp;#xB41C; 2&amp;#xAC00;&amp;#xC9C0; &amp;#xB9E4;&amp;#xD2B8;&amp;#xB9AD;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;resource &amp;#xC694;&amp;#xCCAD;(requests)
&lt;ul&gt;
&lt;li&gt;&amp;#xC560;&amp;#xD50C;&amp;#xB9AC;&amp;#xCF00;&amp;#xC774;&amp;#xC158; &amp;#xC2E4;&amp;#xD589;&amp;#xC744; &amp;#xC704;&amp;#xD574; &amp;#xD544;&amp;#xC694;&amp;#xD55C; &lt;strong&gt;&amp;#xCD5C;&amp;#xC18C;&lt;/strong&gt; resource &amp;#xC591; &amp;#xC124;&amp;#xC815;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;resource &amp;#xC81C;&amp;#xD55C;(limits)
&lt;ul&gt;
&lt;li&gt;&amp;#xC560;&amp;#xD50C;&amp;#xB9AC;&amp;#xCF00;&amp;#xC774;&amp;#xC158;&amp;#xC774; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xB294; &lt;strong&gt;&amp;#xCD5C;&amp;#xB300;&lt;/strong&gt; resource &amp;#xC591; &amp;#xC124;&amp;#xC815;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 class=&quot;mume-header&quot; id=&quot;6-%EB%B3%BC%EB%A5%A8%EC%9D%84-%ED%86%B5%ED%95%9C-%EB%8D%B0%EC%9D%B4%ED%84%B0-%EB%B3%B4%EC%A1%B4&quot;&gt;6. &amp;#xBCFC;&amp;#xB968;&amp;#xC744; &amp;#xD1B5;&amp;#xD55C; &amp;#xB370;&amp;#xC774;&amp;#xD130; &amp;#xBCF4;&amp;#xC874;&lt;/h2&gt;

&lt;p&gt;&amp;#xCFE0;&amp;#xBC84;&amp;#xB124;&amp;#xD2F0;&amp;#xC2A4;&amp;#xC5D0;&amp;#xC11C; &amp;#xC81C;&amp;#xACF5;&amp;#xD558;&amp;#xB294; persistent storage &amp;#xB85C;, &amp;#xD30C;&amp;#xB4DC;&amp;#xAC00; &amp;#xC0AD;&amp;#xC81C;&amp;#xB418;&amp;#xAC70;&amp;#xB098; &amp;#xCEE8;&amp;#xD14C;&amp;#xC774;&amp;#xB108;&amp;#xAC00; &amp;#xC7AC;&amp;#xC2DC;&amp;#xC791;&amp;#xB418;&amp;#xC5B4;&amp;#xB3C4; &amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xAC00; &amp;#xC0AD;&amp;#xC81C;&amp;#xB418;&amp;#xC9C0; &amp;#xC54A;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;spec.volumes&lt;/strong&gt; &amp;#xC139;&amp;#xC158;&amp;#xC5D0; &amp;#xCEE8;&amp;#xD14C;&amp;#xC774;&amp;#xB108; &amp;#xBAA9;&amp;#xB85D;&amp;#xC5D0;&amp;#xC11C; &amp;#xC811;&amp;#xADFC;&amp;#xD574;&amp;#xC57C;&amp;#xD560; &amp;#xBCFC;&amp;#xB968; &amp;#xBAA9;&amp;#xB85D;&amp;#xC744; &amp;#xCD94;&amp;#xAC00;&amp;#xD558;&amp;#xACE0;,&lt;br&gt;
&amp;#xBCFC;&amp;#xB968;&amp;#xC744; &amp;#xC774;&amp;#xC6A9;&amp;#xD560; &amp;#xCEE8;&amp;#xD14C;&amp;#xC774;&amp;#xB108;&amp;#xB4E4;&amp;#xC740; &lt;strong&gt;volumeMounts&lt;/strong&gt; &amp;#xC124;&amp;#xC815;&amp;#xC744; &amp;#xCD94;&amp;#xAC00;&amp;#xD574;&amp;#xC90D;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;yml{.line-numbers, highlight=[6-9,13-15]}&quot; class=&quot;language-yaml line-numbers&quot; data-line=&quot;6-9,13-15&quot;&gt;&lt;span class=&quot;token key atrule&quot;&gt;apiVersion&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; v1
&lt;span class=&quot;token key atrule&quot;&gt;kind&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; Pod
&lt;span class=&quot;token key atrule&quot;&gt;metadata&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
  &lt;span class=&quot;token key atrule&quot;&gt;name&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; kuard
&lt;span class=&quot;token key atrule&quot;&gt;spec&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
  &lt;span class=&quot;token key atrule&quot;&gt;volumes&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;token key atrule&quot;&gt;name&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; kuard&lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt;data
      &lt;span class=&quot;token key atrule&quot;&gt;hostPath&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
        &lt;span class=&quot;token key atrule&quot;&gt;path&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; /var/lib/kuard
  &lt;span class=&quot;token key atrule&quot;&gt;containers&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;token key atrule&quot;&gt;image&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; gcr.io/kuar&lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt;demo/kuard&lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt;arm64&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;blue
      &lt;span class=&quot;token key atrule&quot;&gt;name&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; kuard
      &lt;span class=&quot;token key atrule&quot;&gt;volumeMounts&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;token key atrule&quot;&gt;mountPath&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; /data
          &lt;span class=&quot;token key atrule&quot;&gt;name&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; kuard&lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt;data
      &lt;span class=&quot;token key atrule&quot;&gt;ports&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;token key atrule&quot;&gt;containerPort&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;8080&lt;/span&gt;
          &lt;span class=&quot;token key atrule&quot;&gt;name&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; http
          &lt;span class=&quot;token key atrule&quot;&gt;protocol&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; TCP
&lt;span aria-hidden=&quot;true&quot; class=&quot;line-numbers-rows&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class=&quot;line-highlight-wrapper&quot;&gt;




&lt;div aria-hidden=&quot;true&quot; class=&quot;line-highlight&quot; data-range=&quot;6-9&quot; data-start=&quot;6&quot; data-end=&quot;9&quot;&gt;



&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;line-highlight-wrapper&quot;&gt;











&lt;div aria-hidden=&quot;true&quot; class=&quot;line-highlight&quot; data-range=&quot;13-15&quot; data-start=&quot;13&quot; data-end=&quot;15&quot;&gt;


&lt;/div&gt;&lt;/div&gt;&lt;/pre&gt;&lt;hr&gt;
&lt;h3 class=&quot;mume-header&quot; id=&quot;%EB%85%B8%EB%93%9C&quot;&gt;&amp;#xB178;&amp;#xB4DC;&lt;/h3&gt;

&lt;p&gt;&amp;#xD30C;&amp;#xB4DC;&amp;#xB294; &amp;#xC5B8;&amp;#xC81C;&amp;#xB098; &amp;#xB178;&amp;#xB4DC; &amp;#xC704;&amp;#xC5D0;&amp;#xC11C; &amp;#xB3D9;&amp;#xC791;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xB178;&amp;#xB4DC;&amp;#xB294; &amp;#xCFE0;&amp;#xBC84;&amp;#xB124;&amp;#xD2F0;&amp;#xC2A4;&amp;#xC5D0;&amp;#xC11C; &amp;#xC6CC;&amp;#xCEE4;&amp;#xBA38;&amp;#xC2E0;&amp;#xC744; &amp;#xC758;&amp;#xBBF8;&amp;#xD558;&amp;#xACE0;, &amp;#xD074;&amp;#xB7EC;&amp;#xC2A4;&amp;#xD130;&amp;#xC5D0; &amp;#xB530;&amp;#xB77C; &amp;#xAC00;&amp;#xC0C1;&amp;#xBA38;&amp;#xC2E0;&amp;#xC77C; &amp;#xC218;&amp;#xB3C4; &amp;#xC788;&amp;#xACE0; &amp;#xBB3C;&amp;#xB9AC;&amp;#xBA38;&amp;#xC2E0;&amp;#xC77C; &amp;#xC218;&amp;#xB3C4; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xAC01; &amp;#xB178;&amp;#xB4DC;&amp;#xB294; &amp;#xCEE8;&amp;#xD2B8;&amp;#xB864; &amp;#xD50C;&amp;#xB808;&amp;#xC778;&amp;#xC5D0; &amp;#xC758;&amp;#xD574; &amp;#xAD00;&amp;#xB9AC;&amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xCEE8;&amp;#xD2B8;&amp;#xB864; &amp;#xD50C;&amp;#xB808;&amp;#xC778;&amp;#xC740; &amp;#xD074;&amp;#xB7EC;&amp;#xC2A4;&amp;#xD130; &amp;#xB0B4;&amp;#xC758; &amp;#xB178;&amp;#xB4DC;&amp;#xB97C; &amp;#xD1B5;&amp;#xD574; &amp;#xD30C;&amp;#xB4DC;&amp;#xC5D0; &amp;#xB300;&amp;#xD55C; &amp;#xC2A4;&amp;#xCF00;&amp;#xC974;&amp;#xB9C1;&amp;#xC744; &amp;#xC790;&amp;#xB3D9;&amp;#xC73C;&amp;#xB85C; &amp;#xCC98;&amp;#xB9AC;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;

  &lt;/div&gt;&lt;/div&gt;</description>
      <category>Infrastructure/Kubernetes</category>
      <author>jiniya22</author>
      <guid isPermaLink="true">https://jini-box.tistory.com/218</guid>
      <comments>https://jini-box.tistory.com/218#entry218comment</comments>
      <pubDate>Fri, 29 Dec 2023 16:25:10 +0900</pubDate>
    </item>
    <item>
      <title>[Go] 01. Go 시작하기</title>
      <link>https://jini-box.tistory.com/217</link>
      <description>&lt;div id=&quot;html-export&quot;&gt;
      &lt;div class=&quot;mume markdown-preview  &quot;&gt;
      &lt;ol&gt;
&lt;li&gt;Go
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;#a01-1&quot;&gt;Go?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#a01-2&quot;&gt;go &amp;#xC124;&amp;#xCE58;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#a01-3&quot;&gt;build&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#a02&quot;&gt;Hello world!! &amp;#xCD9C;&amp;#xB825; &amp;#xC2E4;&amp;#xC2B5;&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;hr&gt;
&lt;h2 class=&quot;mume-header&quot; id=&quot;div-ida01-11-godiv&quot;&gt;&lt;div id=&quot;a01-1&quot;&gt;1. Go&lt;/div&gt;&lt;/h2&gt;

&lt;h3 class=&quot;mume-header&quot; id=&quot;11-go&quot;&gt;1.1. Go?&lt;/h3&gt;

&lt;p&gt;Go&amp;#xB294; 2009&amp;#xB144;&amp;#xC5D0; &amp;#xBC1C;&amp;#xD45C;&amp;#xB41C; &amp;#xC624;&amp;#xD508;&amp;#xC18C;&amp;#xC2A4; &amp;#xD504;&amp;#xB85C;&amp;#xADF8;&amp;#xB798;&amp;#xBC0D; &amp;#xC5B8;&amp;#xC5B4;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;Go&amp;#xB294; &amp;#xC27D;&amp;#xACE0; &amp;#xC608;&amp;#xC678; &amp;#xC0C1;&amp;#xD669;&amp;#xC774; &amp;#xC801;&amp;#xC740; &amp;#xBB38;&amp;#xBC95;&amp;#xC744; &amp;#xAC00;&amp;#xC9C0;&amp;#xACE0; &amp;#xC788;&amp;#xB294; &amp;#xC5B8;&amp;#xC5B4;&amp;#xB85C;, &amp;#xBE60;&amp;#xB978; &amp;#xC131;&amp;#xB2A5;&amp;#xACFC; &amp;#xC77C;&amp;#xAD00;&amp;#xB418;&amp;#xACE0; &amp;#xC26C;&amp;#xC6B4; &amp;#xBB38;&amp;#xBC95;&amp;#xC774; &amp;#xD2B9;&amp;#xC9D5;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xC2DC;&amp;#xC2A4;&amp;#xD15C; &amp;#xD504;&amp;#xB85C;&amp;#xADF8;&amp;#xB798;&amp;#xBC0D;, &amp;#xBC31;&amp;#xC5D4;&amp;#xB4DC; &amp;#xD504;&amp;#xB85C;&amp;#xADF8;&amp;#xB798;&amp;#xBC0D;&amp;#xC73C;&amp;#xB85C; &amp;#xB9CE;&amp;#xC774; &amp;#xC0AC;&amp;#xC6A9;&amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&lt;br&gt;&lt;/p&gt;
&lt;p&gt;&amp;#xC544;&amp;#xB798;&amp;#xC640; &amp;#xAC19;&amp;#xC740; &amp;#xC8FC;&amp;#xC694; &amp;#xD2B9;&amp;#xC9D5;&amp;#xC744; &amp;#xAC00;&amp;#xC9C0;&amp;#xACE0; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&amp;#xD074;&amp;#xB798;&amp;#xC2A4; &amp;#xB300;&amp;#xC2E0; (&amp;#xBA54;&amp;#xC11C;&amp;#xB4DC;&amp;#xB97C; &amp;#xAC00;&amp;#xC9C0;&amp;#xACE0; &amp;#xC788;&amp;#xB294;) &amp;#xAD6C;&amp;#xC870;&amp;#xCCB4;&amp;#xB97C; &amp;#xC9C0;&amp;#xC6D0;&lt;/li&gt;
&lt;li&gt;&amp;#xC0C1;&amp;#xC18D; &amp;#xC9C0;&amp;#xC6D0; x&lt;/li&gt;
&lt;li&gt;&amp;#xC778;&amp;#xD130;&amp;#xD398;&amp;#xC774;&amp;#xC2A4;&amp;#xB294; &amp;#xC788;&amp;#xB2E4;&lt;/li&gt;
&lt;li&gt;&amp;#xD568;&amp;#xC218; &amp;#xB9AC;&amp;#xD130;&amp;#xB7F4;(&amp;#xC775;&amp;#xBA85;&amp;#xD568;&amp;#xC218;) &amp;#xC81C;&amp;#xACF5;&lt;/li&gt;
&lt;li&gt;&amp;#xACE0;&amp;#xC131;&amp;#xB2A5; &amp;#xAC00;&amp;#xBE44;&amp;#xC9C0; &amp;#xCEEC;&amp;#xB809;&amp;#xD130; &amp;#xC81C;&amp;#xACF5;&lt;/li&gt;
&lt;li&gt;&amp;#xBA54;&amp;#xBAA8;&amp;#xB9AC; &amp;#xC8FC;&amp;#xC18C;&amp;#xB97C; &amp;#xAC00;&amp;#xB9AC;&amp;#xD0A4;&amp;#xB294; &amp;#xD3EC;&amp;#xC778;&amp;#xD130;&amp;#xAC00; &amp;#xC788;&amp;#xB2E4;&lt;/li&gt;
&lt;li&gt;&amp;#xC81C;&amp;#xB124;&amp;#xB9AD; &amp;#xC9C0;&amp;#xC6D0; x&lt;/li&gt;
&lt;li&gt;&amp;#xB124;&amp;#xC784;&amp;#xC2A4;&amp;#xD398;&amp;#xC774;&amp;#xC2A4; &amp;#xC81C;&amp;#xACF5; x. &amp;#xBAA8;&amp;#xB4E0; &amp;#xCF54;&amp;#xB4DC;&amp;#xB294; &amp;#xD328;&amp;#xD0A4;&amp;#xC9C0; &amp;#xB2E8;&amp;#xC704;&amp;#xB85C; &amp;#xBD84;&amp;#xB9AC;&amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;&lt;/li&gt;
&lt;li&gt;&amp;#xC815;&amp;#xC801; &amp;#xCEF4;&amp;#xD30C;&amp;#xC77C; &amp;#xC5B8;&amp;#xC5B4;&lt;/li&gt;
&lt;li&gt;&amp;#xAC15;&amp;#xD0C0;&amp;#xC785; &amp;#xC5B8;&amp;#xC5B4;&lt;/li&gt;
&lt;/ul&gt;
&lt;br&gt;
&lt;p&gt;Go&amp;#xB294; &amp;#xAC00;&amp;#xBE44;&amp;#xC9C0; &amp;#xCEEC;&amp;#xB809;&amp;#xD130;&amp;#xB97C; &amp;#xC81C;&amp;#xACF5;&amp;#xD558;&amp;#xC9C0;&amp;#xB9CC;, &amp;#xAC00;&amp;#xBE44;&amp;#xC9C0; &amp;#xCEEC;&amp;#xB809;&amp;#xD130;&amp;#xAC00; &amp;#xC788;&amp;#xB294; &amp;#xC5B8;&amp;#xC5B4;&amp;#xC911; &amp;#xC0C1;&amp;#xC704; &amp;#xC131;&amp;#xB2A5;&amp;#xC744; &amp;#xAC00;&amp;#xC9C0;&amp;#xACE0; &amp;#xC788;&amp;#xB2E4;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;#xAC00;&amp;#xBE44;&amp;#xC9C0; &amp;#xCEEC;&amp;#xB809;&amp;#xD130;&amp;#xB294; &amp;#xBA54;&amp;#xBAA8;&amp;#xB9AC;&amp;#xC5D0;&amp;#xC11C; &amp;#xBD88;&amp;#xD544;&amp;#xC694;&amp;#xD55C; &amp;#xC601;&amp;#xC5ED;&amp;#xC744; &amp;#xCE58;&amp;#xC6CC;&amp;#xC90D;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&amp;#xAC00;&amp;#xBE44;&amp;#xC9C0; &amp;#xCEEC;&amp;#xB809;&amp;#xD130;&amp;#xAC00; &amp;#xC5C6;&amp;#xB294; &amp;#xC5B8;&amp;#xC5B4;
&lt;ul&gt;
&lt;li&gt;&amp;#xD504;&amp;#xB85C;&amp;#xADF8;&amp;#xB798;&amp;#xBA38;&amp;#xAC00; &amp;#xC9C1;&amp;#xC811; &amp;#xBA54;&amp;#xBAA8;&amp;#xB9AC; &amp;#xD560;&amp;#xB2F9;&amp;#xACFC; &amp;#xD574;&amp;#xC81C;&amp;#xB97C; &amp;#xCC45;&amp;#xC784;&amp;#xC838;&amp;#xC57C; &amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/li&gt;
&lt;li&gt;&amp;#xD560;&amp;#xB2F9;&amp;#xD55C; &amp;#xBA54;&amp;#xBAA8;&amp;#xB9AC;&amp;#xB97C; &amp;#xD574;&amp;#xC81C;&amp;#xD558;&amp;#xC9C0; &amp;#xC54A;&amp;#xC544;&amp;#xC11C; &amp;#xBA54;&amp;#xBAA8;&amp;#xB9AC; &amp;#xB204;&amp;#xC218; &amp;#xD604;&amp;#xC0C1;&amp;#xC774; &amp;#xBC1C;&amp;#xC0DD;&amp;#xB418;&amp;#xAC70;&amp;#xB098;&lt;/li&gt;
&lt;li&gt;&amp;#xC774;&amp;#xBBF8; &amp;#xD574;&amp;#xC81C;&amp;#xD55C; &amp;#xC601;&amp;#xC5ED;&amp;#xC744; &amp;#xB2E4;&amp;#xC2DC; &amp;#xD574;&amp;#xC81C;&amp;#xD558;&amp;#xC5EC; &amp;#xBC84;&amp;#xADF8;&amp;#xAC00; &amp;#xBC1C;&amp;#xC0DD;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/li&gt;
&lt;li&gt;&amp;#xBE44;&amp;#xAD50;&amp;#xC801; &amp;#xB354; &amp;#xBE60;&amp;#xB978; &amp;#xC131;&amp;#xB2A5;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&amp;#xAC00;&amp;#xBE44;&amp;#xC9C0; &amp;#xCEEC;&amp;#xB809;&amp;#xD130;&amp;#xAC00; &amp;#xC788;&amp;#xB294; &amp;#xC5B8;&amp;#xC5B4;
&lt;ul&gt;
&lt;li&gt;&amp;#xBA54;&amp;#xBAA8;&amp;#xB9AC; &amp;#xD574;&amp;#xC81C;&amp;#xB97C; &amp;#xC790;&amp;#xB3D9;&amp;#xC73C;&amp;#xB85C; &amp;#xD574;&amp;#xC8FC;&amp;#xAE30; &amp;#xB54C;&amp;#xBB38;&amp;#xC5D0; &amp;#xBA54;&amp;#xBAA8;&amp;#xB9AC; &amp;#xAD00;&amp;#xB828; &amp;#xBB38;&amp;#xC81C;&amp;#xAC00; &amp;#xC904;&amp;#xC5B4;&amp;#xB4E0;&amp;#xB2E4;&lt;/li&gt;
&lt;li&gt;&amp;#xBA54;&amp;#xBAA8;&amp;#xB9AC; &amp;#xCCAD;&amp;#xC18C;&amp;#xC5D0; CPU &amp;#xC131;&amp;#xB2A5;&amp;#xC744; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD55C;&amp;#xB2E4;&amp;#xB294; &amp;#xB2E8;&amp;#xC810;&amp;#xC774; &amp;#xC788;&amp;#xB2E4;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;br&gt;
&lt;p&gt;&amp;#xC815;&amp;#xC801; &amp;#xCEF4;&amp;#xD30C;&amp;#xC77C; &amp;#xC5B8;&amp;#xC5B4;&amp;#xB85C;, &amp;#xCEF4;&amp;#xD30C;&amp;#xC77C; &amp;#xACFC;&amp;#xC815;&amp;#xC744; &amp;#xAC70;&amp;#xCCD0; &amp;#xC2E4;&amp;#xD589; &amp;#xD30C;&amp;#xC77C;&amp;#xC744; &amp;#xBBF8;&amp;#xB9AC; &amp;#xB9CC;&amp;#xB4E4;&amp;#xC5B4;&amp;#xC57C; &amp;#xD558;&amp;#xC9C0;&amp;#xB9CC; &amp;#xB300;&amp;#xC2DC; &amp;#xC2E4;&amp;#xD589; &amp;#xC18D;&amp;#xB3C4;&amp;#xAC00; &amp;#xBE60;&amp;#xB974;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xAC15;&amp;#xD0C0;&amp;#xC785; &amp;#xC5B8;&amp;#xC5B4;&amp;#xB85C;, &amp;#xD0C0;&amp;#xC785;&amp;#xC5D0; &amp;#xC758;&amp;#xD55C; &amp;#xBB38;&amp;#xC81C;&amp;#xAC00; &amp;#xBC1C;&amp;#xC0DD;&amp;#xB418;&amp;#xC9C0; &amp;#xC54A;&amp;#xB294;&amp;#xB2E4;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;#xC815;&amp;#xC801; &amp;#xCEF4;&amp;#xD30C;&amp;#xC77C; &amp;#xC5B8;&amp;#xC5B4;?&lt;br&gt;
&amp;#xCEF4;&amp;#xD30C;&amp;#xC77C;&amp;#xD55C; &amp;#xACB0;&amp;#xACFC;&amp;#xBB3C;&amp;#xC778; &amp;#xC2E4;&amp;#xD589;&amp;#xD30C;&amp;#xC77C;&amp;#xC744; &amp;#xC0AC;&amp;#xC804;&amp;#xC5D0; &amp;#xB9CC;&amp;#xB4E4;&amp;#xC5B4;&amp;#xB450;&amp;#xACE0; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD558;&amp;#xB294; &amp;#xBC29;&amp;#xC2DD;&amp;#xC758; &amp;#xC5B8;&amp;#xC5B4;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;br&gt;
&lt;h3 class=&quot;mume-header&quot; id=&quot;div-ida01-212-go-%EC%84%A4%EC%B9%98div&quot;&gt;&lt;div id=&quot;a01-2&quot;&gt;1.2. go &amp;#xC124;&amp;#xCE58;&lt;/div&gt;&lt;/h3&gt;

&lt;p&gt;&lt;a href=&quot;https://go.dev/&quot;&gt;Go &amp;#xACF5;&amp;#xC2DD;&amp;#xD398;&amp;#xC774;&amp;#xC9C0;&lt;/a&gt; &amp;#xC5D0; &amp;#xB4E4;&amp;#xC5B4;&amp;#xAC00;&amp;#xC11C; OS&amp;#xC5D0; &amp;#xB9DE;&amp;#xB294; &amp;#xD30C;&amp;#xC77C;&amp;#xC744; &amp;#xB2E4;&amp;#xC6B4;&amp;#xB85C;&amp;#xB4DC; &amp;#xBC1B;&amp;#xACE0;&lt;/p&gt;
&lt;p&gt;&amp;#xD130;&amp;#xBBF8;&amp;#xB110;&amp;#xC5D0;&amp;#xC11C; &lt;code&gt;go version&lt;/code&gt;&amp;#xBA85;&amp;#xB839;&amp;#xC5B4; &amp;#xC2E4;&amp;#xD589;&amp;#xC2DC;, &amp;#xBC84;&amp;#xC804;&amp;#xC815;&amp;#xBCF4;&amp;#xAC00; &amp;#xCD9C;&amp;#xB825;&amp;#xB418;&amp;#xBA74; go &amp;#xC124;&amp;#xCE58;&amp;#xAC00; &amp;#xC644;&amp;#xB8CC;&amp;#xB41C; &amp;#xAC83;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;go version
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;go version go1.21.5 darwin/arm64
&lt;/pre&gt;&lt;br&gt;
&lt;h3 class=&quot;mume-header&quot; id=&quot;div-ida01-313-builddiv&quot;&gt;&lt;div id=&quot;a01-3&quot;&gt;1.3. build&lt;/div&gt;&lt;/h3&gt;

&lt;p&gt;Go&amp;#xC5B8;&amp;#xC5B4;&amp;#xC758; &amp;#xBAA8;&amp;#xB4E0; &amp;#xCF54;&amp;#xB4DC;&amp;#xB294; &amp;#xD328;&amp;#xD0A4;&amp;#xC9C0; &amp;#xB2E8;&amp;#xC704;&amp;#xB85C; &amp;#xC791;&amp;#xC131;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;. (1.16 &amp;#xC774;&amp;#xD6C4; &amp;#xBC84;&amp;#xC804;)&lt;/p&gt;
&lt;p&gt;&amp;#xB0B4;&amp;#xAC00; &amp;#xC704;&amp;#xCE58;&amp;#xB418;&amp;#xC5B4;&amp;#xC788;&amp;#xB294; &amp;#xAC00;&amp;#xC7A5; &amp;#xAC00;&amp;#xAE4C;&amp;#xC774; &amp;#xC788;&amp;#xB294; &amp;#xB514;&amp;#xB809;&amp;#xD1A0;&amp;#xB9AC;&amp;#xB97C; &amp;#xD328;&amp;#xD0A4;&amp;#xC9C0;&amp;#xB85C; &amp;#xAC04;&amp;#xC8FC;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xC608;&amp;#xB97C;&amp;#xB4E4;&amp;#xC5B4;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;goplayground/content/notice&lt;/code&gt; &amp;#xAD6C;&amp;#xC870;&amp;#xC5D0;&amp;#xC11C;,&lt;/p&gt;
&lt;p&gt;content &amp;#xD558;&amp;#xC704;&amp;#xC5D0;&amp;#xC788;&amp;#xB294; go &amp;#xD30C;&amp;#xC77C;&amp;#xC758; &amp;#xBAA8;&amp;#xB4C8;&amp;#xBA85;&amp;#xC740; &lt;strong&gt;goplayground/content&lt;/strong&gt; &amp;#xC774;&amp;#xACE0;,&lt;br&gt;
notice &amp;#xD558;&amp;#xC704;&amp;#xC5D0;&amp;#xC788;&amp;#xB294; go &amp;#xD30C;&amp;#xC77C;&amp;#xC758; &amp;#xBAA8;&amp;#xB4C8;&amp;#xBA85;&amp;#xC740; &lt;strong&gt;goplayground/content/notice&lt;/strong&gt; &amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;br&gt;
&lt;p&gt;&amp;#xBAA8;&amp;#xB4E0; Go&amp;#xCF54;&amp;#xB4DC;&amp;#xB294; &amp;#xBE4C;&amp;#xB4DC;&amp;#xD558;&amp;#xAE30; &amp;#xC804;&amp;#xC5D0; &amp;#xBAA8;&amp;#xB4C8;&amp;#xC744; &amp;#xC0DD;&amp;#xC131;&amp;#xD574;&amp;#xC57C; &amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xC544;&amp;#xB798;&amp;#xC640; &amp;#xAC19;&amp;#xC740; &amp;#xD615;&amp;#xC2DD;&amp;#xC73C;&amp;#xB85C;, &amp;#xBAA8;&amp;#xB4C8;&amp;#xC744; &amp;#xC0DD;&amp;#xC131;&amp;#xD55C; &amp;#xD6C4;, build&amp;#xD558;&amp;#xBA74; &amp;#xB418;&amp;#xB294;&amp;#xB370;&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;go mod init goplayground/content
&lt;/pre&gt;&lt;br&gt;
&lt;p&gt;&amp;#xBAA8;&amp;#xB4C8; &amp;#xC0DD;&amp;#xC131; &amp;#xBA85;&amp;#xB839;&amp;#xC5B4;&amp;#xB97C; &amp;#xC2E4;&amp;#xD589;&amp;#xD558;&amp;#xACE0;&amp;#xB098;&amp;#xBA74;, &amp;#xBAA8;&amp;#xB4C8;&amp;#xB0B4;&amp;#xC5D0; &lt;strong&gt;go.mod&lt;/strong&gt;&amp;#xB77C;&amp;#xB294; &amp;#xD30C;&amp;#xC77C;&amp;#xC774; &amp;#xC0DD;&amp;#xC131;&amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xD30C;&amp;#xC77C; &amp;#xB0B4;&amp;#xC5D0;&amp;#xB294; &amp;#xBAA8;&amp;#xB4C8;&amp;#xBA85;&amp;#xACFC; Go&amp;#xBC84;&amp;#xC804;, &amp;#xD544;&amp;#xC694;&amp;#xD55C; &amp;#xD328;&amp;#xD0A4;&amp;#xC9C0; &amp;#xBAA9;&amp;#xB85D; &amp;#xC815;&amp;#xBCF4;&amp;#xAC00; &amp;#xB2F4;&amp;#xACA8;&amp;#xC838; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;br&gt;
&lt;p&gt;&lt;em&gt;go build&lt;/em&gt; &amp;#xBA85;&amp;#xB839;&amp;#xC5B4;&amp;#xB97C; &amp;#xC2E4;&amp;#xD589;&amp;#xD558;&amp;#xBA74;, &amp;#xD604;&amp;#xC7AC; &amp;#xC2DC;&amp;#xC2A4;&amp;#xD15C;&amp;#xC5D0; &amp;#xB9DE;&amp;#xB294; &amp;#xC2E4;&amp;#xD589;&amp;#xD30C;&amp;#xC77C;&amp;#xC744; &amp;#xC0DD;&amp;#xC131;&amp;#xD574;&amp;#xC90D;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xB9CC;&amp;#xC57D;, &amp;#xD2B9;&amp;#xC815; &amp;#xC2DC;&amp;#xC2A4;&amp;#xD15C;&amp;#xC758; &amp;#xC2E4;&amp;#xD589;&amp;#xD30C;&amp;#xC77C;&amp;#xC744; &amp;#xB9CC;&amp;#xB4E4;&amp;#xACE0; &amp;#xC2F6;&amp;#xB2E4;&amp;#xBA74;, &amp;#xC544;&amp;#xB798;&amp;#xC640; &amp;#xAC19;&amp;#xC774; &lt;strong&gt;GOOS, GOARCH&lt;/strong&gt; &amp;#xC635;&amp;#xC158;&amp;#xC744; &amp;#xC9C1;&amp;#xC811; &amp;#xC9C0;&amp;#xC815;&amp;#xD558;&amp;#xC5EC; build&amp;#xD558;&amp;#xBA74; &amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;&lt;span class=&quot;token assign-left variable&quot;&gt;GOOS&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;linux &lt;span class=&quot;token assign-left variable&quot;&gt;GOARCH&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;amd64 go build
&lt;/pre&gt;&lt;br&gt;
&lt;p&gt;&amp;#xBE4C;&amp;#xB4DC;&amp;#xC5D0; &amp;#xC124;&amp;#xC815;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xB294; GOOS, GOARCH &amp;#xBAA9;&amp;#xB85D;&amp;#xC740; &amp;#xC544;&amp;#xB798; &amp;#xBA85;&amp;#xB839;&amp;#xC5B4;&amp;#xB97C; &amp;#xD1B5;&amp;#xD574; &amp;#xD655;&amp;#xC778;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;go tool dist list
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;aix/ppc64
android/386
android/amd64
android/arm
android/arm64
darwin/amd64
darwin/arm64
dragonfly/amd64
freebsd/386
freebsd/amd64
freebsd/arm
freebsd/arm64
freebsd/riscv64
illumos/amd64
ios/amd64
ios/arm64
js/wasm
linux/386
linux/amd64
linux/arm
linux/arm64
linux/loong64
linux/mips
linux/mips64
linux/mips64le
linux/mipsle
linux/ppc64
linux/ppc64le
linux/riscv64
linux/s390x
netbsd/386
netbsd/amd64
netbsd/arm
netbsd/arm64
openbsd/386
openbsd/amd64
openbsd/arm
openbsd/arm64
plan9/386
plan9/amd64
plan9/arm
solaris/amd64
wasip1/wasm
windows/386
windows/amd64
windows/arm
windows/arm64
&lt;/pre&gt;&lt;hr&gt;
&lt;h2 class=&quot;mume-header&quot; id=&quot;div-ida022-hello-jiniworld-%EC%B6%9C%EB%A0%A5-%EC%8B%A4%EC%8A%B5div&quot;&gt;&lt;div id=&quot;a02&quot;&gt;2. Hello jiniworld!! &amp;#xCD9C;&amp;#xB825; &amp;#xC2E4;&amp;#xC2B5;&lt;/div&gt;&lt;/h2&gt;

&lt;h3 class=&quot;mume-header&quot; id=&quot;21-hello-jiniworld-%EC%8B%A4%EC%8A%B5&quot;&gt;2.1. Hello jiniworld!! &amp;#xC2E4;&amp;#xC2B5;&lt;/h3&gt;

&lt;p&gt;&amp;#xBA3C;&amp;#xC800;, &amp;#xD504;&amp;#xB85C;&amp;#xC81D;&amp;#xD2B8;&amp;#xB97C; &amp;#xC0DD;&amp;#xC131;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xD504;&amp;#xB85C;&amp;#xC81D;&amp;#xD2B8; &amp;#xC774;&amp;#xB984;&amp;#xC740; &lt;strong&gt;goplayground&lt;/strong&gt;&amp;#xB85C; &amp;#xC0DD;&amp;#xC131;&amp;#xD558;&amp;#xC600;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&lt;br&gt;&lt;/p&gt;
&lt;p&gt;&amp;#xD504;&amp;#xB85C;&amp;#xC81D;&amp;#xD2B8; &amp;#xC548;&amp;#xC5D0; hello &amp;#xB514;&amp;#xB809;&amp;#xD1A0;&amp;#xB9AC;&amp;#xB97C; &amp;#xB9CC;&amp;#xB4E4;&amp;#xACE0;, &amp;#xADF8; &amp;#xC548;&amp;#xC5D0; hello.go &amp;#xD30C;&amp;#xC77C;&amp;#xC744; &amp;#xC0DD;&amp;#xC131;&amp;#xD558;&amp;#xC5EC;, &amp;#xC544;&amp;#xB798;&amp;#xC758; &amp;#xCF54;&amp;#xB4DC;&amp;#xB97C; &amp;#xC791;&amp;#xC131;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go&quot; class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword keyword-package&quot;&gt;package&lt;/span&gt; main

&lt;span class=&quot;token keyword keyword-import&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;fmt&amp;quot;&lt;/span&gt;

&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;main&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;Hello jiniworld!!&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;br&gt;
&lt;p&gt;Go 1.16 &amp;#xBC84;&amp;#xC804;&amp;#xBD80;&amp;#xD130; Go &amp;#xBAA8;&amp;#xB4C8;&amp;#xC744; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD558;&amp;#xB294; &amp;#xAC83;&amp;#xC774; &amp;#xAE30;&amp;#xBCF8;&amp;#xD615;&amp;#xD0DC;&amp;#xB85C; &amp;#xB418;&amp;#xC5C8;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;Go 1.16 &amp;#xC774;&amp;#xC804; &amp;#xBC84;&amp;#xC804;&amp;#xC5D0;&amp;#xC11C;&amp;#xB294; Go&amp;#xBAA8;&amp;#xB4C8;&amp;#xC744; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD558;&amp;#xC9C0; &amp;#xC54A;&amp;#xB294; &amp;#xCF54;&amp;#xB4DC;&amp;#xB294; &lt;strong&gt;$GOPATH/src&lt;/strong&gt; &amp;#xC544;&amp;#xB798;&amp;#xC5D0; &amp;#xC704;&amp;#xCE58;&amp;#xC2DC;&amp;#xD0A4;&amp;#xBA74; &amp;#xB418;&amp;#xC5C8;&amp;#xC9C0;&amp;#xB9CC;, &amp;#xC774;&amp;#xC81C;&amp;#xB294; &amp;#xBB34;&amp;#xC870;&amp;#xAC74; &amp;#xBAA8;&amp;#xB4E0; &amp;#xCF54;&amp;#xB4DC;&amp;#xB4E4;&amp;#xC744; Go&amp;#xBAA8;&amp;#xB4C8; &amp;#xC544;&amp;#xB798;&amp;#xC5D0; &amp;#xC704;&amp;#xCE58;&amp;#xC2DC;&amp;#xCF1C;&amp;#xC57C;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;hello.go &amp;#xCF54;&amp;#xB4DC;&amp;#xC758; &amp;#xACBD;&amp;#xC6B0;, hello &amp;#xBAA8;&amp;#xB4C8; &amp;#xC544;&amp;#xB798;&amp;#xC5D0; &amp;#xC704;&amp;#xCE58;&amp;#xB418;&amp;#xC5B4;&amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;br&gt;
&lt;p&gt;hello &amp;#xBAA8;&amp;#xB4C8;&amp;#xB85C; &amp;#xC774;&amp;#xB3D9;&amp;#xD558;&amp;#xACE0;&amp;#xB098;&amp;#xC11C;, &amp;#xBAA8;&amp;#xB4C8;&amp;#xC744; &amp;#xCD08;&amp;#xAE30;&amp;#xC138;&amp;#xD309; &amp;#xD574;&amp;#xC90D;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;&lt;span class=&quot;token builtin class-name&quot;&gt;cd&lt;/span&gt; hello
&lt;/pre&gt;&lt;br&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;go mod init goplayground/hello
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;go: creating new go.mod: module goplayground/hello
go: to &lt;span class=&quot;token function&quot;&gt;add&lt;/span&gt; module requirements and sums:
        go mod tidy
&lt;/pre&gt;&lt;br&gt;
&lt;p&gt;&amp;#xBAA8;&amp;#xB4C8; &amp;#xCD08;&amp;#xAE30;&amp;#xD654;&amp;#xB97C; &amp;#xB9C8;&amp;#xCCE4;&amp;#xB2E4;&amp;#xBA74;, &amp;#xBE4C;&amp;#xB4DC;&amp;#xB97C; &amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
Go &amp;#xBAA8;&amp;#xB4C8;&amp;#xC744; &amp;#xCD08;&amp;#xAE30;&amp;#xD654; &amp;#xD558;&amp;#xBA74; &amp;#xC2E4;&amp;#xD589;&amp;#xD30C;&amp;#xC77C;&amp;#xC774; &amp;#xC0DD;&amp;#xC131;&amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;go build
&lt;/pre&gt;&lt;p&gt;&lt;img src=&quot;img/01-1.png&quot; alt&gt;&lt;/p&gt;
&lt;br&gt;
&lt;p&gt;&amp;#xC2E4;&amp;#xD589;&amp;#xD30C;&amp;#xC77C;&amp;#xC744; &amp;#xC2E4;&amp;#xD589;&amp;#xD574;&amp;#xBCF4;&amp;#xBA74;, Hello jiniworld!!&amp;#xAC00; &amp;#xCD9C;&amp;#xB825;&amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;./hello
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;Hello jiniworld&lt;span class=&quot;token operator&quot;&gt;!&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;!&lt;/span&gt;
&lt;/pre&gt;&lt;br&gt;
&lt;p&gt;&lt;strong&gt;go run&lt;/strong&gt; &amp;#xBA85;&amp;#xB839;&amp;#xC5B4;&amp;#xB97C; &amp;#xC774;&amp;#xC6A9;&amp;#xD558;&amp;#xBA74; &amp;#xBE4C;&amp;#xB4DC;&amp;#xD558;&amp;#xC9C0; &amp;#xC54A;&amp;#xACE0; &amp;#xD30C;&amp;#xC77C;&amp;#xC744; &amp;#xBC14;&amp;#xB85C; &amp;#xC2E4;&amp;#xD589;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;go run hello.go
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;Hello jiniworld&lt;span class=&quot;token operator&quot;&gt;!&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;!&lt;/span&gt;
&lt;/pre&gt;&lt;br&gt;
&lt;h3 class=&quot;mume-header&quot; id=&quot;22-%EC%BD%94%EB%93%9C-%EC%84%A4%EB%AA%85&quot;&gt;2.2. &amp;#xCF54;&amp;#xB4DC; &amp;#xC124;&amp;#xBA85;&lt;/h3&gt;

&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;go{.line-numbers}&quot; class=&quot;language-go line-numbers&quot;&gt;&lt;span class=&quot;token keyword keyword-package&quot;&gt;package&lt;/span&gt; main

&lt;span class=&quot;token keyword keyword-import&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;fmt&amp;quot;&lt;/span&gt;

&lt;span class=&quot;token keyword keyword-func&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;main&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;Hello jiniworld!!&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span aria-hidden=&quot;true&quot; class=&quot;line-numbers-rows&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;p&gt;Go&amp;#xC5B8;&amp;#xC5B4;&amp;#xC758; &amp;#xBAA8;&amp;#xB4E0; &amp;#xCF54;&amp;#xB4DC;&amp;#xB294; &lt;strong&gt;&amp;#xD328;&amp;#xD0A4;&amp;#xC9C0; &amp;#xC120;&amp;#xC5B8;&amp;#xC73C;&amp;#xB85C; &amp;#xC2DC;&amp;#xC791;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&amp;#xC774; &amp;#xCF54;&amp;#xB4DC;&amp;#xAC00; main&amp;#xD328;&amp;#xD0A4;&amp;#xC9C0;&amp;#xC5D0; &amp;#xC18D;&amp;#xD574;&amp;#xC788;&amp;#xB294; &amp;#xCF54;&amp;#xB4DC;&amp;#xC784;&amp;#xC744; Go&amp;#xCEF4;&amp;#xD30C;&amp;#xC77C;&amp;#xB7EC;&amp;#xC5D0;&amp;#xAC8C; &amp;#xC54C;&amp;#xB824;&amp;#xC90D;&amp;#xB2C8;&amp;#xB2E4;. (ln 1)&lt;br&gt;
&lt;mark&gt;main &amp;#xD328;&amp;#xD0A4;&amp;#xC9C0;&amp;#xB294; &amp;#xD504;&amp;#xB85C;&amp;#xADF8;&amp;#xB7A8;&amp;#xC758; &amp;#xC2DC;&amp;#xC791;&amp;#xC810;&amp;#xC744; &amp;#xD3EC;&amp;#xD568;&amp;#xD558;&amp;#xB294;&lt;/mark&gt; &amp;#xD2B9;&amp;#xBCC4;&amp;#xD55C; &amp;#xD328;&amp;#xD0A4;&amp;#xC9C0;&amp;#xB85C;, main &amp;#xD328;&amp;#xD0A4;&amp;#xC9C0;&amp;#xB97C; &amp;#xC120;&amp;#xC5B8;&amp;#xD588;&amp;#xC744; &amp;#xACBD;&amp;#xC6B0; &amp;#xBC18;&amp;#xB4DC;&amp;#xC2DC; main&amp;#xD568;&amp;#xC218;&amp;#xB97C; &amp;#xC791;&amp;#xC131;&amp;#xD574;&amp;#xC57C;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xB2E4;&amp;#xB978; &amp;#xD328;&amp;#xD0A4;&amp;#xC9C0;&amp;#xC5D0;&amp;#xC11C; &amp;#xC81C;&amp;#xACF5;&amp;#xD558;&amp;#xACE0; &amp;#xC788;&amp;#xB294; &amp;#xAE30;&amp;#xB2A5;&amp;#xC744; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD558;&amp;#xACE0; &amp;#xC2F6;&amp;#xC744; &amp;#xB54C;&amp;#xC5D0;&amp;#xB294; import&amp;#xB97C; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD558;&amp;#xBA74; &amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
fmt&amp;#xB294; &amp;#xD45C;&amp;#xC900; &amp;#xC785;&amp;#xCD9C;&amp;#xB825;&amp;#xC744; &amp;#xB0B4;&amp;#xC7A5;&amp;#xD558;&amp;#xACE0; &amp;#xC788;&amp;#xB294; &amp;#xB0B4;&amp;#xC7A5; &amp;#xD328;&amp;#xD0A4;&amp;#xC9C0;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.(ln 3)&lt;/p&gt;
&lt;p&gt;main&amp;#xD568;&amp;#xC218;&amp;#xB294; &amp;#xD504;&amp;#xB85C;&amp;#xADF8;&amp;#xB7A8;&amp;#xC758; &amp;#xC9C4;&amp;#xC785;&amp;#xC810; &amp;#xD568;&amp;#xC218;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;. Go&amp;#xB85C; &amp;#xB9CC;&amp;#xB4E0; &amp;#xD504;&amp;#xB85C;&amp;#xADF8;&amp;#xB7A8;&amp;#xC740; main&amp;#xD568;&amp;#xC218;&amp;#xC5D0;&amp;#xC11C; &amp;#xC2DC;&amp;#xC791;&amp;#xB418;&amp;#xACE0;, main&amp;#xD568;&amp;#xC218;&amp;#xAC00; &amp;#xC885;&amp;#xB8CC;&amp;#xB418;&amp;#xBA74; &amp;#xD504;&amp;#xB85C;&amp;#xADF8;&amp;#xB7A8;&amp;#xC774; &amp;#xC885;&amp;#xB8CC;&amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.(ln 5-7)&lt;/p&gt;
&lt;p&gt;Println&amp;#xC740; fmt &amp;#xD328;&amp;#xD0A4;&amp;#xC9C0;&amp;#xC5D0;&amp;#xC11C; &amp;#xD3EC;&amp;#xD568;&amp;#xD558;&amp;#xACE0; &amp;#xC788;&amp;#xB294; &amp;#xD45C;&amp;#xC900; &amp;#xCD9C;&amp;#xB825; &amp;#xD568;&amp;#xC218; &amp;#xC77C;&amp;#xC885;&amp;#xC73C;&amp;#xB85C;, &amp;#xBB38;&amp;#xC790;&amp;#xC5F4;&amp;#xC744; &amp;#xD130;&amp;#xBBF8;&amp;#xB110;&amp;#xC5D0; &amp;#xCD9C;&amp;#xB825;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.(ln 6)&lt;/p&gt;
&lt;hr&gt;

  &lt;/div&gt;&lt;/div&gt;</description>
      <category>Go</category>
      <author>jiniya22</author>
      <guid isPermaLink="true">https://jini-box.tistory.com/217</guid>
      <comments>https://jini-box.tistory.com/217#entry217comment</comments>
      <pubDate>Thu, 28 Dec 2023 18:32:14 +0900</pubDate>
    </item>
    <item>
      <title>[Docker] 01. 도커 시작하기</title>
      <link>https://jini-box.tistory.com/216</link>
      <description>&lt;div id=&quot;html-export&quot;&gt;
      &lt;div class=&quot;mume markdown-preview  &quot;&gt;
      &lt;ol&gt;
&lt;li&gt;Docker
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;#a01-1&quot;&gt;&amp;#xB3C4;&amp;#xCEE4; &amp;#xB4F1;&amp;#xC7A5; &amp;#xBC30;&amp;#xACBD;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#a01-2&quot;&gt;Docker?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#a01-3&quot;&gt;Docker &amp;#xC124;&amp;#xCE58;&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;docker CLI
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;#a02-1&quot;&gt;docker version&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#a02-2&quot;&gt;docker run&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#a02-3&quot;&gt;docker ps&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;hr&gt;
&lt;h2 class=&quot;mume-header&quot; id=&quot;div-ida01-11-dockerdiv&quot;&gt;&lt;div id=&quot;a01-1&quot;&gt;1. Docker&lt;/div&gt;&lt;/h2&gt;

&lt;h3 class=&quot;mume-header&quot; id=&quot;11-%EB%8F%84%EC%BB%A4-%EB%93%B1%EC%9E%A5-%EB%B0%B0%EA%B2%BD&quot;&gt;1.1. &amp;#xB3C4;&amp;#xCEE4; &amp;#xB4F1;&amp;#xC7A5; &amp;#xBC30;&amp;#xACBD;&lt;/h3&gt;

&lt;p&gt;&amp;#xC804;&amp;#xD1B5;&amp;#xC801;&amp;#xC778; &amp;#xBC29;&amp;#xBC95;&amp;#xC5D0;&amp;#xC11C;&amp;#xB294;, &amp;#xC5B4;&amp;#xB5A4; &amp;#xC6F9; &amp;#xC560;&amp;#xD50C;&amp;#xB9AC;&amp;#xCF00;&amp;#xC774;&amp;#xC158; &amp;#xC11C;&amp;#xBE44;&amp;#xC2A4;&amp;#xB97C; &amp;#xAD6C;&amp;#xCD95;&amp;#xD558;&amp;#xACE0;&amp;#xC790; &amp;#xD560; &amp;#xB54C;, &amp;#xC11C;&amp;#xBC84;&amp;#xC5D0; &amp;#xC6F9;&amp;#xC11C;&amp;#xBC84;, DB&amp;#xC11C;&amp;#xBC84;, Redis &amp;#xB4F1;&amp;#xC744; &amp;#xC9C1;&amp;#xC811; &amp;#xC124;&amp;#xCE58;&amp;#xD558;&amp;#xACE0;, &amp;#xAD6C;&amp;#xC131;&amp;#xD30C;&amp;#xC77C; &amp;#xC124;&amp;#xC815;&amp;#xC744; &amp;#xD55C; &amp;#xD6C4; &amp;#xAC01; &amp;#xC560;&amp;#xD50C;&amp;#xB9AC;&amp;#xCF00;&amp;#xC774;&amp;#xC158;&amp;#xAC04;&amp;#xC5D0; &amp;#xC5F0;&amp;#xB3D9;&amp;#xC744; &amp;#xD574;&amp;#xC57C; &amp;#xD588;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xC774;&amp;#xB7EC;&amp;#xD55C; &amp;#xBC29;&amp;#xC2DD;&amp;#xC73C;&amp;#xB85C; &amp;#xCCA0;&amp;#xCE58;&amp;#xD558;&amp;#xB294; &amp;#xAC83;&amp;#xC740; &amp;#xAD6C;&amp;#xC870;&amp;#xB97C; &amp;#xC138;&amp;#xD305;&amp;#xD558;&amp;#xB294;&amp;#xB370;&amp;#xC5D0; &amp;#xC778;&amp;#xB825;&amp;#xC790;&amp;#xC6D0;&amp;#xB3C4; &amp;#xB9CE;&amp;#xC774; &amp;#xB4E4; &amp;#xBFD0;&amp;#xB9CC; &amp;#xC544;&amp;#xB2C8;&amp;#xB77C;&lt;br&gt;
&amp;#xC11C;&amp;#xB85C; &amp;#xB2E4;&amp;#xB978; &amp;#xC2DC;&amp;#xC2A4;&amp;#xD15C;&amp;#xC5D0;&amp;#xC11C; &amp;#xD14C;&amp;#xC2A4;&amp;#xD2B8;&amp;#xB97C; &amp;#xD558;&amp;#xACE0;&amp;#xC790; &amp;#xD560; &amp;#xB54C;&amp;#xC5D0;&amp;#xB3C4; &amp;#xC5B4;&amp;#xB824;&amp;#xC6C0;&amp;#xC774; &amp;#xB9CE;&amp;#xC558;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xB610;, &amp;#xAC1C;&amp;#xBC1C;&amp;#xD658;&amp;#xACBD;&amp;#xC744; &amp;#xC124;&amp;#xC815;&amp;#xD558;&amp;#xBA74;&amp;#xC11C; &amp;#xD328;&amp;#xD0A4;&amp;#xC9C0; &amp;#xBC84;&amp;#xC804;&amp;#xC774;&amp;#xB098; OS&amp;#xC758; &amp;#xCC28;&amp;#xC774;&amp;#xC5D0; &amp;#xB530;&amp;#xB978; &amp;#xBD80;&amp;#xBD84;&amp;#xC73C;&amp;#xB85C; &amp;#xC778;&amp;#xD574; &amp;#xAC1C;&amp;#xC778; PC&amp;#xC5D0;&amp;#xC11C; &amp;#xAC1C;&amp;#xBC1C;&amp;#xD658;&amp;#xACBD;&amp;#xC744; &amp;#xC138;&amp;#xD305;&amp;#xD558;&amp;#xB294; &amp;#xAC83;&amp;#xB9CC;&amp;#xC73C;&amp;#xB85C;&amp;#xB3C4; &amp;#xB9CE;&amp;#xC740; &amp;#xC2DC;&amp;#xAC04;&amp;#xC774; &amp;#xC18C;&amp;#xC694;&amp;#xB418;&amp;#xC5C8;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&lt;br&gt;&lt;/p&gt;
&lt;p&gt;&amp;#xB3C4;&amp;#xCEE4;&amp;#xB97C; &amp;#xC774;&amp;#xC6A9;&amp;#xD558;&amp;#xC5EC; &amp;#xC11C;&amp;#xBE44;&amp;#xC2A4; &amp;#xD658;&amp;#xACBD;&amp;#xC744; &amp;#xAD6C;&amp;#xCD95;&amp;#xD558;&amp;#xBA74;, &amp;#xB2E4;&amp;#xC591;&amp;#xD55C; &amp;#xD658;&amp;#xACBD;&amp;#xC5D0;&amp;#xC11C;&amp;#xB3C4; &amp;#xC190;&amp;#xC27D;&amp;#xAC8C; &amp;#xC11C;&amp;#xBE44;&amp;#xC2A4;&amp;#xB97C; &amp;#xB2E4;&amp;#xC6B4;&amp;#xBC1B;&amp;#xACE0;, &amp;#xBC30;&amp;#xD3EC;&amp;#xB098; &amp;#xC2E4;&amp;#xD589;&amp;#xC744; &amp;#xD3B8;&amp;#xB9AC;&amp;#xD558;&amp;#xAC8C; &amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xB3C4;&amp;#xB85D; &amp;#xB3C4;&amp;#xC640;&amp;#xC90D;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;br&gt;
&lt;h3 class=&quot;mume-header&quot; id=&quot;div-ida01-212-dockerdiv&quot;&gt;&lt;div id=&quot;a01-2&quot;&gt;1.2. Docker?&lt;/div&gt;&lt;/h3&gt;

&lt;p&gt;&amp;#xB3C4;&amp;#xCEE4;&amp;#xB294; &amp;#xCEE8;&amp;#xD14C;&amp;#xC774;&amp;#xB108; &amp;#xAE30;&amp;#xBC18;&amp;#xC758; &amp;#xC624;&amp;#xD508;&amp;#xC18C;&amp;#xC2A4; &amp;#xAC00;&amp;#xC0C1;&amp;#xD654; &amp;#xD50C;&amp;#xB7AB;&amp;#xD3FC;&amp;#xC73C;&amp;#xB85C; (&amp;#xCEE8;&amp;#xD14C;&amp;#xC774;&amp;#xB108;&amp;#xB97C; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD558;&amp;#xC5EC;) &amp;#xC751;&amp;#xC6A9;&amp;#xD504;&amp;#xB85C;&amp;#xADF8;&amp;#xB7A8;&amp;#xC758; &amp;#xBC30;&amp;#xD3EC;&amp;#xB098; &amp;#xC2E4;&amp;#xD589;&amp;#xC744; &amp;#xBCF4;&amp;#xB2E4; &amp;#xAC04;&amp;#xD3B8;&amp;#xD558;&amp;#xAC8C; &amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xB3C4;&amp;#xB85D; &amp;#xC124;&amp;#xACC4;&amp;#xB41C; &amp;#xB3C4;&amp;#xAD6C; &amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xB2E4;&amp;#xC591;&amp;#xD55C; &amp;#xD504;&amp;#xB85C;&amp;#xADF8;&amp;#xB7A8;&amp;#xACFC; &amp;#xC2E4;&amp;#xD589;&amp;#xD658;&amp;#xACBD;&amp;#xC744; &amp;#xCEE8;&amp;#xD14C;&amp;#xC774;&amp;#xB108;&amp;#xB85C; &amp;#xCD94;&amp;#xC0C1;&amp;#xD654; &amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xCD94;&amp;#xC0C1;&amp;#xD654;&amp;#xB41C; &amp;#xCEE8;&amp;#xD14C;&amp;#xC774;&amp;#xB108;&amp;#xB97C; &amp;#xD65C;&amp;#xC6A9;&amp;#xD558;&amp;#xC5EC; &amp;#xD504;&amp;#xB85C;&amp;#xADF8;&amp;#xB7A8;&amp;#xC758; &amp;#xBC30;&amp;#xD3EC;&amp;#xB098; &amp;#xAD00;&amp;#xB9AC;&amp;#xB97C; &amp;#xD558;&amp;#xB098;&amp;#xC758; &amp;#xBC29;&amp;#xC2DD;&amp;#xC73C;&amp;#xB85C; &amp;#xCC98;&amp;#xD788;&amp;#xB77C;&amp;#xC5EC; &amp;#xB2E8;&amp;#xC21C;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xC5EC;&amp;#xB7EC;&amp;#xAC00;&amp;#xC9C0; &amp;#xD074;&amp;#xB77C;&amp;#xC6B0;&amp;#xB4DC; &amp;#xD658;&amp;#xACBD;&amp;#xC5D0;&amp;#xC11C; &amp;#xC2E4;&amp;#xD589;&amp;#xAC00;&amp;#xB2A5;&amp;#xD558;&amp;#xAC8C; &amp;#xD574;&amp;#xC90D;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&lt;br&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&amp;#xCEE8;&amp;#xD14C;&amp;#xC774;&amp;#xD130;&lt;/strong&gt;&amp;#xB294; &amp;#xCF54;&amp;#xB4DC;&amp;#xB97C; &amp;#xD3EC;&amp;#xD568;&amp;#xD55C; &amp;#xBAA8;&amp;#xB4E0; &amp;#xC885;&amp;#xC18D;&amp;#xC131;&amp;#xC744; &amp;#xD328;&amp;#xD0A4;&amp;#xC9C0;&amp;#xD654;&amp;#xD558;&amp;#xC5EC; &amp;#xC751;&amp;#xC6A9; &amp;#xD504;&amp;#xB85C;&amp;#xADF8;&amp;#xB7A8;&amp;#xC774; &amp;#xC5EC;&amp;#xB7EC; &amp;#xCEF4;&amp;#xD4E8;&amp;#xD130; &amp;#xD658;&amp;#xACBD;&amp;#xC5D0;&amp;#xC11C; &amp;#xBE60;&amp;#xB974;&amp;#xACE0; &amp;#xC548;&amp;#xC815;&amp;#xC801;&amp;#xC73C;&amp;#xB85C; &amp;#xC2E4;&amp;#xD589;&amp;#xB420; &amp;#xC218; &amp;#xC788;&amp;#xB3C4;&amp;#xB85D; &amp;#xD558;&amp;#xB294; &amp;#xC18C;&amp;#xD504;&amp;#xD2B8;&amp;#xC6E8;&amp;#xC5B4; &amp;#xD45C;&amp;#xC900; &amp;#xB2E8;&amp;#xC704;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&amp;#xCEE8;&amp;#xD14C;&amp;#xC774;&amp;#xB108;(&amp;#xB3C4;&amp;#xCEE4;) &amp;#xC774;&amp;#xBBF8;&amp;#xC9C0;&lt;/strong&gt;&amp;#xB294; &amp;#xC560;&amp;#xD50C;&amp;#xB9AC;&amp;#xCF00;&amp;#xC774;&amp;#xC158;&amp;#xC744; &amp;#xC2E4;&amp;#xD589;&amp;#xD558;&amp;#xB294;&amp;#xB370;&amp;#xC5D0; &amp;#xD544;&amp;#xC694;&amp;#xD55C; &amp;#xBAA8;&amp;#xB4E0; &amp;#xC694;&amp;#xC18C;(&amp;#xCF54;&amp;#xB4DC;, &amp;#xB7F0;&amp;#xD0C0;&amp;#xC784;, &amp;#xC2DC;&amp;#xC2A4;&amp;#xD15C; &amp;#xB3C4;&amp;#xAD6C;, &amp;#xC2DC;&amp;#xC2A4;&amp;#xD15C; &amp;#xB77C;&amp;#xC774;&amp;#xBE0C;&amp;#xB7EC;&amp;#xB9AC; &amp;#xBC0F; &amp;#xC124;&amp;#xC815;)&amp;#xB4E4;&amp;#xC744; &amp;#xD3EC;&amp;#xD568;&amp;#xD558;&amp;#xB294; &amp;#xAC00;&amp;#xBCCD;&amp;#xACE0; &amp;#xB3C5;&amp;#xB9BD;&amp;#xC801;&amp;#xC778; &amp;#xC2E4;&amp;#xD589; &amp;#xAC00;&amp;#xB2A5;&amp;#xD55C; &amp;#xC18C;&amp;#xD504;&amp;#xD2B8;&amp;#xC6E8;&amp;#xC5B4; &amp;#xD328;&amp;#xD0A4;&amp;#xC9C0;&amp;#xB97C; &amp;#xC758;&amp;#xBBF8;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&lt;br&gt;&lt;/p&gt;
&lt;p&gt;&amp;#xCEE8;&amp;#xD14C;&amp;#xC774;&amp;#xB108;&amp;#xD654;&amp;#xB41C; &amp;#xC18C;&amp;#xD504;&amp;#xD2B8;&amp;#xC6E8;&amp;#xC5B4;&amp;#xB294; &amp;#xC18C;&amp;#xD504;&amp;#xD2B8;&amp;#xC6E8;&amp;#xC5B4;&amp;#xB97C; &amp;#xD658;&amp;#xACBD;&amp;#xC73C;&amp;#xB85C;&amp;#xBD80;&amp;#xD130; &amp;#xACA9;&amp;#xB9AC;&amp;#xC2DC;&amp;#xCF1C;&amp;#xC8FC;&amp;#xBA70;, &amp;#xAC1C;&amp;#xBC1C;&amp;#xD658;&amp;#xACBD;&amp;#xC758; &amp;#xCC28;&amp;#xC774;&amp;#xC640; &amp;#xC0C1;&amp;#xAD00;&amp;#xC5C6;&amp;#xC774; &amp;#xADE0;&amp;#xC77C;&amp;#xD558;&amp;#xAC8C; &amp;#xC791;&amp;#xB3D9;&amp;#xB418;&amp;#xB3C4;&amp;#xB85D; &amp;#xBCF4;&amp;#xC7A5;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;. &amp;#xC774;&amp;#xC5D0; &amp;#xC758;&amp;#xD574; OS&amp;#xC640; &amp;#xC0C1;&amp;#xAD00;&amp;#xC5C6;&amp;#xC774; &amp;#xD56D;&amp;#xC0C1; &amp;#xB3D9;&amp;#xC77C;&amp;#xD558;&amp;#xAC8C; &amp;#xC2E4;&amp;#xD589;&amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&lt;br&gt;&lt;/p&gt;
&lt;p&gt;&amp;#xB3C4;&amp;#xCEE4; &amp;#xC774;&amp;#xBBF8;&amp;#xC9C0;&amp;#xB294; &amp;#xD504;&amp;#xB85C;&amp;#xADF8;&amp;#xB7A8;&amp;#xC744; &amp;#xC2E4;&amp;#xD589;&amp;#xD558;&amp;#xB294;&amp;#xB370;&amp;#xC5D0; &amp;#xD544;&amp;#xC694;&amp;#xD55C; &amp;#xBAA8;&amp;#xB4E0; &amp;#xC124;&amp;#xC815;&amp;#xACFC; &amp;#xC885;&amp;#xC18D;&amp;#xC131;&amp;#xB4E4;&amp;#xC774; &amp;#xB4E4;&amp;#xC5B4;&amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xB3C4;&amp;#xCEE4; &amp;#xC774;&amp;#xBBF8;&amp;#xC9C0;&amp;#xB97C; &amp;#xC778;&amp;#xC2A4;&amp;#xD134;&amp;#xC2A4;&amp;#xD654;&amp;#xD55C; &amp;#xAC83;&amp;#xC774; &amp;#xB3C4;&amp;#xCEE4; &amp;#xCEE8;&amp;#xD14C;&amp;#xC774;&amp;#xB108;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xB3C4;&amp;#xCEE4; &amp;#xCEE8;&amp;#xD14C;&amp;#xC774;&amp;#xB108;&amp;#xB97C; &amp;#xC2E4;&amp;#xD589;&amp;#xD558;&amp;#xB294; &amp;#xAC83;&amp;#xC774; &amp;#xBC14;&amp;#xB85C; &amp;#xD504;&amp;#xB85C;&amp;#xADF8;&amp;#xB7A8;&amp;#xC744; &amp;#xC2E4;&amp;#xD589;&amp;#xD558;&amp;#xB294; &amp;#xAC83;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;br&gt;
&lt;h3 class=&quot;mume-header&quot; id=&quot;div-ida01-313-docker-%EC%84%A4%EC%B9%98div&quot;&gt;&lt;div id=&quot;a01-3&quot;&gt;1.3. Docker &amp;#xC124;&amp;#xCE58;&lt;/div&gt;&lt;/h3&gt;

&lt;p&gt;&lt;a href=&quot;https://www.docker.com/get-started/&quot;&gt;Docker &amp;#xC6F9;&amp;#xD398;&amp;#xC774;&amp;#xC9C0;&lt;/a&gt;&amp;#xC5D0; &amp;#xB4E4;&amp;#xC5B4;&amp;#xAC00; docker&amp;#xB97C; &amp;#xB2E4;&amp;#xC6B4;&amp;#xBC1B;&amp;#xACE0;, Docker ID&amp;#xB97C; &amp;#xC0DD;&amp;#xC131;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&lt;br&gt;&lt;/p&gt;
&lt;p&gt;&amp;#xB3C4;&amp;#xCEE4; &amp;#xC124;&amp;#xCE58;&amp;#xB97C; &amp;#xC644;&amp;#xB8CC;&amp;#xD588;&amp;#xB2E4;&amp;#xBA74;, docker CLI&amp;#xB97C; &amp;#xC774;&amp;#xC6A9;&amp;#xD558;&amp;#xC5EC; &amp;#xB3C4;&amp;#xCEE4; &amp;#xBA85;&amp;#xB839;&amp;#xC5B4;&amp;#xB97C; &amp;#xC2E4;&amp;#xD589;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xAD00;&amp;#xB828; &amp;#xBA85;&amp;#xB839;&amp;#xC5B4;&amp;#xB294; &lt;em&gt;docker --help&lt;/em&gt; &amp;#xB97C; &amp;#xC2E4;&amp;#xD589;&amp;#xD558;&amp;#xBA74; &amp;#xB3C4;&amp;#xCEE4; &amp;#xBA85;&amp;#xB839;&amp;#xC5B4;&amp;#xC5D0; &amp;#xB300;&amp;#xD574; &amp;#xC0C1;&amp;#xC138;&amp;#xD55C; &amp;#xC124;&amp;#xBA85;&amp;#xC744; &amp;#xD655;&amp;#xC778;&amp;#xD574;&amp;#xBCFC; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;docker &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;OPTIONS&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; COMMAND
&lt;/pre&gt;&lt;br&gt;
```txt
Common Commands:
  run         Create and run a new container from an image
  exec        Execute a command in a running container
  ps          List containers
  build       Build an image from a Dockerfile
  pull        Download an image from a registry
  push        Upload an image to a registry
  images      List images
  login       Log in to a registry
  logout      Log out from a registry
  search      Search Docker Hub for images
  version     Show the Docker version information
  info        Display system-wide information
```
```sh
Management Commands:
  builder     Manage builds
  buildx*     Docker Buildx (Docker Inc., v0.11.2)
  compose*    Docker Compose (Docker Inc., v2.22.0)
  container   Manage containers
  context     Manage contexts
  image       Manage images
  manifest    Manage Docker image manifests and manifest lists
  network     Manage networks
  plugin      Manage plugins
  system      Manage Docker
  trust       Manage trust on Docker images
  volume      Manage volumes
```
```txt
Commands:
  attach      Attach local standard input, output, and error streams to a running container
  commit      Create a new image from a container&amp;#xB4;s changes
  cp          Copy files/folders between a container and the local filesystem
  create      Create a new container
  diff        Inspect changes to files or directories on a container&amp;apos;s filesystem
  events      Get real time events from the server
  export      Export a container&amp;apos;s filesystem as a tar archive
  history     Show the history of an image
  import      Import the contents from a tarball to create a filesystem image
  inspect     Return low-level information on Docker objects
  kill        Kill one or more running containers
  load        Load an image from a tar archive or STDIN
  logs        Fetch the logs of a container
  pause       Pause all processes within one or more containers
  port        List port mappings or a specific mapping for the container
  rename      Rename a container
  restart     Restart one or more containers
  rm          Remove one or more containers
  rmi         Remove one or more images
  save        Save one or more images to a tar archive (streamed to STDOUT by default)
  start       Start one or more stopped containers
  stats       Display a live stream of container(s) resource usage statistics
  stop        Stop one or more running containers
  tag         Create a tag TARGET_IMAGE that refers to SOURCE_IMAGE
  top         Display the running processes of a container
  unpause     Unpause all processes within one or more containers
  update      Update configuration of one or more containers
  wait        Block until one or more containers stop, then print their exit codes
```
```sh
Global Options:
      --config string      Location of client config files (default &amp;quot;/Users/sherry/.docker&amp;quot;)
  -c, --context string     Name of the context to use to connect to the daemon (overrides DOCKER_HOST env var and default context set with &amp;quot;docker context use&amp;quot;)
  -D, --debug              Enable debug mode
  -H, --host list          Daemon socket to connect to
  -l, --log-level string   Set the logging level (&amp;quot;debug&amp;quot;, &amp;quot;info&amp;quot;, &amp;quot;warn&amp;quot;, &amp;quot;error&amp;quot;, &amp;quot;fatal&amp;quot;) (default &amp;quot;info&amp;quot;)
      --tls                Use TLS; implied by --tlsverify
      --tlscacert string   Trust certs signed only by this CA (default &amp;quot;/Users/sherry/.docker/ca.pem&amp;quot;)
      --tlscert string     Path to TLS certificate file (default &amp;quot;/Users/sherry/.docker/cert.pem&amp;quot;)
      --tlskey string      Path to TLS key file (default &amp;quot;/Users/sherry/.docker/key.pem&amp;quot;)
      --tlsverify          Use TLS and verify the remote
  -v, --version            Print version information and quit
```
&lt;hr&gt;
&lt;h2 class=&quot;mume-header&quot; id=&quot;div-ida02-12-docker-clidiv&quot;&gt;&lt;div id=&quot;a02-1&quot;&gt;2. docker CLI&lt;/div&gt;&lt;/h2&gt;

&lt;h3 class=&quot;mume-header&quot; id=&quot;21-docker-version&quot;&gt;2.1. docker version&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;docker version&lt;/em&gt; &amp;#xBA85;&amp;#xB839;&amp;#xC5B4;&amp;#xB85C; &amp;#xB3C4;&amp;#xCEE4; &amp;#xBC84;&amp;#xC804;&amp;#xC744; &amp;#xC870;&amp;#xD68C;&amp;#xD574;&amp;#xBD05;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;docker version
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;Client:
 Cloud integration: v1.0.35
 Version:           &lt;span class=&quot;token number&quot;&gt;24.0&lt;/span&gt;.2
 API version:       &lt;span class=&quot;token number&quot;&gt;1.43&lt;/span&gt;
 Go version:        go1.20.4
 Git commit:        cb74dfc
 Built:             Thu May &lt;span class=&quot;token number&quot;&gt;25&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;21&lt;/span&gt;:51:16 &lt;span class=&quot;token number&quot;&gt;2023&lt;/span&gt;
 OS/Arch:           darwin/arm64
 Context:           desktop-linux

Server: Docker Desktop &lt;span class=&quot;token number&quot;&gt;4.21&lt;/span&gt;.1 &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;114176&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
 Engine:
  Version:          &lt;span class=&quot;token number&quot;&gt;24.0&lt;/span&gt;.2
  API version:      &lt;span class=&quot;token number&quot;&gt;1.43&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;minimum version &lt;span class=&quot;token number&quot;&gt;1.12&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
  Go version:       go1.20.4
  Git commit:       659604f
  Built:            Thu May &lt;span class=&quot;token number&quot;&gt;25&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;21&lt;/span&gt;:50:59 &lt;span class=&quot;token number&quot;&gt;2023&lt;/span&gt;
  OS/Arch:          linux/arm64
  Experimental:     &lt;span class=&quot;token boolean&quot;&gt;false&lt;/span&gt;
 containerd:
  Version:          &lt;span class=&quot;token number&quot;&gt;1.6&lt;/span&gt;.21
  GitCommit:        3dce8eb055cbb6872793272b4f20ed16117344f8
 runc:
  Version:          &lt;span class=&quot;token number&quot;&gt;1.1&lt;/span&gt;.7
  GitCommit:        v1.1.7-0-g860f061
 docker-init:
  Version:          &lt;span class=&quot;token number&quot;&gt;0.19&lt;/span&gt;.0
  GitCommit:        de40ad0
&lt;/pre&gt;&lt;br&gt;
&lt;h3 class=&quot;mume-header&quot; id=&quot;div-ida02-122-docker-rundiv&quot;&gt;&lt;div id=&quot;a02-1&quot;&gt;2.2. docker run&lt;/div&gt;&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;docker&lt;/em&gt; &amp;#xBA85;&amp;#xB839;&amp;#xC5B4;&amp;#xB294; docker CLI&amp;#xB85C;, &amp;#xD074;&amp;#xB77C;&amp;#xC774;&amp;#xC5B8;&amp;#xD2B8; &amp;#xBA85;&amp;#xB839;&amp;#xC5B4;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;docker run --help&lt;/em&gt; &amp;#xBA85;&amp;#xB839;&amp;#xC5B4;&amp;#xB97C; &amp;#xC2E4;&amp;#xD589;&amp;#xD558;&amp;#xBA74;, &lt;em&gt;docker run&lt;/em&gt; &amp;#xBA85;&amp;#xB839;&amp;#xC5B4;&amp;#xB97C; &amp;#xC2E4;&amp;#xD589;&amp;#xD558;&amp;#xB294; &amp;#xAC83;&amp;#xC5D0; &amp;#xB300;&amp;#xD55C; &amp;#xC0C1;&amp;#xC138;&amp;#xD55C; &amp;#xC815;&amp;#xBCF4;&amp;#xB97C; &amp;#xD655;&amp;#xC778;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xAC70;&amp;#xAE30;&amp;#xC5D0;&amp;#xB294;, run&amp;#xC5D0; &amp;#xB300;&amp;#xD55C; &amp;#xAC04;&amp;#xB7B5;&amp;#xD55C; &amp;#xC124;&amp;#xBA85;&amp;#xC73C;&amp;#xB85C;, &lt;code&gt;Create and run a new container from an image&lt;/code&gt; &amp;#xB77C;&amp;#xACE0; &amp;#xC4F0;&amp;#xC5EC;&amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&lt;em&gt;docker run&lt;/em&gt; &amp;#xC740; &amp;#xB3C4;&amp;#xCEE4; &amp;#xC774;&amp;#xBBF8;&amp;#xC9C0;&amp;#xB97C; &amp;#xC774;&amp;#xC6A9;&amp;#xD558;&amp;#xC5EC; &amp;#xC0C8;&amp;#xB85C;&amp;#xC6B4; &amp;#xCEE8;&amp;#xD14C;&amp;#xC774;&amp;#xB108;&amp;#xB97C; &amp;#xC0DD;&amp;#xC131; &amp;#xB610;&amp;#xB294; &amp;#xC2E4;&amp;#xD589;&amp;#xD558;&amp;#xB294; &amp;#xBA85;&amp;#xB839;&amp;#xC5B4;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;docker run &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;OPTIONS&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; IMAGE &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;COMMAND&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;ARG&lt;span class=&quot;token punctuation&quot;&gt;..&lt;/span&gt;.&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;
&lt;/pre&gt;&lt;br&gt;
&lt;p&gt;&amp;#xBA85;&amp;#xB839;&amp;#xC5B4;&amp;#xB97C; &amp;#xC2E4;&amp;#xD589;&amp;#xD588;&amp;#xC744; &amp;#xB54C;, &amp;#xB9CC;&amp;#xC77C; &amp;#xB85C;&amp;#xCEEC;(&amp;#xD604;&amp;#xC7AC;&amp;#xC11C;&amp;#xBC84;&amp;#xC758; &amp;#xC774;&amp;#xBBF8;&amp;#xC9C0; &amp;#xCE90;&amp;#xC2DC; &amp;#xBCF4;&amp;#xAD00; &amp;#xC7A5;&amp;#xC18C;)&amp;#xC5D0; &amp;#xADF8; &amp;#xC774;&amp;#xBBF8;&amp;#xC9C0;&amp;#xAC00; &amp;#xC5C6;&amp;#xC744; &amp;#xACBD;&amp;#xC6B0; Docker Hub&amp;#xB85C;&amp;#xBD80;&amp;#xD130; &amp;#xC774;&amp;#xBBF8;&amp;#xC9C0;&amp;#xB97C; &amp;#xB2E4;&amp;#xC6B4;&amp;#xBC1B;&amp;#xC740; &amp;#xD6C4; &amp;#xADF8; &amp;#xC774;&amp;#xBBF8;&amp;#xC9C0;&amp;#xB97C; &amp;#xC774;&amp;#xC6A9;&amp;#xD558;&amp;#xC5EC; &amp;#xB3C4;&amp;#xCEE4; &amp;#xCEE8;&amp;#xD14C;&amp;#xC774;&amp;#xB108;&amp;#xB97C; &amp;#xC2E4;&amp;#xD589;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xAE30;&amp;#xBCF8;&amp;#xC801;&amp;#xC73C;&amp;#xB85C;, &amp;#xB3C4;&amp;#xCEE4; &amp;#xC774;&amp;#xBBF8;&amp;#xC9C0; &amp;#xC548;&amp;#xC5D0; &amp;#xC815;&amp;#xC758;&amp;#xB41C; &amp;#xC2DC;&amp;#xC791; &amp;#xCEE4;&amp;#xB9E8;&amp;#xB4DC;&amp;#xB97C; &amp;#xC2E4;&amp;#xD589;&amp;#xD558;&amp;#xBA70;&lt;br&gt;
COMMAND&amp;#xB97C; &amp;#xC124;&amp;#xC815;&amp;#xD560; &amp;#xACBD;&amp;#xC6B0;, &amp;#xC2DC;&amp;#xC791; &amp;#xCEE4;&amp;#xB9E8;&amp;#xB4DC; &amp;#xB300;&amp;#xC2E0; &amp;#xB2E4;&amp;#xB978; &amp;#xBA85;&amp;#xB839;&amp;#xC5B4;&amp;#xB97C; &amp;#xC2E4;&amp;#xD589;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;#x203B; COMMAND&amp;#xB294; &amp;#xB3C4;&amp;#xCEE4; &amp;#xC774;&amp;#xBBF8;&amp;#xC9C0; &amp;#xC548;&amp;#xC5D0; &amp;#xC815;&amp;#xC758;&amp;#xB418;&amp;#xC5B4;&amp;#xC788;&amp;#xB294; &amp;#xBA85;&amp;#xB839;&amp;#xC5B4;&amp;#xB9CC; &amp;#xC2E4;&amp;#xD589; &amp;#xAC00;&amp;#xB2A5;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;br&gt;
&lt;p&gt;&lt;strong&gt;Docker &amp;#xC774;&amp;#xBBF8;&amp;#xC9C0; &amp;#xC2E4;&amp;#xD589; &amp;#xC608;&amp;#xC81C; 1&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;Hello from Docker!&lt;/code&gt;&amp;#xB77C;&amp;#xB294; &amp;#xBA54;&amp;#xC2DC;&amp;#xC9C0;&amp;#xB97C; &amp;#xCD9C;&amp;#xB825;&amp;#xD558;&amp;#xB294; &amp;#xC608;&amp;#xC81C;&amp;#xC6A9; &amp;#xB3C4;&amp;#xCEE4; &amp;#xC774;&amp;#xBBF8;&amp;#xC9C0;&amp;#xB97C; &amp;#xC774;&amp;#xC6A9;&amp;#xD558;&amp;#xC5EC; &amp;#xCEE8;&amp;#xD14C;&amp;#xC774;&amp;#xB108;&amp;#xB97C; &amp;#xC2E4;&amp;#xD589;&amp;#xD574;&amp;#xBD05;&amp;#xC2DC;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;docker run hello-world
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh{.line-numbers, highlight=[2-5]}&quot; class=&quot;language-bash line-numbers&quot; data-line=&quot;2-5&quot;&gt;Unable to &lt;span class=&quot;token function&quot;&gt;find&lt;/span&gt; image &lt;span class=&quot;token string&quot;&gt;&amp;apos;hello-world:latest&amp;apos;&lt;/span&gt; locally
latest: Pulling from library/hello-world
70f5ac315c5a: Pull complete
Digest: sha256:c79d06dfdfd3d3eb04cafd0dc2bacab0992ebc243e083cabe208bac4dd7759e0
Status: Downloaded newer image &lt;span class=&quot;token keyword keyword-for&quot;&gt;for&lt;/span&gt; hello-world:latest

Hello from Docker&lt;span class=&quot;token operator&quot;&gt;!&lt;/span&gt;
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
 &lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;. The Docker client contacted the Docker daemon.
 &lt;span class=&quot;token number&quot;&gt;2&lt;/span&gt;. The Docker daemon pulled the &lt;span class=&quot;token string&quot;&gt;&amp;quot;hello-world&amp;quot;&lt;/span&gt; image from the Docker Hub.
    &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;arm64v8&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
 &lt;span class=&quot;token number&quot;&gt;3&lt;/span&gt;. The Docker daemon created a new container from that image &lt;span class=&quot;token function&quot;&gt;which&lt;/span&gt; runs the
    executable that produces the output you are currently reading.
 &lt;span class=&quot;token number&quot;&gt;4&lt;/span&gt;. The Docker daemon streamed that output to the Docker client, &lt;span class=&quot;token function&quot;&gt;which&lt;/span&gt; sent it
    to your terminal.

To try something &lt;span class=&quot;token function&quot;&gt;more&lt;/span&gt; ambitious, you can run an Ubuntu container with:
 $ docker run -it ubuntu &lt;span class=&quot;token function&quot;&gt;bash&lt;/span&gt;

Share images, automate workflows, and &lt;span class=&quot;token function&quot;&gt;more&lt;/span&gt; with a &lt;span class=&quot;token function&quot;&gt;free&lt;/span&gt; Docker ID:
 https://hub.docker.com/

For &lt;span class=&quot;token function&quot;&gt;more&lt;/span&gt; examples and ideas, visit:
 https://docs.docker.com/get-started/
&lt;span aria-hidden=&quot;true&quot; class=&quot;line-numbers-rows&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class=&quot;line-highlight-wrapper&quot;&gt;
&lt;div aria-hidden=&quot;true&quot; class=&quot;line-highlight&quot; data-range=&quot;2-5&quot; data-start=&quot;2&quot; data-end=&quot;5&quot;&gt;



&lt;/div&gt;&lt;/div&gt;&lt;/pre&gt;&lt;blockquote&gt;
&lt;p&gt;&amp;#xB9CC;&amp;#xC77C; &amp;#xB85C;&amp;#xCEEC;&amp;#xC5D0; &amp;#xD574;&amp;#xB2F9; &amp;#xC774;&amp;#xBBF8;&amp;#xC9C0;&amp;#xAC00; &amp;#xC788;&amp;#xC744; &amp;#xACBD;&amp;#xC6B0;, line 2-5&amp;#xC758; &amp;#xC774;&amp;#xBBF8;&amp;#xC9C0;&amp;#xB97C; &amp;#xB2E4;&amp;#xC6B4;&amp;#xBC1B;&amp;#xB294; &amp;#xB85C;&amp;#xADF8;&amp;#xB294; &amp;#xCD9C;&amp;#xB825;&amp;#xB418;&amp;#xC9C0; &amp;#xC54A;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;br&gt;
&lt;p&gt;&lt;strong&gt;Docker &amp;#xC774;&amp;#xBBF8;&amp;#xC9C0; &amp;#xC2E4;&amp;#xD589; &amp;#xC608;&amp;#xC81C; 2&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;alpine&amp;#xC740; &amp;#xACBD;&amp;#xB7C9; &amp;#xB9AC;&amp;#xB205;&amp;#xC2A4; &amp;#xC774;&amp;#xBBF8;&amp;#xC9C0;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;-i, --interactive
&lt;ul&gt;
&lt;li&gt;&amp;#xD45C;&amp;#xC900;&amp;#xC785;&amp;#xCD9C;&amp;#xB825;&amp;#xC744; &amp;#xD65C;&amp;#xC131;&amp;#xD654;&amp;#xC2DC;&amp;#xD0B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;-t, --tty
&lt;ul&gt;
&lt;li&gt;pseudo-TTY(&amp;#xC720;&amp;#xC0AC; &amp;#xD130;&amp;#xBBF8;&amp;#xB110;) &amp;#xD560;&amp;#xB2F9;&lt;/li&gt;
&lt;li&gt;&amp;#xC720;&amp;#xC0AC; &amp;#xD130;&amp;#xBBF8;&amp;#xB110;&amp;#xC744; &amp;#xC774;&amp;#xC6A9;&amp;#xD558;&amp;#xC5EC; &amp;#xCEE8;&amp;#xD14C;&amp;#xC774;&amp;#xB108;&amp;#xC5D0; &amp;#xC811;&amp;#xC18D;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xAC8C; &amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;#xC544;&amp;#xB798;&amp;#xB294; alpine &amp;#xC774;&amp;#xBBF8;&amp;#xC9C0;&amp;#xB85C; &amp;#xC0DD;&amp;#xC131;&amp;#xD55C; &amp;#xCEE8;&amp;#xD14C;&amp;#xC774;&amp;#xB108;&amp;#xB97C; ls &amp;#xCEE4;&amp;#xB9E8;&amp;#xB4DC;&amp;#xB97C; &amp;#xC774;&amp;#xC6A9;&amp;#xD574;&amp;#xC11C; &amp;#xC2E4;&amp;#xD589;&amp;#xD55C; &amp;#xACB0;&amp;#xACFC;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;-it &amp;#xC635;&amp;#xC158;&amp;#xACFC; sh &amp;#xBA85;&amp;#xB839;&amp;#xC5B4;&amp;#xB97C; &amp;#xC774;&amp;#xC6A9;&amp;#xD558;&amp;#xC5EC; alpine &amp;#xCEE8;&amp;#xD14C;&amp;#xC774;&amp;#xB108; &amp;#xB0B4;&amp;#xC5D0; &amp;#xC811;&amp;#xADFC;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;/bin &amp;#xD558;&amp;#xC704;&amp;#xB97C; ls &amp;#xBA85;&amp;#xB839;&amp;#xC5B4;&amp;#xB85C; &amp;#xC870;&amp;#xD68C;&amp;#xD558;&amp;#xC5EC; &amp;#xC5B4;&amp;#xB5A4; COMMAND &amp;#xAC00; &amp;#xB4E4;&amp;#xC5B4;&amp;#xC788;&amp;#xB294;&amp;#xC9C0; &amp;#xD655;&amp;#xC778;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;sh, ls &amp;#xB4F1;&amp;#xC758; &amp;#xBA85;&amp;#xB839;&amp;#xC5B4;&amp;#xAC00; &amp;#xC5EC;&amp;#xAE30;&amp;#xC5D0; &amp;#xD3EC;&amp;#xD568;&amp;#xB418;&amp;#xC5B4;&amp;#xC788;&amp;#xAE30; &amp;#xB54C;&amp;#xBB38;&amp;#xC5D0;, COMMAND&amp;#xC5D0; sh&amp;#xB098; ls &amp;#xBA85;&amp;#xB839;&amp;#xC5B4;&amp;#xAC00; &amp;#xC0AC;&amp;#xC6A9; &amp;#xAC00;&amp;#xB2A5;&amp;#xD55C; &amp;#xAC83;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;docker run -it alpine &lt;span class=&quot;token function&quot;&gt;sh&lt;/span&gt;
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;txt&quot; class=&quot;language-txt&quot;&gt;/ # ls /bin
arch           chattr         dd             ed             fsync          ionice         linux32        lzop           mount          pidof          pwd            sed            stty           umount
ash            chgrp          df             egrep          getopt         iostat         linux64        makemime       mountpoint     ping           reformime      setpriv        su             uname
base64         chmod          dmesg          false          grep           ipcalc         ln             mkdir          mpstat         ping6          rev            setserial      sync           usleep
bbconfig       chown          dnsdomainname  fatattr        gunzip         kbd_mode       login          mknod          mv             pipe_progress  rm             sh             tar            watch
busybox        cp             dumpkmap       fdflush        gzip           kill           ls             mktemp         netstat        printenv       rmdir          sleep          touch          zcat
cat            date           echo           fgrep          hostname       link           lsattr         more           nice           ps             run-parts      stat           true
&lt;/pre&gt;&lt;br&gt;
&lt;p&gt;&lt;strong&gt;Docker &amp;#xC774;&amp;#xBBF8;&amp;#xC9C0; &amp;#xC2E4;&amp;#xD589; &amp;#xC608;&amp;#xC81C; 3&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;COMMAND&amp;#xC5D0; _ls_&amp;#xB97C; &amp;#xC124;&amp;#xC815;&amp;#xD558;&amp;#xC5EC; &amp;#xBA85;&amp;#xB839;&amp;#xC5B4;&amp;#xB97C; &amp;#xC2E4;&amp;#xD589;&amp;#xD55C; &amp;#xACB0;&amp;#xACFC;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
alpine &amp;#xC774;&amp;#xBBF8;&amp;#xC9C0;&amp;#xB85C; &amp;#xC2E4;&amp;#xD589;&amp;#xD55C; &amp;#xB3C4;&amp;#xCEE4; &amp;#xCEE8;&amp;#xD14C;&amp;#xC774;&amp;#xB108; &amp;#xB0B4;&amp;#xC758; &amp;#xB514;&amp;#xB809;&amp;#xD1A0;&amp;#xB9AC;&amp;#xC758; &amp;#xD30C;&amp;#xC77C; &amp;#xB9AC;&amp;#xC2A4;&amp;#xD2B8;&amp;#xB97C; &amp;#xCD9C;&amp;#xB825;&amp;#xD55C; &amp;#xACB0;&amp;#xACFC;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;docker run alpine &lt;span class=&quot;token function&quot;&gt;ls&lt;/span&gt;
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;bin
dev
etc
home
lib
media
mnt
opt
proc
root
run
sbin
srv
sys
tmp
usr
var
&lt;/pre&gt;&lt;br&gt;
&lt;h2 class=&quot;mume-header&quot; id=&quot;div-ida02-323-docker-psdiv&quot;&gt;&lt;div id=&quot;a02-3&quot;&gt;2.3. docker ps&lt;/div&gt;&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;p&lt;/strong&gt;roccess &lt;strong&gt;s&lt;/strong&gt;tatus&lt;br&gt;
&amp;#xB3C4;&amp;#xCEE4; &amp;#xCEE8;&amp;#xD14C;&amp;#xC774;&amp;#xB108; &amp;#xBAA9;&amp;#xB85D; &amp;#xC870;&amp;#xD68C;&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;docker &lt;span class=&quot;token function&quot;&gt;ps&lt;/span&gt;
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;txt&quot; class=&quot;language-txt&quot;&gt;Options:
  -a, --all             Show all containers (default shows just running)
  -f, --filter filter   Filter output based on conditions provided
      --format string   Format output using a custom template:
                        &amp;apos;table&amp;apos;:            Print output in table format with column headers (default)
                        &amp;apos;table TEMPLATE&amp;apos;:   Print output in table format using the given Go template
                        &amp;apos;json&amp;apos;:             Print in JSON format
                        &amp;apos;TEMPLATE&amp;apos;:         Print output using the given Go template.
                        Refer to https://docs.docker.com/go/formatting/ for more information about formatting output with templates
  -n, --last int        Show n last created containers (includes all states) (default -1)
  -l, --latest          Show the latest created container (includes all states)
      --no-trunc        Don&amp;apos;t truncate output
  -q, --quiet           Only display container IDs
  -s, --size            Display total file sizes
&lt;/pre&gt;&lt;br&gt;
&lt;p&gt;&amp;#xAE30;&amp;#xBCF8;&amp;#xC801;&amp;#xC73C;&amp;#xB85C; &amp;#xD604;&amp;#xC7AC; &amp;#xC2E4;&amp;#xD589;&amp;#xC911;&amp;#xC778; &amp;#xCEE8;&amp;#xD14C;&amp;#xC774;&amp;#xB108; &amp;#xBAA9;&amp;#xB85D;&amp;#xB9CC; &amp;#xC870;&amp;#xD68C;&amp;#xB418;&amp;#xBA70;, &lt;code&gt;-a (= --all)&lt;/code&gt; &amp;#xC635;&amp;#xC158;&amp;#xC744; &amp;#xCD94;&amp;#xAC00;&amp;#xD558;&amp;#xBA74; &amp;#xBAA8;&amp;#xB4E0; &amp;#xCEE8;&amp;#xD14C;&amp;#xC774;&amp;#xB108; &amp;#xBAA9;&amp;#xB85D;&amp;#xC744; &amp;#xC870;&amp;#xD68C;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;br&gt;
&lt;p&gt;&amp;#xD604;&amp;#xC7AC; &amp;#xC2E4;&amp;#xD589;&amp;#xC911;&amp;#xC778; &amp;#xCEE8;&amp;#xD14C;&amp;#xC774;&amp;#xB108;&amp;#xB97C; &amp;#xC870;&amp;#xD68C;&amp;#xD558;&amp;#xAE30; &amp;#xC704;&amp;#xD574;,&lt;br&gt;
&amp;#xC54C;&amp;#xD30C;&amp;#xC778; &amp;#xC774;&amp;#xBBF8;&amp;#xC9C0;&amp;#xB97C; &amp;#xC62C;&amp;#xB9B0; &amp;#xCEE8;&amp;#xD14C;&amp;#xC774;&amp;#xB108;&amp;#xC5D0; ping&amp;#xBA85;&amp;#xB839;&amp;#xC5B4;&amp;#xB97C; &amp;#xC2E4;&amp;#xD589;&amp;#xC2DC;&amp;#xCF1C;&amp;#xB454; &amp;#xD6C4;&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;docker run alpine &lt;span class=&quot;token function&quot;&gt;ping&lt;/span&gt; localhost
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;PING localhost &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;127.0&lt;/span&gt;.0.1&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;: &lt;span class=&quot;token number&quot;&gt;56&lt;/span&gt; data bytes
&lt;span class=&quot;token number&quot;&gt;64&lt;/span&gt; bytes from &lt;span class=&quot;token number&quot;&gt;127.0&lt;/span&gt;.0.1: &lt;span class=&quot;token assign-left variable&quot;&gt;seq&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt; &lt;span class=&quot;token assign-left variable&quot;&gt;ttl&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;64&lt;/span&gt; &lt;span class=&quot;token assign-left variable&quot;&gt;time&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;0.022&lt;/span&gt; ms
&lt;span class=&quot;token number&quot;&gt;64&lt;/span&gt; bytes from &lt;span class=&quot;token number&quot;&gt;127.0&lt;/span&gt;.0.1: &lt;span class=&quot;token assign-left variable&quot;&gt;seq&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt; &lt;span class=&quot;token assign-left variable&quot;&gt;ttl&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;64&lt;/span&gt; &lt;span class=&quot;token assign-left variable&quot;&gt;time&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;0.107&lt;/span&gt; ms
&lt;span class=&quot;token number&quot;&gt;64&lt;/span&gt; bytes from &lt;span class=&quot;token number&quot;&gt;127.0&lt;/span&gt;.0.1: &lt;span class=&quot;token assign-left variable&quot;&gt;seq&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;2&lt;/span&gt; &lt;span class=&quot;token assign-left variable&quot;&gt;ttl&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;64&lt;/span&gt; &lt;span class=&quot;token assign-left variable&quot;&gt;time&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;0.130&lt;/span&gt; ms
&lt;span class=&quot;token number&quot;&gt;64&lt;/span&gt; bytes from &lt;span class=&quot;token number&quot;&gt;127.0&lt;/span&gt;.0.1: &lt;span class=&quot;token assign-left variable&quot;&gt;seq&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;3&lt;/span&gt; &lt;span class=&quot;token assign-left variable&quot;&gt;ttl&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;64&lt;/span&gt; &lt;span class=&quot;token assign-left variable&quot;&gt;time&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;0.127&lt;/span&gt; ms
&lt;span class=&quot;token number&quot;&gt;64&lt;/span&gt; bytes from &lt;span class=&quot;token number&quot;&gt;127.0&lt;/span&gt;.0.1: &lt;span class=&quot;token assign-left variable&quot;&gt;seq&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;4&lt;/span&gt; &lt;span class=&quot;token assign-left variable&quot;&gt;ttl&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;64&lt;/span&gt; &lt;span class=&quot;token assign-left variable&quot;&gt;time&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;0.125&lt;/span&gt; ms
&lt;span class=&quot;token punctuation&quot;&gt;..&lt;/span&gt;.
&lt;/pre&gt;&lt;br&gt;
&lt;p&gt;&amp;#xD130;&amp;#xBBF8;&amp;#xB110;&amp;#xC744; &amp;#xD558;&amp;#xB098; &amp;#xB354; &amp;#xCF1C;&amp;#xC11C; &lt;code&gt;docker ps&lt;/code&gt;&amp;#xB97C; &amp;#xC2E4;&amp;#xD589;&amp;#xD558;&amp;#xBA74; &amp;#xC544;&amp;#xB798;&amp;#xC640; &amp;#xAC19;&amp;#xC774; &amp;#xC2E4;&amp;#xD589;&amp;#xC911;&amp;#xC778; &amp;#xCEE8;&amp;#xD14C;&amp;#xC774;&amp;#xB108; &amp;#xD504;&amp;#xB85C;&amp;#xC138;&amp;#xC2A4;&amp;#xAC00; &amp;#xCD9C;&amp;#xB825;&amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;docker &lt;span class=&quot;token function&quot;&gt;ps&lt;/span&gt;
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;CONTAINER ID   IMAGE     COMMAND            CREATED         STATUS         PORTS     NAMES
0806dde711bb   alpine    &lt;span class=&quot;token string&quot;&gt;&amp;quot;ping localhost&amp;quot;&lt;/span&gt;   &lt;span class=&quot;token number&quot;&gt;6&lt;/span&gt; seconds ago   Up &lt;span class=&quot;token number&quot;&gt;6&lt;/span&gt; seconds             charming_hertz
&lt;/pre&gt;&lt;ul&gt;
&lt;li&gt;CONTAINER ID
&lt;ul&gt;
&lt;li&gt;&amp;#xCEE8;&amp;#xD14C;&amp;#xC774;&amp;#xB108;&amp;#xC758; &amp;#xACE0;&amp;#xC720;&amp;#xD55C; &amp;#xC544;&amp;#xC774;&amp;#xB514;(&amp;#xD574;&amp;#xC2DC;&amp;#xAC12;&amp;#xC758; &amp;#xC77C;&amp;#xBD80;)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;IMAGE
&lt;ul&gt;
&lt;li&gt;&amp;#xCEE8;&amp;#xD14C;&amp;#xC774;&amp;#xB108; &amp;#xC0DD;&amp;#xC131;&amp;#xC2DC; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD55C; &amp;#xB3C4;&amp;#xCEE4; &amp;#xC774;&amp;#xBBF8;&amp;#xC9C0;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;COMMAND
&lt;ul&gt;
&lt;li&gt;&amp;#xCEE8;&amp;#xD14C;&amp;#xC774;&amp;#xB108; &amp;#xC2DC;&amp;#xC791;&amp;#xC2DC; &amp;#xC2E4;&amp;#xD589;&amp;#xD55C; &amp;#xCEE4;&amp;#xB9E8;&amp;#xB4DC;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;CREATED
&lt;ul&gt;
&lt;li&gt;&amp;#xCEE8;&amp;#xD14C;&amp;#xC774;&amp;#xB108; &amp;#xC2E4;&amp;#xD589;&amp;#xC2DC;&amp;#xAC04;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;STATUS
&lt;ul&gt;
&lt;li&gt;&amp;#xCEE8;&amp;#xD14C;&amp;#xC774;&amp;#xB108; &amp;#xC0C1;&amp;#xD0DC;
&lt;ul&gt;
&lt;li&gt;&amp;#xC2E4;&amp;#xD589;&amp;#xC911;(Up), &amp;#xC885;&amp;#xB8CC;(Exited), &amp;#xC77C;&amp;#xC2DC;&amp;#xC815;&amp;#xC9C0;(Pause)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;PORTS
&lt;ul&gt;
&lt;li&gt;&amp;#xCEE8;&amp;#xD14C;&amp;#xC774;&amp;#xB108;&amp;#xAC00; &amp;#xAC1C;&amp;#xBC29;&amp;#xD55C; &amp;#xD3EC;&amp;#xD2B8;&amp;#xC640; &amp;#xD638;&amp;#xC2A4;&amp;#xD2B8;&amp;#xC5D0; &amp;#xC5F0;&amp;#xACB0;&amp;#xD55C; &amp;#xD3EC;&amp;#xD2B8;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;NAMES
&lt;ul&gt;
&lt;li&gt;&amp;#xCEE8;&amp;#xD14C;&amp;#xC774;&amp;#xB108; &amp;#xACE0;&amp;#xC720; &amp;#xC774;&amp;#xB984;&lt;/li&gt;
&lt;li&gt;&amp;#xCEE8;&amp;#xD14C;&amp;#xC774;&amp;#xB108; &amp;#xC0DD;&amp;#xC131;&amp;#xC2DC; &lt;code&gt;--name&lt;/code&gt; &amp;#xC635;&amp;#xC158;&amp;#xC744; &amp;#xC124;&amp;#xC815;&amp;#xD558;&amp;#xC9C0; &amp;#xC54A;&amp;#xC744; &amp;#xACBD;&amp;#xC6B0; &amp;#xB3C4;&amp;#xCEE4; &amp;#xC5D4;&amp;#xC9C4;&amp;#xC774; &amp;#xC784;&amp;#xC758;&amp;#xB85C; &amp;#xC0DD;&amp;#xC131;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.(&amp;#xD615;&amp;#xC6A9;&amp;#xC0AC;_&amp;#xBA85;&amp;#xC0AC;&amp;#xB85C; &amp;#xC9C0;&amp;#xC5B4;&amp;#xC9D0;)&lt;/li&gt;
&lt;li&gt;&amp;#xC774;&amp;#xB984;&amp;#xC740; &amp;#xC911;&amp;#xBCF5;&amp;#xD560; &amp;#xC218; &amp;#xC5C6;&amp;#xACE0;, &lt;code&gt;docker rename&lt;/code&gt; &amp;#xBA85;&amp;#xB839;&amp;#xC5B4;&amp;#xB85C; &amp;#xC774;&amp;#xB984;&amp;#xC744; &amp;#xBCC0;&amp;#xACBD;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;docker rename &amp;#xAE30;&amp;#xC874;&amp;#xCEE8;&amp;#xD14C;&amp;#xC774;&amp;#xB108;&amp;#xBA85; &amp;#xBCC0;&amp;#xACBD;&amp;#xD560;&amp;#xCEE8;&amp;#xD14C;&amp;#xC774;&amp;#xB108;&amp;#xBA85;&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;br&gt;
&lt;p&gt;&lt;strong&gt;&amp;#xCEE8;&amp;#xD14C;&amp;#xC774;&amp;#xB108; &amp;#xBAA9;&amp;#xB85D; &amp;#xC911;, &amp;#xC6D0;&amp;#xD558;&amp;#xB294; &amp;#xD56D;&amp;#xBAA9;&amp;#xB9CC; &amp;#xC870;&amp;#xD68C;&amp;#xD558;&amp;#xAE30;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;--format&lt;/strong&gt; &amp;#xC635;&amp;#xC158;&amp;#xC744; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD558;&amp;#xBA74; &amp;#xC6D0;&amp;#xD558;&amp;#xB294; &amp;#xD56D;&amp;#xBAA9;&amp;#xB9CC; &amp;#xC124;&amp;#xC815;&amp;#xD55C; &amp;#xD3EC;&amp;#xB9F7;&amp;#xB300;&amp;#xB85C; &amp;#xC870;&amp;#xD68C;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;docker &lt;span class=&quot;token function&quot;&gt;ps&lt;/span&gt; --format &lt;span class=&quot;token string&quot;&gt;&amp;apos;table(&amp;#xD3EC;&amp;#xB9F7;)&amp;apos;&lt;/span&gt;
&lt;/pre&gt;&lt;p&gt;&amp;#xD3EC;&amp;#xB9F7;&amp;#xC740; &lt;code&gt;{{.&amp;#xD14C;&amp;#xC774;&amp;#xBE14;&amp;#xBA85;}}&lt;/code&gt;&amp;#xD615;&amp;#xD0DC;&amp;#xB85C; &amp;#xC791;&amp;#xC131;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xD14C;&amp;#xC774;&amp;#xBE14;&amp;#xBA85;&amp;#xC740; &amp;#xB9E8; &amp;#xC55E;&amp;#xAE00;&amp;#xC790;&amp;#xB9CC; &amp;#xB300;&amp;#xBB38;&amp;#xC790;&amp;#xB85C; &amp;#xD45C;&amp;#xC2DC;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;image&amp;#xBA85;, &amp;#xCEE4;&amp;#xB9E8;&amp;#xB4DC;, &amp;#xCEE8;&amp;#xD14C;&amp;#xC774;&amp;#xB108;&amp;#xB9CC; &amp;#xC870;&amp;#xD68C;&amp;#xD558;&amp;#xB294; &amp;#xBA85;&amp;#xB839;&amp;#xC740; &amp;#xC544;&amp;#xB798;&amp;#xC640; &amp;#xAC19;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;docker &lt;span class=&quot;token function&quot;&gt;ps&lt;/span&gt; --format &lt;span class=&quot;token string&quot;&gt;&amp;apos;table{{.ID}}\t{{.Image}}\t{{.Command}}\t{{.Names}}&amp;apos;&lt;/span&gt;
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;CONTAINER ID   IMAGE                                COMMAND                  NAMES
5094b62ff780   alpine                               &lt;span class=&quot;token string&quot;&gt;&amp;quot;ping localhost&amp;quot;&lt;/span&gt;         mystifying_dijkstra
&lt;/pre&gt;&lt;br&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;#xAD00;&amp;#xB828;&amp;#xB41C; &amp;#xC0C1;&amp;#xC138;&amp;#xD55C; format &amp;#xC124;&amp;#xC815;&amp;#xC744; &amp;#xC54C;&amp;#xACE0; &amp;#xC2F6;&amp;#xB2E4;&amp;#xBA74; &lt;a href=&quot;https://docs.docker.com/go/formatting/&quot;&gt;Docker docs - FOrmat command and log output&lt;/a&gt;&amp;#xC744; &amp;#xCC38;&amp;#xACE0;&amp;#xD558;&amp;#xC2DC;&amp;#xBA74; &amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;br&gt;
&lt;p&gt;&lt;strong&gt;&amp;#xBAA8;&amp;#xB4E0; &amp;#xCEE8;&amp;#xD14C;&amp;#xC774;&amp;#xB108; &amp;#xC870;&amp;#xD68C;&amp;#xD558;&amp;#xAE30;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;-a&lt;/strong&gt; &amp;#xC635;&amp;#xC158;&amp;#xC744; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD558;&amp;#xBA74;, &amp;#xC885;&amp;#xB8CC;&amp;#xD55C; &amp;#xCEE8;&amp;#xD14C;&amp;#xC774;&amp;#xB108;&amp;#xB97C; &amp;#xD3EC;&amp;#xD568;&amp;#xD558;&amp;#xC5EC; &amp;#xBAA8;&amp;#xB450; &amp;#xCD9C;&amp;#xB825;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;docker &lt;span class=&quot;token function&quot;&gt;ps&lt;/span&gt; -a
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;CONTAINER ID   IMAGE         COMMAND            CREATED          STATUS                      PORTS     NAMES
51386027ccda   alpine        &lt;span class=&quot;token string&quot;&gt;&amp;quot;ping localhost&amp;quot;&lt;/span&gt;   &lt;span class=&quot;token number&quot;&gt;3&lt;/span&gt; minutes ago    Exited &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;30&lt;/span&gt; seconds ago             ecstatic_bartik
0806dde711bb   alpine        &lt;span class=&quot;token string&quot;&gt;&amp;quot;ping localhost&amp;quot;&lt;/span&gt;   &lt;span class=&quot;token number&quot;&gt;16&lt;/span&gt; minutes ago   Exited &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;15&lt;/span&gt; minutes ago             charming_hertz
a02ec8137e2c   alpine        &lt;span class=&quot;token string&quot;&gt;&amp;quot;ls&amp;quot;&lt;/span&gt;               &lt;span class=&quot;token number&quot;&gt;31&lt;/span&gt; minutes ago   Exited &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;31&lt;/span&gt; minutes ago             nervous_diffie
8df60db66036   hello-world   &lt;span class=&quot;token string&quot;&gt;&amp;quot;ls&amp;quot;&lt;/span&gt;               &lt;span class=&quot;token number&quot;&gt;32&lt;/span&gt; minutes ago   Created                               brave_ptolemy
ac64dca944dd   hello-world   &lt;span class=&quot;token string&quot;&gt;&amp;quot;/hello&amp;quot;&lt;/span&gt;           &lt;span class=&quot;token number&quot;&gt;2&lt;/span&gt; hours ago      Exited &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;2&lt;/span&gt; hours ago                nostalgic_thompson
&lt;/pre&gt;
  &lt;/div&gt;&lt;/div&gt;</description>
      <category>Infrastructure/Docker</category>
      <category>docker</category>
      <author>jiniya22</author>
      <guid isPermaLink="true">https://jini-box.tistory.com/216</guid>
      <comments>https://jini-box.tistory.com/216#entry216comment</comments>
      <pubDate>Tue, 5 Dec 2023 01:20:50 +0900</pubDate>
    </item>
    <item>
      <title>[Kubernetes 시작하기] 02. 컨테이너 생성과 실행</title>
      <link>https://jini-box.tistory.com/215</link>
      <description>&lt;div id=&quot;html-export&quot;&gt;
      &lt;div class=&quot;mume markdown-preview  &quot;&gt;
      &lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;#a01&quot;&gt;&amp;#xCEE8;&amp;#xD14C;&amp;#xC774;&amp;#xB108; &amp;#xC774;&amp;#xBBF8;&amp;#xC9C0;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Docker&amp;#xB97C; &amp;#xD65C;&amp;#xC6A9;&amp;#xD55C; &amp;#xC560;&amp;#xD50C;&amp;#xB9AC;&amp;#xCF00;&amp;#xC774;&amp;#xC158; &amp;#xC774;&amp;#xBBF8;&amp;#xC9C0; &amp;#xBE4C;&amp;#xB4DC;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;#a02-1&quot;&gt;Dockerfile&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#a02-2&quot;&gt;&amp;#xC774;&amp;#xBBF8;&amp;#xC9C0; &amp;#xD06C;&amp;#xAE30; &amp;#xCD5C;&amp;#xC801;&amp;#xD654;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#a02-3&quot;&gt;&amp;#xC774;&amp;#xBBF8;&amp;#xC9C0; &amp;#xBCF4;&amp;#xC548;&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#a03&quot;&gt;&amp;#xB2E4;&amp;#xB2E8;&amp;#xACC4; &amp;#xC774;&amp;#xBBF8;&amp;#xC9C0; &amp;#xBE4C;&amp;#xB4DC;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#a04&quot;&gt;&amp;#xC6D0;&amp;#xACA9; &amp;#xB808;&amp;#xC9C0;&amp;#xC2A4;&amp;#xD2B8;&amp;#xB9AC;&amp;#xC5D0; &amp;#xC774;&amp;#xBBF8;&amp;#xC9C0; &amp;#xC800;&amp;#xC7A5;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&amp;#xCEE8;&amp;#xD14C;&amp;#xC774;&amp;#xB108; &amp;#xB7F0;&amp;#xD0C0;&amp;#xC784; &amp;#xC778;&amp;#xD130;&amp;#xD398;&amp;#xC774;&amp;#xC2A4;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;#a05-1&quot;&gt;docker&amp;#xB85C; &amp;#xCEE8;&amp;#xD14C;&amp;#xC774;&amp;#xB108; &amp;#xC2E4;&amp;#xD589;&amp;#xD558;&amp;#xAE30;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#a05-2&quot;&gt;&amp;#xB9AC;&amp;#xC18C;&amp;#xC2A4; &amp;#xC0AC;&amp;#xC6A9;&amp;#xB7C9; &amp;#xC81C;&amp;#xD55C;&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#a06&quot;&gt;&amp;#xC815;&amp;#xB9AC;&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;hr&gt;
&lt;p&gt;k8s&amp;#xB294; &amp;#xBD84;&amp;#xC0B0; &amp;#xC560;&amp;#xD50C;&amp;#xB9AC;&amp;#xCF00;&amp;#xC774;&amp;#xC158;&amp;#xC744; &amp;#xC0DD;&amp;#xC131;/&amp;#xBC30;&amp;#xD3EC;/&amp;#xAD00;&amp;#xB9AC;&amp;#xD558;&amp;#xAE30; &amp;#xC704;&amp;#xD55C; &amp;#xD50C;&amp;#xB7AB;&amp;#xD3FC;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;k8s &amp;#xAE30;&amp;#xBC18;&amp;#xC73C;&amp;#xB85C; &amp;#xC2DC;&amp;#xC2A4;&amp;#xD15C;&amp;#xC744; &amp;#xAD6C;&amp;#xCD95;&amp;#xD558;&amp;#xAE30; &amp;#xC704;&amp;#xD574;&amp;#xC11C;&amp;#xB294; &amp;#xC6B0;&amp;#xB9AC;&amp;#xB4E4;&amp;#xC774; &amp;#xC2E4;&amp;#xD589;&amp;#xD558;&amp;#xACE0;&amp;#xC790;&amp;#xD558;&amp;#xB294; &amp;#xD504;&amp;#xB85C;&amp;#xADF8;&amp;#xB7A8;&amp;#xC774; &amp;#xD3EC;&amp;#xD568;&amp;#xB418;&amp;#xC5B4;&amp;#xC788;&amp;#xB294; &lt;strong&gt;&amp;#xC560;&amp;#xD50C;&amp;#xB9AC;&amp;#xCF00;&amp;#xC774;&amp;#xC158; &amp;#xCEE8;&amp;#xD14C;&amp;#xC774;&amp;#xB108; &amp;#xC774;&amp;#xBBF8;&amp;#xC9C0;&lt;/strong&gt;&amp;#xB97C; &amp;#xBE4C;&amp;#xB4DC;&amp;#xD558;&amp;#xB294; &amp;#xAC83;&amp;#xACFC; &amp;#xBD84;&amp;#xC0B0; &amp;#xC2DC;&amp;#xC2A4;&amp;#xD15C;&amp;#xC744; &amp;#xAD6C;&amp;#xC131;&amp;#xD558;&amp;#xB294; &amp;#xBC29;&amp;#xBC95;&amp;#xC744; &amp;#xC54C;&amp;#xC544;&amp;#xC57C;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;&lt;br&gt;
&lt;br&gt;&lt;/p&gt;
&lt;p&gt;&amp;#xC560;&amp;#xD50C;&amp;#xB9AC;&amp;#xCF00;&amp;#xC774;&amp;#xC158; &amp;#xD504;&amp;#xB85C;&amp;#xADF8;&amp;#xB7A8;&amp;#xC740; (&amp;#xC560;&amp;#xD50C;&amp;#xB9AC;&amp;#xCF00;&amp;#xC774;&amp;#xC158;&amp;#xC744; &amp;#xAD6C;&amp;#xC131;&amp;#xD558;&amp;#xACE0; &amp;#xC788;&amp;#xB294;) &amp;#xD504;&amp;#xB85C;&amp;#xADF8;&amp;#xB798;&amp;#xBC0D; &amp;#xC5B8;&amp;#xC5B4;&amp;#xC758; &amp;#xB7F0;&amp;#xD0C0;&amp;#xC784;, &amp;#xB77C;&amp;#xC774;&amp;#xBE0C;&amp;#xB7EC;&amp;#xB9AC;, &amp;#xC18C;&amp;#xC2A4;&amp;#xCF54;&amp;#xB4DC;&amp;#xB85C; &amp;#xAD6C;&amp;#xC131;&amp;#xB418;&amp;#xC5B4; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xB300;&amp;#xBD80;&amp;#xBD84;&amp;#xC758; &amp;#xC560;&amp;#xD50C;&amp;#xB9AC;&amp;#xCF00;&amp;#xC774;&amp;#xC158;&amp;#xC740; &amp;#xC678;&amp;#xBD80; &amp;#xB77C;&amp;#xC774;&amp;#xBE0C;&amp;#xB7EC;&amp;#xB9AC;&amp;#xC5D0; &amp;#xC758;&amp;#xC874;&amp;#xC131;&amp;#xC744; &amp;#xAC00;&amp;#xC9C0;&amp;#xACE0; &amp;#xC788;&amp;#xB294; &amp;#xACBD;&amp;#xC6B0;&amp;#xAC00; &amp;#xB9CE;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xC678;&amp;#xBD80; &amp;#xB77C;&amp;#xC774;&amp;#xBE0C;&amp;#xB7EC;&amp;#xB9AC;&amp;#xB294; &amp;#xC77C;&amp;#xBC18;&amp;#xC801;&amp;#xC73C;&amp;#xB85C; &amp;#xD2B9;&amp;#xC815; &amp;#xBA38;&amp;#xC2E0;&amp;#xC5D0; &amp;#xC124;&amp;#xCE58;&amp;#xD55C; OS&amp;#xC758; &amp;#xACF5;&amp;#xC720; &amp;#xCEF4;&amp;#xD3EC;&amp;#xB10C;&amp;#xD2B8; &amp;#xD615;&amp;#xD0DC;&amp;#xB85C; &amp;#xC81C;&amp;#xACF5;&amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xACF5;&amp;#xC720; &amp;#xB77C;&amp;#xC774;&amp;#xBE0C;&amp;#xB7EC;&amp;#xB9AC;&amp;#xC5D0; &amp;#xC758;&amp;#xC874;&amp;#xC801;&amp;#xC77C; &amp;#xACBD;&amp;#xC6B0; &amp;#xB2E4;&amp;#xB978; OS&amp;#xB85C; &amp;#xC560;&amp;#xD50C;&amp;#xB9AC;&amp;#xCF00;&amp;#xC774;&amp;#xC158;&amp;#xC744; &amp;#xC774;&amp;#xAD00;&amp;#xD588;&amp;#xC744; &amp;#xB54C;, &amp;#xC560;&amp;#xD50C;&amp;#xB9AC;&amp;#xCF00;&amp;#xC774;&amp;#xC158; &amp;#xB0B4;&amp;#xBD80;&amp;#xC5D0; &amp;#xD3EC;&amp;#xD568;&amp;#xB41C; &amp;#xACF5;&amp;#xC720;&amp;#xB77C;&amp;#xC774;&amp;#xBE0C;&amp;#xB7EC;&amp;#xB9AC;&amp;#xAC00; OS&amp;#xC5D0; &amp;#xB9DE;&amp;#xC9C0;&amp;#xC54A;&amp;#xC544; &amp;#xB3D9;&amp;#xC791;&amp;#xB418;&amp;#xC9C0; &amp;#xC54A;&amp;#xB294; &amp;#xB4F1;&amp;#xC758; &amp;#xBB38;&amp;#xC81C;&amp;#xAC00; &amp;#xBC1C;&amp;#xC0DD;&amp;#xD560; &amp;#xC218; &amp;#xC787;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;k8s&amp;#xAC00; &amp;#xB4F1;&amp;#xC7A5;&amp;#xD558;&amp;#xAE30; &amp;#xC774;&amp;#xC804;&amp;#xC758; &amp;#xC804;&amp;#xD1B5;&amp;#xC801;&amp;#xC778; &amp;#xC6B4;&amp;#xC601;&amp;#xBC29;&amp;#xC2DD;&amp;#xC5D0;&amp;#xC11C;&amp;#xB294; &amp;#xBAA8;&amp;#xB4E0; &amp;#xD504;&amp;#xB85C;&amp;#xADF8;&amp;#xB7A8;&amp;#xC774; &amp;#xC2DC;&amp;#xC2A4;&amp;#xD15C;&amp;#xC0C1;&amp;#xC5D0;&amp;#xC11C; &amp;#xB3D9;&amp;#xC77C;&amp;#xD55C; &amp;#xBC84;&amp;#xC804;&amp;#xC758; &amp;#xACF5;&amp;#xC720; &amp;#xB77C;&amp;#xC774;&amp;#xBE0C;&amp;#xB7EC;&amp;#xB9AC;&amp;#xB97C; &amp;#xACF5;&amp;#xC720;&amp;#xD558;&amp;#xB294; &amp;#xAC83;&amp;#xC73C;&amp;#xB85C; &amp;#xC774; &amp;#xBB38;&amp;#xC81C;&amp;#xB97C; &amp;#xD574;&amp;#xACB0;&amp;#xD558;&amp;#xC600;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xB2E4;&amp;#xB9CC;, &amp;#xC774; &amp;#xACBD;&amp;#xC6B0;&amp;#xC5D0;&amp;#xB294; &amp;#xACF5;&amp;#xC720; &amp;#xB77C;&amp;#xC774;&amp;#xBE0C;&amp;#xB7EC;&amp;#xB9AC;&amp;#xC5D0; &amp;#xB300;&amp;#xD55C; &amp;#xC758;&amp;#xC874;&amp;#xB3C4;&amp;#xC5D0; &amp;#xC758;&amp;#xD574; &amp;#xBD88;&amp;#xD544;&amp;#xC694;&amp;#xD55C; &amp;#xACB0;&amp;#xD569;&amp;#xB3C4;&amp;#xAC00; &amp;#xB192;&amp;#xC544;&amp;#xC9C0;&amp;#xACE0;, &amp;#xBCF5;&amp;#xC7A1;&amp;#xC131;&amp;#xC774; &amp;#xC99D;&amp;#xAC00;&amp;#xB41C;&amp;#xB2E4;&amp;#xB294; &amp;#xB2E8;&amp;#xC810;&amp;#xC774; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&lt;br&gt;&lt;/p&gt;
&lt;p&gt;&amp;#xC560;&amp;#xD50C;&amp;#xB9AC;&amp;#xCF00;&amp;#xC774;&amp;#xC158;&amp;#xC744; &amp;#xAC1C;&amp;#xBC1C;&amp;#xD560; &amp;#xB54C;, &amp;#xB2E4;&amp;#xB978; &amp;#xC0AC;&amp;#xB78C;&amp;#xACFC; &amp;#xAC1C;&amp;#xBC1C;&amp;#xD658;&amp;#xACBD;&amp;#xC744; &amp;#xC27D;&amp;#xAC8C; &amp;#xACF5;&amp;#xC720;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xB3C4;&amp;#xB85D; &amp;#xAD6C;&amp;#xC131;&amp;#xD558;&amp;#xB294; &amp;#xAC83;&amp;#xC740; &amp;#xB9E4;&amp;#xC6B0; &amp;#xC911;&amp;#xC694;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&lt;strong&gt;Docker&lt;/strong&gt;&amp;#xB97C; &amp;#xC774;&amp;#xC6A9;&amp;#xD558;&amp;#xBA74; &amp;#xC2E4;&amp;#xD589;&amp;#xD30C;&amp;#xC77C;&amp;#xC744; &amp;#xD328;&amp;#xD0A4;&amp;#xC9D5; &amp;#xD558;&amp;#xC5EC;, &amp;#xB2E4;&amp;#xB978; &amp;#xD300;&amp;#xC6D0;&amp;#xB4E4;&amp;#xC774; &amp;#xC190;&amp;#xC27D;&amp;#xAC8C; &amp;#xB2E4;&amp;#xC6B4;&amp;#xB85C;&amp;#xB4DC;&amp;#xD558;&amp;#xACE0; &amp;#xC774;&amp;#xB97C; registry(= &amp;#xCEE8;&amp;#xD14C;&amp;#xC774;&amp;#xB108; &amp;#xC774;&amp;#xBBF8;&amp;#xC9C0; &amp;#xC800;&amp;#xC7A5;&amp;#xC18C;)&amp;#xC5D0; &amp;#xD478;&amp;#xC2DC;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&lt;br&gt;&lt;/p&gt;
&lt;p&gt;&amp;#xCEE8;&amp;#xD14C;&amp;#xC774;&amp;#xB108; &amp;#xB808;&amp;#xC9C0;&amp;#xC2A4;&amp;#xD2B8;&amp;#xB9AC;&amp;#xB294; &amp;#xB300;&amp;#xBD80;&amp;#xBD84;&amp;#xC758; public cloud&amp;#xC5D0;&amp;#xC11C; &amp;#xC0AC;&amp;#xC6A9;&amp;#xAC00;&amp;#xB2A5;&amp;#xD558;&amp;#xACE0;, &amp;#xD074;&amp;#xB77C;&amp;#xC6B0;&amp;#xB4DC; &amp;#xD658;&amp;#xACBD;&amp;#xC5D0;&amp;#xC11C; &amp;#xC774;&amp;#xBBF8;&amp;#xC9C0;&amp;#xB97C; &amp;#xBE4C;&amp;#xB4DC;&amp;#xD558;&amp;#xB294; &amp;#xC11C;&amp;#xBE44;&amp;#xC2A4;&amp;#xB3C4; &amp;#xC0AC;&amp;#xC6A9; &amp;#xAC00;&amp;#xB2A5;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xB808;&amp;#xC9C0;&amp;#xC2A4;&amp;#xD2B8;&amp;#xB9AC;&amp;#xB97C; &amp;#xC774;&amp;#xC6A9;&amp;#xD558;&amp;#xC5EC; &amp;#xC560;&amp;#xD50C;&amp;#xB9AC;&amp;#xCF00;&amp;#xC774;&amp;#xC158;&amp;#xC744; private &amp;#xC774;&amp;#xBBF8;&amp;#xC9C0;&amp;#xC5D0; &amp;#xC62C;&amp;#xB9AC;&amp;#xACE0;, &amp;#xC774;&amp;#xB97C; &amp;#xC774;&amp;#xC6A9;&amp;#xD558;&amp;#xC5EC; &amp;#xAD00;&amp;#xB9AC; &amp;#xBC0F; &amp;#xBC30;&amp;#xD3EC;&amp;#xB97C; &amp;#xD558;&amp;#xBA70;, &amp;#xC774;&amp;#xBBF8;&amp;#xC9C0; builder &amp;#xC11C;&amp;#xBE44;&amp;#xC2A4;&amp;#xB97C; &amp;#xC774;&amp;#xC6A9;&amp;#xD558;&amp;#xC5EC; CI/CD&amp;#xB97C; &amp;#xD3B8;&amp;#xB9AC;&amp;#xD558;&amp;#xAC8C; &amp;#xD589;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 class=&quot;mume-header&quot; id=&quot;div-ida011-%EC%BB%A8%ED%85%8C%EC%9D%B4%EB%84%88-%EC%9D%B4%EB%AF%B8%EC%A7%80div&quot;&gt;&lt;div id=&quot;a01&quot;&gt;1. &amp;#xCEE8;&amp;#xD14C;&amp;#xC774;&amp;#xB108; &amp;#xC774;&amp;#xBBF8;&amp;#xC9C0;&lt;/div&gt;&lt;/h2&gt;

&lt;p&gt;&amp;#xCEE8;&amp;#xD14C;&amp;#xC774;&amp;#xB108; &amp;#xC774;&amp;#xBBF8;&amp;#xC9C0;&amp;#xB294; OS &amp;#xCEE8;&amp;#xD14C;&amp;#xC774;&amp;#xB108; &amp;#xB0B4;&amp;#xBD80;&amp;#xC5D0;&amp;#xC11C; &amp;#xD504;&amp;#xB85C;&amp;#xADF8;&amp;#xB7A8;&amp;#xC744; &amp;#xC2E4;&amp;#xD589;&amp;#xD558;&amp;#xB294;&amp;#xB370;&amp;#xC5D0; &amp;#xD544;&amp;#xC694;&amp;#xD55C; &amp;#xBAA8;&amp;#xB4E0; &amp;#xD30C;&amp;#xC77C;&amp;#xB4E4;&amp;#xC744; &amp;#xCEA1;&amp;#xC290;&amp;#xD654;&amp;#xD55C; &amp;#xBC14;&amp;#xC774;&amp;#xB108;&amp;#xB9AC; &amp;#xD328;&amp;#xD0A4;&amp;#xC9C0;&amp;#xB85C;, &lt;u&gt;&amp;#xD30C;&amp;#xC77C; &amp;#xC2DC;&amp;#xC2A4;&amp;#xD15C; &amp;#xACC4;&amp;#xCE35;&lt;/u&gt;&amp;#xC73C;&amp;#xB85C; &amp;#xAD6C;&amp;#xC131;&amp;#xB418;&amp;#xC5B4;&amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xCEE8;&amp;#xD14C;&amp;#xC774;&amp;#xB108; &amp;#xC774;&amp;#xBBF8;&amp;#xC9C0;&amp;#xB97C; &amp;#xC2E4;&amp;#xD589;&amp;#xD558;&amp;#xC5EC; OS &amp;#xCEE8;&amp;#xD14C;&amp;#xC774;&amp;#xB108; &amp;#xB0B4;&amp;#xBD80;&amp;#xC5D0;&amp;#xC11C; &amp;#xC2E4;&amp;#xD589;&amp;#xB418;&amp;#xB294; &amp;#xC560;&amp;#xD50C;&amp;#xB9AC;&amp;#xCF00;&amp;#xC774;&amp;#xC158;&amp;#xC744; &amp;#xC0DD;&amp;#xC131;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;Docker&amp;#xB294; &amp;#xAC00;&amp;#xC7A5; &amp;#xC720;&amp;#xBA85;&amp;#xD558;&amp;#xACE0; &amp;#xB110;&amp;#xB9AC; &amp;#xC0AC;&amp;#xC6A9;&amp;#xB418;&amp;#xACE0; &amp;#xC788;&amp;#xB294; &amp;#xCEE8;&amp;#xD14C;&amp;#xC774;&amp;#xB108; &amp;#xC774;&amp;#xBBF8;&amp;#xC9C0; &amp;#xD3EC;&amp;#xB9F7;&amp;#xC73C;&amp;#xB85C;, &amp;#xC0AC;&amp;#xC2E4;&amp;#xC0C1; &amp;#xAC70;&amp;#xC758; &amp;#xD45C;&amp;#xC900;&amp;#xCC98;&amp;#xB7FC; &amp;#xC774;&amp;#xC6A9;&amp;#xB418;&amp;#xACE0; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xC6B0;&amp;#xB9AC;&amp;#xB294; docker &amp;#xBA85;&amp;#xB839;&amp;#xC5B4;&amp;#xB97C; &amp;#xC774;&amp;#xC6A9;&amp;#xD558;&amp;#xC5EC; &amp;#xCEE8;&amp;#xD14C;&amp;#xC774;&amp;#xB108;&amp;#xB97C; &amp;#xD328;&amp;#xD0A4;&amp;#xC9D5;/&amp;#xBC30;&amp;#xD3EC;/&amp;#xC2E4;&amp;#xD589; &amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xB3C4;&amp;#xCEE4; &amp;#xC774;&amp;#xBBF8;&amp;#xC9C0;&amp;#xB294; &amp;#xB2E8;&amp;#xC77C; &amp;#xD30C;&amp;#xC77C;&amp;#xC774; &amp;#xC544;&amp;#xB2CC; &amp;#xB2E4;&amp;#xB978; &amp;#xD30C;&amp;#xC77C;&amp;#xC744; &amp;#xAC00;&amp;#xB9AC;&amp;#xD0A4;&amp;#xB294; Manifest &amp;#xD30C;&amp;#xC77C;&amp;#xC758; &amp;#xBA85;&amp;#xC138;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xAC04;&amp;#xC811;&amp;#xC801;&amp;#xC73C;&amp;#xB85C; &amp;#xCC38;&amp;#xC870;&amp;#xD558;&amp;#xACE0; &amp;#xC788;&amp;#xB294; &amp;#xD2B9;&amp;#xC131;&amp;#xC744; &amp;#xD1B5;&amp;#xD574; &amp;#xD6A8;&amp;#xC728;&amp;#xC801;&amp;#xC73C;&amp;#xB85C; &amp;#xC800;&amp;#xC7A5;&amp;#xD558;&amp;#xACE0; &amp;#xC804;&amp;#xC1A1;&amp;#xD558;&amp;#xB294; &amp;#xAC83;&amp;#xC774; &amp;#xAC00;&amp;#xB2A5;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xCEE8;&amp;#xD14C;&amp;#xC774;&amp;#xB108; &amp;#xC774;&amp;#xBBF8;&amp;#xC9C0;&amp;#xB294; &amp;#xCEE8;&amp;#xD14C;&amp;#xC774;&amp;#xB108; &amp;#xD658;&amp;#xACBD; &amp;#xC124;&amp;#xC815; &amp;#xBC0F; &amp;#xC560;&amp;#xD50C;&amp;#xB9AC;&amp;#xCF00;&amp;#xC774;&amp;#xC158; &amp;#xAD6C;&amp;#xC131;&amp;#xD30C;&amp;#xC77C; &amp;#xB4F1;&amp;#xC744; &amp;#xD3EC;&amp;#xD568;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xCEE8;&amp;#xD14C;&amp;#xC774;&amp;#xB108;&amp;#xB294; &amp;#xD06C;&amp;#xAC8C; 2&amp;#xAC00;&amp;#xC9C0; &amp;#xBC94;&amp;#xC8FC;&amp;#xB85C; &amp;#xAD6C;&amp;#xBD84;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&amp;#xC2DC;&amp;#xC2A4;&amp;#xD15C; &amp;#xCEE8;&amp;#xD14C;&amp;#xC774;&amp;#xB108;&lt;/li&gt;
&lt;li&gt;&amp;#xC560;&amp;#xD50C;&amp;#xB9AC;&amp;#xCF00;&amp;#xC774;&amp;#xC158; &amp;#xCEE8;&amp;#xD14C;&amp;#xC774;&amp;#xB108;&lt;/li&gt;
&lt;/ol&gt;
&lt;br&gt;
&lt;p&gt;&amp;#xC2DC;&amp;#xC2A4;&amp;#xD15C; &amp;#xCEE8;&amp;#xD14C;&amp;#xC774;&amp;#xB108;&amp;#xB294; &amp;#xAC00;&amp;#xC0C1;&amp;#xBA38;&amp;#xC2E0;&amp;#xCC98;&amp;#xB7FC; &amp;#xB3D9;&amp;#xC791;&amp;#xD558;&amp;#xACE0;, &amp;#xC804;&amp;#xCCB4; &amp;#xBD80;&amp;#xD305; &amp;#xD504;&amp;#xB85C;&amp;#xC138;&amp;#xC2A4;&amp;#xB97C; &amp;#xC2E4;&amp;#xD589;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
ssh, cron&amp;#xACFC; &amp;#xAC19;&amp;#xC774; VM&amp;#xC5D0;&amp;#xC11C; &amp;#xC77C;&amp;#xBC18;&amp;#xC801;&amp;#xC73C;&amp;#xB85C; &amp;#xC790;&amp;#xC8FC; &amp;#xC4F0;&amp;#xC774;&amp;#xB294; &amp;#xCEE4;&amp;#xBA58;&amp;#xB4DC;&amp;#xB4E4;&amp;#xC744; &amp;#xD3EC;&amp;#xD568;&amp;#xD558;&amp;#xACE0; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xCD08;&amp;#xCC3D;&amp;#xAE30;&amp;#xC5D0;&amp;#xB294; &amp;#xC2DC;&amp;#xC2A4;&amp;#xD15C; &amp;#xCEE8;&amp;#xD14C;&amp;#xC774;&amp;#xB108; &amp;#xC720;&amp;#xD615;&amp;#xC774; &amp;#xC77C;&amp;#xBC18;&amp;#xC801;&amp;#xC73C;&amp;#xB85C; &amp;#xC4F0;&amp;#xC600;&amp;#xC73C;&amp;#xB098;, &amp;#xCD5C;&amp;#xADFC;&amp;#xC5D0;&amp;#xB294; &amp;#xC560;&amp;#xD50C;&amp;#xB9AC;&amp;#xCF00;&amp;#xC774;&amp;#xC158; &amp;#xCEE8;&amp;#xD14C;&amp;#xC774;&amp;#xB108;&amp;#xAC00; &amp;#xC2E4;&amp;#xC6A9;&amp;#xC131;&amp;#xC774; &amp;#xB192;&amp;#xC544; &amp;#xB354; &amp;#xAC01;&amp;#xAD11;&amp;#xBC1B;&amp;#xACE0; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xC560;&amp;#xD50C;&amp;#xB9AC;&amp;#xCF00;&amp;#xC774;&amp;#xC158; &amp;#xCEE8;&amp;#xD14C;&amp;#xC774;&amp;#xB108;&amp;#xB294; &lt;strong&gt;&amp;#xC77C;&amp;#xBC18;&amp;#xC801;&amp;#xC73C;&amp;#xB85C; &amp;#xB2E8;&amp;#xC77C; &amp;#xD504;&amp;#xB85C;&amp;#xADF8;&amp;#xB7A8;&amp;#xC744; &amp;#xC2E4;&amp;#xD589;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/strong&gt;&lt;br&gt;
&amp;#xD558;&amp;#xB098;&amp;#xC758; &amp;#xCEE8;&amp;#xD14C;&amp;#xC774;&amp;#xB108;&amp;#xAC00; &amp;#xD558;&amp;#xB098;&amp;#xC758; &amp;#xD504;&amp;#xB85C;&amp;#xADF8;&amp;#xB7A8;&amp;#xC744; &amp;#xC2E4;&amp;#xD589;&amp;#xD55C;&amp;#xB2E4;&amp;#xB294; &amp;#xAC83;&amp;#xC740; &lt;strong&gt;&amp;#xD655;&amp;#xC7A5;&amp;#xC131;&lt;/strong&gt;&amp;#xBA74;&amp;#xC5D0;&amp;#xC11C; &amp;#xD070; &amp;#xC7A5;&amp;#xC810;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xC774;&amp;#xB7F0; &amp;#xD2B9;&amp;#xC131;&amp;#xC73C;&amp;#xB85C; &amp;#xC778;&amp;#xD558;&amp;#xC5EC;, &amp;#xC77C;&amp;#xBC18;&amp;#xC801;&amp;#xC73C;&amp;#xB85C; k8s&amp;#xAC19;&amp;#xC740; &amp;#xCEE8;&amp;#xD14C;&amp;#xC774;&amp;#xB108; &amp;#xC624;&amp;#xCF00;&amp;#xC2A4;&amp;#xD2B8;&amp;#xB808;&amp;#xC774;&amp;#xC158;&amp;#xC740; &amp;#xC560;&amp;#xD50C;&amp;#xB9AC;&amp;#xCF00;&amp;#xC774;&amp;#xC158; &amp;#xCEE8;&amp;#xD14C;&amp;#xC774;&amp;#xB108;&amp;#xB85C; &amp;#xAD6C;&amp;#xC131;&amp;#xB41C; &amp;#xBD84;&amp;#xC0B0; &amp;#xC2DC;&amp;#xC2A4;&amp;#xD15C;&amp;#xC744; &amp;#xAD6C;&amp;#xCD95;/&amp;#xBC30;&amp;#xD3EC;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 class=&quot;mume-header&quot; id=&quot;div-ida02-12-docker%EB%A5%BC-%ED%99%9C%EC%9A%A9%ED%95%9C-%EC%95%A0%ED%94%8C%EB%A6%AC%EC%BC%80%EC%9D%B4%EC%85%98-%EC%9D%B4%EB%AF%B8%EC%A7%80-%EB%B9%8C%EB%93%9Cdiv&quot;&gt;&lt;div id=&quot;a02-1&quot;&gt;2. Docker&amp;#xB97C; &amp;#xD65C;&amp;#xC6A9;&amp;#xD55C; &amp;#xC560;&amp;#xD50C;&amp;#xB9AC;&amp;#xCF00;&amp;#xC774;&amp;#xC158; &amp;#xC774;&amp;#xBBF8;&amp;#xC9C0; &amp;#xBE4C;&amp;#xB4DC;&lt;/div&gt;&lt;/h2&gt;

&lt;h3 class=&quot;mume-header&quot; id=&quot;21-dockerfile&quot;&gt;2.1. Dockerfile&lt;/h3&gt;

&lt;p&gt;Dockerfile&amp;#xC744; &amp;#xC774;&amp;#xC6A9;&amp;#xD558;&amp;#xC5EC; &amp;#xC560;&amp;#xD50C;&amp;#xB9AC;&amp;#xCF00;&amp;#xC774;&amp;#xC158;&amp;#xC744; &amp;#xB3C4;&amp;#xCEE4; &amp;#xC774;&amp;#xBBF8;&amp;#xC9C0;&amp;#xB85C; &amp;#xD328;&amp;#xD0A4;&amp;#xC9D5; &amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xACE0;, &amp;#xC774;&amp;#xB97C; &amp;#xC774;&amp;#xC6A9;&amp;#xD558;&amp;#xC5EC;&lt;br&gt;
&amp;#xB3C4;&amp;#xCEE4; &amp;#xCEE8;&amp;#xD14C;&amp;#xC774;&amp;#xB108; &amp;#xC774;&amp;#xBBF8;&amp;#xC9C0; &amp;#xC0DD;&amp;#xC131;&amp;#xC744; &amp;#xC790;&amp;#xB3D9;&amp;#xD654;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xB9AC;&amp;#xC561;&amp;#xD2B8; &amp;#xAE30;&amp;#xBCF8; &amp;#xC560;&amp;#xD50C;&amp;#xB9AC;&amp;#xCF00;&amp;#xC774;&amp;#xC158;&amp;#xC744; &amp;#xC774;&amp;#xC6A9;&amp;#xD558;&amp;#xC5EC; &amp;#xB3C4;&amp;#xCEE4; &amp;#xC774;&amp;#xBBF8;&amp;#xC9C0;&amp;#xB97C; &amp;#xD328;&amp;#xD0A4;&amp;#xC9D5;&amp;#xD558;&amp;#xB294; &amp;#xC608;&amp;#xC81C; &amp;#xCF54;&amp;#xB4DC;&amp;#xB97C; &amp;#xC2E4;&amp;#xC2B5;&amp;#xD574;&amp;#xBD05;&amp;#xC2DC;&amp;#xB2E4;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;#x203B; &amp;#xB9AC;&amp;#xC561;&amp;#xD2B8; &amp;#xC560;&amp;#xD50C;&amp;#xB9AC;&amp;#xCF00;&amp;#xC774;&amp;#xC158;&amp;#xC744; &amp;#xB2E4;&amp;#xC6B4;&amp;#xBC1B;&amp;#xAE30; &amp;#xC704;&amp;#xD574;&amp;#xC11C;&amp;#xB294; &amp;#xC120;&amp;#xD589;&amp;#xC801;&amp;#xC73C;&amp;#xB85C; node&amp;#xAC00; &amp;#xC124;&amp;#xCE58;&amp;#xB418;&amp;#xC5B4;&amp;#xC788;&amp;#xC5B4;&amp;#xC57C; &amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;br&gt;
&lt;p&gt;&lt;strong&gt;2.1.1. &amp;#xC560;&amp;#xD50C;&amp;#xB9AC;&amp;#xCF00;&amp;#xC774;&amp;#xC158; &amp;#xC0DD;&amp;#xC131; &amp;#xBC0F; Dockerfile &amp;#xC0DD;&amp;#xC131;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&amp;#xBA3C;&amp;#xC800; &amp;#xB514;&amp;#xB809;&amp;#xD1A0;&amp;#xB9AC;&amp;#xB97C; &amp;#xC0DD;&amp;#xC131; &amp;#xD55C; &amp;#xD6C4;,&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;&lt;span class=&quot;token function&quot;&gt;mkdir&lt;/span&gt; docker-react-app
&lt;span class=&quot;token builtin class-name&quot;&gt;cd&lt;/span&gt; docker-react-app
&lt;/pre&gt;&lt;br&gt;
&lt;p&gt;npx&amp;#xB97C; &amp;#xC774;&amp;#xC6A9;&amp;#xD558;&amp;#xC5EC; create-react-app&amp;#xC744; &amp;#xD604;&amp;#xC7AC; &amp;#xB514;&amp;#xB809;&amp;#xD1A0;&amp;#xB9AC;&amp;#xC5D0; &amp;#xC124;&amp;#xCE58;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;npx create-react-app &lt;span class=&quot;token builtin class-name&quot;&gt;.&lt;/span&gt;
&lt;/pre&gt;&lt;br&gt;
&lt;p&gt;&amp;#xC774;&amp;#xBBF8;&amp;#xC9C0; &amp;#xBCF5;&amp;#xC0AC;&amp;#xC2DC;, &amp;#xC81C;&amp;#xC678;&amp;#xC2DC;&amp;#xD0AC; &amp;#xD30C;&amp;#xC77C;&amp;#xB4E4;&amp;#xC744; &lt;em&gt;.dockerignore&lt;/em&gt; &amp;#xC5D0; &amp;#xC791;&amp;#xC131;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;node_modules
&lt;/pre&gt;&lt;br&gt;
&lt;p&gt;&amp;#xB3C4;&amp;#xCEE4; &amp;#xCEE8;&amp;#xD14C;&amp;#xC774;&amp;#xB108; &amp;#xC774;&amp;#xBBF8;&amp;#xC9C0;&amp;#xB97C; &amp;#xD328;&amp;#xD0A4;&amp;#xC9D5;&amp;#xD558;&amp;#xB294; &amp;#xBA85;&amp;#xC138;&amp;#xC5D0; &amp;#xD574;&amp;#xB2F9;&amp;#xD558;&amp;#xB294; Dockerfile&amp;#xC744; &amp;#xC0DD;&amp;#xC131;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;dockerfile&quot; class=&quot;language-dockerfile&quot;&gt;&lt;span class=&quot;token instruction&quot;&gt;&lt;span class=&quot;token keyword keyword-FROM&quot;&gt;FROM&lt;/span&gt; node:alpine&lt;/span&gt;

&lt;span class=&quot;token instruction&quot;&gt;&lt;span class=&quot;token keyword keyword-WORKDIR&quot;&gt;WORKDIR&lt;/span&gt; /usr/src/app&lt;/span&gt;

&lt;span class=&quot;token instruction&quot;&gt;&lt;span class=&quot;token keyword keyword-COPY&quot;&gt;COPY&lt;/span&gt; package.json .&lt;/span&gt;

&lt;span class=&quot;token instruction&quot;&gt;&lt;span class=&quot;token keyword keyword-RUN&quot;&gt;RUN&lt;/span&gt; npm install&lt;/span&gt;

&lt;span class=&quot;token instruction&quot;&gt;&lt;span class=&quot;token keyword keyword-COPY&quot;&gt;COPY&lt;/span&gt; . .&lt;/span&gt;

&lt;span class=&quot;token instruction&quot;&gt;&lt;span class=&quot;token keyword keyword-CMD&quot;&gt;CMD&lt;/span&gt; [ &lt;span class=&quot;token string&quot;&gt;&amp;quot;npm&amp;quot;&lt;/span&gt;, &lt;span class=&quot;token string&quot;&gt;&amp;quot;run&amp;quot;&lt;/span&gt;, &lt;span class=&quot;token string&quot;&gt;&amp;quot;start&amp;quot;&lt;/span&gt; ]&lt;/span&gt;
&lt;/pre&gt;&lt;br&gt;
&lt;p&gt;&lt;strong&gt;&amp;#xB3C4;&amp;#xCEE4; &amp;#xC774;&amp;#xBBF8;&amp;#xC9C0; &amp;#xC0DD;&amp;#xC131;&lt;/strong&gt;&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;docker build -t jiniworld/docker-react-app &lt;span class=&quot;token builtin class-name&quot;&gt;.&lt;/span&gt;
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;txt&quot; class=&quot;language-txt&quot;&gt;[+] Building 105.9s (10/10) FINISHED                                                                                                         docker:desktop-linux
 =&amp;gt; [internal] load build definition from Dockerfile                                                                                                         0.0s
 =&amp;gt; =&amp;gt; transferring dockerfile: 158B                                                                                                                         0.0s
 =&amp;gt; [internal] load .dockerignore                                                                                                                            0.0s
 =&amp;gt; =&amp;gt; transferring context: 2B                                                                                                                              0.0s
 =&amp;gt; [internal] load metadata for docker.io/library/node:alpine                                                                                               2.9s
 =&amp;gt; [1/5] FROM docker.io/library/node:alpine@sha256:4a512d1538b1a8281b58cab0b366a5c62436566bb63e7dcd4a6769c98edb3b5f                                         5.3s
 =&amp;gt; =&amp;gt; resolve docker.io/library/node:alpine@sha256:4a512d1538b1a8281b58cab0b366a5c62436566bb63e7dcd4a6769c98edb3b5f                                         0.0s
 =&amp;gt; =&amp;gt; sha256:7ab0a8aeffef38c226acdcd921d3877f2a0887e66254c96704e8faa54729ffd6 2.37MB / 2.37MB                                                               0.9s
 =&amp;gt; =&amp;gt; sha256:2d5d499b0ef9279f09adbe89093cb1188a646d5bcae72c23c82b7cba981be8fa 448B / 448B                                                                   0.3s
 =&amp;gt; =&amp;gt; sha256:4a512d1538b1a8281b58cab0b366a5c62436566bb63e7dcd4a6769c98edb3b5f 1.43kB / 1.43kB                                                               0.0s
 =&amp;gt; =&amp;gt; sha256:fe8982961121d058349f1d6f22115582a665a54fa2b8e585551070723bf66aa7 1.16kB / 1.16kB                                                               0.0s
 =&amp;gt; =&amp;gt; sha256:ece0d10eb54d6fd5d3ef2f329f3f264fa500bd8e7b725e8b327bea18d02adaa8 7.15kB / 7.15kB                                                               0.0s
 =&amp;gt; =&amp;gt; sha256:915db32f2887698a56b738a38cbdbc8ffcdd6bf738a1e5e762de36950b514347 43.51MB / 43.51MB                                                             4.2s
 =&amp;gt; =&amp;gt; extracting sha256:915db32f2887698a56b738a38cbdbc8ffcdd6bf738a1e5e762de36950b514347                                                                    1.0s
 =&amp;gt; =&amp;gt; extracting sha256:7ab0a8aeffef38c226acdcd921d3877f2a0887e66254c96704e8faa54729ffd6                                                                    0.0s
 =&amp;gt; =&amp;gt; extracting sha256:2d5d499b0ef9279f09adbe89093cb1188a646d5bcae72c23c82b7cba981be8fa                                                                    0.0s
 =&amp;gt; [internal] load build context                                                                                                                            0.1s
 =&amp;gt; =&amp;gt; transferring context: 1.55MB                                                                                                                          0.0s
 =&amp;gt; [2/5] WORKDIR /usr/src/app                                                                                                                               0.1s
 =&amp;gt; [3/5] COPY package.json .                                                                                                                                0.0s
 =&amp;gt; [4/5] RUN npm install                                                                                                                                   95.1s
 =&amp;gt; [5/5] COPY . .                                                                                                                                           0.0s
 =&amp;gt; exporting to image                                                                                                                                       2.2s
 =&amp;gt; =&amp;gt; exporting layers                                                                                                                                      2.2s
 =&amp;gt; =&amp;gt; writing image sha256:31901e7478d86557e45b0563553b302ad2fa9604bd581705dacc628430da0b5b                                                                 0.0s
 =&amp;gt; =&amp;gt; naming to docker.io/jiniworld/docker-react-app                                                                                                        0.0s

What&amp;apos;s Next?
  View a summary of image vulnerabilities and recommendations &amp;#x2192; docker scout quickview
&lt;/pre&gt;&lt;br&gt;
&lt;p&gt;&lt;strong&gt;&amp;#xB3C4;&amp;#xCEE4; &amp;#xC774;&amp;#xBBF8;&amp;#xC9C0; &amp;#xC2E4;&amp;#xD589;&lt;/strong&gt;&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;docker run -d --name docker-react-app -p &lt;span class=&quot;token number&quot;&gt;8080&lt;/span&gt;:8080 jiniworld/docker-react-app
&lt;/pre&gt;&lt;br&gt;
&lt;h3 class=&quot;mume-header&quot; id=&quot;div-ida02-222-%EC%9D%B4%EB%AF%B8%EC%A7%80-%ED%81%AC%EA%B8%B0-%EC%B5%9C%EC%A0%81%ED%99%94div&quot;&gt;&lt;div id=&quot;a02-2&quot;&gt;2.2. &amp;#xC774;&amp;#xBBF8;&amp;#xC9C0; &amp;#xD06C;&amp;#xAE30; &amp;#xCD5C;&amp;#xC801;&amp;#xD654;&lt;/div&gt;&lt;/h3&gt;

&lt;p&gt;&amp;#xB3C4;&amp;#xCEE4; &amp;#xCEE8;&amp;#xD14C;&amp;#xC774;&amp;#xB108; &amp;#xC774;&amp;#xBBF8;&amp;#xC9C0;&amp;#xB294; &amp;#xACC4;&amp;#xCE35;&amp;#xD654;&amp;#xB41C; &amp;#xD30C;&amp;#xC77C; &amp;#xC2DC;&amp;#xC2A4;&amp;#xD15C;&amp;#xC73C;&amp;#xB85C; &amp;#xAD6C;&amp;#xC131;&amp;#xB418;&amp;#xC5B4;&amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xB54C;&amp;#xBB38;&amp;#xC5D0;, &amp;#xB3C4;&amp;#xCEE4;&amp;#xD30C;&amp;#xC77C;&amp;#xC744; &amp;#xAD6C;&amp;#xC131;&amp;#xD560; &amp;#xB54C; &amp;#xC774;&amp;#xBBF8;&amp;#xC9C0; &amp;#xD06C;&amp;#xAE30;&amp;#xB97C; &amp;#xCD5C;&amp;#xC801;&amp;#xD654;&amp;#xD558;&amp;#xAE30; &amp;#xC704;&amp;#xD574; &amp;#xC54C;&amp;#xB9DE;&amp;#xAC8C; &amp;#xACC4;&amp;#xCE35; &amp;#xAD6C;&amp;#xC870; &amp;#xC124;&amp;#xC815;&amp;#xC744; &amp;#xD574;&amp;#xC57C;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xC544;&amp;#xB798;&amp;#xC640; &amp;#xAC19;&amp;#xC774; 2&amp;#xAC00;&amp;#xC9C0; &amp;#xAD6C;&amp;#xC131;&amp;#xC774; &amp;#xC788;&amp;#xB2E4;&amp;#xACE0; &amp;#xD560; &amp;#xB54C;&lt;br&gt;
&amp;#xB450; &amp;#xAD6C;&amp;#xC131; &amp;#xC911;, 2&amp;#xBC88;&amp;#xC9F8; &amp;#xAD6C;&amp;#xC131;&amp;#xC774; &amp;#xC774;&amp;#xBBF8;&amp;#xC9C0; &amp;#xD06C;&amp;#xAE30;&amp;#xB97C; &amp;#xCD5C;&amp;#xC801;&amp;#xD654;&amp;#xD55C; &amp;#xAD6C;&amp;#xC131;&amp;#xC774;&amp;#xB77C;&amp;#xACE0; &amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xAD6C;&amp;#xC131; 1&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;A&amp;#xACC4;&amp;#xCE35;: &amp;#xAE30;&amp;#xBCF8; OS &amp;#xCEE8;&amp;#xD14C;&amp;#xC774;&amp;#xB108;
&lt;ul&gt;
&lt;li&gt;B&amp;#xACC4;&amp;#xCE35;: &amp;#xC18C;&amp;#xC2A4;&amp;#xCF54;&amp;#xB4DC; server.js &amp;#xCD94;&amp;#xAC00;
&lt;ul&gt;
&lt;li&gt;C&amp;#xACC4;&amp;#xCE35;: node &amp;#xD328;&amp;#xD0A4;&amp;#xC9C0; &amp;#xC124;&amp;#xCE58;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;br&gt;
&lt;p&gt;&amp;#xAD6C;&amp;#xC131; 2&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;A&amp;#xACC4;&amp;#xCE35;: &amp;#xAE30;&amp;#xBCF8; OS &amp;#xCEE8;&amp;#xD14C;&amp;#xC774;&amp;#xB108;
&lt;ul&gt;
&lt;li&gt;B&amp;#xACC4;&amp;#xCE35;: node &amp;#xD328;&amp;#xD0A4;&amp;#xC9C0; &amp;#xC124;&amp;#xCE58;
&lt;ul&gt;
&lt;li&gt;C&amp;#xACC4;&amp;#xCE35;: &amp;#xC18C;&amp;#xC2A4;&amp;#xCF54;&amp;#xB4DC; server.js &amp;#xCD94;&amp;#xAC00;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;1&amp;#xBC88;&amp;#xC9F8; &amp;#xAD6C;&amp;#xC131;&amp;#xC758; &amp;#xACBD;&amp;#xC6B0;, node&amp;#xACC4;&amp;#xCE35;&amp;#xC774; server.js&amp;#xC5D0; &amp;#xC885;&amp;#xC18D;&amp;#xB418;&amp;#xC5B4;&amp;#xC788;&amp;#xAE30; &amp;#xB584;&amp;#xBB38;&amp;#xC5D0;&lt;br&gt;
server.js &amp;#xD30C;&amp;#xC77C;&amp;#xC774; &amp;#xBCC0;&amp;#xACBD;&amp;#xB418;&amp;#xB294; &amp;#xACBD;&amp;#xC6B0; &amp;#xADF8; &amp;#xD558;&amp;#xC704; &amp;#xACC4;&amp;#xCE35;&amp;#xC758; &amp;#xB2E4;&amp;#xC6B4;&amp;#xB85C;&amp;#xB4DC; &amp;#xBC0F; &amp;#xC5C5;&amp;#xB85C;&amp;#xB4DC;&amp;#xAC00; &amp;#xC77C;&amp;#xC5B4;&amp;#xB098;&amp;#xAC8C; &amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xC774;&amp;#xBBF8;&amp;#xC9C0; &amp;#xD06C;&amp;#xAE30;&amp;#xB97C; &amp;#xCD5C;&amp;#xC801;&amp;#xD654;&amp;#xD558;&amp;#xAE30; &amp;#xC704;&amp;#xD574;&amp;#xC11C;&amp;#xB294; &amp;#xBCC0;&amp;#xACBD; &amp;#xAC00;&amp;#xB2A5;&amp;#xC131;&amp;#xC774; &amp;#xC801;&amp;#xC740;&amp;#xAC83;&amp;#xC744; &amp;#xC704;&amp;#xC5D0; &amp;#xBC30;&amp;#xCE58;&amp;#xD558;&amp;#xACE0;, &amp;#xBCC0;&amp;#xACBD;&amp;#xC774; &amp;#xBE48;&amp;#xBC88;&amp;#xD55C; &amp;#xAC83;&amp;#xC744; &amp;#xC544;&amp;#xB798;&amp;#xC5D0; &amp;#xAD6C;&amp;#xC131;&amp;#xD558;&amp;#xB294; &amp;#xAC83;&amp;#xC774; &amp;#xC911;&amp;#xC694;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xC544;&amp;#xB798;&amp;#xB294; &amp;#xB178;&amp;#xB4DC;&amp;#xAE30;&amp;#xBC18;&amp;#xC758; &amp;#xB3C4;&amp;#xCEE4; &amp;#xCEE8;&amp;#xD14C;&amp;#xC774;&amp;#xB108; &amp;#xC774;&amp;#xBBF8;&amp;#xC9C0;&amp;#xC758; Dockerfile &amp;#xC608;&amp;#xC2DC;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xBA3C;&amp;#xC800;, package*.json &amp;#xC744; &amp;#xBA3C;&amp;#xC800; &amp;#xBCF5;&amp;#xC0AC;&amp;#xD55C; &amp;#xD6C4;, &lt;em&gt;npm install&lt;/em&gt; &amp;#xB85C; &amp;#xC571; &amp;#xC2E4;&amp;#xD589;&amp;#xC5D0; &amp;#xD544;&amp;#xC694;&amp;#xD55C; &amp;#xD328;&amp;#xD0A4;&amp;#xC9C0;&amp;#xB97C; &amp;#xC124;&amp;#xCE58;&amp;#xD55C; &amp;#xD6C4;,&lt;br&gt;
&amp;#xB098;&amp;#xBA38;&amp;#xC9C0; &amp;#xC18C;&amp;#xC2A4;&amp;#xCF54;&amp;#xB4DC;&amp;#xB97C; &amp;#xBCF5;&amp;#xC0AC;&amp;#xD55C; &amp;#xD6C4;, &amp;#xC2E4;&amp;#xD589;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xC77C;&amp;#xBC18;&amp;#xC801;&amp;#xC73C;&amp;#xB85C; &amp;#xC18C;&amp;#xC2A4;&amp;#xCF54;&amp;#xB4DC;&amp;#xAC00; &amp;#xC758;&amp;#xC874;&amp;#xC131; &amp;#xD328;&amp;#xD0A4;&amp;#xC9C0;&amp;#xBCF4;&amp;#xB2E4; &amp;#xBE48;&amp;#xBC88;&amp;#xD558;&amp;#xAC8C; &amp;#xC218;&amp;#xC815;&amp;#xB418;&amp;#xAE30; &amp;#xB54C;&amp;#xBB38;&amp;#xC5D0; &amp;#xC774;&amp;#xC640; &amp;#xAC19;&amp;#xC740; &amp;#xC21C;&amp;#xC11C;&amp;#xB85C; &amp;#xBC30;&amp;#xCE58;&amp;#xD558;&amp;#xC600;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;dockerfile&quot; class=&quot;language-dockerfile&quot;&gt;&lt;span class=&quot;token instruction&quot;&gt;&lt;span class=&quot;token keyword keyword-FROM&quot;&gt;FROM&lt;/span&gt; node:16&lt;/span&gt;

&lt;span class=&quot;token instruction&quot;&gt;&lt;span class=&quot;token keyword keyword-WORKDIR&quot;&gt;WORKDIR&lt;/span&gt; /usr/src/app&lt;/span&gt;

&lt;span class=&quot;token instruction&quot;&gt;&lt;span class=&quot;token keyword keyword-COPY&quot;&gt;COPY&lt;/span&gt; package*.json .&lt;/span&gt;

&lt;span class=&quot;token instruction&quot;&gt;&lt;span class=&quot;token keyword keyword-RUN&quot;&gt;RUN&lt;/span&gt; npm install&lt;/span&gt;

&lt;span class=&quot;token instruction&quot;&gt;&lt;span class=&quot;token keyword keyword-COPY&quot;&gt;COPY&lt;/span&gt; . .&lt;/span&gt;

&lt;span class=&quot;token instruction&quot;&gt;&lt;span class=&quot;token keyword keyword-CMD&quot;&gt;CMD&lt;/span&gt; [ &lt;span class=&quot;token string&quot;&gt;&amp;quot;npm&amp;quot;&lt;/span&gt;, &lt;span class=&quot;token string&quot;&gt;&amp;quot;start&amp;quot;&lt;/span&gt; ]&lt;/span&gt;
&lt;/pre&gt;&lt;br&gt;
&lt;h3 class=&quot;mume-header&quot; id=&quot;div-ida02-323-%EC%9D%B4%EB%AF%B8%EC%A7%80-%EB%B3%B4%EC%95%88div&quot;&gt;&lt;div id=&quot;a02-3&quot;&gt;2.3. &amp;#xC774;&amp;#xBBF8;&amp;#xC9C0; &amp;#xBCF4;&amp;#xC548;&lt;/div&gt;&lt;/h3&gt;

&lt;p&gt;&amp;#xBCF4;&amp;#xC548;&amp;#xC774; &amp;#xC720;&amp;#xC9C0;&amp;#xB418;&amp;#xC5B4;&amp;#xC57C;&amp;#xD558;&amp;#xB294; &amp;#xC815;&amp;#xBCF4;&amp;#xC640; &amp;#xC774;&amp;#xBBF8;&amp;#xC9C0;&amp;#xAC00; &amp;#xD63C;&amp;#xC7AC;&amp;#xB418;&amp;#xC5B4;&amp;#xC11C;&amp;#xB294; &amp;#xC548;&amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xC774;&amp;#xBBF8;&amp;#xC9C0;&amp;#xC5D0; &amp;#xC124;&amp;#xC815;&amp;#xB418;&amp;#xC5B4;&amp;#xC788;&amp;#xB294; &amp;#xB77C;&amp;#xC774;&amp;#xBE0C;&amp;#xB7EC;&amp;#xB9AC;&amp;#xAC00; &amp;#xB9CE;&amp;#xC744; &amp;#xC218;&amp;#xB85D;, &amp;#xADF8; &amp;#xC560;&amp;#xD50C;&amp;#xB9AC;&amp;#xCF00;&amp;#xC774;&amp;#xC158;&amp;#xC5D0; &amp;#xB300;&amp;#xD55C; &amp;#xCDE8;&amp;#xC57D;&amp;#xC810;&amp;#xC774; &amp;#xB298;&amp;#xC5B4;&amp;#xB0A0; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xB530;&amp;#xB77C;&amp;#xC11C; &amp;#xCEE8;&amp;#xD14C;&amp;#xC774;&amp;#xB108; &amp;#xC774;&amp;#xBBF8;&amp;#xC9C0; &amp;#xB0B4;&amp;#xC758; &amp;#xD30C;&amp;#xC77C;&amp;#xC740; &amp;#xCD5C;&amp;#xC18C;&amp;#xD654;&amp;#xD558;&amp;#xC5EC; &amp;#xB418;&amp;#xB3C4;&amp;#xB85D; &amp;#xC791;&amp;#xC740; &amp;#xD06C;&amp;#xAE30;&amp;#xC758; &amp;#xC774;&amp;#xBBF8;&amp;#xC9C0;&amp;#xB97C; &amp;#xAD6C;&amp;#xC131;&amp;#xD558;&amp;#xB294; &amp;#xAC83;&amp;#xC744; &amp;#xCD94;&amp;#xCC9C;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 class=&quot;mume-header&quot; id=&quot;div-ida033-%EB%8B%A4%EB%8B%A8%EA%B3%84-%EC%9D%B4%EB%AF%B8%EC%A7%80-%EB%B9%8C%EB%93%9Cdiv&quot;&gt;&lt;div id=&quot;a03&quot;&gt;3. &amp;#xB2E4;&amp;#xB2E8;&amp;#xACC4; &amp;#xC774;&amp;#xBBF8;&amp;#xC9C0; &amp;#xBE4C;&amp;#xB4DC;&lt;/div&gt;&lt;/h2&gt;

&lt;p&gt;&amp;#xC774;&amp;#xBBF8;&amp;#xC9C0; &amp;#xD06C;&amp;#xAE30;&amp;#xB97C; &amp;#xD06C;&amp;#xAC8C; &amp;#xB9CC;&amp;#xB4DC;&amp;#xB294; &amp;#xB300;&amp;#xD45C;&amp;#xC801;&amp;#xC778; &amp;#xC2E4;&amp;#xC218; &amp;#xC911; &amp;#xD558;&amp;#xB098;&amp;#xB294;&lt;br&gt;
&amp;#xC560;&amp;#xD50C;&amp;#xB9AC;&amp;#xCF00;&amp;#xC774;&amp;#xC158; &amp;#xCEE8;&amp;#xD14C;&amp;#xC774;&amp;#xB108; &amp;#xC774;&amp;#xBBF8;&amp;#xC9C0; &amp;#xAD6C;&amp;#xC131; &amp;#xC911; &amp;#xD504;&amp;#xB85C;&amp;#xADF8;&amp;#xB7A8;&amp;#xC758; &amp;#xCEF4;&amp;#xD30C;&amp;#xC77C;&amp;#xC744; &amp;#xD3EC;&amp;#xD568;&amp;#xC2DC;&amp;#xD0A4;&amp;#xB294; &amp;#xAC83; &amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xB3C4;&amp;#xCEE4; &amp;#xD30C;&amp;#xC77C; &amp;#xB0B4;&amp;#xC5D0; &amp;#xCEF4;&amp;#xD30C;&amp;#xC77C;&amp;#xC744; &amp;#xD3EC;&amp;#xD568;&amp;#xC2DC;&amp;#xD0A4;&amp;#xB294; &amp;#xAC83;&amp;#xC740; &amp;#xCEE8;&amp;#xD14C;&amp;#xC774;&amp;#xB108; &amp;#xC774;&amp;#xBBF8;&amp;#xC9C0; &amp;#xBE4C;&amp;#xB4DC;&amp;#xB97C; &amp;#xB9E4;&amp;#xC6B0; &amp;#xC190;&amp;#xC27D;&amp;#xAC8C; &amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xAC8C; &amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xD558;&amp;#xC9C0;&amp;#xB9CC;, &amp;#xCEF4;&amp;#xD30C;&amp;#xC77C; &amp;#xC218;&amp;#xD589;&amp;#xC774; &amp;#xB3C4;&amp;#xCEE4;&amp;#xD30C;&amp;#xC77C; &amp;#xB0B4;&amp;#xC5D0; &amp;#xC4F0;&amp;#xC5EC;&amp;#xC838; &amp;#xC788;&amp;#xC73C;&amp;#xBA74; &amp;#xC6B4;&amp;#xC601;&amp;#xD658;&amp;#xACBD;&amp;#xC5D0;&amp;#xB294; &amp;#xD544;&amp;#xC694;&amp;#xD558;&amp;#xC9C0; &amp;#xC54A;&amp;#xC740; &amp;#xAC1C;&amp;#xBC1C;&amp;#xB3C4;&amp;#xAD6C;&amp;#xB4E4;&amp;#xC774; &amp;#xCEE8;&amp;#xD14C;&amp;#xC774;&amp;#xB108; &amp;#xC774;&amp;#xBBF8;&amp;#xC9C0; &amp;#xB0B4;&amp;#xC5D0; &amp;#xD3EC;&amp;#xD568;&amp;#xB418;&amp;#xAC8C; &amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xBD88;&amp;#xD544;&amp;#xC694;&amp;#xD55C; &amp;#xD30C;&amp;#xC77C;&amp;#xB4E4;&amp;#xC774; &amp;#xB9CE;&amp;#xC544;&amp;#xC9C0;&amp;#xBA74; &amp;#xC6A9;&amp;#xB7C9;&amp;#xC774; &amp;#xCEE4;&amp;#xC9C0;&amp;#xAC8C; &amp;#xB418;&amp;#xACE0;, &amp;#xC774;&amp;#xB294; &amp;#xCEE8;&amp;#xD14C;&amp;#xC774;&amp;#xB108; &amp;#xBC30;&amp;#xD3EC; &amp;#xC18D;&amp;#xB3C4;&amp;#xC5D0;&amp;#xB3C4; &amp;#xC601;&amp;#xD5A5;&amp;#xC744; &amp;#xC8FC;&amp;#xAC8C;&amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xCF54;&amp;#xB4DC; &amp;#xCEF4;&amp;#xD30C;&amp;#xC77C;&amp;#xC744; &amp;#xC774;&amp;#xBBF8;&amp;#xC9C0; &amp;#xB0B4;&amp;#xC5D0; &amp;#xD3EC;&amp;#xD568;&amp;#xC2DC;&amp;#xD0A4;&amp;#xB294; &amp;#xAC83;&amp;#xC774; &amp;#xC544;&amp;#xB2CC; &lt;strong&gt;&amp;#xB2E4;&amp;#xB2E8;&amp;#xACC4; &amp;#xBE4C;&amp;#xB4DC;(multistage build)&lt;/strong&gt; &amp;#xBC29;&amp;#xC2DD;&amp;#xC73C;&amp;#xB85C; &amp;#xAD6C;&amp;#xC131;&amp;#xD558;&amp;#xB294; &amp;#xAC83;&amp;#xC744; &amp;#xAD8C;&amp;#xC7A5;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&lt;br&gt;&lt;/p&gt;
&lt;p&gt;&amp;#xB2E4;&amp;#xB2E8;&amp;#xACC4; &amp;#xBE4C;&amp;#xB4DC;&amp;#xB97C; &amp;#xD1B5;&amp;#xD574; &amp;#xB3C4;&amp;#xCEE4; &amp;#xC774;&amp;#xBBF8;&amp;#xC9C0;&amp;#xB97C; &amp;#xB2E8;&amp;#xC77C; &amp;#xC774;&amp;#xBBF8;&amp;#xC9C0;&amp;#xAC00; &amp;#xC544;&amp;#xB2CC; &amp;#xC5EC;&amp;#xB7EC; &amp;#xC774;&amp;#xBBF8;&amp;#xC9C0;&amp;#xB85C; &amp;#xC0DD;&amp;#xC131;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xAC01; &amp;#xC774;&amp;#xBBF8;&amp;#xC9C0;&amp;#xB294; stage&amp;#xB85C; &amp;#xAC04;&amp;#xC8FC;&amp;#xD558;&amp;#xBA70;, &amp;#xC544;&amp;#xD2F0;&amp;#xD329;&amp;#xD2B8;&amp;#xB294; &amp;#xC774;&amp;#xC804; &amp;#xB2E8;&amp;#xACC4;&amp;#xC5D0;&amp;#xC11C; &amp;#xD604;&amp;#xC7AC; &amp;#xB2E8;&amp;#xACC4;&amp;#xB85C; &amp;#xBCF5;&amp;#xC0AC;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xC608;&amp;#xB97C; &amp;#xB4E4;&amp;#xC5B4;, build stage&amp;#xC640; deploy stage&amp;#xB85C; &amp;#xAD6C;&amp;#xC131;&amp;#xB41C; &amp;#xC774;&amp;#xBBF8;&amp;#xC9C0;&amp;#xAC00; &amp;#xC788;&amp;#xB2E4;&amp;#xACE0; &amp;#xD560; &amp;#xB54C;,&lt;br&gt;
build stage&amp;#xC5D0;&amp;#xC11C;&amp;#xB294; &amp;#xCEF4;&amp;#xD30C;&amp;#xC77C;&amp;#xB7EC;&amp;#xC640; &amp;#xD504;&amp;#xB85C;&amp;#xADF8;&amp;#xB7A8;&amp;#xC744; &amp;#xC2E4;&amp;#xD589;&amp;#xD558;&amp;#xAE30; &amp;#xC704;&amp;#xD574; &amp;#xD544;&amp;#xC694;&amp;#xD55C; &amp;#xD234;, &amp;#xADF8;&amp;#xB9AC;&amp;#xACE0; &amp;#xC18C;&amp;#xC2A4;&amp;#xCF54;&amp;#xB4DC;&amp;#xB9CC; &amp;#xD3EC;&amp;#xD568;&amp;#xB418;&amp;#xC5B4;&amp;#xC788;&amp;#xC73C;&amp;#xBA70; build stage &amp;#xACB0;&amp;#xACFC;&amp;#xBB3C;&amp;#xC774; deploy stage&amp;#xB85C; &amp;#xB118;&amp;#xC5B4;&amp;#xAC11;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
deploy stage&amp;#xC5D0;&amp;#xC11C;&amp;#xB294; &amp;#xADF8; &amp;#xD30C;&amp;#xC77C;&amp;#xB4E4;&amp;#xC744; &amp;#xBC30;&amp;#xD3EC;&amp;#xD558;&amp;#xB294; &amp;#xC774;&amp;#xBBF8;&amp;#xC9C0;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;&lt;/p&gt;
&lt;p&gt;&amp;#xB2E4;&amp;#xB2E8;&amp;#xACC4; &amp;#xBE4C;&amp;#xB4DC; &amp;#xBC29;&amp;#xC2DD;&amp;#xC740; &amp;#xCEF4;&amp;#xD30C;&amp;#xC77C;&amp;#xACB0;&amp;#xACFC;&amp;#xBB3C;&amp;#xC774; &amp;#xC774;&amp;#xBBF8;&amp;#xC9C0; &amp;#xB0B4;&amp;#xC5D0; &amp;#xD3EC;&amp;#xD568;&amp;#xB418;&amp;#xC5B4;&amp;#xC788;&amp;#xC9C0; &amp;#xC54A;&amp;#xAE30; &amp;#xB54C;&amp;#xBB38;&amp;#xC5D0; &amp;#xCEE8;&amp;#xD14C;&amp;#xC774;&amp;#xB108; &amp;#xC774;&amp;#xBBF8;&amp;#xC9C0; &amp;#xD06C;&amp;#xAE30;&amp;#xB97C; &amp;#xB9E4;&amp;#xC6B0; &amp;#xC791;&amp;#xAC8C; &amp;#xAD6C;&amp;#xC131;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xACE0;,&lt;br&gt;
&amp;#xC774;&amp;#xC5D0; &amp;#xC758;&amp;#xD574; &amp;#xBC30;&amp;#xD3EC; &amp;#xC2DC;&amp;#xAC04;&amp;#xC744; &amp;#xB2E8;&amp;#xCD95;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 class=&quot;mume-header&quot; id=&quot;div-ida044-%EC%9B%90%EA%B2%A9-%EB%A0%88%EC%A7%80%EC%8A%A4%ED%8A%B8%EB%A6%AC%EC%97%90-%EC%9D%B4%EB%AF%B8%EC%A7%80-%EC%A0%80%EC%9E%A5div&quot;&gt;&lt;div id=&quot;a04&quot;&gt;4. &amp;#xC6D0;&amp;#xACA9; &amp;#xB808;&amp;#xC9C0;&amp;#xC2A4;&amp;#xD2B8;&amp;#xB9AC;&amp;#xC5D0; &amp;#xC774;&amp;#xBBF8;&amp;#xC9C0; &amp;#xC800;&amp;#xC7A5;&lt;/div&gt;&lt;/h2&gt;

&lt;p&gt;&amp;#xCEE8;&amp;#xD14C;&amp;#xC774;&amp;#xB108; &amp;#xC774;&amp;#xBBF8;&amp;#xC9C0;&amp;#xB97C; &amp;#xC5EC;&amp;#xB7EC; &amp;#xC11C;&amp;#xBC84;&amp;#xC5D0;&amp;#xC11C; &amp;#xC77C;&amp;#xC77C;&amp;#xD788; &amp;#xB0B4;&amp;#xB824;&amp;#xBC1B;&amp;#xACE0; &amp;#xC5C5;&amp;#xB85C;&amp;#xB4DC;&amp;#xD558;&amp;#xB294; &amp;#xAC83;&amp;#xC740; &amp;#xC778;&amp;#xC801; &amp;#xC790;&amp;#xC6D0;&amp;#xB3C4; &amp;#xB9CE;&amp;#xC774; &amp;#xB4E4; &amp;#xBFD0;&amp;#xB9CC; &amp;#xC544;&amp;#xB2C8;&amp;#xB77C; &amp;#xC608;&amp;#xAE30;&amp;#xCE58; &amp;#xBABB;&amp;#xD55C; &amp;#xC2E4;&amp;#xC218;&amp;#xB97C; &amp;#xBC94;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xC774;&amp;#xB7F0; &amp;#xC774;&amp;#xC720;&amp;#xB85C; &amp;#xB3C4;&amp;#xCEE4; &amp;#xC774;&amp;#xBBF8;&amp;#xC9C0;&amp;#xB97C; &amp;#xC6D0;&amp;#xACA9; registry&amp;#xB97C; &amp;#xC800;&amp;#xC7A5;&amp;#xD558;&amp;#xC5EC; &amp;#xB2E4;&amp;#xC6B4;&amp;#xBC1B;&amp;#xB294; &amp;#xD615;&amp;#xD0DC;&amp;#xB85C; &amp;#xB9CE;&amp;#xC774; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;registry&amp;#xB294; GitHub&amp;#xACFC; &amp;#xAC19;&amp;#xC774; public&amp;#xACFC; private&amp;#xC744; &amp;#xC81C;&amp;#xACF5;&amp;#xD558;&amp;#xB294;&amp;#xB370;,&lt;br&gt;
&amp;#xC678;&amp;#xBD80;&amp;#xC5D0; &amp;#xACF5;&amp;#xAC1C;&amp;#xD558;&amp;#xC9C0; &amp;#xC54A;&amp;#xACE0; &amp;#xD2B9;&amp;#xC815; &amp;#xD300;&amp;#xC6D0;&amp;#xB4E4;&amp;#xB07C;&amp;#xB9AC;&amp;#xB9CC; &amp;#xACF5;&amp;#xC720;&amp;#xD558;&amp;#xACE0;&amp;#xC790;&amp;#xD55C;&amp;#xB2E4;&amp;#xBA74; private registry&amp;#xB97C; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD558;&amp;#xB294; &amp;#xAC83;&amp;#xC774; &amp;#xC88B;&amp;#xACE0;.&lt;br&gt;
&amp;#xB9CC;&amp;#xC77C; &amp;#xACF5;&amp;#xAC1C;&amp;#xB418;&amp;#xC5B4;&amp;#xB3C4; &amp;#xBB34;&amp;#xBC29;&amp;#xD558;&amp;#xB2E4;&amp;#xBA74; public registry&amp;#xB97C; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD574;&amp;#xB3C4; &amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;registry&amp;#xB294; &amp;#xC77C;&amp;#xC885;&amp;#xC758; &amp;#xC800;&amp;#xC7A5;&amp;#xC18C;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xC774; &amp;#xACF3;&amp;#xC5D0; &amp;#xC774;&amp;#xBBF8;&amp;#xC9C0;&amp;#xB97C; &amp;#xC62C;&amp;#xB9AC;&amp;#xAE30; &amp;#xC704;&amp;#xD574;&amp;#xC11C;&amp;#xB294; &amp;#xBA3C;&amp;#xC800; &lt;code&gt;docker login&lt;/code&gt; &amp;#xBA85;&amp;#xB839;&amp;#xC5B4;&amp;#xB85C; &amp;#xB85C;&amp;#xADF8;&amp;#xC778;&amp;#xC744; &amp;#xC120;&amp;#xD589;&amp;#xD574;&amp;#xC57C;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 class=&quot;mume-header&quot; id=&quot;div-ida05-15-%EC%BB%A8%ED%85%8C%EC%9D%B4%EB%84%88-%EB%9F%B0%ED%83%80%EC%9E%84-%EC%9D%B8%ED%84%B0%ED%8E%98%EC%9D%B4%EC%8A%A4div&quot;&gt;&lt;div id=&quot;a05-1&quot;&gt;5. &amp;#xCEE8;&amp;#xD14C;&amp;#xC774;&amp;#xB108; &amp;#xB7F0;&amp;#xD0C0;&amp;#xC784; &amp;#xC778;&amp;#xD130;&amp;#xD398;&amp;#xC774;&amp;#xC2A4;&lt;/div&gt;&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;docker run&lt;/strong&gt; &amp;#xCEE4;&amp;#xBA58;&amp;#xB4DC;&amp;#xB85C; &amp;#xCEE8;&amp;#xD14C;&amp;#xC774;&amp;#xB108; &amp;#xC774;&amp;#xBBF8;&amp;#xC9C0;&amp;#xB97C; &amp;#xC2E4;&amp;#xD589;&amp;#xC2DC;&amp;#xD0AC; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;h3 class=&quot;mume-header&quot; id=&quot;51-docker%EB%A1%9C-%EC%BB%A8%ED%85%8C%EC%9D%B4%EB%84%88-%EC%8B%A4%ED%96%89%ED%95%98%EA%B8%B0&quot;&gt;5.1. docker&amp;#xB85C; &amp;#xCEE8;&amp;#xD14C;&amp;#xC774;&amp;#xB108; &amp;#xC2E4;&amp;#xD589;&amp;#xD558;&amp;#xAE30;&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;5.1.1. kuard&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;gcr.io/kuar-demo/kuard-arm64:green&lt;/code&gt; &amp;#xC774;&amp;#xBBF8;&amp;#xC9C0;&amp;#xB97C; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD558;&amp;#xC5EC; kuard &amp;#xB77C;&amp;#xB294; &amp;#xC774;&amp;#xB984;&amp;#xC758; &amp;#xCEE8;&amp;#xD14C;&amp;#xC774;&amp;#xB108;&amp;#xB97C; &amp;#xBC30;&amp;#xD3EC;&amp;#xD574;&amp;#xBD05;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;docker run -d --name kuard -p &lt;span class=&quot;token number&quot;&gt;8080&lt;/span&gt;:8080 gcr.io/kuar-demo/kuard-arm64:green
&lt;/pre&gt;&lt;ul&gt;
&lt;li&gt;-d, --detach
&lt;ul&gt;
&lt;li&gt;&amp;#xB3C4;&amp;#xCEE4; &amp;#xC774;&amp;#xBBF8;&amp;#xC9C0; &amp;#xCEE8;&amp;#xD14C;&amp;#xC774;&amp;#xB108;&amp;#xB97C; &amp;#xBC31;&amp;#xADF8;&amp;#xB77C;&amp;#xC6B4;&amp;#xB4DC;(daemon)&amp;#xB85C; &amp;#xC2E4;&amp;#xD589;&amp;#xC2DC;&amp;#xD0A4;&amp;#xBA70; &amp;#xCEE8;&amp;#xD14C;&amp;#xC774;&amp;#xB108; ID&amp;#xB97C; &amp;#xCD9C;&amp;#xB825;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;--name &amp;#xCEE8;&amp;#xD14C;&amp;#xC774;&amp;#xB108;&amp;#xBA85;
&lt;ul&gt;
&lt;li&gt;&amp;#xCEE8;&amp;#xD14C;&amp;#xC774;&amp;#xB108;&amp;#xBA85;&amp;#xC744; &amp;#xC9C0;&amp;#xC815;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/li&gt;
&lt;li&gt;&amp;#xB9CC;&amp;#xC77C; &amp;#xC774;&amp;#xB984;&amp;#xC744; &amp;#xC9C0;&amp;#xC815;&amp;#xD558;&amp;#xC9C0; &amp;#xC54A;&amp;#xC744; &amp;#xACBD;&amp;#xC6B0; &lt;code&gt;gracious_banzai&lt;/code&gt;&amp;#xC640; &amp;#xAC19;&amp;#xC740; &amp;#xD615;&amp;#xD0DC;&amp;#xB85C; &amp;#xB79C;&amp;#xB364;&amp;#xC73C;&amp;#xB85C; &amp;#xC0DD;&amp;#xC131;&amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;-p, --publish &amp;#xD638;&amp;#xC2A4;&amp;#xD2B8;&amp;#xD3EC;&amp;#xD2B8;:&amp;#xCEE8;&amp;#xD14C;&amp;#xC774;&amp;#xB108;&amp;#xD3EC;&amp;#xD2B8;
&lt;ul&gt;
&lt;li&gt;host&amp;#xC640; &amp;#xCEE8;&amp;#xD14C;&amp;#xC774;&amp;#xB108;&amp;#xC758; port&amp;#xB97C; forward &amp;#xC5F0;&amp;#xACB0;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;br&gt;
&lt;p&gt;&lt;img width=&quot;800&quot; src=&quot;https://github.com/jiniya22/image_box/blob/master/Book/K8s/01-1.png?raw=true&quot;&gt;&lt;br&gt;&lt;/p&gt;
&lt;br&gt;
&lt;p&gt;&lt;strong&gt;5.1.2. &amp;#xC9C1;&amp;#xC811; &amp;#xC0DD;&amp;#xC131;&amp;#xD55C; &amp;#xB3C4;&amp;#xCEE4; &amp;#xC774;&amp;#xBBF8;&amp;#xC9C0; &amp;#xC2E4;&amp;#xD589;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&amp;#xC544;&amp;#xB798;&amp;#xB294; &amp;#xC9C1;&amp;#xC811; &amp;#xC0DD;&amp;#xC131;&amp;#xD55C; &lt;em&gt;jiniworld/docker-react-app&lt;/em&gt; &amp;#xC774;&amp;#xBBF8;&amp;#xC9C0;&amp;#xB97C; &amp;#xC2E4;&amp;#xD589;&amp;#xC2DC;&amp;#xD0A8; &amp;#xC608;&amp;#xC81C;&amp;#xCF54;&amp;#xB4DC;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;docker run -d --name docker-react-app -p &lt;span class=&quot;token number&quot;&gt;8080&lt;/span&gt;:8080 jiniworld/docker-react-app
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;27e517ed82e390b0fbdaa899715e0a89b0d8f741595a3a4f0e2ea745c62900fa
&lt;/pre&gt;&lt;br&gt;
&lt;p&gt;&lt;em&gt;docker ps&lt;/em&gt; &amp;#xBA85;&amp;#xB839;&amp;#xC5B4;&amp;#xB97C; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD558;&amp;#xBA74; &amp;#xB3C4;&amp;#xCEE4; &amp;#xCEE8;&amp;#xD14C;&amp;#xC774;&amp;#xB108; &amp;#xBAA9;&amp;#xB85D;&amp;#xC744; &amp;#xC870;&amp;#xD68C;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;docker &lt;span class=&quot;token function&quot;&gt;ps&lt;/span&gt;
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;CONTAINER ID   IMAGE                        COMMAND                  CREATED         STATUS         PORTS                    NAMES
27e517ed82e3   jiniworld/docker-react-app   &lt;span class=&quot;token string&quot;&gt;&amp;quot;docker-entrypoint.s&amp;#x2026;&amp;quot;&lt;/span&gt;   &lt;span class=&quot;token number&quot;&gt;4&lt;/span&gt; seconds ago   Up &lt;span class=&quot;token number&quot;&gt;3&lt;/span&gt; seconds   &lt;span class=&quot;token number&quot;&gt;0.0&lt;/span&gt;.0.0:8080-&lt;span class=&quot;token operator&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;3000&lt;/span&gt;/tcp   docker-react-app
&lt;/pre&gt;&lt;br&gt;
&lt;h3 class=&quot;mume-header&quot; id=&quot;div-ida05-252-%EB%A6%AC%EC%86%8C%EC%8A%A4-%EC%82%AC%EC%9A%A9%EB%9F%89-%EC%A0%9C%ED%95%9Cdiv&quot;&gt;&lt;div id=&quot;a05-2&quot;&gt;5.2. &amp;#xB9AC;&amp;#xC18C;&amp;#xC2A4; &amp;#xC0AC;&amp;#xC6A9;&amp;#xB7C9; &amp;#xC81C;&amp;#xD55C;&lt;/div&gt;&lt;/h3&gt;

&lt;p&gt;&amp;#xB3C4;&amp;#xCEE4;&amp;#xB294; &amp;#xB9AC;&amp;#xB205;&amp;#xC2A4; &amp;#xCEE4;&amp;#xB110;&amp;#xC774; &amp;#xAE30;&amp;#xBCF8;&amp;#xC801;&amp;#xC73C;&amp;#xB85C; &amp;#xC81C;&amp;#xACF5;&amp;#xD558;&amp;#xB294; cgroup &amp;#xAE30;&amp;#xC220;&amp;#xC744; &amp;#xC774;&amp;#xC6A9;&amp;#xD558;&amp;#xC5EC; &amp;#xC560;&amp;#xD50C;&amp;#xB9AC;&amp;#xCF00;&amp;#xC774;&amp;#xC158;&amp;#xC774; &amp;#xC880; &amp;#xB354; &amp;#xC801;&amp;#xC740; &amp;#xB9AC;&amp;#xC18C;&amp;#xC2A4;&amp;#xB97C; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD558;&amp;#xB3C4;&amp;#xB85D; &amp;#xC124;&amp;#xC815;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
k8s&amp;#xC5D0;&amp;#xC11C;&amp;#xB3C4; &amp;#xC774;&amp;#xAC83;&amp;#xC744; &amp;#xD65C;&amp;#xC6A9;&amp;#xD558;&amp;#xC5EC; &amp;#xAC01; &amp;#xD30C;&amp;#xB4DC;&amp;#xC5D0;&amp;#xC11C; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD558;&amp;#xB294; &amp;#xB9AC;&amp;#xC18C;&amp;#xC2A4; &amp;#xC591;&amp;#xC744; &amp;#xC81C;&amp;#xD55C;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;docker run -d --name kuard -p &lt;span class=&quot;token number&quot;&gt;8080&lt;/span&gt;:8080 &lt;span class=&quot;token punctuation&quot;&gt;\&lt;/span&gt;
  -m 200m --memory-swap 1G &lt;span class=&quot;token punctuation&quot;&gt;\&lt;/span&gt;
  -c &lt;span class=&quot;token number&quot;&gt;1024&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;\&lt;/span&gt;
  gcr.io/kuar-demo/kuard-arm64:green
&lt;/pre&gt;&lt;ul&gt;
&lt;li&gt;-m, --memory &amp;#xBC14;&amp;#xC774;&amp;#xD2B8;
&lt;ul&gt;
&lt;li&gt;&amp;#xBA54;&amp;#xBAA8;&amp;#xB9AC; &amp;#xC81C;&amp;#xD55C;&amp;#xC744; &amp;#xC124;&amp;#xC815;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;--memory-swap &amp;#xBC14;&amp;#xC774;&amp;#xD2B8;
&lt;ul&gt;
&lt;li&gt;swap &amp;#xBA54;&amp;#xBAA8;&amp;#xB9AC; &amp;#xC81C;&amp;#xD55C;&amp;#xC744; &amp;#xC124;&amp;#xC815;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;-c, --cpu-shares &amp;#xC815;&amp;#xC218;
&lt;ul&gt;
&lt;li&gt;CPU &amp;#xC791;&amp;#xC5C5;&amp;#xC2DC; &amp;#xC790;&amp;#xC6D0;&amp;#xC744; &amp;#xD504;&amp;#xB85C;&amp;#xC138;&amp;#xC2A4;&amp;#xC5D0; &amp;#xC5BC;&amp;#xB9C8;&amp;#xB098; &amp;#xD560;&amp;#xB2F9;&amp;#xD560;&amp;#xC9C0;&amp;#xC5D0; &amp;#xB300;&amp;#xD55C; &amp;#xB9AC;&amp;#xC18C;&amp;#xC2A4; &amp;#xC81C;&amp;#xD55C;&lt;/li&gt;
&lt;li&gt;1024&amp;#xAC00; &amp;#xAE30;&amp;#xBCF8; &amp;#xD560;&amp;#xB2F9; &amp;#xBE44;&amp;#xC728;&amp;#xC774;&amp;#xBA70;, &amp;#xAE30;&amp;#xBCF8;&amp;#xBCF4;&amp;#xB2E4; CPU&amp;#xB97C; &amp;#xB450;&amp;#xBC30;&amp;#xB85C; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD558;&amp;#xACE0; &amp;#xC2F6;&amp;#xB2E4;&amp;#xBA74; 2048&amp;#xB85C; &amp;#xC124;&amp;#xC815;&amp;#xD558;&amp;#xBA74; &amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;. (0.5&amp;#xBC30;&amp;#xB85C; &amp;#xC124;&amp;#xC815;&amp;#xD558;&amp;#xACE0; &amp;#xC2F6;&amp;#xB2E4;&amp;#xBA74; 512)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 class=&quot;mume-header&quot; id=&quot;div-ida066-%EC%A0%95%EB%A6%ACdiv&quot;&gt;&lt;div id=&quot;a06&quot;&gt;6. &amp;#xC815;&amp;#xB9AC;&lt;/div&gt;&lt;/h2&gt;

&lt;p&gt;&amp;#xC774;&amp;#xBBF8;&amp;#xC9C0; &amp;#xBE4C;&amp;#xB4DC;&amp;#xB97C; &amp;#xB9C8;&amp;#xCE5C; &amp;#xD6C4;, &amp;#xD544;&amp;#xC694;&amp;#xC5C6;&amp;#xB294; &amp;#xC774;&amp;#xBBF8;&amp;#xC9C0;&amp;#xB294; &lt;em&gt;docker rmi &amp;#xC774;&amp;#xBBF8;&amp;#xC9C0;&amp;#xBA85;(&amp;#xB610;&amp;#xB294; &amp;#xC774;&amp;#xBBF8;&amp;#xC9C0; ID)&lt;/em&gt; &amp;#xC81C;&amp;#xAC70;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xC774;&amp;#xBBF8;&amp;#xC9C0;&amp;#xB97C; &amp;#xC81C;&amp;#xAC70;&amp;#xD558;&amp;#xC9C0; &amp;#xC54A;&amp;#xC73C;&amp;#xBA74; &amp;#xC2DC;&amp;#xC2A4;&amp;#xD15C; &amp;#xC0C1;&amp;#xC5D0; &amp;#xC601;&amp;#xAD6C;&amp;#xC801;&amp;#xC73C;&amp;#xB85C; &amp;#xC874;&amp;#xC7AC;&amp;#xD558;&amp;#xB2C8; &amp;#xC774;&amp;#xBD80;&amp;#xBD84;&amp;#xC744; &amp;#xC720;&amp;#xC758;&amp;#xD574;&amp;#xC57C; &amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;#xAE30;&amp;#xC874;&amp;#xC5D0; &amp;#xBE4C;&amp;#xB4DC;&amp;#xD588;&amp;#xB358; &amp;#xC774;&amp;#xBBF8;&amp;#xC9C0;&amp;#xB97C; &amp;#xC81C;&amp;#xAC70;&amp;#xD558;&amp;#xC9C0; &amp;#xC54A;&amp;#xACE0; &amp;#xB3D9;&amp;#xC77C;&amp;#xD55C; &amp;#xC774;&amp;#xB984;&amp;#xC73C;&amp;#xB85C; &amp;#xC774;&amp;#xBBF8;&amp;#xC9C0;&amp;#xB97C; &amp;#xBE4C;&amp;#xB4DC;&amp;#xD560; &amp;#xACBD;&amp;#xC6B0; &amp;#xC774;&amp;#xC804;&amp;#xC5D0; &amp;#xC0DD;&amp;#xC131;&amp;#xD588;&amp;#xB358; &amp;#xC774;&amp;#xBBF8;&amp;#xC9C0;&amp;#xB294; &amp;#xADF8;&amp;#xB300;&amp;#xB85C; &amp;#xC788;&amp;#xB294;&amp;#xCC44;&amp;#xB85C; &amp;#xC0C8; &amp;#xC774;&amp;#xBBF8;&amp;#xC9C0; &amp;#xBE4C;&amp;#xB4DC;&amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;br&gt;
&lt;p&gt;&amp;#xD604;&amp;#xC7AC; &amp;#xBA38;&amp;#xC2E0;&amp;#xC5D0; &amp;#xC874;&amp;#xC7AC;&amp;#xD558;&amp;#xB294; &amp;#xC774;&amp;#xBBF8;&amp;#xC9C0; &amp;#xBAA9;&amp;#xB85D;&amp;#xC744; &amp;#xC870;&amp;#xD68C;&amp;#xD558;&amp;#xACE0; &amp;#xC2F6;&amp;#xC73C;&amp;#xBA74; &lt;em&gt;docker images&lt;/em&gt; &amp;#xBA85;&amp;#xB839;&amp;#xC744; &amp;#xC774;&amp;#xC6A9;&amp;#xD558;&amp;#xBA74; &amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;docker images
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;REPOSITORY                     TAG       IMAGE ID       CREATED          SIZE
jiniworld/docker-react-app     latest    31901e7478d8   &lt;span class=&quot;token number&quot;&gt;48&lt;/span&gt; minutes ago   549MB
gcr.io/kuar-demo/kuard-arm64   green     ca8c55a31e7a   &lt;span class=&quot;token number&quot;&gt;4&lt;/span&gt; years ago      &lt;span class=&quot;token number&quot;&gt;22&lt;/span&gt;.1MB
&lt;/pre&gt;&lt;br&gt;
&lt;p&gt;&lt;em&gt;docker system prune&lt;/em&gt; &amp;#xB97C; &amp;#xC774;&amp;#xC6A9;&amp;#xD558;&amp;#xBA74; &amp;#xBE4C;&amp;#xB4DC; &amp;#xD504;&amp;#xB85C;&amp;#xC138;&amp;#xC2A4;&amp;#xC5D0; &amp;#xC758;&amp;#xD574; &amp;#xCE90;&amp;#xC2DC;&amp;#xB41C; &amp;#xBBF8;&amp;#xC0AC;&amp;#xC6A9; &amp;#xC774;&amp;#xBBF8;&amp;#xC9C0; &amp;#xACC4;&amp;#xCE35;&amp;#xACFC; &amp;#xC911;&amp;#xC9C0;&amp;#xB41C; &amp;#xC0C1;&amp;#xD0DC;&amp;#xC758; &amp;#xCEE8;&amp;#xD14C;&amp;#xC774;&amp;#xB108;&amp;#xB4E4;&amp;#xC744; &amp;#xD55C;&amp;#xBC88;&amp;#xC5D0; &amp;#xC81C;&amp;#xAC70;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xC774; &amp;#xBA85;&amp;#xB839;&amp;#xC5B4;&amp;#xB97C; cron&amp;#xC73C;&amp;#xB85C; &amp;#xC124;&amp;#xC815;&amp;#xD574;&amp;#xB450;&amp;#xBA74; &amp;#xC77C;&amp;#xC815; &amp;#xC8FC;&amp;#xAE30;&amp;#xB85C; &amp;#xBD88;&amp;#xD544;&amp;#xC694;&amp;#xD55C; &amp;#xC774;&amp;#xBBF8;&amp;#xC9C0;&amp;#xB97C; &amp;#xC81C;&amp;#xAC70;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;docker system prune
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;WARNING&lt;span class=&quot;token operator&quot;&gt;!&lt;/span&gt; This will remove:
  - all stopped containers
  - all networks not used by at least one container
  - all dangling images
  - all dangling build cache

Are you sure you want to continue? &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;y/N&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;
&lt;/pre&gt;&lt;hr&gt;
&lt;h3 class=&quot;mume-header&quot; id&gt;++&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Kubernetes Up &amp;amp; Running Third Edition&lt;/li&gt;
&lt;/ul&gt;

  &lt;/div&gt;&lt;/div&gt;</description>
      <category>Infrastructure/Kubernetes</category>
      <category>k8s</category>
      <author>jiniya22</author>
      <guid isPermaLink="true">https://jini-box.tistory.com/215</guid>
      <comments>https://jini-box.tistory.com/215#entry215comment</comments>
      <pubDate>Mon, 20 Nov 2023 02:01:53 +0900</pubDate>
    </item>
    <item>
      <title>[Kubernetes 시작하기] 01. 쿠버네티스 소개</title>
      <link>https://jini-box.tistory.com/214</link>
      <description>&lt;div id=&quot;html-export&quot;&gt;
      &lt;div class=&quot;mume markdown-preview  &quot;&gt;
      &lt;p&gt;&amp;#xC774; &amp;#xD3EC;&amp;#xC2A4;&amp;#xD305;&amp;#xC740; &amp;#xCFE0;&amp;#xBC84;&amp;#xB124;&amp;#xD2F0;&amp;#xC2A4; &amp;#xC2DC;&amp;#xC791;&amp;#xD558;&amp;#xAE30; 3/e &amp;#xCC45;&amp;#xC744; &amp;#xC815;&amp;#xB9AC;&amp;#xD55C; &amp;#xB0B4;&amp;#xC6A9;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;#a01&quot;&gt;Kubernetes? (= k8s)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&amp;#xAC1C;&amp;#xBC1C; &amp;#xC18D;&amp;#xB3C4; &amp;#xD5A5;&amp;#xC0C1;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;#a02-1&quot;&gt;&amp;#xBD88;&amp;#xBCC0;&amp;#xC131;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#a02-2&quot;&gt;&amp;#xC120;&amp;#xC5B8;&amp;#xD615; configuration&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#a02-3&quot;&gt;&amp;#xC790;&amp;#xAC00; &amp;#xCE58;&amp;#xC720; &amp;#xC2DC;&amp;#xC2A4;&amp;#xD15C;&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#a03&quot;&gt;&amp;#xD655;&amp;#xC7A5;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#a04&quot;&gt;&amp;#xC778;&amp;#xD504;&amp;#xB77C; &amp;#xCD94;&amp;#xC0C1;&amp;#xD654;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#a05&quot;&gt;&amp;#xD074;&amp;#xB77C;&amp;#xC6B0;&amp;#xB4DC; &amp;#xB124;&amp;#xC774;&amp;#xD2F0;&amp;#xBE0C; &amp;#xC5D0;&amp;#xCF54;&amp;#xC2DC;&amp;#xC2A4;&amp;#xD15C;&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;hr&gt;
&lt;h2 class=&quot;mume-header&quot; id=&quot;div-ida011-kubernetes-k8sdiv&quot;&gt;&lt;div id=&quot;a01&quot;&gt;1. Kubernetes? (= k8s)&lt;/div&gt;&lt;/h2&gt;

&lt;p&gt;&amp;#xCFE0;&amp;#xBC84;&amp;#xB124;&amp;#xD2F0;&amp;#xC2A4;&amp;#xB294; &lt;strong&gt;&amp;#xCEE8;&amp;#xD14C;&amp;#xC774;&amp;#xB108;&amp;#xD654;&amp;#xB41C; &amp;#xC560;&amp;#xD50C;&amp;#xB9AC;&amp;#xCF00;&amp;#xC774;&amp;#xC158;&lt;/strong&gt;&amp;#xC744; &amp;#xBC30;&amp;#xD3EC;&amp;#xD558;&amp;#xAE30; &amp;#xC704;&amp;#xD55C; &amp;#xC624;&amp;#xD508;&amp;#xC18C;&amp;#xC2A4; &amp;#xC624;&amp;#xCF00;&amp;#xC2A4;&amp;#xD2B8;&amp;#xB808;&amp;#xC774;&amp;#xD130;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;orchestrator&lt;br&gt;
&amp;#xB808;&amp;#xC9C0;&amp;#xC2A4;&amp;#xD2B8;&amp;#xB9AC; &amp;#xC800;&amp;#xC7A5;&amp;#xC18C;&amp;#xB85C;&amp;#xBD80;&amp;#xD130; &amp;#xCEE8;&amp;#xD14C;&amp;#xC774;&amp;#xB108; &amp;#xC774;&amp;#xBBF8;&amp;#xC9C0;&amp;#xB97C; &amp;#xAC00;&amp;#xC838;&amp;#xC624;&amp;#xAC70;&amp;#xB098; &amp;#xBC30;&amp;#xCE58;&amp;#xD558;&amp;#xACE0; &amp;#xC2E4;&amp;#xD589;&amp;#xC911;&amp;#xC778; &amp;#xCEE8;&amp;#xD14C;&amp;#xC774;&amp;#xB108;&amp;#xB97C; &amp;#xAD00;&amp;#xB9AC;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xAC8C;&amp;#xD558;&amp;#xB294; &amp;#xB3C4;&amp;#xAD6C;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;br&gt;
&lt;p&gt;k&amp;#xB85C; &amp;#xC2DC;&amp;#xC791;&amp;#xB418;&amp;#xC11C; s&amp;#xB85C; &amp;#xB05D;&amp;#xB098;&amp;#xB294; &amp;#xCFE0;&amp;#xBC84;&amp;#xB124;&amp;#xD2F0;&amp;#xC2A4;&amp;#xB294; k&amp;#xC640; s &amp;#xC0AC;&amp;#xC774;&amp;#xC758; 8&amp;#xAE00;&amp;#xC790;&amp;#xB97C; &amp;#xC904;&amp;#xC5EC;&amp;#xC11C; &lt;strong&gt;k8s&lt;/strong&gt;&amp;#xB77C;&amp;#xACE0; &amp;#xC904;&amp;#xC5EC;&amp;#xC11C; &amp;#xBD80;&amp;#xB974;&amp;#xACE4; &amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xB300;&amp;#xBD80;&amp;#xBD84;&amp;#xC758; Public cloud &amp;#xC5D0;&amp;#xC11C; &amp;#xC9C0;&amp;#xC6D0;&amp;#xD558;&amp;#xACE0; &amp;#xC788;&amp;#xC73C;&amp;#xBA70;, Cloud native application &amp;#xAD6C;&amp;#xCD95;&amp;#xC744; &amp;#xC704;&amp;#xD55C; &amp;#xD45C;&amp;#xC900; API&amp;#xB85C; &amp;#xC790;&amp;#xB9AC;&amp;#xD558;&amp;#xACE0; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xC2E0;&amp;#xB8B0;&amp;#xC131;&amp;#xACFC; &amp;#xD655;&amp;#xC7A5;&amp;#xC131; &amp;#xAC16;&amp;#xCD98; &amp;#xBD84;&amp;#xC0B0; &amp;#xC2DC;&amp;#xC2A4;&amp;#xD15C; &amp;#xC778;&amp;#xD504;&amp;#xB77C; &amp;#xC694;&amp;#xC18C;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&amp;#xC2E0;&amp;#xB8B0;&amp;#xC131;&lt;/strong&gt;&amp;#xC740; &amp;#xC2DC;&amp;#xC2A4;&amp;#xD15C;&amp;#xC758; &amp;#xC77C;&amp;#xBD80;&amp;#xBD84;&amp;#xC774; &amp;#xACE0;&amp;#xC7A5;&amp;#xB098;&amp;#xB354;&amp;#xB77C;&amp;#xB3C4; &amp;#xC804;&amp;#xCCB4; &amp;#xC2DC;&amp;#xC2A4;&amp;#xD15C;&amp;#xC774; &amp;#xB3D9;&amp;#xC791;&amp;#xD558;&amp;#xC9C0; &amp;#xC54A;&amp;#xC544;&amp;#xC11C;&amp;#xB294; &amp;#xC548;&amp;#xB418;&amp;#xB294; &amp;#xC131;&amp;#xC9C8;&amp;#xB85C;,&lt;br&gt;
rollout&amp;#xB418;&amp;#xB294; &amp;#xB3D9;&amp;#xC548;&amp;#xC5D0;&amp;#xB3C4; &amp;#xD574;&amp;#xB2F9; &amp;#xC2DC;&amp;#xC2A4;&amp;#xD15C;&amp;#xC758; &lt;strong&gt;&amp;#xAC00;&amp;#xC6A9;&amp;#xC131;&lt;/strong&gt;&amp;#xC744; &amp;#xADF8;&amp;#xB300;&amp;#xB85C; &amp;#xBCF4;&amp;#xC7A5;&amp;#xD558;&amp;#xB294; &amp;#xAC83;&amp;#xC744; &amp;#xC608;&amp;#xC2DC;&amp;#xB85C; &amp;#xB4E4; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;rollout: &amp;#xBC30;&amp;#xD3EC;&amp;#xC5D0; &amp;#xB300;&amp;#xD55C; &amp;#xBCC0;&amp;#xACBD;&amp;#xC0AC;&amp;#xD56D;. rollout&amp;#xC744; &amp;#xC774;&amp;#xC6A9;&amp;#xD558;&amp;#xC5EC; &amp;#xBC30;&amp;#xD3EC;&amp;#xB97C; &amp;#xC2DC;&amp;#xC791;/&amp;#xC77C;&amp;#xC2DC;&amp;#xC815;&amp;#xC9C0;/&amp;#xC7AC;&amp;#xAC1C;/&amp;#xB864;&amp;#xBC31;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&amp;#xD655;&amp;#xC7A5;&amp;#xC131;&amp;#xC740; &amp;#xC0C1;&amp;#xD669;&amp;#xC5D0; &amp;#xB530;&amp;#xB77C; &amp;#xC560;&amp;#xD50C;&amp;#xB9AC;&amp;#xCF00;&amp;#xC774;&amp;#xC158; &amp;#xC6A9;&amp;#xB7C9;&amp;#xC774;&amp;#xB098; &amp;#xC218;&amp;#xB97C; &amp;#xB298;&amp;#xB9AC;&amp;#xAC70;&amp;#xB098; &amp;#xC904;&amp;#xC774;&amp;#xB294; &amp;#xAC83;&amp;#xC744; &amp;#xC758;&amp;#xBBF8;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xCFE0;&amp;#xBC84;&amp;#xB124;&amp;#xD2F0;&amp;#xC2A4;&amp;#xC640; &amp;#xCEE8;&amp;#xD14C;&amp;#xC774;&amp;#xB108; API&amp;#xB97C; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD558;&amp;#xB294; &amp;#xAC83;&amp;#xC5D0;&amp;#xB294; &amp;#xC544;&amp;#xB798;&amp;#xC640; &amp;#xAC19;&amp;#xC740; &amp;#xC7A5;&amp;#xC810;&amp;#xC774; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&amp;#xAC1C;&amp;#xBC1C; &amp;#xC18D;&amp;#xB3C4; &amp;#xD5A5;&amp;#xC0C1;&lt;/li&gt;
&lt;li&gt;&amp;#xD655;&amp;#xC7A5;&amp;#xC131;&lt;/li&gt;
&lt;li&gt;&amp;#xC778;&amp;#xD504;&amp;#xB77C; &amp;#xCD94;&amp;#xC0C1;&amp;#xD654;&lt;/li&gt;
&lt;li&gt;&amp;#xD6A8;&amp;#xC728;&amp;#xC131; &amp;#xC99D;&amp;#xB300;&lt;/li&gt;
&lt;li&gt;&amp;#xD074;&amp;#xB77C;&amp;#xC6B0;&amp;#xB4DC; &amp;#xB124;&amp;#xC774;&amp;#xD2F0;&amp;#xBE0C; &amp;#xC5D0;&amp;#xCF54;&amp;#xC2DC;&amp;#xC2A4;&amp;#xD15C;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 class=&quot;mume-header&quot; id=&quot;div-ida02-12-%EA%B0%9C%EB%B0%9C-%EC%86%8D%EB%8F%84-%ED%96%A5%EC%83%81div&quot;&gt;&lt;div id=&quot;a02-1&quot;&gt;2. &amp;#xAC1C;&amp;#xBC1C; &amp;#xC18D;&amp;#xB3C4; &amp;#xD5A5;&amp;#xC0C1;&lt;/div&gt;&lt;/h2&gt;

&lt;p&gt;&amp;#xC18D;&amp;#xB3C4;&amp;#xB294; &amp;#xAC00;&amp;#xC6A9;&amp;#xC131;&amp;#xC744; &amp;#xAC16;&amp;#xB294; &amp;#xC11C;&amp;#xBE44;&amp;#xC2A4;&amp;#xB97C; &amp;#xC720;&amp;#xC9C0;&amp;#xD558;&amp;#xBA74;&amp;#xC11C; &amp;#xC81C;&amp;#xACF5;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xB294; &amp;#xC11C;&amp;#xBE44;&amp;#xC2A4;&amp;#xC758; &amp;#xC218;&amp;#xB85C; &amp;#xCE21;&amp;#xC815;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xC774; &amp;#xAC12;&amp;#xC774; &amp;#xB192;&amp;#xC744; &amp;#xC218;&amp;#xB85D;, &amp;#xC0C8;&amp;#xB85C;&amp;#xC6B4; &amp;#xC18C;&amp;#xD504;&amp;#xD2B8;&amp;#xC6E8;&amp;#xC5B4;&amp;#xB97C; &amp;#xC548;&amp;#xC815;&amp;#xC801;&amp;#xC73C;&amp;#xB85C; &amp;#xBC30;&amp;#xD3EC;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xACE0;, &amp;#xC774;&amp;#xB294; &amp;#xAC1C;&amp;#xBC1C; &amp;#xC18D;&amp;#xB3C4; &amp;#xD5A5;&amp;#xC0C1;&amp;#xC5D0;&amp;#xB3C4; &amp;#xD070; &amp;#xC601;&amp;#xD5A5;&amp;#xC744; &amp;#xC90D;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xCFE0;&amp;#xBC84;&amp;#xB124;&amp;#xD2F0;&amp;#xC2A4;&amp;#xC5D0;&amp;#xC11C;&amp;#xB294; &amp;#xC18D;&amp;#xB3C4; &amp;#xAC1C;&amp;#xC120;&amp;#xC744; &amp;#xC704;&amp;#xD574; &amp;#xC544;&amp;#xB798;&amp;#xACFC; &amp;#xAC19;&amp;#xC740; &amp;#xD2B9;&amp;#xC9D5;&amp;#xC744; &amp;#xC9C0;&amp;#xB2C8;&amp;#xACE0; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&amp;#xBD88;&amp;#xBCC0;&amp;#xC131;&lt;/li&gt;
&lt;li&gt;&amp;#xC120;&amp;#xC5B8;&amp;#xD615; configuration&lt;/li&gt;
&lt;li&gt;&amp;#xC628;&amp;#xB77C;&amp;#xC778; &amp;#xC790;&amp;#xAC00; &amp;#xCE58;&amp;#xC720; &amp;#xC2DC;&amp;#xC2A4;&amp;#xD15C;&lt;/li&gt;
&lt;li&gt;&amp;#xC7AC;&amp;#xC0AC;&amp;#xC6A9; &amp;#xAC00;&amp;#xB2A5;&amp;#xD55C; &amp;#xACF5;&amp;#xC720; &amp;#xB77C;&amp;#xC774;&amp;#xBE0C;&amp;#xB7EC;&amp;#xB9AC; &amp;#xBC0F; &amp;#xB3C4;&amp;#xAD6C;&lt;/li&gt;
&lt;/ul&gt;
&lt;br&gt;
&lt;h3 class=&quot;mume-header&quot; id=&quot;21-%EB%B6%88%EB%B3%80%EC%84%B1&quot;&gt;2.1. &amp;#xBD88;&amp;#xBCC0;&amp;#xC131;&lt;/h3&gt;

&lt;p&gt;Immutable infrastructure&lt;/p&gt;
&lt;p&gt;&amp;#xBD88;&amp;#xBCC0;&amp;#xD615; &amp;#xC778;&amp;#xD504;&amp;#xB77C;.&lt;br&gt;
&amp;#xC11C;&amp;#xBC84;&amp;#xAC00; &amp;#xD55C;&amp;#xBC88; &amp;#xBC30;&amp;#xD3EC;&amp;#xB41C; &amp;#xC774;&amp;#xD6C4; &amp;#xC808;&amp;#xB300; &amp;#xBCC0;&amp;#xACBD;&amp;#xB418;&amp;#xC9C0; &amp;#xC54A;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;. &amp;#xB530;&amp;#xB77C;&amp;#xC11C;, &lt;u&gt;&amp;#xC2DC;&amp;#xC2A4;&amp;#xD15C;&amp;#xC5D0;&amp;#xC11C; &amp;#xC0DD;&amp;#xC131;&amp;#xB41C; artifact(&amp;#xC2E4;&amp;#xD589;&amp;#xD30C;&amp;#xC77C;)&amp;#xB294; &amp;#xC0AC;&amp;#xC6A9;&amp;#xC790;&amp;#xC758; &amp;#xC218;&amp;#xC815;&amp;#xC5D0; &amp;#xC758;&amp;#xD574; &amp;#xBCC0;&amp;#xACBD;&amp;#xB420; &amp;#xC218; &amp;#xC5C6;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/u&gt;&lt;/p&gt;
&lt;br&gt;
&lt;p&gt;&amp;#xC608;&amp;#xC804;&amp;#xC758; &amp;#xBC29;&amp;#xC2DD;&amp;#xC5D0;&amp;#xC11C;&amp;#xB294;,&lt;br&gt;
&lt;strong&gt;yum update&lt;/strong&gt; &amp;#xACFC; &amp;#xAC19;&amp;#xC740; &amp;#xD328;&amp;#xD0A4;&amp;#xC9C0; &amp;#xAD00;&amp;#xB9AC; &amp;#xB3C4;&amp;#xAD6C;&amp;#xB97C; &amp;#xD1B5;&amp;#xD574; &amp;#xAE30;&amp;#xC874; &amp;#xC778;&amp;#xD504;&amp;#xB77C; &amp;#xC2DC;&amp;#xC2A4;&amp;#xD15C;&amp;#xC744; &amp;#xC5C5;&amp;#xADF8;&amp;#xB808;&amp;#xC774;&amp;#xB4DC; &amp;#xD588;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xB354; &amp;#xC27D;&amp;#xAC8C; &amp;#xC608;&amp;#xC2DC;&amp;#xB97C; &amp;#xB4E4;&amp;#xC790;&amp;#xBA74;, Apache&amp;#xC640; &amp;#xAC19;&amp;#xC740; &amp;#xC11C;&amp;#xBC84;&amp;#xC758; &amp;#xC5C5;&amp;#xB370;&amp;#xC774;&amp;#xD2B8;&amp;#xAC00; &amp;#xD544;&amp;#xC694;&amp;#xD55C; &amp;#xACBD;&amp;#xC6B0;, &amp;#xC9C1;&amp;#xC811; &amp;#xC778;&amp;#xD504;&amp;#xB77C; &amp;#xAD6C;&amp;#xC131;&amp;#xD300;&amp;#xC774; Apache &amp;#xC6F9;&amp;#xC11C;&amp;#xBC84;&amp;#xB97C; &amp;#xC5C5;&amp;#xADF8;&amp;#xB808;&amp;#xC774;&amp;#xB4DC; &amp;#xC2DC;&amp;#xD0A4;&amp;#xAE30;&amp;#xB3C4; &amp;#xD588;&amp;#xACE0;&lt;br&gt;
httpd.conf &amp;#xAD6C;&amp;#xC131;&amp;#xD30C;&amp;#xC77C;&amp;#xC758; &amp;#xC5C5;&amp;#xADF8;&amp;#xB808;&amp;#xC774;&amp;#xB4DC;&amp;#xAC00; &amp;#xD544;&amp;#xC694;&amp;#xD588;&amp;#xC744; &amp;#xACBD;&amp;#xC6B0;, &amp;#xAE30;&amp;#xC874; &amp;#xD30C;&amp;#xC77C;&amp;#xC744; &amp;#xB36E;&amp;#xC5B4;&amp;#xC4F0;&amp;#xB294; &amp;#xD615;&amp;#xD0DC;&amp;#xC600;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xC774;&amp;#xC640; &amp;#xAC19;&amp;#xC740; &amp;#xAD6C;&amp;#xBC84;&amp;#xC804;&amp;#xC758; &amp;#xBC29;&amp;#xC2DD;&amp;#xC758; &amp;#xACBD;&amp;#xC6B0;, &amp;#xC2DC;&amp;#xC2A4;&amp;#xD15C;&amp;#xC744; &amp;#xC5C5;&amp;#xADF8;&amp;#xB808;&amp;#xC774;&amp;#xB4DC; &amp;#xD558;&amp;#xAC8C;&amp;#xB418;&amp;#xBA74;, &amp;#xC2DC;&amp;#xC2A4;&amp;#xD15C;&amp;#xB3C4; &amp;#xC5C5;&amp;#xADF8;&amp;#xB808;&amp;#xC774;&amp;#xB4DC; &amp;#xB418;&amp;#xACE0; &amp;#xAD6C;&amp;#xC131;&amp;#xD30C;&amp;#xC77C;&amp;#xB3C4; &amp;#xBCC0;&amp;#xACBD;&amp;#xB418;&amp;#xAE30; &amp;#xB54C;&amp;#xBB38;&amp;#xC5D0;&lt;br&gt;
&amp;#xB2E4;&amp;#xC2DC; &amp;#xC608;&amp;#xC804;&amp;#xC758; &amp;#xBC84;&amp;#xC804;&amp;#xC73C;&amp;#xB85C; &amp;#xB418;&amp;#xB3CC;&amp;#xB9AC;&amp;#xACE0; &amp;#xC2F6;&amp;#xC740; &amp;#xACBD;&amp;#xC6B0; &amp;#xB9CE;&amp;#xC740; &amp;#xC791;&amp;#xC5C5;&amp;#xC774; &amp;#xD544;&amp;#xC694;&amp;#xD558;&amp;#xC600;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xBB3C;&amp;#xB860;, &amp;#xAE30;&amp;#xC874; &amp;#xAD6C;&amp;#xC131;&amp;#xC5D0; &amp;#xB300;&amp;#xD574; &amp;#xBC31;&amp;#xC5C5;&amp;#xC744; &amp;#xB450;&amp;#xB294; &amp;#xAC83;&amp;#xB3C4; &amp;#xBC29;&amp;#xBC95;&amp;#xC774;&amp;#xACA0;&amp;#xC9C0;&amp;#xB9CC; &amp;#xC774;&amp;#xC5D0; &amp;#xB300;&amp;#xD55C; &amp;#xACF5;&amp;#xC218;&amp;#xB3C4; &amp;#xB9CE;&amp;#xC774; &amp;#xB4E4;&amp;#xC5B4;&amp;#xAC04;&amp;#xB2E4;&amp;#xB294; &amp;#xBB38;&amp;#xC81C;&amp;#xC810;&amp;#xC774; &amp;#xC788;&amp;#xC5C8;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&lt;br&gt;&lt;/p&gt;
&lt;p&gt;&amp;#xBD88;&amp;#xBCC0;&amp;#xD615; &amp;#xC778;&amp;#xD504;&amp;#xB77C;&amp;#xB294; &amp;#xC774;&amp;#xC5D0; &amp;#xB300;&amp;#xD55C; &amp;#xD574;&amp;#xACB0; &amp;#xBC29;&amp;#xC548;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xC0AC;&amp;#xC6A9;&amp;#xD558;&amp;#xB294; &amp;#xC778;&amp;#xD504;&amp;#xB77C; &amp;#xC11C;&amp;#xBE44;&amp;#xC2A4;(Apache WebServer, DB &amp;#xB4F1;) &amp;#xBC84;&amp;#xC804;&amp;#xC740; &amp;#xD55C;&amp;#xBC88; &amp;#xC124;&amp;#xC815;&amp;#xD558;&amp;#xACE0; &lt;strong&gt;&amp;#xAC1C;&amp;#xBC1C;&amp;#xC790;&amp;#xC5D0; &amp;#xC758;&amp;#xD574; &amp;#xC9C1;&amp;#xC811;&amp;#xC801;&amp;#xC73C;&amp;#xB85C; &amp;#xC218;&amp;#xC815;&amp;#xB418;&amp;#xC9C0; &amp;#xC54A;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/strong&gt;&lt;br&gt;
&amp;#xADF8;&amp;#xB9AC;&amp;#xACE0;, &amp;#xADF8; &amp;#xC11C;&amp;#xBE44;&amp;#xC2A4;&amp;#xB97C; &amp;#xC774;&amp;#xC6A9;&amp;#xD558;&amp;#xAE30; &amp;#xC704;&amp;#xD55C; &amp;#xAD6C;&amp;#xC131;&amp;#xD30C;&amp;#xC77C;(httpd.conf, my.cnf) &amp;#xC5ED;&amp;#xC2DC; &amp;#xC9C1;&amp;#xC811;&amp;#xC801;&amp;#xC73C;&amp;#xB85C; &amp;#xC218;&amp;#xC815;&amp;#xB418;&amp;#xC9C0; &amp;#xC54A;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xC778;&amp;#xD504;&amp;#xB77C; &amp;#xC11C;&amp;#xBE44;&amp;#xC2A4;&amp;#xC758; &amp;#xBC84;&amp;#xC804;&amp;#xACFC; &amp;#xAD6C;&amp;#xC131;&amp;#xD30C;&amp;#xC77C;&amp;#xC5D0; &amp;#xB300;&amp;#xD55C; &amp;#xC138;&amp;#xD305;&amp;#xC744; &amp;#xCFE0;&amp;#xBC84;&amp;#xB124;&amp;#xD2F0;&amp;#xC2A4; &amp;#xC124;&amp;#xC815;&amp;#xD30C;&amp;#xC77C;&amp;#xC5D0; &amp;#xC815;&amp;#xC758;&amp;#xB418;&amp;#xACE0;&lt;br&gt;
&amp;#xC774;&amp;#xBBF8;&amp;#xC9C0;&amp;#xB97C; &amp;#xBE4C;&amp;#xB4DC;&amp;#xD55C; &amp;#xD6C4;, &lt;u&gt;&amp;#xC2E4;&amp;#xD589;&amp;#xC911;&amp;#xC778; &amp;#xCEE8;&amp;#xD14C;&amp;#xC774;&amp;#xB108;&amp;#xB97C; &amp;#xC9C1;&amp;#xC811;&amp;#xC801;&amp;#xC73C;&amp;#xB85C; &amp;#xC218;&amp;#xC815;&amp;#xD558;&amp;#xB294; &amp;#xC77C;&amp;#xC774; &amp;#xC5C6;&amp;#xC73C;&amp;#xBA70;&lt;/u&gt;&lt;/p&gt;
&lt;p&gt;&amp;#xB9CC;&amp;#xC77C;, &amp;#xC11C;&amp;#xBE44;&amp;#xC2A4;&amp;#xBC84;&amp;#xC804;&amp;#xC744; &amp;#xBCC0;&amp;#xACBD;&amp;#xD558;&amp;#xACE0; &amp;#xC2F6;&amp;#xAC70;&amp;#xB098;, &amp;#xC124;&amp;#xC815;&amp;#xD30C;&amp;#xC77C; &amp;#xC218;&amp;#xC815;&amp;#xC774; &amp;#xD544;&amp;#xC694;&amp;#xD558;&amp;#xB2E4;&amp;#xBA74; &amp;#xC0C8;&amp;#xB85C;&amp;#xC6B4; &amp;#xBC84;&amp;#xC804;&amp;#xC758; &amp;#xC774;&amp;#xBBF8;&amp;#xC9C0;&amp;#xB97C; &amp;#xAD6C;&amp;#xC131;&amp;#xD558;&amp;#xC5EC; &amp;#xC774;&amp;#xBBF8;&amp;#xC9C0; &amp;#xAD50;&amp;#xCCB4;&amp;#xB97C; &amp;#xD1B5;&amp;#xD574; &amp;#xBCC0;&amp;#xACBD;&amp;#xC774; &amp;#xC774;&amp;#xB904;&amp;#xC9D1;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xBD88;&amp;#xBCC0;&amp;#xD615; &amp;#xC778;&amp;#xD504;&amp;#xB77C;&amp;#xB294;, &amp;#xC608;&amp;#xC804;&amp;#xBC84;&amp;#xC804;&amp;#xC758; &amp;#xC2DC;&amp;#xC2A4;&amp;#xD15C; &amp;#xBC0F; &amp;#xAD6C;&amp;#xC131;&amp;#xD30C;&amp;#xC77C;&amp;#xB85C; &amp;#xB864;&amp;#xBC31;&amp;#xD558;&amp;#xB294; &amp;#xAC83;&amp;#xC774; &amp;#xB9E4;&amp;#xC6B0; &amp;#xAC04;&amp;#xD3B8;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xB2E8;&amp;#xC21C;&amp;#xD558;&amp;#xAC8C;, &amp;#xC608;&amp;#xC804;&amp;#xC5D0; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD588;&amp;#xB358; &amp;#xC774;&amp;#xBBF8;&amp;#xC9C0;&amp;#xB85C; &amp;#xAD50;&amp;#xCCB4;&amp;#xD558;&amp;#xC5EC; &amp;#xBE4C;&amp;#xB4DC;&amp;#xD558;&amp;#xBA74; &amp;#xB05D;&amp;#xC774;&amp;#xAE30; &amp;#xB54C;&amp;#xBB38;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;br&gt;
&lt;h3 class=&quot;mume-header&quot; id=&quot;div-ida02-222-%EC%84%A0%EC%96%B8%ED%98%95-configurationdiv&quot;&gt;&lt;div id=&quot;a02-2&quot;&gt;2.2. &amp;#xC120;&amp;#xC5B8;&amp;#xD615; configuration&lt;/div&gt;&lt;/h3&gt;

&lt;p&gt;&amp;#xC0C1;&amp;#xD0DC;&amp;#xB97C; &amp;#xC120;&amp;#xC5B8;&amp;#xD558;&amp;#xB294; &amp;#xBC29;&amp;#xBC95;&amp;#xC73C;&amp;#xB85C;,&lt;br&gt;
&amp;#xB9AC;&amp;#xC18C;&amp;#xC2A4; &amp;#xC874;&amp;#xC7AC; &amp;#xC720;&amp;#xBB34;&amp;#xB97C; &amp;#xB530;&amp;#xC9C0;&amp;#xB294; &amp;#xAC83;&amp;#xBCF4;&amp;#xB2E4;&amp;#xB294; &amp;#xC6D0;&amp;#xD558;&amp;#xB294; &amp;#xC0C1;&amp;#xD0DC;&amp;#xB85C; &lt;strong&gt;&amp;#xC5C5;&amp;#xB370;&amp;#xC774;&amp;#xD2B8;&lt;/strong&gt;&amp;#xD558;&amp;#xB294; &amp;#xAC83;&amp;#xC5D0; &amp;#xCD08;&amp;#xC810;&amp;#xC744; &amp;#xB9DE;&amp;#xCD94;&amp;#xACE0; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xC6D0;&amp;#xD558;&amp;#xB294; &amp;#xBAA9;&amp;#xC801;&amp;#xC5D0; &amp;#xB2EC;&amp;#xC131;&amp;#xD558;&amp;#xAE30; &amp;#xC704;&amp;#xD55C; &amp;#xAD6C;&amp;#xCCB4;&amp;#xC801;&amp;#xC778; &amp;#xBA85;&amp;#xB839; &amp;#xC81C;&amp;#xC2DC;&amp;#xAC00; &amp;#xC544;&amp;#xB2CC;, &amp;#xBAA9;&amp;#xC801;&amp;#xC5D0; &amp;#xB300;&amp;#xD55C; &amp;#xC120;&amp;#xC5B8;&amp;#xB9CC; &amp;#xC788;&amp;#xC73C;&amp;#xBA70;&lt;br&gt;
&amp;#xC2DC;&amp;#xC2A4;&amp;#xD15C;&amp;#xC774; &amp;#xC2A4;&amp;#xC2A4;&amp;#xB85C; &amp;#xD310;&amp;#xB2E8;&amp;#xD558;&amp;#xC5EC; &amp;#xBAA9;&amp;#xC801;&amp;#xC744; &amp;#xB2EC;&amp;#xC131;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xC774;&amp;#xB294;, &amp;#xC2DC;&amp;#xC2A4;&amp;#xD15C; &amp;#xC6B4;&amp;#xC601;&amp;#xC5D0; &amp;#xD544;&amp;#xC694;&amp;#xD55C; &amp;#xD310;&amp;#xB2E8;&amp;#xACFC; &amp;#xC6B4;&amp;#xC601;&amp;#xC5D0; &amp;#xB300;&amp;#xD574; &amp;#xC0AC;&amp;#xB78C;&amp;#xC758; &amp;#xAC1C;&amp;#xC785;&amp;#xC744; &amp;#xCD5C;&amp;#xC18C;&amp;#xD654; &amp;#xC2DC;&amp;#xD0B5;&amp;#xB2C8;&amp;#xB2E4;&lt;/p&gt;
&lt;p&gt;&amp;#xC9C1;&amp;#xC811;&amp;#xC801;&amp;#xC73C;&amp;#xB85C; &amp;#xBA85;&amp;#xB839;&amp;#xC5B4;&amp;#xB97C; &amp;#xB098;&amp;#xC5F4;&amp;#xD558;&amp;#xB294; &amp;#xAC83;&amp;#xC774; &amp;#xC544;&amp;#xB2C8;&amp;#xAE30; &amp;#xB54C;&amp;#xBB38;&amp;#xC5D0;&lt;br&gt;
&amp;#xC120;&amp;#xC5B8;&amp;#xD55C; &amp;#xBA85;&amp;#xC138;&amp;#xB300;&amp;#xB85C; &amp;#xC218;&amp;#xD589;&amp;#xB418;&amp;#xC9C0; &amp;#xC54A;&amp;#xC558;&amp;#xC744;&amp;#xC2DC;, &amp;#xC77C;&amp;#xC815;&amp;#xC2DC;&amp;#xAC04; &amp;#xB3D9;&amp;#xC548;&amp;#xC758; &amp;#xB300;&amp;#xAE30; &amp;#xD6C4; &amp;#xB2E4;&amp;#xC2DC; &amp;#xC7AC;&amp;#xC0DD;&amp;#xC131; &amp;#xB4F1;&amp;#xC758; &amp;#xAE30;&amp;#xB2A5;&amp;#xC744; &amp;#xC790;&amp;#xB3D9;&amp;#xC73C;&amp;#xB85C; &amp;#xAD6C;&amp;#xC131;&amp;#xD558;&amp;#xB294; &amp;#xAC83;&amp;#xB3C4; &amp;#xC190;&amp;#xC27D;&amp;#xAC8C; &amp;#xAC00;&amp;#xB2A5;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;br&gt;
&lt;h3 class=&quot;mume-header&quot; id=&quot;div-ida02-323-%EC%9E%90%EA%B0%80-%EC%B9%98%EC%9C%A0-%EC%8B%9C%EC%8A%A4%ED%85%9Cdiv&quot;&gt;&lt;div id=&quot;a02-3&quot;&gt;2.3. &amp;#xC790;&amp;#xAC00; &amp;#xCE58;&amp;#xC720; &amp;#xC2DC;&amp;#xC2A4;&amp;#xD15C;&lt;/div&gt;&lt;/h3&gt;

&lt;p&gt;&amp;#xB610;, &amp;#xBD88;&amp;#xBCC0;&amp;#xD615; &amp;#xC778;&amp;#xD504;&amp;#xB77C; &amp;#xC2DC;&amp;#xC2A4;&amp;#xD15C;&amp;#xC5D0;&amp;#xC11C;, &amp;#xC0AC;&amp;#xB78C;&amp;#xC774; &amp;#xC9C1;&amp;#xC811; &amp;#xAD6C;&amp;#xC131;&amp;#xC744; &amp;#xBCC0;&amp;#xACBD;&amp;#xD588;&amp;#xC744;&amp;#xC2DC;&lt;br&gt;
&amp;#xC120;&amp;#xC5B8;&amp;#xD615; configuration &amp;#xBA85;&amp;#xC138;&amp;#xC640; &amp;#xD604;&amp;#xC7AC; &amp;#xAD6C;&amp;#xC131;&amp;#xC124;&amp;#xC815;&amp;#xC774; &amp;#xB2E4;&amp;#xB984;&amp;#xC744; &amp;#xAC10;&amp;#xC9C0;&amp;#xD558;&amp;#xC5EC; &amp;#xCD5C;&amp;#xCD08;&amp;#xB85C; &amp;#xC120;&amp;#xC5B8;&amp;#xB41C; &amp;#xC0C1;&amp;#xD0DC;&amp;#xB85C; &amp;#xBCF5;&amp;#xAD6C;&amp;#xD558;&amp;#xB294; &amp;#xAC83;&amp;#xB3C4; &amp;#xAC00;&amp;#xB2A5;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&amp;#xC774;&amp;#xB294;, &amp;#xC758;&amp;#xB3C4;&amp;#xCE58;&amp;#xC54A;&amp;#xC740; &amp;#xC218;&amp;#xC815;&amp;#xC774; &amp;#xC77C;&amp;#xC5B4;&amp;#xB098;&amp;#xB3C4; &amp;#xC790;&amp;#xB3D9;&amp;#xC73C;&amp;#xB85C; &amp;#xAC10;&amp;#xC9C0;&amp;#xB418;&amp;#xC5B4; &amp;#xC791;&amp;#xB3D9;&amp;#xB418;&amp;#xAE30; &amp;#xB54C;&amp;#xBB38;&amp;#xC5D0; &amp;#xC804;&amp;#xCCB4; &amp;#xC2DC;&amp;#xC2A4;&amp;#xD15C;&amp;#xC744; &amp;#xB354; &amp;#xACAC;&amp;#xACE0;&amp;#xD558;&amp;#xAC8C; &amp;#xB9CC;&amp;#xB4E4;&amp;#xC5B4; &amp;#xC2E0;&amp;#xB8B0;&amp;#xC131;&amp;#xC744; &amp;#xB192;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xC804;&amp;#xD1B5;&amp;#xC801;&amp;#xC778; &amp;#xBC29;&amp;#xC2DD;&amp;#xC5D0;&amp;#xC11C;&amp;#xB294; &amp;#xC774;&amp;#xB7EC;&amp;#xD55C; &amp;#xBCC0;&amp;#xD654;&amp;#xC5D0; &amp;#xB300;&amp;#xD574; &amp;#xC0AC;&amp;#xB78C;&amp;#xC774; &amp;#xC9C1;&amp;#xC811; &amp;#xC7A5;&amp;#xC560;&amp;#xB97C; &amp;#xBD84;&amp;#xC11D;&amp;#xD558;&amp;#xACE0; &amp;#xBCF5;&amp;#xAD6C;&amp;#xD574;&amp;#xC57C;&amp;#xD588;&amp;#xB2E4;&amp;#xBA74;, k8s&amp;#xC5D0;&amp;#xC11C;&amp;#xB294; &amp;#xC120;&amp;#xC5B8;&amp;#xD615; configuration&amp;#xC744; &amp;#xC774;&amp;#xC6A9;&amp;#xD55C; &amp;#xC790;&amp;#xAC00; &amp;#xCE58;&amp;#xC720;&amp;#xAC00; &amp;#xAC00;&amp;#xB2A5;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xC774;&amp;#xB294;, &amp;#xC2E0;&amp;#xB8B0;&amp;#xC131; &amp;#xC788;&amp;#xB294; &amp;#xC2DC;&amp;#xC2A4;&amp;#xD15C; &amp;#xAD6C;&amp;#xCD95;&amp;#xC5D0;&amp;#xB3C4; &amp;#xB3C4;&amp;#xC6C0;&amp;#xC774; &amp;#xB418;&amp;#xBA70;, &amp;#xC2DC;&amp;#xC2A4;&amp;#xD15C; &amp;#xC6B4;&amp;#xC601;&amp;#xC5D0; &amp;#xB300;&amp;#xD55C; &amp;#xC720;&amp;#xC9C0;&amp;#xBCF4;&amp;#xC218; &amp;#xBE44;&amp;#xC6A9;&amp;#xB3C4; &amp;#xC904;&amp;#xC5EC;&amp;#xC8FC;&amp;#xC5B4; &amp;#xAC1C;&amp;#xBC1C;&amp;#xC790;&amp;#xC758; &amp;#xAC1C;&amp;#xBC1C; &amp;#xC18D;&amp;#xB3C4; &amp;#xD5A5;&amp;#xC0C1;&amp;#xC5D0; &amp;#xD070; &amp;#xC601;&amp;#xD5A5;&amp;#xC744; &amp;#xC90D;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 class=&quot;mume-header&quot; id=&quot;div-ida033-%ED%99%95%EC%9E%A5div&quot;&gt;&lt;div id=&quot;a03&quot;&gt;3. &amp;#xD655;&amp;#xC7A5;&lt;/div&gt;&lt;/h2&gt;

&lt;p&gt;&amp;#xB9C8;&amp;#xC774;&amp;#xD06C;&amp;#xB85C;&amp;#xC11C;&amp;#xBE44;&amp;#xC2A4;&amp;#xB85C; &amp;#xC560;&amp;#xD50C;&amp;#xB9AC;&amp;#xCF00;&amp;#xC774;&amp;#xC158; &amp;#xC11C;&amp;#xBE44;&amp;#xC2A4;&amp;#xB97C; &amp;#xAD6C;&amp;#xC131;&amp;#xD558;&amp;#xBA74;, &amp;#xD544;&amp;#xC694;&amp;#xC5D0; &amp;#xB530;&amp;#xB77C; &amp;#xAC01; &amp;#xC11C;&amp;#xBE44;&amp;#xC2A4;&amp;#xB97C; &amp;#xD655;&amp;#xC7A5;&amp;#xD558;&amp;#xB294; &amp;#xAC83;&amp;#xB3C4; &amp;#xC6A9;&amp;#xC774;&amp;#xD574;&amp;#xC9D1;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xC774;&amp;#xBCA4;&amp;#xD2B8;&amp;#xB85C; &amp;#xC778;&amp;#xD574; &amp;#xC77C;&amp;#xC2DC;&amp;#xC801;&amp;#xC73C;&amp;#xB85C; &amp;#xD2B8;&amp;#xB798;&amp;#xD53D;&amp;#xC774; &amp;#xBAB0;&amp;#xB9AC;&amp;#xB294; API &amp;#xC11C;&amp;#xBC84;&amp;#xB97C; &amp;#xC99D;&amp;#xC124;&amp;#xD558;&amp;#xB294; &amp;#xB4F1;&amp;#xC758; &amp;#xD589;&amp;#xC704;&amp;#xB97C; &amp;#xC608;&amp;#xB85C; &amp;#xB4E4; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;k8s&amp;#xC5D0;&amp;#xC11C;&amp;#xB294; &amp;#xC774;&amp;#xB7EC;&amp;#xD55C; &amp;#xC11C;&amp;#xBE44;&amp;#xC2A4; &amp;#xD655;&amp;#xC7A5;&amp;#xC744; &amp;#xC120;&amp;#xC5B8;&amp;#xD615; &amp;#xCEE8;&amp;#xD53C;&amp;#xADDC;&amp;#xB808;&amp;#xC774;&amp;#xC158;&amp;#xC73C;&amp;#xB85C; &amp;#xAC04;&amp;#xB2E8;&amp;#xD788; &amp;#xC815;&amp;#xC758;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xACE0;&lt;br&gt;
&amp;#xC0C8;&amp;#xB85C;&amp;#xC6B4; &amp;#xC120;&amp;#xC5B8;&amp;#xC0C1;&amp;#xD0DC;&amp;#xB97C; &amp;#xAC10;&amp;#xC9C0;&amp;#xD558;&amp;#xBA74;, &amp;#xCFE0;&amp;#xBC84;&amp;#xB124;&amp;#xD2F0;&amp;#xC2A4;&amp;#xC5D0;&amp;#xC11C; &amp;#xC54C;&amp;#xC544;&amp;#xC11C; &amp;#xC11C;&amp;#xBE44;&amp;#xC2A4;&amp;#xB97C; &amp;#xD655;&amp;#xC7A5;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xCFE0;&amp;#xBC84;&amp;#xB124;&amp;#xD2F0;&amp;#xC2A4;&amp;#xB294; &amp;#xC544;&amp;#xB798;&amp;#xC640; &amp;#xAC19;&amp;#xC740; &amp;#xCD94;&amp;#xC0C1;&amp;#xD654; &amp;#xBC0F; API&amp;#xB97C; &amp;#xC81C;&amp;#xACF5;&amp;#xD558;&amp;#xC5EC; &amp;#xB9C8;&amp;#xC774;&amp;#xD06C;&amp;#xB85C;&amp;#xC11C;&amp;#xBE44;&amp;#xC2A4; &amp;#xC544;&amp;#xD0A4;&amp;#xD14D;&amp;#xCC98; &amp;#xAD6C;&amp;#xCD95;&amp;#xC5D0; &amp;#xD3B8;&amp;#xC758;&amp;#xB97C; &amp;#xC81C;&amp;#xACF5;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&amp;#xD30C;&amp;#xB4DC;, Pod&lt;/li&gt;
&lt;li&gt;&amp;#xB514;&amp;#xC2A4;&amp;#xCEE4;&amp;#xBC84;&amp;#xB9AC;, Discovery&lt;/li&gt;
&lt;li&gt;&amp;#xB124;&amp;#xC784;&amp;#xC2A4;&amp;#xD398;&amp;#xC774;&amp;#xC2A4;, Namespace&lt;/li&gt;
&lt;li&gt;&amp;#xC778;&amp;#xADF8;&amp;#xB808;&amp;#xC2A4;, Ingress&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 class=&quot;mume-header&quot; id=&quot;div-ida044-%EC%9D%B8%ED%94%84%EB%9D%BC-%EC%B6%94%EC%83%81%ED%99%94div&quot;&gt;&lt;div id=&quot;a04&quot;&gt;4. &amp;#xC778;&amp;#xD504;&amp;#xB77C; &amp;#xCD94;&amp;#xC0C1;&amp;#xD654;&lt;/div&gt;&lt;/h2&gt;

&lt;p&gt;k8s&amp;#xB294; &amp;#xD2B9;&amp;#xC815; &amp;#xD074;&amp;#xB77C;&amp;#xC6B0;&amp;#xB4DC;&amp;#xC2DC;&amp;#xC2A4;&amp;#xD15C;&amp;#xC5D0; &amp;#xAD6D;&amp;#xD55C;&amp;#xB41C; &amp;#xC11C;&amp;#xBE44;&amp;#xC2A4;&amp;#xAC00; &amp;#xC544;&amp;#xB2CC;, &amp;#xB2E4;&amp;#xC591;&amp;#xD55C; &amp;#xD074;&amp;#xB77C;&amp;#xC6B0;&amp;#xB4DC; &amp;#xC2DC;&amp;#xC2A4;&amp;#xD15C;&amp;#xC5D0; &amp;#xC190;&amp;#xC27D;&amp;#xAC8C; &amp;#xC774;&amp;#xC2DD;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xD2B9;&amp;#xC815; &amp;#xD074;&amp;#xB77C;&amp;#xC6B0;&amp;#xB4DC;&amp;#xC5D0;&amp;#xC11C; &amp;#xC81C;&amp;#xACF5;&amp;#xD558;&amp;#xACE0; &amp;#xC788;&amp;#xB294; &amp;#xD074;&amp;#xB77C;&amp;#xC6B0;&amp;#xB4DC; &amp;#xAD00;&amp;#xB9AC;&amp;#xD615; &amp;#xC11C;&amp;#xBE44;&amp;#xC2A4;&amp;#xAC00; &amp;#xC544;&amp;#xB2CC; &amp;#xC624;&amp;#xD508;&amp;#xC18C;&amp;#xC2A4; &amp;#xC2A4;&amp;#xD1A0;&amp;#xB9AC;&amp;#xC9C0; &amp;#xC194;&amp;#xB8E8;&amp;#xC158;&amp;#xC744; &amp;#xC774;&amp;#xC6A9;&amp;#xD55C;&amp;#xB2E4;&amp;#xBA74; &amp;#xC120;&amp;#xC5B8;&amp;#xD615; configuration&amp;#xC744; &amp;#xC774;&amp;#xC6A9;&amp;#xD558;&amp;#xC5EC; &amp;#xC0C8;&amp;#xB85C;&amp;#xC6B4; &amp;#xD074;&amp;#xB77C;&amp;#xC6B0;&amp;#xB4DC;&amp;#xB85C; &amp;#xD658;&amp;#xACBD; &amp;#xAD6C;&amp;#xCD95;&amp;#xC744; &amp;#xC190;&amp;#xC27D;&amp;#xAC8C; &amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xC774;&amp;#xB294; k8s&amp;#xAC00; API &amp;#xC9C0;&amp;#xD5A5; &amp;#xC778;&amp;#xD504;&amp;#xB77C; &amp;#xCD94;&amp;#xC0C1;&amp;#xD654; &amp;#xD2B9;&amp;#xC9D5;&amp;#xC5D0; &amp;#xC758;&amp;#xD55C; &amp;#xD2B9;&amp;#xC9D5;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 class=&quot;mume-header&quot; id=&quot;div-ida055-%ED%81%B4%EB%9D%BC%EC%9A%B0%EB%93%9C-%EB%84%A4%EC%9D%B4%ED%8B%B0%EB%B8%8C-%EC%97%90%EC%BD%94%EC%8B%9C%EC%8A%A4%ED%85%9Cdiv&quot;&gt;&lt;div id=&quot;a05&quot;&gt;5. &amp;#xD074;&amp;#xB77C;&amp;#xC6B0;&amp;#xB4DC; &amp;#xB124;&amp;#xC774;&amp;#xD2F0;&amp;#xBE0C; &amp;#xC5D0;&amp;#xCF54;&amp;#xC2DC;&amp;#xC2A4;&amp;#xD15C;&lt;/div&gt;&lt;/h2&gt;

&lt;p&gt;k8s&amp;#xB294; &amp;#xCC98;&amp;#xC74C;&amp;#xBD80;&amp;#xD130; &amp;#xD655;&amp;#xC7A5; &amp;#xAC00;&amp;#xB2A5;&amp;#xD55C; &amp;#xD658;&amp;#xACBD;&amp;#xC744; &amp;#xC5FC;&amp;#xB450;&amp;#xD558;&amp;#xC5EC; &amp;#xC124;&amp;#xACC4;&amp;#xB418;&amp;#xC5C8;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xC774;&amp;#xB7EC;&amp;#xD55C; &amp;#xC124;&amp;#xACC4;&amp;#xBAA9;&amp;#xD45C;&amp;#xB294; &amp;#xCFE0;&amp;#xBC84;&amp;#xB124;&amp;#xD2F0;&amp;#xC2A4; &amp;#xB3C4;&amp;#xAD6C; &amp;#xBC0F; &amp;#xC11C;&amp;#xBE44;&amp;#xC2A4;&amp;#xC5D0; &amp;#xB300;&amp;#xD55C; &amp;#xD65C;&amp;#xBC1C;&amp;#xD55C; &amp;#xCEE4;&amp;#xBBA4;&amp;#xB2C8;&amp;#xD2F0;&amp;#xAC00; &amp;#xD615;&amp;#xC131;&amp;#xB418;&amp;#xC5B4;, &amp;#xCFE0;&amp;#xBC84;&amp;#xB124;&amp;#xD2F0;&amp;#xC2A4; &amp;#xAE30;&amp;#xBC18;&amp;#xC758; &amp;#xC5D0;&amp;#xCF54;&amp;#xC2DC;&amp;#xC2A4;&amp;#xD15C;(&amp;#xBE44;&amp;#xC988;&amp;#xB2C8;&amp;#xC2A4; &amp;#xC0DD;&amp;#xD0DC;&amp;#xACC4;)&amp;#xB85C; &amp;#xC774;&amp;#xC5B4;&amp;#xC84C;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xC774;&amp;#xB7EC;&amp;#xD55C; &amp;#xD48D;&amp;#xBD80;&amp;#xD55C; &amp;#xD074;&amp;#xB77C;&amp;#xC6B0;&amp;#xB4DC; &amp;#xB124;&amp;#xC774;&amp;#xD2F0;&amp;#xBE0C; &amp;#xC5D0;&amp;#xCF54;&amp;#xC2DC;&amp;#xC2A4;&amp;#xD15C;&amp;#xC740; &amp;#xAC1C;&amp;#xBC1C;&amp;#xC790;&amp;#xB97C; &amp;#xBE44;&amp;#xC988;&amp;#xB2C8;&amp;#xC2A4; &amp;#xB85C;&amp;#xC9C1; &amp;#xBC0F; &amp;#xC11C;&amp;#xBE44;&amp;#xC2A4; &amp;#xAC1C;&amp;#xBC1C;&amp;#xC5D0;&amp;#xB9CC; &amp;#xC9D1;&amp;#xC911;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xAC8C; &amp;#xD574;&amp;#xC90D;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;hr&gt;
&lt;h3 class=&quot;mume-header&quot; id&gt;++&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Kubernetes Up &amp;amp; Running Third Edition&lt;/li&gt;
&lt;/ul&gt;

  &lt;/div&gt;&lt;/div&gt;</description>
      <category>Infrastructure/Kubernetes</category>
      <category>k8s</category>
      <author>jiniya22</author>
      <guid isPermaLink="true">https://jini-box.tistory.com/214</guid>
      <comments>https://jini-box.tistory.com/214#entry214comment</comments>
      <pubDate>Sun, 19 Nov 2023 15:14:00 +0900</pubDate>
    </item>
    <item>
      <title>[MacOS M1] Apple Silicon Mac에 VM을 이용하여 Ubuntu 설치하기</title>
      <link>https://jini-box.tistory.com/213</link>
      <description>&lt;div id=&quot;html-export&quot;&gt;
      &lt;div class=&quot;mume markdown-preview  &quot;&gt;
      &lt;h2 class=&quot;mume-header&quot; id=&quot;m1-macos%EC%97%90-%EA%B0%80%EC%83%81%EB%A8%B8%EC%8B%A0%EC%9D%84-%EC%9D%B4%EC%9A%A9%ED%95%98%EC%97%AC-linux-%EC%84%A4%EC%B9%98%ED%95%98%EA%B8%B0&quot;&gt;M1 MacOS&amp;#xC5D0; &amp;#xAC00;&amp;#xC0C1;&amp;#xBA38;&amp;#xC2E0;&amp;#xC744; &amp;#xC774;&amp;#xC6A9;&amp;#xD558;&amp;#xC5EC; Linux &amp;#xC124;&amp;#xCE58;&amp;#xD558;&amp;#xAE30;&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://mac.getutm.app/&quot;&gt;UTM&lt;/a&gt;&amp;#xC740; Apple Silicon Mac &amp;#xD658;&amp;#xACBD;&amp;#xC5D0;&amp;#xC11C; x86/x64 &amp;#xC6B4;&amp;#xC601;&amp;#xCCB4;&amp;#xC81C;&amp;#xB97C; &amp;#xAC00;&amp;#xC0C1;&amp;#xD654;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xAC8C; &amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xC774; Hypervisor&amp;#xB97C; &amp;#xC774;&amp;#xC6A9;&amp;#xD558;&amp;#xBA74; VM&amp;#xD658;&amp;#xACBD;&amp;#xC5D0;&amp;#xC11C; Linux&amp;#xB098; Windows&amp;#xB97C; &amp;#xC124;&amp;#xCE58;&amp;#xD558;&amp;#xC5EC; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://ubuntu.com/download/server/arm&quot;&gt;Ubuntu Server&lt;/a&gt;&amp;#xB97C; &amp;#xB2E4;&amp;#xC6B4;&amp;#xBC1B;&amp;#xC740; &amp;#xD6C4;, UTM&amp;#xC744; &amp;#xC2E4;&amp;#xD589;&amp;#xC2DC;&amp;#xD0B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;#xBCF8;&amp;#xC778; &amp;#xCEF4;&amp;#xD4E8;&amp;#xD130;&amp;#xC5D0; &amp;#xB9DE;&amp;#xB294; &amp;#xD0C0;&amp;#xC785;&amp;#xC73C;&amp;#xB85C; iso&amp;#xD30C;&amp;#xC77C;&amp;#xC744; &amp;#xB2E4;&amp;#xC6B4;&amp;#xBC1B;&amp;#xC73C;&amp;#xBA74; &amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xC800;&amp;#xC758; &amp;#xACBD;&amp;#xC6B0; MacOS M1 Appli silicon&amp;#xC73C;&amp;#xB85C; arm &amp;#xD0C0;&amp;#xC785;&amp;#xC73C;&amp;#xB85C; &amp;#xB2E4;&amp;#xC6B4;&amp;#xBC1B;&amp;#xC558;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;br&gt;
&lt;p&gt;&lt;strong&gt;&amp;#xC0C8; &amp;#xAC00;&amp;#xC0C1;&amp;#xBA38;&amp;#xC2E0; &amp;#xB9CC;&amp;#xB4E4;&amp;#xAE30;&lt;/strong&gt; &amp;#xBC84;&amp;#xD2BC;&amp;#xC744; &amp;#xB204;&amp;#xB974;&amp;#xACE0;&lt;/p&gt;
&lt;p&gt;&lt;img width=&quot;700&quot; src=&quot;https://raw.githubusercontent.com/jiniya22/image_box/master/blog/System/MacOS/02-1.png&quot;&gt;&lt;br&gt;&lt;/p&gt;
&lt;p&gt;Virtualize(&amp;#xAC00;&amp;#xC0C1;&amp;#xD654;) &amp;#xB97C; &amp;#xB204;&amp;#xB978; &amp;#xD6C4; &amp;#xC6B4;&amp;#xC601;&amp;#xCCB4;&amp;#xC81C; Linux&amp;#xB85C; &amp;#xAC00;&amp;#xC0C1;&amp;#xBA38;&amp;#xC2E0;&amp;#xC744; &amp;#xC0DD;&amp;#xC131;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&lt;img width=&quot;500&quot; src=&quot;https://raw.githubusercontent.com/jiniya22/image_box/master/blog/System/MacOS/02-9.png&quot;&gt;&lt;br&gt;&lt;/p&gt;
&lt;p&gt;&amp;#xD0D0;&amp;#xC0C9;&amp;#xC73C;&amp;#xB85C; &amp;#xD1B5;&amp;#xD574; Boot ISO Image &amp;#xB97C; &amp;#xBD88;&amp;#xB7EC;&amp;#xC624;&amp;#xACE0;&lt;/p&gt;
&lt;img width=&quot;500&quot; src=&quot;https://raw.githubusercontent.com/jiniya22/image_box/master/blog/System/MacOS/02-2.png&quot;&gt;
&lt;p&gt;&amp;#xC7A5;&amp;#xCE58; &amp;#xC124;&amp;#xC815;&amp;#xC740; &amp;#xAC01;&amp;#xC790; &amp;#xCEF4;&amp;#xD4E8;&amp;#xD130; &amp;#xC0AC;&amp;#xC591;&amp;#xC5D0; &amp;#xB9DE;&amp;#xCDB0; &amp;#xC124;&amp;#xC815;&amp;#xD574;&amp;#xC8FC;&amp;#xBA74; &amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xC800;&amp;#xC758; &amp;#xACBD;&amp;#xC6B0; &amp;#xAE30;&amp;#xBCF8;&amp;#xC801;&amp;#xC73C;&amp;#xB85C; &amp;#xC138;&amp;#xD305;&amp;#xB418;&amp;#xC5B4;&amp;#xC788;&amp;#xB294; &amp;#xB300;&amp;#xB85C; &amp;#xC9C4;&amp;#xD589;&amp;#xD558;&amp;#xC600;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;#xBA54;&amp;#xBAA8;&amp;#xB9AC;&amp;#xB294; 4G, CPU Cores&amp;#xB294; &amp;#xAE30;&amp;#xBCF8;&amp;#xAC12;, Storage&amp;#xB294; 64GB&lt;/p&gt;
&lt;/blockquote&gt;
&lt;br&gt;
&lt;p&gt;&amp;#xC11C;&amp;#xBC84;&amp;#xB97C; &amp;#xAD6C;&amp;#xBD84;&amp;#xC9C0;&amp;#xC744; &amp;#xC774;&amp;#xB984;&amp;#xC744; &amp;#xC124;&amp;#xC815;&amp;#xD55C; &amp;#xD6C4;, &amp;#xC800;&amp;#xC7A5;&amp;#xC744; &amp;#xB204;&amp;#xB974;&amp;#xBA74; &amp;#xAE30;&amp;#xBCF8; &amp;#xC138;&amp;#xD305;&amp;#xC740; &amp;#xB05D;&amp;#xB0A9;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&lt;img width=&quot;500&quot; src=&quot;https://raw.githubusercontent.com/jiniya22/image_box/master/blog/System/MacOS/02-10.png&quot;&gt;&lt;br&gt;&lt;/p&gt;
&lt;p&gt;&amp;#xAC00;&amp;#xC0C1;&amp;#xD658;&amp;#xACBD;&amp;#xC744; &amp;#xCF1C;&amp;#xACE0;, &lt;em&gt;Try or Install Ubuntu Server&lt;/em&gt; &amp;#xB97C; &amp;#xD074;&amp;#xB9AD;&amp;#xD574;&amp;#xC11C; &amp;#xC6B0;&amp;#xBD84;&amp;#xD22C; &amp;#xC11C;&amp;#xBC84; &amp;#xC124;&amp;#xCE58;&amp;#xB97C; &amp;#xC2DC;&amp;#xC791;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&lt;img width=&quot;600&quot; src=&quot;https://raw.githubusercontent.com/jiniya22/image_box/master/blog/System/MacOS/02-3.png&quot;&gt;&lt;br&gt;&lt;/p&gt;
&lt;br&gt;
&lt;p&gt;&amp;#xC5B8;&amp;#xC5B4;&amp;#xC124;&amp;#xC815;&amp;#xC740; English&amp;#xB85C; &amp;#xC120;&amp;#xD0DD;&amp;#xD558;&amp;#xACE0;&lt;/p&gt;
&lt;p&gt;&lt;img width=&quot;700&quot; src=&quot;https://raw.githubusercontent.com/jiniya22/image_box/master/blog/System/MacOS/02-11.png&quot;&gt;&lt;br&gt;&lt;/p&gt;
&lt;p&gt;Ubuntu &amp;#xC124;&amp;#xC815;, Network connections, Proxy Server, Mirror address, &amp;#xC2A4;&amp;#xD1A0;&amp;#xB9AC;&amp;#xC9C0; &amp;#xB4F1; &amp;#xC124;&amp;#xC815;&amp;#xC5D0; &amp;#xB300;&amp;#xD574;&amp;#xC11C; &amp;#xAE30;&amp;#xBCF8;&amp;#xAC12;&amp;#xC73C;&amp;#xB85C; &amp;#xC124;&amp;#xC815;&amp;#xD558;&amp;#xACE0; &amp;#xB118;&amp;#xC5B4;&amp;#xAC11;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&lt;img width=&quot;700&quot; src=&quot;https://raw.githubusercontent.com/jiniya22/image_box/master/blog/System/MacOS/02-4.png&quot;&gt;&lt;br&gt;&lt;br&gt;&lt;/p&gt;
&lt;p&gt;Ubuntu &amp;#xC11C;&amp;#xBC84;&amp;#xBA85;&amp;#xACFC; &amp;#xACC4;&amp;#xC815;&amp;#xBA85;(username)&amp;#xACFC; &amp;#xBE44;&amp;#xBC00;&amp;#xBC88;&amp;#xD638;&amp;#xB97C; &amp;#xC124;&amp;#xC815;&amp;#xD574;&amp;#xC90D;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;img width=&quot;600&quot; src=&quot;https://raw.githubusercontent.com/jiniya22/image_box/master/blog/System/MacOS/02-5.png&quot;&gt;
&lt;p&gt;&lt;br&gt;&lt;br&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;OpenSSH Server&lt;/strong&gt; &amp;#xB3C4; &amp;#xD568;&amp;#xAED8; &amp;#xC124;&amp;#xCE58;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;X &amp;#xD45C;&amp;#xAC00; &amp;#xBC14;&amp;#xB85C; &amp;#xCCB4;&amp;#xD06C; &amp;#xD45C;&amp;#xC2DC;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;img width=&quot;600&quot; src=&quot;https://raw.githubusercontent.com/jiniya22/image_box/master/blog/System/MacOS/02-6.png&quot;&gt;&lt;br&gt;&lt;br&gt;&lt;/p&gt;
&lt;p&gt;&amp;#xD544;&amp;#xC694;&amp;#xD55C; Snap server &amp;#xAC00; &amp;#xC788;&amp;#xB2E4;&amp;#xBA74; &amp;#xCCB4;&amp;#xD06C;&amp;#xD558;&amp;#xC5EC; &amp;#xD568;&amp;#xAED8; &amp;#xC124;&amp;#xCE58;&amp;#xD574;&amp;#xB3C4;&amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&lt;img width=&quot;800&quot; src=&quot;https://raw.githubusercontent.com/jiniya22/image_box/master/blog/System/MacOS/02-12.png&quot;&gt;&lt;br&gt;&lt;/p&gt;
&lt;br&gt;
&lt;p&gt;Installing system&amp;#xC774; &lt;strong&gt;Install complete!&lt;/strong&gt; &amp;#xB85C; &amp;#xBC14;&amp;#xB014;&amp;#xB54C;&amp;#xAE4C;&amp;#xC9C0; &amp;#xAE30;&amp;#xB2E4;&amp;#xB9BD;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&lt;img width=&quot;800&quot; src=&quot;https://raw.githubusercontent.com/jiniya22/image_box/master/blog/System/MacOS/02-13.png&quot;&gt;&lt;br&gt;&lt;/p&gt;
&lt;p&gt;&amp;#xC544;&amp;#xB798;&amp;#xC640; &amp;#xAC19;&amp;#xC774; &amp;#xC81C;&amp;#xBAA9;&amp;#xC774; &amp;#xBC14;&amp;#xB00C;&amp;#xBA74;, &amp;#xB9E8; &amp;#xC544;&amp;#xB798;&amp;#xC5D0; &amp;#xC788;&amp;#xB294; Reboot Now &amp;#xBC84;&amp;#xD2BC;&amp;#xC774; &amp;#xC544;&amp;#xB2CC;, &lt;strong&gt;&amp;#xD31D;&amp;#xC5C5;&amp;#xCC3D;&amp;#xC758; &amp;#xC6B0;&amp;#xC0C1;&amp;#xB2E8;&amp;#xC5D0;&amp;#xC11C; &amp;#xC774;&amp;#xBBF8;&amp;#xC9C0;&amp;#xB97C; &amp;#xAEBC;&amp;#xB0C5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;img width=&quot;600&quot; src=&quot;https://raw.githubusercontent.com/jiniya22/image_box/master/blog/System/MacOS/02-14.png&quot;&gt;&lt;br&gt;&lt;/p&gt;
&lt;p&gt;&amp;#xC6B0;&amp;#xCE21; &amp;#xC0C1;&amp;#xB2E8;&amp;#xC5D0;&amp;#xC11C; &amp;#xC774;&amp;#xBBF8;&amp;#xC9C0;&amp;#xB97C; &amp;#xAEBC;&amp;#xB0B8;&amp;#xD6C4;, &amp;#xC67C;&amp;#xCABD; &amp;#xC0C1;&amp;#xB2E8;&amp;#xC758; restart (&amp;#x25C1;) &amp;#xBC84;&amp;#xD2BC;&amp;#xC744; &amp;#xB20C;&amp;#xB7EC;&amp;#xC11C; &amp;#xC11C;&amp;#xBC84;&amp;#xB97C; &amp;#xC7AC;&amp;#xC2DC;&amp;#xC791;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&lt;img width=&quot;600&quot; src=&quot;https://raw.githubusercontent.com/jiniya22/image_box/master/blog/System/MacOS/02-7.png&quot;&gt;&lt;br&gt;&lt;/p&gt;
&lt;br&gt;
&lt;p&gt;&amp;#xADF8;&amp;#xB7EC;&amp;#xBA74; &amp;#xC544;&amp;#xB798;&amp;#xC640; &amp;#xAC19;&amp;#xC774; Ubuntu &amp;#xC11C;&amp;#xBC84;&amp;#xAC00; &amp;#xC798; &amp;#xC124;&amp;#xCE58;&amp;#xB41C; &amp;#xAC83;&amp;#xC744; &amp;#xD655;&amp;#xC778;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&lt;img width=&quot;600&quot; src=&quot;https://raw.githubusercontent.com/jiniya22/image_box/master/blog/System/MacOS/02-15.png&quot;&gt;&lt;br&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;h3 class=&quot;mume-header&quot; id&gt;++&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;How to install Ubuntu Linux on Apple Silicon MacOS&lt;/li&gt;
&lt;/ul&gt;

  &lt;/div&gt;&lt;/div&gt;</description>
      <category>Dev</category>
      <category>Mac</category>
      <category>MacSilicon</category>
      <category>vm</category>
      <author>jiniya22</author>
      <guid isPermaLink="true">https://jini-box.tistory.com/213</guid>
      <comments>https://jini-box.tistory.com/213#entry213comment</comments>
      <pubDate>Sat, 18 Nov 2023 01:58:14 +0900</pubDate>
    </item>
    <item>
      <title>[가상 면접 사례로 배우는 대규모 시스템 설계 기초] 11. 뉴스 피드 시스템 설계</title>
      <link>https://jini-box.tistory.com/212</link>
      <description>&lt;div id=&quot;html-export&quot;&gt;
      &lt;div class=&quot;mume markdown-preview  &quot;&gt;
      &lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;#a01&quot;&gt;&amp;#xC694;&amp;#xAD6C;&amp;#xC0AC;&amp;#xD56D;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&amp;#xAC1C;&amp;#xB7B5;&amp;#xC801; &amp;#xC124;&amp;#xACC4;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;#a02-1&quot;&gt;&amp;#xD53C;&amp;#xB4DC; &amp;#xBC1C;&amp;#xD589;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#a02-2&quot;&gt;&amp;#xB274;&amp;#xC2A4; &amp;#xD53C;&amp;#xB4DC; &amp;#xC870;&amp;#xD68C;&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;&amp;#xC0C1;&amp;#xC138; &amp;#xC124;&amp;#xACC4;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;#a03-1&quot;&gt;&amp;#xD53C;&amp;#xB4DC; &amp;#xBC1C;&amp;#xD589; &amp;#xC0C1;&amp;#xC138; &amp;#xC124;&amp;#xACC4;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#a03-2&quot;&gt;&amp;#xB274;&amp;#xC2A4;&amp;#xD53C;&amp;#xB4DC; &amp;#xC870;&amp;#xD68C; &amp;#xC0C1;&amp;#xC138; &amp;#xC124;&amp;#xACC4;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#a03-3&quot;&gt;&amp;#xCE90;&amp;#xC2DC; &amp;#xAD6C;&amp;#xC870;&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#a04&quot;&gt;&amp;#xB9C8;&amp;#xBB34;&amp;#xB9AC;&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;hr&gt;
&lt;p&gt;&amp;#xB274;&amp;#xC2A4;&amp;#xD53C;&amp;#xB4DC; &amp;#xC2DC;&amp;#xC2A4;&amp;#xD15C;&amp;#xC740; &amp;#xC778;&amp;#xC2A4;&amp;#xD0C0;&amp;#xADF8;&amp;#xB7A8;&amp;#xC774;&amp;#xB098; &amp;#xD2B8;&amp;#xC704;&amp;#xD130;&amp;#xC640; &amp;#xAC19;&amp;#xC774; &amp;#xD648;&amp;#xD398;&amp;#xC774;&amp;#xC9C0; &amp;#xC911;&amp;#xC559;&amp;#xC5D0;&amp;#xC11C; &amp;#xC9C0;&amp;#xC18D;&amp;#xC801;&amp;#xC73C;&amp;#xB85C; &amp;#xC5C5;&amp;#xB370;&amp;#xC774;&amp;#xD2B8;&amp;#xB418;&amp;#xB294; &amp;#xD3EC;&amp;#xC2A4;&amp;#xD305; &amp;#xC2DC;&amp;#xC2A4;&amp;#xD15C;&amp;#xC744; &amp;#xB9D0;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xB274;&amp;#xC2A4;&amp;#xD53C;&amp;#xB4DC; &amp;#xC2DC;&amp;#xC2A4;&amp;#xD15C;&amp;#xC744; &amp;#xC124;&amp;#xACC4;&amp;#xD558;&amp;#xB294;&amp;#xB370;&amp;#xC5D0;&amp;#xC11C; &amp;#xACE0;&amp;#xBBFC;&amp;#xD574;&amp;#xC57C;&amp;#xD558;&amp;#xB294; &amp;#xBD80;&amp;#xBD84;&amp;#xC740; &amp;#xC544;&amp;#xB798;&amp;#xC640; &amp;#xAC19;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&amp;#xB0B4;&amp;#xAC00; &amp;#xC791;&amp;#xC131;&amp;#xD55C; &amp;#xD3EC;&amp;#xC2A4;&amp;#xD305;&amp;#xC744; &amp;#xB098;&amp;#xB97C; &amp;#xD314;&amp;#xB85C;&amp;#xC6CC;&amp;#xD55C; &amp;#xC0AC;&amp;#xC6A9;&amp;#xC790;&amp;#xB4E4;&amp;#xC5D0;&amp;#xAC8C; &amp;#xBC1C;&amp;#xD589;&amp;#xD558;&amp;#xB294; &amp;#xAC83;&lt;/li&gt;
&lt;li&gt;&amp;#xD314;&amp;#xB85C;&amp;#xC789;&amp;#xD558;&amp;#xACE0; &amp;#xC788;&amp;#xB294; &amp;#xC0AC;&amp;#xC6A9;&amp;#xC790;&amp;#xC758; &amp;#xD53C;&amp;#xB4DC;&amp;#xB97C; &amp;#xB098;&amp;#xC758; &amp;#xB274;&amp;#xC2A4;&amp;#xD53C;&amp;#xB4DC;&amp;#xC5D0;&amp;#xC11C; &amp;#xC77D;&amp;#xB294; &amp;#xAC83;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&amp;#xAC04;&amp;#xB2E8;&amp;#xD558;&amp;#xAC8C; &amp;#xD45C;&amp;#xD604;&amp;#xD558;&amp;#xC790;&amp;#xBA74;, &amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xB97C; &amp;#xC4F0;&amp;#xB294; &amp;#xD30C;&amp;#xD2B8; &amp;#xADF8;&amp;#xB9AC;&amp;#xACE0; &amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xB97C; &amp;#xC77D;&amp;#xB294; &amp;#xD30C;&amp;#xD2B8;&amp;#xC5D0; &amp;#xB300;&amp;#xD574; &amp;#xC124;&amp;#xACC4;&amp;#xD558;&amp;#xBA74; &amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 class=&quot;mume-header&quot; id=&quot;div-ida011-%EC%9A%94%EA%B5%AC%EC%82%AC%ED%95%ADdiv&quot;&gt;&lt;div id=&quot;a01&quot;&gt;1. &amp;#xC694;&amp;#xAD6C;&amp;#xC0AC;&amp;#xD56D;&lt;/div&gt;&lt;/h2&gt;

&lt;p&gt;&amp;#xB274;&amp;#xC2A4;&amp;#xD53C;&amp;#xB4DC; &amp;#xC2DC;&amp;#xC2A4;&amp;#xD15C;&amp;#xC744; &amp;#xC124;&amp;#xACC4;&amp;#xD558;&amp;#xAE30; &amp;#xC704;&amp;#xD574; &amp;#xD544;&amp;#xC694;&amp;#xD55C; &amp;#xC694;&amp;#xAD6C;&amp;#xC0AC;&amp;#xD56D;&amp;#xB4E4;&amp;#xC744; &amp;#xC0DD;&amp;#xAC01;&amp;#xD574;&amp;#xBD05;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&amp;#xBAA8;&amp;#xBC14;&amp;#xC77C;, &amp;#xC6F9; &amp;#xBAA8;&amp;#xB450; &amp;#xC9C0;&amp;#xC6D0;&lt;/li&gt;
&lt;li&gt;&amp;#xB274;&amp;#xC2A4; &amp;#xD53C;&amp;#xB4DC;
&lt;ul&gt;
&lt;li&gt;&amp;#xB0B4;&amp;#xAC00; &amp;#xC9C1;&amp;#xC811; &amp;#xD3EC;&amp;#xC2A4;&amp;#xD305;&amp;#xC744; &amp;#xC62C;&amp;#xB9B4;&amp;#xC218;&amp;#xB3C4; &amp;#xC788;&amp;#xACE0;&lt;/li&gt;
&lt;li&gt;&amp;#xD314;&amp;#xB85C;&amp;#xC789;&amp;#xD558;&amp;#xACE0; &amp;#xC788;&amp;#xB294; &amp;#xC0AC;&amp;#xC6A9;&amp;#xC790;&amp;#xAC00; &amp;#xC62C;&amp;#xB9B0; &amp;#xD3EC;&amp;#xC2A4;&amp;#xD305;&amp;#xC744; &amp;#xB274;&amp;#xC2A4;&amp;#xD53C;&amp;#xB4DC;&amp;#xC5D0;&amp;#xC11C; &amp;#xBCFC; &amp;#xC218; &amp;#xC788;&amp;#xC5B4;&amp;#xC57C; &amp;#xD55C;&amp;#xB2E4;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&amp;#xC2A4;&amp;#xD1A0;&amp;#xB9AC; &amp;#xC815;&amp;#xB82C; &amp;#xBC29;&amp;#xC2DD;?
&lt;ul&gt;
&lt;li&gt;&amp;#xC0DD;&amp;#xC131;&amp;#xC77C;&amp;#xC2DC; &amp;#xB0B4;&amp;#xB9BC;&amp;#xCC28;&amp;#xC21C;&amp;#xC73C;&amp;#xB85C;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&amp;#xD55C;&amp;#xBA85;&amp;#xC758; &amp;#xC0AC;&amp;#xC6A9;&amp;#xC790;&amp;#xAC00; &amp;#xAC00;&amp;#xC9C8; &amp;#xC218; &amp;#xC788;&amp;#xB294; &amp;#xCD5C;&amp;#xB300; &amp;#xCE5C;&amp;#xAD6C;&amp;#xC218;&amp;#xB294;?&lt;/li&gt;
&lt;li&gt;&amp;#xD2B8;&amp;#xB798;&amp;#xD53D; &amp;#xADDC;&amp;#xBAA8;&amp;#xB294;?&lt;/li&gt;
&lt;li&gt;&amp;#xD53C;&amp;#xB4DC;&amp;#xC5D0; &amp;#xC62C;&amp;#xB9B4; &amp;#xC218; &amp;#xC788;&amp;#xB294; &amp;#xB370;&amp;#xC774;&amp;#xD130;
&lt;ul&gt;
&lt;li&gt;&amp;#xB2E8;&amp;#xC21C; &amp;#xBB38;&amp;#xC790;&amp;#xC5F4; &amp;#xBFD0;&amp;#xB9CC; &amp;#xC544;&amp;#xB2C8;&amp;#xB77C; &amp;#xC774;&amp;#xBBF8;&amp;#xC9C0;&amp;#xB098; &amp;#xBBF8;&amp;#xB514;&amp;#xC5B4;&amp;#xD30C;&amp;#xC77C;(&amp;#xBE44;&amp;#xB514;&amp;#xC624;)&amp;#xB3C4; &amp;#xC62C;&amp;#xB9B4; &amp;#xC218; &amp;#xC788;&amp;#xB2E4;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;hr&gt;
&lt;h2 class=&quot;mume-header&quot; id=&quot;div-ida02-12-%EA%B0%9C%EB%9E%B5%EC%A0%81-%EC%84%A4%EA%B3%84div&quot;&gt;&lt;div id=&quot;a02-1&quot;&gt;2. &amp;#xAC1C;&amp;#xB7B5;&amp;#xC801; &amp;#xC124;&amp;#xACC4;&lt;/div&gt;&lt;/h2&gt;

&lt;p&gt;&amp;#xC694;&amp;#xAD6C;&amp;#xC0AC;&amp;#xD56D;&amp;#xC744; &amp;#xD30C;&amp;#xC545;&amp;#xD588;&amp;#xC73C;&amp;#xB2C8;, &amp;#xC55E;&amp;#xC11C; &amp;#xC774;&amp;#xC57C;&amp;#xAE30; &amp;#xD588;&amp;#xB358; 2&amp;#xAC00;&amp;#xC9C0; &amp;#xAE30;&amp;#xB2A5;&amp;#xC5D0; &amp;#xB300;&amp;#xD574; &amp;#xAC1C;&amp;#xB7B5;&amp;#xC801;&amp;#xC73C;&amp;#xB85C; &amp;#xC124;&amp;#xACC4; &amp;#xD574;&amp;#xBD05;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&amp;#xD53C;&amp;#xB4DC; &amp;#xBC1C;&amp;#xD589; API
&lt;ul&gt;
&lt;li&gt;&amp;#xB0B4;&amp;#xAC00; &amp;#xD3EC;&amp;#xC2A4;&amp;#xD2B8;&amp;#xB97C; &amp;#xBC1C;&amp;#xD589;&amp;#xD558;&amp;#xBA74;
&lt;ul&gt;
&lt;li&gt;&amp;#xBC1C;&amp;#xD589;&amp;#xD55C; &amp;#xD3EC;&amp;#xC2A4;&amp;#xD2B8; &amp;#xB0B4;&amp;#xC6A9;&amp;#xC774; &amp;#xCE90;&amp;#xC2DC;&amp;#xC640; &amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xBCA0;&amp;#xC774;&amp;#xC2A4;&amp;#xC5D0; &amp;#xAE30;&amp;#xB85D;&amp;#xB418;&amp;#xACE0;&lt;/li&gt;
&lt;li&gt;&amp;#xCE5C;&amp;#xAD6C;&amp;#xB4E4;&amp;#xC758; &amp;#xB274;&amp;#xC2A4;&amp;#xD53C;&amp;#xB4DC;&amp;#xC5D0;&amp;#xB3C4; &amp;#xC804;&amp;#xC1A1;&amp;#xB41C;&amp;#xB2E4;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;POST&lt;/strong&gt; &lt;code&gt;/v1/me/feed&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;http&quot; class=&quot;language-http&quot;&gt;POST {{server}}/v1/me/feed
&lt;span class=&quot;token header-name keyword&quot;&gt;Authorization:&lt;/span&gt; Bearer {{accessToken}}

{
  &amp;quot;message&amp;quot;: &amp;quot;&amp;#xC548;&amp;#xB155;&amp;#xD558;&amp;#xC138;&amp;#xC694;. &amp;#xBC18;&amp;#xAC00;&amp;#xC6CC;&amp;#xC694;&amp;quot;
}
&lt;/pre&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&amp;#xB274;&amp;#xC2A4; &amp;#xD53C;&amp;#xB4DC; &amp;#xC870;&amp;#xD68C; API
&lt;ul&gt;
&lt;li&gt;&amp;#xB0B4;&amp;#xAC00; &amp;#xD314;&amp;#xB85C;&amp;#xC789;&amp;#xD55C; &amp;#xC0AC;&amp;#xC6A9;&amp;#xC790;&amp;#xB4E4;&amp;#xC758; &amp;#xD3EC;&amp;#xC2A4;&amp;#xD305;&amp;#xC744; &amp;#xC2DC;&amp;#xAC04; &amp;#xC5ED;&amp;#xC21C;&amp;#xC73C;&amp;#xB85C; &amp;#xBAA8;&amp;#xC544;&amp;#xC11C; &amp;#xB274;&amp;#xC2A4;&amp;#xD53C;&amp;#xB4DC;&amp;#xB97C; &amp;#xC870;&amp;#xD68C;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;GET&lt;/strong&gt; &lt;code&gt;/v1/me/feed&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;http&quot; class=&quot;language-http&quot;&gt;GET {{server}}/v1/me/feed
&lt;span class=&quot;token header-name keyword&quot;&gt;Authorization:&lt;/span&gt; Bearer {{accessToken}}
&lt;/pre&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;br&gt;
&lt;h3 class=&quot;mume-header&quot; id=&quot;21-%ED%94%BC%EB%93%9C-%EB%B0%9C%ED%96%89&quot;&gt;2.1. &amp;#xD53C;&amp;#xB4DC; &amp;#xBC1C;&amp;#xD589;&lt;/h3&gt;

&lt;img width=&quot;485&quot; alt=&quot;02-1&quot; src=&quot;https://raw.githubusercontent.com/jiniya22/image_box/d4ed681735875b27cea4eadd598416cfa37624c1/Book/System%20Design/02-1.png&quot;&gt;
&lt;p&gt;&amp;#xD53C;&amp;#xB4DC; &amp;#xBC1C;&amp;#xD589; API&amp;#xB97C; &amp;#xC774;&amp;#xC6A9;&amp;#xD558;&amp;#xC5EC; &amp;#xC0AC;&amp;#xC6A9;&amp;#xC790;&amp;#xB294; &amp;#xBAA8;&amp;#xBC14;&amp;#xC77C; &amp;#xC571;&amp;#xC774;&amp;#xB098; &amp;#xC6F9; &amp;#xBE0C;&amp;#xB77C;&amp;#xC6B0;&amp;#xC800;&amp;#xC5D0;&amp;#xC11C; &amp;#xD3EC;&amp;#xC2A4;&amp;#xD305;&amp;#xC744; &amp;#xBC1C;&amp;#xD589;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xC6F9;&amp;#xC11C;&amp;#xBC84;&amp;#xB294; &amp;#xB85C;&amp;#xB4DC;&amp;#xBC38;&amp;#xB7F0;&amp;#xC11C;&amp;#xB97C; &amp;#xD1B5;&amp;#xD574; &amp;#xD2B8;&amp;#xB798;&amp;#xD53D;&amp;#xC744; &amp;#xBD84;&amp;#xC0B0;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xD3EC;&amp;#xC2A4;&amp;#xD305;&amp;#xC740; DB&amp;#xC640; &amp;#xCE90;&amp;#xC2DC;&amp;#xC5D0; &amp;#xC800;&amp;#xC7A5;&amp;#xB418;&amp;#xACE0;,&lt;br&gt;
&amp;#xC800;&amp;#xC7A5; &amp;#xD6C4;&amp;#xC5D0;&amp;#xB294; fanout service(&amp;#xD3EC;&amp;#xC2A4;&amp;#xD305; &amp;#xC804;&amp;#xC1A1; &amp;#xC11C;&amp;#xBE44;&amp;#xC2A4;)&amp;#xB97C; &amp;#xD1B5;&amp;#xD574; &amp;#xC0C8; &amp;#xD3EC;&amp;#xC2A4;&amp;#xD305;&amp;#xC744; &amp;#xCE5C;&amp;#xAD6C;&amp;#xC758; &amp;#xB274;&amp;#xC2A4;&amp;#xD53C;&amp;#xB4DC;&amp;#xC5D0; push&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xADF8; &amp;#xD6C4;, &amp;#xC54C;&amp;#xB9BC;&amp;#xC11C;&amp;#xBE44;&amp;#xC2A4;&amp;#xB85C; &amp;#xD478;&amp;#xC2DC; &amp;#xC54C;&amp;#xB9BC;&amp;#xC744; &amp;#xBCF4;&amp;#xB0C5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;br&gt;
&lt;h3 class=&quot;mume-header&quot; id=&quot;div-ida02-122-%EB%89%B4%EC%8A%A4-%ED%94%BC%EB%93%9C-%EC%A1%B0%ED%9A%8Cdiv&quot;&gt;&lt;div id=&quot;a02-1&quot;&gt;2.2. &amp;#xB274;&amp;#xC2A4; &amp;#xD53C;&amp;#xB4DC; &amp;#xC870;&amp;#xD68C;&lt;/div&gt;&lt;/h3&gt;

&lt;img width=&quot;390&quot; alt=&quot;02-2&quot; src=&quot;https://raw.githubusercontent.com/jiniya22/image_box/d4ed681735875b27cea4eadd598416cfa37624c1/Book/System%20Design/02-2.png&quot;&gt;
&lt;p&gt;&amp;#xC0AC;&amp;#xC6A9;&amp;#xC790;(client)&amp;#xAC00; &amp;#xB274;&amp;#xC2A4; &amp;#xD53C;&amp;#xB4DC; &amp;#xC870;&amp;#xD68C; API&amp;#xB97C; &amp;#xC694;&amp;#xCCAD;&amp;#xD558;&amp;#xBA74;&lt;br&gt;
&amp;#xB9C8;&amp;#xCC2C;&amp;#xAC00;&amp;#xC9C0;&amp;#xB85C; &amp;#xB85C;&amp;#xB4DC;&amp;#xBC38;&amp;#xB7F0;&amp;#xC11C;&amp;#xB97C; &amp;#xD1B5;&amp;#xD574; &amp;#xC6F9;&amp;#xC11C;&amp;#xBC84;&amp;#xB97C; &amp;#xBD84;&amp;#xC0B0;&amp;#xCC98;&amp;#xB9AC;&amp;#xD558;&amp;#xACE0;, &amp;#xC6F9;&amp;#xC11C;&amp;#xBC84;&amp;#xC5D0;&amp;#xC11C;&amp;#xB294; &amp;#xB274;&amp;#xC2A4;&amp;#xD53C;&amp;#xB4DC; &amp;#xC11C;&amp;#xBE44;&amp;#xC2A4;&amp;#xB97C; &amp;#xD638;&amp;#xCD9C;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xB274;&amp;#xC2A4;&amp;#xD53C;&amp;#xB4DC; &amp;#xC11C;&amp;#xBE44;&amp;#xC2A4;&amp;#xB294; &amp;#xB274;&amp;#xC2A4;&amp;#xD53C;&amp;#xB4DC; &amp;#xCE90;&amp;#xC2DC;&amp;#xB85C;&amp;#xBD80;&amp;#xD130; &amp;#xD53C;&amp;#xB4DC; &amp;#xC815;&amp;#xBCF4;&amp;#xB97C; &amp;#xC77D;&amp;#xC5B4;&amp;#xB4E4;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xC77D;&amp;#xC5B4;&amp;#xB4E4;&amp;#xC778; &amp;#xC815;&amp;#xBCF4;&amp;#xB97C; &amp;#xC0AC;&amp;#xC6A9;&amp;#xC790;&amp;#xC5D0;&amp;#xAC8C; &amp;#xBC18;&amp;#xD658;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 class=&quot;mume-header&quot; id=&quot;div-ida03-13-%EC%83%81%EC%84%B8-%EC%84%A4%EA%B3%84div&quot;&gt;&lt;div id=&quot;a03-1&quot;&gt;3. &amp;#xC0C1;&amp;#xC138; &amp;#xC124;&amp;#xACC4;&lt;/div&gt;&lt;/h2&gt;

&lt;h3 class=&quot;mume-header&quot; id=&quot;31-%ED%94%BC%EB%93%9C-%EB%B0%9C%ED%96%89-%EC%83%81%EC%84%B8-%EC%84%A4%EA%B3%84&quot;&gt;3.1. &amp;#xD53C;&amp;#xB4DC; &amp;#xBC1C;&amp;#xD589; &amp;#xC0C1;&amp;#xC138; &amp;#xC124;&amp;#xACC4;&lt;/h3&gt;

&lt;p&gt;&amp;#xC704;&amp;#xC5D0;&amp;#xC11C; &amp;#xC124;&amp;#xBA85;&amp;#xD588;&amp;#xC5C8;&amp;#xB358; &amp;#xD53C;&amp;#xB4DC; &amp;#xBC1C;&amp;#xD589; &amp;#xBD80;&amp;#xBD84;&amp;#xC5D0;&amp;#xC11C; &amp;#xC6F9;&amp;#xC11C;&amp;#xBC84;&amp;#xC640; fanout service(&amp;#xD3EC;&amp;#xC2A4;&amp;#xD305; &amp;#xC804;&amp;#xC1A1; &amp;#xC11C;&amp;#xBE44;&amp;#xC2A4;)&amp;#xB97C; &amp;#xB354; &amp;#xC0C1;&amp;#xC138;&amp;#xD558;&amp;#xAC8C; &amp;#xC124;&amp;#xACC4;&amp;#xD574;&amp;#xBD05;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;img width=&quot;727&quot; alt=&quot;02-3&quot; src=&quot;https://raw.githubusercontent.com/jiniya22/image_box/d4ed681735875b27cea4eadd598416cfa37624c1/Book/System%20Design/02-3.png&quot;&gt;
&lt;br&gt;
&lt;h4 class=&quot;mume-header&quot; id=&quot;311-%EC%9B%B9%EC%84%9C%EB%B2%84&quot;&gt;3.1.1. &amp;#xC6F9;&amp;#xC11C;&amp;#xBC84;&lt;/h4&gt;

&lt;p&gt;&amp;#xD074;&amp;#xB77C;&amp;#xC774;&amp;#xC5B8;&amp;#xD2B8;&amp;#xC640; &amp;#xD1B5;&amp;#xC2E0;&amp;#xD558;&amp;#xB294; &amp;#xC6F9;&amp;#xC11C;&amp;#xBC84;&amp;#xC5D0; &amp;#xC778;&amp;#xC99D;&amp;#xACFC; &amp;#xCC98;&amp;#xB9AC;&amp;#xC728; &amp;#xC81C;&amp;#xD55C; &amp;#xC124;&amp;#xC815;&amp;#xC744; &amp;#xD558;&amp;#xC5EC; &amp;#xBCF4;&amp;#xC548;&amp;#xC744; &amp;#xB192;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&amp;#xD53C;&amp;#xB4DC; &amp;#xBC1C;&amp;#xD589;&amp;#xACFC; &amp;#xB274;&amp;#xC2A4; &amp;#xD53C;&amp;#xB4DC; &amp;#xC870;&amp;#xD68C;&amp;#xC2DC; &amp;#xC720;&amp;#xD6A8;&amp;#xD55C; &amp;#xC778;&amp;#xC99D; &amp;#xD1A0;&amp;#xD070;&amp;#xC744; &amp;#xD655;&amp;#xC778;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Authorization&lt;/strong&gt; &amp;#xD5E4;&amp;#xB354;&amp;#xAC00; &amp;#xC720;&amp;#xD6A8;&amp;#xD560; &amp;#xACBD;&amp;#xC6B0;&amp;#xC5D0;&amp;#xB9CC; API&amp;#xB97C; &amp;#xD638;&amp;#xCD9C;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xB3C4;&amp;#xB85D; &amp;#xC778;&amp;#xC99D;&amp;#xCC98;&amp;#xB9AC;&amp;#xB97C; &amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&amp;#xD2B9;&amp;#xC815;&amp;#xAE30;&amp;#xAC04;&amp;#xB3D9;&amp;#xC548; &amp;#xD55C; &amp;#xC0AC;&amp;#xC6A9;&amp;#xC790;&amp;#xAC00; &amp;#xC62C;&amp;#xB9B4;&amp;#xC218; &amp;#xC788;&amp;#xB294; &amp;#xD3EC;&amp;#xC2A4;&amp;#xD305;&amp;#xC758; &amp;#xC218;&amp;#xB97C; &amp;#xC81C;&amp;#xD55C;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.
&lt;ul&gt;
&lt;li&gt;&amp;#xC2A4;&amp;#xD338;&amp;#xC774;&amp;#xB098; &amp;#xC720;&amp;#xD574; &amp;#xCEE8;&amp;#xD150;&amp;#xCE20;&amp;#xAC00; &amp;#xC790;&amp;#xC8FC; &amp;#xC62C;&amp;#xB77C;&amp;#xC624;&amp;#xB294;&amp;#xAC83;&amp;#xC744; &amp;#xBC29;&amp;#xC9C0;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;br&gt;
&lt;h4 class=&quot;mume-header&quot; id=&quot;312-%ED%8C%AC%EC%95%84%EC%9B%83%ED%8F%AC%EC%8A%A4%ED%8C%85-%EC%A0%84%EC%86%A1-%EC%84%9C%EB%B9%84%EC%8A%A4&quot;&gt;3.1.2. &amp;#xD32C;&amp;#xC544;&amp;#xC6C3;(&amp;#xD3EC;&amp;#xC2A4;&amp;#xD305; &amp;#xC804;&amp;#xC1A1;) &amp;#xC11C;&amp;#xBE44;&amp;#xC2A4;&lt;/h4&gt;

&lt;p&gt;&amp;#xC0AC;&amp;#xC6A9;&amp;#xC790; A&amp;#xAC00; &amp;#xC0C8; &amp;#xD3EC;&amp;#xC2A4;&amp;#xD305;&amp;#xC744; &amp;#xC62C;&amp;#xB838;&amp;#xC744; &amp;#xB54C;, A&amp;#xC758; &amp;#xD314;&amp;#xB85C;&amp;#xC6CC;&amp;#xB4E4;&amp;#xC5D0;&amp;#xAC8C; &amp;#xD3EC;&amp;#xC2A4;&amp;#xD305;&amp;#xC744; &amp;#xC804;&amp;#xB2EC;&amp;#xD558;&amp;#xB294; &amp;#xC11C;&amp;#xBE44;&amp;#xC2A4;&amp;#xB85C;, &amp;#xC544;&amp;#xB798;&amp;#xC640; &amp;#xAC19;&amp;#xC774; 2&amp;#xAC00;&amp;#xC9C0; &amp;#xBC29;&amp;#xC2DD;&amp;#xC73C;&amp;#xB85C; &amp;#xAD6C;&amp;#xC131;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&amp;#xC4F0;&amp;#xAE30; &amp;#xC2DC;&amp;#xC810;&amp;#xC5D0; &amp;#xD3EC;&amp;#xC2A4;&amp;#xD305; &amp;#xC804;&amp;#xC1A1; (= push &amp;#xBAA8;&amp;#xB378;)&lt;/li&gt;
&lt;li&gt;&amp;#xC77D;&amp;#xAE30; &amp;#xC2DC;&amp;#xC810;&amp;#xC5D0; &amp;#xD3EC;&amp;#xC2A4;&amp;#xD305; &amp;#xC804;&amp;#xC1A1; (= pull &amp;#xBAA8;&amp;#xB378;)&lt;/li&gt;
&lt;/ol&gt;
&lt;br&gt;
&lt;p&gt;&lt;strong&gt;push &amp;#xBAA8;&amp;#xB378;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&amp;#xD3EC;&amp;#xC2A4;&amp;#xD305;&amp;#xC744; &amp;#xC62C;&amp;#xB9B4; &amp;#xB54C;, &amp;#xAD00;&amp;#xACC4;&amp;#xB41C; &amp;#xC0AC;&amp;#xC6A9;&amp;#xC790;&amp;#xB4E4;&amp;#xC5D0;&amp;#xAC8C; &amp;#xBC14;&amp;#xB85C; &amp;#xC0C8; &amp;#xD3EC;&amp;#xC2A4;&amp;#xD305;&amp;#xC744; &amp;#xBCF4;&amp;#xB0C5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xB274;&amp;#xC2A4;&amp;#xD53C;&amp;#xB4DC;&amp;#xAC00; &amp;#xC2E4;&amp;#xC2DC;&amp;#xAC04;&amp;#xC73C;&amp;#xB85C; &amp;#xAC31;&amp;#xC2E0;&amp;#xB418;&amp;#xAE30; &amp;#xB54C;&amp;#xBB38;&amp;#xC5D0;, &lt;u&gt;&amp;#xB274;&amp;#xC2A4;&amp;#xD53C;&amp;#xB4DC;&amp;#xB97C; &amp;#xC77D;&amp;#xB294;&amp;#xB370; &amp;#xB4DC;&amp;#xB294; &amp;#xC2DC;&amp;#xAC04;&amp;#xC774; &amp;#xC9E7;&amp;#xB2E4;&amp;#xB294; &amp;#xC7A5;&amp;#xC810;&amp;#xC774; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/u&gt;&lt;/p&gt;
&lt;p&gt;&amp;#xB2E4;&amp;#xB9CC;, &amp;#xC720;&amp;#xBA85;&amp;#xC778;&amp;#xC0AC;&amp;#xC758; &amp;#xACBD;&amp;#xC6B0;, &amp;#xD314;&amp;#xB85C;&amp;#xC6CC;&amp;#xB4E4;&amp;#xC758; &amp;#xBAA8;&amp;#xB4E0; &amp;#xB274;&amp;#xC2A4;&amp;#xD53C;&amp;#xB4DC;&amp;#xB97C; &amp;#xAC31;&amp;#xC2E0;&amp;#xD558;&amp;#xB294;&amp;#xB370;&amp;#xC5D0; &amp;#xB9CE;&amp;#xC740; &amp;#xC2DC;&amp;#xAC04;&amp;#xC774; &amp;#xC18C;&amp;#xC694;&amp;#xB420; &amp;#xC218; &amp;#xC788;&amp;#xB2E4;&amp;#xB294; &amp;#xBB38;&amp;#xC81C;&amp;#xC810;&amp;#xC774; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.(= hotkey)&lt;br&gt;
&amp;#xC11C;&amp;#xBE44;&amp;#xC2A4;&amp;#xB97C; &amp;#xC798; &amp;#xC774;&amp;#xC6A9;&amp;#xD558;&amp;#xC9C0; &amp;#xC54A;&amp;#xB294; &amp;#xC0AC;&amp;#xC6A9;&amp;#xC790;&amp;#xC758; &amp;#xACBD;&amp;#xC6B0;, &amp;#xC2E4;&amp;#xC2DC;&amp;#xAC04;&amp;#xC73C;&amp;#xB85C; &amp;#xD53C;&amp;#xB4DC; &amp;#xAC31;&amp;#xC2E0;&amp;#xC744; &amp;#xD558;&amp;#xAE30;&amp;#xC704;&amp;#xD55C; &amp;#xCEF4;&amp;#xD4E8;&amp;#xD305; &amp;#xC790;&amp;#xC6D0; &amp;#xB0AD;&amp;#xBE44;&amp;#xAC00; &amp;#xBE44;&amp;#xD6A8;&amp;#xC728;&amp;#xC801;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;br&gt;
&lt;p&gt;&lt;strong&gt;pull &amp;#xBAA8;&amp;#xB378;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&amp;#xB85C;&amp;#xADF8;&amp;#xC778;&amp;#xC744; &amp;#xD558;&amp;#xC9C0; &amp;#xC54A;&amp;#xC744; &amp;#xACBD;&amp;#xC6B0;&amp;#xC5D0;&amp;#xB294; &amp;#xCEF4;&amp;#xD4E8;&amp;#xD130; &amp;#xC790;&amp;#xC6D0;&amp;#xC744; &amp;#xC18C;&amp;#xBAA8;&amp;#xD558;&amp;#xC9C0; &amp;#xC54A;&amp;#xAE30; &amp;#xB54C;&amp;#xBB38;&amp;#xC5D0;&lt;br&gt;
&amp;#xC11C;&amp;#xBE44;&amp;#xC2A4;&amp;#xC5D0; &amp;#xAC70;&amp;#xC758; &amp;#xB85C;&amp;#xADF8;&amp;#xC778;&amp;#xD558;&amp;#xC9C0; &amp;#xC54A;&amp;#xB294; &amp;#xC0AC;&amp;#xC6A9;&amp;#xC790;&amp;#xC758; &amp;#xACBD;&amp;#xC6B0;, &amp;#xC11C;&amp;#xBE44;&amp;#xC2A4;&amp;#xB97C; &amp;#xC774;&amp;#xC6A9;&amp;#xD560; &amp;#xB54C;&amp;#xC5D0;&amp;#xB9CC; &amp;#xD53C;&amp;#xB4DC;&amp;#xB97C; &amp;#xAC00;&amp;#xC838;&amp;#xC624;&amp;#xB294; pull &amp;#xBAA8;&amp;#xB378;&amp;#xC774; &amp;#xB354; &amp;#xD6A8;&amp;#xC728;&amp;#xC801;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xB97C; &amp;#xD544;&amp;#xC694;&amp;#xD560; &amp;#xB54C; &amp;#xAC00;&amp;#xC838;&amp;#xC624;&amp;#xAE30; &amp;#xB54C;&amp;#xBB38;&amp;#xC5D0;, &amp;#xC720;&amp;#xBA85;&amp;#xC778;&amp;#xC0AC;&amp;#xAC00; &amp;#xB9CE;&amp;#xC740; &amp;#xD314;&amp;#xB85C;&amp;#xC6CC;&amp;#xB4E4;&amp;#xC5D0;&amp;#xAC8C; &amp;#xD3EC;&amp;#xC2A4;&amp;#xD2B8;&amp;#xB97C; push&amp;#xD558;&amp;#xC9C0; &amp;#xC54A;&amp;#xC544;&amp;#xB3C4; &amp;#xB418;&amp;#xAE30; &amp;#xB54C;&amp;#xBB38;&amp;#xC5D0; hot key&amp;#xBB38;&amp;#xC81C;&amp;#xB3C4; &amp;#xC0DD;&amp;#xAE30;&amp;#xC9C0; &amp;#xC54A;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xB2E4;&amp;#xB9CC;, &amp;#xC11C;&amp;#xBE44;&amp;#xC2A4;&amp;#xB97C; &amp;#xC2DC;&amp;#xC791;&amp;#xD558;&amp;#xB294; &amp;#xC2DC;&amp;#xC810;&amp;#xC5D0; &amp;#xB274;&amp;#xC2A4;&amp;#xD53C;&amp;#xB4DC;&amp;#xB97C; &amp;#xC77D;&amp;#xC5B4;&amp;#xC624;&amp;#xAE30; &amp;#xB54C;&amp;#xBB38;&amp;#xC5D0; &amp;#xB274;&amp;#xC2A4;&amp;#xD53C;&amp;#xB4DC;&amp;#xB97C; &amp;#xC77D;&amp;#xB294;&amp;#xB370;&amp;#xC5D0; &amp;#xB9CE;&amp;#xC740; &amp;#xC2DC;&amp;#xAC04;&amp;#xC774; &amp;#xC18C;&amp;#xC694;&amp;#xB420; &amp;#xC218; &amp;#xC788;&amp;#xB2E4;&amp;#xB294; &amp;#xB2E8;&amp;#xC810;&amp;#xC774; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;br&gt;
&lt;p&gt;&lt;strong&gt;push pull &amp;#xACB0;&amp;#xD569; &amp;#xBAA8;&amp;#xB378;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;push&amp;#xBAA8;&amp;#xB378;&amp;#xACFC; pull&amp;#xBAA8;&amp;#xB378;&amp;#xC758; &amp;#xC7A5;&amp;#xC810;&amp;#xC744; &amp;#xACB0;&amp;#xD569;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&amp;#xB274;&amp;#xC2A4;&amp;#xD53C;&amp;#xB4DC;&amp;#xB97C; &amp;#xBE60;&amp;#xB974;&amp;#xAC8C; &amp;#xC77D;&amp;#xC5B4;&amp;#xB4E4;&amp;#xC774;&amp;#xAE30; &amp;#xC704;&amp;#xD574; &amp;#xC77C;&amp;#xBC18; &amp;#xC0AC;&amp;#xC6A9;&amp;#xC790;&amp;#xC5D0; &amp;#xB300;&amp;#xD574;&amp;#xC11C;&amp;#xB294; push &amp;#xBAA8;&amp;#xB378;&amp;#xC744; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD558;&amp;#xACE0;&lt;/li&gt;
&lt;li&gt;&amp;#xC720;&amp;#xBA85;&amp;#xC778;&amp;#xC0AC; &amp;#xAC19;&amp;#xC774; &amp;#xD314;&amp;#xB85C;&amp;#xC6CC;&amp;#xAC00; &amp;#xB9CE;&amp;#xC740; &amp;#xC0AC;&amp;#xB78C;&amp;#xC758; &amp;#xACBD;&amp;#xC6B0;, pull&amp;#xBAA8;&amp;#xB378; &amp;#xBC29;&amp;#xC2DD;&amp;#xC73C;&amp;#xB85C; &amp;#xD3EC;&amp;#xC2A4;&amp;#xD305;&amp;#xC744; &amp;#xAC00;&amp;#xC838;&amp;#xC624;&amp;#xB3C4;&amp;#xB85D; &amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;#xC774;&amp;#xB807;&amp;#xAC8C; &amp;#xC124;&amp;#xC815;&amp;#xD560; &amp;#xACBD;&amp;#xC6B0;, hotkey&amp;#xBB38;&amp;#xC81C;&amp;#xB3C4; &amp;#xD574;&amp;#xACB0;&amp;#xD558;&amp;#xACE0;, &amp;#xB274;&amp;#xC2A4;&amp;#xD53C;&amp;#xB4DC;&amp;#xB3C4; &amp;#xBE60;&amp;#xB974;&amp;#xAC8C; &amp;#xC77D;&amp;#xC5B4;&amp;#xB4E4;&amp;#xC77C; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&lt;br&gt;&lt;/p&gt;
&lt;img width=&quot;574&quot; alt=&quot;02-4&quot; src=&quot;https://raw.githubusercontent.com/jiniya22/image_box/d4ed681735875b27cea4eadd598416cfa37624c1/Book/System%20Design/02-4.png&quot;&gt;
&lt;ol&gt;
&lt;li&gt;(&amp;#xADF8;&amp;#xB798;&amp;#xD504;) DB&amp;#xC5D0;&amp;#xC11C; &amp;#xCE5C;&amp;#xAD6C; id &amp;#xBAA9;&amp;#xB85D;&amp;#xC744; &amp;#xAC00;&amp;#xC838;&amp;#xC624;&amp;#xACE0;&lt;/li&gt;
&lt;li&gt;&amp;#xCE5C;&amp;#xAD6C; id &amp;#xBAA9;&amp;#xB85D;&amp;#xC744; &amp;#xC774;&amp;#xC6A9;&amp;#xD558;&amp;#xC5EC; &amp;#xCE90;&amp;#xC2DC;&amp;#xC5D0;&amp;#xC11C; &amp;#xCE5C;&amp;#xAD6C; &amp;#xC815;&amp;#xBCF4;&amp;#xB97C; &amp;#xC77D;&amp;#xC5B4;&amp;#xB4E4;&amp;#xC5EC;&amp;#xC154;, &amp;#xD53C;&amp;#xB4DC; &amp;#xC804;&amp;#xC1A1; &amp;#xB300;&amp;#xC0C1; &amp;#xD544;&amp;#xD130;&amp;#xB9C1;
&lt;ul&gt;
&lt;li&gt;mute&amp;#xC124;&amp;#xC815;&amp;#xD55C; &amp;#xCE5C;&amp;#xAD6C; &amp;#xC81C;&amp;#xC678;&amp;#xB098;, &amp;#xCE5C;&amp;#xD55C;&amp;#xCE5C;&amp;#xAD6C;&amp;#xC5D0;&amp;#xAC8C;&amp;#xB9CC; &amp;#xBCF4;&amp;#xB0B4;&amp;#xAE30; &amp;#xB4F1;&amp;#xC758; &amp;#xAE30;&amp;#xB2A5;&amp;#xB3C4; &amp;#xAC00;&amp;#xB2A5;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;MQ&amp;#xC5D0; &amp;#xC0C8; &amp;#xD3EC;&amp;#xC2A4;&amp;#xD305; id&amp;#xC640; &amp;#xCE5C;&amp;#xAD6C;&amp;#xBAA9;&amp;#xB85D;id&amp;#xB97C; &amp;#xB123;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;&lt;/li&gt;
&lt;li&gt;&amp;#xD3EC;&amp;#xC2A4;&amp;#xD305; &amp;#xC804;&amp;#xC1A1; &amp;#xC11C;&amp;#xBC84;&amp;#xAC00; MQ&amp;#xC5D0;&amp;#xC11C; &amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xB97C; &amp;#xAEBC;&amp;#xB0B4;&amp;#xC5B4; &amp;#xB274;&amp;#xC2A4;&amp;#xD53C;&amp;#xB4DC; &amp;#xCE90;&amp;#xC2DC;&amp;#xC5D0; &amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xB97C; &amp;#xB123;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/li&gt;
&lt;/ol&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Graph DB&lt;/strong&gt;&lt;br&gt;
&amp;#xC218;&amp;#xBC31;&amp;#xB9CC;/&amp;#xC218;&amp;#xC2ED;&amp;#xC5B5;&amp;#xAC1C;&amp;#xC758; &amp;#xAD00;&amp;#xACC4;&amp;#xB97C; &amp;#xD6A8;&amp;#xACFC;&amp;#xC801;&amp;#xC73C;&amp;#xB85C; &amp;#xB2E4;&amp;#xB8E8;&amp;#xAE30; &amp;#xC704;&amp;#xD55C; &amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xBCA0;&amp;#xC774;&amp;#xC2A4;&lt;br&gt;
&amp;#xAC01; &amp;#xB178;&amp;#xB4DC;&amp;#xB294; &amp;#xD558;&amp;#xB098; &amp;#xC774;&amp;#xC0C1;&amp;#xC758; &amp;#xB808;&amp;#xC774;&amp;#xBE14;&amp;#xC744; &amp;#xAC00;&amp;#xC9C8; &amp;#xC218; &amp;#xC788;&amp;#xB2E4;&amp;#xB294; &amp;#xC810;&amp;#xC5D0;&amp;#xC11C; RDB&amp;#xC640; &amp;#xCC28;&amp;#xC774;&amp;#xAC00; &amp;#xC788;&amp;#xACE0;, &amp;#xC774;&amp;#xB7EC;&amp;#xD55C; &amp;#xD2B9;&amp;#xC131;&amp;#xC5D0; &amp;#xC758;&amp;#xD574; &amp;#xBE45;&amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xB97C; &amp;#xB2E4;&amp;#xB8E8;&amp;#xB294; &amp;#xBD84;&amp;#xC57C;&amp;#xC5D0;&amp;#xC11C; &amp;#xD6A8;&amp;#xACFC;&amp;#xC801;&amp;#xC73C;&amp;#xB85C; &amp;#xD65C;&amp;#xC6A9;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&lt;code&gt;Node&amp;#xB294; RDB&amp;#xC758; row, Label&amp;#xC740; RDB&amp;#xC758; table&amp;#xC5D0; &amp;#xD574;&amp;#xB2F9;&amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;/code&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;br&gt;
&lt;h3 class=&quot;mume-header&quot; id=&quot;div-ida03-232-%EB%89%B4%EC%8A%A4%ED%94%BC%EB%93%9C-%EC%A1%B0%ED%9A%8C-%EC%83%81%EC%84%B8-%EC%84%A4%EA%B3%84div&quot;&gt;&lt;div id=&quot;a03-2&quot;&gt;3.2. &amp;#xB274;&amp;#xC2A4;&amp;#xD53C;&amp;#xB4DC; &amp;#xC870;&amp;#xD68C; &amp;#xC0C1;&amp;#xC138; &amp;#xC124;&amp;#xACC4;&lt;/div&gt;&lt;/h3&gt;

&lt;img width=&quot;645&quot; alt=&quot;02-5&quot; src=&quot;https://raw.githubusercontent.com/jiniya22/image_box/d4ed681735875b27cea4eadd598416cfa37624c1/Book/System%20Design/02-5.png&quot;&gt;
&lt;ol&gt;
&lt;li&gt;&amp;#xC0AC;&amp;#xC6A9;&amp;#xC790;&amp;#xAC00; &amp;#xB274;&amp;#xC2A4; &amp;#xD53C;&amp;#xB4DC; &amp;#xC77D;&amp;#xAE30; &amp;#xC694;&amp;#xCCAD;&amp;#xC744; &amp;#xBCF4;&amp;#xB0B4;&amp;#xBA74;&lt;/li&gt;
&lt;li&gt;&amp;#xB85C;&amp;#xB4DC;&amp;#xBC38;&amp;#xB7F0;&amp;#xC11C;&amp;#xC5D0; &amp;#xC5F0;&amp;#xACB0;&amp;#xB41C; &amp;#xC6F9;&amp;#xC11C;&amp;#xBC84;&amp;#xC911; &amp;#xD558;&amp;#xB098;&amp;#xB85C; &amp;#xC694;&amp;#xCCAD;&amp;#xC774; &amp;#xBCF4;&amp;#xB0B4;&amp;#xC9C0;&amp;#xACE0;&lt;/li&gt;
&lt;li&gt;&amp;#xC6F9;&amp;#xC11C;&amp;#xBC84;&amp;#xC5D0;&amp;#xC11C;&amp;#xB294; &amp;#xB274;&amp;#xC2A4;&amp;#xD53C;&amp;#xB4DC; &amp;#xC11C;&amp;#xBE44;&amp;#xC2A4;&amp;#xB97C; &amp;#xD638;&amp;#xCD9C;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/li&gt;
&lt;li&gt;&amp;#xB274;&amp;#xC2A4;&amp;#xD53C;&amp;#xB4DC; &amp;#xC11C;&amp;#xBE44;&amp;#xC2A4;&amp;#xC5D0;&amp;#xC11C;&amp;#xB294; &amp;#xB274;&amp;#xC2A4; &amp;#xD53C;&amp;#xB4DC; &amp;#xCE90;&amp;#xC2DC;&amp;#xB85C;&amp;#xBD80;&amp;#xD130; &lt;code&gt;&amp;#xC0AC;&amp;#xC6A9;&amp;#xC790; id, &amp;#xD3EC;&amp;#xC2A4;&amp;#xD305; id&lt;/code&gt; &amp;#xBAA9;&amp;#xB85D;&amp;#xC744; &amp;#xAC00;&amp;#xC838;&amp;#xC624;&amp;#xACE0;&lt;/li&gt;
&lt;li&gt;&amp;#xC0AC;&amp;#xC6A9;&amp;#xC790; &amp;#xCE90;&amp;#xC2DC;&amp;#xC640; &amp;#xD3EC;&amp;#xC2A4;&amp;#xD2B8; &amp;#xCE90;&amp;#xC2DC;&amp;#xB85C;&amp;#xBD80;&amp;#xD130; &amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xB97C; &amp;#xAC01;&amp;#xAC01; &amp;#xC77D;&amp;#xC5B4;&amp;#xC640;&amp;#xC11C; &amp;#xB274;&amp;#xC2A4;&amp;#xD53C;&amp;#xB4DC;&amp;#xB97C; &amp;#xB9CC;&amp;#xB4ED;&amp;#xB2C8;&amp;#xB2E4;.&lt;/li&gt;
&lt;li&gt;&amp;#xB274;&amp;#xC2A4;&amp;#xD53C;&amp;#xB4DC;&amp;#xB294; json&amp;#xD615;&amp;#xD0DC;&amp;#xB85C; client&amp;#xC5D0;&amp;#xAC8C; &amp;#xC804;&amp;#xC1A1;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/li&gt;
&lt;/ol&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;#xC774;&amp;#xBBF8;&amp;#xC9C0;&amp;#xB098; &amp;#xBBF8;&amp;#xB514;&amp;#xC5B4; &amp;#xCEE8;&amp;#xD150;&amp;#xCE20;&amp;#xB294; cdn&amp;#xC5D0; &amp;#xC800;&amp;#xC7A5;&amp;#xD558;&amp;#xC5EC; &amp;#xBE68;&amp;#xB9AC; &amp;#xC77D;&amp;#xC744; &amp;#xC218; &amp;#xC788;&amp;#xB3C4;&amp;#xB85D; &amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;br&gt;
&lt;h3 class=&quot;mume-header&quot; id=&quot;div-ida03-333-%EC%BA%90%EC%8B%9C-%EA%B5%AC%EC%A1%B0div&quot;&gt;&lt;div id=&quot;a03-3&quot;&gt;3.3. &amp;#xCE90;&amp;#xC2DC; &amp;#xAD6C;&amp;#xC870;&lt;/div&gt;&lt;/h3&gt;

&lt;p&gt;&amp;#xCE90;&amp;#xC2DC; &amp;#xAD6C;&amp;#xC870;&amp;#xB97C; &amp;#xC544;&amp;#xB798;&amp;#xC640;&amp;#xAC19;&amp;#xC774; &amp;#xC81C;&amp;#xC548;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;img width=&quot;721&quot; alt=&quot;02-6&quot; src=&quot;https://raw.githubusercontent.com/jiniya22/image_box/d4ed681735875b27cea4eadd598416cfa37624c1/Book/System%20Design/02-6.png&quot;&gt;
&lt;ul&gt;
&lt;li&gt;&amp;#xB274;&amp;#xC2A4; &amp;#xD53C;&amp;#xB4DC;
&lt;ul&gt;
&lt;li&gt;post_id, user_id &amp;#xC30D;&amp;#xC774; &amp;#xC800;&amp;#xC7A5;&amp;#xB428;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&amp;#xCEE8;&amp;#xD150;&amp;#xCE20;
&lt;ul&gt;
&lt;li&gt;&amp;#xD3EC;&amp;#xC2A4;&amp;#xD305; &amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xB97C; &amp;#xBCF4;&amp;#xAD00;&amp;#xD558;&amp;#xB294; &amp;#xCE90;&amp;#xC2DC;&amp;#xB85C;, &amp;#xC778;&amp;#xAE30; &amp;#xCEE8;&amp;#xD150;&amp;#xCE20;&amp;#xB294; &amp;#xBCC4;&amp;#xB3C4;&amp;#xC758; &amp;#xCE90;&amp;#xC2DC;&amp;#xC5D0; &amp;#xBCF4;&amp;#xAD00;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&amp;#xC18C;&amp;#xC15C; &amp;#xADF8;&amp;#xB798;&amp;#xD504;
&lt;ul&gt;
&lt;li&gt;&amp;#xC0AC;&amp;#xC6A9;&amp;#xC790;&amp;#xAC04;&amp;#xC758; &amp;#xAD00;&amp;#xACC4;&amp;#xB97C; &amp;#xBCF4;&amp;#xAD00;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&amp;#xD589;&amp;#xC704;
&lt;ul&gt;
&lt;li&gt;&amp;#xD3EC;&amp;#xC2A4;&amp;#xD305;&amp;#xC5D0;&amp;#xC11C; &amp;#xD589;&amp;#xD574;&amp;#xC9C0;&amp;#xB294; &amp;#xC0AC;&amp;#xC6A9;&amp;#xC790; &amp;#xD589;&amp;#xC704;(&amp;#xC88B;&amp;#xC544;&amp;#xC694;, &amp;#xB2F5;&amp;#xAE00; &amp;#xB4F1;)&amp;#xC5D0; &amp;#xB300;&amp;#xD55C; &amp;#xC815;&amp;#xBCF4;&amp;#xB97C; &amp;#xBCF4;&amp;#xAD00;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&amp;#xCE74;&amp;#xC6B4;&amp;#xD130;
&lt;ul&gt;
&lt;li&gt;&amp;#xC88B;&amp;#xC544;&amp;#xC694;, &amp;#xB2F5;&amp;#xAE00;, &amp;#xD314;&amp;#xB85C;&amp;#xC6CC;, &amp;#xD314;&amp;#xB85C;&amp;#xC789; &amp;#xB4F1;&amp;#xC758; count &amp;#xC815;&amp;#xBCF4;&amp;#xB97C; &amp;#xBCF4;&amp;#xAD00;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 class=&quot;mume-header&quot; id=&quot;div-ida044-%EB%A7%88%EB%AC%B4%EB%A6%ACdiv&quot;&gt;&lt;div id=&quot;a04&quot;&gt;4. &amp;#xB9C8;&amp;#xBB34;&amp;#xB9AC;&lt;/div&gt;&lt;/h2&gt;

&lt;p&gt;&amp;#xB274;&amp;#xC2A4;&amp;#xD53C;&amp;#xB4DC; &amp;#xC2DC;&amp;#xC2A4;&amp;#xD15C; &amp;#xC124;&amp;#xACC4;&amp;#xB3C4; &amp;#xB2E4;&amp;#xB978; &amp;#xC2DC;&amp;#xC2A4;&amp;#xD15C; &amp;#xC124;&amp;#xACC4;&amp;#xC640; &amp;#xB9C8;&amp;#xCC2C;&amp;#xAC00;&amp;#xC9C0;&amp;#xB85C; &amp;#xC815;&amp;#xB2F5;&amp;#xC774;&amp;#xB77C;&amp;#xB294; &amp;#xAC83;&amp;#xC740; &amp;#xC5C6;&amp;#xACE0;&lt;br&gt;
&amp;#xC694;&amp;#xAD6C;&amp;#xC0AC;&amp;#xD56D;&amp;#xC774;&amp;#xB098; &amp;#xC81C;&amp;#xC57D;&amp;#xC870;&amp;#xAC74; &amp;#xB530;&amp;#xB77C; &amp;#xC2DC;&amp;#xC2A4;&amp;#xD15C;&amp;#xC744; &amp;#xC124;&amp;#xACC4;&amp;#xD558;&amp;#xBA70;, &amp;#xAE30;&amp;#xC220;&amp;#xC758; &amp;#xC7A5;&amp;#xB2E8;&amp;#xC810;&amp;#xC744; &amp;#xC798; &amp;#xC778;&amp;#xC9C0;&amp;#xD558;&amp;#xBA70; &amp;#xD0C0;&amp;#xD611;&amp;#xC744; &amp;#xBCF4;&amp;#xB294; &amp;#xAC83;&amp;#xC774; &amp;#xC911;&amp;#xC694;&amp;#xD55C; &amp;#xBD80;&amp;#xBD84;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xB274;&amp;#xC2A4;&amp;#xD53C;&amp;#xB4DC; &amp;#xC2DC;&amp;#xC2A4;&amp;#xD15C;&amp;#xC5D0;&amp;#xC11C;&amp;#xB3C4; &amp;#xB2E4;&amp;#xB978; &amp;#xC2DC;&amp;#xC2A4;&amp;#xD15C; &amp;#xC124;&amp;#xACC4;&amp;#xC640; &amp;#xB9C8;&amp;#xCC2C;&amp;#xAC00;&amp;#xC9C0;&amp;#xB85C; &amp;#xC544;&amp;#xB798;&amp;#xC640; &amp;#xAC19;&amp;#xC740; &amp;#xBD80;&amp;#xBD84;&amp;#xB4E4;&amp;#xC744; &amp;#xC124;&amp;#xACC4;&amp;#xC2DC; &amp;#xACE0;&amp;#xB824;&amp;#xD574;&amp;#xBCFC; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xBCA0;&amp;#xC774;&amp;#xC2A4; &amp;#xADDC;&amp;#xBAA8; &amp;#xD655;&amp;#xC7A5;&lt;/li&gt;
&lt;li&gt;&amp;#xB9CE;&amp;#xC740; &amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xB97C; &amp;#xCE90;&amp;#xC2DC;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xB294; &amp;#xBC29;&amp;#xBC95;&lt;/li&gt;
&lt;li&gt;&amp;#xC5EC;&amp;#xB7EC; &amp;#xB370;&amp;#xC774;&amp;#xD130; &amp;#xC13C;&amp;#xD130;&amp;#xB97C; &amp;#xC9C0;&amp;#xC6D0;&amp;#xD558;&amp;#xB294; &amp;#xBC29;&amp;#xBC95;&lt;/li&gt;
&lt;li&gt;&amp;#xCEF4;&amp;#xD3EC;&amp;#xB10C;&amp;#xD2B8; &amp;#xAC04;&amp;#xC758; &amp;#xACB0;&amp;#xD569;&amp;#xB3C4;&amp;#xB97C; &amp;#xB0AE;&amp;#xCD94;&amp;#xAE30; &amp;#xC704;&amp;#xD55C; Message Queue &amp;#xD65C;&amp;#xC6A9;&lt;/li&gt;
&lt;/ul&gt;

  &lt;/div&gt;&lt;/div&gt;</description>
      <category>Dev/System Design</category>
      <author>jiniya22</author>
      <guid isPermaLink="true">https://jini-box.tistory.com/212</guid>
      <comments>https://jini-box.tistory.com/212#entry212comment</comments>
      <pubDate>Sat, 26 Aug 2023 06:23:48 +0900</pubDate>
    </item>
    <item>
      <title>[가상 면접 사례로 배우는 대규모 시스템 설계 기초] 01. 사용자 수에 따른 규모 확장성</title>
      <link>https://jini-box.tistory.com/211</link>
      <description>&lt;div id=&quot;html-export&quot;&gt;
      &lt;div class=&quot;mume markdown-preview  &quot;&gt;
      &lt;p&gt;&amp;#x203B; &amp;#xC774; &amp;#xD3EC;&amp;#xC2A4;&amp;#xD305;&amp;#xC740; &lt;a href=&quot;http://www.yes24.com/Product/Goods/102819435&quot;&gt;&amp;#xAC00;&amp;#xC0C1; &amp;#xBA74;&amp;#xC811; &amp;#xC0AC;&amp;#xB840;&amp;#xB85C; &amp;#xBC30;&amp;#xC6B0;&amp;#xB294; &amp;#xB300;&amp;#xADDC;&amp;#xBAA8; &amp;#xC2DC;&amp;#xC2A4;&amp;#xD15C; &amp;#xC124;&amp;#xACC4; &amp;#xAE30;&amp;#xCD08;&lt;/a&gt;&amp;#xC758; 1&amp;#xC7A5;. &lt;strong&gt;&amp;#xC0AC;&amp;#xC6A9;&amp;#xC790; &amp;#xC218;&amp;#xC5D0; &amp;#xB530;&amp;#xB978; &amp;#xADDC;&amp;#xBAA8; &amp;#xD655;&amp;#xC7A5;&amp;#xC131;&lt;/strong&gt; &amp;#xBD80;&amp;#xBD84;&amp;#xC744; &amp;#xC815;&amp;#xB9AC;&amp;#xD55C; &amp;#xAC83;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;#a01&quot;&gt;&amp;#xAC1C;&amp;#xC694;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&amp;#xC6F9;&amp;#xACC4;&amp;#xCE35; Scale Out
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;#a02-1&quot;&gt;&amp;#xB85C;&amp;#xB4DC;&amp;#xBC38;&amp;#xB7F0;&amp;#xC11C;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#a02-2&quot;&gt;stateless&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#a02-3&quot;&gt;&amp;#xBA54;&amp;#xC2DC;&amp;#xC9C0; &amp;#xD050;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#a02-4&quot;&gt;&amp;#xB85C;&amp;#xADF8;, &amp;#xBA54;&amp;#xD2B8;&amp;#xB9AD;, &amp;#xC790;&amp;#xB3D9;&amp;#xD654;&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#a03&quot;&gt;&amp;#xB370;&amp;#xC774;&amp;#xD130; &amp;#xACC4;&amp;#xCE35; Scale Out&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#a04&quot;&gt;&amp;#xB85C;&amp;#xB4DC;&amp;#xBC38;&amp;#xB7F0;&amp;#xC11C; &amp;amp;&amp;amp; &amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xBCA0;&amp;#xC774;&amp;#xC2A4; &amp;#xB2E4;&amp;#xC911;&amp;#xD654;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xBCA0;&amp;#xC774;&amp;#xC2A4; &amp;#xADDC;&amp;#xBAA8; &amp;#xD655;&amp;#xC7A5;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;#a05-1&quot;&gt;&amp;#xC0E4;&amp;#xB529;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#a05-2&quot;&gt;&amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xBCA0;&amp;#xC774;&amp;#xC2A4; &amp;#xC885;&amp;#xB958;&amp;#xC5D0; &amp;#xB300;&amp;#xD55C; &amp;#xACE0;&amp;#xBBFC;&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;&amp;#xC751;&amp;#xB2F5;&amp;#xC2DC;&amp;#xAC04; &amp;#xAC1C;&amp;#xC120;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;#a06-1&quot;&gt;&amp;#xCE90;&amp;#xC2DC;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#a06-2&quot;&gt;CDN&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#a06-3&quot;&gt;Cache &amp;amp;&amp;amp; CDN &amp;#xC801;&amp;#xC6A9; &amp;#xACB0;&amp;#xACFC;&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#a07&quot;&gt;&amp;#xB370;&amp;#xC774;&amp;#xD130; &amp;#xC13C;&amp;#xD130;&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;hr&gt;
&lt;h3 class=&quot;mume-header&quot; id=&quot;div-ida011-%EA%B0%9C%EC%9A%94div&quot;&gt;&lt;div id=&quot;a01&quot;&gt;1. &amp;#xAC1C;&amp;#xC694;&lt;/div&gt;&lt;/h3&gt;

&lt;h4 class=&quot;mume-header&quot; id=&quot;11-%EB%8B%A8%EC%9D%BC%EC%84%9C%EB%B2%84&quot;&gt;1.1. &amp;#xB2E8;&amp;#xC77C;&amp;#xC11C;&amp;#xBC84;?&lt;/h4&gt;

&lt;p&gt;&amp;#xBAA8;&amp;#xB4E0; &amp;#xCEF4;&amp;#xD3EC;&amp;#xB10C;&amp;#xD2B8;(&amp;#xC6F9;&amp;#xC571;, DB, &amp;#xCE90;&amp;#xC2DC;&amp;#xC11C;&amp;#xBC84; &amp;#xB4F1;)&amp;#xAC00; &amp;#xB2E8; &amp;#xD55C;&amp;#xB300;&amp;#xC758; &amp;#xC11C;&amp;#xBC84;&amp;#xC5D0;&amp;#xC11C; &amp;#xC2E4;&amp;#xD589;&amp;#xB418;&amp;#xB294; &amp;#xC2DC;&amp;#xC2A4;&amp;#xD15C;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xC6F9;&amp;#xC11C;&amp;#xBE44;&amp;#xC2A4;&amp;#xB97C; &amp;#xC774;&amp;#xC6A9;&amp;#xD558;&amp;#xACE0;&amp;#xC790;&amp;#xD558;&amp;#xB294; &amp;#xC0AC;&amp;#xC6A9;&amp;#xC790;&amp;#xAC00; &amp;#xC6F9;&amp;#xC11C;&amp;#xBC84;&amp;#xC5D0; &amp;#xBC14;&amp;#xB85C; &amp;#xC811;&amp;#xADFC;&amp;#xD558;&amp;#xB294; &amp;#xAD6C;&amp;#xC870;&amp;#xB85C; &amp;#xC6F9;&amp;#xC11C;&amp;#xBC84;&amp;#xAC00; &amp;#xB2E4;&amp;#xC6B4;&amp;#xB420; &amp;#xACBD;&amp;#xC6B0; &amp;#xC6F9;&amp;#xC0AC;&amp;#xC774;&amp;#xD2B8; &amp;#xC811;&amp;#xC18D;&amp;#xC774; &amp;#xBD88;&amp;#xAC00;&amp;#xB2A5;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xB610;, &amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xBCA0;&amp;#xC774;&amp;#xC2A4;&amp;#xAC00; &amp;#xD558;&amp;#xB098;&amp;#xC774;&amp;#xAE30; &amp;#xB54C;&amp;#xBB38;&amp;#xC5D0; &amp;#xC7A5;&amp;#xC560;&amp;#xAC00; &amp;#xBC1C;&amp;#xC0DD;&amp;#xD588;&amp;#xC744; &amp;#xC2DC;, &amp;#xC7A5;&amp;#xC560; &amp;#xC790;&amp;#xB3D9;&amp;#xBCF5;&amp;#xAD6C;&amp;#xB098; &amp;#xB2E4;&amp;#xC911;&amp;#xD654;&amp;#xB97C; &amp;#xC9C0;&amp;#xC6D0;&amp;#xD558;&amp;#xC9C0; &amp;#xBABB;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;#xC774;&amp;#xB7EC;&amp;#xD55C; &amp;#xC774;&amp;#xC720;&amp;#xB85C; &amp;#xC218;&amp;#xBC31;&amp;#xB9CC; &amp;#xC0AC;&amp;#xC6A9;&amp;#xC790;&amp;#xB97C; &amp;#xC9C0;&amp;#xC6D0;&amp;#xD558;&amp;#xB294; &amp;#xC2DC;&amp;#xC2A4;&amp;#xD15C;&amp;#xC744; &amp;#xC124;&amp;#xACC4;&amp;#xD558;&amp;#xAE30; &amp;#xC704;&amp;#xD574;&amp;#xC11C;&amp;#xB294; &amp;#xC5EC;&amp;#xB7EC;&amp;#xB300;&amp;#xC758; &amp;#xC11C;&amp;#xBC84;&amp;#xB97C; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD558;&amp;#xB294; &amp;#xAC83;&amp;#xC740; &amp;#xD544;&amp;#xC218;&amp;#xC801;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;br&gt;
&lt;h4 class=&quot;mume-header&quot; id=&quot;12-%EC%84%9C%EB%B2%84-%ED%99%95%EC%9E%A5&quot;&gt;1.2. &amp;#xC11C;&amp;#xBC84; &amp;#xD655;&amp;#xC7A5;&lt;/h4&gt;

&lt;p&gt;&amp;#xC11C;&amp;#xBC84;&amp;#xB97C; &amp;#xD655;&amp;#xC7A5;&amp;#xD558;&amp;#xACE0;&amp;#xC790; &amp;#xD560; &amp;#xB54C;, &amp;#xD06C;&amp;#xAC8C; 2&amp;#xAC00;&amp;#xC9C0; &amp;#xACC4;&amp;#xCE35;&amp;#xC5D0;&amp;#xC11C; &amp;#xD655;&amp;#xC7A5;&amp;#xC744; &amp;#xACE0;&amp;#xB824;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xCCAB;&amp;#xBC88;&amp;#xC9F8;&amp;#xB294; &amp;#xC6F9;&amp;#xACFC; &amp;#xBAA8;&amp;#xBC14;&amp;#xC77C;&amp;#xC758; &amp;#xD2B8;&amp;#xB798;&amp;#xD53D;&amp;#xC744; &amp;#xCC98;&amp;#xB9AC;&amp;#xD558;&amp;#xAE30; &amp;#xC704;&amp;#xD55C; &amp;#xC6F9;&amp;#xACC4;&amp;#xCE35; &amp;#xD655;&amp;#xC7A5;&amp;#xC774; &amp;#xC788;&amp;#xACE0;,&lt;br&gt;
&amp;#xB098;&amp;#xBA38;&amp;#xC9C0; &amp;#xD558;&amp;#xB098;&amp;#xB294; &amp;#xB370;&amp;#xC774;&amp;#xD130; &amp;#xCC98;&amp;#xB9AC;&amp;#xC640; &amp;#xC7A5;&amp;#xC560; &amp;#xBCF5;&amp;#xAD6C;&amp;#xB97C; &amp;#xC704;&amp;#xD55C; &amp;#xB370;&amp;#xC774;&amp;#xD130; &amp;#xACC4;&amp;#xCE35; &amp;#xD655;&amp;#xC7A5;&amp;#xC774; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xC774; &amp;#xB450;&amp;#xAC00;&amp;#xC9C0;&amp;#xB294; &amp;#xAC01;&amp;#xAC01; &amp;#xB3C5;&amp;#xB9BD;&amp;#xC801;&amp;#xC73C;&amp;#xB85C; &amp;#xD655;&amp;#xC7A5;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;br&gt;
&lt;h4 class=&quot;mume-header&quot; id=&quot;13-scale-up-vs-scale-out&quot;&gt;1.3. Scale Up vs Scale Out&lt;/h4&gt;

&lt;p&gt;&amp;#xC6F9; &amp;#xACC4;&amp;#xCE35;&amp;#xACFC; &amp;#xB370;&amp;#xC774;&amp;#xD130; &amp;#xACC4;&amp;#xCE35;&amp;#xC744; &amp;#xD655;&amp;#xC7A5;&amp;#xD558;&amp;#xACE0;&amp;#xC790; &amp;#xD560; &amp;#xB54C;, &amp;#xAC01; &amp;#xACC4;&amp;#xCE35;&amp;#xC744; &amp;#xD655;&amp;#xC7A5;&amp;#xD558;&amp;#xB294; &amp;#xBC29;&amp;#xBC95;&amp;#xC5D0;&amp;#xB294; &amp;#xD06C;&amp;#xAC8C; 2&amp;#xAC00;&amp;#xC9C0; &amp;#xBC29;&amp;#xC2DD;&amp;#xC774; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xD754;&amp;#xD788;&amp;#xB4E4; &amp;#xB9CE;&amp;#xC774; &amp;#xB4E4;&amp;#xC5B4;&amp;#xBD24;&amp;#xC744; Scale Up&amp;#xACFC; Scale Out&amp;#xC774; &amp;#xC774;&amp;#xC5D0; &amp;#xD574;&amp;#xB2F9;&amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Scale Up
&lt;ul&gt;
&lt;li&gt;&amp;#xC218;&amp;#xC9C1;&amp;#xC801; &amp;#xADDC;&amp;#xBAA8; &amp;#xD655;&amp;#xC7A5; &amp;#xD504;&amp;#xB85C;&amp;#xC138;&amp;#xC2A4;&lt;/li&gt;
&lt;li&gt;&amp;#xACE0;&amp;#xC0AC;&amp;#xC591; &amp;#xC790;&amp;#xC6D0;(&amp;#xB354; &amp;#xC88B;&amp;#xC740; CPU, &amp;#xB354; &amp;#xB9CE;&amp;#xC740; RAM)&amp;#xC744; &amp;#xCD94;&amp;#xAC00;&amp;#xD558;&amp;#xC5EC; &amp;#xC131;&amp;#xB2A5;&amp;#xC744; &amp;#xAC1C;&amp;#xC120;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Scale Out
&lt;ul&gt;
&lt;li&gt;&amp;#xC218;&amp;#xD3C9;&amp;#xC801; &amp;#xADDC;&amp;#xBAA8; &amp;#xD655;&amp;#xC7A5; &amp;#xD504;&amp;#xB85C;&amp;#xC138;&amp;#xC2A4;&lt;/li&gt;
&lt;li&gt;&amp;#xB354; &amp;#xB9CE;&amp;#xC740; &amp;#xC11C;&amp;#xBC84;&amp;#xB97C; &amp;#xCD94;&amp;#xAC00;&amp;#xD558;&amp;#xC5EC; &amp;#xC131;&amp;#xB2A5;&amp;#xC744; &amp;#xAC1C;&amp;#xC120;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Scale Up&amp;#xC740; &amp;#xC11C;&amp;#xBC84;&amp;#xC758; &amp;#xC2A4;&amp;#xD399;&amp;#xC744; &amp;#xB192;&amp;#xC774;&amp;#xB294; &amp;#xAC83;&amp;#xC744; &amp;#xB9D0;&amp;#xD558;&amp;#xB294; &amp;#xAC83;&amp;#xC774;&amp;#xACE0;, Scale Out&amp;#xC740; &amp;#xC5EC;&amp;#xB7EC; &amp;#xC11C;&amp;#xBC84;&amp;#xB97C; &amp;#xBB36;&amp;#xC5B4;&amp;#xC11C; &amp;#xD558;&amp;#xB098;&amp;#xC758; &amp;#xC11C;&amp;#xBE44;&amp;#xC2A4;&amp;#xB97C; &amp;#xCC98;&amp;#xB9AC;&amp;#xD558;&amp;#xB3C4;&amp;#xB85D; &amp;#xD558;&amp;#xB294; &amp;#xAC83;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;Scale Up &amp;#xBC29;&amp;#xC2DD;&amp;#xC73C;&amp;#xB85C; &amp;#xADDC;&amp;#xBAA8;&amp;#xB97C; &amp;#xD655;&amp;#xC7A5;&amp;#xD558;&amp;#xB294; &amp;#xAC83;&amp;#xC740; &amp;#xBE44;&amp;#xC6A9;&amp;#xB3C4; &amp;#xBE44;&amp;#xC2FC;&amp;#xB370;&amp;#xB2E4; &amp;#xD655;&amp;#xC7A5;&amp;#xD558;&amp;#xB294;&amp;#xB370;&amp;#xC5D0; &amp;#xD55C;&amp;#xACC4;&amp;#xAC00; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xB610;, &amp;#xC11C;&amp;#xBC84;&amp;#xC5D0; &amp;#xC7A5;&amp;#xC560;&amp;#xAC00; &amp;#xBC1C;&amp;#xC0DD;&amp;#xD588;&amp;#xC744;&amp;#xC2DC; &amp;#xBAA8;&amp;#xB4E0; &amp;#xC11C;&amp;#xBE44;&amp;#xC2A4;&amp;#xAC00; &amp;#xB2E4;&amp;#xC6B4;&amp;#xB418;&amp;#xAC8C; &amp;#xB418;&amp;#xB294; SPOF &amp;#xC704;&amp;#xD5D8;&amp;#xC131;&amp;#xC774; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.(&lt;strong&gt;S&lt;/strong&gt;ingle &lt;strong&gt;P&lt;/strong&gt;oint &lt;strong&gt;O&lt;/strong&gt;f &lt;strong&gt;F&lt;/strong&gt;ailure)&lt;/p&gt;
&lt;p&gt;&amp;#xB530;&amp;#xB77C;&amp;#xC11C;, &amp;#xC11C;&amp;#xBC84; &amp;#xD655;&amp;#xC7A5;&amp;#xC744; &amp;#xC704;&amp;#xD574;&amp;#xC11C;&amp;#xB294; Scale out &amp;#xBC29;&amp;#xC2DD;&amp;#xC740; &amp;#xD544;&amp;#xC218;&amp;#xC801;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;#xC11C;&amp;#xBC84; &amp;#xC7A5;&amp;#xC560; &amp;#xBC1C;&amp;#xC0DD;&amp;#xC5D0; &amp;#xB300;&amp;#xD55C; &amp;#xB300;&amp;#xCC45; &amp;#xBC29;&amp;#xC548;&amp;#xC73C;&amp;#xB85C;&amp;#xB294; &lt;strong&gt;&amp;#xC790;&amp;#xB3D9;&amp;#xBCF5;&amp;#xAD6C;(failover), &amp;#xB2E4;&amp;#xC911;&amp;#xD654;(redundancy)&lt;/strong&gt; &amp;#xAC00; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;br&gt;
&lt;p&gt;&amp;#xADF8;&amp;#xB7EC;&amp;#xBA74; &amp;#xC774;&amp;#xC81C;, &amp;#xC6F9;&amp;#xC11C;&amp;#xBC84;&amp;#xB97C; Scale Out&amp;#xD558;&amp;#xB294; &amp;#xBC29;&amp;#xBC95;&amp;#xACFC; &amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xBCA0;&amp;#xC774;&amp;#xC2A4;&amp;#xB97C; Scale Out&amp;#xD558;&amp;#xB294; &amp;#xBC29;&amp;#xBC95;&amp;#xC744; &amp;#xC54C;&amp;#xC544;&amp;#xBD05;&amp;#xC2DC;&amp;#xB2E4;.&lt;/p&gt;
&lt;hr&gt;
&lt;h3 class=&quot;mume-header&quot; id=&quot;div-ida02-12-%EC%9B%B9-%EA%B3%84%EC%B8%B5-scale-outdiv&quot;&gt;&lt;div id=&quot;a02-1&quot;&gt;2. &amp;#xC6F9; &amp;#xACC4;&amp;#xCE35; Scale Out&lt;/div&gt;&lt;/h3&gt;

&lt;p&gt;&amp;#xB2E8;&amp;#xC77C; &amp;#xC11C;&amp;#xBC84;&amp;#xC5D0;&amp;#xC11C;&amp;#xB294; &amp;#xC6F9; &amp;#xC11C;&amp;#xBE44;&amp;#xC2A4;&amp;#xB97C; &amp;#xC704;&amp;#xD55C; &amp;#xC11C;&amp;#xBC84;&amp;#xAC00; &amp;#xB2E8; &amp;#xD55C;&amp;#xB300;&amp;#xC774;&amp;#xBA70;, &amp;#xC0AC;&amp;#xC6A9;&amp;#xC790;&amp;#xAC00; &amp;#xC9C1;&amp;#xC811;&amp;#xC801;&amp;#xC73C;&amp;#xB85C; &amp;#xC11C;&amp;#xBC84;&amp;#xC5D0; &amp;#xC811;&amp;#xADFC;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xB530;&amp;#xB77C;&amp;#xC11C;, &amp;#xADF8; &amp;#xC11C;&amp;#xBC84;&amp;#xC5D0;&amp;#xC11C; &amp;#xC7A5;&amp;#xC560;&amp;#xAC00; &amp;#xBC1C;&amp;#xC0DD;&amp;#xD588;&amp;#xC744; &amp;#xB54C; &amp;#xC6F9;&amp;#xC0AC;&amp;#xC774;&amp;#xD2B8;&amp;#xC5D0; &amp;#xC811;&amp;#xC18D;&amp;#xD558;&amp;#xC9C0; &amp;#xBABB;&amp;#xD558;&amp;#xB294; &amp;#xBB38;&amp;#xC81C;&amp;#xC810;&amp;#xC774; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;#xB2E8;&amp;#xC21C;&amp;#xD558;&amp;#xAC8C; &amp;#xC6F9;&amp;#xC11C;&amp;#xBC84;&amp;#xAC00; &amp;#xB2E4;&amp;#xC6B4;&amp;#xB418;&amp;#xC5C8;&amp;#xAC70;&amp;#xB098;&lt;br&gt;
&amp;#xC751;&amp;#xB2F5;&amp;#xC18D;&amp;#xB3C4;&amp;#xAC00; &amp;#xB290;&amp;#xB824;&amp;#xC9C0;&amp;#xB294; &amp;#xACBD;&amp;#xC6B0; &amp;#xACBD;&amp;#xC6B0; (&amp;#xB108;&amp;#xBB34; &amp;#xB9CE;&amp;#xC740; &amp;#xC0AC;&amp;#xC6A9;&amp;#xC790;&amp;#xAC00; &amp;#xC811;&amp;#xC18D;&amp;#xD558;&amp;#xC5EC; &amp;#xC6F9;&amp;#xC11C;&amp;#xBC84;&amp;#xAC00; &amp;#xD55C;&amp;#xACC4;&amp;#xC5D0; &amp;#xB3C4;&amp;#xB2EC;)&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&amp;#xADF8;&amp;#xB807;&amp;#xAE30; &amp;#xB54C;&amp;#xBB38;&amp;#xC5D0; &amp;#xC218;&amp;#xBC31;&amp;#xB9CC; &amp;#xC0AC;&amp;#xC6A9;&amp;#xC790;&amp;#xAC00; &amp;#xC774;&amp;#xC6A9;&amp;#xD558;&amp;#xB294; &amp;#xC2DC;&amp;#xC2A4;&amp;#xD15C;&amp;#xC744; &amp;#xC124;&amp;#xACC4;&amp;#xD558;&amp;#xB294;&amp;#xB370;&amp;#xC5D0;&amp;#xC11C; &amp;#xC6F9; &amp;#xACC4;&amp;#xCE35;&amp;#xC5D0;&amp;#xC11C;&amp;#xC758; &amp;#xBD80;&amp;#xD558; &amp;#xBD84;&amp;#xC0B0;&amp;#xC740; &amp;#xD544;&amp;#xC218;&amp;#xC801;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;br&gt;
&lt;h4 class=&quot;mume-header&quot; id=&quot;21-%EB%A1%9C%EB%93%9C%EB%B0%B8%EB%9F%B0%EC%84%9C&quot;&gt;2.1. &amp;#xB85C;&amp;#xB4DC;&amp;#xBC38;&amp;#xB7F0;&amp;#xC11C;&lt;/h4&gt;

&lt;p&gt;&amp;#xC6F9; &amp;#xACC4;&amp;#xCE35;&amp;#xC744; Scale Out&amp;#xD558;&amp;#xAE30; &amp;#xC704;&amp;#xD55C; &amp;#xBC29;&amp;#xBC95;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xB85C;&amp;#xB4DC;&amp;#xBC38;&amp;#xB7F0;&amp;#xC11C;&amp;#xB294; &amp;#xC6F9;&amp;#xC11C;&amp;#xBC84;&amp;#xB4E4;&amp;#xC758; &amp;#xD2B8;&amp;#xB798;&amp;#xD53D; &amp;#xBD80;&amp;#xD558;&amp;#xB97C; &amp;#xBD84;&amp;#xC0B0;&amp;#xD558;&amp;#xB294; &amp;#xC5ED;&amp;#xD560;&amp;#xC744; &amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&lt;strong&gt;&amp;#xC6F9; &amp;#xACC4;&amp;#xCE35;&lt;/strong&gt;&amp;#xC5D0;&amp;#xC11C; &amp;#xBC1C;&amp;#xC0DD;&amp;#xB418;&amp;#xB294; &amp;#xC7A5;&amp;#xC560;&amp;#xB97C; &amp;#xD574;&amp;#xACB0;&amp;#xD558;&amp;#xAE30; &amp;#xC704;&amp;#xD55C; &amp;#xBC29;&amp;#xBC95;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://raw.githubusercontent.com/jiniya22/image_box/master/Book/System%20Design/01-1.png&quot; alt=&quot;01-1&quot;&gt;&lt;/p&gt;
&lt;p&gt;&amp;#xC0AC;&amp;#xC6A9;&amp;#xC790;&amp;#xAC00; &amp;#xC6F9;&amp;#xC0AC;&amp;#xC774;&amp;#xD2B8;&amp;#xC5D0; &amp;#xC811;&amp;#xC18D;&amp;#xD558;&amp;#xACE0;&amp;#xC790; &amp;#xD560;&amp;#xB54C;, &amp;#xC6F9;&amp;#xC11C;&amp;#xBC84;&amp;#xB85C; &amp;#xC9C1;&amp;#xC811; &amp;#xC811;&amp;#xC18D;&amp;#xD558;&amp;#xC9C0; &amp;#xC54A;&amp;#xACE0; &amp;#xB85C;&amp;#xB4DC;&amp;#xBC38;&amp;#xB7F0;&amp;#xC11C;&amp;#xB85C; &amp;#xC811;&amp;#xC18D;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xB85C;&amp;#xB4DC;&amp;#xBC38;&amp;#xB7F0;&amp;#xC11C;&amp;#xC5D0; &amp;#xC5EC;&amp;#xB7EC; &amp;#xC11C;&amp;#xBC84;&amp;#xB97C; &amp;#xC5F0;&amp;#xACB0;&amp;#xD558;&amp;#xC5EC; &amp;#xC6F9;/&amp;#xBAA8;&amp;#xBC14;&amp;#xC77C; &amp;#xD2B8;&amp;#xB798;&amp;#xD53D;&amp;#xC744; &amp;#xBD84;&amp;#xC0B0;&amp;#xD558;&amp;#xC5EC; &amp;#xCC98;&amp;#xB9AC;&amp;#xD558;&amp;#xAE30; &amp;#xB54C;&amp;#xBB38;&amp;#xC5D0;, &amp;#xC11C;&amp;#xBC84; &amp;#xD558;&amp;#xB098;&amp;#xAC00; &amp;#xC8FD;&amp;#xB354;&amp;#xB77C;&amp;#xB3C4; &amp;#xB2E4;&amp;#xB978; &amp;#xC11C;&amp;#xBC84;&amp;#xB4E4;&amp;#xC774; &amp;#xD2B8;&amp;#xB798;&amp;#xD53D;&amp;#xC744; &amp;#xBC1B;&amp;#xC544; &lt;strong&gt;&amp;#xC0AC;&amp;#xC774;&amp;#xD2B8;&amp;#xAC00; &amp;#xB2E4;&amp;#xC6B4;&amp;#xB418;&amp;#xB294; &amp;#xC77C;&amp;#xC744; &amp;#xBC29;&amp;#xC9C0;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.(&amp;#xAC00;&amp;#xC6A9;&amp;#xC131; &amp;#xC99D;&amp;#xAC00;)&lt;/strong&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;#xC11C;&amp;#xBC84;&amp;#xC5D0; &amp;#xC720;&amp;#xC785;&amp;#xB418;&amp;#xB294; &amp;#xD2B8;&amp;#xB798;&amp;#xD53D;&amp;#xC774; &amp;#xC77C;&amp;#xC2DC;&amp;#xC801;&amp;#xC73C;&amp;#xB85C; &amp;#xB192;&amp;#xC544;&amp;#xC9C0;&amp;#xB294; &amp;#xAE30;&amp;#xAC04;&amp;#xC774; &amp;#xC788;&amp;#xB2E4;&amp;#xBA74; &amp;#xB85C;&amp;#xB4DC;&amp;#xBC38;&amp;#xB7F0;&amp;#xC11C;&amp;#xC5D0; &amp;#xC11C;&amp;#xBC84;&amp;#xB97C; &amp;#xB354; &amp;#xCD94;&amp;#xAC00;&amp;#xD558;&amp;#xC5EC; &amp;#xC7A5;&amp;#xC560;&amp;#xB97C; &amp;#xC904;&amp;#xC77C; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&amp;#xB610;, &amp;#xB85C;&amp;#xB4DC;&amp;#xBC38;&amp;#xB7F0;&amp;#xC11C;&amp;#xC5D0; &amp;#xC5F0;&amp;#xACB0;&amp;#xB41C; &amp;#xC11C;&amp;#xBC84;&amp;#xB4E4;&amp;#xC744; &amp;#xAC19;&amp;#xC740; &amp;#xB124;&amp;#xD2B8;&amp;#xC6CC;&amp;#xD06C;&amp;#xC5D0; &amp;#xAD6C;&amp;#xC131;&amp;#xD558;&amp;#xC5EC;, private ip&amp;#xB85C; &amp;#xC124;&amp;#xC815;&amp;#xD558;&amp;#xBA74; &amp;#xC678;&amp;#xBD80;&amp;#xC5D0;&amp;#xC11C; server&amp;#xB85C; &amp;#xC9C1;&amp;#xC811; &amp;#xC811;&amp;#xC18D;&amp;#xD558;&amp;#xC9C0; &amp;#xBABB;&amp;#xD558;&amp;#xAC8C; &amp;#xC124;&amp;#xC815;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xACE0;&lt;br&gt;
&amp;#xC774;&amp;#xB97C; &amp;#xD1B5;&amp;#xD574; &lt;strong&gt;&amp;#xBCF4;&amp;#xC548;&amp;#xC744; &amp;#xB192;&amp;#xC77C; &amp;#xC218;&lt;/strong&gt; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;br&gt;
&lt;h4 class=&quot;mume-header&quot; id=&quot;div-ida02-232-statelessdiv&quot;&gt;&lt;div id=&quot;a02-2&quot;&gt;3.2. stateless&lt;/div&gt;&lt;/h4&gt;

&lt;p&gt;&lt;mark&gt;&amp;#xC6F9; &amp;#xACC4;&amp;#xCE35;&amp;#xC744; Scale Out &amp;#xD558;&amp;#xAE30; &amp;#xC704;&amp;#xD574;&amp;#xC11C;&amp;#xB294;, &amp;#xD558;&amp;#xB098;&amp;#xC758; &amp;#xC694;&amp;#xCCAD;&amp;#xC774; &amp;#xC5B4;&amp;#xB290; &amp;#xC11C;&amp;#xBC84;&amp;#xC5D0;&amp;#xC11C; &amp;#xC2E4;&amp;#xD589;&amp;#xB418;&amp;#xB4E0; &amp;#xB3D9;&amp;#xC77C;&amp;#xD558;&amp;#xAC8C; &amp;#xB3D9;&amp;#xC791;&amp;#xB418;&amp;#xC5B4;&amp;#xC57C; &amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/mark&gt;&lt;/p&gt;
&lt;p&gt;&amp;#xC774;&amp;#xC804;&amp;#xC5D0; &amp;#xC138;&amp;#xC158;&amp;#xC744; &amp;#xC774;&amp;#xC6A9;&amp;#xD558;&amp;#xC5EC; &amp;#xC0AC;&amp;#xC6A9;&amp;#xC790; &amp;#xC815;&amp;#xBCF4;&amp;#xB97C; &amp;#xC11C;&amp;#xBC84;&amp;#xC5D0; &amp;#xC800;&amp;#xC7A5;&amp;#xD558;&amp;#xB358; &amp;#xBD80;&amp;#xBD84;&amp;#xC5D0;&amp;#xC11C;, &amp;#xC0AC;&amp;#xC6A9;&amp;#xC790; &amp;#xC815;&amp;#xBCF4;&amp;#xB294; client&amp;#xAC00; &amp;#xAC00;&amp;#xC9C0;&amp;#xACE0; &amp;#xC788;&amp;#xB294; &amp;#xBC29;&amp;#xC2DD;&amp;#xC73C;&amp;#xB85C; &amp;#xBCC0;&amp;#xACBD;&amp;#xC774; &amp;#xB418;&amp;#xC5B4;&amp;#xC57C; &amp;#xD558;&amp;#xBA70;&lt;br&gt;
&amp;#xAC01; &amp;#xC694;&amp;#xCCAD;&amp;#xB4E4;&amp;#xC740; &amp;#xBB34;&amp;#xC0C1;&amp;#xD0DC;(stateless) &amp;#xB85C; &amp;#xB9CC;&amp;#xB4E4;&amp;#xC5B4;&amp;#xC57C; &amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;request&amp;#xC5D0; session&amp;#xACFC; &amp;#xAC19;&amp;#xC740; &amp;#xC0C1;&amp;#xD0DC;&amp;#xC815;&amp;#xBCF4;&amp;#xAC00; &amp;#xC788;&amp;#xC744; &amp;#xACBD;&amp;#xC6B0;, &amp;#xC11C;&amp;#xBC84; &amp;#xD558;&amp;#xB098;&amp;#xC5D0; &amp;#xC758;&amp;#xC874;&amp;#xC801;&amp;#xC778; &amp;#xAD6C;&amp;#xC870;&amp;#xAC00; &amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xB85C;&amp;#xB4DC;&amp;#xBC38;&amp;#xB7F0;&amp;#xC11C;&amp;#xB97C; &amp;#xAD6C;&amp;#xC131;&amp;#xD588;&amp;#xC744; &amp;#xB54C; &amp;#xC138;&amp;#xC158;&amp;#xC815;&amp;#xBCF4;&amp;#xB97C; &amp;#xD65C;&amp;#xC6A9;&amp;#xD558;&amp;#xAE30; &amp;#xC704;&amp;#xD574; &amp;#xACE0;&amp;#xC815;&amp;#xC138;&amp;#xC158; &amp;#xAE30;&amp;#xB2A5;&amp;#xC744; &amp;#xD65C;&amp;#xC6A9;&amp;#xD560;&amp;#xC218;&amp;#xB3C4; &amp;#xC788;&amp;#xC73C;&amp;#xB098;, &amp;#xC774;&amp;#xB7F4; &amp;#xACBD;&amp;#xC6B0; &amp;#xB85C;&amp;#xB4DC;&amp;#xBC38;&amp;#xB7F0;&amp;#xC11C;&amp;#xC758; &amp;#xBD80;&amp;#xB2F4;&amp;#xB3C4; &amp;#xCEE4;&amp;#xC9C0;&amp;#xBA70;, &amp;#xC11C;&amp;#xBC84; &amp;#xC7A5;&amp;#xC560; &amp;#xBC1C;&amp;#xC0DD;&amp;#xC2DC; &amp;#xB2E4;&amp;#xB978; &amp;#xC11C;&amp;#xBC84;&amp;#xC5D0;&amp;#xC11C; &amp;#xC694;&amp;#xCCAD;&amp;#xC744; &amp;#xCC98;&amp;#xB9AC;&amp;#xD560; &amp;#xC218; &amp;#xC5C6;&amp;#xAC8C; &amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xB530;&amp;#xB77C;&amp;#xC11C;, &amp;#xC6F9; &amp;#xACC4;&amp;#xCE35;&amp;#xC744; &amp;#xC218;&amp;#xD3C9;&amp;#xC801;&amp;#xC73C;&amp;#xB85C; &amp;#xD655;&amp;#xC7A5;&amp;#xD558;&amp;#xAE30; &amp;#xC704;&amp;#xD574;&amp;#xC11C;&amp;#xB294; stateless &amp;#xC544;&amp;#xD0A4;&amp;#xD14D;&amp;#xCC98;&amp;#xB85C; &amp;#xAD6C;&amp;#xC131;&amp;#xD558;&amp;#xB294; &amp;#xAC83;&amp;#xC740; &amp;#xD544;&amp;#xC218;&amp;#xC801;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xC6F9;&amp;#xC11C;&amp;#xBC84;&amp;#xB97C; stateless &amp;#xC544;&amp;#xD0A4;&amp;#xD14D;&amp;#xCC98;&amp;#xB85C; &amp;#xAD6C;&amp;#xC131;&amp;#xD558;&amp;#xBA74;, &amp;#xC0AC;&amp;#xC6A9;&amp;#xC790;&amp;#xAC00; &amp;#xB85C;&amp;#xB4DC;&amp;#xBC38;&amp;#xB7F0;&amp;#xC11C;&amp;#xC5D0; &amp;#xC124;&amp;#xC815;&amp;#xB41C; &amp;#xC11C;&amp;#xBC84; &amp;#xC911; &amp;#xD2B9;&amp;#xC815; &amp;#xC11C;&amp;#xBC84;&amp;#xC640;&amp;#xB9CC; &amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xB97C; &amp;#xC1A1;&amp;#xC218;&amp;#xC2E0;&amp;#xD558;&amp;#xC9C0; &amp;#xC54A;&amp;#xC544;&amp;#xB3C4; &amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
http request&amp;#xB294; &amp;#xB85C;&amp;#xB4DC;&amp;#xBC38;&amp;#xB7F0;&amp;#xC11C; &amp;#xB0B4;&amp;#xC758; &amp;#xC5B4;&amp;#xB290; &amp;#xC11C;&amp;#xBC84;&amp;#xB85C;&amp;#xB4E0; &amp;#xC804;&amp;#xC1A1;&amp;#xB418;&amp;#xC5B4;&amp;#xB3C4; &amp;#xB418;&amp;#xACE0;, &amp;#xB9CC;&amp;#xC77C; &amp;#xC0C1;&amp;#xD0DC;&amp;#xC815;&amp;#xBCF4;&amp;#xAC00; &amp;#xD544;&amp;#xC694;&amp;#xD560; &amp;#xACBD;&amp;#xC6B0;&amp;#xC5D0;&amp;#xB294; &amp;#xC6F9;&amp;#xC11C;&amp;#xBC84;&amp;#xAC00; &amp;#xC544;&amp;#xB2CC; &lt;strong&gt;shared storage(&amp;#xACF5;&amp;#xC720;&amp;#xC800;&amp;#xC7A5;&amp;#xC18C;)&lt;/strong&gt; &amp;#xB85C;&amp;#xBD80;&amp;#xD130; &amp;#xAC00;&amp;#xC838;&amp;#xC635;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;#xC989;, &amp;#xC0C1;&amp;#xD0DC;&amp;#xC815;&amp;#xBCF4;&amp;#xB294; &amp;#xC6F9;&amp;#xC11C;&amp;#xBC84;&amp;#xB85C;&amp;#xBD80;&amp;#xD130; &amp;#xBB3C;&amp;#xB9AC;&amp;#xC801;&amp;#xC73C;&amp;#xB85C; &amp;#xBD84;&amp;#xB9AC;&amp;#xB41C; &amp;#xC0C1;&amp;#xD0DC;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&amp;#xC0AC;&amp;#xC6A9;&amp;#xC790; &amp;#xC0C1;&amp;#xD0DC;&amp;#xC815;&amp;#xBCF4;&amp;#xB294; database, cache(memcached, redis) &amp;#xB4F1;&amp;#xC5D0; &amp;#xC800;&amp;#xC7A5;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;br&gt;
&lt;h4 class=&quot;mume-header&quot; id=&quot;div-ida02-323-%EB%A9%94%EC%8B%9C%EC%A7%80-%ED%81%90div&quot;&gt;&lt;div id=&quot;a02-3&quot;&gt;2.3. &amp;#xBA54;&amp;#xC2DC;&amp;#xC9C0; &amp;#xD050;&lt;/div&gt;&lt;/h4&gt;

&lt;p&gt;&amp;#xBA54;&amp;#xC2DC;&amp;#xC9C0; &amp;#xD050;&amp;#xB294; &amp;#xBA54;&amp;#xC2DC;&amp;#xC9C0;&amp;#xC758; &amp;#xBB34;&amp;#xC190;&amp;#xC2E4;(durability)&amp;#xC744; &amp;#xBCF4;&amp;#xC7A5;&amp;#xD558;&amp;#xB294; &amp;#xBE44;&amp;#xB3D9;&amp;#xAE30; &amp;#xD1B5;&amp;#xC2E0; &amp;#xCEF4;&amp;#xD3EC;&amp;#xB10C;&amp;#xD2B8;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://raw.githubusercontent.com/jiniya22/image_box/master/Book/System%20Design/01-4.png&quot; alt=&quot;01-4&quot;&gt;&lt;/p&gt;
&lt;p&gt;&amp;#xC0DD;&amp;#xC0B0;&amp;#xC790;(Producer) &amp;#xC785;&amp;#xB825; &amp;#xC11C;&amp;#xBE44;&amp;#xC2A4;&amp;#xAC00; &amp;#xBA54;&amp;#xC2DC;&amp;#xC9C0;&amp;#xB97C; &amp;#xB9CC;&amp;#xB4E4;&amp;#xC5B4; &amp;#xBA54;&amp;#xC2DC;&amp;#xC9C0; &amp;#xD050;&amp;#xC5D0; &amp;#xBC1C;&amp;#xD589;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;(publish)&lt;br&gt;
&amp;#xBA54;&amp;#xC2DC;&amp;#xC9C0;&amp;#xD050;&amp;#xB294; &amp;#xC5F0;&amp;#xACB0;&amp;#xB418;&amp;#xC5B4;&amp;#xC788;&amp;#xB294; &amp;#xC18C;&amp;#xBE44;&amp;#xC790;(Consumer) &amp;#xC11C;&amp;#xBE44;&amp;#xC2A4;&amp;#xC5D0;&amp;#xAC8C; &amp;#xBA54;&amp;#xC2DC;&amp;#xC9C0;&amp;#xC5D0; &amp;#xB4E4;&amp;#xC5B4;&amp;#xC788;&amp;#xB294; &amp;#xB3D9;&amp;#xC791;&amp;#xC744; &amp;#xC218;&amp;#xD589;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&amp;#xC11C;&amp;#xBE44;&amp;#xC2A4;(&amp;#xB610;&amp;#xB294; &amp;#xC11C;&amp;#xBC84;) &amp;#xAC04; &amp;#xACB0;&amp;#xD569;&amp;#xC774; &amp;#xB290;&amp;#xC2A8;&amp;#xD574;&amp;#xC838;&amp;#xC11C;(loosely coupled) &amp;#xADDC;&amp;#xBAA8;&amp;#xB97C; &amp;#xD655;&amp;#xC7A5;&amp;#xD558;&amp;#xB294;&amp;#xB370;&amp;#xC5D0; &amp;#xB3C4;&amp;#xC6C0;&amp;#xC774; &amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;/li&gt;
&lt;li&gt;&amp;#xC0DD;&amp;#xC0B0;&amp;#xC790;&amp;#xC640; &amp;#xC18C;&amp;#xBE44;&amp;#xC790;&amp;#xB294; &amp;#xAC01;&amp;#xAC01; &amp;#xB3C5;&amp;#xB9BD;&amp;#xC801;&amp;#xC774;&amp;#xAE30; &amp;#xB54C;&amp;#xBB38;&amp;#xC5D0; &amp;#xB458;&amp;#xC911; &amp;#xD558;&amp;#xB098;&amp;#xAC00; &amp;#xB2E4;&amp;#xC6B4;&amp;#xB41C; &amp;#xC0C1;&amp;#xD0DC;&amp;#xC5EC;&amp;#xB3C4; &amp;#xAC01; &amp;#xAE30;&amp;#xB2A5;&amp;#xC5D0; &amp;#xC601;&amp;#xD5A5;&amp;#xC744; &amp;#xC8FC;&amp;#xC9C0; &amp;#xC54A;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.
&lt;ol&gt;
&lt;li&gt;&amp;#xC18C;&amp;#xBE44;&amp;#xC790;&amp;#xAC00; &amp;#xB2E4;&amp;#xC6B4;&amp;#xB418;&amp;#xC5B4;&amp;#xB3C4; &amp;#xC0DD;&amp;#xC0B0;&amp;#xC790;&amp;#xC758; &amp;#xBA54;&amp;#xC2DC;&amp;#xC9C0; &amp;#xBC1C;&amp;#xD589;&amp;#xC740; &amp;#xC815;&amp;#xC0C1;&amp;#xC801;&amp;#xC73C;&amp;#xB85C; &amp;#xC774;&amp;#xB904;&amp;#xC9D1;&amp;#xB2C8;&amp;#xB2E4;.&lt;/li&gt;
&lt;li&gt;&amp;#xC0DD;&amp;#xC0B0;&amp;#xC790;&amp;#xAC00; &amp;#xB2E4;&amp;#xC6B4;&amp;#xB418;&amp;#xC5B4;&amp;#xB3C4; &amp;#xC18C;&amp;#xBE44;&amp;#xC790;&amp;#xB294; &amp;#xBA54;&amp;#xC2DC;&amp;#xC9C0;&amp;#xB97C; &amp;#xC218;&amp;#xC2E0;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;br&gt;
&lt;p&gt;&amp;#xB9CC;&amp;#xC57D; &amp;#xC5B4;&amp;#xB5A4; &amp;#xC791;&amp;#xC5C5;&amp;#xC774; &amp;#xC644;&amp;#xB8CC;&amp;#xB418;&amp;#xAE30; &amp;#xAE4C;&amp;#xC9C0; &amp;#xC624;&amp;#xB798; &amp;#xAC78;&amp;#xB9AC;&amp;#xC9C0;&amp;#xB9CC;, &amp;#xB2E4;&amp;#xC74C; &amp;#xC791;&amp;#xC5C5;&amp;#xC744; &amp;#xC9C4;&amp;#xD589;&amp;#xD558;&amp;#xB294; &amp;#xB370;&amp;#xC5D0; &amp;#xC788;&amp;#xC5B4;&amp;#xC11C; &amp;#xADF8; &amp;#xC791;&amp;#xC5C5;&amp;#xC758; &amp;#xACB0;&amp;#xACFC;&amp;#xB97C; &amp;#xB2F9;&amp;#xC7A5; &amp;#xBC1B;&amp;#xC9C0; &amp;#xC54A;&amp;#xC544;&amp;#xB3C4; &amp;#xB41C;&amp;#xB2E4;&amp;#xBA74;, &amp;#xBA54;&amp;#xC2DC;&amp;#xC9C0; &amp;#xD050;&amp;#xB97C; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD574;&amp;#xBCF4;&amp;#xB294; &amp;#xAC83;&amp;#xC744; &amp;#xCD94;&amp;#xCC9C;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xAD00;&amp;#xB828; &amp;#xB0B4;&amp;#xC6A9;&amp;#xC740; &amp;#xC544;&amp;#xB798;&amp;#xC758; &amp;#xADF8;&amp;#xB9BC;&amp;#xC744; &amp;#xBCF4;&amp;#xBA74; &amp;#xC774;&amp;#xD574;&amp;#xD558;&amp;#xAE30;&amp;#xAC00; &amp;#xC26C;&amp;#xC6B8; &amp;#xAC83;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;br&gt;
&lt;p&gt;&amp;#xCCAB; &amp;#xBC88;&amp;#xC9F8; &amp;#xADF8;&amp;#xB9BC;&amp;#xC740; &amp;#xC6B0;&amp;#xB9AC;&amp;#xAC00; &amp;#xD754;&amp;#xD788; &amp;#xB9CE;&amp;#xC774; &amp;#xC774;&amp;#xC6A9;&amp;#xD558;&amp;#xB294; &amp;#xB3D9;&amp;#xAE30;&amp;#xBC29;&amp;#xC2DD;&amp;#xC73C;&amp;#xB85C; API&amp;#xB97C; &amp;#xD638;&amp;#xCD9C;&amp;#xD558;&amp;#xB294; A, B, C &amp;#xC11C;&amp;#xBE44;&amp;#xC2A4;&amp;#xC5D0;&amp;#xC11C; API&amp;#xB97C; &amp;#xC694;&amp;#xCCAD;&amp;#xD558;&amp;#xACE0; &amp;#xC751;&amp;#xB2F5;&amp;#xBC1B;&amp;#xB294; &amp;#xC608;&amp;#xC2DC; &amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
C&amp;#xC5D0;&amp;#xC11C; &amp;#xC694;&amp;#xCCAD;&amp;#xC744; &amp;#xCC98;&amp;#xB9AC;&amp;#xD558;&amp;#xB358; &amp;#xC911; &amp;#xC5D0;&amp;#xB7EC;&amp;#xAC00; &amp;#xBC1C;&amp;#xC0DD;&amp;#xB420; &amp;#xACBD;&amp;#xC6B0;, B&amp;#xC640; A&amp;#xC5D0;&amp;#xB3C4; &amp;#xC5D0;&amp;#xB7EC;&amp;#xAC00; &amp;#xC804;&amp;#xD30C;&amp;#xB41C;&amp;#xB2E4;&amp;#xB294; &amp;#xB2E8;&amp;#xC810;&amp;#xC774; &amp;#xC788;&amp;#xAE30; &amp;#xB54C;&amp;#xBB38;&amp;#xC5D0; &amp;#xC774; &amp;#xBD80;&amp;#xBD84;&amp;#xC5D0; &amp;#xB300;&amp;#xD574; &amp;#xACE0;&amp;#xB824;&amp;#xD558;&amp;#xBA74;&amp;#xC11C; &amp;#xAC1C;&amp;#xBC1C;&amp;#xC744; &amp;#xC9C4;&amp;#xD589;&amp;#xD574;&amp;#xC57C; &amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;img width=&quot;362&quot; alt=&quot;01-5&quot; src=&quot;https://raw.githubusercontent.com/jiniya22/image_box/master/Book/System%20Design/01-5.png&quot;&gt;
&lt;br&gt;
&lt;p&gt;&amp;#xB450;&amp;#xBC88; &amp;#xC9F8; &amp;#xADF8;&amp;#xB9BC;&amp;#xC5D0;&amp;#xC11C;&amp;#xB294; D, E, F &amp;#xC0AC;&amp;#xC774;&amp;#xC5D0; &amp;#xBA54;&amp;#xC2DC;&amp;#xC9C0; &amp;#xD050;&amp;#xB97C; &amp;#xB450;&amp;#xACE0; &amp;#xC788;&amp;#xACE0;,&lt;br&gt;
D&amp;#xC5D0;&amp;#xC11C; E&amp;#xB85C; &amp;#xC9C1;&amp;#xC811;&amp;#xC801;&amp;#xC73C;&amp;#xB85C; &amp;#xC694;&amp;#xCCAD;&amp;#xC744; &amp;#xBCF4;&amp;#xB0B4;&amp;#xB294; &amp;#xAC83;&amp;#xC774; &amp;#xC544;&amp;#xB2C8;&amp;#xB77C;, &amp;#xC911;&amp;#xAC04;&amp;#xC5D0; &amp;#xC704;&amp;#xCE58;&amp;#xD55C; &amp;#xBA54;&amp;#xC2DC;&amp;#xC9C0; &amp;#xD050;&amp;#xC5D0; &amp;#xC774;&amp;#xBCA4;&amp;#xD2B8;&amp;#xB97C; &amp;#xC8FC;&amp;#xB294; &amp;#xBC29;&amp;#xC2DD;&amp;#xC73C;&amp;#xB85C; &amp;#xAE30;&amp;#xB2A5;&amp;#xC744; &amp;#xCC98;&amp;#xB9AC;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
D&amp;#xB294; &amp;#xC774;&amp;#xBCA4;&amp;#xD2B8; &amp;#xD050;&amp;#xC5D0; &amp;#xC5B4;&amp;#xB5A4; &amp;#xD589;&amp;#xC704;&amp;#xB97C; &amp;#xC801;&amp;#xC7AC;&amp;#xD558;&amp;#xACE0;, E&amp;#xB294; &amp;#xC774;&amp;#xBCA4;&amp;#xD2B8; &amp;#xD050;&amp;#xB85C;&amp;#xBD80;&amp;#xD130; consume&amp;#xC73C;&amp;#xB85C; &amp;#xC774;&amp;#xBCA4;&amp;#xD2B8;&amp;#xB97C; &amp;#xBC1B;&amp;#xC544;&amp;#xC11C; &amp;#xCC98;&amp;#xB9AC;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xC774;&amp;#xB807;&amp;#xAC8C; &amp;#xCC98;&amp;#xB9AC;&amp;#xD560; &amp;#xACBD;&amp;#xC6B0;, &amp;#xB9CC;&amp;#xC77C; D&amp;#xAC00; &amp;#xBB38;&amp;#xC81C;&amp;#xAC00; &amp;#xBC1C;&amp;#xC0DD;&amp;#xD558;&amp;#xC5EC; &amp;#xC11C;&amp;#xBC84;&amp;#xAC00; &amp;#xC815;&amp;#xC0C1;&amp;#xC801;&amp;#xC73C;&amp;#xB85C; &amp;#xB3D9;&amp;#xC791;&amp;#xD558;&amp;#xC9C0; &amp;#xC54A;&amp;#xAC8C; &amp;#xB418;&amp;#xB354;&amp;#xB77C;&amp;#xB3C4; E&amp;#xAC00; &amp;#xC774;&amp;#xBCA4;&amp;#xD2B8;&amp;#xD050;&amp;#xB85C;&amp;#xBD80;&amp;#xD130; &amp;#xC774;&amp;#xBCA4;&amp;#xD2B8;&amp;#xB97C; &amp;#xC18C;&amp;#xBE44;&amp;#xD558;&amp;#xB294; &amp;#xAC83;&amp;#xC5D0; &amp;#xC601;&amp;#xD5A5;&amp;#xC744; &amp;#xC8FC;&amp;#xC9C0; &amp;#xC54A;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.(&amp;#xBC18;&amp;#xB300;&amp;#xC758; &amp;#xACBD;&amp;#xC6B0;&amp;#xB3C4; &amp;#xB9C8;&amp;#xCC2C;&amp;#xAC00;&amp;#xC9C0;&amp;#xB85C; &amp;#xC601;&amp;#xD5A5;&amp;#xC744; &amp;#xC8FC;&amp;#xC9C0; &amp;#xC54A;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.)&lt;/p&gt;
&lt;img width=&quot;522&quot; alt=&quot;01-6&quot; src=&quot;https://raw.githubusercontent.com/jiniya22/image_box/master/Book/System%20Design/01-6.png&quot;&gt;
&lt;br&gt;
&lt;h4 class=&quot;mume-header&quot; id=&quot;div-ida02-424-%EB%A1%9C%EA%B7%B8-%EB%A9%94%ED%8A%B8%EB%A6%AD-%EC%9E%90%EB%8F%99%ED%99%94div&quot;&gt;&lt;div id=&quot;a02-4&quot;&gt;2.4. &amp;#xB85C;&amp;#xADF8;, &amp;#xBA54;&amp;#xD2B8;&amp;#xB9AD;, &amp;#xC790;&amp;#xB3D9;&amp;#xD654;&lt;/div&gt;&lt;/h4&gt;

&lt;p&gt;&amp;#xC6F9; &amp;#xC11C;&amp;#xBC84;&amp;#xAC00; &amp;#xB9CE;&amp;#xC544;&amp;#xC9C4; &amp;#xB9CC;&amp;#xD07C;, &amp;#xC7A5;&amp;#xC560;&amp;#xAC00; &amp;#xBC1C;&amp;#xC0DD;&amp;#xB41C; &amp;#xC11C;&amp;#xBC84;&amp;#xB97C; &amp;#xBAA8;&amp;#xB2C8;&amp;#xD130;&amp;#xB9C1; &amp;#xD558;&amp;#xB294; &amp;#xAE30;&amp;#xB2A5;&amp;#xC774; &amp;#xD544;&amp;#xC218;&amp;#xC801;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xB610;, &amp;#xD558;&amp;#xB098;&amp;#xC758; &amp;#xC11C;&amp;#xBE44;&amp;#xC2A4;&amp;#xB97C; &amp;#xC5EC;&amp;#xB7EC; &amp;#xC11C;&amp;#xBC84;&amp;#xC5D0; &amp;#xBC30;&amp;#xD3EC;&amp;#xD558;&amp;#xB294; CI/CD &amp;#xBD80;&amp;#xBD84;&amp;#xB3C4; &amp;#xBC18;&amp;#xB4DC;&amp;#xC2DC; &amp;#xACE0;&amp;#xB824;&amp;#xD574;&amp;#xC57C;&amp;#xD560; &amp;#xC0AC;&amp;#xD56D;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&amp;#xB85C;&amp;#xADF8;
&lt;ul&gt;
&lt;li&gt;&amp;#xC5D0;&amp;#xB7EC; &amp;#xB85C;&amp;#xADF8;&amp;#xB97C; &amp;#xBAA8;&amp;#xB2C8;&amp;#xD130;&amp;#xB9C1;&lt;/li&gt;
&lt;li&gt;&amp;#xC2DC;&amp;#xC2A4;&amp;#xD15C; &amp;#xC624;&amp;#xB958;&amp;#xB97C; &amp;#xC27D;&amp;#xAC8C; &amp;#xCC3E;&amp;#xC744; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/li&gt;
&lt;li&gt;&amp;#xB85C;&amp;#xADF8;&amp;#xB97C; &amp;#xB2E8;&amp;#xC77C; &amp;#xC11C;&amp;#xBE44;&amp;#xC2A4;&amp;#xB85C; &amp;#xBAA8;&amp;#xC544;&amp;#xC8FC;&amp;#xB294; &amp;#xB3C4;&amp;#xAD6C;&amp;#xB97C; &amp;#xD65C;&amp;#xC6A9;&amp;#xD558;&amp;#xC5EC; &amp;#xB85C;&amp;#xADF8;&amp;#xB97C; &amp;#xAC04;&amp;#xD3B8;&amp;#xD788; &amp;#xC870;&amp;#xD68C;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&amp;#xBA54;&amp;#xD2B8;&amp;#xB9AD;
&lt;ul&gt;
&lt;li&gt;&amp;#xD638;&amp;#xC2A4;&amp;#xD2B8; &amp;#xB2E8;&amp;#xC704; &amp;#xBA54;&amp;#xD2B8;&amp;#xB9AD;
&lt;ul&gt;
&lt;li&gt;CPU, Memory, &amp;#xB514;&amp;#xC2A4;&amp;#xD06C; I/O&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&amp;#xC885;&amp;#xD569; &amp;#xBA54;&amp;#xD2B8;&amp;#xB9AD;
&lt;ul&gt;
&lt;li&gt;&amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xBCA0;&amp;#xC774;&amp;#xC2A4; &amp;#xACC4;&amp;#xCE35;&amp;#xC758; &amp;#xC131;&amp;#xB2A5;, &amp;#xCE90;&amp;#xC2DC; &amp;#xACC4;&amp;#xCE35;&amp;#xC758; &amp;#xC131;&amp;#xD2CD;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&amp;#xD575;&amp;#xC2EC; &amp;#xBE44;&amp;#xC988;&amp;#xB2C8;&amp;#xC2A4; &amp;#xBA54;&amp;#xD2B8;&amp;#xB9AD;
&lt;ul&gt;
&lt;li&gt;daily active user, revenue(&amp;#xC218;&amp;#xC775;), retention(&amp;#xC7AC;&amp;#xBC29;&amp;#xBB38;)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&amp;#xC790;&amp;#xB3D9;&amp;#xD654; &amp;#xB3C4;&amp;#xAD6C;
&lt;ul&gt;
&lt;li&gt;&amp;#xC0DD;&amp;#xC0B0;&amp;#xC131;&amp;#xC744; &amp;#xB192;&amp;#xC774;&amp;#xAE30; &amp;#xC704;&amp;#xD574; &amp;#xD544;&amp;#xC218;&amp;#xC801;&amp;#xC73C;&amp;#xB85C; &amp;#xD544;&amp;#xC694;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/li&gt;
&lt;li&gt;CI(&lt;strong&gt;C&lt;/strong&gt;ontinuous &lt;strong&gt;I&lt;/strong&gt;ntegration, &amp;#xC9C0;&amp;#xC18D;&amp;#xC801; &amp;#xD1B5;&amp;#xD569;)
&lt;ul&gt;
&lt;li&gt;&amp;#xAC1C;&amp;#xBC1C;&amp;#xC790;&amp;#xAC00; &amp;#xB9CC;&amp;#xB4E0; &amp;#xCF54;&amp;#xB4DC;&amp;#xB97C; &amp;#xC790;&amp;#xB3D9;&amp;#xC73C;&amp;#xB85C; &amp;#xC5B4;&amp;#xB5A4; &amp;#xAC80;&amp;#xC99D; &amp;#xC808;&amp;#xCC28;&amp;#xB97C; &amp;#xAC70;&amp;#xCE58;&amp;#xAC8C; &amp;#xD558;&amp;#xC5EC; &amp;#xBB38;&amp;#xC81C;&amp;#xC810;&amp;#xC744; &amp;#xBE60;&amp;#xB974;&amp;#xAC8C; &amp;#xAC10;&amp;#xC9C0;&amp;#xD558;&amp;#xAC8C; &amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&amp;#xBE4C;&amp;#xB4DC;, &amp;#xD14C;&amp;#xC2A4;&amp;#xD2B8;, &amp;#xBC30;&amp;#xD3EC; &amp;#xC808;&amp;#xCC28;&amp;#xB97C; &amp;#xC790;&amp;#xB3D9;&amp;#xD654;&amp;#xD558;&amp;#xC5EC; &amp;#xAC1C;&amp;#xBC1C; &amp;#xC0DD;&amp;#xC0B0;&amp;#xC131;&amp;#xC744; &amp;#xD5A5;&amp;#xC0C1;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;br&gt;
&lt;h3 class=&quot;mume-header&quot; id=&quot;div-ida033-%EB%8D%B0%EC%9D%B4%ED%84%B0-%EA%B3%84%EC%B8%B5-scale-out-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B2%A0%EC%9D%B4%EC%8A%A4-%EB%8B%A4%EC%A4%91%ED%99%94div&quot;&gt;&lt;div id=&quot;a03&quot;&gt;3. &amp;#xB370;&amp;#xC774;&amp;#xD130; &amp;#xACC4;&amp;#xCE35; Scale Out - &amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xBCA0;&amp;#xC774;&amp;#xC2A4; &amp;#xB2E4;&amp;#xC911;&amp;#xD654;&lt;/div&gt;&lt;/h3&gt;

&lt;p&gt;&amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xBCA0;&amp;#xC774;&amp;#xC2A4; &amp;#xB2E4;&amp;#xC911;&amp;#xD654;&amp;#xB294; &amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xBCA0;&amp;#xC774;&amp;#xC2A4; &amp;#xC11C;&amp;#xBC84;&amp;#xB97C; Scale Out&amp;#xD558;&amp;#xB294; &amp;#xBC29;&amp;#xBC95;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;master-slave &amp;#xAD00;&amp;#xACC4;&amp;#xB97C; &amp;#xC124;&amp;#xC815;&amp;#xD558;&amp;#xC5EC; &amp;#xB370;&amp;#xC774;&amp;#xD130; &amp;#xC6D0;&amp;#xBCF8;&amp;#xC740; master &amp;#xC11C;&amp;#xBC84;&amp;#xC5D0;, &amp;#xBCF5;&amp;#xC81C;&amp;#xBCF8;&amp;#xC740; slave &amp;#xC11C;&amp;#xBC84;&amp;#xC5D0; &amp;#xC800;&amp;#xC7A5;&amp;#xD558;&amp;#xB294; &amp;#xBC29;&amp;#xC2DD;&lt;br&gt;
&lt;strong&gt;&amp;#xB370;&amp;#xC774;&amp;#xD130; &amp;#xACC4;&amp;#xCE35;&lt;/strong&gt;&amp;#xC5D0;&amp;#xC11C; &amp;#xBC1C;&amp;#xC0DD;&amp;#xB418;&amp;#xB294; &amp;#xC7A5;&amp;#xC560;&amp;#xB97C; &amp;#xD574;&amp;#xACB0;&amp;#xD558;&amp;#xAE30; &amp;#xC704;&amp;#xD55C; &amp;#xBC29;&amp;#xBC95;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xB370;&amp;#xC774;&amp;#xD130; &amp;#xC6D0;&amp;#xBCF8;&amp;#xC740; master &amp;#xC11C;&amp;#xBC84;&amp;#xC5D0; &amp;#xC800;&amp;#xC7A5;&amp;#xB418;&amp;#xACE0; &amp;#xC0AC;&amp;#xBCF8;&amp;#xC744; slave&amp;#xC5D0; &amp;#xC800;&amp;#xC7A5;&amp;#xD558;&amp;#xB294; &amp;#xBC29;&amp;#xC2DD;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xC77D;&amp;#xAE30; &amp;#xC5F0;&amp;#xC0B0; &amp;#xC678;&amp;#xC758; &amp;#xAE30;&amp;#xB2A5;(&amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xB97C; &amp;#xBCC0;&amp;#xACBD;&amp;#xD558;&amp;#xB294; &amp;#xAE30;&amp;#xB2A5;)&amp;#xC740; master&amp;#xC5D0;&amp;#xC11C;&amp;#xB9CC; &amp;#xC77C;&amp;#xC5B4;&amp;#xB098;&amp;#xACE0;, slave &amp;#xC11C;&amp;#xBC84;&amp;#xC5D0;&amp;#xC11C;&amp;#xB294; read &amp;#xC5F0;&amp;#xC0B0;&amp;#xB9CC; &amp;#xC77C;&amp;#xC5B4;&amp;#xB0A9;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;#xB370;&amp;#xC774;&amp;#xD130; &amp;#xBCC0;&amp;#xB3D9;&amp;#xC744; &amp;#xC77C;&amp;#xC73C;&amp;#xD0A4;&amp;#xB294; &amp;#xC5F0;&amp;#xC0B0;&amp;#xC740; master&amp;#xB85C; &amp;#xC804;&amp;#xB2EC;&amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&amp;#xC560;&amp;#xD50C;&amp;#xB9AC;&amp;#xCF00;&amp;#xC774;&amp;#xC158; &amp;#xC5F0;&amp;#xC0B0;&amp;#xC758; &amp;#xB300;&amp;#xBD80;&amp;#xBD84;&amp;#xC740; &amp;#xC77D;&amp;#xAE30; &amp;#xC5F0;&amp;#xC0B0;(read)&amp;#xC73C;&amp;#xB85C;, &amp;#xC4F0;&amp;#xAE30; &amp;#xC5F0;&amp;#xC0B0;(insert/update/delete)&amp;#xC5D0; &amp;#xBE44;&amp;#xD574; &amp;#xBD80;&amp;#xD558;&amp;#xAC00; &amp;#xB354; &amp;#xD07D;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xC774;&amp;#xC5D0; &amp;#xB530;&amp;#xB77C;, slave &amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xBCA0;&amp;#xC774;&amp;#xC2A4; &amp;#xC218;&amp;#xB97C; master &amp;#xB370;&amp;#xC774;&amp;#xD130; &amp;#xC218;&amp;#xBCF4;&amp;#xB2E4; &amp;#xB9CE;&amp;#xC774; &amp;#xC124;&amp;#xC815;&amp;#xD558;&amp;#xB294; &amp;#xAC83;&amp;#xC774; &amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xBCA0;&amp;#xC774;&amp;#xC2A4; &amp;#xC131;&amp;#xB2A5;&amp;#xC744; &amp;#xB192;&amp;#xC774;&amp;#xAE30;&amp;#xC5D0; &amp;#xC720;&amp;#xB9AC;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://raw.githubusercontent.com/jiniya22/image_box/master/Book/System%20Design/01-2.png&quot; alt=&quot;01-2&quot;&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&amp;#xC131;&amp;#xB2A5;&amp;#xC744; &amp;#xB192;&amp;#xC77C; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.
&lt;ul&gt;
&lt;li&gt;slave &amp;#xC11C;&amp;#xBC84;&amp;#xB97C; &amp;#xC5EC;&amp;#xB7EC;&amp;#xAC1C; &amp;#xB450;&amp;#xAC8C; &amp;#xB418;&amp;#xBA74; &amp;#xC77D;&amp;#xAE30; &amp;#xC5F0;&amp;#xC0B0;&amp;#xC744; &amp;#xBD84;&amp;#xC0B0; &amp;#xCC98;&amp;#xB9AC;&amp;#xD558;&amp;#xAC8C;&amp;#xB418;&amp;#xACE0;, &amp;#xC774;&amp;#xC5D0; &amp;#xB530;&amp;#xB77C; &amp;#xBCD1;&amp;#xB82C;&amp;#xC801;&amp;#xC73C;&amp;#xB85C; &amp;#xCC98;&amp;#xB9AC;&amp;#xB418;&amp;#xB294; &amp;#xCFFC;&amp;#xB9AC; &amp;#xC218;&amp;#xAC00; &amp;#xB298;&amp;#xC5B4;&amp;#xB098; &amp;#xC131;&amp;#xB2A5;&amp;#xC774; &amp;#xB192;&amp;#xC544;&amp;#xC9D1;&amp;#xB2C8;&amp;#xB2E4;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&amp;#xC548;&amp;#xC815;&amp;#xC131;(reliability)
&lt;ul&gt;
&lt;li&gt;&amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xBCA0;&amp;#xC774;&amp;#xC2A4; &amp;#xC11C;&amp;#xBC84;&amp;#xB97C; &amp;#xC5EC;&amp;#xB7EC;&amp;#xC9C0;&amp;#xC5ED;&amp;#xC5D0; &amp;#xB2E4;&amp;#xC911;&amp;#xD654;&amp;#xD560; &amp;#xACBD;&amp;#xC6B0;, &amp;#xC7AC;&amp;#xD574;&amp;#xBC1C;&amp;#xC0DD;&amp;#xC73C;&amp;#xB85C; &amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xAC00; &amp;#xC190;&amp;#xC0C1;&amp;#xB418;&amp;#xC5B4;&amp;#xB3C4; &amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xB294; &amp;#xC548;&amp;#xC804;&amp;#xD558;&amp;#xAC8C; &amp;#xBCF4;&amp;#xC874;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&amp;#xAC00;&amp;#xC6A9;&amp;#xC131;(availability)
&lt;ul&gt;
&lt;li&gt;&amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xBCA0;&amp;#xC774;&amp;#xC2A4;&amp;#xB97C; &amp;#xC5EC;&amp;#xB7EC; &amp;#xACF3;&amp;#xC5D0; &amp;#xBCF5;&amp;#xC81C;&amp;#xD574;&amp;#xB458; &amp;#xACBD;&amp;#xC6B0;, &amp;#xD558;&amp;#xB098;&amp;#xC758; &amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xBCA0;&amp;#xC774;&amp;#xC2A4; &amp;#xC11C;&amp;#xBC84;&amp;#xAC00; &amp;#xC7A5;&amp;#xC560;&amp;#xAC00; &amp;#xBC1C;&amp;#xC0DD;&amp;#xB418;&amp;#xC5B4;&amp;#xB3C4; &amp;#xB2E4;&amp;#xB978; &amp;#xC11C;&amp;#xBC84;&amp;#xC5D0; &amp;#xC788;&amp;#xB294; &amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xB97C; &amp;#xAC00;&amp;#xC838;&amp;#xC640; &amp;#xC11C;&amp;#xBE44;&amp;#xC2A4;&amp;#xB97C; &amp;#xC9C0;&amp;#xC18D;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;IF 1&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&amp;#xB9CC;&amp;#xC77C; slave &amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xBCA0;&amp;#xC774;&amp;#xC2A4; &amp;#xC11C;&amp;#xBC84;&amp;#xC5D0; &amp;#xC7A5;&amp;#xC560;&amp;#xAC00; &amp;#xBC1C;&amp;#xC0DD;&amp;#xB418;&amp;#xC5C8;&amp;#xB294;&amp;#xB370; slave &amp;#xC11C;&amp;#xBC84;&amp;#xAC00; &amp;#xD55C;&amp;#xB300; &amp;#xBFD0;&amp;#xC77C; &amp;#xACBD;&amp;#xC6B0;&amp;#xC5D0;&amp;#xB294; &amp;#xC77C;&amp;#xC2DC;&amp;#xC801;&amp;#xC73C;&amp;#xB85C; &amp;#xBAA8;&amp;#xB4E0; &amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xBCA0;&amp;#xC774;&amp;#xC2A4; &amp;#xC5F0;&amp;#xC0B0;&amp;#xC740; master&amp;#xAC00; &amp;#xC218;&amp;#xD589;&amp;#xD558;&amp;#xAC8C; &amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&lt;br&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;IF 2&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&amp;#xB9CC;&amp;#xC77C;, master &amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xBCA0;&amp;#xC774;&amp;#xC2A4; &amp;#xC11C;&amp;#xBC84;&amp;#xC5D0; &amp;#xC7A5;&amp;#xC560;&amp;#xAC00; &amp;#xBC1C;&amp;#xC0DD;&amp;#xB420; &amp;#xACBD;&amp;#xC6B0;, slave &amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xBCA0;&amp;#xC774;&amp;#xC2A4;&amp;#xC911; &amp;#xD558;&amp;#xB098;&amp;#xB97C; master &amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xBCA0;&amp;#xC774;&amp;#xC2A4; &amp;#xC11C;&amp;#xBC84;&amp;#xB85C; &amp;#xB300;&amp;#xCCB4;&amp;#xD558;&amp;#xC5EC; &amp;#xC5F0;&amp;#xC0B0;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xADF8; &amp;#xB54C;, &amp;#xB9CC;&amp;#xC77C; slave &amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xBCA0;&amp;#xC774;&amp;#xC2A4; &amp;#xC11C;&amp;#xBC84;&amp;#xAC00; &amp;#xD55C;&amp;#xB300; &amp;#xBFD0;&amp;#xC774;&amp;#xC5C8;&amp;#xB2E4;&amp;#xBA74; &amp;#xC0C8;&amp;#xB85C;&amp;#xC6B4; slave &amp;#xC11C;&amp;#xBC84;&amp;#xB97C; &amp;#xC989;&amp;#xC2DC; &amp;#xCD94;&amp;#xAC00;&amp;#xD558;&amp;#xB294;&amp;#xAC8C; &amp;#xC88B;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;production &amp;#xD658;&amp;#xACBD;&amp;#xC5D0;&amp;#xC11C;&amp;#xB77C;&amp;#xBA74;, slave &amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xBCA0;&amp;#xC774;&amp;#xC2A4; &amp;#xC11C;&amp;#xBC84;&amp;#xC5D0; &amp;#xC788;&amp;#xB294; &amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xAC00; &amp;#xCD5C;&amp;#xC2E0; &amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xAC00; &amp;#xC544;&amp;#xB2D0; &amp;#xACBD;&amp;#xC6B0;&amp;#xAC00; &amp;#xC788;&amp;#xAE30; &amp;#xB54C;&amp;#xBB38;&amp;#xC5D0; &amp;#xBCC4;&amp;#xB3C4;&amp;#xC758; &amp;#xCC98;&amp;#xB9AC;&amp;#xB97C; &amp;#xACE0;&amp;#xB824;&amp;#xD574;&amp;#xC57C; &amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xC774; &amp;#xACBD;&amp;#xC6B0;&amp;#xC5D0;&amp;#xB294;, slave &amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xBCA0;&amp;#xC774;&amp;#xC2A4;&amp;#xB97C; master &amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xBCA0;&amp;#xC774;&amp;#xC2A4;&amp;#xB85C; &amp;#xAD50;&amp;#xCCB4;&amp;#xD558;&amp;#xAE30; &amp;#xC804;&amp;#xC5D0; &amp;#xC5C6;&amp;#xB294; &amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xB97C; &amp;#xBCF5;&amp;#xAD6C;&amp;#xD558;&amp;#xAE30; &amp;#xC704;&amp;#xD55C; &amp;#xBCF5;&amp;#xAD6C; &amp;#xC2A4;&amp;#xD06C;&amp;#xB9BD;&amp;#xD2B8;(recovery script)&amp;#xB97C; &amp;#xC2E4;&amp;#xD589;&amp;#xD574;&amp;#xC57C;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;#x203B; &amp;#xB9CC;&amp;#xC77C; multi-master, circular replication &amp;#xB4F1;&amp;#xC744; &amp;#xB3C4;&amp;#xC785;&amp;#xD558;&amp;#xC5EC; master &amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xBCA0;&amp;#xC774;&amp;#xC2A4;&amp;#xB97C; 1&amp;#xAC1C; &amp;#xC774;&amp;#xC0C1;&amp;#xC73C;&amp;#xB85C; &amp;#xC124;&amp;#xC815;&amp;#xD560; &amp;#xACBD;&amp;#xC6B0; master &amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xBCA0;&amp;#xC774;&amp;#xC2A4;&amp;#xC5D0; &amp;#xC7A5;&amp;#xC560;&amp;#xAC00; &amp;#xBC1C;&amp;#xC0DD;&amp;#xB418;&amp;#xB354;&amp;#xB77C;&amp;#xB3C4; &amp;#xC7A5;&amp;#xC560;&amp;#xBCF5;&amp;#xAD6C;&amp;#xAC00; &amp;#xB354; &amp;#xC720;&amp;#xB9AC;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xACA0;&amp;#xC9C0;&amp;#xB9CC;, &amp;#xC774; &amp;#xBD80;&amp;#xBD84;&amp;#xC740; &amp;#xAD6C;&amp;#xC131;&amp;#xC774; &amp;#xB9E4;&amp;#xC6B0; &amp;#xBCF5;&amp;#xC7A1;&amp;#xD574;&amp;#xC11C; &amp;#xC2DC;&amp;#xC2A4;&amp;#xD15C; &amp;#xC124;&amp;#xACC4;&amp;#xC5D0; &amp;#xB09C;&amp;#xC774;&amp;#xB3C4;&amp;#xAC00; &amp;#xB192;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr&gt;
&lt;h3 class=&quot;mume-header&quot; id=&quot;div-ida044-%EB%A1%9C%EB%93%9C%EB%B0%B8%EB%9F%B0%EC%84%9C-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B2%A0%EC%9D%B4%EC%8A%A4-%EB%8B%A4%EC%A4%91%ED%99%94div&quot;&gt;&lt;div id=&quot;a04&quot;&gt;4. &amp;#xB85C;&amp;#xB4DC;&amp;#xBC38;&amp;#xB7F0;&amp;#xC11C; &amp;amp;&amp;amp; &amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xBCA0;&amp;#xC774;&amp;#xC2A4; &amp;#xB2E4;&amp;#xC911;&amp;#xD654;&lt;/div&gt;&lt;/h3&gt;

&lt;p&gt;&lt;img src=&quot;https://raw.githubusercontent.com/jiniya22/image_box/master/Book/System%20Design/01-3.png&quot; alt=&quot;01-3&quot;&gt;&lt;/p&gt;
&lt;p&gt;&amp;#xC77D;&amp;#xAE30;&amp;#xB098; &amp;#xC4F0;&amp;#xAE30;&amp;#xB97C; &amp;#xC2E4;&amp;#xD589;&amp;#xD558;&amp;#xB294; &amp;#xACFC;&amp;#xC815;&amp;#xC740; &amp;#xC544;&amp;#xB798;&amp;#xC640; &amp;#xAC19;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&amp;#xC0AC;&amp;#xC6A9;&amp;#xC790;&amp;#xAC00; DNS &amp;#xC11C;&amp;#xBC84;&amp;#xB85C;&amp;#xBD80;&amp;#xD130; public ip&amp;#xB97C; &amp;#xC804;&amp;#xB2EC;&amp;#xBC1B;&amp;#xB294;&amp;#xB2E4;(public ip&amp;#xB294; &amp;#xB85C;&amp;#xB4DC;&amp;#xBC38;&amp;#xB7F0;&amp;#xC11C; &amp;#xC8FC;&amp;#xC18C;)&lt;/li&gt;
&lt;li&gt;public ip&amp;#xB97C; &amp;#xC774;&amp;#xC6A9;&amp;#xD558;&amp;#xC5EC; &amp;#xB85C;&amp;#xB4DC;&amp;#xBC38;&amp;#xB7F0;&amp;#xC11C;&amp;#xC5D0; &amp;#xC811;&amp;#xC18D;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/li&gt;
&lt;li&gt;&amp;#xB85C;&amp;#xB4DC;&amp;#xBC38;&amp;#xB7F0;&amp;#xC11C;&amp;#xB294; Web Server&amp;#xB4E4; &amp;#xC911; &amp;#xD558;&amp;#xB098;&amp;#xC5D0;&amp;#xAC8C; HTTP request&amp;#xB97C; &amp;#xC804;&amp;#xB2EC;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/li&gt;
&lt;li&gt;&amp;#xC6F9;&amp;#xC11C;&amp;#xBC84;&amp;#xC5D0;&amp;#xC11C; &amp;#xBE44;&amp;#xC988;&amp;#xB2C8;&amp;#xC2A4; &amp;#xB85C;&amp;#xC9C1;&amp;#xC744; &amp;#xC2E4;&amp;#xD589;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.
&lt;ol&gt;
&lt;li&gt;&amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xBCA0;&amp;#xC774;&amp;#xC2A4; &amp;#xC4F0;&amp;#xAE30;&amp;#xC5F0;&amp;#xC0B0;&amp;#xC758; &amp;#xACBD;&amp;#xC6B0; master DB&amp;#xB97C; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD558;&amp;#xACE0;&lt;/li&gt;
&lt;li&gt;&amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xBCA0;&amp;#xC774;&amp;#xC2A4; &amp;#xC77D;&amp;#xAE30;&amp;#xC5F0;&amp;#xC0B0;&amp;#xC758; &amp;#xACBD;&amp;#xC6B0; slave DB&amp;#xB97C; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;hr&gt;
&lt;h3 class=&quot;mume-header&quot; id=&quot;div-ida05-15-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B2%A0%EC%9D%B4%EC%8A%A4-%EA%B7%9C%EB%AA%A8-%ED%99%95%EC%9E%A5div&quot;&gt;&lt;div id=&quot;a05-1&quot;&gt;5. &amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xBCA0;&amp;#xC774;&amp;#xC2A4; &amp;#xADDC;&amp;#xBAA8; &amp;#xD655;&amp;#xC7A5;&lt;/div&gt;&lt;/h3&gt;

&lt;p&gt;&amp;#xC704;&amp;#xC5D0;&amp;#xC11C; &amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xBCA0;&amp;#xC774;&amp;#xC2A4; &amp;#xC11C;&amp;#xBC84;&amp;#xB97C; Scale Out &amp;#xBC29;&amp;#xC2DD;&amp;#xC73C;&amp;#xB85C; &amp;#xD655;&amp;#xC7A5;&amp;#xD558;&amp;#xB294; &amp;#xAC83;&amp;#xC744; &amp;#xC54C;&amp;#xC544;&amp;#xBD24;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xADF8;&amp;#xB7F0;&amp;#xB370; &amp;#xB9CC;&amp;#xC57D; &amp;#xD558;&amp;#xB098;&amp;#xC758; &amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xBCA0;&amp;#xC774;&amp;#xC2A4; &amp;#xC11C;&amp;#xBC84; &amp;#xB0B4;&amp;#xC5D0; &amp;#xB370;&amp;#xC774;&amp;#xD130; &amp;#xADDC;&amp;#xBAA8;&amp;#xAC00; &amp;#xB108;&amp;#xBB34; &amp;#xCEE4;&amp;#xC9C4;&amp;#xB2E4;&amp;#xBA74; &amp;#xC5B4;&amp;#xB5BB;&amp;#xAC8C; &amp;#xD574;&amp;#xC57C;&amp;#xD560;&amp;#xAE4C;&amp;#xC694;?&lt;/p&gt;
&lt;p&gt;&amp;#xB2E8;&amp;#xC21C;&amp;#xD558;&amp;#xAC8C; &amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xBCA0;&amp;#xC774;&amp;#xC2A4; &amp;#xC11C;&amp;#xBC84;&amp;#xC758; &amp;#xC6A9;&amp;#xB7C9;&amp;#xC744; &amp;#xC99D;&amp;#xC124;&amp;#xD558;&amp;#xB294; Scale Up &amp;#xBC29;&amp;#xC2DD;&amp;#xC740; &amp;#xC26C;&amp;#xC6CC;&amp;#xBCF4;&amp;#xC774;&amp;#xC9C0;&amp;#xB9CC;, &amp;#xC774;&amp;#xB294; &amp;#xC704;&amp;#xC5D0;&amp;#xC11C; &amp;#xB9D0;&amp;#xD588;&amp;#xC5C8;&amp;#xB358; &amp;#xACE0;&amp;#xBE44;&amp;#xC6A9;, SPOF, &amp;#xC99D;&amp;#xC124; &amp;#xC6A9;&amp;#xB7C9; &amp;#xD55C;&amp;#xACC4;&amp;#xB4F1;&amp;#xC758; &amp;#xBB38;&amp;#xC81C;&amp;#xAC00; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xC774;&amp;#xB7F4; &amp;#xB54C;&amp;#xC5D0;&amp;#xB294;, &amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xBCA0;&amp;#xC774;&amp;#xC2A4;&amp;#xB97C; &amp;#xC218;&amp;#xD3C9;&amp;#xC801;&amp;#xC73C;&amp;#xB85C; &amp;#xC99D;&amp;#xC124;&amp;#xD558;&amp;#xB294; &amp;#xAC83;&amp;#xC744; &amp;#xACE0;&amp;#xB824;&amp;#xD574;&amp;#xBD10;&amp;#xC57C;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&lt;br&gt;&lt;/p&gt;
&lt;h4 class=&quot;mume-header&quot; id=&quot;51-%EC%83%A4%EB%94%A9sharding&quot;&gt;5.1. &amp;#xC0E4;&amp;#xB529;(sharding)&lt;/h4&gt;

&lt;p&gt;&amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xBCA0;&amp;#xC774;&amp;#xC2A4;&amp;#xB97C; &amp;#xC218;&amp;#xD3C9;&amp;#xC801;&amp;#xC73C;&amp;#xB85C; &amp;#xD655;&amp;#xC7A5;&amp;#xD558;&amp;#xB294; &amp;#xAC83;&amp;#xC744; &amp;#xC0E4;&amp;#xB529;&amp;#xC774;&amp;#xB77C;&amp;#xACE0; &amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xC0E4;&amp;#xB4DC;&amp;#xB4E4;&amp;#xC740; &amp;#xBAA8;&amp;#xB450; &amp;#xAC19;&amp;#xC740; &amp;#xC2A4;&amp;#xD0A4;&amp;#xB9C8;&amp;#xB97C; &amp;#xC4F0;&amp;#xC9C0;&amp;#xB9CC; &amp;#xAC01; &amp;#xC0E4;&amp;#xB4DC;&amp;#xC5D0; &amp;#xB4E4;&amp;#xC5B4;&amp;#xC788;&amp;#xB294; &amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xB294; &amp;#xC911;&amp;#xBCF5;&amp;#xB418;&amp;#xC9C0; &amp;#xC54A;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xC989;, &amp;#xD558;&amp;#xB098;&amp;#xC758; &amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xBCA0;&amp;#xC774;&amp;#xC2A4; &amp;#xC11C;&amp;#xBC84;&amp;#xB97C; &amp;#xC5EC;&amp;#xB7EC;&amp;#xB300;&amp;#xB85C; &amp;#xCABC;&amp;#xAC20; &amp;#xD615;&amp;#xD0DC;&amp;#xB77C;&amp;#xACE0; &amp;#xBCFC; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xC0E4;&amp;#xB529; &amp;#xC804;&amp;#xB7B5;&amp;#xC744; &amp;#xAD6C;&amp;#xD604;&amp;#xD560; &amp;#xB54C; &amp;#xACE0;&amp;#xB824;&amp;#xD560; &amp;#xC911;&amp;#xC694;&amp;#xD55C; &amp;#xAC83;&amp;#xC740; &amp;#xC0E4;&amp;#xB529; &amp;#xD0A4;(= &amp;#xD30C;&amp;#xD2F0;&amp;#xC158; &amp;#xD0A4;) &amp;#xC778;&amp;#xB370;, &amp;#xC774; &amp;#xAC83;&amp;#xC740; &amp;#xB370;&amp;#xC774;&amp;#xD130; &amp;#xBD84;&amp;#xC0B0;&amp;#xC5D0; &amp;#xD65C;&amp;#xC6A9;&amp;#xB41C; &amp;#xD558;&amp;#xB098; &amp;#xC774;&amp;#xC0C1;&amp;#xC758; &amp;#xD0A4;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xC0E4;&amp;#xB529;&amp;#xC744; &amp;#xAD6C;&amp;#xC131;&amp;#xD588;&amp;#xC744; &amp;#xACBD;&amp;#xC6B0; &amp;#xACE0;&amp;#xB824;&amp;#xD574;&amp;#xC57C;&amp;#xD560; &amp;#xBA87;&amp;#xAC00;&amp;#xC9C0; &amp;#xC0AC;&amp;#xD56D;&amp;#xC774; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&amp;#xC7AC;&amp;#xC0E4;&amp;#xB529;
&lt;ul&gt;
&lt;li&gt;&amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xAC00; &amp;#xB108;&amp;#xBB34; &amp;#xB9CE;&amp;#xC544; &amp;#xC0E4;&amp;#xB4DC;&amp;#xAC00; &amp;#xB354; &amp;#xD544;&amp;#xC694;&amp;#xD560; &amp;#xB54C;&lt;/li&gt;
&lt;li&gt;&amp;#xC0E4;&amp;#xB4DC;&amp;#xAC04; &amp;#xB370;&amp;#xC774;&amp;#xD130; &amp;#xBD84;&amp;#xD3EC;&amp;#xAC00; &amp;#xADE0;&amp;#xB4F1;&amp;#xD558;&amp;#xC9C0; &amp;#xC54A;&amp;#xC744; &amp;#xACBD;&amp;#xC6B0;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&amp;#xC720;&amp;#xBA85;&amp;#xC778;&amp;#xC0AC; &amp;#xBB38;&amp;#xC81C;(= &amp;#xD56B;&amp;#xC2A4;&amp;#xD31F;  &amp;#xC870;&amp;#xD68C;)
&lt;ul&gt;
&lt;li&gt;&amp;#xBE48;&amp;#xBC88;&amp;#xD788; &amp;#xC870;&amp;#xD68C;&amp;#xB418;&amp;#xB294; &amp;#xB808;&amp;#xCF54;&amp;#xB4DC;&amp;#xAC00; &amp;#xD558;&amp;#xB098;&amp;#xC758; &amp;#xC0E4;&amp;#xB4DC;&amp;#xC5D0; &amp;#xBAB0;&amp;#xB824;&amp;#xC788;&amp;#xC744; &amp;#xACBD;&amp;#xC6B0;, &amp;#xD558;&amp;#xB098;&amp;#xC758; &amp;#xC0E4;&amp;#xB4DC;&amp;#xC5D0;&amp;#xB9CC; &amp;#xD2B8;&amp;#xB798;&amp;#xD53D;&amp;#xC774; &amp;#xBAB0;&amp;#xB9B4; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/li&gt;
&lt;li&gt;&amp;#xC774; &amp;#xACBD;&amp;#xC6B0;, &amp;#xC720;&amp;#xBA85;&amp;#xC778;&amp;#xC0AC;&amp;#xB4E4;&amp;#xC744; &amp;#xC5EC;&amp;#xB7EC; &amp;#xC0E4;&amp;#xB4DC;&amp;#xC5D0; &amp;#xBD84;&amp;#xC0B0;&amp;#xD558;&amp;#xC5EC; &amp;#xD560;&amp;#xB2F9;&amp;#xD574;&amp;#xC57C;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&amp;#xC870;&amp;#xC778;, &amp;#xBE44;&amp;#xC815;&amp;#xADDC;&amp;#xD654;
&lt;ul&gt;
&lt;li&gt;&amp;#xC0E4;&amp;#xB529; &amp;#xD6C4; &amp;#xB370;&amp;#xC774;&amp;#xD130; &amp;#xC870;&amp;#xC778;&amp;#xC774; &amp;#xD798;&amp;#xB4E4;&amp;#xC5B4;&amp;#xC9C0;&amp;#xB294; &amp;#xBB38;&amp;#xC81C;&amp;#xAC00; &amp;#xBC1C;&amp;#xC0DD;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;&lt;/li&gt;
&lt;li&gt;&amp;#xC774;&amp;#xB97C; &amp;#xD574;&amp;#xACB0;&amp;#xD558;&amp;#xAE30; &amp;#xC704;&amp;#xD574; &amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xBCA0;&amp;#xC774;&amp;#xC2A4;&amp;#xB97C; &amp;#xBE44;&amp;#xC815;&amp;#xADDC;&amp;#xD654;&amp;#xD558;&amp;#xC5EC; &amp;#xD558;&amp;#xB098;&amp;#xC758; &amp;#xD14C;&amp;#xC774;&amp;#xBE14;&amp;#xC5D0;&amp;#xC11C; &amp;#xCFFC;&amp;#xB9AC;&amp;#xAC00; &amp;#xC218;&amp;#xD589;&amp;#xB420; &amp;#xC218; &amp;#xC788;&amp;#xB3C4;&amp;#xB85D; &amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;br&gt;
&lt;h4 class=&quot;mume-header&quot; id=&quot;div-ida05-252-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B2%A0%EC%9D%B4%EC%8A%A4-%EC%A2%85%EB%A5%98%EC%97%90-%EB%8C%80%ED%95%9C-%EA%B3%A0%EB%AF%BCdiv&quot;&gt;&lt;div id=&quot;a05-2&quot;&gt;5.2. &amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xBCA0;&amp;#xC774;&amp;#xC2A4; &amp;#xC885;&amp;#xB958;&amp;#xC5D0; &amp;#xB300;&amp;#xD55C; &amp;#xACE0;&amp;#xBBFC;&lt;/div&gt;&lt;/h4&gt;

&lt;p&gt;&amp;#xD558;&amp;#xB098;&amp;#xC758; &amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xBCA0;&amp;#xC774;&amp;#xC2A4;&amp;#xB97C; &amp;#xCABC;&amp;#xAC1C;&amp;#xC11C; &amp;#xC5EC;&amp;#xB7EC;&amp;#xAC1C;&amp;#xC758; &amp;#xC11C;&amp;#xBC84;&amp;#xC5D0; &amp;#xC800;&amp;#xC7A5;&amp;#xD558;&amp;#xB294; &amp;#xAC83;&amp;#xC774; &amp;#xC0E4;&amp;#xB529;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;. &amp;#xC774;&amp;#xB7EC;&amp;#xD55C; &amp;#xD2B9;&amp;#xC9D5; &amp;#xB54C;&amp;#xBB38;&amp;#xC5D0; &amp;#xACE0;&amp;#xB824;&amp;#xD574;&amp;#xC57C;&amp;#xD560; &amp;#xC810;&amp;#xC774; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;RDBMS&amp;#xB294; &amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xBB34;&amp;#xACB0;&amp;#xC131;&amp;#xACFC; &amp;#xC77C;&amp;#xAD00;&amp;#xC131;&amp;#xC774; &amp;#xC911;&amp;#xC694;&amp;#xD558;&amp;#xAE30; &amp;#xB54C;&amp;#xBB38;&amp;#xC5D0; &amp;#xC0E4;&amp;#xB529;&amp;#xC774; &amp;#xB9E4;&amp;#xC6B0; &amp;#xAE4C;&amp;#xB2E4;&amp;#xB86D;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;RDBMS&amp;#xC758; &amp;#xAC00;&amp;#xC7A5; &amp;#xC911;&amp;#xC694;&amp;#xD55C; &amp;#xD2B9;&amp;#xC9D5;&amp;#xC778; &lt;strong&gt;&amp;#xAD00;&amp;#xACC4;&amp;#xD615;&lt;/strong&gt;&amp;#xC774; &amp;#xBC14;&amp;#xB85C; &amp;#xADF8;&amp;#xC5D0; &amp;#xB300;&amp;#xD55C; &amp;#xC774;&amp;#xC720;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xB9CC;&amp;#xC77C;, &amp;#xD2B9;&amp;#xC815; &amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xBCA0;&amp;#xC774;&amp;#xC2A4;&amp;#xC758; FK&amp;#xAC12;&amp;#xC744; &amp;#xC774;&amp;#xC6A9;&amp;#xD558;&amp;#xC5EC; &amp;#xB2E4;&amp;#xB978; &amp;#xD14C;&amp;#xC774;&amp;#xBE14;&amp;#xACFC; join&amp;#xC744; &amp;#xD558;&amp;#xACE0;&amp;#xC790;&amp;#xD560; &amp;#xB54C;, &amp;#xADF8; &amp;#xC5F0;&amp;#xAD00;&amp;#xD14C;&amp;#xC774;&amp;#xBE14;&amp;#xC774; &amp;#xB2E4;&amp;#xB978; DB&amp;#xC11C;&amp;#xBC84;&amp;#xC5D0; &amp;#xC800;&amp;#xC7A5;&amp;#xB418;&amp;#xC5B4;&amp;#xC788;&amp;#xB2E4;&amp;#xBA74; &amp;#xC5B4;&amp;#xB5BB;&amp;#xAC8C; &amp;#xB420;&amp;#xAE4C;?&lt;br&gt;
&amp;#xD30C;&amp;#xD2F0;&amp;#xC158; &amp;#xC870;&amp;#xAC01;&amp;#xAC04;&amp;#xC758; join&amp;#xC740; &amp;#xB418;&amp;#xC9C0; &amp;#xC54A;&amp;#xAE30; &amp;#xB54C;&amp;#xBB38;&amp;#xC5D0; &amp;#xC774; &amp;#xACBD;&amp;#xC6B0;&amp;#xC5D0;&amp;#xB294; RDBMS&amp;#xC758; &amp;#xC7A5;&amp;#xC810;&amp;#xC774; &amp;#xBB34;&amp;#xC0C9;&amp;#xD574;&amp;#xC9D1;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xBC14;&amp;#xB85C; &amp;#xC774;&amp;#xB7EC;&amp;#xD55C; &amp;#xC810;&amp;#xC774; &amp;#xAE30;&amp;#xC874;&amp;#xC758; RDBMS&amp;#xC5D0;&amp;#xC11C; &amp;#xC0E4;&amp;#xB529;&amp;#xC5D0; &amp;#xB300;&amp;#xD55C; &amp;#xC5B4;&amp;#xB824;&amp;#xC6B4; &amp;#xC810;&amp;#xC73C;&amp;#xB85C; &amp;#xB0A8;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xB54C;&amp;#xBB38;&amp;#xC5D0;, &amp;#xC0E4;&amp;#xB529;&amp;#xC744; &amp;#xD65C;&amp;#xC6A9;&amp;#xD558;&amp;#xACE0;&amp;#xC790; &amp;#xD55C;&amp;#xB2E4;&amp;#xBA74;, NoSQL&amp;#xC744; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD574;&amp;#xBCFC; &amp;#xAC83;&amp;#xC744; &amp;#xACE0;&amp;#xB824;&amp;#xD574;&amp;#xBCF4;&amp;#xB294; &amp;#xAC83;&amp;#xB3C4; &amp;#xC88B;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;NoSQL&amp;#xC740; &amp;#xADF8; &amp;#xBC16;&amp;#xC5D0;&amp;#xB3C4; &amp;#xC544;&amp;#xB798;&amp;#xC640; &amp;#xAC19;&amp;#xC740; &amp;#xC0C1;&amp;#xD669;&amp;#xC5D0;&amp;#xB3C4; &amp;#xACE0;&amp;#xB824;&amp;#xD574;&amp;#xBCF4;&amp;#xB294; &amp;#xAC83;&amp;#xC744; &amp;#xAD8C;&amp;#xC7A5;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&amp;#xC751;&amp;#xB2F5; &amp;#xC9C0;&amp;#xC5F0;&amp;#xC2DC;&amp;#xAC04;(latency)&amp;#xC774; &amp;#xB0AE;&amp;#xC544;&amp;#xC57C;&amp;#xD560; &amp;#xACBD;&amp;#xC6B0;&lt;/li&gt;
&lt;li&gt;&amp;#xB2E4;&amp;#xB8E8;&amp;#xB294; &amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xAC00; &amp;#xBE44;&amp;#xC815;&amp;#xD615;&amp;#xC77C; &amp;#xACBD;&amp;#xC6B0;(=&amp;#xAD00;&amp;#xACC4;&amp;#xD615; &amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xAC00; &amp;#xC544;&amp;#xB2D0;&amp;#xACBD;&amp;#xC6B0;)&lt;/li&gt;
&lt;li&gt;&amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xB97C; &amp;#xC9C1;&amp;#xB82C;&amp;#xD654;/&amp;#xC5ED;&amp;#xC9C1;&amp;#xB82C;&amp;#xD654; &amp;#xD558;&amp;#xAE30;&amp;#xB9CC; &amp;#xD558;&amp;#xBA74; &amp;#xB418;&amp;#xB294; &amp;#xACBD;&amp;#xC6B0;&lt;/li&gt;
&lt;li&gt;&amp;#xC544;&amp;#xC8FC; &amp;#xB9CE;&amp;#xC740; &amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xB97C; &amp;#xC800;&amp;#xC7A5;&amp;#xD574;&amp;#xC57C;&amp;#xD558;&amp;#xB294; &amp;#xACBD;&amp;#xC6B0;&lt;/li&gt;
&lt;li&gt;&amp;#xD2B8;&amp;#xB798;&amp;#xD53D; &amp;#xC591;&amp;#xC5D0; &amp;#xB530;&amp;#xB978; &amp;#xADDC;&amp;#xBAA8; &amp;#xD655;&amp;#xC7A5;&amp;#xC744; &amp;#xBE60;&amp;#xB974;&amp;#xACE0; &amp;#xC190;&amp;#xC27D;&amp;#xAC8C; &amp;#xD558;&amp;#xACE0; &amp;#xC2F6;&amp;#xC740; &amp;#xACBD;&amp;#xC6B0;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h3 class=&quot;mume-header&quot; id=&quot;div-ida06-16-%EC%9D%91%EB%8B%B5%EC%8B%9C%EA%B0%84-%EA%B0%9C%EC%84%A0div&quot;&gt;&lt;div id=&quot;a06-1&quot;&gt;6. &amp;#xC751;&amp;#xB2F5;&amp;#xC2DC;&amp;#xAC04; &amp;#xAC1C;&amp;#xC120;&lt;/div&gt;&lt;/h3&gt;

&lt;p&gt;&amp;#xC751;&amp;#xB2F5;&amp;#xC2DC;&amp;#xAC04;(latency)&amp;#xC744; &amp;#xAC1C;&amp;#xC120;&amp;#xD558;&amp;#xAE30; &amp;#xC704;&amp;#xD55C; &amp;#xBC29;&amp;#xBC95;&amp;#xC744; &amp;#xC54C;&amp;#xC544;&amp;#xBD05;&amp;#xC2DC;&amp;#xB2E4;.&lt;br&gt;
&amp;#xCE90;&amp;#xC2DC;&amp;#xB97C; &amp;#xBD99;&amp;#xC5EC;&amp;#xC11C; &amp;#xC815;&amp;#xC801; &amp;#xCEE8;&amp;#xD150;&amp;#xD2B8;&amp;#xB97C; CDN&amp;#xC73C;&amp;#xB85C; &amp;#xC62E;&amp;#xAE30;&amp;#xBA74; &amp;#xAC1C;&amp;#xC120;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;br&gt;
&lt;h4 class=&quot;mume-header&quot; id=&quot;61-%EC%BA%90%EC%8B%9C&quot;&gt;6.1. &amp;#xCE90;&amp;#xC2DC;&lt;/h4&gt;

&lt;p&gt;&amp;#xAC12;&amp;#xBE44;&amp;#xC2FC; &amp;#xC5F0;&amp;#xC0B0;&amp;#xACB0;&amp;#xACFC;&amp;#xB098; &amp;#xC790;&amp;#xC8FC; &amp;#xCC38;&amp;#xC870;&amp;#xB418;&amp;#xB294; &amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xB97C; &amp;#xBA54;&amp;#xBAA8;&amp;#xB9AC; &amp;#xC548;&amp;#xC5D0; &amp;#xB46C;&amp;#xC11C; &amp;#xD6C4;&amp;#xC5D0; &amp;#xC774;&amp;#xC5B4;&amp;#xC9C0;&amp;#xB294; request&amp;#xB97C; &amp;#xBCF4;&amp;#xB2E4; &amp;#xBE68;&amp;#xB9AC; &amp;#xCC98;&amp;#xB9AC;&amp;#xB420; &amp;#xC218; &amp;#xC788;&amp;#xB3C4;&amp;#xB85D; &amp;#xD558;&amp;#xB294; &amp;#xC800;&amp;#xC7A5;&amp;#xC18C;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;request &amp;#xD558;&amp;#xB098;&amp;#xB97C; &amp;#xCC98;&amp;#xB9AC;&amp;#xD560; &amp;#xB54C; &amp;#xCD5C;&amp;#xC18C; 1&amp;#xBC88; &amp;#xC774;&amp;#xC0C1;&amp;#xC758; Database &amp;#xD638;&amp;#xCD9C;&amp;#xC774; &amp;#xBC1C;&amp;#xC0DD;&amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xC560;&amp;#xD50C;&amp;#xB9AC;&amp;#xCF00;&amp;#xC774;&amp;#xC158; &amp;#xC131;&amp;#xB2A5; &amp;#xD5A5;&amp;#xC0C1;&amp;#xC744; &amp;#xC704;&amp;#xD574;&amp;#xC11C;&amp;#xB294; DB &amp;#xD638;&amp;#xCD9C;&amp;#xC744; &amp;#xCD5C;&amp;#xC18C;&amp;#xD654;&amp;#xD558;&amp;#xB294; &amp;#xAC83;&amp;#xC774; &amp;#xC911;&amp;#xC694;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&lt;br&gt;&lt;/p&gt;
&lt;p&gt;&amp;#xCE90;&amp;#xC2DC; &amp;#xACC4;&amp;#xCE35;&amp;#xC740; &amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xAC00; &amp;#xC7A0;&amp;#xC2DC; &amp;#xBCF4;&amp;#xAD00;&amp;#xB418;&amp;#xB294; &amp;#xACF3;&amp;#xC73C;&amp;#xB85C;, DB&amp;#xBCF4;&amp;#xB2E4; &amp;#xBE60;&amp;#xB985;&amp;#xB2C8;&amp;#xB2E4;&lt;br&gt;
&amp;#xBCC4;&amp;#xB3C4;&amp;#xC758; &amp;#xCE90;&amp;#xC2DC; &amp;#xACC4;&amp;#xCE35;&amp;#xC744; &amp;#xB450;&amp;#xB294; &amp;#xAC83;&amp;#xC740; &amp;#xC131;&amp;#xB2A5;&amp;#xAC1C;&amp;#xC120;&amp;#xACFC; DB &amp;#xBD80;&amp;#xD558;&amp;#xB97C; &amp;#xC904;&amp;#xC774;&amp;#xB294; &amp;#xC7A5;&amp;#xC810;&amp;#xC774; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&lt;br&gt;&lt;/p&gt;
&lt;p&gt;&amp;#xCE90;&amp;#xC2DC;&amp;#xB97C; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD560;&amp;#xB54C; &amp;#xBA87;&amp;#xAC00;&amp;#xC9C0; &amp;#xACE0;&amp;#xB824;&amp;#xD574;&amp;#xC57C;&amp;#xD560; &amp;#xC810;&amp;#xC774; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&amp;#xCE90;&amp;#xC2DC;&amp;#xB97C; &amp;#xC801;&amp;#xC6A9;&amp;#xD558;&amp;#xAE30; &amp;#xC801;&amp;#xC808;&amp;#xD55C; &amp;#xACBD;&amp;#xC6B0;&amp;#xB294;?
&lt;ul&gt;
&lt;li&gt;&amp;#xB370;&amp;#xC774;&amp;#xD130; &amp;#xAC31;&amp;#xC2E0;&amp;#xC774; &amp;#xC798; &amp;#xC77C;&amp;#xC5B4;&amp;#xB098;&amp;#xC9C0; &amp;#xC54A;&amp;#xC744; &amp;#xACBD;&amp;#xC6B0;&amp;#xC5D0;&amp;#xB294; &amp;#xCE90;&amp;#xC2DC;&amp;#xB97C; &amp;#xC801;&amp;#xC6A9;&amp;#xD558;&amp;#xAE30; &amp;#xC801;&amp;#xC808;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/li&gt;
&lt;li&gt;&amp;#xB370;&amp;#xC774;&amp;#xD130; &amp;#xAC31;&amp;#xC2E0;&amp;#xC774; &amp;#xBE48;&amp;#xBC88;&amp;#xD55C; &amp;#xACBD;&amp;#xC6B0;&amp;#xC5D0;&amp;#xB294; &amp;#xC801;&amp;#xC808;&amp;#xD558;&amp;#xC9C0; &amp;#xC54A;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&amp;#xCE90;&amp;#xC2DC;&amp;#xC5D0;&amp;#xB294; &amp;#xC5B4;&amp;#xB5A4; &amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xB97C; &amp;#xB46C;&amp;#xC57C;&amp;#xD560;&amp;#xAE4C;?
&lt;ul&gt;
&lt;li&gt;&amp;#xCE90;&amp;#xC2DC;&amp;#xB294; &amp;#xD718;&amp;#xBC1C;&amp;#xC131; &amp;#xBA54;&amp;#xBAA8;&amp;#xB9AC;&amp;#xC5D0; &amp;#xB461;&amp;#xB2C8;&amp;#xB2E4;.&lt;/li&gt;
&lt;li&gt;&amp;#xC11C;&amp;#xBC84; &amp;#xC7AC;&amp;#xC2DC;&amp;#xC791;&amp;#xC2DC; &amp;#xBAA8;&amp;#xB450; &amp;#xD718;&amp;#xBC1C;&amp;#xB418;&amp;#xAE30; &amp;#xB54C;&amp;#xBB38;&amp;#xC5D0; &amp;#xC601;&amp;#xC18D;&amp;#xC801;&amp;#xC73C;&amp;#xB85C; &amp;#xC800;&amp;#xC7A5;&amp;#xD574;&amp;#xC57C;&amp;#xD560; &amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xB294; &amp;#xBC18;&amp;#xB4DC;&amp;#xC2DC; database&amp;#xC5D0; &amp;#xC800;&amp;#xC7A5;&amp;#xD574;&amp;#xC57C;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&amp;#xBCF4;&amp;#xAD00;&amp;#xB41C; &amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xC758; &amp;#xB9CC;&amp;#xB8CC;&amp;#xAE30;&amp;#xAC04;&amp;#xC740;?
&lt;ul&gt;
&lt;li&gt;&amp;#xCE90;&amp;#xC2DC; &amp;#xB9CC;&amp;#xB8CC;&amp;#xAE30;&amp;#xAC04;&amp;#xC5D0; &amp;#xB300;&amp;#xD55C; &amp;#xC815;&amp;#xCC45;&amp;#xC744; &amp;#xC124;&amp;#xC815;&amp;#xD558;&amp;#xC5EC;, &amp;#xB9CC;&amp;#xB8CC;&amp;#xB41C; &amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xB294; &amp;#xCE90;&amp;#xC2DC;&amp;#xC5D0;&amp;#xC11C; &amp;#xC0AD;&amp;#xC81C;&amp;#xB418;&amp;#xB3C4;&amp;#xB85D; &amp;#xD574;&amp;#xC57C;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.
&lt;ul&gt;
&lt;li&gt;&amp;#xB9CC;&amp;#xB8CC;&amp;#xC2DC;&amp;#xAC04;&amp;#xC774; &amp;#xB108;&amp;#xBB34; &amp;#xC9E7;&amp;#xC744;&amp;#xC2DC;, DB &amp;#xD638;&amp;#xCD9C;&amp;#xC744; &amp;#xBE48;&amp;#xBC88;&amp;#xD558;&amp;#xAC8C; &amp;#xD558;&amp;#xACE0;&lt;/li&gt;
&lt;li&gt;&amp;#xB9CC;&amp;#xB8CC;&amp;#xC2DC;&amp;#xAC04;&amp;#xC774; &amp;#xB108;&amp;#xBB34; &amp;#xAE38; &amp;#xACBD;&amp;#xC6B0;, &amp;#xC6D0;&amp;#xBCF8;&amp;#xACFC; &amp;#xCE90;&amp;#xC2DC;&amp;#xC5D0; &amp;#xC800;&amp;#xC7A5;&amp;#xB41C; &amp;#xAC12;&amp;#xC774; &amp;#xB2E4;&amp;#xB97C; &amp;#xACBD;&amp;#xC6B0;&amp;#xAC00; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&amp;#xC77C;&amp;#xAD00;&amp;#xC131;(consistency) &amp;#xC720;&amp;#xC9C0; &amp;#xBC29;&amp;#xBC95;&amp;#xC740;?
&lt;ul&gt;
&lt;li&gt;&amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xB97C; &amp;#xC800;&amp;#xC7A5;&amp;#xD558;&amp;#xB294; &amp;#xC5F0;&amp;#xC0B0;&amp;#xACFC; &amp;#xCE90;&amp;#xC2DC;&amp;#xB97C; &amp;#xAC31;&amp;#xC2E0;&amp;#xD558;&amp;#xB294; &amp;#xC5F0;&amp;#xC0B0;&amp;#xC740; &lt;strong&gt;&amp;#xD558;&amp;#xB098;&amp;#xC758; Transaction&lt;/strong&gt; &amp;#xB0B4;&amp;#xC5D0;&amp;#xC11C; &amp;#xCC98;&amp;#xB9AC;&amp;#xD574;&amp;#xC57C;&amp;#xB9CC; &amp;#xC77C;&amp;#xAD00;&amp;#xC131;&amp;#xC744; &amp;#xC720;&amp;#xC9C0;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&amp;#xC7A5;&amp;#xC560; &amp;#xB300;&amp;#xCC45;
&lt;ul&gt;
&lt;li&gt;&amp;#xCE90;&amp;#xC2DC;&amp;#xC11C;&amp;#xBC84;&amp;#xB97C; &amp;#xBD84;&amp;#xC0B0;&amp;#xC2DC;&amp;#xCF1C;&amp;#xC57C; &amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;. (= &amp;#xC5EC;&amp;#xB7EC;&amp;#xB300; &amp;#xB46C;&amp;#xC57C; &amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.)
&lt;ul&gt;
&lt;li&gt;&amp;#xCE90;&amp;#xC2DC;&amp;#xC11C;&amp;#xBC84;&amp;#xAC00; &amp;#xD558;&amp;#xB098;&amp;#xBFD0;&amp;#xC774;&amp;#xB77C;&amp;#xBA74;, &amp;#xCE90;&amp;#xC2DC;&amp;#xC11C;&amp;#xBC84;&amp;#xC5D0; &amp;#xC7A5;&amp;#xC560;&amp;#xAC00; &amp;#xBC1C;&amp;#xC0DD;&amp;#xD588;&amp;#xC744;&amp;#xC2DC; &amp;#xB370;&amp;#xC774;&amp;#xD130; &amp;#xC870;&amp;#xD68C; &amp;#xAD00;&amp;#xB828;&amp;#xB41C; &amp;#xBAA8;&amp;#xB4E0; &amp;#xC11C;&amp;#xBE44;&amp;#xC2A4;&amp;#xAC00; &amp;#xC911;&amp;#xB2E8;&amp;#xB420; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;. (SPOF, &lt;strong&gt;S&lt;/strong&gt;ingle &lt;strong&gt;P&lt;/strong&gt;oint &lt;strong&gt;O&lt;/strong&gt;f &lt;strong&gt;F&lt;/strong&gt;ailure)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&amp;#xB370;&amp;#xC774;&amp;#xD130; &amp;#xBC29;&amp;#xCD9C;(eviction) &amp;#xC815;&amp;#xCC45;
&lt;ul&gt;
&lt;li&gt;&amp;#xCE90;&amp;#xC2DC;&amp;#xAC00; &amp;#xAF49;&amp;#xCC3C;&amp;#xC744; &amp;#xB54C; &amp;#xAE30;&amp;#xC874; &amp;#xB370;&amp;#xC774;&amp;#xD130; &amp;#xC911; &amp;#xC5B4;&amp;#xB5A4; &amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xB97C; &amp;#xBC29;&amp;#xCD9C;&amp;#xD560;&amp;#xAC83;&amp;#xC778;&amp;#xC9C0;&amp;#xC5D0; &amp;#xB300;&amp;#xD55C; &amp;#xC815;&amp;#xCC45;&lt;/li&gt;
&lt;li&gt;LRU, &lt;strong&gt;L&lt;/strong&gt;east &lt;strong&gt;R&lt;/strong&gt;ecently &lt;strong&gt;U&lt;/strong&gt;sed
&lt;ul&gt;
&lt;li&gt;&amp;#xB9C8;&amp;#xC9C0;&amp;#xB9C9;&amp;#xC73C;&amp;#xB85C; &amp;#xC0AC;&amp;#xC6A9;&amp;#xB41C; &amp;#xC2DC;&amp;#xC810;&amp;#xC774; &amp;#xAC00;&amp;#xC7A5; &amp;#xC624;&amp;#xB798;&amp;#xB41C; &amp;#xAC83;&amp;#xC744; &amp;#xB0B4;&amp;#xBCF4;&amp;#xB0C4;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;LFU, &lt;strong&gt;L&lt;/strong&gt;east &lt;strong&gt;F&lt;/strong&gt;requently &lt;strong&gt;U&lt;/strong&gt;sed
&lt;ul&gt;
&lt;li&gt;&amp;#xC0AC;&amp;#xC6A9; &amp;#xBE48;&amp;#xB3C4;&amp;#xAC00; &amp;#xAC00;&amp;#xC791; &amp;#xC801;&amp;#xC740; &amp;#xAC83;&amp;#xC744; &amp;#xB0B4;&amp;#xBCF4;&amp;#xB0C4;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;FIFO, &lt;strong&gt;F&lt;/strong&gt;irst &lt;strong&gt;I&lt;/strong&gt;n &lt;strong&gt;F&lt;/strong&gt;irst &lt;strong&gt;O&lt;/strong&gt;ut
&lt;ul&gt;
&lt;li&gt;&amp;#xAC00;&amp;#xC7A5; &amp;#xBA3C;&amp;#xC800; &amp;#xB4E4;&amp;#xC5B4;&amp;#xC628; &amp;#xAC83;&amp;#xC744; &amp;#xAC00;&amp;#xC7A5; &amp;#xBA3C;&amp;#xC800; &amp;#xB0B4;&amp;#xBCF4;&amp;#xB0C4;(= &amp;#xC120;&amp;#xC785;&amp;#xC120;&amp;#xCD9C;)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&amp;#xCE90;&amp;#xC2DC; &amp;#xBA54;&amp;#xBAA8;&amp;#xB9AC;
&lt;ul&gt;
&lt;li&gt;&amp;#xB108;&amp;#xBB34; &amp;#xC791;&amp;#xC744; &amp;#xACBD;&amp;#xC6B0;, &amp;#xC800;&amp;#xC7A5;&amp;#xB41C; &amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xAC00; &amp;#xC790;&amp;#xC8FC; &amp;#xBC00;&amp;#xB824;&amp;#xB098;&amp;#xAC00; &amp;#xCE90;&amp;#xC2DC; &amp;#xC131;&amp;#xB2A5;&amp;#xC774; &amp;#xB5A8;&amp;#xC5B4;&amp;#xC9D1;&amp;#xB2C8;&amp;#xB2E4;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;br&gt;
&lt;h4 class=&quot;mume-header&quot; id=&quot;div-ida06-262-cdndiv&quot;&gt;&lt;div id=&quot;a06-2&quot;&gt;6.2. CDN&lt;/div&gt;&lt;/h4&gt;

&lt;p&gt;&lt;strong&gt;C&lt;/strong&gt;ontent &lt;strong&gt;D&lt;/strong&gt;elivery &lt;strong&gt;N&lt;/strong&gt;etwork&lt;br&gt;
&lt;strong&gt;&amp;#xC815;&amp;#xC801; &amp;#xCEE8;&amp;#xD150;&amp;#xCE20;&amp;#xB97C; &amp;#xC804;&amp;#xC1A1;&lt;/strong&gt;&amp;#xD560; &amp;#xB54C; &amp;#xC4F0;&amp;#xC774;&amp;#xB294; &amp;#xC9C0;&amp;#xB9AC;&amp;#xC801;&amp;#xC73C;&amp;#xB85C; &amp;#xBD84;&amp;#xC0B0;&amp;#xB41C; &amp;#xC11C;&amp;#xBC84;&amp;#xC758; &amp;#xB124;&amp;#xD2B8;&amp;#xC6CC;&amp;#xD06C;&amp;#xB85C; &lt;strong&gt;&amp;#xC774;&amp;#xBBF8;&amp;#xC9C0;, &amp;#xBE44;&amp;#xB514;&amp;#xC624;, css, javascript &amp;#xD30C;&amp;#xC77C;&lt;/strong&gt; &amp;#xB4F1;&amp;#xC744; &amp;#xCE90;&amp;#xC2DC;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;request path + query string + request header + cookie&lt;/code&gt; &amp;#xB4F1;&amp;#xC758; &amp;#xC815;&amp;#xBCF4;&amp;#xB97C; &amp;#xC774;&amp;#xC6A9;&amp;#xD558;&amp;#xC5EC; HTTP &amp;#xD398;&amp;#xC774;&amp;#xC9C0;&amp;#xB97C; &amp;#xCE90;&amp;#xC2DC;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;CDN &amp;#xC11C;&amp;#xBC84;&amp;#xAC00; &amp;#xC5EC;&amp;#xB7EC;&amp;#xB300;&amp;#xC77C; &amp;#xACBD;&amp;#xC6B0;, &amp;#xC0AC;&amp;#xC6A9;&amp;#xC790;&amp;#xAC00; http request&amp;#xB97C; &amp;#xC694;&amp;#xCCAD;&amp;#xD560; &amp;#xC2DC;, &amp;#xAC00;&amp;#xC7A5; &amp;#xAC00;&amp;#xAE4C;&amp;#xC6B4; CDN &amp;#xC11C;&amp;#xBC84;&amp;#xB85C;&amp;#xBD80;&amp;#xD130; &amp;#xC815;&amp;#xC801; &amp;#xCEE8;&amp;#xD150;&amp;#xCE20;&amp;#xB97C; &amp;#xC804;&amp;#xB2EC;&amp;#xBC1B;&amp;#xC744; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xB9CC;&amp;#xC77C;, CDN &amp;#xC11C;&amp;#xBC84;&amp;#xC5D0; &amp;#xCE90;&amp;#xC2DC;&amp;#xB418;&amp;#xC9C0; &amp;#xC54A;&amp;#xC740; &amp;#xC815;&amp;#xC801; &amp;#xCEE8;&amp;#xD150;&amp;#xCE20;&amp;#xB97C; &amp;#xC694;&amp;#xCCAD;&amp;#xD588;&amp;#xC744; &amp;#xACBD;&amp;#xC6B0;, &amp;#xC6D0;&amp;#xBCF8; &amp;#xC11C;&amp;#xBC84;&amp;#xB85C;&amp;#xBD80;&amp;#xD130; &amp;#xC694;&amp;#xCCAD;&amp;#xD558;&amp;#xC5EC; &amp;#xCEE8;&amp;#xD150;&amp;#xCE20;&amp;#xB97C; &amp;#xC694;&amp;#xCCAD;&amp;#xD558;&amp;#xC5EC; &amp;#xC801;&amp;#xC7AC;&amp;#xD55C; &amp;#xD6C4; &amp;#xBC18;&amp;#xD658;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xC774;&amp;#xB54C;, &amp;#xC751;&amp;#xB2F5; &amp;#xD5E4;&amp;#xB354;&amp;#xC5D0;&amp;#xB294; TTL &amp;#xAC12;&amp;#xC774; &amp;#xB4E4;&amp;#xC5B4;&amp;#xC788;&amp;#xACE0;, TTL&amp;#xC5D0; &amp;#xBA85;&amp;#xC2DC;&amp;#xB41C; &amp;#xC2DC;&amp;#xAC04;&amp;#xC774; &amp;#xB05D;&amp;#xB0A0;&amp;#xB54C;&amp;#xAE4C;&amp;#xC9C0;&amp;#xB9CC; &amp;#xCE90;&amp;#xC2DC;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xCEE8;&amp;#xD150;&amp;#xCE20;&amp;#xC758; &amp;#xCD5C;&amp;#xC2E0;&amp;#xC131; &amp;#xC720;&amp;#xC9C0;&amp;#xC640; &amp;#xC6D0;&amp;#xBCF8; &amp;#xC11C;&amp;#xBC84;&amp;#xC5D0; &amp;#xC694;&amp;#xCCAD;&amp;#xBCF4;&amp;#xB0B4;&amp;#xB294; &amp;#xC218;&amp;#xC758; &amp;#xAC04;&amp;#xC758; &amp;#xC911;&amp;#xAC04;&amp;#xC810;&amp;#xC744; &amp;#xCC3E;&amp;#xAE30; &amp;#xC704;&amp;#xD574; &amp;#xC801;&amp;#xC808;&amp;#xD55C; TTL&amp;#xC744; &amp;#xC124;&amp;#xC815;&amp;#xD574;&amp;#xC57C; &amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;br&gt;
&lt;p&gt;CDN &amp;#xC11C;&amp;#xBC84;&amp;#xB97C; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD560; &amp;#xB54C; &amp;#xACE0;&amp;#xB824;&amp;#xD574;&amp;#xB450;&amp;#xBA74; &amp;#xC88B;&amp;#xC744; &amp;#xC0AC;&amp;#xD56D;&amp;#xC774; &amp;#xBA87;&amp;#xAC00;&amp;#xC9C0; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&amp;#xB9CC;&amp;#xC77C; CDN &amp;#xC11C;&amp;#xBC84;&amp;#xC5D0; &amp;#xC7A5;&amp;#xC560;&amp;#xAC00; &amp;#xBC1C;&amp;#xC0DD;&amp;#xD588;&amp;#xC744; &amp;#xACBD;&amp;#xC6B0;&amp;#xC5D0; &amp;#xB300;&amp;#xD55C; &amp;#xB300;&amp;#xCC45; &amp;#xBC29;&amp;#xC548;
&lt;ul&gt;
&lt;li&gt;&amp;#xC6D0;&amp;#xBCF8;&amp;#xC11C;&amp;#xBC84;&amp;#xB85C;&amp;#xBD80;&amp;#xD130; &amp;#xC9C1;&amp;#xC811; &amp;#xCEE8;&amp;#xD150;&amp;#xCE20;&amp;#xB97C; &amp;#xAC00;&amp;#xC838;&amp;#xC624;&amp;#xB3C4;&amp;#xB85D; &amp;#xCC98;&amp;#xB9AC;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;TTL&amp;#xC774; &amp;#xB9CC;&amp;#xB8CC;&amp;#xB418;&amp;#xC9C0; &amp;#xC54A;&amp;#xC740; &amp;#xCEE8;&amp;#xD150;&amp;#xCE20;&amp;#xB97C; &amp;#xBB34;&amp;#xD6A8;&amp;#xD654;&amp;#xD558;&amp;#xB294; &amp;#xBC29;&amp;#xC548;
&lt;ul&gt;
&lt;li&gt;CDN &amp;#xC11C;&amp;#xBE44;&amp;#xC2A4; &amp;#xC0AC;&amp;#xC5C5;&amp;#xC790;&amp;#xAC00; &amp;#xC81C;&amp;#xACF5;&amp;#xD558;&amp;#xB294; &amp;#xBB34;&amp;#xD6A8;&amp;#xD654; API&lt;/li&gt;
&lt;li&gt;&amp;#xC815;&amp;#xC801; &amp;#xCEE8;&amp;#xD150;&amp;#xCE20;&amp;#xC5D0; &amp;#xBC84;&amp;#xC804; &amp;#xAD00;&amp;#xB828; &amp;#xC778;&amp;#xC790; &amp;#xC124;&amp;#xC815;
&lt;ul&gt;
&lt;li&gt;ex. like.png?v=2&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;br&gt;
&lt;h4 class=&quot;mume-header&quot; id=&quot;div-ida06-363-cache-cdn-%EC%A0%81%EC%9A%A9-%EA%B2%B0%EA%B3%BCdiv&quot;&gt;&lt;div id=&quot;a06-3&quot;&gt;6.3. Cache &amp;amp;&amp;amp; CDN &amp;#xC801;&amp;#xC6A9; &amp;#xACB0;&amp;#xACFC;&lt;/div&gt;&lt;/h4&gt;

&lt;ol&gt;
&lt;li&gt;&amp;#xC815;&amp;#xC801; &amp;#xCEE8;&amp;#xD150;&amp;#xCE20;(images, js, css)&amp;#xB294; &amp;#xC6F9;&amp;#xC11C;&amp;#xBC84;&amp;#xAC00; &amp;#xC544;&amp;#xB2CC; CDN&amp;#xC744; &amp;#xD1B5;&amp;#xD574; &amp;#xC81C;&amp;#xACF5;&amp;#xD558;&amp;#xAE30; &amp;#xB54C;&amp;#xBB38;&amp;#xC5D0; &amp;#xC6F9;&amp;#xC11C;&amp;#xBC84; &amp;#xC131;&amp;#xB2A5;&amp;#xC744; &amp;#xD5A5;&amp;#xC0C1;&amp;#xC2DC;&amp;#xD0B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/li&gt;
&lt;li&gt;&amp;#xCE90;&amp;#xC2DC;&amp;#xAC00; database &amp;#xC11C;&amp;#xBC84;&amp;#xC758; &amp;#xBD80;&amp;#xD558;&amp;#xB97C; &amp;#xC904;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;/li&gt;
&lt;/ol&gt;
&lt;hr&gt;
&lt;h3 class=&quot;mume-header&quot; id=&quot;div-ida077-%EB%8D%B0%EC%9D%B4%ED%84%B0-%EC%84%BC%ED%84%B0idcdiv&quot;&gt;&lt;div id=&quot;a07&quot;&gt;7. &amp;#xB370;&amp;#xC774;&amp;#xD130; &amp;#xC13C;&amp;#xD130;(IDC)&lt;/div&gt;&lt;/h3&gt;

&lt;p&gt;&amp;#xC9C0;&amp;#xB9AC;&amp;#xC801; &amp;#xB77C;&amp;#xC6B0;&amp;#xD305;(geoDNS-routing, geo-routing)&amp;#xC744; &amp;#xC774;&amp;#xC6A9;&amp;#xD558;&amp;#xBA74; &amp;#xC0AC;&amp;#xC6A9;&amp;#xC790;&amp;#xC758; &amp;#xC704;&amp;#xCE58;&amp;#xC5D0;&amp;#xC11C; &amp;#xAC00;&amp;#xC7A5; &amp;#xAC00;&amp;#xAE4C;&amp;#xC6B4; &amp;#xB370;&amp;#xC774;&amp;#xD130; &amp;#xC13C;&amp;#xD130;&amp;#xB85C; ip&amp;#xB97C; &amp;#xBCC0;&amp;#xD658;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;#xC608;&amp;#xB97C;&amp;#xB4E4;&amp;#xBA74; &amp;#xC11C;&amp;#xC6B8; IDC, &amp;#xB300;&amp;#xC804; IDC &amp;#xAC19;&amp;#xC774; &amp;#xC9C0;&amp;#xC5ED;&amp;#xC744; &amp;#xB2EC;&amp;#xB9AC; &amp;#xAD6C;&amp;#xC131;&amp;#xD558;&amp;#xB294; &amp;#xAC83;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;br&gt;
&lt;p&gt;&amp;#xC5EC;&amp;#xB7EC;&amp;#xAC1C;&amp;#xC758; &amp;#xB370;&amp;#xC774;&amp;#xD130; &amp;#xC13C;&amp;#xD130;&amp;#xB97C; &amp;#xC9C0;&amp;#xB9AC;&amp;#xC801;&amp;#xC73C;&amp;#xB85C; &amp;#xB2E4;&amp;#xB978; &amp;#xC704;&amp;#xCE58;&amp;#xC5D0; &amp;#xC704;&amp;#xCE58;&amp;#xC2DC;&amp;#xD0A4;&amp;#xB294; &amp;#xAC83;&amp;#xC774; &amp;#xD070; &amp;#xC7AC;&amp;#xB09C;&amp;#xC5D0; &amp;#xB300;&amp;#xD55C; &amp;#xB300;&amp;#xC751;&amp;#xC744; &amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xB2E4;&amp;#xC911; &amp;#xB370;&amp;#xC774;&amp;#xD130; &amp;#xC13C;&amp;#xD130; &amp;#xC544;&amp;#xD0A4;&amp;#xD14D;&amp;#xCC98;&amp;#xC5D0;&amp;#xC11C; &amp;#xB370;&amp;#xC774;&amp;#xD130; &amp;#xC13C;&amp;#xD130; &amp;#xD558;&amp;#xB098;&amp;#xAC00; &amp;#xC7A5;&amp;#xC560;&amp;#xAC00; &amp;#xBC1C;&amp;#xC0DD;&amp;#xD588;&amp;#xC744;&amp;#xC2DC;, &amp;#xAD00;&amp;#xB828; &amp;#xD2B8;&amp;#xB798;&amp;#xD53D;&amp;#xC740; &amp;#xB098;&amp;#xBA38;&amp;#xC9C0; &amp;#xB370;&amp;#xC774;&amp;#xD130; &amp;#xC13C;&amp;#xD130;&amp;#xC5D0;&amp;#xC11C; &amp;#xB300;&amp;#xC2E0;&amp;#xD558;&amp;#xC5EC; &amp;#xCC98;&amp;#xB9AC;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xB2E4;&amp;#xC911; &amp;#xB370;&amp;#xC774;&amp;#xD130; &amp;#xC13C;&amp;#xD130; &amp;#xC544;&amp;#xD0A4;&amp;#xD14D;&amp;#xCC98;&amp;#xB97C; &amp;#xAD6C;&amp;#xC131;&amp;#xD560; &amp;#xB54C;&amp;#xC5D4; &amp;#xC544;&amp;#xB798;&amp;#xC640; &amp;#xAC19;&amp;#xC740; &amp;#xC0AC;&amp;#xD56D;&amp;#xC744; &amp;#xACE0;&amp;#xB824;&amp;#xD574;&amp;#xC57C; &amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&amp;#xD2B8;&amp;#xB798;&amp;#xD53D; &amp;#xC6B0;&amp;#xD68C;
&lt;ul&gt;
&lt;li&gt;GeoDNS&amp;#xAC00; &amp;#xAC00;&amp;#xC7A5; &amp;#xAC00;&amp;#xAE4C;&amp;#xC6B4; &amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xC13C;&amp;#xD130;&amp;#xB85C; &amp;#xD2B8;&amp;#xB798;&amp;#xD53D;&amp;#xC744; &amp;#xBCF4;&amp;#xB0B4;&amp;#xB3C4;&amp;#xB85D; &amp;#xD574;&amp;#xC57C;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&amp;#xB370;&amp;#xC774;&amp;#xD130; &amp;#xB3D9;&amp;#xAE30;&amp;#xD654;
&lt;ul&gt;
&lt;li&gt;&amp;#xB370;&amp;#xC774;&amp;#xD130; &amp;#xC13C;&amp;#xD130;&amp;#xB9C8;&amp;#xB2E4; &amp;#xBCC4;&amp;#xB3C4;&amp;#xC758; &amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xBCA0;&amp;#xC774;&amp;#xC2A4;&amp;#xB97C; &amp;#xAC00;&amp;#xC9C0;&amp;#xACE0; &amp;#xC788;&amp;#xC744; &amp;#xACBD;&amp;#xC6B0;, &amp;#xAC01; &amp;#xB370;&amp;#xC774;&amp;#xD130; &amp;#xC13C;&amp;#xD130; &amp;#xB0B4;&amp;#xC5D0; &amp;#xC788;&amp;#xB294; &amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xBCA0;&amp;#xC774;&amp;#xC2A4;&amp;#xB97C; &amp;#xB2E4;&amp;#xC911;&amp;#xD654;&amp;#xD574;&amp;#xC57C; &amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&amp;#xD14C;&amp;#xC2A4;&amp;#xD2B8; &amp;#xBC0F; &amp;#xBC30;&amp;#xD3EC;
&lt;ul&gt;
&lt;li&gt;&amp;#xC790;&amp;#xB3D9;&amp;#xD654;&amp;#xB41C; &amp;#xBC30;&amp;#xD3EC;&amp;#xB3C4;&amp;#xAD6C;&amp;#xB97C; &amp;#xC774;&amp;#xC6A9;&amp;#xD558;&amp;#xC5EC; &amp;#xAC01; &amp;#xB370;&amp;#xC774;&amp;#xD130; &amp;#xC13C;&amp;#xD130;&amp;#xC5D0;&amp;#xC11C; &amp;#xC6F9;&amp;#xC0AC;&amp;#xC774;&amp;#xD2B8;/&amp;#xC560;&amp;#xD50C;&amp;#xB9AC;&amp;#xCF00;&amp;#xC774;&amp;#xC158; &amp;#xAD6C;&amp;#xB3D9;&amp;#xC774; &amp;#xC798;&amp;#xB418;&amp;#xB294;&amp;#xC9C0; &amp;#xD14C;&amp;#xC2A4;&amp;#xD2B8;&amp;#xD574;&amp;#xC57C; &amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h4 class=&quot;mume-header&quot; id&gt;++&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;&amp;#xAC00;&amp;#xC0C1; &amp;#xBA74;&amp;#xC811; &amp;#xC0AC;&amp;#xB840;&amp;#xB85C; &amp;#xBC30;&amp;#xC6B0;&amp;#xB294; &amp;#xB300;&amp;#xADDC;&amp;#xBAA8; &amp;#xC2DC;&amp;#xC2A4;&amp;#xD15C; &amp;#xC124;&amp;#xACC4; &amp;#xAE30;&amp;#xCD08;&lt;/li&gt;
&lt;li&gt;&amp;#xC774;&amp;#xBBF8;&amp;#xC9C0; &amp;#xCD9C;&amp;#xCC98;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.flaticon.com/authors/iconbaandar&quot;&gt;https://www.flaticon.com/authors/iconbaandar&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;

  &lt;/div&gt;&lt;/div&gt;</description>
      <category>Dev/System Design</category>
      <category>가상 면접 사례로 배우는 대규모 시스템 설계 기초</category>
      <author>jiniya22</author>
      <guid isPermaLink="true">https://jini-box.tistory.com/211</guid>
      <comments>https://jini-box.tistory.com/211#entry211comment</comments>
      <pubDate>Fri, 19 May 2023 02:16:02 +0900</pubDate>
    </item>
    <item>
      <title>[Hexagonal Architecture] 3. Adapter 구현하기</title>
      <link>https://jini-box.tistory.com/210</link>
      <description>&lt;div id=&quot;html-export&quot;&gt;
      &lt;div class=&quot;mume markdown-preview  &quot;&gt;
      &lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;#a01&quot;&gt;Web Adapter &amp;#xAD6C;&amp;#xD604;&amp;#xD558;&amp;#xAE30;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#a02&quot;&gt;Persistence Adapter &amp;#xAD6C;&amp;#xD604;&amp;#xD558;&amp;#xAE30;&lt;/a&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;#a02-1&quot;&gt;Output Port&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#a02-2&quot;&gt;ORM Entity&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#a02-3&quot;&gt;Mapper &amp;#xD074;&amp;#xB798;&amp;#xC2A4;&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#a03&quot;&gt;&amp;#xCC38;&amp;#xACE0;&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;hr&gt;
&lt;h2 class=&quot;mume-header&quot; id=&quot;div-ida011-web-adapter-%EA%B5%AC%ED%98%84%ED%95%98%EA%B8%B0div&quot;&gt;&lt;div id=&quot;a01&quot;&gt;1. Web Adapter &amp;#xAD6C;&amp;#xD604;&amp;#xD558;&amp;#xAE30;&lt;/div&gt;&lt;/h2&gt;

&lt;p&gt;&amp;#xC6F9; &amp;#xC5B4;&amp;#xB311;&amp;#xD130;&amp;#xB294; incoming adapter &amp;#xC911; &amp;#xD558;&amp;#xB098;&amp;#xB85C;, &amp;#xC678;&amp;#xBD80;&amp;#xB85C;&amp;#xBD80;&amp;#xD130; http&amp;#xB97C; &amp;#xD1B5;&amp;#xD574; request&amp;#xB97C; &amp;#xBC1B;&amp;#xC544; &amp;#xC560;&amp;#xD50C;&amp;#xB9AC;&amp;#xCF00;&amp;#xC774;&amp;#xC158; &amp;#xCF54;&amp;#xC5B4;&amp;#xB97C; &amp;#xD638;&amp;#xCD9C;&amp;#xD558;&amp;#xB294; &amp;#xC8FC;&amp;#xB3C4;&amp;#xD558;&amp;#xB294; &amp;#xC5B4;&amp;#xB311;&amp;#xD130;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xC6B0;&amp;#xB9AC;&amp;#xAC00; controller &amp;#xD074;&amp;#xB798;&amp;#xC2A4;&amp;#xB85C; &amp;#xC815;&amp;#xC758;&amp;#xD558;&amp;#xB294; &amp;#xBD80;&amp;#xBD84;&amp;#xC774; &amp;#xC774;&amp;#xC5D0; &amp;#xD574;&amp;#xB2F9;&amp;#xB418;&amp;#xBA70;, http&amp;#xC640; &amp;#xAD00;&amp;#xB828;&amp;#xB41C; &amp;#xAE30;&amp;#xB2A5;&amp;#xC744; &amp;#xB2F4;&amp;#xB2F9;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&lt;br&gt;&lt;/p&gt;
&lt;p&gt;&lt;img width=&quot;630&quot; alt=&quot;01-4&quot; src=&quot;https://user-images.githubusercontent.com/31076826/228931326-cff27a32-d72c-4ff4-9aa9-f964bbfdce9c.png&quot;&gt;&lt;br&gt;&lt;/p&gt;
&lt;p&gt;&amp;#xC6F9; &amp;#xC5B4;&amp;#xB311;&amp;#xD130;&amp;#xB294; &lt;code&gt;application - port - in&lt;/code&gt;&amp;#xC5D0; &amp;#xC704;&amp;#xCE58;&amp;#xD55C; input port&amp;#xB97C; &amp;#xD638;&amp;#xCD9C;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;input port&amp;#xB294; &amp;#xC678;&amp;#xBD80; &amp;#xC5B4;&amp;#xB311;&amp;#xD130;&amp;#xC640; &amp;#xC560;&amp;#xD50C;&amp;#xB9AC;&amp;#xCF00;&amp;#xC774;&amp;#xC158; &amp;#xCF54;&amp;#xC5B4;&amp;#xAC00; &amp;#xD1B5;&amp;#xC2E0;&amp;#xD558;&amp;#xB294; &amp;#xBA85;&amp;#xC138;&amp;#xB85C; &amp;#xC778;&amp;#xD130;&amp;#xD398;&amp;#xC774;&amp;#xC2A4;&amp;#xB85C; &amp;#xB418;&amp;#xC5B4;&amp;#xC788;&amp;#xC5B4; DIP(&amp;#xC758;&amp;#xC874;&amp;#xC131; &amp;#xC5ED;&amp;#xC804; &amp;#xC6D0;&amp;#xCE59;)&amp;#xC774; &amp;#xC791;&amp;#xC6A9;&amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;#xC774;&amp;#xC804;&amp;#xC2DC;&amp;#xAC04;&amp;#xC5D0; &amp;#xC124;&amp;#xBA85;&amp;#xD588;&amp;#xB358; UseCase &amp;#xC778;&amp;#xD130;&amp;#xD398;&amp;#xC774;&amp;#xC2A4;, &amp;#xC77D;&amp;#xAE30;&amp;#xC804;&amp;#xC6A9; UseCase&amp;#xC778; Query &amp;#xC778;&amp;#xD130;&amp;#xD398;&amp;#xC774;&amp;#xC2A4;&amp;#xAC00; &amp;#xC5EC;&amp;#xAE30;&amp;#xC5D0; &amp;#xD574;&amp;#xB2F9;&amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;br&gt;
&lt;p&gt;&amp;#xC6F9; &amp;#xC5B4;&amp;#xB311;&amp;#xD130;&amp;#xB294; &amp;#xC544;&amp;#xB798;&amp;#xC640; &amp;#xAC19;&amp;#xC740; &amp;#xB2E8;&amp;#xACC4;&amp;#xB85C; &amp;#xC791;&amp;#xC5C5;&amp;#xC744; &amp;#xC218;&amp;#xD589;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;http request&amp;#xB97C; Java &amp;#xAC1D;&amp;#xCCB4;&amp;#xB85C; &amp;#xB9E4;&amp;#xD551;&lt;/li&gt;
&lt;li&gt;&amp;#xAD8C;&amp;#xD55C; &amp;#xAC80;&amp;#xC0AC;&lt;/li&gt;
&lt;li&gt;&amp;#xC785;&amp;#xB825; &amp;#xC720;&amp;#xD6A8;&amp;#xC131; &amp;#xAC80;&amp;#xC99D;&lt;/li&gt;
&lt;li&gt;&amp;#xC785;&amp;#xB825; &amp;#xAC12;&amp;#xC744; Use Case&amp;#xC6A9; &amp;#xC785;&amp;#xB825;&amp;#xBAA8;&amp;#xB378;&amp;#xB85C; &amp;#xB9E4;&amp;#xD551;&lt;/li&gt;
&lt;li&gt;&amp;#xC720;&amp;#xC2A4;&amp;#xCF00;&amp;#xC774;&amp;#xC2A4; &amp;#xD638;&amp;#xCD9C;&lt;/li&gt;
&lt;li&gt;&amp;#xC720;&amp;#xC2A4;&amp;#xCF00;&amp;#xC774;&amp;#xC2A4; &amp;#xACB0;&amp;#xACFC;&amp;#xB97C; http&amp;#xB85C; &amp;#xB9E4;&amp;#xD551;&lt;/li&gt;
&lt;li&gt;http response &amp;#xBC18;&amp;#xD658;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;http&amp;#xC640; &amp;#xAD00;&amp;#xB828;&amp;#xB41C; &amp;#xAE30;&amp;#xB2A5;&amp;#xC740; &amp;#xCCA0;&amp;#xC800;&amp;#xD558;&amp;#xAC8C; &amp;#xC6F9; &amp;#xC5B4;&amp;#xB311;&amp;#xD130;&amp;#xC5D0;&amp;#xC11C; &amp;#xCC98;&amp;#xB9AC;&amp;#xD558;&amp;#xACE0;,&lt;br&gt;
&amp;#xC560;&amp;#xD50C;&amp;#xB9AC;&amp;#xCF00;&amp;#xC774;&amp;#xC158; &amp;#xCF54;&amp;#xC5B4;&amp;#xB098; &amp;#xB2E4;&amp;#xB978; &amp;#xC5B4;&amp;#xB311;&amp;#xD130;&amp;#xB294; http&amp;#xC640; &amp;#xAD00;&amp;#xB828;&amp;#xB41C; &amp;#xBAA8;&amp;#xB4E0; &amp;#xAE30;&amp;#xB2A5;&amp;#xC744; &amp;#xAD00;&amp;#xC5EC;&amp;#xD558;&amp;#xC9C0; &amp;#xC54A;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;#xC560;&amp;#xD50C;&amp;#xB9AC;&amp;#xCF00;&amp;#xC774;&amp;#xC158; &amp;#xCF54;&amp;#xC5B4;&amp;#xC5D0;&amp;#xC11C; http&amp;#xC5D0; &amp;#xB300;&amp;#xD55C; &amp;#xAE30;&amp;#xB2A5;&amp;#xC744; &amp;#xAD00;&amp;#xC5EC;&amp;#xD558;&amp;#xC9C0; &amp;#xC54A;&amp;#xB294; &amp;#xC131;&amp;#xC9C8;&amp;#xC5D0; &amp;#xC758;&amp;#xD574; &amp;#xB2E4;&amp;#xB978; &amp;#xC5B4;&amp;#xB311;&amp;#xD130;&amp;#xB85C; &amp;#xC27D;&amp;#xAC8C; &amp;#xAD50;&amp;#xCCB4;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;br&gt;
&lt;p&gt;&amp;#xC6F9; &amp;#xC5B4;&amp;#xB311;&amp;#xD130;&amp;#xB3C4; &amp;#xC720;&amp;#xC2A4;&amp;#xCF00;&amp;#xC774;&amp;#xC2A4;&amp;#xC640; &amp;#xAC19;&amp;#xC774; &amp;#xC791;&amp;#xAC8C; &amp;#xCABC;&amp;#xAC1C;&amp;#xC5B4; &amp;#xAC00;&amp;#xB3C5;&amp;#xC131;&amp;#xC744; &amp;#xB192;&amp;#xC774;&amp;#xACE0; &amp;#xCF54;&amp;#xB4DC;&amp;#xC758; &amp;#xC7AC;&amp;#xD65C;&amp;#xC6A9;&amp;#xC744; &amp;#xB192;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
(&amp;#xB610;&amp;#xD55C; &amp;#xD611;&amp;#xC5C5;&amp;#xC5D0;&amp;#xB3C4; &amp;#xD6A8;&amp;#xC728;&amp;#xC801;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.)&lt;br&gt;
&lt;br&gt;&lt;/p&gt;
&lt;p&gt;&amp;#xACF5;&amp;#xC9C0;&amp;#xC0AC;&amp;#xD56D; &amp;#xC870;&amp;#xD68C;&amp;#xC6A9; &amp;#xC6F9; &amp;#xC5B4;&amp;#xB311;&amp;#xD130;&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;kt&quot; class=&quot;language-kt&quot;&gt;&lt;span class=&quot;token annotation builtin&quot;&gt;@Validated&lt;/span&gt;
&lt;span class=&quot;token annotation builtin&quot;&gt;@WebAdapter&lt;/span&gt;
&lt;span class=&quot;token annotation builtin&quot;&gt;@Tag&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;name &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;setting-system&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; description &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;&amp;#xC124;&amp;#xC815;-&amp;#xC2DC;&amp;#xC2A4;&amp;#xD15C;(&amp;#xACF5;&amp;#xC9C0;&amp;#xC0AC;&amp;#xD56D;, FAQ, &amp;#xC774;&amp;#xC6A9;&amp;#xC57D;&amp;#xAD00;, &amp;#xBA54;&amp;#xD0C0;&amp;#xC815;&amp;#xBCF4; &amp;#xB4F1;)&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token annotation builtin&quot;&gt;@RestController&lt;/span&gt;
&lt;span class=&quot;token annotation builtin&quot;&gt;@RequestMapping&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;/v1/notices&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token keyword keyword-internal&quot;&gt;internal&lt;/span&gt; &lt;span class=&quot;token keyword keyword-class&quot;&gt;class&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;GetNoticeController&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;
    &lt;span class=&quot;token keyword keyword-private&quot;&gt;private&lt;/span&gt; &lt;span class=&quot;token keyword keyword-val&quot;&gt;val&lt;/span&gt; getNoticeQuery&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; GetNoticeQuery&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;

    &lt;span class=&quot;token annotation builtin&quot;&gt;@Operation&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;summary &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;&amp;#xACF5;&amp;#xC9C0;&amp;#xC0AC;&amp;#xD56D; &amp;#xBAA9;&amp;#xB85D;&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
    &lt;span class=&quot;token annotation builtin&quot;&gt;@GetMapping&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
    &lt;span class=&quot;token keyword keyword-fun&quot;&gt;fun&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;getNotices&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;
        &lt;span class=&quot;token annotation builtin&quot;&gt;@RequestParam&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;value &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;page&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; required &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token boolean&quot;&gt;false&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; defaultValue &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;0&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; page&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; Int&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
        &lt;span class=&quot;token annotation builtin&quot;&gt;@RequestParam&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;value &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;size&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; required &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token boolean&quot;&gt;false&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; defaultValue &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;10&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; size&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; Int&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; getNoticeQuery&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;getNoticeSummaries&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;GetNoticesCommand&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;page &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; page&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; size &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; size&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;

    &lt;span class=&quot;token annotation builtin&quot;&gt;@Operation&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;summary &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;&amp;#xACF5;&amp;#xC9C0;&amp;#xC0AC;&amp;#xD56D; &amp;#xC0C1;&amp;#xC138;&amp;#xC870;&amp;#xD68C;&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
    &lt;span class=&quot;token annotation builtin&quot;&gt;@GetMapping&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;/{notice_id}&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
    &lt;span class=&quot;token keyword keyword-suspend&quot;&gt;suspend&lt;/span&gt; &lt;span class=&quot;token keyword keyword-fun&quot;&gt;fun&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;getNotice&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token annotation builtin&quot;&gt;@PathVariable&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;notice_id&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; noticeId&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; String&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; getNoticeQuery&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;getNoticeDetail&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;noticeId&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
        &lt;span class=&quot;token operator&quot;&gt;?:&lt;/span&gt; &lt;span class=&quot;token keyword keyword-throw&quot;&gt;throw&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;NotFoundException&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;&amp;#xC870;&amp;#xD68C;&amp;#xB418;&amp;#xB294; &amp;#xACF5;&amp;#xC9C0;&amp;#xC0AC;&amp;#xD56D;&amp;#xC774; &amp;#xC5C6;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;

&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;br&gt;
&lt;p&gt;&amp;#xACF5;&amp;#xC9C0;&amp;#xC0AC;&amp;#xD56D; &amp;#xB4F1;&amp;#xB85D;&amp;#xC6A9; &amp;#xC6F9; &amp;#xC5B4;&amp;#xB311;&amp;#xD130;&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;kt&quot; class=&quot;language-kt&quot;&gt;&lt;span class=&quot;token annotation builtin&quot;&gt;@WebAdapter&lt;/span&gt;
&lt;span class=&quot;token annotation builtin&quot;&gt;@Tag&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;name &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;setting-system&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; description &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;&amp;#xC124;&amp;#xC815;-&amp;#xC2DC;&amp;#xC2A4;&amp;#xD15C;(&amp;#xACF5;&amp;#xC9C0;&amp;#xC0AC;&amp;#xD56D;, FAQ, &amp;#xC774;&amp;#xC6A9;&amp;#xC57D;&amp;#xAD00;, &amp;#xBA54;&amp;#xD0C0;&amp;#xC815;&amp;#xBCF4; &amp;#xB4F1;)&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token annotation builtin&quot;&gt;@RestController&lt;/span&gt;
&lt;span class=&quot;token annotation builtin&quot;&gt;@RequestMapping&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;/v1/notices&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token keyword keyword-internal&quot;&gt;internal&lt;/span&gt; &lt;span class=&quot;token keyword keyword-class&quot;&gt;class&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;RegisterNoticeController&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;
    &lt;span class=&quot;token keyword keyword-private&quot;&gt;private&lt;/span&gt; &lt;span class=&quot;token keyword keyword-val&quot;&gt;val&lt;/span&gt; registerNoticeUseCase&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; RegisterNoticeUseCase&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;

    &lt;span class=&quot;token annotation builtin&quot;&gt;@Operation&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;summary &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;&amp;#xACF5;&amp;#xC9C0;&amp;#xC0AC;&amp;#xD56D; &amp;#xB4F1;&amp;#xB85D;&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
    &lt;span class=&quot;token annotation builtin&quot;&gt;@PostMapping&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
    &lt;span class=&quot;token keyword keyword-suspend&quot;&gt;suspend&lt;/span&gt; &lt;span class=&quot;token keyword keyword-fun&quot;&gt;fun&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;getNotices&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;
        &lt;span class=&quot;token annotation builtin&quot;&gt;@Valid&lt;/span&gt; &lt;span class=&quot;token annotation builtin&quot;&gt;@RequestBody&lt;/span&gt; command&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; RegisterNoticeCommand&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; registerNoticeUseCase&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;registerNotice&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;command&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;

&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;hr&gt;
&lt;h2 class=&quot;mume-header&quot; id=&quot;div-ida022-persistence-adapter-%EA%B5%AC%ED%98%84%ED%95%98%EA%B8%B0div&quot;&gt;&lt;div id=&quot;a02&quot;&gt;2. Persistence Adapter &amp;#xAD6C;&amp;#xD604;&amp;#xD558;&amp;#xAE30;&lt;/div&gt;&lt;/h2&gt;

&lt;p&gt;&amp;#xAE30;&amp;#xC874;&amp;#xC758; &amp;#xACC4;&amp;#xCE35;&amp;#xD615; &amp;#xC544;&amp;#xD0A4;&amp;#xD14D;&amp;#xCC98;&amp;#xC758; &amp;#xBB38;&amp;#xC81C;&amp;#xC810;&amp;#xC740; &amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xBCA0;&amp;#xC774;&amp;#xC2A4;(&amp;#xC601;&amp;#xC18D;&amp;#xC131; &amp;#xACC4;&amp;#xCE35;)&amp;#xC5D0; &amp;#xC758;&amp;#xC874;&amp;#xC801;&amp;#xC778; &amp;#xAD6C;&amp;#xC870;&amp;#xB77C;&amp;#xB294; &amp;#xC810;&amp;#xC774;&amp;#xC5C8;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xD5E5;&amp;#xC0AC;&amp;#xACE0;&amp;#xB0A0; &amp;#xC544;&amp;#xD0A4;&amp;#xD14D;&amp;#xCC98;&amp;#xB294; &amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xBCA0;&amp;#xC774;&amp;#xC2A4;&amp;#xAC00; &amp;#xC544;&amp;#xB2CC; &lt;strong&gt;&amp;#xB3C4;&amp;#xBA54;&amp;#xC778; &amp;#xC8FC;&amp;#xB3C4; &amp;#xC124;&amp;#xACC4;&lt;/strong&gt;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xB3C4;&amp;#xBA54;&amp;#xC778;&amp;#xC744; &amp;#xAE30;&amp;#xC900;&amp;#xC73C;&amp;#xB85C; &amp;#xC124;&amp;#xACC4;&amp;#xD558;&amp;#xAE30; &amp;#xC704;&amp;#xD574;&amp;#xC11C;&amp;#xB294; DIP(&amp;#xC758;&amp;#xC874;&amp;#xC131; &amp;#xC5ED;&amp;#xC804;)&amp;#xC774; &amp;#xC801;&amp;#xC6A9;&amp;#xB418;&amp;#xC5B4;&amp;#xC57C; &amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&lt;img width=&quot;628&quot; alt=&quot;01-5&quot; src=&quot;https://user-images.githubusercontent.com/31076826/228931333-84af6228-426a-43f0-bb4c-42930a4fa1f1.png&quot;&gt;&lt;br&gt;&lt;/p&gt;
&lt;p&gt;&amp;#xC11C;&amp;#xBE44;&amp;#xC2A4;&amp;#xC5D0;&amp;#xC11C; &amp;#xC601;&amp;#xC18D;&amp;#xC131; &amp;#xC791;&amp;#xC5C5;&amp;#xC744; &amp;#xC218;&amp;#xD589;&amp;#xD558;&amp;#xAE30; &amp;#xC704;&amp;#xD574; output port &amp;#xB97C; &amp;#xD638;&amp;#xCD9C;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;persistence adapter&amp;#xB294; output port &amp;#xC778;&amp;#xD130;&amp;#xD398;&amp;#xC774;&amp;#xC2A4;&amp;#xB97C; &amp;#xAD6C;&amp;#xD604;&amp;#xD558;&amp;#xACE0;&lt;br&gt;
output port&amp;#xB294; &amp;#xBA85;&amp;#xC138;&amp;#xB9CC; &amp;#xC791;&amp;#xC131;&amp;#xB418;&amp;#xC5B4;&amp;#xC788;&amp;#xAE30; &amp;#xB54C;&amp;#xBB38;&amp;#xC5D0; &amp;#xC601;&amp;#xC18D;&amp;#xC131; &amp;#xACC4;&amp;#xCE35;&amp;#xC5D0; &amp;#xB300;&amp;#xD55C; &amp;#xC758;&amp;#xC874;&amp;#xC131;&amp;#xC774; &amp;#xC5C6;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;web adapter&amp;#xC640; &amp;#xB9C8;&amp;#xCC2C;&amp;#xAC00;&amp;#xC9C0;&amp;#xB85C; &amp;#xB2E4;&amp;#xB978; &amp;#xC5B4;&amp;#xB311;&amp;#xD130;&amp;#xB85C; &amp;#xC27D;&amp;#xAC8C; &amp;#xAD50;&amp;#xCCB4;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xACE0;, &amp;#xC601;&amp;#xC18D;&amp;#xC131; &amp;#xC5B4;&amp;#xB311;&amp;#xD130;&amp;#xC758; &amp;#xBCC0;&amp;#xACBD;&amp;#xC740; &amp;#xC560;&amp;#xD50C;&amp;#xB9AC;&amp;#xCF00;&amp;#xC774;&amp;#xC158; &amp;#xCF54;&amp;#xC5B4;&amp;#xC5D0; &amp;#xC601;&amp;#xD5A5;&amp;#xC744; &amp;#xC8FC;&amp;#xC9C0; &amp;#xC54A;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;br&gt;
&lt;p&gt;&amp;#xC601;&amp;#xC18D;&amp;#xC131; &amp;#xC5B4;&amp;#xB311;&amp;#xD130;&amp;#xB294; &amp;#xC544;&amp;#xB798;&amp;#xC640; &amp;#xAC19;&amp;#xC740; &amp;#xB2E8;&amp;#xACC4;&amp;#xB85C; &amp;#xC791;&amp;#xC5C5;&amp;#xC744; &amp;#xC218;&amp;#xD589;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&amp;#xC785;&amp;#xB825;&amp;#xAC12;&amp;#xC744; &amp;#xBC1B;&amp;#xACE0;&lt;/li&gt;
&lt;li&gt;&amp;#xC785;&amp;#xB825;&amp;#xAC12;&amp;#xC744; &amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xBCA0;&amp;#xC774;&amp;#xC2A4;&amp;#xC6A9; &amp;#xD615;&amp;#xC2DD;&amp;#xC73C;&amp;#xB85C; &amp;#xB9E4;&amp;#xD551;&amp;#xD55C; &amp;#xD6C4; &amp;#xB370;&amp;#xC774;&amp;#xD130; &amp;#xBCA0;&amp;#xC774;&amp;#xC2A4;&amp;#xB85C; &amp;#xBCF4;&amp;#xB0B8; &amp;#xB2E4;&amp;#xC74C;
&lt;ul&gt;
&lt;li&gt;JPA&amp;#xB97C; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD558;&amp;#xB294; &amp;#xACBD;&amp;#xC6B0; JPA &amp;#xC5D4;&amp;#xD2F0;&amp;#xD2F0; &amp;#xB3C4;&amp;#xBA54;&amp;#xC778; &amp;#xD615;&amp;#xC2DD;&amp;#xC73C;&amp;#xB85C; &amp;#xB9E4;&amp;#xD551;&lt;/li&gt;
&lt;li&gt;MongoDB&amp;#xB97C; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD558;&amp;#xB294; &amp;#xACBD;&amp;#xC6B0; MongoDB &amp;#xB3C4;&amp;#xD050;&amp;#xBA3C;&amp;#xD2B8; &amp;#xD615;&amp;#xC2DD;&amp;#xC73C;&amp;#xB85C; &amp;#xB9E4;&amp;#xD551;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&amp;#xB370;&amp;#xC774;&amp;#xD130;&amp;#xBCA0;&amp;#xC774;&amp;#xC2A4; &amp;#xCD9C;&amp;#xB825;&amp;#xAC12;&amp;#xC744; &amp;#xC560;&amp;#xD50C;&amp;#xB9AC;&amp;#xCF00;&amp;#xC774;&amp;#xC158; &amp;#xD615;&amp;#xC2DD;&amp;#xC73C;&amp;#xB85C; &amp;#xB9E4;&amp;#xD551;&amp;#xD558;&amp;#xC5EC;&lt;/li&gt;
&lt;li&gt;&amp;#xCD9C;&amp;#xB825;&amp;#xAC12;&amp;#xC744; &amp;#xBC18;&amp;#xD658;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/li&gt;
&lt;/ol&gt;
&lt;br&gt;
&lt;h3 class=&quot;mume-header&quot; id=&quot;div-ida02-121-output-portdiv&quot;&gt;&lt;div id=&quot;a02-1&quot;&gt;2.1. Output Port&lt;/div&gt;&lt;/h3&gt;

&lt;p&gt;Output port&amp;#xC5D0; JpaRepository &amp;#xC778;&amp;#xD130;&amp;#xD398;&amp;#xC774;&amp;#xC2A4;&amp;#xAC00; &amp;#xC788;&amp;#xC744; &amp;#xACBD;&amp;#xC6B0;, &amp;#xC601;&amp;#xC18D;&amp;#xC131; &amp;#xC5B4;&amp;#xB311;&amp;#xD130;&amp;#xAC00; output port&amp;#xC5D0; &amp;#xC758;&amp;#xC874;&amp;#xC131;&amp;#xC744; &amp;#xAC16;&amp;#xAC8C;&amp;#xB418;&amp;#xB294; &amp;#xBB38;&amp;#xC81C;&amp;#xC810;&amp;#xC774; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;output port&amp;#xC5D0;&amp;#xC11C;&amp;#xB3C4; input port&amp;#xC640; &amp;#xB9C8;&amp;#xCC2C;&amp;#xAC00;&amp;#xC9C0;&amp;#xB85C;, &amp;#xC5B4;&amp;#xB381;&amp;#xD130;&amp;#xC5D0;&amp;#xC11C; &amp;#xC791;&amp;#xB3D9;&amp;#xB420; &amp;#xAE30;&amp;#xB2A5;&amp;#xC5D0; &amp;#xB300;&amp;#xD55C; &amp;#xBA85;&amp;#xC138;&amp;#xAC00; &amp;#xAE30;&amp;#xB85D;&amp;#xB41C; &amp;#xC778;&amp;#xD130;&amp;#xD398;&amp;#xC774;&amp;#xC2A4;&amp;#xB9CC; &amp;#xC815;&amp;#xC758;&amp;#xD558;&amp;#xACE0;&lt;br&gt;
JpaRepository &amp;#xC778;&amp;#xD130;&amp;#xD398;&amp;#xC774;&amp;#xC2A4;&amp;#xB294; &lt;code&gt;adapter - out - persistence&lt;/code&gt;&amp;#xC5D0; &amp;#xC704;&amp;#xCE58;&amp;#xC2DC;&amp;#xD0A4;&amp;#xB294; &amp;#xAC83;&amp;#xC774; &amp;#xAD6C;&amp;#xC870;&amp;#xC801;&amp;#xC73C;&amp;#xB85C; &amp;#xC88B;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;ISP(&amp;#xC778;&amp;#xD130;&amp;#xD398;&amp;#xC774;&amp;#xC2A4; &amp;#xBD84;&amp;#xB9AC; &amp;#xC6D0;&amp;#xCE59;)&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;br&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;kt&quot; class=&quot;language-kt&quot;&gt;&lt;span class=&quot;token keyword keyword-interface&quot;&gt;interface&lt;/span&gt; LoadNoticePort &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;token keyword keyword-fun&quot;&gt;fun&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;loadNotices&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;pageable&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; Pageable&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; Flow&lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;Notice&lt;span class=&quot;token operator&quot;&gt;&amp;gt;&lt;/span&gt;
    &lt;span class=&quot;token keyword keyword-suspend&quot;&gt;suspend&lt;/span&gt; &lt;span class=&quot;token keyword keyword-fun&quot;&gt;fun&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;loadNotice&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;id&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; String&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; Notice&lt;span class=&quot;token operator&quot;&gt;?&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;kt&quot; class=&quot;language-kt&quot;&gt;&lt;span class=&quot;token keyword keyword-interface&quot;&gt;interface&lt;/span&gt; SaveNoticePort &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;token keyword keyword-suspend&quot;&gt;suspend&lt;/span&gt; &lt;span class=&quot;token keyword keyword-fun&quot;&gt;fun&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;saveNotice&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;notice&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; Notice&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;br&gt;
&lt;h3 class=&quot;mume-header&quot; id=&quot;div-ida02-222-orm-entitydiv&quot;&gt;&lt;div id=&quot;a02-2&quot;&gt;2.2. ORM Entity&lt;/div&gt;&lt;/h3&gt;

&lt;p&gt;&amp;#xB9CC;&amp;#xC77C;, &amp;#xC5F0;&amp;#xACB0;&amp;#xD560; &amp;#xD37C;&amp;#xC2DC;&amp;#xC2A4;&amp;#xD134;&amp;#xC2A4; &amp;#xC5B4;&amp;#xB311;&amp;#xD130;&amp;#xAC00; MongoDB &amp;#xAE30;&amp;#xBC18;&amp;#xC774;&amp;#xB77C;&amp;#xBA74;,&lt;br&gt;
MongoDB document &amp;#xC815;&amp;#xC758;&amp;#xAC00; &amp;#xD544;&amp;#xC218;&amp;#xC801;&amp;#xC73C;&amp;#xB85C; &amp;#xD544;&amp;#xC694;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xC774;&amp;#xB54C;, &amp;#xB3C4;&amp;#xBA54;&amp;#xC778; &amp;#xB808;&amp;#xC774;&amp;#xC5B4;&amp;#xC5D0;&amp;#xC11C; &amp;#xC601;&amp;#xC18D;&amp;#xC131; &amp;#xB808;&amp;#xC774;&amp;#xC5B4;&amp;#xB85C;&amp;#xC758; &amp;#xACB0;&amp;#xD569;&amp;#xC744; &amp;#xB0AE;&amp;#xCD94;&amp;#xAE30; &amp;#xC704;&amp;#xD574;, &amp;#xB3C4;&amp;#xBA54;&amp;#xC778; &amp;#xAC1D;&amp;#xCCB4;&amp;#xB85C; &amp;#xBCC0;&amp;#xD658;&amp;#xD558;&amp;#xB294; &amp;#xB9E4;&amp;#xD37C;&amp;#xB97C; &amp;#xBCC4;&amp;#xB3C4;&amp;#xB85C; &amp;#xC815;&amp;#xC758;&amp;#xD558;&amp;#xAE30;&amp;#xB97C; &amp;#xAD8C;&amp;#xC7A5;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&lt;img width=&quot;333&quot; alt=&quot;&amp;#x1109;&amp;#x1173;&amp;#x110F;&amp;#x1173;&amp;#x1105;&amp;#x1175;&amp;#x11AB;&amp;#x1109;&amp;#x1163;&amp;#x11BA; 2023-03-31 &amp;#x110B;&amp;#x1169;&amp;#x110C;&amp;#x1165;&amp;#x11AB; 3 14 44&quot; src=&quot;https://user-images.githubusercontent.com/31076826/228927505-2f415046-cfb4-410e-b8de-0fa98bf7e649.png&quot;&gt;&lt;br&gt;&lt;br&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;2.2.1. ORM Entity&lt;/strong&gt;&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;kt&quot; class=&quot;language-kt&quot;&gt;&lt;span class=&quot;token annotation builtin&quot;&gt;@Document&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;value &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;notice&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token keyword keyword-internal&quot;&gt;internal&lt;/span&gt; &lt;span class=&quot;token keyword keyword-class&quot;&gt;class&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;NoticeDocument&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token keyword keyword-var&quot;&gt;var&lt;/span&gt; title&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; String&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token keyword keyword-var&quot;&gt;var&lt;/span&gt; content&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; String&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;token annotation builtin&quot;&gt;@Id&lt;/span&gt;
    &lt;span class=&quot;token keyword keyword-var&quot;&gt;var&lt;/span&gt; id&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; String&lt;span class=&quot;token operator&quot;&gt;?&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token keyword keyword-null&quot;&gt;null&lt;/span&gt;

    &lt;span class=&quot;token annotation builtin&quot;&gt;@CreatedDate&lt;/span&gt;
    &lt;span class=&quot;token keyword keyword-var&quot;&gt;var&lt;/span&gt; createdAt&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; LocalDateTime &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; LocalDateTime&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;now&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;

    &lt;span class=&quot;token annotation builtin&quot;&gt;@LastModifiedDate&lt;/span&gt;
    &lt;span class=&quot;token keyword keyword-var&quot;&gt;var&lt;/span&gt; updatedAt&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; LocalDateTime&lt;span class=&quot;token operator&quot;&gt;?&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token keyword keyword-null&quot;&gt;null&lt;/span&gt;

&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;br&gt;
&lt;p&gt;&lt;strong&gt;2.2.2. ORM Repository&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;JpaRepository, MongoRepository, CoroutineCrudRepository &amp;#xB4F1; &amp;#xC774;&amp;#xC6A9;&amp;#xD558;&amp;#xACE0;&amp;#xC790;&amp;#xD558;&amp;#xB294; Spring Data &amp;#xD504;&amp;#xB85C;&amp;#xC81D;&amp;#xD2B8;&amp;#xB97C; &amp;#xD65C;&amp;#xC6A9;&amp;#xD558;&amp;#xC5EC; DB &amp;#xB808;&amp;#xCF54;&amp;#xB4DC;&amp;#xB97C; &amp;#xC870;&amp;#xD68C;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;kt&quot; class=&quot;language-kt&quot;&gt;&lt;span class=&quot;token annotation builtin&quot;&gt;@Repository&lt;/span&gt;
&lt;span class=&quot;token keyword keyword-internal&quot;&gt;internal&lt;/span&gt; &lt;span class=&quot;token keyword keyword-interface&quot;&gt;interface&lt;/span&gt; NoticeRepository&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; CoroutineCrudRepository&lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;NoticeDocument&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; String&lt;span class=&quot;token operator&quot;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;token keyword keyword-fun&quot;&gt;fun&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;findAllBy&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;pageable&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; Pageable&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; Flow&lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;NoticeDocument&lt;span class=&quot;token operator&quot;&gt;&amp;gt;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;br&gt;
&lt;h3 class=&quot;mume-header&quot; id=&quot;div-ida02-323-mapper-%ED%81%B4%EB%9E%98%EC%8A%A4div&quot;&gt;&lt;div id=&quot;a02-3&quot;&gt;2.3. Mapper &amp;#xD074;&amp;#xB798;&amp;#xC2A4;&lt;/div&gt;&lt;/h3&gt;

&lt;p&gt;&amp;#xC601;&amp;#xC18D;&amp;#xC131; &amp;#xC5B4;&amp;#xB311;&amp;#xD130;&amp;#xC5D0;&amp;#xC11C; &amp;#xC870;&amp;#xD68C;&amp;#xD55C; ORM Entity&amp;#xB97C; &amp;#xB3C4;&amp;#xBA54;&amp;#xC778;&amp;#xC73C;&amp;#xB85C; &amp;#xBCC0;&amp;#xD658;&amp;#xD558;&amp;#xACE0;,&lt;br&gt;
&amp;#xC6F9;&amp;#xC5B4;&amp;#xB311;&amp;#xD130;&amp;#xC5D0;&amp;#xC11C; &amp;#xC694;&amp;#xCCAD;&amp;#xD558;&amp;#xB294; &amp;#xB3C4;&amp;#xBA54;&amp;#xC778; &amp;#xC815;&amp;#xBCF4;&amp;#xB97C; &amp;#xC601;&amp;#xC18D;&amp;#xC131; &amp;#xC5B4;&amp;#xB311;&amp;#xD130;&amp;#xC5D0;&amp;#xC11C; &amp;#xD65C;&amp;#xC6A9;&amp;#xD558;&amp;#xAE30; &amp;#xC704;&amp;#xD574; ORM Entity&amp;#xB85C; &amp;#xBCC0;&amp;#xD658;&amp;#xD558;&amp;#xB294; &amp;#xACFC;&amp;#xC815;&amp;#xC774; &amp;#xD544;&amp;#xC694;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;&amp;#xB3C4;&amp;#xBA54;&amp;#xC778; &amp;#x2192; ORM Entity&lt;/code&gt;, &lt;code&gt;ORM Entity &amp;#x2192; &amp;#xB3C4;&amp;#xBA54;&amp;#xC778;&lt;/code&gt;&amp;#xC73C;&amp;#xB85C; &amp;#xBCC0;&amp;#xD658;&amp;#xD558;&amp;#xB294; Mapper &amp;#xD074;&amp;#xB798;&amp;#xC2A4;&amp;#xB97C; &amp;#xB9CC;&amp;#xB4E4;&amp;#xC5B4;&amp;#xC90D;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;kt&quot; class=&quot;language-kt&quot;&gt;&lt;span class=&quot;token keyword keyword-internal&quot;&gt;internal&lt;/span&gt; &lt;span class=&quot;token keyword keyword-object&quot;&gt;object&lt;/span&gt; NoticeMapper &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;

    &lt;span class=&quot;token keyword keyword-fun&quot;&gt;fun&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;mapToNotice&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;doc&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; NoticeDocument&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;
        &lt;span class=&quot;token function&quot;&gt;Notice&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;summary &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; Notice&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Summary&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;id &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; doc&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;id&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; title &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; doc&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;title&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
            createdAt &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; DateTimeUtils&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;toString&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;doc&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;createdAt&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; content &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; doc&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;content&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;

    &lt;span class=&quot;token keyword keyword-fun&quot;&gt;fun&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;mapToDocument&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;notice&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; Notice&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;
        &lt;span class=&quot;token function&quot;&gt;NoticeDocument&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;title &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; notice&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;summary&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;title&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; content &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; notice&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;content&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;

&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;hr&gt;
&lt;h2 class=&quot;mume-header&quot; id=&quot;div-ida033-%EC%B0%B8%EA%B3%A0div&quot;&gt;&lt;div id=&quot;a03&quot;&gt;3. &amp;#xCC38;&amp;#xACE0;&lt;/div&gt;&lt;/h2&gt;

&lt;h3 class=&quot;mume-header&quot; id=&quot;31-application-domaindiv&quot;&gt;3.1. application domain&lt;/h3&gt;

&lt;p&gt;&amp;#xCC38;&amp;#xACE0;&amp;#xB85C;, application core&amp;#xC5D0; &amp;#xC704;&amp;#xCE58;&amp;#xD55C; &amp;#xB3C4;&amp;#xBA54;&amp;#xC778;&amp;#xC740; &amp;#xC544;&amp;#xB798;&amp;#xC640; &amp;#xAC19;&amp;#xC774; &amp;#xC815;&amp;#xC758;&amp;#xD588;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xAC04;&amp;#xB2E8;&amp;#xD558;&amp;#xAC8C;, &amp;#xAC04;&amp;#xB7B5;&amp;#xC815;&amp;#xBCF4;&amp;#xB97C; &amp;#xB2F4;&amp;#xACE0; &amp;#xC788;&amp;#xB294; Summary&amp;#xC640;, detail &amp;#xBA54;&amp;#xC11C;&amp;#xB4DC;&amp;#xB85C; &amp;#xC0C1;&amp;#xC138;&amp;#xC815;&amp;#xBCF4;&amp;#xB97C; &amp;#xC870;&amp;#xD68C;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xB3C4;&amp;#xB85D; &amp;#xD588;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;kt&quot; class=&quot;language-kt&quot;&gt;&lt;span class=&quot;token keyword keyword-data&quot;&gt;data&lt;/span&gt; &lt;span class=&quot;token keyword keyword-class&quot;&gt;class&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;Notice&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;
    &lt;span class=&quot;token keyword keyword-val&quot;&gt;val&lt;/span&gt; summary&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; Summary&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
    &lt;span class=&quot;token keyword keyword-val&quot;&gt;val&lt;/span&gt; content&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; String&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;token keyword keyword-data&quot;&gt;data&lt;/span&gt; &lt;span class=&quot;token keyword keyword-class&quot;&gt;class&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;Summary&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;
        &lt;span class=&quot;token keyword keyword-val&quot;&gt;val&lt;/span&gt; id&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; String&lt;span class=&quot;token operator&quot;&gt;?&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token keyword keyword-null&quot;&gt;null&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
        &lt;span class=&quot;token keyword keyword-val&quot;&gt;val&lt;/span&gt; title&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; String&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
        &lt;span class=&quot;token keyword keyword-val&quot;&gt;val&lt;/span&gt; createdAt&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; String&lt;span class=&quot;token operator&quot;&gt;?&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token keyword keyword-null&quot;&gt;null&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;

    &lt;span class=&quot;token keyword keyword-data&quot;&gt;data&lt;/span&gt; &lt;span class=&quot;token keyword keyword-class&quot;&gt;class&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;Detail&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;
        &lt;span class=&quot;token keyword keyword-val&quot;&gt;val&lt;/span&gt; id&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; String&lt;span class=&quot;token operator&quot;&gt;?&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token keyword keyword-null&quot;&gt;null&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
        &lt;span class=&quot;token keyword keyword-val&quot;&gt;val&lt;/span&gt; title&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; String&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
        &lt;span class=&quot;token keyword keyword-val&quot;&gt;val&lt;/span&gt; content&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; String&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
        &lt;span class=&quot;token keyword keyword-val&quot;&gt;val&lt;/span&gt; createdAt&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; String&lt;span class=&quot;token operator&quot;&gt;?&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token keyword keyword-null&quot;&gt;null&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;

    &lt;span class=&quot;token keyword keyword-fun&quot;&gt;fun&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;detail&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; Detail &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
        &lt;span class=&quot;token keyword keyword-return&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;Detail&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;id &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; summary&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;id&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; title &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; summary&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;title&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; content &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; content&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; createdAt &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; summary&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;createdAt&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;br&gt;
&lt;h3 class=&quot;mume-header&quot; id=&quot;32-transaction-%EC%9C%84%EC%B9%98&quot;&gt;3.2. Transaction &amp;#xC704;&amp;#xCE58;&lt;/h3&gt;

&lt;p&gt;&amp;#xC601;&amp;#xC18D;&amp;#xC131; &amp;#xC5B4;&amp;#xB311;&amp;#xD130;&amp;#xC5D0;&amp;#xC11C; ORM &amp;#xC5D4;&amp;#xD2F0;&amp;#xD2F0;&amp;#xC5D0; &amp;#xC811;&amp;#xADFC;&amp;#xD558;&amp;#xB294; &amp;#xACFC;&amp;#xC815;&amp;#xC774; &amp;#xC788;&amp;#xC73C;&amp;#xB098;, &amp;#xD2B8;&amp;#xB79C;&amp;#xC7AD;&amp;#xC158;&amp;#xC740; &amp;#xD558;&amp;#xB098;&amp;#xC758; &amp;#xAE30;&amp;#xB2A5;&amp;#xC744; &amp;#xBAA8;&amp;#xB450; &amp;#xB9C8;&amp;#xCCE4;&amp;#xC744; &amp;#xB54C; commit &amp;#xB610;&amp;#xB294; rollback&amp;#xC774; &amp;#xB418;&amp;#xC5B4;&amp;#xC57C;&amp;#xD558;&amp;#xB294; &amp;#xAE30;&amp;#xB2A5;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xB530;&amp;#xB77C;&amp;#xC11C;, &amp;#xC601;&amp;#xC18D;&amp;#xC131; &amp;#xC5B4;&amp;#xB311;&amp;#xD130;&amp;#xAC00; &amp;#xC544;&amp;#xB2CC; &amp;#xC11C;&amp;#xBE44;&amp;#xC2A4;(= UseCase &amp;#xAD6C;&amp;#xD604;&amp;#xCCB4;)&amp;#xC5D0;&amp;#xC11C; &amp;#xD2B8;&amp;#xB799;&amp;#xC81D;&amp;#xC158;&amp;#xC744; &amp;#xC124;&amp;#xC815;&amp;#xD558;&amp;#xB294; &amp;#xAC83;&amp;#xC774; &amp;#xC88B;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;kt{.line-numbers, highlight=1}&quot; class=&quot;language-kt line-numbers&quot; data-line=&quot;1&quot;&gt;&lt;span class=&quot;token annotation builtin&quot;&gt;@Transactional&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;readOnly &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token boolean&quot;&gt;true&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token annotation builtin&quot;&gt;@UseCase&lt;/span&gt;
&lt;span class=&quot;token keyword keyword-internal&quot;&gt;internal&lt;/span&gt; &lt;span class=&quot;token keyword keyword-class&quot;&gt;class&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;GetNoticeService&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;
    &lt;span class=&quot;token keyword keyword-private&quot;&gt;private&lt;/span&gt; &lt;span class=&quot;token keyword keyword-val&quot;&gt;val&lt;/span&gt; loadNoticePort&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; LoadNoticePort&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; GetNoticeQuery &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;

    &lt;span class=&quot;token keyword keyword-override&quot;&gt;override&lt;/span&gt; &lt;span class=&quot;token keyword keyword-fun&quot;&gt;fun&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;getNoticeSummaries&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;command&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; GetNoticesCommand&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;
        loadNoticePort&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;loadNotices&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;PageRequest&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;of&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;command&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;page&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; command&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;size&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; Sort&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;by&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;
            Sort&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;Order&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;desc&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;id&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;map&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt; it&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;summary &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

    &lt;span class=&quot;token keyword keyword-override&quot;&gt;override&lt;/span&gt; &lt;span class=&quot;token keyword keyword-suspend&quot;&gt;suspend&lt;/span&gt; &lt;span class=&quot;token keyword keyword-fun&quot;&gt;fun&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;getNoticeDetail&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;id&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; String&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; Notice&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;Detail&lt;span class=&quot;token operator&quot;&gt;?&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;
        loadNoticePort&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;loadNotice&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;id&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;?&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;detail&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span aria-hidden=&quot;true&quot; class=&quot;line-numbers-rows&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class=&quot;line-highlight-wrapper&quot;&gt;&lt;div aria-hidden=&quot;true&quot; class=&quot;line-highlight&quot; data-range=&quot;1&quot; data-start=&quot;1&quot;&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;kt{.line-numbers, highlight=[1,7]}&quot; class=&quot;language-kt line-numbers&quot; data-line=&quot;1,7&quot;&gt;&lt;span class=&quot;token annotation builtin&quot;&gt;@Transactional&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;readOnly &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token boolean&quot;&gt;true&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token annotation builtin&quot;&gt;@UseCase&lt;/span&gt;
&lt;span class=&quot;token keyword keyword-internal&quot;&gt;internal&lt;/span&gt; &lt;span class=&quot;token keyword keyword-class&quot;&gt;class&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;RegisterNoticeService&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;
    &lt;span class=&quot;token keyword keyword-private&quot;&gt;private&lt;/span&gt; &lt;span class=&quot;token keyword keyword-val&quot;&gt;val&lt;/span&gt; saveNoticePort&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; SaveNoticePort&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; RegisterNoticeUseCase &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;

    &lt;span class=&quot;token annotation builtin&quot;&gt;@Transactional&lt;/span&gt;
    &lt;span class=&quot;token keyword keyword-override&quot;&gt;override&lt;/span&gt; &lt;span class=&quot;token keyword keyword-suspend&quot;&gt;suspend&lt;/span&gt; &lt;span class=&quot;token keyword keyword-fun&quot;&gt;fun&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;registerNotice&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;command&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; RegisterNoticeCommand&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
        saveNoticePort&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;saveNotice&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Notice&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;Notice&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Summary&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;title &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; command&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;title&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; content &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; command&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;content&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span aria-hidden=&quot;true&quot; class=&quot;line-numbers-rows&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class=&quot;line-highlight-wrapper&quot;&gt;&lt;div aria-hidden=&quot;true&quot; class=&quot;line-highlight&quot; data-range=&quot;1&quot; data-start=&quot;1&quot;&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;line-highlight-wrapper&quot;&gt;





&lt;div aria-hidden=&quot;true&quot; class=&quot;line-highlight&quot; data-range=&quot;7&quot; data-start=&quot;7&quot;&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/pre&gt;&lt;blockquote&gt;
&lt;p&gt;&amp;#xD2B8;&amp;#xB79C;&amp;#xC81D;&amp;#xC158;&amp;#xC740; &amp;#xC11C;&amp;#xBE44;&amp;#xC2A4; &amp;#xB0B4;&amp;#xC758; &amp;#xBA54;&amp;#xC11C;&amp;#xB4DC;&amp;#xC5D0; &amp;#xC9C1;&amp;#xC811; &amp;#xC124;&amp;#xC815;&amp;#xD558;&amp;#xAC70;&amp;#xB098;, AOP&amp;#xB97C; &amp;#xC774;&amp;#xC6A9;&amp;#xD558;&amp;#xC5EC; service &amp;#xBA54;&amp;#xC11C;&amp;#xB4DC; &amp;#xC885;&amp;#xB8CC; &amp;#xD6C4; &amp;#xB3D9;&amp;#xC791;&amp;#xB418;&amp;#xB3C4;&amp;#xB85D; &amp;#xC815;&amp;#xC758;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr&gt;
&lt;p&gt;&amp;#x203B; &amp;#xD574;&amp;#xB2F9; &amp;#xCF54;&amp;#xB4DC;&amp;#xB294; &lt;a href=&quot;https://github.com/jiniya22/demo-hexagonal&quot;&gt;GitHub&lt;/a&gt;&amp;#xC5D0;&amp;#xC11C; demo-hexagonal &amp;#xD504;&amp;#xB85C;&amp;#xC81D;&amp;#xD2B8;&amp;#xC5D0;&amp;#xC11C; &amp;#xD655;&amp;#xC778;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;

  &lt;/div&gt;&lt;/div&gt;</description>
      <category>Dev/Clean Architecture</category>
      <category>hexagonal architecture</category>
      <author>jiniya22</author>
      <guid isPermaLink="true">https://jini-box.tistory.com/210</guid>
      <comments>https://jini-box.tistory.com/210#entry210comment</comments>
      <pubDate>Fri, 31 Mar 2023 03:42:29 +0900</pubDate>
    </item>
    <item>
      <title>[Java - String] 1. 중복 문자 제거하기</title>
      <link>https://jini-box.tistory.com/209</link>
      <description>&lt;div id=&quot;html-export&quot;&gt;
      &lt;div class=&quot;mume markdown-preview  &quot;&gt;
      &lt;p&gt;&amp;#xC8FC;&amp;#xC5B4;&amp;#xC9C4; &amp;#xBB38;&amp;#xC790;&amp;#xC5F4;&amp;#xC5D0;&amp;#xC11C;, &amp;#xC911;&amp;#xBCF5;&amp;#xB41C; &amp;#xBB38;&amp;#xC790;&amp;#xB294; &amp;#xC81C;&amp;#xAC70;&amp;#xD558;&amp;#xB294; &amp;#xCF54;&amp;#xB4DC;&amp;#xB97C; &amp;#xC791;&amp;#xC131;&amp;#xD558;&amp;#xB77C;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;apple -&amp;gt; aple&lt;/li&gt;
&lt;li&gt;banana -&amp;gt; ban&lt;/li&gt;
&lt;/ul&gt;
&lt;br&gt;
&lt;ol&gt;
&lt;li&gt;&amp;#xD480;&amp;#xC774;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;#a01-1&quot;&gt;indexOf &amp;#xD65C;&amp;#xC6A9;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#a01-2&quot;&gt;HashSet &amp;#xD65C;&amp;#xC6A9;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#a01-3&quot;&gt;stream&amp;#xC758; distinct &amp;#xD65C;&amp;#xC6A9;&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#a02&quot;&gt;&amp;#xC131;&amp;#xB2A5;&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;hr&gt;
&lt;h2 class=&quot;mume-header&quot; id=&quot;div-ida01-11-%ED%92%80%EC%9D%B4div&quot;&gt;&lt;div id=&quot;a01-1&quot;&gt;1. &amp;#xD480;&amp;#xC774;&lt;/div&gt;&lt;/h2&gt;

&lt;h3 class=&quot;mume-header&quot; id=&quot;11-indexof-%ED%99%9C%EC%9A%A9&quot;&gt;1.1. indexOf &amp;#xD65C;&amp;#xC6A9;&lt;/h3&gt;

&lt;p&gt;&amp;#xBB38;&amp;#xC790;&amp;#xC5F4; s&amp;#xC758; &amp;#xAC01; &amp;#xBB38;&amp;#xC790;&amp;#xB97C; &amp;#xC21C;&amp;#xD68C;&amp;#xD558;&amp;#xBA70;&lt;br&gt;
StringBuilder sb&amp;#xC5D0; &amp;#xC544;&amp;#xC9C1; &amp;#xC785;&amp;#xB825;&amp;#xB418;&amp;#xC9C0; &amp;#xC54A;&amp;#xC740; &amp;#xBB38;&amp;#xC790;&amp;#xB97C; &amp;#xCD94;&amp;#xAC00;&amp;#xD55C;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xBB38;&amp;#xC790;&amp;#xAC00; sb&amp;#xC5D0; &amp;#xD3EC;&amp;#xD568;&amp;#xB418;&amp;#xC5B4;&amp;#xC788;&amp;#xC9C0; &amp;#xC54A;&amp;#xB2E4;&amp;#xBA74; &amp;#xCD94;&amp;#xAC00;&lt;br&gt;
&amp;#xD3EC;&amp;#xD568;&amp;#xB418;&amp;#xC5B4;&amp;#xC788;&amp;#xB2E4;&amp;#xBA74; &amp;#xCD94;&amp;#xAC00;&amp;#xD558;&amp;#xC9C0; &amp;#xC54A;&amp;#xC73C;&amp;#xBA74; &amp;#xB41C;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;java&quot; class=&quot;language-java&quot;&gt;&lt;span class=&quot;token keyword keyword-static&quot;&gt;static&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;String&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;removeDuplicates1&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;String&lt;/span&gt; s&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;token keyword keyword-if&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;s &lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt; &lt;span class=&quot;token keyword keyword-null&quot;&gt;null&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;||&lt;/span&gt; s&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;isBlank&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
        &lt;span class=&quot;token keyword keyword-return&quot;&gt;return&lt;/span&gt; s&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
    &lt;span class=&quot;token class-name&quot;&gt;StringBuilder&lt;/span&gt; sb &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token keyword keyword-new&quot;&gt;new&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;StringBuilder&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;token keyword keyword-for&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token keyword keyword-char&quot;&gt;char&lt;/span&gt; c &lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; s&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;toCharArray&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
        &lt;span class=&quot;token keyword keyword-if&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;sb&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;indexOf&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;String&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;valueOf&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;c&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
            sb&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;append&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;c&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
    &lt;span class=&quot;token keyword keyword-return&quot;&gt;return&lt;/span&gt; sb&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;toString&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;hr&gt;
&lt;h3 class=&quot;mume-header&quot; id=&quot;div-ida01-212-hashset-%ED%99%9C%EC%9A%A9div&quot;&gt;&lt;div id=&quot;a01-2&quot;&gt;1.2. HashSet &amp;#xD65C;&amp;#xC6A9;&lt;/div&gt;&lt;/h3&gt;

&lt;p&gt;&amp;#xBB38;&amp;#xC790;&amp;#xC5F4; s&amp;#xC5D0; &amp;#xB4E4;&amp;#xC5B4;&amp;#xC788;&amp;#xB294; &amp;#xBB38;&amp;#xC790;&amp;#xB97C; &amp;#xC21C;&amp;#xD68C;&amp;#xD558;&amp;#xBA74;&amp;#xC11C;&lt;br&gt;
&amp;#xBB38;&amp;#xC790;&amp;#xB97C; HashSet&amp;#xC5D0; &amp;#xCD94;&amp;#xAC00;&amp;#xD558;&amp;#xB294;&amp;#xB370;&lt;/p&gt;
&lt;p&gt;HashSet&amp;#xC5D0; &amp;#xD3EC;&amp;#xD568;&amp;#xB418;&amp;#xC5B4;&amp;#xC788;&amp;#xC9C0; &amp;#xC54A;&amp;#xC744; &amp;#xACBD;&amp;#xC6B0; sb&amp;#xC5D0; &amp;#xCD94;&amp;#xAC00;&amp;#xD558;&amp;#xACE0;&lt;br&gt;
&amp;#xD3EC;&amp;#xD568;&amp;#xB418;&amp;#xC5B4;&amp;#xC788;&amp;#xC744; &amp;#xACBD;&amp;#xC6B0; sb&amp;#xC5D0; &amp;#xCD94;&amp;#xAC00;&amp;#xD558;&amp;#xC9C0; &amp;#xC54A;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Set&amp;#xC758; add&amp;#xD568;&amp;#xC218;&amp;#xB294; &amp;#xB9CC;&amp;#xC77C; &amp;#xAE30;&amp;#xC874;&amp;#xC5D0; &amp;#xAC12;&amp;#xC774; &amp;#xB4E4;&amp;#xC5B4;&amp;#xC788;&amp;#xC744; &amp;#xACBD;&amp;#xC6B0; false, &amp;#xC5C6;&amp;#xC744; &amp;#xACBD;&amp;#xC6B0; true&amp;#xB97C; &amp;#xB9AC;&amp;#xD134;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;java&quot; class=&quot;language-java&quot;&gt;&lt;span class=&quot;token keyword keyword-static&quot;&gt;static&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;String&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;removeDuplicates2&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;String&lt;/span&gt; s&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;token keyword keyword-if&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;s &lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt; &lt;span class=&quot;token keyword keyword-null&quot;&gt;null&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;||&lt;/span&gt; s&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;isBlank&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
        &lt;span class=&quot;token keyword keyword-return&quot;&gt;return&lt;/span&gt; s&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
    &lt;span class=&quot;token class-name&quot;&gt;StringBuilder&lt;/span&gt; sb &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token keyword keyword-new&quot;&gt;new&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;StringBuilder&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;token class-name&quot;&gt;Set&lt;/span&gt;&lt;span class=&quot;token generics&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;Character&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt; set &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token keyword keyword-new&quot;&gt;new&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;HashSet&lt;/span&gt;&lt;span class=&quot;token generics&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;token keyword keyword-for&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token keyword keyword-char&quot;&gt;char&lt;/span&gt; c &lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; s&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;toCharArray&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
        &lt;span class=&quot;token keyword keyword-if&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;set&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;add&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;c&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
            sb&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;append&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;c&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
    &lt;span class=&quot;token keyword keyword-return&quot;&gt;return&lt;/span&gt; sb&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;toString&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;hr&gt;
&lt;h3 class=&quot;mume-header&quot; id=&quot;div-ida01-313-stream%EC%9D%98-distinct-%ED%99%9C%EC%9A%A9div&quot;&gt;&lt;div id=&quot;a01-3&quot;&gt;1.3. stream&amp;#xC758; distinct &amp;#xD65C;&amp;#xC6A9;&lt;/div&gt;&lt;/h3&gt;

&lt;p&gt;stream()&amp;#xC758; distinct()&amp;#xB97C; &amp;#xC774;&amp;#xC6A9;&amp;#xD558;&amp;#xC5EC; &amp;#xC911;&amp;#xBCF5; &amp;#xBB38;&amp;#xC790;&amp;#xB97C; &amp;#xC81C;&amp;#xAC70;&amp;#xD558;&amp;#xACE0;,&lt;br&gt;
&amp;#xC81C;&amp;#xAC70;&amp;#xD55C; &amp;#xD6C4; &lt;code&gt;collect(Collectors.joining())&lt;/code&gt;&amp;#xC73C;&amp;#xB85C; &amp;#xB9AC;&amp;#xC2A4;&amp;#xD2B8;&amp;#xB97C; &amp;#xD569;&amp;#xCE58;&amp;#xB294; &amp;#xBC29;&amp;#xBC95;&amp;#xC744; &amp;#xC774;&amp;#xC6A9;&amp;#xD560; &amp;#xC218; &amp;#xB3C4; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;java&quot; class=&quot;language-java&quot;&gt;&lt;span class=&quot;token keyword keyword-static&quot;&gt;static&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;String&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;removeDuplicates3&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;String&lt;/span&gt; s&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;token keyword keyword-if&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;s &lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt; &lt;span class=&quot;token keyword keyword-null&quot;&gt;null&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;||&lt;/span&gt; s&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;isBlank&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
        &lt;span class=&quot;token keyword keyword-return&quot;&gt;return&lt;/span&gt; s&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
    &lt;span class=&quot;token keyword keyword-return&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;Arrays&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;asList&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;s&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;split&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;stream&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
            &lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;distinct&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
            &lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;collect&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;Collectors&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;joining&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;hr&gt;
&lt;h2 class=&quot;mume-header&quot; id=&quot;div-ida022-%EC%84%B1%EB%8A%A5div&quot;&gt;&lt;div id=&quot;a02&quot;&gt;2. &amp;#xC131;&amp;#xB2A5;&lt;/div&gt;&lt;/h2&gt;

&lt;p&gt;&amp;#xB2E4;&amp;#xB9CC;, &amp;#xC704;&amp;#xC758; 3&amp;#xAC00;&amp;#xC9C0;&amp;#xC758; &amp;#xBC29;&amp;#xBC95;&amp;#xC740; &amp;#xC18D;&amp;#xB3C4; &amp;#xCC28;&amp;#xC774;&amp;#xAC00; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;java&quot; class=&quot;language-java&quot;&gt;&lt;span class=&quot;token class-name&quot;&gt;String&lt;/span&gt; s &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;aB 8 b tT ! k 2 098!&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;/pre&gt;&lt;p&gt;&amp;#xB77C;&amp;#xB294; &amp;#xBB38;&amp;#xC790;&amp;#xC5F4;&amp;#xC5D0; &amp;#xB300;&amp;#xD574;&amp;#xC11C; &amp;#xC544;&amp;#xB798;&amp;#xC640; &amp;#xAC19;&amp;#xC740; &amp;#xD37C;&amp;#xD3EC;&amp;#xBA3C;&amp;#xC2A4;&amp;#xB97C; &amp;#xBCF4;&amp;#xC5EC;&amp;#xC90D;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;&amp;#xC2E4;&amp;#xD589;&amp;#xC2DC;&amp;#xAC04;: &lt;span class=&quot;token number&quot;&gt;80251&lt;/span&gt; ns &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt; ms&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
aB 8btT&lt;span class=&quot;token operator&quot;&gt;!&lt;/span&gt;k209

&amp;#xC2E4;&amp;#xD589;&amp;#xC2DC;&amp;#xAC04;: &lt;span class=&quot;token number&quot;&gt;75711&lt;/span&gt; ns &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt; ms&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
aB 8btT&lt;span class=&quot;token operator&quot;&gt;!&lt;/span&gt;k209

&amp;#xC2E4;&amp;#xD589;&amp;#xC2DC;&amp;#xAC04;: &lt;span class=&quot;token number&quot;&gt;5073320&lt;/span&gt; ns &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;5&lt;/span&gt; ms&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
aB 8btT&lt;span class=&quot;token operator&quot;&gt;!&lt;/span&gt;k209
&lt;/pre&gt;&lt;p&gt;Set&amp;#xC744; &amp;#xD65C;&amp;#xC6A9;&amp;#xD558;&amp;#xB294; &amp;#xBC29;&amp;#xBC95;&amp;#xC774; &amp;#xAC00;&amp;#xC7A5; &amp;#xC131;&amp;#xB2A5;&amp;#xC774; &amp;#xBE60;&amp;#xB974;&amp;#xACE0;,&lt;br&gt;
&amp;#xAC70;&amp;#xC758; &amp;#xBE44;&amp;#xB4F1;&amp;#xD55C; &amp;#xBC29;&amp;#xC2DD;&amp;#xC73C;&amp;#xB85C; indexOf &amp;#xBC29;&amp;#xC2DD;&amp;#xC73C;&amp;#xB85C; &amp;#xBE60;&amp;#xB974;&amp;#xC9C0;&amp;#xB9CC;&lt;br&gt;
stream()&amp;#xC744; &amp;#xD65C;&amp;#xC6A9;&amp;#xD55C; &amp;#xBC29;&amp;#xC2DD;&amp;#xC740; &amp;#xD604;&amp;#xC800;&amp;#xD788; &amp;#xB290;&amp;#xB9BD;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xC774; &amp;#xBD80;&amp;#xBD84;&amp;#xC5D0; &amp;#xB300;&amp;#xD574; &amp;#xACE0;&amp;#xB824;&amp;#xB97C; &amp;#xD558;&amp;#xACE0; &amp;#xCF54;&amp;#xB4DC;&amp;#xB97C; &amp;#xC791;&amp;#xC131;&amp;#xD558;&amp;#xB294; &amp;#xAC83;&amp;#xC774; &amp;#xC88B;&amp;#xC744;&amp;#xAC83;&amp;#xC73C;&amp;#xB85C; &amp;#xBCF4;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;hr&gt;
&lt;h3 class=&quot;mume-header&quot; id&gt;++&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;RemoveDuplicateCharacters&lt;/li&gt;
&lt;/ul&gt;

  &lt;/div&gt;&lt;/div&gt;</description>
      <category>Java/coding test</category>
      <category>coding test</category>
      <category>Java</category>
      <category>string</category>
      <author>jiniya22</author>
      <guid isPermaLink="true">https://jini-box.tistory.com/209</guid>
      <comments>https://jini-box.tistory.com/209#entry209comment</comments>
      <pubDate>Wed, 8 Mar 2023 20:36:14 +0900</pubDate>
    </item>
    <item>
      <title>[Java] override, overload</title>
      <link>https://jini-box.tistory.com/208</link>
      <description>&lt;div id=&quot;html-export&quot;&gt;
      &lt;div class=&quot;mume markdown-preview  &quot;&gt;
      &lt;h3 class=&quot;mume-header&quot; id=&quot;1-method-override&quot;&gt;1. method override&lt;/h3&gt;

&lt;p&gt;&amp;#xC0C1;&amp;#xC18D;&amp;#xD558;&amp;#xB294; &amp;#xD074;&amp;#xB798;&amp;#xC2A4;&amp;#xC5D0;&amp;#xC11C; &amp;#xC0C1;&amp;#xC704; &amp;#xD074;&amp;#xB798;&amp;#xC2A4;(&amp;#xB610;&amp;#xB294; &amp;#xC778;&amp;#xD130;&amp;#xD398;&amp;#xC774;&amp;#xC2A4;)&amp;#xC758; &amp;#xBA54;&amp;#xC11C;&amp;#xB4DC;&amp;#xB97C; &amp;#xC7AC;&amp;#xC815;&amp;#xC758;&amp;#xD558;&amp;#xB294; &amp;#xAC83;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;#xBA54;&amp;#xC11C;&amp;#xB4DC;&amp;#xB97C; &amp;#xC7AC;&amp;#xC815;&amp;#xC758; &amp;#xD558;&amp;#xB294; &amp;#xAC83;&amp;#xC774;&amp;#xAE30; &amp;#xB54C;&amp;#xBB38;&amp;#xC5D0; final, static &amp;#xBA54;&amp;#xC11C;&amp;#xB4DC;&amp;#xB294; &amp;#xC624;&amp;#xBC84;&amp;#xB77C;&amp;#xC774;&amp;#xB4DC; &amp;#xD560; &amp;#xC218; &lt;strong&gt;&amp;#xC5C6;&lt;/strong&gt;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;protected &amp;#xC774;&amp;#xC0C1;&amp;#xC758; &amp;#xC811;&amp;#xADFC; &amp;#xC81C;&amp;#xD55C;&amp;#xC790;&amp;#xC5D0;&amp;#xC11C; &amp;#xC9C0;&amp;#xC6D0;&amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;private &amp;#xC811;&amp;#xADFC;&amp;#xC81C;&amp;#xD55C;&amp;#xC790;&amp;#xB294; &amp;#xC624;&amp;#xBC84;&amp;#xB77C;&amp;#xC774;&amp;#xB4DC; &amp;#xD560; &amp;#xC218; &amp;#xC5C6;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&amp;#xC11C;&amp;#xBE0C; &amp;#xD074;&amp;#xB798;&amp;#xC2A4;&amp;#xC758; &amp;#xC624;&amp;#xBC84;&amp;#xB77C;&amp;#xC774;&amp;#xB4DC; &amp;#xBA54;&amp;#xC11C;&amp;#xB4DC;&amp;#xC5D0;&amp;#xC11C; &amp;#xC288;&amp;#xD37C; &amp;#xD074;&amp;#xB798;&amp;#xC2A4;&amp;#xC758; &amp;#xBA54;&amp;#xC11C;&amp;#xB4DC;&amp;#xB97C; &amp;#xD638;&amp;#xCD9C;&amp;#xD558;&amp;#xACE0; &amp;#xC2F6;&amp;#xB2E4;&amp;#xBA74; super&amp;#xD0A4;&amp;#xC6CC;&amp;#xB4DC;&amp;#xB97C; &amp;#xC0AC;&amp;#xC6A9;&amp;#xD558;&amp;#xBA74; &amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xC624;&amp;#xBC84;&amp;#xB77C;&amp;#xC774;&amp;#xB529;&amp;#xC740; &amp;#xB7F0;&amp;#xD0C0;&amp;#xC784; &amp;#xC2DC; &amp;#xC2E4;&amp;#xC9C8;&amp;#xC801;&amp;#xC73C;&amp;#xB85C; &amp;#xC791;&amp;#xB3D9;&amp;#xB420; &amp;#xBA54;&amp;#xC11C;&amp;#xB4DC;&amp;#xAC00; &amp;#xACB0;&amp;#xC815;&amp;#xB418;&amp;#xB294; &amp;#xB3D9;&amp;#xC801; &amp;#xBC14;&amp;#xC778;&amp;#xB529; &amp;#xBC29;&amp;#xC2DD;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;br&gt;
&lt;p&gt;&lt;strong&gt;1.1. &amp;#xC608;&amp;#xC81C; 1&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Java&amp;#xC5D0;&amp;#xC11C; &amp;#xC11C;&amp;#xBE0C; &amp;#xD074;&amp;#xB798;&amp;#xC2A4; &amp;#xD0C0;&amp;#xC785;&amp;#xC740; &amp;#xC288;&amp;#xD37C; &amp;#xD074;&amp;#xB798;&amp;#xC2A4; &amp;#xD0C0;&amp;#xC785;&amp;#xC73C;&amp;#xB85C; &amp;#xBC1B;&amp;#xC744; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xC544;&amp;#xB798; &amp;#xC608;&amp;#xC81C;&amp;#xC5D0;&amp;#xC11C;&amp;#xB294; Animal &amp;#xD0C0;&amp;#xC785;&amp;#xC73C;&amp;#xB85C; Cat, Dog &amp;#xD074;&amp;#xB798;&amp;#xC2A4;&amp;#xB97C; &amp;#xBC1B;&amp;#xC744; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;java&quot; class=&quot;language-java&quot;&gt;&lt;span class=&quot;token keyword keyword-interface&quot;&gt;interface&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;Animal&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;token keyword keyword-void&quot;&gt;void&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;bark&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token keyword keyword-class&quot;&gt;class&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;Cat&lt;/span&gt; &lt;span class=&quot;token keyword keyword-implements&quot;&gt;implements&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;Animal&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;token annotation punctuation&quot;&gt;@Override&lt;/span&gt;
    &lt;span class=&quot;token keyword keyword-public&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;token keyword keyword-void&quot;&gt;void&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;bark&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
        &lt;span class=&quot;token class-name&quot;&gt;System&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;out&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;&amp;#xC57C;&amp;#xC639;&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token keyword keyword-class&quot;&gt;class&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;Dog&lt;/span&gt; &lt;span class=&quot;token keyword keyword-implements&quot;&gt;implements&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;Animal&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;token annotation punctuation&quot;&gt;@Override&lt;/span&gt;
    &lt;span class=&quot;token keyword keyword-public&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;token keyword keyword-void&quot;&gt;void&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;bark&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
        &lt;span class=&quot;token class-name&quot;&gt;System&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;out&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;&amp;#xBA4D;&amp;#xBA4D;&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;java{.line-numbers, highlight=6}&quot; class=&quot;language-java line-numbers&quot; data-line=&quot;6&quot;&gt;&lt;span class=&quot;token keyword keyword-public&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;token keyword keyword-class&quot;&gt;class&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;OverrideTest&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;

    &lt;span class=&quot;token keyword keyword-public&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;token keyword keyword-static&quot;&gt;static&lt;/span&gt; &lt;span class=&quot;token keyword keyword-void&quot;&gt;void&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;main&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;String&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; args&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
        &lt;span class=&quot;token class-name&quot;&gt;List&lt;/span&gt;&lt;span class=&quot;token generics&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;Animal&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt; animals &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;List&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;of&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token keyword keyword-new&quot;&gt;new&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;Dog&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token keyword keyword-new&quot;&gt;new&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;Cat&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
        &lt;span class=&quot;token keyword keyword-for&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;Animal&lt;/span&gt; animal &lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; animals&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
            animal&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;bark&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span aria-hidden=&quot;true&quot; class=&quot;line-numbers-rows&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class=&quot;line-highlight-wrapper&quot;&gt;




&lt;div aria-hidden=&quot;true&quot; class=&quot;line-highlight&quot; data-range=&quot;6&quot; data-start=&quot;6&quot;&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;&amp;#xBA4D;&amp;#xBA4D;
&amp;#xC57C;&amp;#xC639;
&lt;/pre&gt;&lt;p&gt;Animal&amp;#xC744; &amp;#xAD6C;&amp;#xD604;&amp;#xD55C; Cat, Dog &amp;#xD074;&amp;#xB798;&amp;#xC2A4;&amp;#xB294; bark() &amp;#xBA54;&amp;#xC11C;&amp;#xB4DC;&amp;#xB97C; &amp;#xC624;&amp;#xBC84;&amp;#xB77C;&amp;#xC774;&amp;#xB4DC; &amp;#xD588;&amp;#xC5B4;&amp;#xC11C;&lt;br&gt;
&amp;#xC704;&amp;#xC640; &amp;#xAC19;&amp;#xC774; &amp;#xAC19;&amp;#xC740; &amp;#xC774;&amp;#xB984;&amp;#xC758; &amp;#xBA54;&amp;#xC11C;&amp;#xB4DC;&amp;#xB97C; &amp;#xD638;&amp;#xCD9C;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;animal.bark()&lt;/code&gt; &amp;#xAD6C;&amp;#xBB38;&amp;#xC740; &amp;#xB7F0;&amp;#xD0C0;&amp;#xC784;&amp;#xC2DC; &amp;#xC2E4;&amp;#xC81C; &amp;#xBA54;&amp;#xC11C;&amp;#xB4DC;&amp;#xB97C; &amp;#xACB0;&amp;#xC815;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&lt;br&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;1.2. &amp;#xC608;&amp;#xC81C; 2. override&amp;#xC2DC; &amp;#xACF5;&amp;#xBCC0; &amp;#xB9AC;&amp;#xD134; &amp;#xD0C0;&amp;#xC785; &amp;#xD5C8;&amp;#xC6A9;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&amp;#xC624;&amp;#xBC84;&amp;#xB77C;&amp;#xC774;&amp;#xB4DC; &amp;#xC2DC; covariant(&amp;#xACF5;&amp;#xBCC0;) &amp;#xB9AC;&amp;#xD134; &amp;#xD0C0;&amp;#xC785;&amp;#xC744; &amp;#xD5C8;&amp;#xC6A9;&amp;#xD55C;&amp;#xB2E4;&amp;#xB294; &amp;#xAC83;&amp;#xC740;&lt;br&gt;
&amp;#xC624;&amp;#xBC84;&amp;#xB77C;&amp;#xC774;&amp;#xB4DC; &amp;#xC2DC; &amp;#xBC18;&amp;#xD658; &amp;#xAC12;&amp;#xC744; Sub Class&amp;#xB85C; &amp;#xC124;&amp;#xC815;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xB294; &amp;#xC131;&amp;#xC9C8;&amp;#xC744; &amp;#xB73B;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xC989;, &lt;strong&gt;&amp;#xC624;&amp;#xBC84;&amp;#xB77C;&amp;#xC774;&amp;#xB4DC; &amp;#xD560; &amp;#xB54C; &amp;#xBC18;&amp;#xD658; &amp;#xAC12;&amp;#xC744; &amp;#xD558;&amp;#xC704; &amp;#xD074;&amp;#xB798;&amp;#xC2A4;&amp;#xB85C; &amp;#xBCC0;&amp;#xACBD;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xB294; &amp;#xC131;&amp;#xC9C8;&lt;/strong&gt;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&lt;br&gt;&lt;/p&gt;
&lt;p&gt;Shape &amp;#xC778;&amp;#xD130;&amp;#xD398;&amp;#xC774;&amp;#xC2A4;&amp;#xC5D0;&amp;#xC11C; area &amp;#xBA54;&amp;#xC11C;&amp;#xB4DC;&amp;#xC758; &amp;#xBC18;&amp;#xD658;&amp;#xD0C0;&amp;#xC785;&amp;#xC740; Number &amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;Shape&amp;#xB97C; &amp;#xAD6C;&amp;#xD604;&amp;#xD558;&amp;#xB294; &amp;#xD074;&amp;#xB798;&amp;#xC2A4;&amp;#xC778; Square, Circle&amp;#xC5D0;&amp;#xC11C;&amp;#xB294; area&amp;#xBA54;&amp;#xC11C;&amp;#xB4DC;&amp;#xC758; &amp;#xB9AC;&amp;#xD134;&amp;#xD0C0;&amp;#xC785;&amp;#xC740; Integer, Double&amp;#xB85C; &amp;#xBCC0;&amp;#xACBD;&amp;#xC774; &amp;#xAC00;&amp;#xB2A5;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;java&quot; class=&quot;language-java&quot;&gt;&lt;span class=&quot;token keyword keyword-interface&quot;&gt;interface&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;Shape&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;token class-name&quot;&gt;Number&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;area&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;java&quot; class=&quot;language-java&quot;&gt;&lt;span class=&quot;token keyword keyword-class&quot;&gt;class&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;Square&lt;/span&gt; &lt;span class=&quot;token keyword keyword-implements&quot;&gt;implements&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;Shape&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;token keyword keyword-private&quot;&gt;private&lt;/span&gt; &lt;span class=&quot;token keyword keyword-int&quot;&gt;int&lt;/span&gt; width&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

    &lt;span class=&quot;token keyword keyword-public&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;Square&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token keyword keyword-int&quot;&gt;int&lt;/span&gt; width&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
        &lt;span class=&quot;token keyword keyword-this&quot;&gt;this&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;width &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; width&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

    &lt;span class=&quot;token annotation punctuation&quot;&gt;@Override&lt;/span&gt;
    &lt;span class=&quot;token keyword keyword-public&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;Integer&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;area&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
        &lt;span class=&quot;token keyword keyword-return&quot;&gt;return&lt;/span&gt; width &lt;span class=&quot;token operator&quot;&gt;*&lt;/span&gt; width&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token keyword keyword-class&quot;&gt;class&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;Circle&lt;/span&gt; &lt;span class=&quot;token keyword keyword-implements&quot;&gt;implements&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;Shape&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;token keyword keyword-private&quot;&gt;private&lt;/span&gt; &lt;span class=&quot;token keyword keyword-int&quot;&gt;int&lt;/span&gt; radius&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

    &lt;span class=&quot;token keyword keyword-public&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;Circle&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token keyword keyword-int&quot;&gt;int&lt;/span&gt; radius&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
        &lt;span class=&quot;token keyword keyword-this&quot;&gt;this&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;radius &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; radius&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

    &lt;span class=&quot;token annotation punctuation&quot;&gt;@Override&lt;/span&gt;
    &lt;span class=&quot;token keyword keyword-public&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;Double&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;area&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
        &lt;span class=&quot;token keyword keyword-return&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;Math&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;PI &lt;span class=&quot;token operator&quot;&gt;*&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;Math&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;pow&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;radius&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;2.0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;hr&gt;
&lt;h3 class=&quot;mume-header&quot; id=&quot;2-method-overload&quot;&gt;2. method overload&lt;/h3&gt;

&lt;p&gt;&amp;#xAC19;&amp;#xC740; &amp;#xC774;&amp;#xB984;&amp;#xC758; &amp;#xBA54;&amp;#xC11C;&amp;#xB4DC;&amp;#xC774;&amp;#xC9C0;&amp;#xB9CC; &amp;#xC11C;&amp;#xB85C; &amp;#xB2E4;&amp;#xB978; &amp;#xC785;&amp;#xB825;&amp;#xAC12;&amp;#xC744; &amp;#xAC16;&amp;#xB294; &amp;#xBA54;&amp;#xC11C;&amp;#xB4DC;&amp;#xB97C; &amp;#xC791;&amp;#xC131;&amp;#xD558;&amp;#xB294; &amp;#xAC83;&amp;#xC744; &amp;#xC758;&amp;#xBBF8;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;#xC11C;&amp;#xB85C; &amp;#xB2E4;&amp;#xB978; &amp;#xC785;&amp;#xB825;&amp;#xAC12;&amp;#xC5D0;&amp;#xB294; &amp;#xC778;&amp;#xC218;&amp;#xC758; &amp;#xAC2F;&amp;#xC218;, &amp;#xC778;&amp;#xC218; &amp;#xD0C0;&amp;#xC785;, &amp;#xC778;&amp;#xC218; &amp;#xC704;&amp;#xCE58;&amp;#xAC00; &amp;#xD574;&amp;#xB2F9;&amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&amp;#xD2B9;&amp;#xC815; &amp;#xBA54;&amp;#xC11C;&amp;#xB4DC;&amp;#xC5D0; throws&amp;#xBB38;&amp;#xC774; &amp;#xC788;&amp;#xB2E4;&amp;#xACE0; &amp;#xD560; &amp;#xB54C;, &amp;#xC624;&amp;#xBC84;&amp;#xB85C;&amp;#xB4DC; &amp;#xBA54;&amp;#xC11C;&amp;#xB4DC;&amp;#xC5D0; throws&amp;#xBB38;&amp;#xC774; &amp;#xC788;&amp;#xC9C0; &amp;#xC54A;&amp;#xC544;&amp;#xB3C4; &amp;#xB418;&amp;#xACE0; &amp;#xB2E4;&amp;#xB978; Exception&amp;#xC744; throw &amp;#xD574;&amp;#xB3C4; &amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xC778;&amp;#xC218; &amp;#xAC12;&amp;#xC5D0; &amp;#xB530;&amp;#xB77C; &amp;#xC2E4;&amp;#xD589;&amp;#xB420; &amp;#xBA54;&amp;#xC11C;&amp;#xB4DC;&amp;#xAC00; &amp;#xC2E4;&amp;#xD589;&amp;#xB418;&amp;#xB294;, &amp;#xCEF4;&amp;#xD30C;&amp;#xC77C; &amp;#xC2DC; &amp;#xC2E4;&amp;#xD589;&amp;#xB420; &amp;#xBA54;&amp;#xC11C;&amp;#xB4DC;&amp;#xAC00; &amp;#xACB0;&amp;#xC815;&amp;#xB418;&amp;#xB294; &amp;#xC815;&amp;#xC801; &amp;#xBC14;&amp;#xC778;&amp;#xB529; &amp;#xBC29;&amp;#xC2DD;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&lt;br&gt;&lt;/p&gt;
&lt;p&gt;&amp;#xBA54;&amp;#xC11C;&amp;#xB4DC;&amp;#xB294; static &amp;#xB610;&amp;#xB294; static&amp;#xC774; &amp;#xC544;&amp;#xB2CC; &amp;#xBA54;&amp;#xC11C;&amp;#xB4DC;&amp;#xB85C; &amp;#xC791;&amp;#xC131;&amp;#xD558;&amp;#xACE0;&lt;br&gt;
&amp;#xB9AC;&amp;#xD134;&amp;#xAC12;&amp;#xC740; &amp;#xAC01;&amp;#xAC01; &amp;#xB2EC;&amp;#xB77C;&amp;#xB3C4; &amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;java&quot; class=&quot;language-java&quot;&gt;&lt;span class=&quot;token keyword keyword-static&quot;&gt;static&lt;/span&gt; &lt;span class=&quot;token keyword keyword-int&quot;&gt;int&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;plus&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token keyword keyword-int&quot;&gt;int&lt;/span&gt; a&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token keyword keyword-int&quot;&gt;int&lt;/span&gt; b&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;token keyword keyword-return&quot;&gt;return&lt;/span&gt; a &lt;span class=&quot;token operator&quot;&gt;+&lt;/span&gt; b&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token keyword keyword-static&quot;&gt;static&lt;/span&gt; &lt;span class=&quot;token keyword keyword-int&quot;&gt;int&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;plus&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token keyword keyword-int&quot;&gt;int&lt;/span&gt; a&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token keyword keyword-int&quot;&gt;int&lt;/span&gt; b&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token keyword keyword-int&quot;&gt;int&lt;/span&gt; c&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;token keyword keyword-return&quot;&gt;return&lt;/span&gt; a &lt;span class=&quot;token operator&quot;&gt;+&lt;/span&gt; b &lt;span class=&quot;token operator&quot;&gt;+&lt;/span&gt; c&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token keyword keyword-static&quot;&gt;static&lt;/span&gt; &lt;span class=&quot;token keyword keyword-double&quot;&gt;double&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;plus&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token keyword keyword-double&quot;&gt;double&lt;/span&gt; a&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token keyword keyword-double&quot;&gt;double&lt;/span&gt; b&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;token keyword keyword-return&quot;&gt;return&lt;/span&gt; a &lt;span class=&quot;token operator&quot;&gt;+&lt;/span&gt; b&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;hr&gt;
&lt;h3 class=&quot;mume-header&quot; id=&quot;3-interface-%EB%82%B4%EC%9D%98-default-static-%EB%A9%94%EC%84%9C%EB%93%9C&quot;&gt;3. interface &amp;#xB0B4;&amp;#xC758; default, static &amp;#xBA54;&amp;#xC11C;&amp;#xB4DC;&lt;/h3&gt;

&lt;p&gt;interface &amp;#xD568;&amp;#xC218; &amp;#xB0B4;&amp;#xC758; &amp;#xBA54;&amp;#xC11C;&amp;#xB4DC;&amp;#xB294; &amp;#xAE30;&amp;#xBCF8;&amp;#xC801;&amp;#xC73C;&amp;#xB85C; &lt;strong&gt;public abstract&lt;/strong&gt; &amp;#xC774;&amp;#xACE0; &amp;#xD574;&amp;#xB2F9; &amp;#xD0A4;&amp;#xC6CC;&amp;#xB4DC;&amp;#xB294; &amp;#xC0DD;&amp;#xB7B5;&amp;#xD558;&amp;#xC5EC; &amp;#xD45C;&amp;#xAE30;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;Java 8 &amp;#xBD80;&amp;#xD130;&amp;#xB294; interface&amp;#xC5D0;&amp;#xC11C; static &amp;#xBA54;&amp;#xC11C;&amp;#xB4DC;, default &amp;#xBA54;&amp;#xC11C;&amp;#xB4DC;&amp;#xB97C; &amp;#xC774;&amp;#xC6A9;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;default &amp;#xD0A4;&amp;#xC6CC;&amp;#xB4DC;&amp;#xB294; &amp;#xC778;&amp;#xD130;&amp;#xD398;&amp;#xC774;&amp;#xC2A4; &amp;#xBA54;&amp;#xC11C;&amp;#xB4DC;&amp;#xC5D0; &amp;#xAE30;&amp;#xBCF8; &amp;#xAD6C;&amp;#xD604;&amp;#xC744; &amp;#xC791;&amp;#xC131;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xB3C4;&amp;#xB85D; &amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;. (default &amp;#xBA54;&amp;#xC11C;&amp;#xB4DC;&amp;#xB294; override&amp;#xAC00; &amp;#xD544;&amp;#xC218;&amp;#xAC00; &amp;#xC544;&amp;#xB2D9;&amp;#xB2C8;&amp;#xB2E4;.)&lt;/p&gt;
&lt;p&gt;static &amp;#xBA54;&amp;#xC11C;&amp;#xB4DC;&amp;#xB294; &amp;#xD558;&amp;#xC704; &amp;#xD074;&amp;#xB798;&amp;#xC2A4;&amp;#xB85C; &amp;#xC0C1;&amp;#xC18D;&amp;#xB418;&amp;#xC9C0;&amp;#xB294; &amp;#xC54A;&amp;#xC9C0;&amp;#xB9CC;, &amp;#xC778;&amp;#xD130;&amp;#xD398;&amp;#xC774;&amp;#xC2A4; &amp;#xB0B4;&amp;#xC758; static method&amp;#xB098; default &amp;#xBA54;&amp;#xC11C;&amp;#xB4DC;&amp;#xC5D0;&amp;#xC11C; &amp;#xC811;&amp;#xADFC;&amp;#xC740; &amp;#xAC00;&amp;#xB2A5;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;java&quot; class=&quot;language-java&quot;&gt;&lt;span class=&quot;token keyword keyword-interface&quot;&gt;interface&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;Vehicle&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;token class-name&quot;&gt;String&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;getName&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

    &lt;span class=&quot;token keyword keyword-static&quot;&gt;static&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;String&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;code&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
        &lt;span class=&quot;token keyword keyword-return&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;quot;200&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

    &lt;span class=&quot;token keyword keyword-default&quot;&gt;default&lt;/span&gt; &lt;span class=&quot;token keyword keyword-void&quot;&gt;void&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;introduce&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
        &lt;span class=&quot;token class-name&quot;&gt;System&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;out&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;printf&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;&amp;#xC774;&amp;#xB984;: %s, &amp;#xCF54;&amp;#xB4DC;: %s%n&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;getName&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;code&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;java&quot; class=&quot;language-java&quot;&gt;&lt;span class=&quot;token keyword keyword-class&quot;&gt;class&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;Car&lt;/span&gt; &lt;span class=&quot;token keyword keyword-implements&quot;&gt;implements&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;Vehicle&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;token keyword keyword-private&quot;&gt;private&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;String&lt;/span&gt; name&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

    &lt;span class=&quot;token keyword keyword-public&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;Car&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;String&lt;/span&gt; name&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
        &lt;span class=&quot;token keyword keyword-this&quot;&gt;this&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;name &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; name&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

    &lt;span class=&quot;token annotation punctuation&quot;&gt;@Override&lt;/span&gt;
    &lt;span class=&quot;token keyword keyword-public&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;String&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;getName&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
        &lt;span class=&quot;token keyword keyword-return&quot;&gt;return&lt;/span&gt; name&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;br&gt;
&lt;p&gt;default &amp;#xBA54;&amp;#xC11C;&amp;#xB4DC;&amp;#xAC00; &amp;#xC788;&amp;#xB294; interface&amp;#xB294; abstract class&amp;#xC640; &amp;#xAE30;&amp;#xB2A5;&amp;#xC0C1;&amp;#xC73C;&amp;#xB85C;&amp;#xB294; &amp;#xB3D9;&amp;#xC77C;&amp;#xD574; &amp;#xBCF4;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;interface&amp;#xC5D0; default &amp;#xBA54;&amp;#xC11C;&amp;#xB4DC;&amp;#xB97C; &amp;#xC774;&amp;#xC6A9;&amp;#xD558;&amp;#xB294; &amp;#xAC83;&amp;#xC740;&lt;br&gt;
&lt;strong&gt;&amp;#xAE30;&amp;#xC874;&amp;#xC758; &amp;#xBE44;&amp;#xC988;&amp;#xB2C8;&amp;#xC2A4; &amp;#xB85C;&amp;#xC9C1;&amp;#xC5D0;&amp;#xB294; &amp;#xC601;&amp;#xD5A5;&amp;#xC744; &amp;#xC8FC;&amp;#xC9C0; &amp;#xC54A;&amp;#xC73C;&amp;#xBA74;&amp;#xC11C; &amp;#xCD94;&amp;#xAC00; &amp;#xAE30;&amp;#xB2A5;&amp;#xC744; &amp;#xCD94;&amp;#xAC00;&amp;#xD558;&amp;#xACE0;&amp;#xC790;&amp;#xD560; &amp;#xB54C;&lt;/strong&gt; &amp;#xD65C;&amp;#xC6A9;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;#xAE30;&amp;#xBCF8;&amp;#xC801;&amp;#xC73C;&amp;#xB85C; abstract class&amp;#xC640; interface&amp;#xC758; &amp;#xCC28;&amp;#xC774;&amp;#xC810;&amp;#xC740;&lt;br&gt;
abstract class&amp;#xC5D0;&amp;#xC11C;&amp;#xB294; abstract&amp;#xAC00; &amp;#xC544;&amp;#xB2CC; &amp;#xBA54;&amp;#xC11C;&amp;#xB4DC;&amp;#xB3C4; &amp;#xAC00;&amp;#xC9C8; &amp;#xC218; &amp;#xC788;&amp;#xACE0;, &amp;#xD544;&amp;#xB4DC;&amp;#xAC12;&amp;#xC744; &amp;#xAC00;&amp;#xC9C8; &amp;#xC218; &amp;#xC788;&amp;#xB2E4;&amp;#xB294; &amp;#xC810;&amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;br&gt;
&lt;p&gt;&amp;#xC774; &amp;#xD2B9;&amp;#xC131;&amp;#xC744; &amp;#xC774;&amp;#xC6A9;&amp;#xD558;&amp;#xC5EC; Java&amp;#xC5D0;&amp;#xC11C;&amp;#xB294; &amp;#xAE30;&amp;#xC874;&amp;#xC758; &amp;#xC778;&amp;#xD130;&amp;#xD398;&amp;#xC774;&amp;#xC2A4;&amp;#xC5D0; &amp;#xC0C8;&amp;#xB85C;&amp;#xC740; &amp;#xAE30;&amp;#xB2A5;&amp;#xC744; &amp;#xCD94;&amp;#xAC00;&amp;#xD558;&amp;#xACE0;&amp;#xC790; &amp;#xD560;&amp;#xB54C;, &amp;#xADF8; &amp;#xC778;&amp;#xD130;&amp;#xD398;&amp;#xC774;&amp;#xC2A4;&amp;#xC758; &amp;#xAD6C;&amp;#xD604;&amp;#xCCB4;&amp;#xC5D0; &amp;#xC601;&amp;#xD5A5;&amp;#xC744; &amp;#xC8FC;&amp;#xC9C0;&amp;#xC54A;&amp;#xC73C;&amp;#xBA74;&amp;#xC11C; &amp;#xAE30;&amp;#xB2A5;&amp;#xC744; &amp;#xCD94;&amp;#xAC00;&amp;#xD558;&amp;#xB294; &amp;#xAC83;&amp;#xC774; &amp;#xAC00;&amp;#xB2A5;&amp;#xD574;&amp;#xC84C;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;br&gt;
&lt;h3 class=&quot;mume-header&quot; id=&quot;4-static-method-%EC%88%A8%EA%B8%B0%EA%B8%B0&quot;&gt;4. static method &amp;#xC228;&amp;#xAE30;&amp;#xAE30;&lt;/h3&gt;

&lt;p&gt;&amp;#xB9CC;&amp;#xC77C;, Super Class&amp;#xC640; Sub Class&amp;#xC5D0;&amp;#xC11C; &amp;#xB3D9;&amp;#xC77C;&amp;#xD55C; &amp;#xC774;&amp;#xB984;&amp;#xC758; static method&amp;#xB97C; &amp;#xAC16;&amp;#xACE0; &amp;#xC788;&amp;#xB2E4;&amp;#xBA74;,&lt;br&gt;
&amp;#xD074;&amp;#xB798;&amp;#xC2A4; &amp;#xC791;&amp;#xC131;&amp;#xB41C; static &amp;#xBA54;&amp;#xC11C;&amp;#xB4DC;&amp;#xB97C; &amp;#xD638;&amp;#xCD9C;&amp;#xD558;&amp;#xACE0; &amp;#xB098;&amp;#xBA38;&amp;#xC9C0;&amp;#xB294; &amp;#xC228;&amp;#xACA8;&amp;#xC9D1;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;java&quot; class=&quot;language-java&quot;&gt;&lt;span class=&quot;token keyword keyword-class&quot;&gt;class&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;Fruit&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;token keyword keyword-public&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;token keyword keyword-static&quot;&gt;static&lt;/span&gt; &lt;span class=&quot;token keyword keyword-void&quot;&gt;void&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;introduce&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
        &lt;span class=&quot;token class-name&quot;&gt;System&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;out&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;&amp;#xB098;&amp;#xB294; &amp;#xACFC;&amp;#xC77C; &amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token keyword keyword-class&quot;&gt;class&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;Apple&lt;/span&gt; &lt;span class=&quot;token keyword keyword-extends&quot;&gt;extends&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;Fruit&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;token keyword keyword-public&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;token keyword keyword-static&quot;&gt;static&lt;/span&gt; &lt;span class=&quot;token keyword keyword-void&quot;&gt;void&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;introduce&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
        &lt;span class=&quot;token class-name&quot;&gt;System&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;out&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;quot;&amp;#xB098;&amp;#xB294; &amp;#xC0AC;&amp;#xACFC; &amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;&amp;quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;java&quot; class=&quot;language-java&quot;&gt;&lt;span class=&quot;token keyword keyword-public&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;token keyword keyword-class&quot;&gt;class&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;MethodHidingTest&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;token keyword keyword-public&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;token keyword keyword-static&quot;&gt;static&lt;/span&gt; &lt;span class=&quot;token keyword keyword-void&quot;&gt;void&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;main&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;String&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; args&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
        &lt;span class=&quot;token class-name&quot;&gt;Fruit&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;introduce&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
        &lt;span class=&quot;token class-name&quot;&gt;Apple&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;introduce&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;sh&quot; class=&quot;language-bash&quot;&gt;&amp;#xB098;&amp;#xB294; &amp;#xACFC;&amp;#xC77C; &amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;
&amp;#xB098;&amp;#xB294; &amp;#xC0AC;&amp;#xACFC; &amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;
&lt;/pre&gt;&lt;hr&gt;

  &lt;/div&gt;&lt;/div&gt;</description>
      <category>Java/Basic</category>
      <category>Java</category>
      <author>jiniya22</author>
      <guid isPermaLink="true">https://jini-box.tistory.com/208</guid>
      <comments>https://jini-box.tistory.com/208#entry208comment</comments>
      <pubDate>Sun, 5 Feb 2023 16:57:02 +0900</pubDate>
    </item>
    <item>
      <title>[Codility - Java] 5. Prefix Sums - 4. MinAvgTwoSlice</title>
      <link>https://jini-box.tistory.com/207</link>
      <description>&lt;div id=&quot;html-export&quot;&gt;
      &lt;div class=&quot;mume markdown-preview  &quot;&gt;
      &lt;h1 class=&quot;mume-header&quot; id=&quot;minavgtwoslice&quot;&gt;MinAvgTwoSlice&lt;/h1&gt;

&lt;p&gt;A non-empty array A consisting of N integers is given. A pair of integers (P, Q), such that 0 &amp;#x2264; P &amp;lt; Q &amp;lt; N, is called a slice of array A (notice that the slice contains at least two elements). The average of a slice (P, Q) is the sum of A[P] + A[P + 1] + ... + A[Q] divided by the length of the slice. To be precise, the average equals (A[P] + A[P + 1] + ... + A[Q]) / (Q &amp;#x2212; P + 1).&lt;/p&gt;
&lt;p&gt;For example, array A such that:&lt;/p&gt;
&lt;pre class=&quot;language-text&quot;&gt;A[0] = 4
A[1] = 2
A[2] = 2
A[3] = 5
A[4] = 1
A[5] = 5
A[6] = 8
&lt;/pre&gt;
&lt;p&gt;contains the following example slices:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;slice (1, 2), whose average is (2 + 2) / 2 = 2;&lt;/li&gt;
&lt;li&gt;slice (3, 4), whose average is (5 + 1) / 2 = 3;&lt;/li&gt;
&lt;li&gt;slice (1, 4), whose average is (2 + 2 + 5 + 1) / 4 = 2.5.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The goal is to find the starting position of a slice whose average is minimal.&lt;/p&gt;
&lt;p&gt;Write a function:&lt;/p&gt;
&lt;pre class=&quot;language-text&quot;&gt;class Solution { public int solution(int[] A); }
&lt;/pre&gt;
&lt;p&gt;that, given a non-empty array A consisting of N integers, returns the starting position of the slice with the minimal average. If there is more than one slice with a minimal average, you should return the smallest starting position of such a slice.&lt;/p&gt;
&lt;p&gt;For example, given array A such that:&lt;/p&gt;
&lt;pre class=&quot;language-text&quot;&gt;A[0] = 4
A[1] = 2
A[2] = 2
A[3] = 5
A[4] = 1
A[5] = 5
A[6] = 8
&lt;/pre&gt;
&lt;p&gt;the function should return 1, as explained above.&lt;/p&gt;
&lt;p&gt;Write an efficient algorithm for the following assumptions:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;N is an integer within the range [2..100,000];&lt;/li&gt;
&lt;li&gt;each element of array A is an integer within the range [&amp;#x2212;10,000..10,000].&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;p&gt;N&amp;#xAC1C;&amp;#xC758; &amp;#xC815;&amp;#xC218;&amp;#xB85C; &amp;#xC774;&amp;#xB904;&amp;#xC9C4; &amp;#xBE44;&amp;#xC5B4;&amp;#xC788;&amp;#xC9C0; &amp;#xC54A;&amp;#xC740; &amp;#xBC30;&amp;#xC5F4; A&lt;/p&gt;
&lt;p&gt;&amp;#xC815;&amp;#xC218;&amp;#xB85C; &amp;#xC774;&amp;#xB904;&amp;#xC9C4; pair&amp;#xC778; (P, Q)&amp;#xB294; &lt;code&gt;0 &amp;lt;= P &amp;lt; Q &amp;lt; N&lt;/code&gt;&amp;#xC744; &amp;#xB9CC;&amp;#xC871;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
pair (P, Q)&amp;#xB294; &amp;#xBC30;&amp;#xC5F4; A&amp;#xC758; &amp;#xC694;&amp;#xC18C;&amp;#xB97C; slice&amp;#xD55C; &amp;#xAC83;&amp;#xC774;&amp;#xACE0;, &amp;#xADF8; &amp;#xAC83;&amp;#xC758; &amp;#xD3C9;&amp;#xADE0;&amp;#xC740; &lt;code&gt;(A[P] + A[P + 1] + ... + A[Q]) / (Q - P + 1)&lt;/code&gt; &amp;#xC785;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xAC00;&amp;#xC7A5; &amp;#xD3C9;&amp;#xADE0;&amp;#xC774; &amp;#xC791;&amp;#xC740; pair&amp;#xC758; P&amp;#xAC12;&amp;#xC744; &amp;#xB9AC;&amp;#xD134;&amp;#xD558;&amp;#xBA74; &amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&lt;br&gt;&lt;/p&gt;
&lt;p&gt;&amp;#xAC00;&amp;#xC7A5; &amp;#xC791;&amp;#xC740; &amp;#xD3C9;&amp;#xADE0;&amp;#xC744; &amp;#xB098;&amp;#xD0C0;&amp;#xB0B4;&amp;#xB294; &amp;#xC2DC;&amp;#xC791;&amp;#xC810; P&amp;#xB97C; &amp;#xAD6C;&amp;#xD558;&amp;#xB294; &amp;#xBB38;&amp;#xC81C;.&lt;/p&gt;
&lt;p&gt;4&amp;#xAC1C; &amp;#xC774;&amp;#xC0C1;&amp;#xC758; &amp;#xC218;&amp;#xC758; &amp;#xD3C9;&amp;#xADE0;&amp;#xC740;, &amp;#xC5B4;&amp;#xB5BB;&amp;#xAC8C; &amp;#xD558;&amp;#xB354;&amp;#xB77C;&amp;#xB3C4; 2&amp;#xAC1C;&amp;#xB098; 3&amp;#xAC1C;&amp;#xB85C; &amp;#xAD6C;&amp;#xC131;&amp;#xD55C; &amp;#xD3C9;&amp;#xADE0;&amp;#xBCF4;&amp;#xB2E4; &amp;#xD07D;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;code&gt;4 2 1 1&lt;/code&gt; &amp;#xC758; &amp;#xD3C9;&amp;#xADE0;&amp;#xBCF4;&amp;#xB2E4;, &lt;code&gt;1 1&lt;/code&gt; &amp;#xC758; &amp;#xD3C9;&amp;#xADE0;&amp;#xC774; &amp;#xB354; &amp;#xC791;&amp;#xC740; &amp;#xAC83;&amp;#xC744; &amp;#xC0DD;&amp;#xAC01;&amp;#xD558;&amp;#xBA74; &amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;br&gt;
&lt;h3 class=&quot;mume-header&quot; id=&quot;%EB%B0%A9%EB%B2%95-1-%EB%88%84%EC%A0%81-%ED%95%A9%EC%9D%84-%EC%9D%B4%EC%9A%A9%ED%95%98%EC%97%AC-%ED%92%80%EA%B8%B0&quot;&gt;&amp;#xBC29;&amp;#xBC95; 1. &amp;#xB204;&amp;#xC801; &amp;#xD569;&amp;#xC744; &amp;#xC774;&amp;#xC6A9;&amp;#xD558;&amp;#xC5EC; &amp;#xD480;&amp;#xAE30;.&lt;/h3&gt;

&lt;p&gt;&amp;#xB204;&amp;#xC801;&amp;#xD569;&amp;#xC744; &amp;#xC774;&amp;#xC6A9;&amp;#xD558;&amp;#xC5EC; countingArr&amp;#xB97C; &amp;#xACC4;&amp;#xC0B0;&amp;#xD558;&amp;#xACE0;,&lt;br&gt;
&amp;#xB204;&amp;#xC801;&amp;#xD569;&amp;#xC758; 2&amp;#xC694;&amp;#xC18C;&amp;#xAC04;&amp;#xC758; &amp;#xCC28;, 3&amp;#xC694;&amp;#xC18C;&amp;#xAC04;&amp;#xC758; &amp;#xCC28;&amp;#xB97C; &amp;#xC870;&amp;#xD68C;&amp;#xD558;&amp;#xC5EC; &amp;#xAC00;&amp;#xC7A5; &amp;#xC791;&amp;#xC740; &amp;#xD3C9;&amp;#xADE0;&amp;#xAC12;&amp;#xC744; &amp;#xB098;&amp;#xD0C0;&amp;#xB0B4;&amp;#xB294; &amp;#xC2DC;&amp;#xC791;&amp;#xC810; P&amp;#xB97C; &amp;#xAD6C;&amp;#xD558;&amp;#xBA74; &amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;countingArr&amp;#xC758; &amp;#xB9E8; &amp;#xCCAB;&amp;#xBC88;&amp;#xC9F8;&amp;#xB294; 0,&lt;br&gt;
&amp;#xADF8; &amp;#xC774;&amp;#xD6C4;&amp;#xBD80;&amp;#xD130;&amp;#xB294; A&amp;#xC758; &amp;#xC694;&amp;#xC18C;&amp;#xB97C; &amp;#xD569;&amp;#xC0B0;&amp;#xD55C; &amp;#xAC12;&amp;#xC774; &amp;#xB4E4;&amp;#xC5B4;&amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&lt;span class=&quot;katex&quot;&gt;&lt;span class=&quot;katex-mathml&quot;&gt;&lt;math xmlns=&quot;http://www.w3.org/1998/Math/MathML&quot;&gt;&lt;semantics&gt;&lt;mrow&gt;&lt;mi&gt;A&lt;/mi&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;mo stretchy=&quot;false&quot;&gt;[&lt;/mo&gt;&lt;mn&gt;4&lt;/mn&gt;&lt;mo separator=&quot;true&quot;&gt;,&lt;/mo&gt;&lt;mn&gt;2&lt;/mn&gt;&lt;mo separator=&quot;true&quot;&gt;,&lt;/mo&gt;&lt;mn&gt;2&lt;/mn&gt;&lt;mo separator=&quot;true&quot;&gt;,&lt;/mo&gt;&lt;mn&gt;5&lt;/mn&gt;&lt;mo separator=&quot;true&quot;&gt;,&lt;/mo&gt;&lt;mn&gt;1&lt;/mn&gt;&lt;mo separator=&quot;true&quot;&gt;,&lt;/mo&gt;&lt;mn&gt;5&lt;/mn&gt;&lt;mo separator=&quot;true&quot;&gt;,&lt;/mo&gt;&lt;mn&gt;8&lt;/mn&gt;&lt;mo stretchy=&quot;false&quot;&gt;]&lt;/mo&gt;&lt;/mrow&gt;&lt;annotation encoding=&quot;application/x-tex&quot;&gt;A = [4, 2, 2, 5, 1, 5, 8]&lt;/annotation&gt;&lt;/semantics&gt;&lt;/math&gt;&lt;/span&gt;&lt;span class=&quot;katex-html&quot; aria-hidden=&quot;true&quot;&gt;&lt;span class=&quot;base&quot;&gt;&lt;span class=&quot;strut&quot; style=&quot;height:0.6833em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord mathnormal&quot;&gt;A&lt;/span&gt;&lt;span class=&quot;mspace&quot; style=&quot;margin-right:0.2778em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mrel&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mspace&quot; style=&quot;margin-right:0.2778em;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;base&quot;&gt;&lt;span class=&quot;strut&quot; style=&quot;height:1em;vertical-align:-0.25em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mopen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;mord&quot;&gt;4&lt;/span&gt;&lt;span class=&quot;mpunct&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mspace&quot; style=&quot;margin-right:0.1667em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;mpunct&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mspace&quot; style=&quot;margin-right:0.1667em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;mpunct&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mspace&quot; style=&quot;margin-right:0.1667em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord&quot;&gt;5&lt;/span&gt;&lt;span class=&quot;mpunct&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mspace&quot; style=&quot;margin-right:0.1667em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;mpunct&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mspace&quot; style=&quot;margin-right:0.1667em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord&quot;&gt;5&lt;/span&gt;&lt;span class=&quot;mpunct&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mspace&quot; style=&quot;margin-right:0.1667em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord&quot;&gt;8&lt;/span&gt;&lt;span class=&quot;mclose&quot;&gt;]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br&gt;
&lt;span class=&quot;katex&quot;&gt;&lt;span class=&quot;katex-mathml&quot;&gt;&lt;math xmlns=&quot;http://www.w3.org/1998/Math/MathML&quot;&gt;&lt;semantics&gt;&lt;mrow&gt;&lt;mi&gt;c&lt;/mi&gt;&lt;mi&gt;o&lt;/mi&gt;&lt;mi&gt;u&lt;/mi&gt;&lt;mi&gt;n&lt;/mi&gt;&lt;mi&gt;t&lt;/mi&gt;&lt;mi&gt;i&lt;/mi&gt;&lt;mi&gt;n&lt;/mi&gt;&lt;mi&gt;g&lt;/mi&gt;&lt;mi&gt;A&lt;/mi&gt;&lt;mi&gt;r&lt;/mi&gt;&lt;mi&gt;r&lt;/mi&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;mo stretchy=&quot;false&quot;&gt;[&lt;/mo&gt;&lt;mn&gt;0&lt;/mn&gt;&lt;mo separator=&quot;true&quot;&gt;,&lt;/mo&gt;&lt;mn&gt;4&lt;/mn&gt;&lt;mo separator=&quot;true&quot;&gt;,&lt;/mo&gt;&lt;mn&gt;6&lt;/mn&gt;&lt;mo separator=&quot;true&quot;&gt;,&lt;/mo&gt;&lt;mn&gt;8&lt;/mn&gt;&lt;mo separator=&quot;true&quot;&gt;,&lt;/mo&gt;&lt;mn&gt;13&lt;/mn&gt;&lt;mo separator=&quot;true&quot;&gt;,&lt;/mo&gt;&lt;mn&gt;14&lt;/mn&gt;&lt;mo separator=&quot;true&quot;&gt;,&lt;/mo&gt;&lt;mn&gt;19&lt;/mn&gt;&lt;mo separator=&quot;true&quot;&gt;,&lt;/mo&gt;&lt;mn&gt;27&lt;/mn&gt;&lt;mo stretchy=&quot;false&quot;&gt;]&lt;/mo&gt;&lt;/mrow&gt;&lt;annotation encoding=&quot;application/x-tex&quot;&gt;countingArr = [0, 4, 6, 8, 13, 14, 19, 27]&lt;/annotation&gt;&lt;/semantics&gt;&lt;/math&gt;&lt;/span&gt;&lt;span class=&quot;katex-html&quot; aria-hidden=&quot;true&quot;&gt;&lt;span class=&quot;base&quot;&gt;&lt;span class=&quot;strut&quot; style=&quot;height:0.8778em;vertical-align:-0.1944em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord mathnormal&quot;&gt;co&lt;/span&gt;&lt;span class=&quot;mord mathnormal&quot;&gt;u&lt;/span&gt;&lt;span class=&quot;mord mathnormal&quot;&gt;n&lt;/span&gt;&lt;span class=&quot;mord mathnormal&quot;&gt;t&lt;/span&gt;&lt;span class=&quot;mord mathnormal&quot;&gt;in&lt;/span&gt;&lt;span class=&quot;mord mathnormal&quot; style=&quot;margin-right:0.03588em;&quot;&gt;g&lt;/span&gt;&lt;span class=&quot;mord mathnormal&quot;&gt;A&lt;/span&gt;&lt;span class=&quot;mord mathnormal&quot; style=&quot;margin-right:0.02778em;&quot;&gt;rr&lt;/span&gt;&lt;span class=&quot;mspace&quot; style=&quot;margin-right:0.2778em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mrel&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mspace&quot; style=&quot;margin-right:0.2778em;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;base&quot;&gt;&lt;span class=&quot;strut&quot; style=&quot;height:1em;vertical-align:-0.25em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mopen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;mord&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;mpunct&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mspace&quot; style=&quot;margin-right:0.1667em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord&quot;&gt;4&lt;/span&gt;&lt;span class=&quot;mpunct&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mspace&quot; style=&quot;margin-right:0.1667em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord&quot;&gt;6&lt;/span&gt;&lt;span class=&quot;mpunct&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mspace&quot; style=&quot;margin-right:0.1667em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord&quot;&gt;8&lt;/span&gt;&lt;span class=&quot;mpunct&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mspace&quot; style=&quot;margin-right:0.1667em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord&quot;&gt;13&lt;/span&gt;&lt;span class=&quot;mpunct&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mspace&quot; style=&quot;margin-right:0.1667em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord&quot;&gt;14&lt;/span&gt;&lt;span class=&quot;mpunct&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mspace&quot; style=&quot;margin-right:0.1667em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord&quot;&gt;19&lt;/span&gt;&lt;span class=&quot;mpunct&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mspace&quot; style=&quot;margin-right:0.1667em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord&quot;&gt;27&lt;/span&gt;&lt;span class=&quot;mclose&quot;&gt;]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;(0, 1) = (4 + 2)/2&lt;br&gt;
(1, 2) = (2 + 2)/2&lt;br&gt;
(1, 3) = (2 + 2 + 5)/3&lt;/p&gt;
&lt;p&gt;countingArr&amp;#xC5D0;&amp;#xC11C; &amp;#xAD6C;&amp;#xD558;&amp;#xB294; &amp;#xBC29;&amp;#xBC95;&amp;#xC740;&lt;br&gt;
(0, 1) = (countingArr[2] - countingArr[0])/2&lt;br&gt;
(1, 2) = (countingArr[3] - countingArr[1])/2&lt;br&gt;
(1, 3) = (countingArr[4] - countingArr[1])/3&lt;/p&gt;
&lt;p&gt;&amp;#xCF54;&amp;#xB4DC;&amp;#xB85C; &amp;#xB098;&amp;#xD0C0;&amp;#xB0B4;&amp;#xBA74; &amp;#xC544;&amp;#xB798;&amp;#xC640; &amp;#xAC19;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;java&quot; class=&quot;language-java&quot;&gt;&lt;span class=&quot;token keyword keyword-static&quot;&gt;static&lt;/span&gt; &lt;span class=&quot;token keyword keyword-int&quot;&gt;int&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;minAvgTwoSlice&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token keyword keyword-int&quot;&gt;int&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;A&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;token keyword keyword-int&quot;&gt;int&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; countingArr &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token keyword keyword-new&quot;&gt;new&lt;/span&gt; &lt;span class=&quot;token keyword keyword-int&quot;&gt;int&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;A&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;length &lt;span class=&quot;token operator&quot;&gt;+&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;token keyword keyword-for&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token keyword keyword-int&quot;&gt;int&lt;/span&gt; i &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; i &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;A&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;length&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; i&lt;span class=&quot;token operator&quot;&gt;++&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
        countingArr&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;i &lt;span class=&quot;token operator&quot;&gt;+&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; countingArr&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;i&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;+&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;A&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;i&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
    &lt;span class=&quot;token keyword keyword-double&quot;&gt;double&lt;/span&gt; minAvg &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;countingArr&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt; countingArr&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;2.0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;token keyword keyword-int&quot;&gt;int&lt;/span&gt; startingPosition &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;token keyword keyword-for&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token keyword keyword-int&quot;&gt;int&lt;/span&gt; i &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; i &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;A&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;length&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; i&lt;span class=&quot;token operator&quot;&gt;++&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
        &lt;span class=&quot;token keyword keyword-double&quot;&gt;double&lt;/span&gt; temp &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;countingArr&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;i &lt;span class=&quot;token operator&quot;&gt;+&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt; countingArr&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;i &lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;2.0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
        &lt;span class=&quot;token keyword keyword-if&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;minAvg &lt;span class=&quot;token operator&quot;&gt;&amp;gt;&lt;/span&gt; temp&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
            minAvg &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; temp&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
            startingPosition &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; i &lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
        temp &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;countingArr&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;i &lt;span class=&quot;token operator&quot;&gt;+&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt; countingArr&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;i &lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;3.0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
        &lt;span class=&quot;token keyword keyword-if&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;minAvg &lt;span class=&quot;token operator&quot;&gt;&amp;gt;&lt;/span&gt; temp&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
            minAvg &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; temp&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
            startingPosition &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; i &lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
    &lt;span class=&quot;token keyword keyword-return&quot;&gt;return&lt;/span&gt; startingPosition&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;br&gt;
&lt;h3 class=&quot;mume-header&quot; id=&quot;%EB%B0%A9%EB%B2%95-2&quot;&gt;&amp;#xBC29;&amp;#xBC95; 2.&lt;/h3&gt;

&lt;p&gt;&amp;#xB204;&amp;#xC801;&amp;#xD569;&amp;#xC744; &amp;#xD65C;&amp;#xC6A9;&amp;#xD558;&amp;#xC9C0; &amp;#xC54A;&amp;#xACE0;, &amp;#xBC30;&amp;#xC5F4; A&amp;#xC758; &amp;#xAC01;&amp;#xC694;&amp;#xC18C;&amp;#xB97C; &amp;#xB354;&amp;#xD574;&amp;#xC11C; &amp;#xD3C9;&amp;#xADE0;&amp;#xC744; &amp;#xAD6C;&amp;#xD574;&amp;#xB3C4; &amp;#xBB34;&amp;#xAD00;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;java&quot; class=&quot;language-java&quot;&gt;&lt;span class=&quot;token keyword keyword-static&quot;&gt;static&lt;/span&gt; &lt;span class=&quot;token keyword keyword-int&quot;&gt;int&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;minAvgTwoSlice&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token keyword keyword-int&quot;&gt;int&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;A&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;token keyword keyword-int&quot;&gt;int&lt;/span&gt; minSlice &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;token keyword keyword-double&quot;&gt;double&lt;/span&gt; minAvg &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;A&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;+&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;A&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;2.0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

    &lt;span class=&quot;token keyword keyword-for&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token keyword keyword-int&quot;&gt;int&lt;/span&gt; i &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; i &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;A&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;length&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; i&lt;span class=&quot;token operator&quot;&gt;++&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
        &lt;span class=&quot;token keyword keyword-double&quot;&gt;double&lt;/span&gt; temp &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;A&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;i&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;+&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;A&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;i &lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;2.0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
        &lt;span class=&quot;token keyword keyword-if&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;temp &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt; minAvg&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
            minAvg &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; temp&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
            minSlice &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; i &lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
        temp &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;A&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;i&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;+&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;A&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;i &lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;+&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;A&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;i &lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;3.0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
        &lt;span class=&quot;token keyword keyword-if&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;temp &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt; minAvg&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
            minAvg &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; temp&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
            minSlice &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; i &lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
    &lt;span class=&quot;token keyword keyword-return&quot;&gt;return&lt;/span&gt; minSlice&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;
  &lt;/div&gt;&lt;/div&gt;</description>
      <category>Java/coding test</category>
      <category>codility</category>
      <category>prefixSum</category>
      <author>jiniya22</author>
      <guid isPermaLink="true">https://jini-box.tistory.com/207</guid>
      <comments>https://jini-box.tistory.com/207#entry207comment</comments>
      <pubDate>Wed, 1 Feb 2023 01:21:01 +0900</pubDate>
    </item>
    <item>
      <title>[Codility - Java] 4. Counting Elements - 1. FrogRiverOne</title>
      <link>https://jini-box.tistory.com/206</link>
      <description>&lt;div id=&quot;html-export&quot;&gt;
      &lt;div class=&quot;mume markdown-preview  &quot;&gt;
      &lt;h1 class=&quot;mume-header&quot; id=&quot;frogriverone&quot;&gt;FrogRiverOne&lt;/h1&gt;

&lt;h3 class=&quot;mume-header&quot; id=&quot;find-the-earliest-time-when-a-frog-can-jump-to-the-other-side-of-a-river&quot;&gt;Find the earliest time when a frog can jump to the other side of a river.&lt;/h3&gt;

&lt;p&gt;A small frog wants to get to the other side of a river. The frog is initially located on one bank of the river (position 0) and wants to get to the opposite bank (position X+1). Leaves fall from a tree onto the surface of the river.&lt;/p&gt;
&lt;p&gt;You are given an array A consisting of N integers representing the falling leaves. A[K] represents the position where one leaf falls at time K, measured in seconds.&lt;/p&gt;
&lt;p&gt;The goal is to find the earliest time when the frog can jump to the other side of the river. The frog can cross only when leaves appear at every position across the river from 1 to X (that is, we want to find the earliest moment when all the positions from 1 to X are covered by leaves). You may assume that the speed of the current in the river is negligibly small, i.e. the leaves do not change their positions once they fall in the river.&lt;/p&gt;
&lt;p&gt;For example, you are given integer X = 5 and array A such that:&lt;/p&gt;
&lt;pre class=&quot;language-text&quot;&gt;A[0] = 1
A[1] = 3
A[2] = 1
A[3] = 4
A[4] = 2
A[5] = 3
A[6] = 5
A[7] = 4
&lt;/pre&gt;
&lt;p&gt;In second 6, a leaf falls into position 5. This is the earliest time when leaves appear in every position across the river.&lt;/p&gt;
&lt;p&gt;Write a function:&lt;/p&gt;
&lt;pre class=&quot;language-text&quot;&gt;class Solution { public int solution(int X, int[] A); }
&lt;/pre&gt;
&lt;p&gt;that, given a non-empty array A consisting of N integers and integer X, returns the earliest time when the frog can jump to the other side of the river.&lt;/p&gt;
&lt;p&gt;If the frog is never able to jump to the other side of the river, the function should return &amp;#x2212;1.&lt;/p&gt;
&lt;p&gt;For example, given X = 5 and array A such that:&lt;/p&gt;
&lt;pre class=&quot;language-text&quot;&gt;A[0] = 1
A[1] = 3
A[2] = 1
A[3] = 4
A[4] = 2
A[5] = 3
A[6] = 5
A[7] = 4
&lt;/pre&gt;
&lt;p&gt;the function should return 6, as explained above.&lt;/p&gt;
&lt;p&gt;Write an efficient algorithm for the following assumptions:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;N and X are integers within the range [1..100,000];&lt;/li&gt;
&lt;li&gt;each element of array A is an integer within the range [1..X].&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;p&gt;&amp;#xAC1C;&amp;#xAD6C;&amp;#xB9AC;&amp;#xB294; 0 &amp;#xC704;&amp;#xCE58;&amp;#xC5D0; &amp;#xC788;&amp;#xACE0;, X + 1&amp;#xB85C; &amp;#xAC00;&amp;#xACE0; &amp;#xC2F6;&amp;#xC5B4;&amp;#xD55C;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xAC15; &amp;#xD45C;&amp;#xBA74;&amp;#xC5D0;&amp;#xB294; &amp;#xB098;&amp;#xBB47;&amp;#xC78E;&amp;#xC774; &amp;#xB5A0;&amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;N&amp;#xAC1C;&amp;#xC758; &amp;#xC815;&amp;#xC218;&amp;#xB85C; &amp;#xAD6C;&amp;#xC131;&amp;#xB41C; &amp;#xBC30;&amp;#xC5F4; A (&amp;#xBC30;&amp;#xC5F4; A&amp;#xB294; &amp;#xBE44;&amp;#xC5B4;&amp;#xC788;&amp;#xC9C0; &amp;#xC54A;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.)&lt;br&gt;
A[K] &amp;#xC5D0;&amp;#xB294; K &amp;#xCD08;&amp;#xC5D0;  &amp;#xCE21;&amp;#xC815;&amp;#xB41C; &amp;#xB098;&amp;#xBB47;&amp;#xC78E; &amp;#xC704;&amp;#xCE58;&amp;#xAC00; &amp;#xB4E4;&amp;#xC5B4;&amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;A[0]&amp;#xC740; 0&amp;#xCD08;&amp;#xC5D0; &amp;#xB5A8;&amp;#xC5B4;&amp;#xC9C4; &amp;#xB098;&amp;#xBB47;&amp;#xC78E;, A[1]&amp;#xC740; 1&amp;#xCD08;&amp;#xC5D0; &amp;#xB5A8;&amp;#xC5B4;&amp;#xC9C4; &amp;#xB098;&amp;#xBB47;&amp;#xC78E;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&amp;#xAC1C;&amp;#xAD6C;&amp;#xB9AC;&amp;#xB294; &amp;#xC704;&amp;#xCE58; 1&amp;#xBD80;&amp;#xD130; &amp;#xC704;&amp;#xCE58; X&amp;#xAE4C;&amp;#xC9C0; &amp;#xBAA8;&amp;#xB4E0; &amp;#xB099;&amp;#xC5FD;&amp;#xC774; &amp;#xB744;&amp;#xC6CC;&amp;#xC838; &amp;#xC788;&amp;#xC5B4;&amp;#xC57C; &amp;#xBC18;&amp;#xB300;&amp;#xD3B8;&amp;#xC73C;&amp;#xB85C; &amp;#xAC08; &amp;#xC218; &amp;#xC788;&amp;#xC2B5;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xAC1C;&amp;#xAD6C;&amp;#xB9AC;&amp;#xAC00; &amp;#xBA87; &amp;#xCD08;&amp;#xAC00; &amp;#xC9C0;&amp;#xB098;&amp;#xC57C; &amp;#xAC15; &amp;#xBC18;&amp;#xB300;&amp;#xD3B8;&amp;#xC73C;&amp;#xB85C; &amp;#xB118;&amp;#xC5B4;&amp;#xAC08; &amp;#xC218; &amp;#xC788;&amp;#xB294;&amp;#xC9C0; &amp;#xAD6C;&amp;#xD558;&amp;#xBA74; &amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xB9CC;&amp;#xC77C;, &amp;#xB118;&amp;#xC5B4;&amp;#xAC08; &amp;#xC218; &amp;#xC5C6;&amp;#xB2E4;&amp;#xBA74; -1&amp;#xC744; &amp;#xB9AC;&amp;#xD134;&amp;#xD558;&amp;#xC138;&amp;#xC694;.&lt;/p&gt;
&lt;p&gt;1 &amp;lt;= N, X &amp;lt;= 100,000&lt;/p&gt;
&lt;br&gt;
&lt;p&gt;&amp;#xBC30;&amp;#xC5F4; A&amp;#xB97C; &amp;#xC21C;&amp;#xD68C;&amp;#xD558;&amp;#xBA74;&amp;#xC11C; set&amp;#xC5D0; &amp;#xC694;&amp;#xC18C;&amp;#xB97C; &amp;#xB123;&amp;#xACE0;,&lt;br&gt;
set &amp;#xD06C;&amp;#xAE30;&amp;#xAC00; X &amp;#xAC00; &amp;#xAC19;&amp;#xC544;&amp;#xC9C0;&amp;#xBA74; &amp;#xBC18;&amp;#xBCF5;&amp;#xBB38;&amp;#xC744; &amp;#xC885;&amp;#xB8CC;&amp;#xD558;&amp;#xBA74; &amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xBC18;&amp;#xBCF5;&amp;#xBB38;&amp;#xC744; &amp;#xBAA8;&amp;#xB450; &amp;#xB3C8; &amp;#xD6C4;&amp;#xC5D0;&amp;#xB3C4; X&amp;#xC640; set &amp;#xD06C;&amp;#xAE30;&amp;#xAC00; &amp;#xAC19;&amp;#xC740; &amp;#xACBD;&amp;#xC6B0;&amp;#xAC00; &amp;#xC5C6;&amp;#xB2E4;&amp;#xBA74; -1&amp;#xC744; &amp;#xB9AC;&amp;#xD134;&amp;#xD558;&amp;#xBA74; &amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;java&quot; class=&quot;language-java&quot;&gt;&lt;span class=&quot;token keyword keyword-static&quot;&gt;static&lt;/span&gt; &lt;span class=&quot;token keyword keyword-int&quot;&gt;int&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;frogRiverOne&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token keyword keyword-int&quot;&gt;int&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;A&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token keyword keyword-int&quot;&gt;int&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;X&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;token keyword keyword-int&quot;&gt;int&lt;/span&gt; result &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;token class-name&quot;&gt;Set&lt;/span&gt;&lt;span class=&quot;token generics&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;Integer&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt; s &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token keyword keyword-new&quot;&gt;new&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;HashSet&lt;/span&gt;&lt;span class=&quot;token generics&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;token keyword keyword-for&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token keyword keyword-int&quot;&gt;int&lt;/span&gt; i &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; i &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;A&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;length&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; i&lt;span class=&quot;token operator&quot;&gt;++&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
        s&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;add&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;A&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;i&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
        &lt;span class=&quot;token keyword keyword-if&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;X&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt; s&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;size&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
            result &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; i&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
            &lt;span class=&quot;token keyword keyword-break&quot;&gt;break&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
    &lt;span class=&quot;token keyword keyword-return&quot;&gt;return&lt;/span&gt; result&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;blockquote&gt;
&lt;p&gt;&lt;span class=&quot;katex&quot;&gt;&lt;span class=&quot;katex-mathml&quot;&gt;&lt;math xmlns=&quot;http://www.w3.org/1998/Math/MathML&quot;&gt;&lt;semantics&gt;&lt;mrow&gt;&lt;mi&gt;O&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;N&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;annotation encoding=&quot;application/x-tex&quot;&gt;O(N)&lt;/annotation&gt;&lt;/semantics&gt;&lt;/math&gt;&lt;/span&gt;&lt;span class=&quot;katex-html&quot; aria-hidden=&quot;true&quot;&gt;&lt;span class=&quot;base&quot;&gt;&lt;span class=&quot;strut&quot; style=&quot;height:1em;vertical-align:-0.25em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord mathnormal&quot; style=&quot;margin-right:0.02778em;&quot;&gt;O&lt;/span&gt;&lt;span class=&quot;mopen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mord mathnormal&quot; style=&quot;margin-right:0.10903em;&quot;&gt;N&lt;/span&gt;&lt;span class=&quot;mclose&quot;&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/blockquote&gt;

  &lt;/div&gt;&lt;/div&gt;</description>
      <category>Java/coding test</category>
      <category>codility</category>
      <category>count</category>
      <author>jiniya22</author>
      <guid isPermaLink="true">https://jini-box.tistory.com/206</guid>
      <comments>https://jini-box.tistory.com/206#entry206comment</comments>
      <pubDate>Tue, 31 Jan 2023 15:34:32 +0900</pubDate>
    </item>
    <item>
      <title>[Codility - Java] 3. Time Complexity - 2. PermMissingElem</title>
      <link>https://jini-box.tistory.com/205</link>
      <description>&lt;div id=&quot;html-export&quot;&gt;
      &lt;div class=&quot;mume markdown-preview  &quot;&gt;
      &lt;h1 class=&quot;mume-header&quot; id=&quot;permmissingelem&quot;&gt;PermMissingElem&lt;/h1&gt;

&lt;h3 class=&quot;mume-header&quot; id=&quot;find-the-missing-element-in-a-given-permutation&quot;&gt;Find the missing element in a given permutation.&lt;/h3&gt;

&lt;p&gt;An array A consisting of N different integers is given. The array contains integers in the range [1..(N + 1)], which means that exactly one element is missing.&lt;/p&gt;
&lt;p&gt;Your goal is to find that missing element.&lt;/p&gt;
&lt;p&gt;Write a function:&lt;/p&gt;
&lt;pre class=&quot;language-text&quot;&gt;class Solution { public int solution(int[] A); }
&lt;/pre&gt;
&lt;p&gt;that, given an array A, returns the value of the missing element.&lt;/p&gt;
&lt;p&gt;For example, given array A such that:&lt;/p&gt;
&lt;pre class=&quot;language-text&quot;&gt;A[0] = 2
A[1] = 3
A[2] = 1
A[3] = 5
&lt;/pre&gt;
&lt;p&gt;the function should return 4, as it is the missing element.&lt;/p&gt;
&lt;p&gt;Write an efficient algorithm for the following assumptions:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;N is an integer within the range [0..100,000];&lt;/li&gt;
&lt;li&gt;the elements of A are all distinct;&lt;/li&gt;
&lt;li&gt;each element of array A is an integer within the range [1..(N + 1)].&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;p&gt;N &amp;#xAC1C;&amp;#xC758; &amp;#xC11C;&amp;#xB85C;&amp;#xB2E4;&amp;#xB978; &amp;#xC815;&amp;#xC218;&amp;#xB85C; &amp;#xAD6C;&amp;#xC131;&amp;#xB41C; &amp;#xBC30;&amp;#xC5F4; A&lt;br&gt;
&amp;#xBC30;&amp;#xC5F4;&amp;#xC758; &amp;#xAC01; &amp;#xC694;&amp;#xC18C;&amp;#xB294; &lt;span class=&quot;katex&quot;&gt;&lt;span class=&quot;katex-mathml&quot;&gt;&lt;math xmlns=&quot;http://www.w3.org/1998/Math/MathML&quot;&gt;&lt;semantics&gt;&lt;mrow&gt;&lt;mn&gt;1&lt;/mn&gt;&lt;mo&gt;&amp;lt;&lt;/mo&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;mi&gt;A&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;[&lt;/mo&gt;&lt;mi&gt;i&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;]&lt;/mo&gt;&lt;mo&gt;&amp;lt;&lt;/mo&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;mi&gt;N&lt;/mi&gt;&lt;mo&gt;+&lt;/mo&gt;&lt;mn&gt;1&lt;/mn&gt;&lt;/mrow&gt;&lt;annotation encoding=&quot;application/x-tex&quot;&gt;1 &amp;lt;= A[i] &amp;lt;= N + 1&lt;/annotation&gt;&lt;/semantics&gt;&lt;/math&gt;&lt;/span&gt;&lt;span class=&quot;katex-html&quot; aria-hidden=&quot;true&quot;&gt;&lt;span class=&quot;base&quot;&gt;&lt;span class=&quot;strut&quot; style=&quot;height:0.6835em;vertical-align:-0.0391em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;mspace&quot; style=&quot;margin-right:0.2778em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mrel&quot;&gt;&amp;lt;=&lt;/span&gt;&lt;span class=&quot;mspace&quot; style=&quot;margin-right:0.2778em;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;base&quot;&gt;&lt;span class=&quot;strut&quot; style=&quot;height:1em;vertical-align:-0.25em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord mathnormal&quot;&gt;A&lt;/span&gt;&lt;span class=&quot;mopen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;mord mathnormal&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;mclose&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;mspace&quot; style=&quot;margin-right:0.2778em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mrel&quot;&gt;&amp;lt;=&lt;/span&gt;&lt;span class=&quot;mspace&quot; style=&quot;margin-right:0.2778em;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;base&quot;&gt;&lt;span class=&quot;strut&quot; style=&quot;height:0.7667em;vertical-align:-0.0833em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord mathnormal&quot; style=&quot;margin-right:0.10903em;&quot;&gt;N&lt;/span&gt;&lt;span class=&quot;mspace&quot; style=&quot;margin-right:0.2222em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mbin&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;mspace&quot; style=&quot;margin-right:0.2222em;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;base&quot;&gt;&lt;span class=&quot;strut&quot; style=&quot;height:0.6444em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord&quot;&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; &amp;#xBC94;&amp;#xC704; &amp;#xC911; &amp;#xD558;&amp;#xB098;&amp;#xACE0;,&lt;br&gt;
&amp;#xB2E8; &amp;#xD558;&amp;#xB098;&amp;#xC758; &amp;#xC815;&amp;#xC218;&amp;#xB9CC; &amp;#xC5C6;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xBC30;&amp;#xC5F4; &amp;#xC548;&amp;#xC5D0;&amp;#xC11C; &amp;#xBE60;&amp;#xC838;&amp;#xC788;&amp;#xB294; &amp;#xC815;&amp;#xC218;&amp;#xB97C; &amp;#xB9AC;&amp;#xD134;&amp;#xD558;&amp;#xB294; &amp;#xCF54;&amp;#xB4DC;&amp;#xB97C; &amp;#xC791;&amp;#xC131;&amp;#xD558;&amp;#xBA74; &amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;br&gt;
&lt;p&gt;&amp;#xBC30;&amp;#xC5F4; A&amp;#xB97C; &amp;#xC21C;&amp;#xD68C;&amp;#xD558;&amp;#xBA70; arr&amp;#xC5D0; &amp;#xB123;&amp;#xC740; &amp;#xD6C4;,&lt;br&gt;
arr&amp;#xB97C; &amp;#xB2E4;&amp;#xC2DC; &amp;#xC21C;&amp;#xD68C;&amp;#xD558;&amp;#xBA74;&amp;#xC11C; &amp;#xAC12;&amp;#xC774; &amp;#xB4E4;&amp;#xC5B4;&amp;#xC788;&amp;#xC9C0; &amp;#xC54A;&amp;#xC740; &amp;#xACBD;&amp;#xC6B0; &amp;#xADF8; &amp;#xAC12;&amp;#xC744; &amp;#xB9AC;&amp;#xD134;&amp;#xD558;&amp;#xBA74; &amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;java&quot; class=&quot;language-java&quot;&gt;&lt;span class=&quot;token keyword keyword-int&quot;&gt;int&lt;/span&gt; result &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token keyword keyword-int&quot;&gt;int&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; arr &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token keyword keyword-new&quot;&gt;new&lt;/span&gt; &lt;span class=&quot;token keyword keyword-int&quot;&gt;int&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;A&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;length &lt;span class=&quot;token operator&quot;&gt;+&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token keyword keyword-for&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token keyword keyword-int&quot;&gt;int&lt;/span&gt; a &lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;A&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    arr&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;a&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token keyword keyword-for&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token keyword keyword-int&quot;&gt;int&lt;/span&gt; i &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; i &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt; arr&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;length&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; i&lt;span class=&quot;token operator&quot;&gt;++&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;token keyword keyword-if&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;arr&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;i&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
       result &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; i&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
       &lt;span class=&quot;token keyword keyword-break&quot;&gt;break&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token keyword keyword-return&quot;&gt;return&lt;/span&gt; result&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;/pre&gt;&lt;blockquote&gt;
&lt;p&gt;&lt;span class=&quot;katex&quot;&gt;&lt;span class=&quot;katex-mathml&quot;&gt;&lt;math xmlns=&quot;http://www.w3.org/1998/Math/MathML&quot;&gt;&lt;semantics&gt;&lt;mrow&gt;&lt;mi&gt;O&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;N&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;annotation encoding=&quot;application/x-tex&quot;&gt;O(N)&lt;/annotation&gt;&lt;/semantics&gt;&lt;/math&gt;&lt;/span&gt;&lt;span class=&quot;katex-html&quot; aria-hidden=&quot;true&quot;&gt;&lt;span class=&quot;base&quot;&gt;&lt;span class=&quot;strut&quot; style=&quot;height:1em;vertical-align:-0.25em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord mathnormal&quot; style=&quot;margin-right:0.02778em;&quot;&gt;O&lt;/span&gt;&lt;span class=&quot;mopen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mord mathnormal&quot; style=&quot;margin-right:0.10903em;&quot;&gt;N&lt;/span&gt;&lt;span class=&quot;mclose&quot;&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; or &lt;span class=&quot;katex&quot;&gt;&lt;span class=&quot;katex-mathml&quot;&gt;&lt;math xmlns=&quot;http://www.w3.org/1998/Math/MathML&quot;&gt;&lt;semantics&gt;&lt;mrow&gt;&lt;mi&gt;O&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;N&lt;/mi&gt;&lt;mo&gt;&amp;#x2217;&lt;/mo&gt;&lt;mi&gt;l&lt;/mi&gt;&lt;mi&gt;o&lt;/mi&gt;&lt;mi&gt;g&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;N&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;annotation encoding=&quot;application/x-tex&quot;&gt;O(N * log(N))&lt;/annotation&gt;&lt;/semantics&gt;&lt;/math&gt;&lt;/span&gt;&lt;span class=&quot;katex-html&quot; aria-hidden=&quot;true&quot;&gt;&lt;span class=&quot;base&quot;&gt;&lt;span class=&quot;strut&quot; style=&quot;height:1em;vertical-align:-0.25em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord mathnormal&quot; style=&quot;margin-right:0.02778em;&quot;&gt;O&lt;/span&gt;&lt;span class=&quot;mopen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mord mathnormal&quot; style=&quot;margin-right:0.10903em;&quot;&gt;N&lt;/span&gt;&lt;span class=&quot;mspace&quot; style=&quot;margin-right:0.2222em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mbin&quot;&gt;&amp;#x2217;&lt;/span&gt;&lt;span class=&quot;mspace&quot; style=&quot;margin-right:0.2222em;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;base&quot;&gt;&lt;span class=&quot;strut&quot; style=&quot;height:1em;vertical-align:-0.25em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord mathnormal&quot; style=&quot;margin-right:0.01968em;&quot;&gt;l&lt;/span&gt;&lt;span class=&quot;mord mathnormal&quot;&gt;o&lt;/span&gt;&lt;span class=&quot;mord mathnormal&quot; style=&quot;margin-right:0.03588em;&quot;&gt;g&lt;/span&gt;&lt;span class=&quot;mopen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mord mathnormal&quot; style=&quot;margin-right:0.10903em;&quot;&gt;N&lt;/span&gt;&lt;span class=&quot;mclose&quot;&gt;))&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/blockquote&gt;

  &lt;/div&gt;&lt;/div&gt;</description>
      <category>Java/coding test</category>
      <category>codility</category>
      <category>timeComplexity</category>
      <author>jiniya22</author>
      <guid isPermaLink="true">https://jini-box.tistory.com/205</guid>
      <comments>https://jini-box.tistory.com/205#entry205comment</comments>
      <pubDate>Tue, 31 Jan 2023 15:09:54 +0900</pubDate>
    </item>
    <item>
      <title>[Codility - Java] 3. Time Complexity - 1. FrogJmp</title>
      <link>https://jini-box.tistory.com/204</link>
      <description>&lt;div id=&quot;html-export&quot;&gt;
      &lt;div class=&quot;mume markdown-preview  &quot;&gt;
      &lt;h1 class=&quot;mume-header&quot; id=&quot;frogjmp&quot;&gt;FrogJmp&lt;/h1&gt;

&lt;h3 class=&quot;mume-header&quot; id=&quot;count-minimal-number-of-jumps-from-position-x-to-y&quot;&gt;Count minimal number of jumps from position X to Y.&lt;/h3&gt;

&lt;p&gt;A small frog wants to get to the other side of the road.&lt;br&gt;
The frog is currently located at position X and wants to get to a position greater than or equal to Y.&lt;br&gt;
The small frog always jumps a fixed distance, D.&lt;/p&gt;
&lt;p&gt;Count the minimal number of jumps that the small frog must perform to reach its target.&lt;/p&gt;
&lt;p&gt;Write a function:&lt;/p&gt;
&lt;pre class=&quot;language-text&quot;&gt;class Solution { public int solution(int X, int Y, int D); }
&lt;/pre&gt;
&lt;p&gt;that, given three integers X, Y and D, returns the minimal number of jumps from position X to a position equal to or greater than Y.&lt;/p&gt;
&lt;p&gt;For example, given:&lt;/p&gt;
&lt;pre class=&quot;language-text&quot;&gt;X = 10
Y = 85
D = 30
&lt;/pre&gt;
&lt;p&gt;the function should return 3, because the frog will be positioned as follows:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;after the first jump, at position 10 + 30 = 40&lt;/li&gt;
&lt;li&gt;after the second jump, at position 10 + 30 + 30 = 70&lt;/li&gt;
&lt;li&gt;after the third jump, at position 10 + 30 + 30 + 30 = 100&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Write an efficient algorithm for the following assumptions:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;X, Y and D are integers within the range [1..1,000,000,000];&lt;/li&gt;
&lt;li&gt;X &amp;#x2264; Y.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;p&gt;&amp;#xAC1C;&amp;#xAD6C;&amp;#xB9AC;&amp;#xAC00; &amp;#xB3C4;&amp;#xB85C; &amp;#xBC18;&amp;#xB300;&amp;#xD3B8;&amp;#xC73C;&amp;#xB85C; &amp;#xAC00;&amp;#xACE0; &amp;#xC2F6;&amp;#xC5B4;&amp;#xD55C;&amp;#xB2E4;.&lt;br&gt;
&amp;#xD604;&amp;#xC7AC; X &amp;#xC704;&amp;#xCE58;&amp;#xC5D0; &amp;#xC788;&amp;#xB2E4;&amp;#xACE0; &amp;#xD560; &amp;#xB54C;, Y &amp;#xC704;&amp;#xCE58;&amp;#xB85C; &amp;#xAC00;&amp;#xB824;&amp;#xACE0; &amp;#xD55C;&amp;#xB2E4;. (&amp;#xC774;&amp;#xB54C;, Y &amp;#xC704;&amp;#xCE58;&amp;#xB97C; &amp;#xB118;&amp;#xC5B4;&amp;#xC11C;&amp;#xB3C4; &amp;#xB41C;&amp;#xB2E4;.)&lt;br&gt;
&amp;#xAC1C;&amp;#xAD6C;&amp;#xB9AC;&amp;#xB294; &amp;#xD56D;&amp;#xC0C1; &amp;#xACE0;&amp;#xC815;&amp;#xB41C; &amp;#xAC70;&amp;#xB9AC;&amp;#xC778; D&amp;#xB9CC;&amp;#xD07C; &amp;#xC810;&amp;#xD504;&amp;#xD55C;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xBA87;&amp;#xBC88;&amp;#xC744; &amp;#xB6F0;&amp;#xC5B4;&amp;#xC57C; D&amp;#xC5D0; &amp;#xB3C4;&amp;#xB2EC;&amp;#xD558;&amp;#xAC8C; &amp;#xB418;&amp;#xB294;&amp;#xC9C0; &amp;#xB9AC;&amp;#xD134;&amp;#xD558;&amp;#xBA74; &amp;#xB41C;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;X &amp;lt;= Y&lt;br&gt;
1 &amp;lt;= X, Y, D &amp;lt;= 1,000,000,000,000&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;java&quot; class=&quot;language-java&quot;&gt;&lt;span class=&quot;token keyword keyword-static&quot;&gt;static&lt;/span&gt; &lt;span class=&quot;token keyword keyword-int&quot;&gt;int&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;flogJmp&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token keyword keyword-int&quot;&gt;int&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;X&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token keyword keyword-int&quot;&gt;int&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;Y&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token keyword keyword-int&quot;&gt;int&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;D&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;token keyword keyword-if&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;X&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;Y&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token keyword keyword-return&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;token keyword keyword-if&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;X&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;+&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;D&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;&amp;gt;=&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;Y&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token keyword keyword-return&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;token keyword keyword-return&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token keyword keyword-int&quot;&gt;int&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;Math&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;ceil&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token keyword keyword-double&quot;&gt;double&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;Y&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;X&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;D&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;blockquote&gt;
&lt;p&gt;&lt;span class=&quot;katex&quot;&gt;&lt;span class=&quot;katex-mathml&quot;&gt;&lt;math xmlns=&quot;http://www.w3.org/1998/Math/MathML&quot;&gt;&lt;semantics&gt;&lt;mrow&gt;&lt;mi&gt;O&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mn&gt;1&lt;/mn&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;annotation encoding=&quot;application/x-tex&quot;&gt;O(1)&lt;/annotation&gt;&lt;/semantics&gt;&lt;/math&gt;&lt;/span&gt;&lt;span class=&quot;katex-html&quot; aria-hidden=&quot;true&quot;&gt;&lt;span class=&quot;base&quot;&gt;&lt;span class=&quot;strut&quot; style=&quot;height:1em;vertical-align:-0.25em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord mathnormal&quot; style=&quot;margin-right:0.02778em;&quot;&gt;O&lt;/span&gt;&lt;span class=&quot;mopen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mord&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;mclose&quot;&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;X&amp;#xC640; Y&amp;#xAC00; &amp;#xAC19;&amp;#xC740; &amp;#xACBD;&amp;#xC6B0;&amp;#xC5D0;&amp;#xB294; 0&lt;br&gt;
X + D&amp;#xAC00; Y&amp;#xBCF4;&amp;#xB2E4; &amp;#xD074; &amp;#xACBD;&amp;#xC6B0;&amp;#xC5D0;&amp;#xB294; 1&lt;br&gt;
&amp;#xADF8; &amp;#xC678;&amp;#xC758; &amp;#xACBD;&amp;#xC6B0;&amp;#xC5D0;&amp;#xB294; &amp;#xC5F0;&amp;#xC0B0;&amp;#xC744; &amp;#xD558;&amp;#xBA74; &amp;#xB418;&amp;#xB294;&amp;#xB370;&lt;/p&gt;
&lt;p&gt;&amp;#xAC70;&amp;#xB9AC; 3&amp;#xC744; 2&amp;#xB85C; &amp;#xBA87;&amp;#xBC88;&amp;#xC774;&amp;#xBA74; &amp;#xB3C4;&amp;#xB2EC;&amp;#xD560; &amp;#xC218; &amp;#xC788;&amp;#xB290;&amp;#xB0D0;&amp;#xB77C;&amp;#xACE0; &amp;#xD560; &amp;#xB54C;, 2&amp;#xBC88;&amp;#xC744; &amp;#xD574;&amp;#xC57C;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;br&gt;
&amp;#xC989;, &amp;#xC18C;&amp;#xC218;&amp;#xC758; &amp;#xC62C;&amp;#xB9BC;&amp;#xC744; &amp;#xD65C;&amp;#xC6A9;&amp;#xD558;&amp;#xBA74; &amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;Math.ceil &amp;#xD568;&amp;#xC218;&amp;#xB294; double &amp;#xC790;&amp;#xB8CC;&amp;#xD615;&amp;#xC744; &amp;#xBC1B;&amp;#xB294; &amp;#xD568;&amp;#xC218;&amp;#xC774;&amp;#xAE30; &amp;#xB54C;&amp;#xBB38;&amp;#xC5D0; &amp;#xC815;&amp;#xD655;&amp;#xD55C; &amp;#xC5F0;&amp;#xC0B0;&amp;#xC744; &amp;#xC704;&amp;#xD574; &amp;#xBD84;&amp;#xC790; &amp;#xB610;&amp;#xB294; &amp;#xBD84;&amp;#xBAA8; &amp;#xB458; &amp;#xC911; &amp;#xD558;&amp;#xB098;&amp;#xB97C; double&amp;#xB85C; &amp;#xCE58;&amp;#xD658;&amp;#xD55C; &amp;#xD6C4; &amp;#xC2E4;&amp;#xD589;&amp;#xD574;&amp;#xC57C;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xADF8; &amp;#xD6C4;&amp;#xC5D0;&amp;#xB294; int&amp;#xB85C; &amp;#xC790;&amp;#xB8CC;&amp;#xD615;&amp;#xC744; &amp;#xBCC0;&amp;#xACBD;&amp;#xD574;&amp;#xC8FC;&amp;#xBA74; &amp;#xB05D;&lt;/p&gt;

  &lt;/div&gt;&lt;/div&gt;</description>
      <category>Java/coding test</category>
      <category>codility</category>
      <category>timeComplexity</category>
      <author>jiniya22</author>
      <guid isPermaLink="true">https://jini-box.tistory.com/204</guid>
      <comments>https://jini-box.tistory.com/204#entry204comment</comments>
      <pubDate>Tue, 31 Jan 2023 14:49:12 +0900</pubDate>
    </item>
    <item>
      <title>[Codility - Java] 2. Array - 2. OddOccurrencesInArray</title>
      <link>https://jini-box.tistory.com/203</link>
      <description>&lt;div id=&quot;html-export&quot;&gt;
      &lt;div class=&quot;mume markdown-preview  &quot;&gt;
      &lt;h1 class=&quot;mume-header&quot; id=&quot;oddoccurrencesinarray&quot;&gt;OddOccurrencesInArray&lt;/h1&gt;

&lt;h3 class=&quot;mume-header&quot; id=&quot;find-value-that-occurs-in-odd-number-of-elements&quot;&gt;Find value that occurs in odd number of elements.&lt;/h3&gt;

&lt;p&gt;A non-empty array A consisting of N integers is given. The array contains an odd number of elements, and each element of the array can be paired with another element that has the same value, except for one element that is left unpaired.&lt;/p&gt;
&lt;p&gt;For example, in array A such that:&lt;/p&gt;
&lt;pre class=&quot;language-text&quot;&gt;A[0] = 9  A[1] = 3  A[2] = 9
A[3] = 3  A[4] = 9  A[5] = 7
A[6] = 9
&lt;/pre&gt;
&lt;ul&gt;
&lt;li&gt;the elements at indexes 0 and 2 have value 9,&lt;/li&gt;
&lt;li&gt;the elements at indexes 1 and 3 have value 3,&lt;/li&gt;
&lt;li&gt;the elements at indexes 4 and 6 have value 9,&lt;/li&gt;
&lt;li&gt;the element at index 5 has value 7 and is unpaired.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Write a function:&lt;/p&gt;
&lt;pre class=&quot;language-text&quot;&gt;class Solution { public int solution(int[] A); }
&lt;/pre&gt;
&lt;p&gt;that, given an array A consisting of N integers fulfilling the above conditions, returns the value of the unpaired element.&lt;/p&gt;
&lt;p&gt;For example, given array A such that:&lt;/p&gt;
&lt;pre class=&quot;language-text&quot;&gt;A[0] = 9  A[1] = 3  A[2] = 9
A[3] = 3  A[4] = 9  A[5] = 7
A[6] = 9
&lt;/pre&gt;
&lt;p&gt;the function should return 7, as explained in the example above.&lt;/p&gt;
&lt;p&gt;Write an efficient algorithm for the following assumptions:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;N is an odd integer within the range [1..1,000,000];&lt;/li&gt;
&lt;li&gt;each element of array A is an integer within the range [1..1,000,000,000];&lt;/li&gt;
&lt;li&gt;all but one of the values in A occur an even number of times.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;p&gt;&amp;#xC815;&amp;#xC218; N&amp;#xAC1C;&amp;#xB85C; &amp;#xC774;&amp;#xB904;&amp;#xC9C4; &amp;#xBC30;&amp;#xC5F4; A&lt;br&gt;
1 &amp;lt;= N &amp;lt; 1,000,000 &amp;#xC774;&amp;#xBA70;&lt;br&gt;
&amp;#xD640;&amp;#xC218;&amp;#xAC1C;&amp;#xB85C; &amp;#xC788;&amp;#xB294; &amp;#xC22B;&amp;#xC790;&amp;#xAC00; 1&amp;#xAC1C;&amp;#xC640;, &amp;#xB098;&amp;#xBA38;&amp;#xC9C0;&amp;#xB294; &amp;#xC9DD;&amp;#xC218;&amp;#xAC1C; &amp;#xC788;&amp;#xB2E4;.&lt;br&gt;
&amp;#xD640;&amp;#xC218;&amp;#xAC1C;&amp;#xAC00; &amp;#xC788;&amp;#xB294; &amp;#xC22B;&amp;#xC790;&amp;#xB97C; &amp;#xBC18;&amp;#xD658;&amp;#xD558;&amp;#xB294; &amp;#xCF54;&amp;#xB4DC;&amp;#xB97C; &amp;#xC791;&amp;#xC131;&amp;#xD558;&amp;#xBA74; &amp;#xB41C;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;&amp;#xAC04;&amp;#xB2E8;&amp;#xD558;&amp;#xAC8C;, map&amp;#xC744; &amp;#xC774;&amp;#xC6A9;&amp;#xD558;&amp;#xBA74; &amp;#xB41C;&amp;#xB2E4;.&lt;br&gt;
map&amp;#xC5D0; key&amp;#xAC00; &amp;#xC874;&amp;#xC7AC;&amp;#xD558;&amp;#xBA74; remove&amp;#xD558;&amp;#xACE0;,&lt;br&gt;
&amp;#xC5C6;&amp;#xC73C;&amp;#xBA74; put&amp;#xD55C;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;A &amp;#xC21C;&amp;#xD68C;&amp;#xB97C; &amp;#xBAA8;&amp;#xB450; &amp;#xB9C8;&amp;#xCE5C; &amp;#xB4A4; map&amp;#xC5D0; &amp;#xB0A8;&amp;#xC544;&amp;#xC788;&amp;#xB294; &amp;#xAC12;&amp;#xC774; &amp;#xBC14;&amp;#xB85C; &amp;#xD640;&amp;#xC218;&amp;#xAC1C;&amp;#xB85C; &amp;#xC788;&amp;#xB294; &amp;#xC815;&amp;#xC218;&amp;#xB2E4;.&lt;/p&gt;
&lt;br&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;java&quot; class=&quot;language-java&quot;&gt;&lt;span class=&quot;token keyword keyword-static&quot;&gt;static&lt;/span&gt; &lt;span class=&quot;token keyword keyword-int&quot;&gt;int&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;oddOccurrencesInArray&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token keyword keyword-int&quot;&gt;int&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;A&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;token class-name&quot;&gt;Map&lt;/span&gt;&lt;span class=&quot;token generics&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;Integer&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;Integer&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt; map &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token keyword keyword-new&quot;&gt;new&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;HashMap&lt;/span&gt;&lt;span class=&quot;token generics&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;token keyword keyword-for&quot;&gt;for&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token keyword keyword-int&quot;&gt;int&lt;/span&gt; i &lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;A&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
        &lt;span class=&quot;token keyword keyword-if&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;map&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;containsKey&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;i&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
            map&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;remove&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;i&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt; &lt;span class=&quot;token keyword keyword-else&quot;&gt;else&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
            map&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;put&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;i&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
    &lt;span class=&quot;token keyword keyword-return&quot;&gt;return&lt;/span&gt; map&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;keySet&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;stream&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;findFirst&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;orElse&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;blockquote&gt;
&lt;p&gt;&lt;span class=&quot;katex&quot;&gt;&lt;span class=&quot;katex-mathml&quot;&gt;&lt;math xmlns=&quot;http://www.w3.org/1998/Math/MathML&quot;&gt;&lt;semantics&gt;&lt;mrow&gt;&lt;mi&gt;O&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;N&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;annotation encoding=&quot;application/x-tex&quot;&gt;O(N)&lt;/annotation&gt;&lt;/semantics&gt;&lt;/math&gt;&lt;/span&gt;&lt;span class=&quot;katex-html&quot; aria-hidden=&quot;true&quot;&gt;&lt;span class=&quot;base&quot;&gt;&lt;span class=&quot;strut&quot; style=&quot;height:1em;vertical-align:-0.25em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord mathnormal&quot; style=&quot;margin-right:0.02778em;&quot;&gt;O&lt;/span&gt;&lt;span class=&quot;mopen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mord mathnormal&quot; style=&quot;margin-right:0.10903em;&quot;&gt;N&lt;/span&gt;&lt;span class=&quot;mclose&quot;&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; or &lt;span class=&quot;katex&quot;&gt;&lt;span class=&quot;katex-mathml&quot;&gt;&lt;math xmlns=&quot;http://www.w3.org/1998/Math/MathML&quot;&gt;&lt;semantics&gt;&lt;mrow&gt;&lt;mi&gt;O&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;N&lt;/mi&gt;&lt;mo&gt;&amp;#x2217;&lt;/mo&gt;&lt;mi&gt;l&lt;/mi&gt;&lt;mi&gt;o&lt;/mi&gt;&lt;mi&gt;g&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;N&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;annotation encoding=&quot;application/x-tex&quot;&gt;O(N*log(N))&lt;/annotation&gt;&lt;/semantics&gt;&lt;/math&gt;&lt;/span&gt;&lt;span class=&quot;katex-html&quot; aria-hidden=&quot;true&quot;&gt;&lt;span class=&quot;base&quot;&gt;&lt;span class=&quot;strut&quot; style=&quot;height:1em;vertical-align:-0.25em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord mathnormal&quot; style=&quot;margin-right:0.02778em;&quot;&gt;O&lt;/span&gt;&lt;span class=&quot;mopen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mord mathnormal&quot; style=&quot;margin-right:0.10903em;&quot;&gt;N&lt;/span&gt;&lt;span class=&quot;mspace&quot; style=&quot;margin-right:0.2222em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mbin&quot;&gt;&amp;#x2217;&lt;/span&gt;&lt;span class=&quot;mspace&quot; style=&quot;margin-right:0.2222em;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;base&quot;&gt;&lt;span class=&quot;strut&quot; style=&quot;height:1em;vertical-align:-0.25em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord mathnormal&quot; style=&quot;margin-right:0.01968em;&quot;&gt;l&lt;/span&gt;&lt;span class=&quot;mord mathnormal&quot;&gt;o&lt;/span&gt;&lt;span class=&quot;mord mathnormal&quot; style=&quot;margin-right:0.03588em;&quot;&gt;g&lt;/span&gt;&lt;span class=&quot;mopen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mord mathnormal&quot; style=&quot;margin-right:0.10903em;&quot;&gt;N&lt;/span&gt;&lt;span class=&quot;mclose&quot;&gt;))&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/blockquote&gt;

  &lt;/div&gt;&lt;/div&gt;</description>
      <category>Java/coding test</category>
      <author>jiniya22</author>
      <guid isPermaLink="true">https://jini-box.tistory.com/203</guid>
      <comments>https://jini-box.tistory.com/203#entry203comment</comments>
      <pubDate>Tue, 31 Jan 2023 13:30:52 +0900</pubDate>
    </item>
    <item>
      <title>[Codility - Java] 2. Array - 1. CyclicRotation</title>
      <link>https://jini-box.tistory.com/202</link>
      <description>&lt;div id=&quot;html-export&quot;&gt;
      &lt;div class=&quot;mume markdown-preview  &quot;&gt;
      &lt;h1 class=&quot;mume-header&quot; id=&quot;cyclicrotation&quot;&gt;CyclicRotation&lt;/h1&gt;

&lt;h3 class=&quot;mume-header&quot; id=&quot;rotate-an-array-to-the-right-by-a-given-number-of-steps&quot;&gt;Rotate an array to the right by a given number of steps.&lt;/h3&gt;

&lt;p&gt;An array A consisting of N integers is given. Rotation of the array means that each element is shifted right by one index, and the last element of the array is moved to the first place. For example, the rotation of array A = [3, 8, 9, 7, 6] is [6, 3, 8, 9, 7] (elements are shifted right by one index and 6 is moved to the first place).&lt;/p&gt;
&lt;p&gt;The goal is to rotate array A K times; that is, each element of A will be shifted to the right K times.&lt;/p&gt;
&lt;p&gt;Write a function:&lt;/p&gt;
&lt;pre class=&quot;language-text&quot;&gt;class Solution { public int[] solution(int[] A, int K); }
&lt;/pre&gt;
&lt;p&gt;that, given an array A consisting of N integers and an integer K, returns the array A rotated K times.&lt;/p&gt;
&lt;p&gt;For example, given&lt;/p&gt;
&lt;pre class=&quot;language-text&quot;&gt;A = [3, 8, 9, 7, 6]
K = 3
&lt;/pre&gt;
&lt;p&gt;the function should return [9, 7, 6, 3, 8]. Three rotations were made:&lt;/p&gt;
&lt;pre class=&quot;language-text&quot;&gt;[3, 8, 9, 7, 6] -&amp;gt; [6, 3, 8, 9, 7]
[6, 3, 8, 9, 7] -&amp;gt; [7, 6, 3, 8, 9]
[7, 6, 3, 8, 9] -&amp;gt; [9, 7, 6, 3, 8]
&lt;/pre&gt;
&lt;p&gt;For another example, given&lt;/p&gt;
&lt;pre class=&quot;language-text&quot;&gt;A = [0, 0, 0]
K = 1
&lt;/pre&gt;
&lt;p&gt;the function should return [0, 0, 0]&lt;/p&gt;
&lt;p&gt;Given&lt;/p&gt;
&lt;pre class=&quot;language-text&quot;&gt;A = [1, 2, 3, 4]
K = 4
&lt;/pre&gt;
&lt;p&gt;the function should return [1, 2, 3, 4]&lt;/p&gt;
&lt;p&gt;Assume that:&lt;/p&gt;
&lt;p&gt;N and K are integers within the range [0..100];&lt;br&gt;
each element of array A is an integer within the range [&amp;#x2212;1,000..1,000].&lt;br&gt;
In your solution, focus on correctness. The performance of your solution will not be the focus of the assessment.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;N&amp;#xAC1C;&amp;#xC758; &amp;#xC815;&amp;#xC218;&amp;#xB85C; &amp;#xAD6C;&amp;#xC131;&amp;#xB41C; &amp;#xBC30;&amp;#xC5F4; A&lt;br&gt;
K &amp;#xB9CC;&amp;#xD07C; &amp;#xC624;&amp;#xB978;&amp;#xCABD;&amp;#xC73C;&amp;#xB85C; rotate&amp;#xD55C; &amp;#xBC30;&amp;#xC5F4;&amp;#xC744; &amp;#xB9AC;&amp;#xD134;&amp;#xD558;&amp;#xB294; &amp;#xCF54;&amp;#xB4DC;&amp;#xB97C; &amp;#xAD6C;&amp;#xD558;&amp;#xBA74; &amp;#xB429;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;p&gt;0 &amp;lt;= N, K &amp;lt;= 100 &amp;#xC744; &amp;#xB9CC;&amp;#xC871;&amp;#xD558;&amp;#xAE30; &amp;#xB54C;&amp;#xBB38;&amp;#xC5D0;, &amp;#xBE48; &amp;#xBB38;&amp;#xC790;&amp;#xC5F4;&amp;#xC774; &amp;#xB4E4;&amp;#xC5B4;&amp;#xC654;&amp;#xC744; &amp;#xB54C;&amp;#xC5D0; &amp;#xB300;&amp;#xD55C; &amp;#xCC98;&amp;#xB9AC;&amp;#xB3C4; &amp;#xD574;&amp;#xC57C;&amp;#xD569;&amp;#xB2C8;&amp;#xB2E4;.&lt;/p&gt;
&lt;pre data-role=&quot;codeBlock&quot; data-info=&quot;java&quot; class=&quot;language-java&quot;&gt;&lt;span class=&quot;token keyword keyword-static&quot;&gt;static&lt;/span&gt; &lt;span class=&quot;token keyword keyword-int&quot;&gt;int&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;cyclicRotation&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token keyword keyword-int&quot;&gt;int&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;A&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token keyword keyword-int&quot;&gt;int&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;K&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;token keyword keyword-if&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;A&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt; &lt;span class=&quot;token keyword keyword-null&quot;&gt;null&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;||&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;A&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;length &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;||&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;K&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
        &lt;span class=&quot;token keyword keyword-return&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;A&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

    &lt;span class=&quot;token keyword keyword-int&quot;&gt;int&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; result &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token keyword keyword-new&quot;&gt;new&lt;/span&gt; &lt;span class=&quot;token keyword keyword-int&quot;&gt;int&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;A&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;length&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;token class-name&quot;&gt;K&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;%=&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;A&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;length&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;token keyword keyword-for&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token keyword keyword-int&quot;&gt;int&lt;/span&gt; i &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; i &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;A&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;length&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; i&lt;span class=&quot;token operator&quot;&gt;++&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
        &lt;span class=&quot;token keyword keyword-if&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;i &lt;span class=&quot;token operator&quot;&gt;+&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;K&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;A&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;length&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
            result&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;i &lt;span class=&quot;token operator&quot;&gt;+&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;K&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;A&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;i&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt; &lt;span class=&quot;token keyword keyword-else&quot;&gt;else&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
            result&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;i &lt;span class=&quot;token operator&quot;&gt;+&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;K&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;A&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;length&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;A&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;i&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
    &lt;span class=&quot;token keyword keyword-return&quot;&gt;return&lt;/span&gt; result&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;
  &lt;/div&gt;&lt;/div&gt;</description>
      <category>Java/coding test</category>
      <category>array</category>
      <category>codility</category>
      <author>jiniya22</author>
      <guid isPermaLink="true">https://jini-box.tistory.com/202</guid>
      <comments>https://jini-box.tistory.com/202#entry202comment</comments>
      <pubDate>Tue, 31 Jan 2023 13:16:21 +0900</pubDate>
    </item>
  </channel>
</rss>