読者です 読者をやめる 読者になる 読者になる

Akatsuki Hackers Lab | 株式会社アカツキ(Akatsuki Inc.)

Akatsuki Hackers Labは株式会社アカツキが運営しています。

React Conf 2017 現地レポート (2日目)

ライブエクスペリエンス事業部 エンジニアの高松(@shimpeiws)です。 React Conf 2017 現地レポート (1日目)に引き続き、React Conf 2017 2日目の様子をサンノゼの会場から直接お届けします!!! 1日目のセッションの録画がYouTubeにアップされていました! 1日…

React Conf 2017 現地レポート (1日目)

ライブエクスペリエンス事業部 エンジニアの高松(@shimpeiws)です。 2017/3/13 ~ 14の期間で開催中のReact Conf 2017に参加するためにサンノゼに来ています。 React Conf 2017 つい数時間前に終わったばかりの1日目のレポートを現地からお送りします!

CTOとエンジニアリングマネージャーでDelegation Boardを作ってみた

こんにちは、ゆのん(id:yunon_phys)です。先日、第二回エンジニアリングマネージャー勉強会にて、タイトルの内容についてLTをしてきました。結構多くの方に興味を持っていただいた内容で、折角なので文章にしてみました。 Management 3.0 Management 3.0によ…

アカツキエンジニア・ロングインタビュー: 湯前慶大 (ディベロップメント・ディレクター / エンジニアリング・マネージャ)

アカツキ応援団、エンジニアリング・アドバイザーの能登です。 アカツキという会社は、そこに集まっている人たちがいちばんの特徴になっている、という僕の最初の印象、4年半前に感じた印象は今でも変わっていない。実際社内の何人かに会ってもらうと「予想…

アカツキを支える大規模ゲーム開発プロセス

この記事は Akatsuki Advent Calendar 2016 の6日目です。 はじめに こんにちは、アカツキでチーム開発マネージメントをしているゆのん(id:yunon_phys)です。 アカツキではアジャイル開発手法の一つであるスクラムを取り入れて、ソーシャルゲームの開発を小…

エンジニアチームを幸せにするたった1つの方法

あらゆる人間関係の衝突は、謙虚・尊敬・信頼の欠如によるものだ。 プログラマとして成功するには、最新の言語を覚えたり高速なコードを書いたりするだけではいけない。プログラマは常にチームで仕事をする。自分が思っている以上に、チームは個人の生産性や…

スクラムトレーニングで自律型チームを実現する

はじめに アカツキでは開発にスクラムの要素を取り入れています。しかし、現状の開発のやり方に漠然とした不安がありました。その不安とは、例えば、もっと効率的になるんじゃないか、もっと良いやり方があるんじゃないか、このやり方はスケールしないのでは…

ドリコムさんと社会人交換留学をしました

こんにちは、初めまして。 最近ようやく花粉症も治まってきたエンジニアのシモムラです。 2016年3月にアカツキとドリコムさんの間で社会人交換留学という取り組みを行いましたので、その内容を紹介します。

5分で分かるRedis Clusterの構築方法

はじめに Developpers Summit 2016で「大規模Redisサーバ縮小化の戦い」というテーマで発表してきました。 大規模Redisサーバ縮小化の戦い from Yuto Komai Redisのdumpファイルを取得して、それらをマージする方法や、Redis内で使用するdb数を増やせば、接…

Rails4.2のコネクションプールの実装を理解する

tl;dr Railsではコネクションプール数を設定していても、1スレッド辺り1コネクションしか持ちません。 発端 アカツキではRails + Unicorn + Nginx + MySQLの構成をAWSで運用しており、c3.4xlargeのインスタンス上で1台辺り64のUnicornワーカープロセスが実行…

急いで覚えるElixir: Enumerable編

ElixirのEnumerable 前回の記事から続いて、今回はElixirで利用する基本的な制御構文について学んでいきます。 Keyword list 多くの関数型プログラム言語では、2要素のtupleによって関連付けられたデータ構造を表現します。 Elixirでは、最初の要素がAtomで…

