클라우드 스쿨 28

17주차 - 젠킨스

기간 230828 - 230831 배운 내용 젠킨스 ◎ 젠킨스 1. 젠킨스란? CI/CD 도구로, 소프트웨어 개발 프로세스의 빌드, 테스트, 배포 등을 자동화하고 관리할 수 있게 함. 소스코드 만들었을 때, 수정했을 때 바로 빌드할 수 있는 환경까지 자동으로 해 줌. 2. 젠킨스 파이프라인 -> 자동화 위해 필요 젠킨스 파일 작성해서 지속적인 빌드와 배포를 할 수 있게 해 줌 코드형식으로 작성하는 것 * 선언적 파이프라인 - 어떤 상태를 원한다는 것을 작성해 두는 형태 * 스크립팅된 파이프라인 - 초기방식. 하나하나 명령어 실행되도록 작성 깃에서 파일 가져오고 빌드하고 테스트하고 배포하도록 작성 - 키워드 1. pipeline : 전체적인 작업 2. node : 빌드작업하는 대상 지정(agent : 어떤..

16주차 - 특강

기간 230821 - 230825 배운 내용 쿠버네티스, 특강 ◎ 쿠버네티스 1. 코딩테스트 - 큰 수 팩토리얼 구하기 fact { // --> 이렇게 하면 큰수는 구할수없음 res for i 4 2->5 이런 식으로 키와 값쌍을 가짐 abc->def 도 가능 메모리는 문자열을 주소값으로 가질 수가 없는데 어떻게 문자열-문자열이 매핑되나? => hash로 문자열을 정수형으로 바꿈 abc을 해싱해서 나온 정수값의 메모리에 "def"(값 문자열)을 매핑 ..

15주차 - 쿠버네티스, 특강

기간 230814 - 230818 배운 내용 쿠버네티스, 특강 ◎ 쿠버네티스 1. 트러블슈팅 : 문제의 원인 찾아 빠르게 다시 작동시킬 수 있도록 노력하는 것. - 트라이 앤 에러 : 하나씩 해보는 것. 시간 많이 걸림 1) 문제 식별하기 코딩된 부분만 볼 게 아니라 시스템 전반적 변화 확인해야 함(환경변수 바뀌거나 등등) 로그 확인해서 누가 어떤 작업 후에 동작 변했는지 확인해야 함. 2) 문서화 해결한 문제 어떻게 해결했는지 문서화 정상동작 위한 환경, 설정값 어떻게 구성했는지 등을 적고 공유 -> 다음에 문제 발생시 빨리 해결, 문제 또 생기지 않도록 방지 가능 3) 도구 - 로깅 - 로그 수준 2. 쿠버네티스에서 애플리케이션 트러블슈팅 파드의 수명주기 : 파드가 어떤 노드에서 실행가능한지 스케줄링..

14주차 - 쿠버네티스

기간 230807 - 230811 배운 내용 쿠버네티스 ◎ 쿠버네티스 1. 도커 / 도커 컴포즈 / 쿠버네티스 - 도커 : 컨테이너를 체계적으로 관리해 줌. 한번에 하나의 컨테이너만 관리 + 하나의 호스트에서만 동작 - 도커 컴포즈 : 도커와 하나의 호스트에서만 동작한다는 공통점 있지만, 한 번에 여러 개의 컨테이너를 일관적으로 관리해줌. 묶어서 관리할 때 유리함. => 하나의 호스트에서만 동작한다는 것이 공통적인 단점 - 쿠버네티스 : 여러 대의 호스트에서 컨테이너를 실행.(안정성) 한번에 여러 개의 컨테이너 일괄적으로 관리(확장성) 2. 쿠버네티스 아키텍처 1) 시스템 목적에 따른 분류 - 컨트롤 플레인(마스터) : 쿠버네티스 클러스터(하나의 목적을 가진 여러 대의 시스템 집합)를 전체적으로 운영(관..

13주차 - 리눅스, 도커

기간 230731 - 230804 배운 내용 리눅스, 도커 ◎ 리눅스 1. vagrant - vagrant 사용법 1) vagrantfile 작성 가상머신의 스펙 설정 2) 명령어로 관리(vagrantfile이 있는 위치에서 실행해야 함) vagrant up : 가상머신 생성/부팅 vagrant plugin install/uninstall/list : 플러그인 설치/삭제/확인 vagrant halt : 가상머신 종료 vagrant destroy : 가상머신 삭제 vagrant status : 가상머신 확인 vagrant ssh VMNAME : 가상머신에 원격접속 vagrant snapshot save/restore : 가상머신 스냅샷 관리 (가상머신 특정상태 저장) 2. 리눅스 명령어 ls : 파일목록,..

