REST API 설계의 진화 – CRUD를 넘어 HATEOAS로 나아가기
·
Daily Logs/TIL (Today I Learned)
1. HATEOAS가 무엇인가서버 응답에 현재 리소스 상태뿐 아니라, 사용 가능한 연결(메서드·URL) 정보를 함께 포함시키는 방식입니다.즉, 클라이언트는 응답만 보고, 문서 없이도 “다음에 뭘 할 수 있는지” 파악할 수 있습니다.2. 주요 장점자동 탐색(discoverability): 응답에 담긴 링크를 따라 API 흐름을 자연스럽게 탐색할 수 있습니다.느슨한 결합(loose coupling): 클라이언트는 하드코딩된 URL 구조가 아니라 링크에 의존하므로, 서버 구조 변경 시에도 안정적입니다자기 설명적 API(self-descriptive APIs): 흐름이 응답 자체에 포함되어 있어, 별도 문서 없이도 API 사용이 가능합니다.보안 및 권한 제어 이점: 현재 사용자 상태에 맞는 링크만 제공해, 실행..
Postman에서 자동/수동 Bearer Token 설정으로 간편 인증하기 (
·
Cooperation/Postman
Postman 을 사용 + JWT 토큰으로 인증/인가를 하다보면 토큰을 계속 수동으로 발급받아하는 문제가 발생하는데 환경변수 설정으로 자동으로 입력되게 혹은 Enviroment에 토큰값 혹은 base_url 같은 반복되는 것들을 입력후 위사진처럼 사용할수도있다 .위사진은 수동으로 입력한 모습이다.블로그에서 보면 이전 글들은 Tests 탭 에 있다는데 최신버전은 이게 없어서 한참 헤멜수있다. 1. 환경변수 생성 및 설정Postman 좌측 Environments 탭 클릭 → 원하는 Environment 선택base_url, Token 등 필요한 변수 추가Token 변수는 Type을 secret으로 설정해 마스킹 처리secret 타입은 민감 값 노출을 방지하기 위해 값이 숨김 처리됩니다 『Initial val..
객체지향의 사실과 오해 - 핵심 개념과 오늘의 인사이트
·
Daily Logs/Dev Book Notes
객체 지향에 대해서 공부할수 있는 일명 "토끼 책" 이다.7월에 구매한 책중 하나로 11시~13시에 읽고 학습할 생각이다 !내용이 스토리 텔링 위주로 되어있고 7장을 제외하고는 코드가 나오는것이 없다.따라서 초보자도 쉽게 접할수 있는 책이라 생각되고읽는 중이지만 실제로 그러하다.이책을 다 읽고 나서는 난이도를 조금 올린 책도 읽을 생각이다.아래는 1장 내용을 정리해본것이다.객체지향의 본질이 클래스, 상속이 아니라“객체 그 자체, 객체 간 협력”임을 다시 강조하는 부분이 인상 깊었다.인상 깊었던 문장/포인트“객체를 지향한다는 사실을 잘 알고 있으면서도많은 분들이 여전히 클래스나 상속을 중심으로 객체지향을 바라보고 있다.”나 역시 지금까지 “클래스/상속=객체지향”이라고 생각한 적이 많았는데이 책은 “객체 자..
누구나 자료구조와 알고리즘 자료구조 기초: 배열(Array)와 집합(Set) 그리고 기본 연산 실습
·
Daily Logs/Dev Book Notes
자료구조 , 알고리즘 공부를 위해 7월에 구매한 책중 하나! 이걸로 자료구조 알고리즘 연습 + 실습도 할 생각이다 .하루 50 page 정도씩 오전 9시 ~ 11시 정도에 루틴 1로 할 예정이다.500페이지가 넘는 책인 만큼 너무 오래걸리지 않게 성실하게 읽어야겠다.그리고 간단하게 공부한것들을 여기에 정리하려한다.이 책을 다읽은 후에는 자바스크립트로 하는 자료구조와 알고리즘에대해서 공부할 생각이다.1. 배열(Array)란?여러 데이터를 순서대로 저장하는 자료구조인덱스(번호)로 값에 접근 가능중복 값 저장 가능예시const arr = ["apple", "banana", "cherry"]; console.log(arr[0]); // "apple"실전 활용장바구니, 게시글 목록, 점수표 등 순서가 필요한 데이..
NestJS에서 DTO에 password가 없어도 실제로 password를 제거해야 하는 이유
·
Daily Logs/TIL (Today I Learned)
NestJS에서 DTO에 password가 없어도 실제로 password를 제거해야 하는 이유NestJS, TypeORM, 그리고 타입스크립트를 사용하다 보면“응답 DTO(UserResponseDto)에 password가 없는데,굳이 구조분해 할당으로 password를 제거해야 하나?”라는 의문이 들 수 있습니다.이 부분을 정확히 이해하는 것이 보안과 타입스크립트의 동작 원리를 이해하는 데 매우 중요합니다.1. DTO는 “설계도”일 뿐, 실제 데이터가 아니다DTO(Data Transfer Object)는“이런 필드만 응답에 포함되어야 한다”는 타입(설계도)입니다.export class UserResponseDto { id: number; email: string; name: string;}이렇게 정..
환경변수 .env 와 mySQL 세팅시 겪었던 트러블슈팅
·
Deep Dives/문제 해결 (Troubleshooting)
전에 프로젝트 할때도 이런 문제를 겪었었는데이번에도 한번더 겪어서 이렇게 글로 작성 해두는게 좋을것같아서 작성해둡니다!1. 환경변수(.env) 적용이 안 되는 문제증상DB 연결 시 Access denied for user ''@'localhost' (using password: NO) 오류 발생콘솔에 출력되는 환경변수 값이 undefined 또는 빈 값원인.env 파일이 프로젝트 루트에 없거나 위치가 잘못됨 (저는 이부분도 잘못 되어있었습니다.).env 파일명이 .env.txt 등으로 잘못 저장됨@nestjs/config 모듈 미적용 .env 파일을 읽으려면 하단 과같이 nestjs 에서 권장하는 라이브러리르 다운로드 해서 아래와 같이 추가해넣어주시거나node.js 에서 제공하는 패키지인 npm inst..
네트워크 프로토콜: TCP vs UDP (feat 면접 준비)
·
Deep Dives/CS Fundamentals
네트워크 프로토콜: TCP vs UDPTCP (Transmission Control Protocol)연결 지향적(Connection-Oriented) 프로토콜데이터 전송 신뢰성이 높음순서가 보장됨흐름 제어, 혼잡 제어 가능예시 사용처: 웹 브라우징(HTTP/HTTPS), 이메일(SMTP), 파일 전송(FTP)UDP (User Datagram Protocol)비연결형(Connectionless) 프로토콜데이터 전송 속도가 빠름신뢰성 보장하지 않음 (패킷 손실 가능)순서가 보장되지 않음빠르고 간단한 통신이 필요한 서비스에 적합예시 사용처: 스트리밍 서비스, 온라인 게임, VoIP(음성 통화)주요 차이점 요약특징TCPUDP연결 방식연결 지향형비연결형신뢰성높음 (데이터 손실 없음)낮음 (데이터 손실 가능)속도느..
Git , GitHub 그리고 SSH 연결
·
Cooperation/Github
오늘 새로산 컴퓨터에 GitHub 를 연결 하기위해 SSH 연결을 시도하면서 배운 내용들을 정리 해보았습니다 !TIL - Git & GitHub SSH 연결과 초기 세팅 (윈도우/Mac 공통)🔹 Git 설치 및 기본 설정Git 설치 확인git --versionGit 설치하기윈도우 👉 Git 다운로드 링크맥 👉 Homebrew 이용brew install gitGit 사용자 정보 설정git config --global user.name "your-name"git config --global user.email "your-email@example.com"설정 확인git config --list🔹 GitHub 연결을 위한 SSH 키 생성SSH란?SSH(Secure Shell)는 서버와 안전하게 연결하는 ..