2014-01-01から1年間の記事一覧

【Android】レイアウト ~ 基本編 / View Group ~

■ はじめに https://dk521123.hatenablog.com/entry/2015/08/23/165632 の続き。 Android のレイアウトについて、ちょっとずつ勉強していく。 今回は、View Group(ビュー グループ) について、学ぶ。 ■ View Group(ビュー グループ) * Viewを纏めて配置する…

【プログラム】リファクタリング

■ はじめに リファクタリング * プログラムの外部仕様を変えずに、内部構造を分かりやすく変更すること ■ Duplicate Code (重複したコード) 解決方法 * Extract Method => 重複した処理をメソッドに抽出する ■ Long Parameter List (長い引数リスト) 解決方…

【Java】JMX (Java Management Extensions) / MBean (Management Bean)

用語整理 JMX * Java Management Extensions * 外部からJava アプリケーションをモニタおよび管理するための仕組み MBean * Management Bean * JMXでアクセスする管理用オブジェクト MBeanServer * 外部との通信を行うコンポーネント 主なクラス・メソッド *…

【Java】コンパイルエラー「例外 Exception は XXX.xxx() にある throws 節と矛盾する」が表示される

はじめに * 分かってしまえば、大したことなかったのだが、以下「エラー内容」のようなコンパイルエラーになり ビルドできない * Eclipseの機能を使っても解決できず。 エラー内容 【日本語】 例外 Exception は XXX.xxx() にある throws 節と矛盾する 【英…

【フリーソフト】【VMWare】VMWare Playerで、ホストOS-ゲストOS間でコピペができなくなった

■ ホストOS-ゲストOS間でコピペができなくなった 現象 * ホストOS-ゲストOS間でコピペが突然できなくなった。(原因は不明) * VMware Toolを再インストールしても現象が変わらず 解決策1 : VMware Toolを再インストール * VMware Tool のインストールは以下…

【Java】URLからファイルをダウンロードするには...

サンプル Main.java Yahooのロゴを落としてくる import java.io.BufferedOutputStream; import java.io.DataInputStream; import java.io.DataOutputStream; import java.io.FileOutputStream; import java.io.InputStream; import java.net.HttpURLConnecti…

【Java】【非同期】 ロック・排他制御 について

■ synchronized 文 / volatile 修飾子 / Atomicな変数 を利用する * 詳細は以下の関連記事を参照のこと 関連記事 スレッドの排他制御 ~synchronized 文 / volatile 修飾子 / Atomicな変数 ~ http://blogs.yahoo.co.jp/dk521123/33626978.html ■ コレクショ…

【Java】【Tomcat】JavaでTomcat上のパスを取得するには...

JavaでTomcat上のパスを取得するには 以下を利用する。 * CATALINA_HOME なら「System.getProperty("catalina.home")」 * CATALINA_BASE なら「System.getProperty("catalina.base")」 CATALINA_HOME/CATALINA_BASE * そもそも「CATALINA_HOME/CATALINA_BASE…

【Java】Java で暗号化/複合化する ~Java1.8 標準を使用した場合~

■ はじめに https://blogs.yahoo.co.jp/dk521123/32780473.html で、暗号化/複合化を実装したが、 Java1.8 標準で、Base64のエンコード・デコードが導入されているそうなので使ってみる ■ javax.crypto.Cipher.getInstance() について https://docs.google.c…

【Java】コールバック関数を実装する ~Future インターフェースを使って、実装編~

はじめに * Future インターフェースについては、以下の関連記事を参照のこと。 http://blogs.yahoo.co.jp/dk521123/34213161.html サンプル Main.java import java.util.Date; public class Main { public static void main(String[] args) throws Interrup…

【Linux】aptコマンド ~ 入門編 ~

■ はじめに 今回は、Linux (Debian系)のパッケージ管理であるapt/apt-getとか を書き溜めていく 目次 【1】apt 【2】関連するパス・ファイル 1)/etc/apt/sources.list 【3】補足:apt以外のコマンドについて 1)dpkg(ディーピーケージー) 【1】apt …

【デザインパターン】【GoF】【Java】プロトタイプ(Prototype)パターン / Cloneableインターフェース

プロトタイプ(Prototype)パターン * 説明については以下の関連記事を参照のこと。 http://blogs.yahoo.co.jp/dk521123/31326714.html Cloneableインターフェース * Java で、プロトタイプパターン(オブジェクトのクローン)を実装するには、 Cloneableイ…

【PofEAA】 関連テーブルマッピング(AssociationTableMapping) パターン

関連テーブルマッピング(Association Table Mapping) パターン * 多対多の関連を持つテーブル間を外部キーを持つテーブルとして、関連を保存する 具体的には 別に難しいことじゃない(具体例を見れば理解できる) ■ 多対多(Many-to-Many)関係例 +----------…

【Java】【非同期】セマフォ(Semaphore)

■ セマフォ(Semaphore)とは? * 同時にアクセスできるプログラム数を制限するために使われる * 詳細は、以下の関連記事を参照のこと。 https://blogs.yahoo.co.jp/dk521123/37076571.html ■ 主なメソッド https://docs.oracle.com/javase/jp/6/api/java/ut…

【Java】 日付・時間 について ~ 入門編 ~

■ はじめに Java の 日付・日時 について、まとめる 【1】日付に関するクラス 1)Javaプログラム [1-1] java.util.Date => 日付(YYYY/MM/DD)を扱う際に使用 https://docs.oracle.com/javase/jp/7/api/java/util/Date.html [1-2] java.util.Calendar => 日…

