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

【NoSQL】KVS型インメモリデータベースについて

■ はじめに KVS(Key-Value store)型インメモリデータベースについて、メモる。 結局、代表するKVSは、今のところ、正式に全てWin未サポート!?? 目次 【1】memcached 【2】Redis 【3】TokyoTyrant 【4】Flare 【5】ROMA 【6】Riak 【1】memcached http…

【デザインパターン】【GoF】【Java】Mementoパターン

使いどころ * Undo機能 => 一度変化してしまったインスタンスを、 「少し前の状態に戻したい」「ある時点の状態に戻したい」などの時に使用する ※ ただし、完全に複製するのではなく、必要な情報のみを保持しておき、 必要なデータのみを復元する サンプル M…

【デザインパターン】デザインパターンの分類 ~目次~

■ はじめに GOF の デザインパターン についての目次。 目次 【1】オブジェクトの生成に関するパターン 1)Singleton(一人っ子) 2)Factory Method(工場メソッド) 3)Abstract Factory(抽象的な工場) 4)Builder(構築者) 5)Prototype(原型) 【2】プ…

【NoSQL】 Cassandra ~入門編~

初めに * 難しいと思ったら、結構、簡単に設定できた。 Winows設定 [0] JDK を設定する(以下の関連記事を参照のこと) http://blogs.yahoo.co.jp/dk521123/31934496.html [1] 以下からダウンロードしてくる。(「apache-cassandra-2.0.4-bin.tar.gz」) htt…

【Eclipse】Eclipseのメモリを変更する

Eclipseのメモリ変更方法 [0] eclipse.exe と同じ階層にある「eclipse.ini」をコピペしてバックアップを取っておく [1] 「eclipse.ini」をテキストエディタで開く [2] 「eclipse.ini」にあるXmx の値を変更し、保存する [3] コマンドプロンプトを立ち上げて…

【Java】オブジェクトの使用メモリサイズを測る

