<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>하비의 화이트한 화이팅 인생</title>
    <link>https://hobby519.tistory.com/</link>
    <description></description>
    <language>ko</language>
    <pubDate>Wed, 1 Jul 2026 13:07:51 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>화이트 하비</managingEditor>
    <item>
      <title>[JAVA] 프로그래머스 - [1차] 뉴스 클러스터링</title>
      <link>https://hobby519.tistory.com/19</link>
      <description>&lt;h1&gt;1. 시간&lt;/h1&gt;
&lt;pre class=&quot;angelscript&quot;&gt;&lt;code&gt;테스트 1 〉	통과 (0.29ms, 88.9MB)
테스트 2 〉	통과 (0.92ms, 76.1MB)
테스트 3 〉	통과 (0.32ms, 72.6MB)
테스트 4 〉	통과 (3.35ms, 78.8MB)
테스트 5 〉	통과 (0.24ms, 85.9MB)
테스트 6 〉	통과 (0.26ms, 78.8MB)
테스트 7 〉	통과 (0.93ms, 80.9MB)
테스트 8 〉	통과 (0.30ms, 82.3MB)
테스트 9 〉	통과 (0.79ms, 85.7MB)
테스트 10 〉	통과 (1.31ms, 74.6MB)
테스트 11 〉	통과 (1.44ms, 76.6MB)
테스트 12 〉	통과 (0.22ms, 85MB)
테스트 13 〉	통과 (0.66ms, 79.8MB)
&lt;/code&gt;&lt;/pre&gt;
&lt;h1&gt;2. 풀이&lt;/h1&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;합집합, 교집합을 구하면 되는 문제인데, 처음엔 Set을 이용할까 했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;but,&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;A&amp;nbsp;= {1, 1, 2, 2, 3}, 다중집합&amp;nbsp;B&amp;nbsp;= {1, 2, 2, 4, 5}라고 하면, 교집합&amp;nbsp;A &amp;cap; B&amp;nbsp;= {1, 2, 2}, 합집합&amp;nbsp;A &amp;cup; B&amp;nbsp;= {1, 1, 2, 2, 3, 4, 5}&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이렇게 해야 한다. 그래서 Map을 이용했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;A의 다중 집합, B의 다중 집합을 Map&amp;lt;String, Integer&amp;gt;에 저장했다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;key: 두글자&lt;/li&gt;
&lt;li&gt;value: 개수&lt;/li&gt;
&lt;/ul&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;합집합 구하기&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;합집합 Map&amp;lt;String, Integer&amp;gt; temp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;A의 다중 집합에 있는 특정 String의 개수랑 B의 다중 집합에 있는 특정 String 개수의 최대치를 저장하면 된다.&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;temp[&amp;rdquo;find&amp;rdquo;]=Math.max(A[&amp;rdquo;find&amp;rdquo;],B[&amp;rdquo;find&amp;rdquo;])&lt;/blockquote&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;교집합 구하기&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;교집합의 경우는 반대로, 최소치를 저장하면 된다.&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;temp[&amp;rdquo;find&amp;rdquo;]=Math.min(A[&amp;rdquo;find&amp;rdquo;],B[&amp;rdquo;find&amp;rdquo;])&lt;/blockquote&gt;
&lt;h1&gt;3. 코드&lt;/h1&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;⭕ 정답&lt;/h2&gt;
&lt;pre class=&quot;processing&quot;&gt;&lt;code&gt;import java.util.*;

class Solution {
    
    HashMap&amp;lt;String, Integer&amp;gt; A, B, hap, cross;
    
    public int solution(String str1, String str2) {
        A=new HashMap&amp;lt;&amp;gt;();
        B=new HashMap&amp;lt;&amp;gt;();
        hap=new HashMap&amp;lt;&amp;gt;();
        cross=new HashMap&amp;lt;&amp;gt;();
        
        A=count(str1);
        B=count(str2);
        
        int cro=getCross();
        int h=getHap();
        
        if(cro==h) return 65536;
        
        long value=cro*65536;
        int answer = (int) (value/h);
        
        return answer;
    }
    
    public int getCross(){
        HashMap&amp;lt;String, Integer&amp;gt; temp=new HashMap&amp;lt;&amp;gt;();
        
        for(Map.Entry&amp;lt;String, Integer&amp;gt; entry : A.entrySet()){
            String s=entry.getKey();
            int cnt=entry.getValue();
            
            temp.put(s, Math.min(A.get(s), B.getOrDefault(s,0)));
        }
        
        int ans=0;
        for(Map.Entry&amp;lt;String, Integer&amp;gt; entry : temp.entrySet()){
            ans+=entry.getValue();
        }
        
        return ans;
    }
    
    public int getHap(){
        HashMap&amp;lt;String, Integer&amp;gt; temp=new HashMap&amp;lt;&amp;gt;();
        
        for(Map.Entry&amp;lt;String, Integer&amp;gt; entry : A.entrySet()){
            String s=entry.getKey();
            int cnt=entry.getValue();
            
            temp.put(s, Math.max(A.get(s), temp.getOrDefault(s,0)));
        }
        
        for(Map.Entry&amp;lt;String, Integer&amp;gt; entry : B.entrySet()){
            String s=entry.getKey();
            int cnt=entry.getValue();
            
            temp.put(s, Math.max(B.get(s), temp.getOrDefault(s,0)));
        }
        
        int ans=0;
        for(Map.Entry&amp;lt;String, Integer&amp;gt; entry : temp.entrySet()){
            ans+=entry.getValue();
        }
        
        System.out.println(ans);
        
        return ans;
    }
    
    public HashMap&amp;lt;String, Integer&amp;gt; count(String str){
        int sz=str.length();
        HashMap&amp;lt;String, Integer&amp;gt; t=new HashMap&amp;lt;&amp;gt;();
        
        for(int i=0;i&amp;lt;sz-1;i++){
            StringBuilder s=new StringBuilder();
            for(int j=0;j&amp;lt;2;j++){
                char c=str.charAt(i+j);
                if(c&amp;gt;='A'&amp;amp;&amp;amp;c&amp;lt;='Z'||c&amp;gt;='a'&amp;amp;&amp;amp;c&amp;lt;='z'){
                    s.append(c);
                }
                else break;
            }
            
            if(s.length()==2){
                String temp=new String(s).toLowerCase();
                t.put(temp, t.getOrDefault(temp,0)+1);
            }
        }
        
        return t;
    }
    
}
&lt;/code&gt;&lt;/pre&gt;</description>
      <category>computer language/JAVA 문제풀이</category>
      <category>Java</category>
      <category>뉴스클러스터링</category>
      <category>프로그래머스</category>
      <author>화이트 하비</author>
      <guid isPermaLink="true">https://hobby519.tistory.com/19</guid>
      <comments>https://hobby519.tistory.com/19#entry19comment</comments>
      <pubDate>Sun, 15 Feb 2026 20:45:06 +0900</pubDate>
    </item>
    <item>
      <title>[JAVA] 프로그래머스 - 튜플</title>
      <link>https://hobby519.tistory.com/18</link>
      <description>&lt;h1&gt;링크&lt;/h1&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://school.programmers.co.kr/learn/courses/30/lessons/64065&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://school.programmers.co.kr/learn/courses/30/lessons/64065&lt;/a&gt;&lt;/p&gt;
&lt;h1&gt;1. 시간&lt;/h1&gt;
&lt;pre class=&quot;angelscript&quot;&gt;&lt;code&gt;테스트 1 〉	통과 (0.73ms, 82MB)
테스트 2 〉	통과 (0.63ms, 77.6MB)
테스트 3 〉	통과 (0.65ms, 96.5MB)
테스트 4 〉	통과 (1.14ms, 84.6MB)
테스트 5 〉	통과 (2.64ms, 78.7MB)
테스트 6 〉	통과 (3.85ms, 82.3MB)
테스트 7 〉	통과 (31.52ms, 76.7MB)
테스트 8 〉	통과 (49.23ms, 90.2MB)
테스트 9 〉	통과 (51.67ms, 101MB)
테스트 10 〉	통과 (62.25ms, 87.4MB)
테스트 11 〉	통과 (68.06ms, 94.6MB)
테스트 12 〉	통과 (97.66ms, 100MB)
테스트 13 〉	통과 (101.94ms, 126MB)
테스트 14 〉	통과 (94.41ms, 117MB)
테스트 15 〉	통과 (0.61ms, 75.5MB)
&lt;/code&gt;&lt;/pre&gt;
&lt;h1&gt;2. 풀이&lt;/h1&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;카카오 문제는 입력부터가 쉽지 않다. 일단 입력 부분에서 한번 꼬는 건 기본인 것 같다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;입력 예시: &quot;{{2},{2,1},{2,1,3},{2,1,3,4}}&amp;rdquo;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;일단 고려할 사항&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;로직&lt;/li&gt;
&lt;li&gt;입력&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;로직&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;로직은 쉬웠다. 각 괄호 안의 숫자들의 개수에 따라 정렬하고, 순차적으로 탐색한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;없는 원소일 경우 그 원소의 다음 번호를 부여하면 되는 방식이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예를 들어, &lt;span style=&quot;background-color: #fafafa; caret-color: auto; letter-spacing: 0px;&quot;&gt;입력이 이렇게 있을 경우 &lt;/span&gt;&lt;/p&gt;
&lt;div data-ke-type=&quot;moreLess&quot; data-text-more=&quot;더보기&quot; data-text-less=&quot;닫기&quot;&gt;&lt;a class=&quot;btn-toggle-moreless&quot;&gt;더보기&lt;/a&gt;
&lt;div class=&quot;moreless-content&quot;&gt;&lt;a class=&quot;btn-toggle-moreless&quot;&gt;더보기&lt;/a&gt;
&lt;div class=&quot;moreless-content&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #fafafa; caret-color: auto; letter-spacing: 0px;&quot;&gt;&quot;{{4,2,3},{3},{2,3,4,1},{2,3}}&amp;rdquo;&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;튜플이 (3,2,4,1)이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그 이유는,&lt;/p&gt;
&lt;div data-ke-type=&quot;moreLess&quot; data-text-more=&quot;더보기&quot; data-text-less=&quot;닫기&quot;&gt;&lt;a class=&quot;btn-toggle-moreless&quot;&gt;더보기&lt;/a&gt;
&lt;div class=&quot;moreless-content&quot;&gt;&lt;a class=&quot;btn-toggle-moreless&quot;&gt;더보기&lt;/a&gt;
&lt;div class=&quot;moreless-content&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;(a1, a2, a3, ..., an) 튜플의 집합은 {{a1}, {a1, a2}, {a1, a2, a3}, {a1, a2, a3, a4}, ... {a1, a2, a3, a4, ..., an}}&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이기 때문에, {3}이 있으므로 3이 튜플의 가장 첫번째 원소여야 한다. 그 다음 {2,3}에서 3은 이미 첫번째 원소이기 때문에 2는 2번째 원소가 된다. 즉, 집합의 길이별 오름차순 정렬을 먼저 해주고, 각 집합의 원소 중 번호가 부여 안된 원소가 있다면 번호를 부여하면 된다. (번호가 몇번째 원소인지)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이건 HashMap으로 처리해줬다.&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;입력&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;솔직히 입력 어떻게 해야하는지 생각한게 더 오래 걸렸다.&lt;/p&gt;
&lt;div data-ke-type=&quot;moreLess&quot; data-text-more=&quot;더보기&quot; data-text-less=&quot;닫기&quot;&gt;&lt;a class=&quot;btn-toggle-moreless&quot;&gt;더보기&lt;/a&gt;
&lt;div class=&quot;moreless-content&quot;&gt;&lt;a class=&quot;btn-toggle-moreless&quot;&gt;더보기&lt;/a&gt;
&lt;div class=&quot;moreless-content&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&quot;{{4,2,3},{3},{2,3,4,1},{2,3}}&amp;rdquo;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;split으로 하려고 했는데, 집합 안에도 ,가 있어서 제대로 안나올 것 같았다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그래서 스택으로 괄호 문제 했던 것처럼,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;입력을 순차 탐색해서&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;{가 나올 경우, 집합의 원소를 담을 ArrayList 생성&lt;/li&gt;
&lt;li&gt;}가 나올 경우, ArrayList를 저장&lt;/li&gt;
&lt;li&gt;,가 나올 경우, 앞의 문자를 숫자로 변환해 ArrayList에 저장&lt;/li&gt;
&lt;li&gt;숫자가 나올 경우, StringBuilder에 추가&lt;/li&gt;
&lt;/ol&gt;
&lt;h1&gt;3. 코드&lt;/h1&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;⭕ 정답&lt;/h2&gt;
&lt;pre class=&quot;pgsql&quot;&gt;&lt;code&gt;import java.util.*;

class Solution {
    
    ArrayList&amp;lt;ArrayList&amp;lt;Integer&amp;gt;&amp;gt; infos;
    ArrayList&amp;lt;Integer&amp;gt; arr;
    HashMap&amp;lt;Integer, Integer&amp;gt; chk;
    
    public int[] solution(String s) {
        init(s);
        return proc();
    }
    
    public void init(String s){
        infos=new ArrayList&amp;lt;&amp;gt;();
        chk=new HashMap&amp;lt;&amp;gt;();
        
        StringBuilder num=new StringBuilder();
        for(int i=1;i&amp;lt;s.length()-1;i++){
            if(s.charAt(i)=='{'){
                arr=new ArrayList&amp;lt;&amp;gt;();
            }
            else if(s.charAt(i)==','){
                if(num.length()&amp;gt;0){
                    arr.add(Integer.parseInt(num.toString()));
                    num=new StringBuilder();
                }
                
            }
            else if(s.charAt(i)=='}'){
                arr.add(Integer.parseInt(num.toString()));
                num=new StringBuilder();
                infos.add(arr);
            }
            else{
                num.append(s.charAt(i));
            }
        }
        
    }
    
    public int[] proc(){
        infos.sort((a,b)-&amp;gt;Integer.compare(a.size(),b.size()));
        int idx=0;
        
        for(ArrayList&amp;lt;Integer&amp;gt; temp: infos){
            for(int num: temp){
                //System.out.print(num+&quot; &quot;);
                if(!chk.containsKey(num)){
                    chk.put(num,idx++);
                }
            }
            System.out.println();
        }
        
        int[] ans=new int[chk.size()];
        
        for(Map.Entry&amp;lt;Integer, Integer&amp;gt; info: chk.entrySet()){
            ans[info.getValue()]=info.getKey();
        }
        
        return ans;
    }
}
&lt;/code&gt;&lt;/pre&gt;</description>
      <category>computer language/JAVA 문제풀이</category>
      <category>64065</category>
      <category>Java</category>
      <category>튜플</category>
      <category>프로그래머스</category>
      <author>화이트 하비</author>
      <guid isPermaLink="true">https://hobby519.tistory.com/18</guid>
      <comments>https://hobby519.tistory.com/18#entry18comment</comments>
      <pubDate>Sun, 15 Feb 2026 20:41:04 +0900</pubDate>
    </item>
    <item>
      <title>Nasm을 이용한 Assembly 배우기-0</title>
      <link>https://hobby519.tistory.com/17</link>
      <description>&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;어셈블리어&lt;/b&gt;&lt;/h2&gt;
