LINE Engineering
Blog

Total 39 Tagged in ’#AdventCalendar’
  • コード分割(Code Splitting)を簡単に実装できるgrow-loaderを作った話
    sunderls 2017.12.22

    はじめに

    こんにちは、LINEマンガJavaScript担当の@sunderlsです。

    これはLINE Advent Calendar 2017の22日目の記事です。今日は、webpackローダーのgrow-loaderを紹介します。

    LINE Engineering Blogの記事「LINEマンガ:Page Stackを使ってサクサクなページ遷移を実現できました」でご紹介しましたが、LINEマンガはWeb技術で実装されています。

    Webでネイティブアプリに近いユーザー体験を提供するため、いろいろ工夫しています。今回は、数ある工夫の中からコード分割の実装を紹介したいと思います。

    なぜコードを分割するのか

    LINEマンガでは、JavaScriptのソースコードをもともと1つのファイルにバンドルしていました。しかしサービスが成長するにつれて、ページ数が増え仕様も複雑になり、バンドル後のファイルサイズがどんどん大きくなってきました。将来を考えると1つにバンドルするのはやはり望ましくないと考え、コード分割の実装を始めました。

    AdventCalendar grow-loader JavaScript

    もっと見る

  • Qiitaで人気のLINE関連投稿紹介(保存版)
    Shinichiro Isago 2017.12.21

    Developer Relations Teamマネージャーの砂金(いさご) @shin135 です。この記事はLINE Advent Calendar 2017の21日目の記事です。

    LINEでは12月よりDeveloper Relation Teamを新設し、より一層エンジニアのみなさまとの関係構築に注力して参ります。

    LINEとしてエンジニアが積極的に情報発信してゆく雰囲気を応援しようという意図で、Qiitaのアドベントカレンダーに協賛させていただいている流れもあり、今回はQiita上でLINE、特にチャットボット開発に関連した記事をピックアップして、みなさまが後に参照するときに困らないためのまとめ記事として紹介してゆきます。LINE Bot関連情報はWeb上に多くあるものの、まとまった記事を見つけにくいというご意見もいただいており、こちらの投稿を「はてぶ」などで保存版としてご活用いただけると幸いです。ここに掲載させていただいた方々のみならず、LINEが公開しているMessaging APIやLINE Loginを実際に試していただいたすべてのエンジニアのみなさまに、改めて御礼申し上げます。

    Qiita上の投稿は1.事例系、2.作り方解説系、3.Tipsの3つに分類することができそうなので、順にご説明してゆきます。

    AdventCalendar Bot

    もっと見る

  • レイテンシーを計算する技術の話
    Do Xuanhuy 2017.12.20

    こんにちは、LINEメッセンジャーのサーバーサイドとモニタリングプラットフォームの開発を担当しているフィ(@dxhuy)です。この記事はLINE Advent Calendar 2017の20日目の記事です。

    今日は、モニタリングシステムでよく使うレイテンシーやその計算方法などについて紹介したいと思います。LINEでは、日々ユーザが楽しくメッセージを送れるように、システムの安定性を第一に考えています。安定したシステムを保つためにたくさんの指標を見守る必要がありますが、その指標の1つが「レイテンシー」です。

    ウィキペディアでは、レイテンシーは以下のように定義されています。

    デバイスに対してデータ転送などを要求してから、その結果が返送されるまでの不顕性の高い遅延時間のこと

    インターネットサービスにおいては、レイテンシーは基本的に「レスポンスタイム」のことです。つまり、リクエストを受けてからレスポンスを返すまでにかかる時間がレイテンシーです。

    AdventCalendar

    もっと見る

  • V8のHidden Classの話
    Masami Yonehara 2017.12.19

    フロントエンドエンジニアです。2年前に東京からIターンして福岡に来ました。

    この記事はLINE Advent Calendar 2017の19日目の記事です。

    JavaScriptの気持ちを知りたい

    こんにちは、LINE FukuokaのフロントエンドエンジニアのYoneharaです。

    そろそろクリスマスですね。フロントエンドエンジニアのみなさん、苦しんでいますか?私は苦しんでいます。2017年も暮れようというのに、いまだにブラウザやJavaScriptの気持ちが分からず、ユーザーに思うような快適なUXが提供できないことがあるからです。

    JavaScriptの気持ち。ただ幸いなことに、我々はかなりの程度、それを分析的に知ることができます。GoogleやMozillaが自身のJavaScriptエンジンのコードを公開し、随所でそのアーキテクチャを解説してくれており、また豊富なトレーシング・プロファイリングの手段が用意されているからです。

    今回の記事では、みなさんおなじみのChromeに採用されているV8というJavaScriptエンジンの、Hidden Classという最適化のための1つの仕組みをのぞいてみたいと思います。

    AdventCalendar JavaScript

    もっと見る

  • Redis Lua scriptingをatomicな処理とcache stampede対策に使った話
    Kagaya Hokuto 2017.12.18

    2016年入社。LINE GAME プラットフォームのチームにおいてサーバサイドの開発に従事。

    こんにちは。LINEでゲームプラットフォーム開発をしているKagayaです。この記事はLINE Advent Calendar 2017の18日目の記事になります。昨年新卒入社1年目で執筆した「マイクロサービスのためのプロジェクト生成ツールLazybonesを使ってみた」に引き続き、今年もAdvent Calendarの記事を書くことになりました。よろしくお願いします。

    はじめに—RedisとLINE GAMEプラットフォーム

    LINE GAMEプラットフォームでは、インメモリNoSQLデータベースであるRedisをメインデータベースの1つとして利用しています。キャッシュとしての利用が多く、例えば、LINEやFacebookなどのアカウントで認証を行っているユーザのソーシャルデータ(プロフィールや友だちリストなど)のキャッシュに利用しています。基本的にはRedis Clusterとして利用しており、開発環境では共通のクラスタを、本番環境ではゲームごとに独立のクラスタを組んで運用しています。

    AdventCalendar

    もっと見る