Works by

Ren's blog

@rennnosuke_rk 技術ブログです

2018-01-01から1年間の記事一覧

【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の双方向バインディングといったメジャーなフレームワークが実装する強力な機能を備えつつ、学習コストが抑えめであるという特徴を持ち…

【IBM COS】IBM Cloud Object Storage

IBM Cloud Object Storageとは IBM Cloud Object Storage(COS)はIBMが クラウド上で提供するストレージサービスです。IBM Cloud上でAWSのS3のようなオブジェクトベースでのストレージ環境を提供します。 COSが使われるシーン 多くの場合、Webアプリケーシ…

【Git】ファイル名の大文字小文字の差分をトラッキング可能にする

Git

Gitに関するメモ。 TL;DR gitでファイル名の大文字・小文字の変更差分をトラッキングするには、下記オプションを有効にします。 $ git config core.ignorecase false 概要 gitの差分管理では、デフォルトでファイル名の大文字・小文字の変更差分を追跡してく…

【Spring Data JPA】@Queryによる更新/削除クエリには@Modifingアノテーションを付加する

TD;DR Spring Data JPAのRepositoryに@Queryで更新/削除クエリを定義するとき、@Modifingアノテーションを付加します。 @Modifing @Transactional @Query(value = "DELETE FROM PHOTO AS p WHERE p.USER_ID = :userId", nativeQuery = true) public void del…

【App】社内イベント用モバイルアプリ開発をやっていった話

まえおき この発言は個人の見解であり、所属する組織の公式見解ではありません。 TL;DR 社内イベント用のアプリ開発を、フロントエンドを中心にやっていきました。 経緯 私の所属する会社では年2回ほど著名人や社内で活躍する方々を招いた大規模なラーニン…

【python】QRコードを生成する

メモ。 qrcode モジュールを使えば、pythonで簡単にQRコードの作成ができます。 Usage import qrcode # QRコードに埋め込みたいテキストを引数に渡す # PIL.Imageオブジェクトが返戻される img = qrcode.make('hoge') # 保存 img.save('./qrcode.png') Resul…

【Java】log4j2

log4j2 log4j2はJavaのロギングユーティリティであるlog4jの後継です。 厳密にはv1のlog4jがv2担っただけのものですが、プロパティファイルの命名やプロパティの設定方法などが一部新しくなっています。 Log4j – Apache Log4j 2 - Apache Log4j 2 Usage Mave…

【CloudFoundry】CloudFoundryアプリケーションに対してssh接続を行う

メモ。 CloudFoundry上で立ち上がっているアプリケーションのホストにSSH通信したいとき、cf コマンドを利用できます。 cf こちらのページからインストーラをダウンロードし、インストールして完了。 github.com brew/yum/apt-getでもインストール可能です。…

【shell】任意拡張子を持つファイルの総行数をカウントする

メモ。 ある拡張子(複数可)を持つファイルすべての行数をカウントするコマンドは以下のようになります。 $ find . -type f | grep -E ".*\.java|.*\.css|.*\.html|.*\.js|.*\.php|.*\.py" | xargs cat | wc -l 適当にフィルタを掛けたい場合はパイプしてgr…

【Mac】rootlessとcsrutil

Mac

rootless MacではOS X 10.11(El Capitan)より、/userや/binなどのディレクトリへの書き込みがroot権限でも不可能となりました。 $ sudo mkdir /usr/hoge Password: mkdir: /usr/hoge: Operation not permitted この措置はrootlessと呼ばれるシステム整合性保…

【python】google-image-downloadでGoogle上の画像を一括取得する

google-image-download コマンドライン上で動作する画像収集用ツールです。 github.com Usage pipでインストールします。 $ pip install google_images_download これですぐ利用可能になります。 shell上で以下のコマンドを実行すると、実行ディレクトリ配下…

【AWS】AWSでGPUコンピューティングする際の環境セットアップ

AWS

Usage アカウント登録 まずはAWSのアカウント登録を行います。 下記ページを参考に、AWSのアカウントを作成してください。 aws.amazon.com インスタンスの作成 GPUインスタンスの作成を行います。 AWSトップページの左上「サービス」プルダウンをクリックし…

【Java】Jacksonがパースする文字列のフィールド名にDouble Quoteがついていない状態でもパース可能にする

Jackson github.com Double-Quote問題 JacksonのObjectMapperでJSON文字列パースしてJavaオブジェクトに変換するとき、フィールド名にダブルクォートがないと怒られてしまいます。 String json = "{user_id: 1, age: 20, item_id: 2, item_name: "hoge"}"; O…

【Java】Jacksonで配列形式のJSON文字列をJavaオブジェクトに変換する

Jackson rennnosukesann.hatenablog.com 配列形式のJSON JSONのrootがオブジェクト形式ではなく配列形式の場合、ObjectMapperによるパースは以前の記事同様TypeReferenceを用いて行うことができます。 rennnosukesann.hatenablog.com rootが配列形式のJSON […

【Shell】expectでシェルの対話的処理を自動化する

expect expectは、シェル上での対話的なコマンドライン処理を自動化するためのツールです。 シェルスクリプトでルーチンを自動化したいときに対話的な処理が入ってしまって、どうしても手入力が発生してしまう・・・そんなときに重宝します。 Usage 実行環境…

【NW】PPPoE

PPPoEとは PPPoEとは、イーサネットを利用してPPPの機能を提供するプロトコルです。 イーサネットはデータリンクとして広く普及した規格です。多くのネットワーク機器やNICがこのイーサネットに準拠しています。 rennnosukesann.hatenablog.com rennnosukesa…

【NW】PPP

まえがき この記事は、4年前に投稿したPPPに関する記事のリライトになります。 rennnosukesann.hatenablog.com 結構前に書いたもので内容うろ覚えだったので、復習も兼ねて再度調査してまとめ直してみました。 上記記事にない情報も追加したので、双方参照し…