より良いエンジニアを目指して

1日1つ。良くなる!上手くなる!

Entries from 2019-03-01 to 1 month

ぼくのかんがえたさいきょうのバッチ処理←簡潔にして

職場のあるバッチ処理の調査とドキュメント作成をしていて思うところ。 10ほどのタスクがWindows のタスクスケジューラ上で動いて一つのバッチ処理です。 いわゆるところのETL処理です。 複数のデータソースから抽出 適宜、必要に応じて変換 一つの統合的な…

UpSourceを見ながら考えたエンジニアのピークとその先のこと

職場ではUpSourceを試しています。 www.jetbrains.com メインで利用はしてませんが、コードレビューはしやすそうな印象。 UpSourceはGitだけでなく、Subversionにも対応している点が良いところです。 コミット履歴などから、誰がどの時期にコミット数が多い…

タスクスケジューラの履歴をエクスポート

Windows Server上でタスクスケジューラで実行されたタスクの履歴をエクスポートしたいなーと思って、方法を探してみました。 オンプレで運用されているタスクの履歴をエクスポートしてじっくり各タスクの実行時間などを精査したいのが狙いです。 stackoverfl…

README.mdの重要性とcsプロジェクトの棚卸

C#

訳あって、職場のC#のプロジェクト(csproj)の棚卸をすることになりました。 要は使われていないプログラムを確認して削除する作業です。 私のチームは、自分含めて2人なので、さほど大きな規模ではありません。 削除すると言ったって1つか2つだろうと整理…

VSColorOutput〜Visual Studioで出力されたエラーを見落とさない為に

C#

marketplace.visualstudio.com Visual Studio 拡張機能の中でも必ず入れることをオススメしたいのが、 VSColorOutputです。 上記のように出力内容に対してエラーであれば赤といった色をつける拡張機能です。 WPFのBinding Errorが発生している時、赤字で出力…

Xamarinなら自動プロビジョニング

C#

Xamarinの小ネタを紹介します。 何も考えずにiOSプロジェクトを実行しようとすると、「Could not find any available provisioning profiles for iOS.」 となってしまいます。 Xamarinを趣味で嗜む程度ならば、自動プロビジョニングで良いかと思います。 doc…

Wordでrand()=と入力でサンプル文入力

Word文書で適当な文章を入力したい時は、「=rand()」と入力してEnterを押すとサンプル文章が挿入されます。覚えておくと便利な小技ですよ。 #MSHelpsJP— マイクロソフトサポート (@MSHelpsJP) 2019年3月17日 上記のTwitterで知ったWordの裏技にはびっくり。…

パソコンの容量を調べるツールを自分なりに比較

一昔前と比べるとパソコンの容量には困らされることは少なくなって来ましたが、それでも容量については悩まされることはしばしばあります。 何がドライブを圧迫しているか調べる際には私はDiskinfo一択だったのですが、下記サイトには様々なツールが紹介され…

Visual Studio Codeの拡張機能「Excel Viewer」

技術は新しくなれど、Excelは触らなくなってもcsvを触る機会というのはあるのではないかと思います。 Excelでは文字コードがSJIS前提だったので、職場でUTF-8のcsvを扱うのは以下の二つでした。 KutoCsv Cassava 私としては、KutoCsvを好んで使っていました…

Favicon作成に使っている「Favicon Generator」

年度末になってきたので、これまで使ってきたツール・技術の棚卸し(振り返り)もしてます。 その中で、いつも使うけど、なんだっけって調べている「Favicon Generator」の話をしたいと思います。 realfavicongenerator.net その名の通り、Webページのアイコ…

データサイエンティストにデビュー?して思ったこと。ユーザーとの対話が必要。

データサイエンティストというには大げさですが、資料を上司に渡され、ユーザーのデータの可視化、ビジュアライズすることになりました。 表だけではなく、これまでブログに投稿していたような箱ひげ図や棒グラフを作成しました。 面倒なことになりたくない…

quantile(分位数)を学び、箱ひげ図について理解を深める。

Kaggleで他の方のKernelを見ていたら、numpyのquantile関数を使っているのを見かけました。 numpyでは1.15から使える関数なのです。 numpy.quantile quantileどころか分位数自体、知りませんでした。 分位数とは、結論から言えば、Wikipediaにある 分布をq:1…

Set関数をプロパティに一括置換する小技

C#

プライベートで10年以上前に自分が書いたソースの移行、リファクタリングなんてやってます。 Pos.SetY(100); 昔の自分はプロパティという概念をよく知らなかった割に、カプセル化にはこだわっていたらしく、Set関数経由で値を割り当てるように指定しています…

Pararells Desktopの容量可変ディスクについて

Pararells Desktop 14.1.2 Pararells Desktopにハードディスクの設定に容量可変ディスクというオプションがあります。 空き容量がギリギリだったので、これを試してみました。 が、うまく行きませんでした。うーん、なんでだろう。 KB Parallels: What is an…

WPFでウインドウにアイコンを指定する方法

私は、ちょっとしたツールでもアイコンを指定するようにしています。 大袈裟ですが、アイコンを設定することはアプリケーションに命を吹き込むようなことだと考えています。 WPFではよく失敗するので、メモです。 アプリケーションのアイコンを設定する こち…

