ベンチャー・中小企業における開発チームの維持

ベンチャー・中小企業における開発チームの維持と言うことで、またいくつかキーワードを挙げてみます。

経営の視点から考えたとき、開発チームとして維持したい事は

収益性のある機能について継続的に改修、機能追加が出来る事。

将来に備えてスケール出来る仕組みを常に考えられるようにする。

経営判断での急な対応も出来る。

といったあたりがとくに重要となる。

開発チーム視点から考えたときは、上記に加え

メンバーのモチベーション維持。

技術的負債の解消。

新技術・新バージョンへの探求心。

技術共有。

あたりが重要となりそうです。

今回は開発チーム視点中心に少し考えてみます。

モチベーション維持、これはメンバーそれぞれに異なるやる気スイッチが有るように思います。

テストが得意、機能をとにかく早く仕上げられる、複雑なロジックがくめる、インフラが得意etc

開発リーダーとしては、

理想的なのは、その得意領域にそれぞれ割り当てするのがチームとしては最も効率が良くなります。

サービスが軌道に乗るまでは、俗人化するのはある程度許容する事で、コミュニケーションコストが下げられ、本人はやりたい領域の事が出来、効率は上がります。

前回も書きましたが、逆にモチベーションが下がる要因というのを排除していく事も重要となります。大きく影響するのはやはり人間関係で、信頼される事で大きく貢献出来るようにもなるし、本来以上の力を発揮出来ることもありますが、信頼されない状況があると、周囲にも影響があるので、ここは出来るだけ改善するようにしたいところです。

技術的負債。

これはおそらくどこの会社でもある問題ではあると思います。少しずつ改善していくのか、ある時期に一気にリプレースするのか。これはどちらかが良いというのは、おそらくなくて、プロジェクトの状況や会社の収益なども影響してくると思います。

そこがクリアになったとしてもチームとして技術的負債を改善していく空気が無ければ進まないので、日頃から少しでも改善していくための時間を作ったりTDDの意識をメンバーに持たせるようにするなりをしていく必要があります。そのための時間が必要と言うことをチーム外にも理解してもらう努力も必要です。

新技術・新バージョンへの探求心

新技術への挑戦や、新しいバージョンへのアップグレードが推奨される環境は、新しいことがやれている、という気持ちが持て、そこから社外にも知見共有などによってモチベーション維持とともに開発チームの技術力の底上げに貢献する事になります。

技術共有

知見の共有は、メンバーへの刺激になるとともに、自身の習得レベルの向上にも繋がるので推進したい所です。

公式エンジニアブログなどは、上記に加え、会社としての技術のアピールも出来、意識の高いエンジニアが応募してくる可能性は上がるかもしれないため、将来の投資にもなりそうです。さらに、技術領域が公開されるため、スキルのミスマッチもある程度防げそうな気がします。

 

 

Ubuntu 12 上にJenkinsをセットアップしてRails3のテストを実行する

Railsのテストといったら、前はCruiseControl.rbだったんですが

最近の流れはJenkinsのようなので

セットアップして見ます。

Rails3が実行出来る環境は

Rails 3.2.8をUbuntuに一からインストールしてみる

で構築

または、rvmをインストールの後、Rails環境を構築。

将来を見越すと、rvm入れておいた方が良いかも。

と言うことで、要件を

  • Ubuntu 12
  • Jenkinsでテストの自動化
  • テストで実行する際の実行環境はRVMで構築
  • とりあえずRails3をテストしたい
  • リポジトリはgit

まずはRVMで環境を構築「RVMをセットアップする

RVMでRuby 1.9.3をインストール

Ruby on Railsのインストール

Jenkinsのインストール

これで、http://localhost:8080とすれば、Jenkinsの管理画面が出る

Railsのテストを実行出来るようにプラグインをインストールします。

jenkins04

必要なプラグインは

  • rvm
  • rake plugin
  • git plugin

ここまで出来たら、あとはテスト用プロジェクトを作成します。

jenkins03

フリースタイル・プロジェクトのビルドを選択して、ジョブ名を設定してOKします。

ビルドの部分で、一番最初にjenkins05ボタンからシェルの実行を選択して

シェルの実行枠を追加します。

中身は

export LANG=”ja_JP.UTF-8″

を指定する。

これが無いと、Railsプロジェクトのlocaleが正常に設定されない。

次に、jenkins05ボタンから「Invoke Rake」で枠を追加します。

ここで、Rake Versionは適当に指定して、tasks欄に「rake spec」タスクを指定します。

これで、ビルドの準備は完了しました。

