ラベル GDG中国 の投稿を表示しています。 すべての投稿を表示
ラベル GDG中国 の投稿を表示しています。 すべての投稿を表示

2019年1月2日水曜日

2019年の目標とかやりたいこととか

新年、あけましておめでとうございます。本年もよろしくお願いいたします。

2018年は予想に反して、多忙を極めました。したがって、何もinputもoutputもできず、残念な気分です。
ここまで何もできなかったのは何なのか、2018年のポイントを振り返りつつ考えていくと…。

  • 相変わらず残業時間が毎月100時間超え(8月と12月は90時間程度だったかもしれない。要確認)
  • 昨年同様、情報資産の管理の役目が継続。
  • 担当している部活動が、がんばったので前年よりは下がったものの成績を挙げた。
  • 生徒数が減った関係で同僚の数が減り、クラスの担任を任された。
    • この仕事が多かったので、2年前と同程度の工数を取られた。
  • GDG関係の活動がほとんどできなかった。
  • Gobotを使った簡単なプログラミングを行った。(いつかQiitaにでもまとめておきたい)

2018年に開催したイベント

  1. Golang Cafe #81(プログラミング言語Goの読書会最終回)
  2. GDG Cafe #31(TensorFlow活用ガイドの読書会)
  3. GDG Cafe #32(TensorFlow活用ガイドの読書会)
  4. GDG Cafe #33(TensorFlow活用ガイドの読書会)
  5. GDG Cafe #34(TensorFlow活用ガイドの読書会)

2018年に参加したイベント

  1. Golang Cafe #82(プログラミング言語Goのアフターフォロー by @qt_luigiさん)

ということで、開催したイベントは小規模なものが5回と参加したものは1回という、活動がほぼできていない状況でした。

ただ、今後のGDG中国の運営を続けることに新たに協力してくださる方も現れて(@naoyukisc2さん、@kotaninさん)、来年は協力をお願いしようと思っています。
ただ、どのような形で行うかは考えないといけないなと思っていますが、チャンスは十分あるんじゃないかと思っています。

2018年の目標の達成度

0%…。ここまで何もできなかったのは、ショックを超えて、なにかが間違っていると思わないと仕方がないですね。

2019年の目標

以下に詳細は書いていますが、2019年の運気が良くなさそうなので、あまり大きな目標を立てない方が良いのかな?なんて思っていますが、大きく2点でしょうか。
  • GDG中国の活動をする(規模の大小にかかわらず、開催することに意義がある)
  • 積み重なった書籍を読む
  • プログラミングをする(これも大きな目標を立てたら失敗するので…)

2019年の運気

昨年に引き続いて、運勢を占ってみました。(と言っても、占いの勉強もそんなにできてない)
あまりにも悪い結果が出てしまったので、出てきたキーワードの意味を書いておきます。
1月、2月は「失敗」
3月は「我慢できない」「自己主張」
4月は「関心が移る」、「旅立ち」
5月は「悲しみを引きずる」
6月は「節制」、「忍耐」
7月は「不安定」「不毛」「衰退」「破談」
8月は「共感」「友情」「交際」「交流」
9月は「判断力に欠ける」
10月は「実力を発揮できない」
11月は「協調性に欠ける」
12月は「失望」「悲しみ」
年間を通じてのキーワードは「仲違い」「不調和」「安定しない」

カードが偏っていたのかもしれませんが、だいぶシャッフルしたので多分、運命だろうということで、思い当たる節があるものについては事前に不安を取り除いておくのが良さそうです。
多分、体力面でも落ちてくる年代になってきたので、そういう部分でも影響があるんだろうなと思っています。
昨年の占いの結果がわりと当たっていたので、ガードを固めに2019年は活動していこうと思っています。

2018年1月2日火曜日

2018年の目標とかやりたいこととか

新年、あけましておめでとうございます。本年もよろしくお願いいたします。

2017年の振り返りが全くできなかった(やらなかった?)ので、少しだけ振り返っておきます。

  • 相変わらず残業時間が毎月100時間超え(9月だけは90時間程度だったかな?)
  • Raspberry Piを駆使した電子制御を使った装置を制作
  • 情報資産管理の仕事の取りまとめを任された
    • Windows Server 2012のお守り、Windows Power Shellを駆使したり
  • 実習の授業の内容をVisual Studio 2017へ移行し、C#(Windows Formを使った初級編)に変更
    • Windows 10でVisual Studio 2010のプロジェクトが上手く動作しなくなってきた。
  • 担当している部活動が、強くなって躍進
  • GDG関係の活動がほとんどできなかった。
昨年はRaspberry Piを使って、Python3を簡単なものですがやりました。敷居も低く感じましたし、C言語ができれば十分できるなと感じられました。それから、開発環境がないところで使えそうなものがWindows Power Shellしかなかったので、PowerShellを使って、ファイル抽出など簡単なスクリプトを作ったりしていました。

課題は、対人の仕事が多いので自分の時間が取れないのが大きいと感じています。その辺を無視すればだいぶ時間が空いてくるのは間違いないですが、それをすると大変なことに…。永遠の課題かも。

さて、2018年の目標とか、やりたいことですが、今は「働き方改革」
(参考):

ということで、自分の生活のことも考えながら仕事をしましょう。ということみたいですが、これが…というと、本題から逸れるので 。

来年度は時間が多少は捻出できるであろうと思っているので、2017年にできなかったことを今年はやりたいと思っています。
(ずっと、時間が無いばかりで何もできない)

