( ꒪⌓꒪) ゆるよろ日記

( ゚∀゚)o彡°オパーイ!オパーイ! ( ;゚皿゚)ノシΣ フィンギィィーーッ!!!

「関数型Ruby」という病(2) - 関数合成 Proc#compose

本記事は、Rubyを書くにあたって「いかにブロックを書かずにすませるか」を追求した、誰得な連載である。 注意点として、この記事は、プログラマ厨二病のひとつである「ラムダ症候群(λ-Syndrome)」に罹患した患者にRubyを書かせると、どんなヒドいことになる…

「関数型Ruby」という病(1) - Symbol#to_proc, Object#method

この記事は、Rubyを書くにあたって「いかにブロックを書かずにすませるか」を追求した、誰得な連載である。 だって、ブロックって汚いじゃん?仮引数の|x|とかキモイ。 Symbol#to_proc 基本中の基本。instance method Symbol#to_proc以下のようなArrayがあっ…

LL DecadeのLT大会でバルスしてきた

LL DecadeのLT大会に参加してきた。今まで一番厳しい闘いだったぜ・・・。だって、『それぞれの言語コミュニティで顕著な活動があり、 また発表の面白さにも定評のある人を集めた、 珠玉のライトニングトーク集をお楽しみください。』とか言われてあのメンツ…

