メメメモモ

プログラミング、筋トレ、ゲーム、etc

2010-01-01から1年間の記事一覧

XSお勉強メモ4

List::UtilのXSパートのminメソッドを読んでいたら下記のようなマクロがあった。 magic = SvAMAGIC(retsv); SvAMAGICマクロは「sv.h」に定義されていた。 #define SvAMAGIC(sv) (SvROK(sv) && (SvFLAGS(SvRV(sv)) & SVf_AMAGIC)) SvROK、SvFLAGS、SvRVは、下…

XSお勉強メモ3

SV構造体と操作関数の確認用スクリプト。 #define PERL_NO_GET_CONTEXT #include "EXTERN.h" #include "perl.h" #include "XSUB.h" #include "ppport.h" MODULE = Foo::Bar PACKAGE = Foo::Bar PROTOTYPES: DISABLE void test_newSV() CODE: { SV *svPv = sv…

XSお勉強メモ2「gdbを使ってみる」

gdbを使ってList::UtilのXS部分を見てみる手順。 List::Util::XS - search.cpan.org Makefile.PLの編集とコンパイル WriteMakefile()に「OPTIMIZE => '-g'」を追加。 perl Makefile.PL make で、コンパイル。 実行 下記のコマンドで、gdbを使いつつList::Uti…

XSお勉強メモ1

XS/XSUBとは PerlとC言語コードの拡張インタフェース記述用言語 PerlとC言語のglue C言語ですでに実装されているライブラリを使いたい時にXSを利用する xsubppとは XSのコンパイラ XSで記述されたソースをコンパイルして、Cのソースを生成する Hoge.xsからH…

CoreDataをとりあえず使えるようにする手順

CoreDataややっこしいよ、後で理解するからとりあえず使ってみたい>< というときにとりあえず使えるようにする手順メモ。 プロジェクトを作成する際に「Use Core Data for storage」にチェックを入れれば、とりあえず使えるようになりますが、既存のプロジ…

MySQL Casual Talks vol.1に行ってきました

http://atnd.org/events/9803 2010/12/11にPerl CasualにインスパイアされたとされるMySQL Casualに行ってきました。 「Casual」という言葉に思いっきり釣られています。 しかし、内容は全然カジュアルじゃなかったです。 知識が足りない上に高速に流れる発…

UIViewControllerの位置とサイズ

https://github.com/memememomo/ViewControllerRect ステータスバーとナビゲーションバーとツールバーが表示/非表示になったときに、 その間に挟まっているUIViewの位置と大きさがどうなっているのか分からなかったので、 それを見るサンプルプログラムを作…

Shibuya Perl Mongersテクニカルトーク#15に行ってきました。

Shibuya.pm#15に行ってきました。 http://shibuya.pm.org/blosxom/techtalks/201012.html http://live.streamingmedia.jp/shibuyapm15/ ストリーミング動画すごいですね。このクオリティでリアルタイムで流れていたのですか。 ツイートも再生されていてすご…

HTTPクライアントのテスト

HTTP クライアントのテストを Plack でやる方法について - TokuLog 改メ tokuhirom’s blogMojolicious::Liteで作ったテスト用のサイトにアクセスして、テストができるようにしたいな、 と思っていたら上記の記事を見つけたので試してみました。 Mojoの機能の…

Objective-CとXcodeの開発を効率化するために参考にしたサイト

【Xcode】設定しておくと便利なカスタマイズいろいろ | iphoneアプリで稼げるのか アプリ実行時にデバッガを自動的に表示する デバッグ用マクロ、Debugモードの時だけ有効 テンプレート作成 マクロ登録 マルチタスキング対応後のアプリのイベントフローをま…

ディレクトリ構造をハッシュで表現

