タグ

ブックマーク / labs.gree.jp (21)

  • OAuth for Native Apps | GREE Engineering

    GREE Advent Calendar 9日目は @nov が担当します。 僕は GREE ではセキュリティ部に所属しており、社外では OAuth や OpenID Connect などの Identity 関連技術についての翻訳や講演などを行ったりもしています。 今日は GREE Advent Calendar ということで、Native App コンテキストでの OAuth の話を少し書いてみようと思います。 はじめに Native App を開発していると、Backend Server とのやりとりや Facebook Login や Google Sign-in などで、必ずと言っていいほど OAuth 2.0 というのが出てきます。 OAuth 1.0 と異なりリクエストに署名が不要だったり、Client Secret (a.k.a Consumer Secret) 無しでも

    OAuth for Native Apps | GREE Engineering
  • 泥臭いサーバ運用自動化の話 | GREE Engineering

    こんにちは、North America事業部のLiang Fanです。このエントリーは GREE Advent Calendar 2015  10日目の記事です。 日は、以前所属していたインフラストラクチャ部のサーバ運用と自動化の話を少しご紹介したいと思います。 よろしくお願い致します。 はじめに 運用自動化と聞いて、みなさんは頭の中に何を浮かべますか?仮想化技術(docker、VM)、構成管理ツール(chef、puppet)やクラウドサービス(AWSGoogle Cloud Platform)などの答えがたくさん出てくるかもしれません。日はそれらの技術を使って、かっこいい運用自動化ができたという話ではなく、レガシー環境のサーバ運用を少しでも楽にするための泥臭い自動化の話を紹介したいと思います。 グリーのレガシー環境 レガシー環境と言っても、もう歩けない80歳のおじいさんではなく、

    泥臭いサーバ運用自動化の話 | GREE Engineering
    koemu
    koemu 2015/12/11
    泥臭さが良い
  • EthernetやCPUなどの話 | GREE Engineering

    こんにちわ。せじまです。今年に入ってからアクティビティトラッカーを二回壊しまして、新しい分野の製品って設計いろいろ難しいんだなと、しみじみ思う今日このごろです。 先日、社内勉強会で EthernetCPU などの話をしました。前回のCPUに関する話に続き、今回のスライドも幅広い方に読んでいただけそうな内容かと思いましたので、公開させていただくことにしました。前回のスライドを読んでない方は、できればそちらを読んでいただいてからの方が、より理解が深まるのではないかと思います。 忙しい人のために三行でまとめると 2020年代には、サーバのネットワークインターフェースが 40Gbps 超えてそうな予感 もし Ethernet でそれだけ大量のパケットをさばくなら、(標準化されてないけれど) Jumbo Frame 使わないと厳しいかも 2020年代には、NICやブロックデバイス等、CPUを取

    EthernetやCPUなどの話 | GREE Engineering
    koemu
    koemu 2015/10/22
    10G, 40G そして未来のネットワークに対応するハードウェアについてのお話
  • AWS のお得な機能だけでネイティブゲームサーバをつくる | GREE Engineering

    昨今何かと話題に挙がってきた AWS LambdaAWS DynamoDB を活用して格安で堅牢、高性能なゲームサーバを作ります。 既存システムの苦労をもとに、サーバの開発や運用を頑張らずにすむための仕組みとネイティブアプリからの AWS Lambda の利用方法を簡単に紹介します。 サーバが良くわからんという、ネイティブゲーム、ネイティブアプリエンジニアにオススメです。 ※当内容は多分に個人主観を含んでおり、時事的な要素も含まれています。 ※検索して十分な資料があると考えられるツールやライブラリの利用方法等は省略しています。 おさらい まずは既存のゲームサーバの構成を初歩からおさらいしてみましょう。 簡単にサービスする方法としてアプリからのリクエストを受ける HTTP のサーバと利用者の情報を格納しておくデータベースが考えられます。しかし、すぐに思いつくだけでもいくつかの問題があり

    AWS のお得な機能だけでネイティブゲームサーバをつくる | GREE Engineering
    koemu
    koemu 2015/10/20
    ハンズオン形式の記事
  • CPUに関する話 | GREE Engineering

    こんにちわ。せじまです。スティック型PCの購入は、 Core M版が出るまで見送ろうと思っている今日このごろです。 弊社では「Mini Tech Talk」という社内勉強会を隔週で開催しているのですが、それとは別に、「Infra Tech Talk」という社内勉強会を、半年くらい前から毎月開催しています。わたしはそこでほぼ毎月、45-60分くらいのスライドを作って話をしています。今までどういう話をしてきたかといいますと、TCPに関する話を二回、SSDに関する話を二回しました。(InnoDBに関する話だと軽く5-6時間くらいできるんですが、いささかマニアックなので、もっと幅広い人を対象に話をしています) 今までの話はちょっと社内向けの内容だったんですが、前回開催された Infra Tech Talk では、社外の方にも幅広く読んでいただける話ができたと思いましたので、その資料を slides

    CPUに関する話 | GREE Engineering
    koemu
    koemu 2015/10/05
    未来への展望が興味深かった
  • グリーを支える通知システム | GREE Engineering

    はじめに このエントリは GREE Advent Calendar 2014 24日目の記事です。 こんにちは、インフラストラクチャ部の高野(@takano32)です。 いつも社内では GitHub:Enterprise の運用、 デプロイの改善、 大規模なインフラを操作するためのツール作成、 レガシーなサーバのセキュリティ対策、 コミュニケーションツール向けシステムの構築・運用、 などの仕事をしています。節操がありませんね。はい。 そのうち、今回は「コミュニケーションツール向けシステムの構築・運用」のうち「グリーを支える通知システム」という題目について書きたいと思います。 グリーとリアルタイムコミュニケーションツール まず、通知システムについてお話する前に、グリーでどのようなリアルタイムコミュニケーションツールが利用されてきたかを簡単に説明したいと思います。 リアルタイムコミュニケーシ

    グリーを支える通知システム | GREE Engineering
  • オーケストレーション入門 - 多種多様化するサービスをConsulで連携させる | GREE Engineering

    こんにちは、インフラストラクチャ部のあだち(@foostan)です。 このエントリは GREE Advent Calendar 2014 19日目の記事です。昨日はにしだ(@hosi_mo)さんによるネイティブゲームクライアントの幸せな設計図でした。 今年のグリーアドベントカレンダーのテーマは「GREEを支える技術」ですが、私からは「GREEを支えるかもしれない技術」としてConsulについてご紹介します。 エントリの対象者 エントリでは、簡単なWebシステムを例にとって、Consulやその周辺ツールの基的な使い方やオーケストレーションする仕組みについて説明していきます。 なので Consulって何? Consulって便利そうだけどどうやって使うの? Consul触ってみたけど、使いどころ分からないんだけど? オーケストレーションって? と思われた方にとって良い情報源になることを期

    オーケストレーション入門 - 多種多様化するサービスをConsulで連携させる | GREE Engineering
  • GREEを支えるテキスト情報可視化ツールのご紹介 | GREE Engineering

    こんにちは、マーケティング部の戸井田明俊と情報システム部の亀井利光です。 Advent Calendarの7日目(今日でグリー創立10周年!)は、ユーザーの皆様から頂いたご意見・ご感想などのテキスト情報を可視化するツール、UserText Dashboard(以下UTD)を開発した話です。 背景・目的 グリーでは、ユーザーの皆様から頂いたお問い合わせなどのテキスト情報を管理しています。 それらは今までデータの種類によって別々のストレージで管理されており、管理ツールも様々なものが混在していました。 またテキスト情報とユーザー様の属性情報が紐付けられていなかったため、ユーザーセグメントごとの分析が不十分でした。 そこでユーザーの皆様のご意見・ご感想をもれなくくみとり、より多くの方に安心してご利用していただけるサービス運用の実現をめざし、テキスト情報を一括で管理できる社内BIツールを開発しました

    GREEを支えるテキスト情報可視化ツールのご紹介 | GREE Engineering
  • イノベーションが失われた組織から脱却する10のルール | GREE Engineering

    こんにちは! ガレージスタジオ部  岸田崇志です。 記念すべき『GREE Advent Calendar 2014』1日目の記事となります! GREE Engineers' Blogを書くことに憧れて入社したのですが、5年半経ってようやく夢が叶い感慨深いです。 と、前置きはさておき、題に入らせていただきます。 ここ数年大ヒットが生み出せていないグリーですが、会社が大きくなる中でゲームが作りにくい組織になっていました。 そこで、その課題と現在行っている取り組みについて紹介させて頂きたいと思っています。 めっきりクリエイティブなイメージが薄くなってきたグリーかなと思っているのですが、 「グリーらしくない!」と言われるゲームを作ることが私の狙いの一つでもあります。 過去の自分を振り返り会社が大きくなる中で、自分自身の至らないところもあり以下の様なケースがあったかと思っています。 今までの課題事

    イノベーションが失われた組織から脱却する10のルール | GREE Engineering
  • よくわかるLinux帯域制限 | GREE Engineering

    矢口です。 みなさんはLinuxのtcという機能をご存知でしょうか。送信するパケットの帯域制御を行うことができる大変強力な機能で、グリーでもいくつかの用途で使用されています。 具体的な事例の一つはRedisです。Redisではreplicationを新規に開始する際やfailoverが発生しmasterが切り替わった際(特に2.6系)にストアされている全データが転送されます。しかし帯域制限をかける機能がないため、ネットワーク帯域を圧迫してしまう危険性があります。また通常のクライアントとの通信でも大量のクエリにより予想以上の帯域を使用してしまう可能性があります。このような場合にtcを用いることでRedisの使用する帯域をコントロールできます。 このように有用なtcですが残念なことに日語/英語ともにわかりやすい解説や詳細な情報は多くありません。 私も社内において使われていたtcの設定に問題が

    よくわかるLinux帯域制限 | GREE Engineering
  • インフラ開発合宿を6月20(金)・21(土)に開催しました | GREE Engineering

    こんにちは、開発企画室の佐島です。 少し時間が経ってしまいましたが、6月半ばに開催したインフラ開発合宿についてご紹介したいと思います。 インフラ開発合宿とは 一泊二日、いつもとは違う環境に身を置き「仮想化、自動化」をテーマに何か開発しようという試みです。 テーマと言いつつもゆるい感じで、実際は開発したい or 試してみたいものを自由にやる場になりました。 GREEのインフラを支えているエンジニアは、新しいインフラを開発する部隊と、稼働中のインフラを安定運用するための部隊にざっくり分けることができるのですが、今回の開発合宿は開発部隊を中心に企画しました。 事前準備 何を開発するか決める 参加者には事前に開発するものを公開してもらいました。 自分がやりたいものより面白そうなものがあればチーム開発もあり、という狙いでしたが、結果的にはみんな自分のが一番ということで全員ソロとなりました。 以下、い

    インフラ開発合宿を6月20(金)・21(土)に開催しました | GREE Engineering
    koemu
    koemu 2014/07/24
    楽しそう
  • AMQPによるメッセージング | GREE Engineering

    こんにちは。GREEのプラットフォーム開発部でインフラ系の仕事をしているmdoi(@m_doi)と申します。よろしくお願いします。今回は、AMQPについて簡単に紹介したいと思います。 はじめに GREEで稼働中のサーバは、日々サーバの異常ログ、自己監視結果、メール等々、大量のメッセージをやり取りしています。しかしながら、共通のメッセージングインフラが存在しないため、それぞれが独立に色々なメッセージ送信を行っています。 サーバ台数の増大に伴って、メッセージ配送の負荷が無視できないレベルになって来ると、それらのメッセージングシステムについて、個別に負荷対策を施すなど運用上様々な問題が課題が出てきます。また、メッセージの種類によっては、その配送の仕組がスケーラビリティに欠けるものとが存在し、規模の増大に対応できなくなる恐れもあります。そのため、こういうった用途に使えるスケーラブルなメッセージング

    AMQPによるメッセージング | GREE Engineering
  • hhvmのExtension書いてみた | GREE Engineering

    みなさんこんにちは。hackしてますか? 今日はhhvmのC++拡張(Extension)について書いてみます。 前振り hhvmはfacebookが開発・公開しているPHPの処理系のうちの一つでC++で書かれており、linux上でのJITがサポートされており場合によってはとても高速にPHPアプリケーションを実行する事ができます。 勿論Native拡張を書くこともでき、既存のライブラリ資産の有効活用やどうしても速度が出ない部分の改善などが簡単に行えるので手段として知っていると便利です。 この記事をきっかけにhhvm Extensionのとっかかりになれば嬉しいです。 開発環境を作る 開発環境はlinuxの環境を整えましょう。 OSXやその他の環境でのビルドも対応しているのですがJIT未対応だったり予期せぬバグや地雷を踏む可能性が高いので積極的にOSXのバグフィックスを行ってフィードバックし

    hhvmのExtension書いてみた | GREE Engineering
    koemu
    koemu 2014/04/02
  • 入門 Capistrano 3 ~ 全ての手作業を生まれる前に消し去りたい | GREE Engineering

    はじめに この記事はGREE Advent Calendar 2013年の21日目です。お楽しみください! こんにちは、アゴひげがダンディーだと評判の九岡です。GREEでは、JavaScalaを布教するための土台を固めるため、デプロイや監視の仕組みづくりなどを横断的にやっています。今回はその過程で得られた知識を「Capistrano 3の入門記事」という形で共有させていただきます。 この記事ではCapistrano 3の基礎をご紹介します。Capistrano 3はRubyをベースにしたサーバ操作およびデプロイの自動化ツールです。Capistrano 3を利用することで、デプロイなどの複雑なサーバ操作を自動化することができます。ここの記事では、特にデプロイに焦点をあてながら、Capistranoでサーバ操作を自動化する考え方と実現方法をご説明していきます。 Capistrano 3の習得

    入門 Capistrano 3 ~ 全ての手作業を生まれる前に消し去りたい | GREE Engineering
  • Varnishのログにアクセスしてみよう! | GREE Engineering

    こんにちは、Service Reliabilityチームのいわなちゃん(@xcir)です。チーム名が読みづらいのでSRやSレアと呼ばれたりもしています。レアリティが上がるように頑張って行きたいと考えています。 前回は「Varnishでテストコードを書こう!」という記事を書いたので、今回はGREE Advent calendar 2013の17日目も兼ねてVarnish Cache(以下Varnish)のログを読んだり加工してみたりしようと思います。 また、使用したVersionは3.0.3です。 Varnishのログのしくみ Proxyでアクセスログを取得したいというのはよくあると思います。通常のミドルウェアでは設定ファイルで出力ファイル名を決めたりします。しかし、Varnish体(varnishd)の設定ではそのような項目はありません。 では、Varnishはログを出していないのか?と

    Varnishのログにアクセスしてみよう! | GREE Engineering
  • GIF アニメ生成は本当に GraphicsMagick で行うべきか? | GREE Engineering

    具体的には以下のように使い分けると良いでしょう。 手早く GIF アニメを作りたい > GraphicsMagick Web のバックエンドで動かしたい > YoyaMagick YoyaMagick が使える環境ではない > ImageMagick 自分が今まで耳にした誤解を元に、ポイントを列挙します。 まず、ImageMagick の GIF アニメ生成に時間がかかる場合、その処理の大半は減色処理です。 ImageMagick の減色は主に減色専用のデータ構造を用いる為、Q8, Q16 (*2)による性能の違いは殆どありません。 実は、GIF アニメ最適化の差分フレーム抽出は、減色やGIF エンコードの時間に比べて殆ど時間が掛かりません。 差分フレームが小さい程、2枚目以降の GIF 画像が小さくなり、むしろ全体として処理時間が短くなります。 ImageMagick に比べて、Grap

    GIF アニメ生成は本当に GraphicsMagick で行うべきか? | GREE Engineering
  • Varnishでテストコードを書こう! | GREE Engineering

    はじめまして、サーバ基盤チームの田中祥平(@xcir)です。 最近入社しまして、チームではいわなちゃんと呼ばれています。よろしくお願いします。 入社してからGREEの配信システムをVarnish Cache(以下Varnish)に置き換える仕事をしていたのですが、少し前に問題なく山を超えました。 そこで今回利用したVarnishの特にテスト機能について紹介しようと思います。 なお、今回の説明に利用するVersionは3.0.3です。 Varnishとは VCLというドメイン固有言語をもち、キャッシュもできる高速リバースプロキシです。 if文が書けるので柔軟に記述しやすいという特徴があります。 たとえば/admin/以下に許可したIP以外からのアクセスは弾くと言ったことは以下のように記述できます。

    Varnishでテストコードを書こう! | GREE Engineering
  • GREE Engineering

    404 お探しのページは見つかりません GREE Engineering トップへ戻る

    GREE Engineering
  • 大規模インフラの監視システム | GREE Engineers' Blog

    こんにちは。インフラチームの ebisawa です。 今回はグリーのインフラにおける各種機器の監視がどのように行われているのかご紹介させていただきたいと思います。一般にサーバの監視というと、システムダウンを検出するための死活監視を意味する場合と、ネットワークトラフィック等のモニタリングのことを意味する場合とがあります。今回の監視は特に後者についてのお話です。大規模なインフラの監視には、やはり特有の課題があります。 どんなツールを使っているのか グリーではサーバの各種リソース使用状況をモニタリングしてグラフ化するためのツールとして、Cacti を利用しています。Cacti は、大変有名なツールなので皆様ご存知かと思いますが、バックエンドの RRDtool で作成したグラフを閲覧するための使いやすいユーザーインターフェイスを備えています。 http://www.cacti.net/ ツールの使

    大規模インフラの監視システム | GREE Engineers' Blog
  • GREE Engineering

    404 お探しのページは見つかりません GREE Engineering トップへ戻る

    GREE Engineering
    koemu
    koemu 2008/11/25
    セッション管理を冗長化したいときに便利と思う