OITA: Oika's Information Technological Activities

@oika 情報技術的活動日誌。

CentOSにASP.NET Core 2.2でWeb API構築

AWS Lightsail のやっすいやつで CentOS 7 のインスタンスを立てたので、ASP.NET Core 2.2でWebサービスを作ってみる。 環境等 CentOS 7.6 VisualStudio Community 2019 開発はローカルのWindowsマシンで行う 「ASP.NET と Web 開発」ワークロードがインスト…

Travis CI Cron Jobs で .NET Core アプリを定期実行

GitHubと連携して使える CI サービス Travis CIには、ビルドタスクを定期実行させられる Cron Jobs という機能がある。 実行間隔は daily / weekly / monthly というレベルでしか指定できないので利用ケースは限られるが、これを使えば CI 的な用途に限らず…

Tokyo HoloLens ミートアップ vol.14 に参加

ちょっと日があいてしまったけど、MicrosoftのMRヘッドセット「HoloLens」のミートアップイベント@東京にお邪魔してきましたの巻。 Tokyo HoloLens ミートアップ vol.14 - connpass 14回もやってるのね。

コンビニ印刷で1日で名刺を自作する

まとめておく。 コンビニ印刷以外の選択肢 後述するがコンビニ印刷で作る名刺はどうしても用紙がペラくなるので、もう少しまともなものを用意したい場合はその他の選択肢から検討する。

.NET コマンドライン引数の解析とUsage作成を行う「CuiCommandParser」を作成

C#/.NET のコンソールアプリで、実行コマンドに渡された引数の解析と、helpオプションで表示するヘルプメッセージ(Usage)用の文字列生成を行う機能をあわせてライブラリ化しました。 CuiCommandParser(NuGet) ソースはこちら。

ASP.NET HttpApplicationへの依存をスタブ化する

Visual C# .NET を使用して ASP.NET HTTP モジュールを作成する方法に、ASP.NETでhttpモジュールクラスを自作する方法が書かれている。 ポイントだけ書くと、以下のようになる。 IHttpModule インタフェースを実装する HttpApplication から購読するイベント…

ブログをWordPressからはてなブログに移行

VPSで運用してたWordPressをやめたいなーと思ってました。 バージョンアップめんどくさい SSL化しなきゃと思いつつ腰が重い markdown使いたいだけなのにプラグインが競合したりする カスタマイズ自由と言われてもデザインセンスがないからいじれない バック…

Hugoテーマのランキング表示ページを作った

静的サイトジェネレータ関係を試したりしていて、Hugoのサイトで紹介されてるテーマ、人気順に見れねーのかよと思って、人気順に表示するページを作りました。横道それすぎ。 Hugo Theme Star Ranking

WebページのテーブルをサクッとCSV化

Webページに一覧表として表示されてる情報をノンコーディングでCSVにする方法。

TypeScript コンパイルなしでこっそり型の恩恵を得る

TypeScript Advent Calendar 23日の記事になります。 TypeScript良さそうだなーと思うんだけど既存のビルドプロセスに組み込むのがめんどくさかったり、使いたいんだけどチーム開発で自分だけ使うわけにいかないというようなしがらみがあったりします。 Type…

Visual Studio Codeにフローティング・ウィンドウを夢見る人たち

Visual Studio Codeアドベントカレンダー 14日目に参加しています。 githubのリポジトリで、2016年8月から2018年12月現在にわたり、350件を超えるコメントがつけられているissueがあります。 Allow for floating windows #10121

C# (WPF) で算出プロパティ

C# Advent Calendar ぽっかり今日だけ空きができたみたいなので、急きょ参加しておきます。 Webのバインディング系フレームワークでよくある算出(Computed / Calculated)プロパティをC# のMVVMでも使いたいという話。 ちらっと検索してみた感じ、当然のよ…

Firebase CLIでdeploy先のデフォルトプロジェクトが変わらない

たいした話じゃないんだけれど、ビックリしたのでメモ。 現象 firebase-toolsを使ってコマンドからデプロイとかやろうと思うじゃないですか。 (firebase-toolsのバージョンは 6.1.2) で firebase init で対話的にポチポチ初期設定していくと、デフォルトの…

Vue.js × webpack 3 × TypeScript 環境構築

タイトルのとおり。VueとwebpackとTypeScript。 似たような情報はいくらでもヒットするし、それらの単なる焼き直しでしかないのだけど、結局いちいち自分用に焼き直しておかないとわからなくなってしまう。 参考にさせていただいたページリストが最後にあり…

【注意】Google Chromeで長い英数字がヘンな文字列に置換されると思ったら

