たま

技術的なメモ置き場。主にJava。

macでJAVA_HOMEを設定する

.bash_profile に以下を追記する。 export JAVA_HOME=`/usr/libexec/java_home -v 1.8` -v 9 を指定するとJava9を指定できる。 $ source ~/.bash_profile $ echo $JAVA_HOME /Library/Java/JavaVirtualMachines/jdk1.8.0_151.jdk/Contents/Home

【Java】 Stringのおさらい

Stringのおさらい。知らなかった仕様もあったので油断ならない。 ※ 一部省略している部分もある コンストラクタ 引数なし new String(); // "" バイト配列 byte[] bytes = "abcde".getBytes(); new String(bytes); // abcde new String(bytes, 1, 2); // bc …

【Java】try-catch-finally文

try-catch-finally文の順序は変えられない。 // OK try {} catch(Exception e) {} finally{} // NG try {} finally{} catch(Exception e) {} // NG try {} finally {} finally {} catchブロックとfinallyブロックにreturnがあった場合どうなるか? try { // …

【Java】for文

for文は、初期化文・条件文・更新文・繰り返し処理で構成される。 for (初期化文; 条件文; 更新文) { 繰り返し処理; } 初期化文と更新文は複数記述できる。 初期化文で宣言できるのは同じ型の変数。 for (int i = 0, j = 0; true; i++, j++) {} // 更新文で…

【Java】識別子

Javaの識別子(変数、メソッド名、クラス名など)には、以下の規則がある。 予約語は使用不可 数字から始められない 下記の記号以外の記号は使用不可 アンダースコア 通貨記号 通貨記号を使ってみると以下のようになる int ¤ = 1; // 国際通貨記号 int ฿ = 2…

【Java】クラス宣言

Javaのクラス宣言は、 フィールド と メソッド の2つから構成される。 パッケージ宣言、インポート宣言は含まれない。 これらはソースファイルに対する宣言であり、クラスに対するものではない。 // パッケージ -> クラス宣言ではない package chapter01; //…

Comparatorでソート

