전체 글
-
Spring(6) - Logger카테고리 없음 2021. 8. 19. 11:08
안녕하세요. 이번 포스팅은 Logger에 대한 포스팅을 해보려고 합니다. 원래 System.out.println()함수로 거의 출력을 확인했습니다. 그러나 이것은 잘못된 방식이라는 것을 알았습니다. 모든 실무부분에서는 Log라는 것을 이용하여 상태를 출력해 확인한다고합니다. 그럼 Log에 대해서 자세히 알아보겠습니다. Logger란 ? Logger는 프로그램 개발 중 발생할 수 있는 오류를 디버깅 또는 프로그램상태를 모니터링하기 위해 필요한 정보를 기록하는 것. System.out.println을 사용하지 않는 이유 System.out.println는 출력 레벨을 정해 줄 수 없고 로그를 파일에 담기 까다롭습니다. 그래서 실제로는 다양한 로그 프레임워크를 이용하여 로그를 기록합니다. 프레임워크의 중심에는..
-
Spring(5) - @TransactionalBack-end/Spring 2021. 8. 18. 15:46
이번 글은 흔히 쓰이는 @Transactional 어노테이션에 대해서 알아보려고합니다. 앞서 트랜잭션에 관한 글을 읽고 이 글을 읽으시면 이해가 잘될것입니다. 트랜잭션 어노테이션의 내부 동작은 크게 3가지로 나뉩니다. PlatformTransactionManager을 인터페이스로 활용하고 있습니다. 안의 메소드를 살펴보겠습니다. public interface PlatformTransactionManager { TransactionStatus getTransaction(TransactionDefinition definition) throws TransactionException; void commit(TransactionStatus status) throws TransactionException; void..
-
JPA(3) - Transation(트랜잭션)Back-end/JPA 2021. 8. 18. 14:00
안녕하세요. 오랜만에 JPA에 관한 글을 써보려고합니다. 이번 포스팅은 JPA를 사용하면서 @Transactional이라는 어노테이션을 사용하게 됩니다. 저는 이것이 무척 궁금하였고 우아한 테크코스 유투브를 보면서 많은 공부를 하게 되었습니다. 지금부터 트랜잭션이 왜 사용되고 어떻게 작동하며 Spring에서는 어떻게 사용하는지 알려드리겠습니다. 위의 그림은 간단한 계층도입니다. 일반 사용자 같은 경우에는 웹 화면에서 데이터를 조회하면 서버로 요청이 가게되고 서버는 다시 DBMS(Database Management System)으로 요청을 보내게 됩니다. 이 요청을 받은 DBMS는 SQL문을 해석하고 LOG로 기록하여 DB에 정보를 CRUD하게 됩니다. 이러한 하나의 과정을 트랜잭션이라고 생각하시면 됩니다..
-
쿠키와 세션 구현Computer기본지식/Computer 2021. 8. 17. 12:37
안녕하세요. 이번에는 간단한 쿠키와 세션을 Java언어로 직접 구현해보는 작업을 가졌습니다. Serialize를 공부하다가 보니 쿠키와 세션이 Java의 영속화에 사용된다는 말에 필요한 기술이구나라고 느꼈습니다. 그래서 간단하게라도 구현해보고 이해해보자라는 생각이 들었습니다. 지금부터 시작해보겠습니다. 1. Session 세션은 서버에 저장되는 형태로 민감한 정보의 데이터들을 주로 관리해주고 클라이언트에게는 접근 가능한 임시 키를 발급해주는 형태를 가지고 있습니다. 그러면 클라이언트가 키를 HTTP요청에 담아서 보내면 그것을 받은 세션은 다시 HTTP에 데이터를 담아 응답해 주는 역할을 합니다. 간단히 세션에 대해서 구현해봤습니다. @RestController @Slf4j public class Sess..