daisuzz.log

daisuzz.log

ソフトウェアエンジニアをしています。ソフトウェア開発に関することや読んだ本について書いているブログです。

Ansible実践ガイド 第4版[基礎編]を読んだ

Kindleで半額になっていたAnsible実践ガイド 第4版を読んだ。 Chefを使った構成管理の経験はあるが、Ansibleはインベントリやプレイブックの内容を読んだことがあるぐらいのレベルだったので、Ansibleを体系的に学びたいと思ったのがきっかけ。 Ansible実践…

"PLG プロダクト・レッド・グロース"を読んだ

Kindleのセールで安くなっていたので、前から気になっていた「PLG プロダクト・レッド・グロース「セールスがプロダクトを売る時代」から「プロダクトでプロダクトを売る時代」へ」を読んだ。 PLG プロダクト・レッド・グロース「セールスがプロダクトを売る…

ローカルで起動したSpring BootアプリケーションサーバにHTTPSで接続する

ローカル開発環境の https 化 | blog.jxck.io [1] を読んで、せっかく自前ドメインを持っているので同じことをやってみたので備忘録として残していく。 やりたいこと 前提 手順 サブドメインを登録 サブドメインの証明書を取得 PKCS#12ファイルの作成 Spring…

Thymeleaf 3.1で主要プロジェクトのソースリポジトリが集約された

