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

【Unity】ScriptableObjectの基本と応用について

今回はScriptableObjectの基本機能の解説と、Editor拡張と合わせた応用事例の紹介をします。 こんにちは、ソーシャルゲーム事業部所属エンジニアのぴーちんです!!宜しくお願いします この記事はカヤックUnityアドベントカレンダー2016の6日目の記事になり…

我が子Macの体温を表示して健康状態を知る。

※ この記事は Tech KAYAC Advent Calendar 2016 6日目の記事になります 皆さんはじめまして、デニール(@ryusukefuda)と申します。 去年のアドベントカレンダーだは"ドレッドヘアのエンジニアが教えるAndroid Wear Watch Faceのつくりかた" という記事を書い…

【Unity】Prefab

はじめに この記事はカヤックUnityアドベントカレンダー2016の5日目の記事になります。 今日の内容はPrefabについてです。基本的な使い方などを中心に説明いたします。 ソーシャルゲーム事業部所属、Unityエンジニアの荒井と申します。 現在は社内で運用と開…

HTJS: JavaScriptでHTMLを書くとしたら?

はじめに ※ この記事は Tech KAYAC Advent Calendar 2016 5日目の記事になります こんにちは。HTMLファイ部の @butchi_y です。 僕の将来の夢は言語を作ることです。 言語って自然言語かよプログラミング言語かよ、と思われるかもしれませんが、両方です。 …

イラストをwebでアニメーションさせてみよう!

こんばんは、HTMLファイ部のおくむらです! アドベントカレンダー4日目の記事を書かせていただきます。 今回は、Animate ccを使って自分で描いたイラストをcanvasでアニメーションさせる手順を書いてみようと思います。 流れとしては… ① 動かす素材を用意する…

【Unity】MonoBehaviour

はじめに こんにちは カヤックのソーシャルゲーム事業部で働いているUnityエンジニアのmadaです。 今日はMonoBehaviourについて紹介します。 この記事はカヤックUnityアドベントカレンダー2016の4日目の記事です。 MonoBehaviourについて理解するにはUnityの…

カヤックのWeb Starter Kitのはなし

こんばんは、HTMLファイ部ののびーです。Web技術で何かしらうまいことやるのを得意としてます。 今回はAdvent Calendarの場を借りて、HTMLファイ部で運用しているkayac-html5-starterの話をさせていただきます。 それはなんぞや なにはともあれレポジトリを…

【Unity】カメラとレイヤー

はじめに はじめまして。 カヤックのソーシャルゲーム事業部のUnityエンジニアのmadaです。 今日はUnityのカメラとレイヤーについて紹介します。 この記事はカヤックUnityアドベントカレンダー2016の3日目の記事です。 カメラについて UnityのSceneに配置さ…

【Unity】特殊なフォルダについて

はじめに この記事はカヤックUnityアドベントカレンダー2016の2日目の記事になります。 今日の内容は特殊なフォルダについてです。 ソーシャルゲーム事業部所属、Unityエンジニアの荒井です。 昨日のUnityの基本に引き続きの担当になります。 よろしくお願い…

ドキュメントがない機能をどうやって実装するか

こんにちは。 iOS/Android エンジニアをやっている @Gemmbu です。 Advent Calendar には毎年参加しているのですが、誰にも記事が刺さらず毎度心がちょっと折れています。 ドキュメントがない機能をどうやって実装するか iOS 10 から Broadcast Extension と…

【Unity】Unityの基本

はじめに この記事はカヤックUnityアドベントカレンダー2016の1日目の記事になります。 今日の内容はUnityエディタなどにおけるUnityの基本についてです。 ソーシャルゲーム事業部所属、Unityエンジニアの荒井と申します。 現在は社内で運用と開発が行われて…

rails db:fixtures:load を使おう

こんにちは。クライアントワーク事業部でサーバサイドエンジニアをやってる@kazasikiです。 今年もやってきましたAdvent Calendar。1日目は少し緊張しますね。 挨拶はほどほどにして、さっそくプログラムの話を始めましょう。 クライアントワーク事業部とRai…

【予告】カヤックUnityアドベントカレンダー2016

こんにちは、カヤックの技術基盤チーム、Unityエンジニアの清水です。普段はゲームの開発・運用のお手伝いをしています。 毎年カヤックでは、各領域のエンジニアが本ブログにアドベントカレンダーを書いていますが、今年はそれとは別に、ソーシャルゲーム事…

