2012年3月29日木曜日

メンテしやすいコードを書くために4つの習慣を始めてみた。


どうしてもコードは独りよがりの書き方になってしまいがちです。
それらを強制し、チームで共有し易く、そしてメンテナンスし易くするための気をつけたい習慣を記してみます。



気をつけるべき習慣を4つ紹介します。




・コーディング規約を知る。
・他人のコードを読む。
・書く。
・公開する。




1、コーディング規約を知る。


コーディング規約をしりましょう。話はそれからです。

・インデントの幅
・function(){}の{}は改行するのか?
・/** ←上のアスタリスクは2個
*
*
*/ ←下のアスタリスクは1個

この様にを知る事が重要です。


メリット
・この書き方に規約に準拠したコードが読み易くなる。
→例えば仲間にこれを求める事で、仲間のコードが読み易くなりますよね。また、仲間もあなたのコードを読み易いと思ってくれるでしょう。

・保全性の向上。
→コメントを書く事で、仕様変更の時に保全性を発揮します。また、書いた人以外でも対処できる可能性があがります。




2、他人のコードを読む。


今まで、沢山コードを書かれていると思います。作るのが楽しかった。僕もそうでした。
次のステップに行く為には他人のコードを読む事です。そして真似る。

・用いている変数名
・条件分岐
・オブジェクト指向

これらの項目にフォーカスして読むと良いでしょう。


メリット:

・命名規則を知る事が出来る。
→曖昧な分野なのでコーディングして良い命名があればどんどん真似する。

・アルゴリズムを知る事が出来る
→コードの中で最も十人十色な所。世界には自分よりも効果的な書き方をしている人が沢山います。そして真似する。

・フレームワークを読むとコーディング規約の実装例がわかりやすい。そして、カスタマイズできる様になる。
→例えばWordpressをリーディングすれば、カスタマイズしてCMSからSNSの様な動きにする事も可能です。そして、何よりもコーディング規約に準拠した奇麗なコードである場合がほとんどなので、ブログなどに載ってるコードよりも読む価値がある(と思っています)。




3、書く。

とにかく書く事です。プログラミングは体で覚える物です。
1と2で学んだ事を生かす事が出来ればOKです。
もっと効率的なやり方は無いかと疑いながらやるといいです。




4、公開する。


最後は公開しましょう。見せるは一時の恥です。
そして沢山、指摘をもらいましょう。2度同じミスをしなけりゃいい。







さて、とても簡単な4つのアクションを紹介しました。
これで貴方は僕の様に上司にコードを見せた時「なんだこのスパゲティ」と言われる危険性を取り払う事が出来るのではないでしょうか。


ね?簡単でしょう?

2012年3月9日金曜日

たった4行のコードでできる Rでデータマイニング データの可視化

こんにちは。techGarageの中村俊輔です。

前回から時間が開いてしまいましたが、前回の続きでみなさんと一緒にデータマイニングをやっていきたいと思います。
前回の記事はこちら
この記事ではデータマイニングに関する特別な知識は要りません。必要なものはパソコンとインターネット接続環境だけです。

今回の記事は、データの可視化に焦点をあてたいと思います。
とにかく、手を動かしてやっていきましょう。

まず、Rを起動します。




次に、irisのデータをロードしましょう。




主成分分析をかけます。(今はどんなものか分からなくても大丈夫です)




主成分分析の結果をプロットします。





最後にラベルをつけます。




これで主成分分析による可視化が成功しました。

setosa, versicolor, virginicaで分布に特徴が出ていることが分かりますね。

では、今回の記事で取り扱った主成分分析について説明したいと思います。
今回取り扱ったデータセットであるirisの中身を見てみると





1つのレコード(行)は
Sepal.Length, Sepal.Width, Petal.Length, Petal.Width
の4つのデータ軸(列)と、
このデータの種類が何であるかの
Species
の属性を持っていることが分かりますね。

