いろいろ備忘録日記

主に .NET と Python絡みのメモを公開しています。

ResharperのValue Originが超便利 (Resharper, Inspect, Value Origin, 値の遷移を追跡)

概要 以下のtwitterで知りました。Resharper結構長いこと使ってるくせにしらなかった・・・orz 使ってみると、確かに超便利!今まで、「この変数の値はどこで設定されてて、元ネタはどこから来てる?」って頑張って探してたのが、クリック一発になります。 …

Pythonメモ-14 (ipythonでのctrl+spaceについて, selection mode, フリーズと勘違い)

概要 今までアプリがフリーズしたと勘違いしていた。。。解除方法わかったので忘れない内にメモメモ。 ipython使ってて、VisualStudioとかのクセでCtrl+Spaceをよく押してしまうのですが ipythonで、それをやると一見フリーズしたみたいに何も入力できなくな…

Pythonメモ-13 (collection.namedtupleとtyping.NamedTuple)

概要 前にcollections.namedtupleについての記事を書いていたのですが devlights.hatenablog.com 以下のページをみてたら、typing.NamedTupleというものもあるとのこと。 dbader.org pythonのドキュメントを見ると、collections.namedtupleの型付き版とのこ…

Pythonメモ-12 (Dangerous Python Functions シリーズ, Part 3まで)

概要 まだちゃんとブログ記事呼んでないのですが、忘れないようにとりあえずメモ。 Pythonで便利なんだけど使わない方がいいよっていう内容のシリーズですね。 www.kevinlondon.com www.kevinlondon.com www.kevinlondon.com Part.3までは辿れたんですが、も…

Pythonメモ-11 (ディレクトリの削除, os.remove, os.rmdir, os.removedirs, shutil.rmtree)

