読者です 読者をやめる 読者になる 読者になる

たま

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

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に定義されている…

レスポンスオブジェクト

レスポンスオブジェクトクライアントへ返す情報を管理アクションでの処理結果は、リクエストオブジェクトを通して返されるZend Frameworkではechoやprint()で出力させることは禁止。データを出力させるには、レスポンスオブジェクトのsendHeaders()、outputB…

リクエストオブジェクト

リクエストオブジェクトクライアントから送られた情報を管理 Zend Frameworkでは、$_GET・$_POSTなどスーパーグローバル変数を使用せず、リクエストオブジェクトから取得する。使用例// リクエストオブジェクト取得 $req = $this->getRequest(); // POSTから…

ディレクトリ構成

Zend Frameworkの標準的なディレクトリ構成htmlディレクトリを公開ディレクトリとする。htmlディレクトリには、以下の2つのファイルのみを配置する。index.php ・・・ フロントコントローラの役割.htaccess ・・・ すべてのリクエストをindex.phpに渡す.htac…

ビュースクリプト

ブラウザに表示させる画面 (*.phtml)。1アクションにつき1ファイル必要。viewsディレクトリのscriptsディレクトリに、コントローラ名と同一のディレクトリ (すべて小文字) を作成し、そこに設置する。命名規則ファイル名はアクション名と同一にするアクショ…

アクションコントローラ

ビジネスロジックを記述する。controllersディレクトリに作成する。命名規則クラス名は、頭文字を大文字にし末尾に「Controller」を加えるファイル名は、クラス名と同一にするメソッド名は、キャメルケース形式で記述し末尾に「Action」を加える例 : FooCont…

Zend Framework開発環境

開発環境Eclipse for PHP DevelopersZend Framework 1.11.7PHP 5.3.4php.iniの変更Zend Frameworkのライブラリへのinclude_pathを追記する。

Finderで非表示ファイルを表示させる

mac

ターミナルで以下のコマンドを実行する。表示に切り替える場合defaults write com.apple.finder AppleShowAllFiles TRUE非表示に切り替える場合defaults write com.apple.finder AppleShowAllFiles FALSE以下のコマンドを実行して、Finderを再起動させる。ki…

シーケンス図:反復処理 (loop)

反復処理 (loop)繰り返し処理を表す。繰り返し条件をガード([])内に記述する。

シーケンス図:並列処理 (parallel)

並列処理 (parallel)並列処理を表す。各処理は点線で区切られる。シーケンス実行条件をガード([])内に記述する。

シーケンス図:条件判断 (option)

条件判断 (option)条件を満たす場合のみ実行される処理を表す。条件はガード([])内に記述する。

シーケンス図:条件分岐 (alternative)

条件分岐 (alternative)分岐処理を表す。分岐後の処理は点線で区切る。分岐条件はガード([])内に記述する。

クラス図:誘導可能性 (isNavigable)

誘導可能性 (isNavigable)クラス(分類子)間の参照方向を指定する。リファレンスレアスタイルIT専科

クラス図:多重度 (multiplicity)

多重度 (multiplicity)オブジェクト同士が対応する上下限値を表す。多重度の表現n n個 n...m n個以上m個以下 n...* n個以上* 無限個 リファレンスやさしいオブジェクト指向IT専科

ステレオタイプ (stereotype)

UML

ステレオタイプ (stereotype)UMLに定義されていない仕様を示す。よく使われるステレオタイプinterface (interfaceクラスを示す)entity (永続オブジェクトなどを示す)boundary (外部システムやユーザーとやり取りするクラス(画面など)を示す) control (entity…

クラス図:ロール (role)

ロール (role)関連を持つクラスでの役割を示す。リファレンスレアスタイルIT専科

クラス図:実現 (realization)

実現 (realization)インターフェースから引き継いだ操作の内容を実装すること。リファレンスやさしいオブジェクト指向IT専科

クラス図:特化 (specialization)

特化 (specialization)スーパークラスからサブクラスを導くこと。特殊なクラスを派生すること。リファレンスやさしいオブジェクト指向IT専科

クラス図:汎化 (generalization)

汎化 (generalization)抽象的なスーパークラスを設計すること。サブクラスからスーパークラスを導くこと。クラス間で属性や操作、関連を引き継ぐこと。(OOPの継承に相当)リファレンスやさしいオブジェクト指向IT専科

クラス図:合成 (composition)

合成 (composition)完全な集約。集約しているオブジェクトが破棄されると、同時に破棄される。集約や合成の関係を、has-a関係またはpart-of関係と呼ばれる。リファレンスやさしいオブジェクト指向IT専科

クラス図:依存 (dependency)

依存 (dependency)クラス同士の一時的な利用関係。多重度はなし。クラス間の結びつきが弱い。リファレンスやさしいオブジェクト指向IT専科

クラス図:集約 (aggregation)

集約 (aggregation)関連の一種。複数のオブジェクトで全体が構成される関係。あるクラスが別のクラスに含まれる関係。リファレンスやさしいオブジェクト指向IT専科

クラス図:関連 (association)

関連(association)クラス間の結びつきを表す。クラス間の構造的な関係。リファレンスやさしいオブジェクト指向IT専科

CakePHP開発環境

開発環境Eclipse for PHP DevelopersCakePHPPHP 5.3.4コンテンツ・タイプの追加ctpファイルで補完可能にする。一般→コンテンツ・タイプ→テキスト→PHPコンテンツ・タイプに*.ctpを追加する。リファレンスWriting Some Code