花粉症の時期はいつ? データで見る花粉量

私は花粉症なのですが、どこかの国がPM2.5とか言ってるけど、この花粉は与野党関係なく国を挙げて、解決に進むべきなんじゃないかと思います。 といっても国としても何もしてないわけではなく、下記のサイトでは東京都が花粉情報を公開しています。 www.fuku…

C#はMain関数から始まる

C#

C#でコンソールプロジェクトを作成した時に生成されるのは class Program { static void Main(string[] args) { Console.WriteLine("Hello World!"); } } です。 .NET Coreでも同じです Program.csもMain関数もプロジェクトファイルにも記載されていません。…

WPFのドラッグ&ドロップの実装方法はコントロールごとに異なる?

C#

WPFでのドラッグアンドドロップを実装する際に、他のサイトを参考にさせていただいたのですが、色々な実装があったので自分なりに確認してみました。 特に紛らわしいと感じたのが PreviewDragOver DragOver と似て非なるようなイベントが存在する点です。 と…

XamarinのiOSアイコン作成

C#

小ネタですが、毎回調べるのでメモです。 XamarinでiOSアイコンを指定する場合、様々なサイズを用意しなければなりません。 その際には下記サイトを使うと様々なサイズで生成されるのでオススメです。 resizeappicon.com 必要なものを全てダウンロードします…

.NET CoreではAssemblyInfo.csがなくなる!?

C#

デスクトップアプリケーション開発のC#erとしては注目の話題の一つは.NET Core3.0です。 Desktop app dev strategy for .net core 3.0 from Atsushi Nakamura www.slideshare.net 上記のスライドを見て、結構いけるんじゃない?と、勇気と希望が湧いてきまし…

ログライブラリ「Serilog」〜未だにLog4netしか知らない自分へ

C#

システムを開発する上で共通する課題の割にあまり盛り上がりを見せないのが「ログ」だと思います。 障害調査や利用状況をチェックする上に欠かせない基盤です。 職場であるツールを開発することになって、下記の記事を見ながら、ログどうするっかねーと眺め…

TimeCapsuleへのTime Machineに失敗した後、諦めてバックアップを消去して出直す時の話

私はプライベートではPCはMacでして、AppleのTimeCapsuleへバックアップを取っています。 当初はUSBで直接HDDに繋いでTimeMachineでバックアップしていたのですが、どうしても邪魔になるのでTimeCapsuleで無線でバックアップをしています。 おかげでケーブル…

空のディレクトリはzip圧縮できない

最近、初めて知ったのですが空のディレクトリはzip圧縮できないようです。 何かファイルが入っているディレクトリと空のディレクトリを一緒に圧縮しようとすると、上記のように警告ダイアログが表示されます。 解凍すると空のフォルダは姿を消しますね。git…

ReactiveProperty、ストレスなくWPF開発が出来る

C#

職場でツールを開発することになり、一時限りのツールになりそうなので、使ったことのない技術を思い切って使ってみようということでReactivePropertyを使ってみることにしました。 blog.okazuki.jp WPF経験があるとはいえ、Prismは使ったことがあってもReac…

TimeSpanのToStringで書式指定したら例外! エスケープ必須です

C#

職場でTimeSpan型の値をToStringしてハマった話をします。 DateTime型をフォーマット指定して出力する場合は、以下のような形。 var text = dateTime.ToString("yyyy/MM/dd HH:mm:ss"); .NET FiddleだとDateTime.Now()がサーバー時刻になりますね。ま、そり…

WinFormsのTreeViewでNodeの同じレベルで上下入れ替え

C#

WinFormsのTreeViewのNodeを同じレベルでの入れ替えの実装方法です。 今時、こんなネタやるのかと自分でも思うのですが、いざやるとなるとGoogleで検索した後、記事が見つからず。 もういいや。もう寝る。寝たら、なんか思いつくだろう。 とかヌルいことを考…

CCleanerはどれくらい容量を削減してくれるのか

私の仮想OSであるWindowsが残容量3.81GB/128GBという状況になってました。 容量を削減せねば、ということで以下のサイトにたどり着きました。 freesoft.tvbok.com CCleanerは、実際に、どれくらい容量を削減してくれるのかメモとして記録してみます。 インス…

dotTraceのProfiler Option

C#

Resharper UltimateにはdotTraceも同梱しているので、その使い方についても学んでみることにしました。 Profiler Option まず、開始時に4つのオプションから選ぶことになります。 Sampling Tracing Line-by-line Timeline 詳細は公式に書いてあります。 Prof…

dotMemoryでメモリの状況を把握する

C#

dotMemoryというツールを私は自腹で持っているのですが、ほとんど使ったことがありませんでした。 www.jetbrains.com 職場でメモリリークと格闘した復習がてらブログに書きます。 基本操作 基本的な操作は公式ドキュメントを参考にすればいいと思います。 ww…

コンソールアプリケーションで0%,1%,2%...と進捗状況を%表示するには

C#

自社の QAエンジニアと共にインストール検証をしていた時のこと。 QAエンジニア「これ、すごくないですか。どうやって表示するんですかね?」 私「確かに」 彼が言っているのは%の部分です、進捗に応じて、コンソール上の%の値が書き換わっています。 「====…