Tech KAYAC Advent Calendar 2016

こんにちは! 忘年会の準備に余念が無いことで評判の@Konboiです。 今年も残すところあと1ヶ月と迫ってきました!! 今年もKAYACエンジニア陣による Advent Calendar 2016 をお届けします!! クライアントワーク、 ゲーム、 Lobiと多岐に渡る事業部のメンバー…

RedashとRundeckで安全・安心なサービス運用

Lobiチームの長田です。 今回はLobiチームで使用しているRedashとRundeckというツールについて紹介します。

KAYAC engineers' blogのリニューアルですよ、皆さんっ!!!!1

いつもKAYAC engineers' blogをご愛読いただき、誠にありがとうございます。 ブログ初登場、社内インフラや管理系を担当しているやましんこと山田でございます。

分散環境でユニークなidを発番するGo製プロダクト「katsubushi」のご紹介

Lobiチームの長田です。 今回はkatsubushiというアプリケーションを紹介します。 https://github.com/kayac/go-katsubushi katsubushiはid発番を行うアプリケーションです。 水平分割されたデータベースに対してユニークなidを発番するために作られました。 …

チャットメッセージの即時反映を支える技術

Lobiチームの長田です。 今回はLobiの根幹であるチャットサービスの、Streaming APIについて紹介します。 多くのチャットサービスがそうであるように、 Lobiでも新しいチャットメッセージが画面リロードの必要なく表示されるようになっています。 チャットメ…

LobiにおけるConsul活用事例

Lobiチームの長田です。 今回はConsulのLobiにおける活用事例を紹介します。 Consulとは https://www.consul.io/ HashiCorp社が公開している、複数ホストを管理するために必要な機能が盛り込まれたツールです。 公式サイトには以下のように書かれています(意…

AngularJSを使ったWebサイトでSEOするためにLobiがやっていること

スマートフォンのネイティブアプリをメインにサービス展開しているLobiですが、 Webブラウザからも利用することができます。 https://web.lobi.co Webブラウザからでもチャットの投稿・閲覧が行えます。 このサイトは AngularJS を用いて実装されています。 …

【祝!リニューアル】カヤック 新コーポレートサイト、5種類テーマ切り替えの裏側!【フロントエンド芸】

どうも、フロントエンドエンジニアの田島です。 弊社カヤックでは、2016年の7月7日を以て3年ぶりのコーポレートサイトリニューアルを行いました。 https://www.kayac.com 今回のサイトの大きなテーマは、 5種類のデザインから自分の好きなテーマに切り替えて…

Lobiのログ集約・解析のはなし

Lobiチームの長田です。 あらゆるWebサービスがそうであるように、Lobiでも日々大量のログが出力されています。 今回はこのログをどのように集約・解析しているかを紹介します。 TL;DR アクセスログ・アプリログなど、毎秒10000行以上のログが生成されている…

カヤックのエンジニアのエディタ事情 2016

主にemacsを使っている長田です。 新卒が入社して2ヶ月が経ちました。 先日社内勉強会で新卒エンジニアへ見せびらかしヒントを与える機会として 普段使っている開発環境がどんなものかをシェアする場が設けられました。 その際の資料として、主にサーバーサ…

Push通知のためのProvider Server「Gunfish」

Lobiチームの吉村です。 今回はチャットサービスの品質を高める上で重要になってくる「Push通知」について、Lobiのアプローチのひとつである「Gunfish」を紹介します。 Push通知はユーザが「自分に返信が来た」「運営からお知らせが来た」などの情報をリアル…

AWS Lambdaを使ってベンチサーバー無しで社内ISUCONを運営したはなし

新人研修担当の長田です。 今年も新人研修の締めとして社内ISUCONを行いました。 昨年はプログラミング基礎の講師をやったのですが、 今年はその実績を買われて(?)社内ISUCONの出題を担当することになりました。 過去のISUCON準備の様子を傍から見ていた身と…

Perlだけじゃない!Lobiのサーバーサイドで活躍しているGo製プロダクト7+1個

Lobiはメインの言語としてPerlを採用しています。 サーバーサイドで使用するコードは、Webアプリケーションから手動実行用のスクリプトまで、 ほとんどがPerlで書かれています。 (なぜかPerl6のコードがあることになっていますが、さすがにまだ使ってません)…