Thymeleafのバージョンを3.0系から3.1系に更新する際に、関連プロジェクトのリポジトリやライブラリが変更になったことでバージョンアップ時にハマったので、備忘録として残しておく。 ソースリポジトリの統合 Thymeleaf 3.1から以下プロジェクトのソース(テ…

npmでインストールした依存パッケージのライセンスを調べたい

個人のWebサイトを作っている中で、依存パッケージのライセンス一覧が見たくなったので、良い感じに出力してくれるライブラリがないか調べてみた。 調べてみると、いろいろな言語で実装されていたり、GitHubやMicrosoftが提供しているライブラリ[1][2]が出て…

【Spring】Boolean型のパラメータに対してnullが送られたときにfalseとして受け取りたい

Boolean型で定義しているフォームの項目に対してnullが送られてきた場合にfalseに変換して受け取りたいことがあり、調べたことを備忘録として残していく。 前提 PropertyEditor CustomBooleanEditor 独自PropertyEditor 前提 Spring Framework 3.0.2 Java 17…

"リーダーの戦い方"を読んだ

年始に以下のnoteを見て気になっていた「リーダーの戦い方」という本を読んだ。 note.com リーダーの戦い方 最強の経営者は「自分解」で勝負する (日本経済新聞出版)作者:内田和成日経BPAmazon この本の各章をざっくり要約すると以下のような内容になってい…

OpenSearch2.4でサポートされたPoint in Timeを使ってみる

OpenSearch2.4でサポートされたPoint in Time(PIT)を使ったページネーションを試してみる。 前提 OpenSearch 2.4.1 Point in Timeとは Point in Timeとは、時間的に固定されたデータセットに対してクエリを実行するための仕組み。 from, sizeを使った方法や…

brewでインストールしたパッケージの依存関係を階層構造で見たい

brewでインストールしたパッケージの大掃除をしていたときに、パッケージの依存関係が見たかったので調べた。 brew のバージョンは以下。 $ brew --version Homebrew 3.6.17 Homebrew/homebrew-core (git revision b7861bb27c5; last commit 2023-01-04) Hom…

2022年のインプット/アウトプットふりかえり

年末なので、2022年のインプット/アウトプットについてふりかえる。 去年の振り返りは↓こちら iikanji.hatenablog.jp 読んだ本 HIGH OUTPUT MANAGEMENT 採用基準 EMPOWERED 普通のチームが並外れた製品を生み出すプロダクトリーダーシップ 組織パターン チー…

"EMPOWERED"を読んだ

Kindleのセールで安くなっていたので、気になっていた「EMPOWERED」を読んだ。 EMPOWERED 普通のチームが並外れた製品を生み出すプロダクトリーダーシップ作者:マーティ・ケーガン,クリス・ジョーンズ日本能率協会マネジメントセンターAmazon 書籍の中でも「…

Spring SecurityのSecurity Filterについて

Spring SecurityのSecurity Filterについて、どんなFilterがあるのか、どういった順番で登録されているのか、毎回わからなくなるので備忘録としてまとめます。 Spring Security 6.0.0 時点の情報を元に記載しています。 Security Filterとは Spring Security…

"ザ・ダークパターン"を読んだ

ザ・ダークパターン ユーザーの心や行動をあざむくデザイン作者:仲野 佑希翔泳社Amazon 翔泳社のポイントの期限が切れそうだったので、お盆前に買ったこちらの本を読んだ。 元々ダークパターンという言葉自体は聞いたことがあったけど、企業の利益のためにユ…

"ソフトウェアテスト技法ドリル"を読んだ

ソフトウェアテスト技法ドリル―テスト設計の考え方と実際作者:秋山 浩一日科技連出版社Amazon ユニットテストや、シナリオベースのテストケースのレビューをする機会が増えたため、テスト観点の洗い出しやテストケースの上手な作り方を学ぶ目的で、少し古い…

Spring Securityを使ってエンドポイントに応じて複数の認証方式を切り替える方法

Spring Securityを使ったAPIを実装していたときに、REST APIにはBASIC認証をかけて、画面にはフォーム認証をかける、ということがやりたくなったのでその方法を備忘録として書いておきます。 環境 Spring Boot 2.7 Kotlin 1.6.21 方法 /api/から始まるREST A…

HttpSecurityはどうやってSecurityFilterChainを生成しているのか

タイトルの通り、Spring Securityで認証認可を行う場合に利用するHttpSecurityの処理について調べたので備忘録として書いていきます。 前置き ソースコードを読んだ上で書いていますが、正しい情報はSpring Securityの公式ドキュメントや、リポジトリを参照…

Spring Securityを使ったモック認証処理を実装する

Spring Securityを使った認証処理を実装したアプリケーションにおいて、モックの認証情報を使って動作確認をする方法を書いていきます。 認証処理の実装と、認証対象の画面や機能の実装が並行して行われているときに、Spring Securityの仕組みを使いつつもモ…

Spring SecurityをComponent-basedな設定方法で設定してみる

背景 Spring Security without the WebSecurityConfigurerAdapter を見て、従来のSpring Securityの設定方法がSpring Security5.7から非推奨になることを知ったので代わりの設定方法を試してみます。 環境 Spring Boot 2.6.7 Kotlin 1.6.21 何が変わるのか S…

"採用基準"を読んだ

採用基準作者:伊賀 泰代ダイヤモンド社Amazon 以前、チームメンバー全員に薦めている、というツイートを見かけてずっと気になっていた採用基準を読みました。 リーダーシップを持つことが重要であるということ、リーダーがなすべきタスクとはなにか、リーダ…

2021年のインプット/アウトプットふりかえり

2022年になってしまったが、2021年のインプット/アウトプットしたものを振り返っていく。 2020年の振り返りは↓ iikanji.hatenablog.jp 2021年で読んだ本 テストから見えてくる グーグルのソフトウェア開発 ソフトウェア品質を高める開発者テスト アジャイル…

Spring BootでElasticsearch Java API Clientを使ってみる

Elasticsearch Java API Client について Spring BootでElasticsearch Java API Clientを使う pom.xmlにライブラリを追加 ElasticsearchClientの設定 ElasticsearchClientを使ってみる Elasticsearchの勉強の一環で公式ドキュメントを読んでいたところ、 dep…

JEP 408 Simple Web Server を試す

JDK18で提案されている、JEP 408: Simple Web Serverが気になり触ってみたので書いていきます。 JEP 408: Simple Web Serverでは、静的ファイルを提供する最小構成のWebサーバを起動するためのCLIツールをJavaの標準機能として提供することが提案されていま…

Spring BootアプリケーションのセッションをDBで管理する

はじめに 今回は、Spring BootアプリケーションのセッションをDBで管理する方法を調べたので備忘録として書いていきます。 書いてある内容は手を動かして確認したものですが、正しい情報は公式ドキュメント(以下は2.4.3のもの)の内容を見てください。 Spring…

Technical Writing Courses for Engineerを読んだ

はじめに Technical Writing Courses for Engineerの構成 メモ Words Active Voice Clear sentences Short sentences Lists and tables Paragraphs Audience Documents Punctuation 感想 はじめに 最近聴いたe34.fmの7: News September 2021 - e34.fm の中で…

Gitで管理しているファイルの特定の期間の変更頻度をTSVで出力する

やりたいこと ファイルの変更頻度を調べたい 追加したファイルや削除したファイルは変更として扱いたくない 過去の任意の期間を指定できるようにしたい スプレッドシートにコピペしたいので、出力はTSV形式にしたい 方法 以下のワンライナーで出力することが…

notify_slackを利用してalpの集計結果をSlackで通知する

最近はISUCONの過去問を解いています。今回はnotify_slackを利用してalpの集計結果をSlackで通知する方法をまとめます。 以下の流れで説明していきます。 notify_slackを利用してテキストをSlackで通知する notify_slackのインストール Slackアプリの作成 no…

netdataのinstallスクリプトが実行できない話

ISUCONの練習でnetdataのinstallシェルスクリプトを書いていたらshとbashの違いでハマったので、忘備録として残していきます。 問題 #!/bin/bash ... bash <(curl -Ss https://my-netdata.io/kickstart.sh) --no-updates --dont-wait --stable-channel --dis…

IntelliJ IDEAを使ってDDLからER図を作成する

ISUCONの過去問をやっていてIntelliJでDDLからER図を作成したくなったので方法をまとめます。 やりたいこと ローカルにあるDDLファイルからER図を作成したい 環境 IntelliJ IDEA Ultimate 2020.3 手順 DDLを用意する。 今回はisucon7-qualifyを使用します。 …

Spring Session Data RedisがどうやってRedis Keyspace Notificationsを有効にしているのかコードを読んでみた

iikanji.hatenablog.jp ↑こちらの去年の記事で、RedisのKeyspace Notificationsについて書いたのですが、その中でSpring SessionはRedisのKeyspace Notificationsを自動で設定してくれる、と書きました。 今回は、その設定をしているConfigureNotifyKeyspace…

UriComponentsBuilderとUriComponents、どちらのencodeメソッドを使えばいいのか?

UriComponentsBuilderが提供するencodeメソッドとUriComponentsが提供するencodeメソッドの違いがわからず調べたのでまとめてみます。 今回、使用したSpring Framework のバージョンは5.3.3です。 そもそもUriComponentsBuilderとは? Spring Frameworkが提…