Tag Archives: Go

Go製OSS CI/CDプラットフォーム drone 1.0.0-rc.1 の新機能・変更点

この記事はLINE Advent Calendar2018の8日目の記事です。 はじめまして。LINEのIT戦略室という部署で社内システムの開発・運用を担当しております、suzuki-shunsuke です。 自分がオンプレミスで運用している OSSバージョンの drone ci ですが、遂に 1.0.0 の rc が出ました。 なので 1.0.0 になって何が変わるのかということをドキュメントを読んだり実際にインストールしたりして調べてみました。

line-bot-sdk-go での Flex Message

この記事はLINE Engineering Blog 「夏休みの自由研究 -Summer Homework-」の10日目の記事です。

京都開発室の @sugyan です。京都の夏を初体験していますが、いやー凄まじい暑さですね。

さて、2018年6月、LINE Messaging APIで利用できるMessageタイプとして「Flex Message」が新たに加わり、複雑なレイアウトも可能なカスタマイズ性の高いメッセージを送信することができるようになりました。

公式SDKでも早速Flex Messageをサポートをしていこう、と実装を始めました。

今回はGo SDK担当としてFlex Messageのための機能実装で得た知見などを書いていこうと思います。

Go言語のGCについて

この記事はLINE Engineering Blog「夏休みの自由研究 -Summer Homework-」の6日目の記事です。

こんにちは、LINE Ads Platformの開発をしている岡田(@ocadaruma)です。

今回、個人的に以前から気になっていたGo言語のGCについて、この機会に調べましたので紹介いたします。

Go言語

Go言語はGoogleによって開発されたシステムプログラミング言語で、Channelを利用した並行性のサポートやGCを備えていることが特徴です。

Googleをはじめとして多くの企業が使用しており、LINE社内にもGoで開発しているツールやサービスが多数あります。

Go言語のGC

素朴な感覚で言えば、Go言語では低レイテンシなアプリケーションを容易に開発できるいっぽう、GCは他のランタイムと比較してシンプルに見えます。

たとえば、Go 1.10の時点で、Go言語のGCはConcurrent Mark & Sweep(以下CMS)コレクタであり、JVMなどで一般的なコンパクションや世代別GCは行いません。