スポンサーサイト

0

    一定期間更新がないため広告を表示しています


    • 2014.12.23 Tuesday
    • -
    • -
    • -
    • -
    • -
    • by スポンサードリンク

    Nagoya.php vol6 に行ってきました #nagoyaphp

    0
      お盆最終日の8/17の午後、Nagoya.php vol6 へ行ってきました。

      今回は、現在の勤務先であるカルテットコミュニケーションズが会場を提供していました。
      いつものオフィスに開発部員よりも大勢のPHPerが集まってわいわいしてる光景は、なかなかレアだったと思います!

      自己紹介が終わった後は早速、後藤さんから問題が提示されます。
      今回の問題は「レッスンは何曜日? 〜 横へな 2014.5.9 問題」でした。
      Nagoya.phpに来たことが無い方のために補足しておくと、Nagoya.phpではフレームワークや画面を想定しない生PHPでプログラムを書く時間が恒例となっています。チーム戦ではなく個人戦(各自一人で取り組み)ですが、特に勝敗はつけないので、書き終わった人に質問したり、逆に困ってる人を助けたりするのは大いにありです。(私は今回、解くのにいっぱいいっぱいで助ける側には廻れませんでしたが…) 大抵は雑談しながら書くので、IDEのオススメやら実装のコツがぽろぽろ拾える時間でもあります。

      私の書いたもの
      https://github.com/77web/Nagoya.php-vol6

      コミット履歴に沿って振り返ると、下記のような感じでした。珍しく(?)、中からアプローチでなく外からアプローチです。

      * PHP.Skeletonをcreate-project
      * プロジェクト名Nagoya.Phpでcreate-projectしたらnamespaceがNagoya¥Nagoyaになってたのを修正
      * 入力値のパース→実処理→出力値のフォーマット という流れと処理に必要なデータクラスを考え、メイン処理の流れとテストをコメントアウトした状態で作成 ここで申し込み順保持の考慮漏れがあったばかりに後で苦労する羽目に…
      * 入力値のパースを行うクラスを作成
      * 実処理のクラスを作成(定員は考えず第一希望ごとに割り振るだけ)
      * 出力のフォーマットを行うクラスを作成 この時点でテストケース1,2辺りは通るようになった

      ここからは実際に出題者に与えられたテストケースの実行結果を見ながら仕様の不足点を埋めていくことにします。

      * テストケース3で出力フォーマットの「社員番号昇順」が抜けてたのに気付き、実装
      * テストケース6で実処理に「定員オーバーしたら受講できない」を実装 この時点で希望順→応募順にできたつもりでしたが…
      * テストケース11で実処理に「より希望順の高い人が後から来たら追い出される」を実装 希望順→応募順にはなった

      ここからは現場で解決できず、自宅に帰ってから追加で書いた分です。

      * テストケース18で実処理の「同じ希望順なら応募順の早い人」判定を修正 同じ希望順の時に応募順が前の人を追い出してしまっていたのを修正
      * テストケース17で実処理の追い出された後の再アサイン時に応募順がわからなくなっていた問題を修正 社員データクラスに応募順を保持していなかったので、一度アサインされて希望順で追い出された場合に応募順がわからなくなり、正しく希望順→応募順になっていなかったのを修正。応募順まで入ってくるとそれは既に社員情報(Staff)じゃないので申込み情報(Entry)にデータクラス名も変更しました。

      予定では一時間程度の予定でしたが、私も含めて苦戦した人が多かったせいか大幅に伸びて二時間になりました。
      というか、うーんうーんと頭を捻ってるうちにうっかり予定の時間が過ぎていましたw

      他の方のコード(わかってる分のみ)

      * @hidenorigotoさん
      * @ounziwさん
      * @qckanemotoさん

      似ているようで少し違ったりして面白いですね!


      結局、LT予定だった時間まで問題を解く時間に使ってしまったので、全員が懇親会参加希望ということもありLTは懇親会で行うことになりました。
      LTは
      * @hidenorigotoさん 「Symfonyの実装パターン」(スライド公開予定なし) 7月のSymfony勉強会の再演でした。行けなかったのでありがたかったです…!
      * @qckanemotoさん 「WordPress.Skeleton」(スライド) 鬼門のWordPressを少しでも楽にというお話。
      * 私から 「CoderDojo Nagoyaへのお誘い」(スライドは全く内容が無いので公開予定なし) CoderDojo Nagoyaのメンターと参加者募集。説明は抜けるわMacBookの電池が無くてデモできないわで、素面の割にいつも以上にグダグダでしたorz 思いがけず、関西から参加のホタルマルさんがCoderDojoのメンター経験者ということで、色々会場や人集めの話を聞くことができました。満足。


      参加された皆様、お疲れ様でした!

      次回は11月のどこかの土日で開催予定です。面白そうだと思った方は是非是非いらしてみてください〜。


      スポンサーサイト

      0

        • 2014.12.23 Tuesday
        • -
        • 23:33
        • -
        • -
        • -
        • -
        • by スポンサードリンク

        コメント
        コメントする








           

        PR

        calendar

        S M T W T F S
         123456
        78910111213
        14151617181920
        21222324252627
        28293031   
        << May 2017 >>

        twitter

        selected entries

        categories

        archives

        recent comment

        • 結局CodeIgniter用汎用Modelクラス&汎用CRUDスクリプトを書きました
          プログラマー
        • icu4.4以上が用意できないサーバーでSymfony2.3以上を使う方法
          よし
        • icu4.4以上が用意できないサーバーでSymfony2.3以上を使う方法
          ななうぇぶ
        • icu4.4以上が用意できないサーバーでSymfony2.3以上を使う方法
          よし
        • icu4.4以上が用意できないサーバーでSymfony2.3以上を使う方法
          よし
        • WindowsのPCで開発するphperがxhprofを使う方法
          ななうぇぶ
        • WindowsのPCで開発するphperがxhprofを使う方法
          川本
        • [バッドノウハウ]Symfony2で別テーブルの集計項目を一覧に含めたいとき
          よし
        • Symfony Advent Calendar JP 2012 day 14 - vendorをcomposerで管理しているプロジェクトにcomposerを使わずにバンドルを追加したときのautoloadの書き方
          77web
        • Symfony Advent Calendar JP 2012 day 14 - vendorをcomposerで管理しているプロジェクトにcomposerを使わずにバンドルを追加したときのautoloadの書き方
          ktz

        recent trackback

        • HTMLの表(TABLE)のセル(TD)に斜線を引くjavascriptライブラリ slash.js 作っちゃいました
          常山日記
        • django対symfony 日本語メール送信(その1 symfony編)
          CPA-LABテクニカル
        • CodeIgniterでユーザー認証
          されどLAMPな日々
        • 久々にdjangoを最新版にしたらHTMLがエスケープされちゃった!!(解決済み)
          常山日記
        • FastCGIを諦めてmod_pythonを使う。Apacheのアップグレード
          サーバー用語集
        • さくらインターネット、sqlite3でdjango@CGI版を使う際の設定メモ
          常山日記
        • さくらインターネット スタンダードプランでdjango使ってる方、DBは?
          mitszoの日記
        • python多次元リストをsort(並べ替え)する方法?
          mitszoの日記
        • フォームから送信した値とrequest.POSTの挙動($_POST@PHPとの比較)
          Humming Via Kitchen
        • 日本語テキストをtruncate@django(Python全般にも??)
          常山日記

        recommend

        links

        profile

        search this site.

        others

        mobile

        qrcode

        powered

        無料ブログ作成サービス JUGEM