ページ

2010年7月30日金曜日

よく使うシェルコマンドの纏め

ファイルのコピー
cp コピー元ファイルパス コピー先ファイルパス

フォルダのリネーム
mv -v 変更前フォルダパス 変更後フォルダパス

ディレクトリごとファイルを削除する。
rm -Rf ディレクトリのパス

シェルの実行結果をログファイルに出力する。
実行したいシェル.sh  2>&1 | tee ログファイル名

SVNの指定したりビジョンを比較して結果をファイルに出力したい場合
svn diff svn+ssh://192.168.11.5/opt/svn/repo/kablog/branches/B090210 -r 28261:28260 > diff.txt

cronのジョブ一覧を確認する。
ll /etc/cron.d
crontab -l

マウントの情報を確認する。
view /etc/fstab

ZIPファイルを解凍する。
unzip -o zipファイル名 -d 解凍先ディレクトリ

ファイルの転送
scp -rp 転送元ファイル サーバーIP:転送先ディレクトリ

コマンドの実行履歴を表示する
history

ターゲットシステム上で計測された HotSpot Java 仮想マシン (JVM) を一覧表示する。
jps

ログ出力を監視する。
tail -f ログファイル名

rootユーザーでログインしたユーザーのIPアドレスを調べる
less /var/log/secure | grep root

ファイルを閲覧する。
less ファイル
q で終了。/ で検索。fで1ページ進む。bで1ページ戻る。

シンボリックリンクを作成する。
ln -s リンク先 リンク元

ディスクの空き容量を確認する。
df

