Difference between mysql_fetch_array and mysql_fetch_assoc in PHPVineet Kumar Saini
![テストデータどうしてますか?](https://cdn-ak-scissors.b.st-hatena.com/image/square/4bdfe1ff2f98d86d0c0ceda4b526943fa8835b8f/height=288;version=1;width=512/https%3A%2F%2Fcdn.slidesharecdn.com%2Fss_thumbnails%2F111126kansaipm-111126011301-phpapp01-thumbnail.jpg%3Fwidth%3D640%26height%3D640%26fit%3Dbounds)
JSON は JavaScript での処理を前提にしたものが多く、Perl などほかの言語で処理をする場合のサンプルがなかったので、記しておく。 #!/usr/bin/env perl use strict; use warnings; use utf8; use Encode; use JSON; use LWP::UserAgent; use Data::Dumper; use URI::Escape; my $yahoo_app_id = 'your_app_id'; my $agent = 'Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)'; my $apibaseuri = 'http://jlp.yahooapis.jp/KeyphraseService/V1/extract'; my $referrer = 'http
これまでサービスで使うCPANモジュールの管理と言えばrpm/debパッケージが主流だと思いますが、最近ではperlbrewで使いたいバージョンのperlをインストールすることもあり、rpm/debでは対応できなくなってきています。 perlbrewのperlに対してプロジェクトが依存しているCPANモジュールを入れる際、 $ perlbrew switch perl-5.12.3 $ cd /path/to/MyProj $ perl Makefile.PL $ cpanm --installdeps . などと cpanm —installdeps が使えます。 しかし、これではサーバを新規セットアップするたびに、最新のモジュールが入ることになりサーバ間でモジュールのバージョンの差異が生まれる可能性があります。 そこで対応策として考えられるのが開発サーバで—installdepsを実行
近年、Webデータを使ったデータマイニングが活況を呈していますので、WebのスクレーピングをしてDBにためておきたいというニーズが少なからずあると思います。 Perl環境であれば、スクレーピングしたHTMLをDBに貯める前にutf8に変換しておきたいので、HTMLから文字コードを取り出したいと思います。そんなときに試行錯誤して調べた、PerlのWeb::Scraperを使った文字コードを抜き出す方法紹介します。なお、この記事はhachioji.pmにおける発表に基づいています。 不完全な方法 Web::Scraperを使って、簡単に一発で抜き出すには、パっと思いつくのは以下のような方法です。 use strict; use warnings; use Web::Scraper; use Test::More; my $html = '<meta HTTP-EQUIV="content-ty
わかってしまえば単純なことでした。 process 'a[href=~/\.jpe?g$/]', 'urls[]' => '@href'; XPathでも同じようにできます。 process '//a[@href =~ /\.jpe?g$/]', 'urls[]' => '@href'; Web::Scraperにはフィルタの概念があって、取得してからごにょごにょできるので、そっちのほうばかり調べていました。 例えば以下のようなHTMLの場合、そのまま取得すると、前後に改行が入ってしまいます。 <title> タイトルなのだ </title> で、それを取得する時に、前後の改行を削除してやることができます。 process 'title', 'title' => ['TEXT', sub { s/^\s+//o; s/\s+$//o; } ]; こういう機能をフィルタと呼んでいます。 その
今すぐフォローすべきnode.js界のスーパーエンジニア - 大人になったら肺呼吸の記事に便乗しまして。 独断と偏見に基づいて、自分がフォローしているPerl界隈の人から数人をピックアップして並べてみます。 @dankogaiさん blog: 404 Blog Not Found Perlへの言及はそれほど多くないけど 要所要所で鋭いツッコミが @hidekさん blog: hide-k.net#blog 同じ会社の人たちとの絡みが面白い。深夜のDJも注目 @Yappoさん blog: YappoLogs 基本的にネタ発言が多いけど面白いので大好きです @acotieさん blog: iDeaList::Writing Perl界の女性エンジニアでは最も有名? @kamipoさん blog: かみぽわーる MySQLとかインフラな話とか。空mentionすると瞬時に返してくれるbot @w
サーバが重かった原因は別だったんだけど、某サービスでメールを受信してプログラムを起動する際のコストが大きいんじゃないかという話をしたので、以下のようなことを考えてみた。 qmailを使っている場合、届いたメールをプログラムで処理したい場合は .qmail に | /path/to/program.pl と書きます。標準入力にメールの内容が渡され、環境変数等を通して表書き発送者アドレス等が取得できます。postfix でも master.cf にtransportを追加し、mapファイルを変更すると大体同じことができます。 参考: RailsとPostfixで受信メールを処理する方法 ただし、この方法だとメールの受信の度にプログラムを起動(exec)するコストが高くなりがちです。特にデータベースに接続したり、アプリケーションのライブラリを読み込んで行くと起動の負荷が上がって行ってしまいます。
とあるDBを利用したバッチ処理をやらせようとした時に #スクリプトの一部分 my @list1 = (適当なリストその1); my @list2 = (適当なリストその2); foreach my $value1 (@list1){ foreach my $value2(@list2){ #DBに接続して、あるテーブルのレコード件数countする→ #その結果を別テーブルにUPDATEするSQL実行処理; } }というまあ、foreachでグルグルグルグル回すスクリプトを書いたんですね。 で、まぁこれがクソ重かったんですね。テーブルのデータは全部メモリ上に載っているんですが、 10GB(1億レコードぐらい)ぐらいのテーブルで順番に$value1,$value2の変数を条件に使ってCOUNT()を使用した SELECT文を投げるので、一つのSQL投げたらDB側のCPUコアが100%になってし
hachiojipmに行ってきたのですが#4でも#5でもTestを書くのが難しいという声が聞こえたので「テストは書いてみると簡単」「テストがあると開発が楽」という事を伝えてみようと努力する試みです。 ということでサンプルコードを書いてみました。 https://github.com/okamuuu/Sample-Plack-Test 紹介するサンプルコードについて ここで紹介しているスクリプトはある男がBlogを作ろうと思ったがどうせたいしたことしないので俺俺WaFをつくってやろうとして実際にやったテスト駆動開発です。 おもむろにt/web.tとかつくってみる 最初にテストを書いてみましょう。 #!/usr/bin/env perl use strict; use warnings; use Test::Most; use Plack::Test; use HTTP::Request::C
サキとは彼女の自宅近く、湘南台駅前のスーパーマーケットで待ち合わせをした。彼女は自転車で後から追いつくと言い、僕は大きなコインパーキングへ車を停めた。煙草を一本吸ってからスーパーマーケットへ向かうと、ひっきりなしに主婦的な女性かおばあちゃんが入り口を出たり入ったりしていた。時刻は午後5時になる。時計から目を上げると、待たせちゃったわねと大して悪びれてない様子でサキが手ぶらでやってきた。 お礼に料理を作るとはいえ、サキの家には食材が十分足りていないらしく、こうしてスーパーマーケットに寄ることになった。サキは野菜コーナーから精肉コーナーまで、まるで優秀なカーナビに導かれるように無駄なく点検していった。欲しい食材があると、2秒間程度それらを凝視し、一度手に取ったじゃがいもやら豚肉やらを迷うことなく僕が持っているカゴに放り込んだ。最後にアルコール飲料が冷やされている棚の前へ行くと、私が飲むからとチ
0. 前提 0.1 はじめに 以前、Perl のテストについてという記事を書きました。2008年の記事なのですが、現在もそこそこのアクセスがあるようです。 ただ、Test::More がアップグレードされて新しい書き方ができるようになったり、そもそも僕自身のプログラムの書き方が少しずつ変わってきているので、いつまでも古い記事を見てもらうのもどうかな、と思い、2011年バージョンをつくってみました。(ちょっとしか改定してませんが。。。)DB まわりのテストに関しては、また次回。 0.2 対象 Perl は書けるが、Perl のテストコードを書いたことが無い人。 0.3 動作確認環境 % uname -a FreeBSD over.tsucchi.mydns.jp 8.2-RELEASE FreeBSD 8.2-RELEASE #1: Sun Feb 27 23:51:01 JST 2011
cpanmのように素のPerlだけで余裕で動くぜっていう配布物を作る時に便利な小道具×2です。 App::FatPacker App::FatPackerとは、依存モジュールを全て1つのファイルに押し込んでパックしてくれるライブラリです。 1枚のスクリプトに全てをまとめてくれるApp::FatPacker Module::CoreList CGI の配布や、アプリケーションの配布のときに、どのモジュールがどのバージョンから 標準添付になったのかを知りたくなります。 Module::CoreList - 標準添付ライブラリかどうかを調べる 後はHTTP::Tiny だとかText::MicroTemplate とかPurePerl で小粒なモジュールを集めれば、レトロでCPANモジュールがメンテされてない環境でも動作するスクリプトを、割とモダンな構成で作れて大変気分が良くなります。 ちなみに
2011年05月26日19:00 カテゴリLightweight Languages perl - 勝手に添削 - Perl中級者への道 ああ、ラクダ本の訳者ともあろうお方が… Programming Perl (原著) 日本語vol1. | 日本語vol2. Perl中級者への道 (近藤 嘉雪, at PerlCasual #4) Perl中級者への道 (近藤 嘉雪, at PerlCasual #4) View more presentations from 近藤 嘉雪 問題は、32ページ目。 open DATA, "<mydata" or die "Cannot open 'mydata': $!\n"; while (<DATA>) { print $_; } close DATA; 翡翠賞、じゃかった、非推奨なのはいいとして、問題は今は亡きPerl 4 から非推奨どころか致命的間
This is the documentation of version 1.50. You may want the documentation of the stable version (2.0) or of the well tested 2.1 development snapshot or our homepage. How to make perl faster Measure, don't guess Regexps Functions Miscellaneous The biggest tuning gains will usually come from algorithmic improvements. But while these can be hard to find, there is also a lot you can do mechanically. M
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く