CodeIgniterの日本語情報 -その2-

この記事はCodeIgniter Advent Calendar 2016の12日目です。今日は他力本願な記事でいきます!

11日目の@lf_ur_さんの記事はこちらからどうぞ

CodeIgniterの情報が少ないなーわかりにくなーという話をよく耳にするので、情報がまとまっているサイトをご紹介します。

https://github.com/rdlabo/CodeIgniter_Talk
PRで項目の追加しちゃうよってことで運用されているので、CodeiIgniterの情報を持ってる人はPRするといいんじゃないかな?

よく見ると2016年の情報がない!!! PRせねば!!!

CodeIgniter2から3へのバージョンアップをしましょう(急いで!)

この記事はCodeIgniter Advent Calendar 2016の3日目です。
2日目の竹腰さんの記事はこちらからどうぞ

来年CodeIgniterのバージョンは4に上がります。
そんな中ちらほら聞こえてくる「まだCodeIgniter2で運用してます」ってお話。
稀に「まだCodeIgniter1です」って話も聞きますが….. やはり3にバージョンアップするべきですよ(断言)

CodeIgniter2は2015年10月31日にサポートが切れました。今後更新されることはないです。まだDownloadできるのが不思議なぐらいです。バグ修正もされないわけで、とっとと3に更新せねばなのですよ。

https://codeigniter.com/download

%e3%82%b9%e3%82%af%e3%83%aa%e3%83%bc%e3%83%b3%e3%82%b7%e3%83%a7%e3%83%83%e3%83%88-2016-12-03-11-47-09

アップグレード方法
ユーザーガイドに掲載されています。結構事細かに書かれています。

一番変更が多く、注意すべきは2.2.x から3.0への変更です。
2.2.0にもまだなっていない場合は、まずは2.2.0までバージョンをアップしましょう。
それから2.2.x から3.0の手順を実行した後、最新までバージョンをupしましょう。
ソースコードの改変は、ほぼファイル名とclass名だけですので割とあっさりと作業は完了します。

アップグレードするときのハマリどころ
おそらく、多くのアプリケーションでOAuth認証を利用したログイン機能を実装していますよね?Facebook SDKやTwitter SDKを利用したコードを書かれていたりするかと思います。もしくはそれらを利用したライブラリを利用しているかもしれません。CodeIgniter2ではsession classはcookieを使ってデータを保存管理し動作していますが3からはPHPのsessionで動作します。この変更は結構大きくて2系向けに書かれたOAuth系のライブラリは使えなくなっていたり挙動がおかしくなったりします。バージョンにあったものを再度DLして再設置したり少しだけ調整が必要となります。
修正そのものはそれほど時間はかかりません。動作確認を含めても1日かかることは稀かと思われます。

この際だから一緒にやっておきたいComposer対応
composer管理できちゃうものはcomposer管理になるよう修正しましょう。
2系でもできたことですが、バージョンアップするわけですしこの際ですからちゃんと対応しておきましょう。
composerを使うかどうかはconfigに設定を入れるだけです。
ユーザガイドより抜粋

CodeIgniter1 , CodeIgniter2をまだお使いの皆様。
今月中にでもバージョンアップを済ませて、気持ち良く2017年を迎えましょう!

IDCFクラウド&SoftLayer 合同Meetup!in つくば vol.2 with #さくらクラブ で登壇させていただきました。

IDCFクラウド&SoftLayer 合同Meetup!in つくば vol.2 with #さくらクラブに参加し、登壇させていただきました。
インフラ系のイベントだったわけですが、PHPでできることは何かな?ってところで仮想サーバやネットワークの設定をする発表をさせていただきました。

インフラについてはまだまだ不勉強な部分も多いです。
もっともっと頑張らねばなと思いました。

明日登壇してきます!

最近ブログが書けてないことを反省中です。
twitterやfacebookで書いた結果満足してしまった結果のようにも思います。
あまり良くないですね….

明日はつくばで開催される、
IDCFクラウド&SoftLayer 合同Meetup!in つくば vol.2 with #さくらクラブで登壇させていただく予定です。

