この記事は Sansan Advent Calendar 2017 の 25 日目、すなわち最終日の記事です *1。ネタもないので参加する気はなかったのですが、とある社内バー的なもので酔っ払っていたところ会社の新卒君である id:kanjirz50 が目を輝かせて「最終日を飾ってください…
ブログがあまりにも休止状態で自分にドン引きしていますが、先日開催されたAWS Summit Tokyo 2017に併設の開発者向けイベントAWS Dev Day Tokyo 2017で登壇しました。スライドがこちら。 Sansanがメッセージング (SQS) でスケーラビリティを手に入れた話 fro…
ありがたいことに機会をいただき、『C#エンジニア要請読本』という書籍の一部を執筆しました。今回が初めての執筆です。 Amazon.co.jp: C#エンジニア養成読本 (Software Design plus): 岩永 信之, 山田 祥寛, 井上 章, 伊藤 伸裕, 熊家 賢治, 神原 淳史: 本…
仕事で使うためにやっつけで書いていたのですが、やってるうちに勢い余って割と作り込むあるあるを踏み抜き、せっかくなので公開することにしました。 atsukanrock/EmailThroughputCheckergithub.com 何ができるかっていうと 大したことはできません。片手間…
勤務先で開催された今だから学びたい!DDD (Domain-Driven Design) - Sansan .NET勉強会 #10 という勉強会に登壇しました。私が好きな設計手法である DDD についての発表ということで、けっこう気合いが入っていました。時間の都合上、内容が浅くなってしま…
2月27日の金曜日、(第八回) 「ネクストスケープ×Sansan 」 .NET勉強会に登壇しました。その際の発表資料を公開します。 自分はそもそも生粋の開発者気質でして、ID連携というテーマ自体にはそれほど興味を持てなかったというのが正直あります。きっと自分だ…
Visual Studio 2013 (VS) の "Performance and Diagnostics Hub" が超いいです。とうわけでこの記事は自分向けのリンク集です。 .NETアプリのメモリリーク調査には従来からWinDbgという方法がありましたが、WinDbgはとても手軽とは言えません。Performance a…
Reconsidering Multithreading Design Patterns from Atsushi Kambara タイトルは「マルチスレッドデザインパターン再考」です。我ながら仰々しいタイトルですが、結局Producer-Consumerパターン最高!みたいな内容になりました*1。でも実際Producer-Consume…
※この記事はException handling improvements for async void methods in Windows 8.1のざっくり和訳です。 ざっくり言うと async voidなメソッド内で例外が起こると: Windows 8では‥例外は補足不能。アプリは死ぬ Windows 8.1だと‥Application.UnhandledEx…
WindowsストアアプリにPDFファイルを同梱して、それを当該アプリから開くやり方です。気合の入ったREADMEをPDF化してアプリに同梱して、開くボタンを付けるなんて良いですね!それでWindowsストアの審査に通るかどうか知らんけど。 PDFファイルを同梱するに…
「はてなダイアリーが許されるのは小学生までだよねー」」「キャハハハハ」という声に押されてはてなブログに移住してみようと思います。せっかくだからMarkdownの練習もしたい。「『プログラミング .NET Framework 第4版 』座談会」で発表してきました。と…
284スライド30分は無理ですたorz Application Architecture for Enterprise Win Store Apps with DDD Pattern from Atsushi Kambara
Silverlightを囲む会in東京#6に登壇します。カスタムコントロールの作り方でも紹介しようかなぁ、などと思ってます。テーマが「Silverlight5新機能とSilverlightの基礎」なのにSilverlight 5のお話を入れられそうになく、そのうえ周りの講師がみんなマイク…
連載記事にするつもりが、第1回のみ公開して第2回は下書きに放置していた。第2回が書きかけだからだが、当時のことをほぼ完全に忘れているので書き切れそうにない。なのでエイヤッと公開しておく。このあとControl.InvokeやBeginInvokeに関する話(この辺と…
.NETのNullableの比較について記憶できないのでメモ。 nullと非nullの比較 int? value1 = null; int? value2 = 10; だと 式 結果 value1 false value1 false value1 == value2 false value1 != value2 true value1 > value2 false value1 >= value2 false nu…
最近になって初めて*1、本格的なWindowsフォームアプリケーションを開発した。その中でいくつかリソースリークしやすいポイントを見つけたので記録する。書いてみるとかなりの分量になったので、分割することにした。本エントリはその第1回。 Windowsフォー…
はじめに IronPythonを使えば、CONFIGファイルで自由にプログラミング可能なアプリケーションを、実装できる。本エントリでは、その方法を簡単に紹介する。
はじめに 本エントリは『ASP.NETで忘れずにやっておくべきこと』シリーズの第2回。「セッションハイジャック対策」について記す。
Patterns of Enterprise Application Architecture (Addison-Wesley Signature Series (Fowler))作者: Martin Fowler出版社/メーカー: Addison-Wesley Professional発売日: 2002/11/05メディア: ハードカバー購入: 4人 クリック: 36回この商品を含むブログ (…
はじめに 本エントリから何回かに分けて、ASP.NETアプリケーションを作成する際に、忘れずにやっておくべき(だと私が考える)ことを挙げる*1。第1回は「ViewStateUserKeyを使う」だ。 *1:網羅的なリストではなく、私にとって当たり前でないものに限ることに…
DataTableの一部の列でDistinctするコードを書いたので、記録しておく。
はじめに ブラウザ上でのJavaScriptに、showModalDialogというメソッドがある。MDCのリファレンス(MDC)の説明*1を引用すると、 指定された HTML 文書を含む モーダルダイアログボックスを生成し、表示します。 という機能を持つメソッドだ。しかしながらこ…
はじめに .NETの正規表現[MSDN]の正規表現が、国際化対応か何か良く分からないが、私にとっては少し意外な動作をすることを発見した。その動作を記録し、私なりのルールを示す。なお、以降の記述では、正規表現のパターンを示す場合、//のように記述する。
はじめに JavaScriptで、テキストボックスのonchangeイベントを信用してはならない。本エントリでは、今回私が経験した、期待とは異なる動作を紹介し、対処方法を提案する。
IEnumerableを返すためにyield returnを使うコードを、最近になって初めて実践的に使った。するとあることに気付いた。次のコード、yieldに慣れていないとどう動くか予想しづらいのではないか。 int count = 0; var array = new object[100]; foreach (var o…
はじめに IPAが、『安全なウェブサイトの作り方』という、Webサイトのセキュリティに関するガイドブックを出している。このPDFの21ページに、「ログイン成功後に、新しくセッションを開始するようにする」という対策がある。この解説の内容は納得できるもの…
はじめに System.Nullable<T>は、まあまあ賢い。まあまあ賢いとはどういうことかというと、予想したとおり動作してくれる。具体的には、 nullとの比較 ボックス化 が、予想したとおり動作する。</t>
標記のとおり、 System.Single(C#ではfloat) System.Double(C#ではdouble) の、ToString()メソッドの戻り値は、値によっては指数表記となる。ドキュメントにも明記されているのだが、その説明は非常にわかりづらい。おそらく、固定小数点表記と指数表記…
Oracleデータベースを作成する際に、SYSやSYSTEMのパスワードを明示的に指定しないと、 SYS:CHANGE_ON_INSTALL SYSTEM:MANAGER という、デフォルトのパスワードが設定されるらしい。11gでもこの仕様は変わっていないようだ。ちなみに、パスワードが大文字…
はじめに 桁数と精度を指定してランダムな数値を生成するメソッドの、.NET(C#)での実装例を示す。