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

成らぬは人の為さぬなりけり

エンジニアライフをエンジョイする為のブログ

Aerospikeを試す #2 HeartBeat & ReverseProxy

前回から引き続き、Aerospikeネタ。 前回はheartbeatのmesh-seed-address-portに1つのインスタンスを指定しましたが、これが1個だとSPOFになってしまう。 mesh-seed-address-portは複数指定できるっぽいので、いくつか指定しておけば良いのだろうけど、それ…

Aerospikeを試す #1 環境構築

最近ちょくちょく見るようになったAerospikeです。 OSSになってからほんとよく見かけますが、あんまり日本語の情報が多くないですね。 WEB+DB PRESS Vol.87作者: 佐藤鉄平,小林明大,石村真吾,坂上卓史,上原誠,鳥居英,佐藤歩,泉水翔吾,うさみけんた,伊藤直也,…

Rubiniusを試す #1 (Install,Benchmark)

だいぶ久しぶりの投稿です。 ちょいとふと思い立ってやってみたので、メモ。 Macにrbenv(ruby-build)でRubiniusをインストールする。 Rubiniusとは http://rubini.us/doc/ja/what-is-rubinius/ Rubinius は プログラミング言語 Ruby の実装です。 Rubiniusに…

Goでテストを書く

久しぶりにちゃんとgolangを勉強していこうという事で、ログを残します。 今日のテーマ testingパッケージを使ってテストを書いてみる gomでgospelをインストール gospelでテスト書いてみる 独自matcherを書いてみる 環境 MacOSX 10.9.4 go 1.3 brewでインス…

Scala勉強日誌 - Akka その3 application.conf使ってみる

さてさて、続けてその3です。 前回からの続きで、AkkaActorの話です。 今日のテーマ configファイルを使ってみる 環境 MacOSX 10.9.4 Scala 2.11.1 sbt 0.13.5 akka-actor 2.3.4

Scala勉強日誌 - Akka その2 Future

さて、実は前回の(その1)からかなり時間が経っているのですが、また再開していきたいと思います。 今日のテーマ 非同期でWebAPIを呼ぶ 結果を受け取って処理する 環境 MacOSX 10.9.4 Scala 2.11.1 sbt 0.13.5 akka-actor 2.3.4

Faraday パラメータのエンコードを差し替えてみる

前回に引き続きFaradayネタです。 Faradayはquery_stringをescapeする時に半角スペースを+にescapeするようなので %20にescapeするようにERB::Util#url_encodeでescapeするようにしてみます。 参考 : http://stackoverflow.com/questions/21283414/how-to-av…

Faradayを触ってみた

実はこれが、2014年最初のエントリー。サボりすぎ。 WebAPIを呼ぶスクリプト書くのにFaradayを使ってみたので、使い方などをメモっておこうと思います。 Faraday自体は前から知ってたんですが、リダイレクトとかめんどくさい事考えなくて良い場合に、 特にHT…

VMWareからVirtualBox+Vagrantに移行する時の話

普段、VMWareFusionを使って開発してるのですが、 特にVMWareに依存していないので 「Vagrant+VirtualBoxにしてみようかな」と思い立ち、 年末にちょこちょこ作業したのでやったことをメモしておきます。 PackerやVeeweeを使って1からVagrantのBoxを作る方…

CLI for Redmine - climine (クリミネ) を書いてみた

Rubyを書きたくなったので、gemを作りました。 普段、タスク管理はRedmineを使ってるのですが、 わざわざRedmine見る為にブラウザにCommand+TABするのがめんどくさくて さくっと、コマンド打ってチケット確認したいなぁ、という思いがあったので、 ひとまず…

Chef-solo+knife-solo+Vagrantでサーバ構築を自動化してみる - その4 redis

今回は、githubのcookbookを使って、redisをインストールしてみます。 ※環境は前回と同じです。 今回の流れ Berksfileでgithubのリポジトリを指定する サーバに適用してみる forkして修正する サーバに適用してみる 超シンプル。

Chef-solo+knife-solo+Vagrantでサーバ構築を自動化してみる - その3 nginx

さて、今日は前回に引き続き nginxのインストール&設定をやってみたいと思います。 ※環境は前回と同様です。 今回の流れ Berksfileをいじる jsonファイルに設定を書く サーバに適用してみる 自前のconfを用意する サーバに適用してみる 今日もシンプル。