急いで覚えるElixir: 制御構文編

Elixirの基本制御構文 前回の記事から続いて、今回はElixirで利用する基本的な制御構文について学んでいきます。 if, unless/else 他のプログラミング言語で親しまれているif~elseは、Elixirでは以下のように記述します。

Electronで社内ツール作ってみた

はじめに アカツキにて内定者インターンをしているsachaosです。 この記事ではプロジェクトに配属され、少しの間アシスタントディレクター業を行っていた僕が、 エンジニアの端くれなりに社内ツールを作って業務プロセスの無駄な部分を自動化した話をします。

resize2fsコマンドの先でカーネルは何をしているのか

背景 前回の記事で、resize2fsコマンドがどのように1秒未満での容量拡張を実現しているかを知るために、resize2fsコマンドのソースを調査しました。その結果、メタデータの一つであるGlobal Descriptor Tables(GDT)をカーネル内で更新しているからではないか…

急いで学ぶElixir#3: 演算子編

Basic Operators 前回、Elixirは四則演算があることと、整数の商や余剰を得るためにdivやremがあることを学びました。今回はElixirの基本的な演算子を、Rubyと少し比較しながら学んでいきましょう。 Elixirでは、++や--を配列に対しても使うことが出来ます。

新規事業で Elixir, Phoenix, React を使う

エンジニアリング・アドバイザーの noto です。先月末から新規事業チームのエンジニアリングについてもお手伝いすることになりました。 アカツキでは今年 (2015 年) の夏より、従来のゲーム事業の枠を超えて、教育、ヘルスケア、「働く」などの領域を対象と…

急いで学ぶElixir#02

Elixirの基本型 以下の基本型があります。 - integer : 1, 0x1F - float : 1.0 - boolean : true, false - atom (symbol) : :atom - string : "Elixir" - list : [1, 2, 3] - tuple : {1, 2, 3}

急いで学ぶElixir#01

Motivation クラスメソッドさんがDevelopers.IOにとても良い記事を投稿されていたので、Elixir版も書きたくなりました。

勉強会でスピーカーが押さえるべき5つの極意について考えてみた

はじめに はじめまして。アカツキ2015年度入社の新卒1期生エンジニア、tomoです。私は技術力の底上げと経験のために、社内で毎週OpenGL ES勉強会を開催しています。この記事では、3ヶ月間勉強会を開いてみて感じた、勉強会のスピーカーが大切にしたい5つの極…

次世代の組織のあり方「ホラクラシー」

Delivering Happinessを会社の目的として掲げるZapposが、新しい組織構造としてホラクラシーを採用して以来、IT界隈でこの考え方が急速に注目を集めるようになりました。 ただ、日本語の情報がとても少なく、ホラクラシーについての誤解が飛び交うことが多い…

UnityとOculusを始めて3週間で街を走り回るゲームを作った話

はじめに アカツキは5周年を迎え、先日パーティーが開かれました。その時に展示物として披露したUnityとOculus Rift DK2を使ったゲームを作った話をしようと思います。 今回作ったものは隕石を避けながらコインを取って行ってゴールを目指す、レースゲームで…

アカツキのエンジニアの活動の紹介

はじめに アカツキにて内定者インターンをしているsachaosです。 今年の6月から内定者インターンとして働き始めてからまだ2ヶ月弱のアカツキ初心者ですが、この記事では、アカツキの中に入って初めて知ったアカツキのエンジニアの活動の一部を紹介させて頂き…

スマホゲーム開発最前線を支える技術

2015/05/19(火)に、レバレジーズさんが主催しているヒカラボで、以下3つの発表をしてきました。 RoRとAWSで100,000Req/Minを処理する RoRとAWSで100,000Req/Minを処理する from aktsk

LITALICO社と合同エンジニア勉強会を開催した話

合同勉強会を開催 6月25日(木)に、株式会社LITALICOさんと合同エンジニア勉強会を、アカツキのオフィスで開催しました!アカツキのエンジニアと合わせて約20名がこの勉強会に参加し、LT対抗戦+ビアバッシュを楽しみました。想定以上に話したがり屋さんが多か…

