주말에 있었던 Google I/O 2017 Extended in Seoul 를 다녀왔다. Mountain View, California 에서 진행된 Google I/O 키노트 내용의 일부를 한국에서 공유하는 자리였다고 볼 수 있는데 현지에서 참여하려면 2017년 기준으로 $1,150 의 입장료가 든다. 이번 행사는 google developer group (GDG korea) 에서 주최한 무료 행사이기 때문에 더욱 매력적이지 않나. 여튼 매우 관심있는 트랙이 몇 개 있었기 때문에 아침부터 서둘러 세종대로 향했다. 나름 두 번째 방문이라 어리버리 하지 않게 도착할 수 있었다.이른시간이라 아직 한적한 모습이다. 혼자 갔기 때문에 포토존은 그냥 관람용... 나중에는 사진 좀 부탁드려야겠다. 남는건 사진이라는데..
앞서 CloudML 개념에 대해서 살펴봤고, 이제 본격적으로 사용하는 방법에 대해서 기술하고자 한다. 우선 모든 예제는 우분투 16.04 에 Cloud SDK 를 설치한 환경에서 진행 되었다. CloudML 의 모든 것이 gcloud 명령어를 통해 진행되기 때문에 OS 의 환경에서 오는 차이는 없을 것이다. 이번 글에서는 CloudML 의 기본으로, 간단하게 Google Cloud Platform (GCP) 에 CloudML 서비스를 맛보는 것으로 마무리 하겠다. 사실 CloudML 자체가 너무 거대한 서비스이기 때문에 하나의 글에 모두 담는다면 처음 접하는 입장에서 스크롤이 상당한 압박으로 다가올 것으로 예상된다. 조금 더 우아하게 사용하는 방법이나 고급 스킬에 대한 부분은 별도의 포스팅으로 하는게 좋..
요즘은 콘퍼런스나 세미나에 다녀보면 머신러닝에 대해 언급하지 않는 곳이 없다. 하물며 비IT 쪽으로 가도 4차 산업혁명이라며 여전히 언급되는데, 그러다보니 다양한 분야의 사람들이 이 분야로 뛰어들고 있는 것이 현실이다. 하지만 그간 vim 만 돌아가면 되는 낮은 사양의 PC로도 문제 없었던 low 레벨 개발자들에게 이 분야는 잔인하기 그지없다. 머신러닝 분야에서 뭔가 해보려면 GPU 는 아니더라도 최소한 적당히 좋은 CPU 가 필요하기 때문인데, 내 경우가 그랬다. 구식 i3 cpu 로 할 수 있는 것이라고는 TensorFlow 에 첫 번째 예제로 등장하는 MNIST 가 전부였으니까. 다른 오픈소스를 돌려보기 위해 회사에서 몰컴(?)을 해보기도. 여튼 이런 환경에 단비 같은 소식이 있다. 바로 Googl..
로컬 PC 에 GCP SDK 를 설치하고 datalab 을 인스톨하면 쾌적한 환경에서 머신러닝 기술을 사용할 수 있는데 한가지 아쉬운 점이 있다. 기본적으로 datalab 의 연결은 localhost (127.0.0.1) 만 사용된다는 것. datalab connect 옵션으로 변경 가능한 부분은 상당히 제한적이고, 그나마 port 를 변경할 수 있는 정도이다. localhost 로의 연결은 일반적인 경우에는 문제 될 것이 없지만 내 경우에는 좀 특수한 케이스라 로컬 PC (1) 에 datalab 을 띄우고 로컬 PC (2) 에서 접근을 희망하는 케이스가 되겠다. (아마도 보안적인 요소 때문에 localhost 만 사용할 수 있도록 고정되어 있는 듯 하지만.)여튼, 다른 로컬 PC (2) 에서도 접근이 ..
Google Cloud Platform 은 기본적으로 web 에서 Cloud Shell 을 제공하지만 앞에서 살펴본 것 처럼 Cloud Shell 자체에 대한 사양이 높지가 않다. 또한 GCP 는 은근히 Cloud Shell 에 대한 의존도가 높기 때문에 Web에서 기본 제공되는 Cloud Shell 로 한계가 있겠다. 의존도가 높은 이유에 대해서 깊게 들어갈 필요가 없지만 가장 간단한 이유는 다양한 기능을 웹보다 터미널에서 빠르게 접근할 수 있다는 점이고 인터넷에 수많은 예제가 터미널 기준으로 설명되어 있기 때문이겠다.자, 이런 저런 이유로 GCP 는 사용자의 로컬 PC 에서 Google Cloud 의 모든 기능을 사용할 수 있도록 하기 위해 SDK 를 제공한다. 사실 이게 핵심이다. 이렇게 SDK 가..
Google Cloud Platform 의 매력을 뽑자면 빅쿼리, CloudML, 기계학습 등 여러가지가 있겠지만 그 중에서도 사용자가 가장 쉽게 접근할 수 있는 Vision API ( Google Cloud 기계학습 API ) 에 대해서 다뤄보도록 한다. 사실 Cloud Platform 을 사용하면서 아쉬운 점이 한글화 된 문서가 부족하다는 점이고 그것이 곧 사용장벽을 높게 만든다는 생각이 든다. 또한 어색한 번역 문서도 문제다. 여하튼, 이 글이 누군가에게 정말 쉬운 문서가 되었으면 하는 바람으로 최대한 쉽게 작성해본다. (그리고 대부분의 Vision API 를 설명하는 블로그가 node.js 기준으로 되어 있어서 내게는 쉽지 않았다.)우선 Vision API 를 사용하기 위해서 화면의 좌측 리스트 ..
어쩌면 가장 중요할 수도 있는 결제 메뉴에 대해서 살펴볼 시간이다. 많은 사람들이 Cloud 를 사용하면서 가장 걱정하는 부분이 사용자가 인지하지 못하는 사이에 사용량이 발생해서 청구되는 돈이겠다. 실수로 인스턴스를 종료하지 않았다던지, 버킷을 유지하고 있다던지 등등이 사유가 있겠다. 이런 부분에 대해서 Google Cloud 는 알림 기능으로 꽤 잘 대응하고 있으므로 걱정하지 말고 사용해도 되겠다. ( Amazon web service 도 마찬가지인 부분이다.)우선 결제 메뉴에 진입해서 화면을 살펴보도록 하자.개요에서는 현재 크레딧에 대한 상태와 결제 계정에 대한 정보를 한눈에 살펴볼 수 있겠다. Google Cloud 는 결제를 계정별로 하거나 프로젝트 별로 할 수 있다는 점을 숙지해놓으면 좋다. 우..
공공데이터 포털에 가면 OPEN API 를 다양하게 제공하는데 날씨에 대한 정보도 쉽게 찾아볼 수 있다. 잘만 활용하면 윤택한 생활이 보장되는데 이번에는 기상청에서 제공하는 날씨 API 를 슬랙과 연동해보았다.이전에 미세먼지 API 에 대해서 살펴보았는데 방법은 크게 다르지 않다. REST API 를 연동해서 필요한 정보를 우선 얻어야 하는데 당장은 기온(T1H) 와 하늘상태(SKY) 만 가져왔다.{u'category': u'LGT', u'baseTime': 1400, u'nx': 61, u'ny': 125, u'obsrValue': 0, u'baseDate': 20170614}{u'category': u'PTY', u'baseTime': 1400, u'nx': 61, u'ny': 125, u'obsrV..
Google Cloud Platform 저장소(Storage)에 대해서 살펴볼텐데, 여기 메뉴에는 딱히 어려운게 없다. "난 저장소를 사용할 일이 없는데?" 라고 생각할지 모르지만 여기 저장소는 Cloud 에 다른 compute engine 이나 특히 CloudML 에서 매우 유용하게 사용되므로 익혀두는 것이 좋겠다. 저장소를 사용하기 위해서는 화면 좌측 메뉴에서 Storage 에 접근하도록 한다.그럼 세 개의 메뉴가 보일텐데 설정은 Storage 에 access 할 수 있는 ID 를 제공하고 API 를 설정할 수 있는 메뉴를 제공한다. 전송은 Amazon S3(Simple Storage Service) 나 기타 서버와의 자료 전송을 위해 사용되는 메뉴다. 가장 중요한 브라우저는 기본 페이지로서 버킷을 ..
앞서 Cloud Shell 에 대해서 주섬주섬 살펴봤는데, 잠깐 요점을 remind 하면 Cloud Shell 은 Google Cloud Platform 을 터미널에서 사용할 수 있도록 도와주는 web Shell 이다. 대략 0.6G 의 디스크에 낮은 스펙의 f1-micro 인스턴스로 제공되기 때문에 그 안에서 기본 제공되는 gcloud 명령 이외에 무언가를 개발하거나 테스트하기에는 다소 무리가 있겠다.그런데 최근 datalab 이라고하는 막강한 interactive tool 을 알게되어 잘 사용하고 있었는데, 더 편하게 사용하고 싶어서 datalab 을 백그라운드로 돌리는 과정에서 의문이 시작되었다. 일단 Cloud Shell 에서 datalab 을 백그라운드로 돌리기 위해서 아래와 같은 명령어를 사용..
google cloud platform 은 GitHub 같은 형태의 소스코드 저장소를 로컬에서 지원하기 때문에 소스 관리가 용이하다. 또한 막상 GitHub 을 무료계정으로 사용하고 있어서 private 한 내용을 별도로 보관하고 이력관리할 필요가 있다면 GCP 의 저장소는 무척 유용하다. 사실 사용하기 위해서 대단한 스킬이 필요한 것은 아니지만 누군가의 진입장벽을 조금이라도 더 낮추기 위해서 포스팅해둔다. datalab 을 생성하면 기본적으로 저장소가 생성되는 듯 하고, 별도로 "저장소 만들기" 메뉴를 통해 생성할 수도 있다. 우선 여기 예시에서는 아래처럼 생성되어 있는 datalab-notebooks 라고 하는 이름의 저장소를 이용하는 방법에 대해서 알아보겠다.일단 별거 없다. "복제 URL"을 복사..
GCP (Google Cloud Platform) 은 웹 상으로 설정할 수 있는 모든 내용을 터미널에서 동일하게 컨트롤 할 수 있도록 Google Cloud Shell 을 제공한다. 계정만 있다면 무려 무료로 이용이 가능하다. 이 쉘은 Debian 계열의 64비트 머신인데 아래 보이는 것처럼 우측 상단에 터미널 아이콘을 눌러 접속할 수 있다.페이지 하단에 터미널이 열리는 것을 볼 수 있고, 새로운 윈도우로 열어 보면 편하다. 우선 이 Shell 환경은 f1-micro 라고 하는 Compute Engine VM 인스턴스인데 Shell 에서 사양을 조금 더 살펴볼 수 있겠다. 우선 디스크 정보를 살펴보자.약 25G 디스크를 사용하고 있으며 여분의 공간은 9.3G 정도 된다. 다음으로 CPU 를 살펴보자.In..
GCP (google cloud platform) 는 jupyter notebook 과 같은 솔루션인 datalab 을 제공한다. datalab 은 웹상에서 다양한 소스 구현이 가능하며 심지어 결과물의 시각화 까지 가능하게 한다. 이번에는 datalab 을 사용해보도록 한다. 우선 GCP 콘솔에 접속해서 우측 상단에 ( >_ ) 모양의 아이콘인 Google Cloud Shell 을 열도록 한다. GCS 는 GCP 에서 사용하는 대부분의 행위를 터미널에서 제어할 수 있도록 도와준다. 아이콘을 누르면 아래처럼 터미널이 열린다. Cloud Shell 은 f1-micro GCE 인스턴스를 사용하는데, 메모리가 무려 0.6 기가다. 여기 Shell 에서 뭔가를 해볼 생각은 접어두는게 좋다. 가급적 gcloud 관..
원문 링크 : https://kldp.org/node/75861이 글은 darehanl님이 작성하신 글인데 너무 주옥같은 내용이라 퍼왔습니다. 가급적이면 KLDP에 원문으로 읽어주시고, 필요하면 댓글은 그쪽에 달아주세요. 원문에 대한 예의입니다. :-) 그럴거면 왜 퍼왔냐는 질문은 댓츠노노! kldp에 혹여라도 천재지변이 생길까봐요? 글쓴이: darehanl / 작성시간: 금, 2006/12/01 - 2:19오후"How Samba was written"을 번역해보았습니다. 프로토콜을 역공학하는 기법들을 소개하는 글이며, 라이선스는 Creative Commons Attribution-Share Alike 2.0이고, 다행히 Tridgell님의 허락을 얻을 수 있었습니다.번역 이유는... 1 기말고사 공부하..
어느순간 아침마다 일어나서 미세먼지 농도를 인터넷에 검색하는 것이 일상이 되어버렸다. 일단 미세먼지 관련해서는 우리나라에도 문제가 있지만 중국의 영향이 크다. 앞으로 살아갈 우리 아이들의 미래가 걱정인데, 일부 주변 지인들은 앱을 통해 아침마다 미세먼지 수치를 조회 하기도 한다. 여튼 난 이런 모든 것들이 귀찮아졌고 그냥 알림을 받고 싶었기에 이번 일(?)을 시작하게 됐다.우선 미세먼지 농도를 알 수 있는 방법은 여러가지가 있겠지만 공공데이터포털에서 제공하는 정보를 사용하기로 했다. 오늘 날짜(2017.05.23) 기준으로 2,330 개의 OpenAPI 를 제공하는데 미세먼지 농도도 여기에 포함되어 있다.우선 이 데이터를 사용하려면 간단한 회원가입 절차가 필요하다. 아마도 인증 때문이겠지. 어렵지 않으니..
iconv 개론C/C++ 기준으로 개발을 하다보면 문자열을 특정 케릭터셋으로 컨버팅 해야하는 경우가 발생하는데 이때 주로 사용되는 library에는 libiconv라는 것이 있다. 사용법은 무척 간단한데 우선 오픈소스인 libiconv를 다운받고 컴파일 하고나서 링킹을 걸어 사용하면 되는데 여기서 이런 소소한 것들은 우선 스킵하도록 한다. 어렴풋한 기억으로는 소스는 단순히 configure와 make만 돌려도 사용할 수 있다. dynamic library는 기본으로 생성되고, static library는 configure에 옵션을 줘야 한다는 점을 기억하자. 마침 이러한 내용은 대부분 아래 링크에서 확인할 수 있다. http://www.gnu.org/software/libiconv/이렇게 컴파일해서 생성..
Gmail에는 재미있는 숨은 기능이 몇 가지 있다. 여기서 그 중에 두 가지를 알아보도록 하자. 메일 주소에 Plus(+) 기호 사용 Gmail은 자신의 메일 주소에 플러스 기호를 사용할 수 있다. 플러스 기호를 기준으로 @까지의 문자열은 무시되어 결국 내 메일함으로 들어오게 되는데 활용 방법이 다양하다. 가장 많이 사용되는 방법 중 하나가 플러스 이후 문자열을 기준으로 편지함을 구분 짓는 것. 그렇게 하면 편지를 자연스럽게 모아볼 수 있다.예를 들면 아래처럼 사용할 수 있다. test@gmail.com // 실제 사용자 계정test+mentor@gmail.com // 멘토 역할을 할 때 사용test+study@gmail.com // 스터디할 때 사용하는 주소test+info@gmail.com // 사이..
아마도 나와 유사한 업무를 하는 시스템 프로그래머는 대부분 회사 업무에 치여 다른 무언가를 한다는 것은 상상하기 힘들 것이다. 간혹 그렇지 않은 곳도 많지만 …여하튼 시간이 종종 생겨도 다른 무언가를 뚝딱뚝딱 만들거나 미뤘던 공부를 하면서 시간을 보냈는데 우연찮게 GitHub 프로젝트에 발을 담그게 됐다. 나의 첫번째 컨트리뷰트는 TensorFlow-kr 문서 번역. 영어가 능통해서 문장을 술술 풀어 쓰지는 못하고. 또한 TensorFlow의 구조에 대한 이해가 부족하여 일단 다른 사람이 번역한 내용의 소소한 오타 수정이나 마크다운 문법에 대한 오류를 정정해서 컨트리뷰트 하고 있다.컨트리뷰트에 대한 벙법은 홍콩과기대의 김성훈 교수님이 어떤 절차를 수행하면 되는지 너무나 상세히 동영상(Github Flow..
211 시스템 상태나 시스템 도움말 응답214 도움말 메시지 [수신자 사용법이나 특별한 비표준 명령어에 대한 정보; 이 응답은 사람에게만 유용하다] 220 서비스 준비 완료 221 서비스 종료된 전송 채널 250 요청된 메일 동작 확인, 완료 251 로컬 사용자가 아님; 로 전달 될 것이다.354 메일 입력 시작; 종료는 .421 서비스를 이용할 수 없음, 닫힌 전송 채널 [서비스가 종료되어야 한다는 것을 알고 있다면 이것은 모든 명령에 대한 응답일 수 있다] 450 요청된 메일 동작이 수행되지 않음: 메일박스를 이용할 수 없다 [예를들어, 메일서버가 바쁜 상태] 451 요청된 동작이 중단 됨: 처리 중 내부 오류 452 요청된 동작이 수행되지 않음: 시스템 저장소가 충분하지 않음500 구문 오류, 인식..
- Total
- Today
- Yesterday