환경변수 어떻게 가지고 갈까?
환경변수를 가지고 있는 프로젝트를 배포할 때 어떻게 하는게 좋을까요? (컨테이너 이미지로 무중단 배포를 하고 개발자의 휴먼에러를 최대한 줄일 수 있는 방법을 찾는 것을 목표로 하는 경우를 기준으로 합니다.) 참고로 스프링 부트 프로젝트를 기준으로 환경변수는 시스템 환경 변수 < 자바 시스템 속성 < application.yml < @P...
환경변수를 가지고 있는 프로젝트를 배포할 때 어떻게 하는게 좋을까요? (컨테이너 이미지로 무중단 배포를 하고 개발자의 휴먼에러를 최대한 줄일 수 있는 방법을 찾는 것을 목표로 하는 경우를 기준으로 합니다.) 참고로 스프링 부트 프로젝트를 기준으로 환경변수는 시스템 환경 변수 < 자바 시스템 속성 < application.yml < @P...
여기저기 @Setter 금지 엔티티에서는 가급적 Setter를 사용하지 말고 필요한 부분에는 따로 메서드를 생성해주는 것이 좋습니다. 실제 서비스를 운영할 때는 값을 set할 수 있는 곳이 너무 많으면 유지보수에 어려움을 겪을 수 있기 때문입니다. 지연전략을 사용하기 모든 연관관계는 지연로딩으로 설정해서 한 번 조회에 연관된 테이블들이 모두 조회돼서...
PPT 전체 발표자료 보러가기 Flow Map 발표내용 설명에 앞서 이 포스팅은 발표 내용 중 일부만을 정리한 내용으로 포스팅만으로는 흐름 전달이 어려울 수 있다고 생각했습니다. 그래서 실제 발표를 준비하면서 만든 flow map 통해 어떻게 내용을 정리했는지 그리고 전반적인 순서들에 대해 먼저 이야기해보고자 합니다. 주 내용은 실제 경험한 d...
ChatGPT가 나타나고 나서부터는 이제 구글링 대신 이용하는 비율이 점점 높아지고 있습니다. 물론 아직도 에러나 새로운 기술, 로직 구현에 대한 다양한 방법을 보기에는 블로그 글들이 더 유용할 때가 많습니다. 하지만 개발 과정에서 발생하는 문제에 대한 해답을 빠르게 찾기에는 정말 좋은 툴이 아닌가 싶습니다. 이 포스팅에서는 생산성을 더 높일 수 있...
Web 인터넷의 동작원리 인터넷은 네트워크 인프라, 웹은 인터넷 위에서 동작하는 서비스 인터넷 위에서 동작하는 서비스는 그 외에도 이메일, 파일공유 서비스, 스트리밍 서비스, 클라우딩 컴퓨팅 서비스, 온라인 게임 서비스 등이 있습니다. 웹 말고도 이메일을 소프트웨어로도 보낼 수 있으니까 SMTP, POP3 등.. ...
Spring을 사용하는 이유 의존성이 편리하고 라이브러리 기타 참고 자료가 많으며, 자바의 대표적인 프레임워크로 사용되기 때문에 DI, Bean, IoC Bean은 Spring 컨테이너가 관리하는 객체 DI는 Bean을 이용해서 의존성 주입에 사용하는데 이로 인해 의존성을 줄일 수 있습니다. 직접 객체...
자바의 스레딩 synchronized, java.util.concurrent 동시성 제어를 위한 유틸리티와 클래스 제공 Thread 클래스, Runnable 인터페이스로 메서드 구현 Hibernate ORM, JPA 지원 JPA는 자바 ORM 표준 명세이고, Hibernate는 JPA 명세의 구현체 중 하나 ...
스레드와 트랜잭션 스레드는 프로세스에서 실행되는 독립적인 실행 단위 하나의 프로세스에는 여러 개의 스레드 동시성 지원을 위한 독립적으로 실행 가능한 단위 병렬처리는 복수의 CPU 코어 또는 프로세서를 활용해서 여러 작업을 동시에 처리하는 것을 말합니다. 트랜잭션은 데이터베이스 관련 작업을...
Stack, Queue, List, Tree, Hash Table Stack이란 LIFO 선형데이터 구조, push 추가, pop 제거, 후위표기법 계산에 사용 Queue란 FIFO 선형데이터 구조로 enqueue 추가, dequeue 제거, 스케줄링, 이벤트 처리에 사용 List는 순서를 유지하는 동시에 항목의 빠른 추가와 제거를 가능하...
우리가 백엔드 아키텍처를 설계한다고 했을 때 고려해야 할 사항들과 각 상황별로 어떻게 대처하는 것이 좋을까에 대해 대해서 정리했습니다. 하나의 애플리케이션을 운용하기 위해서는 단일 서버라고 한다면, 애플리케이션과 연동되는 DNS, 웹서버, 데이터베이스로 구성할 수 있습니다. 어떤 데이터베이스를 써야 할까요? 데이터베이스의 선택은 서비스에 따라 달라질...