タグ

ブックマーク / tech.naver.jp (12)

  • 急増するLINEインフラの課題と対応 « LINE Engineers' Blog

    こんにちは。今回はITサービスセンターより、インフラ運営の観点から急増するLINEインフラの課題と対応について記させていただきます。 はじめに 先日開催したLINE Developer Conference(インフラ編)には大勢の方にいらしていただきました。カンファレンスでは、LINEサービスが始まってから約2年の間に我々はどういった方法でインフラ運営を行い、またどんなことに悩んできたのかを、システム、データベース、ネットワークの観点からそれぞれ発表させていただきました。 カンファレンスはLINE株式会社が様々な技術をどのように使い、どのように運用を行っているのか。現在どのような技術的なことに取り組んでいるのか日エンジニアの皆さんに知っていただくために開催されました。結果としてインフラ編では150名の定員に対して430名のご応募をいただいたとのことでLINEサービスに対する関心の高さを

    急増するLINEインフラの課題と対応 « LINE Engineers' Blog
  • LINE iOSアプリ開発についてのご紹介 LINE Engineers' Blog

    [English version] はじめまして、LINE技術戦略室のhayaishiです。 趣味自転車と言っていますが最近は全く乗っていません。 この記事では、LINEのiOSアプリ開発に関することをいくつかご紹介させていただこうと思います。 LINEのiOSアプリ開発環境 ソースコード管理 ソースコードはgitで管理しています。gitのリポジトリブラウザとしてGithub Enterpriseを利用しており、Githubでお馴染みのPull Requestなどを活用して開発を進めています。 また、LINEのiOSアプリのタスクについてはGithub Enterpriseとは別のチケット管理システムを利用しておりそちらのステータスと連携して開発者、QA、プランナー間の開発状況の共有を行っています。 Gitでの開発フローについて LINEのiOSアプリはgithub-flowの様に

    LINE iOSアプリ開発についてのご紹介 LINE Engineers' Blog
  • LINE Serverの開発とリリースプロセス « LINE Engineers' Blog

    皆さんお元気ですか?LINEサーバー開発室でサーバ開発を担当している崔珉秀と申します。 この記事ではLINEのサーバーの開発とリリースプロセスについて述べたいと思います。 LINEの開発者はどんな形で開発しているのか、サービスに変更事項をどのように適用しているのか、お互い協力してより良い開発環境を得るためにどんな努力をしているのかをお伝えする機会になったらいいなと思います。 ここで述べるリリースプロセスは、LINEのサーバ開発の流れとソース管理システムの運用方法、そして番環境に変更事項を適用するまでの過程です。 LINEのServer Applicationはその役割とシステムの構成によって複数のServer Applicationに分かれて構成されています。 例えばNetwork通信及びProtocolなどを担当するApplication、messagingやsocial graph

    LINE Serverの開発とリリースプロセス « LINE Engineers' Blog
  • Adopting SPDY in LINE – Part 2: The Details « LINE Engineers' Blog

    Introduction In a previous post,* we gave an overview of how we came to adopt the networking protocol “SPDY” for use with the messaging service offered on LINE. This time we would like to go into detail about the various features that SPDY has to offer. *Adopting SPDY in Line – Part 1: An Overview, http://tech.naver.jp/blog/?p=2381 Discussion Security In the previous post, we mentioned that under

    Adopting SPDY in LINE – Part 2: The Details « LINE Engineers' Blog
  • NAVERまとめに見る遅延ロードのすすめ « NAVER Engineers' Blog

    あけましておめでとうございます。NAVERまとめのフロントエンドを担当している縣です。初詣で引いた大吉のおみくじを握りしめながら今年も張り切っていこうと思います。 今回はJavaScriptの遅延ロードの仕組みをNAVERまとめに導入した際のお話を紹介します。 遅延ロードの検討 昨年NAVERまとめのまとめ閲覧ページや、まとめ編集ページでのJavaScriptファイルの読み込みを遅延ロード化する作業をしました。元々はページ読み込み時に全て読み込ませていましたが、JavaScriptファイルが巨大になってきてパース・実行に時間がかかるようになったことから遅延ロードを検討することになりました。 遅延ロードの利点というとJavaScriptファイルの読み込み・実行によるブラウザのレンダリング停止を防ぐのはもちろんですが、どのファイルがいつどこで必要になるかを明確にすることもでき、依存関係を動的

  • iPhone版LINEのデータ構造 : Core data in LINE « NAVER Engineers' Blog

    こんにちは。検索サービス開発4チームでメッセージアプリのLINEiPhoneアプリ開発を 担当している金泰敬(キム テギョン)です。 今回説明させて頂きたい主題はLINEのモデル側を支えているCore Dataです。 Core Dataは、MacOS XのベースFrameworkであるCocoaのMVC構造のうち、 Model側を担当しているFrameworkです。 Core Dataを利用するとデータモデルの設計、オブジェクトのデータの読み取り、書き込み、管理などを簡単に行うことができます。 現在、LINEではCore Dataを利用してメッセージ、トーク、グループ、ユーザーなどを管理しています。 例えば、相手のメッセージが到着するとまずコアのデータからSqliteDBに格納します。 そして保存されたメッセージに関連しているトークでも更新が行われます。 もしそのメッセージが

  • iPhone版LINEのデータ構造 : Core data in LINE « NAVER Engineers' Blog

    こんにちは。検索サービス開発4チームでメッセージアプリのLINEiPhoneアプリ開発を 担当している金泰敬(キム テギョン)です。 今回説明させて頂きたい主題はLINEのモデル側を支えているCore Dataです。 Core Dataは、MacOS XのベースFrameworkであるCocoaのMVC構造のうち、 Model側を担当しているFrameworkです。 Core Dataを利用するとデータモデルの設計、オブジェクトのデータの読み取り、書き込み、管理などを簡単に行うことができます。 現在、LINEではCore Dataを利用してメッセージ、トーク、グループ、ユーザーなどを管理しています。 例えば、相手のメッセージが到着するとまずコアのデータからSqliteDBに格納します。 そして保存されたメッセージに関連しているトークでも更新が行われます。 もしそのメッセージが

  • Angular JSを使おう2 Testaularの使い方 « NAVER Engineers' Blog

    こんにちは、こんばんわ NHN Japan ウェブサービス部開発1室UITチーム 吉田徹生(@teyosh)と申します。 前回の続きでAngularJSについて紹介していきたいと思います。 AngularJSって何?という方は前回の記事[Angular JSを使おう]を御覧ください。 ここ数年でJavaScriptのコードは膨大に増えてきていると感じています。 出来うる限りバグを少なくしよう、保守をしやすくしようと様々なライブラリーやデザインパターンが導入されてきています。 それに伴い、JavaScript界隈にもテストを重視する様になってきて、クオリティも上がってきていると思います。 さて、JavasScriptのテストといえばQunit、Jasmine、Mocha、seleniumなどを挙げられると思います。 今回はそれらとは少し違うAngular JSのために作られたTes

  • AngularJSを使ってみよう « NAVER Engineers' Blog

    こんにちは、こんばんわ NHN Japan ウェブサービス部開発1室UITチーム 吉田徹生(@teyosh)と申します。 最近ではJavaScriptのMVCフレームワークが雨後のタケノコのようにたくさん出てきています。 先日Quirks ModeがJavaScript Libraryの利用状況をアンケートが公開していました。 backbone.jsやknockout.jsなど、MVCライブラリもランクインしてきました。 その中で今回はAngularJSを紹介しようと思います。 まずは、Angular JSについて AngularJS(アンギュラージェイエス)は、Googleとコミュニティによって開発されているオープンソースのJavaScriptフレームワークである。ブラウザ上で動作するウェブアプリケーションの開発にMVCアーキテクチャを取り入れることを目的としている。MIT L

  • 「カジュアル」な規模のデータクラスター上でのデータ解析処理 « NAVER Engineers' Blog

    今年はさだまさしさんのデビュー40周年ということで、記念コンサート「さだまつり」も絶賛開催中の折も折、残暑も厳しい中皆様いかがお過ごしでしょうか。大平です。 さだまさし氏は経験の豊富な方ですので彼の歌や発言から学ぶことは大変多いのですが、個人的に非常に感銘を受けているのは「歌はコンサートで成長する」という言葉です。歌い手として、「歌」という作品を作って公開・販売するだけが仕事ではなく、実際にコンサートなどでお客さんに届け、お客さんの反応を参考にしたり日々の演奏活動の中で試行錯誤を繰り返して、内容をブラッシュアップし洗練させていく過程を指して先の言葉があるのだと思います。実際にさだまさし氏の曲はCDに収録されているものと実際にライブで演奏されるものとでアレンジが大きく異なり、かつ作品としても質が向上しているものが少なからず存在します。 …あまりさだまさしの話を続けると当に上長に叱られますの

  • nginxの優雅な再起動 « NAVER Engineers' Blog

    こんにちは開発チームの崔珉秀と申します。 今回はnginxというウェブサーバーについて話をさせて頂きます。 nginxは最近数年の間けっこう人気が高くなっています。特によく使われているApacheやLighttpdなどのウェブサーバーと性能の面で比較することがよくありまして、優れた性能で単純なstaticファイルを転送するウェブサーバーからCGIサーバー、reverse proxyサーバーなどの様々なウェブリクエスト処理に関わる分野で導入されています。 今日はnginxの性能の比較よりもサーバーの開発者(nginx module)もしくはサーバーの運営者としてのnginxにある仕組の中で一つを紹介したいと存じます。 サーバーの開発や運営をする場合ロジックや設定などの変更により配布の後、サーバーを再起動することがあります。 その再起動の時にウェブサービスとしてリクエストの処理を続けなが

  • モバイルウェブ環境のHTTPSのチューニング « NAVER Engineers' Blog

    こんにちは検索サービス開発4チームの崔珉秀と申します。 インフラやシステムとの連携や統計のバックエンドを担当しております。 モバイルのウェブ環境はPCのウェブ使用環境とは色々な違いが有ります。 ネットワークの速度だけではなくバッテリーの効率を考えた仕組みなど、PCに比べリソースが十分ではないためモバイルブラウザの動作が異なっていることも有ります。 今回はモバイルのウェブApplicationにおけるSSL関係の性能に関する工夫の内容をQ&A形式で解説していきます。 Q. 何が問題でしたか? A. モバイルクライアント(iPhone, Android)のアプリケーションからのHTTPリクエストの応答時間に遅延の問題が有ります。 最初はweb access logからのslow response(1秒以上)のHTTPリクエストが結構ありました。 そのHTTPリクエストをprotoc

  • 1