タグ

ブックマーク / bleis-tift.hatenablog.com (40)

  • 「変数に型がないということの利点について考える」の問題について考える - ぐるぐる~

    id:perlcodesample さんの 変数に型がないということの利点について考える - サンプルコードによるPerl入門 から。 ううむ。 けれども、型がないということは、当に素晴らしいことです。 型がないことによって、たくさんの面倒から解放されるからです。 冒頭のこれが、「静的型付き言語にはメリットが(ほとんど)ない」と言っているように思えてしまいます。 コメントのやり取りを見ても、ある程度そう考えているように受け取れます。 勘違いなどが多く見られたので、補足というか、反論というか、そんな感じのことを書きます。 追記: ごく一部、このエントリを「動的型付き言語と静的型付き言語を比べて、静的型付き言語の方が素晴らしい言語である」ということを言うためのものだと勘違いしている人を見かけました。 このエントリは、そこについては言及していません。 あくまで、元記事で「動的型付き言語のメリッ

    「変数に型がないということの利点について考える」の問題について考える - ぐるぐる~
    nakaji999
    nakaji999 2013/03/01
    @bleisかっこいい
  • 第一回 関数型言語勉強会 大阪に行ってきた - ぐるぐる~

    44人の枠に一時期80人以上が申し込むという人気ぶりの勉強会、第一回 関数型言語勉強会 大阪に行ってきました。 とても面白い内容の発表ばかりで、行ってよかったです。 勉強会自体について 大阪は関数型言語に関する勉強会を開く土壌はある*1と思うのですが、今まであまり聞かなかったので、今後も続いてくれるとうれしいです。 もともとの主催者が多忙により勉強会に来れなかったのもありますが、運営面ではちょっとこなれてないな、という印象を受けたました。 今後続いていってほしい、という思いも込めて、気になった点を列挙します。 発表タイトルが半数程度「未定」になっていた*2 ATND の地図が別の地点を指しており、騙された 勉強会自体の概要の説明あったっけ? 初心者に対するフォローがないに等しい*3 にも関わらず、前提知識が参加するまで不明*4 電源や無線 LAN といった設備に関する説明が最初なかった*5

  • デブサミで自分戦略についてしゃべってきた - ぐるぐる~

    いやぁ、ためになるセッションでした。 自分が若造でまだまだぺーぺーだと痛感させられましたね。 これに呼んでもらわなかったら今年はデブサミパスしようと思っていたので、呼んでもらって当感謝です。 発表資料 自分戦略 View more presentations from bleis tift 話さなかったこと この業界に入ったきっかけになった出来事 この業界に入るきっかけとなったのは、鈴鹿高専の推薦に受かったことです。 高専の推薦って、結構早い時期に合否が出るので、受験勉強から一抜けしちゃったんですよね。 一人だけ暇になっちゃって、先生からも「周りはまだ受験シーズン真っ最中なんだから、嬉しいかもしれないけど浮かれすぎないでね」とか言われちゃって。 で、「暇をつぶすために何かやろう。せっかくだから高専に入ってから役立ちそうなことやろう」と思い立ったんですよ。 その時やったのが、微積とプログラ

    デブサミで自分戦略についてしゃべってきた - ぐるぐる~
  • クラウド温泉2.0@小樽で発表してきた - ぐるぐる~

    発表資料の圧縮版です。 仕事で使うF# View more presentations from bleis tift 「仕事で使う F#」と言いつつ、仕事で使う部分は少ないです。 最初の構想としては、NaturalSpec とか Excel DNA とか FParsec とかの話をしようと思っていました。 が、参加者を見てみると、関数型プログラミング言語のことを知らない人や、 F# を勉強中の人がいたので、方向転換しました。 方向性として、 関数型プログラミング言語を知らない人向けに、F# を使うとなんだか凄そう感を出す F# を勉強中の人向けに、躓きそうなところや疑問に思いそうなところを潰しておく の 2 つが考えられたんですが、デブサミの発表では前者に振ったので、今回は後者に振ってみました。 仕事で・・・の部分については、「実案件で」ということで FParsec の話を入れました。

    クラウド温泉2.0@小樽で発表してきた - ぐるぐる~
  • TDD Boot Camp 東京 1.6 に行ってきた - ぐるぐる~

    行ってきました。 当日は .NET の TA をやるはずでしたが、希望者がいませんでした。残念。 暇になったので、C++Java の混合グループに入れてもらって、一人で F# やってました*1。 ソースは github に上げてあります。 bleis-tift/TDDBCTokyo1.6 · GitHub timeup というタグまでが、会場でやったところです。 それ以降は、ホテルに戻ってからの分で、一応全部のお題をやってあります*2。 開発は、 Visual Studio 2010 NaturalSpec / NUnit Git / git-now / Git-Hooks メモに TODO リスト な感じでやりました。 NaturalSpec は使い込み度合いがまだまだなので、色々試しながら進めました。 順を追って見てみる 最初の方は割と細かく進めたので、順を追って見てみます。長い

  • Excel-DNA を使うメリット - ぐるぐる~

    VBA を使うことに対して、Excel-DNA を使うことのメリットは大体こんな感じです。 テストが容易 コードの管理ができる 抽象度の高いコードが書ける 保守しやすい 一つずつ見ていきましょう。 テストが容易 VBA にも一応、VBAUnit などのテスティングフレームワークはあります*1。 しかし、VBA の言語自体の貧弱さもあって、あまり使いやすいものはありません。 さらに、ライブラリのような形で提供されるため、ツール連携などは絶望的です。 対して、Excel-DNA では通常の dll を作るだけですので、普通にテストを書くことができます。 先ほどの組み合わせの例にも、NaturalSpec というテスティングフレームワークを使ってテストを書いています。 コードの管理ができる VBA でも頑張ればできなくはないですが、Excel-DNA では何も頑張る必要はなく、ごく普通にコードを

  • わんくま東京 59で発表してきた - ぐるぐる~

    ちょっと前ですが、5/28 に開催されたわんくま東京 59 で Jenkins とか伺かとかそんな感じの発表をしてきました。 Hudson以外の何か with 任意 View more presentations from bleis tift 言語的には F# とか Groovy とか Ruby とか Perl とかなんかごちゃごちゃにしたアレでナニな感じです。 (個人的に) どうでもいいデモがことごとく動かなかったのは・・・ごめんなさい。

    わんくま東京 59で発表してきた - ぐるぐる~
  • 開発環境勉強会 in Nagoya #1 で発表してきた - ぐるぐる~

    6/18 に開催された開発環境勉強会 in Nagoya #1で CI っぽい話と Vim の話をしてきました。 CIのその先へ View more presentations from bleis tift Vim再入門 View more presentations from bleis tift @kei10in / Vim 結構ぱないね.使わないけど! #devstudy @sunflat / Vim奥が深い #devstudy @kaizen_nagoya / vim長年使っていたが、使っていない機能を覚えれた。#de... @fate_fox / Vimのことがさらに好きになった #devstudy @youku_s / 家に帰ったらvimプラグインをいろいろ試そう。補完系しかい... Emacs 使いの人にも Vim のいいところを伝えることができたのはよかったですね。 ちな

    開発環境勉強会 in Nagoya #1 で発表してきた - ぐるぐる~
  • TDD Boot Camp のお題を C# と Git でやってみた - 予定は未定Blog版

    自分で考えたお題を自分で解くとかそれなんてマッチポンプ・・・ 打ち上げ終了後のホテルと、翌日の帰りの新幹線の中で書いたコードを順番に追ってみます。 準備するものは Git で、あるといいものは Visual Studio 2010 と NUnit です。 まぁ、割と小さいコード (テストを含めても 300 行もない) だし C# を知らない人でもそれなりに雰囲気は掴めると思います。 あ、このエントリかなり長いです。 準備 Windows の場合、Git Bash を開いて、適当なフォルダに移動して git clone git://github.com/bleis-tift/MotsunabeZombieProject.git cd MotsunabeZombieProjectとしてください。 MotsunabeZombieProject というフォルダができて、その中に Git のリポジト

    TDD Boot Camp のお題を C# と Git でやってみた - 予定は未定Blog版
  • TDD Boot Camp 福岡 2 日目 - ぐるぐる~

    朝ごはんをぎりぎりでべて、直接会場に。 当日の発表資料はこちらです。 TDD Boot Camp福岡2日目 View more presentations from bleis tift 秋さん (id:Akineko) の発表の中で SQL で FizzBuzz やるとか SQL で bf 処理系作るとかそんなの絶対おかしいよ! て言われた気がしますけど全然おかしくないよ普通だよ! お昼ご飯をべて、午後からは新しい仕様を言い渡しました。 Web サービスからつぶやきを取ってきて、それを判別 非公式 RT も判別 現在の時刻前後 30 分の時間帯のつぶやきの判別 これに伴い入力形式を変更 「yyyy/MM/dd HH:mm:ss\tScreenName\tBody」 この変更は結構厳しかったみたいです。いろんなところから悲鳴の声が。 三番目のお題のために和田さん (id:t-wada

    TDD Boot Camp 福岡 2 日目 - ぐるぐる~
  • TDD Boot Camp 福岡 1 日目 - ぐるぐる~

    今回、trac を使ってお題を見れるようにするという仕組みを導入したのですが、会場ネットワークの構築に手間取ってしまいました。 午後から MotsunabeZombieProject に入ってもらう予定が、前半は FizzBuzz をやってもらうことに・・・ 役割分担をはっきりさせておくべきでした・・・申し訳ないです。 秋さん (id:Akineko) の力も借りてなんとか会場内のネットワークを構築して、お題を公開。 お題はつぶやきの種別判定で、まずは 普通のつぶやき ハッシュタグ リプライ mention をやってもらいました。 入力形式と、その出力形式が 入力形式 ScreenName\tBody 出力形式 種別\tBody としていたんですが、例として書いたプログラムでは TweetCategorizer tc = new TweetCategorizer(); String re

    TDD Boot Camp 福岡 1 日目 - ぐるぐる~
  • よくあるコーディングパターンと LINQ to Objects の対応付け - 予定は未定Blog版

    あると便利ですよね、ということで書いてみた。 よくあるコーディングパターンには yield とか使ってないです。 こっちの方がよくありそうでしょ? Select 全ての要素に何らかの処理を行いたいときに使用します。 // よくあるコーディングパターンその1 // 全ての要素を2倍するメソッド public IEnumerable<int> DoubleAll(int[] target) { var result = new int[target.Length]; for (int i = 0; i < target.Length; i++) { result[i] = target[i] * 2; } return result; } // Selectで書き直し public IEnumerable<int> DoubleAll(IEnumerable<int> target) { re

    よくあるコーディングパターンと LINQ to Objects の対応付け - 予定は未定Blog版
  • サンタクロース問題 - ぐるぐる~

    このエントリは Scala Advent Calendar jp 2010 : ATND の 24 日のものです。 前日に id:mzp (mzp さん) から「サンタクロース問題というのがあってね」という話を聞いたので、イヴだしやってみることにしました。ネタの提供ありがとう! サンタクロース問題の詳細については、 とかを見てもらえばいいでしょう。 面倒な人向けに概要: トナカイ (reindeer) が 9 匹いて、全員揃うとおもちゃを配りに行く。終わったら解散。 こびと (elf) が 10 人いて、そのうち 3 人そろうと次期のおもちゃをどうするかの会議を開く。終わったら解散。 以上です。 これを、Scala のアクター使って書いてみました。 アクター使って何か書くのは初めてだったけど、これは楽でいいですね。 import scala.actors._ import scala.ac

    サンタクロース問題 - ぐるぐる~
  • 分散バージョン管理勉強会で話してきた - ぐるぐる~

    12/17 に開催された、分散バージョン管理勉強会に参加して、会社で運用している Git と Hudson を連携させた構成の紹介をしてきました。 会場に行くまでの話とか、他の人の発表の話とか、その他諸々は別エントリにまとめるとして*1、このエントリでは自分の発表に関連するところを書きます。 分かり難いことこそ美徳 (Git は玄人向け?) という話があったんですけど、あー、うー。なかなか反論難しい感じですよねw もちろん分かりにくくしようと思って分かり難くなっているわけではないです。 要は何を取って何を捨てるか、という話で、Git では速度をとって他のものを捨てているイメージ。 ハッシュわけわからん、って人はそれなりにいて、自分も「Mercurial のリビジョン番号とハッシュ併用スタイルいいよなー」とか思っていたんですけど、 @bleis リビジョン番号でどこそことか言われても相手と自

    nakaji999
    nakaji999 2010/12/21
    テライケメン
  • F# でブログアプリを作る (Very Easy 編) - ぐるぐる~

    このエントリは F# Advent Calendar jp 2010 の第四回のものです。 第二回で、 既存の C# で書かれた ASP.NET Web アプリのどこかのサーバー側ロジックを、F# で記述することは容易なはずだ。 だからこそ、単なるお勉強言語としてではなく、実際にお客様にお届けする ASP/SaaS の奥底で、実は F# で書かれたコードが淡々と動作している、という未来を想像し期待しているのだ。 もちろんそこには、「C# でも VB でもいいんだけど、F# つかうと、こんなメリットが!」という背景があってこそである。 (ユーザーにしてみれば、実装が C# でも VB でも F# でも Java でも PHP でも Ruby でも、そのこと自体は直接には関係ない。ただ、生産性による短納期や、バグ等の品質として、ユーザー様へのメリットにつながってくる) ただ非常に残念なことに、

    F# でブログアプリを作る (Very Easy 編) - ぐるぐる~
    nakaji999
    nakaji999 2010/12/11
  • Git と GitHub を体験しながら身につける勉強会行ってきた - 予定は未定Blog版

    9/18(土) 15:30~ GitGitHubを体験しながら身につける勉強会(名古屋) : ATND 行ってきました。 なんかいろいろと話すことになったんですけど、あの場で言いそびれたこととか、もっとこう説明してればよかったなぁ、って部分の補足も兼ねたエントリです。 長文注意。 ショートカット git add の話 git add -p/git reset -p の話 リビジョン番号がない話 ブランチの話 git-completion の話、__git_ps1 の話 コミットの指定の話 reset の話 rebase と merge の話 公開したものの rebase の話 stash の話 TortoiseGit、HG、SVNのはなし 全体を通して git add の話 Git と SVN では、add に限らず、同じ名前のサブコマンドでも意味が異なるものがいくつかあります。 その中

    Git と GitHub を体験しながら身につける勉強会行ってきた - 予定は未定Blog版
  • わんくま名古屋 #14 で発表してきた - ぐるぐる~

    CI と DVCS を組み合わせて幸せになろう、という話です。 発表資料は ciwankuma.pdf で、手順とかも書いたやつは CI(ipa).pdf です。 今回は、「こういうことができる」というのを重視して、具体的な手順とかは説明しませんでした。レベル 3 くまーだしいいよね? で、具体的な手順とかは CI(ipa).pdf の方を見てもらえればいい・・・ようにしようとしたのですが、したのですが!まだ全然できてません。 そのうち頑張ります。 ちなみに今回は CI に Hudson を、DVCS に Git を使いましたが、たとえば DVCS は Mercurial でもできるっぽいです。 ただし、Git では post-receive で受け取ってから CI を起動し、失敗したら reset を使って巻き戻しましたが、Mercurial には「受け取った内容は取得できるけどリポジト

    わんくま名古屋 #14 で発表してきた - ぐるぐる~
  • TDD Boot Camp 名古屋を振り返って - ぐるぐる~

    TDD Boot Camp 名古屋を終えては連絡的な意味合いの強いエントリでしたが、こちらはイベントの感想になります。 一日目 一日目は、ペアプロによる TDD の実体験と、レビュー・・・を、見て回りました。 色々な言語の、色々な人によるコードを見ることができて、とても面白かったです。 1 つの島に複数の言語を混ぜた*1のはなかなか良かったかな、と思う反面、予定していた時間を軽くこえてしまうほどの熱中具合だったのは反省点です。 それとまさか、OCaml で 2 ペアもできてしまうとは全く予想していませんでした。名古屋すごい。 前から「いつかは会いたい!」と思っていた id:kaorun55 (かおるんさん) とお話しすることもできました。ばたばたしててじっくりお話しすることはできなかったので、次はじっくりゆっくりお話ししたいです。それはそうとかおるんさん、イケメンすぐる・・・ 懇親会までの

    TDD Boot Camp 名古屋を振り返って - ぐるぐる~
  • TDD Boot Camp 名古屋を終えて - 予定は未定Blog版

    TDD Boot Camp 名古屋ですが、無事終えることができました。 和田さん、スタッフのみなさん、そして参加者のみなさん、当にありがとうございました。 個人的な感想は後日別のエントリとして書くつもりですが、それとは別に書かなければいけないこともあるので、そこら辺を書いておきます。 トラックバックセンター TDD Boot Camp 名古屋についての記事をブログなどにアップする場合、 TDD Boot Camp名古屋 - 名古屋アジャイル勉強会 - Yahoo!ブログ の「この記事にトラックバックする」を開くと出てくる URL にトラックバックを投げていただけると、今後の役にも立てやすいので、ぜひお願いします。 リポジトリ TDD Boot Camp 名古屋で書いたコード用のリポジトリを、Google Code に用意してもらいました。 Error 404 (Not Found)!!1

    TDD Boot Camp 名古屋を終えて - 予定は未定Blog版
  • Java の enum - ぐるぐる~

    イマドキの Java には enum があるんですよ実は、という話。 知ってるよそんなこと!な人は読むまでもないかも。 enum って? 列挙型のこと。C とか C++ とか C# とかでおなじみのアレ。 単純な enum は Java でもこれらの言語の enum と同じような記述になるけど、これらの言語の enum が整数型をベースにしているのに対して、Java ではオブジェクトをベースにしている点が異なる。 まぁその話は後ほど・・・ 単純な enum ただ列挙するだけの enum なら、当に C や C++ や C# とほとんど変わらない。 // 信号機の色 enum SignalColor { RED, BLUE, YELLOW } ただこれだけ。末尾には、余分なカンマがあってもいい。 enum SignalColor { RED, BLUE, YELLOW, } 更に、末尾にセ

    Java の enum - ぐるぐる~