목록전체 글 (134)
PracticeEveryday

도커 이미지 업로드 하기 로컬 PC 상에 저장되어 있는 도커 이미지를 도커 허브에 업로드 하는 방법은 다음과 같습니다. ○ Docker image build docker build -t [Build Name] ./ ( 현재 경로 ) - 명령 프롬프트 상에서 "docker login" 명령으로 로그인합니다. ID와 패스워드는 도커 허브에 가입한 계정 정보를 입력합니다. ○ Docker login ○ Docker commit docker commit [ 컨테이너 아이디 ] [ 저장소 이름 ] / [ 레포지토리 이름 ] Ex) docker commit 1a0a902554ba h3ngss0/my-ubuntu:1 ○ Docker push - 도커 허브의 저장소 이름인 "h3ngss0/my-ubuntu"와 동일하게..

Mocah test 완료 후 스스로 종료하게 하기 - Mocha 테스트 코드 실행 후 해당 입력 스트림을 직접 꺼주지 않으면 프로세스가 계속 유지됨 https://stackoverflow.com/questions/50372866/mocha-not-exiting-after-test Mocha not exiting after test I'm starting with tests in Node. Using mocha, chai and nock (to intercept external HTTP api calls). I have written 3 tests, all of them are a pass, however, when I added the 3rd test, mocha stopped stackoverflow...

Base64 - 인코딩( Encoding )은 파일에 저장된 정보의 형태나 형식을 데이터 표준화, 보안, 처리 속도 향상, 저장 공간 절약 등을 위해서 다른 형태로 변환하는 처리 혹은 그 처리 방식을 이야기합니다. - 이메일 등의 전송, 동영상 이미지 영역에서 많이 사용되며, 반대말을 디코딩 ( Decoding )입니다. - Base64를 직역하면 64진법이라는 뜻입니다. - Base64란 8비트 이진 데이터 ( 예를 들어 실행 파일이나, ZIP 파일 등 )를 문자 코드에 영향을 받지 않는 공통 ASCII 영역의 문자들로만 이루어진 일련의 문자열로 바꾸는 인코딩 방식을 가리키는 개녑입니다. - Base64는 어떤 문자와 기호를 쓰느냐에 따라 다양한 변종이 있지만, 대부분 처음 62개는 알파벳 A - Z,..

Big O Notation ( 표기법 ) - Big O Notation은 알고리즘이 실행되는 데 걸리는 시간 ( 시간 복잡도 ) 또는 알고리즘이 사용하는 메모리 양 ( 공간 복잡도 )에 대해 설명하는 데 사용하는 언어입니다. - Big O는 최악의 경우인 " 상한 " 실행 속도에 중점을 둡니다. ※ 우리가 Big O 표기법을 사용할 때 " 실행 시간 "이 우리가 아는 시간 ( 초, 밀리초 등 )이 아니라는 점을 인지해야 합니다. - 실행 시간의 분석은 프로세서, 언어 또는 실행 시간 환경과 같은 특정 사항을 고려하지 않고 시간을 크기 N 의 문제를 완료하는 데 걸리는 작업 또는 단계의 수로 생각 할 수 있습니다. => Big-O 표기법은 입력 크기에 비해 런타임이 얼마나 빨리 증가하는 지 추적하는 방법입..

should.js - should.js는 node.js에서 사용할 수 있는 표현적이고 가독성 있으며 테스트 프레임워크에 의존적이지 않은 단언문 ( Assertion) 라이브러리입니다. - 객체의 행동을 enumerable( 열거할 수 있는 ) 않은 단일 getter를 통해 Object를 prototype 확장해 제공하고 있습니다. - 사실 should.js는 node.js에서 제공하는 Assert 모듈을 확장했기 때문에 assert 모듈과 동일합니다. - 즉 should.equal ( str, 'foo' )는 assert.equal ( str, 'foo' ) 와 동일하게 동작하고 should.AssertionError는 assert.AssertionError와 같습니다. 그래서 node.js의 asser..

