개발 공부
-
웹 소켓(WebSocket)이란 무엇인가요?개발 공부/Network 2021. 7. 20. 09:27
이 게시물은 우아한 테크코스 10분 테코톡 "코일의 WebSocket"을 보고 정리한 내용입니다. 저작권 관련해서 문제가 되면 댓글로 남겨주세요. 바로 삭제하겠습니다. 영상 링크 : https://www.youtube.com/watch?v=MPQHvwPxDUw 1) 웹 소켓이란? 두 프로그램 간의 메시지를 교환하기 위한 통신 방법 중 하나이다. W3C와 IETF에 의해 자리잡은 표준 프로토콜 중 하나이다. 현재 HTML5 환경에서 많이 사용된다. 2) 웹 소켓의 특징 양방향 통신(Full-Duplex) 데이터 송수신을 동시에 처리할 수 있는 통신 방법 클라이언트와 서버가 서로에게 원할 때 데이터를 주고 받는다. 통상적인 HTTP 통신은 클라이언트가 요청을 보내는 경우에만 서버가 응답하는 단방향 통신 실시..
-
Oh my zsh와 PowerLevel10K를 이용한 Windows Terminal 예쁘게 꾸미기(커스터마이징)개발 공부/Infra 2021. 6. 29. 19:17
이전 게시물에 이어서, 이번에는 Windows Terminal을 커스터마이징 하는 방법을 알아보겠습니다. 본 게시물은 Nomad Coders의 윈도우 개발 환경 셋업 강의 영상을 참고하여 내용을 정리하였습니다. Windows Terminal의 기본 디자인은 투박하기도 하고 예쁘지가 않아서 가독성이 떨어지는 경향이 있다. 이번 게시물에서는 Oh my zsh와 PowerLevel10K를 이용해 Windows Terminal을 예쁘게 꾸며볼 것이다. 아래 내용에 앞서서 일단 Windows 환경에서 Linux를 사용할 수 있어야 한다. WSL2와 관련된 게시물 링크는 다음과 같다. Windows에서 WSL2를 이용하여 Linux 환경 구축하기 Nomad Coders의 윈도우 개발 셋업 강의를 참고하였고, 해당 ..
-
Windows에서 WSL2를 이용하여 Linux 환경 구축하기개발 공부/Infra 2021. 6. 29. 18:34
Nomad Coders의 윈도우 개발 셋업 강의를 참고하였고, 해당 내용을 정리한 게시글입니다. 기존에는 윈도우즈 환경에서 Linux를 이용하기 위해서는 Virtual Machine 프로그램을 실행시키거나 하드디스크에 Linux를 따로 설치해야 했다. 그래서 복잡하고 부하가 많이 일어나거나 느리다는 단점이 있었다. 그러나 Windows 10 부터는 WSL을 통해, 더 빠르고 간편하게 윈도우즈 환경에서도 Linux를 사용할 수 있다 따라서 지금부터 WSL2를 실행하는 방법을 알아보고자 한다. 1) 사전 세팅 윈도우 10 버전이어야 한다. (윈도우 7, 8, XP 등은 지원하지 않는다.) Windows 2004 Update가 되어있어야 한다. 설정 -> Windows 업데이트에서 확인한다. Windows T..
-
[Python] List와 Set에서의 in 연산자 성능 비교하기.개발 공부/Python 2021. 6. 22. 15:21
in 연산자를 쓸 때는 set으로 바꿔서 쓰면 빠르다. List에서 in 연산자를 사용하면 사실 상 for문을 한번 도는 것이기 때문에 선형 시간인 O(n)의 시간 복잡도를 가집니다. 제 주변에서 이를 모르고 사용하다가 알고리즘 문제에서 Timeout이 걸리는 경우를 종종 보았는데, List에서 set으로 바꾸고 in 연산을 하면 이러한 부담이 많이 줄어들게 됩니다. List 자료형에서는 in 연산자의 시간 복잡도는 O(n)입니다. a = list(range(1, 10000001)) print(1 in a) # 첫번째 값 print(10000000 in a) # 마지막 값 0.17809176445007324 0.45179247856140137 그래서 1 ~ 10,000,000의 값을 가진 리스트에서 맨 ..
-
[Python] map, int, str 등의 내장 함수는 클래스 타입인데 왜 "함수"라고 부를까?개발 공부/Python 2021. 6. 14. 10:19
예전에 파이썬 수업을 들으면서 궁금했던 점이 있었고, 해당 내용에 대한 정보를 지금이나마 공유하려고 합니다. 파이썬에서 사용하는 int, str, float 등은 클래스라고 알려져 있습니다. 그런데 파이썬 공식문서에서는 이들을 내장 함수라고 분류를 했는데요. 왜 내장 클래스가 아니라 내장 "함수" 라고 하는걸까요? 링크: 왜 파이썬에서 Map과 Filter가 실제로는 함수가 아닌가? 저는 이 외국 블로그를 참고했는데, 여기에 보면 map이나 filter같은 파이썬 내장함수는 사실 함수가 아니라 클래스라고 합니다. map and filter aren’t really functions. They are all actually classes, and when we “call” these functions, w..
-
7. HTTP 헤더 2 - 캐시와 조건부 요청개발 공부/Network 2021. 6. 11. 23:47
본 게시물은 김영한님의 "모든 개발자를 위한 HTTP 웹 기본 지식" 강의를 듣고 정리한 내용입니다. 따라서 모든 저작권은 인프런과 김영한님께 있음을 밝힙니다. 혹시라도 문제가 된다면 삭제하겠습니다. 댓글에 남겨주세요. 1) 캐시 기본 동작 캐시가 없다면 원하는 이미지 등의 파일을 서버에 요청할 때, 해당 파일의 헤더, 바디 부분을 요청할 때 마다 새로 받는다. 그래서 데이터가 변경되지 않아도 계속 네트워크를 통해서 데이터를 다운로드 받아야 한다. 따라서 느리고, 돈도 많이 나가고, 사용자 경험이 더뎌진다. 캐시를 적용하면 cache-control: max-age=60 이런식으로 요청하면, 캐시가 최대 60초 살아있다는 뜻이다. 따라서 요청한 파일을 캐시에 저장하고, 60초 간은 이 파일이 로컬에 살아있..
-
6. HTTP 헤더 1 - 일반헤더개발 공부/Network 2021. 6. 1. 18:43
본 게시물은 김영한님의 "모든 개발자를 위한 HTTP 웹 기본 지식" 강의를 듣고 정리한 내용입니다. 따라서 모든 저작권은 인프런과 김영한님께 있음을 밝힙니다. 혹시라도 문제가 된다면 삭제하겠습니다. 댓글에 남겨주세요. 1) HTTP 헤더 개요 용도 HTTP 전송에 필요한 모든 부가정보 예) 메시지 바디의 내용, 메시지 바디의 크기, 압축, 인증, 요청 클라이언트, 서버 정보, 캐시 관리 정보 등등 표준 헤더가 너무너무 많다. 필요시 임의의 헤더 추가 가능하다. HTTP Body 메시지 본문을 통해 표현 데이터를 전달 메시지 본문 = 페이로드(payload) 표현은 요청이나 응답에서 전달할 실제 데이터 표현 헤더는 표현 데이터를 해석할 수 있는 정보 제공 (데이터 유형, 데이터 길이, 압축 정보 등) 2..
-
5. HTTP 상태코드(2xx, 3xx, 4xx, 5xx)개발 공부/Network 2021. 5. 17. 10:07
본 게시물은 김영한님의 "모든 개발자를 위한 HTTP 웹 기본 지식" 강의를 듣고 정리한 내용입니다. 따라서 모든 저작권은 인프런과 김영한님께 있음을 밝힙니다. 혹시라도 문제가 된다면 삭제하겠습니다. 댓글에 남겨주세요. 1) HTTP 상태코드 소개 만약 모르는 상태 코드가 나타나더라도, 2xx / 3xx 처럼 몇 백대 오류인지를 파악하여 그에 대한 처리를 할 수 있다. 따라서 미래에 새로운 상태 코드가 추가되어도 클라이언트를 변경하지 않아도 된다. 1xx 상태코드는 거의 사용하지 않으므로 생략한다. 2) 2xx - 성공 클라이언트의 요청을 성공적으로 처리 보통은 200이나 201을 많이 사용하는 편이다. 회사마다 정해진 규칙이 있다. 200 OK 요청에 성공함. 보통 GET 요청에 대해 정상적으로 응답했..