タグ

ブックマーク / ameblo.jp/principia-ca (13)

  • 『リアルタイム通信ゲーム勉強会で発表してきた』

    SGE(Smartphone Games & Entertainment)のグレンジ所属の塚原と袴田です。 2016/04/20に開催されたリアルタイム通信ゲーム勉強会で発表してきたので報告をします。 グレンジについてCAのゲーム事業部(SGE)の中の1つです。 ・ポコロンダンジョンズ ・イグドラシル戦記 の2つを開発・運営しています。 勉強会ではポコロンダンジョンズの共闘(多人数の協力プレイ)の仕組みについて発表しました。 ポコロンダンジョンズについて2014年夏にリリースされた「なぞるパズルRPG」です。 当初は1人プレイのみでしたが、2015年春に最大4人の協力プレイ「共闘」が実装されました。 共闘はSocket.IOを使ったリアルタイム通信システムによって動作していて、勉強会ではサーバサイド/クライアントサイドの仕組みを「そこまで見せるのか」というほど公開しています。 サーバサイド

    『リアルタイム通信ゲーム勉強会で発表してきた』
  • 『新卒研修環境の構築をTerraformで自動化してみた』

    アドテクスタジオのDynalystというチームで働いている黒崎 (@kuro_m88) です。 たまに社内で自作ドローンを飛ばしたりしています。 早いもので入社2年目になりました。つい先月まで新卒だったはずなのですが…(・・;) 今年も新卒の技術者が約60名入社し、新入社員全体の研修が終わり現在はエンジニア技術研修が行われています。 今回はその環境構築で行ったことについて紹介しようと思います。 エンジニアの新卒研修の概要 今年の研修のゴールは「アーキテクチャをゼロから考え、実装できるようになる」というもので、研修課題は2つあります。 1つ目は現在まさに取り組んでもらっているのですが、2週間でミニブログシステムを3~4名のチームで制作してもらいます。 チームによってスキルセットが違うので、ネイティブアプリに特化するチームもいれば、バックエンドやインフラでいかにスケールしやすい構成にするか、

    『新卒研修環境の構築をTerraformで自動化してみた』
  • 『画像システムの車窓から』

    2年半くらい画像システムを担当していたのですが、3月イッパイで異動することになりましたokzkです。 異動記念ということで、とりとめもなくエンジニアブログを書いてみます。長いです。よろしくお願いいたします。 画像システムのこれまでのストレージ事情最初にアメブロ(以下、単にブログ)のユーザ投稿画像関連でのストレージの歴史をアレコレをまとめてみようと思います。なお、以下swiftと書いたらOpenStack Swiftのことです。流行のプログラミング言語のことではありません。 はるか昔の状況昔は単純にWebDAVを複数台並べ、イッパイになったら更に次の世代のWebDAVを追加する、というような構成で、参照時に画像URLパスに含まれる年月ベースで適切な世代のWebDAVにルーティングしていました。 (参考:画像URLのパスの例) /user_images/20160401/00/shibuya/

    『画像システムの車窓から』
  • 『インタラクションを支える技術』

    こんにちは。 AWAでAndroidエンジニアをしている新家(ニイノミ)です。 最近インタラクションって言葉、よく聞きますよね。 インタラクションの役割や意味合い等はここでは割愛しますが、「インタラクションをつくる」といった場合、コードを書くエンジニアとしては「動きをつくる」という意味合いが大きいかと思います。 この「動き」について、今まではゲームやFlashを用いたスペシャルサイトなど、世界観の構築やブランディングが必要なサービスで用いられることは多かったものの、SNSなどのスマホのコミュニティ系サービスで取り入れられることはあまり多くありませんでした。 しかし、ユーザーの操作感や体験を重視するようになってきた昨今、コミュニティ系サービスの開発においても「動きをつくる」要件は増えてきました。 実際、僕が開発に携わっているAWAもユーザー体験を重視しており、その一つとしてインタラクションに

    『インタラクションを支える技術』
  • 『AWAにおけるDevOps』

    はじめに AWAでサーバサイドエンジニアをやっている山下といいます。初めてエンジニアブログを書かせていただきます。よろしくお願いします。 簡単に自己紹介をさせていただくと、2011年にSIerからサイバーエージェントに中途入社し、いくつかのコミュニティ系サービスの立ち上げ・運用、インフィード広告配信APIの作成などを経て、2015年4月からAWAチームに参加しました。 今回は、(今さら?な) DevOpsについてです。といってもスムーズな連携をするには といった話ではなく、現在のチームに参加してからというもの、「エンジニア間の役割が変わってきていて、DevOpsって現状にあってないんじゃないか」と感じており、それについてご紹介させていただきます。 AWAとは 定額制音楽配信サービスです。 スマートフォン、PCでアプリを提供しており、他のデバイスにも順次対応をすすめています。2015年のベス

    『AWAにおけるDevOps』
  • 『自動購読課金について【Android編】』

    はじめに AWAサーバサイドエンジニアの辻(jun06t)です。 前回の続きで今回はAndroidの月額課金のための実装について書かせていただきます。 基的な流れは前回と同じになってます。 注意事項 ※1:開発中にプラットフォーム側の仕様変更があったため、記載している内容は情報が古い可能性があります。 ※2:記載している動作は十分に調査できていないものも含んでいるため、内容が不正確である可能性があることをご了承ください。 対象環境 目次 Google公式ドキュメントAndroidでの購読登録処理の流れ署名の検証データフォーマットレシートの検証購読期間自動更新手順アップグレードとダウングレード実装していて困ったことレシート検証用ライブラリの紹介まとめ謝辞 Google公式ドキュメント Google Play In-app Billingアプリ内アイテムと定期購入代金の請求 Android

    『自動購読課金について【Android編】』
  • 『自動購読課金について【iOS編】』

    はじめに AWAサーバサイドエンジニアの辻(jun06t)です。 今回はiOSとAndroidの月額課金のための実装について書かせていただきます。 形式として読み物と言うよりドキュメントっぽくなっています。 理由は私が実装しようとした際に実装方法についてまとめて書かれた記事が少なく、「検証時に使えるフィールドはどれだろう?」「昔はこうだったけど、今は違う?」「Androidではできるけど、iOSではできない(逆も然り)」など、色々と分からない部分が多くとても困ったためです。 やや長い記事となったため、iOSの実装を前編、Androidの実装を後編として説明させていただきます。 注意事項 ※1:開発中にプラットフォーム側の仕様変更があったなど、記載している内容は情報が古い可能性があります。 ※2:記載している動作は十分に調査できていないものも含んでいるため、内容が不正確である可能性があること

    『自動購読課金について【iOS編】』
  • 『Tellme for Androidで使ったライブラリやツールを紹介するよ』

    Tellme for Androidで使ったライブラリやツールを紹介するよ | サイバーエージェント 公式エンジニアブログ こんにちは。エンジニアの清水です。 昨年の7月まではフロントエンドエンジニアとして主にJavaScriptを書いていたのですが、2014年8月からネイティブエンジニアとしてAndroidアプリを作っていました。 4月からはまたフロントエンド仕事もしています。 今回は、私が開発に携わったTellmeというQ&AサービスのAndroidアプリで利用したライブラリを紹介してみようと思います。サンプルコードも書く意欲が湧いたものは書いていきます。 ※ちなみにこんなアプリです Libraries ButterKnife ButterKnifeはアノテーションを用いてView Injectionを行うライブラリです。 これを使うとonCreate/onCreateViewの中で

    『Tellme for Androidで使ったライブラリやツールを紹介するよ』
  • 『新米Androiderが開発する上できっと役立つであろう10のサイト』

    はじめまして、 ogaclejapan です。 昨年の6月にサーバサイドJavaエンジニアからAndroiderへ暗黙な型変換でジョブチェンジしました。会社ではAmeba事業部でAndroidアプリの開発を担当しています。

    『新米Androiderが開発する上できっと役立つであろう10のサイト』
  • 『MySQL初心者に贈るインデックスチューニングのポイントまとめ2014』

    サイバーエージェント公式ブログをご覧の皆さんこんばんは、インフラ&コアテク部の須藤(@strsk)です。普段はAmebaのソーシャルゲーム全般のインフラを見つつ、日語ラップの啓蒙をしながら弊社社員を素材にコラ画像をつくったりしています。好きなAAは麻呂です。 はい、というわけで今回はMySQLインデックスチューニングの基的な流れについてまとめてみました。 ソーシャルゲームは更新も参照もめちゃくちゃ多いです。数秒のレプリケーション遅延も致命的なので適切なテーブル、クエリとインデックス設計が重要です。(何でもそうですけど)インデックスが多くなると更新コストなどが懸念されますが、インデックスが正しく使われていないクエリを放置している方が悪です。そんなこんなで、割と例も偏ったりしてるかもしれませんがあしからず。 前提としてはInnoDBを想定しています。MyISAMはほとんど使っていません。

    『MySQL初心者に贈るインデックスチューニングのポイントまとめ2014』
  • 『WebSocketで監視もリアルタイムに』

    こんばんは。社内ニートの佐野と申します。所属はいちおAmebaのインフラチームです。Twitterもやっていますがフォローする価値はないです。つぶやいているのはメシと酒の話と下ネタだけです。 最近、組織改編とかもろもろありましてこのたびは雑用からニートになりました:(;゙゚'ω゚'): あまり目立たないように生きてたんですが、何気にこのブログへの登場は3回目になります...。前回は2012年12月に「QCon San Francisco 2012の参加レポ」を書かせていただきました。その前は2012年5月に「Virident FlashMAXの検証」として名前だけ登場しました。なんか、ニートだけど会社に貢献してる気がしてきた(^ρ^) そんなわけで以前WebSocketを使った監視ツールもどきを作ったので、それについての簡単な説明と、各種技術要素(Python, Jolokia)のTips

    『WebSocketで監視もリアルタイムに』
  • 『redis、それは危険なほどのスピード』

    どうも、プラットフォームDivでエンジニアをやっている Wataru です。 最近3人目の子供が産まれて、産後自宅勤務をさせてくれた弊社はとてもいい会社だと思います。出産予定のあるエンジニアのかたは是非弊社に転職を。 さて、今回はRedisの紹介をさせて頂きたいと思います。 Redisってすごくマイナーなわけではないのですが、めちゃくちゃ便利なのにあまり注目されていないなーという印象があるので、これを機会に是非使ってみてもらえると嬉しいです。 Redisって何?Redisとは「remote dictionary server」から名前が付けられたオープンソースのkey-valueデータストアです。 MemcacheDB等のKVSとの最大の違いは、格納するバリューがデータ構造というところです。 つまり、リスト・セット・ハッシュなどのデータ構造で格納できるのでバリューに対してアトミックな操作が

    『redis、それは危険なほどのスピード』
  • 『Flashの代替としてのHTML5』

    私は入社して以来、仮想空間サービスのアメーバピグやFacebookアプリの開発などFlashベースのプロジェクトに主に関わって来ましたが(どちらかというとサーバサイドでしたが)、9月より異動になり、既存のFlashコンテンツベースのサービスのスマートフォン対応を担当することになりました。周知の通りiOS(iPhoneiPad)でFlashはサポートされず、ブラウザ上で動かすのであればHTML5関連の技術を使って何とかしなければなりません。Flash的な「タイムラインによるベクターアニメーションを使うアプリケーション」を、既存のSWF素材を活用しつつ、また確立された開発体制をなるべく崩すこと無く、スマートフォンのブラウザ環境でのHTML5においていかに実現するかが目下の課題といったところです。 さて、世間的にも、FlashでできることはHTML5でできるという主張のもと「Flash vs.

    『Flashの代替としてのHTML5』
  • 1