Posts
da-nyee
Cancel

제가 작성한 원글은 여기서 확인하실 수 있습니다. 프로젝트를 진행하며 DB Replication을 적용하는 경험을 했습니다. 이번 글에서는 이를 활용한 이유를 간단하게 정리하려 합니다. DB 기존 구조 현재는 사용자 수가 적어 WAS 1대, DB 1대로 인프라를 구축했습니다. 지금 당장은 서버에 문제가 생길 정도의 트래픽이 발생하지...

컨테이너 XXX의 라이프 사이클을 관리 e.g. Servlet Container, IoC Container, Bean Container 생성 - 운영 - 제거까지 생애 주기 관리 👉 격리 필요 특징 우리는 이 컨테이너 안에 무엇이 있는지 알 수 X 컨테이너 안의 대상은 컨테이너가 곧 세상이라고...

트랜잭션(Transaction)은 데이터의 정합성을 보장하기 위한 기능 작업의 완전성을 보장해주는 것 논리적인 작업 셋을 모두 완벽하게 처리 or 처리하지 못할 경우에는 원 상태로 복구해서 작업의 일부만 적용되는 현상(Partial update)가 발생하지 않게 만들어주는 기능 잠금(Lock)은 동...

필자는 Docker로 Nginx를 구성했다. 따라서, 이어지는 과정은 Docker를 기반으로 진행된다. (추가) 덧붙임에 Nginx를 직접 컴파일하는 경우에 대한 정보를 적어뒀다. HTTPS 설정 (HTTP + TLS) 만약 Nginx 서버가 HTTP를 사용 중이라면, 먼저 HTTPS를 사용하게 변경해야 한다. TLS 인...

Arrays.sort() Dual-Pivot Quick Sort 활용 👉 O(nlogn) ~ O(n^2) Dual-Pivot Quick Sort One-Pivot Quick Sort보다 빠른 편 배열이 이미 정렬되어 있는 경우에는 시간 복잡도가 여전히 O(n^2) // Arrays.java public static void s...

REST? Representational State Transfer 웹의 장점을 최대한 활용할 수 있는 네트워크 기반의 아키텍처 구성 요소 행위 HTTP Method GET, POST, PUT, PATCH, DELETE 자원 URI /users, ...

SonarQube? 정적 코드 분석 도구 정적 코드 분석으로 자동 리뷰를 수행하기 위한 지속적인 코드 품질 검사용 오픈소스 플랫폼 20개 이상의 프로그래밍 언어에서 버그, 코드 스멜, 보안 취약점을 발견하기 위한 목적으로 활용한다. JaCoCo? Java Code Coverage Java 코드의 커버리지를 체크하는 라이...

Base Git Flow main, hotfix, release, develop, feature - 총 5개의 브랜치를 사용한다. 처음에 main을 기준으로 develop을 생성한다. 각 기능마다 develop을 기준으로 feature를 생성해서 개발을 진행한다. 개발을 완료하면 develop에 merge한다. 배포를 준비할 때는...

Workflow 사용자는 Pick-Git에서 Github Login에 필요한 자원에 접근한다. Github Login URL(client_id, redirect_url, scope 포함)을 응답한다. 사용자는 로그인 버튼을 클릭하여 Github Login 페이지로 이동한다. Github은 사용자에게 Login URL에 명시한 sc...

HashMap Key : Value 형태 내부는 Node 객체를 이용해서 구현되어 있다. static class Node<K,V> implements Map.Entry<K,V> { final int hash; final K key; V value; Node<K,V> next; ...