テスト用にディレクトリとファイルを作成するときは、 my $root = catfile('','tmp','test'); my $config = { 'image' => { 'thumbnail' => { '600x600' => { '000.jpg' => 'file', '001.jpg' => 'file', '002.jpg' => 'file', }, '300x300' => { '000.jpg' …

GHUnitの導入

GHUnitの色んな設定方法を試してみてうまくいきませんでしたが、 最終的に下記の記事を参考にしたらうまくいきました。 GHUnit Setup 作業内容メモ。 インストール作業 新しいプロジェクトを作成します。この例では「CubPath」という名前にします。 「グルー…

Perlbalの設定メモ

Perlbalを導入した時のメモです。 概要 PerlbalのURLキャッシュ機能について PerlbalでMogileFSを更に高速化、効率化する - builder by ZDNet Japan 構成 PerlbalとAppサーバは、一つのサーバにあるとします。 Perlbalの「ロードバランサー」「リバースプロ…

MogileFS設定メモ

mogileユーザーを作成しログインして作業開始します。 必要なモジュールをインストール cpanm YAML cpanm Sys::Syscall cpanm IO::AIO cpanm Net::Netmask cpanm Perlbal cpanm MogileFS::Client cpanm Gearman::Server cpanm Gearman::Client cpanm Gearman…

MojoX::Types

次のようにrenderメソッドでformat設定してContent-Typeを指定できる。 $self->render(text => 'Hello!', format => 'txt'); デフォルトでformatに設定できるものは次のようになっている。 atom => 'application/atom+xml', bin => 'application/octet-strea…

Test::mysqldとDBIx::Skinnyを用いたテスト入門

MySQLを使ったアプリをテストするために「Test::mysqld」に入門してみました。 下記のスクリプトの主な流れは、 Test::mysqlでテスト用DBを作成 Test::Fixture::DBIxSkinnyでテスト用データを挿入 テスト用DBを用いてテスト という感じになっています。 また…

DBIx::Skinnyメモ

ひとまず慣れるまでに使っていこうと思っている部分に付いてのメモです。 テーブル作成 普通のSQL Schema設定 2つのファイルを作成。 下記のファイルでスキーマの設定を行なっていきます。 トリガーの設定やinflate/deflateの設定を行なっています。 上記で…

時間操作メモ

個人的に使いそうな機能のメモ 参考リンク DateTime - search.cpan.org Time::Piece -日付と時刻を扱う - サンプルコードによるPerl入門

[postfix]postfixの設定時のコマンドメモ

コマンド postconf Postfixの設定を確認 newaliases エイリアスデータベースファイル、/etc/mail/aliases.dbm を作成 /etc/init.d/postfix start/stop/restart/reload alternatives –-config mta メールを配送するソフトウェアを選択 参考リンク Postfixのイ…

[yum][rpm]rpmでyumをインストール

CentOSにyumをインストールする - F.Ko-Jiの「一秒後は未来」

twitterとgithubでフォローするスクリプト

twitterとgithubで一括でフォローできるように、perlでスクリプトを書きました。 twitter モジュールはNet::Twitter::Liteを使いました。 スクリプトに渡すYAPC::Asia2010のスピーカーのリストは下記のものになります。 github モジュールはNet::GitHubを使…

YAPC::Asia2010に参加してきた感想

ニート特権を発動して、前夜祭を含めた3日間をフルで参加してきました。 YAPC::Asiaの参加は初めてです。 すごく刺激的な場でした。 会場を歩いていると超有名なスーパーハッカーが普通に近くを歩いていたりします。 憧れの人と話せるチャンスがたくさんあ…

YAPC::Asia2010スピーカーの(Twitter/Blog/github/cpan)アカウント

個人的に把握したかったので調べました。 まだ一部調べきれてない。 敬称略です。 Yappo(twitter/blog/github/cpan) 長野雅広(twitter/blog/github/cpan) nekokak(twitter/blog/github/cpan) Tokuhiro Matsuno(twitter/blog/github/cpan) gfx(twitter/blog/g…

Mojolicious::Liteで、Text::XSlateを使えるようにする

(2010/12/03 追記) __DATA__部分が読み込まれない件に関しては、gfxさんが対応していただいたようです。 http://d.hatena.ne.jp/gfx/20101103/1288801272 (追記終わり) Text::Xslateというモジュールをチラチラ見かけて気になったので、 Mojolicious::Liteで…

perlでスクレイピング「Mojolicious::LiteとStarmanで閲覧用Webアプリを作成する」

スクレイピングしたデータは、見やすい形にしておくのがいいと思います。 場合によると思いますが、ブラウザで見られるようにしてあると便利な場合があります。 そこで、perlでWebアプリを作成します。 ただ、スクレイピングデータを見るためにだけのWebアプ…

perlでスクレイピング「URL操作」

URLに規則性がある場合 対象とするサイトのURLを見てみると規則性がある場合があります。 例えば、なにかを一覧しているページでは、URLに「page=002」といったパラメータが付いている場合があります。 この一覧ページはページングされていて、「page=002」…

perlでスクレイピング「データ保存のためのディレクトリ操作」

スクレイピングで取得してきたデータは保存します。 ただ単に保存するだけでなく、何かしら整理して保存した方が後から参照しやすくなります。 例えば、複数のサイトから毎日画像データを取得する場合、 取得してきた画像を「サイト毎」「日付毎」に保存した…

perlでスクレイピング「HTML解析してデータを取得」

HTMLからデータを取ってくることは正規表現でもできます。 しかし、ちょっとでも表記が変わってしまうとうまく動作しなくなってしまいます。 また、正規表現を読み解くのは結構面倒くさいので、保守するのも大変です。 javascriptにはDOMやXPathがあります。…

perlでスクレイピング「正規表現でデータを取得」

取得してきたHTMLから必要な箇所だけを抽出します。 perlには正規表現の機能があります。 正規表現を使って必要なデータを取って来れます。 例えば下記のようなHTMLを取得したとします。 <html> <head> <title>Test Page</title> </head> <body> <div id="content"> <h1>Test Page</h1> <h2>主なトピックス</h2> <ul class="clr"> <li><span class="dateRight">8月30日</span><a href="/topics/title1.html">Title1</a></li></ul></div></body></html>

perlでスクレイピング「HTTPでページを取ってくる」

perlでのスクレイピング関連をメモしていきたいと思います。 まずスクレイピングするときに行なう処理は、ページを取ってくることです。 普段は、URLをブラウザのURL欄に入力し、ブラウザがHTTPでサーバにアクセスしてページを取得しています。 この処理をpe…