GROUPエンジニアブログです。圧倒的な成長を目指す「Treasure2014」(前編)こんにちは。三浦@hironomiuです。9/12の3週間で行われました。Treasure2014は前半(座学、ワーク)、後半(グループ開発)でカリキュラムが組まれています。今回は前半についてお伝えしていこうと思います。9/3の8日間で行いました。(但しTreasure2014の開始2週間前から事前課題でTreasure中に最低限必要となる技術について、みっちり講師陣とQAのやり取りを行います。講師:三浦@hironomiuTreasure2014では出来るだけ実際の開発フローを経験してもらおうと個人開発環境で開発を行い本番環境へデプロイする流れを取ります。その上でGitHubを用いissueベースで開発を行っていきます。本番デプロイの流れを初日に簡単に倣っていきます。Boxにて仮想サーバを構築し仮想サーバ内でベースアプリをGitHubリポジトリからcloneし開発出来る状態で臨みます。講師:渥美(@daisuke_atsumi)さんTreasureはただ学んだ技術で何かを作るインターンではなく、学んだ技術などを用いて「価値」のあるWebサービスを生み出すこと特に大事にしています。そこでアイディアソンと言う形で各Treasure生が作るべき「価値」のあるWebサービスのイメージを具現化するトレーニングを開発の前に行います。この後の技術的な講義ではアイディアソンでイメージしたWebサービスのモック作成からより具現化していく流れで進めていきます。限られた期間で「価値」のあるWebサービスを生み出すのは相当困難です。アイディアソン後の講義でも常に各Treasure生が考えたアイディアは本当に顧客に対して「価値」のあるWebサービスとして成り立つのだろうかと実装しながら検証していきます。講師:前田(@brtriver)さん今回の開発はアイディアソンでイメージしたアイディアのモック作りから始める形で進めます。Webの概念や仕組みを再確認し、その上でモック作りに入ります。Webアプリケーションを振る舞いの責務と言う観点からフロントサイド、サーバサイドの二面を切り口に解説しサーバー側の実装に左右されない柔軟なフロントサイドを開発すると言う目的で今回はVue.jsを用いデータバインディングについて触れていきます。評価者:前田(@brtriver)さん中間課題はここまでのフロントサイド(プラス一部のサーバサイド)の講義で学んだ技術を用いて2日目に行ったアイディアソンのアイディアのモック作成か講義中の例題で作ったアプリの更なる改善したモック作成のどちらかを選択し制作物はプレゼンで発表します。講師:すずけん(@suzu_v)今回のTreasureで用意したサーバサイドベースアプリ(PHP,Slim,Twig,etc)についてコードリーディングを実施し説明していきます。説明も大事ですが自分でOSSのソースを読み解き進める力をここでは養っていきます。今回サーバサイドの役割はフロントサイドからAPIを叩かれJSONを帰すイメージで進めます。そのために必要なAPI,URI設計や更にバックエンドにあるデータ永続やテスト(TDD)についても触れていきます。講師:三浦@hironomiuTreasureではデータの永続化でRDB(MySQL)を用います。事前課題でTreasure生向けにRDBでは必須な技法である正規化について課題を行ってもらいます。その正答を伝え応用を実際に定義したテーブルに対してSQLを用いて様々な問い合わせについて触れていきます。MySQLのアーキテクチャやRDBMSの機能であるトランザクションなども触れます。講師:えび(@co3k)ちゃんここまでも相当ヘビーな講義でしたがトリを勤めるのがセキュリティです。Treasure史上最長の講義資料の136ページ!えびちゃんワールドの開始です。講義は情報セキュリティから始まります。情報セキュリティを抑えた上でWebセキュリティの概要をまずは俯瞰します。Injection、CSRF、クリックジャッキングについて触れていきます。個別のセキュリティ(XSS)について触れていきます。番外編ランチ風景とTreasureの総合プロデューサー(Hさん)。他にもまだまだ書ききれないこともあります。前半戦はここまでとなります。いかがだったでしょうか?ここまで学んだことを用いて後半は4人1チームの開発を行います。後半のアウトプットが楽しみですね。