&lt;div id=&quot;SE-29c77478-8fed-4116-b2ed-c58eb119d14e&quot; data-a11y-title=&quot;본문&quot; data-compid=&quot;SE-29c77478-8fed-4116-b2ed-c58eb119d14e&quot;&gt;
&lt;div data-direction=&quot;top&quot; data-compid=&quot;SE-29c77478-8fed-4116-b2ed-c58eb119d14e&quot; data-unitid=&quot;&quot;&gt;
&lt;div id=&quot;SE-fc337f2c-d2e7-47c1-9071-158e8c942aa6&quot;&gt;
&lt;p id=&quot;SE-efd78477-01b2-454e-8d7a-c7f328077dc4&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;우리가 기존에 배우던 c, c++, Java 같은 언어들이 고급언어이고, 어셈블리어는 기계어(기계어는 0과 1로만 이루어진 것임)와 거의 가까운 저급언어라고 합니다. 프로그래밍 언어가 기계어에 가까울수록 어려운 대신 명령 실행 속도가 빠릅니다. python같은 언어를 문제 풀 때 실행시켜보면 메모리를 엄청 많이 잡아먹고 실행속도가 C보다 더 느리다는 것을 알 수가 있죠.&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-f2184cb1-4fe1-4570-81ba-41f6a050606e&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;우선 linux에서 할 것이기 때문에 우분투와 가상머신을 다운로드 해주세요(과정은 생략)&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-034f2df4-2913-4a54-985c-a358ecd32994&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;그리고 terminal에 sudo apt-get install nasm을 치면 다운로드가 완료됩니다.&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-972ba8c7-730f-4d3a-a2b2-1db96f0d3a22&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;그럼 시작해볼게요!!&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&quot;SE-819ccdd2-e4ad-4d94-8fbf-d8419f704b13&quot; data-a11y-title=&quot;구분선&quot; data-compid=&quot;SE-819ccdd2-e4ad-4d94-8fbf-d8419f704b13&quot;&gt;
&lt;div&gt;
&lt;div data-direction=&quot;top&quot; data-compid=&quot;SE-819ccdd2-e4ad-4d94-8fbf-d8419f704b13&quot; data-unitid=&quot;&quot;&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div id=&quot;SE-7111c33d-2950-47a7-9530-8c472b382c9a&quot; data-a11y-title=&quot;본문&quot; data-compid=&quot;SE-7111c33d-2950-47a7-9530-8c472b382c9a&quot;&gt;
&lt;div&gt;
&lt;div data-direction=&quot;top&quot; data-compid=&quot;SE-7111c33d-2950-47a7-9530-8c472b382c9a&quot; data-unitid=&quot;&quot;&gt;
&lt;div&gt;
&lt;div id=&quot;SE-b8cc1d20-67b3-4c08-a027-0961a52c7f64&quot;&gt;
&lt;h2 id=&quot;SE-2740b966-dbdd-4c10-9e5e-6df9c9e66fc0&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;background-color: #f9f9f9; color: #000000;&quot;&gt;&lt;b&gt;어셈블리어(Assembly Language)로 Hello World 출력하기&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p id=&quot;SE-03bc2f86-2692-45c2-ad8d-4e66de271a68&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote id=&quot;SE-8d1957f1-9b55-4c2d-bd1c-73cf8ad29602&quot; data-ke-style=&quot;style3&quot;&gt;nano 파일명.s: nano는 에디터 프로그램으로 마치 메모장처럼 어떤 내용을 작성할 수 있는 프로그램을 말함. 즉 .s를 통해 에셈블리 소스코드 파일을 생성하겠다는 것을 말함.&lt;/blockquote&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div id=&quot;SE-7383fb40-4bb1-4f93-92a8-2a1b068c69be&quot; data-a11y-title=&quot;사진&quot; data-compid=&quot;SE-7383fb40-4bb1-4f93-92a8-2a1b068c69be&quot;&gt;
&lt;div data-direction=&quot;top&quot; data-compid=&quot;SE-7383fb40-4bb1-4f93-92a8-2a1b068c69be&quot; data-unitid=&quot;&quot;&gt;
&lt;div id=&quot;SE-7383fb40-4bb1-4f93-92a8-2a1b068c69be&quot;&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div data-direction=&quot;top&quot; data-compid=&quot;&quot; data-unitid=&quot;SE-7383fb40-4bb1-4f93-92a8-2a1b068c69be&quot;&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;561&quot; data-origin-height=&quot;231&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/c52G5U/dJMcadgEJt8/YGmuSlz8T9czU9h9R0LRkK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/c52G5U/dJMcadgEJt8/YGmuSlz8T9czU9h9R0LRkK/img.png&quot; data-alt=&quot;nano프로그램을 실행시킨 모습&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/c52G5U/dJMcadgEJt8/YGmuSlz8T9czU9h9R0LRkK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fc52G5U%2FdJMcadgEJt8%2FYGmuSlz8T9czU9h9R0LRkK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;412&quot; height=&quot;231&quot; data-origin-width=&quot;561&quot; data-origin-height=&quot;231&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;nano프로그램을 실행시킨 모습&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div id=&quot;SE-ff87af09-2b11-4343-996a-8c0f95c67030&quot; data-a11y-title=&quot;사진&quot; data-compid=&quot;SE-ff87af09-2b11-4343-996a-8c0f95c67030&quot;&gt;
&lt;div&gt;
&lt;div data-direction=&quot;top&quot; data-compid=&quot;SE-ff87af09-2b11-4343-996a-8c0f95c67030&quot; data-unitid=&quot;&quot;&gt;
&lt;div&gt;
&lt;div id=&quot;SE-ff87af09-2b11-4343-996a-8c0f95c67030&quot;&gt;
&lt;div data-direction=&quot;top&quot; data-compid=&quot;&quot; data-unitid=&quot;SE-ff87af09-2b11-4343-996a-8c0f95c67030&quot;&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;289&quot; data-origin-height=&quot;235&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bU26uS/dJMcagEtELc/45HHg0kwkYYQHYQTnz1k0K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bU26uS/dJMcagEtELc/45HHg0kwkYYQHYQTnz1k0K/img.png&quot; data-alt=&quot;이것을 치시면 됩니다.&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bU26uS/dJMcagEtELc/45HHg0kwkYYQHYQTnz1k0K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbU26uS%2FdJMcagEtELc%2F45HHg0kwkYYQHYQTnz1k0K%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;289&quot; height=&quot;235&quot; data-origin-width=&quot;289&quot; data-origin-height=&quot;235&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;이것을 치시면 됩니다.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/div&gt;
&lt;span style=&quot;color: #555555;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p id=&quot;SE-26522ec8-b7d9-4c3f-b682-11737fb17625&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;여기서 data는 프로그램에서 사용되는 문자열 같은 데이터를 저장할 수 있는 공간을 의미합니다.&lt;/span&gt;&lt;/p&gt;
&lt;blockquote id=&quot;SE-9f17a543-6d4b-46c8-85ad-92f8cecf625d&quot; data-ke-style=&quot;style3&quot;&gt;text: 위에서부터 차례대로 읽어내려가는 소스코드 자체를 의미&lt;br /&gt;_start: C언어에서 main 함수보다 먼저 실행되는 함수&lt;br /&gt;mov: 어떠한 레지스터 안에 특정한 값을 넣는 하나의 명령어&lt;br /&gt;mov rax, 1: rax라는 레지스터 안에 1을 넣겠다는 뜻&lt;/blockquote&gt;
&lt;p id=&quot;SE-eb002e33-fa73-432c-a3a5-23fb714ce7d5&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p id=&quot;SE-ad8808b0-36b1-42d8-9a26-0a5869e75f59&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;프로그램을 끝낼 때는 ctrl x를 누르고 y를 눌러주고 enter를 치면 나올 수 있습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-28200a76-05b4-4291-a0be-aa53b5f1e256&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;여기서 cat helloworld.s를 치게 되면 helloworld 파일의 내용을 볼 수 있습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div id=&quot;SE-85c9d86d-5560-481a-8429-ca4a297cd9b7&quot; data-a11y-title=&quot;사진&quot; data-compid=&quot;SE-85c9d86d-5560-481a-8429-ca4a297cd9b7&quot;&gt;
&lt;div&gt;
&lt;div data-direction=&quot;top&quot; data-compid=&quot;SE-85c9d86d-5560-481a-8429-ca4a297cd9b7&quot; data-unitid=&quot;&quot;&gt;
&lt;div&gt;
&lt;div id=&quot;SE-85c9d86d-5560-481a-8429-ca4a297cd9b7&quot;&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div data-direction=&quot;top&quot; data-compid=&quot;&quot; data-unitid=&quot;SE-85c9d86d-5560-481a-8429-ca4a297cd9b7&quot;&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;645&quot; data-origin-height=&quot;176&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bwHlx0/dJMcacvjm0f/MDod6plk5bP6wh0GBEKGkK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bwHlx0/dJMcacvjm0f/MDod6plk5bP6wh0GBEKGkK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bwHlx0/dJMcacvjm0f/MDod6plk5bP6wh0GBEKGkK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbwHlx0%2FdJMcacvjm0f%2FMDod6plk5bP6wh0GBEKGkK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;505&quot; height=&quot;176&quot; data-origin-width=&quot;645&quot; data-origin-height=&quot;176&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/div&gt;
&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote id=&quot;SE-65058a53-3bcf-460d-a71f-83674b31dc8e&quot; data-ke-style=&quot;style3&quot;&gt;nasm -f elf64 -o helloworld.o helloworld.s: 만든 파일을 목적코드로 변환&lt;br /&gt;ld -o helloworld helloworld.o: 실행할 수 있는 프로그램으로 만들어줌&lt;br /&gt;ls를 쳐서 실행할 수 있는 프로그램이 생겨난 것을 볼 수 있음(linux의 경우 연두색으로 표시된 것은 실행할 수 있음을 뜻함)&lt;br /&gt;./helloworld를 치시면 파일이 실행되면서 Hello World가 뜨게 됩니다.&lt;/blockquote&gt;
&lt;p id=&quot;SE-446437c7-87f1-4d58-b2ca-b23bcd5ac82b&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p id=&quot;SE-cc31b0ee-462c-426d-a06f-886609f690ab&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;만약에 세그멘테이션 오류가 뜨셨다면 section .data를 써야하는데 section.data라고 붙여쓰신 경우일겁니다.&lt;/span&gt;&lt;/p&gt;
&lt;blockquote id=&quot;SE-73ef3319-ded6-4a85-a9b3-2ed6ca56c2b5&quot; data-ke-style=&quot;style3&quot;&gt;편집&lt;br /&gt;nano helloworld.s를 누르면 다시 편집할 수 있습니다. 또는&lt;br /&gt;vi helloworld.s: vi 편집기 실행, 편집을 할 수 있게 됨&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p id=&quot;SE-fbc9ce97-0e74-457b-aa84-a415465f4ed0&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;여기서 i를 누르셔야 편집을 할 수 있게 됩니다.&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-8e8a4226-8527-4be3-b578-2cd54d4a6ada&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;나갈 때: ESC를 누르면 INSERT라는 문구가 사라짐&lt;/span&gt;&lt;/p&gt;
&lt;blockquote id=&quot;SE-a460f44b-5f80-4ef3-bcd2-12ef344b78d2&quot; data-ke-style=&quot;style3&quot;&gt;:q : 나감&lt;br /&gt;:w : 저장&lt;br /&gt;:wq : 저장하고 나가기&lt;/blockquote&gt;
&lt;p id=&quot;SE-df3489b2-4b51-44bd-83f8-8baa59464ed7&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p id=&quot;SE-4d85afb5-f4c6-4dea-8900-bfde026e0a99&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;vi 편집기에 대해 더 자세히 알고 싶다면&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-01e541a6-86b3-4668-8010-a83677b72855&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot; data-href=&quot;https://dog-developers.tistory.com/43&quot;&gt;&lt;a href=&quot;https://dog-developers.tistory.com/43&quot;&gt;https://dog-developers.tistory.com/43&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p id=&quot;SE-4f398853-353e-4d0a-827a-c981dd6a102f&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;vim 설치 및 설정&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-9b2d9b66-78c2-4e1e-943a-4821bd405476&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot; data-href=&quot;https://norux.me/13&quot;&gt;&lt;a href=&quot;https://norux.me/13&quot;&gt;https://norux.me/13&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div id=&quot;SE-da20742b-e59a-4b0b-b33a-287016d82fb1&quot; data-a11y-title=&quot;사진&quot; data-compid=&quot;SE-da20742b-e59a-4b0b-b33a-287016d82fb1&quot;&gt;
&lt;div data-direction=&quot;top&quot; data-compid=&quot;SE-da20742b-e59a-4b0b-b33a-287016d82fb1&quot; data-unitid=&quot;&quot;&gt;
&lt;div id=&quot;SE-da20742b-e59a-4b0b-b33a-287016d82fb1&quot;&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div data-direction=&quot;top&quot; data-compid=&quot;&quot; data-unitid=&quot;SE-da20742b-e59a-4b0b-b33a-287016d82fb1&quot;&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;472&quot; data-origin-height=&quot;53&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/vul1x/dJMcafyNGJ7/LjTVFA4EI4r8FksQ9dvENk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/vul1x/dJMcafyNGJ7/LjTVFA4EI4r8FksQ9dvENk/img.png&quot; data-alt=&quot;파일이 제거 되었음을 알 수 있음&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/vul1x/dJMcafyNGJ7/LjTVFA4EI4r8FksQ9dvENk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fvul1x%2FdJMcafyNGJ7%2FLjTVFA4EI4r8FksQ9dvENk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;472&quot; height=&quot;53&quot; data-origin-width=&quot;472&quot; data-origin-height=&quot;53&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;파일이 제거 되었음을 알 수 있음&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/div&gt;
&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div id=&quot;SE-d2fd7987-1f4e-40dd-a455-af3a84044fce&quot;&gt;
&lt;p id=&quot;SE-911fd05d-6d2a-463e-890d-270122be2c4f&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;rm 파일: 파일 제거(Remove)&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div id=&quot;SE-9a8bdac9-adf3-4974-ba92-4614dedc5f34&quot; data-a11y-title=&quot;구분선&quot; data-compid=&quot;SE-9a8bdac9-adf3-4974-ba92-4614dedc5f34&quot;&gt;
&lt;div&gt;
&lt;div data-direction=&quot;top&quot; data-compid=&quot;SE-9a8bdac9-adf3-4974-ba92-4614dedc5f34&quot; data-unitid=&quot;&quot;&gt;
&lt;div&gt;
&lt;div&gt;&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&quot;SE-57fd1489-39fb-4e8e-839f-190eeade5ef7&quot; data-a11y-title=&quot;본문&quot; data-compid=&quot;SE-57fd1489-39fb-4e8e-839f-190eeade5ef7&quot;&gt;
&lt;div&gt;
&lt;div data-direction=&quot;top&quot; data-compid=&quot;SE-57fd1489-39fb-4e8e-839f-190eeade5ef7&quot; data-unitid=&quot;&quot;&gt;
&lt;div&gt;
&lt;div id=&quot;SE-d60124a6-9d4c-445c-bc71-4b2d33d98450&quot;&gt;
&lt;h2 id=&quot;SE-bc173e6e-ae53-42f2-8b77-22adb747133d&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;background-color: #f9f9f9; color: #000000;&quot;&gt;&lt;b&gt;레지스터의 용도와 시스템 콜 이해하기&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div id=&quot;SE-0e72daf8-201b-4109-9f40-e62d4e23e013&quot; data-a11y-title=&quot;사진&quot; data-compid=&quot;SE-0e72daf8-201b-4109-9f40-e62d4e23e013&quot;&gt;
&lt;div data-direction=&quot;top&quot; data-compid=&quot;SE-0e72daf8-201b-4109-9f40-e62d4e23e013&quot; data-unitid=&quot;&quot;&gt;
&lt;div id=&quot;SE-0e72daf8-201b-4109-9f40-e62d4e23e013&quot;&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div data-direction=&quot;top&quot; data-compid=&quot;&quot; data-unitid=&quot;SE-0e72daf8-201b-4109-9f40-e62d4e23e013&quot;&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;895&quot; data-origin-height=&quot;543&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/pSs5z/dJMcadOrfKZ/APOYLxJUoxhkWoJFXg3hG1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/pSs5z/dJMcadOrfKZ/APOYLxJUoxhkWoJFXg3hG1/img.png&quot; data-alt=&quot;위에서부터 64비트, 32비트, 16비트, 8비트짜리 레지스터를 보여줌&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/pSs5z/dJMcadOrfKZ/APOYLxJUoxhkWoJFXg3hG1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FpSs5z%2FdJMcadOrfKZ%2FAPOYLxJUoxhkWoJFXg3hG1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;679&quot; height=&quot;543&quot; data-origin-width=&quot;895&quot; data-origin-height=&quot;543&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;위에서부터 64비트, 32비트, 16비트, 8비트짜리 레지스터를 보여줌&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/div&gt;
&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div id=&quot;SE-00841d93-03f7-4d7b-943e-14fc5c3d991f&quot;&gt;
&lt;p id=&quot;SE-dec57ee5-7f2a-45b1-8e58-16fd3d39fe92&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;64비트는 레지스터 이름으로 앞에 R이 쓰인다는 것을 알 수 있고, 32비트는 E라는 것을 알 수 있네요.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div id=&quot;SE-e70e67d7-6af3-45ea-b567-164a1e12d5d8&quot; data-a11y-title=&quot;사진&quot; data-compid=&quot;SE-e70e67d7-6af3-45ea-b567-164a1e12d5d8&quot;&gt;
&lt;div data-direction=&quot;top&quot; data-compid=&quot;SE-e70e67d7-6af3-45ea-b567-164a1e12d5d8&quot; data-unitid=&quot;&quot;&gt;
&lt;div id=&quot;SE-e70e67d7-6af3-45ea-b567-164a1e12d5d8&quot;&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div data-direction=&quot;top&quot; data-compid=&quot;&quot; data-unitid=&quot;SE-e70e67d7-6af3-45ea-b567-164a1e12d5d8&quot;&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;678&quot; data-origin-height=&quot;252&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Ovd6S/dJMcaioKGp3/2Dka95BLzBWLgj51ri0GMk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Ovd6S/dJMcaioKGp3/2Dka95BLzBWLgj51ri0GMk/img.png&quot; data-alt=&quot;레지스터의 크기 비교&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Ovd6S/dJMcaioKGp3/2Dka95BLzBWLgj51ri0GMk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FOvd6S%2FdJMcaioKGp3%2F2Dka95BLzBWLgj51ri0GMk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;678&quot; height=&quot;252&quot; data-origin-width=&quot;678&quot; data-origin-height=&quot;252&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;레지스터의 크기 비교&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/div&gt;
&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p id=&quot;SE-2e92f038-85b8-4133-bb98-0d9f1e235438&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;RDX의 반이 EDX, 그것의 반이 DX, DL이네요.&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-efa3a89b-98af-4c44-8c86-934c017e7ff4&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p id=&quot;SE-8263e90e-06d9-49c3-9f15-0374b0a55b36&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;//데이터 레지스터&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;blockquote id=&quot;SE-1bf538fb-1c05-48d3-a8af-9e3f0bc61e19&quot; data-ke-style=&quot;style3&quot;&gt;★RAX: system call의 실질적인 번호를 가르키는 레지스터이자 함수가 실행된 다음 그 결과가 담기는 레지스터&lt;br /&gt;RBX: base register로 메모리 주소를 저장할 때 쓰임&lt;br /&gt;RCX: Counter register로 주로 반복문에 많이 사용됨&lt;br /&gt;RDX: Data register로 RAX와 함께 많이 사용됨&lt;br /&gt;&lt;br /&gt;&lt;/blockquote&gt;
&lt;p id=&quot;SE-6b5268ea-2db8-4eab-a5a0-2b743ca0c808&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p id=&quot;SE-af1ce5e0-921e-4f93-8a02-1cb6da1a2874&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;//pointer register&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;blockquote id=&quot;SE-3ea1f346-9ab7-4ea2-8f8c-4656cf86e143&quot; data-ke-style=&quot;style3&quot;&gt;RSI: 메모리를 이동하거나 비교할 때 그 출발지 주소를 가리킬 때 사용&lt;br /&gt;RDI: 메모리를 이동하거나 비교할 때 그 목적지 주소를 가리킬 때 사용&lt;br /&gt;RBP: 함수의 파라미터나 변수의 주소를 가리킬 때 사용&lt;br /&gt;★RSP: stack의 삽입 및 삭제 명령에 의해서 변경되는 스택에서 가장 위에 있는 주소를 가리키는 하나의 레지스터&lt;br /&gt;나머지 r8~r15는 함수의 매개변수로서 사용됨&lt;/blockquote&gt;
&lt;p id=&quot;SE-4823c60c-5d80-49cb-90f0-8f2a19653348&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p id=&quot;SE-64808659-df79-49a3-8297-2c6e3c3864bf&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;//시스템 콜(system call)&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div id=&quot;SE-771a49d5-9ad8-4060-b079-0ea2367a4355&quot; data-a11y-title=&quot;사진&quot; data-compid=&quot;SE-771a49d5-9ad8-4060-b079-0ea2367a4355&quot;&gt;
&lt;div&gt;
&lt;div data-direction=&quot;top&quot; data-compid=&quot;SE-771a49d5-9ad8-4060-b079-0ea2367a4355&quot; data-unitid=&quot;&quot;&gt;
&lt;div&gt;
&lt;div id=&quot;SE-771a49d5-9ad8-4060-b079-0ea2367a4355&quot;&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div data-direction=&quot;top&quot; data-compid=&quot;&quot; data-unitid=&quot;SE-771a49d5-9ad8-4060-b079-0ea2367a4355&quot;&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;936&quot; data-origin-height=&quot;544&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/lghCr/dJMb99ZERa1/Vutptsa4ovO9BMtVPN1ho1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/lghCr/dJMb99ZERa1/Vutptsa4ovO9BMtVPN1ho1/img.png&quot; data-alt=&quot;64 bit system call table&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/lghCr/dJMb99ZERa1/Vutptsa4ovO9BMtVPN1ho1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FlghCr%2FdJMb99ZERa1%2FVutptsa4ovO9BMtVPN1ho1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;693&quot; height=&quot;544&quot; data-origin-width=&quot;936&quot; data-origin-height=&quot;544&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;64 bit system call table&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/div&gt;
&lt;span&gt;&lt;/span&gt;&lt;span style=&quot;color: #555555;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p id=&quot;SE-ce13762b-e4a5-46bb-b6ea-b02a7323ab7a&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;table을 더보고 싶다면&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-34684308-06ba-4da3-866a-d8a95aafdb2a&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot; data-href=&quot;https://blog.rchapman.org/posts/Linux_System_Call_Table_for_x86_64/&quot;&gt;&lt;a href=&quot;https://blog.rchapman.org/posts/Linux_System_Call_Table_for_x86_64/&quot;&gt;https://blog.rchapman.org/posts/Linux_System_Call_Table_for_x86_64/&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote id=&quot;SE-caa7d64d-b2a8-4a40-80fd-3f7b77d3a137&quot; data-ke-style=&quot;style3&quot;&gt;%rax: 위에서 설명했던 레지스터죠. 어떠한 시스템 콜 함수를 불러올 때 그 번호를 가르킴.&lt;/blockquote&gt;
&lt;p id=&quot;SE-11c87d89-ba71-42b6-bb46-3be4e1cbc368&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;즉, 시스템 콜 함수를 사용하기 전에 rax에 0이라는 값이 담겨 있다면 sys_read 함수를 사용한다고 해석하시면 됩니다.&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-da98a6fc-6098-44c9-b777-15ceaf71674d&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;예를 들어 sys_write 같은 경우에 rdi는 매개변수로서 fd(file descriptor) 역할을 한다는 것을 알 수 있고, rsi에는 어떤 문자를 출력할지, 출력할 문자열의 길이는 rdx에 담으면 됩니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div id=&quot;SE-cc60f783-a91b-434f-b602-4024ca966f8c&quot; data-a11y-title=&quot;사진&quot; data-compid=&quot;SE-cc60f783-a91b-434f-b602-4024ca966f8c&quot;&gt;
&lt;div&gt;
&lt;div data-direction=&quot;top&quot; data-compid=&quot;SE-cc60f783-a91b-434f-b602-4024ca966f8c&quot; data-unitid=&quot;&quot;&gt;
&lt;div&gt;
&lt;div id=&quot;SE-cc60f783-a91b-434f-b602-4024ca966f8c&quot;&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div data-direction=&quot;top&quot; data-compid=&quot;&quot; data-unitid=&quot;SE-cc60f783-a91b-434f-b602-4024ca966f8c&quot;&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;289&quot; data-origin-height=&quot;235&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/OBEeJ/dJMcaaK0ioF/xmA1L8l2TCxBXpKytEKTfk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/OBEeJ/dJMcaaK0ioF/xmA1L8l2TCxBXpKytEKTfk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/OBEeJ/dJMcaaK0ioF/xmA1L8l2TCxBXpKytEKTfk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FOBEeJ%2FdJMcaaK0ioF%2FxmA1L8l2TCxBXpKytEKTfk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;289&quot; height=&quot;235&quot; data-origin-width=&quot;289&quot; data-origin-height=&quot;235&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/div&gt;
&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p id=&quot;SE-3610cc1f-11bd-40ee-9bec-a84f84dedb60&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;그전에 썼던 걸 가져와봤는데요, 이제 해석할 수 있게 되었습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-395d4753-61a1-4825-ac38-a4b784af9b01&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;rax에 1을 할당함으로써 system_write를 호출한다고 얘기를 해주고, rdi에 fd에 1을 넣음으로써 우리가 어떤 문자열을 출력하겠다고 시스템 콜 함수 매개변수로 넣어주고, rsi에 msg를 넣음으로써 msg, 즉 Hello World를 출력할 수 있게 한 후 rdx에 12을 넣어줌으로써 문자열 길이를 정해준 후 syscall을 써줘 Hello world를 출력하게 만듭니다. &lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-8bf83a00-75a5-4421-bef4-bcaa87e83127&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;밑에 rax에 60을 할당해줬는데요, 60은 sys_exit로 프로그램을 종료한다는 뜻입니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div id=&quot;SE-260bc101-0c27-4088-bc86-b38fb5d49e3e&quot; data-a11y-title=&quot;사진&quot; data-compid=&quot;SE-260bc101-0c27-4088-bc86-b38fb5d49e3e&quot;&gt;
&lt;div&gt;
&lt;div data-direction=&quot;top&quot; data-compid=&quot;SE-260bc101-0c27-4088-bc86-b38fb5d49e3e&quot; data-unitid=&quot;&quot;&gt;
&lt;div&gt;
&lt;div id=&quot;SE-260bc101-0c27-4088-bc86-b38fb5d49e3e&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div data-direction=&quot;top&quot; data-compid=&quot;&quot; data-unitid=&quot;SE-260bc101-0c27-4088-bc86-b38fb5d49e3e&quot;&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;378&quot; data-origin-height=&quot;27&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cJTTkp/dJMcabwmJrN/z3HemRH3nVKwiKnKb9kQE1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cJTTkp/dJMcabwmJrN/z3HemRH3nVKwiKnKb9kQE1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cJTTkp/dJMcabwmJrN/z3HemRH3nVKwiKnKb9kQE1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcJTTkp%2FdJMcabwmJrN%2Fz3HemRH3nVKwiKnKb9kQE1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;378&quot; height=&quot;27&quot; data-origin-width=&quot;378&quot; data-origin-height=&quot;27&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/div&gt;
&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p id=&quot;SE-5698ff46-e196-48dc-9ef4-03fbc53861a0&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;error_code를 써줘야 하는데 rdi에 0을 넣음으로써 안전하게 종료할 수 있습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-ffd9ee8c-fb49-4034-9083-86380eb52cfc&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p id=&quot;SE-3040862e-115a-4d33-a8c7-9461754fe5ed&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;어셈블리 명령어&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div id=&quot;SE-a47caefd-90d8-4ef1-a4ee-f33f500e7f32&quot; data-a11y-title=&quot;표&quot; data-compid=&quot;SE-a47caefd-90d8-4ef1-a4ee-f33f500e7f32&quot;&gt;
&lt;div data-direction=&quot;top&quot; data-compid=&quot;SE-a47caefd-90d8-4ef1-a4ee-f33f500e7f32&quot; data-unitid=&quot;&quot;&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%; height: 214px;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr id=&quot;SE-1a35031e-a89a-45e6-a8c4-a83bf922c410&quot; style=&quot;height: 17px;&quot;&gt;
&lt;td id=&quot;SE-6825576a-6aa1-414a-b5d4-89d339dff689&quot; style=&quot;background-color: #ffffff; height: 17px;&quot; colspan=&quot;1&quot; rowspan=&quot;1&quot;&gt;
&lt;div id=&quot;SE-a80633a0-eb26-4628-b654-037fe00b776c&quot;&gt;&lt;span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;mov&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;i&gt;x&lt;/i&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;i&gt;y&lt;/i&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
&lt;td id=&quot;SE-553de4b3-497b-48b5-81ba-2cd117b95f87&quot; style=&quot;background-color: #ffffff; height: 17px;&quot; colspan=&quot;1&quot; rowspan=&quot;1&quot;&gt;
&lt;div id=&quot;SE-c878f103-5b83-462c-bffa-d9c0282202a1&quot;&gt;&lt;span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;i&gt;x&lt;/i&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt; &amp;larr; &lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;i&gt;y&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr id=&quot;SE-4ebab8ba-12b7-468e-8e7a-087eda4949c7&quot; style=&quot;height: 17px;&quot;&gt;
&lt;td id=&quot;SE-4c0b289d-f17d-41ff-987b-3da72bd4934f&quot; style=&quot;background-color: #ffffff; height: 17px;&quot; colspan=&quot;1&quot; rowspan=&quot;1&quot;&gt;
&lt;div id=&quot;SE-442ecf3d-7f3e-4996-acd8-403b9efa06d3&quot;&gt;&lt;span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;and&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;i&gt;x&lt;/i&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;i&gt;y&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
&lt;td id=&quot;SE-cbc80eef-261c-4aaf-b4e7-0b5ac53e7de4&quot; style=&quot;background-color: #ffffff; height: 17px;&quot; colspan=&quot;1&quot; rowspan=&quot;1&quot;&gt;
&lt;div id=&quot;SE-37be6d3a-52b6-4363-9b01-1810914c561c&quot;&gt;&lt;span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;i&gt;x&lt;/i&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt; &amp;larr; &lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;i&gt;x&lt;/i&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt; and &lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;i&gt;y&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr id=&quot;SE-ec2f7f9d-9759-4384-b429-15766b14ab87&quot; style=&quot;height: 17px;&quot;&gt;
&lt;td id=&quot;SE-7b01fcfe-3ab4-4174-a94e-3bfe376f1274&quot; style=&quot;background-color: #ffffff; height: 17px;&quot; colspan=&quot;1&quot; rowspan=&quot;1&quot;&gt;
&lt;div id=&quot;SE-881ac2ad-95ff-4242-be1d-2ca94a258119&quot;&gt;&lt;span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;or&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;i&gt;x&lt;/i&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;i&gt;y&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
&lt;td id=&quot;SE-b3dbc5b8-fe3b-49e9-9aff-59f45de47330&quot; style=&quot;background-color: #ffffff; height: 17px;&quot; colspan=&quot;1&quot; rowspan=&quot;1&quot;&gt;
&lt;div id=&quot;SE-276429c9-2cbf-4711-b2c5-f8a8e9653ada&quot;&gt;&lt;span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;i&gt;x&lt;/i&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt; &amp;larr; &lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;i&gt;x&lt;/i&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt; or &lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;i&gt;y&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr id=&quot;SE-52cf354d-06b4-457c-81f6-04b8f1c3eaae&quot; style=&quot;height: 17px;&quot;&gt;
&lt;td id=&quot;SE-c6461ae5-7641-4a6e-9de5-e44798af2bc3&quot; style=&quot;background-color: #ffffff; height: 17px;&quot; colspan=&quot;1&quot; rowspan=&quot;1&quot;&gt;
&lt;div id=&quot;SE-22664de0-0be3-4407-add0-64862c1b20c7&quot;&gt;&lt;span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;xor&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;i&gt;x&lt;/i&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;i&gt;y&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
&lt;td id=&quot;SE-6d6ad832-a712-4b9e-b414-e6834b9d45f3&quot; style=&quot;background-color: #ffffff; height: 17px;&quot; colspan=&quot;1&quot; rowspan=&quot;1&quot;&gt;
&lt;div id=&quot;SE-4deff05c-27b2-4ba9-a57e-25b0fe07c1a0&quot;&gt;&lt;span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;i&gt;x&lt;/i&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt; &amp;larr; &lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;i&gt;x&lt;/i&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt; xor &lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;i&gt;y&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr id=&quot;SE-66954202-4dbb-42f7-a4a8-19847331ec11&quot; style=&quot;height: 17px;&quot;&gt;
&lt;td id=&quot;SE-c3d48d37-67df-443a-8f97-be218c297dfc&quot; style=&quot;background-color: #ffffff; height: 17px;&quot; colspan=&quot;1&quot; rowspan=&quot;1&quot;&gt;
&lt;div id=&quot;SE-c8d4aa27-23cb-4c82-928f-1b9ca857dea0&quot;&gt;&lt;span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;add&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;i&gt;x&lt;/i&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;i&gt;y&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
&lt;td id=&quot;SE-1a199ec4-f734-4ef8-9eab-3f8b7fd43a9f&quot; style=&quot;background-color: #ffffff; height: 17px;&quot; colspan=&quot;1&quot; rowspan=&quot;1&quot;&gt;
&lt;div id=&quot;SE-d2ac0702-132b-4ff5-9997-2e3fdbbe2c95&quot;&gt;&lt;span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;i&gt;x&lt;/i&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt; &amp;larr; &lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;i&gt;x&lt;/i&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt; + &lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;i&gt;y&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr id=&quot;SE-cf391f22-f41f-4f4d-884d-af36a71dfa7b&quot; style=&quot;height: 17px;&quot;&gt;
&lt;td id=&quot;SE-6cf0afe0-c3f0-48ca-a469-8ac16895906e&quot; style=&quot;background-color: #ffffff; height: 17px;&quot; colspan=&quot;1&quot; rowspan=&quot;1&quot;&gt;
&lt;div id=&quot;SE-3ad2579d-41b2-4a92-95c7-4afbb92b2580&quot;&gt;&lt;span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;sub&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;i&gt;x&lt;/i&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;i&gt;y&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
&lt;td id=&quot;SE-498df686-6026-470a-b813-b4807ecf6a70&quot; style=&quot;background-color: #ffffff; height: 17px;&quot; colspan=&quot;1&quot; rowspan=&quot;1&quot;&gt;
&lt;div id=&quot;SE-c0e53432-2157-4721-8a6f-adbd9b38dc7b&quot;&gt;&lt;span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;i&gt;x&lt;/i&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt; &amp;larr; &lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;i&gt;x&lt;/i&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt; &amp;ndash; &lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;i&gt;y&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr id=&quot;SE-f1b85e2e-c971-4870-814f-6f3455672d2c&quot; style=&quot;height: 17px;&quot;&gt;
&lt;td id=&quot;SE-fe0d0b34-9a70-4a55-9c6a-b531963f789c&quot; style=&quot;background-color: #ffffff; height: 17px;&quot; colspan=&quot;1&quot; rowspan=&quot;1&quot;&gt;
&lt;div id=&quot;SE-343f9dd3-fb81-491d-ad86-762e31013e84&quot;&gt;&lt;span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;inc&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;i&gt;x&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
&lt;td id=&quot;SE-28bc4fa3-03c4-43a8-84b2-c418b47030ef&quot; style=&quot;background-color: #ffffff; height: 17px;&quot; colspan=&quot;1&quot; rowspan=&quot;1&quot;&gt;
&lt;div id=&quot;SE-10f538e6-e2fd-4248-89ed-60783f85c745&quot;&gt;&lt;span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;i&gt;x&lt;/i&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt; &amp;larr; &lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;i&gt;x&lt;/i&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt; + 1&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr id=&quot;SE-52121cb6-e2dd-463b-a561-2b89dd6914f3&quot; style=&quot;height: 17px;&quot;&gt;
&lt;td id=&quot;SE-15e9289d-ff5f-4cc3-addc-1b30fb981116&quot; style=&quot;background-color: #ffffff; height: 17px;&quot; colspan=&quot;1&quot; rowspan=&quot;1&quot;&gt;
&lt;div id=&quot;SE-3cf6e062-660b-48f2-a59a-61e06b307d8d&quot;&gt;&lt;span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;dec&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;i&gt;x&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
&lt;td id=&quot;SE-d3807572-6168-4208-b31a-b4a13f70e6b9&quot; style=&quot;background-color: #ffffff; height: 17px;&quot; colspan=&quot;1&quot; rowspan=&quot;1&quot;&gt;
&lt;div id=&quot;SE-8283a2bd-855b-4b61-ad8c-1779779321a3&quot;&gt;&lt;span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;i&gt;x&lt;/i&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt; &amp;larr; &lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;i&gt;x&lt;/i&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt; &amp;ndash; 1&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr id=&quot;SE-a456c726-470b-4f65-9999-d51c374a1e6d&quot; style=&quot;height: 39px;&quot;&gt;
&lt;td id=&quot;SE-af800c3b-192d-43ea-b704-53e103017461&quot; style=&quot;background-color: #ffffff; height: 39px;&quot; colspan=&quot;1&quot; rowspan=&quot;1&quot;&gt;
&lt;div id=&quot;SE-64abbc0b-ecd9-438a-b9cb-126d51357735&quot;&gt;&lt;span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;syscall&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
&lt;td id=&quot;SE-67697c09-f484-4a6f-ba48-7718c9f70b33&quot; style=&quot;background-color: #ffffff; height: 39px;&quot; colspan=&quot;1&quot; rowspan=&quot;1&quot;&gt;
&lt;div id=&quot;SE-9a714d28-eb2c-4e83-bb8e-9bad75397844&quot;&gt;&lt;span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;Invoke an operating system routine&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;(운영체제에게 기능을 수행해달라고 하는 하나의 수단)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr id=&quot;SE-5c70148b-b610-43e2-9001-01597bc13846&quot; style=&quot;height: 39px;&quot;&gt;
&lt;td id=&quot;SE-a4967e93-2dba-47db-b0a7-bc2431626dde&quot; style=&quot;background-color: #ffffff; height: 39px;&quot; colspan=&quot;1&quot; rowspan=&quot;1&quot;&gt;
&lt;div id=&quot;SE-ebe9ea5e-df31-4db2-9408-a5953a675aa0&quot;&gt;&lt;span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;db&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
&lt;td id=&quot;SE-7a591dbe-f15a-4ab0-9928-225e91d882ee&quot; style=&quot;background-color: #ffffff; height: 39px;&quot; colspan=&quot;1&quot; rowspan=&quot;1&quot;&gt;
&lt;div id=&quot;SE-c3e7627b-9985-4457-93b5-f43cabe10e9c&quot;&gt;&lt;span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;A &lt;/span&gt;&lt;span style=&quot;color: #664466;&quot; data-href=&quot;http://www.nasm.us/xdoc/2.11.02/html/nasmdoc3.html#section-3.2&quot;&gt;pseudo-instruction&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt; that declares bytes that will be in memory when the program runs&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;(프로그램을 실행할 때 메모리를 선언하는 의사 명령)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div id=&quot;SE-849ed3da-f3e1-4a63-901b-ca20fd8522c7&quot; data-a11y-title=&quot;구분선&quot; data-compid=&quot;SE-849ed3da-f3e1-4a63-901b-ca20fd8522c7&quot;&gt;
&lt;div&gt;
&lt;div data-direction=&quot;top&quot; data-compid=&quot;SE-849ed3da-f3e1-4a63-901b-ca20fd8522c7&quot; data-unitid=&quot;&quot;&gt;
&lt;div&gt;
&lt;div&gt;&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&quot;SE-a1633287-0b78-46e2-a431-0c9007ca488c&quot; data-a11y-title=&quot;본문&quot; data-compid=&quot;SE-a1633287-0b78-46e2-a431-0c9007ca488c&quot;&gt;
&lt;div data-direction=&quot;top&quot; data-compid=&quot;SE-a1633287-0b78-46e2-a431-0c9007ca488c&quot; data-unitid=&quot;&quot;&gt;
&lt;div id=&quot;SE-5876a1f4-df2b-4c54-8eb8-3193ea3ebd10&quot;&gt;
&lt;h2 id=&quot;SE-510b9203-1265-4308-b488-5ee22c3d8b84&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;background-color: #f9f9f9; color: #000000;&quot;&gt;&lt;b&gt;메모리 구조 이해하기&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div id=&quot;SE-f9a6ff3e-9f3c-448e-9914-99657282fa6e&quot; data-a11y-title=&quot;사진&quot; data-compid=&quot;SE-f9a6ff3e-9f3c-448e-9914-99657282fa6e&quot;&gt;
&lt;div data-direction=&quot;top&quot; data-compid=&quot;SE-f9a6ff3e-9f3c-448e-9914-99657282fa6e&quot; data-unitid=&quot;&quot;&gt;
&lt;div id=&quot;SE-f9a6ff3e-9f3c-448e-9914-99657282fa6e&quot;&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div data-direction=&quot;top&quot; data-compid=&quot;&quot; data-unitid=&quot;SE-f9a6ff3e-9f3c-448e-9914-99657282fa6e&quot;&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;253&quot; data-origin-height=&quot;329&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cdYAr8/dJMcacPBb9W/5Vh1h7hQjRPptFzZUjSczk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cdYAr8/dJMcacPBb9W/5Vh1h7hQjRPptFzZUjSczk/img.png&quot; data-alt=&quot;메모리의 구조&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cdYAr8/dJMcacPBb9W/5Vh1h7hQjRPptFzZUjSczk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcdYAr8%2FdJMcacPBb9W%2F5Vh1h7hQjRPptFzZUjSczk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;297&quot; height=&quot;329&quot; data-origin-width=&quot;253&quot; data-origin-height=&quot;329&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;메모리의 구조&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/div&gt;
&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div id=&quot;SE-5bfdb0f8-73e2-403c-be0d-ad84283f0391&quot;&gt;
&lt;p id=&quot;SE-2027e6b0-3fa7-477c-bd63-c1fbbaba9310&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote id=&quot;SE-494ebd7c-7dbe-40f0-a23a-84b99cabb731&quot; data-ke-style=&quot;style3&quot;&gt;Stack: 한 쪽 끝에서만 자료를 넣고 뺄 수 있는 LIO(Last In First Out) 형식의 자료 구조&lt;/blockquote&gt;
&lt;p id=&quot;SE-cbab2d6c-ce39-4c3a-8853-454741d9a969&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;스택은 취약점이 많이 발생하는 공간입니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div id=&quot;SE-b12320d7-0e83-429e-9a83-ed43d3639021&quot; data-a11y-title=&quot;사진&quot; data-compid=&quot;SE-b12320d7-0e83-429e-9a83-ed43d3639021&quot;&gt;
&lt;div data-direction=&quot;top&quot; data-compid=&quot;SE-b12320d7-0e83-429e-9a83-ed43d3639021&quot; data-unitid=&quot;&quot;&gt;
&lt;div id=&quot;SE-b12320d7-0e83-429e-9a83-ed43d3639021&quot;&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div data-direction=&quot;top&quot; data-compid=&quot;&quot; data-unitid=&quot;SE-b12320d7-0e83-429e-9a83-ed43d3639021&quot;&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;799&quot; data-origin-height=&quot;510&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/d2ZB61/dJMcahDloRV/OkWQYal9ZPDDlgTzgdTy20/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/d2ZB61/dJMcahDloRV/OkWQYal9ZPDDlgTzgdTy20/img.png&quot; data-alt=&quot;stack&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/d2ZB61/dJMcahDloRV/OkWQYal9ZPDDlgTzgdTy20/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fd2ZB61%2FdJMcahDloRV%2FOkWQYal9ZPDDlgTzgdTy20%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;458&quot; height=&quot;510&quot; data-origin-width=&quot;799&quot; data-origin-height=&quot;510&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;stack&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/div&gt;
&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div id=&quot;SE-62eb04b4-0a58-4d77-96e3-2f95dd4669c2&quot;&gt;
&lt;p id=&quot;SE-56c5d106-35ae-470a-88a6-9609024c8877&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote id=&quot;SE-7b989ca2-efd4-4471-a88f-33978f970913&quot; data-ke-style=&quot;style3&quot;&gt;heap: 동적으로 할당되는 변수들이 위치하는 공간 Malloc에서 할당된 데이터들의 공간&lt;br /&gt;BSS: 프로그램에서 사용된 변수(초기화가 되지 않은 변수)들이 실제적으로 위치해 있는 공간&lt;br /&gt;Data: 프로그램에서 사용된 변수(초기화가 된 변수)들이 실제적으로 위치해 있는 공간&lt;br /&gt;Text: 실제로 작성한 소스코드들의 공간&lt;/blockquote&gt;
&lt;p id=&quot;SE-e0fb0389-6ea4-4c64-b045-a53da67a0b49&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div id=&quot;SE-6f539fca-fe09-4ffd-8d6d-5d0e7fdf0f11&quot; data-a11y-title=&quot;구분선&quot; data-compid=&quot;SE-6f539fca-fe09-4ffd-8d6d-5d0e7fdf0f11&quot;&gt;
&lt;div&gt;
&lt;div data-direction=&quot;top&quot; data-compid=&quot;SE-6f539fca-fe09-4ffd-8d6d-5d0e7fdf0f11&quot; data-unitid=&quot;&quot;&gt;
&lt;div&gt;
&lt;div&gt;&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&quot;SE-34a705bd-ce26-40fe-8978-28b720c8a1ff&quot; data-a11y-title=&quot;본문&quot; data-compid=&quot;SE-34a705bd-ce26-40fe-8978-28b720c8a1ff&quot;&gt;
&lt;div&gt;
&lt;div data-direction=&quot;top&quot; data-compid=&quot;SE-34a705bd-ce26-40fe-8978-28b720c8a1ff&quot; data-unitid=&quot;&quot;&gt;
&lt;div&gt;
&lt;div id=&quot;SE-23597742-b5a3-4b76-958d-3da8103e5de1&quot;&gt;
&lt;h2 id=&quot;SE-85f8173b-1851-4eb7-8669-24c7e90065e5&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;background-color: #f9f9f9; color: #000000;&quot;&gt;&lt;b&gt;스택 프레임(Stack Frame) 이해하기&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p id=&quot;SE-cc50e57f-ec7b-440a-832a-e0f6ad0c1966&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p id=&quot;SE-94bbc84b-e137-4071-8d75-e90d72163534&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;스택과 관련된 c파일을 만들어보겠습니다.&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&quot;SE-cb5aa022-398a-4f91-acd3-a49ba1a5b7aa&quot; data-a11y-title=&quot;코드&quot; data-compid=&quot;SE-cb5aa022-398a-4f91-acd3-a49ba1a5b7aa&quot;&gt;
&lt;div&gt;
&lt;div data-direction=&quot;top&quot; data-compid=&quot;SE-cb5aa022-398a-4f91-acd3-a49ba1a5b7aa&quot; data-unitid=&quot;&quot;&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;pre class=&quot;axapta&quot;&gt;&lt;code&gt;nano sum.c&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&quot;SE-790a8a05-a1a8-4f43-92e4-1cc4659fd05c&quot; data-a11y-title=&quot;본문&quot; data-compid=&quot;SE-790a8a05-a1a8-4f43-92e4-1cc4659fd05c&quot;&gt;
&lt;div&gt;
&lt;div data-direction=&quot;top&quot; data-compid=&quot;SE-790a8a05-a1a8-4f43-92e4-1cc4659fd05c&quot; data-unitid=&quot;&quot;&gt;
&lt;div&gt;
&lt;div id=&quot;SE-54595ee5-4af0-4c40-87b1-9b42a3deb4d8&quot;&gt;
&lt;p id=&quot;SE-c7f7f53f-51bd-4a02-a642-6a3aea46b47e&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;이걸 쳐주세요&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div id=&quot;SE-5ce904e3-998e-4494-9d69-e225ce8e1750&quot; data-a11y-title=&quot;사진&quot; data-compid=&quot;SE-5ce904e3-998e-4494-9d69-e225ce8e1750&quot;&gt;
&lt;div&gt;
&lt;div data-direction=&quot;top&quot; data-compid=&quot;SE-5ce904e3-998e-4494-9d69-e225ce8e1750&quot; data-unitid=&quot;&quot;&gt;
&lt;div&gt;
&lt;div id=&quot;SE-5ce904e3-998e-4494-9d69-e225ce8e1750&quot;&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div data-direction=&quot;top&quot; data-compid=&quot;&quot; data-unitid=&quot;SE-5ce904e3-998e-4494-9d69-e225ce8e1750&quot;&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;232&quot; data-origin-height=&quot;166&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ceSoze/dJMcabC9PXm/xD689LCPwx1GXB2ZSE4av1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ceSoze/dJMcabC9PXm/xD689LCPwx1GXB2ZSE4av1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ceSoze/dJMcabC9PXm/xD689LCPwx1GXB2ZSE4av1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FceSoze%2FdJMcabC9PXm%2FxD689LCPwx1GXB2ZSE4av1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;312&quot; height=&quot;166&quot; data-origin-width=&quot;232&quot; data-origin-height=&quot;166&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/div&gt;
&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote id=&quot;SE-a6131d9c-971c-4c37-91c2-5695500adb65&quot; data-ke-style=&quot;style3&quot;&gt;gcc: C코드를 컴파일하는 프로그램 &lt;br /&gt;nasm: 에셈블리어를 컴파일하는 프로그램&lt;/blockquote&gt;
&lt;p id=&quot;SE-1ff2514d-3cba-4f80-8f1c-d2cf7621998b&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p id=&quot;SE-62a6403a-5b1b-434a-a2b6-78d7df6534ca&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;gcc 설치&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-a49f4710-08b3-4416-980a-ad9d71c452db&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot; data-href=&quot;https://byd0105.tistory.com/9&quot;&gt;&lt;a href=&quot;https://byd0105.tistory.com/9&quot;&gt;https://byd0105.tistory.com/9&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div id=&quot;SE-eff453a7-c32a-4ca8-afd2-59bc97f76515&quot; data-a11y-title=&quot;사진&quot; data-compid=&quot;SE-eff453a7-c32a-4ca8-afd2-59bc97f76515&quot;&gt;
&lt;div data-direction=&quot;top&quot; data-compid=&quot;SE-eff453a7-c32a-4ca8-afd2-59bc97f76515&quot; data-unitid=&quot;&quot;&gt;
&lt;div id=&quot;SE-eff453a7-c32a-4ca8-afd2-59bc97f76515&quot;&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div data-direction=&quot;top&quot; data-compid=&quot;&quot; data-unitid=&quot;SE-eff453a7-c32a-4ca8-afd2-59bc97f76515&quot;&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;720&quot; data-origin-height=&quot;58&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bjRWjf/dJMcaaK0itj/87i524heaKf818zwOWjxJK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bjRWjf/dJMcaaK0itj/87i524heaKf818zwOWjxJK/img.png&quot; data-alt=&quot;sum이라는 c언어 파일을 assembly코드로 바꿔주는 명령어&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bjRWjf/dJMcaaK0itj/87i524heaKf818zwOWjxJK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbjRWjf%2FdJMcaaK0itj%2F87i524heaKf818zwOWjxJK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;693&quot; height=&quot;58&quot; data-origin-width=&quot;720&quot; data-origin-height=&quot;58&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;sum이라는 c언어 파일을 assembly코드로 바꿔주는 명령어&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/div&gt;
&lt;div id=&quot;SE-5a2798f4-bf22-44e8-a6ce-d10a13ce119c&quot; data-a11y-title=&quot;코드&quot; data-compid=&quot;SE-5a2798f4-bf22-44e8-a6ce-d10a13ce119c&quot;&gt;
&lt;div&gt;
&lt;div data-direction=&quot;top&quot; data-compid=&quot;SE-5a2798f4-bf22-44e8-a6ce-d10a13ce119c&quot; data-unitid=&quot;&quot;&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;pre class=&quot;livecodeserver&quot;&gt;&lt;code&gt;vi sum.a&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt; 이것을 입력해 어셈블리 파일을 열어주면 &lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt; &lt;/span&gt;&lt;/span&gt;
&lt;div id=&quot;SE-40b4d5a9-09c9-4a1e-b1ea-ef088a7fd32d&quot; data-a11y-title=&quot;사진&quot; data-compid=&quot;SE-40b4d5a9-09c9-4a1e-b1ea-ef088a7fd32d&quot;&gt;
&lt;div&gt;
&lt;div data-direction=&quot;top&quot; data-compid=&quot;SE-40b4d5a9-09c9-4a1e-b1ea-ef088a7fd32d&quot; data-unitid=&quot;&quot;&gt;
&lt;div&gt;
&lt;div id=&quot;SE-40b4d5a9-09c9-4a1e-b1ea-ef088a7fd32d&quot;&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div data-direction=&quot;top&quot; data-compid=&quot;&quot; data-unitid=&quot;SE-40b4d5a9-09c9-4a1e-b1ea-ef088a7fd32d&quot;&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;430&quot; data-origin-height=&quot;514&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Y9FOf/dJMcabQFuAp/0N7K2TxfG3hg9OGr2zEqDK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Y9FOf/dJMcabQFuAp/0N7K2TxfG3hg9OGr2zEqDK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Y9FOf/dJMcabQFuAp/0N7K2TxfG3hg9OGr2zEqDK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FY9FOf%2FdJMcabQFuAp%2F0N7K2TxfG3hg9OGr2zEqDK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;430&quot; height=&quot;514&quot; data-origin-width=&quot;430&quot; data-origin-height=&quot;514&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/div&gt;
&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;span style=&quot;letter-spacing: 0px;&quot;&gt; &lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div id=&quot;SE-b34fdb51-507c-480a-ae24-5c90d5726040&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div id=&quot;SE-f04c57fe-1b5c-480c-a42f-c84c58c9cd5e&quot; data-a11y-title=&quot;본문&quot; data-compid=&quot;SE-f04c57fe-1b5c-480c-a42f-c84c58c9cd5e&quot;&gt;
&lt;div&gt;
&lt;div data-direction=&quot;top&quot; data-compid=&quot;SE-f04c57fe-1b5c-480c-a42f-c84c58c9cd5e&quot; data-unitid=&quot;&quot;&gt;
&lt;div&gt;
&lt;div id=&quot;SE-00c48e74-2fd4-4cec-839f-bd83562a953b&quot;&gt;
&lt;p id=&quot;SE-b59421b0-5cec-4340-9084-6fc57d43353c&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;이렇게 어셈블리어 형태로 바뀐 것을 볼 수 있습니다:) esc-&amp;gt;:q 누르셔서 나간 후 터미널에서&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&quot;SE-bee84539-8ea0-4718-9e16-1addd5daabe9&quot; data-a11y-title=&quot;코드&quot; data-compid=&quot;SE-bee84539-8ea0-4718-9e16-1addd5daabe9&quot;&gt;
&lt;div&gt;
&lt;div data-direction=&quot;top&quot; data-compid=&quot;SE-bee84539-8ea0-4718-9e16-1addd5daabe9&quot; data-unitid=&quot;&quot;&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;pre class=&quot;axapta&quot;&gt;&lt;code&gt;nano sum.c&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&quot;SE-36e8d7e1-5495-4e93-9f84-146264ad7ca5&quot; data-a11y-title=&quot;본문&quot; data-compid=&quot;SE-36e8d7e1-5495-4e93-9f84-146264ad7ca5&quot;&gt;
&lt;div&gt;
&lt;div data-direction=&quot;top&quot; data-compid=&quot;SE-36e8d7e1-5495-4e93-9f84-146264ad7ca5&quot; data-unitid=&quot;&quot;&gt;
&lt;div&gt;
&lt;div id=&quot;SE-71f94dfe-3395-4143-9634-7e8137bf7270&quot;&gt;
&lt;p id=&quot;SE-3d06e9ba-9c1b-414b-8b8d-1264f4a5ac8b&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;를 치면 아까 작성했던 c파일이 나옵니다.&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div id=&quot;SE-a3083cf0-ba99-4d14-9ecf-7c1b60692dca&quot; data-a11y-title=&quot;사진&quot; data-compid=&quot;SE-a3083cf0-ba99-4d14-9ecf-7c1b60692dca&quot;&gt;
&lt;div data-direction=&quot;top&quot; data-compid=&quot;SE-a3083cf0-ba99-4d14-9ecf-7c1b60692dca&quot; data-unitid=&quot;&quot;&gt;
&lt;div id=&quot;SE-a3083cf0-ba99-4d14-9ecf-7c1b60692dca&quot;&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div data-direction=&quot;top&quot; data-compid=&quot;&quot; data-unitid=&quot;SE-a3083cf0-ba99-4d14-9ecf-7c1b60692dca&quot;&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;321&quot; data-origin-height=&quot;409&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cR7jOv/dJMcagLeN0T/Vp5httYDcYMQLIUYQzQKkK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cR7jOv/dJMcagLeN0T/Vp5httYDcYMQLIUYQzQKkK/img.png&quot; data-alt=&quot;sum.c에서 main 함수의 stack 프레임&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cR7jOv/dJMcagLeN0T/Vp5httYDcYMQLIUYQzQKkK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcR7jOv%2FdJMcagLeN0T%2FVp5httYDcYMQLIUYQzQKkK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;286&quot; height=&quot;409&quot; data-origin-width=&quot;321&quot; data-origin-height=&quot;409&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;sum.c에서 main 함수의 stack 프레임&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/div&gt;
&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div id=&quot;SE-76f3082a-f8cd-4052-a61a-1eceda022b7f&quot;&gt;
&lt;p id=&quot;SE-c70e8742-91c1-4dd4-b43d-ef25350ad554&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote id=&quot;SE-9f672cc2-4085-4a4a-894f-8bbe244a9bff&quot; data-ke-style=&quot;style3&quot;&gt;RET(return address): 특정한 함수가 끝난 후에 돌아갈 장소 &lt;br /&gt;RBP: 스택이 시작하는 base pointer&lt;br /&gt;변수 C: int c 를 선언&lt;/blockquote&gt;
&lt;p id=&quot;SE-72ff706b-cbef-4210-95f0-8d7a5fe06244&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div id=&quot;SE-03f14f55-f6e6-4227-8edb-b9a37d3802eb&quot; data-a11y-title=&quot;사진&quot; data-compid=&quot;SE-03f14f55-f6e6-4227-8edb-b9a37d3802eb&quot;&gt;
&lt;div&gt;
&lt;div data-direction=&quot;top&quot; data-compid=&quot;SE-03f14f55-f6e6-4227-8edb-b9a37d3802eb&quot; data-unitid=&quot;&quot;&gt;
&lt;div&gt;
&lt;div id=&quot;SE-03f14f55-f6e6-4227-8edb-b9a37d3802eb&quot;&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div data-direction=&quot;top&quot; data-compid=&quot;&quot; data-unitid=&quot;SE-03f14f55-f6e6-4227-8edb-b9a37d3802eb&quot;&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;396&quot; data-origin-height=&quot;643&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/blAIhu/dJMcafS5tTX/nkbWTlUnKVtfDIMioCIGC0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/blAIhu/dJMcafS5tTX/nkbWTlUnKVtfDIMioCIGC0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/blAIhu/dJMcafS5tTX/nkbWTlUnKVtfDIMioCIGC0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FblAIhu%2FdJMcafS5tTX%2FnkbWTlUnKVtfDIMioCIGC0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;396&quot; height=&quot;643&quot; data-origin-width=&quot;396&quot; data-origin-height=&quot;643&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/div&gt;
&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div id=&quot;SE-cc951186-73c6-4cc6-9e53-475f370ae83f&quot;&gt;
&lt;p id=&quot;SE-a223e972-d578-4b51-b8b1-55075ad8b5c2&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p id=&quot;SE-9d62e836-2c49-413e-945e-03c4adb3644a&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div id=&quot;SE-09fa7ec4-b999-4dd3-8427-8e5b8cbca897&quot; data-a11y-title=&quot;본문&quot; data-compid=&quot;SE-09fa7ec4-b999-4dd3-8427-8e5b8cbca897&quot;&gt;
&lt;div&gt;
&lt;div data-direction=&quot;top&quot; data-compid=&quot;SE-09fa7ec4-b999-4dd3-8427-8e5b8cbca897&quot; data-unitid=&quot;&quot;&gt;
&lt;div&gt;
&lt;div id=&quot;SE-82011f3d-542d-4964-8721-c173025d96f4&quot;&gt;
&lt;p id=&quot;SE-4abaf19d-afb8-4ed3-8416-f1b43e2f6467&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;위에서부터 하나씩 꺼내지면서 변수 C에 3이 담기게 되고 C가 return 값으로 가면서 main을 불러온 곳으로 돌려주게됩니다. &lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&quot;SE-972cba4f-28ab-40b8-a1a1-bd3988f099f0&quot; data-a11y-title=&quot;사진&quot; data-compid=&quot;SE-972cba4f-28ab-40b8-a1a1-bd3988f099f0&quot;&gt;
&lt;div data-direction=&quot;top&quot; data-compid=&quot;SE-972cba4f-28ab-40b8-a1a1-bd3988f099f0&quot; data-unitid=&quot;&quot;&gt;
&lt;div id=&quot;SE-972cba4f-28ab-40b8-a1a1-bd3988f099f0&quot;&gt;
&lt;div data-direction=&quot;top&quot; data-compid=&quot;&quot; data-unitid=&quot;SE-972cba4f-28ab-40b8-a1a1-bd3988f099f0&quot;&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;373&quot; data-origin-height=&quot;41&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bRb9Uv/dJMcaioKGCx/qBGXX9AlCpkk548wzyOPu1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bRb9Uv/dJMcaioKGCx/qBGXX9AlCpkk548wzyOPu1/img.png&quot; data-alt=&quot;sum파일을 실행&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bRb9Uv/dJMcaioKGCx/qBGXX9AlCpkk548wzyOPu1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbRb9Uv%2FdJMcaioKGCx%2FqBGXX9AlCpkk548wzyOPu1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;373&quot; height=&quot;41&quot; data-origin-width=&quot;373&quot; data-origin-height=&quot;41&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;sum파일을 실행&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&quot;SE-f6eda8ae-2f1d-40d5-9e6f-a2873283d9bd&quot; data-a11y-title=&quot;본문&quot; data-compid=&quot;SE-f6eda8ae-2f1d-40d5-9e6f-a2873283d9bd&quot;&gt;
&lt;div&gt;
&lt;div data-direction=&quot;top&quot; data-compid=&quot;SE-f6eda8ae-2f1d-40d5-9e6f-a2873283d9bd&quot; data-unitid=&quot;&quot;&gt;
&lt;div&gt;
&lt;div id=&quot;SE-7008c54a-1096-4a31-9848-4c3a5758ec5d&quot;&gt;
&lt;p id=&quot;SE-9d85b846-0ec4-433d-b353-7bdebbc29e04&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;sum파일에 들어가서 printf를 추가해서 c를 출력하게 만들수도 있습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-1f2aacc2-a646-4165-ace4-521af43f0ec9&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;여기서 stack frame의 취약점이 RET를 바꾸어서 특정 함수가 돌아가는 위치를 해커가 임의로 조작해서 서버에 나쁜짓을 끼칠 수 있다는 것입니다. 대표적인 기법들로 버퍼오버플로우가 있습니다.&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div id=&quot;SE-bd104e7a-03b4-4979-89c2-bd90dd558e51&quot; data-a11y-title=&quot;사진&quot; data-compid=&quot;SE-bd104e7a-03b4-4979-89c2-bd90dd558e51&quot;&gt;
&lt;div data-direction=&quot;top&quot; data-compid=&quot;SE-bd104e7a-03b4-4979-89c2-bd90dd558e51&quot; data-unitid=&quot;&quot;&gt;
&lt;div id=&quot;SE-bd104e7a-03b4-4979-89c2-bd90dd558e51&quot;&gt;
&lt;div data-direction=&quot;top&quot; data-compid=&quot;&quot; data-unitid=&quot;SE-bd104e7a-03b4-4979-89c2-bd90dd558e51&quot;&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;527&quot; data-origin-height=&quot;409&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/n4EsG/dJMcaaEfRUe/r2KgOGohcYkpY3fFjgLeQ0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/n4EsG/dJMcaaEfRUe/r2KgOGohcYkpY3fFjgLeQ0/img.png&quot; data-alt=&quot;sum파일의 어셈블리어 코드(main 부분)&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/n4EsG/dJMcaaEfRUe/r2KgOGohcYkpY3fFjgLeQ0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fn4EsG%2FdJMcaaEfRUe%2Fr2KgOGohcYkpY3fFjgLeQ0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;527&quot; height=&quot;409&quot; data-origin-width=&quot;527&quot; data-origin-height=&quot;409&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;sum파일의 어셈블리어 코드(main 부분)&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/div&gt;
&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div id=&quot;SE-3e61ff7d-579e-48d8-901b-f1af5ff67fd0&quot;&gt;
&lt;p id=&quot;SE-f6b6d6ed-e179-4c0d-870c-22a046788940&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&quot;SE-a4a6aed4-f6f0-44d8-8cb6-beaa1fba698a&quot; data-a11y-title=&quot;본문&quot; data-compid=&quot;SE-a4a6aed4-f6f0-44d8-8cb6-beaa1fba698a&quot;&gt;
&lt;div data-direction=&quot;top&quot; data-compid=&quot;SE-a4a6aed4-f6f0-44d8-8cb6-beaa1fba698a&quot; data-unitid=&quot;&quot;&gt;
&lt;div id=&quot;SE-1c97c820-d725-4b15-9f52-d52ebbb8c693&quot;&gt;
&lt;p id=&quot;SE-803134e3-05aa-45be-a4fc-e74968d9936e&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;main에서 call sum 부분을 봐서 sum 함수를 불러왔다는 것을 알 수 있습니다.&lt;/span&gt;&lt;/p&gt;
&lt;blockquote id=&quot;SE-91879e0f-d9a2-414a-ab44-cf4976cb34fe&quot; data-ke-style=&quot;style3&quot;&gt;pushq %rbp: rbp를 push한다 &lt;br /&gt;movq %rsp, %rbp : rbp에 rsp를 대입한다.&lt;br /&gt;subq $16, %rsp: rsp에서 메모리16을 뺀다&lt;br /&gt;movl $2, %esi : esi에 2를 대입한다&lt;br /&gt;movl $1, %edi : edi에 1을 대입한다&lt;br /&gt;call sum : sum 함수를 불러온다&lt;/blockquote&gt;
&lt;p id=&quot;SE-9f111883-4d4a-4d45-a8d5-b6d25ba28d43&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p id=&quot;SE-f47492ed-6898-4d65-8b4a-c9ad73c9c602&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;음.. 근데 nasm에는 mov x,y : x&amp;larr;y, 즉 y를 x에 대입한다고 했는데 실제로는 반대네요...아무래도 무언가 뒤에 붙어있으면 위치를 바꿔주나봅니다...(아니면 어셈블리어로 바꿀 때 시스템이 바꿔준다던가??)&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-9233137f-7aae-4f57-ad6a-b540ebbb55e9&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p id=&quot;SE-e779e579-ce78-4d1c-bb10-8e9580de57aa&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;mov나 push뒤에 붙는 l,b,w는 오퍼랜드의 크기를 뜻합니다.&lt;/span&gt;&lt;/p&gt;
&lt;blockquote id=&quot;SE-f00d2169-3a7e-41ad-af5e-68ed36093b68&quot; data-ke-style=&quot;style3&quot;&gt;movl: 32bit 크기를 다룸&lt;br /&gt;movw: 16bit 크기를 다룸&lt;br /&gt;movb: 8bit 크기를 다룸&lt;/blockquote&gt;
&lt;p id=&quot;SE-176fa202-2c2a-4daf-838a-a142e2fa227e&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div id=&quot;SE-b8a7a746-c49f-4a37-9bf1-4b03e711d0cc&quot; data-a11y-title=&quot;사진&quot; data-compid=&quot;SE-b8a7a746-c49f-4a37-9bf1-4b03e711d0cc&quot;&gt;
&lt;div data-direction=&quot;top&quot; data-compid=&quot;SE-b8a7a746-c49f-4a37-9bf1-4b03e711d0cc&quot; data-unitid=&quot;&quot;&gt;
&lt;div id=&quot;SE-b8a7a746-c49f-4a37-9bf1-4b03e711d0cc&quot;&gt;
&lt;div data-direction=&quot;top&quot; data-compid=&quot;&quot; data-unitid=&quot;SE-b8a7a746-c49f-4a37-9bf1-4b03e711d0cc&quot;&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;354&quot; data-origin-height=&quot;310&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b2rD2s/dJMcajunAlW/qjMuKXICW1cVR3uuXQaKJK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b2rD2s/dJMcajunAlW/qjMuKXICW1cVR3uuXQaKJK/img.png&quot; data-alt=&quot;call sum 전까지&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b2rD2s/dJMcajunAlW/qjMuKXICW1cVR3uuXQaKJK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb2rD2s%2FdJMcajunAlW%2FqjMuKXICW1cVR3uuXQaKJK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;354&quot; height=&quot;310&quot; data-origin-width=&quot;354&quot; data-origin-height=&quot;310&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;call sum 전까지&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/div&gt;
&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div id=&quot;SE-fe33f8e4-9a72-4c77-844e-2344fd75670b&quot;&gt;
&lt;p id=&quot;SE-438373c9-3de6-4fcf-b9ba-cd3f91e8fa76&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&quot;SE-96536293-2dd8-4d04-821b-f93703f78fa2&quot; data-a11y-title=&quot;사진&quot; data-compid=&quot;SE-96536293-2dd8-4d04-821b-f93703f78fa2&quot;&gt;
&lt;div&gt;
&lt;div data-direction=&quot;top&quot; data-compid=&quot;SE-96536293-2dd8-4d04-821b-f93703f78fa2&quot; data-unitid=&quot;&quot;&gt;
&lt;div&gt;
&lt;div id=&quot;SE-96536293-2dd8-4d04-821b-f93703f78fa2&quot;&gt;
&lt;div data-direction=&quot;top&quot; data-compid=&quot;&quot; data-unitid=&quot;SE-96536293-2dd8-4d04-821b-f93703f78fa2&quot;&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;501&quot; data-origin-height=&quot;376&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/z83qV/dJMcajunAlX/Po63Bbq3lREetSCrCKCmY0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/z83qV/dJMcajunAlX/Po63Bbq3lREetSCrCKCmY0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/z83qV/dJMcajunAlX/Po63Bbq3lREetSCrCKCmY0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fz83qV%2FdJMcajunAlX%2FPo63Bbq3lREetSCrCKCmY0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;501&quot; height=&quot;376&quot; data-origin-width=&quot;501&quot; data-origin-height=&quot;376&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/div&gt;
&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&quot;SE-878987b7-d551-461a-9835-249b8e3210be&quot; data-a11y-title=&quot;본문&quot; data-compid=&quot;SE-878987b7-d551-461a-9835-249b8e3210be&quot;&gt;
&lt;div data-direction=&quot;top&quot; data-compid=&quot;SE-878987b7-d551-461a-9835-249b8e3210be&quot; data-unitid=&quot;&quot;&gt;
&lt;div id=&quot;SE-a260918b-23aa-4ed5-b852-c305d41e05de&quot;&gt;
&lt;blockquote id=&quot;SE-b625d18c-59d9-4f2f-9e33-9643ffa96aa6&quot; data-ke-style=&quot;style3&quot;&gt;pushq %rbp: rbp를 push한다&lt;br /&gt;movq %rsp, %rbp : rbp에 rsp를 대입한다.&lt;br /&gt;movl %edi, -4(%rbp) : rbp의 -4 위치에 edi를 대입한다&lt;br /&gt;movl %esi, -8(%rbp) : rbp의 -8 위치에 esi를 대입한다&lt;br /&gt;addl %edx, %eax : edx와 eax의 값을 더한 후 eax에 넣어준다&lt;br /&gt;popq %rbp : rbp를 꺼낸다&lt;br /&gt;eax는 rax와 마찬가지로 특정한 함수가 끝날 때 그 반환값을 가지고 있는 레지스터&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div id=&quot;SE-827efc14-8497-4857-933c-31ea2c2f8ef2&quot; data-a11y-title=&quot;사진&quot; data-compid=&quot;SE-827efc14-8497-4857-933c-31ea2c2f8ef2&quot;&gt;
&lt;div data-direction=&quot;top&quot; data-compid=&quot;SE-827efc14-8497-4857-933c-31ea2c2f8ef2&quot; data-unitid=&quot;&quot;&gt;
&lt;div id=&quot;SE-827efc14-8497-4857-933c-31ea2c2f8ef2&quot;&gt;
&lt;div data-direction=&quot;top&quot; data-compid=&quot;&quot; data-unitid=&quot;SE-827efc14-8497-4857-933c-31ea2c2f8ef2&quot;&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;354&quot; data-origin-height=&quot;286&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bcVmeg/dJMcaa5jbJu/6HwwmrZOFirwb12aBc7gyK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bcVmeg/dJMcaa5jbJu/6HwwmrZOFirwb12aBc7gyK/img.png&quot; data-alt=&quot;sum()&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bcVmeg/dJMcaa5jbJu/6HwwmrZOFirwb12aBc7gyK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbcVmeg%2FdJMcaa5jbJu%2F6HwwmrZOFirwb12aBc7gyK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;354&quot; height=&quot;286&quot; data-origin-width=&quot;354&quot; data-origin-height=&quot;286&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;sum()&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/div&gt;
&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div id=&quot;SE-fde0a1ca-8d71-445e-8ef9-26add743de1e&quot;&gt;
&lt;p id=&quot;SE-ccc5585e-0d66-4a5b-a92f-98d80772c788&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&quot;SE-2110b096-1891-472f-88f3-22905bc7dfcc&quot; data-a11y-title=&quot;사진&quot; data-compid=&quot;SE-2110b096-1891-472f-88f3-22905bc7dfcc&quot;&gt;
&lt;div&gt;
&lt;div data-direction=&quot;top&quot; data-compid=&quot;SE-2110b096-1891-472f-88f3-22905bc7dfcc&quot; data-unitid=&quot;&quot;&gt;
&lt;div&gt;
&lt;div id=&quot;SE-2110b096-1891-472f-88f3-22905bc7dfcc&quot;&gt;
&lt;div data-direction=&quot;top&quot; data-compid=&quot;&quot; data-unitid=&quot;SE-2110b096-1891-472f-88f3-22905bc7dfcc&quot;&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;431&quot; data-origin-height=&quot;325&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dUqKzf/dJMcaa5jbJv/7UgPm2Kcp9agDQglRvHuWK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dUqKzf/dJMcaa5jbJv/7UgPm2Kcp9agDQglRvHuWK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dUqKzf/dJMcaa5jbJv/7UgPm2Kcp9agDQglRvHuWK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdUqKzf%2FdJMcaa5jbJv%2F7UgPm2Kcp9agDQglRvHuWK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;431&quot; height=&quot;325&quot; data-origin-width=&quot;431&quot; data-origin-height=&quot;325&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/div&gt;
&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&quot;SE-0d71d012-d682-4adc-8318-9984b96fed8d&quot; data-a11y-title=&quot;본문&quot; data-compid=&quot;SE-0d71d012-d682-4adc-8318-9984b96fed8d&quot;&gt;
&lt;div data-direction=&quot;top&quot; data-compid=&quot;SE-0d71d012-d682-4adc-8318-9984b96fed8d&quot; data-unitid=&quot;&quot;&gt;
&lt;div id=&quot;SE-147fc3f3-0eab-4fcb-8cfd-dcd0b663be41&quot;&gt;
&lt;p id=&quot;SE-5849114e-4207-43ae-b3f2-f0b24faa5c8d&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;call sum후에&lt;/span&gt;&lt;/p&gt;
&lt;blockquote id=&quot;SE-678522d3-d177-420f-af03-214895612f83&quot; data-ke-style=&quot;style3&quot;&gt;movl %eax, -4(%rbp): eax를 -4위치 rbp에 넣어준다&lt;br /&gt;movl -4(%rbp), %eax: -4위치 rbp를 eax에 넣어준다&lt;br /&gt;leave, ret(return)후 최종적으로 3이라는 반환값을 가지게 됨&lt;/blockquote&gt;
&lt;p id=&quot;SE-ef24002a-c474-4c9c-9fda-345285f70aee&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div id=&quot;SE-68f8ece1-67aa-45b3-a2fa-48550b731bdd&quot; data-a11y-title=&quot;구분선&quot; data-compid=&quot;SE-68f8ece1-67aa-45b3-a2fa-48550b731bdd&quot;&gt;
&lt;div&gt;
&lt;div data-direction=&quot;top&quot; data-compid=&quot;SE-68f8ece1-67aa-45b3-a2fa-48550b731bdd&quot; data-unitid=&quot;&quot;&gt;
&lt;div&gt;
&lt;div&gt;&lt;hr data-ke-style=&quot;style1&quot; /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&quot;SE-cd29b322-c175-4722-9e70-7fbe993d6f5c&quot; data-a11y-title=&quot;본문&quot; data-compid=&quot;SE-cd29b322-c175-4722-9e70-7fbe993d6f5c&quot;&gt;
&lt;div&gt;
&lt;div data-direction=&quot;top&quot; data-compid=&quot;SE-cd29b322-c175-4722-9e70-7fbe993d6f5c&quot; data-unitid=&quot;&quot;&gt;
&lt;div&gt;
&lt;div id=&quot;SE-9101f92c-3bdf-4107-9f7c-047291a91e00&quot;&gt;
&lt;h2 id=&quot;SE-7283649f-b322-466e-a3a2-84d3d316270c&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;background-color: #f9f9f9; color: #000000;&quot;&gt;&lt;b&gt;어셈블리어(Assembly Language)로 에코 프로그램 만들기&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p id=&quot;SE-be333975-d33b-4517-968e-0d6491fe38e4&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p id=&quot;SE-5c6dc49c-a961-4327-a37c-dbb2b38f4589&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #fff593; color: #000000;&quot;&gt;에코 프로그램: 내가 입력한 문자를 그대로 출력해주는 프로그램&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-69756d82-1ccd-4f0e-8123-a0aca47ae54a&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;nano echo.s를 쳐서 파일을 만들어보겠습니다&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div id=&quot;SE-75720f7c-10db-41b8-91bd-ba1c64ea8a1c&quot; data-a11y-title=&quot;사진&quot; data-compid=&quot;SE-75720f7c-10db-41b8-91bd-ba1c64ea8a1c&quot;&gt;
&lt;div&gt;
&lt;div data-direction=&quot;top&quot; data-compid=&quot;SE-75720f7c-10db-41b8-91bd-ba1c64ea8a1c&quot; data-unitid=&quot;&quot;&gt;
&lt;div&gt;
&lt;div id=&quot;SE-75720f7c-10db-41b8-91bd-ba1c64ea8a1c&quot;&gt;
&lt;div data-direction=&quot;top&quot; data-compid=&quot;&quot; data-unitid=&quot;SE-75720f7c-10db-41b8-91bd-ba1c64ea8a1c&quot;&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;267&quot; data-origin-height=&quot;428&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bpLPWg/dJMcacIQa8I/BKhAEXxYq0z0mDEQBoVeXk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bpLPWg/dJMcacIQa8I/BKhAEXxYq0z0mDEQBoVeXk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bpLPWg/dJMcacIQa8I/BKhAEXxYq0z0mDEQBoVeXk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbpLPWg%2FdJMcacIQa8I%2FBKhAEXxYq0z0mDEQBoVeXk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;316&quot; height=&quot;428&quot; data-origin-width=&quot;267&quot; data-origin-height=&quot;428&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/div&gt;
&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&quot;SE-63404a71-f0c5-491c-8ea4-27dfcc33e145&quot; data-a11y-title=&quot;사진&quot; data-compid=&quot;SE-63404a71-f0c5-491c-8ea4-27dfcc33e145&quot;&gt;
&lt;div&gt;
&lt;div data-direction=&quot;top&quot; data-compid=&quot;SE-63404a71-f0c5-491c-8ea4-27dfcc33e145&quot; data-unitid=&quot;&quot;&gt;
&lt;div&gt;
&lt;div id=&quot;SE-63404a71-f0c5-491c-8ea4-27dfcc33e145&quot;&gt;
&lt;div data-direction=&quot;top&quot; data-compid=&quot;&quot; data-unitid=&quot;SE-63404a71-f0c5-491c-8ea4-27dfcc33e145&quot;&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;321&quot; data-origin-height=&quot;74&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/tSZ3T/dJMcaflfdff/42IkKLtJfvLke8daD1pzMK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/tSZ3T/dJMcaflfdff/42IkKLtJfvLke8daD1pzMK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/tSZ3T/dJMcaflfdff/42IkKLtJfvLke8daD1pzMK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FtSZ3T%2FdJMcaflfdff%2F42IkKLtJfvLke8daD1pzMK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;321&quot; height=&quot;74&quot; data-origin-width=&quot;321&quot; data-origin-height=&quot;74&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/div&gt;
&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&quot;SE-6ee9caea-f366-4d68-9a56-c53abb325d2f&quot; data-a11y-title=&quot;본문&quot; data-compid=&quot;SE-6ee9caea-f366-4d68-9a56-c53abb325d2f&quot;&gt;
&lt;div&gt;
&lt;div data-direction=&quot;top&quot; data-compid=&quot;SE-6ee9caea-f366-4d68-9a56-c53abb325d2f&quot; data-unitid=&quot;&quot;&gt;
&lt;div&gt;
&lt;div id=&quot;SE-a361563e-4ec7-47e5-95b5-f1159bd75f89&quot;&gt;
&lt;p id=&quot;SE-e3a0b732-c78a-4af4-8dea-fb49eaffa81d&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;똑같은 값을 xor 해주게 되면 0이라는 값이 담깁니다. mov rax, 0 과 같습니다. 즉 0으로 초기화해주겠다는 것이죠&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&quot;SE-f9635cb4-9f9e-4c1a-a9fa-dfd10c91d186&quot; data-a11y-title=&quot;표&quot; data-compid=&quot;SE-f9635cb4-9f9e-4c1a-a9fa-dfd10c91d186&quot;&gt;
&lt;div&gt;
&lt;div data-direction=&quot;top&quot; data-compid=&quot;SE-f9635cb4-9f9e-4c1a-a9fa-dfd10c91d186&quot; data-unitid=&quot;&quot;&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr id=&quot;SE-0c5121d5-d742-46ad-adb7-0bffed6dc073&quot;&gt;
&lt;td id=&quot;SE-4ca9b137-5d56-4e1c-9254-e44c345bf8c8&quot; colspan=&quot;1&quot; rowspan=&quot;1&quot;&gt;
&lt;div id=&quot;SE-4fc285d8-4424-4333-8895-97b16312cc96&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
&lt;td id=&quot;SE-a307c7d1-5ef0-4c23-9ede-e7d59d996f09&quot; colspan=&quot;1&quot; rowspan=&quot;1&quot;&gt;
&lt;div id=&quot;SE-b5943132-546b-4902-be3a-859e2fa1d678&quot;&gt;&lt;span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;AND&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
&lt;td id=&quot;SE-6f7fedb6-c65f-43f4-868d-de9d965a16d5&quot; colspan=&quot;1&quot; rowspan=&quot;1&quot;&gt;
&lt;div id=&quot;SE-b6fa1ff7-ac65-4b1e-9481-fd5468fc9543&quot;&gt;&lt;span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;OR&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
&lt;td id=&quot;SE-9b2ad5b8-4113-441f-b7d9-0e97edfca59b&quot; colspan=&quot;1&quot; rowspan=&quot;1&quot;&gt;
&lt;div id=&quot;SE-de2c4cf3-35a1-4790-8d2e-d1dcaaaaa7d8&quot;&gt;&lt;span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;XOR&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr id=&quot;SE-d90e8f70-d4dd-4de2-b023-fad1e3a20bdf&quot;&gt;
&lt;td id=&quot;SE-31c9f6a9-02b9-49e2-8003-9d40dd4efb34&quot; colspan=&quot;1&quot; rowspan=&quot;1&quot;&gt;
&lt;div id=&quot;SE-df571959-b499-433c-af5a-2ab18312399f&quot;&gt;&lt;span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;0 0&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
&lt;td id=&quot;SE-ad366069-1140-4983-bfa4-afeb7505a9ce&quot; colspan=&quot;1&quot; rowspan=&quot;1&quot;&gt;
&lt;div id=&quot;SE-922e9241-e837-4724-8e21-a57d4c7b113e&quot;&gt;&lt;span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;0&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
&lt;td id=&quot;SE-79e9ee51-6076-4d9e-9653-e93eff67c89b&quot; colspan=&quot;1&quot; rowspan=&quot;1&quot;&gt;
&lt;div id=&quot;SE-5eaf76aa-cccc-4f18-bde8-9e463531119e&quot;&gt;&lt;span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;0&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
&lt;td id=&quot;SE-35b88a52-bf9c-495e-86d3-4076b17f92cc&quot; colspan=&quot;1&quot; rowspan=&quot;1&quot;&gt;
&lt;div id=&quot;SE-35407efb-8baa-4474-923c-b12479a27274&quot;&gt;&lt;span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;0&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr id=&quot;SE-32834c51-8ea6-4dd8-9064-2fdc407b9045&quot;&gt;
&lt;td id=&quot;SE-446eba6f-756b-465f-8be5-b6a87b8b6f6e&quot; colspan=&quot;1&quot; rowspan=&quot;1&quot;&gt;
&lt;div id=&quot;SE-62a8fb3b-5203-4b15-ab5a-b65694b3f1b5&quot;&gt;&lt;span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;0 1&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
&lt;td id=&quot;SE-ba5b3218-382e-4455-bcc2-f86be01891b4&quot; colspan=&quot;1&quot; rowspan=&quot;1&quot;&gt;
&lt;div id=&quot;SE-638b2dfd-c700-4d3f-a12f-c5b11bc39937&quot;&gt;&lt;span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;0&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
&lt;td id=&quot;SE-e9232ee6-7baf-4cea-bdc6-6b9e720d40d2&quot; colspan=&quot;1&quot; rowspan=&quot;1&quot;&gt;
&lt;div id=&quot;SE-8b081215-3ca4-40fb-8ae5-8cb836d90f6f&quot;&gt;&lt;span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
&lt;td id=&quot;SE-364e6449-6d55-4c61-af04-c4ac41cfa031&quot; colspan=&quot;1&quot; rowspan=&quot;1&quot;&gt;
&lt;div id=&quot;SE-04310592-9039-4903-8dca-7fe9f5468b21&quot;&gt;&lt;span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr id=&quot;SE-94020800-005a-4719-aca2-f34c14e05026&quot;&gt;
&lt;td id=&quot;SE-de3d71f9-0909-4610-8b81-b572f5ca9590&quot; colspan=&quot;1&quot; rowspan=&quot;1&quot;&gt;
&lt;div id=&quot;SE-a9d71779-9bf4-4c5c-a926-0637f708358e&quot;&gt;&lt;span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;1 0&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
&lt;td id=&quot;SE-af25ea42-4781-4247-8b79-9cecac1de4c5&quot; colspan=&quot;1&quot; rowspan=&quot;1&quot;&gt;
&lt;div id=&quot;SE-f5df1a44-35c2-4d1e-a300-de91de7967f5&quot;&gt;&lt;span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;0&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
&lt;td id=&quot;SE-3cfa4166-3a4e-46fe-bc03-9035eb0c9a0d&quot; colspan=&quot;1&quot; rowspan=&quot;1&quot;&gt;
&lt;div id=&quot;SE-f57b3290-96b7-4cfe-9cdd-f7091cddc070&quot;&gt;&lt;span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
&lt;td id=&quot;SE-886d2462-e916-4246-b631-e7cdd04d176e&quot; colspan=&quot;1&quot; rowspan=&quot;1&quot;&gt;
&lt;div id=&quot;SE-8222bbc5-a560-47ed-a371-d28bceba9d96&quot;&gt;&lt;span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr id=&quot;SE-24bc90a3-a384-4d8f-8ddc-f0295bb47a50&quot;&gt;
&lt;td id=&quot;SE-239a5630-d6d3-4534-b6b6-cfaa70b7aea0&quot; colspan=&quot;1&quot; rowspan=&quot;1&quot;&gt;
&lt;div id=&quot;SE-59c46226-7d1a-499f-a1a3-9b439d7ebeec&quot;&gt;&lt;span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;1 1&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
&lt;td id=&quot;SE-7bd524b7-d64e-4aef-898d-d5a760aabcd2&quot; colspan=&quot;1&quot; rowspan=&quot;1&quot;&gt;
&lt;div id=&quot;SE-61d6ff5d-48cd-40d0-8b8e-133e1fc9c5ae&quot;&gt;&lt;span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
&lt;td id=&quot;SE-7d64517c-51ac-4a92-9163-ef4839b36f3c&quot; colspan=&quot;1&quot; rowspan=&quot;1&quot;&gt;
&lt;div id=&quot;SE-64ea3429-e521-439b-9b01-70ace179896c&quot;&gt;&lt;span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
&lt;td id=&quot;SE-549ba642-466a-4df1-b5d6-88c066e9d0d4&quot; colspan=&quot;1&quot; rowspan=&quot;1&quot;&gt;
&lt;div id=&quot;SE-a4a97ed8-3ecf-485f-8928-31ffabfdd8e1&quot;&gt;&lt;span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;0&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&quot;SE-2882e309-1a27-45f0-bfcc-0a6f2438cc59&quot; data-a11y-title=&quot;본문&quot; data-compid=&quot;SE-2882e309-1a27-45f0-bfcc-0a6f2438cc59&quot;&gt;
&lt;div&gt;
&lt;div data-direction=&quot;top&quot; data-compid=&quot;SE-2882e309-1a27-45f0-bfcc-0a6f2438cc59&quot; data-unitid=&quot;&quot;&gt;
&lt;div&gt;
&lt;div id=&quot;SE-221749c6-3e88-4591-9d39-8f695f09a6b2&quot;&gt;
&lt;p id=&quot;SE-740a91ef-c9b5-48a5-80ba-e0970c65dcc4&quot; data-ke-size=&quot;size16&quot;&gt;mov rbx, rax~ mov rdx, rax까지는 0으로 초기화 해준다는 뜻입니다.&lt;/p&gt;
&lt;p id=&quot;SE-98152fb1-419e-4e5a-afc4-9fd0730931fe&quot; data-ke-size=&quot;size16&quot;&gt;sub rsp, 64: rbx=rsp이기 때문에 rsp에 6를 빼줘 데이터를 담을 수 있게 합니다.&lt;/p&gt;
&lt;p id=&quot;SE-64ff5ed6-97cd-4b36-8627-4f6837faff3e&quot; data-ke-size=&quot;size16&quot;&gt;rax값에 따라 syscall이 바뀐다고 했었습니다.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&quot;SE-b727bf40-848e-4d29-8af6-4d776216889f&quot; data-a11y-title=&quot;사진&quot; data-compid=&quot;SE-b727bf40-848e-4d29-8af6-4d776216889f&quot;&gt;
&lt;div&gt;
&lt;div data-direction=&quot;top&quot; data-compid=&quot;SE-b727bf40-848e-4d29-8af6-4d776216889f&quot; data-unitid=&quot;&quot;&gt;
&lt;div&gt;
&lt;div id=&quot;SE-b727bf40-848e-4d29-8af6-4d776216889f&quot;&gt;
&lt;div data-direction=&quot;top&quot; data-compid=&quot;&quot; data-unitid=&quot;SE-b727bf40-848e-4d29-8af6-4d776216889f&quot;&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;536&quot; data-origin-height=&quot;56&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bqb7oH/dJMcacIQa8H/0NK4ZLPzDYsyrVI31qeH90/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bqb7oH/dJMcacIQa8H/0NK4ZLPzDYsyrVI31qeH90/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bqb7oH/dJMcacIQa8H/0NK4ZLPzDYsyrVI31qeH90/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbqb7oH%2FdJMcacIQa8H%2F0NK4ZLPzDYsyrVI31qeH90%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;536&quot; height=&quot;56&quot; data-origin-width=&quot;536&quot; data-origin-height=&quot;56&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/div&gt;
&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&quot;SE-73fc1622-2bff-4021-9391-d387bb79e4dc&quot; data-a11y-title=&quot;본문&quot; data-compid=&quot;SE-73fc1622-2bff-4021-9391-d387bb79e4dc&quot;&gt;
&lt;div data-direction=&quot;top&quot; data-compid=&quot;SE-73fc1622-2bff-4021-9391-d387bb79e4dc&quot; data-unitid=&quot;&quot;&gt;
&lt;div id=&quot;SE-b432eddd-b736-498b-a8a5-669084a27512&quot;&gt;
&lt;blockquote id=&quot;SE-3dead7cc-59ff-45d0-b488-56e2bc011403&quot; data-ke-style=&quot;style3&quot;&gt;fd=0 : 무언가를 읽음&lt;br /&gt;fd=1 : 무언가를 씀&lt;/blockquote&gt;
&lt;p id=&quot;SE-5f4dbed9-8655-41f8-8ed9-079fd7fa2815&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p id=&quot;SE-23ac0e4a-d2f5-4904-a32e-5795cd4d7a85&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;mov rsi, rsp : rsi에 rsp의 주소값이 들어간다&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-51456c5f-898a-4029-a9ee-cd0a46fd0328&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;mov rdx, 63 : 63만큼 문자열을 불러온다.&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-c4b5c4df-0486-470c-817f-eef0d9d6cd90&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;즉 사용자가 문자를 입력하고 그 문자를 읽고 rax에 저장합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-3895d839-40c8-40d4-bb80-9b3efbc41e69&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;그다음 rax에 1을 대입하고, rdi에 1을 대입합니다.&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&quot;SE-fd7ab8ec-4cbf-4c3a-b65a-2b20be8f8f3c&quot; data-a11y-title=&quot;사진&quot; data-compid=&quot;SE-fd7ab8ec-4cbf-4c3a-b65a-2b20be8f8f3c&quot;&gt;
&lt;div data-direction=&quot;top&quot; data-compid=&quot;SE-fd7ab8ec-4cbf-4c3a-b65a-2b20be8f8f3c&quot; data-unitid=&quot;&quot;&gt;
&lt;div id=&quot;SE-fd7ab8ec-4cbf-4c3a-b65a-2b20be8f8f3c&quot;&gt;
&lt;div data-direction=&quot;top&quot; data-compid=&quot;&quot; data-unitid=&quot;SE-fd7ab8ec-4cbf-4c3a-b65a-2b20be8f8f3c&quot;&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;500&quot; data-origin-height=&quot;29&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bIJ5yR/dJMcacIQa8J/X6yMHN1EfJgVnWqr2MhOs1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bIJ5yR/dJMcacIQa8J/X6yMHN1EfJgVnWqr2MhOs1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bIJ5yR/dJMcacIQa8J/X6yMHN1EfJgVnWqr2MhOs1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbIJ5yR%2FdJMcacIQa8J%2FX6yMHN1EfJgVnWqr2MhOs1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;500&quot; height=&quot;29&quot; data-origin-width=&quot;500&quot; data-origin-height=&quot;29&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&quot;SE-60505342-7eeb-44e9-b8f7-f50e43f74009&quot; data-a11y-title=&quot;본문&quot; data-compid=&quot;SE-60505342-7eeb-44e9-b8f7-f50e43f74009&quot;&gt;
&lt;div&gt;
&lt;div data-direction=&quot;top&quot; data-compid=&quot;SE-60505342-7eeb-44e9-b8f7-f50e43f74009&quot; data-unitid=&quot;&quot;&gt;
&lt;div&gt;
&lt;div id=&quot;SE-11c80de6-3fb3-42a9-b2e5-ad39d6c96c05&quot;&gt;
&lt;p id=&quot;SE-26ce691b-a7b3-4efb-9e52-945bb69f6281&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;sys_write를 불러오면서 그 문자를 출력해주게 됩니다.&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-e5b7b039-1358-4bd1-80f4-6ac29ee159b6&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;rax에 60을 대입해 끝내줍니다.&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&quot;SE-e0f57602-cb4f-4306-b535-5c3d4ce519c8&quot; data-a11y-title=&quot;사진&quot; data-compid=&quot;SE-e0f57602-cb4f-4306-b535-5c3d4ce519c8&quot;&gt;
&lt;div&gt;
&lt;div data-direction=&quot;top&quot; data-compid=&quot;SE-e0f57602-cb4f-4306-b535-5c3d4ce519c8&quot; data-unitid=&quot;&quot;&gt;
&lt;div&gt;
&lt;div id=&quot;SE-e0f57602-cb4f-4306-b535-5c3d4ce519c8&quot;&gt;
&lt;div data-direction=&quot;top&quot; data-compid=&quot;&quot; data-unitid=&quot;SE-e0f57602-cb4f-4306-b535-5c3d4ce519c8&quot;&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;298&quot; data-origin-height=&quot;310&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/COODy/dJMcahi5FtG/tpQQi5sAlQeIy1NhZ6qcQk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/COODy/dJMcahi5FtG/tpQQi5sAlQeIy1NhZ6qcQk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/COODy/dJMcahi5FtG/tpQQi5sAlQeIy1NhZ6qcQk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FCOODy%2FdJMcahi5FtG%2FtpQQi5sAlQeIy1NhZ6qcQk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;298&quot; height=&quot;310&quot; data-origin-width=&quot;298&quot; data-origin-height=&quot;310&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/div&gt;
&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&quot;SE-0496d24e-bcc8-4e5b-9071-677c9e943a58&quot; data-a11y-title=&quot;사진&quot; data-compid=&quot;SE-0496d24e-bcc8-4e5b-9071-677c9e943a58&quot;&gt;
&lt;div&gt;
&lt;div data-direction=&quot;top&quot; data-compid=&quot;SE-0496d24e-bcc8-4e5b-9071-677c9e943a58&quot; data-unitid=&quot;&quot;&gt;
&lt;div&gt;
&lt;div id=&quot;SE-0496d24e-bcc8-4e5b-9071-677c9e943a58&quot;&gt;
&lt;div data-direction=&quot;top&quot; data-compid=&quot;&quot; data-unitid=&quot;SE-0496d24e-bcc8-4e5b-9071-677c9e943a58&quot;&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;553&quot; data-origin-height=&quot;87&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bLeUWq/dJMcaflfdfg/iTXAmbVJ7mWzP7CovVzOz0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bLeUWq/dJMcaflfdfg/iTXAmbVJ7mWzP7CovVzOz0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bLeUWq/dJMcaflfdfg/iTXAmbVJ7mWzP7CovVzOz0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbLeUWq%2FdJMcaflfdfg%2FiTXAmbVJ7mWzP7CovVzOz0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;553&quot; height=&quot;87&quot; data-origin-width=&quot;553&quot; data-origin-height=&quot;87&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/div&gt;
&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&quot;SE-ce8f82c2-9b54-4d77-9307-fcb4e3c2dee2&quot; data-a11y-title=&quot;본문&quot; data-compid=&quot;SE-ce8f82c2-9b54-4d77-9307-fcb4e3c2dee2&quot;&gt;
&lt;div&gt;
&lt;div data-direction=&quot;top&quot; data-compid=&quot;SE-ce8f82c2-9b54-4d77-9307-fcb4e3c2dee2&quot; data-unitid=&quot;&quot;&gt;
&lt;div&gt;
&lt;div id=&quot;SE-726527c4-040a-4cb4-848a-d9d362d6f73f&quot;&gt;
&lt;p id=&quot;SE-7fef0746-e5d1-44bb-b54c-ddbc8f69d1b1&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;echo 파일을 목적프로그램으로 변환해 프로그램을 실행합니다.&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p id=&quot;SE-b58fb140-5da5-441e-8e8b-2842c86ee30a&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div id=&quot;SE-a5eb4844-ca4e-459d-b410-565be2a02028&quot; data-a11y-title=&quot;구분선&quot; data-compid=&quot;SE-a5eb4844-ca4e-459d-b410-565be2a02028&quot;&gt;
&lt;div&gt;
&lt;div data-direction=&quot;top&quot; data-compid=&quot;SE-a5eb4844-ca4e-459d-b410-565be2a02028&quot; data-unitid=&quot;&quot;&gt;
&lt;div&gt;
&lt;div&gt;&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&quot;SE-830fde0a-3e4a-48cb-a260-efbe7ac38379&quot; data-a11y-title=&quot;본문&quot; data-compid=&quot;SE-830fde0a-3e4a-48cb-a260-efbe7ac38379&quot;&gt;
&lt;div data-direction=&quot;top&quot; data-compid=&quot;SE-830fde0a-3e4a-48cb-a260-efbe7ac38379&quot; data-unitid=&quot;&quot;&gt;
&lt;div id=&quot;SE-7f2e5521-4cbb-4aba-b84a-be6c5367fc20&quot;&gt;
&lt;h2 id=&quot;SE-47258111-bdc1-40d6-a69f-43bccf7f5dd3&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;background-color: #f9f9f9; color: #000000;&quot;&gt;&lt;b&gt;어셈블리어(Assembly Language) 기본 문법&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;blockquote id=&quot;SE-399bbdf1-336b-498c-92e0-78fcbe7198de&quot; data-ke-style=&quot;style3&quot;&gt;- LEA: A의 값을 B의 값으로 연산을 포함하여 복사함. LEA EAX, [EAX+1000]은 EAX에 1000을 넣은 값을 다시 EAX에 삽입함, 이처럼 연산을 포함할 수 있음&lt;br /&gt;- JMP: 특정한 위치로 건너 뛰어 코드 실행, JMP A라고 하면 A의 위치로 뛰어서 코드가 실행됨, 비슷하게 조건 점프 명령도 존재. JA, JB, JE 등의 명령어는 두 인자를 받아서 비교한 뒤에 결과에 따라서 다른 방향으로 점프할 수 있음.&lt;br /&gt;- CALL: 함수를 호출했다가 다시 원래 위치로 돌아올 때 사용. JMP와 다른 점은 실행한 뒤에 끝나게 되면 RET에 저장하고 다시 원래 상태로 돌아온다는 점이 있음.&lt;br /&gt;- NOP: 아무 작업도 하지 않는 명령어. 1Byte의 공간을 차지&lt;br /&gt;- RET: 현재 함수가 끝난 뒤에 돌아갈 주소를 지정하기 위해 사용&lt;br /&gt;- PUSH: 스택에 해당 값을 넣음&lt;br /&gt;- POP: 스택에 있는 값을 뺴냄&lt;br /&gt;- LEAVE: 현재까지의 메모리 스택을 비우고 EBP를 자신을 호출한 메모리 주소로 채움. 실행 중인 함수를 종료하기 위해 정리하는 작업에 사용됨.&lt;/blockquote&gt;
&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;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;div id=&quot;SE-dc77742f-4834-4ebe-a820-2db2afc30f93&quot; data-a11y-title=&quot;본문&quot; data-compid=&quot;SE-dc77742f-4834-4ebe-a820-2db2afc30f93&quot;&gt;
&lt;div&gt;
&lt;div data-direction=&quot;top&quot; data-compid=&quot;SE-dc77742f-4834-4ebe-a820-2db2afc30f93&quot; data-unitid=&quot;&quot;&gt;
&lt;div&gt;
&lt;div id=&quot;SE-3bed3387-2805-4fbd-a628-86f9c63d70d8&quot;&gt;
&lt;h2 id=&quot;SE-f8340542-07d9-4c37-8926-4d1e515163fa&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;background-color: #f9f9f9; color: #000000;&quot;&gt;&lt;b&gt;어셈블리어(Assembly Language)로 반복문 구현하기&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p id=&quot;SE-439483a3-aff6-42f3-8de0-2165aecc1dd3&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&quot;SE-5f289653-0cfe-4a74-820f-84c66b560a98&quot; data-a11y-title=&quot;코드&quot; data-compid=&quot;SE-5f289653-0cfe-4a74-820f-84c66b560a98&quot;&gt;
&lt;div&gt;
&lt;div data-direction=&quot;top&quot; data-compid=&quot;SE-5f289653-0cfe-4a74-820f-84c66b560a98&quot; data-unitid=&quot;&quot;&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;pre class=&quot;ada&quot;&gt;&lt;code&gt;nano loop.s&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&quot;SE-c60a8abf-8d8e-4dd7-b66c-2273254a4dcc&quot; data-a11y-title=&quot;본문&quot; data-compid=&quot;SE-c60a8abf-8d8e-4dd7-b66c-2273254a4dcc&quot;&gt;
&lt;div&gt;
&lt;div data-direction=&quot;top&quot; data-compid=&quot;SE-c60a8abf-8d8e-4dd7-b66c-2273254a4dcc&quot; data-unitid=&quot;&quot;&gt;
&lt;div&gt;
&lt;div id=&quot;SE-4cd1b9c3-6b25-46d7-9bdd-87936f126c62&quot;&gt;
&lt;p id=&quot;SE-7146d900-b73a-4e75-ab20-255621ae3363&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;loop 파일을 만들어볼게요&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&quot;SE-b43b78e6-f396-44ce-8594-5464e48dcec6&quot; data-a11y-title=&quot;사진&quot; data-compid=&quot;SE-b43b78e6-f396-44ce-8594-5464e48dcec6&quot;&gt;
&lt;div&gt;
&lt;div data-direction=&quot;top&quot; data-compid=&quot;SE-b43b78e6-f396-44ce-8594-5464e48dcec6&quot; data-unitid=&quot;&quot;&gt;
&lt;div&gt;
&lt;div id=&quot;SE-b43b78e6-f396-44ce-8594-5464e48dcec6&quot;&gt;
&lt;div data-direction=&quot;top&quot; data-compid=&quot;&quot; data-unitid=&quot;SE-b43b78e6-f396-44ce-8594-5464e48dcec6&quot;&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;247&quot; data-origin-height=&quot;271&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/lXvdg/dJMcagdo9fi/wFmb89QBZYHlVcgM6vVNeK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/lXvdg/dJMcagdo9fi/wFmb89QBZYHlVcgM6vVNeK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/lXvdg/dJMcagdo9fi/wFmb89QBZYHlVcgM6vVNeK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FlXvdg%2FdJMcagdo9fi%2FwFmb89QBZYHlVcgM6vVNeK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;247&quot; height=&quot;271&quot; data-origin-width=&quot;247&quot; data-origin-height=&quot;271&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/div&gt;
&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&quot;SE-95818ac3-fd12-48a0-80c3-931feec6a86c&quot; data-a11y-title=&quot;사진&quot; data-compid=&quot;SE-95818ac3-fd12-48a0-80c3-931feec6a86c&quot;&gt;
&lt;div&gt;
&lt;div data-direction=&quot;top&quot; data-compid=&quot;SE-95818ac3-fd12-48a0-80c3-931feec6a86c&quot; data-unitid=&quot;&quot;&gt;
&lt;div&gt;
&lt;div id=&quot;SE-95818ac3-fd12-48a0-80c3-931feec6a86c&quot;&gt;
&lt;div data-direction=&quot;top&quot; data-compid=&quot;&quot; data-unitid=&quot;SE-95818ac3-fd12-48a0-80c3-931feec6a86c&quot;&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;521&quot; data-origin-height=&quot;87&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bwLrGD/dJMcagdo9fh/2CelB8OAuFaaUdQcYESCrk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bwLrGD/dJMcagdo9fh/2CelB8OAuFaaUdQcYESCrk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bwLrGD/dJMcagdo9fh/2CelB8OAuFaaUdQcYESCrk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbwLrGD%2FdJMcagdo9fh%2F2CelB8OAuFaaUdQcYESCrk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;521&quot; height=&quot;87&quot; data-origin-width=&quot;521&quot; data-origin-height=&quot;87&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/div&gt;
&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div id=&quot;SE-1fad4f67-56f6-4d23-9d04-4c078b369e82&quot;&gt;
&lt;p id=&quot;SE-03a79286-c664-4a3f-902b-3f7b67709ca4&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #555555;&quot;&gt;mov rax 60, syscall 하지 않으면 세그멘테이션 오류가 뜹니다.(참고하세요)&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&quot;SE-7443b751-a900-4bda-9720-7ce404718c8a&quot; data-a11y-title=&quot;사진&quot; data-compid=&quot;SE-7443b751-a900-4bda-9720-7ce404718c8a&quot;&gt;
&lt;div&gt;
&lt;div data-direction=&quot;top&quot; data-compid=&quot;SE-7443b751-a900-4bda-9720-7ce404718c8a&quot; data-unitid=&quot;&quot;&gt;
&lt;div&gt;
&lt;div id=&quot;SE-7443b751-a900-4bda-9720-7ce404718c8a&quot;&gt;
&lt;div data-direction=&quot;top&quot; data-compid=&quot;&quot; data-unitid=&quot;SE-7443b751-a900-4bda-9720-7ce404718c8a&quot;&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;366&quot; data-origin-height=&quot;353&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/7lbdp/dJMcagdo9ff/6Dew0inDvWWoRpFCLkpIL0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/7lbdp/dJMcagdo9ff/6Dew0inDvWWoRpFCLkpIL0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/7lbdp/dJMcagdo9ff/6Dew0inDvWWoRpFCLkpIL0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F7lbdp%2FdJMcagdo9ff%2F6Dew0inDvWWoRpFCLkpIL0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;366&quot; height=&quot;353&quot; data-origin-width=&quot;366&quot; data-origin-height=&quot;353&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/div&gt;
&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&quot;SE-dfe4eec6-f829-418f-8d9d-e2853acbf7ee&quot; data-a11y-title=&quot;본문&quot; data-compid=&quot;SE-dfe4eec6-f829-418f-8d9d-e2853acbf7ee&quot;&gt;
&lt;div&gt;
&lt;div data-direction=&quot;top&quot; data-compid=&quot;SE-dfe4eec6-f829-418f-8d9d-e2853acbf7ee&quot; data-unitid=&quot;&quot;&gt;
&lt;div&gt;
&lt;div id=&quot;SE-095ef983-6311-4f38-8627-ecb9c5eb50b6&quot;&gt;
&lt;p id=&quot;SE-65fb563d-9282-45a7-96ff-9ae5ff586792&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;종료까지 적어줍니다.&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&quot;SE-3102548f-caf1-4928-b8b7-e380e1e2fd4b&quot; data-a11y-title=&quot;사진&quot; data-compid=&quot;SE-3102548f-caf1-4928-b8b7-e380e1e2fd4b&quot;&gt;
&lt;div&gt;
&lt;div data-direction=&quot;top&quot; data-compid=&quot;SE-3102548f-caf1-4928-b8b7-e380e1e2fd4b&quot; data-unitid=&quot;&quot;&gt;
&lt;div&gt;
&lt;div id=&quot;SE-3102548f-caf1-4928-b8b7-e380e1e2fd4b&quot;&gt;
&lt;div data-direction=&quot;top&quot; data-compid=&quot;&quot; data-unitid=&quot;SE-3102548f-caf1-4928-b8b7-e380e1e2fd4b&quot;&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;512&quot; data-origin-height=&quot;71&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ceFJnE/dJMcagdo9fg/zQkti8LpFLi9Hw8QxoBqMk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ceFJnE/dJMcagdo9fg/zQkti8LpFLi9Hw8QxoBqMk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ceFJnE/dJMcagdo9fg/zQkti8LpFLi9Hw8QxoBqMk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FceFJnE%2FdJMcagdo9fg%2FzQkti8LpFLi9Hw8QxoBqMk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;512&quot; height=&quot;71&quot; data-origin-width=&quot;512&quot; data-origin-height=&quot;71&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/div&gt;
&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&quot;SE-d4f6f799-ab28-4d27-aaed-072037711297&quot; data-a11y-title=&quot;본문&quot; data-compid=&quot;SE-d4f6f799-ab28-4d27-aaed-072037711297&quot;&gt;
&lt;div&gt;
&lt;div data-direction=&quot;top&quot; data-compid=&quot;SE-d4f6f799-ab28-4d27-aaed-072037711297&quot; data-unitid=&quot;&quot;&gt;
&lt;div&gt;
&lt;div id=&quot;SE-2824d28b-a045-4540-98ea-d394a475a61b&quot;&gt;
&lt;p id=&quot;SE-5933237a-a074-4dfa-afb0-a7d80cc1cc5c&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;해주면 A가 출력됩니다.&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-73159f6c-a7a8-4353-884c-1c9cf0b69b8b&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;이제 A가 여러 번 출력되도록 만들어 볼게요~~&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-732a8848-6a36-4f13-a996-0c27ab32c5a7&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&quot;SE-7ce610de-169f-43c0-b94c-4f0001b0eda2&quot; data-a11y-title=&quot;사진&quot; data-compid=&quot;SE-7ce610de-169f-43c0-b94c-4f0001b0eda2&quot;&gt;
&lt;div&gt;
&lt;div data-direction=&quot;top&quot; data-compid=&quot;SE-7ce610de-169f-43c0-b94c-4f0001b0eda2&quot; data-unitid=&quot;&quot;&gt;
&lt;div&gt;
&lt;div id=&quot;SE-7ce610de-169f-43c0-b94c-4f0001b0eda2&quot;&gt;
&lt;div data-direction=&quot;top&quot; data-compid=&quot;&quot; data-unitid=&quot;SE-7ce610de-169f-43c0-b94c-4f0001b0eda2&quot;&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;274&quot; data-origin-height=&quot;432&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/SmYqi/dJMcaca0rZS/5FXNkub11chspIWmetKDE0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/SmYqi/dJMcaca0rZS/5FXNkub11chspIWmetKDE0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/SmYqi/dJMcaca0rZS/5FXNkub11chspIWmetKDE0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FSmYqi%2FdJMcaca0rZS%2F5FXNkub11chspIWmetKDE0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;274&quot; height=&quot;432&quot; data-origin-width=&quot;274&quot; data-origin-height=&quot;432&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/div&gt;
&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&quot;SE-4fd69d1e-b690-4fa6-b246-28406ef564c0&quot; data-a11y-title=&quot;본문&quot; data-compid=&quot;SE-4fd69d1e-b690-4fa6-b246-28406ef564c0&quot;&gt;
&lt;div data-direction=&quot;top&quot; data-compid=&quot;SE-4fd69d1e-b690-4fa6-b246-28406ef564c0&quot; data-unitid=&quot;&quot;&gt;
&lt;div id=&quot;SE-24873823-9226-4306-814d-343065c0ecc9&quot;&gt;
&lt;blockquote id=&quot;SE-3ec93238-af72-45cd-904b-0b445709b665&quot; data-ke-style=&quot;style3&quot;&gt;cmp: 어떠한 것을 비교하는 compare 함수임&lt;/blockquote&gt;
&lt;p id=&quot;SE-823b77b0-838f-4bcb-8a91-4e8fa5b0da1c&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;cmp r10, 100: r10과 100을 비교하여&lt;/span&gt;&lt;/p&gt;
&lt;blockquote id=&quot;SE-e839ba86-7e5b-4a91-bea4-69d7c478d138&quot; data-ke-style=&quot;style3&quot;&gt;je: jump equal, 비교 결과가 같을 때 점프 &lt;br /&gt;je done: r10이 100이면 done으로 간다&lt;br /&gt;syscall: 100이 아니면 syscall 한다&lt;br /&gt;mov rax, 1: rax는 함수를 실행하면 어떤 값이 담기기 때문에 1로 다시 초기화합니다&lt;br /&gt;inc r10: r10을 1증가시킨다&lt;br /&gt;jmp again: again으로 다시 돌아간다&lt;br /&gt;done: 함수를 끝낸다&lt;/blockquote&gt;
&lt;p id=&quot;SE-1618cc57-0beb-4339-a72a-155c0b236896&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&quot;SE-af174fd3-f767-491c-a869-9ce858c6e163&quot; data-a11y-title=&quot;사진&quot; data-compid=&quot;SE-af174fd3-f767-491c-a869-9ce858c6e163&quot;&gt;
&lt;div&gt;
&lt;div data-direction=&quot;top&quot; data-compid=&quot;SE-af174fd3-f767-491c-a869-9ce858c6e163&quot; data-unitid=&quot;&quot;&gt;
&lt;div&gt;
&lt;div id=&quot;SE-af174fd3-f767-491c-a869-9ce858c6e163&quot;&gt;
&lt;div data-direction=&quot;top&quot; data-compid=&quot;&quot; data-unitid=&quot;SE-af174fd3-f767-491c-a869-9ce858c6e163&quot;&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;724&quot; data-origin-height=&quot;93&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/eKkLn5/dJMcaca0rZT/UqCFOpTngPKQSBZLVvX2h0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/eKkLn5/dJMcaca0rZT/UqCFOpTngPKQSBZLVvX2h0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/eKkLn5/dJMcaca0rZT/UqCFOpTngPKQSBZLVvX2h0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FeKkLn5%2FdJMcaca0rZT%2FUqCFOpTngPKQSBZLVvX2h0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;693&quot; height=&quot;93&quot; data-origin-width=&quot;724&quot; data-origin-height=&quot;93&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/div&gt;
&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&quot;SE-b099fefa-0100-46f6-8cf8-12336a12d7b1&quot; data-a11y-title=&quot;본문&quot; data-compid=&quot;SE-b099fefa-0100-46f6-8cf8-12336a12d7b1&quot;&gt;
&lt;div&gt;
&lt;div data-direction=&quot;top&quot; data-compid=&quot;SE-b099fefa-0100-46f6-8cf8-12336a12d7b1&quot; data-unitid=&quot;&quot;&gt;
&lt;div&gt;
&lt;div id=&quot;SE-322c5b28-0e43-4bad-9063-d8294e868196&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p id=&quot;SE-ab9803ca-bff1-4ec8-a855-5420f9562995&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;더 많은 명령어를 알고 싶다면&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-08671957-d1e4-4064-81d2-019a30d81af6&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot; data-href=&quot;http://pyrasis.com/blog/entry/ReverseEngineeringForNewbieAssemblyOperation&quot;&gt;&lt;a href=&quot;http://pyrasis.com/blog/entry/ReverseEngineeringForNewbieAssemblyOperation&quot;&gt;http://pyrasis.com/blog/entry/ReverseEngineeringForNewbieAssemblyOperation&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-2ad05613-5658-4d60-8eea-ff3e9b5dacf2&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p id=&quot;SE-cb05f3b2-0ca6-4673-af99-1ca806f44cb8&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;출처:&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-10f37d21-3047-433b-ae96-eba29ae694cf&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot; data-href=&quot;https://youtu.be/uOIq-P2eQXs&quot;&gt;&lt;a href=&quot;https://youtu.be/uOIq-P2eQXs&quot;&gt;https://youtu.be/uOIq-P2eQXs&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-06690634-0174-46fd-bee9-78f9d0a2a3e2&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;:동빈나의 시스템 해킹 강좌(15강까지 있습니다.)&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p id=&quot;SE-8eee96cd-368d-491e-b5a5-d3b2b7c3ef7c&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;참고:&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-30a4a752-81c2-4adc-99bb-1f8392434dcf&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot; data-href=&quot;https://cs.lmu.edu/~ray/notes/nasmtutorial/&quot;&gt;&lt;a href=&quot;https://cs.lmu.edu/~ray/notes/nasmtutorial/&quot;&gt;https://cs.lmu.edu/~ray/notes/nasmtutorial/&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Hacking/Assembly</category>
      <category>Aseemly</category>
      <category>nasm</category>
      <author>화이트 하비</author>
      <guid isPermaLink="true">https://hobby519.tistory.com/17</guid>
      <comments>https://hobby519.tistory.com/17#entry17comment</comments>
      <pubDate>Sun, 15 Feb 2026 20:28:53 +0900</pubDate>
    </item>
    <item>
      <title>어셈블리어(Assembly Language) 기초 정리</title>
      <link>https://hobby519.tistory.com/16</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;우리가 기존에 배우던 C, C++, Java 같은 언어들은 &lt;b&gt;고급 언어&lt;/b&gt;이고,&lt;br /&gt;어셈블리어는 &lt;b&gt;기계어(0과 1로만 이루어진 언어)에 매우 가까운 저급 언어&lt;/b&gt;입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;프로그래밍 언어는 기계어에 가까울수록 &lt;b&gt;작성과 이해는 어렵지만 실행 속도는 빠릅니다&lt;/b&gt;.&lt;br /&gt;예를 들어 Python으로 문제를 실행해보면 메모리를 많이 사용하고, 실행 속도도 C보다 느린 것을 확인할 수 있습니다.&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;개발 환경 준비 (Linux 기준)&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Linux 환경에서 진행할 것이므로, 우분투와 가상머신을 설치합니다.&lt;br /&gt;(설치 과정은 생략)&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;NASM 설치&lt;/h3&gt;
