やかん部@FLATz

[未分類]の記事一覧

技術系のtweet – ~2010/01/14

2010年01月18日(月)10:00|nasu|PHP, Perl, ひとりごと, やかん部, 技術情報, 未分類このエントリをdel.icio.usに追加このエントリをはてなブックマークに追加

那須です。


最近、その時々で調べたtipsをtwitterでつぶやいたりしてます。主に自分の備忘メモとして使っています。後日検索することがあるかといえば。。。今のところは特にないのですが、とはいえ埋もれてしまっていざというときに使えないのは残念なので、こちらにまとめておこうと思います。


私の全てのつぶやきはこちら


Excel


=COUNT(INDEX(1/(MATCH(A1:A39,A1:A39)=ROW(A1:A39)),0)) a1からa39の中でユニークな値の数を算出。理解できないけど、ひとまず動く #Excel


1/MATCH() が未だによくわからないなぁ


perl


$SIG{INT}=”IGNORE”;$p=fork;if($p){wait;}else{$SIG{INT}=sub{$a=1};sleep 30;sleep 5;if($a){die}} SIGINTすると子プロセスの最初のsleepがリセットされる #perl
perl -n -l -e ‘print +(split(/\t/))[2]‘ filename cut使えって話 #unix
perl -n -l -e ‘print +(split(/\t/))[2]‘ filename タブ区切りの3列目だけ抽出 -n の使い道 #perl
[perl] \b 単語境界 $& マッチ変数 正規表現構文
[perl] perl -i.bak -wnl -e ’s/A/B/g; print’ file 上書き編集
[perl] -l 改行 -n 暗黙ループ -p 読み込みループ perl -wpl -e ” file1 file2 イミフ


UNIX


PAGER JLESSCHARSET=japanese /usr/bin/less -isr 日本語文字化けの時man.confにこれ書く。書けなければ man -C ~/man.conf とかする #unix
1:06 PM Dec 25th, 2009 from web
[bash] command 2> /dev/null STDERRの出力を捨てる。
[unix]grep -L 文字列が含まれないファイル一覧を返す GNU grep
[unix]find . -type f -print | xargs ls -lrdt | tail -l xargsの処理できる引数の数を越えると期待通りにいかない


MySQL


[MySQL] INSERT INTO table () VALUES () ON DUPLICATE KEY UPDATE を使ったときに、UPDATE側が作動すると affected rows が 2になる。これにはめられました。
[MySQL] order by で DESCとASCが混在するとインデックス利きません
[mysql]auto_incrementの解除にはalter table changeを使う


affected rowsの件は本当にハメられたましたよ。というかこれMySQLのバグじゃないのかな…replace into が affected rows = 2 になるのは、実質 delete & insert かけるので正しいと思うけど、insert on duplicate はinsert失敗してupdateかかるわけだし、affected rows = 1 が正しい気がする


PHP


[PHP]foreach内ではbreakが効かないらしい。初めて知った


よく考えたら、知っていた気もする。


SVN


[svn] function svnvimdiff() { tmp=[file]; vimdiff $1 `svn cat $1 > $tmp ;ls $tmp;` && rm -f $tmp; } vimdiffで名前付パイプがうまく機能しないとき用
[svn] vimdiff [file] < (svn cat [file]) svnの差分をvimdiffで見る
[svn] svn diff --diff-cmd /usr/bin/diff -x "-b -E" svnでのdiffコマンドの変更とかに


svnvimdiff 重宝してます。


vim


[vim] :s/./&\r/g 行を一文字区切りで改行する。「あ\nい\nう\nえ\nお\n…」のような列を作るのに便利
[vim]:set noro リードオンリモードの解除。sambaとかにある共有ファイル開くときとかデフォルトで-Rしといて必要なときにこれ使うようにしようかなぁ
[vim]:compiler perl “-I”が指定できないのかな…
[vim]:set list 制御文字表示。常時はうざいから確認のときに使う

続きを読む


受託開発でモチベーション維持の秘訣

2009年05月11日(月)09:00|nasu|FLATzブログ, プロジェクトマネジメント, 未分類, このエントリをdel.icio.usに追加このエントリをはてなブックマークに追加

那須です。



最近「受託開発の極意」を読みました。


私は、受託開発は仕事としてやりがいがあるし、楽しいものだということを肌で感じています。ただ、常にモチベーションを維持するのが難しい仕事だと思います。


システム業では(に限らないかもしれませんが)、受託開発はよく自社サービスと対置されます。受託開発と自社サービスの決定的な違いは、アイデアやサービス設計を誰が行うかだと思っています。その意味でも弊社久末が「受託開発とサービスを比べる意味はない」で書いているように、あまり比べる意味のないものです。


ただ、それが実現できる可能性を秘めた上でアイデアを考えたりするのは楽しいことです。受託開発の場合は、この楽しい部分が制限されてしまうことから、モチベーションの低下につながるのだと私は考えています。受託開発であっても、企画から参加できることもありますし、サービスに対して提案ができる場合もあります。こうした開発は、楽しいし、開発者も一緒にサービスを作っているという意識を共有でき、モチベーションを維持する(もしくは高める)ことができるかと思います。


この本では、受託開発におけるモチベーションの低下は、クライアントとのコミュニケーション不足にあると説明しています。そのために、コミュニケーションパスを適切な数に増やして、窓口担当者だけがコミュニケーションをするのではなく、多くの人がクライアントとコミュニケーションを取りましょうということが書かれています。


#誤解を招きそうなので、補足しておきます。
プロジェクト参加者の全員がクライアントとコミュニケーションしましょう、ということではなく、コミュニケーションパスが煩雑になり、コミュニケーションそのものがプロジェクトの進行を阻害することは避けるべきで、適切な人数でコミュニケーションしましょう、ということです。適切な人数を割り当てる方法などは、この本に一例が挙がっていますので、興味のある方は参照してみてください。


クライアントとコミュニケーションしたからといって、上述のように必ずしも企画から参加できるようなことはありません。むしろ、関係ない場合が多いでしょう。それでも、クライアントと密なコミュニケーションを取っていくことで、信頼関係が生まれ、次期開発などの機会に恵まれれば、そうしたチャンスも生まれてくるのではないでしょうか。


また、受託開発では、モチベーションが低下すると、この本が言う「下請け根性」が表に現れます。「下請け根性」とは、どうせ下請けだし、言われたことだけをやればいいという考えで、これにより開発者は判断を停止してしまいます。


この本は


  • 「下請け根性」にならないためにはどうするか
  • クライアントとの信頼関係を築くためにはどうするか

といったことがちりばめられています。本の紹介文でも書かれていますが、受託開発者であれば、誰もが意識していることばかりではありますが、自分自身が、もしくはチームの一員がモチベーションを維持できていないと感じるときに手元においておくとよい一冊かと思います。というか、この本の後半はほとんど自己啓蒙書です。受託開発に限らず、ここに書かれていることを常に意識して仕事をしていくべきでしょう。

続きを読む


Page 1 of 41234»

このページの先頭へ