WebSharperの基本

はじめに この記事は F# Advent Calendar 2015の11日目です。 4年前に、WebSharperの紹介記事を書きましたが内容が陳腐化してしまったで、またWebSharperについて書きます。 まだ書き途中なので随時更新します。 WebSharperとは WebSharperは、F#でWebアプリ…

ApiaryProviderで大マッシュアップ時代を生き抜く

はじめに この記事は F# Advent Calendar 2014の3日目です。 今回は、ApiaryProviderというライブラリを紹介します。 Apiaryとは Apiaryとは、Blueprintと呼ばれるWebAPI記述言語で作られたドキュメントをホスティングするサービスです。 ただドキュメントを…

DelegateDecompilerでEntityFrameworkをぱわわっぷ(入門編)

はじめに こんにちは、みなさんEntityFrameworkでドメインモデルつくってますか?(EFじゃできねーよ!という声が聞こえてきます…) 今日はEFプログラミングでドメインモデルづくりを促進するライブラリDelegateDecompilerを紹介します。 このライブラリはEn…

Functional HTTP Programming

はじめに この記事は F# Advent Calendar 2012の13日目です。 今回は、仕事でも十分に”実用”できるFunctional HTTP Programmingについて書いていきます。 一般的な.NET HTTP プログラミング .NETでHTTPプログラミング(サーバーサイド)といえば、一般的に下…

詳細設計書について思うこと 続き

前回の記事の続きです。 注意:結構身内ネタが含まれていてコンテキストがわからない人はなんのこっちゃってなるかもしれません。 今回は@kyon_mm君の設計書論争での独り言についてです。 前回の記事を書いて@kyon_mmの記事を読んだ翌日、みんなで議論をしま…

詳細設計書について思うこと

詳細設計書とは何か?ときかれれば下記のようなものを想像する人は多いと思う。 職業PGにわかるFizzBuzzirofさんの上の記事をみて詳細設計書について思うことをtwitterで垂れ流していたら、 詳細設計書を馬鹿にしている人達に腹立たしさのような何かを感じる…

ADO.NET EFで簡単にSQLをトレースする方法

Linq to SQLでは DataContext.Log というSQLを簡単にトレースできるプロパティが用意されていた。 だが、ADO.NET EFではそのようなプロパティはなく、 もっとも率直にSQLをトレースするならば、個々のクエリに対してObjectQuery.ToTraceStringを呼び出す必要…

F# WebSharperで関数型的ウェブ開発

F# Advent Calendar 2011 の4日目の参加エントリーです。 詳しくは http://partake.in/events/1c24993a-c475-4fc2-bca4-7a1cd2f81869 を。本当は F# 3.0 の TypeProvider 機能を使って WPF のカスタムプロバイダーを紹介しようと思ったんですが、 微妙にまだ…

F# 3.0 Type Provider 正規表現のCompile-time構文チェック

アローハ マハロー さてType Provider第一弾として紹介するのは 「正規表現のCompile-time構文チェック」です。 このように第一型引数で文字列をパターン文字列を渡すことでコンパイル時にパターン文字列の構文チェックを行えます。 type CheckRegex= Regex<…

F# 3.0 Type Provider 妄想は確信に近づく

アローハ グッモーニン さて、F# 3.0の新機能 Type Providerについての新報です。 目下調査中ですが、まだType Providerの作成には成功していません。 現在わかる限りの情報を書きたいと思います。 Type Providerの作り方です。 FSharp.Data.TypeProviders.d…

F#3.0の新機能

一部方憶測で書きますので、承知ください。 F# 3.0では Type Provider という機能が追加されます。 これはどういったものかというと、型パラメータを持つ任意の型を提供できる機能です。 例えば下記のような型があったとします。 type Netflix = ODataServic…

プログラマの素質

プログラマの素質ってなんだと思いますか? 数学ができること? 努力家であること? IQが高いこと? 全部違います。 プログラマの素質って実は、感性なんです! たとえば好きな音楽やアニメや映画を見て面白い!って思ったりすることです。 それさえあれば実…

ゲームクリエーターとドリームキラー

一言目には、「君では無理」二言目にも「君では無理」 そんなネガティブワードばかりを吐き続けるドリームキラーについて考察してみましょう。たとえ話をしましょう。 あるゲームクリエーター歴3年の人間がいたとします。 その人の元に「ゲームが好きだから…

Objective-Cの感想

最近、お仕事で Objective-C という言語を使う機会があったので その感想を書きたいと思います。 Objective-C とは Objective-C は、"初心者が苦労はすれども、挫折はさせず"をコンセプトにして設計された動的型言語です。 ベースとなるC言語に Smalltalk と…

XML再考

XMLについて思うことがあったので ぜんぜんまとまってないけど書き綴ってみる。 用語の使い方とかむちゃくちゃだし ぜんぜん厳密にしてないので注意・アプリケーションドメインのデータ構造 Appがあるとする。 これは仕様変更によって頻繁に変わる可能性があ…

コンストラクタの例外について

twitterでコンストラクタの例外について触れたが、 興味深い問題だったので再考。 自分の考えを書き出してみる。 * まずコンストラクタ例外の必要性についておさらいも含めて例外の必要性を考えてみる。 データ抽象型は、 ・ 型 ・ 不変条件 ・ 事前条件 ・ …

ChaberiSwitcher

今まで公開しまいと思ってたけど これからは自分の作ったものを全面的に見せていきたい。 技術を隠すのは自信がないみたいでいやだし もっと俺の創ってるもの、やりたいことを知ってほしい! ということでまず第一弾。 「Chaberi Swticher」 チャベリってい…

C#のメソッドのstring引数にnullが設定されたらコンパイルエラーにする方法を考えたなう

public struct NotNull<T> where T : class { public class Null { } public static implicit operator NotNull<T>(Null other) { throw new InvalidOperationException(); } public static implicit operator NotNull<T>(T other) { return new NotNull<T>() { value = </t></t></t></t>…

MSDNの説明に不満

http://msdn.microsoft.com/ja-jp/library/ms178366(VS.80).aspx データ バインディング式は、コントロールの DataBind メソッドまたは Page クラスが呼び出されたときに解決されます。 Pageクラスが呼び出されるってどういう意味だよ!!http://msdn.micros…

いまさらさらですが

はてなだいあり はじめました。 プログラミングに関するネタや身近なことを日記に書くと思いますので どうぞよろしくお願いします。