일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 장고초기세팅
- nodeJS
- docker
- 트랜잭션
- pm2
- typescript
- JWT
- Django
- async/await
- crud2
- 프로미스
- status code
- manytomanyfield
- TypeError: this.boardRepository.createBoard is not a function
- wecode
- javascript
- 실행 컨텍스트
- rebase
- Jest
- CORS
- django westagram
- 스코프
- bcrypt
- westagram
- 호이스팅
- on_delete
- node
- 자바스크립트
- OSI7계층
- 노드
- Today
- Total
목록학습/개념정리 (38)
될때까지
🎯 헤더 General header(공통 헤더) Request header(요청 헤더) Response header(응답 헤더) Entity header(엔티티 헤더) 🎯 HTTP 요청 헤더 - 메시지의 컨텐츠와 관련없는 패치될 리소스나 클라이언트 자체에 대한 자세한 정보를 포함한다. - 맨 윗줄 'GET /produ/~~~~~'은 Request Line이고 그 아랫줄부터가 Headers다. HOST : 요청하는 호스트에 대한 호스트이름과 포트번호 명시 User-Agent : 요청을 보내는 사용자의 애플리케이션 타입, 운영체제, 소프트웨어 버전등 명시 Accept : 클라이언트가 허용할 수 있는 파일 Cookie : 쿠키, Set-Cookie 헤더와 함께 서버로부터 이전에 전송되서 저장된 HTTP 쿠키를..
⚡️ IP(Internet Protocol) Internet(Inter Network) => 네트워크와 네트워크 사이 => 네트워크간의 통신 Network => 하나의 작은 구역이라고 생각하자 4개의 Octet(옥텟)으로 이루어져 있다 Octet : 2진수가 8자리로 이루어진 숫자(8비트) 00000000.00000000.00000000.00000000 ~ 11111111.11111111.11111111.11111111 10진수로 표현하면 0.0.0.0 ~ 255.255.255.255까지로 약 42억개가 존재한다(IPv4) 42억이라 하면 상당히 많아보이지만 이제 부족해~ 아껴써야해~ 공인IP / 사설IP 분리 사설IP : 내부에서만 사용하는 IP 10.0.0.0 ~ 10.255.255.255 172.1..
💎 SSH란 SSH는 원격 호스트에 접속하기 위해 사용되는 보안 프로토콜이다. 관련 설명을 보면서 왜 이 단어가 낯익나 싶었는데 생각났다!! 윈도우에서 putty라는 걸 이용해서 막 엄청난 명령어들를 입력하고 서버를 구동했던 기억이 있는데 그게 이 작업이였구나....!!! 그때는 이해못하고 따라치기만 했는데 이제는 이해해보자. SSH는 Secure Shell로 보안을 중요시한 프로토콜이다. SSH 외에도 Telnet같은 프로토콜이 존재하는데 SSH가 생긴 이유는 무엇일까? Telnet 프로토콜을 사용하면 보낸 데이터들이 암호화되지 않고 그대로 전송된다. 하지만 SSH 프로토콜을 사용하면 암호화된 통신을 함으로 정보가 탈취당해도 쉽게 해석하지 못하도록 보안성을 향상시킬 수 있다. 💎 SSH Tunnelin..
면접에서 받았던 질문 중 Proxy. 어영부영 대답을 했는데 잘 모르는 개념이라 찾아봤는데 아니 글쎄 나 완전 엉뚱하게 대답했네 😅😅 괜찮아~~~ 가고 싶은 회사를 떨어지는 건 속상하지만.. ㅠㅠ 이렇게 하나 둘 알아가면 된다 힘내자!! 🫶🏻 Proxy 대리인, 징검다리처럼 중간에서 처리를 대신해주는 것 Proxy Server : 클라이언트와 서버간의 중계 서버로 통신을 대리 수행하는 서버다. 캐시, 보안, 트래픽 분산 등의 여러 장점을 갖고 있다. 🫶🏻 Forward Proxy 일반적인 Proxy를 뜻하고 클라이언트와 인터넷 사이에 위치한다. 특징1 : 캐싱 - 클라이언트가 요청한 내용을 캐싱한다. 전송 시간 절약 / 불필요한 외부 전송을 줄여 네트워크 병목 현상을 방지할 수 있다. 특징2 : 익명성 ..
🔥 트랜잭션이란? 데이터베이스의 상태를 변화시키는 하나의 논리적인 작업 단위를 구성하는 연산들의 집합이다. DB로 데이터 관련 요청을 날릴 때 하나 이상의 쿼리들을 하나로 모아놓은 작업 단위라고 생각하자. 🔥 하나의 트랜잭션은 모두 Commit 되거나 Rollback된다. commit : 트랜잭션이 성공적으로 끝났을 경우 실행결과를 DB에 반영한다. rollback : 트랜잭션이 실패했을 경우 DB에 반영시키지 않고 원래 상태로 되돌린다. 🔥 트랜잭션의 특징(ACID) Atomicity(원자성) : 한 트랜잭션의 모든 연산들은 전부 성공 or 전부 실패해야한다. Consistency(일관성) : 트랜잭션 전 후의 데이터베이스 상태는 똑같아야 한다. 데이터타입 등의 제약조건이 일치해야한다. Isolatio..
🦊 OSI 7 계층이란 Open System Interconnection 국제표준화기구(ISO)에서 개발한 모델로 네트워크 프로토콜 디자인과 통신을 7계층으로 나눠서 설명한 것이다. 통신기술의 발달과 개인용 컴퓨터의 보급으로서로 다른 컴퓨터, 기기간에 네트워크를 형성할 수 있도록 네트워크 모델의 표준안을 내세웠다. 🦊 OSI 7 계층 구조 캡슐화 : 송신시 7계층에서 1계층으로 각 층마다 자신의 헤더를 붙인다. 디캡슐화 : 수신시 1계층에서 7계층으로 헤더를 떼어낸다. 물리계층 데이터는 0과 1 전기의 Off와 On의 신호로 이루어져있어서 변환하는 단계가 필요하다. 디지털에서 아날로그(원본을 변조=인코딩), 아날로그에서 디지털(원본을 해석=디코딩)로 신호를 변환하는 역할을 한다. 데이터 링크 계층 같은 ..
🧚🏻♂️ 관심사의 분리 하나의 파일에 모든 코드를 다 작성하는 경우를 스파게티 코드라고 한다. 스파게티 코드의 단점은 하나의 기능만 수정해야하는데 다른 코드들이 연결되어 있어서 영향을 받을 가능성이 크다는 점이다. 코드가 많아지면 가독성이 떨어지는 것도 단점이다. 코드를 역할에 따라 파일을 분리하는 데, 주로 아래와 같은 기준으로 나눈다. HTTP Request/Response 처리 Business Logic 처리 Database 통신 처리 분리된 구조로 코드를 구현하면 코드의 가독성과 확장성이 높아진다. 또 파일에 작성된 코드들의 목적과 범위가 명확하기 때문에 구조를 파악하기에도 용이하다. 이렇게 주된 역할과 집중해야하는 기능을 분리해서 서로 다른 기능을 하는 파일은 신경쓰지 않도록 하는 것을 "Se..
프로그래밍 패러다임(Programming Paradigm)이란? 패러다임이란 '한 시대의 사람들의 견해나 사고를 근본적으로 규정하고 있는 인식의 체계. 또는 사물에 대한 이론적인 틀이나 체계'를 말한다. 위키피디아에 나온 이 뜻이 너무 어려워 다른 기고를 참고했다. 여기서는 '사물을 보는 방법, 문제를 삼는 방법, 문제를 푸는 방법의 총체'를 패러다임이라 일컫는다. 어떤 시대적 상황이나 현실을 바라보는 여러 종류의 인식의 틀 하나 하나를 패러다임이라고 할 수 있다. 💡 그렇다면 프로그래밍 패러다임이란? 프로그래머가 프로그래밍 관점을 갖게 하고 코드를 어떻게 작성할 지 결정하는 역할을 한다. 프로그래밍 하기 위한 방법/전략, 프로그래밍 스타일, 소프트웨어를 "어떻게" 구성해서 코딩할지 생각하는 방법이라 이..
OAuth란? OpenID Authentication의 줄임말로 인터넷 사용자들이 자신의 비밀번호를 제공하지 않고도 다른 웹사이트에 가입한 정보로 해당 애플리케이션에 접근 권한을 부여받을 수 있는 개방형 표준이다. OAuth가 등장하기 전에는 평범하게 id와 password로 진행을 했었다. 그러다 보니 사용자는 서비스 사이트에 내 id와 비밀번호를 공개하는 것에 찝찝함을 느꼈고, 서비스 사이트는 아이디와 비밀번호가 털릴 경우 해당 보안 문제를 모두 책임져야했다. 다른 사이트는 해당 서비스 사이트를 신뢰할 수 없었기에 이에 대한 문제를 해결하고자 2007년 OAuth 1.0 초안이 발표되었고, 현재는 2.0버전이 더 많이 사용되고 있는 상태다. OAuth 2.0 용어 Client : Resource Se..
🐳 Docker 도커란, 컨테이너를 사용해 작업한 애플리케이션을 환경에 구애받지않고 빠르게 배포 및 관리할 수 있도록 도와주는 오픈소스 가상화 플랫폼이다. 그럼 이 도커를 쓰는 이유는 뭘까? 프로그램을 설치하려면 서버, 패키지, 운영체제 등에 맞는 버전을 설치해야하는데 이게 참 복잡하고 귀찮다. 하지만 도커를 이용해서 프로그램을 설치하면 비교적 쉽게 뚝딱 간단하게 진행할 수 있다. 🐸가상화 가상화란 하나의 물리적 서버에서 여러 운영체제와 애플리케이션을 실행할 수 있도록 하는 소프트웨어 기술을 말한다. 가상화기술이 나오기 전에는 1대의 서버를 하나의 용도로만 사용하고 남은 공간은 그대로 방치했었다. 그러다보니 프로그램 운영은 안정적이지만 남는 공간이 제대로 활용안되고 놀고있기 때문에 비효율적이였다. 1. ..