タグ

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

  • 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
    aetos382
    aetos382 2015/01/13
  • 本日12月1日より、プログラマ有志による2014年の技術系Advent Calendarが各所ではじまる | gihyo.jp

    日12月1日より、プログラマ有志による2014年の技術系Advent Calendarが各所ではじまる 日12月1日より、プログラマ有志による2014年の各技術系Advent Calendar(アドベントカレンダー)が一日目を担当する人のblogではじまっている。技術系Advent Calendarの数の増加傾向は今年も続いており、Qiitaを利用したものがとても多くなっている。 一般的なAdvent Calendarは、12月25日のクリスマスを楽しみに待つために、12月1日から24日までのカレンダーの日付それぞれの部分が扉になっており、1日ずつその日の日付の部分を開くと天使や動物の絵などが見えるという仕組みになっている(もちろん、様々なバリエーションがある⁠)⁠。 これに発想をえて、技術系Advent Calendarでは基的に、12月1日から25日までの25日間、特定のプログラ

    本日12月1日より、プログラマ有志による2014年の技術系Advent Calendarが各所ではじまる | gihyo.jp
    aetos382
    aetos382 2014/12/04
  • 第3回 ブランチvs.フラグ | gihyo.jp

    とっておきの変更 ソフトウェアをいつでもリリースできるようにしろと求める継続的デリバリの広まりにより、毎日のようにソフトウェアがリリースされるようになりました。早いうちからコードを野にさらせば、隠れた問題を前もって見つけることができるからです。 短いリリース間隔に身を置くと気づくことがあります。「⁠リリースできること」と「リリースしたいこと」は、必ずしも一致しないのです。たとえば大規模なビジュアルデザインの変更やとっておきの新機能を想像してみましょう。こうした粒度の大きい変更は、たとえ動作する、つまりリリース可能な状態でも、そのまま衆目にさらしたいとは限りません。期待を裏切らない形でお披露目したい、とっておきの変更があります。息を飲む新しい体験がもたらすユーザの驚きや喜びも、ソフトウェアにとっては大切な財産だからです。 とっておきの変更を仕上げるには時間がかかります。一方で、その仕上げが終

    第3回 ブランチvs.フラグ | gihyo.jp
    aetos382
    aetos382 2014/11/26
  • 第1回 組み合わせテストの技法 | gihyo.jp

    はじめに-この特集のねらい この特集では、ソフトウェアの組み合わせテストについての技法である「オールペア法」と、オールペア法を採用したテストケース作成ツール「PICT」の機能、およびその効果的な使い方を、多くの例を用いて解説していきます。筆者はPICTを実際のテスト業務に1年半以上使用してきました。そこから得られたノウハウも合わせて公開したいと思います。 ソフトウェアはさまざまな因子(パラメータ)の組み合わせにより、その挙動が違ってきます。これらパラメータの組み合わせを総当りで行うことはテスト件数の爆発を招き、実際に行うのは多くの場合、不可能です。どのようにすればテスト件数の爆発を招かずに、しかもテストの質を落とさない組み合わせをテストできるかが重要な課題となっています。 こうした課題を解決するために考え出された効率的な組み合わせテスト技法は、大規模、複雑化するソフトウェアの組み合わせテス

    第1回 組み合わせテストの技法 | gihyo.jp
  • 1