Boolean型で定義しているフォームの項目に対してnullが送られてきた場合にfalseに変換して受け取りたいことがあり、調べたことを備忘録として残していく。 前提 PropertyEditor CustomBooleanEditor 独自PropertyEditor 前提 Spring Framework 3.0.2 Java 17…
年始に以下のnoteを見て気になっていた「リーダーの戦い方」という本を読んだ。 note.com リーダーの戦い方 最強の経営者は「自分解」で勝負する (日本経済新聞出版)作者:内田和成日経BPAmazon この本の各章をざっくり要約すると以下のような内容になってい…
OpenSearch2.4でサポートされたPoint in Time(PIT)を使ったページネーションを試してみる。 前提 OpenSearch 2.4.1 Point in Timeとは Point in Timeとは、時間的に固定されたデータセットに対してクエリを実行するための仕組み。 from, sizeを使った方法や…
brewでインストールしたパッケージの大掃除をしていたときに、パッケージの依存関係が見たかったので調べた。 brew のバージョンは以下。 $ brew --version Homebrew 3.6.17 Homebrew/homebrew-core (git revision b7861bb27c5; last commit 2023-01-04) Hom…
年末なので、2022年のインプット/アウトプットについてふりかえる。 去年の振り返りは↓こちら iikanji.hatenablog.jp 読んだ本 HIGH OUTPUT MANAGEMENT 採用基準 EMPOWERED 普通のチームが並外れた製品を生み出すプロダクトリーダーシップ 組織パターン チー…
Kindleのセールで安くなっていたので、気になっていた「EMPOWERED」を読んだ。 EMPOWERED 普通のチームが並外れた製品を生み出すプロダクトリーダーシップ作者:マーティ・ケーガン,クリス・ジョーンズ日本能率協会マネジメントセンターAmazon 書籍の中でも「…
Spring SecurityのSecurity Filterについて、どんなFilterがあるのか、どういった順番で登録されているのか、毎回わからなくなるので備忘録としてまとめます。 Spring Security 6.0.0 時点の情報を元に記載しています。 Security Filterとは Spring Security…
ザ・ダークパターン ユーザーの心や行動をあざむくデザイン作者:仲野 佑希翔泳社Amazon 翔泳社のポイントの期限が切れそうだったので、お盆前に買ったこちらの本を読んだ。 元々ダークパターンという言葉自体は聞いたことがあったけど、企業の利益のためにユ…
ソフトウェアテスト技法ドリル―テスト設計の考え方と実際作者:秋山 浩一日科技連出版社Amazon ユニットテストや、シナリオベースのテストケースのレビューをする機会が増えたため、テスト観点の洗い出しやテストケースの上手な作り方を学ぶ目的で、少し古い…
Spring Securityを使ったAPIを実装していたときに、REST APIにはBASIC認証をかけて、画面にはフォーム認証をかける、ということがやりたくなったのでその方法を備忘録として書いておきます。 環境 Spring Boot 2.7 Kotlin 1.6.21 方法 /api/から始まるREST A…
タイトルの通り、Spring Securityで認証認可を行う場合に利用するHttpSecurityの処理について調べたので備忘録として書いていきます。 前置き ソースコードを読んだ上で書いていますが、正しい情報はSpring Securityの公式ドキュメントや、リポジトリを参照…
Spring Securityを使った認証処理を実装したアプリケーションにおいて、モックの認証情報を使って動作確認をする方法を書いていきます。 認証処理の実装と、認証対象の画面や機能の実装が並行して行われているときに、Spring Securityの仕組みを使いつつもモ…
背景 Spring Security without the WebSecurityConfigurerAdapter を見て、従来のSpring Securityの設定方法がSpring Security5.7から非推奨になることを知ったので代わりの設定方法を試してみます。 環境 Spring Boot 2.6.7 Kotlin 1.6.21 何が変わるのか S…
採用基準作者:伊賀 泰代ダイヤモンド社Amazon 以前、チームメンバー全員に薦めている、というツイートを見かけてずっと気になっていた採用基準を読みました。 リーダーシップを持つことが重要であるということ、リーダーがなすべきタスクとはなにか、リーダ…
2022年になってしまったが、2021年のインプット/アウトプットしたものを振り返っていく。 2020年の振り返りは↓ iikanji.hatenablog.jp 2021年で読んだ本 テストから見えてくる グーグルのソフトウェア開発 ソフトウェア品質を高める開発者テスト アジャイル…
Elasticsearch Java API Client について Spring BootでElasticsearch Java API Clientを使う pom.xmlにライブラリを追加 ElasticsearchClientの設定 ElasticsearchClientを使ってみる Elasticsearchの勉強の一環で公式ドキュメントを読んでいたところ、 dep…
JDK18で提案されている、JEP 408: Simple Web Serverが気になり触ってみたので書いていきます。 JEP 408: Simple Web Serverでは、静的ファイルを提供する最小構成のWebサーバを起動するためのCLIツールをJavaの標準機能として提供することが提案されていま…
はじめに 今回は、Spring BootアプリケーションのセッションをDBで管理する方法を調べたので備忘録として書いていきます。 書いてある内容は手を動かして確認したものですが、正しい情報は公式ドキュメント(以下は2.4.3のもの)の内容を見てください。 Spring…
はじめに 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 の中で…
やりたいこと ファイルの変更頻度を調べたい 追加したファイルや削除したファイルは変更として扱いたくない 過去の任意の期間を指定できるようにしたい スプレッドシートにコピペしたいので、出力はTSV形式にしたい 方法 以下のワンライナーで出力することが…
最近はISUCONの過去問を解いています。今回はnotify_slackを利用してalpの集計結果をSlackで通知する方法をまとめます。 以下の流れで説明していきます。 notify_slackを利用してテキストをSlackで通知する notify_slackのインストール Slackアプリの作成 no…
ISUCONの練習でnetdataのinstallシェルスクリプトを書いていたらshとbashの違いでハマったので、忘備録として残していきます。 問題 #!/bin/bash ... bash <(curl -Ss https://my-netdata.io/kickstart.sh) --no-updates --dont-wait --stable-channel --dis…
ISUCONの過去問をやっていてIntelliJでDDLからER図を作成したくなったので方法をまとめます。 やりたいこと ローカルにあるDDLファイルからER図を作成したい 環境 IntelliJ IDEA Ultimate 2020.3 手順 DDLを用意する。 今回はisucon7-qualifyを使用します。 …
iikanji.hatenablog.jp ↑こちらの去年の記事で、RedisのKeyspace Notificationsについて書いたのですが、その中でSpring SessionはRedisのKeyspace Notificationsを自動で設定してくれる、と書きました。 今回は、その設定をしているConfigureNotifyKeyspace…
UriComponentsBuilderが提供するencodeメソッドとUriComponentsが提供するencodeメソッドの違いがわからず調べたのでまとめてみます。 今回、使用したSpring Framework のバージョンは5.3.3です。 そもそもUriComponentsBuilderとは? Spring Frameworkが提…
Spring Frameworkでは、UriComponentsBuilderやServletUriComponetnsBulder, MvcUriComponentsBuilder, もしくはUriBuilderインターフェースを実装したクラスを使うことでURIを簡単に作ることができます。 たとえば、以下のコードのようにUriComponetsBuilde…
Java 8から標準ライブラリとして提供されているClockというクラスを利用して、現在時刻を取得することができます。 Clock (Java Platform SE 8) 現在時刻を取得するためにSystem.currentTimeMills()やLocalDateTime.now()などのstatic methodを呼び出して利…
AlfredからIntelliJ IDEAのプロジェクトをマウスやクリックを使わずに開けたら便利だなーと思って設定したので、やり方をまとめていく。 Alfred Powerpackを有効にする https://www.alfredapp.com/shop/ からSingle LicenseかMega Supporterを購入する。 お…
2020年、自分がどういったテーマについてどれだけインプット, アウトプットしたのかを振り返っていく。 2020年で読んだ本 今年は以下の本を読んだ。 他にも何冊か読んだが、記憶にあまり残っていないので割愛。 リファクタリング 既存のコードを安全に改善す…
Redis Keyspace Notificationsとは Redisには、キーに影響を与えるコマンドが実行されたタイミングや、キーが期限切れになったタイミングなどにRedisのPub/Subチャネルを介してクライアントにイベントを通知するRedis Keyspace Notificationsという機能があ…