profile
백엔드개발자를 향해서
post-thumbnail

인증/보안의 기초2 - Cookie와 Session

쿠키는 서버에서 클라이언트에 데이터를 저장하는 방법 중 하나입니다. 그러므로 서버가 원한다면 서버는 클라이언트에서 쿠키를 이용하여 데이터를 가져올 수 있습니다.쿠키를 이용하는 것은 단순히 서버에서 클라이언트에 쿠키를 전송하는 것만 의미하지 않고 클라이언트에서 서버로 쿠

2023년 10월 16일
·
0개의 댓글
·

인증/보안의 기초1 - HTTPS와 Hashing

현재 대부분의 웹사이트의 경우 HTTPS를 사용하고 있으며, 만약 HTTP를 사용하는 웹사이트에 접속했다면 Not Secure라는 메시지를 표시해 사용자가 해당 웹사이트와의 연결하는 것에 안전성 보장이 없다는 것을 알려줍니다.HTTPS는 Hyper Text Transf

2023년 10월 16일
·
0개의 댓글
·

슬라이스 테스트(Slice Test)

하나의 애플리케이션은 계층별로 역할이 있고, 계층별로 서로 연동되기 때문에 각각의 계층 별로 잘 동작하는지 테스트를 진행한 후에 마지막으로 통합 테스트를 통해서 계층 간의 연동에 문제가 없는지 확인해야 비로소 개발자의 테스트 작업이 마무리되는 것이라고 할 수 있습니다.

2023년 10월 12일
·
0개의 댓글
·

Hamcrest를 사용한 Assertion

Hamcrest는 JUnit 기반의 단위 테스트에서 사용할 수 있는 Assertion Framework입니다.장점 1\. Assertion을 위한 매쳐(Matcher)가 자연스러운 문장으로 이어지므로 가독성이 향상된다.2\. 테스트 실패 메시지를 이해하기 쉽다.3\.

2023년 10월 12일
·
0개의 댓글
·

JUnit을 사용한 단위 테스트

Fast(빠르게) : 일반적으로 작성한 테스트 케이스는 빨라야 한다는 의미입니다.Independent(독립적으로) : 각각의 테스트 케이스는 독립적이어야 한다는 의미입니다.예를 들어, A라는 테스트 케이스를 먼저 실행시킨 후에 다음으로 B라는 테스트 케이스를 실행시켰더

2023년 10월 12일
·
0개의 댓글
·
post-thumbnail

다중 DB(데이터베이스) 연결

본 포스팅은 프로젝트 완료 후, To do로 남겨둔 회원 탈퇴 이관과 관련한 작업을 위해서 다중 데이터베이스 연결과 관련된 포스팅으로 실제 회원 탈퇴와 관련된 정책은 회사마다 다르므로 실제 이관 작업은 생략하고, 다중 데이터베이스를 연결하는 것에 초점을 맞췄습니다.스프

2023년 10월 9일
·
0개의 댓글
·

[spring mvc] 트랜잭션 적용

트랜잭션을 적용하는 방법은 크게 두 가지로 나뉩니다.첫 번째는 작성한 비즈니스 로직에 애너테이션을 추가하는 방식이고, 또 하나는 AOP 방식을 이용해서 비즈니스 로직에서 아예 트랜잭션 적용 코드 자체를 감추는 방식입니다.여기서는 우선 애너테이션을 사용한 방식만 기록하겠

2023년 10월 5일
·
0개의 댓글
·

[spring mvc] 트랜잭션(Transaction)

여러 개의 작업들이 마치 하나의 그룹처럼 묶여서 처리되는 중에 둘 중 하나라도 처리에 실패할 경우 애플리케이션의 신뢰성이 깨지는 상황이 발생할 수 있습니다.트랜잭션은 여러 개의 작업들을 하나의 그룹으로 묶어서 처리하는 처리 단위인데 애플리케이션의 신뢰성이 깨지는 상황이

2023년 9월 22일
·
0개의 댓글
·