&lt;pre class=&quot;routeros&quot;&gt;&lt;code&gt;sudo apt-get install nasm
&lt;/code&gt;&lt;/pre&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;어셈블리어로 Hello World 출력하기&lt;/h2&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;파일 생성&lt;/h3&gt;
&lt;pre class=&quot;css&quot;&gt;&lt;code&gt;nano helloworld.s
&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;nano는 메모장처럼 텍스트를 작성할 수 있는 에디터입니다.&lt;br /&gt;.s 확장자는 어셈블리 소스 파일을 의미합니다.&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;코드 구조 설명&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;section .data&lt;/b&gt;&lt;br /&gt;프로그램에서 사용하는 문자열 같은 데이터를 저장하는 공간&lt;/li&gt;
&lt;li&gt;&lt;b&gt;section .text&lt;/b&gt;&lt;br /&gt;실제 실행되는 코드 영역&lt;/li&gt;
&lt;li&gt;&lt;b&gt;_start&lt;/b&gt;&lt;br /&gt;C 언어의 main 함수보다 먼저 실행되는 시작 지점&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;주요 명령어 설명&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;mov&lt;br /&gt;레지스터에 값을 대입하는 명령어
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;mov rax, 1 &amp;rarr; rax 레지스터에 1을 저장&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;파일 저장 및 종료&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Ctrl + X &amp;rarr; Y &amp;rarr; Enter&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;파일 내용 확인&lt;/h3&gt;
&lt;pre class=&quot;css&quot;&gt;&lt;code&gt;cat helloworld.s
&lt;/code&gt;&lt;/pre&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;컴파일 및 실행&lt;/h3&gt;
&lt;pre class=&quot;stylus&quot;&gt;&lt;code&gt;nasm -f elf64 -o helloworld.o helloworld.s
ld -o helloworld helloworld.o
ls
./helloworld
&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Linux에서는 실행 가능한 파일이 &lt;b&gt;연두색&lt;/b&gt;으로 표시됩니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;세그멘테이션 오류가 날 경우&lt;/h4&gt;
&lt;pre class=&quot;haskell&quot;&gt;&lt;code&gt;section.data
&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;처럼 붙여 썼을 가능성이 큽니다.&lt;br /&gt;반드시 아래처럼 작성해야 합니다.&lt;/p&gt;
&lt;pre class=&quot;haskell&quot;&gt;&lt;code&gt;section .data
&lt;/code&gt;&lt;/pre&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;vi / vim 편집기 사용법&lt;/h2&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;파일 열기&lt;/h3&gt;
&lt;pre class=&quot;css&quot;&gt;&lt;code&gt;vi helloworld.s
&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;i : 입력 모드&lt;/li&gt;
&lt;li&gt;ESC : 명령 모드&lt;/li&gt;
&lt;li&gt;:q : 종료&lt;/li&gt;
&lt;li&gt;:w : 저장&lt;/li&gt;
&lt;li&gt;:wq : 저장 후 종료&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;vim 설치:&lt;/p&gt;
&lt;pre class=&quot;routeros&quot;&gt;&lt;code&gt;sudo apt-get install vim
&lt;/code&gt;&lt;/pre&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;레지스터와 시스템 콜 이해하기&lt;/h2&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;레지스터 크기&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;64bit : RAX, RBX, RCX &amp;hellip;&lt;/li&gt;
&lt;li&gt;32bit : EAX, EBX &amp;hellip;&lt;/li&gt;
&lt;li&gt;16bit : AX, BX &amp;hellip;&lt;/li&gt;
&lt;li&gt;8bit : AL, BL &amp;hellip;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예:&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;RDX &amp;rarr; EDX &amp;rarr; DX &amp;rarr; DL&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;주요 레지스터 용도&lt;/h3&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;데이터 레지스터&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;RAX&lt;/b&gt;&lt;br /&gt;시스템 콜 번호 / 함수 반환값&lt;/li&gt;
&lt;li&gt;RBX&lt;br /&gt;메모리 주소 저장&lt;/li&gt;
&lt;li&gt;RCX&lt;br /&gt;반복문에서 카운터 역할&lt;/li&gt;
&lt;li&gt;RDX&lt;br /&gt;데이터 처리용&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;포인터 레지스터&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;RSI&lt;br /&gt;출발지 주소&lt;/li&gt;
&lt;li&gt;RDI&lt;br /&gt;목적지 주소&lt;/li&gt;
&lt;li&gt;RBP&lt;br /&gt;스택 기준 주소&lt;/li&gt;
&lt;li&gt;&lt;b&gt;RSP&lt;/b&gt;&lt;br /&gt;현재 스택 최상단 주소&lt;/li&gt;
&lt;li&gt;r8 ~ r15 : 함수 인자 전달용&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;시스템 콜(System Call)&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;64bit Linux에서는 syscall 명령어를 사용합니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;rax : 시스템 콜 번호&lt;/li&gt;
&lt;li&gt;rdi, rsi, rdx : 매개변수&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예시:&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;sys_write
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;rax = 1&lt;/li&gt;
&lt;li&gt;rdi = 1 (stdout)&lt;/li&gt;
&lt;li&gt;rsi = 문자열 주소&lt;/li&gt;
&lt;li&gt;rdx = 문자열 길이&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;sys_exit
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;rax = 60&lt;/li&gt;
&lt;li&gt;rdi = 종료 코드&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;어셈블리 주요 명령어 정리&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;명령어설명&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;mov x, y&lt;/td&gt;
&lt;td&gt;x &amp;larr; y&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;and x, y&lt;/td&gt;
&lt;td&gt;x &amp;larr; x and y&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;or x, y&lt;/td&gt;
&lt;td&gt;x &amp;larr; x or y&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;xor x, y&lt;/td&gt;
&lt;td&gt;x &amp;larr; x xor y&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;add x, y&lt;/td&gt;
&lt;td&gt;x &amp;larr; x + y&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;sub x, y&lt;/td&gt;
&lt;td&gt;x &amp;larr; x - y&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;inc x&lt;/td&gt;
&lt;td&gt;x &amp;larr; x + 1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;dec x&lt;/td&gt;
&lt;td&gt;x &amp;larr; x - 1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;syscall&lt;/td&gt;
&lt;td&gt;시스템 콜 호출&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;db&lt;/td&gt;
&lt;td&gt;메모리 데이터 선언&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;메모리 구조 이해하기&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;Stack&lt;/b&gt;&lt;br /&gt;LIFO 구조, 취약점이 많이 발생&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Heap&lt;/b&gt;&lt;br /&gt;동적 메모리 영역 (malloc)&lt;/li&gt;
&lt;li&gt;&lt;b&gt;BSS&lt;/b&gt;&lt;br /&gt;초기화되지 않은 전역 변수&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Data&lt;/b&gt;&lt;br /&gt;초기화된 전역 변수&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Text&lt;/b&gt;&lt;br /&gt;실행 코드 영역&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;스택 프레임(Stack Frame)&lt;/h2&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;C 코드 작성&lt;/h3&gt;
&lt;pre class=&quot;axapta&quot;&gt;&lt;code&gt;nano sum.c
&lt;/code&gt;&lt;/pre&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;어셈블리 코드로 변환&lt;/h3&gt;
&lt;pre class=&quot;axapta&quot;&gt;&lt;code&gt;gcc -S sum.c
vi sum.s
&lt;/code&gt;&lt;/pre&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;함수 호출 과정&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;push rbp&lt;/li&gt;
&lt;li&gt;mov rsp, rbp&lt;/li&gt;
&lt;li&gt;sub rsp, 16&lt;/li&gt;
&lt;li&gt;인자 전달&lt;/li&gt;
&lt;li&gt;call sum&lt;/li&gt;
&lt;li&gt;leave&lt;/li&gt;
&lt;li&gt;ret&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;오퍼랜드 크기 접미사&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;movl : 32bit&lt;/li&gt;
&lt;li&gt;movw : 16bit&lt;/li&gt;
&lt;li&gt;movb : 8bit&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;에코(Echo) 프로그램 만들기&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;입력한 문자열을 그대로 출력하는 프로그램&lt;/p&gt;
&lt;pre class=&quot;css&quot;&gt;&lt;code&gt;nano echo.s
&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;xor rax, rax : rax를 0으로 초기화&lt;/li&gt;
&lt;li&gt;sub rsp, 64 : 입력 버퍼 공간 확보&lt;/li&gt;
&lt;li&gt;sys_read &amp;rarr; 입력 받기&lt;/li&gt;
&lt;li&gt;sys_write &amp;rarr; 출력&lt;/li&gt;
&lt;li&gt;sys_exit &amp;rarr; 종료&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;반복문 구현하기&lt;/h2&gt;
&lt;pre class=&quot;ada&quot;&gt;&lt;code&gt;nano loop.s
&lt;/code&gt;&lt;/pre&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;주요 흐름&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;cmp : 비교&lt;/li&gt;
&lt;li&gt;je : 같으면 점프&lt;/li&gt;
&lt;li&gt;jmp : 무조건 점프&lt;/li&gt;
&lt;li&gt;inc : 증가&lt;/li&gt;
&lt;li&gt;syscall : 출력&lt;/li&gt;
&lt;/ul&gt;</description>
      <category>Hacking/Assembly</category>
      <category>Linux</category>
      <category>nasm</category>
      <category>어셈블리어</category>
      <author>화이트 하비</author>
      <guid isPermaLink="true">https://hobby519.tistory.com/16</guid>
      <comments>https://hobby519.tistory.com/16#entry16comment</comments>
      <pubDate>Sun, 15 Feb 2026 20:02:44 +0900</pubDate>
    </item>
    <item>
      <title>[Java] 2019 KAKAO BLIND - 후보키</title>
      <link>https://hobby519.tistory.com/15</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;2019 KAKAO BLIND RECRUITMENT 후보키 문제를 풀어보겠다.&lt;/p&gt;