指定したディレクトリの空き容量を各ディレクトリ毎に表示する。
du -sh ディレクトリのパス/*/

指定したディレクトリのファイル数を確認する。
ls -lR ./ | wc -l
find ./ | wc -l

ファイルだけ削除する。
find ./ -type f | xargs rm

指定したディレクトリのiノードサイズを調べる。
df -i /mnt/nas

指定したホスト名のドメイン情報を探索する。
dig ホスト名

自分から別のホストまでのネットワーク経路について表示する。
traceroute ホスト

apacheの設定ファイルの書式をチェックする。
/etc/init.d/httpd configtest

apacheを再起動せずに設定ファイルの変更を反映する。
/etc/init.d/httpd reload

WARファイルの所有者をTOMCATユーザーに変更する。
chown tomcat:tomcat /mnt/nas/deploy/app/kablog.war

WARファイルのパーミッションを変更する。
chmod 755 /mnt/nas/deploy/app/kablog.war

踏み台にして別サーバーにログインする。
ssh root@192.168.11.XXX

プロセスID 12829のJVMのGC統計データを3秒毎に表示する。
jstat -gcutil -t 12829 3000 2>&1 | tee ./gc.log

シェルをバックグラウンドで実行する。
nohup ./sample.sh &

バックグラウンドで実行しているシェルの一覧を表示する。
jobs

バックグラウンドプロセスをフォアグラウンドで実行する。
fg %ジョブID


フォアグラウンドプロセスをバックグラウンドで再開する。
bg %ジョブID

仮想スクリーンを新しく開く
screen

仮想スクリーンの一覧を表示する
screen -list

仮想スクリーンに戻る。
screen -x

トンネル経由でリモートに接続する。
ssh -L <ローカルポート>:<接続ホスト>:<接続ポート> <ユーザーID>@<経由するホスト>

トンネル経由でリモートに接続する。(SSH2)
ssh -2 -i <秘密鍵> <ユーザーID>@<経由するホスト> -L <ローカルポート>:<接続ホスト>:<接続ポート>

用語集・ツール名称のまとめ

■ 用語

RSS
~ Webサイトの更新情報を、見出しや要約などをまとめた形式で配信するための技術のこと。
更新されたWebページのタイトルやURL(リンク)、概要、更新時刻といった、
更新されたWebページに関する情報(メタデータ)を記述することができる。

Atom(エイトム)
~ Webサイトの見出しや要約などのメタデータを構造化して記述するXMLベースのフォーマット。
主にサイトの更新情報を公開するのに使われている。

ワードランク
~ Webサイト内で頻繁に使用されている単語のランキング。
ワードランクの高い単語がそのWebページ内で重要視され、検索エンジンにヒットしやすくる。

IDF
~ 文章中の重要とみなされる単語を抽出するためのアルゴリズムの事。

RDF
~ 情報についての情報(メタデータ)の表現方法についての枠組み。
RDFで記述される情報は書籍における図書カタログのようなもので、
コンピュータが扱う情報の分類や検索などの自動化・効率化を図ることができる。

トラックバック
~ ウェブログ(ブログ)の機能の一つで、別のウェブログへリンクを張った際に、
リンク先の相手に対してリンクを張ったことを通知する仕組みのこと。

エントリー
~ ウェブログの1つ1つの文章のまとまりのこと。
コンテンツデータ1件単位のことで通常は1ページ分の記事データを意味しています。

タグクラウド
~ Webサイト上で各項目にメタデータとしてつけられたタグを、一挙に集めて視覚的に表示すること。
同じタグが与えられた多さによって、フォントサイズを変えて表示される。
そのため、文字の大小によって一目で(あるいは「視覚的に」)タグの人気がわかるようになっている。

CAPTCHA(キャプチャ)
~ 文字を歪ませた画像をユーザに提示し、そこに書かれた文字列を入力させることで、相手が人間であるということを確認する手法

ブログロール
~ 他ブログへのお気に入りリンクリストのこと。

ブロゴスフィア
~ ブログおよびブロガーによって形成されるコミュニティのこと。
ブログ圏とも呼ばれる。

ログファイルのローテート
~ ログファイルが蓄積されて、巨大化されるのを防ぐために、古いファイルを回転させて、
バックアップを保持しながら効率的に古いログを削除していく仕組み。

NAS
~ LAN経由でアクセスできるファイルサーバー専用のハードディスクの事。

POJO(ポジョ)
~ Plan Old Java Objectの略で、シンプルで、依存性をなくしたオブジェクトの事。PrintStreamのwriterでレスポンスを返す処理など。

OpenSearch
~ 複数の検索サイトにクエリーを投げて、その結果を合成・加工して表示するといった事が可能になる仕組みの事。

MTA
~ ユーザーが送信したメールを受け取って、他のサーバーと連携する機能

Oracle RAC(Real Application Clusters)
~ 1つのデータベースを複数のサーバーで共有する仕組みの事。クラスタ化した複数のAPサーバーから1つのDBを共有させるための仕組み。

サニタイズ
~ 入力されたデータの危険な部分を無力化する操作のこと。

cron(クーロン)
~ Unixにおいて、定期的にコマンドを実行するためのデーモンの事。

UTM
~ ファイアウォールとVPN機能をベースに、アンチウイルス、不正侵入防御、Webコンテンツフィルタリングといった複数のセキュリティ機能を統合的に管理する事。

サイトジャック
~ サイト(ホームページ) を乗っ取ること。ウィルスをしこんで、訪問者にトロイなどをしかけて、ポッドネットを広げるのに使います。

フェイルオーバー
~ サーバに障害が発生した場合に、代替サーバが処理やデータを引き継ぐ機能

マルチキャスト
~ コンピュータネットワークにおいて、決められた複数のネットワーク端末(ノード)に対して、同時にパケット(データ)を送信する事。

Webサービス
~ SOAPやRESTなどの技術を用いてメッセージの送受信を行う技術、またはそれを適用したサービス。

WSDL
~ Webサービス記述言語、またはそれによって記述された定義ファイルの総称。XML形式で表記される。

SOAP(ソープ)
~ XML形式のプロトコルを用いメッセージの送受信を行うWebサービス。XMLをリクエストしてXMLがレスポンスになる。

REST(レスト)
~ GETメソッドのURLクエリー部分やPOSTメソッドのボディ部に、「引数名=値&引数名=値…」という形式で引数を渡し、XML形式のレスポンスが返ってくるWebサービス。
Ajaxリクエストの戻り値として利用される事が多い。

ステートレス
~ クライアントとなるネットワークアプリケーションが、サーバーに処理を依頼する際に、処理を行う単位でソケット接続をし切断をすること。
クライアントが処理単位で切断するため、サーバー側はクライアントを特定できず、処理をまたいで情報を保存することができない。

ステートフル
~ クライアントがひととおりの処理が終わるまでセッションを切断しない方法。

スケーラビリティ
~ コンピュータシステムの持つ拡張性。システムの利用者や負荷の増大に応じて、柔軟に性能や機能を向上させられることを意味する。

JCP
~ Javaプラットフォームの将来のバージョンや機能に関与する定義に関与することを許した標準化プロセス。

JAX-RS(JSR 311)
~ JavaプラットフォームにおいてREST(REpresentational State Transfer)スタイルのWebアプリケーションを開発するためのAPI仕様。

JSON(ジェイソン)
~ 構造化されたデータを記述するための,テキスト・ベースのデータ記述言語の一つ。
JavaScript(ECMAScript)でオブジェクト・リテラルを記述する構文をそのまま使っている。

マイルストーン
~ 必要に応じて適宜工程の修正を行って新たな計画を立て再び実施を行うという方法でプロジェクトを進めてゆく方法。


■ツール・API関連の名称

ATLASSIAN JIRA(ジラ)
~ バグや課題などを管理してトラッキングを行うためのWEBツール

OpenSymphony Quartz(クオーツ)
~ ジョブスケジュール管理ツール。バッチ処理のジョブスケジューリングを行うためのJavaのAPI

Apache James(ジェイムス)
~ MTAが実現可能な電子メールアプリケーションサーバ
Matcher-特定のメールアドレスパターンの時だけ実行したりできるAPI
Mailet-到着したメールをトリガーにしてプログラムを呼び出すAPI

Apache Lucene(ルシーン)
~ 大量のデータから指定したキーワードを探し出すためのJavaのAPI

Apache iBATIS(アイバティス)
~ SQLクエリを POJO (Plain Old Java Object) にマッピングする永続性フレームワーク

Sen(セン)
~ 入力文を形態素(言語で意味を持つ最小単位)に分解し品詞を付与するJavaのAPI

ipadic(アイパディック)
~ 形態素解析を行う際に利用される辞書。

JMagick
~ JavaからImageMagick(イメージファイルを加工するツール)を扱う為のJavaのAPI。gifファイルのリサイズなどを行う。

Apache Velocity(ベロシティ)
~ Javaベースのテンプレートエンジン。メール送信の際の定型文などに利用される。

java.net ROME
~ JavaでAtomやRSSフィードを取得する為のAPI

Citrix NetScaler(ネットスケーラー)
~ Google,Yahoo!,amazon,mixiが選んだロードバランサー
高性能なロードバランサー機能、Webサーバの性能を引き出すアクセラレーション機能、SSL-VPNやDDoS防御、
SQLインジェクション対策など高度なセキュリティ機能を持った次世代ロードバランサー

Apache Maven(メイブン)
~ プロジェクトのビルド、テスト、ドキュメンテーション、成果物の配備など、プロジェクトのライフサイクル全体を管理する
ソフトウェアプロジェクト管理ツール。サーバ環境のデプロイに使用される。

Xen(ゼン)
~ 一つのハードウェアで複数のオペレーティングシステム (OS) を並列実行・制御するソフトウェア。

アッズーリ Clay(クレイ)
~ データベース開発支援をおこなうeclipse用プラグイン。
Eclipse上でグラフィカルに各種データベースの設計が行え、その設計情報を元にテーブルを作成するSQLスクリプトを生成できる。

Openssl
~ SSLを実現できる。

Hudson(ハドソン)
~ MavenやAntなどで記述されたビルドプロセスを定期的に実行し、結果をモニタリングするもの。

Duplicity(デュプリシティ)
~ 暗号化された tarフォーマットのボリュームを作成し、それらをリモート又はローカルのファイルサーバにアップロードすることにより、ディレクトリをバックアップする。

OpenSymphony OSCache
~ J2EEのキャッシングフレームワーク。動的コンテンツの生成結果をメモリにキャッシュ(一定期間保存)し、
その間に受けたリクエストに対してはキャッシュの値を返すことにより、生成の処理数を減らす。

Jetty
~ Javaで書かれたHTTP/アプリケーションサーバおよびサーブレットコンテナ技術。
シンプルさ、拡張性、柔軟性などを特徴とし、リッチメディアや組み込みアプリケーション向けに使われている。

Ruby
~ オブジェクト指向スクリプト言語であり、従来Perlなどのスクリプト言語が用いられてきた領域でのオブジェクト指向プログラミングを実現する。

Rails
~ Rubyで書かれているオープンソースのWebアプリケーションフレームワーク。

Urchin(アーチン)
~ Webサーバのアクセスログを利用してホームページへの訪問者を多角的に解析する高機能アクセス解析ツール。

SAStruts
~ Strutsフレームワークに、Seasar2流の楽に作れるエッセンスを統合したjavaフレームワーク。

Restlet
~ REST通信を行うアプリケーションを構築するJavaフレームワーク。

RESTEasy
~ REST通信を行うアプリケーションを構築するJavaフレームワーク。JBoss系。

Jersey
~ REST通信を行うアプリケーションを構築するJavaフレームワーク。GlassFish(SUN)系。

CDN(コンテンツデリバリネットワーク)
~ ネットワーク上にキャッシュやミラーと呼ばれる機器を複数配置してネットワークやサーバにかかる負荷を分散化し、高速なコンテンツ配信を可能とする技術。
ライムライトなどが有名。

Git(ギット)
~ ソースコードの分散型バージョン管理システム。動作速度に重点が置かれており、分散されたレポジトリがローカルマシンに置かれている為、ネットにつながっていなくてもソースをコミットできる。

2010年7月25日日曜日

MSN メッセンジャー の隠し絵文字

■ MSN隠し絵文字の一覧

隠し絵文字
レインボー(r) または (R)
太陽(#)
ASL(?)
手錠(%)
その他の絵文字
(a) または (A)
ビール(b) または (B)
コーヒー(c) または (C)
ドリンク(d) または (D)
手紙(e) または (E)
(f) または (F)
ギフト(g) または (G)
サングラス(h) または (H)
電球(i) または (I)
(k) または (K)
ハート(l) または (L)
二人(m) または (M)
下に親指(n) または (N)
時計(o) または (O)
カメラ(p) または (P)
(S)
電話(t) または (T)
ハートブレイク(u) または (U)
萎れた花(w) または (W)
人1(x) または (X)
上に親指(y) または (Y)
人2(z) または (Z)
(&)
テープ(~)
ネコ(@)
ケーキ(~)
右にならえ({)
左にならえ(})
(*)
みゆ(6)
音符(8)
赤面:$
ムー:( または :<
ニコ:)
ありり:|
コラー:@
コウモリ:{
ニヒ:>
ホー:o
ペロっ:p
ムニャムニャ:s


こんな感じで入力すると、
隠し絵文字が表示される。

({) http://www.ise-web.com (})



2010年7月17日土曜日

Apache プロジェクトの一覧

HTTP Server ~ 言わずと知れたWebサーバー
Abdera ~ JavaでAtom(サイトの更新情報等などを受け持つXML文書の仕様)を取り扱うAPI。
ActiveMQ ~ メッセージキューイング(処理命令をキューに送信して、順に処理させる。)
Ant ~ ビルドツール。JavaのビルドやJavadocの生成。SCPやJUnitなども実行できる。
APR ~ Apache HTTP Server のサポートライブラリ。OSとソフトウェアの間で環境の違いを吸収する。
Archiva ~ ビルド成果物のリポジトリマネージャ。
Avro ~ データ交換のフレームワークで、サーバ間でのデータのやりとりなどに利用される。
Buildr ~ RubyベースのJavaアプリ用ビルドシステム
Camel
Cassandra ~ key-valueストア型のNoSQLデータベース。
Cayenne ~ O/Rマッピングフレームワーク。
Click
Cocoon
Commons
Continuum
CouchDB
CXF
DB
Directory
Excalibur
Felix
Forrest
Geronimo
Gump
Hadoop ~ 大量のデータを手軽に複数のマシンに分散して処理できる
Harmony
HBase
HttpComponents
Jackrabbit
Jakarta
James ~ メールサーバー。メールの受信をトリガーにしてJavaを実行できる。
Lenya
Logging ~ log4jなどの、ログ出力管理に利用される。
Lucene ~ Javaで記述された全文検索ソフトウェア。大量のデータから、指定したキーワードを探し出す。
Mahout
Maven ~ Ant(build.xml)に代わるビルドツール。コマンドラインに記述するだけで一度に実現できる。
Mina
MyFaces
Nutch
ODE
OFBiz
OpenEJB
OpenJPA
OpenWebBeans
PDFBox
Perl
Pivot
POI ~ WordやExcelといったMicrosoft Office形式のファイルを読み書きできる。
Portals
Qpid
Roller
Santuario
ServiceMix
Shindig
Sling
SpamAssassin
STDCXX
Struts ~ Webアプリケーションを開発する際に利用されるフレームワーク
Subversion ~ バージョン管理
Synapse
Tapestry
Tika
TCL
Tiles ~ HTMLのヘッター部、ボディー部などのレイアウトを再利用したり一元管理できる。
Tomcat ~ 言わずと知れたJavaのWebアプリケーションサーバー
TrafficServer
Turbine
Tuscany
UIMA
Velocity ~ Javaのテンプレートエンジン。XMLやメール文などのに利用される。
Wicket
Web Services
Xalan
Xerces
XML
XMLBeans
XML Graphics

2010年7月9日金曜日

2010年6月29日 Tomcat7 ベータ版 リリース

先日、Servlet3.0に対応した、Tomcat7のベータ版がリリースされました。
Servlet-APIの仕様は、フレームワークなどの今後の動向に大きく影響するため、
Servlet 3.0 の新機能について纏めてみました。


■ Servlet 3.0 の新機能

・XML設定のアノテーション化
~ Java SE 5 から利用可能になったアノテーションを利用して、
今まで web.xml に記載していた Servlet や Filter 等の設定を
アノテーションで記載できるようになった。

・web.xmlの分散化
~ 外部のフレームワークやライブラリの設定を web.xml 以外の
ファイル (web-fragment.xml) に記載できるようになったため、
web.xml の肥大化を抑制でき、またフレームワークの設定管理
が容易になっています。

・マルチパート対応
~ Servlet API だけでファイルをアップロードすることができる。

・非同期処理の実現
~ この非同期処理機能は、Comet/Reverse Ajax 等のアプリケーション
を実装できる他、DB アクセス等とても処理に時間がかかるような処理を
非同期で処理する事ができるようになります。

例えば、HttpServlet のスレッドとは別のスレッドで非同期に実現する事で
DB が高負荷時に HttpServlet の最大スレッド数に到達し
Web のアクセスが不可になる状態を防ぐ事もできます。
その他では、HttpServletRequest に login/logout/authenticate のメソッドが含まれ、
プログラムを利用しログイン/ログアウト処理を実装できるようになった他、
@ServletSecurity を使用して web.xml に記載していた < security-constraint > の設定を
プログラム中で宣言できるようになっています。