タグ

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

  • ハイブリッド開催をやってみて | GREE Engineering

    こんにちは、開発企画の佐島です。 10月25日、グリーグループの様々な技術チャレンジを紹介する GREE Tech Conference 2022 がハイブリッドで開催されました。 当日は雨こそ降らなかったものの今年一番の冷え込みで、当に人が来てくれるんだろうかと心配で仕方ありませんでしたが、結果的には多くの方にご来場いただき、また、多くの方にご視聴いただくことができました。 例によってセッション内容については動画とスライドが全て公式サイトにアーカイブされていますので、記事ではハイブリッド開催をやってみて実際のところどうだったのか、振り返ってみようと思います。 物理開催決断にいたるまで そもそも GREE Tech Conference は物理開催を前提としていましたが初年度の2020からいきなりコロナ禍となり過去2回はいずれもオンライン開催でした。 昨年の打ち上げの席で、次こそは物理

    ハイブリッド開催をやってみて | GREE Engineering
    mikage014
    mikage014 2022/10/29
  • 受取期限の過ぎたデータをMySQL上から削除する話 | GREE Engineering

    こんにちわ。せじまです。今回は地味で泥臭い話をします。ただ、割と平易な内容かと思いますので、初学者の方にもオススメです。 はじめに ゲームでは、受取期限のついたログインボーナス的なものがよくあります。ユーザが期限までに受け取らないと、ユーザからそのデータは不可視になりますが、必ずしも、不可視になった瞬間にデータベースから直ちに削除される、というわけでもありません。バッチジョブか何かで、ガベージコレクションのように削除するケースが多いのではないでしょうか。 また、論理削除という概念もあります。論理削除についてはいろいろ意見や考え方があるかと思いますので、ここでそれについては論じませんが、「削除フラグが立ってユーザから不可視になった後、三ヶ月以上経過したデータを削除したい」みたいなことは、ゲームに限らず、しばしばあるんじゃないかなと思います。 こういった、ユーザから不可視になってしばらく経過し

    受取期限の過ぎたデータをMySQL上から削除する話 | GREE Engineering
    mikage014
    mikage014 2022/01/12
  • 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
  • AWS FargateとDocker Composeで簡単分散RSpec | GREE Engineering

    AWS Fargate早く東京に来てくれという願いをこめて、東京で1つでも事例を増やそうと記事を書いていたら公開する前にAWS Fargateが東京に来ることが先日発表されました!めでたいです。アリネ事業部の平田です。 今日はARINEで使っていく(かもしれない) AWS Fargate を使ったRSpecの実行環境の話と、Docker Compose使っているならFargateいいかもしれませんよ、という話をします。 背景 アリネ事業部では、なりたい自分がきっと見つかる美容メディア ARINE を運用しています。 ARINEのサーバサイドはRubyで書かれており、ウェブアプリケーションフレームワークはRuby on Railsを採用し、テストにはRSpecを使っています。 テストは徐々に増えており現在テストが1000件ほどで、テストにかかる時間も徐々に長くなり、完走するのに10分以上かか

    AWS FargateとDocker Composeで簡単分散RSpec | GREE Engineering
  • TLS1.3のハンドシェイクがもう来てる | GREE Engineers' Blog

    皆さまはじめまして、インフラの後藤です。 今回は、そろそろRFCが出る と言われているTLS1.3について簡単に見ていこうと思います。 TLS1.3はその名の通りTLSの次期バージョンです。数字上はマイナーバージョンアップですが、TLS2と呼ぶかといった議論が出るほどに大きな変更が入っています。 このTLS1.3では、多岐にわたるセキュリティの改善はもちろんのことパフォーマンスに関する改善も盛り込まれています。 例えば通信を開始する際のフルハンドシェイクは、TLS1.2と比べると実際のデータを送るまでのメッセージの往復回数が一回少なくなっています (HelloRetryRequestを送るケースもある...) さらに、一度接続したことがあり鍵を共有している相手とは初回からデータを送信する 0-RTTハンドシェイクというハンドシェイクもあります。もちろんこのデータも暗号化されています(ただし

    TLS1.3のハンドシェイクがもう来てる | GREE Engineers' Blog
    mikage014
    mikage014 2018/03/22
  • Electronでゲームの設定ツール作ってみた | GREE Engineering

    みなさんご無沙汰しております。ちょびえです。 最近はやりのElectronでゲームの設定ツールを作ってたので事例共有ということで記事を書いてみたいと思います。 事例共有なのであまり技術的な内容ではありませんが、少しでも皆様の参考になれば。 (免責としては、自分のチームの話なので全体としてこう、というわけではありませんのでご了承下さい) モチベーション 元々UnityEditorの機能を使って色んなツールを作っていたのですが、特定のGUI APIに依存した少し複雑なGUIツールとなるとメンテを他の人に託しづらくなってしまう問題があります。 会社として普段からWindowsMac向けのアプリケーションを作っている、とかであれば特に問題にならないと思うのですが。どうしても弊社のようにWebサービスが主力な会社だとHTML,JavaScriptを始めとした技術が得意な人が多く、Nativeアプリ

    Electronでゲームの設定ツール作ってみた | GREE Engineering
  • デュアルディスプレイなときに顔の向きでアプリ切り替えてみた | GREE Engineering

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

    デュアルディスプレイなときに顔の向きでアプリ切り替えてみた | GREE Engineering
  • 泥臭いサーバ運用自動化の話 | GREE Engineering

    こんにちは、North America事業部のLiang Fanです。このエントリーは GREE Advent Calendar 2015  10日目の記事です。 日は、以前所属していたインフラストラクチャ部のサーバ運用と自動化の話を少しご紹介したいと思います。 よろしくお願い致します。 はじめに 運用自動化と聞いて、みなさんは頭の中に何を浮かべますか?仮想化技術(docker、VM)、構成管理ツール(chef、puppet)やクラウドサービス(AWSGoogle Cloud Platform)などの答えがたくさん出てくるかもしれません。日はそれらの技術を使って、かっこいい運用自動化ができたという話ではなく、レガシー環境のサーバ運用を少しでも楽にするための泥臭い自動化の話を紹介したいと思います。 グリーのレガシー環境 レガシー環境と言っても、もう歩けない80歳のおじいさんではなく、

    泥臭いサーバ運用自動化の話 | GREE Engineering
  • 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
    mikage014
    mikage014 2015/10/05
  • 入門 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
  • SNSチームでのドメイン駆動設計の実践 | GREE Engineering

    こんにちは!グリープラットフォームでSNSの開発をしています、うきょーです! GREE Advent Calendar 2013 6日目です、よろしくお願いします! 今回は僕が所属するチームでの、ドメイン駆動設計を実践してきた過程をお話したいと思います。ドメイン駆動設計とは何か、については簡単に要所要所で説明していきますが、詳しくはで!また、ドメイン駆動設計そのものについての話ではなく、実践の一例となります。 スマートUIパターンからのスタート 今回僕のチームが扱っていたものはJavaScript製のクライアントアプリケーションで、APIから取得した情報を表示し、ユーザーの操作によってAPIを呼び出す、というごく一般的なものです。 ドメイン駆動設計にはアンチパターンとして、スマートUIパターンと呼ばれるものが存在します。簡単に言えば「見た目都合から設計やモデルを考えてしまった」という状況

    SNSチームでのドメイン駆動設計の実践 | GREE Engineering
  • レガシーなプロダクトにテストで向き合う話 | GREE Engineering

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

    レガシーなプロダクトにテストで向き合う話 | 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
  • リアルタイム・ランキングを考える | GREE Engineering

    はじめに こんにちは。プラットフォーム開発部のsp1rytusと申します。 先日、私もついに30歳のおっさんになってしまいました。加齢臭が出ないようにがんばります! ランキングって? ランキングは誰でもわかる、何らかの得点をソートして順位位置を決定する凄く簡単でシンプルなものです。しかし、ゲームを扱うコンテンツ・サービスにおいては、得点を通算/日別に順位付けされたものが直ぐに目に入るように、他人と自分を比較する非常に重要な役割を果たしています。そこで、この記事では次の3つ要件を満たすようなランキング・システムの難しさと、それを解決するための一例を簡単に説明させて頂きます。 順位付けはリアルタイムに行い、集計時間を必要としない。 100万件以上の得点データが扱える。 すべてのデータが正しい順位付けで取得できる(線形補完などで順位を概算しない)。 リアルタイムによる正確な順位付けは、データ件数

    リアルタイム・ランキングを考える | GREE Engineering
  • Git で日々の共同作業やリリース作業をサポートする git-daily を作りました | GREE Engineering

    こんにちは。インフラの sotarok です。 先日から Git 関連の話をしている通りですが、社内で Git を使い始めています。 今日は、Git を使った日々の開発〜リリースまでのフローや、そうしたものの運用と、それをサポートするために作ったツール git-daily の紹介をしたいと思います。 ソフトウェア開発とウェブ開発の違い いやウェブ開発も広義のソフトウェア開発なのですが、ここでいうソフトウェア開発とは、クライアントアプリケーションやライブラリのようなものを指すと思ってください。 実際、ウェブ開発をしている方は感じていることだとは思いますが、両者の開発フローはかなり異なるものです。もちろん社風や開発の方針等によって色々あるとは思いますが、主に次のような特徴が挙げられると思います: ソフトウェア開発 アプリケーションはクライアントで動作する リリース間隔は比較的長く、次のバージョ

    Git で日々の共同作業やリリース作業をサポートする git-daily を作りました | GREE Engineering
  • 1時間で携帯サイトをスマートフォン対応にする方法 | GREE Engineering

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

    1時間で携帯サイトをスマートフォン対応にする方法 | GREE Engineering
  • 大規模インフラの監視システム その2 | GREE Engineering

    こんにちは。グリーのmdoi(@m_doi)です。 今回は、グリーの監視システムについて説明したいと思います。以前、こちらの記事にて、リソース監視システムの説明をさせて頂きましたが、死活監視やログ監視については語られなかったので、気になっていた方も多いと思います。ということで、今回は、グリーのインフラにおける死活監視やログ監視、アラート通知システムを紹介したいと思います。 何を使っているの? グリーでは、死活監視にNagiosを使用していました。監視システムの中では、かなり有名なソフトウェアですから、監視システムの構築に使用したことがある方も多いのではないでしょうか。プラグインも豊富に存在するので、様々な監視を行うことができます。死活監視は、このNagiosの機能をそのまま利用し、ログ監視は、Nagiosと独自に作成したエージェント及びログフィルタを連携させて行っていました。 全体のシステ

    大規模インフラの監視システム その2 | GREE Engineering
  • 大規模インフラの監視システム | GREE Engineers' Blog

    こんにちは。インフラチームの ebisawa です。 今回はグリーのインフラにおける各種機器の監視がどのように行われているのかご紹介させていただきたいと思います。一般にサーバの監視というと、システムダウンを検出するための死活監視を意味する場合と、ネットワークトラフィック等のモニタリングのことを意味する場合とがあります。今回の監視は特に後者についてのお話です。大規模なインフラの監視には、やはり特有の課題があります。 どんなツールを使っているのか グリーではサーバの各種リソース使用状況をモニタリングしてグラフ化するためのツールとして、Cacti を利用しています。Cacti は、大変有名なツールなので皆様ご存知かと思いますが、バックエンドの RRDtool で作成したグラフを閲覧するための使いやすいユーザーインターフェイスを備えています。 http://www.cacti.net/ ツールの使

    大規模インフラの監視システム | GREE Engineers' Blog
    mikage014
    mikage014 2010/10/10
    GREEの監視システムにはCactiが使われている。さらにポーリングの分散化と登録の自動化が図られている
  • 1