サービス終了のお知らせ いつもYahoo! JAPANのサービスをご利用いただき誠にありがとうございます。 お客様がアクセスされたサービスは本日までにサービスを終了いたしました。 今後ともYahoo! JAPANのサービスをご愛顧くださいますよう、よろしくお願いいたします。
Perl › 基礎文法 ITの現場でPerlが必要になって、今勉強しているという方はおられませんか? 他の言語をある程度知っている方が「Perl基礎文法最速マスター」を読めば、Perlの使い方の基礎をマスターしてPerlを書くことができるようになっています。 基礎 文法チェック 文法をチェックを厳しくするために最初に必ず次の2行を書くようにします。 use strict; use warnings; 「use strict」と「use warnings」という2行を加えることで事前に文法チェックが行われるので、ソースコードを記述する作業は速くなり、コードの品質が上がります。 print関数 文字列を出力するにはprint関数を使用します。 print "Hello world"; Perlでは標準関数や事前に定義されている関数で括弧を省略することができます。 コメント Perlのコメントで
2008年03月14日12:45 カテゴリLightweight LanguagesTips perl - 勝手に添削 - 神経質(A型)なPerlハッカーあるある あきまへんなあ。 神経質(A型)なPerlハッカーあるある - D-6 [相変わらず根無し] if ($foo eq 'XXX' || $foo eq 'YYY')を if ($foo =~ /^(XXX|YYY)$/) に書き直したくなる 速度的にも、正規表現よりも eq || eq の方がいい場合が多いのよ。 #!/usr/local/bin/perl use strict; use warnings; use Benchmark qw/timethese cmpthese/; my @mongers = qw/dankogai dconway dmaki drolsky/; my %who = map { $_ => 1
2009年06月08日14:30 カテゴリLightweight Languages perl - use encoding; #は黒歴史 ぎゃあぁぁ length関数で文字列の長さを求める - perl初心者BLOG - Hatena::Group::Perl 日本語の文字数を正確に求めたい場合、use encodingを指定する use encoding;は、jperlなど、かつて存在したL10Nされたperl用に書かれたレガシースクリプトを、モダンperlで動かすときのためのおまじないです。こういう目的で利用すべきではありません。 このあたりのことは、以前 404 Blog Not Found:perl - no encoding; # whenever possible でも書いたのですが、大事なことなのでまた書きます。 スクリプトはUTF-8で書き、use utf8;する のがモ
2009年06月23日15:30 カテゴリLightweight Languages perl - use CGI; use Encode; # 非英語Webプログラミング3原則 これは、実はPerlに限らず未だに事実だったりするのですが.... Perl でフォームデータから UTF-8 日本語文字をとりだす方法 (プログラミングの小石・大石) UTF-8 のフォームによっておくられたデータのなかから日本語文字をとりだすことは,日本の Perl CGI プログラマならたいてい必要になることである. ところが,その方法は意外に確立されていないようにみえる. しかし、元発言の方法は先祖帰りすぎるので。 Perlプログラマー以外にも、Webプログラマーであれば有用なentryです。 PerlでWebプログラミングする場合の三原則 QueryはCGIモジュールで処理する 文字コードはEncode
複数のプロセスでロック状態が異常であると判断し,そのうちの 1つがロックを解除したことにより,別のプロセスがロックしたにもか かわらず,先ほどロック状態が異常であると判断したプロセスによってこの正常なロッ クを解除されてしまう可能性があります. この方法の問題点は,異常なロック状態を解除する操作が正常なロック状態をも 解除できてしまうことにあります.逆に言えば,異常なロック状態を解除する操作に よって正常なロック状態を解除できなければ問題ないわけです.そのためにはどうす ればよいのか? 答えはロック状態が常に変化していけば よいということです.そして,これを実現するのに都合がよいのが rename による方法になります. 最初のスクリプトで説明しますと,ロックファイルが lockfile という 名前のときがロックが解除されている状態で,lockfile987654321 のよう に後ろに
3年ぶりの更新というわけで、まさしく3年寝太郎状態なわけですが。 今日は今巷を賑わせているJSON SQL Injectionについてです。 DeNA Engineers' Blog [ Technology of DeNA ] JSON SQL Injection、PHPならJSONなしでもできるよ | 徳丸浩の日記 徳丸さんの記事で紹介されていたように、僕が作ったSQL_Abstractでも同様の問題が発生するとのことです。 SQL::Makerのようにstrictモードを導入するかどうかも一応考えたのですが、PHP版SQL_Abstract自体PHP5でも動作はしますがPHP4時代のコードですし、そもそもそんなに使われてないだろう(泣)いうことで今回は見送ることにしました。(ちょっと今すぐ時間が取れないという状況もありまして・・・) またstrictモードを導入したとしてもSQL_A
さて、まさか続編書くと思わなかったけど、d:id:ZIGOROu:20090731:1249050735 の続きです。 追記 (2009-08-15T00:30:56+09:00) ちなみに、下記で紹介してる方法は一般的には DBI の資産がたくさん合ってモゴモゴな状況をどうするか…みたいな状況の人向けです。 一般的には宜しくないです、と言うことを踏まえてどうぞ。 DBI の拡張をサブクラスを用いて行う Subclassing the DBI にちゃんと書いてあるんですが、DBI はサブクラスを作る為の環境が整っています。 論より証拠、実際の例です。 #!/usr/bin/perl use strict; use warnings; use DBI; use YAML; { package DBIx::Hideki; use base qw(DBI); package DBIx::Hide
この記事は,日経ソフトウエア2006年9月号,連載「簡単実装で学ぶWeb技術2006」の第3回「Catalyst――Perl向けWebアプリ・フレームワーク」の再録です。記事は執筆時の情報に基づいており,現在では異なる場合があります。 こんにちは,結城浩です。今回はPerlのWebアプリケーション・フレームワーク「Catalyst」を解説し,簡単なメモ帳プログラムを作ります。 Catalyst(カタリスト)は,Perlで作られたWebアプリケーション・フレームワークです。Catalystを使うと,Webアプリを簡単に作成・テスト・配布することができます。catalystという単語のそもそもの意味は,「触媒」あるいは「促進させるもの」です。Perlのモジュール同士を触媒のようにうまく結びつけて,Webアプリ作成を促進させるという意味の名前なのでしょう。 Catalystのオフィシャルページは
2007年03月11日03:30 カテゴリLightweight Languages perl - Inside-out Object ところが、そのないはずの隠蔽化を強制する仕組みがすでに発見されているのです。 Perl Best Practices Damian Conway [邦訳:Perlベストプラクティス] ビンゴ中西のほげほげ Kansai.pm第8回ミーティングに行ってきました@荷造り中そして、Perlのオブジェクト指向には 隠蔽化を強制する仕組みはない いつか書こうと思っていたけど、ちょうどいい機会なので。 ここでは例として、name,uriという二つのインスタンス変数を持つオブジェクトを実装してみます。 InsideOut.pm { package InsideOut; use strict; use warnings; my %objects; sub new { my
題名 Catalyst::Manual::Intro - はじめてのCatalyst 説明 ここではなぜ、またどうやってCatalystを使うのかを簡単に紹介します。Catalystの挙動について説明し、簡単なアプリケーションを手早く立ち上げる様子をご覧に入れます。 Catalystとは? Catalystとはエレガントなウェブ・アプリケーション・フレームワークです。きわめて柔軟なのにきわめてシンプル。Ruby on RailsやSpring (Java)、そしてCatalystの元となったMaypoleによく似ています。 MVC Catalystはモデル・ビュー・コントローラ(MVC)というデザイン・パターンを踏襲しているため、コンテンツ、プレゼンテーション、フロー管理といった問題を簡単に切り分けて独立したモジュールにすることができます。こうして切り分けることで他の問題を処
個人で開発している場合は、Class::Accessor や Class::MethodMaker で十分だと思うが、チームで開発する場合は、積極的に Class::Std を使っていこうと思う。 基本的な概念 package HOGE; use strict; use warnings; use Class::Std; { # Attributes my %name_of :ATTR( :name<name> ); my %age_of :ATTR( :name<age> ); } 1;Class::Std を使う場合、無名 Hash のリファレンスではなく、無名 Scalar のリファレンスが bless される。 Attribute にアクセスする場合、従来の Hash リファレンスを bless する形式では、Class の利用者が自由に Attribute にアクセスできたり、勝
Perlベストプラクティスを参照してClass::Stdを利用したインサイドアウトクラスを使うようにしてみたので、基本のところを整理しておきます。 前提など 確認環境は、perl5.8.8です。 Class::Stdを使用するのでcpanよりインストールします。 $sudo cpan install Class::Std インサイドアウトクラス、Class::Stdを使用する目的などですが.. インサイドアウトクラスを使うことによりインスタンス属性へのカプセル化をする。通常のブレスされたハッシュを使う方法だと、ハッシュでのアクセスと同様の方法で属性にアクセスできてしまうので、属性をレキシカルなハッシュで管理する。 インサイドアウトクラスを使うと属性ごとのハッシュでのインスタンスデータの管理が行われる。インスタンス破棄時にそのハッシュデータのクリーンが必要ななるが、個々にたっているとメンドー
名前¶ DBIx::Class::Manual::Cookbook - レシピいろいろ レシピ¶ 検索¶ ページ処理された結果セット¶ When you expect a large number of results, you can ask DBIx::Class for a paged resultset, which will fetch only a small number of records at a time: 結果セットが膨大になりそうなら、ページ処理された結果をDBIx::Classで取得できます。 一回に、少しのレコードしかとってきません: my $rs = $schema->resultset('Artist')->search( undef, { page => 1, # page to return (defaults to 1) rows => 10, #
サキとは彼女の自宅近く、湘南台駅前のスーパーマーケットで待ち合わせをした。彼女は自転車で後から追いつくと言い、僕は大きなコインパーキングへ車を停めた。煙草を一本吸ってからスーパーマーケットへ向かうと、ひっきりなしに主婦的な女性かおばあちゃんが入り口を出たり入ったりしていた。時刻は午後5時になる。時計から目を上げると、待たせちゃったわねと大して悪びれてない様子でサキが手ぶらでやってきた。 お礼に料理を作るとはいえ、サキの家には食材が十分足りていないらしく、こうしてスーパーマーケットに寄ることになった。サキは野菜コーナーから精肉コーナーまで、まるで優秀なカーナビに導かれるように無駄なく点検していった。欲しい食材があると、2秒間程度それらを凝視し、一度手に取ったじゃがいもやら豚肉やらを迷うことなく僕が持っているカゴに放り込んだ。最後にアルコール飲料が冷やされている棚の前へ行くと、私が飲むからとチ
新しいサーバに必要な CPAN モジュールをインストールしまくっているのですが、これまたいつもハマル場所で躓きました。やっぱり些細なことをチマチマとブログの記事に備忘録として登録しておくことも重要だと思い、書いてます。 今回の躓きどころは、GD のインストール。libiconv_open エラーが出る場合の対処方法です。あまり深追いをしてないので、原因追及はなし。libiconv のインストールの仕方がマズイのか、予めインストールされている rpm 環境が影響しているのかは不明。 取りあえず、対処方法のみで。。。 GD モジュールの make 時のエラー Checking if your kit is complete... Looks good Unrecognized argument in LIBS ignored: '/usr/local/lib/libiconv.so' Unre
GD::Graphモジュール(日本語チョウ訳) Ver.1.32 by Hippo2000(2001/2/10) GD::Graphモジュールなのです。GIFgraphの後継にあたります。GD自体の機能アップもあってTrueTypeを利用することにより。日本語も使えるようにもなりました。(^^)v。これについてはGD::Textをごらんください。 原本の著作権はMartien Verbruggen 氏がお持ちです(詳しくは著作権情報を見てください)。Martien Verbruggen 氏からは、メールで了解をいただきました。Thank you, Mr Verbruggen! 内容等が間違っていたら修正します。ご連絡ください。 GD::Graphには以下のサブクラスがあります モジュール 説 明 名前 概略 説明 使用例 使用法 メソッド メソッド(全グラフ共通) メソッド(円グラフ) メ
我们会把你的清洁提升到一个全新的水平! 我们的 对细节的关注 和 无与伦比的质量 使我们成为 最受欢迎的选择 为企业和业主 冬天的花园 在整个 佛罗里达南部和中部. 我们训练有素,经验丰富 清洁人员 使用经过验证的清洁方法和技术,可以取得显著的效果. 我们根据您的清洁需求提供定制服务. 我们的 努力工作的服务提供者 准时到达,非常礼貌,尊重你的隐私.
これらすべてが必要なわけではありません。OS によっては、すでにインストールされているものもあります。 インストール 必要なモジュールを入手したら、それらをインストールする必要があります。OSによって、入手しなければならないモジュールが異なります。ここでは、RedHat Linux 9 を利用して説明します。RedHat Linux 9 ではほとんどのライブラリがインストールされています。以下では、必要なモジュールのインストールのみ記述しています。また、Perl のバージョンが 5.6.0 以上でなければなりません。 インストールはスーパーユーザーで作業 GD Perl モジュールのインストール # gzip -dc GD-1.41.tar.gz | tar xf - # cd GD-1.41 # perl Makefile.PL ... Build JPEG support? [y] <
インターン講義初日「Perlによるオブジェクト指向プログラミング」by id:hakobe932の資料と録画を公開します。前半はUst放送が安定しなかったため、録画は後半のみとなってしまっています。 明日はAM10:30より、JavaScript で学ぶ イベントドリブン(id:cho45)を放送しますので、是非ご覧ください。Ustream放送の機材調整もしておりますので、安定した放送ができると思います。 自己紹介 id:hakobe932 (はこべ) はてなスタッフ1年生 はてなココチームのエンジニア Perlだいすき! JavaScript/Ruby/Javaも使います。 最近はScalaがブームです。型かわいい インターン1期生でした きっちり2年前 この講義の目的 明日以降、Perlではまらない 今日、いろいろやって、なるべくはまってください 疑問があったらどんどん質問してください
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く