C# / .NET における、パフォーマンス改善の Tips をお届けします。 これを見れば、効率良く 80 点を取ることができるようになるはずです!
C# / .NET における、パフォーマンス改善の Tips をお届けします。 これを見れば、効率良く 80 点を取ることができるようになるはずです!
そのときの文脈から何を指すか判断する必要がある 「.NET」という言葉 前回Project Reunionの話をしたので(「UWPとデスクトップアプリの統合を試みる「Project Reunion」のプレビュー版が登場する」)、ここであらためて「.NET」についてまとめておきたい。 .NET Coreのマスコット「dotnet bot」。ちょっと「かわいさ」が足りない感じだが、githubの登録ユーザーでコードをコミットしている(https://github.com/dotnet-bot より引用) Windows関係で「.NETなんとか」という言葉を聞いたことがあるだろう。「.NET」とは、Microsoftが開発・提唱した「アプリケーションの実行環境」である。実行環境とは少し抽象的だが、API(Application Programming Interface)やライブラリなどと呼ばれ
速いので使いたい 私の場合、ここ数か月で一番素晴らしいニュースだと感じたブログがこれでした。 https://devblogs.microsoft.com/dotnet/performance-improvements-in-net-5/ .NET5 がどれだけパフォーマンス向上のために努力してきたかという内容です。 ものすごいボリュームで読むのが大変でしたが、満足感のある記事でした。 この記事を読んだだけでも、早く.NET 5 を使いたいという気持ちになりました。 パフォーマンスが良くなったという知らせはいつでもエンジニアの気持ちを高揚させるのだと思います。 使いたい理由1 : GCが高速化した いくつものアプローチを重ねたことが記されていました。 GCが到達可能オブジェクトをマークする処理の情報を他のスレッドでも流用できるようにして、各スレッド内の同処理の作業量を一部省略可能にした G
早速ですが皆さん。 プロジェクトの計画を立てるとき、スケジュールの作成が面倒だと感じたことはありませんか? 汎用的なExcel等のツールを使って作成すると、まずは管理するためにフォーマットを決めなければならず、途中でのタスクの入れ替えやパスの変更はなかなか容易ではありません。 市販のツールを使おうにもただ試すだけにはハードルが高すぎたり・・・。 そういった悩みを解消するために社内開発に踏み切ったのが、内製アプリケーション「ScheduleCanvas(スケジュールキャンバス)」です。 今回のBlogではこのツールの仕様と、スケジュール作成がどう変わったのかを紹介するとともに、ツール実装におけるノウハウの一部を少しだけ紹介します。 今回このブログを担当するのは、セガゲームス 第3事業部 第3開発2部 テクニカルサポートセクションの麓です。 まずは私からScheduleCanvasとはどんなア
Cy#の河合です。今回、文字列生成におけるメモリアロケーションをゼロにする「ZString」というライブラリを公開しました。そこで、この記事ではZStringの紹介の他に、あらためてC#の文字列についてを深く分解して解説し、Stringの複雑さと落とし穴、そしてZStringの必要性について解説します。 [GitHub – Cysharp/ZString] 以下の表は `”x:” + x + ” y:” + y + ” z:” + z` という単純な文字列連結においてのパフォーマンス計測です。 それぞれ “x:” + x + ” y:” + y + ” z:” + z ZString.Concat(“x:”, x, ” y:”, y, ” z:”, z) string.Format(“x:{0} y:{1} z:{2}”, x, y, z) ZString.Format(“x:{0} y:
using (var client = new HttpClient()) { var response = await client.GetAsync(url); .... } これは間違いです。HttpClientオブジェクトは dispose してはいけません! Stackoverflowにも沢山この間違いがあります。 (追記: 正確に言うとdisposeしてはいけないわけではなく、生成と破壊を繰り返すのが誤りです) 正しい使い方はAPIの公式ドキュメントに書いてある通りです。 public class GoodController : ApiController { private static readonly HttpClient HttpClient; static GoodController() { HttpClient = new HttpClient(); } } 上
マイクロソフトはオープンソースで開発している.NETフレームワークの最新版「.NET Core 3.0」正式版のリリースを、オンラインイベント「.NET Conf 2019」で発表しました。 マイクロソフトが提供するおもなフレームワークには、Windows向けの「.NET Framework」、当初はおもにサーバアプリケーション向けとして登場したオープンソースの「.NET Core」、そしてモバイル向けの「Xamarin」の3つに大別できます。 今回リリースされた「.NET Core 3.0」では、これまで可能だったLinuxやWindows Serverのサーバーアプリケーションの開発に加えて、Windowsデスクトップアプリケーションの開発が可能になったことが最大の特徴です。 以下、.NET Conf 2019で紹介された.NET Core 3.0の特徴を中心に紹介しましょう。 .NE
Type a page name and press Enter. You'll jump to the page if it exists, or you can create it if it doesn't. To create a page in a module other than misc, prefix the name with the module name and a period. A wiki for developers PInvoke.net is primarily a wiki, allowing developers to find, edit and add PInvoke* signatures, user-defined types, and any other information related to calling Win32 and ot
.NET開発者中心 厳選ブログ記事 MVVMパターンの常識 ― 「M」「V」「VM」の役割とは? ―― 「the sea of fertility」より ―― 尾上 雅則 2011/05/18 「.NET開発者中心 厳選ブログ記事」シリーズでは、世界中にある膨大なブログ・コンテンツの中から、特にInsider.NET/.NET開発者中心の読者に有用だと考えられるブログ記事を編集部が発掘・厳選し、そのブログ記事を執筆したブロガーの許可の下、その全文を転載・翻訳しています。この活動により、.NET開発者のブログ文化の価値と質を高め、より一層の盛り上げに貢献することを目指しています。 MVVM(Model-View-ViewModel)パターンに関する知見があちこちに散らばっているように見えるので、そろそろまとめてみることにしました。この記事は、MVVMの基本的な考え方・実装方法などを把握されて
皆様、こんにちは。 今回は、.NET Framework の新元号対応に関わる変更について、変更の内容とリリース予定についてご案内します。 変更内容 現在、マイクロソフトでは .NET Framework のクラス ライブラリの新元号対応に関して以下の 2 点の変更を予定しています。 変更 1. 各元号における最終年を超えた和暦表現の文字列 (平成 32 年、昭和 65 年など) を日付型オブジェクトに変換する際の緩和措置 変更 2. .NET Framework 3.5 においても、和暦計算時に元号情報のレジストリを参照するような変更 それぞれの詳細について、以下にご案内します。 変更 1. について .NET Framework では、System.DateTime.Parse メソッドや VisualBasic の CDate 関数など、和暦表現の文字列を DateTime などの日
Blazor との出会い 今年2018年2月7日に、自分のソーシャルネットワークのタイムラインに Microsoft のブログ記事が流れてきました。 A new experiment: Browser-based web apps with .NET and Blazor ブラウザベースの .NET による Web アプリフレームワーク、"Blazor" (ブレイザー) だそうです。 これを読んだ当時、自分はこんな感想を持ちました。 「 "ブラウザベースの .NET による Web アプリ" ってなんのこっちゃ? まだ実験段階的なこと書いてるし、急いで試さなくてもいいかー。それよりも、これまで作った Angular 1.x な Web アプリの Angular5 への移行を急がなきゃ...」 ...ということで、何度も import 文を書く苦行や、*[(xyz)] みたいな呪文マークアッ
マイクロソフト製のWindows/Linux/macOSクロスプラットフォーム対応シェル、オープンソースの「PowerShell Core 6.0」正式版が登場 マイクロソフトは、Windows/Linux/macOSのクロスプラットフォーム対応の新シェル「PowerShell Core 6.0」正式版のリリースを発表した。Windows専用に開発されてきたPowerShellをオープンソース化し、.NET Coreをベースに作り直したものだ。 Windowsには「コマンドプロンプト」と呼ばれるコマンドラインツールが標準で搭載されています。コマンドプロンプトは、dirやcopyのようなMS-DOSの時代から使われている命令を用いてOSを操作し、バッチファイルなどを実行することができる、いわゆるシェルの機能を提供します。 しかしコマンドプロンプトは貧弱な機能しか備えていないため、マイクロソフ
AI is suddenly everywhere. Do you need to go and get a shiny machine learning degree to remain competitive? John Maeda says not to worry. He’ll show you how to cook delicious dishes into your coding repertoire with his new show - Mr. Maeda’s Cozy AI Kitchen. Find out how you can use GitHub Copilot, an add-on that is powered by AI, to get helpful suggestions when writing code or documentation. This
かざぐるマウスからの乗り換え先を探してたのですが、要求条件を満たすものがなかったのでフルスクラッチで書きました。現時点(バージョン2.2)で僕が使うには不満のないデキになったので、紹介がてら、忘れないうちに開発のメモやポイントなどを書き綴ろうと思います。 なお、C#で何かを書くのはこれが数回目で、かつ最新の文法書を通読したことがなく、逆引きでつまみ食い学習したため、C#的にはアレだったりするかもしれません。なにか変なところがあったら遠慮なくマサカリください。 作ったツールの紹介 名前はCreviceAppで、2016年5月の第2週から6月の終わりまでを使って書きました。その後はドッグフーディングして、バグを見つけるたびに潰しています。 必須要件 Windows 7 以降 .Net Framework 4.6 以上 特徴 信頼できるツールとして設計しました。取りこぼしなどがなく、高速で、イラ
DataGrid基本的な設定からメモしておく。 <Window x:Class="TawamureDays.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity" xmlns:local="clr-namespace:TawamureDays" Title="MainWindow" Height="213" Width="385" local:WindowBehavior.UseMessageCommand="True" local:Framewo
.NETの例外処理 Part.1 12/29/2008 5 minutes to read さて次は何を書こうかなぁと思ってましたが、前回のエントリのウケが比較的よかった様子なので、もうちょっと初心者向けのエントリを続けてみようと思ったり。ということで、今回は .NET の例外処理について書いてみたいと思います。 なぜにいまさら例外処理……? と思われる方も多いと思うのですが、理由はただ一点。現場レベルのソースコード読んでると、未だに例外処理がめちゃくちゃなアプリがホントに多いのです。 私が昔、Java を初めて触ったときに感動した機構の一つが例外処理(とそれに関連するスタックトレース)で、例外処理を正しく書くだけで、アプリの内部動作の大部分はわかるし、障害解析も圧倒的にラクになる。しかしその一方で、例外処理についてわかりやすくまとめられた書籍が少ないために、なかなか理解するのが大変なとこ
以下の内容は間違いや曲解が多く見受けられると思います。ご指摘コメント、プルリクエスト大歓迎です! WPFって? Windows Form に代わる GUI フレームワークという認識です。XMLを拡張したXAMLと呼ばれる言語でUIを記述します。ロジックとUIを分離することが可能なので、デザイナーとプログラマーの分業が可能だとかなんとか。 なんしか「イマドキのUIデザインが作成できるフレームワーク」なんだと思います。 非同期 ( async / await ) .Net Framework 4.5 から新たに加わったキーワードで、非同期処理を容易に書くことが可能となりました。 今までは、TCPコネクションの確率をするのに、相手側の応答を待つ必要があったため、UI部分の処理が停止してしまう問題がありました。それを回避するのに、UIと通信部分のスレッドを分け、通信スレッドが応答を待っている間もU
Tweet Version 1.0.8 released April 2nd 2016. This is an implementation of a NotifyIcon (aka system tray icon or taskbar icon) for the WPF platform. It does not just rely on the Windows Forms NotifyIcon component, but is a purely independent control which leverages several features of the WPF framework in order to display rich ToolTips, Popups, context menus, and balloon messages. It can be used di
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く