「SQL」JOINとEXISTSの備忘録。

SQL の JOIN と EXISTS の備忘録。 JOIN テーブル結合に利用する。INNER JOIN と LEFT(RIGHT) OUTER JOIN の2種類がある。 以下のusers、role、department テーブルを想定します。 test_db=# select * from users ; id | name | role_id | department_id --…

GoアプリケーションのDockerfileを作る

GoアプリケーションのDockerfileを作成してみました。 Docker公式にマニュアルがあるので、そのままの内容になりますが、作成後のコンテナの中身を覗いてみたりしたので、その点含めてメモに残しておきます。 docs.docker.com 1. Goアプリケーションの作成 …

Node.jsで開発とテストで接続先のデータベースを切り替える方法

Node.jsで開発用とテスト用で接続するデータベースを切り替える方法についての記事です。 テストフレームワークには Jest を利用しています。 Jest · Delightful JavaScript Testing 方法としては NODE_ENV という環境変数によって接続先データベースの設定…

「読書」A Philosophy of Software Design

ソフトウェアデザインの本。特にソフトウェアの複雑性にどのように対処するとよいのかということが中心に書かれている。 読んだ内容のメモをこのページに残しておく。 amzn.to (随時更新予定・・・)

「データベース」テーブルの自己結合

テーブルの自己結合についてメモを残しておく。 完全に自分用です。 テーブル定義とデータ登録のクエリ。 // テーブル定義 create table test42 (id integer primary key, name varchar(50), birthday varchar(50), leader_id integer); //データ登録 insert…

neovim+vim-codefmtでJavaフォーマッターを導入する

neovim+vim-codefmtでJavaのフォーマッターを導入しましたが、 なかなかてこづったのでメモを残しておきます。 github.com 1. vim-codefmtのインストール ~/.config/nvim/init.vim に以下の設定を追記して vim-codefmt をインストールします。 プラグインマ…

CPU使用時間の多いスレッドを特定する

仕事であるアプリケーションのCPU使用率が異常に高くなる事象のトラシューをしたんですが、久々にこの手のトラシューをしていろいろ忘れてたこともあり、新たな学びもあったりしたので、備忘録として残しておく。 とりあえずこの手の事象に遭遇した際はスレ…

nvim の healthcheck で python2 のエラーが発生した際の対処

vim

aws cli を homebrew でインストールした後に neovim の python 環境がおかしくなった。 aws cli のインストールが直接の原因かはわかってないが、とりあえず解消したのでやったことを残しておく。 (1) brew link でシンボリックリンクを作成する なぜか /us…

リフレクションで取得した例外クラスをスローする方法

リフレクションで例外クラスの取得してスローする方法のサンプルコードです。 今回生成するクラスでキャストはしたくなかったので、 キャストせずに書く方法を考えたわけですが、ぱっと書き方がわからず。 結局調べて解決したんですが、ほしい情報になかなか…

「Java」ジェネリックなインタフェースを実装した抽象クラスの作成方法

ジェネリクスを利用したインタフェースを実装する抽象クラスの作成についてつまずいたのでメモ。 下記の感じのジェネリックなインタフェースがあったとします。 package com.example; public interface SampleInterface<E> { public E test(E e); } 上記を実装</e>…

「Java」JacksonでJavaオブジェクトのJSON表現を得るコード

Jackson を利用して Javaオブジェクトの JSON 表現を出力するサンプルコードを書いたのでメモとして残しておきます。 ObjectToJson.java package com.example.jackson; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.ja…

「Gradle」Spring Bootアプリケーションをビルドしてみる

前々から使ってみたいと思っていた Spring Boot やっと触りました。 今回は Gradle 使って簡単なアプリケーションをビルドするところまでをやります。 下記のガイドに従って進めました。(ほぼそのままの内容・・・) ・Building Spring Boot 2 Applications w…

「Gradle」jar ファイルの生成方法

Gradle で jar ファイルを作成する際のメモ書きです。 利用するプロジェクトは下記のエントリーで作成した basic-demo を使います。 ・「Gradle」インストール、プロジェクト作成、アプリの実行など build.gradle の修正 プロジェクト直下にある build.gradl…

「Gradle」インストール、プロジェクト作成、アプリの実行など

前々から使ってみなくてはと思っていた Gradle。昨日新バージョンがリリースされたというアナウンスを Twitter で拝見したのでさっそく使ってみました。 Gradle Releases インストール 今回は Windows 上に環境を構築します。 下記からバイナリの zip をダウ…

「Docker」ユーザ定義ネットワークを使ってみる

Docker のコンテナ間信を調べている中で ユーザ定義ネットワーク なる存在があることを知りました。ちょっとごにょごにょやってみたのでその結果をメモに残しておきます。 network コマンドを使う — Docker-docs-ja 17.06.Beta ドキュメント ・ユーザ定義ネ…

「Jenkins」Jenkins API で別フォルダにジョブを一括コピーする

Jenkins API を使ってあるフォルダに存在するジョブを別フォルダに一括コピーするスクリプトのサンプル。 #!/bin/bash # get job list under folder curl --user jenkins:112fceef147dfee13be6f161d883b029fd "http://172.20.10.5:8080/job/Folder1/api/json…

