재로그
Preview Image

디자인 패턴 - 싱글톤, 팩토리 메서드, 전략 패턴

디자인 패턴 디자인 패턴이란, 프로그램 설계에서 자주 발생하는 문제를 해결하기 위한 일반적인 솔루션을 제공한다. 객체 간의 상호 관계 등을 이용하여 해결할 수 있도록 하나의 ‘규약’형태로 만들어 놓은 것이 곧 디자인 패턴이다. 객체지향적 디자인 패턴의 카테고리는 크게 ‘생성 패턴’, ‘구조 패턴’, ‘행동 패턴’으로 구분된다. 생성 패턴 ...

Preview Image

Github Actions 환경변수와 시크릿

환경변수 때로는 로컬 개발 환경과 프로덕션 환경에서 다른 데이터베이스에 접근을 해야 하는 경우가 생기며, 키, 포팅이나 URL등도 환경에 따라 변동될 수 있다. Github을 사용할 때는 특히 이러한 환경변수가 포함된 .env 파일을 보안상의 이유로 직접 업로드하지 않는 것이 일반적이다. 그런데 Github Actions는 워크플로를 Github에...

Preview Image

스프링 시작

스프링 입문 자바 스프링을 공부해보면 사고의 폭을 넓힐 수 있다는 동료의 추천에 도전해보기로 했다. 일단 당장 Node.js 기반의 프레임워크밖에 사용을 해본 경험이 없기 때문에, 별도의 언어와 프레임워크를 학습하는 경험을 가져가면, 자바-스프링뿐만이 아니더라도 다른 스택을 요구하는 상황에 놓일 때 더욱 원활하게 터득하여 사용할 수 있을 것이라는 생...

Preview Image

corou : 다시 돌아가기

문제점 기본적인 구현 자체는 모두 완료되었다. 단순한 회원가입 및 로그인부터, 루틴 등록 및 조회, 댓글, 제품 구매까지 처음에 기획했던 모든 요소들이 One-Flow로 작동한다. 그러나, 처음에 데이터베이스의 설계가 미흡했던 부분들이 기능들을 추가하는 데에 어려움을 준다. 우선, 현재 서비스의 알파이자 오메가는 ‘루틴’이다. 이 루틴에 각 단계...

Preview Image

캐싱

캐싱 캐싱이란 빈번하게 접근되는 데이터를 빠르게 저장하고 검색하기 위한 기술로, 원래의 느린 저장 매체에서 반복적으로 데이터를 가져와야 할 필요를 줄여준다. 데이터의 복사본을 주저장매체보다 더 빠르게 접근할 수 있는 위치에 저장하여 속도의 향상을 이루어낸다. 캐싱은 브라우저 캐싱, 애플리케이션 레벨 캐싱, 데이터베이스 캐싱 등 다양한 수준에서 구현할...