본문 바로가기
728x90
반응형

전체 글117

springboot 서버 github action으로 컨테이너 이미지 만들고 docker hub에 업로드하기 GitHub Actions는 GitHub에서 제공하는 서비스로, 빌드, 테스트, 배포 파이프라인을 자동화할 수 있는 CI(Continuous Integration, 지속 통합)와 CD(Continuous Deployment, 지속 배포) 플랫폼입니다. 오늘은 아래 그림에서 3번까지의 과정을 해보겠습니다. 저는 현재 인텔리제이에서 springboot + gradle을 사용중입니다. 1. Dockerfile 작성 먼저 Spring Boot 애플리케이션을 실행할 Docker 이미지를 생성하기 위해 Dockerfile을 작성해야 합니다. 프로젝트 루트 디렉토리에 Dockerfile을 생성하고 내용을 작성합니다. # JRE (Java Runtime Environment) 버전을 사용합니다. # JRE는 Java .. 2023. 5. 18.
./gradlew build JAVA_HOME 에러 빌드가 잘 되는지 확인하기 위해 인텔리제이 터미널에서 ./gradlew build 했더니 다음과 같은 에러가 나왔다. ERROR: JAVA_HOME is set to an invalid directory: C:\Program Files\Java\jdk-11.0.11; Please set the JAVA_HOME variable in your environment to match the location of your Java installation. 그래서 먼저 위치를 확인해봤다. 잘 있는데? 이번엔 환경변수를 확인해 보았다. 처음엔 이것도 문제가 없는 줄 알아서 왜 안되지??? 를 반복하고 있었다... 해결방법은 세미콜론 ; 을 빼야한다... 어이가 없었다. 이게 왜 들어가 있지... 이후 다시 ./gr.. 2023. 5. 17.
[DB] 서버와 DB가 Connection을 구성하는 방법 서버와 DB가 Connection을 어떻게 구성하는지 설명해 주세요. 웹 어플리케이션 서버(WAS)와 데이터베이스 간의 연결은 일반적으로 JDBC(Java Database Connectivity) 드라이버를 사용하여 구성된다. JDBC는 자바 언어로 다양한 종류의 관계형 데이터베이스에 접속하고 SQL문을 수행하여 처리하고자 할 때 사용되는 표준 SQL 인터페이스 API이다. DBMS 종류(MySQL, MsSQL, Oracle 등)에 상관 없이 하나의 JDBC API를 사용해서 데이터베이스 작업을 처리할 수 있게 된다. 1. 드라이버 로드 DB 종류에 맞는 드라이버를 로드합니다. Class.forName("driver")을 사용해서 Driver Class를 로딩하여 객체를 생성합니다. 생성된 객체는 Dri.. 2023. 5. 10.
[DB] ORM, 장단점, 종류 질문, 답변 ORM이란 Object Relational Mapping, 객체-관계 매핑 객체와 관계형 데이터베이스의 데이터를 자동으로 매핑(연결)해주는 것을 말한다. 객체 지향 프로그래밍은 클래스를 사용하고, 관계형 데이터베이스는 테이블을 사용한다. 객체 모델과 관계형 모델 간에 불일치가 존재한다. ORM을 통해 객체 간의 관계를 바탕으로 SQL을 자동으로 생성하여 불일치를 해결한다. 데이터베이스 데이터 Object 필드 객체를 통해 간접적으로 데이터베이스 데이터를 다룬다. Persistant(영속) API라고도 할 수 있다. Ex) JPA, Hibernate 등 객체-관계 간의 불일치 Granularity(세분성) 경우에 따라 데이터베이스에 있는 해당 테이블 수보다 더 많은 클래스를 가진 객체 모델을 가질 수 있다.. 2023. 5. 10.
[DB] 트랜잭션, Lock, ACID, 격리 수준 질문, 답변 트랜잭션이란 무엇인지 설명해주세요 트랜잭션이란, 데이터베이스의 상태를 변화시키기 해서 수행하는 작업의 단위를 뜻한다. 상태를 변화시킨다는 것은 SELECT, UPDATE, INSERT, DELETE 와 같은 SQL을 이용해서 데이터베이스에 접근 하는 것을 의미한다. 트랜잭션 하나는 SQL 하나가 될 수도 있고 SQL 여러개가 될 수도 있다. 예를 들어 상품을 구매하는 API가 있다고 하자. 구매를 하기 위한 과정이 1. 유효한 사용자인지 확인, 2. 상품 정보 가져오기, 3. 상품 구매하기 라고 한다면 SQL은 SELECT, SELECT, INSERT가 된다. 이 3개의 SQL이 하나의 트랜잭션이 되는 것이다. https://mommoo.tistory.com/62 트랜잭션과 Lock 멀티 트랙잭션 환경에.. 2023. 5. 10.
728x90
반응형