宮崎での2年半は宮崎のITコミュニティの素晴らしさを感じた2年半でした

宮崎へUターンして、ソフトウェアエンジニアとして働きつつ、コミュニティにもそれなりに足を突っ込んだりして。。
そんな2年半を振り返ってみると、宮崎のITコミュニティは本当に素晴らしくて刺激的で温かくて感謝しかなかったよというお話です。

生まれて初めてLTをしました

【WordBench宮崎】第7回勉強会のお知らせ

↑この時のWordPressの勉強会『Wordbench 宮崎』で初めてLTさせてもらいました。
宮崎のITコミュニティと関わりを持ったキッカケもこのLTだったと思う。。
Microsoft Azure Websites(現Web Apps)WordPressのサイトがサクッと立ち上げられるよ、っていう話をしたのだけど、この時はめっちゃ緊張してて、デモもグダグダで、けっこうスベってるし(今でもスベる)、いま思い出してもなかなか恥ずかしいです。

でも、そんな感じだったにも関わらず勉強会終わったあとに話しかけていただいて、「よかったですー」とか「Azure聞いたことあった程度だったけどあんなに簡単なんですねー」とか感想を言ってもらえて、すごい嬉しかったのを覚えてます。
また、運営の人に「めっちゃ緊張してたねwww」と、とびきりの笑顔で言われたことも、まるで昨日のことのように思い出します。

そんな感じのLTデビューだったわけですが、ありがたいことに、その後も登壇する機会をいただいたりして本当に良い経験になりました。
宮崎に帰ってきたばかりでエンジニアさん・デザイナーさんの知り合いもいない状態でしたが、たった5分のLTが色んな人と関わりを持つキッカケになったわけで、なんというか、、「LTやってみたいんだけどそんな大層なこと話せないし。。」という人は、別に大層なこと話せなくてもLTはできるし、自己紹介とかでも良いからLTしてみるといいよ本当に。という感じです。

今でも定期的に開催してますWordBench 宮崎。
いつも参加人数多めです。

wbmiyazaki.connpass.com

生まれて初めて運営もしました

『みやざきサイト研究会(妹)』の運営も始めました。
もともとの立ち上げ・運営は別の方だったのですが、その方から引き継ぐという形で。
サト研(妹)とか、さといもとか呼ばれてました。

satoimo-miyazaki.hatenablog.com

引き継いだきっかけは前運営者の「誰か引き継いでくれませんかー?」というお声がけに手を挙げた感じでした。

かなりゆるい感じではあったので運営自体はそんなに大変ではなかったものの、引き継いで2回目のときは前日時点での参加者がゼロで「うーわ」ってなったこともあって、ゆるくやりつつも適当じゃダメだなと当たり前のことを学びました。

それでも色んな方に協力いただいて、登壇していただいたり、ワークショップを開いていただいたり、参加者を集めてくださったり、会場提供してくださったり、、、なんて頼りっぱなしだったのだろうかという感じではありますが、色んな方々のおかげで続けてこられました。

「宮崎の人は温かい」と言われますが、大人になって初めて宮崎の人は温かいなと思いました。

何か新しいことを始めたいという人は、ぜひ宮崎で始めてみてください。
きっと誰かが力になってくれます。

その他いろんなところでおしゃべりしました

Idea Quest

エンジニアリング・デザイン・マーケティングをテーマにした勉強会。
宮崎としてはかなりでかい規模で、参加総数は130くらいだったっぽいです。すごい。

connpass.com

Dockerについてしゃべりました。
Dockerいいですよね。

南九州ソフトウェア設計Labo

ソフトウェア設計をテーマにした勉強会。
こういうがっつりエンジニアリング系の話って宮崎だとあまりなくって。。
すごく勉強になったし、楽しかったので、引き続き開催されるといいなぁ。

sk-design-labo.connpass.com

データモデリングの話をしました。
ソフトウェア設計って難しい。

Catch the Change!

こちらも、Idea Quest同様、エンジニアリング・デザイン・マーケティングをテーマにした勉強会。
第一回は100名を超える参加数だったそうです。

