第一回 中国地方DB勉強会の資料

第一回 中国地方DB勉強会の講師として参加させて頂きました。

MySQLも使っていますが奥野さんの発表は普段気にしていなかったことも多く、とても参考になりました。

私の資料もSlideShareにアップロードしました。

データベースセキュリティ

http://www.slideshare.net/yohgaki/ss-25042247

 PostgreSQL 9.3

http://www.slideshare.net/yohgaki/postgre-sql-93

 

MacBookのOSX、BootcampのWindowsアップグレード

最近の使い方だとMacBookはプレゼン、メモ、メール、それから時々コンパイルの確認とデバッグくらいに使っていす。

  • Macbook: Mountain Lionは入れられない型番
  • OS: Snow Loepard (OSX 10.6) + Windows Vista Ultimate(32bit) bootcamp
  • 仮想化: Parallels 4.0
  • UNIXツール: MacPorts

使えるところまでこのままの環境で使おう、と思っていたのですがHDD(512GB)がなんだか怪しそうだったので新しいHDD(1TB)に入れ替えました。起動できるHDDもあるのでWin/OSXの両方のOSをアップグレードしました。

“MacBookのOSX、BootcampのWindowsアップグレード” の続きを読む

PROVE for PHP Version 1.1.0

PROVE for PHP Version 1.1.0を公開しました。特に重要な変更はログデータ構造の変更と各種オーバーライド機能の調整です。

今までext3/ext4ファイルシステムの場合、ディスク容量を使い切る前にパフォーマンスが低下してしまい大きなデータを保存できませんでした。データ構造を見直す事により大きなデータでも安定して動作するようになっています。

“PROVE for PHP Version 1.1.0” の続きを読む

PROVE for PHP 1.0.3を公開

私の会社で開発・販売しているPROVE for PHPを更新し、PDOオブジェクトに対応したPROVE for PHP 1.0.3の配布を開始しました。PDOオブジェクトに対応したので幅広いアプリケーションで利用できます。PROVEは非商用の個人利用の場合、無償で利用できます。問題などございましたらツイッターやメールなどでフィードバックを頂けると助かります。

http://www.provephp.com/ja/download

PROVE for PHPとはPHPの動作を詳細に記録・比較し、PHPとPHPアプリのバージョンアップが安全に行えるか簡単にチェックできるツールです。開発中のリグレッションテストツールとして利用できます。

近日中にこのブログでもいろいろな使い方を紹介したいと思っています。

追記: RHEL5系(CentOS5など)で利用できるPHP53パッケージ用RPMのダウンロードも開始しました。

RealIP Module for PHP

リバースプロキシの背後にあるPHP用に$_SERVER[‘REMOTE_ADDR’]をX-Real-IPやX-Forwarded-Forヘッダに設定されたIPアドレスに書き換えるRealIPを書きました。

https://github.com/yohgaki/realip

少しGoogleで検索しても見つからなかったので作ったのですが、既にありそうな気がします。

PHPスクリプトで書き換えても良いのですが、アプリをバージョンアップした時に忘れる可能性があります。プロキシ・Webサーバで何とかする方法もありますが、プロキシ・Webサーバの仕様に合わせた設定が必要だったり、と不便な所もありモジュールの方が便利なので書きました。同じ事をするには他の方法がありますが、必要な方はどうぞ。

多分、PHP5.2でもコンパイルできると思います。コンパイル出来なかったら教えてください。

PROVE for PHP 0.4.0-dev リリース

PROVE for PHP 0.4.0をリリースしました。

  • IOをプラグイン化(将来PostgreSQLなどに対応)
  • prove_seek_function_call()を追加
  • ハードリンクによるコピーに対応(高速化)
  • prove_rename_function()の無効化(PHP 5.3のZend Engineの仕様変更により関数名変更はメモリエラーが発生するため)
  • ログフォーマットを更新。バージョン情報を追加。

