バコラー日記

人生は決して受け身になってはいけない。攻めるが勝ち!

    タグ:PHP

    • カテゴリ:
      このエントリーをはてなブックマークに追加 Share on Tumblr Clip to Evernote
    40)先日の日曜に「第5回 Symfony2 勉強会」に行ってきました!

    Symfony勉強会兼忘年会および前日イベントのご案内 | 日本Symfonyユーザー会 はてなブックマーク - Symfony勉強会兼忘年会および前日イベントのご案内 | 日本Symfonyユーザー会

    勉強会の運営をしていただいた日本Symfonyユーザー会のみなさま、本当にありがとうございました。


    前回の第4回が2011年6月開催だったので、もうあれから半年も経つのですねぇ。

    ボリューミーな第4回Symfony2勉強会に参加してきました [ #Symfony2study] - バコラー日記 はてなブックマーク - ボリューミーな第4回Symfony2勉強会に参加してきました [ #Symfony2study] - バコラー日記

    本当に一年ってあっという間ですね。


    さて、僕の最近のSymfony事情はと言いますと、半年前の勉強会からほとんど触ってません。(えっ・・・)

    そんな状態だったわけで、勉強会前日の土曜日にVirtualBoxにCentOS入れて、LAMP環境を整えて、Symfony2入れて、軽くマニュアルこなしたりしてました。


    一通り、勉強会の準備が整ったところで、ふと「2011年もあと少しで終わるな、、、LT一度もしないまま年越せないな。。。」ということで、急遽ネタ作りに励んだわけです。

    即席ネタなのでSymfony2を深く掘り下げられないので、別のアプローチでネタを考えることに。


    ネタ、ねた、、、うーん。


    最近、ずっと Heroku + Rails で開発してて、本番環境もステージング環境もHerokuでサクッと用意できるのに感動しておりました。

    Symfony2 + ナニカPaas でも同じようなことができれば素敵だなぁと思い、LTのネタに採用しました。


    以下、当日の発表資料です。


    初めてのLTでかなり緊張しましたが、当日会場やUstreamで聴いて下さった皆様ありがとうございました。

    これから少しずつ場数を踏んだり、もっと濃い内容の発表ができるようになっていきたい次第です。


    あと、LTの発表ネタを加筆 && 修正 して「Symfony Advent Calendar JP 2011」 に書かせて頂く予定です。

    こちらも合わせて読んで頂ければ、幸せな気持ちで年を越せそうです。


    順番が前後しますが、Symfony2勉強会当日の写真をいくつか載せて締めとさせて頂きます。

    写真


    写真(1)


    プリン、かなり美味かった!

    • カテゴリ:
      このエントリーをはてなブックマークに追加 Share on Tumblr Clip to Evernote
    40)本日、第4回Symfony2勉強会に終日参加してきました。


    勉強会を開催して頂いた日本Symfonyユーザー会の方々、プレゼンターの方々、会場提供して頂いたジンガジャパン様に感謝です。

    symfony2

    今日は午前の部、午後の部、懇親会、Symfonyミッドナイト(現在開催中)と4パートに分かれていました。僕はSymfonyミッドナイトを除いた3パートに参加しました。


    当記事は、勉強会で使用されたプレゼン資料や調べたことをメモするためのものです。

    ----
    [email protected]礎編。

    第4回Symfony2勉強会 第1部基礎編 (6/4 土) : ATND





    src/Acme/DemoBundle/ にデモがたくさんある。ここのソースを読んでみる。


    Twig関連の記事。

    Twig - The flexible, fast, and secure template engine for PHP

    ウノウラボ by Zynga Japan: PHPテンプレートエンジンTwigをいじってみました


    Symfony2はrequire_onceを書かない。autoload.php に読み込むディレクトリを書く。


    ・写真:第4回Symfony2勉強会


    Symfony2系のバンドルは、あえてSymfony1系で表現するとアプリケーションだけど、そもそもSymfony1系と比較しない。(別物なのです。)


    ■ キャシュの削除
    現状、1系の symfony cc のようなキャッシュを削除するコマンドはないそうです。

    なので、手動で削除するしかないみたいです。rm -fr app/cache/dev/* で消せばOKです。

    「男は黙って rm -fr app/cache/* 」という方もいました。

    ./app/console cache:clear で symfony cc 相当だけどパーミッションに気をつけないといけないらしいです。


    Symfony2系の情報(日本語)
    Symfony2 ドキュメントポータル


    ----
    午後の部は、第2部実践編という名のLT(Long Talk)。

    第4回Symfony2勉強会 第2部実践編 (6/4 土) : ATND


    読みたい記事がたくさん載ってる。

    デザインパターン・リファクタリング・アーキテクチャに関する参考資料 - 日本Symfonyユーザー会 | Google グループ

    ----

    [email protected]

    14:35 – 15:15 @hidenorigoto
    セミナー 「Symfony2 + Behat(Bundle)でテストファースト開発」 
    Cucumber 互換のテストツール Behat を Symfony2 に統合した BehatBundle の使い方などを紹介・解説します(ハンズオン形式から、セミナー形式に変更になりました)。


    ■ Behat について
    自然言語に近い構文で、英語がわからなくても書ける。

    # language ja で日本語でテストが書ける。英語が苦手な人でも手を付けやすい。

    カスタムステップを作成する場合、組み込みステップのコードを参考にする。


    TDDは知っていたのですが、DDDやBDDはよく知らなかったので調べつつ、聞いてました。

    ドメイン駆動設計 - Wikipedia

    ビヘイビア駆動開発 - Wikipedia


    これやってみたい。

    [PHP]BehatとSeleniumを組み合わせ受け入れテストを自動化する | Ryuzee.com


    おすすめの電子書籍
    はじめる! Cucumber - 達人出版会


    あと、読みたいテスト関連の書籍をメモ。

    テスト駆動開発入門
    エンタープライズ アプリケーションアーキテクチャパターン (Object Oriented Selection)
    ソフトウェアテスト技法ドリル―テスト設計の考え方と実際


    ----
    [email protected]
    15:20 – 16:00 @fivestr
    セミナー 「Symfony2 のフォームについて」
    Symfony2 向けに刷新されたフォームコンポーネントについて。


    2系のフォームは、どんなオブジェクトでもマッピングできて強力だそうです。

    僕は今、Symfony1.4を使っているのですが、2系のフォームがかなり素敵になってることに感動しました。

    ----

    [email protected]

    16:05 – 16:45 @brtriver
    セミナー 「PHPマイクロフレームワーク Silex 入門」
    Symfony2 のコンポーネントをベースに開発されたマイクロフレームワーク Silex について。


    この発表を聞いて、Silexを使ってみたいと思いました。

    Silexを試してみた - ぷぎがぽぎ

    前田さんが作られた「 Silex ユーザーガイド」もありますし、かなり参入しやすそうですしね。

    あと、「silexは充分、製品化に耐えられるレベル」と仰っていたのも使いたいと思えるポイントです。


    そして、PythonのFlaskを使ってみようとも思いました。(え?)

    Pythonのマイクロフレームワーク「Flask」ならApp EngineのTwitter Botが15行で書ける | TRIVIAL TECHNOLOGIES on CLOUD


    Pimple - A simple Dependency Injection Container for PHP 5.3

    「DIコンテナ」をよく知らなかったので要復習ですね。#TODO
    なぜDIコンテナを使うのか - @IT

    ----

    16:50 – 17:30 @iteman
    キーノートセミナー 「Symfony2でより良いソフトウェアを作るために」
    モジュールシステム、ドメインモデリング、DSL などの観点から Symfony2 のアーキテクチャ・フィーチャを俯瞰しつつ、Symfony2 を使ってより良いソフトウェアを作る方法を探索します。

    #TODO スライドを探して、載せる。

    [ 技術講座 ] Domain-Driven Designのエッセンス 第1回
    [ 技術講座 ] Domain-Driven Designのエッセンス -目次-

    ・ネタ記事:オブジェクト指向設計の原則がよく分かるかも知れない画像 - 涙目で仕事しないSE

    ----

    17:35 – 17:55 LT
    @Kiske 「はじめてのSymfony2」


    ----

    @madapaja 「Symfony2 で MongoDB と仲良くする方法」



    madapaja/MadapajaMongoWikiBundle - GitHub

    ----

    @hnw 「PHPUnitのMockObjectの紹介」


    モックがなんとなく分かるLT。

    「モック?なにそれ美味しいの?」状態な僕も本当になんとなく分かりました。

    ----
    [email protected](字、合ってる?)のネタLT。



    急遽、ムチャぶりされて作成したとは思えないほどのハイクオリティ。


    ----

    そして、懇親会。

    みなさんの濃い話をただただ聞いて勉強させてもらいました。

    正直、分からない言葉も飛び交ってたりして、まだまだ先は長いなーと飲みながら、痛感しておりました。


    以上、Symfony2勉強会に参加したけど、しばらくはSymfony1.4を使う、バコラー(@bakorer)のメモでした。

    • カテゴリ:
      このエントリーをはてなブックマークに追加 Share on Tumblr Clip to Evernote
    「第5回 symfony1.4勉強会」に参加してきました。

    SANY0100

    引用元:第5回 symfony1.4勉強会 (ファーストロジックラボ)


    会社の研修で Symfony1.4 を触るようになり「Symfony1.4初心者向けの勉強法」についての情報が欲しくて参加しました。

    主催者の皆様、そして会場提供して頂いた株式会社ファーストロジック様に感謝です。


    以下、発表内容と自分用のメモをまとめました。


    Guiなテスト環境 NetBeansでSymfony1.4


    最初は、中村さん(@n416)の発表。

    発表時のスライドはこちら。



    「Symfony1.4で、limeじゃなくて、PHPUnitを使おう。」という発表内容でした。

    Symfony2系からはPHPUnitを採用しているそうなので、1.4系でも勉強しようというお話。特に、NetBeansでPHPUnitを使うと便利らしいです。


    あと、selenium でのテストの話もありました。

    懇親会で、ざっくり selenium について教えてもらったのですが、かなり便利なテストツールなので取り入れてみたいと思いました。


    PHPUnit、seleniumもNetBeans上で一発で動くらしいです。

    PHPUnit と Selenium を使用したテスト -- NetBeans IDE チュートリアル


    まずは、selenium IDE を触ってみるといいそうです。

    NetBeansだけでなく、Eclispe用のプラグインもあるみたいです。

    当社では大多数の方が、Eclispeを使っているのでEclispe用プラグインを入れてチャレンジしてみたいです。


    ちなみに、中村さんが書いたブログはこちら。
    第5回 symfony1.4勉強会 (ファーストロジックラボ)


    Git初心者の、Git初心者による、Git初心者のための、Git入門


    2番目は、山道さん(@yanchi)の「Git入門」の話でした。

    Git入門
    View more presentations from yanchi


    こんな感じの内容でした。
    git rebaseのメモ - unpushの日記
    git rebaseって超便利じゃね? - Seasons.NET

    git使ったことないんですが、git rebaseはかなり便利だなーと思いました。当社ではsvnを使ってるみたいですが、僕もプライベートでGit入門します。


    Symfony1.4で小規模開発


    続いて、前田さん(@brtriver)の発表。
    1ms.jp

    (スライドはアップされるのでしょうか?)


    内容は、「symfony1.4で小規模開発」と題して、ECサイトの開発を通して、得たノウハウの紹介でした。
    [email protected] [email protected]


    あと、admin generater を使いこなそうという話。admin generaterすごい。


    他にも、jpSimpleMailPluginとか便利なプラグインも公開しているそう。プラグインはいくつか公開されているそうです。


    「ググる量を減らす」ために、./data/skelton/module  に雛形のファイルを用意しておくというのはよさげな開発手法だなと思いました。

    # symfony generate

    サンプルにリファレンスを記述しておいて、ググらずにそれを見ながら開発するらしいです。

    詳しくはこちらのブログに書かれています。
    symfonyでの開発を楽にする3つの方法 : エクスギア Blog

    Symfony関連の情報って検索しにくいので、よく使うコードをまとめておくとよさそうですね。



    admin generater後に、管理画面側に actions.class.php を置けばそっちが優先されるとか。(これはウル覚えなので間違ってるかも)

    あと、geneeator.yml を編集すれば色々できる。


    [その他メモ]
    sfContextを作成すれば、ユーザのセッション情報を取れる


    reCaptchaの効果的な使い方


    最後は、大野さん(@ganchiku)の発表。reCaptchaの話でした。

    よく見るこんな奴を実用する方法を紹介してくださいました。

    28)


    コードがガッツりスライドに書かれている関係で?、スライドは公開できないそうです。

    大野さんのサイトはこちら。
    GANCHIKU.com


    「symfony 1.4によるWebアプリケーション開発」が貰えるジャンケン大会


    LTの後は、日本symfonyユーザー会の皆様が執筆された本が貰えるジャンケン大会。

    僕は購入済みだったので参加できませんでしたが、ジャンケン1回でサクっと勝敗が決定しました。


    ひいきコメントとかなしで、Symfony1.4を入門するならこの本はかなりイイですよ。

    僕は、研修でいきなり「Jobeetチュートリアル」から入ったんですが、途中で訳が分からなくなってしまいました。そんなときに、この本や後で紹介する「blogチュートリアル」を知り、Symfonyの知識を身に付けることが出来ています。

    Symfony1.4初心者の方はこれ1冊持っておくと安心して開発できると思いますよ。


    懇親会でSymfony1.4を初心者が勉強する方法を聞きました


    LT終了後、1時間ほど会場で懇親会(座った状態で好き勝手お話しする感じ)がありました。

    僕は、symfony初心者が学ぶためのステップ、初心者がテストを学ぶための取り入れ方とかを色々と質問させて頂きました。


    symfony初心者が学ぶためのステップ


    まず、一番気になっていたプログラミング初心者がSymfonyを入門する場合、どういう手順を踏めばスムーズに理解できるかということを聞きました。

    まず、日本Symfonyユーザー会にドキュメントがしっかりまとめられているので、ここはブクマ必須です。
    Symfonyドキュメント | 日本Symfonyユーザー会


    そして気になる手順は

    1)Blogチュートリアル - 日本Symfonyユーザー会
    2)本「symfony 1.4によるWebアプリケーション開発」の4章

    3)自分で何か開発してみる
    3)Jobeetチュートリアル

    という手順で進めるといいそうです。


    大多数の方が「いきなりJobeetはちょっと…」という意見だったので、Jobeetに苦しんでいた僕はすごく安心しました。


    「テストの大切さは、痛い目に合わないと分からない。」


    上ので完結していますが、「テストの大切さは、痛い目に合わないと分からない。」とのことだそうです。まだ、開発もしたことのない僕は、まず開発してみて躓いて、テストの必要性を徐々に感じて、テストを取り入れていけばいいという風なことを教えていただきました。

    まずは、単体テストとか小さいテストをして、徐々にテストに慣れていくといいそうです。


    あと、大野さんのツイートが素敵だったのでメモ。

    今日の勉強会で思ったことは、やっぱり設計が大事だということ。設計ができないのにテストとかおかしいと思うんだな。limeだろうがphpunitだろうが、そもそもどんなテストが必要かとか設計と密につながってると思うんだ。より良い設計を心がけるうえで、それを支援するためのテストじゃね。less than a minute ago via Twitter for iPhone Favorite Retweet Reply



    TDDの勉強会とかもあるそうなので、テストについて詳しく知りたくなってきたら参加するといいとのこと。

    PHPUnitについてリンクメモ。
    PHPUnitでできる単体テスト(1/5):CodeZine
    PHPUnitでユニットテスト - @IT


    [告知] 第4回 Symfony2 勉強会


    6月にはSymfony2の勉強会もあると教えてもらったので、こちらにも参加する予定です。

    第4回 Symfony2 勉強会[東京]開催のご案内 (6/4 土) | 日本Symfonyユーザー会

    第4回Symfony2勉強会 第1部基礎編 (6/4 土) : ATND
    第4回Symfony2勉強会 第2部実践編 (6/4 土) : ATND

    興味のある方はぜひ一緒に参加しましょう。


    そして、飲み会



    日曜だけど某居酒屋チェーン店に飲みに行きました。

    294045005

    飲みながら、Symfonyや仕事などの色んな話を聞けてかなり充実した時間を過ごすことができました。(終電ギリギリまで飲んでました)

    イカセンターや温泉に行きたい。


    まとめ


    Symfony勉強会でお会いした方々、本当にありがとうございました。

    ”これから「Symfony1.4」の話をしよう”とか言えるレベルのSymfony使いになれるように、日々、勉強していきますので今後ともよろしくお願いします。

    (できればSymfony2もやっていきたいな)

    ----
    【追記】
    It's just same as dust ahead of a wind: 第5回symfony1.4勉強会に参加してきました。

    • カテゴリ:
      このエントリーをはてなブックマークに追加 Share on Tumblr Clip to Evernote
    最初の研修課題である「ネットワークの基礎」のお勉強が終わり、明日からはいよいよプログラミングの研修に入ります。
    【Study】新人Webプログラマはネットワークの基礎からお勉強 - バコラー日記

    プログラミング研修では、PHPという言語を学びます。最初は「PHP5徹底攻略」というマンモス本をざっくり通して、その後にモノを作るという感じです。


    ネットワークの勉強もそれなりに楽しかったのですが、明日からはもっと楽しめそうです。次の研修は、長くても6月末まで以下のようなメニューが待っています。

    ・Windows7にVMwareで仮想マシン上に開発環境を構築する
      ・CentOS
      ・PHP + MySQL + Apache
      ・Eclipse
      (エディタは何でもいいらしいから、emacsデビューも考えたり)
      ・コードはSubVersionで管理

    ・教本「PHP5徹底攻略」でPHPとSQLについてコードを書きながら理解する

    ・PHPで社内用書籍管理システムを作成
      ・仕様書は与えられる
      ・画面デザインは自分で考える
      ・PHPフレームワーク(Symfony、Zend、CakePHP)で作成
      (多分、Symfonyを使う)

    社内の書籍管理システムは、自分も入社してすぐにあった方が便利だなと思っていたので、まさか自分で作ることになるとは思ってもいませんでした。"書籍管理"と聞いて、パッと思いつくのは「ブクログ - web本棚サービス」ぐらいですが、画面デザインもするからこの辺りも調査していきたいです。

    明日からいよいよPHPerデビューです。"DisられないPHPerになるために"頑張ります。

    • カテゴリ:
      このエントリーをはてなブックマークに追加 Share on Tumblr Clip to Evernote
    LL言語(軽量プログラミング言語)を使う人を一般的に何と呼ぶのか調べたのでメモ。(2010/12/20 11:06 追記)

    JavaScript、Perl、PHP、Python、Ruby の順に下記のように呼ぶようです。(順番はアルファベット順)

    JSer = ジェイサー
    Perler = パーラー
    PHPer = ペチパー
    Pythonista = パイソニスタ
    (他にも、Pythoner = パイソナー、Pythonian = パイソニアン、Pythonist = パイソニスト などがあるみたいです。)
    Rubyist = ルビイスト

    僕は蛇使い、Pythonerと公言できるように日々、勉強中です。

    ・参考:pythonista, pythonist, pythonian, pythoner - mumumu の日記

    このページのトップヘ