【Java】【非同期】 ReentrantLock ~ 排他制御 ~

ReentrantLock * ロックを制御できる。 構文 final Lock lock = new ReentrantLock(); // ロックする lock.lock(); try { // 処理 } finally { // ロックを解放。 lock.unlock(); } 参考文献 仕様 https://docs.oracle.com/javase/jp/6/api/java/util/concur…

【Java】コールバック関数を実装する ~自作インターフェースで使って、実装編~

コールバック関数とは * あるクラスに、コールバックしてもらう関数を教えて、その関数が呼び出されるのを待つこと。 Java での実装方法 * 3つの方法があるかと。 [1] 自作インターフェースで使って、実装する [2] CountDownLatch を使って、実装する [3] Fu…

【デザインパターン】【非同期】Two-Phase Terminationパターン

Two-Phase Termination * 後片付けしてから、おやすみなさい (スレッドの処理をメインの処理と終了処理に分けて、安全にスレッドを終了させる) 特徴 * 終了要求メソッドを用意し、そのメソッド内で「終了用フラグ」と「interruptメソッド」を用いて 終了要…

【デザインパターン】【非同期】Immutableパターン

■ Immutable * 壊したくとも、壊せない (インスタンスの内容が変化しない) * immutable(イミュータブル) = 不変の 特徴 / 利点 別にたいしたことはない * フィールドに対してsetterを提供せず、getterだけを提供 => 値は変更できない => メソッドなどにsynch…

【デザインパターン】【非同期】Single Thread Executionパターン

Single Thread Executionパターン * 難しく考える必要はない * この橋を渡れるのは、たった一人(別スレッドが処理が終わるまで待つ) * 複数スレッドから同時に実行されたくない場合、 「synchronized」をつけて、「同時にひとつのスレッドしか実行できない…

【Tomcat】WARファイルの作成およびデプロイ

WARファイル * WAR(Web application ARchive)ファイル * Webアプリのデプロイ用のアーカイブ(圧縮。ZIP形式)ファイル * JSP、サーブレット、web.xml設定ファイル、静的ドキュメントなど、 そのアプリケーションに含まれるすべてのファイルをひとつにパック…

【Java】【非同期】ExecutorService / Callable / Future インタフェース

http://blogs.yahoo.co.jp/dk521123/33665815.html の続き Callableインタフェースを使用した場合 * ExecutorService.submit() => 戻り値に Future が受け取れる。以下のサイトの Future パターンに関連すると思われる http://blogs.yahoo.co.jp/dk521123/32…

【Tomcat】Tomcat でPOODLE SSLv3脆弱性対策をする

はじめに * まず、POODLE について、説明する POODLE * POODLE(Padding Oracle On Downgraded Legacy Encryption)は、セキュリティ脆弱性の名称で、 暗号化接続をSSL 3.0へと強制的に「フォールバック」(ダウングレード)させたうえで、 同プロトコルの欠陥…

【デザインパターン】【非同期】Balking パターン

Balking パターン * Balking (ボーキング) ⇒Balk「ボーク」(野球のボークと同じで、投球動作を「途中でやめる」) * balk(ボーク) = 「急に止まる」「妨げる」「裏をかく」 * ざっくり言うと、「ブロック」。 使いどころ * 別スレッドが処理していたら、…

【デザインパターン】【非同期】Thread-Per-Message パターン

Thread-Per-Message パターン * スレッド(Client)がインスタンス(Host)のメソッドを呼び出している場合、 メソッド処理が終了するまでインスタンス(Host)から制御が戻ってこない * インスタンス(Host)が処理用のスレッドを新たに起動し、処理を任せ…

【デザインパターン】【非同期】デザインパターン / マルチスレッド の分類 ~目次~

■ Single Thread Execution * この橋を渡れるのは、たった一人(別スレッドが処理が終わるまで待つ) 関連記事 https://blogs.yahoo.co.jp/dk521123/34224730.html ■ Immutable * 壊したくとも、壊せない (インスタンスの内容が変化しない) * immutable(イミ…

【Java】ラムダ式 ~ 基本編 / Stream API ~

Stream APIの主なメソッド filter * 条件に合致した要素だけ抜き出す map * 要素全てに同じ処理を行い、その結果で新たにリストを作る min / max * 最小 / 最大に合致した要素だけ抜き出す sorted * ソートする サンプル Person.java import java.sql.Timest…

【Java】ラムダ式 ~入門編~

■ ラムダ式 * Java1.8から導入できる ■ 構文 [1] 引数1つ式1つ 引数 -> 式 [2] 引数2つ以上、式1つ (引数1[,引数2]・・・) -> 式 [3] 引数1つ式複数 引数 -> { 処理 return 値; } [4] 引数2つ以上式複数 (引数1[,引数2]・・・) -> { 処理 return 値; } ■ サ…

【PofEAA】DataMapperパターン

DataMapperパターン * モデルとデータベースの間を取りなすMapperという中間的な構造を持っている サンプル DBテーブル/PostgreSQL person CREATE TABLE person ( id character(8) NOT NULL, name character varying(100), sex character(1), updatedate tim…

【Shell】シェル ~ 入門編 ~

■ はじめに シェルをメモる。 目次 【1】シェル 【2】シェルの種類 1)sh 2)bash 3)csh 4)zsh 【3】使用するシェルに関して 1)現在のシェルを確認する方法 2)使用可能なシェルの確認 3)シェルの変更 【1】シェル * Linux OSの中核に担う Ke…