drwxr-xr-x 3 masatoshi staff 102 6 13 18:29 . drwx------+ 17 masatoshi staff 578 6 13 18:28 .. drwxr-xr-x 10 masatoshi staff 340 6 13 18:29 .git
drwxr-xr-x 3 masatoshi staff 102 6 13 18:29 . drwx------+ 17 masatoshi staff 578 6 13 18:28 .. drwxr-xr-x 10 masatoshi staff 340 6 13 18:29 .git
いやー、この問題は本当に難しい。難しすぎて、どうやって解決すればいいかいまだによくわからない。わからないので、ここに書いてみる。 最初、とあるお客さんのために「ひよこの餌やりプログラム(仮)」を作っていたんだ。開始ボタンを押すとひよこの餌が出てくる。たったそれだけのプログラム。 今回は、これを「定期的に実行する機能が欲しい」と言われた。 この要望を実現するのがすこぶる難しかったんだ。 「やねうらおってそんなプログラムすら書けないの?老害なの?」 とか言わないで欲しい。この問題、本当に難しいんだよ! ■ 1度目のひよこの全滅 まず、この要望に沿って、私の会社のプログラマが当初、次のようなダイアログをつけたわけだ。 繰り返し実行のところにチェックを入れた場合、ここで指定された時間後にも繰り返し実行する。単位は分で指定する。1日ならば60×24 = 1440を指定する。そうすると、ひよこの餌やり
コミットメッセージの書き方ではコミットをわかりやすくするためには以下の2つの条件を満たす必要があると書きました。 コミットの内容が分かりやすく説明されていること コミットの内容が小さくまとまっていること このうち「コミットの内容が分かりやすく説明されていること」についてはすでに説明済みです。今回は「コミットの内容が小さくまとまっていること」について説明します。 めざすところ 単純にコミットの内容を小さくするだけではわかりやすくなりません。それでは、どのような基準で小さくすればよいのでしょうか。 よく言われることは1つのコミットには1つの小さな論理的にまとまった変更だけにする、というものです。たしかにこれは重要です。しかし、これだけを基準とすると、人によっては大きめなコミットになってしまいます。人それぞれで論理的なまとまりの大きさが異なるからです。 1つのコミットでどうすればよいかを考えるの
IPAによる海外でのアジャイル開発についての報告書「非ウォーターフォール型開発の普及要因と適用領域の拡大に関する調査報告書 (非ウォーターフォール型開発の海外における普及要因編)」を紹介した昨日の記事「海外でなぜアジャイル開発が普及しているのか? IPAが分析と提言」は、とても多くの読者に読んでいただき、ツイッターやブックマークなどでもコメントが多数寄せられました。 そうした反響の中で、この調査報告の作成に関わったアジャイル開発の第一人者である平鍋健児氏から「資料の付録にある海外でのインタビューが興味深いので注目してほしい」というメールをいただきました。 インタビューの中で「日本国内に限らず、海外でもアジャイル型開発の普及が進みにくい領域がある」という点を指摘部分は、アジャイル開発がどう位置づけられているのかをあらためて浮き彫りにしているように思います。主に、「リーンソフトウェア開発」シリ
プロジェクト管理は決して精密な科学ではないが、これにソフトウェア開発が持つ予測が難しいという性質と組み合わせられると、大きな悲劇のレシピが生まれる。わたしは、ソフトウェア開発プロジェクトに取り組んでいるプロジェクトマネージャーがよく犯す過ちを数多く見てきた。それらの過ちの一部はソフトウェア開発に限ったことではないが、この文脈では特に頻繁に起こり、ダメージも大きい。 1.「人数を増やせばよい」という誤解 Fred Brooks氏は同氏の有名な言葉の中で、よくあるプロジェクト管理の間違いについて「ある女性が9カ月に1人子どもを産めるからといって、9人の女性がいれば1カ月に1人の子どもを産めるわけではない」と表現している。そして、この間違いは今でも頻繁に見られる。ある問題に多くの人間を割り当てれば、その問題は早く解決するという考え方だ。残念ながら、これは正しくない。 プロジェクトに人を1人投入す
iPhoneアプリの良いアイデアが出たので、これから作り始めようというところである。 さて、iPhoneアプリ開発童貞ってわけではないが、今までただ闇雲に作っていた感があるので、 実際にXcodeを起動してコードを書き始める前の設計をどうしていこうかと考えている。 ソフトウェアの作成はじめてではもちろん無いのでだいたい勝手は分かるものの、 iPhone特有の設計思考が必要な気がして、文献を漁っている。 ところが、世に出回っているiPhoneアプリ本にはUIKitをいじくるだけの解説ばかりではないか! で、つまるところ設計について有益だと思えたのは以下3つの文献だった。 「iOSアプリケーションプログラミングガイド」Appleのサイトからダウンロードできる 「iPhoneアプリ設計の極意 - 思わずタップしたくなるアプリのデザイン」のfladdictさんの章 「iOS開発におけるパターンによ
最近のウェブ系スタートアップが採用しているプログラミング言語やフレームワークまとめ とちょうど同じくらいの時期に High Scalability に Tumblr Architecture - 15 Billion Page Views A Month And Harder To Scale Than Twitter という記事がでていた。 まとめだと Tumblr は PHP を使っていることになっているけど、いま現在の Tumblr は PHP ですべてを書くのを止めて、Scala も使っているらしい。 Scala と Finagle Tumblr はもともと LAMP (Linux + Apache + MySQL + PHP) で出来ていた。スケールさせるために memcached や HAProxy でキャッシュしてみたり、MySQL を sharding してみたり、バックエ
OS や、動かしたいアプリケーションに依りますが、ruby の実行環境の構築は大変です。 というのも、ruby 本体、rubygems、各 gem などのバージョン指定が交錯していて、ruby の ecosystem に慣れていない人にとっては、なにがなんだかわからないからです。 こっちのツールを動かそうとすると、こっちが動かなくなる、みたいなことになります。rubyists は、バージョンの問題を吸収するためのツールを使ってこの問題に対処していますが、ruby に詳しくなくて、ただ ruby 製のツール(たとえば Redmine)を使おうとしている人は分からないでしょう。 そういう人が ruby に挫折しないように、事実無根な中傷をしないように、最近流行のツールで、バージョンミスマッチの問題をおこさない方法を説明します。この説明が対象としているのは UNIX,LINUX 系の環境だ
DevOpsに関する国内最大のイベントとなった「DevOps Days Tokyo 2012」が5月26日に都内で開催されました。 これまで国内でDevOps関係のイベントは何度か開催されてきましたが、今回のイベントは世界中で開催されているイベント「DevOps Days」の東京開催で、海外からDevOpsムーブメントの中心になっていると言っていいゲスト2人を招き、100人以上の参加者が集まるという大きなイベントでした。 主要な講演の1つ、John Wills氏による「Introduction to the DevOps movement」のハイライトを紹介します。 Introduction to the DevOps movement EnstratusのJohn Wills氏。 昨日、Jay(本イベントの司会で中心人物の堀田直孝氏)と、DevOpsの定義ってなんだろうね、という話をして
By lukew Androidはスマートフォンの中ではiOSよりも多い56.1%ものマーケットシェアを占めているのですが、さまざまな大きさやスペックの機種が入り乱れ、結果的に統一が取れずにバラバラになるという「断片化」が発生、どのような環境でも動くようにするためアプリ開発に苦労するという側面もあります。どれぐらいバラバラで大変なのかというのを示すため、携帯電話基地局の場所や電波強度を測定したり発見できるアプリ「OpenSignalMaps」を提供するStaircaseがAndroid搭載デバイスがいかに多岐にわたっているかを「機種」「メーカー」「APIレベル」「スクリーンサイズ」の項目ごとに図表化して公開しています。 OpenSignalMaps - Android Fragmentation Visualized http://opensignalmaps.com/reports/fr
チーム開発において、「チケット/Issue」「TDD」「コードレビュー」など、ソースコードの変更に対する効果的な開発フローについてよく考えるのだけど、なんにしてもこのあたりは非常に課題が多く、各社各コミュニティで色々なやり方が模索されているポイントだと思う。 で、まぁご多分に漏れず僕もよく考えるわけだけど、現状その過程で Pull Request こそが非常に効果的なのではないか、と思うので、ちょっとまとめてみようかと思う。 もちろん、言うまでもないようなことだよ、という人もいるかもしれないけど、そういう人がたくさんいると、非常に喜ばしいことだね。 Pull Request とは GitHub でこう呼ばれているので、こう呼ぶことにするが、ここでは、複数のリポジトリ/ブランチ間でのオープンな patch のやりとりのことだと考える。 あと、自分が使っているのが Git なので、ここでは G
社内で、Ruby開発環境勉強会を行いました。趣旨としては、 Rubyプログラマ歴ひと月未満の僕が、最近自分でやってみた開発環境について説明・実演する それを聞いているひとが「こんなことも知らないのか」とあきれて、いろいろ教えてくれる という会です。いろいろ勉強になったので、とてもよかったです。開発環境やツールまわりの勉強会、面白いので、次回以降もなんかしら開催したいと思います。また、 西園寺おんじ氏: http://p.booklog.jp/book/51223 刺身氏: http://blog.kyanny.me/entry/2012/05/30/164601 の2名も発表してくれました。 とはいえ、単に「教えて」というだけいっても意味ないので、以下の軸に沿って問題を整理しつつ、それぞれについて説明・実演をしつつ、みなさんの意見をうかがう感じですすめました。 シェルの設定 irb/pry
去年の年末、Facebookで以下の様な画像が流れてきて自分もついついシェアしたんだけど、久々に、というか、自分にとってのここ最近の課題をドンピシャで突かれたような気がして、しばらく頭から離れなかった。 出展: 中村 修治 - 中村 修治さんの写真アルバム | Facebook 「プロ」か「アマチュア」か、というのはこの際どうでも良くて、この図の、上の曲線が、目指すべきところだなって話なだけなので、とりあえずその話をまとめてみることにする。 けど、まぁ、だいたい、こういう話をまとめるのは苦手だし途中で面倒になってしまうので、以下サブセクションだけ先に作ってみたものの、ちゃんと書くかどうかわからない... が、まあ、いい!あと、なんかグダグダ書いてしまいそうだけど、結局、サブセクションのタイトルにしたことをこねくりまわしているだけです。 作ってみるまでわからない 何にも言えることだけど作って
浮き沈みの激しい村上さんが渾身の記事を。 ガチャを見ろ!30歳になったら技術の市場価値と仕事の満足度の最大公約数を考える時だと思う【連載:村上福之②】 http://engineer.typemag.jp/trend/2012/05/30.php 話自体は「やりたいことやってるだけじゃ金にならんよね」という昔からある議論にガチャを交えたキャリア論に過ぎませんが、同時に思うのは「言ったもん勝ち、やったもん勝ちで、プライド捨てるか、プライドを聳え立つように掲げてブランディングするかの二択だよなあ」ということ。 あんまり実例を挙げるのもどうかと思うので実名は避けたほうがいいかなと思うのですが、某カヤックという会社がありまして、物凄く勢いがあって元気な開発会社さんでとても人気があります。で、中にはとても優秀な人がいて、やりたいことをやれて、それでいて仕事が順調に回ってそうでいいなあ、とか思うわけで
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く