久しぶりにマークアップなんかしてみたりした1日。ハマった所をメモ。

丸々っと、やったのは実に5年ぶりくらいな気がする。
想定より2倍は時間が掛かりましたな。

ということでハマったところメモっておく。

「display:box;」したら子要素で「text-align」が効かない。

で、今回は右寄せがしたかったので、

width:1.3em;
margin-left: auto;

こんな感じにしておいた。

z-indexは、position指定しておかないと効かない。

z-index:1;
position:absolute;

とかね。
ついでに、absoluteするなら親要素で、

position:relative

してあげること。

子要素のみに反映させるには、">"を使う。

div > span {
  color:#ffffff
}

とか。

なんか、全然忘れていたよ…。
まぁ少しずつ触る機会が増えそうなので、リハビリしていこっと。

進め、現場のチーム開発 〜チーム開発実践入門〜 に行ってきた。

ちょー久しぶりにDevLOVEいってきました。
実に半年ぶり、仕事と学校課題をそっちのけで、無理矢理出席!!

語り手:『チーム開発実践入門』著書の一人、池田尚史氏

今回、自分で考えていた課題は「メンバー同士のプロジェクトの進め方」について考えていたのですが、ちょっとずれていた感じ。
けど、今回もいろいろと収穫がありました!!

流れとしては『チーム開発実践入門』をもとに、
ツールは成功に導く土台という前提として、ツールまわりについてのお話でした。
そして、その後は、前後+お隣さまとのディスカッションをおこないました。

では、気になったキーワードをつらつらと。

チームの課題 - 目標が不明

カイゼンカイゼン」と言うけれども、目標・目的を自分で作れるのであればよいが、
そうでなければ、何をどの方向にカイゼンしたらよいかわからない。

具体的にすると
・普段行っている機能開発を5日から3日へするためには。
・資料作成時間を3時間から1時間へするためには。
など、わかりやすく行うとよいだろうなと思った。

チームの課題 - 要件が不明

目標に対して、どのようにカイゼンしていくのか。
これまた、どの様にカイゼンしたらよいのかわからなければ大変。
なので、こちらも観点を明らかにするとよいだろう。

・汎用性

って…言葉にすると…ム…なんだろパッとでない…。

チームの課題 - 価値が提供できているのか不明

作った機能がどのような結果をもたらしているのか…。
良いも悪いも、明らかにして次への参考にする。

ちょっと具体的じゃないけれど、きっと必要なこと。
(言ってしまえば振り返りですけれど…。)

QAはプログラマーじゃない。

テストって、繰り返し繰り返し地道で大変なこと。
そこを自動化すれば、かなりの効率アップ。
しかし、QAの人たちはプログラマー的な人じゃない人が多い為なかなか自動化できない。

だので、そういう方たちとどうやって協力していくか。

ディスカッションにて

redmineを導入して、半年ほど。
導入にいたって、いろいろ課題がありましたかと伺ったけれども、
エクセル管理がうんざりしていたのでredmineへの移行はすんなりいった。」
「CIについて聞きに来た。
毎回、手動で時間をかけて行っている。
CIを導入できれば楽になる。」
と、いろいろな現場でカイゼンしようとしている話が聞けてエネルギーもらった!

ということで以上。

本末転倒なのか、それとも正しい理由なのか。

4月から経営の学校行きはじめた。
仕事をよりよくしようと企んでいるわけで。

しかし、その課題の為に午前休をとろうとしている自分は、やっぱり仕事の勉強をするべきだと思うんです。

なんかいろいろ自戒の念を込めて投下。

vimのウィンドウ操作コマンドをマップしていて<silent>で困った。

自分のvimrcの中から付きのmap行をコピペして

"ウィンドウ最大化
nnoremap <silent>wm :<C-w>_

みたいなのを作ったんですよ。
けど、期待通り動かなくて。
とかやってもだめだし。
そもそも"_"こいつが?
とか
いろいろと余計なことをしてたんだけれど。

ウインドウ操作のmapをしている人のvimを眺めてたら。
みんなsilentがないではないか!

ということで

"ウィンドウ最大化
nnoremap wm <C-w>_ 

ってやったら動いたよ、やったねタエちゃん!!

Test::mysqldをmacに入れてみた。

結論

mac "ports"で入れたmysqlで、Test::mysqldは入れない方がよいかと思われます。
portsで入れていたとしても、以下より改めてmysqlを入れなおしたほうがよいと思われます。

MySQL :: Developer Zone

理由は、portsで入れた場合のmysqlのインストール先がTest::mysqldの具合のいい場所にないのです。
だので、パスの設定をしなければいけなくなってしまい面倒な為です。

パス通すからportsでいれたまんまのmysqlで行きたい!というのであればそれはそれで可能です。
ということで…。

以下やったこと。

パスを通す1(Test::mysqldとして)

  • mysql_install_db
  • mysqld

この2つがTest::mysqldで必要らしく内部で。

$ which mysql_install_db
$ which mysqld

をやってくれています。

しかし、パスが通ってないのでTest::mysqldはエラーを表示してとまります。
だので、なんとか見つけ出す!

