목록공부/백엔드 (26)
공hannah부
엔티티 매니저 팩토리와 엔티티 매니저 엔티티 매니저: 엔티티를 저장, 수정, 삭제, 조회하는 등 엔티티와 관련된 모든 일을 처리 엔티티를 저장하는 가상의 데이터 베이스 엔티티 매니저 팩토리: 엔티티 매니저를 만드는 공장 공장을 만드는 비용은 상당히 큼 → 한개만 만들어 애플리케이션 전체에서 공유하도록 설계 공장에서 엔티티 매니저를 생성하는 비용은 거의 들지 않음 영속성 컨텍스트 영속성 컨텍스트: 엔티티를 영구 저장하는 환경 엔티티 매니저로 엔티티를 저장하거나 조회하면 엔티티 매니저는 영속성 컨텍스트에 엔티티를 보관하고 관리함 em.persist(member); → 여기서 persist() 메소드는 엔티티 매니저를 사용해 회원 엔티티를 영속성 컨텍스트에 저장 엔티티의 생명주기 엔티티의 4가지 상태 비영속:..
이론 CI(Continuous Integratrion)란? 개발을 하면서 코드에 대한 통합을 지속적으로 진행함으로써 코드 품질을 유지하는 것 CD(Continous Delivery/Deploy)란? 배포를 자동화하여 지속적으로 배포하는 것 Github Actions + AWS CodeDeploy 아키텍쳐 구현 EC2 인스턴스 시작 EC2 tag 추가 IAM 역할 추가 - EC2 인스턴스에서 S3에 올려놓은 파일에 접근할 수 있도록 IAM(Identity and Access Management)는 AWS 리소스에 대해 엑세스를 안전하세 제어할 수 있는 웹 서비스이다. 이를 사용해 리소스를 사용하도록 인증 및 권한 부여된 대상을 제어한다. EC2에 IAM 역할 추가 EC2에 CodeDeploy Agent 설..
메이븐과 사용 라이브러리 관리 메이븐 메이븐은 간단히 말해 라이브러리르 관리해주는 도구이다. pom.xml에 사용할 라이브러리를 적어주면 라이브러리를 자동으로 내려받아 관리해준다. pom.xml 에 사용할 라이브러리를 지정해 groupId + artifactId + version만 적어주면 라이브러리를 메이븐 공식 저장소에서 내려받아 추가해준다. 핵심 라이브러리: JPA, 하이버네이트, H2 데이터베이스 객체 매핑 시작 회원 테이블 만들기 CREATE TABLE MEMBER( ID VARCHAR(255) NOT NULL, NAME VARCHAR(255), AGE INTEGER, PRIMARY KEY(ID) ) 회원 클래스 만들기 + 어노테이션 추가 package jpabook.start; import j..
EC2에 프로젝트 clone 받기1. EC2에 깃 설치sudo yum install git2. 설치 상태 확인git --version3. git clone으로 프로젝트를 저장할 디렉토리 생성mkdir ~/app && mkdir ~/app/step14. 생성한 디렉토리로 이동cd ~/app/step15. 내 깃허브 웹페이지에서 https 주소 복사 후 복사한 주소를 통해 git clone 진행git clone 복사한 주소6. 파일들이 잘 복사 되었는지 확인cd 프로젝트 명7. 코드들이 잘 수행되는지 테스트./gradlew test배포 스크립트 만들기배포할때마다 하나하나 명령어를 실행하는 것은 불편하니 쉘 스크립트를 작성할 것이다 1. ~/app/step1/에 deploy.sh 파일 생성vim ~/app/s..
RDS란? AWS에서 지원하는 클라우드 기반 관계형 데이터베이스로 하드웨어 프로비저닝, 데이터베이스 설정, 패치 및 백업과 같이 잦은 운영 작업을 자동화하여 개발자가 개발에 집중할 수 있게 지원하는 서비스 RDS 인스턴스 생성하기 진행순서 RDS검색, 선택 후 데이터베이스 생성 클릭 엔진 옵션 선택(MySQL, MariaDB 등) 사용사례(템플릿) 선택(→프리티어) 상세 설정 DB 인스턴스 선택시 사용자 이름과 마스터 암호 메모해두기! 네트워크 및 보안 퍼블릭 엑세스 가능 예로 선택 RDS 운영환경에 맞는 파라미터 설정하기 타임존, Character Set, Max Connection 이 세가지를 설정해야한다 진행 순서 파라미터 그룹 생성 후 편집 모드로 전환 time_zone을 Asia/Seoul로 선..
클라우드 클라우드 서비스란? 인터넷을 통해 서버, 스토리지, 데이터베이스, 네트워크, 소프트웨어, 모니터링 등의 컴퓨팅 서비스를 제공하는 것. 클라우드 종류 1. Infrastructure as a Service (IaaS, 아이아스, 이에스) - 기존 물리 장비를 미들웨어와 함께 묶어둔 추상화 서비스 - 가상머신, 스토리지, 네트워크,운영체제 등의 IT인프라를 대여해 주는 서비스 - ex) AWS의 EC2, S3 등 2. Platform as a Service(PaaS, 파스) - IaaS에서 한번 더 추상화한 서비스 - 더 많은 기능이 자동화 - ex) AWS의 Beanstalk, Heroky 등 3. Software as a Service(SaaS, 사스) - 소프트웨어 서비스 - ex) 구글 드라..
CRUD란? Create Read Update Delete - 이 중 Create,Read가 가장 중요 ( Update와 Delete는 없을 수도 있기 때문 ex. 회계록, 역사) 테이블 구조 확인하기 DESC 테이블 이름; mysql> DESC topic; +-------------+--------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +-------------+--------------+------+-----+---------+----------------+ | id | int | NO | PRI | NULL | auto_increment | | title | varch..
목표 이런 표를 만들것이다. 테이블 틀 생성하기 mysql> CREATE TABLE topic( #topic이라는 이름의 테이블 생성 -> id INT(11) NOT NULL AUTO_INCREMENT, #정수형 id 생성 / 11자리까지 가능 / NULL값이면 안됨 즉, 데이터가 비어있으면 안됨 / id값 자동으로 1씩 증가 -> title VARCHAR(100) NOT NULL, #문자형 title 생성 / 100자리까지 가능 / NULL값이면 안됨 -> description TEXT NULL, #텍스트 형식의 description 생성 / NULL값도 가능 -> created DATETIME NOT NULL, -> author VARCHAR(15) NULL, -> profile VARCHAR(200..