CloudWatch Logs + fluentdでモダンなアプリ監視をさくっと作ってみた話

背景 アカツキが提供しているサービスはリリース前に必ずテストを行っています。テストでバグが見つかったときにこれを切り分けるため、発生時のログを探すことがあります。「クライアントアプリで明らかに表示がおかしい」とか、そういったバグなら問題ない…

FactoryGirlのログからテストコストを計測してみた

背景 アカツキではサーバーサイドフレームワークとしてRuby on Railsを採用しており、またそのテスト環境としてRspec/FactoryGirlを使用しています。RoR環境下のテスト体制としてはデファクトスタンダードになっているこの組み合わせですが、主にFactoryGirl…

差分を管理してデータ更新を高速化する、seed_fu:expressのご紹介

背景 ゲームサーバーで扱うデータはとにかく多いです。 特にイベントなどをほぼ毎日運用する場合はサービス開始から1年でレコード数が無視できない量になり、それに伴って更新に要する時間が激増してしまいます。 以前執筆した9分43秒のデプロイを19秒にした…

Akatsuki ENGINEER INTERVIEW

アカツキエンジニア陣のインタビューを媒体別にまとめましたので、ぜひご覧ください。 (掲載順位は、新着順になります)

MySQLのINSERTを高速化するChange bufferingをソースコードから理解する

背景 アカツキで提供しているサービスでは、ほぼ全てにおいてAWSのRDS(MySQL5.6, InnoDB)を使用しております。 ソーシャルゲームでは多くのWriteがかかりますが、そのコストが気になったので調べてみました。

resize2fsコマンドはどのようにして1秒未満での容量拡張を実現しているのか

この記事はLinux Advent Calendar 2014 の23日目の記事です。 背景 アカツキではAWS EC2をテストサーバ、ステージングサーバ、本番サーバとして利用しています。先日1周年を迎えた千メモは、リリース時よりも大分デプロイ時に容量を使うようになってきまし…

Are you still reviewing that pull request?

Background

人がコードレビューする時代は終わった

背景 最近GitHubワークフローやコードレビューの文化が普及してきていますが、 コード規約まわりの細かい指摘ってするべきなのか、迷いますよね。 例えばカンマの後にスペースがいるとか、引数が多いときに改行した方が良いとか・・・。 いちいち指摘してた…

RubyKaigi2014 速報(5) – おはよう Rails

Ohayo Rails 高井さん進行 あれあれ?大きなお友だちの声が聞こえないよ? 大きな声でおはようございます なんでマリ見てパロってるの?

RubyKaigi2014 速報(4) - KeyNote: Coming soon... (Matz)

Ruby 3.0について 10年位の期間がかかるかもしれないが、考えてみよう ひとつはConcurrency、ひとつはJIT (LLVM?)、そしてStatic Typing Static typing 20世紀に生まれた言語の多くは、変数に型が無い

RubyKaigi2014 速報(3) - Symbol GC

Symbol GC - @nari3 SymbolをGCの対象にしたよ、という話 "Nakamra" の中でRuby会最強 意識低いRubyistとして活動中 ruby-2.2.2だと作ったシンボルは開放されないけど、ruby-trunkだときちんと開放される

RubyKaigi2014 速報(2) - Building the Ruby Interpreter

Building the Ruby Interpreter - koi1 参加者とのインタラクションを楽しむために、KeyNoteではあまり深ぼらない 2014年は個人的にとても大切な年。今年結婚して明日結婚記念日。 10年

RubyKaigi2014 速報(1) - CRuby Committers Who's Whos in 2014

CRuby Committers Who's Whos in 2014 - Chikanaga-san CRuby コミッタの紹介 Commiterはbotも含め84 account, そのうち1年間に活動していたのは50人 * Speakerとなっているspekerは15人、3人はキーノートスピーカー http://d.hatena.ne.jp/nagachika で、ru…

AWS ElasticCacheのRedisをDefault設定で使ったときのConnection Leakの解決方法

