본문 바로가기
728x90

전체 글109

[ASAC 06] Docker, CI/CD 기본 개념 이 글은 ASAC 06기를 수강하며 강의 자료 참고 및 추가 자료 수집을 통해 작성된 글입니다.   Docker이미지 = 어플리케이션 + 어플리케이션을 구동하기 위한 모든 환경적인 요인들컨테이너 = 자원이 할당되고 실행중인 이미지이미지와 컨테이너의 차이는 프로그램과 프로세스의 차이와 유사하다. 이미지는 정적인 프로그램과 유사컨테이너는 동적인(실행 중인) 프로세스와 유사컨테이너 혹은 이미지 = 격리의 단위 (일관성 보장 단위)환경은 두 가지로 구분된다. Local(Host) 환경Docker 환경Docker 버전 = 애플리케이션 버전 + 도커의 환경 버전하나의 로컬에서 여러 개의 컨테이너 구동이 가능 하지만, 컨테이너가 서로 알려면 네트워크 통신 필요하다. 컨테이너들은 브릿지라고 하는 하나의 컨테이너 환경에.. 2024. 10. 28.
[ASAC 06] 자바스크립트 객체, 스크립트, Callback과 Promise 바인딩암시적 바인딩 (Implicit Binding)객체 내부에 메서드를 가지는 경우. this = 객체const implicit = { name: 'Aaron', method: function() { console.log(this.name) }, method_shorten() { console.log(this.name) }, // 콜론, function 생략 가능. 축약형}implicit.method() // Aaronimplicit.method_shorten() // Aaron명시적 바인딩 (Explicit Binding)this를 사용하는 함수에 명시적으로 객체를 할당해주면 메서드가 된다.call, bind, apply 사용하여 명시적 바인딩이 가능하다. 그러나 일시적으로만 바인딩된다.cons.. 2024. 10. 17.
[ASAC 06] 자바스크립트 일급함수, Hoisting, Scope Chaining 이 글은 ASAC 06기를 수강하며 강의 자료 참고 및 추가 자료 수집을 통해 작성된 글입니다. 자바스크립트자바가 객체 지향 기반 + 함수형 프로그래밍인 반면에, 자바스크립트는 다음과 같은 특징들을 가진다.함수형 프로그래밍 기반 + 객체지향 (기존 프로토타입)타입스크립트 통해서 인터페이스(다형성)를 도입할 수 있다. (타입스크립트 -> 정적 타이핑)1. 일급 함수 : 함수 변수 + 함수 파라미터 + 함수 반환함수 변수 할당익명함수와 기명함수 존재. 익명함수를 변수화 할 수 있다. => 함수에 이름이 있는 것처럼 동작커링함수를 반환하는 함수. 메타 함수. (클로저는 커링에서 변수 개념을 추가한 것)커링은 파라미터를 쪼갤 때 많이 쓴다.ex) 8개 되는 파라미터를 한 번에 받는 경우-> 문맥을 끊어주고 재사.. 2024. 10. 16.
[ASAC 06] AWS VPC와 서브넷 구성 / Bastion Tunneling, NAT 이 글은 ASAC 06기를 수강하며 강의 자료 참고 및 추가 자료 수집을 통해 작성된 글입니다. VPCVPC (Virtual Private Cloud) : 클라우드 인트라넷 (Intranet)  + 서브넷 구성 서브넷서브넷은 VPC로 제공받은 큰 네트워크를 몇 개의 부분 네트워크로 자른 것이다. (Subnet)Private Subnet Private Server Subnet Private Database SubnetPublic Subnet 주의Private/Public 서브넷은 단지 이름표에 불과할 뿐,실제로 Private/Public의 성질을 서브넷에 부여하려면, Route Table 설정이 필요하다. 가용성을 위한 서브넷 이중화Multi AZ(Availability Zone) 설정=> Private/.. 2024. 10. 8.
[ASAC 06] GitHub 명령어 정리 이 글은 ASAC 06기를 수강하며 강의 자료 참고 및 추가 자료 수집을 통해 작성된 글입니다. Git 버전 관리일반적인 버전관리는 파일 기반의 변경이 발생한다. 중복된 내용이 계속 쌓여가기 때문에 용량 비효율적이다.Git 버전 관리는 변경사항(Diff) 기반의 변경이 발생한다. 변경된 내용만 쌓여가기 때문에 용량 효율적이다.commit은 직전 버전 기준 변경사항 저장 (히스토리 조각. 단위)코드는 로컬에서, 그리고 중앙(원격)에서 관리된다.Git : 로컬 코드 관리GitHub : 중앙 코드 관리Git 내 영역remote : 원격 리포지토리local : working directory 작업공간trackedgit이 추적하는 파일(알고있는 파일)untrackedgit이 추적하지 못하는 파일ex) 새로 추가된.. 2024. 9. 27.
[ASAC 06] 세션과 JWT, CORS 관련 질문 정리 이 글은 ASAC 06기를 수강하며 강의 자료 참고 및 추가 자료 수집을 통해 작성된 글입니다. 세션과 JWT 차이점들어가기 앞서Session은 서버 측에 저장되는 정보이다.Cookie는 클라이언트 측(브라우저)에 저장되는 정보이다.Session만 사용하고 쿠키를 사용하지 않는 것이 아니다. 세션과 쿠키는 함께 사용된다. 세션사용자의 모든 인증 정보(유저정보 + 만료시간 + 세션 ID)들을 가지고 있으며, 세션 사용 시 클라이언트는 쿠키로 세션 ID 및 만료 시간을 전달 받는다.세션 정보는 서버 측에 저장된다.세션 ID는 특별한 정보를 함의하지 않는 UUID이다.세션 정보는 서버 측에 저장되기 때문에 세션을 사용한 인증 및 세션 관리를 위해서 서버 측 부하가 커진다.세션을 서버에 저장한다면, SPoF 문.. 2024. 9. 12.
[ASAC 06] Shell, Linux 명령어 이 글은 ASAC 06기를 수강하며 강의 자료 참고 및 추가 자료 수집을 통해 작성된 글입니다.Shell 종류Bourne Shell (sh, 쉘 혹은 본쉘) : AT&T 벨 연구소의 스티븐 본 개발쉘을 수행할때 : #!/bin/sh = 상단에 셔뱅(shebang)을 추가한 뒤 스크립트를 작성(Batch File)Bourne-Again Shell (bash, 바쉘 혹은 배쉬) : GNU 프로젝트 일환 개발, 유닉스 계열 운영체제 기본 쉘Z Shell (zsh, 지쉘) : 커스텀이 자유로워 예쁜 테마를 가진 쉘을 사용할 수 있고, 인터렉티브가 훨씬 개선ZShell > Bash > Shell 순서로 최적화루트 > 일반 > 게스트 계정 순서로 높은 권한Bash 명령어쉘 시작 or 설정 재로딩 명령어source .. 2024. 9. 12.
[ASAC 06] CORS 이 글은 ASAC 06기를 수강하며 강의 자료 참고 및 추가 자료 수집을 통해 작성된 글입니다. CORS(Cross Origin Resource Sharing)웹 브라우저에서 유저 비의도적 요청(CSRF, 해커에 의한 악의적인 요청)에 대한 '부분적' 방어 정책'부분적'의 의미 : 완벽하게 CSRF를 방어하지 못한다는 의미W3C는 가장 먼저 SOP(Same Origin Policy)라는 정책 표준을 도입함.=> Same Origin만 허용API 호출이 사실상 필수인 프론트엔드 개발자들로부터 비난을 받은 후, 추가 정책인 CORS를 도입하여프론트엔드 개발자들이 자바스크립트를 통해 특정 조건하에서 API 호출을 자유롭게 할 수있게 했다.Domain, Origin, Site의 차이점Domain : aaron... 2024. 9. 11.
728x90