[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

タグ

c#とprogrammingに関するshin1x1のブックマーク (6)

  • いまさら async/await - 鷲ノ巣

    VS 2015 もリリースされて、C# 6.0 が使えるようになった今頃になって、C# 5.0 の新機能の話というのも時機を逸してますが、まぁいいじゃない。 というわけで、今のところ最も新しい非同期処理のお話です。 昔の非同期処理 実のところ、やってることは昔から大して変わらないのです。 Begin/End パターン Asynchronous Programming Model(APM)とも言うようです。.NET における最古の非同期プログラミング手法です。 BeginXxx というメソッドを呼び出すと、裏でスレッドが立ち上げられて処理が行われます。 非同期処理が終わるとコールバック関数が呼ばれるので、コールバック内で EndXxx メソッドを呼んで結果を受け取ります。 Stream.BeginRead を例にすると、こんな感じ。 stream.BeginRead(buffer, 0, b

    いまさら async/await - 鷲ノ巣
  • 民の例外の投げ方 - Qiita

    C# Advent Calendar 2015 17日目の記事です。主は来ませり。 #戒めの言葉 コーディングとはコミュニケーションである。 人と実行環境(以下「主」)とのコミュニケーションであり、また、主を介した人と人とのコミュニケーションである。 つまりコーディングとは、読み手と書き手とで成されるコードのキャッチボールであり、キャッチボールであるからには、たとえ例外を投げる場合であっても、それが悪送球であってはならない。 #第一に既存の例外クラス利用を考える MSDN「スローする正しい種類の例外の選択」には以下のようにあります。 他の既存の例外とは異なる方法でプログラム処理できるエラー条件がある場合は、カスタム例外を作成してスローします。 それ以外の場合は、既存の例外のいずれかをスローします。 チームの例外を所有するという目的のためだけに、新しい例外を作成してスローしないようにします。

    民の例外の投げ方 - Qiita
  • C#/.NETがやっていること 第二版

    2. 今日の内容 • C#や.NET Frameworkがやっていること • どうしてそういう機能がある • (自前で実装するなら)どうやればできる • (自前でやる上で) 気を付ける必要がある点 3. 注意 • ベースは3月にBoost勉強会でやった内容 • 通常の3倍速で1時間で話した • 来、1時間で話す内容じゃない • かなりの前提知識を仮定 • 3時間話します • いくつか追記 • 前提をだいぶ緩めたので背景説明など • .NET vNextがらみ追加 • 5月の非同期勉強会での内容も少しマージ 同じような内容でも回数重ねてこなれてきてたり

    C#/.NETがやっていること 第二版
  • 非同期処理の基礎

    4. ThreadよりもTask for (int i = 0; i < num; i++) { var t = new Thread(_ => b[i] = F(a[i]) ); } for (int i = 0; i < num; i++) { Task.Run(() => b[i] = F(a[i]) ); } ×悪い例 ○良い(まだマシ※な)例 データの数だけ スレッド作成 Threadでなく Task利用 ※ この場合、ParallelクラスやParallel.Enumerableクラスが使いやすい 5. ThreadよりもTask for (int i = 0; i < num; i++) { var t = new Thread(_ => b[i] = F(a[i]) ); } for (int i = 0; i < num; i++) { Task.Run(() => b[

    非同期処理の基礎
  • neue cc - C#の強み、或いは何故PHPから乗り換えるのか

    特にPHPディスりたいわけでは、あるのかないのかはともかく、やっぱり実際に使ってきて良いところというのも分からなくもない感じです。会場でも話したのは、短期的な開発速度には有利なのは間違いないのかな、と。デプロイとかも、とりあえずポン置きでいいし、開発も、なんかもう複雑なことやると面倒だし、どうせ文字列だらけになるしで、開き直ってハードコーディングでバカバカ作っていくから速い、とか。ただし勿論あとで苦労するわけですがそれはそれとして。けれどやっぱC#良いよね、って。 言語も色々なトレードオフで成り立つわけですが、その中でもC#は、バランス良くて好きだなーというのが私の個人的なところです。Visual Studio良いよねー、でもいいですしLINQ良いよねー、もいいですし、IntelliSenseがないと生きていけないですし。うん、そう、IntelliSense指向言語が好きなわけです。 ほと

  • Pythonのwith文とJava7のtry-with-resourceとC#のusingの比較 - 西尾泰和のはてなダイアリー

    http://nhiro.org/learn_language/with_statement.html Java7は名前の通りtryと抱き合わせになっている。C#とPythonは分離されている。なのでJava7でC#やPythonと同じ挙動をしたければ必要なくても空のfinallyを書くことになる。(追記: finallyやexceptを伴わないtryもOKでした。thanks id:nowokay) 体が正常終了または例外を投げて異常終了した場合のどちらでも呼ばれる「後片付けメソッド」はC#だとDispose、Java7だとclose、 Pythonだと__exit__。しかしPython以外は引数を取らない。体が正常に終了したのかどうかはどうやって知るんだろうか。知る必要はないという判断なんだろうか。追記: Pythonがどんな引数を取るのか他の言語の人には想像がつきにくいらしいの

    Pythonのwith文とJava7のtry-with-resourceとC#のusingの比較 - 西尾泰和のはてなダイアリー
    shin1x1
    shin1x1 2012/07/14
    複数言語で比較すると分かりやすい / C# はじめて触った時、using は面白いと思った。
  • 1