現在、弊社にて提供しているサービスのほぼ全てにおいてAWS(Amazon Web Service)を利用しており、その中でも頻繁にアクセスが必要なデータについてはElasticCacheのRedis/Memcachedを利用しています。今回は、そのElasticCacheでRedisを利用する場合において…

そのガチャの確率、本当に合ってます?〜RSpecで統計的に確認する話〜

背景 ソーシャルゲームでよく見かける「ガチャ」ですが、この記事ではその重み付き確率の保証方法を紹介します。

デザイナーが最低限知っておきたい4つの心理効果まとめ

はじめに はじめまして。Akatsukiのデザイナーの渡邊です。 このAkatsukiHackersLabというハンパ無いブログの場をお借りして、デザイナーにとってなにか少しでも意味のある記事を書いていけたらと思います。

ハッカソン「AWS * クリエイティブ」開催レポート

アカツキハッカソン部の第2回イベント「クリエイティブ * AWS => 業務を楽しく!」を7月5日に開催いたしました。沖縄の会社員から香港出身スタートアップ、ハッカソン主催者や女子学生に至るまでご参加いただき、非常に濃い1日を過ごす事が出来ました。 以…

Cocos2d-xによる2.5次元表現

Cocos2d-xによる2.5次元表現 背景 「次元」というと理系出身の人は大体ベクトル空間の次元を思い浮かべると思います。 最近はネットで「2.5次元の女の子しか興味ない」というと3DCGの美少女のことを指したりしますよね。 実は形式的に整数でない「次元」を定…

Expressing "2.5D" spaces with Cocos2d-x

Expressing "2.5D" spaces with Cocos2d-x Background These days, the terms of "dimension" is not limited to vector spaces -- in Japanese internet slang, "2.5D girls" refer to girls rendered using 3DCG. As a matter of fact, you can actually f…

第21回 AWS User Group - Japan 東京勉強会 で LT しました

「Startup CTO AWS Battle」というテーマで、CTO ではない自分が戦う要素の無い発表をしてきました。 ※ アカツキには現在CTOはいません。 アカツキはどのようにAWSを活用しているか #jawsug from aktsk innodb_flush_log_at_trx_commit の辺りで反応している…

デザインチーム黒板活動報告

みなさま、はじめましてアカツキのデザイナーの本山です 現在、テイルズオブリンクのUIやバナーのデザインをしております。 今回はアカツキデザインチーム(プロジェクト関係なくデザイナーで括ったチーム)で 社内の黒板に自社アプリのサウザンドメモリーズ…

Redis、計算量の恐怖

はじめまして。アカツキのサーバエンジニアのこうのです。サウザンドメモリーズで主にサーバ側のプログラム・インフラを担当しています。 今回はサウザンドメモリーズで発生した、Redisにまつわるトラブルを紹介したいと思います。 TL;DR RedisのSorted Set…

9分43秒のデプロイを19秒にした話

背景 アカツキではRailsでゲームサーバを開発しています。インフラはAWSにあり、CloudFormation, Chef, Capistrano を用いて、Infrastructure as Code を実現しています。 エンジニアは普段ローカルマシンで開発していますが、ディレクター、レベルデザイナ…

健康・エクササイズ系POGサービス

POG

こんにちは!Akatsukiインターンの速水です。 今回は、健康・エクササイズ系POGサービスについてご紹介したいと思います。 Super Better(心身の健康改善ゲーム)

子供に優しいPOG医療・健康サービス

こんにちは!Akatsukiインターンの速水です。 僕は今、POGプロジェクトという新規事業の立ち上げに携わっています。 POGとはPower Of Games(ゲームの力)の略で、今Akatsukiでは、日常よく遊ぶゲームの要素をゲームでない分野のサービスやプロダクトに応用…

サウザンドメモリーズUIの秘密

皆様、初めまして。 アカツキの風紀委員長&デザイナーのはしもとです。 サウザンドメモリーズとテイルズオブリンクのデザインや演出を作っています。 今回はサウザンドメモリーズのUIに関してのKeynoteを作成したので公開したいと思います。 コンテンツは以…