Home
marshmel.log
Cancel

AOP with java

AOP란?? AOP는 Aspect Oriented Programming으로 관점 지향 프로그래밍으로, Cross cutting concern(횡단 관심사)의 분리를 허용하여 모듈성을 증가시키는 것이 목적인 프로그래밍 방법론, 패러다임이다. 위키백과 Cross cutting concern (횡단 관심 모듈) 서비스의 비즈니스 로직을 포함하는...

[Effective Java] Generic에 대하여…

최근 JDBC를 이용해 정말 간단한 이커머스 CRUD를 개발하면서 팀원들과 제네릭 사용에 대해 많이 고민했다. 제네릭을 따로 정의해서 사용해본 경험이 거의 없었기 때문에 정확히 왜 사용하고 어떤 점에서 타입 안정성이 보장된다고 하는지 알고 싶어 Effective Java에 제네릭 부분을 읽고 정리하게 되었다. Generic이란? Java 5 부터 ...

[Effective Java] 싱글턴과 빌더 패턴

Effective Java를 읽으며 정리한 내용입니다. Builder 패턴 Builder는 spring boot에서 @Builder 어노테이션으로 많이 사용했었다. 이번 글에서는 lombok에서 제공되는 어노테이션이 아닌 직접 빌더 패턴을 만들어 본다. 생성자에 매개변수가 많다면 빌더를 고려하라 - item2 점층적 생성자 패턴 ...

SSAFY 8기 후기 및 취업 후기

2022.07 부터 2023.07까지의 회고를 담은 포스팅입니다. SSAFY 8기 시작 엘리스 AI 트랙 4기를 마치고 바로 SSAFY 8기를 합격해 1년간 교육을 받았다. SSAFY 8기 합격 후기 1학기 강의 교육과 2학기 프로젝트 수행으로 시간을 보냈다. SSAFY에서 Spring boot 기반의 백엔드는 처음 접했지만 재밌었다. 2...

REST API의 특징과 설계

API란 무엇인가 ? API는 Application Programming Interface(애플리케이션 프로그램 인터페이스)의 줄임말입니다. API의 맥락에서 애플리케이션이라는 단어는 고유한 기능을 가진 모든 소프트웨어를 나타냅니다. 인터페이스는 두 애플리케이션 간의 서비스 계약이라고 할 수 있습니다. 이 계약은 요청과 응답을 사용하여 두 애플리케이...

spring boot profile 환경변수 분할 적용

환경에 따른 설정 파일 분할 적용? 팀 프로젝트를 진행하다보면 설정 파일에서 형상 관리를 하면서 충돌이 난다. 로컬에서 테스트하는 데이터베이스나 포트가 다른 경우 저장소에서 pull 받을 때마다 수정해줘야 하는 귀찮음이 있다. 귀찮음을 해소하면서 프로젝트의 환경을 개발, 운영, 로컬로 나눌 수 있는 설정파일 분할 적용에 대해 알아보자 ! spri...

Jenkins를 사용한 CI/CD with Docker

CI/CD Continuous Integration과 Continuous Delivery이다. 애플리케이션 개발 단계를 자동화하여 애플리케이션 개발을 보다 짧은 주기로 고객에게 제공하는 방법이다. 애플리케이션 통합, 테스트, 제공, 배포에 이르는 라이프사이클 전체에 걸쳐 지속적인 자동화와 모니터링을 제공한다. docker에 jenkins 컨테이너 ...

MYSQL event scheduler로 데이터 조작하기

Event Scheduler mysql의 event scheduler는 주기적으로 데이터베이스에 작업을 해야 할 경우 사용한다. 지속적으로 쌓이는 temporary 데이터가 있을 때 해당 테이블을 자주 비워줌으로써 용량 차지가 되지 않게끔 해야한다. 매번 개발자가 테이블을 비울 필요 없이 데이터베이스 자체에 어떤 이벤트를 걸어주고 주기적으로 반복되...

좋은 객체 지향 프로그래밍을 위한 방법: SOLID

클린 코드로 유명한 로버트 마틴의 SOLID 5가지 원칙을 알아보자 SRP(Single Responsibility Principle) 첫 번째는 단일 책임 원칙이다. 간단하게 말하면 하나의 클래스는 하나의 책임을 가져야 한다는 원칙이다. 하나의 책임이라는 말은 규모가 클 수도 있고 작을 수도 있다. 상황에 따라 다를 것이고, 중요한 기준은 “변경”...

Vue 프로젝트 생성과 todo list 만들기

create project vue create appname vue create를 사용하여 vue 프로젝트를 생성한다. 프로젝트 이름에는 대문자가 들어갈 수 없으며, 하이픈(-)은 사용 가능하다. (ex. my-app) 위 명령어를 치게 되면 vue 프로젝트를 생성할 수 있는 선택지가 나온다. vue 2, 3버전을 사용하거나 원하는 의존성을...