2012年12月20日木曜日

Juniper Networks Warrior: A Guide to the Rise of Juniper Networks Implementations

12/3にアマゾンで注文してた本だけど、やっと届いた。 あまり目を通してないけど、QFXとかMXとかの話はあんまり使う場所が想像つかないや。 読んでる分にはおもしろいけど。 junosの本はあんまりないからそれだけでも価値があるんだけど。

2012年11月16日金曜日

Windows8にPDFありのsphinx環境

Windows8(64bit)でsphinx環境をごそごそと。
WindowsバイナリのPython2.7 64bitとTexLiveとの組み合わせとでやってみてたんだけど、俺の環境ではすんなりといかなかった。 なので、Cygwin版のpython2.6とCygwin版のTeXliveを使ってみた。
patch付きのsphinxもSphinx-Users.jpのLaTeX経由でのPDF作成でインストールはばっちり。
結果はOK!最初っからこれでいけばよかった。 ただし最初は
make latexpdfja
ってやったら
vfork: resource temporarily unavailable
こんなエラーになったのであせった。 Google先生に問い合わせたら、 焦らずに 管理者でashを起動して
 /bin/rebaseall
を実行しなさいとな。本当にあら不思議。日本語付きのpdfも作成できました!
$ make latexpdfja
sphinx-build -b latex -d _build/doctrees   . _build/latex
Running Sphinx v1.1.3
loading translations [ja]... done
loading pickled environment... done
building [latex]: all documents
updating environment: 0 added, 0 changed, 0 removed
looking for now-outdated files... none found
processing test.tex... index
resolving references...
writing... done
copying TeX support files... done
build succeeded.
  :
