http://www.martinfowler.com/bliki/CannotMeasureProductivity.html 設計手法などのソフトウェアプロセスについて、感情的に議論されているのをよく目にします。しかし、その議論に答えを出すのは不可能です。ソフトウェア産業では、ソフトウェア開発の効果要因を計測する術がないからです。特に、生産性を合理的に計測する方法はありません。 生産性とは、インプットとアウトプットで決定されるものです。 ソフトウェアの生産性を測るには、ソフトウェア開発のアウトプットを見なくてはいけません……が、そのアウトプットを計測できないからこそ、ソフトウェア開発の生産性が計測できないのです。 これに対して何もしなかったわけではありません。コード行で生産性を計測しようと研究をしている人たちがいます。めちゃくちゃムカつきますね。だって言語は違うし、数え方の違いもあるし
http://www.martinfowler.com/bliki/TechnicalDebt.html システムに新しい機能を追加するとしよう。2つのやり方があるはずだ。ひとつは、早いけれど、ぐちゃぐちゃになるやり方(将来、変更が困難になることは分かっているよね)。もうひとつは、キレイな設計だけど、導入に時間のかかるやり方。 「技術的負債」とは、Ward Cunningham が作ったメタファーである。上記の問題について考える際に、この言葉が役に立つ。このメタファーを使うと、早いけれど汚い解決方法は(ファイナンスの負債と同じく)技術的な負債が発生する、ということになる。 通常の負債と同じく、こちらの負債も利子を払う必要がでてくる。 早いけれど汚い設計を選んだせいで、将来の開発において余分な労力をさかねばならなくなる、というわけだ。 これからずっと利子を払いつづけていくことも可能だし、 リ
どれくらい速いって、この記事の表題を読み上げるよりも、ずっと速くです。 iPhone や iPad の操作感がデスクトップアプリのルック&フィールも変えつつあることを、新しい Twitter.com のインターフェースなどを触っていると感じずにはいられないのですが、これまた直感的な UI をもった拡張機能、Cortex が登場しています。 Mashable! の記事によれば、Cortex はツイッターや Facebookに対して数秒でサイトを共有できる Chrome 拡張機能で、シェアしたいページやリンク上でマウスを1秒程度押し下げるだけでリング上のインターフェースが表示され、望みのサービスに共有することができます。 試してみたところ、まだまだサイトの認識に問題があるらしく、https で始まるサイトや、ブログの一部ではリンクに反応しないなどの不具合がありました。 でも反応が返ってくるサイ
2008年2月にパスワードの定期変更は「神話」なのか? - ockeghem(徳丸浩)の日記を書いた時の反応は、賛否両論という感じだったが、その後、twitterでのつぶやきなどを見るに、「パスワードは定期変更しなくてもいいんじゃない?」という意見は、セキュリティの専門家にも多くなっているような印象を受けている。 そのよう状況の中、以下の記事を読んだ。 辞書攻撃がうまくいかない場合、クラッカーは総攻撃(ブルートフォース攻撃とも言います)を仕掛けます。【中略】仮に1秒間に1000万回の計算ができるとすれば、パスワードのクラックに要する時間は1年にもなりません。どんなに強固なパスワードであっても、1年ももたないということになります。だからこそ、3カ月に1回とか半年に1回はパスワードを変更する必要があるのです。(2ページ目より引用) http://www.itmedia.co.jp/enterp
■Viberが送信する情報のメモ Viberが利用者のアドレス帳情報をサーバに送信して保管するということなので、具体的にどんな内容が送信されているのか、登録から全てパケットキャプチャして確認してみた。暗号化されていたらわからないなと思っていたが、昨日の記事で電話番号が平文で送信されていたのでひょっとしたらと予想した通り、Viberは登録時にほぼ全ての情報をhttpで平文のまま流通させていた。せっかく素晴らしいソフトなのに残念なことだと思う。 ※こちらの記事はガジェット通信に転載いただきました。 最新の記事 Viber 2.1遂に連絡先平文送信を変更 http://blog.isnext.net/issy/archives/1610 3/15 地震関連でViber検索の結果こちらにたどり着かれる方が多いようなので一部再編集しました。Viber関連は可能な限り以下のリンクを全てご確認いただき、
■Viberを使ってみたメモ iPhone用のVoIPアプリViberを使ってみたメモ。どういう動きをしているのか大変興味深いので、いろいろ試してみた。気になるところがあったので、最後に少し書いておく。 【12/9追記】更に調査したので、こちらもどうぞ。 Viberが送信する情報のメモ http://blog.isnext.net/issy/archives/571 ■試験環境 ユーザA iPhone 3GS SoftBank回線から接続 ユーザB iPhone 3GS WiFi接続 SIM抜き iPad WiFi接続 3G無し ネットワーク WiFiは、BフレッツでAsahi-netに接続している宅内LANに Ethernetで接続しているiMacのAirMacインターネット共有。 iMac上でCocoaPacketAnalyzerでAirMac I/Fをdump調査。 ■通話試験でわか
愛知県岡崎市立中央図書館のシステムをめぐる問題で、逮捕され起訴猶予処分になった男性(@librahack)が12月8日、Webサイトでコメントを公表した。男性は「謝罪にこだわりはないが、これが前例となって技術者が同じ状況になった時に逮捕されることが心配だ」として、同図書館に対し公式に「犯罪ではなかったこと」を発表するよう望んでいる。 同日掲載された朝日新聞の記事へのコメントの補足という形。「障害発生当時はお騒がせしてすいませんでした」という気持ちから謝罪にはこだわりはないとした上で、「それよりも、これが前例となって、他の技術者の皆さんに迷惑がかかることを心配しています」としている。 現在も同図書館からの被害届は取り下げられておらず、同図書館の公式発表として、被害届の提出などの経緯を説明した9月1日付けの「岡崎市立中央図書館のホームページへの大量アクセスによる障害について」が残ったまま。「図
当ページでは、私がサクラエディタで使用するために自作したPHP用の強調キーワード・ヘルプファイルを公開しています。 サクラエディタは、もともとパッケージ内にPHP用の強調キーワードとヘルプのファイルが同梱されています。 具体的には C:\Program Files (x86)\sakura\keyword にあります。 ただ、ファイルが古いまま更新されず、最新のPHPに対応していません。 そこで、なるべく最新のPHPに対応した強調キーワードとヘルプファイルを自作しました。 ダウンロード Ver.20230111(PHP 8.2対応) Ver.20210925(MySQL関連追加) 詳しい変更内容は同梱の変更履歴(CHANGELOG)をご覧ください。 細かい修正等はバージョンを変えずに中身を更新している場合があります。 同梱ファイルの内容は以下のとおり。 php.kwd: 強調キーワード(予
トリガの使い方 トリガ(TRIGGER)は、データベースに更新(insert/update/delete)があった時、あらかじめ指定した関数を呼び出す機能です。 一つのレコードに対する更新によって、他のテーブルに対する更新や同じテーブルの別のレコードに対する更新が必要になる場合等に、それを自動的に行なうために使われます。 PostgreSQLでは、C言語またはPL/pgSQLで定義したユーザ定義関数を、トリガで指定することができます。 PL/pgSQLで定義したトリガ用の関数のcreate文と、トリガのcreate文を、下に示します。 reate function set_koushin_datetime() returns opaque as ' begin new.koushin_datetime := ''now''; return new; end; ' language 'plp
Googleが2009年7月にオープンソースのパソコン向け独自OSとして「Chrome OS」を発表し、対応デバイスの登場が待ち望まれていましたが、ついに「Chrome OS」搭載ノートが発売されることが決定しました。 発売に先駆けてテスト用のモデルがリリースされることも決定していますが、なんとブランドロゴが一切付いていない不思議なモデルとなっています。 詳細は以下から。 Google Chrome Blog: An update on Chrome, the Web Store and Chrome OS Googleの公式発表によると、「Chrome OS」のベースとなるブラウザ「Google Chrome」を利用しているユーザーが今年1年で4000万人から1億2000万人にまで増加するなど、高速なブラウジングがユーザーから非常に多くの支持を集めているそうです。 そしてウェブのために最
旧仕様についてはこちら イイネ!ボタンの設置(PC 向け) イイネ!ボタンを設置するには、以下の html 要素を追加します。 <div data-plugins-type="mixi-favorite" data-service-key="..."></div> <script type="text/javascript"> (function(d) { var s = d.createElement('script'); s.type = 'text/javascript'; s.async = true; s.src = '//static.mixi.jp/js/plugins.js#lang=ja'; d.getElementsByTagName('head')[0].appendChild(s); })(document); </script> div 属性 以下の属性を指定でき
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く