<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>gundopark-123.log</title>
        <link>https://velog.io/</link>
        <description>안녕</description>
        <lastBuildDate>Fri, 23 Jul 2021 01:48:42 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <image>
            <title>gundopark-123.log</title>
            <url>https://images.velog.io/images/gundopark-123/profile/5a81a891-1dd8-46bb-89dc-049aac4225e9/social.png</url>
            <link>https://velog.io/</link>
        </image>
        <copyright>Copyright (C) 2019. gundopark-123.log. All rights reserved.</copyright>
        <atom:link href="https://v2.velog.io/rss/gundopark-123" rel="self" type="application/rss+xml"/>
        <item>
            <title><![CDATA[#2 Network OSI 7계층 ROLE]]></title>
            <link>https://velog.io/@gundopark-123/Network-OSI-7%EA%B3%84%EC%B8%B5-ROLE</link>
            <guid>https://velog.io/@gundopark-123/Network-OSI-7%EA%B3%84%EC%B8%B5-ROLE</guid>
            <pubDate>Fri, 23 Jul 2021 01:48:42 GMT</pubDate>
            <description><![CDATA[<p><img src="https://images.velog.io/images/gundopark-123/post/583a5163-db8c-4912-bb82-26a16e954d54/image.png" alt=""></p>
<p>[용어 rlogin : telnet값/ segment: 데이터 단위]</p>
<h1 id="osi-7-layer">OSI 7 Layer</h1>
<p>OSI7 Layer : 
7층(응용): 일관되게 전송데이터를 이해할 수 있게 해줌 
6층(표현): 코드 간의 번역을 담당
5층(세션): 통신 장치 간의 상호작용을 설정 
(모든 패킷은 포트를 기반으로 연결)
4계층(전송*): </p>
<p>   1) tcp 프로토콜로 세그먼트 단위로 전송 (L4스위치, 게이트웨이) 
   2) 3-way handshacking </p>
<ul>
<li>종단간통신을 다루는 최하위 계층</li>
<li>오류검출, 흐름제어, 중복검사</li>
<li>신뢰성 있는 전송 보장(through by SEQ) 
3)도스 공격 </li>
<li>syn flooding 공격 
: syn을 받으면 응답하도록 되어있는 점을 이용해 syn으로 부하를 주는 공격. -&gt; 서버다운시킴. </li>
</ul>
<pre><code>tcp가 가진 주소를 &quot;포트&quot;라함
welkown port: 0~1023 

rpm -qa | grep tcp_wrapper
* TCP Wrapper : 
특정 서비스에 대해 접근자의 호스트를체크해서 접근 허락할지 여부를 결정(host.allow/ host.deny)
ㄴwhite list / black list 
ㄴinternet - 1)firewall - 2) TCP wrapper - network service 