2018年の目標

  • プログラミングの時間を確保する。(形にこだわらず。仕事の効率も上げて行きたい)
  • GCP関係の技術を、再度勉強する。(GDG中国で発表ができるように)
  • GDG中国の活動をもう少し増やす。(GDG Cafe/Golang Cafeだけでは…)
  • 何かアプリケーションを作る(この年末年始で開発中ですが、苦労だらけでした…)

2018年の運気

2017年に占いを勉強し始めて、今年の運勢を占ってみました。(だんだん怪しい方向に進んでいってますが、ツールとして仕事に活かそうと思っているだけですので、安心してください(笑))
今年は、1月〜4月はまあまあ。地道に進むと良い。5月〜8月まではちょっと良くない。9月〜12月は良いことがありそう。
年間を通じてのキーワードは「手放さざるを得ない状況」ということで、自分の思いとは裏腹に何かが起こるということのようです。あまり良い話にはならなさそうですが、当たらないことを祈っています。

ということで、本年もよろしくお願いいたします。

2017年2月27日月曜日

Golang Cafe #70

あけましておめでとうございます。今年もよろしくお願いします。(すでに2ヶ月が過ぎてしまってますが…)

久しぶりにGolang Cafe #70を開催しました。
慢性的なデスマーチ状態(時間外勤務が100h以上が続いてます)ですが、いろんなものがちょうど止まったタイミングでしたので、開催しました。

今回のお題は、

  1. Go1.8のRelease Noteを読む。
  2. プログラミング言語Goを読み進める。
ということでした。Go1.8の更新の要約をすると、
  1. ARM(32bit)の実行速度が20〜30%早くなった。
  2. コンパイル速度の向上。(15%ぐらい)
  3. GCによる停止時間が100μsぐらい。たまに10μsのときも。
  4. Go標準のHTTPサーバの機能追加
    1. Graceful Shutdown
    2. HTTP/2 Push
  5. Go1.7で標準ライブラリに追加されたContextにキャンセルとTimeoutの機能が追加
    1. これにより、database/sql、netパッケージもShutdown()が実装された。
    2. net/httpパッケージのServer.Shutdown()(Graceful Shutdown)
  6. (Linux限定)Plugin機能の追加
    1. これで、APIの外出しなどができるようになる。
1時間程度、Go1.8関連で雑談した後、プログラミング言語Goの2章から読み進めることとしました。
+Ryuji Iwataさんのコードをレビューしたりしていたら、2、3ページしか読めませんでしたが、帰ってから続きを10ページほど読みました。

次回は3章を事前に読んでおき、わからないところを聞いたり、練習問題を解いたりするスタイルで進めてみる予定です。

2016年9月11日日曜日

第1回「岡山Androidもくもく会」に参加しました。


※公開するのを忘れていました。だいぶ前の記事ですので無視して頂いて…。

参考にしたサイト

Android Studioを起動してこれまでのプロジェクトを移行しようと思ったら発生したので…。(最初は1.4を入れていて、設定を保持して1.5を起動してしまうと必要なものをダウンロードしないらしい…)
http://qiita.com/satosystems/items/8ec76cd9d5d1cc014c21

Android6.0からApache HTTP Clientが使えなくなったので…。

http://qiita.com/yasumodev/items/a5cbac4278cd14c74899

標準のHttpURLConnectionを使おうとして
http://techbooster.jpn.org/andriod/application/6812/
http://msdev.sakura.ne.jp/know-how/?p=8
http://osa030.hatenablog.com/entry/2015/05/22/181155

http://qiita.com/yyoshiki41/items/fc878494e19b9de93d56

やってられなくなったので、OkHttpを使うことにした
http://qiita.com/LyricalMaestro0/items/698c77f5a964b5658bbb
http://qiita.com/ryugoo/items/478ba23cda0f57bd21e8

そしてサービスの構成でハマる。
http://developer-kkmaro.blog.jp/archives/1034682874.html


Hacker Tackleで発表してきました。

Hacker Tackleという福岡のイベントに参加してきました。


ハカタクル?ということで、行く行く!という感じで軽くGo関連での講師として参戦してきたのですが、いざタイムテーブルを見ると、どの方もとても活躍している方ばかりで、最近は慢性的なデスマーチ状態で、まともにコードも書いていないような私が大丈夫かな?と不安に感じていましたが、事前に第28回勉強会で発表した内容から少しかさ増ししてお話しました。

会場の方の感想などはキャッチできませんでしたが、個人的には責任は果たしたものの、イマイチGoの魅力を伝えることはできなかったかもしれないなと反省しております。

福岡の方は結構質問をしてくれるので、私にもgodoc(主にgo docコマンドとgodocコマンドについて。ただ、go docはいけてない…。)についての質問があり、普段ならサラっと終わるところが質問に回答するという違った一面もあって良かったです。

残念だったのは、懇親会にも参加したかったのですが、仕事の都合で日帰りになってしまいました。また福岡に遠征するときには今度は泊まりで参加したいと思います。

2015年9月22日火曜日

OSC2015広島に参加してきました。

OSC2015広島に参加してきました。

本題に入る前に歴史を遡っていくと、2011-2012、2014-と5年開催のうち、1回お休みして、それからは参加させていただいています。
今後もスケジュールの調整をしながら参加させていただこうと考えています。