Output written on test.dvi (7 pages, 3788 bytes).
Transcript written on test.log.
for f in *.dvi; do dvipdfmx $f; done
test.dvi -> test.pdf
[1][2][3
** WARNING ** Object @page.i already defined.
][4
** WARNING ** Object @page.ii already defined.
][5][6][7]
12214 bytes written
make[1]: ディレクトリ `/home/yunoki/doc/_build/latex' から出ます
pdflatex finished; the PDF files are in _build/latex.

yunoki@white ~/doc
これはありがたい。 使ってみよう。

2012年11月15日木曜日

下書き保存機能

bloggerの下書き機能って便利。

だけど、下書きばっかりたまっちゃってどうしよう状態になっちゃった(笑)
旬を逃したものもあるしなあ・・・


2012年11月14日水曜日

Apache Tika1.2を軽く試す

Apache Tikaが1.2になって使いやすくなったという話を目にしたので試してみた。
ダウンロードはオフィシャルサイトからjarを持ってきた。

コマンドラインで使ってみる。
コマンドラインオプションはこっちhttp://tika.apache.org/1.2/gettingstarted.htmlにある。
$ java -jar tika-app-1.2.jar
Googleでファイルタイプを指定していろんなファイルを収集。
いっぱい試す。

・WORDドキュメント
http://psgsv.gsi.go.jp/koukyou/public/seihinsiyou/data/kani_siyou.doc
○○市都市計画基図作成

業務委託製品仕様書
2012年2月10日

○○市都市整備部都市計画課

TEL:000-000-0000

FAX:000-000-0000

�
目次

31. 概覧 �
31.1. 地理空間データ製品仕様書の作成情報 �
31.2. 目的 �
31.3. 空間範囲 �
31.4. 時間範囲 �
31.5. 引用規格 �
31.6. 用語と定義 �

少し化けてるものがあるけどなんだろう。

パワポ
http://www2.econ.osaka-u.ac.jp/~dony/mm7.ppt
[yunoki@localhost tika]$ java -jar tika-app-1.2.jar -T mm7.ppt
製品ライフサイクルとマーケティング戦略製品ライフサイクルの存在の意味
売上  低調 コスト  顧客1人につき高コスト 利益  マイナス 顧客  イノベーター 競合他社  ほとんどなし
導入期のマーケティング戦略
目的  製品認知と製品使用の促進 製品  基本製品の提供 価格  コストプラス方式 流通  選択的流通の構築 広告  初期採用者と小売業への製品認知の促進 販売促進  大規模な製品使用の促進
導入期におけるマーケティングミックス
売上  急速に上昇 コスト  顧客1人につき平均的コスト 利益  上昇 顧客  初期採用者 競合他社  増加
成長期のマーケティング戦略
目的  市場シェアの最大化 製品  製品拡張、サービスと保証の提供 価格  市場浸透価格 流通  開放的流通の構築 広告  マス市場における認知と関心の喚起 販売促進  縮小して大量の消費者需要を利用
成長を維持するには
成熟期
成熟期の特性
売上  ピーク コスト  顧客1人につき低コスト 利益  高利益 顧客  追随者 競合他社  安定から減少
成熟期のマーケティング戦略
成熟期の3つ期間
市場の修正
製品の修正
マーケティング・ミックスの修正
価格 値下げ、特別割引、数量割引、早期購買割引など 流通 販売店での製品サポートとディスプレイの拡大、販売店の拡大など 広告 広告費、広告のメッセージ、コピー、メディア、タイミングなど 販売促進 クーポン、リベート、保証、ギフト、コンテストなど
衰退期
衰退期の特性
売上  減少 コスト  顧客1人につき低コスト 利益  減少 顧客  遅滞者 競合他社  減少
衰退期のマーケティング戦略
目的  支出の減少とブランドの収穫 製品  弱いモデルの段階的除去 価格  値下げ 流通  選択的流通への回帰 広告  中核となるロイヤル・ユーザーをターゲットに 販売促進  最小レベルまで縮小
製品ライフサイクルへの批判
http://web.canon.jp/about/library/pdf/canon_factbook.pdf そしてPDFのうまく行かないパターンを発見。
うーむ。
元のPDFがhoge-RKSJ-hogeってことで、やっぱりSHIFT JISが苦手なのかしら。
PDFBoxを要調査かな。

2012年10月6日土曜日

otrs3.1をCentOS6で導入テスト(インストール)

otrsが3.1になってる事に気が付いたので久々にotrsを触ってみる。
まあドキュメント読んだらだれでもできるくらいのわかりやすさなんだけど。
# yum -y install perl-DBD-MySQL mysql-server perl perl-libwww-perl perl-Net-DNS perl-IO-Socket-SSL perl-XML-Parser perl-TimeDate gd gd-devel vixie-cron procmail httpd-devel
確か、予期に計らってくれるとおもったけど一応/etc/my.cnfはutf8にしたりinnodbにしておいてみたり。
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
default-character-set=utf8
default-storage-engine=INNODB

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

[mysql]
default-character-set=utf8
mysqlの起動
# /etc/init.d/mysqld start
MySQL データベースを初期化中:  WARNING: The host 'otrs' could not be looked up with resolveip.
This probably means that your libc libraries are not 100 % compatible
with this binary MySQL version. The MySQL daemon, mysqld, should work
normally with the exception that host name resolving will not work.
This means that you should use IP addresses instead of hostnames
when specifying MySQL privileges !
Installing MySQL system tables...

(中略)

Please report any problems with the /usr/bin/mysqlbug script!

                                                           [  OK  ]
mysqld を起動中:                                           [  OK  ]
#
ここまでが準備。
ダウンロードしておいたotrsをインストール。
# yum install ./otrs-3.1.10-01.noarch.rpm 
(略)
Dependencies Resolved

====================================================================================
 Package              Arch      Version             Repository                 Size
====================================================================================
Installing:
 otrs                 noarch    3.1.10-01           /otrs-3.1.10-01.noarch     80 M
Installing for dependencies:
 mod_perl             x86_64    2.0.4-10.el6        base                      3.2 M
 perl-BSD-Resource    x86_64    1.29.03-3.el6       base                       35 k

Transaction Summary
====================================================================================
Install       3 Package(s)

Total size: 83 M
Total download size: 3.2 M
Installed size: 86 M
Is this ok [y/N]: y
Downloading Packages:
(1/2): mod_perl-2.0.4-10.el6.x86_64.rpm                      | 3.2 MB     00:10     
(2/2): perl-BSD-Resource-1.29.03-3.el6.x86_64.rpm            |  35 kB     00:00     
------------------------------------------------------------------------------------
Total                                               290 kB/s | 3.2 MB     00:11     
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing : perl-BSD-Resource-1.29.03-3.el6.x86_64                           1/3 
  Installing : mod_perl-2.0.4-10.el6.x86_64                                     2/3 
  Installing : otrs-3.1.10-01.noarch                                            3/3 
Check OTRS user ... otrs added.
hostname: 不明なホスト

Next steps: 

[httpd services]
 Restart httpd 'service httpd restart'

[install the OTRS database]
 Make sure your database server is running.
 Use a web browser and open this link:
 http:///otrs/installer.pl

[OTRS services]
 Start OTRS 'service otrs start' (service otrs {start|stop|status|restart).

((enjoy))

 Your OTRS Team

  Verifying  : perl-BSD-Resource-1.29.03-3.el6.x86_64                           1/3 
  Verifying  : mod_perl-2.0.4-10.el6.x86_64                                     2/3 
  Verifying  : otrs-3.1.10-01.noarch                                            3/3 

Installed:
  otrs.noarch 0:3.1.10-01                                                           

Dependency Installed:
  mod_perl.x86_64 0:2.0.4-10.el6      perl-BSD-Resource.x86_64 0:1.29.03-3.el6     

Complete!
# 
ブラウザ経由でインストーラを実行。。。なのだけどドキュメント通りにちゃんとselinuxを無効にしておかないと謎のエラーで500になっちゃう。
っていうか、なっちゃった。

2012年9月4日火曜日

mod_securityでWebのメソッド制限

アプリケーションサーバと連携をしているApacheだとメソッドの制限がWebとAPでそれぞれ別になるっていう事がある。
それぞれで設定するのは面倒だし、アプリケーションサーバが変わるたびに調査をしないといけないので、Apacheのみでやる事を検討してみた。
どうやら、mod_securityはそういった事もできるみたい。
CentOSだとepelに入っているので、yumでインストール。
WAFは仕事で使う場合、特に稼働中のサービスだったりすると影響が怖いのでせっかくのデフォルトのルールもいったん消す。

# cd /etc/httpd/modsecurity.d
# mv base_rules base_rules.bak
# mkdir base_rules

ルールを新しく作成。
# Accept only commonly used request methods
SecRule REQUEST_METHOD "!@rx ^(?:GET|HEAD|POST)$" \ "phase:1,t:none,deny,msg:'Only standard request methods allowed',logdata:%{REQUEST_METHOD}"
これでいつでもOPTIONSでもDELETEもしらないメソッドもマッチすると落としてくれるみたい。
$ telnet localhost 80
Trying ::1...
Connected to localhost.
Escape character is '^]'.
OPTIONS / HTTP/1.1
HOST: localhost

HTTP/1.1 403 Forbidden
Date: Mon, 03 Sep 2012 18:46:14 GMT
Server: Apache
Last-Modified: Mon, 03 Sep 2012 17:10:29 GMT
ETag: "40a61-1200-4c8cf37fd9f7e"
Accept-Ranges: bytes
Content-Length: 4608
Connection: close
Content-Type: text/html; charset=UTF-8

OPTIONSもへんな結果でない。
$ telnet localhost 80
Trying ::1...
Connected to localhost.
Escape character is '^]'.
aaaaaaaaaaaaa /example/ HTTP/1.1
HOST: localhost.localdomain

HTTP/1.1 403 Forbidden
Date: Mon, 03 Sep 2012 19:13:13 GMT
Server: Apache
Last-Modified: Mon, 03 Sep 2012 17:10:29 GMT
ETag: "40a61-1200-4c8cf37fd9f7e"
Accept-Ranges: bytes
Content-Length: 4608
Connection: close
Content-Type: text/html; charset=UTF-8

よし。
$ telnet localhost 80
Trying ::1...
Connected to localhost.
Escape character is '^]'.
DELETE /example/ HTTP/1.1
HOST: localhost

HTTP/1.1 403 Forbidden
Date: Mon, 03 Sep 2012 19:14:34 GMT
Server: Apache
Last-Modified: Mon, 03 Sep 2012 17:10:29 GMT
ETag: "40a61-1200-4c8cf37fd9f7e"
Accept-Ranges: bytes
Content-Length: 4608
Connection: close
Content-Type: text/html; charset=UTF-8

満足ぢゃ!

2012年8月25日土曜日

何年かぶりにMFCの復習をしてみる(Windowつくって中になんか書く)

Visual Studio2012が公開されて、Professional版も3ヶ月は無料で使える(評価目的だけど)そうなのでインストールしてみた。
せっかくのProfessional版だと、MFCが使えるのでひさびさにいじりはじめてみた。
所有しているのは古い書籍ばっかりだし、近年のMFCなんてさっぱり触ってないのでとっかかりもよくわからないや。
昔のざっくりした印象だと、ちょっと遊ぶにはOnDraw()に書いたらだいたいおっけーって印象なので、本を片手にやってみる。
void CEx03aView::OnDraw(CDC* pDC)
{
    pDC -> TextOutW(0, 0, CString("Hello World"));
}


こんなサンプルでも動くと楽しい。 昔のサンプルはcharだったけど、TextOut()がTextOutW()でCStringじゃないとエラーになるのは厳格になったってことかな。まあ、ざっくりでもなんとかなるのが、インテリセンスのありがたさ。
void CEx03aView::OnDraw(CDC* pDC)
{
    pDC -> TextOut(0, 0, "Hello World");
}
ひきつづき、
void CEx03aView::OnDraw(CDC* pDC)
{
 pDC -> TextOutW(0, 0, CString("Hello World"));
 pDC -> SelectStockObject(GRAY_BRUSH);
 pDC -> Ellipse(CRect(0, 20, 100, 120));
}

おお!いい感じ。こんな簡単な話なら大歓迎。 って、思ったけど座標系の話はやっぱ面倒だなあ。
すげー面倒って思い出してきた。

2012年7月25日水曜日

KINECT for Windows購入

衝動買いだけれど、7月25日にKINECT for Windowsをヨドバシカメラで買ってきた。
パッケージを開けてみたけど、ほんとにセンサー以外は付いてこないのね。。。

開封の儀

箱を開ける。
設置するとこんな感じ。(液晶ディスプレイの上はバランスが悪いからよくいないね)


えっと。。。どこでドライバをもらってくるんだっけ。。。って検索してみたらKINECTサイトがあるのね(あたりまえか)。

日本語のランゲージパックがあったりと思った以上の充実ぶり。

2012年7月21日土曜日

Visual Studio Professional 2012RCのダウンロード

Windows7に64bit Pythonをいれたばっかりにモジュールのインストールに難儀中。
コンパイラが標準でないからいろいろ選択肢があるみたいだけど、実はそうでもなかったりの不便さを実感。
今のところ買うほどでもないしなあ。ってことなので、Visual Studio Professional2012RC
を入れてみることに。
インストーラを起動したら、ライセンスに同意して。。。


オプションを選択して。。。



 インターネットからダウンロード。

 
あとは待つだけ。 さてさて。。。