분류 전체보기
-
[DevOps] AWS CDKDevOps 2022. 7. 26. 20:11
AWS CDK(AWS Cloud Development Kit)는 현대적 프로그래밍 언어를 사용하여 클라우드 인프라를 코드로 정의하고 AWS CloudFormation을 통해 배포하는 오픈 소스 소프트웨어 개발 프레임워크이다. 콘솔을 사용하지 않고 Iac를 사용하며 생기는 장점은 코드를 통해 인프라를 관리하고 프로비저닝 함으로써, 오류감소, 비용 절감, 일관성, 버전 관리 등이다. Iac(Infrastructure as Code) 코드형 인프라는 수동 프로세스가 아닌 코드를 통해 인프라를 관리하고 프로비저닝하는 것을 말한다. 다른 Iac에 비해 cdk가 주는 장점은 AWS Toolkit 활용이 가능하며, 상위 레벨의 다양한 언어로 구현가능하다는 장점이 있다. * 프로비저닝 : it 인프라를 설정하는 프로세..
-
[DevOps] Dockerfile 명령어DevOps 2022. 7. 21. 17:24
도커를 활용해 컨테이너화를 시키는 데에 있어서 필수적인 작업 중 하나는 docker image를 생성하는 것이며, 이는 프로젝트 최상위 디렉토리에서 Dockerfile을 통해 생성하고 설정할 수 있다. Dockerfile은 Docker image을 어떠한 과정을 통해 빌드가 되는지를 담고 있는 파일이다. 포맷 명령어(INSTRUCTION) 인자(arguments) 각 명령문은 명령어로 시작하고 여러개의 인자로 끝난다. 인자와 구분이 쉽도록 명령어는 대문자로 써주는 것이 관례이다. FROM FROM FROM : 하나의 Docker 이미지는 base 이미지부터 시작해서 기존 이미지 위에 새로운 이미지를 중첩해서 여러 단계의 이미지 층(layer)을 쌓아가며 만들어진다. FROM 명령문은 이 base 이미지를..
-
[DevOps]DevOpsDevOps 2022. 7. 17. 15:55
DevOps(이하 데브옵스)는 Development + Operation의 합성어로 개발담당자와 운영담당자가 연계하하여 소통, 협업 및 통합을 강조하는 개발 환경, 문화, 방법론 등을 아우르는 말이다. 다시 말해 데브옵스는 어떤 요구사항을 효율적으로 만족시키기 위하여, 일을 자동화하며 변경사항 지표들을 측정하고, 공유하며, 이 모든 결과물들을 지속적으로 축적해 나아가는 문화를 만들어가는 철학, 방법론, 기술등을 의미한다. 데브옵스의 장점 데브옵스를 적용하는데에 있어 가져올 수 있는 장점은 이와 같다. - 속도 소통의 딜레이와 난이도가 줄어들면서 작업 속도가 빨라지고 이에 따라 시장 변화에 잘 적응하고 효율적으로 비즈니스 성과를 창출할 수 있다. - 빠른 배포 새로운 기능의 릴리스와 버그 수정 속도가 빨라..
-
[JS] async, await 함수JS & TS 2022. 7. 8. 17:54
async 함수는 비동기 작업을 한다. new Promise를 리턴하던 함수를 조금씩 수정하면 async함수로 변환이 가능하다. - 함수에 async 키워드를 붙인다. - new Promise 리턴을 없애고 executor 내용만 남긴다. - resolve(value); 부분을 return value;로 변경한다. - rejuect(new Error()); 부분을 throw new Error(...);로 수정한다. function startAsync(age) { return new Promise((resolve, reject) => { if (age > 20) resolve('${age}'); else reject(new Error('error')); }); } async function startAsy..
-
[JS] PromiseJS & TS 2022. 7. 8. 16:29
Promise는 비공기 작업의 단위이다. Promise를 사용하는 가장 정석적인 방법은 new Promise()를 활용한 다음과 같은 방법이다. const pms = new Promise((resolve, reject) => { // 비동기 작업 }); Promise의 생성자는 함수를 인자로 받는데 이 함수를 executor라고 부른다. executor는 1. 첫번째 인자로 resolve를 받고, 두번째 인자로 reject를 받는다. 2. resolve는 executor 내에서 호출할 수 있는 또 다른 함수이며, resolve를 호출한다는 것은 작업의 성공을 의미한다. 3. reject 또한 executor내에서 호출할 수 있는 함수이며, reject를 호출한다는 것은 작업의 실패를 의미한다. Promi..
-
[JS] 화살표 함수JS & TS 2022. 6. 28. 16:05
이제 function을 굳이 명시 하지 않더라도 화살표 함수를 통해 대체할 수 있게 되었다. function a(x, y) { return x + y; } var b = (x, y) => { return x + y; } var c = (x, y) => x + y; var d = (x, y) => (x + y); function a2(x) { return !x; } var b2 = x => !x; 함수 a는 이제 b, c, d의 방식으로 표시할 수 있고, a2도 b2처럼 표할 수 있다. 함수 내용이 return 뿐인 경우 c처럼 생략할 수 있으며, 매개변수가 하나인 경우 b2처럼 괄호 생략이 가능하다. return이 생략이 되더라도 가시성을 위해 d처럼 괄호로 감싸는 것을 추천한다. 화살표함수와 funct..
-
[JS] 객체 리터럴JS & TS 2022. 6. 28. 15:44
ES6 버전에서 객체 리터럴이라는 기능이 추가되었다. let sayNode = function(){ console.log('Node'); } let es = 'ES'; let oldObject = { sayJS: function() { console.log('JS'); }, sayNode: sayNode, }; oldObject[es + 6] = 'Fantastic'; oldObject.sayNode(); // Node oldObject.sayJS(); // JS console.log(oldObject.ES6); // Fantastic let newObject = { sayJS() { console.log('JS'); }, sayNode, [es + 6]: 'Fantastic', }; newObject...
-
[JS] 이벤트 기반의 js, 이벤트 루프JS & TS 2022. 6. 28. 14:31
이벤트 기반이란 이벤트가 발생할 때 미리 저장해둔 작업을 수행하는 방식을 의미. 이벤트 기반 시스템에서는 특정 이벤트가 발생할 때 무엇을 할지 미리 등록해두어야 한다. 이를 이벤트 리스너에 콜백 함수를 등록한다고 표현한다. 노드도 이벤트 기반 방식으로 동작하며, 이벤트가 발생하면 이벤트 리스너에 등록해둔 콜백 함수를 호출하고, 발생한 이벤트가 없거나 발생했던 이벤트를 다 처리하면, 다음 이벤트가 발생할 때까지 대기한다. 특정 시간 이후에 코드를 실행하는 setTimeout을 사용하면 특이한 상황이 발생한다. function run() { console.log('3초 후 실행'); } console.log('시작'); setTimeout(run, 3000); console.log('끝'); 결과는 다음과 ..