mac주소가 네트워크 카드의 고유식별자. 
ip가 시스템의 논리적 주소.
포트는 시스템에 도착한 후 패킷이 찾아갈 응용.
</code></pre><h1 id="hostsdeny-와-hostsallow">hosts.deny 와 hosts.allow</h1>
<pre><code>#
# hosts.deny    This file contains access rules which are used to
#               deny connections to network services that either use
#               the tcp_wrappers library or that have been
#               started through a tcp_wrappers-enabled xinetd.
#
#               The rules in this file can also be set up in
#               /etc/hosts.allow with a &#39;deny&#39; option instead.
#
#               See &#39;man 5 hosts_options&#39; and &#39;man 5 hosts_access&#39;
#               for information on rule syntax.
#               See &#39;man tcpd&#39; for information on tcp_wrappers
#
ALL:ALL
</code></pre><pre><code>
# hosts.allow   This file contains access rules which are used to
#               allow or deny connections to network services that
#               either use the tcp_wrappers library or that have been
#               started through a tcp_wrappers-enabled xinetd.
#
#               See &#39;man 5 hosts_options&#39; and &#39;man 5 hosts_access&#39;
#               for information on rule syntax.
#               See &#39;man tcpd&#39; for information on tcp_wrappers
#
sshd: 192.168.56.0/255.255.255.0
#sshd: 192.168.56.0/24 -위와 동일 
in.telnetd: 192.168.56.102</code></pre><p>외부에서 접근하는 SSH 서비스에 대해서 192.168.56.0의 접근만을 허용한다. 나머지 접근은 허용하지 않겠다. </p>
<p>화이트 리스트 ? 모두 접근 거부후 접근 허용 대상만 기록
:/etc/hosts.deny에서 모두 거부 -&gt; /etc/hosts.allow에서 접근 허용 대상 기록 </p>
<p>블랙 리스트? 모두 허용 후 접근거부 대상만 기록 
: /etc/hosts.deny에 거부 목록 기록  </p>
<p>Q) 특정 도메인 거부? /etc/hosts.deny -&gt; ALL : dshub.cloud
Q) POP3 
이 설정이 /etc/hosts.allow 파일의 설정내용이라면 POP서비스에 대하여 192.168.56.1.100 호스트를 제외한 192.168.1.0 네트워크의 모든 사용자들의 pop접속을 허용한다는 설정.</p>
<p>in.pop3d : 192. 168.1.0/255.255.255.0 EXCEPT 192.168.1.100 </p>
<p>Q) allow 정책과 deny정책이 중복이면 allow 정책이 우선</p>
<h1 id="연습-예제">연습 예제</h1>
<pre><code># 예제 1 # 
===============================================================================
 ㄴ server1(FTP) -&gt; 2번서버는 허용, 3번서버는 차단 (in.ftpd = vsftpd)
-----------------------
/etc/hosts.deny
ALL : ALL
-----------------------
/etc/hosts.allow
vsftpd : 192.168.56.102 EXCEPT 192.168.56.103

# 예제 2 #
===============================================================================
/etc/hosts.deny
ALL : ALL
-&gt; 화이트리스트 기반으로 모든 서비스, 모든 호스트를 차단한다.
===============================================================================
/etc/hosts.allow
ALL : 192.168.10.1      -&gt; 192.168.10.1 IP 주소에 대해 모든 서비스가 가능
in.telnetd : 192.168.20.1   -&gt; 192.168.20.1 IP 주소에 대해 텔넷 서비스 허용
in.ftpd : 192.168.1.      -&gt; 192.168.1. 로 시작하는 IP주소에 대해 ftp 서비스 허용
ALL EXCEPT in.telnetd : ALL     -&gt; 모든 호스트에 대해 Telnet 서비스를 제외한 모든 서비스 허용
in.telnetd : .com EXCEPT www.cowboy.com
   -&gt; www.cowboy.com을 제외한 모든 .com 도메인의 호스트에 대해 텔넷 서비스 허용!

# 예제 3 #
===============================================================================
-&gt; 로컬 및 특정 IP만 대해서 Mail server 및 vsftpd를 모두 허용!
-----------------------
/etc/hosts.deny
ALL : ALL
-----------------------
/etc/hosts.allow
ALL : LOCAL
ALL : 127.0.0.1
ALL : 192.168.56.1
ALL : 192.168.137.100
sendmail : ALL
ipop3d : ALL
dovecot : ALL
vsftpd : ALL


# 예제 4 # Shell 기능 활용
===============================================================================
-&gt; 로컬 및 특정 IP만 대해서 Mail server 및 vsftpd를 모두 허용!
-----------------------
/etc/hosts.deny
ALL : ALL
-----------------------
/etc/hosts.allow
vsftpd : 192.168.56.102 : twist /bin/echo &#39;데이터스토리 허브의 FTP 입니다.&#39;


# 예제 5 # Shell 기능 활용2
===============================================================================
-&gt; 로컬 및 특정 IP만 대해서 Mail server 및 vsftpd를 모두 허용!
-----------------------
/etc/hosts.deny
ALL : ALL
-----------------------
/etc/hosts.allow
vsftpd: 192.168.56.103 Expet 192.168.56.102
vsftpd: 192.168.56.103: spawn / bin/mail -s &quot;using FTP client IP %a&quot; root 