もともとIO部分はプラグイン化するつもりだったのですが、ファイルに最適化し過ぎていた部分があったため大幅にリファクタリングしました。機能追加よりも今後の機能拡張を容易にするための変更がメインです。内部構造をかなり変更したのでバグが残っているかも知れません。もし見つけたら教えて頂けると助かります。

もうバージョンアップで困らない – PROVE for PHP

昨年のPHPカンファレンスで紹介したPORVE for PHP 開発版の公開を始めました。PROVE for PHPはこんなテストが出来ます。

  • PHPをアップデートしてアプリに影響が無い事を検証する
  • PHPアプリをアップデートしても以前と同じように動作する事を検証する

使い方もとても簡単です。

  • テストケースの作成はブラウザからアプリを利用するだけ
  • ロードバランサを用いて実運用サーバからのテストケースも作成可能
  • テストの実行はプログラムを実行するだけ
  • 違いが在った場所はプログラムの何処か確実&簡単に判明

http://www.provephp.com/

“もうバージョンアップで困らない – PROVE for PHP” の続きを読む

PAGERの設定でgitのANSIエスケープシークエンスが…

私の環境では、PAGER=’lv’ としていたのでMac OSXのターミナルでgit diff とかするとANSIエスケープシーケンスが正しく処理されない。GIT_PARGER環境変数を以下のように修正した。

export GIT_PAGER=’/opt/local/bin/lv -c’

これはMacportsのlv(マルチバイト文字も正しく表示できるテキストビューアー)ですが、普通のlessを使っている人は

export GIT_PAGER=’/usr/bin/less -R’

でカラー表示になると思います。

 

 

OSX 10.6でPHPソースのbuildconfが実行できない

Mac OSX 10.6のPHPはPHP5.3なのでPHP5.2をビルドしてインストールしたい、と思っている方も多いと思います。Macportsが入っていれば、

sudo port install php52 php52-web

のような感じでPHP5.2をインストールできます。Portsじゃなくてソースから、そしてPECLなど他のモジュールもロードするのではなくスタティックに組み込みたい!という場合もあるでしょう。いちいちモジュールディレクトリを作ってphp.iniでロールするのは面倒ですから当然です。
“OSX 10.6でPHPソースのbuildconfが実行できない” の続きを読む

Mac OSX 10.6のAquaemacsでバックスラッシュ(\)がUnicodeの円記号(¥)になる

Mac上でEmacsを使うと言っても、コードを見るくらいでAquaemacsを使っています。Aquaemacs 2.0以上からはタブも使えてかなり便利です。今は2.1を使っています。PHP、RubyはEclipseやNetBeansを使っています。

Aquaemacsでコーディングはしていなかったので今まで困らなかったのですが、PHP本体のコーディングとビルドをMac上で出来るようにしました。Cのコードは普通はEmacsで書いているので、AquaemacsでCのコードをコーディングしようと思ったら「バックスラッシュ(\)が円記号(¥)になる」現象で困ってしまいました。
“Mac OSX 10.6のAquaemacsでバックスラッシュ(\)がUnicodeの円記号(¥)になる” の続きを読む

Mac PortでApache/PostgreSQL/MySQL/PHPを使えるように設定する

OSX標準のApache/PHPでPostgreSQLやMySQLを使えるようにしても良いのですが、いろいろカスタマイズしたい場合はMacPortsの方が便利だったりします。インストール手順が古かったりするブログもあったので(手順が抜けているかも知れませんが)最初から書きます。
“Mac PortでApache/PostgreSQL/MySQL/PHPを使えるように設定する” の続きを読む

OSX+Android(Xperia)+オープンソースでテザリング

Xperiaを購入したのでOSXを無料でテザリングする方法探してやってみました。流石にテザリングソフトを購入した方が簡単ですが、一旦環境を作ってしまえば使うのはそれほど手間ではありません。

Wikiに手順をまとめておいたので興味がある方はどうぞ。

