タグ

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

  • CloudWatch Logs Insights クエリを定期的に実行して結果をS3に置く(EventBridge Scheduler, Step Functions, Lambda) - KAYAC Engineers' Blog

    カヤックSREの今です。 SRE連載8月のエントリーになります。 techblog.kayac.com Amazon CloudWatch Logs Insights(以下Insights)は、CloudWatch Logsのログを期間を指定して検索、集計、簡単な文字列処理を行うことが出来ます。 Webコンソールから手軽に利用することができ、エラーが起きた際のログ調査に日常的に利用しています。 クエリは非同期で実行されますが、Webコンソールからクエリを実行して結果の表示前にページを離れてしまうと、クエリ結果をWebコンソール上で確認することができません。 Webコンソール上の履歴からリクエストIDを取得し、AWS CLIからaws logs get-query-result --query-id=[リクエストID]を実行することで結果をjsonで得ることができます。 今回は自動で日時の集

    CloudWatch Logs Insights クエリを定期的に実行して結果をS3に置く(EventBridge Scheduler, Step Functions, Lambda) - KAYAC Engineers' Blog
  • ecrm - Amazon ECRから不要イメージを安全に削除するOSSを作った - KAYAC engineers' blog

    SREチームの藤原です。今回は、AWSのコンテナレジストリであるAmazon ECRから、不要になったコンテナイメージを安全に削除するツールをOSSとして作った話です。 Amazon ECRのライフサイクルポリシーでは、設定によっては実際に利用中のイメージを削除してしまうことがあります 現在利用中のイメージを避けて、それ以外の不要なイメージを安全に削除できるCLIツールをOSSとして作成しました Amazon ECSとECRでのイメージ運用 カヤックでは、コンテナのオーケストレーションにAmazon ECSを主に使用しています。ECSにタスクをデプロイする場合は、イメージのタグにアプリケーションのGitリポジトリのコミットハッシュ(git log -1 --format=%Hで計算した値)を付与してAmazon ECRにpushし、タスク定義ではそのタグを含めたURLを指定しています。 例

    ecrm - Amazon ECRから不要イメージを安全に削除するOSSを作った - KAYAC engineers' blog
  • 2022年、カヤックは ISUCON 12の出題を担当しています - KAYAC engineers' blog

    みなさんこんにちは〜! 技術ブログではとてもお久しぶりの acidlemon です。 さて、今年もISUCONの季節がやってきましたね。 ISUCONは、ざっくりいうとLINEが主催する、Webアプリケーションのスピードアップコンテストです。「いい感じにスピードアップコンテスト」なので略してISUCONという感じです。詳しくは 公式サイトを読んでもらうのがよいですが、毎年カヤックもコンテストの参加者だったり出題者だったり優勝者だったりといった形で関わっております。 これまでの開催と、今年の開催はどのような感じになっているかというと… そういえば公開情報をまとめてみた。 過去11回まででISUCONに参加された方は延べ9207名、そのうち優勝経験者は21名。最多優勝は @sugyan @fujiwara の4回でタイ記録。 #ISUCON pic.twitter.com/jFFTtUXHn

    2022年、カヤックは ISUCON 12の出題を担当しています - KAYAC engineers' blog
  • ステージング環境における検証用データベースの立ち上げを自動化する取り組み - KAYAC engineers' blog

    SREチーム(新卒)の市川恭佑です。 カヤックのサービスでは、信頼性の担保を目的として、ステージング環境を作成する方針を取っています。 ステージング環境では、検証の精度を高めるために、量・質ともに番環境に類似したデータベースが求められる局面が頻出します。 そこで今回は、Tonamel という自社サービスにおける、検証用データベースの立ち上げを自動化する取り組みについて紹介します。 サービスの置かれていた状況と解決方針 Tonamel の実行基盤は Amazon Web Services (AWS) 上にあり、番環境とステージング環境は別のアカウントとして、同一の AWS Organizations 組織内に構築されています。 もともと、ステージング環境では、番環境のデータは利用せず、手作業でダミーデータを作成していました。 それゆえに、データベースに格納されているデータ量は番環境と

    ステージング環境における検証用データベースの立ち上げを自動化する取り組み - KAYAC engineers' blog
  • SREチームでポストモーテムを1年半運用してみた - KAYAC Engineers' Blog

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

    SREチームでポストモーテムを1年半運用してみた - KAYAC Engineers' Blog
  • カヤックのSREチームについて - KAYAC Engineers' Blog

    SREチームの長田です。 今回は私が所属している「カヤックのSREチーム」について紹介します。 SREとは Site Reliability Engineering の略です。 「サイト信頼性エンジニアリング」と訳されることが多いようです。 同名の書籍(いわゆるSRE)が出版されたことから、SREという言葉が一般的に使われるようになったようです。 www.oreilly.co.jp この記事ではSREそのものについての説明は省きます。 ざっくり一言で説明すると、「サイト(サービス)の信頼性を技術の力で担保すること」のようになるでしょうか。 SREの何たるかのより詳しい説明については上記のSREや、提唱元であるGoogleのサイト(英語)を参照してください。 sre.google カヤックのSREチーム カヤックのSREチームは2018年に発足しました。 当初は3名体制でしたが、メンバー

    カヤックのSREチームについて - KAYAC Engineers' Blog
  • 退職してもなおミームとして生き残り続ける社員がいる - KAYAC engineers' blog

    この記事は Tech KAYAC Advent Calendar 2021の5日目の記事です。 こんにちは、バックエンドエンジニアの @commojun です。昨年のアドベントカレンダーでは、6年続いているサービスのPerlのバージョンを5.16から5.30にアップデートさせようとしたときの話を書かせてもらってりしていました。 最近は、絶滅危惧種Perlエンジニアのために、#Perlから逃げるなというハッシュタグを流行らせたいなーと思っています。 愛されキャラとは ところで皆さんの身の回りには、愛されキャラと呼ばれるような人はいるでしょうか?仕事場や学校など、身近に愛されキャラがいると、場の空気がとても良くなりますよね。そんな愛されキャラとはどんな特徴を持っているのでしょうか? 雑にググってみると、例えば以下のような特徴を持っていることがわかります。 人に優しい 素直 寛容 たまに天然 弊

    退職してもなおミームとして生き残り続ける社員がいる - KAYAC engineers' blog
  • slackの反応がないと寂しいので、一気にたくさんリアクションできる「slack最高速でワイワイできるくん」を作った - KAYAC Engineers' Blog

    この記事は、「Tech KAYAC Advent Calendar 2020」の20日目の記事になります。 slackを返して仕事した気になっているみなさんこんにちは!!! slackに負けるな!!! いきなりごめんなさい。どうもこんにちは。 KAYACクライアントワーク事業部デザイナーのちゃんちーです。 クライアントワークとして、今や40万人以上が持ってるうんこミュージアムで配られるマイうんこという不思議なものを製造したり、 マイクロワーケーションという実験で、お客さんと川で仕事をしてみたり、 いろんなことをしながらいろんなものを作って暮らしています。 当はもっと真面目に仕事してます。 いや、当です。よろしくお願いします。 いきなりですが、slack、使っていますか? 弊社はというと、バリバリslackでやりとりをしていて、社内のコミュニケーションツールはslackにほぼ集約されてお

    slackの反応がないと寂しいので、一気にたくさんリアクションできる「slack最高速でワイワイできるくん」を作った - KAYAC Engineers' Blog
  • たった一言でエンジニアを怒らせる方法 10 おまけ付き - KAYAC Engineers' Blog

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

    たった一言でエンジニアを怒らせる方法 10 おまけ付き - KAYAC Engineers' Blog
  • 6年続いているサービスのPerlのバージョンを5.16から5.30へと今にもアップデートさせようとしている - KAYAC Engineers' Blog

    この記事は Tech KAYAC Advent Calendar 2020 の6日目の記事・AWS & Game Advent Calendar 2020の11日目の記事です。 こんにちは、バックエンドエンジニアの @commojun です。 今回は、最近業務でがんばったことを書きたいと思います。ちなみに、去年のアドベントカレンダーでは、死んだを蘇らせようとしたりしていました。ちなみに蘇ったちゃんは現在このような姿になりました。 記事の概要 6年続くサービスのPerlのバージョンを5.16から5.30へバージョンアップさせようとしています 文法が変わってコンパイルエラーが起きたり、テストが運で落ちたり通ったりするようになりました 問題を解決するためにOSSにPullRequestを書く経験をしました 我々の作るサービスは、モジュールを組み合わせ、うまく調整した上で成り立ってるんだなあと

    6年続いているサービスのPerlのバージョンを5.16から5.30へと今にもアップデートさせようとしている - KAYAC Engineers' Blog
  • 10年以上続いたサービスを終了させた - KAYAC Engineers' Blog

    SREチームの竹田です。Tech Kayac Advent Calendar Migration Track 12日目の記事になります。 今年2019年9月にTHANKSというサービスを閉じました。 実はこのサービス、10年以上前に自分が設計開発したサービスなのです。 運営・開発が入れ替わる形で自分の手は離れていましたが、最後は自分の手元に戻りクローズ作業をすることになるとは...感慨深いものがあります。 全世界に向けて「ありがとう」を発信!「THANKS」リリース (ニュースリリースは2006.11.28ですが同年の7月にサイトは公開されたような記憶がある。13年近く続けていたってことですね。) リリース当時の事を思い出してみると フロントはFlashでサーバサイドはAPIのみ ブログバーツ(なつかしい!)にもAPIを提供 1台のサーバ内に複数サービスが同居 リリース直後にブログパーツが

    10年以上続いたサービスを終了させた - KAYAC Engineers' Blog
  • 人間の行動を操るために覚えておきたい科学 - KAYAC Engineers' Blog

    この記事はTech KAYAC Advent Calendar 2019の4日目の記事です。 こんにちは。技術部平山です。 この記事では、人の行動を操る、つまり、人の行動を予測したり、望みの行動を取らせるために役立つ科学について 軽く紹介いたします。プログラミングの話はございませんが、 プログラマに読みやすい味付けにはしておきました。 なお、「人を操る」とか言っていますが、実際それで思うように操れるのであれば、 私はもっと裕福だったでしょうし、高い地位を得ていたことでしょう。 理屈と実践は異なるということです。 ただ、これを知って気が楽になる方もいらっしゃるかもしれませんし、 もしかしたら、実際に何かを改善させられるかもしれません。 基的には与太話ですので、お暇な方のみお付き合いください。 予測に使える理論は、制御にも使えるかもしれない 何かしらの理論によって現象が予測できるのであれば、

    人間の行動を操るために覚えておきたい科学 - KAYAC Engineers' Blog
  • C#に潜むstructの罠 - KAYAC engineers' blog

    こんにちは。技術部平山です。 この記事ではC#のstructを使った際にはまった罠について書きます。 Unityでの体験を軸にお話しますが、Unityに限ったことではないかと思います。 お急ぎの方のために結論を申しあげますと、structを使うなとなります。 どうしてもstructを使いたい気分になった時に、罠にはまって時間を無駄にする覚悟をした上で使いましょう。 未来に活きる良い失敗ができると思いますし、最終的には製品の性能も上がるとは思いますが、 structを使わないといけない理由は、たぶんありません。なくても製品は作れます。 しかし、一回もstructと書かなかったとしても、C#で書く限りstructからは逃れられないのです。 (2019/04/10) 末尾に話を単純化しすぎた点について補足をいたしました。 structとは C#の型にはclassとstructがあります。 ...

    C#に潜むstructの罠 - KAYAC engineers' blog
  • 徹底比較!Firebase vs Netlify (2018年版) - KAYAC engineers' blog

    みなさまこんにちは、のびーことfnobiです。今年ももうアドベントカレンダーの季節なんですね。はやいはやい。 さて個人的にアドベントカレンダーでは、振り返りの意味も込めて その年お世話になった技術に関する記事を書く、というルールにしてますので、今回は NetlifyとFirebaseの話 をします!! (ちなみにFirebaseの話は去年もしたかったのですが、時間が足りなかった&他の人も書いてたのでパスしました) この記事の目的 いまフロントエンドエンジニアに使ってほしいサービスの私的TOP2・NetlifyとFirebaseについて、様々な観点から比較して、 「なんかどちらも便利そうって聞くけれど、どちらを使えばいいのかわかんないな??」 という人をこの世からなくします! Netlifyってなんぞや? https://www.netlify.com/ githubと連携可能な静的Webホ

    徹底比較!Firebase vs Netlify (2018年版) - KAYAC engineers' blog
  • ISUCON8運営部屋でスコアをsayコマンドで読み上げるようにしたら割とウケた話 - KAYAC engineers' blog

    この記事はTech KAYAC Advent Calendar 2018の1日目の記事です。 過去に nano 記事 を書いたことのあるソーシャルゲーム事業部でサーバサイドエンジニアをやっている瀬戸です。 nano はもう使っていませんが S2Gらぶフォントvim(neovim) で日々お仕事しています。 S2Gらぶフォントvim S2Gらぶは等幅で割と真面目にプログラミングにおすすめのフォントですよ👍 ということで「ネタが出てこなかったらタイトルのことを書く」って言ってたら当についぞネタが出てこなかったのでタイトルのことを書きます。 say で読み上げ? お手元の環境が Mac でしたらターミナルを開いて $ say テスト とか $ echo テスト | say とか打ってみてください。ミュートにしていなければ「テスト」と音声で読み上げられたかと思います。 say は引数

    ISUCON8運営部屋でスコアをsayコマンドで読み上げるようにしたら割とウケた話 - KAYAC engineers' blog
  • Dockerで開発環境構築を10倍楽にしたはなし - KAYAC engineers' blog

    Lobi事業部 サービス基盤チームの長田です。 最近プロジェクト内で使用する開発環境にDockerを利用するようになったので、その紹介をします。 Dockerにしたってどういうこと? 公開済みのWebサービスに変更を加えて動作確認をする場合、番環境でそれを行うわけにはいきません。 ほとんどの場合はローカルマシンでWebサービスの全体または一部のコピーを動かして動作確認を行うことでしょう。 その後ステージング環境などの他の開発メンバーも触ることができる環境で動作確認やQAを行い、 問題がなければ晴れて番環境に反映、という流れが一般的かと思います。 この「ローカルマシンでWebサービスのコピーを動かす」部分にDockerを利用している、ということです。 Dockerにしてどうなった? Before 開発環境構築に1〜2日かかっていた After 開発環境構築がランチに行っている間に終わるよ

    Dockerで開発環境構築を10倍楽にしたはなし - KAYAC engineers' blog
  • 【お詫びと訂正】iOS11でついにSafariからカメラにアクセスできるようになりました。(コピペで動くサンプルコード付き) - KAYAC engineers' blog

    お詫びと訂正:(2017/06/08 23:32) 記事内に掲載しているスクリーンショットが、 Apple.Incの開発者利用規約(APPLE BETA SOFTWARE PROGRAM AGREEMENT APPLE INC.)に抵触しているというご指摘をいただきました。 Apple.Incの開発者利用規約から、掲載内容を不適切と判断し、該当箇所を削除させていただきました。 Apple.Inc及び読者の皆様に深くお詫び申し上げます。 追記:(2019/02/17) Navigator.getUserMediaが非推奨となったため、MediaDevices.getUserMediaを使うように修正しました。 Navigator.getUserMedia - Web API | MDN MediaDevices.getUserMedia() - Web API | MDN ざっくり1行でま

    【お詫びと訂正】iOS11でついにSafariからカメラにアクセスできるようになりました。(コピペで動くサンプルコード付き) - KAYAC engineers' blog
  • React Componentのスタイルガイドを自動生成してパーツの再利用をしやすくする - KAYAC engineers' blog

    こんにちは。カヤックのReactおじさんこと島津です。 最近はVue.jsにも浮気し始めましたが、Reactについての記事を書きます。 Reactのコンポーネントが増えてきて管理が大変 Reactを使うとコンポーネントの部品化が捗りますが、 開発規模が大きくなってくるとその数も増えてきて管理が大変になってきます。 スタイルガイドを導入 スタイルガイドとは、UIパーツの用例と実表示例をまとめたドキュメントのことです。 これがあるとパーツの再利用性が高まります。 例:Codepenのスタイルガイド 人力で手書きしていっても良いのですが、更新が追いつかなかったりするので自動生成する仕組み化ができるツールを使いましょう。 代表的なものとしては、CSSのコメントからドキュメントを自動生成してくれるkss-node などがあります。 今回はCSSだけではなく、Reactのコンポーネント単位でドキュメン

    React Componentのスタイルガイドを自動生成してパーツの再利用をしやすくする - KAYAC engineers' blog
  • javascriptプログラマのレベル10 : tech.kayac.com - KAYAC engineers' blog

    週末料理をしていて足を切ってしまいました。agoです。 以前Perlは書いていたんですが、その頃以下の記事を読んで非常に感銘を受けました。 Perlプログラマのレベル10 - Perlプログラミング救命病棟より - naoyaのはてなダイアリー 当時あまりコミュニティとのつきあいがなかったので、「自分のスキルの絶対位置」、「次のレベルへ行くために必要なもの」を知ることで非常に安心感を感じた記憶があります。 いま確認したところ、「JavaScriptプログラマのレベル10」はないようなので書いてみました。 Perlプログラマ Schemeプログラマ Rubyプログラマ (家に直接リンクできるURLが無かったため、参照ページへリンクしています) haskellプログラマ 堕落したCプログラマ HTML知識レベル プログラマレベル 企業法務 JavaScriptの業務スキルレベル 判別表 (5

    javascriptプログラマのレベル10 : tech.kayac.com - KAYAC engineers' blog
  • Dockerで非エンジニアでも開発環境を上げ下げできる、mirageというツールを作りました - KAYAC engineers' blog

    いやー今年もISUCONの予選参加募集がはじまりましたね! 昨年は出題側だったので胃が痛かったですが、今年は参加側ですので大変楽しみにしております。@acidlemonです。 Docker使ってますか? さてみなさん、Docker使ってますか? 使ってる? 使ってない? ぼくは使ってませんでした。えー今どきBlue-Green Deploymentやってないの? Immutable Infrastuctureじゃないの? と言われそうですが、世の中にはいろんなしがらみとかもあってなかなか簡単にエイヤーでコンテナに移行できるわけでもないのは皆さんなんとなく感じているのではないでしょうか。 とはいえ、最近これだけ話題になっているDockerですので、そろそろ使ってみたいなぁ…ということで、まずは開発環境をDockerで上げられるようにしました。 Dockerでコンテナを作るときには2つのアプロ

    Dockerで非エンジニアでも開発環境を上げ下げできる、mirageというツールを作りました - KAYAC engineers' blog