MySQL Workbench를 통한 덤프 데이터 생성하기
2024. 1. 31. 21:45
TIL/개념정리
터널 생성 ssh -L 9999: @ -i -N 테스트 DB 가져오기 https://github.com/datacharmer/test_db git clone path 추가 SQL 스크립트에서 source 명령어를 사용하여 외부 파일을 불러올 때, 정확한 경로를 지정해야 합니다 employees.sql > source > local directory employees_partitioned.sql > source > local directory Linux/Mac의 경우 pwd 명령어를 활용하여 현재 위치한 working directory 확인 가능합니다. Example SELECT 'LOADING departments' as 'INFO'; source /Users/byeongjuchoi/Infrastruct..
Docker 시작하기
2024. 1. 30. 21:36
TIL/개념정리
https://www.udemy.com/course/docker-kubernetes-2022/ 강의를 참고하였습니다. Docker란 컨테이너를 생성하고 관리하기 위한 도구 컨테이너를 왜 사용해야할까 소프트웨어 개발에서 컨테이너는 표준화된 소프트웨어 유닛 기본적으로 코드 패키지이며 해당 코드를 실행하는데 필요한 종속성과 도구가 포함되어 있다. 도커로 빌드된 컨테이너가 있는 javascript 애플리케이션의 경우 해당 컨테이너에는 애플리케이션 소스 코드 뿐만 아니라 NodeJS 런타임 그리고 코드를 실행하는데 필요한 기타 도구가 있을 수 있다. 똑같은 컨테이너는 어디에서 누가 실행하든 항상 똑같은 동작을 실행한다. 따라서 도커를 정리하면 단순히 컨테이너를 생성하고 관리 프로세스를 단순화하는 도구라고 정리할 ..
Terraform을 활용한 ECS와 ECR 개념정리
2024. 1. 13. 16:49
TIL/개념정리
Process Terraform Packer가 AMI를 빌드하는 것과 비슷하게 도커를 사용해서 도커 이미지를 빌드할 수 있습니다. 해당 이미지는 도커 엔진이 설치된 모든 리눅스 호스트에서 실행 가능합니다. ECR ECR 생성하기 provider "aws" { region = var.AWS_REGION } resource "aws_ecr_repository" "myapp" { name = "myapp" } output "myapp-repository-URL" { value = aws_ecr_repository.myapp.repository_url } Docker build docker build -t {AWS account ID}.dkr.ecr.{Region Code}.amazonaws.com/{REPOS..
테라폼 기초
2024. 1. 5. 22:08
TIL/개념정리
기본 명령어 // 프로덕션 환경에선 중요하다 terraform plan -out file.terraform terraform apply file.terraform // 프로덕션에서는 주의할 것 terraform destroy 변수 유형 string, number, bool List 배열 map key - value set 유니크한 값들로 구성 Object Map과 유사하지만 각 키가 다른 value 타입을 가질 수 있음 tuple list와 같지만 각 요소가 다른 값들을 가질 수 있음 Terraform 변수 secrets한 값들을 숨김 credentials 변화되는 값들을 관리 AMIs, type, value 코드 관리 variables.tf 에서 변수를 관리 terraform.tfvars , .env ..
테라폼 ec2 튜토리얼
2023. 12. 15. 20:16
TIL/개념정리
테라폼 ec2 튜토리얼 terraform { required_providers { aws = { source = "hashicorp/aws" version = "~> 4.16" } } required_version = ">= 1.2.0" } provider "aws" { region = "ap-northeast-2" } # 리소스 유형, 이름 resource "aws_instance" "app_server" { # 고유 아이디로 생서됨 ami = "ami-05e02e6210658716f" # 우분투 instance_type = "t2.micro" tags = { Name = "ExampleAppServerInstance" } } 리전마다 ami는 다르다 resource "aws_instance" "app..
React 라이프사이클
2023. 10. 17. 10:45
TIL/개념정리
개요 https://www.zerocho.com/category/React/post/579b5ec26958781500ed9955 https://www.zerocho.com/category/React/post/5f9a7c8807be1d0004347311 https://www.zerocho.com/category/React/post/5f9a6ef507be1d0004347305 라이프사이클 포스트를 읽고 제가 이해한 방식으로 정리한 글입니다. React 컴포넌트 라이프사이클 생애주기 또는 라이프사이클로 많이 표현되며 React의 모든 컴포넌트가 실행되거나 업데이트, 제거될 때 특정한 이벤트들이 발생하게 된다. Class 컴포넌트 라이프사이클 Mount 컴포넌트가 처음 실행될 때 발생하는 이벤트들 context..
React Virtual DOM 정리
2023. 10. 16. 10:04
TIL/개념정리
가상돔을 이해하기 위해서 우선 브라우저 렌더링 과정을 알아야한다. 브라우저 렌더링 과정 HTML 파일을 파싱하여 DOM Tree 생성 CSS 파일을 파싱하여 CSS Object Model (CSSOM) 생성 Render Tree를 통해 Layout(레이아웃) 생성 요소의 크기와 위치를 결정한다 이 과정을 reflow라고도 한다 Painting을 통해 스타일을 생성한다 스타일 정보를 기반으로 실제 화면에 렌더링됨 요소 업데이트 document.getElementById('some-id').innerValue = 'updated value'; 해당 ID를 찾기 위해 HTML을 파싱 해당 요소의 하위 요소를 제거 DOM update, CSS update 레이아웃 업데이트 트리를 순회하며 화면에 다시 Repai..
Rest API 설계시 네이밍과 기본규칙
2023. 10. 4. 14:31
TIL/개념정리
RestfulAPI 네이밍과 기본규칙 Restful API설계를 위한 네이밍규칙 Restful API는 URI를 통해 리소스를 식별합니다. 통합 자원 식별자(Uniform Resource Identifier, URI)는 인터넷에 있는 자원을 나타내는 유일한 주소 Uniform: 리소스를 식별하는 통일된 방식 Resource: URI로 식별 가능한 모든 종류의 자원을 지칭 Identifier: 다른 항목과 구분하기 위해 필요한 정보 이러한 리소스를 더 명확하게 식별하기 위해 네이밍 규칙이 필요합니다 명사를 사용할 것 Restful API는 명사 리소스를 참조해야함 리소스를 세가지 카테고리에 따라 하나의 원형으로 만들어야한다 문서 하나의 파일, 인스턴스, 데이터베이스 레코드 → 문서 리소스를 표시하려면 단수..
Github Action + PM2로 CI/CD 구축하기
2023. 7. 29. 22:39
TIL/개념정리
개요 웹 서비스를 운영하면서 필수적인 배포 전략을 많이 조사해보고 고민해보았습니다. 배포 환경을 실제 구현하기 위한 방법은 많기 때문에, 우선 가장 좋은 배포 전략을 고민해보고자 했고 이를 간단히 정리해보았습니다. 배포전략 롤링 배포 하나씩 새 버전으로 업데이트한다 → 로드밸런서로 트래픽을 제어하거나 새로운 서버를 올려 트래픽을 하나씩 제어한다 여러 오케스트레이션 도구에서 지원하고 신버전 장애 발생시 격리될 수 있다는 점, 신버전이 빠르게 릴리즈될 수 있다는 장점이 있다 하나씩 배포되기 때문에 대규모 배포작업이 일어나게되면 상당히 시간이 오래걸리게 된다. 뿐만 아니라 오류가 격리될 순 있지만 복구하는데 시간이 많이 발생할 수 있다. 블루/그린 서버를 두 그룹으로 나누게 된다 블루/그린. 실제 운영되는 그..
GCP CE http -> https 리다이렉트 하기
2023. 3. 15. 22:50
TIL/개념정리
전역 외부 HTTP(S) 부하 분산기(기본)의 HTTP-HTTPS 간 리디렉션 설정 | Google Cloud 전역 외부 HTTP(S) 부하 분산기(기본)의 HTTP-HTTPS 간 리디렉션을 설정합니다. cloud.google.com 공식문서에서 따라하면 쉬운데 헷갈리는 부분만 정의했다. IP 주소를 HTTPS 부하 분산기에 사용한 IP 주소와 동일한 IP 주소로 설정합니다. 위 설명에서 vpc 네트워크 → IP주소 항목에 들어가 만들어두었던 만들어 두었던 부하분산기 IP를 고정시켜야 한다. 이후 위 설정을 그대로 따라가면 끝난다. 회고 도메인이 달라서 쿠키 저장이 안되고 있어 하루종일 붙잡고 있다가 딱히 적을 내용이 없어 적었다.