분류 전체보기 (40) 썸네일형 리스트형 [네트워크] HTTP Methods 차이점 정리 HTTP 메서드HTTP 프로토콜에서 사용되는 요청 메서드로, 자원에 대해 서버가 수행할 동작을 지정합니다.총 9가지가 있으며 REST API를 설계할 때 주로 사용되는 메서드는 5가지입니다. 주요 메서드 5가지GET : 서버로부터 자원을 요청하는 동작POST : 서버로 데이터를 전송하여 자원을 생성하거나 업데이트 하는 동작PUT : 서버에 자원을 생성하거나 기존 자원을 대체하는 동작PATCH : 서버 자원의 일부만 수정하는 동작DELETE : 서버에서 자원을 삭제하는 동작 GET vs POST1. GET목적서버로부터 자원을 요청하는 동작데이터 전송 방식요청 본문을 사용하지 않고, 요청 URI에 Path Variable 이나 Query String 을 사용할 것을 권장합니다.보안데이터가 URL에 포함되므로.. [TypeORM] TypeORM에서 트랜잭션 다루는 방법 TypeORM 0.3 이상 버전을 기준으로 트랜잭션을 다루는 방법을 정리했습니다. Transaction트랜잭션은 데이터베이스에서 한꺼번에 수행되어야 하는 작업 단위를 말합니다.트랜잭션의 중요한 특징 중 하나는 트랜잭션이 데이터베이스에 모두 반영되든지, 아니면 전혀 반영되지 않아야 하며 작업이 부분적으로 실행되거나 중단되지 않는 것을 보장하는 것입니다. (ACID 중 Atomicity, 원자성) DataSource & EntityManager / QueryRunnerTypeORM에서는 DataSource & EntityManager 또는 QueryRunner를 통해 트랜잭션을 생성하고 사용할 수 있습니다.두 가지 방법을 설명하기에 앞서, TypeORM에서의 DataSource, EntityManager, .. [TypeScript] TypeScript 장점과 특징 TypeScript란?Microsoft에서 개발한 오픈 소스 프로그래밍 언어입니다.JavaScript의 확장으로, JavaScript의 모든 기능을 포함하면서도 정적 타입을 지원하고 있습니다. 왜 TypeScript를 쓰는가?1. 타입 안정성타입 안정성(Type Safety)은 변수나 함수 등이 정의된 타입과 일치하는지 여부를 보장하는 것을 의미합니다.타임 안정성을 통해 얻는 것컴파일 타임 타입 체크 : 컴파일 과정에서 타입 에러를 발견하고 경고나 오류를 통해 개발자에게 알려줍니다.강력한 타입 시스템 : 타입이 명확하게 지정되어야 하고, 타입에 대한 엄격한 규칙을 가집니다.타입 추론 : 타입을 명시적으로 지정하지 않아도 컴파일러가 타입을 추론해줍니다.타입 안정성 덕분에 버그와 런타임 에러를 줄일 수 있고.. REST 원칙과 REST API 설계 방법 "그런 REST API로 괜찮은가"를 참고하여 정리한 내용입니다. REST란?REpresentational State Transfer의 약자입니다.웹 서비스 아키텍처의 스타일 중 하나로, 네트워크를 통해 클라이언트와 서버가 상호작용하는 방식을 정의하는 방법입니다.인터넷에서 어떻게 정보를 공유할 것인지에 대한 해답으로 1991년 웹(Web)이 등장했습니다. 웹은 HTML이라는 형식으로 정보를 표현하고, 정보들에 대한 식별자로 URI를 선택하고, HTTP라는 프로토콜로 정보를 전송합니다.2000년 Roy T. Fielding은 기존의 웹을 망가트리지 않고 HTTP를 개선할 수 있을지에 대한 논문을 발표했고, 이것이 REST 였습니다.REST API란?REST API는 REST 아키텍처를 따르는 API로,.. 에러코드 설계 벤치마킹 & NestJS에서 에러 응답 커스텀 방법 문제상황 Nest.js에서 기본 에러 응답 형식은 위와 같습니다. 이렇게 응답을 주면 협업에 어려움이 있을 것 같습니다.일단 에러가 어느 API에서 발생했는지, 언제 발생했는지 알기 어렵습니다.하나의 상태 코드에 대해서도 세부적으로 분류하기 위한 에러 코드도 필요해보입니다. 벤치마킹다른 기업들에서는 어떤 에러 코드 체계를 가지고 운영 중인지 살펴보겠습니다. 1. NAVER WORKS Developers링크 : https://developers.worksmobile.com/kr/docs/error-codesHTTP 상태 코드와 별도의 에러 코드 체계를 가지고, 해당 코드를 응답 본문에 포함시켜주고 있습니다.동일한 상태 코드에 대해서 여러 종류의 에러 코드를 지정해놓았다는 점에서 어떤 에러인지 파악하기 쉬워.. [Jest] Jest 함수 실행 순서 Jest Globals테스트 프레임워크 중 하나인 Jest에는 다음과 같은 전역 객체와 함수들을 제공하고 있습니다. beforeAll파일 안의 각 테스트가 실행되기 전 실행됩니다.콜백 함수가 promise를 반환하는 경우, promise가 이행(fulfilled)될 때까지 기다립니다.여러 테스트에서 사용되는 전역 상태를 설정(set up)하려는 경우 사용할 수 있습니다.beforeEach파일 안의 각 테스트가 실행되기 전 실행됩니다.콜백 함수가 promise를 반환하는 경우, promise가 이행(fulfilled)될 때까지 기다립니다.각 테스트에서 사용되는 전역 상태를 재설정(reset)하려는 경우 사용할 수 있습니다.afterAll파일 안의 모든 테스트가 완료된 후 실행됩니다.콜백 함수가 promi.. [자료구조] 해시 테이블 해시 테이블이란?키(key)와 값(value)의 쌍으로 데이터를 저장하는 자료구조입니다.해시 테이블에서 삽입, 삭제, 탐색 시 평균적인 시간복잡도는 O(1) 입니다. 어떤 값을 찾더라도 한 단계만 소요된다는 의미입니다.사용 사례검색이나 저장이 빈번할 때 사용하면 좋은데, 특히 캐시를 구현할 때 해시 테이블을 사용할 수 있습니다.캐시는 이전에 계산된 결과를 임시로 저장하는 장소입니다. 캐시의 접근 시간에 비해 원래 데이터를 접근하는 시간이 오래 걸리는 경우나 값을 다시 계산하는 시간을 절약하고 싶은 경우에 사용됩니다. 작동 원리해시 테이블 내부에서는 index와 value로 이루어진 배열 구조를 사용하고 있습니다.키(key)를 해시 함수를 사용하여 배열의 인덱스로 변환한 후, 해당 인덱스에 값(value).. [블록체인] 블록체인 개념 정리 유튜브 '노마드 코더'의 블록체인 시리즈 및 인터넷 검색을 통해 블록체인 기술과 산업에 대해 정리한 내용입니다. 1. 블록체인이란?말 그대로 블록들이 모여있는 체인으로, '공공 거래 장부'로 불리는 데이터 분산 처리 기술을 말합니다.블록체인은 수정, 삭제가 되지 않고 추가만 가능한 데이터베이스와 같습니다. 또한 블록체인은 탈중앙화된 데이터베이스입니다.은행이나 정부 등 특정한 중앙 관리자가 데이터를 관리할 수 없습니다. 네트워크에 참여하는 모든 사용자가 데이터의 복제본을 가지고 있습니다. 이러한 점 때문에 데이터의 위변조가 어렵고, 정부가 크립토커런시를 감시하거나 통제하기 힘듭니다.따라서 거래내역을 위변조하거나 통제하려면, 네트워크의 모든 사용자가 동시에 컴퓨터를 끄거나 모든 복제본을 공격해야 합니다... 이전 1 2 3 4 5 다음