今回はセッションと展示ブースの両方に参加させていただいたのですが、年々セッションの準備のための時間が削られていっているので、今回も非常に苦労しました。
今後の発表や、新しい技術を広めるためにも普段の生活を見なおさないといけないなと考えています。(と言っても、仕事が大半を占めているので、これを何とかしないと…)

とりあえず、今回の発表資料です。
今回は、「色々なGoogle技術の紹介」と「興味があれば、ブースで深く触る」というのを目的に設定してみました。
ですが、セッションで紹介したものの、ブースに立ち寄っていただけた方はいなくて、少し残念でした。恐らく私のセッションが魅力的ではなかったのかもしれません。

ただ、今年は例年よりも参加者は少なかったのではないかと思っています。シルバーウイークの初日ということで、どうしても他の予定が入りやすい時なので仕方がなかったのかもしれません。

ただ、実演も兼ねて、最近公開されたGCP on Rubyを試すことができましたので、少し満足しています。ちゃんと動きます。Managed VMsで動かすのですが、Hello Worldは問題なく動きました。次のステップに移りたいなと思っていたら、終了時間が来てしまったのでHackできていませんが、Datastoreも使えそうです。(ただし、Cloud Datastore API経由)

また、来年に向けてコツコツとやっていこうと思います。

2015年3月15日日曜日

2月の活動まとめ

3月になりました。いろいろあってまとめが遅れています。

2月の活動をまとめておこうと思います。
今月も順調に小さいイベント(というよりは、自分のための勉強)をこなしています。

アプリ開発

  1. 仕事用の成績管理アプリケーション(開発継続中)

読書

Output

  1. Go言語のプログラムをgitで管理する時に便利なこと by Qiita
  2. AngularJSリファレンスのサンプルコード by github(以前より少し追加)

Event

  1. GDG Cafe #2 (AngularJS)
  2. Golang Cafe #60 (Go)
  3. GDG Cafe #3 (AngularJS)
  4. Golang Cafe #61 (Go)

2015年2月16日月曜日

1月の活動まとめ

2月になりました。(もう中旬ですが…)

1月の活動をまとめておこうと思います。
順調に小さいイベント(というよりは、自分のための勉強)をこなしています。
ひとまず、AngularJSリファレンスを読みきってから、次のステップに進めたいですね。

アプリ開発

  1. 仕事用の成績管理アプリケーション(いつ完成するだろうか…)

読書

Output


  1. Raspberry PiにRaspbianをインストールする for Mac OSX by Qiita
  2. GAE/Goのテストを実行するために必要なこと by Qiita
  3. AngularJSリファレンスのサンプルコード by github

Event

  1. GDG Cafe #1beta3(AngularJS)
  2. GDG Cafe #1beta4(Google Apps Script)
  3. Golang Cafe #59(Go)
  4. GDG Cafe #1(AngularJS)

2015年1月4日日曜日

2015年の目標

今年は、まだ4月以降の予定が立たないので非常に目標をたてることが難しいのですが、
ひとまず、現段階での目標を設定しておきたいと思います。

GDG中国

GDG中国の活動に関しては、実は2月のイベントを予定していましたが、いつもの岡山県立図書館がすでに2月の土曜日が全て埋まっていて、困った状況に陥っています。
ただ、前回遠方から講師をお呼びした事を考えると、次回は中国地方の方で回したいなと考えているので、余裕のある日程を設定(3月中旬?)して(それまでは、GDG Cafeとか、Golang Cafeでの延命措置…)きっちりやろうかなと思っています。
ただ、この時期のイベントは結構難しいんですね。年度末に向けて忙しくなるので…。

ということで、「生活習慣」と化した毎週の小さいイベントをこなすという事に重点をおいてみようかなと考えたりしています。
(これについては、また別途エントリーを書こうかなと思っていますが…)

それから、この2年間ずっと思っていた、「発表の質の低下」についてもしっかり考えて対応しないといけないと思っています。そのためにも毎週の小さいイベントが支えになることがわかってきたので、イベントでの成果などから発表の内容を考えていけたらと思っています。

当然、新しい技術が出てきたらそれを触る回も作っていく予定です。そのためのGDG Cafeと思っています。(名前はこれでいいのか?という気もしますがまあ良いでしょう)
そろそろbetaを取ろうかなと思ったり。

仕事

仕事に関しては4月の赴任先がわからないのと、1〜3月はいろいろと忙しくなる時期なので難しいかもしれませんが、ひとまず、「勤務時間の20%ルール」というのを導入して(以前もこんなことを言ってダメだった気がするけど…)IT技術の時間を作ろうと思っています。
そこで、今の職場でも「違和感のない」技術を考えると、

  1. Raspberry Pi
  2. arduino
  3. Android
  4. iPhone
  5. VBA + Access
ということで、組み込み機器のハックに勤しんでみようと思っています。ただ、Google技術全く絡まないのもあれなので…。少し工夫しようと思います。

4月以降に(覚えていれば)目標を再設定しようかなと思っています。
少しでも時間を作ってIT技術に触れる時間を長くしたいなと思います。

技術関係

ほぼ1人で開発することしかなくなるので、今年は「チケット駆動開発」というものに取り組んでみようと思います。
ただ、1チケット1commitを貫くだけになりそうではありますが、昨年はテストにこだわったので(?)今年は、チケット駆動開発を実践してみたいと思います。

それから、できれば毎月1つはqiitaか、blogに技術情報を投稿する。というのも目標に掲げてみたいと思います。
全ては、発表の質を上げるというところに繋がるようなものですね。

