전체 글

개발자가 되어가는 기록 Github : https://github.com/JoHyoju04
어느날 노트북 전원을 킬때마다 이 에러가 뜨기 시작했습니다. Mysql 실행은 잘 되지만 그래도 해결해보고자 합니다. 이는 MySQL 의 notifier config 파일이 손상되었을 경우 발생하는 것으로 알려져 있습니다. 경로 C:\Users\(유저 이름)\AppData\Roaming\Oracle\MySQL Notifier에 있는 settings.config를 삭제하고 다시 시스템을 시작하면 된다고 합니다. 출처: https://bitsoul.tistory.com/38 [Happy Programmer~]
· Backend/JPA
들어가기 전에) JPA는 다양한 매핑 어노테이션을 지원하는데 크게 4가지로 분류 -객체와 테이블 매핑: @Entity, @Table -기본 키 매핑 : @Id -필드와 컬럼 매핑:@Column -연관관계 매핑:@ManyToOne, @JoinColumn 먼저 객체와 테이블 매핑 어노테이션부터 알아보자. 4.1 @Entity @Entity가 붙은 클래스는 JPA가 관리하는 것으로, 엔티티라 부른다. -@Entity 속성 정리 속성 기능 기본값 name JPA에서 사용할 엔티티 이름을 지정한다. 보통 기본값인 클래스 이름을 사용한다. 만약 다른 패키지에 이름이 같은 엔티티 클래스가 있다면 이름을 지정해서 충돌하지 않도록 해야 한다. 설정하지 않으면 클래스 이름을 그대로 사용(예: Member) -주의사항 기본..
"15단계로 배우는 도커와 쿠버네티스"를 참조하여 작성하였습니다. Google Kubernetes Engine 사용 - kubernetes Engine->클러스터 - 사용 -만들기 -GKE Standard 구성 누르기 -이름 설정-> 영역 : asia-northeast3-a -> 정적 버전 -이미지 유형 설정 :Container가 포함된 Ubuntu(ubuntu_containerd) - 간단한 실습을 위해 코어와 메모리, 부팅 디스크를 작게 설정 부팅 디스크 : 10 Google Cloud SDK 설치 https://cloud.google.com/sdk/docs/install#deb Cloud SDK 설치 | Cloud SDK 문서 | Google Cloud 이 페이지에는 Cloud SDK 설치를 선택하..
"15단계로 배우는 도커와 쿠버네티스"를 참조하여 작성하였습니다. 배포의 문제점 - 모든 서버에 직접 접속해서 docker stop,run 실행 - 도커 컨테이너 실행에 필요한 리소스 관리 필요 - 새롭게 배포된 애플리케이션 장애 시 신속하게 대처하기 어려움(새로운 이미지를 계속해서 만들기 때문 ) 서비스 접근 및 노출의 문제점 - 네트워크 문제 -내부 네트워크에서 접속하는 경우에 외부로부터의 액세스를 막는다. 서비스 장애, 부하 모니터링(자원이 많으면 옮겨줘야하는 관리를 해줘야한다)의 문제점 Container Orchestration : 복잡한 컨테이너 환경을 효과적으로 관리하기 위한 도구 -서버가 많아지면 컨테이너가 많아지기 때문에 한번에 관리하고 자동화해준다. -기존에 구글의 Borg라는 컨테이너 ..
· Backend/JPA
들어가기 전에 ) JPA가 제공하는 기능 1. 엔티티와 테이블을 매핑하는 설계 부분 2. 매핑한 엔티티를 실제 사용하는 부분 3.1 엔티티 매니저 팩토리와 엔티티 매니저 엔티티 매니저 -엔티티를 저장,수정, 삭제,조회 등 엔티티와 관련된 모든 일을 처리 엔티티 매니저 팩토리 (Entity ManagerFactory) -엔티티 매니저를 만드는 공장 -비용이 많이 들기 때문에 하나만 생성->한 개만 만들어서 애플리케이션 전체에서 공유 -여러 스레드가 동시에 접근해도 안전-> 서로 다른 스레드 간에 공유 엔티티 매니저 (Entity Manager) -공장에서 엔티티 매니저 생성 -비용이 거의 들지 않는다. -여러 스레드가 동시에 접근하면 동시성 문제가 발생->스레드 간에 절대 공유하면 안됨 -데이터베이스 연결..
"15단계로 배우는 도커와 쿠버네티스"를 참조하여 작성하였습니다. 컨테이너 API의 종류와 개요 컨테이너 API - 컨테이너를 블랙박스처럼 다룰 수 있게 해주는 인터페이스 - 컨테이너 내부의 프로그램에 대해 잘 알지 못해도 간단하게 재이용이 가능 컨테이너 API의 종류 - 컨테이너 기동 - 기동 시 환경 변수나 실행 인자를 읽고 그에 맞게 동작하도록 만듦->환경 변수는 docker hub홈페이지에 들어가면 나와있음. -컨테이너 종료 - 종료 요청 시그널에 대한 종료처리 구현 -퍼시스턴트 볼륨->영구적으로 저장한다는 의미 -설정파일을 외부에서 주입하거나 발생 테이터를 보존하기 위해 사용 -컨테이너는 일시적인 존재이기 때문에 보관이 필요한 데이터를 컨테이너의 파일 시스템에 저장해서는 안됨 - 인증서와 같이 ..
"15단계로 배우는 도커와 쿠버네티스"를 참조하여 작성하였습니다. 컨테이너 파기 - docker container prune [옵션] $ docker container prune - 실행 중이 아닌 컨테이너들도 저장공간 차지 컨테이너에서 변경된 파일 확인 - docker container diff $ docker container diff hello-bash 수정이나 다른 작업을 했으면 이미지 만들어진 시점부터 바뀐 것을 확인할 수 있다. 컨테이너/이미지의 세부 정보 확인하기 - docker container instpect - docker image inspect $ docker container inspect hello-bash 이미지 파기 - docker image pr..
"15단계로 배우는 도커와 쿠버네티스"를 참조하여 작성하였습니다. https://console.cloud.google.com/?hl=ko Google Cloud Platform 하나의 계정으로 모든 Google 서비스를 Google Cloud Platform을 사용하려면 로그인하세요. accounts.google.com 도커 환경 구축 크레딧 확인 : 검색창에 credit으로 검색 Compute Engine의 VM인스턴스 프로젝트 선택 인스턴스 생성 - 원하는 인스턴스 이름 설정 - 리전 asis-northeast3(서울) 선택 - 원하는 머신 구성 선택 ->EC2 - 부팅디스크 ) 운영 체제 선택 -> Ubuntu & 버전 :Ubuntu 20.04 LTS - ID 및 API 액세스 ) 모든 Cloud ..
"15단계로 배우는 도커와 쿠버네티스"를 참조하여 작성하였습니다. 컨테이너 기반 가상화 도구 - Go 언어로 개발 - Container 관련 기술의 사실상 표준 - 애플리케이션 배포에 초점 왜 사용할까? 실제 선박용 컨테이너를 생각해보자! 화물선에 담긴 물건을 사람들이 직접 운반-> 짐을 내리는 작업에서 병목 구간이 생김 파이프라인에서 병목 구간을 해소하면서 개발 및 운영을 원활하게 할 수 있게 됨. 클라이언트/서버 모델 - 도커 데몬, 도커 클라이언트(docker command) 역할을 함(소켓을 통해서 통신을 하게 된다.) - 이미지로 컨테이너를 만듦 - 이미지, 컨테이너 - 도커 레지스트리 도커 데몬(Docker Daemon) ->사용자가 직접 제어하지 않고 백그라운드에서 작업을 수행 - 클라이언트..
"15단계로 배우는 도커와 쿠버네티스"를 참조하여 작성하였습니다. 가상화의 개요 가상화( Virtualization) - 하드웨어에 종속된 컴퓨터 리소스를 추상화 운영체제에서 제공하는 가상화 - 각각의 응용프로그램이 각자의 CPU, 큰 Virtual Memory를 가지고 있는 것처럼 착각하도록 가상화를 제공 -Process -CPU Scheduling -Virtual Memory -Swapping 서버 가상화 서버 가상화 도입 배경 - 하드웨어 기술이 발전하면서, 서버의 성능이 획기적으로 향상 - 단일 HW,OS 및 어플리케이션-> 하나의 OS에서 여러개의 어플리케이션 운영 -> 애플리케이션 별로 별도의 OS 서버 가상화의 장점 - 높은 자원 활용률 - 하드웨어 자원의 효율적..
호_두씨
Hodu's workspace