このデータをグラフで可視化しようとしたとき、普通にやろうとするとできません。
なぜなら、グラフ(散布図)で画像にすると、x軸、y軸の2つの軸でしかデータを表せず、
このデータは4つの軸で構成されているので、2つの軸しか表せないグラフ(散布図)には収まりきらないのです。
(5つめの軸であるSpeciesはラベルなので、データを表す軸にはなりません)

そこで、威力を発揮するのが主成分分析です。
主成分分析を簡単に説明すると、本来のデータの特性をできるだけ失うことがないように次元削減(軸を減らす)するための手法です。
つまり、できるだけ情報を失わずに4軸から2軸にすることが可能ということです。

少し分かりづらいでしょうか?
くだけた言い方をすると、データの中に存在する一番良い2軸を選んでくれるものです。
(実際には2軸だけではなく、何軸にすることもできます)

今回のirisのデータですと、4軸から2軸に減らしたにも関わらず、元々の情報の97.7%を表現できています。
データが1/2になっているのに、ほぼ100%再現できているってすごいですよね。


今回は主成分分析を取り上げました。
少し難しかったでしょうか。
しかし、やり方は非常に簡単です。コードはたった4行です。
興味を持っていただけたら、他のいろいろなデータに試してみてください。


次回は判別分析について触れたいと思います。

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

2012年2月24日金曜日

知ればモテる!! 世界で使われているSNSトップ10





こんにちは、techGarageの笹川です。 

最近 CrunchBaseや、Tech in Asia, Techmeme, PandoDialyなどの海外tech系記事を読み「海外のサービスすげーなぁ」と言って自己満したり、シリコンバレーにあるIT企業のCEOにアポをとって「新卒で雇って下さい!!」とプレゼンしに行ったりとそんな現代風非国民的生活を送っている僕ですが、今日はtechGarage非国民代表として皆さんに知らないと損する世界で使われているSNSトップ10をシェアしたいと思います。



NO1 FaceBook








ユーザー数:8億人
サービスロンチ:2004/2/1
Alexaページランク:2

知らない人はもういないと思うので特に説明しませんが、日本でももうかなりのユーザー数を確保してきている、Facebook。2位のQzoneと大きくユーザー数を引き離して堂々の一位です。




NO2 Qzone







ユーザー数:4.8億人
サービスロンチ:2005
Alexaページランク:不明

今急速に伸びている中国のSNSの中でトップを走っているのがこのQzoneです。
wikipediaのQzoneのページを見ると、Qzoneはブログ、写真の投稿、音楽を聴きなどの機能があり、またユーザーは背景画像やアクセサリーを選びカスタマイズすることができるようです。ただほとんどのサービスが有料で、新たなサービス、カスタマイズを行うためにはお金を支払わないといけないようです。 日本でいうモバゲー、グリーのようなイメージだと思います。




NO3 Twitter







ユーザー数:3億人
サービスロンチ:2006/7/15
Alexaページランク:9

日本で大人気のtwitter。
日本で爆発的に流行った大きな要因としては、140字でも十分伝えたいことが伝えられるという点があるようです。 英語では発信したい内容がかなり制限されるということで、省略された英語がtwitter上でかなり使われています。 
「Twitter Abbreviations」で検索すると面白いです。



NO4 Habbo








ユーザー数:2億人
サービスロンチ:2000/8/1
Alexaページランク:6545

フィンランド発のサービスで、ティーネージャーにターゲットを絞ったSNSです。
会社のスローガンは"Hangout for teens"で、若者のための遊びです。



NO5 Renren







ユーザー数:2億人
サービスロンチ:2005/12
Alexaページランク:83

中国SNSで一番良く耳にするのはこのRenren。
意味は"Everyone's website" 中国版Facebookとも言われかなりFacebookに近いサービスです。



NO6 Badoo








ユーザー数:1.6億人
サービスロンチ:2006年
Alexaページランク:117

Badooのwikibpediaには"Social Descovery Website"と書いてあり、いわゆる出会い系SNS。
日本語版でもロンチしているようですが、日本での評判はあまり良くないようです。



NO7 LinkedIn







