タグ

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

  • EKSからECSに移行して開発運用コストの削減を図る - KAYAC engineers' blog

    SREチームの長田です。 今回はカヤックで運用している「まちのコイン」というプロダクトのアプリケーション基盤を Amazon EKS(以下EKS)からAmazon ECS(以下ECS)に移行したはなしをします。 まちのコインとは coin.machino.co www.kayac.com まちのコインはカヤックが運営している、デジタル地域通貨を使ってその地域のコミュニティを活性化させるサービスです。 2019年11月から実証実験を開始し、翌年2月から正式リリースされました。 2022年9月現在、20の地域に導入されています。 一般ユーザーが使用するクライアントアプリと、導入地域の運営団体が使用するブラウザ用の管理画面、 それらにAPIを提供するRailsサーバーアプリがあります。 データベースはAmazon Aurora PostgreSQL、 その他AWSのマネージドサービスを組み合わせ

    EKSからECSに移行して開発運用コストの削減を図る - KAYAC engineers' blog
    uzulla
    uzulla 2022/09/29
  • PR TIMES x カヤック 合同技術勉強会を開催しました - KAYAC engineers' blog

    SREチームの藤原です。 2021年11月4日に、PR TIMES さんとカヤックのエンジニアで、オンライン合同勉強会を開催しました。 発端 各社の勉強会文化が消滅した結果、同業者の人と知り合う機会が消滅してしまったので、新卒1,2年目の人が横の繋がりを作ることができなくて厳しさしかない。自分は横の繋がりに助けられてきた人間なので…😢— 健康診断@11/17 (@catatsuy) 2021年9月30日 PR TIMES CTO の @catatsuy さんが、このようなtweetをしたのを見ました。確かにコロナ禍の影響もあってか最近のイベントは企業主催のものが多く、登壇経験の少ない若手が発表経験を積んだり、クローズドなイベントでわいわいやる機会がないなと思ったので、さっそく自分が Twitter(DM)で「オンラインでカヤックとPR TIMESさんで合同勉強会やりませんか?」と声を掛け

    PR TIMES x カヤック 合同技術勉強会を開催しました - KAYAC engineers' blog
    uzulla
    uzulla 2021/11/09
    やりました。PR TIMESも誰かがエントリ書くことを期待している() 次回は設計を取り巻く様々話をまこぴーさんたちとするという話になりましたので、こちらこそよろしくお願いいたします。(外堀埋めてくスタイル)
  • たった一言でエンジニアを怒らせる方法 10 おまけ付き - KAYAC engineers' blog

    この記事は、Tech KAYAC Advent Calendar 2020 の17日目の記事になります。 こんにちは。はじめまして。クライアントワーク事業部でコピーライターをしている合田ピエール陽太郎と申します。 www.kayac.com コピーライターとは 普段は、広告を見る人に向けて、どんな言葉を言えば振り向いてくれるか、商品を手に取ってもらえるかを考え続けて全精力を捧げている人間です。いわゆる短い言葉で、人を惹きつけるにはどうすればいいかを常日頃から考えています。たとえば、YouTubeの『好きなことで生きていく』、日産の『やっちゃえ日産』などは一度は目にしたことがあるのではないでしょうか。そういった言葉をディレクターから依頼されて考えることが多いです。 書こうと思ったきっかけ 僕がこれまで数社を渡り歩いてきた中でエンジニアと他の職能の人とが言葉のやりとりで上手くいかずに憤慨してい

    たった一言でエンジニアを怒らせる方法 10 おまけ付き - KAYAC engineers' blog
    uzulla
    uzulla 2020/12/17
    「まずはフィジビリティと概算見積もりだけでいいから明日朝一でください」がなかった。
  • kuiperbeltでWebSocketから卒業してみてSocket.IOと共に歩んでみる - KAYAC engineers' blog

    ソーシャルゲーム事業部の谷脇、またの名をid:mackee_wです。みなさんいかがお過ごしですか。 私は現在、東京プリズンというゲームアプリのサーバサイドを担当しています。東京プリズンはリアルタイムのボードゲーム的な殴り合いゲームなのですが、当然リアルタイム通信技術が使われています。 東京プリズンではリアルタイム通信に拙作のkuiperbeltというサーバミドルウェアが使われています。このミドルウェアは主にWebSocketの接続を管理します。kuiperbeltを使うと普通のHTTPしかしゃべることが出来ない言語・フレームワークであってもスケールするWebSocketアプリケーションを構築することができます。 ……という話は今年のCEDEC 2018で行ったので、こちらのスライドを見てください。 speakerdeck.com さて、このkuiperbeltの発表から現在までに実装した機

    kuiperbeltでWebSocketから卒業してみてSocket.IOと共に歩んでみる - KAYAC engineers' blog
    uzulla
    uzulla 2018/12/18
  • Vueでもっと幸せになりたいあなたへ。VueのUIコンポーネントライブラリVuetifyのススメ - KAYAC engineers' blog

    どうもみなさまおはようございます。あるいはこんにちは。あるいはこんばんは。 KAYAC Advent Calendar 2018の12日目の記事を担当します、今年1月に中途入社しましたエンジニアのたがみです。 前職ではサーバーサイドのSEとして業務系のwebアプリを開発したり運用したりしていましたが、今はクライアントワークのフロントのエンジニアとしてwebサイトを作ったり動かしたりぶっ飛んだものにしたりしなかったりしています。 今回は、そんな私がフロントエンドになったばかりの頃に仲良くなった思い入れのある言語、Google App Scriptの話を!・・・・・・と、つい二日前までは、思っていたのですが。 Google先生を訪ねて色々と検索していたところ「あれ・・・なんか・・・Vuetifyについての日語記事、実は少ないのでは・・・?」と気づいてしまったのです。 (もしかしたら気のせいか

    Vueでもっと幸せになりたいあなたへ。VueのUIコンポーネントライブラリVuetifyのススメ - KAYAC engineers' blog
    uzulla
    uzulla 2018/12/13
  • イケイケデザイナーになりたいので、XDを使ってVJをした - KAYAC engineers' blog

    こんにちは。KAYACクライアントワーク事業部デザイナーのちゃんちーです。(最近3Dになりました) 普段はtwitterslackっぽくするchrome拡張やインターネットの音だけで作ったビートなどを作っています。 いきなりですが、新卒一年目の僕、イケイケのデザイナーになりたいです。 「CDO」、「CXO」、「イケメンデザイナー」、「有名アートディレクター」などなど、イケイケデザイナーの像ってたくさんありますよね。 そんな僕にもなりたいイケてるデザイナー像があります...... それがこちら...... 『平日デザインして、週末にVJしてるデザイナー』になりて〜〜!!! そうなのです。平日は普通に業務をしながらも、週末はVJをして色んな人にちやほやされる。そんな思いを一度は経験したいのです。 しかし、VJなんて一度もやったことないし、VJとはなんなのか、どうやってVJしてんのかも正直わか

    イケイケデザイナーになりたいので、XDを使ってVJをした - KAYAC engineers' blog
    uzulla
    uzulla 2018/12/09
    すごい
  • builderscon tokyo 2017はカヤックがスポンサーをしております!! - KAYAC engineers' blog

    技術部ブログ編集委員の猿渡です。 カヤックがスポンサーするbuilderscon tokyo 2017の開催が迫ってまいりました!! みなさんチケットのご用意はお済みですか? 今年はなんと8月3日(木)〜8月5日(土)の三日間に渡って開催されます。 なんとボリューミーな、、、 面白そうな話がわんさか聞けそうですね!! たくさんのトークを聴いていれば、自然とお腹も空くものです。 会場周辺のお昼ごはん事情 なんと開催地である日吉駅の駅前は、ワンブロック置きにラーメン屋さんがあると言っても過言では無いほどのラーメン激戦区なんですね。 その数実に十数店舗、しかも各所で高評価を得ているお店ばかりです。 3日もあれば何件か回れそうですね、、、 なお、会場内で提供される事についてはbuilderscon::blogで紹介されています。是非チェックしてみてください。 さぁ、これで参戦準備は万端ですね!!

    builderscon tokyo 2017はカヤックがスポンサーをしております!! - KAYAC engineers' blog
    uzulla
    uzulla 2017/08/02
  • Lobiのログ集約・解析のはなし - KAYAC engineers' blog

    Lobiチームの長田です。 あらゆるWebサービスがそうであるように、Lobiでも日々大量のログが出力されています。 今回はこのログをどのように集約・解析しているかを紹介します。 TL;DR アクセスログ・アプリログなど、毎秒10000行以上のログが生成されている Fluentdを使用しログを集約 consul serviceを利用した集約サーバーの冗長化 ログ中のイベント検知・集約にはNorikraを使用 アクセスログの各種解析にはAmazon Redshiftを利用 ログの集約 ログ収集エージェント Lobiではログの集約にFluentdを利用しています。 Fluentd | Open Source Data Collector | Unified Logging Layer ログファイルの集約にはfluent-agent-hydraを、Perlアプリケーション内からのログ送信にはFl

    Lobiのログ集約・解析のはなし - KAYAC engineers' blog
    uzulla
    uzulla 2017/01/04
  • スケーラブル 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
    uzulla
    uzulla 2017/01/04
  • ソーシャルゲームのカスタマーサポートを支える行動ログとredash - KAYAC engineers' blog

    この記事はTech KAYAC Advent Calendar 2016の21日目の記事です。 こんにちは、ソーシャルゲーム事業部のぼくらの甲子園!ポケットのサーバサイド開発・運用を担当しておりますマコピーことid:mackee_wです。 ↑のヘッダ画像の人物はワタクシ、という噂があります。みなさま答えはあっていましたでしょうか。 ぼくらの甲子園!ポケットとは 2014年9月にリリースされた共闘スポーツRPGのスマートフォン向けゲーム 現在3年目でございます!!! 甲子園をモチーフにしてプレイヤーとプレイヤーが協力して別のチーム(CPUではない)と対戦して甲子園の頂点を目指す チーム(高校)の部員がプレイヤー9人揃わなければ試合が始まらない縛りとかも特徴です そんな感じで運営しておりますので興味を持たれましたらこちらからダウンロードのほどよろしくお願いしますm( )m。 ちなみにこの記事は

    ソーシャルゲームのカスタマーサポートを支える行動ログとredash - KAYAC engineers' blog
    uzulla
    uzulla 2016/12/23
  • AWS Lambdaを使ってベンチサーバー無しで社内ISUCONを運営したはなし - KAYAC engineers' blog

    新人研修担当の長田です。 今年も新人研修の締めとして社内ISUCONを行いました。 昨年はプログラミング基礎の講師をやったのですが、 今年はその実績を買われて(?)社内ISUCONの出題を担当することになりました。 過去のISUCON準備の様子を傍から見ていた身としては、 準備を始める前から「とにかく大変そうだ・・・」というイメージを持っていました。 問題を作りこむ以上、どうしてもISUCON当日ぎりぎりまでかかってしまうのでしょう。 ぎりぎりになるのはまあ準備する人が頑張ればいいとして、 ぎりぎりになった結果競技自体の進行が危ぶまれるのは避けたい! ということで、いくつか効率化という名の妥協策をとることにしました。 効率化できるところは? 毎回新規に出題するのはしんどい! 社内ISUCONは過去2回実施していますが、 どちらも新規に高速化対象のWebアプリケーションを作成していました。

    AWS Lambdaを使ってベンチサーバー無しで社内ISUCONを運営したはなし - KAYAC engineers' blog
    uzulla
    uzulla 2016/05/19
  • #20 RaspberryPiを仕事で使うためにAnsibleを使う話 - KAYAC engineers' blog

    この記事はtech.kayac.com Advent Calendar 201320日目の記事です。 どうも、Perlに洗脳されはしましたが、最近洗脳が解けPythonを書いています@mackee_wです。 最近はVOICE DRIVERや暗殺教室 殺ジェクションマッピング、X-TRAIL X-TECH GEAR PROJECTなどをやっているクライアントワークのデバイスチームでせこせこハンダゴテを握っていたりします。 そんな中で最近良く使っているRaspberryPiとAnsibleに関するいくつかのTipsを紹介させていただきます。 RaspberryPiについて 今までデバイスを作成する場合にはArduinoなどのマイコンボードやAVR、PICといったワンチップマイコンを使う場合が多かったのですが、RaspberryPiが強力すぎてArduinoと組み合わせて使う機会が多くなってきま

    #20 RaspberryPiを仕事で使うためにAnsibleを使う話 - KAYAC engineers' blog
  • #17 煩悩と苦しみについて - KAYAC engineers' blog

    どうも。退職者です。@kenjiskywalkerです。 teck.kayac.com Advent Calender 2013 17日目のエントリです。 前日は、@handlename先輩のプライベート情報を得るべく@SOMTDさんと必死になって質問していたら 何故か@handlename先輩が@damele0n氏のプライベート情報をペラペラとしゃべりだすという流れ玉を受けた @damele0n氏の#16 Leap Motionでおっぱいを揉む でした。 相変わらず揺らしてますね。最高です。 さて、去年は「「おちこんだりもしたけれど、私はげんきです」というエントリで tech.kayac.com Advent Calendar 2012の1日目を担当したのですが、誰の琴線にも触れませんでした。 そもそも退職者という身分でありかつ、ファッションの最先端、 南青山のサマリーで勤務しているとい

    #17 煩悩と苦しみについて - KAYAC engineers' blog
    uzulla
    uzulla 2013/12/18
    学びがある
  • Google Mapのデザインを変更する方法(StyledMapの使い方) - KAYAC engineers' blog

    豚を丸焼きにするイベントで日焼けしました。ago(@kyo_ago)です。 すでにだいぶ時間がたってますが、7/7に弊社コーポレートサイトのリニューアルを行いました。 その際会社までの道順を紹介するページでGoogle Mapのデザインを変更したのでその方法をご紹介したいと思います。 StyledMapType Google Map Ver3以降はStyledMapTypeというAPIが追加されており、このStyledMapTypeを使うことで地図上の指定された要素に対して独自の色情報を設定することができます。 色の変更方法 色を変更するにはStyledMapType API経由で以下のようにJavaScriptのObjectを渡すことで実現できます。 var styles = [ { // 色を変更する対象の指定(document参照) featureType: "road.local"

    Google Mapのデザインを変更する方法(StyledMapの使い方) - KAYAC engineers' blog
    uzulla
    uzulla 2012/04/10
    なるほど、ゾンビマップはこれを使っているのか…。
  • JavaScriptによるcross domain & streamingなAPIアクセスの方法色々 - Nakamap APIの場合 - - KAYAC engineers' blog

    こんにちは。すぎゃーん(@sugyan)です。 先日、Nakamap APIを公開しましたが、今回はそれをJavaScriptから使うためのライブラリを用意してみましたので紹介させていただきます。 使い方 <script type="text/javascript"http://developer.nakamap.com/js/nakamap.js"></script> とscriptを読み込むことで使用できます。 access_tokenが既に取得できていれば、 var client = new Nakamap.Client({ token: '*********' }); /* REST API */ client.get('/me', function (result) { console.log(result); }); /* Streaming API */ client.lis

    JavaScriptによるcross domain & streamingなAPIアクセスの方法色々 - Nakamap APIの場合 - - KAYAC engineers' blog
    uzulla
    uzulla 2011/11/21
    xhrで、クロスドメインとかストリーミングとかのノウハウ的な。
  • 今日から始める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
  • vimプラグインでよりよいコーディングを - KAYAC engineers' blog

    こりなくvimプラグインの紹介をします。北原(@soh335)です。 たかが、エディタですがプログラムを書く際には一番触っている道具です。イチローも道具は大切にすることが重要と言ってますし、メンテナンスしながら良い状態にしておきたいですね。 今回はvimプラグインの管理、プログラム書く自体には関係ないけど便利なプラグイン、実際にエディタを使っている際に便利なプラグインの紹介をします。 vimプラグインの管理 vim-pathogen http://www.vim.org/scripts/script.php?script_id=2332 vimプラグインは、windows環境はで$HOME/vimfiles/、mac等では$HOME/.vimのディレクトリの下にインストールしていきますが様々なプラグインを一つのディレクトリにいれると のようになり例えばこのプラグインが更新されたのでアップデ

    vimプラグインでよりよいコーディングを - KAYAC engineers' blog
    uzulla
    uzulla 2010/11/01
  • GoogleAppEngine + JRubyでクリスマスまでに彼女をつくる方法 - KAYAC engineers' blog

    こんにちは。typesterの陰謀によりVimmerはモテないというデマが流れておりますが、残念ながらそれがデマだということを身をもって証明できないでいるVimmerの外村です。 先日、お悩み相談の記事がホットエントリーに入ったら彼女ができるという噂が立ち、何を間違えたかホットエントリーに入ってしまったのでどうしようかと思ったのですが、プログラマたるもの問題があればプログラムで解決すべきだろうと考えました。 というわけで彼女を作ってみました。どういうものかというと、 僕だけに定期的につぶやく 僕のリプライだけに反応してリプライを返してくれる まさに僕だけのボット彼女です。今回はこれをGoogleAppEngine+JRubyで実装したので、環境をつくるところか実際に動かすところまで説明します。 1. 環境をつくる まずはGoogleAppEngineのアカウントがないと始まらないので以下か

    GoogleAppEngine + JRubyでクリスマスまでに彼女をつくる方法 - KAYAC engineers' blog
  • SymfonyでIP制限するフィルター作りました - KAYAC engineers' blog

    こんにちは。カヤックモバイル$のアラガです。 諸事情により.htaccessによるIP制限ができなかったので、symfonyでIP制限するフィルタを作りました。 携帯サイトのキャリア判別は、おなじみのNet_UserAgent_Mobileを使うと簡単ですが、ユーザーエージェントだけでは簡単に偽装できてしまうので、公式サイト等の場合は望ましくないです。 そこで、各キャリアから公開されているIPでも制限をかけます。.htaccessで良ければMobile IP htaccess Makerを使うのが簡単です。 しかし、リバースプロキシを使っていると、IPが経由サーバーのIPになってしまい、元のIPがX-Forwarded-Forに入ってしまいこの方法だとうまくいきません。(ということに気づきました) そこで制限したいIPを正規表現で書いて SetEnvIf X-Forwarded-For "

    SymfonyでIP制限するフィルター作りました - KAYAC engineers' blog
  • jQueryを使うときに気をつけるべき8のポイント : tech.kayac.com - KAYAC engineers' blog

    DAHONのBoardwalkを修理しようとしておもいっきり壊してしまいました。agoです。 普段はjQueryをメインで使用しているのですが、使っていていくつか注意すべき点があったのでまとめてみました。 (一部jQueryではなく、DOMの仕様上の制限も含まれています) 1 $().filterにstring以外のものを渡すとエラー 1.4系では修正されていました $().findや$().notは大丈夫ですが、$().filterの場合引数にjQuery objectや配列、html elementなどを渡すとエラーになります。 (たとえばjQuery objectを渡した場合、Firefoxでは「TypeError: t.substring is not a function」というエラーが発生します) 確認する ちなみに、$().findや$().notはstring以外も渡せるた

    jQueryを使うときに気をつけるべき8のポイント : tech.kayac.com - KAYAC engineers' blog