&lt;h1&gt;1. 문제&lt;/h1&gt;
&lt;p&gt;&lt;img src=&quot;https://velog.velcdn.com/images/ryulkim/post/e083d86e-7def-4dab-ab1a-075b55812173/image.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이런 테이블(2차원 배열)이 주어질 때, 후보키가 될 수 있는 개수를 구하는 문제다.&lt;/p&gt;
&lt;h1&gt;2. 링크&lt;/h1&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://school.programmers.co.kr/learn/courses/30/lessons/42890&quot;&gt;프로그래머스 2019 KAKAO BLIND - 후보키 문제 링크&lt;/a&gt;&lt;/p&gt;
&lt;h1&gt;3. 풀이&lt;/h1&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;문제에서 유일성, 최소성 2가지 조건을 만족해야 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;최소 뽑을 수 있는 것부터 유일성을 검사한 후, 유일성 통과가 안될 시에 뽑는 개수를 한 개씩 늘려가면서 유일성을 만족하는 걸 찾는다.&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;유일성 만족 확인
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;각 컬럼의 문자를 공백을 사이에 두고 하나의 문자열로 통합 (공백을 둔 이유는 혹시나 서로 다른 컬럼인데 이어졌을 때, 같아질 때를 방지하기 위한 것, &lt;code&gt;ex) abs, sbs / ab, ssbs =&amp;gt; abssbs 로 같아지게 된다.&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;이 문자들의 유일성 검사를 hashSet을 이용함.&lt;/li&gt;
&lt;li&gt;행에 속하는 문자들 통합이 hashSet에 있을 경우, 유일성을 만족 못함, 만족할 경우 hashSet에 넣음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;최소성 만족 확인(정답 코드의 경우)
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;bit 마스킹을 이용해 만족하는지 확인&lt;/li&gt;
&lt;li&gt;(뽑은 컬럼 값의 bit 마스크 &amp;amp; 정답 후보에 있는 bit 마스크) = 정답 후보에 있는 bit 마스크 일 경우, 최소성 만족을 못함&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;여기서 (3, 2) 이런 식으로 (2, 3)의 순서만 바뀐 조합은 안 나오게 한다.&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;1) 오답&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;처음 코드에서는 42.9점으로 오답이 나왔었다. 이유는 다음과 같은 반례 때문이다.&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;반례&lt;br /&gt;[[&quot;1&quot;, &quot;2&quot;, &quot;3&quot;], [&quot;2&quot;, &quot;3&quot;, &quot;1&quot;], [&quot;2&quot;, &quot;3&quot;, &quot;3&quot;]]&lt;br /&gt;정답: 2 =&amp;gt; (0,2), (1,2)&lt;br /&gt;return 3 =&amp;gt; (0,1,2), (0,2), (1,2)&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;최소성을 보장 못한다.&lt;br /&gt;이 코드의 경우 dfs 방식으로 뽑은 개수별로 순차적으로 확인하지를 않는다.&lt;br /&gt;예를 들어, 컬럼 (1,3)의 조합이 유일성을 만족한다고 했을 때, 탐색을 다음과 같이 하게 된다.&lt;/p&gt;
&lt;pre class=&quot;java&quot; data-ke-language=&quot;java&quot;&gt;&lt;code&gt;(1) &amp;rarr; (1,2) &amp;rarr; (1,2,3) &amp;rArr; 유일성 만족, 정답 개수++

    &amp;rarr; (1,3) &amp;rarr; 유일성 만족, 정답 개수++&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이때 (1,2,3)은 (1,3)이 이미 후보키이기 때문에 최소성을 만족하지 못한다.&lt;br /&gt;&amp;rArr; 개수를 순차적으로 뽑는 bfs 방법을 사용해야 한다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;코드&lt;/li&gt;