概要 未だにちょこちょこ忘れてて、同じ間違いをするので忘れないようにメモ。 Pythonでディレクトリを削除しようとしてて、いつもの調子で os.remove('/tmp/a') とかするとOSErrorが発生します。Windowsだと以下のような感じ。 PermissionError: [WinError …

「Kotlin入門までの助走読本」が公開 (pdf, 日本語資料)

概要 Kotlinユーザグループの方々が共著で「Kotlin入門までの助走読本」というドキュメントを以下のURLで公開してくださってます。感謝 m( )m kotlin-prior-learning-book.pdf - Google ドライブ 表紙が少し◯ライリーちっくな感じで、90ページあります。分か…

Pythonメモ-10 (Online Python Tutor, Visualize Python code, Pythonコードを可視化, Python以外も可能)

概要 知らなかったのでメモメモ。Online Python Tutorというサイト Python Tutor - Visualize Python, Java, JavaScript, TypeScript, Ruby, C, and C++ code execution すごくいい。記述したコードを1ステップ毎に どのような内部状態になっているのかを可…

JetBrainsのIDEでコード補完を大文字小文字無視にする (Case-insensitive code completion)

概要 いつも忘れるのでメモメモ。 多分、どのIDEでも同じ設定だと思います。(IDEAとPyCharmとRiderでは確認) Visual Studioとかに慣れていると、どうしても大文字小文字区別なしに補完が出てきて欲しいので。 やり方 設定画面の「Editor」→「General」→「C…

Rider EAP 22 リリース (マルチスタートアップでのデバッグが可能に, Debugging for compound run/debug configurations)

概要 blog.jetbrains.com 以前から、複数プロジェクトの実行は出来ていたんですが、VisualStudioみたいに、複数のプロジェクトにまたがってデバッグが出来なかったのがちょっと残念だったのですが、ついに出来るようになりました!まってたよー。 Xamarin iO…

Pythonメモ-09 (pythonnet, Python for .NET, python と .NET を繋ぐライブラリ)

まだ、あんまり覚えてないですが、とりあえずメモメモ。 概要 pythonnetは、python と .NET を繋ぐライブラリ。 Python for .NET 似たようなライブラリとして IronPython がありますが、IronPython は .NET Framework や Monoで実装されたPython処理系。なの…

Pythonメモ-08 (Python loop optimization, ループ最適化, 時間計算量, Time-Complexity)

今回、あんまり python 関係ない話題ですが、面白かったのでメモメモ。 どの言語にも言える話です。 概要 stackoverflow の Python カテゴリ見てたら、以下の内容を発見。 stackoverflow.com トピックの投稿者さんは、処理をPythonで書いてるけどめっちゃ時…

Pythonメモ-07 (collections.namedtuple, 名前付きのフィールドを持つタプル)

namedtupleについてのメモです。 概要 むかーしむかしにpython触っていた時(多分 2.0 とかそのへん)には、無かったのですが 最近またpython触るようになって、まず気に入ったのがこの namedtuple さん。 軽いし、フィールドアクセスできるし、なんといって…

プログラミングフォント (96 Best programming fonts as of 2017)

以下のページに「96 Best programming fonts as of 2017」って形で リストアップされています。上位のフォントはどれも有名どころですねー。 www.slant.co 個人的には、昔から「Pragmata Pro」フォントが好きなのですが フルセットの値段が高い・・・・( ;∀…

Pythonメモ-06 (PEP-3132 Extended Iterable Unpacking)

概要 小ネタ。Python 3.0で追加された仕様です。 知ってるとちょっと楽できます。 以下のPEPです。 www.python.org 名前は、Extended Iterable Unpacking って感じのちょっとむずかしそうな 名前ですが、実際にコード見てみるとすぐ意味が分かります。 list0…

Pythonメモ-05 (内包表記について)

以下、自分用のメモです。 概要 pythonといえば、「リスト内包表記(list comprehension)」が有名ですが リストだけじゃなくて、辞書にも集合にも内包表記があります。 リスト内包表記 [ expression for item in iterable] 辞書内包表記 { key_item: value_it…

Pythonメモ-04 (iterable, iterator, generator, yieldについて)

Pythonやりだすと、いろいろ便利なのでオモシレーってなって、もっと知りたいってなったころに出てくる子達がいます。 iterable, iterator, generator, yield 他の言語やってる人だと大体「あー」って分かるものなのですが とは言え、最後の yield などは初見「な…

Pythonメモ-03 (リスト内包表記の中でファイルをopenすることについて)

以下、自分用のメモです。 Pythonといえば、リスト内包表記。楽なので、ほいほい使いたいところなのですが スクリプト書くときって往々にして、なんかデータが詰まっているファイルがあって その中身をゴニョゴニョして、整形したり抽出したりすることが私の…

Pythonメモ-02 (改行コードをsplitしたい場合, splitlinesを使う)

以下、忘れないうちにメモメモ。 特定のデータがあって、改行コードでsplitしたい場合 DATA.split(os.linesep) ってやれば、macとlinuxではうまくいくんですが windowsでやると、分割されずに一つの文字列として 結果が返ってきた。 どうも、Windowsの場合 o…

Pythonメモ-01 (アスタリクスのみの引数, 後続のキーワード引数のキーワード指定を強制する)

個人的なPythonメモです。 環境 $ python Python 3.6.0 |Anaconda custom (x86_64)| (default, Dec 23 2016, 13:19:00) [GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.57)] on darwin Type "help", "copyright", "credits" or "license" for more info…

.NET クラスライブラリ探訪-070 (System.Diagnostics.DebuggerDisplayAttribute, デバッグ時のオブジェクト表示方法を制御)

久しぶりの小ネタ。 DebuggerDisplay属性とは この属性を付与すると、デバッグ時のオブジェクトの表示内容が制御できます。 意外と知られていないのか、いちいち付与するのが面倒なのか分かりませんが 個人的にはあまりお目にかかったことはなかったり。デー…

JetBrains Rider 2017.1 EAP でTFSインテグレーションがなくなってる?

アップデートしたらTFSのメニューがない 以前のバージョンには、デフォルトでTFSのインテグレーション機能があったと思うのですが 2017.1 EAPにしたら、デフォルトで入ってない状態になってました。 しばらく気づかなくて、「アレープロジェクトガアップデートデキナイヨ」…

インストールされている .NET Framework の更新プログラムを調べる

元々は、MSDNの以下のページにあったもの。 方法 : インストールされている .NET Framework の更新プログラムを確認する いつ、このページが消えるか分からないので、自分のところでもメモメモ。 インストールされている .NET Framework のパッチを調べる (C…

マルチバイトを考慮した文字幅を取得

スクリプト書いていると、等幅フォント上で全角半角混じった文字列をピシッと 揃えたいときがよくあります。pythonのlen()は文字数を返すので、それでイケルと思ってしまいますが s = 'hello' len(s) 5 # OK s = 'こんにちわ' len(s) 5 # (´・ω・`) max_widt…

シーケンスを特定数のチャンクに分割

どの言語でもちょくちょく使う特定の数のチャンクに分割する処理のPython版。 いつも忘れてしまうのでメモメモ。 def chunks(sequence: Sequence, chunk_size: int = 1) -> Iterator[Any]: """ 指定されたシーケンスを指定されたチャンクに分割します. :para…

Visual Studio for mac と .Net Core 1.1 と Visual Studio 2017 RC アナウンス

来ましたねー。テンション上がりました。 とりあえず、情報源をメモメモ。以下順不同です。 blogs.msdn.microsoft.com www.visualstudio.com blogs.msdn.microsoft.com blogs.msdn.microsoft.com www.publickey1.jp blogs.msdn.microsoft.com blogs.msdn.mic…

WebStormでElectronのデバッグする方法 (Windows版, Debug)

忘れない内にメモメモ。IntelliJ Ideaでも同じやり方でいけると思いますが、まだ未確認。 試したバージョンは、WebStorm 2016.2.4. WebStormでElectronアプリをデバッグするやり方については、JetBrainsのブログにて既にあります。 Getting started with Ele…

最近

ロードバイクという、(とっても * 100)楽しい趣味を見つけてしまったので、とんと遠ざかっていたブログですが、またメモを追加していこうと思った今日このごろ。徐々に復活して行く予定。:) まずは、C# 6.0の新機能からスタートしよう。(今頃ww 過去の記事…

VisualStudio "15" Preview2にてXAMLのEdit Continueが可能に

先日VisualStudio "15" Preview 2がリリースされました。 以下からダウンロード可能です。 Visual Studio "15" Preview ダウンロード リリースノートは以下です。 Visual Studio "15" Preview 2 | Visual Studio その中で、WPF関連で嬉しい話題がありまして …

MicrosoftがXamarinを買収

個人的に今年一番のビッグニュース。びっくりした。 weblogs.asp.net blog.xamarin.com エクセルソフトの方が日本語訳を公開してくださっています。感謝m( )m Microsoft が Xamarin を買収 | Xamarin : XLsoft エクセルソフト ytabuchi.hatenablog.com 過去…

ResharperのContinuous Testing機能がすごく便利 (Resharper, dotCover, Continuous Testing)

最近のResharperに搭載されたContinuous Testingという機能が便利すぎて歓喜だったのでメモメモ。 Continuous Testingについては、JetBrainsのブログにて以下の記事があります。 Continuous Testing in dotCover and ReSharper Ultimate - .NET Tools Blog.N…

DevExpress奮闘記-129 (v15.2でダイアグラムコントロールが追加される (Diagram Control, WinForms, WPF, Visio inspired Diagram Control))

個人的に久しぶりのビッグニュースだったのでメモメモ。 v15.2で、ダイアグラムを操作できるコントロールが登場予定とのこと。 WinForms and WPF Diagram Control (Coming soon in v15.2) - Thinking Out Loud 上記ブログ記事を見ると、見た目Visioなアプリ…

WPFでネストしたスタイルを定義する (Nested Styles, Style.Resources, 入れ子にしたスタイル)

忘れないうちにメモメモ。 何故か、日本語の情報がなかったので備忘録のつもりでここに記述します。 WPFやってて、スタイルをいろいろ定義するのですが、ネストしたスタイルを定義することも出来ます。例えば、特定のコンテナの下のボタン達は通常のスタイル…

LINQPad 5 がリリース

LINQPad 5 がリリースされてましたね。C#6とVB14にフル対応したとのこと。ついでにアイコンが少し変わっています。 https://www.linqpad.net/Download.aspx 上記、ダウンロードページにて新機能が記述されていますが (上記ページより引用 2015/08/28時点) Bu…

複数のCPUグループがある場合に全CPUグループに対してマネージスレッドを分散する (Thread_UseAllCpuGroup,GCCpuGroup,gcServer, NUMA)

忘れない内にメモメモ。 サーバーなどで複数のCPUグループを持つコンピュータがあった場合、CLRはデフォルトで最初のCPUグループしか使ってくれません。 なので、例えばCPUグループが2つあり、それぞれ20コアずつ存在する場合、普通にタスクで処理すると40コ…

ドラッグ可能なPopup (Draggable Popup)

忘れないうちにメモメモ。 WPFのPopupは、手軽にポップアップ状態を実現できるので便利なのですが 基本このポップアップはWindowのようにマウスで位置を動かすことができません。 たまーにですが、動かしたいときがあります。 で、ネットで調べていると結構…

Teminite x PsoGnar - Senses Overload [Official Lyric Video]

全然技術関連の話題じゃないんですが、Youtubeですごくいい動画見つけたので、メモメモ。この動画、すごく見せ方がうまいなぁって思って。全編ほぼ白黒で文字しかないんですが、曲の雰囲気がすごく伝わってきます。曲も好きなアーティストのやつなんで、だい…

Xamarin Guideシリーズ(c-sharpcorner.comの連載)

まだ、全然読んでないのですが、最近立て続けに記事がアップされていたので、忘れないうちにメモメモ。後で読む。 Xamarin Guide 1: Create a Xamarin Forms Project Xamarin Guide 2: Create the Model and the Data Source Xamarin Guide 3: Create the Se…

Genericなクラスに定義したstaticフィールドについて

すごい小ネタ感あふれる話題なのですが、最近まで知らなかったので忘れない内にメモメモ。 ジェネリックなクラスを定義して、滅多にしないと思いますがstaticなフィールドを定義すると、そのフィールドは型パラメータ毎に定義されることになります。つまり、…

アセンブリのバージョンからビルド日時を求める (Assembly, System.Version, Build, Revision, 自動インクリメント)

最近知ったことなんですが、忘れないうちにメモメモ。 VisualStudioでプロジェクトを作ると、Propertiesというツリーノードの下にAssemblyInfo.csというファイルが追加されます。このファイルの中には、アセンブリに関する設定が記述されているのですがこの…

EPPlusの基本的な使い方メモ (xlsx形式, Excelのインストール必要ない, COM使わない)

知り合いから、EPPlusというとても便利なライブラリを教えてもらったので忘れないうちにメモメモ。Excelを扱うライブラリなんですが、これがとても便利です。公式ページは以下になります。 EPPlus-Create advanced Excel spreadsheets on the serverepplus.c…

int.ParseとConvert.ToInt32の僅かな違い

.NETやり始めた人に int.ParseとConvert.ToInt32って何が違うの? という質問をたまに受けるので、忘れない内にメモメモ。 どっちを使えばいいのか分からないことが多いみたい。 私個人は、ほとんどの場合で、TryParse使うのであんまり気になったことがない…

UNITY 3D – Game Programming シリーズ (CodeProject)

CodeProjectに Unity のシリーズがあったので忘れないうちにメモメモ。 後で読む。 UNITY 3D - Game Programming Introduction - CodeProject UNITY 3D – Game Programming – Part 2 - CodeProject UNITY 3D – Game Programming – Part 3 - CodeProject UNIT…

SimpleInjectorの基本的な使い方メモ

SimpleInjectorというIoCフレームワーク(DIコンテナ)がすごくシンプルで使いやすいので、最近気に入っているのですが、基本的な使い方を忘れないうちにメモメモ。 SimpleInjectorの公式ページは以下です。 Simple Injectorsimpleinjector.org このライブラ…

Prism 5.0 の ドキュメントがPDFやEPUBとかでダウンロード可能 (Prism 5.0 for WPF - Book Download)

Prismのドキュメント探してたら、以下のURLからドキュメントを電子媒体でダウンロードできるのを知ったので、忘れないうちにメモメモ。 Download Prism 5.0 for WPF - Book Download from Official Microsoft Download Center PDF, EPUB, MOBI形式でダウンロ…

AutoMapperの基本的な使い方メモ

JavaでいうBeans.copyやBeanUtils.copyPropertiesメソッドみたいなことをやってくれるライブラリを探してたら、AutoMapperという便利なライブラリがあったので、基本的な使い方をメモメモ。WPFとかやると、データの移管が多くなるので重宝しそうです。 AutoM…

DevExpress奮闘記-128 (CodeRushのテンプレート展開キーを変更, SpaceからTabへ)

前に一度変更したことがあったのですが、再度やろうとしたらやり方忘れていたので忘れないうちにメモメモ。 CodeRushで、スキーマがFrictionFreeの場合、テンプレートの展開キーがデフォルトのSpaceからTabに変更されます。正直言うと、DefaultのSpaceキーが…

SQLServerのFORMAT関数にハマったのでメモ (2008 R2では使えない)

SQLServerのFORMAT関数にハマったので、忘れないうちにメモメモ。 このFORMAT関数なんですが、MSDNを見ると FORMAT Function (DAX) となっています。パッとみると 2008 R2 2012 2014 と見えるので、2008 R2でもサポートされていると思ってしまいます。 (思…

Github for Windows でもプルリクエスト作成可能に

Mac版と同様に Windows版 でもプルリクエストが作成可能になりました。忘れないうちにメモメモ。 Create Pull Requests in GitHub for Windows Create Pull Requests in GitHub for Windows · GitHub 過去の記事については、以下のページからご参照下さい。 …

GoAzure 2015 のセッション資料が公開

今年の1月16日に開催された GoAzure 2015 のセッション動画などの資料が一部公開されています。忘れないうちにメモメモ。 GoAzure 2015 セッション動画と資料 | MSDN 過去の記事については、以下のページからご参照下さい。 いろいろ備忘録日記まとめ http:/…

SQLでCSV形式のデータの個数を数える

忘れない内にメモメモ。 元のデータがとある列に a,b,c,e,d,f みたいな感じで入っている場合 こんな感じで個数を取得できる。 SELECT COALESCE( MAX( (LENGTH(対象列) - COALESCE(LENGTH(REPLACE(対象列, ',')), 0)) + 1 ) ,0 ) AS count FROM XXXX REPLACE…