tail -f /var/spool/mail/root


Q) 어떤 IP가 몇번 FTP를 이용했었는지 조회? sed(stream editor) 

</code></pre><h1 id="로컬-및-특정-ip만-대해서-mail-server-및-vsftpd를-모두-허용">로컬 및 특정 IP만 대해서 Mail server 및 vsftpd를 모두 허용.</h1>
<pre><code>/etc/hosts.deny
ALL : ALL 

/etc/hosts/allow
ALL: LOCAL
ALL: 192.168.56.1
ALL: 192.168.137.100
sendmail: ALL
ipop3d: ALL 
dovecot: ALL
vsftpd: 192.168.56.102 : twist /bin/echo &#39; 데이터허브의 FTP입니다.&#39; # 쉘기능 
</code></pre><p>3계층(네트워크*):
 전송단위: 패킷
 프로토콜: IP, ICMP
 라우팅 테이블? 네트워크상에서 주소를 이용하여 목적지까지 메세지를 전달하는 방법을 체계적으로 결정하는 경로배정 과정 </p>
<pre><code> root@server1:~:&gt; traceroute www.google.com
traceroute to www.google.com (172.217.31.164), 30 hops max, 60 byte packets
 1  gateway (10.0.2.2)  1.211 ms  0.926 ms  0.841 ms
 2  * * *
 3  * * *
 4  * * *
 5  * * *
 6  * * *
 7  * * *
 8  * * *
 9  * * *
