본문 바로가기

2017/0475

Node.js Node.js 인터넷 상에는 수많은 웹 사이트가 존재한다. 이러한 웹을 개발 할 때에는 두 가지의 부분으로 크게 나눌 수 있다. 웹페이지 디자인이나 버튼 기능처럼 사용자가 사용할 수 있는 부분을 만드는 프론트엔드와 사용자가 볼 수는 없지만 서버나 데이터를 관리하는 역할을 하는 백엔드 부분이다. HTML이나 CSS와 같은 부분은 프론트엔드 기술이고 DB나 서버는 백엔드 기술에 속한다. 프론트엔드 부분에 큰 영향을 끼치는 기술이 있는데 그것이 바로 자바스크립트이다. 웹사이트의 3대 요소로 HTML, CSS 그리고 자바스크립트라고 할 수 있다. HTML은 웨베이지의 큰 뼈대를 담당하고 CSS는 디자인적 요소를 담당하고 자바스크립트는 객체지향 스크립트 언어로서 웹페이지의 동자에 대한 담당을 한다. 프로그래밍 입.. 2017. 4. 19.
스니핑 공격 & 스푸핑 공격 스니핑 공격 & 스푸핑 공격 스니핑 공격은 스니퍼를 이용하여 네트워크상의 데이터를 도청하는 행위를 말한다. 스니퍼란 컴퓨터 네트워크상에 흘러 다니는 트래픽을 엿듣는 도청장치라고 할 수 있다. 스니핑 공격을 수동적 공격이라고 말하는데 공격할 때 아무 것도 하지 않고 조용히 있는 것만으로도 충분하기 때문이다. 드라마에서 주인공이 문 앞에서 다른 이의 대화를 엿듣는 것이나 도청하는 것 역시 스니핑 공격의 일종이다. 컴퓨터 내에서의 스니핑 공격은 일반적으로 작동하는 IP 필터링과 MAC 주소 필터링을 수행하지 않고, 랜 카드로 들어오는 전기 신호를 모두 읽어 들여 다른 이의 패킷을 관찰하여 정보를 유출시키는 것을 의미한다. LAN 상에서 개별 호스트를 구별하기 위한 방법으로 이더넷 인터페이스는 MAC 주소를 갖.. 2017. 4. 19.
컴퓨터 네트워크 14장 - 이더넷 - 컴퓨터 네트워크 14장- 이더넷 - 앞장에서 봤던 IEEE 802 시리즈 중 802.3은 1-persistent CSMA/CD 방식의 LAN 환경에서의 표준안이고 이더넷은 802.3에 있는 제품이다. 공유 버스 구조에서 호스트 간의 프레임 충돌을 방지하기 위해서는 프레임을 전소하기 전에 다른 호스트가 공유 버스를 사용하고 있는지를 확인해야한다. 이는 전송 선로에 흐르는 신호를 감지하는 것으로 구현할 수 있는데 이러한 기능을 수행하는 것이 신호 감지 프로토콜이다. 1-persistent CSMA는 프레임을 전송하기 전에 채널 사용 여부를 확인하는 신호 감지 프로토콜의 형태 중 하나이다. 호스트는 채널이 사용 중이면 유휴 상태가 될 때까지 기다리다 유휴 상태가 변경되면 무조건 프레임을 전송한다. 하지만 다중.. 2017. 4. 19.
컴퓨터 네트워크 13장 - MAC 계층과 IEEE 802 시리즈 - 컴퓨터 네트워크 13장- MAC 계층과 IEEE 802 시리즈 - LAN 환경은 근거리에 분포된 호스트를 연결하므로 네트워크 전송 효율이 전송 매체뿐만 아니라 연결 방식이나 전송 방법에도 큰 영향을 받는다. 따라서 LAN 환경에서 데이터링크 계층을 LLC 계층과 MAC 계층으로 나누어 처리한다. 상위에 LLC 계층이 있고 하위에 MAC 계층이 존재한다.LLC 계층은 데이터링크 계층의 기본 기능을 수행한다. WAN 환경의 데이터링크 계층과 거의 유사한 역할을 한다고 할 수 있다. LAN 특성에 따라 부분적인 차이를 나타낼 수 있다. MAC 계층은 물리적 선로의 특징과 매체간의 연결방식에 따른 제어에 대한 역할을 담당한다. WAN 환경에서는 없고 LAN 환경에서 추가된 것으로 알 수 있다. 예시로는 이더넷,.. 2017. 4. 19.
운영체제 8장 - 프로세스 관리(5) : 세마포(semaphore) - 운영체제 8장- 프로세스 관리(5) : 세마포(semaphore) - 프로세스/쓰레드 동기화는 여러 개의 프로세스/쓰레드가 공통으로 데이터에 접근하려고 할 때 발생하는 문제를 해결하는 방법이다. 동기화 부분은 스케줄링과 더불어 프로세스 관리에서 매우 중요한 부분을 차지한다. 세마포는 프로세스/쓰레드 동기화를 위한 도구 중 하나이다. 앞장에서 세마포의 원리에 대해서 알아보았는데 이번 장에서는 더욱 자세히 세마포에 대해 다루어보도록 하겠다. 쓰레드가 동작하는 공간에는 공통 데이터를 수정할 수 있는 임계구역이 존재한다. 쓰레드가 동작을 하면서 임계구역에 들어가게 되면 데이터를 수정할 수 있다. 쓰레드가 코드를 동작하는 도중에 acquire() 명령어가 실행되면 임계구역에 들어가라는 명령이므로 쓰레드가 임계구역.. 2017. 4. 19.
라즈베리파이 라즈베리파이 원래 프로그래머들은 소프트웨어 영역에서 무언가를 창조하는 사람들이었다. 하지만 최근에는 활동 범위가 하드웨어의 영역까지 넘어가고 있다. 이러한 영역 확장에 큰 역할을 한 기술이 바로 라즈베리파이이다. 아두이노와 함께 소수의 관련 업계 엔지니어들만의 영역이었던 개발 보드의 저가화와 대중화의 시대를 연 주역이라고 할 수 있다. 라즈베리파이는 초소형/초저가 PC이다. 라즈베리파이의 시작은 영국 잉글랜드의 라즈베리파이 재단이 학교와 개발도상국에서 기초 컴퓨터 과학의 교육을 증진시키기 위해 개발한 신용카드 크기의 싱글 보드 컴퓨터이다. 출시 직후(2012년 3월) 엄청나게 많은 관심을 받아 판매 1시간 만에 매진되는 현상이 발생했고 2013년 11월까지 200만대 이상이 팔렸다. 라즈베리파이라는 이름.. 2017. 4. 19.
DDos & DRDos DDos & DRDos 수강 신청이나 유명한 연예인의 콘서트 티켓을 예매하려고 들어가면 서버가 마비되는 현상을 종종 볼 수 있다. 물론 평상시에는 잘 돌아가는 서버이나 한 순간에 접속자가 많이 몰리게 되면 서버가 수많은 접속자를 관리하지 못하고 터져버리는 것이다. 물론 이러한 상황은 악의적인 상황이 아니므로 문제가 되는 것은 아니다. 물론 이 때문에 실패를 한 사람은 문제가 되겠지만 말이다. 하지만 위와 같은 서버 마비를 일부로 시키는 방법이 있다. 그것이 바로 분산 서비스 거부 공격인 DDos라고 할 수 있다. 인터넷 상에서 사이트 공격을 하는 방법 중 하나로 사이버테러의 대표적인 예라고 할 수 있다. DDos라는 방식을 사용하기 위해서 좀비 PC가 필요하다. 유포한 악성코드를 통해서 PC들을 유사시에.. 2017. 4. 18.
컴퓨터 네트워크 12장 - 프레임 및 다항코드 - 컴퓨터 네트워크 12장- 프레임 및 다항코드 - 데이터 링크 계층에서는 전송 데이터를 프레임이라는 작은 단위로 나누어 처리한다. 전송 프레임에는 상위 계층에서 보낸 전송 데이터의 오류를 확인하기 위한 체크섬, 송수신 호스트의 주소, 기타 프로토콜에서 사용하는 제어 코드 같은 정보가 포함된다. 프레임은 내부 정보를 표현하는 방식에 따라 문자 프레임과 비트 프레임으로 나누어진다. 문자 프레임은 프레임의 내용이 문자로만 구성된다. 프레임의 시작과 끝에 특수 문자를 사용하여 구분하는데 시작에는 DLE/STX가 나오고 끝에는 DLE/ETX를 두어 프레임을 다른 정보와 구분하게 된다. 하지만 데이터 안에도 DLE/STX나 DLE/ETX 와 같은 문구가 포함되어 있을 수 있어 데이터를 읽는 과정에서 혼선을 일으킬 수.. 2017. 4. 18.
운영체제 7장 - 프로세스 관리(4) : 임계구역 문제 및 세마포어 - 운영체제 7장- 프로세스 관리(4) : 임계구역 문제 및 세마포어 - 앞장에서 프로세스 동기화가 필요한 이유에 대해서 설명을 하였다. 은행계좌 문제를 통해 공통변수인 은행계좌에 대한 동시 업데이트가 발생하면 문제가 발생할 수 있다. 따라서 우리는 한 번에 한 쓰레드만 업데이트하는 프로세스 동기화가 필요하다. 이러한 문제를 임계구역 문제라고 한다. 여러 개의 쓰레드로 이루어진 시스템에서 각각의 쓰레드는 코드의 영역을 가지고 있는데 이 부분을 임계구역이라고 한다. 임계구역에서는 공통으로 사용하는 데이터를 바꾸거나 테이블을 업데이트하거나 파일을 쓰거나 하는 일을 할 수 있다. 앞의 은행계좌 문제로 설명을 하면 은행계좌에 대한 영역이 바로 임계구역이 되는 것이다. 임계구역을 영어로 하면 Critical sect.. 2017. 4. 18.
도메인 등록 방법 도메인 등록 방법 자세한 사항은 아래 참조. 요즘 대부분의 사람들은 인터넷을 사용한다. 자신이 원하는 정보를 찾기 위해 사용하기도 하고 재미있는 영상을 보기 위해서 사용하기도 한다. 하지만 상당수의 사람들이 도메인을 의식하지도 않고 지낸다. 그러면 도메인은 무엇일까? 도메인은 다른 말로는 인터넷 주소라고 한다. 하지만 컴퓨터는 숫자로 된 주소를 가지고 있다. 하지만 우리가 사이트에 접속하기 위해 모든 숫자로 된 주소를 외울 수가 없다. 따라서 우리는 조금 더 기억하기에 용이하도록 주소를 단어로 바꾸었는데 이것이 바로 도메인이다. 우리가 항상 접속하는 네이버나 구글도 도메인이라고 할 수 있다. 도메인은 어떻게 구성되는가? 예를 들어 google.co.kr이라는 도메인 주소를 분해해볼 수 있다. google.. 2017. 4. 18.