タグ

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

  • 英語弱者が行く初めての re:Invent | GREE Engineering

    概要 インフラエンジニアのほりぐちです。 グリーのエンジニアとしてはおそらく最大の11名もの人数で海外カンファレンスに参加してきました。日曜に出発し翌日曜に解散するという日程で、全員が終日自由行動になり連絡も1日に1回程度という状態でした。イベントや事でのみ合流し軽く情報交換して、またその場で自由に行動していました。個人的な英語力がほぼなくても意外と楽しめたので海外カンファレンスの参加の参考になればと思います。 日程 http://reinvent.awseventsjapan.com/agenda/ 会期は日曜~金曜までありますが、初日は登録と Midnight Madness という事前パーティーのみ、金曜日は午前中のみなのでセッションがあるのは四日半です。我々のグループは日曜夜に到着し、土曜朝に帰る日程だったので、急いで登録をすませば初日 Midnight Madness に参加し

    英語弱者が行く初めての re:Invent | GREE Engineering
  • Jenkinsfile、書いてますか? | GREE Engineering

    インフラの駒崎です。Jenkins の Pipeline スクリプトについてのお話です。 早速ですが Jenkins の Pipeline スクリプト、使われていますでしょうか。 もしかしたら以前ちょっと書いていたけどやめてしまったとか、従来の GUI 設定のほうが楽だ、となんとなく敬遠してしまっている方もいるのではないでしょうか。 私が実際そうだったのですが、最近になってやっと Jenkinsfile - Pipeline スクリプトが身近に感じられてきましたので、現状の簡単なまとめを書いてみたいと思います。少しでも似た状況の方へのヒントやきっかけになれば幸いです。 Pipeline スクリプトは難しい? 私は正直、2016年に Jenkins 2 の目玉機能として Pipeline が出た当初は、とっつきにくい…わからん…と思っておりました。Jenkins を上っ面でなんとなく使ってい

    Jenkinsfile、書いてますか? | GREE Engineering
  • DC内通信のHTTP/2化を検討する | GREE Engineering

    こんにちは、インフラストラクチャ部の後藤です。 懲りずにHTTP/2の記事です。 HTTP/2を実サービスに投入するのには様々な障壁があり、議論が足りてない部分だと感じています。 サイトのHTTPS化 TLS ALPN, TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 サポート モニタリング・監視 Dependency Based PriorityとRUM コネクションの生存時間が長く、運用上のDNSを用いたサーバ切り替えと相性が悪い(GOAWAY出せるものもあるが) ELBを使用している場合はTCPで利用する必要がある そもそもL7ネットワーク機器が対応していないという場合もあるかとおもいます。 そこで、今回は比較的容易なDC内のHTTP通信をHTTP/2化することを考えます。 DC内HTTP通信のHTTP/2化 DC内でサーバ間のHTTP/2通信であれば、h

    DC内通信のHTTP/2化を検討する | GREE Engineering
  • VR 酔い対策の事例 | GREE Engineering

    このエントリーは GREE Advent Calendar 2015  5日目の記事です。 はじめに こんにちは、GREE VR Studio の Robin です。元々 Wright Flyer Studios でスマートフォン向けネイティブゲームの開発をしていましたが、同僚に見せていただいた VR ゲームに度肝を抜かれたのをきっかけに VR に興味を持つようになり、現在は新設された VR 専属チームに所属しています。 開発面では、TGS2015 展示用の「サラと毒蛇の王冠 (Win + Oculus Rift DK2)」、及びハコスコ・Google Cardboard 等のスマートフォン用 VR Viewer 向けの「シドニーとあやつり王の墓 (iOS・Android)」に参加しました。開発は Unity で行っています。 VR ゲームの分野は非常に新しく、ノウハウがまだ蓄積されていま

    VR 酔い対策の事例 | GREE Engineering
  • Githubのsubversionサポートが神 | GREE Engineering

    ちょびえです。Githubのsvnサポートが神なことに最近きがついたのでカッとなってエントリでも書いてみました。 きっとこの便利さはあんまり言及されてないはず(ワタシだけが知らんかった、とかだったらほんとすいません) https://help.github.com/articles/support-for-subversion-clients/ Githubでは上のページに書いてある通りsubversion clientのサポートもしております。 なんで今さらsubversion?という感じもする方もいらっしゃるかと思いますが。 これ、svnなので当然ディレクトリ個別にチェックアウトできるのですよね・・・・ たとえば、こんなふうにやると svn co https://github.com/chobie/flatbuffers/trunk/php flatbuffers-php A flat

    Githubのsubversionサポートが神 | GREE Engineering
  • EthernetやCPUなどの話 | GREE Engineering

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

    EthernetやCPUなどの話 | GREE Engineering
  • YAPC::Asia Tokyo 2015にいってきました | GREE Engineering

    ひさびさの投稿がイベントいってきましたエントリになりました、ふじもと (@masaki_fujimoto) です。 ということで、sponsoredしたらチケットをいただいたのもあって (いやそんな、してなくても多分いってたと思いますが)、21-22日に参加させていただきました。blogを書くまでがYAPCって1日で10回くらい聞いたので、もはやただの個人の感想文ですが、会社のblogのっとってつらつら感想かきます! よくわかるYAPCのまとめ 全体的なまとめがあちこちにあるので、もうすでに目を通されてるかたも多いかなーと思いますが、いちおリンクしてみます: YAPC::Asia Tokyo 2015 感想エントリまとめ YAPC::Asia Tokyo 2015 スペシャルレポート YAPC::Asia Tokyo 2015 #yapcasia 全セッション総まとめ さいしょにアピール:

    YAPC::Asia Tokyo 2015にいってきました | GREE Engineering
  • オンラインゲーム開発のいにしえの技術 | GREE Engineering

    開発部の堀口です。昨年は git による分散作業パターン を書き、つい先月は 札幌での講演 を行い、当文章ではゲーム開発の設計に関するネタです。 昔話交じりのポエムですが20日目としてよろしくお願いします。 オンラインゲームとは 20 年ちかく前に Quake というゲームがリリースされ、一見すると単なる一人称視点のシューティングゲームにしか見えないが、プレイヤー自身の Quake の世界を公開し、来場者と遊ぶことができた。当時でいえば、自分のホームページに CGI 掲示板を設置するのと似ていたと思う。 Quake は、ゲーム世界のふるまいと世界の変化を伝える入出力が非常に良く分離されており、参加するプレイヤーはその世界の中に現れた自分の分身となるアバターの行動のみを制御し、アバターの目の代わりに世界の変化を、わずかな情報にしてプレイヤーに伝えた。プレイヤーの目の前にある端末では、その情

    オンラインゲーム開発のいにしえの技術 | GREE Engineering
  • オーケストレーション入門 - 多種多様化するサービスをConsulで連携させる | GREE Engineering

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

    オーケストレーション入門 - 多種多様化するサービスをConsulで連携させる | GREE Engineering
  • MySQLユーザーのためのMySQLプロトコル入門 | GREE Engineering

    さいきんMySQLユーザーのためのほげほげ、みたいなのが巷で流行しているようなので暇つぶしがてらに読んでいるMySQLプロトコルについて書いてみようかと思います。 いやまぁ、こういうプロトコルが読めるからといってすごく役立つということは全くないんですが、お酒の席のネタにできたり、高速、簡単、無料で試せるRDS MySQLからRedshiftへのデータ同期に出てくるようなreplicationをいじったツールとかのメンテが容易にできるかもしれなかったり、俺mysqldだぜ、みたいな事ができたり、なんかよくわからないけどちょっとハッピーになれそうですね! 今日は手始めにMySQLmysql clientがどういう通信をしているのか見ていき、実際にInitial Handshake Packetをparseしてみるところまでをやってみます。 Max OSXでのセットアップ 普段homebrew

    MySQLユーザーのためのMySQLプロトコル入門 | GREE Engineering
  • よくわかるLinux帯域制限 | GREE Engineering

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

    よくわかるLinux帯域制限 | GREE Engineering
  • GREE Tech Talk #06 ご来場ありがとうございました | GREE Engineering

    こんにちは。開発企画室の佐島です。 はじめに 9月24日(水)、グリー主催の技術勉強会GREE Tech Talkが開催されました。 6回目となる今回のテーマは「Practical Go」。 言語をテーマにしたのは今回が初めてでしたが、言語そのものを学ぶというよりも実際の開発や運用で出会った問題を取り扱うという「実践的」な内容でしたので、いつものGREE Tech Talkと同じ感じだったのではないかと思います。 天候の悪い中お越し頂いたみなさま、当にありがとうございました。 セッション概要 当日行われたセッションの模様をダイジェストでお届けします。 『Lessons Learned While Writing "peco"』牧 大輔(LINE株式会社) 最初にご登壇頂いたのはpecoの開発者であり、上位3%のアクティブGoユーザ牧大輔さん(@lestrrat)によるpeco開発で得られ

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

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

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

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

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

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

    レガシーなプロダクトにテストで向き合う話 | GREE Engineering
  • CTOとはなんなのか、あるいはエンジニアの生存戦略 | GREE Engineering

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

    CTOとはなんなのか、あるいはエンジニアの生存戦略 | GREE Engineering
  • グリーのインフラに Chef を導入した話 | GREE Engineering

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

    グリーのインフラに Chef を導入した話 | GREE Engineering
  • クライアントサイドJavaScriptのライセンス管理 | GREE Engineering

    最近シリコンウエハーもらって嬉しかったago(@kyo_ago)です。 このエントリはGREE Advent Calendar 2013 11日目の記事です。 今回はクライアントサイドJavaScriptにおけるライセンス管理の問題を取り上げたいと思います。 ライセンス管理の問題点 「使用しているライブラリのライセンス管理をどうするか」はクライアントサイドJavaScriptにかぎらず発生する問題ですが、クライアントサイドJavaScriptには以下の様な特徴があるため問題が複雑になります。 コードが結合、圧縮される場合がある クライアントサイドJavaScriptでは読み込みの速度を上げるため、使用しているライブラリの結合、圧縮を行うことがあります。しかし、この時誤ってライセンス文が捨てられてしまうことがあります。 ソースが外部に公開される クライアントサイドJavaScriptではソー

    クライアントサイドJavaScriptのライセンス管理 | GREE Engineering