タグ

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

  • Amazon ECSのタスクを常に新鮮に保つ仕組みをStep Functionsで - KAYAC engineers' blog

    SREチームの藤原です。今回はAmazon ECSのサービス内のタスクを定期的に再起動することで、日々のメンテナンスコストを削減する話です。SRE連載 3月号になります。 3行でまとめ ECS Fargateのタスクは時々再起動が必要 人間が対応するのは面倒 Step Functionsを定期実行して常に新鮮なタスクに入れ換えて予防しよう ECS Fargateのタスクは時々再起動する必要がある ECS Fargateでサービスを運用していると、数ヶ月に一度ほどの頻度でこのようなお知らせがやってきます。 [要対応] サービス更新のお知らせ - AWS Fargate で実行されている Amazon ECS サービスの更新が必要です [Action Required] Service Update Notification - Your Amazon ECS Service Running

    Amazon ECSのタスクを常に新鮮に保つ仕組みをStep Functionsで - KAYAC engineers' blog
    soh335
    soh335 2023/03/30
  • NIPPON ITチャリティ駅伝にエンジニア5人のカヤックチームで出た話 - KAYAC engineers' blog

    こんにちは! Tech KAYAC Advent Calendar 2022 8日目を担当する荒賀(@ken39arg)です。 カヤックのアドベントカレンダーは観測する限り2012年から始まり今年は11回目であります。私も8回参加しており*1、2016年以降の6回はその年のランニング活動を必ず報告していたようです。 今年のランニング活動は3月にフルマラソンを走って自己ベストを40秒ほど更新したのですが*2、以降緩やかに燃え尽きてしまい月間走行距離も300kmから150kmくらいにぐっと減ってしまいました。同僚のメロンみたいな肩をしているボディービルダーは大会で入賞したので、中途半端な自分は少し恥ずかしく感じているところでございます。 さて、燃え尽きたのにも関わらず、それなりには走っているのには理由があり、先日カヤックのエンジニアで構成されたチームでNIPPON ITチャリティ駅伝という大会

    NIPPON ITチャリティ駅伝にエンジニア5人のカヤックチームで出た話 - KAYAC engineers' blog
    soh335
    soh335 2022/12/08
  • ボディビル3位になった話 - KAYAC engineers' blog

    こんにちは。長堂 @kzmsngd です。 今回はCalendar for KAYAC | Advent Calendar 2022 - Qiitaの初日の記事として、趣味のボディビルの話をします。 Flutterエンジニア兼ボディビルダーです 実はこのブログに登場するのは3度目です。毎回のようにボディビルに関することを書いています。 技術のことよりボディビルのことを語りたい人間です。 過去に書いた記事: techblog.kayac.com techblog.kayac.com 現在はちいき資主義事業部でまちのコインを開発しているFlutterエンジニアです。 格的に筋トレをやり始めて5年目、ボディビルコンテスト挑戦し始めて4年目です。コンテストの成績で言うとこれまでは予選も勝ち残れず結果を出せていませんでした。 「コンテストで結果出せないならそろそろ…」と、コンテスト出場は辞めよう

    ボディビル3位になった話 - KAYAC engineers' blog
    soh335
    soh335 2022/12/01
  • SREチームでポストモーテムを1年半運用してみた - KAYAC engineers' blog

    SREチームの藤原です。今回は、SREチームが主導してポストモーテムを書く取り組みを、社内で1年半ほど運用してみたという話です。 ポストモーテムとは? 「ポストモーテム」(postmortem=事後検証)とは、システムにインシデントが発生したことによる影響、緩和や解決のために取られた行動、インシデントの原因、再発防止策などをまとめた文書です。 カヤックのSREチームは、各メンバーがそれぞれのプロダクトに参加し、他のエンジニアとともに開発と運用を行う、いわゆる「Embedded SRE」という形態を取っています。そのため、SREチームのメンバーでも自分が関わっていないプロダクトで発生したインシデントについては詳しく把握できないことがありました。SRE以外で運用に携わっている、プロダクト専任のサーバーサイドエンジニアにはなおさら困難でした。 また、インシデント発生時に実際に手を動かす人がどうし

    SREチームでポストモーテムを1年半運用してみた - KAYAC engineers' blog
    soh335
    soh335 2022/03/22
  • Push 通知送信エージェント Gunfish に FCM v1 API 対応を追加した - KAYAC engineers' blog

    SREチームの藤原です。Tech Kayac Advent Calendar Migration Track 17日目の記事です。 Gunfish? カヤックでは iOS (APNs) や Android (FCM、かつては GCM) へのモバイルプッシュ通知に、自社で開発した Gunfish というソフトウェアを使用しているプロジェクトが多くあります。 APNs にはクライアント認証のための証明書を用意した上で HTTP2 で接続する必要があるのですが、Perl などの LL で開発されているプロジェクトで個々に HTTP2 で接続するのは難しい時代がありました。またレイテンシ的にも同期でプッシュ通知を送信すると性能への影響が大きいため、一旦 Proxy 的にバッファリングをしてくれるソフトウェアを間に挟んで、アプリケーションからはそこへ認証なしで HTTP1 で送信する形を取るために生

    Push 通知送信エージェント Gunfish に FCM v1 API 対応を追加した - KAYAC engineers' blog
    soh335
    soh335 2019/12/18
  • ISUCON8本戦出題記というよりぶっちゃけ工数感どうなの?って話 - KAYAC engineers' blog

    こんにちは! サーバーサイドサイドエンジニアの荒賀です。 普段はソーシャルゲーム事業部でゲームの開発したり、Lobi事業部でコミュニティサービスの開発をしたりしています。 さて、この度ISUCON8の戦問題の出題を担当させていただきました。 問題に関する解説は公式のブログを書きましたのでこちらを御覧ください。 ISUCON8 選問題の解説と講評 こちらでは技術的なことは置いておいて、業務としてどのようにISUCON8に関わってきたかを書き残しておきたいと思います。 (※カヤックの出題はISUCON3でもしており今回が2回目です。) はじまり (2017/12〜2018/2) だいぶ曖昧な記憶ですが、ISUCON7で優勝させていただいた直後の打ち上げの場で、僕の耳元で941さんが「来年はカヤックさんどうですか〜(ニヤニヤ)」と囁いてきたので、とりあえずニヤニヤで返したことを覚えています。

    ISUCON8本戦出題記というよりぶっちゃけ工数感どうなの?って話 - KAYAC engineers' blog
    soh335
    soh335 2018/10/29
  • Amazon CloudWatchのアラームをMackerelアラートにする仕組み - KAYAC engineers' blog

    SREチームの吉村です。 弊社では主にAmazon Web Service(AWS)を使ってサービスを構築、運用しており、そのサービスの監視にMackerelを利用しています。 Amazon CloudWatchのメトリクスのうち主要なものはfluentd(fluent-plugin-cloudwatch、fluent-plugin-mackerel)を利用してMackerelに登録していますが、量が多くなるとfluentdの設定が煩雑になってしまいます。 そこで、Mackerelへの登録に必要なそれらの設定なしに、CloudWatch Alarmを使ってMackerelのアラートとして発報できる仕組みを作りました。 Mackerelへアラートを発報するようにした理由は、アラートの通知や管理はMackerelで一元管理をしているためです。 今回その仕組みについてご紹介、組み込み手順まで説明

    Amazon CloudWatchのアラームをMackerelアラートにする仕組み - KAYAC engineers' blog
    soh335
    soh335 2018/10/03
  • ソーシャルゲームのカスタマーサポートを支える行動ログと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
    soh335
    soh335 2018/09/05
  • 会社員が体を鍛えるための技術 - KAYAC engineers' blog

    こんにちは! Tech KAYAC Advent Calendar 2016 17日目を担当する荒賀(@ken39arg) です。 近況報告 お久しぶりです。 前回ブログを書いたのが、2014年のアドベントカレンダーでしたので、2年ぶりということになります。 前回のブログの出だしが、「2人目の子供が産まれた」でしたが、3人目は産まれておりません。 細かいことは沢山ありますが、家族構成や仕事内容などに大きな変化はありません。そのかわり、この2年の間に肉体がかなり変化いたしました。 具体的には、70kgだった体重が60kgになり、18%程度だった体脂肪率が9%になり、フルマラソンを3時間22分で走れるようになりました。 年明けにはサブスリー(フルマラソン3時間以内)を目指しております。 また、社内の一部でブームとなっている横浜三井ビル垂直ラン(ビルの1階から30階まで階段を駆け上がる)では、僕

    会社員が体を鍛えるための技術 - KAYAC engineers' blog
    soh335
    soh335 2016/12/19
  • AWS Lambdaを使ってベンチサーバー無しで社内ISUCONを運営したはなし - KAYAC engineers' blog

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

    AWS Lambdaを使ってベンチサーバー無しで社内ISUCONを運営したはなし - KAYAC engineers' blog
    soh335
    soh335 2016/05/17
  • #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
    soh335
    soh335 2014/12/21
  • #17 うわさのdatabase.ymlをどうしているか カヤックCW編 - KAYAC engineers' blog

    こんばんは。クライアントワーク(受託開発)チームのnobu_ohtaです。 この記事は tech.kayac.com Advent Calendar 2014 17日目です。 この記事では、弊社クライアントワーク(受託開発)チームで production 環境で Railsdatabase.yml と secrets.yml をどう運用しているかを紹介したいと思います。 この話題最近ちょくちょく見かけますが、@mirakuiさんがやっているPodcastの Admins Bar #3: Fluentd, Rails, ActiveRecord でも取り上げられています。 なぜ機密情報をハードコードしないほうがいいか Rails 4.1からsecrets.ymlやdatabase.ymlで機密情報は直書きせずに環境変数から読む設定ファイルが生成されるようになりました。 アプリのリポジト

    #17 うわさのdatabase.ymlをどうしているか カヤックCW編 - KAYAC engineers' blog
    soh335
    soh335 2014/12/18
  • #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
    soh335
    soh335 2014/12/10
  • #9 iOS で動的にインクリメント関数を実装する - KAYAC engineers' blog

    カヤックのAdvent Calendar 9日目は @Gemmbu がお送りします。 iOS でも実行時に確保したメモリ上のコードが動作することはある界隈では有名ですが、 手元で試したことがある方はすくないのではと思います。 そこで実行時に確保したメモリ上に、与えられた数値に 1 加算して返す関数を実装し動作させてみましょう。 流れ 与えられた数値に 1 加算して返すコードを書く アライメントを意識してメモリを確保する 確保したメモリにコードを書き込む 確保したメモリに実行権限を付与する 確保したメモリを関数として実行する サンプルコード #include <unistd.h> #include <stdlib.h> #include <sys/mman.h> // 与えられた数値に 1 加算して返すコード書く // 以下は armv7s 用のコードであり、armv7 及び arm64 で

    #9 iOS で動的にインクリメント関数を実装する - KAYAC engineers' blog
    soh335
    soh335 2014/12/09
  • #24 ちょっと便利な変換ツールの紹介 - KAYAC engineers' blog

    この記事は tech.kayac.com Advent Calendar 2013 24日目の記事となります いよいよ、Advent Calendarも最終日ですね。人生を考えてしまう、不惑が目前となってきた@takihitoです。 「不惑の心構え」 について書きたいところですが、そこは孔子専門家に譲ることにして、今回はちょっと便利な自作ツ ールの紹介したいと思います(訂正:社内にいるのは老子の専門家とのことです、ごめんなさい;;) https://github.com/takihito/xxx2xxx APIレスポンスのJSONモックを作る際、Keyが多いと面倒だったりしますよね。 DBとテーブルが既にある場合、tsv2jsonを使うとカラムをキー名としたJSON形式に変換することが出来ます $ mysql -u root game -e "select id,price,exp fro

    #24 ちょっと便利な変換ツールの紹介 - KAYAC engineers' blog
    soh335
    soh335 2013/12/24
  • #22 カジュアルに乱数を使う方法とその注意点 - KAYAC Engineers' Blog

    この記事はtech.kayac.com Advent Calendar 2012の22日目です。 @songmuです。ゲーム作ったりしてると、乱数が必要になってきますがそれについて書きます。 多くの人にとっては当たり前の話も多く出てくるかと思いますがご容赦ください。間違ってる記述があった場合は突っ込みください。 擬似乱数とは何か 計算機は単体では厳密な意味での乱数を生成することができません。実際には一様に分布する乱数の集合を算術的に求めている場合がほとんどです。 その乱数の集合は以下を満たす必要がありますが、そういう小難しいことは偉い人に任せて、巨人の肩に乗って解決してしまえば良いでしょう。 偏りがなく一様に分布している 途中の出力から未来が予測しづらい 高速に算出できるか つまり? 色々な疑似乱数生成法がありますが、多くの場合、 馬鹿でかい乱数の循環リストがある と考えるとわかりやすいで

    #22 カジュアルに乱数を使う方法とその注意点 - KAYAC Engineers' Blog
    soh335
    soh335 2013/12/24
  • vagrant-configspecを使ってプロビジョニングする - KAYAC engineers' blog

    @nobu_ohtaです。 teck.kayac.com Advent Calender 2013 19日目のエントリです。 今回、advent calendarを口実にvagrant-configspecをリリースしました。 インストールは vagrant plugin install vagrant-configspec です。 コード自体は https://github.com/ankoromochi/vagrant-configspec で公開しています。 動機 configspecを触ってみたかった。 mizzyさんのブログで紹介されているように、immutable infrastructureという文脈で出てきた、冪等性や依存関係をあまり気にしない感じのconfiguration management tool。 同じくmizzyさんが作者のサーバの状態のテストを行うserve

    vagrant-configspecを使ってプロビジョニングする - 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
    soh335
    soh335 2013/12/18
    はんどるねいむさんとだめれおんさんのプライベイト情報気になる
  • #16 Leap Motionでおっぱいを揉む - KAYAC Engineers' Blog

    どうも。退職者です。@damele0nです。 teck.kayac.com Advent Calender 2013 15日目のエントリです。 前日は、まったく恨んではいないのですが僕のプライベートな情報を社内でリークした @handlename 先輩の #15 SublimeTextでも使い捨てファイルを開きたい でした。まったく恨んではいないのですが。 さて、去年は「JavaScriptでおっぱいを動かす」というエントリでtech.kayac.com Advent Calendar 2012の2日目から世間様に苦言を呈されたという事態を踏まえつつ そもそも退職者という身分でありかつ、渋谷のディストピアこと闇リエで勤務しているということをわきまえながら Leap Motionでおっぱいを揉みたいと思います。 Leap Motionって? もはや説明不要でしょうか。 [公式サイト] 今年(

    #16 Leap Motionでおっぱいを揉む - KAYAC Engineers' Blog
    soh335
    soh335 2013/12/16
    はやく音読しろ
  • #13 やってみよう画像処理『カメラのbyte列をいじる』(Androidで) - KAYAC engineers' blog

    このエントリーはtech.kayac.com Advent Calendar 2013の13日目のエントリーです。 @DevMassive です。 画像や動画を処理します。 カメラ使ったこと無いよっていうAndroiderはいないと思いますが、 カメラのByte列を扱ったことないderもいるのではないでしょうか。 最近のAndroidOpenCVやらSurfaceTextureやら、 byte列いじらなくてもカメラを使っていろいろできちゃいますが、 いじっておきましょう!! というわけで日はすごく素朴な画像処理アプリをつくります。 カンタンな画像処理 スリットスキャンをつくります! スリットスキャンを知らない人も多いだろうし、 僕もよく知らないですが、動画を見ればわかります! これです。 不思議な感じですが、タネを見破ることができたでしょうか? 一番下の行は現在のフレーム、 その上の行

    #13 やってみよう画像処理『カメラのbyte列をいじる』(Androidで) - KAYAC engineers' blog
    soh335
    soh335 2013/12/13
    スリット!!!!!!!!!!!!スキャーーーーーーーーーーーーん!