Dev

Ruboty 로 공부하는 플러그인 시스템

April 22, 2018 Dev

Ruboty는 루비로 작성된 봇 프레임워크입니다. Hubot의 Ruby 판이라고 생각하면 이해하기 쉽습니다. 다른 점이라면, http endpoint 가 기본으로 제공되지 않는다는 점일까요[이 기능에 대한 제안 PR이 현재 진행형입니다]. Lita도 좋지만...

Custom Virtual Environment Location on piping

April 21, 2018 Dev

pipenv를 사용하면 .env 파일까지 생성해주고 그것을 사용할 수 있도록 해준다. 그런데… 이거 참… 저 깊숙한곳에 만들어주니… Pycharm에서 env를 쓰려고 찾기시작하니 귀찮다. 그리고 그냥 지워버리면 그 밑에있는건… 물론 확인할 수...

Python App을 위한 Pipenv

April 20, 2018 Dev

pip의 문제 Python으로 프로그래밍을 하다보면 의존성이 생기고, 의존성이 많아지면 골치아파지기 시작합니다. easy_install 시절에는 관리를 상상도 못 했지만 pip으로 세대교체가 된 뒤로는 그래도 시도는 해볼 수 있게 되었습니다. 하지만...

[Swift4] KeyPath Observe 사용하기

April 18, 2018 Dev

KeyPath를 이용한 Get Set Swift에서는 KeyPath를 String 형태가 아닌 KeyPath 클래스를 이용하여 정적으로 접근할 수 있습니다. struct A { var b: Int = 0 } 다음과 같은 구조체...

Jsonnet 소개

April 18, 2018 Dev

Jsonnet은 JSON에 몇 가지 기능을 확장한 템플릿 언어입니다. 설정을 저장하기 위한 파일 형식으로 가장 넓게 사용되는 것은 JSON, YAML이 있습니다. 대부분의 경우 이 두 가지 중 하나로 충분하지만,...

내 맘대로 위클리 뉴스 – 2018년 15주(4월 9일)

April 11, 2018 Dev

Python Python 3: An Intro to Enumerations Python에서 열거형을 사용하는 방법이 궁금하신가요? 혹시 열거형이 있는지 모르셨나요?(호오~) 이 기사를 참고하셔서 열거형을 사용해보세요! 빠져나올 수 없는 매력에 빠지실꺼에요?! Asyncio basics...

[Git]현재 Branch의 변경사항 파악하기 – merge-base

April 10, 2018 Dev

이번에 Pull Request를 올리면서 Gitlab Trigger를 통해 Lint를 돌리는 스크립트를 만들었습니다. 현재 Lint를 돌렸을 때, 변경사항들이 너무 많아 한번에 일괄 수정하는 것은 무리가 있는 것으로 판단하여 현재 Branch의...

애저 CLI 시작하기

April 6, 2018 Dev

애저 리소스를 관리하는 데 있어 지금까지는 애저 파워셸이 주로 쓰였다면, 이제는 파워셸보다는 좀 더 크로스 플랫폼을 지원하는 애저 CLI를 써 볼 차례가 아닌가 한다. 물론 최근에 애저 파워셸...

php callable 살펴보기

April 5, 2018 Dev

php에서는 callable 이라는 타입 힌트를 제공한다. 이 타입 힌트는 말 그대로 호출이 가능한 클래스, 메소드, 또는 함수인 경우에 사용할 수 있다. php에서는 타입이 별도의 타입으로 존재하지 않는 대신에...

A History of Haskell – Being Lazy With Class(Part.1)

April 5, 2018 Dev

저자 Paul Hudak Haskell을 설계하였습니다. John Hughes Why Functional Programming Matters의 저자입니다. Simon Peyton Jones GHC 컴파일러 수석 개발자입니다. Philip Wadler Haskell의 Monad를 설계했습니다. Java의 Generics을 설계했습니다. 논문...

Kotlin 연산자 Overloading

April 1, 2018 Dev

Kotlin에서 기본으로 제공하는 산술 연산자 plus, minus 등을 +, -로 접근한다. 이러한 기법을 Kotlin에서는 Convention이라고 한다. 이번 글에서는 이러한 Convention을 확장하여 사용할 수 있는 Kotlin의 기법을 살펴보려고 한다....

3분 게임 서버(Firebase) 진행사항 1

March 30, 2018 Dev

들어가는 말 2018년은 뭘? 진행 사항 다음 주제 맺음말 들어가는 말 2018년 1/4분기는 어떻게 지났는지 모르겠다. 그냥 정신차리고보니 3월 30일이다. 2018년은 뭘? 2017년 3월에 Wendy 프로젝트 첫번째 파트를...

Kotlin lazy property – lateinit/lazy 살펴보기

March 25, 2018 Dev

Kotlin에는 늦은 초기화를 위한 방법 2개를 제공한다. class의 전역에 아래와 같이 값을 생성하면, 클래스가 만들어지는 시점에 변수를 함께 초기화한다. class 생성과 동시에 변수가 초기화되면, 재 접근시 빠르게 접근이...

발표자료 : MQTT 를 이용한 주문 시스템 개선

March 23, 2018 Dev

동영상 : https://youtu.be/agnXsel_EnU EMOCON 2018 SS 에서 MQTT 를 이용한 주문 시스템 개선 이라는 주제로 발표를 했습니다. 온라인에서 하는 세미나의 형식이어서 확실히 부담이 덜 하긴 하네요. 발표자료와 동영상...

3분 게임 서버(Firebase) – Auth 익명 로그인

March 22, 2018 Dev

들어가는 말 고백 Firebase의 약팔이 새로운 기능 사용자 로그인 흐름 준비 과정 프로젝트 추가 프로젝트 설정 익명 로그인 프로그래밍 준비 익명 로그인 구현 디버깅 마무리 들어가는 말 고백...

3분 게임 서버(Firebase) – Auth 소셜 로그인

March 22, 2018 Dev

들어가는 말 준비 과정 Facebook 로그인 프로그래밍 준비 Facebook 로그인 구현 디버깅 마무리 참고자료 들어가는 말 지난 시간에 다룬 익명 로그인은 기본이다. 익명 로그인은 Apple의 앱스토어 검수 조건에도...

Kotlin Lambdas

March 17, 2018 Dev

Kotlin을 활용하여 개발을 하면 무조건 만나는 Lambdas 식. 기존 Android 개발에서는 Java 7을 주로 사용하다 보니 Lambda 식을 사용할 일은 없었다. 하지만 Backport 활용으로 Lambda을 적용할 수 있었는데...

내 맘대로 위클리 뉴스 – 2018년 11주(3월 12일)

March 12, 2018 Dev

Python Python & Async Simplified Python을 사용해서 비동기 프로그램을 작성하는 방법(asyncio)을 매우 간략하게 소개하고 있는 기사 Python Metaclasses and Metaprogramming 파이썬에서 메타프로그래밍을 활용하는 방법을 소개하는 기사 Testing and...

man page Section

March 10, 2018 Dev

항상 man 페이지를 끼고 보는데… ls(1) 이라 적혀있는 페이지를 볼 수 있다. 해당 내용을 매번 찾다가… 찾는것도 힘들고해서… 찾다보니 해당 숫자는 section 숫자라고.. 해당되는 내용들은. 사용자 명령어 시스템 콜 C 라이브러리 함수 디바이스와...