전체 글 91

[Docker] Docker compose 사용 및 .yml 작성법

0. Docker compose 사용 이유 여러 개의 컨테이너로 구성된 application을 단일 파일에 정의하고 이를 한 번에 올리거나 내릴 수 있다. 기존엔 여러 컨테이너를 띄워놓고 어플리케이션을 운용해야 했으나.. 이러한 과정을 간소화하여 불편함을 없앴다 할 수 있겠다. 이러한 편리함 덕에 Docker Compose는 로컬 개발 환경이나 테스트 자동화 환경에서 간단한 컨테이너 오케스트레이션 도구로 많이 사용되고 있다. 1. Docker Compose 파일 위치 프로젝트의 최상위 디렉토리에 존재해야 한다. 2. docker-compose.yml 야믈파일 구조 version: "3.5" services: # 웹 애플리케이션 설정 web: # 의존성 삽입, web 어플리케이션이 올라오기 전 db가 먼저..

컨테이너/Docker 2023.07.13

JVM, JRE, JDK

1. JVM Java Virtual Machine이다. 각기 다른 운영체제 위에서 자바 바이트코드를 실행하게 해주는 만능일꾼이다. 2. JRE Java Runtime Environment JVM을 실행하는데 필요한 환경을 의미한다. 요즘은 JDK랑 겹치는 부분이 많아 큰 구분이 없다. 예전에는 JRE만 따로 설치가 가능했었는데 최근에는 JRE를 포함한 JDK를 통째로 설치하게끔들 한다. 3. JDK Java Development Kit JVM, JRE 등을 담고 있으며 Java Compiler, Debugger, Jar도구, 프로파일러들이 포함되어있다.

Java 빌드관리도구

Java의 빌드 관리 도구에는 대표적으로 Maven, Gradle 두 가지가 있다. 그 중 Maven에 대해 설명하려고 한다. 0. 빌드 관리 도구 프로젝트에서 필요한 xml, properties, jar 파일들을 자동으로 인식학여 빌드해주는 도구 소스 코드를 complie, test, static code analysis등을 하여 실행 가능한 Application으로 빌드해 줌. 프로젝트 정보 관리, 테스트 빌드, 배포 등의 작업을 진행해 줌. 외부 라이브러리를 참조하여 자동으로 다운로드 및 업데이트의 관리를 해줌. 1. Maven XML 기반의 빌드 스크립트 life cycle 도임 pom.xml로 편하게 dependency 관리 2. pom.xml의 구조 modelVersion : maven의 버전..

HTTP의 구조 및 핵심 요소

1. HTTP 통신방식 HTTP의 통신 방식에는 2가지 특징이 있다. 요청, 응답 방식 stateless 1-1. HTTP 요청과 응답 클라이언트가 서버에 요청한 정보를, 서버는 클라이언트에게 응답 해주는 방식이다. request - response 방식. 1-2. stateless HTTP 통신은 상태가 없음(stateless)의 특징을 가진다. 모든 통신(요청-응답 과정)은 독립적이다. 동일한 클라이언트와 동일한 서버간에서의 통신들이어도 독립적이라는 특징을 가진다. 이 덕에 서버 디자인이 훨씬 간단해지고 효과적이게 된다. 그러나 매 번 통신에 필요한 모든 정보를 담고 요청-응답을 해야 하는 단점이 있기는 하다(예를 들어, 로그인 한 후의 로직은 로그인 정보를 함께 담아 통신해야 한다). 이러한 문제점..

[Spring] 스프링 입문강의[8] - 스프링 DB 접근 기술

[무료] 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술 - 인프런 | 강의 스프링 입문자가 예제를 만들어가면서 스프링 웹 애플리케이션 개발 전반을 빠르게 학습할 수 있습니다., - 강의 소개 | 인프런 www.inflearn.com 0. index H2 DB 설치 순수 JDBC 스프링 통합 테스트 스프링 JdbcTemplate JPA 스프링 데이터 JPA 1. H2 DB 교육용, 개발 및 테스트 용도로 쓰이는 가볍고 편리한 DB이다. 웹 화면을 제공한다. 설치 후 웹 화면에서 접속할 JDBC URL은 jdbc:h2:tcp://localhost/~/test 으로 대체. 테이블 만들 때 id bigint generated by default as identity에서, generat..

[FastAPI] FastAPI [25] SQL (Relational) Databases (2)

https://fastapi.tiangolo.com/tutorial/sql-databases/ SQL (Relational) Databases - FastAPI SQL (Relational) Databases FastAPI doesn't require you to use a SQL (relational) database. But you can use any relational database that you want. Here we'll see an example using SQLAlchemy. You can easily adapt it to any database supported by SQLAlchemy, l fastapi.tiangolo.com * 공식문서 순서상으론 Dependencies(의존성)..