한 해 동안의 GDG 생활을 마무리 하는 의미로 구글에서 송년회를 열었다. 참석자는 2017년도 동안 Google 행사에서 발표를 했거나 스탭 활동을 하신 분들, 그리고 GDG 운영진으로 구성되었다. 난 아마도 Google Cloud Platform Korea User Group 운영진 자격으로 초대받은 듯 하다. 나중에 들어보니 GCP 도 GDG 라고 (...) 구글 코리아 22층에 도착하니 이미 파티 준비가 끝나있고 명찰과 추첨 티켓을 부여 받았다. 추첨 티켓은 DevFest 재탕인 듯한. ㅎㅎ 내부는 이미 파티 분위기 물씬. 크리스마스 & 연말 분위기 물씬. 많은 음식과 맥주가 제공 되었는데 평소 구글 식당의 퀄리티에는 많이 못미친다는 평을 들었다. 식당 내부는 생각보다 규모가 작았다. 사실 ..
Google Cloud Platform (GCP) Users' United Conference 2017 행사가 지난 12월 22일 성황리에 마무리 되었다. IT 콘퍼런스 오거나이저로 참여한 것은 처음이었는데 정말 멋진 경험이 되서 내심 무척 기쁘고 뿌듯하다. 이 감동을 잊혀지기전에 기록으로 남겨두도록 한다. - 매우 짧은 시간동안 이것저것 나름 구색은 다 갖출 수 있었는데 그 이면에는 어떤 행사던지 마찬가지겠지만 각고의 노력을 해준 스탭이 있겠다. 이번 행사도 총 13명의 준비위원회와 3명의 자원봉사자분들이 함께했다. (++1 명의 전폭적인 지원. 마음껏 행사를 준비해보라는 준비위의 어머니) - 준비위 각자 맡은 역할이 있었는데 그 크기에 상관없이 묵묵히 수행하신 분들 정말 대단하다. 오프라..
회사에서 자체 메신저 솔루션이 없으면 차선으로 선택되는 것이 네이트온, 카카오톡, 구글 행아웃 등이 있겠다. 하지만 개인적인 용도로 사용하던 메신저를 회사에서 겸용으로 쓰는 것은 불편함이 이만저만이 아니다. 우선 제일 문제는 직원 등록 과정에서 사생활이 노출된다는 것이고 두번째는 애초에 기업용 메신저가 아니기 때문에 기능이 많이 부족하다는 것이다. 이러한 시국이 업무 메신저의 춘추전국 시대를 열었고 유니콘 기업(기업가치 10억 달러 이상)인 슬랙을 탄생시키기에 이르렀다. 기본 채팅은 물론이고 파일전송, 코드 등록, 다양한 webhook 연동 가능, markdown 지원. 부족한게 없을 정도다. 이리하여 슬랙은 다양한 커뮤니티까지 점령해갔다. 많은 페이스북 사용자 그룹들이 슬랙을 사용한다. 또한 기업에서도..
앞서 CloudML 의 개념과 기본적인 사용 방법에 대해서 살펴보았고 이번에는 조금 더 실전에 가까운 글을 발행하도록 한다. 기본편에서 로컬 테스트와 클라우드 테스트를 진행했지만 코드의 내용이 단순히 TensorFlow 의 버전을 확인하는 수준이라서 실전에서 사용하려면 막막하거나 여러 장애 요소가 숨어있다. 이번 글에서는 TensorFlow 홈페이지에 있는 샘플 예제 실습을 통해 CloudML 의 울렁증을 극복할 수 있도록 한다. 예제코드 준비 우선 샘플 예제 사용을 위해 TensorFlow 소스코드를 다운로드 받도록 하자. 다운로드 방법은 무엇이든 상관없고 여기서는 GitHub 을 통해 받는 것으로 한다. 소스코드를 받았으면 이제 샘플 예제를 살펴보아야 하는데 예제에 대한 자세한 설명은 홈페이지를 참고..
Google 에서 또다시 엄청난 것을 일반에 공개했다. 바로 Colaboratory 라는 것인데, Jupyter Notebook 의 협업판 이라고 생각하면 되시겠다. 원래 구글 내부에서 직원들이 사용하던 것인데 이번에 신청만 하면 바로 사용이 가능하게 되었다. (기본 제공은 아직 아닌듯.) 신청하면 1시간 내에 accept 되니 일단 선신청하고 용도는 천천히 생각해보시라. 신청은 아래 URL 에서 진행하면 된다. 신청: https://colab.research.google.com/ 자, 그럼 도대체 Colaboratory 가 무엇인지 조금 더 살펴보도록 하자. Google 에서 기본적으로 제공되는 많은 문서가 있는데 이것들의 장점이라고 하면 로컬 PC 가 아닌 클라우드 환경에서 작업이 되기 때문에 공유가..
캐글(Kaggle)은 2010년 설립된 예측모델 및 분석 대회 플랫폼이다. 기업 및 단체에서 데이터와 해결과제를 등록하면, 데이터 과학자들이 이를 해결하는 모델을 개발하고 경쟁한다. 2017년 3월 구글에 인수되었다. (위키백과) 데이터 분석/엔지니어가 각광받고 머신러닝/딥러닝 기술이 발전함에 따라서 매우 빠른 속도로 성장하고 있는게 바로 캐글 플랫폼이다. 플랫폼 안에는 다양한 데이터가 존재하고 다른 사용자/팀의 코드(커널)와 설명을 확인할 수 있기 때문에 많은 것을 배울 수 있다. 말하자면 개발자가 코드로 이야기 하기 위해서 GitHub 을 사용 하듯이 데이터를 다루는 사람은 캐글로 이야기 한다. 그렇다면 이러한 캐글 플랫폼에는 어떤 것들이 있고 어떻게 사용할 수 있는지 천천히 살펴보도록 하자. htt..
육아를 하기로 하고 잠시 쉬고 있는데 직장생활을 할 때보다 더 바쁜 것 같다.대부분의 시간은 처음 의도한대로 육아에 투자하고 있지만 기타 여러가지를 시작했다. GCP 기반으로 텐서플로우 강사 활동 - 매주 목요일 행아웃, 약 8주 예상 - 스터디원은 10명 정도. 캐글 대회 참여 - 팀을 이뤄서 이것저것 시도. - 2018년 1월이 대회 종료라 여유가 있지만 잘 알지 못하고 익숙하지 않은 분야라 많이 헤매고 있음 - 하지만 캐글 프로세스를 익히고 있는 것만으로도 꿀잼. 여러 직군의 팀원이 있어서 새로운 툴과 이것저것 많이 배우는 중. 도서 리뷰 - 한빛미디어 도서 리뷰 중 (사놓은 책도 못읽고 있는데...) Google Cloud 사용자 그룹 행사 준비 - 준비위원회로 몇가지를 담당하기로 해서 신경을 곤..
*NIX 머신에 SSH (혹은 Telnet) 로 원격 접속을 하고 프로세스를 백그라운드로 실행하는 경우에 로그아웃(exit)시 실행 됐던 프로세스가 중지 되버리는 현상을 보게 된다. 이는 원격으로 접속한 Shell 이 SSH 연결을 끊는 경우 종료되면서 자식 프로세스에 모두 STOP 시그널을 전송하기 때문인데 이것을 회피하는 몇 가지 방법을 기술한다. 의존 관계 없이 백그라운드로 실행 prog.sh > /dev/null >2&1 & 모든 output 을 생략하고 백그라운드로 실행. 부모와 Shell 과 의존이 없기 때문에 SSH 연결이 종료 되어도 prog.sh 은 계속 실행 상태를 유지한다. nohup nohup prog.sh & 말 그대로 HUP 신호를 무시하는 명령어이다. 보다 자세한 설명은 위키를..
빅데이터가 유행하고 뒤이어 머신러닝, 딥러닝의 시대가 오면서 데이터 분석 분야가 핫해지고 있다. 그에따라 데이터 분석가, 데이터 엔지니어의 수요가 많아지고 있는데, 한빛미디어에서 그 직업군의 길라잡이가 되어주는 책이 나왔다. Foundations for Analytics with Python파이썬 데이터 분석 입문 페이스북 데이터 과학자로 근무했던 Clinton Brownley 의 책이 원서이고 한창진/이병욱 님이 번역을 하셨다. 번역서지만 훌훌 읽는데 무리가 없다. 구성이 책은 파이썬이라는 프로그래밍 언어를 기본으로 데이터 분석을 다룬다. 우선 프로그래밍 기초가 없는 독자를 대상으로 했기 때문에 1장에 "파이썬 기초" 를 시작으로 하고, 2장에서는 CSV 파일을 다루는 기법을 소개한다. 3장은 엑셀 파..
데이터를 다루는 모든 사람들의 축제인 데이터야놀자(이하 데놀)를 다녀왔다. 다른 콘퍼런스와 다르게 데놀은 말그대로 놀기 위해 "데이터"를 핑계로 모이는 행사이다. 그간 많고 적은 세미나, 콘퍼런스를 다녀봤지만 이렇게 흥나게 노는 행사는 처음이다. 또한 이번에는 일반 참여자가 아닌, "자원봉사자"로 참석하게 됐는데 덕분인지 새로운 세계를 경험하고 뜻 깊은 시간을 보낼 수 있었다. 그럼 그날의 현장을 살펴보도록 하자. (참고로 데놀은 현재 3년째 10월 두번째 주의 금요일에 진행되고 있고 매년 큰 행사로 발전하는 중이다) 시간표에서 볼 수 있듯이 매우 흥미로운 트랙들이 즐비해있다. 참여하는 우리는 흥만 챙겨서 즐기기만 하면 된다. 행사장은 홍대에 있는 한빛미디어 신사옥에서 진행됐다. 집에서 생각보다 너무 멀..
python 에는 다차원 배열을 다루는 numpy 라는 유용한 라이브러리가 있는데 여러 분야에서 강력하게 사용될 수 있으므로 사용법을 익혀두도록 한다. 특히 머신러닝의 연산과정을 이해하기 위해서는 필수라고 할 수 있겠다. 이번 포스팅은 실습코드가 많기 때문에 특별히 Jupyter notebook 을 통해 내용을 기록하도록 한다. numpy 모듈 사용¶우선 실습(혹은 사용)을 위해 numpy 를 import 하도록 한다. 설치되어 있지 않다면 주석처럼 설치하면 된다. In [1]: # pip install numpy import numpy as np numpy 모듈을 불러와서 앞으로 np 라는 이름으로 alias 하겠다는 의미 정도로 생각하면 좋다. numpy 배열의 생성과 이해¶ In [2]: arr =..
새로운 버전의 datalab 이 나오면 많은 것들이 변경이 된다. 이를테면 지원하는 python 버전이라던가, tensorflow 같은 모듈의 버전이라던가 말이다. 당연히 최신 버전이 안정성 측면에서도 좋고, 새로운 모듈을 사용할 수 있다는 점에서도 매력적이기 때문에 업그레이드를 하려고 하는데 방법을 알기 쉽지 않다. 우선 웹 콘솔에는 그러한 기능이 보이지 않는다. 사실 제일 먼저 떠오르는 아이디어는 datalab 인스턴스를 새로 만드는 것인데, 기존에 작성했던 notebook 에 마음이 쓰인다. 그간 작성한 notebook 이 몇 갠데 새로 인스턴스를 만들라니! 뭐 이것도 노가다(?)로 하나씩 옮기면 되긴 하겠지만 말이다. 그래서 여기 datalab 버전을 업그레이드 하는 조금 더 스마트 한 방법을 소..
머신러닝/딥러닝 쪽에 공부를 시작하면 필연적으로 봐야하는 책이 한빛미디어에서 출간되었다. 제목부터가 심상치 않다.Deep Learning from Scratch 밑바닥부터 시작하는 딥러닝우선 이 책은 일본에 원저를 둔 번역서인데 내용을 훌훌 읽어내려가는데 불편함이 없다. 이미 5쇄까지 발행된 상태기 때문에 오탈자나 문맥의 어색함도 찾기 힘들다. 파이썬을 기반으로 머신러닝의 이론과 구현에 집중하고 있는데 책의 서론에는 파이썬의 간단한 설치부터 변수, 사용법등이 기술되어 있다. 파이썬 입문서가 아니기 때문에 파이썬 이론에 대해 책을 비판할 필요는 없다. 이미 최소한의 내용으로 충분히 잘 설명하고 있지만 이론이 더 필요한 사람은 그에 적절한 책을 보는 것이 좋겠다.책의 모든 예제는 이미 역자의 GitHub 에..
얼마전에 .. 그러니까 약 두달 전쯤에 비밀번호 노출을 막을 수 있는 방법에 대한 아이디어를 생각하는 시간을 갖은 적이 있다. 보안업체에서는 이용하는 웹 사이트별로 비밀번호를 다르게 설정하거나 특수문자 등을 섞어 암호비도를 높이는 방식에 대해 언급을 하고 있는데 이건 분명 잘못된 방향이다. 정작 비밀번호를 설정한 당사자가 그 비밀번호를 기억하지 못하는 사태가 자주 발생된다. 더욱이 수개월에 한번씩 비밀번호 변경을 강제해버리면 나 조차 모르는 "비밀번호"가 되버리는거지. 보안은 불편하면 안된다.사실 우리가 비밀번호를 설정하는 이유는 매우 간단하다. "내 계정은 나만 사용할 수 있다." 라는 너무나 당연한 이유를 지키기 위해서다. 이걸 역설적으로 보안적인 측면에서 생각한다면, 내가 아닌 경우의 접근은 차단하..
python 이 매력적인 (많고 많은) 이유 중에 여기서 두 가지 뽑자면,◎ 하나의 머신에서 독립적인 가상환경 (여러가지 방법으로) 구축이 쉽다. ◎ 웹에서 강력한 인터프리터 IDE (jupyter notebook)를 사용할 수 있다.우선 첫 번째 언급 된것 처럼 우리는 하나의 머신(PC, 서버, 클라우드 등)에서 로컬 환경을 더럽히지 않고 독립된 가상공간을 만들어 python 프로젝트를 운영할 수 있다. 이 말의 뜻은, 흡사 virtualbox 처럼 hostOS 위에 가상의 VM 을 올려서 독립적으로 운영하는 것과 유사한 개념으로 볼 수 있다. hostOS 위에 올라간 VM 은 서로 간섭 없이 운영될 수 있다. 즉, 두 개의 VM 에 각각 설치된 모듈이나 라이브러리는 다른 VM 에 영향을 주지 않는다 ..
한빛미디어에서 머신러닝 시대를 준비하는 사람들을 위해 엄청난 책이 번역되어 발간되었다. 책의 이름은 신경망 첫걸음. 책의 표지에 눈에 띄는 문구가 있다. 수포자도 이해하는 신경망 동작 원리와 딥러닝 기초아마도 많은 독자들이 이 문구에 매혹되어 책을 구매 했을 것이다. 책은 Neural Network 의 원리부터 신경망 구현까지 천천히 우리를 안내한다. 그 길을 그대로 따라가다보면 어느 순간 머신러닝의 "hello world" 라고 할 수 있는 손 글씨체 인식인 MNIST 를 구현하게되고, 나아가 성능 개선을 위한 핵심 포인트까지 배울 수 있게 된다. 우리가 머신러닝이나 딥러닝을 하면서 자주 접하게 되는 단어도 매 순간순간 적절한 위치에 배치되어 이해를 도와준다. 솔직한 이야기로 책의 표지에 있는 "수포자..
OpenSource 를 보거나 동적 메모리 관련 교육을 살펴보면 아래와 같은 코드를 종종 볼 수 있다. 아래 코드는 사용한 메모리를 해제하는 구문이다.free(pointer); pointer = NULL; 사실 free 만으로 메모리는 해제되지만 문제가 되는 부분은 해제된 메모리 영역이 우연찮게 다른 곳에서 사용되는 경우 프로그램의 오동작을 피하기 어렵다는 것. 또한 디버깅에도 쉽지 않다. 아래 코드를 통해 극단적인 예시를 살펴본다.#include #include #include int main(void) { char *str = NULL; int *addr = 0; str = (char *)malloc(10); strncpy(str, "test", strlen("test")); printf("str(%..
Google Cloud Platform (GCP) 가 막강한 이유중에 하나가 이미 잘 만들어진 API 를 기반으로 제2, 제3의 서비스를 손쉽게 만들 수 있기 때문이겠다. 많은 전문가들의 이야기처럼 지금 세상은 유용한 API 에 대해 실제 내부 동작을 몰라도 그 서비스를 wrapping 하는 모듈을 만들어 장사를 하는 세상이다. 이렇듯 누구나 쉽게 사용할 수 있도록 소프트웨어를 API 형태로 배포해서 서비스하는 것을 보통 SaaS (Software as a Service) 형태라고 칭하는데, 이번에는 GCP 에서 제공하는 대표적인 SaaS 중 하나인 speech api 에 대해 살펴보고 사용해보도록 하겠다. - 앞서 이야기한 SaaS 에 대해 설명하는 재미있는 링크를 여기 첨부하도록 한다. 개념을 잡는데..
나는 태생이 임베디드 Low Level language 개발자로 웹 언어와는 친하지 않다. 하지만 요즘 패러다임이 웹에 엄청나게 집중되어 있고, 이제는 한 개 종목만 잘해서는 살아남기 힘든 시대가 되었기에 슬슬 관심을 갖고 공부하는 중이다. 그러던 중에 우연치 않게 한빛미디어 리뷰의 기회로 "러닝 자바스크립트" 를 만난 것은 행운일지 모른다. 자바스크립트 표준이라는 것 자체를 몰랐기 때문에 ECMAScript 6 (ES6) 표준이라는 것을 접근하는데 어려움이 없었다. (배경 지식이 없이 깨끗한 백지 상태였기 때문일지도 모른다) 책을 옮긴 한선용씨는 이 책의 대상을 이렇게 정의 한다. 이미 자바스크립트를 어느 정도 이해하고 있으며 새 기술에 관심이 있는 독자에게는 딱 알맞은 책이고, 자바스크립트는 잘 모르..
- Total
- Today
- Yesterday