Comparatorを使用して、JavaBeanのリストをソートする。 使用するJavaBean public class Student { private int id; private String name; private int age; // getter/setter } 今回、Studentに設定するデータはJSONで定義する。 JSON -> Java Objectの変換…

Stream#collectを使用してJavaBeanリストから特定のフィールドのみを取得してリスト化する

public class Hoge { private String foo; private String bar; // constructor/getter/setter } Stream#collectを使用してHoge#barのリストを作成する。 // Hogeリストを作成 List<Hoge> hoges = Arrays.asList(new Hoge("f001", "b001") , new Hoge("f002", "b00</hoge>…

Spring Test DBUnitでJSONカラムにデータを投入する

Spring Test DBUnitで @DatabaseSetup を使用してテストデータを投入する際に、対象のテーブルにJSONカラムが存在すると失敗するが、PostgresqlDataTypeFactoryを拡張することで投入できるようになる。 環境 Spring Boot 1.4.1 Spring Boot Test Starter Spr…

macOSにPostgreSQLをインストール

Homebrewを使用して、macOSにPostgreSQLをインストールしたので、その時の記録として残す。 環境 macOS (10.12.1) PostgreSQL (9.6.1) Homebrew (1.1.2) Homebrewのアップデート $ brew update $ brew doctor PostgreSQLのインストール $ brew install postg…

Spring BootでセッションIDを取得する

意外とセッションIDの取得方法が見当たらなかったのでメモ。 Controllerメソッドの引数に、HttpSessionかHttpServletRequestを使用することでセッションIDを取得することができる。 public class HogeController { // HttpSessionを使用する場合 @GetMapping…

Elixir環境構築

環境 OS X (10.10.5) Elixirのインストール Homebrewを使用する $ brew install elixir エディタ 今回はAtomを利用する 以下のパッケージをインストール language-elixir atom-elixir iex linter-elixirc

閉包テーブルの更新(その2)

SQL

前回の閉包テーブルに道程(path_length)を追加する。 道程を追加することで、子や孫を取得しやすくなる。 サンプルテーブル CREATE TABLE ctable ( ancestor BIGINT NOT NULL , descendant BIGINT NOT NULL , path_length INT NOT NULL -- これを追加 , PR…

閉包テーブルの更新(その1)

SQL

閉包テーブル(Closure Table)の更新について書く。 閉包テーブルについては以下を参照。 lab.kochlein.com サンプルテーブル CREATE TABLE folders ( folder_id SERIAL PRIMARY KEY , name TEXT NOT NULL ); CREATE TABLE ctable ( ancestor BIGINT NOT NU…

CentOS7 にPostgreSQL9.5をインストールする

CentOS 7 に PostgreSQL 9.5 を インストール する

GitHubで2段階認証設定した際のeclipse側の対応

GitHubで「Settings」 → 「Personal access tokens」でトークンを生成する。 生成されたトークンをコピーする。 eclipseからGitHubのリポジトリにアクセスする。 パスワードを入力するフォームが表示されたら、コピーしたトークンを入力する。

Gitメモ

git git fetch ・・・ リモートリポジトリから最新を持ってくる git log FETCH_HEAD ・・・ fetch_headのログ git merge FECTH_HEAD ・・・ fetchした内容をマージ git push リモート ローカル ・・・ push git checkout HEAD^ {ファイル名} ・・・ ファイル…

四角形を描く

Processing で四角形を描く 四角形rect(x, y, width, height);x, y → 座標width → 幅height → 高さ例rect(10, 10, 50, 50);塗りつぶしfill(red, green, blue);例fill(0, 0, 255);rect(10, 10, 50, 50);塗りつぶさないnoFill();例noFill();rect(10, 10, 50, 5…

直線を描く

Processingで直線を描く直線を描くline(x1, y1, x2, y2);x1, y1 が起点x2, y2 が終点例line(0, 0, width, height);例line(0, 30, width, 30);line(0, 60, width, 60);色を設定するstroke(red, green, blue);0 〜 255を指定する。例赤い線を描くstroke(255, 0…

Processingで補完

Processingの補完環境を構築する。1.processing-javaのインストールPDEを起動し、Tools → Install "processing-java"を実行する。2. Sublime TextのインストールSublime Textをインストールする。http://www.sublimetext.com/3. Processingパッケージのイン…

Processingをはじめる

公式サイト https://processing.org/ DownloadからIDEをダウンロード。 とても簡素。 補完が使えないので不便。 [普及版]ジェネラティブ・アート―Processingによる実践ガイド 作者: マット・ピアソン,Matt Pearson,久保田晃弘,沖啓介 出版社/メーカー: ビー…

Xamarinの表示設定

Xamarinの表示設定でわかったことのメモ・パッドの表示非表示パッド = eclipseのビューソリューションパッドを閉じてしまった場合ビュー → パッド → ソリューションで再度表示させることができる

macでC#開発環境構築

macでC#開発環境構築メモXamarin(ザマリン)を利用する1.Xamarinのダウンロード名前等を入力してダウンロードhttp://xamarin.com/download2.Xamarinのインストールダウロードしたインストーラーを起動する必要な項目を入力していけばOK完了したらXamarin Stud…

Homebrewでインストールしたgitを使うまでのメモ

Homebrewでインストールしたgitを使うまでのメモ1.gitのインストールbrew install git2.バージョンの確認git --versionこのままだとmac標準のgitが実行されるgit version 1.8.5.2 (Apple Git-48)3.PATHの変更sudo vi /etc/pathsを実行し、/usr/local/binを先…

MacのApache関連メモ

いつも忘れるのでメモMacのApache設定ファイル格納ディレクトリ/private/etc/apache2再起動sudo apachectl restart

JavaMailでhotmailの送信を行う

JavaMailでhotmailの送信を行うProperties props = new Properties();props.setProperty("mail.transport.protocol", "smtp");props.setProperty("mail.host", "smtp.live.com");props.put("mail.smtp.starttls.enable", "true");props.put("mail.smtp.auth"…

DBUtilsを使う

Apache Commons DBUtilsの使い方メモDBUtils1.5http://commons.apache.org/dbutils/index.html・抽出QueryRunner qr = new QueryRunner();ResultSetHandler> rsh = new BeanListHandler(T.class);List list = qr.query(Connection, "SELECT * FROM HOGE;", r…

Java開発環境メモ

macのJava開発環境構築メモeclipse 4.2eclipse日本語化tomcat 7eclipseのインストール・eclipseをダウンロードhttp://www.eclipse.org/downloads/packages/eclipse-ide-java-ee-developers/junosr1ダウンロードしたファイルを解凍し、適当な場所におく。今回…

PHPの文字列

PHP

PHPプログラム中での文字列の長さの限界は、PHPプログラムを実行するコンピュータのメモリの容量に依存する。文字列の定義には以下の方法があるシングルクォートで囲むダブルクォートで囲むヒアドキュメントで囲む文字列で特別扱いされる文字シングルクォー…

プラグイン

プラグインコントローラの処理中にイベント発生した場合に処理されるユーザが定義したコードプラグインブローカが、フロントコントローラに登録されているプラグインを実行するイベントメソッドは抽象クラスZend_Controller_Plugin_Abstractに定義されている…