반응형

Back-end 75

[웹 개발] 상태 코드 종류

1xx (Informational) : 요청이 수신되어 처리중 2xx (Successful) : 요청 정상 처리 - 200 OK : 결과를 정상적으로 처리 했을 때, 가장많이 보는 케이스 - 201 Created : 신규 자원으로 등록해달라고 요청하면(POST) 서버에서 자원이 생성 완료 했다는 의미 - 202 Accepted : 배치 처리 같은 곳에서 사용, 요청을 받아들이긴 했지만 바로 실행하지 않을 때 사용됨 - 204 No Content : 서버가 요청을 성공적으로 수행했지만, 응답 페이로드 본문에 보낼 데이터가 없음 3xx (Redirection) : 요청을 완료하려면 유저 에이전트의 추가 행동이 필요 리다이렉션 : 웹 브라우저는 3xx 응답의 결과에 Location 헤더가 있으면, Locati..

Back-end 2022.08.20

참고하면 좋은 URI 설계 개념

1. 문서(document) - 단일 개념(파일 하나, 객체 인스턴스, 데이터베이스 row) - 예) /members/100, /files/star.jpg 2. 컬렉션(collection) - 서버가 관리하는 리소스 디렉터리 - 서버가 리소스의 URI를 생성하고 관리 - 예) / members 3. 스토어(store) - 클라이언트가 관리하는 자원 저장소 - 클라이언트가 리소스의 URI를 알고 관리 - 예) /files 4. 컨트롤러(controller), 컨트롤 URI - 문서, 컬렉션, 스토어로 해결하기 어려운 추가 프로세스 실행 - 동사를 직접 사용 - 예) /memebers/{id}/delete

Back-end 2022.08.20

클라이언트에서 서버로 데이터 전송

클라이언트에서 서버로 데이터를 전송하는 방식에는 4가지 정도로 분류할 수 있다. 정적 데이터 조회, 동적 데이터 조회, HTML Form 데이터 전송, HTTP API 데이터 전송 4가지 방식에 대한 특징을 알아 보도록 하자. 1. 정적 데이터 조회 - 이미지, 정적 데이터 문서 - 쿼리 파라미터 미사용 - 조회는 GET 사용 - 정적 데이터는 일반적으로 쿼리 파라미터 없이 리소스 경로로 단순하게 조회 가능 2. 동적 데이터 조회 - 주로 검색, 게싶판 목록에서 정렬 필터(검색어) - 쿼리 파라미터를 기반으로 정렬 필터해서 결과를 동적으로 생성 (ex. ?q=hello&hl=ko) - 조회는 GET 사용 - GET은 쿼리 파라미터를 사용해서 데이터를 전달 3. HTML Form을 통한 데이터 전송 - 회..

Back-end 2022.08.17

VSCode 저장시에 자동정렬 설정 (Prettier) - 적용 안됨 고치는법 포함

Ctrl + S 를 눌렀을 때 소스코드가 자동 정렬되는 방법을 알려드립니다. 적용 안되는 경우 3,4번 항목을 체크해보세요. 1. VSCode에 Extensions 창(Ctrl + Shift + x)에서 Prettier를 다운받아준다. 2. File - Preferences - Settings 에 들어간다. (Ctrl +,) 3. 'Format on Save' 검색 후 아래 캡처와 같이 설정 4. 'Default Formatter' 검색 후 아래 캡처와 같이 설정

Back-end 2022.06.27

Redis란?

Redis - Remote Dictionary Server - 외부 Hashmap 서버 - Database, Cache, Message broker - In-memory Data Structure Store - Supports rich data structure - Single Thread (시간 복잡도 고려 해서 사용 필요) - Atomic Critical Section에 대한 동기화 제공 Cache - 결과를 미리 저장했다가 빠르게 사용하는 것 Memory hierarchy - CPU Register - CPU Cache - Main Memory (DRAM) : 휘발성, 빠름 - Storage (SSD, HDD) : 비휘발성, 비교적 느림 Database를 보통 Storage에 저장하는데, 더 빠르게..

Back-end 2022.06.27

HTTP 메서드

