Post

누군가에겐 필요한 기록 #3. Rx를 활용한 EventBus, 계층 구조에서의 동기와 비동기

Posted on

  @1. 만능 호출기 정석적인 객체지향 자바 개발자들은 엄청난 코드스트레스를 겪어야 한다. 자바는 생성과 호출의 명확함을 그 장점으로 하기에, 최근 트렌드 언어들의 특징인 함축성, 재사용성, 범용성 등에서 더 발전하고 싶어도 어려울 때가 있다. 예를 들어 베이직의 goto문을 보자. 10 READ R 20 PRINT “R =”; R; 30 A = 3.14*R^2 40 PRINT “AREA =”; A […]

Post

삽질의 추억 #1. Android API24 이상에서 proxy (fiddler, charles 등) https capture 오동작 해결

Posted on

먼저 몇가지 짚고 넘어가야 할 점이 있다. Android 8.0과 함께 출범한 API26의 HttpsUrlConnection은 SSL v3를 지원하지 않는다. 이 말인 즉슨, 서버에서 TLS를 지원하여야 한다는 것. 사실 웬만해선 TLS 1.0~1.2 정도는 지원하니 패스. API24에서는 CA를 소스에서 관리한다. 폰에 담겨 있는 인증서를 자동으로 가져와주지 않는다.   API23에서 바로 26으로 건너뛴 터라 처음엔 1의 문제인 줄 알았다. 그래서 […]

Post

누군가에겐 필요한 기록 #2. Dialogflow 활용을 통한 챗봇의 구성과 소통의 이해

Posted on

Google은 Api.ai를 인수한 뒤 그 명칭을 Dialogflow로 바꾸어 새로운 버전의 자연어처리 API개발에 주력하고 있다.   구글이 이 분야에 목매는 이유는 시리나 알렉사의 성공 때문이기도 하지만 가장 큰 이유는 바로 안드로이드의 확장성에 대한 해답으로 AI와 자연어처리를 선택했기 때문으로 보인다. 구글은 안드로이드를 홈네트워크와 사물인터넷, 심지어 무인 자율주행차에까지 넣고 싶어한다.   머신러닝 기술은 그 이론이 나온 지 오래 […]

Post

누군가에겐 필요한 기록 #1. node.js로 모바일 채팅서버 구현하기

Posted on

      세상에 두가지 언어만 남기라면 C++와 자바스크립트만 남을 것이라는 이야기를 종종 한다. 서버 솔루션이나 SI, 모바일에선 여전히 자바가 인기가 있지만, 자바는 사공이 많아 점점 산으로 가고 있고 자바의 유행을 지속하고 있는 거대기업들(현재는 구글이 대표적)이 기술의 트렌드를 바꾸면 언제 인기가 사그러들기 시작할지 모르는 일이다. 그리고, 포지션이 애매하다. 좋은 언어이지만 꼭 필요한 언어는 아니다. 마찬가지로 […]

Post

해킹과 보안 #1. 방화벽을 뚫고 나가는 가장 확실한 방법

Posted on

최근에 중국에 다녀온 경험에 따르면, 장성 방화벽이 업데이트된 후로 웬만한 우회 수단을 죄다 차단하는 것을 알 수 있었다.   집에 VPN세팅까지 하는 강수를 두고 갔음에도 불구하고, 막상 중국에 도착해서 VPN 접근조차 되지 않아 굉장히 난감했다. 분명 한국에서 테스트할 때 잘 동작되었고, 무슨 수로 갓 새로 생성한 VPN까지 차단을 했을까 궁금한 생각마저 들었다. 그리고 어떻게든 이 […]

Post

하드코어 개발자 되기 #3. 결국엔 다 해야돼

Posted on

모름지기 개발 언어나 툴은 특유의 ‘쓸모’를 안고 태어난다.   C와 어셈블리어로 다 때웠던 90년대 초중반보다는 나았지만, windows 95가 발표된 이래로 2009년경 모바일 혁명이 오기 전까지는 개발언어들의 ‘쓸모’ 에 대해서는 의심할 여지가 없었다.   고연산이 필요한 프로젝트거나, 게임 등은 당연히 C++로 개발되었고, JAVA는 통신시스템에 특화된 언어나 다름없었다. 오로지 웹을 위해 태어난 PHP와 JS, 그리고 간단한 툴을 […]

Post

하드코어 개발자 되기 #2. 왜 그들은 Python에 환장하는가

Posted on

개발자라면 절대적으로 피해야 하는 것이 있다.   그것은 바로 “안일함” 이다.   다른 사람들이 개발한 플랫폼 위에서 먹고 사는 사람들은, 그들이 의존하는 플랫폼이 더이상 발전하지 못하고 아주 새로운 플랫폼에 밀려 사라질 때 함께 도태된다.   피쳐폰, PDA, 윈도우모바일 개발자들이 그랬고, ActiveX 개발자들이 그랬으며, 안드로이드나 iOS도 그렇지 않을거란 보장이 없다.   내가 생각하는, “보장된 플랫폼” 은 […]

Post

하드코어 개발자 되기 #1. 나는 노트북이 없다

Posted on

학업, 취업, 신입사원 시절 등, 어려웠던 시절들을 모두 함께해 주었던 노트북은 디스플레이 고장으로 13년 된 구닥다리 모니터를 달고 데스크탑PC처럼 책상 위에 기거하는 신세가 된 지 오래다.   처음엔 고쳐보려 했으나 사과 브랜드는 디스플레이 수리비용을 노트북 중고가격보다 높게 부르는 터에 진즉 포기해 버렸고, 언젠가 새 노트북PC를 가지고 싶은 기대감에 미련을 버렸다.   한번은 공식적인 회의 석상에서 […]

Post

잡지식을 명확하게 #1. 웹 기반 모바일 앱 개발 플랫폼 개념 설명

Posted on

‘웹앱? 하이브리드앱? 도대체 뭐가 뭐지? 헷갈린다..’ 많은 포럼이나 컨퍼런스, 심지어는 교육에서조차 앱 개발자들을 혼란스럽게 하는 녀석들이 있다. 이들의 범주를 명확하게 분리할 수 없는 이유는, 이 기술들 자체가 분류하기 모호한 데다 심지어 현업에서 이런 기술을 쓰고 있는 개발자들 자신도 자신이 쓰는 기술의 범주에 대해 확신하지 못하기 때문이다. 그래서 정리해 주겠다. 다만 많은 개발자들이 혼용하는 개념인 만큼, […]