読者です 読者をやめる 読者になる 読者になる

ナカザンドットネット

Android Developer's memo

Code for Niigata 真夏のハッカソンに参加してきたよ #c4ngt

勉強会

Code for Niigataのイベントがあったので参加してきました。

8/1-8/2に「真夏のハッカソン!」( #C4NGT )を開催します!! | Code for Niigata

前夜に突発的に参加を決めたため 家庭の都合により、2日間構成の1日目のみの参加となりました。しかも、

出入り自由ですので、ご都合の良い時間のみの参加でも全く問題ありません

と書いてあったので、完全に鵜呑みにして、13時から18時までという中途半端な時間だけいた感じでした。(自分が一番半端かと思ったら、夕方に1時間だけいた @ パイセンのほうが半端だったのでちょっと安心した)

色々と雑多に感想を書いていこうと思います。

会場について

f:id:Nkzn:20150802000042p:plain

http://tsubamesanjo-style.jp/

今回のイベントは、昨年の秋にオープンした、燕三条トライクというシェアスペース(コワーキングスペース?)で行なわれました。知りあいづてに存在は知っていたのですが、行くのは今回が初めてです。

感想としては、めっちゃ雰囲気のいい古民家でした。*1

f:id:Nkzn:20150801235824j:plain f:id:Nkzn:20150802000537j:plain

このへんについては、 id:kedamatti さんがいい感じに紹介してくれています。

kedamatti.hatenablog.jp

周辺のお店で売っているソフトクリームとかシュークリームも美味しかったので、機会があればまた行きたいなあという感じです。

内容について

私は昼からの参加だったのでぐだぐだしてましたが、朝からいた方々はいちおうテーマを持って何かしてたみたいです。

  • 2日目テーマに合わせて、トマソンレーダーを作る
  • 新潟県内のIT勉強会の紹介や、IT勉強会カレンダー的なことをするハブサイトを作る

この辺ですね。ハッカソンというよりは、団体の活動としての開発のキックオフイベントみたいな感じになってました。私はどちらにも属さず、新潟ラーメンバトル2015アプリ用サーバーのためのお勉強をしていました。

ちなみにトマソンってこんなの。

matome.naver.jp

余談ですが、2日目は新潟市内のトマソンを探しに行くみたいです。

あとは、ミニセミナーが2本ありました。

  • jQueryについて
  • サイボウズ Kinotoneについて

軽く感想を書きます。

jQueryについて

jQueryの文法をひたすら並べていくやつでした。動画によるデモもあったようなのですが、機材トラブルにより見れず残念。

網羅性は高かったのですが、正直これなら本とか公式ドキュメント読むぜ的な内容でした。分量を10分の1にしてもいいので、もっとハンズオン的な要素があるといいなあと思いました。

ハンズオンが来るものだと思って、話を聞きながら手元のAtomでjQuery+TypeScript環境を作っていた身としては、ちょっと寂しかった・・・。

あ、スライドの中に @ さんが出てきたのは笑った。講演者の方がng-japanに行ったときに一緒に写真撮ってもらったそうです。

Kintoneについて

kintone.cybozu.com

  • 表構造を作成済みのExcelをアップロードすると、データベースなアプリケーションができるよ
  • 顧客にとってどういう価値になるのか
  • 作り手にとってどういう価値があるのか

といったことをお話ししてもらえました。キントレンジャーというエヴァンジェリスト活動をしている方だったので、実務を踏まえた具体的な内容でした。

kintoranger.jp

「地方の中小企業が期待しているシステム作りというのは、ちゃんと見積もってみると、期待されている金額と1ケタ違うこともある。そういうときに、あまり複雑ではないシステムであれば、Kintone製のシステムにすることで、期待通りの予算で実現できることも多い」という話は最近身に覚えがあったので、強く関心を持ちました。

参加者からも活発に質問が出ており、他の人の関心の強さも伺えました。初出の頃はトンデモ系サービスだと思って敬遠してたんですが、どうやら結構実用的なものになっているようです。

私が一番関心を持った用途は、「Excelで表を作ってアップロードすると、Web上にその内容のデータベースができて、さらにWeb APIまで用意される」という特徴です。まあ、Web APIといってもデータの特製ごとにまとまったエンドポイントができるとかそういうものではないのですが、モバイルチームでプロトタイプ開発をしているときにちょっとしたサーバーを用意するには、すごくいいよなあと思った次第です。

会社でKintoneのスタンダードプランを1アカウントくらいとってくれないかな。1契約で1000アプリ作れるみたいだからガンガン使ってみたい。

私の本日の成果

f:id:Nkzn:20150802004855p:plain

今年こそ、新潟ラーメンバトルアプリに入力した食べ歩きデータをWeb上に置いてランキングページとか作りたいなとか思っておりまして。Web APIサーバー作れないかなーという試行の一環として、AWSのLambda + API Gateway + DynamoDBでWeb API作ってみよう的なことをやっていました。

参考というか丸パクリしたのは、以下の記事です。

mizukisonoko.hatenablog.com

ちょっと時間内におさまらなくて、家に帰ってからもしばらく取り組んでいたんですが、ようやくそれっぽいものが一つできました。node.jsコードだけは微妙にうまく真似できなかったので、blueprintを改良する形でなんとか乗り切りました。

var doc = require('dynamodb-doc');
var dynamo = new doc.DynamoDB();

exports.handler = function(event, context) {
    var params = {
        TableName: "Test",
        Key: {
            id: event.id,
            category: "admin"
        }
    };

    dynamo.getItem(params, context.done);
};

id:mizukisonoko 版との大きな違いは、DynamoDBへのアクセスに使っているライブラリです。あちらはrequire('aws-sdk')でしたが、こちらはrequire('dynamodb-doc')ですね。DynamoDBの操作に特化したライブラリのようです。

github.com

おかげさまでなんとなくAWSづくしのWeb API作成の方法が分かってきたので、今後またしばらく弄ってみたいと思います。

そのうち、この辺の取り組みもC4Nで発表したいなあ。

どっとはらい。

*1:元商店らしいので、古「民家」ではないのだけれども