11주차 - AWS

기간 230717 - 230721 배운 내용 AWS ◎ AWS 서비스 리소스 ec2 ec2 instance IAM IAM user, Role, Policy, Group S3 S3 bucket vpc vpc Lambda Lambda function - 리소스 레벨 1) 글로벌 레벨 - IAM 관련 리소스 2) 리전 레벨 - VPC, S3, Lambda, DDB table 리전 레벨 : 가용영역까지 선택할 필요 없고, 리전까지만 선택하면 됨 S3, Lambda, DDB table 은 완전 관리형 3) 가용영역 레벨 - subnet, EC2 instance, RDS 1. AutoScaling AutoScaling = 트래픽에 따라 자동으로 서버가 늘어났다가 줄어들었다가 함 (오토스케일링 아니면 예상한 것에 따..

10주차 - Spring Boot, AWS

기간 230710 - 230714 배운 내용 Spring Boot, AWS ◎ Spring Boot Spring Boot는 의존성 세트라고 불리는 Starter 를 사용해 간편하게 의존성을 사용할 수 있다. 비즈니스 로직에만 집중할 수 있도록 만들어 주는 도구. 1. 특징 - Starter : 의존관계(dependency)를 간단하게 정의하는 모듈 - 빌드 도구 : 버전 해결 등 개발을 효율화하는 플러그인 (Maven, Gradle) - Config 클래스 : XML이 아닌 애너테이션과 자바로 설정 - 자동 구성 : 디폴트 구성이 적용되고, 필요한 부분만 설정 (항상 등록하는 것들 자동 구성) - Main Application 클래스 : 자바 명령으로 내장된 톰캣을 실행 - 설정 파일 2. Spring..

9주차 - 프로시저, 트리거, 스프링

사진 수정하고 글 정리!! 기간 230703 - 230707 배운 내용 프로시저, 트리거, 스프링(IoC, AOP, MVC) ◎ 프로시저 / 트리거 / 사용자 정의 함수 1. 정의 1) 프로시저 : 특정 기능을 수행하는 트랜잭션 언어. 미리 데이터베이스 서버에 일련의 SQL 명령을 해 놓고, 프로시저를 실행하여 SQL 명령을 간단하게 실행할 수 있게 한다. 2) 트리거 : 데이터의 입력, 갱신, 삭제 등의 이벤트가 발생하면 트리거의 SQL 문장이 자동으로 실행된다. 3) 사용자 정의 함수 : 프로시저와 유사하며, 처리 결과를 단일값으로 반환한다. 2. 비교 프로시저 트리거 함수(내장함수 x) 실행 직접 호출하여 실행 자동으로 호출 SQL문 안에 포함되어 실행 반환값 없거나 1개 이상 없음 1개(필수) 3..

8주차 - DB

기간 230626 - 230630 배운 내용 DB ◎ DBMS : DataBase Management System. 데이터를 만들고 저장하고 관리하는 기술 - DBMS가 없다면? 1. 직접 파일 열어서 읽어서 조회, 저장해야 함 2. 공유가 어려움 3. 공유가 어려우니까 데이터 중복해서 갖고 있게 됨 4. 중복 저장하다 보니 일관성이 깨짐 5. 무결성 관리 어려움 (무결성=결함 없이 데이터 유지하는 성질) 6. 보안관리 어려움 (권한 있는 사람만 접근하도록 직접 만들어야 함) ◎ 트랜잭션 : all or nothing으로 처리되어야 하는 논리적인 작업 단위 1. 논리적인 작업 단위 : 전부 수행되거나 아무것도 수행되면 안 되는 작업들 ex1) 계좌이체 시 a = a - 10000 b = b + 10000..

7주차 - JAVA

기간 230619 - 230623 배운 내용 JAVA ◎ JAVA 1. 클래스 로더 - 클래스 로더 종류 1) 부트스트랩 (Bootstrap) Class Loader Java 8 jre/lib/rt.jar 및 기타 핵심 라이브러리와 같은 JDK의 내부 클래스를 로드한다. Java 9 이후 더 이상 /rt.jar이 존재하지 않으며, /lib 내에 모듈화 되어 포함됐다. 예) java.base.jmod 2) 확장 (Extensions) Class Loader ($JAVA_HOME/jre/lib/ext/*.jar) Java 9 이후 Platform Loader로 변경 3) 시스템 (System) Class Loader. Classpath에 있는 클래스 파일 혹은 jar에 속한 클래스들을 로드한다. 2. 파일 ..