2019-01-01から1年間の記事一覧
ブログを移転しました。 ren.nosuke.me 追記(2021/01/02) もどってきました。 rennnosukesann.hatenablog.com
Closable Java の Closable インタフェースを実装した具象クラスは、 close() メソッドを定義する必要がある。 Closable を実装した抽象クラスに Writer 、継承したインタフェースには OutputStream があり、これらの抽象 I/O を実装したクラスでは確保した…
Nuxt.jsでTypeScriptを使用した際、Webpackでよくやるimportエイリアスを適用したかったのでやってみました。 TypeScriptコンパイル時のエイリアスルールを設定 先ずはコンパイル時に怒られないよう tsconfig.ts にエイリアスを設定します。 tsconfig.ts { "…
yarnでインストールしたパッケージキャッシュを全て削除する場合、下記のコマンドを実施すればOK。 $ yarn cache clean 削除するパッケージキャッシュを指定する場合は以下。 $ yarn cache clean nuxt なお、キャッシュされているyarnパッケージは、記コマン…
Hikari CPの本家Githubで良Wikiを見つけたのでメモ。 github.com コネクションプールの接続プール数は、以下の式で導出した数を初期値に調節していくのが良いとのこと。 プール数 = CPUコア数 * 2 + スピンドル数 スピンドル数は、HDDなどディスク型ストレー…
VueのUIフレームワークVuetifyでは、テキストボックスである v-text-field に値削除ボタンを表示するオプションが clearable が指定できるのですが、この仕様が少し気になったのでメモします。 v-text-field に適当な文字列プロパティをバインドし、フォーム…
Spring SecurityでCORSを使用した設定を行う方法を紹介します。 Spring Securityを導入することで、Springアプリケーションに手軽に認証・認可を仕組みを設定することができますが、認可の一環としてCORSの設定も行うことができます。 例えば、以下のような …
Springアプリケーション内で発生する例外をSpring AOPでハンドリングする方法を紹介します。 ある特定の例外を別の例外として再スローするシーンがたまにあるのですが、SpringではこのようなときにAOPによる横断的な例外キャッチを使うと便利です。 例えばDD…
jQueryと同様に、Vueコンポーネントへハンドル可能なイベントを登録する組み込みのメソッド $on は、同一イベントに対し複数回ハンドラ登録を行うと、その全てがハンドラとして有効になります。 function hello () { console.log('hello.'); } function yee …
一般に、Vueで親コンポーネントから子コンポーネントへのプロパティ操作を行う場合、親コンポーネントの値を子コンポーネントにバインドします。 では子コンポーネントのメソッド操作を行う場合はどうするかというと、直接的には $refs を通して子コンポーネ…
Vue + Typescript + vue-property-decoratorでコンポーネントをクラス宣言的に記述する際、data はクラスのインスタンス変数として定義し、 method はクラスのメソッドとして記述できます。 <template> <p v-for="(b, i) in books" :key="i">{{b.name}}</p> </template> <script lang="ts"> import { Component, Vue } from 'nuxt-property-de…
親コンポーネントから子コンポーネントへデータを受け渡す手段として props を使用できます。 これは非常にベーシックかつ便利な手段で、動的なデータであっても親コンポーネントの変更があれば子コンポーネントにその状態変化を伝えることができます。 (た…
Spring Initializrで生成したばかりのSpring Bootプロジェクトからアプリを実行すると、Component Scanの対象となるパッケージがデフォルトでトップレベルから実行されていることがわかります。 これは、下記の様な @SpringBootApplication アノテーションが…
@AuthenticationPrincipal Spring Securityでは、セッションユーザ情報をシンプルに取得できるアノテーション @AuthenticationPrincipal が存在します。 (Javadocより) メソッドのパラメーターまたはメソッドの戻り値に Authentication.getPrincipal()をバ…
Cloud Foundly上のアプリケーションログをLogDNAに転送し、可視化してみます。 1. LogDNAのSyslogパスを取得する LogDNAダッシュボードに移動し、「All Apps」->「Add apps」->「syslog」をクリックします。 するとSyslogのパスが表示されるので、これをコピ…
@MappedSuperClass 主キー用IDや最終更新日時など、RDB上の各テーブルには同一定義のカラムが存在することが少なくありません。これがJPAのEntityにマッピングされると、複数のEntityクラスに同一定義のカラムプロパティが散在することになります。 (ソース…
画素勾配でエッジ検出 画像上に現れる物体の境界(エッジ)を検出する方法に、隣接する画素間の輝度の変化量を利用する方法があります。 この輝度の変化量が大きい部分をエッジとみなし、画像の分類や画像マッチングなどに使用できる特徴量として扱うことが…
goで画像処理を行う場合、image パッケージを使用することができます。 image/jpeg image/png パッケージの Encode 関数で拡張子を変換します。 package main import( "os" "fmt" "bufio" "image" _ "image/jpeg" "image/png" ) func main() { // 入力画像パ…
Spring Cacheとは Spring Cacheのアーキテクチャ データ読み込み時の流れ Spring Cacheを構成するコンポーネント Cache AOP CacheManager ハッシュテーブル 実装 キャッシュ無効 キャッシュ有効 Spring Cacheの主な機能 @Cacheable キャッシュキー KeyGenera…
Spring2ではJSONリクエスト/レスポンスボディのマッピングの際、Boolean型メンバに非Booleanの値をマッピングしようとしたときに正常に処理を終えてしまいます。 例えば、"1" や "true" という文字列を渡してもtrueに変換され、 "0" や "false" 文字列を渡す…
Cloud Foundryインスタンスを複数立ち上げたときに、特定のインスタンスにアクセスするやり方のメモです。 X-CF-APP-INSTANCE ヘッダーでインスタンスを指定 Cloud Foundry上にデプロイしたアプリケーションにアクセスするとき、 X-CF-APP-INSTANCE ヘッダー…
Spring でのセッション SpringではJava ServletのHttpSessionの仕組みを利用することができます。ServletのHttpSessionはSpringフレームワークの上に構築されたアプリケーション上でそのまま利用できるほか、Springの各種ライブラリによってラッピングされた…
Grafanaで可視化対象になっている監視サーバが障害を検知したら、Grafana側でメールやWebhookなどの通知を行うための設定メモです。 Grafanaでメール通知を設定する ダッシュボード左上のGrafanaアイコンをクリックし、プルダウンから「Alerting」->「Notifi…
というかServletの仕様ですね。 Spring Securityにおけるセッションの有効期限 Spring Securityでは、セッション情報をJava Servletで扱うようなHttpSessionとして扱えます。またセッションに紐づく情報は、クッキーであるHttpCookieオブジェクトとして扱え…
突然ですが、本ブログのタイトルと、ブログ全体のデザインを更新させていただきました。 今までははてなブログで提供されていたデフォルトのブログテーマを使わせていただきましたが、そろそろデザインを変えたいと思い、またどうせ変えるなら自分でカスタム…
ローカルにあるDockerイメージ/コンテナを全て削除するコマンド。メモ。 # Dockerイメージの全削除 $ docker rmi $(docker images -aq) # Dockerコンテナの全削除 $ docker rm $(docker ps -aq) DockerHubにあるイメージをいろいろ試していると、どうしても…
Kotlin版Spring Boot開発環境構築のメモです。 検証環境はMac OS X Mojave 10.14.2 になります。 IntelliJ IDEのインストール 今回はIDEとしてIntelliJを使用します。 IntelliJはKotlinの開発元であるJetbrain社が開発していることもあって、Kotlinのサポー…
メモ。 Dockerイメージ作成時、デフォルトだと過去のビルドキャッシュが存在する場合そちらを使用してしまいます。 $ ls Dockerfile $ docker build -t hoge . Step 2/20 : COPY entrypoint.sh /sbin/entrypoint.sh ---> Using cache ---> 5214f6bedefd これ…
Kotlinをやっていて、Java(8)と比較して良いな、と思った部分を書きました。 null許容型 Swiftなどにもありますが、Kotlinではnull許容型が定義されており、それと対を成すようにデフォルトの型宣言ではnullが許容されないようになっています。 val hoge: St…
今日はじめてKotlinを触ってみたのですが、その際に使用したKotlin CLIによるコンパイルと実行のメモです。 Kotlin CLIのインストール 実施環境:Mac OS X Mojave 10. 14.2 brew でインストールできます。 $ brew update $ brew install kotlin コンパイル …