<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>Tez's Programming &amp;amp; IT</title>
    <link>https://sham.tistory.com/</link>
    <description>개발 관련 지식 및 이슈</description>
    <language>ko</language>
    <pubDate>Sun, 12 Apr 2026 14:32:57 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>Tez.Park</managingEditor>
    <image>
      <title>Tez's Programming &amp;amp; IT</title>
      <url>https://t1.daumcdn.net/cfile/tistory/195A2D314CF499240C</url>
      <link>https://sham.tistory.com</link>
    </image>
    <item>
      <title>[App] FaceLapse - Daily</title>
      <link>https://sham.tistory.com/173</link>
      <description>&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 150px; width: 150px; height: 150px;; height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/99A84A4C5B828DD825&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F99A84A4C5B828DD825&quot; width=&quot;150&quot; height=&quot;150&quot; filename=&quot;0x0ss.png&quot; filemime=&quot;image/jpeg&quot; style=&quot;width: 150px; height: 150px;&quot; original=&quot;yes&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;h1&gt;FaceLapse - Daily&lt;/h1&gt;&lt;blockquote class=&quot;tx-quote-tistory&quot;&gt;&lt;p&gt;당신의 일상을 기록하고,&lt;/p&gt;&lt;p&gt;당신이 어떻게 변화하는지 보면서,&lt;/p&gt;&lt;p&gt;사람들과 공유하세요!&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;--------------------&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;매일 거울을 보면 어제와 같은 내 모습이 보인다.&amp;nbsp;&lt;/p&gt;&lt;p&gt;하지만! 왜 사람들은 내 모습이 변했다고 그럴까?&lt;/p&gt;&lt;p&gt;다른 사람들은 내 변화를 알지만, 나는 알지 못한다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;이제 매일 당신의 모습을 기록하고, 변하고 있는 당신의 모습을 만나보세요. 그리고 더 멋진 모습으로 변해보세요!&lt;/p&gt;&lt;p&gt;FaceLapse와 함께.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;--------------------&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;FaceLapse는 당신이 매일 찍어놓은 사진을 가지고 몇번의 클릭만으로 멋진 슬라이드쇼를 만들어 줍니다.&lt;/p&gt;&lt;p&gt;생성된 슬라이드쇼는 공유하기 기능을 통해 카메라롤에 저장할 수 있고, 연인 그리고 가족들에게 공유할 수 있습니다.&lt;/p&gt;&lt;/blockquote&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 200px; width: 200px; height: 433px;; height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/994C50435B828EF424&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F994C50435B828EF424&quot; width=&quot;200&quot; height=&quot;433&quot; filename=&quot;1.jpg&quot; filemime=&quot;image/jpeg&quot; style=&quot;width: 200px; height: 433px;&quot; original=&quot;yes&quot;/&gt;&lt;/span&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 200px; width: 200px; height: 433px;; height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/9968A8435B828EEF23&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F9968A8435B828EEF23&quot; width=&quot;200&quot; height=&quot;433&quot; filename=&quot;2.jpg&quot; filemime=&quot;image/jpeg&quot; style=&quot;width: 200px; height: 433px;&quot; original=&quot;yes&quot;/&gt;&lt;/span&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 200px; width: 200px; height: 433px;; height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/997352435B828EEB22&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F997352435B828EEB22&quot; width=&quot;200&quot; height=&quot;433&quot; filename=&quot;3.jpg&quot; filemime=&quot;image/jpeg&quot; style=&quot;width: 200px; height: 433px;&quot; original=&quot;yes&quot;/&gt;&lt;/span&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 200px; width: 200px; height: 433px;; height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/997B87435B828EFD22&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F997B87435B828EFD22&quot; width=&quot;200&quot; height=&quot;433&quot; filename=&quot;4.jpg&quot; filemime=&quot;image/jpeg&quot; style=&quot;width: 200px; height: 433px;&quot; original=&quot;yes&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;&lt;/span&gt;&lt;a href=&quot;https://itunes.apple.com/app/id1407902384&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;https://itunes.apple.com/app/id1407902384&lt;/span&gt;&lt;/a&gt;&lt;/b&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>Project</category>
      <category>Camera</category>
      <category>face</category>
      <category>Facelapse</category>
      <category>Photo</category>
      <category>Picture</category>
      <category>Timelapse</category>
      <author>Tez.Park</author>
      <guid isPermaLink="true">https://sham.tistory.com/173</guid>
      <comments>https://sham.tistory.com/173#entry173comment</comments>
      <pubDate>Sun, 26 Aug 2018 20:33:32 +0900</pubDate>
    </item>
    <item>
      <title>[App] Basket - Shopping</title>
      <link>https://sham.tistory.com/172</link>
      <description>&lt;h2 style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 150px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/99BCDE4B5B7C265514&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F99BCDE4B5B7C265514&quot; width=&quot;150&quot; height=&quot;150&quot; filename=&quot;BasketListIcon.png&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/h2&gt;&lt;h1 style=&quot;text-align: left;&quot;&gt;Basket - Shopping&lt;/h1&gt;&lt;div&gt;&lt;blockquote class=&quot;tx-quote-tistory&quot;&gt;&lt;div&gt;'가장 간단한 쇼핑 리스트.'&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;불필요한 기능들은 모두 빼고 기본에 충실한 장보기 앱입니다.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;'Basket'은 가장 간편한 장보기 노트가 되어줄 것입니다.&lt;/div&gt;&lt;div&gt;장볼때 사야하는 것들을 간단하게 메모하고,&lt;/div&gt;&lt;div&gt;가족이나 친구에게 공유하여 함께 장을 볼 수 있습니다.&lt;/div&gt;&lt;div&gt;또한, 내가 어떤것들을 구매 했는지 간편하게 관리할 수 있습니다.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;지금 바로 사용해보세요!&lt;/div&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;p style=&quot;clear: none; float: none; text-align: left;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 250px; width: 250px; height: 542px;; height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/99BA16335B7C257402&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F99BA16335B7C257402&quot; width=&quot;250&quot; height=&quot;542&quot; filename=&quot;s1kr.png&quot; filemime=&quot;image/jpeg&quot; style=&quot;width: 250px; height: 542px;&quot;/&gt;&lt;/span&gt;&amp;nbsp;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 250px; width: 250px; height: 542px;; height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/9965C1335B7C25751F&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F9965C1335B7C25751F&quot; width=&quot;250&quot; height=&quot;542&quot; filename=&quot;s2kor.png&quot; filemime=&quot;image/jpeg&quot; style=&quot;width: 250px; height: 542px;&quot; original=&quot;yes&quot;/&gt;&lt;/span&gt;&amp;nbsp;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 250px; width: 250px; height: 542px;; height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/9904D5335B7C257627&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F9904D5335B7C257627&quot; width=&quot;250&quot; height=&quot;542&quot; filename=&quot;s3kr.png&quot; filemime=&quot;image/jpeg&quot; style=&quot;width: 250px; height: 542px;&quot; original=&quot;yes&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;p&gt;&lt;a href=&quot;https://itunes.apple.com/app/id1427525566&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;&lt;b&gt;https://itunes.apple.com/app/id1427525566&lt;/b&gt;&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;</description>
      <category>Project</category>
      <category>basket</category>
      <category>Shopping</category>
      <category>쇼핑</category>
      <category>장바구니</category>
      <category>장보기</category>
      <author>Tez.Park</author>
      <guid isPermaLink="true">https://sham.tistory.com/172</guid>
      <comments>https://sham.tistory.com/172#entry172comment</comments>
      <pubDate>Tue, 21 Aug 2018 23:56:44 +0900</pubDate>
    </item>
    <item>
      <title>[따라하기] 웹이미지 가져와서 동적으로 테이블뷰 그리기 (UITableView + WebImage + dynamicCellHeight)</title>
      <link>https://sham.tistory.com/171</link>
      <description>    
      &lt;meta charset=&quot;utf-8&quot;&gt;
      &lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;&gt;
      &lt;!-- common.css --&gt;
      &lt;style&gt;* {-webkit-tap-highlight-color: rgba(0,0,0,0);}html {-webkit-text-size-adjust: none;}body {font-family: -apple-system, Helvetica, Arial, sans-serif;margin: 0;padding: 20px;color: #333;word-wrap: break-word;}h1, h2, h3, h4, h5, h6 {line-height: 1.1;}img {max-width: 100% !important;height: auto;}blockquote {margin: 0;padding: 0 15px;color: #777;border-left: 4px solid #ddd;}hr {background-color: #ddd;border: 0;height: 1px;margin: 15px 0;}code {font-family: Menlo, Consolas, 'Ubuntu Mono', Monaco, 'source-code-pro', monospace;line-height: 1.4;margin: 0;padding: 0.2em 0;font-size: 90%;background-color: rgba(0,0,0,0.04);border-radius: 3px;}pre &gt; code {margin: 0;padding: 0;font-size: 100%;word-break: normal;background: transparent;border: 0;}ol {list-style-type: decimal;}ol ol, ul ol {list-style-type: lower-latin;}ol ol ol, ul ol ol, ul ul ol, ol ul ol {list-style-type: lower-roman;}table {border-spacing: 0;border-collapse: collapse;margin-top: 0;margin-bottom: 16px;}table th {font-weight: bold;}table th, table td {padding: 6px 13px;border: 1px solid #ddd;}table tr {border-top: 1px solid #ccc;}table tr:nth-child(even) {background-color: #f8f8f8;}input[type=&quot;checkbox&quot;] {cursor: default;margin-right: 0.5em;font-size: 13px;}.task-list-item {list-style-type: none;}.task-list-item+.task-list-item {margin-top: 3px;}.task-list-item input {float: left;margin: 0.3em 1em 0.25em -1.6em;vertical-align: middle;}#tag-field {margin: 8px 2px 10px;}#tag-field .tag {display: inline-block;background: #cadff3;border-radius: 4px;padding: 1px 8px;color: black;font-size: 12px;margin-right: 10px;line-height: 1.4;}&lt;/style&gt;
      &lt;!-- ace-static.css --&gt;
      &lt;style&gt;.ace_static_highlight {white-space: pre-wrap;}.ace_static_highlight .ace_gutter {width: 2em;text-align: right;padding: 0 3px 0 0;margin-right: 3px;}.ace_static_highlight.ace_show_gutter &gt; .ace_line {padding-left: 2.6em;}.ace_static_highlight .ace_line {position: relative;}.ace_static_highlight .ace_gutter-cell {-moz-user-select: -moz-none;-khtml-user-select: none;-webkit-user-select: none;user-select: none;top: 0;bottom: 0;left: 0;position: absolute;}.ace_static_highlight .ace_gutter-cell:before {content: counter(ace_line, decimal);counter-increment: ace_line;}.ace_static_highlight {counter-reset: ace_line;}&lt;/style&gt;
      &lt;style&gt;.ace-monokai .ace_gutter {background: #2F3129;color: #8F908A}.ace-monokai .ace_print-margin {width: 1px;background: #555651}.ace-monokai {background-color: #272822;color: #F8F8F2}.ace-monokai .ace_cursor {color: #F8F8F0}.ace-monokai .ace_marker-layer .ace_selection {background: #49483E}.ace-monokai.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px #272822;}.ace-monokai .ace_marker-layer .ace_step {background: rgb(102, 82, 0)}.ace-monokai .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid #49483E}.ace-monokai .ace_marker-layer .ace_active-line {background: #202020}.ace-monokai .ace_gutter-active-line {background-color: #272727}.ace-monokai .ace_marker-layer .ace_selected-word {border: 1px solid #49483E}.ace-monokai .ace_invisible {color: #52524d}.ace-monokai .ace_entity.ace_name.ace_tag,.ace-monokai .ace_keyword,.ace-monokai .ace_meta.ace_tag,.ace-monokai .ace_storage {color: #F92672}.ace-monokai .ace_punctuation,.ace-monokai .ace_punctuation.ace_tag {color: #fff}.ace-monokai .ace_constant.ace_character,.ace-monokai .ace_constant.ace_language,.ace-monokai .ace_constant.ace_numeric,.ace-monokai .ace_constant.ace_other {color: #AE81FF}.ace-monokai .ace_invalid {color: #F8F8F0;background-color: #F92672}.ace-monokai .ace_invalid.ace_deprecated {color: #F8F8F0;background-color: #AE81FF}.ace-monokai .ace_support.ace_constant,.ace-monokai .ace_support.ace_function {color: #66D9EF}.ace-monokai .ace_fold {background-color: #A6E22E;border-color: #F8F8F2}.ace-monokai .ace_storage.ace_type,.ace-monokai .ace_support.ace_class,.ace-monokai .ace_support.ace_type {font-style: italic;color: #66D9EF}.ace-monokai .ace_entity.ace_name.ace_function,.ace-monokai .ace_entity.ace_other,.ace-monokai .ace_entity.ace_other.ace_attribute-name,.ace-monokai .ace_variable {color: #A6E22E}.ace-monokai .ace_variable.ace_parameter {font-style: italic;color: #FD971F}.ace-monokai .ace_string {color: #E6DB74}.ace-monokai .ace_comment {color: #75715E}.ace-monokai .ace_indent-guide {background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWPQ0FD0ZXBzd/wPAAjVAoxeSgNeAAAAAElFTkSuQmCC) right repeat-y}&lt;/style&gt;
      &lt;!-- export.css --&gt;
      &lt;style&gt;
        body{margin:0 auto;max-width:100%;line-height:1.4}
        #nav{margin:5px 0 10px;font-size:15px}
        #titlearea{border-bottom:1px solid #ccc;font-size:17px;padding:10px 0;}
        #contentarea{font-size:15px;margin:16px 0}
        .cell{outline:0;min-height:20px;margin:5px 0;padding:5px 0;}
        .code-cell{font-family:Menlo,Consolas,'Ubuntu Mono',Monaco,'source-code-pro',monospace;font-size:12px;}
        .latex-cell{white-space:pre-wrap;}
      &lt;/style&gt;
      &lt;!-- User CSS --&gt;
      &lt;style&gt; .text-cell {font-size: 15px;}.code-cell {font-size: 12px;}.markdown-cell {font-size: 15px;}.latex-cell {font-size: 15px;}&lt;/style&gt;
    
    
      &lt;div id=&quot;contentarea&quot;&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;i&gt;이 글은 요청에 의해 작성되는 글입니다.&lt;/i&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h2&gt;Summary&lt;/h2&gt;사이즈가 다른 &lt;code&gt;Web Image&lt;/code&gt;를 가져와서 &lt;code&gt;UITableView&lt;/code&gt;에 그릴때, &lt;code&gt;UITableViewCell&lt;/code&gt;의 높이를 잡아야 하는 경우들이 있다.&lt;div&gt;일반적으로 텍스트들이나 가지고 있는 이미지를 사용하여 그려줄때는 미리 사이즈를 계산해서 작업을 하면되지만, &lt;code&gt;Web Image&lt;/code&gt;는 각 이미지마다 크기나 네트워크 상황에 따라서 받아오는 속도가 다르기 때문에 미리 &lt;code&gt;UITableViewCell&lt;/code&gt;의 높이를 고려해 줄 수 없다.&lt;/div&gt;&lt;div&gt;이런 경우에 사용하는 방법을 간단하게 알아보자&lt;/div&gt;&lt;div&gt;&lt;i&gt;(웹이미지를 사용한 동적인 셀 그리지 예제이므로 이미지의 캐싱처리같은 고도화 관련 내용은 제외함)&lt;/i&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h2&gt;0. 기본기&lt;/h2&gt;&lt;div&gt;&lt;h3&gt;Self-Sizing Table View Cells&lt;/h3&gt;&lt;div&gt;&lt;b&gt;&lt;span style=&quot;font-family: Menlo, Consolas, &amp;quot;Ubuntu Mono&amp;quot;, Monaco, source-code-pro, monospace; font-size: 11.699999809265137px; background-color: rgba(0, 0, 0, 0.0392157);&quot;&gt;&lt;/span&gt;UITableViewAutomaticDimension,&amp;nbsp;estimatedRowHeight&lt;/b&gt;&lt;span style=&quot;font-family: Menlo, Consolas, &amp;quot;Ubuntu Mono&amp;quot;, Monaco, source-code-pro, monospace; font-size: 11.699999809265137px; background-color: rgba(0, 0, 0, 0.0392157);&quot;&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;iOS 에서 이전에는 UITableView 자체에&amp;nbsp;&lt;code style=&quot;font-size: 11.699999809265137px;&quot;&gt;rowHeight&lt;/code&gt;를 지정해주거나, UITableView&amp;nbsp;delegate의&amp;nbsp;&lt;code style=&quot;font-size: 11.699999809265137px;&quot;&gt;&lt;/code&gt;&lt;code style=&quot;font-size: 11.699999809265137px;&quot;&gt;tableView:heightForRowAtIndexPath:&lt;/code&gt;&amp;nbsp;통해서 높이를 지정해 주었다.&lt;/div&gt;&lt;div&gt;iOS8 부터 UITableView에서 UITableViewCell&lt;code style=&quot;font-size: 11.699999809265137px;&quot;&gt;&lt;/code&gt;&lt;code style=&quot;font-size: 11.699999809265137px;&quot;&gt;&lt;/code&gt;의 높이를 동적으로 지정해줄 수 있는&amp;nbsp;&lt;code style=&quot;font-size: 11.699999809265137px;&quot;&gt;Self-Sizing&amp;nbsp;&lt;/code&gt;방식이 추가되었다.&lt;/div&gt;&lt;div&gt;&lt;code style=&quot;font-size: 11.699999809265137px;&quot;&gt;Self-Sizing&lt;/code&gt;&amp;nbsp;방식을 사용하려면 tableView의&amp;nbsp;&lt;code style=&quot;font-size: 11.699999809265137px;&quot;&gt;rowHeight&lt;/code&gt;&amp;nbsp;의 속성을&amp;nbsp;&lt;code style=&quot;font-size: 11.699999809265137px;&quot;&gt;UITableViewAutomaticDimension&lt;/code&gt;&amp;nbsp;로 설정하고,&amp;nbsp;&lt;code style=&quot;font-size: 11.699999809265137px;&quot;&gt;estimatedRowHeight&lt;/code&gt;&amp;nbsp;속성에도 값을 할당해 주어야 한다. (아래 코드를 참고하자)&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-monokai&quot;&gt;&lt;div class=&quot;ace_static_highlight ace_show_gutter&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;tableView&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;estimatedRowHeight&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;85.0&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;tableView&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;rowHeight&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;UITableViewAutomaticDimension&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h2&gt;1. 프로젝트 생성 및 테이블뷰 추가&lt;/h2&gt;&lt;div&gt;본격적으로 프로젝트를 생성하고 코드를 구현하면서 예제를 진행해보자.&lt;/div&gt;&lt;div&gt;우선 Swift 프로젝트 하나를 생성하고, storyboard 에 tableView 를 추가한 후 constraints 값을 지정하고 ViewController에 기본 tableView 설정을 해주도록 하자.&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h3&gt;storyboard에 tableView 추가&lt;/h3&gt;&lt;div&gt;그냥 TableView를 view 위에 얹어주면 된다.&lt;/div&gt;&lt;div&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 900px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/9987524F5B19D75801&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F9987524F5B19D75801&quot; width=&quot;900&quot; height=&quot;614&quot; filename=&quot;71ABEF87030E54637FF58DAD9243470B.png&quot; filemime=&quot;image/jpeg&quot; style=&quot;&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h3&gt;TableView의 &amp;nbsp;Constraints 설정&lt;/h3&gt;&lt;div&gt;view를 모두 채우기 위해 margin을 모두 0으로주자.&lt;/div&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 200px; width: 200px; height: 284px;; height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/9947ED4B5B19D78203&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F9947ED4B5B19D78203&quot; width=&quot;200&quot; height=&quot;284&quot; filename=&quot;3E60E124D3C72925B2D1FF53493439E6.png&quot; filemime=&quot;image/jpeg&quot; style=&quot;width: 200px; height: 284px;&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h3&gt;TableView의 outlets을 ViewController에 연결&lt;/h3&gt;&lt;div&gt;tableView를 선택하고 오른쪽버튼을 누른채로 ViewController로 끌어주면 Outlets 연결 화면이 뜬다.&lt;/div&gt;&lt;div&gt;여기서 &lt;code&gt;dataSource&lt;/code&gt;와 &lt;code&gt;delegate&lt;/code&gt;를 연결해주자&lt;/div&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 200px; width: 200px; height: 101px;; height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/99D1314B5B19D7AE24&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F99D1314B5B19D7AE24&quot; width=&quot;200&quot; height=&quot;101&quot; filename=&quot;D9B4BEBAD351052BF957865B83246819.png&quot; filemime=&quot;image/jpeg&quot; style=&quot;width: 200px; height: 101px;&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h3&gt;ViewController에 tableView 객체 추가&lt;/h3&gt;&lt;div&gt;Xcode 우측위에 &lt;code&gt;Assistant editor&lt;/code&gt; (oo 두개가 겹쳐진 버튼)을 눌러 ViewController를 열어주고 storyboar의 객체를 오른쪽버튼을 누른채로 끌어넣어주면 바로 코드에 추가할 수 있다.&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 900px; text-align: center;; height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/99A521495B19D7EA0C&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F99A521495B19D7EA0C&quot; width=&quot;900&quot; height=&quot;563&quot; filename=&quot;B43F6B385F5AF9949E5B1488307C1441.png&quot; filemime=&quot;image/jpeg&quot; style=&quot;text-align: center;&quot;/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h3&gt;TableView 사용을 위한 기본 코드 추가&lt;/h3&gt;&lt;div&gt;storyboard 연결은 모두 끝이 낫으니 tableView를 사용할때 필요한 필수 코드들을 추가하고, 실행을 한번 해보자.&lt;/div&gt;&lt;div&gt;tableView를 사용하기위해 &lt;code&gt;UITableViewDataSource&lt;/code&gt;&lt;code&gt;&lt;/code&gt; protocol을 추가하고, 필수 함수인&amp;nbsp;&lt;code&gt;numberOfRowsInSection&lt;/code&gt;과 &lt;code&gt;cellForRow&lt;/code&gt;를 추가해 주어야 한다.&lt;/div&gt;&lt;div&gt;(이 예제에서 &lt;code&gt;UITableViewDelegate&lt;/code&gt;의 &lt;code&gt;heightForRow&lt;/code&gt;는 사용하지 않는다. &lt;code&gt;rowHeight&lt;/code&gt;를 자동으로 처리할 거니까)&lt;/div&gt;&lt;div&gt;아래 코드를 보자.&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-monokai&quot;&gt;&lt;div class=&quot;ace_static_highlight ace_show_gutter&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_keyword&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;UIKit&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_keyword&quot;&gt;class&lt;/span&gt; &lt;span class=&quot;ace_meta ace_tag&quot;&gt;ViewController&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;UIViewController&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;UITableViewDataSource&lt;/span&gt; &lt;span class=&quot;ace_paren ace_lparen&quot;&gt;{&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;    &lt;span class=&quot;ace_variable ace_parameter&quot;&gt;@IBOutlet&lt;/span&gt; &lt;span class=&quot;ace_keyword&quot;&gt;weak&lt;/span&gt; &lt;span class=&quot;ace_keyword&quot;&gt;var&lt;/span&gt; &lt;span class=&quot;ace_meta ace_tag&quot;&gt;tableView&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;UITableView&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;!&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;    
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;    &lt;span class=&quot;ace_keyword&quot;&gt;override&lt;/span&gt; &lt;span class=&quot;ace_keyword&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;ace_support ace_function&quot;&gt;viewDidLoad&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;ace_paren ace_lparen&quot;&gt;{&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;    &lt;span class=&quot;ace_constant ace_language&quot;&gt;super&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;ace_support ace_function&quot;&gt;viewDidLoad&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;    &lt;span class=&quot;ace_paren ace_rparen&quot;&gt;}&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;    &lt;span class=&quot;ace_keyword&quot;&gt;override&lt;/span&gt; &lt;span class=&quot;ace_keyword&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;ace_support ace_function&quot;&gt;didReceiveMemoryWarning&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;ace_paren ace_lparen&quot;&gt;{&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;    &lt;span class=&quot;ace_constant ace_language&quot;&gt;super&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;ace_support ace_function&quot;&gt;didReceiveMemoryWarning&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;    &lt;span class=&quot;ace_paren ace_rparen&quot;&gt;}&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;    &lt;span class=&quot;ace_comment&quot;&gt;// MARK: - UITableViewDataSource&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;    &lt;span class=&quot;ace_storage ace_type&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;ace_keyword&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;ace_support ace_function&quot;&gt;tableView&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;_&lt;/span&gt; &lt;span class=&quot;ace_meta ace_tag&quot;&gt;tableView&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;UITableView&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;numberOfRowsInSection&lt;/span&gt; &lt;span class=&quot;ace_meta ace_tag&quot;&gt;section&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;ace_storage ace_type&quot;&gt;Int&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&amp;gt;&lt;/span&gt; &lt;span class=&quot;ace_storage ace_type&quot;&gt;Int&lt;/span&gt; &lt;span class=&quot;ace_paren ace_lparen&quot;&gt;{&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;    &lt;span class=&quot;ace_keyword&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;10&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;    &lt;span class=&quot;ace_paren ace_rparen&quot;&gt;}&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;    
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;    &lt;span class=&quot;ace_storage ace_type&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;ace_keyword&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;ace_support ace_function&quot;&gt;tableView&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;_&lt;/span&gt; &lt;span class=&quot;ace_meta ace_tag&quot;&gt;tableView&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;UITableView&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;cellForRowAt&lt;/span&gt; &lt;span class=&quot;ace_meta ace_tag&quot;&gt;indexPath&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;IndexPath&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&amp;gt;&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;UITableViewCell&lt;/span&gt; &lt;span class=&quot;ace_paren ace_lparen&quot;&gt;{&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;    &lt;span class=&quot;ace_keyword&quot;&gt;let&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;cell&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;ace_support ace_function&quot;&gt;UITableViewCell&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;    &lt;span class=&quot;ace_identifier&quot;&gt;cell&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;textLabel&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;?.&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;text&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;ace_string ace_start&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;ace_paren ace_quasi ace_start&quot;&gt;\(&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;indexPath&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;row&lt;/span&gt;&lt;span class=&quot;ace_paren ace_quasi ace_end&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;ace_string ace_end&quot;&gt;&quot;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;    &lt;span class=&quot;ace_keyword&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;cell&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;    &lt;span class=&quot;ace_paren ace_rparen&quot;&gt;}&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;}&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;div&gt;이렇게 코드를 작성하고 run을 해보면 아래처럼 tableView가 보여지게 된다.&lt;/div&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 300px; width: 300px; height: 599px;; height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/99F6DD455B19D8180A&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F99F6DD455B19D8180A&quot; width=&quot;300&quot; height=&quot;599&quot; filename=&quot;32E91191B90075571DE1E338F1A37A6E.png&quot; filemime=&quot;image/jpeg&quot; style=&quot;width: 300px; height: 599px;&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;div&gt;tableView가 그려졌으니 50%는 끝이 났다! &lt;i&gt;(사실 글을 쓰기위해 사진찍는 작업이 거의 다 끝났다!)&lt;/i&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h2&gt;2. TableView self-sizing 적용, CustomCell class 생성, storyboard 연결&lt;/h2&gt;&lt;div&gt;웹의 이미지를 가져와 보여줄 cell의 기본 틀을 잡아보자.&lt;/div&gt;&lt;div&gt;&lt;i&gt;(이 예제에서는 label과 imageView를 cell에 얹어서 작업할 것이다.)&lt;/i&gt;&lt;/div&gt;&lt;div&gt;기본 UITableViewCell 위에 UILabel, UIImageView를 추가할 수도 있지만, 더 편하게 관리하고 작업하기 위해 &lt;code&gt;CustomCell&lt;/code&gt; 을 구성해서 사용하자.&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h3&gt;CustomCell Class 추가&lt;/h3&gt;필요한 내용으로만 직접 구성해서 사용할 CustomCell Class를 추가해보자.&amp;nbsp;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;i&gt;(우선은 Class만 생성하고 label, imageView는 storyboard에서 추가하자.)&lt;/i&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-monokai&quot;&gt;&lt;div class=&quot;ace_static_highlight ace_show_gutter&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_keyword&quot;&gt;class&lt;/span&gt; &lt;span class=&quot;ace_meta ace_tag&quot;&gt;ViewController&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;~~&lt;/span&gt; &lt;span class=&quot;ace_paren ace_lparen&quot;&gt;{&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;    &lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;...&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;}&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_comment&quot;&gt;// &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;편&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;의&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;상&lt;/span&gt; ViewController &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;아&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;래&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;에&lt;/span&gt; CustomCell class &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;추&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;가&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_keyword&quot;&gt;class&lt;/span&gt; &lt;span class=&quot;ace_meta ace_tag&quot;&gt;SelfSizingTableCell&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;UITableViewCell&lt;/span&gt; &lt;span class=&quot;ace_paren ace_lparen&quot;&gt;{&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;    
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;    &lt;span class=&quot;ace_keyword&quot;&gt;override&lt;/span&gt; &lt;span class=&quot;ace_support ace_function&quot;&gt;init&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag&quot;&gt;style&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;UITableViewCellStyle&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;ace_meta ace_tag&quot;&gt;reuseIdentifier&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;ace_storage ace_type&quot;&gt;String&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;?&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;ace_paren ace_lparen&quot;&gt;{&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;    &lt;span class=&quot;ace_constant ace_language&quot;&gt;super&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;ace_support ace_function&quot;&gt;init&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag&quot;&gt;style&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;style&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;ace_meta ace_tag&quot;&gt;reuseIdentifier&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;reuseIdentifier&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;    &lt;span class=&quot;ace_paren ace_rparen&quot;&gt;}&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;    
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;    &lt;span class=&quot;ace_keyword&quot;&gt;required&lt;/span&gt; &lt;span class=&quot;ace_keyword&quot;&gt;init&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;?&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;coder&lt;/span&gt; &lt;span class=&quot;ace_meta ace_tag&quot;&gt;aDecoder&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;NSCoder&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;ace_paren ace_lparen&quot;&gt;{&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;    &lt;span class=&quot;ace_constant ace_language&quot;&gt;super&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;ace_support ace_function&quot;&gt;init&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag&quot;&gt;coder&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;aDecoder&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;    &lt;span class=&quot;ace_paren ace_rparen&quot;&gt;}&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;}&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;코드로 구현할 경우 tableView에 custom cell을 등록하는 register 함수를 사용해야 하는데, 이 예제에서는 storyboard에서 직접 설정을 할 것이기 때문에 cell &lt;code&gt;register&lt;/code&gt; 코드는 추가하지 않아도 된다.&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h3&gt;TableView Self-Sizing적용&lt;/h3&gt;&lt;div&gt;사이즈를 알 수 없는 Web Image를 받아와서 그려줘야 하기 때문에 tableView에다 위에 기본기 부분에서 봤던 self-sizing 설정을 추가해주자&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-monokai&quot;&gt;&lt;div class=&quot;ace_static_highlight ace_show_gutter&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_keyword&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;UIKit&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_storage ace_type&quot;&gt;private&lt;/span&gt; &lt;span class=&quot;ace_keyword&quot;&gt;let&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;cellId&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;ace_string ace_start&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;SelfSizingCellId&lt;/span&gt;&lt;span class=&quot;ace_string ace_end&quot;&gt;&quot;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_keyword&quot;&gt;class&lt;/span&gt; &lt;span class=&quot;ace_meta ace_tag&quot;&gt;ViewController&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;UIViewController&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;UITableViewDelegate&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;UITableViewDataSource&lt;/span&gt; &lt;span class=&quot;ace_paren ace_lparen&quot;&gt;{&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;    &lt;span class=&quot;ace_variable ace_parameter&quot;&gt;@IBOutlet&lt;/span&gt; &lt;span class=&quot;ace_keyword&quot;&gt;weak&lt;/span&gt; &lt;span class=&quot;ace_keyword&quot;&gt;var&lt;/span&gt; &lt;span class=&quot;ace_meta ace_tag&quot;&gt;tableView&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;UITableView&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;!&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;    
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;    &lt;span class=&quot;ace_keyword&quot;&gt;override&lt;/span&gt; &lt;span class=&quot;ace_keyword&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;ace_support ace_function&quot;&gt;viewDidLoad&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;ace_paren ace_lparen&quot;&gt;{&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;    &lt;span class=&quot;ace_constant ace_language&quot;&gt;super&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;ace_support ace_function&quot;&gt;viewDidLoad&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;    &lt;span class=&quot;ace_keyword&quot;&gt;self&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;tableView&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;rowHeight&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;UITableViewAutomaticDimension&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;    &lt;span class=&quot;ace_keyword&quot;&gt;self&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;tableView&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;estimatedRowHeight&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;20&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;    &lt;span class=&quot;ace_paren ace_rparen&quot;&gt;}&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;...&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h3&gt;Storyboard 에서 Cell 구성 - 기본&lt;/h3&gt;&lt;div&gt;storyboard에서 cell을 구성하기 위해 우선 TableView에 cell을 하나 추가해주자.&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;div&gt;TableView아래에 cell을 끌어서 넣어주면 아래 화면과 같이 Prototype Cells 화면이 구성된다.&lt;br /&gt;&lt;/div&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 900px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/9910BA4F5B19D8533D&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F9910BA4F5B19D8533D&quot; width=&quot;900&quot; height=&quot;826&quot; filename=&quot;98E9A62AD303DB668187CAF5DB0C3954.png&quot; filemime=&quot;image/jpeg&quot; style=&quot;&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;추가한 Cell을 선택 후 &lt;code&gt;Identity inspector&lt;/code&gt;를 열어서 조금전 추가한 class를 연결해주자.&lt;/div&gt;&lt;div&gt;생성한 CustomCell class의 이름을 넣어주면 된다.&lt;/div&gt;&lt;div&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 300px; width: 300px; height: 151px;; height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/99BC8F485B19D88C03&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F99BC8F485B19D88C03&quot; width=&quot;300&quot; height=&quot;151&quot; filename=&quot;BBE3161E50187B43D1AF591385ECCC30.png&quot; filemime=&quot;image/jpeg&quot; style=&quot;width: 300px; height: 151px;&quot; original=&quot;yes&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;/div&gt;&lt;div&gt;그리고 tableView에서&amp;nbsp;&lt;code&gt;reusableCell&lt;/code&gt; 사용시 연결될 수 있게 cell의 &lt;code&gt;Attributes inspector&lt;/code&gt;를 열어서 &lt;code&gt;Identifier&lt;/code&gt;를 설정해주자.&lt;/div&gt;&lt;div&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 300px; width: 300px; height: 230px;; height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/99B616505B19D8AF29&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F99B616505B19D8AF29&quot; width=&quot;300&quot; height=&quot;230&quot; filename=&quot;DB16DC41B205E5D0F65A632411B11AB8.png&quot; filemime=&quot;image/jpeg&quot; style=&quot;width: 300px; height: 230px;&quot; original=&quot;yes&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;(option) Cell 설정 마지막으로 그냥 작업할때 보기 편하게 하기위해 &lt;code&gt;Size inspector&lt;/code&gt; 에서 rowHeight를 조금 조절해주자&lt;/div&gt;&lt;div&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 300px; width: 300px; height: 106px;; height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/99EF924C5B19D8DC08&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F99EF924C5B19D8DC08&quot; width=&quot;300&quot; height=&quot;106&quot; filename=&quot;F192B61BEA6DE28B941EC181C46EAE03.png&quot; filemime=&quot;image/jpeg&quot; style=&quot;width: 300px; height: 106px;&quot; original=&quot;yes&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;div&gt;이건 그냥 진짜 storyboard 그릴때 편하기 위해서 사용하는 용도이다.&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h3&gt;Storyboard 에서 Cell 구성 - label/image 추가&lt;/h3&gt;&lt;div&gt;이제 내용을 출력해줄 label과 image를 추가하고 코드로 연결해주자&lt;/div&gt;&lt;div&gt;label이 위에있고, imageView가 아래에 있는 형태로 구성할 예정이다.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;label 하나를 cell의 contentView 아래에 추가해주고 constraints 값을 설정해주자. label의 constraints 값은 아래에 imageView를 붙일것이기 때문에 bottom 마진은 설정하지 않는다.&lt;/div&gt;&lt;div&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 900px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/99F68C455B19D91401&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F99F68C455B19D91401&quot; width=&quot;900&quot; height=&quot;751&quot; filename=&quot;6CC6A7769A8F6931FD7CECB1D6153E17.png&quot; filemime=&quot;image/jpeg&quot; style=&quot;&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;imageView도 label과 같은 방법으로 추가해주는데, 깔끔하게 작업하기 위해 대충 원하는 크기로 이미지뷰 크기를 조절해두고 constraints의 모든 마진을 0으로 주면 top은 label의 bottom과 연결되고 나머지는 cell에 맞춰 마진이 설정된다.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;이렇게 imageView의 크기를 조절해서 자리를 잡아주자&lt;/div&gt;&lt;div&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 300px; width: 300px; height: 147px;; height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/992F534A5B19D93F30&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F992F534A5B19D93F30&quot; width=&quot;300&quot; height=&quot;147&quot; filename=&quot;2E28E45D5756EEA2F3C50DBA3088B707.png&quot; filemime=&quot;image/jpeg&quot; style=&quot;width: 300px; height: 147px;&quot; original=&quot;yes&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;그리고 constraints 에서 마진 설정을 해주면!&lt;/div&gt;&lt;div&gt;Xcode는 똑똑하기 때문에 알아서 원하는대로 아래처럼 마진을 잡아준다.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;label&lt;/div&gt;&lt;div&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 200px; width: 200px; height: 244px;; height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/99957A435B19D95A2D&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F99957A435B19D95A2D&quot; width=&quot;200&quot; height=&quot;244&quot; filename=&quot;98E7EE9A514F1788DD3B4CF75BE10123.png&quot; filemime=&quot;image/jpeg&quot; style=&quot;width: 200px; height: 244px;&quot; original=&quot;yes&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;imageView&lt;/div&gt;&lt;div&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 200px; width: 200px; height: 242px;; height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/99BE9D4E5B19D96E0E&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F99BE9D4E5B19D96E0E&quot; width=&quot;200&quot; height=&quot;242&quot; filename=&quot;7AF5B3C1DA854D5553B2A20EA6DF39DC.png&quot; filemime=&quot;image/jpeg&quot; style=&quot;width: 200px; height: 242px;&quot; original=&quot;yes&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;결과는 이렇게 된다.&lt;/div&gt;&lt;div&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 900px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/997C03505B19D9B302&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F997C03505B19D9B302&quot; width=&quot;900&quot; height=&quot;777&quot; filename=&quot;002CEB0A5F4E881E3376450754C777D0.png&quot; filemime=&quot;image/jpeg&quot; style=&quot;&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h3&gt;Cell 구성요소 코드에 연결&lt;/h3&gt;&lt;div&gt;이제 다시 Assistant editor를 열어서 한쪽은 storyboard 한쪽은 코드 구현부를 열어주자.&lt;/div&gt;&lt;div&gt;그리고 방금전 추가한 label과 imageView를 &lt;code&gt;SelfSizingTableCell&lt;/code&gt; class 에 tableView 객체를 생성해준것처럼 생성해주자.&lt;/div&gt;&lt;div&gt;편의상 label은 &lt;code&gt;titleLabel&lt;/code&gt;로, &lt;code&gt;imageView&lt;/code&gt;는 &lt;code&gt;webImage&lt;/code&gt;로 네이밍하도록 하자.&lt;/div&gt;&lt;div&gt;연결이 되면 코드상에 아래처럼 구성이 된다.&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-monokai&quot;&gt;&lt;div class=&quot;ace_static_highlight ace_show_gutter&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_keyword&quot;&gt;class&lt;/span&gt; &lt;span class=&quot;ace_meta ace_tag&quot;&gt;SelfSizingTableCell&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;UITableViewCell&lt;/span&gt; &lt;span class=&quot;ace_paren ace_lparen&quot;&gt;{&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;    
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;    &lt;span class=&quot;ace_variable ace_parameter&quot;&gt;@IBOutlet&lt;/span&gt; &lt;span class=&quot;ace_keyword&quot;&gt;weak&lt;/span&gt; &lt;span class=&quot;ace_keyword&quot;&gt;var&lt;/span&gt; &lt;span class=&quot;ace_meta ace_tag&quot;&gt;titleLabel&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;UILabel&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;!&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;    &lt;span class=&quot;ace_variable ace_parameter&quot;&gt;@IBOutlet&lt;/span&gt; &lt;span class=&quot;ace_keyword&quot;&gt;weak&lt;/span&gt; &lt;span class=&quot;ace_keyword&quot;&gt;var&lt;/span&gt; &lt;span class=&quot;ace_meta ace_tag&quot;&gt;webImage&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;UIImageView&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;!&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;...&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h3&gt;Cell 사용부 수정 (cellForRow)&lt;/h3&gt;&lt;div&gt;이제 생성한 &lt;code&gt;SelfSizingTableCell&lt;/code&gt;을 사용할 수 있도록 tableView에서 cell을 가져오는 부분을 수정해주자.&lt;/div&gt;&lt;div&gt;reusableCell 로 구성하였기 때문에 기존에 cell 사용과 달리 &lt;code&gt;dequeueReusableCell&lt;/code&gt;을 사용하여 가져오도록 수정해주고 cell의 class를 명시해주면 된다.&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-monokai&quot;&gt;&lt;div class=&quot;ace_static_highlight ace_show_gutter&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;...&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_storage ace_type&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;ace_keyword&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;ace_support ace_function&quot;&gt;tableView&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;_&lt;/span&gt; &lt;span class=&quot;ace_meta ace_tag&quot;&gt;tableView&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;UITableView&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;cellForRowAt&lt;/span&gt; &lt;span class=&quot;ace_meta ace_tag&quot;&gt;indexPath&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;IndexPath&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&amp;gt;&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;UITableViewCell&lt;/span&gt; &lt;span class=&quot;ace_paren ace_lparen&quot;&gt;{&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;    &lt;span class=&quot;ace_keyword&quot;&gt;let&lt;/span&gt; &lt;span class=&quot;ace_meta ace_tag&quot;&gt;cell&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;SelfSizingTableCell&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;tableView&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;ace_support ace_function&quot;&gt;dequeueReusableCell&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag&quot;&gt;withIdentifier&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;cellId&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;ace_meta ace_tag&quot;&gt;for&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;indexPath&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;ace_keyword&quot;&gt;as&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;!&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;SelfSizingTableCell&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;    &lt;span class=&quot;ace_identifier&quot;&gt;cell&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;titleLabel&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;text&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;ace_string ace_start&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;ace_paren ace_quasi ace_start&quot;&gt;\(&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;indexPath&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;row&lt;/span&gt;&lt;span class=&quot;ace_paren ace_quasi ace_end&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;ace_string ace_end&quot;&gt;&quot;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;    &lt;span class=&quot;ace_keyword&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;cell&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;    &lt;span class=&quot;ace_paren ace_rparen&quot;&gt;}&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;    
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;...&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h2&gt;3. Web image를 받아와 Self-Sizing cell에 그려주기&lt;/h2&gt;&lt;div&gt;저장된 이미지를 사용하는 경우는 그냥 위의 예제까지만 하고 cell에 image를 설정해주면 끝이난다.&lt;/div&gt;&lt;div&gt;하지만 이 예제는 웹 이미지를 다운받고 셀의 높이를 변경해주는게 궁극적인 목표이기 때문에 우선 web image를 받아오는 예제를 살펴보자.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;(UIImageView에서는 기본적으로 웹이미지를 받아와서 image를 설정해주는 함수가 존재하지 않는다.&lt;/div&gt;&lt;div&gt;&lt;code style=&quot;font-size: 11.699999809265137px;&quot;&gt;alamofire&lt;/code&gt;나&amp;nbsp;&lt;code style=&quot;font-size: 11.699999809265137px;&quot;&gt;sdwebimage&lt;/code&gt;&amp;nbsp;같은 유명한 open source를 사용하면 쉽게 우리가 만드려는 기능을 사용할 수 있지만, 어떤식으로 처리되는지 이해하기 쉽도록 open source를 사용하지 않고 만들어보자.)&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h3&gt;UIImageView web image를 위한 &lt;span class=&quot;highlighted&quot; style=&quot;background-color: transparent;&quot;&gt;extension&lt;/span&gt; 추가&lt;/h3&gt;&lt;div&gt;UIImageView에서는 기본적으로 웹이미지를 받아와서 image를 설정해주는 함수가 존재하지 않는다.&lt;/div&gt;&lt;div&gt;&lt;code&gt;alamofire&lt;/code&gt;나 &lt;code&gt;sdwebimage&lt;/code&gt; 같은 유명한 open source를 사용하면 쉽게 지금 만들려는 기능을 구현 수 있지만, 어떤식으로 처리되는지 기본기를 익혀볼 겸 open source를 사용하지 않고 image data를 받아와서 처리하도록 만들어보자. (간단한 진행을 위해 캐싱은 구현하지 않음)&lt;/div&gt;&lt;div&gt;그리고, image를 web에서 받아오기까지 시간이 걸릴 수 있기 때문에 보통 indicator를 보여주거나 placeholder 이미지를 넣어두고 다운로드가 완료되면 받아온 image 로 교체하여 사용한다. 이 예제에서는 placeholder를 이용하도록 하겠다.&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;위에 구현중이던 ViewController에 아래와 같이 &lt;font&gt;&lt;code&gt;&lt;span class=&quot;highlighted&quot; style=&quot;background-color: transparent;&quot;&gt;extension&lt;/span&gt;&lt;/code&gt; &lt;/font&gt;기능을 구현해주자.&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-monokai&quot;&gt;&lt;div class=&quot;ace_static_highlight ace_show_gutter&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;...&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_storage ace_type&quot;&gt;extension&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;UIImageView&lt;/span&gt; &lt;span class=&quot;ace_paren ace_lparen&quot;&gt;{&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;    &lt;span class=&quot;ace_storage ace_type&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;ace_keyword&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;ace_support ace_function&quot;&gt;imageFromURL&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag&quot;&gt;urlString&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;ace_storage ace_type&quot;&gt;String&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;ace_meta ace_tag&quot;&gt;placeholder&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;UIImage&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;?,&lt;/span&gt; &lt;span class=&quot;ace_meta ace_tag&quot;&gt;completion&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;ace_variable ace_parameter&quot;&gt;@escaping&lt;/span&gt; &lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&amp;gt;&lt;/span&gt; &lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;))&lt;/span&gt; &lt;span class=&quot;ace_paren ace_lparen&quot;&gt;{&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;    &lt;span class=&quot;ace_keyword&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;ace_keyword&quot;&gt;self&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;image&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;==&lt;/span&gt; &lt;span class=&quot;ace_constant ace_language&quot;&gt;nil&lt;/span&gt; &lt;span class=&quot;ace_paren ace_lparen&quot;&gt;{&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;    &lt;span class=&quot;ace_keyword&quot;&gt;self&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;image&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;placeholder&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;    &lt;span class=&quot;ace_paren ace_rparen&quot;&gt;}&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;    
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;    &lt;span class=&quot;ace_identifier&quot;&gt;URLSession&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;shared&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;ace_support ace_function&quot;&gt;dataTask&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag&quot;&gt;with&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;ace_support ace_function&quot;&gt;NSURL&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag&quot;&gt;string&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;urlString&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;!&lt;/span&gt; &lt;span class=&quot;ace_keyword&quot;&gt;as&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;URL&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;ace_meta ace_tag&quot;&gt;completionHandler&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;ace_paren ace_lparen&quot;&gt;{&lt;/span&gt; &lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;data&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;response&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;error&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&amp;gt;&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;Void&lt;/span&gt; &lt;span class=&quot;ace_keyword&quot;&gt;in&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;    &lt;span class=&quot;ace_keyword&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;error&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;!=&lt;/span&gt; &lt;span class=&quot;ace_constant ace_language&quot;&gt;nil&lt;/span&gt; &lt;span class=&quot;ace_paren ace_lparen&quot;&gt;{&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;    &lt;span class=&quot;ace_support ace_function&quot;&gt;print&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;error&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;    &lt;span class=&quot;ace_keyword&quot;&gt;return&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;    &lt;span class=&quot;ace_paren ace_rparen&quot;&gt;}&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;    &lt;span class=&quot;ace_identifier&quot;&gt;DispatchQueue&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;main&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;ace_support ace_function&quot;&gt;async&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag&quot;&gt;execute&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;ace_paren ace_lparen&quot;&gt;{&lt;/span&gt; &lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&amp;gt;&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;Void&lt;/span&gt; &lt;span class=&quot;ace_keyword&quot;&gt;in&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;    &lt;span class=&quot;ace_keyword&quot;&gt;let&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;image&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;ace_support ace_function&quot;&gt;UIImage&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag&quot;&gt;data&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;data&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;!&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;    &lt;span class=&quot;ace_keyword&quot;&gt;self&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;image&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;image&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;    &lt;span class=&quot;ace_keyword&quot;&gt;self&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;ace_support ace_function&quot;&gt;setNeedsLayout&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;    &lt;span class=&quot;ace_support ace_function&quot;&gt;completion&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;    &lt;span class=&quot;ace_paren ace_rparen&quot;&gt;})&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;    
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;    &lt;span class=&quot;ace_paren ace_rparen&quot;&gt;})&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;ace_support ace_function&quot;&gt;resume&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;    &lt;span class=&quot;ace_paren ace_rparen&quot;&gt;}&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;}&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;div&gt;이 코드는&amp;nbsp;&lt;code style=&quot;font-size: 11.699999809265137px;&quot;&gt;UIImageView&lt;/code&gt;에&amp;nbsp;&lt;code style=&quot;font-size: 11.699999809265137px;&quot;&gt;extension&lt;/code&gt;을 사용하여 기능을 확장해준 것이다.&lt;/div&gt;&lt;div&gt;코드를 보면 web에 있는 image를 받아오기 전까지 &lt;code&gt;image&lt;/code&gt;가 nil 값인 경우 지정해준 &lt;code&gt;placeholder&lt;/code&gt; 이미지로 imageView를 채워준 후&lt;/div&gt;&lt;div&gt;&lt;code style=&quot;font-size: 11.699999809265137px;&quot;&gt;URLSession&lt;/code&gt;을 사용해서 image url에 있는 data를 받아와서 imageView의 &lt;code&gt;image&lt;/code&gt;를 변경해주고, 후행 클로저를 사용해&amp;nbsp;&lt;code&gt;completion&lt;/code&gt;을 호출해 주도록 되어 있다.&lt;/div&gt;&lt;div&gt;&lt;code style=&quot;font-size: 11.699999809265137px;&quot;&gt;completion&lt;/code&gt;을 사용하는 이유는 tableView에서 이미지 변경 후 셀을 갱신해줄 수 있도록 하려고 해두려고 한 것이다.&lt;br /&gt;&lt;/div&gt;&lt;div&gt;후행 클로저라는 용어가 생소할 수도 있는데, 그냥 동작이 완료된 후 처리할 묶음을간단히 말하면 호출한 곳에서 처리가 완료된 후에 작업을 할 수 있도록 통로를 만들어 둔다고 생각하면 된다.&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h3&gt;이미지 중복 갱신 방지&lt;/h3&gt;&lt;div&gt;&lt;code&gt;image&lt;/code&gt;를 처음 받아와 그려줄때 갱신이 안되는 이슈가 발생할 수 있기 때문에 1회에 한해서&amp;nbsp;&lt;code&gt;reloadRows&lt;/code&gt; 라는 함수를 사용할 예정인데, cell이 그려질때마다 이 함수가 호출되면 부하가 심해지고 스크롤이 버벅이는 현상이 생길수가 있다.&lt;/div&gt;&lt;div&gt;이것을 막기위해 갱신을 했는지 상태값을 저장해두고 사용하도록 &lt;code&gt;SelfSizingTableCell&lt;/code&gt; 코드에 &lt;code&gt;finishReload&lt;/code&gt;&amp;nbsp;라는 Bool 타입의 변수를 하나 추가해주자.&amp;nbsp;&lt;/div&gt;&lt;div&gt;이 값은 초기값으로 false값을 가지고, 그리기가 완료 true 값으로 변경해 불필요한 갱신을 막는 용도로 사용할 것이다.&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-monokai&quot;&gt;&lt;div class=&quot;ace_static_highlight ace_show_gutter&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_keyword&quot;&gt;class&lt;/span&gt; &lt;span class=&quot;ace_meta ace_tag&quot;&gt;SelfSizingTableCell&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;UITableViewCell&lt;/span&gt; &lt;span class=&quot;ace_paren ace_lparen&quot;&gt;{&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;    
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;    &lt;span class=&quot;ace_variable ace_parameter&quot;&gt;@IBOutlet&lt;/span&gt; &lt;span class=&quot;ace_keyword&quot;&gt;weak&lt;/span&gt; &lt;span class=&quot;ace_keyword&quot;&gt;var&lt;/span&gt; &lt;span class=&quot;ace_meta ace_tag&quot;&gt;titleLabel&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;UILabel&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;!&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;    &lt;span class=&quot;ace_variable ace_parameter&quot;&gt;@IBOutlet&lt;/span&gt; &lt;span class=&quot;ace_keyword&quot;&gt;weak&lt;/span&gt; &lt;span class=&quot;ace_keyword&quot;&gt;var&lt;/span&gt; &lt;span class=&quot;ace_meta ace_tag&quot;&gt;webImage&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;UIImageView&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;!&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;    
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;    &lt;span class=&quot;ace_keyword&quot;&gt;var&lt;/span&gt; &lt;span class=&quot;ace_meta ace_tag&quot;&gt;finishReload&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;Bool&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;ace_constant ace_language&quot;&gt;false&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;    
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;    &lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;...&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;}&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h3&gt;cell에 web image 세팅하기&lt;/h3&gt;&lt;div&gt;이제 마지막 단계이다.&amp;nbsp;&lt;/div&gt;&lt;div&gt;위에서 extension으로 구현해둔 &lt;code&gt;imageFromURL&lt;/code&gt;함수를 이용해 cell에 &lt;code&gt;webImage&lt;/code&gt;를 web에서 받아와서 세팅해보자.&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-monokai&quot;&gt;&lt;div class=&quot;ace_static_highlight ace_show_gutter&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;    &lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;...&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;    &lt;span class=&quot;ace_storage ace_type&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;ace_keyword&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;ace_support ace_function&quot;&gt;tableView&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;_&lt;/span&gt; &lt;span class=&quot;ace_meta ace_tag&quot;&gt;tableView&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;UITableView&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;cellForRowAt&lt;/span&gt; &lt;span class=&quot;ace_meta ace_tag&quot;&gt;indexPath&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;IndexPath&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&amp;gt;&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;UITableViewCell&lt;/span&gt; &lt;span class=&quot;ace_paren ace_lparen&quot;&gt;{&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;    &lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;...&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;    &lt;span class=&quot;ace_identifier&quot;&gt;cell&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;webImage&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;tag&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;indexPath&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;row&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;    
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;    &lt;span class=&quot;ace_keyword&quot;&gt;let&lt;/span&gt; &lt;span class=&quot;ace_meta ace_tag&quot;&gt;urlStr&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;ace_storage ace_type&quot;&gt;String&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;ace_string ace_start&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;https://placehold.it/200x200&amp;amp;text=SampleImg&lt;/span&gt;&lt;span class=&quot;ace_paren ace_quasi ace_start&quot;&gt;\(&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;indexPath&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;row&lt;/span&gt;&lt;span class=&quot;ace_paren ace_quasi ace_end&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;ace_string ace_end&quot;&gt;&quot;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;    &lt;span class=&quot;ace_keyword&quot;&gt;let&lt;/span&gt; &lt;span class=&quot;ace_meta ace_tag&quot;&gt;placeholder&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;UIImage&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;?&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;UIImage&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;ace_support ace_function&quot;&gt;init&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag&quot;&gt;named&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;ace_string ace_start&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;placeholder.png&lt;/span&gt;&lt;span class=&quot;ace_string ace_end&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;    
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;    &lt;span class=&quot;ace_identifier&quot;&gt;cell&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;webImage&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;ace_support ace_function&quot;&gt;imageFromURL&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag&quot;&gt;urlString&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;urlStr&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;ace_meta ace_tag&quot;&gt;placeholder&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;placeholder&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;ace_paren ace_lparen&quot;&gt;{&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;    &lt;span class=&quot;ace_keyword&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;cell&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;finishReload&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;==&lt;/span&gt; &lt;span class=&quot;ace_constant ace_language&quot;&gt;false&lt;/span&gt; &lt;span class=&quot;ace_paren ace_lparen&quot;&gt;{&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;    &lt;span class=&quot;ace_identifier&quot;&gt;cell&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;finishReload&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;ace_constant ace_language&quot;&gt;true&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;    &lt;span class=&quot;ace_identifier&quot;&gt;tableView&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;ace_support ace_function&quot;&gt;beginUpdates&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;    &lt;span class=&quot;ace_identifier&quot;&gt;tableView&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;ace_support ace_function&quot;&gt;reloadRows&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag&quot;&gt;at&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;ace_paren ace_lparen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;IndexPath&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;ace_support ace_function&quot;&gt;init&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag&quot;&gt;row&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;cell&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;webImage&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;tag&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;ace_meta ace_tag&quot;&gt;section&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)]&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;ace_meta ace_tag&quot;&gt;with&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;UITableViewRowAnimation&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;automatic&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;    &lt;span class=&quot;ace_identifier&quot;&gt;tableView&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;ace_support ace_function&quot;&gt;endUpdates&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;    &lt;span class=&quot;ace_paren ace_rparen&quot;&gt;}&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;    &lt;span class=&quot;ace_paren ace_rparen&quot;&gt;}&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;    
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;    &lt;span class=&quot;ace_keyword&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;cell&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;    &lt;span class=&quot;ace_paren ace_rparen&quot;&gt;}&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;    &lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;...&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;이 코드를 보면 &lt;code&gt;cellForRow~&lt;/code&gt; 함수 내부에서 cell의 &lt;code&gt;webImage&lt;/code&gt;를 세팅할때&amp;nbsp;&lt;code&gt;&lt;code style=&quot;font-size: 11.699999809265137px;&quot;&gt;imageFromURL&amp;nbsp;&lt;/code&gt;&lt;span style=&quot;font-family: -apple-system, Helvetica, Arial, sans-serif; font-size: 13px;&quot;&gt;함수를 호출해서 이미지를 받아온다.&lt;/span&gt;&lt;/code&gt;&lt;div&gt;&lt;div&gt;&lt;code&gt;&lt;span style=&quot;font-family: -apple-system, Helvetica, Arial, sans-serif; font-size: 13px;&quot;&gt;이미지를 받아온 후 &lt;/span&gt;finishReload&lt;/code&gt;&amp;nbsp;값을 비교해서 cell 갱신이 완료되지 않았으면 &lt;code&gt;reloadRows&lt;/code&gt; 함수를 이용해 cell을 한번 갱신해주고, 다시 호출되지 않도록&amp;nbsp;&lt;code&gt;finishReload&lt;/code&gt;&amp;nbsp;값을 &lt;code&gt;true&lt;/code&gt;로 설정해 준다.&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;code&gt;reloadRows&lt;/code&gt;는 &lt;code&gt;tableView&lt;/code&gt; 전체를 갱신하는 &lt;code&gt;reloadData&lt;/code&gt;와 달리 선택한 &lt;code&gt;row&lt;/code&gt;들만 갱신해주는 역할을 한다.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;저장되어있는 이미지나 캐싱된 이미지를 사용할 경우 &lt;code&gt;reloadRows&lt;/code&gt; 동작은 필요하진 않다. 언제 받아올지 모르는 웹 이미지를 받아온 후 알아서 갱신을 해주면 좋겠지만, 이미 tableView를 그려주는 life cycle이 끝났기 때문에 화면을 가만히 놔둔 상태에서 이미지는 바뀌어도 크기가 바뀌지 않는 경우들이 많다.&lt;/div&gt;&lt;div&gt;&lt;code&gt;finishReload&lt;/code&gt;와 &lt;code&gt;reloadRows&lt;/code&gt;는 이런경우 바로 갱신을 해주기 위해 사용하는 트릭으로 생각하면 좋을것 같다. View life cycle을&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;i&gt;(urlStr 값은 파라미터로 문자를 넣어주면 이미지로 만들어주는 url 주소이다.&amp;nbsp;&lt;/i&gt;&lt;i&gt;placeholder.png 파일은 없으면 그냥 nil값을 사용해도 무관하다.)&lt;/i&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h2&gt;4. 실행/확인&lt;/h2&gt;&lt;div&gt;이제 모든 구현이 완료되었고, 구동을 해보자!&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;div&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 900px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/9994C84B5B19D9C913&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F9994C84B5B19D9C913&quot; width=&quot;900&quot; height=&quot;474&quot; filename=&quot;A1EE2121B8C5328FCBF1592CE02C8B6F.png&quot; filemime=&quot;image/jpeg&quot; style=&quot;&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;/div&gt;&lt;div&gt;처음엔 placeholder 이미지가 -&amp;gt; 그리고는 다운로드된 이미지가 -&amp;gt; 그리고 셀을 다시 그려 높이를 맞춰준다.&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h2&gt;Fin.&lt;/h2&gt;&lt;div&gt;간단하게 autolayout으로 요소들을 구성하고, 웹 이미지를 받아와서 동적으로 받아온 이미지 크기로 셀 높이를 맞춰서 그려주는 예제를 해보았다.&lt;/div&gt;&lt;div&gt;별거 아닌거 같지만 까다로운 요소들이 많이 숨어있는 작업이다.&amp;nbsp;&lt;/div&gt;&lt;div&gt;또한, 같은 기능을 만드는 방법에 정석이 따로 있는것은 아니다. 여기서는 트릭을 이용해서 처리를 했지만 다른 더 좋은 방법들이 존재할 수 있다.&lt;/div&gt;&lt;div&gt;하지만 뭐니뭐니해도 가장 좋은건 이미 잘 알려진 open source를 사용하면 아주 간단하고 안정성이 보장되도록 만들수가 있다.&lt;/div&gt;&lt;div&gt;따라하기를 기반으로 대충 이런식으로 처리가 되는구나 정도를 생각하면서 개념을 익힌 다음에는 직접 고도화시켜서 구현을 해서 open source를 만들거나 open source를 사용하자!!&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h3&gt;&lt;hr&gt;&lt;/h3&gt;&lt;h3&gt;참고&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;Working with Self-Sizing Table View Cells&lt;br /&gt;&lt;/li&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://developer.apple.com/library/content/documentation/UserExperience/Conceptual/AutolayoutPG/WorkingwithSelf-SizingTableViewCells.html#//apple_ref/doc/uid/TP40010853-CH25-SW1&quot;&gt;https://developer.apple.com/library/content/documentation/UserExperience/Conceptual/AutolayoutPG/WorkingwithSelf-SizingTableViewCells.html#//apple_ref/doc/uid/TP40010853-CH25-SW1&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;translatesAutoresizingMaskIntoConstraints&lt;br /&gt;&lt;/li&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://blog.jisoo.net/2018/03/02/UIView-translatesAutoresizingMaskIntoConstraints.html&quot;&gt;http://blog.jisoo.net/2018/03/02/UIView-translatesAutoresizingMaskIntoConstraints.html&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;/div&gt;&lt;/div&gt;
      &lt;script&gt;&lt;/script&gt;
    
    &lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>Programming/iOS - Swift</category>
      <category>async</category>
      <category>dispatchqueue</category>
      <category>dynamicCellHeight</category>
      <category>self-sizing</category>
      <category>Self-Sizing tableview cell</category>
      <category>self-sizing-cell</category>
      <category>swift</category>
      <category>UITableView</category>
      <category>urlSession</category>
      <category>WebImage</category>
      <category>Xcode</category>
      <author>Tez.Park</author>
      <guid isPermaLink="true">https://sham.tistory.com/171</guid>
      <comments>https://sham.tistory.com/171#entry171comment</comments>
      <pubDate>Fri, 8 Jun 2018 10:44:36 +0900</pubDate>
    </item>
    <item>
      <title>[Documentation] Appledoc 문서화 (Objective-c 문서화)</title>
      <link>https://sham.tistory.com/169</link>
      <description>&lt;meta charset=&quot;utf-8&quot;&gt;
      &lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;&gt;
      &lt;!-- common.css --&gt;
      &lt;style&gt;* {-webkit-tap-highlight-color: rgba(0,0,0,0);}html {-webkit-text-size-adjust: none;}body {font-family: -apple-system, Helvetica, Arial, sans-serif;margin: 0;padding: 20px;color: #333;word-wrap: break-word;}h1, h2, h3, h4, h5, h6 {line-height: 1.1;}img {max-width: 100% !important;height: auto;}blockquote {margin: 0;padding: 0 15px;color: #777;border-left: 4px solid #ddd;}hr {background-color: #ddd;border: 0;height: 1px;margin: 15px 0;}code {font-family: Menlo, Consolas, 'Ubuntu Mono', Monaco, 'source-code-pro', monospace;line-height: 1.4;margin: 0;padding: 0.2em 0;font-size: 90%;background-color: rgba(0,0,0,0.04);border-radius: 3px;}pre &gt; code {margin: 0;padding: 0;font-size: 100%;word-break: normal;background: transparent;border: 0;}ol {list-style-type: decimal;}ol ol, ul ol {list-style-type: lower-latin;}ol ol ol, ul ol ol, ul ul ol, ol ul ol {list-style-type: lower-roman;}table {border-spacing: 0;border-collapse: collapse;margin-top: 0;margin-bottom: 16px;}table th {font-weight: bold;}table th, table td {padding: 6px 13px;border: 1px solid #ddd;}table tr {border-top: 1px solid #ccc;}table tr:nth-child(even) {background-color: #f8f8f8;}input[type=&quot;checkbox&quot;] {cursor: default;margin-right: 0.5em;font-size: 13px;}.task-list-item {list-style-type: none;}.task-list-item+.task-list-item {margin-top: 3px;}.task-list-item input {float: left;margin: 0.3em 1em 0.25em -1.6em;vertical-align: middle;}#tag-field {margin: 8px 2px 10px;}#tag-field .tag {display: inline-block;background: #cadff3;border-radius: 4px;padding: 1px 8px;color: black;font-size: 12px;margin-right: 10px;line-height: 1.4;}&lt;/style&gt;
      &lt;!-- ace-static.css --&gt;
      &lt;style&gt;.ace_static_highlight {white-space: pre-wrap;}.ace_static_highlight .ace_gutter {width: 2em;text-align: right;padding: 0 3px 0 0;margin-right: 3px;}.ace_static_highlight.ace_show_gutter &gt; .ace_line {padding-left: 2.6em;}.ace_static_highlight .ace_line {position: relative;}.ace_static_highlight .ace_gutter-cell {-moz-user-select: -moz-none;-khtml-user-select: none;-webkit-user-select: none;user-select: none;top: 0;bottom: 0;left: 0;position: absolute;}.ace_static_highlight .ace_gutter-cell:before {content: counter(ace_line, decimal);counter-increment: ace_line;}.ace_static_highlight {counter-reset: ace_line;}&lt;/style&gt;
      &lt;style&gt;.ace-monokai .ace_gutter {background: #2F3129;color: #8F908A}.ace-monokai .ace_print-margin {width: 1px;background: #555651}.ace-monokai {background-color: #272822;color: #F8F8F2}.ace-monokai .ace_cursor {color: #F8F8F0}.ace-monokai .ace_marker-layer .ace_selection {background: #49483E}.ace-monokai.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px #272822;}.ace-monokai .ace_marker-layer .ace_step {background: rgb(102, 82, 0)}.ace-monokai .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid #49483E}.ace-monokai .ace_marker-layer .ace_active-line {background: #202020}.ace-monokai .ace_gutter-active-line {background-color: #272727}.ace-monokai .ace_marker-layer .ace_selected-word {border: 1px solid #49483E}.ace-monokai .ace_invisible {color: #52524d}.ace-monokai .ace_entity.ace_name.ace_tag,.ace-monokai .ace_keyword,.ace-monokai .ace_meta.ace_tag,.ace-monokai .ace_storage {color: #F92672}.ace-monokai .ace_punctuation,.ace-monokai .ace_punctuation.ace_tag {color: #fff}.ace-monokai .ace_constant.ace_character,.ace-monokai .ace_constant.ace_language,.ace-monokai .ace_constant.ace_numeric,.ace-monokai .ace_constant.ace_other {color: #AE81FF}.ace-monokai .ace_invalid {color: #F8F8F0;background-color: #F92672}.ace-monokai .ace_invalid.ace_deprecated {color: #F8F8F0;background-color: #AE81FF}.ace-monokai .ace_support.ace_constant,.ace-monokai .ace_support.ace_function {color: #66D9EF}.ace-monokai .ace_fold {background-color: #A6E22E;border-color: #F8F8F2}.ace-monokai .ace_storage.ace_type,.ace-monokai .ace_support.ace_class,.ace-monokai .ace_support.ace_type {font-style: italic;color: #66D9EF}.ace-monokai .ace_entity.ace_name.ace_function,.ace-monokai .ace_entity.ace_other,.ace-monokai .ace_entity.ace_other.ace_attribute-name,.ace-monokai .ace_variable {color: #A6E22E}.ace-monokai .ace_variable.ace_parameter {font-style: italic;color: #FD971F}.ace-monokai .ace_string {color: #E6DB74}.ace-monokai .ace_comment {color: #75715E}.ace-monokai .ace_indent-guide {background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWPQ0FD0ZXBzd/wPAAjVAoxeSgNeAAAAAElFTkSuQmCC) right repeat-y}&lt;/style&gt;
      &lt;!-- export.css --&gt;
      &lt;style&gt;
        body{margin:0 auto;max-width:100%;line-height:1.4}
        #nav{margin:5px 0 10px;font-size:15px}
        #titlearea{border-bottom:1px solid #ccc;font-size:17px;padding:10px 0;}
        #contentarea{font-size:15px;margin:16px 0}
        .cell{outline:0;min-height:20px;margin:5px 0;padding:5px 0;}
        .code-cell{font-family:Menlo,Consolas,'Ubuntu Mono',Monaco,'source-code-pro',monospace;font-size:12px;}
        .latex-cell{white-space:pre-wrap;}
      &lt;/style&gt;
      &lt;!-- User CSS --&gt;
      &lt;style&gt; .text-cell {font-size: 15px;}.code-cell {font-size: 12px;}.markdown-cell {font-size: 15px;}.latex-cell {font-size: 15px;}&lt;/style&gt;
    
    
      &lt;div id=&quot;contentarea&quot;&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h3&gt;Summary&lt;/h3&gt;&lt;div&gt;개발을 하다보면 소스코드를 문서화 해야하는 경우들이 종종 발생한다.&amp;nbsp;&lt;div&gt;&lt;div&gt;내부적으로 볼 경우에는 주석을 잘달아서 소스코드를 직접 보면서 확인하면 되지만, 내부적으로 문서화 요청을 받거나 Wiki등록 혹은 외부에 공개해야하는 등의 경우에는 따로 문서를 만들어서 전달해야 한다. 이런 상황에서 각각의 클래스와 함수, 변수들을 정리하면서 문서로 만들면 아주 작은 프로젝트가 아닌이상 엄청난 노가다 작업을 필요로한다.&amp;nbsp;&lt;/div&gt;&lt;div&gt;하지만 세상은 많이 발전했고, 이런 작업을 대신해주는 소스코드 문서화 도구가 다양하게 존재한다. (사실 한참 전부터 존재했다.)&lt;/div&gt;&lt;div&gt;예를들어 C/C++은 doxygen, python은 Sphinx, Java는 Javadoc등, 그리고 이외에도 엄청 다양한 도구들이 존재한다.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;하지만, 이 글에서는 Apple 소스코드의 문서화에 특화된 문서화 도구를 찾아보려고 한다. 그중에서도 Objective-c. (Swift는 추후에..)&lt;/div&gt;&lt;div&gt;Objective-C 기반이기 때문에 doxygen같은 C언어 관련 문서화 도구를 사용해도 되지만, 조금 더 욕심을 내서 애플 스타일 소스코드 문서화 형태로 만들어주는 도구를 사용해보도록 하자.&lt;/div&gt;&lt;div&gt;최근엔 다른 종류도 많이 나왔지만, 써본건 Appledoc, Headerdoc 두가지이다. 근데 Headerdoc은 애플 폐기 문서함에 들어가 있어서 왠지 쓰기 싫다.&lt;/div&gt;&lt;div&gt;그래서 Appledoc 으로 문서화 방법을 쓰려고 한다.&lt;/div&gt;&lt;div&gt;Appledoc은 기본 탬플릿을 제공하고, 커스터마이징된 탬플릿들도 찾아보면 몇가지 존재하고.. 일단 직접 문서를 보면서 직접 사용해보도록 하자.&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h3&gt;Appledoc 설치&lt;/h3&gt;&lt;div&gt;AppleDoc은 오픈소스로 공개되어있고, 스크립트를 실행하여 설치하거나 Homebrew를 사용하여 설치할 수 있다.&lt;/div&gt;&lt;div&gt;(스크립트를 이용하면 기본 탬플릿을 설치할 수 있고, Homebrew는 기본 탬플릿을 설치할 수 없다.)&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-monokai&quot;&gt;&lt;div class=&quot;ace_static_highlight ace_show_gutter&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_comment&quot;&gt;#############&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_comment&quot;&gt;# Git clone #&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_comment&quot;&gt;#############&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;git&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;clone&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;git&lt;/span&gt;:&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;//&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;github&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;com&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;tomaz&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;appledoc&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;git&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_comment&quot;&gt;#############################&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_comment&quot;&gt;# install appledoc - Script #&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_comment&quot;&gt;########## Case 1 ###########&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_comment&quot;&gt;# &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;스&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;크&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;립&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;트&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;를&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;이&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;용&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;한&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;기&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;본&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;설&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;치&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;sudo&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;sh&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;install&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;appledoc&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;sh&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_comment&quot;&gt;# 1-1. &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;탬&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;플&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;릿&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;을&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;기&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;본&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;경&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;로&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;에&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;추&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;가&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;해&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;서&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;설&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;치&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;할&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;경&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;우&lt;/span&gt; '-t default’ &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;옵&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;션&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;을&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;붙&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;여&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;주&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;자&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;sudo&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;sh&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;install&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;appledoc&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;sh&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;t&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;default&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_comment&quot;&gt;# 1-2. &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;다&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;른&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;경&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;로&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;를&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;원&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;할&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;경&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;우&lt;/span&gt; '-t {template_path}’ &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;옵&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;션&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;을&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;붙&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;여&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;주&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;자&lt;/span&gt;. (binary &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;경&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;로&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;는&lt;/span&gt; '-b {binary_path}')&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;sudo&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;sh&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;install&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;appledoc&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;sh&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;b&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;usr&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;bin&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;t&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;~/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;Library&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;Application&lt;/span&gt;&lt;span class=&quot;ace_constant&quot;&gt;\ &lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;Support&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;appledoc&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_comment&quot;&gt;###############################&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_comment&quot;&gt;# install appledoc - Homebrew #&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_comment&quot;&gt;########## Case 1 #############&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_comment&quot;&gt;# Homebrew&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;를&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;이&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;용&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;한&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;설&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;치&lt;/span&gt; (Homebrew &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;는&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;탬&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;플&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;릿&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;이&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;기&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;본&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;으&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;로&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;설&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;치&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;되&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;지&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;않&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;는&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;다&lt;/span&gt;)&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;brew&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;install&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;appledoc&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;설치가 완료되면, 'appledoc' 명령어를 입력해서 제대로 설치가 되었는지 확인해보자.&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-monokai&quot;&gt;&lt;div class=&quot;ace_static_highlight ace_show_gutter&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;appledoc&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;appledoc&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;version&lt;/span&gt;: &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;2.2.1&lt;/span&gt; &lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;build&lt;/span&gt; &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;1334&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;Caught&lt;/span&gt;: &lt;span class=&quot;ace_identifier&quot;&gt;AppledocException&lt;/span&gt;: &lt;span class=&quot;ace_identifier&quot;&gt;At&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;least&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;one&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;directory&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;or&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;file&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;name&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;path&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;is&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;required&lt;/span&gt;, &lt;span class=&quot;ace_identifier&quot;&gt;use&lt;/span&gt; &lt;span class=&quot;ace_string ace_start&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;appledoc --help&lt;/span&gt;&lt;span class=&quot;ace_string ace_end&quot;&gt;'&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;Appledoc 설치가 완료되면 바로 문서를 생성할 수 있다.&lt;div&gt;하지만, 바로 사용하려면 command에 여러가지 옵션들을 넣어서 실행을 해야 하기 때문에 프로젝트 내부에 문서화 옵션들을 미리 정의해놓고 사용하는 방법들을 알아보자.&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;미리 정의하지 않고 사용하면 아래처럼 사용해야 한다.&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-monokai&quot;&gt;&lt;div class=&quot;ace_static_highlight ace_show_gutter&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;appledoc&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;project&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;name&lt;/span&gt; &lt;span class=&quot;ace_string ace_start&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;프&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;로&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;젝&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;트&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;명&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;ace_string ace_end&quot;&gt;'&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;project&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;company&lt;/span&gt; &lt;span class=&quot;ace_string ace_start&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;회&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;사&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;명&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;ace_string ace_end&quot;&gt;'&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;template&lt;/span&gt; &lt;span class=&quot;ace_paren ace_lparen&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;탬&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;플&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;릿&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;경&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;로&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;}&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;create&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;html&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;output&lt;/span&gt; &lt;span class=&quot;ace_string ace_start&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;결&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;과&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;물&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;경&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;로&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;ace_string ace_end&quot;&gt;'&lt;/span&gt; .
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_comment&quot;&gt;# &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;위&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;의&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;명&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;령&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;어&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;는&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;기&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;본&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;적&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;인&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;설&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;정&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;들&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;만&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;정&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;의&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;한&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;상&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;태&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;이&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;고&lt;/span&gt;, &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;옵&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;션&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;들&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;이&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;추&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;가&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;될&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;수&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;록&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;명&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;령&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;어&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;가&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;어&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;마&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;어&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;마&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;하&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;게&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;늘&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;어&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;난&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;다&lt;/span&gt;.&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h3&gt;프로젝트 내부 문서화 옵션 정의&lt;/h3&gt;&lt;div&gt;&lt;div&gt;문서화 옵션을 프로젝트내에 정의하는 방법은 plist 파일 추가, run script 추가 두가지 방법이 있다.&lt;/div&gt;&lt;div&gt;plist 파일을 생성하면 문서화 관련 옵션들을 plist로 쉽게 관리할 수 있는 장점이 있고,&lt;/div&gt;&lt;div&gt;run script를 사용하면 터미널을 열지 않고 문서화 타겟을 생성하여 빌드하면서 바로 문서를 생성할 수 있는 장점이 있다.&lt;/div&gt;&lt;div&gt;우선 두가지 모두 생성/사용 방법을 알아보자.&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;b&gt;0. 공통&lt;/b&gt;&lt;div&gt;설정 가능한 전체 옵션이 궁금하다면 터미널에서 아래 명령어로 확인 가능하다.&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-monokai&quot;&gt;&lt;div class=&quot;ace_static_highlight ace_show_gutter&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;appledoc&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;ace_support ace_function ace_builtin&quot;&gt;help&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-monokai&quot;&gt;&lt;div class=&quot;ace_static_highlight ace_show_gutter&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;Usage&lt;/span&gt;: &lt;span class=&quot;ace_identifier&quot;&gt;appledoc&lt;/span&gt; &lt;span class=&quot;ace_paren ace_lparen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;OPTIONS&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;paths&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;to&lt;/span&gt; &lt;span class=&quot;ace_support ace_function ace_builtin&quot;&gt;source&lt;/span&gt; &lt;span class=&quot;ace_support ace_function ace_builtin&quot;&gt;dirs&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;or&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;files&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;PATHS&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;  &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;o&lt;/span&gt;, &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;output&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;path&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;gt;&lt;/span&gt;                     &lt;span class=&quot;ace_identifier&quot;&gt;Output&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;path&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;  &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;t&lt;/span&gt;, &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;templates&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;path&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;gt;&lt;/span&gt;                  &lt;span class=&quot;ace_identifier&quot;&gt;Template&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;files&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;path&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;  &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;docset&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;install&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;path&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;path&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;gt;&lt;/span&gt;        &lt;span class=&quot;ace_identifier&quot;&gt;DocSet&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;installation&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;path&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;  &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;s&lt;/span&gt;, &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;include&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;path&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;gt;&lt;/span&gt;                    &lt;span class=&quot;ace_identifier&quot;&gt;Include&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;static&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;doc&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;s&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;at&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;path&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;  &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;i&lt;/span&gt;, &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;ignore&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;path&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;gt;&lt;/span&gt;                     &lt;span class=&quot;ace_identifier&quot;&gt;Ignore&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;given&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;path&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;  &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;x&lt;/span&gt;, &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;exclude&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;output&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;path&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;gt;&lt;/span&gt;             &lt;span class=&quot;ace_identifier&quot;&gt;Exclude&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;given&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;path&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;from&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;output&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;  &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;index&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;desc&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;path&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;gt;&lt;/span&gt;                 &lt;span class=&quot;ace_identifier&quot;&gt;File&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;including&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;main&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;index&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;description&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;PROJECT&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;INFO&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;  &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;p&lt;/span&gt;, &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;project&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;name&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;string&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;gt;&lt;/span&gt;             &lt;span class=&quot;ace_identifier&quot;&gt;Project&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;name&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;  &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;v&lt;/span&gt;, &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;project&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;version&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;string&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;gt;&lt;/span&gt;          &lt;span class=&quot;ace_identifier&quot;&gt;Project&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;version&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;  &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;c&lt;/span&gt;, &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;project&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;company&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;string&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;gt;&lt;/span&gt;          &lt;span class=&quot;ace_identifier&quot;&gt;Project&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;company&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;  &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;company&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;id&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;string&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;gt;&lt;/span&gt;               &lt;span class=&quot;ace_identifier&quot;&gt;Company&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;UTI&lt;/span&gt; &lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;i&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;e&lt;/span&gt;. &lt;span class=&quot;ace_identifier&quot;&gt;reverse&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;DNS&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;name&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;OUTPUT&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;GENERATION&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;  &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;h&lt;/span&gt;, &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;create&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;html&lt;/span&gt;                       &lt;span class=&quot;ace_paren ace_lparen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;b&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;Create&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;HTML&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;  &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;m&lt;/span&gt;, &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;create&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;markdown&lt;/span&gt;                   &lt;span class=&quot;ace_paren ace_lparen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;b&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;Create&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;markdown&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;  &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;d&lt;/span&gt;, &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;create&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;docset&lt;/span&gt;                     &lt;span class=&quot;ace_paren ace_lparen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;b&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;Create&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;documentation&lt;/span&gt; &lt;span class=&quot;ace_support ace_function ace_builtin&quot;&gt;set&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;  &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;n&lt;/span&gt;, &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;install&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;docset&lt;/span&gt;                    &lt;span class=&quot;ace_paren ace_lparen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;b&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;Install&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;documentation&lt;/span&gt; &lt;span class=&quot;ace_support ace_function ace_builtin&quot;&gt;set&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;to&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;Xcode&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;  &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;u&lt;/span&gt;, &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;publish&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;docset&lt;/span&gt;                    &lt;span class=&quot;ace_paren ace_lparen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;b&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;Prepare&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;DocSet&lt;/span&gt; &lt;span class=&quot;ace_keyword&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;publishing&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;  &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;html&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;anchors&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;string&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;gt;&lt;/span&gt;             &lt;span class=&quot;ace_paren ace_lparen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;The&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;html&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;anchor&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;format&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;to&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;use&lt;/span&gt; &lt;span class=&quot;ace_keyword&quot;&gt;in&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;DocSet&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;HTML&lt;/span&gt;.
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;  &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;clean&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;output&lt;/span&gt;                      &lt;span class=&quot;ace_paren ace_lparen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;b&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;Remove&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;contents&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;of&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;output&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;path&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;before&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;starting&lt;/span&gt; !!&lt;span class=&quot;ace_identifier&quot;&gt;CAUTION&lt;/span&gt;!!
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;OPTIONS&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;  &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;keep&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;intermediate&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;files&lt;/span&gt;           &lt;span class=&quot;ace_paren ace_lparen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;b&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;Keep&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;intermediate&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;files&lt;/span&gt; &lt;span class=&quot;ace_keyword&quot;&gt;in&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;output&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;path&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;  &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;keep&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;undocumented&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;objects&lt;/span&gt;         &lt;span class=&quot;ace_paren ace_lparen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;b&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;Keep&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;undocumented&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;objects&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;  &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;keep&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;undocumented&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;members&lt;/span&gt;         &lt;span class=&quot;ace_paren ace_lparen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;b&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;Keep&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;undocumented&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;members&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;  &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;search&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;undocumented&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;doc&lt;/span&gt;           &lt;span class=&quot;ace_paren ace_lparen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;b&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;Search&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;undocumented&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;members&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;documentati&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;...
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;div&gt;&lt;b&gt;1. plist 사용&lt;/b&gt;&lt;/div&gt;&lt;div&gt;appledoc 오픈소스를 받으면 폴더내에 AppledocSettings.plist 라는 파일이 존재한다.&amp;nbsp;&lt;/div&gt;&lt;div&gt;직접 생성해도 전혀 문제는 없지만, 귀찮으니 있는 파일을 이용하도록 하자.&lt;/div&gt;&lt;div&gt;파일은 문서화를 하려는 프로젝트 root에 위치시키면 된다. (참고로 파일명은 AppledocSettings.plist 에서 바꿀 경우 설정을 변경해줘야 하므로 변경없이 쓰도록 하자)&lt;/div&gt;&lt;div&gt;plist파일은 터미널에서 명령어를 직접 입력할때 사용된다. (= 문서화를 터미널 명령어로 실행해야 한다)&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;div&gt;아래 는 plist의 내부 모습이다. 각각 옵션값들이 어떤 역할을 하는지는 주석을 확인하자.&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-monokai&quot;&gt;&lt;div class=&quot;ace_static_highlight ace_show_gutter&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_xml-decl ace_xml&quot;&gt;&amp;lt;?&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_xml-decl ace_xml&quot;&gt;xml&lt;/span&gt;&lt;span class=&quot;ace_text ace_whitespace ace_xml&quot;&gt; &lt;/span&gt;&lt;span class=&quot;ace_entity ace_other ace_attribute-name ace_decl-attribute-name ace_xml&quot;&gt;version&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator ace_decl-attribute-equals ace_xml&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;ace_string ace_xml&quot;&gt;&quot;1.0&quot;&lt;/span&gt;&lt;span class=&quot;ace_text ace_whitespace ace_xml&quot;&gt; &lt;/span&gt;&lt;span class=&quot;ace_entity ace_other ace_attribute-name ace_decl-attribute-name ace_xml&quot;&gt;encoding&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator ace_decl-attribute-equals ace_xml&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;ace_string ace_xml&quot;&gt;&quot;UTF-8&quot;&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_xml-decl ace_xml&quot;&gt;?&amp;gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_xml-pe ace_doctype ace_xml&quot;&gt;&amp;lt;!&lt;/span&gt;&lt;span class=&quot;ace_xml-pe ace_doctype ace_xml&quot;&gt;DOCTYPE&lt;/span&gt;&lt;span class=&quot;ace_text ace_whitespace ace_xml&quot;&gt; &lt;/span&gt;&lt;span class=&quot;ace_xml-pe ace_xml&quot;&gt;plist&lt;/span&gt;&lt;span class=&quot;ace_text ace_whitespace ace_xml&quot;&gt; &lt;/span&gt;&lt;span class=&quot;ace_xml-pe ace_xml&quot;&gt;PUBLIC&lt;/span&gt;&lt;span class=&quot;ace_text ace_whitespace ace_xml&quot;&gt; &lt;/span&gt;&lt;span class=&quot;ace_string ace_xml&quot;&gt;&quot;-//Apple//DTD PLIST 1.0//EN&quot;&lt;/span&gt;&lt;span class=&quot;ace_text ace_whitespace ace_xml&quot;&gt; &lt;/span&gt;&lt;span class=&quot;ace_string ace_xml&quot;&gt;&quot;http://www.apple.com/DTDs/PropertyList-1.0.dtd&quot;&lt;/span&gt;&lt;span class=&quot;ace_xml-pe ace_doctype ace_xml&quot;&gt;&amp;gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-open ace_xml&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_tag-name ace_xml&quot;&gt;plist&lt;/span&gt;&lt;span class=&quot;ace_text ace_tag-whitespace ace_xml&quot;&gt; &lt;/span&gt;&lt;span class=&quot;ace_entity ace_other ace_attribute-name ace_xml&quot;&gt;version&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator ace_attribute-equals ace_xml&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;ace_string ace_attribute-value ace_xml&quot;&gt;&quot;1.0&quot;&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-close ace_xml&quot;&gt;&amp;gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-open ace_xml&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_tag-name ace_xml&quot;&gt;dict&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-close ace_xml&quot;&gt;&amp;gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_text ace_xml&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_comment ace_xml&quot;&gt;&amp;lt;!-- Paths --&amp;gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_text ace_xml&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-open ace_xml&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_tag-name ace_xml&quot;&gt;key&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-close ace_xml&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;ace_text ace_xml&quot;&gt;--output&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_end-tag-open ace_xml&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_tag-name ace_xml&quot;&gt;key&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-close ace_xml&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;ace_text ace_xml&quot;&gt; &lt;/span&gt;&lt;span class=&quot;ace_comment ace_xml&quot;&gt;&amp;lt;!-- &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;문&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;서&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;화&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;결&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;과&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;산&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;출&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;물&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;경&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;로&lt;/span&gt; --&amp;gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_text ace_xml&quot;&gt;        &lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-open ace_xml&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_tag-name ace_xml&quot;&gt;string&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-close ace_xml&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;ace_text ace_xml&quot;&gt;./help&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_end-tag-open ace_xml&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_tag-name ace_xml&quot;&gt;string&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-close ace_xml&quot;&gt;&amp;gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_text ace_xml&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-open ace_xml&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_tag-name ace_xml&quot;&gt;key&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-close ace_xml&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;ace_text ace_xml&quot;&gt;--templates&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_end-tag-open ace_xml&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_tag-name ace_xml&quot;&gt;key&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-close ace_xml&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;ace_text ace_xml&quot;&gt; &lt;/span&gt;&lt;span class=&quot;ace_comment ace_xml&quot;&gt;&amp;lt;!-- &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;탬&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;플&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;릿&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;경&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;로&lt;/span&gt; (&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;제&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;거&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;하&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;면&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;기&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;본&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;탬&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;플&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;릿&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;사&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;용&lt;/span&gt;) --&amp;gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_text ace_xml&quot;&gt;        &lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-open ace_xml&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_tag-name ace_xml&quot;&gt;string&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-close ace_xml&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;ace_text ace_xml&quot;&gt;~./appledoc-jazzy&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_end-tag-open ace_xml&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_tag-name ace_xml&quot;&gt;string&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-close ace_xml&quot;&gt;&amp;gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_text ace_xml&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-open ace_xml&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_tag-name ace_xml&quot;&gt;key&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-close ace_xml&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;ace_text ace_xml&quot;&gt;--include&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_end-tag-open ace_xml&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_tag-name ace_xml&quot;&gt;key&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-close ace_xml&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;ace_text ace_xml&quot;&gt; &lt;/span&gt;&lt;span class=&quot;ace_comment ace_xml&quot;&gt;&amp;lt;!-- &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;문&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;서&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;화&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;하&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;면&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;서&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;추&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;가&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;할&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;파&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;일&lt;/span&gt;, &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;폴&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;더&lt;/span&gt; --&amp;gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_text ace_xml&quot;&gt;        &lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-open ace_xml&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_tag-name ace_xml&quot;&gt;array&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-close ace_xml&quot;&gt;&amp;gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_text ace_xml&quot;&gt;            &lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-open ace_xml&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_tag-name ace_xml&quot;&gt;string&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-close ace_xml&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;ace_text ace_xml&quot;&gt;Libs/Internal&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_end-tag-open ace_xml&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_tag-name ace_xml&quot;&gt;string&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-close ace_xml&quot;&gt;&amp;gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_text ace_xml&quot;&gt;        &lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_end-tag-open ace_xml&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_tag-name ace_xml&quot;&gt;array&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-close ace_xml&quot;&gt;&amp;gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_text ace_xml&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-open ace_xml&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_tag-name ace_xml&quot;&gt;key&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-close ace_xml&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;ace_text ace_xml&quot;&gt;--ignore&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_end-tag-open ace_xml&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_tag-name ace_xml&quot;&gt;key&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-close ace_xml&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;ace_text ace_xml&quot;&gt; &lt;/span&gt;&lt;span class=&quot;ace_comment ace_xml&quot;&gt;&amp;lt;!-- &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;문&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;서&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;화&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;하&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;면&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;서&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;무&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;시&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;할&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;파&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;일&lt;/span&gt;, &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;폴&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;더&lt;/span&gt; --&amp;gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_text ace_xml&quot;&gt;        &lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-open ace_xml&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_tag-name ace_xml&quot;&gt;array&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-close ace_xml&quot;&gt;&amp;gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_text ace_xml&quot;&gt;            &lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-open ace_xml&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_tag-name ace_xml&quot;&gt;string&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-close ace_xml&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;ace_text ace_xml&quot;&gt;Libs/External&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_end-tag-open ace_xml&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_tag-name ace_xml&quot;&gt;string&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-close ace_xml&quot;&gt;&amp;gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_text ace_xml&quot;&gt;            &lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-open ace_xml&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_tag-name ace_xml&quot;&gt;string&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-close ace_xml&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;ace_text ace_xml&quot;&gt;*.framework&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_end-tag-open ace_xml&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_tag-name ace_xml&quot;&gt;string&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-close ace_xml&quot;&gt;&amp;gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_text ace_xml&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-open ace_xml&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_tag-name ace_xml&quot;&gt;string&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-close ace_xml&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;ace_text ace_xml&quot;&gt;Pods&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_end-tag-open ace_xml&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_tag-name ace_xml&quot;&gt;string&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-close ace_xml&quot;&gt;&amp;gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_text ace_xml&quot;&gt;        &lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_end-tag-open ace_xml&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_tag-name ace_xml&quot;&gt;array&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-close ace_xml&quot;&gt;&amp;gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_text ace_xml&quot;&gt;    &lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_text ace_xml&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_comment ace_xml&quot;&gt;&amp;lt;!-- Output generation --&amp;gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_text ace_xml&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-open ace_xml&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_tag-name ace_xml&quot;&gt;key&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-close ace_xml&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;ace_text ace_xml&quot;&gt;--create-html&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_end-tag-open ace_xml&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_tag-name ace_xml&quot;&gt;key&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-close ace_xml&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;ace_text ace_xml&quot;&gt; &lt;/span&gt;&lt;span class=&quot;ace_comment ace_xml&quot;&gt;&amp;lt;!-- HTML &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;문&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;서&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;생&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;성&lt;/span&gt; --&amp;gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_text ace_xml&quot;&gt;        &lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-open ace_xml&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_tag-name ace_xml&quot;&gt;true&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-close ace_xml&quot;&gt;/&amp;gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_text ace_xml&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-open ace_xml&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_tag-name ace_xml&quot;&gt;key&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-close ace_xml&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;ace_text ace_xml&quot;&gt;--create-markdown&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_end-tag-open ace_xml&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_tag-name ace_xml&quot;&gt;key&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-close ace_xml&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;ace_text ace_xml&quot;&gt; &lt;/span&gt;&lt;span class=&quot;ace_comment ace_xml&quot;&gt;&amp;lt;!-- markdown &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;문&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;서&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;생&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;성&lt;/span&gt; --&amp;gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_text ace_xml&quot;&gt;        &lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-open ace_xml&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_tag-name ace_xml&quot;&gt;true&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-close ace_xml&quot;&gt;/&amp;gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_text ace_xml&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-open ace_xml&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_tag-name ace_xml&quot;&gt;key&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-close ace_xml&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;ace_text ace_xml&quot;&gt;--create-docset&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_end-tag-open ace_xml&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_tag-name ace_xml&quot;&gt;key&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-close ace_xml&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;ace_text ace_xml&quot;&gt; &lt;/span&gt;&lt;span class=&quot;ace_comment ace_xml&quot;&gt;&amp;lt;!-- Documentation set &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;생&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;성&lt;/span&gt; --&amp;gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_text ace_xml&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-open ace_xml&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_tag-name ace_xml&quot;&gt;true&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-close ace_xml&quot;&gt;/&amp;gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_text ace_xml&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-open ace_xml&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_tag-name ace_xml&quot;&gt;key&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-close ace_xml&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;ace_text ace_xml&quot;&gt;--install-docset&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_end-tag-open ace_xml&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_tag-name ace_xml&quot;&gt;key&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-close ace_xml&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;ace_text ace_xml&quot;&gt; &lt;/span&gt;&lt;span class=&quot;ace_comment ace_xml&quot;&gt;&amp;lt;!-- &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;생&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;성&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;된&lt;/span&gt; DocSet&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;을&lt;/span&gt; Xcode&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;에&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;설&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;치&lt;/span&gt; --&amp;gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_text ace_xml&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-open ace_xml&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_tag-name ace_xml&quot;&gt;true&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-close ace_xml&quot;&gt;/&amp;gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_text ace_xml&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-open ace_xml&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_tag-name ace_xml&quot;&gt;key&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-close ace_xml&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;ace_text ace_xml&quot;&gt;--clean-output&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_end-tag-open ace_xml&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_tag-name ace_xml&quot;&gt;key&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-close ace_xml&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;ace_text ace_xml&quot;&gt; &lt;/span&gt;&lt;span class=&quot;ace_comment ace_xml&quot;&gt;&amp;lt;!-- &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;기&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;존&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;결&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;과&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;물&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;제&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;거&lt;/span&gt; (&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;문&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;서&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;화&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;생&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;성&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;시&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;작&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;전&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;에&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;해&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;주&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;자&lt;/span&gt;!!) --&amp;gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_text ace_xml&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-open ace_xml&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_tag-name ace_xml&quot;&gt;true&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-close ace_xml&quot;&gt;/&amp;gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_text ace_xml&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_comment ace_xml&quot;&gt;&amp;lt;!-- Project Info --&amp;gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_text ace_xml&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-open ace_xml&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_tag-name ace_xml&quot;&gt;key&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-close ace_xml&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;ace_text ace_xml&quot;&gt;--project-name&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_end-tag-open ace_xml&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_tag-name ace_xml&quot;&gt;key&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-close ace_xml&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;ace_text ace_xml&quot;&gt; &lt;/span&gt;&lt;span class=&quot;ace_comment ace_xml&quot;&gt;&amp;lt;!-- &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;프&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;로&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;젝&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;트&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;명&lt;/span&gt; --&amp;gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_text ace_xml&quot;&gt;        &lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-open ace_xml&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_tag-name ace_xml&quot;&gt;string&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-close ace_xml&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;ace_text ace_xml&quot;&gt;AppleDoc Example&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_end-tag-open ace_xml&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_tag-name ace_xml&quot;&gt;string&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-close ace_xml&quot;&gt;&amp;gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_text ace_xml&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-open ace_xml&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_tag-name ace_xml&quot;&gt;key&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-close ace_xml&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;ace_text ace_xml&quot;&gt;--project-version&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_end-tag-open ace_xml&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_tag-name ace_xml&quot;&gt;key&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-close ace_xml&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;ace_text ace_xml&quot;&gt; &lt;/span&gt;&lt;span class=&quot;ace_comment ace_xml&quot;&gt;&amp;lt;!-- &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;프&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;로&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;젝&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;트&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;버&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;전&lt;/span&gt; --&amp;gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_text ace_xml&quot;&gt;        &lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-open ace_xml&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_tag-name ace_xml&quot;&gt;string&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-close ace_xml&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;ace_text ace_xml&quot;&gt;1.0.0&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_end-tag-open ace_xml&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_tag-name ace_xml&quot;&gt;string&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-close ace_xml&quot;&gt;&amp;gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_text ace_xml&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-open ace_xml&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_tag-name ace_xml&quot;&gt;key&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-close ace_xml&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;ace_text ace_xml&quot;&gt;--project-company&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_end-tag-open ace_xml&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_tag-name ace_xml&quot;&gt;key&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-close ace_xml&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;ace_text ace_xml&quot;&gt; &lt;/span&gt;&lt;span class=&quot;ace_comment ace_xml&quot;&gt;&amp;lt;!-- &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;회&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;사&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;명&lt;/span&gt; --&amp;gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_text ace_xml&quot;&gt;        &lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-open ace_xml&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_tag-name ace_xml&quot;&gt;string&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-close ace_xml&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;ace_text ace_xml&quot;&gt;Tez Lab.&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_end-tag-open ace_xml&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_tag-name ace_xml&quot;&gt;string&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-close ace_xml&quot;&gt;&amp;gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_text ace_xml&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-open ace_xml&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_tag-name ace_xml&quot;&gt;key&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-close ace_xml&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;ace_text ace_xml&quot;&gt;--company-id&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_end-tag-open ace_xml&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_tag-name ace_xml&quot;&gt;key&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-close ace_xml&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;ace_text ace_xml&quot;&gt; &lt;/span&gt;&lt;span class=&quot;ace_comment ace_xml&quot;&gt;&amp;lt;!-- Bundle id --&amp;gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_text ace_xml&quot;&gt;        &lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-open ace_xml&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_tag-name ace_xml&quot;&gt;string&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-close ace_xml&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;ace_text ace_xml&quot;&gt;kr.tez.appledoc.exam&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_end-tag-open ace_xml&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_tag-name ace_xml&quot;&gt;string&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-close ace_xml&quot;&gt;&amp;gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_text ace_xml&quot;&gt;        &lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_text ace_xml&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_comment ace_xml&quot;&gt;&amp;lt;!-- Options --&amp;gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_text ace_xml&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-open ace_xml&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_tag-name ace_xml&quot;&gt;key&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-close ace_xml&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;ace_text ace_xml&quot;&gt;--keep-intermediate-files&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_end-tag-open ace_xml&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_tag-name ace_xml&quot;&gt;key&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-close ace_xml&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;ace_text ace_xml&quot;&gt; &lt;/span&gt;&lt;span class=&quot;ace_comment ace_xml&quot;&gt;&amp;lt;!-- --&amp;gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_text ace_xml&quot;&gt;        &lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-open ace_xml&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_tag-name ace_xml&quot;&gt;true&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-close ace_xml&quot;&gt;/&amp;gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_text ace_xml&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-open ace_xml&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_tag-name ace_xml&quot;&gt;key&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-close ace_xml&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;ace_text ace_xml&quot;&gt;--print-information-block-titles&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_end-tag-open ace_xml&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_tag-name ace_xml&quot;&gt;key&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-close ace_xml&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;ace_text ace_xml&quot;&gt; &lt;/span&gt;&lt;span class=&quot;ace_comment ace_xml&quot;&gt;&amp;lt;!-- &quot;Note:&quot;, &quot;Warning:&quot;, &quot;TODO:&quot; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;같&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;은&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;블&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;록&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;을&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;출&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;력&lt;/span&gt;--&amp;gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_text ace_xml&quot;&gt;        &lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-open ace_xml&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_tag-name ace_xml&quot;&gt;true&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-close ace_xml&quot;&gt;/&amp;gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_text ace_xml&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-open ace_xml&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_tag-name ace_xml&quot;&gt;key&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-close ace_xml&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;ace_text ace_xml&quot;&gt;--preprocess-headerdoc&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_end-tag-open ace_xml&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_tag-name ace_xml&quot;&gt;key&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-close ace_xml&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;ace_text ace_xml&quot;&gt; &lt;/span&gt;&lt;span class=&quot;ace_comment ace_xml&quot;&gt;&amp;lt;!-- preprocess header &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;문&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;서&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;주&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;석&lt;/span&gt; --&amp;gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_text ace_xml&quot;&gt;        &lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-open ace_xml&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_tag-name ace_xml&quot;&gt;true&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-close ace_xml&quot;&gt;/&amp;gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_text ace_xml&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-open ace_xml&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_tag-name ace_xml&quot;&gt;key&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-close ace_xml&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;ace_text ace_xml&quot;&gt;--repeat-first-par&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_end-tag-open ace_xml&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_tag-name ace_xml&quot;&gt;key&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-close ace_xml&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;ace_text ace_xml&quot;&gt; &lt;/span&gt;&lt;span class=&quot;ace_comment ace_xml&quot;&gt;&amp;lt;!-- Repeat first paragraph in member documentation --&amp;gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_text ace_xml&quot;&gt;        &lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-open ace_xml&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_tag-name ace_xml&quot;&gt;true&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-close ace_xml&quot;&gt;/&amp;gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_text ace_xml&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-open ace_xml&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_tag-name ace_xml&quot;&gt;key&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-close ace_xml&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;ace_text ace_xml&quot;&gt;--merge-categories&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_end-tag-open ace_xml&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_tag-name ace_xml&quot;&gt;key&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-close ace_xml&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;ace_text ace_xml&quot;&gt; &lt;/span&gt;&lt;span class=&quot;ace_comment ace_xml&quot;&gt;&amp;lt;!-- Category class&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;를&lt;/span&gt; base class&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;에&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;합&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;친&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;다&lt;/span&gt; --&amp;gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_text ace_xml&quot;&gt;        &lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-open ace_xml&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_tag-name ace_xml&quot;&gt;true&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-close ace_xml&quot;&gt;/&amp;gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_text ace_xml&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-open ace_xml&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_tag-name ace_xml&quot;&gt;key&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-close ace_xml&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;ace_text ace_xml&quot;&gt;--merge-category-comment&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_end-tag-open ace_xml&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_tag-name ace_xml&quot;&gt;key&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-close ace_xml&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;ace_text ace_xml&quot;&gt; &lt;/span&gt;&lt;span class=&quot;ace_comment ace_xml&quot;&gt;&amp;lt;!-- Category class &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;의&lt;/span&gt; comment&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;를&lt;/span&gt; base class&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;에&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;합&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;친&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;다&lt;/span&gt;  --&amp;gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_text ace_xml&quot;&gt;        &lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-open ace_xml&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_tag-name ace_xml&quot;&gt;true&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-close ace_xml&quot;&gt;/&amp;gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_text ace_xml&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-open ace_xml&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_tag-name ace_xml&quot;&gt;key&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-close ace_xml&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;ace_text ace_xml&quot;&gt;--keep-merged-sections&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_end-tag-open ace_xml&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_tag-name ace_xml&quot;&gt;key&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-close ace_xml&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;ace_text ace_xml&quot;&gt; &lt;/span&gt;&lt;span class=&quot;ace_comment ace_xml&quot;&gt;&amp;lt;!-- --&amp;gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_text ace_xml&quot;&gt;        &lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-open ace_xml&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_tag-name ace_xml&quot;&gt;true&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-close ace_xml&quot;&gt;/&amp;gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_text ace_xml&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-open ace_xml&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_tag-name ace_xml&quot;&gt;key&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-close ace_xml&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;ace_text ace_xml&quot;&gt;--prefix-merged-sections&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_end-tag-open ace_xml&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_tag-name ace_xml&quot;&gt;key&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-close ace_xml&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;ace_text ace_xml&quot;&gt; &lt;/span&gt;&lt;span class=&quot;ace_comment ace_xml&quot;&gt;&amp;lt;!-- &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;머&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;지&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;된&lt;/span&gt; category class &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;앞&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;에&lt;/span&gt; category &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;이&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;름&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;으&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;로&lt;/span&gt; prefix &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;를&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;추&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;가&lt;/span&gt; --&amp;gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_text ace_xml&quot;&gt;        &lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-open ace_xml&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_tag-name ace_xml&quot;&gt;true&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-close ace_xml&quot;&gt;/&amp;gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_text ace_xml&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-open ace_xml&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_tag-name ace_xml&quot;&gt;key&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-close ace_xml&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;ace_text ace_xml&quot;&gt;--explicit-crossref&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_end-tag-open ace_xml&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_tag-name ace_xml&quot;&gt;key&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-close ace_xml&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;ace_text ace_xml&quot;&gt; &lt;/span&gt;&lt;span class=&quot;ace_comment ace_xml&quot;&gt;&amp;lt;!-- &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;참&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;조&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;하&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;는&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;곳&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;바&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;로&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;가&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;기&lt;/span&gt; --&amp;gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_text ace_xml&quot;&gt;        &lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-open ace_xml&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_tag-name ace_xml&quot;&gt;true&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-close ace_xml&quot;&gt;/&amp;gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_text ace_xml&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-open ace_xml&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_tag-name ace_xml&quot;&gt;key&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-close ace_xml&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;ace_text ace_xml&quot;&gt;--use-code-order&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_end-tag-open ace_xml&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_tag-name ace_xml&quot;&gt;key&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-close ace_xml&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;ace_text ace_xml&quot;&gt; &lt;/span&gt;&lt;span class=&quot;ace_comment ace_xml&quot;&gt;&amp;lt;!-- Order sections by the order specified in the input files --&amp;gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_text ace_xml&quot;&gt;        &lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-open ace_xml&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_tag-name ace_xml&quot;&gt;true&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-close ace_xml&quot;&gt;/&amp;gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_text ace_xml&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-open ace_xml&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_tag-name ace_xml&quot;&gt;key&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-close ace_xml&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;ace_text ace_xml&quot;&gt;--docs-section-title&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_end-tag-open ace_xml&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_tag-name ace_xml&quot;&gt;key&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-close ace_xml&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;ace_text ace_xml&quot;&gt; &lt;/span&gt;&lt;span class=&quot;ace_comment ace_xml&quot;&gt;&amp;lt;!-- &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;문&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;서&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;섹&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;션&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;제&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;목&lt;/span&gt; (&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;기&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;본&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;값&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;은&lt;/span&gt; &quot;Programming Guides&quot;) --&amp;gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_text ace_xml&quot;&gt;        &lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-open ace_xml&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_tag-name ace_xml&quot;&gt;string&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-close ace_xml&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;ace_text ace_xml&quot;&gt;Tez Programming Guides &lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_end-tag-open ace_xml&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_tag-name ace_xml&quot;&gt;string&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-close ace_xml&quot;&gt;&amp;gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_text ace_xml&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-open ace_xml&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_tag-name ace_xml&quot;&gt;key&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-close ace_xml&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;ace_text ace_xml&quot;&gt;--exit-threshold&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_end-tag-open ace_xml&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_tag-name ace_xml&quot;&gt;key&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-close ace_xml&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;ace_text ace_xml&quot;&gt; &lt;/span&gt;&lt;span class=&quot;ace_comment ace_xml&quot;&gt;&amp;lt;!-- &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;종&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;료&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;기&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;준&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;점&lt;/span&gt; (0: Success!, 1: At least one warning was logged., 2: At least one error was logged., 3: At least one fatal error was logged., 250: Unhandled exception (Oops message). --&amp;gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_text ace_xml&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-open ace_xml&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_tag-name ace_xml&quot;&gt;integer&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-close ace_xml&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;ace_text ace_xml&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_end-tag-open ace_xml&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_tag-name ace_xml&quot;&gt;integer&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-close ace_xml&quot;&gt;&amp;gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_text ace_xml&quot;&gt;    &lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_text ace_xml&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_comment ace_xml&quot;&gt;&amp;lt;!-- MISCELLANEOUS --&amp;gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_text ace_xml&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-open ace_xml&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_tag-name ace_xml&quot;&gt;key&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-close ace_xml&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;ace_text ace_xml&quot;&gt;--logformat&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_end-tag-open ace_xml&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_tag-name ace_xml&quot;&gt;key&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-close ace_xml&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;ace_text ace_xml&quot;&gt; &lt;/span&gt;&lt;span class=&quot;ace_comment ace_xml&quot;&gt;&amp;lt;!-- Log format [0-3] --&amp;gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_text ace_xml&quot;&gt;        &lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-open ace_xml&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_tag-name ace_xml&quot;&gt;integer&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-close ace_xml&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;ace_text ace_xml&quot;&gt;3&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_end-tag-open ace_xml&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_tag-name ace_xml&quot;&gt;integer&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-close ace_xml&quot;&gt;&amp;gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_text ace_xml&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-open ace_xml&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_tag-name ace_xml&quot;&gt;key&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-close ace_xml&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;ace_text ace_xml&quot;&gt;--verbose&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_end-tag-open ace_xml&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_tag-name ace_xml&quot;&gt;key&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-close ace_xml&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;ace_text ace_xml&quot;&gt; &lt;/span&gt;&lt;span class=&quot;ace_comment ace_xml&quot;&gt;&amp;lt;!-- &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;문&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;서&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;화&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;과&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;정&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;에&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;서&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;노&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;출&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;되&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;는&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;로&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;그&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;레&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;벨&lt;/span&gt; (&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;높&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;을&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;수&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;록&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;세&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;부&lt;/span&gt;) [0-6, xcode] --&amp;gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_text ace_xml&quot;&gt;        &lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-open ace_xml&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_tag-name ace_xml&quot;&gt;string&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-close ace_xml&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;ace_text ace_xml&quot;&gt;6&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_end-tag-open ace_xml&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_tag-name ace_xml&quot;&gt;string&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-close ace_xml&quot;&gt;&amp;gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_end-tag-open ace_xml&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_tag-name ace_xml&quot;&gt;dict&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-close ace_xml&quot;&gt;&amp;gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_end-tag-open ace_xml&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_tag-name ace_xml&quot;&gt;plist&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-close ace_xml&quot;&gt;&amp;gt;&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;b&gt;2. RunScript&lt;/b&gt;&lt;div&gt;&lt;div&gt;run script를 사용하려면 프로젝트 타겟에 script를 추가해주어야 한다.&lt;/div&gt;&lt;div&gt;기존 타겟에 추가를 할 경우 다른 스크립트들과 충돌날 수도 있기 때문에 새로운 타겟을 하나 생성해서 추가하는게 정신건강에 이로울 수 있다.&lt;/div&gt;&lt;div&gt;정신건강을 위해 먼저 타겟 추가 방법을 알아보자.&lt;/div&gt;&lt;div&gt;프로젝트 설정 -&amp;gt; 타겟 쭉 아래쪽에 ‘+’버튼 -&amp;gt; Cross-platform -&amp;gt; Aggregate 선택 -&amp;gt; 네이밍은 마음대로 하고 Finish를 해주면 새로운 타겟이 생성된다.&lt;/div&gt;&lt;div&gt;이제 스크립트 추가 방법을 알아보자.&lt;/div&gt;&lt;div&gt;프로젝트 설정 -&amp;gt; 생성한 타겟 선택 -&amp;gt; Build Phases 에 ‘+’ 버튼을 눌러서 New Run Script Phases로 스크립트를 넣을 수 있도록 추가해주자&lt;/div&gt;&lt;div&gt;생성된 스크립트 입력 공간에 아래 정보를 자신의 프로젝트 설정에 맞춰서 넣어주도록 하자.&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-monokai&quot;&gt;&lt;div class=&quot;ace_static_highlight ace_show_gutter&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_comment&quot;&gt;#Appledoc Script&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;usr&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_keyword&quot;&gt;local&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;bin&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;appledoc&lt;/span&gt; \
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;clean&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;output&lt;/span&gt; \
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;output&lt;/span&gt; &lt;span class=&quot;ace_string&quot;&gt;&quot;./help&quot;&lt;/span&gt; \
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;templates&lt;/span&gt; &lt;span class=&quot;ace_string&quot;&gt;&quot;~/.appledoc&quot;&lt;/span&gt; \
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;ignore&lt;/span&gt; &lt;span class=&quot;ace_string&quot;&gt;&quot;*.framework&quot;&lt;/span&gt; \
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;create&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;html&lt;/span&gt; \
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;no&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;create&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;docset&lt;/span&gt; \
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;no&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;install&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;docset&lt;/span&gt; \
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;project&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;name&lt;/span&gt; &lt;span class=&quot;ace_string&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;ace_variable&quot;&gt;$&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;ace_variable&quot;&gt;PROJECT_NAME&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;&quot;&lt;/span&gt; \
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;project&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;version&lt;/span&gt; &lt;span class=&quot;ace_string&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;ace_variable&quot;&gt;$&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;ace_variable&quot;&gt;PROJECT_VERSION&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;&quot;&lt;/span&gt; \
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;project&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;company&lt;/span&gt; &lt;span class=&quot;ace_string&quot;&gt;&quot;Tez Lab.&quot;&lt;/span&gt; \
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;company&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;id&lt;/span&gt; &lt;span class=&quot;ace_string&quot;&gt;&quot;kr.tez.appledoc&quot;&lt;/span&gt; \
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;docset&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;platform&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;family&lt;/span&gt; &lt;span class=&quot;ace_string&quot;&gt;&quot;iphoneos&quot;&lt;/span&gt; \
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;keep&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;intermediate&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;files&lt;/span&gt; \
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;keep&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;undocumented&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;objects&lt;/span&gt; \
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;keep&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;undocumented&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;members&lt;/span&gt; \
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;search&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;undocumented&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;doc&lt;/span&gt; \
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;print&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;information&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;block&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;titles&lt;/span&gt; \
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;preprocess&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;headerdoc&lt;/span&gt; \
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;repeat&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;first&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;par&lt;/span&gt; \
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;merge&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;categories&lt;/span&gt; \
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;merge&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;category&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;comment&lt;/span&gt; \
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;keep&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;merged&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;sections&lt;/span&gt; \
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;prefix&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;merged&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;sections&lt;/span&gt; \
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;explicit&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;crossref&lt;/span&gt; \
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;use&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;code&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;order&lt;/span&gt; \
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;docs&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;section&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;title&lt;/span&gt; &lt;span class=&quot;ace_string&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;ace_variable&quot;&gt;$&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;ace_variable&quot;&gt;PROJECT_NAME&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt; Programming Guides &quot;&lt;/span&gt; \
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;ace_support ace_function ace_builtin&quot;&gt;exit&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;threshold&lt;/span&gt; &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;2&lt;/span&gt; \
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;no&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;warn&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;missing&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;output&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;path&lt;/span&gt; \
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;no&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;warn&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;missing&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;company&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;id&lt;/span&gt; \
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;warn&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;undocumented&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;object&lt;/span&gt; \
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;warn&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;undocumented&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;member&lt;/span&gt; \
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;warn&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;empty&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;description&lt;/span&gt; \
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;warn&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;unknown&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;directive&lt;/span&gt; \
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;warn&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;invalid&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;crossref&lt;/span&gt; \
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;warn&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;missing&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;arg&lt;/span&gt; \
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;warn&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;unsupported&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;typedef&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;enum&lt;/span&gt; \
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;logformat&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;xcode&lt;/span&gt; \
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;verbose&lt;/span&gt; &lt;span class=&quot;ace_string&quot;&gt;&quot;2&quot;&lt;/span&gt; \
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;.
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h3&gt;문서 생성&lt;/h3&gt;&lt;div&gt;plist를 사용한 경우와 script를 추가한 경우 모두 알아보자&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;b&gt;1. plist 사용&lt;/b&gt;&lt;div&gt;&lt;div&gt;위에서 언급한 것처럼 plist를 사용하면 터미널에서 명령어로 실행해 주어야 한다. (옵션을 모두 추가해 두었기 때문에 생각보다 복잡하지는 않다.)&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-monokai&quot;&gt;&lt;div class=&quot;ace_static_highlight ace_show_gutter&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;appledoc&lt;/span&gt; .
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;div&gt;이렇게 명령어를 입력하면 주르르륵 로그들이 나오고 문서가 생성된다.&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;b&gt;2. Script 사용&lt;/b&gt;&lt;div&gt;script 를 추가해둔 경우 target을 생성해 두었기 때문에 xcode 내에서 문서화를 위해 생성한 타겟 생성 후 build를 해주면 지정해둔 경로에 문서가 생성된다.&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h3&gt;Tip. 특정 폴더 추가/제거&lt;/h3&gt;&lt;div&gt;&lt;b&gt;1. 특정 폴더 제거&lt;/b&gt;&lt;/div&gt;&lt;div&gt;문서화를 하면서 특정 폴더를 제거하고 싶다면 ignore 옵션을 넣어주면 된다 (run script 기준)&lt;/div&gt;&lt;div&gt;(GenerateDoc 타겟의 Build Phases -&amp;gt; 작성해둔 Run script에서 제외할 경로들을 아래처럼 --ignore로 추가)&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-monokai&quot;&gt;&lt;div class=&quot;ace_static_highlight ace_show_gutter&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_comment&quot;&gt;#Appledoc Script&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;    ...
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;ignore&lt;/span&gt; &lt;span class=&quot;ace_string&quot;&gt;&quot;&amp;lt;path&amp;gt;&quot;&lt;/span&gt; \
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;    ...
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;b&gt;2. 특정 폴더 추가&lt;/b&gt;&lt;div&gt;문서화를 하면서 일부 폴더만 선택해서 문서화를 하고 싶다면, 마지막에 문서화 경로를 추가해주면 된다. (Run script 기준)&lt;/div&gt;&lt;div&gt;--include 옵션은 제대로 처리를 할 수 없어서 다른 방법으로 알아보자.&lt;br /&gt;&lt;/div&gt;&lt;div&gt;제거하기와 마찬가지로 Run script를 수정하는데, 일부 폴더 추가는 모든 폴더를 제외시키고 포함시킬 폴더를 전부 넣어주자. 아래 참조&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-monokai&quot;&gt;&lt;div class=&quot;ace_static_highlight ace_show_gutter&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_comment&quot;&gt;#Appledoc Script&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;    ...
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;ignore&lt;/span&gt; &lt;span class=&quot;ace_string&quot;&gt;&quot;.&quot;&lt;/span&gt; \
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;    ...
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;. \
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;path1&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;gt;&lt;/span&gt; \
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_gutter ace_gutter-cell&quot; unselectable=&quot;on&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;path2&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;gt;&lt;/span&gt; 
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h3&gt;Custom Templates&lt;/h3&gt;&lt;div&gt;&lt;div&gt;appledoc은 내부 탬플릿을 제공하기는 하지만, 사용자가 맞춤형으로 탬플릿을 수정하여 사용할 수 있다.&lt;/div&gt;&lt;div&gt;여기서는 간단히 오픈소스로 공유되고 있는 두가지 탬플릿만 알아보도록 하자.&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;div&gt;&lt;b&gt;1. jazzy&lt;/b&gt;&lt;/div&gt;&lt;div&gt;jazzy 탬플릿은 조금 더 애플 문서에 맞춤형으로 생성이 되어있는 탬플릿이다. 기본 제공되는 것보다 구성이 더 깔끔하게 정리되있는 정도라고 생각하면 된다.&lt;/div&gt;&lt;div&gt;https://github.com/kaiinui/appledoc-template-jazzy&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;div&gt;&lt;b&gt;2. tez-custom&lt;/b&gt;&lt;/div&gt;&lt;div&gt;이건 그냥 기본 탬플릿에 objective-c code syntax 적용한 버전이다. 함수나 변수들을 볼때 조금 더 직관적으로 보기 위해서 github에 추가해 두었다.&lt;/div&gt;&lt;div&gt;기존 문서에서 코드 부분에 조금 더 색을 입히고 싶을때 사용하면 된다.&lt;/div&gt;&lt;div&gt;https://github.com/tezpark/appledoc-custom-template&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;b&gt;ps. 코드내에 문서화 주석이 없으면 이 모든 작업이 아무 소용없다.&lt;/b&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;/div&gt;&lt;/div&gt;
      &lt;script&gt;&lt;/script&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>Programming/iOS - Support</category>
      <category>appledoc</category>
      <category>appledoc template</category>
      <category>AppledocSettings</category>
      <category>documentation</category>
      <category>ObjC</category>
      <category>Objective-C</category>
      <category>문서화</category>
      <author>Tez.Park</author>
      <guid isPermaLink="true">https://sham.tistory.com/169</guid>
      <comments>https://sham.tistory.com/169#entry169comment</comments>
      <pubDate>Tue, 8 May 2018 13:03:08 +0900</pubDate>
    </item>
    <item>
      <title>[NSArray] 배열에 있는 모든 객체에서 같은 함수 호출하기</title>
      <link>https://sham.tistory.com/170</link>
      <description>    
      &lt;meta charset=&quot;utf-8&quot;&gt;
      &lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;&gt;
      &lt;!-- common.css --&gt;
      &lt;style&gt;* {-webkit-tap-highlight-color: rgba(0,0,0,0);}html {-webkit-text-size-adjust: none;}body {font-family: -apple-system, Helvetica, Arial, sans-serif;margin: 0;padding: 20px;color: #333;word-wrap: break-word;}h1, h2, h3, h4, h5, h6 {line-height: 1.1;}img {max-width: 100% !important;height: auto;}blockquote {margin: 0;padding: 0 15px;color: #777;border-left: 4px solid #ddd;}hr {background-color: #ddd;border: 0;height: 1px;margin: 15px 0;}code {font-family: Menlo, Consolas, 'Ubuntu Mono', Monaco, 'source-code-pro', monospace;line-height: 1.4;margin: 0;padding: 0.2em 0;font-size: 90%;background-color: rgba(0,0,0,0.04);border-radius: 3px;}pre &gt; code {margin: 0;padding: 0;font-size: 100%;word-break: normal;background: transparent;border: 0;}ol {list-style-type: decimal;}ol ol, ul ol {list-style-type: lower-latin;}ol ol ol, ul ol ol, ul ul ol, ol ul ol {list-style-type: lower-roman;}table {border-spacing: 0;border-collapse: collapse;margin-top: 0;margin-bottom: 16px;}table th {font-weight: bold;}table th, table td {padding: 6px 13px;border: 1px solid #ddd;}table tr {border-top: 1px solid #ccc;}table tr:nth-child(even) {background-color: #f8f8f8;}input[type=&quot;checkbox&quot;] {cursor: default;margin-right: 0.5em;font-size: 13px;}.task-list-item {list-style-type: none;}.task-list-item+.task-list-item {margin-top: 3px;}.task-list-item input {float: left;margin: 0.3em 1em 0.25em -1.6em;vertical-align: middle;}#tag-field {margin: 8px 2px 10px;}#tag-field .tag {display: inline-block;background: #cadff3;border-radius: 4px;padding: 1px 8px;color: black;font-size: 12px;margin-right: 10px;line-height: 1.4;}&lt;/style&gt;
      &lt;!-- ace-static.css --&gt;
      &lt;style&gt;.ace_static_highlight {white-space: pre-wrap;}.ace_static_highlight .ace_gutter {width: 2em;text-align: right;padding: 0 3px 0 0;margin-right: 3px;}.ace_static_highlight.ace_show_gutter &gt; .ace_line {padding-left: 2.6em;}.ace_static_highlight .ace_line {position: relative;}.ace_static_highlight .ace_gutter-cell {-moz-user-select: -moz-none;-khtml-user-select: none;-webkit-user-select: none;user-select: none;top: 0;bottom: 0;left: 0;position: absolute;}.ace_static_highlight .ace_gutter-cell:before {content: counter(ace_line, decimal);counter-increment: ace_line;}.ace_static_highlight {counter-reset: ace_line;}&lt;/style&gt;
      &lt;style&gt;.ace-monokai .ace_gutter {background: #2F3129;color: #8F908A}.ace-monokai .ace_print-margin {width: 1px;background: #555651}.ace-monokai {background-color: #272822;color: #F8F8F2}.ace-monokai .ace_cursor {color: #F8F8F0}.ace-monokai .ace_marker-layer .ace_selection {background: #49483E}.ace-monokai.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px #272822;}.ace-monokai .ace_marker-layer .ace_step {background: rgb(102, 82, 0)}.ace-monokai .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid #49483E}.ace-monokai .ace_marker-layer .ace_active-line {background: #202020}.ace-monokai .ace_gutter-active-line {background-color: #272727}.ace-monokai .ace_marker-layer .ace_selected-word {border: 1px solid #49483E}.ace-monokai .ace_invisible {color: #52524d}.ace-monokai .ace_entity.ace_name.ace_tag,.ace-monokai .ace_keyword,.ace-monokai .ace_meta.ace_tag,.ace-monokai .ace_storage {color: #F92672}.ace-monokai .ace_punctuation,.ace-monokai .ace_punctuation.ace_tag {color: #fff}.ace-monokai .ace_constant.ace_character,.ace-monokai .ace_constant.ace_language,.ace-monokai .ace_constant.ace_numeric,.ace-monokai .ace_constant.ace_other {color: #AE81FF}.ace-monokai .ace_invalid {color: #F8F8F0;background-color: #F92672}.ace-monokai .ace_invalid.ace_deprecated {color: #F8F8F0;background-color: #AE81FF}.ace-monokai .ace_support.ace_constant,.ace-monokai .ace_support.ace_function {color: #66D9EF}.ace-monokai .ace_fold {background-color: #A6E22E;border-color: #F8F8F2}.ace-monokai .ace_storage.ace_type,.ace-monokai .ace_support.ace_class,.ace-monokai .ace_support.ace_type {font-style: italic;color: #66D9EF}.ace-monokai .ace_entity.ace_name.ace_function,.ace-monokai .ace_entity.ace_other,.ace-monokai .ace_entity.ace_other.ace_attribute-name,.ace-monokai .ace_variable {color: #A6E22E}.ace-monokai .ace_variable.ace_parameter {font-style: italic;color: #FD971F}.ace-monokai .ace_string {color: #E6DB74}.ace-monokai .ace_comment {color: #75715E}.ace-monokai .ace_indent-guide {background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWPQ0FD0ZXBzd/wPAAjVAoxeSgNeAAAAAElFTkSuQmCC) right repeat-y}&lt;/style&gt;
      &lt;!-- export.css --&gt;
      &lt;style&gt;
        body{margin:0 auto;max-width:100%;line-height:1.4}
        #nav{margin:5px 0 10px;font-size:15px}
        #titlearea{border-bottom:1px solid #ccc;font-size:17px;padding:10px 0;}
        #contentarea{font-size:15px;margin:16px 0}
        .cell{outline:0;min-height:20px;margin:5px 0;padding:5px 0;}
        .code-cell{font-family:Menlo,Consolas,'Ubuntu Mono',Monaco,'source-code-pro',monospace;font-size:12px;}
        .latex-cell{white-space:pre-wrap;}
      &lt;/style&gt;
      &lt;!-- User CSS --&gt;
      &lt;style&gt; .text-cell {font-size: 14px;}.code-cell {font-size: 12px;}.markdown-cell {font-size: 14px;}.latex-cell {font-size: 14px;}&lt;/style&gt;
    
    
      
      &lt;div id=&quot;contentarea&quot;&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h2&gt;Summary&lt;/h2&gt;&lt;div&gt;개발을 하다보면 여러 객체들을 배열형태로 관리하면서 모든 객체에 어떤 함수를 호출시키는 작업이 필요한 경우가 있다.&lt;/div&gt;&lt;div&gt;예를 들면 UIView 의 subViews를 호출하여 for문을 돌면서 모두 &lt;code&gt;removeFromSuperview&lt;/code&gt;를 하는게 있다.&lt;/div&gt;&lt;div&gt;이런 경우&amp;nbsp;&lt;code style=&quot;font-size: 11.699999809265137px;&quot;&gt;makeObjectsPerformSelector&lt;/code&gt;를 이용하면 쉽게 해결할 수 있다.&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h2&gt;Example&lt;/h2&gt;&lt;div&gt;UIView - removeFromSuperview&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-monokai&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;// Default&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword ace_control&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;UIView&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;view&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;in&lt;/span&gt; &lt;span class=&quot;ace_punctuation ace_section ace_scope ace_begin ace_objc&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;self&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;view&lt;/span&gt; &lt;span class=&quot;ace_support ace_function ace_any-method ace_objc&quot;&gt;subviews&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;])&lt;/span&gt; &lt;span class=&quot;ace_paren ace_lparen&quot;&gt;{&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;    &lt;span class=&quot;ace_punctuation ace_section ace_scope ace_begin ace_objc&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;view&lt;/span&gt; &lt;span class=&quot;ace_support ace_function ace_any-method ace_objc&quot;&gt;removeFromSuperview&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;}&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;// using makeObjectsPerformSelector&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_punctuation ace_section ace_scope ace_begin ace_objc&quot;&gt;[[&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;self&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;view&lt;/span&gt; &lt;span class=&quot;ace_support ace_function ace_any-method ace_objc&quot;&gt;subviews&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;makeObjectsPerformSelector&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_definition ace_storage ace_type ace_objc&quot;&gt;@selector&lt;/span&gt;&lt;span class=&quot;ace_punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_support ace_function ace_any-method ace_name-of-parameter ace_objc&quot;&gt;removeFromSuperview&lt;/span&gt;&lt;span class=&quot;ace_punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;;&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;ps. 이 예제 외에 다른 배열형태로 관리되는 객체들은 모두 적용이 가능해서 편리하게 사용할 수 있다.&lt;/div&gt;&lt;/div&gt;
      &lt;script&gt;&lt;/script&gt;
    
    &lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>Programming/iOS - ObjC</category>
      <category>makeObjectsPerformSelector</category>
      <category>ObjC</category>
      <category>Objective-C</category>
      <category>removeFromSuperview</category>
      <author>Tez.Park</author>
      <guid isPermaLink="true">https://sham.tistory.com/170</guid>
      <comments>https://sham.tistory.com/170#entry170comment</comments>
      <pubDate>Mon, 7 May 2018 17:46:09 +0900</pubDate>
    </item>
    <item>
      <title>[Fastlane] - 프로젝트 내부 배포 자동화</title>
      <link>https://sham.tistory.com/167</link>
      <description>&lt;meta charset=&quot;utf-8&quot;&gt;
      &lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;&gt;
      &lt;!-- common.css --&gt;
      &lt;style&gt;* {-webkit-tap-highlight-color: rgba(0,0,0,0);}html {-webkit-text-size-adjust: none;}body {font-family: -apple-system, Helvetica, Arial, sans-serif;margin: 0;padding: 20px;color: #333;word-wrap: break-word;}h1, h2, h3, h4, h5, h6 {line-height: 1.1;}img {max-width: 100% !important;}blockquote {margin: 0;padding: 0 15px;color: #777;border-left: 4px solid #ddd;}hr {background-color: #ddd;border: 0;height: 1px;margin: 15px 0;}code {font-family: Menlo, Consolas, 'Ubuntu Mono', Monaco, 'source-code-pro', monospace;line-height: 1.4;margin: 0;padding: 0.2em 0;font-size: 90%;background-color: rgba(0,0,0,0.04);border-radius: 3px;}pre &gt; code {margin: 0;padding: 0;font-size: 100%;word-break: normal;background: transparent;border: 0;}ol {list-style-type: decimal;}ol ol, ul ol {list-style-type: lower-latin;}ol ol ol, ul ol ol, ul ul ol, ol ul ol {list-style-type: lower-roman;}table {border-spacing: 0;border-collapse: collapse;margin-top: 0;margin-bottom: 16px;}table th {font-weight: bold;}table th, table td {padding: 6px 13px;border: 1px solid #ddd;}table tr {border-top: 1px solid #ccc;}table tr:nth-child(even) {background-color: #f8f8f8;}input[type=&quot;checkbox&quot;] {cursor: default;margin-right: 0.5em;font-size: 13px;}.task-list-item {list-style-type: none;}.task-list-item+.task-list-item {margin-top: 3px;}.task-list-item input {float: left;margin: 0.3em 1em 0.25em -1.6em;vertical-align: middle;}#tag-field {margin: 8px 2px 10px;}#tag-field .tag {display: inline-block;background: #cadff3;border-radius: 4px;padding: 1px 8px;color: black;font-size: 12px;margin-right: 10px;line-height: 1.4;}&lt;/style&gt;
      &lt;!-- ace-static.css --&gt;
      &lt;style&gt;.ace_static_highlight {white-space: pre-wrap;}.ace_static_highlight .ace_gutter {width: 2em;text-align: right;padding: 0 3px 0 0;margin-right: 3px;}.ace_static_highlight.ace_show_gutter &gt; .ace_line {padding-left: 2.6em;}.ace_static_highlight .ace_line {position: relative;}.ace_static_highlight .ace_gutter-cell {-moz-user-select: -moz-none;-khtml-user-select: none;-webkit-user-select: none;user-select: none;top: 0;bottom: 0;left: 0;position: absolute;}.ace_static_highlight .ace_gutter-cell:before {content: counter(ace_line, decimal);counter-increment: ace_line;}.ace_static_highlight {counter-reset: ace_line;}&lt;/style&gt;
      &lt;style&gt;.ace-idle-fingers .ace_gutter {background: #3b3b3b;color: rgb(153,153,153)}.ace-idle-fingers .ace_print-margin {width: 1px;background: #3b3b3b}.ace-idle-fingers {background-color: #323232;color: #FFFFFF}.ace-idle-fingers .ace_cursor {color: #91FF00}.ace-idle-fingers .ace_marker-layer .ace_selection {background: rgba(90, 100, 126, 0.88)}.ace-idle-fingers.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px #323232;}.ace-idle-fingers .ace_marker-layer .ace_step {background: rgb(102, 82, 0)}.ace-idle-fingers .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid #404040}.ace-idle-fingers .ace_marker-layer .ace_active-line {background: #353637}.ace-idle-fingers .ace_gutter-active-line {background-color: #353637}.ace-idle-fingers .ace_marker-layer .ace_selected-word {border: 1px solid rgba(90, 100, 126, 0.88)}.ace-idle-fingers .ace_invisible {color: #404040}.ace-idle-fingers .ace_keyword,.ace-idle-fingers .ace_meta {color: #CC7833}.ace-idle-fingers .ace_constant,.ace-idle-fingers .ace_constant.ace_character,.ace-idle-fingers .ace_constant.ace_character.ace_escape,.ace-idle-fingers .ace_constant.ace_other,.ace-idle-fingers .ace_support.ace_constant {color: #6C99BB}.ace-idle-fingers .ace_invalid {color: #FFFFFF;background-color: #FF0000}.ace-idle-fingers .ace_fold {background-color: #CC7833;border-color: #FFFFFF}.ace-idle-fingers .ace_support.ace_function {color: #B83426}.ace-idle-fingers .ace_variable.ace_parameter {font-style: italic}.ace-idle-fingers .ace_string {color: #A5C261}.ace-idle-fingers .ace_string.ace_regexp {color: #CCCC33}.ace-idle-fingers .ace_comment {font-style: italic;color: #BC9458}.ace-idle-fingers .ace_meta.ace_tag {color: #FFE5BB}.ace-idle-fingers .ace_entity.ace_name {color: #FFC66D}.ace-idle-fingers .ace_collab.ace_user1 {color: #323232;background-color: #FFF980}.ace-idle-fingers .ace_indent-guide {background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWMwMjLyZYiPj/8PAAreAwAI1+g0AAAAAElFTkSuQmCC) right repeat-y}&lt;/style&gt;
      &lt;!-- export.css --&gt;
      &lt;style&gt;
        body{margin:0 auto;max-width:100%;line-height:1.4}
        #nav{margin:5px 0 10px;font-size:15px}
        #titlearea{border-bottom:1px solid #ccc;font-size:17px;padding:10px 0;}
        #contentarea{font-size:15px;margin:16px 0}
        .cell{outline:0;min-height:20px;margin:5px 0;padding:5px 0;}
        .code-cell{font-family:Menlo,Consolas,'Ubuntu Mono',Monaco,'source-code-pro',monospace;font-size:12px;}
        .latex-cell{white-space:pre-wrap;}
      &lt;/style&gt;
      &lt;!-- User CSS --&gt;
      &lt;style&gt; .text-cell {font-size: 15px;}.code-cell {font-size: 12px;}.markdown-cell {font-size: 15px;}.latex-cell {font-size: 15px;}&lt;/style&gt;
    
    
      &lt;div id=&quot;contentarea&quot;&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h2&gt;Info&lt;/h2&gt;&lt;div&gt;iOS, Android 프로젝트에서 배포를 위해 아카이브 파일 (.ipa), 패키지파일 (.apk) 을 추출하고 업로드 및 공유하는데 귀찮은 작업들이 상당히 많다.&lt;/div&gt;&lt;div&gt;(iOS는 scheme 바꾸고, 아카이빙하고 파일 추출하고 업로드하고 공유하고.., 안드로이드도 뭐 작업중에는 뭘 할 수가 없으니까&amp;nbsp;)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;그래서 이런 귀찮은 작업을 좀 편하게 할 수 있는 방법을 찾다가 Fastlane 이라는 것을 찾다.&lt;/div&gt;&lt;div&gt;Fastlane 은 인증서 자동갱신, 스냅샷 추출, 아카이빙, crashlytics 배포, slack 공유, s3업로드, 테스트 플라이트, 앱스토어 등록 등등 다양한 동작을 하도록 구성할 수 있다.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;자세한 내용은 아래 fastlane 사이트를 참고하는걸로 하고..&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://fastlane.tools/&quot;&gt;https://fastlane.tools/&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://github.com/fastlane/fastlane&quot;&gt;https://github.com/fastlane/fastlane&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;일단은 내부 배포를 위하여 프로젝트 내에서 provisioning 파일을 생성/갱신, 테스트용 뱃지 추가, 아카이브 후 추출, aws-s3에 파일 업로드, Crashlytics 에 배포 파일 업로드, slack에 결과 공유 까지만 작업을 하는 방법을 소개하려고 한다.&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h2&gt;1. Fastlane 설치&lt;/h2&gt;&lt;div&gt;기능을 사용하기 위해서 mac에 fastlane을 설치 해야한다. 설치 방법은 세가지가 있으니 자신의 mac 에서 주로 사용하는 방법을 선택하여 설치를 진행하면 된다.&lt;/div&gt;&lt;div&gt;&lt;p style=&quot;margin: 10px 0px 0px; padding: 0px; font-family: Arial, sans-serif; font-size: 14px;&quot;&gt;(Homebrew 로 설치하면 fastlane 내부 ruby가 동작해서 작업이 귀찮아짐. ruby 모듈들을 fastlane 안에 ruby에 설치해줘야함. 맘편하게 Script로 설치하세요)&lt;/p&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;h3&gt;Homebrew&lt;/h3&gt;&lt;div&gt;&lt;p&gt;&lt;code style=&quot;font-size: 11.699999809265137px;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;$ brew cas&lt;/span&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;k install fastlane&lt;/span&gt;&lt;/code&gt;&lt;/p&gt;&lt;h3&gt;Installer Script&lt;/h3&gt;&lt;p&gt;&lt;font face=&quot;Menlo, Consolas, Ubuntu Mono, Monaco, source-code-pro, monospace&quot;&gt;&lt;span style=&quot;font-size:11pt;&quot;&gt;아래 링크&lt;/span&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;에서 zip 파일을 다운로드 받고, install 스크립트를 실행&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face=&quot;Menlo, Consolas, Ubuntu Mono, Monaco, source-code-pro, monospace&quot;&gt;&lt;span style=&quot;font-size: 11.699999809265137px;&quot;&gt;&lt;a href=&quot;https://download.fastlane.tools/fastlane.zip&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot;&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;http&lt;/span&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;s://download.fastlane.tools/fastlane.zip&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;h3&gt;&lt;font face=&quot;Menlo, Consolas, Ubuntu Mono, Monaco, source-code-pro, monospace&quot;&gt;Rubygems&lt;/font&gt;&lt;/h3&gt;&lt;p&gt;&lt;font face=&quot;Menlo, Consolas, Ubuntu Mono, Monaco, source-code-pro, monospace&quot;&gt;&lt;code style=&quot;font-size: 11.699999809265137px;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;$ sudo gem install fastlane -NV&lt;/span&gt;&lt;/code&gt;&lt;/font&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h2&gt;2. Fastlane 초기화&lt;/h2&gt;&lt;div&gt;Fastfile, Appfile, .env 파일을 직접 생성해서 작업을 해도 되지만 귀찮으니까 iOS혹은 Android 프로젝트 루트에서 아래 명령어로 관련 파일들을 생성해주자&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;# fastlane &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;초&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;기&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;화&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;fastlane&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;init&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;초기화 작업이 완료되면 &lt;code&gt;./fastlane&lt;/code&gt; 폴더 내부에 &lt;code&gt;Fastfile&lt;/code&gt;, &lt;code&gt;Appfile&lt;/code&gt;, &lt;code&gt;.env&lt;/code&gt; 파일이 생성되어 기본적인 준비가 된다.&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h2&gt;3. Plugin 설치 (aws_s3, badge) - optional&lt;/h2&gt;&lt;h3&gt;&lt;b&gt;Badge&lt;/b&gt;&lt;/h3&gt;&lt;div&gt;앱을 내부배포할 때 dev, stage등 여러가지 앱 스킴을 사용하는 경우들이 있는데 이럴경우 어떤 버전이 설치되어 있는지 직관적으로 알 수 있는 방법이 없다.&amp;nbsp;&lt;/div&gt;&lt;div&gt;그래서 badge 라는 plugin을 사용하여 앱 아이콘에 뱃지를 넣어주어 직관적인 버전 확인이 가능하도록 해줄 수 있다.&amp;nbsp;&lt;/div&gt;&lt;div&gt;아래를 참고하여 플러그인을 설치하고, 관련된 모듈들을 설치하도록 하자.&lt;/div&gt;&lt;div&gt;&lt;div&gt;더 자세한 내용은 아래 사이트를 참고하자&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://github.com/HazAT/badge&quot;&gt;https://github.com/HazAT/badge&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;# badge &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;플&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;러&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;그&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;인&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;설&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;치&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;fastlane&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;add_plugin&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;badge&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;# &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;관&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;련&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;모&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;듈&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;설&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;치&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;brew&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;install&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;imagemagick&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;brew&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;install&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;librsvh
&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h3&gt;&lt;b style=&quot;font-size: 15px;&quot;&gt;aws_s3&lt;/b&gt;&lt;/h3&gt;&lt;div&gt;내부 배포를 위한 파일 서버가 S3로 설정되어 있는 경우 아카이브 파일 (.ipa), 패키지파일 (.apk) 을 생성한 후 Amazon S3 Bucket 으로 바로 전송을 할 수가 있다.&lt;/div&gt;&lt;div&gt;이 기능을 사용하려면 아래를 참고하여 S3 플러그인을 설치하면 되고, 조금 더 자세한 정보 및 사용법은 아래 링크에서 확인하면 된다.&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://github.com/joshdholtz/fastlane-plugin-s3&quot;&gt;https://github.com/joshdholtz/fastlane-plugin-s3&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;# aws-s3 &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;플&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;러&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;그&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;인&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;설&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;치&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;fastlane&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;add_plugin&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;aws_s3&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h2&gt;4. Fastlane 파일 설정&lt;/h2&gt;&lt;div&gt;이제 fastlane 초기 세팅 작업들은 마무리가 되었고, 실제로 동작시킬 내용들을 추가하는 방법을 알아보도록 하자.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;h3&gt;&lt;b&gt;Fastfile&lt;/b&gt;&lt;/h3&gt;&lt;div&gt;우선 가장 핵심이 되는 &lt;code&gt;Fastfile&lt;/code&gt; 에 대해서 살펴보자.&amp;nbsp;&lt;/div&gt;&lt;div&gt;이 파일은 platform과 lane 을 설정하고 lane 별로 어떤 동작을 시킬지, lane 실행전/후에 어떤 동작을 수행할 지 설정하는 곳이다.&lt;/div&gt;&lt;div&gt;아래 예제 파일을 보면서 동작들을 확인해보자.&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;# More documentation about how to customize your build&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;# can be found here:&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;# https://docs.fastlane.tools&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;fastlane_version&lt;/span&gt; &lt;span class=&quot;ace_string ace_start&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;2.18.3&lt;/span&gt;&lt;span class=&quot;ace_string ace_end&quot;&gt;&quot;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;# This value helps us track success metrics for Fastfiles&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;# we automatically generate. Feel free to remove this line&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;# once you get things running smoothly!&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;generated_fastfile_id&lt;/span&gt; &lt;span class=&quot;ace_string ace_start&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx&lt;/span&gt;&lt;span class=&quot;ace_string ace_end&quot;&gt;&quot;&lt;/span&gt; &lt;span class=&quot;ace_comment&quot;&gt;# fastfile &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;생&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;성&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;시&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;설&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;정&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;됨&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;default_platform&lt;/span&gt; &lt;span class=&quot;ace_constant ace_other ace_symbol ace_ruby&quot;&gt;:ios&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;#######&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;# iOS #&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;#######&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;platform&lt;/span&gt; &lt;span class=&quot;ace_constant ace_other ace_symbol ace_ruby&quot;&gt;:ios&lt;/span&gt; &lt;span class=&quot;ace_keyword&quot;&gt;do&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;  &lt;span class=&quot;ace_identifier&quot;&gt;before_all&lt;/span&gt; &lt;span class=&quot;ace_keyword&quot;&gt;do&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;    &lt;span class=&quot;ace_comment&quot;&gt;# lane &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;실&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;행&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;전&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;수&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;행&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;할&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;동&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;작&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;을&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;설&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;정&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;해&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;줄&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;수&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;있&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;다&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;  &lt;span class=&quot;ace_keyword&quot;&gt;end&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;  
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;  &lt;span class=&quot;ace_comment&quot;&gt;##################################################&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;  &lt;span class=&quot;ace_comment&quot;&gt;# First iOS App Lanes - &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;계&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;정&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;정&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;보&lt;/span&gt; A&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;를&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;사&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;용&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;하&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;는&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;앱&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;  &lt;span class=&quot;ace_comment&quot;&gt;##################################################&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;  &lt;span class=&quot;ace_identifier&quot;&gt;lane&lt;/span&gt; &lt;span class=&quot;ace_constant ace_other ace_symbol ace_ruby&quot;&gt;:firstapp_debug&lt;/span&gt; &lt;span class=&quot;ace_keyword&quot;&gt;do&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;    &lt;span class=&quot;ace_comment&quot;&gt;# provisioning profile &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;생&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;성&lt;/span&gt;, &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;갱&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;신&lt;/span&gt;, &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;다&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;운&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;로&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;드&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;    &lt;span class=&quot;ace_identifier&quot;&gt;sigh&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;    
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;    &lt;span class=&quot;ace_comment&quot;&gt;# (Optional) badge &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;설&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;정&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;    &lt;span class=&quot;ace_comment&quot;&gt;# badge(dark: true) # &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;이&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;렇&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;게&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;쓸&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;수&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;도&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;있&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;고&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;    &lt;span class=&quot;ace_identifier&quot;&gt;badge&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;shield&lt;/span&gt;: &lt;span class=&quot;ace_string ace_start&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;Version-dev-red&lt;/span&gt;&lt;span class=&quot;ace_string ace_end&quot;&gt;&quot;&lt;/span&gt;, &lt;span class=&quot;ace_identifier&quot;&gt;no_badge&lt;/span&gt;: &lt;span class=&quot;ace_constant ace_language ace_boolean&quot;&gt;true&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;ace_comment&quot;&gt;# &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;이&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;렇&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;게&lt;/span&gt; shield&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;를&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;사&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;용&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;해&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;서&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;할&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;수&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;도&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;있&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;다&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;    
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;    &lt;span class=&quot;ace_comment&quot;&gt;# iOS app&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;을&lt;/span&gt; build, archive, export &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;한&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;다&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;    &lt;span class=&quot;ace_identifier&quot;&gt;gym&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;  &lt;span class=&quot;ace_comment&quot;&gt;# &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;키&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;가&lt;/span&gt; workspace &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;인&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;것&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;을&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;확&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;인&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;하&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;자&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;   &lt;span class=&quot;ace_identifier&quot;&gt;workspace&lt;/span&gt;: &lt;span class=&quot;ace_string ace_start&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;[Project path].xcworkspace&lt;/span&gt;&lt;span class=&quot;ace_string ace_end&quot;&gt;&quot;&lt;/span&gt;,   &lt;span class=&quot;ace_comment&quot;&gt;# [Project path]: &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;프&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;로&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;젝&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;트&lt;/span&gt; xcworkspace &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;경&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;로&lt;/span&gt; (xcodeproj &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;는&lt;/span&gt; secondapp &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;참&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;고&lt;/span&gt;)&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;   &lt;span class=&quot;ace_identifier&quot;&gt;configuration&lt;/span&gt;: &lt;span class=&quot;ace_string ace_start&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;Debug&lt;/span&gt;&lt;span class=&quot;ace_string ace_end&quot;&gt;&quot;&lt;/span&gt;,        &lt;span class=&quot;ace_comment&quot;&gt;# configuration &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;설&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;정&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;값&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;   &lt;span class=&quot;ace_identifier&quot;&gt;scheme&lt;/span&gt;: &lt;span class=&quot;ace_string ace_start&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;[Project scheme]&lt;/span&gt;&lt;span class=&quot;ace_string ace_end&quot;&gt;&quot;&lt;/span&gt;,    &lt;span class=&quot;ace_comment&quot;&gt;# [Project scheme]: &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;프&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;로&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;젝&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;트&lt;/span&gt; scheme&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;   &lt;span class=&quot;ace_identifier&quot;&gt;silent&lt;/span&gt;: &lt;span class=&quot;ace_constant ace_language ace_boolean&quot;&gt;true&lt;/span&gt;,
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;   &lt;span class=&quot;ace_identifier&quot;&gt;clean&lt;/span&gt;: &lt;span class=&quot;ace_constant ace_language ace_boolean&quot;&gt;true&lt;/span&gt;,
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;   &lt;span class=&quot;ace_identifier&quot;&gt;output_name&lt;/span&gt;: &lt;span class=&quot;ace_string ace_start&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;[file name]&lt;/span&gt;&lt;span class=&quot;ace_string ace_end&quot;&gt;&quot;&lt;/span&gt;,    &lt;span class=&quot;ace_comment&quot;&gt;# [file name]: &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;파&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;일&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;추&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;출&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;시&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;파&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;일&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;명&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;   &lt;span class=&quot;ace_identifier&quot;&gt;include_symbols&lt;/span&gt;: &lt;span class=&quot;ace_constant ace_language ace_boolean&quot;&gt;false&lt;/span&gt;,        &lt;span class=&quot;ace_comment&quot;&gt;# (optional)&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;개&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;인&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;설&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;정&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;에&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;맞&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;게&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;   &lt;span class=&quot;ace_identifier&quot;&gt;include_bitcode&lt;/span&gt;: &lt;span class=&quot;ace_constant ace_language ace_boolean&quot;&gt;true&lt;/span&gt;,         &lt;span class=&quot;ace_comment&quot;&gt;# (optional)&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;개&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;인&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;설&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;정&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;에&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;맞&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;게&lt;/span&gt; - default:false&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;   &lt;span class=&quot;ace_identifier&quot;&gt;export_method&lt;/span&gt;: &lt;span class=&quot;ace_string ace_start&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;development&lt;/span&gt;&lt;span class=&quot;ace_string ace_end&quot;&gt;&quot;&lt;/span&gt;,  &lt;span class=&quot;ace_comment&quot;&gt;# export &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;작&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;업&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;시&lt;/span&gt; method &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;지&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;정&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;    &lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;    
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;    &lt;span class=&quot;ace_comment&quot;&gt;# (Optional) S3&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;에&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;파&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;일&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;을&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;업&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;로&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;드&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;한&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;다&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;    &lt;span class=&quot;ace_identifier&quot;&gt;aws_s3&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;  &lt;span class=&quot;ace_identifier&quot;&gt;access_key&lt;/span&gt;: &lt;span class=&quot;ace_support ace_class&quot;&gt;ENV&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_string ace_start&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;S3_ACCESS_KEY&lt;/span&gt;&lt;span class=&quot;ace_string ace_end&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt;,               &lt;span class=&quot;ace_comment&quot;&gt;# .env &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;파&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;일&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;에&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;세&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;팅&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;  &lt;span class=&quot;ace_identifier&quot;&gt;secret_access_key&lt;/span&gt;: &lt;span class=&quot;ace_support ace_class&quot;&gt;ENV&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_string ace_start&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;S3_SECRET_ACCESS_KEY&lt;/span&gt;&lt;span class=&quot;ace_string ace_end&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt;, &lt;span class=&quot;ace_comment&quot;&gt;# .env &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;파&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;일&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;에&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;세&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;팅&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;  &lt;span class=&quot;ace_identifier&quot;&gt;bucket&lt;/span&gt;: &lt;span class=&quot;ace_support ace_class&quot;&gt;ENV&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_string ace_start&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;S3_BUCKET&lt;/span&gt;&lt;span class=&quot;ace_string ace_end&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt;,                       &lt;span class=&quot;ace_comment&quot;&gt;# .env &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;파&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;일&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;에&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;세&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;팅&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;  &lt;span class=&quot;ace_identifier&quot;&gt;region&lt;/span&gt;: &lt;span class=&quot;ace_support ace_class&quot;&gt;ENV&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_string ace_start&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;S3_REGION&lt;/span&gt;&lt;span class=&quot;ace_string ace_end&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt;,                       &lt;span class=&quot;ace_comment&quot;&gt;# .env &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;파&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;일&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;에&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;세&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;팅&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;  &lt;span class=&quot;ace_identifier&quot;&gt;path&lt;/span&gt;: &lt;span class=&quot;ace_string ace_start&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;[bucket path]&lt;/span&gt;&lt;span class=&quot;ace_string ace_end&quot;&gt;'&lt;/span&gt;,                          &lt;span class=&quot;ace_comment&quot;&gt;# [bucket path]: &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;버&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;킷&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;의&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;경&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;로&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;설&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;정&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;  &lt;span class=&quot;ace_identifier&quot;&gt;ipa&lt;/span&gt;: &lt;span class=&quot;ace_string ace_start&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;[file name].ipa&lt;/span&gt;&lt;span class=&quot;ace_string ace_end&quot;&gt;'&lt;/span&gt;,                         &lt;span class=&quot;ace_comment&quot;&gt;# export&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;되&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;는&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;파&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;일&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;명&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;으&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;로&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;설&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;정&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;  &lt;span class=&quot;ace_identifier&quot;&gt;upload_metadata&lt;/span&gt;: &lt;span class=&quot;ace_constant ace_language ace_boolean&quot;&gt;true&lt;/span&gt;,
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;    &lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;    
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;    &lt;span class=&quot;ace_comment&quot;&gt;# (Optional) Crashlytics&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;에&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;업&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;로&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;드&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;    &lt;span class=&quot;ace_identifier&quot;&gt;crashlytics&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;  &lt;span class=&quot;ace_identifier&quot;&gt;api_token&lt;/span&gt;: &lt;span class=&quot;ace_support ace_class&quot;&gt;ENV&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_string ace_start&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;CRASHLYTICS_API_TOKEN&lt;/span&gt;&lt;span class=&quot;ace_string ace_end&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt;,        &lt;span class=&quot;ace_comment&quot;&gt;# .env &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;파&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;일&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;에&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;세&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;팅&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;  &lt;span class=&quot;ace_identifier&quot;&gt;build_secret&lt;/span&gt;: &lt;span class=&quot;ace_support ace_class&quot;&gt;ENV&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_string ace_start&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;CRASHLYTICS_SECRET&lt;/span&gt;&lt;span class=&quot;ace_string ace_end&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt;         &lt;span class=&quot;ace_comment&quot;&gt;# .env &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;파&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;일&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;에&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;세&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;팅&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;    &lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;  &lt;span class=&quot;ace_keyword&quot;&gt;end&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;   
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;  &lt;span class=&quot;ace_identifier&quot;&gt;lane&lt;/span&gt; &lt;span class=&quot;ace_constant ace_other ace_symbol ace_ruby&quot;&gt;:firstapp_stage&lt;/span&gt; &lt;span class=&quot;ace_keyword&quot;&gt;do&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;    &lt;span class=&quot;ace_identifier&quot;&gt;sigh&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;    &lt;span class=&quot;ace_identifier&quot;&gt;badge&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;shield&lt;/span&gt;: &lt;span class=&quot;ace_string ace_start&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;Version-stage-blue&lt;/span&gt;&lt;span class=&quot;ace_string ace_end&quot;&gt;&quot;&lt;/span&gt;, &lt;span class=&quot;ace_identifier&quot;&gt;no_badge&lt;/span&gt;: &lt;span class=&quot;ace_constant ace_language ace_boolean&quot;&gt;true&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;    &lt;span class=&quot;ace_identifier&quot;&gt;gym&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;   &lt;span class=&quot;ace_identifier&quot;&gt;workspace&lt;/span&gt;: &lt;span class=&quot;ace_string ace_start&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;[Project path]&lt;/span&gt;&lt;span class=&quot;ace_string ace_end&quot;&gt;&quot;&lt;/span&gt;,
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;   &lt;span class=&quot;ace_identifier&quot;&gt;configuration&lt;/span&gt;: &lt;span class=&quot;ace_string ace_start&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;Stage&lt;/span&gt;&lt;span class=&quot;ace_string ace_end&quot;&gt;&quot;&lt;/span&gt;,
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;   &lt;span class=&quot;ace_identifier&quot;&gt;scheme&lt;/span&gt;: &lt;span class=&quot;ace_string ace_start&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;[Project scheme]&lt;/span&gt;&lt;span class=&quot;ace_string ace_end&quot;&gt;&quot;&lt;/span&gt;,
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;   &lt;span class=&quot;ace_identifier&quot;&gt;silent&lt;/span&gt;: &lt;span class=&quot;ace_constant ace_language ace_boolean&quot;&gt;true&lt;/span&gt;,
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;   &lt;span class=&quot;ace_identifier&quot;&gt;clean&lt;/span&gt;: &lt;span class=&quot;ace_constant ace_language ace_boolean&quot;&gt;true&lt;/span&gt;,
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;   &lt;span class=&quot;ace_identifier&quot;&gt;output_name&lt;/span&gt;: &lt;span class=&quot;ace_string ace_start&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;[file name]&lt;/span&gt;&lt;span class=&quot;ace_string ace_end&quot;&gt;&quot;&lt;/span&gt;,
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;   &lt;span class=&quot;ace_identifier&quot;&gt;include_symbols&lt;/span&gt;: &lt;span class=&quot;ace_constant ace_language ace_boolean&quot;&gt;false&lt;/span&gt;,
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;   &lt;span class=&quot;ace_identifier&quot;&gt;include_bitcode&lt;/span&gt;: &lt;span class=&quot;ace_constant ace_language ace_boolean&quot;&gt;true&lt;/span&gt;,
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;   &lt;span class=&quot;ace_identifier&quot;&gt;export_method&lt;/span&gt;: &lt;span class=&quot;ace_string ace_start&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;ad-hoc&lt;/span&gt;&lt;span class=&quot;ace_string ace_end&quot;&gt;&quot;&lt;/span&gt;,
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;    &lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;    &lt;span class=&quot;ace_identifier&quot;&gt;aws_s3&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;  &lt;span class=&quot;ace_identifier&quot;&gt;access_key&lt;/span&gt;: &lt;span class=&quot;ace_support ace_class&quot;&gt;ENV&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_string ace_start&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;S3_ACCESS_KEY&lt;/span&gt;&lt;span class=&quot;ace_string ace_end&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt;,
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;  &lt;span class=&quot;ace_identifier&quot;&gt;secret_access_key&lt;/span&gt;: &lt;span class=&quot;ace_support ace_class&quot;&gt;ENV&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_string ace_start&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;S3_SECRET_ACCESS_KEY&lt;/span&gt;&lt;span class=&quot;ace_string ace_end&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt;,
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;  &lt;span class=&quot;ace_identifier&quot;&gt;bucket&lt;/span&gt;: &lt;span class=&quot;ace_support ace_class&quot;&gt;ENV&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_string ace_start&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;S3_BUCKET&lt;/span&gt;&lt;span class=&quot;ace_string ace_end&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt;,
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;  &lt;span class=&quot;ace_identifier&quot;&gt;region&lt;/span&gt;: &lt;span class=&quot;ace_support ace_class&quot;&gt;ENV&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_string ace_start&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;S3_REGION&lt;/span&gt;&lt;span class=&quot;ace_string ace_end&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt;,
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;  &lt;span class=&quot;ace_identifier&quot;&gt;path&lt;/span&gt;: &lt;span class=&quot;ace_string ace_start&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;[bucket path]&lt;/span&gt;&lt;span class=&quot;ace_string ace_end&quot;&gt;'&lt;/span&gt;,
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;  &lt;span class=&quot;ace_identifier&quot;&gt;ipa&lt;/span&gt;: &lt;span class=&quot;ace_string ace_start&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;[file name].ipa&lt;/span&gt;&lt;span class=&quot;ace_string ace_end&quot;&gt;'&lt;/span&gt;,
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;  &lt;span class=&quot;ace_identifier&quot;&gt;upload_metadata&lt;/span&gt;: &lt;span class=&quot;ace_constant ace_language ace_boolean&quot;&gt;true&lt;/span&gt;,
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;    &lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;    &lt;span class=&quot;ace_identifier&quot;&gt;crashlytics&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;  &lt;span class=&quot;ace_identifier&quot;&gt;api_token&lt;/span&gt;: &lt;span class=&quot;ace_support ace_class&quot;&gt;ENV&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_string ace_start&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;CRASHLYTICS_API_TOKEN&lt;/span&gt;&lt;span class=&quot;ace_string ace_end&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt;,
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;  &lt;span class=&quot;ace_identifier&quot;&gt;build_secret&lt;/span&gt;: &lt;span class=&quot;ace_support ace_class&quot;&gt;ENV&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_string ace_start&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;CRASHLYTICS_SECRET&lt;/span&gt;&lt;span class=&quot;ace_string ace_end&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;    &lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;  &lt;span class=&quot;ace_keyword&quot;&gt;end&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;  
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;  
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;  &lt;span class=&quot;ace_comment&quot;&gt;###########################################################&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;  &lt;span class=&quot;ace_comment&quot;&gt;# Second iOS App Lane - &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;계&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;정&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;정&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;보&lt;/span&gt; B&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;를&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;사&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;용&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;하&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;는&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;다&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;른&lt;/span&gt; iOS &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;앱&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;  &lt;span class=&quot;ace_comment&quot;&gt;###########################################################&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;  &lt;span class=&quot;ace_identifier&quot;&gt;lane&lt;/span&gt; &lt;span class=&quot;ace_constant ace_other ace_symbol ace_ruby&quot;&gt;:secondapp_debug&lt;/span&gt; &lt;span class=&quot;ace_keyword&quot;&gt;do&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;    &lt;span class=&quot;ace_identifier&quot;&gt;sigh&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;    &lt;span class=&quot;ace_identifier&quot;&gt;badge&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;shield&lt;/span&gt;: &lt;span class=&quot;ace_string ace_start&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;Version-dev-red&lt;/span&gt;&lt;span class=&quot;ace_string ace_end&quot;&gt;&quot;&lt;/span&gt;, &lt;span class=&quot;ace_identifier&quot;&gt;no_badge&lt;/span&gt;: &lt;span class=&quot;ace_constant ace_language ace_boolean&quot;&gt;true&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;    &lt;span class=&quot;ace_identifier&quot;&gt;gym&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;  &lt;span class=&quot;ace_comment&quot;&gt;# &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;키&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;가&lt;/span&gt;  project &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;인&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;것&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;을&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;확&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;인&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;하&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;자&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;   &lt;span class=&quot;ace_identifier&quot;&gt;project&lt;/span&gt;: &lt;span class=&quot;ace_string ace_start&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;[Project path].xcodeproj&lt;/span&gt;&lt;span class=&quot;ace_string ace_end&quot;&gt;&quot;&lt;/span&gt;,     &lt;span class=&quot;ace_comment&quot;&gt;# [Project path]: &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;프&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;로&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;젝&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;트&lt;/span&gt; xcodeproj &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;경&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;로&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;   &lt;span class=&quot;ace_identifier&quot;&gt;configuration&lt;/span&gt;: &lt;span class=&quot;ace_string ace_start&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;Debug&lt;/span&gt;&lt;span class=&quot;ace_string ace_end&quot;&gt;&quot;&lt;/span&gt;,
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;   &lt;span class=&quot;ace_identifier&quot;&gt;scheme&lt;/span&gt;: &lt;span class=&quot;ace_string ace_start&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;[Project scheme]&lt;/span&gt;&lt;span class=&quot;ace_string ace_end&quot;&gt;&quot;&lt;/span&gt;,
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;   &lt;span class=&quot;ace_identifier&quot;&gt;silent&lt;/span&gt;: &lt;span class=&quot;ace_constant ace_language ace_boolean&quot;&gt;true&lt;/span&gt;,
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;   &lt;span class=&quot;ace_identifier&quot;&gt;clean&lt;/span&gt;: &lt;span class=&quot;ace_constant ace_language ace_boolean&quot;&gt;true&lt;/span&gt;,
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;   &lt;span class=&quot;ace_identifier&quot;&gt;output_name&lt;/span&gt;: &lt;span class=&quot;ace_string ace_start&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;[file name]&lt;/span&gt;&lt;span class=&quot;ace_string ace_end&quot;&gt;&quot;&lt;/span&gt;,
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;   &lt;span class=&quot;ace_identifier&quot;&gt;include_symbols&lt;/span&gt;: &lt;span class=&quot;ace_constant ace_language ace_boolean&quot;&gt;false&lt;/span&gt;,
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;   &lt;span class=&quot;ace_identifier&quot;&gt;include_bitcode&lt;/span&gt;: &lt;span class=&quot;ace_constant ace_language ace_boolean&quot;&gt;true&lt;/span&gt;,
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;   &lt;span class=&quot;ace_identifier&quot;&gt;export_method&lt;/span&gt;: &lt;span class=&quot;ace_string ace_start&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;development&lt;/span&gt;&lt;span class=&quot;ace_string ace_end&quot;&gt;&quot;&lt;/span&gt;,
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;    &lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;    &lt;span class=&quot;ace_identifier&quot;&gt;aws_s3&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;  &lt;span class=&quot;ace_identifier&quot;&gt;access_key&lt;/span&gt;: &lt;span class=&quot;ace_support ace_class&quot;&gt;ENV&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_string ace_start&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;S3_ACCESS_KEY&lt;/span&gt;&lt;span class=&quot;ace_string ace_end&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt;,
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;  &lt;span class=&quot;ace_identifier&quot;&gt;secret_access_key&lt;/span&gt;: &lt;span class=&quot;ace_support ace_class&quot;&gt;ENV&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_string ace_start&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;S3_SECRET_ACCESS_KEY&lt;/span&gt;&lt;span class=&quot;ace_string ace_end&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt;,
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;  &lt;span class=&quot;ace_identifier&quot;&gt;bucket&lt;/span&gt;: &lt;span class=&quot;ace_support ace_class&quot;&gt;ENV&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_string ace_start&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;S3_BUCKET&lt;/span&gt;&lt;span class=&quot;ace_string ace_end&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt;,
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;  &lt;span class=&quot;ace_identifier&quot;&gt;region&lt;/span&gt;: &lt;span class=&quot;ace_support ace_class&quot;&gt;ENV&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_string ace_start&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;S3_REGION&lt;/span&gt;&lt;span class=&quot;ace_string ace_end&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt;,
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;  &lt;span class=&quot;ace_identifier&quot;&gt;path&lt;/span&gt;: &lt;span class=&quot;ace_string ace_start&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;[bucket path]&lt;/span&gt;&lt;span class=&quot;ace_string ace_end&quot;&gt;'&lt;/span&gt;,
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;  &lt;span class=&quot;ace_identifier&quot;&gt;ipa&lt;/span&gt;: &lt;span class=&quot;ace_string ace_start&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;[file name].ipa&lt;/span&gt;&lt;span class=&quot;ace_string ace_end&quot;&gt;'&lt;/span&gt;,
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;  &lt;span class=&quot;ace_identifier&quot;&gt;upload_metadata&lt;/span&gt;: &lt;span class=&quot;ace_constant ace_language ace_boolean&quot;&gt;true&lt;/span&gt;,
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;    &lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;    &lt;span class=&quot;ace_identifier&quot;&gt;crashlytics&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;  &lt;span class=&quot;ace_identifier&quot;&gt;api_token&lt;/span&gt;: &lt;span class=&quot;ace_support ace_class&quot;&gt;ENV&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_string ace_start&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;CRASHLYTICS_API_TOKEN&lt;/span&gt;&lt;span class=&quot;ace_string ace_end&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt;,
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;  &lt;span class=&quot;ace_identifier&quot;&gt;build_secret&lt;/span&gt;: &lt;span class=&quot;ace_support ace_class&quot;&gt;ENV&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_string ace_start&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;CRASHLYTICS_SECRET&lt;/span&gt;&lt;span class=&quot;ace_string ace_end&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;    &lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;  &lt;span class=&quot;ace_keyword&quot;&gt;end&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;  &lt;span class=&quot;ace_comment&quot;&gt;# lane &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;수&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;행&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;이&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;성&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;공&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;적&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;으&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;로&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;완&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;료&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;된&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;후&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;수&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;행&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;할&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;동&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;작&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;설&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;정&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;  &lt;span class=&quot;ace_identifier&quot;&gt;after_all&lt;/span&gt; &lt;span class=&quot;ace_keyword&quot;&gt;do&lt;/span&gt; |&lt;span class=&quot;ace_identifier&quot;&gt;lane&lt;/span&gt;|
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;    &lt;span class=&quot;ace_comment&quot;&gt;# slack&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;으&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;로&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;메&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;시&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;지&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;를&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;전&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;송&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;한&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;다&lt;/span&gt;.&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;    &lt;span class=&quot;ace_identifier&quot;&gt;slack&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;  &lt;span class=&quot;ace_identifier&quot;&gt;message&lt;/span&gt;: &lt;span class=&quot;ace_string ace_start&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;FastLane success&lt;/span&gt;&lt;span class=&quot;ace_string ace_end&quot;&gt;&quot;&lt;/span&gt;,
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;  &lt;span class=&quot;ace_identifier&quot;&gt;slack_url&lt;/span&gt;: &lt;span class=&quot;ace_support ace_class&quot;&gt;ENV&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_string ace_start&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;SLACK_URL&lt;/span&gt;&lt;span class=&quot;ace_string ace_end&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;    &lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt;   
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;  &lt;span class=&quot;ace_keyword&quot;&gt;end&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;  
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;  &lt;span class=&quot;ace_comment&quot;&gt;# lane &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;수&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;행&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;이&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;실&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;패&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;하&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;였&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;을&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;경&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;우&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;수&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;행&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;할&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;동&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;작&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;설&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;정&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;  &lt;span class=&quot;ace_identifier&quot;&gt;error&lt;/span&gt; &lt;span class=&quot;ace_keyword&quot;&gt;do&lt;/span&gt; |&lt;span class=&quot;ace_identifier&quot;&gt;lane&lt;/span&gt;, &lt;span class=&quot;ace_identifier&quot;&gt;exception&lt;/span&gt;|
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;    &lt;span class=&quot;ace_identifier&quot;&gt;slack&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;  &lt;span class=&quot;ace_identifier&quot;&gt;message&lt;/span&gt;: &lt;span class=&quot;ace_identifier&quot;&gt;exception&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;message&lt;/span&gt;,
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;  &lt;span class=&quot;ace_identifier&quot;&gt;success&lt;/span&gt;: &lt;span class=&quot;ace_constant ace_language ace_boolean&quot;&gt;false&lt;/span&gt;,
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;  &lt;span class=&quot;ace_identifier&quot;&gt;slack_url&lt;/span&gt;: &lt;span class=&quot;ace_support ace_class&quot;&gt;ENV&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_string ace_start&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;SLACK_URL&lt;/span&gt;&lt;span class=&quot;ace_string ace_end&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;    &lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;  &lt;span class=&quot;ace_keyword&quot;&gt;end&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword&quot;&gt;end&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt; 
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;##############################################################################################&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;##############################################################################################&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;###########&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;# Android #&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;###########&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;platform&lt;/span&gt; &lt;span class=&quot;ace_constant ace_other ace_symbol ace_ruby&quot;&gt;:android&lt;/span&gt; &lt;span class=&quot;ace_keyword&quot;&gt;do&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;  &lt;span class=&quot;ace_identifier&quot;&gt;before_all&lt;/span&gt; &lt;span class=&quot;ace_keyword&quot;&gt;do&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;  &lt;span class=&quot;ace_keyword&quot;&gt;end&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;  &lt;span class=&quot;ace_comment&quot;&gt;##################################################&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;  &lt;span class=&quot;ace_comment&quot;&gt;# First iOS App Lanes - &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;계&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;정&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;정&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;보&lt;/span&gt; A&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;를&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;사&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;용&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;하&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;는&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;앱&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;  &lt;span class=&quot;ace_comment&quot;&gt;##################################################&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;  &lt;span class=&quot;ace_identifier&quot;&gt;lane&lt;/span&gt; &lt;span class=&quot;ace_constant ace_other ace_symbol ace_ruby&quot;&gt;:firstapp_debug&lt;/span&gt; &lt;span class=&quot;ace_keyword&quot;&gt;do&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;    &lt;span class=&quot;ace_identifier&quot;&gt;gradle&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;task&lt;/span&gt;: &lt;span class=&quot;ace_string ace_start&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;clean&lt;/span&gt;&lt;span class=&quot;ace_string ace_end&quot;&gt;'&lt;/span&gt;, &lt;span class=&quot;ace_identifier&quot;&gt;project_dir&lt;/span&gt;: &lt;span class=&quot;ace_string ace_start&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;[Project path]&lt;/span&gt;&lt;span class=&quot;ace_string ace_end&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt;  &lt;span class=&quot;ace_comment&quot;&gt;# [Project path]: &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;프&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;로&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;젝&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;트&lt;/span&gt; root &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;경&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;로&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;    &lt;span class=&quot;ace_identifier&quot;&gt;gradle&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;task&lt;/span&gt;: &lt;span class=&quot;ace_string ace_start&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;assemble&lt;/span&gt;&lt;span class=&quot;ace_string ace_end&quot;&gt;&quot;&lt;/span&gt;, 
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;   &lt;span class=&quot;ace_identifier&quot;&gt;build_type&lt;/span&gt;: &lt;span class=&quot;ace_string ace_start&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;Debug&lt;/span&gt;&lt;span class=&quot;ace_string ace_end&quot;&gt;&quot;&lt;/span&gt;, 
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;   &lt;span class=&quot;ace_identifier&quot;&gt;project_dir&lt;/span&gt;: &lt;span class=&quot;ace_string ace_start&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;[Project path]&lt;/span&gt;&lt;span class=&quot;ace_string ace_end&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt;                 &lt;span class=&quot;ace_comment&quot;&gt;# [Project path]: &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;프&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;로&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;젝&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;트&lt;/span&gt; root &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;경&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;로&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;    
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;    &lt;span class=&quot;ace_comment&quot;&gt;# (Optional) &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;필&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;요&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;에&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;따&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;라&lt;/span&gt; shell script &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;를&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;넣&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;을&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;수&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;있&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;다&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;    &lt;span class=&quot;ace_comment&quot;&gt;# shell script&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;는&lt;/span&gt; Fastfile&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;이&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;있&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;는&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;폴&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;더&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;에&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;서&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;수&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;행&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;되&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;기&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;때&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;문&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;에&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;폴&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;더&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;경&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;로&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;가&lt;/span&gt; fastlane/ &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;폴&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;더&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;로&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;인&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;식&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;된&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;다&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;    &lt;span class=&quot;ace_identifier&quot;&gt;sh&lt;/span&gt; &lt;span class=&quot;ace_string ace_start&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;mv ../firstapp_android/app/build/outputs/apk/firstapp-debug.apk ../firstapp_android/app/build/outputs/apk/[File name].apk&lt;/span&gt;&lt;span class=&quot;ace_string ace_end&quot;&gt;&quot;&lt;/span&gt; &lt;span class=&quot;ace_comment&quot;&gt;# [File name]: &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;파&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;일&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;명&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;   
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;   &lt;span class=&quot;ace_comment&quot;&gt;# (Optional) S3&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;에&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;파&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;일&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;을&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;업&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;로&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;드&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;한&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;다&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;   &lt;span class=&quot;ace_comment&quot;&gt;# plugin &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;에&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;서&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;사&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;용&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;되&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;는&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;폴&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;더&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;경&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;로&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;는&lt;/span&gt; fastlane&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;을&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;실&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;행&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;한&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;위&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;치&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;로&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;인&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;식&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;된&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;다&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;    &lt;span class=&quot;ace_identifier&quot;&gt;aws_s3&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;  &lt;span class=&quot;ace_identifier&quot;&gt;access_key&lt;/span&gt;: &lt;span class=&quot;ace_support ace_class&quot;&gt;ENV&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_string ace_start&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;S3_ACCESS_KEY&lt;/span&gt;&lt;span class=&quot;ace_string ace_end&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt;,               &lt;span class=&quot;ace_comment&quot;&gt;# .env &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;파&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;일&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;에&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;세&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;팅&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;  &lt;span class=&quot;ace_identifier&quot;&gt;secret_access_key&lt;/span&gt;: &lt;span class=&quot;ace_support ace_class&quot;&gt;ENV&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_string ace_start&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;S3_SECRET_ACCESS_KEY&lt;/span&gt;&lt;span class=&quot;ace_string ace_end&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt;, &lt;span class=&quot;ace_comment&quot;&gt;# .env &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;파&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;일&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;에&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;세&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;팅&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;  &lt;span class=&quot;ace_identifier&quot;&gt;bucket&lt;/span&gt;: &lt;span class=&quot;ace_support ace_class&quot;&gt;ENV&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_string ace_start&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;S3_BUCKET&lt;/span&gt;&lt;span class=&quot;ace_string ace_end&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt;,                       &lt;span class=&quot;ace_comment&quot;&gt;# .env &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;파&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;일&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;에&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;세&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;팅&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;  &lt;span class=&quot;ace_identifier&quot;&gt;region&lt;/span&gt;: &lt;span class=&quot;ace_support ace_class&quot;&gt;ENV&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_string ace_start&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;S3_REGION&lt;/span&gt;&lt;span class=&quot;ace_string ace_end&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt;,                       &lt;span class=&quot;ace_comment&quot;&gt;# .env &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;파&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;일&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;에&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;세&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;팅&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;  &lt;span class=&quot;ace_identifier&quot;&gt;path&lt;/span&gt;: &lt;span class=&quot;ace_string ace_start&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;[bucket path]&lt;/span&gt;&lt;span class=&quot;ace_string ace_end&quot;&gt;'&lt;/span&gt;,                          &lt;span class=&quot;ace_comment&quot;&gt;# [bucket path]: &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;버&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;킷&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;의&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;경&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;로&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;설&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;정&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;  &lt;span class=&quot;ace_identifier&quot;&gt;ipa&lt;/span&gt;: &lt;span class=&quot;ace_string ace_start&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;./firstapp_android/app/build/outputs/apk/[File name].apk&lt;/span&gt;&lt;span class=&quot;ace_string ace_end&quot;&gt;'&lt;/span&gt;,   &lt;span class=&quot;ace_comment&quot;&gt;# export&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;되&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;는&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;파&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;일&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;의&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;총&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;경&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;로&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;를&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;설&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;정&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;  &lt;span class=&quot;ace_identifier&quot;&gt;upload_metadata&lt;/span&gt;: &lt;span class=&quot;ace_constant ace_language ace_boolean&quot;&gt;true&lt;/span&gt;,
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;    &lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;  &lt;span class=&quot;ace_keyword&quot;&gt;end&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;   
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;  &lt;span class=&quot;ace_identifier&quot;&gt;lane&lt;/span&gt; &lt;span class=&quot;ace_constant ace_other ace_symbol ace_ruby&quot;&gt;:firstapp_stage&lt;/span&gt; &lt;span class=&quot;ace_keyword&quot;&gt;do&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;    &lt;span class=&quot;ace_identifier&quot;&gt;gradle&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;task&lt;/span&gt;: &lt;span class=&quot;ace_string ace_start&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;clean&lt;/span&gt;&lt;span class=&quot;ace_string ace_end&quot;&gt;'&lt;/span&gt;, &lt;span class=&quot;ace_identifier&quot;&gt;project_dir&lt;/span&gt;: &lt;span class=&quot;ace_string ace_start&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;[Project path]&lt;/span&gt;&lt;span class=&quot;ace_string ace_end&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;    &lt;span class=&quot;ace_identifier&quot;&gt;gradle&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;  &lt;span class=&quot;ace_identifier&quot;&gt;task&lt;/span&gt;: &lt;span class=&quot;ace_string ace_start&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;assemble&lt;/span&gt;&lt;span class=&quot;ace_string ace_end&quot;&gt;&quot;&lt;/span&gt;,
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;  &lt;span class=&quot;ace_identifier&quot;&gt;build_type&lt;/span&gt;: &lt;span class=&quot;ace_string ace_start&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;Release&lt;/span&gt;&lt;span class=&quot;ace_string ace_end&quot;&gt;&quot;&lt;/span&gt;,
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;  &lt;span class=&quot;ace_comment&quot;&gt;# signing &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;정&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;보&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;를&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;넣&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;어&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;줄&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;수&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;있&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;다&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;  &lt;span class=&quot;ace_identifier&quot;&gt;properties&lt;/span&gt;: &lt;span class=&quot;ace_paren ace_lparen&quot;&gt;{&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;  &lt;span class=&quot;ace_comment&quot;&gt;# 'versionCode' =&amp;gt; [version code],  # (Optional) [version code]: &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;버&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;전&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;코&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;드&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;  &lt;span class=&quot;ace_comment&quot;&gt;# 'versionName' =&amp;gt; [version name],  # (Optional) [version name]: &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;버&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;전&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;명&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;  &lt;span class=&quot;ace_string ace_start&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;android.injected.signing.store.file&lt;/span&gt;&lt;span class=&quot;ace_string ace_end&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_separator ace_key-value&quot;&gt;=&amp;gt;&lt;/span&gt;     &lt;span class=&quot;ace_support ace_class&quot;&gt;ENV&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_string ace_start&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;ANDROID_APP_SIGNING_KEY&lt;/span&gt;&lt;span class=&quot;ace_string ace_end&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt;,      &lt;span class=&quot;ace_comment&quot;&gt;# .env &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;파&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;일&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;에&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;세&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;팅&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;  &lt;span class=&quot;ace_string ace_start&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;android.injected.signing.store.password&lt;/span&gt;&lt;span class=&quot;ace_string ace_end&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_separator ace_key-value&quot;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&quot;ace_support ace_class&quot;&gt;ENV&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_string ace_start&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;ANDROID_APP_SIGNING_PASSWORD&lt;/span&gt;&lt;span class=&quot;ace_string ace_end&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt;, &lt;span class=&quot;ace_comment&quot;&gt;# .env &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;파&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;일&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;에&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;세&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;팅&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;  &lt;span class=&quot;ace_string ace_start&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;android.injected.signing.key.alias&lt;/span&gt;&lt;span class=&quot;ace_string ace_end&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_separator ace_key-value&quot;&gt;=&amp;gt;&lt;/span&gt;      &lt;span class=&quot;ace_support ace_class&quot;&gt;ENV&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_string ace_start&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;ANDROID_APP_SIGNING_ALIAS&lt;/span&gt;&lt;span class=&quot;ace_string ace_end&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt;,    &lt;span class=&quot;ace_comment&quot;&gt;# .env &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;파&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;일&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;에&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;세&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;팅&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;  &lt;span class=&quot;ace_string ace_start&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;android.injected.signing.key.password&lt;/span&gt;&lt;span class=&quot;ace_string ace_end&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_separator ace_key-value&quot;&gt;=&amp;gt;&lt;/span&gt;   &lt;span class=&quot;ace_support ace_class&quot;&gt;ENV&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_string ace_start&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;ANDROID_APP_SIGNING_PASSWORD&lt;/span&gt;&lt;span class=&quot;ace_string ace_end&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt;  &lt;span class=&quot;ace_comment&quot;&gt;# .env &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;파&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;일&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;에&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;세&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;팅&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;  &lt;span class=&quot;ace_paren ace_rparen&quot;&gt;}&lt;/span&gt;,
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;  &lt;span class=&quot;ace_identifier&quot;&gt;project_dir&lt;/span&gt;: &lt;span class=&quot;ace_string ace_start&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;[Project path]&lt;/span&gt;&lt;span class=&quot;ace_string ace_end&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;  
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;    &lt;span class=&quot;ace_identifier&quot;&gt;sh&lt;/span&gt; &lt;span class=&quot;ace_string ace_start&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;mv ../firstapp_android/app/build/outputs/apk/firstapp-release.apk ../firstapp_android/app/build/outputs/apk/[File name].apk&lt;/span&gt;&lt;span class=&quot;ace_string ace_end&quot;&gt;&quot;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;   
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;    &lt;span class=&quot;ace_identifier&quot;&gt;aws_s3&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;  &lt;span class=&quot;ace_identifier&quot;&gt;access_key&lt;/span&gt;: &lt;span class=&quot;ace_support ace_class&quot;&gt;ENV&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_string ace_start&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;S3_ACCESS_KEY&lt;/span&gt;&lt;span class=&quot;ace_string ace_end&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt;,
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;  &lt;span class=&quot;ace_identifier&quot;&gt;secret_access_key&lt;/span&gt;: &lt;span class=&quot;ace_support ace_class&quot;&gt;ENV&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_string ace_start&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;S3_SECRET_ACCESS_KEY&lt;/span&gt;&lt;span class=&quot;ace_string ace_end&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt;,
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;  &lt;span class=&quot;ace_identifier&quot;&gt;bucket&lt;/span&gt;: &lt;span class=&quot;ace_support ace_class&quot;&gt;ENV&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_string ace_start&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;S3_BUCKET&lt;/span&gt;&lt;span class=&quot;ace_string ace_end&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt;,
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;  &lt;span class=&quot;ace_identifier&quot;&gt;region&lt;/span&gt;: &lt;span class=&quot;ace_support ace_class&quot;&gt;ENV&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_string ace_start&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;S3_REGION&lt;/span&gt;&lt;span class=&quot;ace_string ace_end&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt;,
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;  &lt;span class=&quot;ace_identifier&quot;&gt;path&lt;/span&gt;: &lt;span class=&quot;ace_string ace_start&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;[bucket path]&lt;/span&gt;&lt;span class=&quot;ace_string ace_end&quot;&gt;'&lt;/span&gt;,
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;  &lt;span class=&quot;ace_identifier&quot;&gt;ipa&lt;/span&gt;: &lt;span class=&quot;ace_string ace_start&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;./firstapp_android/app/build/outputs/apk/[File name].apk&lt;/span&gt;&lt;span class=&quot;ace_string ace_end&quot;&gt;'&lt;/span&gt;,
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;  &lt;span class=&quot;ace_identifier&quot;&gt;upload_metadata&lt;/span&gt;: &lt;span class=&quot;ace_constant ace_language ace_boolean&quot;&gt;true&lt;/span&gt;,
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;    &lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;  &lt;span class=&quot;ace_keyword&quot;&gt;end&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;  &lt;span class=&quot;ace_identifier&quot;&gt;after_all&lt;/span&gt; &lt;span class=&quot;ace_keyword&quot;&gt;do&lt;/span&gt; |&lt;span class=&quot;ace_identifier&quot;&gt;lane&lt;/span&gt;|
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;    &lt;span class=&quot;ace_identifier&quot;&gt;slack&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;  &lt;span class=&quot;ace_identifier&quot;&gt;message&lt;/span&gt;: &lt;span class=&quot;ace_string ace_start&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;FastLane success&lt;/span&gt;&lt;span class=&quot;ace_string ace_end&quot;&gt;&quot;&lt;/span&gt;,
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;  &lt;span class=&quot;ace_identifier&quot;&gt;slack_url&lt;/span&gt;: &lt;span class=&quot;ace_support ace_class&quot;&gt;ENV&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_string ace_start&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;SLACK_URL&lt;/span&gt;&lt;span class=&quot;ace_string ace_end&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;    &lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt;   
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;  &lt;span class=&quot;ace_keyword&quot;&gt;end&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;  &lt;span class=&quot;ace_identifier&quot;&gt;error&lt;/span&gt; &lt;span class=&quot;ace_keyword&quot;&gt;do&lt;/span&gt; |&lt;span class=&quot;ace_identifier&quot;&gt;lane&lt;/span&gt;, &lt;span class=&quot;ace_identifier&quot;&gt;exception&lt;/span&gt;|
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;    &lt;span class=&quot;ace_identifier&quot;&gt;slack&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;  &lt;span class=&quot;ace_identifier&quot;&gt;message&lt;/span&gt;: &lt;span class=&quot;ace_identifier&quot;&gt;exception&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;message&lt;/span&gt;,
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;  &lt;span class=&quot;ace_identifier&quot;&gt;success&lt;/span&gt;: &lt;span class=&quot;ace_constant ace_language ace_boolean&quot;&gt;false&lt;/span&gt;,
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;  &lt;span class=&quot;ace_identifier&quot;&gt;slack_url&lt;/span&gt;: &lt;span class=&quot;ace_support ace_class&quot;&gt;ENV&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_string ace_start&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;SLACK_URL&lt;/span&gt;&lt;span class=&quot;ace_string ace_end&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;    &lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;  &lt;span class=&quot;ace_keyword&quot;&gt;end&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword&quot;&gt;end&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h3&gt;&lt;b&gt;.env&lt;/b&gt;&lt;/h3&gt;&lt;div&gt;다음은 환경변수를 선언해 놓고 사용하는 dotenv 형태의 &lt;code&gt;.env&lt;/code&gt; 파일이다.&lt;/div&gt;&lt;div&gt;이 파일에 선언된 값들을 &lt;code&gt;Fastfile&lt;/code&gt; 에서 &lt;code&gt;ENV[‘ ‘]&lt;/code&gt; 형태로 사용할 수 있다.&lt;/div&gt;&lt;div&gt;아래는 예제용으로 작성된 &lt;code&gt;Fastfile&lt;/code&gt;의&amp;nbsp;&lt;code&gt;.env&lt;/code&gt; 파일이다.&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;# for Slack&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;SLACK_URL&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;&quot;https://hooks.slack.com/services/~~~&quot;&lt;/span&gt;  &lt;span class=&quot;ace_comment&quot;&gt;# slack &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;에&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;서&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;생&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;성&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;한&lt;/span&gt; hook &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;주&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;소&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;# for S3&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;S3_ACCESS_KEY&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;'XXXXXXX'&lt;/span&gt;                         &lt;span class=&quot;ace_comment&quot;&gt;# S3&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;의&lt;/span&gt; Access key&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;S3_SECRET_ACCESS_KEY&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;'xxxxxxxxxxxxxxxx'&lt;/span&gt;         &lt;span class=&quot;ace_comment&quot;&gt;# S3&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;의&lt;/span&gt; Sceret Access key&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;S3_BUCKET&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;'example-buket'&lt;/span&gt;                       &lt;span class=&quot;ace_comment&quot;&gt;# S3&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;의&lt;/span&gt; Bucket name&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;S3_REGION&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;'ap-northeast-2'&lt;/span&gt;                      &lt;span class=&quot;ace_comment&quot;&gt;# S3&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;의&lt;/span&gt; Region&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;# for Crashlytics&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;CRASHLYTICS_API_TOKEN&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;'xxxxxxxxxxxxxxxx'&lt;/span&gt;        &lt;span class=&quot;ace_comment&quot;&gt;# Crashlytics &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;에&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;서&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;생&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;성&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;한&lt;/span&gt; API token&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;CRASHLYTICS_SECRET&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;'xxxxxxxxxxxxxxxx'&lt;/span&gt;           &lt;span class=&quot;ace_comment&quot;&gt;# Crashlytics &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;에&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;서&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;생&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;성&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;한&lt;/span&gt; Secret &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;값&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt; 
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;# for Android&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;ANDROID_APP_SIGNING_KEY&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;'./keystore/firstapp_key.keystore'&lt;/span&gt; &lt;span class=&quot;ace_comment&quot;&gt;# Signing key&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;ANDROID_APP_SIGNING_PASSWORD&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;'xxxx'&lt;/span&gt;                        &lt;span class=&quot;ace_comment&quot;&gt;# signing pw&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;ANDROID_APP_SIGNING_ALIAS&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;'firstapp_android'&lt;/span&gt;               &lt;span class=&quot;ace_comment&quot;&gt;# signing alias&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h3&gt;&lt;b&gt;Appfile&lt;/b&gt;&lt;/h3&gt;&lt;div&gt;마지막으로 앱 관련 설정을 가지고 있는 &lt;code&gt;Appfile&lt;/code&gt; 이다.&lt;/div&gt;&lt;div&gt;이 파을은 AppStore Id, Bundle Id, Team Id 등 식별자 값이 설정되어있는 파일이다.&lt;/div&gt;&lt;div&gt;Appfile 과 관련해서 더 자세한 내용은 링크를 참고하면 된다. (&lt;a href=&quot;https://github.com/fastlane/fastlane/blob/master/fastlane/docs/Appfile.md&quot;&gt;https://github.com/fastlane/fastlane/blob/master/fastlane/docs/Appfile.md&lt;/a&gt;)&lt;/div&gt;&lt;div&gt;아래 파일도 예제용으로 작성된 &lt;code&gt;Fastfile&lt;/code&gt;의 &lt;code&gt;Appfile&lt;/code&gt; 이다.&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;# Default&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;app_identifier&lt;/span&gt; &lt;span class=&quot;ace_string ace_start&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;kr.tez.firstapp&lt;/span&gt;&lt;span class=&quot;ace_string ace_end&quot;&gt;&quot;&lt;/span&gt;  &lt;span class=&quot;ace_comment&quot;&gt;# The bundle identifier of your app&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;apple_id&lt;/span&gt; &lt;span class=&quot;ace_string ace_start&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;dev@tez.kr&lt;/span&gt;&lt;span class=&quot;ace_string ace_end&quot;&gt;&quot;&lt;/span&gt;             &lt;span class=&quot;ace_comment&quot;&gt;# Your Apple email address&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;team_id&lt;/span&gt; &lt;span class=&quot;ace_string ace_start&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;XXXXXXX&lt;/span&gt;&lt;span class=&quot;ace_string ace_end&quot;&gt;&quot;&lt;/span&gt;                 &lt;span class=&quot;ace_comment&quot;&gt;# Developer Portal Team ID&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;for_platform&lt;/span&gt; &lt;span class=&quot;ace_constant ace_other ace_symbol ace_ruby&quot;&gt;:ios&lt;/span&gt; &lt;span class=&quot;ace_keyword&quot;&gt;do&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;    &lt;span class=&quot;ace_identifier&quot;&gt;for_lane&lt;/span&gt; &lt;span class=&quot;ace_constant ace_other ace_symbol ace_ruby&quot;&gt;:first_debug&lt;/span&gt; &lt;span class=&quot;ace_keyword&quot;&gt;do&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;    &lt;span class=&quot;ace_identifier&quot;&gt;app_identifier&lt;/span&gt; &lt;span class=&quot;ace_string ace_start&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;kr.tez.firstapp&lt;/span&gt;&lt;span class=&quot;ace_string ace_end&quot;&gt;&quot;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;    &lt;span class=&quot;ace_identifier&quot;&gt;apple_id&lt;/span&gt; &lt;span class=&quot;ace_string ace_start&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;dev@tez.kr&lt;/span&gt;&lt;span class=&quot;ace_string ace_end&quot;&gt;&quot;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;    &lt;span class=&quot;ace_identifier&quot;&gt;team_id&lt;/span&gt; &lt;span class=&quot;ace_string ace_start&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;XXXXXXX&lt;/span&gt;&lt;span class=&quot;ace_string ace_end&quot;&gt;&quot;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;    &lt;span class=&quot;ace_keyword&quot;&gt;end&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;    &lt;span class=&quot;ace_identifier&quot;&gt;for_lane&lt;/span&gt; &lt;span class=&quot;ace_constant ace_other ace_symbol ace_ruby&quot;&gt;:first_stage&lt;/span&gt; &lt;span class=&quot;ace_keyword&quot;&gt;do&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;    &lt;span class=&quot;ace_identifier&quot;&gt;app_identifier&lt;/span&gt; &lt;span class=&quot;ace_string ace_start&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;kr.tez.firstapp&lt;/span&gt;&lt;span class=&quot;ace_string ace_end&quot;&gt;&quot;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;    &lt;span class=&quot;ace_identifier&quot;&gt;apple_id&lt;/span&gt; &lt;span class=&quot;ace_string ace_start&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;dev@tez.kr&lt;/span&gt;&lt;span class=&quot;ace_string ace_end&quot;&gt;&quot;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;    &lt;span class=&quot;ace_identifier&quot;&gt;team_id&lt;/span&gt; &lt;span class=&quot;ace_string ace_start&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;XXXXXXX&lt;/span&gt;&lt;span class=&quot;ace_string ace_end&quot;&gt;&quot;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;    &lt;span class=&quot;ace_keyword&quot;&gt;end&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;    
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;    &lt;span class=&quot;ace_identifier&quot;&gt;for_lane&lt;/span&gt; &lt;span class=&quot;ace_constant ace_other ace_symbol ace_ruby&quot;&gt;:second_debug&lt;/span&gt; &lt;span class=&quot;ace_keyword&quot;&gt;do&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;    &lt;span class=&quot;ace_identifier&quot;&gt;app_identifier&lt;/span&gt; &lt;span class=&quot;ace_string ace_start&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;kr.tez.secondapp&lt;/span&gt;&lt;span class=&quot;ace_string ace_end&quot;&gt;&quot;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;    &lt;span class=&quot;ace_identifier&quot;&gt;apple_id&lt;/span&gt; &lt;span class=&quot;ace_string ace_start&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;tez_enterprise@tez.kr&lt;/span&gt;&lt;span class=&quot;ace_string ace_end&quot;&gt;&quot;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;    &lt;span class=&quot;ace_identifier&quot;&gt;team_id&lt;/span&gt; &lt;span class=&quot;ace_string ace_start&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;XYXYXYXY&lt;/span&gt;&lt;span class=&quot;ace_string ace_end&quot;&gt;&quot;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;    &lt;span class=&quot;ace_keyword&quot;&gt;end&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword&quot;&gt;end&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;# you can even provide different app identifiers, Apple IDs and team names per lane:&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;# More information: https://github.com/fastlane/fastlane/blob/master/fastlane/docs/Appfile.md&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h2&gt;5. Fastlane 기본 명령어&lt;/h2&gt;&lt;div&gt;lane 과 파일 작성이 완료되면 몇가지 기본적인 명령어를 확인하고 사용해보도록 하자.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;h3&gt;&lt;b&gt;&lt;code&gt;$ fastlane lanes&lt;/code&gt;&lt;/b&gt;&lt;/h3&gt;&lt;div&gt;우선 사용가능한 lane들을 조회하는 명령어 이다.&amp;nbsp;&lt;/div&gt;&lt;div&gt;이 명령어로 추가해 놓은 lane들이 정상적으로 로드되는지 확인하면 된다.&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;fastlane&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;lanes&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;+------------------------+---------+--------+&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;|&lt;/span&gt;               &lt;span class=&quot;ace_identifier&quot;&gt;Used&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;plugins&lt;/span&gt;                &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;|&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;+------------------------+---------+--------+&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;|&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;Plugin&lt;/span&gt;                 &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;|&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;Version&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;|&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;Action&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;|&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;+------------------------+---------+--------+&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;|&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;fastlane&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;plugin&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;aws_s3&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;|&lt;/span&gt; &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;0.2.4&lt;/span&gt;   &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;|&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;aws_s3&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;|&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;+------------------------+---------+--------+&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;18&lt;/span&gt;:&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;47&lt;/span&gt;:&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;48&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt;: &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-------------------------------------------------&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;18&lt;/span&gt;:&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;47&lt;/span&gt;:&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;48&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt;: &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;---&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;Step&lt;/span&gt;: &lt;span class=&quot;ace_identifier&quot;&gt;Verifying&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;required&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;fastlane&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;version&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;---&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;18&lt;/span&gt;:&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;47&lt;/span&gt;:&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;48&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt;: &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-------------------------------------------------&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;18&lt;/span&gt;:&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;47&lt;/span&gt;:&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;48&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt;: &lt;span class=&quot;ace_identifier&quot;&gt;Your&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;fastlane&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;version&lt;/span&gt; &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;2.28.7&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;matches&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;the&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;minimum&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;requirement&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;of&lt;/span&gt; &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;2.18.3&lt;/span&gt;  ✅
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;18&lt;/span&gt;:&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;47&lt;/span&gt;:&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;48&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt;: &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;------------------------------&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;18&lt;/span&gt;:&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;47&lt;/span&gt;:&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;48&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt;: &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;---&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;Step&lt;/span&gt;: &lt;span class=&quot;ace_identifier&quot;&gt;default_platform&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;---&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;18&lt;/span&gt;:&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;47&lt;/span&gt;:&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;48&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt;: &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;------------------------------&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;---------&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;ios&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;---------&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-----&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;fastlane&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;ios&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;firstapp_debug&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-----&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;fastlane&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;ios&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;firstapp_stage&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-----&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;fastlane&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;ios&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;secondapp_debug&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;---------&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;android&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;---------&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-----&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;fastlane&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;android&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;firstapp_debug&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-----&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;fastlane&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;android&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;firstapp_stage&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;Execute&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;using&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;`&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;fastlane&lt;/span&gt; &lt;span class=&quot;ace_paren ace_lparen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;lane_name&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;`&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h3&gt;&lt;b&gt;&lt;code&gt;$ fastlane env&lt;/code&gt;&lt;/b&gt;&lt;/h3&gt;&lt;div&gt;이 명령어는 fastlane 환경 체크를 하는 명령이다.&amp;nbsp;&lt;/div&gt;&lt;div&gt;fasatlane이 정상적으로 실행되지 않거나 정보를 확인할 경우 이용하면 된다.&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;fastlane&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;env&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt; 
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;...
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;#&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;너&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;무&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;길&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;어&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;서&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;생&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;략&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;...
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h2&gt;6. Fastlane 실행&lt;/h2&gt;&lt;p&gt;이제 기나긴 작업이 끝나고 완성된 lane들을 사용하는 방법이다!&lt;/p&gt;&lt;div&gt;작업은 길지만 실제 사용은 별거 없다.&amp;nbsp;&lt;/div&gt;&lt;div&gt;platform과 lane 을 선택해주면 설정해준 작업들이 수행된다.&lt;/div&gt;&lt;div&gt;&lt;code&gt;fastlane {platform} {lane}&lt;/code&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;fastlane&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;ios&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;firstapp_debug&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt; 
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;...
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;# working...&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;...
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;13&lt;/span&gt;:&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;48&lt;/span&gt;:&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;03&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt;: ▸ &lt;span class=&quot;ace_identifier&quot;&gt;Archive&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;Succeeded&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt; ...
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;13&lt;/span&gt;:&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;48&lt;/span&gt;:&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;06&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt;: &lt;span class=&quot;ace_identifier&quot;&gt;Successfully&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;exported&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;and&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;compressed&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;dSYM&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;file&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;13&lt;/span&gt;:&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;48&lt;/span&gt;:&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;06&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt;: &lt;span class=&quot;ace_identifier&quot;&gt;Successfully&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;exported&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;and&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;signed&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;the&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;ipa&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;file&lt;/span&gt;:
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;...
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;13&lt;/span&gt;:&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;48&lt;/span&gt;:&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;06&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt;: &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-------------------&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;13&lt;/span&gt;:&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;48&lt;/span&gt;:&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;06&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt;: &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;---&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;Step&lt;/span&gt;: &lt;span class=&quot;ace_identifier&quot;&gt;slack&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;---&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;13&lt;/span&gt;:&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;48&lt;/span&gt;:&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;06&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt;: &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-------------------&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;13&lt;/span&gt;:&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;48&lt;/span&gt;:&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;07&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt;: &lt;span class=&quot;ace_identifier&quot;&gt;Successfully&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;sent&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;Slack&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;notification&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt; 
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;+------+-------------------------------------+-------------+&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;|&lt;/span&gt;                     &lt;span class=&quot;ace_identifier&quot;&gt;fastlane&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;summary&lt;/span&gt;                     &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;|&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;+------+-------------------------------------+-------------+&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;|&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;Step&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;|&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;Action&lt;/span&gt;                              &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;|&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;Time&lt;/span&gt; &lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_keyword&quot;&gt;in&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;s&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;|&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;+------+-------------------------------------+-------------+&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;|&lt;/span&gt; &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;1&lt;/span&gt;    &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;|&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;Verifying&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;required&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;fastlane&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;version&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;|&lt;/span&gt; &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;0&lt;/span&gt;           &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;|&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;|&lt;/span&gt; &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;2&lt;/span&gt;    &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;|&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;default_platform&lt;/span&gt;                    &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;|&lt;/span&gt; &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;0&lt;/span&gt;           &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;|&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;|&lt;/span&gt; &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;3&lt;/span&gt;    &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;|&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;gym&lt;/span&gt;                                 &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;|&lt;/span&gt; &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;23&lt;/span&gt;          &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;|&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;|&lt;/span&gt; &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;4&lt;/span&gt;    &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;|&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;slack&lt;/span&gt;                               &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;|&lt;/span&gt; &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;1&lt;/span&gt;           &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;|&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;+------+-------------------------------------+-------------+&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;...
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;13&lt;/span&gt;:&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;48&lt;/span&gt;:&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;07&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt;: &lt;span class=&quot;ace_identifier&quot;&gt;fastlane&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;tools&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;finished&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;successfully&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;위와 같이 진행과정이 표시되고 모든 작업이 완료되면&amp;nbsp;&lt;code&gt;fastlane.tools finished successfully&lt;/code&gt; 이라는 메시지와 함께 작업이 완료된다.&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h2&gt;끝&lt;/h2&gt;&lt;/div&gt;&lt;/div&gt;
      &lt;script&gt;&lt;/script&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>Programming/iOS - Support</category>
      <category>Android</category>
      <category>auto distribution</category>
      <category>automation</category>
      <category>Badge</category>
      <category>crashlytics</category>
      <category>Fastlane</category>
      <category>gym</category>
      <category>ios</category>
      <category>S3</category>
      <category>sigh</category>
      <category>Slack</category>
      <category>내부배포</category>
      <category>배포</category>
      <category>배포 자동화</category>
      <author>Tez.Park</author>
      <guid isPermaLink="true">https://sham.tistory.com/167</guid>
      <comments>https://sham.tistory.com/167#entry167comment</comments>
      <pubDate>Fri, 12 May 2017 19:02:37 +0900</pubDate>
    </item>
    <item>
      <title>[Rsyslog + Loganalyzer + MySQL] 설치/구성</title>
      <link>https://sham.tistory.com/147</link>
      <description>&lt;meta charset=&quot;utf-8&quot;&gt;
      &lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;&gt;
      &lt;!-- common.css --&gt;
      &lt;style&gt;* {-webkit-tap-highlight-color: rgba(0,0,0,0);}html {-webkit-text-size-adjust: none;}body {font-family: -apple-system, Helvetica, Arial, sans-serif;margin: 0;padding: 20px;color: #333;word-wrap: break-word;}h1, h2, h3, h4, h5, h6 {line-height: 1.1;}img {max-width: 100% !important;}blockquote {margin: 0;padding: 0 15px;color: #777;border-left: 4px solid #ddd;}hr {background-color: #ddd;border: 0;height: 1px;margin: 15px 0;}code {font-family: Menlo, Consolas, 'Ubuntu Mono', Monaco, 'source-code-pro', monospace;line-height: 1.4;margin: 0;padding: 0.2em 0;font-size: 90%;background-color: rgba(0,0,0,0.04);border-radius: 3px;}pre &gt; code {margin: 0;padding: 0;font-size: 100%;word-break: normal;background: transparent;border: 0;}ol {list-style-type: decimal;}ol ol, ul ol {list-style-type: lower-latin;}ol ol ol, ul ol ol, ul ul ol, ol ul ol {list-style-type: lower-roman;}table {border-spacing: 0;border-collapse: collapse;margin-top: 0;margin-bottom: 16px;}table th {font-weight: bold;}table th, table td {padding: 6px 13px;border: 1px solid #ddd;}table tr {border-top: 1px solid #ccc;}table tr:nth-child(even) {background-color: #f8f8f8;}input[type=&quot;checkbox&quot;] {cursor: default;margin-right: 0.5em;font-size: 13px;}.task-list-item {list-style-type: none;}.task-list-item+.task-list-item {margin-top: 3px;}.task-list-item input {float: left;margin: 0.3em 1em 0.25em -1.6em;vertical-align: middle;}#tag-field {margin: 8px 2px 10px;}#tag-field .tag {display: inline-block;background: #cadff3;border-radius: 4px;padding: 1px 8px;color: black;font-size: 12px;margin-right: 10px;line-height: 1.4;}&lt;/style&gt;
      &lt;!-- ace-static.css --&gt;
      &lt;style&gt;.ace_static_highlight {white-space: pre-wrap;}.ace_static_highlight .ace_gutter {width: 2em;text-align: right;padding: 0 3px 0 0;margin-right: 3px;}.ace_static_highlight.ace_show_gutter &gt; .ace_line {padding-left: 2.6em;}.ace_static_highlight .ace_line {position: relative;}.ace_static_highlight .ace_gutter-cell {-moz-user-select: -moz-none;-khtml-user-select: none;-webkit-user-select: none;user-select: none;top: 0;bottom: 0;left: 0;position: absolute;}.ace_static_highlight .ace_gutter-cell:before {content: counter(ace_line, decimal);counter-increment: ace_line;}.ace_static_highlight {counter-reset: ace_line;}&lt;/style&gt;
      &lt;style&gt;.ace-idle-fingers .ace_gutter {background: #3b3b3b;color: rgb(153,153,153)}.ace-idle-fingers .ace_print-margin {width: 1px;background: #3b3b3b}.ace-idle-fingers {background-color: #323232;color: #FFFFFF}.ace-idle-fingers .ace_cursor {color: #91FF00}.ace-idle-fingers .ace_marker-layer .ace_selection {background: rgba(90, 100, 126, 0.88)}.ace-idle-fingers.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px #323232;}.ace-idle-fingers .ace_marker-layer .ace_step {background: rgb(102, 82, 0)}.ace-idle-fingers .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid #404040}.ace-idle-fingers .ace_marker-layer .ace_active-line {background: #353637}.ace-idle-fingers .ace_gutter-active-line {background-color: #353637}.ace-idle-fingers .ace_marker-layer .ace_selected-word {border: 1px solid rgba(90, 100, 126, 0.88)}.ace-idle-fingers .ace_invisible {color: #404040}.ace-idle-fingers .ace_keyword,.ace-idle-fingers .ace_meta {color: #CC7833}.ace-idle-fingers .ace_constant,.ace-idle-fingers .ace_constant.ace_character,.ace-idle-fingers .ace_constant.ace_character.ace_escape,.ace-idle-fingers .ace_constant.ace_other,.ace-idle-fingers .ace_support.ace_constant {color: #6C99BB}.ace-idle-fingers .ace_invalid {color: #FFFFFF;background-color: #FF0000}.ace-idle-fingers .ace_fold {background-color: #CC7833;border-color: #FFFFFF}.ace-idle-fingers .ace_support.ace_function {color: #B83426}.ace-idle-fingers .ace_variable.ace_parameter {font-style: italic}.ace-idle-fingers .ace_string {color: #A5C261}.ace-idle-fingers .ace_string.ace_regexp {color: #CCCC33}.ace-idle-fingers .ace_comment {font-style: italic;color: #BC9458}.ace-idle-fingers .ace_meta.ace_tag {color: #FFE5BB}.ace-idle-fingers .ace_entity.ace_name {color: #FFC66D}.ace-idle-fingers .ace_collab.ace_user1 {color: #323232;background-color: #FFF980}.ace-idle-fingers .ace_indent-guide {background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWMwMjLyZYiPj/8PAAreAwAI1+g0AAAAAElFTkSuQmCC) right repeat-y}&lt;/style&gt;
      &lt;!-- export.css --&gt;
      &lt;style&gt;
        body{margin:0 auto;max-width:100%;line-height:1.4}
        #nav{margin:5px 0 10px;font-size:15px}
        #titlearea{border-bottom:1px solid #ccc;font-size:17px;padding:10px 0;}
        #contentarea{font-size:15px;margin:16px 0}
        .cell{outline:0;min-height:20px;margin:5px 0;padding:5px 0;}
        .code-cell{font-family:Menlo,Consolas,'Ubuntu Mono',Monaco,'source-code-pro',monospace;font-size:12px;}
        .latex-cell{white-space:pre-wrap;}
      &lt;/style&gt;
      &lt;!-- User CSS --&gt;
      &lt;style&gt; .text-cell {font-size: 15px;}.code-cell {font-size: 12px;}.markdown-cell {font-size: 15px;}.latex-cell {font-size: 15px;}&lt;/style&gt;
    
    
      
      &lt;div id=&quot;contentarea&quot;&gt;&lt;div class=&quot;cell text-cell&quot;&gt;Rsyslog : &lt;b&gt;ver 8&lt;/b&gt;&lt;div&gt;LogAnalyzer : &lt;b&gt;ver 4.1.3&lt;/b&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h2&gt;[Server] - Rsyslog&lt;/h2&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h3&gt;Rsyslog 설치&lt;/h3&gt;&lt;div&gt;wget 패키지 설치 (없는경우만)&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;# If not exist wget&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;yum&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;install&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;y&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;wget&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;yum&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;update&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;Rsyslog 설치&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;# Install Rsyslog&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;wget&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;http&lt;/span&gt;:&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;//&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;rpms&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;adiscon&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;com&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;v8&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;stable&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;rsyslog&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;repo&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;mv&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;rsyslog&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;repo&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;etc&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;yum&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;repos&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;d&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;rsyslog&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;repo&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;yum&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;install&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;y&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;rsyslog&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;systemctl&lt;/span&gt; &lt;span class=&quot;ace_support ace_function ace_builtin&quot;&gt;enable&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;rsyslog&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;Rsyslog-mysql 설치&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;# Install rsyslog-mysql&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;yum&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;install&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;y&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;rsyslog&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;rsyslog&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;mysql&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h3&gt;Mysql 설치 및 rsyslog-DB 세팅&lt;/h3&gt;&lt;div&gt;MySQL 설치&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;# Install MySQL&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;wget&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;http&lt;/span&gt;:&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;//&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;repo&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;mysql&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;com&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;mysql&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;community&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;release&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;el7&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;5.&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;noarch&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;rpm&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;sudo&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;rpm&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;ivh&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;mysql&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;community&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;release&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;el7&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;5.&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;noarch&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;rpm&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;yum&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;update&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;yum&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;install&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;y&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;mysql&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;server&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;systemctl&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;start&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;mysqld&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;MySQL 초기 설정&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;# Setting MySQL&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;mysql_secure_installation&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;Rsyslog Database 덤프&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;# Import rsyslog-mysql dump&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;mysql&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;u&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;root&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;p&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;lt;&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;usr&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;share&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;doc&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;rsyslog&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;mysql&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;x&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;x&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;createDB&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;sql&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;Rsyslog용 계정 생성&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;# Create the user to access the database&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;mysql&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;u&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;root&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;p&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;mysql&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;GRANT&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;ALL&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;ON&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;Syslog&lt;/span&gt;.&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;*&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;TO&lt;/span&gt; &lt;span class=&quot;ace_string ace_start&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;rsyslog&lt;/span&gt;&lt;span class=&quot;ace_string ace_end&quot;&gt;'&lt;/span&gt;@&lt;span class=&quot;ace_string ace_start&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;localhost&lt;/span&gt;&lt;span class=&quot;ace_string ace_end&quot;&gt;'&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;IDENTIFIED&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;BY&lt;/span&gt; &lt;span class=&quot;ace_string ace_start&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;Password&lt;/span&gt;&lt;span class=&quot;ace_string ace_end&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;;&lt;/span&gt;  &lt;span class=&quot;ace_comment&quot;&gt;#&amp;lt;- &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;실&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;제&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;쓰&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;는&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;걸&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;로&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;넣&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;자&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;mysql&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;FLUSH&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;PRIVILEGES&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;mysql&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&quot;ace_support ace_function ace_builtin&quot;&gt;exit&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h3&gt;Rsyslog 세팅&lt;/h3&gt;&lt;div&gt;설정파일 편집기로 실행&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;vi&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;etc&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;rsyslog&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;conf&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&amp;nbsp;설정파일에 MySQL 모듈/템플릿 추가&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;# Load the MySQL Module&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_variable&quot;&gt;$template&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;SQLWithProcessID&lt;/span&gt;,&lt;span class=&quot;ace_string&quot;&gt;&quot;insert into SystemEvents (Message, Facility, FromHost, Priority, DeviceReportedTime, ReceivedAt, InfoUnitID, SysLogTag, ProcessID) values ('%msg%', %syslogfacility%, '%HOSTNAME%', %syslogpriority%, '%timereported:::date-mysql%', '%timegenerated:::date-mysql%', %iut%, '%syslogtag:R,ERE,1,FIELD:([a-zA-Z\/]+)(\[[0-9]{1,5}\])*:--end%', '%syslogtag:R,ERE,1,BLANK:\[([0-9]{1,5})\]--end%')&quot;&lt;/span&gt;,&lt;span class=&quot;ace_identifier&quot;&gt;sql&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;module&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_variable&quot;&gt;load=&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;&quot;ommysql&quot;&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;action&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_variable&quot;&gt;type=&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;&quot;ommysql&quot;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt; &lt;span class=&quot;ace_variable&quot;&gt;server=&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;&quot;localhost&quot;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt; &lt;span class=&quot;ace_variable&quot;&gt;serverport=&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;&quot;3306&quot;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt; &lt;span class=&quot;ace_variable&quot;&gt;db=&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;&quot;Syslog&quot;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt; &lt;span class=&quot;ace_variable&quot;&gt;uid=&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;&quot;rsyslog&quot;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt; &lt;span class=&quot;ace_variable&quot;&gt;pwd=&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;&quot;password&quot;&lt;/span&gt;  &lt;span class=&quot;ace_comment&quot;&gt;#&amp;lt;- &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;실&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;제&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;쓰&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;는&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;걸&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;로&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;넣&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;자&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt; &lt;span class=&quot;ace_variable&quot;&gt;template=&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;&quot;SQLWithProcessID&quot;&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&amp;nbsp;설정파일에서 UDP 통신을 위한 포트 설정 주석 제거&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;# Provides UDP syslog reception&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;# for parameters see http://www.rsyslog.com/doc/imudp.html&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;module&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_variable&quot;&gt;load=&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;&quot;imudp&quot;&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;ace_comment&quot;&gt;# needs to be done just once&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;input&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_variable&quot;&gt;type=&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;&quot;imudp&quot;&lt;/span&gt; &lt;span class=&quot;ace_variable&quot;&gt;port=&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;&quot;514&quot;&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;설정파일에 룰 수정&lt;div&gt;&lt;font color=&quot;#323232&quot; style=&quot;background-color: rgb(254, 250, 0);&quot;&gt;&lt;b&gt;local1 은 httpd&lt;/b&gt;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font color=&quot;#323232&quot; style=&quot;background-color: rgb(254, 250, 0);&quot;&gt;&lt;b&gt;local2 는 nginx&lt;/b&gt;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font color=&quot;#323232&quot; style=&quot;background-color: rgb(254, 250, 0);&quot;&gt;&lt;b&gt;local3 는 python&lt;/b&gt;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font color=&quot;#323232&quot; style=&quot;background-color: rgb(254, 250, 0);&quot;&gt;&lt;b&gt;local4 는 php&lt;/b&gt;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font color=&quot;#323232&quot; style=&quot;background-color: rgb(254, 250, 0);&quot;&gt;&lt;b&gt;로 정의해서 쓰기로 함.&lt;/b&gt;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font color=&quot;#323232&quot; style=&quot;background-color: rgb(254, 250, 0);&quot;&gt;&lt;b&gt;message파일 에 저장하지 않으려면 local1.!* &amp;nbsp;처럼 추가로 등록한 속성에 대해서 예외처리 걸어줘야함&lt;/b&gt;&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;#### RULES ####&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;...
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;*&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;emerg&lt;/span&gt;                                                 :&lt;span class=&quot;ace_identifier&quot;&gt;omusrmsg&lt;/span&gt;:&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;*&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;...
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;# Custom - tez&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_variable&quot;&gt;$template&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;tmplmsg&lt;/span&gt;, &lt;span class=&quot;ace_string&quot;&gt;&quot;/var/log/remote/%hostname%/%programname%.log&quot;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_variable&quot;&gt;$template&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;tmplhttpd&lt;/span&gt;, &lt;span class=&quot;ace_string&quot;&gt;&quot;/var/log/remote/%hostname%/httpd.log&quot;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_variable&quot;&gt;$template&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;tmplhttpdaccess&lt;/span&gt;, &lt;span class=&quot;ace_string&quot;&gt;&quot;/var/log/remote/%hostname%/httpd-access.log&quot;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_variable&quot;&gt;$template&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;tmplhttpderror&lt;/span&gt;, &lt;span class=&quot;ace_string&quot;&gt;&quot;/var/log/remote/%hostname%/httpd-error.log&quot;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_variable&quot;&gt;$template&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;tmplnginx&lt;/span&gt;, &lt;span class=&quot;ace_string&quot;&gt;&quot;/var/log/remote/%hostname%/nginx/nginx.log&quot;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_variable&quot;&gt;$template&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;tmplnginxaccess&lt;/span&gt;, &lt;span class=&quot;ace_string&quot;&gt;&quot;/var/log/remote/%hostname%/nginx/nginx-access.log&quot;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_variable&quot;&gt;$template&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;tmplnginxerror&lt;/span&gt;, &lt;span class=&quot;ace_string&quot;&gt;&quot;/var/log/remote/%hostname%/nginx/nginx-error.log&quot;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_variable&quot;&gt;$template&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;tmplpython&lt;/span&gt;, &lt;span class=&quot;ace_string&quot;&gt;&quot;/var/log/remote/%hostname%/%programname%.log&quot;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_variable&quot;&gt;$template&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;tmplphp&lt;/span&gt;, &lt;span class=&quot;ace_string&quot;&gt;&quot;/var/log/remote/%hostname%/%programname%.log&quot;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_variable&quot;&gt;$template&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;tmplauth&lt;/span&gt;, &lt;span class=&quot;ace_string&quot;&gt;&quot;/var/log/remote/%hostname%/secure/%programname%.log&quot;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_variable&quot;&gt;$template&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;tmplmail&lt;/span&gt;, &lt;span class=&quot;ace_string&quot;&gt;&quot;/var/log/remote/%hostname%/maillog/%programname%.log&quot;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_variable&quot;&gt;$template&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;tmplcron&lt;/span&gt;, &lt;span class=&quot;ace_string&quot;&gt;&quot;/var/log/remote/%hostname%/cron/%programname%.log&quot;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_variable&quot;&gt;$template&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;tmplspooler&lt;/span&gt;, &lt;span class=&quot;ace_string&quot;&gt;&quot;/var/log/remote/%hostname%/spooler/%programname%.log&quot;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_variable&quot;&gt;$template&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;tmplboot&lt;/span&gt;, &lt;span class=&quot;ace_string&quot;&gt;&quot;/var/log/remote/%hostname%/boot/%programname%.log&quot;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;*&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;info&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;local1&lt;/span&gt;.!&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;local2&lt;/span&gt;.!&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;local3&lt;/span&gt;.!&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;local4&lt;/span&gt;.!&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;mail&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;none&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;authpriv&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;none&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;cron&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;none&lt;/span&gt;   ?&lt;span class=&quot;ace_identifier&quot;&gt;tmplmsg&lt;/span&gt; &lt;span class=&quot;ace_comment&quot;&gt;#httpd.info(access)&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;도&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;포&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;함&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;authpriv&lt;/span&gt;.&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;*&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ?&lt;span class=&quot;ace_identifier&quot;&gt;tmplauth&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;mail&lt;/span&gt;.&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;*&lt;/span&gt;  &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;?&lt;span class=&quot;ace_identifier&quot;&gt;tmplmail&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;cron&lt;/span&gt;.&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;*&lt;/span&gt;  &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;?&lt;span class=&quot;ace_identifier&quot;&gt;tmplcron&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;uucp&lt;/span&gt;,&lt;span class=&quot;ace_identifier&quot;&gt;news&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;crit&lt;/span&gt;  ?&lt;span class=&quot;ace_identifier&quot;&gt;tmplspooler&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;local7&lt;/span&gt;.&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;*&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;?&lt;span class=&quot;ace_identifier&quot;&gt;tmplboot&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;local1&lt;/span&gt;.&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;local1&lt;/span&gt;.&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;!=&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;info&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;local1&lt;/span&gt;.&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;!=&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;error&lt;/span&gt;   ?&lt;span class=&quot;ace_identifier&quot;&gt;tmplhttpd&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;local1&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;info&lt;/span&gt;    &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ?&lt;span class=&quot;ace_identifier&quot;&gt;tmplhttpdaccess&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;local1&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;error&lt;/span&gt;    &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;?&lt;span class=&quot;ace_identifier&quot;&gt;tmplhttpderror&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;local2&lt;/span&gt;.&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;local2&lt;/span&gt;.&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;!=&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;info&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;local2&lt;/span&gt;.&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;!=&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;error&lt;/span&gt;   ?&lt;span class=&quot;ace_identifier&quot;&gt;tmplnginx&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;local2&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;info&lt;/span&gt;  &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;?&lt;span class=&quot;ace_identifier&quot;&gt;tmplnginxaccess&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;local2&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;error&lt;/span&gt;  &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;?&lt;span class=&quot;ace_identifier&quot;&gt;tmplnginxerror&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;local3&lt;/span&gt;.&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;*&lt;/span&gt;  ?&lt;span class=&quot;ace_identifier&quot;&gt;tmplpython&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;local4&lt;/span&gt;.&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;*&lt;/span&gt;  ?&lt;span class=&quot;ace_identifier&quot;&gt;tmplphp&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;rsyslog 재시작&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;systemctl&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;restart&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;rsyslog&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;!! 만약 firewall / iptables / selinux 사용하는 경우 udp514 포트를 열어주자&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h3&gt;Logrotate 설정&lt;/h3&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;/etc/logroate.conf&lt;/div&gt;&lt;div&gt;/etc/logrotate.d/*&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;/etc/logrotate.d/rsyslog_remote 생성해서 템플릿으로 경로를 바꾼 로그들도 관리되게 해주자 &amp;nbsp;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;# &amp;gt;$ /etc/logrotate.conf&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;...
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;#weekly&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;daily&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;...
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;#rotate 4&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;rotate&lt;/span&gt; &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;5&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;...
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;copytruncate&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;...
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;# &amp;gt;$ /etc/logrotate.d/rsyslog_remote&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;#/var/log/remote/*.log&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;var&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;log&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;remote&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/*/*&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;log&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;var&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;log&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;remote&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/*/*/*&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;log&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;{&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;    &lt;span class=&quot;ace_identifier&quot;&gt;mail&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;dev&lt;/span&gt;@&lt;span class=&quot;ace_identifier&quot;&gt;tez.kr &lt;/span&gt;&lt;span style=&quot;color: rgb(188, 148, 88); font-style: italic;&quot;&gt;# optional&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;    &lt;span class=&quot;ace_identifier&quot;&gt;daily&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;    &lt;span class=&quot;ace_identifier&quot;&gt;rotate&lt;/span&gt; &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;5&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;    &lt;span class=&quot;ace_identifier&quot;&gt;dateext&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;    &lt;span class=&quot;ace_identifier&quot;&gt;missingok&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;    &lt;span class=&quot;ace_identifier&quot;&gt;ifempty&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;    &lt;span class=&quot;ace_identifier&quot;&gt;copytruncate&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;    &lt;span class=&quot;ace_identifier&quot;&gt;create&lt;/span&gt; &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;0600&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;root&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;root&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;    &lt;span class=&quot;ace_identifier&quot;&gt;sharedscripts&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;    &lt;span class=&quot;ace_identifier&quot;&gt;postrotate&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;   &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;bin&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_support ace_function ace_builtin&quot;&gt;kill&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;HUP&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;`&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;cat&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;var&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;run&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;syslogd&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;pid&lt;/span&gt; &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;dev&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;null&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;`&lt;/span&gt; &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;dev&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;null&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;||&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;true&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;    &lt;span class=&quot;ace_identifier&quot;&gt;endscript&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;}&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;메일 전송을 위한 패키지 설치/설정&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;yum&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;install&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;mailx&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;ncompress&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;# &amp;gt;$ vi /etc/postfix/main.cf&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;...
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;message_size_limit&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;20480000&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;systemctl&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;restart&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;postfix&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;hr&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h2&gt;[Server] - LogAnalyzer&lt;/h2&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h3&gt;아파치 설치, 실행 (설치 안된 경우만)&lt;/h3&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;# Install and Start Httpd (Apache2)&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;yum&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;install&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;y&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;httpd&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;systemctl&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;start&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;httpd&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;systemctl&lt;/span&gt; &lt;span class=&quot;ace_support ace_function ace_builtin&quot;&gt;enable&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;httpd&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;아파치 실행 후 브라우저로 확인 ( http://server-ip/ )&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h3&gt;PHP 설치, 실행&lt;/h3&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;# Install php&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_variable&quot;&gt;$yum&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;install&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;y&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;php&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;php&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;mysql&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;php&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;gd&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;# Create phpinfo page&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;nano&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;var&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;www&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;html&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_support ace_function ace_builtin&quot;&gt;test&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;php&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;  &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;lt;&lt;/span&gt;?&lt;span class=&quot;ace_identifier&quot;&gt;php&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;  &lt;span class=&quot;ace_support ace_function&quot;&gt;phpinfo()&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;  ?&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;# Restart Apache Service&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;systemctl&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;restart&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;httpd&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;http://server-ip/test.php 로 접속하여 php정보 확인&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h3&gt;LogAnalyzer 설치&lt;/h3&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;다운로드&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;wget&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;http&lt;/span&gt;:&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;//&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;download&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;adiscon&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;com&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;loganalyzer&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;loganalyzer&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;4.1.3&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;tar&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;gz&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;압축해제&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;tar&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;zxvf&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;loganalyzer&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;4.1.3&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;tar&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;gz&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;Apache에 LogAnalyrzer 설치파일 복사&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;cp&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;r&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;loganalyzer&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;4.1.3&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;src&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;var&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;www&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;html&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;loganalyzer&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;cp&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;r&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;loganalyzer&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;4.1.3&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;contrib&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/*&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;var&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;www&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;html&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;loganalyzer&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;권한 수정&lt;div&gt;&lt;ul&gt;&lt;li&gt;하위버전에서는 configure, secure 파일만 수정하면 되지만 권한 문제가 발생하는 경우가 종종있어서 폴더 전체에 권한 설정을 해준다.&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_support ace_function ace_builtin&quot;&gt;cd&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;var&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;www&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;html&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;loganalyzer&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;chmod&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;x&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;configure&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;sh&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;secure&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;sh&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;# If permission error occurred&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;chown&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;apache&lt;/span&gt;:&lt;span class=&quot;ace_identifier&quot;&gt;apache&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;R&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;var&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;www&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;html&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;loganalyzer&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;find&lt;/span&gt; . &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_support ace_function ace_builtin&quot;&gt;type&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;f&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_support ace_function ace_builtin&quot;&gt;exec&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;chmod&lt;/span&gt; &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;0644&lt;/span&gt; &lt;span class=&quot;ace_paren ace_lparen&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;}&lt;/span&gt; &lt;span class=&quot;ace_constant&quot;&gt;\;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;find&lt;/span&gt; . &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_support ace_function ace_builtin&quot;&gt;type&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;d&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_support ace_function ace_builtin&quot;&gt;exec&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;chmod&lt;/span&gt; &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;0755&lt;/span&gt; &lt;span class=&quot;ace_paren ace_lparen&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;}&lt;/span&gt; &lt;span class=&quot;ace_constant&quot;&gt;\;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;chcon&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;t&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;httpd_sys_content_t&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;var&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;www&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;html&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;loganalyzer&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;R&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;chcon&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;t&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;httpd_sys_rw_content_t&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;var&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;www&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;html&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;loganalyzer&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;R&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;configure.sh 실행 -&amp;gt; 빈 config.php 파일을 쓰기권한으로 생성해준다&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;$ .&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;configure&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;sh&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;# If permission error occurred&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_support ace_function ace_builtin&quot;&gt;cd&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;var&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;www&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;html&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;loganalyzer&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;touch&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;config&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;php&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;chown&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;apache&lt;/span&gt;:&lt;span class=&quot;ace_identifier&quot;&gt;apache&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;config&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;php&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;chmod&lt;/span&gt; &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;777&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;config&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;php&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;설치&lt;div&gt;&lt;ul&gt;&lt;li&gt;http://server-ip/loganalyzer 접속&lt;/li&gt;&lt;li&gt;Step 1&lt;/li&gt;&lt;ul&gt;&lt;li&gt;next&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;Step 2&lt;/li&gt;&lt;ul&gt;&lt;li&gt;next&lt;/li&gt;&lt;li&gt;permission 문제 발생시 위에있는 권한관련 처리&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;Step 3&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Enable User Database -&amp;gt; Yes&lt;/li&gt;&lt;li&gt;DB 관련 정보 입력&lt;/li&gt;&lt;ul&gt;&lt;li&gt;DatabaseName : Syslog&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;Require user to be logged in -&amp;gt; YES&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;Step 4&lt;/li&gt;&lt;ul&gt;&lt;li&gt;next&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;Step 5&lt;/li&gt;&lt;ul&gt;&lt;li&gt;next&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;Step 6&lt;/li&gt;&lt;ul&gt;&lt;li&gt;&amp;nbsp;계정 생성&lt;/li&gt;&lt;li&gt;next&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;Step 7&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Source Type -&amp;gt; MySQL native&lt;/li&gt;&lt;li&gt;Select View -&amp;gt; Syslog Fields&lt;/li&gt;&lt;li&gt;DB 정보 입력&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Database Name -&amp;gt; Syslog&lt;/li&gt;&lt;li&gt;Table Name -&amp;gt; SystemEvents (대소문자 구분!!)&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;li&gt;Step 8&lt;/li&gt;&lt;ul&gt;&lt;li&gt;next&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;hr&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h2&gt;[Client]&lt;/h2&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h3&gt;Rsyslog 설치&lt;/h3&gt;&lt;div&gt;wget 패키지 설치 (없는경우만)&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;# If not exist wget&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;yum&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;install&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;y&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;wget&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;yum&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;update&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;Rsyslog 설치&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;# Install rsyslog-mysql&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;yum&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;install&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;y&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;rsyslog&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;rsyslog&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;mysql&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h3&gt;Rsyslog 세팅&lt;/h3&gt;&lt;div&gt;설정파일 편집기로 실행&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;vi&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;etc&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;rsyslog&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;conf&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;설정파일에 rsyslog server 정보 추가&lt;div&gt;&lt;ul&gt;&lt;li&gt;apache log 전송을 위해 local1 룰 추가&lt;/li&gt;&lt;li&gt;모든 로그를 로그서버로 전송&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;div&gt;&lt;font color=&quot;#323232&quot; style=&quot;background-color: rgb(254, 250, 0);&quot;&gt;&lt;b&gt;local1 은 httpd&lt;/b&gt;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font color=&quot;#323232&quot; style=&quot;background-color: rgb(254, 250, 0);&quot;&gt;&lt;b&gt;local2 는 nginx&lt;/b&gt;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font color=&quot;#323232&quot; style=&quot;background-color: rgb(254, 250, 0);&quot;&gt;&lt;b&gt;local3 는 python&lt;/b&gt;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font color=&quot;#323232&quot; style=&quot;background-color: rgb(254, 250, 0);&quot;&gt;&lt;b&gt;local4 는 php&lt;/b&gt;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font color=&quot;#323232&quot; style=&quot;background-color: rgb(254, 250, 0);&quot;&gt;&lt;b&gt;로 정의해서 쓰기로 함.&lt;/b&gt;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;b style=&quot;color: rgb(50, 50, 50); background-color: rgb(254, 250, 0);&quot;&gt;message파일 에 저장하지 않으려면 local1.!* &amp;nbsp;처럼 추가로 등록한 속성에 대해서 예외처리 걸어줘야함&lt;/b&gt;&lt;font color=&quot;#323232&quot; style=&quot;background-color: rgb(254, 250, 0);&quot;&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;#### RULES ####&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;...
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;#*.info;mail.none;authpriv.none;cron.none                /var/log/messages&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;*&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;info&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;local1&lt;/span&gt;.!&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;local2&lt;/span&gt;.!&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;local3&lt;/span&gt;.!&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;local4&lt;/span&gt;.!&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;mail&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;none&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;authpriv&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;none&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;cron&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;none&lt;/span&gt;                &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;var&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;log&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;messages&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;...
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;# for Custom log&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;local1&lt;/span&gt;.&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;local1&lt;/span&gt;.&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;!=&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;info&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;local1&lt;/span&gt;.&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;!=&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;error&lt;/span&gt;      &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;var&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;log&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;httpd&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;local1&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;info&lt;/span&gt;     &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;var&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;log&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;httpd&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;access&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;local1&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;error&lt;/span&gt;    &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;var&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;log&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;httpd&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;error&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;local2&lt;/span&gt;.&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;*&lt;/span&gt;      &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;var&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;log&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;nginx&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;local3&lt;/span&gt;.&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;*&lt;/span&gt;      &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;var&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;log&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;python&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;local4&lt;/span&gt;.&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;*&lt;/span&gt;      &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;var&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;log&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;php&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;...
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;#*.* @@remote-host:514&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;*&lt;/span&gt;.&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;*&lt;/span&gt; @&lt;span class=&quot;ace_identifier&quot;&gt;x&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;x&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;x&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;x&lt;/span&gt;:&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;514&lt;/span&gt;    &lt;span class=&quot;ace_comment&quot;&gt;# &amp;lt;- log server ip&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;rsyslog 재시작&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;systemctl&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;restart&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;rsyslog&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h3&gt;Apache 세팅&lt;/h3&gt;&lt;div&gt;apache log 를 syslog로 전달하기 위한 작업&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;httpd.conf 수정&lt;/li&gt;&lt;ul&gt;&lt;li&gt;ErrorLog랑 CustomLog 추가&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;# &amp;gt;$ vi /usr/local/apache2/conf/httpd.conf&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;...
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;SetEnvIfNoCase&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;Request_URI&lt;/span&gt; &lt;span class=&quot;ace_string&quot;&gt;&quot;\.(jpg|jpeg|png|gif|bmp|css|ico|js|swf)$&quot;&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;exceptlist&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;...
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;#ErrorLog &quot;logs/error_log&quot;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;ErrorLogFormat&lt;/span&gt; &lt;span class=&quot;ace_string&quot;&gt;&quot;%t %a [%v] &lt;/span&gt;&lt;span class=&quot;ace_constant ace_language ace_escape&quot;&gt;\&quot;&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;%{User-Agent}i&lt;/span&gt;&lt;span class=&quot;ace_constant ace_language ace_escape&quot;&gt;\&quot;&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt; [%-l] %7F: %E: %M&quot;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;ErrorLog&lt;/span&gt; &lt;span class=&quot;ace_string&quot;&gt;&quot;|/usr/bin/logger -p local1.error -t httpd&quot;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;...
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;#CustomLog &quot;logs/access_log&quot; common&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;LogFormat&lt;/span&gt; &lt;span class=&quot;ace_string&quot;&gt;&quot;%h %l %u %t &lt;/span&gt;&lt;span class=&quot;ace_constant ace_language ace_escape&quot;&gt;\&quot;&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;%v%U&lt;/span&gt;&lt;span class=&quot;ace_constant ace_language ace_escape&quot;&gt;\&quot;&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt; &lt;/span&gt;&lt;span class=&quot;ace_constant ace_language ace_escape&quot;&gt;\&quot;&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;%r&lt;/span&gt;&lt;span class=&quot;ace_constant ace_language ace_escape&quot;&gt;\&quot;&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt; %&amp;gt;s %b &lt;/span&gt;&lt;span class=&quot;ace_constant ace_language ace_escape&quot;&gt;\&quot;&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;%{User-Agent}i&lt;/span&gt;&lt;span class=&quot;ace_constant ace_language ace_escape&quot;&gt;\&quot;&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt; **%Tsec/%Dmsec**&quot;&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;combinedTez&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;CustomLog&lt;/span&gt; &lt;span class=&quot;ace_string&quot;&gt;&quot;|/usr/bin/logger -p local1.info -t httpd&quot;&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;combinedTez&lt;/span&gt; &lt;span class=&quot;ace_variable&quot;&gt;env=&lt;/span&gt;!&lt;span class=&quot;ace_identifier&quot;&gt;exceptlist&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;ul&gt;&lt;li&gt;httpd-vhost.conf 수정&lt;/li&gt;&lt;ul&gt;&lt;li&gt;위의 설정을 하고 이곳에 로그를 주석처리해야 rsyslog에서 설정한 로그로 저장된다.&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;...
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;VirtualHost&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;*&lt;/span&gt;:&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;80&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;    ...
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;    &lt;span class=&quot;ace_comment&quot;&gt;#ErrorLog &quot;logs/tez.kr-error_log&quot;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;    &lt;span class=&quot;ace_comment&quot;&gt;#CustomLog &quot;logs/tez.kr-access_log&quot; common&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;    ...
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;VirtualHost&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;gt;&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h3&gt;Nginx 세팅&lt;/h3&gt;&lt;div&gt;nginx log 를 syslog로 전달하기 위한 작업 (nginx &amp;gt;= 1.7.1)&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;nginx.conf 수정&lt;/li&gt;&lt;ul&gt;&lt;li&gt;error_log, access_log 추가&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;# &amp;gt;$ vi /etc/nginx/nginx.conf&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;...
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;#error_log  /var/log/nginx/error.log;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;error_log&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;syslog&lt;/span&gt;:&lt;span class=&quot;ace_variable&quot;&gt;server=&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;unix&lt;/span&gt;:&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;dev&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;log&lt;/span&gt;,&lt;span class=&quot;ace_variable&quot;&gt;facility=&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;local2&lt;/span&gt;,&lt;span class=&quot;ace_variable&quot;&gt;tag=&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;nginx&lt;/span&gt;,&lt;span class=&quot;ace_variable&quot;&gt;severity=&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;error&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;...
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;http&lt;/span&gt; &lt;span class=&quot;ace_paren ace_lparen&quot;&gt;{&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;    ...
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;    &lt;span class=&quot;ace_identifier&quot;&gt;log_format&lt;/span&gt;  &lt;span class=&quot;ace_identifier&quot;&gt;main&lt;/span&gt;  &lt;span class=&quot;ace_string ace_start&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;$remote_addr - $remote_user [$time_local] &quot;$request&quot; &lt;/span&gt;&lt;span class=&quot;ace_string ace_end&quot;&gt;'&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;  &lt;span class=&quot;ace_string ace_start&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;$status $body_bytes_sent &quot;$http_referer&quot; &lt;/span&gt;&lt;span class=&quot;ace_string ace_end&quot;&gt;'&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;  &lt;span class=&quot;ace_string ace_start&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;&quot;$http_user_agent&quot; &quot;$http_x_forwarded_for&quot;&lt;/span&gt;&lt;span class=&quot;ace_string ace_end&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;    &lt;span class=&quot;ace_comment&quot;&gt;#access_log  /var/log/nginx/access.log  main;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;    &lt;span class=&quot;ace_identifier&quot;&gt;access_log&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;syslog&lt;/span&gt;:&lt;span class=&quot;ace_variable&quot;&gt;server=&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;unix&lt;/span&gt;:&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;dev&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;log&lt;/span&gt;,&lt;span class=&quot;ace_variable&quot;&gt;facility=&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;local2&lt;/span&gt;,&lt;span class=&quot;ace_variable&quot;&gt;tag=&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;nginx&lt;/span&gt;,&lt;span class=&quot;ace_variable&quot;&gt;severity=&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;info&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;main&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;    ...
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;}&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;...
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;ul&gt;&lt;li&gt;vhost.conf 확인&lt;/li&gt;&lt;ul&gt;&lt;li&gt;vhost안에 log 설정하는 부분이 있으면 빼주자&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h3&gt;Logrotate 설정&lt;/h3&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;logrotate 설정을 변경해준다&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;하루단위로 백업, 3일 단위로 rotate, mail&amp;nbsp;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;# &amp;gt;$ vi /etc/logrotate.conf&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;# see &quot;man logrotate&quot; for details&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;# rotate log files weekly&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;daily&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;# keep 4 weeks worth of backlogs&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;rotate&lt;/span&gt; &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;3&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;...
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;div&gt;logrotate -&amp;gt; syslog 설정을 변경해준다&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;하루단위로 백업, 3일 단위로 rotate, mail&amp;nbsp;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;# &amp;gt;$ vi /etc/logrotate.d/syslog&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;var&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;log&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;cron&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;var&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;log&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;maillog&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;var&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;log&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;messages&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;var&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;log&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;secure&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;var&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;log&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;spooler&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;var&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;log&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;httpd&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;var&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;log&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;httpd&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;access&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;var&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;log&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;httpd&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;error&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;var&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;log&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;nginx&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;var&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;log&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;python&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;var&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;log&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;php&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;var&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;log&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;shopadmin_server_production&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;log&lt;/span&gt;  &lt;span class=&quot;ace_comment&quot;&gt;# &amp;lt;- &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;필&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;요&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;한&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;데&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;서&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;만&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;var&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;log&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;shopadmin_server_development&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;log&lt;/span&gt; &lt;span class=&quot;ace_comment&quot;&gt;# &amp;lt;- &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;필&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;요&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;한&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;데&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;서&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;만&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;var&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;log&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;shopadmin_call_server_production&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;log&lt;/span&gt; &lt;span class=&quot;ace_comment&quot;&gt;# &amp;lt;- &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;필&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;요&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;한&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;데&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;서&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;만&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;var&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;log&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;shopadmin_call_server_development&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;log&lt;/span&gt; &lt;span class=&quot;ace_comment&quot;&gt;# &amp;lt;- &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;필&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;요&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;한&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;데&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;서&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;만&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;var&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;log&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;riderapp_server_production&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;log&lt;/span&gt; &lt;span class=&quot;ace_comment&quot;&gt;# &amp;lt;- &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;필&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;요&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;한&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;데&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;서&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;만&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;var&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;log&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;riderapp_server_development&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;log&lt;/span&gt; &lt;span class=&quot;ace_comment&quot;&gt;# &amp;lt;- &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;필&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;요&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;한&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;데&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;서&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;만&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;var&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;log&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;push_server_production&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;log&lt;/span&gt; &lt;span class=&quot;ace_comment&quot;&gt;# &amp;lt;- &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;필&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;요&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;한&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;데&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;서&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;만&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;var&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;log&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;push_server_development&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;log&lt;/span&gt; &lt;span class=&quot;ace_comment&quot;&gt;# &amp;lt;- &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;필&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;요&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;한&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;데&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;서&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;만&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;var&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;log&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;stat_push_server_production&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;log&lt;/span&gt; &lt;span class=&quot;ace_comment&quot;&gt;# &amp;lt;- &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;필&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;요&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;한&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;데&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;서&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;만&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;var&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;log&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;stat_push_server_development&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;log&lt;/span&gt; &lt;span class=&quot;ace_comment&quot;&gt;# &amp;lt;- &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;필&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;요&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;한&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;데&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;서&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;만&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;var&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;log&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;stat_shopadmin_call_server_production&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;log&lt;/span&gt; &lt;span class=&quot;ace_comment&quot;&gt;# &amp;lt;- &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;필&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;요&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;한&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;데&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;서&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;만&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;var&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;log&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;stat_shopadmin_call_server_development&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;log&lt;/span&gt; &lt;span class=&quot;ace_comment&quot;&gt;# &amp;lt;- &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;필&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;요&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;한&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;데&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;서&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;만&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;{&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;    &lt;span class=&quot;ace_identifier&quot;&gt;daily&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;    &lt;span class=&quot;ace_identifier&quot;&gt;rotate&lt;/span&gt; &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;3&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;    &lt;span class=&quot;ace_identifier&quot;&gt;dateext&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;    &lt;span class=&quot;ace_identifier&quot;&gt;missingok&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;    &lt;span class=&quot;ace_identifier&quot;&gt;ifempty&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;    &lt;span class=&quot;ace_identifier&quot;&gt;copytruncate&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;    &lt;span class=&quot;ace_identifier&quot;&gt;create&lt;/span&gt; &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;0600&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;root&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;root&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;    &lt;span class=&quot;ace_identifier&quot;&gt;sharedscripts&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;    &lt;span class=&quot;ace_identifier&quot;&gt;postrotate&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;    &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;bin&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_support ace_function ace_builtin&quot;&gt;kill&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;HUP&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;`&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;cat&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;var&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;run&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;syslogd&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;pid&lt;/span&gt; &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;dev&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;null&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;`&lt;/span&gt; &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;dev&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;null&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;||&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;true&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;    &lt;span class=&quot;ace_identifier&quot;&gt;endscript&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;}&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;강제로 logrotate 실행&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;logrotate&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;f&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;etc&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;logrotate&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;d&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;syslog&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;logrotate debug 모드 (실제 실행될거 테스트)&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;logrotate&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;d&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;etc&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;logrotate&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;d&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;syslog&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h2&gt;&lt;br /&gt;&lt;/h2&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h2&gt;&lt;br /&gt;&lt;/h2&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;hr&gt;&lt;hr&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h2&gt;개발 언어별 syslog 사용 방법&lt;/h2&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h3&gt;Python&lt;/h3&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;formatter를 수정하여 커스터마이징 로거 생성&lt;div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Option1&amp;nbsp;&lt;/li&gt;&lt;ul&gt;&lt;li&gt;이걸 사용하면 경로, 함수이름, 호출 라인을 측정할 수 있다. 하지만 기존에 사용하는 로그는 함께 동작하지 않음&lt;/li&gt;&lt;li&gt;사용법은 Common.getLogger.&lt;b&gt;info&lt;/b&gt;(메시지) 형태로 사용, info 위치에는 error, crit 등 타입이 들어감&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;Option2 :&amp;nbsp;&lt;/li&gt;&lt;ul&gt;&lt;li&gt;이걸 사용하면 syslog 와 함께 내부 로그도 같이 작동한다. 하지만 경로, 함수이름, 호출 라인은 없이 메시지만 가능&lt;/li&gt;&lt;li&gt;사용법은 Common.&lt;b&gt;info&lt;/b&gt;Log(메시지) 형태로 사용,&amp;nbsp;info 위치에는 error, crit 등 타입이 들어감&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;logging&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;logging&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;handlers&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;# Init logger for other class&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;externalLogger&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;logging&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;getLogger&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;'external'&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;externalLogger&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;setLevel&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;logging&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;DEBUG&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;externalHandler&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;logging&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;handlers&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;SysLogHandler&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;address&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;'/dev/log'&lt;/span&gt;,&lt;span class=&quot;ace_identifier&quot;&gt;facility&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;'local3'&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;externalHandler&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;formatter&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;logging&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;Formatter&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;'&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;프&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;로&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;젝&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;트&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;이&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;름&lt;/span&gt;: [%(levelname)s] %(pathname)s - %(funcName)s line:%(lineno)d message:%(message)s'&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt; 
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;externalLogger&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;addHandler&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;externalHandler&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;# Init logger for Common class&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;internalLogger&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;logging&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;getLogger&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;'internal'&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;internalLogger&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;setLevel&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;logging&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;DEBUG&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;internalHandler&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;logging&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;handlers&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;SysLogHandler&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;address&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;'/dev/log'&lt;/span&gt;,&lt;span class=&quot;ace_identifier&quot;&gt;facility&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;'local3'&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;internalHandler&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;formatter&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;logging&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;Formatter&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;'&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;프&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;로&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;젝&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;트&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;이&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;름&lt;/span&gt;: [%(levelname)s] %(message)s'&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt; 
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;internalLogger&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;addHandler&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;internalHandler&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;# Option 1 - Common.getLogger.info(message) // &amp;lt;- enable pathname, funcname, lineno&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword&quot;&gt;def&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;getLogger&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;externalCall&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;ace_constant ace_language&quot;&gt;True&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt;:
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;    &lt;span class=&quot;ace_keyword&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;externalCall&lt;/span&gt; &lt;span class=&quot;ace_keyword&quot;&gt;is&lt;/span&gt; &lt;span class=&quot;ace_constant ace_language&quot;&gt;True&lt;/span&gt;:
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;    &lt;span class=&quot;ace_keyword&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;externalLogger&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;    &lt;span class=&quot;ace_keyword&quot;&gt;else&lt;/span&gt;:
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;    &lt;span class=&quot;ace_keyword&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;internalLogger&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;# Option2 - Common.xxxxLog(message) // &amp;lt;- just message&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword&quot;&gt;def&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;infoLog&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;message&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt;:
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;    &lt;span class=&quot;ace_identifier&quot;&gt;getLogger&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_constant ace_language&quot;&gt;False&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;info&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;message&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;    &lt;span class=&quot;ace_identifier&quot;&gt;log&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;message&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword&quot;&gt;def&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;errorLog&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;message&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt;:
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;    &lt;span class=&quot;ace_identifier&quot;&gt;getLogger&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_constant ace_language&quot;&gt;False&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;error&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;message&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;    &lt;span class=&quot;ace_identifier&quot;&gt;log&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;message&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword&quot;&gt;def&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;criticalLog&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;message&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt;:
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;    &lt;span class=&quot;ace_identifier&quot;&gt;getLogger&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_constant ace_language&quot;&gt;False&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;critical&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;message&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;    &lt;span class=&quot;ace_identifier&quot;&gt;log&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;message&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;사용 예제&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;Common&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;# Option 1&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;Common&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;getLogger&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;info&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;'Tez Full log teset'&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;Common&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;getLogger&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;critical&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;'Tez Full log teset'&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;Common&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;getLogger&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;error&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;'Tez Full log teset'&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;# Option 2&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;Common&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;infoLog&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;'tez info'&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;Common&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;errorLog&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;'tez error'&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;Common&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;critical&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;'tez critical'&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;!!! 공용 class를 만들어서 사용할 경우 pathname, funcName, lineno 등을 고려하자&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h3&gt;PHP&lt;/h3&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;lt;&lt;/span&gt;?&lt;span class=&quot;ace_identifier&quot;&gt;php&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_support ace_function&quot;&gt;openlog&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;'&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;프&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;로&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;젝&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;트&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;이&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;름&lt;/span&gt;'&lt;/span&gt;, &lt;span class=&quot;ace_constant ace_language&quot;&gt;LOG_CONS&lt;/span&gt; | &lt;span class=&quot;ace_constant ace_language&quot;&gt;LOG_NDELAY&lt;/span&gt;, &lt;span class=&quot;ace_constant ace_language&quot;&gt;LOG_LOCAL4&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt;;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_support ace_function&quot;&gt;syslog&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_constant ace_language&quot;&gt;LOG_DEBUG&lt;/span&gt;, &lt;span class=&quot;ace_string&quot;&gt;'Php degug!'&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt;;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_support ace_function&quot;&gt;syslog&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_constant ace_language&quot;&gt;LOG_INFO&lt;/span&gt;, &lt;span class=&quot;ace_string&quot;&gt;'php info'&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt;;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_support ace_function&quot;&gt;syslog&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_constant ace_language&quot;&gt;LOG_ERR&lt;/span&gt;, &lt;span class=&quot;ace_string&quot;&gt;'php err'&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt;;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_support ace_function&quot;&gt;syslog&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_constant ace_language&quot;&gt;LOG_CRIT&lt;/span&gt;, &lt;span class=&quot;ace_string&quot;&gt;'php crit'&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt;;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_support ace_function&quot;&gt;closelog&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt;;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;?&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;gt;&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;사용예제&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;// Debug Log&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_support ace_function&quot;&gt;openlog&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;PROJECT_NAME&lt;/span&gt;, &lt;span class=&quot;ace_constant ace_language&quot;&gt;LOG_CONS&lt;/span&gt; | &lt;span class=&quot;ace_constant ace_language&quot;&gt;LOG_NDELAY&lt;/span&gt;, &lt;span class=&quot;ace_constant ace_language&quot;&gt;LOG_LOCAL4&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt;;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_support ace_function&quot;&gt;syslog&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_constant ace_language&quot;&gt;LOG_DEBUG&lt;/span&gt;, &lt;span class=&quot;ace_string&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;ace_variable&quot;&gt;$log_str&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt;;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_support ace_function&quot;&gt;closelog&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt;;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt; 
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;// Error Log&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_support ace_function&quot;&gt;openlog&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;PROJECT_NAME&lt;/span&gt;, &lt;span class=&quot;ace_constant ace_language&quot;&gt;LOG_CONS&lt;/span&gt; | &lt;span class=&quot;ace_constant ace_language&quot;&gt;LOG_NDELAY&lt;/span&gt;, &lt;span class=&quot;ace_constant ace_language&quot;&gt;LOG_LOCAL4&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt;;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_support ace_function&quot;&gt;isset&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_variable ace_language&quot;&gt;$_SERVER&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;'HTTP_USER_AGENT'&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;])&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class=&quot;ace_support ace_function&quot;&gt;isset&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_variable ace_language&quot;&gt;$_SERVER&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;'REMOTE_ADDR'&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]))&lt;/span&gt; &lt;span class=&quot;ace_paren ace_lparen&quot;&gt;{&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;    &lt;span class=&quot;ace_support ace_function&quot;&gt;syslog&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_constant ace_language&quot;&gt;LOG_ERR&lt;/span&gt;, &lt;span class=&quot;ace_string&quot;&gt;&quot;{&lt;/span&gt;&lt;span class=&quot;ace_variable&quot;&gt;$log_str&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;} {&lt;/span&gt;&lt;span class=&quot;ace_variable&quot;&gt;$_SERVER&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;['REMOTE_ADDR']} ({&lt;/span&gt;&lt;span class=&quot;ace_variable&quot;&gt;$_SERVER&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;['HTTP_USER_AGENT']})&quot;&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt;;    
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;}&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword&quot;&gt;else&lt;/span&gt; &lt;span class=&quot;ace_paren ace_lparen&quot;&gt;{&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;    &lt;span class=&quot;ace_support ace_function&quot;&gt;syslog&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_constant ace_language&quot;&gt;LOG_ERR&lt;/span&gt;, &lt;span class=&quot;ace_string&quot;&gt;&quot;{&lt;/span&gt;&lt;span class=&quot;ace_variable&quot;&gt;$log_str&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;}&quot;&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt;;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;}&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_support ace_function&quot;&gt;closelog&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt;;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;CodeIgniter는 config.php 에서&amp;nbsp;log_threshold 값을 2이상으로 줘야 debug 로그가 보인다&lt;div&gt;0: logging x&lt;/div&gt;&lt;div&gt;1: error log&lt;/div&gt;&lt;div&gt;2: debug log&lt;/div&gt;&lt;div&gt;3: info log&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;hr&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h2&gt;백업 및 데이터 정리&lt;/h2&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h3&gt;Log 데이터 백업&lt;/h3&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;매일 주기적으로 cron.daily 에 등록하여 AWS S3 로 데이터 저장&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;# /etc/cron.daily/syslog_to_s3.sh&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;s3cmd&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;sync&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;recursive&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;var&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;log&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;remote&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;s3&lt;/span&gt;:&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;//&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;tez&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;syslog&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;logs&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h3&gt;MySQL 데이터 정리&lt;/h3&gt;&lt;div&gt;매일 주기적으로 DB 에서 3일이 지난 데이터는 삭제&lt;/div&gt;&lt;div&gt;DB가 계속 쌓이면 Loganalyzer를 확인할때 갱신속도가 엄청나게 느려지고 서버 용량이 금방 고갈난다&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;# /etc/cron.daily/delete_old_db_datas.sh&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;mysql&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;login&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;path&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;dumpusr&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;Syslog&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;e&lt;/span&gt; &lt;span class=&quot;ace_string&quot;&gt;&quot;delete from SystemEvents where ReceivedAt &amp;lt; date_add(date_format( now() , '%Y-%m-%d %k:%i:%s'), interval -3 day) ORDER BY ID ASC&quot;&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;span style=&quot;font-size: 11pt; text-size-adjust: auto;&quot;&gt;삭제하는 쿼리를 돌리면 데이터 양에 따라서 속도가 느리고 cpu부하가 심하게 걸리는데, 이걸 방지하기 위해 ReceivedAt 필드에 Index를 걸어주자.&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;span style=&quot;font-size: 11pt; text-size-adjust: auto;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;hr&gt;&lt;hr&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h2&gt;속성별 저장 위치&lt;/h2&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h3&gt;Remote Server&lt;/h3&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;div&gt;[ApacheLog]&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;기존 사용 경로에 저장안됨&lt;br /&gt;&lt;/li&gt;&lt;li&gt;/var/log/httpd&lt;br /&gt;&lt;/li&gt;&lt;li&gt;/var/log/httpd-access&lt;br /&gt;&lt;/li&gt;&lt;li&gt;/var/log/httpd-error&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;[Nginx]&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;/var/log/nginx&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;[PhpLog]&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;기존 사용 경로에 저장됨&lt;br /&gt;&lt;/li&gt;&lt;li&gt;/var/log/php&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;[PythonLog]&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;기존 사용 경로에 저장됨&lt;br /&gt;&lt;/li&gt;&lt;li&gt;/var/log/php&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h3&gt;Log Server&lt;/h3&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;/var/log/remote/&lt;b&gt;&lt;i&gt;[host]&lt;/i&gt;&lt;/b&gt;/&lt;b&gt;&lt;i&gt;[program]&lt;/i&gt;&lt;/b&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>Programming/Linux</category>
      <category>apache</category>
      <category>log</category>
      <category>loganalyzer</category>
      <category>logrotate</category>
      <category>MySQL</category>
      <category>nginx</category>
      <category>php</category>
      <category>Python</category>
      <category>rsyslog</category>
      <category>rsyslog-DB</category>
      <category>yum</category>
      <author>Tez.Park</author>
      <guid isPermaLink="true">https://sham.tistory.com/147</guid>
      <comments>https://sham.tistory.com/147#entry147comment</comments>
      <pubDate>Thu, 11 May 2017 15:51:27 +0900</pubDate>
    </item>
    <item>
      <title>[AppIcon] iOS 10.3 Dynamic Alternate Icon Name (동적으로 앱 아이콘 변경)</title>
      <link>https://sham.tistory.com/166</link>
      <description>&lt;meta charset=&quot;utf-8&quot;&gt;
      &lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;&gt;
      &lt;!-- common.css --&gt;
      &lt;style&gt;* {-webkit-tap-highlight-color: rgba(0,0,0,0);}html {-webkit-text-size-adjust: none;}body {font-family: -apple-system, Helvetica, Arial, sans-serif;margin: 0;padding: 20px;color: #333;word-wrap: break-word;}h1, h2, h3, h4, h5, h6 {line-height: 1.1;}img {max-width: 100% !important;}blockquote {margin: 0;padding: 0 15px;color: #777;border-left: 4px solid #ddd;}hr {background-color: #ddd;border: 0;height: 1px;margin: 15px 0;}code {font-family: Menlo, Consolas, 'Ubuntu Mono', Monaco, 'source-code-pro', monospace;line-height: 1.4;margin: 0;padding: 0.2em 0;font-size: 90%;background-color: rgba(0,0,0,0.04);border-radius: 3px;}pre &gt; code {margin: 0;padding: 0;font-size: 100%;word-break: normal;background: transparent;border: 0;}ol {list-style-type: decimal;}ol ol, ul ol {list-style-type: lower-latin;}ol ol ol, ul ol ol, ul ul ol, ol ul ol {list-style-type: lower-roman;}table {border-spacing: 0;border-collapse: collapse;margin-top: 0;margin-bottom: 16px;}table th {font-weight: bold;}table th, table td {padding: 6px 13px;border: 1px solid #ddd;}table tr {border-top: 1px solid #ccc;}table tr:nth-child(even) {background-color: #f8f8f8;}input[type=&quot;checkbox&quot;] {cursor: default;margin-right: 0.5em;font-size: 13px;}.task-list-item {list-style-type: none;}.task-list-item+.task-list-item {margin-top: 3px;}.task-list-item input {float: left;margin: 0.3em 1em 0.25em -1.6em;vertical-align: middle;}#tag-field {margin: 8px 2px 10px;}#tag-field .tag {display: inline-block;background: #cadff3;border-radius: 4px;padding: 1px 8px;color: black;font-size: 12px;margin-right: 10px;line-height: 1.4;}&lt;/style&gt;
      &lt;!-- ace-static.css --&gt;
      &lt;style&gt;.ace_static_highlight {white-space: pre-wrap;}.ace_static_highlight .ace_gutter {width: 2em;text-align: right;padding: 0 3px 0 0;margin-right: 3px;}.ace_static_highlight.ace_show_gutter &gt; .ace_line {padding-left: 2.6em;}.ace_static_highlight .ace_line {position: relative;}.ace_static_highlight .ace_gutter-cell {-moz-user-select: -moz-none;-khtml-user-select: none;-webkit-user-select: none;user-select: none;top: 0;bottom: 0;left: 0;position: absolute;}.ace_static_highlight .ace_gutter-cell:before {content: counter(ace_line, decimal);counter-increment: ace_line;}.ace_static_highlight {counter-reset: ace_line;}&lt;/style&gt;
      &lt;style&gt;.ace-idle-fingers .ace_gutter {background: #3b3b3b;color: rgb(153,153,153)}.ace-idle-fingers .ace_print-margin {width: 1px;background: #3b3b3b}.ace-idle-fingers {background-color: #323232;color: #FFFFFF}.ace-idle-fingers .ace_cursor {color: #91FF00}.ace-idle-fingers .ace_marker-layer .ace_selection {background: rgba(90, 100, 126, 0.88)}.ace-idle-fingers.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px #323232;}.ace-idle-fingers .ace_marker-layer .ace_step {background: rgb(102, 82, 0)}.ace-idle-fingers .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid #404040}.ace-idle-fingers .ace_marker-layer .ace_active-line {background: #353637}.ace-idle-fingers .ace_gutter-active-line {background-color: #353637}.ace-idle-fingers .ace_marker-layer .ace_selected-word {border: 1px solid rgba(90, 100, 126, 0.88)}.ace-idle-fingers .ace_invisible {color: #404040}.ace-idle-fingers .ace_keyword,.ace-idle-fingers .ace_meta {color: #CC7833}.ace-idle-fingers .ace_constant,.ace-idle-fingers .ace_constant.ace_character,.ace-idle-fingers .ace_constant.ace_character.ace_escape,.ace-idle-fingers .ace_constant.ace_other,.ace-idle-fingers .ace_support.ace_constant {color: #6C99BB}.ace-idle-fingers .ace_invalid {color: #FFFFFF;background-color: #FF0000}.ace-idle-fingers .ace_fold {background-color: #CC7833;border-color: #FFFFFF}.ace-idle-fingers .ace_support.ace_function {color: #B83426}.ace-idle-fingers .ace_variable.ace_parameter {font-style: italic}.ace-idle-fingers .ace_string {color: #A5C261}.ace-idle-fingers .ace_string.ace_regexp {color: #CCCC33}.ace-idle-fingers .ace_comment {font-style: italic;color: #BC9458}.ace-idle-fingers .ace_meta.ace_tag {color: #FFE5BB}.ace-idle-fingers .ace_entity.ace_name {color: #FFC66D}.ace-idle-fingers .ace_collab.ace_user1 {color: #323232;background-color: #FFF980}.ace-idle-fingers .ace_indent-guide {background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWMwMjLyZYiPj/8PAAreAwAI1+g0AAAAAElFTkSuQmCC) right repeat-y}&lt;/style&gt;
      &lt;!-- export.css --&gt;
      &lt;style&gt;
        body{margin:0 auto;max-width:100%;line-height:1.4}
        #nav{margin:5px 0 10px;font-size:15px}
        #titlearea{border-bottom:1px solid #ccc;font-size:17px;padding:10px 0;}
        #contentarea{font-size:15px;margin:16px 0}
        .cell{outline:0;min-height:20px;margin:5px 0;padding:5px 0;}
        .code-cell{font-family:Menlo,Consolas,'Ubuntu Mono',Monaco,'source-code-pro',monospace;font-size:12px;}
        .latex-cell{white-space:pre-wrap;}
      &lt;/style&gt;
      &lt;!-- User CSS --&gt;
      &lt;style&gt; .text-cell {font-size: 15px;}.code-cell {font-size: 12px;}.markdown-cell {font-size: 15px;}.latex-cell {font-size: 15px;}&lt;/style&gt;
    
    
      &lt;div id=&quot;contentarea&quot;&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h2&gt;Info&lt;/h2&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;In iOS 10.3, the function to change app icons has been added, which allows you to change the icon without updating the app.&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;img src=&quot;https://cloud.githubusercontent.com/assets/389004/24396460/3db354da-13de-11e7-8d77-e378361476ad.gif&quot; alt=&quot;AlternateAppIcon.gif&quot;&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h2&gt;How to add&lt;/h2&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h3&gt;In Project&lt;/h3&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;minimum target version : iOS 10.3&lt;/li&gt;&lt;li&gt;Add the alternate icons onto project&lt;/li&gt;&lt;ul&gt;&lt;li&gt;I haven't found a way to use Assets yet&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;Add&amp;nbsp;&lt;code style=&quot;font-size: 11.699999809265137px;&quot;&gt;CFBundleIcons&lt;/code&gt;&amp;nbsp;parameter in app’s&amp;nbsp;&lt;code style=&quot;font-size: 11.699999809265137px;&quot;&gt;Info.plist&lt;/code&gt;&amp;nbsp;file&lt;/li&gt;&lt;ul&gt;&lt;li&gt;reference :&amp;nbsp;&lt;a href=&quot;https://developer.apple.com/reference/uikit/uiapplication/2806818-setalternateiconname?language=objc&quot;&gt;https://developer.apple.com/reference/uikit/uiapplication/2806818-setalternateiconname?language=objc&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;// Info.plist&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;...&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;key&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;CFBundleIcons&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;key&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;dict&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;    &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;key&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;CFBundleAlternateIcons&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;key&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;    &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;dict&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;    &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;key&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;icon_type_1&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;key&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;    &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;dict&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;    &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;key&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;CFBundleIconFiles&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;key&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;    &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;array&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;    &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;string&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;icon1&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;string&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;gt;&lt;/span&gt;  &lt;span class=&quot;ace_comment&quot;&gt;// &amp;lt;- added the alternate icon name&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;    &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;array&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;    &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;key&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;UIPrerenderedIcon&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;key&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;    &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;ace_constant ace_language&quot;&gt;false&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&amp;gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;    &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;dict&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;    &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;key&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;icon_type_2&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;key&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;    &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;dict&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;    &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;key&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;CFBundleIconFiles&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;key&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;    &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;array&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;    &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;string&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;icon2&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;string&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;    &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;array&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;    &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;key&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;UIPrerenderedIcon&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;key&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;    &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;ace_constant ace_language&quot;&gt;false&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&amp;gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;    &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;dict&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;    &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;key&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;icon_type_3&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;key&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;    &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;dict&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;    &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;key&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;CFBundleIconFiles&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;key&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;    &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;array&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;    &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;string&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;icon3&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;string&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;    &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;array&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;    &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;key&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;UIPrerenderedIcon&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;key&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;    &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;ace_constant ace_language&quot;&gt;false&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&amp;gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;    &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;dict&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;    &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;dict&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;    &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;key&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;CFBundlePrimaryIcon&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;key&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;    &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;dict&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;    &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;key&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;CFBundleIconFiles&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;key&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;    &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;array&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;    &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;string&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;AppIcon60x60&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;string&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&quot;ace_comment&quot;&gt;// &amp;lt;- Assets AppIcon&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;    &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;array&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;    &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;dict&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;dict&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;...&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h3&gt;In Code&lt;/h3&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Setting the alertnate Icon&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword ace_control&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_section ace_scope ace_begin ace_objc&quot;&gt;[[&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;UIApplication&lt;/span&gt; &lt;span class=&quot;ace_support ace_function ace_any-method ace_objc&quot;&gt;sharedApplication&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;supportsAlternateIcons&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;==&lt;/span&gt; &lt;span class=&quot;ace_constant ace_language ace_objc&quot;&gt;NO&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;    &lt;span class=&quot;ace_keyword ace_control&quot;&gt;return&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;    
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_punctuation ace_section ace_scope ace_begin ace_objc&quot;&gt;[[&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;UIApplication&lt;/span&gt; &lt;span class=&quot;ace_support ace_function ace_any-method ace_objc&quot;&gt;sharedApplication&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;setAlternateIconName&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;ace_string ace_begin ace_objc&quot;&gt;@&quot;&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;icon_type_1&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_definition ace_string ace_end&quot;&gt;&quot;&lt;/span&gt; &lt;span class=&quot;ace_comment&quot;&gt;//AlternateIcons key name&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;  &lt;span class=&quot;ace_identifier&quot;&gt;completionHandler&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;^&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_support ace_class ace_cocoa&quot;&gt;NSError&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;*&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;_Nullable&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;error&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;ace_paren ace_lparen&quot;&gt;{&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;  &lt;span class=&quot;ace_support ace_function ace_cocoa&quot;&gt;NSLog&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_string ace_begin ace_objc&quot;&gt;@&quot;&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;%@&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_definition ace_string ace_end&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;ace_punctuation ace_section ace_scope ace_begin ace_objc&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;error&lt;/span&gt; &lt;span class=&quot;ace_support ace_function ace_any-method ace_objc&quot;&gt;description&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;])&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;  &lt;span class=&quot;ace_paren ace_rparen&quot;&gt;}]&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;;&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;ul&gt;&lt;li&gt;Reset to the primary icon&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword ace_control&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_section ace_scope ace_begin ace_objc&quot;&gt;[[&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;UIApplication&lt;/span&gt; &lt;span class=&quot;ace_support ace_function ace_any-method ace_objc&quot;&gt;sharedApplication&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;supportsAlternateIcons&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;==&lt;/span&gt; &lt;span class=&quot;ace_constant ace_language ace_objc&quot;&gt;NO&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;    &lt;span class=&quot;ace_keyword ace_control&quot;&gt;return&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_punctuation ace_section ace_scope ace_begin ace_objc&quot;&gt;[[&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;UIApplication&lt;/span&gt; &lt;span class=&quot;ace_support ace_function ace_any-method ace_objc&quot;&gt;sharedApplication&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;setAlternateIconName&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;ace_constant ace_language ace_objc&quot;&gt;nil&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;  &lt;span class=&quot;ace_identifier&quot;&gt;completionHandler&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;^&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_support ace_class ace_cocoa&quot;&gt;NSError&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;*&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;_Nullable&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;error&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;ace_paren ace_lparen&quot;&gt;{&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;  &lt;span class=&quot;ace_support ace_function ace_cocoa&quot;&gt;NSLog&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_string ace_begin ace_objc&quot;&gt;@&quot;&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;%@&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_definition ace_string ace_end&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;ace_punctuation ace_section ace_scope ace_begin ace_objc&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;error&lt;/span&gt; &lt;span class=&quot;ace_support ace_function ace_any-method ace_objc&quot;&gt;description&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;])&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;  &lt;span class=&quot;ace_paren ace_rparen&quot;&gt;}]&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;;&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h2&gt;Source code&lt;/h2&gt;&lt;div&gt;&lt;a href=&quot;https://github.com/tezpark/AlternateAppIcon-example-objC&quot;&gt;https://github.com/tezpark/AlternateAppIcon-example-objC&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;
      &lt;script&gt;&lt;/script&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>Programming/iOS - ObjC</category>
      <category>CFBundleAlternateIcons</category>
      <category>CFBundleIconFiles</category>
      <category>CFBundleIcons</category>
      <category>CFBundlePrimaryIcon</category>
      <category>setAlternateIconName</category>
      <category>setAlternateIconName:completionHandler:</category>
      <category>supportsAlternateIcons</category>
      <category>UIPrerenderedIcon</category>
      <author>Tez.Park</author>
      <guid isPermaLink="true">https://sham.tistory.com/166</guid>
      <comments>https://sham.tistory.com/166#entry166comment</comments>
      <pubDate>Tue, 28 Mar 2017 17:52:03 +0900</pubDate>
    </item>
    <item>
      <title>CLLocation - 두 점사이 거리 구하기</title>
      <link>https://sham.tistory.com/165</link>
      <description>&lt;!DOCTYPE html&gt;
&lt;html&gt;
&lt;head&gt;
  &lt;meta charset=&quot;utf-8&quot;&gt;
  &lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;&gt;
  &lt;!-- common.css --&gt;
  &lt;style&gt;* {-webkit-tap-highlight-color: rgba(0,0,0,0);}html {-webkit-text-size-adjust: none;}body {font-family: Arial, Helvetica, sans-serif;margin: 0;color: #333;word-wrap: break-word;}h1, h2, h3, h4, h5, h6 {line-height: 1.1;}img {max-width: 100% !important;}blockquote {margin: 0;padding: 0 15px;color: #777;border-left: 4px solid #ddd;}hr {background-color: #ddd;border: 0;height: 1px;margin: 15px 0;}code {font-family: Menlo, Consolas, 'Ubuntu Mono', Monaco, 'source-code-pro', monospace;line-height: 1.4;margin: 0;padding: 0.2em 0;font-size: 85%;background-color: rgba(0,0,0,0.04);border-radius: 3px;}pre &gt; code {margin: 0;padding: 0;font-size: 100%;word-break: normal;background: transparent;border: 0;}ol {list-style-type: decimal;}ol ol, ul ol {list-style-type: lower-latin;}ol ol ol, ul ol ol, ul ul ol, ol ul ol {list-style-type: lower-roman;}table {border-spacing: 0;border-collapse: collapse;margin-top: 0;margin-bottom: 16px;}table th {font-weight: bold;}table th, table td {padding: 6px 13px;border: 1px solid #ddd;}table tr {border-top: 1px solid #ccc;}table tr:nth-child(even) {background-color: #f8f8f8;}input[type=&quot;checkbox&quot;] {cursor: default;margin-right: 0.5em;font-size: 13px;}.task-list-item {list-style-type: none;}.task-list-item+.task-list-item {margin-top: 3px;}.task-list-item input {float: left;margin: 0.3em 1em 0.25em -1.6em;vertical-align: middle;}#tag-field {margin: 8px 2px 10px;}#tag-field .tag {display: inline-block;background: #cadff3;border-radius: 4px;padding: 1px 8px;color: black;font-size: 12px;margin-right: 10px;line-height: 1.4;}&lt;/style&gt;
  &lt;!-- ace-static.css --&gt;
  &lt;style&gt;.ace_static_highlight {white-space: pre-wrap;}.ace_static_highlight .ace_gutter {width: 2em;text-align: right;padding: 0 3px 0 0;margin-right: 3px;}.ace_static_highlight.ace_show_gutter &gt; .ace_line {padding-left: 2.6em;}.ace_static_highlight .ace_line {position: relative;}.ace_static_highlight .ace_gutter-cell {-moz-user-select: -moz-none;-khtml-user-select: none;-webkit-user-select: none;user-select: none;top: 0;bottom: 0;left: 0;position: absolute;}.ace_static_highlight .ace_gutter-cell:before {content: counter(ace_line, decimal);counter-increment: ace_line;}.ace_static_highlight {counter-reset: ace_line;}&lt;/style&gt;
  &lt;style&gt;.ace-monokai .ace_gutter {background: #2F3129;color: #8F908A}.ace-monokai .ace_print-margin {width: 1px;background: #555651}.ace-monokai {background-color: #272822;color: #F8F8F2}.ace-monokai .ace_cursor {color: #F8F8F0}.ace-monokai .ace_marker-layer .ace_selection {background: #49483E}.ace-monokai.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px #272822;}.ace-monokai .ace_marker-layer .ace_step {background: rgb(102, 82, 0)}.ace-monokai .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid #49483E}.ace-monokai .ace_marker-layer .ace_active-line {background: #202020}.ace-monokai .ace_gutter-active-line {background-color: #272727}.ace-monokai .ace_marker-layer .ace_selected-word {border: 1px solid #49483E}.ace-monokai .ace_invisible {color: #52524d}.ace-monokai .ace_entity.ace_name.ace_tag,.ace-monokai .ace_keyword,.ace-monokai .ace_meta.ace_tag,.ace-monokai .ace_storage {color: #F92672}.ace-monokai .ace_punctuation,.ace-monokai .ace_punctuation.ace_tag {color: #fff}.ace-monokai .ace_constant.ace_character,.ace-monokai .ace_constant.ace_language,.ace-monokai .ace_constant.ace_numeric,.ace-monokai .ace_constant.ace_other {color: #AE81FF}.ace-monokai .ace_invalid {color: #F8F8F0;background-color: #F92672}.ace-monokai .ace_invalid.ace_deprecated {color: #F8F8F0;background-color: #AE81FF}.ace-monokai .ace_support.ace_constant,.ace-monokai .ace_support.ace_function {color: #66D9EF}.ace-monokai .ace_fold {background-color: #A6E22E;border-color: #F8F8F2}.ace-monokai .ace_storage.ace_type,.ace-monokai .ace_support.ace_class,.ace-monokai .ace_support.ace_type {font-style: italic;color: #66D9EF}.ace-monokai .ace_entity.ace_name.ace_function,.ace-monokai .ace_entity.ace_other,.ace-monokai .ace_entity.ace_other.ace_attribute-name,.ace-monokai .ace_variable {color: #A6E22E}.ace-monokai .ace_variable.ace_parameter {font-style: italic;color: #FD971F}.ace-monokai .ace_string {color: #E6DB74}.ace-monokai .ace_comment {color: #75715E}.ace-monokai .ace_indent-guide {background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWPQ0FD0ZXBzd/wPAAjVAoxeSgNeAAAAAElFTkSuQmCC) right repeat-y}&lt;/style&gt;
  &lt;!-- export.css --&gt;
  &lt;style&gt;
    body{margin:0 auto;max-width:100%;line-height:1.4}
    #nav{margin:5px 0 10px;font-size:15px}
    #titlearea{border-bottom:1px solid #ccc;font-size:17px;padding:10px 0;}
    #contentarea{font-size:15px;margin:16px 0}
    .cell{outline:0;min-height:20px;margin:5px 0;padding:5px 0;}
    .code-cell{font-family:Menlo,Consolas,'Ubuntu Mono',Monaco,'source-code-pro',monospace;font-size:12px;}
    .latex-cell{white-space:pre-wrap;}
  &lt;/style&gt;
  &lt;!-- User CSS --&gt;
  &lt;style&gt; .text-cell {font-size: 14px;}.code-cell {font-size: 12px;}.markdown-cell {font-size: 14px;}.latex-cell {font-size: 14px;}&lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
  
  &lt;div id=&quot;titlearea&quot;&gt;
    &lt;h2&gt;CLLocation - 두 점사이 거리 구하기&lt;/h2&gt;
  &lt;/div&gt;
  &lt;div id=&quot;contentarea&quot;&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h3&gt;Info&lt;/h3&gt;&lt;div&gt;GPS 사용하는 iPhone 개발을 진행하다보면 내비게이션에서 경로찾기를 하는 경우 혹은 특정 스팟까지의 거리를 구하기 위해 두 점 사이의 거리를 구해야 하는 경우들이 있다.&lt;/div&gt;&lt;div&gt;점 하나는 위도, 경도 값으로 이루어져 있어서 어떤 언어에서는 직접 계산을 해서 거리를 구하기도 하지만, Objective-C 에서는 CLLocation 클래스에서 &lt;code&gt;distanceFromLocation:&lt;/code&gt; 이라는 함수를 제공해준다.&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h3&gt;Code&lt;/h3&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-monokai&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;CLLocation&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;pointA&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;ace_punctuation ace_section ace_scope ace_begin ace_objc&quot;&gt;[[&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;CLLocation&lt;/span&gt; &lt;span class=&quot;ace_support ace_function ace_any-method ace_objc&quot;&gt;alloc&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;initWithLatitude&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;ace_string ace_start&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;latitudeDouble&lt;/span&gt;&lt;span class=&quot;ace_string ace_end&quot;&gt;&quot;&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;longitude&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;ace_string ace_start&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;longitudeDouble&lt;/span&gt;&lt;span class=&quot;ace_string ace_end&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;CLLocation&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;pointB&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;ace_punctuation ace_section ace_scope ace_begin ace_objc&quot;&gt;[[&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;CLLocation&lt;/span&gt; &lt;span class=&quot;ace_support ace_function ace_any-method ace_objc&quot;&gt;alloc&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;initWithLatitude&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;ace_string ace_start&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;latitudeDouble&lt;/span&gt;&lt;span class=&quot;ace_string ace_end&quot;&gt;&quot;&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;longitude&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;ace_string ace_start&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;longitudeDouble&lt;/span&gt;&lt;span class=&quot;ace_string ace_end&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;CLLocationDistance&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;distance&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;ace_punctuation ace_section ace_scope ace_begin ace_objc&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;pointA&lt;/span&gt; &lt;span class=&quot;ace_support ace_function ace_any-method ace_objc&quot;&gt;distanceFromLocation:&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;pointB&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;;&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;
  &lt;script&gt;&lt;/script&gt;
&lt;/body&gt;
&lt;/html&gt;</description>
      <category>Programming/iOS - ObjC</category>
      <category>CLLocation</category>
      <category>distanceFromLocation</category>
      <category>ios</category>
      <category>Objective-C</category>
      <author>Tez.Park</author>
      <guid isPermaLink="true">https://sham.tistory.com/165</guid>
      <comments>https://sham.tistory.com/165#entry165comment</comments>
      <pubDate>Sun, 19 Mar 2017 17:40:37 +0900</pubDate>
    </item>
    <item>
      <title>Layer - 그림자 넣기</title>
      <link>https://sham.tistory.com/164</link>
      <description>
  &lt;meta charset=&quot;utf-8&quot;&gt;
  &lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;&gt;
  &lt;!-- common.css --&gt;
  &lt;style&gt;* {-webkit-tap-highlight-color: rgba(0,0,0,0);}html {-webkit-text-size-adjust: none;}body {font-family: Arial, Helvetica, sans-serif;margin: 0;color: #333;word-wrap: break-word;}h1, h2, h3, h4, h5, h6 {line-height: 1.1;}img {max-width: 100% !important;}blockquote {margin: 0;padding: 0 15px;color: #777;border-left: 4px solid #ddd;}hr {background-color: #ddd;border: 0;height: 1px;margin: 15px 0;}code {font-family: Menlo, Consolas, 'Ubuntu Mono', Monaco, 'source-code-pro', monospace;line-height: 1.4;margin: 0;padding: 0.2em 0;font-size: 85%;background-color: rgba(0,0,0,0.04);border-radius: 3px;}pre &gt; code {margin: 0;padding: 0;font-size: 100%;word-break: normal;background: transparent;border: 0;}ol {list-style-type: decimal;}ol ol, ul ol {list-style-type: lower-latin;}ol ol ol, ul ol ol, ul ul ol, ol ul ol {list-style-type: lower-roman;}table {border-spacing: 0;border-collapse: collapse;margin-top: 0;margin-bottom: 16px;}table th {font-weight: bold;}table th, table td {padding: 6px 13px;border: 1px solid #ddd;}table tr {border-top: 1px solid #ccc;}table tr:nth-child(even) {background-color: #f8f8f8;}input[type=&quot;checkbox&quot;] {cursor: default;margin-right: 0.5em;font-size: 13px;}.task-list-item {list-style-type: none;}.task-list-item+.task-list-item {margin-top: 3px;}.task-list-item input {float: left;margin: 0.3em 1em 0.25em -1.6em;vertical-align: middle;}#tag-field {margin: 8px 2px 10px;}#tag-field .tag {display: inline-block;background: #cadff3;border-radius: 4px;padding: 1px 8px;color: black;font-size: 12px;margin-right: 10px;line-height: 1.4;}&lt;/style&gt;
  &lt;!-- ace-static.css --&gt;
  &lt;style&gt;.ace_static_highlight {white-space: pre-wrap;}.ace_static_highlight .ace_gutter {width: 2em;text-align: right;padding: 0 3px 0 0;margin-right: 3px;}.ace_static_highlight.ace_show_gutter &gt; .ace_line {padding-left: 2.6em;}.ace_static_highlight .ace_line {position: relative;}.ace_static_highlight .ace_gutter-cell {-moz-user-select: -moz-none;-khtml-user-select: none;-webkit-user-select: none;user-select: none;top: 0;bottom: 0;left: 0;position: absolute;}.ace_static_highlight .ace_gutter-cell:before {content: counter(ace_line, decimal);counter-increment: ace_line;}.ace_static_highlight {counter-reset: ace_line;}&lt;/style&gt;
  &lt;style&gt;.ace-monokai .ace_gutter {background: #2F3129;color: #8F908A}.ace-monokai .ace_print-margin {width: 1px;background: #555651}.ace-monokai {background-color: #272822;color: #F8F8F2}.ace-monokai .ace_cursor {color: #F8F8F0}.ace-monokai .ace_marker-layer .ace_selection {background: #49483E}.ace-monokai.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px #272822;}.ace-monokai .ace_marker-layer .ace_step {background: rgb(102, 82, 0)}.ace-monokai .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid #49483E}.ace-monokai .ace_marker-layer .ace_active-line {background: #202020}.ace-monokai .ace_gutter-active-line {background-color: #272727}.ace-monokai .ace_marker-layer .ace_selected-word {border: 1px solid #49483E}.ace-monokai .ace_invisible {color: #52524d}.ace-monokai .ace_entity.ace_name.ace_tag,.ace-monokai .ace_keyword,.ace-monokai .ace_meta.ace_tag,.ace-monokai .ace_storage {color: #F92672}.ace-monokai .ace_punctuation,.ace-monokai .ace_punctuation.ace_tag {color: #fff}.ace-monokai .ace_constant.ace_character,.ace-monokai .ace_constant.ace_language,.ace-monokai .ace_constant.ace_numeric,.ace-monokai .ace_constant.ace_other {color: #AE81FF}.ace-monokai .ace_invalid {color: #F8F8F0;background-color: #F92672}.ace-monokai .ace_invalid.ace_deprecated {color: #F8F8F0;background-color: #AE81FF}.ace-monokai .ace_support.ace_constant,.ace-monokai .ace_support.ace_function {color: #66D9EF}.ace-monokai .ace_fold {background-color: #A6E22E;border-color: #F8F8F2}.ace-monokai .ace_storage.ace_type,.ace-monokai .ace_support.ace_class,.ace-monokai .ace_support.ace_type {font-style: italic;color: #66D9EF}.ace-monokai .ace_entity.ace_name.ace_function,.ace-monokai .ace_entity.ace_other,.ace-monokai .ace_entity.ace_other.ace_attribute-name,.ace-monokai .ace_variable {color: #A6E22E}.ace-monokai .ace_variable.ace_parameter {font-style: italic;color: #FD971F}.ace-monokai .ace_string {color: #E6DB74}.ace-monokai .ace_comment {color: #75715E}.ace-monokai .ace_indent-guide {background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWPQ0FD0ZXBzd/wPAAjVAoxeSgNeAAAAAElFTkSuQmCC) right repeat-y}&lt;/style&gt;
  &lt;!-- export.css --&gt;
  &lt;style&gt;
    body{margin:0 auto;max-width:100%;line-height:1.4}
    #nav{margin:5px 0 10px;font-size:15px}
    #titlearea{border-bottom:1px solid #ccc;font-size:17px;padding:10px 0;}
    #contentarea{font-size:15px;margin:16px 0}
    .cell{outline:0;min-height:20px;margin:5px 0;padding:5px 0;}
    .code-cell{font-family:Menlo,Consolas,'Ubuntu Mono',Monaco,'source-code-pro',monospace;font-size:12px;}
    .latex-cell{white-space:pre-wrap;}
  &lt;/style&gt;
  &lt;!-- User CSS --&gt;
  &lt;style&gt; .text-cell {font-size: 14px;}.code-cell {font-size: 12px;}.markdown-cell {font-size: 14px;}.latex-cell {font-size: 14px;}&lt;/style&gt;


  &lt;div id=&quot;contentarea&quot;&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h3&gt;Info&lt;/h3&gt;&lt;div&gt;UI 작업을 하다보면 View에 그림자를 넣어야 하는 작업이 간혹 생긴다. 이런경우 View의 layer에 있는 shadow 속성을 수정하여 간단한 그림자 처리를 할 수 있다.&lt;/div&gt;&lt;blockquote class=&quot;tx-quote-tistory&quot;&gt;&lt;div&gt;UIView는 대부분의 상위 클래스이기 때문에 UIView를 상속하는 모든 class 에서 사용 가능하다.&lt;b&gt;&lt;/b&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h3&gt;Code&lt;/h3&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-monokai&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;UIView&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;*&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;view&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;ace_punctuation ace_section ace_scope ace_begin ace_objc&quot;&gt;[[&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;UIView&lt;/span&gt; &lt;span class=&quot;ace_support ace_function ace_any-method ace_objc&quot;&gt;alloc&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;init&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;~~&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;view&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;layer&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;shadowColor&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;ace_punctuation ace_section ace_scope ace_begin ace_objc&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;UIColor&lt;/span&gt; &lt;span class=&quot;ace_support ace_function ace_any-method ace_objc&quot;&gt;purpleColor&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;CGColor&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;view&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;layer&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;shadowOffset&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;CGSizeMake&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;5&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;5&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;view&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;layer&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;shadowOpacity&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;view&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;layer&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;shadowRadius&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;1.0&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;;
&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;
  &lt;script&gt;&lt;/script&gt;

&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 213px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/2337683958CE390F16&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F2337683958CE390F16&quot; width=&quot;213&quot; height=&quot;154&quot; filename=&quot;EC12C28F351EADBDE49C0B7854D10161.png&quot; filemime=&quot;image/jpeg&quot; style=&quot;&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>Programming/iOS - ObjC</category>
      <category>LAYER</category>
      <category>shadow</category>
      <category>shadowColor</category>
      <category>shadowOffset</category>
      <category>shadowOpacity</category>
      <category>shadowRadius</category>
      <category>uiview</category>
      <author>Tez.Park</author>
      <guid isPermaLink="true">https://sham.tistory.com/164</guid>
      <comments>https://sham.tistory.com/164#entry164comment</comments>
      <pubDate>Sun, 19 Mar 2017 16:54:41 +0900</pubDate>
    </item>
    <item>
      <title>[Timezone] 한국 표준시로 변경 -&amp;nbsp;CentOS7</title>
      <link>https://sham.tistory.com/163</link>
      <description>
  &lt;meta charset=&quot;utf-8&quot;&gt;
  &lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;&gt;
  &lt;!-- common.css --&gt;
  &lt;style&gt;* {-webkit-tap-highlight-color: rgba(0,0,0,0);}html {-webkit-text-size-adjust: none;}body {font-family: Arial, Helvetica, sans-serif;margin: 0;color: #333;word-wrap: break-word;}h1, h2, h3, h4, h5, h6 {line-height: 1.1;}img {max-width: 100% !important;}blockquote {margin: 0;padding: 0 15px;color: #777;border-left: 4px solid #ddd;}hr {background-color: #ddd;border: 0;height: 1px;margin: 15px 0;}code {font-family: Menlo, Consolas, 'Ubuntu Mono', Monaco, 'source-code-pro', monospace;line-height: 1.4;margin: 0;padding: 0.2em 0;font-size: 85%;background-color: rgba(0,0,0,0.04);border-radius: 3px;}pre &gt; code {margin: 0;padding: 0;font-size: 100%;word-break: normal;background: transparent;border: 0;}ol {list-style-type: decimal;}ol ol, ul ol {list-style-type: lower-latin;}ol ol ol, ul ol ol, ul ul ol, ol ul ol {list-style-type: lower-roman;}table {border-spacing: 0;border-collapse: collapse;margin-top: 0;margin-bottom: 16px;}table th {font-weight: bold;}table th, table td {padding: 6px 13px;border: 1px solid #ddd;}table tr {border-top: 1px solid #ccc;}table tr:nth-child(even) {background-color: #f8f8f8;}input[type=&quot;checkbox&quot;] {cursor: default;margin-right: 0.5em;font-size: 13px;}.task-list-item {list-style-type: none;}.task-list-item+.task-list-item {margin-top: 3px;}.task-list-item input {float: left;margin: 0.3em 1em 0.25em -1.6em;vertical-align: middle;}#tag-field {margin: 8px 2px 10px;}#tag-field .tag {display: inline-block;background: #cadff3;border-radius: 4px;padding: 1px 8px;color: black;font-size: 12px;margin-right: 10px;line-height: 1.4;}&lt;/style&gt;
  &lt;!-- ace-static.css --&gt;
  &lt;style&gt;.ace_static_highlight {white-space: pre-wrap;}.ace_static_highlight .ace_gutter {width: 2em;text-align: right;padding: 0 3px 0 0;margin-right: 3px;}.ace_static_highlight.ace_show_gutter &gt; .ace_line {padding-left: 2.6em;}.ace_static_highlight .ace_line {position: relative;}.ace_static_highlight .ace_gutter-cell {-moz-user-select: -moz-none;-khtml-user-select: none;-webkit-user-select: none;user-select: none;top: 0;bottom: 0;left: 0;position: absolute;}.ace_static_highlight .ace_gutter-cell:before {content: counter(ace_line, decimal);counter-increment: ace_line;}.ace_static_highlight {counter-reset: ace_line;}&lt;/style&gt;
  &lt;style&gt;.ace-idle-fingers .ace_gutter {background: #3b3b3b;color: rgb(153,153,153)}.ace-idle-fingers .ace_print-margin {width: 1px;background: #3b3b3b}.ace-idle-fingers {background-color: #323232;color: #FFFFFF}.ace-idle-fingers .ace_cursor {color: #91FF00}.ace-idle-fingers .ace_marker-layer .ace_selection {background: rgba(90, 100, 126, 0.88)}.ace-idle-fingers.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px #323232;}.ace-idle-fingers .ace_marker-layer .ace_step {background: rgb(102, 82, 0)}.ace-idle-fingers .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid #404040}.ace-idle-fingers .ace_marker-layer .ace_active-line {background: #353637}.ace-idle-fingers .ace_gutter-active-line {background-color: #353637}.ace-idle-fingers .ace_marker-layer .ace_selected-word {border: 1px solid rgba(90, 100, 126, 0.88)}.ace-idle-fingers .ace_invisible {color: #404040}.ace-idle-fingers .ace_keyword,.ace-idle-fingers .ace_meta {color: #CC7833}.ace-idle-fingers .ace_constant,.ace-idle-fingers .ace_constant.ace_character,.ace-idle-fingers .ace_constant.ace_character.ace_escape,.ace-idle-fingers .ace_constant.ace_other,.ace-idle-fingers .ace_support.ace_constant {color: #6C99BB}.ace-idle-fingers .ace_invalid {color: #FFFFFF;background-color: #FF0000}.ace-idle-fingers .ace_fold {background-color: #CC7833;border-color: #FFFFFF}.ace-idle-fingers .ace_support.ace_function {color: #B83426}.ace-idle-fingers .ace_variable.ace_parameter {font-style: italic}.ace-idle-fingers .ace_string {color: #A5C261}.ace-idle-fingers .ace_string.ace_regexp {color: #CCCC33}.ace-idle-fingers .ace_comment {font-style: italic;color: #BC9458}.ace-idle-fingers .ace_meta.ace_tag {color: #FFE5BB}.ace-idle-fingers .ace_entity.ace_name {color: #FFC66D}.ace-idle-fingers .ace_collab.ace_user1 {color: #323232;background-color: #FFF980}.ace-idle-fingers .ace_indent-guide {background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWMwMjLyZYiPj/8PAAreAwAI1+g0AAAAAElFTkSuQmCC) right repeat-y}&lt;/style&gt;
  &lt;!-- export.css --&gt;
  &lt;style&gt;
    body{margin:0 auto;max-width:100%;line-height:1.4}
    #nav{margin:5px 0 10px;font-size:15px}
    #titlearea{border-bottom:1px solid #ccc;font-size:17px;padding:10px 0;}
    #contentarea{font-size:15px;margin:16px 0}
    .cell{outline:0;min-height:20px;margin:5px 0;padding:5px 0;}
    .code-cell{font-family:Menlo,Consolas,'Ubuntu Mono',Monaco,'source-code-pro',monospace;font-size:12px;}
    .latex-cell{white-space:pre-wrap;}
  &lt;/style&gt;
  &lt;!-- User CSS --&gt;
  &lt;style&gt; .text-cell {font-size: 14px;}.code-cell {font-size: 12px;}.markdown-cell {font-size: 14px;}.latex-cell {font-size: 14px;}&lt;/style&gt;


  &lt;div id=&quot;contentarea&quot;&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h3&gt;Info&lt;/h3&gt;&lt;div&gt;리눅스를 설치할 때 Timezone을 맞추지 않으면, 기본값으로 국제 표준시인 UTC로 표시가된다.&lt;/div&gt;&lt;div&gt;이런 경우에는 한국 시간으로 맞춰진 ntp 를 설치하여 시간을 맞추어도 표시되는 시간이 변경되지 않는다.&lt;/div&gt;&lt;div&gt;따라서, 서버 자체의&amp;nbsp;Timezone&amp;nbsp;설정을 한국 표준시인 KST로 변경해 주어야 한다.&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h3&gt;변경 방법&lt;/h3&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;우선 현재 시간을 확인해보자&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;# date&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;Sun&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;Mar&lt;/span&gt; &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;19&lt;/span&gt; &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;06&lt;/span&gt;:&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;58&lt;/span&gt;:&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;16&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;UTC&lt;/span&gt; &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;2017&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;Timezone&amp;nbsp;변경을 위해 서울의 timezone 정보가 담긴 파일을 찾아 서버 시간으로 연결해주자&lt;div&gt;아시아 Timezone 정보가 들어있는 폴더를 조회해보면 Seoul 파일이 존재한다&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;# ls /usr/share/zoneinfo/Asia&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;...     
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;Seoul&lt;/span&gt;      
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;...
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;기존에 사용중인 locatime 심볼릭 링크를 서울로 변경해주기 위해 원래 파일을 백업한 뒤 Seoul 시간대로 새로 링크를 만들어주자&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;# mv /etc/localtime /etc/localtime_org&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;# ln -s /usr/share/zoneinfo/Asia/Seoul /etc/localtime &lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;다시 현재 시간을 확인해보면 한국 표준시인 KST로 변경이 되어있는 것을 확인할 수 있다.&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;# date&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;Sun&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;Mar&lt;/span&gt; &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;19&lt;/span&gt; &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;16&lt;/span&gt;:&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;14&lt;/span&gt;:&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;59&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;KST&lt;/span&gt; &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;2017&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;
  &lt;script&gt;&lt;/script&gt;</description>
      <category>Programming/Linux</category>
      <category>date</category>
      <category>KST</category>
      <category>Linux</category>
      <category>server time</category>
      <category>timezone</category>
      <author>Tez.Park</author>
      <guid isPermaLink="true">https://sham.tistory.com/163</guid>
      <comments>https://sham.tistory.com/163#entry163comment</comments>
      <pubDate>Sun, 19 Mar 2017 16:18:04 +0900</pubDate>
    </item>
    <item>
      <title>버튼 클릭시 인증번호 확인 후 페이지 이동</title>
      <link>https://sham.tistory.com/162</link>
      <description>&lt;!DOCTYPE html&gt;
&lt;html&gt;
&lt;head&gt;
  &lt;meta charset=&quot;utf-8&quot;&gt;
  &lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;&gt;
  &lt;!-- common.css --&gt;
  &lt;style&gt;* {-webkit-tap-highlight-color: rgba(0,0,0,0);}html {-webkit-text-size-adjust: none;}body {font-family: Arial, Helvetica, sans-serif;margin: 0;color: #333;word-wrap: break-word;}h1, h2, h3, h4, h5, h6 {line-height: 1.1;}img {max-width: 100% !important;}blockquote {margin: 0;padding: 0 15px;color: #777;border-left: 4px solid #ddd;}hr {background-color: #ddd;border: 0;height: 1px;margin: 15px 0;}code {font-family: Menlo, Consolas, 'Ubuntu Mono', Monaco, 'source-code-pro', monospace;line-height: 1.4;margin: 0;padding: 0.2em 0;font-size: 85%;background-color: rgba(0,0,0,0.04);border-radius: 3px;}pre &gt; code {margin: 0;padding: 0;font-size: 100%;word-break: normal;background: transparent;border: 0;}ol {list-style-type: decimal;}ol ol, ul ol {list-style-type: lower-latin;}ol ol ol, ul ol ol, ul ul ol, ol ul ol {list-style-type: lower-roman;}table {border-spacing: 0;border-collapse: collapse;margin-top: 0;margin-bottom: 16px;}table th {font-weight: bold;}table th, table td {padding: 6px 13px;border: 1px solid #ddd;}table tr {border-top: 1px solid #ccc;}table tr:nth-child(even) {background-color: #f8f8f8;}input[type=&quot;checkbox&quot;] {cursor: default;margin-right: 0.5em;font-size: 13px;}.task-list-item {list-style-type: none;}.task-list-item+.task-list-item {margin-top: 3px;}.task-list-item input {float: left;margin: 0.3em 1em 0.25em -1.6em;vertical-align: middle;}#tag-field {margin: 8px 2px 10px;}#tag-field .tag {display: inline-block;background: #cadff3;border-radius: 4px;padding: 1px 8px;color: black;font-size: 12px;margin-right: 10px;line-height: 1.4;}&lt;/style&gt;
  &lt;!-- ace-static.css --&gt;
  &lt;style&gt;.ace_static_highlight {white-space: pre-wrap;}.ace_static_highlight .ace_gutter {width: 2em;text-align: right;padding: 0 3px 0 0;margin-right: 3px;}.ace_static_highlight.ace_show_gutter &gt; .ace_line {padding-left: 2.6em;}.ace_static_highlight .ace_line {position: relative;}.ace_static_highlight .ace_gutter-cell {-moz-user-select: -moz-none;-khtml-user-select: none;-webkit-user-select: none;user-select: none;top: 0;bottom: 0;left: 0;position: absolute;}.ace_static_highlight .ace_gutter-cell:before {content: counter(ace_line, decimal);counter-increment: ace_line;}.ace_static_highlight {counter-reset: ace_line;}&lt;/style&gt;
  &lt;style&gt;.ace-idle-fingers .ace_gutter {background: #3b3b3b;color: rgb(153,153,153)}.ace-idle-fingers .ace_print-margin {width: 1px;background: #3b3b3b}.ace-idle-fingers {background-color: #323232;color: #FFFFFF}.ace-idle-fingers .ace_cursor {color: #91FF00}.ace-idle-fingers .ace_marker-layer .ace_selection {background: rgba(90, 100, 126, 0.88)}.ace-idle-fingers.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px #323232;}.ace-idle-fingers .ace_marker-layer .ace_step {background: rgb(102, 82, 0)}.ace-idle-fingers .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid #404040}.ace-idle-fingers .ace_marker-layer .ace_active-line {background: #353637}.ace-idle-fingers .ace_gutter-active-line {background-color: #353637}.ace-idle-fingers .ace_marker-layer .ace_selected-word {border: 1px solid rgba(90, 100, 126, 0.88)}.ace-idle-fingers .ace_invisible {color: #404040}.ace-idle-fingers .ace_keyword,.ace-idle-fingers .ace_meta {color: #CC7833}.ace-idle-fingers .ace_constant,.ace-idle-fingers .ace_constant.ace_character,.ace-idle-fingers .ace_constant.ace_character.ace_escape,.ace-idle-fingers .ace_constant.ace_other,.ace-idle-fingers .ace_support.ace_constant {color: #6C99BB}.ace-idle-fingers .ace_invalid {color: #FFFFFF;background-color: #FF0000}.ace-idle-fingers .ace_fold {background-color: #CC7833;border-color: #FFFFFF}.ace-idle-fingers .ace_support.ace_function {color: #B83426}.ace-idle-fingers .ace_variable.ace_parameter {font-style: italic}.ace-idle-fingers .ace_string {color: #A5C261}.ace-idle-fingers .ace_string.ace_regexp {color: #CCCC33}.ace-idle-fingers .ace_comment {font-style: italic;color: #BC9458}.ace-idle-fingers .ace_meta.ace_tag {color: #FFE5BB}.ace-idle-fingers .ace_entity.ace_name {color: #FFC66D}.ace-idle-fingers .ace_collab.ace_user1 {color: #323232;background-color: #FFF980}.ace-idle-fingers .ace_indent-guide {background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWMwMjLyZYiPj/8PAAreAwAI1+g0AAAAAElFTkSuQmCC) right repeat-y}&lt;/style&gt;
  &lt;!-- export.css --&gt;
  &lt;style&gt;
    body{margin:0 auto;max-width:100%;line-height:1.4}
    #nav{margin:5px 0 10px;font-size:15px}
    #titlearea{border-bottom:1px solid #ccc;font-size:17px;padding:10px 0;}
    #contentarea{font-size:15px;margin:16px 0}
    .cell{outline:0;min-height:20px;margin:5px 0;padding:5px 0;}
    .code-cell{font-family:Menlo,Consolas,'Ubuntu Mono',Monaco,'source-code-pro',monospace;font-size:12px;}
    .latex-cell{white-space:pre-wrap;}
  &lt;/style&gt;
  &lt;!-- User CSS --&gt;
  &lt;style&gt; .text-cell {font-size: 14px;}.code-cell {font-size: 12px;}.markdown-cell {font-size: 14px;}.latex-cell {font-size: 14px;}&lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
  &lt;div id=&quot;contentarea&quot;&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h3&gt;Info&lt;/h3&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;웹에서 특정 액션을 하는 버튼을 구현할 경우 인증번호를 받은 후 액션을 취해햐 하는 경우가 있다.&lt;div&gt;여러가지 방법들이 있겠지만 간단하게 버튼을 클릭하면 이동할 url을 받는 javascript 함수를 호출해서 제대로 된 인증번호를 입력한 경우 페이지 이동을 하는 방법을 알아보자.&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h3&gt;Code&lt;/h3&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;Javascript&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_storage ace_type&quot;&gt;function&lt;/span&gt; &lt;span class=&quot;ace_entity ace_name ace_function&quot;&gt;checkPassword&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_variable ace_parameter&quot;&gt;url&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;, &lt;/span&gt;&lt;span class=&quot;ace_variable ace_parameter&quot;&gt;type&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;ace_paren ace_lparen&quot;&gt;{&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;    &lt;span class=&quot;ace_storage ace_type&quot;&gt;var&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;correctPw&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;ace_string&quot;&gt;&quot;&quot;&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;    &lt;span class=&quot;ace_keyword&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;type&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;==&lt;/span&gt; &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;ace_paren ace_lparen&quot;&gt;{&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;    &lt;span class=&quot;ace_identifier&quot;&gt;correctPw&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;ace_string&quot;&gt;&quot;&amp;lt;? echo USER_APP_PW;?&amp;gt;&quot;&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;    &lt;span class=&quot;ace_paren ace_rparen&quot;&gt;}&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;    &lt;span class=&quot;ace_keyword&quot;&gt;else&lt;/span&gt; &lt;span class=&quot;ace_keyword&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;type&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;==&lt;/span&gt; &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;ace_paren ace_lparen&quot;&gt;{&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;    &lt;span class=&quot;ace_identifier&quot;&gt;correctPw&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;ace_string&quot;&gt;&quot;&amp;lt;? echo RIDER_APP_PW;?&amp;gt;&quot;&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;    &lt;span class=&quot;ace_paren ace_rparen&quot;&gt;}&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;    
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;    &lt;span class=&quot;ace_storage ace_type&quot;&gt;var&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;inputPw&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;=&lt;/span&gt;  &lt;span class=&quot;ace_identifier&quot;&gt;prompt&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;&quot;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;인&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;증&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;번&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;호&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;입&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;력&lt;/span&gt;&quot;&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;&quot;&quot;&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;    &lt;span class=&quot;ace_keyword&quot;&gt;if&lt;/span&gt;  &lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;inputPw&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;==&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;correctPw&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt;  &lt;span class=&quot;ace_paren ace_lparen&quot;&gt;{&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;    &lt;span class=&quot;ace_identifier&quot;&gt;location&lt;/span&gt;  &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;=&lt;/span&gt;  &lt;span class=&quot;ace_identifier&quot;&gt;url&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;    &lt;span class=&quot;ace_paren ace_rparen&quot;&gt;}&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;    &lt;span class=&quot;ace_keyword&quot;&gt;else&lt;/span&gt;  &lt;span class=&quot;ace_paren ace_lparen&quot;&gt;{&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;    &lt;span class=&quot;ace_support ace_function&quot;&gt;alert&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;&quot;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;인&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;증&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;번&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;호&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;가&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;올&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;바&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;르&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;지&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;않&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;습&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;니&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;다&lt;/span&gt;&quot;&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;    &lt;span class=&quot;ace_identifier&quot;&gt;location&lt;/span&gt;  &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;ace_string&quot;&gt;&quot;#&quot;&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;    &lt;span class=&quot;ace_paren ace_rparen&quot;&gt;}&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;}&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;HTML&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-open ace_xml&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_form ace_tag-name ace_xml&quot;&gt;button&lt;/span&gt;&lt;span class=&quot;ace_text ace_tag-whitespace ace_xml&quot;&gt; &lt;/span&gt;&lt;span class=&quot;ace_entity ace_other ace_attribute-name ace_xml&quot;&gt;class&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator ace_attribute-equals ace_xml&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;ace_string ace_attribute-value ace_xml&quot;&gt;&quot;button&quot;&lt;/span&gt;&lt;span class=&quot;ace_text ace_tag-whitespace ace_xml&quot;&gt; &lt;/span&gt;&lt;span class=&quot;ace_entity ace_other ace_attribute-name ace_xml&quot;&gt;name&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator ace_attribute-equals ace_xml&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;ace_string ace_attribute-value ace_xml&quot;&gt;&quot;button&quot;&lt;/span&gt;&lt;span class=&quot;ace_text ace_tag-whitespace ace_xml&quot;&gt; &lt;/span&gt;&lt;span class=&quot;ace_entity ace_other ace_attribute-name ace_xml&quot;&gt;onclick&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator ace_attribute-equals ace_xml&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;ace_string ace_attribute-value ace_xml&quot;&gt;&quot;userappPasswordCheck([&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;이&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;동&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;할&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;페&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;이&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;지&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;주&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;소&lt;/span&gt;], [type])&quot;&lt;/span&gt;&lt;span class=&quot;ace_meta ace_tag ace_punctuation ace_tag-close ace_xml&quot;&gt;&amp;gt;&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;
  &lt;script&gt;&lt;/script&gt;
&lt;/body&gt;
&lt;/html&gt;</description>
      <category>Programming/JavaScript</category>
      <category>Button</category>
      <category>HTML</category>
      <category>JavaScript</category>
      <category>onclick</category>
      <author>Tez.Park</author>
      <guid isPermaLink="true">https://sham.tistory.com/162</guid>
      <comments>https://sham.tistory.com/162#entry162comment</comments>
      <pubDate>Sun, 19 Mar 2017 15:22:47 +0900</pubDate>
    </item>
    <item>
      <title>[Upsert] 값이 없으면 Insert 하고, 값이 있으면 update 하기</title>
      <link>https://sham.tistory.com/161</link>
      <description>
  &lt;meta charset=&quot;utf-8&quot;&gt;
  &lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;&gt;
  &lt;!-- common.css --&gt;
  &lt;style&gt;* {-webkit-tap-highlight-color: rgba(0,0,0,0);}html {-webkit-text-size-adjust: none;}body {font-family: Arial, Helvetica, sans-serif;margin: 0;color: #333;word-wrap: break-word;}h1, h2, h3, h4, h5, h6 {line-height: 1.1;}img {max-width: 100% !important;}blockquote {margin: 0;padding: 0 15px;color: #777;border-left: 4px solid #ddd;}hr {background-color: #ddd;border: 0;height: 1px;margin: 15px 0;}code {font-family: Menlo, Consolas, 'Ubuntu Mono', Monaco, 'source-code-pro', monospace;line-height: 1.4;margin: 0;padding: 0.2em 0;font-size: 85%;background-color: rgba(0,0,0,0.04);border-radius: 3px;}pre &gt; code {margin: 0;padding: 0;font-size: 100%;word-break: normal;background: transparent;border: 0;}ol {list-style-type: decimal;}ol ol, ul ol {list-style-type: lower-latin;}ol ol ol, ul ol ol, ul ul ol, ol ul ol {list-style-type: lower-roman;}table {border-spacing: 0;border-collapse: collapse;margin-top: 0;margin-bottom: 16px;}table th {font-weight: bold;}table th, table td {padding: 6px 13px;border: 1px solid #ddd;}table tr {border-top: 1px solid #ccc;}table tr:nth-child(even) {background-color: #f8f8f8;}input[type=&quot;checkbox&quot;] {cursor: default;margin-right: 0.5em;font-size: 13px;}.task-list-item {list-style-type: none;}.task-list-item+.task-list-item {margin-top: 3px;}.task-list-item input {float: left;margin: 0.3em 1em 0.25em -1.6em;vertical-align: middle;}#tag-field {margin: 8px 2px 10px;}#tag-field .tag {display: inline-block;background: #cadff3;border-radius: 4px;padding: 1px 8px;color: black;font-size: 12px;margin-right: 10px;line-height: 1.4;}&lt;/style&gt;
  &lt;!-- ace-static.css --&gt;
  &lt;style&gt;.ace_static_highlight {white-space: pre-wrap;}.ace_static_highlight .ace_gutter {width: 2em;text-align: right;padding: 0 3px 0 0;margin-right: 3px;}.ace_static_highlight.ace_show_gutter &gt; .ace_line {padding-left: 2.6em;}.ace_static_highlight .ace_line {position: relative;}.ace_static_highlight .ace_gutter-cell {-moz-user-select: -moz-none;-khtml-user-select: none;-webkit-user-select: none;user-select: none;top: 0;bottom: 0;left: 0;position: absolute;}.ace_static_highlight .ace_gutter-cell:before {content: counter(ace_line, decimal);counter-increment: ace_line;}.ace_static_highlight {counter-reset: ace_line;}&lt;/style&gt;
  &lt;style&gt;.ace-idle-fingers .ace_gutter {background: #3b3b3b;color: rgb(153,153,153)}.ace-idle-fingers .ace_print-margin {width: 1px;background: #3b3b3b}.ace-idle-fingers {background-color: #323232;color: #FFFFFF}.ace-idle-fingers .ace_cursor {color: #91FF00}.ace-idle-fingers .ace_marker-layer .ace_selection {background: rgba(90, 100, 126, 0.88)}.ace-idle-fingers.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px #323232;}.ace-idle-fingers .ace_marker-layer .ace_step {background: rgb(102, 82, 0)}.ace-idle-fingers .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid #404040}.ace-idle-fingers .ace_marker-layer .ace_active-line {background: #353637}.ace-idle-fingers .ace_gutter-active-line {background-color: #353637}.ace-idle-fingers .ace_marker-layer .ace_selected-word {border: 1px solid rgba(90, 100, 126, 0.88)}.ace-idle-fingers .ace_invisible {color: #404040}.ace-idle-fingers .ace_keyword,.ace-idle-fingers .ace_meta {color: #CC7833}.ace-idle-fingers .ace_constant,.ace-idle-fingers .ace_constant.ace_character,.ace-idle-fingers .ace_constant.ace_character.ace_escape,.ace-idle-fingers .ace_constant.ace_other,.ace-idle-fingers .ace_support.ace_constant {color: #6C99BB}.ace-idle-fingers .ace_invalid {color: #FFFFFF;background-color: #FF0000}.ace-idle-fingers .ace_fold {background-color: #CC7833;border-color: #FFFFFF}.ace-idle-fingers .ace_support.ace_function {color: #B83426}.ace-idle-fingers .ace_variable.ace_parameter {font-style: italic}.ace-idle-fingers .ace_string {color: #A5C261}.ace-idle-fingers .ace_string.ace_regexp {color: #CCCC33}.ace-idle-fingers .ace_comment {font-style: italic;color: #BC9458}.ace-idle-fingers .ace_meta.ace_tag {color: #FFE5BB}.ace-idle-fingers .ace_entity.ace_name {color: #FFC66D}.ace-idle-fingers .ace_collab.ace_user1 {color: #323232;background-color: #FFF980}.ace-idle-fingers .ace_indent-guide {background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWMwMjLyZYiPj/8PAAreAwAI1+g0AAAAAElFTkSuQmCC) right repeat-y}&lt;/style&gt;
  &lt;!-- export.css --&gt;
  &lt;style&gt;
    body{margin:0 auto;max-width:100%;line-height:1.4}
    #nav{margin:5px 0 10px;font-size:15px}
    #titlearea{border-bottom:1px solid #ccc;font-size:17px;padding:10px 0;}
    #contentarea{font-size:15px;margin:16px 0}
    .cell{outline:0;min-height:20px;margin:5px 0;padding:5px 0;}
    .code-cell{font-family:Menlo,Consolas,'Ubuntu Mono',Monaco,'source-code-pro',monospace;font-size:12px;}
    .latex-cell{white-space:pre-wrap;}
  &lt;/style&gt;
  &lt;!-- User CSS --&gt;
  &lt;style&gt; .text-cell {font-size: 14px;}.code-cell {font-size: 12px;}.markdown-cell {font-size: 14px;}.latex-cell {font-size: 14px;}&lt;/style&gt;


  &lt;div id=&quot;contentarea&quot;&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h3&gt;Info&lt;/h3&gt;&lt;div&gt;데이터베이스에서 대량의 데이터를 등록할때 기존에 값이 저장되어 있는 경우 기존에 저장된 값이 존재하거나 Unique 키 값은 같은데 데이터가 다를 경우들이 있다. 이런 경우 insert 문만 계속 요청하면 오류가 발생하기도 하고, 이미 값이 저장되어 있으면 새로운 값으로 변경하여 저장해야하는 경우들이 있다.&lt;/div&gt;&lt;div&gt;이럴 때 Unique 키 값이 존재할 때 &amp;nbsp;새로운 값이 들어오면 update 를 실행해주도록 하는 &amp;nbsp;&lt;code&gt;INSERT INTO ON DUPLICATE KEY UPDATE&lt;/code&gt;&amp;nbsp;쿼리를 사용하여 원활이 작업을 수행할 수 있다.&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;테스트를 위한 테이블 생성과 사용 방법을 알아보자&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h3&gt;테스트를 위한 테이블 준비&lt;/h3&gt;&lt;div&gt;테스트를 위해 users 라는 테이블을 생성 후 name 이 중복으로 저장될 수 없도록 name 를 Unique 키로 등록하자.&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword&quot;&gt;DROP&lt;/span&gt; &lt;span class=&quot;ace_keyword&quot;&gt;TABLE&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;users&lt;/span&gt;; 
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword&quot;&gt;CREATE&lt;/span&gt; &lt;span class=&quot;ace_keyword&quot;&gt;TABLE&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;users&lt;/span&gt; &lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt; 
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;    &lt;span class=&quot;ace_identifier&quot;&gt;name&lt;/span&gt; &lt;span class=&quot;ace_support ace_function&quot;&gt;VARCHAR&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;25&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt;, 
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;    &lt;span class=&quot;ace_identifier&quot;&gt;email&lt;/span&gt; &lt;span class=&quot;ace_support ace_function&quot;&gt;VARCHAR&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;255&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt; 
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt;; 
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword&quot;&gt;ALTER&lt;/span&gt; &lt;span class=&quot;ace_keyword&quot;&gt;TABLE&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;users&lt;/span&gt; &lt;span class=&quot;ace_keyword&quot;&gt;ADD&lt;/span&gt; &lt;span class=&quot;ace_keyword&quot;&gt;UNIQUE&lt;/span&gt; &lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;name&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt;;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;생성 직후 테이블 데이터를 조회하면 아무 값도 등록되어 있지 않은 상태가 된다.&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h3&gt;INSERT INTO ON DUPLICATE KEY UPDATE 사용&lt;/h3&gt;&lt;div&gt;이제 값이 없으면 insert, 있으면 update 하는 쿼리를 사용해보자.&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;# Query&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword&quot;&gt;INSERT&lt;/span&gt; &lt;span class=&quot;ace_keyword&quot;&gt;INTO&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;users&lt;/span&gt; &lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;NAME&lt;/span&gt;, &lt;span class=&quot;ace_identifier&quot;&gt;email&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;ace_keyword&quot;&gt;VALUES&lt;/span&gt; &lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_string ace_start&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;tez&lt;/span&gt;&lt;span class=&quot;ace_string ace_end&quot;&gt;'&lt;/span&gt;, &lt;span class=&quot;ace_string ace_start&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;tez@tez.kr&lt;/span&gt;&lt;span class=&quot;ace_string ace_end&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;ace_keyword&quot;&gt;ON&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;DUPLICATE&lt;/span&gt; &lt;span class=&quot;ace_keyword&quot;&gt;KEY&lt;/span&gt; &lt;span class=&quot;ace_keyword&quot;&gt;UPDATE&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;name&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;ace_string ace_start&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;tez&lt;/span&gt;&lt;span class=&quot;ace_string ace_end&quot;&gt;'&lt;/span&gt;, &lt;span class=&quot;ace_identifier&quot;&gt;email&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;ace_string ace_start&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;tezpark@tez.kr&lt;/span&gt;&lt;span class=&quot;ace_string ace_end&quot;&gt;'&lt;/span&gt;;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;# mysql &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;에&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;서&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;사&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;용&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;mysql&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;INSERT&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;INTO&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;users&lt;/span&gt; &lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;NAME&lt;/span&gt;, &lt;span class=&quot;ace_identifier&quot;&gt;email&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;VALUES&lt;/span&gt; &lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_string ace_start&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;tez&lt;/span&gt;&lt;span class=&quot;ace_string ace_end&quot;&gt;'&lt;/span&gt;, &lt;span class=&quot;ace_string ace_start&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;tez@tez.kr&lt;/span&gt;&lt;span class=&quot;ace_string ace_end&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;ON&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;DUPLICATE&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;KEY&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;UPDATE&lt;/span&gt; &lt;span class=&quot;ace_variable&quot;&gt;name=&lt;/span&gt;&lt;span class=&quot;ace_string ace_start&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;tez&lt;/span&gt;&lt;span class=&quot;ace_string ace_end&quot;&gt;'&lt;/span&gt;, &lt;span class=&quot;ace_variable&quot;&gt;email=&lt;/span&gt;&lt;span class=&quot;ace_string ace_start&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;tezpark@tez.kr&lt;/span&gt;&lt;span class=&quot;ace_string ace_end&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;Query&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;OK&lt;/span&gt;, &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;1&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;row&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;affected&lt;/span&gt; &lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;0.00&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;sec&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;mysql&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;gt;&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;위의 쿼리를 실행한 후 users 테이블을 조회하면 아래와 같이 새로운 값이 등록된다.&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;mysql&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&quot;ace_keyword&quot;&gt;select&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;*&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;from&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;users&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;+------+------------+&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;|&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;name&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;|&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;email&lt;/span&gt;      &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;|&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;+------+------------+&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;|&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;tez&lt;/span&gt;  &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;|&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;tez&lt;/span&gt;@&lt;span class=&quot;ace_identifier&quot;&gt;tez&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;kr&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;|&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;+------+------------+&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;1&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;row&lt;/span&gt; &lt;span class=&quot;ace_keyword&quot;&gt;in&lt;/span&gt; &lt;span class=&quot;ace_support ace_function ace_builtin&quot;&gt;set&lt;/span&gt; &lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;0.00&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;sec&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;mysql&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;gt;&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;다시 한번 쿼리를 사용하면 tez 라는 이름이 등록되어 있어서 tez@tez.kr 이라는 이메일 주소가 tezpark@tez.kr 로 변경된다.&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;# mysql &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;에&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;서&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;사&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;용&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;mysql&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;INSERT&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;INTO&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;users&lt;/span&gt; &lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;NAME&lt;/span&gt;, &lt;span class=&quot;ace_identifier&quot;&gt;email&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;VALUES&lt;/span&gt; &lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_string ace_start&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;tez&lt;/span&gt;&lt;span class=&quot;ace_string ace_end&quot;&gt;'&lt;/span&gt;, &lt;span class=&quot;ace_string ace_start&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;tez@tez.kr&lt;/span&gt;&lt;span class=&quot;ace_string ace_end&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;ON&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;DUPLICATE&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;KEY&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;UPDATE&lt;/span&gt; &lt;span class=&quot;ace_variable&quot;&gt;name=&lt;/span&gt;&lt;span class=&quot;ace_string ace_start&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;tez&lt;/span&gt;&lt;span class=&quot;ace_string ace_end&quot;&gt;'&lt;/span&gt;, &lt;span class=&quot;ace_variable&quot;&gt;email=&lt;/span&gt;&lt;span class=&quot;ace_string ace_start&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;tezpark@tez.kr&lt;/span&gt;&lt;span class=&quot;ace_string ace_end&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;Query&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;OK&lt;/span&gt;, &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;2&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;row&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;affected&lt;/span&gt; &lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;0.00&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;sec&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;mysql&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&quot;ace_keyword&quot;&gt;select&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;*&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;from&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;users&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;+------+----------------+&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;|&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;name&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;|&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;email&lt;/span&gt;          &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;|&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;+------+----------------+&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;|&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;tez&lt;/span&gt;  &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;|&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;tezpark&lt;/span&gt;@&lt;span class=&quot;ace_identifier&quot;&gt;tez&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;kr&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;|&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;+------+----------------+&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;1&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;row&lt;/span&gt; &lt;span class=&quot;ace_keyword&quot;&gt;in&lt;/span&gt; &lt;span class=&quot;ace_support ace_function ace_builtin&quot;&gt;set&lt;/span&gt; &lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;0.00&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;sec&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;mysql&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;gt;&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;
  &lt;script&gt;&lt;/script&gt;</description>
      <category>Programming/MySQL</category>
      <category>insert</category>
      <category>INSERT INTO ON DUPLICATE KEY UPDATE</category>
      <category>MySQL</category>
      <category>Update</category>
      <author>Tez.Park</author>
      <guid isPermaLink="true">https://sham.tistory.com/161</guid>
      <comments>https://sham.tistory.com/161#entry161comment</comments>
      <pubDate>Sun, 15 Jan 2017 17:31:53 +0900</pubDate>
    </item>
    <item>
      <title>[Plugin] Xcode8 에서 Plugin, Package Manager 사용</title>
      <link>https://sham.tistory.com/160</link>
      <description>
  &lt;meta charset=&quot;utf-8&quot;&gt;
  &lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;&gt;
  &lt;!-- common.css --&gt;
  &lt;style&gt;* {-webkit-tap-highlight-color: rgba(0,0,0,0);}html {-webkit-text-size-adjust: none;}body {font-family: Arial, Helvetica, sans-serif;margin: 0;color: #333;word-wrap: break-word;}h1, h2, h3, h4, h5, h6 {line-height: 1.1;}img {max-width: 100% !important;}blockquote {margin: 0;padding: 0 15px;color: #777;border-left: 4px solid #ddd;}hr {background-color: #ddd;border: 0;height: 1px;margin: 15px 0;}code {font-family: Menlo, Consolas, 'Ubuntu Mono', Monaco, 'source-code-pro', monospace;line-height: 1.4;margin: 0;padding: 0.2em 0;font-size: 85%;background-color: rgba(0,0,0,0.04);border-radius: 3px;}pre &gt; code {margin: 0;padding: 0;font-size: 100%;word-break: normal;background: transparent;border: 0;}ol {list-style-type: decimal;}ol ol, ul ol {list-style-type: lower-latin;}ol ol ol, ul ol ol, ul ul ol, ol ul ol {list-style-type: lower-roman;}table {border-spacing: 0;border-collapse: collapse;margin-top: 0;margin-bottom: 16px;}table th {font-weight: bold;}table th, table td {padding: 6px 13px;border: 1px solid #ddd;}table tr {border-top: 1px solid #ccc;}table tr:nth-child(even) {background-color: #f8f8f8;}input[type=&quot;checkbox&quot;] {cursor: default;margin-right: 0.5em;font-size: 13px;}.task-list-item {list-style-type: none;}.task-list-item+.task-list-item {margin-top: 3px;}.task-list-item input {float: left;margin: 0.3em 1em 0.25em -1.6em;vertical-align: middle;}#tag-field {margin: 8px 2px 10px;}#tag-field .tag {display: inline-block;background: #cadff3;border-radius: 4px;padding: 1px 8px;color: black;font-size: 12px;margin-right: 10px;line-height: 1.4;}&lt;/style&gt;
  &lt;!-- ace-static.css --&gt;
  &lt;style&gt;.ace_static_highlight {white-space: pre-wrap;}.ace_static_highlight .ace_gutter {width: 2em;text-align: right;padding: 0 3px 0 0;margin-right: 3px;}.ace_static_highlight.ace_show_gutter &gt; .ace_line {padding-left: 2.6em;}.ace_static_highlight .ace_line {position: relative;}.ace_static_highlight .ace_gutter-cell {-moz-user-select: -moz-none;-khtml-user-select: none;-webkit-user-select: none;user-select: none;top: 0;bottom: 0;left: 0;position: absolute;}.ace_static_highlight .ace_gutter-cell:before {content: counter(ace_line, decimal);counter-increment: ace_line;}.ace_static_highlight {counter-reset: ace_line;}&lt;/style&gt;
  &lt;style&gt;.ace-idle-fingers .ace_gutter {background: #3b3b3b;color: rgb(153,153,153)}.ace-idle-fingers .ace_print-margin {width: 1px;background: #3b3b3b}.ace-idle-fingers {background-color: #323232;color: #FFFFFF}.ace-idle-fingers .ace_cursor {color: #91FF00}.ace-idle-fingers .ace_marker-layer .ace_selection {background: rgba(90, 100, 126, 0.88)}.ace-idle-fingers.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px #323232;}.ace-idle-fingers .ace_marker-layer .ace_step {background: rgb(102, 82, 0)}.ace-idle-fingers .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid #404040}.ace-idle-fingers .ace_marker-layer .ace_active-line {background: #353637}.ace-idle-fingers .ace_gutter-active-line {background-color: #353637}.ace-idle-fingers .ace_marker-layer .ace_selected-word {border: 1px solid rgba(90, 100, 126, 0.88)}.ace-idle-fingers .ace_invisible {color: #404040}.ace-idle-fingers .ace_keyword,.ace-idle-fingers .ace_meta {color: #CC7833}.ace-idle-fingers .ace_constant,.ace-idle-fingers .ace_constant.ace_character,.ace-idle-fingers .ace_constant.ace_character.ace_escape,.ace-idle-fingers .ace_constant.ace_other,.ace-idle-fingers .ace_support.ace_constant {color: #6C99BB}.ace-idle-fingers .ace_invalid {color: #FFFFFF;background-color: #FF0000}.ace-idle-fingers .ace_fold {background-color: #CC7833;border-color: #FFFFFF}.ace-idle-fingers .ace_support.ace_function {color: #B83426}.ace-idle-fingers .ace_variable.ace_parameter {font-style: italic}.ace-idle-fingers .ace_string {color: #A5C261}.ace-idle-fingers .ace_string.ace_regexp {color: #CCCC33}.ace-idle-fingers .ace_comment {font-style: italic;color: #BC9458}.ace-idle-fingers .ace_meta.ace_tag {color: #FFE5BB}.ace-idle-fingers .ace_entity.ace_name {color: #FFC66D}.ace-idle-fingers .ace_collab.ace_user1 {color: #323232;background-color: #FFF980}.ace-idle-fingers .ace_indent-guide {background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWMwMjLyZYiPj/8PAAreAwAI1+g0AAAAAElFTkSuQmCC) right repeat-y}&lt;/style&gt;
  &lt;!-- export.css --&gt;
  &lt;style&gt;
    body{margin:0 auto;max-width:100%;line-height:1.4}
    #nav{margin:5px 0 10px;font-size:15px}
    #titlearea{border-bottom:1px solid #ccc;font-size:17px;padding:10px 0;}
    #contentarea{font-size:15px;margin:16px 0}
    .cell{outline:0;min-height:20px;margin:5px 0;padding:5px 0;}
    .code-cell{font-family:Menlo,Consolas,'Ubuntu Mono',Monaco,'source-code-pro',monospace;font-size:12px;}
    .latex-cell{white-space:pre-wrap;}
  &lt;/style&gt;
  &lt;!-- User CSS --&gt;
  &lt;style&gt; .text-cell {font-size: 14px;}.code-cell {font-size: 12px;}.markdown-cell {font-size: 14px;}.latex-cell {font-size: 14px;}&lt;/style&gt;


  &lt;div id=&quot;contentarea&quot;&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h3&gt;Info&lt;/h3&gt;&lt;p style=&quot;margin: 10px 0px 0px; padding: 0px; font-family: Arial, sans-serif; font-size: 14px; font-variant-ligatures: normal; orphans: 2; widows: 2; background-color: rgb(255, 255, 255);&quot;&gt;Xcode 를 사용해서 개발할 때 작업의 효율을 높이기 위해 플러그인들을 설치하여 사용할 수 있습니다.&lt;/p&gt;&lt;p style=&quot;margin: 10px 0px 0px; padding: 0px; font-family: Arial, sans-serif; font-size: 14px; font-variant-ligatures: normal; orphans: 2; widows: 2; background-color: rgb(255, 255, 255);&quot;&gt;Xcode7 버전 까지는 &lt;code&gt;Package Manager&lt;/code&gt; 라는 관리 툴을 사용하여 다양한 플러그인들을 Xcode에 설치하여 사용 했었고, Xcode8 부터 Apple 에서 &lt;code&gt;Xcode extentions&lt;/code&gt; 를 이용하여 플러그인들을 사용할 수 있는 기능을 지원하기 시작했습니다.&lt;/p&gt;&lt;p style=&quot;margin: 10px 0px 0px; padding: 0px; font-family: Arial, sans-serif; font-size: 14px; font-variant-ligatures: normal; orphans: 2; widows: 2; background-color: rgb(255, 255, 255);&quot;&gt;하지만, &lt;code&gt;Xcode extentions&lt;/code&gt; 기능이 새로 생기면서 기존에 사용하던 &lt;code&gt;Package Manager&lt;/code&gt;를 사용할 수 없어졌고, &amp;nbsp;아직까지는 &lt;code&gt;Xcode extentions&lt;/code&gt; 용으로 개발된 플러그인들 중에는 기존에 사용하던 플러그인들이 대부분 없어서 &lt;code&gt;Package Manager&lt;/code&gt;를 사용하여 플러그인을 관리하고 개발 해오던 개발자들은 불편함을 겪고 있습니다.&lt;/p&gt;&lt;p style=&quot;margin: 10px 0px 0px; padding: 0px; font-family: Arial, sans-serif; font-size: 14px; font-variant-ligatures: normal; orphans: 2; widows: 2; background-color: rgb(255, 255, 255);&quot;&gt;그래서 Xcode8 버전에서 사용불가가 되어버린&amp;nbsp;&lt;a href=&quot;http://alcatraz.io/&quot; class=&quot;external-link&quot; rel=&quot;nofollow&quot; style=&quot;color: rgb(53, 114, 176); text-decoration: none;&quot;&gt;Alcatraz - Package Manager&lt;/a&gt;&amp;nbsp;를 사용하는 방법을 소개하려고 합니다.&lt;/p&gt;&lt;p style=&quot;margin: 10px 0px 0px; padding: 0px; font-family: Arial, sans-serif; font-size: 14px; font-variant-ligatures: normal; orphans: 2; widows: 2; background-color: rgb(255, 255, 255);&quot;&gt;Xcode extentions 용 플러그인이 필요한 분들은 아래 링크로 들어가서 필요한 플러그인을 설치하여 사용하면 됩니다.&lt;/p&gt;&lt;p style=&quot;margin: 10px 0px 0px; padding: 0px; font-family: Arial, sans-serif; font-size: 14px; font-variant-ligatures: normal; orphans: 2; widows: 2; background-color: rgb(255, 255, 255);&quot;&gt;&lt;a href=&quot;https://theswiftdev.com/2016/08/17/xcode-8-extensions/&quot; class=&quot;external-link&quot; rel=&quot;nofollow&quot; style=&quot;color: rgb(53, 114, 176); text-decoration: none;&quot;&gt;Xcode extentions List&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h2&gt;Alcatraz - Package Manager 설치&lt;/h2&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;curl&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;fsSL&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;https&lt;/span&gt;:&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;//&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;raw&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;githubusercontent&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;com&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;supermarin&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;Alcatraz&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;deploy&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;Scripts&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;install&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;sh&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;|&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;sh&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h2&gt;기능 활성화 방법&lt;/h2&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h3&gt;update_xcode_plugins 설치&lt;/h3&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;gem&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;install&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;update_xcode_plugins&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt; 
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;# &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;권&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;한&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;문&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;제&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;발&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;생&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;시&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;아&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;래&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;방&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;법&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;이&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;용&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;sudo&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;gem&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;install&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;update_xcode_plugins&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h3&gt;update_xcode_plugin 실행&lt;/h3&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;update_xcode_plugins&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h3&gt;Unsigning Xcode&lt;/h3&gt;&lt;div&gt;&lt;span style=&quot;font-family: Arial, sans-serif; font-size: 14px; orphans: 2; widows: 2; background-color: rgb(255, 255, 255);&quot;&gt;Xcode8 에서 plugin 들을 사용하기 위해 Xcode를 unsign 상태로 만들어야 한다.&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;update_xcode_plugins&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;unsign&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;span style=&quot;font-family: Arial, sans-serif; font-size: 14px; orphans: 2; widows: 2; background-color: rgb(255, 255, 255);&quot;&gt;unsign 작업까지 완료가 되면 &lt;code&gt;package manager&lt;/code&gt;를 사용한 플러그인 관리가 가능해진다.&lt;/span&gt;&lt;div&gt;&lt;span style=&quot;font-size: 14px; font-family: Arial, sans-serif; orphans: 2; widows: 2; background-color: rgb(255, 255, 255);&quot;&gt;작업이 완료된 후 Xcode를 종료 후 다시 실행하면 아래 이미지에 표시된 &lt;code&gt;package manager&lt;/code&gt; 메뉴가 생성되어있고, 이것을 실행하여 필요한 플러그인을 설치해주면된다.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 314px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/2555FD4A587B1D201B&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F2555FD4A587B1D201B&quot; width=&quot;314&quot; height=&quot;356&quot; filename=&quot;스크린샷 2017-01-09 오후 2.03.59.png&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h2&gt;Package manager 사용&lt;/h2&gt;&lt;div&gt;&lt;p style=&quot;margin: 10px 0px 0px; padding: 0px; font-family: Arial, sans-serif; font-size: 14px; font-variant-ligatures: normal; orphans: 2; widows: 2; background-color: rgb(255, 255, 255);&quot;&gt;사용방법은 별도로 뭔가를 해줄 필요없이 필요한 플러그인들을 Install 후 Xcode를 재시작해주면 된다. 재시작 후 기능을 load 할것인지 물어보는데 전부 load 시켜주면 플러그인 적용이 완료된다.&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 613px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/212CD44A587B1D3F42&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F212CD44A587B1D3F42&quot; width=&quot;613&quot; height=&quot;740&quot; filename=&quot;스크린샷 2017-01-09 오후 2.06.07.png&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;hr&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h2&gt;Xcode 복구&lt;/h2&gt;&lt;div&gt;나중에 unsigning xcode를 되돌려야 하는 경우가 생기면 아래 명령어를 이용하여 다시 signing 모드로 변경시켜주면 된다&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;update_xcode_plugins&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;restore&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;/div&gt;&lt;/div&gt;
  &lt;script&gt;&lt;/script&gt;

&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>Programming/iOS - Support</category>
      <category>Alcatraz</category>
      <category>Package Manager</category>
      <category>Plugin</category>
      <category>update_xcode_plugins</category>
      <category>Xcode</category>
      <category>Xcode extentions</category>
      <author>Tez.Park</author>
      <guid isPermaLink="true">https://sham.tistory.com/160</guid>
      <comments>https://sham.tistory.com/160#entry160comment</comments>
      <pubDate>Sun, 15 Jan 2017 15:58:27 +0900</pubDate>
    </item>
    <item>
      <title>[구축] Wordpress 개인 서버에 구축 / 권한 설정</title>
      <link>https://sham.tistory.com/159</link>
      <description>&lt;meta charset=&quot;utf-8&quot;&gt;
  &lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;&gt;
  &lt;!-- common.css --&gt;
  &lt;style&gt;* {-webkit-tap-highlight-color: rgba(0,0,0,0);}html {-webkit-text-size-adjust: none;}body {font-family: Arial, Helvetica, sans-serif;margin: 0;color: #333;word-wrap: break-word;}h1, h2, h3, h4, h5, h6 {line-height: 1.1;}img {max-width: 100% !important;}blockquote {margin: 0;padding: 0 15px;color: #777;border-left: 4px solid #ddd;}hr {background-color: #ddd;border: 0;height: 1px;margin: 15px 0;}code {font-family: Menlo, Consolas, 'Ubuntu Mono', Monaco, 'source-code-pro', monospace;line-height: 1.4;margin: 0;padding: 0.2em 0;font-size: 85%;background-color: rgba(0,0,0,0.04);border-radius: 3px;}pre &gt; code {margin: 0;padding: 0;font-size: 100%;word-break: normal;background: transparent;border: 0;}ol {list-style-type: decimal;}ol ol, ul ol {list-style-type: lower-latin;}ol ol ol, ul ol ol, ul ul ol, ol ul ol {list-style-type: lower-roman;}table {border-spacing: 0;border-collapse: collapse;margin-top: 0;margin-bottom: 16px;}table th {font-weight: bold;}table th, table td {padding: 6px 13px;border: 1px solid #ddd;}table tr {border-top: 1px solid #ccc;}table tr:nth-child(even) {background-color: #f8f8f8;}input[type=&quot;checkbox&quot;] {cursor: default;margin-right: 0.5em;font-size: 13px;}.task-list-item {list-style-type: none;}.task-list-item+.task-list-item {margin-top: 3px;}.task-list-item input {float: left;margin: 0.3em 1em 0.25em -1.6em;vertical-align: middle;}#tag-field {margin: 8px 2px 10px;}#tag-field .tag {display: inline-block;background: #cadff3;border-radius: 4px;padding: 1px 8px;color: black;font-size: 12px;margin-right: 10px;line-height: 1.4;}&lt;/style&gt;
  &lt;!-- ace-static.css --&gt;
  &lt;style&gt;.ace_static_highlight {white-space: pre-wrap;}.ace_static_highlight .ace_gutter {width: 2em;text-align: right;padding: 0 3px 0 0;margin-right: 3px;}.ace_static_highlight.ace_show_gutter &gt; .ace_line {padding-left: 2.6em;}.ace_static_highlight .ace_line {position: relative;}.ace_static_highlight .ace_gutter-cell {-moz-user-select: -moz-none;-khtml-user-select: none;-webkit-user-select: none;user-select: none;top: 0;bottom: 0;left: 0;position: absolute;}.ace_static_highlight .ace_gutter-cell:before {content: counter(ace_line, decimal);counter-increment: ace_line;}.ace_static_highlight {counter-reset: ace_line;}&lt;/style&gt;
  &lt;style&gt;.ace-idle-fingers .ace_gutter {background: #3b3b3b;color: rgb(153,153,153)}.ace-idle-fingers .ace_print-margin {width: 1px;background: #3b3b3b}.ace-idle-fingers {background-color: #323232;color: #FFFFFF}.ace-idle-fingers .ace_cursor {color: #91FF00}.ace-idle-fingers .ace_marker-layer .ace_selection {background: rgba(90, 100, 126, 0.88)}.ace-idle-fingers.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px #323232;}.ace-idle-fingers .ace_marker-layer .ace_step {background: rgb(102, 82, 0)}.ace-idle-fingers .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid #404040}.ace-idle-fingers .ace_marker-layer .ace_active-line {background: #353637}.ace-idle-fingers .ace_gutter-active-line {background-color: #353637}.ace-idle-fingers .ace_marker-layer .ace_selected-word {border: 1px solid rgba(90, 100, 126, 0.88)}.ace-idle-fingers .ace_invisible {color: #404040}.ace-idle-fingers .ace_keyword,.ace-idle-fingers .ace_meta {color: #CC7833}.ace-idle-fingers .ace_constant,.ace-idle-fingers .ace_constant.ace_character,.ace-idle-fingers .ace_constant.ace_character.ace_escape,.ace-idle-fingers .ace_constant.ace_other,.ace-idle-fingers .ace_support.ace_constant {color: #6C99BB}.ace-idle-fingers .ace_invalid {color: #FFFFFF;background-color: #FF0000}.ace-idle-fingers .ace_fold {background-color: #CC7833;border-color: #FFFFFF}.ace-idle-fingers .ace_support.ace_function {color: #B83426}.ace-idle-fingers .ace_variable.ace_parameter {font-style: italic}.ace-idle-fingers .ace_string {color: #A5C261}.ace-idle-fingers .ace_string.ace_regexp {color: #CCCC33}.ace-idle-fingers .ace_comment {font-style: italic;color: #BC9458}.ace-idle-fingers .ace_meta.ace_tag {color: #FFE5BB}.ace-idle-fingers .ace_entity.ace_name {color: #FFC66D}.ace-idle-fingers .ace_collab.ace_user1 {color: #323232;background-color: #FFF980}.ace-idle-fingers .ace_indent-guide {background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWMwMjLyZYiPj/8PAAreAwAI1+g0AAAAAElFTkSuQmCC) right repeat-y}&lt;/style&gt;
  &lt;!-- export.css --&gt;
  &lt;style&gt;
    body{margin:0 auto;max-width:100%;line-height:1.4}
    #nav{margin:5px 0 10px;font-size:15px}
    #titlearea{border-bottom:1px solid #ccc;font-size:17px;padding:10px 0;}
    #contentarea{font-size:15px;margin:16px 0}
    .cell{outline:0;min-height:20px;margin:5px 0;padding:5px 0;}
    .code-cell{font-family:Menlo,Consolas,'Ubuntu Mono',Monaco,'source-code-pro',monospace;font-size:12px;}
    .latex-cell{white-space:pre-wrap;}
  &lt;/style&gt;
  &lt;!-- User CSS --&gt;
  &lt;style&gt; .text-cell {font-size: 14px;}.code-cell {font-size: 12px;}.markdown-cell {font-size: 14px;}.latex-cell {font-size: 14px;}&lt;/style&gt;


  &lt;div id=&quot;contentarea&quot;&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;span style=&quot;background-color: rgba(0, 0, 0, 0.0392157); font-family: Menlo, Consolas, &amp;quot;Ubuntu Mono&amp;quot;, Monaco, source-code-pro, monospace; font-size: 11.9px;&quot;&gt;이 문서는 mysql, apache, nginx 설치, 도메인 설정에 대한 내용은 제외되어 있습니다.&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;div&gt;&lt;font face=&quot;Menlo, Consolas, Ubuntu Mono, Monaco, source-code-pro, monospace&quot;&gt;&lt;span style=&quot;font-size: 11.050000190734863px; background-color: rgba(0, 0, 0, 0.0392157);&quot;&gt;해당 내용은 현재 글에 추 후 업데이트 할 예정입니다.&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h2&gt;1. DB 생성, 설정&lt;/h2&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;root&lt;/span&gt;@&lt;span class=&quot;ace_identifier&quot;&gt;localhost&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;mysql&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;u&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;root&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;p&lt;/span&gt; 
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;Password&lt;/span&gt;: &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;********&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;mysql&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;create&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;database&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;wordpress&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;mysql&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;grant&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;all&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;privileges&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;on&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;wordpress&lt;/span&gt;.&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;*&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;to&lt;/span&gt; &lt;span class=&quot;ace_paren ace_lparen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;id&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt;@&lt;span class=&quot;ace_identifier&quot;&gt;localhost&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;identified&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;by&lt;/span&gt; &lt;span class=&quot;ace_string ace_start&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;[pwd]&lt;/span&gt;&lt;span class=&quot;ace_string ace_end&quot;&gt;'&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;with&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;grant&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;option&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;mysql&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;ALTER&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;DATABASE&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;wordpress&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;DEFAULT&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;CHARACTER&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;SET&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;utf8&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;COLLATE&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;utf8_general_ci&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;;&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;div&gt;&lt;b&gt;wordpress.*&lt;/b&gt; wordpress 라는 DB에 속하는 모든 테이블에 권한을 부여한다는 것&lt;/div&gt;&lt;div&gt;&lt;b&gt;[id]@localhost&lt;/b&gt; [id]는 사용할 사용자이름, localhost는 접속위치&lt;/div&gt;&lt;div&gt;&lt;b&gt;‘[pwd]'&lt;/b&gt; 사용할 패스워드 입력&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h2&gt;2. 워드프레스 다운로드 및 설치&lt;/h2&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h3&gt;다운로드&lt;/h3&gt;&lt;div&gt;아래 사이트에서 원하는 언어 버전으로 다운로드 받아서 압출을 풀어준다.&lt;/div&gt;&lt;div&gt;http://wordpress.org/ (영문 버전)&lt;br /&gt;&lt;/div&gt;&lt;div&gt;http://ko.wordpress.org/ (한국어 버전)&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h3&gt;업로드 (-&amp;gt;서버)&lt;/h3&gt;&lt;div&gt;로컬에서 다운로드를 받았다면 압축을 푼 파일을 서버로 전송해준다.&lt;/div&gt;&lt;div&gt;주의할 점은 폴더 이름을 wordpress 그대로 사용하지 말고, 다른 이름을 사용하여 추가해주자. 그래도 올리게되면 악의적인 봇이 사이트를 스캐닝하고 검색하면서 워드프레스 파일을 찾을 수 있다.&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h3&gt;Apache or Nginx 설정&lt;/h3&gt;&lt;div&gt;Apache 혹은 Nginx 중 사용하는 것을 선택하여 도메인 설정을 해주자&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h3&gt;환경설정 파일 (wp-config) 만들기&lt;/h3&gt;&lt;div&gt;http://워드프레스_도메인 (혹은 http://도메인/wordpress/wp-admin/install.php) 경로로 접속을 하면 환경설정 작업이 진행된다.&lt;/div&gt;&lt;div&gt;! 환경설정 파일을 생성하지 못하는 경우 과정에서 생성 방법 및 붙여넣기할 코드를 생성해주니 그대로 따라하면된다.&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;모든 설치가 종료되었습니다.&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h2&gt;3. 권한 설정&lt;/h2&gt;&lt;div&gt;워드프레스 내에서 플러그인이나 테마를 설치하려면 파일과 폴더에 쓰기 권한 설정이 필요하다.&lt;/div&gt;&lt;div&gt;일반적으로 워드프레스의 권한 설정 규칙은 다음과 같다&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h3&gt;권한 설정 규칙&lt;/h3&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;모든 워드프레스 파일의 소유 권한은 관리자가 되어야 함&lt;/li&gt;&lt;li&gt;모든 워드프레스 파일은 644 권한 (관리자:읽기/쓰기, 소유 그룹:읽기, 모든 유저:읽기) 으로 설정해야 함&lt;/li&gt;&lt;li&gt;모든 워드프레스 폴더는 755 권한&amp;nbsp;(관리자:읽기/쓰기/실행, 소유 그룹:읽기/실행, 모든 유저:읽기/실행) 으로 설정해야 함&lt;/li&gt;&lt;li&gt;워트프레스가 사용하는 계정이 리눅스 관리자 계정과 다르면 워드프레스의 파일 권한은 664, 폴더 권한은 775 로 설정해야 함&lt;/li&gt;&lt;li&gt;wp-config.php 파일은 600 권한 (관리자:읽기/쓰기) 으로 설정해야 함&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h3&gt;설정파일 수정&lt;/h3&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;# wp-config.php &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;파&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;일&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;아&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;래&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;쪽&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;에&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;추&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;가&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;# FS_METHOD &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;를&lt;/span&gt; direct &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;로&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;설&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;정&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;하&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;면&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;워&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;드&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;프&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;레&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;스&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;가&lt;/span&gt; wp_content/&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;와&lt;/span&gt; wp_content/launguages &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;그&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;리&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;고&lt;/span&gt; wp-content/upgrade/&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;에&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;쓰&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;기&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;권&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;한&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;이&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;있&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;는&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;지&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;리&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;눅&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;스&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;이&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;용&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;자&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;권&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;한&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;에&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;속&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;하&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;는&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;지&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;를&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;확&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;인&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;한&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;후&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;진&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;행&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;함&lt;/span&gt;. &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;쉽&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;게&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;생&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;각&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;하&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;면&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;폴&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;더&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;를&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;쓰&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;기&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;가&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;능&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;하&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;게&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;해&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;주&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;는&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;설&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;정&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;define&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_string ace_start&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;FS_METHOD&lt;/span&gt;&lt;span class=&quot;ace_string ace_end&quot;&gt;'&lt;/span&gt;, &lt;span class=&quot;ace_string ace_start&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;direct&lt;/span&gt;&lt;span class=&quot;ace_string ace_end&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;;&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h3&gt;필요한 폴더에 권한 부여 / 생성&lt;/h3&gt;&lt;div&gt;작업은 워드프레스가 설치된 폴더에서 진행하자&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;# upgrade &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;폴&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;더&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;가&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;없&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;는&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;경&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;우&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;생&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;성&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;mkdir&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;wp&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;content&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;upgrade&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;# &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;워&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;드&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;프&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;레&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;스&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;하&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;위&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;폴&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;더&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;권&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;한&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;일&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;괄&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;설&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;정&lt;/span&gt; (&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;기&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;본&lt;/span&gt;:755)&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;find&lt;/span&gt; .&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_support ace_function ace_builtin&quot;&gt;type&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;d&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_support ace_function ace_builtin&quot;&gt;exec&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;chmod&lt;/span&gt; &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;0755&lt;/span&gt; &lt;span class=&quot;ace_paren ace_lparen&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;}&lt;/span&gt; &lt;span class=&quot;ace_constant&quot;&gt;\;&lt;/span&gt; 
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;# &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;워&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;드&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;프&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;레&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;스&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;하&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;위&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;파&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;일&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;권&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;한&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;일&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;괄&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;설&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;정&lt;/span&gt; (&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;기&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;본&lt;/span&gt;:644)&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;find&lt;/span&gt; .&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_support ace_function ace_builtin&quot;&gt;type&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;f&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_support ace_function ace_builtin&quot;&gt;exec&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;chmod&lt;/span&gt; &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;0644&lt;/span&gt; &lt;span class=&quot;ace_paren ace_lparen&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;}&lt;/span&gt; &lt;span class=&quot;ace_constant&quot;&gt;\;&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;워드프레스 사용 계정이 리눅스 관리자 계정과 다르다면 폴더 권한은 775, 파일 권한은 664 로 설정하자&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;
  &lt;script&gt;&lt;/script&gt;

&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>Environment/Wordpress</category>
      <author>Tez.Park</author>
      <guid isPermaLink="true">https://sham.tistory.com/159</guid>
      <comments>https://sham.tistory.com/159#entry159comment</comments>
      <pubDate>Thu, 5 Jan 2017 11:24:17 +0900</pubDate>
    </item>
    <item>
      <title>[APNs] Push notification 등록 (iOS10 대응)</title>
      <link>https://sham.tistory.com/158</link>
      <description>
  &lt;meta charset=&quot;utf-8&quot;&gt;
  &lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;&gt;
  &lt;!-- common.css --&gt;
  &lt;style&gt;* {-webkit-tap-highlight-color: rgba(0,0,0,0);}html {-webkit-text-size-adjust: none;}body {font-family: Arial, Helvetica, sans-serif;margin: 0;color: #333;word-wrap: break-word;}h1, h2, h3, h4, h5, h6 {line-height: 1.1;}img {max-width: 100% !important;}blockquote {margin: 0;padding: 0 15px;color: #777;border-left: 4px solid #ddd;}hr {background-color: #ddd;border: 0;height: 1px;margin: 15px 0;}code {font-family: Menlo, Consolas, 'Ubuntu Mono', Monaco, 'source-code-pro', monospace;line-height: 1.4;margin: 0;padding: 0.2em 0;font-size: 85%;background-color: rgba(0,0,0,0.04);border-radius: 3px;}pre &gt; code {margin: 0;padding: 0;font-size: 100%;word-break: normal;background: transparent;border: 0;}ol {list-style-type: decimal;}ol ol, ul ol {list-style-type: lower-latin;}ol ol ol, ul ol ol, ul ul ol, ol ul ol {list-style-type: lower-roman;}table {border-spacing: 0;border-collapse: collapse;margin-top: 0;margin-bottom: 16px;}table th {font-weight: bold;}table th, table td {padding: 6px 13px;border: 1px solid #ddd;}table tr {border-top: 1px solid #ccc;}table tr:nth-child(even) {background-color: #f8f8f8;}input[type=&quot;checkbox&quot;] {cursor: default;margin-right: 0.5em;font-size: 13px;}.task-list-item {list-style-type: none;}.task-list-item+.task-list-item {margin-top: 3px;}.task-list-item input {float: left;margin: 0.3em 1em 0.25em -1.6em;vertical-align: middle;}#tag-field {margin: 8px 2px 10px;}#tag-field .tag {display: inline-block;background: #cadff3;border-radius: 4px;padding: 1px 8px;color: black;font-size: 12px;margin-right: 10px;line-height: 1.4;}&lt;/style&gt;
  &lt;!-- ace-static.css --&gt;
  &lt;style&gt;.ace_static_highlight {white-space: pre-wrap;}.ace_static_highlight .ace_gutter {width: 2em;text-align: right;padding: 0 3px 0 0;margin-right: 3px;}.ace_static_highlight.ace_show_gutter &gt; .ace_line {padding-left: 2.6em;}.ace_static_highlight .ace_line {position: relative;}.ace_static_highlight .ace_gutter-cell {-moz-user-select: -moz-none;-khtml-user-select: none;-webkit-user-select: none;user-select: none;top: 0;bottom: 0;left: 0;position: absolute;}.ace_static_highlight .ace_gutter-cell:before {content: counter(ace_line, decimal);counter-increment: ace_line;}.ace_static_highlight {counter-reset: ace_line;}&lt;/style&gt;
  &lt;style&gt;.ace-idle-fingers .ace_gutter {background: #3b3b3b;color: rgb(153,153,153)}.ace-idle-fingers .ace_print-margin {width: 1px;background: #3b3b3b}.ace-idle-fingers {background-color: #323232;color: #FFFFFF}.ace-idle-fingers .ace_cursor {color: #91FF00}.ace-idle-fingers .ace_marker-layer .ace_selection {background: rgba(90, 100, 126, 0.88)}.ace-idle-fingers.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px #323232;}.ace-idle-fingers .ace_marker-layer .ace_step {background: rgb(102, 82, 0)}.ace-idle-fingers .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid #404040}.ace-idle-fingers .ace_marker-layer .ace_active-line {background: #353637}.ace-idle-fingers .ace_gutter-active-line {background-color: #353637}.ace-idle-fingers .ace_marker-layer .ace_selected-word {border: 1px solid rgba(90, 100, 126, 0.88)}.ace-idle-fingers .ace_invisible {color: #404040}.ace-idle-fingers .ace_keyword,.ace-idle-fingers .ace_meta {color: #CC7833}.ace-idle-fingers .ace_constant,.ace-idle-fingers .ace_constant.ace_character,.ace-idle-fingers .ace_constant.ace_character.ace_escape,.ace-idle-fingers .ace_constant.ace_other,.ace-idle-fingers .ace_support.ace_constant {color: #6C99BB}.ace-idle-fingers .ace_invalid {color: #FFFFFF;background-color: #FF0000}.ace-idle-fingers .ace_fold {background-color: #CC7833;border-color: #FFFFFF}.ace-idle-fingers .ace_support.ace_function {color: #B83426}.ace-idle-fingers .ace_variable.ace_parameter {font-style: italic}.ace-idle-fingers .ace_string {color: #A5C261}.ace-idle-fingers .ace_string.ace_regexp {color: #CCCC33}.ace-idle-fingers .ace_comment {font-style: italic;color: #BC9458}.ace-idle-fingers .ace_meta.ace_tag {color: #FFE5BB}.ace-idle-fingers .ace_entity.ace_name {color: #FFC66D}.ace-idle-fingers .ace_collab.ace_user1 {color: #323232;background-color: #FFF980}.ace-idle-fingers .ace_indent-guide {background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWMwMjLyZYiPj/8PAAreAwAI1+g0AAAAAElFTkSuQmCC) right repeat-y}&lt;/style&gt;
  &lt;!-- export.css --&gt;
  &lt;style&gt;
    body{margin:0 auto;max-width:100%;line-height:1.4}
    #nav{margin:5px 0 10px;font-size:15px}
    #titlearea{border-bottom:1px solid #ccc;font-size:17px;padding:10px 0;}
    #contentarea{font-size:15px;margin:16px 0}
    .cell{outline:0;min-height:20px;margin:5px 0;padding:5px 0;}
    .code-cell{font-family:Menlo,Consolas,'Ubuntu Mono',Monaco,'source-code-pro',monospace;font-size:12px;}
    .latex-cell{white-space:pre-wrap;}
  &lt;/style&gt;
  &lt;!-- User CSS --&gt;
  &lt;style&gt; .text-cell {font-size: 14px;}.code-cell {font-size: 12px;}.markdown-cell {font-size: 14px;}.latex-cell {font-size: 14px;}&lt;/style&gt;


  &lt;div id=&quot;contentarea&quot;&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h3&gt;Summary&lt;/h3&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;APNs 를 사용하여 푸쉬 서비스를 이용할 경우 소스코드 내에 푸쉬 서비스 등록 및 푸쉬를 받았을 경우 처리할 수 있는 delegate 를 구현해 주어야 한다.&lt;div&gt;iOS10 부터 UNUserNotification 을 사용하여 서비스 등록 및 처리 방법이 변경되었기 때문에 iOS10 버전과 하위버전을 같이 처리할 수 있도록 적용해 주어야 한다.&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h3&gt;푸시 서비스 등록 및 처리&lt;/h3&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment ace_doc&quot;&gt;/************ &lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment ace_doc&quot;&gt;AppDelegate.h&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment ace_doc&quot;&gt;*************/&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword&quot;&gt;#import&lt;/span&gt;&lt;span class=&quot;ace_constant ace_other&quot;&gt; &amp;lt;UserNotifications/UserNotifications.h&amp;gt;&lt;/span&gt; &lt;span class=&quot;ace_comment&quot;&gt;// &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;추&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;가&lt;/span&gt; ( &amp;gt;= iOS10)&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;// UNUserNotificationCenterDelegate &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;를&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;추&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;가&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_storage ace_type ace_objc&quot;&gt;@&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_definition ace_storage ace_type ace_objc&quot;&gt;interface&lt;/span&gt;&lt;span class=&quot;ace_entity ace_name ace_type ace_objc&quot;&gt; AppDelegate&lt;/span&gt; : &lt;span class=&quot;ace_entity ace_other ace_inherited-class ace_objc&quot;&gt;UIResponder&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;UIApplicationDelegate&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;UNUserNotificationCenterDelegate&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;...&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment ace_doc&quot;&gt;/************ &lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment ace_doc&quot;&gt;AppDelegate.m&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment ace_doc&quot;&gt;*************/&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;...&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword&quot;&gt;#define&lt;/span&gt;&lt;span class=&quot;ace_constant ace_other&quot;&gt; isOSVersionOver10  ([[[[UIDevice currentDevice].systemVersion componentsSeparatedByString:@&quot;.&quot;] objectAtIndex:0] integerValue] &amp;gt;= 10)&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;...&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_meta ace_function ace_objc&quot;&gt;- &lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_storage ace_type ace_objc&quot;&gt;BOOL&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;application&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;UIApplication&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;application&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;didFinishLaunchingWithOptions&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_support ace_class ace_cocoa&quot;&gt;NSDictionary&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;launchOptions&lt;/span&gt; &lt;span class=&quot;ace_paren ace_lparen&quot;&gt;{&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;    &lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;...&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;    &lt;span class=&quot;ace_comment&quot;&gt;// &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;푸&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;시&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;서&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;비&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;스&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;초&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;기&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;화&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;함&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;수&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;를&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;호&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;출&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;    &lt;span class=&quot;ace_punctuation ace_section ace_scope ace_begin ace_objc&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;self&lt;/span&gt; &lt;span class=&quot;ace_support ace_function ace_any-method ace_objc&quot;&gt;initializeRemoteNotification&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;    &lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;...&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;}&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword&quot;&gt;#pragma&lt;/span&gt;&lt;span class=&quot;ace_constant ace_other&quot;&gt; mark - Initialize Remote Notification&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_meta ace_function ace_objc&quot;&gt;- &lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_storage ace_type&quot;&gt;void&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;initializeRemoteNotification&lt;/span&gt; &lt;span class=&quot;ace_paren ace_lparen&quot;&gt;{&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;    &lt;span class=&quot;ace_keyword ace_control&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;isOSVersionOver10&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;ace_paren ace_lparen&quot;&gt;{&lt;/span&gt; &lt;span class=&quot;ace_comment&quot;&gt;// iOS10 &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;이&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;상&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;    &lt;span class=&quot;ace_identifier&quot;&gt;UNUserNotificationCenter&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;center&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;ace_punctuation ace_section ace_scope ace_begin ace_objc&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;UNUserNotificationCenter&lt;/span&gt; &lt;span class=&quot;ace_support ace_function ace_any-method ace_objc&quot;&gt;currentNotificationCenter&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;    &lt;span class=&quot;ace_identifier&quot;&gt;center&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;delegate&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;self&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;    &lt;span class=&quot;ace_punctuation ace_section ace_scope ace_begin ace_objc&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;center&lt;/span&gt; &lt;span class=&quot;ace_support ace_function ace_any-method ace_objc&quot;&gt;requestAuthorizationWithOptions:&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;UNAuthorizationOptionSound&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;|&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;UNAuthorizationOptionAlert&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;|&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;UNAuthorizationOptionBadge&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;completionHandler&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;^&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_storage ace_type ace_objc&quot;&gt;BOOL&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;granted&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;ace_support ace_class ace_cocoa&quot;&gt;NSError&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;*&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;_Nullable&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;error&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;{&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;    &lt;span class=&quot;ace_keyword ace_control&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;!&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;error&lt;/span&gt; &lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;ace_paren ace_lparen&quot;&gt;{&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;    &lt;span class=&quot;ace_comment&quot;&gt;// &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;푸&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;시&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;서&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;비&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;스&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;등&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;록&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;성&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;공&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;    &lt;span class=&quot;ace_punctuation ace_section ace_scope ace_begin ace_objc&quot;&gt;[[&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;UIApplication&lt;/span&gt; &lt;span class=&quot;ace_support ace_function ace_any-method ace_objc&quot;&gt;sharedApplication&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;registerForRemoteNotifications&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;    &lt;span class=&quot;ace_paren ace_rparen&quot;&gt;}&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;    &lt;span class=&quot;ace_keyword ace_control&quot;&gt;else&lt;/span&gt; &lt;span class=&quot;ace_paren ace_lparen&quot;&gt;{&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;    &lt;span class=&quot;ace_comment&quot;&gt;// &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;푸&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;시&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;서&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;비&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;스&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;등&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;록&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;실&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;패&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;    &lt;span class=&quot;ace_paren ace_rparen&quot;&gt;}]&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;    &lt;span class=&quot;ace_paren ace_rparen&quot;&gt;}&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;    &lt;span class=&quot;ace_keyword ace_control&quot;&gt;else&lt;/span&gt; &lt;span class=&quot;ace_paren ace_lparen&quot;&gt;{&lt;/span&gt;  &lt;span class=&quot;ace_comment&quot;&gt;// iOS10 &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;하&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;위&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;버&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;전&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;    &lt;span class=&quot;ace_keyword ace_control&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_section ace_scope ace_begin ace_objc&quot;&gt;[[&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;UIApplication&lt;/span&gt; &lt;span class=&quot;ace_support ace_function ace_any-method ace_objc&quot;&gt;sharedApplication&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;respondsToSelector&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_definition ace_storage ace_type ace_objc&quot;&gt;@selector&lt;/span&gt;&lt;span class=&quot;ace_punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_support ace_function ace_any-method ace_name-of-parameter ace_objc&quot;&gt;isRegisteredForRemoteNotifications&lt;/span&gt;&lt;span class=&quot;ace_punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;])&lt;/span&gt; &lt;span class=&quot;ace_paren ace_lparen&quot;&gt;{&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;    &lt;span class=&quot;ace_punctuation ace_section ace_scope ace_begin ace_objc&quot;&gt;[[&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;UIApplication&lt;/span&gt; &lt;span class=&quot;ace_support ace_function ace_any-method ace_objc&quot;&gt;sharedApplication&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;registerUserNotificationSettings&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_section ace_scope ace_begin ace_objc&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;UIUserNotificationSettings&lt;/span&gt; &lt;span class=&quot;ace_support ace_function ace_any-method ace_objc&quot;&gt;settingsForTypes:&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;UIUserNotificationTypeSound&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;|&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;UIUserNotificationTypeAlert&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;|&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;UIUserNotificationTypeBadge&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;categories&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;ace_constant ace_language ace_objc&quot;&gt;nil&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]]&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;    &lt;span class=&quot;ace_punctuation ace_section ace_scope ace_begin ace_objc&quot;&gt;[[&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;UIApplication&lt;/span&gt; &lt;span class=&quot;ace_support ace_function ace_any-method ace_objc&quot;&gt;sharedApplication&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;registerForRemoteNotifications&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;    &lt;span class=&quot;ace_paren ace_rparen&quot;&gt;}&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;    &lt;span class=&quot;ace_paren ace_rparen&quot;&gt;}&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;}&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword&quot;&gt;#pragma&lt;/span&gt;&lt;span class=&quot;ace_constant ace_other&quot;&gt; mark - Get Device Token&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;// &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;푸&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;시&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;에&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;사&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;용&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;할&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;디&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;바&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;이&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;스&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;토&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;큰&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;을&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;받&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;아&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;오&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;는&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;부&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;분&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_meta ace_function ace_objc&quot;&gt;- &lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_storage ace_type&quot;&gt;void&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;application&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;UIApplication&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;application&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;didRegisterForRemoteNotificationsWithDeviceToken&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_support ace_class ace_cocoa&quot;&gt;NSData&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;deviceToken&lt;/span&gt; &lt;span class=&quot;ace_paren ace_lparen&quot;&gt;{&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;    &lt;span class=&quot;ace_support ace_class ace_cocoa&quot;&gt;NSMutableString&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;tokenHex&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;ace_punctuation ace_section ace_scope ace_begin ace_objc&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_support ace_class ace_cocoa&quot;&gt;NSMutableString&lt;/span&gt; &lt;span class=&quot;ace_support ace_function ace_any-method ace_objc&quot;&gt;stringWithString:&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_section ace_scope ace_begin ace_objc&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;deviceToken&lt;/span&gt; &lt;span class=&quot;ace_support ace_function ace_any-method ace_objc&quot;&gt;description&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]]&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;    &lt;span class=&quot;ace_punctuation ace_section ace_scope ace_begin ace_objc&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;tokenHex&lt;/span&gt; &lt;span class=&quot;ace_support ace_function ace_any-method ace_objc&quot;&gt;replaceOccurrencesOfString:&lt;/span&gt;&lt;span class=&quot;ace_string ace_begin ace_objc&quot;&gt;@&quot;&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_definition ace_string ace_end&quot;&gt;&quot;&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;withString&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;ace_string ace_begin ace_objc&quot;&gt;@&quot;&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_definition ace_string ace_end&quot;&gt;&quot;&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;options&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;0&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;range&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;ace_support ace_function ace_cocoa&quot;&gt;NSMakeRange&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;ace_punctuation ace_section ace_scope ace_begin ace_objc&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;tokenHex&lt;/span&gt; &lt;span class=&quot;ace_support ace_function ace_any-method ace_objc&quot;&gt;length&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;])]&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;    &lt;span class=&quot;ace_punctuation ace_section ace_scope ace_begin ace_objc&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;tokenHex&lt;/span&gt; &lt;span class=&quot;ace_support ace_function ace_any-method ace_objc&quot;&gt;replaceOccurrencesOfString:&lt;/span&gt;&lt;span class=&quot;ace_string ace_begin ace_objc&quot;&gt;@&quot;&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_definition ace_string ace_end&quot;&gt;&quot;&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;withString&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;ace_string ace_begin ace_objc&quot;&gt;@&quot;&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_definition ace_string ace_end&quot;&gt;&quot;&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;options&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;0&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;range&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;ace_support ace_function ace_cocoa&quot;&gt;NSMakeRange&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;ace_punctuation ace_section ace_scope ace_begin ace_objc&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;tokenHex&lt;/span&gt; &lt;span class=&quot;ace_support ace_function ace_any-method ace_objc&quot;&gt;length&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;])]&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;    &lt;span class=&quot;ace_punctuation ace_section ace_scope ace_begin ace_objc&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;tokenHex&lt;/span&gt; &lt;span class=&quot;ace_support ace_function ace_any-method ace_objc&quot;&gt;replaceOccurrencesOfString:&lt;/span&gt;&lt;span class=&quot;ace_string ace_begin ace_objc&quot;&gt;@&quot;&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt; &lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_definition ace_string ace_end&quot;&gt;&quot;&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;withString&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;ace_string ace_begin ace_objc&quot;&gt;@&quot;&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_definition ace_string ace_end&quot;&gt;&quot;&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;options&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;0&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;range&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;ace_support ace_function ace_cocoa&quot;&gt;NSMakeRange&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;ace_punctuation ace_section ace_scope ace_begin ace_objc&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;tokenHex&lt;/span&gt; &lt;span class=&quot;ace_support ace_function ace_any-method ace_objc&quot;&gt;length&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;])]&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;    &lt;span class=&quot;ace_support ace_function ace_cocoa&quot;&gt;NSLog&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_string ace_begin ace_objc&quot;&gt;@&quot;&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;Token origin : %@&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_definition ace_string ace_end&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;deviceToken&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;    &lt;span class=&quot;ace_support ace_function ace_cocoa&quot;&gt;NSLog&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_string ace_begin ace_objc&quot;&gt;@&quot;&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;Token : %@&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_definition ace_string ace_end&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;tokenHex&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;}&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;// iOS9 &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;이&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;하&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;푸&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;시&lt;/span&gt; Delegate&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword&quot;&gt;#pragma&lt;/span&gt;&lt;span class=&quot;ace_constant ace_other&quot;&gt; mark - Remote Notification Delegate for &amp;lt;= iOS 9.x&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_meta ace_function ace_objc&quot;&gt;- &lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_storage ace_type&quot;&gt;void&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;application&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;UIApplication&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;application&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;didRegisterUserNotificationSettings&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;UIUserNotificationSettings&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;notificationSettings&lt;/span&gt; &lt;span class=&quot;ace_paren ace_lparen&quot;&gt;{&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;    &lt;span class=&quot;ace_punctuation ace_section ace_scope ace_begin ace_objc&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;application&lt;/span&gt; &lt;span class=&quot;ace_support ace_function ace_any-method ace_objc&quot;&gt;registerForRemoteNotifications&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;}&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;// &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;푸&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;시&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;데&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;이&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;터&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;가&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;들&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;어&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;오&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;는&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;함&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;수&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_meta ace_function ace_objc&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_storage ace_type&quot;&gt;void&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;application&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;UIApplication&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;application&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;didReceiveRemoteNotification&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_support ace_class ace_cocoa&quot;&gt;NSDictionary&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;userInfo&lt;/span&gt; &lt;span class=&quot;ace_paren ace_lparen&quot;&gt;{&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;    &lt;span class=&quot;ace_support ace_function ace_cocoa&quot;&gt;NSLog&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_string ace_begin ace_objc&quot;&gt;@&quot;&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;Remote notification : %@&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_definition ace_string ace_end&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;userInfo&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;}&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;// &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;푸&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;시&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;서&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;비&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;스&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;등&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;록&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;실&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;패&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;시&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;호&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;출&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;되&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;는&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;함&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;수&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_meta ace_function ace_objc&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_storage ace_type&quot;&gt;void&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;application&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;UIApplication&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;application&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;didFailToRegisterForRemoteNotificationsWithError&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_support ace_class ace_cocoa&quot;&gt;NSError&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;error&lt;/span&gt; &lt;span class=&quot;ace_paren ace_lparen&quot;&gt;{&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;    &lt;span class=&quot;ace_support ace_function ace_cocoa&quot;&gt;NSLog&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_string ace_begin ace_objc&quot;&gt;@&quot;&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;Error : %@&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_definition ace_string ace_end&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;error&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;}&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;// iOS10 &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;이&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;상&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;푸&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;시&lt;/span&gt; Delegate&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword&quot;&gt;#pragma&lt;/span&gt;&lt;span class=&quot;ace_constant ace_other&quot;&gt; mark - UNUserNotificationCenter Delegate for &amp;gt;= iOS 10&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;// &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;앱&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;이&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;실&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;행&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;되&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;고&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;있&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;을&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;때&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;푸&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;시&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;데&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;이&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;터&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;처&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;리&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_meta ace_function ace_objc&quot;&gt;- &lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_storage ace_type&quot;&gt;void&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;userNotificationCenter&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;UNUserNotificationCenter&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;center&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;willPresentNotification&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;UNNotification&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;notification&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;withCompletionHandler&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_storage ace_type&quot;&gt;void&lt;/span&gt; &lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;^&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;UNNotificationPresentationOptions&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;options&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;))&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;completionHandler&lt;/span&gt; &lt;span class=&quot;ace_paren ace_lparen&quot;&gt;{&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;    &lt;span class=&quot;ace_support ace_function ace_cocoa&quot;&gt;NSLog&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_string ace_begin ace_objc&quot;&gt;@&quot;&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;Remote notification : %@&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_definition ace_string ace_end&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;notification&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;request&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;content&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;userInfo&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;    &lt;span class=&quot;ace_comment&quot;&gt;//&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;푸&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;시&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;배&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;너&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;를&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;띄&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;워&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;준&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;다&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;    &lt;span class=&quot;ace_identifier&quot;&gt;completionHandler&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;UNNotificationPresentationOptionAlert&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;|&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;UNNotificationPresentationOptionBadge&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;|&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;UNNotificationPresentationOptionSound&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;}&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;// &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;앱&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;이&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;백&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;그&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;라&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;운&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;나&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;종&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;료&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;되&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;어&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;있&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;는&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;상&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;태&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;에&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;서&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;푸&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;시&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;데&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;이&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;터&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;처&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;리&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_meta ace_function ace_objc&quot;&gt;- &lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_storage ace_type&quot;&gt;void&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;userNotificationCenter&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;UNUserNotificationCenter&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;center&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;didReceiveNotificationResponse&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;UNNotificationResponse&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;response&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;withCompletionHandler&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_storage ace_type&quot;&gt;void&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;^&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;))&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;completionHandler&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;{&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;    &lt;span class=&quot;ace_support ace_function ace_cocoa&quot;&gt;NSLog&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_string ace_begin ace_objc&quot;&gt;@&quot;&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;Remote notification : %@&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_definition ace_string ace_end&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;response&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;notification&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;request&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;content&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;userInfo&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;    &lt;span class=&quot;ace_identifier&quot;&gt;completionHandler&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;}&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;iOS10 부터는 소스코드 추가 이외에 프로젝트 설정에서 Push Notificaiton 옵션을 활성화 해주어야 한다&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 703px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/210F9950584D120B22&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F210F9950584D120B22&quot; width=&quot;703&quot; height=&quot;190&quot; filename=&quot;pushnotification.png&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;옵션을 활성화 해주면 아래와 같이 entitlements 파일이 생성될 것이다.&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 694px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/2466EC4A584D122018&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F2466EC4A584D122018&quot; width=&quot;694&quot; height=&quot;99&quot; filename=&quot;pushnotification2.png&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;이렇게 해주면 모든 푸시 서비스 등록 작업이 마무리된다.&lt;/div&gt;&lt;/div&gt;
  &lt;script&gt;&lt;/script&gt;

&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>Programming/iOS - ObjC</category>
      <category>apns</category>
      <category>push notification</category>
      <category>remote notification</category>
      <author>Tez.Park</author>
      <guid isPermaLink="true">https://sham.tistory.com/158</guid>
      <comments>https://sham.tistory.com/158#entry158comment</comments>
      <pubDate>Sun, 11 Dec 2016 17:45:34 +0900</pubDate>
    </item>
    <item>
      <title>[mysql_config_editor] 암호화된 인증정보로 로그인</title>
      <link>https://sham.tistory.com/157</link>
      <description>&lt;!DOCTYPE html&gt;
&lt;html&gt;
&lt;head&gt;
  &lt;meta charset=&quot;utf-8&quot;&gt;
  &lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;&gt;
  &lt;!-- common.css --&gt;
  &lt;style&gt;* {-webkit-tap-highlight-color: rgba(0,0,0,0);}html {-webkit-text-size-adjust: none;}body {font-family: Arial, Helvetica, sans-serif;margin: 0;color: #333;word-wrap: break-word;}h1, h2, h3, h4, h5, h6 {line-height: 1.1;}img {max-width: 100% !important;}blockquote {margin: 0;padding: 0 15px;color: #777;border-left: 4px solid #ddd;}hr {background-color: #ddd;border: 0;height: 1px;margin: 15px 0;}code {font-family: Menlo, Consolas, 'Ubuntu Mono', Monaco, 'source-code-pro', monospace;line-height: 1.4;margin: 0;padding: 0.2em 0;font-size: 85%;background-color: rgba(0,0,0,0.04);border-radius: 3px;}pre &gt; code {margin: 0;padding: 0;font-size: 100%;word-break: normal;background: transparent;border: 0;}ol {list-style-type: decimal;}ol ol, ul ol {list-style-type: lower-latin;}ol ol ol, ul ol ol, ul ul ol, ol ul ol {list-style-type: lower-roman;}table {border-spacing: 0;border-collapse: collapse;margin-top: 0;margin-bottom: 16px;}table th {font-weight: bold;}table th, table td {padding: 6px 13px;border: 1px solid #ddd;}table tr {border-top: 1px solid #ccc;}table tr:nth-child(even) {background-color: #f8f8f8;}input[type=&quot;checkbox&quot;] {cursor: default;margin-right: 0.5em;font-size: 13px;}.task-list-item {list-style-type: none;}.task-list-item+.task-list-item {margin-top: 3px;}.task-list-item input {float: left;margin: 0.3em 1em 0.25em -1.6em;vertical-align: middle;}#tag-field {margin: 8px 2px 10px;}#tag-field .tag {display: inline-block;background: #cadff3;border-radius: 4px;padding: 1px 8px;color: black;font-size: 12px;margin-right: 10px;line-height: 1.4;}&lt;/style&gt;
  &lt;!-- ace-static.css --&gt;
  &lt;style&gt;.ace_static_highlight {white-space: pre-wrap;}.ace_static_highlight .ace_gutter {width: 2em;text-align: right;padding: 0 3px 0 0;margin-right: 3px;}.ace_static_highlight.ace_show_gutter &gt; .ace_line {padding-left: 2.6em;}.ace_static_highlight .ace_line {position: relative;}.ace_static_highlight .ace_gutter-cell {-moz-user-select: -moz-none;-khtml-user-select: none;-webkit-user-select: none;user-select: none;top: 0;bottom: 0;left: 0;position: absolute;}.ace_static_highlight .ace_gutter-cell:before {content: counter(ace_line, decimal);counter-increment: ace_line;}.ace_static_highlight {counter-reset: ace_line;}&lt;/style&gt;
  &lt;style&gt;.ace-idle-fingers .ace_gutter {background: #3b3b3b;color: rgb(153,153,153)}.ace-idle-fingers .ace_print-margin {width: 1px;background: #3b3b3b}.ace-idle-fingers {background-color: #323232;color: #FFFFFF}.ace-idle-fingers .ace_cursor {color: #91FF00}.ace-idle-fingers .ace_marker-layer .ace_selection {background: rgba(90, 100, 126, 0.88)}.ace-idle-fingers.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px #323232;}.ace-idle-fingers .ace_marker-layer .ace_step {background: rgb(102, 82, 0)}.ace-idle-fingers .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid #404040}.ace-idle-fingers .ace_marker-layer .ace_active-line {background: #353637}.ace-idle-fingers .ace_gutter-active-line {background-color: #353637}.ace-idle-fingers .ace_marker-layer .ace_selected-word {border: 1px solid rgba(90, 100, 126, 0.88)}.ace-idle-fingers .ace_invisible {color: #404040}.ace-idle-fingers .ace_keyword,.ace-idle-fingers .ace_meta {color: #CC7833}.ace-idle-fingers .ace_constant,.ace-idle-fingers .ace_constant.ace_character,.ace-idle-fingers .ace_constant.ace_character.ace_escape,.ace-idle-fingers .ace_constant.ace_other,.ace-idle-fingers .ace_support.ace_constant {color: #6C99BB}.ace-idle-fingers .ace_invalid {color: #FFFFFF;background-color: #FF0000}.ace-idle-fingers .ace_fold {background-color: #CC7833;border-color: #FFFFFF}.ace-idle-fingers .ace_support.ace_function {color: #B83426}.ace-idle-fingers .ace_variable.ace_parameter {font-style: italic}.ace-idle-fingers .ace_string {color: #A5C261}.ace-idle-fingers .ace_string.ace_regexp {color: #CCCC33}.ace-idle-fingers .ace_comment {font-style: italic;color: #BC9458}.ace-idle-fingers .ace_meta.ace_tag {color: #FFE5BB}.ace-idle-fingers .ace_entity.ace_name {color: #FFC66D}.ace-idle-fingers .ace_collab.ace_user1 {color: #323232;background-color: #FFF980}.ace-idle-fingers .ace_indent-guide {background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWMwMjLyZYiPj/8PAAreAwAI1+g0AAAAAElFTkSuQmCC) right repeat-y}&lt;/style&gt;
  &lt;!-- export.css --&gt;
  &lt;style&gt;
    body{margin:0 auto;max-width:100%;line-height:1.4}
    #nav{margin:5px 0 10px;font-size:15px}
    #titlearea{border-bottom:1px solid #ccc;font-size:17px;padding:10px 0;}
    #contentarea{font-size:15px;margin:16px 0}
    .cell{outline:0;min-height:20px;margin:5px 0;padding:5px 0;}
    .code-cell{font-family:Menlo,Consolas,'Ubuntu Mono',Monaco,'source-code-pro',monospace;font-size:12px;}
    .latex-cell{white-space:pre-wrap;}
  &lt;/style&gt;
  &lt;!-- User CSS --&gt;
  &lt;style&gt; .text-cell {font-size: 14px;}.code-cell {font-size: 12px;}.markdown-cell {font-size: 14px;}.latex-cell {font-size: 14px;}&lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
  &lt;div id=&quot;contentarea&quot;&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h2&gt;Summary&lt;/h2&gt;&lt;div&gt;커맨드라인에 계정정보가 노출되면 아래와 같은 경고 발생&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;code&gt;Warning: Using a password on the command line interface can be insecure.&lt;/code&gt;&lt;/div&gt;&lt;div&gt;커맨드 혹은 스크립트에서 계정 정보를 노출 하는건 정보가 유출 될 수 있으므로 로그인 파일을 생성한 후 사용하면 좋다.&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h3&gt;mysql_config_editor?&lt;/h3&gt;&lt;div&gt;MySQL 5.6.6 이상부터 사용가능한 Utility로 암호화된 로그인 파일인 &lt;code&gt;.mylogin.cnf&lt;/code&gt; 에 합접적인 인증 정보를 저장하여 사용하는 Utility 이다.&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;code&gt;mysql_config_editor&lt;/code&gt; 명령어는 &lt;code&gt;.mylogin.cnf&lt;/code&gt; 파일을 암호화하여 내용을 읽을 수 없게 만들고, client 프로그램에서 해독된 정보만 메모리상에 존재하므로 패스워드 정보를 보호할 수 있다.&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h2&gt;접속 정보 생성&lt;/h2&gt;&lt;div&gt;자세한 설명을 생략하고 바로 접속 정보를 생성하는 방법을 알아보자&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;mysql_config_editor&lt;/span&gt; &lt;span class=&quot;ace_support ace_function ace_builtin&quot;&gt;set&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;login&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_variable&quot;&gt;path=&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;name&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;ace_variable&quot;&gt;host=&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;hostname&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;ace_variable&quot;&gt;user=&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;username&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;password&lt;/span&gt; —&lt;span class=&quot;ace_variable&quot;&gt;port=&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;port&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;위의 명령어를 입력하면 비밀번호를 입력한 후&amp;nbsp;&lt;code&gt;myinfo.cnf&lt;/code&gt; 파일에 접속 정보가 등록된다.&amp;nbsp;&lt;div&gt;사용자 입력 항목들은 아래와 같다.&lt;/div&gt;&lt;div&gt;[name] : 접속시 사용할 이름&lt;/div&gt;&lt;div&gt;[hostname] : DB 호스트네임&lt;/div&gt;&lt;div&gt;[username] : DB 접속 아이디&lt;/div&gt;&lt;div&gt;[port] : 호스트의 포트번호&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h3&gt;등록된 인증 정보 확인&lt;/h3&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;mysql_config_editor&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;print&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;all&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;tez&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;user&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;root&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;password&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;*****&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;host&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;localhost&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;port&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;3306&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;print 옵션을 사용하여 등록정보를 출력하면 비밀번호 부분은 가려진채로 정보를 보여준다&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h3&gt;등록한 인증 정보로 MySQL 사용&amp;nbsp;&lt;/h3&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;# &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;기&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;존&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;방&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;법&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;mysql&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;u&lt;/span&gt; &lt;span class=&quot;ace_paren ace_lparen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;username&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;p&lt;/span&gt; 
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;# &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;변&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;경&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;방&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;법&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;mysql&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;login&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_variable&quot;&gt;path=&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;name&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;기존에 사용하던 &lt;code&gt;-u [username] -p&lt;/code&gt; 대신 &lt;code&gt;—login-path=[name]&lt;/code&gt;​ 옵션을 사용하여 mysql 관련 동작을 처리하면 된다&lt;div&gt;mysql, mysqldump 등 모두 이렇게 사용하면 된다.&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h3&gt;등록된 인증 정보 삭제&lt;/h3&gt;&lt;div&gt;등록되어있는 인증정보를 삭제하는 방법은 특정 정보만 삭제하는 방법과 전체 정보를 삭제하는 방법 두가지가 있다.&amp;nbsp;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;# &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;특&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;정&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;접&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;속&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;정&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;보&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;만&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;삭&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;제&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;mysql_config_editor&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;remove&lt;/span&gt; —&lt;span class=&quot;ace_identifier&quot;&gt;login&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_variable&quot;&gt;path=&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;name&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;# &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;전&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;체&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;정&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;보&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;를&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;삭&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;제&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;mysql_config_editor&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;remove&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;/div&gt;&lt;/div&gt;
  &lt;script&gt;&lt;/script&gt;
&lt;/body&gt;
&lt;/html&gt;</description>
      <category>Programming/MySQL</category>
      <category>MySQL</category>
      <category>mysql_config_editor</category>
      <author>Tez.Park</author>
      <guid isPermaLink="true">https://sham.tistory.com/157</guid>
      <comments>https://sham.tistory.com/157#entry157comment</comments>
      <pubDate>Sun, 11 Dec 2016 16:38:18 +0900</pubDate>
    </item>
    <item>
      <title>[Command] RHEL7 systemctl 명령어들</title>
      <link>https://sham.tistory.com/156</link>
      <description>&lt;meta charset=&quot;utf-8&quot;&gt;
  &lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;&gt;
  &lt;!-- common.css --&gt;
  &lt;style&gt;* {-webkit-tap-highlight-color: rgba(0,0,0,0);}html {-webkit-text-size-adjust: none;}body {font-family: Arial, Helvetica, sans-serif;margin: 0;color: #333;word-wrap: break-word;}h1, h2, h3, h4, h5, h6 {line-height: 1.1;}img {max-width: 100% !important;}blockquote {margin: 0;padding: 0 15px;color: #777;border-left: 4px solid #ddd;}hr {background-color: #ddd;border: 0;height: 1px;margin: 15px 0;}code {font-family: Menlo, Consolas, 'Ubuntu Mono', Monaco, 'source-code-pro', monospace;line-height: 1.4;margin: 0;padding: 0.2em 0;font-size: 85%;background-color: rgba(0,0,0,0.04);border-radius: 3px;}pre &gt; code {margin: 0;padding: 0;font-size: 100%;word-break: normal;background: transparent;border: 0;}ol {list-style-type: decimal;}ol ol, ul ol {list-style-type: lower-latin;}ol ol ol, ul ol ol, ul ul ol, ol ul ol {list-style-type: lower-roman;}table {border-spacing: 0;border-collapse: collapse;margin-top: 0;margin-bottom: 16px;}table th {font-weight: bold;}table th, table td {padding: 6px 13px;border: 1px solid #ddd;}table tr {border-top: 1px solid #ccc;}table tr:nth-child(even) {background-color: #f8f8f8;}input[type=&quot;checkbox&quot;] {cursor: default;margin-right: 0.5em;font-size: 13px;}.task-list-item {list-style-type: none;}.task-list-item+.task-list-item {margin-top: 3px;}.task-list-item input {float: left;margin: 0.3em 1em 0.25em -1.6em;vertical-align: middle;}#tag-field {margin: 8px 2px 10px;}#tag-field .tag {display: inline-block;background: #cadff3;border-radius: 4px;padding: 1px 8px;color: black;font-size: 12px;margin-right: 10px;line-height: 1.4;}&lt;/style&gt;
  &lt;!-- ace-static.css --&gt;
  &lt;style&gt;.ace_static_highlight {white-space: pre-wrap;}.ace_static_highlight .ace_gutter {width: 2em;text-align: right;padding: 0 3px 0 0;margin-right: 3px;}.ace_static_highlight.ace_show_gutter &gt; .ace_line {padding-left: 2.6em;}.ace_static_highlight .ace_line {position: relative;}.ace_static_highlight .ace_gutter-cell {-moz-user-select: -moz-none;-khtml-user-select: none;-webkit-user-select: none;user-select: none;top: 0;bottom: 0;left: 0;position: absolute;}.ace_static_highlight .ace_gutter-cell:before {content: counter(ace_line, decimal);counter-increment: ace_line;}.ace_static_highlight {counter-reset: ace_line;}&lt;/style&gt;
  &lt;style&gt;.ace-idle-fingers .ace_gutter {background: #3b3b3b;color: rgb(153,153,153)}.ace-idle-fingers .ace_print-margin {width: 1px;background: #3b3b3b}.ace-idle-fingers {background-color: #323232;color: #FFFFFF}.ace-idle-fingers .ace_cursor {color: #91FF00}.ace-idle-fingers .ace_marker-layer .ace_selection {background: rgba(90, 100, 126, 0.88)}.ace-idle-fingers.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px #323232;}.ace-idle-fingers .ace_marker-layer .ace_step {background: rgb(102, 82, 0)}.ace-idle-fingers .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid #404040}.ace-idle-fingers .ace_marker-layer .ace_active-line {background: #353637}.ace-idle-fingers .ace_gutter-active-line {background-color: #353637}.ace-idle-fingers .ace_marker-layer .ace_selected-word {border: 1px solid rgba(90, 100, 126, 0.88)}.ace-idle-fingers .ace_invisible {color: #404040}.ace-idle-fingers .ace_keyword,.ace-idle-fingers .ace_meta {color: #CC7833}.ace-idle-fingers .ace_constant,.ace-idle-fingers .ace_constant.ace_character,.ace-idle-fingers .ace_constant.ace_character.ace_escape,.ace-idle-fingers .ace_constant.ace_other,.ace-idle-fingers .ace_support.ace_constant {color: #6C99BB}.ace-idle-fingers .ace_invalid {color: #FFFFFF;background-color: #FF0000}.ace-idle-fingers .ace_fold {background-color: #CC7833;border-color: #FFFFFF}.ace-idle-fingers .ace_support.ace_function {color: #B83426}.ace-idle-fingers .ace_variable.ace_parameter {font-style: italic}.ace-idle-fingers .ace_string {color: #A5C261}.ace-idle-fingers .ace_string.ace_regexp {color: #CCCC33}.ace-idle-fingers .ace_comment {font-style: italic;color: #BC9458}.ace-idle-fingers .ace_meta.ace_tag {color: #FFE5BB}.ace-idle-fingers .ace_entity.ace_name {color: #FFC66D}.ace-idle-fingers .ace_collab.ace_user1 {color: #323232;background-color: #FFF980}.ace-idle-fingers .ace_indent-guide {background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWMwMjLyZYiPj/8PAAreAwAI1+g0AAAAAElFTkSuQmCC) right repeat-y}&lt;/style&gt;
  &lt;!-- export.css --&gt;
  &lt;style&gt;
    body{margin:0 auto;max-width:100%;line-height:1.4}
    #nav{margin:5px 0 10px;font-size:15px}
    #titlearea{border-bottom:1px solid #ccc;font-size:17px;padding:10px 0;}
    #contentarea{font-size:15px;margin:16px 0}
    .cell{outline:0;min-height:20px;margin:5px 0;padding:5px 0;}
    .code-cell{font-family:Menlo,Consolas,'Ubuntu Mono',Monaco,'source-code-pro',monospace;font-size:12px;}
    .latex-cell{white-space:pre-wrap;}
  &lt;/style&gt;
  &lt;!-- User CSS --&gt;
  &lt;style&gt; .text-cell {font-size: 14px;}.code-cell {font-size: 12px;}.markdown-cell {font-size: 14px;}.latex-cell {font-size: 14px;}&lt;/style&gt;


  &lt;div id=&quot;contentarea&quot;&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h3&gt;RHEL6 &lt;code&gt;service&lt;/code&gt; &amp;nbsp;&amp;gt; &amp;nbsp;RHEL7 &lt;code&gt;systemctl&lt;/code&gt;&lt;/h3&gt;RHEL6 의 &lt;b&gt;service&lt;/b&gt; 명령어가 RHEL7 에서는 &lt;b&gt;systemctl&lt;/b&gt;&amp;nbsp;명령어로 대체됨&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;# &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;상&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;태&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;표&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;시&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;서&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;비&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;스&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;단&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;위&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;systemctl&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;status&lt;/span&gt; &lt;span class=&quot;ace_paren ace_lparen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;service_name&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;# &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;상&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;태&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;표&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;시&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;전&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;체&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;systemctl&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;list&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;units&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;ace_support ace_function ace_builtin&quot;&gt;type&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;service&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;# &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;상&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;태&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;표&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;시&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;전&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;체&lt;/span&gt;(&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;생&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;략&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;형&lt;/span&gt;)&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;systemctl&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;ace_support ace_function ace_builtin&quot;&gt;type&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;service&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;# &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;서&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;비&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;스&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;시&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;작&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;systemctl&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;start&lt;/span&gt; &lt;span class=&quot;ace_paren ace_lparen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;service_name&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;# &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;서&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;비&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;스&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;종&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;료&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;systemctl&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;stop&lt;/span&gt; &lt;span class=&quot;ace_paren ace_lparen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;service_name&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;# &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;서&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;비&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;스&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;강&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;제&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;종&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;료&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;systemctl&lt;/span&gt; &lt;span class=&quot;ace_support ace_function ace_builtin&quot;&gt;kill&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;s&lt;/span&gt; &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;9&lt;/span&gt; &lt;span class=&quot;ace_paren ace_lparen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;service_name&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;# &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;서&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;비&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;스&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;재&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;시&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;작&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;systemctl&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;restart&lt;/span&gt; &lt;span class=&quot;ace_paren ace_lparen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;service_name&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;# &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;서&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;비&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;스&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;설&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;정&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;반&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;영&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;systemctl&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;reload&lt;/span&gt; &lt;span class=&quot;ace_paren ace_lparen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;service_name&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;h3&gt;RHEL6 &lt;code&gt;chkconfig&lt;/code&gt; &amp;nbsp;&amp;gt; &amp;nbsp;RHEL7 &lt;code&gt;systemctl&lt;/code&gt;&lt;/h3&gt;&lt;div&gt;RHEL6의 &lt;b&gt;chkconfig&lt;/b&gt; 명령어가 RHEL7 에서는 &lt;b&gt;systemctl&lt;/b&gt; 명령어로 대체됨&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;# &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;전&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;체&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;서&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;비&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;스&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;상&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;태&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;보&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;기&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;systemctl&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;list&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;unit&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;files&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;ace_support ace_function ace_builtin&quot;&gt;type&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;service&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;# &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;서&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;비&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;스&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;추&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;가&lt;/span&gt; (chkconfig --addd)&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;systemctl&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;daemon&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;reload&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;# /etc/systemd/system &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;하&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;위&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;에&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;존&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;재&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;하&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;는&lt;/span&gt; service &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;설&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;정&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;파&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;일&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;을&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;변&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;경&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;한&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;경&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;우&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;에&lt;/span&gt; systemd &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;에&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;반&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;영&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;하&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;는&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;용&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;도&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;로&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;도&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;사&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;용&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;되&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;어&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;짐&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;# &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;서&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;비&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;스&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;상&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;태&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;확&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;인&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;systemctl&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;is&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;enabled&lt;/span&gt; &lt;span class=&quot;ace_paren ace_lparen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;service_name&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;# &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;서&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;비&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;스&lt;/span&gt; enable&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;systemctl&lt;/span&gt; &lt;span class=&quot;ace_support ace_function ace_builtin&quot;&gt;enable&lt;/span&gt; &lt;span class=&quot;ace_paren ace_lparen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;service_name&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;# &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;서&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;비&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;스&lt;/span&gt; disable&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;systemctl&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;disable&lt;/span&gt; &lt;span class=&quot;ace_paren ace_lparen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;service_name&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;
  &lt;script&gt;&lt;/script&gt;

&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>Programming/Linux</category>
      <category>Service</category>
      <category>sheckconfig</category>
      <category>systemctl</category>
      <author>Tez.Park</author>
      <guid isPermaLink="true">https://sham.tistory.com/156</guid>
      <comments>https://sham.tistory.com/156#entry156comment</comments>
      <pubDate>Sun, 11 Dec 2016 16:30:06 +0900</pubDate>
    </item>
    <item>
      <title>[Log] 로그 확인 옵션들</title>
      <link>https://sham.tistory.com/155</link>
      <description>
  &lt;meta charset=&quot;utf-8&quot;&gt;
  &lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;&gt;
  &lt;!-- common.css --&gt;
  &lt;style&gt;* {-webkit-tap-highlight-color: rgba(0,0,0,0);}html {-webkit-text-size-adjust: none;}body {font-family: Arial, Helvetica, sans-serif;margin: 0;color: #333;word-wrap: break-word;}h1, h2, h3, h4, h5, h6 {line-height: 1.1;}img {max-width: 100% !important;}blockquote {margin: 0;padding: 0 15px;color: #777;border-left: 4px solid #ddd;}hr {background-color: #ddd;border: 0;height: 1px;margin: 15px 0;}code {font-family: Menlo, Consolas, 'Ubuntu Mono', Monaco, 'source-code-pro', monospace;line-height: 1.4;margin: 0;padding: 0.2em 0;font-size: 85%;background-color: rgba(0,0,0,0.04);border-radius: 3px;}pre &gt; code {margin: 0;padding: 0;font-size: 100%;word-break: normal;background: transparent;border: 0;}ol {list-style-type: decimal;}ol ol, ul ol {list-style-type: lower-latin;}ol ol ol, ul ol ol, ul ul ol, ol ul ol {list-style-type: lower-roman;}table {border-spacing: 0;border-collapse: collapse;margin-top: 0;margin-bottom: 16px;}table th {font-weight: bold;}table th, table td {padding: 6px 13px;border: 1px solid #ddd;}table tr {border-top: 1px solid #ccc;}table tr:nth-child(even) {background-color: #f8f8f8;}input[type=&quot;checkbox&quot;] {cursor: default;margin-right: 0.5em;font-size: 13px;}.task-list-item {list-style-type: none;}.task-list-item+.task-list-item {margin-top: 3px;}.task-list-item input {float: left;margin: 0.3em 1em 0.25em -1.6em;vertical-align: middle;}#tag-field {margin: 8px 2px 10px;}#tag-field .tag {display: inline-block;background: #cadff3;border-radius: 4px;padding: 1px 8px;color: black;font-size: 12px;margin-right: 10px;line-height: 1.4;}&lt;/style&gt;
  &lt;!-- ace-static.css --&gt;
  &lt;style&gt;.ace_static_highlight {white-space: pre-wrap;}.ace_static_highlight .ace_gutter {width: 2em;text-align: right;padding: 0 3px 0 0;margin-right: 3px;}.ace_static_highlight.ace_show_gutter &gt; .ace_line {padding-left: 2.6em;}.ace_static_highlight .ace_line {position: relative;}.ace_static_highlight .ace_gutter-cell {-moz-user-select: -moz-none;-khtml-user-select: none;-webkit-user-select: none;user-select: none;top: 0;bottom: 0;left: 0;position: absolute;}.ace_static_highlight .ace_gutter-cell:before {content: counter(ace_line, decimal);counter-increment: ace_line;}.ace_static_highlight {counter-reset: ace_line;}&lt;/style&gt;
  &lt;style&gt;.ace-idle-fingers .ace_gutter {background: #3b3b3b;color: rgb(153,153,153)}.ace-idle-fingers .ace_print-margin {width: 1px;background: #3b3b3b}.ace-idle-fingers {background-color: #323232;color: #FFFFFF}.ace-idle-fingers .ace_cursor {color: #91FF00}.ace-idle-fingers .ace_marker-layer .ace_selection {background: rgba(90, 100, 126, 0.88)}.ace-idle-fingers.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px #323232;}.ace-idle-fingers .ace_marker-layer .ace_step {background: rgb(102, 82, 0)}.ace-idle-fingers .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid #404040}.ace-idle-fingers .ace_marker-layer .ace_active-line {background: #353637}.ace-idle-fingers .ace_gutter-active-line {background-color: #353637}.ace-idle-fingers .ace_marker-layer .ace_selected-word {border: 1px solid rgba(90, 100, 126, 0.88)}.ace-idle-fingers .ace_invisible {color: #404040}.ace-idle-fingers .ace_keyword,.ace-idle-fingers .ace_meta {color: #CC7833}.ace-idle-fingers .ace_constant,.ace-idle-fingers .ace_constant.ace_character,.ace-idle-fingers .ace_constant.ace_character.ace_escape,.ace-idle-fingers .ace_constant.ace_other,.ace-idle-fingers .ace_support.ace_constant {color: #6C99BB}.ace-idle-fingers .ace_invalid {color: #FFFFFF;background-color: #FF0000}.ace-idle-fingers .ace_fold {background-color: #CC7833;border-color: #FFFFFF}.ace-idle-fingers .ace_support.ace_function {color: #B83426}.ace-idle-fingers .ace_variable.ace_parameter {font-style: italic}.ace-idle-fingers .ace_string {color: #A5C261}.ace-idle-fingers .ace_string.ace_regexp {color: #CCCC33}.ace-idle-fingers .ace_comment {font-style: italic;color: #BC9458}.ace-idle-fingers .ace_meta.ace_tag {color: #FFE5BB}.ace-idle-fingers .ace_entity.ace_name {color: #FFC66D}.ace-idle-fingers .ace_collab.ace_user1 {color: #323232;background-color: #FFF980}.ace-idle-fingers .ace_indent-guide {background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWMwMjLyZYiPj/8PAAreAwAI1+g0AAAAAElFTkSuQmCC) right repeat-y}&lt;/style&gt;
  &lt;!-- export.css --&gt;
  &lt;style&gt;
    body{margin:0 auto;max-width:100%;line-height:1.4}
    #nav{margin:5px 0 10px;font-size:15px}
    #titlearea{border-bottom:1px solid #ccc;font-size:17px;padding:10px 0;}
    #contentarea{font-size:15px;margin:16px 0}
    .cell{outline:0;min-height:20px;margin:5px 0;padding:5px 0;}
    .code-cell{font-family:Menlo,Consolas,'Ubuntu Mono',Monaco,'source-code-pro',monospace;font-size:12px;}
    .latex-cell{white-space:pre-wrap;}
  &lt;/style&gt;
  &lt;!-- User CSS --&gt;
  &lt;style&gt; .text-cell {font-size: 14px;}.code-cell {font-size: 12px;}.markdown-cell {font-size: 14px;}.latex-cell {font-size: 14px;}&lt;/style&gt;


  &lt;div id=&quot;contentarea&quot;&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h3&gt;히스토리 검색 (기본)&lt;/h3&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;git&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;log&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_punctuation ace_definition ace_comment ace_makefile&quot; style=&quot;font-size: 8pt;&quot;&gt;# Output&lt;/span&gt;&lt;span style=&quot;font-size: 8pt;&quot;&gt;
&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span style=&quot;font-size: 8pt;&quot;&gt;
&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span style=&quot;font-size: 8pt;&quot;&gt;commit a32b4d3a362c9c9fb6adfd0aae573bf8223ed774
&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_entity ace_name ace_function ace_makefile&quot; style=&quot;font-size: 8pt;&quot;&gt;Author:&lt;/span&gt;&lt;span style=&quot;font-size: 8pt;&quot;&gt; tez &amp;lt;tez@tez.kr&amp;gt;
&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_entity ace_name ace_function ace_makefile&quot; style=&quot;font-size: 8pt;&quot;&gt;Date:&lt;/span&gt;&lt;span style=&quot;font-size: 8pt;&quot;&gt;   Sun Dec 11 15:45:12 2016 +0900&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span style=&quot;font-size: 8pt;&quot;&gt;    2nd commit
&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span style=&quot;font-size: 8pt;&quot;&gt;
&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span style=&quot;font-size: 8pt;&quot;&gt;commit cae1239cdda71d58bcc1315ef95dcb94a5df3cac
&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_entity ace_name ace_function ace_makefile&quot; style=&quot;font-size: 8pt;&quot;&gt;Author:&lt;/span&gt;&lt;span style=&quot;font-size: 8pt;&quot;&gt; tez &amp;lt;tez@tez.kr&amp;gt;
&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_entity ace_name ace_function ace_makefile&quot; style=&quot;font-size: 8pt;&quot;&gt;Date:&lt;/span&gt;&lt;span style=&quot;font-size: 8pt;&quot;&gt;   Sun Dec 11 15:44:46 2016 +0900&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span style=&quot;font-size: 8pt;&quot;&gt;    1st commit&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h3&gt;각 커밋의 diff 결과 표시&lt;/h3&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;git&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;log&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;p&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_punctuation ace_definition ace_comment ace_makefile&quot; style=&quot;font-size: 8pt;&quot;&gt;# Output&lt;/span&gt;&lt;span style=&quot;font-size: 8pt;&quot;&gt;
&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span style=&quot;font-size: 8pt;&quot;&gt;
&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span style=&quot;font-size: 8pt;&quot;&gt;commit a32b4d3a362c9c9fb6adfd0aae573bf8223ed774
&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_entity ace_name ace_function ace_makefile&quot; style=&quot;font-size: 8pt;&quot;&gt;Author:&lt;/span&gt;&lt;span style=&quot;font-size: 8pt;&quot;&gt; tez &amp;lt;tez@tez.kr&amp;gt;
&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_entity ace_name ace_function ace_makefile&quot; style=&quot;font-size: 8pt;&quot;&gt;Date:&lt;/span&gt;&lt;span style=&quot;font-size: 8pt;&quot;&gt;   Sun Dec 11 15:45:12 2016 +0900&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span style=&quot;font-size: 8pt;&quot;&gt;    2nd commit&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span style=&quot;font-size: 8pt;&quot;&gt;diff --git a/test.file b/test.file
&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span style=&quot;font-size: 8pt;&quot;&gt;index 3b18e51..d0c4c4f 100644
&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span style=&quot;font-size: 8pt;&quot;&gt;--- a/test.file
&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span style=&quot;font-size: 8pt;&quot;&gt;+++ b/test.file
&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span style=&quot;font-size: 8pt;&quot;&gt;@@ -1 +1,3 @@
&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span style=&quot;font-size: 8pt;&quot;&gt; hello world
&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span style=&quot;font-size: 8pt;&quot;&gt;+
&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span style=&quot;font-size: 8pt;&quot;&gt;+text text blabla
&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span style=&quot;font-size: 8pt;&quot;&gt;
&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span style=&quot;font-size: 8pt;&quot;&gt;commit cae1239cdda71d58bcc1315ef95dcb94a5df3cac
&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_entity ace_name ace_function ace_makefile&quot; style=&quot;font-size: 8pt;&quot;&gt;Author:&lt;/span&gt;&lt;span style=&quot;font-size: 8pt;&quot;&gt; tez &amp;lt;tez@tez.kr&amp;gt;
&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_entity ace_name ace_function ace_makefile&quot; style=&quot;font-size: 8pt;&quot;&gt;Date:&lt;/span&gt;&lt;span style=&quot;font-size: 8pt;&quot;&gt;   Sun Dec 11 15:44:46 2016 +0900&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span style=&quot;font-size: 8pt;&quot;&gt;    1st commit&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span style=&quot;font-size: 8pt;&quot;&gt;diff --git a/test.file b/test.file
&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span style=&quot;font-size: 8pt;&quot;&gt;new file mode 100644
&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span style=&quot;font-size: 8pt;&quot;&gt;index 0000000..3b18e51
&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span style=&quot;font-size: 8pt;&quot;&gt;--- /dev/null
&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span style=&quot;font-size: 8pt;&quot;&gt;+++ b/test.file
&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span style=&quot;font-size: 8pt;&quot;&gt;@@ -0,0 +1 @@
&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span style=&quot;font-size: 8pt;&quot;&gt;+hello world&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h3&gt;특정 히스토리 개수만 표시&lt;/h3&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;git&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;log&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;count&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;# ex) git log -2&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_punctuation ace_definition ace_comment ace_makefile&quot; style=&quot;font-size: 8pt;&quot;&gt;# Output&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span style=&quot;font-size: 8pt;&quot;&gt;commit 15b0e2a2a3caf8e6d5323e736158c9eed3f81d80
&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_entity ace_name ace_function ace_makefile&quot; style=&quot;font-size: 8pt;&quot;&gt;Author:&lt;/span&gt;&lt;span style=&quot;font-size: 8pt;&quot;&gt; Taesun Park &amp;lt;perfect@foodfly.co.kr&amp;gt;
&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_entity ace_name ace_function ace_makefile&quot; style=&quot;font-size: 8pt;&quot;&gt;Date:&lt;/span&gt;&lt;span style=&quot;font-size: 8pt;&quot;&gt;   Sun Dec 11 15:45:50 2016 +0900&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span style=&quot;font-size: 8pt;&quot;&gt;    3rd commit&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span style=&quot;font-size: 8pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span style=&quot;font-size: 8pt;&quot;&gt;commit a32b4d3a362c9c9fb6adfd0aae573bf8223ed774
&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_entity ace_name ace_function ace_makefile&quot; style=&quot;font-size: 8pt;&quot;&gt;Author:&lt;/span&gt;&lt;span style=&quot;font-size: 8pt;&quot;&gt; Taesun Park &amp;lt;perfect@foodfly.co.kr&amp;gt;
&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_entity ace_name ace_function ace_makefile&quot; style=&quot;font-size: 8pt;&quot;&gt;Date:&lt;/span&gt;&lt;span style=&quot;font-size: 8pt;&quot;&gt;   Sun Dec 11 15:45:12 2016 +0900&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span style=&quot;font-size: 8pt;&quot;&gt;    2nd commit
&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;span style=&quot;font-size: 8pt;&quot;&gt;
  &lt;/span&gt;&lt;script&gt;&lt;span style=&quot;font-size: 8pt;&quot;&gt;document.body.onkeyup = function(e) {
if (e.keyCode === 39) window.location.href = 'N [Push] 강제 푸시.html';
}&lt;/span&gt;&lt;/script&gt;&lt;span style=&quot;font-size: 8pt;&quot;&gt;

&lt;/span&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>Programming/Git</category>
      <author>Tez.Park</author>
      <guid isPermaLink="true">https://sham.tistory.com/155</guid>
      <comments>https://sham.tistory.com/155#entry155comment</comments>
      <pubDate>Sun, 11 Dec 2016 15:56:24 +0900</pubDate>
    </item>
    <item>
      <title>[Push] 강제 푸시</title>
      <link>https://sham.tistory.com/154</link>
      <description>&lt;!DOCTYPE html&gt;
&lt;html&gt;
&lt;head&gt;
  &lt;meta charset=&quot;utf-8&quot;&gt;
  &lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;&gt;
  &lt;!-- common.css --&gt;
  &lt;style&gt;* {-webkit-tap-highlight-color: rgba(0,0,0,0);}html {-webkit-text-size-adjust: none;}body {font-family: Arial, Helvetica, sans-serif;margin: 0;color: #333;word-wrap: break-word;}h1, h2, h3, h4, h5, h6 {line-height: 1.1;}img {max-width: 100% !important;}blockquote {margin: 0;padding: 0 15px;color: #777;border-left: 4px solid #ddd;}hr {background-color: #ddd;border: 0;height: 1px;margin: 15px 0;}code {font-family: Menlo, Consolas, 'Ubuntu Mono', Monaco, 'source-code-pro', monospace;line-height: 1.4;margin: 0;padding: 0.2em 0;font-size: 85%;background-color: rgba(0,0,0,0.04);border-radius: 3px;}pre &gt; code {margin: 0;padding: 0;font-size: 100%;word-break: normal;background: transparent;border: 0;}ol {list-style-type: decimal;}ol ol, ul ol {list-style-type: lower-latin;}ol ol ol, ul ol ol, ul ul ol, ol ul ol {list-style-type: lower-roman;}table {border-spacing: 0;border-collapse: collapse;margin-top: 0;margin-bottom: 16px;}table th {font-weight: bold;}table th, table td {padding: 6px 13px;border: 1px solid #ddd;}table tr {border-top: 1px solid #ccc;}table tr:nth-child(even) {background-color: #f8f8f8;}input[type=&quot;checkbox&quot;] {cursor: default;margin-right: 0.5em;font-size: 13px;}.task-list-item {list-style-type: none;}.task-list-item+.task-list-item {margin-top: 3px;}.task-list-item input {float: left;margin: 0.3em 1em 0.25em -1.6em;vertical-align: middle;}#tag-field {margin: 8px 2px 10px;}#tag-field .tag {display: inline-block;background: #cadff3;border-radius: 4px;padding: 1px 8px;color: black;font-size: 12px;margin-right: 10px;line-height: 1.4;}&lt;/style&gt;
  &lt;!-- ace-static.css --&gt;
  &lt;style&gt;.ace_static_highlight {white-space: pre-wrap;}.ace_static_highlight .ace_gutter {width: 2em;text-align: right;padding: 0 3px 0 0;margin-right: 3px;}.ace_static_highlight.ace_show_gutter &gt; .ace_line {padding-left: 2.6em;}.ace_static_highlight .ace_line {position: relative;}.ace_static_highlight .ace_gutter-cell {-moz-user-select: -moz-none;-khtml-user-select: none;-webkit-user-select: none;user-select: none;top: 0;bottom: 0;left: 0;position: absolute;}.ace_static_highlight .ace_gutter-cell:before {content: counter(ace_line, decimal);counter-increment: ace_line;}.ace_static_highlight {counter-reset: ace_line;}&lt;/style&gt;
  &lt;style&gt;.ace-idle-fingers .ace_gutter {background: #3b3b3b;color: rgb(153,153,153)}.ace-idle-fingers .ace_print-margin {width: 1px;background: #3b3b3b}.ace-idle-fingers {background-color: #323232;color: #FFFFFF}.ace-idle-fingers .ace_cursor {color: #91FF00}.ace-idle-fingers .ace_marker-layer .ace_selection {background: rgba(90, 100, 126, 0.88)}.ace-idle-fingers.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px #323232;}.ace-idle-fingers .ace_marker-layer .ace_step {background: rgb(102, 82, 0)}.ace-idle-fingers .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid #404040}.ace-idle-fingers .ace_marker-layer .ace_active-line {background: #353637}.ace-idle-fingers .ace_gutter-active-line {background-color: #353637}.ace-idle-fingers .ace_marker-layer .ace_selected-word {border: 1px solid rgba(90, 100, 126, 0.88)}.ace-idle-fingers .ace_invisible {color: #404040}.ace-idle-fingers .ace_keyword,.ace-idle-fingers .ace_meta {color: #CC7833}.ace-idle-fingers .ace_constant,.ace-idle-fingers .ace_constant.ace_character,.ace-idle-fingers .ace_constant.ace_character.ace_escape,.ace-idle-fingers .ace_constant.ace_other,.ace-idle-fingers .ace_support.ace_constant {color: #6C99BB}.ace-idle-fingers .ace_invalid {color: #FFFFFF;background-color: #FF0000}.ace-idle-fingers .ace_fold {background-color: #CC7833;border-color: #FFFFFF}.ace-idle-fingers .ace_support.ace_function {color: #B83426}.ace-idle-fingers .ace_variable.ace_parameter {font-style: italic}.ace-idle-fingers .ace_string {color: #A5C261}.ace-idle-fingers .ace_string.ace_regexp {color: #CCCC33}.ace-idle-fingers .ace_comment {font-style: italic;color: #BC9458}.ace-idle-fingers .ace_meta.ace_tag {color: #FFE5BB}.ace-idle-fingers .ace_entity.ace_name {color: #FFC66D}.ace-idle-fingers .ace_collab.ace_user1 {color: #323232;background-color: #FFF980}.ace-idle-fingers .ace_indent-guide {background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWMwMjLyZYiPj/8PAAreAwAI1+g0AAAAAElFTkSuQmCC) right repeat-y}&lt;/style&gt;
  &lt;!-- export.css --&gt;
  &lt;style&gt;
    body{margin:0 auto;max-width:100%;line-height:1.4}
    #nav{margin:5px 0 10px;font-size:15px}
    #titlearea{border-bottom:1px solid #ccc;font-size:17px;padding:10px 0;}
    #contentarea{font-size:15px;margin:16px 0}
    .cell{outline:0;min-height:20px;margin:5px 0;padding:5px 0;}
    .code-cell{font-family:Menlo,Consolas,'Ubuntu Mono',Monaco,'source-code-pro',monospace;font-size:12px;}
    .latex-cell{white-space:pre-wrap;}
  &lt;/style&gt;
  &lt;!-- User CSS --&gt;
  &lt;style&gt; .text-cell {font-size: 14px;}.code-cell {font-size: 12px;}.markdown-cell {font-size: 14px;}.latex-cell {font-size: 14px;}&lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
  &lt;div id=&quot;contentarea&quot;&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h3&gt;저장소가 꼬이거나 하는 경우에 Push가 되지 않을때 사용하는 방법&lt;/h3&gt;&lt;div&gt;branch 이름 앞에 +를 붙여서 강제 Push를 한다&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;git&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;push&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;origin&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;branch&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;
  &lt;script&gt;document.body.onkeyup = function(e) {
if (e.keyCode === 39) window.location.href = 'U [Color] 출력물에 색 입히기.html';
if (e.keyCode === 37) window.location.href = 'N [Log] Options.html';
}&lt;/script&gt;
&lt;/body&gt;
&lt;/html&gt;</description>
      <category>Programming/Git</category>
      <author>Tez.Park</author>
      <guid isPermaLink="true">https://sham.tistory.com/154</guid>
      <comments>https://sham.tistory.com/154#entry154comment</comments>
      <pubDate>Sun, 11 Dec 2016 15:53:27 +0900</pubDate>
    </item>
    <item>
      <title>[Disk] 디스크, 파일, 폴더 용량 확인</title>
      <link>https://sham.tistory.com/153</link>
      <description>
  &lt;meta charset=&quot;utf-8&quot;&gt;
  &lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;&gt;
  &lt;!-- common.css --&gt;
  &lt;style&gt;* {-webkit-tap-highlight-color: rgba(0,0,0,0);}html {-webkit-text-size-adjust: none;}body {font-family: Arial, Helvetica, sans-serif;margin: 0;color: #333;word-wrap: break-word;}h1, h2, h3, h4, h5, h6 {line-height: 1.1;}img {max-width: 100% !important;}blockquote {margin: 0;padding: 0 15px;color: #777;border-left: 4px solid #ddd;}hr {background-color: #ddd;border: 0;height: 1px;margin: 15px 0;}code {font-family: Menlo, Consolas, 'Ubuntu Mono', Monaco, 'source-code-pro', monospace;line-height: 1.4;margin: 0;padding: 0.2em 0;font-size: 85%;background-color: rgba(0,0,0,0.04);border-radius: 3px;}pre &gt; code {margin: 0;padding: 0;font-size: 100%;word-break: normal;background: transparent;border: 0;}ol {list-style-type: decimal;}ol ol, ul ol {list-style-type: lower-latin;}ol ol ol, ul ol ol, ul ul ol, ol ul ol {list-style-type: lower-roman;}table {border-spacing: 0;border-collapse: collapse;margin-top: 0;margin-bottom: 16px;}table th {font-weight: bold;}table th, table td {padding: 6px 13px;border: 1px solid #ddd;}table tr {border-top: 1px solid #ccc;}table tr:nth-child(even) {background-color: #f8f8f8;}input[type=&quot;checkbox&quot;] {cursor: default;margin-right: 0.5em;font-size: 13px;}.task-list-item {list-style-type: none;}.task-list-item+.task-list-item {margin-top: 3px;}.task-list-item input {float: left;margin: 0.3em 1em 0.25em -1.6em;vertical-align: middle;}#tag-field {margin: 8px 2px 10px;}#tag-field .tag {display: inline-block;background: #cadff3;border-radius: 4px;padding: 1px 8px;color: black;font-size: 12px;margin-right: 10px;line-height: 1.4;}&lt;/style&gt;
  &lt;!-- ace-static.css --&gt;
  &lt;style&gt;.ace_static_highlight {white-space: pre-wrap;}.ace_static_highlight .ace_gutter {width: 2em;text-align: right;padding: 0 3px 0 0;margin-right: 3px;}.ace_static_highlight.ace_show_gutter &gt; .ace_line {padding-left: 2.6em;}.ace_static_highlight .ace_line {position: relative;}.ace_static_highlight .ace_gutter-cell {-moz-user-select: -moz-none;-khtml-user-select: none;-webkit-user-select: none;user-select: none;top: 0;bottom: 0;left: 0;position: absolute;}.ace_static_highlight .ace_gutter-cell:before {content: counter(ace_line, decimal);counter-increment: ace_line;}.ace_static_highlight {counter-reset: ace_line;}&lt;/style&gt;
  &lt;style&gt;.ace-idle-fingers .ace_gutter {background: #3b3b3b;color: rgb(153,153,153)}.ace-idle-fingers .ace_print-margin {width: 1px;background: #3b3b3b}.ace-idle-fingers {background-color: #323232;color: #FFFFFF}.ace-idle-fingers .ace_cursor {color: #91FF00}.ace-idle-fingers .ace_marker-layer .ace_selection {background: rgba(90, 100, 126, 0.88)}.ace-idle-fingers.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px #323232;}.ace-idle-fingers .ace_marker-layer .ace_step {background: rgb(102, 82, 0)}.ace-idle-fingers .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid #404040}.ace-idle-fingers .ace_marker-layer .ace_active-line {background: #353637}.ace-idle-fingers .ace_gutter-active-line {background-color: #353637}.ace-idle-fingers .ace_marker-layer .ace_selected-word {border: 1px solid rgba(90, 100, 126, 0.88)}.ace-idle-fingers .ace_invisible {color: #404040}.ace-idle-fingers .ace_keyword,.ace-idle-fingers .ace_meta {color: #CC7833}.ace-idle-fingers .ace_constant,.ace-idle-fingers .ace_constant.ace_character,.ace-idle-fingers .ace_constant.ace_character.ace_escape,.ace-idle-fingers .ace_constant.ace_other,.ace-idle-fingers .ace_support.ace_constant {color: #6C99BB}.ace-idle-fingers .ace_invalid {color: #FFFFFF;background-color: #FF0000}.ace-idle-fingers .ace_fold {background-color: #CC7833;border-color: #FFFFFF}.ace-idle-fingers .ace_support.ace_function {color: #B83426}.ace-idle-fingers .ace_variable.ace_parameter {font-style: italic}.ace-idle-fingers .ace_string {color: #A5C261}.ace-idle-fingers .ace_string.ace_regexp {color: #CCCC33}.ace-idle-fingers .ace_comment {font-style: italic;color: #BC9458}.ace-idle-fingers .ace_meta.ace_tag {color: #FFE5BB}.ace-idle-fingers .ace_entity.ace_name {color: #FFC66D}.ace-idle-fingers .ace_collab.ace_user1 {color: #323232;background-color: #FFF980}.ace-idle-fingers .ace_indent-guide {background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWMwMjLyZYiPj/8PAAreAwAI1+g0AAAAAElFTkSuQmCC) right repeat-y}&lt;/style&gt;
  &lt;!-- export.css --&gt;
  &lt;style&gt;
    body{margin:0 auto;max-width:100%;line-height:1.4}
    #nav{margin:5px 0 10px;font-size:15px}
    #titlearea{border-bottom:1px solid #ccc;font-size:17px;padding:10px 0;}
    #contentarea{font-size:15px;margin:16px 0}
    .cell{outline:0;min-height:20px;margin:5px 0;padding:5px 0;}
    .code-cell{font-family:Menlo,Consolas,'Ubuntu Mono',Monaco,'source-code-pro',monospace;font-size:12px;}
    .latex-cell{white-space:pre-wrap;}
  &lt;/style&gt;
  &lt;!-- User CSS --&gt;
  &lt;style&gt; .text-cell {font-size: 14px;}.code-cell {font-size: 12px;}.markdown-cell {font-size: 14px;}.latex-cell {font-size: 14px;}&lt;/style&gt;


  &lt;div id=&quot;contentarea&quot;&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h3&gt;df&lt;/h3&gt;&lt;div&gt;&lt;code&gt;&lt;/code&gt;&lt;code&gt;​​디스크 용량을 확인할때 사용&lt;/code&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;div&gt;옵션들&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;-h 용량을 사람이 보기 쉬운 단위로 표시해준다. (1m를 1,048,576단위로 계산, h는human의 약자 )&amp;nbsp;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;-H 용량을 사람이 보기 쉬운 단위로 표시해준다. (1m를 1,000,000단위로 계산)&amp;nbsp;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;-k 용량을 킬로바이트 단위로 표시한다.&amp;nbsp;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;-i i노드의 사용정보를 표시한다.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;df&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;option&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;# Example&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;df&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;h&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-----------------------------------------------------&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;Filesystem&lt;/span&gt;      &lt;span class=&quot;ace_identifier&quot;&gt;Size&lt;/span&gt;  &lt;span class=&quot;ace_identifier&quot;&gt;Used&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;Avail&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;Use&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;%&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;Mounted&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;on&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;dev&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;xvda1&lt;/span&gt;       &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;30&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;G&lt;/span&gt;  &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;877&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;M&lt;/span&gt;   &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;30&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;G&lt;/span&gt;   &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;3&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;%&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;devtmpfs&lt;/span&gt;        &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;478&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;M&lt;/span&gt;     &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;0&lt;/span&gt;  &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;478&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;M&lt;/span&gt;   &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;%&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;dev&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;tmpfs&lt;/span&gt;           &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;496&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;M&lt;/span&gt;     &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;0&lt;/span&gt;  &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;496&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;M&lt;/span&gt;   &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;%&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;dev&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;shm&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;tmpfs&lt;/span&gt;           &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;496&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;M&lt;/span&gt;   &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;13&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;M&lt;/span&gt;  &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;484&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;M&lt;/span&gt;   &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;3&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;%&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;run&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;tmpfs&lt;/span&gt;           &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;496&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;M&lt;/span&gt;     &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;0&lt;/span&gt;  &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;496&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;M&lt;/span&gt;   &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;%&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;sys&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;fs&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;cgroup&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;tmpfs&lt;/span&gt;           &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;100&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;M&lt;/span&gt;     &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;0&lt;/span&gt;  &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;100&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;M&lt;/span&gt;   &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;%&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;run&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;user&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;1000&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;hr&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h3&gt;du&lt;/h3&gt;&lt;div&gt;&lt;code&gt;디렉토리나 파일의 용량을 확인할때 사용&lt;/code&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;옵션들&lt;div&gt;&lt;ul&gt;&lt;li&gt;-a 디렉토리 이외의 파일에 대해서도 표시한다.&amp;nbsp;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;-l 링크를 포함해서 계산한다.&amp;nbsp;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;-c 모든 용량을 합을 표시한다.&amp;nbsp;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;-k 용량을 KB단위로 표시한다.&amp;nbsp;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;-m 용량을 MB단위로 표시한다.&amp;nbsp;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;-s 지정한 파일이나 디렉토리만의 합계를 표시한다.&amp;nbsp;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;-S 서브디렉토리를 포함해서 집계한다.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;du&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;options&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;ace_paren ace_lparen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;dir&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;# Example&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;du&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;csh&lt;/span&gt; .&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/*&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;---------------&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;4.0&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;K&lt;/span&gt;    .&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;Dir1&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;4.0&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;K&lt;/span&gt;    &lt;span class=&quot;ace_identifier&quot;&gt;total&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;
  &lt;script&gt;&lt;/script&gt;</description>
      <category>Programming/Bash</category>
      <category>df</category>
      <category>DH</category>
      <author>Tez.Park</author>
      <guid isPermaLink="true">https://sham.tistory.com/153</guid>
      <comments>https://sham.tistory.com/153#entry153comment</comments>
      <pubDate>Sun, 11 Dec 2016 15:41:00 +0900</pubDate>
    </item>
    <item>
      <title>[Migration] Paravirtual(PV) to Hardware Virtual Machine(HVM)</title>
      <link>https://sham.tistory.com/151</link>
      <description>&lt;meta charset=&quot;utf-8&quot;&gt;
  &lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;&gt;
  &lt;!-- common.css --&gt;
  &lt;style&gt;* {-webkit-tap-highlight-color: rgba(0,0,0,0);}html {-webkit-text-size-adjust: none;}body {font-family: Arial, Helvetica, sans-serif;margin: 0;color: #333;word-wrap: break-word;}h1, h2, h3, h4, h5, h6 {line-height: 1.1;}img {max-width: 100% !important;}blockquote {margin: 0;padding: 0 15px;color: #777;border-left: 4px solid #ddd;}hr {background-color: #ddd;border: 0;height: 1px;margin: 15px 0;}code {font-family: Menlo, Consolas, 'Ubuntu Mono', Monaco, 'source-code-pro', monospace;line-height: 1.4;margin: 0;padding: 0.2em 0;font-size: 85%;background-color: rgba(0,0,0,0.04);border-radius: 3px;}pre &gt; code {margin: 0;padding: 0;font-size: 100%;word-break: normal;background: transparent;border: 0;}ol {list-style-type: decimal;}ol ol, ul ol {list-style-type: lower-latin;}ol ol ol, ul ol ol, ul ul ol, ol ul ol {list-style-type: lower-roman;}table {border-spacing: 0;border-collapse: collapse;margin-top: 0;margin-bottom: 16px;}table th {font-weight: bold;}table th, table td {padding: 6px 13px;border: 1px solid #ddd;}table tr {border-top: 1px solid #ccc;}table tr:nth-child(even) {background-color: #f8f8f8;}input[type=&quot;checkbox&quot;] {cursor: default;margin-right: 0.5em;font-size: 13px;}.task-list-item {list-style-type: none;}.task-list-item+.task-list-item {margin-top: 3px;}.task-list-item input {float: left;margin: 0.3em 1em 0.25em -1.6em;vertical-align: middle;}#tag-field {margin: 8px 2px 10px;}#tag-field .tag {display: inline-block;background: #cadff3;border-radius: 4px;padding: 1px 8px;color: black;font-size: 12px;margin-right: 10px;line-height: 1.4;}&lt;/style&gt;
  &lt;!-- ace-static.css --&gt;
  &lt;style&gt;.ace_static_highlight {white-space: pre-wrap;}.ace_static_highlight .ace_gutter {width: 2em;text-align: right;padding: 0 3px 0 0;margin-right: 3px;}.ace_static_highlight.ace_show_gutter &gt; .ace_line {padding-left: 2.6em;}.ace_static_highlight .ace_line {position: relative;}.ace_static_highlight .ace_gutter-cell {-moz-user-select: -moz-none;-khtml-user-select: none;-webkit-user-select: none;user-select: none;top: 0;bottom: 0;left: 0;position: absolute;}.ace_static_highlight .ace_gutter-cell:before {content: counter(ace_line, decimal);counter-increment: ace_line;}.ace_static_highlight {counter-reset: ace_line;}&lt;/style&gt;
  &lt;style&gt;.ace-idle-fingers .ace_gutter {background: #3b3b3b;color: rgb(153,153,153)}.ace-idle-fingers .ace_print-margin {width: 1px;background: #3b3b3b}.ace-idle-fingers {background-color: #323232;color: #FFFFFF}.ace-idle-fingers .ace_cursor {color: #91FF00}.ace-idle-fingers .ace_marker-layer .ace_selection {background: rgba(90, 100, 126, 0.88)}.ace-idle-fingers.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px #323232;}.ace-idle-fingers .ace_marker-layer .ace_step {background: rgb(102, 82, 0)}.ace-idle-fingers .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid #404040}.ace-idle-fingers .ace_marker-layer .ace_active-line {background: #353637}.ace-idle-fingers .ace_gutter-active-line {background-color: #353637}.ace-idle-fingers .ace_marker-layer .ace_selected-word {border: 1px solid rgba(90, 100, 126, 0.88)}.ace-idle-fingers .ace_invisible {color: #404040}.ace-idle-fingers .ace_keyword,.ace-idle-fingers .ace_meta {color: #CC7833}.ace-idle-fingers .ace_constant,.ace-idle-fingers .ace_constant.ace_character,.ace-idle-fingers .ace_constant.ace_character.ace_escape,.ace-idle-fingers .ace_constant.ace_other,.ace-idle-fingers .ace_support.ace_constant {color: #6C99BB}.ace-idle-fingers .ace_invalid {color: #FFFFFF;background-color: #FF0000}.ace-idle-fingers .ace_fold {background-color: #CC7833;border-color: #FFFFFF}.ace-idle-fingers .ace_support.ace_function {color: #B83426}.ace-idle-fingers .ace_variable.ace_parameter {font-style: italic}.ace-idle-fingers .ace_string {color: #A5C261}.ace-idle-fingers .ace_string.ace_regexp {color: #CCCC33}.ace-idle-fingers .ace_comment {font-style: italic;color: #BC9458}.ace-idle-fingers .ace_meta.ace_tag {color: #FFE5BB}.ace-idle-fingers .ace_entity.ace_name {color: #FFC66D}.ace-idle-fingers .ace_collab.ace_user1 {color: #323232;background-color: #FFF980}.ace-idle-fingers .ace_indent-guide {background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWMwMjLyZYiPj/8PAAreAwAI1+g0AAAAAElFTkSuQmCC) right repeat-y}&lt;/style&gt;
  &lt;!-- export.css --&gt;
  &lt;style&gt;
    body{margin:0 auto;max-width:100%;line-height:1.4}
    #nav{margin:5px 0 10px;font-size:15px}
    #titlearea{border-bottom:1px solid #ccc;font-size:17px;padding:10px 0;}
    #contentarea{font-size:15px;margin:16px 0}
    .cell{outline:0;min-height:20px;margin:5px 0;padding:5px 0;}
    .code-cell{font-family:Menlo,Consolas,'Ubuntu Mono',Monaco,'source-code-pro',monospace;font-size:12px;}
    .latex-cell{white-space:pre-wrap;}
  &lt;/style&gt;
  &lt;!-- User CSS --&gt;
  &lt;style&gt; .text-cell {font-size: 14px;}.code-cell {font-size: 12px;}.markdown-cell {font-size: 14px;}.latex-cell {font-size: 14px;}&lt;/style&gt;

  &lt;div id=&quot;contentarea&quot;&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;div&gt;&lt;span style=&quot;background-color: rgb(132, 132, 132); color: rgb(255, 255, 255);&quot;&gt;This article is for users that change AWS region around the world.&lt;/span&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;Base&lt;/b&gt;&lt;/li&gt;&lt;ul&gt;&lt;li&gt;CentOS&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;Issue&lt;/b&gt;&lt;/li&gt;&lt;ul&gt;&lt;li&gt;The problem occurs because specific region does not have PV Instance.&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;&lt;b&gt;Fixing&lt;/b&gt;&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Resolved by copying the file with rsync after mounting PV Volume and HVM Volume.&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;info&lt;/b&gt;&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Original PV Instance :&amp;nbsp;&lt;b&gt;orig_pv_instance&lt;/b&gt;&lt;/li&gt;&lt;li&gt;New HVM Instance :&amp;nbsp;&lt;b&gt;new_hvm_instance&lt;/b&gt;&lt;/li&gt;&lt;li&gt;Original PV volume :&amp;nbsp;&lt;b&gt;orig_pv_vol&lt;/b&gt;&lt;/li&gt;&lt;li&gt;Duplicated PV Volume :&amp;nbsp;&lt;b&gt;dup_pv_vol&lt;/b&gt;&lt;/li&gt;&lt;li&gt;New HVM Volume :&amp;nbsp;&lt;b&gt;new_hvm_vol&lt;/b&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h2&gt;Migrating the EC2 Instance&amp;nbsp;&lt;/h2&gt;&lt;div&gt;&lt;h3&gt;1. Duplication PV volume that want to move. (Using the Snapshot)&lt;/h3&gt;&lt;/div&gt;&lt;div&gt;&lt;ol&gt;&lt;li&gt;Volumes menu -&amp;gt; Select the PV instance&lt;/li&gt;&lt;li&gt;Right click -&amp;gt; &lt;i&gt;Create Snapshot&lt;/i&gt; (&lt;b&gt;pv_snap&lt;/b&gt;)&lt;/li&gt;&lt;li&gt;Snapshots menu -&amp;gt; Select ‘&lt;b&gt;pv_snap&lt;/b&gt;’ and &lt;i&gt;Created Volume&lt;/i&gt;&lt;/li&gt;&lt;li&gt;Setting up items and check&amp;nbsp;availability zone&lt;/li&gt;&lt;ol&gt;&lt;li&gt;&lt;font&gt;&lt;u&gt;AZ shall be the same as the place you want to move&lt;/u&gt;&lt;/font&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/ol&gt;&lt;h3&gt;2. Create HVM Instance such as PV instance OS&lt;/h3&gt;&lt;/div&gt;&lt;div&gt;&lt;h3&gt;3. Duplication HVM volume using Step 1.&lt;/h3&gt;&lt;/div&gt;&lt;div&gt;&lt;h3&gt;4. Copied PV Volume(dup_pv_vol) and HVM Volume(new_hvm_vol) attach to the PV Instance(orig_pv_instance)&lt;/h3&gt;&lt;div&gt;&lt;ol&gt;&lt;li&gt;Volume menu -&amp;gt; Select the&amp;nbsp;&lt;b&gt;dup_pv_vol&lt;/b&gt;&lt;/li&gt;&lt;li&gt;Right click -&amp;gt;&amp;nbsp;&lt;i&gt;Attach Volume&lt;/i&gt;&lt;/li&gt;&lt;ol&gt;&lt;li&gt;Instance :&amp;nbsp;&lt;b&gt;orig_pv_instance&lt;/b&gt;&lt;/li&gt;&lt;li&gt;Device : /dev/sdm (have your way)&lt;/li&gt;&lt;/ol&gt;&lt;li&gt;Volume menu -&amp;gt; Select the&amp;nbsp;&lt;b&gt;new&lt;span class=&quot;highlighted&quot;&gt;_hvm_vol&lt;/span&gt;&lt;/b&gt;&lt;/li&gt;&lt;li&gt;Right click -&amp;gt;&amp;nbsp;&lt;i&gt;Attach Volume&lt;/i&gt;&lt;/li&gt;&lt;ol&gt;&lt;li&gt;Instance :&amp;nbsp;&lt;b&gt;orig_pv_instance&lt;/b&gt;&lt;/li&gt;&lt;li&gt;Device : /dev/sdo (have your way)&lt;/li&gt;&lt;/ol&gt;&lt;/ol&gt;&lt;h3&gt;5. PV Instance lauch and connect&lt;/h3&gt;&lt;/div&gt;&lt;div&gt;&lt;h3&gt;6. Check volume size and Mount volumes&lt;/h3&gt;&lt;/div&gt;&lt;div&gt;&lt;ol&gt;&lt;li&gt;Ensure PV and HVM Volumes attachment&lt;/li&gt;&lt;ol&gt;&lt;li&gt;using&amp;nbsp;&lt;code style=&quot;font-size: 11px;&quot;&gt;&lt;/code&gt;&lt;code style=&quot;font-size: 11px;&quot;&gt;$&amp;nbsp;fdisk -l&lt;/code&gt;&lt;code style=&quot;font-size: 11px;&quot;&gt;&lt;/code&gt;&lt;/li&gt;&lt;ol&gt;&lt;li&gt;If volume size not correct, follow step 2.&amp;nbsp;&lt;/li&gt;&lt;li&gt;And when size is correct to follow next step.&lt;/li&gt;&lt;/ol&gt;&lt;li&gt;PV and HVM volumes mount.&lt;/li&gt;&lt;ol&gt;&lt;li&gt;&lt;code style=&quot;font-size: 11px;&quot;&gt;$ mount [pv volume dir]&lt;/code&gt; // Want to mount the pv directory.​&lt;/li&gt;&lt;li&gt;&lt;code style=&quot;font-size: 11px;&quot;&gt;$ mount [hvm volume dir]&lt;/code&gt; // Want to mount the hvm directory.​&lt;/li&gt;&lt;/ol&gt;&lt;/ol&gt;&lt;li&gt;Modify volume size (pv and hvm)&lt;/li&gt;&lt;ol&gt;&lt;li&gt;&lt;code style=&quot;font-size: 11px;&quot;&gt;&lt;/code&gt;&lt;code&gt;$ fdisk [volume]&lt;/code&gt;​ // Want to modify the volume.&lt;/li&gt;&lt;ol&gt;&lt;li&gt;Command (m for help) :&amp;nbsp;&lt;i&gt;u&lt;/i&gt;&lt;/li&gt;&lt;li&gt;&lt;i&gt;&lt;span style=&quot;font-style: normal;&quot;&gt;Command (m for help) :&amp;nbsp;&lt;/span&gt;p&lt;br /&gt;&lt;/i&gt;&lt;/li&gt;&lt;li&gt;&lt;i&gt;&lt;span style=&quot;font-style: normal;&quot;&gt;Command (m for help) :&amp;nbsp;&lt;/span&gt;d&lt;br /&gt;&lt;/i&gt;&lt;/li&gt;&lt;li&gt;Command (m for help) :&amp;nbsp;&lt;i&gt;n&lt;/i&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Command action :&amp;nbsp;&lt;i&gt;p&lt;/i&gt;&lt;/li&gt;&lt;li&gt;Partition number (1-4) :&amp;nbsp;&lt;i&gt;1&lt;/i&gt;&lt;/li&gt;&lt;li&gt;First sector (17-41943039, default 17):&amp;nbsp;&lt;i&gt;2048&lt;/i&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Last sector, +sectors or +size{K,M,G} (2048-41943039, default 41943039):&amp;nbsp;&lt;i&gt;&amp;lt;Enter&amp;gt;&lt;/i&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Command (m for help) :&amp;nbsp;&lt;i&gt;p&lt;/i&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Command (m for help) :&amp;nbsp;&lt;i&gt;a&lt;/i&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Partition number (1-4) :&amp;nbsp;&lt;i&gt;1&lt;/i&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Command (m for help) :&amp;nbsp;&lt;i&gt;w&lt;/i&gt;&lt;/li&gt;&lt;/ol&gt;&lt;li&gt;&lt;code style=&quot;font-size: 11px;&quot;&gt;$ reboot&lt;/code&gt;&lt;/li&gt;&lt;li&gt;mount check&lt;/li&gt;&lt;ol&gt;&lt;li&gt;&lt;code style=&quot;font-size: 11px;&quot;&gt;$ dh -h&lt;/code&gt;&lt;/li&gt;&lt;li&gt;If not mounted, follow next step.&lt;/li&gt;&lt;ol&gt;&lt;li&gt;&lt;code style=&quot;font-size: 11px;&quot;&gt;​$ fdisk -l&lt;/code&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;code style=&quot;font-size: 11px;&quot;&gt;$ mount [dir]&lt;/code&gt; // Want to mount the directory.​&lt;/li&gt;&lt;/ol&gt;&lt;/ol&gt;&lt;li&gt;change to volume size.&lt;/li&gt;&lt;ol&gt;&lt;li&gt;&lt;code&gt;$ resize2fs [dir]&lt;/code&gt; // Want to change size the directory.&lt;/li&gt;&lt;/ol&gt;&lt;/ol&gt;&lt;/ol&gt;&lt;h3&gt;7. Copying Files using rsync&lt;/h3&gt;&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;It takes long time.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;Working instance must have all the authorities that to use at Source PV Volume.&lt;/b&gt;&lt;/li&gt;&lt;li&gt;Make use using the following script.&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;#pv_to_hvm.sh&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;#!/bin/sh&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt; 
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_support ace_function ace_builtin&quot;&gt;cd&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;HVM&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;cp&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;HVM&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;etc&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;fstab&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;root&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;dir&lt;/span&gt; &lt;span class=&quot;ace_keyword&quot;&gt;in&lt;/span&gt; &lt;span class=&quot;ace_variable&quot;&gt;$&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;ls&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;l&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;|&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;awk&lt;/span&gt; &lt;span class=&quot;ace_string ace_start&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;{print $NF}&lt;/span&gt;&lt;span class=&quot;ace_string ace_end&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;|&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;egrep&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;v&lt;/span&gt; &lt;span class=&quot;ace_string ace_start&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;boot|lib&lt;/span&gt;&lt;span class=&quot;ace_string ace_end&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;ace_keyword&quot;&gt;do&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;rm&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;rf&lt;/span&gt; &lt;span class=&quot;ace_variable&quot;&gt;$dir&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;ace_support ace_function ace_builtin&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;ace_string&quot;&gt;&quot;deleted &lt;/span&gt;&lt;span class=&quot;ace_variable&quot;&gt;$dir&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;ace_keyword&quot;&gt;done&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;rm&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;rf&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;HVM&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;lib64&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_support ace_function ace_builtin&quot;&gt;cd&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;HVM&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;lib&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;cp&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;rpf&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;HVM&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;lib&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;modules&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;root&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;modules_bkp&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;rm&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;rf&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;HVM&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;lib&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/*&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;mkdir&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;HVM&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;lib&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;modules&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;chmod&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;w&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;HVM&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;lib&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;modules&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;cp&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;rpf&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;root&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;modules_bkp&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;HVM&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;lib&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;modules&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;rm&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;rf&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;PV&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;boot&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;rsync&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;aAXHPv&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;PV&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;HVM&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;rm&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;rf&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;HVM&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;auto&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;*&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;mv&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;HVM&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;etc&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;fstab&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;HVM&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;etc&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;bak_fstab&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;cp&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;root&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;fstab&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;HVM&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;etc&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h3&gt;8. Volume umount&lt;/h3&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Make sure you used the image files in the configuration file before you umount the Volume&lt;br /&gt;&lt;/li&gt;&lt;ul&gt;&lt;li&gt;open&amp;nbsp;&lt;code&gt;/HVM/boot/grub/grub.conf&lt;/code&gt; file in&amp;nbsp;&lt;code&gt;/HVM/lib/modules.&lt;/code&gt;&lt;/li&gt;&lt;li&gt;​check images&lt;/li&gt;&lt;ul&gt;&lt;li&gt;title image file&lt;/li&gt;&lt;li&gt;kernel image file&lt;/li&gt;&lt;li&gt;initrd image file&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;li&gt;PV and HVM volume amount&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;9. Stop the PV Instance(orig_pv_instance) and detach the HVM Volume(new_hvm_vol)&lt;/h3&gt;&lt;/div&gt;&lt;h3&gt;10. Detach root volume in the HVM Instance(new_hvm_instance)&lt;/h3&gt;&lt;h3&gt;11. Attach to the working HVM volume(new_hvm_volume) in HVM Instance(new_hvm_instance)&lt;/h3&gt;&lt;h3&gt;12. Launch HVM Instance(new_hvm_instance)&lt;/h3&gt;&lt;/div&gt;&lt;/div&gt;
  &lt;script&gt;document.body.onkeyup = function(e) {
if (e.keyCode === 39) window.location.href = '[S3Cmd] S3 사이즈 확인.html';
}&lt;/script&gt;

&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>Programming/AWS</category>
      <category>AWS</category>
      <category>Az</category>
      <category>EC2</category>
      <category>hardware virtual machine</category>
      <category>HVM</category>
      <category>migration</category>
      <category>paravirtual</category>
      <category>PV</category>
      <category>region</category>
      <category>snapshot</category>
      <category>volume</category>
      <author>Tez.Park</author>
      <guid isPermaLink="true">https://sham.tistory.com/151</guid>
      <comments>https://sham.tistory.com/151#entry151comment</comments>
      <pubDate>Mon, 26 Sep 2016 01:33:34 +0900</pubDate>
    </item>
    <item>
      <title>[NTP] 시간 동기화 자체 서버 구축 / 클라이언트 설정</title>
      <link>https://sham.tistory.com/150</link>
      <description>&lt;meta charset=&quot;utf-8&quot;&gt;
  &lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;&gt;
  &lt;!-- common.css --&gt;
  &lt;style&gt;* {-webkit-tap-highlight-color: rgba(0,0,0,0);}html {-webkit-text-size-adjust: none;}body {font-family: Arial, Helvetica, sans-serif;margin: 0;color: #333;word-wrap: break-word;}h1, h2, h3, h4, h5, h6 {line-height: 1.1;}img {max-width: 100% !important;}blockquote {margin: 0;padding: 0 15px;color: #777;border-left: 4px solid #ddd;}hr {background-color: #ddd;border: 0;height: 1px;margin: 15px 0;}code {font-family: Menlo, Consolas, 'Ubuntu Mono', Monaco, 'source-code-pro', monospace;line-height: 1.4;margin: 0;padding: 0.2em 0;font-size: 85%;background-color: rgba(0,0,0,0.04);border-radius: 3px;}pre &gt; code {margin: 0;padding: 0;font-size: 100%;word-break: normal;background: transparent;border: 0;}ol {list-style-type: decimal;}ol ol, ul ol {list-style-type: lower-latin;}ol ol ol, ul ol ol, ul ul ol, ol ul ol {list-style-type: lower-roman;}table {border-spacing: 0;border-collapse: collapse;margin-top: 0;margin-bottom: 16px;}table th {font-weight: bold;}table th, table td {padding: 6px 13px;border: 1px solid #ddd;}table tr {border-top: 1px solid #ccc;}table tr:nth-child(even) {background-color: #f8f8f8;}input[type=&quot;checkbox&quot;] {cursor: default;margin-right: 0.5em;font-size: 13px;}.task-list-item {list-style-type: none;}.task-list-item+.task-list-item {margin-top: 3px;}.task-list-item input {float: left;margin: 0.3em 1em 0.25em -1.6em;vertical-align: middle;}#tag-field {margin: 8px 2px 10px;}#tag-field .tag {display: inline-block;background: #cadff3;border-radius: 4px;padding: 1px 8px;color: black;font-size: 12px;margin-right: 10px;line-height: 1.4;}&lt;/style&gt;
  &lt;!-- ace-static.css --&gt;
  &lt;style&gt;.ace_static_highlight {white-space: pre-wrap;}.ace_static_highlight .ace_gutter {width: 2em;text-align: right;padding: 0 3px 0 0;margin-right: 3px;}.ace_static_highlight.ace_show_gutter &gt; .ace_line {padding-left: 2.6em;}.ace_static_highlight .ace_line {position: relative;}.ace_static_highlight .ace_gutter-cell {-moz-user-select: -moz-none;-khtml-user-select: none;-webkit-user-select: none;user-select: none;top: 0;bottom: 0;left: 0;position: absolute;}.ace_static_highlight .ace_gutter-cell:before {content: counter(ace_line, decimal);counter-increment: ace_line;}.ace_static_highlight {counter-reset: ace_line;}&lt;/style&gt;
  &lt;style&gt;.ace-idle-fingers .ace_gutter {background: #3b3b3b;color: rgb(153,153,153)}.ace-idle-fingers .ace_print-margin {width: 1px;background: #3b3b3b}.ace-idle-fingers {background-color: #323232;color: #FFFFFF}.ace-idle-fingers .ace_cursor {color: #91FF00}.ace-idle-fingers .ace_marker-layer .ace_selection {background: rgba(90, 100, 126, 0.88)}.ace-idle-fingers.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px #323232;}.ace-idle-fingers .ace_marker-layer .ace_step {background: rgb(102, 82, 0)}.ace-idle-fingers .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid #404040}.ace-idle-fingers .ace_marker-layer .ace_active-line {background: #353637}.ace-idle-fingers .ace_gutter-active-line {background-color: #353637}.ace-idle-fingers .ace_marker-layer .ace_selected-word {border: 1px solid rgba(90, 100, 126, 0.88)}.ace-idle-fingers .ace_invisible {color: #404040}.ace-idle-fingers .ace_keyword,.ace-idle-fingers .ace_meta {color: #CC7833}.ace-idle-fingers .ace_constant,.ace-idle-fingers .ace_constant.ace_character,.ace-idle-fingers .ace_constant.ace_character.ace_escape,.ace-idle-fingers .ace_constant.ace_other,.ace-idle-fingers .ace_support.ace_constant {color: #6C99BB}.ace-idle-fingers .ace_invalid {color: #FFFFFF;background-color: #FF0000}.ace-idle-fingers .ace_fold {background-color: #CC7833;border-color: #FFFFFF}.ace-idle-fingers .ace_support.ace_function {color: #B83426}.ace-idle-fingers .ace_variable.ace_parameter {font-style: italic}.ace-idle-fingers .ace_string {color: #A5C261}.ace-idle-fingers .ace_string.ace_regexp {color: #CCCC33}.ace-idle-fingers .ace_comment {font-style: italic;color: #BC9458}.ace-idle-fingers .ace_meta.ace_tag {color: #FFE5BB}.ace-idle-fingers .ace_entity.ace_name {color: #FFC66D}.ace-idle-fingers .ace_collab.ace_user1 {color: #323232;background-color: #FFF980}.ace-idle-fingers .ace_indent-guide {background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWMwMjLyZYiPj/8PAAreAwAI1+g0AAAAAElFTkSuQmCC) right repeat-y}&lt;/style&gt;
  &lt;!-- export.css --&gt;
  &lt;style&gt;
    body{margin:0 auto;max-width:100%;line-height:1.4}
    #nav{margin:5px 0 10px;font-size:15px}
    #titlearea{border-bottom:1px solid #ccc;font-size:17px;padding:10px 0;}
    #contentarea{font-size:15px;margin:16px 0}
    .cell{outline:0;min-height:20px;margin:5px 0;padding:5px 0;}
    .code-cell{font-family:Menlo,Consolas,'Ubuntu Mono',Monaco,'source-code-pro',monospace;font-size:12px;}
    .latex-cell{white-space:pre-wrap;}
  &lt;/style&gt;
  &lt;!-- User CSS --&gt;
  &lt;style&gt; .text-cell {font-size: 14px;}.code-cell {font-size: 12px;}.markdown-cell {font-size: 14px;}.latex-cell {font-size: 14px;}&lt;/style&gt;
  &lt;div id=&quot;contentarea&quot;&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h2&gt;[NTP 서버 구축]&lt;/h2&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h3&gt;ntp 데몬 설치&lt;/h3&gt;&lt;div&gt;ntp 사용을 위해 서버에 ntp 데몬을 설치&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;yum&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;install&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;y&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;ntp&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h3&gt;ntp 포트 열기&lt;/h3&gt;&lt;div&gt;ntp는 udp 123 포트를 사용하기 때문에 방화벽 혹은 Secutiry group 등에 udp123 포트를 열어주자&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;inbound 룰에 udp 123포트가 열려야한다. (source 0.0.0.0/0)&lt;/li&gt;&lt;li&gt;인스턴스의 보안 그룹 규칙은 포트 123(NTP)에서 아웃바운드 UDP 트래픽을 허용해야 하고, 네트워크 ACL 규칙은 포트 123에서 인바운드와 아웃바운드 UDP 트래픽을 모두 허용해야 한다.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h3&gt;ntp 설정 파일 수정&lt;/h3&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Client 접근을 허용하기 위해 restrict 설정을 추가&lt;br /&gt;&lt;/li&gt;&lt;ul&gt;&lt;li&gt;restrict &lt;i&gt;[client IP]&lt;/i&gt; mask 255.255.255.0 nomodify notrap&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;사용할 외부 ntp 서버주소를 추가해준다&lt;/li&gt;&lt;ul&gt;&lt;li&gt;server &lt;i&gt;[ntp서버 주소]&lt;/i&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;로컬 타임 서버로 동작하기 위해 127.127.1.0 서버 추가&lt;/li&gt;&lt;li&gt;stratum 값을 설정해준다&lt;/li&gt;&lt;ul&gt;&lt;li&gt;값이 너무 낮으면 (Server dropped: strata too high) 이런 에러가 발생한다.&lt;/li&gt;&lt;li&gt;적당히 낮은 수치로 해주자.&lt;/li&gt;&lt;li&gt;1 혹은 2는 외부 ntp 서버값이므로 사용하지 말자&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;div&gt;아래 conf 파일은 설정 완료된 상태&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;vi&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;etc&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;ntp&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;conf&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;# Permit time synchronization with our time source, but do not&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;# permit the source to query or modify the service on this system.&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;restrict&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;default&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;kod&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;nomodify&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;notrap&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;nopeer&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;noquery&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;restrict&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;6&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;default&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;kod&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;nomodify&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;notrap&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;nopeer&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;noquery&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;# Permit all access over the loopback interface.  This could&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;# be tightened as well, but to do so would effect some of&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;# the administrative functions.&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;restrict&lt;/span&gt; &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;127.0.0.1&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;restrict&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;6&lt;/span&gt; ::&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;1&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;# Hosts on local network are less restricted.&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;#restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;restrict&lt;/span&gt; &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;172.31.0.0&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;16&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;mask&lt;/span&gt; &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;255.255.255.0&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;nomodify&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;notrap&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;# Use public servers from the pool.ntp.org project.&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;# Please consider joining the pool (http://www.pool.ntp.org/join.html).&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;#server 0.centos.pool.ntp.org iburst&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;#server 1.centos.pool.ntp.org iburst&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;#server 2.centos.pool.ntp.org iburst&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;server&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;kr&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;pool&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;ntp&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;org&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;server&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;asia&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;pool&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;ntp&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;org&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;includefile&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;etc&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;ntp&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;crypto&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;pw&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;# Key file containing the keys and key identifiers used when operating&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;# with symmetric key cryptography.&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;keys&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;etc&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;ntp&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;keys&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;# Undisciplined Local Clock. This is a fake driver intended for backup&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;# and when no outside source of synchronized time is available.&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;server&lt;/span&gt;  &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;127.127.1.0&lt;/span&gt; &lt;span class=&quot;ace_comment&quot;&gt;# local clock&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;fudge&lt;/span&gt;   &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;127.127.1.0&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;stratum&lt;/span&gt; &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;3&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h3&gt;ntp daemon 부팅시 실행되게 서비스 등록, 시작&lt;/h3&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;#centos 6&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;chkconfig&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;ntpd&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;on&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;service&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;ntpd&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;restart&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;#centos 7&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;systemctl&lt;/span&gt; &lt;span class=&quot;ace_support ace_function ace_builtin&quot;&gt;enable&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;ntpd&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;systemctl&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;restart&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;ntpd&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h3&gt;ntp daemon 상태 확인&lt;/h3&gt;&lt;div&gt;LOCAL이 표시되면 ntp 서버로 준비 된것임&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;ntpq&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;p&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;remote&lt;/span&gt;           &lt;span class=&quot;ace_identifier&quot;&gt;refid&lt;/span&gt;      &lt;span class=&quot;ace_identifier&quot;&gt;st&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;t&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;when&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;poll&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;reach&lt;/span&gt;   &lt;span class=&quot;ace_identifier&quot;&gt;delay&lt;/span&gt;   &lt;span class=&quot;ace_identifier&quot;&gt;offset&lt;/span&gt;  &lt;span class=&quot;ace_identifier&quot;&gt;jitter&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;==============================================================================&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt; &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;114.207.245.166&lt;/span&gt; &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;141.223.182.106&lt;/span&gt;  &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;2&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;u&lt;/span&gt;   &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;33&lt;/span&gt;   &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;64&lt;/span&gt;    &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;1&lt;/span&gt;    &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;4.328&lt;/span&gt;   &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;5.253&lt;/span&gt;   &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;0.000&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt; &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;202&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;65&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;114&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;202.&lt;/span&gt; &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;203.160.128.66&lt;/span&gt;   &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;2&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;u&lt;/span&gt;   &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;32&lt;/span&gt;   &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;64&lt;/span&gt;    &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;1&lt;/span&gt;   &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;99.512&lt;/span&gt;   &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;1.440&lt;/span&gt;   &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;0.000&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;LOCAL&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt;        .&lt;span class=&quot;ace_identifier&quot;&gt;LOCL&lt;/span&gt;.           &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;3&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;l&lt;/span&gt;   &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;31&lt;/span&gt;   &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;64&lt;/span&gt;    &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;1&lt;/span&gt;    &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;0.000&lt;/span&gt;    &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;0.000&lt;/span&gt;   &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;0.000&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;div&gt;&lt;h2&gt;[Client 설정] - ntp daemon&lt;/h2&gt;&lt;/div&gt;&lt;div&gt;&lt;h3&gt;ntp 설정 파일 수정&lt;/h3&gt;&lt;/div&gt;&lt;div&gt;다른 서버들은 모두 막아준다&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;vi&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;etc&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;ntp&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;conf&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;...
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;# Use public servers from the pool.ntp.org project.&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;# Please consider joining the pool (http://www.pool.ntp.org/join.html).&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;#server 0.centos.pool.ntp.org iburst&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;#server 1.centos.pool.ntp.org iburst&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;#server 2.centos.pool.ntp.org iburst&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;server&lt;/span&gt; &lt;span class=&quot;ace_paren ace_lparen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;내&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;부&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;ntp&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;서&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;버&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;IP&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;...
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h3&gt;ntp daemon 부팅시 실행되게 서비스 등록, 시작&lt;/h3&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;#centos 6&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;chkconfig&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;ntpd&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;on&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;service&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;ntpd&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;restart&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;#centos 7&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;systemctl&lt;/span&gt; &lt;span class=&quot;ace_support ace_function ace_builtin&quot;&gt;enable&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;ntpd&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;systemctl&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;restart&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;ntpd&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;hr&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h2&gt;[Client 설정] - cron.daily&lt;/h2&gt;&lt;div&gt;!! Client 서버에서는 내부 ntp 서버와 cron으로 시간을 동기화 하기 때문에 &amp;nbsp;ntpdaemon 서비스는 종료&lt;/div&gt;&lt;h3&gt;cron.daily 사용&lt;/h3&gt;&lt;div&gt;쉘 스크립트 생성&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;vi&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;etc&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;cron&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;daily&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;time&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;sync&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;#!/bin/bash&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;usr&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;sbin&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;ntpdate&lt;/span&gt; &lt;span class=&quot;ace_paren ace_lparen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;내&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;부&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;ntp&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;서&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;버&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;IP&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;sbin&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;clock&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;w&lt;/span&gt;  &lt;span class=&quot;ace_comment&quot;&gt;# [&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;내&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;부&lt;/span&gt; ntp&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;서&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;버&lt;/span&gt; IP] -&amp;gt; xxx.xxx.xxx.xxx, &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;대&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;괄&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;호&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;없&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;이&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;div&gt;실행 권한 부여&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;chmod&lt;/span&gt; &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;755&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;etc&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;cron&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;daily&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;time&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;sync&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;매일 새벽 4시에 동기화 스크립트를 수행한다&lt;/div&gt;&lt;/div&gt;
  &lt;script&gt;document.body.onkeyup = function(e) {
if (e.keyCode === 39) window.location.href = '[NTP] NTP daemon   crontab 으로 시간 동기화.html';
if (e.keyCode === 37) window.location.href = '[Date] 명령어.html';
}&lt;/script&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>Programming/Linux</category>
      <category>cron</category>
      <category>cron.daily</category>
      <category>ntp</category>
      <category>ntp daemon</category>
      <category>server time</category>
      <author>Tez.Park</author>
      <guid isPermaLink="true">https://sham.tistory.com/150</guid>
      <comments>https://sham.tistory.com/150#entry150comment</comments>
      <pubDate>Mon, 26 Sep 2016 01:21:47 +0900</pubDate>
    </item>
    <item>
      <title>[NTP] NTP daemon / crontab으로 시간 동기화</title>
      <link>https://sham.tistory.com/149</link>
      <description>&lt;meta charset=&quot;utf-8&quot;&gt;
  &lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;&gt;
  &lt;!-- common.css --&gt;
  &lt;style&gt;* {-webkit-tap-highlight-color: rgba(0,0,0,0);}html {-webkit-text-size-adjust: none;}body {font-family: Arial, Helvetica, sans-serif;margin: 0;color: #333;word-wrap: break-word;}h1, h2, h3, h4, h5, h6 {line-height: 1.1;}img {max-width: 100% !important;}blockquote {margin: 0;padding: 0 15px;color: #777;border-left: 4px solid #ddd;}hr {background-color: #ddd;border: 0;height: 1px;margin: 15px 0;}code {font-family: Menlo, Consolas, 'Ubuntu Mono', Monaco, 'source-code-pro', monospace;line-height: 1.4;margin: 0;padding: 0.2em 0;font-size: 85%;background-color: rgba(0,0,0,0.04);border-radius: 3px;}pre &gt; code {margin: 0;padding: 0;font-size: 100%;word-break: normal;background: transparent;border: 0;}ol {list-style-type: decimal;}ol ol, ul ol {list-style-type: lower-latin;}ol ol ol, ul ol ol, ul ul ol, ol ul ol {list-style-type: lower-roman;}table {border-spacing: 0;border-collapse: collapse;margin-top: 0;margin-bottom: 16px;}table th {font-weight: bold;}table th, table td {padding: 6px 13px;border: 1px solid #ddd;}table tr {border-top: 1px solid #ccc;}table tr:nth-child(even) {background-color: #f8f8f8;}input[type=&quot;checkbox&quot;] {cursor: default;margin-right: 0.5em;font-size: 13px;}.task-list-item {list-style-type: none;}.task-list-item+.task-list-item {margin-top: 3px;}.task-list-item input {float: left;margin: 0.3em 1em 0.25em -1.6em;vertical-align: middle;}#tag-field {margin: 8px 2px 10px;}#tag-field .tag {display: inline-block;background: #cadff3;border-radius: 4px;padding: 1px 8px;color: black;font-size: 12px;margin-right: 10px;line-height: 1.4;}&lt;/style&gt;
  &lt;!-- ace-static.css --&gt;
  &lt;style&gt;.ace_static_highlight {white-space: pre-wrap;}.ace_static_highlight .ace_gutter {width: 2em;text-align: right;padding: 0 3px 0 0;margin-right: 3px;}.ace_static_highlight.ace_show_gutter &gt; .ace_line {padding-left: 2.6em;}.ace_static_highlight .ace_line {position: relative;}.ace_static_highlight .ace_gutter-cell {-moz-user-select: -moz-none;-khtml-user-select: none;-webkit-user-select: none;user-select: none;top: 0;bottom: 0;left: 0;position: absolute;}.ace_static_highlight .ace_gutter-cell:before {content: counter(ace_line, decimal);counter-increment: ace_line;}.ace_static_highlight {counter-reset: ace_line;}&lt;/style&gt;
  &lt;style&gt;.ace-idle-fingers .ace_gutter {background: #3b3b3b;color: rgb(153,153,153)}.ace-idle-fingers .ace_print-margin {width: 1px;background: #3b3b3b}.ace-idle-fingers {background-color: #323232;color: #FFFFFF}.ace-idle-fingers .ace_cursor {color: #91FF00}.ace-idle-fingers .ace_marker-layer .ace_selection {background: rgba(90, 100, 126, 0.88)}.ace-idle-fingers.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px #323232;}.ace-idle-fingers .ace_marker-layer .ace_step {background: rgb(102, 82, 0)}.ace-idle-fingers .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid #404040}.ace-idle-fingers .ace_marker-layer .ace_active-line {background: #353637}.ace-idle-fingers .ace_gutter-active-line {background-color: #353637}.ace-idle-fingers .ace_marker-layer .ace_selected-word {border: 1px solid rgba(90, 100, 126, 0.88)}.ace-idle-fingers .ace_invisible {color: #404040}.ace-idle-fingers .ace_keyword,.ace-idle-fingers .ace_meta {color: #CC7833}.ace-idle-fingers .ace_constant,.ace-idle-fingers .ace_constant.ace_character,.ace-idle-fingers .ace_constant.ace_character.ace_escape,.ace-idle-fingers .ace_constant.ace_other,.ace-idle-fingers .ace_support.ace_constant {color: #6C99BB}.ace-idle-fingers .ace_invalid {color: #FFFFFF;background-color: #FF0000}.ace-idle-fingers .ace_fold {background-color: #CC7833;border-color: #FFFFFF}.ace-idle-fingers .ace_support.ace_function {color: #B83426}.ace-idle-fingers .ace_variable.ace_parameter {font-style: italic}.ace-idle-fingers .ace_string {color: #A5C261}.ace-idle-fingers .ace_string.ace_regexp {color: #CCCC33}.ace-idle-fingers .ace_comment {font-style: italic;color: #BC9458}.ace-idle-fingers .ace_meta.ace_tag {color: #FFE5BB}.ace-idle-fingers .ace_entity.ace_name {color: #FFC66D}.ace-idle-fingers .ace_collab.ace_user1 {color: #323232;background-color: #FFF980}.ace-idle-fingers .ace_indent-guide {background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWMwMjLyZYiPj/8PAAreAwAI1+g0AAAAAElFTkSuQmCC) right repeat-y}&lt;/style&gt;
  &lt;!-- export.css --&gt;
  &lt;style&gt;
    body{margin:0 auto;max-width:100%;line-height:1.4}
    #nav{margin:5px 0 10px;font-size:15px}
    #titlearea{border-bottom:1px solid #ccc;font-size:17px;padding:10px 0;}
    #contentarea{font-size:15px;margin:16px 0}
    .cell{outline:0;min-height:20px;margin:5px 0;padding:5px 0;}
    .code-cell{font-family:Menlo,Consolas,'Ubuntu Mono',Monaco,'source-code-pro',monospace;font-size:12px;}
    .latex-cell{white-space:pre-wrap;}
  &lt;/style&gt;
  &lt;!-- User CSS --&gt;
  &lt;style&gt; .text-cell {font-size: 14px;}.code-cell {font-size: 12px;}.markdown-cell {font-size: 14px;}.latex-cell {font-size: 14px;}&lt;/style&gt;

  &lt;div id=&quot;contentarea&quot;&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h2&gt;[NTP daemon 사용]&lt;/h2&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h3&gt;ntp 데몬 설치&lt;/h3&gt;&lt;div&gt;ntp 사용을 위해 서버에 ntp 데몬을 설치&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;yum&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;install&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;y&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;ntp&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h3&gt;ntp 포트 열기&lt;/h3&gt;&lt;div&gt;ntp는 udp 123 포트를 사용하기 때문에 방화벽 혹은 Secutiry group 등에 udp123 포트를 열어주자&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h3&gt;ntp 설정 변경&lt;/h3&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;vi&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;etc&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;ntp&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;conf&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;기존 시간 서버를 막고 한국 기준 ntp 서버들을 추가&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;...
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;#server 0.centos.pool.ntp.org iburst&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;#server 1.centos.pool.ntp.org iburst&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;#server 2.centos.pool.ntp.org iburst&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;#server 3.centos.pool.ntp.org iburst&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;server&lt;/span&gt; &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;3.&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;kr&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;pool&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;ntp&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;org&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;server&lt;/span&gt; &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;1.&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;asia&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;pool&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;ntp&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;org&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;server&lt;/span&gt; &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;2.&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;asia&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;pool&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;ntp&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;org&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;...
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h3&gt;ntp daemon 부팅시 실행되게 서비스 등록, 시작&lt;/h3&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;#centos 6&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;chkconfig&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;ntpd&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;on&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;service&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;ntpd&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;restart&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;#centos 7&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;systemctl&lt;/span&gt; &lt;span class=&quot;ace_support ace_function ace_builtin&quot;&gt;enable&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;ntpd&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;systemctl&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;restart&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;ntpd&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h3&gt;ntp daemon 상태 확인&lt;/h3&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;ntpq&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;p&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;remote&lt;/span&gt;           &lt;span class=&quot;ace_identifier&quot;&gt;refid&lt;/span&gt;      &lt;span class=&quot;ace_identifier&quot;&gt;st&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;t&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;when&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;poll&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;reach&lt;/span&gt;   &lt;span class=&quot;ace_identifier&quot;&gt;delay&lt;/span&gt;   &lt;span class=&quot;ace_identifier&quot;&gt;offset&lt;/span&gt;  &lt;span class=&quot;ace_identifier&quot;&gt;jitter&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;==============================================================================&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt; &lt;span class=&quot;ace_identifier&quot;&gt;send&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;mx&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;cdnetwo&lt;/span&gt; .&lt;span class=&quot;ace_identifier&quot;&gt;INIT&lt;/span&gt;.          &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;16&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;u&lt;/span&gt;    &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;  &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;256&lt;/span&gt;    &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;0&lt;/span&gt;    &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;0.000&lt;/span&gt;    &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;0.000&lt;/span&gt;   &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;0.000&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt; &lt;span class=&quot;ace_identifier&quot;&gt;li1440&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;241.&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;memb&lt;/span&gt; .&lt;span class=&quot;ace_identifier&quot;&gt;INIT&lt;/span&gt;.          &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;16&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;u&lt;/span&gt;    &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;  &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;256&lt;/span&gt;    &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;0&lt;/span&gt;    &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;0.000&lt;/span&gt;    &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;0.000&lt;/span&gt;   &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;0.000&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;LOCAL&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt;        .&lt;span class=&quot;ace_identifier&quot;&gt;LOCL&lt;/span&gt;.           &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;3&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;l&lt;/span&gt;    &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;   &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;64&lt;/span&gt;  &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;377&lt;/span&gt;    &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;0.000&lt;/span&gt;    &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;0.000&lt;/span&gt;   &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;0.000&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h2&gt;[Crontab 사용]&lt;/h2&gt;&lt;h3&gt;ntpdate 설치&lt;/h3&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;yum&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;install&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;y&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;ntpdate&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;crontab에 등록해서 사용자가 정하는 시간대에 동기화를 하도록 하자&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_variable&quot;&gt;$crontab&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;e&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;...
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;# &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;매&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;일&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;새&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;벽&lt;/span&gt; 1&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;시&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;에&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;시&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;간&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;동&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;기&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;화&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;00&lt;/span&gt; &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;4&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;*&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;*&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;*&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;ntpdate&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;kr&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;pool&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;ntp&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;org&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h2&gt;[cron.daily 사용]&lt;/h2&gt;&lt;div&gt;쉘 스크립트를 생성해서 cron&lt;/div&gt;&lt;h3&gt;쉘 스크립트 생성&lt;/h3&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;vi&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;etc&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;time&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;sync&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;ntp&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;#!/bin/bash&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;usr&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;sbin&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;ntpdate&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;b&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;s&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;kr&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;pool&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;ntp&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;org&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;sbin&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;clock&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;w&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h3&gt;실행 권한 부여&lt;/h3&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;chmod&lt;/span&gt; &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;755&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;time&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;sync&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;ntp&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;작성한 파일을 /etc/cron.daily/ 로 복사 (매일 새벽 4시에 동기화 스크립트를 수행한다)&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;hr&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h2&gt;[ntpdate 사용법] - 번외&lt;/h2&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;ntpdate는 시간을 바로 동기화 시킬 때 사용하는 명령어로 생각하면됨&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h3&gt;기본 사용법과 옵션들&lt;/h3&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;ntp서버와 시간 동기화&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;ntpdate&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;kr&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;pool&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;ntp&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;org&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;div&gt;ntp서버와 강제 시간 동기화&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;&lt;span style=&quot;font-family: '.Apple SD Gothic NeoI';font-size:14px;&quot;&gt;ntpdate는 옵션(-b, -B)을 지정하지 않으면 현재 시스템 시간과 차이가 128ms 이상이면&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: 'Helvetica Neue'; font-size: 14px;&quot;&gt;&lt;span style=&quot;font-family: '.Apple SD Gothic NeoI';&quot;&gt;settimeofday()을, 이내이면 adjtime()을 사용한다.&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family:'Helvetica Neue';font-size:14px;&quot;&gt;&lt;span style=&quot;font-family: '.Apple SD Gothic NeoI';&quot;&gt;강제적으로 ntpdate -b 로 settimeofday()를, ntpdate -B로 adjtime()를 사용할 수 있다.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;ntpdate&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;b&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;kr&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;pool&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;ntp&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;org&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;ntpdate&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;B&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;kr&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;pool&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;ntp&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;org&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;디버깅 모드&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;ntpdate&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;d&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;kr&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;pool&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;ntp&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;org&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;udp 123포트를 사용못할때 다른포트를 사용해서 동기화&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;ntpdate&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;u&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;kr&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;pool&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;ntp&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;org&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;/div&gt;&lt;/div&gt;
  &lt;script&gt;document.body.onkeyup = function(e) {
if (e.keyCode === 39) window.location.href = '[Logrotate] 강제로 갱신   Debug모드.html';
if (e.keyCode === 37) window.location.href = '[NTP] 시간 동기화 자체 서버 구축   클라이언트 사용.html';
}&lt;/script&gt;</description>
      <category>Programming/Linux</category>
      <category>cron</category>
      <category>crontab</category>
      <category>ntp</category>
      <category>ntp daemon</category>
      <category>ntpdate</category>
      <category>server time</category>
      <author>Tez.Park</author>
      <guid isPermaLink="true">https://sham.tistory.com/149</guid>
      <comments>https://sham.tistory.com/149#entry149comment</comments>
      <pubDate>Mon, 26 Sep 2016 01:19:33 +0900</pubDate>
    </item>
    <item>
      <title>[Logrotate] 강제로 갱신, Debug모드</title>
      <link>https://sham.tistory.com/148</link>
      <description>&lt;meta charset=&quot;utf-8&quot;&gt;
  &lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;&gt;
  &lt;!-- common.css --&gt;
  &lt;style&gt;* {-webkit-tap-highlight-color: rgba(0,0,0,0);}html {-webkit-text-size-adjust: none;}body {font-family: Arial, Helvetica, sans-serif;margin: 0;color: #333;word-wrap: break-word;}h1, h2, h3, h4, h5, h6 {line-height: 1.1;}img {max-width: 100% !important;}blockquote {margin: 0;padding: 0 15px;color: #777;border-left: 4px solid #ddd;}hr {background-color: #ddd;border: 0;height: 1px;margin: 15px 0;}code {font-family: Menlo, Consolas, 'Ubuntu Mono', Monaco, 'source-code-pro', monospace;line-height: 1.4;margin: 0;padding: 0.2em 0;font-size: 85%;background-color: rgba(0,0,0,0.04);border-radius: 3px;}pre &gt; code {margin: 0;padding: 0;font-size: 100%;word-break: normal;background: transparent;border: 0;}ol {list-style-type: decimal;}ol ol, ul ol {list-style-type: lower-latin;}ol ol ol, ul ol ol, ul ul ol, ol ul ol {list-style-type: lower-roman;}table {border-spacing: 0;border-collapse: collapse;margin-top: 0;margin-bottom: 16px;}table th {font-weight: bold;}table th, table td {padding: 6px 13px;border: 1px solid #ddd;}table tr {border-top: 1px solid #ccc;}table tr:nth-child(even) {background-color: #f8f8f8;}input[type=&quot;checkbox&quot;] {cursor: default;margin-right: 0.5em;font-size: 13px;}.task-list-item {list-style-type: none;}.task-list-item+.task-list-item {margin-top: 3px;}.task-list-item input {float: left;margin: 0.3em 1em 0.25em -1.6em;vertical-align: middle;}#tag-field {margin: 8px 2px 10px;}#tag-field .tag {display: inline-block;background: #cadff3;border-radius: 4px;padding: 1px 8px;color: black;font-size: 12px;margin-right: 10px;line-height: 1.4;}&lt;/style&gt;
  &lt;!-- ace-static.css --&gt;
  &lt;style&gt;.ace_static_highlight {white-space: pre-wrap;}.ace_static_highlight .ace_gutter {width: 2em;text-align: right;padding: 0 3px 0 0;margin-right: 3px;}.ace_static_highlight.ace_show_gutter &gt; .ace_line {padding-left: 2.6em;}.ace_static_highlight .ace_line {position: relative;}.ace_static_highlight .ace_gutter-cell {-moz-user-select: -moz-none;-khtml-user-select: none;-webkit-user-select: none;user-select: none;top: 0;bottom: 0;left: 0;position: absolute;}.ace_static_highlight .ace_gutter-cell:before {content: counter(ace_line, decimal);counter-increment: ace_line;}.ace_static_highlight {counter-reset: ace_line;}&lt;/style&gt;
  &lt;style&gt;.ace-idle-fingers .ace_gutter {background: #3b3b3b;color: rgb(153,153,153)}.ace-idle-fingers .ace_print-margin {width: 1px;background: #3b3b3b}.ace-idle-fingers {background-color: #323232;color: #FFFFFF}.ace-idle-fingers .ace_cursor {color: #91FF00}.ace-idle-fingers .ace_marker-layer .ace_selection {background: rgba(90, 100, 126, 0.88)}.ace-idle-fingers.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px #323232;}.ace-idle-fingers .ace_marker-layer .ace_step {background: rgb(102, 82, 0)}.ace-idle-fingers .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid #404040}.ace-idle-fingers .ace_marker-layer .ace_active-line {background: #353637}.ace-idle-fingers .ace_gutter-active-line {background-color: #353637}.ace-idle-fingers .ace_marker-layer .ace_selected-word {border: 1px solid rgba(90, 100, 126, 0.88)}.ace-idle-fingers .ace_invisible {color: #404040}.ace-idle-fingers .ace_keyword,.ace-idle-fingers .ace_meta {color: #CC7833}.ace-idle-fingers .ace_constant,.ace-idle-fingers .ace_constant.ace_character,.ace-idle-fingers .ace_constant.ace_character.ace_escape,.ace-idle-fingers .ace_constant.ace_other,.ace-idle-fingers .ace_support.ace_constant {color: #6C99BB}.ace-idle-fingers .ace_invalid {color: #FFFFFF;background-color: #FF0000}.ace-idle-fingers .ace_fold {background-color: #CC7833;border-color: #FFFFFF}.ace-idle-fingers .ace_support.ace_function {color: #B83426}.ace-idle-fingers .ace_variable.ace_parameter {font-style: italic}.ace-idle-fingers .ace_string {color: #A5C261}.ace-idle-fingers .ace_string.ace_regexp {color: #CCCC33}.ace-idle-fingers .ace_comment {font-style: italic;color: #BC9458}.ace-idle-fingers .ace_meta.ace_tag {color: #FFE5BB}.ace-idle-fingers .ace_entity.ace_name {color: #FFC66D}.ace-idle-fingers .ace_collab.ace_user1 {color: #323232;background-color: #FFF980}.ace-idle-fingers .ace_indent-guide {background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWMwMjLyZYiPj/8PAAreAwAI1+g0AAAAAElFTkSuQmCC) right repeat-y}&lt;/style&gt;
  &lt;!-- export.css --&gt;
  &lt;style&gt;
    body{margin:0 auto;max-width:100%;line-height:1.4}
    #nav{margin:5px 0 10px;font-size:15px}
    #titlearea{border-bottom:1px solid #ccc;font-size:17px;padding:10px 0;}
    #contentarea{font-size:15px;margin:16px 0}
    .cell{outline:0;min-height:20px;margin:5px 0;padding:5px 0;}
    .code-cell{font-family:Menlo,Consolas,'Ubuntu Mono',Monaco,'source-code-pro',monospace;font-size:12px;}
    .latex-cell{white-space:pre-wrap;}
  &lt;/style&gt;
  &lt;!-- User CSS --&gt;
  &lt;style&gt; .text-cell {font-size: 14px;}.code-cell {font-size: 12px;}.markdown-cell {font-size: 14px;}.latex-cell {font-size: 14px;}&lt;/style&gt;
  &lt;div id=&quot;contentarea&quot;&gt;&lt;h3&gt;&lt;span style=&quot;font-weight: normal;&quot;&gt;강제로 logrotate 수행&lt;/span&gt;&lt;/h3&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;root&lt;/span&gt;@&lt;span class=&quot;ace_identifier&quot;&gt;tez&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;~&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt;# &lt;span class=&quot;ace_identifier&quot;&gt;logrotate&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;f&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;etc&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;logrotate&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;conf&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&lt;span style=&quot;font-weight: normal;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span style=&quot;font-weight: normal;&quot;&gt;logrotate debug 모드&lt;/span&gt;&lt;/h3&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;root&lt;/span&gt;@&lt;span class=&quot;ace_identifier&quot;&gt;tez&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;~&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt;# &lt;span class=&quot;ace_identifier&quot;&gt;logrotate&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;d&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;etc&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;logrotate&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;conf&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;
  &lt;script&gt;document.body.onkeyup = function(e) {
if (e.keyCode === 39) window.location.href = '[Log] Apache log format.html';
if (e.keyCode === 37) window.location.href = '[NTP] NTP daemon   crontab 으로 시간 동기화.html';
}&lt;/script&gt;

&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>Programming/Linux</category>
      <category>loglotate</category>
      <author>Tez.Park</author>
      <guid isPermaLink="true">https://sham.tistory.com/148</guid>
      <comments>https://sham.tistory.com/148#entry148comment</comments>
      <pubDate>Mon, 26 Sep 2016 01:17:26 +0900</pubDate>
    </item>
    <item>
      <title>[Service] Shell script를 python service로 구동하기</title>
      <link>https://sham.tistory.com/146</link>
      <description>&lt;meta charset=&quot;utf-8&quot;&gt;
  &lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;&gt;
  &lt;!-- common.css --&gt;
  &lt;style&gt;* {-webkit-tap-highlight-color: rgba(0,0,0,0);}html {-webkit-text-size-adjust: none;}body {font-family: Arial, Helvetica, sans-serif;margin: 0;color: #333;word-wrap: break-word;}h1, h2, h3, h4, h5, h6 {line-height: 1.1;}img {max-width: 100% !important;}blockquote {margin: 0;padding: 0 15px;color: #777;border-left: 4px solid #ddd;}hr {background-color: #ddd;border: 0;height: 1px;margin: 15px 0;}code {font-family: Menlo, Consolas, 'Ubuntu Mono', Monaco, 'source-code-pro', monospace;line-height: 1.4;margin: 0;padding: 0.2em 0;font-size: 85%;background-color: rgba(0,0,0,0.04);border-radius: 3px;}pre &gt; code {margin: 0;padding: 0;font-size: 100%;word-break: normal;background: transparent;border: 0;}ol {list-style-type: decimal;}ol ol, ul ol {list-style-type: lower-latin;}ol ol ol, ul ol ol, ul ul ol, ol ul ol {list-style-type: lower-roman;}table {border-spacing: 0;border-collapse: collapse;margin-top: 0;margin-bottom: 16px;}table th {font-weight: bold;}table th, table td {padding: 6px 13px;border: 1px solid #ddd;}table tr {border-top: 1px solid #ccc;}table tr:nth-child(even) {background-color: #f8f8f8;}input[type=&quot;checkbox&quot;] {cursor: default;margin-right: 0.5em;font-size: 13px;}.task-list-item {list-style-type: none;}.task-list-item+.task-list-item {margin-top: 3px;}.task-list-item input {float: left;margin: 0.3em 1em 0.25em -1.6em;vertical-align: middle;}#tag-field {margin: 8px 2px 10px;}#tag-field .tag {display: inline-block;background: #cadff3;border-radius: 4px;padding: 1px 8px;color: black;font-size: 12px;margin-right: 10px;line-height: 1.4;}&lt;/style&gt;
  &lt;!-- ace-static.css --&gt;
  &lt;style&gt;.ace_static_highlight {white-space: pre-wrap;}.ace_static_highlight .ace_gutter {width: 2em;text-align: right;padding: 0 3px 0 0;margin-right: 3px;}.ace_static_highlight.ace_show_gutter &gt; .ace_line {padding-left: 2.6em;}.ace_static_highlight .ace_line {position: relative;}.ace_static_highlight .ace_gutter-cell {-moz-user-select: -moz-none;-khtml-user-select: none;-webkit-user-select: none;user-select: none;top: 0;bottom: 0;left: 0;position: absolute;}.ace_static_highlight .ace_gutter-cell:before {content: counter(ace_line, decimal);counter-increment: ace_line;}.ace_static_highlight {counter-reset: ace_line;}&lt;/style&gt;
  &lt;style&gt;.ace-idle-fingers .ace_gutter {background: #3b3b3b;color: rgb(153,153,153)}.ace-idle-fingers .ace_print-margin {width: 1px;background: #3b3b3b}.ace-idle-fingers {background-color: #323232;color: #FFFFFF}.ace-idle-fingers .ace_cursor {color: #91FF00}.ace-idle-fingers .ace_marker-layer .ace_selection {background: rgba(90, 100, 126, 0.88)}.ace-idle-fingers.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px #323232;}.ace-idle-fingers .ace_marker-layer .ace_step {background: rgb(102, 82, 0)}.ace-idle-fingers .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid #404040}.ace-idle-fingers .ace_marker-layer .ace_active-line {background: #353637}.ace-idle-fingers .ace_gutter-active-line {background-color: #353637}.ace-idle-fingers .ace_marker-layer .ace_selected-word {border: 1px solid rgba(90, 100, 126, 0.88)}.ace-idle-fingers .ace_invisible {color: #404040}.ace-idle-fingers .ace_keyword,.ace-idle-fingers .ace_meta {color: #CC7833}.ace-idle-fingers .ace_constant,.ace-idle-fingers .ace_constant.ace_character,.ace-idle-fingers .ace_constant.ace_character.ace_escape,.ace-idle-fingers .ace_constant.ace_other,.ace-idle-fingers .ace_support.ace_constant {color: #6C99BB}.ace-idle-fingers .ace_invalid {color: #FFFFFF;background-color: #FF0000}.ace-idle-fingers .ace_fold {background-color: #CC7833;border-color: #FFFFFF}.ace-idle-fingers .ace_support.ace_function {color: #B83426}.ace-idle-fingers .ace_variable.ace_parameter {font-style: italic}.ace-idle-fingers .ace_string {color: #A5C261}.ace-idle-fingers .ace_string.ace_regexp {color: #CCCC33}.ace-idle-fingers .ace_comment {font-style: italic;color: #BC9458}.ace-idle-fingers .ace_meta.ace_tag {color: #FFE5BB}.ace-idle-fingers .ace_entity.ace_name {color: #FFC66D}.ace-idle-fingers .ace_collab.ace_user1 {color: #323232;background-color: #FFF980}.ace-idle-fingers .ace_indent-guide {background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWMwMjLyZYiPj/8PAAreAwAI1+g0AAAAAElFTkSuQmCC) right repeat-y}&lt;/style&gt;
  &lt;!-- export.css --&gt;
  &lt;style&gt;
    body{margin:0 auto;max-width:100%;line-height:1.4}
    #nav{margin:5px 0 10px;font-size:15px}
    #titlearea{border-bottom:1px solid #ccc;font-size:17px;padding:10px 0;}
    #contentarea{font-size:15px;margin:16px 0}
    .cell{outline:0;min-height:20px;margin:5px 0;padding:5px 0;}
    .code-cell{font-family:Menlo,Consolas,'Ubuntu Mono',Monaco,'source-code-pro',monospace;font-size:12px;}
    .latex-cell{white-space:pre-wrap;}
  &lt;/style&gt;
  &lt;!-- User CSS --&gt;
  &lt;style&gt; .text-cell {font-size: 14px;}.code-cell {font-size: 12px;}.markdown-cell {font-size: 14px;}.latex-cell {font-size: 14px;}&lt;/style&gt;
  &lt;div id=&quot;contentarea&quot;&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h3&gt;CenOS6&amp;nbsp;&lt;/h3&gt;&lt;div&gt;upstart 명령 이용&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;&lt;i&gt;/etc/init&lt;/i&gt; 하에 &lt;i&gt;service_name.conf &lt;/i&gt;로 작성&lt;/li&gt;&lt;li&gt;&lt;i&gt;start/stop/restart [service_name]&lt;/i&gt;&amp;nbsp;으로 실행 가능&lt;/li&gt;&lt;li&gt;chkconfig [service_name] on 으로 부팅시 실행 가능&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;service_name.conf 파일&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;## upstart configuration file example&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;chdir&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;python&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;folder&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;path&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;env&lt;/span&gt; &lt;span class=&quot;ace_variable&quot;&gt;ENVIRONMENT=&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;development&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_support ace_function ace_builtin&quot;&gt;exec&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;python&lt;/span&gt; &lt;span class=&quot;ace_paren ace_lparen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;python&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;file&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;py&lt;/span&gt; &lt;span class=&quot;ace_variable&quot;&gt;$ENVIRONMENT&lt;/span&gt; &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;ace_support ace_function&quot;&gt;&amp;amp;1&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;post&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;stop&lt;/span&gt; &lt;span class=&quot;ace_support ace_function ace_builtin&quot;&gt;exec&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;sleep&lt;/span&gt; &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;1&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;respawn&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;service 실행&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_support ace_function ace_builtin&quot;&gt;cd&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;etc&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;init&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;etc&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;init&lt;/span&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;start&lt;/span&gt; &lt;span class=&quot;ace_paren ace_lparen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;service_name&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h3&gt;CentOS7&lt;/h3&gt;&lt;div&gt;systemd 명령 이용&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;명령을 바로 실행할 수 없기 때문에 python 실행명령은 shell script로 작성&lt;/li&gt;&lt;li&gt;&lt;i&gt;/etc/systemd/system&lt;/i&gt; 밑에 &lt;i&gt;service_name.service&lt;/i&gt; 로 작성&lt;/li&gt;&lt;li&gt;설정 파일 생성/변경 후 &lt;i&gt;systemctl daemon-reload&lt;/i&gt; 로 로딩&lt;/li&gt;&lt;li&gt;&lt;i&gt;service [service_name] start/stop/restart&lt;/i&gt; 로 실행&amp;nbsp;&lt;/li&gt;&lt;ul&gt;&lt;li&gt;&lt;i&gt;systemctl start/stop/restart [service_name]&lt;/i&gt; 과 같다&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;&lt;i&gt;systemctl status [service_name]&lt;/i&gt; 으로 상태/로그 조회&lt;/li&gt;&lt;li&gt;&lt;i&gt;systemctl enable [service_name]&lt;/i&gt; 으로 부팅시 실행 가능&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;service_name.service파일&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;## systemd configuration file example&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;Unit&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_variable&quot;&gt;Description=&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;example&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;server&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;service&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_variable&quot;&gt;After=&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;network&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;target&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt; 
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;Service&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_variable&quot;&gt;Type=&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;simple&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_variable&quot;&gt;WorkingDirectory=&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;python&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;folder&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;path&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_variable&quot;&gt;ExecStart=&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;python&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;folder&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;path&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;start&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;sh&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;development&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_variable&quot;&gt;Restart=&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;always&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;Install&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_variable&quot;&gt;WantedBy=&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;multi&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;user&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;target&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;start.sh 파일&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;#!/bin/sh&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;python&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;python&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;folder&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;path&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;ExampleServer&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;py&lt;/span&gt; &lt;span class=&quot;ace_variable&quot;&gt;$1&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;service 실행&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;systemctl&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;start&lt;/span&gt; &lt;span class=&quot;ace_paren ace_lparen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;service_name&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;
  &lt;script&gt;document.body.onkeyup = function(e) {
if (e.keyCode === 39) window.location.href = '[Port] 목록.html';
if (e.keyCode === 37) window.location.href = '[SSH] pw 없이 로그인.html';
}&lt;/script&gt;

&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>Programming/Linux</category>
      <category>chkconfig</category>
      <category>Python</category>
      <category>Service</category>
      <category>systemctl</category>
      <category>systemd</category>
      <author>Tez.Park</author>
      <guid isPermaLink="true">https://sham.tistory.com/146</guid>
      <comments>https://sham.tistory.com/146#entry146comment</comments>
      <pubDate>Mon, 26 Sep 2016 01:06:13 +0900</pubDate>
    </item>
    <item>
      <title>[User] User 추가/Root권한/비밀번호 인증 활성화</title>
      <link>https://sham.tistory.com/145</link>
      <description>&lt;meta charset=&quot;utf-8&quot;&gt;
  &lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;&gt;
  &lt;!-- common.css --&gt;
  &lt;style&gt;* {-webkit-tap-highlight-color: rgba(0,0,0,0);}html {-webkit-text-size-adjust: none;}body {font-family: Arial, Helvetica, sans-serif;margin: 0;color: #333;word-wrap: break-word;}h1, h2, h3, h4, h5, h6 {line-height: 1.1;}img {max-width: 100% !important;}blockquote {margin: 0;padding: 0 15px;color: #777;border-left: 4px solid #ddd;}hr {background-color: #ddd;border: 0;height: 1px;margin: 15px 0;}code {font-family: Menlo, Consolas, 'Ubuntu Mono', Monaco, 'source-code-pro', monospace;line-height: 1.4;margin: 0;padding: 0.2em 0;font-size: 85%;background-color: rgba(0,0,0,0.04);border-radius: 3px;}pre &gt; code {margin: 0;padding: 0;font-size: 100%;word-break: normal;background: transparent;border: 0;}ol {list-style-type: decimal;}ol ol, ul ol {list-style-type: lower-latin;}ol ol ol, ul ol ol, ul ul ol, ol ul ol {list-style-type: lower-roman;}table {border-spacing: 0;border-collapse: collapse;margin-top: 0;margin-bottom: 16px;}table th {font-weight: bold;}table th, table td {padding: 6px 13px;border: 1px solid #ddd;}table tr {border-top: 1px solid #ccc;}table tr:nth-child(even) {background-color: #f8f8f8;}input[type=&quot;checkbox&quot;] {cursor: default;margin-right: 0.5em;font-size: 13px;}.task-list-item {list-style-type: none;}.task-list-item+.task-list-item {margin-top: 3px;}.task-list-item input {float: left;margin: 0.3em 1em 0.25em -1.6em;vertical-align: middle;}#tag-field {margin: 8px 2px 10px;}#tag-field .tag {display: inline-block;background: #cadff3;border-radius: 4px;padding: 1px 8px;color: black;font-size: 12px;margin-right: 10px;line-height: 1.4;}&lt;/style&gt;
  &lt;!-- ace-static.css --&gt;
  &lt;style&gt;.ace_static_highlight {white-space: pre-wrap;}.ace_static_highlight .ace_gutter {width: 2em;text-align: right;padding: 0 3px 0 0;margin-right: 3px;}.ace_static_highlight.ace_show_gutter &gt; .ace_line {padding-left: 2.6em;}.ace_static_highlight .ace_line {position: relative;}.ace_static_highlight .ace_gutter-cell {-moz-user-select: -moz-none;-khtml-user-select: none;-webkit-user-select: none;user-select: none;top: 0;bottom: 0;left: 0;position: absolute;}.ace_static_highlight .ace_gutter-cell:before {content: counter(ace_line, decimal);counter-increment: ace_line;}.ace_static_highlight {counter-reset: ace_line;}&lt;/style&gt;
  &lt;style&gt;.ace-idle-fingers .ace_gutter {background: #3b3b3b;color: rgb(153,153,153)}.ace-idle-fingers .ace_print-margin {width: 1px;background: #3b3b3b}.ace-idle-fingers {background-color: #323232;color: #FFFFFF}.ace-idle-fingers .ace_cursor {color: #91FF00}.ace-idle-fingers .ace_marker-layer .ace_selection {background: rgba(90, 100, 126, 0.88)}.ace-idle-fingers.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px #323232;}.ace-idle-fingers .ace_marker-layer .ace_step {background: rgb(102, 82, 0)}.ace-idle-fingers .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid #404040}.ace-idle-fingers .ace_marker-layer .ace_active-line {background: #353637}.ace-idle-fingers .ace_gutter-active-line {background-color: #353637}.ace-idle-fingers .ace_marker-layer .ace_selected-word {border: 1px solid rgba(90, 100, 126, 0.88)}.ace-idle-fingers .ace_invisible {color: #404040}.ace-idle-fingers .ace_keyword,.ace-idle-fingers .ace_meta {color: #CC7833}.ace-idle-fingers .ace_constant,.ace-idle-fingers .ace_constant.ace_character,.ace-idle-fingers .ace_constant.ace_character.ace_escape,.ace-idle-fingers .ace_constant.ace_other,.ace-idle-fingers .ace_support.ace_constant {color: #6C99BB}.ace-idle-fingers .ace_invalid {color: #FFFFFF;background-color: #FF0000}.ace-idle-fingers .ace_fold {background-color: #CC7833;border-color: #FFFFFF}.ace-idle-fingers .ace_support.ace_function {color: #B83426}.ace-idle-fingers .ace_variable.ace_parameter {font-style: italic}.ace-idle-fingers .ace_string {color: #A5C261}.ace-idle-fingers .ace_string.ace_regexp {color: #CCCC33}.ace-idle-fingers .ace_comment {font-style: italic;color: #BC9458}.ace-idle-fingers .ace_meta.ace_tag {color: #FFE5BB}.ace-idle-fingers .ace_entity.ace_name {color: #FFC66D}.ace-idle-fingers .ace_collab.ace_user1 {color: #323232;background-color: #FFF980}.ace-idle-fingers .ace_indent-guide {background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWMwMjLyZYiPj/8PAAreAwAI1+g0AAAAAElFTkSuQmCC) right repeat-y}&lt;/style&gt;
  &lt;!-- export.css --&gt;
  &lt;style&gt;
    body{margin:0 auto;max-width:100%;line-height:1.4}
    #nav{margin:5px 0 10px;font-size:15px}
    #titlearea{border-bottom:1px solid #ccc;font-size:17px;padding:10px 0;}
    #contentarea{font-size:15px;margin:16px 0}
    .cell{outline:0;min-height:20px;margin:5px 0;padding:5px 0;}
    .code-cell{font-family:Menlo,Consolas,'Ubuntu Mono',Monaco,'source-code-pro',monospace;font-size:12px;}
    .latex-cell{white-space:pre-wrap;}
  &lt;/style&gt;
  &lt;!-- User CSS --&gt;
  &lt;style&gt; .text-cell {font-size: 14px;}.code-cell {font-size: 12px;}.markdown-cell {font-size: 14px;}.latex-cell {font-size: 14px;}&lt;/style&gt;
  &lt;div id=&quot;contentarea&quot;&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h3&gt;유저 추가&lt;/h3&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;sudo&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;su&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;  &lt;span class=&quot;ace_comment&quot;&gt;#root&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;로&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;그&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;인&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;adduser&lt;/span&gt; &lt;span class=&quot;ace_paren ace_lparen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;username&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;passwd&lt;/span&gt; &lt;span class=&quot;ace_paren ace_lparen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;username&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;ace_comment&quot;&gt;#&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;패&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;스&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;워&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;드&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;입&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;력&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h3&gt;Root 권한 설정&lt;/h3&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;visudo&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;    &lt;span class=&quot;ace_comment&quot;&gt;## Allow root to run any ~~ &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;밑&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;에&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;    &lt;span class=&quot;ace_paren ace_lparen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;username&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;ace_variable&quot;&gt;ALL=&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;ALL&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;NOPASSWD&lt;/span&gt;:&lt;span class=&quot;ace_identifier&quot;&gt;ALL&lt;/span&gt; &lt;span class=&quot;ace_comment&quot;&gt;#&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;유&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;저&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;추&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;가&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;service&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;sshd&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;restart&lt;/span&gt; &lt;span class=&quot;ace_comment&quot;&gt;# &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;서&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;비&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;스&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;재&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;시&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;작&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h3&gt;로그인시 비밀번호 인증 활성화&lt;/h3&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_support ace_function ace_builtin&quot;&gt;cd&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;etc&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;ssh&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;etc&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;ssh&lt;/span&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;vi&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;sshd_config&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;PasswordAutentication&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;yes&lt;/span&gt; &lt;span class=&quot;ace_comment&quot;&gt;#&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;변&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;경&lt;/span&gt; (&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;로&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;그&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;인&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;시&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;비&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;밀&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;번&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;호&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;로&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;인&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;증&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;활&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;성&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;화&lt;/span&gt;)&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;service&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;sshd&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;restart&lt;/span&gt; &lt;span class=&quot;ace_comment&quot;&gt;#&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;서&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;비&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;스&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;재&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;시&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;작&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;
  &lt;script&gt;document.body.onkeyup = function(e) {
if (e.keyCode === 37) window.location.href = '[Semanage] SSH only 설정 (port2222).html';
}&lt;/script&gt;

&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>Programming/Linux</category>
      <category>adduser</category>
      <category>passwd</category>
      <category>PasswordAutentication</category>
      <category>sshd</category>
      <category>sshd_config</category>
      <category>visudo</category>
      <author>Tez.Park</author>
      <guid isPermaLink="true">https://sham.tistory.com/145</guid>
      <comments>https://sham.tistory.com/145#entry145comment</comments>
      <pubDate>Mon, 26 Sep 2016 01:03:38 +0900</pubDate>
    </item>
    <item>
      <title>[SSH] PW없이 로그인</title>
      <link>https://sham.tistory.com/144</link>
      <description>&lt;meta charset=&quot;utf-8&quot;&gt;
  &lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;&gt;
  &lt;!-- common.css --&gt;
  &lt;style&gt;* {-webkit-tap-highlight-color: rgba(0,0,0,0);}html {-webkit-text-size-adjust: none;}body {font-family: Arial, Helvetica, sans-serif;margin: 0;color: #333;word-wrap: break-word;}h1, h2, h3, h4, h5, h6 {line-height: 1.1;}img {max-width: 100% !important;}blockquote {margin: 0;padding: 0 15px;color: #777;border-left: 4px solid #ddd;}hr {background-color: #ddd;border: 0;height: 1px;margin: 15px 0;}code {font-family: Menlo, Consolas, 'Ubuntu Mono', Monaco, 'source-code-pro', monospace;line-height: 1.4;margin: 0;padding: 0.2em 0;font-size: 85%;background-color: rgba(0,0,0,0.04);border-radius: 3px;}pre &gt; code {margin: 0;padding: 0;font-size: 100%;word-break: normal;background: transparent;border: 0;}ol {list-style-type: decimal;}ol ol, ul ol {list-style-type: lower-latin;}ol ol ol, ul ol ol, ul ul ol, ol ul ol {list-style-type: lower-roman;}table {border-spacing: 0;border-collapse: collapse;margin-top: 0;margin-bottom: 16px;}table th {font-weight: bold;}table th, table td {padding: 6px 13px;border: 1px solid #ddd;}table tr {border-top: 1px solid #ccc;}table tr:nth-child(even) {background-color: #f8f8f8;}input[type=&quot;checkbox&quot;] {cursor: default;margin-right: 0.5em;font-size: 13px;}.task-list-item {list-style-type: none;}.task-list-item+.task-list-item {margin-top: 3px;}.task-list-item input {float: left;margin: 0.3em 1em 0.25em -1.6em;vertical-align: middle;}#tag-field {margin: 8px 2px 10px;}#tag-field .tag {display: inline-block;background: #cadff3;border-radius: 4px;padding: 1px 8px;color: black;font-size: 12px;margin-right: 10px;line-height: 1.4;}&lt;/style&gt;
  &lt;!-- ace-static.css --&gt;
  &lt;style&gt;.ace_static_highlight {white-space: pre-wrap;}.ace_static_highlight .ace_gutter {width: 2em;text-align: right;padding: 0 3px 0 0;margin-right: 3px;}.ace_static_highlight.ace_show_gutter &gt; .ace_line {padding-left: 2.6em;}.ace_static_highlight .ace_line {position: relative;}.ace_static_highlight .ace_gutter-cell {-moz-user-select: -moz-none;-khtml-user-select: none;-webkit-user-select: none;user-select: none;top: 0;bottom: 0;left: 0;position: absolute;}.ace_static_highlight .ace_gutter-cell:before {content: counter(ace_line, decimal);counter-increment: ace_line;}.ace_static_highlight {counter-reset: ace_line;}&lt;/style&gt;
  &lt;style&gt;.ace-idle-fingers .ace_gutter {background: #3b3b3b;color: rgb(153,153,153)}.ace-idle-fingers .ace_print-margin {width: 1px;background: #3b3b3b}.ace-idle-fingers {background-color: #323232;color: #FFFFFF}.ace-idle-fingers .ace_cursor {color: #91FF00}.ace-idle-fingers .ace_marker-layer .ace_selection {background: rgba(90, 100, 126, 0.88)}.ace-idle-fingers.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px #323232;}.ace-idle-fingers .ace_marker-layer .ace_step {background: rgb(102, 82, 0)}.ace-idle-fingers .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid #404040}.ace-idle-fingers .ace_marker-layer .ace_active-line {background: #353637}.ace-idle-fingers .ace_gutter-active-line {background-color: #353637}.ace-idle-fingers .ace_marker-layer .ace_selected-word {border: 1px solid rgba(90, 100, 126, 0.88)}.ace-idle-fingers .ace_invisible {color: #404040}.ace-idle-fingers .ace_keyword,.ace-idle-fingers .ace_meta {color: #CC7833}.ace-idle-fingers .ace_constant,.ace-idle-fingers .ace_constant.ace_character,.ace-idle-fingers .ace_constant.ace_character.ace_escape,.ace-idle-fingers .ace_constant.ace_other,.ace-idle-fingers .ace_support.ace_constant {color: #6C99BB}.ace-idle-fingers .ace_invalid {color: #FFFFFF;background-color: #FF0000}.ace-idle-fingers .ace_fold {background-color: #CC7833;border-color: #FFFFFF}.ace-idle-fingers .ace_support.ace_function {color: #B83426}.ace-idle-fingers .ace_variable.ace_parameter {font-style: italic}.ace-idle-fingers .ace_string {color: #A5C261}.ace-idle-fingers .ace_string.ace_regexp {color: #CCCC33}.ace-idle-fingers .ace_comment {font-style: italic;color: #BC9458}.ace-idle-fingers .ace_meta.ace_tag {color: #FFE5BB}.ace-idle-fingers .ace_entity.ace_name {color: #FFC66D}.ace-idle-fingers .ace_collab.ace_user1 {color: #323232;background-color: #FFF980}.ace-idle-fingers .ace_indent-guide {background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWMwMjLyZYiPj/8PAAreAwAI1+g0AAAAAElFTkSuQmCC) right repeat-y}&lt;/style&gt;
  &lt;!-- export.css --&gt;
  &lt;style&gt;
    body{margin:0 auto;max-width:100%;line-height:1.4}
    #nav{margin:5px 0 10px;font-size:15px}
    #titlearea{border-bottom:1px solid #ccc;font-size:17px;padding:10px 0;}
    #contentarea{font-size:15px;margin:16px 0}
    .cell{outline:0;min-height:20px;margin:5px 0;padding:5px 0;}
    .code-cell{font-family:Menlo,Consolas,'Ubuntu Mono',Monaco,'source-code-pro',monospace;font-size:12px;}
    .latex-cell{white-space:pre-wrap;}
  &lt;/style&gt;
  &lt;!-- User CSS --&gt;
  &lt;style&gt; .text-cell {font-size: 14px;}.code-cell {font-size: 12px;}.markdown-cell {font-size: 14px;}.latex-cell {font-size: 14px;}&lt;/style&gt;
  &lt;div id=&quot;contentarea&quot;&gt;&lt;p&gt;&lt;span style=&quot;font-family: Arial, sans-serif; font-size: 14px; orphans: 2; widows: 2; background-color: rgb(255, 255, 255);&quot;&gt;1. ssh key 생성 (없는 경우만)&lt;/span&gt;&lt;/p&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_keyword&quot;&gt;local&lt;/span&gt;@&lt;span class=&quot;ace_identifier&quot;&gt;tez&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;~&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;ssh&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;keygen&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;t&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;rsa&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;span style=&quot;font-family: Arial, sans-serif; font-size: 14px; orphans: 2; widows: 2; background-color: rgb(255, 255, 255);&quot;&gt;2. 서버로 로컬에서 만든 공개키 복사&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_keyword&quot;&gt;local&lt;/span&gt;@&lt;span class=&quot;ace_identifier&quot;&gt;tez&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;~&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;scp&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;~/&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;ssh&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;id_rsa&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;pub&lt;/span&gt; &lt;span class=&quot;ace_paren ace_lparen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;id&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt;@&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;address&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt;:&lt;span class=&quot;ace_identifier&quot;&gt;id_rsa&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;pub&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;span style=&quot;font-family: Arial, sans-serif; font-size: 14px; orphans: 2; widows: 2; background-color: rgb(255, 255, 255);&quot;&gt;3. 서버 접속 (일반접속)&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_keyword&quot;&gt;local&lt;/span&gt;@&lt;span class=&quot;ace_identifier&quot;&gt;tez&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;~&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;ssh&lt;/span&gt; &lt;span class=&quot;ace_paren ace_lparen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;id&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt;@&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;address&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;span style=&quot;font-family: Arial, sans-serif; font-size: 14px; orphans: 2; widows: 2; background-color: rgb(255, 255, 255);&quot;&gt;4. 로그인후 개인폴더에&amp;nbsp;&lt;/span&gt;&lt;strong style=&quot;font-family: Arial, sans-serif; font-size: 14px; orphans: 2; widows: 2;&quot;&gt;.ssh&lt;/strong&gt;&lt;span style=&quot;font-family: Arial, sans-serif; font-size: 14px; orphans: 2; widows: 2; background-color: rgb(255, 255, 255);&quot;&gt;&amp;nbsp;폴더 생성 (있으면 pass)&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;server&lt;/span&gt;@&lt;span class=&quot;ace_identifier&quot;&gt;tez&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;~&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;mkdir&lt;/span&gt; .&lt;span class=&quot;ace_identifier&quot;&gt;ssh&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;span style=&quot;font-family: Arial, sans-serif; font-size: 14px; orphans: 2; widows: 2; background-color: rgb(255, 255, 255);&quot;&gt;5. .ssh폴더 권한 변경&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;server&lt;/span&gt;@&lt;span class=&quot;ace_identifier&quot;&gt;tez&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;~&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;chmod&lt;/span&gt; &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;700&lt;/span&gt; .&lt;span class=&quot;ace_identifier&quot;&gt;ssh&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;span style=&quot;font-family: Arial, sans-serif; font-size: 14px; orphans: 2; widows: 2; background-color: rgb(255, 255, 255);&quot;&gt;6. 공개키 인증키 목록에 추가&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;server&lt;/span&gt;@&lt;span class=&quot;ace_identifier&quot;&gt;tez&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;~&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;cat&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;id_rsa&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;pub&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;gt;&amp;gt;&lt;/span&gt; .&lt;span class=&quot;ace_identifier&quot;&gt;ssh&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;authorized_keys&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;span style=&quot;font-family: Arial, sans-serif; font-size: 14px; orphans: 2; widows: 2; background-color: rgb(255, 255, 255);&quot;&gt;7. 필요없는 공개키 제거&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;server&lt;/span&gt;@&lt;span class=&quot;ace_identifier&quot;&gt;tez&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;~&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;rm&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;f&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;id_rsa&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;pub&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;span style=&quot;font-family: Arial, sans-serif; font-size: 14px; orphans: 2; widows: 2; background-color: rgb(255, 255, 255);&quot;&gt;8. 인증키 목록 권한 수정&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;server&lt;/span&gt;@&lt;span class=&quot;ace_identifier&quot;&gt;tez&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;~&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;chmod&lt;/span&gt; &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;644&lt;/span&gt; .&lt;span class=&quot;ace_identifier&quot;&gt;ssh&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;authorized_keys&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;span style=&quot;font-family: Arial, sans-serif; font-size: 14px; orphans: 2; widows: 2; background-color: rgb(255, 255, 255);&quot;&gt;9.&amp;nbsp;서버 접속&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_keyword&quot;&gt;local&lt;/span&gt;@&lt;span class=&quot;ace_identifier&quot;&gt;tez&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;~&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;ssh&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;i&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;~/&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;ssh&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;id_rsa&lt;/span&gt; &lt;span class=&quot;ace_paren ace_lparen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;id&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt;@&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;address&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;
  &lt;script&gt;document.body.onkeyup = function(e) {
if (e.keyCode === 39) window.location.href = '[Service] Python Service로 구동하기.html';
}&lt;/script&gt;

&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>Programming/Linux</category>
      <category>Cat</category>
      <category>chmod</category>
      <category>id_rsa</category>
      <category>scp</category>
      <category>ssh</category>
      <category>ssh-keygen</category>
      <author>Tez.Park</author>
      <guid isPermaLink="true">https://sham.tistory.com/144</guid>
      <comments>https://sham.tistory.com/144#entry144comment</comments>
      <pubDate>Mon, 26 Sep 2016 01:01:57 +0900</pubDate>
    </item>
    <item>
      <title>[Service] Service list</title>
      <link>https://sham.tistory.com/143</link>
      <description>&lt;meta charset=&quot;utf-8&quot;&gt;
  &lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;&gt;
  &lt;!-- common.css --&gt;
  &lt;style&gt;* {-webkit-tap-highlight-color: rgba(0,0,0,0);}html {-webkit-text-size-adjust: none;}body {font-family: Arial, Helvetica, sans-serif;margin: 0;color: #333;word-wrap: break-word;}h1, h2, h3, h4, h5, h6 {line-height: 1.1;}img {max-width: 100% !important;}blockquote {margin: 0;padding: 0 15px;color: #777;border-left: 4px solid #ddd;}hr {background-color: #ddd;border: 0;height: 1px;margin: 15px 0;}code {font-family: Menlo, Consolas, 'Ubuntu Mono', Monaco, 'source-code-pro', monospace;line-height: 1.4;margin: 0;padding: 0.2em 0;font-size: 85%;background-color: rgba(0,0,0,0.04);border-radius: 3px;}pre &gt; code {margin: 0;padding: 0;font-size: 100%;word-break: normal;background: transparent;border: 0;}ol {list-style-type: decimal;}ol ol, ul ol {list-style-type: lower-latin;}ol ol ol, ul ol ol, ul ul ol, ol ul ol {list-style-type: lower-roman;}table {border-spacing: 0;border-collapse: collapse;margin-top: 0;margin-bottom: 16px;}table th {font-weight: bold;}table th, table td {padding: 6px 13px;border: 1px solid #ddd;}table tr {border-top: 1px solid #ccc;}table tr:nth-child(even) {background-color: #f8f8f8;}input[type=&quot;checkbox&quot;] {cursor: default;margin-right: 0.5em;font-size: 13px;}.task-list-item {list-style-type: none;}.task-list-item+.task-list-item {margin-top: 3px;}.task-list-item input {float: left;margin: 0.3em 1em 0.25em -1.6em;vertical-align: middle;}#tag-field {margin: 8px 2px 10px;}#tag-field .tag {display: inline-block;background: #cadff3;border-radius: 4px;padding: 1px 8px;color: black;font-size: 12px;margin-right: 10px;line-height: 1.4;}&lt;/style&gt;
  &lt;!-- ace-static.css --&gt;
  &lt;style&gt;.ace_static_highlight {white-space: pre-wrap;}.ace_static_highlight .ace_gutter {width: 2em;text-align: right;padding: 0 3px 0 0;margin-right: 3px;}.ace_static_highlight.ace_show_gutter &gt; .ace_line {padding-left: 2.6em;}.ace_static_highlight .ace_line {position: relative;}.ace_static_highlight .ace_gutter-cell {-moz-user-select: -moz-none;-khtml-user-select: none;-webkit-user-select: none;user-select: none;top: 0;bottom: 0;left: 0;position: absolute;}.ace_static_highlight .ace_gutter-cell:before {content: counter(ace_line, decimal);counter-increment: ace_line;}.ace_static_highlight {counter-reset: ace_line;}&lt;/style&gt;
  &lt;style&gt;.ace-idle-fingers .ace_gutter {background: #3b3b3b;color: rgb(153,153,153)}.ace-idle-fingers .ace_print-margin {width: 1px;background: #3b3b3b}.ace-idle-fingers {background-color: #323232;color: #FFFFFF}.ace-idle-fingers .ace_cursor {color: #91FF00}.ace-idle-fingers .ace_marker-layer .ace_selection {background: rgba(90, 100, 126, 0.88)}.ace-idle-fingers.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px #323232;}.ace-idle-fingers .ace_marker-layer .ace_step {background: rgb(102, 82, 0)}.ace-idle-fingers .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid #404040}.ace-idle-fingers .ace_marker-layer .ace_active-line {background: #353637}.ace-idle-fingers .ace_gutter-active-line {background-color: #353637}.ace-idle-fingers .ace_marker-layer .ace_selected-word {border: 1px solid rgba(90, 100, 126, 0.88)}.ace-idle-fingers .ace_invisible {color: #404040}.ace-idle-fingers .ace_keyword,.ace-idle-fingers .ace_meta {color: #CC7833}.ace-idle-fingers .ace_constant,.ace-idle-fingers .ace_constant.ace_character,.ace-idle-fingers .ace_constant.ace_character.ace_escape,.ace-idle-fingers .ace_constant.ace_other,.ace-idle-fingers .ace_support.ace_constant {color: #6C99BB}.ace-idle-fingers .ace_invalid {color: #FFFFFF;background-color: #FF0000}.ace-idle-fingers .ace_fold {background-color: #CC7833;border-color: #FFFFFF}.ace-idle-fingers .ace_support.ace_function {color: #B83426}.ace-idle-fingers .ace_variable.ace_parameter {font-style: italic}.ace-idle-fingers .ace_string {color: #A5C261}.ace-idle-fingers .ace_string.ace_regexp {color: #CCCC33}.ace-idle-fingers .ace_comment {font-style: italic;color: #BC9458}.ace-idle-fingers .ace_meta.ace_tag {color: #FFE5BB}.ace-idle-fingers .ace_entity.ace_name {color: #FFC66D}.ace-idle-fingers .ace_collab.ace_user1 {color: #323232;background-color: #FFF980}.ace-idle-fingers .ace_indent-guide {background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWMwMjLyZYiPj/8PAAreAwAI1+g0AAAAAElFTkSuQmCC) right repeat-y}&lt;/style&gt;
  &lt;!-- export.css --&gt;
  &lt;style&gt;
    body{margin:0 auto;max-width:100%;line-height:1.4}
    #nav{margin:5px 0 10px;font-size:15px}
    #titlearea{border-bottom:1px solid #ccc;font-size:17px;padding:10px 0;}
    #contentarea{font-size:15px;margin:16px 0}
    .cell{outline:0;min-height:20px;margin:5px 0;padding:5px 0;}
    .code-cell{font-family:Menlo,Consolas,'Ubuntu Mono',Monaco,'source-code-pro',monospace;font-size:12px;}
    .latex-cell{white-space:pre-wrap;}
  &lt;/style&gt;
  &lt;!-- User CSS --&gt;
  &lt;style&gt; .text-cell {font-size: 14px;}.code-cell {font-size: 12px;}.markdown-cell {font-size: 14px;}.latex-cell {font-size: 14px;}&lt;/style&gt;
  &lt;div id=&quot;contentarea&quot;&gt;&lt;h3&gt;리눅스에서 실행중인 서비스 목록 확인&lt;/h3&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;service&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;status&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;all&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;root&lt;/span&gt;@&lt;span class=&quot;ace_identifier&quot;&gt;tez&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;~&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt;# &lt;span class=&quot;ace_identifier&quot;&gt;service&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;status&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;all&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;acpid&lt;/span&gt; &lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;pid&lt;/span&gt;  &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;961&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;를&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;실&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;행&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;하&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;고&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;있&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;습&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;니&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;다&lt;/span&gt;..
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;asterisk&lt;/span&gt; &lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;pid&lt;/span&gt; &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;1068&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;를&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;실&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;행&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;하&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;고&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;있&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;습&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;니&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;다&lt;/span&gt;..
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;atd&lt;/span&gt; &lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;pid&lt;/span&gt;  &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;1116&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;를&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;실&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;행&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;하&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;고&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;있&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;습&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;니&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;다&lt;/span&gt;..
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;auditd&lt;/span&gt; &lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;pid&lt;/span&gt;  &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;878&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;를&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;실&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;행&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;하&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;고&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;있&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;습&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;니&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;다&lt;/span&gt;..
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;crond&lt;/span&gt; &lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;pid&lt;/span&gt;  &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;1083&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;를&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;실&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;행&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;하&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;고&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;있&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;습&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;니&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;다&lt;/span&gt;..
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;...
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;
  &lt;script&gt;document.body.onkeyup = function(e) {
if (e.keyCode === 39) window.location.href = '[Hostname] 호스트네임 변경.html';
if (e.keyCode === 37) window.location.href = '[Port] 목록.html';
}&lt;/script&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>Programming/Linux</category>
      <category>Service</category>
      <author>Tez.Park</author>
      <guid isPermaLink="true">https://sham.tistory.com/143</guid>
      <comments>https://sham.tistory.com/143#entry143comment</comments>
      <pubDate>Mon, 26 Sep 2016 00:59:10 +0900</pubDate>
    </item>
    <item>
      <title>[Semanage] ssh 특정 포트 접근 제어</title>
      <link>https://sham.tistory.com/142</link>
      <description>&lt;meta charset=&quot;utf-8&quot;&gt;
  &lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;&gt;
  &lt;!-- common.css --&gt;
  &lt;style&gt;* {-webkit-tap-highlight-color: rgba(0,0,0,0);}html {-webkit-text-size-adjust: none;}body {font-family: Arial, Helvetica, sans-serif;margin: 0;color: #333;word-wrap: break-word;}h1, h2, h3, h4, h5, h6 {line-height: 1.1;}img {max-width: 100% !important;}blockquote {margin: 0;padding: 0 15px;color: #777;border-left: 4px solid #ddd;}hr {background-color: #ddd;border: 0;height: 1px;margin: 15px 0;}code {font-family: Menlo, Consolas, 'Ubuntu Mono', Monaco, 'source-code-pro', monospace;line-height: 1.4;margin: 0;padding: 0.2em 0;font-size: 85%;background-color: rgba(0,0,0,0.04);border-radius: 3px;}pre &gt; code {margin: 0;padding: 0;font-size: 100%;word-break: normal;background: transparent;border: 0;}ol {list-style-type: decimal;}ol ol, ul ol {list-style-type: lower-latin;}ol ol ol, ul ol ol, ul ul ol, ol ul ol {list-style-type: lower-roman;}table {border-spacing: 0;border-collapse: collapse;margin-top: 0;margin-bottom: 16px;}table th {font-weight: bold;}table th, table td {padding: 6px 13px;border: 1px solid #ddd;}table tr {border-top: 1px solid #ccc;}table tr:nth-child(even) {background-color: #f8f8f8;}input[type=&quot;checkbox&quot;] {cursor: default;margin-right: 0.5em;font-size: 13px;}.task-list-item {list-style-type: none;}.task-list-item+.task-list-item {margin-top: 3px;}.task-list-item input {float: left;margin: 0.3em 1em 0.25em -1.6em;vertical-align: middle;}#tag-field {margin: 8px 2px 10px;}#tag-field .tag {display: inline-block;background: #cadff3;border-radius: 4px;padding: 1px 8px;color: black;font-size: 12px;margin-right: 10px;line-height: 1.4;}&lt;/style&gt;
  &lt;!-- ace-static.css --&gt;
  &lt;style&gt;.ace_static_highlight {white-space: pre-wrap;}.ace_static_highlight .ace_gutter {width: 2em;text-align: right;padding: 0 3px 0 0;margin-right: 3px;}.ace_static_highlight.ace_show_gutter &gt; .ace_line {padding-left: 2.6em;}.ace_static_highlight .ace_line {position: relative;}.ace_static_highlight .ace_gutter-cell {-moz-user-select: -moz-none;-khtml-user-select: none;-webkit-user-select: none;user-select: none;top: 0;bottom: 0;left: 0;position: absolute;}.ace_static_highlight .ace_gutter-cell:before {content: counter(ace_line, decimal);counter-increment: ace_line;}.ace_static_highlight {counter-reset: ace_line;}&lt;/style&gt;
  &lt;style&gt;.ace-idle-fingers .ace_gutter {background: #3b3b3b;color: rgb(153,153,153)}.ace-idle-fingers .ace_print-margin {width: 1px;background: #3b3b3b}.ace-idle-fingers {background-color: #323232;color: #FFFFFF}.ace-idle-fingers .ace_cursor {color: #91FF00}.ace-idle-fingers .ace_marker-layer .ace_selection {background: rgba(90, 100, 126, 0.88)}.ace-idle-fingers.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px #323232;}.ace-idle-fingers .ace_marker-layer .ace_step {background: rgb(102, 82, 0)}.ace-idle-fingers .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid #404040}.ace-idle-fingers .ace_marker-layer .ace_active-line {background: #353637}.ace-idle-fingers .ace_gutter-active-line {background-color: #353637}.ace-idle-fingers .ace_marker-layer .ace_selected-word {border: 1px solid rgba(90, 100, 126, 0.88)}.ace-idle-fingers .ace_invisible {color: #404040}.ace-idle-fingers .ace_keyword,.ace-idle-fingers .ace_meta {color: #CC7833}.ace-idle-fingers .ace_constant,.ace-idle-fingers .ace_constant.ace_character,.ace-idle-fingers .ace_constant.ace_character.ace_escape,.ace-idle-fingers .ace_constant.ace_other,.ace-idle-fingers .ace_support.ace_constant {color: #6C99BB}.ace-idle-fingers .ace_invalid {color: #FFFFFF;background-color: #FF0000}.ace-idle-fingers .ace_fold {background-color: #CC7833;border-color: #FFFFFF}.ace-idle-fingers .ace_support.ace_function {color: #B83426}.ace-idle-fingers .ace_variable.ace_parameter {font-style: italic}.ace-idle-fingers .ace_string {color: #A5C261}.ace-idle-fingers .ace_string.ace_regexp {color: #CCCC33}.ace-idle-fingers .ace_comment {font-style: italic;color: #BC9458}.ace-idle-fingers .ace_meta.ace_tag {color: #FFE5BB}.ace-idle-fingers .ace_entity.ace_name {color: #FFC66D}.ace-idle-fingers .ace_collab.ace_user1 {color: #323232;background-color: #FFF980}.ace-idle-fingers .ace_indent-guide {background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWMwMjLyZYiPj/8PAAreAwAI1+g0AAAAAElFTkSuQmCC) right repeat-y}&lt;/style&gt;
  &lt;!-- export.css --&gt;
  &lt;style&gt;
    body{margin:0 auto;max-width:100%;line-height:1.4}
    #nav{margin:5px 0 10px;font-size:15px}
    #titlearea{border-bottom:1px solid #ccc;font-size:17px;padding:10px 0;}
    #contentarea{font-size:15px;margin:16px 0}
    .cell{outline:0;min-height:20px;margin:5px 0;padding:5px 0;}
    .code-cell{font-family:Menlo,Consolas,'Ubuntu Mono',Monaco,'source-code-pro',monospace;font-size:12px;}
    .latex-cell{white-space:pre-wrap;}
  &lt;/style&gt;
  &lt;!-- User CSS --&gt;
  &lt;style&gt; .text-cell {font-size: 14px;}.code-cell {font-size: 12px;}.markdown-cell {font-size: 14px;}.latex-cell {font-size: 14px;}&lt;/style&gt;


  &lt;div id=&quot;contentarea&quot;&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h3&gt;semanage는 SELinux 의 보안 정책을 조회하고 추가/변경/삭제 할 수 있는 명령&lt;br /&gt;&lt;/h3&gt;&lt;p&gt;SSH custom port 설정 (2020로 가정)&lt;br /&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_support ace_function ace_builtin&quot;&gt;cd&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;etc&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;ssh&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;etc&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;ssh&lt;/span&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;vi&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;sshd_config&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;    &lt;span class=&quot;ace_comment&quot;&gt;#Port 22 =&amp;gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;부&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;분&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;주&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;석&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;해&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;제&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;후&lt;/span&gt; custom port &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;번&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;호&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;로&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;변&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;경&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;    &lt;span class=&quot;ace_comment&quot;&gt;#ListenAddress 0.0.0.0 =&amp;gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;부&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;분&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;주&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;석&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;해&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;제&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;    
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;semanage&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;port&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;a&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;t&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;ssh_port_t&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;p&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;tcp&lt;/span&gt; &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;2020&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;semanage&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;port&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;l&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;|&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;grep&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;ssh&lt;/span&gt; &lt;span class=&quot;ace_comment&quot;&gt;# &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;설&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;정&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;확&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;인&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;/div&gt;&lt;/div&gt;
  &lt;script&gt;document.body.onkeyup = function(e) {
if (e.keyCode === 39) window.location.href = '[User] User 추가 Root권한 비밀번호 인증 활성화.html';
if (e.keyCode === 37) window.location.href = '[Java] Java 설치 (JDK JRE) CentOS RHEL.html';
}&lt;/script&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>Programming/Linux</category>
      <category>port</category>
      <category>semanage</category>
      <category>ssh</category>
      <author>Tez.Park</author>
      <guid isPermaLink="true">https://sham.tistory.com/142</guid>
      <comments>https://sham.tistory.com/142#entry142comment</comments>
      <pubDate>Mon, 26 Sep 2016 00:58:06 +0900</pubDate>
    </item>
    <item>
      <title>[Process] 특정 프로세스가 사용하는 개수 확인</title>
      <link>https://sham.tistory.com/141</link>
      <description>&lt;meta charset=&quot;utf-8&quot;&gt;
  &lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;&gt;
  &lt;!-- common.css --&gt;
  &lt;style&gt;* {-webkit-tap-highlight-color: rgba(0,0,0,0);}html {-webkit-text-size-adjust: none;}body {font-family: Arial, Helvetica, sans-serif;margin: 0;color: #333;word-wrap: break-word;}h1, h2, h3, h4, h5, h6 {line-height: 1.1;}img {max-width: 100% !important;}blockquote {margin: 0;padding: 0 15px;color: #777;border-left: 4px solid #ddd;}hr {background-color: #ddd;border: 0;height: 1px;margin: 15px 0;}code {font-family: Menlo, Consolas, 'Ubuntu Mono', Monaco, 'source-code-pro', monospace;line-height: 1.4;margin: 0;padding: 0.2em 0;font-size: 85%;background-color: rgba(0,0,0,0.04);border-radius: 3px;}pre &gt; code {margin: 0;padding: 0;font-size: 100%;word-break: normal;background: transparent;border: 0;}ol {list-style-type: decimal;}ol ol, ul ol {list-style-type: lower-latin;}ol ol ol, ul ol ol, ul ul ol, ol ul ol {list-style-type: lower-roman;}table {border-spacing: 0;border-collapse: collapse;margin-top: 0;margin-bottom: 16px;}table th {font-weight: bold;}table th, table td {padding: 6px 13px;border: 1px solid #ddd;}table tr {border-top: 1px solid #ccc;}table tr:nth-child(even) {background-color: #f8f8f8;}input[type=&quot;checkbox&quot;] {cursor: default;margin-right: 0.5em;font-size: 13px;}.task-list-item {list-style-type: none;}.task-list-item+.task-list-item {margin-top: 3px;}.task-list-item input {float: left;margin: 0.3em 1em 0.25em -1.6em;vertical-align: middle;}#tag-field {margin: 8px 2px 10px;}#tag-field .tag {display: inline-block;background: #cadff3;border-radius: 4px;padding: 1px 8px;color: black;font-size: 12px;margin-right: 10px;line-height: 1.4;}&lt;/style&gt;
  &lt;!-- ace-static.css --&gt;
  &lt;style&gt;.ace_static_highlight {white-space: pre-wrap;}.ace_static_highlight .ace_gutter {width: 2em;text-align: right;padding: 0 3px 0 0;margin-right: 3px;}.ace_static_highlight.ace_show_gutter &gt; .ace_line {padding-left: 2.6em;}.ace_static_highlight .ace_line {position: relative;}.ace_static_highlight .ace_gutter-cell {-moz-user-select: -moz-none;-khtml-user-select: none;-webkit-user-select: none;user-select: none;top: 0;bottom: 0;left: 0;position: absolute;}.ace_static_highlight .ace_gutter-cell:before {content: counter(ace_line, decimal);counter-increment: ace_line;}.ace_static_highlight {counter-reset: ace_line;}&lt;/style&gt;
  &lt;style&gt;.ace-idle-fingers .ace_gutter {background: #3b3b3b;color: rgb(153,153,153)}.ace-idle-fingers .ace_print-margin {width: 1px;background: #3b3b3b}.ace-idle-fingers {background-color: #323232;color: #FFFFFF}.ace-idle-fingers .ace_cursor {color: #91FF00}.ace-idle-fingers .ace_marker-layer .ace_selection {background: rgba(90, 100, 126, 0.88)}.ace-idle-fingers.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px #323232;}.ace-idle-fingers .ace_marker-layer .ace_step {background: rgb(102, 82, 0)}.ace-idle-fingers .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid #404040}.ace-idle-fingers .ace_marker-layer .ace_active-line {background: #353637}.ace-idle-fingers .ace_gutter-active-line {background-color: #353637}.ace-idle-fingers .ace_marker-layer .ace_selected-word {border: 1px solid rgba(90, 100, 126, 0.88)}.ace-idle-fingers .ace_invisible {color: #404040}.ace-idle-fingers .ace_keyword,.ace-idle-fingers .ace_meta {color: #CC7833}.ace-idle-fingers .ace_constant,.ace-idle-fingers .ace_constant.ace_character,.ace-idle-fingers .ace_constant.ace_character.ace_escape,.ace-idle-fingers .ace_constant.ace_other,.ace-idle-fingers .ace_support.ace_constant {color: #6C99BB}.ace-idle-fingers .ace_invalid {color: #FFFFFF;background-color: #FF0000}.ace-idle-fingers .ace_fold {background-color: #CC7833;border-color: #FFFFFF}.ace-idle-fingers .ace_support.ace_function {color: #B83426}.ace-idle-fingers .ace_variable.ace_parameter {font-style: italic}.ace-idle-fingers .ace_string {color: #A5C261}.ace-idle-fingers .ace_string.ace_regexp {color: #CCCC33}.ace-idle-fingers .ace_comment {font-style: italic;color: #BC9458}.ace-idle-fingers .ace_meta.ace_tag {color: #FFE5BB}.ace-idle-fingers .ace_entity.ace_name {color: #FFC66D}.ace-idle-fingers .ace_collab.ace_user1 {color: #323232;background-color: #FFF980}.ace-idle-fingers .ace_indent-guide {background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWMwMjLyZYiPj/8PAAreAwAI1+g0AAAAAElFTkSuQmCC) right repeat-y}&lt;/style&gt;
  &lt;!-- export.css --&gt;
  &lt;style&gt;
    body{margin:0 auto;max-width:100%;line-height:1.4}
    #nav{margin:5px 0 10px;font-size:15px}
    #titlearea{border-bottom:1px solid #ccc;font-size:17px;padding:10px 0;}
    #contentarea{font-size:15px;margin:16px 0}
    .cell{outline:0;min-height:20px;margin:5px 0;padding:5px 0;}
    .code-cell{font-family:Menlo,Consolas,'Ubuntu Mono',Monaco,'source-code-pro',monospace;font-size:12px;}
    .latex-cell{white-space:pre-wrap;}
  &lt;/style&gt;
  &lt;!-- User CSS --&gt;
  &lt;style&gt; .text-cell {font-size: 14px;}.code-cell {font-size: 12px;}.markdown-cell {font-size: 14px;}.latex-cell {font-size: 14px;}&lt;/style&gt;


  &lt;div id=&quot;contentarea&quot;&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;ps&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;ef&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;|&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;grep&lt;/span&gt; &lt;span class=&quot;ace_paren ace_lparen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;service&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;name&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;root&lt;/span&gt;       &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;789&lt;/span&gt;     &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;1&lt;/span&gt;  &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;0&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;Jun16&lt;/span&gt; ?        &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;00&lt;/span&gt;:&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;05&lt;/span&gt;:&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;46&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;usr&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;bin&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;python&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;Es&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;usr&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;sbin&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;tuned&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;l&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;P&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;root&lt;/span&gt;      &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;5078&lt;/span&gt; &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;10056&lt;/span&gt;  &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;0&lt;/span&gt; &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;22&lt;/span&gt;:&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;24&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;pts&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;0&lt;/span&gt;    &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;00&lt;/span&gt;:&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;00&lt;/span&gt;:&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;00&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;grep&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;ace_variable&quot;&gt;color=&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;auto&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;python&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;root&lt;/span&gt;      &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;6629&lt;/span&gt;  &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;6628&lt;/span&gt;  &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;0&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;Jun21&lt;/span&gt; ?        &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;01&lt;/span&gt;:&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;01&lt;/span&gt;:&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;29&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;python3&lt;/span&gt;&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;.4&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;root&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;xxx&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;server&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;XxxServer&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;py&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;production&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;root&lt;/span&gt;     &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;27645&lt;/span&gt;     &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;1&lt;/span&gt;  &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;0&lt;/span&gt; &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;18&lt;/span&gt;:&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;43&lt;/span&gt; ?        &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;00&lt;/span&gt;:&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;00&lt;/span&gt;:&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;00&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;bin&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;sh&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;root&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;font color=&quot;#ffffff&quot;&gt;xxx&lt;/font&gt;&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;app&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;server&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;python&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;start&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;sh&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;production&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;root&lt;/span&gt;     &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;27647&lt;/span&gt; &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;27645&lt;/span&gt;  &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;1&lt;/span&gt; &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;18&lt;/span&gt;:&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;43&lt;/span&gt; ?        &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;00&lt;/span&gt;:&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;04&lt;/span&gt;:&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;09&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;python3&lt;/span&gt;&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;.4&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;root&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;font color=&quot;#ffffff&quot;&gt;xxx&lt;/font&gt;&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;app&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;server&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;python&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;XxxAppServer&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;py&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;production&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;여기서 나온 process 번호를 proc 폴더에서 검색 후 fd 폴더에서 개수 확인&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_support ace_function ace_builtin&quot;&gt;cd&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;proc&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;process&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;no&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;fd&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;ls&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;l&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;|&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;wc&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;l&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;91&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;/div&gt;&lt;/div&gt;
  &lt;script&gt;document.body.onkeyup = function(e) {
if (e.keyCode === 39) window.location.href = '[Date] 명령어.html';
if (e.keyCode === 37) window.location.href = '[Hostname] 호스트네임 변경.html';
}&lt;/script&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>Programming/Linux</category>
      <category>grep</category>
      <category>process</category>
      <category>ps</category>
      <author>Tez.Park</author>
      <guid isPermaLink="true">https://sham.tistory.com/141</guid>
      <comments>https://sham.tistory.com/141#entry141comment</comments>
      <pubDate>Mon, 26 Sep 2016 00:53:43 +0900</pubDate>
    </item>
    <item>
      <title>[Port] Check port list in linux</title>
      <link>https://sham.tistory.com/140</link>
      <description>&lt;meta charset=&quot;utf-8&quot;&gt;
  &lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;&gt;
  &lt;!-- common.css --&gt;
  &lt;style&gt;* {-webkit-tap-highlight-color: rgba(0,0,0,0);}html {-webkit-text-size-adjust: none;}body {font-family: Arial, Helvetica, sans-serif;margin: 0;color: #333;word-wrap: break-word;}h1, h2, h3, h4, h5, h6 {line-height: 1.1;}img {max-width: 100% !important;}blockquote {margin: 0;padding: 0 15px;color: #777;border-left: 4px solid #ddd;}hr {background-color: #ddd;border: 0;height: 1px;margin: 15px 0;}code {font-family: Menlo, Consolas, 'Ubuntu Mono', Monaco, 'source-code-pro', monospace;line-height: 1.4;margin: 0;padding: 0.2em 0;font-size: 85%;background-color: rgba(0,0,0,0.04);border-radius: 3px;}pre &gt; code {margin: 0;padding: 0;font-size: 100%;word-break: normal;background: transparent;border: 0;}ol {list-style-type: decimal;}ol ol, ul ol {list-style-type: lower-latin;}ol ol ol, ul ol ol, ul ul ol, ol ul ol {list-style-type: lower-roman;}table {border-spacing: 0;border-collapse: collapse;margin-top: 0;margin-bottom: 16px;}table th {font-weight: bold;}table th, table td {padding: 6px 13px;border: 1px solid #ddd;}table tr {border-top: 1px solid #ccc;}table tr:nth-child(even) {background-color: #f8f8f8;}input[type=&quot;checkbox&quot;] {cursor: default;margin-right: 0.5em;font-size: 13px;}.task-list-item {list-style-type: none;}.task-list-item+.task-list-item {margin-top: 3px;}.task-list-item input {float: left;margin: 0.3em 1em 0.25em -1.6em;vertical-align: middle;}#tag-field {margin: 8px 2px 10px;}#tag-field .tag {display: inline-block;background: #cadff3;border-radius: 4px;padding: 1px 8px;color: black;font-size: 12px;margin-right: 10px;line-height: 1.4;}&lt;/style&gt;
  &lt;!-- ace-static.css --&gt;
  &lt;style&gt;.ace_static_highlight {white-space: pre-wrap;}.ace_static_highlight .ace_gutter {width: 2em;text-align: right;padding: 0 3px 0 0;margin-right: 3px;}.ace_static_highlight.ace_show_gutter &gt; .ace_line {padding-left: 2.6em;}.ace_static_highlight .ace_line {position: relative;}.ace_static_highlight .ace_gutter-cell {-moz-user-select: -moz-none;-khtml-user-select: none;-webkit-user-select: none;user-select: none;top: 0;bottom: 0;left: 0;position: absolute;}.ace_static_highlight .ace_gutter-cell:before {content: counter(ace_line, decimal);counter-increment: ace_line;}.ace_static_highlight {counter-reset: ace_line;}&lt;/style&gt;
  &lt;style&gt;.ace-idle-fingers .ace_gutter {background: #3b3b3b;color: rgb(153,153,153)}.ace-idle-fingers .ace_print-margin {width: 1px;background: #3b3b3b}.ace-idle-fingers {background-color: #323232;color: #FFFFFF}.ace-idle-fingers .ace_cursor {color: #91FF00}.ace-idle-fingers .ace_marker-layer .ace_selection {background: rgba(90, 100, 126, 0.88)}.ace-idle-fingers.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px #323232;}.ace-idle-fingers .ace_marker-layer .ace_step {background: rgb(102, 82, 0)}.ace-idle-fingers .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid #404040}.ace-idle-fingers .ace_marker-layer .ace_active-line {background: #353637}.ace-idle-fingers .ace_gutter-active-line {background-color: #353637}.ace-idle-fingers .ace_marker-layer .ace_selected-word {border: 1px solid rgba(90, 100, 126, 0.88)}.ace-idle-fingers .ace_invisible {color: #404040}.ace-idle-fingers .ace_keyword,.ace-idle-fingers .ace_meta {color: #CC7833}.ace-idle-fingers .ace_constant,.ace-idle-fingers .ace_constant.ace_character,.ace-idle-fingers .ace_constant.ace_character.ace_escape,.ace-idle-fingers .ace_constant.ace_other,.ace-idle-fingers .ace_support.ace_constant {color: #6C99BB}.ace-idle-fingers .ace_invalid {color: #FFFFFF;background-color: #FF0000}.ace-idle-fingers .ace_fold {background-color: #CC7833;border-color: #FFFFFF}.ace-idle-fingers .ace_support.ace_function {color: #B83426}.ace-idle-fingers .ace_variable.ace_parameter {font-style: italic}.ace-idle-fingers .ace_string {color: #A5C261}.ace-idle-fingers .ace_string.ace_regexp {color: #CCCC33}.ace-idle-fingers .ace_comment {font-style: italic;color: #BC9458}.ace-idle-fingers .ace_meta.ace_tag {color: #FFE5BB}.ace-idle-fingers .ace_entity.ace_name {color: #FFC66D}.ace-idle-fingers .ace_collab.ace_user1 {color: #323232;background-color: #FFF980}.ace-idle-fingers .ace_indent-guide {background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWMwMjLyZYiPj/8PAAreAwAI1+g0AAAAAElFTkSuQmCC) right repeat-y}&lt;/style&gt;
  &lt;!-- export.css --&gt;
  &lt;style&gt;
    body{margin:0 auto;max-width:100%;line-height:1.4}
    #nav{margin:5px 0 10px;font-size:15px}
    #titlearea{border-bottom:1px solid #ccc;font-size:17px;padding:10px 0;}
    #contentarea{font-size:15px;margin:16px 0}
    .cell{outline:0;min-height:20px;margin:5px 0;padding:5px 0;}
    .code-cell{font-family:Menlo,Consolas,'Ubuntu Mono',Monaco,'source-code-pro',monospace;font-size:12px;}
    .latex-cell{white-space:pre-wrap;}
  &lt;/style&gt;
  &lt;!-- User CSS --&gt;
  &lt;style&gt; .text-cell {font-size: 14px;}.code-cell {font-size: 12px;}.markdown-cell {font-size: 14px;}.latex-cell {font-size: 14px;}&lt;/style&gt;


  &lt;div id=&quot;contentarea&quot;&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h3&gt;리눅스에서 사용중인 포트 목록 확인&lt;/h3&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;netstat&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;atlpvn&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;root&lt;/span&gt;@&lt;span class=&quot;ace_identifier&quot;&gt;tez&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;~&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt;# &lt;span class=&quot;ace_identifier&quot;&gt;netstat&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;atlpvn&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;Active&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;Internet&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;connections&lt;/span&gt; &lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;servers&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;and&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;established&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;Proto&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;Recv&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;Q&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;Send&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;Q&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;Local&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;Address&lt;/span&gt;               &lt;span class=&quot;ace_identifier&quot;&gt;Foreign&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;Address&lt;/span&gt;             &lt;span class=&quot;ace_identifier&quot;&gt;State&lt;/span&gt;       &lt;span class=&quot;ace_identifier&quot;&gt;PID&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;Program&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;name&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;tcp&lt;/span&gt;        &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;0&lt;/span&gt;      &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;0&lt;/span&gt; &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;127.0.0.1&lt;/span&gt;:&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;199&lt;/span&gt;               &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;0.0.0.0&lt;/span&gt;:&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;*&lt;/span&gt;                   &lt;span class=&quot;ace_identifier&quot;&gt;LISTEN&lt;/span&gt;      &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;980&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;snmpd&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;tcp&lt;/span&gt;        &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;0&lt;/span&gt;      &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;0&lt;/span&gt; &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;0.0.0.0&lt;/span&gt;:&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;6379&lt;/span&gt;                &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;0.0.0.0&lt;/span&gt;:&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;*&lt;/span&gt;                   &lt;span class=&quot;ace_identifier&quot;&gt;LISTEN&lt;/span&gt;      &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;916&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;redis&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;server&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;*&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;...
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</description>
      <category>Programming/Linux</category>
      <category>netstat</category>
      <category>port</category>
      <author>Tez.Park</author>
      <guid isPermaLink="true">https://sham.tistory.com/140</guid>
      <comments>https://sham.tistory.com/140#entry140comment</comments>
      <pubDate>Mon, 26 Sep 2016 00:51:15 +0900</pubDate>
    </item>
    <item>
      <title>[MySQL] Install MySQL</title>
      <link>https://sham.tistory.com/139</link>
      <description>
  &lt;meta charset=&quot;utf-8&quot;&gt;
  &lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;&gt;
  &lt;!-- common.css --&gt;
  &lt;style&gt;* {-webkit-tap-highlight-color: rgba(0,0,0,0);}html {-webkit-text-size-adjust: none;}body {font-family: Arial, Helvetica, sans-serif;margin: 0;color: #333;word-wrap: break-word;}h1, h2, h3, h4, h5, h6 {line-height: 1.1;}img {max-width: 100% !important;}blockquote {margin: 0;padding: 0 15px;color: #777;border-left: 4px solid #ddd;}hr {background-color: #ddd;border: 0;height: 1px;margin: 15px 0;}code {font-family: Menlo, Consolas, 'Ubuntu Mono', Monaco, 'source-code-pro', monospace;line-height: 1.4;margin: 0;padding: 0.2em 0;font-size: 85%;background-color: rgba(0,0,0,0.04);border-radius: 3px;}pre &gt; code {margin: 0;padding: 0;font-size: 100%;word-break: normal;background: transparent;border: 0;}ol {list-style-type: decimal;}ol ol, ul ol {list-style-type: lower-latin;}ol ol ol, ul ol ol, ul ul ol, ol ul ol {list-style-type: lower-roman;}table {border-spacing: 0;border-collapse: collapse;margin-top: 0;margin-bottom: 16px;}table th {font-weight: bold;}table th, table td {padding: 6px 13px;border: 1px solid #ddd;}table tr {border-top: 1px solid #ccc;}table tr:nth-child(even) {background-color: #f8f8f8;}input[type=&quot;checkbox&quot;] {cursor: default;margin-right: 0.5em;font-size: 13px;}.task-list-item {list-style-type: none;}.task-list-item+.task-list-item {margin-top: 3px;}.task-list-item input {float: left;margin: 0.3em 1em 0.25em -1.6em;vertical-align: middle;}#tag-field {margin: 8px 2px 10px;}#tag-field .tag {display: inline-block;background: #cadff3;border-radius: 4px;padding: 1px 8px;color: black;font-size: 12px;margin-right: 10px;line-height: 1.4;}&lt;/style&gt;
  &lt;!-- ace-static.css --&gt;
  &lt;style&gt;.ace_static_highlight {white-space: pre-wrap;}.ace_static_highlight .ace_gutter {width: 2em;text-align: right;padding: 0 3px 0 0;margin-right: 3px;}.ace_static_highlight.ace_show_gutter &gt; .ace_line {padding-left: 2.6em;}.ace_static_highlight .ace_line {position: relative;}.ace_static_highlight .ace_gutter-cell {-moz-user-select: -moz-none;-khtml-user-select: none;-webkit-user-select: none;user-select: none;top: 0;bottom: 0;left: 0;position: absolute;}.ace_static_highlight .ace_gutter-cell:before {content: counter(ace_line, decimal);counter-increment: ace_line;}.ace_static_highlight {counter-reset: ace_line;}&lt;/style&gt;
  &lt;style&gt;.ace-idle-fingers .ace_gutter {background: #3b3b3b;color: rgb(153,153,153)}.ace-idle-fingers .ace_print-margin {width: 1px;background: #3b3b3b}.ace-idle-fingers {background-color: #323232;color: #FFFFFF}.ace-idle-fingers .ace_cursor {color: #91FF00}.ace-idle-fingers .ace_marker-layer .ace_selection {background: rgba(90, 100, 126, 0.88)}.ace-idle-fingers.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px #323232;}.ace-idle-fingers .ace_marker-layer .ace_step {background: rgb(102, 82, 0)}.ace-idle-fingers .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid #404040}.ace-idle-fingers .ace_marker-layer .ace_active-line {background: #353637}.ace-idle-fingers .ace_gutter-active-line {background-color: #353637}.ace-idle-fingers .ace_marker-layer .ace_selected-word {border: 1px solid rgba(90, 100, 126, 0.88)}.ace-idle-fingers .ace_invisible {color: #404040}.ace-idle-fingers .ace_keyword,.ace-idle-fingers .ace_meta {color: #CC7833}.ace-idle-fingers .ace_constant,.ace-idle-fingers .ace_constant.ace_character,.ace-idle-fingers .ace_constant.ace_character.ace_escape,.ace-idle-fingers .ace_constant.ace_other,.ace-idle-fingers .ace_support.ace_constant {color: #6C99BB}.ace-idle-fingers .ace_invalid {color: #FFFFFF;background-color: #FF0000}.ace-idle-fingers .ace_fold {background-color: #CC7833;border-color: #FFFFFF}.ace-idle-fingers .ace_support.ace_function {color: #B83426}.ace-idle-fingers .ace_variable.ace_parameter {font-style: italic}.ace-idle-fingers .ace_string {color: #A5C261}.ace-idle-fingers .ace_string.ace_regexp {color: #CCCC33}.ace-idle-fingers .ace_comment {font-style: italic;color: #BC9458}.ace-idle-fingers .ace_meta.ace_tag {color: #FFE5BB}.ace-idle-fingers .ace_entity.ace_name {color: #FFC66D}.ace-idle-fingers .ace_collab.ace_user1 {color: #323232;background-color: #FFF980}.ace-idle-fingers .ace_indent-guide {background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWMwMjLyZYiPj/8PAAreAwAI1+g0AAAAAElFTkSuQmCC) right repeat-y}&lt;/style&gt;
  &lt;!-- export.css --&gt;
  &lt;style&gt;
    body{margin:0 auto;max-width:100%;line-height:1.4}
    #nav{margin:5px 0 10px;font-size:15px}
    #titlearea{border-bottom:1px solid #ccc;font-size:17px;padding:10px 0;}
    #contentarea{font-size:15px;margin:16px 0}
    .cell{outline:0;min-height:20px;margin:5px 0;padding:5px 0;}
    .code-cell{font-family:Menlo,Consolas,'Ubuntu Mono',Monaco,'source-code-pro',monospace;font-size:12px;}
    .latex-cell{white-space:pre-wrap;}
  &lt;/style&gt;
  &lt;!-- User CSS --&gt;
  &lt;style&gt; .text-cell {font-size: 14px;}.code-cell {font-size: 12px;}.markdown-cell {font-size: 14px;}.latex-cell {font-size: 14px;}&lt;/style&gt;


  &lt;div id=&quot;contentarea&quot;&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h3&gt;Install MySQL&lt;/h3&gt;&lt;p&gt;mysql 설치, 서비스 등록&lt;br /&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;CentOS7 부터는 데이터베이스가 Mariadb로 변경되어서 MySQL을 바로 yum으로 설치가 불가능기 때문에 mysql을 yum에 등록 후 설치해준다&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;#yum&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;에&lt;/span&gt; mysql &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;등&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;록&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;yum&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;y&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;install&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;http&lt;/span&gt;:&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;//&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;dev&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;mysql&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;com&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;get&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;mysql&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;community&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;release&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;el7&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;5.&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;noarch&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;rpm&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;# mysql &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;인&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;스&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;톨&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;yum&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;y&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;install&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;mysql&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;community&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;server&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;# mysql &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;실&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;행&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;systemctl&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;start&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;mysqld&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;# &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;시&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;스&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;템&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;에&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;등&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;록&lt;/span&gt; (&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;부&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;팅&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;시&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;자&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;동&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;실&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;행&lt;/span&gt;)&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;systemctl&lt;/span&gt; &lt;span class=&quot;ace_support ace_function ace_builtin&quot;&gt;enable&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;mysqld&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h3&gt;Change password&lt;/h3&gt;&lt;div&gt;&lt;code&gt;​&lt;/code&gt;최초 설치시에만 된다.&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;mysql_secure_installation&lt;/span&gt; &lt;span class=&quot;ace_comment&quot;&gt;#&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;암&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;호&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;설&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;정&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;모&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;드&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;usr&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;bin&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;mysqladmin&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;u&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;root&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;password&lt;/span&gt; &lt;span class=&quot;ace_string ace_start&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;[&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;변&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;경&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;할&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;패&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;스&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;워&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;드&lt;/span&gt;]&lt;/span&gt;&lt;span class=&quot;ace_string ace_end&quot;&gt;'&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;pre style=&quot;box-sizing: border-box; transition: all 0.5s; -webkit-transition: all 0.5s; margin-top: 15px; margin-bottom: 15px; padding: 10px; overflow: auto; font-family: Consolas, monospace, serif; font-size: 12px; line-height: 18px; color: rgb(68, 68, 68); word-break: break-all; word-wrap: break-word; border: 1px solid rgb(204, 204, 204); border-top-left-radius: 4px; border-top-right-radius: 4px; border-bottom-right-radius: 4px; border-bottom-left-radius: 4px; font-variant-ligatures: normal; font-variant-position: normal; font-variant-numeric: normal; font-variant-alternates: normal; font-variant-east-asian: normal; tab-size: 4; widows: 1; background-color: rgb(245, 245, 245); background-position: initial initial; background-repeat: initial initial;&quot;&gt;sudo grep 'temporary password' /var/log/mysqld.log&lt;/pre&gt;&lt;pre style=&quot;box-sizing: border-box; transition: all 0.5s; -webkit-transition: all 0.5s; margin-top: 15px; margin-bottom: 15px; padding: 10px; overflow: auto; font-family: Consolas, monospace, serif; font-size: 12px; line-height: 18px; color: rgb(68, 68, 68); word-break: break-all; word-wrap: break-word; border: 1px solid rgb(204, 204, 204); border-top-left-radius: 4px; border-top-right-radius: 4px; border-bottom-right-radius: 4px; border-bottom-left-radius: 4px; font-variant-ligatures: normal; font-variant-position: normal; font-variant-numeric: normal; font-variant-alternates: normal; font-variant-east-asian: normal; tab-size: 4; widows: 1; background-color: rgb(245, 245, 245); background-position: initial initial; background-repeat: initial initial;&quot;&gt;$ sudo mysql_secure_installation&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h3&gt;Set Characterset&lt;/h3&gt;&lt;div&gt;mysql의 기본 설정값이 latin1 로 되어 있어서 utf8 로 바꿔주자. 바꾸지 않으면 한글깨짐등 문제가 생길 수 있다.&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Characterset 변경 (/etc/my.cnf 파일)&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;vi&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;etc&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;my&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;cnf&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt; 
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;mysqld&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;# &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;아&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;래&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;두&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;개&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;추&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;가&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;character&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_support ace_function ace_builtin&quot;&gt;set&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_variable&quot;&gt;server=&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;utf8&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;collation&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_variable&quot;&gt;server=&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;utf8_bin&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;#...&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;p&gt;mysql 재시작&lt;/p&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;systemctl&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;restart&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;mysqld&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;
  &lt;script&gt;document.body.onkeyup = function(e) {
if (e.keyCode === 39) window.location.href = '[Java] Java 설치 (JDK JRE) CentOS RHEL.html';
if (e.keyCode === 37) window.location.href = '[Init.sh] 초기 작업 스크립트.html';
}&lt;/script&gt;

&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>Programming/Linux</category>
      <category>MySQL</category>
      <category>mysqladmin</category>
      <category>mysqld</category>
      <category>mysql_secure_installation</category>
      <author>Tez.Park</author>
      <guid isPermaLink="true">https://sham.tistory.com/139</guid>
      <comments>https://sham.tistory.com/139#entry139comment</comments>
      <pubDate>Mon, 26 Sep 2016 00:45:34 +0900</pubDate>
    </item>
    <item>
      <title>[Log] Apache log format</title>
      <link>https://sham.tistory.com/138</link>
      <description>
  &lt;meta charset=&quot;utf-8&quot;&gt;
  &lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;&gt;
  &lt;!-- common.css --&gt;
  &lt;style&gt;* {-webkit-tap-highlight-color: rgba(0,0,0,0);}html {-webkit-text-size-adjust: none;}body {font-family: Arial, Helvetica, sans-serif;margin: 0;color: #333;word-wrap: break-word;}h1, h2, h3, h4, h5, h6 {line-height: 1.1;}img {max-width: 100% !important;}blockquote {margin: 0;padding: 0 15px;color: #777;border-left: 4px solid #ddd;}hr {background-color: #ddd;border: 0;height: 1px;margin: 15px 0;}code {font-family: Menlo, Consolas, 'Ubuntu Mono', Monaco, 'source-code-pro', monospace;line-height: 1.4;margin: 0;padding: 0.2em 0;font-size: 85%;background-color: rgba(0,0,0,0.04);border-radius: 3px;}pre &gt; code {margin: 0;padding: 0;font-size: 100%;word-break: normal;background: transparent;border: 0;}ol {list-style-type: decimal;}ol ol, ul ol {list-style-type: lower-latin;}ol ol ol, ul ol ol, ul ul ol, ol ul ol {list-style-type: lower-roman;}table {border-spacing: 0;border-collapse: collapse;margin-top: 0;margin-bottom: 16px;}table th {font-weight: bold;}table th, table td {padding: 6px 13px;border: 1px solid #ddd;}table tr {border-top: 1px solid #ccc;}table tr:nth-child(even) {background-color: #f8f8f8;}input[type=&quot;checkbox&quot;] {cursor: default;margin-right: 0.5em;font-size: 13px;}.task-list-item {list-style-type: none;}.task-list-item+.task-list-item {margin-top: 3px;}.task-list-item input {float: left;margin: 0.3em 1em 0.25em -1.6em;vertical-align: middle;}#tag-field {margin: 8px 2px 10px;}#tag-field .tag {display: inline-block;background: #cadff3;border-radius: 4px;padding: 1px 8px;color: black;font-size: 12px;margin-right: 10px;line-height: 1.4;}&lt;/style&gt;
  &lt;!-- ace-static.css --&gt;
  &lt;style&gt;.ace_static_highlight {white-space: pre-wrap;}.ace_static_highlight .ace_gutter {width: 2em;text-align: right;padding: 0 3px 0 0;margin-right: 3px;}.ace_static_highlight.ace_show_gutter &gt; .ace_line {padding-left: 2.6em;}.ace_static_highlight .ace_line {position: relative;}.ace_static_highlight .ace_gutter-cell {-moz-user-select: -moz-none;-khtml-user-select: none;-webkit-user-select: none;user-select: none;top: 0;bottom: 0;left: 0;position: absolute;}.ace_static_highlight .ace_gutter-cell:before {content: counter(ace_line, decimal);counter-increment: ace_line;}.ace_static_highlight {counter-reset: ace_line;}&lt;/style&gt;
  &lt;style&gt;.ace-idle-fingers .ace_gutter {background: #3b3b3b;color: rgb(153,153,153)}.ace-idle-fingers .ace_print-margin {width: 1px;background: #3b3b3b}.ace-idle-fingers {background-color: #323232;color: #FFFFFF}.ace-idle-fingers .ace_cursor {color: #91FF00}.ace-idle-fingers .ace_marker-layer .ace_selection {background: rgba(90, 100, 126, 0.88)}.ace-idle-fingers.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px #323232;}.ace-idle-fingers .ace_marker-layer .ace_step {background: rgb(102, 82, 0)}.ace-idle-fingers .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid #404040}.ace-idle-fingers .ace_marker-layer .ace_active-line {background: #353637}.ace-idle-fingers .ace_gutter-active-line {background-color: #353637}.ace-idle-fingers .ace_marker-layer .ace_selected-word {border: 1px solid rgba(90, 100, 126, 0.88)}.ace-idle-fingers .ace_invisible {color: #404040}.ace-idle-fingers .ace_keyword,.ace-idle-fingers .ace_meta {color: #CC7833}.ace-idle-fingers .ace_constant,.ace-idle-fingers .ace_constant.ace_character,.ace-idle-fingers .ace_constant.ace_character.ace_escape,.ace-idle-fingers .ace_constant.ace_other,.ace-idle-fingers .ace_support.ace_constant {color: #6C99BB}.ace-idle-fingers .ace_invalid {color: #FFFFFF;background-color: #FF0000}.ace-idle-fingers .ace_fold {background-color: #CC7833;border-color: #FFFFFF}.ace-idle-fingers .ace_support.ace_function {color: #B83426}.ace-idle-fingers .ace_variable.ace_parameter {font-style: italic}.ace-idle-fingers .ace_string {color: #A5C261}.ace-idle-fingers .ace_string.ace_regexp {color: #CCCC33}.ace-idle-fingers .ace_comment {font-style: italic;color: #BC9458}.ace-idle-fingers .ace_meta.ace_tag {color: #FFE5BB}.ace-idle-fingers .ace_entity.ace_name {color: #FFC66D}.ace-idle-fingers .ace_collab.ace_user1 {color: #323232;background-color: #FFF980}.ace-idle-fingers .ace_indent-guide {background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWMwMjLyZYiPj/8PAAreAwAI1+g0AAAAAElFTkSuQmCC) right repeat-y}&lt;/style&gt;
  &lt;!-- export.css --&gt;
  &lt;style&gt;
    body{margin:0 auto;max-width:100%;line-height:1.4}
    #nav{margin:5px 0 10px;font-size:15px}
    #titlearea{border-bottom:1px solid #ccc;font-size:17px;padding:10px 0;}
    #contentarea{font-size:15px;margin:16px 0}
    .cell{outline:0;min-height:20px;margin:5px 0;padding:5px 0;}
    .code-cell{font-family:Menlo,Consolas,'Ubuntu Mono',Monaco,'source-code-pro',monospace;font-size:12px;}
    .latex-cell{white-space:pre-wrap;}
  &lt;/style&gt;
  &lt;!-- User CSS --&gt;
  &lt;style&gt; .text-cell {font-size: 14px;}.code-cell {font-size: 12px;}.markdown-cell {font-size: 14px;}.latex-cell {font-size: 14px;}&lt;/style&gt;


  &lt;div id=&quot;contentarea&quot;&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;Syntax&lt;/span&gt; : &lt;span class=&quot;ace_identifier&quot;&gt;LogFormat&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;format&lt;/span&gt; &lt;span class=&quot;ace_paren ace_lparen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;nickname&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;   &lt;span class=&quot;ace_identifier&quot;&gt;Default&lt;/span&gt;: &lt;span class=&quot;ace_identifier&quot;&gt;LogFormat&lt;/span&gt; &lt;span class=&quot;ace_string&quot;&gt;&quot;%h %l %u %t &lt;/span&gt;&lt;span class=&quot;ace_constant ace_language ace_escape&quot;&gt;\&quot;&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;%r&lt;/span&gt;&lt;span class=&quot;ace_constant ace_language ace_escape&quot;&gt;\&quot;&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt; %s %b&quot;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;LogFormat&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;은&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;CLF&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;로&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;그&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;포&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;맷&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;과&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;별&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;도&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;로&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;관&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;리&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;자&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;가&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;정&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;의&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;한&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;로&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;그&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;파&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;일&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;형&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;식&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;을&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;만&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;들&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;기&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;위&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;해&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;서&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;사&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;용&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;이&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;되&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;어&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;진&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;다&lt;/span&gt;.
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;다&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;음&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;표&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;는&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;로&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;그&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;포&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;맷&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;에&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;서&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;사&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;용&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;이&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;되&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;어&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;지&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;는&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;변&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;수&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;들&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;이&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;다&lt;/span&gt;.&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;포&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;맷&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;에&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;대&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;한&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;조&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;금&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;더&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;자&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;세&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;한&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;내&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;용&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;은&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;Apache&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;HTTP&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;Server&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;Project&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;를&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;참&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;조&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;변&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;수&lt;/span&gt;   &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;설&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;명&lt;/span&gt; 
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;------------------------------------------------------------------------&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;%%&lt;/span&gt; : &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;퍼&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;센&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;트&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;기&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;호&lt;/span&gt; 
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;%&lt;/span&gt;...&lt;span class=&quot;ace_identifier&quot;&gt;a&lt;/span&gt; : &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;요&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;청&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;한&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;클&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;라&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;이&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;언&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;트&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;의&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;IP&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;주&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;소&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;원&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;격&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;IP&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;주&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;소&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt; 
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;%&lt;/span&gt;...&lt;span class=&quot;ace_identifier&quot;&gt;A&lt;/span&gt; : &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;로&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;컬&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;IP&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;주&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;소&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;서&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;버&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;IP&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;주&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;소&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt; 
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;%&lt;/span&gt;...&lt;span class=&quot;ace_identifier&quot;&gt;B&lt;/span&gt; : &lt;span class=&quot;ace_identifier&quot;&gt;HTTP&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;헤&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;더&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;를&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;제&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;외&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;한&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;전&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;송&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;바&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;이&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;트&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;의&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;수&lt;/span&gt; 
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;%&lt;/span&gt;...&lt;span class=&quot;ace_identifier&quot;&gt;b&lt;/span&gt; : &lt;span class=&quot;ace_identifier&quot;&gt;HTTP&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;헤&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;더&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;를&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;제&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;외&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;한&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;전&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;송&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;바&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;이&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;트&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;의&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;수&lt;/span&gt;. &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;전&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;송&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;바&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;이&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;트&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;가&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;없&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;는&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;경&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;우&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;에&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;CLF&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;에&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;서&lt;/span&gt; &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;으&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;로&lt;/span&gt; 
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;   &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;표&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;기&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;하&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;지&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;않&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;고&lt;/span&gt; &lt;span class=&quot;ace_string ace_start&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_string ace_end&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;로&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;표&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;기&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;한&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;다&lt;/span&gt;. 
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;%&lt;/span&gt;...&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;Foobar&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;C&lt;/span&gt; : &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;서&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;버&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;가&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;수&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;신&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;한&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;요&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;청&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;에&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;서&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;Foobar&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;쿠&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;키&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;의&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;내&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;용&lt;/span&gt; 
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;%&lt;/span&gt;...&lt;span class=&quot;ace_identifier&quot;&gt;D&lt;/span&gt; : &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;요&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;청&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;을&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;처&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;리&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;하&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;는&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;데&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;걸&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;린&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;시&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;간&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;마&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;이&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;크&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;로&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;초&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;단&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;위&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt; 
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;%&lt;/span&gt;...&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;Foobar&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;e&lt;/span&gt; : &lt;span class=&quot;ace_identifier&quot;&gt;Foobar&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;라&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;는&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;환&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;경&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;변&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;수&lt;/span&gt; 
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;%&lt;/span&gt;...&lt;span class=&quot;ace_identifier&quot;&gt;f&lt;/span&gt; : &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;파&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;일&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;명&lt;/span&gt; 
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;%&lt;/span&gt;...&lt;span class=&quot;ace_identifier&quot;&gt;h&lt;/span&gt; : &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;요&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;청&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;한&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;원&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;격&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;호&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;스&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;트&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;예&lt;/span&gt;:&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;210.210.210.10&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt; 
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;%&lt;/span&gt;...&lt;span class=&quot;ace_identifier&quot;&gt;H&lt;/span&gt; : &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;요&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;청&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;프&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;로&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;토&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;콜&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;예&lt;/span&gt;:&lt;span class=&quot;ace_identifier&quot;&gt;HTTP&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;1.1&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt; 
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;%&lt;/span&gt;...&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;Foobar&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;i&lt;/span&gt; : &lt;span class=&quot;ace_identifier&quot;&gt;Foobar&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;의&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;내&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;용&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;서&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;버&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;에&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;요&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;청&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;을&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;할&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;때&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;의&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;헤&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;더&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;에&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;있&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;는&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;내&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;용&lt;/span&gt; 
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;%&lt;/span&gt;...&lt;span class=&quot;ace_identifier&quot;&gt;l&lt;/span&gt; : &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;리&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;모&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;트&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;로&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;그&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;인&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;이&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;름&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;identd&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;데&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;몬&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;으&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;로&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;부&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;터&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;얻&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;어&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;올&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;수&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;있&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;을&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;때&lt;/span&gt;, &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;없&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;을&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;경&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;우&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;표&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;시&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt; 
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;%&lt;/span&gt;...&lt;span class=&quot;ace_identifier&quot;&gt;m&lt;/span&gt; : &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;요&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;청&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;메&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;소&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;드&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;예&lt;/span&gt;:&lt;span class=&quot;ace_identifier&quot;&gt;GET&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;또&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;는&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;POST&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt; 
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;%&lt;/span&gt;...&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;Foobar&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;n&lt;/span&gt; : &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;다&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;른&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;모&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;듈&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;에&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;서&lt;/span&gt; &lt;span class=&quot;ace_string&quot;&gt;&quot;Foobar&quot;&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;의&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;내&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;용&lt;/span&gt; 
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;%&lt;/span&gt;...&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;Foobar&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;o&lt;/span&gt; : &lt;span class=&quot;ace_identifier&quot;&gt;Foobar&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;의&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;내&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;용&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;응&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;답&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;에&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;서&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;헤&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;더&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;에&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;있&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;다&lt;/span&gt; 
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;%&lt;/span&gt;...&lt;span class=&quot;ace_identifier&quot;&gt;p&lt;/span&gt; : &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;응&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;답&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;을&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;처&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;리&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;해&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;준&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;서&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;버&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;의&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;포&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;트&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;예&lt;/span&gt;:&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;80&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt; 
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;%&lt;/span&gt;...&lt;span class=&quot;ace_identifier&quot;&gt;P&lt;/span&gt; : &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;응&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;답&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;을&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;처&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;리&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;해&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;준&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;차&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;일&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;드&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;프&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;로&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;세&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;스&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;의&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;프&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;로&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;세&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;스&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;번&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;호&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;예&lt;/span&gt;:&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;14633&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt; 
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;%&lt;/span&gt;...&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;format&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;P&lt;/span&gt; : &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;요&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;청&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;을&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;서&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;비&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;스&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;하&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;는&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;자&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;식&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;의&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;프&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;로&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;세&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;스&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;ID&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;혹&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;은&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;쓰&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;레&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;드&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;ID&lt;/span&gt;. &lt;span class=&quot;ace_identifier&quot;&gt;format&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;에&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;는&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;pid&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;와&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;tid&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;가&lt;/span&gt; 
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;   &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;가&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;능&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;하&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;다&lt;/span&gt; 
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;%&lt;/span&gt;...&lt;span class=&quot;ace_identifier&quot;&gt;q&lt;/span&gt; : &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;쿼&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;리&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;스&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;트&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;링&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;예&lt;/span&gt;:&lt;span class=&quot;ace_identifier&quot;&gt;http&lt;/span&gt;:&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;//&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;www&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;webnkorea&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;com&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;server&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;status&lt;/span&gt;?&lt;span class=&quot;ace_variable&quot;&gt;refresh=&lt;/span&gt;&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;5&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;라&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;고&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;하&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;면&lt;/span&gt; 
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;   &lt;span class=&quot;ace_string ace_start&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;?refresh=5&lt;/span&gt;&lt;span class=&quot;ace_string ace_end&quot;&gt;'&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;가&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;기&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;록&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;된&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;다&lt;/span&gt;. &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;쿼&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;리&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;스&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;트&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;링&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;이&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;없&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;으&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;면&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;빈&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;공&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;백&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;이&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;들&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;어&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;간&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;다&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt; 
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;%&lt;/span&gt;...&lt;span class=&quot;ace_identifier&quot;&gt;r&lt;/span&gt; : &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;요&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;청&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;을&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;할&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;때&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;의&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;첫&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;라&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;인&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;index&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;html&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;을&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;요&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;청&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;을&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;했&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;다&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;면&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;다&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;음&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;과&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;같&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;이&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;기&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;록&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;된&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;다&lt;/span&gt;. 
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;   &lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;GET&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;HTTP&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;1.1&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt; 
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;%&lt;/span&gt;...&lt;span class=&quot;ace_identifier&quot;&gt;s&lt;/span&gt; : &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;요&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;청&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;에&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;대&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;한&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;서&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;버&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;의&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;상&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;태&lt;/span&gt; 
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;%&lt;/span&gt;...&lt;span class=&quot;ace_identifier&quot;&gt;t&lt;/span&gt; : &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;요&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;청&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;을&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;받&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;은&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;시&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;간&lt;/span&gt;, &lt;span class=&quot;ace_identifier&quot;&gt;CLF&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;에&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;서&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;시&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;간&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;과&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;같&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;다&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;영&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;어&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;로&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;표&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;기&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;됨&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt; 
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;%&lt;/span&gt;...&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;format&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;t&lt;/span&gt; : &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;주&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;어&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;진&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;형&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;식&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;의&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;시&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;간&lt;/span&gt;. &lt;span class=&quot;ace_identifier&quot;&gt;strtime&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;3&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;포&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;맷&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;으&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;로&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;주&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;어&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;져&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;야&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;한&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;다&lt;/span&gt;. 
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;%&lt;/span&gt;...&lt;span class=&quot;ace_identifier&quot;&gt;T&lt;/span&gt; : &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;서&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;버&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;가&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;요&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;청&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;을&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;처&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;리&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;하&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;는&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;데&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;걸&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;리&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;는&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;시&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;간&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;초&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;예&lt;/span&gt;:&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;초&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;미&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;만&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;일&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;경&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;우&lt;/span&gt; &lt;span class=&quot;ace_string ace_start&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;ace_string ace_end&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;으&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;로&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;표&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;기&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt; 
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;%&lt;/span&gt;...&lt;span class=&quot;ace_identifier&quot;&gt;u&lt;/span&gt; : &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;원&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;격&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;사&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;용&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;자&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;이&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;름&lt;/span&gt; 
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;%&lt;/span&gt;...&lt;span class=&quot;ace_identifier&quot;&gt;U&lt;/span&gt; : &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;요&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;청&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;한&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;URL&lt;/span&gt; 
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;%&lt;/span&gt;...&lt;span class=&quot;ace_identifier&quot;&gt;v&lt;/span&gt; : &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;요&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;청&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;에&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;대&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;해&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;서&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;처&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;리&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;를&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;한&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;서&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;버&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;이&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;름&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;예&lt;/span&gt;:&lt;span class=&quot;ace_identifier&quot;&gt;www&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;webnkorea&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;com&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt; 
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;%&lt;/span&gt;...&lt;span class=&quot;ace_identifier&quot;&gt;V&lt;/span&gt; : &lt;span class=&quot;ace_identifier&quot;&gt;UseCanonicalName&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;설&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;정&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;에&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;따&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;른&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;요&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;청&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;에&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;대&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;해&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;서&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;처&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;리&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;한&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;서&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;버&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;이&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;름&lt;/span&gt; 
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;%&lt;/span&gt;...&lt;span class=&quot;ace_identifier&quot;&gt;I&lt;/span&gt; : &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;요&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;청&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;과&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;헤&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;더&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;를&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;포&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;함&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;한&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;수&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;신&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;바&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;이&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;트&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;수&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;로&lt;/span&gt; &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;일&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;수&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;없&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;다&lt;/span&gt;.&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;영&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;문&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;자&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;아&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;이&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;임&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt; 
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;   &lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;사&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;용&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;하&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;려&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;면&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;mod_logio&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;가&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;필&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;요&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;하&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;다&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt; 
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;%&lt;/span&gt;...&lt;span class=&quot;ace_identifier&quot;&gt;O&lt;/span&gt; : &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;헤&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;더&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;를&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;포&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;함&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;한&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;송&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;신&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;바&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;이&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;트&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;수&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;로&lt;/span&gt; &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;일&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;수&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;없&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;다&lt;/span&gt;.&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;사&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;용&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;하&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;려&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;면&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;mod_logio&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;가&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;필&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;요&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;하&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;다&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;LogForamt&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;지&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;시&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;자&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;에&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;서&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;위&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;의&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;변&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;수&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;들&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;을&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;사&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;용&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;해&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;서&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;마&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;음&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;대&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;로&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;로&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;그&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;포&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;맷&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;을&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;바&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;꿀&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;수&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;있&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;다&lt;/span&gt;. &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;자&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;신&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;이&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;모&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;니&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;터&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;링&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;하&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;고&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;싶&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;은&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;정&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;보&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;만&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;을&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;로&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;그&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;에&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;기&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;록&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;함&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;으&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;로&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;써&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;가&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;독&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;성&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;을&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;늘&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;리&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;고&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;데&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;이&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;터&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;의&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;크&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;기&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;를&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;줄&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;일&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;수&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;있&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;다&lt;/span&gt;.
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;
  &lt;script&gt;document.body.onkeyup = function(e) {
if (e.keyCode === 39) window.location.href = '[Rsyslog + Loganalyzer + MySQL] 설치 구성 (v8).html';
if (e.keyCode === 37) window.location.href = '[Logrotate] 강제로 갱신   Debug모드.html';
}&lt;/script&gt;

&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>Programming/Linux</category>
      <category>apache</category>
      <category>format</category>
      <category>log</category>
      <author>Tez.Park</author>
      <guid isPermaLink="true">https://sham.tistory.com/138</guid>
      <comments>https://sham.tistory.com/138#entry138comment</comments>
      <pubDate>Sun, 25 Sep 2016 17:33:48 +0900</pubDate>
    </item>
    <item>
      <title>[Java] Install Java (JDK/JRE) on CentOS/RHEL</title>
      <link>https://sham.tistory.com/137</link>
      <description>&lt;!DOCTYPE html&gt;
&lt;html&gt;
&lt;head&gt;
  &lt;meta charset=&quot;utf-8&quot;&gt;
  &lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;&gt;
  &lt;!-- common.css --&gt;
  &lt;style&gt;* {-webkit-tap-highlight-color: rgba(0,0,0,0);}html {-webkit-text-size-adjust: none;}body {font-family: Arial, Helvetica, sans-serif;margin: 0;color: #333;word-wrap: break-word;}h1, h2, h3, h4, h5, h6 {line-height: 1.1;}img {max-width: 100% !important;}blockquote {margin: 0;padding: 0 15px;color: #777;border-left: 4px solid #ddd;}hr {background-color: #ddd;border: 0;height: 1px;margin: 15px 0;}code {font-family: Menlo, Consolas, 'Ubuntu Mono', Monaco, 'source-code-pro', monospace;line-height: 1.4;margin: 0;padding: 0.2em 0;font-size: 85%;background-color: rgba(0,0,0,0.04);border-radius: 3px;}pre &gt; code {margin: 0;padding: 0;font-size: 100%;word-break: normal;background: transparent;border: 0;}ol {list-style-type: decimal;}ol ol, ul ol {list-style-type: lower-latin;}ol ol ol, ul ol ol, ul ul ol, ol ul ol {list-style-type: lower-roman;}table {border-spacing: 0;border-collapse: collapse;margin-top: 0;margin-bottom: 16px;}table th {font-weight: bold;}table th, table td {padding: 6px 13px;border: 1px solid #ddd;}table tr {border-top: 1px solid #ccc;}table tr:nth-child(even) {background-color: #f8f8f8;}input[type=&quot;checkbox&quot;] {cursor: default;margin-right: 0.5em;font-size: 13px;}.task-list-item {list-style-type: none;}.task-list-item+.task-list-item {margin-top: 3px;}.task-list-item input {float: left;margin: 0.3em 1em 0.25em -1.6em;vertical-align: middle;}#tag-field {margin: 8px 2px 10px;}#tag-field .tag {display: inline-block;background: #cadff3;border-radius: 4px;padding: 1px 8px;color: black;font-size: 12px;margin-right: 10px;line-height: 1.4;}&lt;/style&gt;
  &lt;!-- ace-static.css --&gt;
  &lt;style&gt;.ace_static_highlight {white-space: pre-wrap;}.ace_static_highlight .ace_gutter {width: 2em;text-align: right;padding: 0 3px 0 0;margin-right: 3px;}.ace_static_highlight.ace_show_gutter &gt; .ace_line {padding-left: 2.6em;}.ace_static_highlight .ace_line {position: relative;}.ace_static_highlight .ace_gutter-cell {-moz-user-select: -moz-none;-khtml-user-select: none;-webkit-user-select: none;user-select: none;top: 0;bottom: 0;left: 0;position: absolute;}.ace_static_highlight .ace_gutter-cell:before {content: counter(ace_line, decimal);counter-increment: ace_line;}.ace_static_highlight {counter-reset: ace_line;}&lt;/style&gt;
  &lt;style&gt;.ace-idle-fingers .ace_gutter {background: #3b3b3b;color: rgb(153,153,153)}.ace-idle-fingers .ace_print-margin {width: 1px;background: #3b3b3b}.ace-idle-fingers {background-color: #323232;color: #FFFFFF}.ace-idle-fingers .ace_cursor {color: #91FF00}.ace-idle-fingers .ace_marker-layer .ace_selection {background: rgba(90, 100, 126, 0.88)}.ace-idle-fingers.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px #323232;}.ace-idle-fingers .ace_marker-layer .ace_step {background: rgb(102, 82, 0)}.ace-idle-fingers .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid #404040}.ace-idle-fingers .ace_marker-layer .ace_active-line {background: #353637}.ace-idle-fingers .ace_gutter-active-line {background-color: #353637}.ace-idle-fingers .ace_marker-layer .ace_selected-word {border: 1px solid rgba(90, 100, 126, 0.88)}.ace-idle-fingers .ace_invisible {color: #404040}.ace-idle-fingers .ace_keyword,.ace-idle-fingers .ace_meta {color: #CC7833}.ace-idle-fingers .ace_constant,.ace-idle-fingers .ace_constant.ace_character,.ace-idle-fingers .ace_constant.ace_character.ace_escape,.ace-idle-fingers .ace_constant.ace_other,.ace-idle-fingers .ace_support.ace_constant {color: #6C99BB}.ace-idle-fingers .ace_invalid {color: #FFFFFF;background-color: #FF0000}.ace-idle-fingers .ace_fold {background-color: #CC7833;border-color: #FFFFFF}.ace-idle-fingers .ace_support.ace_function {color: #B83426}.ace-idle-fingers .ace_variable.ace_parameter {font-style: italic}.ace-idle-fingers .ace_string {color: #A5C261}.ace-idle-fingers .ace_string.ace_regexp {color: #CCCC33}.ace-idle-fingers .ace_comment {font-style: italic;color: #BC9458}.ace-idle-fingers .ace_meta.ace_tag {color: #FFE5BB}.ace-idle-fingers .ace_entity.ace_name {color: #FFC66D}.ace-idle-fingers .ace_collab.ace_user1 {color: #323232;background-color: #FFF980}.ace-idle-fingers .ace_indent-guide {background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWMwMjLyZYiPj/8PAAreAwAI1+g0AAAAAElFTkSuQmCC) right repeat-y}&lt;/style&gt;
  &lt;!-- export.css --&gt;
  &lt;style&gt;
    body{margin:0 auto;max-width:100%;line-height:1.4}
    #nav{margin:5px 0 10px;font-size:15px}
    #titlearea{border-bottom:1px solid #ccc;font-size:17px;padding:10px 0;}
    #contentarea{font-size:15px;margin:16px 0}
    .cell{outline:0;min-height:20px;margin:5px 0;padding:5px 0;}
    .code-cell{font-family:Menlo,Consolas,'Ubuntu Mono',Monaco,'source-code-pro',monospace;font-size:12px;}
    .latex-cell{white-space:pre-wrap;}
  &lt;/style&gt;
  &lt;!-- User CSS --&gt;
  &lt;style&gt; .text-cell {font-size: 14px;}.code-cell {font-size: 12px;}.markdown-cell {font-size: 14px;}.latex-cell {font-size: 14px;}&lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
  &lt;div id=&quot;contentarea&quot;&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h3&gt;&lt;b&gt;Download&amp;nbsp;Latest&amp;nbsp;Java Archive&lt;/b&gt;&lt;/h3&gt;&lt;div&gt;Official download page :&amp;nbsp;&lt;a href=&quot;http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html&quot;&gt;http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html&lt;/a&gt;&lt;br&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;64Bit 다운로드, 압축해제&lt;br&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_support ace_function ace_builtin&quot;&gt;cd&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;opt&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;wget&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;no&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;cookies&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;no&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;check&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;certificate&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;header&lt;/span&gt; &lt;span class=&quot;ace_string&quot;&gt;&quot;Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie&quot;&lt;/span&gt; &lt;span class=&quot;ace_string&quot;&gt;&quot;http://download.oracle.com/otn-pub/java/jdk/8u91-b14/jdk-8u91-linux-x64.tar.gz&quot;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;tar&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;xzf&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;jdk&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;8&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;u91&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;linux&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;x64&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;tar&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;gz&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h3&gt;Java설치 / 기본 JDK변경&lt;/h3&gt;&lt;div&gt;alternatives 명령어 : 여러 버전의 JDK가 설치 되어 있을때 기본 JDK를 변경해 주는 명령어&lt;br&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_support ace_function ace_builtin&quot;&gt;cd&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;opt&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;jdk1&lt;/span&gt;&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;.8.0&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;_91&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;alternatives&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;install&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;usr&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;bin&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;java&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;java&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;opt&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;jdk1&lt;/span&gt;&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;.8.0&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;_91&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;bin&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;java&lt;/span&gt; &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;2&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;alternatives&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;config&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;java&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;There&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;are&lt;/span&gt; &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;3&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;programs&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;which&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;provide&lt;/span&gt; &lt;span class=&quot;ace_string ace_start&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;java&lt;/span&gt;&lt;span class=&quot;ace_string ace_end&quot;&gt;'&lt;/span&gt;.
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;  &lt;span class=&quot;ace_identifier&quot;&gt;Selection&lt;/span&gt;    &lt;span class=&quot;ace_identifier&quot;&gt;Command&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-----------------------------------------------&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;*&lt;/span&gt;  &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;1&lt;/span&gt;           &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;opt&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;jdk1&lt;/span&gt;&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;.7.0&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;_71&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;bin&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;java&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;+&lt;/span&gt; &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;2&lt;/span&gt;           &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;opt&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;jdk1&lt;/span&gt;&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;.8.0&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;_45&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;bin&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;java&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;   &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;3&lt;/span&gt;           &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;opt&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;jdk1&lt;/span&gt;&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;.8.0&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;_77&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;bin&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;java&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;   &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;4&lt;/span&gt;           &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;opt&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;jdk1&lt;/span&gt;&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;.8.0&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;_91&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;bin&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;java&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;Enter&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;to&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;keep&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;the&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;current&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;selection&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt;, &lt;span class=&quot;ace_identifier&quot;&gt;or&lt;/span&gt; &lt;span class=&quot;ace_support ace_function ace_builtin&quot;&gt;type&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;selection&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;number&lt;/span&gt;: &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;4&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;ul&gt;&lt;li&gt;javac와 jar 명령어 경로를 대체해준다&lt;br&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;alternatives&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;install&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;usr&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;bin&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;jar&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;jar&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;opt&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;jdk1&lt;/span&gt;&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;.8.0&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;_91&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;bin&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;jar&lt;/span&gt; &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;2&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;alternatives&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;install&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;usr&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;bin&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;javac&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;javac&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;opt&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;jdk1&lt;/span&gt;&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;.8.0&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;_91&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;bin&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;javac&lt;/span&gt; &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;2&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;alternatives&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;ace_support ace_function ace_builtin&quot;&gt;set&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;jar&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;opt&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;jdk1&lt;/span&gt;&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;.8.0&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;_91&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;bin&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;jar&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;alternatives&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;ace_support ace_function ace_builtin&quot;&gt;set&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;javac&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;opt&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;jdk1&lt;/span&gt;&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;.8.0&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;_91&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;bin&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;javac&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h3&gt;설치된 Jave 버전 확인&lt;/h3&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;시스템에서 사용되는 java 버전 확인&lt;br&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;java&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;version&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;java&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;version&lt;/span&gt; &lt;span class=&quot;ace_string&quot;&gt;&quot;1.8.0_91&quot;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;Java&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;TM&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;SE&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;Runtime&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;Environment&lt;/span&gt; &lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;build&lt;/span&gt; &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;1.8.0&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;_91&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;b14&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;Java&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;HotSpot&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;TM&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;64&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;Bit&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;Server&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;VM&lt;/span&gt; &lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;build&lt;/span&gt; &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;25.91&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;b14&lt;/span&gt;, &lt;span class=&quot;ace_identifier&quot;&gt;mixed&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;mode&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h3&gt;환경 변수 변경&lt;/h3&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Setup&amp;nbsp;&lt;b&gt;JAVA_HOME, JRE_HOME, PATH&lt;/b&gt;&amp;nbsp;variable&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_keyword&quot;&gt;export&lt;/span&gt; &lt;span class=&quot;ace_variable&quot;&gt;JAVA_HOME=&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;opt&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;jdk1&lt;/span&gt;&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;.8.0&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;_91&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_keyword&quot;&gt;export&lt;/span&gt; &lt;span class=&quot;ace_variable&quot;&gt;JRE_HOME=&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;opt&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;jdk1&lt;/span&gt;&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;.8.0&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;_91&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;jre&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_keyword&quot;&gt;export&lt;/span&gt; &lt;span class=&quot;ace_variable&quot;&gt;PATH=$PATH&lt;/span&gt;:&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;opt&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;jdk1&lt;/span&gt;&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;.8.0&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;_91&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;bin&lt;/span&gt;:&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;opt&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;jdk1&lt;/span&gt;&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;.8.0&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;_91&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;jre&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;bin&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;b&gt;/etc/enviroment&lt;/b&gt; 파일에 환경 변수 내용이 추가되면 system이 부팅될때 자동으로 로딩됨&lt;/div&gt;&lt;/div&gt;
  &lt;script&gt;document.body.onkeyup = function(e) {
if (e.keyCode === 39) window.location.href = '[Semanage] SSH only 설정 (port2222).html';
if (e.keyCode === 37) window.location.href = '[MySQL] 설치.html';
}&lt;/script&gt;
&lt;/body&gt;
&lt;/html&gt;</description>
      <category>Programming/Linux</category>
      <category>java</category>
      <category>jdk</category>
      <category>jre</category>
      <author>Tez.Park</author>
      <guid isPermaLink="true">https://sham.tistory.com/137</guid>
      <comments>https://sham.tistory.com/137#entry137comment</comments>
      <pubDate>Sun, 25 Sep 2016 17:24:17 +0900</pubDate>
    </item>
    <item>
      <title>[Hostname] Change hostname</title>
      <link>https://sham.tistory.com/136</link>
      <description>&lt;!DOCTYPE html&gt;
&lt;html&gt;
&lt;head&gt;
  &lt;meta charset=&quot;utf-8&quot;&gt;
  &lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;&gt;
  &lt;!-- common.css --&gt;
  &lt;style&gt;* {-webkit-tap-highlight-color: rgba(0,0,0,0);}html {-webkit-text-size-adjust: none;}body {font-family: Arial, Helvetica, sans-serif;margin: 0;color: #333;word-wrap: break-word;}h1, h2, h3, h4, h5, h6 {line-height: 1.1;}img {max-width: 100% !important;}blockquote {margin: 0;padding: 0 15px;color: #777;border-left: 4px solid #ddd;}hr {background-color: #ddd;border: 0;height: 1px;margin: 15px 0;}code {font-family: Menlo, Consolas, 'Ubuntu Mono', Monaco, 'source-code-pro', monospace;line-height: 1.4;margin: 0;padding: 0.2em 0;font-size: 85%;background-color: rgba(0,0,0,0.04);border-radius: 3px;}pre &gt; code {margin: 0;padding: 0;font-size: 100%;word-break: normal;background: transparent;border: 0;}ol {list-style-type: decimal;}ol ol, ul ol {list-style-type: lower-latin;}ol ol ol, ul ol ol, ul ul ol, ol ul ol {list-style-type: lower-roman;}table {border-spacing: 0;border-collapse: collapse;margin-top: 0;margin-bottom: 16px;}table th {font-weight: bold;}table th, table td {padding: 6px 13px;border: 1px solid #ddd;}table tr {border-top: 1px solid #ccc;}table tr:nth-child(even) {background-color: #f8f8f8;}input[type=&quot;checkbox&quot;] {cursor: default;margin-right: 0.5em;font-size: 13px;}.task-list-item {list-style-type: none;}.task-list-item+.task-list-item {margin-top: 3px;}.task-list-item input {float: left;margin: 0.3em 1em 0.25em -1.6em;vertical-align: middle;}#tag-field {margin: 8px 2px 10px;}#tag-field .tag {display: inline-block;background: #cadff3;border-radius: 4px;padding: 1px 8px;color: black;font-size: 12px;margin-right: 10px;line-height: 1.4;}&lt;/style&gt;
  &lt;!-- ace-static.css --&gt;
  &lt;style&gt;.ace_static_highlight {white-space: pre-wrap;}.ace_static_highlight .ace_gutter {width: 2em;text-align: right;padding: 0 3px 0 0;margin-right: 3px;}.ace_static_highlight.ace_show_gutter &gt; .ace_line {padding-left: 2.6em;}.ace_static_highlight .ace_line {position: relative;}.ace_static_highlight .ace_gutter-cell {-moz-user-select: -moz-none;-khtml-user-select: none;-webkit-user-select: none;user-select: none;top: 0;bottom: 0;left: 0;position: absolute;}.ace_static_highlight .ace_gutter-cell:before {content: counter(ace_line, decimal);counter-increment: ace_line;}.ace_static_highlight {counter-reset: ace_line;}&lt;/style&gt;
  &lt;style&gt;.ace-idle-fingers .ace_gutter {background: #3b3b3b;color: rgb(153,153,153)}.ace-idle-fingers .ace_print-margin {width: 1px;background: #3b3b3b}.ace-idle-fingers {background-color: #323232;color: #FFFFFF}.ace-idle-fingers .ace_cursor {color: #91FF00}.ace-idle-fingers .ace_marker-layer .ace_selection {background: rgba(90, 100, 126, 0.88)}.ace-idle-fingers.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px #323232;}.ace-idle-fingers .ace_marker-layer .ace_step {background: rgb(102, 82, 0)}.ace-idle-fingers .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid #404040}.ace-idle-fingers .ace_marker-layer .ace_active-line {background: #353637}.ace-idle-fingers .ace_gutter-active-line {background-color: #353637}.ace-idle-fingers .ace_marker-layer .ace_selected-word {border: 1px solid rgba(90, 100, 126, 0.88)}.ace-idle-fingers .ace_invisible {color: #404040}.ace-idle-fingers .ace_keyword,.ace-idle-fingers .ace_meta {color: #CC7833}.ace-idle-fingers .ace_constant,.ace-idle-fingers .ace_constant.ace_character,.ace-idle-fingers .ace_constant.ace_character.ace_escape,.ace-idle-fingers .ace_constant.ace_other,.ace-idle-fingers .ace_support.ace_constant {color: #6C99BB}.ace-idle-fingers .ace_invalid {color: #FFFFFF;background-color: #FF0000}.ace-idle-fingers .ace_fold {background-color: #CC7833;border-color: #FFFFFF}.ace-idle-fingers .ace_support.ace_function {color: #B83426}.ace-idle-fingers .ace_variable.ace_parameter {font-style: italic}.ace-idle-fingers .ace_string {color: #A5C261}.ace-idle-fingers .ace_string.ace_regexp {color: #CCCC33}.ace-idle-fingers .ace_comment {font-style: italic;color: #BC9458}.ace-idle-fingers .ace_meta.ace_tag {color: #FFE5BB}.ace-idle-fingers .ace_entity.ace_name {color: #FFC66D}.ace-idle-fingers .ace_collab.ace_user1 {color: #323232;background-color: #FFF980}.ace-idle-fingers .ace_indent-guide {background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWMwMjLyZYiPj/8PAAreAwAI1+g0AAAAAElFTkSuQmCC) right repeat-y}&lt;/style&gt;
  &lt;!-- export.css --&gt;
  &lt;style&gt;
    body{margin:0 auto;max-width:100%;line-height:1.4}
    #nav{margin:5px 0 10px;font-size:15px}
    #titlearea{border-bottom:1px solid #ccc;font-size:17px;padding:10px 0;}
    #contentarea{font-size:15px;margin:16px 0}
    .cell{outline:0;min-height:20px;margin:5px 0;padding:5px 0;}
    .code-cell{font-family:Menlo,Consolas,'Ubuntu Mono',Monaco,'source-code-pro',monospace;font-size:12px;}
    .latex-cell{white-space:pre-wrap;}
  &lt;/style&gt;
  &lt;!-- User CSS --&gt;
  &lt;style&gt; .text-cell {font-size: 14px;}.code-cell {font-size: 12px;}.markdown-cell {font-size: 14px;}.latex-cell {font-size: 14px;}&lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
  &lt;div id=&quot;contentarea&quot;&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h3&gt;CentOS 6&lt;/h3&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;root&lt;/span&gt;@&lt;span class=&quot;ace_identifier&quot;&gt;tez&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;~&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt;# &lt;span class=&quot;ace_identifier&quot;&gt;hostname&lt;/span&gt; &lt;span class=&quot;ace_paren ace_lparen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;hostname&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;ace_comment&quot;&gt;#&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;즉&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;시&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;적&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;용&lt;/span&gt; / &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;재&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;부&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;팅&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;시&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;초&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;기&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;화&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;root&lt;/span&gt;@&lt;span class=&quot;ace_identifier&quot;&gt;tez&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;~&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt;# &lt;span class=&quot;ace_identifier&quot;&gt;vi&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;etc&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;sysconfig&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;network&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_variable&quot;&gt;HOSTNAME=&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;hostname&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;ace_comment&quot;&gt;# &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;수&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;정&lt;/span&gt; / &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;재&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;부&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;팅&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;시&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;유&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;지&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;root&lt;/span&gt;@&lt;span class=&quot;ace_identifier&quot;&gt;tez&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;~&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt;# &lt;span class=&quot;ace_identifier&quot;&gt;vi&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;etc&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;hosts&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;127.0.0.1&lt;/span&gt;   &lt;span class=&quot;ace_identifier&quot;&gt;localhost&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;localhost&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;::&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;1&lt;/span&gt;         &lt;span class=&quot;ace_identifier&quot;&gt;localhost&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;localhost&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;자&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;기&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;IP&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;ace_paren ace_lparen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;hostname&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;ace_comment&quot;&gt;# &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;추&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;가&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h3&gt;CentOS 7&lt;/h3&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;root&lt;/span&gt;@&lt;span class=&quot;ace_identifier&quot;&gt;tez&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;~&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt;# &lt;span class=&quot;ace_identifier&quot;&gt;hostnamectl&lt;/span&gt; &lt;span class=&quot;ace_support ace_function ace_builtin&quot;&gt;set&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;hostname&lt;/span&gt; &lt;span class=&quot;ace_paren ace_lparen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;hostname&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;
  &lt;script&gt;document.body.onkeyup = function(e) {
if (e.keyCode === 39) window.location.href = '[Process] 특정 프로세스가 사용하는 개수 확인.html';
if (e.keyCode === 37) window.location.href = '[Service] 목록.html';
}&lt;/script&gt;
&lt;/body&gt;
&lt;/html&gt;</description>
      <category>Programming/Linux</category>
      <category>Hostname</category>
      <category>hostnamectl</category>
      <author>Tez.Park</author>
      <guid isPermaLink="true">https://sham.tistory.com/136</guid>
      <comments>https://sham.tistory.com/136#entry136comment</comments>
      <pubDate>Sun, 25 Sep 2016 17:17:02 +0900</pubDate>
    </item>
    <item>
      <title>[Data] Date command</title>
      <link>https://sham.tistory.com/135</link>
      <description>
  &lt;meta charset=&quot;utf-8&quot;&gt;
  &lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;&gt;
  &lt;!-- common.css --&gt;
  &lt;style&gt;* {-webkit-tap-highlight-color: rgba(0,0,0,0);}html {-webkit-text-size-adjust: none;}body {font-family: Arial, Helvetica, sans-serif;margin: 0;color: #333;word-wrap: break-word;}h1, h2, h3, h4, h5, h6 {line-height: 1.1;}img {max-width: 100% !important;}blockquote {margin: 0;padding: 0 15px;color: #777;border-left: 4px solid #ddd;}hr {background-color: #ddd;border: 0;height: 1px;margin: 15px 0;}code {font-family: Menlo, Consolas, 'Ubuntu Mono', Monaco, 'source-code-pro', monospace;line-height: 1.4;margin: 0;padding: 0.2em 0;font-size: 85%;background-color: rgba(0,0,0,0.04);border-radius: 3px;}pre &gt; code {margin: 0;padding: 0;font-size: 100%;word-break: normal;background: transparent;border: 0;}ol {list-style-type: decimal;}ol ol, ul ol {list-style-type: lower-latin;}ol ol ol, ul ol ol, ul ul ol, ol ul ol {list-style-type: lower-roman;}table {border-spacing: 0;border-collapse: collapse;margin-top: 0;margin-bottom: 16px;}table th {font-weight: bold;}table th, table td {padding: 6px 13px;border: 1px solid #ddd;}table tr {border-top: 1px solid #ccc;}table tr:nth-child(even) {background-color: #f8f8f8;}input[type=&quot;checkbox&quot;] {cursor: default;margin-right: 0.5em;font-size: 13px;}.task-list-item {list-style-type: none;}.task-list-item+.task-list-item {margin-top: 3px;}.task-list-item input {float: left;margin: 0.3em 1em 0.25em -1.6em;vertical-align: middle;}#tag-field {margin: 8px 2px 10px;}#tag-field .tag {display: inline-block;background: #cadff3;border-radius: 4px;padding: 1px 8px;color: black;font-size: 12px;margin-right: 10px;line-height: 1.4;}&lt;/style&gt;
  &lt;!-- ace-static.css --&gt;
  &lt;style&gt;.ace_static_highlight {white-space: pre-wrap;}.ace_static_highlight .ace_gutter {width: 2em;text-align: right;padding: 0 3px 0 0;margin-right: 3px;}.ace_static_highlight.ace_show_gutter &gt; .ace_line {padding-left: 2.6em;}.ace_static_highlight .ace_line {position: relative;}.ace_static_highlight .ace_gutter-cell {-moz-user-select: -moz-none;-khtml-user-select: none;-webkit-user-select: none;user-select: none;top: 0;bottom: 0;left: 0;position: absolute;}.ace_static_highlight .ace_gutter-cell:before {content: counter(ace_line, decimal);counter-increment: ace_line;}.ace_static_highlight {counter-reset: ace_line;}&lt;/style&gt;
  &lt;style&gt;.ace-idle-fingers .ace_gutter {background: #3b3b3b;color: rgb(153,153,153)}.ace-idle-fingers .ace_print-margin {width: 1px;background: #3b3b3b}.ace-idle-fingers {background-color: #323232;color: #FFFFFF}.ace-idle-fingers .ace_cursor {color: #91FF00}.ace-idle-fingers .ace_marker-layer .ace_selection {background: rgba(90, 100, 126, 0.88)}.ace-idle-fingers.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px #323232;}.ace-idle-fingers .ace_marker-layer .ace_step {background: rgb(102, 82, 0)}.ace-idle-fingers .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid #404040}.ace-idle-fingers .ace_marker-layer .ace_active-line {background: #353637}.ace-idle-fingers .ace_gutter-active-line {background-color: #353637}.ace-idle-fingers .ace_marker-layer .ace_selected-word {border: 1px solid rgba(90, 100, 126, 0.88)}.ace-idle-fingers .ace_invisible {color: #404040}.ace-idle-fingers .ace_keyword,.ace-idle-fingers .ace_meta {color: #CC7833}.ace-idle-fingers .ace_constant,.ace-idle-fingers .ace_constant.ace_character,.ace-idle-fingers .ace_constant.ace_character.ace_escape,.ace-idle-fingers .ace_constant.ace_other,.ace-idle-fingers .ace_support.ace_constant {color: #6C99BB}.ace-idle-fingers .ace_invalid {color: #FFFFFF;background-color: #FF0000}.ace-idle-fingers .ace_fold {background-color: #CC7833;border-color: #FFFFFF}.ace-idle-fingers .ace_support.ace_function {color: #B83426}.ace-idle-fingers .ace_variable.ace_parameter {font-style: italic}.ace-idle-fingers .ace_string {color: #A5C261}.ace-idle-fingers .ace_string.ace_regexp {color: #CCCC33}.ace-idle-fingers .ace_comment {font-style: italic;color: #BC9458}.ace-idle-fingers .ace_meta.ace_tag {color: #FFE5BB}.ace-idle-fingers .ace_entity.ace_name {color: #FFC66D}.ace-idle-fingers .ace_collab.ace_user1 {color: #323232;background-color: #FFF980}.ace-idle-fingers .ace_indent-guide {background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWMwMjLyZYiPj/8PAAreAwAI1+g0AAAAAElFTkSuQmCC) right repeat-y}&lt;/style&gt;
  &lt;!-- export.css --&gt;
  &lt;style&gt;
    body{margin:0 auto;max-width:100%;line-height:1.4}
    #nav{margin:5px 0 10px;font-size:15px}
    #titlearea{border-bottom:1px solid #ccc;font-size:17px;padding:10px 0;}
    #contentarea{font-size:15px;margin:16px 0}
    .cell{outline:0;min-height:20px;margin:5px 0;padding:5px 0;}
    .code-cell{font-family:Menlo,Consolas,'Ubuntu Mono',Monaco,'source-code-pro',monospace;font-size:12px;}
    .latex-cell{white-space:pre-wrap;}
  &lt;/style&gt;
  &lt;!-- User CSS --&gt;
  &lt;style&gt; .text-cell {font-size: 14px;}.code-cell {font-size: 12px;}.markdown-cell {font-size: 14px;}.latex-cell {font-size: 14px;}&lt;/style&gt;


  &lt;div id=&quot;contentarea&quot;&gt;&lt;div class=&quot;cell text-cell&quot;&gt;현재 날짜와 시간을 YYYY-MM-DD HH:MI:SS 형식으로 출력&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;date&lt;/span&gt; &lt;span class=&quot;ace_string ace_start&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;+%Y-%m-%d %H:%M:%S&lt;/span&gt;&lt;span class=&quot;ace_string ace_end&quot;&gt;'&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;2016&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;08&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;21&lt;/span&gt; &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;16&lt;/span&gt;:&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;50&lt;/span&gt;:&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;03&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;현재 날짜를 특정 날짜로 설정&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;date&lt;/span&gt; &lt;span class=&quot;ace_string ace_start&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;+%Y-%m-%d&lt;/span&gt;&lt;span class=&quot;ace_string ace_end&quot;&gt;'&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;s&lt;/span&gt; &lt;span class=&quot;ace_string&quot;&gt;&quot;2016-08-21&quot;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;2016&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;08&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;21&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;현재 시간을 특정 시간으로 설정&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;date&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;+%&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;T&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;s&lt;/span&gt; &lt;span class=&quot;ace_string&quot;&gt;&quot;16:50:00&quot;&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;date와 time 을 동시에 지정&lt;div&gt;&amp;nbsp; - date mmddggmmyyy.ss&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;date&lt;/span&gt; &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;082116502016.03&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;2016.&lt;/span&gt; &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;08.&lt;/span&gt; &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;21.&lt;/span&gt; &lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;일&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;16&lt;/span&gt;:&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;50&lt;/span&gt;:&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;03&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;KST&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;
  &lt;script&gt;document.body.onkeyup = function(e) {
if (e.keyCode === 39) window.location.href = '[NTP] 시간 동기화 자체 서버 구축   클라이언트 사용.html';
if (e.keyCode === 37) window.location.href = '[Process] 특정 프로세스가 사용하는 개수 확인.html';
}&lt;/script&gt;</description>
      <category>Programming/Linux</category>
      <category>data</category>
      <category>Linux</category>
      <author>Tez.Park</author>
      <guid isPermaLink="true">https://sham.tistory.com/135</guid>
      <comments>https://sham.tistory.com/135#entry135comment</comments>
      <pubDate>Sun, 25 Sep 2016 17:15:11 +0900</pubDate>
    </item>
    <item>
      <title>Check Linux OS type, Version</title>
      <link>https://sham.tistory.com/134</link>
      <description>&lt;meta charset=&quot;utf-8&quot;&gt;
  &lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;&gt;
  &lt;!-- common.css --&gt;
  &lt;style&gt;* {-webkit-tap-highlight-color: rgba(0,0,0,0);}html {-webkit-text-size-adjust: none;}body {font-family: Arial, Helvetica, sans-serif;margin: 0;color: #333;word-wrap: break-word;}h1, h2, h3, h4, h5, h6 {line-height: 1.1;}img {max-width: 100% !important;}blockquote {margin: 0;padding: 0 15px;color: #777;border-left: 4px solid #ddd;}hr {background-color: #ddd;border: 0;height: 1px;margin: 15px 0;}code {font-family: Menlo, Consolas, 'Ubuntu Mono', Monaco, 'source-code-pro', monospace;line-height: 1.4;margin: 0;padding: 0.2em 0;font-size: 85%;background-color: rgba(0,0,0,0.04);border-radius: 3px;}pre &gt; code {margin: 0;padding: 0;font-size: 100%;word-break: normal;background: transparent;border: 0;}ol {list-style-type: decimal;}ol ol, ul ol {list-style-type: lower-latin;}ol ol ol, ul ol ol, ul ul ol, ol ul ol {list-style-type: lower-roman;}table {border-spacing: 0;border-collapse: collapse;margin-top: 0;margin-bottom: 16px;}table th {font-weight: bold;}table th, table td {padding: 6px 13px;border: 1px solid #ddd;}table tr {border-top: 1px solid #ccc;}table tr:nth-child(even) {background-color: #f8f8f8;}input[type=&quot;checkbox&quot;] {cursor: default;margin-right: 0.5em;font-size: 13px;}.task-list-item {list-style-type: none;}.task-list-item+.task-list-item {margin-top: 3px;}.task-list-item input {float: left;margin: 0.3em 1em 0.25em -1.6em;vertical-align: middle;}#tag-field {margin: 8px 2px 10px;}#tag-field .tag {display: inline-block;background: #cadff3;border-radius: 4px;padding: 1px 8px;color: black;font-size: 12px;margin-right: 10px;line-height: 1.4;}&lt;/style&gt;
  &lt;!-- ace-static.css --&gt;
  &lt;style&gt;.ace_static_highlight {white-space: pre-wrap;}.ace_static_highlight .ace_gutter {width: 2em;text-align: right;padding: 0 3px 0 0;margin-right: 3px;}.ace_static_highlight.ace_show_gutter &gt; .ace_line {padding-left: 2.6em;}.ace_static_highlight .ace_line {position: relative;}.ace_static_highlight .ace_gutter-cell {-moz-user-select: -moz-none;-khtml-user-select: none;-webkit-user-select: none;user-select: none;top: 0;bottom: 0;left: 0;position: absolute;}.ace_static_highlight .ace_gutter-cell:before {content: counter(ace_line, decimal);counter-increment: ace_line;}.ace_static_highlight {counter-reset: ace_line;}&lt;/style&gt;
  &lt;style&gt;.ace-idle-fingers .ace_gutter {background: #3b3b3b;color: rgb(153,153,153)}.ace-idle-fingers .ace_print-margin {width: 1px;background: #3b3b3b}.ace-idle-fingers {background-color: #323232;color: #FFFFFF}.ace-idle-fingers .ace_cursor {color: #91FF00}.ace-idle-fingers .ace_marker-layer .ace_selection {background: rgba(90, 100, 126, 0.88)}.ace-idle-fingers.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px #323232;}.ace-idle-fingers .ace_marker-layer .ace_step {background: rgb(102, 82, 0)}.ace-idle-fingers .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid #404040}.ace-idle-fingers .ace_marker-layer .ace_active-line {background: #353637}.ace-idle-fingers .ace_gutter-active-line {background-color: #353637}.ace-idle-fingers .ace_marker-layer .ace_selected-word {border: 1px solid rgba(90, 100, 126, 0.88)}.ace-idle-fingers .ace_invisible {color: #404040}.ace-idle-fingers .ace_keyword,.ace-idle-fingers .ace_meta {color: #CC7833}.ace-idle-fingers .ace_constant,.ace-idle-fingers .ace_constant.ace_character,.ace-idle-fingers .ace_constant.ace_character.ace_escape,.ace-idle-fingers .ace_constant.ace_other,.ace-idle-fingers .ace_support.ace_constant {color: #6C99BB}.ace-idle-fingers .ace_invalid {color: #FFFFFF;background-color: #FF0000}.ace-idle-fingers .ace_fold {background-color: #CC7833;border-color: #FFFFFF}.ace-idle-fingers .ace_support.ace_function {color: #B83426}.ace-idle-fingers .ace_variable.ace_parameter {font-style: italic}.ace-idle-fingers .ace_string {color: #A5C261}.ace-idle-fingers .ace_string.ace_regexp {color: #CCCC33}.ace-idle-fingers .ace_comment {font-style: italic;color: #BC9458}.ace-idle-fingers .ace_meta.ace_tag {color: #FFE5BB}.ace-idle-fingers .ace_entity.ace_name {color: #FFC66D}.ace-idle-fingers .ace_collab.ace_user1 {color: #323232;background-color: #FFF980}.ace-idle-fingers .ace_indent-guide {background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWMwMjLyZYiPj/8PAAreAwAI1+g0AAAAAElFTkSuQmCC) right repeat-y}&lt;/style&gt;
  &lt;!-- export.css --&gt;
  &lt;style&gt;
    body{margin:0 auto;max-width:100%;line-height:1.4}
    #nav{margin:5px 0 10px;font-size:15px}
    #titlearea{border-bottom:1px solid #ccc;font-size:17px;padding:10px 0;}
    #contentarea{font-size:15px;margin:16px 0}
    .cell{outline:0;min-height:20px;margin:5px 0;padding:5px 0;}
    .code-cell{font-family:Menlo,Consolas,'Ubuntu Mono',Monaco,'source-code-pro',monospace;font-size:12px;}
    .latex-cell{white-space:pre-wrap;}
  &lt;/style&gt;
  &lt;!-- User CSS --&gt;
  &lt;style&gt; .text-cell {font-size: 14px;}.code-cell {font-size: 12px;}.markdown-cell {font-size: 14px;}.latex-cell {font-size: 14px;}&lt;/style&gt;


  &lt;div id=&quot;contentarea&quot;&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h3&gt;배보판 버전 확인&lt;/h3&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;방법1&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;root&lt;/span&gt;@&lt;span class=&quot;ace_identifier&quot;&gt;tez&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;~&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt;# &lt;span class=&quot;ace_identifier&quot;&gt;grep&lt;/span&gt; . &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;etc&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/*-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;release&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;etc&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;centos&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;release&lt;/span&gt;:&lt;span class=&quot;ace_identifier&quot;&gt;CentOS&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;Linux&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;release&lt;/span&gt; &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;7.2.1511&lt;/span&gt; &lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;Core&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;etc&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;os&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;release&lt;/span&gt;:&lt;span class=&quot;ace_variable&quot;&gt;NAME=&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;&quot;CentOS Linux&quot;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;etc&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;os&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;release&lt;/span&gt;:&lt;span class=&quot;ace_variable&quot;&gt;VERSION=&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;&quot;7 (Core)&quot;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;etc&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;os&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;release&lt;/span&gt;:&lt;span class=&quot;ace_variable&quot;&gt;ID=&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;&quot;centos&quot;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;etc&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;os&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;release&lt;/span&gt;:&lt;span class=&quot;ace_variable&quot;&gt;ID_LIKE=&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;&quot;rhel fedora&quot;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;etc&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;os&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;release&lt;/span&gt;:&lt;span class=&quot;ace_variable&quot;&gt;VERSION_ID=&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;&quot;7&quot;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;etc&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;os&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;release&lt;/span&gt;:&lt;span class=&quot;ace_variable&quot;&gt;PRETTY_NAME=&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;&quot;CentOS Linux 7 (Core)&quot;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;etc&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;os&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;release&lt;/span&gt;:&lt;span class=&quot;ace_variable&quot;&gt;ANSI_COLOR=&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;&quot;0;31&quot;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;etc&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;os&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;release&lt;/span&gt;:&lt;span class=&quot;ace_variable&quot;&gt;CPE_NAME=&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;&quot;cpe:/o:centos:centos:7&quot;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;etc&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;os&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;release&lt;/span&gt;:&lt;span class=&quot;ace_variable&quot;&gt;HOME_URL=&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;&quot;https://www.centos.org/&quot;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;etc&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;os&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;release&lt;/span&gt;:&lt;span class=&quot;ace_variable&quot;&gt;BUG_REPORT_URL=&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;&quot;https://bugs.centos.org/&quot;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;etc&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;os&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;release&lt;/span&gt;:&lt;span class=&quot;ace_variable&quot;&gt;CENTOS_MANTISBT_PROJECT=&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;&quot;CentOS-7&quot;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;etc&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;os&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;release&lt;/span&gt;:&lt;span class=&quot;ace_variable&quot;&gt;CENTOS_MANTISBT_PROJECT_VERSION=&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;&quot;7&quot;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;etc&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;os&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;release&lt;/span&gt;:&lt;span class=&quot;ace_variable&quot;&gt;REDHAT_SUPPORT_PRODUCT=&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;&quot;centos&quot;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;etc&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;os&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;release&lt;/span&gt;:&lt;span class=&quot;ace_variable&quot;&gt;REDHAT_SUPPORT_PRODUCT_VERSION=&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;&quot;7&quot;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;etc&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;redhat&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;release&lt;/span&gt;:&lt;span class=&quot;ace_identifier&quot;&gt;CentOS&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;Linux&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;release&lt;/span&gt; &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;7.2.1511&lt;/span&gt; &lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;Core&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;etc&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;system&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;release&lt;/span&gt;:&lt;span class=&quot;ace_identifier&quot;&gt;CentOS&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;Linux&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;release&lt;/span&gt; &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;7.2.1511&lt;/span&gt; &lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;Core&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;ul&gt;&lt;li&gt;방법2&amp;nbsp;&lt;/li&gt;&lt;ul&gt;&lt;li&gt;배포판의 버전을 가장 쉽게 확인하는 방법&lt;/li&gt;&lt;li&gt;보안 등의 이유로 다른 내용으로 바뀌어 있는 경우도 있음 (아래처럼)&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;root&lt;/span&gt;@&lt;span class=&quot;ace_identifier&quot;&gt;tez&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;~&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt;# &lt;span class=&quot;ace_identifier&quot;&gt;grep&lt;/span&gt; . &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;etc&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;issue&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;*&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;etc&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;issue&lt;/span&gt;:&lt;span class=&quot;ace_constant&quot;&gt;\S&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;etc&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;issue&lt;/span&gt;:&lt;span class=&quot;ace_identifier&quot;&gt;Kernel&lt;/span&gt; &lt;span class=&quot;ace_constant&quot;&gt;\r&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;on&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;an&lt;/span&gt; &lt;span class=&quot;ace_constant&quot;&gt;\m&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;etc&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;issue&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;net&lt;/span&gt;:&lt;span class=&quot;ace_constant&quot;&gt;\S&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;etc&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;issue&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;net&lt;/span&gt;:&lt;span class=&quot;ace_identifier&quot;&gt;Kernel&lt;/span&gt; &lt;span class=&quot;ace_constant&quot;&gt;\r&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;on&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;an&lt;/span&gt; &lt;span class=&quot;ace_constant&quot;&gt;\m&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;ul&gt;&lt;li&gt;방법3 : rpm 계열에서 사용&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;root&lt;/span&gt;@&lt;span class=&quot;ace_identifier&quot;&gt;tez&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;~&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt;# &lt;span class=&quot;ace_identifier&quot;&gt;rpm&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;qa&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;*-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;release&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;centos&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;release&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;7&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;2.1511&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;el7&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;centos&lt;/span&gt;&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;.2.10&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;x86_64&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h3&gt;커널 버전 확인&lt;/h3&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;방법1&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;root&lt;/span&gt;@&lt;span class=&quot;ace_identifier&quot;&gt;tez&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;~&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt;# &lt;span class=&quot;ace_identifier&quot;&gt;uname&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;r&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;3.10.0&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;327.18.2&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;el7&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;x86_64&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;ul&gt;&lt;li&gt;방법2 : 레드햇 계열&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;root&lt;/span&gt;@&lt;span class=&quot;ace_identifier&quot;&gt;tez&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;~&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt;# &lt;span class=&quot;ace_identifier&quot;&gt;cat&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;proc&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;version&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;Linux&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;version&lt;/span&gt; &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;3.10.0&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;327.18.2&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;el7&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;x86_64&lt;/span&gt; &lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;builder&lt;/span&gt;@&lt;span class=&quot;ace_identifier&quot;&gt;kbuilder&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;dev&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;centos&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;org&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;gcc&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;version&lt;/span&gt; &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;4.8.3&lt;/span&gt; &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;20140911&lt;/span&gt; &lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;Red&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;Hat&lt;/span&gt; &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;4.8.3&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;9&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;GCC&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;ace_comment&quot;&gt;#1 SMP Thu May 12 11:03:55 UTC 2016&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;
  &lt;script&gt;document.body.onkeyup = function(e) {
if (e.keyCode === 39) window.location.href = '[Init.sh] 초기 작업 스크립트.html';
if (e.keyCode === 37) window.location.href = '[init.sh] mysql5.7.html';
}&lt;/script&gt;</description>
      <category>Programming/Linux</category>
      <category>Linux</category>
      <author>Tez.Park</author>
      <guid isPermaLink="true">https://sham.tistory.com/134</guid>
      <comments>https://sham.tistory.com/134#entry134comment</comments>
      <pubDate>Sun, 25 Sep 2016 17:13:37 +0900</pubDate>
    </item>
    <item>
      <title>[Dump] Export/Import Database</title>
      <link>https://sham.tistory.com/133</link>
      <description>&lt;!DOCTYPE html&gt;
&lt;html&gt;
&lt;head&gt;
  &lt;meta charset=&quot;utf-8&quot;&gt;
  &lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;&gt;
  &lt;!-- common.css --&gt;
  &lt;style&gt;* {-webkit-tap-highlight-color: rgba(0,0,0,0);}html {-webkit-text-size-adjust: none;}body {font-family: Arial, Helvetica, sans-serif;margin: 0;color: #333;word-wrap: break-word;}h1, h2, h3, h4, h5, h6 {line-height: 1.1;}img {max-width: 100% !important;}blockquote {margin: 0;padding: 0 15px;color: #777;border-left: 4px solid #ddd;}hr {background-color: #ddd;border: 0;height: 1px;margin: 15px 0;}code {font-family: Menlo, Consolas, 'Ubuntu Mono', Monaco, 'source-code-pro', monospace;line-height: 1.4;margin: 0;padding: 0.2em 0;font-size: 85%;background-color: rgba(0,0,0,0.04);border-radius: 3px;}pre &gt; code {margin: 0;padding: 0;font-size: 100%;word-break: normal;background: transparent;border: 0;}ol {list-style-type: decimal;}ol ol, ul ol {list-style-type: lower-latin;}ol ol ol, ul ol ol, ul ul ol, ol ul ol {list-style-type: lower-roman;}table {border-spacing: 0;border-collapse: collapse;margin-top: 0;margin-bottom: 16px;}table th {font-weight: bold;}table th, table td {padding: 6px 13px;border: 1px solid #ddd;}table tr {border-top: 1px solid #ccc;}table tr:nth-child(even) {background-color: #f8f8f8;}input[type=&quot;checkbox&quot;] {cursor: default;margin-right: 0.5em;font-size: 13px;}.task-list-item {list-style-type: none;}.task-list-item+.task-list-item {margin-top: 3px;}.task-list-item input {float: left;margin: 0.3em 1em 0.25em -1.6em;vertical-align: middle;}#tag-field {margin: 8px 2px 10px;}#tag-field .tag {display: inline-block;background: #cadff3;border-radius: 4px;padding: 1px 8px;color: black;font-size: 12px;margin-right: 10px;line-height: 1.4;}&lt;/style&gt;
  &lt;!-- ace-static.css --&gt;
  &lt;style&gt;.ace_static_highlight {white-space: pre-wrap;}.ace_static_highlight .ace_gutter {width: 2em;text-align: right;padding: 0 3px 0 0;margin-right: 3px;}.ace_static_highlight.ace_show_gutter &gt; .ace_line {padding-left: 2.6em;}.ace_static_highlight .ace_line {position: relative;}.ace_static_highlight .ace_gutter-cell {-moz-user-select: -moz-none;-khtml-user-select: none;-webkit-user-select: none;user-select: none;top: 0;bottom: 0;left: 0;position: absolute;}.ace_static_highlight .ace_gutter-cell:before {content: counter(ace_line, decimal);counter-increment: ace_line;}.ace_static_highlight {counter-reset: ace_line;}&lt;/style&gt;
  &lt;style&gt;.ace-idle-fingers .ace_gutter {background: #3b3b3b;color: rgb(153,153,153)}.ace-idle-fingers .ace_print-margin {width: 1px;background: #3b3b3b}.ace-idle-fingers {background-color: #323232;color: #FFFFFF}.ace-idle-fingers .ace_cursor {color: #91FF00}.ace-idle-fingers .ace_marker-layer .ace_selection {background: rgba(90, 100, 126, 0.88)}.ace-idle-fingers.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px #323232;}.ace-idle-fingers .ace_marker-layer .ace_step {background: rgb(102, 82, 0)}.ace-idle-fingers .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid #404040}.ace-idle-fingers .ace_marker-layer .ace_active-line {background: #353637}.ace-idle-fingers .ace_gutter-active-line {background-color: #353637}.ace-idle-fingers .ace_marker-layer .ace_selected-word {border: 1px solid rgba(90, 100, 126, 0.88)}.ace-idle-fingers .ace_invisible {color: #404040}.ace-idle-fingers .ace_keyword,.ace-idle-fingers .ace_meta {color: #CC7833}.ace-idle-fingers .ace_constant,.ace-idle-fingers .ace_constant.ace_character,.ace-idle-fingers .ace_constant.ace_character.ace_escape,.ace-idle-fingers .ace_constant.ace_other,.ace-idle-fingers .ace_support.ace_constant {color: #6C99BB}.ace-idle-fingers .ace_invalid {color: #FFFFFF;background-color: #FF0000}.ace-idle-fingers .ace_fold {background-color: #CC7833;border-color: #FFFFFF}.ace-idle-fingers .ace_support.ace_function {color: #B83426}.ace-idle-fingers .ace_variable.ace_parameter {font-style: italic}.ace-idle-fingers .ace_string {color: #A5C261}.ace-idle-fingers .ace_string.ace_regexp {color: #CCCC33}.ace-idle-fingers .ace_comment {font-style: italic;color: #BC9458}.ace-idle-fingers .ace_meta.ace_tag {color: #FFE5BB}.ace-idle-fingers .ace_entity.ace_name {color: #FFC66D}.ace-idle-fingers .ace_collab.ace_user1 {color: #323232;background-color: #FFF980}.ace-idle-fingers .ace_indent-guide {background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWMwMjLyZYiPj/8PAAreAwAI1+g0AAAAAElFTkSuQmCC) right repeat-y}&lt;/style&gt;
  &lt;!-- export.css --&gt;
  &lt;style&gt;
    body{margin:0 auto;max-width:100%;line-height:1.4}
    #nav{margin:5px 0 10px;font-size:15px}
    #titlearea{border-bottom:1px solid #ccc;font-size:17px;padding:10px 0;}
    #contentarea{font-size:15px;margin:16px 0}
    .cell{outline:0;min-height:20px;margin:5px 0;padding:5px 0;}
    .code-cell{font-family:Menlo,Consolas,'Ubuntu Mono',Monaco,'source-code-pro',monospace;font-size:12px;}
    .latex-cell{white-space:pre-wrap;}
  &lt;/style&gt;
  &lt;!-- User CSS --&gt;
  &lt;style&gt; .text-cell {font-size: 14px;}.code-cell {font-size: 12px;}.markdown-cell {font-size: 14px;}.latex-cell {font-size: 14px;}&lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
  &lt;div id=&quot;contentarea&quot;&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h3&gt;Export Database in MySQL&lt;/h3&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;특정 Database만 dump&lt;br&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;# One Database&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;mysqldump&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;u&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;root&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;p&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;dbname&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;dbname&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;sql&lt;/span&gt; 
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;# Schema only&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;mysqldump&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;u&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;root&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;p&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;no&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;data&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;dbname&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;dbname_schema&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;sql&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;전체 Database dump&lt;br&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;# All databases&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;mysqldump&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;u&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;root&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;p&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;all&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;databases&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;alldatabases&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;sql&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;# Schema only&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;mysqldump&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;u&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;root&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;p&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;no&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;data&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;all&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;databases&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;alldb_schema&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;sql&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;font&gt;dump를 하면 database lock이 걸릴수 있기 때문에 lock이 걸리면 안되는 경우 아래 옵션을 사용해준다&lt;/font&gt;&lt;div&gt;&lt;span style=&quot;color: rgb(44, 45, 48); font-family: Slack-Lato, appleLogo, sans-serif; font-size: 15px; widows: 1; background-color: rgb(255, 255, 255);&quot;&gt;&lt;code&gt;--routines --triggers --skip-lock-tables --single-transaction&lt;/code&gt;&lt;/span&gt;&lt;br&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;# One Database - no lock&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;mysqldump&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;u&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;root&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;p&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;routines&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;triggers&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;skip&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;lock&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;tables&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;single&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;transaction&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;dbname&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;dbname&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;sql&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;# All databases - no lock&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;mysqldump&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;u&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;root&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;p&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;routines&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;triggers&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;skip&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;lock&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;tables&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;single&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;transaction&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;no&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;data&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;all&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;databases&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;alldatabases&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;sql&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;hr&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h3&gt;Import dump in MySQL&lt;/h3&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;database, schema only dump 모두 같은 명령어 사용&lt;br&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;mysql&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;u&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;root&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;p&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;lt;&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;adddatabases&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;sql&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;dump 도중 function 함수를 만들지 못하는 에러가 발생하면 mysql console에 접속해서 아래 작업을 해준다.&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;mysql&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;SET&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;GLOBAL&lt;/span&gt; &lt;span class=&quot;ace_variable&quot;&gt;log_bin_trust_function_creators=&lt;/span&gt;&lt;span class=&quot;ace_string ace_start&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;ON&lt;/span&gt;&lt;span class=&quot;ace_string ace_end&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;mysql&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;flush&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;privileges&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;;&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;
  &lt;script&gt;document.body.onkeyup = function(e) {
}&lt;/script&gt;
&lt;/body&gt;
&lt;/html&gt;</description>
      <category>Programming/MySQL</category>
      <category>Database</category>
      <category>Dump</category>
      <category>MySQL</category>
      <category>mysqldump</category>
      <author>Tez.Park</author>
      <guid isPermaLink="true">https://sham.tistory.com/133</guid>
      <comments>https://sham.tistory.com/133#entry133comment</comments>
      <pubDate>Sun, 21 Aug 2016 21:47:00 +0900</pubDate>
    </item>
    <item>
      <title>Device Type Checker</title>
      <link>https://sham.tistory.com/132</link>
      <description>
  &lt;meta charset=&quot;utf-8&quot;&gt;
  &lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;&gt;
  &lt;!-- common.css --&gt;
  &lt;style&gt;* {-webkit-tap-highlight-color: rgba(0,0,0,0);}html {-webkit-text-size-adjust: none;}body {font-family: Arial, Helvetica, sans-serif;margin: 0;color: #333;word-wrap: break-word;}h1, h2, h3, h4, h5, h6 {line-height: 1.1;}img {max-width: 100% !important;}blockquote {margin: 0;padding: 0 15px;color: #777;border-left: 4px solid #ddd;}hr {background-color: #ddd;border: 0;height: 1px;margin: 15px 0;}code {font-family: Menlo, Consolas, 'Ubuntu Mono', Monaco, 'source-code-pro', monospace;line-height: 1.4;margin: 0;padding: 0.2em 0;font-size: 85%;background-color: rgba(0,0,0,0.04);border-radius: 3px;}pre &gt; code {margin: 0;padding: 0;font-size: 100%;word-break: normal;background: transparent;border: 0;}ol {list-style-type: decimal;}ol ol, ul ol {list-style-type: lower-latin;}ol ol ol, ul ol ol, ul ul ol, ol ul ol {list-style-type: lower-roman;}table {border-spacing: 0;border-collapse: collapse;margin-top: 0;margin-bottom: 16px;}table th {font-weight: bold;}table th, table td {padding: 6px 13px;border: 1px solid #ddd;}table tr {border-top: 1px solid #ccc;}table tr:nth-child(even) {background-color: #f8f8f8;}input[type=&quot;checkbox&quot;] {cursor: default;margin-right: 0.5em;font-size: 13px;}.task-list-item {list-style-type: none;}.task-list-item+.task-list-item {margin-top: 3px;}.task-list-item input {float: left;margin: 0.3em 1em 0.25em -1.6em;vertical-align: middle;}#tag-field {margin: 8px 2px 10px;}#tag-field .tag {display: inline-block;background: #cadff3;border-radius: 4px;padding: 1px 8px;color: black;font-size: 12px;margin-right: 10px;line-height: 1.4;}&lt;/style&gt;
  &lt;!-- ace-static.css --&gt;
  &lt;style&gt;.ace_static_highlight {white-space: pre-wrap;}.ace_static_highlight .ace_gutter {width: 2em;text-align: right;padding: 0 3px 0 0;margin-right: 3px;}.ace_static_highlight.ace_show_gutter &gt; .ace_line {padding-left: 2.6em;}.ace_static_highlight .ace_line {position: relative;}.ace_static_highlight .ace_gutter-cell {-moz-user-select: -moz-none;-khtml-user-select: none;-webkit-user-select: none;user-select: none;top: 0;bottom: 0;left: 0;position: absolute;}.ace_static_highlight .ace_gutter-cell:before {content: counter(ace_line, decimal);counter-increment: ace_line;}.ace_static_highlight {counter-reset: ace_line;}&lt;/style&gt;
  &lt;style&gt;.ace-idle-fingers .ace_gutter {background: #3b3b3b;color: rgb(153,153,153)}.ace-idle-fingers .ace_print-margin {width: 1px;background: #3b3b3b}.ace-idle-fingers {background-color: #323232;color: #FFFFFF}.ace-idle-fingers .ace_cursor {color: #91FF00}.ace-idle-fingers .ace_marker-layer .ace_selection {background: rgba(90, 100, 126, 0.88)}.ace-idle-fingers.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px #323232;}.ace-idle-fingers .ace_marker-layer .ace_step {background: rgb(102, 82, 0)}.ace-idle-fingers .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid #404040}.ace-idle-fingers .ace_marker-layer .ace_active-line {background: #353637}.ace-idle-fingers .ace_gutter-active-line {background-color: #353637}.ace-idle-fingers .ace_marker-layer .ace_selected-word {border: 1px solid rgba(90, 100, 126, 0.88)}.ace-idle-fingers .ace_invisible {color: #404040}.ace-idle-fingers .ace_keyword,.ace-idle-fingers .ace_meta {color: #CC7833}.ace-idle-fingers .ace_constant,.ace-idle-fingers .ace_constant.ace_character,.ace-idle-fingers .ace_constant.ace_character.ace_escape,.ace-idle-fingers .ace_constant.ace_other,.ace-idle-fingers .ace_support.ace_constant {color: #6C99BB}.ace-idle-fingers .ace_invalid {color: #FFFFFF;background-color: #FF0000}.ace-idle-fingers .ace_fold {background-color: #CC7833;border-color: #FFFFFF}.ace-idle-fingers .ace_support.ace_function {color: #B83426}.ace-idle-fingers .ace_variable.ace_parameter {font-style: italic}.ace-idle-fingers .ace_string {color: #A5C261}.ace-idle-fingers .ace_string.ace_regexp {color: #CCCC33}.ace-idle-fingers .ace_comment {font-style: italic;color: #BC9458}.ace-idle-fingers .ace_meta.ace_tag {color: #FFE5BB}.ace-idle-fingers .ace_entity.ace_name {color: #FFC66D}.ace-idle-fingers .ace_collab.ace_user1 {color: #323232;background-color: #FFF980}.ace-idle-fingers .ace_indent-guide {background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWMwMjLyZYiPj/8PAAreAwAI1+g0AAAAAElFTkSuQmCC) right repeat-y}&lt;/style&gt;
  &lt;!-- export.css --&gt;
  &lt;style&gt;
    body{margin:0 auto;max-width:100%;line-height:1.4}
    #nav{margin:5px 0 10px;font-size:15px}
    #titlearea{border-bottom:1px solid #ccc;font-size:17px;padding:10px 0;}
    #contentarea{font-size:15px;margin:16px 0}
    .cell{outline:0;min-height:20px;margin:5px 0;padding:5px 0;}
    .code-cell{font-family:Menlo,Consolas,'Ubuntu Mono',Monaco,'source-code-pro',monospace;font-size:12px;}
    .latex-cell{white-space:pre-wrap;}
  &lt;/style&gt;
  &lt;!-- User CSS --&gt;
  &lt;style&gt; .text-cell {font-size: 14px;}.code-cell {font-size: 12px;}.markdown-cell {font-size: 14px;}.latex-cell {font-size: 14px;}&lt;/style&gt;


  &lt;div id=&quot;contentarea&quot;&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_storage ace_type&quot;&gt;var&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;mobileKeyWords&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;ace_keyword&quot;&gt;new&lt;/span&gt; &lt;span class=&quot;ace_variable ace_language&quot;&gt;Array&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_string&quot;&gt;'iPhone'&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;ace_string&quot;&gt;'iPod'&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;ace_string&quot;&gt;'BlackBerry'&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;ace_string&quot;&gt;'Android'&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;ace_string&quot;&gt;'Windows CE'&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;ace_string&quot;&gt;'SAMSUNG'&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_storage ace_type&quot;&gt;var&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;word&lt;/span&gt; &lt;span class=&quot;ace_keyword&quot;&gt;in&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;mobileKeyWords&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;{&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;    &lt;span class=&quot;ace_keyword&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;navigator&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;ace_support ace_constant&quot;&gt;userAgent&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;ace_support ace_function&quot;&gt;match&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;mobileKeyWords&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;word&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;])&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;!=&lt;/span&gt; &lt;span class=&quot;ace_constant ace_language&quot;&gt;null&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;{&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;    &lt;span class=&quot;ace_identifier&quot;&gt;location&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;href&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;ace_string&quot;&gt;&quot;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;보&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;내&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;고&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;싶&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;은&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;모&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;바&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;일&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;경&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;로&lt;/span&gt;&quot;&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_indent-guide&quot;&gt;    &lt;/span&gt;    &lt;span class=&quot;ace_keyword&quot;&gt;break&lt;/span&gt;&lt;span class=&quot;ace_punctuation ace_operator&quot;&gt;;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;    &lt;span class=&quot;ace_paren ace_rparen&quot;&gt;}&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;}&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;div&gt;Device별 접속정보 예시&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;&lt;span style=&quot;line-height: 1.4;&quot;&gt;iPhone&lt;/span&gt;&lt;/li&gt;&lt;ul&gt;&lt;li&gt;&lt;span style=&quot;line-height: 1.4;&quot;&gt;Mozilla/5.0 (iPhone; U; CPU iPhone OS x_x ~~)&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;&lt;span style=&quot;line-height: 1.4;&quot;&gt;Andrioid&lt;/span&gt;&lt;/li&gt;&lt;ul&gt;&lt;li&gt;&lt;span style=&quot;line-height: 1.4;&quot;&gt; Mozilla/5.0 (Linux; U; Android x.x-update1; ko-kr;~~)&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;&lt;span style=&quot;line-height: 1.4;&quot;&gt;PC (Web)&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;ul&gt;&lt;li&gt;&lt;span style=&quot;line-height: 1.4;&quot;&gt;Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.2; ~~)&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;
  &lt;script&gt;document.body.onkeyup = function(e) {
}&lt;/script&gt;

&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>Programming/JavaScript</category>
      <author>Tez.Park</author>
      <guid isPermaLink="true">https://sham.tistory.com/132</guid>
      <comments>https://sham.tistory.com/132#entry132comment</comments>
      <pubDate>Sun, 21 Aug 2016 21:45:18 +0900</pubDate>
    </item>
    <item>
      <title>[Sync] 원격-로컬 브랜치 동기화</title>
      <link>https://sham.tistory.com/131</link>
      <description>
  &lt;meta charset=&quot;utf-8&quot;&gt;
  &lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;&gt;
  &lt;!-- common.css --&gt;
  &lt;style&gt;* {-webkit-tap-highlight-color: rgba(0,0,0,0);}html {-webkit-text-size-adjust: none;}body {font-family: Arial, Helvetica, sans-serif;margin: 0;color: #333;word-wrap: break-word;}h1, h2, h3, h4, h5, h6 {line-height: 1.1;}img {max-width: 100% !important;}blockquote {margin: 0;padding: 0 15px;color: #777;border-left: 4px solid #ddd;}hr {background-color: #ddd;border: 0;height: 1px;margin: 15px 0;}code {font-family: Menlo, Consolas, 'Ubuntu Mono', Monaco, 'source-code-pro', monospace;line-height: 1.4;margin: 0;padding: 0.2em 0;font-size: 85%;background-color: rgba(0,0,0,0.04);border-radius: 3px;}pre &gt; code {margin: 0;padding: 0;font-size: 100%;word-break: normal;background: transparent;border: 0;}ol {list-style-type: decimal;}ol ol, ul ol {list-style-type: lower-latin;}ol ol ol, ul ol ol, ul ul ol, ol ul ol {list-style-type: lower-roman;}table {border-spacing: 0;border-collapse: collapse;margin-top: 0;margin-bottom: 16px;}table th {font-weight: bold;}table th, table td {padding: 6px 13px;border: 1px solid #ddd;}table tr {border-top: 1px solid #ccc;}table tr:nth-child(even) {background-color: #f8f8f8;}input[type=&quot;checkbox&quot;] {cursor: default;margin-right: 0.5em;font-size: 13px;}.task-list-item {list-style-type: none;}.task-list-item+.task-list-item {margin-top: 3px;}.task-list-item input {float: left;margin: 0.3em 1em 0.25em -1.6em;vertical-align: middle;}#tag-field {margin: 8px 2px 10px;}#tag-field .tag {display: inline-block;background: #cadff3;border-radius: 4px;padding: 1px 8px;color: black;font-size: 12px;margin-right: 10px;line-height: 1.4;}&lt;/style&gt;
  &lt;!-- ace-static.css --&gt;
  &lt;style&gt;.ace_static_highlight {white-space: pre-wrap;}.ace_static_highlight .ace_gutter {width: 2em;text-align: right;padding: 0 3px 0 0;margin-right: 3px;}.ace_static_highlight.ace_show_gutter &gt; .ace_line {padding-left: 2.6em;}.ace_static_highlight .ace_line {position: relative;}.ace_static_highlight .ace_gutter-cell {-moz-user-select: -moz-none;-khtml-user-select: none;-webkit-user-select: none;user-select: none;top: 0;bottom: 0;left: 0;position: absolute;}.ace_static_highlight .ace_gutter-cell:before {content: counter(ace_line, decimal);counter-increment: ace_line;}.ace_static_highlight {counter-reset: ace_line;}&lt;/style&gt;
  &lt;style&gt;.ace-idle-fingers .ace_gutter {background: #3b3b3b;color: rgb(153,153,153)}.ace-idle-fingers .ace_print-margin {width: 1px;background: #3b3b3b}.ace-idle-fingers {background-color: #323232;color: #FFFFFF}.ace-idle-fingers .ace_cursor {color: #91FF00}.ace-idle-fingers .ace_marker-layer .ace_selection {background: rgba(90, 100, 126, 0.88)}.ace-idle-fingers.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px #323232;}.ace-idle-fingers .ace_marker-layer .ace_step {background: rgb(102, 82, 0)}.ace-idle-fingers .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid #404040}.ace-idle-fingers .ace_marker-layer .ace_active-line {background: #353637}.ace-idle-fingers .ace_gutter-active-line {background-color: #353637}.ace-idle-fingers .ace_marker-layer .ace_selected-word {border: 1px solid rgba(90, 100, 126, 0.88)}.ace-idle-fingers .ace_invisible {color: #404040}.ace-idle-fingers .ace_keyword,.ace-idle-fingers .ace_meta {color: #CC7833}.ace-idle-fingers .ace_constant,.ace-idle-fingers .ace_constant.ace_character,.ace-idle-fingers .ace_constant.ace_character.ace_escape,.ace-idle-fingers .ace_constant.ace_other,.ace-idle-fingers .ace_support.ace_constant {color: #6C99BB}.ace-idle-fingers .ace_invalid {color: #FFFFFF;background-color: #FF0000}.ace-idle-fingers .ace_fold {background-color: #CC7833;border-color: #FFFFFF}.ace-idle-fingers .ace_support.ace_function {color: #B83426}.ace-idle-fingers .ace_variable.ace_parameter {font-style: italic}.ace-idle-fingers .ace_string {color: #A5C261}.ace-idle-fingers .ace_string.ace_regexp {color: #CCCC33}.ace-idle-fingers .ace_comment {font-style: italic;color: #BC9458}.ace-idle-fingers .ace_meta.ace_tag {color: #FFE5BB}.ace-idle-fingers .ace_entity.ace_name {color: #FFC66D}.ace-idle-fingers .ace_collab.ace_user1 {color: #323232;background-color: #FFF980}.ace-idle-fingers .ace_indent-guide {background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWMwMjLyZYiPj/8PAAreAwAI1+g0AAAAAElFTkSuQmCC) right repeat-y}&lt;/style&gt;
  &lt;!-- export.css --&gt;
  &lt;style&gt;
    body{margin:0 auto;max-width:100%;line-height:1.4}
    #nav{margin:5px 0 10px;font-size:15px}
    #titlearea{border-bottom:1px solid #ccc;font-size:17px;padding:10px 0;}
    #contentarea{font-size:15px;margin:16px 0}
    .cell{outline:0;min-height:20px;margin:5px 0;padding:5px 0;}
    .code-cell{font-family:Menlo,Consolas,'Ubuntu Mono',Monaco,'source-code-pro',monospace;font-size:12px;}
    .latex-cell{white-space:pre-wrap;}
  &lt;/style&gt;
  &lt;!-- User CSS --&gt;
  &lt;style&gt; .text-cell {font-size: 14px;}.code-cell {font-size: 12px;}.markdown-cell {font-size: 14px;}.latex-cell {font-size: 14px;}&lt;/style&gt;


  &lt;div id=&quot;contentarea&quot;&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h3&gt;Sync branch&lt;/h3&gt;&lt;div&gt;&lt;span style=&quot;font-size: 13px; font-weight: normal;&quot;&gt;원격에서 변경된 repository 정보를 로컬에도 반영&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;삭제된 repository를 동기화 하거나 할 때 유용&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;git&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;remote&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;prune&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;origin&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;
  &lt;script&gt;document.body.onkeyup = function(e) {
if (e.keyCode === 39) window.location.href = '[Color] 출력물에 색 입히기.html';
}&lt;/script&gt;</description>
      <category>Programming/Git</category>
      <category>git</category>
      <category>git remote</category>
      <category>PRUNE</category>
      <author>Tez.Park</author>
      <guid isPermaLink="true">https://sham.tistory.com/131</guid>
      <comments>https://sham.tistory.com/131#entry131comment</comments>
      <pubDate>Sun, 21 Aug 2016 18:15:19 +0900</pubDate>
    </item>
    <item>
      <title>[Color] 출력물에 색 입히기</title>
      <link>https://sham.tistory.com/130</link>
      <description>
  &lt;meta charset=&quot;utf-8&quot;&gt;
  &lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;&gt;
  &lt;!-- common.css --&gt;
  &lt;style&gt;* {-webkit-tap-highlight-color: rgba(0,0,0,0);}html {-webkit-text-size-adjust: none;}body {font-family: Arial, Helvetica, sans-serif;margin: 0;color: #333;word-wrap: break-word;}h1, h2, h3, h4, h5, h6 {line-height: 1.1;}img {max-width: 100% !important;}blockquote {margin: 0;padding: 0 15px;color: #777;border-left: 4px solid #ddd;}hr {background-color: #ddd;border: 0;height: 1px;margin: 15px 0;}code {font-family: Menlo, Consolas, 'Ubuntu Mono', Monaco, 'source-code-pro', monospace;line-height: 1.4;margin: 0;padding: 0.2em 0;font-size: 85%;background-color: rgba(0,0,0,0.04);border-radius: 3px;}pre &gt; code {margin: 0;padding: 0;font-size: 100%;word-break: normal;background: transparent;border: 0;}ol {list-style-type: decimal;}ol ol, ul ol {list-style-type: lower-latin;}ol ol ol, ul ol ol, ul ul ol, ol ul ol {list-style-type: lower-roman;}table {border-spacing: 0;border-collapse: collapse;margin-top: 0;margin-bottom: 16px;}table th {font-weight: bold;}table th, table td {padding: 6px 13px;border: 1px solid #ddd;}table tr {border-top: 1px solid #ccc;}table tr:nth-child(even) {background-color: #f8f8f8;}input[type=&quot;checkbox&quot;] {cursor: default;margin-right: 0.5em;font-size: 13px;}.task-list-item {list-style-type: none;}.task-list-item+.task-list-item {margin-top: 3px;}.task-list-item input {float: left;margin: 0.3em 1em 0.25em -1.6em;vertical-align: middle;}#tag-field {margin: 8px 2px 10px;}#tag-field .tag {display: inline-block;background: #cadff3;border-radius: 4px;padding: 1px 8px;color: black;font-size: 12px;margin-right: 10px;line-height: 1.4;}&lt;/style&gt;
  &lt;!-- ace-static.css --&gt;
  &lt;style&gt;.ace_static_highlight {white-space: pre-wrap;}.ace_static_highlight .ace_gutter {width: 2em;text-align: right;padding: 0 3px 0 0;margin-right: 3px;}.ace_static_highlight.ace_show_gutter &gt; .ace_line {padding-left: 2.6em;}.ace_static_highlight .ace_line {position: relative;}.ace_static_highlight .ace_gutter-cell {-moz-user-select: -moz-none;-khtml-user-select: none;-webkit-user-select: none;user-select: none;top: 0;bottom: 0;left: 0;position: absolute;}.ace_static_highlight .ace_gutter-cell:before {content: counter(ace_line, decimal);counter-increment: ace_line;}.ace_static_highlight {counter-reset: ace_line;}&lt;/style&gt;
  &lt;style&gt;.ace-idle-fingers .ace_gutter {background: #3b3b3b;color: rgb(153,153,153)}.ace-idle-fingers .ace_print-margin {width: 1px;background: #3b3b3b}.ace-idle-fingers {background-color: #323232;color: #FFFFFF}.ace-idle-fingers .ace_cursor {color: #91FF00}.ace-idle-fingers .ace_marker-layer .ace_selection {background: rgba(90, 100, 126, 0.88)}.ace-idle-fingers.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px #323232;}.ace-idle-fingers .ace_marker-layer .ace_step {background: rgb(102, 82, 0)}.ace-idle-fingers .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid #404040}.ace-idle-fingers .ace_marker-layer .ace_active-line {background: #353637}.ace-idle-fingers .ace_gutter-active-line {background-color: #353637}.ace-idle-fingers .ace_marker-layer .ace_selected-word {border: 1px solid rgba(90, 100, 126, 0.88)}.ace-idle-fingers .ace_invisible {color: #404040}.ace-idle-fingers .ace_keyword,.ace-idle-fingers .ace_meta {color: #CC7833}.ace-idle-fingers .ace_constant,.ace-idle-fingers .ace_constant.ace_character,.ace-idle-fingers .ace_constant.ace_character.ace_escape,.ace-idle-fingers .ace_constant.ace_other,.ace-idle-fingers .ace_support.ace_constant {color: #6C99BB}.ace-idle-fingers .ace_invalid {color: #FFFFFF;background-color: #FF0000}.ace-idle-fingers .ace_fold {background-color: #CC7833;border-color: #FFFFFF}.ace-idle-fingers .ace_support.ace_function {color: #B83426}.ace-idle-fingers .ace_variable.ace_parameter {font-style: italic}.ace-idle-fingers .ace_string {color: #A5C261}.ace-idle-fingers .ace_string.ace_regexp {color: #CCCC33}.ace-idle-fingers .ace_comment {font-style: italic;color: #BC9458}.ace-idle-fingers .ace_meta.ace_tag {color: #FFE5BB}.ace-idle-fingers .ace_entity.ace_name {color: #FFC66D}.ace-idle-fingers .ace_collab.ace_user1 {color: #323232;background-color: #FFF980}.ace-idle-fingers .ace_indent-guide {background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWMwMjLyZYiPj/8PAAreAwAI1+g0AAAAAElFTkSuQmCC) right repeat-y}&lt;/style&gt;
  &lt;!-- export.css --&gt;
  &lt;style&gt;
    body{margin:0 auto;max-width:100%;line-height:1.4}
    #nav{margin:5px 0 10px;font-size:15px}
    #titlearea{border-bottom:1px solid #ccc;font-size:17px;padding:10px 0;}
    #contentarea{font-size:15px;margin:16px 0}
    .cell{outline:0;min-height:20px;margin:5px 0;padding:5px 0;}
    .code-cell{font-family:Menlo,Consolas,'Ubuntu Mono',Monaco,'source-code-pro',monospace;font-size:12px;}
    .latex-cell{white-space:pre-wrap;}
  &lt;/style&gt;
  &lt;!-- User CSS --&gt;
  &lt;style&gt; .text-cell {font-size: 14px;}.code-cell {font-size: 12px;}.markdown-cell {font-size: 14px;}.latex-cell {font-size: 14px;}&lt;/style&gt;


  &lt;div id=&quot;contentarea&quot;&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h3&gt;Git 명령어 출력물에 색 입히기&lt;/h3&gt;아래 config 옵션을 추가해주면 git status나 git diff 등을 할때 흑백의 텍스트가 아니라 빨간색, 녹색 등의 색상을 입힌 출력결과를 표시해준다&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;git&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;config&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;global&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;color&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;branch&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;auto&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;git&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;config&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;global&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;color&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;diff&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;auto&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;git&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;config&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;global&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;color&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;interactive&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;auto&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;git&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;config&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;global&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;color&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;status&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;auto&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;적용한 색상을 다시 되돌리고 싶으면 auto 부분을 false로 변경하면 됨.&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h3&gt;Git diff 에 색상 넣기&lt;/h3&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;diff&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;old&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;new&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;|&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;colordiff&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;or&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;colordiff&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;old&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;new&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;
  &lt;script&gt;document.body.onkeyup = function(e) {
if (e.keyCode === 37) window.location.href = 'N [Push] 강제 푸시.html';
}&lt;/script&gt;</description>
      <category>Programming/Git</category>
      <category>color</category>
      <category>git</category>
      <category>git config</category>
      <author>Tez.Park</author>
      <guid isPermaLink="true">https://sham.tistory.com/130</guid>
      <comments>https://sham.tistory.com/130#entry130comment</comments>
      <pubDate>Sun, 21 Aug 2016 18:14:22 +0900</pubDate>
    </item>
    <item>
      <title>[Link] Symbolic link</title>
      <link>https://sham.tistory.com/129</link>
      <description>
  &lt;meta charset=&quot;utf-8&quot;&gt;
  &lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;&gt;
  &lt;!-- common.css --&gt;
  &lt;style&gt;* {-webkit-tap-highlight-color: rgba(0,0,0,0);}html {-webkit-text-size-adjust: none;}body {font-family: Arial, Helvetica, sans-serif;margin: 0;color: #333;word-wrap: break-word;}h1, h2, h3, h4, h5, h6 {line-height: 1.1;}img {max-width: 100% !important;}blockquote {margin: 0;padding: 0 15px;color: #777;border-left: 4px solid #ddd;}hr {background-color: #ddd;border: 0;height: 1px;margin: 15px 0;}code {font-family: Menlo, Consolas, 'Ubuntu Mono', Monaco, 'source-code-pro', monospace;line-height: 1.4;margin: 0;padding: 0.2em 0;font-size: 85%;background-color: rgba(0,0,0,0.04);border-radius: 3px;}pre &gt; code {margin: 0;padding: 0;font-size: 100%;word-break: normal;background: transparent;border: 0;}ol {list-style-type: decimal;}ol ol, ul ol {list-style-type: lower-latin;}ol ol ol, ul ol ol, ul ul ol, ol ul ol {list-style-type: lower-roman;}table {border-spacing: 0;border-collapse: collapse;margin-top: 0;margin-bottom: 16px;}table th {font-weight: bold;}table th, table td {padding: 6px 13px;border: 1px solid #ddd;}table tr {border-top: 1px solid #ccc;}table tr:nth-child(even) {background-color: #f8f8f8;}input[type=&quot;checkbox&quot;] {cursor: default;margin-right: 0.5em;font-size: 13px;}.task-list-item {list-style-type: none;}.task-list-item+.task-list-item {margin-top: 3px;}.task-list-item input {float: left;margin: 0.3em 1em 0.25em -1.6em;vertical-align: middle;}#tag-field {margin: 8px 2px 10px;}#tag-field .tag {display: inline-block;background: #cadff3;border-radius: 4px;padding: 1px 8px;color: black;font-size: 12px;margin-right: 10px;line-height: 1.4;}&lt;/style&gt;
  &lt;!-- ace-static.css --&gt;
  &lt;style&gt;.ace_static_highlight {white-space: pre-wrap;}.ace_static_highlight .ace_gutter {width: 2em;text-align: right;padding: 0 3px 0 0;margin-right: 3px;}.ace_static_highlight.ace_show_gutter &gt; .ace_line {padding-left: 2.6em;}.ace_static_highlight .ace_line {position: relative;}.ace_static_highlight .ace_gutter-cell {-moz-user-select: -moz-none;-khtml-user-select: none;-webkit-user-select: none;user-select: none;top: 0;bottom: 0;left: 0;position: absolute;}.ace_static_highlight .ace_gutter-cell:before {content: counter(ace_line, decimal);counter-increment: ace_line;}.ace_static_highlight {counter-reset: ace_line;}&lt;/style&gt;
  &lt;style&gt;.ace-idle-fingers .ace_gutter {background: #3b3b3b;color: rgb(153,153,153)}.ace-idle-fingers .ace_print-margin {width: 1px;background: #3b3b3b}.ace-idle-fingers {background-color: #323232;color: #FFFFFF}.ace-idle-fingers .ace_cursor {color: #91FF00}.ace-idle-fingers .ace_marker-layer .ace_selection {background: rgba(90, 100, 126, 0.88)}.ace-idle-fingers.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px #323232;}.ace-idle-fingers .ace_marker-layer .ace_step {background: rgb(102, 82, 0)}.ace-idle-fingers .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid #404040}.ace-idle-fingers .ace_marker-layer .ace_active-line {background: #353637}.ace-idle-fingers .ace_gutter-active-line {background-color: #353637}.ace-idle-fingers .ace_marker-layer .ace_selected-word {border: 1px solid rgba(90, 100, 126, 0.88)}.ace-idle-fingers .ace_invisible {color: #404040}.ace-idle-fingers .ace_keyword,.ace-idle-fingers .ace_meta {color: #CC7833}.ace-idle-fingers .ace_constant,.ace-idle-fingers .ace_constant.ace_character,.ace-idle-fingers .ace_constant.ace_character.ace_escape,.ace-idle-fingers .ace_constant.ace_other,.ace-idle-fingers .ace_support.ace_constant {color: #6C99BB}.ace-idle-fingers .ace_invalid {color: #FFFFFF;background-color: #FF0000}.ace-idle-fingers .ace_fold {background-color: #CC7833;border-color: #FFFFFF}.ace-idle-fingers .ace_support.ace_function {color: #B83426}.ace-idle-fingers .ace_variable.ace_parameter {font-style: italic}.ace-idle-fingers .ace_string {color: #A5C261}.ace-idle-fingers .ace_string.ace_regexp {color: #CCCC33}.ace-idle-fingers .ace_comment {font-style: italic;color: #BC9458}.ace-idle-fingers .ace_meta.ace_tag {color: #FFE5BB}.ace-idle-fingers .ace_entity.ace_name {color: #FFC66D}.ace-idle-fingers .ace_collab.ace_user1 {color: #323232;background-color: #FFF980}.ace-idle-fingers .ace_indent-guide {background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWMwMjLyZYiPj/8PAAreAwAI1+g0AAAAAElFTkSuQmCC) right repeat-y}&lt;/style&gt;
  &lt;!-- export.css --&gt;
  &lt;style&gt;
    body{margin:0 auto;max-width:100%;line-height:1.4}
    #nav{margin:5px 0 10px;font-size:15px}
    #titlearea{border-bottom:1px solid #ccc;font-size:17px;padding:10px 0;}
    #contentarea{font-size:15px;margin:16px 0}
    .cell{outline:0;min-height:20px;margin:5px 0;padding:5px 0;}
    .code-cell{font-family:Menlo,Consolas,'Ubuntu Mono',Monaco,'source-code-pro',monospace;font-size:12px;}
    .latex-cell{white-space:pre-wrap;}
  &lt;/style&gt;
  &lt;!-- User CSS --&gt;
  &lt;style&gt; .text-cell {font-size: 14px;}.code-cell {font-size: 12px;}.markdown-cell {font-size: 14px;}.latex-cell {font-size: 14px;}&lt;/style&gt;


  &lt;div id=&quot;contentarea&quot;&gt;&lt;div class=&quot;cell text-cell&quot;&gt;다른 위치에 있는 파일을 참조하여 사용할때 symbolic link 를 생성하여 사용할 수 있다.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h3&gt;&lt;b&gt;Create a symbolic link&lt;/b&gt;&lt;/h3&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;ln&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;s&lt;/span&gt; &lt;span class=&quot;ace_paren ace_lparen&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;path&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;to&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;file&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;name&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;}&lt;/span&gt; &lt;span class=&quot;ace_paren ace_lparen&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;link&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;name&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;}&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h3&gt;&lt;b style=&quot;font-size: 13px;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;Delete a link&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;/h3&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;rm&lt;/span&gt; &lt;span class=&quot;ace_paren ace_lparen&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;link&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;name&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;}&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;
  &lt;script&gt;document.body.onkeyup = function(e) {
if (e.keyCode === 39) window.location.href = '[검색] 파일 검색, 파일 내부 문자열 검색.html';
if (e.keyCode === 37) window.location.href = '[압축] Tar 압축하기 풀기.html';
}&lt;/script&gt;

&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>Programming/Bash</category>
      <category>bash</category>
      <category>ln</category>
      <category>rm</category>
      <category>Symbolic Link</category>
      <author>Tez.Park</author>
      <guid isPermaLink="true">https://sham.tistory.com/129</guid>
      <comments>https://sham.tistory.com/129#entry129comment</comments>
      <pubDate>Sun, 21 Aug 2016 18:10:17 +0900</pubDate>
    </item>
    <item>
      <title>[치환] 파일 내부 문자 치환 (폴더 내 모든 파일)</title>
      <link>https://sham.tistory.com/128</link>
      <description>&lt;!DOCTYPE html&gt;
&lt;html&gt;
&lt;head&gt;
  &lt;meta charset=&quot;utf-8&quot;&gt;
  &lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;&gt;
  &lt;!-- common.css --&gt;
  &lt;style&gt;* {-webkit-tap-highlight-color: rgba(0,0,0,0);}html {-webkit-text-size-adjust: none;}body {font-family: Arial, Helvetica, sans-serif;margin: 0;color: #333;word-wrap: break-word;}h1, h2, h3, h4, h5, h6 {line-height: 1.1;}img {max-width: 100% !important;}blockquote {margin: 0;padding: 0 15px;color: #777;border-left: 4px solid #ddd;}hr {background-color: #ddd;border: 0;height: 1px;margin: 15px 0;}code {font-family: Menlo, Consolas, 'Ubuntu Mono', Monaco, 'source-code-pro', monospace;line-height: 1.4;margin: 0;padding: 0.2em 0;font-size: 85%;background-color: rgba(0,0,0,0.04);border-radius: 3px;}pre &gt; code {margin: 0;padding: 0;font-size: 100%;word-break: normal;background: transparent;border: 0;}ol {list-style-type: decimal;}ol ol, ul ol {list-style-type: lower-latin;}ol ol ol, ul ol ol, ul ul ol, ol ul ol {list-style-type: lower-roman;}table {border-spacing: 0;border-collapse: collapse;margin-top: 0;margin-bottom: 16px;}table th {font-weight: bold;}table th, table td {padding: 6px 13px;border: 1px solid #ddd;}table tr {border-top: 1px solid #ccc;}table tr:nth-child(even) {background-color: #f8f8f8;}input[type=&quot;checkbox&quot;] {cursor: default;margin-right: 0.5em;font-size: 13px;}.task-list-item {list-style-type: none;}.task-list-item+.task-list-item {margin-top: 3px;}.task-list-item input {float: left;margin: 0.3em 1em 0.25em -1.6em;vertical-align: middle;}#tag-field {margin: 8px 2px 10px;}#tag-field .tag {display: inline-block;background: #cadff3;border-radius: 4px;padding: 1px 8px;color: black;font-size: 12px;margin-right: 10px;line-height: 1.4;}&lt;/style&gt;
  &lt;!-- ace-static.css --&gt;
  &lt;style&gt;.ace_static_highlight {white-space: pre-wrap;}.ace_static_highlight .ace_gutter {width: 2em;text-align: right;padding: 0 3px 0 0;margin-right: 3px;}.ace_static_highlight.ace_show_gutter &gt; .ace_line {padding-left: 2.6em;}.ace_static_highlight .ace_line {position: relative;}.ace_static_highlight .ace_gutter-cell {-moz-user-select: -moz-none;-khtml-user-select: none;-webkit-user-select: none;user-select: none;top: 0;bottom: 0;left: 0;position: absolute;}.ace_static_highlight .ace_gutter-cell:before {content: counter(ace_line, decimal);counter-increment: ace_line;}.ace_static_highlight {counter-reset: ace_line;}&lt;/style&gt;
  &lt;style&gt;.ace-idle-fingers .ace_gutter {background: #3b3b3b;color: rgb(153,153,153)}.ace-idle-fingers .ace_print-margin {width: 1px;background: #3b3b3b}.ace-idle-fingers {background-color: #323232;color: #FFFFFF}.ace-idle-fingers .ace_cursor {color: #91FF00}.ace-idle-fingers .ace_marker-layer .ace_selection {background: rgba(90, 100, 126, 0.88)}.ace-idle-fingers.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px #323232;}.ace-idle-fingers .ace_marker-layer .ace_step {background: rgb(102, 82, 0)}.ace-idle-fingers .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid #404040}.ace-idle-fingers .ace_marker-layer .ace_active-line {background: #353637}.ace-idle-fingers .ace_gutter-active-line {background-color: #353637}.ace-idle-fingers .ace_marker-layer .ace_selected-word {border: 1px solid rgba(90, 100, 126, 0.88)}.ace-idle-fingers .ace_invisible {color: #404040}.ace-idle-fingers .ace_keyword,.ace-idle-fingers .ace_meta {color: #CC7833}.ace-idle-fingers .ace_constant,.ace-idle-fingers .ace_constant.ace_character,.ace-idle-fingers .ace_constant.ace_character.ace_escape,.ace-idle-fingers .ace_constant.ace_other,.ace-idle-fingers .ace_support.ace_constant {color: #6C99BB}.ace-idle-fingers .ace_invalid {color: #FFFFFF;background-color: #FF0000}.ace-idle-fingers .ace_fold {background-color: #CC7833;border-color: #FFFFFF}.ace-idle-fingers .ace_support.ace_function {color: #B83426}.ace-idle-fingers .ace_variable.ace_parameter {font-style: italic}.ace-idle-fingers .ace_string {color: #A5C261}.ace-idle-fingers .ace_string.ace_regexp {color: #CCCC33}.ace-idle-fingers .ace_comment {font-style: italic;color: #BC9458}.ace-idle-fingers .ace_meta.ace_tag {color: #FFE5BB}.ace-idle-fingers .ace_entity.ace_name {color: #FFC66D}.ace-idle-fingers .ace_collab.ace_user1 {color: #323232;background-color: #FFF980}.ace-idle-fingers .ace_indent-guide {background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWMwMjLyZYiPj/8PAAreAwAI1+g0AAAAAElFTkSuQmCC) right repeat-y}&lt;/style&gt;
  &lt;!-- export.css --&gt;
  &lt;style&gt;
    body{margin:0 auto;max-width:100%;line-height:1.4}
    #nav{margin:5px 0 10px;font-size:15px}
    #titlearea{border-bottom:1px solid #ccc;font-size:17px;padding:10px 0;}
    #contentarea{font-size:15px;margin:16px 0}
    .cell{outline:0;min-height:20px;margin:5px 0;padding:5px 0;}
    .code-cell{font-family:Menlo,Consolas,'Ubuntu Mono',Monaco,'source-code-pro',monospace;font-size:12px;}
    .latex-cell{white-space:pre-wrap;}
  &lt;/style&gt;
  &lt;!-- User CSS --&gt;
  &lt;style&gt; .text-cell {font-size: 14px;}.code-cell {font-size: 12px;}.markdown-cell {font-size: 14px;}.latex-cell {font-size: 14px;}&lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
  &lt;div id=&quot;contentarea&quot;&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h3&gt;&lt;span style=&quot;font-size: 13px;&quot;&gt;파일 내부 문자 치환&lt;/span&gt;&lt;br&gt;&lt;/h3&gt;파일 내부의 문자열을 검색해서 모든 문자를 치환한다&lt;div&gt;폴더 내부 하위 파일들을 모두 탐색하여 치환한다&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;find&lt;/span&gt; .&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_support ace_function ace_builtin&quot;&gt;type&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;f&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_support ace_function ace_builtin&quot;&gt;exec&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;perl&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;pi&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;e&lt;/span&gt; &lt;span class=&quot;ace_string&quot;&gt;&quot;s#[original]#[replace]#g&quot;&lt;/span&gt; &lt;span class=&quot;ace_paren ace_lparen&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;}&lt;/span&gt; &lt;span class=&quot;ace_constant&quot;&gt;\;&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;ul&gt;&lt;li&gt;&lt;span style=&quot;font-family: Menlo, Consolas, 'Ubuntu Mono', Monaco, source-code-pro, monospace; font-size: 11px; background-color: rgba(0, 0, 0, 0.0392157);&quot;&gt;“s#&lt;/span&gt;&lt;b style=&quot;font-family: Menlo, Consolas, 'Ubuntu Mono', Monaco, source-code-pro, monospace; font-size: 11px; background-color: rgba(0, 0, 0, 0.0392157);&quot;&gt;[original]&lt;/b&gt;&lt;span style=&quot;font-family: Menlo, Consolas, 'Ubuntu Mono', Monaco, source-code-pro, monospace; font-size: 11px; background-color: rgba(0, 0, 0, 0.0392157);&quot;&gt;#&lt;/span&gt;&lt;b style=&quot;font-family: Menlo, Consolas, 'Ubuntu Mono', Monaco, source-code-pro, monospace; font-size: 11px; background-color: rgba(0, 0, 0, 0.0392157);&quot;&gt;[replace]&lt;/b&gt;&lt;span style=&quot;font-family: Menlo, Consolas, 'Ubuntu Mono', Monaco, source-code-pro, monospace; font-size: 11px; background-color: rgba(0, 0, 0, 0.0392157);&quot;&gt;#g”&lt;/span&gt;&lt;br&gt;&lt;/li&gt;&lt;li&gt;&lt;code&gt;&lt;b&gt;“s#&lt;/b&gt; &lt;/code&gt;과 &lt;b&gt;&lt;code&gt;#g”&lt;/code&gt;&lt;/b&gt; 으로 시작과 끝을 표시하고&lt;br&gt;&lt;/li&gt;&lt;li&gt;기존 문자열과 바꾸려는 문자열 사이는 &lt;code&gt;&lt;b&gt;#&lt;/b&gt;&lt;/code&gt; 으로 구분한다.&amp;nbsp;&lt;br&gt;&lt;/li&gt;&lt;li&gt;&lt;i&gt;주의 : 기존 문자열에서 띄어쓰기를 한 후 #으로 구분하면 띄어쓰기까지 하나의 문자열이 되어 인식된다&lt;/i&gt;&lt;br&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;b&gt;&lt;/b&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;
  &lt;script&gt;document.body.onkeyup = function(e) {
if (e.keyCode === 39) window.location.href = '[검색] n일 이내에 수정된 파일 찾기.html';
if (e.keyCode === 37) window.location.href = '[비교] 파일 폴더 내용 비교.html';
}&lt;/script&gt;
&lt;/body&gt;
&lt;/html&gt;</description>
      <category>Programming/Bash</category>
      <category>bash</category>
      <category>find</category>
      <category>치환</category>
      <author>Tez.Park</author>
      <guid isPermaLink="true">https://sham.tistory.com/128</guid>
      <comments>https://sham.tistory.com/128#entry128comment</comments>
      <pubDate>Sun, 21 Aug 2016 18:08:53 +0900</pubDate>
    </item>
    <item>
      <title>[압축] Tar 압축하기/풀기</title>
      <link>https://sham.tistory.com/127</link>
      <description>&lt;!DOCTYPE html&gt;
&lt;html&gt;
&lt;head&gt;
  &lt;meta charset=&quot;utf-8&quot;&gt;
  &lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;&gt;
  &lt;!-- common.css --&gt;
  &lt;style&gt;* {-webkit-tap-highlight-color: rgba(0,0,0,0);}html {-webkit-text-size-adjust: none;}body {font-family: Arial, Helvetica, sans-serif;margin: 0;color: #333;word-wrap: break-word;}h1, h2, h3, h4, h5, h6 {line-height: 1.1;}img {max-width: 100% !important;}blockquote {margin: 0;padding: 0 15px;color: #777;border-left: 4px solid #ddd;}hr {background-color: #ddd;border: 0;height: 1px;margin: 15px 0;}code {font-family: Menlo, Consolas, 'Ubuntu Mono', Monaco, 'source-code-pro', monospace;line-height: 1.4;margin: 0;padding: 0.2em 0;font-size: 85%;background-color: rgba(0,0,0,0.04);border-radius: 3px;}pre &gt; code {margin: 0;padding: 0;font-size: 100%;word-break: normal;background: transparent;border: 0;}ol {list-style-type: decimal;}ol ol, ul ol {list-style-type: lower-latin;}ol ol ol, ul ol ol, ul ul ol, ol ul ol {list-style-type: lower-roman;}table {border-spacing: 0;border-collapse: collapse;margin-top: 0;margin-bottom: 16px;}table th {font-weight: bold;}table th, table td {padding: 6px 13px;border: 1px solid #ddd;}table tr {border-top: 1px solid #ccc;}table tr:nth-child(even) {background-color: #f8f8f8;}input[type=&quot;checkbox&quot;] {cursor: default;margin-right: 0.5em;font-size: 13px;}.task-list-item {list-style-type: none;}.task-list-item+.task-list-item {margin-top: 3px;}.task-list-item input {float: left;margin: 0.3em 1em 0.25em -1.6em;vertical-align: middle;}#tag-field {margin: 8px 2px 10px;}#tag-field .tag {display: inline-block;background: #cadff3;border-radius: 4px;padding: 1px 8px;color: black;font-size: 12px;margin-right: 10px;line-height: 1.4;}&lt;/style&gt;
  &lt;!-- ace-static.css --&gt;
  &lt;style&gt;.ace_static_highlight {white-space: pre-wrap;}.ace_static_highlight .ace_gutter {width: 2em;text-align: right;padding: 0 3px 0 0;margin-right: 3px;}.ace_static_highlight.ace_show_gutter &gt; .ace_line {padding-left: 2.6em;}.ace_static_highlight .ace_line {position: relative;}.ace_static_highlight .ace_gutter-cell {-moz-user-select: -moz-none;-khtml-user-select: none;-webkit-user-select: none;user-select: none;top: 0;bottom: 0;left: 0;position: absolute;}.ace_static_highlight .ace_gutter-cell:before {content: counter(ace_line, decimal);counter-increment: ace_line;}.ace_static_highlight {counter-reset: ace_line;}&lt;/style&gt;
  &lt;style&gt;.ace-idle-fingers .ace_gutter {background: #3b3b3b;color: rgb(153,153,153)}.ace-idle-fingers .ace_print-margin {width: 1px;background: #3b3b3b}.ace-idle-fingers {background-color: #323232;color: #FFFFFF}.ace-idle-fingers .ace_cursor {color: #91FF00}.ace-idle-fingers .ace_marker-layer .ace_selection {background: rgba(90, 100, 126, 0.88)}.ace-idle-fingers.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px #323232;}.ace-idle-fingers .ace_marker-layer .ace_step {background: rgb(102, 82, 0)}.ace-idle-fingers .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid #404040}.ace-idle-fingers .ace_marker-layer .ace_active-line {background: #353637}.ace-idle-fingers .ace_gutter-active-line {background-color: #353637}.ace-idle-fingers .ace_marker-layer .ace_selected-word {border: 1px solid rgba(90, 100, 126, 0.88)}.ace-idle-fingers .ace_invisible {color: #404040}.ace-idle-fingers .ace_keyword,.ace-idle-fingers .ace_meta {color: #CC7833}.ace-idle-fingers .ace_constant,.ace-idle-fingers .ace_constant.ace_character,.ace-idle-fingers .ace_constant.ace_character.ace_escape,.ace-idle-fingers .ace_constant.ace_other,.ace-idle-fingers .ace_support.ace_constant {color: #6C99BB}.ace-idle-fingers .ace_invalid {color: #FFFFFF;background-color: #FF0000}.ace-idle-fingers .ace_fold {background-color: #CC7833;border-color: #FFFFFF}.ace-idle-fingers .ace_support.ace_function {color: #B83426}.ace-idle-fingers .ace_variable.ace_parameter {font-style: italic}.ace-idle-fingers .ace_string {color: #A5C261}.ace-idle-fingers .ace_string.ace_regexp {color: #CCCC33}.ace-idle-fingers .ace_comment {font-style: italic;color: #BC9458}.ace-idle-fingers .ace_meta.ace_tag {color: #FFE5BB}.ace-idle-fingers .ace_entity.ace_name {color: #FFC66D}.ace-idle-fingers .ace_collab.ace_user1 {color: #323232;background-color: #FFF980}.ace-idle-fingers .ace_indent-guide {background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWMwMjLyZYiPj/8PAAreAwAI1+g0AAAAAElFTkSuQmCC) right repeat-y}&lt;/style&gt;
  &lt;!-- export.css --&gt;
  &lt;style&gt;
    body{margin:0 auto;max-width:100%;line-height:1.4}
    #nav{margin:5px 0 10px;font-size:15px}
    #titlearea{border-bottom:1px solid #ccc;font-size:17px;padding:10px 0;}
    #contentarea{font-size:15px;margin:16px 0}
    .cell{outline:0;min-height:20px;margin:5px 0;padding:5px 0;}
    .code-cell{font-family:Menlo,Consolas,'Ubuntu Mono',Monaco,'source-code-pro',monospace;font-size:12px;}
    .latex-cell{white-space:pre-wrap;}
  &lt;/style&gt;
  &lt;!-- User CSS --&gt;
  &lt;style&gt; .text-cell {font-size: 14px;}.code-cell {font-size: 12px;}.markdown-cell {font-size: 14px;}.latex-cell {font-size: 14px;}&lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
  &lt;div id=&quot;contentarea&quot;&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h3&gt;tar 로 압축하기&lt;/h3&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;div&gt;&lt;code&gt;$ tar -cvf [파일명.tar] [폴더명]&lt;/code&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;# ex) items&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;라&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;는&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;폴&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;더&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;를&lt;/span&gt; items.tar&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;로&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;압&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;축&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;하&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;고&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;자&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;한&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;다&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;면&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;tar&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;cvf&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;items&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;tar&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;items&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h3&gt;tar 로 압축 풀기&lt;/h3&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;code&gt;$ tar -xvf [파일명.tar]&lt;/code&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;#ex) items.tar&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;라&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;는&lt;/span&gt; tar&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;파&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;일&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;압&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;축&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;을&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;풀&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;고&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;자&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;한&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;다&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;면&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;tar&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;xvf&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;items&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;tar&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h3&gt;tar.gz 로 압축하기&lt;/h3&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;code&gt;$ tar -zcvf [파일명.tar.gz] [폴더명]&lt;/code&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;#ex) items&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;라&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;는&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;폴&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;더&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;를&lt;/span&gt; items.tar.gz&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;로&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;압&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;축&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;하&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;고&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;자&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;한&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;다&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;면&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;tar&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;zcvf&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;items&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;tar&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;gz&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;items&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h3&gt;tar.gz 압출 풀기&lt;/h3&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;code&gt;$ tar -zxvf [파일명.tar.gz]&lt;/code&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;#ex) items.tar.gz&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;라&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;는&lt;/span&gt; tar.gz&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;파&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;일&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;압&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;축&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;을&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;풀&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;고&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;자&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;한&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;다&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;면&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;tar&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;zxvf&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;items&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;tar&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;gz&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;hr&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h3&gt;tar 명령어 옵션들&lt;/h3&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;-c &amp;nbsp;: 파일을 tar로 묶음&lt;div&gt;-p &amp;nbsp;: 파일 권한을 저장&lt;/div&gt;&lt;div&gt;-v &amp;nbsp;: 묶거나 파일을 풀 때 과정을 화면으로 출력&lt;/div&gt;&lt;div&gt;-f &amp;nbsp; : 파일 이름을 지정&lt;/div&gt;&lt;div&gt;-C : 경로를 지정&lt;/div&gt;&lt;div&gt;-x &amp;nbsp;: tar압축을 푼다&lt;/div&gt;&lt;div&gt;-z &amp;nbsp;: gzip으로 압축하거나 해제&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;
  &lt;script&gt;document.body.onkeyup = function(e) {
if (e.keyCode === 39) window.location.href = '[Link] Symbolic link.html';
}&lt;/script&gt;
&lt;/body&gt;
&lt;/html&gt;</description>
      <category>Programming/Bash</category>
      <category>GZ</category>
      <category>gzip</category>
      <category>tar</category>
      <author>Tez.Park</author>
      <guid isPermaLink="true">https://sham.tistory.com/127</guid>
      <comments>https://sham.tistory.com/127#entry127comment</comments>
      <pubDate>Sun, 21 Aug 2016 18:08:14 +0900</pubDate>
    </item>
    <item>
      <title>[비교] 파일/폴더 내용 비교</title>
      <link>https://sham.tistory.com/126</link>
      <description>&lt;!DOCTYPE html&gt;
&lt;html&gt;
&lt;head&gt;
  &lt;meta charset=&quot;utf-8&quot;&gt;
  &lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;&gt;
  &lt;!-- common.css --&gt;
  &lt;style&gt;* {-webkit-tap-highlight-color: rgba(0,0,0,0);}html {-webkit-text-size-adjust: none;}body {font-family: Arial, Helvetica, sans-serif;margin: 0;color: #333;word-wrap: break-word;}h1, h2, h3, h4, h5, h6 {line-height: 1.1;}img {max-width: 100% !important;}blockquote {margin: 0;padding: 0 15px;color: #777;border-left: 4px solid #ddd;}hr {background-color: #ddd;border: 0;height: 1px;margin: 15px 0;}code {font-family: Menlo, Consolas, 'Ubuntu Mono', Monaco, 'source-code-pro', monospace;line-height: 1.4;margin: 0;padding: 0.2em 0;font-size: 85%;background-color: rgba(0,0,0,0.04);border-radius: 3px;}pre &gt; code {margin: 0;padding: 0;font-size: 100%;word-break: normal;background: transparent;border: 0;}ol {list-style-type: decimal;}ol ol, ul ol {list-style-type: lower-latin;}ol ol ol, ul ol ol, ul ul ol, ol ul ol {list-style-type: lower-roman;}table {border-spacing: 0;border-collapse: collapse;margin-top: 0;margin-bottom: 16px;}table th {font-weight: bold;}table th, table td {padding: 6px 13px;border: 1px solid #ddd;}table tr {border-top: 1px solid #ccc;}table tr:nth-child(even) {background-color: #f8f8f8;}input[type=&quot;checkbox&quot;] {cursor: default;margin-right: 0.5em;font-size: 13px;}.task-list-item {list-style-type: none;}.task-list-item+.task-list-item {margin-top: 3px;}.task-list-item input {float: left;margin: 0.3em 1em 0.25em -1.6em;vertical-align: middle;}#tag-field {margin: 8px 2px 10px;}#tag-field .tag {display: inline-block;background: #cadff3;border-radius: 4px;padding: 1px 8px;color: black;font-size: 12px;margin-right: 10px;line-height: 1.4;}&lt;/style&gt;
  &lt;!-- ace-static.css --&gt;
  &lt;style&gt;.ace_static_highlight {white-space: pre-wrap;}.ace_static_highlight .ace_gutter {width: 2em;text-align: right;padding: 0 3px 0 0;margin-right: 3px;}.ace_static_highlight.ace_show_gutter &gt; .ace_line {padding-left: 2.6em;}.ace_static_highlight .ace_line {position: relative;}.ace_static_highlight .ace_gutter-cell {-moz-user-select: -moz-none;-khtml-user-select: none;-webkit-user-select: none;user-select: none;top: 0;bottom: 0;left: 0;position: absolute;}.ace_static_highlight .ace_gutter-cell:before {content: counter(ace_line, decimal);counter-increment: ace_line;}.ace_static_highlight {counter-reset: ace_line;}&lt;/style&gt;
  &lt;style&gt;.ace-idle-fingers .ace_gutter {background: #3b3b3b;color: rgb(153,153,153)}.ace-idle-fingers .ace_print-margin {width: 1px;background: #3b3b3b}.ace-idle-fingers {background-color: #323232;color: #FFFFFF}.ace-idle-fingers .ace_cursor {color: #91FF00}.ace-idle-fingers .ace_marker-layer .ace_selection {background: rgba(90, 100, 126, 0.88)}.ace-idle-fingers.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px #323232;}.ace-idle-fingers .ace_marker-layer .ace_step {background: rgb(102, 82, 0)}.ace-idle-fingers .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid #404040}.ace-idle-fingers .ace_marker-layer .ace_active-line {background: #353637}.ace-idle-fingers .ace_gutter-active-line {background-color: #353637}.ace-idle-fingers .ace_marker-layer .ace_selected-word {border: 1px solid rgba(90, 100, 126, 0.88)}.ace-idle-fingers .ace_invisible {color: #404040}.ace-idle-fingers .ace_keyword,.ace-idle-fingers .ace_meta {color: #CC7833}.ace-idle-fingers .ace_constant,.ace-idle-fingers .ace_constant.ace_character,.ace-idle-fingers .ace_constant.ace_character.ace_escape,.ace-idle-fingers .ace_constant.ace_other,.ace-idle-fingers .ace_support.ace_constant {color: #6C99BB}.ace-idle-fingers .ace_invalid {color: #FFFFFF;background-color: #FF0000}.ace-idle-fingers .ace_fold {background-color: #CC7833;border-color: #FFFFFF}.ace-idle-fingers .ace_support.ace_function {color: #B83426}.ace-idle-fingers .ace_variable.ace_parameter {font-style: italic}.ace-idle-fingers .ace_string {color: #A5C261}.ace-idle-fingers .ace_string.ace_regexp {color: #CCCC33}.ace-idle-fingers .ace_comment {font-style: italic;color: #BC9458}.ace-idle-fingers .ace_meta.ace_tag {color: #FFE5BB}.ace-idle-fingers .ace_entity.ace_name {color: #FFC66D}.ace-idle-fingers .ace_collab.ace_user1 {color: #323232;background-color: #FFF980}.ace-idle-fingers .ace_indent-guide {background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWMwMjLyZYiPj/8PAAreAwAI1+g0AAAAAElFTkSuQmCC) right repeat-y}&lt;/style&gt;
  &lt;!-- export.css --&gt;
  &lt;style&gt;
    body{margin:0 auto;max-width:100%;line-height:1.4}
    #nav{margin:5px 0 10px;font-size:15px}
    #titlearea{border-bottom:1px solid #ccc;font-size:17px;padding:10px 0;}
    #contentarea{font-size:15px;margin:16px 0}
    .cell{outline:0;min-height:20px;margin:5px 0;padding:5px 0;}
    .code-cell{font-family:Menlo,Consolas,'Ubuntu Mono',Monaco,'source-code-pro',monospace;font-size:12px;}
    .latex-cell{white-space:pre-wrap;}
  &lt;/style&gt;
  &lt;!-- User CSS --&gt;
  &lt;style&gt; .text-cell {font-size: 14px;}.code-cell {font-size: 12px;}.markdown-cell {font-size: 14px;}.latex-cell {font-size: 14px;}&lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
  &lt;div id=&quot;contentarea&quot;&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h3&gt;파일/폴더 내용 비교&lt;/h3&gt;&lt;div&gt;파일 또는 폴더 비교를 위해 diff 스크립트를 이용한다.&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;#&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;파&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;일&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;diff&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;r&lt;/span&gt; &lt;span class=&quot;ace_paren ace_lparen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;fileA&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;ace_paren ace_lparen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;fileB&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;#&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;폴&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;더&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;diff&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;r&lt;/span&gt; &lt;span class=&quot;ace_paren ace_lparen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;folderA&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt; &lt;span class=&quot;ace_paren ace_lparen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;folderB&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h3&gt;결과에 색 넣기&lt;/h3&gt;비교 결과에 색을 함께 출력하고 싶을 경우 colordiff를 이용한다.&lt;div&gt;&lt;ul&gt;&lt;li&gt;colordiff 이 없는 경우 설치&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;# Install colordiff&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;## Linux/RHEL&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;yum&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;y&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;install&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;colordiff&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;## OS X&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;brew&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;install&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;colordiff&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;# Use&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;#&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;파&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;일&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;diff&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;r&lt;/span&gt; &lt;span class=&quot;ace_paren ace_lparen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;fileA&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;ace_paren ace_lparen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;fileB&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;|&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;colordiff&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;#&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;폴&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;더&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;diff&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;r&lt;/span&gt; &lt;span class=&quot;ace_paren ace_lparen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;folderA&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt; &lt;span class=&quot;ace_paren ace_lparen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;folderB&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;|&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;colordiff&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;
  &lt;script&gt;document.body.onkeyup = function(e) {
if (e.keyCode === 39) window.location.href = '[치환] 파일 내부 문자 치환 (폴더 내 모든 파일).html';
if (e.keyCode === 37) window.location.href = '[권한] 파일,폴더 권한 확인 설정.html';
}&lt;/script&gt;
&lt;/body&gt;
&lt;/html&gt;</description>
      <category>Programming/Bash</category>
      <category>bash</category>
      <category>colordiff</category>
      <category>diff</category>
      <author>Tez.Park</author>
      <guid isPermaLink="true">https://sham.tistory.com/126</guid>
      <comments>https://sham.tistory.com/126#entry126comment</comments>
      <pubDate>Sun, 21 Aug 2016 18:07:26 +0900</pubDate>
    </item>
    <item>
      <title>[권한] 파일,폴더 권한 확인/설정</title>
      <link>https://sham.tistory.com/125</link>
      <description>&lt;!DOCTYPE html&gt;
&lt;html&gt;
&lt;head&gt;
  &lt;meta charset=&quot;utf-8&quot;&gt;
  &lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;&gt;
  &lt;!-- common.css --&gt;
  &lt;style&gt;* {-webkit-tap-highlight-color: rgba(0,0,0,0);}html {-webkit-text-size-adjust: none;}body {font-family: Arial, Helvetica, sans-serif;margin: 0;color: #333;word-wrap: break-word;}h1, h2, h3, h4, h5, h6 {line-height: 1.1;}img {max-width: 100% !important;}blockquote {margin: 0;padding: 0 15px;color: #777;border-left: 4px solid #ddd;}hr {background-color: #ddd;border: 0;height: 1px;margin: 15px 0;}code {font-family: Menlo, Consolas, 'Ubuntu Mono', Monaco, 'source-code-pro', monospace;line-height: 1.4;margin: 0;padding: 0.2em 0;font-size: 85%;background-color: rgba(0,0,0,0.04);border-radius: 3px;}pre &gt; code {margin: 0;padding: 0;font-size: 100%;word-break: normal;background: transparent;border: 0;}ol {list-style-type: decimal;}ol ol, ul ol {list-style-type: lower-latin;}ol ol ol, ul ol ol, ul ul ol, ol ul ol {list-style-type: lower-roman;}table {border-spacing: 0;border-collapse: collapse;margin-top: 0;margin-bottom: 16px;}table th {font-weight: bold;}table th, table td {padding: 6px 13px;border: 1px solid #ddd;}table tr {border-top: 1px solid #ccc;}table tr:nth-child(even) {background-color: #f8f8f8;}input[type=&quot;checkbox&quot;] {cursor: default;margin-right: 0.5em;font-size: 13px;}.task-list-item {list-style-type: none;}.task-list-item+.task-list-item {margin-top: 3px;}.task-list-item input {float: left;margin: 0.3em 1em 0.25em -1.6em;vertical-align: middle;}#tag-field {margin: 8px 2px 10px;}#tag-field .tag {display: inline-block;background: #cadff3;border-radius: 4px;padding: 1px 8px;color: black;font-size: 12px;margin-right: 10px;line-height: 1.4;}&lt;/style&gt;
  &lt;!-- ace-static.css --&gt;
  &lt;style&gt;.ace_static_highlight {white-space: pre-wrap;}.ace_static_highlight .ace_gutter {width: 2em;text-align: right;padding: 0 3px 0 0;margin-right: 3px;}.ace_static_highlight.ace_show_gutter &gt; .ace_line {padding-left: 2.6em;}.ace_static_highlight .ace_line {position: relative;}.ace_static_highlight .ace_gutter-cell {-moz-user-select: -moz-none;-khtml-user-select: none;-webkit-user-select: none;user-select: none;top: 0;bottom: 0;left: 0;position: absolute;}.ace_static_highlight .ace_gutter-cell:before {content: counter(ace_line, decimal);counter-increment: ace_line;}.ace_static_highlight {counter-reset: ace_line;}&lt;/style&gt;
  &lt;style&gt;.ace-idle-fingers .ace_gutter {background: #3b3b3b;color: rgb(153,153,153)}.ace-idle-fingers .ace_print-margin {width: 1px;background: #3b3b3b}.ace-idle-fingers {background-color: #323232;color: #FFFFFF}.ace-idle-fingers .ace_cursor {color: #91FF00}.ace-idle-fingers .ace_marker-layer .ace_selection {background: rgba(90, 100, 126, 0.88)}.ace-idle-fingers.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px #323232;}.ace-idle-fingers .ace_marker-layer .ace_step {background: rgb(102, 82, 0)}.ace-idle-fingers .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid #404040}.ace-idle-fingers .ace_marker-layer .ace_active-line {background: #353637}.ace-idle-fingers .ace_gutter-active-line {background-color: #353637}.ace-idle-fingers .ace_marker-layer .ace_selected-word {border: 1px solid rgba(90, 100, 126, 0.88)}.ace-idle-fingers .ace_invisible {color: #404040}.ace-idle-fingers .ace_keyword,.ace-idle-fingers .ace_meta {color: #CC7833}.ace-idle-fingers .ace_constant,.ace-idle-fingers .ace_constant.ace_character,.ace-idle-fingers .ace_constant.ace_character.ace_escape,.ace-idle-fingers .ace_constant.ace_other,.ace-idle-fingers .ace_support.ace_constant {color: #6C99BB}.ace-idle-fingers .ace_invalid {color: #FFFFFF;background-color: #FF0000}.ace-idle-fingers .ace_fold {background-color: #CC7833;border-color: #FFFFFF}.ace-idle-fingers .ace_support.ace_function {color: #B83426}.ace-idle-fingers .ace_variable.ace_parameter {font-style: italic}.ace-idle-fingers .ace_string {color: #A5C261}.ace-idle-fingers .ace_string.ace_regexp {color: #CCCC33}.ace-idle-fingers .ace_comment {font-style: italic;color: #BC9458}.ace-idle-fingers .ace_meta.ace_tag {color: #FFE5BB}.ace-idle-fingers .ace_entity.ace_name {color: #FFC66D}.ace-idle-fingers .ace_collab.ace_user1 {color: #323232;background-color: #FFF980}.ace-idle-fingers .ace_indent-guide {background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWMwMjLyZYiPj/8PAAreAwAI1+g0AAAAAElFTkSuQmCC) right repeat-y}&lt;/style&gt;
  &lt;!-- export.css --&gt;
  &lt;style&gt;
    body{margin:0 auto;max-width:100%;line-height:1.4}
    #nav{margin:5px 0 10px;font-size:15px}
    #titlearea{border-bottom:1px solid #ccc;font-size:17px;padding:10px 0;}
    #contentarea{font-size:15px;margin:16px 0}
    .cell{outline:0;min-height:20px;margin:5px 0;padding:5px 0;}
    .code-cell{font-family:Menlo,Consolas,'Ubuntu Mono',Monaco,'source-code-pro',monospace;font-size:12px;}
    .latex-cell{white-space:pre-wrap;}
  &lt;/style&gt;
  &lt;!-- User CSS --&gt;
  &lt;style&gt; .text-cell {font-size: 14px;}.code-cell {font-size: 12px;}.markdown-cell {font-size: 14px;}.latex-cell {font-size: 14px;}&lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
  &lt;div id=&quot;contentarea&quot;&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h2&gt;&lt;b&gt;권한 확인&lt;/b&gt;&lt;/h2&gt;&lt;p&gt;&lt;/p&gt;
&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;ls&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;l&lt;/span&gt;   &lt;span class=&quot;ace_comment&quot;&gt;#long format &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;으&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;로&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;조&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;회&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;drwxr&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;xr&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;x&lt;/span&gt;  &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;5&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;tezpark&lt;/span&gt;  &lt;span class=&quot;ace_identifier&quot;&gt;staff&lt;/span&gt;   &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;170&lt;/span&gt; &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;11&lt;/span&gt;  &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;9&lt;/span&gt;  &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;2015&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;Public&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;drwxr&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;xr&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;x&lt;/span&gt;  &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;4&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;tezpark&lt;/span&gt;  &lt;span class=&quot;ace_identifier&quot;&gt;staff&lt;/span&gt;   &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;136&lt;/span&gt; &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;11&lt;/span&gt; &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;30&lt;/span&gt; &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;11&lt;/span&gt;:&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;01&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;Sites&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;....
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;목록에 표시되는 왼쪽 부분이 (drwxr-xr-x) 권한 정보를 나타냄&lt;div&gt;예제에서 보이는 권한 정보에 표시되는 문자열은 아래를 의미한다.&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; d &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;rwx &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;r-x &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; r-x&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 파일타입 &amp;nbsp; &amp;nbsp;User권한 &amp;nbsp; &amp;nbsp; group권한 &amp;nbsp; &amp;nbsp; &amp;nbsp;other권한&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h3&gt;파일타입&lt;/h3&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;&lt;span style=&quot;font-family: Arial; widows: 1; background-color: rgb(255, 255, 255);&quot;&gt;- : plain file. 일반 파일. 실행 파일도 포함한다.&lt;/span&gt;&lt;br&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-family: Arial; widows: 1; background-color: rgb(255, 255, 255);&quot;&gt;d : directory. 디렉토리 형식.&lt;/span&gt;&lt;br&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-family: Arial; widows: 1; background-color: rgb(255, 255, 255);&quot;&gt;l : link. 다른 파일을 가리키는 링크 파일.&lt;/span&gt;&lt;br&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-family: Arial; widows: 1; background-color: rgb(255, 255, 255);&quot;&gt;p : pipe. 두 개의 프로그램을 연결하는 파이프 파일.&amp;nbsp;&lt;/span&gt;&lt;br&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-family: Arial; widows: 1; background-color: rgb(255, 255, 255);&quot;&gt;b : block device. 블럭 단위로 하드웨어와 반응하는 파일.&lt;/span&gt;&lt;br&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-family: Arial; widows: 1; background-color: rgb(255, 255, 255);&quot;&gt;c : character device. 스트림 단위로 하드웨어와 반응하는 파일.&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;h3&gt;&lt;span style=&quot;widows: 1; background-color: rgb(255, 255, 255); font-family: Arial;&quot;&gt;&lt;b&gt;권한타입&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;&lt;span style=&quot;font-family: Arial; widows: 1; background-color: rgb(255, 255, 255);&quot;&gt;- : 권한 없음&lt;/span&gt;&lt;br&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-family: Arial; widows: 1; background-color: rgb(255, 255, 255);&quot;&gt;r : Read (읽기)&lt;/span&gt;&lt;br&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-family: Arial; widows: 1; background-color: rgb(255, 255, 255);&quot;&gt;w : Write (쓰기)&lt;/span&gt;&lt;br&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-family: Arial; widows: 1; background-color: rgb(255, 255, 255);&quot;&gt;x : Execute (실행)&lt;/span&gt;&lt;br&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;hr&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h2&gt;권한 설정&lt;/h2&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;chmod&lt;/span&gt; &lt;span class=&quot;ace_paren ace_lparen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;권&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;한&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;ace_paren ace_lparen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;파&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;일&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;chmode = change mode 의 약자&lt;div&gt;사용은 아래와 같이 한다&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;chmod&lt;/span&gt; &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;755&lt;/span&gt; &lt;span class=&quot;ace_support ace_function ace_builtin&quot;&gt;test&lt;/span&gt; &lt;span class=&quot;ace_comment&quot;&gt;# test&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;파&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;일&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;의&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;권&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;한&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;을&lt;/span&gt; rwxr-xr-x &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;로&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;설&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;정&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;한&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;다&lt;/span&gt;.&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;chmod&lt;/span&gt; &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;654&lt;/span&gt; &lt;span class=&quot;ace_support ace_function ace_builtin&quot;&gt;test&lt;/span&gt; &lt;span class=&quot;ace_comment&quot;&gt;# 654 = rw-r-xr--&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;chmod&lt;/span&gt; &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;4&lt;/span&gt; &lt;span class=&quot;ace_support ace_function ace_builtin&quot;&gt;test&lt;/span&gt;   &lt;span class=&quot;ace_comment&quot;&gt;# -&amp;gt; chmod 004 test &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;와&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;같&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;다&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h3&gt;&lt;b&gt;심볼 숫자 값&lt;/b&gt;&lt;/h3&gt;&lt;div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;r = 4&lt;br&gt;&lt;/li&gt;&lt;li&gt;w = 2&lt;br&gt;&lt;/li&gt;&lt;li&gt;x = 1&amp;nbsp;&lt;br&gt;&lt;/li&gt;&lt;li&gt;- = 0&amp;nbsp;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;h3&gt;&lt;b&gt;숫자 조합 값&lt;/b&gt;&lt;/h3&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;rw- = 4 + 2 + 0 = 6&lt;br&gt;&lt;/li&gt;&lt;li&gt;r-x = 4 &amp;nbsp;+ 0 + 1 = 5&lt;br&gt;&lt;/li&gt;&lt;li&gt;rwx = 4 + 2 + 1 = 7&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h3&gt;&lt;b&gt;하위 폴더까지 권한주기&lt;/b&gt;&lt;/h3&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;chmod&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;R&lt;/span&gt; &lt;span class=&quot;ace_paren ace_lparen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;권&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;한&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;ace_paren ace_lparen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;파&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;일&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;
  &lt;script&gt;document.body.onkeyup = function(e) {
if (e.keyCode === 39) window.location.href = '[비교] 파일 폴더 내용 비교.html';
if (e.keyCode === 37) window.location.href = '[검색] 파일 검색, 파일 내부 문자열 검색.html';
}&lt;/script&gt;
&lt;/body&gt;
&lt;/html&gt;</description>
      <category>Programming/Bash</category>
      <category>bash</category>
      <category>chmod</category>
      <category>ls</category>
      <author>Tez.Park</author>
      <guid isPermaLink="true">https://sham.tistory.com/125</guid>
      <comments>https://sham.tistory.com/125#entry125comment</comments>
      <pubDate>Sun, 21 Aug 2016 18:06:12 +0900</pubDate>
    </item>
    <item>
      <title>[검색] n일 이내에 수정된 파일 찾기</title>
      <link>https://sham.tistory.com/124</link>
      <description>&lt;!DOCTYPE html&gt;
&lt;html&gt;
&lt;head&gt;
  &lt;meta charset=&quot;utf-8&quot;&gt;
  &lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;&gt;
  &lt;!-- common.css --&gt;
  &lt;style&gt;* {-webkit-tap-highlight-color: rgba(0,0,0,0);}html {-webkit-text-size-adjust: none;}body {font-family: Arial, Helvetica, sans-serif;margin: 0;color: #333;word-wrap: break-word;}h1, h2, h3, h4, h5, h6 {line-height: 1.1;}img {max-width: 100% !important;}blockquote {margin: 0;padding: 0 15px;color: #777;border-left: 4px solid #ddd;}hr {background-color: #ddd;border: 0;height: 1px;margin: 15px 0;}code {font-family: Menlo, Consolas, 'Ubuntu Mono', Monaco, 'source-code-pro', monospace;line-height: 1.4;margin: 0;padding: 0.2em 0;font-size: 85%;background-color: rgba(0,0,0,0.04);border-radius: 3px;}pre &gt; code {margin: 0;padding: 0;font-size: 100%;word-break: normal;background: transparent;border: 0;}ol {list-style-type: decimal;}ol ol, ul ol {list-style-type: lower-latin;}ol ol ol, ul ol ol, ul ul ol, ol ul ol {list-style-type: lower-roman;}table {border-spacing: 0;border-collapse: collapse;margin-top: 0;margin-bottom: 16px;}table th {font-weight: bold;}table th, table td {padding: 6px 13px;border: 1px solid #ddd;}table tr {border-top: 1px solid #ccc;}table tr:nth-child(even) {background-color: #f8f8f8;}input[type=&quot;checkbox&quot;] {cursor: default;margin-right: 0.5em;font-size: 13px;}.task-list-item {list-style-type: none;}.task-list-item+.task-list-item {margin-top: 3px;}.task-list-item input {float: left;margin: 0.3em 1em 0.25em -1.6em;vertical-align: middle;}#tag-field {margin: 8px 2px 10px;}#tag-field .tag {display: inline-block;background: #cadff3;border-radius: 4px;padding: 1px 8px;color: black;font-size: 12px;margin-right: 10px;line-height: 1.4;}&lt;/style&gt;
  &lt;!-- ace-static.css --&gt;
  &lt;style&gt;.ace_static_highlight {white-space: pre-wrap;}.ace_static_highlight .ace_gutter {width: 2em;text-align: right;padding: 0 3px 0 0;margin-right: 3px;}.ace_static_highlight.ace_show_gutter &gt; .ace_line {padding-left: 2.6em;}.ace_static_highlight .ace_line {position: relative;}.ace_static_highlight .ace_gutter-cell {-moz-user-select: -moz-none;-khtml-user-select: none;-webkit-user-select: none;user-select: none;top: 0;bottom: 0;left: 0;position: absolute;}.ace_static_highlight .ace_gutter-cell:before {content: counter(ace_line, decimal);counter-increment: ace_line;}.ace_static_highlight {counter-reset: ace_line;}&lt;/style&gt;
  &lt;style&gt;.ace-idle-fingers .ace_gutter {background: #3b3b3b;color: rgb(153,153,153)}.ace-idle-fingers .ace_print-margin {width: 1px;background: #3b3b3b}.ace-idle-fingers {background-color: #323232;color: #FFFFFF}.ace-idle-fingers .ace_cursor {color: #91FF00}.ace-idle-fingers .ace_marker-layer .ace_selection {background: rgba(90, 100, 126, 0.88)}.ace-idle-fingers.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px #323232;}.ace-idle-fingers .ace_marker-layer .ace_step {background: rgb(102, 82, 0)}.ace-idle-fingers .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid #404040}.ace-idle-fingers .ace_marker-layer .ace_active-line {background: #353637}.ace-idle-fingers .ace_gutter-active-line {background-color: #353637}.ace-idle-fingers .ace_marker-layer .ace_selected-word {border: 1px solid rgba(90, 100, 126, 0.88)}.ace-idle-fingers .ace_invisible {color: #404040}.ace-idle-fingers .ace_keyword,.ace-idle-fingers .ace_meta {color: #CC7833}.ace-idle-fingers .ace_constant,.ace-idle-fingers .ace_constant.ace_character,.ace-idle-fingers .ace_constant.ace_character.ace_escape,.ace-idle-fingers .ace_constant.ace_other,.ace-idle-fingers .ace_support.ace_constant {color: #6C99BB}.ace-idle-fingers .ace_invalid {color: #FFFFFF;background-color: #FF0000}.ace-idle-fingers .ace_fold {background-color: #CC7833;border-color: #FFFFFF}.ace-idle-fingers .ace_support.ace_function {color: #B83426}.ace-idle-fingers .ace_variable.ace_parameter {font-style: italic}.ace-idle-fingers .ace_string {color: #A5C261}.ace-idle-fingers .ace_string.ace_regexp {color: #CCCC33}.ace-idle-fingers .ace_comment {font-style: italic;color: #BC9458}.ace-idle-fingers .ace_meta.ace_tag {color: #FFE5BB}.ace-idle-fingers .ace_entity.ace_name {color: #FFC66D}.ace-idle-fingers .ace_collab.ace_user1 {color: #323232;background-color: #FFF980}.ace-idle-fingers .ace_indent-guide {background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWMwMjLyZYiPj/8PAAreAwAI1+g0AAAAAElFTkSuQmCC) right repeat-y}&lt;/style&gt;
  &lt;!-- export.css --&gt;
  &lt;style&gt;
    body{margin:0 auto;max-width:100%;line-height:1.4}
    #nav{margin:5px 0 10px;font-size:15px}
    #titlearea{border-bottom:1px solid #ccc;font-size:17px;padding:10px 0;}
    #contentarea{font-size:15px;margin:16px 0}
    .cell{outline:0;min-height:20px;margin:5px 0;padding:5px 0;}
    .code-cell{font-family:Menlo,Consolas,'Ubuntu Mono',Monaco,'source-code-pro',monospace;font-size:12px;}
    .latex-cell{white-space:pre-wrap;}
  &lt;/style&gt;
  &lt;!-- User CSS --&gt;
  &lt;style&gt; .text-cell {font-size: 14px;}.code-cell {font-size: 12px;}.markdown-cell {font-size: 14px;}.latex-cell {font-size: 14px;}&lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
  &lt;div id=&quot;contentarea&quot;&gt;&lt;div class=&quot;cell text-cell&quot;&gt;n일 동안 수정된 파일 찾는 방법&lt;div&gt;&lt;ul&gt;&lt;li&gt;find &lt;b&gt;[폴더]&lt;/b&gt; -type f -mtime -&lt;b&gt;[일수]&lt;/b&gt; -print&lt;br&gt;&lt;/li&gt;&lt;li&gt;find &lt;b&gt;[폴더]&lt;/b&gt; -type f -mtime -&lt;b&gt;[일수]&lt;/b&gt; -ln&lt;br&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;case 1&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;root&lt;/span&gt;@&lt;span class=&quot;ace_identifier&quot;&gt;tez&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;~&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt;# &lt;span class=&quot;ace_identifier&quot;&gt;find&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;var&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;log&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_support ace_function ace_builtin&quot;&gt;type&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;f&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;mtime&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;1&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;print&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;var&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;log&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;lastlog&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;var&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;log&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;audit&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;audit&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;log&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;...
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;case 2&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_paren ace_lparen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;root&lt;/span&gt;@&lt;span class=&quot;ace_identifier&quot;&gt;tez&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;~&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt;# &lt;span class=&quot;ace_identifier&quot;&gt;find&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;var&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;log&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_support ace_function ace_builtin&quot;&gt;type&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;f&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;mtime&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;1&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;ls&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;17148395&lt;/span&gt;   &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;36&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;rw&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;r&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;r&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;--&lt;/span&gt;   &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;1&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;root&lt;/span&gt;     &lt;span class=&quot;ace_identifier&quot;&gt;root&lt;/span&gt;       &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;292876&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;Aug&lt;/span&gt;  &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;1&lt;/span&gt; &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;11&lt;/span&gt;:&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;17&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;var&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;log&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;lastlog&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;1112036&lt;/span&gt; &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;1668&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;rw&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-------&lt;/span&gt;   &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;1&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;root&lt;/span&gt;     &lt;span class=&quot;ace_identifier&quot;&gt;root&lt;/span&gt;      &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;1452833&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;Aug&lt;/span&gt;  &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;1&lt;/span&gt; &lt;span class=&quot;ace_constant ace_numeric&quot;&gt;11&lt;/span&gt;:&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;17&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;var&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;log&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;audit&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;audit&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;log&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;
  &lt;script&gt;document.body.onkeyup = function(e) {
if (e.keyCode === 37) window.location.href = '[치환] 파일 내부 문자 치환 (폴더 내 모든 파일).html';
}&lt;/script&gt;
&lt;/body&gt;
&lt;/html&gt;</description>
      <category>Programming/Bash</category>
      <category>bash</category>
      <category>find</category>
      <author>Tez.Park</author>
      <guid isPermaLink="true">https://sham.tistory.com/124</guid>
      <comments>https://sham.tistory.com/124#entry124comment</comments>
      <pubDate>Sun, 21 Aug 2016 18:05:16 +0900</pubDate>
    </item>
    <item>
      <title>[검색] 파일 검색, 파일 내부 문자열 검색</title>
      <link>https://sham.tistory.com/123</link>
      <description>&lt;!DOCTYPE html&gt;
&lt;html&gt;
&lt;head&gt;
  &lt;meta charset=&quot;utf-8&quot;&gt;
  &lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;&gt;
  &lt;!-- common.css --&gt;
  &lt;style&gt;* {-webkit-tap-highlight-color: rgba(0,0,0,0);}html {-webkit-text-size-adjust: none;}body {font-family: Arial, Helvetica, sans-serif;margin: 0;color: #333;word-wrap: break-word;}h1, h2, h3, h4, h5, h6 {line-height: 1.1;}img {max-width: 100% !important;}blockquote {margin: 0;padding: 0 15px;color: #777;border-left: 4px solid #ddd;}hr {background-color: #ddd;border: 0;height: 1px;margin: 15px 0;}code {font-family: Menlo, Consolas, 'Ubuntu Mono', Monaco, 'source-code-pro', monospace;line-height: 1.4;margin: 0;padding: 0.2em 0;font-size: 85%;background-color: rgba(0,0,0,0.04);border-radius: 3px;}pre &gt; code {margin: 0;padding: 0;font-size: 100%;word-break: normal;background: transparent;border: 0;}ol {list-style-type: decimal;}ol ol, ul ol {list-style-type: lower-latin;}ol ol ol, ul ol ol, ul ul ol, ol ul ol {list-style-type: lower-roman;}table {border-spacing: 0;border-collapse: collapse;margin-top: 0;margin-bottom: 16px;}table th {font-weight: bold;}table th, table td {padding: 6px 13px;border: 1px solid #ddd;}table tr {border-top: 1px solid #ccc;}table tr:nth-child(even) {background-color: #f8f8f8;}input[type=&quot;checkbox&quot;] {cursor: default;margin-right: 0.5em;font-size: 13px;}.task-list-item {list-style-type: none;}.task-list-item+.task-list-item {margin-top: 3px;}.task-list-item input {float: left;margin: 0.3em 1em 0.25em -1.6em;vertical-align: middle;}#tag-field {margin: 8px 2px 10px;}#tag-field .tag {display: inline-block;background: #cadff3;border-radius: 4px;padding: 1px 8px;color: black;font-size: 12px;margin-right: 10px;line-height: 1.4;}&lt;/style&gt;
  &lt;!-- ace-static.css --&gt;
  &lt;style&gt;.ace_static_highlight {white-space: pre-wrap;}.ace_static_highlight .ace_gutter {width: 2em;text-align: right;padding: 0 3px 0 0;margin-right: 3px;}.ace_static_highlight.ace_show_gutter &gt; .ace_line {padding-left: 2.6em;}.ace_static_highlight .ace_line {position: relative;}.ace_static_highlight .ace_gutter-cell {-moz-user-select: -moz-none;-khtml-user-select: none;-webkit-user-select: none;user-select: none;top: 0;bottom: 0;left: 0;position: absolute;}.ace_static_highlight .ace_gutter-cell:before {content: counter(ace_line, decimal);counter-increment: ace_line;}.ace_static_highlight {counter-reset: ace_line;}&lt;/style&gt;
  &lt;style&gt;.ace-idle-fingers .ace_gutter {background: #3b3b3b;color: rgb(153,153,153)}.ace-idle-fingers .ace_print-margin {width: 1px;background: #3b3b3b}.ace-idle-fingers {background-color: #323232;color: #FFFFFF}.ace-idle-fingers .ace_cursor {color: #91FF00}.ace-idle-fingers .ace_marker-layer .ace_selection {background: rgba(90, 100, 126, 0.88)}.ace-idle-fingers.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px #323232;}.ace-idle-fingers .ace_marker-layer .ace_step {background: rgb(102, 82, 0)}.ace-idle-fingers .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid #404040}.ace-idle-fingers .ace_marker-layer .ace_active-line {background: #353637}.ace-idle-fingers .ace_gutter-active-line {background-color: #353637}.ace-idle-fingers .ace_marker-layer .ace_selected-word {border: 1px solid rgba(90, 100, 126, 0.88)}.ace-idle-fingers .ace_invisible {color: #404040}.ace-idle-fingers .ace_keyword,.ace-idle-fingers .ace_meta {color: #CC7833}.ace-idle-fingers .ace_constant,.ace-idle-fingers .ace_constant.ace_character,.ace-idle-fingers .ace_constant.ace_character.ace_escape,.ace-idle-fingers .ace_constant.ace_other,.ace-idle-fingers .ace_support.ace_constant {color: #6C99BB}.ace-idle-fingers .ace_invalid {color: #FFFFFF;background-color: #FF0000}.ace-idle-fingers .ace_fold {background-color: #CC7833;border-color: #FFFFFF}.ace-idle-fingers .ace_support.ace_function {color: #B83426}.ace-idle-fingers .ace_variable.ace_parameter {font-style: italic}.ace-idle-fingers .ace_string {color: #A5C261}.ace-idle-fingers .ace_string.ace_regexp {color: #CCCC33}.ace-idle-fingers .ace_comment {font-style: italic;color: #BC9458}.ace-idle-fingers .ace_meta.ace_tag {color: #FFE5BB}.ace-idle-fingers .ace_entity.ace_name {color: #FFC66D}.ace-idle-fingers .ace_collab.ace_user1 {color: #323232;background-color: #FFF980}.ace-idle-fingers .ace_indent-guide {background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWMwMjLyZYiPj/8PAAreAwAI1+g0AAAAAElFTkSuQmCC) right repeat-y}&lt;/style&gt;
  &lt;!-- export.css --&gt;
  &lt;style&gt;
    body{margin:0 auto;max-width:100%;line-height:1.4}
    #nav{margin:5px 0 10px;font-size:15px}
    #titlearea{border-bottom:1px solid #ccc;font-size:17px;padding:10px 0;}
    #contentarea{font-size:15px;margin:16px 0}
    .cell{outline:0;min-height:20px;margin:5px 0;padding:5px 0;}
    .code-cell{font-family:Menlo,Consolas,'Ubuntu Mono',Monaco,'source-code-pro',monospace;font-size:12px;}
    .latex-cell{white-space:pre-wrap;}
  &lt;/style&gt;
  &lt;!-- User CSS --&gt;
  &lt;style&gt; .text-cell {font-size: 14px;}.code-cell {font-size: 12px;}.markdown-cell {font-size: 14px;}.latex-cell {font-size: 14px;}&lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
  &lt;div id=&quot;contentarea&quot;&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h3&gt;&lt;b&gt;파일 검색&lt;/b&gt;&lt;/h3&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;find&lt;/span&gt; &lt;span class=&quot;ace_paren ace_lparen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;위&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;치&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;name&lt;/span&gt; &lt;span class=&quot;ace_paren ace_lparen&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;파&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;일&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;명&lt;/span&gt;&lt;span class=&quot;ace_paren ace_rparen&quot;&gt;]&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_comment&quot;&gt;# example&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;find&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;name&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;index&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;html&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;find&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;name&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;ndex&lt;/span&gt;.&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;*&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;/ 는 전체경로에서 찾는것&lt;br&gt;*ndex.* 는 *과* 사이에 있는 문자가 포함된 파일 검색&lt;br&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;hr&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h3&gt;&lt;b&gt;파일 내부 문자열 검색&lt;/b&gt;&lt;/h3&gt;&lt;div&gt;-r 옵션을 사용하면 파일 내부를 검색 가능&lt;br&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;&lt;span class=&quot;ace_identifier&quot;&gt;grep&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;r&lt;/span&gt; &lt;span class=&quot;ace_string&quot;&gt;&quot;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;찾&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;을&lt;/span&gt; &lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;문&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;자&lt;/span&gt;&lt;span class=&quot;ace_cjk&quot; style=&quot;width:NaNpx&quot;&gt;열&lt;/span&gt;&quot;&lt;/span&gt; .&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/*&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;/div&gt;&lt;/div&gt;
  &lt;script&gt;document.body.onkeyup = function(e) {
if (e.keyCode === 39) window.location.href = '[권한] 파일,폴더 권한 확인 설정.html';
if (e.keyCode === 37) window.location.href = '[Link] Symbolic link.html';
}&lt;/script&gt;
&lt;/body&gt;
&lt;/html&gt;</description>
      <category>Programming/Bash</category>
      <category>bash</category>
      <category>find</category>
      <category>grep</category>
      <author>Tez.Park</author>
      <guid isPermaLink="true">https://sham.tistory.com/123</guid>
      <comments>https://sham.tistory.com/123#entry123comment</comments>
      <pubDate>Sun, 21 Aug 2016 18:04:10 +0900</pubDate>
    </item>
    <item>
      <title>[S3Cmd] S3 사이즈 확인</title>
      <link>https://sham.tistory.com/122</link>
      <description>&lt;meta charset=&quot;utf-8&quot;&gt;
  &lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;&gt;
  &lt;!-- common.css --&gt;
  &lt;style&gt;* {-webkit-tap-highlight-color: rgba(0,0,0,0);}html {-webkit-text-size-adjust: none;}body {font-family: Arial, Helvetica, sans-serif;margin: 0;color: #333;word-wrap: break-word;}h1, h2, h3, h4, h5, h6 {line-height: 1.1;}img {max-width: 100% !important;}blockquote {margin: 0;padding: 0 15px;color: #777;border-left: 4px solid #ddd;}hr {background-color: #ddd;border: 0;height: 1px;margin: 15px 0;}code {font-family: Menlo, Consolas, 'Ubuntu Mono', Monaco, 'source-code-pro', monospace;line-height: 1.4;margin: 0;padding: 0.2em 0;font-size: 85%;background-color: rgba(0,0,0,0.04);border-radius: 3px;}pre &gt; code {margin: 0;padding: 0;font-size: 100%;word-break: normal;background: transparent;border: 0;}ol {list-style-type: decimal;}ol ol, ul ol {list-style-type: lower-latin;}ol ol ol, ul ol ol, ul ul ol, ol ul ol {list-style-type: lower-roman;}table {border-spacing: 0;border-collapse: collapse;margin-top: 0;margin-bottom: 16px;}table th {font-weight: bold;}table th, table td {padding: 6px 13px;border: 1px solid #ddd;}table tr {border-top: 1px solid #ccc;}table tr:nth-child(even) {background-color: #f8f8f8;}input[type=&quot;checkbox&quot;] {cursor: default;margin-right: 0.5em;font-size: 13px;}.task-list-item {list-style-type: none;}.task-list-item+.task-list-item {margin-top: 3px;}.task-list-item input {float: left;margin: 0.3em 1em 0.25em -1.6em;vertical-align: middle;}#tag-field {margin: 8px 2px 10px;}#tag-field .tag {display: inline-block;background: #cadff3;border-radius: 4px;padding: 1px 8px;color: black;font-size: 12px;margin-right: 10px;line-height: 1.4;}&lt;/style&gt;
  &lt;!-- ace-static.css --&gt;
  &lt;style&gt;.ace_static_highlight {white-space: pre-wrap;}.ace_static_highlight .ace_gutter {width: 2em;text-align: right;padding: 0 3px 0 0;margin-right: 3px;}.ace_static_highlight.ace_show_gutter &gt; .ace_line {padding-left: 2.6em;}.ace_static_highlight .ace_line {position: relative;}.ace_static_highlight .ace_gutter-cell {-moz-user-select: -moz-none;-khtml-user-select: none;-webkit-user-select: none;user-select: none;top: 0;bottom: 0;left: 0;position: absolute;}.ace_static_highlight .ace_gutter-cell:before {content: counter(ace_line, decimal);counter-increment: ace_line;}.ace_static_highlight {counter-reset: ace_line;}&lt;/style&gt;
  &lt;style&gt;.ace-idle-fingers .ace_gutter {background: #3b3b3b;color: rgb(153,153,153)}.ace-idle-fingers .ace_print-margin {width: 1px;background: #3b3b3b}.ace-idle-fingers {background-color: #323232;color: #FFFFFF}.ace-idle-fingers .ace_cursor {color: #91FF00}.ace-idle-fingers .ace_marker-layer .ace_selection {background: rgba(90, 100, 126, 0.88)}.ace-idle-fingers.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px #323232;}.ace-idle-fingers .ace_marker-layer .ace_step {background: rgb(102, 82, 0)}.ace-idle-fingers .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid #404040}.ace-idle-fingers .ace_marker-layer .ace_active-line {background: #353637}.ace-idle-fingers .ace_gutter-active-line {background-color: #353637}.ace-idle-fingers .ace_marker-layer .ace_selected-word {border: 1px solid rgba(90, 100, 126, 0.88)}.ace-idle-fingers .ace_invisible {color: #404040}.ace-idle-fingers .ace_keyword,.ace-idle-fingers .ace_meta {color: #CC7833}.ace-idle-fingers .ace_constant,.ace-idle-fingers .ace_constant.ace_character,.ace-idle-fingers .ace_constant.ace_character.ace_escape,.ace-idle-fingers .ace_constant.ace_other,.ace-idle-fingers .ace_support.ace_constant {color: #6C99BB}.ace-idle-fingers .ace_invalid {color: #FFFFFF;background-color: #FF0000}.ace-idle-fingers .ace_fold {background-color: #CC7833;border-color: #FFFFFF}.ace-idle-fingers .ace_support.ace_function {color: #B83426}.ace-idle-fingers .ace_variable.ace_parameter {font-style: italic}.ace-idle-fingers .ace_string {color: #A5C261}.ace-idle-fingers .ace_string.ace_regexp {color: #CCCC33}.ace-idle-fingers .ace_comment {font-style: italic;color: #BC9458}.ace-idle-fingers .ace_meta.ace_tag {color: #FFE5BB}.ace-idle-fingers .ace_entity.ace_name {color: #FFC66D}.ace-idle-fingers .ace_collab.ace_user1 {color: #323232;background-color: #FFF980}.ace-idle-fingers .ace_indent-guide {background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWMwMjLyZYiPj/8PAAreAwAI1+g0AAAAAElFTkSuQmCC) right repeat-y}&lt;/style&gt;
  &lt;!-- export.css --&gt;
  &lt;style&gt;
    body{margin:0 auto;max-width:100%;line-height:1.4}
    #nav{margin:5px 0 10px;font-size:15px}
    #titlearea{border-bottom:1px solid #ccc;font-size:17px;padding:10px 0;}
    #contentarea{font-size:15px;margin:16px 0}
    .cell{outline:0;min-height:20px;margin:5px 0;padding:5px 0;}
    .code-cell{font-family:Menlo,Consolas,'Ubuntu Mono',Monaco,'source-code-pro',monospace;font-size:12px;}
    .latex-cell{white-space:pre-wrap;}
  &lt;/style&gt;
  &lt;!-- User CSS --&gt;
  &lt;style&gt; .text-cell {font-size: 14px;}.code-cell {font-size: 12px;}.markdown-cell {font-size: 14px;}.latex-cell {font-size: 14px;}&lt;/style&gt;


  &lt;div id=&quot;contentarea&quot;&gt;&lt;div class=&quot;cell text-cell&quot;&gt;Server에서 S3 버킷의 용량을 확인하는 방법&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h3&gt;설치&lt;/h3&gt;&lt;span style=&quot;font-size: 13px; font-weight: normal;&quot;&gt;우선 s3cmd 패키지를 다운받아 설치 후 s3cmd 설정을 해주자&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;wget&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;http&lt;/span&gt;:&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;//&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;downloads&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;sourceforge&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;net&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;project&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;s3tools&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;s3cmd&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;1.6.1&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;s3cmd&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;1.6.1&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;tar&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;gz&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;tar&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;zxf&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;s3cmd&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_constant ace_numeric&quot;&gt;1.6.1&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;tar&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;gz&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;cat&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;INSTALL&lt;/span&gt;&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;|&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;more&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;python&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;setup&lt;/span&gt;.&lt;span class=&quot;ace_identifier&quot;&gt;py&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;install&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;s3cmd&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;configure&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;/div&gt;&lt;div class=&quot;cell text-cell&quot;&gt;&lt;h3&gt;확인&lt;/h3&gt;&lt;span style=&quot;font-size: 13px; font-weight: normal;&quot;&gt;옵션을 통해 Human readable type과 일반 타입으로 볼 수 있다.&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;cell code-cell&quot;&gt;&lt;div class=&quot;ace-idle-fingers&quot;&gt;&lt;div class=&quot;ace_static_highlight&quot; style=&quot;counter-reset:ace_line 0&quot;&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;s3cmd&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;du&lt;/span&gt; &lt;span class=&quot;ace_keyword ace_operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;ace_identifier&quot;&gt;H&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;s3&lt;/span&gt;:&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;//&lt;/span&gt;&lt;span class=&quot;ace_string ace_start&quot; style=&quot;box-sizing: border-box; line-height: 27px;&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;ace_string&quot; style=&quot;box-sizing: border-box; line-height: 27px;&quot;&gt;[bucket-name]&lt;/span&gt;&lt;span class=&quot;ace_string ace_end&quot; style=&quot;box-sizing: border-box; line-height: 27px;&quot;&gt;'&lt;/span&gt;      &lt;span class=&quot;ace_comment&quot;&gt;# Human readable&lt;/span&gt;
&lt;/div&gt;&lt;div class=&quot;ace_line&quot;&gt;$ &lt;span class=&quot;ace_identifier&quot;&gt;s3cmd&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;du&lt;/span&gt; &lt;span class=&quot;ace_identifier&quot;&gt;s3&lt;/span&gt;:&lt;span class=&quot;ace_keyword ace_operator&quot;&gt;//&lt;/span&gt;&lt;span class=&quot;ace_string ace_start&quot; style=&quot;box-sizing: border-box; line-height: 27px;&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;ace_string&quot; style=&quot;box-sizing: border-box; line-height: 27px;&quot;&gt;[bucket-name]&lt;/span&gt;&lt;span class=&quot;ace_string ace_end&quot; style=&quot;box-sizing: border-box; line-height: 27px;&quot;&gt;'&lt;/span&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;
  &lt;script&gt;document.body.onkeyup = function(e) {
if (e.keyCode === 39) window.location.href = '[AWS-CLI] S3 다른 리전 버킷으로 복사.html';
}&lt;/script&gt;

&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>Programming/AWS</category>
      <category>AWS</category>
      <category>s3cmd</category>
      <author>Tez.Park</author>
      <guid isPermaLink="true">https://sham.tistory.com/122</guid>
      <comments>https://sham.tistory.com/122#entry122comment</comments>
      <pubDate>Sun, 21 Aug 2016 18:01:39 +0900</pubDate>
    </item>
  </channel>
</rss>