2014-01-01から1年間の記事一覧
■ はじめに https://dk521123.hatenablog.com/entry/2015/08/23/165632 の続き。 Android のレイアウトについて、ちょっとずつ勉強していく。 今回は、View Group(ビュー グループ) について、学ぶ。 ■ View Group(ビュー グループ) * Viewを纏めて配置する…
■ はじめに リファクタリング * プログラムの外部仕様を変えずに、内部構造を分かりやすく変更すること ■ Duplicate Code (重複したコード) 解決方法 * Extract Method => 重複した処理をメソッドに抽出する ■ Long Parameter List (長い引数リスト) 解決方…
用語整理 JMX * Java Management Extensions * 外部からJava アプリケーションをモニタおよび管理するための仕組み MBean * Management Bean * JMXでアクセスする管理用オブジェクト MBeanServer * 外部との通信を行うコンポーネント 主なクラス・メソッド *…
はじめに * 分かってしまえば、大したことなかったのだが、以下「エラー内容」のようなコンパイルエラーになり ビルドできない * Eclipseの機能を使っても解決できず。 エラー内容 【日本語】 例外 Exception は XXX.xxx() にある throws 節と矛盾する 【英…
■ ホストOS-ゲストOS間でコピペができなくなった 現象 * ホストOS-ゲストOS間でコピペが突然できなくなった。(原因は不明) * VMware Toolを再インストールしても現象が変わらず 解決策1 : VMware Toolを再インストール * VMware Tool のインストールは以下…
サンプル 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…
■ synchronized 文 / volatile 修飾子 / Atomicな変数 を利用する * 詳細は以下の関連記事を参照のこと 関連記事 スレッドの排他制御 ~synchronized 文 / volatile 修飾子 / Atomicな変数 ~ http://blogs.yahoo.co.jp/dk521123/33626978.html ■ コレクショ…
JavaでTomcat上のパスを取得するには 以下を利用する。 * CATALINA_HOME なら「System.getProperty("catalina.home")」 * CATALINA_BASE なら「System.getProperty("catalina.base")」 CATALINA_HOME/CATALINA_BASE * そもそも「CATALINA_HOME/CATALINA_BASE…
■ はじめに https://blogs.yahoo.co.jp/dk521123/32780473.html で、暗号化/複合化を実装したが、 Java1.8 標準で、Base64のエンコード・デコードが導入されているそうなので使ってみる ■ javax.crypto.Cipher.getInstance() について https://docs.google.c…
はじめに * 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 (Debian系)のパッケージ管理であるapt/apt-getとか を書き溜めていく 目次 【1】apt 【2】関連するパス・ファイル 1)/etc/apt/sources.list 【3】補足:apt以外のコマンドについて 1)dpkg(ディーピーケージー) 【1】apt …
プロトタイプ(Prototype)パターン * 説明については以下の関連記事を参照のこと。 http://blogs.yahoo.co.jp/dk521123/31326714.html Cloneableインターフェース * Java で、プロトタイプパターン(オブジェクトのクローン)を実装するには、 Cloneableイ…
関連テーブルマッピング(Association Table Mapping) パターン * 多対多の関連を持つテーブル間を外部キーを持つテーブルとして、関連を保存する 具体的には 別に難しいことじゃない(具体例を見れば理解できる) ■ 多対多(Many-to-Many)関係例 +----------…
■ セマフォ(Semaphore)とは? * 同時にアクセスできるプログラム数を制限するために使われる * 詳細は、以下の関連記事を参照のこと。 https://blogs.yahoo.co.jp/dk521123/37076571.html ■ 主なメソッド https://docs.oracle.com/javase/jp/6/api/java/ut…
■ はじめに 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 => 日…
ReentrantLock * ロックを制御できる。 構文 final Lock lock = new ReentrantLock(); // ロックする lock.lock(); try { // 処理 } finally { // ロックを解放。 lock.unlock(); } 参考文献 仕様 https://docs.oracle.com/javase/jp/6/api/java/util/concur…
コールバック関数とは * あるクラスに、コールバックしてもらう関数を教えて、その関数が呼び出されるのを待つこと。 Java での実装方法 * 3つの方法があるかと。 [1] 自作インターフェースで使って、実装する [2] CountDownLatch を使って、実装する [3] Fu…
Two-Phase Termination * 後片付けしてから、おやすみなさい (スレッドの処理をメインの処理と終了処理に分けて、安全にスレッドを終了させる) 特徴 * 終了要求メソッドを用意し、そのメソッド内で「終了用フラグ」と「interruptメソッド」を用いて 終了要…
■ Immutable * 壊したくとも、壊せない (インスタンスの内容が変化しない) * immutable(イミュータブル) = 不変の 特徴 / 利点 別にたいしたことはない * フィールドに対してsetterを提供せず、getterだけを提供 => 値は変更できない => メソッドなどにsynch…
Single Thread Executionパターン * 難しく考える必要はない * この橋を渡れるのは、たった一人(別スレッドが処理が終わるまで待つ) * 複数スレッドから同時に実行されたくない場合、 「synchronized」をつけて、「同時にひとつのスレッドしか実行できない…
WARファイル * WAR(Web application ARchive)ファイル * Webアプリのデプロイ用のアーカイブ(圧縮。ZIP形式)ファイル * JSP、サーブレット、web.xml設定ファイル、静的ドキュメントなど、 そのアプリケーションに含まれるすべてのファイルをひとつにパック…
http://blogs.yahoo.co.jp/dk521123/33665815.html の続き Callableインタフェースを使用した場合 * ExecutorService.submit() => 戻り値に Future が受け取れる。以下のサイトの Future パターンに関連すると思われる http://blogs.yahoo.co.jp/dk521123/32…
はじめに * まず、POODLE について、説明する POODLE * POODLE(Padding Oracle On Downgraded Legacy Encryption)は、セキュリティ脆弱性の名称で、 暗号化接続をSSL 3.0へと強制的に「フォールバック」(ダウングレード)させたうえで、 同プロトコルの欠陥…
Balking パターン * Balking (ボーキング) ⇒Balk「ボーク」(野球のボークと同じで、投球動作を「途中でやめる」) * balk(ボーク) = 「急に止まる」「妨げる」「裏をかく」 * ざっくり言うと、「ブロック」。 使いどころ * 別スレッドが処理していたら、…
Thread-Per-Message パターン * スレッド(Client)がインスタンス(Host)のメソッドを呼び出している場合、 メソッド処理が終了するまでインスタンス(Host)から制御が戻ってこない * インスタンス(Host)が処理用のスレッドを新たに起動し、処理を任せ…
■ Single Thread Execution * この橋を渡れるのは、たった一人(別スレッドが処理が終わるまで待つ) 関連記事 https://blogs.yahoo.co.jp/dk521123/34224730.html ■ Immutable * 壊したくとも、壊せない (インスタンスの内容が変化しない) * immutable(イミ…
Stream APIの主なメソッド filter * 条件に合致した要素だけ抜き出す map * 要素全てに同じ処理を行い、その結果で新たにリストを作る min / max * 最小 / 最大に合致した要素だけ抜き出す sorted * ソートする サンプル Person.java import java.sql.Timest…
■ ラムダ式 * Java1.8から導入できる ■ 構文 [1] 引数1つ式1つ 引数 -> 式 [2] 引数2つ以上、式1つ (引数1[,引数2]・・・) -> 式 [3] 引数1つ式複数 引数 -> { 処理 return 値; } [4] 引数2つ以上式複数 (引数1[,引数2]・・・) -> { 処理 return 値; } ■ サ…
DataMapperパターン * モデルとデータベースの間を取りなすMapperという中間的な構造を持っている サンプル DBテーブル/PostgreSQL person CREATE TABLE person ( id character(8) NOT NULL, name character varying(100), sex character(1), updatedate tim…
■ はじめに シェルをメモる。 目次 【1】シェル 【2】シェルの種類 1)sh 2)bash 3)csh 4)zsh 【3】使用するシェルに関して 1)現在のシェルを確認する方法 2)使用可能なシェルの確認 3)シェルの変更 【1】シェル * Linux OSの中核に担う Ke…