timestamp 型のカラムに integer 型のカラムの値の加算して date 型で比較する

備忘録。 例えば、created_at カラムに days カラムの値を日数として加算して、その結果を日付で比較するようなケース。使い道があるかは分からないけど。 以下は PostgreSQL の場合。 SELECT * FROM table t WHERE CAST(t.created_at + CAST(t.days || 'day…

Gradle dependency tree

備忘録。 以前、Eclipse + Maven を使ってたときは Eclipse の Dependency Hirarchy とかで見てたっけ。 Viewing and debugging dependencies - Gradle User Manual $ ./gradlew -q dependencies --configuration default

Future Tech Night #10 に行ってきた #future_tech_night

Future Tech Night #10 に参加しました。オンライン開催。簡単に所感をまとめます。 future.connpass.com 所感 前半は Java 8 から Java 16 で追加された API のおさらいみたいな感じでした。Record の機能は Lombok でまかなえるっていう意見が TL で流れて…

macOS をアップデートしたあと Command Line Tools のインストールが失敗する

ちょっとハマったので備忘録。brew install でパッケージをインストールしようとしたらこんなエラーが出力された。 Error: The following formula cannot be installed from bottle and must be built from source. Install the Command Line Tools: xcode-s…

ユニコーン企業のひみつ

先日、『ユニコーン企業のひみつ』を購入して読んでみました。 "ユニコーン企業のひみつ Spotifyで学んだソフトウェアづくりと働き方 - Jonathan Rasmusson" https://t.co/rDWjKW3Edo— kntmr (@knt_mr) 2021年4月26日 「チームに権限を与える」「チームを信…

Vegeta attack

以前から名前は知ってたけど、パフォーマンステストをするのに Vegeta が手軽に使えて便利そう。README にだいたい書いてあるけど取り急ぎ使いそうなところだけ備忘録。 github.com $ brew update && brew install vegeta $ echo "GET http://localhost:8080…

HIGH OUTPUT MANAGEMENT

以前、あるラジオで紹介されていた HIGH OUTPUT MANAGEMENT を購入して読んでみました。とは言っても購入したのは年初で、途中ちょっと積読しつつようやく読み終えた...。著者の Andrew Grove 氏はインテル社の CEO を務めていた方らしい。 「自身が率いる組…

リクエストの二重送信防止に UIEvent.detail を利用する

更新系のボタンクリックでローディングを表示して二重クリックを防止する実装をよく見かけるが、次のような操作をするとリクエストが二重送信できることがある。 ボタンクリック (ローディング表示) キーボードの Enter or Space 押下 ボタンクリックでボタ…

git worktree を試してみる

Git

備忘録。モノリポで、あるブランチで作業中に別ブランチで開発した他のアプリケーションを立ち上げてローカルで結合したい。そんなときに git worktree が使えそう。 git-scm.com $ git worktree list /Users/kntmr/workspace/repo e562a08b4f7 [feature/ser…

IntelliJ IDEA で Thymeleaf の templates を hot swapping したい

備忘録。IntelliJ IDEA で Thymeleaf の templates の hot swapping が動かないと思ったら、IntelliJ 側の設定が必要なのか。Eclipse 歴が長いもので...。 あ、IntelliJ 側の設定が必要なのか。Build project automatically と compiler\.automake.allow.whe…

Spring Security + RBAC (Role, Authority)

簡易的ですが、Spring Security + RBAC のサンプルを作りました。 kntmr/playground/spring-security-rbac - GitHub 今回、User と Role は 1 対 1 にしています。あと、Thymeleaf 側では、Permission (hasAuthority) ではなく、あえて Role (hasRole) を使…

ふりかえり

転職して3ヶ月。この期間にやったことなどをふりかえってみたり。 やったこと オリエンテーション (人事制度説明とか) 各種アカウント準備 PCセットアップ 開発環境構築 アラート解析 デバッグ (軽微/小規模なもの) エンハンス 問い合わせ対応 最初は、業務…

Ingress のルーティングを nginx-hello で試してみる

Ingress のルーティングを nginxinc/NGINX-Demos の nginx-hello を使って試してみる。 まずは Ingress Controller を有効にする。 $ minikube addons enable ingress Verifying ingress addon... The 'ingress' addon is enabled $ kubectl get pods -n k…

Kubernetes on Minikube/HyperKit

備忘録。 Kubernetes を Minikube で試してみる。(ローカルでマルチノードクラスタを構築する場合は kind を使う) $ minikube version minikube version: v1.15.0 今回は HyperKit 上に Kubernetes を起動する。デフォルトは Docker が使われるっぽい。他に…

2020年のふりかえりと2021年に向けて

自宅で元旦を迎えました。年末年始に帰省しなかったのは久しぶりかもしれない。2020年はリモートワークがメインになったりいろいろと変化がある年だったような気がする。 2019年のふりかえりと2020年に向けて - kntmr-blog GraphQL Vue.js + TypeScript OCJP…

Homebrew Bundle & Google Drive File Stream

Mac で移行しやすい環境を構築する。突然、PC が故障して他の PC に移行することになるかもしれないし。ちなみに、過去に Windows を使ってたときも Google Drive File Stream を使ってたっけ。 Homebrew Bundle パッケージ管理は Homebrew Bundle でバック…

子供とネットを考える Advent Calendar 2020

子供とネットを考える Advent Calendar 2020 の24日目の記事です。枠が空いてたので書きます!とは言ってもこの記事の内容自体は今年の夏に書いたものです 小学生の娘が日頃から iPad でインターネットを使うようになりました。主に YouTube などの動画コン…

Vue.js v-tokyo オンライン Meetup #12 に行ってきた #v_tokyo12

Vue.js v-tokyo オンライン Meetup #12 に参加しました。オンライン開催。簡単に所感をまとめます。 vuejs-meetup.connpass.com 所感 ESLint をマイグレーションの補助として使うのはなるほどという感じ。(本編でも言ってたけどマイグレーションツールではな…

Mac で REALFORCE R2 (JIS/Win) を使いたい

前回の続き。今回は Karabiner-Elements を試す。備忘録。 Windows to Mac - kntmr-blog macOS Mojave 10.14.5 Karabiner-Elements-12.10.0 REALFORCE R2 (JIS/Win) karabiner-elements - Homebrew Formulae でインストールする。 $ brew install --cask kar…

Windows to Mac

長らく Windows を使ってましたが、メイン PC が MacBook Pro (13-inch, 2018) になりました。これからちゃんと使うために使いやすいように各種設定。備忘録。 Mac is not a PC. システム環境設定 キーボード Touch Bar に表示する項目: F1, F2 などのキー F…

JJUG CCC 2020 Fall に行ってきた #jjug

JJUG CCC 2020 Fall に参加しました。オンライン開催。簡単に所感をまとめます。 ccc2020fall.java-users.jp 所感 ArchUnit は去年の JJUG でもセッションがあったけど、今回は ArchUnit の柔軟さを生かした応用事例が紹介されていました。いろいろな依存解…

sdkman で Oracle JDK を管理する

たぶん需要ないと思うけど備忘録。sdkman で Oracle JDK を管理する。(開発用途) 2020/11 時点では sdkman で OpenJDK 8 はインストールできないっぽい。 $ sdk ls java ================================================================================ …

Docker道場オンライン #1 に行ってきた #dockerdojo

Docker道場オンライン #1 に参加しました。今回はオンライン開催。簡単に所感をまとめます。 dockerdojo.connpass.com 所感 Docker は、社内でちょっとした開発ツールを試すときに触ってみた程度です。きちんと基本から理解しておきたいところ。今回は Docke…

Records の Compact Constructors の中ではフィールドを初期化する処理は書けない

Java の Records に Compact Constructors と呼ばれる機能があります。 record Foo(int x) { Foo { x = 100; } } Compact Constructors の中ではフィールドを初期化する処理は書けません。コンパイルエラーになります。 record Foo(int x) { Foo { this.x = …

JJUGナイトセミナー「Java 15 リリース記念イベント」に行ってきた #jjug

JJUGナイトセミナー「Java 15 リリース記念イベント」に参加しました。今回はオンライン開催。簡単に所感をまとめます。 jjug.doorkeeper.jp 所感 チャットにも書かれてましたが、リリースサイクルが変わってから少しずつ機能が追加されていくのでキャッチア…

Vue.js でウィジェットっぽいもの (TypeScript) (仮)

以前、Vue.js の学習を兼ねてウィジェットっぽいものを作りました。 Vue.js でウィジェットっぽいものを作ってみる (仮) - kntmr-blog Vue.js でウィジェットっぽいもの (仮) その2 - kntmr-blog 続編として今回はこれを TypeScript に移植しました。とは言…

Engineers in VOYAGE #voyagebook

先月、Engineers in VOYAGE を読みました。VOYAGE GROUP のエンジニアのインタビューをまとめた本です。 Engineers in VOYAGE ― 事業をエンジニアリングする技術者たちwww.lambdanote.com 内容が生々しいという噂が気になって読んでみました。確かに生々しか…

閉方テーブル (Closure Table)

閉方テーブル (Closure Table) は RDB で階層構造を表現する際に使われるデータモデルです。数年前にとある案件で使ったのですが、内容を忘れかけてるので復習します。備忘録。 閉方テーブルでは直接の親子関係だけでなく、階層全体の関係を持つ。閉方テーブ…

Remote.vue #2 に行ってきた #remote_vue

先日、Remote.vue #2 に参加しました。オンライン開催。簡単に所感をまとめます。 lapras.connpass.com 所感 ユーザーに提供する知識、情報、振る舞いは、いわゆる情報設計?というものかと思いますが、これをコンポーネント分割の観点にするというのは目か…

JSUG勉強会 2020年その6 LT大会 に行ってきた #jsug

先日、JSUG勉強会 2020年その6 LT大会 に参加しました。今回はオンライン開催。簡単に所感をまとめます。 jsug.doorkeeper.jp 所感 今回はLT大会ということで幅広い内容が聴けてよかったです。Liveness / Readiness や Graceful Shutdown のあたりは前回の J…