일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- Dynamic Programmin
- list of list
- 동적 프로그래밍
- Unique Paths
- 와썹맨
- 프로그래머스
- 알고리즘
- 삼성인 아마조니언 되다
- 삼성역량테스트
- leetcode
- Python
- No Rules Rules
- mysql #numa #swap #memory
- 그거봤어?
- 나는 아마존에서 미래를 다녔다
- 독후감
- LongestPalindromicSubstring
- 리스트의 리스트
- 기술적 채무
- 아마조니언
- 블린이
- technical debt
- minimum path sum
- 규칙없음
- Envoy
- BFS
- 김태강
- 리트코드
- 트리
- 파이썬
- Today
- Total
목록IT (7)
개발자가 되고 싶은 준개발자
이번 포스팅은 nginx가 구성되어 있는 개발/상용에서는 잘 되던 인증이 nginx가 없는 로컬에서는 왜 안 되었는지 원인을 정리하고 기록하는 포스팅이다...인증은 볼때마다 새롭다...ㅎㅎ OAuth2 인증은 주로 클라이언트 애플리케이션이 리소스 소유자(사용자)의 승인을 받아 리소스 서버의 데이터에 접근할 수 있도록 허가를 요청하는 프로세스이다. Authorization Request: 클라이언트가 인증 서버에 권한 부여 요청을 보냄.User Authentication: 사용자가 인증을 통해 권한을 승인함.Authorization Code Issuance: 인증 서버가 클라이언트에게 Authorization Code를 발급함.Token Exchange: 클라이언트가 Authorization Code를 ..

Nginx, Wsgi에 대한 정확한 개념을 모르겠어서 이번 기회에 정리해 보고자 한다. Wsgi(발음: 위즈기)가 도대체 무엇인가? Wsgi(web server gateway interface)는 web application(ex. Django, Flask...)과 web server(ex. Apache, Nginx...) 간의 통신 규약으로 파이썬 언어로 작성한다. 웹 서버와 웹 어플리케이션이란 무엇인가? web server 사용자가 브라우저에 URL을 입력하면, 브라우저는 웹 서버에 웹페이지를 보내달라는 요청을 한다. 웹 서버는 HTTP 요청을 파싱한 후, 정적 컨텐츠(HTML, CSS, PNG...)을 저장하고 있다가 브라우저에게 보내준다. (대표적으로 Apache, Nginx가 있다.) 브라우저와..

네트워크는 컴퓨터들을 연결해 서로 간의 자료를 공유할 수 있게 해주는 방법이다. 종류는 네트워크의 범위에 따라 LAN < MAN < WAN로 나뉜다. LAN (Local Area Network): 소규모. MAN (Metropolitan Area Network): 중규모. WAN (Wide Area Network): 대규모. 국가, 대륙 간의 장거리 전송이 가능. ex) 인터넷. 그렇다면 네트워크 안에 수많은 장비들이 서로 연결되어 있는데, 이들은 이 방대한 네트워크 안에서 서로 어떻게 통신할까? 네트워크는 논리적으로 2 부분으로 나눈다. 위의 그림에서 라우터를 기준으로 네트워크가 나뉘는데, 라우터의 오른쪽 부분은 내부 네트워크라 부르고 외쪽 부분은 외부 네트워크라 부른다. 내부 네트워크는 로컬 네트워크..
파일시스템 데이터베이스가 등장하기 전에는 파일 시스템으로 데이터를 관리했음 파일 시스템의 한계 데이터 redundancy, inconsistency multiple file format, duplication of information in different files 여러 사용자가 concurrrent access하면 consistency가 지켜지기 어려움 데이터 접근의 어려움: 데이터 접근하려고 새 프로그램을 작성해야 함 연동의 어려움: 프로그램 코드에 제약 조건을 추가해야 하고, 새 제약 조건을 추가하거나 변경하는 것이 어려움 업데이트 시 원자성(atomicity)가 안 지켜짐 권한 관리: 파일 권한 관리는 되나, 데이터 레벨 권한 관리는 안 됨 Database Language Data Defini..
개념 프로세스: 실행 중인 프로그램 (메모리에 올라와 실행되고 있는 프로그램의 인스턴스) dual-core는 2개의 프로세스까지 동시에 돌릴 수 있음! 스레드: 프로세스의 작업 실행 단위 "Threads let us define a set of tasks that run concurrently while the code for each task is sequential. Each thread behaves as if it has its own dedicated processor" "A thread is a single execution sequence that represents a separately schedulable task" 실행 방식 비교 프로세스 컨텍스트 스위치: CPU 스케줄러가 인터럽트 ..

HTTP(Hyper Test Transfer Protocol) 요청(Request)과 응답(Response)으로 구성됨 클라이언크가 요청하면 서버가 응답 하는 구조 비연결식: 클라이언트가 서버에 정보를 요청하면 응답 코드와 내용을 전송하고 클라이언트와 연결을 종료함 (FTP, Telnet-연결식) HTTP의 발전 HTTP 0.9 웹사이트가 기본적이어서 HTTP 0.9가 느렸음에도 불구하고 문제가 없었음 GET, POST, HEAD와 같은 기본 기능을 제공 HTTP 1.0 PUT, DELETE, LINK, UNLINK 기능을 지원 HTTP 1.1 HTTP 1.0이 발표되고 나서 1년만에 또 프로토콜이 나옴 당시에 Internet landscape이 급변하고, 웹사이트들이 무거워지고 동적(dynamic we..

TCP(Transmission Control Protocol) reliable: 모든 세그먼트가 전송되고, 에러가 일어나지 않음을 프로토콜이 보장 connection-oriented: 데이터 전송 전에 connection이 만들어졌는지 확인(3단계), 커넥션을 닫기 전에 전송 후에 데이터가 잘 보내졌는지 확인(4단계) UDP에 비해 더 많이 사용되는 프로토콜 Web, telnet, FTP, email 등에 사용됨 Header UDP(User Datagram Protocol) unreliable: 데이터가 도착하는지 확인 안함 connectionless: 커넥션을 만들지 않음. (물론 커넥션 전/후의 handshake도 안 함). 데이터가 출발하면, 데이터가 잘 도착하는지 여부는 확인 할 수 없음. 하지만..