본문 바로가기

분류 전체보기

(135)
데브옵스가 데이터베이스 개발에 미치는 영향 데브옵스가 데이터베이스 개발에 미치는 영향 오늘날의 기업 조직은 치열한 시장 경쟁과 빠르게 발전하는 기술 환경에 대처하기 위해 프로덕션 애플리케이션 환경에 새로운 소프트웨어와 업데이트를 신속하게 배포해야 한다는 큰 압력에 직면해 있습니다. 이 과제에 대처하기 위해 점점 더 많은 기업이 데브옵스를 도입하고 있습니다. 데브옵스는 소프트웨어 빌드, 테스트 및 릴리스를 빠르고 안정적으로 실현하기 위해 개발, 운영 및 기타 기능 영역 같의 협업과 커뮤니케이션을 강조하는 실천 방안입니다. 그러나 데브옵스 워크플로우의 민첩함을 가로막는 큰 병목 지점은 바로 데이터베이스 개발입니다. 프로덕션 데이터베이스의 민감한 특성과 데이터베이스 개발 프로세스의 복잡함으로 인해 전통적으로 데이터베이스 개발은 애플리케이션 개봘과는 별..
Container Engine 종료(중지) 시키기 Container Engine 사용을 멈출 필요가 있을 때가 있다. 대부분이 테스트를 위해 사용하다가 바쁜 일정 등으로 잠시 서비스를 꺼둘 때 일 텐데 Google Cloud Platform (GCP) 콘솔에서는 어떤 이유에서인지 관련된 기능을 찾아보기 힘들다. 더 솔직히 이야기하면 설정은 있지만 설정을 할 수가 없다 (?) 이런 말장난을 하는 이유는 Container Engine 은 애초에 종료 ( Terminate 혹은 Stop ) 의 개념이 없기 때문이다. 단순하게 노드 풀의 사이즈를 주지 않으면 그게 곧 종료를 나타내는데 콘솔에서는 이 설정이 불가능하다. "크기는 양의 정수여야 합니다." - 구글님, 0 도 포함시켜 주시죠..?하지만 걱정할 필요 없다. 왜냐하면 GCP 는 이미 터미널 기반으로 모..
Container Engine (GKE #2. cluster 생성) Container Engine 의 기본 개념에 대해서 살펴보았고 이번에는 Google Cloud Platform (GCP) 에서 Container Engine 을 사용하기 위한 준비단계에 대해서 다뤄보도록 한다. 과정중에 Kubernetes 의 내부를 간단한 다이어그램을 통해 살펴볼 것이다. 우선 Cluster 라는 것을 생성하기 위해 다음 화면과 같이 좌측 메뉴에서 [Container Engine] 카테고리를 선택하도록 하자. [컨테이너 클러스터 만들기] 메뉴를 통해 클러스터를 생성하도록 한다. (여러 개의 Container 를 묶어서 하나의 시스템처럼 동작하도록 하는 개념을 Container cluster 라고 부른다. cluster 라는 단어는 범용적으로 사용되기 때문에 이해하는게 어렵지 않다.) ..
Container Engine (GKE #1. 개념) Google 의 Container 기술 구글은 10년 이상 전부터 리눅스 컨테이너 기술을 관리해 오면서 3개의 Container management systems 을 구축 했는데, 통합 Container Cluster Manager Borg 로 시작해서 차세대 Container Cluster Manager Omega, 그리고 이제부터 살펴볼 Kubernetes (보통 쿠버네티스 라고 읽음)가 있겠다. Kubernetes 는 오픈소스 프로젝트 이기 때문에 GitHub 에 소스가 공개되어 있고 필요하다면 contribute 하거나 Apache License 2.0 에 맞게 사용하면 된다. 사실 Kubernetes 를 사용하기 위해서는 가상화 기술이나 Container 에 대한 최소한의 지식이 필요하기 때문에..
노드를 더 우아하게. pm2 이야기 이번에는 노드를 더 우아하게 사용할 수 있도록 돕는 PM2 에 대해 이야기를 해본다. PM2 는 Process Manager 의 약자로 이미 단어에서 모든게 설명 되는데 노드 프로세스를 관리해주는 역할을 한다. 아래에서 간단한 노드 프로그램을 기반으로 PM2 를 차근차근 이해하도록 하자.보통 서버에 데몬 형태의 application 을 개발하게 되면 여러가지 것들을 신경써야 했다. 이를테면 application 에서 남기는 로그에 대한 처리( filesystem 을 이용해서 남기는 방법, 날짜 포함, rotate, etc ), 프로세스가 죽었을 때에 대한 처리( restart ), 부팅시에 자동 실행 등 무수히 많은 것들이 있다. 이런 귀찮은 것들을 몽땅 관리해주는 프로세스가 있다면 얼마나 편할까? (노..
암호화 해야 하는 정보와 저장하면 안 되는 정보 암호화 해야 하는 정보와 저장하면 안 되는 정보어떤 정보들은 반드시 암호화하여 저장하거나, 혹은 데이터베이스에 저장해서는 안됩니다. 그 만큼 민감한 정보들이기 때문일 텐데요. 이런 정보에는 어떤 것들이 있는지 살펴보도록 하겠습니다.암호화가 필요한 정보암호화해야 하는 개인정보는 고유식별정보, 비밀번호 및 바이오 정보를 말합니다. 정보통신 이용촉진 및 정보보호 등에 관한 법률(이하 ‘정보통신망법’), 개인정보보호법 등에서 인터넷을 통해 유통되는 정보의 보호를 위해 암호기술을 구현하도록 규정하고 있습니다.암호화해야 하는 개인정보정보통신망법개인정보보호법적용 암호기술비밀번호OO해쉬함수바이오 정보OO블록암호주민등록번호OO신용카드번호O–계좌번호O–여권번호–O운전면허번호–O외국인등록번호–O ※「개인정보 보호법」(이하 ..
[번역] 자바스크립트 스코프와 클로저(JavaScript Scope and Closures) 한쪽에서만 보이는 취조실 특수 유리. 스코프의 접근 권한과 비슷한 원리다. (역자)본 글은 JavaScript Scope and Closures by Zell Liew의 번역 글입니다.스코프와 클로저는 자바스크립트에서 굉장히 중요합니다. 하지만 제가 처음 자바스크립트를 시작할 때 이 두 개념이 굉장히 헷갈렸어요. 대체 스코프와 클로저가 무엇인지, 여러분이 이해할 수 있도록 도와드리고자 이 글을 준비했습니다.그럼, 스코프부터 시작해 보도록 하죠.스코프(Scope)자바스크립트에서 스코프란 어떤 변수들에 접근할 수 있는지를 정의합니다. 스코프엔 두 가지 종류가 있는데요, 전역 스코프(global scope)와 지역 스코프(local scope)가 있죠.전역 스코프(Global Scope)변수가 함수 바깥이나 ..
자바 기능 인터페이스(Java Functional Interfaces) Java Functional InterfacesJava의 기능 인터페이스를 빠르게 분석하고 싶습니까? 여기에는 술어, 연산자 및 함수뿐만 아니라 그 사용법을 잘 요약 해 놓았습니다.java.util.function에서 43 개의 기능 인터페이스의 알파벳 순 목록을 보면 약간 압도적입니다. 그들 모두를 배우고 기억하려고 노력하는 것은 도전이 될 것입니다!다행스럽게도 조슈아 블로흐 (Joshua Bloch)는 Effective Java의 제 3 판에서 구조를 구했습니다.항목 44 : 표준 기능 인터페이스의 사용을 선호합니다.나는 이것을 정말로 읽는 것이 좋습니다!블로흐 (Bloch) 교수가 설명하는 경우를 제외하고는 직접 작성해야 할 것 같지 않습니다.설명이 많은 이름이 도움이 될 수 있습니다.그것과 관련된..