読者です 読者をやめる 読者になる 読者になる

きょこみのーと

元六本木でGo書いてました。今はVRでGo書いてます。

Arukasを使って無料でGo製のslackbotを運用する

はじめに SlackbotをHerokuで一日中動かすと課金が発生するので色々ハックが必要となったりするので、なんとかしたくArukasに出会いました。 今回は、自分が作ったgo製のslackbotを元につくったbotをgithubにpushしてWercker経由でdockerImageを作ってArukas…

werckerでprivate repositoryを含むglide installする方法

手順 glide.ymlでsshのURLを指定する wercker上でApplication Environmentか Organization settings Environmentで + Generate SSH Keys してssh keyを環境変数に登録する 「2.」で登録したssh keyをgithub上の Settingsの SSH keys で登録する wercker.yml…

Webラジオのm3u8をdownloadしてffmpegでmp3に変換するツールをGoで書いた

2016/12/15 23:06 追記: ちなみにffmpegでm3u8 -> mp3変換はできますが、実行時間が20分以上かかって待ってられなかったのでBulkDownloadが含まれてます。 あとm3u8のURLが推測難しく、いちいちブラウザ開いてplaylistをダウンロードして中身のmedia playlis…

Amazon Lambdaにデフォルトでインストールされているライブラリを最新にして使う方法の1つ

業務でAmazonLambda上でPDFを画像に分割処理を実装したのですが、その時ghostscriptのVersionが古くて、 特定のPDF変換でエラーになるという現象でハマったのでその時調べたことと、 対応策を紹介したいと思います。 前提 Apex (Go)で動かしてます ImageMagi…

Lambda x Apexで、Goで書いたラムダ関数を楽に動かす

業務でAmazonLambdaを使う機会があり、Apex(Go)を試していい感じだったのでその紹介とハマりポイントを幾つか紹介しようかと。 github.com 導入 すごく簡単で、 https://github.com/apex/apex#installation に書いてある通りインストールして apex init で…

CircleCI上でdynamodb-localを使ったgo testを実行する

はじめに 本当は、dynamodbを呼び出す箇所をinterface化してgolang/mockとかでmockしてtestするほうが良い思います。 ただ、そうもいかない状況とかもあるのでdynamodb-localでtest用のregionを使ってtestする方法を紹介したいと思います。 例)とあるテーブ…

Goのslackbotを改良したのと、プラグイン増やしたので紹介

以前のGoCon 2015 SummerでLTしたkyokomi/slackbotですが、 かなりリニューアルしたので、改めて紹介しようかと思います。 github.com 大きな変更点 x/net/contextの依存をやめた 魔法みたいになんでも出てくる感じで分かりづらかったので importするだけの…

Twitterでお気に入りした画像をランダムで返すGAE/Goアプリをつくった

ランダムで返す部分が雑にキャッシュしてるのはご愛嬌・・・ https://koha-api.appspot.com/v1/api/image 画像はこちらを利用させていただきました。(経験値先生最高です!さっちん絵がほしかった・・・) というわけでお蔵入りじゃから、ツイッター画像と…

Goでlotteryという抽選ライブラリを作った

