2012年1月20日金曜日

【第一回】iPhoneアプリ開発ワークショップ報告!

こんにちは、初めまして。
techGarege Tokyoの山下達也です。
通称【やまぴー】です。よろしくお願いします!!
ちなみに言うと、デザイナーです^^

さて、今回は先日行われた
【一日でiPhoneアプリを創るワークショップ】
の第一回の様子をお伝えします

概要としては、Facebookのフィードを読み込むアプリを一日で創るというものです。
記念すべき第一回は2012年1月15日(日)に行われました。

数日前まで参加希望者が全然いなくて焦っていたのですが当日は7人の方々が参加してくれました!techGaregeメンバーも合わせて全部で15人くらいの勉強会になりました。



















最初の自己紹介はこんな感じで。知らない人同士でしたので、名札も付けて参加者同士もコミュニケーションを取りやすいように図りました。

今回の講師はtechGaregeの修造こと【松岡秀樹】です。
修造はこの日の為に福島から来ました。気合い入っています!!

そしてワークショップがスタートしました。皆でMacを広げてみた事も無い聴いた事も無いようなソフトを使ってアプリを制作していきます。(Titaniumとxcodeを使用)
(*)詳しくは前の記事に修造が書いてますのでそちら参照



















始まるとこんな光景に!The開発してます!って感じですね。カッコイイ!




















修造が関数について語っています。
このレベルから教えてくれるので、初心者にも分かりやすいですね!



















参加者皆さん集中して話を聴いています。
取り残されていかないように必死に取り組んでいました。



















ボタンがついたり、MAPが表示されたり、Facebookのフィードが見れたり、自分で書いたコードがちゃんと動くごとに笑顔がこぼれるのがとても印象的でした。
「創ったものが動く」これは本当に大きな喜びですよね。

このような感じで、無事に全員アプリを創る事が出来ました!良かったです^^
ワークショップの後は懇親会を行い、参加者同士での情報交換やコミュニケーションの時間になりました。
techGaregeにも興味を持っていただけたようで、こちらもやった甲斐がありました。
【第二回】1月21日
【第三回】1月28日
も今回同様の内容で開催させていただきます。
受付は大人気により既に閉め切らせていただきましたので、次回イベントにご期待ください。

また、「こんなイベントあったらなー」などの意見をコメントに書いてくださると有り難いです。

ここまで読んでくださってありがとうございました^^

それでは!













2012年1月12日木曜日

Titaniumで光速iPhoneアプリ開発


初めまして。techGarageのメンバーの松岡秀樹です。

テニスをやっていたので修造と呼ばれたりしています。

Titaniumの勉強会を開催致します。

テーマは1日で作るFacebookのフィードクライアント。

興味がある方は是非下記より応募よろしくお願いします。
ご都合がよろしい日に参加下さい。開発環境はこちらで提供致します。

1月15日

1月21日

1月28日




さて、1年前くらい?からiPhoneもAndroidもどちらも同時に作れる!と話題になったTitaniumに触れてみて感じた特徴や長所、短所を述べていきます。


1、ウェブの感覚で作る事が出来る。

TitaniumでUIを組み込んでいくには下記の様になります

1、部品を作る
2、ビューに載せる

全てのUI(window,view,button,label,textfield.....)はこの2工程で作る事が出来ます。
また、部品の上に部品を載せたり、イベントに応じて表示/非表示を切り替えたり。
これらの組み合わせでアプリの画面を全て作る事が出来てしまいます。

レイアウトはcssでmarginを指定するイメージです。
赤の四角のプロパティ
{
backgroundColor:'#F00',

width:50,

height:50,

top:0,left:0

}

緑の四角のプロパティ
{
backgroundColor:'#0F0',

width:50,

height:50,

top:0,

borderRadius:10,

borderWidth:1,

borderColor:'#0F0'

}

青の四角のプロパティ
{

backgroundColor:'#00F',

width:50,

height:50,

top:0,right:0

}

色、サイズ、座標(top,left,right,bottom)
角丸(radius)を数字で指定する。
この様にwebデザイナーでもレイアウトにコミットする事が出来ます。

また、JavaScriptなのでなかの機能作成にも参加する事が出来ると思います。

例えばボタンを押したときにアラートを表示する場合

