IThaiのブログ

IT関連の話題やタイに関する様々なことを書いていきます。

プログラミング

プログラマ時代の振り返り

システム開発のプロジェクトでは、提案段階にてすでに、スコープや工数、スケジュールがほとんど決まってしまうことが多い。なぜなら、プロジェクトがスタートしてから、これらを変更する場合には、見積し直し、技術レベルでの妥当性の検討、社内での説得、…

DjangoとPostgreSQLでWebアプリを作成する流れ

前の記事でDjangoをインストールしました。せっかくなので、簡単なアプリを作成しながら、Djangoの開発の流れをみていきます。Djangoの特徴として、簡単に素早くアプリを作成できるというものがありますので、これを体験してみました。 以下記事を参考にして…

PythonのDjangoをDebian上にインストールしてみた

Pythonの有名フレームワークであるDjango(ジャンゴ)を触ってみました。ちょうどDebianの勉強もしていますので、Debianのapt-getでPythonの開発環境も整えつつやってきます。 1. Pythonのバージョン確認 $ python -V Python 2.7.3 2. Djangoのインストール 試…

PHPの文字列操作関数一覧

これまでJavaを長く使用していましたが、このところ、PHP(とPython)を触る必要がでてきましたので、まずは基本操作である文字列操作をまとめてみようと思います。 目次 1. 文字列検索 2. 文字列置換 3. 文字列結合 1. 文字列検索 strpos 位置を返します //…

PythonとJavaのクラス、インスタンス、スコープの違いを比較

Pythonについて少し学んだので、復習を兼ねて忘れないために書き残しておきます。 1. Pythonのクラスは名前空間 クラスとインスタンスに同じ名前の属性を定義し、それぞれに異なる値を設定することができます。 下の例では、Testクラスの中にdata、また _ in…

PythonでSSL通信する方法

