(注記) 去年書いて下書き状態になってた記事をそのまま公開した。 MySQL 8.0 公開前に書いた内容なので MySQL 5.7 について言及しているが、多分 MySQL 8.0 でも基本的には変わらない気がする。 背景・目的 DB 上に指定の ID の行が存在していれば UPDATE し…
SQL DB に新しい行を挿入したときに自動的に ID 値を生成して欲しいことはままある。 このような処理をしてくれるテーブル定義についての話。 MySQL だと AUTO_INCREMENT を使いがち MySQL を使ってる場合は AUTO_INCREMENT で済ませちゃうことが多い (H2 Da…
WebDriver で Firefox を操作するために Node.js 用の WebDriver バインディングである WebdriverIO を使ってみました。webdriver.io使ってみると意外とハマりどころがあってちゃんと使い始めるまでに時間がかかったので、自分がはまったところを書き残して…
ラインマネージャに任用されたのでマネジメント系の本を読んだりしてる。 これは社長おすすめの一冊。最高のリーダー、マネジャーがいつも考えているたったひとつのこと作者: マーカスバッキンガム,Marcus Buckingham,加賀山卓朗出版社/メーカー: 日本経済新…
広木大地さんの 『エンジニアリング組織論への招待』。 良い本だと話題になってましたね。 うちのチームでも皆で読んでます。エンジニアリング組織論への招待 ~不確実性に向き合う思考と組織のリファクタリング作者: 広木大地出版社/メーカー: 技術評論社発…
当たり前の内容だけど日本語ドキュメントが間違っててバグを埋め込んでしまった (リリースはしてない) ので共有。 Drawable リソースのエイリアス作成 res/values/drawables.xml ファイルみたいなファイルを作って、そこに <drawable name="alias_name">@drawable/target_drawable</drawable> みたい…
Activity が再生成される際の、View の onSaveInstanceState メソッドと onRestoreInstanceState メソッドについて個人用にまとめておく。 Activity の再生成 Activity が再生成 (re-creation) される際には、以前の状態が Activity#onCreate と Activity#on…
Amazon Web Services 基礎からのネットワーク&サーバー構築 改訂版作者: 玉川憲,片山暁雄,今井雄太,大澤文孝出版社/メーカー: 日経BP社発売日: 2017/04/13メディア: 単行本この商品を含むブログを見るインフラ周りちゃんと学ぶぞー! と言いつつ時間ばかり経…
Java と Kotlin で書かれたアプリケーションのコードテストのカバレッジを取りたいなーと思って、コードカバレッジ計測ツールについて調べてみてる。 JVM 言語におけるコードカバレッジ計測の方法 JaCoCo のドキュメントにわかりやすくまとまっている。 Cove…
JetBrains 製の Kotlin 用 web アプリケーションフレームワークの Ktor の自動再読み込み機能について。 開発時にサーバー全体を再起動しなくても、ソースコードを変更してビルドした後のクラスファイルの再読み込みをしてくれる機能である。 ドキュメント :…
Gradle に build scans 機能が追加されていることに気づいた。 Build scans are an important tool for developing and maintaining Gradle builds. They provide insights into exactly what your builds are doing, helping you identify problems with th…
Gradle でビルド成果物 (build artifact) を Maven リポジトリに公開するためのプラグインとして、maven-publish プラグインがある。 Maven Publishing (new) - Gradle User Manual maven-publish プラグインとマルチプロジェクトの依存関係 簡単な例 Java …
最近、個人で web アプリケーションを書くのに Ktor (Kotlin の web アプリケーションフレームワーク) を使っています。Ktor では、1 つ以上の 「インターセプタ (interceptor)」 から成る 「パイプライン (pipeline)」 にリクエストを通すことで、HTTP リク…
use std::io::prelude::*; というコードを見かけて、「プレリュード (prelude) ってなんだっけ」 と思ったので調べた。 Rust のプレリュード まず、Rust で真にプレリュードと呼ばれるものは std::prelude というモジュールらしい。 Rust comes with a varie…
CircleCI 2.0 のウリの一つが、1.0 より柔軟になったキャッシュ機能である。 キャッシュのキーを自分で決定し、ファイル群をキャッシュすることができる。 そして、キャッシュのキーの決定には、ブランチ名を使ったり、指定のファイルのチェックサムを用いた…
やりたいこと Docker コンテナ内のタイムゾーン設定を変更したい。 CircleCI 2.0 での仮想マシン上のタイムゾーン設定を行いたい。 など、Linux 環境でのタイムゾーン設定を行いたい。 調べてよく引っ掛かるのは /etc/localtime (などのファイル) を変更する…
Spring Data JPA を使っていて、集計処理をどのように書くのが良いかわからずに調べた記録。 (例は Spring Data JPA 固有の話ではあるが、JPQL の知識は Spring Data JPA 以外での JPA でも使える。) Spring Data JPA での集計の例 リポジトリにメソッドを定…
KotlinConf 2017 の情報を追ったり、Ktor を見たりしているとコルーチンがよく出てくる。 コルーチンについては概要は知っているが詳細を追いかけていなかったので、コルーチンについて学んでメモ程度に記録しておく。Kotlin 1.1 においてコルーチンは実験段…
背景 : コルーチンの Select 式の実装を理解するのが難しかった コルーチンのドキュメントを読んでいて select 関数というのが出てきたのだけど、これの実装がどうなっているのかすぐにはわからなかった。 suspend fun selectFizzBuzz(fizz: ReceiveChannel<String>,</string>…
JDK の javac コマンドを使って過去バージョンの Java 言語で書かれたソースコードをコンパイルする際には、-source オプションや -target オプションを使用してきました。 (JDK 8 までの話。) このとき、適切なブートストラップクラスパスを設定しなければ…
Java SE 9 がリリースされましたね! めでたい!さてさて、Java SE 9 の目玉といえばやはり The Java Platform Module System (JPMS; JSR 376) ですよね! Project Jigsaw の心臓部です。この記事では JSR 376 をさらっと読んで、JPMS の全体像をまとめてお…
WebDriver とは、Web ブラウザを外部から操作するための標準化された API です。 詳細は先日書きましたのでご参照ください! WebDriver について私が知っていること (2017 年版) - ひだまりソケットは壊れない 今回は、WebDriver のコマンドで JS スクリプト…
もともと Selenium 2.0 で導入された WebDriver ですが、単に 「WebDriver」 と言ってもいろいろなものを指すことがあり *1、WebDriver を初めて使おうとする人にはややこしい状況だと感じています。 (私は数か月前に WebDriver を使おうとして混乱しました…
「ThreeTenABP って Android フレームワークに依存するけど、ドメインレイヤとかで Android 依存を排除したい場合どうするのがいいんですかね」 という相談を受けて、ThreeTenABP 周りを調べたのでメモ。 ThreeTenABP って何? JSR 310 Date and Time API の…
ドメイン駆動開発 (DDD) 関係の読書会に参加していて、最近読んでいるのがこれです。.NETのエンタープライズアプリケーションアーキテクチャ 第2版 (マイクロソフト公式解説書)作者:Dino Esposito,Andrea Saltarello発売日: 2015/06/04メディア: 単行本…
最近 Android のアカウントマネージャを仕事で触ったので、調べた内容としてアカウントマネージャの概要をまとめておきます。 Web 上を調べると AccountManager を使う処理の実装方法はいろいろ見つかるのですが、アカウントマネージャの概要を説明している…
表題通り。 Hyper-V 上の Debian 8.7.1 で Linux 統合サービス (Linux Integration Services; LIS) を有効にした方法のメモ。 私が試したのは、Windows 10 Pro (Insider Preview Build 14986) の Hyper-V 上の VM に Debian 8.7.1 Jessie をインストールする…
Dropwizard に関わる仕事をしているので読んでみました。RESTful Web Services with Dropwizard作者: Alexandros Dallas出版社/メーカー: Packt Publishing発売日: 2014/02/19メディア: Kindle版この商品を含むブログを見る Dropwizard について Dropwizard …
Kotlin エバンジェリスト (JetBrains 黙認) であり、日本 Kotlin ユーザグループ代表であるたろーさん (長澤 太郎) によって書かれた書籍 『Kotlin スタートブック ― 新しい Android プログラミング』 (赤べこ本) を読みました!!Kotlinスタートブック -新…
Dropwizard で SQL ライブラリ JDBI を使うときのおはなし。 OptionalContainerFactory dropwizard-jdbi ライブラリは OptionalContainerFactory クラスを提供してくれていて、JDBI の SQL オブジェクトで返り値に Java 8 で導入された Optional 指定するこ…