var b = Ti.UI.createButton({
title:'アラート',
width:120,height:50
});

b.addEventlistener('click',function(){
alert('これはアラート');
});

と、webでイベントリスナーでの制御と同様にアプリでも制御する事が出来ます。
click(シングルタップ),double tap,swipe,flickなどのイベントがUIに対して割り振られているのでそれらを利用する事が出来ます。
またfireEventも出来るので、制御の幅は自由度が高くなっています。



2、足りないモジュールはプラグインする事が可能

Titaniumが提供している基本的な機能はアプリを作る為の基本的な機能に限られます。(基本機能の組み合わせ次第では十分クオリティの高いアプリは作れます)

従って画像処理の機能や物理演算の機能など、主に内部的なエンジンは自前で作る必要があります。しかしこれらの処理にJSは向いていません。そこでネイティブで作った言語のエンジンを組み込むのです。

例えばbox2dと呼ばれる物理エンジンモジュールがあります。
これはTitaniumでゲームを作りたい人向けのモジュールになります。

僕の粗記事(Titanium SDK1.7.5 現在)ですが
http://hidekun.info/2011/11/19/327
こちらで導入方法を解説しております。

また、Appceleratorのマーケットプレイスでプラグインや素材を買う事も可能です。
http://www.appcelerator.com/products/open-mobile-marketplace/


3、短期間で開発する事が出来る

クライアントであれば1週間位でそれなりのアプリケーションにする事が可能です。
僕たちは元々約2ヶ月のインターンでTitaniumという未知のSDKに触れ、1ヶ月でJSを学び、1ヶ月でアプリをリリースしました。

最初から初めても1ヶ月もあればリリースできる様になるのです。




Titaniumの勉強会を開催致します。

テーマは1日で作るFacebookのフィードクライアント。

興味がある方は是非下記より応募よろしくお願いします。
ご都合がよろしい日に参加下さい。開発環境はこちらで提供致します。

1月15日

1月21日

1月28日



2011年12月24日土曜日

Rでデータマイニング データセットの読み込みと概念を理解しよう

初めまして。techGarageのメンバーの中村俊輔です。

某サッカー選手のような名前ですが、無関係です。



私は大学院でデータマイニングの分野を専攻しているので、その分野についての記事を書いていきたいと思っています。

データマイニングというと、”難しい”、”とっつきづらい”という印象を持たれている方が多いと思うのですが、やってみるとそうでもないことが分かります。

なので、私の記事では実際にデータマイニングをやってみて、簡単なんだと感じていただくことを目的にやっていきたいと思っています。



用意するもの

・パソコン(Windows, Mac, Linuxどれでも可)

・インターネット接続環境



データマイニングをするとき、多くの人はデータマイニング用のソフトウェアを使います。

ソフトの種類はたくさんありますが、この記事では導入が簡単で無料で使える”R”を使っていきます。



では、まずはRのインストールから。

下記のサイトを参考にして、インストールしましょう。

http://www.okada.jp.org/RWiki/?R%20%A4%CE%A5%A4%A5%F3%A5%B9%A5%C8%A1%BC%A5%EB


インストールできたでしょうか?

Windowsを使用されている方は"R User Configuration"も実行しておいてください。

ちなみに私はWindowsとMac版を使っていて、記事ではMac版を使って説明していきます。

操作は基本的に同じなので、好きなOSでインストールしましょう。



起動すると、こんな画面が出ます。





次に、data(iris)と入力しEnter、irisと入力してEnterをタイプします。




そうすると、以下のような画面になります







なんじゃこりゃ!という感じだと思いますが、順に説明していきます。

Rの操作は基本的に対話型で行われ、命令を1つずつ与えて結果を得ながら進めていきます。

まず、最初の命令data(iris)ですが、これは"iris"というデータセットを読み込んでください、という命令です。

データセットというのは、分析したいデータの塊、データの集合体と思っていただけたら良いと思います。

次のirisは、"iris"というデータセットを表示してください、という命令です。

さきほどの出力はirisというデータセットの中身が表示されていたんですね。



では、このirisというデータセットですが、データマイニングの分野では有名なデータセットで、データマイニングでのハローワールド的なものと言ってもいいかもしれません。

