본문 바로가기

기타23

RFC1918과 CIDR 블록 인터넷을 사용하는 도메인이라면 IP가 있고, 그 IP가 중복이 되면 서로 구분할 수 없다. 따라서 각 IP가 유일하도록 관리하고 분배하는 주체가 있다. ICANN을 필두로 그 권한을 이어받아 ISP가 내가 사용하는 IP를 설정해준다. 하지만 회사나 네트워크에서는 모든 도메인에 공인 IP를 줄 순 없으니 여러 네트워크에서는 앞단에 라우터 하나를 두고 안쪽에서는 private network로 구성해서 사용한다. 그러면 공인 IP와 사설 IP를 구분할 기준이 필요한데 국제 인터넷 표준화 기구(IETF)에서 그 대역을 정했다. 권고 사항이긴 하지만 어길 경우에 이를 해석하는 과정에서 충돌이 일어날 수 있기 때문에 지켜야 한다. RFC1918 IP 대역 CIDR 10.0.0.0 – 10.255.255.255 10.. 2019. 10. 24.
jq로 JSON 처리하기 api 응답으로 json을 받은 경우 쉽게 데이터를 가공할 수 있는 jq에 대해 정리해본다. 커맨드라인 명령어인 만큼 최소한의 문법만 알아도 유익하게 사용할 수 있다. 설치 $ brew install jq 사용법 아래와 같은 json이 있을 때 입맛에 맞게 가공해보자. $ cat sample.json {"data":{"name":"myname","values": [{"id": "id0","url": "url0"},{"id": "id1","url": "url1"},{"id": "id2","url": "url2"}]}} 파싱 하기 jq .로 jq로 전달할 json을 넘길 수 있다. 추가적인 속성이 없기 때문에 별다른 처리 없이 바로 출력을 뱉지만 기본으로 파싱하는 과정을 거쳐 불필요한 공백을 없애고 보기 좋.. 2019. 10. 23.
npm에서 package.json의 module version관리 최근 연습 삼아 npm모듈을 만들어서 배포하고 있었는데 그 과정에서 API가 달라지는 경우가 있었다. 혼자 사용하는 거라면 늘 그랬듯이 후딱 고쳐서 사용했겠지만, npm에 배포를 하는 모듈이다 보니 신경 써야 할 것이 있었다. 내 모듈의 API가 바뀌었는데 정작 사용하는 곳에서 수정 없이 사용한다면 오류가 날 것이기 때문이다. 이런 API가 변경하는 경우를 대비해서 어떻게 모듈의 버전을 잡아야 하는지, npm에서 참조하는 모듈들은 어떻게 가져다 쓰는 건지 정리해봤다. 버전 변경을 하기 전에 먼저 사용하고 있는 버전의 규칙과, package.json에서 버전을 해석하는 방법에 대해서 알아보자. 버전 규칙 npm에서는 {MAJOR}.{MINOR}.{PATCH}를 따르는 Semantic Versioning을 .. 2019. 10. 15.
가산기(Carry-lookahead Adder) 구조 가산기 CPU의 연산처리과정을 익혀보던 중 그 흔한 덧셈을 과연 어떻게 최적화를 시켰을까 궁금해서 찾아보게 되었다. 가산기는 간단히 말하면 두 수의 덧셈을 연산하는 논리회로이다. 반가산기(half adder), 전가산기(full adder), RCA(ripple carry adder)는 익숙하지 않은 사람이 회로만 봐도 이해가 가능할 정도로 상당히 간결하다. 반가산기 전가산기 RCA 출처 : wikipedia 간단히 정리하면 반가산기는 입력으로 두 개의 bit가 주어질 때 S(sum)과 C(carry) bit를 구한다. 전가산기는 반가산기에 carry bit까지 입력으로 들어올 때를 구현했고, RCA는 이런 전가산기를 여러 bit에서 연산 가능하도록 조합한 형태이다. Ripple carry adder로 .. 2019. 10. 15.
티스토리 code highlight, mathjax 적용 티스토리 에디터에 마크다운 모드가 추가되면서 내용에 집중할 수 있어서 많이 편해졌지만 아직 부족한 부분들이 있다. 글의 주제상 아무래도 코드나 수학 용어를 종종 사용하는데 대표적으로 code highlight 기능과 수식 표현이 가장 필요하다. front를 직접 만들거나 jekyll 등으로 정적 사이트를 생성한다면 script 추가로 쉽게 해결하겠지만, 티스토리 에디터를 이용하는 만큼 티스토리에 맞는 방법으로 풀어야 한다. 다행히 티스토리에서는 html, css 등을 custom 하게 수정할 수 있는 방법을 제공한다. 관리 -> 스킨 편집 -> html 편집에서 입맛에 맞게 script를 편집할 수 있다. code hightlight 흔히 사용하는 언어들은 cdn에서 다운 받아서 바로 사용할 수 있다. .. 2019. 10. 15.