2014-07-02

Node.js で仕事をするための研修を実践してみた

ちょっと前から社外の学校で Node.js の授業の先生をやったり、社内でも Node.js 人材の育成で 79school という研修をやっていて、 @oranie 先生からリクエストを頂いたので内容を紹介してみます。

やっていること

1. JavaScript 基礎 (1 - 3 days)

Code School ( https://www.codeschool.com/ ) で自己学習。jsに触れてもらいます。

Check point

Code School がそのままテストになっているので、完了することができればOK。

2. JavaScript 実践 (1 day)

js を使用して簡単な web アプリ作成。デフォルトで TodoMVC の Todo、電卓、カラーピッカー。他には Flappy Bird 、マインスイーパーの様なゲームを個人のやりたいようにやってもらいます。
ここからは jsHint, editorconfig 等の静的解析ツールやコーディングツールを導入して貰います。

Check point

jsHint, editorconfig の使い方が分かり、自分の作ろうとしていたモノのコア部分が完成していればOK。

3. Node.js 基礎 (3 days)

Code School で自己学習。 Node.js に触れてもらいます。fs を使った非同期処理の基礎、websocket の使い方、 redis を使ったデータストアとの連携などを学びます。

Check point

Code School がそのままテストになっているので、完了することができればOK。

4. Node.js 実践 (5 days)

Node.js を使用して簡単な web アプリ作成。掲示板・socket.io を使ったゲーム等、規模が大きくならない程度で個人の好きなモノを作って貰います。
ここでは mocha + expect.js を使ってロジック部分のテストコードを書きます。

Check point 

自分の作ろうとしていたモノのコア部分が実装でき、 mocha + expect.js を使ったテストを書けるようになっていたらOK (余裕があればカバレッジも見る)

5. 社内フレームワーク実践 (5 days)

社内の express の middleware などをモジュール化したようなフレームワークがあって、それを使ったダミープロジェクト(稼働中プロジェクトの fork )の機能を実装する。
フレームワークのコードリーディングを座学として簡単に行い、ダミープロジェクトのテストコードを残した状態で実装を削除したものを教材とする。受講者はテストコードが通るまで実装を進めて貰います。

Check point

テストを100%通すことが出来、GitHub を用いた pull request レビュー時にフレームワークの機能を使った実装ができていればOK。

79school の狙い

仕事でJavaScriptを使う

JavaScript はゆるく書いても動いてしまう言語です。その分、自分のコードを厳しく管理しなければ仕事で使うコードとしては良い品質を保つことが出来ません。
これは 79school の前任者、自分の元上司のジョナサンが言っててそれを引き継いでいます。

そのために jsHint, editorconfig みたいなツール、mocha + expect.js でのテスト、Github を使った Pull request 中心の開発フローを社内の新規プロジェクトで実践しました。
この研修でも同じフローを JavaScript に慣れるのと一緒に少しずつ導入していきます。

好きなモノを作って行く中で jsHint に怒られながら自分の js を見直す機会を持ち、テストコードを書き、実際のチーム開発フローと同じ方法で OJT と同等のことをする。
全てが終わってから配属され、卒業生は同じ開発フローの中に組み込まれることでスムーズなスタートダッシュを切ることが出来ます。

コードを読む

あとはフレームワークのコードを読むことを凄くオススメというか強要してます。
作ってくれたのは弊社No.1エンジニアの御方なので、良いJavaScriptのデパート状態なんです。
フレームワークの使い方がわからなければ、そのモジュールのテストコードを読むことが出来るようになっているので、そのとおりに動かせば使えます。テストコードがあってよかった!→自分もテストコード書いておこうという好循環にもなると尚良い。

おまけ

Code School はフル英語のサービスです。英語のビデオと教材をみて、英語の問題をコードを書いて答える。
これでちょっとでも英語を読むってことに慣れてもらえれば、沢山利用している npm のREADME を頑張って読もうとも思えるし、pull request のコメント英語も書いてみようって気に少しはなってもらえるんじゃないかなと勝手に思ってますw

2014-07-01

Yo API Team とやりとりしながら Yo ボタン作った Yo


Yo 楽しいです。SHICHIKU でやってます。

ハイコンテクストなやりとりが出来ると色々話題の Yo の API があって、
ついカッとなって OHA YO YO (おはよーYO)という Yo ボタンを作りました。

http://ohayoyo.herokuapp.com/

Yo をインストールしている iPhone で、safari から Yo ボタンを押せば
"OHAYOYO" (OHAYOは取られてた) を Yo のリストに登録することが出来ます。

とりあえず設定した朝8時になると OHAYOYO から Yo が届きます。

朝に Yo がくるってことは、多分 Good morning 的な Yo だということが分かりますね。
ハイコンテクストォ〜〜〜〜(∩´∀`)∩

Yo API Team

出来たのは良かったんですが、API以外の実装は1時間立たずに出来てたのに、API キーの発行メールが全然来なかったんです。

カッとなって作っただけに、早く公開したかったので Yo API Team のメールアドレスに凸ってみました。
Yo! Please API Key! みたいなメールを送ったのに、相手からは Yo が一回もなかったのが寂しかったです。
でも送ってから数分で返事が来て、(出社前くらいに送ったから現地時間何時…?)すぐにAPIを試すことが出来ました。

試した後も無限にYoが送られてくるバグがあったので、つたない英語で不具合報告したり、「can you try now?」って来たから今無限に送ってるからログ見てくれ!とか返したり、流行ってるサービスの開発者と面白いやりとりができて面白かったです^v^


つくりかた

Medium にAPI の使い方がまとまってます。

APIキーを作るのはこちらから

こちらのブログが分かりやすかったのでコレ見れば良いです

時間管理は node-cron 使ったりしてます。heroku だと timezone はちゃめちゃなのでtimeZone オプションは凄く助かった。
https://github.com/ncb000gt/node-cron


2014-04-27

Cassandra を使ったデータ削除の実装でコレをやるとマズイ

最近はお仕事で Cassandra をメインのデータストアにしたサービスを開発しています。
KVSなデータストアでの開発にもだいぶ慣れてきたところなんですが、落とし穴があったのでメモφ(`д´)

データ削除時に tombstone (墓石) を建てる


Cassandra はレコードの削除を行うときに、tombstone という削除フラグ的なものを立てて論理削除ぽいことをしているらしい。
なので tombstone だけでは物理的にレコードは消えておらず、Java の GC とか minor compaction をされるまで残り続けるみたいです。

検索するときの邪魔になる

Cassandra はデータ検索時に tombstone があるとそれをスキップして走査するという動きになっているらしい。
なので、大量の tombstone があると検索効率が落ちていきます。
データ削除を大量のレコードに対してやるとこうなっちゃうんですね。
cassandra/system.logとかには

Read 0 live and xxxx tombstoned cells

とか表示されているはず。

回避策1

データ走査対象にならないように、適切にレコードに対して key を割り振りましょう。
単純に1種類の ID とかで走査してしまうような検索を避けるために、もう1種類グループ分けできるような ID を振り分けると検索対象から外れて tombstone を踏むことが減ります。

回避策2

gc_grace_seconds の時間を短くして GC される間隔を短くする。
デフォルトだと10日くらいなので、それを短くするとか。これはパフォーマンスと相談して時間を決めるのが良いかと。
CQLで

> UPDATE COLUMN FAMILY [CF名] with GC_GRACE = [時間];

とか書けばいいらしい。

まとめ

一時的にデータを作って、一気に消すような実装が入ってるときに気にしたい tips でした。
tombstone 、墓石と名付けるセンスが面白いですね( ・`v・´)

2014-04-04

アンプ要らず!macの音質を劇的に良くする方法メモ

以前ロケットニュースで紹介されていた "音作りのプロが教えるブッ飛ぶほど最高な iTunesイコライザ設定「Eargasm Explosion」がコレだ!!" を試してみて、確かに劇的に音が良くなったので凄く感動しました。

しかし音楽を聴くのはいつもiTunesというわけではなくて、よく聴いてるのは SoundCloud のremixされたオシャレなクラブミュージックだったりします。アニソン多めですが、最近はラブリーサマーちゃんがお気に入りです。

https://soundcloud.com/yuuki-shichiku
https://soundcloud.com/yuuki-shichiku/likes

ここで問題なのはブラウザの音だとEargasm Explosionが使えない><ということでした。
でもググったら方法があったのでメモ。


ライフハッカーさんありがとう

しっかりまとまってました。
http://www.lifehacker.jp/2013/04/130417equalizer_pc_mac.html

Soundflower というソフトと、 Apple提供の AU Lab というソフトを使えば良いらしい。

macの設定で、出力先を Soundflower に渡して、その出力を AU Lab でイコライズするって仕組みみたいです。

Graphic Equalizer の設定を開いて、10バンドにしたらロケットニュースさんに記載されてる Eargasm Explosion を再現するだけ!

http://rocketnews24.com/2014/03/19/424320/

設定してハマったところと注意

設定した後はGraphic Equalizerの上にあるUntitledから保存するメニューを選んで、Eargasm Explosionの設定をドキュメントファイルとしてどこかに保存しましょう!
保存したファイルを開けばまたこの設定が反映されます。
消しちゃうとまた最初から設定しなおしです。

あとはmac側の設定を変えて、Soundflower に出力を向けっぱなしだとAU Labを立ち上げない限り音が出なくなったりするので注意。


滅茶苦茶良い音でSoundCloudが聴けて幸せです( ˘ω˘ )♪

2014-04-02

Node.js を JavaScript から勉強するときに使ったものまとめ

昨日で社会人5年目になった79です^q^
最近仕事ではNode.jsでサーバサイドなプログラミングばかりしているのですが、人に教える機会が凄く多くなってきました。

他の言語やっている人が、1から(人によってはJavaScriptから) Node.jsをやってみたい!という人がちょくちょく僕を訪ねてくれます。

個人的にどういう勉強をして今に至るのかをずらずらっと書いてみます。


JavaScript からやってみた

自信がないから本読もうという段階

去年末のブログに書きましたが、JavaScript自体始めたのが最近です。
途方にくれて買ってきた1冊の本が始まりなわけですが、とりあえず触るにはちょうど良かった本がこちら



ブラウザですぐ動いて楽しい本です。ただちょっと物足りないので、ちゃんとJavaScriptを勉強したくなってこれを買い足しました。



仕事で使い始めてもっと知りたくなる段階

JavaScript Good Parts


jsは凄く書きやすい言語です。良くも悪くもすぐ動きます。
しかし、ある程度ルールをキメた上でコーディングしていかないと、思わぬ挙動をしたりします。そういうのを防ぐための本。

プロになるためのJavaScript入門


jQueryとか使えるけど、JavaScriptでもうちょっとオシャレに実装したい、とか、流行りのクライアントサイドMVなんとか使いたいとか、そういう時に便利。
ちょうど仕事でBackbone.js使い始めてたので、Backbone.jsの話が多めに書いてあったから買った本。


webサイトで入門するなら

時間かけてられなくて、触りだけ知りたいときはwebでやったほうが良い。

code academy
簡単だけどオススメ。

code school
英語だし有料(一部無料)だけど、本買うより良い。実際にコードを打ち込んで正解しないと次に進めない。
他のプログラミングの勉強もできる。(もちろんNode.jsも)
コード見るだけなら意外とできちゃうし、終わった後英語出来た気になれるw

JavaScriptなら、「JavaScript road trip part 1-3」をやれば良い。

日本語じゃないとダメだって人はドットインストールでもいいのだけど、見るだけになっちゃうので、ちゃんと自分で書いて動かすっていうのと、
自分で1からちゃんと作ってみるのとセットじゃないと書けた気になったままで評価しづらい。


いざ Node.js !

正直本はあまり読んでいない。

簡単に触れるwebでの情報が結構色々あるので、Node.jsはそれだけで充分だった。
ので1冊本を読みきったことはないんです。
でも会社に置いてある良さそうだねってなった本は以下。

Node.js入門




web での学習が一番良かった

The Node Beginner Book
JavaScriptができていれば、Node.jsの勉強はそんなに怖くなくなっているはず。
Node.jsの学習に一番良いとされているドキュメントがあります。


Node.jsの特性を知れるし、expressみたいなフレームワークに頼らずに仕組みを知れるので凄く重宝するはず。

code school - realtime web with node.js
これは本当に良い授業だった。Node.jsの基礎からexpressの利用、socket.ioを使ったサンプル、RedisみたいなKVSへのデータ保存まで網羅されてる。

code schoolの良い所はビデオを見た後にその内容をテスト形式で穴埋め復習出来る所。写経よりも習熟度が高くなるので、本当にオススメです。


Github projects
blogに書いたところでどうにもならないけど、社内のソースコードを読むのが一番勉強になった。社内ではGHEを使っていて、僕が勉強してる時期はいろんなNode.jsのフレームワークが喧嘩していた。その時期はそれぞれのFWを比較しながら読んだり出来て、凄く環境に恵まれてるなぁと実感。
(※社内向けに書くと、Pなんとかとか, beezとか, 某ネイティブゲームで使ってるやつとか(気になる人は聞いてね))

身近にそういうのが無ければ、 node.js sample とかで github 検索したリポジトリを漁るのが良いでしょう!ソーシャルコーディングすばらしい^v^

とは言っても何も知らないと難しいと思うので、今パッと思いついたのでvisionmedia氏がやっぱり至高なのでリンク置いておきますね。
これ見ると気づくと思うんですが、Node.jsでよく使われてるモジュールは大体この人が関わっています。ありがたやありがたや。。

詳細だと express の examplesとかを見れば色々あります。

参考までに

社内で主流なのは express をラップしたようなフレームワークばかり。
厳格なMVCフレームワークは死んでいて、OOPなのも1つだけ?
超ざっくり言うと、1つのオブジェクトに色々機能をぶち込んだものを引き回したりする書き方が多い。
モジュールにキレイにまとめていたり、必要な機能だけDIしたり、フレームワークによって様々。

開発するときに初期から使っておくと良いツール達

Node.jsライブラリ
  • mocha: 下のexpect.jsと一緒に使う。テスト書いてTDD/BDDするのが世界標準だよと怒られています。javascriptは自律が必要な言語です。是非テストを書きましょう!
  • expect.js: 一番具合が良い。
  • lodash: underscoreより今はコッチのほうが使われてる。
  • jade: ejsのが個人的には好き。handlebarsでも良い気もする。
  • async.js: parallelな処理はasync使うのが良いと思う。長い非同期処理書くときにも良い。
  • yeoman: Node.jsで開発してたらyeomanがデフォルトで使えるので、使えるようになっておきましょう。
  • supervisor: 好み。
コーディング
  • jsHint: javascript good parts とか見ると参考になる
  • editorconfig: js関係ないけどお気に入り。node.jsのインデントはスペース2が調度良いと思う。
  • Git: 言わずもがな。使えるようになると Github 巡りが楽しくなる。
  • github-flow: git-flowは死んだ!と思う。なんかグチャグチャしてたりルールを決めるのが大変。偉い人曰く、pull requestが無かった時代の管理手法なんじゃないかとのこと。確かにそんな気がする。
その他
  • vagrant: DBとかはlocalに立ててもいいけど、vagrantに入れてすぐぶっ壊せる環境にあったほうが良いので推奨。v1.5から使えるshare機能で、boxの共有が出来るようになったから、具合の良いboxみつけてそれ使うだけでもイイ。
  • ansible: chefじゃなくてansible。覚えておくと便利。vagrant内にsshでインストール作業がサクサク出来る。
  • CIツール類: jenkinsくらいは使えればおk。jobの中身知らずにビルド回すとかはご法度です。


さいごに

社内外向けに最近のNode.js講座周りのTipsをまとめてみました。
僕が運が良かったのは、これらと合わせて素晴らしいレビュワーが居たということでしょう。
書いたコードを誰かに見せて、問題がないかチームなり上司なりと確認しあうのが大事です。

あとは真似する事が一番の近道です。スーパーエンジニア様達が弊社にはいっぱいいます。身近に居なくても、世界中のコードがgithubで見れたりするので、今はすごく勉強がし易い環境が整っているはずです。良いとされているコードをたくさん真似してみましょう。

2014-03-30

heroku で Node.js 事始め

ニーズがあったのでNode.jsで作ったアプリをherokuにデプロイして公開する方法をブログにまとめておきます。
個人でサクッとモックサーバ作るには一番最適だと思う。



1. herokuアカウントを作る


https://www.heroku.com

で Sign up


2. heroku toolbeltをいれる


https://toolbelt.heroku.com/

3. コマンドライン上でherokuにログインする


# heroku login


4. Node.jsのプロジェクトを用意する


expressでもなんでも良い。
package.jsonをちゃんと用意する。
app.jsだけとかの場合(あんまりないと思うけど) npm initとかしてきちんとしたpackage.jsonを用意する。
npm installする必要があるmoduleがある場合、正しくpackage.jsonのdependenciesを記述する。


5. Procfile を用意する


herokuにデプロイして、実際にnodeをheroku上に実行するのに必要なファイルです。
# node app.js みたいな感じで起動したい場合は、Procfileに下記のような記述をします。
web: node app.js


6. Gitでコミットする


gitがない場合はインストールしてから、

git init
git add .
git commit -m "init"

これで自身のPC上にコミットされた状態になります


7. heroku 上に自分のアプリケーションを作成する


herokuにアプリを置く場所を用意します。

# heroku create <app-name>

<app-name>のところには自分の好きな名前を入れられます。(入れないと適当な名前で作られる)


8. heroku にアプリをデプロイ


6.でコミットされた状態のものがherokuにあげられます。

# git push heroku master

7.を実行したときに一緒に作られた、heroku上にあるgitのmasterブランチにpushしています。


9. heroku 上でサーバを起動する(的な意味)


詳細は知りたければ調べてください。dynoとかで調べれば出ます。
利用するサーバの台数・・・みたいなものです!

# heroku ps:scale web=1


10. アクセスしてみましょう!


http://<app-name>.herokuapp.com

に行けば見れるはず!





こんな感じになります

以前 heroku にうpするために上げたプロジェクトをそのままgithubで公開してます。Procfileとかもあるよ。
https://github.com/79yuuki/nodeStudy




その後のTips


新たに更新

変更したら git に変更を add -> commit して
git push heroku master
すれば新しくデプロイが完了します!

ログがみたい時

heroku logsでサーバ上のログを見ることもできます。Node.jsのエラーが起こった時はこれを使って見てみましょう。


websocket対応

デフォルトのままだと heroku は websocket に対応していません。(2014/03/30現在)
heroku create した後、 Labs の機能で websocket を有効にする必要があります。

# heroku labs:enable websockets


久々に heroku 使うかーってなった時

heroku update で heroku toolbelt を更新しましょう


データベース使いたいお

heroku の add-on を使えば行けます!無料利用でもクレジットカード登録が必要なので注意。

heroku のサイトに行って、Dashboard から作ったアプリの詳細を開いてGet Add-onsをクリックして使いたいものを選びます。

heroku 上で動くDBはちょっと名前が違ったりしますがそれっぽい名前のを選べば基本OKなはず。


注意事項


基本無料なんですが、いろいろ制限もあります。下記記事が参考になります。
http://blog.mah-lab.com/2013/05/16/heroku-commons-16/
勝手にdynoが寝たり、無料時間750時間制限ってのがあります。
https://devcenter.heroku.com/articles/usage-and-billing
※あくまでモックサーバとして最適としか言ってませんのであしからずw

いつかちゃんと heroku でサーバ運用してみたいなぁ。




この記事はクスールのNode.js講座向けに書かれております!
2回目以降もあるかもしれませんので要チェキ (・ω<) -☆
http://cshool.jp/course/node-js

2014-03-02

BaPAに合格しました

BaPAとは?



BasculeとPARTYという広告界隈では有名な2社が合同で立ち上げた、BaPAというクリエイターのための学校ができました。
Both Art and Programming Academyというコンセプトで、デザインもプログラミングもどっちもやっちゃう人を育てる学校です。

紹介記事はこんな感じ。

デザインとプログラミングスキルを併せもった次世代クリエイターのための学校「BAPA」開校!(WIRED)
バスキュール×PARTYが開く学校『BAPA』の狙い。デザインとプログラミングの境界線は無くなるか。│CAREER HACK
ART&CODEの学校・BAPA(バパ)に入ると何を学べるのか、何者になれるのか : ライフハッカー[日本版]
日本を代表するクリエイティブカンパニーが、次世代クリエイティブスクール「BAPA(バパ)」を開校!【@otozureproject】
なぜ、クリエイティブ界はエンジニアを熱烈歓迎するのか?アートとプログラミングの学校『Bapa』仕掛人に聞く - エンジニアtype

これの入試課題「卵を描いて、その卵を動かしてください。」に挑戦し、見事合格することができたので、提出した入試課題についてブログを書いてみました。


「僕に卵をぶつけてください・・・!」

卵を描いてどうするかというブレストの段階で、彼女に振られて人間として終わっていた僕は、こんな自分にみんなから卵をぶつけて罵って欲しいなと思いました(ぇ

そしてできたのがこれです↓



上の僕が立っているシュールなページをPCで開き、下の卵を描けるキャンバスを用意したページをiPhoneなどのスマホで開きます。

iPhone側で円を指でなぞって描くことで、線が交差するときれいな卵が描けるようになっています。
卵を描いたら、その卵をiPhoneを振ることで投げ飛ばす事ができます!

飛んだ卵はどうなるかというと、開いていたPC画面の方に飛んでくるんです。
そしてその卵が僕に当たると・・・。

おもむろに服を脱ぎ始め・・・

土下座してひれ伏している僕に生卵を当てることができます。
爽快!!!!

気持ち悪いですね。

どうやって作っているか


ざっくり

PC・iPhone側両方共に描画をすべてhtml5のcanvasを使って行っています。
サーバサイドではNode.jsを使っていて、websocketによって投げた卵の情報が iPhone -> PC のように渡るように作っています。


卵を描く


卵を描く処理はもっと最適化できるとは思うのですが、数学を使って根性でフルスクラッチしています。

まず、よくあるcanvasお絵かきを実装したあと、円を描いた最後に「線が交差する」判定をさせています。
2つの線分が交差している時、その2線分の4端を使ってほげほげ〜なときに交差してるよ!みたいな処理が書いてあります。

交差したあとは、手で描いた円を卵型に整形する処理です。
ぶっちゃけると今回は描いた大きさをとって、その大きさに合わせて卵を再描画してるだけなんです。
ただ、卵形曲線とかいう公式をみつけて、それをプログラムに落としこむのが結構かかった。。という苦労話までにとどめておきます。。

リファクタされてない(w) ソースはGithubにも公開してるので興味があれば見てみてくださいw

卵を投げる


卵を描き終わると、投卵待機状態になります。
iPhoneのsafariから、端末の傾き等の加速度を取得することができるのでそれを利用します。

誤操作で卵が飛んでいってしまうと面白くありません。
ちゃんとiPhoneを投げたような動作が行われた時に飛ぶように、投げた動作の座標をキャプチャして、これくらいの数値の時に飛んだら気持ち良い、という値を出しています。

その時の卵を飛ばしたデータはsocket.ioを通じてheroku上のNode.jsサーバに飛ばします。
飛んできたデータはそのままPC側のページに渡されて、卵を僕に当てるまでの処理が走っています。微妙に投げた時の力加減が放物線に影響されていたりします。

PC側の卵が飛んでく処理は卵画像をパラパラさせながら、放物線を描いて奥に飛んでく風に描画してます。
卵が僕に当たった時は尊敬するfkeiパイセンが作った CyberAgent/boombox.js を使わせて頂いて、更にsoundのプロから頂いた卵の「ペシャッ」音のmp3ファイルを再生しています。

あとは基本的なcanvasの処理ですかねっ!


学んだこと


人に見せる

人に何回も見せてブラッシュアップするのが大事だなぁと実感しました。
なんとなく動いた時に、必ず誰かに見せる。
今回はtwitterやfacebookに公開して見てもらったり、ソッチ界隈の方々との飲み会などでiPhoneとAndroid2台持ってすぐデモができるようにして意見をもらったりしていました。

実際に見てもらった時に、
「操作方法がわからん」→「チュートリアルつけるわ!」
「卵描けないんだけど(処理が反応悪い)」→「クリティカルなバグだから改善する!」
「仕組みは面白いけどもうちょっと足りない」→「脱ごう!」
「土下座まで長くて見てて辛い」→「コマ数をカット!」
みたいなのをバシバシやって、とりあえず作ったものを短期間でものすごいスピードでブラッシュアップできました。

技術オナニー禁止

あとは技術力でオナニーしても全然おもしろくない。
これ使って作った → (゚Д゚)ハァ? ってなりやすい。

その先に何が出来るかの方を見たほうが良い。
崇高なコンセプトを作って壮大な作品が出来てポカーンとされるより、見て「なにこれww」ってなる面白いもののほうがわかりやすいし良い。(※崇高なコンセプトが必要な時もあると思う)


意気込み

BaPAの仕上げはチームで卒業制作した作品を、ヒカリエで展示するそうです。
そこで明確な順位がついたりするので、やるからにはトップを!狙って行きたいと思います^v^

僕は普段の仕事ではガッツリとサーバサイドの実装ばかりなのですが、BaPAを通じてしっかりとしたART & CODEな人間に生まれ変わりたいと思います。

クリエイター79の今後にご期待ください^^ω!!!