2016年 1月 の投稿一覧

大規模システム開発Launchの慰労会

調布でシステム開発を始めて5年目になります。
この日は、これまでで最大規模のシステム開発が無事にLaunchしましたので、慰労会を社内で開催いたしました。

プロジェクトは約半年間におよぶものでした。お客様の新規事業で使われるため、期待も不安も大変大きなものでした。
複数のサブシステムを開発しながら、既存の基幹システムとも連携させ、難易度も高いものでした。
当然のことではありますが、大事に至らず、スムーズに利用を開始していただくことができました。
これもお客様を始め、協力会社様のお力添えのお陰さまです。引き続き調布でシステム開発などを通して貢献できるチャンスをいただきたいと思います。

大規模システム開発慰労会

ブックルックチームのメンバーは、缶ビールを片手にピザやスナックをつまみながら、この半年間を振り返りながら、お互いの無事を確認し合いました。

私たちブックルックチームは、チームでワークすることが他にはない強みです。
お互いを尊重し、助けたり助けられたりしながらゴールを目指していきたいと思います。
目標を達成できたとき、物事が正に美しく出来上がると信じています。


システム開発プロジェクトの慰労会の終盤。
みんなおなかも満足して、新しいお遊びを開発。
ボクササイズのグローブをはめ、バランスボールにパンチ!

Cakephp 2.x でページネートの結果をキャッシュ

Webアプリケーションのパフォーマンス改善の筆頭といえばキャッシュです。

データベースへなどへのアクセスが必要なデータをメモリやファイルに持っておけば負荷も減りますし、頼もしい限り。

 

Cakephp (2.x)では、基本的に

キャッシュにデータ書き込み
$result = array(‘result’ => 100);
Cache::write(‘result’, $result, ‘paginate_cache’);

 

キャッシュデータ呼び出し
$result = Cache::read(‘result’, ‘paginate_cache’);

//result = array(‘result’ => 100)

 

で大丈夫なんですが、ページネータの場合はさらに2つの操作が必要になります。

リクエストオブジェクトのparamsパラメータの’paging’キーのキャッシュと、コントローラ内でのPaginatorHelperの使用宣言です。

 

pagingキーに入っている値っていうのはカウント数とか、ページ数を持っている配列ですね。

↓こういう値が入ってます。

WS000076

んで、キャッシュするときにこの値もちゃんとCache::writeでとっておかないと、「結果0件なのに表示されてる。。。けど1ページ目しかない」みたいな表示にバグります。

なので、

$paging = $this->request->params[‘paging’];

Cache::write(‘paging’, $paging, ‘paginate_cache’);

 

$paging = Cache::read(‘paging’, ‘paginate_cache’);

$this->request->params[‘paging’] = $paging;

 

のように、キャッシュを呼び出す時にもう一回設定しなおさないとダメなんですね。

2つめの「PaginatorHelperの使用宣言」ってのはこういうのです。

WS000074

これを設定しておかないと、クエリパラメータとかちゃんととってくれません。 Cakephpのコードを見てみると、確かにPaginatorComponentのpaginateメソッドの最後で設定してます。

WS000077

キャッシュを使うときはこのpaginateメソッドを通らないので、自分で設定しておく必要があるってことですね。 これで Order by とかが重くなりがちなpaginateも余裕のクリアです。

でも売り切れ状態とかリアルタイムでほしいステータスもキャッシュしてしまうので気をつけてください。

札幌農学校の教育理念とブックルックチームの行動理念

北海道大学に勤める友人から札幌農学校のクッキーをもらいました。
赤ワインと一緒にいただくと一層おいしさが増し、ついついたくさん食べてしまいました。
そのクッキーの箱に入っていた紙に札幌農学校の教育理念が書かれており、改めてブックルックチームの行動理念について考えが及びました。

 

「Boys, be ambitious!」
アメリカから招聘されたクラーク博士が役目を終え、帰国するときに学生たちに送った言葉ですが、これは多くの人がご存知のことと思います。
さて、ではそのクラーク博士が招聘された北海道大学の前身、札幌農学校の教育理念はというと、「フロンティア精神」「国際性の涵養」「全人教育」「実学の重視」の4つです。
これがブックルックチームの行動理念、ESOTと通じるところがあります。教育もビジネスも人のため社会のためにどうしたらよいかといろいろ考えを進めていくと、行き着くところがこのあたりになります。

 

ESOTはExecute Speedily with Ownership and Thanks の頭文字をとったものです。
Execute Speedily は、良いと思ったことや価値の高いことはすぐに実行しよう、というものです。「実学の重視」の「実」と、「フロンティア精神」に通じます。良さそうなアイデアはいくらでも頭の中に浮かぶ、という人は少なくないでしょう。しかし、実行に移し、成し遂げる人、しかも迅速に始めるとなるとなかなか難しいものです。社会または自身の中に前例がない、あるいは事例が少なく、できるかどうかわからないからです。だからこそ未知の領域には魅力があります。楽しんで仕事だけでなく自分自身も開拓していくことを期待しています。

 

ESOTと英文にしたのは正に「国際性の涵養」の一環です。
英語の持つ意味を深く考え理解することは、グローバルに活躍するときに役立ちます。
共通言語と言いながらも、英語がネイティブだという人はほとんどいません。多くの人が第2言語で英語を使います。ネイティブではない者同士が英語でコミュニケーションを図るときに、自分が理解している単語の意味をしっかりと説明することが重要です。
また、ブックルックチームの特長を説明するときに翻訳しないでそのまま使えます。

 

Thanksは、「社会に感謝し、社会にお返ししていきましょう」ということを意図しています。社会というと広すぎるので、身近な所では両親、家族、先生、友人に置き換えても良いです。私たちは社会が積み重ねた歴史の延長線上に位置しており、社会の助けがあるからこそ生存できており、社会の求めがあるからこそ繁栄できるのです。すると、感謝する社会のために何ができるか、どうしたらよいかに考えが及びます。最高の仕事を成し遂げることがブックルックチームの使命です。

 
仕事の成果は、技術のみで達成されるものではありません。道徳や思想、芸術などの要素も含まれます。つまり「全人教育」がなされなければ最高の仕事は成しえないのです。
非常に簡単なので、若手のエンジニアほど技術の習得や経験に重きを置く傾向があります。しかし、技術は使われ方、使う人、使う状況などに応じて良くも悪くもなります。習得した技術をどう活かせるかは、感謝から始まる自己の内側の鍛錬にかかっているのです。

謹賀新年

新年明けましておめでとうございます。

旧年中は格別のお引き立てを賜りまして、誠にありがとうございます。

昨年は新たな仲間も加わり、より一層賑やかになったブックルックチームです。
これから新しい仲間達と力を合わせて、より一層飛躍して行きます!!

本年もどうぞよろしくお願い申し上げます。