![[Spring] AOP](/assets/img/posts/programming/spring/2025-01-20-spring-aop/2025-01-20-20-09-36.png)
![[Spring] AOP](/assets/img/posts/programming/spring/2025-01-20-spring-aop/2025-01-20-20-09-36.png)
[java] Optional을 사용하는 이유와 바른 사용법 (feat. 안티패턴, NPE 피하기)
프로그래밍을 하다보면 null처리를 필수적으로 하게됩니다. 기존에는 null체크를 해서 분기처리(if문같은)하는 형태였다면 자바 8 이후부터는 optional(옵셔널)을 사용합니다. Optional을 공부하며 사용해야하는 이유에 대해 알아봅니다. optional 의 등장 배경 기존에 런타임 시 NPE(NullPointException) 발생 ...
[spring] IoC와 DI: 스프링에서의 객체 관리의 핵심 개념
[java] adapter 패턴에 대해
adapter라고하면 일반적으로 변환을 핵심으로 한다. 어댑터 패턴(Adapter Pattern)은 두 개의 호환되지 않는 인터페이스를 연결하는 구조적 디자인 패턴을 말한다. 이 패턴을 사용하면, 서로 다른 인터페이스를 가진 시스템들이 서로 통신할 수 있게 되며, 기존 코드를 수정하지 않고도 새로운 기능을 추가하거나 외부 시스템과 호환할 수 있게 됩...

[멋쟁이사자처럼 백엔드 스쿨] 은행 시스템 개선: stream 과 enum 을 활용한 메뉴 조회 기능 리팩터링
학습을 목표로 자바 프로젝트를 진행하고 있습니다. Java로 개발하다 보면 데이터를 필터링하거나 정렬하는 작업은 빈번하게 발생합니다. 특히 반복문(forEach)을 사용하는 경우가 많지만, 더 선언적이고 간결한 방식으로 이를 처리할 방법(Stream API와 Enum)을 메뉴 조회 기능에 적용시키고 이를 통한 이점을 확인합니다. 비교 forEa...

[멋쟁이사자처럼 백엔드 스쿨] 은행 시스템 개선: thread & logging 기능 추가
학습을 목표로 자바 프로젝트를 진행하고 있습니다. file read, write 기능을 활용한 은행 오픈, 마감 기능 추가 파일 입출력 유틸 작성 파일 입출력 작성 시 https://github.com/eun2ce/likelion/blob/main/lionbank/src/main/java/org/lionbank/util/FileReaderTa...

[toy project] spring boot 와 java 를 이용한 게시판 만들기
이 프로젝트는 점프투스트링부트(Jump to Spring Boot) 책을 통해 진행한 SBB(SpringBoot Board) 프로젝트입니다. 간단한 게시판 시스템을 구현하며, Spring Boot, Spring Security, JPA 등의 기술을 활용한 웹 애플리케이션을 구축하는 과정에서 많은 실전 경험을 쌓을 수 있었습니다. 특히, Spring S...

[멋쟁이사자처럼 백엔드 스쿨] 은행 시스템 개선: Scanner 를 BufferedReader 로 변환
학습을 목표로 자바 프로젝트를 진행하고 있습니다. Scanner와 BufferedReader에 대해 아래와 같은 차이점을 알게 되었습니다. 특징 Scanner BufferedReader 속도 느림 (정규식 처리가 추가됨) 빠름 (단순 읽기...

[github actions] Could not PUT 'https://maven.pkg.github.com/xxx....jar'. Received status code 401 from server: Unauthorized
git Actions 에서 배포 시 401 에러에 대해 다룹니다.

[git] git submodule - repo 의 특정 폴더를 다른 repo 하위 모듈로 추가하는 방법
git Action 을 이용한 블로그와 github 동기화하는 방법을 다룹니다.