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年12月31日土曜日

2016年の振り返り

2016年の振り返りをしようと思ったものの…


2016年の状況をまとめると


そういえば、今年は1月に引っ越し作業をしていたので、ゆっくりBlogを書いたりする余裕がありませんでした。なので、目標を立てたりするような余裕もなく、あっという間に1年が過ぎ去ってしまいました。

2016年の活動の振り返り


1月〜3月:


  • 仕事は入試関係が大きな変更が発生したのと、修学旅行で北海道に行ったので(久しぶりにスノーボードで滑りました)何もしていない気がする。
    • GDG Cafe #26
    • GDG Cafe #27
    • GDG Cafe #28
    • GDG Cafe #29

4月〜6月:



  • 3年生の進路関係の世話をしていたのと、新しい授業で苦労していた。部活動の顧問やら。やっぱり何もしていない気がする。
    • I/O Extended 報告会 2016 広島

7月〜9月:

  • インターハイと進路関係の世話で作業時間はほぼゼロ

10月〜12月:


  • 体育大会、文化祭やらでやっぱり何もできなかった。
    • GDG Cafe #30

結局、今年は4月から残業時間がずっと100時間を超えていたので、家で何らかの作業ができる状況ではありませんでした。が、イベントで発表したり、イベントを開催できたことは良かったと思っています。来年も定期的にイベントを開催したいと思っていますが、どうなるかわからないので、いろいろ対策しなければ。

2017年に向けて


確実にやろうと思っていること


  1. Gmailの未読を既読にする
    1. 今年は流量が半端ないものもあって、未読がたまりまくってました。13000件程度。フィルタかけているもののフィルタにかからないものが流れていってしまっていました。


作業時間の確保に向けて


手帳を使うことにした。

たまたま職場で手帳を頂いたので、これまではGoogleカレンダーでスケジュール管理をしていたのですが、アナログの手帳で運用してみようと思っています。
スマートフォンで入力するまでに数ステップかけるよりも手帳に書いて、1度で書いた方が良いなと思ったので。

とりあえず、手帳に記入したものをGoogleカレンダーに転記したり、WunderListでToDo管理する運用で2017年は進めてみます。

1日の整理をしっかりやる。

タスクの整理などをしっかりやっておかないと、どんどんわけのわからないことになっていくので、ちゃんと時間を確保して整理しながら進めようと思います。ただ、この業界、タスクが急に発生する(しかも、緊急度が高かったりする)ので、いろいろ困りますね…。
これも上で書いたことと関連しますね。

やりたいことをとりあえず挙げる


  • 自分用のツールを作りたい(ここ数年ずっと言ってる気がするけど全然できない)
    • 仕事を効率的にこなさないと、このままだとやばい。(対人なので難しいところもあるけど…)
  • 今年はフロントエンドとG Suite関係を中心に?
    • フロントエンドの技術をおいかけるのををあまりしていなかったので、Angular 2やらなんやらを。
    • G Suiteも最近触ってなかったので、また復活させようかなと思ったりして。
2016年はいろいろな方にお世話になりました。
どこまでできるかわかりませんが、2017年もよろしくお願いします。

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)

チケット駆動開発を読みました。

チケット駆動開発を読みました。

この書籍を読んでも今の職業ではあまり役に立たないわけですが、個人プロジェクトでgithub、bitbucketを利用しているので、チケットの登録の仕方(頻度、粒度など)が分かればいいかなと思って読んでみました。

書籍では主にRedmineを使ったプロジェクト管理について記載がされていたと思いますが、特にRedmineでなくても問題なく実践できると思います。

さて、チケット駆動開発で何をサポートしようとしているかというと、

  1. 経緯の保存
  2. ToDo管理
  3. 備忘対策
  4. 開発後の振り返り
  5. 進捗管理
が全てなのではないかと思いました。確かに、Excelでの管理だと、経緯がわかりにくいとか、進捗がどうなっているのかを把握するのが非常に困難ですが、チケットで管理していると後で検索すれば追跡することも可能だと思います。(開発の仕事をしていた時は、この経緯の説明に非常に苦労した記憶が…。しかも経緯を説明した後、前提を覆すというようなこともあったりしたし…。それが悪いとは言わないが…。)
また、チケットがcloseされないことにより、作業が漏れる可能性が低減されることも重要なポイントだと思います。


それから、チケットとcommitを紐付けておくことで、チケットに書かれている内容についてのディスカッションの経緯や変更したソースコードをまとめてみることができたりするのもチケットの長所かもしれません。

その他にもチケット駆動開発をいきなり取り込んでも、用途が定まっていないとうまくいかないということで、最初はBTS(障害管理)から取りいれてみる事がいいだろうと再三書かれていました。
個人的には、とりあえず、作業内容をチケットに登録してみるというところから始めると良さそうな気がしています。
(ある個人的なプロジェクトではbitbucketでチケット駆動開発を行っています。仕事の性質上、作業が滞ってしまう事があるので、備忘対策としては非常に優れていると感じています。)

ちょっと読んでてしんどかったのは、最後の方で事例紹介のページがあるのですが、少し事例が多かった気がしたので、チケット駆動開発の方法が紹介された後で事例のページを読み進めるとしんどいかもしれません。(特に私はこういう開発手法の経験はないのでイメージが湧かないのかもしれませんが)

最後に、今もウォーターフォール型のプロジェクトが多いと思いますが、限界を感じている方におすすめですが、この書籍に書いてある、「アダプタブル・ウォーターフォール」という章があるので、これを読んでみてはいかがでしょうか。

大まかに説明すると、ウォーターフォール開発の中で、計画外のことが発生した時に、チケットを登録しておいて、開発作業を進めるというものです。
仕様変更などが発生すると仕様書に反映されるのに時間がかかることで、対応状況がよくわからなくなるという事が経験上よく発生していたような気がするので、チケットにより変更の状況がわからなくなるということが防げるのはいいのではないでしょうか。