&lt;/ul&gt;
&lt;pre class=&quot;java&quot; data-ke-language=&quot;java&quot;&gt;&lt;code&gt;import java.util.*;
class Solution {

    int ans=0, row, col;
    String[][] rel;

    public int solution(String[][] relation) {
        rel=relation;
        row=relation.length;
        col=relation[0].length;

        proc(0,new ArrayList&amp;lt;&amp;gt;());

        return ans;
    }

    //유일성을 못 맞출 경우, 컬럼 조합을 늘려간다.
    public void proc(int cnt, ArrayList&amp;lt;Integer&amp;gt; combi){
        // if(cnt&amp;gt;=col) return;

        int start=combi.isEmpty()?0:combi.get(combi.size()-1)+1;

        for(int j=start;j&amp;lt;col;j++){
            boolean chk=true;
            HashSet&amp;lt;String&amp;gt; hs=new HashSet&amp;lt;&amp;gt;();

            for(int i=0;i&amp;lt;row;i++){
                StringBuilder sb=new StringBuilder();
                for(int k=0;k&amp;lt;cnt;k++){
                    sb.append(rel[i][combi.get(k)]+&quot; &quot;);
                }

                sb.append(rel[i][j]);

                String result=new String(sb);

                if(hs.contains(result)){
                    chk=false;

                    ArrayList&amp;lt;Integer&amp;gt; temp=new ArrayList(combi);
                    temp.add(j);
                    proc(cnt+1, temp);

                    break;
                }

                hs.add(result);
            }

            if(chk){
                ans++;
            }

        }  
    }


}&lt;/code&gt;&lt;/pre&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;2) 정답&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;bfs 방식으로 바꾸고, 비트마스킹 사용&lt;br /&gt;유일성을 만족했을 시, 비트마스킹을 통해 부분 집합이 이미 유일성을 만족하지 않는지 확인한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예를 들어, 아까와 같은 예시로 컬럼 (1,3)의 조합이 유일성을 만족한다고 했을 때를 생각해본다.&lt;br /&gt;지금 같은 bfs 방식일 경우, 다음과 같이 검사를 한다.&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;⭕: 유일성 만족, ❌: 유일성 불만족&lt;br /&gt;1 ❌&amp;rarr; 2 ❌ &amp;rarr; 3 ❌ &amp;rarr; (1, 2) ❌ &amp;rarr; (1, 3) ⭕ &amp;rarr; (1, 4) ❌&amp;rarr; (2, 3) ❌ &amp;rarr; (1, 2, 3) ⭕&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;유일성을 만족하는 조합은 (1, 3), (1, 2, 3), 이렇게 2가지다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;여기서 (1, 2, 3)은 이미 (1, 3)이 후보키이기 때문에 최소성이 만족하지 못한다. 따라서 부분 집합이 이미 후보키일 경우, 걸러줘야 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;비트마스킹으로 보면,&lt;/p&gt;
&lt;pre class=&quot;angelscript&quot;&gt;&lt;code&gt;(1, 2, 3) &amp;rArr; 0111
(1, 3) &amp;rArr; 0101
&amp;amp; &amp;rArr; 0101 == 0101&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;따라서 &amp;amp; 연산을 했을 때, 후보키랑 같은 게 나오면 최소성을 불만족하게 된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;만약, (1, 4), (1, 2, 3) 이 후보키인게 있다고 하자. 그러면&lt;/p&gt;
&lt;pre class=&quot;angelscript&quot;&gt;&lt;code&gt;(1, 2, 3) &amp;rArr; 0111
(1, 4) &amp;rArr; 1001
&amp;amp; &amp;rArr; 0001 &amp;ne; 1001&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;(1, 4)는 (1, 2, 3)의 부분 집합이 아닌걸로 정확하게 나온다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;코드&lt;/li&gt;
&lt;/ul&gt;
&lt;pre class=&quot;pgsql&quot;&gt;&lt;code&gt;class Solution {
    int row, col;
    String[][] rel;

    public int solution(String[][] relation) {
        rel=relation;
        row=relation.length;
        col=relation[0].length;

        int ans=proc();

        return ans;
    }

    //유일성을 못 맞출 경우, 컬럼 조합을 늘려간다.
    public int proc(){
        ArrayDeque&amp;lt;int[]&amp;gt; q=new ArrayDeque&amp;lt;&amp;gt;(); // 비트마스킹, 맨 뒤 idx
        q.add(new int[]{0,-1});
        ArrayList&amp;lt;Integer&amp;gt; ans=new ArrayList&amp;lt;&amp;gt;();

        while(!q.isEmpty()){
            int[] info=q.poll();
            int start=info[1]+1;

            for(int j=start;j&amp;lt;col;j++){
                boolean chk=true;
                HashSet&amp;lt;String&amp;gt; hs=new HashSet&amp;lt;&amp;gt;();
                int bit=info[0]|1&amp;lt;&amp;lt;j;

                for(int i=0;i&amp;lt;row;i++){

                    StringBuilder sb=new StringBuilder();

                    for(int k=0;k&amp;lt;8;k++){
                        if((info[0]&amp;amp;1&amp;lt;&amp;lt;k)!=0){
                            sb.append(rel[i][k]+&quot; &quot;);
                        }
                    }

                    sb.append(rel[i][j]);
                    String result=new String(sb);

                    if(hs.contains(result)){
                        chk=false;

                        q.add(new int[]{bit, j});

                        break;
                    }

                    hs.add(result);
                }

                if(chk){
                    boolean isHubo=true;

                    for(int hubo : ans){
                        if((hubo&amp;amp;bit)==hubo){
                            isHubo=false;
                            break;
                        }
                    }

                    if(isHubo) {
                        ans.add(bit);
                    }
                }

            }  
        }

        return ans.size();

    }

}&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;실행 시간&lt;/li&gt;
&lt;/ul&gt;
&lt;pre id=&quot;code_1770813028616&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;테스트 1 〉	통과 (2.70ms, 87.5MB)
테스트 2 〉	통과 (2.44ms, 86.2MB)
테스트 3 〉	통과 (2.19ms, 85.8MB)
테스트 4 〉	통과 (2.88ms, 91.1MB)
테스트 5 〉	통과 (2.62ms, 75.3MB)
테스트 6 〉	통과 (0.44ms, 82MB)
테스트 7 〉	통과 (0.40ms, 67.9MB)
테스트 8 〉	통과 (2.71ms, 75.9MB)
테스트 9 〉	통과 (4.11ms, 84.7MB)
테스트 10 〉	통과 (0.59ms, 87.5MB)
테스트 11 〉	통과 (3.46ms, 86.6MB)
테스트 12 〉	통과 (3.63ms, 75.8MB)
테스트 13 〉	통과 (3.78ms, 72.3MB)
테스트 14 〉	통과 (4.25ms, 83.8MB)
테스트 15 〉	통과 (2.14ms, 87.4MB)
테스트 16 〉	통과 (2.51ms, 74.8MB)
테스트 17 〉	통과 (3.15ms, 75.8MB)
테스트 18 〉	통과 (4.32ms, 77.7MB)
테스트 19 〉	통과 (3.38ms, 90.8MB)
테스트 20 〉	통과 (4.50ms, 75.6MB)
테스트 21 〉	통과 (4.58ms, 90.5MB)
테스트 22 〉	통과 (4.84ms, 93.6MB)
테스트 23 〉	통과 (2.25ms, 84.1MB)
테스트 24 〉	통과 (3.79ms, 85MB)
테스트 25 〉	통과 (4.65ms, 73.1MB)
테스트 26 〉	통과 (4.68ms, 87.5MB)
테스트 27 〉	통과 (2.99ms, 90.9MB)
테스트 28 〉	통과 (4.26ms, 84.9MB)&lt;/code&gt;&lt;/pre&gt;
&lt;h1&gt;4. 시간 개선(문자열 체이닝)&lt;/h1&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;StringBuilder 같은 클래스에서 append() 메서드를 연달아 이어서 호출하는 방식&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;1) 기존 코드 (임시 문자열 생성)&lt;/h2&gt;
&lt;pre class=&quot;markdown&quot;&gt;&lt;code&gt;sb.append(rel[i][k] + &quot; &quot;);&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;rel[i][k] + &quot; &quot; 때문에, rel[i][k]와 &quot; &quot;을 합친 새로운 String 객체가 매번 만들어지고, 그다음에야 append()가 호출된다.&lt;br /&gt;즉, 매번 불필요한 중간 문자열 객체가 생겨 성능 저하로 이어진다.&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;2) 문자열 체이닝 방식&lt;/h2&gt;
&lt;pre class=&quot;markdown&quot;&gt;&lt;code&gt;sb.append(rel[i][k]).append(' ');&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;여기서는 먼저 rel[i][k]를 붙이고, 곧바로 ' '(공백 문자)를 붙인다.&lt;br /&gt;그러면, 중간에 임시 String 객체가 전혀 안 생기고, StringBuilder 내부 버퍼에 바로 기록된다.&lt;/p&gt;
&lt;pre class=&quot;pgsql&quot;&gt;&lt;code&gt;import java.util.*;
class Solution {
    int row, col;
    String[][] rel;

    public int solution(String[][] relation) {
        rel=relation;
        row=relation.length;
        col=relation[0].length;

        int ans=proc();

        return ans;
    }

    //유일성을 못 맞출 경우, 컬럼 조합을 늘려간다.
    public int proc(){
        ArrayDeque&amp;lt;int[]&amp;gt; q=new ArrayDeque&amp;lt;&amp;gt;(); // 비트마스킹, 맨 뒤 idx
        q.add(new int[]{0,-1});
        ArrayList&amp;lt;Integer&amp;gt; ans=new ArrayList&amp;lt;&amp;gt;();

        while(!q.isEmpty()){
            int[] info=q.poll();
            int start=info[1]+1;

            for(int j=start;j&amp;lt;col;j++){
                boolean chk=true;
                HashSet&amp;lt;String&amp;gt; hs=new HashSet&amp;lt;&amp;gt;();
                int bit=info[0]|1&amp;lt;&amp;lt;j;

                for(int i=0;i&amp;lt;row;i++){

                    StringBuilder sb=new StringBuilder();

                    for(int k=0;k&amp;lt;8;k++){
                        if((info[0]&amp;amp;1&amp;lt;&amp;lt;k)!=0){
                            sb.append(rel[i][k]).append(&quot; &quot;); // 체이닝 사용
                        }
                    }

                    sb.append(rel[i][j]);
                    String result=new String(sb);

                    if(hs.contains(result)){
                        chk=false;

                        q.add(new int[]{bit, j});

                        break;
                    }

                    hs.add(result);
                }

                if(chk){
                    boolean isHubo=true;

                    for(int hubo : ans){
                        if((hubo&amp;amp;bit)==hubo){
                            isHubo=false;
                            break;
                        }
                    }

                    if(isHubo) {
                        ans.add(bit);
                    }
                }

            }  
        }

        return ans.size();

    }

}&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;실행 시간&lt;/li&gt;
&lt;/ul&gt;
&lt;pre id=&quot;code_1770813100162&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;테스트 1 〉	통과 (0.13ms, 75.3MB)
테스트 2 〉	통과 (0.14ms, 85MB)
테스트 3 〉	통과 (0.15ms, 72.9MB)
테스트 4 〉	통과 (0.16ms, 84.7MB)
테스트 5 〉	통과 (0.16ms, 73.9MB)
테스트 6 〉	통과 (0.10ms, 74.5MB)
테스트 7 〉	통과 (0.09ms, 80.8MB)
테스트 8 〉	통과 (0.10ms, 89.7MB)
테스트 9 〉	통과 (0.17ms, 79.6MB)
테스트 10 〉	통과 (0.15ms, 88.9MB)
테스트 11 〉	통과 (0.29ms, 78MB)
테스트 12 〉	통과 (0.75ms, 79.6MB)
테스트 13 〉	통과 (0.46ms, 85.9MB)
테스트 14 〉	통과 (0.15ms, 90MB)
테스트 15 〉	통과 (0.10ms, 84.8MB)
테스트 16 〉	통과 (0.17ms, 76.4MB)
테스트 17 〉	통과 (0.18ms, 76.5MB)
테스트 18 〉	통과 (1.51ms, 87.9MB)
테스트 19 〉	통과 (1.37ms, 74.8MB)
테스트 20 〉	통과 (1.35ms, 70.5MB)
테스트 21 〉	통과 (2.55ms, 85.3MB)
테스트 22 〉	통과 (1.64ms, 85.7MB)
테스트 23 〉	통과 (0.15ms, 82MB)
테스트 24 〉	통과 (0.61ms, 91.7MB)
테스트 25 〉	통과 (1.98ms, 80.9MB)
테스트 26 〉	통과 (1.53ms, 83.2MB)
테스트 27 〉	통과 (0.80ms, 90.2MB)
테스트 28 〉	통과 (0.71ms, 78.5MB)&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h1&gt;5. 참고&lt;/h1&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;비트마스킹을 안쓰고 했을 때 코드도 남겨놓겠다.&lt;br /&gt;비트마스킹 대신 *10, +를 사용했다.&lt;br /&gt;예를 들어, 뽑는 컬럼이 1, 2, 3이면 123이 된다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;코드&lt;/li&gt;
&lt;/ul&gt;
&lt;pre class=&quot;bash&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;import java.util.*;

