タグ

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

  • neue cc - async/awaitのキャンセル処理やタイムアウトを効率的に扱うためのパターン&プラクティス

    async/awaitの鬼門の一つとして、適切なキャンセル処理が挙げられます。別に基的にはそんな難しいことではなく、CancellationTokenSourceを作る、CanellationTokenを渡す、OperationCanceledExceptionをハンドリングする。というだけの話です。けれど、Tokenに手動でコールバックをRegisterしたときとか、渡す口が空いてないものに無理やりなんとかするときとか、タイムアウトに使った場合の始末とか、ちょっと気の利いた処理をしたいような場面もあり、そうした時にどうすれば良いのか悩むこともあります。 こういうのはパターンと対応さえ覚えてしまえばいい話でもあるので、今回はAlterNatsの実装時に直面したパターンから、「外部キャンセル・タイムアウト・大元のDispose」が複合された状況での処理の記述方法と、適切な例外処理、そして最

  • neue cc - .NET 6とAngleSharpによるC#でのスクレイピング技法

    C# Advent Calendar 2021の参加記事となっています。去年は2個エントリーしたあげく、1個すっぽかした(!)という有様だったので、今年は反省してちゃんと書きます。 スクレイピングに関しては10年前にC#でスクレイピング:HTMLパース(Linq to Html)のためのSGMLReader利用法という記事でSGMLReaderを使ったやり方を紹介していたのですが、10年前ですよ、10年前!さすがにもう古臭くて、現在ではもっとずっと効率的に簡単にできるようになってます。 今回メインで使うのはAngleSharpというライブラリです。AngleSharp自体は2015年ぐらいからもう既に定番ライブラリとして、日でも紹介記事が幾つかあります。が、いまいち踏み込んで書かれているものがない気がするので、今回はもう少しがっつりと紹介していきたいと思っています。それと直近Visual

  • ソーシャルゲーム開発におけるC#の強みは圧倒的な速さ…グラニCTO河合氏が語る『神獄のヴァルハラゲート』開発・運営秘話 | gamebiz

    グラニの『神獄のヴァルハラゲート』がサービス開始から1年半以上経過したが、現在もなおGREEの人気ゲームランキングでたびたび首位を獲得するなど好調だ。さらに、カプコンとの共同タイトル『モンスターハンター ロア オブ カード』も上位に入っている。 今回、グラニの取締役CTOの河合宜文氏(写真右)にインタビューを行い、立て続けにヒットタイトルを生み出しているグラニの技術的な強さに迫った。今回、エンジニア以外の人にもわかるように初歩的なところから話してもらった(写真左は、取締役の福永 尚爾氏)。 ■そもそもC#とはなにか ———:よろしくお願いいたします。河合さんのプロフィールを教えてください。 前職は大手ソーシャルゲームの会社に在籍し、リアルタイムバトルゲーム2タイトルの開発に携わりました。その後、グラニの立ち上げから参画しました。 ———:御社では、C#を使っておられるとのことですが、この言

    ソーシャルゲーム開発におけるC#の強みは圧倒的な速さ…グラニCTO河合氏が語る『神獄のヴァルハラゲート』開発・運営秘話 | gamebiz
  • 1