본문 바로가기
반응형

전체 글340

[네트워크] HTTP의 기초 - 2 HTTP의 기초 -2 HTTP의 동작 방식에 대해서 알아보자 사용자가 URL을 입력하면 브라우저가 HTTP request로 서버로 보낸다이 서버는 request를 분석하여 클라이언트가 원하는 HTTP response를 보내게 된다.이렇게 response를 받은 클라이언트는 이를 바탕으로 원하는 결과물을 출력한다.(물론 HTTP request와 response에 포멧이 정해져 있다.) 추가로, 실제로는 URL을 가지고 DNS가 어떤 서버로 보낼지 변환을 한다.사람은 URL을 인식하는데 서버는 이를 IP로 인식하기 때문에 서버까지 URL을 전달하는데 DNS가 개입하게 된다. HTTP Request HTTP request 메세지는 다음과 같이 생겼다.Request line과 Request Header를 합쳐서.. 2017. 4. 18.
[네트워크] HTTP의 기초 - 1 HTTP의 기초 - 1 웹은 월드 와이드 웹(WWW), 줄여서 WWW로 표시한다 인터넷과 웹은 다른것이다.인터넷은 미국 국방성에 의해서 개발된 ARPANET이 전신이며,웹은 팀 버너스리에 의해서 개발 되었다. 웹의 탄생 배경은 팀 버너스리가 다니던 회사 내부 여러 컴퓨터의 문서 교환이 불편한 관계로 효율적인 방법을 찾다가공통의 망으로 연결하여 데이터의 교환이 이루어지게 한것이 시초이다. 웹의 3요소는 HTTP, HTML, URL이다프로토콜은 HTTP,전송하는 문서는 HTML,전송하는 문서의 고유한 주소는 URL이다. 여기서 HTTP란 HyperText Transfer Protocol, 웹에서 텍스트와 이미지들을 전송하는 통신 규약을 타내낸다.HTTP를 이용해서 WWW상에서 데이터를 주고받을수 있으며주로 .. 2017. 4. 18.
[기술의역사] C++ (C 플러스 플러스) C++ (C 플러스 플러스) C++ 개발자 비야네 스트롭스트룹(Bjarne Stroustrup) 1983년 AT&T 벨 연구소의 비야네 스트롭스트룹이 C언어를 기반으로 객체지향프로그래밍(Object Oriented Programming)과 STL(Standard Templete Library)를 추가하여 만들어진 언어이다. C언어를 기반으로 했기때문에 C++ 컴파일러에 C언어를 컴파일 할수있다. 초기에는 C 언어에 객체지향을 위한 기능을 추가한 언어라고 취급 되었다. 예로, 초기에 C++를 컴파일 하기 위해서는 작성된 C++에서 C로, C에서 기계여로 번역되는 순서를 보였다. 그러나 표준 규격이 바뀜에 따라 C언어와의 호환성은 깨지게 되었고, 현재는 완전히 별개의 언어로 보는것이 맞다고 본다. 보통 국내.. 2017. 4. 18.
[기술의역사] C언어 C 언어 1972년 켄 톰슨과 데니스 리치가 개발한 고급 언어이다.당시 새롭게 개발한 유닉스 운영체제에서 사용하기 위한 고급 언어가 필요했고톰슨이 이를 위해 B 언어를 먼저 개발했다. 사실 케임브리지 대학에서 시작된 CPL이라는 언어가 BCPL(Basic CPL)로 발전하게 되고,B언어는 이때 개발된 BCPL의 영향을 많이 받았다. 이후 B언어인 이유는 데니스 리치가 수정을 거쳐 C 언어가 탄생하게 되었다.언어의 이름이 C인 이유는 여러가지 설이 있는데 'B언어 다음에 나와서 C' 라는 이유가 가장 심플하다. B 는 벨(Bell) 연구소의 앞글자에서 따왔다. 이 때문에 기존에 어셈블리어로 개발되었던 유닉스 운영체제는 C로 전환되었고 이후에 등장한 많은 커널들도 C를 기반으로 제작되었다. 꾸준히 등장하는 .. 2017. 4. 18.
[기술의역사] 리눅스 Linux 리눅스 (Linux) 리눅스의 마스코트 턱스(Tux)그냥 펭돌이 정도가 어울리는데 리눅스는 1989년 핀란드 헬싱키 대학에 재학중이던 리누스 토르발즈(linus Torvalds)가 유닉스를 기반으로 개발한공개 오퍼레이팅 시스템(Operation System, OS)이다리눅스는 원래 커널을 칭하는 말이었지만, 현재는 GNU 프로젝트의 라이브러리와 도구들이 포함된 전체 운영체제를 칭한다. 엔비디아가 리눅스를 지원하지 않는다는 사실에 분개하는 리누스 당시 학생이었던 리누스는 교육용 유닉스인 미닉스가 설치된 컴퓨터를 사용하면서 마음에 안드는 부분을 추가하였고이것이 점차 거대해져서 새로운 운영체제가 되어버렸다.초기 미닉스는 교육용이었던 탓에 기능이 별로 없었으며 유닉스 기준인 POSIX를 만족하지 않았다.때문에 .. 2017. 4. 18.
[기술의역사] 유닉스 UNIX 유닉스(UNIX) 간단하게 말해, 유닉스는 운영체제이다.현재 윈도우를 제외한 맥 OS, 리눅스, 안드로이드 등이 유닉스를 기반으로 제작되었다. 유닉스는 1960년대 말 MIT와 AT&T의 벨 연구소 주도하에 개발한 시분할 운영체제 멀틱스가 기원이다.멀틱스는 기능이 다양하고 우수한 운영체제였으나 고비용이었던 탓에 켄 톰슨과 데니스 리치가 60년대와 70년대에 걸쳐 중요한 기능만 뽑고, 단순화시킨 유닉스를 개발하게 된다.유닉스라는 이름자체가 멀틱스와 대조되는, 단순화된 운영체제라는 뜻이 내포되어있다. 사실 어떠한 목적을 가지고 유닉스를 개발했다기 보다는 연구진들의 재미 반 호기심반으로 시작한 프로젝트가 이렇게 발전 한 것이라고 볼 수 있다.당시 연구진들이 재미로(ㅎㄷㄷ) OS를 제작했기 때문에 강력한 퍼포먼.. 2017. 4. 18.
[SQL] 데이터 정렬 조회 데이터 정렬 조회 순서에 따라 데이터를 정렬하여 조회해야할 경우가 있다이런경우 ORDER BY를 이용하여 데이터를 정렬후 조회한다. 1SELECT * FROM 테이블명 ORDER BY 정렬의 기준으로 사용할 열 [DESC | ASC] cs 테이블을 선택 후 정렬기준을 ORDER BY로 설정한다.이후 DESC나 ASC으로 오름/내림 차순을 결정한다.(DESC - Descend, ASC - Ascend) 데이터의 크기나 생성순서 등을 기준으로 정렬된다. 초기데이터는 다음과 같다 distance를 기준으로 내림차순으로 정렬했을때 모습이다. 우선 distance를 기준으로 내림차순으로 정렬 후, 같은 값이 있다면 address를 기준으로 오름차순으로 정렬한다. - 소스 출처 : 생활코딩(opentutorials) 2017. 4. 18.
[SQL] 데이터 그룹핑 데이터 그룹핑 데이터의 값을 특정한 값으로 묶기 위해서는 그룹핑이 필요하다. 1SELECT * FROM 테이블명 GROUP BY 그룹핑 할 기준 칼럼명 cs SELECT 명령이 기본이 되며 GROUP BY 뒤에 적힌 칼럼을 기준으로데이터값이 출력이된다 데이터베이스에는 다음과 같은 데이터들이 저장되어 있다. 전과 다른점은 집까지의 거리를 나타내는 distance 가 추가되었다 성별을 그룹으로 출력 했을때 성별에 있는 값 들의 중복이 제거된 후, 그룹화 되어 출력된다. sum()은 합계를 avg()는 평균을 출력한다. 위의 예제는 성별에 따라 그룹화된 distance의 합계와 평균을 출력한다. 따라서 GROUP BY를 이용하면 데이터값의 중복을 제거하여 출력하거나, 그룹화 된 값을 기준으로 계산된 다른값을 .. 2017. 4. 18.
[SQL] 데이터 조회 데이터 조회 ​데이터베이스에서 저장하고 있는 데이터가 많은 만큼 효과적으로 데이터를 조회(검색)하는 방법도 중요하다. 12345SELECT 칼럼명1, 칼럼명2 [FROM 테이블명 ] [GROUP BY 칼럼명] [ORDER BY 칼럼명 [ASC | DESC]] [LIMIT offset, 조회 할 행의 수]Colored by Color Scriptercs 기본적으로 SELECT 명령으로 데이터 조회를 하며컬럼으로 *를 사용한다면 모든 컬럼을 선택할 수있다. ​FROM은 조회할 테이블을 선택하며 뒤에 나오는 명령들은 옵션이므로 추후 설명하도록 하겠다. 모든 데이터 출력 SELECT * FROM student;* 기호로 student 내부의 모든 컬럼을 선택하여 출력한다. 컬럼을 선택하여 출력 select na.. 2017. 4. 18.
반응형