Chef-solo+knife-solo+Vagrantでサーバ構築を自動化してみる - その2 sudoers

さて、前回に引き続き、 今日はsudoersをいじってみようと思います。※環境は前回と同じです。今回までのコードは、以下においてあります。yagince/chef-sample · GitHub 今回の流れ Berksfileをいじる berks install jsonファイルで設定を書く サーバに適用…

Chef-solo+knife-solo+Vagrantでサーバ構築を自動化してみる - その1 ユーザー追加

本日(8/24)、LL祭りで、 Inftastructure as LLというセッションを見てきました。 最近、Chef-solo+knife-soloをいろいろいじっていたので、今日は一番興味深いセッションでした。いい機会なので、最近自分がChef+Vagrantでやった事を、メモしていきたいと…

Heroku+Rails4+Devise+MySQL+Redis

今日いろいろやってみて、はまったポイント等をメモ。 環境 MacOSX 10.8.3 Ruby 2.0.0p0 (アップデートしなきゃ、、、) Rails 4.0.0

Gitのコミットメッセージを書き換えるフックをRubyで書いてみる

コミットメッセージにチケット番号を埋め込みたい! チケット番号はブランチ名から判断してほしい みたいな事、ありせんか? 僕はあります。というわけで、コミットメッセージをいじるフックをRubyで書いてみたいと思います。

TypeScriptのAPIドキュメントをyuidocjsで自動生成