まとめると

GDG中国での活動の質を上げる。ということですね。

2014年12月31日水曜日

2014年を振り返る

今年もあと8時間程度となりました。

家の大掃除に集中していたのでこのタイミングになりましたが、
今年も1年を振り返っておきたいと思います。

2014年のGDG中国のイベントに関して。

  1. 2/11(火祝)第23回勉強会@岡山(Dart Flight School)
  2. 5/10(土)第24回勉強会@岡山(Android Studio/Android Wear/Go/Managed VMs)
  3. 6/21(土)第25回勉強会@岡山(Android Wearハッカソン)
  4. 7/19(土)GDG Devfest Japan 2014 Summer(Google I/O報告会)
  5. 12/6(土)第26回勉強会@岡山(Android Wear/AngularJS/UI/UX関係+LT2本)
  6. Golang Cafeを毎週(京都に行ったり、Google東京オフィスに行ったり…)
  7. GDG Cafe #1を試行開催(2回)
個人的な講師など
  1. 4/6(日)GDG Devfest Japan 2014 Spring(Go/Google Apps Script)
  2. 8/23(土)AngularJS勉強会 #2(LTをしてきました)
  3. 9/20(土)OSC広島(Google App Engine)
  4. 11/22(土)GDG Devfest Kyoto 2014(Go)
  5. 11/23(日祝)第6回中国地方DB勉強会(Bigquery)

仕事関係でコミュニティの活動に影響が出るかもしれないのが、採用試験に合格したので4月には職場が変わってしまうかもしれないということと、場所の問題で、イベント開催が厳しくなる可能性も出てきました。これはGDG中国の活動を継続するということに関しても考えないといけなくなるかもしれません。
それは現時点では未定なので何も言えることはないのですが…。

それから、昨年も感じていた事でしたが、発表の質が非常に悪くなってしまっている感じがしているのと、技術を追いかけるという作業をする時間が取れなくなってきているのも強く感じる1年でした。(これはどうしても仕事の関係上仕方がないので…)

ですが、GDG中国の活動というのは今後も継続したいと思っているので、何らかの方法でイベントの開催と活動の継続をしたいと思います。
そのための施策がGDG Cafeだったり、Golang Cafeだったりします。今のところ特に問題があるということもなかったので大丈夫でしょう。
最悪、日曜日のイベント開催も考えればいいだけの事ですし…。

さて、2013年を振り返った結果や、2014年の目標を見た感じからの振り返りもしておきたいと思います。

GDG中国のスタッフの立て直し→できてません。私自身が迷っていることではあるけど、大きなイベントの時に自分が動けない。という状況が今年は発生しました。そういう時にスタッフにお願いするのは良いと思うのだけど、自分が何もしないというのが正しいかどうかは少し考えているところです。
なので、来年のDevfestなど、他のGDGと連携して開催するようなものへの参加はできなくなるかもしれません。(むしろ、今のところ不参加の方向で考えています)

Golangが盛り上がる→その通りだったと思います。こちらもGolang Cafeでずっと最新の情報を追いかけてきたのですが、実際にアプリケーションを作ったりする事ができなかったのはちょっと残念でした。
来年もGDG CafeやGolang Cafeを継続する中でアプリケーションを実装するということをやってみたいと思います。

GDGでやってみたいテーマ→大体やったかもしれない。
Dart、Google App Engine、AngularJSはしっかりやれたと思います。よく考えるとMapsとかほとんどやれていないので、どこかでやってみたいですね。

残念な点は、他のコミュニティのイベントにほとんど参加できなかった。
いろいろなコミュニティの方と話をしたりする機会が取りにくくなっているということだと思うのですが、土曜日に仕事の用事が入ることが増えてきて、その時にイベントと被るという事がありました。それは非常に残念だったので、来年は、他のイベントにも参加できるように調整したいと思います。

来年の目標はまた来年になってから設定したいと思います。

2014年もあと少しですが、GDG中国のスタッフ、イベント参加者の皆さん、その他今年お会いした方々には大変お世話になりました。来年もよろしくお願いいたします。

2014年12月13日土曜日

第26回GDG中国勉強会を開催しました。

第26回勉強会@岡山を開催しました。
今回は、Android Wear/AngularJS/UI/UXとLT3本(GDG中国のこと/MIT AppInventor2/Android Studio)
という、豊富なコンテンツを提供できました。参加者の皆さんのおかげです。ありがとうございました。

特に、AngularJSのノウハウを発表して頂いた、@armorik83さんの資料は、いろんな方が注目されていて、勉強になるというコメントも見ました。
今後の、Angular2を見据えたコードを書くというのが、仕様がガラッと変わるということで、重要なポイントになりそうです。

久しぶりにAppInventorの話であったり、AndroidでJUnit4を使うという話も新鮮で良かったです。

私はLTでGDG中国の来年のイベントの計画について話をしました。今年は色々なことがありましたので、来年のコミュニティ運営に影響が出そうだったので発表をしました。
4年半の運営をしてきて、これまでは、割りとフットワークが軽かったのですが、少しずつそうもいかなくなってきて、特に、この1年半はコードを書く量と、時間の確保が減ってきて、これまでのような活動ができなさそうな予感がしています。
今後は今の職業柄、異動もありますので、異動先によってはイベントの開催自体が難しいという状況に陥ってしまう可能性もあって、事前に話をしておきました。

