あるSEのつぶやき・改

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

2022-01-01から1年間の記事一覧

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 にアップグレ…