サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
2024年ランキング
blog.perl.tv
ある日突然にAndroidな気持ちになった為、年末に周辺のドコモショップに電話攻勢をかけてGalaxy Sを購入。画面は美しく動きの速い素晴らしい端末なのですが、GPSの調子が悪い。Galaxy SのGPSに問題がある事は広く知られているみたいなのですが全く知りませんでした。ジョギングに愛用しているRunkeeper(GPSロガー)が動かないどころか現在地の測位が全くできないことも多く、foursquareをはじめとするGPS利用するアプリは初期状態ではほぼ全く利用できません。 一時は売却も考えましたが、知人の助けも借りてなんとか精度の改善に成功。以下の全てが必須なのかどうかは自信がありませんが、build.propに手を入れないとsoftbank SIMでの精度はイマイチでした。(現在地はわずかなズレで測位するがGPSロガーの利用は難しい状態)。docomo/b-mobile SIMでは
さくらのVPSでmod_pagespeedを試してみました。 wget https://dl-ssl.google.com/dl/linux/direct/mod-pagespeed-beta_current_x86_64.rpm wget https://dl-ssl.google.com/linux/linux_signing_key.pub rpm --import linux_signing_key.pub yum localinstall mod-pagespeed-beta_current_x86_64.rpm vim /etc/httpd/conf.d/pagespeed.conf # Allow from localhost Allow from all /etc/init.d/httpd restart インストール。 ab -n 1000 -c 100 http://w
管理しているWebサーバのトラフィックはほとんどが中国と韓国からのアタック。帯域を食い潰し、メモリを使い切る程の負荷が続いています。仕方が無いので国単位でフィルタすることにしました。主義とか思想的な意図はないのですが、運用上やむを得ないので。環境はFreeBSD8.0。 IPアドレスの取得 apnicに国別のIPアドレスリストがあります。こちらでCIDR表記化されているので使わせてもらいました。 # wget http://nami.jp/ipv4bycc/cidr.txt # perl -ne 'print \ "block in log quick proto tcp from $2 to any port = 80 group 100\n" \ if /^(CN|KR|TW|HK)\t(.*)/' cidr.txt > ipf.tmp こんな感じでCIDRブロックのリストをipf.r
iTunesライブラリがMacbookProのHDDを圧迫してきたのでライブラリをSAMBA上に移動してみました。意外に苦戦。環境はMac OS X 10.6.1, iTunes 9.0.2 iTunesライブラリをネットワーク上にコピー SAMBAの任意ディレクトリに「iTunes」とその直下に「iTunes Music」を作成しておく。 iTunesを起動 「iTunes」→「環境設定」→「詳細」 "iTunes Media"フォルダの場所→「変更」→SAMBA上の「iTunes Music」フォルダを選択 「ファイル」→「ライブラリ」→「ライブラリを整理」→「ファイルを統合」(メディアファイルのコピー。時間かかります。) /Users/username/Music/にある以下のファイルをSAMBA上の「iTunes」ディレクトリにコピー。 iTunes Library.xml iTu
つまらないことだけどちょっとはまったので覚え書き。 MySQLで外部ホストからの接続を許可する場合、「localhost」用の権限と「外部用」の権限の二種類をGRANTで制限する必要がある。 # mysql -u root -p mysql> GRANT ALL PRIVILEGES ON *.* TO testuser@'%' IDENTIFIED BY 'password'; Query OK, 0 rows affected (0.00 sec) mysql> GRANT ALL PRIVILEGES ON *.* TO testuser@localhost IDENTIFIED BY 'password'; Query OK, 0 rows affected (0.00 sec) mysql> use mysql; Database changed mysql> select ho
そろそろ自宅も仮想化で運用しようかなと思いVMware Server環境を作ってみました。 まずCentOSの最新版をダウンロードし、CD-Rに焼いてインストール。 http://ftp2.riken.jp/Linux/centos/5.2/isos/i386/CentOS-5.2-i386-netinstall.iso ネットワークインストールはFTPで。FTPサイトとディレクトリは以下を入力。 FTP site name: ftp.riken.go.jp CentOS directory: /Linux/centos/5.2/os/i386 # yum update # yum install kernel-devel # yum install xinetd yum updateしてからVMwareに必要なものをいれておく。 # cd /usr/local/src # wget ht
F1を見ながら時間つぶしに手を動かしていたらMuninが入ってた。 yum に RPMforge リポジトリを追加する # wget http://dag.wieers.com/packages/rpmforge-release/rpmforge-release-0.3.6-1.el5.rf.i386.rpm # rpm -Uhv rpmforge-release-0.3.6-1.el5.rf.i386.rpm # vi /etc/yum.repos.d/rpmforge.repo # enabled = 0 ※デフォルトではRPMforge リポジトリを有効にしない RPMforge リポジトリをインストール # wget http://dag.wieers.com/packages/RPM-GPG-KEY.dag.txt # rpm --import RPM-GPG-KEY.dag.t
CentOS5のVPSにSNMP/MRTGを設定。毎度の単純作業なのですが、いつも手順を微妙に忘れているので数分で終えられないのが腹立たしい。新しく設定したサーバは取りあえずトラフィックをモニタしておきたいのです。 NET-SNMPのインストール # yum -y install net-snmp # cp /etc/snmp/snmpd.conf /etc/snmp/snmpd.conf.orig # vim /etc/snmp/snmpd.conf com2sec local localhost private com2sec securenet IPアドレス/32 public 送信元「localhost」のセキュリティ名を「local」、コミュニティ名を「private」にする。publicも同様。 group local_group v1 local group local_gr
Muninがいいよーと聞いたのでその場で入れてみました。 環境はいずれもFreeBSD6.x。 監視クライアントのインストール グラフを表示するサーバにMuninをいれます。こんなかんじ。 # cd /usr/ports/sysutils/munin-main # make install # mkdir /usr/local/www/apache22/data/munin グラフを表示するディレクトリ # chown munin:munin /usr/local/www/apache22/data/munin # vi /usr/local/etc/munin/munin.conf #htmldir /usr/local/www/munin htmldir /usr/local/www/apache22/data/munin 監視ノードのインストール 次に、監視対象サーバにmunin-n
前回の続き。少しいじって更新分のレスもGrowlに表示されるようにしました。 「システム環境設定」-「Growl」-「表示選択」の表示時間を長くし、「ラインを2-5行に制限する」のチェックを外しておくと読みやすいです。 ソースはこんな感じ。適当。 #!/usr/local/bin/perl use strict; use URI; use Web::Scraper; use Data::Dumper; use Encode; use Mac::Growl ':all'; use LWP::Simple; use vars qw($url $chkwords $interval $threads $last); $url = 'http://live27.2ch.net/livemarket2/subback.html'; $chkwords = 'ドル'; $interval = 60;
YAPC2日目。メモ。 How to defend Apache/CGI against multibyte XSS attacks (竹迫さん) SQLインジェクションが増加傾向にある。 http://wafful.org/ apacheモジュールimagefight。webアプリ側で対応しなくてもよい mod_wafful。Web Application Firewall ※HDRの写真にはまっているとのこと DBIx::MoCo (naoyaさん) SQLの操作がCDBI/ActiveRecord風 Rubyのようなリスト操作 呼び出したオブジェクトがいろいろメソッドを持っているのでこれが便利。 投下キャッシュ。memcachedとか使える update/deleteするとキャッシュ側も更新される cacheを使うのが簡単。リスト操作に強い。テストしやすい ドキュメントがない
YAPC::Asiaに行ってきました。一部しか見られなかったのですが、覚えている点 and 気になった点をメモ。macを持参し忘れたのでメモが取れず残念。 フレームワークでシステム管理プログラミングをもっと簡単に (mizzy) Func→Punc システム管理アプリとは、複数のホストに何らかの処理を実行するものという定義 モジュールなかんじ JSON over HTTPSでホストに命令を出す smartとか取得できる プログラマブルなシステム管理は楽しい。 Moose YAPCの会計報告 2006年から年々支出は増加しているが全て黒字。 これまでの2年は開催中等、一時的にお金がマイナスになることがあったが今年は常に残金がある状態。 スポンサーからの収入は70万〜209万程度 open fastradder with plagger(typester) plaggerをクローラとして使う
昔は2chというものを毛嫌いしていたのに、気がつくと2chのスレッドを常にチェックしている毎日。 新たな書き込みの有無を確認するのが段々面倒になってきたのでGrowlに通知するスクリプトを書いてみました。似たようなものが多分あるのだろうけど、探すのが面倒だった。 #!/usr/local/bin/perl use strict; use URI; use Web::Scraper; use Data::Dumper; use Encode; use Mac::Growl ':all'; use vars qw($url $chkwords $interval $threads $last); $url = 'http://hobby10.2ch.net/auto/subback.html'; $chkwords = 'rx-8'; $interval = 300; if( $ARGV[0]
トラフィックがみたいなぁと思ってまたMRTGを入れときました。簡単。 # cd /usr/ports/net-mgmt/net-snmp # make install # cp /usr/local/share/snmp/snmpd.conf.example /usr/local/share/snmp/snmpd.conf # vi /usr/local/share/snmp/snmpd.conf com2sec local localhost PUBLIC com2sec mynetwork 192.168.0.0/24 PUBLIC #group MyRWGroup v1 local #group MyRWGroup v2c local #group MyRWGroup usm local # ps ax | grep snmpd # snmpwalk -v 1 -c PUBLIC 1
毎日楽しくニコニコ動画を見ていたら、ランキングデータをテキストデータで取得して自分ランキングを作りたくなりました。そんなときはPerlだなーとかりかり書いていたら、なんだかモジュールっぽいものになりました。折角だから晒してみます。ツッコミ歓迎。 WWW::NicoVideo [pod] 使い方 use WWW::NicoVideo; my $n = new WWW::NicoVideo( 'mail', 'password'); # ランキング情報を取得する my $data = $n->ranking( span => 'weekly', type => 'mylist', all => 1 ); # 任意のタグ一覧情報を取得する my $data = $n->tag( word => '孔明の罠', type => 'view', all => 0, ); # 動画再生ページの情報を取
普段はネットワーク上のMySQLを利用しているのですが、ローカルにも入っていた方が便利なのでインストールしました。ちょっと注意点があったのでメモ。 MySQLのインストール http://dev.mysql.com/downloads/mysql/5.0.htmlからMySQL 5.0 Community Serverの「Mac OS X (package format)」をダウンロード。さくっとインストール。.pkgファイルは二つありますが、MySQLStartupItem.pkgをダブルクリックするとMac OSXの起動時にMySQLが自動起動するようになるのでこちらも入れておきます。手動での起動と停止は下記。
何故か早起きした土曜日。ふと思いついて余っているmacminiをサーバにしてみることにしました。Yellow Dog Linuxを入れるつもりだったのですが、PowerPC対応の日本語版は現在販売していないので別のOSに。 何を入れようか探していたところ、慣れているFreeBSDがあったのでこれを入れてみることにしました。FreeBSDは6.0からPowerPCに対応したようです。Tier 2なのでβ版という感じですが、遊ぶ目的なのでこれを選びました。バージョンはFreeBSD 6.2-RELEASE。 OSXのパーティションを削除 手順はAppleに書いてあるとおりです。 Mac OS X CDをセットした後、「C」キーを押しながらブート(CD-ROMブート) 起動したら「続ける」を押さずに、メニューから「Installer」→「ディスクユーティリティを開く」 HDDを選択 「消去」タブ
要するにFreeBSD版のWindows Update。最新版へのバージョンアップではなく、当該バージョンにおける脆弱性の修正らしい。ソースツリーを取得して再構築する必要なしに、FreeBSD セキュリティブランチを容易に追いかけることができる、と。 freebsd-updateのインストール # cd /usr/ports/security/freebsd-update/ # make install # cp /usr/local/etc/freebsd-update.conf.sample /usr/local/etc/freebsd-update.conf # rehash アップデート実行。バイナリパッチをダウンロードしてからインストール。 # freebsd-update fetch # freebsd-update install 再起動後、適用を確認する。 # shutdo
今年もYAPC::Asiaに行ってきたので記念にエントリー。本当にただのメモ。 一部は聞くことができませんでしたが、充実した内容で楽しく、眩しかったです。こういうことやりたいなぁ・・。 1日目 Perl 18N 弾さん Encode.pmはインターフェース Encode.pmのencodeとdecode encodeの代わりにPerlIOのencodig decode の代わりにbinmodeでSTDOUT encodeとdecodeは他言語でもできる だけど漢字とかのマッチができるのはPerlだけ seriousなinternationalizationsならperlがよい UTF-8 Python/JSは文字によっては二つのコード番号をペアで書かないといけない unicodeリテラルをまともにサポートしてるのはPerl/HTML/XMLくらい EUCでは完全なマッチは無理。 Unico
# cd /Users/myuser/ # mkdir svn # cd svn/ # svnadmin create repos # ls -la /Users/myuser/svn/repos/ total 16 drwxr-xr-x 9 root myuser 306 1 9 00:46 . drwxr-xr-x 4 root myuser 136 1 9 00:46 .. -rw-r--r-- 1 root myuser 229 1 9 00:46 README.txt drwxr-xr-x 5 root myuser 170 1 9 00:46 conf drwxr-xr-x 2 root myuser 68 1 9 00:46 dav drwxr-sr-x 10 root myuser 340 1 9 00:46 db -r--r--r-- 1 root myuser 2 1
AJA Chat のまとめのまとめ。USR1シグナルを送るとプロセスは再起動するらしい。 AJA Chatの動き 参加者はXMLHttpRequestを使ってserv.cgiに繋ぐ。30秒後にserv.cgiからレスポンスが返ってきたら繋ぎなおす。この繰り返しで常時接続。 書き込みがあった場合には、全参加者のserv.cgiプロセスに対してUSR1シグナルを送る。 serv.cgiはUSR1シグナルが来るとログを再読込(onreadystatechangeで監視) ということでいいのかな。 サンプルがあったので試してみました。 以下のスクリプトを実行
Tracはデフォルトではコマンドラインでの作業やtrac.iniの変更をしないと設定のカスタマイズができないのでプラグインを入れました。環境は引き続きFreeBSD 6.0-RELEASE。 まず任意のユーザに管理権限を与えておきます。 次にプラグインを利用する準備をしておきます。python_egg_cacheのディレクトリを作成してapahceで読める権限にしておき、 # mkdir /var/trac/python_egg_cache # chown www:www /var/trac/python_egg_cache/ apacheのconfに書き加えておきます。 # vi /usr/local/etc/apache22/Includes/virtual.conf <Location /trac> SetEnv PYTHON_EGG_CACHE /var/trac/python_e
電気代もバカにならないので常時稼働しているPCを削減中。WOLを試してみることにしました。ちょっとつまづいたのでメモ。 ■NIC Realtek RTL8139/810X Family PCI Fast Ethernet NIC (ST62Kオンボード) ■Windows デバイスマネージャの設定 WakeUp on ARP/PING : Disable WakeUp on Link Change : Enable WakeUp using APM Mode : Enable ■BIOSの設定 OnBoard Lan Boot ROM : Disabled Wake Up By PCI Card : Enabled Wake Up by Ring : Disabled ※何故コレで動作するのか意味不明。 AMD純正のツールを使えば上記の設定で起動させることができますが、portsのwolで
前回、前々回とMacOSXで行っていた作業をFreeBSDでも行っておきました。 クライアントとしては非常に使いやすいMacOSXですが、今のところサーバとして運用する気にはなれません。 取りあえずportsでSubversionをインストール # cd /usr/ports/devel/subversion # make WITH_MOD_DAV_SVN=YES WITH_APACHE2_APR=YES WITHOUTBDB=YES # make install # mkdir /home/svn # cd /home/svn/ # svnadmin create repos # vi repos/conf/svnserve.conf [general] anon-access = read auth-access = write password-db = passwd realm =
MacではWIndowsと異なり、各ウィンドウを画面全体に最大化することができません。これはちょっと不便に感じていました。 探したらやり方を見つけたのでメモ。 Stoplightというソフトを使えば各ウィンドウの最大化が実現できます。 事前にSIMBLをインストールしておく(省略) RegistしてStoplightをダウンロード。 /Library/Application Support/SIMBL/Pluginsに「Stoplight.bundle」をコピー Stoplight.prefPaneをダブルクリックしてインストール これでシステム環境設定にStoplightが表示されるので、後は「Default Behaivors」の「Zoom」を「Fill Screen」にすればOK。これでウィンドウの左上にある緑の「+」ボタンをクリックするとウィンドウが最大化するようになります。 アプ
Subversionを入れたらやはりTracを入れるのがスジだと思い、取りあえずMacOSXにインストールしてみました。 日本語版Tracをインストール。 # wget http://www.i-act.co.jp/project/products/downloads/trac-0.10.3-ja-1.zip # unzip trac-0.10.3-ja-1.zip # cd trac-0.10.3-ja-1 # python setup.py install コマンド類が妙な場所に入ってしまいましたがアンインストールできないのでそのままにしておきました。setup.pyに引数を指定した方が良さそうです。取りあえずtcshにパスを追加しておきました。orz (改行されないのでところどころスペースを入れています)
AJAXでCHATを作る場合のパターンについて、現時点で集めた情報をまとめてみました。 前提 JavaScript は、HTTP通信オブジェクトである XMLHttpRequest を持つためにブラウザの再読込なしにデータの送受信が可能です。また、JavaScriptはDOMを扱うことができるのでHTMLの要素を自由に書き換えることができます。(innerHTMLを用いても可) この二つの特徴を生かすと、ブラウザの再読込なしにHTTP経由で受け取ったデータをHTMLに表示することができます。 このような技術を用いて CHATを作ると、画面遷移(リロード)のない高速なCHATを構築することができます。あたかも IRCクライアントのようにWebページにログを書き出していくことができるわけです。これがAJAXでCHATを行う場合のメリットです。 ここまでは、AJAXでCHATを作るメリットについ
このページを最初にブックマークしてみませんか?
『Re::Monologue』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く