必要な物は、Android SDK, Azilink(Android側のVPNアプリ), OpenBlick(Mac OSX用のVPN GUI – openvpnだけでも何とかなるがこれが無いとネットワーク設定が面倒)です。詳しくはWikiを見てください。

制限事項

  • ping はできない(UDP pingでエミュレーションしているため)
  • USB接続(Wifi, Bluethooth接続は無理)
  • 自己責任。パケホーダイなら最大約1万3千円のようですが、スマートフォンの最大金額(約6000円)を超えるかもしれません。自己責任で使用してください

速度は計測していませんが、それほど遅くないような気がします。

同じような手順でLinuxでもテザリングできます。OpenVPNやルーティングテーブルを手動で調整するだけです。

しばらくXperiaを使ってみた感想は、普通にスマートフォンとして使うには良いのではないか、と思いました。時々アプリが落ちたりするのは愛嬌でしょう。iPhoneよりも無料アプリが充実しているので、Androidならとりあえず無料アプリでほとんど何とかなると思います。

弄りたおそうと思ってXperiaを購入した訳ではないので私は特に困りはしませんが、弄り倒したい人にはrootが取れないのは痛いです。テザリングもrootが取れるならWifiのアクセスポイントとしてAndroid携帯を設定する方法が一番便利だと思います。

XperiaがマルチタッチにH/W的に対応していないのは訴訟リスクの回避だとは思いますが、「これをマルチタッチにして実装すれば..」と思える操作がいくつかあります。H/Wだけは対応しておけば良かったのにと思います。

電池の持ちですが、直ぐに自動的にアイドルタスクを終了させるアプリを入れたせいか困る程は消耗しないです。あまり使いすぎると1日は持ちませんが、USBで一応充電できるのでPCと一緒に使っている人なら特に問題とはならないと思います。

追記:
USENのスピードテストでは岡山大学の構内で1.6Mbpsから3.1 Mbps程でした。

「実践iPhoneアプリケーション開発講座」を6月に岡山・高松で開催

iPhone/iPad/iPodアプリ開発のブートキャンプと言える「実践iPhoneアプリケーション開発講座」を6月に岡山&高松でオープンウィンドさんと私の会社で開催します。今回はちょっと高い有料セミナーです。

有料なだけあって至れり尽くせりで、セミナーテキスト500ページ、複数のハンズオンセッションで実際にiPhoneの開発を体験できるセミナーになっています。開発環境からObjective-Cの解説、開発フレームワークの解説からデバッグ手法、実際のアプリ構築を行う4日間の集中講座です。iPhoneアプリ開発にはMacが必須ですが、Macが初めての方でも無理なく受講できる講座になっています。

今売れすぎて手に入らないiPadやiPod touchのアプリはiPhoneアプリと同じ開発手法で開発できます。

個人的には、iPadを使ったスマートな営業支援システム(タッチパネルとワイヤレスキーボード)などは非常に面白いのではと思っています。PCを買うより安く、機能が限定されている分安全で、しかも使い易い、GPSも装備されているので管理者も実績などを管理し易く(される方は大変?)、ある意味最強(?)のSFA端末になるのではないかと思っています。

セミナー会場は岡山駅と高松駅の直ぐ近くです。

岡山会場: ままかりフォーラム   6/1(火) – 6/4(金)

高松会場: サンポート高松  6/15(火)- 6/18(金)

http://www.es-i.jp/seminar/

募集を開始したばかりです。5/1までに申し込みされた方は早期申し込み割引5000円です。募集定員は16名です。受講をご希望の方はお早めに登録してください。

 

オープンセミナー2010@岡山 5/15開催

毎年恒例のオープンセミナーのお知らせです。Rubyの松本さん、PGClusterの三谷さんをはじめ聴きごたえのある講師が揃いました。お昼はお弁当を持ってくるか注文する方が良いです。懇親会は70名になっていますが、既に予約が多すぎたので50から70名に増やしたばかりです。申し込みはお早めにどうぞ。