LobiのDB masterがダウンすると何が起こるのか

Lobiチームの長田です。 今回はLobiで使用しているデータベースの構成・運用について紹介します。 TL;DR メインのデータベースとしてMySQLを使用 一般的なmaster-slave構成 HAProxyとMHAでDBのfailoverを自動化 HAProxyでslaveへの接続を分散・死活監視 MHA…

4月からメンターをしていた新卒氏が4月に入社する新人のメンターをやる事になった

はじめに どうも@Konboiです。 3月ももうすぐ終わり、あと今週末には2016年度新卒社員が入社してきますね!! 昨年の事を思い出すと、昨年の今頃 「メンターよろしく!」 って言われてワタワタしたのを覚えています。 ( もうちょっと前だった気もします) ちょう…

ファイル更新もchef実行もstretcherで!Lobiをデプロイするときにやっていること

Lobiチームの長田です。 今回は現在運用中のLobiというサービスのデプロイについて紹介します。 Lobi Chat & Game Community Lobiについての紹介は以前のエントリを参照ください。 サーバーサイドエンジニア視点でLobiというサービスを紹介します | tech.kay…

サーバーサイドエンジニア視点でLobiというサービスを紹介します

Lobiチームインフラ担当の長田です。 今年は弊社で運用しているLobiというサービスについて、 サーバーサイドエンジニアの視点から、月いちくらいのペースで紹介していきます。 今回は「Lobiとはなんぞや?」というところを書こうと思います。 サービスの概…

#24 CSSでブロックレベル要素を上下左右センターリングする方法

こんにちは、フロントエンドエンジニアのコウです! この記事はTech KAYAC Advent Calendar 201524日目です。 小テスト 問題:CSSで、灰色の円 div.circle をラッパー div.wrapper の中央に配置する方法は? CSSを下のテキストエリアに書いてください。.circ…

Swiftのoptionalが妙にしっくりきた理由

以前はRubyを一番書いていたのですが、最近Swift書いています。 Optional型がすごく素敵な仕組みだと思いました。 基本的にnilの乱用を防ぐ仕組みなのですが、僕はRubyではnilに苦しめられた方なので、すごくOptionalがしっくりきました。 Rubyでのnil対策 R…

あの大女優から見えてくる、人工知能開発の1つのアプローチ

このエントリーは tech.kayac.com Advent Calendar 2015 の22日目のエントリーです。 こんにちは。技術部のバックエンドを担当しているあっつーです。 今回はあの大女優から学んだアルゴリズムについて書いていきます。 はじめに 人工知能といえばこの分野を…

Objective-C で RFC を斜め読みして WebSocket サーバを書いた話

この記事は tech.kayac.com Advent Calendar 2015 の21日目、 @Gemmbu がお送りします。 NOTE これ作る前までは WiiU って本体に対してコントローラが複数繋げられると思っていたんですが、一つだけなんですね Apple TV がリリースされたことですし、何かア…

人体と電気と通知

こんにちは、この記事は tech.kayac.com Advent Calendar 2015 20日目の記事です。 さてみなさまはインターネットからの通知をどうやって受け取っているでしょうか? 過去にはメール、もしくはSMSなどがありましたが、スマートフォンが普及した昨今ではネイ…

ワンバイナリでローカライズ対応したゲームを開発した時の話

前置き こんにちはヾ(@⌒ー⌒@)ノ 癒し系魔法エンジニアとして前回の記事担当の@mix3から紹介されました@p_chinです('Θ' ) 普段はPOCKET FOOTBALLERというゲームの新機能開発などをやっておりますフロントエンジニアです。( 'Θ' ) 今回はこちらの開発中に作…

rktと戯れる

この記事は tech.kayac.com Advent Calendar 2015 18日目です。 こんにちは、Splatoon にハマりすぎて amiibo 揃えたり 気づけば イカクッション を2個もゲットして Splatoon 三昧な生活を送っている @mix3 です。イカ、特にガールが可愛くてしかたありませ…

入社してオープンフレームワークスについて学んだこと

この記事は tech.kayac.com Advent Calendar 2015 17日目です。 はじめに 近頃は寒いですね。皆さん、こんにちは!マッカー(マーティン)です。実はアンドロイドエンジニアですが、入社日からたった二週間からオープンフレームワークス("OF" in C++)に挑…

死ぬまでに一度は使っていただきたい将棋コマンド

