タグ

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

  • マイクラで学ぶ専用サーバ運用 | GREE Engineering

    はじめに インフラエンジニアのほりぐちです。我々の部には様々な案件が持ち込まれますが、今回は https://reality-festival.wrightflyer.net/3/ にて行われる 建築王 で利用するマインクラフトのサーバ(以下マイクラサーバ)を運用するというものでした。採用までの経緯などは省略しますが、当エントリではこれをクローズするまでの話になります。 結論から出すと出来上がったマニフェストはこちらです。 専用サーバとは 誰かひとりがホスト(サーバ)になり、他のプレイヤー(クライアント)がサーバのアドレスを打ち込んでそこへ参加するスタイルは古くからあり、マイクラもこれに該当します。また、ホストプレイヤーとして参加せずに無人のゲームをサーバ専用モードで起動して開放しておくことを専用サーバ ( Dedicated Server ) などと呼んでおり、このスタイルも古くからあり

    マイクラで学ぶ専用サーバ運用 | GREE Engineering
  • 概要UnityYAMLMerge | GREE Engineering

    こんにちは。ちょびえです。最近ひまつぶしにUnityをはじめてみました。 ということで少し前に連載していたMySQLプロトコルはひとやすみしつつ、今日はUnityらへんのことでも書いてみようかなぁ、と思います。 最近遊んでいるのがUnity5で入ったSmartMerge、もといUnityYAMLMergeなのですが説明のなさっぷりが素晴らしく、面白半分で検証を行っています。 SmartMarge - UnityYAMLMerge http://docs.unity3d.com/Manual/SmartMerge.html Unity incorporates a tool called UnityYAMLMerge that can merge scene and prefab files in a semantically correct way. The tool can be acc

    概要UnityYAMLMerge | GREE Engineering
  • デュアルディスプレイなときに顔の向きでアプリ切り替えてみた | GREE Engineering

    SAO The Beginningのαテストに落選したふじもと (@masaki_fujimoto) です。当選されたかたは、無事ログアウトできるといいですね (負け惜しみ感)。 相変わらず長い前置き それはそれとして、最近ディスプレイが余った (別のフロアに1台おきっぱにしてたのを回収してきた) ので、久々にデュアルディスプレイにしてみました。で、画面がひろびろとするのはいいのですが、なんか思ったより快適じゃない感じがしまして、なんでかなぁと思ったら、隣のディスプレイを見たときにアクティブなウィンドウをスイッチするのがかったるいんですよね。一応図にしてみるとこういう感じで: それぞれ27inchで結構大きいので、基は左側のディスプレイを正面にみておしごとしてます。で、右側にはchatを表示させてて、通知きたらそっちみて、って感じでまぁありがちな感じですね。 で、それはいいんですが、問題

    デュアルディスプレイなときに顔の向きでアプリ切り替えてみた | GREE Engineering
  • GREEのUserAgent比率を公開します(2014/08) | GREE Engineering

    サンダルは鼻緒派のago(@kyo_ago)です。 今月もGREEを利用して頂いているクライアントのUA比率を公開します。 グラフは以下のデータを元に作成しています。 { "os": { "Android": 66.2, "iOS": 33.8 }, "version": { "Android": [ { "percent": 36.9, "name": "4.2" }, { "percent": 19.8, "name": "4.1" }, { "percent": 19.7, "name": "4.0" }, { "percent": 12.4, "name": "2.3" }, { "percent": 6, "name": "4.4" }, { "percent": 3.8, "name": "4.3" }, { "percent": 1.3, "name": "other" }

    GREEのUserAgent比率を公開します(2014/08) | GREE Engineering
  • CTOとはなんなのか、あるいはエンジニアの生存戦略 | GREE Engineering

    Merry Christmas! GREE Advent Calendar もいよいよ最終日、25日目はグリー株式会社でCTOをしておりますふじもとがお送りします。 今日まで24人のGREE Engineersなみなさまにエントリを書いていただいたわけですが、思ったよりも多種多様な内容で、あらためていろいろな方面で素敵なエンジニアがいるなー、としみじみしてしまいました。いやしかしgitとchefの記事人気ですね、そして、「当然CTOはすごい記事書くんですよね」とプレッシャーをかけて楽しむ仲間たちに囲まれてぼくは幸せです、あーすごい幸せー。そんなプレッシャーの中、今までのエントリとはちょっと方向性を変えて、CTOの話でも書いてみようかと思います。なお、ぼくの趣味は多分問題解決です。 そんなわたくしふじもとは来年で、CTOっていう肩書きでお仕事をはじめて10年とかになるんですが、なかなか先輩と

    CTOとはなんなのか、あるいはエンジニアの生存戦略 | GREE Engineering
  • Scalaコードでわかった気になるDDD | GREE Engineering

    みなさん、こんにちは。グリーのかとじゅん(@j5ik2o)です。 このエントリは GREE Advent Calendar 2013 の 18日目の記事です。よろしくお願いします。 私がグリーに入社してやっていることは、プログラミング言語 Scalaとドメイン駆動設計(以下、DDD)の布教活動です。布教活動といっても宣伝するだけでは具体性に欠けるので、実際に開発チームに入ってScalaやDDDの技術支援を行っています。エントリでは、Scalaを用いたDDDの設計と実装をどのように行っているかを、DDDを知らない人でもできるだけわかりやすく説明したいと思います(Scalaわかっていると読みやすいですが、あんまり複雑なコードは出てこないのでなんとなく読めるのではないかと思います)。なお、DDDの実践例は他にもあります。一例だと思って読んでいただければ幸いです(先日のSNSチームでのドメイン駆

    Scalaコードでわかった気になるDDD | GREE Engineering
    tarchan
    tarchan 2014/01/09
  • グリーのインフラに Chef を導入した話 | GREE Engineering

    類似のソフトウェアとして、Puppet や Ansible といったものもあります。こういったインフラ自動化まわりのソフトウェアについてはペパボの宮下さんの インフラ系技術の流れ が参考になります。 Chef in グリー さて、グリーでのChefまわりの構成をご紹介します。下図が全体の構成です。 開発環境 開発は各個人のマシン上で仮想マシンを立ち上げて行なっています。クックブックの開発では、クックブックを開発する人が serverspec でテストを書くようにしていて、構築後のサーバが期待通り動くことをテストしています。一つのクックブックでも設定値などの条件によって動作が変わってくるため、test-kitchen を用いて複数の条件(ランリストやノードのアトリビュート(以下、「アトリビュート」)などの組み合わせ)でテストを行っています。 また、一部仮想マシンを使う必要がないテスト(att

    グリーのインフラに Chef を導入した話 | GREE Engineering
  • GREE Advent Calendar 2013 開催! | GREE Engineering

    開発企画室のimagireです。 このエントリは GREE Advent Calendar 2013 の予告です。 12月と言えば、Advent Calendar の季節ですね。 Advent Calendar といえば、「グリーさんは、やらないんですか?」と言われてきて、ごにょごにょとしか答えられなかったのですが、今年はやります! 12/1から12/25まで、日替わりでグリーのエンジニアがブログを更新していきます。 社内で声をかけたら、皆さん乗り気で、カレンダーがどんどん埋まっていきました! テーマは、何でもいいかと思っていたのですが、某所から「GREEを支える技術」でしょ、と、声が上がったので、皆さんに技術的なうんちくを語っていただくこととなりました(聞き覚えのあるテーマですが、そこはご愛嬌で…)。 なお、カトリックのエンジニアから、「Advent Calendar は、カトリックで大

    GREE Advent Calendar 2013 開催! | GREE Engineering
  • git による分散作業パターン | GREE Engineering

    分散バージョン管理を華麗に扱いたい堀口です。 GREE Advent calendar 2013 の 14 日目として参加させていただきます。 お二人に続き Haskell の話をしようかと思ったのですが、急遽無難な開発の話に変更しました :o JavaC++ には OOP の概念が必要であったように、分散作業の認識が薄いまま git や Mercurial を使うことは長期的に不幸をもたらします。 とあるプロジェクトにて、その一部を副産物のミドルウェアとして抽出すべく、アプリケーションと分離したい 不具合があったので原因を探りたいが、依存関係が複雑すぎるのでコードを読む量を減らしたい テストやレビュー、提案、リファクタの運用を強化したい よそのプロジェクトに迷惑を掛けないように、そこのツールを改良して使いたい。 いままで何気なく「こんなもんだろう」と思って手間をかけていませんでした

    git による分散作業パターン | GREE Engineering
  • 開発ワークフローを、いつどう変えるか | GREE Engineering

    こんにちは、岡崎 @watermintです。 このエントリは GREE Advent Calendar 2013の記事です。この記事は5日目の記事です。 今日はGREE Tech Talk #04 スマートフォン時代のソフトウエアテストが弊社セミナールームで行われます。岡崎は「Jenkinsによるテスト自動化の会社への導入」というパネルディスカッションに参加させていただきます。パネルディスカッションの内容がどうなるかは会場の皆様からのご質問などによって変わっていくと思いますが、今日の記事では開発ワークフローについての考えを紹介します。 開発プロセスをなぜ変えるのか 開発プロセスを変えようとするモチベーションはいくつかあると思います。組織規模、ビジネスモデルなどによって多少諸条件は違うとしても大まかには次のような目標を達成することがモチベーションになるでしょう。 開発メンバーが変わっても対応

    開発ワークフローを、いつどう変えるか | GREE Engineering
    tarchan
    tarchan 2013/12/06
    >関係者の人数に対してO(n log n)程度のオーダーで労力が増加する
  • PNG軽量化の減色と圧縮について | GREE Engineering

    このテーブルの番号は 1 Byte になっているため、0-255 の 256 個しか登録できません。そのため、画像で使用されている色が 256 個より多い場合は、なんとかして 256 個にしなくてはいけません。 この「なんとかして 256 色にする」というのが減色処理で、なるべく元の画像からの変化を分からないようにしながら色を減らしていくためのアルゴリズム実装です。(この記事では減色アルゴリズムについての説明は省略します。) テーブルを作成したら、画像のそれぞれのピクセルを RGB 形式からテーブルの何番目の色を使うかに置き換えます。 上図のように、1 ピクセルあたり 24bit 必要だった画像が 1 ピクセルあたり 8bit になったので、データサイズは大体 1/3 になります。 (パレットのデータに最大 3 Byte * 256 = 768 Byte 必要とか、同じように圧縮されないと

    PNG軽量化の減色と圧縮について | GREE Engineering
    tarchan
    tarchan 2012/11/06
    >PNG の最適化ソフトウェアでは複雑な組み合わせを網羅的に試行し、一番小さくなるものを採用しています。
  • ImageMagick 改造入門 (その壱) GIFアニメーション | GREE Engineering

    こんにちは。ミドルウェア開発チームのよやです。 今回は、ImageMagick についてお話します。 http://www.imagemagick.org/ ImageMagick は高機能で大変便利な画像処理ツールです。弊社でも利用させて頂いていますが、稀に実サービスにそのまま適用出来ないケースがあります。 そこで、困った時に ImageMagick 自体を改造する際のポイントと、実際の応用例をご紹介します。 ImageMagick のプログラム構造 ImageMagick のプログラムは主に以下のディレクトリに分かれます。(Magick+ ディレクトリ等幾つかは割愛します) utilities/<コマンド名>.c コマンドラインツールの起点(main 関数) wand/〜.c (コマンド共通処理とコマンド毎の処理、Wand API) magick/〜.c (機能モジュール、ユーティリテ

    ImageMagick 改造入門 (その壱) GIFアニメーション | GREE Engineering
  • 1時間で携帯サイトをスマートフォン対応にする方法 | GREE Engineering

    初めての投稿となります。エンジニアのmatsuです。 携帯向けウェブサイトを1時間でスマートフォン対応する方法を紹介します。 概要 2011年4月7日のニュースにて携帯電話の新規契約数のうち、スマートフォンが占める割合が50%を越え、スマートフォンが格的に普及する兆しが見えてきました。 現在、スマートフォン向けサイトを新規構築するためのチュートリアルは数多く出ていますが、既存の携帯サイトをスマートフォンに最適化する方法があまり紹介されていないのでこの記事で紹介したいと思います。 このチュートリアルを行うと以下のようになります。 実装 全部で8ステップあります。 このチュートリアルではブログのトップページを例にとって説明します。 前半では文字コードの変更、HTMLの変更といった構造を変更します。後半では絵文字や文字スタイルを行い、仕上げとしてHTML5のバリデーションを行っていきます。最初

    1時間で携帯サイトをスマートフォン対応にする方法 | GREE Engineering
  • GREE Engineering

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

    GREE Engineering
  • GREE Engineering

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

    GREE Engineering
  • DNS サーバ PrimDNS オープンソース公開のお知らせ | GREE Engineering

    こんにちは。インフラチームの ebisawa です。 独自に実装した DNS コンテンツサーバ PrimDNS をオープンソースとして公開させて頂きましたのでお知らせいたします。ご興味がありましたらぜひお試しいただければと思います。 グリー内では特に何もしなくてもなぜか各サーバの名前を DNS 解決できたり、その他いろいろなサービスが提供されています。今回公開させていただいた PrimDNS は、もともとグリーのインフラ内で利用されているものをベースに、一般の利用に向けてアレンジしたものです。 公開先はこちら → http://labs.gree.jp/Top/OpenSource/PrimDNS.html なぜ DNS DNS には、かつてより超定番の実装が存在しますが、何らかの理由でもっと他の選択肢もあるといいのに、と思われたことはないでしょうか。 特に DNS のようなインターネット

    DNS サーバ PrimDNS オープンソース公開のお知らせ | GREE Engineering
  • 多人数開発で Git を使う場合の環境構築 | GREE Engineering

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

    多人数開発で Git を使う場合の環境構築 | GREE Engineering
  • GREE Engineering

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

    GREE Engineering
  • グリーの開発環境(歴史と概要) | GREE Engineering

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

    グリーの開発環境(歴史と概要) | GREE Engineering
  • 1