Azure Functions로 Slack Bot 만들기
들어가는 말 빌드 2016(Build 2016) 키노트에서 Azure Functions이 소개되었다. Azure Function은 C#이나 Node.js를 포함하는 다양한 언어로 개발된 코드를 특정 상황에서 수행하기 위한 기능을 의미합니다. 특정 조건에서만 수행할...
들어가는 말 빌드 2016(Build 2016) 키노트에서 Azure Functions이 소개되었다. Azure Function은 C#이나 Node.js를 포함하는 다양한 언어로 개발된 코드를 특정 상황에서 수행하기 위한 기능을 의미합니다. 특정 조건에서만 수행할...
들어가는 말 슬래시 명령(Slash Command) 만들기 슬랙 봇 호스팅하기 Azure Functions 추가 슬랫 슬래시 명령 URL 입력 Hello, 슬랙 봇! 맺음말 참고자료 들어가는 말 빌드 2016(Build 2016) 키노트에서...
터미널을 사용하다보면 영문자를 아스키 아트로 출력해서 프로그램명이나 제작 크레딧을 멋지게 꾸민 경우를 종종 볼 수 있다. FIGlet은 영문자를 입력하면 아스키 아트로 출력해주는 간단한 도구다. 앞서 살펴본 cowsay도 있지만...
REST API를 테스트하는데 curl과 wget을 사용할 수 있겠지만 좀 더 읽기 쉽고 사용하기 좋은 도구가 있다. HTTPie는 cURL-like tool for humans라는 멋진 태그라인을 갖고 있는 강력한 CLI 도구다....
이전에도 iterm을 설치했었지만 키맵이 영 익숙해지지 않고 기본 터미널과 맞추려니 이것저것 찾아보는게 귀찮아서 계속 터미널을 사용하고 있었다. neovim을 설치하는 차에 iterm3 베타가 나왔다는 얘기가 생각나서 iterm도 설치했다. Opt...
들어가는 말 oh-my-zsh를 알게된 이후 폴더명과 브랜치명이 한 줄로 표현되는 agnoster 테마를 사용하고 있다. 그런데 폴더명과 브랜치 명이 길어지면 커맨드를 입력하는 커서가 터미널창 오른쪽 구석으로 밀려나곤 했다. 이에...
들어가는 말 oh-my-zsh를 알게된 이후 폴더명과 브랜치명이 한 줄로 표현되는 agnoster 테마를 사용하고 있다. 그런데 폴더명과 브랜치 명이 길어지면 커맨드를 입력하는 커서가 터미널창 오른쪽 구석으로 밀려나곤 했다. 이에...
터미널을 사용하다보면 사소하지만 유용한 스크립트를 작성할 때가 종종 있다. 스크립트로 작성한 코드로 결과를 그냥 출력할 수 있지만 다소 밋밋하게 느껴본 적은 없었는지 생각해보자. 빌드가 완료되거나 업스트림에 머지하는 스크립트가...
Linux나 windows 환경을 사용하다가 OS X 환경을 사용했을 때 가장 답답하게 느끼는 부분 중 하나가 backspace 키 속도가 상당히 느리다는 점이다. OS X는 backspace 키를 다른 기능 키와...
조금은 생산적인 도구를 소개하는 것도 좋을 것 같아 github 서비스를 위한 도구를 소개한다. Github API를 이용한 ghi가 꽤 많은데 API v3에 맞춰 현재까지 관리되고 있는 도구로 ghi가 있다....
가끔씩 매터리얼 디자인의 물결 효과를 보면서 iOS에 적용해볼까 했지만, 이 효과때문에 Material 라이브러리를 추가해야하나 했습니다. 그래서 CALayer를 이용해서 구현해보았습니다. class ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad()...
webpack은 모듈 번들러로, 의존성을 가진 모듈들을 다루고, 그 모듈로부터 정적인 asset을 생성한다. – webpack 페이지 공식 설명 모듈 로더, 모듈 번들러 Node.js는 CommonJS 표준이 구현되어 있으므로 별도의 라이브러리...
bash나 zsh에서는 작업 제어(job control)을 기본적으로 제공하고 있다. 현재 동작하고 있는 프로그램을 백그라운드로 보내거나 백그라운드에 있는 프로그램을 다시 꺼내서 사용하는 것도 가능하다. 평소에 다음과 같이, 끝에 &을 붙여...
저는 요즘 일본어 글을 보는 일이 많아졌습니다. 일본어라고는 히라가나 철자를 발음하는 수준이 전부지만 일본어로 된 좋은 글들이 많기 때문입니다. 다행히 일본어-한국어 번역기는 품질이 괜찮은 편이라 구글 번역기를 이용해서...
개인적으로 개발을 하는데 DB Schema는 보존하면서 DB에 있는 모든 내용은 지우는 작업을 해야 할 필요가 생겼습니다. 테스트용 Dummy data를 발생시켜야 하는데 중복되는 dummy가 발생되면 안 되기 때문이었죠. 단순히...
서버에 있는 로그를 웹상의 타인에게 보여줘야 할 경우가 있는데(가급적 이런 경우는 좋지 않은 상황인 경우이다.) 어떻게 할까 찾아보다가 python으로 된 tailon이라는 쉽게 커맨드 명령어로 띄울 수 있는 툴이...
Swift에서는 hashable이라는 프로토콜을 통해 커스텀 구조 및 고유 값을 만들 수 있습니다. struct Point { let x: Int let y: Int } extension Point: Hashable { var hashValue:...
구글 검색을 위해서 파이어폭스를 켜며 문득, ‘그냥 터미널에서 구글 검색할 수 있는 방법은 없을까?’ 라는 생각이 들어서 검색해봤더니 역시 멋진 분이 googler라는 도구를 멋지게 만들어서 공유하고 있었다. googler는...
이 문서에서 사용되는 코드는 ES2015의 문법을 다소 사용하고 있으므로 가급적 Node.js v4(LTS) 이상의 버전을 권장한다. Node.js는 대개 MongoDB + Mongoose 조합과 함께 사용하는 경우가 많지만 가끔 RDB의 필요성을...
위와 같은 경우가 많이 발생을 한다. 하나의 github 프로젝트에서 내가 뭔가의 수정을 위해서 fork 를 하고, 수정을 해서 Pull Request 를 날린후, Merge 가 된다. 그리고 다른 사람이...
Problem var apiCRUD = { downloadExcel: function($http) { //랄랄랄 } } rc.downloadExcel = apiCRUD.downloadExcel($http); apiCRUD.downloadExcel함수를 저렇게 rc.downloadExcel에 할당하면 바로 실행이 되는데, 나는 rc.downloadExcel이 호출되었을 때 apiCRUD의 함수가 실행되길...
window.location.assign('your_url'); 이렇게 하면 새창이 뜸과 동시에 다운로드 된다. 굳이 ajax get안하고 가능. refer http://stackoverflow.com/questions/16514509/how-do-you-serve-a-file-for-download-with-angularjs-or-javascript
Subjects Subject는 Observer와 Observable 두 역할을 수행하는 브릿지 또는 프록시 종류입니다. Observer 역할로, 하나 이상의 Observable을 구독하며, Observable 역할로 아이템을 내보낼 수 있습니다. Subject를 지원하는 클래스는 다음과 같습니다....
맥 환경을 사용할 때는 Ctrl + Space를 사용하고 있지만 지금 lubuntu를 설치해서 사용하는 노트북은 키보드 사이즈가 작은 문제인지 Ctrl + Space가 손에 잘 익지 않았다. 그래서 한영 전환키로...
들어가는 말 아이폰 사용자는 안드로이드보다 탈옥 과정이 복잡하고 업데이트때마다 난리를 쳐야한다. 탈옥이 어려우니 탈옥후에 진행되는 결제 크랙도 적을 줄 알았다. 하지만 도트레인저스 출시 후 로그를 살펴보니 내가 너무...
들어가는 말 아이폰 사용자는 안드로이드보다 탈옥 과정이 복잡하고 업데이트때마다 난리를 쳐야한다. 탈옥이 어려우니 탈옥후에 진행되는 결제 크랙도 적을 줄 알았다. 하지만 도트레인저스 출시 후 로그를 살펴보니 내가 너무...