https://www.inter-cross.com/event/catchthechangewww.inter-cross.com

このときは若干笑いに走ったネタ系のLTをしました。
後半はスベり気味でしたがいい思い出です。

第二回も開催され、そのときは「サト研(妹)」とコラボしましょうという形で進めていたのですが、ドンピシャのタイミングでインフルエンザにやられました。
本当に申し訳ございませんでした。
申し訳、ございませんでした。

宮崎のコミュニティ愛

陸の孤島、宮崎』なんて言われますが、宮崎のITコミュニティは結構アツいと思います。
集まっている人たちの懐の深さもハンパないです。
コミュニティの方々のおかげで、たくさんの貴重な経験ができた2年半でした。
勉強会やイベントに参加するのって、いろんな意見ありますが、僕はプラスになると思ってます。

でも、もっとプラスにしたい、楽しみたいなら、発表する側や運営する側にまわった方が絶対良いです。
経験値が何倍も違います。
最初の一歩は勇気いるかもですが、やってみるとなんとかなります。
特に宮崎だったら、みんな優しいのでフォローしてくれるはずです。

宮崎のIT関連イベントや勉強会の情報はこちらに集まってくるので興味ある方はぜひ。

https://www.facebook.com/groups/miyazakis/

最後に

さて。

私事ではありますが、そんな素晴らしい宮崎を3月いっぱいで去ることになりました。

人生、何が起きるかわかりませんね。

そんなわけで、宮崎を離れても、また色んな方々と関われたらと思っています。
以上。

INNOVATE HACK KYUSHU に行ってきた

8月27日(土)・28日(日)に福岡市で行われた INNOVATE HACK KYUSHU に参加した。

INNOVATE HACK KYUSHUとは

INNOVATE HACK KYUSHU

日本アイ・ビー・エムさんが主催されているハッカソンイベント。
INNOVATE HUB KYUSHUというプログラムの一つという位置づけで、今回のハッカソンで生まれた優れたサービスは、事業展開を見据えて支援するというのも特徴の一つ。
ハッカソンでは IBM Bluemix を使うことが条件となっており、そのほか様々なデータ・ツール・APIが提供された。

イベント当日の様子

ハッカソン一日目!
わくわく。。。
f:id:tomcky:20160829174743j:plain

ハッカソン二日目!
開発も終盤に差し掛かってみんな追い込み半端ない。
f:id:tomcky:20160829174750j:plain

発表会の写真も撮りたかったけど、自分のことで手一杯で一枚も撮れず。。。

発表会後の懇親会ではペッパーくん登場!!
ペッパーくんによる乾杯の音頭で懇親会がスタート。
ペッパーくん「かんぱーい」
f:id:tomcky:20160829174757j:plain

懇親会は大盛り上がり。
f:id:tomcky:20160829174804j:plain

結果発表!!
僕らのチームは選ばれず。。。残念。
f:id:tomcky:20160829174808j:plain

所感

今回僕が参加させてもらったチームでは「まち・くらし」をテーマにサービスを作ったのだが、個人的には、WatsonをはじめとするBluemixの強みを活かせなかったこと(結果としてPaaSとしてBluemixを使っただけになってしまったし、それも終盤にデプロイ失敗してデモではBluemix上で動かせずという残念な結果に。。。)や、提供していただいた色んなデータを十分に活かせなかったことがすごく勿体無かったなと思っていて、事前にもっとBluemix触って、サービスにうまく絡めていくアイディアを練っておくべきだったなー、と反省した。

2日間という短い時間で実装していくうえで、プロダクトを作り上げていくスピードやトラブルシュートにかかる時間とか、まだまだ頑張らないとなーと思うところが多々あったので、モチベーションの高まるすごく良い機会だったと思う。

あと、単純にBluemixは触っていて楽しくて、こういう機会がないとガッツリ触っていなかったと思うので良かったなっていうのと、最近はチームで開発するということがほとんどなくて、チーム組んでガッツリ開発ってやっぱり楽しいなって思った。
良い出会いもたくさんあったし、ハッカソンの醍醐味ってこういうところだよなと思う。
ステッカーもたくさんもらえたし、誘ってくれたチームメンバーと快く送り出してくれた会社に感謝。
f:id:tomcky:20160829162212j:plain

