SG

2011-01-01から1年間の記事一覧

F# 3.0 の Query expressions

F#

この記事は F# Advent Calendar 2011 の13回目です。 ←前回 [twitter:@furuya02] さん「F#によるパケットモニタの作成(WinPcap)」 →次回 [twitter:@jsakamoto] さん 「F# で正規表現デザイナ ASP.NET MVC アプリを作成する」 はじめに 今年の Advent Calenda…

F# で LINQ 入門 Distinct

F#

入門と銘打ってますが、入門しているのはわたしです。Distinct メソッドでは、シーケンス内から重複した要素を取り除いたシーケンスを取得します。 open System.Linq let cart = [ "TaPL", 6119; "SICP", 4830; "TaPL", 6220; "SICP", 4830; "TaPL", 6119;] …

F# で LINQ 入門 Where

F#

Where はシーケンスに対し抽出を行います。LINQ の中では最も使用されるメソッドの1つではないでしょうか。 open System.Linq (* 年齢不詳の人物もいるため Option *) type person = { name : string; age : Option<int> } (* 公式より抜粋 http://www.guilty-cro</int>…

F# で LINQ 入門 Single SingleOrDefault

F#

職場でシングルベルを迎えそうなSGです。わたし、ひとりぼっち…… open System.Linq let puellaMagi = ["Mami"] puellaMagi.Single() |> printfn "%s" let newPuellaMagi = "Madoka" :: puellaMagi (* ひとりぼっちじゃないのでエラー newPuellaMagi.Single()…

F# で LINQ 入門 First FirstOrDefault Last LastOrDefault

F#

始まりは肝心ですし終わりが良くなければ失敗だと思います。SGです。インデクサに 0 や hogeList.Count - 1 なんて書いていませんか? 書いてますね、わたしです。 open System.Linq let firstKiss (taste : string[]) = taste.First() |> printfn "初めての…

F# で LINQ 入門 ElementAt ElementAtOrDefault

F#

なかなか .NET Framework 2.0 を抜け出せないまま、LINQ なんて使わないし覚えなくていいや……と思っていたらいつの間にか .NET Framework も 4.5 がリリースされようとしているではありませんか。最近はテストメソッドで LINQ を嗜んでいますが、相変わらず…

1年間で読んだ本のうち5本の指に入る良書

プログラミングの勉強をするようになって1年が経ちました(勉強をする前もプログラマーではあった)。勉強会に参加したり、Ust配信を見たりしましたが、個人的に最も効率良く理解を深められたのは技術書を読むことでした。勉強会に参加するためには電車に乗ら…

MacBook Pro を購入

ノートPC買う買う詐欺を続けていましたが、とうとう買ってしまいました。VAIO Z か MBP かを迷っていた自分が最終的に MBP を選択した決め手は、エイチームさんの「実例に学ぶスマートフォンアプリ開発」で参加したとき、偶然居合せた隣の席の方に勧められた…

アジャイルサムライを読むなど

アジャイルサムライ−達人開発者への道−posted with amazlet at 11.11.12Jonathan Rasmusson オーム社 売り上げランキング: 579Amazon.co.jp で詳細を見る いえ、大分前に読んでいたんですけどね……! 名古屋のエイチームさんで、「アジャイルサムライ読書会 …

Gifu・Android ネットワークに行ってきた

ソフトピアジャパン センタービルの 11F で開催された Gifu・Android ネットワークに参加してきました。未だに予定は未定状態の Android アプリケーション開発案件に向けての情報収集がメインです。 ことしはアプリ開発をしませんか?! セッションが終わる頃…

わんくま勉強会東京#59+αに行ってきた

新幹線を降りると、そこは名古屋だった。というわけで、わんくま勉強会東京に行ってきました。名古屋Day ということもあり、アウェイ感がなかった。 名古屋1合目 〜関数型都市へのパスポート〜 マウンテン!数学をまともに勉強したことがない自分にも分かり…

上達する人と上達しない人の違い

元ネタはプログラミングではないのだけど、タイトル通りのことが書かれていて気になったので、用語を置き換えてみた。 プログラミングが上手くなるタイプ 明確な目標がある 常に向上心 理解力がある 自分で考える肉食系 自分に厳しく、テキパキと仕事をこな…

Mono for Android を触ってみたときのメモ(Visual Studio 向け)

MonoDroid として開発されていた Android の C# 開発環境が正式に「Mono for Android」としてリリースされました。仕事で業務特化された Android アプリケーションを作る案件があるのですが、今まで .NET Framework 上で動作していたライブラリをそのまま使…

プログラミングの基礎を読むなど

以前、bleisさんとmzpさんに勧められた、浅井健一さんの「プログラミングの基礎」を読みました。プログラミングの基礎 (Computer Science Library)posted with amazlet at 11.04.23浅井 健一 サイエンス社 売り上げランキング: 178988Amazon.co.jp で詳細を…

わんくま勉強会名古屋#17に行ってきた

会社の人に、お花見に誘われましたが余裕のお断りで勉強会に参加するという協調性の無さを発揮しました。2度目のわんくま勉強会です。お目当てはもちろん id:bleis-tift 先生のセッション。まだコンピュテーションの理解が乏しかったのだけど、今日のお話を…

初めてのAndroidを読むなど

初めてのAndroid 第3版posted with amazlet at 11.04.02Ed Burnette オライリージャパン 売り上げランキング: 54067Amazon.co.jp で詳細を見る ようやく Android プログラマになるようです。Java を触ったのは、もう 6 年も前のことになるので、細かいことを…

写経の品格

今日は TDDBC らしいです。行ってみたかったけど遠いしなによりノートパソコンが無い!(早く買え)ですので近場で開催されることを期待しつつ、流れてきたツイートで気になったことをメモしておこう、とかなんとか。 window.twttr = (function(d, s, id) { …

ステップアップ Visual Basic 2010 を読むなど

ステップアップVisual Basic 2010〜開発者がもう一歩上達するための必読アドバイス! (MSDNプログラミング)posted with amazlet at 11.03.15エディフィストラーニング株式会社 矢嶋聡 日経BP社 売り上げランキング: 152451Amazon.co.jp で詳細を見る 今の部…

リファクタリング・ウェットウェアを読むなど

リファクタリング・ウェットウェア ―達人プログラマーの思考法と学習法posted with amazlet at 11.03.03Andy Hunt オライリージャパン 売り上げランキング: 18109Amazon.co.jp で詳細を見る 人間の脳は、プログラマのスパゲッティコードよりもリファクタリン…

名古屋Ruby会議02に行ってきた

Ruby では Hello, World! すら書いたことないこの俺が名古屋Ruby会議02に参加してきました。拝聴させていただいたプログラムは [twitter:@bleis] 『そうだ、bf処理系つくろう!もちろんSQLで!』 [twitter:@sunflat] 『Amazon EC2にサーバを移転してみた』 […

プロダクティブ・プログラマを読むなど

プロダクティブ・プログラマ -プログラマのための生産性向上術posted with amazlet at 11.02.24Neal Ford オライリージャパン 売り上げランキング: 198758Amazon.co.jp で詳細を見る ニキビ予防ではありません。いや誰も間違えないって……。勉強する時間を少…

Developers Summit 2011 に行ってきた

なんと珍しくお許しがでたので、Developers Summit 2011に行ってきました。勉強会じゃないけどこのカテゴリにしておく。 参加した講演は Agility@Scale(アジャイル開発のスケールアップ)実戦編 MVP & .NET Community Members Lightning Talks いまだからこそ…

2点間の距離を求める

> // R = √(x1 - x0)^2 + (y1 - y0)^2 #r "System.Drawing" open System.Drawing let len (p0 : PointF) (p1 : PointF) = sqrt <| (p1.X - p0.X) + (p1.Y - p0.Y) len (new PointF(X = 2.0f, Y = 5.0F)) (new PointF(X = 5.0f, Y = 10.0F)) |> printfn "距離…

不良率をppm表記する

> // ppm(parts per million) [<Measure>] type ppm // 不良率(ppm)の計算 不良数 * 1000000 / 製造数 // 単位をつけるときは LanguagePrimitives モジュールの関数を使用する let calcPpm manufacture defective = LanguagePrimitives.FloatWithMeasure<ppm> (float defec</ppm></measure>…

絶対値を取得する

絶対値の取得には abs 関数を使用します。 > // 正負の値を持つ組を生成 let value = 3.14, -6.28;; val value : float * float = (3.14, -6.28) > // 正の値から絶対値を取得 value |> fst |> abs;; val it : float = 3.14 > // 負の値から絶対値を取得 val…

データの正負を逆転させる

> let data = 100;; val data : int = 100 > let data' = -data;; val data' : int = -100 > let data'' = (~-) data;; val data'' : int = -100 > data |> (~-);; val it : int = -100 >

四捨五入、切上げ、切捨て

> /// 切り上げ let RoundUp value digits = let pow = pown 10. digits let compute f x = f(x * pow) / pow if value > 0. then compute ceil value else compute floor value /// 切捨て let RoundDown value digits = let pow = pown 10. digits let com…

F# を始めたいあなたへ

窓の雪を頼りに実践F#をこつこつと読んでいました。去年注文して、届くのが楽しみだったのに konozama されましたが、それだけ良書だということに違いない。最近何を注文しても konozama されるけどきっと関係ない。 F#界隈の発展に少しでも役に立てることを…

わんくま勉強会名古屋に行ってきた

今年は1ヶ月に1度は勉強会に参加しよう! ということで、今月は色々あるうちの、わんくま勉強会さんにお邪魔してきました。業務では Android での開発を控えているので、Android 初心者勉強会にも参加したかったのですが、実はノート PC を持っていないとい…

If 演算子でワンライナー

関数型言語を勉強していると、普段メインで使用している VB.NET が如何に長ったらしいかと思い知らされます。パターンマッチにパイプラインにバナナクリップが使いたくなる 2011。 IIf 関数 互換のため、VB.NET にも IIf 関数が存在します。単純な条件分岐を…