Works by

Ren's blog

プログラミング等IT技術関連でメモする

【Spring】JSONリクエストのBoolean型以外のパラメータを暗黙的にBooleanに変換させない

Spring2ではJSONの非BooleanパラメータでもBoolean値にマッピングされてしまいます。 これはfasterxml/Jacksonのデフォルト仕様で、このマッピングを防ぐにはSpringで使用されるObjectMapperの設定を修正する必要があります。 環境 Kotlin: 1.3.21 Spring: 2…

【Cloud Foundry】Cloud Foundryアプリケーションのインスタンスを明示的に指定してHTTPリクエストを送る

Cloud Foundryインスタンスを複数立ち上げたときに、特定のインスタンスにアクセスするやり方のメモです。 X-CF-APP-INSTANCE ヘッダーでインスタンスを指定 Cloud Foundry上にデプロイしたアプリケーションにアクセスするとき、 X-CF-APP-INSTANCE ヘッダー…

【Spring】Spring Sessionでセッション情報をDb2上に保存する

Spring でのセッション SpringではJava ServletのHttpSessionの仕組みを利用することができます。ServletのHttpSessionはSpringフレームワークの上に構築されたアプリケーション上でそのまま利用できるほか、Springの各種ライブラリによってラッピングされた…

【Grafana】Grafanaでアラート時通知を設定する

Grafanaで可視化対象になっている監視サーバが障害を検知したら、Grafana側でメールやWebhookなどの通知を行うための設定メモです。 Grafanaでメール通知を設定する ダッシュボード左上のGrafanaアイコンをクリックし、プルダウンから「Alerting」->「Notifi…

【Spring Security】セッションのデフォルト有効期限は30分しかない

というかServletの仕様ですね。 Spring Securityにおけるセッションの有効期限 Spring Securityでは、セッション情報をJava Servletで扱うようなHttpSessionとして扱えます。またセッションに紐づく情報は、クッキーであるHttpCookieオブジェクトとして扱え…

ブログタイトルとデザインを更新しました

突然ですが、本ブログのタイトルと、ブログ全体のデザインを更新させていただきました。 今までははてなブログで提供されていたデフォルトのブログテーマを使わせていただきましたが、そろそろデザインを変えたいと思い、またどうせ変えるなら自分でカスタム…

【Docker】ローカル環境上のイメージ/コンテナを全て削除する

ローカルにあるDockerイメージ/コンテナを全て削除するコマンド。メモ。 # Dockerイメージの全削除 $ docker rmi $(docker images -aq) # Dockerコンテナの全削除 $ docker rm $(docker ps -aq) DockerHubにあるイメージをいろいろ試していると、どうしても…

【Kotlin/Spring】Kotlin版SpringBoot開発環境を構築する

Kotlin版Spring Boot開発環境構築のメモです。 検証環境はMac OS X Mojave 10.14.2 になります。 IntelliJ IDEのインストール 今回はIDEとしてIntelliJを使用します。 IntelliJはKotlinの開発元であるJetbrain社が開発していることもあって、Kotlinのサポー…

【Docker】イメージビルド時にキャッシュを使用しない

メモ。 Dockerイメージ作成時、デフォルトだと過去のビルドキャッシュが存在する場合そちらを使用してしまいます。 $ ls Dockerfile $ docker build -t hoge . Step 2/20 : COPY entrypoint.sh /sbin/entrypoint.sh ---> Using cache ---> 5214f6bedefd これ…

【Kotlin】Java(8) -> Kotlinやってみて「良い」と思ったことリスト

Kotlinをやっていて、Java(8)と比較して良いな、と思った部分を書きました。 null許容型 Swiftなどにもありますが、Kotlinではnull許容型が定義されており、それと対を成すようにデフォルトの型宣言ではnullが許容されないようになっています。 val hoge: St…

【Kotlin】Kotlin CLIでKotlinをJavaバイトコードにコンパイル/実行する

今日はじめてKotlinを触ってみたのですが、その際に使用したKotlin CLIによるコンパイルと実行のメモです。 Kotlin CLIのインストール 実施環境:Mac OS X Mojave 10. 14.2 brew でインストールできます。 $ brew update $ brew install kotlin コンパイル …

【Twitter】Twitter OAuthでメールアドレスの第三者共有を許可する設定

メモ。 Twitter OAuth1.0a認証にて、メールアドレス認可を第三者に行いたい場合、下記のような設定が必要になります。 1. OAuth認証ページURLリクエストに include_email を含める https://api.twitter.com/1.1/account/verify_credentials.json?include_ema…

【npm/yarn】パッケージをダウングレードする

npm

メモ。 npm では、パッケージのダウングレードを行う場合、一旦パッケージを削除してから再度インストールし直す必要があります。 $ npm remove cowsay $ npm install --save cowsay@1.0.0 yarn であれば、 yarn upgrade [パッケージ名]@[version] で指定し…

【React Native/Expo】Google Oauth認証で認証後リダイレクトを行う

前回の記事では、Expoを使用して作成したReact NativeアプリにGoogleのOAuth認証を実装しました。 rennnosukesann.hatenablog.com 今回はその認証後にリダイレクト先URLを設定し、リダイレクト先にログインユーザの情報にアクセスするためのトークンを渡す手…

【ReactNative/Expo】Google OAuth認証をReact Native(Expo)アプリに実装する