10  * * *
11  * * *
12  * * *
13  * * *
14  * * *
15  * * *
16  * * *
17  * * *
18  * * *
19  * * *
20  * * *
21  * * *
22  * * *
23  * * *
24  * * *
25  * * *
26  * * *
27  * * *
28  * * *
29  * * *
30  * * *</code></pre><p>  [<a href="https://gsuite.tools/traceroute%5D">https://gsuite.tools/traceroute]</a></p>
]]></description>
        </item>
        <item>
            <title><![CDATA[동기요청과 비동기요청 차이]]></title>
            <link>https://velog.io/@gundopark-123/%EB%8F%99%EA%B8%B0%EC%9A%94%EC%B2%AD%EA%B3%BC-%EB%B9%84%EB%8F%99%EA%B8%B0%EC%9A%94%EC%B2%AD-%EC%B0%A8%EC%9D%B4</link>
            <guid>https://velog.io/@gundopark-123/%EB%8F%99%EA%B8%B0%EC%9A%94%EC%B2%AD%EA%B3%BC-%EB%B9%84%EB%8F%99%EA%B8%B0%EC%9A%94%EC%B2%AD-%EC%B0%A8%EC%9D%B4</guid>
            <pubDate>Tue, 29 Jun 2021 06:31:30 GMT</pubDate>
            <description><![CDATA[<p>클라이언트의 요청에는 동기요청과 비동기요청이 있죠.
동기 요청은 화면 전부를 보내달라고 요청입니다.
반면 비동기 요청은 화면의 일부만 보내달라고 요청하는 것이죠. 그 예로 AJAX가 있습니다.</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[AWS S3 종류]]></title>
            <link>https://velog.io/@gundopark-123/AWS-S3-%EC%A2%85%EB%A5%98</link>
            <guid>https://velog.io/@gundopark-123/AWS-S3-%EC%A2%85%EB%A5%98</guid>
            <pubDate>Tue, 29 Jun 2021 06:30:01 GMT</pubDate>
            <description><![CDATA[<p>s3 glacier/deep archive: 
용도: 백업용 
장점: 가장 저렴
단점: 즉시 access는 안됨</p>
<p>s3: 
용도: 자주 접근 할 데이터
단점: 비쌈</p>
<p>s3- infrequent: 
용도: 덜 자주 접근 할 데이터
주의: 자주 접근하면 요금 올라감</p>
<p>요금제를 자동으로 바꿔주는 &quot;인텔리전트 티어링&quot;도 있으니 사용해보세요.</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[AWS S3용어 설명]]></title>
            <link>https://velog.io/@gundopark-123/AWS-S3%EC%9A%A9%EC%96%B4-%EC%84%A4%EB%AA%85</link>
            <guid>https://velog.io/@gundopark-123/AWS-S3%EC%9A%A9%EC%96%B4-%EC%84%A4%EB%AA%85</guid>
            <pubDate>Tue, 29 Jun 2021 06:28:08 GMT</pubDate>
            <description><![CDATA[<p>리전: 서버 제공 지역
버킷: 리전 위에 있는 컨테이너
객체: 버킷 안에 있는 파일</p>
<p>버킷 이름 설정 규칙: 
가급적 .을 사용하지 말 것, 마지막 글자 하이픈 금지</p>
<p>ARN : AWS 리소스 이름 혹은 식별자 
End Point: 외부에서 접근하기 위한 ARN 혹은 식별자(주로 url을 사용합니다.)</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[MariaDB에서 자동커밋해제]]></title>
            <link>https://velog.io/@gundopark-123/MariaDB%EC%97%90%EC%84%9C-%EC%9E%90%EB%8F%99%EC%BB%A4%EB%B0%8B%ED%95%B4%EC%A0%9C</link>
            <guid>https://velog.io/@gundopark-123/MariaDB%EC%97%90%EC%84%9C-%EC%9E%90%EB%8F%99%EC%BB%A4%EB%B0%8B%ED%95%B4%EC%A0%9C</guid>
            <pubDate>Tue, 29 Jun 2021 06:22:51 GMT</pubDate>
            <description><![CDATA[<p>방법1:</p>
<pre><code>select @@AUTOCOMMIT;  -- 현재 옵션 확인 
set @@AUTOCOMMIT = 0;   
-- 현재 세션의 자동 커밋 해제 
</code></pre><p>방법2: 
c:/Program Files/MariaDB /data/  my.ini 파일을 수정해도 됩니다. autocommit=0 을 추가하세요. </p>
]]></description>
        </item>
        <item>
            <title><![CDATA[DB에서 VIEW를 사용하는 이유]]></title>
            <link>https://velog.io/@gundopark-123/DB%EC%97%90%EC%84%9C-VIEW%EB%A5%BC-%EC%82%AC%EC%9A%A9%ED%95%98%EB%8A%94-%EC%9D%B4%EC%9C%A0</link>
            <guid>https://velog.io/@gundopark-123/DB%EC%97%90%EC%84%9C-VIEW%EB%A5%BC-%EC%82%AC%EC%9A%A9%ED%95%98%EB%8A%94-%EC%9D%B4%EC%9C%A0</guid>
            <pubDate>Tue, 29 Jun 2021 06:20:39 GMT</pubDate>
            <description><![CDATA[<ol>
<li><p>원래 테이블을 노출 시키지 않으려는 보안상의 목적을 달성하기 위해서 입니다.</p>
</li>
<li><p>여러 테이블을 조인한 복잡한 쿼리를 조회하기보다 
그 쿼리를 저장한 뷰를 조회하는게 신속하기 때문입니다.</p>
</li>
</ol>
<p>아래는 예시입니다.</p>
<pre><code>USE tabledb;

CREATE VIEW v_usertbl
AS 
     select userid, name, adr FROM usertbl; 
</code></pre>]]></description>
        </item>
        <item>
            <title><![CDATA[xml]]></title>
            <link>https://velog.io/@gundopark-123/xml</link>
            <guid>https://velog.io/@gundopark-123/xml</guid>
            <pubDate>Tue, 29 Jun 2021 06:18:56 GMT</pubDate>
            <description><![CDATA[<p>기술에 독립저인 방법으로 정보를 주고 받기 위해 바이너리아닌 텍스트형식으로 저장한 문서입니다.
발전과정:
XML (태그, 귀찮.)---&gt; JASON(중괄호, 덜 귀찮)---&gt;YAML(들여쓰기 도입) </p>
]]></description>
        </item>
        <item>
            <title><![CDATA[동기와 비동기의 차이]]></title>
            <link>https://velog.io/@gundopark-123/%EB%8F%99%EA%B8%B0%EC%99%80-%EB%B9%84%EB%8F%99%EA%B8%B0%EC%9D%98-%EC%B0%A8%EC%9D%B4</link>
            <guid>https://velog.io/@gundopark-123/%EB%8F%99%EA%B8%B0%EC%99%80-%EB%B9%84%EB%8F%99%EA%B8%B0%EC%9D%98-%EC%B0%A8%EC%9D%B4</guid>
            <pubDate>Tue, 29 Jun 2021 06:04:53 GMT</pubDate>
            <description><![CDATA[<p>동기란 순차적으로 처리하는 것입니다.</p>
<pre><code>동기가 적용된 예: 
수행A, B, C가 있는 경우 A-&gt;B-&gt;C로 처리되는 것입니다.</code></pre><p>비동기란 비순차적으로 프로그램을 처리합니다. </p>
<pre><code>비동기가 적용된 예: 
수행A가 처리되는 데 시간이 오래걸리면 잠깐 수행B를 처리하고 A로 다시 돌아옴.</code></pre>]]></description>
        </item>
        <item>
            <title><![CDATA[DNS(도메인 네임 서버)]]></title>
            <link>https://velog.io/@gundopark-123/DNS%EB%8F%84%EB%A9%94%EC%9D%B8-%EB%84%A4%EC%9E%84-%EC%84%9C%EB%B2%84</link>
            <guid>https://velog.io/@gundopark-123/DNS%EB%8F%84%EB%A9%94%EC%9D%B8-%EB%84%A4%EC%9E%84-%EC%84%9C%EB%B2%84</guid>
            <pubDate>Tue, 29 Jun 2021 05:52:40 GMT</pubDate>
            <description><![CDATA[<p>velog.io, naver.com,google.com를 뭐라고 부르나요?
도메인이라고 부르죠. 
하지만 우리가 알기론 도메인이 아닌 ip가 서버의 주소라고 알고 있는데요? 그렇습니다. 네임서버(Name server)는 바로 이 도메인 이름과 IP의 상호변환을 가능하게 해주는 서버입니다. </p>
<p>원래 모든 인터넷 주소는 위와같이 숫자로 이루어진 IP주소로 되어있습니다. 하지만 그와 같이 숫자로 된 주소는 복잡하고 기억하기가 어렵기 때문에 간단히 표기 할 수 있는 도메인(Domain)이 주소 역할을 할 수 있게끔 규약이 생긴것 이고, 해당 홈페이지의 고유 주소인 IP를 도메인으로 변환, 연결시켜주는 기능이 담긴것이 네임서버 입니다.</p>
<p>때문에 아무리 도메인을 등록하였다 하더라도 네임서버에 해당 도메인이 어떤 IP로 연결되었는가 하는 정보가 없다면 그 도메인으로 어떤 주소로도 접속이 되지 않으며, [페이지를 표시할 수 없습니다]라는 메시지를 보여주게 됩니다.</p>
<p>이번 글은 아래의 글을 참고하였습니다. 
(출처: <a href="https://mypage.domainclub.kr/faq_view.htm?category2=FAQ&amp;no=95">https://mypage.domainclub.kr/faq_view.htm?category2=FAQ&amp;no=95</a>)</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[웹 프로토콜: HTTP ]]></title>
            <link>https://velog.io/@gundopark-123/%EC%9B%B9-%ED%94%84%EB%A1%9C%ED%86%A0%EC%BD%9C-HTTP</link>
            <guid>https://velog.io/@gundopark-123/%EC%9B%B9-%ED%94%84%EB%A1%9C%ED%86%A0%EC%BD%9C-HTTP</guid>
            <pubDate>Tue, 29 Jun 2021 05:46:15 GMT</pubDate>
            <description><![CDATA[<p>웹 기술이 뜰 수 있었던 것은 http 프로토콜과 html 때문입니다. html은 다른 포스팅을 참고하시고 여기선 http 프로토콜에 대해 공부해보겠습니다. 그럼 http는 뭘까요?</p>
<p><code>http는 일종의 통신 약속입니다. 프로토콜이라고 하죠.</code></p>
<p>통신 약속이요? 누구와 통신을 한다는 거죠?<br>서버와 클라이언트가 서로 통신합니다! </p>
<p>서버: http 프로토콜의 규칙에 따라 요청한 클라이언트의 요구를 처리하고 반응합니다. 
클라이언트: http 프로토콜에 따라 요청합니다. 리퀘스트라고 부르죠. 클라이언트의 리퀘스트 방법은 아래와 같습니다.</p>
<pre><code class="language-request.urlopen(&quot;http://www.naver.com)"></code></pre>
]]></description>
        </item>
        <item>
            <title><![CDATA[네트워크, 인터넷, 프로토콜 용어정리]]></title>
            <link>https://velog.io/@gundopark-123/%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC-%EC%9D%B8%ED%84%B0%EB%84%B7-%ED%94%84%EB%A1%9C%ED%86%A0%EC%BD%9C-%EC%9A%A9%EC%96%B4%EC%A0%95%EB%A6%AC</link>
            <guid>https://velog.io/@gundopark-123/%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC-%EC%9D%B8%ED%84%B0%EB%84%B7-%ED%94%84%EB%A1%9C%ED%86%A0%EC%BD%9C-%EC%9A%A9%EC%96%B4%EC%A0%95%EB%A6%AC</guid>
            <pubDate>Tue, 29 Jun 2021 05:36:16 GMT</pubDate>
            <description><![CDATA[<p>네트워크 : 봉화 같은 거/ 통신/ 4g /wifi
인터넷 : 네트워크간의 연결  inter network = internet 
인트라넷 : 내부망
프로토콜 : 통신규칙 혹은 약속, 인터넷에는 많은 프로토콜이 있다. </p>
<p><code>프로토콜의 예: IPv4, TCP, UDP  ftp,smtp,http</code></p>
]]></description>
        </item>
        <item>
            <title><![CDATA[브라우저에서 HTML 코드 찾는 단축키]]></title>
            <link>https://velog.io/@gundopark-123/%EB%B8%8C%EB%9D%BC%EC%9A%B0%EC%A0%80%EC%97%90%EC%84%9C-HTML-%EC%BD%94%EB%93%9C-%EC%B0%BE%EB%8A%94-%EB%8B%A8%EC%B6%95%ED%82%A4</link>
            <guid>https://velog.io/@gundopark-123/%EB%B8%8C%EB%9D%BC%EC%9A%B0%EC%A0%80%EC%97%90%EC%84%9C-HTML-%EC%BD%94%EB%93%9C-%EC%B0%BE%EB%8A%94-%EB%8B%A8%EC%B6%95%ED%82%A4</guid>
            <pubDate>Tue, 29 Jun 2021 05:33:57 GMT</pubDate>
            <description><![CDATA[<p><code>F12 &gt; ctrl shift C</code></p>
<p>디버깅할 때 유용하더라구요.</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[라이브러리와 프레임워크 차이]]></title>
            <link>https://velog.io/@gundopark-123/%EB%9D%BC%EC%9D%B4%EB%B8%8C%EB%9F%AC%EB%A6%AC%EC%99%80-%ED%94%84%EB%A0%88%EC%9E%84%EC%9B%8C%ED%81%AC-%EC%B0%A8%EC%9D%B4</link>
            <guid>https://velog.io/@gundopark-123/%EB%9D%BC%EC%9D%B4%EB%B8%8C%EB%9F%AC%EB%A6%AC%EC%99%80-%ED%94%84%EB%A0%88%EC%9E%84%EC%9B%8C%ED%81%AC-%EC%B0%A8%EC%9D%B4</guid>
            <pubDate>Tue, 29 Jun 2021 05:32:25 GMT</pubDate>
            <description><![CDATA[<p>라이브러리는 이미 구현되어 있는 프로그램입니다.
프레임워크는 이미 구현되어 있는 프로그램 제작을 위한 틀, 뼈대를 말합니다.</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[컴포넌트기반 개발방법론(CDB)]]></title>
            <link>https://velog.io/@gundopark-123/%EC%BB%B4%ED%8F%AC%EB%84%8C%ED%8A%B8%EA%B8%B0%EB%B0%98-%EA%B0%9C%EB%B0%9C%EB%B0%A9%EB%B2%95%EB%A1%A0CDB</link>
            <guid>https://velog.io/@gundopark-123/%EC%BB%B4%ED%8F%AC%EB%84%8C%ED%8A%B8%EA%B8%B0%EB%B0%98-%EA%B0%9C%EB%B0%9C%EB%B0%A9%EB%B2%95%EB%A1%A0CDB</guid>
            <pubDate>Tue, 29 Jun 2021 05:30:51 GMT</pubDate>
            <description><![CDATA[<p>객체 지향이 소스코드를 재사용하는 것이라면 CBD는 바이너리 정보를 재사용하는 것입니다.</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[node.js 세션 ]]></title>
            <link>https://velog.io/@gundopark-123/node.js-%EC%84%B8%EC%85%98</link>
            <guid>https://velog.io/@gundopark-123/node.js-%EC%84%B8%EC%85%98</guid>
            <pubDate>Tue, 29 Jun 2021 05:28:26 GMT</pubDate>
            <description><![CDATA[<p> 세션이란 클라이언트와 서버 간의 논리적인 연결을 유지하는 것입니다.세션은 세션ID, 세션TABLE으로 이뤄져있습니다. 먼저, 세션TABLE은 키, 밸류로 이뤄져 있습니다. 세션 TABLE 생성 방법은 아래와 같습니다.</p>
<pre><code>req.session.키 = 밸류;</code></pre><p>선언과 동시에 테이블이 만들어집니다. </p>
<p> 세션이 논리적인 연결이라면 연결이 끊어질 수도 있겠죠? 간단히 2가지 경우에 세션이 사라지는데요. 서버가 꺼질 경우와 세션의 유효시간이 초과할 경우입니다. 이를 통해 세션이 메모리에 있다는 걸 알 수 있습니다. </p>
<p><code>로그인을 하고 일정시간이 지난 후 자동으로 로그아웃이 되있는 경험을 해본 적이 있을 겁니다. 세션의 유효시간이 초과했기 때문이지요.</code></p>
<p>세션ID를 설명하기 전 먼저 쿠키에 대해 설명하겠습니다. 세션이 서버에 저장된 텍스트 파일이라면 쿠키는 클라이언트(브라우저)에 저장된 작은 텍스트 파일이죠. 그렇다면 쿠키는 누가 만든 걸까요? 바로 서버입니다. 서버가 쿠키를 만든 다음 클라이언트에 전달해줍니다. </p>
<p><code>지난주에 방문한 A온라인 쇼핑 사이트에서 본 신발이 오늘도 A사이트에서 보이네요. 로그인도 안했는데 어떻게 알았지? 다 쿠키 덕분이죠. 브라우저는 여러분을 기억하고 있습니다.</code></p>
<p> 자 그럼 세션ID는 뭘까요? 네! 맞습니다. 쿠키입니다. 쿠키에 저장된 세션ID를 통해 서버의 세션TABLE에 접근할 수 있습니다.</p>
<p> <code>세션ID를 만든이 : 서버
  세션ID를 저장한이 : 클라이언트(쿠키)</code></p>
<p> 아이디 자동생성 기능도 바로 브라우저에 저장된 쿠키 때문에 가능한 것입니다. 쿠키의 유효기간은 쿠키를 만들어준 서버에 의해 정해집니다. 길게는 1년도 보관할 수 있네요. 유통기한이 길죠?</p>
]]></description>
        </item>
    </channel>
</rss>