Public & Private

Unity 에서는 C# 코드의 Public 과 Private 키워드로 클래스의 Properties 를 유니티 에디터에 노출시킬 지 말지를 결정할 수 있다.

Public

Public 키워드일 경우, 유니티 에디터에서 해당 변수/메소드를 참조할 수 있다.

1
public int hp = 100;

이 경우 유니티 에디터에서 hp 변수에 값을 지정할 수 있다.

Private

더 읽어보기 »

Hexo Excerpt

Hexo 의 홈 화면에서 포스트의 모든 내용을 보여주지 않고 일부분만 노출되도록 할 수 있다.
hexo-excerpt 플러그인을 설치하면 포스트의 일부만 노출되고 ‘더 읽어보기’ 버튼이 나타난다.

플러그인 설치하기

1
$ npm install hexo-excerpt

_config.yml 설정하기

blog/_config.yml 에서 아래 내용을 추가/수정 해준다.

1
2
3
4
# hexo-excerpt
excerpt:
depth: 7 # 7줄 까지만 노출된다는 뜻
hideWholePostExcerpt: true
더 읽어보기 »

Hexo-NEXT 테마 설치하기

Hexo-NEXT 설치는 Migration From Jekyll To Hexo 에 설명해 두었다.

Hexo-NEXT _config.yml 설정하기

blog/themes/next/_config.yml 을 수정한다.

1
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
31
footer:
since: 2019

copyright: <UserName>

scheme: Mist

sidebar:
position: right

toc:
enable: true
number: true
wrap: false
expand_all: false

back2top:
enable: true
sidebar: true
scrollpercent: true

reading_progress:
color: "#87daff"
height: 4px

github_banner:
permalink: https://github.com/<UserName>

disqus:
enable: true
shortname: <DisqusUserName>

Categories, About 등의 페이지 생성하기

NEXT _config.yml 수정하기

더 읽어보기 »

Hexo 로 변경한 이유

오랫동안 방치해뒀던 블로그를 다시 시작하기로 했다.

이전엔 블로그를 Jekyll 로 구성했었는데, Hexo 에 마음에 드는 테마가 있기도 했고, 블로그를 다시 시작하는 마당에 새로 다시 만들어보고자 Hexo 로 구성을 해 보았다.

Hexo 설치 및 구성

준비물

  • github 계정
  • Node.js
  • npm

설치하기

더 읽어보기 »

도메인 등록

regist_domain

출처: 생활코딩 - WEB2-Domain Name System.9.도메인 이름 등록 과정과 원리
{: .text-right}

자신이 원하는 도메인을 DNS 서버에 등록하기 위해선 일정 비용을 지불하고 ‘등록대행자’ 에게 등록을 요청하면 됩니다.


Domain Record Type

이전 공부에서 hosts 파일에 ip주소와 도메인 이름을 넣어줬던것 처럼, 각 DNS 서버에는 이러한 hosts 파일을 갖고 있는데, 이 파일 안의 하나의 정보를 Domain Record 라고 합니다.

도메인 레코드는 여러개의 타입을 갖고 있는데, 그 중 ‘A’ 타입과 ‘NS’ 타입에 대해 알아보겠습니다.

  • A type
    • Address 타입입니다. 도메인이름 A ip주소 의 형식이고, 도메인이름에 ip주소를 연결짓습니다.
  • NS type
    • Name Server 타입입니다. 도메인이름 NS 네임서버 의 형식이고, 도메인이름에 관한 정보를 알고 있는 네임서버 도메인을 연결합니다.

더 읽어보기 »

도메인 이름의 구조

domain_name_structure

출처: 생활코딩 - WEB2-Domain Name System.8.도메인 이름의 구조
{: .text-right}

도메인은 위와 같은 구조로 이루어져 있습니다.

  • ( . ) : 가장 오른쪽에 찍혀있는 점이고 Root 레벨을 뜻합니다. 보통은 생략되어 있습니다.
  • com : Top-level
  • example : Second-level
  • blog : sub-level

왼쪽이 하위계층, 오른쪽이 상위계층의 도메인입니다.