と言っても、毎年適当に「やりたい時にやる」というスタイルを貫いていますので、GDG Chugokuがリストから消えない程度には活動を続けようと思っています。
(次は2月に開催。その後はひとまず未定)

今回は、忘年会的なノリのイベントを目指したものでしたので、来年やってみたいものを紹介しようと思います。
あくまでも個人的なもので。



Compute Engineのお陰で私もクラウド上にサーバを作る事ができるようになったので、AWSと比較されていますが、GCEもお試し下さい。

ということで、今年も残り少ないですが、良いお年をお迎えください。
来年のGDG Chugokuのイベントでお待ちしております。

2014年4月19日土曜日

Golang Cafe #25を開催しました。

Golang Cafe #25を開催しました。

今回は、初めての方の参加があり、Goが初めてということだったので、+Ryuji Iwataさんにお願いして、#1の時にやった、「How to Write Go Code」の内容を説明して頂きました。
私と+Takanobu Haginoさんはずっとやっていますので、改めて話を聞く必要はありませんでしたが、無茶ぶり以外のなにものでもなかったことは確かでした。
(本来は私がやるのですが、復習というのも兼ねて別の方に頼むのもいいのかなとも思いましたので。)

で、今回のGolang Cafe #25では、私は特に成果物がありませんでしたので、少しだけ考えた、「Golang Cafeの今後」についてまとめてみたいと思います。

今回で25回開催してきたのですが、1回目から欠かさず続けているという事は、正直すごいと思うのですが、その状況での問題点がちらほらでてくるわけです。
ずっと参加して頂いている2人に関してはGoのノウハウが蓄積されてきて、それぞれの熟練度もある程度上がってきました。

ここからは恐らく…ですが、例えば、コードを書いて動かしたい人と、いろんな資料を読み、ノウハウを蓄積したい人、公式ドキュメントとか、書籍を読みたい人といういろいろ「やりたいこと」がわかれてくるのだろうと思っています。

Golang Cafe自体、「ネタ」ですから、私一人でもやるのですが、独断で決めてもいいのですが、せっかく集まってくれているので、ある程度、希望に沿ったものにしたいなーと考えたりもしました。

それから、仕事が詰まって忙しくなるとかで、参加者が変化する(入れ替わりが発生する)かと思ったのですが、入れ替わることもなく、増えることもなかったので、今の状態なったのかもしれません。

今のところのテンションだと、「終了」はまだまだ先になりそうですが、
個人的な野望としては、「Golang Cafeの並列化」が実現するとおもしろいなと思っています。ですが、今のところ、私以外にGolang Cafeを開催する人はいませんね。

あとは、いつGoがプロダクションで使われ、金に繋がるか。
それまではがんばってみようかと思ってたりしてます。

2014年4月8日火曜日

Golang Cafe #24を開催しました。

Golang Cafe #24を開催しました。今回は、Devfest Japan 2014 Springのなかの1トラックでの開催となりました。

40分しかなかったのと、参加者のGoを使っている度合いをつかむことが難しかったので、当日も参加して頂いた、+Takanobu Haginoさんに協力していただきまして、ある程度使っている人とGolang Cafeをやってもらいました。