こういう場所でお話しさせていただける機会をいただけたこと感謝感謝です。

CodeIgniter4のレポジトリが出来てました。

とりあえず速報的に。
CodeIgniter4のレポジトリが出来てました。
https://github.com/bcit-ci/CodeIgniter4

ということで、翻訳用のレポジトリを作りました。
https://github.com/NEKOGET/ci4_user_guide_src

確認用の場所も確保。もうちょっと短いURLにしたいなと思いつつ、とりあえず表示用URLも作成しました。。
http://pneskin2.nekoget.com/codeigniter/4/user_guide/index.html

gcp ja #31に参加しました。

http://gcpja.connpass.com/event/23874/

Google Cloud Platformの勉強会に参加してきました。
AWSについては仕事で触ることもあったのですが全くの前提知識なく参加してきました。
結果参加してよかったと思える会でした。
(予習していけばもっとよかったとも思います)

Googleを支えるインフラ技術をベースにできてるっていうのが、そりゃそうかと納得もし、世界のgoogleサービスを支えているインフラの技術があってのプラットホームということが凄まじいなと思ったのでした。最初のセッションでハードで支えるインフラ、ソフト面で支えるインフラの話題があり目からうろこというか、そりゃそうだよな。Googleだもんねと私の中でよくわからないけどすごく腑に落ちる納得感がある世界だなと感じたことが一番の収穫でした。
「だって、Googleだもんなぁ」という納得感って凄まじいものがあるなぁと。

技術や知識と出会うのもご縁だと思っています。
このイベントは私にとって良いご縁をいただいたイベントでした。

あけましておめでとうございます。
2015年は合同会社ねこもりを設立し、怒涛の1年でした。
たくさんの方と出会えたし、たくさん事、たくさんのモノに出会えました。
楽しくて楽しい1年でした。
2016年はもっと皆様と笑い、楽しみ、嬉しい1年にしたいと思います。
今年もよろしくお願い申し上げます。

“「はじめよう!要件定義」ではじめる、すらすらと手が動くようになる楽々要件定義レッスン” を開催しました

「はじめよう!要件定義」ではじめる、すらすらと手が動くようになる楽々要件定義レッスンを4/11に企画開催させていただきました。
https://rd-lesson.doorkeeper.jp/events/22317

要件定義レッスン ワークショップ

本を読むだけでは絶対にもったいない。これはちゃんと素振りをしておく必要があるよねという気持ちをFacebookに投稿した結果、企画開催させていただくことになりました。
つまり言い出しっぺの法則発動です(^ー^)

  1. 基調講演
  2. 4人によるワークショップ
  3. ドーナッツタイム
  4. 2人によるワークショップ
  5. 1人によるワークショップ
  6. クロージング・講演

当日はこのようなこのような流れでした。

この本を読んでまず感じたことは、さらっと読めすぎてとても不安になったことです。
なるほどなーと思いながらあっさりと読めてしまって、で、読んだ後「私はこれ、今出来てるのか?」という不安がありました。
普段の仕事の中では受託開発をさせていただく中で、要件定義をします。でそれを元に機能考え見積もり、作業時間と費用を算出して見積書を作成します。
なので成果物として要件定義書がある場合ない場合ありますが、少なくとも要件定義は毎回やっているはずです。
おそらく自社開発をされている方々でも、「こういうのつくってほしいんだけどどれくらいでできる?」と言われて「これぐらいでできますよ」って答えるまでの間に紙に書いたかどうかは別として要件定義と工数見積もりは普通に日々やってることだと思います。
この本を読んで「私は本当に要件定義できてた?それって要件定義だった?」という疑問を投げかけられました。できている気分になっていた、もやっとした私の要件定義が私の中にあったわけです。
もやっとしてる事を本で気づかされ、この講演とワークショップで、「要件定義とは」を再定義していただいた気がします。

実際の案件(プロジェクト)では、“昔ながらの「敵がいてそれをやっつける」シンプルなわかりやすいモノ” なんてものは少なくて、登場人物は利用者Aの1人だけじゃなくて、たくさんの登場人物がいて、それらの満足する結果をどうつくるのか?に注力して要件ができあがっていくのだと思います。
それらしいことをそれらしくやった結果ぐだぐだににならないように
「何つくるの?」を確認する事が要件定義 なのだなと再認識しました。

