Bug FixingVersion BumpTestsFixing Jed's CodeFeature Building
一度聞いたら忘れられないような印象深いバグというものがある。僕は数値のオーバーフローと聞くと必ずこの2つのバグを思い出してしまう。どちらも面白いエピソードなのでちょっと紹介してみよう。 一つ目は、初代Civilizationにあったバグである。Civilizationは文明間で戦う戦略シミュレーションゲームで、チンギスハンとかエリザベス女王みたいなプレイヤーを選んで、世界制覇か宇宙開発競争での勝利を目指すというゲームだ。 初代Civilizationにあったバグは、非暴力主義のガンジーが突然核攻撃してくるというものだった。原因は文明が民主主義を採用すると攻撃性が2下がるというロジックだった。初代Civではガンジーの攻撃性は全プレイヤー中で最小の1なのだが、ゲームが進んでインド文明が民主主義を採用すると、攻撃性がマイナス2されてオーバーフローで255になり、ガンジーがゲーム中で突如、極度に攻
こんにちは、技術部の遠藤(@mametter)です。フルタイム Ruby コミッタとして、クックパッドにあたらしく入社しました。よろしくお願いします。 最近、Ruby や RubyGems の脆弱性を発見して、その結果セキュリティリリースにつながるということを経験しました。どういう動機でどのように脆弱性を発見したか、どのように通報したか、などについてまとめてみます。Ruby の脆弱性を見つけたけどどうしよう、という人の参考になれば幸いです。 HackerOne について HackerOne という脆弱性情報の通報と公開のためのプラットフォームをご存知でしょうか。 OSS にとって脆弱性情報の管理は面倒なものです。脆弱性の通報を秘密裏に受け付け、関係者だけで議論しなければなりません。そのため、通常のバグトラッカとは別のコミュニケーションチャンネルを用意する必要があります。 そこで Hacke
概要 MS-Access 上で郵便番号を住所変換するためには、住所入力支援機能が提供されている。 しかし、元になっている辞書ファイルのアップデートが遅れたり、用途に応じてカスタマイズするには限界があるなどの理由から、日本郵政公社が配布している郵便番号データを利用して、オリジナルの郵便番号⇒住所変換機能を実装する方法も、広く知られている。 日本郵政公社(執筆当時。現・郵便事業株式会社)が配布している郵便番号データは単純な CSV 形式のため、加工がしやすく、初・中級クラスの VBA の知識があれば簡単に応用が効く、というのが、私が見聞きした範囲での一般的な認知のようだ。 しかし最近になって、ふとしたことから実際にその CSV データを見る機会が有り、いくつかの疑問点・問題点が浮かび上がってきた。 はたして日本郵政公社の CSV データは、本当に使いやすいのだろうか? 仕様 まず、仕様を確認し
サイボウズ・ラボの光成です。 今回は原因究明に半年以上かかったバグ調査の紹介をいたします。 弊社はクラウドサービスcybozu.comを提供しています。 クラウドサービスでは障害対策のためのデータバックアップやレプリケーションが必須です。 現在ラボの星野がメイン、私はサブとして弊社サービスでの利用を目指した次期バックアップシステムWalB(GitHub)を開発しています。 WalBは、ファイルシステムとdiskの間に入ってIOを全て記録するブロックデバイスとIOのログを管理するツールからなるシステムです。 詳細はリンク先をごらんください。 発端 去年はラボ内の開発環境でテストを進め、本社でテスト運用を開始するのが目標でした。 ところがラボでテストを開始して4カ月後の2015年4月、不正なlogpackが検出されました。 logpackとはWalBで用いられるデータフォーマットの一つです。
買物情報事業部の八木です。クックパッド特売情報のAndroid部分を担当しています。普段はクックパッドのAndroid版(以後、本体アプリとします)の開発プロセスの中で特売情報の機能を開発しています。 本エントリでは細かな技術的負債を解消する為に本体アプリの開発チームが行っている朝Lint活動を紹介します。 2年近く経つ本体アプリのコードベース 私が買物情報事業部に所属する前は本体アプリを1から書き直すチームで働いていました。書き直し始めたのは2013年10月からなのでそろそろ2年が経とうとしています。2年前に設計された本体アプリは現在ではおよそ17万行を越え、日々どんどん変更が加えられています。 それらの変更の中には残念ながら悪いコードが含まれている場合があります。テストしづらいコードやテストがないコード、レビューに対する場当たりな対応や緊急のbug fixのために追加された汚いコード、
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? これは Git (や Subversion などのバージョン管理システム) にコミットする時により良いコミットメッセージを書くための提言です。この提言は特にメッセージの一行目だけを対象とします。せめて最も重要な一行目だけでも良いメッセージを書いて欲しいからです。提言をズバリ一言で表すと 一行目には要求仕様を書け です。 背景 プロジェクトによっていろいろ慣習の差はあるものの、一般的には「コミットメッセージの一行目は変更内容の要約を簡潔に書け」とされます。特に Git は、各コミットメッセージの一行目だけを取り出してそれを一覧表示するなど
特異なバグ (英: unusual software bugs) とは、ソフトウェアバグの中でも特に修正が難しいものを言う。いくつかの種類があるが、直感的に理解しがたいような理論を発表した科学者に由来して名前が付いているものが多い。 ハイゼンバグは、それを調査しようとすると変貌したり消えたりするバグである。 ハイゼンバグの例: リリース版では発生するがデバッグ版(-DDEBUGコンパイルオプション等)では発生しない。 普通に実行すれば発生するがデバッガなどの環境では発生しない。 ユーザーの環境では発生するが開発者の環境では発生しない。 結合テストでは発生するが同じチェックをしているはずの単体テストでは発生しない。 何が起きているのか調べようと出力命令を入れると(いわゆる「printfデバッグ」)発生しなくなる。 競合状態によって発生している。 この名前は不確定性原理を提唱したハイゼンベルク
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く