このデータセットは、植物”あやめ”のがく片の長さと幅、花びらの長さと幅と、あやめの3つの品種が記録されています。

と言っても…よく分からないので、実際にデータを見て行きましょう。

先ほどのirisで表示されたデータセットを見て行きます。上にスクロールすると、このような画面になります。





このデータセットの1つの行が、1つの花に対応しています。

例えば、1番目のデータ


これは、数字が5つと文字列"setosa"が記録されていますが、順に見て行くと、

"1" この花のデータ番号

"5.1" この花のSepal.Length(がく片の長さ)

"3.5" この花のSepal.Width(がく片の幅)

"1.4" この花のPetal.Length(花びらの長さ)

"0.2" この花のPetal.Width(花びらの幅)

"setosa" この花のSpecies(品種)

つまり、データ番号1番の花はSepal.Lengthが5.1で、Sepal.Widthが3.5で、Petal.Lengthが1.4で、Petal.Widthが0.2であり、この花の品種はsetonaであるということです。

このデータセットはそのようなデータを150個集めたものになります。

ここで、説明変数と目的変数についての話をします。

データセットirisには変数が5つあります(データ番号を含まず)変数とは、列のことだと思ってもらえればいいです。

5つの変数のうち、 Sepal.Length、Sepal.Width、Petal.Length、Petal.Widthは説明変数で、setosaが目的変数です。

ちょっと分かりづらいですね。

少し、このデータセットがどのような目的で作られたのかを考えてみましょう。

このデータセットが作られた目的は、たくさんの花のサンプルを記録しておき、その記録したデータをコンピュータに学習させ、未知の花が与えられたとき、その花の品種が何であるかをコンピュータに推定させることです。

例えば、この"iris"のデータセットで学習しておけば、

Sepal.Lengthが5.0、Sepal.Widthが3.0、 Petal.Lengthが1.0、Petal.Widthが0.3の花の品種をコンピューターが推定することが可能になります。

つまり、推定したいのは目的変数の”花の品種”で、推定する際に入力に使うのが花びらの長さ等の説明変数というわけです。

なんとなくイメージはつかんでいただけたでしょうか?

では、次回は実際にコンピュータに推定させる部分をやってみましょう。

ここまで読んでいただきありがとうございました。




不備、質問等ありましたら以下までお気軽にお願いします。
shun.nakamu@gmail.com

Facebook

2011年12月22日木曜日

mixiカイハツコンテストに参加してきました。



















こんにちは。 

techGaragetokyoの笹川です。 
今回初めての投稿になります。

僕の自己紹介はfacebookとかtwitterを見て頂けると分かると思います。 


さて今日は12月16~18日とtechgarageメンバー5人で参加してきたmixiで開催されたmixiカイハツコンテストについてイベントの様子と感じたことを書きたいと思います。


概要
まずmixiカイハツコンテストとは?
mixiカイハツコンテストとはmixiのAPIを使い、~キャンパスライフに革命を。学生開発者求ム。~ というテーマで
学生20人ぐらいが参加し、実質1日半で企画から開発まで行ってしまうというイベントです。
ちなみに女性は見事に1人もいませんでしたw

詳細:http://everevo.com/event/492


開発の様子












techGarageでも以前2日間でアプリリリースしようぜーというハッカソンイベントを福岡と東京で開催致しましたが、今回はmixiのグラフAPIなどを利用しiPhoneアプリだけでなく、Androidアプリ、webアプリも開発するチームもありました。 

チューターとして
mixiでエンジニアとして最前線で活躍している方々や、
M-WARPの野村さんも参加し学生の開発のサポートをして下さりました。
企画側のチューターとして25日間で100万ダウンロードを達成したDECOPICを運営している
コミュニティーファクトリーの松本龍祐さんも参加して下さり、学生だけでなく、チューターの方も一緒になりレッドブルを飲みながらガリガリコードを書いた2日間でした。

下記は途中経過の様子です。






















チームはそれぞれ開発できる言語、開発したいプロダクトをもとに7チームに分けられました。
2日目の夜は全チームmixiオフィスで泊まりハッカソンらしくmixiさんのレッドブルの差し出しなどもあり徹夜で開発するチームがほとんどでした。 