class Solution {  
int row, col;  
String[][] rel;

public int solution(String[][] relation) {
    rel=relation;
    row=relation.length;
    col=relation[0].length;

    int ans=proc();

    return ans;
}

//유일성을 못 맞출 경우, 컬럼 조합을 늘려간다.
public int proc(){
    ArrayDeque&amp;lt;int[]&amp;gt; q=new ArrayDeque&amp;lt;&amp;gt;(); // 뽑은 조합, 맨 뒤 idx
    q.add(new int[]{0,-1});
    ArrayList&amp;lt;Integer&amp;gt; ans=new ArrayList&amp;lt;&amp;gt;();

    while(!q.isEmpty()){
        int[] info=q.poll();
        int start=info[1]+1;

        for(int j=start;j&amp;lt;col;j++){
            boolean chk=true;
            HashSet&amp;lt;String&amp;gt; hs=new HashSet&amp;lt;&amp;gt;();
            int bit=info[0]*10+(j+1);

            for(int i=0;i&amp;lt;row;i++){

                StringBuilder sb=new StringBuilder();
                int num=info[0];

                while(num&amp;gt;0){
                    int idx=num%10;
                    num/=10;
                    sb.append(rel[i][idx-1]+&quot; &quot;);
                }

                sb.append(rel[i][j]);
                String result=new String(sb);

                if(hs.contains(result)){
                    chk=false;

                    q.add(new int[]{bit, j});

                    break;
                }

                hs.add(result);
            }

            if(chk){
                boolean isHubo=true;

                for(int hubo : ans){
                    int num=hubo;
                    boolean isSub=true;

                    // 부분 집합이 이미 있는지 확인
                    while(num&amp;gt;0){
                        int ele=num%10;
                        num/=10;
                        boolean isExist=false;

                        int num2=bit;
                        while(num2&amp;gt;0){
                            int ele2=num2%10;
                            num2/=10;

                            if(ele==ele2){
                                isExist=true;
                                break;
                            }
                        }

                        if(!isExist){
                            isSub=false;
                            break;
                        }
                    }


                    if(isSub){
                        isHubo=false;
                        break;
                    }
                }

                if(isHubo) {
                    ans.add(bit);
                }
            }

        }  
    }

    return ans.size();

  }

}&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;실행 시간&lt;br /&gt;비트마스킹 썼을 때와 차이가 나지 않는다.&lt;/li&gt;
&lt;/ul&gt;
&lt;pre id=&quot;code_1770813133299&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;테스트 1 〉 통과 (1.99ms, 91.7MB)
테스트 2 〉 통과 (1.96ms, 72.7MB)
테스트 3 〉 통과 (2.10ms, 79.4MB)
테스트 4 〉 통과 (1.80ms, 93.7MB)
테스트 5 〉 통과 (2.08ms, 84.5MB)
테스트 6 〉 통과 (0.11ms, 82.4MB)
테스트 7 〉 통과 (0.09ms, 69.4MB)
테스트 8 〉 통과 (1.98ms, 76.1MB)
테스트 9 〉 통과 (2.25ms, 77.7MB)
테스트 10 〉 통과 (0.13ms, 82.8MB)
테스트 11 〉 통과 (2.23ms, 86.4MB)
테스트 12 〉 통과 (4.12ms, 87MB)
테스트 13 〉 통과 (2.70ms, 97.4MB)
테스트 14 〉 통과 (1.84ms, 77.1MB)
테스트 15 〉 통과 (1.79ms, 85.3MB)
테스트 16 〉 통과 (2.98ms, 84.3MB)
테스트 17 〉 통과 (2.07ms, 85.4MB)
테스트 18 〉 통과 (3.43ms, 89MB)
테스트 19 〉 통과 (3.08ms, 75.3MB)
테스트 20 〉 통과 (3.53ms, 82.9MB)
테스트 21 〉 통과 (4.11ms, 87.8MB)
테스트 22 〉 통과 (4.46ms, 92MB)
테스트 23 〉 통과 (1.93ms, 83.6MB)
테스트 24 〉 통과 (4.33ms, 83.5MB)
테스트 25 〉 통과 (5.04ms, 79.7MB)
테스트 26 〉 통과 (3.50ms, 86.9MB)
테스트 27 〉 통과 (2.63ms, 72.9MB)
테스트 28 〉 통과 (3.20ms, 85.6MB)&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>computer language/JAVA 문제풀이</category>
      <category>Java</category>
      <category>kakao</category>
      <category>프로그래머스</category>
      <author>화이트 하비</author>
      <guid isPermaLink="true">https://hobby519.tistory.com/15</guid>
      <comments>https://hobby519.tistory.com/15#entry15comment</comments>
      <pubDate>Wed, 11 Feb 2026 21:24:05 +0900</pubDate>
    </item>
    <item>
      <title>CSS-(4)</title>
      <link>https://hobby519.tistory.com/14</link>
      <description>&lt;h2 data-ke-size=&quot;size26&quot;&gt;문자 선택자&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;특정 문자 또는 문자열을 선택하여 CSS 속성을 설정할 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;first-letter, first-line 을 사용&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthContent&quot; data-origin-width=&quot;898&quot; data-origin-height=&quot;456&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/br4VT2/btqXSo3AokH/O3x2xjZcuGCq1747Fd6qGK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/br4VT2/btqXSo3AokH/O3x2xjZcuGCq1747Fd6qGK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/br4VT2/btqXSo3AokH/O3x2xjZcuGCq1747Fd6qGK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbr4VT2%2FbtqXSo3AokH%2FO3x2xjZcuGCq1747Fd6qGK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;898&quot; height=&quot;456&quot; data-origin-width=&quot;898&quot; data-origin-height=&quot;456&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;div data-ke-type=&quot;moreLess&quot; data-text-more=&quot;더보기&quot; data-text-less=&quot;닫기&quot;&gt;&lt;a class=&quot;btn-toggle-moreless&quot;&gt;더보기&lt;/a&gt;
&lt;div class=&quot;moreless-content&quot;&gt;
&lt;pre id=&quot;code_1613668464346&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html&amp;gt;
  &amp;lt;head&amp;gt;
    &amp;lt;meta charset=&quot;utf-8&quot; /&amp;gt;
    &amp;lt;style&amp;gt;
      #wrap {
        width: 800px;
        margin: 0 auto;
      }
      #header {
        border-bottom: 1px solid #cccc;
      }
      #p1::first-letter,
      #p2::first-letter {
        font-size: 2em;
      }
      #p1::first-line,
      #p2::first-line {
        color: tomato;
      }
      #content &amp;gt; p {
        float: right;
      }
    &amp;lt;/style&amp;gt;
  &amp;lt;/head&amp;gt;
  &amp;lt;body&amp;gt;
    &amp;lt;div id=&quot;wrap&quot;&amp;gt;
      &amp;lt;div id=&quot;header&quot;&amp;gt;
        &amp;lt;h1&amp;gt;AYA&amp;lt;/h1&amp;gt;
      &amp;lt;/div&amp;gt;
      &amp;lt;div id=&quot;content&quot;&amp;gt;
        &amp;lt;p&amp;gt;-마마무&amp;lt;/p&amp;gt;
        &amp;lt;p id=&quot;p1&quot;&amp;gt;
          I love you&amp;lt;br /&amp;gt;
          세상을 다 줄 것처럼 말하고 Hate you 이젠 서로 화살을 겨눠 뻔하디뻔한
          bad ending 님 얼굴에 침을 뱉어 오점 하나 생겨 우린 남이 됐다 못된
          사랑놀이에 미쳐 이기적인 넌 이젠 지쳐 눈물인지 또 빗물인지 oh 넌 내게
          모욕감을 줬어
        &amp;lt;/p&amp;gt;
        &amp;lt;p id=&quot;p2&quot;&amp;gt;
          눈물이 &amp;lt;br /&amp;gt;
          뚝 떨어진다 no, no, no, eh, oh oh eh, dong do-do-do-dong dong 툭
          떨어진다 눈물이야 빗물이야 아야 눈물이야 빗물이야 아야 눈물이 툭
        &amp;lt;/p&amp;gt;
      &amp;lt;/div&amp;gt;
    &amp;lt;/div&amp;gt;
  &amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;pre id=&quot;code_1613670764221&quot; class=&quot;css&quot; data-ke-language=&quot;css&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;#content p:first-child::selection{
	background-color:blue;
    color:yellow;
}&lt;/code&gt;&lt;/pre&gt;
&lt;script async src=&quot;https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-7296898462473854&quot;
     crossorigin=&quot;anonymous&quot;&gt;&lt;/script&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;selection을 이용해 마우스 커서를 끌어당길 때를 설정할 수 있다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;first-child을 이용해 첫번째 태그만을 선택한다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthContent&quot; data-origin-width=&quot;922&quot; data-origin-height=&quot;460&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bnm0WL/btqXLf7TuVd/74LIjOv2UXkLTXJzClXafk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bnm0WL/btqXLf7TuVd/74LIjOv2UXkLTXJzClXafk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bnm0WL/btqXLf7TuVd/74LIjOv2UXkLTXJzClXafk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbnm0WL%2FbtqXLf7TuVd%2F74LIjOv2UXkLTXJzClXafk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;922&quot; height=&quot;460&quot; data-origin-width=&quot;922&quot; data-origin-height=&quot;460&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;div data-ke-type=&quot;moreLess&quot; data-text-more=&quot;더보기&quot; data-text-less=&quot;닫기&quot;&gt;&lt;a class=&quot;btn-toggle-moreless&quot;&gt;더보기&lt;/a&gt;
&lt;div class=&quot;moreless-content&quot;&gt;
&lt;pre id=&quot;code_1613671325617&quot; class=&quot;css&quot; data-ke-language=&quot;css&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html&amp;gt;
  &amp;lt;head&amp;gt;
    &amp;lt;meta charset=&quot;utf-8&quot; /&amp;gt;
    &amp;lt;style&amp;gt;
      #wrap {
        width: 800px;
        margin: 0 auto;
      }
      #header {
        border-bottom: 1px solid #cccc;
      }
      #content p:first-child::selection {
        background-color: blue;
        color: red;
      }
      #p1::first-letter,
      #p2::first-letter {
        font-size: 2em;
      }
      #p1::first-line,
      #p2::first-line {
        color: tomato;
      }
      #content &amp;gt; p {
        float: right;
      }
    &amp;lt;/style&amp;gt;
  &amp;lt;/head&amp;gt;
  &amp;lt;body&amp;gt;
    &amp;lt;div id=&quot;wrap&quot;&amp;gt;
      &amp;lt;div id=&quot;header&quot;&amp;gt;
        &amp;lt;h1&amp;gt;AYA&amp;lt;/h1&amp;gt;
      &amp;lt;/div&amp;gt;
      &amp;lt;div id=&quot;content&quot;&amp;gt;
        &amp;lt;p&amp;gt;-마마무&amp;lt;/p&amp;gt;
        &amp;lt;p id=&quot;p1&quot;&amp;gt;
          I love you&amp;lt;br /&amp;gt;
          세상을 다 줄 것처럼 말하고 Hate you 이젠 서로 화살을 겨눠 뻔하디뻔한
          bad ending 님 얼굴에 침을 뱉어 오점 하나 생겨 우린 남이 됐다 못된
          사랑놀이에 미쳐 이기적인 넌 이젠 지쳐 눈물인지 또 빗물인지 oh 넌 내게
          모욕감을 줬어
        &amp;lt;/p&amp;gt;
        &amp;lt;p id=&quot;p2&quot;&amp;gt;
          눈물이 &amp;lt;br /&amp;gt;
          뚝 떨어진다 no, no, no, eh, oh oh eh, dong do-do-do-dong dong 툭
          떨어진다 눈물이야 빗물이야 아야 눈물이야 빗물이야 아야 눈물이 툭
        &amp;lt;/p&amp;gt;
      &amp;lt;/div&amp;gt;
    &amp;lt;/div&amp;gt;
  &amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;링크 선택자&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;문서에서 링크(href)되어 있는 문자를 선택하여, CSS속성을 설정할 수 있다.&lt;/p&gt;
&lt;pre id=&quot;code_1613668759556&quot; class=&quot;css&quot; data-ke-language=&quot;css&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;#content a::after{
	content: '-' attr(href);
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;'-'뒤에 href속성값을 붙인다&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthContent&quot; data-origin-width=&quot;413&quot; data-origin-height=&quot;223&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ZHsmS/btqXLegPpP6/HaxJSukVQ2ct3ff2vKNpOK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ZHsmS/btqXLegPpP6/HaxJSukVQ2ct3ff2vKNpOK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ZHsmS/btqXLegPpP6/HaxJSukVQ2ct3ff2vKNpOK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FZHsmS%2FbtqXLegPpP6%2FHaxJSukVQ2ct3ff2vKNpOK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;413&quot; height=&quot;223&quot; data-origin-width=&quot;413&quot; data-origin-height=&quot;223&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;div data-ke-type=&quot;moreLess&quot; data-text-more=&quot;더보기&quot; data-text-less=&quot;닫기&quot;&gt;&lt;a class=&quot;btn-toggle-moreless&quot;&gt;더보기&lt;/a&gt;
&lt;div class=&quot;moreless-content&quot;&gt;
&lt;pre id=&quot;code_1613669461011&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html&amp;gt;
  &amp;lt;head&amp;gt;
    &amp;lt;meta charset=&quot;utf-8&quot; /&amp;gt;
    &amp;lt;style&amp;gt;
      #wrap {
        width: 800px;
        margin: 0 auto;
      }
      #header {
        border-bottom: 1px solid #cccc;
      }
      #content a {
        text-decoration: green wavy underline;
        color: rgb(9, 45, 248);
      }
      #content a::after {
        content: &quot;-&quot; attr(href);
      }
    &amp;lt;/style&amp;gt;
  &amp;lt;/head&amp;gt;
  &amp;lt;body&amp;gt;
    &amp;lt;div id=&quot;wrap&quot;&amp;gt;
      &amp;lt;div id=&quot;header&quot;&amp;gt;
        &amp;lt;h1&amp;gt;Website&amp;lt;/h1&amp;gt;
      &amp;lt;/div&amp;gt;
      &amp;lt;div id=&quot;content&quot;&amp;gt;
        &amp;lt;ul&amp;gt;
          &amp;lt;li&amp;gt;&amp;lt;a href=&quot;https://www.google.com/&quot;&amp;gt; Google&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
          &amp;lt;li&amp;gt;&amp;lt;a href=&quot;https://www.naver.com/&quot;&amp;gt; Naver&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
        &amp;lt;/ul&amp;gt;
      &amp;lt;/div&amp;gt;
      &amp;lt;div id=&quot;footer&quot;&amp;gt;&amp;lt;/div&amp;gt;
    &amp;lt;/div&amp;gt;
  &amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;text-decoration&lt;/span&gt;&lt;span&gt; =&amp;gt; 링크 걸렸을 때 표시 설정 변경&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;자세한 설명&amp;darr;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;&lt;a href=&quot;https://developer.mozilla.org/ko/docs/Web/CSS/text-decoration&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;developer.mozilla.org/ko/docs/Web/CSS/text-decoration&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1613669492326&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-og-type=&quot;website&quot; data-og-title=&quot;text-decoration - CSS: Cascading Style Sheets | MDN&quot; data-og-description=&quot;text-decoration CSS 단축 속성은 글씨의 장식(선) 색을 지정합니다. text-decoration-line, text-decoration-color, text-decoration-style,&amp;nbsp;text-decoration-thickness속성 값을 설정합니다. The source for this interactive example is store&quot; data-og-host=&quot;developer.mozilla.org&quot; data-og-source-url=&quot;https://developer.mozilla.org/ko/docs/Web/CSS/text-decoration&quot; data-og-url=&quot;https://developer.mozilla.org/ko/docs/Web/CSS/text-decoration&quot; data-og-image=&quot;&quot;&gt;&lt;a href=&quot;https://developer.mozilla.org/ko/docs/Web/CSS/text-decoration&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://developer.mozilla.org/ko/docs/Web/CSS/text-decoration&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url();&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;text-decoration - CSS: Cascading Style Sheets | MDN&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;text-decoration CSS 단축 속성은 글씨의 장식(선) 색을 지정합니다. text-decoration-line, text-decoration-color, text-decoration-style,&amp;nbsp;text-decoration-thickness속성 값을 설정합니다. The source for this interactive example is store&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;developer.mozilla.org&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;부정 선택자&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1613669730857&quot; class=&quot;css&quot; data-ke-language=&quot;css&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;#content li:not(.fa){
	background-color:#;
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;fa 클래스를 제외한 나머지&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthContent&quot; data-origin-width=&quot;621&quot; data-origin-height=&quot;297&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/YhKRd/btqXRvhyBJV/eoVm7APUgOvy20v0Ke4rQk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/YhKRd/btqXRvhyBJV/eoVm7APUgOvy20v0Ke4rQk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/YhKRd/btqXRvhyBJV/eoVm7APUgOvy20v0Ke4rQk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FYhKRd%2FbtqXRvhyBJV%2FeoVm7APUgOvy20v0Ke4rQk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;621&quot; height=&quot;297&quot; data-origin-width=&quot;621&quot; data-origin-height=&quot;297&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;div data-ke-type=&quot;moreLess&quot; data-text-more=&quot;더보기&quot; data-text-less=&quot;닫기&quot;&gt;&lt;a class=&quot;btn-toggle-moreless&quot;&gt;더보기&lt;/a&gt;
&lt;div class=&quot;moreless-content&quot;&gt;
&lt;pre id=&quot;code_1613670404116&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html&amp;gt;
  &amp;lt;head&amp;gt;
    &amp;lt;meta charset=&quot;utf-8&quot; /&amp;gt;
    &amp;lt;style&amp;gt;
      #wrap {
        width: 800px;
        margin: 0 auto;
      }
      #header {
        border-bottom: 1px solid #cccc;
      }
      #content a {
        text-decoration: none;
        color: rgb(0, 0, 0);
      }
      #content li:not(.no) {
        text-decoration: rgb(0, 255, 64) wavy underline;
        background-color: rgb(190, 255, 196);
      }
      #content a::after {
        content: &quot;-&quot; attr(href);
      }
    &amp;lt;/style&amp;gt;
  &amp;lt;/head&amp;gt;
  &amp;lt;body&amp;gt;
    &amp;lt;div id=&quot;wrap&quot;&amp;gt;
      &amp;lt;div id=&quot;header&quot;&amp;gt;
        &amp;lt;h1&amp;gt;Website&amp;lt;/h1&amp;gt;
      &amp;lt;/div&amp;gt;
      &amp;lt;div id=&quot;content&quot;&amp;gt;
        &amp;lt;ul&amp;gt;
          &amp;lt;li&amp;gt;&amp;lt;a href=&quot;https://www.google.com/&quot;&amp;gt; Google&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
          &amp;lt;li class=&quot;no&quot;&amp;gt;&amp;lt;a href=&quot;https://www.naver.com/&quot;&amp;gt; Naver&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
          &amp;lt;li&amp;gt;&amp;lt;a href=&quot;https://www.gogle.com/&quot;&amp;gt; Gogle&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
          &amp;lt;li class=&quot;no&quot;&amp;gt;&amp;lt;a href=&quot;https://www.never.com/&quot;&amp;gt; Never&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
        &amp;lt;/ul&amp;gt;
      &amp;lt;/div&amp;gt;
    &amp;lt;/div&amp;gt;
  &amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Web/css</category>
      <author>화이트 하비</author>
      <guid isPermaLink="true">https://hobby519.tistory.com/14</guid>
      <comments>https://hobby519.tistory.com/14#entry14comment</comments>
      <pubDate>Fri, 19 Feb 2021 03:03:35 +0900</pubDate>
    </item>
    <item>
      <title>CSS-(3)</title>
      <link>https://hobby519.tistory.com/13</link>
      <description>&lt;h2 data-ke-size=&quot;size26&quot;&gt;반응 선택자&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;마우스의 반응에 따른 속성을 설정할 수 있다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;hover: 마우스가 올라갈 때 반응함&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthContent&quot; data-origin-width=&quot;173&quot; data-origin-height=&quot;171&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/xiRhq/btqXKu5fZLz/KA5m1HnEcKt9qNsOkvKs8K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/xiRhq/btqXKu5fZLz/KA5m1HnEcKt9qNsOkvKs8K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/xiRhq/btqXKu5fZLz/KA5m1HnEcKt9qNsOkvKs8K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FxiRhq%2FbtqXKu5fZLz%2FKA5m1HnEcKt9qNsOkvKs8K%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;173&quot; height=&quot;171&quot; data-origin-width=&quot;173&quot; data-origin-height=&quot;171&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div data-ke-type=&quot;moreLess&quot; data-text-more=&quot;더보기&quot; data-text-less=&quot;닫기&quot;&gt;&lt;a class=&quot;btn-toggle-moreless&quot;&gt;더보기&lt;/a&gt;
&lt;div class=&quot;moreless-content&quot;&gt;
&lt;pre id=&quot;code_1613659710444&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html&amp;gt;
  &amp;lt;head&amp;gt;
    &amp;lt;meta charset=&quot;utf-8&quot; /&amp;gt;
    &amp;lt;style&amp;gt;
      ul &amp;gt; li {
        font-size: 20px;
        font-weight: bold;
        color: orange;
      }
      li:hover {
        color: blue;
      }
    &amp;lt;/style&amp;gt;
  &amp;lt;/head&amp;gt;
  &amp;lt;body&amp;gt;
    &amp;lt;ul&amp;gt;
      &amp;lt;li&amp;gt;menu1&amp;lt;/li&amp;gt;
      &amp;lt;li&amp;gt;menu2&amp;lt;/li&amp;gt;
      &amp;lt;li&amp;gt;menu3&amp;lt;/li&amp;gt;
      &amp;lt;li&amp;gt;menu4&amp;lt;/li&amp;gt;
      &amp;lt;li&amp;gt;menu5&amp;lt;/li&amp;gt;
    &amp;lt;/ul&amp;gt;
  &amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthContent&quot; data-origin-width=&quot;415&quot; data-origin-height=&quot;398&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/AHxAT/btqXObcML7s/pcztX0JrQV37xkGeeO1mZ0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/AHxAT/btqXObcML7s/pcztX0JrQV37xkGeeO1mZ0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/AHxAT/btqXObcML7s/pcztX0JrQV37xkGeeO1mZ0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FAHxAT%2FbtqXObcML7s%2FpcztX0JrQV37xkGeeO1mZ0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;415&quot; height=&quot;398&quot; data-origin-width=&quot;415&quot; data-origin-height=&quot;398&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;div data-ke-type=&quot;moreLess&quot; data-text-more=&quot;더보기&quot; data-text-less=&quot;닫기&quot;&gt;&lt;a class=&quot;btn-toggle-moreless&quot;&gt;더보기&lt;/a&gt;
&lt;div class=&quot;moreless-content&quot;&gt;
&lt;pre id=&quot;code_1613660190266&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html&amp;gt;
  &amp;lt;head&amp;gt;
    &amp;lt;meta charset=&quot;utf-8&quot; /&amp;gt;
    &amp;lt;style&amp;gt;
      ul &amp;gt; li {
        font-size: 20px;
        font-weight: bold;
        color: orange;
      }
      li:hover {
        color: blue;
      }
      div {
        width: 500px;
        background-color: palegoldenrod;
        margin: 100px 0 0 50px;
      }
    &amp;lt;/style&amp;gt;
  &amp;lt;/head&amp;gt;
  &amp;lt;body&amp;gt;
    &amp;lt;ul&amp;gt;
      &amp;lt;li&amp;gt;menu1&amp;lt;/li&amp;gt;
      &amp;lt;li&amp;gt;menu2&amp;lt;/li&amp;gt;
      &amp;lt;li&amp;gt;menu3&amp;lt;/li&amp;gt;
      &amp;lt;li&amp;gt;menu4&amp;lt;/li&amp;gt;
      &amp;lt;li&amp;gt;menu5&amp;lt;/li&amp;gt;
    &amp;lt;/ul&amp;gt;
    &amp;lt;div&amp;gt;
      &amp;lt;ol&amp;gt;
        &amp;lt;li&amp;gt;menu1&amp;lt;/li&amp;gt;
        &amp;lt;li&amp;gt;menu2&amp;lt;/li&amp;gt;
        &amp;lt;li&amp;gt;menu3&amp;lt;/li&amp;gt;
        &amp;lt;li&amp;gt;menu4&amp;lt;/li&amp;gt;
        &amp;lt;li&amp;gt;menu5&amp;lt;/li&amp;gt;
      &amp;lt;/ol&amp;gt;
    &amp;lt;/div&amp;gt;
  &amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;script async src=&quot;https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-7296898462473854&quot;
     crossorigin=&quot;anonymous&quot;&gt;&lt;/script&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;margin: 상하좌우 여백&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;e.g: margin 30px =&amp;gt;상하좌우 30px씩 준다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;margin&lt;/span&gt;&lt;span&gt;:&amp;nbsp;&lt;/span&gt;&lt;span&gt;100px&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;0&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;0&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;50px=&amp;gt;위에서 100px, 왼쪽으로 50px&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;margin: 0 auto =&amp;gt; 위아래 0 왼쪽오른쪽 auto 균등 분배&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthContent&quot; data-origin-width=&quot;789&quot; data-origin-height=&quot;342&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bPN1IT/btqXObcMTKx/DuYlAoPMyiccAqkQrI6nrK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bPN1IT/btqXObcMTKx/DuYlAoPMyiccAqkQrI6nrK/img.png&quot; data-alt=&quot;margin: 0 auto의 예&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bPN1IT/btqXObcMTKx/DuYlAoPMyiccAqkQrI6nrK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbPN1IT%2FbtqXObcMTKx%2FDuYlAoPMyiccAqkQrI6nrK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;789&quot; height=&quot;342&quot; data-origin-width=&quot;789&quot; data-origin-height=&quot;342&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;margin: 0 auto의 예&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;상태 선택자&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;상태에 따라서 CSS속성이 변하는 설정을 할 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;enable, disable, focus 등 상태에 따라 속성을 줄 수 있다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/5PaW1/btqXLe829VZ/Qmo2YFSZMTvvoFCwOmZhk0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/5PaW1/btqXLe829VZ/Qmo2YFSZMTvvoFCwOmZhk0/img.png&quot; data-origin-width=&quot;426&quot; data-origin-height=&quot;184&quot; style=&quot;width: 53.8898%; margin-right: 10px;&quot; data-is-animation=&quot;false&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/5PaW1/btqXLe829VZ/Qmo2YFSZMTvvoFCwOmZhk0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F5PaW1%2FbtqXLe829VZ%2FQmo2YFSZMTvvoFCwOmZhk0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;426&quot; height=&quot;184&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cyMGQ5/btqXQ5KctOw/sKEpEWBLj016rGDxhQro61/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cyMGQ5/btqXQ5KctOw/sKEpEWBLj016rGDxhQro61/img.png&quot; data-origin-width=&quot;392&quot; data-origin-height=&quot;203&quot; style=&quot;width: 44.9474%;&quot; data-is-animation=&quot;false&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cyMGQ5/btqXQ5KctOw/sKEpEWBLj016rGDxhQro61/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcyMGQ5%2FbtqXQ5KctOw%2FsKEpEWBLj016rGDxhQro61%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;392&quot; height=&quot;203&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;div data-ke-type=&quot;moreLess&quot; data-text-more=&quot;더보기&quot; data-text-less=&quot;닫기&quot;&gt;&lt;a class=&quot;btn-toggle-moreless&quot;&gt;더보기&lt;/a&gt;
&lt;div class=&quot;moreless-content&quot;&gt;
&lt;pre id=&quot;code_1613661520920&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html&amp;gt;
  &amp;lt;head&amp;gt;
    &amp;lt;meta charset=&quot;utf-8&quot; /&amp;gt;
    &amp;lt;style&amp;gt;
      input:focus {
        border: 20px solid rebeccapurple;
        padding: 20px;
      }
      input:enabled {
        color: salmon;
        font-weight: bold;
      }
      input:disabled {
        color: rgb(252, 214, 0);
      }
    &amp;lt;/style&amp;gt;
  &amp;lt;/head&amp;gt;
  &amp;lt;body&amp;gt;
    &amp;lt;div&amp;gt;
      &amp;lt;form&amp;gt;
        이름: &amp;lt;input type=&quot;text&quot; name=&quot;uname&quot; /&amp;gt;&amp;lt;br /&amp;gt;
        아이디: &amp;lt;input type=&quot;text&quot; name=&quot;uid&quot; /&amp;gt;&amp;lt;br /&amp;gt;
        비밀번호:
        &amp;lt;input
          type=&quot;password&quot;
          name=&quot;upw&quot;
          value=&quot;12345&quot;
          disabled=&quot;disabled&quot;
        /&amp;gt;&amp;lt;br /&amp;gt;
      &amp;lt;/form&amp;gt;
    &amp;lt;/div&amp;gt;
  &amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;html부분&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;disable =&amp;gt;상태변경 불가&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;css부분&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;enable=&amp;gt;변경 가능할 경우 속성&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;disalbe=&amp;gt;변경 불가능할 경우 속성&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;focus=&amp;gt;마우스 클릭(focus)일 경우 속성(양식의 입력칸일 때)&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;구조 선택자&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;구조에 따라서 CSS속성이 변하는 설정을 할 수 있다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;맨 위, 맨 아래는 어떻게 해라, 짝수 구조는 어떻게 해라 등등을 할 때 쓰임&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;script async src=&quot;https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-7296898462473854&quot;
     crossorigin=&quot;anonymous&quot;&gt;&lt;/script&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthContent&quot; data-origin-width=&quot;400&quot; data-origin-height=&quot;443&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bcMufR/btqXJVhLEbN/oj0rYOXgVVeL4DWvy8xrR1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bcMufR/btqXJVhLEbN/oj0rYOXgVVeL4DWvy8xrR1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bcMufR/btqXJVhLEbN/oj0rYOXgVVeL4DWvy8xrR1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbcMufR%2FbtqXJVhLEbN%2Foj0rYOXgVVeL4DWvy8xrR1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;400&quot; height=&quot;443&quot; data-origin-width=&quot;400&quot; data-origin-height=&quot;443&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;div data-ke-type=&quot;moreLess&quot; data-text-more=&quot;더보기&quot; data-text-less=&quot;닫기&quot;&gt;&lt;a class=&quot;btn-toggle-moreless&quot;&gt;더보기&lt;/a&gt;
