전체 글132 [Networks] HTTP, HTTPS HTTPHTTPhttps://5kiran.tistory.com/173 [Networks] HTTP 프로토콜HTTP(Hypertext Transfer Protocol)은 무엇인가?HTTP는 웹에서 데이터를 주고받는 서버 - 클라이언트 모델의 프로토콜이다.웹 브라우저가 서버와 통신하는 규칙 애플리케이션 레벨의 프로토콜로 TCP/IP위에5kiran.tistory.com HTTP는 암호화가 되지 않은 평문 데이터를 전송하는 프로토콜로 비밀번호, 주민등록번호 등 민감 정보를 제 3자가 조회할 수 있다.이러한 문제를 해결하기 위해 등장한 것이 HTTPS이다. HTTPSHTTPS는 HTTP에 데이터 암호화가 추가된 프로토콜로 HTTPS는 HTTP의 80포트가 아닌 443포트를 사용하며, 네트워크 상에서 중간에 3자가.. CS 2025. 2. 4. [Networks] TCP/IP TCP/IPIP(인터넷 프로토콜)지정한 IP 주소에 데이터 조각들을 패킷이라는 통신 단위로 최대한 빠르게 목적지로 보내는 역할데이터의 순서, 데이터 누락 여부와 상관없이 보내는 데 집중 TCP(전송 제어 프로토콜)패킷 데이터의 전달 및 순서를 보증데이터 조각을 점검하여 망가졌거나 빠진 조각을 다시 요청TCP는 데이터를 확실하게 보내기 위해서 3Way HandShake 방법을 사용 TCP 3Way HandShake클라이언트와 연결되기 전에 가상 연결을 통해 확인하는 동작 SYN : 연결을 생성할 때 클라이언트가 서버에 보내는 시퀀스 번호SYN-ACK : 시퀀스 번호를 받은 서버가 ACK 값을 생성하여 클라이언트에 응답ACK : ACK 값을 사용하여 응답클라이언트 - 서버 : SYN 전송서버 - 클라이언트.. CS 2025. 2. 4. [Networks] HTTP 프로토콜 HTTP(Hypertext Transfer Protocol)은 무엇인가?HTTP는 웹에서 데이터를 주고받는 서버 - 클라이언트 모델의 프로토콜이다.웹 브라우저가 서버와 통신하는 규칙 애플리케이션 레벨의 프로토콜로 TCP/IP위에서 작동한다. HTTP 프로토콜 특징1. 서버 - 클라이언트 모델HTTP는 서버 - 클라이언트 모델을 따른다.클라이언트에서 요청(request)을 보내면 서버는 요청(response)을 처리해서 응답한다. 2. 무상태(Stateless)HTTP는 Connectionless 방식으로 작동한다.서버에 연결하고 요청해서 응답을 받으면 연결이 끊기며,기본적으로 자원 하나에 대해서 하나의 연결을 만든다. 불특정 다수를 대상으로 하는 서비스에 적합하며, 연결이 유지되지 않기 때문에 더 많은.. CS 2025. 2. 3. [MacOS] Homebrew로 node 버전 변경하기 1. Homebrew 설치하기 https://brew.sh/ HomebrewThe Missing Package Manager for macOS (or Linux).brew.sh 홈페이지 접속 후 스크립트 복사하여 터미널에서 실행설치가 완료되면 아래 스크립트로 버전을 확인할 수 있다.brew --version 2. NVM 설치하기brew install nvm 3. NVM 설정하기vi ~/.zshrc zshrc 파일에 아래 내용 추가export NVM_DIR=~/.nvmsource $(brew --prefix nvm)/nvm.sh 터미널에 스크립트 입력source ~/.zshrc NVM 버전 확인nvm --version 4. NVM 명령어nvm ls // 설치된 Node 확인nvm ls-remote // .. Node.JS 2025. 1. 22. PrismaClientInitializationError: Can't reach database server at `localhost`:`5432` 개인적으로 프로젝트를 진행하던 중도커로 띄워져있는 PG에 prisma가 연결되지 않는 문제가 갑자기 발생했다며칠 전만 해도 정상적으로 동작하던 게 갑자기?? 해당 문제를 확인하고,DBever을 켜서 확인해 보니 정상적으로 연결이 되어있다.마이그레이션은 정상적으로 동작하는지 확인해 봤다. 문제를 해결하기 위해 구글링을 해보니 port를 바꿔라, CONNECTION TIME OUT 시간을 늘려라 등이 있었고 전부 시도해 봤다.해결하지 못했다.나는 어떤 문제일까 고민하다가.env의 DB_URL 값을 변경해 보았다 아주 잘된다 ...?? 그저 localhost -> 127.0.0.1로 변경 ㅠㅠDATABASE_URL="postgresql://user:password@127.0.0.1:5432/tableName?.. Node.JS 2024. 6. 5. [Deep Dive] 모던 자바스크립트 딥다이브 프로그래밍 나는 왜 자바스크립트를 또 공부하는가 ? 자바스크립트를 공부하고 NodeJS 백엔드 개발자로 회사에 입사한 지 어느덧 7개월 현업에서 일을 하면서 문법적으로나 아직 기초가 부족하다고 느낄 때가 많았다. 그래서 나태했던 나 자신을 던져버리고 2024년은 새로운 내 미래를 위해서 달려가 보려고 한다. 우선 프로그래밍에 대해 이해할 필요가 있다. 프로그래밍이란 사람과 컴퓨터가 하는 커뮤니케이션이다. 사람은 0과 1밖에 알지 못하는 컴퓨터가 요구사항을 실행할 수 있도록 정확하고 상세하게 요구사항을 설명하는 작업이라고 책에서는 말한다. 대략적으로 짜인 코드를 이해하고 정확하게 실행하는 컴퓨터는 존재하지 않는다. 우선 사람은 문을 연다라는 행동이 어렵지 않을 것이다. 하지만 컴퓨터의 관점에서 문제를 사고해 보면 쉽.. 모던 자바스크립트 딥다이브 2024. 1. 1. [PG] PostgresQL 기초부터 공부하기1 PG 기초부터 공부하기 1 IN 구문 IN구문은 해당 값이 존재하는지 여부에 따라 조회 SELECT * FROM BLOG BO WHERE BO.Category IN('음식','여행') 블로그의 카테고리가 음식 또는 여행인 정보를 조회합니다 NOT IN의 경우 SELECT * FROM BLOG BO WHERE BO.Category NOT IN('음식','여행') 블로그의 카테고리가 음식 또는 여행이 아닌 정보를 조회합니다 AND 연산자를 활용할 수 있습니다 SELECT * FROM BLOG BO WHERE BO.Category != '음식' AND BO.Category != '여행' CASE WHEN 구문 CASE WHEN 구문은 조건에 따라 다른 값을 보여줍니다 SELECT CASE WHEN price .. SQL 2023. 11. 1. [SQL] Subquery 이해하기 1) 서브 쿼리(Subquery) 💡 서브쿼리(subquery) 란? - ‘하나의 SQL 문장 안에서 다른 SQL 문장을 사용하는 것'을 의미합니다. 서브 쿼리는 메인 쿼리에 종속된 쿼리로 메인 쿼리의 결과로 필요로 할 때 사용합니다. - 일반적으로 WHERE 또는 HAVING 절에서 사용되며 메인 쿼리와 서브쿼리 사이에는 ‘괄호’로 구분되며 메인 쿼리의 결과에 따라 다른 결과를 반환하는 데 사용됩니다. 1. 서브 쿼리의 사용범위 💡 서브쿼리는 WHERE, HAVING, FROM, SELECT 등에서 사용할 수 있으며 ‘단일’ 혹은 ‘중첩’하여 사용이 가능합니다. 사용 위치 서브 쿼리 종류 SELECT 스칼라 서브쿼리 FROM 인라인 뷰 WHERE 일반 서브쿼리, 스칼라 서브쿼리 HAVING 일반 서브쿼.. SQL 2023. 9. 6. [Docker] docker run을 사용하면 왜 터미널에서 추가 작업이 불가능할까? docker run 명령어를 사용하면 추가 작업이 불가능한 이유 docker run 명령어는 docker start 명령어와는 다르게 터미널에서 추가 작업이 불가능하죠? 왜 그럴까요?? 바로 Docker 컨테이너를 실행시킬 때 docker run 명령어는 기본 모드가 Attached(연결) 모드이고, docker start 명령어는 기본 모드가 Detached(분리) 모드이기 때문입니다. docker run 명령어는 분리 모드로 실행할 수 없나요? docker run 명령어도 분리 모드로 실행할 수 있습니다 실행할 이미지 앞에 -d 를 붙이면 됩니다 docker run -p 3000:80 -d 도커이미지 위와 같이 -d 모드로 실행하면 사진과 같이 run 명령어를 사용하더라도 터미널에서 추가 작업이 가능.. Devops 2023. 8. 31. 테이블 삭제 명령어 비교 TRUNCATE, DROP, DELETE 오늘은 SQL에서 대표적으로 사용되는 TRUNCATE, DROP, DELETE 명령어에 대해서 자세히 알아볼꺼에요. TRUNCATE TRUNCATE TABLE 테이블명 특징 TRUNCATE는 개별적으로 행을 삭제할 수 없습니다, 테이블 내에 존재하는 모든 행을 삭제합니다. TRUNCATE는 DDL(데이터 정의 언어) 명령입니다. TRUNCATE는 테이블 잠금을 사용하여 실행되지만, 각 행은 잠기지 않습니다. TRUNCATE와 WHERE 절을 함께 사용할 수 없습니다.(개별적으로 행 삭제 불가능) TRUNCATE는 테이블에서 모든 행을 제거합니다. 트랜잭션 로그에 한 번만 기록되므로 DELETE보다 성능 면에서 더 빠릅니다. 인덱싱 된 VIEW(뷰)와 함께 사용할 수 없습니다. 테이블에서 TRUNCATE .. SQL 2023. 8. 21. [NEST] NestJS Excel Parser 엑셀파일 원하는 형태로 만들기 오늘은 회사에서 다른 회사와 협업하던 중 엑셀파일을 받았고 해당 파일을 보고 데이터를 매핑해서 사용해야하는 일을 하게됐다. 엑셀을 보며 일일히 매핑을하다가 너무 양이 많기에 어떻게하면 쉽게 처리할 수 있을까 고민하다가 xlsx를 이용하여 excel파일을 읽어서 원하는 형태로 매핑하면 되지 않을까? 라는 생각에 사용해보고 혹시 나중에도 유용하게 사용하지 않을까라는 생각이 들어 블로그에 글을 남긴다. 1. xlsx 라이브러리 설치 npm install xlsx 우선 위의 명령어를 통해 xlsx 라이브러리를 설치하자 설치가 완료되었으면 아래와 같이 controller, service 등 사용할 곳에서 xlsx 라이브러리를 improt 해줘야한다 import { Controller, Get, Post, Uplo.. Node.JS 2023. 7. 24. [Docker] Docker Desktop에 Container 띄우기 Docker Desktop을 설치합니다 MAC https://docs.docker.com/desktop/install/mac-install/ WINDOWS https://docs.docker.com/desktop/install/windows-install/ 우선 도커를 컨테이너에 올려서 확인하기 위해 기본적인 NodeJS의 Express 프레임워크를 활용하여 Js파일을 작성해줍시다. package.json 파일 생성 npm init ExpressJS 설치하기 npm install express 위의 과정을 마치셨다면 package.json파일에 express가 추가됩니다 "dependencies": { "express": "^4.17.1" }, package.json에 script를 추가해줍니다. "sc.. Devops 2023. 7. 21. 이전 1 2 3 4 ··· 11 다음 반응형