タグ

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

  • 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
    honeybe
    honeybe 2021/11/08
  • Jenkinsfile、書いてますか? | GREE Engineering

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

    Jenkinsfile、書いてますか? | GREE Engineering
    honeybe
    honeybe 2018/08/05
  • innodb_thread_concurrencyに関する話 | GREE Engineering

    こんにちわ。せじまです。今回の話は軽く書こうと思っていたのですが、長くなりました。まぁInnoDBの話なのでしょうがないですね。 はじめ 今回はinnodb_thread_concurrencyについてお話しようと思います。できれば、事前にInnoDB の mutex の話(入門編)を読んでいただいた方が、より深く理解していただけるのではないかと思います。 長いので、最初に五行でまとめます 現代において、ほとんどのケースでは、innodb_thread_concurrencyはデフォルトの0のままで問題ないと思います。なぜなら、最近のInnoDBはかなり良くなってきたからです。 それでもinnodb_thread_concurrencyをチューニングするとしたら、「高負荷状態になったときでもスレッド間の公平性をなるべく担保し、安定稼働させるため」と割り切って使うのが良いでしょう。 inno

    innodb_thread_concurrencyに関する話 | GREE Engineering
    honeybe
    honeybe 2018/07/03
  • さいきんのMySQLのJSONまわり | GREE Engineers' Blog

    こんにちわ。せじまです。 さいきん、しばしば庭園や日帰り登山に行って風景写真を撮っているのですが、カメラで写真を撮るという行為は(中略)実行計画を考えながらSQLを書く行為に近しいことだと思いますので、エンジニアの方にはけっこうオススメです。 今日は軽めの話をさっくりさせていただこうかと思います。 はじめに 皆さんは最近のMySQLがJSON型をサポートしているのをご存知でしょうか。「なぜ正規化されていないJSONをRDBMSに格納するのですか!正規化しましょう正規化」という至極ごもっともなご意見もあるでしょうが、 MySQLは5.7からJSON型のサポートをはじめ、8.0でかなり開発が加速している印象を受けます。JSON型がネイティブでサポートされるようになったのは、MySQL5.7のRelease Candidate以降です。5.7 RCがリリースされた2015年あたりから、MySQL

    さいきんのMySQLのJSONまわり | GREE Engineers' Blog
    honeybe
    honeybe 2018/06/08
  • ソーシャルゲーム サーバーアーキテクチャ選定 | GREE Engineering

    ※Read / Write のレスポンスタイムは大まかに計測した値のため適切な設定ができていない場合もあることをご了承ください MySQL 信頼と実績のあるRDBMS。新規タイトルの場合AWSではAuroraGCPではCloud SQLを利用することで運用の手間をある程度減らすことができる。分散システムではないため1クラスタでの書込性能には限界があり、ソーシャルゲームのように大規模なwrite処理がある用途では水平/垂直分割が必要になり、そのための設計とコーディングが煩雑になりがちである。またインスタンスのスケールアップ・ダウンで対応しきれない場合のクラスタの分割・統合のオペレーションは複雑なものになる。 スケールアップ・ダウンやnodeのメンテナンスなどでMaster nodeを切替える際には不通時間が発生してしまうため、安全のためゲーム自体をメンテナンス状態にする必要が発生する。 ※

    ソーシャルゲーム サーバーアーキテクチャ選定 | GREE Engineering
    honeybe
    honeybe 2018/05/29
  • TLS1.3だとハンドシェイクがどれくらい早くなるか測定した | GREE Engineers' Blog

    こんにちはインフラの後藤です。 今回はTLS1.3を実環境で試してみました。 TLS1.3はTLSのメジャーバージョンアップとも言われるように、様々な改善が含まれています。 例えば、以前「TLS1.3のハンドシェイクがもう来てる」で書いたように、TLS1.3ではハンドシェイク時のパケットの往復回数が減っており、より早くコネクションを確立できます。 すでに、ブラウザや暗号ライブラリはTLS1.3に対応してきておりますので、実環境で具体的にどれくらいコネクションの確立が早くなるのか確認してみました。 TLS1.3 バージョンネゴシエーションとネゴシエーション 測定の前に今回利用したTLS1.3 draftバージョンについて補足します。 TLS1.3は draft-28 版が最新のバージョンです。こちらが文章上の修正を経て将来的にRFCとなります。 TLS1.3はファイアウォール等の中間装置の不

    TLS1.3だとハンドシェイクがどれくらい早くなるか測定した | GREE Engineers' Blog
    honeybe
    honeybe 2018/05/11
  • 美容サイトARINEで稼働中の機械学習を用いた髪型ネイル識別システム | GREE Engineering

    応用人工知能チームの尾崎です。今年新卒エンジニアとして入社し、機械学習モデルの実装評価からAPIサーバの実装、コンテナを利用したプロダクトへの導入まで開発全般を担当しています。 今回はARINEで稼働中の畳み込みニューラルネットワーク (CNN) を用いた髪型・ネイル識別システムについてご紹介します。 背景 ARINEでは、おすすめのヘアスタイルやトレンドのコーディネートなど沢山の記事が公開されています。記事には数多くの写真素材が用いられていますが、これらの素材の多くは提携サイトから検索APIを提供してもらったり、提携サイト内の検索機能を用いて写真素材を探し選んでいました。しかし、一部の写真素材は自社で撮影していたり、最近ではヘアサロンやネイルサロンからも提供してもらっているため、それらの画像を検索する手段がありませんでした。 そこで今回、ライターさんが執筆に必要な写真素材を手軽に検索でき

    美容サイトARINEで稼働中の機械学習を用いた髪型ネイル識別システム | GREE Engineering
    honeybe
    honeybe 2017/11/24
    「今年新卒エンジニアとして入社し、機械学習モデルの実装評価からAPIサーバの実装、コンテナを利用したプロダクトへの導入まで開発全般を担当」oh...
  • Prometheusによる数百台規模のモニタリングで直面した問題について | GREE Engineering

    インフラの反田 (@mtanda) です。 GREEでは、多くのサービスをAWS環境で運用しており、それらサービスのモニタリングシステムとしてPrometheusを利用しています。 Prometheusを導入してから約2年がたち、1台のPrometheusで数百台規模のインスタンスをモニタリングするなかで、さまざまな問題に直面しました。 それら問題の原因を分析し、設定や利用の仕方を改善することで、ある程度安定して運用できるようになりました。 これらの知見が少しでもお役に立てばと思い、ここで共有いたします。 なお、対象とするPrometheusのバージョンは1.xです。Prometheus 2.0では、これら問題のほぼ全てに対して改善されています。そのため、2.0でどういった点が改善されているかを知るためにも有用だと思います。 Prometheusのストレージ実装の基礎知識 Promethe

    Prometheusによる数百台規模のモニタリングで直面した問題について | GREE Engineering
    honeybe
    honeybe 2017/10/23
    この規模だからこその問題感ある。あとで。
  • AWS のお得な機能だけでネイティブゲームサーバをつくる | GREE Engineering

    昨今何かと話題に挙がってきた AWS LambdaAWS DynamoDB を活用して格安で堅牢、高性能なゲームサーバを作ります。 既存システムの苦労をもとに、サーバの開発や運用を頑張らずにすむための仕組みとネイティブアプリからの AWS Lambda の利用方法を簡単に紹介します。 サーバが良くわからんという、ネイティブゲーム、ネイティブアプリエンジニアにオススメです。 ※当内容は多分に個人主観を含んでおり、時事的な要素も含まれています。 ※検索して十分な資料があると考えられるツールやライブラリの利用方法等は省略しています。 おさらい まずは既存のゲームサーバの構成を初歩からおさらいしてみましょう。 簡単にサービスする方法としてアプリからのリクエストを受ける HTTP のサーバと利用者の情報を格納しておくデータベースが考えられます。しかし、すぐに思いつくだけでもいくつかの問題があり

    AWS のお得な機能だけでネイティブゲームサーバをつくる | GREE Engineering
    honeybe
    honeybe 2015/10/20
    「aws-sdk-cpp のバイナリがおもいのほか大きい。 .so にて 10M」全部入りだからじゃないかな?(ちゃんと見てないので勘ですが
  • CPUに関する話 | GREE Engineering

    こんにちわ。せじまです。スティック型PCの購入は、 Core M版が出るまで見送ろうと思っている今日このごろです。 弊社では「Mini Tech Talk」という社内勉強会を隔週で開催しているのですが、それとは別に、「Infra Tech Talk」という社内勉強会を、半年くらい前から毎月開催しています。わたしはそこでほぼ毎月、45-60分くらいのスライドを作って話をしています。今までどういう話をしてきたかといいますと、TCPに関する話を二回、SSDに関する話を二回しました。(InnoDBに関する話だと軽く5-6時間くらいできるんですが、いささかマニアックなので、もっと幅広い人を対象に話をしています) 今までの話はちょっと社内向けの内容だったんですが、前回開催された Infra Tech Talk では、社外の方にも幅広く読んでいただける話ができたと思いましたので、その資料を slides

    CPUに関する話 | GREE Engineering
    honeybe
    honeybe 2015/10/05
  • 実サービスにおけるHTTP/2ネゴシエーション数を調べる | GREE Engineering

    こんにちは、インフラストラクチャ部の後藤です。 先日、HTTP/2がRFC7540としてRFC化されました。RFCの中でも触れられている通り、日の方も沢山関与されています。当に皆様お疲れ様でした。 仕様としては一段落したHTTP/2ですが、実際に使っていく段階へと移ってく上で気になるのがどれ位のクライアントがHTTP/2に対応しているかということです。Google ChromeやFirefoxの最新版では既にHTTP/2対応していますが、全てのユーザがそれを使っているわけではありません。 そこで、今回は実際に弊社のサービスでHTTP/2対応クライアントの接続がどれ程あるのか調べてみました。(HTTP/2をサービスとしてサポートしているわけではありません。) ユーザエージェントから調べる方法もあるのですが、今回はALPNを元に調べました。 ALPNについて HTTP/2で通信する際のネ

    実サービスにおけるHTTP/2ネゴシエーション数を調べる | GREE Engineering
    honeybe
    honeybe 2015/06/09
  • 忙しい人のための MySQL 5.7.6 DMR における InnoDB Flushing の変更点について | GREE Engineering

    こんにちわ。せじまです。 Cherry Trail が出たら艦これ用タブレット買い換えるべきか、思案している今日このごろです。 5.7.6 での InnoDB Adaptive Flushing の重要な変更を三行をまとめると redo log の更新頻度も考慮されるようになりました。更新頻度に比例して flush される dirty page の量が増減するようになりました。 innodb_io_capacity_max 上げ過ぎないほうが良いでしょう。場合によっては innodb_flushing_avg_loops も見なおしてよいでしょう。 innodb_buffer_pool_instances >= 2 のとき、dirty page が多い instance ほど、多くの dirty page が flush されるようになりました。 詳細な内容についてご興味のある方は続きをど

    忙しい人のための MySQL 5.7.6 DMR における InnoDB Flushing の変更点について | GREE Engineering
    honeybe
    honeybe 2015/03/19
  • 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
    honeybe
    honeybe 2015/01/20
  • グリーを支える通知システム | GREE Engineering

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

    グリーを支える通知システム | GREE Engineering
    honeybe
    honeybe 2014/12/24
  • オーケストレーション入門 - 多種多様化するサービスをConsulで連携させる | GREE Engineering

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

    オーケストレーション入門 - 多種多様化するサービスをConsulで連携させる | GREE Engineering
    honeybe
    honeybe 2014/12/19
  • ネイティブゲームクライアントの幸せな設計図 | 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
    honeybe
    honeybe 2014/12/18
  • Cocos2d-xマルチプレイヤーアクションゲーム事始め | GREE Engineering

    こんにちは、ガレージスタジオでネイティブシフト推進を行っている久富木隆一(@ryukbk)です。 エントリは「GREE Advent Calendar 2014」16日目の記事です。今年も忙しい師走となりましたが、皆様いかがお過ごしでしょうか。Advent Calendarなるものが世間で流行っているようですが、宗教的信条の無い者としてはどうなのと思いつつも、お祭りは何だかんだで放っておけない性分でございます。 今回は、オンラインマルチプレイヤーゲーム、中でもアクションゲームの作り方について考えてみます。その過程で マルチプレイヤーアクションゲームが克服すべき課題と、発展の歴史 Cocos2d-x 3.3、Cocos Studio 2による、C++11を用いた開発 について触れた上で、Cocos2d-x  & node.jsによるオンラインマルチプレイヤーアクションゲームのサンプルコード

    Cocos2d-xマルチプレイヤーアクションゲーム事始め | GREE Engineering
    honeybe
    honeybe 2014/12/16
  • 男性エンジニアリングマネージャが長期育休を取った話 | GREE Engineering

    こんにちは、Data Engineering Groupマネージャのmoritaです。 このエントリはGREE Advent Calendar 2014 9日目の記事になります。 今日は、今年前半に半年間の育児休業を頂いたので、そこで感じた事を書こうと思います。会社に育休制度はあるし家族も育休取得に好意的、だけど周囲の眼や復帰後のキャリアが気になる、という方の背中を少しでも押すことができればいいなと思っています。 エンジニアブログなので、エンジニアの視点から見た育休、特に育休エンジニアキャリア/エンジニア組織の関係性についても書ければと思います。 育児休業のあらまし まず始めに育児休業の概要を説明します。 育児休業は育児・介護休業法により定められています。法律により、従業員は労使協定で定められた条件(典型的には勤続1年以上という条件が付くようです)を満たす場合に育児休業を取得できることに

    男性エンジニアリングマネージャが長期育休を取った話 | GREE Engineering
    honeybe
    honeybe 2014/12/09
  • Blender エンジニアでも出来るキャラクタ3Dモデリング | GREE Engineering

    はじめに こんにちは。情報システム部の山田幸司です。GREE Advent Calendar 2014 5日目の記事を担当させて頂きます。 今回のテーマは「Blender」です。 ゲームづくりに携わっているエンジニアの方々の中にも、素材を自前で用意して動かしたいと思っている方が多いと思います。僕も2年前から趣味Unityを触り始め、3Dモデルを自作して動かしたいと思い始めていました。ただ3Dのモデルデータをどうやって作ればいいのか悩む方がいると思います。モデリングのためにMayaやLightWaveなどのモデリングソフトの購入も検討できますが、高価で手を出しにくい。そんな時にBlenderをお勧めします。 Blenderとは Blenderはオープンソースのモデリングソフトです。最新バージョンは2.72b(2014/12/5現在)。フリーのモデリングソフトならばメタセコイアが有名だと思い

    Blender エンジニアでも出来るキャラクタ3Dモデリング | GREE Engineering
    honeybe
    honeybe 2014/12/05
  • イノベーションが失われた組織から脱却する10のルール | GREE Engineering

    こんにちは! ガレージスタジオ部  岸田崇志です。 記念すべき『GREE Advent Calendar 2014』1日目の記事となります! GREE Engineers' Blogを書くことに憧れて入社したのですが、5年半経ってようやく夢が叶い感慨深いです。 と、前置きはさておき、題に入らせていただきます。 ここ数年大ヒットが生み出せていないグリーですが、会社が大きくなる中でゲームが作りにくい組織になっていました。 そこで、その課題と現在行っている取り組みについて紹介させて頂きたいと思っています。 めっきりクリエイティブなイメージが薄くなってきたグリーかなと思っているのですが、 「グリーらしくない!」と言われるゲームを作ることが私の狙いの一つでもあります。 過去の自分を振り返り会社が大きくなる中で、自分自身の至らないところもあり以下の様なケースがあったかと思っています。 今までの課題事

    イノベーションが失われた組織から脱却する10のルール | GREE Engineering
    honeybe
    honeybe 2014/12/02