MySQLでテスト用データベースを作成して、ビルドを実行してみます。

Office 365 SoloでOneDriveの容量が無制限に向っている

Microsoft Office 365 Soloを契約してみました2

という話から

OneDriveが無制限になるという話出てきており

Office 365 OneDrive無制限早期利用申請画面

という感じのページがあり

ここから申し込んでみました。

そうしたら申し込んだ直後は変化がなかったのですが

今日見たらこんな感じになってました。

Untitled

 

ひとまず、容量の上限が10TBになったようです。

これはすごい。

GoogleDriveだと、$99.99/monthかかりますね!

 

 

 

Microsoft Office 365 Soloを契約してみました2

以前の記事で、Amazonからの購入で、無事にアクティベーションできたようです。

で、今回のOffice 365 Soloというのは

サブスクリプション型のOfficeで

年間契約12744円という感じになっております。

で、PCには2台にインストール出来、AndroidやiPhone、iPadと言ったデバイスにも

2台にOffice Mobileをインストール出来るというプランです。

試しにメインマシンにインストールしてみました。

office_365

入れたライセンスが、管理画面から非アクティブ化を選べたり

ライセンスの管理がやりやすくなっています。

今までは、正規ライセンスで2台入れれたりする物の、2台目に入れるのが怖かったり

1台目がクラッシュして新規で買い換えたときなど、恐怖でいっぱいでした。

今回からはその恐怖はなくなります。

使わなくなったマシンのOfficeについては、非アクティブにすれば良いだけですからね。

余談

もうじき、Office 365のサブスクリプション契約時のOneDriveの容量が無制限になるようです。

これからはこっちをメインで使うことになりそうです。

余談2

このサブスクリプション型のライセンスですが

PCにOfficeがバンドルされているプレインストール製品の場合でも、年額6,264円で

もう一台のPCにOfficeをインストール可能という事で

お得?に使えるようになっているようです。

余談3

もしかしたら、Googleも現在の1TB/$9.99/月のプランが無制限になったりして。。

Yahooボックスの容量無制限プランが使えない件

どうも、最近オンラインストレージを色々試しているわけですが

前回のMicrosoft Office 365 Soloを契約してみましたでもそうですが、OneDriveを1TBというのもそのいっかんというか

容量とかサービスとか総合的に見て最新版Officeが付いて容量1TBというのは

やはり他社にはない大きな利点だと思っています。

で、容量で言えばYahooボックスの容量無制限というのがあります。

これは月額690円で保存容量が無制限になるプラン。

が、スマホから限定とか、通常領域(マイボックス)が拡張されるわけではなく

別の無制限用のディレクトリが出来るイメージで

いまいちな感じがしてました。

が、容量無制限というのは美しい響きなので、契約してみました。

yahoobox

Powered by Pogoplug

となっております。

他社サービスを結合して使っているという部分が不安ではあります。

とはいえ、始めちゃったので、早速。

家のPCには、趣味柄、色々と撮影した動画やらビデオが多いため

これらをメインに無制限の所に移動しました。
※移動してしまった。。

PC上にインストールするタイプのYahooボックス同期ツール

これも使えないツールな訳ですが

これを入れてYahooボックスにのマイボックスに大容量ファイルを転送します。

DropBoxのように、フォルダに入れた物を自動的にサーバ側と同期してくれるツールです。
※してくれるはずだった

サーバに送りたいファイルをYahooボックスに移動します。

yahoobox_icon

このフォルダに入れると、自動でサーバに転送されるようです。

サーバ側に転送したファイルを、今度はスマホの画面からちまちまと無制限の方へ移動します。

ここまでは、結構つまづいたけどなんとか完了したわけです。

つまづいた内容はというと、容量無制限に移動すると、移動しているので

マイボックス側のファイルは消えるはずなのですが、残ってしまったり

残っているが故に、「最新の状態に更新する」という機能を選択すると

再度アップロードされてしまったり。
そもそも、最新の状態に自動でして欲しいんですが。

で、いざ無制限からYahooボックスの通常の方へファイルを移動してみようと思ったのですが

alert

こんなエラーがでて一向に移動もコピーも出来ません。

そう

なんか、ファイルの移動、コピーが一方通行な訳です。

たぶんファイルがでかいというのもあるかと思いますが

これでは、大切なファイルを人質に取られて

ひたすら月額690円を搾取されるだけのサービスとなってしまいました。

一応、移動・コピーが出来ないと言うことはお問い合わせの方へ連絡してありますが

返事の来ない窓口なので、もう個人としてはどうしようもありません。