ユーザー数:1.3億人
サービスロンチ:2003/5/1
Alexaページランク:13

日本でも徐々にユーザー数が増えつつあるリンクドイン。 
Facebookとの大きな違いはリンクドインはビジネスでの利用に特化していている点です。
書店でもFacebookに次いで多くのHowTo本を見かけるようになり、これから個人的に注目しているSNSの1つです。



NO8 Bebo








ユーザー数:1.2億人
サービスロンチ:2005/7/1
Alexaページランク:2279

BedoもFacebookに良く似たSNSです。
ユーザーはブログ、写真、音楽の投稿はもちろんのこと、動画、友達への質問も可能です。



NO9 Vkontakte






ユーザー数:1.17億人
サービスロンチ:2006/9/1
Alexaページランク:44

VK はロシアのSNSで、ウクライナ、カザフスタンなどでも人気です。
Facebookクローンと言われ、Facebookの機能をほぼ全て真似ています。




NO10 Tagged








ユーザー数:1億人
サービスロンチ:
Alexaページランク:281
こちらもSocial Descovery Websiteで出会い系のSNSです。

少し古いtechCrunchの記事でもCEOが「その人独自の動機に基づいて、未知の人と出会える、最高の場所と行っています」

ちなみにmixiはというと28位です。


参考記事

文責:@yamato0010

2012年2月19日日曜日

新アプリ「やめます宣言」をリリースします!


こんにちは、techGarageの齋藤です。
今回は、近いうちにリリース予定のアプリを紹介したいと思います。

紹介するのは「やめます宣言」というiPhoneアプリです。



●どんなアプリなの?
「やめます宣言」は、あなたの「やめたい!」を応援するアプリです。

間食や夜更かし、タバコなど、「やめたい!」と思っているのに、なかなかやめられなかった経験はありませんか?
そんなときに使えるのがこのアプリです。
「やめます!」という決意をtwitter上に投稿し、友達に監視してもらう。この決意表明を楽しく行えるのが「やめます宣言」なんです!

ポイント① twitter上で友達に「やめます!」と宣言することで、諦め辛くなります。

ポイント② 画像付きで投稿できるので、友達に注目して貰えます。



●使い方
では早速使ってみます!
私は最近生活リズムが乱れていて、そろそろ改善したいと思っていたので、「夜更かしをやめます!」と宣言しようと思います。
アプリを起動すると、twitterへのログイン画面が出てきます。
ログインが済めば、Top画面に移ります。


主な機能は3つに分かれています。
 宣言をする
 他の人の宣言を見る
 ログイン設定や使い方説明


まずは、①で「やめます!」と宣言をしましょう。
宣言するボタンをクリックします。


すると、宣言書が出てきます。
ここに、やめたい内容と、失敗した時の責任の取り方を打ちこみます。
完了したら、宣言しますボタンを押しましょう。
*この段階ではtwitterには投稿されません。





先ほど宣言書で誓った内容が、吹き出しの中に入っています。
そして、中央の人の顔には、自分のTwitterアイコンが出てきます。
ここで、シェアボタンを押せば、表示されている画像が宣言文と共にTwitterに投稿されます!
(投稿されるのは、宣言文+画像URLです)


次に、投稿を確認することも含めて、②他の人の宣言を見てみましょう。
TOP画面に戻り、みんなの宣言ボタンをクリックします。



ここでは、このアプリを使った人がどのような宣言を行ったのかを見る事ができます。同じ目的を持った人やユニークな投稿などを探してみてください!

また、先ほどの投稿が一番上に載っていますね。画像はURLで張られていますが、twitterクライアントで見れば、画像が表示されることが多いと思われます。
文字でつぶやいてもインパクトは薄いので、このように画像を付けて投稿することで、友人に目を通してもらいましょう。




③ログイン設定+使い方説明では、ログイン・ログアウトの管理やアプリの使い方を見る事ができます。




以上、今回紹介したのは、あなたの「やめます!」を応援するアプリ
「やめます宣言」でした。

