오늘은 자바의 강력한 기능 중 하나인 '레코드(Records)'에 대해 기록을 해보려고 합니다. 자바 16부터 정식으로 도입된 레코드는 데이터 전송 객체(DTO)의 생성을 더욱 간결하고 명확하게 만들어 줍니다. 저는 보통 lombok을 사용해서 어노테이션을 덕지덕지 붙여놨었는데 DTO를 Record로 생성하면 간단하게 해결되더라구요. 정리를 해보자면 자바 레코드란? 자바 레코드는 데이터를 운반하는 데에 최적화된 불변의 데이터 클래스입니다. 기존의 클래스보다 훨씬 간결한 코드로 필드와 데이터를 정의할 수 있어, 개발자의 편의성을 크게 향상시킵니다. 예제 한번봅시다. public record Person(String name, int age) {} 끝. 단 몇 줄의 코드로 Person 클래스를 완성할 수 있..
전체 글
깊이 있게 공부하자AOP(Aspect-Oriented Programming, 관점 지향 프로그래밍)는 개발자가 횡단 관심사를 모듈화하고 주요 비즈니스 로직에서 분리할 수 있게 하는 강력한 프로그래밍 패러다임입니다. 여기서 AOP의 기본 개념, 스프링 프레임워크에서의 구현 방법, 그리고 이점을 잘 보여주는 실용적인 예제를 통해 AOP를 살펴볼 것입니다. AOP란 무엇인가? AOP는 객체 지향 프로그래밍(OOP)을 보완하여 로깅, 보안, 트랜잭션 관리 등과 같은 횡단 관심사를 주 비즈니스 로직으로부터 분리할 수 있게 해줍니다. AOP는 이러한 관심사를 별도의 모듈인 "Aspect"로 캡슐화하여 코드의 장황함을 줄이고 유지보수성을 높이는 데 도움을 줍니다. AOP의 핵심 개념 Aspect(관점): 횡단 관심사를 캡슐화한 모듈 ..
자바(Java) 프로그래밍에서 매우 중요한 개념인 'Try-with-resources'에 대해 깊이 있게 탐구해보려 합니다. 이 기능은 자바 7부터 소개되었으며, 코드를 더 깔끔하고 안전하게 만드는 데 큰 도움이 됩니다. 특히 파일 입출력, 데이터베이스 연결과 같은 자원을 사용할 때 이 기능의 중요성이 더욱 부각됩니다. Try-with-resources란 무엇인가요? Try-with-resources는 자바에서 'AutoCloseable' 인터페이스를 구현하는 객체들을 자동으로 닫아주는 구문입니다. 이는 개발자가 명시적으로 자원을 해제하는 번거로움을 줄여주며, 예외 발생 시에도 안전하게 자원을 해제할 수 있도록 도와줍니다. 예제로 바로 알아봅시다. 우선 Try-with-resources를 미사용 해보죠...
무료로 시퀀스 다이어그램을 그리는 유용한 사이트를 알게 되었다 https://www.websequencediagrams.com/ WebSequenceDiagrams - Draw sequence diagrams online in seconds Draw sequence diagrams in seconds using this free online tool. www.websequencediagrams.com 예제로 작성 해본 코드다 title 글 등록 시퀀스 User -> Controller: 글 등록 요청 note right of Controller: 예시 request POST {url}/posts { "isAdmin" : true, "title" : "abc", "contents" : "게시글 내용", "..