unhurried

コンピュータ関連ネタがほとんど、ときどき趣味も…

Vue.js PascalCase・camelCase・kebab-caseの使い分け

Vue.js でアプリ開発しているとPascalCase、camelCase、kebab-caseが混ざりますが、どのように使い分けるのが良いか公式のStyle Guideを調べてみました。 qiita.com

PWA (Progressive Web Apps) の概要

Vue.js アプリケーションのPWA対応をしようと計画しています。まずはPWAの概要について整理してみました。 qiita.com

Vue.js 開発環境構築

Vue.jsの開発環境をWindows上に構築したときのメモです。 qiita.com

自動車 TCO見積もりツール Vue.js対応

約1年前にReact + Material-UIを使って実装した自動車 TCO見積もりツールをVue.jsで置き換えました。 利用しているライブラリ Vue.js Vuex vuex-map-fields Bootstrap Vue github.com

開発者イベント・カンファレンスまとめ

私が毎年チェックしている開発者イベントの一覧を作成しました。テーマはWebアプリ、インフラ、Android、セキュリティ、Java、JavaScript(Node.js)、Pythonにフォーカスしています。 5月 Java Day Tokyo JJUG CCC Spring Google I/O(海外) Facebook Deve…

VSCodeVim:コマンド繰り返しのキーバインディング設定

画面単位のスクロール(<C-u> <C-d> <C-b> <C-f>)があまり合わないため、Vimでは J で10行上に移動するようなキーバインドを設定している。 noremap <S-j> 10j noremap <S-k> 10k noremap <S-h> 10h noremap <S-l> 10l この設定をVisual Studio Codeに入れるにはユーザー設定に下記のように記載する</s-l></s-h></s-k></s-j></c-f></c-b></c-d></c-u>…

楕円曲線暗号の概要

RSAを置き換える次世代の暗号と呼ばれる楕円曲線暗号について、鍵交換と暗号化に応用する概念を簡単ににまとめてみました。 基本理論 有限体上の楕円曲線( )上の点 について、そのスカラー倍 は同じ楕円曲線上の点になる。 ここで 、、 について、 と から…

PythonでCSVから折れ線グラフを作る

これまではExcelを使ってCSVファイルをグラフ化していましたが、見た目の調整やそもそもセルの範囲が正しく選択されているかを確認するなど、かなり手間がかかっていました。Python(pandas)を使うと簡単にグラフ化できたため、手順をまとめてみました。 gi…

Spring Boot:Restful APIサンプルプロジェクト

Spring Bootを使ってRestful APIを実装してみました。 github.com ライブラリ 利用しているライブラリは以下の通り。 ビルドツール Gradle JAX-RS Jersey(spring-boot-starter-jersey) アスペクト指向プログラミング Spring AOP (AspectJアノテーション) …

Laravel 概要