인프런 '모든 개발자를 위한 HTTP 웹 기본지식' 강의를 듣고 정리했습니다. 자세한 내용을 알고싶으면 해당 강의를 듣는 것을 추천드립니다. API URI 설계에 관한 내용을 알아보록 하자. 회원 목록 조회 / read-member-list 회원 조회 /read-member-by-id 회원 등록 /create-member 회원 수정 /update-member 회원 삭제 /delete-member 나는 실제로 업무에서 이런식으로 uri를 설계했다. 이게 정말 좋은 uri 설계인지 생각해봐야한다. 가장 중요한 것은 리소스별 식별이 필요하다. 리소스란 무었일까? - 미네랄을 캐라 --> 미네랄이 리소스이다. - 회원이라는 개념 자체가 바로 리소스이다. 리소스를 어떻게 식별하는게 좋을까? - 회원을 등록하고 수..

Back-end/HTTP 2022.05.29

CSR, SSR, SPA, MPA 비교

CSR, SSR, SPA, MPA에 대해서 알아보자. CSR : Client Side Rendering SSR : Server Side Rendering SPA : Single Page Application MPA : Multiple Page Application 이 네가지 개념에대해서 혼동하는 경우가 있다. 명칭에서 힌트를 얻자면, CSR vs SSR, SPA vs MAP 관계이다. 자세한건 아래에 CSR, SSR, SPA, MPA특징에 대해서 작성했다. 1. CSR : Client Side Rendering - 첫 로딩에서 html과 static 파일들을 다 받으면, 동적으로 빠르게 Rendering하기 때문에 첫 로딩 이후 사용자 UX가 뛰어나다. - 첫 로딩 이후 서버에 요청하는 횟수가 SSR에 ..

Back-end 2022.05.22

Flux

https://velog.io/@nomadhash/TIL-MVC-%ED%8C%A8%ED%84%B4-vs-Flux-%ED%8C%A8%ED%84%B4 [TIL] MVC 패턴 vs Flux 패턴 리덕스를 보다 정확하게 이해하고 사용하기 위해선 리덕스의 근원이되는 Flux 아키텍쳐에 대한 이해가 필수라 생각되어 정리용으로 글을 써봤다. Flux 아키텍쳐란 facebook에서 기존의 Model-View-Contro velog.io 위 링크에서 대부분의 내용을 가져왔습니다. MVC 패턴의 한계 MVC 패턴의 컨트롤러는 모델의 데이터를 조회하거나 업데이트하는 역할을 하며, 모델의 변화는 뷰에 반영된다. 그리고 사용자가 뷰를 통해 데이터를 입력하면, 모델에 영향을 주면서 데이터를 관리하게 된다. 그러나 페이스북과 같은..

Back-end 2022.05.22

MVC, MVP, MVVM 패턴

1. MVC ( Model + View + Controller) MVC 패턴을 사용하는 목적은 View와 Model사이에 Controller를 두어 View와 Model의 의존성을 없애기 위함. 1.1 구조 - Model : 데이터와 데이트를 처리하는 부분 - View : 사용자에게 보여지는 부분 - Controller : 사용자의 입력(Action)을 받고 처리하는 부분 1.2 동작 1) 사용자의 Action들은 Controller가 감지 한다. 2) Controller는 사용자의 Action을 확인하고, Model을 업데이트 한다. 3) Controller는 Model을 표현해줄 View를 선택한다. 4) View는 Model을 이용하여 화면을 나타낸다. 1.3 특징 Controller는 여러개의 V..

Back-end 2022.05.22

HTTP에 대해서

김영한님의 '모든 개발자를 위한 HTTP 웹 기본 지식' 강의를 듣고 작성했습니다. HTTP http메시지에 모든 것을 전송할 수 있습니다. html, text, image, 음성, 영상, 파일, JSON, XML(API) 등 거의 모든 형태의 데이터가 전송 가능합니다. 서버간 데이터를 주고 받을 때도 대부분 HTTP를 사용합니다. HTTP 버전 HTTP/1.1 은 1997년도에 나왔으며, 지금 가장 많이 알려진 버전입니다. HTTP/2 는 2015년에 성능 개선으로 나왔습니다. HTTP/3은 지금도 진행중입니다. TCP 대신 UDP를 사용하고 있습니다. 👇🏻아래 캡쳐 사진 h2, h3라고 표시된 것을 볼 수 있다. (h2= HTTP/2, h3=HTTP/3) HTTP 특징 1. 클라이언트 서버 구조 - ..

Back-end/HTTP 2022.03.21
반응형