Home > プログラミング

2010.08.02

Androidって美味しい?

そもそもAndroidって何?

  • スマートフォンやタブレットなどをメインターゲットとして開発されたLinuxベースのモバイル用オープンソースオペレーティングシステム、ミドルウェア、主要なアプリケーションからなるソフトウェアスタックパッケージを基にしたプラットフォームである。(wikipediaより引用)

Androidのアプリを開発!
(more…)

2010.07.20

PHPerの為のMongoDB入門

最近巷でよく聞くNoSQL(Not Only SQL)

試してみたくてPHPから簡単に使えるものはないものか・・・と色々探した結果たどり着いたのがMongoDBでした。

今回はインストールから、簡単に使ってみるところまで紹介します

(more…)

2010.07.12

HTML5はじめました

Flush等に頼らずともリッチな表現や高機能なアプリケーションを実現可能なHTML5が注目されています。

これまでのHTMLと比較すると、より文脈の構造化を表現するための要素や、グラフィック・オーディオなどのマルチメディア処理を実現する要素が追加されています。

というわけで、今回のラボブログのテーマはHTML5です。特に筆者が注目している、canvas要素を試してみました。
(more…)

2010.07.05

ロジカルライティング??

今回は「ロジカルライティング」について書きたいと思います。

みなさんは「ロジカルライティング」という言葉を聞いたことがありますか?
なんだか取っつきにくい印象を受けるかもしれませんが、要は「読み手に伝わりやすい文章を書く」ということです。

ではどうすれば伝わりやすい文章を書くことができるのかについて、何点かポイントを絞ってご紹介したいと思います。

(more…)

2010.07.01

Perlのいいとこ・いくないとこ

今回は、皆様が嫌いなPerlについて触れてみます。

と言っても技術的なことには触れずに、Perlを使うにあたっての

(自分が使ってて感じた)メリット・デメリットをあげてみました。


(more…)

2010.06.21

今度の「3D」波の大きさは、どれぐらい?! (Nintendo 3DS発表に想う)

日経MJが先週発表した2010年上期(1~6月)のMJヒット商品番付で横綱に選出され、任天堂の新しい携帯型ゲーム機でも採用された今話題のキーワードと言えば…

そう、今週のテーマは「3D」です。下の画像は Nintendo 3DS ですが…

「3D」といっても範囲が広いですね。

ちょっと前に「んんん?」とギモンに思ったニュースがあったんですが、「あのトイ・ストーリーが3Dアニメに!」なったそうです。
トイ・ストーリー3の公開はもうすぐですね、楽しみです。
けど「あれ?今までは3Dじゃなかったの?」と思いません?

どうやら最近話題の「3D」というのは、3次元コンピュータグラフィックスのことではなく、視覚的に立体的に感じられる技術のことを言うみたいです。

昨年話題になった「アバター」という映画では特別なメガネをかけることによって3次元に見せていましたが、Nintendo 3DSでは裸眼でも立体的に見えるらしいですね。
「2次元の紙面上で3次元の話題はムズカシイ!」という Nintendo 3DS の凄さを伝えるのに苦戦していた記者のコメントが印象に残ってます。

(more…)

2010.03.26

はじめてのシェルスクリプト

エンジニアなら誰しも一度は、

  • DBのバックアップを定期的に取って、特定のストレージに保存したい
  • 特定のフォルダに生成される一時ファイルを定期的に消したい
  • ユーザ追加の際の諸々の作業を自動化したい

なんてことを考えたことがあるのではないでしょうか。

こんなときに役立つのが【シェルスクリプト】なわけですが、その他のプログラミング言語とは書き方が若干異なるため、少しとっつきにくさを感じる方もいらっしゃるのではないでしょうか。

そんなわけで、シェルスクリプトの基本の基本を書いてみました。

(more…)

2010.03.18

PHPの正規表現で注意したい5つのこと

他言語をメインでやっている方が、
PHPで正規表現を扱う際に気を付けたいことをまとめました。
 