Scalaにおける型パラメータの部分適用 [({type F[X] = G[A,X]})#F] について

Tumblrから出戻ってきました。8/4のLL DecadeのLT大会に出るのでぜひお越しください。さて、モナってますか? scalazなどでよく出現する[({type F[X] = G[A,X]})#F]のようなコードですが、これが何を意味しているのか最近やっと理解できたので、久しぶりにSca…

Tumblrに移ってますので

這い寄るゆろよろ・アンド・ライジングフォース日記

Githubで日記はじめた

はてなはトラッキングでアレらしいので、Githubで日記はじめてみた2012年3月 · 4303cf5 · yuroyoro/yuroyoro_diary · GitHub

git-issue : CLIでRedmine/Github-issuesのticketをbrows/editできるgitサブコマンド

というのを作ったました。ちょこちょこ機能改善してます。 yuroyoro/git-issue · GitHub git-issue | RubyGems.org | your community gem host 仕事では、異臭管理システムはRedmineを使っていて、作業はsshでサーバに入ってコード書いてるわけです。 で、次…

ちょっとの手間でRSpecの出力をキレイにするnamed_letをrubygems.orgに登録した

以前書いた、「 ちょっとの手間でRSpecの出力をキレイにするためにnamed_letというのを書いてみた - ゆろよろ日記」を、 ちゃんとしたGemにしてrubygems.orgに登録しました。 named_let | RubyGems.org | your community gem host ソースコードはGithubにあ…

iTerm2 + zsh + tmux + vim で快適な256色ターミナル環境を構築する

こんにちわ。債務者ことゆろよろです。家買いました。 さて、最近こんなまとめが話題になりました。自分もコメントしましたが、すごい情報量になってます。 これ知らないプログラマって損してんなって思う汎用的なツール #JavaScript #PHP #Ruby #Python #HT…

Rubyで、OGNLっぽい文字列表現でオブジェクトグラフを辿るアレを書いた

Java使いはおなじみのOGNL(Object Notation Graph Language)っぽい記法で、Rubyのオブジェクトグラフを辿るアレを書いてみた。evalすればってツッコミはなしで、な。 厳密にOGNLになってなくて、どっちかっていうとRubyっぽい表現になってるけど、違和感ない…

関数適用のススメ 〜 オブジェクト指向プログラマへ捧げる関数型言語への導入その2

こんにちわ。今日は、関数適用の話をします。 前回のエントリで、「メソッドチェーンと違いがよくわからない」という指摘をもらったり、なんかスゴイSmalltakerから黒魔術を駆使したトラックバックをもらったりしたので、もう少し前回のエントリの意図すると…

関数合成のススメ 〜 オブジェクト指向プログラマへ捧げる関数型言語への導入その1

こんにちわ。今日は、関数合成の話をします。 標準入力から何行か読み込んで、ソートして返す以下のようなScalaのコードを例にします。 例なので、あえて冗長なコードを書いてます。 このコードでは、4つの関数が用意されています(unlines/putstr/sort/lines…

ちょっとの手間でRSpecの出力をキレイにするためにnamed_letというのを書いてみた

RSpecの話です。 RSpecは、テストコードがそのまま仕様を記述するドキュメントになる、というのが大きな利点の一つです。 しかし、rspecコマンドに-dオプションを渡して出力されるドキュメントは、必ずしも読める文章になっているとは限りません。 例として…

MySQL Workbenchで日本語を表示させる方法

~/Library/Application Support/MySQL/Workbench/wb_options.xml 内でFontを指定してる箇所をHelveticaからIPAフォントなどに変更すればよい。 <value type="string" key="workbench.model.Layer:Color">#F0F1FE</value> <value type="string" key="workbench.model.NoteFigure:Color">#FEFDED</value>

「変われるよ。現に俺は変われた。」「Java-jaに入って俺は変われたんだ。」

2011年で一番気に入ってる発言

Twitter / @yuroyoro: プログラマは死んでもコードは残る 今年のTwitterでの発言の中で、これが一番気に入ってる

『お前それエンタープライズ開発でも同じ事言えんの?』

Scalazを簡単に試してみるための"scalaz-playground"というプロジェクトを作った

yuroyoro/scalaz-playground · GitHubタイトルの通りで、このリポジトリをcloneして、"sbt console"と入力汁。 ozaki@mbp-4 $ git clone https://github.com/yuroyoro/scalaz-playground.git [~/sandbox/.../yuroyoro/work] Cloning into 'scalaz-playground…

Scalaプログラマレベル(アプリケーション/ライブラリ)[翻訳]

Scalaの難易度とか学習曲線について、最近また議論されてるようですが、公式にはこのようなレベル分けになってますよ。Scala levels: beginner to expert, application programmer to library designer | The Scala Programming Language アプリケーションプ…

ほとんど使われていないマニアックな機能「事前定義 (Early Definitions)」- Scala Advent Calendar jp 2011 Day 5

このエントリは Scala Advent Calendar jp 2011 の5日目です。Scalaやってる人なら一度はScala言語仕様に目を通したことがあると思います無いとは言わせない。この言語仕様を見ると、たまに思いもよらない発見があったりしますが、その中でほとんど利用され…

寝てる場合じゃねぇ!(Scala)

寝てる場合じゃねぇ! - プログラマーの脳みそScalaだとコンパイラ騙さなくても言語がサポートする機能でふつーにできるし。 object NoSleep extends App { trait Sleepy[A] { def sleep(n:Long):Unit } implicit val hoge = new Sleepy[Nothing]{ def sleep…

第一回 Scala会議で発表したUnfiltered/Finageの資料

第一回 Scala会議 - [PARTAKE] で発表した内容です。20110828_ScalaConf01_introducing_Unfiltered_and_Finagle

BPStudy#49 秋のScala祭りでFinagleについて発表した資料

BPStudy#49 : ATND で発表した資料です。20110930_BPStudy49

ドワンゴ社内 scala勉強会 で「クリエイティブで高品質なScalaプログラマになるための10のTips」 という発表をした

ドワンゴ社内 scala勉強会 - ニコニコ生放送での発表資料。20111120_Dwango_scala

Scala2.10に文字列中の\{ _ } で式展開する機能が入るかも?

以下の記事で紹介されているが、Scala2.10の実験的な機能として、 このコミットにより、 文字列中の式展開が入るかもしれない。 Algorithmically challenged: String Interpolation on 2.10? 式展開とは、Rubyでは"foo #{hogehoge}"のように文字列中に式を埋…

ScalaでFibBuzz

解いてみた。他の言語と違って、fib(92)以上はLongに収まらないのでBigIntを用いなければならないところがまずツラい。あとprintln長すぎる。 最初はStreamを使ってfibを定義した。 // 163bytes val x:BigInt=1 val f:Stream[BigInt]=x#::f.scanLeft(x){(a,b…

鳥プログラマコンテスト

「聞こえる? Eclipseの反応がない」 「Eclipseが死んだら 俺はコーディングも出来ないのかよ」 「コンパイルは通ってる、でもこれじゃだめなんだろ?」 「もう半分くらいリソース使ってる…実行できるのかこれで」 「悪いねへぼプログラマで」 「CPUだけは一…

「ぼくはこうしてプログラミングを覚えられなかった」

大学は情報系だったけどサークルとバイトばかりやっていた プログラミングが大好きだけど同じくらい好きなものが他にもあった 人に自慢できるほどプログラミングに時間を費やしていなかった 最初に就職した企業がいわゆるブラック企業と呼ばれるSIerだった …

&#5573;&#5175;&#5303;&#5175;&#5461;&#5175;&#5433;&#5139;&#5440;&#5139;&#5494;&#5139;&#5452;&#5139; (謎言語ウキャス)

ᙐᐨᘍᐨ、ᓽᐓᔦᐓᓻᐓᓽᐓᓢᐓUnihanGridᔥᐓᗩᐯᔔᐓᓹᐓᘃᐹᔦᐓᓺᐓᓲᐓᔦᐓᓳᐓᓤᐓᓼᐓ、U+1400 ᓞᐓᔜᐓ U+16FF ᔑᐓᓺᐓᔁᐓᖯᐨᕻᐤᓟᐓᓕᐓᔑᐓᔝᐓᓾᐓᕂᐓᖏᐓᕾᐓᓺᐓᓗᐓᔠᐓᓗᐓᔠᐓᓻᐓᙀᐴᓛᐓᐦᐫᓾᐓᓰᐓᓙᐓᓾᐓᓽᐓᓶᐓᓲᐓᔁᐓᓺᐓᓬᐓ。 Unihan Index for U+1400 through U+14FF Unihan Index for U+1500 through U+15FF Unihan Index for U+1600…

ぼくのかんがえたさいきょうのGit Repository Browser

こんなヤツデモサイトはこちら http://gitterb.yuroyoro.net/ Gitである程度運用してると、ブランチがいっぱいになっていつどこから生えたのかわからなくなったり、どのブランチがマージされてるか把握できなかったりとかがあると思う。 たとえばgit log --g…