ホーム自己紹介ブログ
NO.14
DATE2019. 05. 21

Go Conference 2019 Spring - 2019年5月18日 参加レポート

Go Conference 2019 Spring (2019/05/18 09:30〜)
## 会場 / Venue リクルートライフスタイル本社 東京都千代田区丸の内1-9-2 グラントーキョーサウスタワー Recruit Lifestyle 41F 1-9-2 Marunouchi, GranTokyo South Tower, Chiyoda-ku, Tokyo, Japan ## イベントページ / Event website 詳細はイベントページを御覧ください。 / For further details, please refer to our official website. https://gocon.jp/ ## Call for Pr...
gocon.connpass.com
Go Conference 2025
Go Conference is a conference for Go programming language users.
gocon.jp

こちらに参加してきましたので、ご報告します!

// 場所
リクルートライフスタイル本社
東京都千代田区丸の内1-9-2 グラントーキョーサウスタワー

よかったセッション

H1 (S): Hacking Go Compiler Internals 2

概要

Since the previous talk at Go Con 2014 Autumn, lots of things in the internals have changed. In this talk, I will try to give an overview of Go compiler internals and update the information as much as possible, along with my new hacks.

資料

今回

speakerdeck.com

前回

Hacking Go Compiler Internals / GoCon 2014 Autumn
The document discusses hacking the Go compiler by modifying various phases. The lexer phase scans source code and tokenizes it. The parser phase builds an abstract syntax tree from the tokens by making parser calls. Examples are given of modifying the lexer to accept emoji identifiers and adding a new operator by extending the parser phase. Helpful debugging functions are also outlined. - Download as a PPTX, PDF or view online for free
www.slideshare.net

感想

このセッションでは、Golang のソースコードが機械語になるまでのステップ、要はコンパイラの動きを紹介されていました。 大きく分類して 11 ステップあり、ざっくり要約すると下記のステップです。

1.コードをトークンに分割
2.構文木に構築
3.型チェック
4.インライン化
5.中間言語(SSA)の生成
6.機械語の生成

正直、高級言語ばかり使っていたので、機械語に近い低級言語の知識が乏しい私ですが、 今回のお話は、そういった初心者でも分かりやすく説明されていました。 この話を聞いて、純粋に疑問に持ったこととして「どこに最も時間がかかるのか」でした。 ちょうど、同じ疑問を持った方が質問されていて、回答として「型チェック」だそうです。 実際に調べるためのツールが、golang の benchmark があるみたいなので、こちらを使って チューニングをすることができます。簡単なコードを書いて、試してみたいなと思いました。

A4 (S): Design considerations for container-based Go applications

概要 (2)

Go 言語でのアプリケーション開発で、特にコンテナを前提とする場合の設計考慮点について話します。 例えば、Go 言語で API を開発する場合、コンテナとして動かすことを前提とするケースが多いと感じます。コンテナベースで動かすことを前提とした場合、コンテナイメージ作成・アプリケーション監視において、考慮すべき点が出てくるでしょう。このトークでは、Go 言語での実装にまで踏み込んだ上で、コンテナベースアプリケーションにおける設計の考慮点について話します。

資料 (2)

speakerdeck.com redhat.com

感想 (2)

Golang の話というより、コンテナで開発する上での Tips の話でした。 Tips は3つ紹介されていて、「Configuration」「Logging」「Monitering」です。 どれも、資料にあるベストプラクティスに沿った方法で、良い手法だなと勉強になりました。

・Configuration
設定情報をソースコードで管理するのではなく、環境変数を使うこと
→ 本番/検証等でもソースが変わらない
・Logging
ファイルに出力するのではなく、ストリーミングし外部サービスに流す
→ コンテナを使い捨てしやすくなる
・Monitering
ヘルスチェックのエンドポイントを提供する
→ 外部サービスと連携しやすくなる

他にもベストプラクティが資料に載ってあるので、時間があるときに読んでみたいなと思います。

B8 (L): CPU, Memory and Go

概要 (3)

基本的な CPU やメモリを簡単に触れ、Go の最適化、コンパイラの最適化、Go で実装したときの CPU やメモリの振る舞いを紹介します。 またこれら最適化の様子やパフォーマンスを実際に Go の標準ツールを使いながら確認していきます。

資料 (3)

speakerdeck.com

感想 (3)

Golang におけるパフォーマンス・チューニングについて勉強になりました。 Golang だけの話なのかわかりませんが、コーディングする際に気にしたほうが良いと思います。

・動的配列を使うのではなくて、静的配列を使う
→ 動的配列だとメモリ確保のコストが高くなるので、遅くなってしまう

・環境変数を使うのではなくて、定数を使うこと
→ 実行時にならないと処理が決まらず、コンパイラの最適化がされない

・メモリに割り当てる際は 8byte ずつで割り切れるようにすること(64bit の場合)
→ 隙間があった場合、パディングが発生して遅くなる(メモリアライメント)

そもそも低レイヤーについて全くわからない人なので、 CPU と Memory について知れてよかったです。

全体的な感想

Golang のセミナーに初めて参加しました。 スポンサーの話を聞いていると、Golang を採用した理由は、 どの企業も「パフォーマンスの良さと、学習コストの低さ」 という理由が多かった印象があります。 また、Docker や Kubernetes が Golang で作られていたりと、 Golang はドンドンと人気になっていく言語なのかなと期待しています。

また、スポンサーの中で「既存システムを Golang に再構築した」や 「Golang の知識を得るために勉強会を開催した」など、各社 Golang へ 積極的に活動を試みていることをお聞きしました。

反省

Google Team である Katie Hockman の speaking が英語だったために、ほとんど聞き取ることができませんでした。 実にもったいないと感じました。

※ 資料まとめ https://engineer-fumi.hatenablog.com/entry/2019/05/18/172000

レポート

-

シェアする

フォローする

次のページ

【大阪】GCPUG Kansai 〜 Cloud Next Extended ~ - 2019年5月14日 参加レポート

前のページ

一足遅れて Kubernetes を学び始める - 09. discovery&LB その2 -

関連する記事

タグ「レポート」の記事

GDG DevFest Tokyo 2019に参加したら、Webの未来にワクワクした

GDG DevFest Tokyo 2019というイベントに参加してきました。最近はプライベートの都合上、中々時間が取れていませんでした。しかし今回、会社の都合上、良い感じに時間を確保できたため、こちらのイベントに参加してきました。`大阪→東京` でわざわざ新幹線を使ってまで参加しましたが、それに見合う発見が多くありました。今回、私が学んだ内容について、報告しようかなと思います。

2019年12月16日

レポート
Google
ブラウザ
Cloud Native Days Tokyo 2019 -2019年7月22-23日参加レポート

今回、東京で開催されましたCloud Native Days Tokyo 2019に2日間とも参加してきましたので、報告しようと思います。セッション毎の報告というより、全体を通した感想を話そうかなと思います。

2019年07月27日

レポート
クラウドインフラ
【増枠】Frontend de KANPAI! 7 - Going on 令和 - 2019年7月19日参加レポート

今回はDeNAさん主催のFrontendのイベントに参加してきましたので、報告しようと思います。hashtagはこちら frokan イベント概要 「Frontend de KANPAI!」(以下、FROKAN)は、フロントエンドエンジニアやフロントエンドに興味がある人が集い、ドリンク片手にゆるく交流・技術交換ができるコミュニティを目指しています。

2019年07月20日

レポート
フロントエンド
← ブログ一覧へ