본문 바로가기

전체 글

내게 필요한 정보 정리 [HTTP통신 / TCP통신++Socket] 나에게 필요한 정보만 정리 HTTP통신이란?웹 서버와 웹 클라이언트 간의 통신을 위한TCP/IP 4계층인 응용(application)계층의 프로토콜.사용자가 웹브라우저를 통해 웹페이지를 요청하고웹브라우저는 해당 요청을 서버에 전송한다서버는 요청받은 웹페이지를 클라이언트에게 전송한다.디폴트로 무상태 프로토콜이기 때문에연결을 계속 유지하지 않는다.(요청->응답->통신끊음)HTTP의 header에는 요청,응답,엔티티등 통신에 필요한 여러 정보를 담는다.  TCP통신이란?한 컴퓨터와 다른 컴퓨터(클라이언트와 서버)사이에서양방형으로의 통신을 위한 프로토콜이다.해당 프로토콜은 4계층중 3계층인 전송(transport)계층에 속한다.HTTP통신과는 다르게 통신 상태가 확인된후가능하면 연결을 유지한다.TCP의 헤더에는.. 더보기
내게 필요한 정보 정리 [프레임워크,라이브러리,클래스] 나에게 필요한 정보만 정리 클래스는 객체 지향 프로그래밍에서 특정 개체를 생성해내기 위해 변수와 메소드를 정의하는 틀 라이브러리는 api를 기반으로 대상 환경에서 바로 실행될 수 있도록 모듈화된 프로그램 모음 구조 프레임워크는 보통 생명주기를 관리하며 개발패턴을 정형화할 수 있고 클래스와 라이브러리를 합쳐 유사 모듈화시킨 구조 그러나 프레임워크중에서도 오히려 라이브러리와 유사한 형태를 가진 것들이 있다 이 때문에 해외에서는 이것에 대한 논의가 활발하며 제작자가 프레임워크라고 정의하면 프레임워크 라이브러리라 정의하면 라이브러리로 정해지는 방향이 되었다 Apache Hadoop은 프리웨어 자바 소프트웨어 프레임워크 종류는 분산 파일 시스템 운영체제는 크로스플랫폼(여러종류에서 동작 가능) Apache Spar.. 더보기
내게 필요한 정보 정리 [MapReduce, Yarn] 나에게 필요한 정보만 정리 - MapReduce에 대해 MapReduce는 대용량 데이터를 분산 처리하기위한 모델이다. Map+Reduce를 합쳐 부르는 것인데 Mapping은 분산된 상태로 저장되어 있는 데이터들을 관련있는 데이터로 묶어 임시적으로 변형이 되는 과정이다. Reducing는 Mapping에서 변형된 데이터에서 원하는 데이터를 추출하는 과정이다. MapReduce는 Map과 Reduce만으로 이루어져 있지 않다. (아래는 Word Counting 에서의 과정 설명) 1.Splitting : 입력한 데이터를 line-by-line으로 읽어들여 (key,value)로 분할 2.Mapping : Map함수를 사용해 문자를 분리하며 단어의 개수를 확인 3.Shuffling : Mapping에서 메.. 더보기
내게 필요한 정보 정리 [SSH] 나에게 필요한 정보만 정리 -셸이란? 컴퓨터는 [하드웨어]와 [소프트웨어]로 되어있고 소프트웨어는 [응용프로그램]과 [운영체제]로 되어있다. 응용프로그램은 웹브라우저 같은 프로그램들이다. 운영체제는 [커널]과 [시스템프로그램]으로 되어있는데 셸이 대표적인 시스템프로그램이다. 터미널이나 cmd를 통해 셸로 커널에 명령어를 전달하여 처리하고 결과를 알려준다. 이러한 셸은 크게 CUI와 GUI로 나눌 수 있다. ->>운영체제란?.....사용자의 하드웨어,시스템 자원을 관리하고 응용 프로그램을 실행할 수 있도록 서비스를 제공하는 오퍼레이팅 시스템이다. -커널이란? 위에서 나온것 처럼 운영체제는 커널과 시스템프로그램으로 나뉘는데 커널은 셸에게 받은 명령으로 메모리 관리,프로세스 관리,장치 드라이버,시스템 호출 및.. 더보기
내게 필요한 정보 정리 [우분투에서 파이썬 가상환경] 나에게 필요한 정보만 정리 -가상환경이란? 독립적인 파이썬 실행환경 말그대로 가상의 환경을 따로 설정하여 필요한 라이브러리만을 설치하여 라이브러리 충동을 피할 수 있다. -pip란? 파이썬 패키지(파일),모듈(라이브러리) 매니저 pip로 파이썬에 가상환경을 설치할 수 있다. -가상환경 만들기(우분투에서)- 1단계[pip로 가상환경 설치] 우분투에서 가상환경을 설치하기 위해 python3-pip를 사용해 install할 필요가 있다. 원하는 파일로 들어가서 python3 -m pip install --user -U virtualenv 입력(가상환경 설치) pip설치 안되있다면 아마 오류뜨면서 설명나올텐데 설명대로 pip설치하면 됨 -2단계[가상환경 생성] python3 -m virtualenv 원하는환경이.. 더보기
내게 필요한 정보 정리 [기초 우분투 명령어] 나에게 필요한 정보만 정리 -우분투Ubuntu란? 리눅스의 배포본은 Red Hat,CentOS,Mint,Ubuntu등 다양하게 존재한다. 그중 하나다. 당연히 리눅스와 같이 확장성이 좋고 보안성,안정성이 높고 가볍다. -나한테 필요한 기본 우분투 명령어? 터미널 실행 단축키:Ctrl+Alt+t ////터미널 내부에서//// ls:해당 디렉토리에 존재하는 파일목록 표시 ll:ls에 long추가한 명령어...파일목록 자세히 표시 who:시스템에 로그인 되있는 사용자 표시 w:지금 뭐하고 있는지 출력 hostname -i:현재 컴퓨터 ip주소 출력 cd:홈 디렉토리로 이동 cd 디렉토리명:현재 위치한 디렉토리에서 하위 디렉토리중 특정한 디렉토리로 들어간다. cd /디렉토리명:현재 위치상관없이 절대경로로 이동 .. 더보기
내가 보기위해 정리한 [C++로 작성한 심화정렬 정리(sort함수,힙,계수)] sort함수 *설명 - 라이브러리 안에 존재하는 정렬 함수로써 내림차순 오름차순을 자유자재로 설정하고 원하는 배열 부분을 즉시 정렬할 수 있고 사용자정의 함수로 사용자정의 비교연산자를 따로 만들어 새로운 함수로도 사용가능 *작동원리 내부 알고리즘이 quick sort(퀵 정렬)와 동일 https://parkrc1201log.tistory.com/5 내가 보기위해 정리한 C++로 작성한 기초정렬 정리(선택,버블,삽입,퀵,병합) 선택 정렬 설명 - 남은 배열값들중 최솟값을 찾아 맨앞으로 보내 순차적으로 정렬하는 방식 (서칭한뒤 정렬,,,,본래 처음 미니멈은 9999대신 int의 최댓값을 넣음-INT_MAX) 작동원리 파란색 - 배열위 parkrc1201log.tistory.com //퀵정렬과 동일하므로 시간.. 더보기
내가 보기위해 정리한 [C++로 작성한 기초정렬 정리(선택,버블,삽입,퀵,병합)] 선택 정렬 *설명 - 남은 배열값들중 최솟값을 찾아 맨앞으로 보내 순차적으로 정렬하는 방식 (서칭한뒤 정렬,,,,본래 처음 미니멈은 9999대신 int의 최댓값을 넣음-INT_MAX) *작동원리 파란색 - 배열위치확정,,,,,빨간색-범위내에서 가장 작은 값 서칭 1,10,5,8,7,2,4,3,6,9 1,10,5,8,7,2,4,3,6,9 1,10,5,8,7,2,4,3,6,9 1,10,5,8,7,2,4,3,6,9 1,2,10,5,8,7,4,3,6,9 1,2,10,5,8,7,4,3,6,9 ..... 1,2,3,4,5,6,7,8,9,10 이때 비교연산은 10+9+8+...+2+1,,,,,,,,,,,,(10개중 최솟값 서치,9개중 서치...) =(10+1)+(9+2)+...(6+5) =10*(10+1)/2 ->n.. 더보기