일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 자료구조
- dfs
- 코딩테스트
- 스프링 부트
- 구름LEVEL
- HTTP
- 프로그래머스
- 스프링부트
- Linux
- 인텔리제이
- docker
- spring
- 도커
- 이직
- 백엔드
- HashMap
- 배열
- bfs
- spring boot
- 구현
- 스타트업
- 개발자
- 문자열
- 해결
- 명령어
- Java
- 해시맵
- 주니어
- 스프링
- IntelliJ
- Today
- Total
목록개발지식 (52)
마이의 개발 블로그

요즘은 ExpressJS 프레임워크를 사용하여 백엔드 API를 개발하는 업무를 주로 하고있다. 프레임워크나 프로젝트 셋업에 따라 응답코드를 알아서 리턴해주는 경우도 있지만, 현재 프로젝트에서는 아래와 같이 응답코드를 직접 적어줘야할 경우들이 종종 있어 세부적인 내용을 알아두고자 정리해본다. if(files.length 0){ res.status(200).json({message: '업로드 완료'}); }else{ res.status(500).json({message: '업로드 실패'..

HTTP의 특징 2가지 1. 무상태 (stateless) - 통신이 끝나면 상태정보를 유지하지 않는다는 특성 (이전의 요청과 다음의 요청이 관련이 없다는 의미) - 장점 : 다수의 요청에 대해 서버가 추가 정보를 관리할 필요가 없어 부하를 줄일 수 있음 - 단점 : 서버측에서 클라이언트의 식별이 불가능함 2. 비연결성 (connectionless) - 요청에 대한 응답이 끝나면 연결(connection)을 끊는다는 특성 - 장점 : 연결에 필요한 리소스를 효율적으로 관리하게 해줌 (불특정 다수의 클라이언트) - 단점 : 동일한 클라이언트의 경우에도 연결, 해제에 대한 오버헤드 발생 쿠키와 세션의 사용 이유 웹을 사용하다보면 서버가 클라이언트의 정보를 알아야하는 경우가 많다. 예를들어, 쇼핑몰에서 물건을 ..

싱글톤 패턴이란? OOP의 디자인 패턴 중 하나로, 오직 하나의 인스턴스만을 생성하여 사용하게끔 만드는 패턴 장점 - 메모리 낭비를 방지 (한 번만 선언하여 재사용) - 객체 로딩 시간이 줄어 성능이 향상됨 - 전역 인스턴스의 사용으로 다른 클래스에서 사용 시 데이터 공유가 용이함 단점 - SOLID 중 OCP(개방-폐쇄 원칙), DIP(의존관계 역전 원칙)에 위배됨 - 멀티쓰레드 환경에서 인스턴스가 여러 개 생성될 수 있음 (동기화 처리 필수) 사용 예시 //싱글톤 패턴의 적용 public class WeatherAPI { private static WeatherAPI instance; public static WeatherAPI getInstance() { if (instance == null) { ..

REST란? Representational State Transfer (REST) - 로이 필딩(Roy Fielding)에 의해 2000년도에 제시된 네트워크 아키텍처 원리의 모음임 - 디자인 원리이기 때문에 특정 프레임워크, 환경, 언어 등에 구애받지 않음 - RESTful : REST의 원리에 충실한 디자인을 지칭할 때 RESTful하다고 표현함 REST 구성 요소 - 자원(resource) : URI - 행위(verb) : 주요 HTTP 메서드 5개(get, post, put, patch, delete)를 주로 사용 - 표현(representation) REST의 디자인 원칙 1. 인터페이스 일관성 - 일관적인 인터페이스로 분리되어야 함 - 요청이 어디서 오는지에 관계없이 같은 표현으로 응답함 2...

MVC패턴이란? - UI 개발에 널리 사용되는 소프트웨어 디자인 패턴으로 모델, 뷰, 컨트롤러의 세 가지 요소를 가지고 있음 - 데스크탑 GUI에 전통적으로 사용되어왔기 때문에 사용자가 의식하지 못할 뿐 다양한 앱에서 사용되어옴 - 여러 프로그래밍 언어에서 MVC 패턴을 구현하는 프레임워크를 찾을 수 있음 사용 목적 - 비즈니스 로직과 화면을 분리하기 위함 - 관심사 분리 (separation of concern, SoC) : 코드의 단순화, 더 나은 유지보수성을 가능하게 함 구성 요소 1. 모델 - 직접적으로 앱의 데이터, 로직, 규약을 다루는 앱의 가장 중심이 되는 구성요소임 - UI로부터 독립적인 앱의 동적 데이터 구조임 - 컨트롤러로부터 사용자 입력(user input)을 받음 2. 뷰 - 정보를..