lobi

Lobiの画像変換サーバーをImageFlux+Lambda@Edgeで置き換えたはなし

SREチームの長田です。 先日Lobiの画像変換サーバーをImageFluxに移行したので、その過程を紹介します。 画像変換って? Lobiはチャットを主軸としたコミュニティサービスです。 ユーザーはチャットメッセージに画像を添付することができます。 また、ユーザ…

途中から始めてるDDD

Lobi事業部の長田です。 Tech KAYAC Advevtent Calendar 2018、17日目の記事です。 TL;DR DDDを実践して半年ほど コンテキスト分割して実験できる環境を作るのは良い 自分たちが何を作っているのかを考える必要があるのは良い イニシャルコストと開発工数の…

コマンドライン用スクリプトにもClean Architectureを適用する

Lobi事業部サービス基盤チームの長田です。 今回はコマンドラインから実行するスクリプトのはなしです。 オペレーション用のスクリプト どのプロジェクトにも、Webアプリケーションが実行するわけではなく、かと言って定期実行するわけでもない、 とはいえ管…

Lobi で Android 4.1 をサポート終了した話

こんにちは! ゲームコミュニティ事業部(Lobi)サービス基盤チームでアプリエンジニアをしているジェイソンです。 僕が開発に携わっている ゲーム攻略チャットSNS、マルチ掲示板 Lobi(ロビー) は、 その前身であるナカマップのリリースが2010年12月15日な…

既存開発と iPhoneX 対応を両立するために、あえてビルドを失敗させる

この記事は Tech KAYAC Advent Calendar 2017 の5日目の記事です。 毎回誰にも共感されない techblog.kayac.com や techblog.kayac.com な記事を書いております Lobi で iOS アプリを直している @Gemmbu です。 ところで iPhoneX が出てもう一ヶ月経ちますが…

LobiのAndroidアプリ開発を Android Studio 3.0 に移行しました!

こんにちは! ゲームコミュニティ事業部(Lobi)サービス基盤チームでアプリエンジニアをしているジェイソンです。 ついにAndroid Studio 3.0 正式版がリリースされましたね。 Android Studio 3.0 では、Kotlin の正式サポートをはじめとして様々な新機能や…

Dockerで開発環境構築を10倍楽にしたはなし

最近プロジェクト内で使用する開発環境にDockerを利用するようになったので、その紹介をします。

Lobiで画像のWebp変換による通信量削減と調査のためにAWS Athenaを利用した話

Lobiチームの吉村(moulin)です。 今回は、Lobiのチャットの投稿画像やユーザアイコンなどの画像ファイルをwebp形式で配信して通信量を削減した話について紹介します。 TL;DR 画像配信について 画像変換サーバのwebp変換対応 AWS Athenaを使ったCloudFrontの…

Lobiスピンオフ!トーナメント開催サービスをDocker+CircleCIで開発したはなし

はじめまして(?)。taiyohと申します。 幾つか事業部を渡り歩いた後、現在はLobiにて新規機能の開発などを行っております。 皆様は3/3発売のNintendo Switchの予約はお済みでしょうか。僕は早速1/21の午前中に近所の電器店に駆け込んで予約をしました。ゼ…

一粒で三度おいしいコードレビューのすゝめ

Lobiチームの長田です。 今回はLobiチームのサーバーサイドエンジニア間で採用されているレビューのルールについて紹介します。 なお、ここで言う「レビュー」とは一般的には「コードレビュー」と言われているものです。 Lobiチーム内では「レビュー」のひと…

RedashとRundeckで安全・安心なサービス運用

Lobiチームの長田です。 今回はLobiチームで使用しているRedashとRundeckというツールについて紹介します。

チャットメッセージの即時反映を支える技術

Lobiチームの長田です。 今回はLobiの根幹であるチャットサービスの、Streaming APIについて紹介します。 多くのチャットサービスがそうであるように、 Lobiでも新しいチャットメッセージが画面リロードの必要なく表示されるようになっています。 チャットメ…

