ウィリアムのいたずらの、まちあるき、たべあるき

ウィリアムのいたずらが、街歩き、食べ物、音楽等の個人的見解を主に書くブログです(たま~にコンピューター関係も)

ラボ開発 VS 雇用の調整弁としてのSES契約とオフショア

2015-10-14 19:16:19 | Weblog
ODCとも言われるらしい・・・
詳しくは

ラボ契約・ラボ型開発とは
http://www.offshore-kaihatsu.com/faq/lab.php

を参照してください。
要するに、仕事の都度発注するのではなく、
有る一定期間、ある人を抑えておいて、そこに仕事を流すかんじ。
(仕事が無くてもお金を払うことになる)

これ、もちろん、仕事を請ける会社にとっては
(一定期間保証されるので)有利なんだけど、
発注側はSESやオフショアは基本的に
雇用の調整弁として使いたいわけだから、
(=プロジェクトが終わったら開発者を切りたい)

そーなってくると、ニーズがどれくらいあるのか・・・
びみょう・・・

P.S
 ただ、今のSESから、この形態にかわってくるかもしれない。
 調整弁としてのSESは、限界になってきているから・・

  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

RubyからRを動かす(rserve利用:Linux編)

2015-10-14 15:15:58 | Ruby
ちょっと、redmineのプラグインから(つまり、Ruby on Railsから)
Rにアクセスしたいことがあって、
rserveを使ったんだけど、いろいろトラぶったので、
手順をメモメモ。




■概要
大きく言うと、以下の手順
・LinuxにRを入れる
・rserveを入れる
・Rubyからrserveを呼び出すための準備と呼び出し
以下、順に説明




■LinuxにRを入れる

今回はさくらのVPS、Cent OSに入れました。
入れ方は、

CentOS 6.4 に R をインストールする
http://qiita.com/na_ga/items/6ffe45e6ab89e110f709

にあるとおり

rpm -ihv http://ftp.riken.jp/Linux/fedora/epel/6/i386/epel-release-6-8.noarch.rpm
yum -y install R

インストールの確認は
rpm -qa | grep R-

RPMのパッケージの最新版の確認方法は、上記サイトを参照のこと




■rserveを入れる

R on Rails with Rserve
http://web-salad.hateblo.jp/entry/2013/02/07/000000

に書かれていることを行う

つまり

【Rを起動する】
 →コマンドラインから
R
と打つ(大文字でR)
そうすると、なんか、説明みたいな、Rのいつものがでてくる

【Rserveインストール】
install.packages("Rserve")

と入力

そうすると、どこから取ってくるかを選ぶようになっている
・ミラーサイトを選ぶ(たしか、一番最後)
・ミラー一覧が出たら、日本(Japan)のどこかを選んだ・・
気がした・・まちがってたらごめん

そうすると、インストールできる

確認の為
library()
を実行して、Rserveあること確認

【Rserve-Ruby-clientインストール】

コマンドライン(ターミナルというべき?)から
gem install rserve-client

確認の為
gem list




■Rubyからrserveを呼び出すための準備と呼び出し

まずは、

【rserveを起動する】

RubyからRの機能を使う

にあるように、コマンドラインから

R CMD Rserve

を実行すると、Rのいつものがでてきたあと、Rserveが動いたことが分かるメッセージ

【bundle installではまる】

このあと、Gemfileをなおす。
今回は、redmineプラグインなので、redmineの入っているフォルダの
htdocsの下にあるGemfileに

gem 'rserve-client', require: 'rserve'

を追加して、

bundle install

を書かれているように実行したら、エラーになった。依存性がおかしいらしい。
ということで、今回はbundle installの代わりに

bundle install --no-deployment

を実行した。これを実行しないと、

Ruby on Railsに関する質問です。
http://q.hatena.ne.jp/1204017444

にあるように、irbやrubyで動かすと動くのに、
Railsで動かすと動かないという状態になる。

【プログラム】

あとは、
require 'rubygems'
require 'rserve'
すれば、いろいろかける。
上記に挙げたサイトにサンプルがあるが、
他に書き方については、別エントリで書きたいと思っている。


  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

アジャイルの「ペアプログラミング」は、「教育」とか「保守リスク軽減」の意味合いもあるよね

2015-10-14 13:04:40 | Weblog
最近思うんだけど、アジャイルのペアプログラミング。
2人でプログラミングするので、一見すると2倍の生産性が挙がらないと
ペイしないことになる。

で、実際2倍以上の生産性があがることもあるんだけど
仮にあがらなくても、「教育」とか「保守リスク分散」
っていう意味では、効果あるよね。




教育は、特に説明しなくても、想像つくだろう。

知ってる人と、知らない人を組み合わせると
「知っている人のほうが」教育される
(知らない人は、実は、あんまり教育効果はない。
 自分で調べてやったほうが、教育効果は高い)

知らない人の考え方が唐突なので、
 どうしてそう考えるんだろう、
 どういったら分かってもらえるだろう
と深く考えるうちに物事の真髄を捉え、
ひいては、根本的な問題にたどり着く。

また、くだらない解答を示すと、最近の人は
あからさまに小馬鹿にした態度を
(上司や先輩に対しても)しめすので(タメ口は当然)、
自分の無能さが、はっきり分かる。

っていうので、「知っている人のほうが」
教育効果が大きい・・・ってことは、想像つくよね・・・

当たり前だけど、新人を教育するより、
知っている人を教育したほうが生産性は高まる。
(ものすごい量の足し算をするとき、
  電卓のキーの速いたたき方をマスターして電卓でするより
  Excelのマクロ使ったほうが生産性は高いようなかんじ)

そういう意味で、ペアプログラミングで生産性が
「この開発では」あがらなくても、将来の開発で上がる
ことが期待できる(投資ですな・・)




それ以上に、「保守リスク軽減」っていう意味合い、あるよね。
1人でプログラムを作ってしまうと、結局、その人しか知らない。
他人に分かるかどうか、わからない(ドキュメントを残したとしても)

ペアプログラミングで、2人で納得してプログラムしてもらうと
 すくなくとも2人(>1人)が分かってることのみならず、
 そこをプログラミングをした別の(相方の)人に分からせることができている
  →他人も分かる可能性が有る
ので、他の人が保守できる可能性がたかまる。
→保守リスクが減る

ってことも、あると思う。




ペアプログラミングは、新人教育などで、
もっと行われてもよいのかもしれない・・・
・・・って思う。

  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする