일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 국제화
- 이펙티브 자바
- yaml-resource-bundle
- githubactions
- 데이터베이스
- http 완벽가이드
- docker
- 백준
- Effective Java
- 벨먼-포드
- 스프링부트
- 도커
- 커스텀예외
- restControllerAdvice
- 자바
- kotlinglogging
- Spring
- JIRA
- 트랜잭션
- 스프링
- CI/CD
- 프로그래머스
- 메시지
- HandlerExceptionResolver
- 파이썬
- java
- http
- 네트워크
- 토이프로젝트
- AWS
- Today
- Total
목록분류 전체보기 (90)
땃쥐네
도커에서는 공식적으로 공개 이미지 저장소 '도커 허브'를 제공한다. 이번 글에서는 도커 허브에 올라온 공개 이미지를 활용하여 우리 로컬 환경에서 애플리케이션을 실행해볼 것이다. 1. 도커 허브에서 원하는 애플리케이션을 찾는 방법 - 도커 허브 검색 페이지에서 찾기 - docker search 명령어로 찾기 2. 도커 허브 검색 페이지에서 찾기 https://hub.docker.com/search 에 접속하면 다양한 공개 이미지들이 제공되고 있는데, 이 사이트에서 원하는 이미지를 검색하여 사용하면 된다. 예를 들어 ubuntu 이미지를 클릭하여 들어가보면 다양한 버전의 우분투 이미지들이 제공되는 것을 확인할 수 있고 docker pull 명령어를 통해 이미지를 우리의 로컬 환경으로 가져올 수 있도록 안내해..
이번 글에서는 도커 이미지로 컨테이너로서 실행시키는 docker run 명령을 실행해보고, 내부적인 동작 원리를 간략하게나마 살펴볼 것이다. 1. 도커에서 hello-world 실행해보기 1.1 터미널에서 실행 docker run hello-world Unable to find image 'hello-world:latest' locally latest: Pulling from library/hello-world 2db29710123e: Pulling fs layer 2db29710123e: Download complete 2db29710123e: Pull complete Digest: sha256:faa03e786c97f07ef34423fccceeec2398ec8a5759259f94d99078f264e9..
이 글에서는 도커를 설치하는 방법에 대해 다루고 있습니다. 제가 MacOS의 컴퓨터를 소유하지 않은 관계로, Linux/Windows 기준으로 설명함을 양해부탁드립니다. 1. Linux 1.1 설치 # ubunutu sudo -i apt install docker.io Ubuntu 기준으로 sudo apt install docker.io 명령어를 입력하여, 도커를 설치할 수 있습니다. 관리자 권한이 필요합니다. 1.2 확인 docker info docker info 명령어를 통해 현재 도커가 제대로 설치되어있는 지 확인할 수 있습니다. 2. Windows 2.1 도커 데스크탑 설치 사이트 접속 https://docs.docker.com/get-docker Windows 기준 도커 데스크탑을 설치해야합니다..
서버 구축에 있어서 빼놓을 수 없는 키워드하면 역시 도커, 쿠버네티스, AWS인 것 같다. 이들이 중요하다 중요하다 말은 여럿 들었지만 실제로 이를 제대로 학습한 경험은 별로 없어서 학습을 시작했다. 1. 시스템 구성 방식의 변화 '서버'를 구축하는 방식은 시대가 변화함에 따라 지속적으로 변화해왔다. 우선 도커와 같은 컨테이너 기반 서비스가 발달한 배경을 확인해보자. 1.1 초창기 - 초창기에는 안정적인 하드웨어의 서버가 중요했고, 하드웨어의 사양/성격에 맞춰 서비스를 구축했다. - 하드웨어 자체가 매우 비용이 높고 서비스 운영 도중 한 대 한 대 중단시키기에는 큰 리스크가 있던 만큼 기능을 수정, 변경하기 힘들었다. - 하드웨어 성능의 성장폭이 가파른 시기였던 만큼 이 시기에는 장비의 수직적인 확장이 ..
이 글은 현재 절판된 관계형 데이터베이스 실전 입문 의 1.1 ~ 1.2 부분을 개인적으로 학습하고, 정리한 내용입니다. SQL과 관계형 모델 SQL - 관계형 데이터베이스(RDB)에 질의를 하기 위한 언어 - 관계형 모델이 기반이다. 능력 있는 DB 엔지니어가 되기 위해서는 관계형 모델에 대한 이해는 필수 - 오랜 경험이 누적되면 관계형 모델을 모르더라도 적절히 구문을 사용하면서 SQL을 쓸 수 있긴하다. - 하지만, 진정으로 능력 있는 DB 엔지니어를 목표로 한다면 관계형 모델을 제대로 이해해야한다. RDB는 관계형 모델을 바르게 구현할수록 더운 진가를 발휘한다 - SQL은 관계형 모델을 기반으로 한 언어지만 관계형 모델을 충실하게 재현하지는 않았다. - SQL은 유연성이 매우 높게 설계되었기에 관계..
마이크로 서비스 아키텍쳐(MSA, MicroService Architecture)에 흥미가 생겨서 Spring Cloud를 학습하기 시작했습니다. DevOps의 철학 이해 및 실천에 있어서 MSA 학습은 좋은 경험이라는 생각이 들었습니다. 물론 MSA를 개인 프로젝트에 적용한다거나, 어디 가서 사용할 수 있는 기술 스택이라고 말하기엔 문제가 많을 듯하고 그저 경험으로만 삼기 위해 학습합니다. 생각 이상으로 고려할게 정말 많더라구요. 분산 트랜잭션 처리, Kafka, Jenkins와 같은 CI/CD 툴, ... 등등을 학습해야하는데 이것까지 너무 깊게 들어가면 취준생으로서 소모할 시간이 너무 늘어나게 되니까요. 이번 글에서는 Service Discovery, Gateway를 사용하여 간단한 마이크로서비스 ..
이전 글들에서 커넥션이란 무엇이고 커넥션을 어떻게 획득하는 지(datasource), 트랜잭션이란 무엇이고 왜 필요한 지 등을 한번씩 살펴봤습니다. - [Spring DB] 커넥션과 DataSource - [Spring DB] 순수 JDBC 기술로 CRUD - [Spring DB] 커넥션 풀을 통한 커넥션 획득 - [DataBase] 트랜잭션 및 트랜잭션의 4대 특성(ACID) 이전 글까지는 WAS 측에서의 커넥션을 살펴봤다면 이제 반대쪽 DB 입장에서의 커넥션을 살펴보고, 커넥션과 트랜잭션의 관계를 확인해봅시다. 커넥션, DB 세션, 트랜잭션 WAS와 DB가 커넥션을 맺으면 DB측에서는 '데이터베이스 세션'이란 것을 생성하게 됩니다. 이제 모든 커넥션을 통한 데이터베이스 조작 요청, 조회 요청, 트랜잭..
커넥션과 DataSource 해당 내용은 [Spring DB] 커넥션과 DataSource 에서 다뤘습니다. 간단하게 다시 정리해보겠습니다. 커넥션(Connection) 커넥션의 FQCN(Fully Qualified Class Name, 패키지를 포함하여 타입의 전체 이름)은 java.sql.connection 인터페이스로서, DBMS와의 물리적 연결을 추상화한 계층입니다. 데이터베이스 Driver를 통해 DB와 연결 후 그 연결정보를 담아 생성되는데 이 커넥션을 통해 우리는 DB에 SQL을 전달해 질의할 수 있습니다. DataSource(DataSource) java는 커넥션을 획득하는 방법을 DataSource 인터페이스로 표준화했습니다. 커넥션을 매번 획득하는 방식(DriveManager, Driv..