4人によるワークショップでは、「ねこあつめ」アプリを元に行いました。
画面の要素解析を行い、その要素のためになんの手続き(実装)が必要かを拾い出すワークです。
「作りたいもの・これから作るべきもの」を今すでに出来上がっているものに置き換え、逆算することで要件定義を行うワークででした。
実際の案件では要件を聞き取り完成した姿を想像しながらやるであろう作業になると思います。
ここでの体験はこの規模の成果物を想像しそれをテキストに落とすためには4人がかりでも25分では定義しきれないという規模感を体感として知ることができました。「ねこあつめ」はシンプルな小さいアプリに見えますが実はとても多機能で複雑なUIです。拡張も済ませて使い込んでる気になっていましたが知らない機能がありビックリしました。かわいいに騙されますが実はすごい子だったのでした。
ワークの内容そのものは画面フロー図に近いものの作成です。
書籍の93ページあたりから書かれている内容の実戦でした。
これはワークショップ後に再度読み返すと、最初に本を読んだ時とはかなり印象がかわりました。やる前とやったとで自分自身の視点が変わったように思います。
(※ 私自身はスタッフ業のためワークショップそのものには参加できていません…(>_< ) 後日ねこあつめだけ25分間の素振りをしました) ワークが終わった後、全員で他のチームの成果物をチームごとで見学するツアー。 同じお題ですがスタート位置が、ローディング画面から始まるチーム、にわさきから始まっているチーム、細かく重点的に書かれた場所はそれぞれのチームごとに異なり、視点が違うと出来上がるものも違う点はとても興味深いものでした。 また各チームともに書き方に工夫があり、見るだけなのに発見があり、気付きがありました。 同じお題でワークをした人と一緒に他のチームの成果物をみて意見交換をするのは、気付きをチームで共有できていたことがすごく良かったです。チームがさらにチームになっていく過程を見ることができました。 基調講演では、実力とは

  • 実行するスキル
  • 知見のボキャブラリー
  • の2つであるとのお話がありました。

    また、本を書いた上で、「身も蓋もない」大前提のお話がありました。
    この大前提があるからこそ、薄く読みやすい本になったのだとのお話でした。

    • プログラミングができること
    • ちゃんとプロジェクトマネージメントができてること
    • DB設計ができること(楽々ERDレッスン (CodeZine BOOKS) 余裕!みたいな)
    • 組織設定や業務設計もちゃんとできるてる
    • ヒアリングスキル・接客能力もちゃんとある

    私にとっての要件定義は見積のために機能を洗い出し、工数を出すための絶対必要な事、モノです。「実行するスキル」はきっと基調講演の中で話された「身も蓋もない大前提」のこの5つのことができてないと精度のゆるいものになるのだと思います。機能落ちしていたことに気がつかずリリース直前で爆発するプロジェクトが思い浮かびました。

    「知見のボキャブラリー」は経験の数。知っていることの数。
    どういう場合にどうする?どうしたらいい?の例を知っているということ。それを自分の中の引き出しから引っ張り出せること。経験者になる。経験を活かせる人になるための材料になるのだなぁと知りました。

    今回のワークショプでは、4人, 2人, 1人のワークの成果物を合計46件の事例として見ることができました。大きな知見をいただきました。
    羽生先生もクロージングの講演で話されていましたが、本当に本当に眼福でした♡

    要件定義レッスン 講演

    要件定義レッスン ワークショップ

    要件定義レッスン ワークショップ中

    要件定義レッスン ワークショップ

    今回、企画開催させていただきとてもとても幸運でした。そして幸せな時間でした。
    会場を提供いただいた楽天さま、
    スタッフとしてご協力いただいた方々、
    そして基調講演からワークショップまで4時間以上の長丁場を担当してくださった羽生先生、
    そして参加いただきました皆さまのおかげです!!!
    大感謝!
    ありがとうございました!!!