vim 에서 개발을 하다보면 여러줄에 걸쳐 동일한 메시지를 입력해야 하는 경우가 한번씩 있다. 그게 주석처리 문자( // )일 수도 있고, 혹은 메시지 추가일 수도 있는에 아래에서 그 방법을 살펴보도록 하자.우선 기본적으로 블럭 지정을 할 수 있어야 한다. 멀티라인에 커맨드를 날리기 위해서는 Ctrl + v 로 멀티라인 커맨드를 적용할 블럭을 지정하고, Shift + i 로 vim 을 편집모드로 만든다. 그리고 수정 하려는 문구를 추가하고 ESC 를 두 번 눌러주시면 된다. 필요하면 아래 영상도 참고해보도록 하자. 참 쉽다. :-) 멀티라인에 탭 같은 공백을 넣을 때는 아래 방법이 더 편하다.- { ... } 블록 시작이나 끝에서 >% - 숫자 + '>>'
신입/경력 구분없이 치열한 경쟁을 뚫고 입사하는 것은 박수받아 마땅하지만 나는 회사에 수습기간 제도를 찬성한다. 수습제도를 찬성하는데 특별히 대단하거나 그럴듯한 이유는 없다. 단지 우리 면접관들이 걸러내지 못한 부분을 함께 일하는 동료들이 평가 해야한다는 의견이다. 여기서 동료평가는 인성이나 조직의 적합성을 체크하는 부분과 철저하게 능력을 평가하는 부분으로 나눠져야겠다. 그리고 이 두가지 평가를 적절하게(6:4 라던가)조합해서 최종 합류 여부를 결정하면 된다. 어쩌면 누군가에게는 잔인한 방식일지 모르지만 한편으로는 기존 재직자를 지켜 줄 수도 있을거다.
지난번 구글 클라우드 스터디잼의 두번째 코스인 심화반 코스를 통해 스터디를 이어나갔다. 1 차 스터디잼때 인원에 비해 많이 줄었지만 학구열 만큼은 여전했던 스터디. 어느덧 종강이 앞으로 다가왔다. ( ※ 스터디잼은 구글 클라우드에서 2018년에 지원하는 5개의 코스로 제공되는 클라우드 교육 프로그램이다. ) 1 차는 퀵랩을 지원받아 Google Cloud Platform 의 많은 것들을 실습할 수 있었고, 2차 심화반은 코세라 강의를 통해 학습할 수 있었는데 강의 하나당 가격이 대략 $50 정도 된다. 이 강의가 모든 스터디 구성원들에게 제공된다니 입이 쩍 벌어진다. ( 아직 3차 ~ 5차는 미공개 ) 한편 코세라 강의는 총 세 개의 코스를 제공 받았는데, GCP 의 기본적인 인프라를 배우는 Google..
워라밸에 대한 잡설 갑자기 잡설이 하고 싶어서 휴대폰 키보드를 뽑아들었다. 요즘 직장인 사이에 가장 핫한 단어인 Work and Life Balance 에 대해서 써볼까하는데 일과 삶의 균형쯤으로 해석하면된다. 혹자는 본인이 좋아하는 일을 하는데 삶과의 균형을 이야기하는 것 자체를 부정하기도 한다. 하지만 내 생각은 조금 다르다. 저녁이 있는 삶이라는 이야기를 꺼내지 않을 수가 없는데 특히 가정이 있는 경우 더욱 그렇다 (자취생에게도 필요한). 기성세대의 경우 대부분 집과 멀지 않은 곳으로 직장을 다니며 퇴근 이후 여유로운 생활을 즐길 수 있었다. 하지만 우리 지금 세대는 어떨까? 내 주변만 봐도 1시간 출퇴근 거리는 기본으로 깔고 들어간다. 대부분의 IT 회사가 서울에 즐비해있고 집값 문제는 여기서..
나름 유년기때는 수학에 대한 자신감이 퍽 있었고 곧 잘 했었는데 손에서 놓게되니 자연스럽게 잊혀져갔다. 단순히 요즘 머신러닝 때문에 수학을 다시 잡으려고한건 아니고 아이들의 교육이 관심을 갖다보니 쉬운 개념부터 다시 쌓아올리자는 생각에 서점을 들렀는데 마침 상상력을 마구 자극하는 수학 책을 발견. “한번 읽고 평생 써먹는 수학상식 이야기” 되시겠다. 1+1=2 라는 증명을 시작으로 여러가지 이야기를 풀어내는데 작가의 지식 깊이가 보통이 아니다. 꽤 쉽게 이야기를 풀어내고 있으며 내용이 깊어질 것 같으면 어느새 화제가 전환된다. 특정 증명에 대한 깊이있는 내용을 다루는게 아니라 다양한 이야기를 한정된 책장 안에서 풀어내야하기 때문일텐데 그걸 알고 보면 내공이 보통이 아니다. 총 3부로 구성되어 있는 목..
지난번 글( 서버리스 Cloud Functions 사용하기 ) 에서 Cloud Functions 의 전반적인 내용에 대해서 훑어보았다. 작은 모듈 단위의 프로그램을 서버 구동 없이( 엄밀하게는 사용자가 신경 쓸 필요 없는 / 신경 쓸 수 없는 ) 사용할 수 있는 서버리스의 장점에 대해서 이야기를 했었는데 이번에는 그 한계에 대해 잠시 살펴보고 비판해보도록 하자. 이렇게 비판하는 정보를 공유하는 이유는 한계를 모르는 상태로 Serverless 서비스를 운영하는 것은 매우 위험하다고 생각하고 있기 때문이다.Google Cloud Functions 은 Serverless 의 역할을 충실히 수행하며 작은 모듈 단위를 클라우드 위에서 동작 시키는데, 타사의 FaaS 대비해서 무엇이 좀 많이 부족하다. 그렇기 때문..
이번에는 Cloud Functions 에 대해서 살펴보는 시간을 갖도록 한다. 기능은 단어 그대로 클라우드 위에 함수를 등록하고 트리거 ( Trigger )를 걸고 사용하는 개념이 되겠다. 쉽게 이야기해서 이벤트가 발생되면 등록해놓은 함수가 동작하는 방식이겠다. 이제 더 이상 작은 모듈을 위해 GCE 를 운영할 필요가 없겠다. Cloud Functions 은 서버리스로 동작하니까. AWS 에서는 Lambda 가 같은 개념이 되겠다. 아무튼, 서비스목록에서 Cloud Functions 를 선택해서 기능을 직접 사용해보도록 하자. 한국어로 봤을 때는 "Cloud 기능" 을 확인하면 된다. ( 근데 왜 아직도 베타인지? 는 아래쪽에서 추측해보도록 하자. )Cloud Functions 메뉴에 최초 진입시에는 A..
사진 관련된 책은 구경도 못해봤는데 한빛미디어를 통해 재밌는 책을 읽을 수 있게 되었다. 그것도 평범하지 않은 드론으로 사진 쵤영하는 내용이다. 드론을 이용한 사진 촬영에 대한 내용을 다루고 있고 내용의 대부분이 그렇게 찍힌 사진들이나보니 정말 시간 가는줄 모르고 가슴 따뜻한 사진들을 즐길 수 있다. 요즘말로 책 읽는데 부담이 없다. 사진각도와 피사체나 풍경을 담아내는 다양한 기법이 소개되는데 꿀팁이 아닐 수 없다. 책의 내용은 당연히 사진이 들어가므로 올컬러이다. 재질도 매끈해서 사진 감상에 감미를 더 해준다. 개인적으로 아쉬운 점이 있다면 책을 덮고나서 사진 촬영 가능한 드론에 뽐뿌가 오게 된다는게 (...). 이겨낼 수 있거나 이미 드론이 있다면 이 책을 통해 드론 사진한번 제대로 찍어보는 것은..
개인적인 업무 자동화를 위해 GCE 위에 python crawler 를 하나 개발하고 있는데 이게 영 잘 안되는거다. 처음에는 selenium 을 잘못 사용했나 싶기도하고 HTML 을 잘못 파싱했나 싶은 의심도 들었지만 해당 코드가 Local PC 에서는 정상적으로 동작 하는 것이 확인되었다. 무엇이 문제였을까? 문제를 확인하기 위해 에러 포인트 위치에서 아래와 같이 selenium 의 스냅샷 함수를 이용해서 페이지의 실제 화면을 확인해보았다.browser.get_screenshot_as_file('error.png') 확인결과 놀랍게도 아래와 같은 내용이 확인되었다. 왜 계정이 이렇게 되었는지는 알 수 없다. 아니면 Gmail 자체적으로 클라우드에서의 접근을 막고 있는지도 모른다. 일단 로컬에서 htt..
람다, 서버리스의 첫걸음을 통해 AWS 의 Lambda 서비스에 대해 간략하게 소개를 했다. 이번에는 조금은 더 심도 있는 이야기를 할 텐데 람다의 구조와 원리를 파악하고 자연스럽게 그 한계를 깨우치도록 하자. 내부 로직을 어느정도 이해하고 있어야 어떤 상황에 서버리스( Serverless ) 람다가 독이 되는지 알 수 있게된다. 어설프게 이해하고 사용 하다가는 독이 된다는 사실로 시작해보자.서버리스는 없다람다는 AWS 에서 서버리스를 대표하는 서비스 중 하나다. 앞선 글에서도 그렇게 밝혔고. 근데 이제와서 서버리스는 없다니 이게 무슨 소리지? 이건 클라우드로 넘어오면서 생긴 개념인데 EC2 와 같은 IaaS 는 이미 사용자에게 서버를 클라우드 상에서 제공하며 IDC 상황에서 겪었어야 했던 수 많은 작업..
지금까지 읽었던 DevOps 책 중에 가장 재미있게 빠져들어 읽은 책인 것 같다. 정말 Dev와 Ops를 반반 정확히 섞어 놓은 느낌의 이 책은 결코 쉬운 책은 아니다. 커널 파라미터나 훌훌 넘어가는 리눅스 커맨드에 익숙하지 않다면 옆에 구글검색을 끼고 봐야할 것이다. 가령 strace, ftrace, tcpdump, wireshark 등 아주 짤막한 소개로만 넘어가고 바로 실전이다. 하긴, 이런 명령어만 다뤄도 책 한권은 뚝딱 쓰여진다. 아무튼 요즘 DevOps 는 이도저도 아닌 어정쩡한 포지션으로 남는 경우를 종종 보는데, 진정한 DevOps의 의미를 깨닫게 해준다. 클라우드에서 제공해주는 가성머신 위에 셸 스트립트 몇 개 돌린다고 DevOps가 아니다. DevOps라면 최소한 EC2나 GCE ..
아주 오래전부터 있던 개념이지만 클라우드와 함께 MSA 가 뜨거워지자 그 다음 단계로 Serverless 가 등장했다. Rest API 처리나 어차피 평소에 할일없이 빈둥거리는 서버를 없애고 인스턴스 내부에서 소소한 역할을 수행하던 것들을 함수처럼 클라우드에 등록해놓고 필요할 때 적절한 이벤트 트리거를 걸어 사용하는 방식이 람다에 대한 짧지 않은 소개가 되겠다. AWS lambda 는 GCP 에서는 Cloud Function 이라는 이름으로 존재하는 기능이다. 아무튼 여기서 람다에 대해 살펴보고 작은 모듈을 등록해서 사용까지 해보도록 하자. 우선 AWS console 에 접속해서 lambda 서비스를 검색하도록 하자. 검색후 서비스에 진입하게 되면 EC2 나 다른 서비스와 다르게 다소 심플한 메뉴로 구성..
지난번에 npm 과 pm2 에 대해서 살펴봤는데 이번에는 nvm 에 대해서 알아보도록 하자. 우리가 오픈소스를 개발한다면 readme 에 당연히 노드의 버전을 명시한다. 그리고 해당 오픈소스를 사용하려는 사용자는 (가급적) 명시된 노드 버전에 맞춰서 프로젝트를 돌려볼텐데 내가 설치한 버전과 상이한 버전의 노드를 실행시키기 위해서는 어떻게 해야 할까? 노드를 지우고 새로 설치? 혹은 파이썬의 virtualenv 와 같은 가상 환경이 존재할까? 아니, 그럴필요가 없다. 여기 노드 버전을 매니징 할 수 있는 nvm ( Node Version Manager )이 있다. ( 노드 공식 프로그램은 아니고 개인이 만든 프로그램인데 사실상 공식처럼 사용한다 )nvm 을 통해 우리는 다양한 노드 버전을 한 개의 시스템에..
노드의 강점은 그 홈페이지에서 찾아볼 수 있는데 아래와 같이 정의되어 있다.Node.js 는 이벤트 기반, 논 블로킹 I/O 모델을 사용해 가볍고 효율적입니다.하지만 이 강력함으로 인해 개발자는 곤욕을 치루게 되는데 그 중 하나가 콜백지옥이다. 콜백지옥이 발생하는 근본적인 이유는 노드의 비동기를 해결하고자 할 때 중첩 콜백이 이어지기 때문인데 왜 콜백을 중첩해서 사용해야 할까? 이 문제에 대해 나는 "우리 개발자 뇌가 아직 동기적으로 코드를 이해하려고 하기 때문" 이라고 이야기한다. 노드를 더 깊게 잘 이해하려면 비동기에 대한 이해를 높이고 중첩 콜백을 풀어야겠다. 각설하고 노드는 비동기에 특화되어 있는 플랫폼이다보니 무조건 동기적으로 처리해야만 하는 코드를 풀어내야 할 때 난항을 겪게 된다. 예를들어 ..
자자.. 우선 마음의 준비를 하고 리뷰를 보는 것이 좋다. 왜냐면 작정하고 책 광고를 할 것이기 때문인데 아래 내용을 모두 읽고 납득 했으면 하는 바람이다. 그리고 이 글로 인해 책이 조금이라도 더 팔린다면 고객 니즈로 받아들여질테고 GCP 관련된 양질의 도서가 더욱 많이 나오겠지. (노림) 구글 클라우드를 시작하려는 많은 사람들이 갖는 두려움(!)은 관련된 문서가 상당히 부족하다는 것이다. 플랫폼 자체가 매우 빠르게 업데이트되기 때문에 블로그 등의 글은 금새 과거의 유산이 되버린다. 한편 문서가 부족하다는 것은 클라우드 업계 1위 아마존에 비해서인데 아무튼 그간 GCP 관련해서 한글 책은 국내에 유일하게 한권만 존재했다. 그 책은 다음 링크를 통해 확인하면 된다. : 빠르게 훑어보는 구글 클라우드 ..
이어폰이라고는 핸드폰을 구입하면 따라오는 번들밖에 써본적이 없고 헤드셋은 기껏 비싼놈을 샀더니 귀에 땀이차고 무게 때문에 목이 아파서 잘 사용하지 않게 되더라. 그러던 도중에 만난 애플의 에어팟. 충전 해야되는 귀차니즘을 감당할 수 있을까 하는 의구심이 들었지만 하루 써보고 바로 신세계를 경험했다. 진부한 장점을 이야기하자면 일단 상당히 가볍다. 그냥 평소 사용하던 이어팟을 꼽고 있는 느낌. 그 느낌 그대로 쉽게 빠지지도 않는다 (이건 사람 귀의 생김새에 따라 사용성이 다를지도). 그리고 이어팟처럼 거추장스러운 선이 없다. 블루투스 이어폰을 사용해본 사람만 알 수 있는 자유로움이 있다. 여기서 나아가 전화할 때 통화감이 상당히 좋다. 상대방이 내가 에어팟으로 통화하고 있다는 사실을 눈치채지 못할정..
데이터 분석에는 다양한 데이터베이스가 사용되고 단연 SQL 은 빠질 수 없는 소스일 것이다. 사실 DBA 도 아니고 데이터는 적당히 때려넣고 쿼리 날라가는 것만 확인되면 OK 인 것처럼 지내왔다. (글의 흐름을 위한 과장이고 엔진 튜닝이나 쿼리 튜닝도 소소하게 진행했다 ^^;;) 아무튼 SQL 책이라고는 대략 8년전 회사에서 굴러다니는 MySQL+PHP 를 쿡북처럼 잠깐잠깐 필요할 때 살펴본 것이 전부라 전문적인 지식은 아무래도 많이 미흡했는데 그런 부족한 부분을 든든하게 채워주는 책이 한빛미디어에서 출간되었다. 바로 데이터 분석을 위한 SQL 레시피. 이미 SNS 나 주변에서는 좋은 책이라는 평가로 한바탕 난리가 난 책이다. 하지만 그다지 호락호락하기 볼 수만은 없는 책이기 때문에 SQL과 친숙하지..
Node.js 를 올초에 처음 접하면서 바이블이 될만한 책을 못봤다. 인터넷을 뒤적거려도 근사한 자료는 사막에서 바늘 찾는 것보다 어려웠는데 이유로는 대부분의 글이 자바스크립트에 대한 배경지식이 있는 독자 기준으로 설명되고 있으며 어려운 개념을 설명하는 글은 글쓴이 본인도 무슨말을 하는지 모르는 상태에서 어설프게 지식을 공유하는 경우가 되시겠다. 그러던 도중 재미있는 책을 만났다. 책은 제목처럼 200개의 예제를 통해 노드를 차근차근 정복해나가는데 예제의 종류가 무척 다양하고 쉽게 다뤄지고 있어서 쉽고 재밌게 훌훌 읽힌다. 물론 실습 가능한 환경에서 직접 타이핑하면서 정독하는 것이 이 책을 읽는 가장 모범적인 방법이겠다. 책은 총 다섯개의 파트로 구성되어 있으며 파트 1, 2 는 기본문법과 함수등..
Google Kubernetes Engine (GKE) 관련해서 앞서 2개의 글을 통해 대략적인 이해를 할 수 있었을 것으로 예상된다. 이번 포스팅에서는 더 깊은 이해를 위해 터미널을 통해 실제 앱을 kubernetes 로 배포하고 업데이트를 진행 해보자. 이 예제의 내용은 qwiklabs - Hello Node Kubernetes 를 통해서도 확인할 수 있다. 아래 예제는 모두 클라우드 셸에서 진행한 것이지만 구글 클라우드 SDK 가 설치된 다른 환경에서 진행하더라도 무리는 없다.Node.js 애플리케이션 생성우선 실습에서 사용하는 간단한 Node.js 앱을 작성해보자. 코드는 아래와 같다. // server.js var http = require('http'); var handleRequest = f..
Qwiklabs 플랫폼을 통해 이수받은 과정의 징표(배지)를 링크드인에 등록하는 방법에 대해서 알아보도록 한다. 우선 한 개 코스를 모두 완주하게 되면 My Learning 에 이수한 항목을 확인할 수 있게 된다. 여기에서는 GCP Essentials 코스를 예로 들어볼텐데 좌측 메뉴중 두번째 항목인 My Learning 으로 들어가서 우측 상단에 보이는 View Public Profile 을 클릭하도록 한다. - 우선 내가 취득한 정보를 외부에서 열람할 수 있도록 공개 프로필을 설정하는 과정이다. 이 과정이 선행되어야 링크드인에서 자격정보를 확인할 수 있다.View Public Profile 을 클릭하면 아래와 같은 확인 팝업창이 노출된다. 나중에 필요 없어지면 이 페이지에서 삭제할 수 있으니 과감하게..
- Total
- Today
- Yesterday