タグ

ブックマーク / gihyo.jp (203)

  • 使える!サーバ運用の実践テクニック 記事一覧 | gihyo.jp

    第14回[キャリアアップ編⑤]varnishを使おう④─実践varnish 高岡将,xcir 2010-12-27

    使える!サーバ運用の実践テクニック 記事一覧 | gihyo.jp
  • 第1回 memcachedの起動オプションを把握しよう | gihyo.jp

    1.4系で新しく追加された主な機能しては バイナリプロトコルの導入 マルチスレッドの標準化 統計の強化 などが上げられます。この1.4系の機能の詳細については前坂徹氏の連載「memcached 1.4の到来」が参考となります。ここではバージョン1.2.5と最新の1.4.5の起動オプションを比較しながら、新しく追加された機能や実際の運用で用いられる起動オプションについて説明します。 1.2系と1.4系の起動オプションの違い まず、memcachedの起動オプションの一覧(ヘルプ)を確認しましょう。memcachedのヘルプを出力するには、「⁠-h」オプションを使います。 $ memcached -h memcached 1.x.x -p <num> TCP port number to listen on (default: 11211) -U <num> UDP port number t

    第1回 memcachedの起動オプションを把握しよう | gihyo.jp
  • 第35回 DBI:生のSQLが散らばると言う前に | gihyo.jp

    Perldbm いまでは省みられることも少なくなりましたが、Perlには1989年にリリースされたバージョン3.0以降、dbmと呼ばれるシンプルなデータベースにアクセスする機構が標準で組み込まれています。このdbmは、いわゆるリレーショナルデータベースとは違ってキーと値の組み合わせをディスクに保存できるだけのものですが、ハッシュ(当時はまだ連想配列と呼んでいました)と結びつけることでタブ区切りファイルなどを読んでいくより高速に検索ができたため、ユーザ環境に永続的なデータを保存する手段のひとつとして重宝されていました。Perl 3/4の時代にはdbmopenというコマンドが使われていましたが、この機構はPerl 5になって一新され、いまではより汎用的なtieというコマンドを使うことになっています。この仲間としては古くからあるBerkeley DBやGDBMなどのほか、最近では平林幹雄氏のT

    第35回 DBI:生のSQLが散らばると言う前に | gihyo.jp
    gfx
    gfx 2010/08/09
  • 第2回 AnyEventでイベント駆動プログラミング (1) | gihyo.jp

    連載では第一線のPerlハッカーが回替わりで執筆していきます。第2回は、Japan Perl Association代表理事の牧大輔さんで、テーマはAnyEventです。 はじめに 昨今のPerl界で最も熱い話題がイベント駆動プログラミングです。イベント駆動プログラミングはいわゆる「リアルタイムWeb」などと呼ばれる、大量のデータや接続をさばきつつも更新通知の速さが重要となるアプリケーションでは必須技術で、今後のエンジニアにとって最も重要な知識の一つと言えるでしょう。 イベント駆動プログラミング自体はPerlでも以前からさまざまな用途に使われてきましたが、それがまた見直されているのは、従来のイベント駆動プログラミング用ツールキットの使いやすさをはるかに凌駕するAnyEventというモジュールが成熟期を迎えたためです。 イベント駆動プログラミングとは AnyEventの解説に入る前に、簡単

    第2回 AnyEventでイベント駆動プログラミング (1) | gihyo.jp
  • 第34回 Perl Mongers:顔の見える仲間を増やそう | gihyo.jp

    もうひとつの.pm Perl 5のモジュールには.pmという拡張子をつけることになっています。このpmというのはもちろんPerl Moduleのことですが、Perlの世界ではもうひとつ、Perl Monger(s)という意味になることがある、というのもみなさんよくご存じのことでしょう。このmongerという単語は、もともとはあまりよろしくない物品を言葉巧みに売りつける行商人を意味していました。オックスフォードの大きな英語辞典で共起する取扱商品を拾ってみると、肉や魚、チーズといったにおいの強い産物から、奴隷や娼婦、あるいは流行、ニュース、スキャンダルといった無形のものまで、何かしら好ましくない要素をもつものが並んでいるのですから、自虐であれ謙遜であれ、Perlについても同列に理解するべきでしょう。その後生まれたPerlMonksのような言葉に比べると、Perl Mongersはもっと下世話な

    第34回 Perl Mongers:顔の見える仲間を増やそう | gihyo.jp
    gfx
    gfx 2010/06/30
    "Perl mongers"は「Perl屋」
  • PSGI/Plack - [Perl Hackers Hub]

    連載では、第一線のPerlハッカーが回替わりで執筆していきます。記念すべき第1回は、WEB+DB PRESS誌ではVol.2から執筆しており、長らく連載も担当していた宮川達彦さんです。 はじめに PerlでWeb開発をするためのフレームワークは百花繚乱、人気を集めています。稿では、これらのフレームワークが共通して利用するためのインタフェース仕様であるPSGIと、そのエンジンとしての実装であるPlackを紹介します。 PSGIに至る道 PerlとWebアプリケーション開発の親和性 Perlは「インターネットのグルー(糊:のり)言語」とも言われ、CGIによる開発がメインだった1990年代から、Webアプリケーション開発に最も関わりのあるプログラミング言語の一つと言ってよいでしょう。2000年代に入っても、Ruby on RailsPHPなどの他言語からの影響も取り入れながら、Web開発

    PSGI/Plack - [Perl Hackers Hub]
  • 第32回 Encode:日本語だけ扱えればよいのではなく | gihyo.jp

    一般的には推奨されないencodingプラグマ 前回取り上げたencodingプラグマは、簡単なjperl用のスクリプトを移植したい場合には便利ですが、perlunifaqというPerl付属のマニュアルにははっきり「Don't use it.」と書いてあるくらい、一般的には使えないプラグマと認識されています。 前回も見たように、encodingプラグマが対応しているのは、ソースコードに埋め込まれている文字列やそれに類する正規表現、そして標準入力からのデータを指定された文字コードからPerlの内部表現に変換し、標準出力へ出力する際には内部表現を指定された文字コードに変換することだけです。ほかのファイル入出力部分や、コマンドラインから受け取った引数、標準エラー出力などの変換は行わないので、ちょっと凝ったことをしようと思うと、結局「外から入ってきたものはデコード、外に出すものはエンコード」という

    第32回 Encode:日本語だけ扱えればよいのではなく | gihyo.jp
    gfx
    gfx 2010/05/31
    RT @gihyojp: モダンPerlの世界へようこそ「第32回 Encode:日本語だけ扱えればよいのではなく」by @charsbar 公開
  • 第31回 encoding:いつまでもjperlから抜け出せない方に | gihyo.jp

    いまさら使う人はいないと思っていますが かつて、jperlと呼ばれるものがありました。これは当時まだシングルバイト文字にしか対応していなかったPerl体にパッチをあてて日語(など)の2バイト文字をより直感的に扱えるようにしたもので、いまとなっては史料的価値しかありませんが、1990年代にはそれなりに重宝されていましたから、筆者を含めて、お世話になったことのある方も少なからずいることでしょう。 jperlはその後、ライブラリレベルで日語対応できるようにしたjcode.pl(1992年)や、その流れをくむJcode.pm(1999年)を経て、2000年にリリースされたPerl 5.6からは家のほうでUnicode対応が始まったことで、その歴史的役割を終え、開発も事実上終了したのですが、困ったことに、それから10年がたったいまなお、jperlを求めたり、勧めたりする動きはやまないようです

    第31回 encoding:いつまでもjperlから抜け出せない方に | gihyo.jp
    gfx
    gfx 2010/05/18
  • 第30回 Test::Class:ユニットテストに使うだけでなく | gihyo.jp

    メタデータからテスト件数を取得する 前回はテストファイルやテストデータの数からテストプランを計算するモジュールを紹介しました。今回はその続きとして、テストファイルのメタデータからテストの数を求めるモジュールを紹介していきましょう。これらのモジュールの多くは1994年にケント・ベック(Kent Beck)氏がSmalltalk向けに書いたSUnitを祖先にもつ、いわゆるxUnit系のフレームワークに属するものですが、Perlにはそれ以前からTest Anything Protocolを使った独自のテスト手法が存在していたため、Javaなどで使われている同種のフレームワークとはやや毛色の違う部分もあります。一般的にはクラスをひとつ書くたびに対応するユニットテスト用のクラスを書くのがよいように言われていますが、ここではもっとゆるく、テストを自動的に検出してくれるだけでなく、テストの事前事後になん

    第30回 Test::Class:ユニットテストに使うだけでなく | gihyo.jp
    gfx
    gfx 2010/05/05
  • FreeBSD Daily Topics:2010年4月19日 FreeBSD GCCを置き換えるLLVM Clang,広くテスト呼びかけ|gihyo.jp … 技術評論社

    FreeBSD Daily Topics 2010年4月19日FreeBSD GCCを置き換えるLLVM Clang、広くテスト呼びかけ src ClangBSD - LLVM Clang Call for Test Roman Divacky氏がメーリングリストにおいてLLVM ClangのFreeBSD統合が一定のレベルに達したとしてコミュニティに広くテストを呼びかけています。LLVM Clangがセルフホストに到達したこと、ClangのC++サポートが向上したこと、i386/amd64のシステムとカーネルのビルドと成功していることなどが背景にあります。 テストはClangBSDのブランチを取得してビルドすることで実施できます。作業の詳しい方法はBuildingFreeBSDWithClang - FreeBSD Wikiにまとまっています。いつ、どのタイミングでメインブランチに取り込

    FreeBSD Daily Topics:2010年4月19日 FreeBSD GCCを置き換えるLLVM Clang,広くテスト呼びかけ|gihyo.jp … 技術評論社
  • WEB+DB PRESS Vol.56

    2010年4月24日紙版発売 2014年12月23日電子版発売 B5判/200ページ 定価1,628円(体1,480円+税10%) ISBN 978-4-7741-4210-4 ただいま弊社在庫はございません。 Amazon 楽天ブックス ヨドバシ.com Fujisan(定期購読のみ) 電子版 Gihyo Digital Publishing honto 書のサポートページサンプルファイルのダウンロードや正誤表など 特集1 10年後も役立つ習慣を身につける! コーディングの基礎知識 仕事でコードを書くようになると,「どんな処理をしているのかがわかりやすい」「保守,機能追加が簡単」など,チームでの作業やコードを長くメンテナンスすることを視野に入れたコーディングが必要になります。社会人一年目の今,コードの書き方や考え方に関して良い習慣を身につけておけば,これからのプログラマ生活のさまざま

    WEB+DB PRESS Vol.56
    gfx
    gfx 2010/04/19
    Yappo先生の記事が読めるのはWeb+DBだけ!? < @Yappo: でてた
  • Software Design 2010年5月号

    2010年4月17日紙版発売 B5判/216ページ 定価1,341円(体1,219円+税10%) ただいま弊社在庫はございません。 Amazon 楽天ブックス ヨドバシ.com Fujisan(定期購読のみ) 書のサポートページサンプルファイルのダウンロードや正誤表など 第1特集 TwitteriPhone/クラウド時代を生き抜くための システム基盤の[新]常識 スマートフォン,分散化,検索技術,仮想化,大規模化 TwitteriPhone電子書籍などをはじめ,コンピュータ,ITによって世の中や社会のしくみが大きく変わる中,その付加価値の鍵はソフトウェアプログラムが握っているといっても過言ではありません。特集では,こうした流れの中で,新人エンジニアの方々がどんな知識・考え方を身に付けておく必要があるのか,マルチコア,分散化,検索技術,仮想化,大規模システム運用,スマートフォンな

    Software Design 2010年5月号
    gfx
    gfx 2010/04/16
  • 第29回 Test::Base:データ本位のテストをするときは | gihyo.jp

    テストは実行する前にも数えられるはず 前回、前々回と見てきたように、Test Anything Protocolでは来ひとつひとつのテストに連番が割り振られます。新しいテストを追加したければ、テストファイルの末尾に移動して、テスト番号をひとつずつ増やしながらテストを書き進め、終わったら先頭に戻って宣言部を更新する。先頭に戻るのが面倒であれば宣言部を末尾に移してもよいですが、いずれにしてもテストを追加し終わった時点でテストの件数はわかっているのですから、更新に困ることはないはずでした。 ところが、Perl 5の時代に入ってテスト用のモジュールが連番を振ってくれるようになった結果、テストの件数がわかりづらくなったため、no_planやdone_testingのように実際にテストを実行した回数をテストの総数とみなす手法が登場した――というのが前回の話でしたが、そういった妥協案は、Test An

    第29回 Test::Base:データ本位のテストをするときは | gihyo.jp
    gfx
    gfx 2010/04/05
    モダンPerl#29 / Test::Base使ったことないなあ
  • 第28回 Test::More:no_planからdone_testingへ | gihyo.jp

    計画的に実行するのはよいことですが 前回も紹介したように、Test Anything Protocolでは「これから10個のテストを実行します」と宣言する場合はこのように書くことになっていました。 use strict; print "1..10\n"; # 宣言部 for (1..10) { print "ok $_\n"; } このような宣言部の存在は、テスト結果をパースして分析するTest::Harnessのようなツールにとっては非常に便利なものですが、たとえば環境によってテストの数がかわるとき、あるいはテストファイルが非常に長くなってきたとき、はたまた多くの人が平行してファイルやテストの追加作業をしているため最後にマージするまでテストの数がわからないとき、事前にテストの数を把握していなければならないというのは、大きな制約にもなりえます。 単純そうに見えるTest Anything

    第28回 Test::More:no_planからdone_testingへ | gihyo.jp
    gfx
    gfx 2010/03/25
    モダンPerlの世界へようこそ#28
  • #23 えとらぼ 衛藤バタラ、廣瀬正明、大沢和宏、松野徳大 | gihyo.jp

    2006年4月以来、4年間に渡った連載、今回で最終回となりました。トリを飾るのは、写真ストレージサービス「Ficia(フィシア)」を開発しているえとらぼ(⁠株⁠)代表取締役の衛藤バタラさんと開発部の廣瀬正明さん、大沢和宏さん、松野徳大さんです。少数精鋭を地でいく面々に、会社の生い立ちからインタビューが始まりました。 撮影:武田康宏 新たに会社を始めた理由 弾:連載でいろんな方をインタビューしてきたんですけど、バタラさんはたぶん僕と一番境遇が近いんですよ。上場させた会社でCTOをやって[1]⁠、そこを辞めて。その後は、僕は1人で好きなようにやってますけど、バタラさんはまた会社を始めましたよね。その理由は? 衛藤バタラ(以下、バ⁠)⁠:会社というより、サービスを作りたかったんです。世の中にあるいろいろな写真ストレージサービスを見ていると、こうだったらいいのにと思うことがあって、それを形にす

    #23 えとらぼ 衛藤バタラ、廣瀬正明、大沢和宏、松野徳大 | gihyo.jp
  • 第27回 Test::Most:Test::Moreでは物足りなくなってきたら | gihyo.jp

    Test Anything Protocol Perlは非常にテストを重視している言語です。連載第14回ではPerl体のテスト数がどのように推移してきたかを、また連載第24回ではCPANモジュールの品質保証に大きな役割を果たしてきたCPANTSについて簡単に紹介しましたが、Perlとテストのつながりはそれだけではありません。CPANにはTestを名前に含むディストリビューションが500以上もあがっていますし(これは全ディストリビューション数の約2.5%にあたります⁠)⁠、Perlで標準的に使われているテスト形式はTest Anything Protocol (TAP)という名前を得て多くの言語に移植され、2008年からはIETFの標準化を目指した活動も始まっています――というと何やらすごいプロトコルのように聞こえるかもしれませんが、Test Anything Protocolというのは要

    第27回 Test::Most:Test::Moreでは物足りなくなってきたら | gihyo.jp
    gfx
    gfx 2010/03/08
    Test::Most
  • 第1回 買物をするときの傾向と分類4パターン+節約×データ分析型のホワイトデー対策 | gihyo.jp

    みなさんこんにちは。love_chocolateと申します(長いので、周りの人にはチョコさんとかチョコ姉とか呼ばれてます⁠)⁠。 なんとなくおわかりの通り、私はチョコレートが大好きです。 チョコレート好きは昔からで、学生時代には、某大手製菓メーカーで採用数400~500分の1という(蓋を開けたら)超狭き門をくぐり抜け、チョコレートの新製品開発マーケティングモニターチームで、実際に商品を製品化するまでの間、レポートを出したり意見を言ったりなどのお手伝いをするという超レアバイトをしたこともあります。 マニアにはほど遠いですが、普通の人たちよりはだいぶ過剰な比重で、日々、チョコレートのことを考えながら暮らしています。 いったい何をあげればいい? さて、題に入りますが、ホワイトデーって……ぶっちゃけ…面倒ですよね。 義理で渡されるチョコなんて、別に、どうしても欲しいものじゃないのに、空気を読む日

    第1回 買物をするときの傾向と分類4パターン+節約×データ分析型のホワイトデー対策 | gihyo.jp
    gfx
    gfx 2010/03/04
    なんぞこれ…w
  • 第26回 ShipIt:モジュールのリリースをもっと手軽に | gihyo.jp

    CPANにモジュールをアップロードする前に 第23回から続けてきたシリーズの一環として、今回はモジュールをCPANにアップロードするときのツールをまとめてみます。おそらくこのようなツールに興味を持つような方なら当然 perlnewmod や perlmodlib、あるいはCPANやPAUSEについてのよくある質問のページ[1]くらい読んでいるでしょうから大丈夫だろうとは思っていますが、今回とりあげるツールは使い方を間違えると周囲に多大な迷惑をかける可能性があります。一度CPANにアップロードされたファイルは、たとえミスであっても数日中には世界中のミラーにコピーされますし、BackPANと呼ばれる保管庫には半永久的に保存されますので、うっかり無意味な(あるいは部外秘の)モジュールを公開してしまうことがないよう、また、ほかの人の迷惑になるような名前空間を占有してしまわないよう、実際に試してみる

    第26回 ShipIt:モジュールのリリースをもっと手軽に | gihyo.jp
    gfx
    gfx 2010/02/23
    RT @gihyojp: モダンPerlの世界へようこそ「第26回 ShipIt:モジュールのリリースをもっと手軽に」by @charsbar 公開
  • 第3回 勉強会に行ったら世界が広がりました | gihyo.jp

    連載では、現在執筆中の技評SE選書には掲載していない、オリジナルのコンテンツをお届けしています。IT技術者が勉強をする場合のゴールとして、技術を身につけて自由自在にその技術を使えるようにする、というものがあると思います。今回はそれとは別の到達点として「転職」を取り上げたいと思います。勉強会を通じて適職を見つけ、転職をした人が周りに何人もいます。彼らを見てみると、転職が成立した条件として、次の3項目の共通項がありました。 実力、もしくは将来のための勉強の習慣を身につけた 自分の実力や将来性をきちんとアピールできた 受け入れ側のニーズとマッチした 今回は、勉強会に参加し転職のチャンスを掴んだお二人と、その転職先の社長さんを加えた三人の方々に、勉強や勉強会について語っていただきました。話に夢中で写真を撮り忘れました。文字ばかりですみません。 佐藤治夫さん(twitter:@haru860)株式

    第3回 勉強会に行ったら世界が広がりました | gihyo.jp
  • 第25回 Module::Starter:モジュールを書くためのテンプレート | gihyo.jp

    モジュールを再利用可能にするためのツールたち Perl 4の時代まではいざ知らず、いまどきPerlのモジュールやアプリケーションを再配布しようと思ったら、CPANモジュールと同じ形式にしておくのがベタープラクティスです。たとえ一般には公開しない社外秘のモジュールであっても、Makefile.PLやBuild.PLを用意して、テストも書いて、できればREADMEやChangesなどの更新履歴もつけておけば、別のプロジェクトを立ち上げたときにコピー&ペーストする必要もなくなりますし、業務の引き継ぎなども簡単になります。 とはいえ、モジュールを書くたびにMakefile.PLなどを一から書きおこすのは面倒な話。メタ情報の部分はモジュールごとに異なるとはいえ、それ以外の部分は(特にひな形の時点では)大差ないのがふつうですから、できれば省力化したいところです。 今回はそんなときに使われるひな形作成ツ

    第25回 Module::Starter:モジュールを書くためのテンプレート | gihyo.jp
    gfx
    gfx 2010/02/08
    ディストリビューションのテンプレ