요즘 웹 기술은 정말 하루가 다르게 발전하고 있다. 그 기술을 이끄는 선두에는 리액트, 앵귤러가 있겠지만 후발주자로 부지런히 선두 그룹을 쫓고 있는 뷰JS 를 나의 첫 웹 기술로 선택했다. 첫 도서로는 에이콘출판사의 Vue.js 2 Cookbook [다양한 예제로 배우는 뷰JS 2]. 책의 제목처럼 정말 다양한 예제를 통해서 뷰JS의 "거의" 대부분의 기능들을 소개하고 훑어나간다. 책의 두께도 요즘 나오는 책들처럼 얇지 않고 투박하지만 많은 내용을 다루고 있다는 점에서 "쿡북"의 역할을 충실히 소화하고 있다고 말할 수 있다. 책에서 다루는 내용은 다음과 같다. (홈페이지 발췌)█ 다양한 실제 사례를 통해 뷰JS의 기본 사항 이해 █ 뷰JS의 컴포넌트 시스템을 사용해 복잡한 웹 인터페이스 작성 █ 웹팩 및..
구글의 공식 프로그램인 “구글 클라우드 스터디잼” 의 그룹장으로의 활동. 스터디 방식은 그룹마다 다르겠지만 내가 담당하고 있는 그룹은 구글에서 지원 받은 퀵랩 한달 프리패스 이용권을 이용해서 실습하는 것으로 진행됐다. (퀵랩 코드는 그룹원 전체에게 지급되었다) 스터디잼은 한국에서만 하는 프로그램은 아니고 구글에서 전세계를 대상으로 진행하고 있는 프로그램이다. 이제 막 한국에 상륙한 프로그램인데 개인적으로는 준비가 다소 미흡하지 않았나라는 생각이 들기도 했지만 다행히 그룹원 전부 하고자하는 의지가 충분해서 스터디 자체는 현재까지 문제없이 잘 진행되고 있다. 초상권 문제로 단체 사진은 올릴 수 없고 지인이 촬영해주신 사진으로 현장 분위기를 대신해본다. 마침 지금 재직중인 회사에서 흔쾌히 소강당을 외부 ..
firebase 는 우리의 애플리케이션에 다양한 로그인 방식을 간편하게 붙일 수 있도록 돕는다. 보편적으로 많이 사용하는 이메일 주소를 통한 로그인이나 제휴 ID 제공업체를 통해 로그인하는 방법을 예로 들 수 있는데 아래 화면처럼 다양한 방식을 제공한다. 애플리케이션에 로그인을 붙이기 위해서는 이중에서 사용하고자 하는 제공업체를 선택해서 사용 설정만 ON 해주면 끝이다. 여기 예제에서는 Google 로그인을 사용해보도록 한다. 사용 설정을 활성화 했으면 이제 코드로 구현을 해야 할 텐데 그 예제 샘플은 아래 링크에서 모두 확인이 가능하다. 거의 복사&붙여넣기만 하면 바로 사용할 수 있는 수준이다. https://firebase.google.com/docs/auth/?hl=ko firebase 의 모든 기..
세미나/컨퍼런스/기타 발표자리에서 불특정 다수의 질문이 많다는 것은 결국 발표자가 내용 전달을 잘하지 못했다는 이야기다 (...) 이건 청중의 수준을 잘 파악하지 못했거나, 당연히 알겠거니 하는 착각을 하기 때문인데 이래서 누군가를 가르치기 위한 것도 결국은 교육이 필요한 부분인 것 같다. 타임라인에서 무릎을 탁 치게 만드는 글이 있었는데 못찾겠네. 뛰어난 사람일 수록 발표를 잘하지못한다는 글이었는데, “반짝반짝 작은별” 동요를 탁자를 통통 두들기면서 연주하면 듣는 사람이게는 모스 신호일 뿐이라는 내용이었다. 탁자를 두들기고 있는 사람 입장에서는 “아니, 이걸 몰라?” 이러고 있고 🙂. 직접 해보시길. 내 경우에는 대략 30명 모인 자리에서 한 명 맞췄다. 아무튼 그만큼 무언가를 다른 사람에게 전달하는 ..
firebase 는 실시간 데이터베이스와 Cloud Firestore 두 가지 타입의 저장소를 제공한다. 현재 (18.04.14) 기준으로 firestore 는 베타 기간이고 공식 문서에 따르면 아직 안정성은 실시간 데이터베이스에 비해 떨어질 수 있다고 하니 상용으로 운영할 생각이라면 여러가지 상황을 고려해야겠다. 하지만 그 강력함을 보면 사용하지 않을 이유가 있을까 싶다.일단 두 종류의 데이터베이스에 대한 비교는 아래 페이지를 통해 확실하게 알 수 있다. https://firebase.google.com/docs/firestore/rtdb-vs-firestore?hl=ko여기서 우리는 node.js 기반으로 firestore 를 사용해 보도록 한다. 우선 firebase 에서 제공되는 데이터베이스는 모..
한빛미디어 리뷰 제도를 통해 [ 엄마의 말하기 연습 ] 이라는 책을 받아 보았다. 기술 서적이 아닌 책을 보는건 꽤 오랜만인데 아이를 키우고 있는 입장에서 봤을 때 내용이 무척 알차다. 마치 라디오를 듣고 있는 듯한 느낌을 받았는데 역시나 맘스라디오 라는 방송을 통한 내용이 다뤄지고 있단다.아이를 키우는건 처음이라 :-) 책을 읽다보면 그간 내가 잘못하고 있었던 부분은 무엇인지, 좋은 부모가 되기 위해서는 어떻게 해야 하는지. 사랑을 베푸는 방법에 대한 이야기를 잘 풀어주고 있다. 부모가 아니라도 충분히 공감할 수 있으려나? 아래 목차처럼 CHAPTER 는 두 가지로 나누어 진다. "엄마인 나 이해하고 공감하기", "우리 아이 이해하고 공감하기". 이처럼 엄마와 아이에 대한 부분이 고르게 쓰여있다. 읽다..
앱/웹 애플리케이션을 만들 때 우리가 애플리케이션 기능 개발에만 집중할 수 있도록 인증/저장소/분석 등 백엔드의 부가적인 것들을 몽땅 처리해주는 파이어베이스 (Firebase) 서비스를 시작해보자. 파이어베이스는 클라우드 데이터베이스로 시작해서 2014년 구글에 인수되었다. 단순히 구글의 인수 사실만 보더라도 얼마나 대단한 플랫폼인지 가늠할 수 있다. 더욱이 우리가 한참 공부하고 있는 Google Cloud Platform (GCP) 위에서 돌고 있는 서비스인만큼 연동도 손쉽기 때문에 여러가지 다양한 용도로 사용이 기대된다.바로 firebase.google.com 로 접속해서 내용을 살펴보면 되겠다. 주소로 접속하면 아래와 같은 화면을 볼 수 있다. 시작하기 버튼을 통해 접근해보자.구글 계정으로 로그인해..
Vue.js 로 웹 개발을 시작한지 한달 남짓. 뷰스러운 것 보다는 오히려 html, css, javascript 가 발목을 잡는다. 이래서 어느 분야던지 기초가 중요하다고 하는거다. 애초에 웹 개발쪽은 쳐다본 적도 없으니 그럴 수 밖에 없지. 아무튼 고작 한달 했다고 쓸데없이 자신감만 생겨서는 우연히 알게된 좋은 플랫폼을 개인 프로젝트로 흉내내고 싶은 욕심이 생겼다. (사내 세미나를 통해 알게 됨)플랫폼은 비교적 간단하다. 용도는 콘퍼런스장에서 Q&A 시간에 질문을 받고 Timeline 을 보여준다. 좋은 질문이라고 생각되면 누구나 해당 질문에 upvote 를 할 수 있다. 익명으로 질문을 포스팅 하거나 닉네임을 적을 수도 있다. 그리고 타임라인을 여러가지 방식으로 정렬할 수 있다. 예를들면 시간, u..
화면에서 select box 가 선택될 때 클릭 이벤트를 받고 이때 v-model 값을 통해 무언가를 해야하는 경우가 생겼다. 심플하게는 아래와 같은 코드 모양새가 되겠다. {{ type }} Changed 함수를 살펴보면 다음과 같다. Changed() { if ( this.selected == "pig" ) this.type = "animal"; if ( this.selectd == "apple" ) this.type = "fruit"; }코드상으로 의도는 select box 에서 pig 를 선택하는 경우 화면에 pig 는 animal 이라고 표현하려고 한다. 혹은 apple 를 선택하면 fruit 로 표기한다. 하지만 놀랍게도(!) 코드는 의도와 반대로 동작한다. 왜냐하면 click 이벤트는 v-m..
Node.js 를 시작하면서 제일 먼저, 혹은 많이 듣게 되는 이야기가 콜백지옥이다. 그런 상태로 노드를 접하고 사용하기 시작하니 혼란을 부르는 부분이 있는데 이번에 콜백(callback)을 대해 정리를 하는 시간을 갖도록 해본다. 언어든 기술이든 기초가 중요하고 기초를 탄탄히 하면 콜백지옥에서 어느순간 자연스럽게 벗어날 수 있지 않을까? 노드(정확히는 자바스크립트)에서 함수는 일급 객체로 취급된다. 위키백과를 참고하면 일급 객체가 되기 위해서는 아래 조건이 충족되어야 한다.변수나 데이터 구조안에 담을 수 있다.파라미터로 전달 할 수 있다.반환값(return value)으로 사용할 수 있다.할당에 사용된 이름과 관계없이 고유한 구별이 가능하다.동적으로 프로퍼티 할당이 가능하다.이 말을 이해하기 위해서 아..
AWS 오로라팀의 사내 방문이 있었다. 오로라의 기술적인 내용에 대한 질의응답이 있었고 새로운 기능에 대한 가이드까지 완벽한 시간을 갖을 수 있었다. 통역까지 지원된 기술 이야기는 처음 들어본 듯. 통역 하시는 분이 관련 기술에 미흡해서 완벽하지는 않았지만 AWS 다른 직원분의 보충 설명이 이어져서 어렵지 않게 오로라의 내부 구조를 들여다 볼 수 있었다. 당장 (내가) 오로라를 어디에 사용할 일은 없지만 귀동냥으로 듣게 되는 것들이 배경지식을 풍성하게 만드는데 얼마나 큰 도움이 되는지 잘 알고 있기 때문에 매우 흡족한 시간이 되었다. 그나저나 AWS 개인 계정은 언제 만드나... 다른 일로 매일 미루고 있는데 올해는 꼭 만들고 여러가지 정리하는 시간을 갖아야겠다.
회사에 구내식당이 있으면 안좋은 이유가 한가지 있다. 바로.. 밖에 나갈 일이 없어진다는 점. 햇빛을 직접 받을 일이 없어진다. 포유류에게 광합성은 필수가 아니던가. 더욱이 삼시세끼가 무료로 제공되는 곳이라면 마치 사육(?) 당하는 느낌으로 아침 먹고 일하고 점심 먹고 일하고 (...) 행복한 투정을 부리게 된다. 사실 매일 점심 뭐먹을지 정하는 것도 직장인들의 고충이라면 고충이거덩. 딱 우리 회사가 그렇다. 삼시세끼 무료 제공. 한편 구내식당이 있어서 좋은점은 밖에 날씨와 무관하게 맛점을 할 수 있다는게 있겠다. :-) 특히 요즘처럼 미세먼지가 극성인 날은 돌아다니지 않는게 최선이니까. 햇빛을 직접 받을 일이 없다는 것 이외에 내가 사내 구내식당에 갖는 유일한 불만은.. 식판이 너무 작아서 담을..
아방이를 탄지 햇수로 8년정도 된 것 같은데 워셔액을 직접 갈아본 적이 없다. 항상 때가 되면 부모님이 리필을 해주셨던 이유인데 어느날 갑자기 나오지 않는 워셔액... 당황스러웠지만 다행히 꼭 필요한 상황은 아니라 주차장에서 갈아보았다. 마침 트렁크에 여분의 워셔액이 있었다. 일단 워셔액 넣으려면 보닛(본네트)을 열어줘야 하는데 운전석에 관련 스위치를 당겨주면 덜컹 하는 소리와 함께 보닛이 반쯤 열린다. 보닛 중앙에 손을 넣고 레버를 살짝 눌러줘야 완전히 들어 올릴 수 있는데 열어서 보면 아래와 같은 구성을 확인할 수 있다. 여기서 워셔액은 좌측 모퉁이에 파란 뚜껑의 주입구를 통해 넣을 수 있다. 어렵지 않게 찾을 수 있을 것이다. (다음에 세차할 때 조금 더 신경 써야겠다. 너무 더럽네..) 아..
티스토리 이벤트가 당첨되서 굿즈가 배송되었다. 노트와 볼펜을 포함해서 스티커 뭉치. 스티커의 일부는 홀로그램. 당연히 스티커는 바로 소진되었다 (...) 나머지 아이템은 꽤 고급스러운데 특히 볼펜이 올블랙에 묵직한 느낌이라 꽤 귀티난다. 하지만 모나미 같다는 점... 아무튼 이벤트 당첨이라니. 올해 중으로 블로그 이전을 하려는 계획을 엿들었나? ;-) 향간에 티스토리는 카카오에서 버려진 서비스라는 이야기가 많이 돌고 있는데 블로거들의 여러가지 피드백을 잘 듣고 현주소에 맞는 양질의 서비스가 제공되기를 바라본다. 솔직히 지금은 타 블로그에 비해 장점은 찾기 힘들고 오히려 단점이 많이 보이잖아? 화이팅!!
본격적으로 맥 유저가 된지 어느덧 8개월쯤 된 것 같다. 맥을 선택한 이유는 여러가지가 있지만 아래와 같이 압축할 수 있겠다. - 터미널(프롬프트)의 필요성 (feat. 개발자) - 휴대성 (feat. 개발자) - 간지 사실 굳이 맥이 아니더라도 우분투 등의 *NIX 기반 시스템이면 뭐든 상관은 없었다. 특별히 애플제품을 잔뜩 소유하고 있다거나 애플빠도 아니니 결국 간지 때문에 맥을 선택한듯. 아무튼 맥프레(맥북 프로 레티나)를 구입하기로 결정하고나서 가장 큰 고민이 13인치 vs 15인치였다. 난 결국 휴대성 등을 고려해서 13인치를 선택했고 현재 회사에서는 15인치를 사용하고 있기 때문에 누군가를 위해 주관적이지만 객관적인(응?) 조언을 할 수 있겠다. 우선 혹여라도 휴대성 때문에 15인치를 포..
pm2 에서 관리되는 모듈은 대부분이 데몬 형태이고 각각은 메모리에 항상 상주해야 하는 서비스일 것이다. 운영중에 죽는 모듈은 pm2 에 의해서 자동으로 재시작되겠지만 시스템이 재부팅된다면 어떨까? 당연히 답은 No 다. 아직 우리는 pm2 에게 그런 일을 시키지 않았으니까.리눅스의 부팅 시스템 init.d 같은 곳에 스크립트를 만들어 넣는 등의 방법으로 부팅시에 우리 모듈을 시작시킬 수 있다. 하지만 이런 귀찮은 절차를 이미 pm2 에서는 자동으로 제공해주고 있다. 옵션 하나만 입력하면 된다. 바로 아래서 살펴보도록 하자. 시스템에는 우리의 모듈 server 가 돌고 있는 상황이다.현재 돌고 있는 서비스에 대해서 부팅 시스템에 등록하는 방법은 매우 간단하다. pm2 에 startup 옵션을 넘겨주면 된..
지금 대한민국을 대표하는 키워드 중 하나. 미투운동이 한참이다. 연예인부터 정치인, 예술계까지 온통 난리다. 그간 감춰져있던 더러운 음지가 서서히 드러나고 있는 듯한 느낌이다. 사실 처음부터 미투가 이렇게 핫하게 진행된 것은 아니다. 피해자중 극소수의 큰 용기들이 모여서 사회를 강타했다. 커뮤니티에 성추행을 했다고 고발된 명단만 벌써 스무명 이상 되는 듯. 이중 대부분이 사실로 확인되고 있지만 사회적 분위기를 타서 거짓이나 과장되는 경우도 심심치 않게 발견된다. 사회가 이렇게 많은 관심을 갖고 추악한 면모를 모두 청소하려는 시점에 미투운동의 본질이 훼손되서는 안되겠다. 아무튼 소수의 용기있는 작은 몸짓이 사회를 움직이는 모습에 큰 감격. 우리 아이가 살아갈 대한민국은 훨씬 더 좋은 모습이기를. 모든 미..
Google Cloud Platform (GCP) 를 현업에서 이용하는 케이스가 아니면 대부분 퍼블릭 클라우드를 공부하는 목적으로 이용하는 경우가 많을 것이다. 이 경우에는 1년동안 사용할 수 있는 $300 크레딧으로 클라우드를 충분히 즐길 수 있다. 1년이 지난다고 계정이 (유료로) 자동 전환되지 않기 때문에 필요 시에 유료 계정으로 전환해줘야 한다. 그대로 방치하는 경우에는 사용하던 모든 기능이 잠기기 때문에 아차하는 순간 소중한 데이터를 놓칠 수 있게 된다. 또한 1년이 지날 때 공식적으로는 유로로 자동 전환이 되지 않는다고 되어 있지만 아주 간혹 청구되는 경우가 있을 수 있다고 한다. - 고객센터에 연결해서 이런저런 과정을 거치면 환급받을 수 있겠지만 여간 귀찮은 일이 아닐 수 없겠다.아무튼 이런..
- Total
- Today
- Yesterday