Express-validator - 유효성 검사란 클라이언트에서 서버로 요청을 보낼 때, 정확한 데이터를 보내고 있는지 확인하는 것이다. npm install --save express-validator yarn add express-validator -D const { body, validationResult } = require('express-validator'); app.post( '/user', // username must be an email body('username').isEmail(), // password must be at least 5 chars long body('password').isLength({ min: 5 }), (req, res) => { // Finds the val..

ESLint - ESLint는 ES ( Ecoma Script )와 Lint 를 합친 것입니다. - Lint ( 혹은 Linter )는 에러가 난 코드에 표시를 달아주는 것을 뜻합니다. => 린트(lint) 또는 린터(linter)는 소스 코드를 분석하여 프로그램 오류, 버그, 스타일 오류, 의심스러운 구조체에 표시(flag) 를 달아놓기 위한 도구들을 가리킨다. - 에러와 코딩 스타일을 잡아주기 때문에 여러 명이 코드를 작성하더라도 한 사람이 코딩한 것처럼 깔끔하게 만들어 줄 수 있습니다. - 린트를 통해 잡아내고 싶은 에러의 기준을 직접 설명할 수 있는데, 문법적인 오류만 잡아낼 수도 있으며 세미콜론 ( ; ) 사용과 같은 전반적인 코딩 스타일도 정해둘 수 있습니다. ESLint 사용법 1. npm ..

서버리스 - 서버리스는 클라우드 컴퓨팅의 모델 중 하나로 사용자가 서버를 직접 관리할 필요가 없는 모델을 의미합니다. - 여기서 서비를 직접 관리할 필요가 없다는 의미는 Iaas와 같은 모델처럼 트레픽에 따라 사용자가 직접 서버의 가용량을 증감 시킬 필요가 없다는 뜻입니다. ※ 서버 ( Server ) + 리스 ( Less )의 합성어라 '서버가 없다'라고 문자 그대로 이해할 수 있지만 서버가 없을 수는 없습니다. 어딘가에 저장할 공간이 있긴 해야 합니다. 클라우딩 컴퓨터 - 클라우드 컴퓨팅이 등장하면서 더 이상 서버를 직접 설치하고 관리할 필요가 없어졌습니다. - 집에 직접 서버를 사서 설치하여 관리할 필요 없이 MS, 아마존, 구글에게 돈을 지불하면 서버를 이용할 수 있게 된 것입니다. - 하지만 서..

Cloud Computing - 클라우드 컴퓨팅은 IT 리소스를 직접 구매하지 않고 임대하여 사용하는 것입니다. - 여기서 IT 리소스는 서버, DB, 스토리지 등 구성 가능한 자원을 말합니다. - 직접 서버를 구매하여 설치하고 구성하는 과정 대신 클라우드 컴퓨팅 공급자로부터 필요한 자원을 할당 받은 뒤 사용량만큼 비용을 지불하는 것입니다. 클라우더 컴퓨팅의 서비스 모델 - 서비스 모델이란 클라우드 공급자가 제공하는 서비스의 차이에 따라 분류하는 개념입니다. - 클라우드 컴퓨팅의 서비스 모델은 Iaas, Paas, Saas 3가지로 나뉩니다. 1. 전통적인 IT 방식 - 전통적인 IT 방식에서는 기업 ( 배포자 )이 필요한 모든 자원을 준비하고, 관리해야만 했습니다. - 예를 들면 웹 서비스 하나를 배포..

요약 - 객체지향 프로그래밍은 프로그래밍 산업이 발전할 떄 프로그램의 덩치가 커져가면서 생기는 문제점을 해결하기 위해 나온 하나의 관점이자 방법론입니다. - 기존의 방식으로는 변수들을 하나씩 관리하다 보니 변수명을 공유해서 써야 되는 문제들이 발생했기 떄문입니다. - 연관있는 이름들을 하나로 묶어주는 구조체라는 타입을 만드니 데이터를 중심으로 프로그래밍을 할 수 있었습니다. - 그렇다면 데이터와 함수를 한 데 묶어 관리하면 어떨까? => 이렇게 하니 하나의 큰 프로그래밍을 작은 문제를 해결하는 독립적인 단위로 만들 수 있게 되었습니다. => 이렇게 작은 단위로 관리를 할 수 있게 되니 개발과 유지 보수가 간편하게 된다는 장점을 알게 되었습니다. - 이러한 객체를 설계하고 찍어낼 수 있는 구조를 클래스라고..