タグ

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

  • GREEのUserAgent比率を公開します(2014/07) | GREE Engineering

    このアイコン使い始めてそろそろ7年になります。ago(@kyo_ago)です。 今月もGREEを利用して頂いているクライアントのUA比率を公開します。 グラフは以下のデータを元に作成しています。 { "os": { "Android": 66.3, "iOS": 33.7 }, "version": { "Android": [ { "percent": 37.1, "name": "4.2" }, { "percent": 21.1, "name": "4.0" }, { "percent": 20.3, "name": "4.1" }, { "percent": 13.6, "name": "2.3" }, { "percent": 4.3, "name": "4.3" }, { "percent": 3.6, "name": "other" } ], "iOS": [ { "perc

    GREEのUserAgent比率を公開します(2014/07) | GREE Engineering
  • グリー新卒研修2014 ふりかえり | GREE Engineering

    はじめまして、開発企画室の三木です。グリーではエンジニアの採用・教育・PR等、バックオフィス周りを色々と担当させて頂いています。 今回は、今年の4月に晴れてグリーに入社した新卒たちが技術研修を終了し各チームに旅立っていきましたので、年度の技術研修を振り返り、どんな内容だったのかざっくりとご紹介したいと思います。 超今更感はありますが(もはや夏ですね・・・)、最後までお付き合いください。 はじめに グリーでは新卒が入社すると(職種にかかわらず)約半月の導入研修を最初に受講します。ここでは社会人としてのマインドセット、ビジネススキルを身に付けるために、ビジネスマナー、チーム単位でのグループワーク課題などを一通り行います。 その後に技術研修がスタートするのですが、年度は以下3つのラインナップで実施しました。 GREE BootCamp(エンジニア共通技術研修) プログラミング基礎研修(企画職

    グリー新卒研修2014 ふりかえり | GREE Engineering
  • インフラ開発合宿を6月20(金)・21(土)に開催しました | GREE Engineering

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

    インフラ開発合宿を6月20(金)・21(土)に開催しました | GREE Engineering
  • 天下一InfluxDB勉強会開催してきました | GREE Engineering

    こんにちは。ちょびえです。先日6/27(金)にDeNAさん会場にて天下一InfluxDB勉強会を開催してきました。当日はあいにくの悪天候ながら参加いただき有難うございました。また、会場を快く提供していただきましたDeNAさんに感謝申し上げます。 天下一InfluxDB勉強会 イベントページ きっかけはanatooのtweetにより始まりました 天下一influxdb勉強会の開催が待たれる — anatoo (@anatoo) May 29, 2014 もともとanatooとはPHPつながりで闇PHP勉強会など企画して頂いて参加させていただいていたのですが、今回は二人共InfluxDBに興味があるよね!ってことでInfluxDBの勉強会を企画・開催してきました。 記事では天下一InfluxDB勉強会のレポートまとめ、という事で資料+動画を簡単にまとめておこうかと思います。@sonotsさん

    天下一InfluxDB勉強会開催してきました | GREE Engineering
  • Behavior TreeによるUnity上でのUIフローコントロール | GREE Engineering

    Wright Flyer Studiosでゲーム開発を行っている久富木隆一(@ryukbk)といいます。 記事では、 - 代表的なUnityアセットPlayMaker - 2014年初頭にリリースされたUnityアセットBehavior Designer の紹介と、利用例を通じ、Unityと、Unityアセット利用のメリットについてまとめてゆきます。 Unityをまだ使っていない方、あるいは使い始めたもののどんな作法に則って使うべきか探っている方にお勧めの内容です。 Unityって 最早普及しすぎて説明不要とも思われるUnityですが、始めに、私から見てUnityとは何か、という視点をお伝えします。Unityそのものは利用者によって全く異なる用途に使われうるミドルウェアであり媒体であるからです。 私にとってのUnityとは、まずもって、スマートフォン上での代表的RAD(Rapid App

    Behavior TreeによるUnity上でのUIフローコントロール | GREE Engineering
  • 柔軟な IT インフラとそれを支える技術 | GREE Engineering

    こんにちは、インフラストラクチャ部の大山裕泰です。最近話題の WhiteBox スイッチと、そのミドルウェアについてお話したいと思います。 柔軟な IT インフラを目指して 我々に限らず IT インフラに携わるエンジニアにとって、アプリケーションレイヤの人たちが望むアプリケーション実行環境の構築・運用は主要な目標の一つかと思います。 アプリケーション実行環境の形態は様々ですが、突き詰めてゆくと物理的なネットワーク機器に Ethernet ケーブルで接続された物理サーバの集合になります。やや管理的な話になりますが、こうした物理機器は減価償却してゆくので、これが終了するあるいはサポートが切れるまでの 4~5 年の期間、同じ機器を使い続けることになりますので、機器の選定においては長い目で見る必要があります。 これに対して、アプリケーションやアプリケーションを取り巻く環境は日々目まぐるしい速度で

    柔軟な IT インフラとそれを支える技術 | GREE Engineering
  • GREEのUserAgent比率を公開します(2014/06) | GREE Engineering

    人をダメにするソファとゴロ寝deスクを買ってしまったago(@kyo_ago)です。 これから定期的にGREEを利用して頂いているクライアントのUA比率を公開していきたいと思います。 OS Android iOS グラフは以下のデータを元に作成しています。 { "os":{ "Android":66.4, "iOS":33.5 }, "version":{ "Android":[ { "percent":35.8, "name":"4.2" }, { "percent":22.3, "name":"4.0" }, { "percent":21, "name":"4.1" }, { "percent":14.7, "name":"2.3" }, { "percent":4.2, "name":"4.3" }, { "percent":2, "name":"other" } ], "iOS":

    GREEのUserAgent比率を公開します(2014/06) | GREE Engineering
  • HTTP2を試してみる | GREE Engineering

    初めまして、インフラストラクチャ部の後藤です。普段はChefを用いたサーバの自動構築環境の開発に従事しております。 今回は、近頃若者の間でも話題になっているHTTP2についてお話したいと思います。 2012年の末頃、HTTP1.1のセマンティクスを維持したままパフォーマンスを改善するという目的でHTTP2の仕様策定が開始されました。そんなHTTP2もワーキンググループ・ラストコールに向けて大詰めを迎えています。 現在最新版はdraft12となっており、すでに幾つかの実装が存在しています。HTTP2のwikiで確認できます。例えば、Google ChromeのCanaryビルドやFirefox Nightlyビルド では既にHTTP2が使用可能です。 またサービスとしては、twitter.com が対応しています。 HTTP2の特徴 HTTP2はGoogleの考案したSPDYと言うプロトコ

    HTTP2を試してみる | GREE Engineering
  • GREE Tech Talk #05 ご来場ありがとうございました | GREE Engineering

    こんにちは。開発企画室の佐島です。 はじめに 5月14日(水)、グリー主催の技術勉強会GREE Tech Talkが開催されました。 5回目となる今回のテーマは「並行/並列プログラミング」。 少々マニアックなテーマで集客に不安があったものの、結果的に200名近い技術者の方々にご来場頂くことができました。 お忙しい中お越し頂いたみなさま、当にありがとうございました。 セッション概要 当日行われたセッションについて簡単にご紹介させていただきます 冒頭、弊社CTOのふじもとがご来場頂いたみなさまに並行、並列、分散プログラミングがテーマになっている「プログラミングの魔導書 Vol.3」を持っているかどうか聞いたところ、半数ぐらいの方がお持ちでした。 残り半数の人達に売れるチャンス!というのは今回の目的ではありませんが、来場者の関心の高さが伺えたところでセッションがスタートしました。 『ここから始

    GREE Tech Talk #05 ご来場ありがとうございました | GREE Engineering
  • 「エンジニア100人に聞きました」〜新人エンジニアにお勧めする一冊編〜 | GREE Engineering

    (自由回答なので)ある程度結果は予想出来ていたとは言え見事にばらけました。知らないも多かったので調べてみたのですが面白そうなものばかりで、新人向けかどうかは別として良書が集まっているなぁと思いました。 しかしお勧めする理由の中に「b. 自分が新人のとき、先輩から勧められたから。」が一つもないというのが何とも香ばしい結果というか、今回は勧める側なので自分は良いと思って勧めているわけで、けど勧められた方は何年後かにそのを勧めてくれな (ry Q3:(Q1で挙げた一冊)それ以外に、お勧めのがあれば教えてください。 どーんと列挙します。 3名推薦 『CODE COMPLETE 第2版 上』 『CODE COMPLETE 第2版 下』 2名推薦 結城 浩 (著) 増補改訂版Java言語で学ぶデザインパターン入門 すごいHaskellたのしく学ぼう 人を動かす 1名推薦 7つの言語 7つの世界

    「エンジニア100人に聞きました」〜新人エンジニアにお勧めする一冊編〜 | 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
  • Mavenで結合テストを自動化する方法 | GREE Engineering

    こんにちは、九岡です。 Javaエンジニアのみなさん、結合テストの自動化してますか?! この記事では、 結合テストとは何か 筆者は何のために行っているのか それをMavenで自動化する方法 をご紹介します。 用途が知られていたりいなかったり、単体テストに比べると情報が少なかったり、より多くのMavenプラグインを使うことになりがちで手間がかかる「結合テストの自動化」。 「まだやってない」という方は、この記事をとっかかりにしていただけるとうれしいです! 対象 この記事は特に以下のような方におすすめです。 JavaやMavenを利用してアプリケーション開発を行っている方 テスト自動化をはじめて行う方 単体テストは自動化しているが、結合テストはまだ自動化していないという方 自分でMavenのビルド設定ができるようになりたい方 既にJavaプロジェクトで結合テストを自動化している方にとっては目新し

    Mavenで結合テストを自動化する方法 | GREE Engineering
  • レガシーなプロダクトにテストで向き合う話 | GREE Engineering

    はじめまして。荻原といいます。グリーのプラットフォーム部門で、サーバーサイドのエンジニアをしています。 昨年末ぐらいまで業務の空き時間にテスト周りでごにょごにょと動いていたので、今日はそのことについて書かせて頂きます。 こんな人は読むと役に立つかもしれません。 レガシーなプロダクトになんとかして突破口を開きたい PHPUnit の書き方で参考になりそうなものを探している Ruby でスマートフォンのブラウザ操作を自動化したい 経緯 こちらでも言及されている通り、サービスを運営している以上、時には技術的負債に向き合わなければなりません。GREE歴史が長いプロダクトなので、日々コードをリリースしていく中でそういった問題に頭を抱える場面もありました。 技術的負債による副作用はたくさんありますが、どういう点に不安を感じていたのか、実際に開発の現場に立って感じたことをいくつか書いてみたいと思います

    レガシーなプロダクトにテストで向き合う話 | GREE Engineering
  • SWFバイナリ編集のススメ番外編 (zlib 伸張) 中編 | GREE Engineering

    よやと申します。こんにちわ。 今回は zlib 解説の中編です。前編はこちら ↓ http://labs.gree.jp/blog/2012/01/4082/ SWFバイナリ編集のススメ番外編 (zlib 伸張) 前編 前回、zlib ヘッダのバイナリを解説しました。今回はその後ろに続く Deflateストリームのバイナリ構造についてです。 尚、固定ハフマンまでの説明で長くなり過ぎたので、動的ハフマン(カスタムハフマン)は次回の後編で改めて解説いたします。 前回の復習 zlib は「zlib ヘッダ + Deflate ストリーム + ADLER32」のデータ形式です。尚、通常、zlib ヘッダ無しでも Deflate ストリームだけで圧縮元のデータを復元出来ます。(DICTID が存在すると話が少し厄介ですが、通常見かける事はないでしょう) Deflate はデータを任意の長さのブロック

    SWFバイナリ編集のススメ番外編 (zlib 伸張) 中編 | GREE Engineering
  • JIRAを使った社内向けの通知機能の構築 | GREE Engineering

    こんにちは。ちょびえです。 今日はPHPの記事を、と思ったんですがたまには趣向を変えてカスタマーサポート(CS)チームやQAチームとの連携周りの話しでも書いてみようかな、と思います。 弊社ではカスタマーサポートチーム、QAチーム、開発者が協力して行うオペレーションに関してはAtlassian社のJIRAというプロジェクト管理システムを利用しています。JIRAはプラグインによる柔軟な拡張や、JIRA Query Language(JQL)をつかったデータの選択も行えるのでとても便利なツールで、日々作成されるチケットはJIRAを使ってトラッキング、集計が行えるようになっております。 どのようにJIRAを使って複数チームと連携しているか、特に通知周りの部分について開発者視点で簡単に説明してみます。 チーム間連携ツールとしてのJIRA 一般的なWebサービスゲームなどを自社で提供・運営していく場

    JIRAを使った社内向けの通知機能の構築 | GREE Engineering
  • CTOとはなんなのか、あるいはエンジニアの生存戦略 | GREE Engineering

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

    CTOとはなんなのか、あるいはエンジニアの生存戦略 | GREE Engineering
  • 過去をふり返るためのしくみ (主に MySQL) | GREE Engineering

    どうも、いちい (@ichii386) です。 GREE Advent Calendar 2013 の 24 日目です。 もうクリスマスですね。もしかしたらプレゼントを買わなきゃいけないのに何も準備してなくて、今日は仕事終わったら急いで買いに行かなきゃ、なんて焦っている人もいるかもしれません。 去年のクリスマスは? 去年は何買ったんだったかな、と思い返し、 20日に給料とボーナスが出たので、予算はいくらくらいだった 相手はちょうど引っ越したので、部屋にモノが少なかった なんてとこから「あー、ペンダントライトをプレゼントしたんだったな」とか思い出します。しかし去年はちょっと高かった割にあまり喜んでもらえなかったし、今年はボーナスが減ったのでできたら予算は減らしたいです。(※完全に架空の話なんでご注意ください) 今年を改善するためにも、まずは去年をふり返ることが重要です。プレゼントを決めるには

    過去をふり返るためのしくみ (主に MySQL) | GREE Engineering
  • グリーのインフラに Chef を導入した話 | GREE Engineering

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

    グリーのインフラに Chef を導入した話 | GREE Engineering
  • Trema で OpenFlow ネットワークプログラミング | GREE Engineering

    こんにちは、インフラストラクチャ部の大山です。 このエントリはGREE Advent Calendar 2013 22日目の記事です。 はじめに "ネットワークプログラミング" という言葉は、恐らくシステム屋さんにとって TCP/UDP あるいは IP といった L4, L3 の世界のプログラミングを想起させるのではないかと思います。ですが OpenFlow によって、そのレイヤが一気に L1 まで落ちました。つまり Layer-1 (物理層)までがプログラマブルに扱える領域になったということです。 これは主に Ethernet と IP に限定されるものの、従来 L1 から L3 の領域はネットワーク屋さんの領分で L4 以上がシステム屋さん、あるいはアプリケーション屋さんの領分という暗黙の了解を OpenFlow が無くしてしまいました。 今日は OpenFlow ネットワークを制御

    Trema で OpenFlow ネットワークプログラミング | GREE Engineering
  • 入門 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