전체 글 썸네일형 리스트형 TCP/IP & UDP 1. Http란 Http는 HyperText Transfer Protocol의 준말로 하이퍼 미디어 문서를 전송하기 위한 애플리케이션 레이어 프로토콜인데 쉽게 설명하면 TCP/IP기반으로 서버와 클라이언트 모델을 따라 데이터(html, 이미지 등)을 주고받는 통신 프로토콜을 말합니다. 1-1. 회선통신과 패킷통신 예전에는 컴퓨터간의 통신은 패킷통신이 등장하기 이전 '회선교환' 이라는 방식을 사용했습니다. 회선교환은 송수신 단말기 사이에서 데이터를 전송할때 마다 통신경로를 설정해서 데이터를 교환하는 방식입니다. 그러나 , 회선교환방식은 효율적인 측면에서 단점을 드러냈습니다. 통신의 트래픽이나 이동방식을 고려하지않아 문제가 일어나고 단절에 매우 취약했습니다. 따라서 이러한 문제를 해결하기위한 방법으로 패킷통.. 더보기 MySQL 아키텍쳐 MYSQL 이란 MySQL은 전세계적으로 잘알려진 오픈소스 관계형 테이터베이스 입니다. 관계형 데이터베이스 (RDBMS) 의 질의언어인 SQL을 사용,쓰레드기반의 운영체제이며 매우 빠르고 광범위하며 사용하기 쉬운 특징이 있습니다. 또한 리눅스나 윈도우, 유닉스등 다양한 운영체제에서 사용할 수 있습니다. 1. MySQL 구조 MySQL 구조는 MySQL엔진과 스토리지엔진으로 구분하는데 클라이언트로부터 접속 및 쿼리 요청을 처리하는 커넥션 핸들러와 SQL파서 및 전처리기, 쿼리의 최적화된 실행을위한 옵티마이저가 중심을 이룹니다. 2. 엔진의 역할 및 동작순서 2-1. MySQL엔진 MySQL 엔진은 다음과 같은 구성 요소들이 중심을 이룹니다. 접속 및 쿼리 요청을 처리하는 커넥션 핸들러,SQL 파서,전처리기.. 더보기 데코레이터 (Decorator) 1. 데코레이터 데코레이터는 파이썬에서 강력하고 유용한 툴입니다. 데코레이터를 사용해서 함수를 감싸줌으로써 , 함수를 영구적으로 수정하지 않고 함수의 행위를 확장할 수있게 됩니다. 예를 들어 아래의 코드를 보면서 설명하면 #데코레이터 1 def print_hello(): # Line 1 print("Hello World !") def add_print_to(original): def wrapper(): print("func start") foobar() print("func end") return wrapper add_print_to(print_hello) # Line13 Line13의 add_print_to 함수호출로 print_hello 파라미터가 def add_print_to 함수의 파라미터로 들어.. 더보기 http 와 https 1. HTTP HTTP(Hyper Text Transfer Protocol)란 WWW상에서 서버/클라이언트 모델을 따라 데이터를 주고 받기 위한 통신프로토콜 입니다. 암호화가 되지 않은 평문 데이터를 전송하는 통신규약으로 80번 포트를 사용하고 있고 상태를 가지고 있지 않은 Stateless 프로토콜 입니다. http는 텍스트 교환이고 html페이지도 텍스트입니다. 때문에 HTTP로 비밀번호나 개인정보를 주고받으면 제3자가 정보를 조회할 수 있다는 보안부분의 취약점이 발생할 수 있었습니다. 이런 보안상의 문제를 해결해주는 프로토콜이 HTTPS입니다. 2. HTTPS HTTPS(Hypertext Transfer Protocol Secure)프로토콜은 HTTP의 보안 취약점을 개선하고자 SSL(Secure .. 더보기 중첩함수(nested function)와 클로저 1. 중첩함수 일급함수(first-class) 란? 프로그래밍 언어가 함수를 '일급객체' 취급하는 것을 말합니다. python에서는 모든 것이 객체이므로, python의 함수는 First-class함수로 사용이 가능합니다. 함수형 프로그래밍에서 고안된 기법입니다. python, GO, javascript, kotlin은 이를 지원합니다.(C , JAVA 등은 미지원) 일급객체 라고하면 변수나 데이타에 할당 할 수 있어야 합니다. 객체의 인자로 넘길 수 있어야 합니다. 객체의 리턴값으로 리턴 할수 있어야 합니다. 즉 , 중첨함수란 단어그대로 함수 안에 또 다른 함수가 선언되어 있는 것 입니다. 중첩 함수는 해당 함수가 정의된 함수 내에서 호출 및 리턴이 가능합니다. 함수 안에 선언된 변수(로컬 변수)는 함.. 더보기 지역변수와 전역변수 1.지역변수(Local Variable) 지역변수란 쉽게 설명해서 특정함수안에서만 사용가능한 변수를 말하는데 즉, 함수를 벗어난 위치에서 선언이 되면 사용이 불가능한 함수를 말합니다. 코드를 첨부해 예시로 들어보면 다음과 같습니다. 1. 위의 line1, '옷장안의 의류 수'라는 뜻을가진 숫자10을 closet라는 변수에 저장시킵니다. 2. 외출이라는 이름의 메소드를 가진 함수를 작성합니다. 3. 지역변수를 사용할 변수 closet를 설정해주고 line5에서 또 한번 변수 - 파라미터 를 다시 저장시켜줍니다. 4. 지역변수(line3~line7)내에 연산을 출력해줄 코드(남은 옷)를 작성합니다. 5. 함수를 호출해주고 위 아래에 전역변수의 남은 옷을 출력해줍니다. 6.함수를 호출하면 전체 옷 : 10 [.. 더보기 JWT의 정의 1. 정의 JWT는 쿠키(Cookie)와 세션(Session)과 같이 유저를 인증하고 인증에 필요한 정보들을 암호화시킨 토큰을 의미합니다. Access Token을 HTTP 헤더에 실어 서버로 보내게 됩니다. 여기서..http헤더란? = HTTP 헤더는 클라이언트와 서버가 요청 또는 응답으로 부가적인 정보를 전송할 수 있도록 해줍니다. Http Header의 종류는 다음과 같이 4가지가 있습니다. General header : 요청과 응답 모두에 적용되지만 바디에서 최종적으로 전송되는 데이터와는 관련이 없는 헤더. Request header : 페치될 리소스나 클라이언트 자체에 대한 자세한 정보를 포함하는 헤더. == 내가 보내는 메세지의 헤더 Response header : 위치 또는 서버 자체에 대한.. 더보기 쿠키와 세션 HTTP의 특징 및 쿠키, 세션 , JWT 의 장점 우리가 사용하고 있는 웹 사이트들의 경우, 한 번 로그인 하면 다시 로그인할 필요 없이 여러 페이지를 돌아다니며 다양한 기능들을 이용할 수 있습니다. 심지어는 브라우저를 껐다 켜도 로그인이 유지가 되기도 합니다. 이는 HTTP의 비연결성 및 무상태성 특징을 보완한 기술인 Cookie와 Session 덕분입니다. 1.쿠키 ( Cookie ) 쿠키란, 클라이언트 측(브라우저)에서 key-value로 관리되는 작은 기록 정보 파일을 의미합니다. 쿠키에는 사용자 인증이 유효한 시간을 명시할 수 있습니다. 쿠키 구성 요소 이름 값 유효시간 도메인 경로 쿠키는 클라이언트 key-value 쌍으로 로컬에 저장되는 데이터 파일입니다. 유효시간 내에서는 브라우저가 종료.. 더보기 이전 1 2 3 4 다음