본문 바로가기

전체 글

(65)
Runbook 서비스 개발을 하다보면 운영 이관을 위하여 시스템 설계 내역과 문제상황에 대한 대처법 등을 자세하게 기록한 문서를 만들어서 운영 담당 부서에 전달해야 하던 때가 있었다. 모든 상황을 가정하여 방대한 지침서를 만들어야 했기 때문에 이러한 운영매뉴얼을 만드는 것은 힘들고 까다로운 작업이었다. 그러던 중 서비스를 직접 개발하고 운영까지 하게된 적이 있었는데 이때는 기존과 다른 형식의 운영매뉴얼을 위키페이지로 만들었다. 처음 접하는 사람이라도 시스템을 이해하고 대응할 수 있도록 실용적이고 간결한 문서를 만들려고 했다. 기존의 다른 운영매뉴얼과 달리 핵심만 뽑아서 문서를 만들었다.제일 먼저 1/ 시스템의 목적을 간단하게 작성하고, 2/ 아키텍처를 그림과 함께 간단하게 설명했다. 그리고 3/ API 목록을 작성하고..
iam/api/v1/ 어떤 스타트업 대표가 쓴 글과 그 글에 대한 소감을 남기려고 한다. 그 글은 글쓴이 본인에 대해 설명하는 것이었는데, 자신과 일을 하기 위한 일종의 규약을 나열한 자기소개서였다. 제목은 "John API v1", 대략 이런 느낌이었다. 그 안에는 자신이 어떤 매체를 통해 연락하는 것을 선호하는 지, 주요 업무 시간이 어떻게 되는 지, 그리고 성격유형검사의 결과가 어떤 것인지 나와있었다. 크게 MBTI와 DiSC 진단에 대한 결과와 그에 대한 설명이 있었다. 그래서 동료의 입장에서 볼 때, 그 사람과 '잘' 일하기 위해 투자하는 시간을 아껴 줄 수 있었다. 동료들을 위한 '나' 사용설명서인 셈이다. 그 스타트업 대표는 개발자 출신이다보니 더 재미있는 표현을 위해서 자신의 이름 뒤에 API(Applicati..
Nebula, Build Tool 네뷸라(Nebula)는 성운(星雲) 또는 성무(星霧)라고하며 우주의 별들 사이의 물질과 수소로 이루어진 구름 또는 안개를 말한다. 다른 한 편으로는 가디언즈 오브 갤럭시(Guardians of the Galaxy)에 나오는 캐릭터 이름이다. 오늘은 또 다른 네뷸라인 소프트웨어 패키지(Software Package) 제작 도구인 넷플릭스 빌드 랭귀지(Netflix Build Language)에대해 이야기 하려고 한다. 네뷸라는 여러 유용한 기능을 제공하고 있는데, 특히 주요 운영체제(Operation System) 소프트웨어 패키지를 쉽게 만들도록 도와주는 기능이 있다. 네뷸라에 대한 간략한 역사를 살펴보면 다음과 같다. 네뷸라 이전에 넷플릭스에서는 앤트(Ant)와 아이비(Ivy) 기반의 솔루션(Solut..
AWS Vault AWS 명령줄(CLI: Command-Line Interface) 환경을 사용하다보면 사용자인증과 권한확인을 위한 보안 키(Key)가 필요하다. 기본적으로 명령줄을 실행하는 환경에 파일로 저장하거나 환경변수로 등록해서 사용한다. 그러나 이러한 방법은 중요한 키를 암호화 되지 않고 저장하는 것이므로 보안사고의 위험이 있다. 그래서 RBAC with AWS IAM시스템을 구축하여 사용자는 임시 키를 발급받아 사용하도록 하였고 개별 사용자들은 AWS Vault라는 도구를 이용하여 자신의 자격증명 보안 키를 암호화하도록 하였다. AWS Vault는 AWS 명령줄을 사용하기위한 보안 키를 각 환경의 보안공간에 안전하게 보관해 주는 도구이다. 만약 맥 운영환경(macOS)를 사용하고 있다면, 다음과 같이 간단하게 ..
RBAC with AWS IAM Update: 블로그에서 설명한 역할기반 접근제어 시스템을 테라폼(Terraform) 으로 구현하였다. 접근 제어와 권한 관리를 코드로 처리할 수 있기 때문에 이력관리, 자동화, 보안정책 리뷰에 장점이 있다. 이 프로젝트의 이름은 패스포트(Passport)이며 모던 애플리케이션을 위한 다중 AWS 계정의 역할기반 접근제어 프레임워크이다. 자세한 내용은 저장소(https://github.com/Young-ook/terraform-aws-passport)에서 확인할 수 있다.RBAC(Role-Based Access Control, 역할기반 접근제어)는 엔터프라이즈(Enterprise)환경에서 각 개인이 시스템에 접근할 수 있는 권한을 역할 기준으로 통제하는 것이다. 간단한 예를 들면, 공항에서, 일반 직원과..
Interactive Graphic Rendering Engine UX 프로토타이핑(Prototyping) 관련 된 내용들을 검색하다가 프로세싱(Processing)이라는 것을 알게 되었다. 스크립트 엔진(Script Engine)과 그래픽 렌더링 엔진(Graphic Rendering Engine)으로 구성되어 있고, 간단한 명령어들을 이용해서 여러 가지 그래픽 요소들을 쉽게 생성할 수 있었다. 스크립트를 배워야 하는 단점이 있지만, 어렵지 않게 접근할 수 있을 것 같았다. 오픈지엘(OpenGL)을 지원하며, 다양한 OS에서 동작한다. 가져다가 잘 활용하면 모바일 플래시(MobileFlash)처럼 상호작용 그래픽 엔진을 개발 할 수 있을 듯하다. 간단히 살펴보았지만, 현재 지원하는 기능만으로도 상당히 괜찮았다.
Snake World 3D 한국콘텐츠진흥원(KOCCA)의 지원을 받아서 이기종 모바일 플랫폼을 지원하는 네트워크 3D게임 개발을 목표로 게임을 제작했다. 데모 동영상은 윈도우(Windows) 위에서 동작하는 시뮬레이터에서 동작하는 것을 촬영한 것이다. 실제로는 심비안, 윈도우즈 모바일, 리눅스 모바일 위에서 동시에 게임을 실행했다. 이 과제에서는 게임, 시뮬레이터 모두 만들었다. 시뮬레이터는 원래 회사에서 제작하는 제품이고 시뮬레이터 제작 담당이었기 때문에 당연히 하던 일이었다. 그러다가 3D게임 제작을 지원해 달라는 요청이 있었고, 그래서 게임 제작을 하게 되었다. 게임엔진과 시뮬레이터를 만드는 모습을 디자이너가 신기하게 봤었다. 그리고 나는 디자이너가 단축키를 사용하며 현란하게 그래픽 도구들을 활용하는 모습을 보고 감탄했었다...
Rumble KART 삼성전자에서 모바일 게임 제작을 의뢰했다. 그래서 예전에 프로토타입으로 만들었던 햅틱 게임을 제안해 보려고 했다. 그래서 생각한 것인 자동차 경주 게임에 햅틱을 추가하는 것이었다. 몰입도를 높일 수 있고 모바일 환경에서 간편하게 즐길 수 있을 것 같았다. 제안서를 작성하기 위해 데모를 만들기 시작했지만, 중간에 육군 훈련소를 다녀오느라 제대로 마무리를 하지는 못하였다. 또한 3D 환경으로 구현하려다보니 모바일 기기의 성능 문제도 제약 사항이었다. 시도해 볼만 했으나 혼자서 감당하기에 큰 모험을 했던 것 같기도 하다. 아쉬움이 남지만 햅틱 게임이 럼블 카트(Rumble Kart)의 씨앗이 된 것처럼 럼블 카트도 언젠가 어떤 다른 도전의 디딤돌이 될 수 있을 것이라고 믿는다. 본 과제에서 사용한 촉감 생성 ..