現在、仕事でTypeScriptを使っていますが、 APIドキュメントが欲しくなってきて、 JavaDocとか、RDocとか、ScalaDocとか、みたいに 自動生成させたいなぁと思い、いろいろ試してみました。 試したツール jsdoc (npm) JsDoc Toolkit jsduck (gem) yuidocjs (n…

Perl勉強日誌 - FizzBuzz

Perlを勉強し始めたので、 現状の知識でFizzBuzzってみます。 PerlでFizzBuzz use 5.012; my @fizz = qw/Fizz/; my @buzz = qw/Buzz/; foreach (1..100) { say ("$fizz[$_%3]"."$buzz[$_%5]" || $_); } 実行結果 1 2 Fizz 4 Buzz Fizz 7 8 Fizz Buzz 11 Fizz…

Perl勉強日誌 - スマートマッチ

お久しぶりです。 しばらくブログ書いてませんでした。 (単純にさぼってました。。。orz)諸事情ありまして、Perlを勉強し始めたので、 ログを残して行きたいと思います。 環境 MacOSX 10.8.3 Perl 5.19.0 perlbrew 0.64 追記 スマートマッチは現在非推奨だ…

Specs2でinを複数ネストさせる時は要注意

今回は、久々にScalaネタです。 今回のテーマ Specs2での「in」のネスト

Ruby2.0の新機能を勉強してみる その3 Refinements

前回に引き続き、 Ruby2.0の新機能のお勉強です。今回は、実験的に追加された機能である「Refinemens」をやってみようと思います。 今回のテーマ 「Refinements」 環境 MacOSX 10.8.3 ruby 2.0.0-p0 RVM 1.19.1

Ruby2.0の新機能を勉強してみる その2 Module#prepend

前回は、キーワード引数をテーマにしました。 で、次は遅延リストを書こうかと思ったんですが。 Module#prependの方が面白かったので、 今日はこっちを書きたいとおもいます。

TypeScript+Jasmine+PhantomJs+GuardでTDDしてみる

Ruby2.0の勉強そっちのけで、gem作ってました。。。仕事でTypescript使ってjsのライブラリ的な物を作る事があるので、Jasmineでテスト書きながらTypeScriptコンパイルしてPhantomJsでテスト流す、という仕組みを、Guard使ってplugin作ってみた。github.com/y…

Ruby2.0の新機能を勉強してみる その1 キーワード引数

久々のRubyネタです。 2013年2月14日にRuby2.0.0-p0がリリースされました。 2ヶ月程経ってしまいましたが、自称Rubyistとして、 新機能を勉強したいと思います。 Ruby 2.0.0-p0 リリースちなみに、本シリーズは1回1テーマでお送り致します。 今回のテーマ 表…

Scala2.10の新機能を勉強する その5 ValueClass(制約編)

前回、ValueClassの制約に関して、後回しにしてしまったので、 今回は、ValueClassの制約について勉強しました。

PhantomJs+Vert.x(JRuby)でSockJsの疎通確認をしてみる

さて今回は、最近なにかとよく見るPhantomJsを使ってみようと思います。 背景 今、ちょっといろいろあって、 Vert.x+SockJsをやろうとしるんですが、以下のような問題が、、、 SockJsのクライアントがブラウザ用かnode.js用しかない node.js用は、XHRStream…

Scala2.10の新機能を勉強する その4 ValueClass(続編)

前回は、ValueClassの使い方を勉強しました。 メモリ割り当てが必要になる場合 制約 を次回はやります。と宣言したんですが、 今回は「メモリ割り当てが必要になる場合」のみに絞りたいと思います。 ※制約の話はその5とかで、、、

Scala2.10の新機能を勉強する その3 ValueClass

前回に引き続き、 Scala2.10の新機能を勉強していきます。今回のテーマは「ValueClass」です。

Scala2.10の新機能を勉強する その2 ImplicitClass

前回のつづきで、 今日はScala2.10のImplicitClassをやってみたいと思います。 環境 MacOSX 10.8.3 Scala 2.10.1 sbt 0.12.2 ImplicitClassって? 簡単に言うと、ImplicitConversionを楽に書ける機能、 と理解して良いんでしょうかね? SIP-13 - Implicit cl…

Scala2.10の新機能を勉強する その1 StringInterpolation

久々のブログですが、 今更ながらScala2.10の新機能をちゃんと勉強しておこうと思います。※終わったらRuby2.0やろうと思ってますが、、、 今回のテーマ StringInterpolation です。 環境 MacOSX 10.8.3 Scala 2.10.1 sbt 0.12.2 StringInterpolationって? R…

Scala勉強日誌 - Akka その1

Scala勉強日誌 - Actor - 成らぬは人の為さぬなりけり 大分前にActorの勉強して、続きでAkkaの勉強しようと思ってて、完全に忘れていたので、 再開したいと思います。 (仕事で必要になって、勉強したので、メモしているだけ、、、)今日のテーマは、、、 SB…

CoffeeScriptを書いてみる その2

前回は、 関数定義、文字列内変数展開をやってみました。 さて、今回のテーマは、、、 可変長引数 レンジ 比較演算子 条件付き代入 無名関数 をやってみたいと思います。 可変長引数 関数の引数に「...」をつけると可変長引数になります。 hoge = (ary...) -…

CoffeeScriptを書いてみる その1

前回、CoffeeScriptの環境を作ったので、 早速書き始めてみようと思います。 今回のテーマ 関数定義 文字列内変数展開 関数定義 CoffeeScriptでの関数定義はこんな感じになるようです。 helloworld.coffee helloworld = -> console.log "hello world" 呼び出…

HomebrewでNode.js入れて、npmでCoffeeScriptを入れる

CoffeeScriptを勉強する為に環境を構築したので、メモ。 環境 OS : MacOSX 10.8.2 Node.js : 0.8.16 npm : 1.1.71 CoffeeScript : 1.4.0 Homebrew : 0.9.3 インストール手順 HomebrewでNode.jsをインストール npmをインストール CoffeeScriptをインストール …

Play2.0でsbtの独自タスクを定義する

sbtの独自タスク追加方法は、ググればちらほら出てくるのですが、 Playを使ったsbtの独自タスクの定義方法がよくわからず、 ちょっと苦労したので、メモします。 (苦労した、という程の事でもないのですが。。。) 今回の環境 OS : Mac OS X 10.7.5 Scala :…

プレースホルダは意外と難しい(その2)

前回、Scalaのプレースホルダについて書きました。↑の記事の後半に出てきた部分で大きな勘違いをしていたので、 訂正すると共に、学習し直したいと思います。 先日、@kmizuさんのブログで、プレースホルダについて書かれていたので、 参考にさせて頂きました…

すごいHaskellたのしく学んでみる-その9

今回のテーマは、、、 newtypeとdata 以上のテーマで、参ります。 newtypeとdata 「1つの型を取り、何かにくるんで別の型にみせかける」 というような事がしたい場合、 dataではなく、newtypeキーワードを使う事ができます。 例えば、このような場合 Prelude…

プレースホルダは意外と難しい

プレースホルダーは、関数の引数を省略して書けるものだと思っていました。結論からいうと、 プレースホルダはあくまで関数の部分適用をする物、 のようです。 ※自分の中ではそう理解した。。。具体的な例を挙げて、考えた事を説明していきます。 val list =…

すごいHaskellたのしく学んでみる-その8

今回はついにFunctorです。 正直、まだFunctorの利点がよくわかっていないですが、 とりあえず、書いてみようと思います。 今回のテーマは、、、 Functorとは? fmap ファンクター則 ApplicativeFunctor こんな感じでお送りしようと思います。 Functorとは?…

すごいHaskellたのしく学んでみる-その7

久々のHaskellです。 前回からの続きは「すごいH本」的にはIOの章なんですが、 この辺よりも、その次の章が面白かったので、 ブログに書くのはやめました。 と、いうわけで、今回のテーマは、、、 関数型問題解決法 逆ポーランド記法電卓 関数型問題解決法 …

メソッド引数とコンストラクタ引数のimplicitパラメータ

最近ずっとHaskellの話題だったんですが、今日はScalaです。最近少しずつ仕事でもScalaを使うようになってきて、 勉強しなおしてます。早速表題の件ですが、 class Hoge(val name:String) class Foo(implicit hoge:Hoge) implicit val hoge = new Hoge("hoge…

すごいHaskellたのしく学んでみる-その6

先週サボったので、二週間ぶりです。今日のテーマは、、、 データ型 レコード構文 型引数 型クラス 今までずっとオブジェクト指向でやってきた自分にとっては、 ここはなかなか理解しづらく、 未だに0から自分で書ける気がしない、、、 データ型 データ型と…

すごいHaskellたのしく学んでみる-その5

今回のテーマは、、、 カリー化 高階関数 RubyやScalaをやった事があるので、 カリー化、高階関数は、割りとすんなり入って来ました。 カリー化 Haskellでは、関数はデフォルトでカリー化されています。 Haskellの全ての関数は、公式には引数を一つ取ること…

すごいHaskellたのしく学んでみる-その4

(週1で更新するのがお決まりパターンになってきました。)今日のテーマは、、、 再帰 今日は一個のテーマで書いてみます。 Haskellでは繰り返し処理は再帰で書くようです。 再帰はたしかに読みやすいし、 コードが簡潔になるので、好きですが、 実行効率の…

すごいHaskellたのしく学んでみる-その3

前回から、しばらく経ちましたが、 なかなか読み進まなかったので、書いてませんでした。というのも、正直2章の内容を理解しきれなくて、、、 理解できないというか、イメージができないというか、 型クラスのインスタンスが型と言われても、 正直よくわか…

RubyでSkypeにメッセージを投稿(Mac専用)

githubのnotifyやjenkinsのrssを常に気にしていたいのですが MacのFireFoxのJenkinsRSSリーダーがどうも上手く通知してくれないし、 常にブラウザ開いているわけでもないので、 今仕事で常に開いているSkypeに通知するbotを作ってみようかと思いました。 Rub…

すごいHaskellたのしく学んでみる-その2

前回からの続きです。今日のテーマは… リスト内包表記 タプル 以上!短いw まずは、 リスト内包表記 リストのフィルタリング・変換、組み合わせを行う方法、だそうです。 リスト内包表記ってなんぞや、と最初は思いましたが、 やってみると非常にわかりやす…

すごいHaskellたのしく学んでみる-その1

勉強会に参加する事や、TL上でよく見る本だったので、買ってみました。 すごいHaskellたのしく学ぼう!作者: Miran Lipovača,田中英行,村主崇行出版社/メーカー: オーム社発売日: 2012/05/23メディア: 単行本(ソフトカバー)購入: 20人 クリック: 556回この…

jpmobileでiPhoneの絵文字対応

iPhoneの絵文字は iOS2.2から絵文字を扱えるようになりましたが、 当初はSoftbankのUnicodeマッピングになっていました。しかし、現在のiOS5.1ではUnicode6.0の絵文字が使用されているようです。Railsで、Opensocialのアプリを作っているのですが、 jpmobile…

Scala勉強日誌 - Actor

今日のテーマは「Actor」です。 チャット作ってみようと思って、Play2.0のサンプルにある WebsocketChatのコードを見ていたらActorが出てきて、 全く理解できずw そういえば、さらっと勉強して、すっかり忘れていたので ちゃんと勉強してみる事にしました。…