少額ながら、有料なサービスなので、サポート窓口はわかりやすいところへ置いておいて欲しいものです。

690円を払い続けるか、涙をのんでデータを捨てるのか

どちらも安易には決断できない内容です。

どうしよう。

MySQLコマンドで直接クエリを実行

mysqlのコンソールに入ってSQLを書いて実行、そんな一手間を省きたい時は

というように書けば直接SQLを実行出来る。

さらに、

とかいてやれば、タブ区切りのファイルのできあがりです。

リバースプロキシで、アプリ側の再起動など

apacheでリバースプロキシを設定した場合

mod_proxyは接続先のサービスが落ちている場合、その状態をキャッシュしてしまうようです。

デフォルト値は60秒

なので、アプリを再起動した場合に、リバースプロキシでサービスが落ちている事を検知すると

60秒間、503が返る事となります。

この60秒を5秒とか1秒とかに設定してやる事で、503エラーの頻度が減ります。

設定の仕方は
[text]ProxyPass / http://localhost:3333/
ProxyPassReverse / http://localhost:3333/[/text]
としている所を
[text]ProxyPass / http://localhost:3333/ retry=5
ProxyPassReverse / http://localhost:3333/[/text]
とする事で設定できます。

[Scala]Play framework2.0.1でMySQLに繋いだ時に、コネクションがタイムアウトする

MySQLに接続するように設定したPlay frameworkのアプリケーションで

というようなエラーが出る事がある。

これは、MySQLのコネクションがタイムアウトで切断された時に、接続が無いよ!というエラーメッセージです。

MySQLでは、タイムアウトの時間を長くする、というような対処方法がありますがタイムアウトを無効にするという設定がありません。

なので、アプリケーションで接続をキープする設定をしてみます。

#play.api.db.DBApi.scala
のソースを読んでみますと、

データソースに対して「setConnectionTestStatement」を実行しています。

この「setConnectionTestStatement」接続をテストするために使用するコマンドを指定するのですが

Play frameworkで新規プロジェクトで作った場合にはapplication.confには設定項目がありません。

なので、以下のように指定します。

これはMySQLで一番負荷が小さくて発行できるコマンドとしてselect 1;を使っています。

これで、決まった時間で定期的に「select 1;」をMySQLに発行してくれるようになります。

サーバメンテナンス

平素よりGENDOSU@NETをご利用いただきありがとう ございます。

この度、サーバメンテナンスを実施いたします。

2012年1月27日(木)PM4:00より
2012年1月27日(木)PM22:00まで

お客様には大変ご迷惑をおかけいたしますが、ご理解の程、よろしくお願い申しあげます。

ssh公開鍵の作成

鍵ペアの作成

opensshがインストールされているLinux等で、ssh-keygenコマンドを使用して以下のいずれかの鍵ペアを作成

  • RSA1鍵(ssh version1)

% ssh-keygen -t rsa1
作成される秘密鍵: ~/.ssh/identity
作成される公開鍵: ~/.ssh/identity.pub

  • RSA鍵(ssh version2)

% ssh-keygen -t rsa
作成される秘密鍵: ~/.ssh/id_rsa
作成される公開鍵: ~/.ssh/id_rsa.pub

  • DSA鍵(ssh version2)

% ssh-keygen -t dsa
作成される秘密鍵: ~/.ssh/id_dsa
作成される公開鍵: ~/.ssh/id_dsa.pub

ファイナルファンタジー14(FF14)ゲット! 四日目

ゲームパットの設定と言うことで、むかーしFF11の頃に使っていたPSコントローラをつなぐコンバータを物置の奥から引っ張り出してみました。

まだドライバ出してんのかな~。

と思い、ホームページに言ったら、Vistaまではあるようです。

7とVistaはそんなに違いないし、ホームページにもVista用を使ってねみたいなことを書いてあったので

さくっとインストール

そんで、PS用コントローラをPCにさして見たら、なんとなく使えそう。

ゲームパットの設定画面も普通に開き、こりゃすぐプレイ出来るね!!

と思ってたのですが、

…。。。。。。。。。。。。。。。。。。。。。。。。。

○ボタン、△ボタンあたりが反応しない…。

どうも、□と×は反応するようで、全部が駄目ではないみたい。

あぁぁぁ~~~~~

またお買い物ですか!!わし。。

何回行けばいいやら。

と思った矢先、そいえば、物置にもう一つコントローラがあったなぁ

と思って引っ張り出してみたら、それはちゃんと動きました。

○ボタンも反応するし、アナログ入力も問題なさげ。

