あるSEのつぶやき・改

ITやシステム開発などの技術に関する話題を、SEとしての経験から取り上げたり解説したりしています。

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 のバックアップ…

Gmailのデータをバックアップする方法

はじめに Gmail で使用している Google アカウントは、いつアカウント停止になるか分かりません。 そのため自衛手段として、Gmailを含めた Google のデータを定期的にバックアップすることをお勧めします。 頻度としては、一ヶ月に一回程度でしょうか。 バッ…

2021年の「今年の抱負」を書いてみる

2021年の「今年の抱負」として、今年も目標を立てたいと思います。 ■目標1・定期的に運動を行い、年末までに体重を 10kg 減らす。 昨年は 5kg 減量の目標を立てたのですが、増えはしなかったのですが、ほとんど体重が変わりませんでした。なので、目標を上方…

2020年の「今年の抱負」振り返り

年初に立てた「今年の抱負」を振り返ってみます。 www.aruse.net ■目標1 ・定期的に運動を行い、年末までに体重を5kgは減らす。 これはダメダメですね。 体重こそ増えはしなかったのですが、運動を定期的に行うことができなかったです。 途中では、しば…

技術書典 10が開催されたので戦利品などを

技術書の同人イベントである、技術書典 10が 2020年12月26日(土)〜2021年1月6日(水)の期間、オンラインで開催されています。 techbookfest.org 新型コロナウイルスの影響で今回もオンライン開催となりましたが、運営さんが頑張っていて、オンラインサイ…

ホームページとランディングページを作成しました

副業でセキュリティコンサルティングを来年のどこかから始めたいと思い、ホームページとランディングページを作成してみました。 ホームページはこちら。 www.rhirano.com ランディングページはこちら。 peraichi.com ホームページは Hugo で作成して、ラン…

映画『空の青さを知る人よ』を観た。青春の1ページを思い出させた。

映画『空の青さを知る人よ』を観ました。 soraaoproject.jp 主人公の17歳の高校二年生・相生あおいが幼い頃に、姉が好きだった金室慎之介が、昔の姿のままで現れたことから始まる青春ドラマです。 この映画は、上演しているときから、気になっていて、だけど…

『初心者でもできるWAF構築とペネトレーションテスト』はとても勉強になる書籍だった。 #技術書典

現在、技術書典 9がオンラインで開催されていますが(2020/9/22まで)、その中で買った『初心者でもできるWAF構築とペネトレーションテスト』を読了しました。 techbookfest.org セキュリティを開発者として勉強していると、どうしてもセキュリティ業界の常識…

『ヴァイオレット・エヴァーガーデン 外伝 - 永遠と自動手記人形 -』を観た。心打たれる物語だった。

『ヴァイオレット・エヴァーガーデン 外伝 - 永遠と自動手記人形 -』を Netflix で観ました。 violet-evergarden.jp 大貴族ヨーク家の娘であるイザベラ・ヨークは、過去に辛い別れがあり、今は良家の子女のみが通うことが許されている女学校に閉じ込められて…

『誰でもわかる!UXデザイン入門書 導入編』から始まるUXライフ #技術書典

技術書典 9 で、以下の本を購入して読んでみたので感想などを書いてみたいと思います。 誰でもわかる!UXデザイン入門書 導入編 techbookfest.org 自分は、「UX is なに?」状態だったので、この本はとても参考になりました。 この本によると、UX とは以下の…