LobiにおけるConsul活用事例

Lobiチームの長田です。 今回はConsulのLobiにおける活用事例を紹介します。 Consulとは https://www.consul.io/ HashiCorp社が公開している、複数ホストを管理するために必要な機能が盛り込まれたツールです。 公式サイトには以下のように書かれています(意…

AngularJSを使ったWebサイトでSEOするためにLobiがやっていること

スマートフォンのネイティブアプリをメインにサービス展開しているLobiですが、 Webブラウザからも利用することができます。 https://web.lobi.co Webブラウザからでもチャットの投稿・閲覧が行えます。 このサイトは AngularJS を用いて実装されています。 …

Lobiのログ集約・解析のはなし

Lobiチームの長田です。 あらゆるWebサービスがそうであるように、Lobiでも日々大量のログが出力されています。 今回はこのログをどのように集約・解析しているかを紹介します。 TL;DR アクセスログ・アプリログなど、毎秒10000行以上のログが生成されている…

Push通知のためのProvider Server「Gunfish」

Lobiチームの吉村です。 今回はチャットサービスの品質を高める上で重要になってくる「Push通知」について、Lobiのアプローチのひとつである「Gunfish」を紹介します。 Push通知はユーザが「自分に返信が来た」「運営からお知らせが来た」などの情報をリアル…

Perlだけじゃない!Lobiのサーバーサイドで活躍しているGo製プロダクト7+1個

Lobiはメインの言語としてPerlを採用しています。 サーバーサイドで使用するコードは、Webアプリケーションから手動実行用のスクリプトまで、 ほとんどがPerlで書かれています。 (なぜかPerl6のコードがあることになっていますが、さすがにまだ使ってません)…

LobiのDB masterがダウンすると何が起こるのか

Lobiチームの長田です。 今回はLobiで使用しているデータベースの構成・運用について紹介します。 TL;DR メインのデータベースとしてMySQLを使用 一般的なmaster-slave構成 HAProxyとMHAでDBのfailoverを自動化 HAProxyでslaveへの接続を分散・死活監視 MHA…

ファイル更新もchef実行もstretcherで!Lobiをデプロイするときにやっていること

Lobiチームの長田です。 今回は現在運用中のLobiというサービスのデプロイについて紹介します。 Lobi Chat & Game Community Lobiについての紹介は以前のエントリを参照ください。 サーバーサイドエンジニア視点でLobiというサービスを紹介します | tech.kay…

サーバーサイドエンジニア視点でLobiというサービスを紹介します

Lobiチームインフラ担当の長田です。 今年は弊社で運用しているLobiというサービスについて、 サーバーサイドエンジニアの視点から、月いちくらいのペースで紹介していきます。 今回は「Lobiとはなんぞや?」というところを書こうと思います。 サービスの概…

#20 Amazon CloudSearchで検索サジェスト機能を作った話

tech.kayac.com Advent Calendar 2014 20日目を担当する@ken39argです。 近況報告 お久しぶりです。 前回ブログを書いたのが、2012年のアドベントカレンダーでしたので、2年ぶりということになります。 前回のブログの出だしが、 「最近子供が産まれた」 で…

JavaScriptによるcross domain & streamingなAPIアクセスの方法色々 - Nakamap APIの場合 -

こんにちは。すぎゃーん(@sugyan)です。 先日、Nakamap APIを公開しましたが、今回はそれをJavaScriptから使うためのライブラリを用意してみましたので紹介させていただきます。 使い方 <script type="text/javascript"http://developer.nakamap.com/js/nakamap.js"></script> とscriptを読み込むことで使用できます。 access_tokenが既に取得でき…

Nakamap APIを公開しました!

ももいろクローバーZに夢中な、すぎゃーん(@sugyan)です。こんにちは。 みなさん、ナカマップ 使っていただいていますでしょうか? ナカマップは昨年冬にスマートフォン向けアプリとして公開され多くの方々に利用していただいておりますが、今回このナカマ…