宮崎でもこういうイベントが盛んになればいいなー。。。

INNOVATE HACK KYUSHUの今後

9月6日(火)にファイナリストによる最終プレゼンが開催されるDemo Dayがあるので興味ある方は行ってみるといいかも。

INNOVATE HACK KYUSYU

会社に打刻システムが導入されたんだけど打刻忘れしそうなのでChatworkにGAS使ってBot導入した話

最近会社に打刻用のWebシステム(たぶん自家製)が導入されて、出勤時と退勤時にアクセスして出勤もしくは退勤のボタンをポチッとな、っていう運用が始まったのだけれども、初めのうちはどうしても忘れる。

ということで、出勤前と退勤前の時間帯に忘れずに打刻してねって促すようなチャットBotChatwork上に作ることにした。

チャットBotっていうとHubotとかが一般的かと思うが、この程度でサーバー用意するのもなぁ、、、と思い今回はサーバー用意せずにGoogle Apps Script(以下、GAS)で作った。

事前準備

まず適当にBot専用のチャットワークアカウントを用意する。
また、ChatworkにBotを導入するにあたってチャットワークAPIが必要なので、Botアカウントでログインして申請する(承認まで数日かかった気がする)。

GASプロジェクト作成・ライブラリ追加

Google ドライブ上にGASのプロジェクトを作成する。
一度もGASのプロジェクトを作ったことがない場合は、まず自分のアカウントでドライブを開いて、「新規」>「その他」>「アプリを追加」、"google apps script"とかで検索して「Google Apps Script」を接続する。
接続以降は「新規」>「その他」>「Google Apps Script」で新しいプロジェクトが開くので、「chatwork-bot」とか適当にプロジェクト名をつけてあげればいい。

次に、GAS上でチャットワークAPIを扱うためにChatWork Client for Google Apps Scriptというチャットワークの中の人が作ったライブラリを追加する。

プロジェクトを開いたら、メニューの「リソース」>「ライブラリ」で、上記ライブラリのプロジェクトキーをコピペして選択。
ChatWorkClientというライブラリが追加されたら、最新バージョンを選択して保存。

スクリプト作成

GASからChatworkへ打刻しろよ的なことを促すスクリプト

上に示したスクリプトには含まれていないが、実際は変数TOKENROOM_IDKINTAI_SYSTEM_URLも定義している。
TOKENには申請して取得したチャットワークAPIトークンを、ROOM_IDには投稿したいチャットのルームID(チャットワークURLの#!ridに続く8桁の数字)を入れておく。
KINTAI_SYSTEM_URLは会社で使っているシステムのURLを入れている。

このあとトリガーを設定して定時実行させるのだけど、今の時点で動作確認も含めて手動実行してみるといい。
helloMessagegoodbyeMessageのどちらか実行したい関数を選択して、実行ボタンを押すだけ。
うまくいけば、指定したルームIDのチャットグループにメッセージが飛ぶ。

トリガー設定

定時実行するためのトリガーを最後に設定する。
メニューの「リソース」>「現在のプロジェクトのトリガー」からトリガーを追加する。
helloMessagegoodbyeMessageの2つ分のトリガーを追加して、時間主導型の日タイマー、あとはそれぞれの関数を実行させたい時間帯を選択すれば完了。

導入してみて

トリガーが正しく設定されていれば、指定した時間帯にそれぞれの関数が実行されてメッセージが飛んで来る。
事前準備とかを除けば、1時間もかからずこの程度のチャットBotはできてしまうのはイイ。サーバーも不要。
ただ、これだと課題もあって、

  • 日タイマーの時間選択が「午前8時〜9時」みたいなざっくりしたものしかない
  • 土日祝日関係なしに打刻しろってBotが言ってくる

とか。

今回の用途はそこまでシビアじゃないので別に良いのだけど、カッチリ作ろうと思ったらこのあたりちゃんと考えてスクリプト組もうね、という感じ。