일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- HTML
- Spring Data JDBC
- 거듭제곱
- 첫글자대문자
- 페어프로그래밍
- java
- FilterChain
- 계산기만들기
- 데일리코딩
- 깃허브
- Publishing
- testing
- 문자열뒤집기
- spring data jpa
- 자바
- fibonacci
- 부트캠프
- 컬렉션프레임워크
- 알고리즘
- 그리디
- CLI명령어
- 자료구조
- 제네릭스
- 백엔드
- Spring Security
- 스프링
- 회고
- CSS
- 백준알고리즘
- 인텔리제이
- Today
- Total
목록SEB/TIL (40)
나의 모양
🎈 @ExceptionHandler를 이용한 예외 처리 Controller 클래스 레벨에서 @ExceptionHandler를 사용하면 해당 Controller에서 발생하는 예외를 처리할 수 있다. 필요한 예외 정보만 담을 수 있는 Error 전용 Response 객체를 사용하면 클라이언트에게 조금 더 친절한 에러 정보를 제공할 수 있다. BUT! @ExceptionHandler 방식은 Controller마다 동일하게 발생하는 예외 처리에 대한 중복 코드가 발생할 수 있기 때문에 다양한 유형의 예외를 처리하기에는 적절하지 않다. ✅ Ref. @ExceptionHandler https://docs.spring.io/spring-framework/docs/current/reference/html/web.htm..

🎈 DI를 통한 서비스 계층 ←→ API 계층 연동 애플리케이션에서 Service: 도메인 업무 영역을 구현하는 비즈니스 로직을 처리하는 것이다. 애플리케이션의 비즈니스 로직을 처리하기 위한 서비스 계층은 대부분 도메인 모델을 포함하고 있다. Spring Bean으로 등록 Controller 클래스에 @RestController 추가 Service 클래스에 @Service 추가 생성자 방식의 DI는 생성자가 하나일 경우에는 @Autowired 애너테이션을 추가하지 않아도 DI가 적용된다. 서비스 계층과 API 계층을 연결한다는 것은 API 계층에서 구현한 Controller 클래스가 서비스 계층의 Service 클래스와 메서드 호출을 통해 상호작용하는 것이다. 🎈 매퍼(Mapper)를 이용한 DTO 클래..
🎈DTO 유효성 검증이 필요한 이유 자바스크립트로 전송되는 데이터는 브라우저의 개발자 도구에서 값을 조작할 수 있기 때문에 프론트엔드 쪽에서 유효성 검사를 진행했다고 하더라도 서버 쪽에서 한번 더 유효성 검사를 진행해야 한다. 프론트엔드 쪽에서 진행하는 유효성 검증 프로세스는 사용자 편의성 측면에서 필요한 작업이다. 🎈DTO 클래스에 유효성 검증 적용하기 🧩 유효성 검증을 위한 의존 라이브러리 추가 dependencies { implementation 'org.springframework.boot:spring-boot-starter-validation:2.7.3' } 🎈@PathVariable 유효성 검증 @PathVariable에서 유효성 검증을 하려면 클래스에 @Validated을 붙여줘야 한다. 안..
🎈 DTO(Data Trasfer Object) 마틴 파울러(Martin Fowler)가 ‘Patterns of Enterprise Application Architecture’ 라는 책에서 처음 소개한 엔터프라이즈 애플리케이션 아키텍처 패턴의 하나이다. 데이터를 전송하기 위한 객체 주로 클라이언트에서 서버 쪽으로 전송하는 요청 데이터를 전달 받을 때, 서버에서 클라이언트 쪽으로 전송하는 응답 데이터를 전송하기 위한 용도로 사용된다. 데이터 전송이 이루어지는 구간 클라이언트 → 서버: 요청(request) 데이터 서버 → 클라이언트: 응답(response) 데이터 DTO 클래스: 요청 데이터를 하나의 객체로 전달 받는 역할 🎈 DTO가 필요한 이유 클라이언트의 Request Body를 하나의 객체로 모두..
💙 SQL 🤍 데이터베이스의 필요성 In-Memory 데이터 보호 불가 프로그램 종료 시 데이터 받아올 수 없음 File I/O 파일을 읽는 방식으로 작동하는 형태 데이터가 필요할 때마다 매번 전체 파일을 읽어야함. 크기가 커질수록 비효율적인 단점이 있음 🤍 SQL(Structed Query Language) 데이터베이스 언어, 구조화된 쿼리 언어 관계형 데이터베이스에서 사용 종류: MySQL, Oracle, SQLite, PostgreSQL 🤍 NoSQL 데이터가 구조화되어있지 않은 데이터베이스 데이터를 다른 형태로 저장 종류: MongoDB 🤍 쿼리(Query) 질의문(질문에 대한 답) 기존 존재하는 데이터를 검색어로 필터링해주는 것 데이터베이스에 쿼리를 보내 원하는 데이터를 가져오거나 삽입할 수 있..

💙API & REST 🤍 API(Application Programming Interface) 특정 서비스를 제공하기 위한 프로그래밍 세트로 사용할 수 있는 프로그래밍 인터페이스 목록을 호출해서 사용 웹 앱을 구현하는데 네이버 로그인을 해야되는 상황이라고 했을 때, 네이버에서 제공하는 OpenAPI를 통해 네이버의 로그인 기능을 호출하여 연동할 수 있음 🤍 REST(Representational State Transfer) REST는 월드 와이드 웹과 같은 분산 하이퍼미디어 시스템을 위한 소프트웨어 아키텍처의 한 형식으로, 자원을 이름(자원의 표현)으로 구분하여 해당 자원의 상태(정보)를 주고 받는 모든 것을 의미함 쉽게 말해 API를 구축할때 URI와 HTTP Method를 활용하여 API의 기능을 추..

💙 HTTP(HyperText Transfer Protocol) HTML과 같은 문서를 전송하기 위한 Application Layer 프로토콜 HTTP는 웹 브라우저와 웹 서버의 소통을 위해 디자인됨 클라이언트-서버 모델에서 클라이언트가 HTTP messages 양식에 맞춰 요청 전송 서버도 HTTP messages 양식에 맞춰 응답 HTTP의 특징: Stateless(무상태성) ✅ Ref. Application Layer Protocol Hypertext Transfer Protocol - Wikipedia From Wikipedia, the free encyclopedia Jump to navigation Jump to search Application protocol for distributed, ..

💙 웹 애플리케이션 작동원리 🤍 네이티브 애플리케이션 특정 기기에 설치해서 사용하는 애플리케이션… 그냥 뭐 어플 다운받는거 특정 실행환경에 종속(Apple iOS, Android OS, Windows, …) iOS용으로 나온 애플리케이션은 안드로이드에서 실행 불가 👍🏻 장점 웹 애플리케이션보다 빠름 애플리케이션이 설치된 기기의 리소스에 접근이 용이 (ex. GPS, 카메라, …) 오프라인에서 사용 가능 웹 애플리케이션에 비해 안전 (모바일은 앱스토어 승인 필요) 👎🏻 단점 웹 애플리케이션에 비해 많이 드는 개발비용 (멀티 플랫폼 개발 등) 어려운 빠른 업데이트 앱스토어 승인 시 비용 발생, 승인도 힘듦 🤍 웹 애플리케이션 웹 브라우저로 접근 가능한 애플리케이션 👍🏻 장점 브라우저에서 실행되기 때문에 설치..