더 읽어보기 »

ip 와 host

ip

ip 는 이전 공부에서도 많이 봤었죠. 인터넷에 연결된 각 컴퓨터들에 대한 주소입니다.

0부터 255까지 256개의 숫자를 4개 조합해 만듭니다.

총 ip 수 : 256*256*256*256 = 4,294,967,296 개

1
ip 주소 예) 127.0.0.1

더 읽어보기 »

유동 ip 와 고정 ip

일반적으로 ip 는 바뀌고 있습니다. 만약 어떤 순간에 확인한 내 공유기의 외부 ip가 59.6.66.238 이었다면, 일정 시간이 지난후엔 내 공유기의 외부 ip가 59.6.66.238 이 아닐 수도 있다는 겁니다. 이를 유동 ip 라고 합니다.

때문에 집에서 서버를 운용할때 어느 한 ip 주소로 서비스를 하려 했다면, 어느 순간엔 ip 주소가 변경돼 동작하지 않을 수도 있다는 말이죠.

ip 주소를 변경하는 주체는 ISP(Internet Service Provider) 이고, 고정 ip 를 사용해서 서버를 원활히 서비스하고 싶다면 ISP 에 일정 비용을 지불하고 고정 ip를 할당받을 수 있습니다.





DHCP (Dynamic Host Configuration Protocol)

DHCP(Dynamic Host Configuration Protocol). 우리말로 동적 호스트 구성 프로토콜은 각 호스트(디바이스)들의 ip 구성을 관리하는 통신규약입니다.

각 호스트들이 ip 를 할당받는 데 있어서 할당받는 호스트를 DHCP client 할당해 주는 호스트를 DHCP server 라고 하고,

DHCP client 가 어떤 ip 로 할당받을지, 중복된 ip인지 고민할 필요 없이, DHCP server 에서 일괄적으로 맡은 client 들에게 동적으로 ip를 할당해 줍니다.

동작 방식은 이렇습니다.

DHCP
출처: 생활코딩 - WEB2-Home Server. DHCP
{: .text-right}

  1. 모든 인터넷에 연결되는 디바이스들은 공장에서 출고될때 각각의 MAC(Media Access Control) Address 를 가지고 있습니다. 고유한 주소입니다.
  2. 8c:85:90:0c:e3:cc 라는 MAC 주소를 가진 내 컴퓨터에서 “ip 주소를 주세요” 라는 메시지를 로컬 네트워크 전체에 뿌립니다.
  3. DHCP Server 인 88:36:6C:33:FC:50 라는 MAC 주소를 가진 라우터가 이 메시지를 받고 8c:85:90:0c:e3:cc 로 할당 가능한 ip 주소를 보내줍니다.

    DHCP Server 가 로컬 네트워크 내에 그간 할당해준 ip 주소들을 관리하고 있기 때문에, 사용되지 않은 적절한 ip 주소를 할당해 줄 수 있습니다.
  4. 이제 8c:85:90:0c:e3:cc 는 할당받은 ip를 사용하면 됩니다.
더 읽어보기 »

포트 포워딩 (Port Forwarding)

라우터의 기능을 이용해 외부 클라이언트가 내 서버로 접속하기 위해 포트 포워딩을 하는법을 공부해봅니다.



원리는 간단합니다.

외부 클라이언트는 내 서버로 접속하기 위해 라우터의 주소를 보고 접속하기 때문에, 라우터 쪽에서 외부 클라이언트의 요청을 받으면 내 서버로의 주소로 넘겨주는 겁니다.

단, 라우터에 연결된 디바이스들이 여러개이기 때문에, 라우터 주소의 포트(외부 포트)를 통해 내부의 어느 디바이스로 보낼지 결정하게 됩니다.

port_forwarding

출처: 생활코딩 - WEB2-Home Server. Port
{: .text-right}

위의 그림에서 알 수 있듯이, 외부 클라이언트가 59.6.66.238:8080 으로 요청하면 라우터는 로컬 네트워크의 192.168.0.3:80 으로 요청을 보내줍니다.





포트 포워딩 적용하기

더 읽어보기 »