タグ

ブックマーク / techblog.kayac.com (20)

  • スケーラブル tail -f | grep on AWS - KAYAC Engineers' Blog

    こんにちは。組長こと @fujiwara (id:sfujiwara) です。 早速ですが皆さん、ログは見ていますか? 当然見ていますよね。tail -f で追いかけるとか大好きですよね。という前提で話を進めましょう。 この記事は Tech KAYAC Advent Calendar 2016 の24日目の記事です。 TL;DR 多種多様なホストから発生するログの末尾を tail -f で追いかけたい fluentd + ローカルファイルで行うのはちょっと面倒 Amazon Kinesis + Lambda を使ってスケーラブルな仕組みを考えてみた kinesis-tailf というツールも作った 既存の仕組みと問題点 techblog.kayac.com 弊社の Lobi とソーシャルゲームでは、この記事で紹介されたような Fluentd を活用したログ集約の仕組みを整備しています。この

    スケーラブル tail -f | grep on AWS - KAYAC Engineers' Blog
    punitan
    punitan 2016/12/26
  • Electron + React + Redux - KAYAC Engineers' Blog

    JSで書くデスクトップアプリが熱い Electron 熱いです。 Atom を始め、Qiita の Kobito や Slack など、 十分に実用できるアプリケーションが登場しはじめています。 なにかと話題のRPGツクールMVは、NW.js(旧node-webkit)ですが、これもJSで書かれていますね。 NW.js は、その他、女の子といちゃこらする系のゲームでも使われています。 JS でデスクトップアプリを書いて、うん千万売り上げるのも、もはや絵空事ではありません。 今回は、Electron と ReduxReact の組み合わせで、 デスクトップアプリを作るまでの、簡単なチュートリアルを書きます。 登場人物紹介 Electron Github が開発してる、JS でデスクトップアプリが書けるすごいやつ NW.js より活発そうですごい React Facebook 製のすごいやつ

    Electron + React + Redux - KAYAC Engineers' Blog
    punitan
    punitan 2015/12/17
  • #14 ECMAScript 6のやばい扉を開けちゃうかな(Generators編) - KAYAC Engineers' Blog

    tech.kayac.com Advent Calendar 2014 14日目です! ざっくばらんにES6のジェネレータのことを書きます。 実のところそんなにやばくないです。 ECMAScript 6! ECMAScript 6、盛り上がってきましたね。 クラスやアロー演算子、let装飾子など、 魅力的な機能がいくつも追加されるES6ですが、 今回は、その中でもジェネレータについて書きます。 ジェネレータ! ECMAScript 6で追加される新たな機能や構文、 "新たな"とはいえ、その多くが、シュガーシンタックス程度に留まっているのと比べ、 ジェネレータは、処理そのものの流れを大きく変えます。 ジェネレータはとりわけ、非同期処理を書くときに役に立ちます。 Promisesやasyncが、非同期処理を並べる程度の解決しかできないのに対して、 ジェネレータは、ネストを一切せずに、非同期処理

    #14 ECMAScript 6のやばい扉を開けちゃうかな(Generators編) - KAYAC Engineers' Blog
    punitan
    punitan 2015/03/11
  • 旅する勉強会 - tech.kayac meetup #0 を開催します - KAYAC Engineers' Blog

    (今年初の更新なので)あけましておめでとうございます! acidlemon です。今年も8分の1がおわりましたね! みなさん進捗どうですか? ぼくはダメです。 さて、日はカヤック主催の技術勉強会の開催告知をお届けします。 きたる2月25日(水)、渋谷ヒカリエにてカヤックのエンジニアが最近アツい技術やノウハウについてトークをするtech.kayac meetup #0 を開催します。詳細につきましてはconnpassをご参照ください。 旅する勉強会 tech.kayac meetup #0 告知は以上です。 告知が淡泊すぎてスペースが余ってしまいました。せっかくなので駄文を書きます。 開催の苦悩 開催告知エントリになんでいきなり苦悩を書き始めるのかみたいな感じですが、まぁちょっとダマされたと思ってお時間がありましたら読んでみてください。 カヤックでは昔から毎週金曜日に社内で技術部勉強会を行

    旅する勉強会 - tech.kayac meetup #0 を開催します - KAYAC Engineers' Blog
    punitan
    punitan 2015/02/18
  • #20 Amazon CloudSearchで検索サジェスト機能を作った話 - KAYAC Engineers' Blog

    tech.kayac.com Advent Calendar 2014 20日目を担当する@ken39argです。 近況報告 お久しぶりです。 前回ブログを書いたのが、2012年のアドベントカレンダーでしたので、2年ぶりということになります。 前回のブログの出だしが、 「最近子供が産まれた」 でしたが、 4日前の 12/16の朝に2人目の男の子が産まれ、 日嫁と子供が病院から帰ってました。とてもバタバタしております。 長年、特にFlashLiteの動的生成などを得意分野としてガラケーを始めとするケータイ向けブラウザゲームを作ってきましたが、 昨年末から心機一転 LobiチームにJoinして、主にLobi REC SDKのサーバーサイドの開発を担当しています。 今年も様々な人やサービスの助けを借りてオートスケールする動画変換サーバーやニコニコ動画へのアップロード、 プレイ動画を見るためのL

    #20 Amazon CloudSearchで検索サジェスト機能を作った話 - KAYAC Engineers' Blog
    punitan
    punitan 2015/01/06
  • #10 Consulと連携するpull型デプロイツール stretcher - KAYAC Engineers' Blog

    tech.kayac.com Advent Calendar 2014 10日目担当の @fujiwara です。 最近書いている stretcher というデプロイツールの紹介をしたいと思います。 長いので3行で push型デプロイはホスト台数が増減しやすい環境に適さない 各種問題を解決するpull型デプロイツールを書いた Consul と連携するよ 中央ホスト配布(push)型デプロイの問題点 カヤックの自社サービスでは久しく Archer というツールを利用し、中央ホストから各デプロイ対象ホストrsync でファイルを配布する形のデプロイを行っていました。ここではこれを push 型と呼びます。 push型のデプロイは、ホスト台数が頻繁に増減する環境で以下のような問題があります。 新しくホストが起動してきた場合に、中央ホストからデプロイを行ったあとでないと (古い状態で起動してい

    #10 Consulと連携するpull型デプロイツール stretcher - KAYAC Engineers' Blog
    punitan
    punitan 2014/12/20
  • #6 ガワネイティブアプリをつくろう!! - KAYAC Engineers' Blog

    ガワネイティブアプリをつくろう! こんばんは。カヤックのAdvent Calendar6日目は、@fnobiがお送りします。 最近の業務ではいけてるSDKを作るため、Javaを書いたりC#を書いたりC++を書いたりしつつ、 Webを作るのも大好きなのでJavasciptをがりがりしたりしています。雑エンジニアです。 さて今回のブログですが、専門的な話をしても、弊社のもっと専門的な人に踏み潰されそうな予感がするので、 こちらも雑な話をしようと思います。 テーマはズバリ、 ガワネイティブアプリです! ガワネイティブアプリとは ガワネイティブとは 「側ネイティブ, ガワだけネイティブ, ガワだけアプリ, ハイブリッドアプリ」: - IT用語辞典バイナリ ガワネイティブアプリとはつまり、 ガワ(外側)はスマホアプリとして書くけれど、コンテンツはほとんどWebViewっていうアプリのことです。

    #6 ガワネイティブアプリをつくろう!! - KAYAC Engineers' Blog
    punitan
    punitan 2014/12/07
  • #11 MySQL Master HA を AWS で動作させる場合のフェイルオーバー支援ツール MHA::AWS のご紹介 - KAYAC Engineers' Blog

    こんにちは、@fujiwara です。 2013年を振り返ると、春の新卒研修での社内ISUCON、秋のISUCON予選と選でずっとISUCONをやっていたような気がしていまして、さてそれ以外になにか……そういえばインフラ回りの仕事もしていましたね。 カヤックのサーバインフラ全体としては、Amazon Web Service(AWS) への移行が進んだ1年でした。いままで自社サーバでやっていたソーシャルゲームや、比較的アクセスが多いとある自社サービス(これは後ほど事例公開されるかも知れません) を、AWS上で構築したり移行したり、という仕事が多かったです。 AWSでサービスを構築する場合、MySQL については RDS を利用する EC2 インスタンス上に MySQL サーバを稼働させる というどちらかの手段を取ることになります。 RDSはフェイルオーバーやバックアップを自動でやってくれま

    #11 MySQL Master HA を AWS で動作させる場合のフェイルオーバー支援ツール MHA::AWS のご紹介 - KAYAC Engineers' Blog
    punitan
    punitan 2014/12/03
  • ISUCON3出題の裏側 - KAYAC Engineers' Blog

    acidlemonです。今日はもうなんだかいろんなところに記事を書かなきゃならなくててんてこまいとなっております。 さて、最初に告知です。 毎週カヤック技術部では金曜日の夜に技術部勉強会を行っています。今週末はISUCON3の優勝チームのtagomorisさんとkazeburoさんをゲストにお迎えして、出題担当のfujiwaraとともに今回のISUCONを振り返ってもらい、せっかくだから外部の人をバンバンよんで酒のみながらLTとかもしてもらっちゃおう! みたいな感じになっています。 追記(2011/11/11 20:15): kazeburoさんのスケジュールも確認取れましたので追記しました ということで、ISUCON3反省会というイベントを立てましたので参加希望の方はこちらから参加表明をおねがいします。費用はカヤック持ちで参加無料となっておりますので好きなだけビール飲んでいってください!

    ISUCON3出題の裏側 - KAYAC Engineers' Blog
    punitan
    punitan 2013/11/12
  • 2013年の新卒研修と社内ISUCONやりました - (1) 研修編 - KAYAC Engineers' Blog

    4月になり、新人が入ってくる季節になりました。技術部新卒研修担当の fujiwara です。 これまで弊社技術部では特に技術部としての研修というものを行っていなかったのですが、今年は何かやりたいねということで人事部に7日間確保してもらい、主に acidlemon と2人で新卒8人に研修をすることになりました。 研修の資料などは GitHub でプライベートリポジトリを作って作業しており、それをまとめたものを GitHub上で kayac/newbie-training として公開しています。 どのような内容にするかは事前に昨年度の新卒を含めたエンジニア陣で(社内勉強会でビールを飲みながら)話し合い、 現場で実務に追われてしまうと身につきにくい基礎的な内容 コードを書ける人は多いけどLinuxサーバの操作は不慣れな人が多いので、そのあたりを底上げする内容 をメインに構成してみました。また、7

    2013年の新卒研修と社内ISUCONやりました - (1) 研修編 - KAYAC Engineers' Blog
    punitan
    punitan 2013/04/23
  • 2013年の新卒研修と社内ISUCONやりました - (2) ISUCON死闘編 - KAYAC Engineers' Blog

    技術部新卒研修担当の fujiwara です。 前回の記事「2013年の新卒研修と社内ISUCONやりました - (1) 研修編」に引き続き、新卒研修の最後を飾るイベント、社内ISUCONについて詳しく振り返ります。 社内ISUCONとは レギュレーションはこちらです。 各チーム1台ずつ使用できる仮想マシン上で、お題のアプリケーションを動作させる 外部からベンチマークを行って処理できたリクエスト数をスコアとする アプリケーション、OS、ミドルウェアなど、どのようなチューニングを行ってもよい ベンチマークスクリプトはデータの整合性をチェックするロジックが組み込まれており、アプリケーションとして不整合を起こしていることを検出するとFAIL(スコアなし) 10:00〜17:00 までの作業中には適宜ベンチマークを実行できる 作業終了後の最終計測でのスコアが高いものが優勝 (FAILしたら失格。1

    2013年の新卒研修と社内ISUCONやりました - (2) ISUCON死闘編 - KAYAC Engineers' Blog
    punitan
    punitan 2013/04/23
  • #10 2012年に作ったものを振り返りつつProcletマジ便利 - KAYAC Engineers' Blog

    2012年も残すところあと20日ほどとなりましたが皆様いかがお過ごしでしょうか。@fujiwara です。 このエントリは tech.kayac.com Advent Calendar 2012 10日目の記事です。 テーマが「私の中のマイイノベーション 2012」ということで、まずこの1年に作ったものを自分の blog エントリから振り返ってみますと… Perl から Fluentd にログ出力 - Fluent::Logger リリース 今年一番話題になったミドルウェアといえば fluentd でしょうか。その fluentd に Perl からログを出力するためのモジュールです Parallel::Benchmark というモジュールを書きました 並列にプロセスを起動して負荷を掛けるベンチマークを簡単に作るためのフレームワークです。弊社の主にソーシャルゲーム案件で、リリース前の負荷テ

    #10 2012年に作ったものを振り返りつつProcletマジ便利 - KAYAC Engineers' Blog
    punitan
    punitan 2012/12/13
  • canvasでキラキラした背景を作る方法 - KAYAC Engineers' Blog

    tech.kayac.com、ささやかにリニューアルしました! tech.kayac.comをご覧の皆さん、はじめまして。意匠部ME課のfuchigamiといいます。 どうして技術部ブログに意匠部の野郎が?って感じですが、 技術部ブログのリニューアル記念ということで、ちゃっかりcanvasについて記事を書こうと思います。 最初なので、、、 簡単にぼくの属性を説明すると、html5とか好き、CSS3とか好き、canvasとか興味ある、非モテjavascriptはjQueryがなんとなくわかる程度、非リア充。こんな感じです。 今回のリニューアルではコーディング全般を担当しました。 特に、プログラミングに関してはド素人だ!ということを強調しておきます。 そんなぼくが、canvasを使ってキラキラした背景を作ってみました 「リニューアルするからには新しいことがやりたいよね。だったらhtml5とc

    canvasでキラキラした背景を作る方法 - KAYAC Engineers' Blog
    punitan
    punitan 2012/07/15
  • Rubyで開発するときに入れておきたい三種のRubyGems - KAYAC Engineers' Blog

    「つくるための三種の神器」というテーマで続けている「777ブログウェイ」! 9日目となる日は「Rubyで開発するときに入れておきたい三種のRubyGems」と題して、定番の RubyGems を3つご紹介します。 1. bundler「bundler」は、アプリケーションが依存するgemを管理するツールです。今やgem管理のデファクトスタンダードです。 「gem install hoge」のようにコマンドで gem をインストールしていくと、あれよあれよとグローバルな領域にどんどん色んなgemが…それも複数バージョン混在していきます。そして、いずれは、このアプリケーションで必要なgemはどれだっけ…バージョンはいくつだっけ…といった具合に、どんどん依存関係が分からなくなってきます。ここで活躍するのが「bundler」です。 使い方はいたって簡単。1) bundler のインストールgem

    Rubyで開発するときに入れておきたい三種のRubyGems - KAYAC Engineers' Blog
    punitan
    punitan 2012/06/18
  • カヤック流ソーシャルアプリの作り方 インフラ編 - KAYAC Engineers' Blog

    入社4年目にもなってtech.kayac初登場のせいです。 ブログ書けプレッシャーにとうとう屈する時がきました。 これで夢にkyo_agoが出てうなされなくてすみます。(彼はtech.kayacの尻たたき担当でした) 先々月「ぼくらの甲子園!熱闘編」というゲームをモバゲー内にてリリースしました。 これは去年リリースした「ぼくらの甲子園!」の続編です。 モバゲーユーザの方、是非遊んでみてください。 今回はこの「ぼくらの甲子園!熱闘編」がどういうインフラ構成になってるか紹介したいと思います。 注) 題名に「カヤック流」とはつけましたが、カヤックでは多様性を善としている風潮があり、 ゲームによってインフラの構成が違うどころか、利用しているプログラミング言語すら違います。 なので全てのゲームがこのような構成になってるわけではありません。 前提 今回のインフラ構成を決めるに至って考慮した点は「ラクに

    カヤック流ソーシャルアプリの作り方 インフラ編 - KAYAC Engineers' Blog
    punitan
    punitan 2011/10/11
  • モテるJS系女子力を磨くための4つの心得 - KAYAC Engineers' Blog

    1. あえてECMAScript3.0以前の実行環境を使う あえてECMAScript3.0の実行環境を使うようにしましょう。そしてATNDで好みの男がいたらLT参加を告知し、わざとらしく発表準備段階でコンソールを出していじってみましょう。そして「あ~ん! この実行環境当にマジでチョームカつくんですけどぉぉお~!」と言って、男に「どうしたの?」と言わせましょう。言わせたらもう大成功。「ECMAScriptとか詳しくなくてぇ~! ずっとコレ使ってるんですけどぉ~! Object.keysが使えないんですぅ~! ぷんぷくり~ん(怒)」と言いましょう。だいたいの男は新しい実行環境を持ちたがる習性があるので、ECMAScript5の実行環境を使っているはずです。 そこで男が「新しい実行環境にしないの?」と言ってくるはず(Object.prototypeの拡張を勧める男はその時点でガン無視OK)。

    モテるJS系女子力を磨くための4つの心得 - KAYAC Engineers' Blog
    punitan
    punitan 2011/05/11
  • 今日から始めるCoffeeScript - KAYAC Engineers' Blog

    こんにちは。毎年花粉症になりかけている飯塚です。 最近のNode.jsの普及などによってサーバサイドJavaScript界隈が盛り上がっています。 そんなホットなJavaScriptをラクにかつエレガントに書くためのCoffeeScriptという言語をチュートリアル風に紹介します。 何かしらのライブラリを自分で書く程度にJavaScriptで開発している人は絶対に使ったほうがいいと思います。 JavaScriptを知っていれば1-2時間程度で十分駆使できるようになります。 (2011/6/28:@m_satyr様にご指摘頂いた箇所を修正しました。) 目次 CoffeeScriptとは? インストール Hello World 構文 関数 変数展開 Objectの生成 ループ 存在チェック ヒアドキュメント thisのバインド クラス 無名関数 {var} Tips ?の使い分け 存在チェック

    今日から始めるCoffeeScript - KAYAC Engineers' Blog
  • nginxのHttpLimitReqModuleを試してみる - KAYAC Engineers' Blog

    ※この記事はnginxの現時点での最新stable 0.8.54を使っています。 2回目の投稿になります、sugyanです こんにちは。 最近、jsdo.itでちょっとしたAPIを作ってみているのですが、連続で大量のリクエストが来るのはちょっと困るので、防御策としてnginxのリクエスト制御モジュール"HttpLimitReqModule"を導入してみることにしました。 http://wiki.nginx.org/HttpLimitReqModule 何も設定しない場合 まずは普通のnginx設定でhttpサーバを立ち上げて、動かしてみます。 worker_processes 1; error_log logs/error.log info; events { worker_connections 256; } http { log_format test '$remote_addr -

    nginxのHttpLimitReqModuleを試してみる - KAYAC Engineers' Blog
  • node.jsはじめました - KAYAC Engineers' Blog

    はじめまして! 技術部2年目のsugyanと申します。 初めてtech.kayac.comに投稿します! 先日自分のブログで書いた記事が思いのほか好評だったので、これについてもう少し詳しく書いてみようと思います。 node.js+socket.ioを使ったライブコーディングwebアプリを作ってる - すぎゃーんメモ node.jsについて 最近話題の、サーバーサイドJavaScript「node.js」。みなさん触ってみてますか? 「Google V8 JavaScript Engineによるイベント駆動の…」と、どんなものかは知っているものの実際には触っていない、という人がまだ多いような気がします。 僕も昨年の12月くらいにようやく触ってみた という程度なのですが、意外にお手軽で簡単に使えるし面白いので、 「JavaScriptはまだニガテで ><」というヒトでも安心して始められるのでは

  • Firebugの意外と知られていない機能紹介(プログラマ向け) - KAYAC Engineers' Blog

    羊毛布団を洗濯機にかけられないことを知りました。ago(@kyo_ago)です。 意外と知られていない機能が多い!?Firebugの使い方を見て、プログラマ向けも欲しくなったので書いてみました。 1. ショートカット一覧 以下のページでFirebugのショートカット一覧が公開されています。 http://getfirebug.com/wiki/index.php/Keyboard_and_Mouse_Shortcuts 取り合えず以下の二つだけでも覚えておくと効率的かもしれません。 F12でFirebugの有効、無効の切り替え 広いコマンドラインモード時にCtrl+Enterでコードを実行 また、以下のメニューからショートカットの変更も行えるので、他の拡張等とショートカットがかぶった場合でも別のキーで使用することが出来ます。 2. Firefox体のツールバーに「要素を調査」ボタン Fi

    Firebugの意外と知られていない機能紹介(プログラマ向け) - KAYAC Engineers' Blog
    punitan
    punitan 2010/07/29
  • 1