タグ

C#に関するkawa-_-kawaのブックマーク (22)

  • メモリダンプから.NETのメモリ状態を探りたい - Grani Engineering Blog

    こんにちは、@mayukiです。 以前、このブログにてダンプ解析入門 - Visual Studioでの可視化によるC#トラブルシューティングというスタックオーバーフローのような問題を調査する方法について触れましたが、今回はダンプを元にメモリ周りの状態を見ていく方法について調べたので少しまとめてみました。 長い時間実行するようなアプリケーション(アプリケーションサーバーなど)ではメモリの使用状況やメモリリークなどを調査したいというケースがたまにやってきます。そんなときにはプロセスのメモリダンプを取得して解析することで問題の原因がわかりそう…そんなシチュエーションで役立つかもしれません。 お品書き お品書き 前提 メモ: 64bit コンピューターで動作している32bit プロセスのダンプをとる ダンプのみどころ どのツールで解析すれば? Visual Studioを試してみる DebugD

    メモリダンプから.NETのメモリ状態を探りたい - Grani Engineering Blog
  • C# と Java の例外に対する考え方の違い - とある社員のチラシ裏

    http://msdn.microsoft.com/en-us/vcsharp/aa336812.aspx を勝手に翻訳 なぜ、C#では例外定義を持たないのか いくつかの言語では、例外定義をメンバの宣言に含めることができたり、要求されます。 例えば、ある言語の作りでは、メソッドが発生させる ArgumentException は次のように宣言されます。 void DoSomething(int a) throws ArgumentException {...} C# はそのような例外定義はできないし、要求もされません。 いくつかの理由で例外定義を削除しました。その理由は バージョニング 生産性とコードの品質 クラス作成者に「チェックされた例外」と「未チェックの例外」違いを強いることの非現実性 インタフェースに対して、正しく例外を規定することの困難さ バージョニング C#が例外定義を要求した

    C# と Java の例外に対する考え方の違い - とある社員のチラシ裏
  • C#で開発できるオープンソース次世代型ゲームエンジン「Xenko」本日正式リリース。7月31日まで無料キャンペーン中 - AUTOMATON

    シリコンスタジオは、オープンソースの次世代型ゲームエンジン「Xenko」を日4月25日に正式リリースしたことを発表した。7月31日まで「ウェルカムキャンペーン」が実施されており、一部の有料プランを無料で体験できるとのこと。 『Xenko』は、C#で開発できる次世代型クロスプラットフォームゲームエンジンだ。最新型のPBR(Physically Based Rendering:物理ベースレンダリング)技術をはじめ、デザイン・オブジェクトの保持・再利用・レビューを効率的に行うためのシーンエディター、ビルトイン・プレハブシステム、シーンストリーミングシステム、最新のグラフィックAPI(VulkanやDirectX 12)をサポートするマルチスレッドなどの機能も備わっており、プラットフォーム間でシェーダーを共通化できる最新のシェーダーシステムを採用しているという。エンジンをつかさどるC#コードはオ

    C#で開発できるオープンソース次世代型ゲームエンジン「Xenko」本日正式リリース。7月31日まで無料キャンペーン中 - AUTOMATON
  • nullが生まれた背景と現在のnullの問題点 ― null参照問題(前編)

    Cの系譜を継ぐC#ではnullが長らく使い続けられてきたが、最近ではその存在が大きな問題だと認識されている。前後編でこの問題を取り上げ、今回(前編)はnullを取り巻く事情について考察する。 ← 前回 連載 INDEX 次回 → 近年、nullの存在は、billion dollar mistake(10億ドル規模の損失をもたらす過ち)と呼ばれるくらい忌避されるものになっている。 nullは、低コストでそこそこ安全に参照を扱えるという意味で悪くない妥協ではあるが、技術が進歩した現在ではもう少し賢い参照の扱い方があるはずである。C#のように、これまでnullを認めてしまっているプログラミング言語で、今からそれを完全になくすというのは現実的ではないが、nullに起因する問題を少しでも避ける手段はこれからでも追加していけるだろう。 今回は、nullが生まれるに至った背景から始め、nullが抱える問

  • 小ネタ 隠し演算子(?)

    副作用を起こさない(非変)インクリメント、デクリメント(non-modified increment/decrement)です。 実際、以下のようなコードを実行することができます。 var a = 10; Console.WriteLine(-~a); // 11 Console.WriteLine(~-a); // 9 ideoneとかでも実行できます。 ideoneは確かMonoで動いているはずで、MonoのC#コンパイラーもひそかに対応しているということですね。 こいつは、演算子の形状からtadpole (オタマジャクシ)とか言われたりもします。 (?. なんかもエルビス プレスリーの髪型っぽく見えるという話からelvis演算子とか呼ばれたりもします。それと同種の愛称です。) x + 1でいいじゃないかと思うかもしれませんが、 単項演算子なので優先度が高いという利点があります。 (x

    小ネタ 隠し演算子(?)
    kawa-_-kawa
    kawa-_-kawa 2016/12/12
    これはw いつか使ってみたいネタww
  • neue cc - ZeroFormatter - C#の最速かつ無限大高速な .NET, .NET Core, Unity用シリアライザー

    (現状は)C#専用の、新しいシリアライズフォーマットを作りました。アセットストアには置いてないんですが、GitHubで公開しています。ReadMeが超書きかけですが明日ぐらいには全部書き終わってるはず……。 neuecc/ZeroFormatter 特徴はデシリアライズ速度がゼロなので、真の意味で爆速です。そう、無限大高速。 嘘くせー、って話なんですが、実のところこれは類似品があって、Googleの出してるFlatBuffersと基的な考えは同じです(他にCap'n Protoというのもあります、こっちも元Googleの人ですね)。デシリアライズ「しない」から速い。つまるところ必要になるときまでパースを先送りするってことです。これは、アプリケーションの作りにもよりますが非常に効果があって、例えばデカいマスタデータをドバッと取得するなんてときに、その場で必要なデータってその巨大データのごく

  • 今さら入門するMVVMに必要な技術要素(Xamarin.Forms & UWP) - かずきのBlog@hatena

    Model View ViewModelパターン(以下MVVMパターン)が登場して約10年になります。 ここらへんで一度MVVMを実装するうえで必要になる技術要素を振り返ってみたいと思います。 その前にMVVM MVVMは以下のWikipediaあたりでも見てください。 Model View ViewModel - Wikipedia 見た目と、それ以外にクラスを分離して、さらに見た目をXAMLで作りやすいようにViewとViewModelに分離したようなイメージです。 見ていこう ということでMVVMで必要になる技術要素を見ていこうと思います。 INotifyPropertyChangedインターフェース まずは、これが無いと始まりません。MVVMではViewはViewModelを監視して、ViewModelはModelを監視していることが多いです。その時に、クラスのプロパティが変わった

    今さら入門するMVVMに必要な技術要素(Xamarin.Forms & UWP) - かずきのBlog@hatena
  • 始めよう! ドメイン駆動設計&マイクロサービス開発 ~C# と Azure Service Fabric で最高の DDD 開発を~

    始めよう! ドメイン駆動設計&マイクロサービス開発 ~C# と Azure Service Fabric で最高の DDD 開発を~

    始めよう! ドメイン駆動設計&マイクロサービス開発 ~C# と Azure Service Fabric で最高の DDD 開発を~
    kawa-_-kawa
    kawa-_-kawa 2016/05/25
    ドメイン駆動設計の概要を理解するだけでも有益なスライドでした♪
  • わたしが C# を学ぶにあたって教わっている先達のサイトをまとめてみる - tech.guitarrapc.cóm

    書いていないネタは多いのですが、アンケートで C# についてと言われました。 次なんの記事がいいですか? #書く記事募集中— guitarrapc_tech (@guitarrapc_tech) April 23, 2016 そこで、私自身 C# を学ぶにあたって参考にしているものをまとめておくことことにします。*1 はじめに感謝と尊敬を。ここに載せていないサイト、書籍の多くからも学びも得ています。今現在もそうです。 私自身が何か恩返しをできればと思いつつ、同じように悩まれている方への参考となれば幸いです。 目次 目次 個人ブログ Microsoft関連 困ったときの まとめ 個人ブログ 順番には大きな意味はありません。 サイト ブログ主 参考にしている分野 備考 ++C++; // 未確認飛行 C ++C++; // 管理人: 岩永 (@ufcpp) / Twitter C#, プログラ

    わたしが C# を学ぶにあたって教わっている先達のサイトをまとめてみる - tech.guitarrapc.cóm
    kawa-_-kawa
    kawa-_-kawa 2016/04/26
    すばらしい!有難うございます!!
  • C# で SOLID の原則に違反する危険性

    このブラウザーはサポートされなくなりました。 Microsoft Edge にアップグレードすると、最新の機能、セキュリティ更新プログラム、およびテクニカル サポートを利用できます。 C# で SOLID の原則に違反する危険性 Brannon King ソフトウェアを作成するプロセスが理論の段階から実際のエンジニアリングの段階に進化するにつれ、いくつか原則が生まれています。原則を当てはめるのは、コードの価値を維持できるコンピューター コードの 1 つの機能です。パターンとは、善し悪しは別にして、共通するコード シナリオのことです。 たとえば、マルチスレッド環境で安全に機能するコンピューター コードに価値を見出すかもしれません。あるいは、コードを変更してもクラッシュしないコンピューター コードに価値を求めることもあります。実際、有用な要素を数多く含むコンピューター コードには高い価値があり

    C# で SOLID の原則に違反する危険性
  • Walkthrough: Using TDD with ASP.NET MVC

    The ASP.NET MVC 2 framework. To download the most up-to-date version of the framework, see the ASP.NET MVC download page. The Contact.mdf database file. This database file is part of the sample project that you can download for this project: Download Creating a New MVC Application with Unit Tests In this section, you create a new Visual Studio solution that includes both the application project an

    Walkthrough: Using TDD with ASP.NET MVC
  • 【雑記】イベントの購読とその解除

    概要 C# の event 構文の問題と、その解消方法について説明します。 サンプル https://github.com/ufcpp/UfcppSample/tree/master/Chapters/Event/Observable ポイント イベントには発生側と受取側があって、発生側に受取側を登録する口が必要。 C# の event 構文は、このイベント登録口を作るための構文。 ただ、結構使いにくい。 Reactive Extensions使うのがいいんじゃないかな。 まず、イベントについておさらい。 ↓こういうの。「発生側」と「受取側」を明確に分離するためのパターン。 イベントの概要 event source, observable, event sender, ... など、呼び方はいろいろありますが、流儀や文脈の差であって、だいたい同じものです。 event 構文のおさらい C#

    【雑記】イベントの購読とその解除
  • CQRS Journey

    July 2012 Exploring CQRS and Event Sourcing The project is focused on building highly scalable, highly available and maintainable applications with the Command & Query Responsibility Segregation and the Event Sourcing patterns. The project was positioned as a learning journey. This guidance is designed to help you get started with the CQRS pattern and event sourcing. It is not intended to be the d

    CQRS Journey
  • A C# CQRS framework AgrCQRS

  • C# 6.0で知っておくべき12の新機能

    Visual Studio 2015正式版のリリースで利用可能になったC#言語の最新バージョン「6.0」の新機能を解説する。CTP 5→正式版に合わせて改訂。 連載 INDEX 次回 → 「C# 6.0」と呼ばれているC#の最新バージョンは、Visual Studio 2015*1で利用可能になっている。 この最新バージョンでは、「.NET Compiler Platform」(コード名:“Roslyn”)と呼ばれる新しいコンパイラーが導入されており、静的解析APIの提供など、コンパイラーまわりに大きな変更が行われている。一方、言語機能に目を向けると、async/awaitという大きな機能が追加されたC# 5.0に比べると、一つ一つの新機能自体は小さい。しかし、それらはプログラムをより書きやすくするための機能なので、C#開発者にとってはやはり重要なアップデートとなっている。 そして、これら

  • 非同期プログラミング - 非同期コードの単体テスト

    このブラウザーはサポートされなくなりました。 Microsoft Edge にアップグレードすると、最新の機能、セキュリティ更新プログラム、およびテクニカル サポートを利用できます。 非同期コードの単体テスト Stephen Cleary コード サンプルのダウンロード 最近の開発では単体テストが重要視されます。プロジェクトの単体テストを行うメリットとしてよく知られているのは、バグの数が減ること、リリースまでの時間が短くなること、結び付きの強い設計にならないことなどです。どれもすばらしいメリットですが、開発者に直接関わるメリットもあります。単体テストを作成すると、コードに対する自信が深まります。テストが済んだコードへの機能追加やバグ修正が容易になります。これは、コードが変化している間も単体テストがセーフティ ネットの役割を果たすためです。 非同期コードの単体テストの作成には、いくつか特有の

    非同期プログラミング - 非同期コードの単体テスト
  • Top 10 C# 6.0 Language Features | Developer.com

    Developer.com content and product recommendations are editorially independent. We may make money when you click on links to our partners. Learn More. In this article, I am going to list my top 10 features that are expected to be released with C# 6. Currently, C# 6 is available with Visual Studio 2015 Preview for developers to explore. I have used the CTP version 4 of the Visual Studio VNext to cre

    Top 10 C# 6.0 Language Features | Developer.com
  • Cutting Edge - ソース コードを読みやすくするヒント

    このブラウザーはサポートされなくなりました。 Microsoft Edge にアップグレードすると、最新の機能、セキュリティ更新プログラム、およびテクニカル サポートを利用できます。 ソース コードを読みやすくするヒント Dino Esposito International Obfuscated C Code Contest (国際難読化 C コード コンテスト) というのを聞いたことはありますか。簡単に言えば、故意に読みづらい C 言語コードで問題を解決するプログラムを書き、そのコードの汚さを競う公開コンテストです。ここ数年間に優勝したプログラムのソース コードは、ioccc.org/years.html (英語) で公開されています。 C コードの難読化を競うコンテストは、プログラミングのスタイルや読みやすさの重要性がわかる愉快な取り組みです。今回は、自身にも同僚にも読みやすく、理解

    Cutting Edge - ソース コードを読みやすくするヒント
  • C# - 強化された新しい C# 6.0

    このブラウザーはサポートされなくなりました。 Microsoft Edge にアップグレードすると、最新の機能、セキュリティ更新プログラム、およびテクニカル サポートを利用できます。 強化された新しい C# 6.0 Mark Michaelis C# 6.0 はまだ完成版ではありませんが、機能はほぼ完成に近いところまできています。2014 年 5 月のコラム「C# 6.0 言語プレビュー」(msdn.microsoft.com/magazine/dn683793.aspx) で紹介して以降、次期バージョンの Visual Studioの CTP3 リリース (コードネーム "14") に含まれる C# 6.0 には多くの変更や改良が加えられています。 今回は、新しい機能を紹介し、5 月に説明した機能の最新情報を示します。また、C# 6.0 の各機能の更新内容を説明した包括的な最新のブログも

    C# - 強化された新しい C# 6.0
  • LINQ in Unity

    LINQ in Unity LINQ to GameObject - https://github.com/neuecc/LINQ-to-GameObject-for-Unity/ UniRx - https://github.com/neuecc/UniRxRead less

    LINQ in Unity