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

  • Git で日々の共同作業やリリース作業をサポートする git-daily を作りました | GREE Engineering

    こんにちは。インフラの sotarok です。 先日から Git 関連の話をしている通りですが、社内で Git を使い始めています。 今日は、Git を使った日々の開発〜リリースまでのフローや、そうしたものの運用と、それをサポートするために作ったツール git-daily の紹介をしたいと思います。 ソフトウェア開発とウェブ開発の違い いやウェブ開発も広義のソフトウェア開発なのですが、ここでいうソフトウェア開発とは、クライアントアプリケーションやライブラリのようなものを指すと思ってください。 実際、ウェブ開発をしている方は感じていることだとは思いますが、両者の開発フローはかなり異なるものです。もちろん社風や開発の方針等によって色々あるとは思いますが、主に次のような特徴が挙げられると思います: ソフトウェア開発 アプリケーションはクライアントで動作する リリース間隔は比較的長く、次のバージョ

    Git で日々の共同作業やリリース作業をサポートする git-daily を作りました | GREE Engineering
  • 「スマートフォン版GREE HTML5+JavaScript & Android」講演資料公開いたしました | GREE Engineering

    こんにちは。グリーの田尻です。 先日1月9日(日)東京大学で行われたAndroid Bazaar and Conference 2011 Winterにて、弊社エンジニア@kuが登壇させて頂きました。テーマは「スマートフォン版GREE HTML5+JavaScript & Android」です。 当日の会場は満員で、お越しくださったみなさま、当にありがとうございました! 好評につき日は講演当日の資料を公開いたしましたので、当日参加できなかった方にもぜひご参考にして頂ければと思っております。 Android Bazaar and Conference 2011 Winter

    「スマートフォン版GREE HTML5+JavaScript & Android」講演資料公開いたしました | GREE Engineering
  • 大規模インフラの監視システム その2 | GREE Engineering

    こんにちは。グリーのmdoi(@m_doi)です。 今回は、グリーの監視システムについて説明したいと思います。以前、こちらの記事にて、リソース監視システムの説明をさせて頂きましたが、死活監視やログ監視については語られなかったので、気になっていた方も多いと思います。ということで、今回は、グリーのインフラにおける死活監視やログ監視、アラート通知システムを紹介したいと思います。 何を使っているの? グリーでは、死活監視にNagiosを使用していました。監視システムの中では、かなり有名なソフトウェアですから、監視システムの構築に使用したことがある方も多いのではないでしょうか。プラグインも豊富に存在するので、様々な監視を行うことができます。死活監視は、このNagiosの機能をそのまま利用し、ログ監視は、Nagiosと独自に作成したエージェント及びログフィルタを連携させて行っていました。 全体のシステ

    大規模インフラの監視システム その2 | GREE Engineering
  • 多人数開発で Git を使う場合の環境構築 | GREE Engineering

    こんにちは、インフラやってる sotarok です。最近、社内でも「sotarok は そーたろっくと読む」という誤解が広がっていましたので改めて自己紹介しますと、sotarok と書いて「そーたろー」または「そーたろー・けー」と読みます。ロックしてないのでよろしくお願いします。 今日は、Git の話です。 GREE ではずっと Subversion を使っているという話を、以前開発環境の話をしたときに少し触れたことがあります。Subversion での運用方法も、GREE では割と面白い運用をしているのでその話もどこかでしたいのですが、まあ、それは今回は置いておきましょう。どこかで聞いてください。 GREE もその昔 CVS から Subversion に移ったのですが、時代は流れるもので、いよいよ Git 化という流れがきています。Subversion と Git の違いを今更あえて挙

    多人数開発で Git を使う場合の環境構築 | GREE Engineering
  • TCP勉強会始めました | GREE Engineering

    こんにちは、グリーで運用に携わっているhiromi.kaiと申します。よろしくお願い致します。 最近、私たちのチームではTCPの勉強会を始めました。講師はブログにも記事を書かれているebisawa先生です! そもそもなぜTCPの勉強会?と思われる方もいらっしゃると思いますが、グリーのサービスを運用している際に直面するトラブルには、TCPプロトコルに関する詳細や実装がわかっていないと対応できない、難易度の高いものもあるからです。そのような難しいトラブルにも、対応できる人員を増やそう、ということで、勉強会を開く運びになりました。 第1回サマリ 第1回はTCPのプロトコルの説明で、主にTCPの信頼性確保の仕組みや、ヘッダの解説などがありました。 簡単にサマライズすると、以下のような内容です。 イーサネットやIPヘッダにも誤り検出の仕組みがあるのに、なぜTCPヘッダにもチェックサムがあるのか?

    TCP勉強会始めました | GREE Engineering
  • Rubyのすゝめ #01 - ベンチマークテストとプロセス管理編 | GREE Engineering

    いつもエンジニアブログをチェックしていただいてありがとうございます。グリー株式会社でエンジニアをしている takano32 です。 読者の方々にはプログラマやエンジニアをしている方々も多いと思いますが、みなさんは何か手に馴染んだ道具を持っていますか? グリーについて言えば「グリーといえば、PHPMySQL」というイメージをお持ちの方も多いと思いますし、実際にシステムの核心部はPHPMySQLによって機能しています。PHPMySQLはグリーに欠かせない道具となっています。 ただ、グリーで働くエンジニアひとりひとりにはやはり個性があり、手に馴染んでいる道具も人それぞれです。 Pythonで社内システム向けのクローラを作成して情報を収集している方、C言語でグリーのシステムに適合するDNSサーバやMySQLプロキシ(g2proxy)を作成している方々などさまざまなエンジニアがグリーでは働いて

    Rubyのすゝめ #01 - ベンチマークテストとプロセス管理編 | GREE Engineering
  • グリーの大規模分散ストレージ戦略(nanofs) Vol.2 | GREE Engineering

    はじめに グリー株式会社でエンジニアをしておりますkgwsと申します。 今回は、前回に引き続き分散ストレージ(nanofs)のHTTPメソッド毎の処理を紹介させていただければと思います。 nanofsは5つのHTTPメソッド(GET、PUT、DELETE、HEAD、MKCOL)をサポートしております。今回は主なGET、PUT、DELETEの3つについてご説明させていただきます。 まずは構成のおさらい nanofsは、主に3つのプロセスで構成されております。 nanofsd(dispatcher) アプリケーションサーバからリクエストを受け取り実際に保存されているnanofsnに振り分ける 5つのHTTPメソッドをサポートしている(GET、PUT、DELETE、HEAD、MKCOL) データベース(KVS)に保存したデータの情報を送る queueに処理の指示を送る nanofsw(worke

    グリーの大規模分散ストレージ戦略(nanofs) Vol.2 | GREE Engineering
  • 大規模インフラの監視システム | GREE Engineers' Blog

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

    大規模インフラの監視システム | GREE Engineers' Blog
  • グリーの開発環境(歴史と概要) | GREE Engineering

    こんにちは。グリーでインフラ的なお仕事をしているsotarokです。今回は、グリーの開発環境についてお話します。 グリーの開発環境 開発環境どうするか、という問題はエンジニアリングをしている会社であれば誰しも一度は悩んだことのある問題だと思います。開発環境の作り方は、会社やサービスの規模、事業の形態などによって様々ですし、割と小さな規模から「歴史的な経緯」を経て成長してくることが多く、これといったスタンダードがあるわけでもありません。 グリーでも初期の頃から、いくつかの経緯を経て現在の開発環境があります。これは、特に画期的な開発環境やスタンダードに合わせてつくったわけではなく、日々の業務のなかで、あれこれ困ったことやより便利にしたいことなどを解決していくうちに作り上げられたものです。 今回は、グリーの開発環境の移り変わりと、今後の開発環境づくりについてお話させていただきます。 初期の頃の開

    グリーの開発環境(歴史と概要) | GREE Engineering
  • スマホゲームの API サーバにおける EKS の運用事例 | GREE Engineering

    *1 デフォルトでは Pod に割り当て可能なセカンダリ IP アドレスを ENI 1個分(その ENI に割り当てできる最大数)確保する設定ですが、実際には DaemonSet などがありすぐに ENI 1個分の空きという条件は満たさなくなるので、ワーカーノード起動時に ENI 2個分(「そのインスタンスタイプが ENI ごとに割り当てできる IP アドレス数」の2倍)が確保されるということになります。ドキュメントとしては次のリンクをご参照ください。 参考: https://docs.aws.amazon.com/ja_jp/eks/latest/userguide/cni-env-vars.html 参考: https://github.com/aws/amazon-vpc-cni-k8s/blob/master/docs/cni-proposal.md 例えば、ピーク時に c5.4x

    スマホゲームの API サーバにおける EKS の運用事例 | GREE Engineering
  • CTO15年やってみた (その2) -大事にしている7つのこと- | GREE Engineering

    ごあいさつ (読まなくてもいい前置き-1) みなさまこんにちは、グリー株式会社でCTOをやっているふじもとです。実はそのかたわら日CTO協会、略してCTOAというところの理事をやらせていただいているのですが、勢いで「CTOでAdvent Calendarやろうぜー」と言い出してしまい、まぁ言ったからには1日くらい書くかー、後半にしておけば (おそらくそれまでに何日か書き忘れがあるだろうから) まぁ最悪書けなくても平気だろうと気思っていたんですがなんと今日にいたるまで毎日継続しております、みなさんすごいー、すごすぎるー。 ということでこれは、CTOA Advent Calendar 2020 20日目のエントリです。僕のはともかく、他のみなさまの素敵なエントリが並んでいますので、ぜひぜひご覧ください。 大事にしていること? (読まなくてもいい前置き-2) CTOとして何をすべきか、問題に

    CTO15年やってみた (その2) -大事にしている7つのこと- | GREE Engineering
  • CTO15年やってみた (その1かも) | GREE Engineering

    とても久しぶりのエントリになります、グリー株式会社でCTOをやっておりますふじもとです。Pixel Budsを買ったはいいものの、イヤフォンの位置なおすたびにジェスチャ認識されて通知読み上げられることに悩んでいます。たぶん耳にちゃんとフィットしてないのが原因です。 気がつけば、今年でCTOというタイトルでお仕事をしてはや15年が経ち16年目に突入しておりまして、よい機会なので今どんなことを思うか、何が変わったか、などなど勢いで書いてみようと思った次第です...というそれっぽい理由はほんの少しで、ほんとのところそんな立派な理由でもなく、来たる 2020/09/18 (fri) に GREE Tech Conference 2020 (online) が開催されるので、その宣伝をしたいなーと思ったのです。ということで...! GREE Tech Conference 2020 2020/09/

    CTO15年やってみた (その1かも) | GREE Engineering
  • CTO15年やったので仕事を増やしてみた | GREE Engineering

    みなさまこんにちは、グリー株式会社でCTOをしておりますふじもとです。最近は諸般の事情でWebUSBとWebNFCを観察しています、iOS SafariでWebNFCサポートしてくれないかな...。 そして今回は来たる2021/11/11に開催予定のGREE Tech Conference 2021の宣伝にやってまいりました。という!ことで! GREE Tech Conference 2021 は 2021/11/11 開催です、ご登録はこちらから! みなさまのご参加をお待ちしております。なおぼくは最初の基調講演で20分ほど (当然グリー株式会社の) お話をさせていただきます。 以上でだいたいこのエントリでお伝えしたいことはお伝えできましたので、以下は蛇足となりますが、グリー株式会社でCTOになって以来初めて社外での仕事をすることにしたので、少しだけそのあたりについて書かせていただこうと思

    CTO15年やったので仕事を増やしてみた | GREE Engineering
  • 受取期限の過ぎたデータをMySQL上から削除する話 | GREE Engineering

    こんにちわ。せじまです。今回は地味で泥臭い話をします。ただ、割と平易な内容かと思いますので、初学者の方にもオススメです。 はじめに ゲームでは、受取期限のついたログインボーナス的なものがよくあります。ユーザが期限までに受け取らないと、ユーザからそのデータは不可視になりますが、必ずしも、不可視になった瞬間にデータベースから直ちに削除される、というわけでもありません。バッチジョブか何かで、ガベージコレクションのように削除するケースが多いのではないでしょうか。 また、論理削除という概念もあります。論理削除についてはいろいろ意見や考え方があるかと思いますので、ここでそれについては論じませんが、「削除フラグが立ってユーザから不可視になった後、三ヶ月以上経過したデータを削除したい」みたいなことは、ゲームに限らず、しばしばあるんじゃないかなと思います。 こういった、ユーザから不可視になってしばらく経過し

    受取期限の過ぎたデータをMySQL上から削除する話 | GREE Engineering