私は、というと、初心者の方が多かったので、Goの導入と簡単なプログラムの書き方(Golang Cafe #1に至る直前までの内容)を自由に話してみました。
導入とか、実行方法などをお話してみましたので、今後ハマったら質問など投げて見て下さい。

Golang Cafe自体が、自由だったので、Devfestでやることか?とも思いましたが、「Golang Cafeへの幻想をぶち壊す!」的なノリで、好き勝手にやってみることにしましたw

中身は、「雑談」と、「質問への回答」が主なので、力をいれずやるのが良いのかなと思っています。

で、参加して頂いた方にもGolang Cafeがどんなものかは、十分わかったと思いますので、ご自由に開催して下さい。

某所で、このGolang Cafeのイベント情報を共有したいという意見(アピールしたいという意味で)も上がってきたのですが、できれば、GDG中国にあるGolang Cafeのサイトに誘導して頂く方が、私はうれしいです。
ですが、性質上たくさんの人が申し込まれると、場所の確保と内容に制限が出てくるので、難しいところです。

次回からは、また倉式珈琲店での開催となります。多分、出張はもうありませんw

Devfest Japan 2014 Spring

Devfest Japan 2014 Springに主催者側で参加してきました。

今回は、各地のGDGオーガナイザー達が集結して、いろんなプロダクトのセッションを担当するという感じでした。

全体では、セッションのトラックとハンズオンのトラックの2つに分かれての構成で、
私は、Google Apps Scriptと、Goを担当しました。

本来は、90分ぐらいかけて、しっかりやりたかったのですが、運営上の都合で、両方共40分でのハンズオンとなってしまいました。

Goの方はこの後別の記事で書くので、ここでは、Google Apps Scriptのセッションについて書いてみたいと思います。

当日の資料は、http://goo.gl/ccI5j1で、「Google Apps ScriptでYouTubeを検索する」というタイトルで、見て頂ければ分かる通り、40分で収まる内容ではありませんでした。
(当日も、言われましたがw)

ですが、チューターとして参加して頂いた、+Keisuke Oohashiさん、+Atusi Nakamuraさん、+Yoshifumi YAMAGUCHIさんの3人のすばらしいサポートと、参加者の方のポテンシャルに助けられまして、大半の方が、YouTubeの検索とメール通知ができるようになっていました。本当に大成功でした。チューターの方、ありがとうございました。
(後は、京都でGoogle Apps Scriptが流行るかどうか)

後で話を聞くと、コピペ駆動で動かしたということでしたが、ハマりポイントもうまくフォローされたようで、良かったです。

最終的にできたソースコードは20行程度ですが、Google Apps Scriptだとそれだけで、かなりのことができるようになっています。
大規模なプロジェクトには合わないと思いますが、小規模なものなら便利に使えると思います。

それから、Google Apps Scriptのハンズオンが申し込み時点では一番多いという結果になり、運が良かったなと思っています。

また、今後、Google Apps Scriptのイベントでお会いしましょう!

2014年2月11日火曜日

第23回GDG中国勉強会@岡山を開催しました。

第23回勉強会@岡山を開催しました。

今回は、Dart Flight Schoolということで、DartのハンズオンとAngularDartのハンズオン、それから、Dartのテストの方法を紹介しました。

資料は、この後、GDG中国のサイトで公開しようと思います。

最初のDartのTutorialを進めて行きました。
こちらは、差分表示があったので、スケルトンから進める事ができて良かったかな?と
思います。いくつか、Dart固有の書き方なども出てきたので、それも説明できたので、個人的には満足していますが、参加者の方はいかがでしょうか。

次に、AngularDartのTutorialを進めていきましたが、Dartのハンズオンで時間を使ってしまったので、説明ベースのものになってしまいましたが、これに関しては、AngularJSをある程度やっている前提でないと辛いのかな?と思いました。
(実際聞いていると、やってない人もいらっしゃったし、Tutorialを少し…。という方もいらした。)
また、講師を務めた私も勉強不足だったように思いました。(最近、こういう「事前の調査」が足りない気がするので、少し考えないとダメかも…)

最後に、Dartのテストについて、少し紹介しました。時間が少ないのと、事前の練習不足もあって、結果は出たものの、しっかり伝えられたかは”?”がつくかもしれません。

フィードバックとしては、JavaScriptに変換した時に6000行ぐらい出力されるという結果を教えてもらったので、mobileでは使えないかも知れない(ロードに時間がかかる)ということと、速度面でどれくらい早いのか?が疑問ということも言われました。
(1.0→1.1で25%の速度UPがされていますが、「当社比」なので、他との比較結果が欲しいというご意見も…)
導入しようにも、「環境が整わないと」という意見もあったので、DartVMがChrome(リリース版)に入るとか、Chrome Packaged Appで使えるという方向に進んでくれたら良いのにな。とも思ったりしています。

全体的に、Dart Editorの挙動が怪しくて、いまいち、動きを確認するのに手間取ったり、JavaScriptの変換とか、pub getコマンドが動かなかったりと、Dart Editorの品質がもう少し上がってくれると非常にうれしいんだけど…。

このイベントはDartのスタートなので、今後もDartを触ってみていただけたらと思います。
重い(ロードに時間がかかる)とはいえ、一応、(JavaScriptに変換すれば)本番導入もできますので…w

後は、少し懇親会で情報交換を行ったりもしたので、今後の課題の洗い出しは、またゆっくりやろうと思います。

2014年1月4日土曜日

2014年の目標

転職したおかげで、今年の年末年始は長かったのですが、年末年始も色々と作業をしていたら、目標を設定する事ができていませんでした。
今年は仕事面はいろいろ制約があるので、GDG中国の活動、技術の2点から目標を定めようと思います。

GDG中国

毎年のことですが、まず、確定している分をこなす。

  • Golang Cafe(毎週日曜)
  • 第23回勉強会@岡山(2/11(火祝))

今年は、Golangが「盛り上がる」という段階から「使われる」段階になると思われるのでここで、しっかりアドバンテージを持っておきたいと思っています。実際、使っているという意味では、私はGAE/Gで利用していますし、Golang Cafeなどでもしっかり使えているのかなと思っています。そろそろ、何かのアプリケーションを実際に作る(GAE/Gではないプラットフォームで動作するようなものを作る)ということもしてみたいです。

まだ、あまり扱えていない内容の事をやる。使った経験が増えれば、導入も増える…はず?

  • Google AppsのAPIを扱うイベントをする。
    • Google Apps Scriptからではなく、いろんなアプリケーションから利用するもの。当然、Google Apps Scriptもやりますよ。
  • Google App Engine関係
    • 2013年はこの辺りの内容をあまり扱えなかったので。
  • Google Compute Engine
    • 課金しないと使えないけど、この辺の内容も扱いたい。

毎回、講師を私が担当することが多かったけど、以前のように、もう少しスタッフや、他の人に頼る事にしようと思っています。2月は今のところ、私が全て担当する予定ですが、「なんか違う」感が非常に強くなってきているし、今の職業の特性上、4月以降(今年も続けば)の負荷が上がるので恐らく無理が発生するんだろうなと思っています。

後は、会場の関係もあって、規模が大きいイベントが少なくなりそうです。Google I/O報告会とかがあっても、今年からはちょっとやれるかどうかわかりません。
広島国際学院大学 袋町キャンパスの閉鎖は非常に残念でした。
GDG Devfestなどで、「参加者全員ができるだけ近くに」と思って、広島を選択していたのですが、(と言っても、思惑と違って、四国会場が松山で開催されましたが…)その選択ができなくなるのは残念です。音響設備とネットワークが揃っている場所をまた探さないといけません。(今のところ、1か所あるけど、不安な点はある)

  • 広島で開催する時には「合同開催」を前提にする。

昨年もこれを実現しようとして、htmldayの時に合同でやってみたのですが、少し残念な結果になってしまいました。年末も画策したのですが、場所の確保ができず…。ということで、2014年もどうにかして合同開催に持ち込んでやろうと思っています。

今年は、活動4年を迎えるので、色々と考えないといけないかもしれませんね。

技術関係

昨年は、フロントエンド(AngularJS/Bootstrap/Pure)に凝っていたような感じがしています。今年は、Dart(?)/AngularJSと、Golang、Google Apps Scriptを押していくことになるかと思います。というよりも、私のスキルがその辺りに収束していっているようにも感じられるので、2013年に引き続き、「マイナー系」で攻めていこうと思います。

とは言え、それらを使うのに関連した技術は使えないといけないので、やっぱり手広くなるのかな。と思ったり思わなかったり。

テストにこだわってみる。

ここ数年、「テスト」が注目されている。というよりは、普通に使われるようになったと思います。私は納品物がないのと、本業ではないのでテストをあまり書いていませんでしたが、テストを書いた時の安心感というか、確認したぜ感は非常に大きいですし、重要な要素だと思うので、2014年はテストを書くことにこだわってみたいと思っています。(ちなみに、私はTDDとかはどうでもいい派です。)GAE/Gのユニットテストもサポートされましたし、テストを書かないわけにもいかないだろうと思いますので。

ただ、テストを書いてからのリリースとなると、どうしても開発スピードが落ちてしまうというのが、以前から非常に気になっていて、皆さんどうしているんでしょうね。

と、いうところで、2014年も皆さんよろしくお願いします。

2013年12月31日火曜日

Dartのドキュメントを適当に翻訳し始めました。

2月のGDG中国のイベントのためにDartを調べているのですが、
平行して英語の勉強も”ある程度”しないといけないような気がしたので、
適当にDartのDocumentを翻訳することにしました。

とりあえず、翻訳した後の文章を見ても何となく分かるようなわからんような…。
(Golang Cafeとか、Blogでも書いたけど、「プログラミング言語 Go フレーズブック」の日本語がおかしいとか、読みにくいとか言ってたけど、翻訳者の苦労がよく分かる…。)

https://github.com/tyokoyama/dartdoc

私は、中学校の頃までは英語の授業があったけど、高校以降は、工業高校だったので、英語の授業が
高校からガクッと減ってるんですね。大学も工学部だったし、(正直その頃には英語に全く興味なかったし)週1回の講義が1年と、週1回の英会話の講義が1年…?だったかな。まあ、とにかくよくわからんのですよ。

特に、","が何個もつながった文章とか、わけがわからないし(今のところ、","で区切って短い文章で読み進める作戦)
あと、圧倒的に単語の意味を覚えてない。
それから、慣れない言語で文脈を読み取るのは今は難しい。

「あの時、しっかり勉強しておけば良かった」とまでは思わないけど、ある程度、単語も覚えていかないとだめだね。
ということで、ぼちぼちやっていこうかと思っています。

2013年11月11日月曜日

Golang Cafe #3 を開催しました。

Golang Cafe #3を開催しました。

今日のお題はGoroutinesとchannelを使った並列プログラミング(初級)という感じです。githubにコードを置いてあります。

ワーカースレッド(goroutine)を起動するには、呼び出し時にgoを記述する。

Channelを使って、簡単な排他制御ができる。
ch := make(chan int)でChannelを作る。
ch<-1だと、Channelに1を送る。<-chだと、Channelから値を受け取る。

ちょっと、サンプルコードのミスで、よくわからないコードができてしまったが、コンパイルエラーにならないのが不思議だった。該当のソースコードはこちら

break、continueの使い方
言語仕様を参照。基本的にラベルの次のfor、switch、selectを抜ける。
continueはラベルの次のforをもう一度実行。

selectについて。言語仕様を確認した感じ。
select文にdefaultを入れると、defaultを呼び出して抜けてしまう。ただし、defaultがなければ、caseのどれかが呼ばれるまで処理をブロックする。

select{}にすると、無限に待ち続ける。

time.Tick()とtime.After()を同時に呼び出して、selectで同時に待ち受けるとtime.After()が永久に戻ってこない?(ただし、time.TickでのChannelの応答の前に、time.After()のタイミングがあると、呼び出される)
バグ…?
と思っていたら、+Fumitoshi Ukaiさんから、正しい書き方を教えていただきました!ありがとうございました。

runtime.GOMAXPROCS(n)を呼び出すと、CPUの利用数が設定できる。(戻り値は前の設定なので注意!)これを呼び出すと、goroutinesが並列に処理されるようになる。
が、アクティビティモニタで確認したら、スレッド数は6だった。(2を期待したけど、Go言語ランタイム(?)の方のスレッドがいるんだろうか。)

関数の引数で、channelが「送信専用」か「受信専用」かを明示することができる。
送信専用=ch chan<- int
受信専用=ch <-chan int
間違いがあると、コンパイル時にエラーになる。

次回は、database/sqlパッケージを使って、DBにアクセスする回になりそうです。

2013年10月13日日曜日

第22回GDG中国勉強会を開催しました。

10/12(土)の第22回GDG中国勉強会@岡山を開催しました。
今回は、Google Cloud Platformを使ってみるという会でしたので、参加者の皆さんもいろいろなサービス、APIを使われたことだろうと思っています。
見た限りでは、Google App Engineが多かったようです。
そのうち、Blogを書いてくれる事だろうと思うので待っていることにします。

私はGoogle Cloud SQLと、Google Compute Engineを動かしたので、その手順を書いておきます。

※事前にGoogle Cloud Consoleでプロジェクトを作っていること。

まず、Google Cloud SQLから。

  1. Cloud SDKをダウンロード、展開する。(Go版に萌えましたが、コマンドが少ないのでPython版か、Java版が無難です。もしかしたらPython版だと早い?)
  2. Google Cloud SQLに接続する場合は、
    1. ./gauth
    2. (プロジェクトIDなどを聞かれ、認証URLが出てくるのでブラウザで認証させる)
  3. ./google_sql.sh [インスタンス名]

とすると、Google Cloud SQLに接続できるので、これで、select version();とか実行すれば結果が取れます。
参考:G+の投稿

次に、Google Compute Engineの接続。ほぼ、Getting Startedの通りですが、Webのコンソールも利用しました。方法をメモしておきます。
  1. プロジェクトのメニューからAPIs&auth→APIsを選び、「Google Compute Engine」を探し、ONにする。
  2. メニューのCompute Engineを選択し、NEW INSTANCEボタンを押す。
    1. OSはDebian6、7とCentOS6が選べる。(私はCentOSにしました)。
    2. 以下の画像はDiskを再利用していますが、New Persistent Disk from Imageを選択すれば新規作成できます。
  3. ./gcutil auth --project=[プロジェクト名]
    1. 承認用のURLが表示されるので、ブラウザにコピペして承認する。
    2. 承認キーが表示されたら、コンソールにコピペ
  4. ./gcutil ssh [インスタンス名]
    1. sshで接続してCompute Engineのコンソールを利用する。
    2. 思ったより重たいので注意。
    3. ここからCompute Engine側でコマンド実行となる。
  5. sudo yum install httpdとかする。
    1. Apacheを動かすので。
  6. sudo /etc/rc.d/init.d/httpd startとかする。
    1. Apache起動。(service httpd startも可能ですが、私は上のコマンドを実行しました。)
  7. ここで、一旦Compute Engineからログアウト
  8. firewallを追加。
    1. ./gcutil addfirewall http2 --description="Incoming http allowed." --allowed="tcp:http"
    2. iptablesを書き換えても何も意味はありません。(Google側で管理されているそうです。)
  9. 適当にIPアドレスで接続。
  10. 表示されれば成功!
  11. 最後に、インスタンスを削除して終了。
    1. コンソール上で可能(削除とリブートしか無い)
    2. ./gcutil deleteinstance [インスタンス名]でも可能です。
    3. ちなみに、Compute Engineでshutdown -h nowしたら、削除するしかできなくなります。(REBOOT INSTANCEボタンはエラーになります)
私はスターターパックを使っていじり倒そうと思いましたが、多分プロジェクト名を間違って申し込んだので、$1000が設定されないと思うので、適当に払います…。

2013/10/27追記:
金額が表示されたのをG+に投稿したのですが、こちらにもリンクを張っておきます。
https://plus.google.com/114183076079015753160/posts/88dV7kCuTrL

よくある質問
Q1. お金…?
A. 今のところ、どれくらいかかっているか不明です。が、そこまで課金されない気がする。まだ、Cloud Console上には課金情報は出ていません。
https://cloud.google.com/resources/starterpack/から、$1000のスターターパックに申し込んでおくと吉…?(Promo Code「fuy-in」です)


2013年9月8日日曜日

第21回勉強会@岡山を開催しました。


昨日、第21回勉強会@岡山を開催してきました。

私のAndroidのカメラをテーマにしたセッションと、萩野さんが開催している「HTML5を業務アプリで使うための勉強会」で取り上げた内容を紹介するセッションの2つが行われました。

最初は私のセッションでしたが、やっぱり練習不足は否めないものでしたが、参加者の皆さんはいかがだったでしょうか。当日の資料は以下になります。

Androidのカメラを使う(Presentation)
当日ハンズオンで使ったサンプルプロジェクト(事前に練習=完成したもの)
CaptureSample http://goo.gl/v8IWz8
CameraSample http://goo.gl/K8oNlU

CaptureSampleは、外部のカメラアプリに対してIntentを飛ばして、結果を受け取る版
CameraSampleはCamera APIを利用して写真を取ったり、ズームしたり、顔検出したりします。

実際は、プレビュー表示でハマってしまって(資料の抜け+練習不足)残念な事になってしまいました。時間もかなりオーバーしてしまった事もあってHTML5に興味があった方には申し訳ないことをしたかもしれません。

で、当日言った事をいくつか残しておくと、

  • カメラは端末によって動作が違うから、気をつけること。
  • CameraInfoの値をチェックして、ズームや、オートフォーカス等が利用できるかどうかを確認してプログラムが動くようにすること。
    • isZoom = falseの時にはズームは使えない。
  • 某端末は、isZoom = trueだけど、setZoom()したら、例外発生!
いくつか、Togetterまとめにまとめられているようなので、ご興味があればどうぞ。

やっぱり、前回のぷち勉強会とどうように、資料に書いてない部分を補う程度の「練習」が必要でしたが、なかなかその時間が取れず、セッションを担当するのは難しい気もしてたりします。

次回は9/28(土)にまた、香川のぷち勉強会で「Go言語」が扱われるので参加します。