サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
買ってよかったもの
straitwalk.hatenablog.com
プレースホルダーは、関数の引数を省略して書けるものだと思っていました。 結論からいうと、 プレースホルダはあくまで関数の部分適用をする物、 のようです。 ※自分の中ではそう理解した。。。 具体的な例を挙げて、考えた事を説明していきます。 val list = List(1,2,3) list.foreach(i => println(i)) これは val list = List(1,2,3) list.foreach(println _) こう書けるので、関数の引数を省略して書けるものだと思っていました。 しかし、この理解は間違ってました。 例えば、、、 val list = List(1,2,3) list.foreach(_.toString) これはOKですが val list = List(1,2,3) list.foreach(println(_.toString)) これはコ
久しぶりにちゃんとgolangを勉強していこうという事で、ログを残します。 今日のテーマ testingパッケージを使ってテストを書いてみる gomでgospelをインストール gospelでテスト書いてみる 独自matcherを書いてみる 環境 MacOSX 10.9.4 go 1.3 brewでインストール 構成 $ tree . . ├── Gomfile ├── src │ └── model │ ├── user.go │ ├── user_gospel_test.go │ └── user_test.go └── vendor testingパッケージを使ってテストを書いてみる まずは、標準のお作法にしたがってテストを書いてみます。 テスト対象はこんな感じです。 user.go package model import ( "strings" ) type Us
実はこれが、2014年最初のエントリー。サボりすぎ。 WebAPIを呼ぶスクリプト書くのにFaradayを使ってみたので、使い方などをメモっておこうと思います。 Faraday自体は前から知ってたんですが、リダイレクトとかめんどくさい事考えなくて良い場合に、 特にHTTPクライアントのライブラリ入れて使うより、Net::HTTPで十分じゃない?と思って使った事ありませんでした。 なんとなーく、Ruby書きたくなって、使ったことないgemを使ってみたかったので、使ってみた次第です。 ちなみに、読み方は ふぁらでい なんでしょうかね? 環境 OS : Mac OS X 10.9.2 Ruby : ruby 2.1.1p76 (2014-02-24 revision 45161) [x86_64-darwin13.0] 使用するライブラリのバージョン gem 'faraday', '~> 0.9
さて、実は前回の(その1)からかなり時間が経っているのですが、また再開していきたいと思います。 今日のテーマ 非同期でWebAPIを呼ぶ 結果を受け取って処理する 環境 MacOSX 10.9.4 Scala 2.11.1 sbt 0.13.5 akka-actor 2.3.4 非同期でWebAPIを呼ぶ まずは、API呼ぶActorを作ります。 こんかいはシンプルに天気を取ってくるAPIです。 package akka.sample.actor import akka.actor.Actor import scala.io.Source class WeatherApi extends Actor { def receive = { case i: Int => println(s"receive $i") Thread.sleep(1000) sender ! (i, Source.f
今回のテーマは、、、 newtypeとdata 以上のテーマで、参ります。 newtypeとdata 「1つの型を取り、何かにくるんで別の型にみせかける」 というような事がしたい場合、 dataではなく、newtypeキーワードを使う事ができます。 例えば、このような場合 Prelude> data MyList a = MyList { getList::[a] } これは以下のように書き換えられます。 Prelude> newtype MyList a = MyList { getList::[a] } こう書くと、何が嬉しいんでしょうか?? dataとnewtypeの違いを見ていきたいと思います。 newtypeの方が高速 型をくるむのにdataキーワードを使うと、 コンストラクタに包んだり、ほどいたりする度にオーバーヘッドがかかります。 しかし、newtypeはそもそも、それ用のキ
普段、VMWareFusionを使って開発してるのですが、 特にVMWareに依存していないので 「Vagrant+VirtualBoxにしてみようかな」と思い立ち、 年末にちょこちょこ作業したのでやったことをメモしておきます。 PackerやVeeweeを使って1からVagrantのBoxを作る方法は ググれば大量に出てきますが、 既存のvmdkから作る方法はあまり情報がなかったです。 なのでそんなに需要はないのかもしれませんね、、、 環境 OS : Mac OS X 10.9.1 VirtualBox : 4.3.6 Vagrant : 1.4.1 GuestOS : CentOS 6.4 VirtualBoxのインストール https://www.virtualbox.org/wiki/Downloads 今回は4.3.6を選択しました。 vmdkをvdiに変換する VirtualB
さて、今日は前回に引き続き nginxのインストール&設定をやってみたいと思います。 ※環境は前回と同様です。 今回の流れ Berksfileをいじる jsonファイルに設定を書く サーバに適用してみる 自前のconfを用意する サーバに適用してみる 今日もシンプル。 Berksfileをいじる さて、今日もberkshelfを使います。 site :opscode cookbook 'sudo' cookbook 'nginx' # 追加 jsonファイルに設定を書く 今回はバージョン指定してソースからインストールしたかった為、以下のようにしました。 { "users": [ { "name": "yagi", "group": "deploy"}, { "name": "deploy", "group": "deploy"} ], "authorization": { "sudo":
コミットメッセージにチケット番号を埋め込みたい! チケット番号はブランチ名から判断してほしい みたいな事、ありせんか? 僕はあります。 というわけで、コミットメッセージをいじるフックをRubyで書いてみたいと思います。 環境 MacOSX 10.8.3 Ruby 2.0.0p0 (アップデートしなきゃ、、、) Git 1.8.2.3 手順 適当なリポジトリを作る フックを書く! コミットしてみる すっごいシンプル。 適当なリポジトリを作る $ mkdir hook-sample $ cd hook-sample $ git init $ touch hoge $ git add . $ git commit -m "intialize"とりあえず、hogeという空ファイルを作ってコミットしました。 フックを書く! では早速フックを書いてみます。 今回はコミットメッセージを弄りたいので、 p
Rubyの条件式の結果は、 nilとfalse以外はすべてtrue となりますよね? なので、 def hoge "a" end if hoge p "TRUE" else p "FALSE" end これの結果は "TRUE" となります。 しかし、 hogeメソッドの戻り値は、あくまで「a」であり、 「true」ではありません。 「hoge?」みたいなメソッドにする場合、 結果をbool値にしたい場合があります。 そういう場合には、こう書きます。 def hoge? !!"a" end これで、「hoge?」の戻り値はbool値になります。 ruby-1.9.2-p290 :001 > !!"a" (irb):1: warning: string literal in condition => true ruby-1.9.2-p290 :002 > !!nil => false rub
本日(8/24)、LL祭りで、 Inftastructure as LLというセッションを見てきました。 最近、Chef-solo+knife-soloをいろいろいじっていたので、今日は一番興味深いセッションでした。 いい機会なので、最近自分がChef+Vagrantでやった事を、メモしていきたいと思います。 環境 MacOSX 10.8.3 Ruby 2.0.0p247 Chef 11.6.0 knife-solo 0.3.0 Vagrant 1.2.2 GuestOS ubuntu 13.04 今回の流れ ※各種インストールに関しては参考サイトにお任せします。 Chef Soloと Knife Soloでの ニコニコサーバー構築 (2) 〜導入編〜:dwango エンジニア ブロマガ:ドワンゴ研究開発チャンネル(ドワンゴグループのエンジニア) - ニコニコチャンネル:生活 Chef S
今回は、githubのcookbookを使って、redisをインストールしてみます。 ※環境は前回と同じです。 今回の流れ Berksfileでgithubのリポジトリを指定する サーバに適用してみる forkして修正する サーバに適用してみる 超シンプル。 Berksfileでgithubのリポジトリを指定する さて、今回は https://github.com/miah/chef-redis こちらのクックブックを利用させて頂きます。 Berksfile site :opscode cookbook 'sudo' cookbook 'nginx' cookbook 'redis', git: 'https://github.com/miah/chef-redis.git' nodes/chef-test.json { "users": [ { "name": "yagi", "grou
今日いろいろやってみて、はまったポイント等をメモ。 環境 MacOSX 10.8.3 Ruby 2.0.0p0 (アップデートしなきゃ、、、) Rails 4.0.0 今回の流れ toolbeltをインストール herokuのローカルセットアップ MySQLを使う設定 Redisを使う設定 Railsアプリのproduction設定をいろいろいじる デプロイしてみる ハマったポイント Toolbelt 以前はherokuのgemでいろいろやる感じでしたが、 現在はgemは非推奨になり、 toolbeltが公式に推奨されているようです。 herokuコマンドをgemでインストールしたものからheroku toolbeltのものに置き換える - Qiita [キータ] こちらを参考にgemをアンインストールして、toolbeltをインストールします。 $ heroku version hero
現在、仕事でTypeScriptを使っていますが、 APIドキュメントが欲しくなってきて、 JavaDocとか、RDocとか、ScalaDocとか、みたいに 自動生成させたいなぁと思い、いろいろ試してみました。 試したツール jsdoc (npm) JsDoc Toolkit jsduck (gem) yuidocjs (npm) 試した結果 jsdoc : module以下のクラスのdocが生成できなかった JsDoc Toolkit : jsdocと同じ jsduck : docに定義されているタグが足りないとエラーになる yuidocjs : module以下のクラスもdoc生成できた と、いう訳で、yuidocjsを使ってドキュメント生成することにしました。 以下、環境構築手順と使い方についてメモしたいと思います。 環境 MacOSX 10.8.3 npm 1.2.14 types
Scala勉強日誌 - Actor - 成らぬは人の為さぬなりけり 大分前にActorの勉強して、続きでAkkaの勉強しようと思ってて、完全に忘れていたので、 再開したいと思います。 (仕事で必要になって、勉強したので、メモしているだけ、、、) 今日のテーマは、、、 SBTプロジェクトを作る AkkaのActorを書いてみる ActorからActorを呼び出して、結果を受け取ってみる Routerを使ってみる。 yagince/akka_practice · GitHub 例によって、環境は、、、 OS:MacOSX10.8 Scala : 2.10.0 sbt :0.12.2 Akka : 2.1.0 SBTプロジェクトを作る まずは、プロジェクトを作ります。 今回は、全部ビルド定義ファイルは全部Scalaで書きたかったので、 こんな感じで作成 project/Build.scala i
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をインストール brewから直接CoffeeScriptをインストールできるみたいですが、 npmの管理下に置かれないみたいなので、 別々にインストールすることにしました。 HomebrewでNode.jsをインストール brew install node npmをインストール ここでちょっとはまる。。。orz curl http://npmjs.org/install.sh | sudo sh これでインストールできます、という記事をち
sbtの独自タスク追加方法は、ググればちらほら出てくるのですが、 Playを使ったsbtの独自タスクの定義方法がよくわからず、 ちょっと苦労したので、メモします。 (苦労した、という程の事でもないのですが。。。) 今回の環境 OS : Mac OS X 10.7.5 Scala : 2.9.1 sbt : 0.11.3 Play : 2.0.4 今日の流れ sbtでの独自タスク定義方法 playでの独自タスク定義方法 sbtで独自タスク sbtで環境依存ファイルを変更するためのカスタムタスクを書いてみたよ - ブログなんだよもん (こちらを参考にさせて頂きました) まず、sbtオンリーの場合は、上記サイトにあるように、 こんな感じで書きます。 project/Build.scala import sbt._ object ProjectBuild extends Build { val h
好みの問題なのかもしれません。 (と、思っているのは、自分の知識が浅いからかな?) 以下のようなコードがあったとします。 def hoge foo = Something.foo if foo foo.do_something end end こういう場合、私はこう書きたい。 def hoge if foo = Something.foo foo.do_something end end というか、書いてたんですが。 「typoと見分けがつかなくなる」という指摘をいただきました。 そういう発想が自分の中に無かったので、 素直に「あ、そうなのか。そう見える人もいるのか」と感じました。 普段から、あまり「流儀」とか「慣例」みたいな物を意識せずに、 自分がこの方がスマートだなぁ、と感じる書き方をしていたので、 ちょっと反省しました。 が、やっぱり後者の方がスマートな気がしてならないのは私だけなの
Gitのデフォルトの設定で、diffを見ると パッチの形式で表示される為、 ぶっちゃけ人間が見ると見づらいんですよ、、、 (慣れろ、俺。とは思うけども。 % git diff diff --git a/src/collection/set_and_map/MapSamples.scala b/src/collection/set_and_map/MapSamples.scala index d03a3db..d39ea38 100644 --- a/src/collection/set_and_map/MapSamples.scala +++ b/src/collection/set_and_map/MapSamples.scala @@ -10,7 +10,7 @@ object MapSamples { println(map("hoge")) // println(map("foo"
このページを最初にブックマークしてみませんか?
『成らぬは人の為さぬなりけり』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く