彼も同じtechGarageとして参加したメンバーの山本です。 
彼のチームは女性をターゲットにしたmixiアプリ帳というマイミク同士
プリクラを共有しプリクラ帳を作成できるアプリを開発していました。 



最終日は審査員といて、
TechCrunch Japanの西田様、TechWaveの湯川様、 
Samurai Incubate Inc.の榊原様、株式会社ミクシィなど豪華メンバーの方々にご参加して頂きました。

1チーム7分のプレゼンを行い、そこでアプリの説明をデモで行いました。

結果発表
まず3位は先ほど説明したmixiアプリ帳を開発したtechGarageメンバーの 404 NOT FOUNDです。












2位チーム、POST GETで、夜と朝で使う時間によってアプリがかわり一日1回だけ夜自分の願いを星に乗せて願う事ができる。
ロマンチックなiPhoneアプリです。 このチームは開発だけでなくデザインや音楽も全てチームで作り2日間で開発したとは思えないほどクオリティーの高いプロダクトでした。













1位はなんと2人チームのチームねこせんです。 このチームは学生をターゲットにしたブルートゥースを利用したグループチャットアプリを開発しました。 このアプリの面白いところは校内でwifi環境がないところでもどこでもいつでもチャットができるようにとブルートゥースを採用し、たったの2日で開発した点です。














イベントの最後には参加者皆で仲良く集合写真












mixiカイハツコンテストで感じたこと

今回のmixiカイハツコンテストで感じ点は「これからのエンジニアの姿」です。これは今までのように開発ができるだけではなく、企画も、プレゼンも全て含めこなしてしまうオールマイティーのエンジニアです。 今回のハッカソンではこの僕が感じたこれからのエンジニアの方がとても多い印象を受け、力の差を感じました。
参加者のの多くはプログラミングを学校で専攻し、プログラミング歴も長く、とにかく開発することが大好きといった学生がとても多く、アウトプットした最終的なプロダクトの質もかなり高かったです。さらに僕が驚いたのは参加者のプレゼンテーションスキルがかなり高かったことです。エンジニアの学生を集めたイベントではないような印象を受け、これから求められるエンジニアはtechGarageでも掲げているような自ら考えて、物づくりができる一人前のエンジニアだと改めて再認識することができ、自分自身に危機感を感じることができました。


2011年12月11日日曜日

techGarage決起会&ハッカソン


先週の12月3,4日に、techGarageの決起会としてハッカソンを開催しました!


techGarageは東京と福岡の2カ所にラボがあるため、このハッカソンも東京・福岡で同時開催となり、お互いの様子をUstreamとSkypeで中継しながら開発を行いました。


<<ハッカソン開催概要>>

目的:techGarage決起会、techGarageとしての実績を増やす

目標:2日間でiPhoneアプリを開発する

参加者:東京3チーム、福岡3チーム(ゲスト参加者もいました)


今回は、東京側のハッカソンの様子をお伝えしたいと思います。


開発に入る前に、Titaniumの勉強会を開催しました。講師には、㈱アールラーニングCTOの小澤さんを招き、約2時間Titaniumについて学びます。今回はTitaniumを初めて触る参加者もいましたが、すぐに動かせるようになっていました。


開発風景です。みなさん真剣ながらも、ところどころでギークな会話で盛り上がっていました!基本的にはチームに分かれて開発していますが、チームを超えた技術交流も見られ、オープンに開発に打ち込んでいました。


福岡のラボとつないで、2日間の成果をプレゼンしました。どのチームもデモとスライドを用意しています。


福岡チームの発表を聞いているところです。画面越しに熱意が伝わってきました!質疑応答はSkypeを通して行っています。


発表後に、投票により優勝チームを決めました。写真は見事優勝したチームのみなさんです!


総括

今回、東京側のハッカソンは、非常に盛り上がりました!techGarageの結束はさらに強くなり、ゲスト参加者にも楽しんでもらう事ができたようです!!


が、


残念ながら今回は2日間で完成まで行くチームがでませんでした。

しかし、近いうちにリリースすることを目指し、各チームで開発を継続するようです。

ということで、開発の進捗については後日報告いたします!


以上で東京側ハッカソンのレポートを終わります。

今後もどんどん情報発信していきますので、乞うご期待!