あるSEのつぶやき・改

ITやシステム開発などの技術に関する話題を、取り上げたりしています。

EvernoteでWebClipしたノートからタイトルとURLを抜き出してJSONを作る

Evernote で WebClip したノートから、タイトルと URL を抜き出して JSON ファイルを作る必要があったのでやり方をメモしておきます。 使用するのは、こちらの yq というツールです。 kislyuk/yq: Command-line YAML, XML, TOML processor - jq wrapper for …

Obsidianプラグインの作り方

はじめに Obsidian プラグインの作り方を、備忘録として残しておきます。 今までに作成した Obsidian プラグインは、以下になります。 Media Sync Merge Notes Remove Empty Folders はじめに 開発環境 プラグインを開発する GitHub Actions でビルドを実行…

EvernoteからObsidianに移行しました

はじめに 今年の2月に情報を Evernote に集約し始めて早8ヶ月が経ちました。 その際に書いた記事が以下になります。 Evernoteが古くて新しい。情報蓄積と分析では非常に優秀だった。 ですが、最近の Evernote の動きが少し気になります。 2022年11月: Everno…

Vite+Jest 逆引きリファレンス in TypeScript

はじめに JavaScript や TypeScript のテストで、Jest を使う機会は多いかと思います。 この記事は、Jest の使い方を逆引きリファレンスの形式で掲載します。 今まで Jest でテストを行う際は webpack を使用することが多かったのですが、webpack はすでに開…

Evernoteが古くて新しい。情報蓄積と分析では非常に優秀だった。

はじめに ここ数年、ニュース記事などを PDF ファイルにして保存していたのですが、保存するのも大変だし、情報活用もうまくできなくて困っていました。 PDF ファイルにするとき、ニュース記事のタイトルがファイル名になるのですが、これがとても長い。。 P…

Firefox拡張機能の作り方

はじめに 個人用に Firefox の拡張機能を作ろうと思ったのですが、思いの外ハードルが高かったので、その作成方法を備忘録として残しておきます。 はじめに 開発環境 はじめてみよう 署名をして審査を受ける 拡張機能を公開する 情報源 Tips console.log で…

TwitterへのURLシェアとはてブを確認できるブックマークレットを作ってみた

はじめに Firefox で自分用に拡張機能を作っていて、ようやく使えるようになってきました。 作り終わってから、「これ拡張機能じゃなくて、ブックマークレットでできるのでは?」と思って試してみたら簡単に作れてしまいました。 今までの苦労は。。 まぁ、…

Googleから離れて安心で安全な環境を手にいれることができた

はじめに 自分は、2006年から Gmail を使用していて、Google 検索も多用するし、Android のスマートフォンも10年以上使用していたので、 かなり Google に依存したユーザーでした。 また、インターネット上のサービスに登録しているメールアドレスがすべて G…

ブログから広告を削除しました

思うところがあり、当ブログから広告を削除しました。 広告がなくなると、はてなブログの Pro プランを使い続ける意味という話になりますが、 まぁ、独自ドメインをしばらくは使うからいいでしょう。(本当に?) 今後とも、当ブログをよろしくお願いします。

npmライブラリの公開でdistディレクトリ配下のみ公開する方法

npm ライブラリを公開しようと思って作業を始めてみたのですが、 src や test ディレクトリ配下のファイルが公開されるのに、dist ディレクトリ配下のファイルが公開されないという状況でハマりました。 npm 公開時に webpack などでビルドの仕組みを組み込…

JWT for Google Apps ScriptというライブラリをGitHubとnpmで公開しました

はじめに JWT for Google Apps Script というライブラリを、GitHub と rpm で公開しました。 jwt-for-google-apps-script - GitHub jwt-for-google-apps-script - npm このライブラリは、TypeScript で作成された Google Apps Script 用の ライブラリです。 …

TypeScriptで外部プロジェクトの参照設定とエイリアスをつける方法

はじめに TypeScript には プロジェクト参照(Project References) という、別プロジェクトのソースコードを読み込んで使用できる仕組みがあります。 ただ、このプロジェクト参照は、以下のように 1 つの tsconfig.json を持つ大きなプロジェクトがほぼ前提に…

OpenSSLでHMAC-SHA256の秘密鍵を生成し署名する方法

Google Apps Script で JWT の仕組みを作ろうと思って、HMAC-SHA256 を使用する際の秘密鍵の生成方法と署名方法を調べました。 本当は独自実装なんてしたくないのですが、ないものは仕方ですからね。。 まず HMAC-SHA256 の秘密鍵のサイズなのですが、RCF に…

Javaで動的キャストを行う方法

はじめに Java で動的キャストを行いたいというケースはあるかと思います。 例えば、受け取った内容によって生成するインスタンスを切り替えたいとかですね。 まずは設計を見直せと言われそうですが。。 結論から言うと、Java で動的キャストは可能ですが、…

Google Apps ScriptのClaspでWebアプリのURLを変えないでデプロイする方法

Google Apps Script には、TypeScript で開発するための Clasp というとても便利なライブラリがあります。 Clasp を使用すると、コマンドラインからも Web アプリをデプロイできるのですが、デプロイするごとにデプロイ ID が変わるため、Web アプリの URL …

