タグ

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

  • diffの動作原理を知る~どのようにして差分を導き出すのか | gihyo.jp

    UNIXの基的なコマンドの1つであるdiff。 これに実装されているアルゴリズムは実に興味深い世界が広がっています。 稿では、筆者が開発した独自ライブラリ「dtl」をもとに「diffのしくみ」を解説します。 はじめに diffは2つのファイルやディレクトリの差分を取るのに使用するプログラムです。 ソフトウェア開発を行っている方であれば、SubversionやGitなどのバージョン管理システムを通して利用していることが多いかと思います。稿ではそのdiffの動作原理について解説します。 差分の計算の際に重要な3つの要素 差分を計算するというのは次の3つを計算することに帰結します。 編集距離 2つの要素列の違いを数値化したもの LCS(Longest Common Subsequence) 2つの要素列の最長共通部分列 SES(Shortest Edit Script) ある要素列を別の要

    diffの動作原理を知る~どのようにして差分を導き出すのか | gihyo.jp
  • 第36回 SQL::Abstract:簡単なSQLはより簡単に | gihyo.jp

    DBIの泣き所 いわゆるLAMPないしそれに似た環境でウェブサービスばかり書いている方にはあまり実感がないかもしれませんが、あちらの現場ではOracleを、こちらの現場ではMicrosoft SQL Serverを、はたまた別の現場では組み込みのSQLiteを、といった受託系の仕事をしている人にとって、SQLの方言問題は避けては通れないもののひとつです。 典型的なところでは、たとえばSELECTで取得するデータの件数を制限したい場合、PostgreSQLなどでは「LIMIT ... OFFSET ...」のように書きますが、OracleではROWNUMを使いますし、MS SQL serverならSET ROWCOUNTやTOPを使います。また、いまでこそPostgreSQLとの互換性を確保するため「LIMIT ... OFFSET ...」と書けるようになっているMySQLにしたところで、

    第36回 SQL::Abstract:簡単なSQLはより簡単に | 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
  • 連載:インターネット中継するための,配信のキホン|gihyo.jp ... 技術評論社

    第6回iPhoneのUstream Live Broadcasterで生中継してみよう[実践編] 境祐司 2009-12-29

    連載:インターネット中継するための,配信のキホン|gihyo.jp ... 技術評論社
  • 第21回 KiokuDB:マッピングが複雑すぎると感じたら | gihyo.jp

    Shibuya.pm #12連動企画 日開催のShibuya Perl Mongersテクニカルトーク#12のテーマは "No Perl, NoSQL, NoKVS" または "Not only Perl, Not only SQL, Not only KVS" ということなので、今回はそれにあわせてYAPC::Asia 2009でも紹介されていたKiokuDBについて簡単に取り上げてみます。 オブジェクトをまるごと保存する 牧大輔氏も『モダンPerl入門』のなかで、データベースをハッシュテーブルのようにとらえて、「⁠基的にプライマリキーからデータを持ってくる構成のみにすると、ORMを使用することによりキャッシュの導入も含めてチューニングが楽になります」と書いているように、Perlの世界では最近RDBMSやその上位層で頑張りすぎるより、モデリングの仕方そのものを工夫して実装や保守のしや

    第21回 KiokuDB:マッピングが複雑すぎると感じたら | gihyo.jp
  • #2 はてなでの開発の第一歩とは?……インターン第一週 | gihyo.jp

    前回に続き、レポートでは、(株)はてなはてなサマーインターン2009の第一週に行われた、エンジニア向け講義の様子を中心にお届けする。 第一週:2日め~5日め、講義と演習 第一週の講義では初日のウォーミングアップを終え、2日め~5日め(8月4日~8月7日の4日間)は、はてなWebサービスの基形を学ぶ。はてなで実際に使われているフレームワーク、内製ツールなどを使いながら、インターンの後半2週間で行われる新機能の実装に必須の開発ノウハウを習得するのが目的で、はてな流の作法を含め、はてなで開発を行うためには欠かせない基となる。 毎日午前中から、以下のテーマごとに2時間程度の講義が行われた。Webアプリケーションの基的な考え方、作り方を、第一線のエンジニアである講師陣から直接学べる機会はなかなかない。参加者の学生にとって、はてなサマーインターンならではのうれしい経験ではないだろうか。

    #2 はてなでの開発の第一歩とは?……インターン第一週 | gihyo.jp
  • Ubuntu Weekly Recipe: 第18回 あえてターミナルを使う(1) : ターミナルに関する設定

    Ubuntuでは、ほとんどの操作をGUIから行えるように配慮されていますが、中身はLinuxですので、各種コマンドを直接利用することもできます。何回かに分けてターミナル(端末)を利用したレシピをお届けします。 今回はまず第一回として、端末を頻繁に使う場合のノウハウを中心にお伝えします。 Ubuntuでのターミナル Ubuntuでは、ターミナル(gnome-terminal)は、[⁠アプリケーション⁠]⁠→[⁠アクセサリ⁠]⁠→[⁠端末]からアクセスできます。積極的に利用する場合、やや問題になる点が幾つかありますので、必要に応じて設定を行ってください。 まず、gnome-terminalは、デフォルトでは一部の文字の文字幅を正しく扱えません。問題になりうるのは、多くの場合は■や△、○などといった記号です。 図1 文字幅が正しく扱われていないターミナル このような問題に遭遇した場合、環境変数と

    Ubuntu Weekly Recipe: 第18回 あえてターミナルを使う(1) : ターミナルに関する設定
  • 第1回 開催の経緯とコーポレートトラック | gihyo.jp

    YAPC::Asia Tokyo 2009の見どころの1つ、コーポレートトラックについて紹介します。 YAPC::Asia Tokyo 2009開催の流れ 今年の運営はJPA(Japan Perl Association)が担当 YAPC::Asia Tokyo 2009がまもなく開催されようとしています。 前夜祭と編2日で構成される今年のPerlの祭典は、年より運営をJapan Perl Association(JPA)が引き継ぐにあたりPerl技術の未来を考えるという大きな命題に取り組みつつも、例年通りの盛りだくさんなセッションを通して技術者同士の情報交換や交流が行えるイベントになる予定です。 ビジネス・コーポレートの観点、Perlの未来、etc... 去年までとの最大の違いはビジネス・コーポレート側からの情報発信に時間を割いている点です。mixi、DeNA、ライブドアなどの大企業

    第1回 開催の経緯とコーポレートトラック | gihyo.jp
  • #02 面白法人カヤック村瀬大輔氏に訊く―Perl開発の楽しさ・面白さ | gihyo.jp

    連載第2回目は、湘南にオフィスを構える面白法人カヤックにて、「⁠こえ部」を担当する傍ら、ラボチームBM11に所属し、オープンソースソフトウェア「Ark」や「nim」などの開発を行うPerl Mongerである村瀬大輔氏(ネット上ではtypesterのほうが著名ですね)に会ってきました。 ちょうどgihyo.jpでの特集「ついに出た!最新Perlフレームワーク「Ark」徹底解剖」が一段落したタイミングで、Ark開発の裏側、さらに村瀬氏ご自身の開発に対するスタンス・考え方について迫りました。 聞き手:馮 富久(株式会社技術評論社、http://twitter.com/tomihisa) 村瀬大輔氏。1981年2月生まれ。2004年9月株式会社カヤックに入社。カヤックでは自社サービス「こえ部」を担当する傍ら、ラボチームBM11に所属し「Ark」「⁠kamaitachi」といったオープンソースプロ

    #02 面白法人カヤック村瀬大輔氏に訊く―Perl開発の楽しさ・面白さ | gihyo.jp
  • "Wakame"で始めるクラウドコントロール 記事一覧 | gihyo.jp

    第4回クラウド上でデータベースをスケールアウトさせる方法と実例 山崎泰宏,藤原勝弘,吉田将士 2009-07-01

    "Wakame"で始めるクラウドコントロール 記事一覧 | gihyo.jp
  • 第8回 Reaction:CatalystをもっとDRYに | gihyo.jp

    アプリケーションの枠組みを越えた再利用 前回は、Catalyst 5.7で登場したチェーンドアクションを利用して適切なベースコントローラをつくれば、CRUDのような定型処理は再利用できるようになる、という話をしました。これはコンテントマネジメントシステム(CMS)のように同じようなインタフェースを持つ画面が多いシステムをつくるときには特に効果的なのですが、その再利用を、ひとつのアプリケーション内だけで完結させてしまうのはもったいない話。自社でつくるアプリケーションにはどんどん使い回していきたいものですし、コピー&ペーストを避けるためには、なんらかの名前空間上にその共通コードをまとめていく必要があります。 もちろんそのコードが小さく、十分に一般化できるものなら、Catalyst、あるいはCatalystXという名前空間に入れてもかまいませんが、コントローラの部品だけでなく、モデルやビューまで

    第8回 Reaction:CatalystをもっとDRYに | gihyo.jp
  • 第1回 Hudsonの導入 | gihyo.jp

    継続的インテグレーションとは Hudsonの具体的な紹介に入る前に、まず簡単に「継続的インテグレーション」(⁠Continuous Integration、以下CI)のおさらいをしましょう。CIは、Extreme Programmingに端を発し、Martin Fowlerによって広められた概念で、狭義には、別々に開発された部品を持ち寄ってお互いの動作を検証する「統合テスト」を早い段階から恒常的に行うことを指します。この当初の概念には必ずしも統合テストの自動化という考え方は含まれていませんでしたが、最近では、CIは単に統合テストだけではなく、広くビルド及びテスト全般を恒常的に行うことを指すようになり、またこれを現実的な工数で実現するための必須の手段として、ビルド・テストの工程を極力自動化する、という事が重要なポイントの一つになってきました。 この考え方の背景の一つには、コンピュータの高性能

    第1回 Hudsonの導入 | gihyo.jp
  • 第1回 「モダンPerl」ってなんだろう? | gihyo.jp

    「モダンPerl」という言葉の流行 先日、国内有数のPerlハッカーである牧大輔氏が『モダンPerl入門』という書籍を刊行しました。 日Perlユーザーのハブサイトを目指しているperl-users.jpでも「モダンなPerl入門」と題して「古来から親しまれているPerl入門とはひと味違う、今風のPerl入門テキスト」を作ろうという動きがあります。 海の向こうでは、Perl 6の言語仕様の策定にたずさわっているクロマティック(chromatic)氏が「Modern Perl Books」というウェブサイトを開設して、「⁠モダンPerl」についての考察を始めました。氏はその名もModern::Perlというモジュール[1]を公開して「モダンPerl」の啓蒙に努めています。 個人の主義主張に過ぎないのでしょうか? でも、この「モダンPerl」とはいったい何なのでしょうか。 字面から「今風の

    第1回 「モダンPerl」ってなんだろう? | gihyo.jp
    clouder
    clouder 2009/02/23
  • 第1回 はじめてのMojo | gihyo.jp

    mod_perlの教訓 一昔前まで、Perlである程度大規模なウェブアプリケーションを書くときはmod_perlと呼ばれるApacheモジュールを利用するのが一般的でした。 ところが、Apache、mod_perlともに大規模な改修が行われ、後方互換性が失われた結果、古いmod_perlのアプリケーションを抱えている企業は、リスクや不便を覚悟で古いApacheを使い続けるか、Apache、mod_perlともに新しい環境に移行するか、あるいはまったく異なる第三の道を模索するかの選択を迫られることになりました。 同じようなことは、もっと小規模なアプリケーションでも起こりえます。たとえば、昔ながらのCGI環境で実行していたものをもっと高速な環境に移行したくなったとき。たしかにmod_perlにはApache::PerlRunと呼ばれる互換モードもありますが、これまではアプリケーションそのものを

    第1回 はじめてのMojo | gihyo.jp
  • 第2回 Mojoを使えばテストも簡単!|gihyo.jp … 技術評論社

    一行掲示板を移植してみよう 連載の1回目では、Mojoのスタンドアロンサーバを使って簡単な画面を表示してみました。今回は簡単なCGIをMojoに移植しながら、リクエストの扱い方やテストの仕方を見ていきましょう。 まずはこれから移植していくCGIのソースを掲載します。あきらかに穴だらけのものですが、そこはひとまず目をつむってください。 #!/usr/bin/perl use strict; use warnings; use CGI; my $q = CGI->new; my $file = 'data.txt'; unless (-f $file) { open my $fh, '>', $file or die $!; close $fh; } if ($q->param('text')) { open my $fh, '>>', $file or die $!; print $fh $

    第2回 Mojoを使えばテストも簡単!|gihyo.jp … 技術評論社
  • 連載:目指せ!iPhoneアプリ開発エキスパート|gihyo.jp … 技術評論社

    運営元のロゴ Copyright © 2007-2024 All Rights Reserved by Gijutsu-Hyoron Co., Ltd. ページ内容の全部あるいは一部を無断で利用することを禁止します⁠。個別にライセンスが設定されている記事等はそのライセンスに従います。

    連載:目指せ!iPhoneアプリ開発エキスパート|gihyo.jp … 技術評論社
  • 1