まだまだたくさんあるよ! Acmeモジュール ほかにもたくさんあるAcmeモジュールの中から、本当に一部ですがお勧めのものを表1にまとめました[3]。ここに挙げたもののいくつかは、よそでも紹介されている有名なものです。ぜひ実際にインストールして動作を確かめてみてください。 表1 お勧めAcmeモジュール
![第19回 Acmeで広がるPerlの世界―CPANは愉快なジョークモジュールの宝庫(2) | gihyo.jp](https://cdn-ak-scissors.b.st-hatena.com/image/square/b4abdbaf3f58dd9491ed8749cea9d7d68d38f355/height=288;version=1;width=512/https%3A%2F%2Fgihyo.jp%2Fassets%2Fimages%2FICON%2F2022%2F1905_perl-hackers-hub.png)
まだまだたくさんあるよ! Acmeモジュール ほかにもたくさんあるAcmeモジュールの中から、本当に一部ですがお勧めのものを表1にまとめました[3]。ここに挙げたもののいくつかは、よそでも紹介されている有名なものです。ぜひ実際にインストールして動作を確かめてみてください。 表1 お勧めAcmeモジュール
本連載では第一線のPerlハッカーが回替わりで執筆していきます。今回は同人誌『Acme大全』の発行者として知られるまかまか般若波羅蜜(はんにゃはらみつ)さんで、テーマはAcmeモジュールです。 Perlの徒花(あだばな)Acmeモジュール Perlでいつもお世話になるCPANモジュールですが、中には役に立たないジョーク系のモジュールもあります。そのようなモジュールには慣習的に「Acme」という名前が付けられていて、現在CPAN上には400個以上のディストリビューションが登録されています。 もともとCPANには特に名前付けのルールもなくジョークモジュールがリリースされていました。しかしそのようなモジュールが多くなるにつれ、何とかしようということでPerlコミュニティの重鎮Damian ConwayによってAcmeという名前空間が提唱されました。この名前の由来は、アメリカのアニメ「バッグス・バ
"言葉には言霊が宿る"と昔から言われていますが、声に出した言葉は現実に影響を与えてしまう力があるようです。「このNUCいいなぁ」とつぶやいたら、Ubuntu Japanese Teamの黒幕の人に「お買い上げRecipe執筆よろしくお願いします」と言われ、気がついたら購入ボタンをポチっと押してました。言霊こわいよ言霊! 今回は、NUCという小型PCならびにThunderboltをUbuntuで使う方法を紹介します。 NUC旋風の到来 2012年末ごろから自作PC分野でNUCという小型PCが話題になっています。NUC(Next Unit of Computing)とは、Intelによってデザインされた小型PCフォームファクターのことで、約10cm四方の手のひらに乗せられるほどのサイズのPCです。CDケースを4枚重ねたものより一回り小さい,と言えば想像がつくでしょうか。これほど小さなため、V
2013年3月19日紙版発売 2013年3月19日電子版発売 雨宮美季,片岡玄一,橋詰卓司 著 A5判/240ページ 定価2,508円(本体2,280円+税10%) ISBN 978-4-7741-5594-4 ただいま弊社在庫はございません。 →本書の新版が発行されています。 本書のサポートページサンプルファイルのダウンロードや正誤表など この本の概要 「利用規約なんてどうせ読まれないし」 「まるごとパクればいいんじゃないの」 「免責しとけばなんとかなるよ」 と思ってませんか? 本書は,多くのベンチャー企業の支援を通じてウェブサービスに関するリーガルサポートを数多く手がけている弁護士と,スタートアップ企業から上場企業までさまざまな規模・業態の企業でウェブサービスの運営をサポートしてきた法務担当者2人が,その経験をもとに,「ウェブサービスを安全に・円滑に運営するために本当に気を配る必要のあ
こんにちは。YAPC::Asiaに関わって5年目, 今年gihyo.jpのレポーターにデビューする中村です。 開催7回目にして来場者700名を突破する予定のPerlのお祭り「YAPC::Asia Tokyo 2012」が9月27日(木)、28日(金), 29日(土)の3日間にわたり開催されます。場所は、今までの東京工業大学大岡山キャンパスから拠点を移動し, 東京大学伊藤国際学術研究センターです。 本稿では、YAPC::Asia Tokyo 2012の見どころ, そして今年積極的に試みられている様々なサブイベントなどを前後編に分けてご紹介します。 来場者見込み700名!今年のYAPCは新たなステージへ 昨年のYAPC::Asia Tokyo 2011のクロージングトークにおいて、YAPCを運営するJPAの牧さんが「来年のYAPC::Asiaの開催は今のところ未定」と言及していたように,
激動の2011年 OpenOffice.orgにとって2011年は、激動の年でした。 これは昨年寄稿させていただいたOpenOffice.orgについての新春特別企画記事と同じ書き出しですが、実のところ一昨年よりも昨年のほうがずっと激動の一年だったと言えます。 なお、昨年の記事を踏まえて、今年のこの記事を読んでいただけるとより理解が深まるはずです。少しばかり振り返っておくと、Oracleは2010年10月13日(OpenOffice.org 10周年の日)に「Oracle Demonstrates Continued Support for OpenOffice.org」(参考訳: OracleはOpenOffice.orgのサポート継続を明示します)というプレスリリースを発表しています。これを読んだ筆者はOracleが少なくとも2011年内にOpenOffice.orgを手放すようなこ
本連載では第一線のPerlハッカーが回替わりで執筆していきます。今回のハッカーはDeNAの嶋田裕二さんで、テーマは「高速なWeb APIの実装とテスト」です。 Web APIの基礎知識 はじめまして、DeNAでMobageオープンプラットフォームのWeb API(以降Mobage API)を実装しているxaicronです。Mobageオープンプラットフォームは、Mobageの機能をWeb APIを通して外部の開発者に公開することにより、ソーシャルゲームをユーザに提供するサービスです。 簡単に説明するとWeb APIとは、HTTPを利用してネットワーク越しに処理を行い、結果を返すしくみです。最近ではJSON(JavaScript Object Notation)というフォーマットを利用してデータのやりとりをすることが多くなっており、Mobage APIも基本的にはJSONを受け取って処理を行
JPAでYAPC::Asiaを担当している櫛井です。 今年も国内最大のPerlのイベント「YAPC::Asia Tokyo 2011」が10月14日(金)、15日(土)に開催されます。場所は、昨年と同じく東京工業大学大岡山キャンパスです。 第1回目、第2回目に続き、最終回である今回は、今年のYAPC::Asiaにてゲストスピーカーとしてご登壇されるhidek氏にお話を伺いました。 木村秀夫(きむらひでお) 株式会社ディー・エヌ・エー所属。ISPにてエンジニアのキャリアをスタート。独立・起業、キャリア系ホスティング会社などを経て、2009年株式会社ディー・エヌ・エーに入社。同社が運営しているSNS、Mobage(旧称モバゲータウン)のオープンプラットフォームの立ち上げに参加。現在は同社のプラットフォームを開発・運用しているグループにてマネージャーを担当。 YAPCはお祭り! ―今回でYA
JPAでYAPC::Asiaを担当している櫛井です。 今年も国内最大のPerlのイベント「YAPC::Asia Tokyo 2011」が10月14日(金)、15日(土)に開催されます。場所は、昨年と同じく東京工業大学大岡山キャンパスです。 前回に続き、第二回目は昨年のYAPC::Asia 2010 にてベストスピーカー賞を受賞されたtokuhirom氏にお話を伺いました。 tokuhirom(とくながひろむ) サブテク所属。生き馬の目をぬく東京で育ち、Perl5 を中心としたウェブ開発を主におこなっている。詳細は以下のとおり http://github.com/tokuhirom/ 狙って取ったベストスピーカー賞! ―昨年から始めたトーク投票で、見事ベストスピーカー賞でしたね。エピソードなどあればお聞きしたいのですが。 tokuhirom:ありがとうございます、ベストスピーカー賞は本気
JPAでYAPC::Asiaを担当している櫛井です。 今年も国内最大のPerlのイベント「YAPC::Asia Tokyo 2011」が10月14日(金)、15日(土)に開催されます。場所は、昨年と同じく東京工業大学大岡山キャンパスです。 本稿では、YAPC::Asia Tokyo 2011の見所を数回にわたって紹介していきたいと思います。第一回目はYAPC::Asiaの運営を行っているJapanPerlAssociation(以下、JPA)で代表理事をされている牧大輔氏にお話を伺いました。 牧大輔(まきだいすけ) Japan Perl Association代表理事、株式会社ライブドア 所属。ブラジル、アメリカで育ち、Network Appliance Inc.勤務後帰国。Perl/C/MySQLなどのオープンソース技術を使ったシステム開発をメインに、講師、コンサルティング、執筆活動
技術評論社は8月29日、電子出版サービス「Gihyo Digital Publishing(GDP)」を開始した。 WEB技術にこだわった電子出版サービス GDPは、技術評論社がこれまで取り組んできた専用アプリケーション向けの電子出版に加えて、新たにWEBをベースでいつでもどこでも手軽に読める、魅力的かつ実用的なコンテンツを提供することを目的に開発された。サービス構築のうえでこだわったのは、WEBの技術を使い切ること。ブラウザで快適に読み進むことができるWEB形式や、実用化が急速に進むEPUB形式のコンテンツ提供を中心に展開していく。 プロジェクトを指揮する技術評論社 クロスメディア事業部 馮富久のメッセージ ──“電子出版元年”と言われた2010年を承け、2011年は電子出版の2年目と位置付けられています。その過程で見えてきた“イマドキ”の電子出版のメリット・デメリットをふ
本連載では第一線のPerlハッカーが回替わりで執筆していきます。今回のハッカーはmixiの広木大地さんで、テーマは「大規模システム開発・設計のツボ」です。 仕事やOSS(Open Source Software)プロジェクトでPerlを用いた多人数開発をするにあたって気をつけるべきことや、品質を維持するためのノウハウを、国内最大級のPerlシステムであるmixiの事例をベースに紹介します。コーディング上の命名に関する考え方から、大規模アーキテクチャの設計や品質の数値化まで、ミクロからマクロに至るポリシーやテクニックを駆け足で解説します。 なお、今回の内容は(株)ミクシィの2010年度の新卒エンジニア技術教育メニューからの抜粋になります。これからPerl をはじめとするLL(Lightweight Language、軽量言語)を仕事で使うというフレッシュエンジニアのみなさんにも、ぜひご一
TTの本体を差し替える 前回はウェブ業界で標準的に使われているTemplate Toolkitをより安全に使うためのカスタマイズ方法をいくつか紹介しました。しばしば批判の対象となってきたエスケープの問題については、TTでも適切な拡張を施せば後発のモジュールと遜色ないか、それ以上に便利に使えることは確認できたかと思います。 ただし、エスケープの仕方ひとつとってもさまざまなやり方があったように、TTは、柔軟である代償として速度面ではかなりの不利を抱えています。 もっとも、不利といってもそれはいまの、しかもかなり規模の大きな現場の視点で見たときの話で、数年前、おもなライバルがHTML::Mason(と、機能面で大きな差があるHTML::Template)だった時代にはTTも十分に高速といえましたし[1]、中小規模のサイトではいまでもTTで十分なレスポンスは得られます。 また、かれこれ10年近く
IPv6対応への道しるべ 第2回単なるIPv6対応と、使えるレベルの対応はまったく別の話─Tokyo6to4プロジェクト 白畑真氏、大久保修一氏 第2回は、Tokyo6to4プロジェクトの白畑真氏(株式会社クララオンライン)と大久保修一氏(さくらインターネット株式会社)にお話を伺いました。 ISPなどから直接IPv6サービスを利用できないユーザなどに対して、IPv4を経由したIPv6接続性を提供するサービスを運用している経験から、今後のIPv4/IPv6混在環境でユーザが気をつけるべきことを伺いました。 白畑真氏(左)と大久保修一氏(右) 6to4は、IPv4の接続性しかないユーザがIPv6を利用できるようにするプロトコルで、10年以上前から存在していました。2008年まで、日本国内で6to4のゲートウェイが存在しなかったので、気づかずに全てのIPv6通信をアメリカ経由で行ってしまっている
OpenBlockSとは 本連載で取り上げる「OpenBlockS」は、ひと言で言えば手のひらに乗るLinuxサーバです。その歴史は10年前の2000年にさかのぼり、OpenBlockS(初代)、OpenBlockSS、OpenBlockS 266、そして2009年9月から販売が開始されたOpenBlockS 600へとハード面、ソフト面ともに機能強化しつつ使い続けられている実績のある製品です。 この小さなボディに、意外なほどの汎用性が秘められていることは運用事例を見ればわかります。高信頼、堅牢で安定稼働であることが認められ、たとえばグループウェアサーバやVPN運用ツール、IAサーバ、監視管理システムといった常時運用で落ちてはいけない認証系(監視等)での利用や、超小型にパッケージングされていることを生かしてアプライアンス製品のコアとして利用されるなどしています。 標準仕様 OpenBl
何でも埋め込めるのは楽ですが 前回紹介したHTML::MasonやText::MicroTemplateのように生のPerlコードを埋め込めるテンプレートエンジンは、Perlをよく知っている人が画面の設計からウェブアプリケーションのコーディングまでひとり(ないし、よく統制のとれた少人数のチーム)で行うときには非常に手軽で便利なものです。 ただし、なんでも書けるからといって、たとえばテンプレートの中でO/Rマッパのメソッドを直接呼び出すコードを書いてしまうと、そのテンプレートは(利用するO/Rマッパの性質にもよりますが)おそらく実際に動作するデータベースやそれに付随するテストデータを用意しないと、途中で「Can't call method "..." on an undefined value」などのエラーが発生してレンダリングできなくなってしまいます。また、アプリケーションの設定にあわせて
PHP 5.3.4のリリースは2010年12月にリリースされました。このリリースにはセキュリティ上重要な変更が追加されています。 Paths with NULL in them (foo\0bar.txt) are now considered as invalid. (Rasmus) パスに“foo\0bar.txt”などのようにNULLが含まれる場合は無効として処理される、とPHP 5.3.4のリリースノートには記載されています。PHP開発者の間でもあまり大きなニュースとして取り上げられていないので、この仕様変更をご存知でない方も多いと思います。2011年4月現在でもこの仕様変更はマニュアルには記載されていません。しかし、この修正はセキュリティ上非常に重要な意味を持っているので解説します。 仕様変更の必要性 PHP本体はC言語で記述されているため、ファイルを開く場合、最終的にはC言
ファイルの保存 ここまでいくつかの見落としがちな処理を見てきましたが、最後にどんなプログラマでも必ず行う「ファイルの保存」についての注意点を考察してみたいと思います。 ファイルを確実に書き込むためには、どのようなコードを書けばよいでしょうか。「fsync」を呼べばいい。それだけではありません。実際には、次の2点も必要になってきます。 (内容の差し替えだった場合に)書き換え途中の状態にならないこと ユーザに対して書き込み完了を返したあとは、ディスクがクラッシュしない限り、データが消えないこと UNIX系OSでこれらの要件を満たすには、まずテンポラリファイルに新しいデータを書いてディスクに同期し(①②)、(必要ならば)古いファイルをバックアップファイル名を使っても参照できるよう別名を付与し(③)、次にテンポラリファイルのファイル名を差し替え対象になっているファイルの名前に切り替え(
ネットワークプログラムとSIGPIPE 「私の書いたサーバが突然死するんです。どうしてでしょうか」という質問を受けることがあります。これは多くの場合、SIGPIPEの処理を忘れていることが原因です。SIGPIPEとは、切断されたネットワークソケットなどにデータを書き込もうとした際に送出されるUNIXシグナルです。特に設定しない限り、プロセスはSIGPIPEを受け取ると強制終了されます。そのため、通信が突然切断される可能性のあるTCPサーバにおいては、SIGPIPEを無視するよう設定する必要があります。 # デフォルトの動作(SIGPIPEの場合はプロセスの終了)に設定 $SIG{PIPE} = 'DEFAULT'; # SIGPIPEを無視するよう設定 $SIG{PIPE} = 'IGNORE'; # SIGPIPEを受信した際に実行するサブルーチンリファレンスを # 設定 $SIG{PI
forkとファイルハンドル UNIX系のOSでは、複数のプログラムが、それぞれプロセスという単位で動作しています。forkというシステムコール[1]が呼び出されると呼び出したプロセスの複製がOSによって作成され、複製されたプロセス(子プロセス)がexecveというシステムコールを使って別のプログラムにすり替わる、というしくみでさまざまな処理を実行するようになっています。 「複製」と言っても、全部の情報が複製されるわけではありません。プロセスのメモリイメージが複製される[2]一方で、プロセスが開いている「オープンファイル記述」(open file description)(注3)は複製されません。forkのあとは、親プロセスと子プロセスの両者が、単一のオープンファイル記述を指す「ファイル記述子」(file descriptor)(注4)を持つことになります(図2)。 図2 for
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く