일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- OSI7계층
- Django
- typescript
- 스코프
- javascript
- rebase
- nodeJS
- JWT
- wecode
- 실행 컨텍스트
- node
- async/await
- 프로미스
- 호이스팅
- TypeError: this.boardRepository.createBoard is not a function
- 장고초기세팅
- docker
- 트랜잭션
- django westagram
- bcrypt
- status code
- 노드
- pm2
- 자바스크립트
- Jest
- crud2
- westagram
- on_delete
- manytomanyfield
- CORS
- Today
- Total
목록전체 글 (190)
될때까지
🎯 알아둬야하는 개념 Runtime : 프로그램이 실행되는 환경, 서버단에서의 자바스크립트 런타임은 노드 Interpreter : 코드를 한 줄씩 읽어가면서 바로 기계어로 번역해 실행하는 방식 Python, Javascript Compile : 어떤 언어의 코드 전체를 다른 언어로 바꿔주는 과정 C -> Assembly Java -> Bytecode Transpile : 한 언어로 작성된 소스코드를 비슷한 수준의 추상화를 가진 다른 언어로 변환하는 것 Compile의 Subset Typescript -> Javascript 🎯 Javascript VS Typescript 자바스크립트 타입스크립트 동적타입 런타임에서 타입이 결정됨 정적타입 인터프리터 컴파일러 독립적 사용 가능 자바스크립트에 의존 유연함 일..
🎯 헤더 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 : 익명성 ..
노드관련 자료들을 찾다보면, 어떤 사람은 npx를 사용하라 또 어떤 강의에서는 npm을 사용하라그러네? 비슷하게 생겼는데 이 둘의 차이점이 무엇이고 💎 NPM node package manager NodeJS설치하면 따라서 설치된다. npm install을 실행하면 package.json이 생성되고 여기에 의존성을 지정함으로써 패키지를 관리한다. 지역설치(local) : 해당 프로젝트 내에서만 사용 가능 전역설치(global) : 모든 프로젝트에서 공통으로 사용 가능(자주 사용되는 패키지 or 변경이 없는 패키지) 패키지를 관리하지만, 바로 패키지를 실행시킬 순 없다. package.json파일안의 Scripts를 통해서 설치된 패키지들을 실행시킨다. 단점 npm으로 설치한 모듈들은 업데이트 시기를 매번..
🔥 트랜잭션이란? 데이터베이스의 상태를 변화시키는 하나의 논리적인 작업 단위를 구성하는 연산들의 집합이다. DB로 데이터 관련 요청을 날릴 때 하나 이상의 쿼리들을 하나로 모아놓은 작업 단위라고 생각하자. 🔥 하나의 트랜잭션은 모두 Commit 되거나 Rollback된다. commit : 트랜잭션이 성공적으로 끝났을 경우 실행결과를 DB에 반영한다. rollback : 트랜잭션이 실패했을 경우 DB에 반영시키지 않고 원래 상태로 되돌린다. 🔥 트랜잭션의 특징(ACID) Atomicity(원자성) : 한 트랜잭션의 모든 연산들은 전부 성공 or 전부 실패해야한다. Consistency(일관성) : 트랜잭션 전 후의 데이터베이스 상태는 똑같아야 한다. 데이터타입 등의 제약조건이 일치해야한다. Isolatio..
타입스크립트를 사용하는 이유 자바스크립트는 동적 타입 언어로 런타임 때 타입이 결정되지만, 타입스크립트는 자바스크립트에 타입을 얹은 정적 타입 언어다. 타입스크립트는 컴파일 작업을 할 때 데이터 타입으로 인한 문제를 미리 알려주고 이로 인해 사전의 버그를 방지할 수 있다. Type // string, number, boolean let age:number = 30; let isAdult:boolean = true; // array let a1:number[] = [1,2,3]; let a2:Array = [1,2,3]; let week1:string[] = ['mon', 'tue', 'wed']; let week2:Array = ['mon', 'tue', 'wed']; // tuple let b1:[st..
1. ORM 연결 mysql2로 변경하기 ORM을 사용하지 말고 raw query로 작성해야했는데 DB와 연결할때는 typeorm을 사용했다. ORM 자체를 사용하지 않고 DB와 연결할 수 있는 방법이 있는데 그땐 왜그랬을까..!!! 코드를 수정해보자. 먼저 설치된 typeorm을 삭제한다. npm uninstall typeorm 그리고 mysql2를 설치한다. npm install mysql2 DB연결 정보들은 .env파일에 저장하여 외부로 노출되지 않도록 숨겨줬다. // .env DATABASE_URL = mysql://유저이름:비밀번호@호스트주소:포트번호/데이터베이스이름 MYSQL_CONNECTION = mysql MYSQL_HOST = 127.0.0.1 MYSQL_PORT = 3306 MYSQL_..