もうすぐリリースできますので、是非このアプリを使って、今までやめられなかったことにチャレンジしてみてください!



追記
実はこのアプリ、先日行われたハッカソンでのアイディアを元に開発しました。
(ハッカソンの様子については、このブログでも紹介しています。
techGarageでは、イベントなどを通して出たアイディアを形にするところまでやっていきます。
アプリ開発に興味がある方や、ギークな仲間を見つけたい方は、是非イベントにお越しください。お待ちしております。

2012年1月29日日曜日

Facebookページを完成させるまでに注意した7つの事





techGarageの松岡です。

いま流行のFacebookページ。もはや、Facebookページを持っていない企業なんてあるの?という勢いで作られていますね。

私もFacebookページを作った1人であります。


その時に、はまった事を書いていきます。


1、SSL通信

これをクリアしていなければFacebookユーザーからのアクセスを得る事は出来ないでしょう。

アカウント→セキュリティのページに”セキュア接続”という項目があります。


この項目はデフォルトではONになっています。ページがhttps通信が準備できていない場合、iFrame内がNot Foundになってしまいます。


2、クロスブラウザ(写真でレイアウトすると楽々)



Facebookは様々なブラウザからアクセスされます。つまり、クロスブラウザ対応する必用があるという事です。

これを単純に対応するのであれば画像を中心にレイアウトすると良いでしょう。

クロスブラウザ対応コストを下げる為にほとんどを画像で静的に仕上げているページが多々あります。

インタラクティブにするのであれば素直に対応しましょう。



3、スクロールバーを消す

iFrameの520px幅を生かしきり、スクロールの中にスクロールがあるというユーザビリティを改善するためには必須となります。


4、写真を軽量化


私はランキングページを作っていました。画像の数が少し多めになってしまいます。やはり顔写真は画質が良い物をと利用していたのですが、iFrameということで若干ロードスピードがおそいのです。

従って、画像はなるべく軽量化させましょう。Facebookページによらず画像のサイズを少しでも小さくするのはwebページを作る上での鉄則の1つです。


5、アクセス制限に気をつける


Facebookに関連したアプリではかならずAPIを使う事になります。

Graph APIを用いてデータを取得する事はご存知かと思います。1秒に1回以上のペースでアクセスすると制限されてしまうので、気をつけましょう。


6、パーミッションを正しく解放する

データの取得にはパーミッションが関係してきます。また、全部あけておけば良いという問題ではありません。必要最低限のパーミションにしておくべきです。

また、offline_accessというパーミションをあける事によってアクセストークンの有効期限がなくなるので再取得の必要がなくなります。


7、取得できるコメント、いいね、取得出来るコメント、いいね。

フィードを取得してみましょう。そうするとイイネのカウント数とデータ数が合わなかったりします。取得できるコメント、イイネにはばらつきがあるため正しい数を取得する為にはそれぞれにアクセスする必要があります。

当たり前の話ですが、ログを取っておくべきです。

コードを改変した時にパフォーマンスを測る事が出来ますし、不具合が起きているときに早急に原因を突き止める事が出来ます。


以上、1度Facebookページを作ってはまった事でした。

Facebookページ作成について、ご質問があればぜひコメント下さい。

iPhoneアプリ開発ワークショップを成功させるための3つの秘訣

Hello, world!
techGarageTokyoの眠れる獅子、ヤマケンこと山本健太です(現在Amazonを便利に使えるツール系iPhoneアプリを鋭意開発中ですので2月上旬にリリースのお知らせができればと思っています)。

さて、わがtechGarageでは学生にとってテストシーズンまっただなかである1月のこの時期に、「一日でiPhoneアプリをつくるワークショップ」というイベントを全3回でやっていました。




今回は大学1-2年生に限定して参加者を募集したのですが、期末テストの時期にも関わらず、多くのひとにご応募いただいて、毎回満員御礼の企画になりました(参加者のかた、ありがとうございました!)。
さすがのiPhoneパワーです。
※イベントの詳細はこちら http://www.facebook.com/events/199417260147754/


さっそく本題ですが、全3回のイベントを通してやっておいてよかったと個人的に思っていることを3つ書いてみたいと思います。


1. 運営メンバーは当日つくるアプリを事前に自分でも実装してみる
まず準備についてです。これは重要です。おそらくこういった企画をする場合、講義内容をだいたい(みんな | 担当のひとで)考えたうえで、当日は誰か一人が講義をするというかたちをとることが多いと思います。もちろんそれが効率もよく、このやり方でもどこかの段階で誰かが講義の前には見本を実装してみるのは普通やります。ですが、講師だけが実装するというのはバッドノウハウです。運営メンバーは基本的に自分でも講師役のひとのコードを見て自分でも実装しておきましょう。なぜなら、当日、事前に開発環境が整っていないひとがいたり、講義に追いつけない初心者のひとがいたりするからです(時にはコピペなどでコードを切り貼りすることもあるかと思います)。ここで運営メンバーが困っているひとのコードの断片をぱっと見て、それが何をしようとしているか分からず「ごめん、ちょっとプロジェクター34行目を写してくれない?」と講師に要求するのはいまいちです。もちろん必要に応じて頼めばいいのですが(ですが大人数でのワークショップになるとそれは不可能でしょう)、円滑な進行のためにも必要最小限にしたいところです。


2. 当日は1vs.1で教える体制をつくる
つぎに当日の体制についてです。これは参加者のレベルなどによって違うかもしれません。ですが、入門的な講座の場合、できるかぎり一人の受講生に対しては一人の運営メンバーがつけるようにしたいところです。講師が注意しきれない細かな文法などを、そばにいる運営メンバーがコーディングの様子を見ながら補佐するのが理想的です。そうすることで全体の進行から遅れてしまう参加者も減ると思います。


3. フィードバックをもらえるようにする
最後にイベントを運営される際にはぜひおすすめしたい参加者からのフィードバックについてです。今回、僕たちはGoogleのアンケートフォームを利用しました。満足度、不満な点、次に受けてみたい講義など、任意の質問をすることができます。また、回答も手軽にできるので参加者のかたの負担にもなりにくく頼みやすいです。参加者同士には開示されないように設定することもできるため、本音の回答ももらいやすいのではないでしょうか。そこで得られたフィードバックはとっても参考になります。これは本当です。きっと運営メンバーが思いつかない貴重な指摘ももらえることでしょう。普通のイベントでもアンケートを取っていない場合も散見されますが、あまりにもったいないです。
※参考: アンケートフォームを作成する | Google ドキュメント http://www.appsupport.jp/docs/ques-new/




0. 興味を持ってもらえるようなイベント企画にする
大切なことを忘れていました。大前提としてFacebookのフィードなどに募集が流れてきて興味をもてる勉強会の内容にしなければなりません。今回はターゲットが大学1-2年生でしたので、例えば「3時間で学ぶHadoopハイパフォーマンスチューニング」という企画はまずいでしょう(そんなこと教えられませんしね)。大学生向けの場合、iPhoneかAndroidがベストな気がします。というのは、興味を持ってもらいやすいというのはもちろん、Webと比べても限定された範囲で教えることができるので講師もやりやすいということがあります。


■ その他Tips
ちなみに3回の参加者は、情報系の学部であったり、アルバイトの業務であったりで、JavaやPHPなどの他のプログラミング言語の経験があるひとも多かったです。つまり、「プログラミングはやったことあるけど、iPhoneの開発もしてみたいな」というひとに興味をもってもらえたようです。もちろん初心者歓迎でしたので、プログラミング未経験のかたもいらっしゃいましたが、それにしてもまったく手も付けられないような状況におちいってしまうひとはいませんでした。こういう勉強会に参加する大学生は本当に優秀なひとばかりです。もしかすると今回は開発環境を用意してもらうことを一応の条件にしていたことも影響しているかもしれません(Macの貸出も行っていましたが)。あと、ここ数年は特にMacBookAirの隆盛は著しく、大学生のMacユーザーもかなり増えているので、AndroidとiPhone、どちらをテーマにしても大丈夫だと実感しました。




■ 今回のイベントの条件
・参加者: 10人くらい
・運営メンバー: 5人~7人くらい
・場所: 表参道
・Mac貸し出しあり
・机椅子プロジェクターあり

※ちなみに今回のイベントはすべてFacebookグループ駆動開発ともいうべき進行をしていました。つまり、非公開グループを開設して、そこに参加者を招待して、参考になるソースコードを載せる用途に使うのです。これで最低限、コピペで追いつくことができます(これは"全体感"をつかむためにも有効な方法だと思います)。もう勉強会イベントはFacebookイベントで招待→Facebookグループで運営→そのままFacebook上で交流という流れは定番になりつつありますね。


■ 参考になるエントリ
企画 - Google Developer Relations Japan https://sites.google.com/site/devreljp/Home/hackathon-in-a-box/hackathon-guide/planning



★今回のイベントはtechGarageの認知度向上と興味をもってもらったひとにはメンバーになってもらいたいという目的がありました。ここの成果はまた追って、お知らせできればと思います。

文責:@ymkjp


techGarage Tokyo http://ja-jp.facebook.com/pages/TechGarage-Tokyo/303189036376398
↑techGarageの活動がいいねーと思ったかたは「いいね!」お願いします!

2012年1月26日木曜日

【techGarage福岡本格始動!】第一回勉強会レポート

はじめまして、techGarage福岡の伊藤慎一郎です。


いよいよtechGarage福岡が本格始
動します!

ラボの環境も整ったところで、アプリ開発のための勉強からスタートです。

福岡での初勉強会の為に、techGarage東京の松岡君が講師として来てくれました!
プログラミング未経験も含め、メンバーも手を動かしながら3時間みっちりアプリの開発を体験しました。
講師の松岡君が東京で学んできたことを福岡のメンバーが受け取る。
この福岡と東京の”つながり”が生まれたこともこの勉強会の大きな意義だと思います。

アプリ開発勉強会の後は、福岡名物のもつ鍋を囲みながらお互いのこと、
東京でこれまでやってきたこと、福岡でこれからやりたいことを語り合いました。
しかしこれで終わらないのがtechGarage!

ラボに戻ると、パソコンを開き勉強会の復習を開始するメンバー。

気合い入ってます・・・!

さらに夜が深まったところで、松岡くん、福岡メンバーの角田さん、山口くんによる真夜中のギークトークタイム。
(※ギーク・・・コンピュータやインターネット技術に関する深い知識を有する者)
あまりギークではない僕は繰り広げられるギークトークについていけず、
早くこのレベルについて追いつきたいと感じました。(ちょっと引いてました。)
東京のエース松岡くんも、福岡メンバーの技術力に驚いたようです。
福岡と東京、遠く離れた2つの場所で、コラボレーションをしながら互いに刺激しあい新しい価値を生み出す。

これからのtechGarageの活動にご注目ください!
----------------------------------------------------------------------------------------------------

出張福岡!始動を肌で感じてきました。

初めまして。techGarageTokyoの松岡です。
techGarage iPhoneアプリ開発ワークショップでも講師を務めさせて頂いております。

今回、作ったのはFacebookのフィードのクライアント。九州の方々はプログラミング経験者の方が多かったので、変数や関数に引っかかる事もなくスムーズに進む事が出来ました。

こんな勉強会が東京では頻繁に開催されていて、開発者は次々と新しい技術や知識をつけています。この事を伝える事が出来たなら今回の勉強会の意義、次の勉強会でするべき事は明確になったと思います。

そして、本番は懇親会とその後です!
懇親会では打ち解け、福岡のネタで盛り上がりました。
驚いたのが、懇親会が終わった後にラボに戻ると皆がプログラミングし始めた事触発されて、僕も負けじと残っている作業を進めます...

会話をするなかでベースの技術力を感じました。東京ラボも負けてられません
お互いに良い刺激を与え合える存在になっていけると確信しました!

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日