単なるmath/randのラッパーですが。 もしかしたら他にも似たようなやつあるかもしれませんが、見つからなかったので作りました。 kyokomi/lotterygithub.com 指定した確率 20%の確率で〜みたいな処理をしたいときです。 lot := lottery.New(rand.New(rand.Ne…

GoConでGoで作った拡張しやすいSlack botについてLTしてきた

拡張しやすいはず・・・ 最初はkyokomi/gomaの話にしようかなと思ったけど、LT駆動開発キメたろうと思って、slack bot作ることにした。 LTであまり時間無く、ざくっと概要とデモ見せる感じで終わったので、exampleとか詳細を書こうと思います。 実際に実行す…

GWにGo言語で作ったMeetAppというサービスの開発記録

GWに2〜3日くらい本気だして、MeetAppというサービスをリリースしました。 フロントエンド&企画をやっていただいた@tejitakさんのブログに大体の概要が書いてありますので、こちらを併せてご覧いただければと。 GWハッカソンでMeetAppという趣味アプリ開発…

CircleCI上でMySQLとPostgreSQLを扱ったtestを行う

先日Gunosy.go#12でLTしたkyokomi/gomaですが、 CircleCI上でDBを利用してgo generateとtestの実行を行っています。 kyokomi/gomagithub.com たぶん公式ドキュメント見ればわかると思いますが、 サクッとやりたい人向けにCircleCI上でMySQLとPostgreSQLを利…

React.jsのチュートリアルをGoで動かしてみた

React.js入門しました。とりあえず動かしてみたレベル。 (とりあえず触る&ソース読んでよくわからない点とかメモってから、概要とか読む派なので。。。) 公式(英語) http://facebook.github.io/react/ チュートリアル(英語) https://github.com/reactj…

Goのテンプレート言語egoを使ってみた

golangのtext/template最近ようやく慣れてきたけど、 やっぱり{{}}が増えてくると辛いので、他のパッケージに手をだしてみました。 egoが触った中で一番しっくりきたのと、一通り色々なことができそうな気配を感じたので気に入りました。 benbjohnson/ego be…

go-bindataをgo:generateで実行する

この手の生成ツールはgo:generateで、まとめて実行するようにすればMakefileとか書かなくていいので幸せになれそうです。 go-bindataの使い方とかは以下などを参考にしていただければと。 アセット的なアレを実行バイナリ内に入れる話。 アセット的なアレを…

docomo APIのGoライブラリ(go-docomo)を作った

docomoのAPIを利用する目的で作ったGo製のライブラリです。 各API叩いてるだけなので、特別なにかやってるとかはないです。 kyokomi/go-docomo kyokomi/go-docomo · GitHub 今のところ以下のAPIに対応しています。 雑談対話 知識Q&A トレンド記事抽出 ライブ…

Go言語でのInterfaceの可視性について

ちょっとハマったのでメモがてらまとめました。 Interfaceも通常のstruct等と同じく先頭が小文字で始まる場合に別パッケージで参照できないという点についてです。 ディレクトリ構成 example ├── factory1 │ └── factory.go ├── factory2 │ └── factory.go ├…

golangでjson用のstructを生成するGo製ツール(gojson)

Go

Goでjsonのデータを扱う機会は多いのですが、 その度にjson:"hogehoge"を書くのがめんどくさいなーと思ってました。 jsonのI/Fが決まってるならそこからgoのコード生成すればいいかなと思い、作る前に類似ツールがないか調べていたら、すでに丁度いいのがあ…

Go lang勉強会に参加した感想

http://connpass.com/event/7814/ はじめに Goはまだ入門して1〜2ヶ月くらいで、まだまだ初心者な感じで参加して大丈夫かなーと思ってましたが、とてもためにな話をたくさん聞けて参加できてよかったです。 場所や軽食などをご提供頂いたHDE様にも感謝です!…

golangでLevelDBを使う

golangでDBを扱うついでに、まだ触ったことがなかったLevelDBについでに触れてみました。 LevelDBについては、こちらの記事がとてもわかりやすかったです。 勉強になります(T_T) LevelDB入門 (基本編) - from scratch ライブラリ LevelDBのクライアントは、…

Go言語で絵文字のパッケージつくった

Go

最近Go言語はじめたのですが、とりあえずみんな大好きな絵文字で遊ぼうと思ってGoDocとかGoWalkerを漁ってみても見つからないので、自分で作りました。 emoji - GitHub emoji - GoDoc emoji - Go Walker 最初は、ビールとピザとプリンしか対応してなくて(マ…

Intellij IDEAでGo言語使うとき

色々ハマったので残しておく。 GOPATHとGOROOTが無いと怒られる Ideaでgoのプロジェクト起動したときにGOPATHとかGOROOTが無いとか言われたら以下の通りにsetenvやれば解決する。 https://github.com/go-lang-plugin-org/go-lang-idea-plugin/blob/master/Mi…