サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
iPhone 17
blog.livedoor.jp/gab_km
現時点で、TDD界の「次のバイブル」とも言うべき本があります。 Growing Object-Oriented Software, Guided by Tests (Addison-Wesley Signature Series (Beck)) 著者:Steve Freeman 販売元:Addison-Wesley Professional (2009-10-12) 販売元:Amazon.co.jp クチコミを見る この邦訳書が、満を持して登場しました。 実践テスト駆動開発 テストに導かれてオブジェクト指向ソフトウェアを育てる (Object Oriented SELECTION) 著者:Steve Freeman 販売元:翔泳社 (2012-09-14) 販売元:Amazon.co.jp クチコミを見る 僕はまだ入手していませんが、原著を読んで(4か月かかった…)たいへん感動したこと、訳
Does a wandering wolf dreams of a wondering, sometimes programming sheep? はじめにこの記事は F# Advent Calendar 2012 の2日目です。 2012年のトップバッターは昨年と同じく @bleis さんが務め、C#er にとっても実用的な素晴らしい記事を書いていただきました。 C# から使いやすい F# コードの書き方 - ぐるぐる〜 F# と C# の相互運用時に便利なアイディアがたくさん載っており、僕も使ってみたいものがいくつもありました!(・∀・) NaturalSpec今夏、あるプロダクトのチュートリアルに、素晴らしい翻訳が提供されました。 NaturalSpec チュートリアル翻訳版 - FsNinja こんな素晴らしい翻訳記事を書いてくれた @smallgeek さんに、同じ F#er と
今日、こんなことがありました。 -@gab_kmむ、なぜ標準モジュールのはずなのに ImportError になるのん…。 2012/10/05 09:16:32 事の次第は、今まで直接実行できていたあるPythonファイルが、何故かImportErrorで立ち上がらなくなっていたのです。 python hoge.py のように実行したときは上手くいきます。 私のつぶやきに、 @wonderful_panda さんと @methane さんがいろいろとアドバイスをくれました。 -@wonderful_panda@methane @gab_km Windowsでも、python hoge.py だと環境変数pathで決まる、hoge.pyだと拡張子pyに対するデフォルトアプリケーションで決まるという違いはあるので、別のpython.exeが選択される可能性はありますね。 2012/10/05
先日、ようやくPython 3系の真打ちとも言うべきメジャーバージョン、Python 3.3が正式リリースされました。 Python 3.3 Release -- Python Programing Language - Official Website decimal型の計算が速くなったとか、仮想環境pyvenvを自前で用意できるようになったとか、いろいろ面白い点があります。 その中で、私が気になったのが unittest.mock パッケージの追加です。 26.4 unittest.mock - Python 3.3 Documentation つい前回もユニットテスト用のMockライブラリを取り上げましたが、Pythonでも標準パッケージとして今回から導入されました。 オンライン実践テスト駆動開発写経会に参加できない私としては、これを弄って溜飲を下げるほかありません!使い方上記のリン
Does a wandering wolf dreams of a wondering, sometimes programming sheep? 本記事は、Tomas Petricek氏の"Applicative functors: definition and syntax"というブログエントリを翻訳したものです。 この和訳ドキュメントは上記ブログ記事のみを日本語に翻訳したものであり、その他のページは未翻訳です。 そのため、本文中に張られたリンクには原文に遷移するものがあります。 また、原文の意味を損なわない程度に訳文を砕いている箇所があります。 誤解がないように気をつけましたが、もしかしたら元の意味とずれてしまっているところがあるかもしれないことを予めご了承ください。 本記事は原文に則り Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.
F#のコンピュテーション式は、制御の流れに新しい解釈を持ちこんだり、独自のシーケンスを定義するための構文です。 Computation Expressionsなので、計算式、とも呼ばれたりします。 コンピュテーション式、F#初心者を脱して次のステージに上がろうという人が取り組もうとする傾向が強いのではないかと思います。(当社独自調べ) それは、F#にモナド風の処理を持ちこむのが、このコンピュテーション式だからです。 しかしコンピュテーション式、公式ドキュメントを読んでも、何をどうしていいのかすごく分かりにくいです。 計算式 (F#) - MSDN Library そこで、今回はコンピュテーション式の簡単な説明をしようと思います。これでコンピュテーションマスターになれるかというと、結局はたくさん書いて動かしてみるしかないですが、そのとっかかりになればいいなと思います。 コンピュテーション式の
今日は、Cafe.Spockというプライベートな勉強会に参加してきました。 この勉強会は、Groovyのテスティング・フレームワークの1つであるSpockを使ってみよう、というハンズオン勉強会。 Groovy+Spockの組み合わせは、先日のTDDBC大阪でもJavaチームを席巻するほどの人気っぷり。 SpockやGroovyの事前知識はなくても大丈夫という謳い文句で、実際、その場で調べたり、主催者兼講師であるきょん君(id:kyon_mm)に聞けるものでした。Spockの準備Spockは、僕の場合は公式ページを参考に準備しました。 GettingStarted - spock IntelliJを使う場合の設定は、大まかに次の通りでした: GroovyのバイナリをダウンロードJUnit4をダウンロード(きょん君曰く、Groovyに含まれてるから必要ではないらしい)SpockのCoreライブ
Does a wandering wolf dreams of a wondering, sometimes programming sheep? 記事を移動しました => FParsec 日本語チュートリアル — a wandering wolf 以下の記事は、古い情報が含まれています。 本記事は、F# 製のパーザライブラリ FParsec のチュートリアルを和訳したものです。 FParsec Documentation FParsec tutorial (English) この和訳ドキュメントはチュートリアル本文のみを日本語に翻訳したものであり、その他のページは未翻訳です。 そのため、本文中に張られたリンクには原文に遷移するものがあります。 また、原文の意味を損なわない程度に訳文を砕いている箇所があります。 誤解がないように気をつけましたが、もしかしたら元の意味とずれてしまっているとこ
このエントリは F# Advent Calendar 2011 の28日目…ではありません。 以前、F#基礎最速マスターというエントリを書きました。 この時はF#そのものについて、プログラミングの基礎的なところを説明してみようという取り組みでした。 今度は、特定の言語経験者がF#に移行するためのきっかけにしたいと思い、エントリを書いてみました。 タイトルにある通り、対象はVBプログラマーです。 サンプルコードはVB.NET以降を想定していますが、それ以外のVB(6以前やVBA)でも通用するところはあるかもしれません。 なお、本エントリでは基本的な内容と簡単な概念を述べるに留めます。 もし興味が出てきましたら、他の方のブログを覗いてみたり、書籍を紐解いてみることをお勧めします。Hello, World!まずは定番のHello, World!から始めてみましょう。 適当にコンソールアプリケーシ
このエントリは TDD Advent Calendar 2011 の15日目です。 先月11月は26日と27日に、TDDBC 福岡 2に参加してきました。 私にとって、初めてのTDDBC参加になります。 今まで仕事でもTDDを導入する余地がなくて(今年は開発じゃないことをやっていることが多かった) 、個人作業だけぼっちTDDしてました。 なので、こういう場でTDDをちゃんとやれて、しかももう一つ念願だったペアプロまでできて、 本当に得るものが多い2日間でした。 で、このTDDBC 福岡 2に参加して、あるいはそれ以前から思っていたことがいくつかありました。 それを雑記の形でつらつらと綴っていこうと思います。関数型言語とTDDの相性は?TDDBCの1日目にこんなツイートをしました。 これは、1日目にあったディスカッションの中で、 id:t-wada さんが発言されたことを自分なりに整理したも
Does a wandering wolf dreams of a wondering, sometimes programming sheep? この記事は、Mercurial Advent Calendar 2011 の10日目のエントリです。 以前、 @troter さんが興味深いaliasを書いていました。 hg fix "fixed message" # (hg 1.8.x only) - Gist どうやらコミットメッセージを書き換えるコマンドのようで、「おぉ!Mercurialでもコミットメッセージを改編できるんだ!」と興奮しました。 およそ4時間後、試行錯誤の末に、このaliasのWindows対応版ができあがりました。 hg fix "fixed message" - Gist このaliasを書く中で、MQとShelveというMercurial拡張を使っています。Mer
Does a wandering wolf dreams of a wondering, sometimes programming sheep? ども、変態 F#er として有名なガブです。 この記事は F# Advent Calendar 2011 の2日目です。 1日目の id:bleis-tift さん、宣言ではゆるくいくと言っていました。 しかし、関数型プログラミングに馴染みの無いオブジェクト指向プログラマに読んで欲しい、素晴らしいエントリを書き上げてくれました! [F#]業務で使う関数型言語 (F# 編) 〜 レコードで値オブジェクトを簡単に作る - 予定は未定Blog版 このシリーズ、私の必読リストに追加されました! で、初日が(内容の素晴らしさはともかく)控えめだったので、2日目は自由にやらせていただこうかと。 どのくらい自由かと言うと、おそらくタイトルから少しばかりは感じ
結構前から気になっていましたが、ようやく私も virtualenv を入れてみることにしました。 virtualenv - Python Package Index この virtualenv というツール、お手軽にPythonの仮想開発環境を作ることができるものです。 私はpipからインストールしましたが、easy_installからでもインストールできるようです。 Windows環境でのvirtualenvさて、ご存知の方もいらっしゃるかもしれませんが、私はWindowsユーザーです。 virtualenvに限らず、Pythonに関する情報はLinuxやMacユーザーからのものが多いです。 とは言え、Pythonは比較的クロスプラットフォームに力を入れているプログラミング言語でして、大抵のことはWindowsでもできます。 で、virtualenvはWindows環境でも問題なくインス
Does a wandering wolf dreams of a wondering, sometimes programming sheep? ご無沙汰しております。 私事ですが、先日引っ越しをしまして、さらに諸事情によりネットが先週末まで開通しておりませんでした(・_・;) 更新が滞っておりましたが、また今後ともよろしくお願いしますm(_ _)m さて、タイトルの通り、今回はMVCパターンを実装してみようと思います。 Model View Controller - Wikipedia 実はここ半年くらい、「MVCパターンって何だろう?」と調べていました。 .NETの世界にもASP.NET MVCがありますし、名前は知ってました。 他にもWebの世界では、「○○フレームワークはMVCパターンを使ってる」みたいな話も聞きます。 でも、何だかどれも少しずつ違うんですよね。 ググってみても、
Does a wandering wolf dreams of a wondering, sometimes programming sheep? 私は日々の作業にGitとMercurialという、2種類のVCS(Version Control System : バージョン管理システム)を使っています。 Git - Fast Version Control System Mercurial SCM どちらも所謂「分散VCS」と呼ばれるもので、その中でも最も使いやすいツールの2大巨頭だと考えています。 で、Gitで作業の内容を管理していて、「あー、でもこれをMercurialでも管理したいなぁ」とか「BitBucketが便利だからリリース以降はMercurialでやろうかな?」って思ったりすることもあります。 そのように、Git → Mercurialというリポジトリの変換をやってみようとい
Does a wandering wolf dreams of a wondering, sometimes programming sheep? まずは、これを読んでいただきたい。 関数型言語はGUIが苦手? - まぁ、そんなもんでしょう。 関数型言語では、やはり副作用というものには若干ナイーブになるかなと思います。 そしてGUIは、随所に副作用を盛り込んで動作するので、なかなか頭を悩ませるところ。 そんな時でも副作用がある箇所を十分小さく作ることで、関数型のやり方を使いやすくなる(引いてはバグの入りにくいGUIが作れる)んですよ、という話です。 せっかく関数型言語を使っているのに、手続き型チックな書き方をせざるを得ないのは残念ですもんね。 FRPとはこのエントリの最後の方に、FRP(Functional Reactive Programming)なる単語があります。 FRPって何なんで
2011/08/13 23:04:49 @nobuhisa_kさん、F# user group - Japanでお世話になっています。実はWikiにF#プログラミングのページ(http://t.co/ymLmpBt)を作って、初心者向け、クックブックなどのコンテンツを作っていきたいのですが、問題あれば削除します>< 良い流れですね。 ちなみに筆者は、F# User Group - Japanの新ページにしばらくアクセスしていませんでしたww で、そう言えばF#初心者向けのエントリとか書いたことなかったなぁということに気がつきました。 そこから「よし、書こう」と思うまでに、そう時間はかかりませんでした。 タイトルは釣りm9(^д^) そもそも私がF#をマスターしていないのに、なんちゃらマスターを書くというのは滑稽です。 私からのオススメは「実践F#」をよく読むことですよ!よ! 実践 F# 関
最近、多忙によりあまり更新できなくなっております…(´・ω・`) そんな最中ですが、新しいブログを始めてみました。 a wandering wolf 「同じタイトルかよ!」というツッコミは無粋です。 これは Tinkerer というPython 製のパッケージを使って作りました。 Tinkerer Tinkerer は Sphinx というドキュメント作成ツールを利用しています。 Sphinx-Users.jp 簡単に始められるので、興味がある方はぜひ。 This is the translated text of the topic I've written - #126 Practical Introduction to NaturalSpec (ja: #126 NaturalSpec 実践入門).PrefaceIn the summer of 2012, some tutorial
Does a wandering wolf dreams of a wondering, sometimes programming sheep? 皆さんは、「モナド」という言葉をご存じでしょうか。 第3回 mapからモナドを理解する - 本物のプログラマはHaskellを使う モナドとは何か - モナドのすべて よく分かりませんねw 私もまだ分かりきっていないんですが、「どうなるか分からない処理を包んで安全に操作するためのもの」としてモナドを認識しています。 でも、何が分からないかも分かっていないのは不安です。 ならば、これはどうか。 モナドを自分の知っている言語で実装したら、理解の助けになるんじゃないだろうか? と言うことで、モナドをC#で実装してみようというのが今回のトピックです。 Maybeモナド 今回実装してみようと思っているのが、Maybeモナドです。 Maybeモナドとは、失
Does a wandering wolf dreams of a wondering, sometimes programming sheep?
Does a wandering wolf dreams of a wondering, sometimes programming sheep? 前回投下したエントリを受けて、今回はPythonでテスト駆動開発(TDD)をやっていこうと思います。 タイトルをご覧になっていただければ分かりますが、今回作りたいのはFizzBuzzプログラムです。 「FizzBuzzって何?」と思われた方は、以前上げたエントリを読んでいただけるといいかもしれません。 ところで、テスト駆動開発をするに辺り、オススメの教科書をご紹介しておきます。 テスト駆動開発入門 著者:ケント ベック 販売元:ピアソンエデュケーション (2003-09) 販売元:Amazon.co.jp クチコミを見る 実は、まだ私はこれを読んでいませんw ですが、TDDに精通する多くの方が本書を推しており、私も今年中には読みたいと思っていま
Does a wandering wolf dreams of a wondering, sometimes programming sheep? Pythonはつい先日、最新バージョンである3.2がリリースされました。 この言語は2.x系と3.x系の2系統がメンテナンスされていますが、2.x系は2.7が最後のメジャーバージョンであると宣言されています。 Python 2.7は今後、バグフィックスだけメンテナンスされ、新機能は3.x系統にだけ追加されるとも公表されています。 なので、これからPythonをやってみようという方は、Python 3.2をインストールされることをお勧めします。 ですが、これまでに世に出て使われている多くのフレームワークなどは、2.x系統で開発されてきました。 今後は3.x系統への対応が進むとは思いますが、まだ先の話になりそうです。 そうなると、2.x系統をインス
もう1週間経ってしまいましたが、明けましておめでとうございます。 本年も適当にやっていきますねヽ(´∀`)ノ笑 さて、2011年最初のエントリーは、ちょっと今までと趣が違います。 まずプラットフォームがLinuxですからね。 これは、私自身の備忘録として残したかったので、よろしければお付き合いくださいm(_ _)m 今回の環境: Windows Vista Ultimate に VMware Player 3.1.3 をインストールし、その上で Ubuntu 10.10 を動かしています。 1. 前準備 次のブログの「事前セットアップ」と言う箇所を参考に、いくつかのパッケージをインストールしました。 ubuntu 10.04 で Ruby on Rails(環境構築編) - プログラマの覚書 $ sudo apt-get install gcc $ sudo apt-get instal
このページを最初にブックマークしてみませんか?
『a wandering wolf』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く