「Docker」コンテナとホスト間でファイルをコピーする

Docker でコンテナ起動時に -v オプションを指定してボリュームをマウントしておくとコンテナ終了後もファイル等をホスト側に残すことができますが、うっかり忘れちゃうとコンテナ終了とともに必要だったファイル等が消し飛んでしまいます。こんな時、docker…

「Jenkins」Jenkins APIでジョブ情報取得やジョブ登録をやってみる

Jenkins API の使い方メモ。API の利用には API Token が必要なようでして、これは Jenkins の画面右上に見えているユーザの [下矢印クリック] - [設定] - [APIトークン] - [APIトークンの表示...] から確認可能です。 後述のコマンド例では以下の通りになっ…

「Jenkins」Dockerイメージを使ってJenkinsの環境を構築する

Jenkins の環境構築メモ。 といっても Docker イメージ使ってるのでさくっとできます(Docker 超便利)。 Official Jenkins Docker image 1. コンテナにマウントするためのディレクトリを作成 Jenkins の設定等が保存されるディレクトリはコンテナ停止後も保…

「Docker」Net-SNMPとApache HTTP ServerをインストールしたDockerイメージを作成してみる

今回は Dockerfile を使って Net-SNMP と Apache HTTP Server をインストール、起動した状態のイメージを作成してみようと思います。 1. Dockerfile の作成 Docker のイメージは docker build で作成するようです。どのようなイメージにするかを Dockerfile …

「Docker」コンテナにApache HTTP Serverのインストール、イメージの保存

前回エントリーで CentOS イメージからコンテナ起動までやってみました。 今回は、コンテナに Webサーバとして Apache HTTP Server をインストールしてコンテナ外からアクセスして使ってみたいと思います。あと、コンテナに対して加えた変更をイメージに保存…

「Docker」CentOSイメージからコンテナを起動してみる

前回 Docker のインストールから hello-world イメージを実行するところまでやったので、 今回は CentOS7 のイメージ動作させるあたりをやってみたいと思います。 イメージのインストール、起動 ローカルにイメージが存在しない場合、勝手に pull してきてく…

Windows Subsystem for Linux(WSL)上でDockerを動作させる

Dockerを使ってみようかなと思い立ち、今やるなら「Windows Subsystem for Linux(WSL)上で動かそう」と意気込んだものの、いろいろはまったので備忘録を残しておきます。 動作させるための手順だけ残そうか迷いましたが、はまった箇所も残しておこうかと。 …

「Java」ラムダ式のサンプル(備忘録)

久しぶりの更新。 避けに避け続けたラムダ式。とうとうお仕事で読む、書く必要に迫られたのでお勉強。 といっても今回は備忘録的にサンプルコードを。ラムダだ式はざっくり言うと「メソッド一つしかないインタフェースの実装をより簡単に書けるようにしまし…

「JNA」イベントログのログファイルのパスを取得する

JNAを利用してイベントログのログファイル(.evtx)のパスを取得するサンプルを書いたのでメモ。※「ログファイルのパス」は、イベントビューアの[ログのプロパティ] - [ログのパス] のこと。 public class Test { ..... private static final Wevtapi wevtapi …

データの存在有無を確かめてINSERTする

PostgreSQL で「対象のデータが存在しない場合のみINSERTする(既にデータが存在する場合にINSERTしない)」SQLのメモ。 BEGIN; INSERT INTO test.t1 (id, name) SELECT 1, 'aaa' WHERE NOT EXISTS (SELECT id FROM test.t1 WHERE id = 1); COMMIT; 上記のよ…

EclipseLink のキャッシュの中身を表示するサンプル

EclipseLink で L2 レベルのキャッシュ(Persistence Unit Cache という言うみたいです。persistence unit 単位のキャッシュですね)の中身を表示するサンプルです。EclipseLink では JpaCache というインタフェースが用意されていて、こいつがキャッシュの…

「Java」ProcessBuilderの環境変数について

ProcessBuilder の環境変数についてのメモです。・ProcessBuilder (Java Platform SE 8) https://docs.oracle.com/javase/jp/8/docs/api/java/lang/ProcessBuilder.htmlProcessBuilder が利用する環境変数については、ドキュメントに このプロセス・ビルダー…

sudo コマンドの "-i" オプションと "-E" オプションについて

sudo コマンドの "-i" オプションと "-E" オプションについてメモ。・Man page of SUDO https://linuxjm.osdn.jp/html/sudo/man8/sudo.8.html ■ -i オプションについて ドキュメント曰く パスワード・データベースの変身対象ユーザの項目でログイン・シェル…

「Git」リポジトリのクローン、ファイルの追加、コミットからプッシュまで

git

職場ではソース管理は SVN で行っているので、Git に触れる機会がなかなかありません。でもさすがにこの仕事をしてて Git は使えないのはまずいよなぁと思い、とりあえず、基本的なリポジトリのクローンからプッシュまでをやってみました。継続的に勉強する…