HashCorp 밋업 - ZEPL 사용기
발표자박훈ZEPL아파치 제플린 커미터ZEPL에서 발생한 문제엔터프라이즈 서비스 시 고객들이 멀티 클라우드를 사용한다는 이슈가 발생이를 위해 멀티 클라우드 지원은 포기하고, 오케스트레이션 레이어를 정하고 컨테이너로 제공고객에게 제공할 인프라에 쿠버네티스 구성을 해야하는 이슈 발생어떻게 자동화 했나레이어 분리인프라 - 쿠버네티스 -...
View ArticleHashCorp 밋업 - 왜 테라폼인가?
발표자신근우cypherCloudFormation과 비교AWS 인프라를 프로비저닝하기 위한 서비스여러개의 인스턴스를 구동시키기 위한 스크립트가 굉장히 복잡.유지보수도 어려움재사용 어려움템플릿이 S3에 올라가야함 (로컬 테스트 시에도)템플릿이 커질 수록 가독성이 떨어짐모듈화 어려움Terraformbuilding, changing, versioning 도구HCL...
View Article하이브 런칭기 #1 - 사내 환경 구성
초기 개발환경처음에 사내 개발환경은 위키에 작성된 매뉴얼에 따라 물리 머신에 개발에 필요한 각 프로그램을 다운받고 설치하여 구성을 하였습니다. 개발을 진행하면서 새로운 머신에 개발환경을 셋팅하는 일은 드물게 발생하진 않지만 새로 설치할 때마다 위키 매뉴얼을 참조하며 한땀한땀 환경을 구축해나가야 합니다. 매뉴얼 대로 문제없이 진행이 되면 좋겠지만 대부분의...
View Article하이브 런칭기 #2 - AWS 기본 구성
DNS 서비스(Route 53) 이용아마존 웹 서비스를 사용하여 웹 서비스를 구성하면 일반적으로 EC2 인스턴스와Elastic Load Balancer를 사용하여 구성을 하게 됩니다.그러면 제일 처음 만나게되는 서버의 주소는 xxx.ap-northeast-2.elb.amazonaws.com와같은 ELB의 DNS name을 사용하게 됩니다. 이는 굉장히 길고...
View Article하이브 런칭기 #3 - 데이터베이스 구성
데이터베이스(MySQL)개발 환경에서는 서버에 Mysql을 docker로 구동하여 사용하고 있는데, 대규모 트래픽을 감당하기 위해서는 이 데이터베이스 서버 또한 replica를 구성하거나 백업 관리 및 성능을 위한 튜닝을 해야하는 등의 관리 요소가 증가하게 됩니다. 더구나 데이터베이스는 서비스에 있어서 가장 중요한 부분이기 때문에 작은 실수도 서비스에 큰...
View Article하이브 런칭기 #4 - 오토스케일링 및 알림 설정
Auto Scaling Group을 통한 서버 확장 및 축소CloudWatch를 통해 사용자의 트래픽과 EC2 인스턴스의 리소스 사용량을 주시하고, 이에 따라 EC2 인스턴스의 확장이 필요하게 된 시기에 AMI를 사용하여 EC2 인스턴스를 추가하고, 추가된 인스턴스를 ELB의 인스턴스 리스트에 추가해주면 해당 서비스는 더 많은 트래픽을 받을 수 있게 됩니다....
View Article하이브 런칭기 #5 - 웹서버 관리는 Beanstalk에게
관리 요소를 줄이기 위한 서비스 선택 고민앞서 언급했던 것 처럼 오토스케일링 기능을 사용하기 위해서 AMI를 사용했었습니다. 하지만 AMI 를 사용한 자동 확장 구조에서는 컨텐츠나 설정과 같은 변경사항이 발생하게 되면 해당 AMI를 인스턴스로 구동시킨 후에 변경 사항을 적용해야 했습니다. 이렇게 변경된 EC2 인스턴스는 다시 AMI로 생성하여 이를...
View Article[양재동코드랩] 자바스크립트 강의 1일차 - 수업소개, var, let, const
김영보 강사님자바스크립트의 궁극적인 목적관련 기술을 통합, 제어하여 사용자에게 콘텐츠 제공백엔드와는 다른 관점으로 접근해야 함HTML은 구조적인 관점으로, CSS는 비유, DOM은 이벤트 핸들러, 자바스크립트는 통합 컨트롤 등 관점이 다 다름사용자에게 콘텐츠를 어떻게 제공할 것인가 생각하는 것이 가장 중요ES6 스펙ES5와 ES6 스펙이 두배가량 차이...
View Article[양재동코드랩] 자바스크립트 강의 1일차 - Arrow Function
Arrow Function코드 형태 : (param) => {함수코드}자바 람다와 유사람다와 조금 다른 표현들(param1, param2, ...rest) => {코드}rest는 변수명. 관례적으로 rest 사용rest변수에 배열형태로 값이 추가됨(param1, parma2=123) => {코드}Default 파라미터Memo :...
View Article[양재동코드랩] 자바스크립트 강의 1일차 - Iteration, Spread, Rest
Iteration반복을 의미반복하기 위한 프로토콜 필요프로토콜은 규약을 의미반복을 처리하기 위한 함수를 가지고 있는 오브젝트여야 함구성iterable 프로토콜Iterator 프로토콜빌트인 오브젝트는 기본적으로 이터러블 프로토콜을 가지고 있기 때문에 반복 가능String, Array, TypedArray, Map, SetArguments, DOM...
View Article[양재동코드랩] 자바스크립트 강의 1일차 - Operator
operatordestructuringDestructuring Assignment코드 형태let one, two, three; [one, two, three] = [1, 2, 3]; // array 분할 할당분할 할당의 개념중첩된 array라도 형태만 맞추면 변수에 값 할당 됨[one, two, [three, four]] = [1, 2, [3,...
View Article[양재동코드랩] 자바스크립트 강의 1일차 - for of
for-of이터러블 오브젝트 반복Symbol.iterable이 존재해야 가능예제for(constvalueof [10, 20, 30]) { console.log(value); }NodeList 엘리먼트를 하나씩 반복하여 전개예제constnodes=document.querySelectorAll("li"); for(constnodeof nodes) {...
View Article[양재동코드랩] 자바스크립트 강의 1일차 - Object
ObjectObject.is()오브젝트의 비교가 목적이 아니라 값의 비교가 목적임== : 타입은 비교하지 않고 값만 비교 (사용 권장하지 않음)=== : 값과 값 타입 모두 비교Object.is()와 === 차이+0 === -0은 true지만 Object.is()는 false사람 입장에서는 같다고 생각할 수 있지만 기계적으로는 틀림음/양 표현을 하는 비트...
View Article[양재동코드랩] 자바스크립트 강의 2일차 - Number
Number자바스크립트는 IEEE 754에 정의된 double-precision floating-point format numbers로 숫자 표시변수 생성 시 타입 지정이 없는 자바스크립트는 엔진이 알아서 소수인지 정수인지 판단64비트 유동 소수점 형태로 수를 표시RGB 표현의 경우에는 1바이트만으로도 충분하게 표현이 가능한데 64비트는 8바이트이기 때문에...
View Article[양재동코드랩] 자바스크립트 강의 2일차 - Unicode, String
UnicodeES6에 유니코드 관련 프로퍼티와 메소드 추가유니코드는 U+0031 형태로 표현코드 포인트0031이 코드 포인트 또는 문자 코드로 알려져있음코드 포인트 값으로 문자/기호/이모지/아이콘 등 표현4자리 이상의 UTF-16 진수 형태110만개 이상 표현 가능plane : 코드 포인트 전체를 17개 평면(plane)으로 나눔하나의 plane은...
View Article[양재동코드랩] 자바스크립트 강의 2일차 - Array
Arrayfrom()이터러블 오브젝트를 Array로 변환Array-like 포함entries() : Array를 이터레이터 오브젝트로 생성하여 반환constvalues= [10, 20, 30]; constiterator=values.entries(); for (const [key, value] of iterator) { console.log(key, ":...
View Article[양재동코드랩] 자바스크립트 강의 2일차 - Generator
GeneratorGenerator function : function* 키워드를 사용한 함수Generator function을 호출하면 함수 블록을 실행하지 않고 Generator 오브젝트를 생성해서 반환오브젝트를 만드는 과정과 블록을 실행하는 부분을 나누어서 관리Generator function을 통해 반환된 오브젝트를 사용해서 함수 블록을 실행(next...
View Article[양재동코드랩] 자바스크립트 강의 2일차 - Class
ClassFunction 오브젝트가 바탕별도로 class가 존재한다기 보다 function을 조금 더 객체지향적으로 사용할 수 있게끔 만들었다고 생각하면 좋을 듯객체 지향에서 사용하는 Syntax 추가static, super자바스크립트의 객체지향은 C++이나 자바와 같은 기본적인 객체지향의 개념이라기 보다는 기존과 동일하게 prototype을 기반으로...
View Article[리뷰] 모던 스타트업 (팀 생산성을 높여주는 21가지 도구와 서비스) - 한빛 미디어
나에게 도구란?백엔드 개발을 이어오면서 회사의 규모에 상관없이 도구의 중요성은 갈 수록 더해지는 것 같다. 처음 백엔드 개발자로 일하면서는 개발에 필요한 IDE 외에는 별다른 도구를 사용하지 않았었다. 그게 불과 7년 전인데 그간 정말 많은 도구들이 생겨나고 접해보게 되었다. 그 과정에서 잘 만들어져있는 도구들을 굳이 직접 만들 필요가 없다는 것을 느끼게...
View Article[양재동코드랩] 자바스크립트 강의 3일차 - Number, Math
Number자바스크립트는 IEEE 754에 정의된 double-precision floating-point format numbers로 숫자 표시변수 생성 시 타입 지정이 없는 자바스크립트는 엔진이 알아서 소수인지 정수인지 판단64비트 유동 소수점 형태로 수를 표시RGB 표현의 경우에는 1바이트만으로도 충분하게 표현이 가능한데 64비트는 8바이트이기 때문에...
View Article