OITA: Oika's Information Technological Activities

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

Astro v4のi18nで言語別のRSSフィードを配信する

唐突なAstro話。 Astroのv4からi18n(国際化)機能が標準利用できるようになりました。 docs.astro.build ただ、この場合に @astrojs/rss で言語別にフィードを配信しようと思ったらどうやるのかわからず苦戦したのでメモ。

PlantUMLの見た目を以前のデフォルト色に戻す

PlantUML の今月リリースされたバージョン(V1.2022.2 あたり)から、デフォルトのテーマが変更になって、スタイリッシュな白黒の感じになりました。

はじめてのGoogle Chrome拡張機能開発メモ:YouTubeに高評価率を表示

YouTubeでビデオに対する低評価の数が見えなくなりました。 ヘイトからクリエイターを守るという意図はわかるものの、あらかじめおおよその評価を知ることができなくなり、ユーザ視点ではやっぱり不便になった。 せめて、再生回数に対する高評価数の割合を判…

Evernoteのノートを画像も含めNotionへインポート

年も明けたので、Evernoteを卒業します。 Webクリップにもメモにも使えて、できるだけ無料か買い切りで使えて、すぐにサービス終了してしまわなさそうなものを条件として探すと、移行先はほぼNotion一択になるかなぁと思いました。 https://www.notion.so/ N…

【C# 機能別】知らん書き方が出てきたらこれを見ろ!C# 10 までの進化を1ページで

祝 .NET 6 GA アドベントカレンダー、23日の記事になります。 .NET 6 のリリースに伴い、C# の言語バージョンがついに 10.0 となりました。 C# の進化は早く、ちょっと気を抜いている隙に、見たことのない書き方のコードがどんどん出現します。 その一方で、…

PlantUMLで画面遷移図を管理するための支援ツール「Transit UML」を作った

Transit UML というオンラインツールをリリースしました。無料で使えます。 Transit UML - Create Screen Tansition Diagrams using PlantUML

TypeScript の「型安全」を担保するために知っておきたかったこと

タイムリープTypeScript 〜TypeScript始めたてのあの頃に知っておきたかったこと〜 アドベントカレンダー1日目の記事になります。 よろしくお願いします。 3行で TypeScript で安全に型を扱う勘所は以下2点だと思いました。 最初から最後まで型が壊れていな…

DbUnit : テストデータの日付・時刻を相対的な値で指定する

やりたいこと:DbUnit のテストデータで、DATETIMEなどのカラムに、「1時間前」「1日前の12:00」みたいな、現在日時からの相対時刻を入れたい。 たとえば直近3日間の履歴を取得して返すAPIのテストであれば、3日前あたりの境界値レコードがテストデータとし…

react-query : クラスコンポーネントのコードで導入するいくつかの方法

引き続き React Query のターン。 useQuery か、なるほどいいねこれということで導入しようと思っても、手元のコードは全然 class component ですよっていう場合に、どうやって導入していく方法があるかという整理。 おおよそそのまま、クラスコンポーネント…

react-query : useQuery への依存をスタブに差し替えてコンポーネントテスト

引き続き React Query の話。 ある関数コンポーネントが useQuery によって取得される外部データに依存している場合に、そのuseQueryで取得される外部データをダミーに置き換えて、コンポーネントテストを書く方法。 なかなかまとまった情報が見つからなかっ…

react-query:invalidate と reset の挙動の違い

お勉強メモ。嘘ついたらごめんなさい。 React Query で、cacheTime, staleTime と、invalidateQueries, resetQueries あたりの使い分けの話。 お試し用コードは最後に載せてます。

react-select:React Testing Library で optionのリストを拾う

React Testing Library で React Select をどうやってテストするんだってのはFAQらしく、Stack Overflowではサードパーティの部品までテストすんなMock使えというのがベストアンサーだったりして、まあそうかもねと思いつつも、ほじくってテスト書いたのでメ…

C# (WPF) 算出プロパティ NComputed を NuGet 公開

だいぶ前に作った これ を、自分で使おうと思ったら NuGet にないじゃんってことに気づいたので、今更ながら公開しておきました。 www.nuget.org

react-select:インクリメンタル検索で一致部分を強調表示

インクリメンタル検索で、入力と一致した部分文字列をハイライトする。 というのを、React Selectを使ってやる。 基本的には公式APIドキュメントを読んでいけば書いてあるはずの話だが、カスタムコンポーネントの部分はちょっとつまづいたのでメモ。

2020年の雑感2(プロジェクト体制とかドキュメントとか)

前回 の記事に入らなかったが、今年考えたことなどのおまけ。 全体的に観測範囲が限定的な話ではあると思います。

2020年に触れた技術の雑感(TypeScript/React/Java/WPF/etc.)

2020年も残り数日。 昨年に続き今年もいろいろ環境が変わり、ちょっと開発は離れめだった昨年に比べると、今年はがっつりコードを書く時間も増えた。 初めて使った技術もそこそこあり、また改めてこれまで使ってきた技術を見直すきっかけにもなったので、取…

react-color:標準 Component のスタイルをいじる

React Colorの話。 このライブラリには最初から ChromePicker とか GithubPicker とか TwitterPicker とか、いい感じの部品が用意されている。 これらの部品は実は外からでもスタイルをいじれるんだけど、公式ドキュメントではそこを教えてくれず、CustomPic…

Pandocで、Markdownからいい感じのhtmlへ一発変換するコマンドを作る

作業マシンが変わるたびに毎回同じものを作ってる気がするので、メモしておく。 我々はすべてのドキュメントをプレーンテキストで、つまりMarkdownで書きたいが、人は必ずしもそうではない。 折り合いをつけるためには、読めないからWordで書いてくれと言わ…

Windows 10 任意のコマンドをスタートメニューから一発で実行する

特定のフォルダを開いてからコマンド実行するとか、よくやる一連のアクションをbatファイルに書いておいて、いつでもWindowsキー叩けば実行できるようにしておく。 Scoopとかは使いません。

AtCoder を C# で戦う環境を整える(.NET Core)

お久しぶりです。元気です。 最近 AtCoder のABCをやりはじめました。数学できなくてつらい。 普通に Visual Studio IDE で ポチポチプロジェクト作って、デバッグ実行して、よしとなったらコピーして提出ページにペーストって感じでやってたんですが、どう…

C# FiddlerのInspectorsプラグインを作成

FiddlerはHTTPのローカルプロキシツール(雑)です。 これのプラグインが C# で作れるんだけれど、Inspectorsの中のタブを自作するサンプルがあんまりなかった気がするのでメモ。

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にする方法。