1. preg系で日本語を扱うにはu修飾子
2. preg_match_all の戻り値
3. preg_match_all の検索結果
4. “/” で括る必要は無い
5. 後方参照は $1 で取る

(more…)

2010.02.21

expectで楽できたら…

作業してると―――

 sshで接続→別のサーバへ接続→更に別のサーバへ…

なんてことはないでしょうか。

接続先にrsh入れることに問題ないのであれば、
それでもいいんですが多くの場合そうもいかず。

大抵は「ログイン用の手順を保存しておいてコピペ」で済ますんですが、
長い人生それすらも煩わしくなる時もあり。

そんな時はコイツで手間を省いてみたりしてます。

(more…)

2010.02.05

改めてプロジェクト管理を考えてみる

皆さんは、こんな経験ありませんか。

  • 「欲しいのはこれじゃない!」と言われる
  • システムをリリースしても、バグが多発する
  • 納期が守れない
  • 必死で作ったのに赤字

システム開発に関わっている人なら誰しも一度は経験していることなのではないかと思います。プロジェクトは、まさに生き物です。努力、根性も重要ですが、これをシステマティックになんとかする!それがプロジェクト管理が必要とされる所以です。
エンジニアは、技術のスキルを高めるのと同時に、チームで仕事をする上でプロジェクト管理についての知識やスキルも高める必要があると思います。そこで今回は、改めてプロジェクト管理の基礎をまとめてみたいと思います。

まずはじめに、プロジェクトの成功とは、一般的にQCDが全て満たされた時に成功したと言われます。QとはQuality(品質)、CとはCost(コスト)、DとはDelivery(納期)です。ただし、品質の達成なくして、コストと納期を守っても意味がありません。

次にプロジェクト成功のためには、次に挙げるようないくつかの条件が必要です。

  • 顧客が何を求めているのかを理解し、ゴールへの合意がなされていること
  • 品質、コスト、納期についての現状が把握できること
  • 問題が発見された場合、それに対してのアクションをとることが可能なこと
  • 顧客、メンバー間で認識の齟齬がないこと、相互に信頼関係が築かれていること
  • ・・・

そして、これらを満たすために必要なアクションがプロジェクト管理であるといえます。PMBOKという、プロジェクト管理の知識体系では、そのアクションとして次の9つの管理体系を定義しています。今回は、システム開発において特に重要な、品質管理、スケジュール管理を掘り下げてみたいと思います。

  1. 統合管理
  2. 品質管理
  3. スケジュール管理
  4. コスト管理
  5. スコープ管理
  6. メンバー管理
  7. コミュニケーション管理
  8. リスク管理
  9. 調達管理

「品質」の定義は難しく、バグが少ないこと、機能がたくさんあること、アフターサービスが優れていること、、、、いろんな考え方があると思いますが、視点を変えると「顧客が満足していること」、それが品質が良いと言うこともできると思います。顧客満足は、良いものを多く提供すれば上がりますが、リソースには限界があります。したがって、顧客の期待値を適切なモノにする事も一方では重要で、最小限の成果物で顧客満足を達成するのが最善だと言えます。とても難しいことではありますが。

次にスケジュール管理ですが、最も重要なのは、何を以って進捗とするのかということです。それは、測定可能な指標でなければならず、その上で予実差異を把握できる仕組みを構築することが必要です。その際ポイントとなるのは、ターゲットとマイルストーンを設けること、クリティカルパスとタスクの依存関係を見極めること、遅れと学習曲線を想定することだと思います。

いかがでしたか。今回はプロジェクト管理の基本を少しご紹介してみました。ただ、いくらプロジェクト管理をしっかりやったとしても、顧客の要望は変わり、モチベーションは上下し、想定外の問題は起きるものです。そんな時に大切なのは、計画を遵守すること以上に、変化に対応することではないでしょうか。

厳しい状況でもチーム一丸となってやり切る、1+1が2を超えるようなそんな力が必要とされ、そんな力を持っているチーム、組織は強いと思います。そんな高みを目指しながら、プロジェクトという生き物と楽しく、元気に付き合っていきたいと思います。

Next »