You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert
1992年にWard Cunningham氏が、技術系ではないステークホルダにこの問題を伝えるために、初めて「技術的負債」というメタファを使いました。品質の低いコードと自動テストによるカバレッジがないことは、財務的負債と比較されます。このようなコードは、開発者だけでなく、すべてのステークホルダが負う財政的な重荷になり、将来的に利息が課される負債になります。元本額は、コードベースを将来簡単に変更できるようにリファクタリングするコストです。利息は、チームがよいコードではなく、汚いコードに取り組まなければならない場合に、将来支払う余分なコストです。 財務的負債とは違い、技術的負債は返済しなくてもよい負債です。時には、返済するのが無駄なこともあります。ある部分のコードを読んだり、変更したりすることはめったにないか、決して起こらないかもしれません。そのため、技術的負債も、どのくらい起きそうかを考慮す
Joel Spolsky ジョエル・スポルスキ 翻訳: Yasushi Aoki 青木靖 2002/1/6 ときどき何もできないことがある。 確かにオフィスにやってきて、だらだらとし、emailを10秒ごとにチェックし、Webをながめ、アメックスの請求書を支払うというような頭を使わない作業をしたりもする。しかしコードを書くフローの状態に戻ろうとしても、それができない。 このような非生産的な期間は通常1日か2日続く。しかし私の開発者としてのキャリアには何週間もの間何もできずにいたということが何度かあった。言うならば、私はフロー状態になかった。私はゾーンの中にいなかったのだ。私はどこにもいなかった。 誰でも気分のむらはある。ある人々にはそれは穏やかなものだが、他の人々には、それはもっとはっきりしていて、ときには機能不全でさえある。そして非生産的な期間は塞いだ気分と何か関係しているようだ。 それ
こんにちは, 先日Kansai.pmで発表させて頂いたgoccyこと五嶋@たんぽぽグループです. 今回は, 前回紹介した技術的負債の把握と改善を促すためにの続編として, 僕が作ったPerl5コードのコピペ検出器について紹介させて頂きます. はじめに 今やPerl, Ruby等さまざまな言語で, 便利なライブラリ群やフレームワークを利用できる時代になりました. これらを使うことでソフトウェアの開発コストは格段に下がり, より素早く開発することができるようになっています. しかし, 当初予定されていた機能を実装して, 「よしできたから終わり!」というわけにもいきません. 何か物を生み出せば, 必ずそれを保守・運用するコストが発生します. 開発することが便利になった今, 開発物を保守・運用することを支援するツールも求められています. ですが, 保守や運用, とりわけ保守に関して支援するツールはそ
2013/11/28 新機能および新端末追加のお知らせ 2013年11月28日(木)実施のシステムメンテナンスが終了いたしましたのでご報告いたします。 尚、メンテナンス完了に伴い新規機種・機能を追加いたしました。 下記のとおり 1. Android 4.4に対応 Remote TestKitがAndroid 4.4(KitKat)に対応しました。 あわせてレンタルできる端末にNexus 5を追加いたしました。 2.新規機能追加 自動キャプチャ ファーストビュー機能 「複数端末同時操作」による画像保存時にページ全画面のキャプチャに加え、端末ディスプレイに最初に表示される画面を同時に保存する機能を追加いたしました。 本機能によりレンタルした端末でWebページの確認をする際に1画面に表示される範囲がひと目で確認できるようになりました。 3.レンタル端末の新規追加 最新端末の追加 ご要望にお答えし
「プログラミング経験のない人がソフトウェアの設計をすること」の是非について、どう考えますか? もしかしたら、このブログの読者であれば、プログラミングが出来ないのにソフトウェア設計をするなんてありえない!という意見の方が多いかもしれません。私もそういう意見ではあったのですが、色々な人と話をするにつけ、どこか違和感を感じていました。 その違和感の正体を探るべく、ソフトウェア設計とプログラミングについて考えてみました。そこでわかったことは「ソフトウェア設計」について、人それぞれに捉え方が違うために、話が通じないことがあることから産まれた違和感だったということです。 この記事では、私の考える「ソフトウェア設計とは何か」について書きました。 ソフトウェア開発はすべてが「設計」である モノづくりにおいて、大きく工程を2つに分けるとしたら「設計」と「製造」に分けることが出来ます。何をどう作るかを決めるこ
過半数の開発者が平均で3つ以上のAPIのインテグレーションを実装していると言われている昨今、「使い辛い設計のAPI」を実装するのは開発者にとっては頭の痛い問題ではないでしょうか? Programable Web上に投稿されたAPIのワーストプラクティスに関する記事が国内外の開発者の目に止まったようです。この記事によると悪いAPIに見られるプラクティスは下記のようなものだそうです。 貧弱なエラーハンドリング HTTPのルールを無視したREST API 裏に潜んだ生のデータモデルの露出 セキュリティの複雑さ ドキュメント化されていない予期せぬリリース 貧弱なデベロッパエクスペリエンス MVCフレームワークが良いAPIにしてくれるという思い込み 開発すれば使ってもらえると見なすこと 不十分なサポート 貧弱なドキュメンテーション APIを利用するだけでなく、APIを提供する場合に上記のようなポイン
Tailored learning experiences With options ranging from independent study to immersive learning cohorts, Kodeco learners have the flexibility to choose the pathway that best fits their lifestyle, schedule, and learning preferences. World-class content creators At Kodeco, our content is crafted by industry leaders and world-class mobile developers, ensuring that learners receive top-tier educationa
昨日は年始の挨拶ついでに ELPA について脈絡もなく突然書きましたが、引き続き近頃の開発環境についてもだらだらと書いてみよう。 Mosh mosh というと一部の人間はひげなんとかさんが開発しているモナー的なあれを思い浮かべるかもしれないがそうではなく、mobile shell のことである。 思い切り簡略化して言うと「快適なssh」。回線が不安定な所でもエコー遅延など全く気にせず使えるし、Mac をスリープさせて復帰させたときもリモートホストにそのまま繋がりっぱなしのように見せかけてくれたりする。 詳しくはこの辺を。 mosh: MITからモバイル時代のSSH代替品 - karasuyamatenguの日記 インストールはリモートとローカル両方に必要ですが、まあ大概パッケージがあると思います。EC2 の Amazon Linux でも yum レポジトリの EPEL を有効にすれば y
2012年の初めに、筆者は開発業界で勢いを増しつつある技術に関する記事を書いた。1年近くたって振り返ってみると、2012年の流行のいくつかがあまりにも早く進んだことに驚く。もちろん、モバイル開発が重要になることは予想されていた。しかし、タブレットの成長、特に「Android」タブレットの急速な伸びが、この市場を新たな高みに導いた。本記事では、そのことを振り返りながら2013年に目を向ける。 頻繁にアップデートされるモバイルデバイス(特に「iOS」デバイス)と、「Chrome」と「Firefox」の短いリリースサイクルのおかげで、HTML5が多くのほかの方法を押しのけて、非常に重要な技術になった。ウェブ開発の世界は、次の2つに分割されている。 Javaと.NETをバックエンドで動かし、通信にSOAPを用いるエンタープライズ市場 PHP、Ruby、Pythonをバックエンドで動かし、軽量なRE
このエントリは、 TDD Advent Calendar jp: 2012 の 17 日目の参加エントリです。前日のエントリは [twitter:@shuji_w6e] さんの「軽量なテスト駆動開発を目指して」でした。 久しぶりのエントリです。久しぶりどころか、なんと日記の更新が一年ぶりになってしまいました……(もはや年記ですね)。 昨日、二日間開催された DevLOVE 2012 の二日目最後の(?)講演として、「愛せないコードを書くには人生はあまりにも短い」というタイトルで TDD について講演をさせて頂きました。 DevLOVE では何度か登壇の機会を頂いているのですが、昨日はいつもとは少しだけ違いました。その違いとは「イベントで私以外にも TDD の事を講演する人が複数いる」ということでした。諸橋さん([twitter:@moro])の「テストに開発をもっと駆動させたい」と和智さん
Ruby / mruby開発者 まつもとゆきひろ氏 (@yukihiro_matz) 1965年生まれ。鳥取県米子市出身。筑波大学第三学群情報学類を卒業。1993年にオブジェクト指向スクリプト言語「Ruby」の開発に着手、1995年に公開。現在はネットワーク応用通信研究所(NaCl)のフェロー、楽天技術研究所のフェロー、Heroku、グルーブノーツのチーフアーキテクトを兼務する。「Matz」という通称で親しまれる なかなか難しいテーマですね……。でも、拙著を読んでくださってありがとうございます。 ―― この本では、数々の開発言語やプログラミング手法の現在・過去・未来について、私見を交えながら詳しく述べていらっしゃいますね。 そこで伺いたいのは、まつもとさんはソフトウエア産業の現状についてどう見ていらっしゃるか、ということです。本質的な部分では変化していないのか、何かしらのパラダイムシフトが
一昨日はNDA解禁に合わせて公開されたTipsを紹介しました。しかし、他にも様々なTipsが存在しています。本エントリーで、その有益なTipsを紹介してみます。※今後も、このエントリーに追記していこうと思います。 一般 オブジェクトの状態をファイルに保存・復元する。(シリアライズ・デシリアライズ)http://d.hatena.ne.jp/KishikawaKatsumi/20081014/1223986859 UIToolbarのUIBarButtonItemをさしかえる方法http://d.hatena.ne.jp/uzulla/20080922#p1 aboutパネルの表示http://d.hatena.ne.jp/sakira09/20081004#1223129514 [iPhone SDK] AdHocでビルドされたアプリをインストールする(Win&Mac)http://son
最近そもそもバッチ処理というものを知らない人達を見ることが多くなりました。某プロジェクトで「いや、ストプロってよくわからないんですよ。最近書いたことないし。」という話をずーっと聞いていたのですが、本人はバッチ処理という意味で話していたことが後から判明した、ということがありました。 ああ、この人はSQLでのバッチ処理しか知らないのですね、とちょっと衝撃ではありました。とうとうそーゆー時代になったかと。 まず、誤解のないようにいうとバッチ処理、という言葉自体はIT固有のものではないです。生産管理や物流や、そういった業務では普通に「バッチ」という言葉をIT以外で使います。ただし意味はある程度同じで、「一定の塊を一度に処理をする」ということです。物流システムの業務要件なんかを詰めているとバッチっていうと、どっちのこと?なんて普通に聞かれたりします。その意味ではバッチの対義語がリアルタイムというのは
UIImage を高速で描画する必要がある案件に遭遇したため、 CALayer を使ってみました。 CALayer と聞くとなにやら難しい感じがしますが、実際に使ってみると非常に簡単で高速です。 CALayer を使うと良い場面は以下のような場合です。 画像を大量に描画する必要がある 画像を高速に描画する必要がある 画像を高速に変形・移動する必要がある CGContextDrawImage を今使っている箇所がある とくに変形に対して非常に強いです。 CGContextDrawImage で変形後の UIImage を再度描画し直したりするのに比べると、 CALayer の変形は格段に高速に動作します。 ■実際に描画してみる まず最初に <QuartsCore/QuartsCore.h> をインポートします。 QuartzCore.framework をプロジェクトに追加するのも忘れないよ
特に何か目的があるわけじゃないんですが、JavaScriptの練習のためにゲームを作ってみました。 Regex Of The Dead タイピングゲームのように正規表現を練習するためのシンプルなゲームです。ゾンビと一般人が迫ってくるのでゾンビの名前にだけマッチするように正規表現を入力して倒していきます。 HTML5の流れでオーディオ、グラフィック、フォントがHTML/JavaScriptで簡単に扱えるようになり、さらにenchant.jsのようなゲームエンジンも充実してきて、ゲームもJavaScriptだけで気軽に作れるようになってきたようです。 そんなわけで試しに書いてみたのがRegex Of The Deadです。プログラミングは長いことやっているもののゲームを作ったのは大学のとき以来かもしれません。 最初、何か良さそうなゲームエンジンがないものかいくつか調査しましたが、こういったタイ
自動改札機の運賃計算プログラムはいかにデバッグされているのか? 10の40乗という運賃パターンのテスト方法を開発者が解説(後編) 9月12日から14日のあいだ、東洋大学 白山キャンパスで開催された日本科学技術連盟主催の「ソフトウェア品質シンポジウム 2012」。オムロンソーシアルソリューションズ 幡山五郎氏の講演「自動改札機ソフトウェアの品質向上の取り組み 厳密な仕様、もらさないテストを目指して」。この記事では、そのダイジェストを紹介しています。 本記事は、前編、中編、後編の3部構成です。お読みのページは後編です。 大規模なテストをどうやって実行しているか 続いて、大規模なテストについて。 1000万件のテストパターンを作っても、それぞれのテスト結果の正解を人手で作っていたら追いつきません。なので、別々に運賃計算ソフトウェアを作って、その答えを突き合わせてチェックしよう、という話です。 例
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く