TechRustr2d2SQLMySQLRustでSQLを発行してみるRustでSQLを発行してみます。RustでSQLというとDieselばかりが検索に引っかかります。Dieselのように事前のセットアップをしたくない場合とか、すでにデータソースの用意がある場合等、SQL…
TechJava秒数算出するときはDurationがべんりCookie#setMaxAge(int)やHttpSession#setMaxInactiveInterval(int)のように期間を秒数で受けるようなAPIは少なくありません。旧来のJava7以前であれば、秒数計算をしていたかと思いますが、Java8以降ではjava.time…
TechKotlinKotlin typealiasの効果的な使いどころKotlinに用意されているtypealiasですが、これは新たな型を作るわけではなく、単に別名を付けてクラスへの参照経路を複数用意してあげるだけのものです。完全に別の型になるというわけではなく、エイリアスとエイリアスを付けられた型同士には互換性があるため、value…
TechTroubleshootNode.jsNVMWSLGatsbyWSLでlibGL.so.1が開けないエラーWSL環境で、あるGatsbyテンプレートを使用してgatsby developを実行してみたところ、エラーが発生し開発モードでの起動に失敗してしまったため、そのトラブルシュート。なお一通り対応してみた限り、Gatsby自体に直接の原因があるわけではなく、WSL上におけるNode…
TechGitHubContributionGitHubで草活して1年が経ったすこし前の話になりますが、GitHubで草を育てる活動をはじめて、1年が経ちました。忘れないように活動中に感じていたことなど残しておこうと思います。一年で生えた草は以下のようになりました。…
TechLicenseMITMITライセンスの派生物に自分の権利表示を追加するもともとMITライセンスが付与されていた著作物に対して、自分で加えた変更部分に対する権利表示を、どう適用するかという話。MIT…
TechDomainDNSお名前ドットコムからGoogleDomainsにドメイン移管するGoogle Domainsで、トップレベルドメインdevの提供が開始されたのを機に、保有ドメインを移管してみました。ドメイン登録事業者は数多くありますが、それらの中でもお名前ドットコムを使っていた理由のひとつが、ドメイン名の取扱いだけではなく、同サービス上でDNS…
TechSpring BootFlywaySQLFlywayのSQLにはプレースホルダが使えるFlywayによるDBマイグレーションで、ユーザーテーブルのようなものをセットアップしたい場合に、SQLに直接パスワードを書きたくないなと調べたところ、プレースホルダーを使えることがわかったので、そのメモです。Spring Boot…
TechKotlinJPASpringSpring BootKotlinでJPA使用時にデフォルトコンストラクタ要求を回避するKotlinでJPAを使用する場合、エンティティクラスにデフォルトコンストラクタが存在しないと、以下のような例外がスローされます。org.springframework.orm.jpa.JpaSystemException: No default constructor for…
TechKotlinJavaURLURIFile SchemeFile ProtocolKotlinやJavaのファイルスキームURLをパスに変換するfileスキームのURLを、ローカルファイルを参照可能なパスに変換しようとしたところ、単純な文字列操作以外の方法でこれを取り扱うのが、思ったよりも手こずったのでメモ。手こずったとはいえ、方法を知っていれば難しくはないのですが、知らなかったなあということで。環境要件Oracle…
TechSlackJIRAJIRA CloudSlackとJIRAを連携するSlackとJIRAを連携するには、Jira Cloudを使うか、Jira Server Alertsを使うことになります。どちらでも連携自体は可能ですが、通知内容はJira Cloudのほうがよりリッチで、Slackを離れることなくIssue…
TechGolangvgoBeginnerGoインストールメモやりなおし(vgo)いまのGoは、バイナリ内にパッケージマネージャが同梱されていることを知ったのでやりなおし。depなんていらなかった。depだと、GOPATHが必要だったり、ディレクトリ構成もそこそこ縛られたりするし、goコマンドにバンドルされているvgoのほうが良かった。環境要件Mac OS X…
TechGolangdepBeginnerGoインストールメモ(dep)RustでWebサーバーを書いていたのですが、このところ非同期IOまわりの実装が活発なようで、シンプルに書こうと思うと、まだ発展途上な部分が目立ったので、筆休めにGoをはじめてみました。というわけで環境構築用の自分用メモです。環境要件Mac OS X 10.13.6GVM…
TechRustBeginnerRustでコレクション操作Rustでコレクション操作をしてみようとしたところ、基本的な部分ではありつつも、けっこう躓いたのでメモ。公式リファレンスが充実しているので、そちらを確認するのも良いですが、型引数が必要な箇所や、実際にそれをどう指定するのかまでは、例がまとまっていなかったので。HTTP…
TechRustHyperBeginnerRustでシンプルなWebサーバーWebサーバーをつくるときは、Hyperというのがデファクトらしいので、これを使ってみます。(Webアプリケーションフレームワークとしてはまた別で、IronとかRocketとかがある。)今回のコードサンプルは以下。 https://github.com/yo1000/rust…
TechRustCargoBeginnerRustインストールメモ環境移ったときなど、毎回調べ直している気がしたので自分用メモ。読み方はrˈʌst。RustupのインストールRustupはNVMとかと同じ、ランタイムのバージョンマネージャ。RustのインストールRustupを使って、Rust…
TechNode.jsNVMBeginnerNodeJSインストールメモ環境移ったときなど、毎回調べ直している気がしたので自分用メモ。NVMのインストールNodeJSのインストールNPMの更新Gatsby Clientのインストールこれは使わなければ、とくに用事なし。プロジェクトのビルドXYZの部分は、プロジェクトに応じて変更する。
TechGatsbyGatsby Material StarterのRSSフィードを修正するGatsby Material Starterをしばらく使ってみたところ、生成されるRSSフィード内のURLがエンコードされていないことに気が付きました。そこで今回はフィード生成処理に手を加えて、これを修正してみます。要件Node.js 11.0.0NPM 6.5.0Gatsby…
TechHTMLCSSCSSでカーニングCSSでもカーニングできることを知ったので使ってみたところ、とても良かったのでこれからも使えるようにメモ。CSSプロパティfont-feature-settingsを使い、値に"palt"を設定します。句読点、括弧、中黒等を字詰から除きたい場合は、"pkna…
TechGatsbyGatsby Material Starterで行番号を表示するブログをGatsby移行するにあたって、すこし面倒だったシンタックスハイライトの行番号表示をまとめます。要件Node.js 11.0.0NPM 6.5.0Gatsby CLI 2.4.7Gatsby 2.0.40Vagr9K/gatsby-material-starter…
TechGatsbyGatsbyことはじめGatsbyのはじめ方に少し手間取ったのでメモ。要件Node.js 11.0.0NPM 6.5.0Gatsby CLI 2.4.7Gatsby CLIのインストールNode.js, NPMさえ入っていれば、これは手こずりません。GatsbyクイックスタートのとおりにNPM…
TechPostgresqlSQLPostgresqlコマンドメモすぐ忘れて検索し直すので。 個人的なメモとして。クライアントから接続ロール(ユーザー)作成 データベース作成バックスラッシュ系コマンド参考https://dev.classmethod.jp/server-side/db/postgresql-organize-command…
TechKotlinKotlinでヒアドキュメント中の文字をエスケープKotlin には変数展開機能があるため、$記号を使いたい場合エスケープが必要になる。 ヒアドキュメントと通常の文字列でエスケープの方法が少し異なり、クセがあるのでメモ。要件環境今回の作業環境は以下のとおりです。Java 8Kotlin 1.2.4…
TechKeycloakKeycloak4Spring BootSpring Boot2Spring SecurityKotlinKeycloak 4とSpring Boot 2アプリの連携 - リソースサーバーKeycloak 4がリリースされたのに合わせてkeycloak-spring-boot-2-starterもリリースされたので、Spring Boot 2との連携例を紹介しようという記事の2回目です。(1回目はこちら)https://github.com/yo1000/kc…
TechKeycloakKeycloak4Spring BootSpring Boot2Spring SecurityKotlinKeycloak 4.0とSpring Boot 2.0アプリの連携 - 単一クライアントつい先日、待ちに待ったKeycloak 4がいよいよリリースされました。なぜ待っていたかというと、Keycloak 4用の連携モジュールからはSpring Boot 2に正式対応されるからなんですね。(Keycloak 3用の連携モジュールはSpring Boot…
TechKotlinSpringSpring BootRESTTestingSpringで外部APIをリクエストする場合のテスト外部APIをリクエストしている機能のテストをしたい場合、Springでは、MockRestServiceServerを使います。MockRestServiceServerを使うと、RestTemplateがリクエストしたURL…
TechJavaKotlinMavenMavenのactiveByDefaultにはクセがあるMavenで複数のプロファイルを切替える場合に、そのデフォルトとして、プロファイルをマークするのがactiveByDefaultという設定なわけですが、これの挙動が少し想像とズレていたのでそのメモ。サンプルは以下。 https://github.com/yo100…
TechPassword Manager1PasswordKeePassOSSのパスワードマネージャKeePassに移行する1Passwordの課金モデル変更に伴い、サブスクリプションモデルに移行するか、LastPassに移行するかと、これからのパスワード管理について、いろいろ悩んで改めてゼロから調べ直してみたところ、KeePassというのが良さそうだったのでこれに移行してみました。KeePass…
TechKotlinMockitoTestingKotlinでMockitoを使うとanyがうまくいかないテストでMockitoを使っていると、any(Class<T>)を使いたくなる場面は、そこそこ多いように思います。ところが、Kotlinでテストを書いていると、これを受け取ったKotlin実装のメソッドで以下のようなエラーが吐かれてしまい、テストが書けません。java.lang…
TechJavascriptNode.jsVue.jsNuxt.jsNuxtをSPAで動かすとリダイレクト時に一瞬ページが見える以前からVueには興味があって、このサイトもまあVuePress使っているから、まあそうなんだろうねという感じなんですけど、最近では職場でもVueが使われることが少しずつ増え始めて、今やっているプロジェクトではNuxt.js…
TechSpringSpring BootSpring初学者が最初に知るべき責務とレイヤーこのポストは、過去にQiitaで書いたものを改訂したものです。新年度を迎えるたび、Qiitaでのポストへたびたび「いいね」がつくので、入社等をきっかけに、新たな環境ではじめてSpringに触れる方もきっと多いのでしょう。自分の周囲に対しても、Spring…
TechVuePressRSSJavascriptVuePressにRSSフィードを追加するVuePressは便利なんですが製品ドキュメント向けに作られている感が強く、ブログとして使おうとすると、まだ貧弱な部分も目立ちます。今回書くRSS機能なども現在のところ用意されてはいません。(Issue…
TechGitHubGmailSlackGitHubからの通知をフィルタしてSlack連携するGitHubは、現在では無くてはならない開発インフラのひとつとなっていますが、いまいちその通知機能のバランスが悪く、重要な通知(レビューリクエストや、担当Issue…
TechJacksonJPAJSONKotlinJacksonシリアライズの循環参照を止めるJacksonを使用したJSONの出力で、オブジェクトが循環参照を起こしているような場合、これを止める方法についてのメモ。以下のように、JsonIdentityInfo…
TechDynamoDBSpring Boot2KotlinTestingDynamoDB LocalをSpring Bootで使う概要DynamoDB Localを、Spring Bootで使うメモ。Spring DataのCrudRepositoryを使用した、リポジトリクラスの定義と、自動生成や、Spring BootのAuto configuration…
TechDynamoDBKotlinTestingDynamoDB Localを使用したテスト概要Amazon DynamoDBを、AWSに依存せず、ローカルでテストする流れのメモ。DynamoDBでは、AWSを利用せずとも、ローカルで検証できるように、AWS自身からDynamoDB Localというモジュールが提供されています。このモジュールはAWS…
TechKeycloakSpring BootSpring SecurityKotlinJavascriptKeycloakリソースサーバーJavascriptクライアントの連携例概要Keycloakと、リソースサーバー、リソースクライアント間のSSO検証メモ。(Javascriptクライアント版)すでに検証部分の大半は過去のポストで完了しているため、ここでは主にJavascript版での差分と、Javascript…
TechKeycloakSpring BootSpring SecurityTestingGroovySpockKeycloak認証を使うリソースサーバーのGroovy Spockテスト概要Keycloakによる認証を使う、リソースサーバー(Spring Bootクライアント)でのGroovy Spockテスト実装メモ。この手順で使用したコードは、以下に公開しているので、こちらも参考にしてください。 https://github.com/yo1000/kc…
TechKeycloakSpring BootSpring SecurityKotlinJUnitTestingKeycloak認証を使うリソースサーバーのテスト概要Keycloakによる認証を使う、リソースサーバー(Spring Bootクライアント)でのテスト実装メモ。この手順で使用したコードは、以下に公開しているので、こちらも参考にしてください。 https://github.com/yo1000/kc-resource/584c…
TechKeycloakSpring BootSpring SecurityKotlinKeycloakリソースサーバー リソースクライアントの連携例概要KeycloakによるSSO基盤構築検証のメモ。SSOサーバー(Keycloak)のセットアップと、SSO…