Chromeブラウザで調べ物をしているときに、とつぜん文字化けしたみたいに、一部の英語だけがへんなランダムっぽい文字列に置き換わる現象が起きた。

C# 外部プロセスとしてnpmコマンドを呼ぶと標準出力の終端で固まる

んー、わからん。 Windows環境で、自作プログラムからNodeのnpmコマンドを呼んで、標準出力内容をリダイレクトして読み取るようなことをやりたくて、C#のコンソールアプリとして作っていたのだけど。

Python3でMeCab on Windows

pythonで形態素解析エンジン「MeCab」を使うのをWindows上でやろうとすると、いろいろ罠が多くてかつては大変だったようだが、今では先人たちの功績によって、たやすく構築できるようになっている。 ・・はずなんだけど、Python不慣れなのもあって、いざやっ…

WPF 複数のValueConverterを連結して順番に変換する

WPF等のXAMLファミリーのBindingで、バインド元とバインド先の値の型が異なる場合、 値コンバータクラスを利用して変換をかける。 例えば、IsVisible みたいな名前のboolプロパティによって、trueになったら表示、falseになったら非表示というようなバインド…

ASP.NET Core × Entity Framework × SQLite

ちょいメモ。 ASP.NET CoreでEntityFrameWorkでSQLiteを使えるようにするところまで。

Hyperapp x TypeScript x Webpack 開発環境構築まで

ちょっと話題のHyperappをTypeScriptとWebpackで試す。 今年は試行段階でもいいからもう少しまめにアウトプットしましょうということで…。とりあえず環境構築まで。

C# HttpClientでJSONデータをPOSTする

HttpClientクラスを使って、Web APIなんかにJSONでデータをPOST送信する。 んなもん、なんでもないやろーと思ってテキトーにやろうとしたら、あれれあれれと、意外とはまってしまった。 ので一応備忘メモ。

.NET Core Process.Start(URL) でWEBブラウザを表示できない

.NET Frameworkでは、Process.Start("https://www.google.co.jp/")とかやると、既定のブラウザが勝手に開いてGoogleのページを開いてくれたもんなんですが、.NET Coreではそれはできなくなったっぽい。

IFTTT 自作アプリからHTTPリクエストでスマホへプッシュ通知

IFTTT(イフト)はいろんなWebサービス同士を連携させるためのWebサービスでございます。 「 IF This Then That 」という名前の表すとおり、Thisをトリガとして、Thatのアクションを起こす (例:Instagramでいいねをつけたら、Evernoteに自動保存する) と…

Windows 10 テキストファイルを右クリックするとエクスプローラーが落ちる

いつからか、PCのエクスプローラで右クリックしたときにエクスプローラが異常終了するようになってた。 特に拡張子が.txtのファイル上で右クリックしたときだけ発生。 ASUSのノート、Windows 10 Home。

C# プロパティで配列の代わりにIReadOnlyList<T>を公開する

FxCop、あるいはVisualStudio付属のコード分析で、厳しめの規則セットを使うと、以下のようなコードに対して警告が出る。 public class Person { public string[] Nicknames { get; private set; } ... } CA1819 コレクションを返すために、またはメソッドに…

WPF ListBox.SelectedIndexが勝手に変わると思ったら

ListBoxを配置して、適当に数値だけをメンバに持つオブジェクトをリストにして ItemsSourceに格納します。 検証環境のビルドターゲットは.NET 4.0。

C# イベントを一時変数に入れてスレッドセーフにnullチェックするあれ

C#で、自前でイベントを発火させる際、 ハンドラが1つも登録されていない状態でInvokeしようとすると NullReferenceExceptionになっちゃうんで、 Nullでないことを確認してから呼び出す必要があります。 public event PropertyChangedEventHandler PropertyC…

C# kizAPI(きざっぴ)でブログの流行ワードを取得する

いま現在話題のトレンドワードをある程度リアルタイムでとれるAPI的なやつで なんか手軽なのないかなと探してみたら、 kizasi.jpのサービスで「kizAPI(きざっぴ)」ってのがあった。

.NET 複数のTaskを一度に開始しようとすると遅延が発生する

10個のスレッドを同時に走らせて並列処理したいとする。 まさか new Thread(...).Start() なんてやらないですよね。 LINQでasync/awaitだーってのもアリかもしれませんが、 素直にTaskを10個作ろうとすると↓こんな感じ。

WPF DataGrid.RowHeight指定のいろいろ

WPF DataGridのレイアウト設定はとかく複雑でわやよ。 今回は行の高さ指定に関する話。 DataGridには行の高さを指定できるプロパティがいくつもあるので その適用の優先順位とか知っておかないと、 設定してるのに変わってくれないぞ??ってハマることにな…