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

  • CloudFront FunctionsをテストするOSS、cfftを公開しました - KAYAC engineers' blog

    SREチームの藤原です。 今回は Amazon CloudFront Functions をテストするためのOSSとして、cfft というものを書いたので紹介します。 github.com 3行でまとめ CloudFront Functionsのテストは手元ではできなくて面倒です CloudFront Functionsをテストする cfft というOSSを書きました KeyValueStoreの操作を含め、便利な使い方がいろいろありますのでどうぞご利用下さい CloudFront Functionsをテストするのが面倒という問題 CloudFront Functions (以下CFF) は、AWSが提供するCDNであるAmazon CloudFrontのエッジノード上でリクエストやレスポンスの操作が行える、JavaScriptの実行環境です。典型的なユースケースとしては、キャッシュキーの

    CloudFront FunctionsをテストするOSS、cfftを公開しました - KAYAC engineers' blog
    yug1224
    yug1224 2024/02/27
  • デプロイ対象環境ごとに別々のSlackチャンネルに通知するGitHub Actionsの実装例 - KAYAC engineers' blog

    SREチームの長田です。 SRE関連の記事としては今年最初の記事になります。 今年も定期的にSREチームメンバーによる記事を投稿していく予定です。 よろしくお願いします。 さて、今回はGitHub Actionsのはなしです。 TL;DR デプロイを実行するGitHub Actionsの実行状況を デプロイ対象環境ごとに別々のSlackチャンネルに通知する場合の実装例として、 「slackapi/slack-github-actionで通知をつくりこむ」 「Actions Workflowを分ける」 「Actions Workflow実行の入り口を分ける」 の3つを紹介します。 背景 カヤックでは「まちのコイン」という地域通貨サービスを開発・運用しています。 coin.machino.co まちのコインの開発・運用チームの、特にサーバーサイドに関しては、 アプリケーションやインフラ構成の変

    デプロイ対象環境ごとに別々のSlackチャンネルに通知するGitHub Actionsの実装例 - KAYAC engineers' blog
    yug1224
    yug1224 2024/02/03
  • 「JS体操」のすゝめ 〜その②〜 - KAYAC engineers' blog

    このエントリは【カヤック】面白法人グループ Advent Calendar 2023 の25日目の記事です。 記事は昨日公開の 「JS体操」のすゝめ 〜その①〜 の解説記事です! まだご覧になっていない方は先にこちらをご覧くださいね!! techblog.kayac.com 1. はじめに 2. 問題(再掲) 3. 考え方 4. ロジックを解く 4.1. 改行が必要なときに改行だけをしてみる 4.2. 固定長の半角スペースを入れてみる 4.3. 半角スペースの数を可変にしてみる 4.4. map() ではなく replace() にしてみる 4.5. 値の文字列中に {、}、[、]、,、: がある場合を考慮する 4.5.1. 文字列内の記号は無視する 4.5.2. 文字列を表す正規表現 4.6. エスケープされたダブルクオーテーションの対応 4.7. エスケープされたバックスラッシュの対

    「JS体操」のすゝめ 〜その②〜 - KAYAC engineers' blog
    yug1224
    yug1224 2023/12/26
  • 「JS体操」のすゝめ 〜その①〜 - KAYAC engineers' blog

    このエントリは【カヤック】面白法人グループ Advent Calendar 2023 の24日目の記事です。 こんにちは!意匠部のおばらです。 面白法人カヤックでは日々、様々な社内勉強会が開催されています。記事では JS 好きな社内のエンジニア向けに私が企画&主催している「JS体操」についてご紹介します。 記事の最後にはみなさんも挑戦できるように最新の「JS体操」を紹介しています。ぜひ挑戦してみてください。 1.「JS体操」とは? 2.「JS体操」の掟 3.「JS体操」のメニュー 3.1. 何らかのロジックを解く 3.2. コードゴルフで文字数を競う 4.「JS体操」の流れ 4.1. 出題方法 4.2. 解答方法 4.3. 実際の様子 5.「JS体操」の過去問の紹介 5.1. 第一回 5.2. 第二回 5.3. 第三回 5.4. 第八回 5.5. 第十一回 5.6. 第十四回 5.7.

    「JS体操」のすゝめ 〜その①〜 - KAYAC engineers' blog
    yug1224
    yug1224 2023/12/24
  • ITS健保制覇攻略ーー補助がこんなにお得なのに意外と使われていない件 - KAYAC engineers' blog

    このエントリは【カヤック】面白法人グループ Advent Calendar 2023 の17日目の記事です。 はじめに こんにちは、今年のITS健保、ライブなどの抽選でどれも当選しなかった魏と申します。 ITS健保(関東ITソフトウェア健康保険組合)には様々なお得の施策がありますが、他の社員に聞いたら意外と知られていないのが多いようです。それを機に今回の記事でいくつかを軽く紹介します。 はじめに 保養施設 一番お得な「直営・通年・夏季・冬季保養施設」 抽選申込 空き照会申込 5000円/泊の補助がもらえる「契約保養施設」 ITS旅行センター契約保養施設 ラフォーレ倶楽部 10000円補助がもらえる「ITS旅行パック」 その他 健歩大会 利用料金が半分になる「スポーツクラブ」 さらにお得の小技 最後に 保養施設 保養施設 ITS健保で利用できる保養施設は6種類ありますが、メインの3つだけ紹介

    ITS健保制覇攻略ーー補助がこんなにお得なのに意外と使われていない件 - KAYAC engineers' blog
    yug1224
    yug1224 2023/12/19
  • 会社のカードキーを忘れない技術 - KAYAC engineers' blog

    この記事は、面白法人グループ Advent Calendar 2023の9日目の記事です。 こんにちは、OP事業部でエンジニアをしているみんと*1です 会社のカードキー忘れ問題について みなさんは、会社のカードキーを家に忘れてきたり、会社のデスクの上に置いて帰ったりしてませんか? 僕はめちゃくちゃしてます。 社内のslackで「カードキー 忘れた」で検索すると「カードキーを忘れたので開けてください」というメッセージが1ヶ月に1回ぐらい投稿されているので、よくある問題なんだと思います。 その度に家に戻ったり総務の方にオフィスのドアを開けてもらったり*2してます。 今回はそんな問題を解決しようとした話です。 会社のカードキーを忘れやすい原因として以下がありそうです。 サイズと厚み カードキーは通常、クレジットカードと同様のサイズで、薄くて軽いため、ポケットやバッグの中で見失いやすく、また持って

    会社のカードキーを忘れない技術 - KAYAC engineers' blog
    yug1224
    yug1224 2023/12/16
  • 社内発OSSのドッグフーディングでみんな捗る! - KAYAC engineers' blog

    Tech KAYAC Advent Calendar 2023 の11日目です。 こんにちは。 専らドッグフードをべる側の長田です。 もちろんリアルな犬のはなしではなく、ドッグフーディングのはなしです。 https://ja.wikipedia.org/wiki/ドッグフーディング ドッグフーディング (英: dogfooding) または「自社のドッグフードをべる」「ドッグフードする」(Eating your own dog food、Drinking your own champagneとも言う)は、コンピュータ業界において、自社製品を開発して利用する組織の習慣で、組織が実際の使用法で日々自分たちで製品を利用しながら製品テストを行うことである。 カヤック由来のOSS 実はカヤック(社員名義も含む)はOSSなプロダクトをそこそこの数公開しておりまして、実際の業務でも使っています *1

    社内発OSSのドッグフーディングでみんな捗る! - KAYAC engineers' blog
    yug1224
    yug1224 2023/12/12
  • MetaQuest3ではじめる、モグラ叩きMR - KAYAC engineers' blog

    この記事はTech KAYAC Advent Calendar 2023の6日目の記事です。 面白プロデュース事業部 技術部の藤澤です。主にUnityを扱った案件を担当しています。 この記事では、UnityとMetaQuest3を用いたMRコンテンツの作り方の一例をご紹介します。 10月10日に、待望のMetaQuest3が発売されましたね。VRはもちろん、MR機能がすごい!とXでも話題になっていた印象です。 この盛り上がりに乗じて私もMR開発したい!ということで、モグラ叩きを遊べるMRコンテンツを作ってみました。 youtube.com Unityバージョンとレンダリングパイプライン Unityのバージョンは2022.3.12f1、レンダリングパイプラインはUniversal RP 14.0.9を採用しました。 UnityでMetaQuestを動かすための環境構築 まずはMetaQues

    MetaQuest3ではじめる、モグラ叩きMR - KAYAC engineers' blog
    yug1224
    yug1224 2023/12/07
  • アンドパッドさんと合同勉強会を開催しました! - KAYAC engineers' blog

    こんにちは。人事部の高田です。 2023年12月4日、株式会社アンドパッドさんと合同で「プロポーザル供養会」を開催しましたので、その様子をご報告します。 プロポーザル供養会 イベントの内容 イベントタイトルは 「プロポーザル供養会」 です。 CNDTとYAPC::Hiroshimaで惜しくもrejectとなってしまったプロポーザルをお披露目する会でした。 発表内容 登壇者とトークテーマは下記の通りでした。 発表者 所属 タイトル fujiwara カヤック 隙間家具 OSS 開発で「自分の庭」をつくる commojun カヤック 長年運用されている Web サービスと通信をするクライアントを Go で作ってみた話 Kyosuke ICHIKAWA カヤック Google Cloud Operations Suite で実現する "頑張らないオブザーバビリティ" muziyoshiz アンド

    アンドパッドさんと合同勉強会を開催しました! - KAYAC engineers' blog
    yug1224
    yug1224 2023/12/06
  • 俺の管理画面 2023年冬 - KAYAC engineers' blog

    面白法人カヤック技術部の谷脇です。私は元気です。 この記事は面白法人グループ Advent Calendar 2023の5日目のエントリーです。 というわけでこの記事では、現環境(私が取り組んでいる業務のこと)ベストの管理画面の技術選択について考えたことを書き連ねていきます。 前提知識 管理画面の定義 ここで読者と私の目線を合わせるため、この記事上での管理画面の定義をしておきます。 管理画面はサービスの運営上必要な操作やデータの閲覧をまとめたWebアプリケーションです。また、このWebアプリケーションは一般ユーザーには開放されておらず、サービス運営者側のみ閲覧と操作が可能となっている、とします。 管理画面を作る動機 ここではTonamelの管理画面について、考えて導入したことを書きます。 tonamel.com Tonamelはゲーム大会やイベントを開催するためのプラットフォームです。We

    俺の管理画面 2023年冬 - KAYAC engineers' blog
    yug1224
    yug1224 2023/12/05
  • もうすぐリリースするecspresso v2.3に入る新機能紹介 - KAYAC engineers' blog

    SREチームの藤原です。 この記事は 面白法人グループ Advent Calendar 2023 4日目の記事です。 今日は、自分が開発・メンテナンスしている Amazon ECS デプロイツール ecspresso の次のバージョンでリリースされる予定の新機能を、予告として紹介したいと思います。 github.com ecspresso v2.3 に入りそうな新機能 Pull Requestで v2.3 ラベルが付いているもの を新機能としてリリースする予定です。 Secrets ManagerのARNを取得する secretsmanager_arn テンプレート関数 add secretsmanager plugin by fujiwara · Pull Request #618 · kayac/ecspresso · GitHub ECSタスクにSecrets Managerで管理し

    もうすぐリリースするecspresso v2.3に入る新機能紹介 - KAYAC engineers' blog
    yug1224
    yug1224 2023/12/05
  • GitHub ActionsでEnvironmentsを使わずにManual approvalを実装する - KAYAC engineers' blog

    SREの今です。 CircleCIGitHub Actions等のCI/CDツールでデプロイの自動化に取り組む際に、意図しない番反映の防止策として承認アクション(Manual approval)を挟んでおくことがあります。 GitHub Actionsでは、Environmentsを利用することでワークフローの実行前にレビューを必須化することが出来ます1。しかし、この機能をプライベートリポジトリで利用するにはリポジトリの所有者がGitHub Enterpriseを契約している必要があります2。 業務の都合上、Environmentsを利用できないリポジトリでManual approvalを利用したい機会があり、ワークフロー実行履歴を利用したManual approvalを実装したのでご紹介します。 記事はSRE連載の12月号 + 面白法人グループ Advent Calendar 20

    GitHub ActionsでEnvironmentsを使わずにManual approvalを実装する - KAYAC engineers' blog
    yug1224
    yug1224 2023/12/03
  • NIPPON ITチャリティ駅伝にカヤックから今年は2チーム出た話 2023 - KAYAC engineers' blog

    こんにちは! Tech KAYAC Advent Calendar 2023 2日目を担当する荒賀(@ken39arg)です。 昨年 NIPPON ITチャリティ駅伝 に エンジニア5人のカヤックチームで参加し総合20位でした が、 今年も社内の有志チームで参加してきました。 なんと今年は2チーム+1名の11人で参加してきました!! 平均年齢45歳のおっさんチーム「KAYAC RUN 45」と、若者チーム「KAYAC RUN 30」です。 ちなみに今年も10人中9人がエンジニアで、残りの一人も最近は 42.195km採用 などのエンジニア採用や、社外や面白法人グループなど様々な括りでの合同勉強会を担当している ほぼエンジニアみたいな人 です。 #club-running カヤックのSlackチャンネルである #club-running は2019年に立ち上がり一時はbotしかいない超過疎状

    NIPPON ITチャリティ駅伝にカヤックから今年は2チーム出た話 2023 - KAYAC engineers' blog
    yug1224
    yug1224 2023/12/03
  • Go サーバーで外部 API 操作の原子性を頑張る - KAYAC engineers' blog

    こんにちは、カヤック SRE の市川です。 このエントリは【カヤック】面白法人グループ Advent Calendar 2023の1日目の記事です。 はじめに いきなり鬼のように私事ですが、結婚することになりました。 ISUCON 起床試験に失敗し、成長への決意を込めて(?)購入したチュードル 技術ブログとは全く関係ない話と見せかけて、婚約者が MySQL 互換な分散 DB の会社で働いていることが、想像していた以上に「データの整合性と向き合う機運」の高まりに繋がりました。 ということで今年は気合を入れて 気合いで DDIA 読破 Advent Calendar 2023 なるものを計画しているのですが、会社のアドベントカレンダーも運営担当をしているので、トップバッターやっていきます。 GopherCon Singapore での学び 個人的な話が連続して恐縮ですが年末なので(?)お許しく

    Go サーバーで外部 API 操作の原子性を頑張る - KAYAC engineers' blog
    yug1224
    yug1224 2023/12/03
  • primeNumberさんと合同勉強会を開催しました! - KAYAC engineers' blog

    こんにちは。人事部の高田です。 2023年10月20日、primeNumberさんと合同で勉強会を開催しましたので、その様子をご報告します。 primeNumberさんとは2022年12月にも合同で勉強会を開催させていただきました。 イベントの内容 イベントタイトルは 「組織拡大と共に発生するソフトウェア品質の課題と裏話LT」 です。 簡単に言うと、長期的にサービスやシステムが運用される中で発生する課題や、いわゆる「技術的負債」に関する各社の知見を共有するための会でした。 発表内容 登壇者とトークテーマは下記の通りでした。 発表者 所属 タイトル 鈴木さん primeNumber インシデントの重大度レベル(SEVレベル)策定の話 元木 カヤック Railsでスピード重視で立ち上げたプロダクトの数年後あるある集 中根さん primeNumber 自動化テストをほぼ0 -> 1で社内に浸透さ

    primeNumberさんと合同勉強会を開催しました! - KAYAC engineers' blog
    yug1224
    yug1224 2023/11/07
  • Google Cloud Operations Suite で実現する "頑張らないオブザーバビリティ" - KAYAC engineers' blog

    SRE チームの市川恭佑です。 先日、CloudNative Days Tokyo 2023 のプロポーザルを提出したのですが、残念ながら採択に至らなかったので、今回は宇宙最速の(?)供養エントリになります。 シェア・投票など、ご応援をくださった皆様にはこの場でお礼を申し上げます。ありがとうございました。 event.cloudnativedays.jp 背景とか、経緯とか 筆者は、カヤックの SRE チームにちょうど2年ほど在籍しています。とは言っても半年ぐらいは学生アルバイトだったので、正社員としては1年半ほどです。カヤックに入る前も、いくつかの会社で IT エンジニアとしてインターンやアルバイトをしていました。 という訳で、何だかんだ仕事で使うプログラムを書き始めてトータル4年半ほどになりますが、そのうち3年半ほどは全て Amazon Web Services(AWS)でホストされる

    Google Cloud Operations Suite で実現する "頑張らないオブザーバビリティ" - KAYAC engineers' blog
    yug1224
    yug1224 2023/10/27
  • タスクランナーとしてのmakeを使う際の工夫と注意点 - KAYAC engineers' blog

    SREチームの長田です。 みなさま開発・運用上の定形オペレーションに伴うタスク実行をどのように管理していますか? 今回は make をタスクランナーとして使う例を紹介します。 タスクランナーがほしい タスクランナーを使う主なモチベーションは以下の2つです。 タスクをリスト化したい タスクの実行インターフェイスを統一したい タスクがリスト化されていれば、それ自体が生きたドキュメントとして機能します。 また、タスクの実行インターフェイスが統一されていれば、 例えばタスクに前処理や後処理を追加したとしても、 開発・運用メンバーが実行するべき操作が変わることはありません。 操作変更の周知コストも下がりますし、変更に伴う操作ミスも減らすことができます。 タスクランナーに求めるもの タスクランナーの機能としては必要最低限のものがよいと考えています。 高機能なタスクランナーも魅力的ではあるのですが、タス

    タスクランナーとしてのmakeを使う際の工夫と注意点 - KAYAC engineers' blog
    yug1224
    yug1224 2023/10/16
  • N通りのCSSの書き方 - KAYAC engineers' blog

    おはこんばんちは!面白プロデュース事業部 フロントエンジニアの中村です。 とうとう新卒ではなくなり、2年目になった今、入社する前に知りたかったな〜という記事を書きたいと思います。 はじめに 皆さんはCSSを勉強したことがありますでしょうか。 自分の中では、CSSはプロパティをいっぱい知っていて、それを適切なタイミングで適切なものを使えるようにする技術が必要なものだと思っています。 別に暗記してなくても、なんとな〜くこんなのあったな〜ぐらいで覚えていると、調べることができますからね。 しかしながら、よく使われるものや便利なものが優先的に知識としてたまり、意外と身近にあるのに知らないプロパティがあったりします。 例えば、要素をセンタリングするだけでもいろいろな書き方があり、調べていくうちに新たな発見があったりするのではないでしょうか。 今回はそういう感じで、レスポンシブデザインを作っていく中で

    N通りのCSSの書き方 - KAYAC engineers' blog
    yug1224
    yug1224 2023/08/18
  • カスタマイズで広がるAWS Copilotの実践力 - KAYAC engineers' blog

    SREチームの橋です。SRE連載の7月号になります。 カヤック社内では弊社藤原のecspressoAmazon ECSのデプロイツールとして活用していますが、AWS公式のデプロイツールAWS Copilot(現在v1.29)もそのオールインワン的な性質から、開発・運営リソースが限られるプロジェクトでは選択肢に入るようになってきました。 今回はそのAWS Copilot活用のため、背後にあるAWS CloudFormationテンプレートをカスタマイズする手法を紹介します。 AWS CopilotとCloudFormation AWS CopilotはECSなどのデプロイを簡単にするCLIツールですが、実態としてはManifestと呼ばれるYAMLの設定ファイルからCloudFormationテンプレートを生成し、各種リソースを作成・管理するものです。 AWS Copilotは内部的にC

    カスタマイズで広がるAWS Copilotの実践力 - KAYAC engineers' blog
    yug1224
    yug1224 2023/07/29
  • MackerelとGrafana OnCallを連携しました - KAYAC engineers' blog

    SREチームの藤原です。今回は監視サービスのMackerelと、障害発生時に担当者へのオンコールを自動化するGrafana OnCallを連携してみた話です。SRE連載 6月号になります。 3行でまとめ MackerelとGrafana OnCallを連携しました MackerelのアラートWebhookをGrafana OnCallのWebhookに変換するproxyをAWS Lambdaで作りました。OSSで公開しています Grafana OnCallの管理はTerraformでやっています はじめに カヤックでは、運用しているサービスの監視のためにMackerelを利用しています。サービスで障害が発生した場合に担当者を呼び出す(オンコール)ためのツールとして、2023年3月までは ryotarai/waker を使用していました。 wakerはもともとクックパッド社で利用されるために

    MackerelとGrafana OnCallを連携しました - KAYAC engineers' blog
    yug1224
    yug1224 2023/06/29