初めに * main()の呼び出しより前に実行されるメソッドを指定できることを利用する (premainメソッド) 作成手順 [1] Eclipseで、サンプルの「ObjectSizeFetcher.java」を参考にプログラムを書く [2] Eclipseで、「build.xml」を作成する(内容はサンプルの…

【Java】Javaにおけるオブジェクトの使用メモリサイズの測る

初めに * 以下の関連記事にある java.lang.insturument.InstrumentationのgetObjectSizeが クラスのネストには対応してないようなので、 別の方法でJavaにおけるオブジェクトの使用メモリサイズを測る。 http://blogs.yahoo.co.jp/dk521123/32945695.html [1…

【Java】【REST】JavaでRESTRestクライアント を実装する ~Apache Commons を使用した場合~

Apache Commons を使用した場合 * 下記の記事で暗号化する際に使用した Apache Commons を使って、Restを実装する http://blogs.yahoo.co.jp/dk521123/32780473.html * ダウンロードや設定については、上記の記事を参照のこと。 サンプル 使用するWebサービ…

【Java】【REST】JavaでRESTRestクライアントを実装する ~HttpURLConnection を使用した場合 ~

HttpURLConnection を使用した場合 * 何処からかライブラリを取得する必要はない サンプル 使用するWebサービス * Axis2で自作したサービス(例えば、以下のURLを参考)を起動させて、実行した http://blogs.yahoo.co.jp/dk521123/31944955.html RestClientW…

【トラブル】【Axis2】Axis2を実行時に、エラーが表示され、実行できない

現象詳細 以下のような現象になり、Axis2のサービスが実行できない エラー内容 エラーその1 Error Failed while installing axis2 web services core 1.1 Reason: The Axis2 facets cannot be installed since the Axis2 runtime location has not been set.…

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

Guarded Suspensionパターン * 処理要求に対して、実行可能な状態になるまで待機させるデザインパターン => インスタンスが適切な状態になるまで、ガード条件を使ってスレッドを待たせる * ガード条件が変化したことをスレッドの通知(notify/notifyAll) 関…

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

■ Future パターン * 将来実行できる状態になるまで待つ * 処理の実行担当者は、処理が渡されると別スレッド上で処理を開始して、 メインスレッドには即座にFutureオブジェクトを返すこと * 現在はまだ結果を取得できないが、将来のある時点で取得することに…

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

Worker Thread パターンについて * 別名 = 「Background Thread」、「Thread Pool(スレッドプール)」 * 呼び出しと実行の分離 * スレッドを使いまわすことによる処理能力(スループット)の向上 Worker Thread パターンをjava.util.concurrent を使って実…

【デザインパターン】【非同期】Producer-Consumer パターン

■ Producer-Consumer パターン(生産者-消費者パターン) * Queue(キュー)を用意し、 1つのプロセス(producer)が、データが生産できたらそのキューに追加。 もう1つのプロセス(consumer)が、キューからデータを取り出し、処理をする。 * キューは複数スレ…

【デザインパターン】【非同期】Thread-Specific Storage パターン

目的 * 他のスレッドからアクセスさせないようにする ポイント * java.lang.ThreadLocal を使う => スレッド毎の値を保持するためのクラス => 詳細は以下の関連記事を参照のこと。 http://blogs.yahoo.co.jp/dk521123/36396466.html サンプル * スレッドごと…

【C++】継承

クラスの継承 特徴 * C++にはインターフェースクラスはない => インターフェースクラスを表現したい場合、抽象クラスを使う * C++には多重継承が可能 構文 class クラス名 : public 基底クラス名 { 追加の宣言 } サンプル Person.h 基底クラス #ifndef Perso…

【C++】テンプレート(template) ~<T>型 / クラスやメソッドを汎用的に使えるようにする~

テンプレート(template) * Java/C# のジェネリック(下記の関連記事を参照のこと)のようなことができる。 構文 Pattern1 template <class type> function-declarator 例 template<class T> void sample(T value); Pattern2 template <typename type> function-declarator 例 template<typename T> void sam</typename></typename></class></class>…

【C++】【C++/CLI】文字列の扱い

= ■ C++標準 / std::string == * std::string * 実体は「typedef basic_string<char> string;」 * 「using namespace std;」を定義しておくと便利 * std::wstring :ワイド文字(1文字表現するのに2バイト用いる文字)に対応したワイド文字列を扱う ※ ワイド文字自</char>…

【C++】クラス

クラスの作成方法 クラスを定義するキーワードには、以下の2通りある。 [1] class [2] struct ※ classを使って定義したクラスのメンバは、既定でprivateで、 structを使って定義したクラスのメンバは、public。 構文 class クラス名 { アクセス修飾子: 型 変…

【C++】Iterator (イテレータ)

サンプル SampleCpp.cpp #include "stdafx.h" #include <string> #include <list> #include <iostream> #include <sstream> using namespace std; using namespace System; // 構造体 typedef struct { double hight; double weight; } Size; typedef struct { long id; string name; char sex</sstream></iostream></list></string>…

【C#】Graphics ~ さまざまな描画 ~

■ 描画 画像の描画 * Graphics.DrawImage() を使用 https://docs.microsoft.com/ja-jp/dotnet/api/system.drawing.graphics.drawimage?view=netframework-4.8 => 描画したいImageオブジェクトと、描画する位置、サイズを指定 => 詳細は、以下の関連記事を参…

【C#】ジェネリック(Generics) ~<T>型 / サンプルプログラム編 ~

■ 例1 Program.cs using System; namespace GenericDemo1 { class uArrayList<DATA> { DATA[] value; int dataNum = 0; public uArrayList(int max) { value = new DATA[max]; } public void add(DATA val) { try { if (dataNum < value.Length) { value[dataNum] </data>…

【C#】【XML】C# でXMLファイルを扱うには ~ 入門編 ~

■ サンプル Program.cs using System; using System.Xml.Linq; namespace xmlDemo1 { class Program { static void Main(string[] args) { XDocument xdoc = XDocument.Load(@"C:\sample.xml"); foreach (var xbook in xdoc.Root.Elements()) { XElement xna…

【C#】.NET Remoting ~ プロセス間通信 ~

■ はじめに * Java の RMI (Remote Method Invocation) のようなことを C# で行う * .NET Framework 3.0から導入されたWCF(以下の関連記事を参照)でも同じことができるし、 そっちの方がいいと思うが、.NET Remoting というやり方を学ぶ WCF ~ 基礎知識編 …

【C#】【Form】DataGridView に ACCESS のデータを表示させる

■ サンプル デザイン部 * DataGridView を追加(Anchor : Top, Bottom, Left, Right) プログラム部 / Form1.cs using System; using System.Data; using System.Data.OleDb; using System.Windows.Forms; namespace SampleShowAccessData { public partial …

【Java】ACCESS を Java で利用する

設定 手順 ※事前にACCESSファイル(例「customerDB.mdb」)を用意しておく [1] [コントロールパネル]-[管理ツール]-[データソース(ODBC)]を選択 [2] [ユーザーDNS]で「追加」ボタン押下 [3] 「Microsoft Access Diver(.mdb)」を選択し、「完了」ボタン押下 [4]…

【マネジメント手法】リーン スタートアップ方法論

【1】リーンスタートアップ方法論 * Lean(リーン) = 「ぜい肉がない」⇒「ムダがなく効率的」 * Startup(スタートアップ) = 新規事業などの「立ち上げ」 * トヨタの「かんばん方式」を基に作られた 「リーン生産方式」に由来するもの 補足 * システム開発手…

【Java】【Swing】Swing で Hello World

Swing 実装方法 * getContentPane().add() で画面に纏わるクラスを追加していく。 * JFrameを継承する。ボタンイベントを取得したい場合は、ActionListenerを実装。 (つまり、「extends JFrame implements ActionListener」) 画面 * JPanel : パネル * JLa…