Apache Commons LangのStringUtilsはとても便利

はじめに Java で文字列を扱う時に、null や空白文字("")がある関係で、ちょっと条件判定が面倒なことがあります。 こんな感じですね。 if (value == null || value.isEmpty()) { // 値がない場合の処理 } そんな時に、Apache Commons Lang の StringUtils …

Spring BootでSLF4J+logback+Lombokを使いログ出力を行う

はじめに Spring Boot のプロジェクトで簡単にログ出力を行いたい場合は、SLF4J + logback + Lombok を使うとよさそうです。 簡単にログ出力ができますし、高速で多機能、書籍『Java本格入門』でもよく使われていると書かれていました。 この記事では、SLF4J…

JUnitのテストクラスでLombokのアノテーションを使えない問題の解消方法

JUnit5 のテストクラスで、Lombok のアノテーションが使えなくて非常に悩んでいたのですが、build.gradle の設定に問題があったようです。 Spring Initializr で作成したプロジェクトは、以下のような build.gradle を作成します。 dependencies { compileOn…

Spring Boot にソースコードを整形する Spotless を組み込む

はじめに Java のシステム開発に限らないのですが、ソースコードの整形方法って人によって異なるし、場合によっては言い争いになりかねないので、開発プロジェクトではコード規約を作って遵守するようにします。 ただ、ソースコードの整形方法を目視で確認す…

Spring BootプロジェクトをIntelliJ IDEA CEで作成する

はじめに Spring Boot の開発をしたいけれど、最初はどうしたらいいか分からないことも多いかと思います。 そこで、以下の開発環境を構築する方法をご紹介したいと思います。 Spring Boot 2.7.0 Java 11 IntelliJ IDEA Community Edition はじめに IntelliJ …

書籍『基礎から学ぶReact Native入門』を読んだ感想

はじめに 書籍『基礎から学ぶReact Native入門』を読んでみました。 基礎から学ぶReact Native入門作者:WINGSプロジェクト 中川 幸哉翔泳社Amazon React Native は React をベースとした、クロスプラットフォームのモバイルアプリ開発環境になります。 この…

TwitterアプリのTweetbotを5日間使ってみた感想など

はじめに Twitter 公式の仕様は、なかなかに厳しいものを感じています。 パソコンでは、TweetDeck を使用しているので不満はないのですが、iPhone, iPad では Twitter 公式アプリを使用していたため、さすがになんとかならないかとサードパーティ製の Twitte…

書籍『React実践の教科書』が分かりやすくてよかった

はじめに よかったところ 段階を踏んで解説がされている Hooks について詳しく解説されている export についての解説あり export の記法 export default の記法 CSS の手法が複数解説されている TypeScript の解説がある 足りなかったところ パッケージマネ…

Macでファイル保存時にファイル名の自動変換を行う方法(Automator使用)

Mac

はじめに Mac で OneDrive を使用していると、ファイル名やフォルダ名の禁止文字のために同期エラーとなる問題が度々起きます。 私はWebサイトの内容をPDFに保存する際に「|」がよくエラーとなります。これがかなりうっとうしくて解決方法を探していましたが…

MacのOneDriveでステータスアイコンが表示されない場合の対処方法

Mac

MacのOneDriveで、ステータスアイコンが表示されないという現象が発生しました。 同期エラーになっても分からないので結構困ってしまいました。 結果として原因として考えられるのは、以下のように思われます。 macOS を Mojave から Monterey にアップグレ…

テレワークが長くなって頭の働きが悪くなり『脳が冴える15の習慣 記憶・集中・思考力を高める』という書籍を読んだら原因が分かった

このコロナ禍でテレワークが1年半以上となりましたが、日に日に頭の働きが悪くなっていることを実感しています。 結構悩んでいたので解決方法はないかと調べてみましたら、そのものズバリの書籍が見つかりました。 脳が冴える15の習慣 ―記憶・集中・思考…

ドコモの2年縛りの解約金がなくなったので早速解約してみた

はじめに 2021年10月1日からドコモの2年縛りによる解約金がなくなりました。 私も2022年1月まで2年縛りのために解約できない iPhone 回線があったので、早速解約してみました。 使ってないのに通信費だけかかっていたので、困っていたのですよね。 解約金…

1Passwordが使い捨てメールに対応したので実際に試してみた

はじめに パスワードマネージャーで有名な 1Password が使い捨てメールに対応したとのことです。 internet.watch.impress.co.jp 記事によると、1Passowrd が Fastmail というサービスと連携することで「Masked Email」という使い捨てメール機能を提供してい…

Googleのアカウント停止(BAN)への対策を考える

はじめに Google はすばらしいサービスを提供してくれていますが、不幸なことに突然アカウント停止(BAN) にあう方もいるようです。 実際にアカウント停止になった方に共通していることが、どこに規約違反があったのか明確に知らされない内にアカウント停止…

GmailでバックアップしたMBOXファイルの内容を確認する方法

はじめに Gmail のデータをバックアップすると MBOX というファイルになりますが、バックアップができても内容を確認できないことにはどうしようもありません。 ですので、この MBOX ファイルの内容を確認する方法を調べました。 なお、Gmail のバックアップ…