皆様こんにちは、いかがお過ごしでしょうか。 技術部の@shogi727です。 水曜のひと時、16日目のtech.kayac.com Advent Calendar 2015でお楽しみください。 普段ターミナルを開いて作業をしている時、四角いターミナルの画面がそのまま将棋盤になってそのまま…

Electron + React + Redux

JSで書くデスクトップアプリが熱い Electron 熱いです。 Atom を始め、Qiita の Kobito や Slack など、 十分に実用できるアプリケーションが登場しはじめています。 なにかと話題のRPGツクールMVは、NW.js(旧node-webkit)ですが、これもJSで書かれていま…

機械学習をつかって「今日なに着てく?」を教えてもらうためのモック

tech.kayac.com Advent Calendar 2015 14日目担当の @_somtd です。 最近暑かったり、寒かったりどうもおかしな気候がつづきますね。 若いエンジニアがどんどん増えて立場が危うい昨今。気候の変化に柔軟に対応し、身体だけは健康でいたいと願っています。 …

MacでKinect v2を使う -2015 AW-

2015/12/15 追記: “準備"の箇所で、ofxMultiKinectV2が依存しているアドオン"ofxTurboJpeg"の情報が抜けていたので追加しました。 tech.kayac.com Advent Calendar 2015 13日目担当の @seiya_vw です。 昨日担当のドレッドヘア に変にハードルをあげられまし…

ドレッドヘアのエンジニアが教えるAndroid Wear Watch Faceのつくりかた

tech.kayac.com Advent Calendar 2015 12日目担当の @ryusukefuda です。 今年はAndroid Wear Watch Faceをいくつか仕事でつくったのとドレッドヘアにしたので、 どちらも同時に紹介したいと思います。 この記事を読んで欲しい人 普段Android開発をやってい…

App StoreのレビューをSlackに流すbotを作ってみた

はじめに ※ この記事は Tech KAYAC Advent Calendar 2015 11日目の記事です はじめまして。「ぼくらの甲子園!ポケット」というスマフォゲームアプリの開発と運用を担当している@laoujiです。 サービスインしているゲームの運用をしているエンジニアにとって…

日本人にしか読めない難読化ツールつくってみた

はじめに ※ この記事は Tech KAYAC Advent Calendar 2015 10日目の記事になります 初めまして。フロントエンドエンジニアの@butchi_yです。 いやー、SUSHI食べたいですよねー。 たまらなくて今日のランチはお寿司にしました。 つくったもの のっけから成果物…

Redis::Fast の reconnect について

この記事は tech kayac advent calendar 9日目の記事です。 インフラチームの @tkuchikiです。 最近検証した Redis::Fast の reconnect について紹介します。 Redis::Fast とは Redis::Fast は、弊社 @shogo82148 作の高速な perl の Redis クライアントです…

世界の何処かで MySQL(InnoDB)の REPEATABLE READ に嵌る人を1人でも減らすために

tech.kayac.com Advent Calendar 2015 8日目担当の @m0t0k1ch1 です。 今年は MySQL さんにいろいろ泣かされた1年でした。特に、あの夏、幾夜をともにした実行計画のゆらぎは一生忘れな(ry さて。。。今回は、そんな中でも誰もが一度は嵌るであろう(?)MyS…

社内IRCをSlackに移行した時にやったこと

藤原です。 カヤック社内では長らく社内のチャットシステムとして、Skype と IRC を併用してきました。Skype には一応全員アカウントを持っているのですが、IRCと比較すると botでの自動化が難しい 過去ログを参照しづらい 自分以外にだれもオンラインになっ…

AndroidのCamera2 APIとOpenGL ESでカメラの映像を表示してみた

この記事は tech.kayac.com Advent Calendar 2015の6日目のエントリーです。 こんにちは。今年の4月にカヤックに新卒で入社した下田と申します。 今年の6月からAndroid開発に携わるようになりました。まだペーペーのAndroiderです。 この記事では、Android 5…

ブラウザ界のブルーオーシャン! Google Chromeの「新規タブ」を活用したサービスとは!?

どうも、ご無沙汰しております。 カヤックで新卒2年目フロントエンドエンジニアをやっております、田島と申します。 さてさて、我々Webフロントエンジニアはhtml, css, javascriptという武器を手に、 ブラウザという主戦場で戦っているわけですが、もはやブ…