&lt;div class=&quot;moreless-content&quot;&gt;
&lt;pre id=&quot;code_1613663462149&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html&amp;gt;
  &amp;lt;head&amp;gt;
    &amp;lt;meta charset=&quot;utf-8&quot; /&amp;gt;
    &amp;lt;style&amp;gt;
      #content {
        width: 300px;
      }
      ul li {
        list-style: none;
        border: 1px solid;
        padding: 10px;
        background-color: #fffdfd;
        font-weight: bold;
        font-size: 20px;
      }
      ul li a {
        color: #000000;
      }
      ul li:nth-child(2n + 1) {
        background-color: #f8a7a7;
      }
      ul li:first-child,
      ul li:last-child {
        background-color: yellow;
      }
      ul li:first-child {
        border-radius: 10px 10px 0 0;
      }
      ul li:last-child {
        border-radius: 0 0 10px 10px;
      }
    &amp;lt;/style&amp;gt;
  &amp;lt;/head&amp;gt;
  &amp;lt;body&amp;gt;
    &amp;lt;div id=&quot;content&quot;&amp;gt;
      &amp;lt;ul&amp;gt;
        &amp;lt;li&amp;gt;&amp;lt;a href=&quot;#&quot;&amp;gt;menu1&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
        &amp;lt;li&amp;gt;&amp;lt;a href=&quot;#&quot;&amp;gt;menu2&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
        &amp;lt;li&amp;gt;&amp;lt;a href=&quot;#&quot;&amp;gt;menu3&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
        &amp;lt;li&amp;gt;&amp;lt;a href=&quot;#&quot;&amp;gt;menu4&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
        &amp;lt;li&amp;gt;&amp;lt;a href=&quot;#&quot;&amp;gt;menu5&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
        &amp;lt;li&amp;gt;&amp;lt;a href=&quot;#&quot;&amp;gt;menu6&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
        &amp;lt;li&amp;gt;&amp;lt;a href=&quot;#&quot;&amp;gt;menu7&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
        &amp;lt;li&amp;gt;&amp;lt;a href=&quot;#&quot;&amp;gt;menu8&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
      &amp;lt;/ul&amp;gt;
    &amp;lt;/div&amp;gt;
  &amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;list style=&amp;gt;앞에 글머리표 지정, none일 경우 빠짐&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;자세한 내용: &amp;darr;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;http://webberstudy.com/html-css/css-1/list-style/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;webberstudy.com/html-css/css-1/list-style/&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1613662426459&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-og-type=&quot;article&quot; data-og-title=&quot;list-style (리스트 스타일)&quot; data-og-description=&quot;HTML 태그 중 ol, ul, li 요소에 스타일을 줄 수 있는 CSS 속성인 list-style 속성을 살펴 봅니다.&quot; data-og-host=&quot;webberstudy.com&quot; data-og-source-url=&quot;http://webberstudy.com/html-css/css-1/list-style/&quot; data-og-url=&quot;http://webberstudy.com/html-css/css-1/list-style/&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/q5Z7Z/hyJjScQEMR/c9iTJSxYuqJ33gAC9TBP40/img.png?width=525&amp;amp;height=558&amp;amp;face=0_0_525_558,https://scrap.kakaocdn.net/dn/ouBoG/hyJjUV1vnb/cl3r1KU0N5flDPYYoHqJQ0/img.png?width=525&amp;amp;height=558&amp;amp;face=0_0_525_558&quot;&gt;&lt;a href=&quot;http://webberstudy.com/html-css/css-1/list-style/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;http://webberstudy.com/html-css/css-1/list-style/&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/q5Z7Z/hyJjScQEMR/c9iTJSxYuqJ33gAC9TBP40/img.png?width=525&amp;amp;height=558&amp;amp;face=0_0_525_558,https://scrap.kakaocdn.net/dn/ouBoG/hyJjUV1vnb/cl3r1KU0N5flDPYYoHqJQ0/img.png?width=525&amp;amp;height=558&amp;amp;face=0_0_525_558');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;list-style (리스트 스타일)&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;HTML 태그 중 ol, ul, li 요소에 스타일을 줄 수 있는 CSS 속성인 list-style 속성을 살펴 봅니다.&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;webberstudy.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;nth-child(2n+1)=&amp;gt; 2n+1번째 태그 선택, 즉 홀수번째&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;first-child=&amp;gt;맨 위&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;last-child=&amp;gt;맨 아래&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;border-radius=&amp;gt;바깥쪽 둥글게 (좌상단 우상단 우하단 좌하단)&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;전체적인 레이아웃 설정&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthContent&quot; data-origin-width=&quot;1043&quot; data-origin-height=&quot;635&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/2Orsq/btqXKvcau7s/cqSBnyP14y4JImO4EfgTa0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/2Orsq/btqXKvcau7s/cqSBnyP14y4JImO4EfgTa0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/2Orsq/btqXKvcau7s/cqSBnyP14y4JImO4EfgTa0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F2Orsq%2FbtqXKvcau7s%2FcqSBnyP14y4JImO4EfgTa0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1043&quot; height=&quot;635&quot; data-origin-width=&quot;1043&quot; data-origin-height=&quot;635&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;div data-ke-type=&quot;moreLess&quot; data-text-more=&quot;더보기&quot; data-text-less=&quot;닫기&quot;&gt;&lt;a class=&quot;btn-toggle-moreless&quot;&gt;더보기&lt;/a&gt;
&lt;div class=&quot;moreless-content&quot;&gt;
&lt;pre id=&quot;code_1613666084452&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html&amp;gt;
  &amp;lt;head&amp;gt;
    &amp;lt;meta charset=&quot;utf-8&quot; /&amp;gt;
    &amp;lt;style&amp;gt;
      #header,
      #content,
      #footer {
        width: 2000px;
        margin: 0 auto;
        overflow: scroll;
      }
      #header .left_space,
      #content .left_space,
      #footer .left_space {
        width: 150px;
        height: 150px;
        float: left;
        background-color: #f3f3f3;
        border: 1px solid #cccccc;
      }
      #header .center_space,
      #content .center_space,
      #footer .center_space {
        width: 700px;
        height: 150px;
        float: left;
        background-color: #f3f3f3;
        border: 1px solid #cccccc;
      }
      #header .right_space,
      #content .right_space,
      #footer .right_space {
        width: 150px;
        height: 150px;
        float: left;
        background-color: #f3f3f3;
        border: 1px solid #cccccc;
      }
      #header .left_space,
      #footer .right_space {
        border-radius: 20px 0 20px 0;
      }
      #header .right_space,
      #footer .left_space {
        border-radius: 0px 20px 0px 20px;
      }
      #header .center_space {
        border-radius: 0 0 20px 20px;
      }
      #header .right_space {
        border-radius: 0 20px 0 20px;
      }
      #content .left_space {
        border-radius: 0 20px 20px 0;
        height: 300px;
      }
      #content .center_space {
        border-radius: 20px 20px 20px 20px;
        height: 300px;
      }
      #content .right_space {
        border-radius: 20px 0 0 20px;
        height: 300px;
      }
      #footer .center_space {
        border-radius: 20px 20px 0 0;
      }
      #content .center_space ul li {
        list-style: none;
        float: left;
        padding: 0 40px;
        font-weight: bold;
        font-size: 20px;
      }
      #content .hehe {
        clear: both;
        padding: 10px;
      }
    &amp;lt;/style&amp;gt;
  &amp;lt;/head&amp;gt;
  &amp;lt;body&amp;gt;
    &amp;lt;div id=&quot;header&quot;&amp;gt;
      &amp;lt;div class=&quot;left_space&quot;&amp;gt;&amp;lt;/div&amp;gt;
      &amp;lt;div class=&quot;center_space&quot;&amp;gt;&amp;lt;/div&amp;gt;
      &amp;lt;div class=&quot;right_space&quot;&amp;gt;&amp;lt;/div&amp;gt;
    &amp;lt;/div&amp;gt;
    &amp;lt;div id=&quot;content&quot;&amp;gt;
      &amp;lt;div class=&quot;left_space&quot;&amp;gt;&amp;lt;/div&amp;gt;
      &amp;lt;div class=&quot;center_space&quot;&amp;gt;
        &amp;lt;div&amp;gt;
          &amp;lt;ul&amp;gt;
            &amp;lt;li&amp;gt;menu1&amp;lt;/li&amp;gt;
            &amp;lt;li&amp;gt;menu2&amp;lt;/li&amp;gt;
            &amp;lt;li&amp;gt;menu3&amp;lt;/li&amp;gt;
            &amp;lt;li&amp;gt;menu4&amp;lt;/li&amp;gt;
          &amp;lt;/ul&amp;gt;
        &amp;lt;/div&amp;gt;
        &amp;lt;div class=&quot;hehe&quot;&amp;gt;
          &amp;lt;h1&amp;gt;헤헤헤&amp;lt;/h1&amp;gt;
          &amp;lt;p&amp;gt;가나다라마바사아자차카타파하&amp;lt;/p&amp;gt;
        &amp;lt;/div&amp;gt;
      &amp;lt;/div&amp;gt;
      &amp;lt;div class=&quot;right_space&quot;&amp;gt;&amp;lt;/div&amp;gt;
    &amp;lt;/div&amp;gt;
    &amp;lt;div id=&quot;footer&quot;&amp;gt;
      &amp;lt;div class=&quot;left_space&quot;&amp;gt;&amp;lt;/div&amp;gt;
      &amp;lt;div class=&quot;center_space&quot;&amp;gt;&amp;lt;/div&amp;gt;
      &amp;lt;div class=&quot;right_space&quot;&amp;gt;&amp;lt;/div&amp;gt;
    &amp;lt;/div&amp;gt;
  &amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;차근차근보면 별로 어렵지 않습니다&lt;/p&gt;</description>
      <category>Web/css</category>
      <author>화이트 하비</author>
      <guid isPermaLink="true">https://hobby519.tistory.com/13</guid>
      <comments>https://hobby519.tistory.com/13#entry13comment</comments>
      <pubDate>Fri, 19 Feb 2021 01:36:04 +0900</pubDate>
    </item>
    <item>
      <title>CSS-(2)</title>
      <link>https://hobby519.tistory.com/12</link>
      <description>&lt;h2 data-ke-size=&quot;size26&quot;&gt;id(#)와 class(.)&lt;/h2&gt;
&lt;p&gt;태그의 id와 class 를 이용하여 css에서 속성을 설정 할 수 있다&lt;/p&gt;
&lt;p&gt;id를 이용할 때는 #&lt;/p&gt;
&lt;p&gt;class를 이용할 때는 .&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bjsozk/btqWX54ujSd/lSVpZXkrkvNGsWkFebqB40/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bjsozk/btqWX54ujSd/lSVpZXkrkvNGsWkFebqB40/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bjsozk/btqWX54ujSd/lSVpZXkrkvNGsWkFebqB40/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbjsozk%2FbtqWX54ujSd%2FlSVpZXkrkvNGsWkFebqB40%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;div data-ke-type=&quot;moreLess&quot; data-text-more=&quot;더보기&quot; data-text-less=&quot;닫기&quot;&gt;&lt;a class=&quot;btn-toggle-moreless&quot;&gt;더보기&lt;/a&gt;
&lt;div class=&quot;moreless-content&quot;&gt;
&lt;pre id=&quot;code_1612962917288&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html&amp;gt;
  &amp;lt;head&amp;gt;
    &amp;lt;meta charset=&quot;utf-8&quot; /&amp;gt;
    &amp;lt;style&amp;gt;
      #header {
        width: 500px;
        background-color: #ffcc00;
        border: 1px solid #000000;
        text-align: center;
      }
      #wrap {
        width: 500px;
        background-color: #00ffdd;
        border: 2px solid #ea00ff;
        text-align: center;
        overflow: hidden;
      }
      #content {
        width: 350px;
        background-color: #ffcc00;
        border: 2px solid #000000;
        float: left;
      }
      #side_banner {
        background-color: #ffcc00;
        border: 2px solid #000000;
        float: left;
      }
      #footer {
        clear: both;
        width: 500px;
        background-color: #ff0080;
        border: 1px solid #66fa03;
        text-align: center;
      }
      .menu1 {
        color: #aaaaaa;
        font-weight: bold;
      }
      .menu1,
      .menu3,
      .menu5 {
        font-size: 20px;
      }
    &amp;lt;/style&amp;gt;
  &amp;lt;/head&amp;gt;
  &amp;lt;body&amp;gt;
    &amp;lt;div id=&quot;header&quot;&amp;gt;
      &amp;lt;h1&amp;gt;HEADER&amp;lt;/h1&amp;gt;
    &amp;lt;/div&amp;gt;

    &amp;lt;div id=&quot;wrap&quot;&amp;gt;
      &amp;lt;div id=&quot;content&quot;&amp;gt;
        &amp;lt;h1&amp;gt;CONTENT&amp;lt;/h1&amp;gt;
        &amp;lt;ul&amp;gt;
          &amp;lt;li class=&quot;menu1&quot;&amp;gt;menu1&amp;lt;/li&amp;gt;
          &amp;lt;li class=&quot;menu2&quot;&amp;gt;menu2&amp;lt;/li&amp;gt;
          &amp;lt;li class=&quot;menu3&quot;&amp;gt;menu3&amp;lt;/li&amp;gt;
          &amp;lt;li class=&quot;menu4&quot;&amp;gt;menu4&amp;lt;/li&amp;gt;
          &amp;lt;li class=&quot;menu5&quot;&amp;gt;menu5&amp;lt;/li&amp;gt;
        &amp;lt;/ul&amp;gt;
      &amp;lt;/div&amp;gt;
      &amp;lt;div id=&quot;side_banner&quot;&amp;gt;
        &amp;lt;h1&amp;gt;BANNER&amp;lt;/h1&amp;gt;
        &amp;lt;a href=&quot;https://www.naver.com/&quot;
          &amp;gt;&amp;lt;img
            width=&quot;100px&quot;
            src=&quot;https://search.pstatic.net/common/?src=http%3A%2F%2Fblogfiles.naver.net%2FMjAyMDEwMjRfMTU3%2FMDAxNjAzNDgyNTU0Mjg0.-Rc206zme2K6XKWJjosmHucpqDj8sqNvzhZeAVCwb08g.gFvmgVX1_N2-7SXYkzzhwDGxNoRzsRmHdGmPRFuMCW8g.GIF.boccabe%2Fnaver.gif&amp;amp;type=a340&quot;
            alt=&quot;naver&quot;
        /&amp;gt;&amp;lt;/a&amp;gt;
      &amp;lt;/div&amp;gt;
    &amp;lt;/div&amp;gt;
    &amp;lt;div id=&quot;footer&quot;&amp;gt;
      &amp;lt;h1&amp;gt;FOOTER&amp;lt;/h1&amp;gt;
    &amp;lt;/div&amp;gt;
  &amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;float를 할 때 overflow에 hidden을 해줘야한다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;text-align: 텍스트 정렬 방향&lt;/p&gt;
&lt;p&gt;-left: 왼쪽 정렬&lt;/p&gt;
&lt;p&gt;-center: 중앙 정렬&lt;/p&gt;
&lt;p&gt;-right: 오른쪽 정렬&lt;/p&gt;
&lt;p&gt;-justify: 양쪽 정렬(자동 줄바꿈시 오른쪽 경계선 부분 정리)&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;overflow: 요소의 콘텐츠가 너무 커서 요소의 블록 서식 맥락에 맞출 수 없을 때의 처리법&lt;/p&gt;
&lt;p&gt;-visible: 넘친부분까지 보이기&lt;/p&gt;
&lt;p&gt;-hidden: 넘친부분 숨기기&lt;/p&gt;
&lt;p&gt;-scroll: 스크롤 형식&lt;/p&gt;
&lt;p&gt;-auto: 사용자 에이전트가 결정&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://developer.mozilla.org/ko/docs/Web/CSS/overflow&quot;&gt;https://developer.mozilla.org/ko/docs/Web/CSS/overflow&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1612958731925&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-og-type=&quot;website&quot; data-og-title=&quot;overflow - CSS: Cascading Style Sheets | MDN&quot; data-og-description=&quot;overflow CSS 단축 속성은 요소의 콘텐츠가 너무 커서 요소의 블록 서식 맥락에 맞출 수 없을 때의 처리법을 지정합니다. overflow-x, overflow-y의 값을 설정합니다. The source for this interactive example is stored &quot; data-og-host=&quot;developer.mozilla.org&quot; data-og-source-url=&quot;https://developer.mozilla.org/ko/docs/Web/CSS/overflow&quot; data-og-url=&quot;https://developer.mozilla.org/ko/docs/Web/CSS/overflow&quot; data-og-image=&quot;&quot;&gt;&lt;a href=&quot;https://developer.mozilla.org/ko/docs/Web/CSS/overflow&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://developer.mozilla.org/ko/docs/Web/CSS/overflow&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url();&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot;&gt;overflow - CSS: Cascading Style Sheets | MDN&lt;/p&gt;
&lt;p class=&quot;og-desc&quot;&gt;overflow CSS 단축 속성은 요소의 콘텐츠가 너무 커서 요소의 블록 서식 맥락에 맞출 수 없을 때의 처리법을 지정합니다. overflow-x, overflow-y의 값을 설정합니다. The source for this interactive example is stored&lt;/p&gt;
&lt;p class=&quot;og-host&quot;&gt;developer.mozilla.org&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p&gt;float: 한 요소(element)가 보통 흐름(normal flow)으로부터 빠져 텍스트 및 인라인(inline) 요소가 그 주위를 감싸는 자기 컨테이너 좌우측을 따라 배치되어야 함을 지정함, 한마디로 주위에 감싸는 걸 하는가 안하는가를 의미, 둥둥 떠 움직이는 것&lt;/p&gt;
&lt;p&gt;-none: 요소가 부동하지 않아야함, 주위 둘러싸지 않음&lt;/p&gt;
&lt;p&gt;-left: 요소가 자신의 포함(containing) 블록의 좌측에 부동(float, 떠움직여)해야 함을 나타냄&lt;/p&gt;
&lt;p&gt;-right: 요소가 자신의 포함 블록의 우측에 부동해야 함을 나타냄&lt;/p&gt;
&lt;p&gt;-inline-start: 요소가 자신의 포함 블록의 시작쪽에 부동해야 함을 나타냄&lt;/p&gt;
&lt;p&gt;-inline-end: 요소가 자신의 포함 블록의 끝쪽에 부동해야 함을 나타냄. 즉 Itr 스크립트 상에서 오른쪽 그리고 rtl 스크립트 상에서는 왼쪽&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://developer.mozilla.org/ko/docs/Web/CSS/float&quot;&gt;https://developer.mozilla.org/ko/docs/Web/CSS/float&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1612959352260&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-og-type=&quot;website&quot; data-og-title=&quot;float - CSS: Cascading Style Sheets | MDN&quot; data-og-description=&quot;CSS 속성(property)&amp;nbsp;float 은 한 요소(element)가 보통 흐름(normal flow)으로부터 빠져 텍스트 및 인라인(inline) 요소가 그 주위를 감싸는 자기 컨테이너의 좌우측을 따라 배치되어야 함을 지정합니다. The so&quot; data-og-host=&quot;developer.mozilla.org&quot; data-og-source-url=&quot;https://developer.mozilla.org/ko/docs/Web/CSS/float&quot; data-og-url=&quot;https://developer.mozilla.org/ko/docs/Web/CSS/float&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/v17FM/hyJeHuO13I/3NxYvOco38cGsnMaFZFxqk/img.png?width=729&amp;amp;height=248&amp;amp;face=0_0_729_248&quot;&gt;&lt;a href=&quot;https://developer.mozilla.org/ko/docs/Web/CSS/float&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://developer.mozilla.org/ko/docs/Web/CSS/float&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/v17FM/hyJeHuO13I/3NxYvOco38cGsnMaFZFxqk/img.png?width=729&amp;amp;height=248&amp;amp;face=0_0_729_248');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot;&gt;float - CSS: Cascading Style Sheets | MDN&lt;/p&gt;
&lt;p class=&quot;og-desc&quot;&gt;CSS 속성(property)&amp;nbsp;float 은 한 요소(element)가 보통 흐름(normal flow)으로부터 빠져 텍스트 및 인라인(inline) 요소가 그 주위를 감싸는 자기 컨테이너의 좌우측을 따라 배치되어야 함을 지정합니다. The so&lt;/p&gt;
&lt;p class=&quot;og-host&quot;&gt;developer.mozilla.org&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p&gt;clear: 요소가 선행 부동(floating) 요소 다음일 수 있는지 또는 그 아래로 내려가(해제되어(cleared))야 하는지를 지정&lt;/p&gt;
&lt;p&gt;-none: 요소가 지난 부동 요소를 해제하기 위해 아래로 이동되지 않음을 나타내는 키워드&lt;/p&gt;
&lt;p&gt;-left: 요소가 지난 left 부동체를 해제하기 위해 아래로 이동됨을 나타내는 키워드&lt;/p&gt;
&lt;p&gt;-right: 요&lt;span style=&quot;color: #333333;&quot;&gt;소가 지난 right 부동체를 해제하기 위해 아래로 이동됨을 나타내는 키워드&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;-both: 요소가 지난 both left 및 right 부동체를 해제하기 위해 아래로 이동됨을 나타내느 키워드&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://developer.mozilla.org/ko/docs/Web/CSS/clear&quot;&gt;https://developer.mozilla.org/ko/docs/Web/CSS/clear&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1612959577165&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-og-type=&quot;website&quot; data-og-title=&quot;clear - CSS: Cascading Style Sheets | MDN&quot; data-og-description=&quot;clear CSS 속성은 요소가 선행 부동(floating) 요소 다음일 수 있는지 또는 그 아래로 내려가(해제되어(cleared))야 하는 지를 지정합니다. clear 속성은 부동 및 비부동 요소 모두에 적용됩니다. The source f&quot; data-og-host=&quot;developer.mozilla.org&quot; data-og-source-url=&quot;https://developer.mozilla.org/ko/docs/Web/CSS/clear&quot; data-og-url=&quot;https://developer.mozilla.org/ko/docs/Web/CSS/clear&quot; data-og-image=&quot;&quot;&gt;&lt;a href=&quot;https://developer.mozilla.org/ko/docs/Web/CSS/clear&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://developer.mozilla.org/ko/docs/Web/CSS/clear&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url();&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot;&gt;clear - CSS: Cascading Style Sheets | MDN&lt;/p&gt;
&lt;p class=&quot;og-desc&quot;&gt;clear CSS 속성은 요소가 선행 부동(floating) 요소 다음일 수 있는지 또는 그 아래로 내려가(해제되어(cleared))야 하는 지를 지정합니다. clear 속성은 부동 및 비부동 요소 모두에 적용됩니다. The source f&lt;/p&gt;
&lt;p class=&quot;og-host&quot;&gt;developer.mozilla.org&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;tag, id, class 혼합&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cxzfLE/btqWX4SKVWC/pPqzdVR9JySfjB6q7EWIOk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cxzfLE/btqWX4SKVWC/pPqzdVR9JySfjB6q7EWIOk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cxzfLE/btqWX4SKVWC/pPqzdVR9JySfjB6q7EWIOk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcxzfLE%2FbtqWX4SKVWC%2FpPqzdVR9JySfjB6q7EWIOk%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;div data-ke-type=&quot;moreLess&quot; data-text-more=&quot;더보기&quot; data-text-less=&quot;닫기&quot;&gt;&lt;a class=&quot;btn-toggle-moreless&quot;&gt;더보기&lt;/a&gt;
&lt;div class=&quot;moreless-content&quot;&gt;
&lt;pre id=&quot;code_1613108799758&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html&amp;gt;
  &amp;lt;head&amp;gt;
    &amp;lt;meta charset=&quot;utf-8&quot; /&amp;gt;
    &amp;lt;style&amp;gt;
      ul li.menu1 {
        color: #aaff00;
      }
      .menu2 {
        color: #00ffd5;
        font-weight: bold;
        font-size: 20px;
      }
      #menu {
        color: #eb0000;
      }
      #header {
        background-color: aqua;
        text-align: center;
        border: 2px solid #000000;
      }
      #wrap {
        background-color: #ffee00;
        border: 2px solid #000000;
        overflow: scroll;
      }
      #content1 {
        border: 1px;
        width: 250px;
        float: left;
      }
      #content2 {
        border: 1px;
        width: 250px;
        float: left;
      }
      #footer {
        background-color: aqua;
        clear: both;
        border: 2px solid #000000;
      }
      * {
        width: 500px;
      }
    &amp;lt;/style&amp;gt;
  &amp;lt;/head&amp;gt;
  &amp;lt;body&amp;gt;
    &amp;lt;div id=&quot;header&quot;&amp;gt;
      &amp;lt;h1&amp;gt;header&amp;lt;/h1&amp;gt;
    &amp;lt;/div&amp;gt;

    &amp;lt;div id=&quot;wrap&quot;&amp;gt;
      &amp;lt;div id=&quot;content1&quot;&amp;gt;
        &amp;lt;ul&amp;gt;
          &amp;lt;li id=&quot;menu&quot;&amp;gt;menu&amp;lt;/li&amp;gt;
          &amp;lt;li class=&quot;menu1&quot;&amp;gt;menu&amp;lt;/li&amp;gt;
          &amp;lt;li class=&quot;menu2&quot;&amp;gt;menu&amp;lt;/li&amp;gt;
          &amp;lt;li class=&quot;menu1&quot;&amp;gt;menu&amp;lt;/li&amp;gt;
          &amp;lt;li class=&quot;menu2&quot;&amp;gt;menu&amp;lt;/li&amp;gt;
        &amp;lt;/ul&amp;gt;
      &amp;lt;/div&amp;gt;

      &amp;lt;div id=&quot;content2&quot;&amp;gt;
        &amp;lt;ol&amp;gt;
          &amp;lt;li class=&quot;menu1&quot;&amp;gt;menu&amp;lt;/li&amp;gt;
          &amp;lt;li class=&quot;menu2&quot;&amp;gt;menu&amp;lt;/li&amp;gt;
          &amp;lt;li class=&quot;menu1&quot;&amp;gt;menu&amp;lt;/li&amp;gt;
          &amp;lt;li class=&quot;menu2&quot;&amp;gt;menu&amp;lt;/li&amp;gt;
          &amp;lt;li class=&quot;menu1&quot;&amp;gt;menu&amp;lt;/li&amp;gt;
        &amp;lt;/ol&amp;gt;
      &amp;lt;/div&amp;gt;
    &amp;lt;/div&amp;gt;

    &amp;lt;div id=&quot;footer&quot;&amp;gt;
      &amp;lt;h1&amp;gt;footer&amp;lt;/h1&amp;gt;
    &amp;lt;/div&amp;gt;
  &amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;ul li .menu =&amp;gt;ul태그 안에 li태그 안에 menu를 선택&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;속성 선택자&lt;/h2&gt;
&lt;p&gt;tag의 속성을 선택하여 CSS의 속성을 설정 할 수 있다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cdQDSy/btqWWsNkAtk/R9kwggGOshyjvOcNicH8t1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cdQDSy/btqWWsNkAtk/R9kwggGOshyjvOcNicH8t1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cdQDSy/btqWWsNkAtk/R9kwggGOshyjvOcNicH8t1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcdQDSy%2FbtqWWsNkAtk%2FR9kwggGOshyjvOcNicH8t1%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;div data-ke-type=&quot;moreLess&quot; data-text-more=&quot;더보기&quot; data-text-less=&quot;닫기&quot;&gt;&lt;a class=&quot;btn-toggle-moreless&quot;&gt;더보기&lt;/a&gt;
&lt;div class=&quot;moreless-content&quot;&gt;
&lt;pre id=&quot;code_1613109903837&quot; class=&quot;html xml&quot; style=&quot;display: block; overflow: auto; padding: 15px; color: #383a42; background: #f6f7f8; font-size: 14px; border-radius: 3px; font-family: Menlo, Consolas, Monaco, monospace; border: 1px solid #dddddd; margin: 20px auto 0px; cursor: default; z-index: 1; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial;&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html&amp;gt;
  &amp;lt;head&amp;gt;
    &amp;lt;meta charset=&quot;utf-8&quot; /&amp;gt;
    &amp;lt;style&amp;gt;
      input {
        color: rgb(255, 140, 0);
        font-size: 30px;
        font-weight: bold;
      }
      input[type=&quot;text&quot;] {
        color: #ff0000;
        font-size: 50px;
        width: 200px;
      }
      input[type=&quot;tel&quot;] {
        color: blue;
      }
      img[src] {
        border: 5px solid green;
      }
    &amp;lt;/style&amp;gt;
  &amp;lt;/head&amp;gt;
  &amp;lt;body&amp;gt;
    &amp;lt;form&amp;gt;
      이름: &amp;lt;input type=&quot;text&quot; /&amp;gt;&amp;lt;br /&amp;gt;
      아이디: &amp;lt;input type=&quot;text&quot; /&amp;gt;&amp;lt;br /&amp;gt;
      비밀번호: &amp;lt;input type=&quot;password&quot; /&amp;gt;&amp;lt;br /&amp;gt;
      전화번호: &amp;lt;input type=&quot;tel&quot; /&amp;gt;&amp;lt;br /&amp;gt;
    &amp;lt;/form&amp;gt;
    &amp;lt;img
      src=&quot;https://search.pstatic.net/common/?src=http%3A%2F%2Fblogfiles.naver.net%2FMjAyMTAxMjFfMTkx%2FMDAxNjExMTU1MTYwNzY3.Ud-RGzNn46Vs9ftBU0gaXaH5vIFCHro8TA230qMMZX4g.st3kqQD_bzQo4WXblhUDNfKJI-fOdNCMpdL4rqrviXYg.PNG.djgkrrl1234%2Fimage.png&amp;amp;type=sc960_832&quot;
      alt=&quot;네이버&quot;
      width=&quot;100px&quot;
    /&amp;gt;
  &amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;[]를 이용해 속성 표시&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;후손 및 자손 선택자&lt;/h2&gt;
&lt;p&gt;tag의 속성을 선택하여 CSS의 속성을 설정 할 수 있다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;가족관계 식으로 할경우&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/xLwKh/btqW1sy3ZnT/0PBQWorsu4cAHEVGQKAp80/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/xLwKh/btqW1sy3ZnT/0PBQWorsu4cAHEVGQKAp80/img.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; width=&quot;320&quot; height=&quot;NaN&quot; style=&quot;width: 53.7034%; margin-right: 10px;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/xLwKh/btqW1sy3ZnT/0PBQWorsu4cAHEVGQKAp80/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FxLwKh%2FbtqW1sy3ZnT%2F0PBQWorsu4cAHEVGQKAp80%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;0&quot; height=&quot;0&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/WQobn/btqWULAawAN/sOmJ6XtwTkKgKwXKC0AdnK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/WQobn/btqWULAawAN/sOmJ6XtwTkKgKwXKC0AdnK/img.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; style=&quot;width: 45.1339%;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/WQobn/btqWULAawAN/sOmJ6XtwTkKgKwXKC0AdnK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FWQobn%2FbtqWULAawAN%2FsOmJ6XtwTkKgKwXKC0AdnK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;0&quot; height=&quot;0&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;자손 선택자: 바로 밑에 있는 태그 선택, &amp;gt;으로 구분&lt;/p&gt;
&lt;p&gt;후손 선택: 밑에 있는 모든 것 선택, 공백으로 구분&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dlq53t/btqXSnDuJyT/zIOXIYqypJCD9c0V0ForoK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dlq53t/btqXSnDuJyT/zIOXIYqypJCD9c0V0ForoK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dlq53t/btqXSnDuJyT/zIOXIYqypJCD9c0V0ForoK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fdlq53t%2FbtqXSnDuJyT%2FzIOXIYqypJCD9c0V0ForoK%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;div data-ke-type=&quot;moreLess&quot; data-text-more=&quot;더보기&quot; data-text-less=&quot;닫기&quot;&gt;&lt;a class=&quot;btn-toggle-moreless&quot;&gt;더보기&lt;/a&gt;
&lt;div class=&quot;moreless-content&quot;&gt;
&lt;pre id=&quot;code_1613654144297&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html&amp;gt;
  &amp;lt;head&amp;gt;
    &amp;lt;meta charset=&quot;utf-8&quot; /&amp;gt;
    &amp;lt;style&amp;gt;
      #header,
      #wrap {
        border: 1px solid rgb(255, 0, 0);
      }
      /*후손*/
      div li {
        background-color: rgb(215, 176, 253);
      }
      div p {
        font-size: 5px;
      }
      /*자손*/
      div &amp;gt; h1 {
        font-weight: bold;
        color: yellow;
      }
    &amp;lt;/style&amp;gt;
  &amp;lt;/head&amp;gt;
  &amp;lt;body&amp;gt;
    &amp;lt;div id=&quot;header&quot;&amp;gt;
      &amp;lt;div class=&quot;logo&quot;&amp;gt;
        &amp;lt;h1&amp;gt;LOGO&amp;lt;/h1&amp;gt;
        &amp;lt;!--여기부분이 div 자손이라 노란색으로 바뀐다--&amp;gt;
      &amp;lt;/div&amp;gt;
      &amp;lt;div class=&quot;copy&quot;&amp;gt;
        &amp;lt;h2&amp;gt;global company&amp;lt;/h2&amp;gt;
      &amp;lt;/div&amp;gt;
    &amp;lt;/div&amp;gt;

    &amp;lt;div id=&quot;wrap&quot;&amp;gt;
      &amp;lt;!--여기부분은 div 후손이라 글씨 사이즈가 5px로 바뀐다--&amp;gt;
      &amp;lt;p&amp;gt;제목&amp;lt;/p&amp;gt;
      &amp;lt;ul&amp;gt;
        &amp;lt;!--여기부분은 div 후손이라 글씨 사이즈가 5px로 바뀐다--&amp;gt;
        &amp;lt;li&amp;gt;&amp;lt;p&amp;gt;가가가&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;
        &amp;lt;!--여기부분은 div 후손이라 노란색으로 바뀌지 않는다--&amp;gt;
        &amp;lt;li&amp;gt;&amp;lt;h1&amp;gt;나나나&amp;lt;/h1&amp;gt;&amp;lt;/li&amp;gt;
        &amp;lt;!--여기부분은 div 후손이라 글씨 사이즈가 5px로 바뀐다--&amp;gt;
        &amp;lt;li&amp;gt;&amp;lt;p&amp;gt;다다다&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;
        &amp;lt;!--여기부분은 div 후손이라 노란색으로 바뀌지 않는다--&amp;gt;
        &amp;lt;li&amp;gt;&amp;lt;h1&amp;gt;라라라&amp;lt;/h1&amp;gt;&amp;lt;/li&amp;gt;
      &amp;lt;/ul&amp;gt;
    &amp;lt;/div&amp;gt;
  &amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;div li =&amp;gt; div 안에 li, 후손일 경우 공백으로 표시&lt;/p&gt;
