タグ

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

  • 64bit環境におけるObjective-Cのポインタ | GREE Engineering

    はじめに こんにちは、GREE Platform部の柳村(@yana_3)です。 iOSエンジニアのみなさまにおかれましてはXcode6以降の使用と64bit対応が必須になりますが、対応すすんでいますか? 64-bit and iOS 8 Requirements for New Apps 64-bit and iOS 8 Requirements for App Updates GREE Platformでは、64bit対応の検証をする中でポインタ周りでJSONKit1がクラッシュするという事態が発生し、そこから64bit時のポインタについて調べたのですが、 あまりこの内容に関して詳しく記載されているところがなかったようなので共有したいと思います。 ただ普通にiOSで開発するぶんには全く役に立たない内容になっておりますのであらかじめご了承くださいmm 調べるきっかけ 64bit環境でのみ

    64bit環境におけるObjective-Cのポインタ | GREE Engineering
    kasumani
    kasumani 2015/01/20
    64bit環境におけるObjective-Cのポインタ iOSエンジニアのみなさまにおかれましてはXcode6以降の使用と64bit対応が必須になりますが、対応すすんでいますか? Tags: from Pocket January 20, 2015 at 02:56PM via IFTTT
  • グリーを支える通知システム | GREE Engineering

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

    グリーを支える通知システム | GREE Engineering
    kasumani
    kasumani 2014/12/24
    グリーを支える通知システム このエントリは GREE Advent Calendar 2014 24日目の記事です。 こんにちは、インフラストラクチャ本部の高野(@takano32)です。 いつも社内では GitHub:Enterprise の運用、 デプロイの改善、 大規模なインフ
  • (OpenStack juno) ホストスケジューラの仕組み | GREE Engineering

    はじめに こんにちは。『GREE Advent Calendar 2014』の 23 日目の記事を担当しますインフラストラクチャ部開発部の大山です。昨年の AdventCalendar で OpenFlow コントローラ Trema について書き、少し前には WhiteBox について の記事を書いてみたりとし、最近はずっと OpenStack の構築と運用を行っています。 OpenStack は AWSGoogle Cloud, Microsoft Azure といったものに代表されるような IaaS クラウド基盤環境を実現する OSS として知られ、ヤフーや楽天といった大手サービスプロバイダや、GMO インターネットといったクラウドホスティングサービスを提供する会社などで採用されています。また、ニーズの増加や OpenStack の機能面・実績面での強化に伴い、今後ますます利用

    (OpenStack juno) ホストスケジューラの仕組み | GREE Engineering
    kasumani
    kasumani 2014/12/23
    (OpenStack juno) ホストスケジューラの仕組み はじめに  こんにちは。『GREE Advent Calendar 2014』の 23 日目の記事を担当しますインフラストラクチャ本部開発部の大山です。昨年の AdventCalendar で OpenFlow コントローラ Trema について
  • オンラインゲーム開発のいにしえの技術 | GREE Engineering

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

    オンラインゲーム開発のいにしえの技術 | GREE Engineering
    kasumani
    kasumani 2014/12/21
    オンラインゲーム開発のいにしえの技術 開発本部の堀口です。昨年は git による分散作業パターン を書き、つい先月は 札幌での講演 を行い、当文章ではゲーム開発の設計に関するネタです。 昔話交じりのポエムですが2
  • オーケストレーション入門 - 多種多様化するサービスをConsulで連携させる | GREE Engineering

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

    オーケストレーション入門 - 多種多様化するサービスをConsulで連携させる | GREE Engineering
    kasumani
    kasumani 2014/12/20
    オーケストレーション入門 – 多種多様化するサービスをConsulで連携させる こんにちは、インフラストラクチャ本部のあだち(@foostan)です。 このエントリは GREE Advent Calendar 2014 19日目の記事です。昨日はにしだ(@hosi_mo)さんに
  • ネイティブゲームクライアントの幸せな設計図 | GREE Engineering

    こんにちは。Wright Flyer Studios部のにしだ(@hosi_mo)です。 部内で、主にcocos2d-xやUnityゲームクライアントの開発をしています。 GREE Advent Calendar 2014の18日目は、 ネイティブゲームクライアントの幸せな設計図という題でお話しします。 Wright  Flyer Studiosで開発するにあたり、 早く、安全に、見通しの良い実装で企画者の実現したいことを具現化するために、気をつけていることをお話しできればと思います。 1 : 後悔しない技術選定 cocos2d-xはC++で…、UnityはC#! と対比させられがちですが、技術選定時点でのエンジニア自身の言語習得能力によって選択肢を狭めることほど悲しいことはないので、純粋に企画との相性とパフォーマンス(チューニングで苦労したくない)で決めます。 また、エンジニアリングを

    ネイティブゲームクライアントの幸せな設計図 | GREE Engineering
    kasumani
    kasumani 2014/12/18
    ネイティブゲームクライアントの幸せな設計図 Wright  Flyer Studiosで開発するにあたり、 早く、安全に、見通しの良い実装で企画者の実現したいことを具現化するために、気をつけていることをお話しできればと思います。 Ta
  • 初めてのHTTP/2サーバプッシュ | GREE Engineering

    前回はWebサイトをHTTP/2に対応するためにリバースプロキシを検証した記事を書かせていただきました(HTTP2を試してみる)。 あれから幾つかの議論を経てHTTP/2の仕様も大分安定してきており、HTTP/2を実装したクライアントや実験的にHTTP/2を有効にしているサービスもあるので実際に試すことも出来ます。 そこで今回は応用編としてHTTP/2のサーバプッシュについて、その仕組と実際に試したことについて書かせていただきます。 余談ですが、 現在の仕様では "HTTP2.0" ではなく "HTTP/2" もしくは "HTTP2" が正しい名称になります。 HTTP/2概要 まず、軽くHTTP/2の概要に触れておきます。 HTTP/2は2012年の末頃より、HTTP/1のセマンティクスを維持したままパフォーマンスを改善する目的で議論が開始されました。 Googleの考案したSPDYと言

    初めてのHTTP/2サーバプッシュ | GREE Engineering
    kasumani
    kasumani 2014/12/15
    初めてのHTTP/2サーバプッシュ あれから幾つかの議論を経てHTTP/2の仕様も大分安定してきており、HTTP/2を実装したクライアントや実験的にHTTP/2を有効にしているサービスもあるので実際に試すことも出来ます。 Tags: feedly, ifttt
  • JMeterとJUnitとMavenで独自プロトコルサーバーの負荷テストを自動化するぞ | GREE Engineering

    こんにちは、インフラストラクチャ部の@nagaseyasuhitoです。このエントリは GREE Advent Calendar 2014 10日目の記事です。昨日はイケメンmoritaさんによる男性エンジニアリングマネージャが長期育休を取った話でした。 エンジニアブログのアカウントは2年くらい前からあるのですが、これが初エントリになります。グリーでは比較的珍しいJavaEEを始めとしたサーバーサイドJavaアプリケーションの開発、SolrやHadoopといったミドルウェアの周辺機能開発や運用などを行っています。どうぞよろしくお願いします。 最近はPvE/PvP/GvGなどユーザー同士がリアルタイムに協調プレイする際、クライアント-サーバー間を常時接続通信で行うゲームが増加しています。このような場合はHTTPのREST APIなど慣れ親しんだプロトコルでは要件を満たしきれないため、Web

    JMeterとJUnitとMavenで独自プロトコルサーバーの負荷テストを自動化するぞ | GREE Engineering
    kasumani
    kasumani 2014/12/10
    JMeterとJUnitとMavenで独自プロトコルサーバーの負荷テストを自動化するぞ こんにちは、インフラストラクチャ本部の@nagaseyasuhitoです。このエントリは GREE Advent Calendar 2014 10日目の記事です。昨日はイケメンmoritaさんによる男
  • rejs - Vanilla JS Module Builderの紹介 | GREE Engineering

    このエントリは GREE Advent Calendar 2014 6日目の記事です。 皆さんこんにちは!Reflowしてますか? 13卒でArt部の和智(@watilde)です。業務では、GREE Platformで使われている内製 JS/CSS FrameWorkのコミッターとかしてます。 まえがき 弊社は、スマートフォンの黎明期よりブラウザ向けのアプリを開発してきました。環境の変化への追従や、度重なる機能追加でJavaScriptのコードの規模は肥大化していきました。 役割ごとにモジュール化をしてファイル分割を行わないと可読性が落ち、じわじわと保守コストが上がっていきます。しかし、古くからある秘伝のソースはAMDやCommonJSで書かれていないVanillaなJSです。r.js、Browserify、Webpack などのツールでモジュール化するにも、書き換えが大量に発生して導入す

    rejs - Vanilla JS Module Builderの紹介 | GREE Engineering
    kasumani
    kasumani 2014/12/06
    rejs – Vanilla JS Module Builderの紹介 皆さんこんにちは!Reflowしてますか? 13卒でArt部の和智(@watilde)です。業務では、GREE Platformで使われている内製 JS/CSS FrameWorkのコミッターとかしてます。 Tags: from Pocket December 06, 2014 at 04:29PM via
  • よくわかるLinux帯域制限 | GREE Engineering

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

    よくわかるLinux帯域制限 | GREE Engineering
    kasumani
    kasumani 2014/10/08
    よくわかるLinux帯域制限 みなさんはLinuxのtcという機能をご存知でしょうか。送信するパケットの帯域制御を行うことができる大変強力な機能で、グリーでもいくつかの用途で使用されています。 Tags: from Pocket October 08, 2014 at
  • 柔軟な IT インフラとそれを支える技術 | GREE Engineering

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

    柔軟な IT インフラとそれを支える技術 | GREE Engineering
    kasumani
    kasumani 2014/06/19
    柔軟な IT インフラとそれを支える技術  こんにちは、インフラストラクチャ本部の大山裕泰です。最近話題の WhiteBox スイッチと、そのミドルウェアについてお話したいと思います。 Tags: feedly, ifttt, recently read, saved for later f
  • Mavenで結合テストを自動化する方法 | GREE Engineering

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

    Mavenで結合テストを自動化する方法 | GREE Engineering
    kasumani
    kasumani 2014/03/16
    Mavenで結合テストを自動化する方法 Javaエンジニアのみなさん、結合テストの自動化してますか?! Tags: from Pocket March 16, 2014 at 01:34AM via IFTTT
  • Scalaコードでわかった気になるDDD | GREE Engineering

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

    Scalaコードでわかった気になるDDD | GREE Engineering
    kasumani
    kasumani 2014/01/26
    Scalaコードでわかった気になるDDD みなさん、こんにちは。グリーのかとじゅん(@j5ik2o)です。 このエントリは GREE Advent Calendar 2013 の 18日目の記事です。よろしくお願いします。 私がグリーに入社してやっていることは、プロ
  • JIRAを使った社内向けの通知機能の構築 | GREE Engineering

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

    JIRAを使った社内向けの通知機能の構築 | GREE Engineering
    kasumani
    kasumani 2014/01/09
    JIRAを使った社内向けの通知機能の構築 今日はPHPの記事を、と思ったんですがたまには趣向を変えてカスタマーサポート(CS)チームやQAチームとの連携周りの話しでも書いてみようかな、と思います。 Tags: from Pocket January 09,
  • CTOとはなんなのか、あるいはエンジニアの生存戦略 | GREE Engineering

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

    CTOとはなんなのか、あるいはエンジニアの生存戦略 | GREE Engineering
    kasumani
    kasumani 2014/01/01
    CTOとはなんなのか、あるいはエンジニアの生存戦略 Merry Christmas! GREE Advent Calendar もいよいよ最終日、25日目はグリー株式会社でCTOをしておりますふじもとがお送りします。 Tags: from Pocket January 01, 2014 at 10:27PM via IFTTT
  • グリーのインフラに Chef を導入した話 | GREE Engineering

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

    グリーのインフラに Chef を導入した話 | GREE Engineering
    kasumani
    kasumani 2013/12/25
    グリーのインフラに Chef を導入した話 こんにちは。インフラストラクチャ本部の荒井 (@ryot_a_rai) です。グリーのインフラのサーバ管理周りをより良くする仕事をしています。 Tags: from Pocket December 25, 2013 at 01:38AM via IFTTT
  • 入門 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
    kasumani
    kasumani 2013/12/23
    入門 Capistrano 3 ~ 全ての手作業を生まれる前に消し去りたい この記事はGREE Advent Calendar 2013年の21日目です。お楽しみください! こんにちは、アゴひげがダンディーだと評判の九岡です。GREEでは、JavaやScalaを布教するための
  • 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
  • 『エキスパートObjective-Cプログラミング - iOS/OS Xのメモリ管理とマルチスレッド』 | GREE Engineering

    こんにちわ。エンジニアの坂 一樹(@splhack)です。 今回は、スマートフォンアプリ開発に非常に役立つを紹介させていただきます。 『エキスパートObjective-Cプログラミング - iOS/OS Xのメモリ管理とマルチスレッド』というです。 はい、表紙画像からお分かりのとおり、私が執筆しました。つまり、このエントリは宣伝ということになってしまいますが、それはそれとして。とても深く、とてもわかりやすいになっていると自負しております。いままでに培った技術をすべて注ぎ込みました。 書は、AppleiPhone/iPod touch/iPadといった、iOS搭載デバイスで動作するアプリ開発に非常に役立ちます。 Xcode 4.2から使用できるようになったAutomatic Reference Counting (ARC) iOS 4から使用できるようになったBlocks iOS

    『エキスパートObjective-Cプログラミング - iOS/OS Xのメモリ管理とマルチスレッド』 | GREE Engineering
    kasumani
    kasumani 2011/12/06
  • SWFバイナリ編集のススメ第一回 | GREE Engineering

    こんにちは。メディア開発部のよやと申します。バイナリ編集エンジニアです。 はじめに GREE では携帯向けコンテンツに Flash Lite を利用していますが、Lite には様々な制限(*1)があり、SWF(スウィフ) の動的生成技術を活用しています。 ツール(ming, swfmill, swftools, etc...)を用いた SWF 生成の記事は世間に溢れてますので、SWFバイナリの生編集をテーマに記事を何回かに分けて進めようと思います。 ツールを使う場合でも何かしら問題に遭遇した際の一助になるかもしれません。 第一回の当記事は、SWF仕様書の読み方ガイドです。 SWF仕様 Adobe公式の SWF仕様書は一般公開されています。 英語です。 http://www.adobe.com/devnet/swf/ (swf_file_format_spec_v10.pdf) 理解の助けに

    SWFバイナリ編集のススメ第一回 | GREE Engineering
    kasumani
    kasumani 2010/08/05
    [via:packrati.us]おお RT @fladdict: SWFバイナリ編集のススメ http://labs.gree.jp/blog/2010/08/631/ – Akihiko Koizuka (koizuka) http://twitter.com/koizuka/statuses/20378896532
  • 1