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のための機能実装で得た知見などを書いていこうと思います。

グローバル社内イベント―PaaS Day 2018―フォトレポート

世界12カ国に約6,000人の仲間が働くLINE。

その「エンジニア」と聞いて、思い浮かべるのはどんなイメージでしょうか?一口にLINEのエンジニアといっても、そこには多様な「エンジニア」がいます。

この記事は、LINEが展開する全サービスの開発者と、ひいてはLINEという企業そのものを基盤から下支えしているエンジニア達が登場したイベント―PaaS Day―の開催報告です。

サーバーサイドKotlinの知見/KotlinでClova Skill Award挑戦

はじめに

LINE Engineering Blogをご覧の皆さまこんにちは!今日の記事は2名の連名によってお送りします。LINEでゲームプラットフォームを開発しているKagayaと、ライブ配信サービスLINE LIVEのAndroidアプリを開発しているakiraです。こちらはLINE Engineering Blog「夏休みの自由研究 -Summer Homework-」の9日目の記事です。

grpcでバラバラなslack botが1つになる

この記事は、LINE Engineering Blog 「夏休みの自由研究 -Summer Homework-」 の8日目の記事です。
はじめまして。LINEのIT戦略室という部署で社内システムの開発・運用を担当しております、suzuki-shunsukeです。

最近複数のSlack Botをgrpcを使って1つのBotに統合している話を書こうと思います。

経緯

自分は社内のSlackを管理するチームに所属し、そこでSlack Botを幾つか作成し、運用していますが、それらのBotを1つに統合してほしいという要望がありました。理由としては

  • Botを幾つも招待するのが面倒
  • どんなBotがいるのか把握できないので、1つにしてほしい
  • どんどんBotを追加していくより、1つのBotの機能を追加していくほうが、よりユーザーがBotに愛着がもてる

というものでした。

Clovaの開発関連情報のアップデートとスキル開発のインセンティブについて

こんにちは。LINEでテクニカルエバンジェリストとしてMessaging APIやClova Extensions Kit(CEK)等プラットフォームの啓蒙活動をしている立花です。
この記事はLINE Engineering Blog「夏休みの自由研究 -Summer Homework-」の7日目の記事になります。

この記事では公開から約1ヶ月経ったClova CEKへの各種アップデートや外部開発者の方によって執筆された開発関連情報、スキル開発のインセンティブについてご紹介します。

【採用イベント開催】9月8日(土) LINEエンジニア採用の日 in大阪!


先日、東京で初開催した「LINEエンジニア採用の日」の大阪開催が決まりました!(前回の様子
関西圏に在住のエンジニアキャリアをお持ちの方、どうぞお気軽にご参加ください!

■LINEエンジニア採用の日 in大阪
開催日時:2018年9月8日(土)13:30開場 14:00開始(18:00終了予定)
場所:TKPガーデンシティ東梅田
大阪府大阪市北区曾根崎2丁目11-16 梅田セントラルビル 7F(受付)

本イベントは、エンジニアキャリアをお持ちの転職希望者の方へ向けたエンジニア採用説明会です。LINEで働くエンジニアが、それぞれの働き方、カルチャー、そして働く上で気になるであろう給与・待遇面までパネルディスカッション形式でお話させていただきます!当日は懇親会も含み、様々なLINEエンジニアと交流いただけます。

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は行いません。

How Promgen Routes Notifications

I’m Paul Traylor with LINE Fukuoka’s Development Department where I focus on tooling to monitoring the many servers used to support LINE Family Apps. One of my main tasks is to maintain Promgen which is a tool for managing Prometheus targets and routing alerts to the correct team.

How Prometheus and Alertmanager process alerts

Prometheus uses labels for many things, from writing PromQL to routing alerts, so understanding how labels are used is important to understanding how alerts are routed.

Developer of the Month 2018.08 VoiceApp Lab様インタビュー

Clova Extensions Kit&Clovaスキルストアの公開に合わせてスタートした「Developer of the Month」。毎月一度LINEのAPIを利用して素晴らしい作品を開発していただいた開発者の皆様を新宿ミライナタワーオフィスにご招待し、インタビューと副賞の贈呈を行います。

第1回の「Developer of the Month」に輝いたのは数々のヒットスキルを開発してきたVoiceAppLabの3名。今回はVUIだからこその面白さやアイディアの源泉を聞きました。

VoiceAppLabのメンバー。左から、池田大介氏、コバヤシトール氏、捧隆二氏。

Write you a webpack for great good

こんにちは、LINEでフロントエンド開発を担当しているJunです。この記事はLINE Engineering Blog「夏休みの自由研究 -Summer Homework-」の4日目の記事になります。

この記事ではJavaScript ecosystemの一つ、module bundlerについて書きたいと思います。まずmodule bundlerという概念について簡単に紹介し、その後module bundlerが実際どう動くのかについて自作module bundlerを書いた経験と共に説明します。

Module bundler?

Moduleシステムは大きいコードベースをmoduleと呼ばれる単位に分割できるようにする構造のことです。JavaScriptは長い間moduleシステムを持っていませんでしたが、2009年Node.jsがCommonJSというmoduleシステムを使い始めて以来、JSでもmodule化したコードを書くのが普通になりました。そしてECMAScript 2015でJS言語仕様に新しいmoduleシステム、ES Modulesが含まれるようになり、もはやmodule無しではJSを書きづらくなったとさえいえます。