&lt;p&gt;div&amp;gt;h1 =&amp;gt; div 안에 바로 h1을 선택&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;동위 선택자&lt;/h2&gt;
&lt;p&gt;태그의 동등한 위치를 판단하여 CSS속성을 설정 할 수 있다&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;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dfFKCc/btqXRvPpJM0/JkziBr3rdM23UPRgK7A5HK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dfFKCc/btqXRvPpJM0/JkziBr3rdM23UPRgK7A5HK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dfFKCc/btqXRvPpJM0/JkziBr3rdM23UPRgK7A5HK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdfFKCc%2FbtqXRvPpJM0%2FJkziBr3rdM23UPRgK7A5HK%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;div data-ke-type=&quot;moreLess&quot; data-text-more=&quot;더보기&quot; data-text-less=&quot;닫기&quot;&gt;&lt;a class=&quot;btn-toggle-moreless&quot;&gt;더보기&lt;/a&gt;
&lt;div class=&quot;moreless-content&quot;&gt;
&lt;pre id=&quot;code_1613659082498&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html&amp;gt;
  &amp;lt;head&amp;gt;
    &amp;lt;meta charset=&quot;utf-8&quot; /&amp;gt;
    &amp;lt;style&amp;gt;
      h3 ~ div {
        font-size: 10px;
        color: orange;
      }
      h3 + div {
        font-size: 20px;
        font-weight: bold;
        color: orchid;
      }
      #title ~ div {
        width: 300px;
        background-color: yellow;
      }
    &amp;lt;/style&amp;gt;
  &amp;lt;/head&amp;gt;
  &amp;lt;body&amp;gt;
    &amp;lt;h3 id=&quot;title&quot;&amp;gt;동위 선택자(+,~)&amp;lt;/h3&amp;gt;
    &amp;lt;!--h3+div에 의해 크기와 색깔이 바뀜--&amp;gt;
    &amp;lt;div&amp;gt;div_01&amp;lt;/div&amp;gt;
    &amp;lt;!--h3~div에 의해 크기와 색깔이 바뀜--&amp;gt;
    &amp;lt;div&amp;gt;div_02&amp;lt;/div&amp;gt;
    &amp;lt;div&amp;gt;div_03&amp;lt;/div&amp;gt;
    &amp;lt;div&amp;gt;div_04&amp;lt;/div&amp;gt;
    &amp;lt;div&amp;gt;div_05&amp;lt;/div&amp;gt;
  &amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Web/css</category>
      <author>화이트 하비</author>
      <guid isPermaLink="true">https://hobby519.tistory.com/12</guid>
      <comments>https://hobby519.tistory.com/12#entry12comment</comments>
      <pubDate>Thu, 18 Feb 2021 23:39:18 +0900</pubDate>
    </item>
    <item>
      <title>CSS-(1)</title>
      <link>https://hobby519.tistory.com/11</link>
      <description>&lt;p&gt;CSS: html문서의 레이아웃, 색깔 등을 변경, 설정할 때 쓰임&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;선택자&lt;/h2&gt;
&lt;p&gt;특정 태그를 선택하여, 해당 태그의 속성을 변경 하는 목적으로 사용됨=&amp;gt;CSS 사용 전체 이유&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;tag 선택자&lt;/h4&gt;
&lt;p&gt;tag를 선택하면 태그 선택자, 특정태그를 선택하여 CSS 속성을 적용할 수 있음&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1612440959083&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html lang=&quot;en&quot; xmlns=&quot;http://www.w3.org/1999/xhtml&quot;&amp;gt;
  &amp;lt;head&amp;gt;
    &amp;lt;meta charset=&quot;utf-8&quot; /&amp;gt;
    &amp;lt;style&amp;gt;
      div {
        background-color: #ffd800;
        border: 5px solid #afffff;
      }
    &amp;lt;/style&amp;gt;
  &amp;lt;/head&amp;gt;
  &amp;lt;body&amp;gt;
    &amp;lt;h1&amp;gt;제목 입니다.&amp;lt;/h1&amp;gt;
    &amp;lt;p&amp;gt;본문 입니다.&amp;lt;/p&amp;gt;

    &amp;lt;div&amp;gt;
      &amp;lt;h1&amp;gt;제목입니다.&amp;lt;/h1&amp;gt;
      &amp;lt;p&amp;gt;본문입니다.&amp;lt;/p&amp;gt;
    &amp;lt;/div&amp;gt;
  &amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/canDoX/btqVSvDvyiB/9HQtMFGeSXRwhFevGJSBrk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/canDoX/btqVSvDvyiB/9HQtMFGeSXRwhFevGJSBrk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/canDoX/btqVSvDvyiB/9HQtMFGeSXRwhFevGJSBrk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcanDoX%2FbtqVSvDvyiB%2F9HQtMFGeSXRwhFevGJSBrk%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;p&gt;head 태그에다가 &amp;lt;style&amp;gt;&amp;lt;/style&amp;gt;넣어서 css적용&lt;/p&gt;
&lt;p&gt;div{}: 선택자=&amp;gt;div를 선택함&lt;/p&gt;
&lt;p&gt;background-color: 배경색&lt;/p&gt;
&lt;p&gt;font-weight: 글씨 두께&lt;/p&gt;
&lt;p&gt;-bold: 두껍게&lt;/p&gt;
&lt;p&gt;border: 테두리&lt;/p&gt;
&lt;p&gt;-solid, dash red 등으로 선 종류와 색깔을 바꿀 수 있음&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;letter-spacing: 0px; background-color: #fafafa; caret-color: auto;&quot;&gt;자세한 내용을 보고 싶다면&amp;darr;&lt;/span&gt;&lt;/p&gt;
&lt;div data-ke-type=&quot;moreLess&quot; data-text-more=&quot;더보기&quot; data-text-less=&quot;닫기&quot;&gt;&lt;a class=&quot;btn-toggle-moreless&quot;&gt;더보기&lt;/a&gt;
&lt;div class=&quot;moreless-content&quot;&gt;
&lt;p&gt;&lt;span style=&quot;letter-spacing: 0px; background-color: #fafafa; caret-color: auto;&quot;&gt;&lt;a href=&quot;https://developer.mozilla.org/ko/docs/Web/CSS/border&quot;&gt;https://developer.mozilla.org/ko/docs/Web/CSS/border&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1612445619093&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-og-type=&quot;website&quot; data-og-title=&quot;border - CSS: Cascading Style Sheets | MDN&quot; data-og-description=&quot;border: solid; border: 2px dotted; border: outset #f33; border: medium dashed green; border: inherit; border: initial; border: unset; border 속성은 다음의 값 중 한 개에서 세 개를 선택해서 지정할 수 있습니다. 순서는 영향을 &quot; data-og-host=&quot;developer.mozilla.org&quot; data-og-source-url=&quot;https://developer.mozilla.org/ko/docs/Web/CSS/border&quot; data-og-url=&quot;https://developer.mozilla.org/ko/docs/Web/CSS/border&quot; data-og-image=&quot;&quot;&gt;&lt;a href=&quot;https://developer.mozilla.org/ko/docs/Web/CSS/border&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://developer.mozilla.org/ko/docs/Web/CSS/border&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url();&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot;&gt;border - CSS: Cascading Style Sheets | MDN&lt;/p&gt;
&lt;p class=&quot;og-desc&quot;&gt;border: solid; border: 2px dotted; border: outset #f33; border: medium dashed green; border: inherit; border: initial; border: unset; border 속성은 다음의 값 중 한 개에서 세 개를 선택해서 지정할 수 있습니다. 순서는 영향을&lt;/p&gt;
&lt;p class=&quot;og-host&quot;&gt;developer.mozilla.org&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;div data-ke-type=&quot;moreLess&quot; data-text-more=&quot;더보기&quot; data-text-less=&quot;닫기&quot;&gt;&lt;a class=&quot;btn-toggle-moreless&quot;&gt;더보기&lt;/a&gt;
&lt;div class=&quot;moreless-content&quot;&gt;
&lt;pre id=&quot;code_1612526587951&quot; class=&quot;html xml&quot; style=&quot;display: block; overflow: auto; padding: 15px; color: #383a42; background: #f6f7f8; font-size: 14px; border-radius: 3px; font-family: Menlo, Consolas, Monaco, monospace; border: 1px solid #dddddd; margin: 20px auto 0px; cursor: default; z-index: 1; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial;&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html lang=&quot;en&quot; xmlns=&quot;http://www.w3.org/1999/xhtml&quot;&amp;gt;
  &amp;lt;head&amp;gt;
    &amp;lt;meta charset=&quot;utf-8&quot; /&amp;gt;
    &amp;lt;style&amp;gt;
      div {
        background-color: #ffd800;
        border: 5px solid #afffff;
      }
      h1 {
        background-color: aqua;
        border-bottom: 5px solid azure;
      }
    &amp;lt;/style&amp;gt;
  &amp;lt;/head&amp;gt;
  &amp;lt;body&amp;gt;
    &amp;lt;h1&amp;gt;제목 입니다.&amp;lt;/h1&amp;gt;
    &amp;lt;p&amp;gt;본문 입니다.&amp;lt;/p&amp;gt;

    &amp;lt;div&amp;gt;
      &amp;lt;h1&amp;gt;제목입니다.&amp;lt;/h1&amp;gt;
      &amp;lt;p&amp;gt;본문입니다.&amp;lt;/p&amp;gt;
    &amp;lt;/div&amp;gt;
  &amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/p4rXZ/btqVRuLCEyT/cMkYPjCVs49q9aCjwbKVQk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/p4rXZ/btqVRuLCEyT/cMkYPjCVs49q9aCjwbKVQk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/p4rXZ/btqVRuLCEyT/cMkYPjCVs49q9aCjwbKVQk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fp4rXZ%2FbtqVRuLCEyT%2FcMkYPjCVs49q9aCjwbKVQk%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p&gt;&lt;span style=&quot;color: #333333;&quot;&gt;div 처럼 h1도 설정 변경 가능&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;div data-ke-type=&quot;moreLess&quot; data-text-more=&quot;더보기&quot; data-text-less=&quot;닫기&quot;&gt;&lt;a class=&quot;btn-toggle-moreless&quot;&gt;더보기&lt;/a&gt;
&lt;div class=&quot;moreless-content&quot;&gt;
&lt;pre id=&quot;code_1612526622105&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html lang=&quot;en&quot; xmlns=&quot;http://www.w3.org/1999/xhtml&quot;&amp;gt;
  &amp;lt;head&amp;gt;
    &amp;lt;meta charset=&quot;utf-8&quot; /&amp;gt;
    &amp;lt;style&amp;gt;
      div {
        background-color: #ffd800;
        border: 5px solid #afffff;
      }
      h1 {
        background-color: aqua;
        border-bottom: 5px solid azure;
      }
      li {
        color: #07916e;
      }
    &amp;lt;/style&amp;gt;
  &amp;lt;/head&amp;gt;
  &amp;lt;body&amp;gt;
    &amp;lt;h1&amp;gt;제목 입니다.&amp;lt;/h1&amp;gt;
    &amp;lt;p&amp;gt;본문 입니다.&amp;lt;/p&amp;gt;

    &amp;lt;div&amp;gt;
      &amp;lt;h1&amp;gt;제목입니다.&amp;lt;/h1&amp;gt;
      &amp;lt;p&amp;gt;본문입니다.&amp;lt;/p&amp;gt;
    &amp;lt;/div&amp;gt;
    &amp;lt;ul&amp;gt;
      &amp;lt;li&amp;gt;안녕&amp;lt;/li&amp;gt;
      &amp;lt;li&amp;gt;Hi&amp;lt;/li&amp;gt;
      &amp;lt;li&amp;gt;Hello&amp;lt;/li&amp;gt;
    &amp;lt;/ul&amp;gt;
  &amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/HNwc8/btqV2a0nsA0/Nnk6qDgebZHJHzHyLvmtHk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/HNwc8/btqV2a0nsA0/Nnk6qDgebZHJHzHyLvmtHk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/HNwc8/btqV2a0nsA0/Nnk6qDgebZHJHzHyLvmtHk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FHNwc8%2FbtqV2a0nsA0%2FNnk6qDgebZHJHzHyLvmtHk%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p&gt;li 태그 선택자&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;div data-ke-type=&quot;moreLess&quot; data-text-more=&quot;더보기&quot; data-text-less=&quot;닫기&quot;&gt;&lt;a class=&quot;btn-toggle-moreless&quot;&gt;더보기&lt;/a&gt;
&lt;div class=&quot;moreless-content&quot;&gt;
&lt;pre id=&quot;code_1612529292897&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html lang=&quot;en&quot; xmlns=&quot;http://www.w3.org/1999/xhtml&quot;&amp;gt;
  &amp;lt;head&amp;gt;
    &amp;lt;meta charset=&quot;utf-8&quot; /&amp;gt;
    &amp;lt;style&amp;gt;
      li,
      p,
      h1 {
        background-color: #ffd800;
        border: 5px solid #afffff;
      }
      h1 {
        background-color: rgb(3, 255, 87);
        border-bottom: 5px solid rgb(255, 0, 85);
      }

      p {
        color: #07916e;
      }
    &amp;lt;/style&amp;gt;
  &amp;lt;/head&amp;gt;
  &amp;lt;body&amp;gt;
    &amp;lt;header&amp;gt;
      &amp;lt;h1&amp;gt;주식회사&amp;lt;/h1&amp;gt;
    &amp;lt;/header&amp;gt;
    &amp;lt;nav&amp;gt;
      &amp;lt;ul&amp;gt;
        &amp;lt;li&amp;gt;회사소개&amp;lt;/li&amp;gt;
        &amp;lt;li&amp;gt;제품소개&amp;lt;/li&amp;gt;
        &amp;lt;li&amp;gt;고객센터&amp;lt;/li&amp;gt;
        &amp;lt;li&amp;gt;공지사항&amp;lt;/li&amp;gt;
      &amp;lt;/ul&amp;gt;
    &amp;lt;/nav&amp;gt;
    &amp;lt;section&amp;gt;
      &amp;lt;p&amp;gt;
        우리 회사는 50년 전통의 역사와 뛰어난 기술을 바탕으로 좋은 회사입니다.
      &amp;lt;/p&amp;gt;
    &amp;lt;/section&amp;gt;
    &amp;lt;footer&amp;gt;
      &amp;lt;p&amp;gt;서울시 oo구 oo동 oo빌딩&amp;lt;/p&amp;gt;
    &amp;lt;/footer&amp;gt;
  &amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cbm2g8/btqVSvruGDg/rJGzRgBaOW0nfV7AqKAkVK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cbm2g8/btqVSvruGDg/rJGzRgBaOW0nfV7AqKAkVK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cbm2g8/btqVSvruGDg/rJGzRgBaOW0nfV7AqKAkVK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fcbm2g8%2FbtqVSvruGDg%2FrJGzRgBaOW0nfV7AqKAkVK%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p&gt;코드를 볼 때 h1이 위 아래 중복이 되는데 중복되는 부분은 아래 것이 우선적으로 보여짐&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;* 선택자(전체 선택자)&lt;/h2&gt;
&lt;p&gt;전체라는 의미의 *선택자를 사용하면 문서 전체를 선택하는 의미가 있다&lt;/p&gt;
&lt;p&gt;문법:&lt;/p&gt;
&lt;pre id=&quot;code_1612530557634&quot; class=&quot;html xml&quot; style=&quot;display: block; overflow: auto; padding: 15px; color: #383a42; background: #f6f7f8; font-size: 14px; border-radius: 3px; font-family: Menlo, Consolas, Monaco, monospace; border: 1px solid #dddddd; margin: 20px auto 0px; cursor: default; z-index: 1; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial;&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;style&amp;gt;
	* {
        color: #00d0ff;
      }
&amp;lt;/style&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;div data-ke-type=&quot;moreLess&quot; data-text-more=&quot;더보기&quot; data-text-less=&quot;닫기&quot;&gt;&lt;a class=&quot;btn-toggle-moreless&quot;&gt;더보기&lt;/a&gt;
&lt;div class=&quot;moreless-content&quot;&gt;
&lt;pre id=&quot;code_1612532254582&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html lang=&quot;en&quot; xmlns=&quot;http://www.w3.org/1999/xhtml&quot;&amp;gt;
  &amp;lt;head&amp;gt;
    &amp;lt;meta charset=&quot;utf-8&quot; /&amp;gt;
    &amp;lt;style&amp;gt;
      * {
        color: #ff0000;
        background-color: blueviolet;
        margin: 0;
        padding: 0;
      }
    &amp;lt;/style&amp;gt;
  &amp;lt;/head&amp;gt;
  &amp;lt;body&amp;gt;
    &amp;lt;header&amp;gt;
      &amp;lt;h1&amp;gt;주식회사&amp;lt;/h1&amp;gt;
    &amp;lt;/header&amp;gt;
    &amp;lt;nav&amp;gt;
      &amp;lt;ul&amp;gt;
        &amp;lt;li&amp;gt;회사소개&amp;lt;/li&amp;gt;
        &amp;lt;li&amp;gt;제품소개&amp;lt;/li&amp;gt;
        &amp;lt;li&amp;gt;고객센터&amp;lt;/li&amp;gt;
        &amp;lt;li&amp;gt;공지사항&amp;lt;/li&amp;gt;
      &amp;lt;/ul&amp;gt;
    &amp;lt;/nav&amp;gt;
    &amp;lt;section&amp;gt;
      &amp;lt;p&amp;gt;
        우리 회사는 50년 전통의 역사와 뛰어난 기술을 바탕으로 좋은 회사입니다.
      &amp;lt;/p&amp;gt;
    &amp;lt;/section&amp;gt;
    &amp;lt;footer&amp;gt;
      &amp;lt;p&amp;gt;서울시 oo구 oo동 oo빌딩&amp;lt;/p&amp;gt;
    &amp;lt;/footer&amp;gt;
  &amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/2yVKw/btqVRv6rm8I/bpCBtLzE5KCDEdKZ2kyEYK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/2yVKw/btqVRv6rm8I/bpCBtLzE5KCDEdKZ2kyEYK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/2yVKw/btqVRv6rm8I/bpCBtLzE5KCDEdKZ2kyEYK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F2yVKw%2FbtqVRv6rm8I%2FbpCBtLzE5KCDEdKZ2kyEYK%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&amp;nbsp;&lt;/h2&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&amp;nbsp;&lt;/h2&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;전체와 특정태그의 혼합&lt;/h2&gt;
&lt;p&gt;전체적으로 속성을 설정한 다음 특정 태그의 속성을 변경함&lt;/p&gt;
&lt;div data-ke-type=&quot;moreLess&quot; data-text-more=&quot;더보기&quot; data-text-less=&quot;닫기&quot;&gt;&lt;a class=&quot;btn-toggle-moreless&quot;&gt;더보기&lt;/a&gt;
&lt;div class=&quot;moreless-content&quot;&gt;
&lt;pre id=&quot;code_1612530718642&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html lang=&quot;en&quot; xmlns=&quot;http://www.w3.org/1999/xhtml&quot;&amp;gt;
  &amp;lt;head&amp;gt;
    &amp;lt;meta charset=&quot;utf-8&quot; /&amp;gt;
    &amp;lt;style&amp;gt;
      li,
      p,
      h1 {
        background-color: #ffd800;
        border: 5px solid #afffff;
      }
      h1 {
        background-color: rgb(3, 255, 87);
        border-bottom: 5px solid rgb(255, 0, 85);
      }

      p {
        color: #07916e;
      }

      * {
        color: #ff0000;
      }
    &amp;lt;/style&amp;gt;
  &amp;lt;/head&amp;gt;
  &amp;lt;body&amp;gt;
    &amp;lt;header&amp;gt;
      &amp;lt;h1&amp;gt;주식회사&amp;lt;/h1&amp;gt;
    &amp;lt;/header&amp;gt;
    &amp;lt;nav&amp;gt;
      &amp;lt;ul&amp;gt;
        &amp;lt;li&amp;gt;회사소개&amp;lt;/li&amp;gt;
        &amp;lt;li&amp;gt;제품소개&amp;lt;/li&amp;gt;
        &amp;lt;li&amp;gt;고객센터&amp;lt;/li&amp;gt;
        &amp;lt;li&amp;gt;공지사항&amp;lt;/li&amp;gt;
      &amp;lt;/ul&amp;gt;
    &amp;lt;/nav&amp;gt;
    &amp;lt;section&amp;gt;
      &amp;lt;p&amp;gt;
        우리 회사는 50년 전통의 역사와 뛰어난 기술을 바탕으로 좋은 회사입니다.
      &amp;lt;/p&amp;gt;
    &amp;lt;/section&amp;gt;
    &amp;lt;footer&amp;gt;
      &amp;lt;p&amp;gt;서울시 oo구 oo동 oo빌딩&amp;lt;/p&amp;gt;
    &amp;lt;/footer&amp;gt;
  &amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Xi2JO/btqVV23tHnj/WrbKmpObWNYs7MhF5SKpT0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Xi2JO/btqVV23tHnj/WrbKmpObWNYs7MhF5SKpT0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Xi2JO/btqVV23tHnj/WrbKmpObWNYs7MhF5SKpT0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FXi2JO%2FbtqVV23tHnj%2FWrbKmpObWNYs7MhF5SKpT0%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p&gt;&amp;nbsp;전체 선택자와 태그 선택자가 겹칠 경우 태그 선택자를 위주로 보여줌&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;pre id=&quot;code_1612530964256&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html lang=&quot;en&quot; xmlns=&quot;http://www.w3.org/1999/xhtml&quot;&amp;gt;
  &amp;lt;head&amp;gt;
    &amp;lt;meta charset=&quot;utf-8&quot; /&amp;gt;
    &amp;lt;style&amp;gt;
      li,
      p,
      h1 {
        background-color: #ffd800;
        border: 5px solid #afffff;
      }
      h1 {
        background-color: rgb(3, 255, 87);
        border-bottom: 5px solid rgb(255, 0, 85);
      }

      p {
        color: #07916e;
      }

      * {
        color: #ff0000;
        background-color: blueviolet;
      }
    &amp;lt;/style&amp;gt;
  &amp;lt;/head&amp;gt;
  &amp;lt;body&amp;gt;
    &amp;lt;header&amp;gt;
      &amp;lt;h1&amp;gt;주식회사&amp;lt;/h1&amp;gt;
    &amp;lt;/header&amp;gt;
    &amp;lt;nav&amp;gt;
      &amp;lt;ul&amp;gt;
        &amp;lt;li&amp;gt;회사소개&amp;lt;/li&amp;gt;
        &amp;lt;li&amp;gt;제품소개&amp;lt;/li&amp;gt;
        &amp;lt;li&amp;gt;고객센터&amp;lt;/li&amp;gt;
        &amp;lt;li&amp;gt;공지사항&amp;lt;/li&amp;gt;
      &amp;lt;/ul&amp;gt;
    &amp;lt;/nav&amp;gt;
    &amp;lt;section&amp;gt;
      &amp;lt;p&amp;gt;
        우리 회사는 50년 전통의 역사와 뛰어난 기술을 바탕으로 좋은 회사입니다.
      &amp;lt;/p&amp;gt;
    &amp;lt;/section&amp;gt;
    &amp;lt;footer&amp;gt;
      &amp;lt;p&amp;gt;서울시 oo구 oo동 oo빌딩&amp;lt;/p&amp;gt;
    &amp;lt;/footer&amp;gt;
  &amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bwt0jb/btqV2VWf1xJ/4VxPHUNKWT1KkSMpWjhA51/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bwt0jb/btqV2VWf1xJ/4VxPHUNKWT1KkSMpWjhA51/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bwt0jb/btqV2VWf1xJ/4VxPHUNKWT1KkSMpWjhA51/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbwt0jb%2FbtqV2VWf1xJ%2F4VxPHUNKWT1KkSMpWjhA51%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;p&gt;전체 선택자에 margin, padding 추가&lt;/p&gt;
&lt;pre id=&quot;code_1612532123830&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html lang=&quot;en&quot; xmlns=&quot;http://www.w3.org/1999/xhtml&quot;&amp;gt;
  &amp;lt;head&amp;gt;
    &amp;lt;meta charset=&quot;utf-8&quot; /&amp;gt;
    &amp;lt;style&amp;gt;
      li,
      p,
      h1 {
        background-color: #ffd800;
        border: 5px solid #afffff;
      }
      h1 {
        background-color: rgb(3, 255, 87);
        border-bottom: 5px solid rgb(255, 0, 85);
      }

      p {
        color: #07916e;
      }

      * {
        color: #ff0000;
        background-color: blueviolet;
        margin: 0;
        padding: 0;
      }
    &amp;lt;/style&amp;gt;
  &amp;lt;/head&amp;gt;
  &amp;lt;body&amp;gt;
    &amp;lt;header&amp;gt;
      &amp;lt;h1&amp;gt;주식회사&amp;lt;/h1&amp;gt;
    &amp;lt;/header&amp;gt;
    &amp;lt;nav&amp;gt;
      &amp;lt;ul&amp;gt;
        &amp;lt;li&amp;gt;회사소개&amp;lt;/li&amp;gt;
        &amp;lt;li&amp;gt;제품소개&amp;lt;/li&amp;gt;
        &amp;lt;li&amp;gt;고객센터&amp;lt;/li&amp;gt;
        &amp;lt;li&amp;gt;공지사항&amp;lt;/li&amp;gt;
      &amp;lt;/ul&amp;gt;
    &amp;lt;/nav&amp;gt;
    &amp;lt;section&amp;gt;
      &amp;lt;p&amp;gt;
        우리 회사는 50년 전통의 역사와 뛰어난 기술을 바탕으로 좋은 회사입니다.
      &amp;lt;/p&amp;gt;
    &amp;lt;/section&amp;gt;
    &amp;lt;footer&amp;gt;
      &amp;lt;p&amp;gt;서울시 oo구 oo동 oo빌딩&amp;lt;/p&amp;gt;
    &amp;lt;/footer&amp;gt;
  &amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bTQfsK/btqV09gqS7x/po2QMvbZHkPBZJpd6j4hMK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bTQfsK/btqV09gqS7x/po2QMvbZHkPBZJpd6j4hMK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bTQfsK/btqV09gqS7x/po2QMvbZHkPBZJpd6j4hMK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbTQfsK%2FbtqV09gqS7x%2Fpo2QMvbZHkPBZJpd6j4hMK%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p&gt;margin: 바깥쪽 여백&lt;/p&gt;
&lt;p&gt;padding: 안쪽 여백&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&amp;nbsp;&lt;/h2&gt;
&lt;p&gt;+속성:&lt;/p&gt;
&lt;p&gt;text-decoration: underline =&amp;gt;글 아래 밑줄&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Web/css</category>
      <author>화이트 하비</author>
      <guid isPermaLink="true">https://hobby519.tistory.com/11</guid>
      <comments>https://hobby519.tistory.com/11#entry11comment</comments>
      <pubDate>Fri, 5 Feb 2021 22:41:55 +0900</pubDate>
    </item>
    <item>
      <title>HTML-(4)</title>
      <link>https://hobby519.tistory.com/10</link>
      <description>&lt;p&gt;Table대체-&amp;gt;div태그&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;div를 이용한 레이아웃&lt;/h2&gt;
&lt;pre id=&quot;code_1612352793742&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html lang=&quot;en&quot; xmlns=&quot;http://www.w3.org/1999/xhtml&quot;&amp;gt;
  &amp;lt;head&amp;gt;
    &amp;lt;meta charset=&quot;utf-8&quot; /&amp;gt;
    &amp;lt;title&amp;gt;TITLE&amp;lt;/title&amp;gt;
  &amp;lt;/head&amp;gt;
  &amp;lt;body&amp;gt;
    &amp;lt;div&amp;gt;
      &amp;lt;h1&amp;gt;MY HOMEPAGE&amp;lt;/h1&amp;gt;
      &amp;lt;hr /&amp;gt;
    &amp;lt;/div&amp;gt;
    &amp;lt;div&amp;gt;
      &amp;lt;ul&amp;gt;
        &amp;lt;li&amp;gt;HTML5&amp;lt;/li&amp;gt;
        &amp;lt;li&amp;gt;CSS3&amp;lt;/li&amp;gt;
        &amp;lt;li&amp;gt;JAVASCRIPT&amp;lt;/li&amp;gt;
        &amp;lt;li&amp;gt;JQUERY&amp;lt;/li&amp;gt;
      &amp;lt;/ul&amp;gt;
    &amp;lt;/div&amp;gt;
    &amp;lt;hr /&amp;gt;
    &amp;lt;div&amp;gt;
      &amp;lt;h1&amp;gt;What is HTML5?&amp;lt;/h1&amp;gt;
      &amp;lt;p&amp;gt;HTML5 is aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&amp;lt;/p&amp;gt;
      &amp;lt;hr /&amp;gt;
      &amp;lt;div&amp;gt;
        &amp;lt;p&amp;gt;xxx주식회사 어쩌구 저쩌구 00구 00동&amp;lt;/p&amp;gt;
      &amp;lt;/div&amp;gt;
    &amp;lt;/div&amp;gt;
  &amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/lVvxy/btqVJSrWWGh/HR2bd43N7uA01nkWNKgkv1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/lVvxy/btqVJSrWWGh/HR2bd43N7uA01nkWNKgkv1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/lVvxy/btqVJSrWWGh/HR2bd43N7uA01nkWNKgkv1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FlVvxy%2FbtqVJSrWWGh%2FHR2bd43N7uA01nkWNKgkv1%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;시멘틱(semantic)을 이용한 레이아웃&lt;/h2&gt;
&lt;p&gt;개발, 편집을 빠르게 하기 위해 각 위치별 태그를 써주는 것을 시멘틱이라고 함&lt;/p&gt;
&lt;pre id=&quot;code_1612353015741&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html lang=&quot;en&quot; xmlns=&quot;http://www.w3.org/1999/xhtml&quot;&amp;gt;
  &amp;lt;head&amp;gt;
    &amp;lt;meta charset=&quot;utf-8&quot; /&amp;gt;
    &amp;lt;title&amp;gt;TITLE&amp;lt;/title&amp;gt;
  &amp;lt;/head&amp;gt;
  &amp;lt;body&amp;gt;
    &amp;lt;header&amp;gt;&amp;lt;!--제목--&amp;gt;
      &amp;lt;h1&amp;gt;MY HOMEPAGE&amp;lt;/h1&amp;gt;
      &amp;lt;hr /&amp;gt;
    &amp;lt;/header&amp;gt;
    &amp;lt;nav&amp;gt;&amp;lt;!--메뉴--&amp;gt;
      &amp;lt;ul&amp;gt;
        &amp;lt;li&amp;gt;HTML5&amp;lt;/li&amp;gt;
        &amp;lt;li&amp;gt;CSS3&amp;lt;/li&amp;gt;
        &amp;lt;li&amp;gt;JAVASCRIPT&amp;lt;/li&amp;gt;
        &amp;lt;li&amp;gt;JQUERY&amp;lt;/li&amp;gt;
      &amp;lt;/ul&amp;gt;
    &amp;lt;/nav&amp;gt;
    &amp;lt;hr /&amp;gt;
    &amp;lt;section&amp;gt;&amp;lt;!--본문--&amp;gt;
      &amp;lt;h1&amp;gt;What is HTML5?&amp;lt;/h1&amp;gt;
      &amp;lt;p&amp;gt;HTML5 is aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&amp;lt;/p&amp;gt;
      &amp;lt;hr /&amp;gt;
    &amp;lt;/section&amp;gt;
    &amp;lt;footer&amp;gt;&amp;lt;!--사이트 바닥--&amp;gt;
      &amp;lt;p&amp;gt;xxx주식회사 어쩌구 저쩌구 00구 00동&amp;lt;/p&amp;gt;
    &amp;lt;/footer&amp;gt;
  &amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bBlGDA/btqVJRGAba8/V0OZre2Bi1u1kvPM7gsIs1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bBlGDA/btqVJRGAba8/V0OZre2Bi1u1kvPM7gsIs1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bBlGDA/btqVJRGAba8/V0OZre2Bi1u1kvPM7gsIs1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbBlGDA%2FbtqVJRGAba8%2FV0OZre2Bi1u1kvPM7gsIs1%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;lt;header&amp;gt;&amp;lt;/header&amp;gt;: 제목을 뜻하는 태그&lt;/p&gt;
&lt;p&gt;&amp;lt;nav&amp;gt;&amp;lt;/nav&amp;gt;: 메뉴&lt;/p&gt;
&lt;p&gt;&amp;lt;footer&amp;gt;&amp;lt;/footer&amp;gt;: 사이트 바닥&lt;/p&gt;</description>
      <category>Web/html</category>
      <author>화이트 하비</author>
      <guid isPermaLink="true">https://hobby519.tistory.com/10</guid>
      <comments>https://hobby519.tistory.com/10#entry10comment</comments>
      <pubDate>Wed, 3 Feb 2021 20:50:57 +0900</pubDate>
    </item>
  </channel>
</rss>