申し込み用のページ
http://kokucheese.com/event/index/1834/

セミナー告知ページ
http://openseminar.okaya.ma/

“オープンセミナー2010@岡山 5/15開催” の続きを読む

広島オープンセミナー 11/28(土曜)

広島で中四国で行われている地域コミュニティが合同で行っているオープンセミナーが11/28(土曜)開催されます。

http://www.postgresql.jp/events/5e835cf630aa30fc30f330bb30df30ca30fc-1/view

ご都合が良い方は是非参加ください。

 

 

来る11月28日(土)に(株)SRA西日本会議室(Pルーム)にて
JPUG中国支部主催のオープンセミナーを開催します。
今回はオープンラボ岡山の協力を得、RubyやAndroidの話題も盛り込んでいます。
また、東京から桑村潤氏、石井達夫氏にお越しいただきますので、
興味のある方は是非ご参加ください。

セミナー、懇親会に参加を希望される方は、人数把握のため、三谷(mitani@sraw.co.jp)までメールでお申し込みください。

1.日時:2009年11月28日(土)13時から17時
(開場受付 12:30〜、懇親会 18:00-20:00)
2.場所:(株)SRA西日本 会議室(Pルーム)
広島市南区稲荷町 2-16 広島稲荷町第一生命ビル 10F
http://www.sraw.co.jp/map_hiroshima.html
3.定員:30名
4.会費:無料(懇親会は別途費用)
5.プログラム
13:00-13:25 三谷さん:PostgreSQLのClustering最新動向
13:30-13:55 吉田さん:RubyとPostgreSQLの全文検索 
14:00-14:25 英吉さん:Android Marketの理想と現実
14:30-14:55 大垣さん:SQLインジェクション
15:00-15:50 桑村さん:PL/Proxy,PgBouncerの紹介
16:00-16:50 石井さん:pgpool-II最新情報

 

 

OSC Tokyo – 今更聞けないSQLインジェクションの現実と対策

明日のOSC東京Fallでは「SQLインジェクション”ゼロ”のPostgreSQL利用法 – 今更聞けないSQLインジェク ションの現実と対策」と題したセッションを日本PostgreSQLユーザ会の講師として話をさせて頂きます。

SQLインジェクションはとうの昔に枯れた話題と思われていますが、古くても今の問題です。何年か前、日本PostgreSQLユーザ会のセミナーで手作業でのブラインドSQLインジェクションのデモをした事がありますが今回はツールを使ったデモもあります。書いている間に当初作ろうと思っていたプレゼンとは異なる物なってしまいました。多少紹介から期待する内容とは異なっているかも知れません。既にSQLインジェクションについては十分知っている方でも、それなりに(?)楽しめる内容になっていると思います。おかげ様で満員だそうですが、飛び込みでも少しは入れるのかな?

45分なのに60枚もスライドがある上、デモもあります。かなりハイペースで話すことになります。ネットで直ぐに見つかるような基本的な事はあまり書かなかったのですが、無いようで書くとSQLインジェクションについて色々在る物です。多少スライドは飛ばす事になります。

ほぼ同じ内容でOSC高知でも話をさせて頂く予定です。
来たくても来れなかった方は是非高知でお会いしましょう。

Git+SSH+マルチユーザ

本格的にSubversionからGitへの移行を行った際に作ったGit+SSHサーバの手順をWikiに書きました。この手順を実行すると

  • SSHの公開鍵を持っているユーザにのみリポジトリへのアクセスを許可
  • 複数あるリポジトリへのアクセス許可を個別に設定
  • グループを設定して「読み込み」「書き込み」の権限を管理

ができるようになります。

詳しくはWikiのgit sshサーバの構築をご覧下さい。

Subversionの頃はWebDAV+SSL+Basic認証だったので以前と比べればかなり認証の安全性は増したと言えます。