Rustで「Java言語で学ぶデザインパターン入門」をなぞってみた。

ここ最近はRustの勉強をしています。 プログラミング言語Rustを読んではみたものの、 いろんな概念があることもあり、全体を理解することができませんでした。 手を動かさないことには理解できなさそうだったので、 増補改訂版Java言語で学ぶデザインパター…

MacでIkaLogの動作環境を整える。

最近はスプラトゥーンの世界に潜っていて、ほぼ毎日のようにプレイしています。 このあいだ、はてブでIkaLogというツールがバズっていて、面白そうだったので動作環境を整えてみました。 IkaLogはスプラトゥーン用の支援ツールで、自分の対戦成績をファイル…

GolangでHTTPサーバのモックを使ってテストを実行する。

GolangでHTTPリクエストを投げるクライアントを実装した場合に、任意のレスポンスを返すサーバのモックを利用してテストを実行したい。 Golangの標準パッケージのnet/http/httptestを使うと、任意のレスポンスを返すモックを定義できる。 net/http/httptest…

ServerspecのDockerバックエンドでコンテナをテストする。

ServerspecでDockerコンテナをテストするのにDockerバックエンドを利用してみました。 Dockerコンテナ内にSSHDを立てたくなかったので、SSHバックエンドではなくDockerバックエンドでテストを実行したかったのですが、Web上にもあまり情報がなかったのでメモ…

Golangでクロスコンパイルをする。

Golangでクロスコンパイルを試した時のメモ。 OSXでLinux64bitのバイナリをクロスコンパイルした。 クロスコンパイルできることは知っていたけれど、実際に動作すると感動する。 環境や方法は@Jxck_さんの記事がわかりやすかった。 Go のクロスコンパイル環…

Golangでバンディットアルゴリズムを実装した。

以下の書籍を参考にGolangでバンディットアルゴリズムを実装してみた。 書籍に載っているEpsilon-Greedy、Softmax、UCB1を実装してから、Epsilon-GreedyとSoftmaxはAnnealingを追加してみた。 書籍ではPythonでtsvファイルを生成してからRで可視化しているけ…

GolangでRSSをパースする。

以下のライブラリを使ってGolangでお手軽にRSSをパースすることができた。 jteeuwen/go-pkg-rss RSSのChannelとItem用のコールバック関数を渡すだけでOK。 本家のサンプルだとデーモンの用に動くけれど、Fetchを呼び出すだけでも大丈夫だった。

GolangでMeCabを使う。

以下の記事を参考にGolangからMeCabを呼び出してみた。 Go言語から mecab を使う - Qiita オリジナル版だとMeCabの解析結果が1行ずつstringで返ってくるので、表層形などをメンバに持つ構造体を定義して結果を格納するようにした。 yukihir0/mecab-go 名詞の…

GolangでSVMを実装した。

パーセプトロンに続き、SVMを実装した。 書籍を参考に劣勾配法とFOBOSの2つを試してみた。 ただ、書籍の更新式のとおりに実装するとうまく分離できなかったので、更新式を変えている。 学習数や学習率などのパラメータをいじるとうまく分離できないこともあ…

Golangでパーセプトロンを実装した。

Golangでパーセプトロンを実装してみた。 だいぶ大雑把だけれど、うまく動いている様子。 機械学習の理論は複雑だけれど、プログラム的には更新式が肝なのがよくわかった。 効率よく計算させるアルゴリズムも他にあるのだとは思うけれど、単純なものでも自分…

本文抽出モジュールExtractContentのGolang版を作った。

HTMLから本文抽出をするときにはExtractContentが便利でよく使っています。 Rubyのバージョンが1.9になったときにオリジナルは動かなくなっていて、Ruby1.9に対応したものを公開されている方がいたので、それを使うことが多いです。 今回、ExtractContentの…

GolangでネストしたMapを使う。

GolangでネストしたMapを使おうとしたけれど、ちょっと手間取ったのでメモ。 結果的には以下のようにして使うことができた。 data["hoge"]["fuga"] = 1のように代入したい場合は、あらかじめdata["hoge"]を初期化しておかないとエラーになる。 data["hoge"] =…

Golangで作ったWebアプリをHerokuにデプロイする。

Golangで作ったWebアプリをHerokuにデプロイする方法を調べたので、自分用メモとして残しておきます。 @deeeetさんのブログ記事がわかりやすかったです。 HerokuのBuildpackを使うだけでよいのでお手軽でした。 つまづいたところとして、Godepで依存関係を保…

勉強会2014

今年はおもしろそうな勉強会があれば遠くても行くという方針で勉強会に行くようにしていた。 結果的に前半は東京、後半は仙台の勉強会に行っていた様子。 内容はソフトウェアとデザインが半々といった感じ。 読んだ書籍と同じで自分が何に興味を持っているの…

読んだ書籍2014

今年もいろいろな書籍を読んだ。 読書メモはないけれど、読み終わった日付をメモしていたので1年分を振り返ってみる。 この他にはWeb-DB PressとWiredを毎号読んでいた。 ソフトウェアの技術書を中心にデザインの書籍を読んでいた様子。 合計31冊なので、月…

買ってよかったもの2014