JSSE(Java Secure Socket Extension)を使いSSL通信する - HttpClientで実装 - IThaiのブログkkv.hatenablog.com JavaでSSL通信する方法を調べたので、今回はPythonでSSL通信するにはどうするのかを調査しました。 環境 MacOSX : 10.10.2 python : 2.7.6 (現…

PHPでSmartyを使う

普段、Javaを使って開発しているが、急にPHPを触りたくなった。 3年前にPHPを学んだが、そのときは素のPHPしか利用してなかったし、オブジェクト指向的なPHPも知らなかったので、これから改めて勉強してこうと思います。 今回はテンプレートエンジンである、…

Hadoopとは?Hadoopを触ってみる

ビッグデータ処理を支えるJavaフレームワーク「Hadoop」とは? もともと、Googleが検索エンジン用に開発したバッチ処理システムを参考に作られたもので、数千ものノードを用いて、PB(ペタバイト)クラスのデータ処理ができる。 検索システムを紹介する論文…

Executorsでマルチスレッド処理を行う

バッチ処理とかで大量データ処理を行うを扱うときに、何時間以内で終わらせないといけない等の時間制約がある場合、マルチスレッド処理で処理時間を早めることはよくあります。 今回はJavaのjava.util.concurrent.Executorsを使ってマルチスレッド処理を実装…

Javaの同一スレッドのインスタンス変数はスレッドセーフでない

今までDIコンテナのフレームワークしか使ったことがなかったので、Actionクラスのインスタンス変数の実体が共有されないことについて特に意識しなかった。しかし、どうやらDIコンテナでないStruts1系のActionクラスは複数スレッドで共有されるため、インスタ…

jqueryの$.extendでajaxを拡張する

jQueryで関数の共通化でjQueryオブジェクトを拡張する$.extend()を利用するのでメモとして書いておきます。 $.extend(a, b)はjQueryオブジェクトをマージします。 var a = { top: '10px' } var b = { left: '20px' } var c = $.extend(a, b); 結果は a: { to…

jdom2でXMLを作成してSOAPリクエストを送信する

SOAPリクエスト送信では、下記のようなApache Axis等のフレームワークでwsdlからスタブ作成する手順が一般的です。 Apache axisでWebサービスを呼び出してみた - IThaiのブログ 重厚なフレームワークを使わずに、もっとシンプルに実装してみることを目的にHt…

Apache axisでWebサービスを呼び出してみた

最近は通信系のアプリケーションを作成しているので、試しにWebサービスを呼び出してみました。 対象のWebサービス デ辞蔵 オンラインでもオフラインでも使える電子辞書 WSDL : http://public.dejizo.jp/SoapServiceV11.asmx?WSDL サービスURL : http://publ…

デザインパターンを学び直す - Strategyパターン

デザインパターン。 今回はStrategyパターンを学び直します。 Strategyパターンはデザインパターンの中でも、簡単で理解しやすいもののようです。 ネットで色々見てみると、if文やswitch文で処理が長々と書かれているものに利用すると良いといわれています。…

デザインパターンを学び直す - Singletonパターン

私が経験した現場では、あまりデザインパターンを見ることも、 考えることも少ないのですが、Javaプログラマとしては必須の知識なので、 デザインパターンを学び直します。 まずは有名なGoFのデザインパターンから。 今回は簡単なSingletonパターンをみてみ…

Tomcatのソースを読んでみる - Catalinaの開始

前回はCatalinaの初期化処理をみました。 Tomcatのソースを読んでみる - Catalinaの初期化 - IThaiのブログ 今回はCatalinaの開始処理をみます。 public final class Bootstrap { //----------------------------------------------中略 /** * Start the Cat…

Tomcatのソースを読んでみる - Catalinaの初期化

前回、Digesterオブジェクトを作成するところまで書きました。 Tomcatのソースを読んでみる - Catalinaの読み込み - IThaiのブログ Apache Commons Digesterとは、XMLをJavaオブジェクトにマッピングするクラスです。 public class Catalina extends Embedde…

Tomcatのソースを読んでみる - Catalinaの読み込み

Web開発のアプリケーションサーバとして日頃とてもお世話になっているTomcat。 今まで使用させて頂いているだけで、その中身のソースについてはほぼ無勉強でした。 Javaで書かれているので、普段Javaを書いている私にも解読しやすいのでは?と思い、この機会…

SOAPリクエストをjavaで作成する方法を調べる

SOAPを使ってシステム連携をすることになったので、簡単にSOAPについて調べます。 ・SOAPは、Web サービスとWeb サービスとでデータの通信に使用されるプロトコルの1つ。 ・TCP/IPのアプリケーション層に位置するHTTP(S)プロトコルなどの上位に位置している…

Javaの初期化ブロック、コンストラクタについて学ぶ

IT業界に携わってから3年目になり、 研修時に習っただけで後はOJTで勉強してきたJavaですが、 Javaの効率的な実装や動作を理解しないままだったので、 Javaとオブジェクト指向について学び直しています。 今回は担当している仕事でJavaの初期化ブロックをみ…

JSSE(Java Secure Socket Extension)を使いSSL通信する - HttpClientで実装

前回のエントリでSSL通信のためのキーストア、トラストストアを用意しました。JSSE(Java Secure Socket Extension)を使いSSL通信する - キーストアのインポート - IThaiのブログそれでは実際に実装をしてみます。Httpsで通信するのに利用したのはJavaの有名…

JSSE(Java Secure Socket Extension)を使いSSL通信する - キーストアのインポート

前回のエントリでSSLとは何か、またSSL通信に関わる用語について簡単に書きました。JSSE(Java Secure Socket Extension)を使いSSL通信する - SSL通信の仕組み - IThaiのブログ今回はJSSEについて調べてみます。JSSE とはJavaのSSLおよびTLSプロトコルのフレ…

JSSE(Java Secure Socket Extension)を使いSSL通信する - SSL通信の仕組み

外部システム連携でSSL通信をすることになりました。 Javaを使っているので、JSSE(Java Secure Socket Extension) というものを使うみたい。JSSEよりもまずSSLについてほぼわかっていなかったので、 簡単に調べてみます。・SSL(Secure Sockets Layer)とは イ…

com.whalin.MemCached.MemCachedClientを使ってみる

前回のエントリでDBレプリケーションについて書きました。 今回は負荷分散技術の一つとしてDBアクセスの回数を減らすためによく使われる、メモリキャッシュについて書きます。 私のプロジェクトでは、Memcachedを使うことになったので、自宅でも少しいじって…

Apache Tilesで画面レイアウトを共通化する

私の現在の仕事ではSAStrutsを使用していますが、 そこではjspでビューを作成しています。 基礎からのサーブレット/JSP 第3版 (基礎からのシリーズ) 作者: 宮本信二 出版社/メーカー: ソフトバンククリエイティブ 発売日: 2010/09/01 メディア: 大型本 購入:…