spring mvc에서 페이징 처리(페이지네이션)

 @RequestParam으로 page와 size를 받아온다.우리가 사용하고자 하는 Pageable 의 page객체 는 0 부터 시작한다. 그러므로 controller 단이나 service단에서 page를 -1 처리 해주는 작업이 필요하다.(위에서는 controller

2023년 9월 22일
·
0개의 댓글
·

JPA 기반 데이터 액세스 계층(4) - Spring Data JPA를 통한 데이터 엑세스 계층 구현

Spring Data JPA는 Spring Data 패밀리 기술 중 하나로써, JPA 기반의 데이터 액세스 기술을 좀 더 쉽게 사용할 수 있게 해주기 때문에 데이터 액세스 계층의 구현에 있어 개발 시간을 단축시켜 줍니다. JPA의 경우 이름 자체는 Jakarta Per

2023년 9월 19일
·
0개의 댓글
·

JPA 기반 데이터 액세스 계층(3) - 엔티티 간의 연관 관계 매핑

예를 들어 Member 클래스와 Order 클래스 관계에서 Member에만 Order 객체를 원소로 포함하는 List 객체를 가지고 있으면, Order를 참조할 수 있습니다.하지만 이 경우, Order 클래스는 Member 클래스에 대한 참조 값이 없으므로 Order

2023년 9월 18일
·
0개의 댓글
·

JPA 기반 데이터 액세스 계층(2) - 엔티티 매핑

@Entity 매핑 애너테이션을 이용해 엔티티 클래스와 테이블을 매핑합니다.@Entity 애너테이션을 붙이면 JPA 관리 대상 엔티티가 됩니다.@Entity attributename엔티티 이름을 설정할 수 있습니다.@Table attributename테이블 이름을 설정

2023년 9월 15일
·
0개의 댓글
·

JPA 기반 데이터 액세스 계층(1) - JPA란?

JPA(Java Persistence API)는 Java 진영에서 사용하는 ORM(Object-Relational Mapping) 기술의 표준 사양(또는 명세, Specification)입니다.표준 사양(또는 명세)이라는 의미는 다시 말하면 Java의 인터페이스로 사양

2023년 9월 15일
·
0개의 댓글
·

JDBC 기반 데이터 액세스 계층(4) - Spring Data JDBC에서의 엔티티와 레포지토리

Java에서 테이블의 외래키(Foreign key)를 표현하는 일반적인 방법: 클래스의 객체 참조 리스트(List)테이블 간의 관계는 외래키라는 연결 요소가 있어서 직관적입니다.그런데 클래스들 간에는 외래키라는 연결 요소가 없습니다. 대신에 클래스들은 객체 간에 참조가

2023년 9월 4일
·
0개의 댓글
·

JDBC 기반 데이터 액세스 계층(3) - Spring Data JDBC 기반의 도메인 엔티티 및 테이블 설계

DDD(Domain Driven Design)는 도메인 주도 설계로, 용어의 의미 그대로 도메인 위주의 설계 기법을 의미합니다.도메인이란 용어는 주로 비즈니스적인 어떤 업무 영역과 관련이 있습니다.도메인 지식(Domain Knowledge)들을 서비스 계층에서 비즈니스

2023년 8월 31일
·
0개의 댓글
·
post-thumbnail

JDBC 기반 데이터 액세스 계층(2) - Spring Data JDBC란?

Spring에서 사용할 수 있는 대표적인 데이터 액세스 기술에는 mybatis, Spring JDBC, Spring Data JDBC, JPA, Spring Data JPA 등이 있습니다. mybatisSpring JDBCSQL 중심 기술은 애플리케이션에서 데이터베이스

2023년 8월 31일
·
0개의 댓글
·

JDBC 기반 데이터 액세스 계층(1) - JDBC란?

JDBC(Java Database Connectivity)는 Java 기반 애플리케이션의 코드 레벨에서 사용하는 데이터를 데이터베이스에 저장 및 업데이트하거나 반대로 데이터베이스에 저장된 데이터를 Java 코드 레벨에서 사용할 수 있도록 해주는 Java에서 제공하는 표

2023년 8월 31일
·
0개의 댓글
·

Spring MVC에서의 예외처리(3) - 비즈니스 로직에 대한 예외처리

Java에서는 throw 키워드를 사용해서 예외를 메서드 바깥으로 던질 수 있습니다.던져진 예외는 메서드 바깥 즉, 메서드를 호출한 지점으로 던져지게 되는 것입니다.서비스 계층의 메서드는 API 계층인 Controller의 핸들러 메서드가 이용하므로 서비스 계층에서 던

2023년 8월 26일
·
0개의 댓글
·

Spring MVC에서의 예외처리(2) - @RestControllerAdvice

특정 클래스에 @RestControllerAdvice 애너테이션을 추가하면 여러 개의 Controller 클래스에서 @ExceptionHandler, @InitBinder 또는 @ModelAttribute가 추가된 메서드를 공유해서 사용할 수 있습니다.@InitBind

2023년 8월 18일
·
0개의 댓글
·

Spring MVC에서의 예외처리(1) -@ExceptionHandler

DTO 유효성 검증에서 클라이언트 요청 데이터의 유효성 검증에 실패할 경우 받는 Response Body의 내용만으로는 요청 데이터 중에서 어떤 항목이 유효성 검증에 실패했는지 알 수가 없습니다.클라이언트 쪽에서 에러메시지를 조금 더 구체적으로 친절하게 알 수 있도록

2023년 8월 18일
·
0개의 댓글
·