Ads by Google
新しい記事を書く事で広告が消せます。
ActionScriptでのFileStreamのデータ読み込み位置の移動の仕方
ActionScript(AIR)ではFileStreamでファイルのバイトデータの読み込み位置を変更することができる。
FileStreamのpositionプロパティをずらせばいいだけ。
var fileStream:FileStream = new FileStream();
var byteArray:ByteArray = new ByteArray();
// 100バイトから読み込む
fileStream.position = 100;
// byteArrayにfileStreamの100目から500バイト目までを読み込んでいれる。
fileStream.readBytes(byteArray, 0, 500);
最初ドキュメントの日本語の意味がわからなくてはまった。
第二引数が読み込み開始位置だと思ったら第二引数はbyteArrayの書き込み開始位置だった。
FileStreamのpositionプロパティをずらせばいいだけ。
var fileStream:FileStream = new FileStream();
var byteArray:ByteArray = new ByteArray();
// 100バイトから読み込む
fileStream.position = 100;
// byteArrayにfileStreamの100目から500バイト目までを読み込んでいれる。
fileStream.readBytes(byteArray, 0, 500);
最初ドキュメントの日本語の意味がわからなくてはまった。
第二引数が読み込み開始位置だと思ったら第二引数はbyteArrayの書き込み開始位置だった。
CentOSにRedmineをインストールしてみる
CentOSにRedmineをインストール
・CentOSのアップデート
$ yum update -y
・Ruby、MySQLのインストール
$ yum install -y ruby ruby-devel rdoc mysql mysql-server mysql-devel
・gemのインストール
$ wget http://rubyforge.org/frs/download.php/56227/rubygems-1.3.3.tgz
$ tar zxvf rubygem-1.3.3.tgz
$ cd rubygem-1.3.3
$ ruby setup.rb config
$ ruby setup.rb setup
$ ruby setup.rb install
* RubyForgeは落ちていることがあるので注意+gemは最新のものを取得したほうがいいかも
・Railsのインストール
$ gem install rails --include-dependencies
・Ruby_MySQLコネクタのインストール
$ gem install mysql -- --with-mysql-config
・MySQLの設定、起動
$ /etc/init.d/mysqld start
・MySQLに接続
$ mysql -u root -p
・Redmine用のスキーマを作成
mysql> create database redmine character set utf8;
・Redmine用のDBユーザーを作成
mysql> GRANT ALL ON redmine.* TO 'redmineuser'@'localhost' IDENTIFIED BY 'redminepass';
mysql> quit;
・Redmineのインストール
$ wget http://rubyforge.org/frs/download.php/56909/redmine-0.8.4.tar.gz
・Redmineの展開&リネーム
$ tar -zxvf redmine-0.8.4.tar.gz
$ mv redmine-0.8.4 redmine
・MySQLの接続設定
$ cd redmine
$ cp config/database.yml.example config/database.yml
$ vi config/database.yml
config/database.ymlにデータベースのユーザー名、パスワードを設定。必要ならソケットも設定
production:
adapter: mysql
database: redmine
host: localhost
username: redmineuser
password: redminepass
encoding: utf8
socket: /var/lib/mysql/mysql.sock
・初期データの準備
$rake db:migrate RAILS_ENV="production"
・デフォルトのデータの作成
$rake redmine:load_default_data RAILS_ENV="production"
・apache、mod_dav_svn、subversionのインストール
$ yum install httpd mod_dav_svn subversion
・リポジトリ用ディレクトリの作成
$ mkdir /var/www/svn
$ cd /var/www/svn
$ svnadmin create sample
・branches、tags、trunkを作成
$ svn mkdir file:///var/www/svn/sample/trunk \
file:///var/www/svn/sample/tags \
file:///var/www/svn/sample/branches -m 'Create trunk, tags, and branches.'
・apacheのドキュメントルートを変更
$ vi /etc/httpd/conf/httpd.conf
DocumentRoot "/var/www"
・subversionをapacheと連携
$ vi /etc/httpd/conf.d/subversion.conf
<Location /svn>
DAV svn
SVNParentPath /var/www/svn
AuthType Basic
AuthName "Authorization Realm"
AuthUserFile /etc/subversion/.htpasswd
Require valid-user
</Location>
・SVNユーザーの追加
$ cd /etc/subversion
$ htpasswd -cm .htpasswd ユーザー名
$ パスワードを入力
$ パスワードを再入力
* 二人目以降追加の場合は-htpasswd -m .htpasswd ユーザー名
・redmineを起動
ruby script/server -e production -d
・CentOSのアップデート
$ yum update -y
・Ruby、MySQLのインストール
$ yum install -y ruby ruby-devel rdoc mysql mysql-server mysql-devel
・gemのインストール
$ wget http://rubyforge.org/frs/download.php/56227/rubygems-1.3.3.tgz
$ tar zxvf rubygem-1.3.3.tgz
$ cd rubygem-1.3.3
$ ruby setup.rb config
$ ruby setup.rb setup
$ ruby setup.rb install
* RubyForgeは落ちていることがあるので注意+gemは最新のものを取得したほうがいいかも
・Railsのインストール
$ gem install rails --include-dependencies
・Ruby_MySQLコネクタのインストール
$ gem install mysql -- --with-mysql-config
・MySQLの設定、起動
$ /etc/init.d/mysqld start
・MySQLに接続
$ mysql -u root -p
・Redmine用のスキーマを作成
mysql> create database redmine character set utf8;
・Redmine用のDBユーザーを作成
mysql> GRANT ALL ON redmine.* TO 'redmineuser'@'localhost' IDENTIFIED BY 'redminepass';
mysql> quit;
・Redmineのインストール
$ wget http://rubyforge.org/frs/download.php/56909/redmine-0.8.4.tar.gz
・Redmineの展開&リネーム
$ tar -zxvf redmine-0.8.4.tar.gz
$ mv redmine-0.8.4 redmine
・MySQLの接続設定
$ cd redmine
$ cp config/database.yml.example config/database.yml
$ vi config/database.yml
config/database.ymlにデータベースのユーザー名、パスワードを設定。必要ならソケットも設定
production:
adapter: mysql
database: redmine
host: localhost
username: redmineuser
password: redminepass
encoding: utf8
socket: /var/lib/mysql/mysql.sock
・初期データの準備
$rake db:migrate RAILS_ENV="production"
・デフォルトのデータの作成
$rake redmine:load_default_data RAILS_ENV="production"
・apache、mod_dav_svn、subversionのインストール
$ yum install httpd mod_dav_svn subversion
・リポジトリ用ディレクトリの作成
$ mkdir /var/www/svn
$ cd /var/www/svn
$ svnadmin create sample
・branches、tags、trunkを作成
$ svn mkdir file:///var/www/svn/sample/trunk \
file:///var/www/svn/sample/tags \
file:///var/www/svn/sample/branches -m 'Create trunk, tags, and branches.'
・apacheのドキュメントルートを変更
$ vi /etc/httpd/conf/httpd.conf
DocumentRoot "/var/www"
・subversionをapacheと連携
$ vi /etc/httpd/conf.d/subversion.conf
<Location /svn>
DAV svn
SVNParentPath /var/www/svn
AuthType Basic
AuthName "Authorization Realm"
AuthUserFile /etc/subversion/.htpasswd
Require valid-user
</Location>
・SVNユーザーの追加
$ cd /etc/subversion
$ htpasswd -cm .htpasswd ユーザー名
$ パスワードを入力
$ パスワードを再入力
* 二人目以降追加の場合は-htpasswd -m .htpasswd ユーザー名
・redmineを起動
ruby script/server -e production -d
ApacheのREQUEST_FILENAME} -fにハマった
今までApacheのREQUEST_FILENAME} -fの所でいつもつまづいていた。
今回もApacheの設定が自分の担当だったので、こいつが必要になった。
んで、今回はわりとこの設定に時間がさけて、なんとなく設定方法を自分なりにあみだした(これが正しい使い方かわからないw)ので忘れないように書いておこうと思う。
今回の要件をザックリ説明
・ApacheとJBossの連携
・静的ページ(画像ファイル、静的html)はApacheで処理 mod_rewriteを使用
・動的ページに関するGETパラメータ等はJBossで処理 mod_proxyを使用
というカンジである
で説明するために必要な単語を作っておこう。
ホスト: localhost ←そのまんまじゃんとか言わない
JBoss側のコンテキストルート:jbossapp ←適当すぎるだろとか言わない
静的ページ:foo.html
動的ページ:bar.html
という風に定義しましょう。
私の環境としては
APACHE_HOME=C:\Program Files\Apache Software Foundation\Apache2.2
JBOSS_HOME=C:\jboss-5.0.1.GA
APACHE_DOCUMENT_ROOT=C:\www
となっております。
では本題!
http://localhost/foo.htmlは静的ページ
http://localhost/bar.htmlは動的ページなので僕が書いたRewriteRuleは以下になりました。
*ちなみにRewriteRuleはAPACHE_HOME\conf\extra\httpd-rewrite.confに記述しました。
httpd-rewrite.conf
# 1
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_FILENAME} -f
RewriteRule ^(.*)$ $1 [QSA,L]
# 2
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_FILENAME} !-f
RewriteRule ^/zentaku_sizuoka/(.*)$ ajp://localhost/jbossapp /$1 [QSA,P]
RewriteRule ^/(.*)$ ajp://localhost/jbossapp /$1 [QSA,P,L]
1の方が静的ページ用2の方が動的ページ用です。
1.まずRewriteCondのREQUEST_FILENAMEはURLではなくサーバ上のパスを見にいっている感があります。なのでRewriteCondを%{REQUEST_FILENAME} !-fではなく、%{DOCUMENT_ROOT}%{REQUEST_FILENAME} !-fとすればドキュメントルート以下にファイルがあった場合となります。
それをURLとしてRewriteRuleで^/(.*)$として全てを受け取り、$1で全てを書き換えるとすれば静的ページが表示される処理になります。この場合URLの書き換えはおこなっていませんが、ファイルパスからURLに書き換えてる?とか思ってください。自分もよくわかりませんw
2の方はRewriteCondが1の逆で-fの前に!がついています。これはドキュメントルート以下にファイルがなかった場合となります。
そのあとにプロトコルをajpにするためにプロクシーを使うという意味でPオプションがついています。
そしてGETパラメータがあった場合の為にQSAオプションがついています。
QSAオプションがないとURLの後ろにhttp://localhost/bar.html?hoge=10とかあってもリライトされた段階でhttp://localhost/bar.htmlになってしまいます。
以上です^^
ちなみにその時のmod_proxyを載せておきます。参考までに
httpd-proxy.conf
<Location />
ProxyPass ajp://localhost:8009/
ProxyPass ajp://localhost:8080/
</Location>
今回もApacheの設定が自分の担当だったので、こいつが必要になった。
んで、今回はわりとこの設定に時間がさけて、なんとなく設定方法を自分なりにあみだした(これが正しい使い方かわからないw)ので忘れないように書いておこうと思う。
今回の要件をザックリ説明
・ApacheとJBossの連携
・静的ページ(画像ファイル、静的html)はApacheで処理 mod_rewriteを使用
・動的ページに関するGETパラメータ等はJBossで処理 mod_proxyを使用
というカンジである
で説明するために必要な単語を作っておこう。
ホスト: localhost ←そのまんまじゃんとか言わない
JBoss側のコンテキストルート:jbossapp ←適当すぎるだろとか言わない
静的ページ:foo.html
動的ページ:bar.html
という風に定義しましょう。
私の環境としては
APACHE_HOME=C:\Program Files\Apache Software Foundation\Apache2.2
JBOSS_HOME=C:\jboss-5.0.1.GA
APACHE_DOCUMENT_ROOT=C:\www
となっております。
では本題!
http://localhost/foo.htmlは静的ページ
http://localhost/bar.htmlは動的ページなので僕が書いたRewriteRuleは以下になりました。
*ちなみにRewriteRuleはAPACHE_HOME\conf\extra\httpd-rewrite.confに記述しました。
httpd-rewrite.conf
# 1
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_FILENAME} -f
RewriteRule ^(.*)$ $1 [QSA,L]
# 2
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_FILENAME} !-f
RewriteRule ^/zentaku_sizuoka/(.*)$ ajp://localhost/jbossapp /$1 [QSA,P]
RewriteRule ^/(.*)$ ajp://localhost/jbossapp /$1 [QSA,P,L]
1の方が静的ページ用2の方が動的ページ用です。
1.まずRewriteCondのREQUEST_FILENAMEはURLではなくサーバ上のパスを見にいっている感があります。なのでRewriteCondを%{REQUEST_FILENAME} !-fではなく、%{DOCUMENT_ROOT}%{REQUEST_FILENAME} !-fとすればドキュメントルート以下にファイルがあった場合となります。
それをURLとしてRewriteRuleで^/(.*)$として全てを受け取り、$1で全てを書き換えるとすれば静的ページが表示される処理になります。この場合URLの書き換えはおこなっていませんが、ファイルパスからURLに書き換えてる?とか思ってください。自分もよくわかりませんw
2の方はRewriteCondが1の逆で-fの前に!がついています。これはドキュメントルート以下にファイルがなかった場合となります。
そのあとにプロトコルをajpにするためにプロクシーを使うという意味でPオプションがついています。
そしてGETパラメータがあった場合の為にQSAオプションがついています。
QSAオプションがないとURLの後ろにhttp://localhost/bar.html?hoge=10とかあってもリライトされた段階でhttp://localhost/bar.htmlになってしまいます。
以上です^^
ちなみにその時のmod_proxyを載せておきます。参考までに
httpd-proxy.conf
<Location />
ProxyPass ajp://localhost:8009/
ProxyPass ajp://localhost:8080/
</Location>
とりあえず俺の独断と偏見によるFire Foxアドオン集
お勧めアドオンを人に教えたりするのが面倒なので、今日時点での一覧を一括で書いておこうと思った!
Cache Status
FireFoxのキャッシュ情報をステータスバーに表示して、手動、自動でキャッシュをクリアする。
長時間ブラウザを開いたりしてる人にはいいかもね。
Fire Bug
FireFox上でcssとhtmlが編集できる。(保存はできないのが難点だが)
デザイナー系の人には必須なのでは?
Fire Gestures
FireFoxにマウスジェスチャー機能をつけるアドオン。これがないと俺はネットサーフィンができません。
Firesizer
FireFoxのウィンドウサイズを特定の解像度の大きさにリサイズするアドオン。
間違いなくWEB屋とかSE系の人しか使わないw
Gmail Notifier
FireFoxを開いてる時にGmailの受信状態を確認できるツール。
新着や未読があった場合はFireFoxでそのままGmailを開くことができる。
GMarks
FireFox上からGoogle Bookmarkを利用できるようにするアドオン。
自宅や会社のPCでブックマークの同期をとりたい人には便利!
goo辞書FireFoxでテキストをドラッグしてコンテキストメニューからgoo辞書で単語検索ができるツール。
わからない日本語や英語があったらこれでGOO!←つまらなくてサーセン
Smart Bookmarks Bar
FireFoxのブックマークツールバーの表示をFaviconのみにできるツール。
ブックマークツールバーがいっぱいあってFaviconで判断できる人用。
Tab Mix Plus
FireFoxのタブ機能の挙動を操作するアドオン。
俺はこれがないとネットサーフィンできねぇw
Google Preview
FireFoxの検索結果を画像つきサムネイル表示するためのアドオン。
こんだけあれば快適FireFox生活が遅れるだろう?
俺だけとか言わない!
Cache Status
FireFoxのキャッシュ情報をステータスバーに表示して、手動、自動でキャッシュをクリアする。
長時間ブラウザを開いたりしてる人にはいいかもね。
Fire Bug
FireFox上でcssとhtmlが編集できる。(保存はできないのが難点だが)
デザイナー系の人には必須なのでは?
Fire Gestures
FireFoxにマウスジェスチャー機能をつけるアドオン。これがないと俺はネットサーフィンができません。
Firesizer
FireFoxのウィンドウサイズを特定の解像度の大きさにリサイズするアドオン。
間違いなくWEB屋とかSE系の人しか使わないw
Gmail Notifier
FireFoxを開いてる時にGmailの受信状態を確認できるツール。
新着や未読があった場合はFireFoxでそのままGmailを開くことができる。
GMarks
FireFox上からGoogle Bookmarkを利用できるようにするアドオン。
自宅や会社のPCでブックマークの同期をとりたい人には便利!
goo辞書FireFoxでテキストをドラッグしてコンテキストメニューからgoo辞書で単語検索ができるツール。
わからない日本語や英語があったらこれでGOO!←つまらなくてサーセン
Smart Bookmarks Bar
FireFoxのブックマークツールバーの表示をFaviconのみにできるツール。
ブックマークツールバーがいっぱいあってFaviconで判断できる人用。
Tab Mix Plus
FireFoxのタブ機能の挙動を操作するアドオン。
俺はこれがないとネットサーフィンできねぇw
Google Preview
FireFoxの検索結果を画像つきサムネイル表示するためのアドオン。
こんだけあれば快適FireFox生活が遅れるだろう?
俺だけとか言わない!




