전체 글 (22) 썸네일형 리스트형 Docker 도입하여 개발 환경을 셋팅해보자 Docker란 무엇인가? 필수 용어 컨테이너 하나의 컴퓨터 환경 내에서 독립적인 컴퓨터 환경을 구성 컴퓨터 환경 내에서 여러개의 미니 컴퓨터 환경을 구성할 수 있는 형태 여기서 Docker에서는 미니 컴퓨터를 컨테이너라고 부른다. 컨테이너의 독립성 독립적인 컴퓨터 환경이라 ?? 어떤 것이 독립적인가 디스크 (저장 공간)네트워크 (IP,PORT) 이미지자 이제 컨테이너라는 미니 컴퓨터 안에 무언가를 설치해야지 돌아갈 것 아니냐 그러면 예를 들어서 내가 만든 SpringBoot application 서버 , 내 db 서버 , redis 서버 등등 이 하나의 서버를 이미지로 만들 수 있다. 이미지? 그럼 뭐가 좋은건데이미지를 만들면 복잡한 설치 과정을 거칠 필요 없이 손쉽게 실행이 된다.왜? 이미지에는 프.. 자바의 제네릭이란? 잊고 있었던 사람 손~! 여기로 들어온 자네, 혹시 자바 라이브러리를 쓰다 ArrayList, HashMap 같은 표현을 본 적이 있는가? 만약 여기서 T, K, V 같은 문법이 무엇을 의미하는지 잘 몰랐다면, 당신은 아직 **자바 제네릭(Generics)**의 개념을 제대로 이해하지 못하고 있었을 가능성이 있다. 이 문법들은 단순한 기호가 아니라, 데이터 타입을 안전하고 유연하게 다루기 위해 자바가 제공하는 핵심 기능이다 오늘은 제네릭이 나오는 본질적인 이유와 문법에 대해서 알아보도록 하자사실 필자도 제네릭을 직접 사용하며 코드를 작성해 본 경험은 많지 않다. 하지만 라이브러리나 자바에서 제공하는 클래스와 함수를 따라가다 보면, 자연스럽게 제네릭을 자주 접하게 된다.이 궁금증을 풀고, 왜 제네릭이 필요한지 명확히 이해하기 위해.. 좋아요 버튼의 숨겨진 딜레마: DB Lock 관련 프로젝트 도중 동시성 문제가 발생했을 때 syncronized와 수동적 Transaction 제어를 통해서 문제를 해결하였다..(해결한건가?) 여기서의 문제점은 동일한 JVM에서 실행 중인 스레드들 사이에서만 동기화 문제가 해결 된다는 점이다. 이러한 구성에서는 전 포스팅에서 말한 해결방법을 가지고 문제를 해결 할 수 있다!! 하지만! 이렇게 여러개의 서버로 확장이 일어났을 때는 동기화 문제가 해결되지 않는다.. 그러면 애플리케이션 레벨이 아닌 DB 레벨에서 제어를 하는것이 더 일관성있고 동기화 문제를 해결하는데 있어서 더 좋은 선택인거 같다!! 데이터베이스 DB LOCK 여러 DBMS마다 락의 종류와 분류하는 방식이 다른긴 하겠지만 내가 사용하는 MySQL 의 대표적인 락에 대해서 알아보도록.. 이전 1 2 3 4 ··· 8 다음