サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
iPhone 16
matarillo.com
2021-09-25 00:00:21 原文 DON SYME, Microsoft, United Kingdom 推敲: Philip Wadler, University of Edinburgh, UK 本稿は、F# プログラミング言語の起源と初期の歴史について説明します。 まず、1970年代、80年代、90年代の強く型付けされた関数型プログラミング(FP)の起源から始めます。 同時期にMicrosoftが設立され、成長してソフトウェア業界を支配しました。 1997年に、Javaへの応答として、Microsoftは内部プロジェクトを開始しました。これは最終的に.NETプログラミングフレームワークおよびC# 言語になりました。 1997年から、ケンブリッジのMicrosoft Researchで学術的な関数型プログラミングと産業界が結合しました。 研究者たちは、Project 7、つ
2018-06-30 11:07:18 みんな大好き、モナドに関する記事の一覧 Fabulous Adventures In Coding 元MSのC#コンパイラーチームの主任デベロッパー、その後コベリティを経て現在はFacebookにいるEric Lippertのブログで連載されていたモナドの解説記事の翻訳。 パート1 モナド・パターンは型に関するパターンである。 パート2 モナド的な型についていくつか実例を紹介し、共通点を知る。 パート3 モナド的な型に対してある演算を行い、ルールを2つ見出す。 パート4 2つ目のルールを一般化できないか試す。 パート5 一般化した2つ目のルールをさらに変更し、本当のルールを得る。 パート6 2つのルールにいくつかの制約を追加する。 パート7 最後の制約を説明し、制約のことをモナド則と呼ぶ。 パート8 モナド生成処理と関数適用処理の伝統的な名前を紹介。
2018-01-19 10:24:18 原文 await 式を含むメソッドの前には、コンテキストキーワードである async を置く必要があるというデザインなのは、どういう理由があって決定したことなのか、何人かの人々が私に尋ねた。 どんなデザイン上の決定でも同じことだが、そこにはメリットとデメリットがあり、多くの異なる原則は競合するので共存できないという文脈で評価されなければならない。すべての基準を満たすとか、誰もを喜ばせるといったスラムダンク・ソリューションはなさそうだ。我々は、達成できる妥協点を常に探しているのであり、到達不能な完全性を求めているのではない。このデザイン決定はその良い例である。 我々の鍵となる主義の1つは、「可能な場合はいつでも、破壊的な変化を避けること」である。理想的には、C# 1、2、3、4で動作していたあらゆるプログラムがC# 5で同様に動作するならば、それは素晴
2012-12-30 18:17:12 元記事 「31日間ReSharper一周」の16日目にようこそ。 今日から数日の間は、ReSharperでいちばんよく使うキーストロークの1つについて話そう。Alt+Enterだ。前に言及したときにはReSharperの「十徳ナイフ」と呼んだけど、それはとにかく万能だからだ。ある種のコンパイラエラーを修正できたり、コードを補完できたり、使われていないコードを削除できたり、総じて言えば、コーディング中に繰り返し現れる作業を自動でやってくれる。 今日のネタ: 名前空間のインポート。 基本 前にも言ったけど、ReSharperは認識できないシンボルを赤く表示する。でも、まだusingしてない別の名前空間の中に存在するシンボルであることが分かっていれば、ReSharperは別のものも表示する。エラーを修正させようとするヒントだ。 だから、もしソースファイルP
2012-07-17 19:45:12 Eric Leeの"GenesisEngine: Don’t Get Domain Objects From The Container“の翻訳。 ドメインオブジェクトはIoCコンテナ(DIコンテナ)に預けるな IoCコンテナは素晴らしいので、重要なプロジェクトではいつも使っている。しかし、IoCコンテナを使うにあたっては興味深い注意点がある。この注意点はそれほど明白なものではない。コンテナから直接ドメイン・エンティティを取り出してはいけない。 驚いたことに、このルールは出典がたくさんあるようには思えない。IoCの専門家にしてみれば割と知られていることなのに。(MLや掲示板では「やるな」というコメントを見かけるかもしれない。) しかし、コンテナからドメインオブジェクトを取り出すのがアンチパターンであるという、簡潔ではっきりした説明を見つけるのには非常
2019-03-22 07:06:19 Wes DyerのBlog “Yet Another Language Geek”に、モナドに関する記事が投稿されていたので、訳してみる。 (追記)Mike Hadlowのブログ記事も、ほぼ同じような内容を扱っている。 モナドの驚異 原文 「継続」という単語を聞くと目がどんより曇ってしまうとするなら、「モナド」という単語を聞けば心が麻痺してしまうことになるでしょう。だからこそ、モナドに対してもっと聞こえのいい呼び方を考えようとしている人がいるのでしょう。たぶん。 最近、プログラミング言語理論においてモナドは有名人です。モナドはいくつものブログの表紙を飾り、さまざまなものと比較されていました。果物箱から果ては恋愛まで。モナドを理解する経験によって、痛 気持ちいい 心地 になるんだ、と、オタクたちは至る所で叫んでいます。 継続と同じように、モナドは噂に聞
MVC (Model-View-Controller) MVC (Model-View-Controller) とは、対話型UIに適したアーキテクチャ・パターンである。 ロジックはModelに存在すること、ModelがViewやControllerに依存していないこと、 ViewとControllerはModelを介してのみ協調動作することが特徴である。 「UIパターン」を参照のこと。 サンプル集 .NET テスト 準備中 JavaScript jQueryでMVC (1) ゆっくりしていってね! MVCパターンのViewの部分にjQueryを使い、アニメーションさせています。 jQueryでMVC (2) 継続渡しスタイル(CPS)でアニメーション jQueryのアニメーションを継続渡しスタイル(CPS)に変更しました。JSDeferredのようなことを自力でやっています。 リンク集 G
2020-03-31 09:37:20 Eric LippertのBlog “Fabulous Adventures In Coding” に、非同期構文に関する連載記事が投稿されていたので、少しずつ訳してみる。 継続渡しスタイル(Continuation Passing Style)再訪 パート1 パート2: 制御フローは大雑把に パート3: コルーチンは慎重に パート4: 自身をひっくり返す パート5: CPSと非同期 C# 5の非同期 パート1 パート2: awaitはどこから? パート3: 複合 パート4: 魔法じゃない パート5: タスク大杉 パート6: asyncはいずこへ? パート7: 例外 パート8: もっと例外
持駒 後手 先手 棋譜 コメントアウトするのやめました。 ▲2六歩△3四歩▲7六歩△3三角▲同角成△同桂▲7八金△4二飛▲4八銀△6二玉▲6八玉△7二玉▲2五歩△8二玉▲7七玉△2二飛▲8八玉△7二銀▲5六歩△4二銀▲3六歩△5四歩▲3七桂△5三銀▲9八香 △4四角▲7七角△同角成▲同金△6四銀▲5九金△4四角▲4六歩△6五銀▲4五歩▽同桂▲同桂△5六銀▲5三桂打△5一金左▲6一桂成△同金▲6六金打△4五銀▲2四歩△同歩▲3一角△2三飛▲4二角成△7四桂 ▲5七銀△8五桂▲6八金△7七桂成▲同金△6六桂▲同銀△5二金打▲3二馬△2二飛▲同馬△同角▲8六桂△6九金▲7八金△5七角▲7七銀△5六銀▲5八飛△5五角▲4九飛△7九金▲同金△6七銀成▲5七飛△同成銀▲6六角 △5八飛▲9九玉△8五銀▲5九金△3八飛成▲5七角△8六銀▲6六銀打△9五桂 86手で後手の勝ち CM ボナンザVS勝負脳―最
2022-08-12 13:50:22 作成したアプリケーションとソースコード アプリケーション: https://refd6y.csb.app/ (ブラウザで実行します) ソースコード: https://codesandbox.io/s/graph-layout1-refd6y はじめに 連載記事のトップのところに書いた図はこのようなものだ。 これをコンピュータに自動配置させたい。 Eadesのばねモデル このような、つながった複数の物体をコンピュータに自動配置させるのは「グラフ描画」または「グラフレイアウト」と呼ばれる分野であり、さまざまなアルゴリズムが研究されている。この連載記事では比較的単純な「Eadesのばねモデル」というアルゴリズムを採用する。 Eadesのばねモデルとは、次のようなモデルをつくって物理シミュレーションすることで、物体を配置するアルゴリズムだ。 各ノード(頂点)
2022-08-12 13:37:22 追記 (2022/8) もともとは、Windowsアプリケーション(.NET Windows Formsアプリケーション) として実装していましたが、再公開を機にJavaScriptに移行しました。 きっかけ Nintendo DSのパズルゲーム「レイトン教授と最後の時間旅行」で出題された問題に、複雑に絡まったトンネルが出てくる。 これを解くときに、道が絡まったままだと頭がこんがらがるので、交点に番号を振り、 位置を入れ替えて見やすくした。 これをコンピュータにやらせたら面白いのでは?というのがこの連載記事のきっかけだ。 目次 #1 グラフ構造をSVGで表示 ノード(節点)とエッジ(線)のデータをSVGで表示する。 #2 ばねモデル Eadesのばねモデルをオイラー法を使って実装し、アニメーションさせる。 #3 ノードをドラッグできるようにする ばね
ソースコード lame.js アプリケーションの説明 ボタンを押すと博麗霊夢が動きます。文字も出ます。 ソースコードの説明 Model positionに霊夢の位置が、textにテキストが設定されます。 start()で霊夢の動きとテキストの変化が初期化されます。 runningがtrueの間は次のステップが残っています。next()を呼ぶと、position, text, runningが変化します。 Controller Modelを呼び出すだけです。Viewのことは感知しません。 View JavaScriptのViewはwindowオブジェクトおよびjQueryに依存します。 ViewをModelに登録することで、Modelが更新されたときにViewに通知されます。 このコードではupdate()が呼び出されるので、その中でModelの値を読み取り、 jQueryを使って画面を更新
インク機能とストローク インク機能のデモ (要 Silverlight2プラグイン) ソースコード InkApp.zip (11KB) アプリケーションの説明 タブレットやマウスを使って線を描くと、矢印が線をなぞる。 Clearボタンを押すと線がクリアされる。 ソースコードの説明 Silverlight2ではInkPresenterを使ってインク機能を実装する (WPFではInkCanvasを使えるが、Silverlight2にはない) 。 InkPresenterのMouseMoveイベントを捕まえ、Strokeオブジェクトに点を追加していく。 private Stroke currentStroke; private void ink_MouseLeftButtonDown(object sender, MouseButtonEventArgs e) { ink.CaptureMous
2022-08-03 11:55:22 マイクロソフトのPAG(Platform Architecture Guidance)チームは、 マイクロソフト・プラットフォーム上でのシステム開発における「規範的なパターン」と「ベスト・プラクティス」に関する情報を “Patterns and Practices”という名前で多数公開しています。 その中には、.NETのアプリケーションアーキテクチャに関するものもあります。 原文 Microsoft Application Architecture Guide, 2nd Edition @ITに寄稿した記事 @IT:連載:アプリケーション・アーキテクチャ設計入門 アプリケーション・アーキテクチャ・ガイド2.0解説 − @IT 自分用のメモ AAGの読み方 全体の枠組み アーキテクチャスタイル
北海道で物理シミュレーション 物理シミュレーション (要 Silverlight2プラグイン) ソースコード PrefecturesSolution.zip (222KB) アプリケーションの説明 北海道が重力に引かれて落ちる。マウスドラッグで引っ張ることが可能。Resetボタンで最初の位置に戻る。 ソースコードの説明 物理エンジンはFarseer Physics Engineを使っている。 さらに、Physics Helper for Blend and Silverlightを使って剛体定義をしている。 このPhysics Helperは、Pathでストロークを定義するだけで自動的に剛体に変換してくれる。 デモ動画は下のブログで見ることができる。 andy.beaulieu.com > Home - Physics Helper gets 1st Place at MIX09 Show
Silverlight3でiTunesのCoverFlow Cover Flowのような画像表示 (要 Silverlight 3 プラグイン) ソースコード PseudoCoverFlow.zip (22.3KB) アプリケーションの説明 Leftボタンにマウスを乗せるとアルバムが左に動く。Rightボタンだと右に動く。 ソースコードの説明 アルバムジャケット表示部分は、どうやらカスタムコントロール化しておくと具合がよさそうなのでそうした。 まずはXAML。 <Canvas x:Name="LayoutRoot"> <Canvas.RenderTransform> <ScaleTransform x:Name="Scaler" /> </Canvas.RenderTransform> <Canvas Width="500" Height="750"> <Canvas.RenderTran
木構造データをバインドする 木構造データをバインド (要 Silverlight 2.0プラグイン) ソースコード TreeGridSolution.zip (20KB) アプリケーションの説明 東京都の区市町村を表示する。 ソースコードの説明 Silverlight ToolKitのTreeViewを参考にした。 XAMLは以下のように、TreeViewと同じように使える。 <UserControl x:Class="Matarillo.Page" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:controls="clr-namespace:Microsoft.Windows.Con
2013-07-11 10:17:13 Joe White’s Blogに“The 31 Days of ReSharper”という記事群がポストされていて面白かったので翻訳してみた。 ReSharperとは、JetBrains社(IntelliJ IDEAというJavaの開発環境を販売している会社)がリリースしたVisual Studioアドインで、基本的にC#用の開発環境。 なお、元記事は2007年に書かれたもので、その時点ではReSharperのバージョンは2.5系であることに注意。 (2013/7/11追記)ReSharperのバージョン8から、C++がサポートされるようになる。(なので、「ReSharperはC++には対して役立たない」はもう正しくなくなる。)詳細はJetBrains社のブログで確認してほしい。 31日間ReSharper一周 ReSharperは、(VS 200
UIパターン 追記 この記事の一部を加筆・修正したものを「開発者が知っておくべき、6つのUIアーキテクチャ・パターン」として@ITに転載しています。 MVVMを追加した上で、アプリケーションモデルとMVVMをプレゼンテーションモデルのバリエーションとして位置づけました。 MVPの2つのスタイルとして、監視コントローラとパッシブ・ビューを説明しました。 まえがき Martin Fowlerの"GUI Architectures"を訳したので公開しようと思ったのだが、FAQページに「EAA developmentとかDSLなんかは商業出版するんで例外ってことで」と書いてある。面倒だったので翻訳の公開はやめて、「自分の理解を書く」というスタイルにしようと思う。 Fowler氏が説明しているのは 「フォームとコントロール」、「モデルビューコントローラー (MVC)」、「プレゼンテーションモデル」、
2012-07-17 19:45:12 翻訳許可を与えてくださったJohn Osborn氏とO’Reilly社に感謝します。 原文は下のリンクを参照してください。 C#: Yesterday, Today, and Tomorrow: An Interview with Anders Hejlsberg, Part 1 C#: Yesterday, Today, and Tomorrow: An Interview with Anders Hejlsberg, Part 2 C#: 昨日、今日、明日 アンダース・ヘルスバーグは1996年にマイクロソフトに転職し、初期はVisual J++とWindows Foundation Class (WFC) のアーキテクトとして仕事をした。 ヘルスバーグは現在Microsoft Distinguished EngineerかつC#のチーフアーキテク
2012-07-16 14:25:12 WEB+DB PRESS総集編[Vol.1~36] | 技術評論社 WEB+DB Press 総集編[Vol.1〜36]に書いた記事『Webエンジニアのための基礎,徹底理解 3章:アルゴリズム再入門 C#編』を公開します。 ちなみにこの記事ではデータ構造についての話を最小限にしています。出てくるデータ構造は配列と二分木だけ。それは、データ構造については別のライターさんが記事を書くことになっていたからです。 ちなみに、書いてみたかった(というか、書いてみたけどやめた)アルゴリズムは、 ハッシュ法 (これはデータ構造の章にあります。すばらしいです) 木の探索 (traversal) 平衡木 (AVLとか) その他の有名なソート (バブルソート、シェルソート、ヒープソート、etc) Skip List (これはどちらかと言うとデータ構造メインな話なのでため
2022-08-01 09:00:22 私、猪股健太郎が興味を持った情報技術に関する情報を集めています。 プロフィール こんにちは。猪股健太郎といいます。俣じゃないです股です。 日本語変換システムによっては猪俣のほうが先に候補に上がることがあるので間違えられるのかもしれません。 1975年7月生まれ、BIPROGY株式会社に在籍。 Mircosoft MVPでした(2008年7月から2018年6月まで10期受賞)。 ブログ一覧 e-mail kentaro.inomata [atmark] gmail.com twitter @matarillo facebook inomata.kentaro linkedin kentaro-inomata-2854254 activitypub (mastodon) @matarillo@social.matarillo.com mixi https
このページを最初にブックマークしてみませんか?
『トップページ | matarillo.com』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く