ということで、これでプレイ決定!

いよいよFF起動ですよ。

ファイナルファンタジー14(FF14)ゲット! 三日目

いや~グラフィックカード用の電源ケーブルもゲットして

いよいよ動かせるのか~

と思って電源オン

ん?

…。。。。。。。。。。。。

グラフィックカードのファンは回っているようですが…

あの~モニタが映らないのはなんでですかね。。

仕方ない、ほかのマシンで試してみるか…。

ということで、現在自宅サーバになっているマシンに突っ込んでみたら

あっさり。

あれ?

なんで?

ん~そういえば、キューブタイプって電源弱いんだっけ??

と気づくまで三時間。。

それで、電源を交換してみました。

長かった。。いよいよFF14がプレイできるのか!

と、もう動く事を確信して、電源ボタンをオン!

ぴっ

そしてモニタにも起動画面が出ましたよ!

そんなこんなで、今まで通りWindows 7の画面が出てきました。

さて、次はゲームパット設定かな。

ファイナルファンタジー14(FF14)ゲット! 二日目

今日は元気にFF14が動く推奨環境を構築するためにお買い物!

某電気屋に行って、

という物をゲットしてきました。

早速マザーボードに刺してみます。

刺さりました。

電源入れてみます。。

…。。。。

入りました?

なんかCPUファンとかは回ってますね。

モニタには何も出ません。。

あ~もしかしてこれが相性というやつか?

と思いつつネット調べてみました。

電源ピン刺せ?

ほ???

そんなもん付いてないよ~。

と思い、グラフィックカードをよく見たら、確かに6ピンのソケットが。。

でも線が付いてない。

説明書っぽい(お世辞にも説明書とはいえない紙)ものに、電源のピンが付いてたら

電源の線さしてねって書いてあります。

でもそれらしき線が付属じゃないみたい。

なので、また同じ電気屋にお買い物に行きました。

三日目へと続く。。

ファイナルファンタジー14(FF14)ゲット!

FF14ぽちってしまいました。

コレクターズエディションという物ですが

なんとタンブラー付きというニクイパッケージです。

家に届いたのを見たら、妙に箱がでかくて、びっくり。

でも、コレクターズエディションとはいえ、箱までコレクションするには部屋が狭すぎるので

泣く泣くポイ。

で、ま~家のPCは推奨環境ではないけども、普通に3Dのゲーム出来るので

入れてみるか~と思って入れてみました。

10数分かかってやっと入れ終わって、さて起動。。

と思ったら、起動直後に落ちる…。

やはりビデオカード刺さんとだめか~

と思いつつ、この日は諦めて寝ました。

翌日へと続く。。

名プレイヤーは名監督にはなれない!?

最近、あるプロジェクトで、改めて感じたのだが、やはり自分はリーダーは出来ない。
回りは経験だ慣れだなんだと言うが、メンバーを率いてリーダーシップをとるのは難しい。

で飲み会の席で、「名プレイヤーは名監督にはなれない」と言う言葉で慰められた気がする。
けして、自分が名プレイヤーである訳ではないので、後から考えるといつも憂鬱になります。

P.S.

というのを、新しく買ったF-06BというDoCoMoの携帯で書いてて、やはり文章はPCが良いな実感しました。

ロジクール エニウェア マウス M905購入

最近、会社で使っていたロジクールのMX-Rがオートダブルクリック機能搭載になってしまって
ひたすら使いにくい状態になりました。
修理出すか~と思ってはみたものの、保証書を探しても見つからなかったので
新しい物を買う事にしました。
は~整理整頓が出来てれば、こーいう時に保証書が出てくるんだろうな~。。
なんて思いながら、Amazonでポチッ。
ロジクール エニウェア マウス M905
なんでも、このマウス、ガラスの上でも操作可能らしいです。
自分はHyper-fastスクロール機能ってやつがあるだけで良いのですが、AmazonさんはなんかMX-Rよりも新しいM905の方が安いみたいで、そちらを選びました。
家にガラスのテーブルなんて無いので、試せないのですが、そのうち窓に向かってマウス操作してる姿を目撃するかもしれません。

Google ここまでやるか!日本語入力

昔からのATOKユーザで、もう無条件に新しいのが出たらアップグレードしてマシンにインストールしているGENDOSUですが。。

Googleが日本語入力を出したという事で、ちょっと興味津々です。

とはいいつつ、大好きなATOKもなかなかやめられないので、ま~後ほどVMWareで試してみようかと思います。

ん~ATOKも強敵現る!?という感じですね。

がんばれジャストシステム!