portsで入れた場合は/opt/local/この配下辺りにあります。
/opt/local/lib/mysql5
というのがあったので、ここを見ていくと、
/opt/local/lib/mysql5/bin
の中に上記2つのファイルがあると思います。
ということで、bashrcに以下を記述。

export PATH=/opt/local/lib/mysql5/bin:$PATH

パスを通す2(mysqlとして)

mysql_install_dbが/opt/local/lib/mysql5/binにあることで、
--basedir='/opt/local/lib/mysql5として、mysqlを起動しようとします。

が、/opt/local/lib/mysql5/share/englishを探したけれどerrmsg.sysが見つかりませんというエラーをmysqlが表示してくれます。
そして、その他にも3つほどエラーが表示されて。
まとめると、以下の4つのファイルを求められます。

ということで以下4ファイルを探す。

  • errmsg.sys

/opt/local/share/mysql5/mysql/english/

  • fill_help_tables.sql

/opt/local/share/mysql5/mysql/fill_help_tables.sql

/opt/local/share/mysql5/mysql/mysql_system_tables.sql

/opt/local/share/mysql5/mysql/mysql_system_tables_data.sql

たぶん、それぞれこの辺りに在ります。

で、/opt/local/lib/mysql5/shareこの辺を探しましたっていうので、
そこからリンクを作っちゃう。

で、こんな感じにしました。

$ cd /opt/local/lib/mysql5/share/
$ ls -l
english -> /opt/local/share/mysql5/mysql/english/
fill_help_tables.sql -> /opt/local/share/mysql5/mysql/fill_help_tables.sql
mysql_system_tables.sql -> /opt/local/share/mysql5/mysql/mysql_system_tables.sql
mysql_system_tables_data.sql -> /opt/local/share/mysql5/mysql/mysql_system_tables_data.sql

あとはTest::mysqldを使いましょう。

パスを通すことしかしていないので、もっとスマートな方法があると思います!
ひとまず、適当にパスを通しました。

こんな話をしていたらmysql-buildこんなのが在るよ。
と教えてもらったので、今度試してみようと思いまっす。

自分スクラムonスクラム。

話すこと

対話しやすい環境づくりの方法として、
チーム構成を考えてみる。

自己紹介

お屠蘇気分も抜けずに、すっかりAdvent Calendarを忘れていました!!
大変申し訳ございません!
正月から反省していますi47_rozary(あいよんなな、ろざりー)です。

現在、某ゲーム会社にて働いております。
主に自社サービスです、開発と運用両方をおこなっています。

自分としては、ソフトウェア開発は10年ほど、
ここ数年はマネジメントをやっております。
直近ですと開発プロセスとかCI環境構築について、
いくつかのチームを跨いだ業務をおこなっております。

アジャイルに関しては、勉強とか実践とか通してここ3年くらい関わらさせて頂いております。

チームビルディングについて勝手におもってること。

1チームは、6、7人が適切、最大でも10人。
しかし、納期に寄ってはエンジニア、プランナー、デザイナー2名ずつとか厳しい。
そんなときは、チームの人数を増やし、そして各チームリーダーを立て、チームを分割させる。
そして、各リーダーとコミュニケーションを取ることでプロジェクトを進める。

メンバーチームの上にリーダーチームが在るという感じですね。
これをアジャイルでいうと、スクラムonスクラムと言ったりします。

ということで、今回はチーム構成についてのお話。

開発期間とメンバー

  • 開発期間は、3ヶ月。
  • メンバーは20人(最初から揃っているわけでなく順々に増員。)

自分の現場の課題

ここで課題なのですが、20人もいるのになんとリーダー経験者がいないんです!
(経験があっても1、2年と浅い…。)
けど、リーダー経験者をアサインするあてもなく…。
でも、そのまま20人も集まっていると会議がただの報告会だったり、朝会なんかただ言っているだけになったりと、まるで意味がありません…。
そういった場所は、互いのタスクを確認して連携をとりやすくする場所だと思うんです。

そして、確認がされなければ、全体像の共有もされなければ、個々のタスクもわからないという感じ…。
そうなれば、プロジェクト全体の進捗もどこまで終わっていて、何が残っているのかわからない。
納期が近づいた時に終わってないからといって、なし崩し的に納期が伸ばされるといったことになりかねません。

そんなんじゃよくありませんよね?

で、今やっていること

ということで、自分スクラムonスクラム。

それぞれのチームにリーダーを立てはするのですが、
リーダーをフォローしながら、メンバーに対しても自分がファシリテートをするようにしました。

そんな作業を通して、リーダーの立場にいた人は次第に、
何をどのようにすればよいのか把握して実践をしていってもらえればなと考えてやっております。

そして、いつしか自分スクラムonスクラムが、
目指すべきスクラムonスクラムになるのではないかと考えております。

まとめ

メンバーが対話をしあう環境づくりの方法は、多種多様かと思います。
その中の一つの方法として、適したサイズのチーム構成をすることもあるんじゃないかと考えています。

まぁ、この方法が合ってるかどうかはわかりませんが、
この方法がいいかもしれないあの方法がいいかもしれない、と考えて行動しつづけねば。
そう思うんであります。

次回のAdvent Calendarは、みやざわさまでございます。
よろしくおねがいしまっす!