前回はExpo CLIでReact Nativeプロジェクトを作成しました。今回は同じくExpoを使って、Google OAuth認証を実装するネイティブアプリをReact Nativeで実装してみます。 OAuthとは OAuth、特に2.0については下記の記事参照。 rennnosukesann.hatenablog.com …

【React Native】Expo CLIを利用してReact Nativeプロジェクトを作成する

あけましておめでとうございます。新年一発目の記事です。 今年もやっていきましょう。 今回はバックエンドAPIのドライバとしてクライアントアプリ(React Native)を作るためにExpoを使ったので、備忘録も兼ねてExpo CLIの紹介をしようと思います。 Expoと…

【2018年終】約半年間、技術ブログを毎日書き続けた話

TL;DR 2019年はがんばります 概要 2018年ももう終わりなので、今日は技術的な話ではなく「ブログ書いててどうだったか」について書こうと思います。 なぜ、毎日ブログを始めたのか 技術ブログを毎日書くきっかけとなったのは、「SOFT SKILLS ソフトウェア開…

【Spring】@TransactionalでTransactionManagerを明示的に指定する

メモ。 TL;DR Spring で使用する@Transactionには、下記のように使用する Manager を明示できます。 @Transactional("jpaTransactionManager") 複数のTransactionManagerの定義と@Transaction Springにおける@Transactionは、デフォルトで用意されている一意…

【Spring/Jackson】Rest API : JSON RequestBodyのプロパティをEnum型としてマッピングする

メモ。 SpringのControllerでは、 @RequestBody を使用することでHTTPリクエストボディに設定されたパラメータをJSONで受け取ることができます。 @RestController public class FluitController { // Request Body にJSONを指定するAPI @RequestMapping(valu…

【Spring】オリジナルの `.properties` ファイルを作成・読み込み

メモ。 Spring では application.properties 以外に独自の .properties を生成し、その中で定義した値を使用することができます。 オリジナル .properties ファイルの作成とプロパティの参照 例えば、オリジナルのプロパティファイル myconfig.properties を…

【Angular】Angular CLIでライブラリの追加・ビルドを行う

Angular CLI 詳細は下記記事にて。 rennnosukesann.hatenablog.com ng add : 外部ライブラリを追加する ng add を使用すると、Angularプロジェクトへの外部ライブラリの追加を行えます(複数指定可能)。 Installing packages for tooling via npm. の文言か…

【webpack】webpackを使用してWebアプリケーションをバンドルする

webpackとは webPackとはモジュールバンドラと呼ばれるツールです。アプリーケーションが依存するjsモジュールを一つのjsファイルにまとめ上げ、依存関係の解決やトランスパイルを自動実行してくれます。内部的にモジュール同士の依存関係を表すグラフを自動…

【Angular】Angular CLIで簡単にAngularプロジェクトの作成・デプロイ・テストを自動化する

Angular CLI Angular CLIはGoogleが提供するフロントエンドフレームワークAngularのためのCLIツールです。Angularプロジェクトの作成やデプロイ、テスト自動化などをより簡単に実行することができます。 インストール npm でインストールします。 $ npm inst…

【Node.js】npxでローカルにパッケージを一時的にインストールして実行する

npm

npx npx はローカルにインストールしたnpmパッケージバイナリを直接実行できるコマンドです。npm5.2.0より導入されました。 このnpx にはパッケージを一時的にだけインストールしてその機能を実行する機能が備わっているので、 今回はその機能について紹介し…

【IBM COS】IBM Cloud Object Storageで署名付きURLを発行する

IBM Cloud Object Storageとは IBM Cloud Object Storage(COS)はIBMが クラウド上で提供するストレージサービスです。IBM Cloud上でAWSのS3のようなオブジェクトベースでリソースを保存できるストレージ環境を提供します。IBM Cloud上でサービスとして提供…

Macターミナルでカレントディレクトリを維持したまま新規タブを開くコマンド作った

script macho(script) #!/bin/bash PREV_WD=`pwd` osascript <

【Spring】環境変数で適用するapplication.propertiesを切り替える

複数の application.properties の切り替え Springフレームワークでは、アプリケーション内で使う設定を application.properties に書き込み、実行時に設定内容を反映させることができます。 application.properties // DB接続先 spring.datasource.url=http…

【Firebase】Firebase(+Vue.js)でWebアプリケーション上に認証を実装する

Frebaseとは Firebaseは、Googleが提供するモバイルアプリケーション開発のプラットフォームサービスです。mBaas(Mobile Backend as a Service) とも呼ばれ、モバイルアプリケーションのバックエンド機能を提供します。例えばアプリケーションの構築に必要な…

【Git】一部のstashファイルを復元する

Git

メモ。 Git管理下のプロジェクトで、下記の hoge/fuga/file1.txt hoge/fuga/file2.txt のような差分ファイルがあり、別の作業をしたくなってこれらを一旦 git stash で一時退避したとする。 $ git status On branch master Changes not staged for commit: (…

【Vue.js】vue-cliでVueプロジェクトを作成する

Vue.jsとは Vue.jsとは、近年急激に普及しつつある軽量フロントエンドフレームワークです。ReactのVirtual DOMやAngularの双方向バインディングといったメジャーなフレームワークが実装する強力な機能を備えつつ、学習コストが抑えめであるという特徴を持ち…