PHPのWebアプリケーションフレームワークのデファクトスタンダードになりつつある(?)Laravelを学ぶ機会があったため、概要を簡単にまとめてみました。 対象バージョン:Laravel 5.6 はじめに 開発環境のセットアップ Laravel Homestead(Laravel開発に必…

Spring BootでREST APIを実装する

Spring BootでREST APIを実装するときのツールの組み合わせについて、2018年6月時点での個人的なベストプラクティスをまとめてみました。 開発環境(IDE) 選択肢 Eclipse + Spring Tool Suite (STS) IntelliJ IDEA → IDEとしてはAndroidの公式開発環境に採…

scikit-learnを使って糖尿病データ(diabetes)を解析する

scikit-learnを使って糖尿病データ(diabetes)を解析してみました。以下の機械学習モデルを使っています。 多項式特徴量 (PolynomialFeatures) + 線形モデル L1正則化 (Lasso) 多項式特徴量 + 線形モデル L2正則化 (Ridge) ランダムフォレスト サポートベク…

機械学習を理解するための数学のきほん

私が機械学習を始めるときに最初に読んだ本を簡単に紹介します。 やさしく学ぶ 機械学習を理解するための数学のきほん ~アヤノ&ミオと一緒に学ぶ 機械学習の理論と数学、実装まで~作者: LINE Fukuoka株式会社立石賢吾出版社/メーカー: マイナビ出版発売日: 2…

Google Java Style Guide

Googleが様々な言語のコーディング規約(Style Guide)を公開していることを最近知りました。Javaのコーディング規約についてざっと見てみて、興味深かった点をまとめました。 2 Source files basics 非ASCII文字をコード中に記述するときにUnicodeエスケー…

JavaでRSA暗号を使って暗号化する

RSA暗号での暗号化のJavaでの実装例です。秘密鍵で暗号化 → 公開鍵で復号、公開鍵で暗号化 → 秘密鍵で復号の2パターンを実装しています。

RSA暗号の簡単な解説

これまで何となくの理解で使ってきたRSA暗号について理解を深めるために、数学的な理論を調べて(自分なりに)わかりやすくまとめてみました。 基本理論 、 が素数であるとき、 を満たす について、 が成り立つ。 例えば、、 とすると、 となり、、 となる。…

bashrcとbash_profileの使い分け

読み込みタイミング ログイン時 .bash_profile → .bashrc の順に実行される bash起動時 .bashrc のみ実行される 用途 bash_profile 環境変数を設定する bashrc エイリアスを定義する シェル関数を定義する 参考 https://qiita.com/shyamahira/items/26086274…

EclipseでのSpring Bootアプリケーション開発

EclipseでSpring Bootアプリケーションを開発するときのTipsをまとめました。 はじめに:Spring Tool Suite(Eclipseプラグイン)を導入する Eclipseで開発するのであればSTS(Spring Tool Suite)を使うのが常套手段である。 ヘルプ → Eclipse マーケットプ…

GridSearchCVの結果をヒートマップで表示する

scikit-learnでGridSearchCVを使ってパラメータをチューニングする際に、各パラメータでの結果をヒートマップで表示して観察することがよく行われる。このヒートマップをGridSearchCVオブジェクトから簡単に作成する方法を調査した。 ヒートマップを簡単に作…

JerseryのリソースクラスでSpring AOPを使うときの注意点

JerseyのリソースクラスをSpringコンポーネントとして定義をするときに、Springの @ComponentではなくJSR-330の @Name を使うと、@Transactional や @Aspect を使ったSpring AOPが効かない。 Jerseyの公式リファレンスによると、リソースクラスには以下のい…

Spring Bootの依存性注入(DI)設定方法

Spring Frameworkの依存性注入(Dependency Injection)を設定する方法をまとめました。 コンポーネントのスキャン対象指定 デフォルトでは @ComponentScan が付与されたクラスのパッケージと同階層以下のパッケージをスキャンする。その他のクラスをスキャ…

Javaカバレッジ計測ライブラリ

Javaのテストカバレッジを計測できるオープンソースライブラリの現状を調査してみました。 要約 Coberturaは開発が停止しているため、今後はJaCoCoもしくはCloverが主流となりそう。ただしCloverは最近オープンソース化されたため、今後の継続開発(=コミュ…

Spring Boot DBコネクションプール

Spring Boot(Spring Data JPA)でコネクションプールを設定する方法をまとめました。 ライブラリの自動選択 コネクションプールライブラリは以下の順序で選択される。(クラスパスにライブラリがあるか確認し、あればそのライブラリを選択し、なければ次の…

Tomcatのlogging.properties設定方法

Tomcat 7/8のログ出力設定ファイル(logging.properties)の定義方法をまとめています。 Tomcatのjava.util.logging API実装(JULI)での設定方法拡張(一部抜粋) .handlersプロパティを設定することでルートLoggerのHandlerが定義できる。 Handler名にプレ…

MySQL 存在しないユーザー削除時のエラー回避方法

MySQLで存在しないユーザーを削除したときにエラーになるのを回避する方法を調べました。 MySQL 5.7.6以降 MySQL 5.7.6以降ではDROP USER構文でIF EXISTSオプションが利用できる。 DROP USER IF EXISTS user MySQL 5.7.5以前 IF EXISTSオプションが使えない…

BigIntegerでバイナリ値のビット演算を行う

Javaにはバイナリ値を扱う便利な機能があまり用意されていないないため、バイナリ値が格納されたbyte配列に対してビット演算を行うには、自力でビット(配列)間の値引き渡し処理を実装する必要があります。 よく使われる方法には、byte配列をint型やlong型…

シェルスクリプトでの正規表現を使ったバリデーション

exprコマンドを使う方法 target='aa bbcc' # 正規表現をクォートする。 # 変数展開時はワード分割を避けるためにクォートする。 if expr "${target}" : "^a\+ [b-c]\{4\}$" > /dev/null; then echo "match" fi # 正規表現にマッチしない条件分岐をするには!…

Spring FrameworkにおけるBeansとは

Spring Framework初心者である私がSpring BootのGetting Startedガイドを読んでみたときに、いきなり躓いたのがSpringのBeansという概念でした。これまでSpring Frameworkに触ったことがなければ、Beansと聞くとJava Beansをイメージするかもしれませんが、S…

自転車保険調査

これまで契約していた自転車保険の更新時期なので、契約を見直そうと少し調査してみました。 要件 個人賠償は1億円以上 死亡保障・入院保障は不要 一覧 今回調査した中で最もお得なのは全日本交通安全協会が販売するサイクル安心保険であった。その他は自動…

DataTablesでのAjaxエラー処理

DataTablesはリッチなUIを備えたテーブルを作るためのjQueryプラグインで、Ajaxを使って検索条件に応じて動的に表データを読み込むことができます。Ajax処理にてサーバーサイドでエラーが発生したときに、DataTables側でエラー処理を実装する方法を探すのに…