響け♪ eupho ニアム

※ この記事は Tech KAYAC Advent Calendar 2016 14日目の記事になります こんにちは、劇場版でガルパンにどハマりして映画なんて全然観ない人間だったのに気づいたらほぼ毎週立川や幕張新都心にガルパン劇場版観に行って気づいたらこの一年で50回以上観てた…

社内Slackを支えるemoji

この記事は、Tech KAYAC Advent Calendar 2016 の13日目の記事です。 社内Slack 弊社では、社内コミュニケーションツールとして、Slackを採用しています。 Slackの便利なところを挙げれば、枚挙に暇がないのですが、 とりわけ素晴らしいのは、emojiによるリ…

【Unity】 NGUIについて

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

ウェブページをできる限りネイティブアプリっぽく魅せるテクニックまとめ 〜アップルにリジェクトされつづけるなら、ウェブアプリとストアをつくって自前で配信してしまおうという企み〜

https://kimizuka.github.io/web-app-store/example/ 北斗市公式キャラクター ずーしーほっきー ©2013 北海道北斗市 を使用させていただいております。ウェブページをできる限りネイティブアプリっぽくみせて配信するために色々研究しました。 もくじ はじめ…

【Unity】 uGUIについて

はじめに はじめまして。 カヤックのソーシャルゲーム事業部の Unity エンジニアの高です。 今回は Unity の uGUI について紹介します。 この記事はカヤック Unity アドベントカレンダー 2016 の 12 日目の記事です。 uGUI について Unity 4.6 から新しい UI…

年の瀬なので2016年に呟かれた10万件のツイートから人気のWebコンテンツ20選まとめちゃうよ!

この記事はカヤックアドベントカレンダー2016の11日目の記事になります。 こんにちは。CL事業部サーバーサイドの @Pocke777 です。前回、 菊川怜を題材にした記事を書いた犯人です。 その節は大変失礼いたしました。 はじめに 今年を振り返るとオリンピック…

【Unity】RenderTexture

はじめに こんにちは、Unityエンジニアの清水です。 この記事はカヤックUnityアドベントカレンダー2016の11日目の記事になります。 今日はRenderTextureについてお送りします。 RenderTextureとは RenderTextureはカメラで撮影した内容をTextureとして使える…

【Unity】Texture Format

はじめに はじめまして。カヤックの技術基盤チームの Unity エンジニアのアファトです。この記事はカヤックUnityアドベントカレンダー2016の10日目の記事になります。 今日は Texture Format ついてお送りします。 Texture Formatについて ゲームに使われる…

ナンバーリンクをプログラマチックに解こうとする話

LobiでAndroidをやってますうえだです。 Tech KAYAC Advent Calendar 2016の10日目の記事を書かせていただきます。 よろしくお願いします! 業務で携わった「Androidでアプリを録画した話」について書こうか、 完全業務外の「ナンバーリンクというやつをいい…

Webブラウザ上でリアルタイムにぼかしを加えたい

自己紹介 初めましての人は初めまして、そうでない人はこんばんは。HTMLファイ部のポロです。 この記事はなに? アドベントカレンダー9日目の記事です。 この記事ではWebブラウザ上でリアルタイムにぼかしを加えるにはどんな方法があるかを書きます。 (当初…

Unityでよく使うデザインパターン

はじめに この記事はカヤックUnityアドベントカレンダー2016の9日目の記事になります。 昨日に引き続き清水がお送りします。 今日はUnityの開発でよく使われるデザインパターンをいくつか紹介します。 Flyweight Flyweightは複数のオブジェクトから共通のオ…

突撃!隣のキーボード

Lobiチームの長田です。 このエントリはTech KAYAC Advent Calendar 2016の8日目です。 昨日は「【Docker】MySQLのフェイルオーバーをdocker-composeで構築」でした。 techblog.kayac.com 今回はゆる~く眺められる内容となっております。 皆さんキーボード…

Unityの非同期処理

はじめに こんにちは、ソーシャルゲーム事業部のUnityエンジニアの清水です。 この記事はカヤックUnityアドベントカレンダー2016の8日目の記事になります。 ゲームにおいて、重い処理を実行した時に、処理が終わるまで画面が止まるというのは避けたいもので…

UnityでC#を使うときのヒント集

はじめに こんにちは。カヤックソーシャルゲーム事業部技術基盤チーム所属、Unityエンジニアの権と申します。普段はUnity用のツールや共通ライブラリーなどの開発を担当しています。よろしくお願いいたします。 この記事はカヤックUnityアドベントカレンダー…

【Docker】MySQLのフェイルオーバーをdocker-composeで構築

【Docker】MySQLのフェイルオーバーをdocker-composeで構築 自己紹介 はじめまして、入社新米のおかむーです 23歳です clでサーバーサイドを担当しています 絶賛勉強中です 初めての投稿なので、お手柔らかにお願いします。 概要 MHA, master1, master2, sla…

【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などがありましたが、スマートフォンが普及した昨今ではネイ…