今年は結構お金を使った覚えがあるので自分用にメモを残しておく。 とは言っても買ってから後悔したものはなかったのでよかった。 毎日使うものにはお金をかけたほうが良いかなと思っているので、来年もよさそうと感じたものは積極的に試していきたい。 Bose…

motion-kitを使ってRubyMotionでAutoLayoutを利用する。

RubyMotionでAutoLayoutが使えないか調べたところ、motion-kitが良さ気だったので使ってみました。 AutoLayoutについて勉強したい人は「UIKit徹底解説 iOSユーザーインターフェイスの開発」がおすすめです。 UIKit徹底解説 iOSユーザーインターフェイスの開…

YAPC::Asia 2014 に初参加してきた。

「ブログを書くまでがYAPC!」とのことなので、若干遅れ気味ですがエントリを書いてみます。 普段Perlを触ることはあまりないんですけど、応募されていたトークを見るとインフラやモバイルに関する話題が多くておもしろそうだったので初参加してきました。 3…

RubyMotionでPixate Freestyleを使う時はmotion-pixatefreestyleを使おう。

motion-pixatefreestyle 数日前にRubyMotionでPixate Freestyleを試した記事をアップロードしたけど、motion-pixatefreestyleが公開されたのでより簡単に試すことができるようになりました。 watsonさんありがとう!! 公式のGithubに書いてあるとおり設定し…

RubyMotionでPixate Freestyleを試してみた。

[2014/02/27追記] motion-pixatefreestyleが公開されたので、より簡単に試すことができるようになりました。 最新の記事はこちら。 大分ブログを書いていませんでしたが、ひっそりとRubyMotionで遊んでいたりします。 先週、Pixateが名前をPixate Freestyle…

Twitter Bootstrap 3.0のグリッドシステムの変更点を調べてみた。

Twitter Bootstrap 3.0がリリースされていた。 グリッドシステムが2.3から変更になったみたい。 2.3では <div class="row"> <div class="span2">・・・</div> ・・・ </div> だったけれど、3.0からは <div class="row"> <div class="col-md-2">・・・</div> ・・・ </div> のようになった。 mdの部分はほかにxs、sm、lgを指定できて、デバイスの画面幅によって振る…

「実践テスト駆動開発」を読み始めた。

「継続的デリバリー」と同じタイミングで購入して積読になっていたものを読み始めました。 (継続的デリバリーのほうもまだ積読だったりする) 第Ⅱ部「テスト駆動開発のプロセス」まで読み終えたところ。 内容的にはテスト駆動開発をする上で抑えておくべき…

RubyMotionがおもしろそう。

ここ2・3日、RubyMotionに手を出そうかどうかでちょっと迷っています。 おもしろそうなので触ってみたいという好奇心が大きいのですが、自分にとって開発しやすい環境を手に入れられるのではないかという期待もあります。 Rubyでコーディングできる エディ…

vimのプラグイン管理ツールをvundleからneobundleに移行した。

vimのプラグイン管理ツールをvundleからneobundleに移行した。 最初にvundleで管理していたプラグインとvundle自身を削除する。 % rm -rf .vim/bundle/* % rm -rf .vim/vundle.git 次にneobundleをインストールする。 dotfilesとしてGitHubで管理しているた…

CocoaPodsを使ってObjective-Cのライブラリ管理を自動化する。

CocoaPods http://cocoapods.org/ Objective-Cのライブラリ管理ツールであるCocoaPodsを試してみた。 MacやiOSアプリ開発に使うライブラリのダウンロードや依存関係チェックなんかを自動化できる。 RubyのBundlerと同じように使えるので慣れている人であれば…

Rubyでb-Bit MinHashを実装してみた。

昨日に引き続き、SmartNews開発者ブログの「b-Bit MinHashによる高速かつ省スペースな類似度判定」を参考に、Rubyでb-Bit MinHashを実装してみた。 ビット数は1、ハッシュ関数の個数は128で計算させている。 ただし、1ビット値は最初から50%の確率で衝突す…

RubyでMinHashを実装してみた。

SmartNews開発者ブログのb-Bit MinHashによる高速かつ省スペースな類似度判定を見て、おもしろそうだったのでMinHashをRubyで実装してみた。 MurmurHash3の実装はmurmurhash3-rubyを使わせてもらった。 % bundle init % vi Gemfile gem 'murmurhash3' % bund…

「データサイエンティスト養成読本」を読んだ。

連休で時間があるうちに積読本をどんどん消化しています。 内容的には機械学習やインフラにまつわることがゴリゴリ書いてあるわけではなく、データサイエンティストの守備範囲やビジネスの話まで幅広く書いてある感じでした。 データサイエンス分野の人たち…

「Webを支える技術」を読んだ。

「Backbone.jsガイドブック」を読んだ後にREST周りの知識をもう一度抑えておきたいと思い、積読本となっていたものを読んでみました。 副題のとおり、内容はHTTPやURIに関する話題が中心で、自分としては今まで理解したつもりになっていたところを勉強し直せ…

grunt-contrib-lessでlessファイルのコンパイルを自動化する。

ブログデザインの変更にあたって、lessファイルのコンパイルをgrunt-contrib-lessを使って自動化してみた。 デザインベースは公式のboilerplateを使わせてもらった。 yukihir0/tachikoma(GitHub) フォルダ構成 boilerplateからboilerplate.lessとlessディレ…