タグ

ブックマーク / mag.autumn.org (7)

  • C#のバッドノウハウ募集 【▲→川俣晶の縁側→技術関連執筆情報】

    C#のバッドノウハウに関するを書くことになり、自分でもいろいろな問題を集めましたが、それだけでは広がりが足りないので、話題を募集します。 ・C#で開発するときに避けていること (例: クエリ式を使ったりメソッド形式を使ったり一貫性の無い書き方はしない) ・教訓になる失敗談 (例: switch文に文字列が使えることを知らず回りくどいコードを書いてしまった) ・C#で意味を持つ話ならC#に限定しない話でもOK (例: 全てのメンバーをpublicにする。C#以外でも意味を持つが、C#でも意味を持つ) ・C#によるXX開発の話、.NET F.Wの話でもOK (例:C#によるAzure開発での話) ・1つの話題でもOK 複数の話題でもOK

    masaru_b_cl
    masaru_b_cl 2014/03/06
    「Javaの呪い」アンチパターンとか?
  • LINQ for JavaScriptの誘惑 【▲→川俣晶の縁側→ソフトウェア→技術雑記】

    linq.js - LINQ for JavaScript linq.js Reference 「JavaScriptで扱うデータが少し複雑で多いプログラムを相手にしていて、そこでふと思い出したわけだ」 「何を?」 「JavaScriptのLinqを」 「Linqって、.NET Frameworkのライブラリだろ?」 「そうだ。でも、それと似た実装がJavaScriptにもあったのだ」 「えー」 「というわけで使ってみたよ。以下のようなコードが通ってしまうのはやはり凄いな」 var r = aMyFunction(); $.Enumerable.From(r).Where("$!=null").ForEach(function (i) { alert(i.name); }); (注意:自分のところで動いたコードの抜粋で、この通りに書けば必ず動くという話ではない。念のため) 「C#で使うクエ

    masaru_b_cl
    masaru_b_cl 2012/04/05
    . @neueccさんのlinq.js
  • 続・MVVMの世界は隣にあった 【▲→川俣晶の縁側→ソフトウェア→技術雑記】

    「あることに気づいて、愕然とした。うちのめされた」 「なんだい?」 「WPFにはコマンドという機能がある。機能を抽象化したものだ」 「それがどうした?」 「UIを改変しやすくするには、このコマンドという機能があると良いわけだ」 「どうして?」 「ある機能を発動するトリガをいくらでも変更できるからだ。ボタンは嫌だからメニューにするような改変も簡単で、インパクトも小さい」 「それで?」 「だから、抽象化されたUIレイヤーは持つといいことあるよ。ということだ」 「それに今更気づいたってこと?」 「そうじゃない。ここで言いたいのはもっと別のことだ」 「というと?」 「ANGFはWPFアプリではないが、最初から持っていたんだよ。抽象化されたUIレイヤーを」 「なぜ?」 「うん。理由は散文的で単純だ。ユーザー入力をジャーナリングしてプレイバックできるというのが開発目標にあってね」 「つまり。ユーザー入

  • MVVMの世界は隣にあった 【▲→川俣晶の縁側→ソフトウェア→技術雑記】

    「MVVMは自分のすぐ隣にあった。それに気づいていなかっただけなんだな」 「どういうことだい?」 「雑談を3つ語ろう」 テンプレートの話 §「MVVMすると、実はソースがめんどくさくなる。MとVとVMの3つが必要だからだ」 「うん。それは分かる」 「基的なフレームとなるクラスを用意するだけでめんどくさい。初期化タイミングとかね」 「終わってからまた戻ったりするんだよね」 「Windows Phoneの場合、普通にWindows Phoneアプリのテンプレートで始めるとかなりめんどくさい」 「うん」 「ところが、パノラマとかピボットのプロジェクトで始めると最初からVMのコードのテンプレートも込みで作ってくれる」 「それってどういうこと?」 「テストアプリは凝らないから、別にパノラマ選ばなくていいやと思うと見えない世界がある」 「むしろ、パノラマとかピボットの方がMVVM楽ちんってことだね」

  • MVVMとBindingとWPFとWindows Phone 【▲→川俣晶の縁側→ソフトウェア→技術雑記】

    「MVVMは何となく避けて通っていた」 「なぜ」 「昔、MVCってのがあったんだよ」 「今でもあるよ」 「そこは突っ込むな。ともかくMVCは上手く機能しなかった」 「だから、名前が似ているMVVMを避けて通ったわけだね」 「まあ、そうだな」 「でも、違ったの?」 「そうだ。違った、Windows Phoneのコードを書いていて、ふと書いてきたソースを振り返った瞬間に驚いた」 「なぜ?」 「しっかりMVVMになっていたからだ」 「じゃあ、君がこうなるべきだと思って勝手に書いたコードがMVVMだったということ?」 「この場合はそういうことになる」 「それはなぜ?」 「WPFというか、Windows Phoneのアーキテクチャがそれを求めているので必然的にそうなった、という解釈もできるが、どうもそうでもない感じだ」 「というと?」 「昔々、MFCにはModelとViewがあったけどさ。基的にV

    masaru_b_cl
    masaru_b_cl 2011/09/25
    WPFとかSLとかWP7やってると自然にMVVMになるっていう実例の一つ
  • LINQはループ構文の代用にならない!! なるわけない!!!! 【▲→川俣晶の縁側→ソフトウェア→技術雑記】

    「まあ、こんな文章をたまたまネットで見かけたわけだ」 この LINQ と云う機能がどの程度メジャーなものなのか知りませんが、for や while も使えるようになっておいた方がよいでしょう。(既に使えるのなら問題ありませんが...) 「間違ったことは言ってないのじゃないか? いくらLINQでループしないで書けると言っても、forやwhileは使えた方がいいだろ?」 「なんだ、君までそう思うのかい?」 「まさか、全部LINQで書いて、もうforもwhileも使うなっていうのかい?」 「はははは。まるで逆だよ。君も無理解の病魔に冒されているね」 「なんだって? LINQではループしないで書けるって言ったのは君だろう」 「そうじゃない。より正確に言うと以下のように言っている」 LINQを使うことで、もはやループすらさせないでコレクションを処理させることも多い「どう違うんだい?」 「いいかい。L

    masaru_b_cl
    masaru_b_cl 2011/06/24
    結構同意。"世間の一般的なLINQに対する理解度が『群盲象を撫でる』のレベルにとどまるならば、LINQ使って書けば世間のたいていのプログラマには負ける気がしない"
  • C#のforeach文で、自分が何回目の繰り返しか知る方法 【▲→川俣晶の縁側→ソフトウェア→技術雑記】

    foreach文でループをまわす場合、自分が何回目の周回であるかを知る方法は無いと思っていました。そのための変数を明示的にカウントアップしなければ分からないと思っていました。しかし、実はSelectメソッドと併用すると回数が分かります。 つまり、コレクションの順番に対応する0~の数字の生成はSelectメソッドに任せられるわけです。

    masaru_b_cl
    masaru_b_cl 2010/07/27
    ループは1回だけ回ってる
  • 1