タグ

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

  • 【JS体操】第2問「画像の横長具合を比較しよう」〜チート部門①②③の解説〜 - KAYAC engineers' blog

    こんにちは! カヤック面白プロデュース事業部のおばらです。 記事は『JS体操』第2問「どちらの画像が横長かを比較する」の解説記事です。 「正攻法」「ハック部門」の解説に引き続き、「チート部門」の解説をお送りします。 第2問「どちらの画像が横長かを比較する」 hubspot.kayac.com 第2問 解説「正攻法」「ハック部門」 techblog.kayac.com JS体操とは? 『JS体操』とはカヤックが主催する JavaScript のコードゴルフ大会です。詳細は以下を御覧ください。 techblog.kayac.com 第2問の詳細 https://hubspot.kayac.com/js-taiso-002 もしまだ挑戦できていなかった!という方はぜひ。 hubspot.kayac.com 目次 JS体操とは? 第2問の詳細 チート部門とは? チート部門① 「正解」「不正解」を

    【JS体操】第2問「画像の横長具合を比較しよう」〜チート部門①②③の解説〜 - KAYAC engineers' blog
  • 【JS体操】第2問「画像の横長具合を比較しよう」〜正攻法&ハック部門の解説〜 - KAYAC engineers' blog

    こんにちは! カヤック面白プロデュース事業部のおばらです。 普段は受託案件のデザイン・フロントエンド開発などを担当しています。 さて、『JS体操』第2問 いかがでしたか? 今回初めての方々 第1問に引き続きの方々 複数のアプローチで何通りも回答してくださった方々 普段業務で JavaScript をバリバリ書いているであろう方々 JavaScript を学んでいる学生の方々 などたくさんの方々が挑戦してくださいました。 とても嬉しいです。ありがとうございます! 『JS体操』とは? 『JS体操』とはカヤックが主催する JavaScript のコードゴルフ大会です。 もともとは社内の勉強会として始めた施策です。 その詳細は以下のブログ記事を御覧ください! techblog.kayac.com 第2問の詳細はこちら https://hubspot.kayac.com/js-taiso-002 も

    【JS体操】第2問「画像の横長具合を比較しよう」〜正攻法&ハック部門の解説〜 - KAYAC engineers' blog
  • AWS Systems Manager Parameter Storeを便利に使うツール "ssmwrap" がv2になりました - KAYAC engineers' blog

    SREチームの長田です。 今回はssmwrapという拙作CLIツールのはなしです。 ssmwrapとは ssmwrapは、AWS Systems Manager Parameter Store(以下SSM Params)から値を取得し、 環境変数またはファイルに出力した上でコマンドを実行するツールです。 secret類をSSM Paramsに保存している場合、アプリケーション実行時にSSM Paramsから必要な値を取得することになります。 AWSのサービスにアクセスするという操作は、それなりに手間がかかるものですが、 ssmwrapを使えば環境変数とファイルというより簡便な入出力インターフェイスを通してSSM Paramsの値を参照できます。 実装が簡潔になるだけでなく、アプリケーションからのAWS APIへの依存を排除することにもなります。 # SSM Paramsにこんな値が保存され

    AWS Systems Manager Parameter Storeを便利に使うツール "ssmwrap" がv2になりました - KAYAC engineers' blog
  • AWSコスト異常検知を導入したら、『人にお願いする』トイルが発生したのでSlackBotを作って解消した - KAYAC engineers' blog

    SREチームの池田(@mashiike)です。SRE連載の5月号になります。 AWSのコストについては、多くの方がすごく気にしていると思います。 カヤックでもAWSのコストの変動に関しては敏感に気にしています。 そんな方々の心のお供になる機能が、 AWSコスト異常検知(AWS Cost Anomaly Detection) です。 今回は、このコスト異常検知にまつわるトイル削減の取り組みを紹介します。 背景 AWSコスト異常検知は、AWS マネジメントコンソールの中では『Billing and Cost Management』配下にある機能になります。 この機能を使うことでAWSで発生したコストに関して、通常とは異なるコストの発生を検知することができます。 コスト異常検知自体については、CureApp テックブログ様のZennの記事がわかりやすくまとまっているので、そちらを参照いただければ

    AWSコスト異常検知を導入したら、『人にお願いする』トイルが発生したのでSlackBotを作って解消した - KAYAC engineers' blog
    sfujiwara
    sfujiwara 2024/05/28
    便利なやつです
  • エンジニア in ハイパーカジュアル - KAYAC engineers' blog

    こんにちは。技術部平山です。 今回は、ハイパーカジュアルというジャンルにおけるエンジニア、 というテーマで書きます。 勉強会でしゃべった動画がありますので、そちらを見て頂いても良いかと思います。 外に出すということで、普段よりも多少丁寧にしゃべっております。 前置き 平山が作った製品群 これらは2022年あたりから現在にかけて、平山が自分で企画、実装した製品です。 これらのうち、利益を出せた製品は2つあります。 黒字製品 Draw Saber(Android iOS) Mannequin Downhill(Android iOS) の2つで、順に2800万、2100万ダウンロードです。加えて、いい線まで行ったものの、利益を出すに至らなかった製品が一つあります。 赤字だったTitanShoot Titan Shoot(Android iOS) こちらは210万ダウンロードと、うまく行ったもの

    エンジニア in ハイパーカジュアル - KAYAC engineers' blog
    sfujiwara
    sfujiwara 2024/05/16
    いろんな意味で極北ぽい
  • 【JS体操】JavaScript で頭の体操をしよう!〜第一問 44文字 解説編〜 - KAYAC engineers' blog

    こんにちは!カヤック面白プロデュース事業部のおばらです。 普段は受託案件、特にインタラクティブな WebGL や Canvas2D を駆使する案件のデザイン&実装を担当しています。 先日出題したJS体操 第一問目、挑戦してくださったみなさまありがとうございました! 早速ですが最短文字数の回答は 44文字 でした! export default x=>x-(x%=.2)+.2-(.04-x*x)**.5 みごと44文字を達成した方は、 halwhite さん koyama41 さん sugyan さん tkihira さん たつけん さん の5名!(※ Unicode コードポイント順) おめでとうございます!! 最短文字数を狙った正統派の回答以外にも、裏技的な面白アプローチがたくさんありました笑 このアプローチは面白い、ぜひ紹介したい!という回答がいくつかあったので、解説記事は2回に分けて

    【JS体操】JavaScript で頭の体操をしよう!〜第一問 44文字 解説編〜 - KAYAC engineers' blog
  • 国立競技場リレーマラソンでサブスリー達成した話 - KAYAC engineers' blog

    こんにちは! マラソン完走で書類選考免除!42.195km採用 の企画に携わっている高田です。 カヤックのエンジニアにはランニングを楽しむ人が多く、SREの藤原や、サブスリーの記録を持つ荒賀、最近記録を伸ばしている千葉などが代表的なランナーです。 社内にはランナーたちが集まるSlackチャンネル「#club-running」があり、日々のランニング活動を共有しあっています。 (#club-runningの活動はこちらの記事をご覧ください) そんなエンジニアたちを中心にチームを組んで「国立競技場 Enjoyリレーマラソン」に出場してきたので、その様子をご紹介します。 完走後の記念撮影。国立競技場は広いですね! 国立競技場Enjoyリレーマラソンの様子 今回はカヤックから3チーム、グループ会社の株式会社カヤックボンドから1チームの合計4チームがエントリーしました。 私たちが参加したのは「フルリ

    国立競技場リレーマラソンでサブスリー達成した話 - KAYAC engineers' blog
    sfujiwara
    sfujiwara 2024/04/23
    みんなで走ってきました
  • Fargate Spotを本番運用するための監視の実践 - KAYAC engineers' blog

    SREチームの橋です。SRE連載の3月号となります。 Amazon ECSのコスト最適化においてはFargate Spotが有効な手段となりますが、いつ中断されるか分からない性質上、その監視も併せて実施していく必要があります。今回はそのFargate Spotを番環境で運用しているプロジェクトにおける取り組みを紹介します。 背景 Fargate (Amazon ECS on AWS Fargate) を用いると負荷に合わせた容易なスケーリングが可能になる一方、このときCPU使用率の安全マージンや予測のブレなどにより、リソースがやや過剰になってしまうこともあります。 Fargate Spotの代表的なユースケースと言えばユーザーに露出しない開発環境ではないかと思いますが、このような場合にコストを考えると、タスクの中断をある程度許容しての番環境でのFargate Spot運用も可能な選択

    Fargate Spotを本番運用するための監視の実践 - KAYAC engineers' blog
    sfujiwara
    sfujiwara 2024/03/28
    maprobeってやつが便利(PR)
  • Ruby 3.3でのアップデートも要チェック!まちのコインでYJITを有効化したはなし - KAYAC engineers' blog

    SREチームの長田です。 今回はRubyのJITコンパイラであるYJITのはなしです。 カヤックが開発・運用している地域通貨サービス「まちのコイン」は、Ruby on Railsを使用しています。 このまちのコインにてYJITを有効化し、その結果どのような影響があったのかを紹介します。 coin.machino.co YJITとは YJITRubyのJITコンパイラです。 Ruby 3.1までは実験的な機能という位置づけでしたが、 Ruby 3.2から実用段階となりました。 Basic Block Versioning (BBV)を採用した遅延コンパイルにより、コード実行の高速化を図っているようです。 YJITそのものの話題については、今回は割愛させていただきます。 まちのコインの状況 まちのコインでは昨年6月末頃に Ruby 3.1.x から Ruby 3.2.x にアップデートを行

    Ruby 3.3でのアップデートも要チェック!まちのコインでYJITを有効化したはなし - KAYAC engineers' blog
    sfujiwara
    sfujiwara 2024/03/13
    最初YJIT有効化したらレスポンスタイムが2倍に悪化したの面白い
  • 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
    sfujiwara
    sfujiwara 2024/02/26
    新作ですよ
  • YAPC::Hirosima 2024でコードゴルフコンテストを開催しました 〜解説編〜 #yapcjapan - KAYAC engineers' blog

    こんにちは、技術部の谷脇です。 去る2月10日に行われたYAPC::Hiroshima2024ですが、みなさまはいかがだったでしょうか。私は参加して大満足であり、運営の方々に大感謝させていただきます。 さて、カヤックではゴールドスポンサーと椅子スポンサーをしていたというのは開催直前に出した記事で述べさせていただきました。 techblog.kayac.com この記事では伏せられていた、椅子スポンサーのPerlbatrossですが、この記事ではPerlbatrossの内容紹介と問題解説をしようと思います。 Perlbatrossとは YAPC::Hiroshima2024の開催期間中にコードゴルフの問題を出していました。以下は椅子スポンサーで貼らせていただいた問題です。 Q1. Split of Graphemeの問題 さて、これだけではなく、QRコードにアクセスすると実際に問題を解けるサ

    YAPC::Hirosima 2024でコードゴルフコンテストを開催しました 〜解説編〜 #yapcjapan - KAYAC engineers' blog
    sfujiwara
    sfujiwara 2024/02/22
    やりました
  • YAPC::Hiroshima2024に参加の皆様へノベルティなどのご案内 - KAYAC engineers' blog

    カヤック技術部の谷脇です。 さて、2024年2月10日に広島でYAPC::Hiroshima2024が開催されます。カヤックはゴールドスポンサーと椅子スポンサーを行っています。 yapcjapan.org さてそんなカヤックですが、スポンサーノベルティとして今回のために作ったものがあるのでここで紹介させていただきます。 ステッカー御朱印帳 参加者の皆様にお配りするのはこちらです。 ステッカー御朱印帳です。ノートですが、広島にちなんだ柄にしております。また、御朱印帳なので右綴じです。 中身はこんな感じです。 この例のように、他のノベルティで配られるであろうステッカーなどを貼ってスクラップブック風にしてみたり、トークのメモにしてみてください。ちなみにこのステッカーは私が個人的に今回に合わせて作ったものです。こんな感じで会場では自分のシールを配っている人がいることがあります。またシールを持ってな

    YAPC::Hiroshima2024に参加の皆様へノベルティなどのご案内 - KAYAC engineers' blog
    sfujiwara
    sfujiwara 2024/02/09
    わいわい
  • モバイルクライアントアプリにおける「どんなログを出してるのか?」「どの様に役立てているのか?」事例 - KAYAC engineers' blog

    このエントリは【カヤック】面白法人グループ Advent Calendar 2023の19日目の記事です。 こんにちは。カヤックアキバスタジオの須藤崇浩(@p_chin)と申します。 記事では私のログに対する考えと、実際にどの様なログを出して、どの様に役立ててるかを紹介します。 また、記事内ではUnity製のモバイルゲームでの事例に限定して話をします。(モバイル以外のクライアントアプリにも応用可能だと思いますが) おそらく周りでも同じ様な事をやっていそうですが、開発の参考になれば幸いです。 私のログを出す際の考え方 具体的にどんな場合にログを出して役立てているのか?の例 実際に出しているログファイルについて紹介 エラーリスト ログ出力時の機種 / アプリ特有の状態リスト 全てのログを含めたもの 以前に起動した時のエラーリスト ログ出力時にメモリに載っているリソースリスト ログ出力時の画面

    モバイルクライアントアプリにおける「どんなログを出してるのか?」「どの様に役立てているのか?」事例 - KAYAC engineers' blog
    sfujiwara
    sfujiwara 2023/12/19
    ログだいじ
  • Rails+PostgreSQL+Apartmentでたった1行の変更がレスポンスタイムを3倍速にした話 - KAYAC engineers' blog

    こんにちは! Tech KAYAC Advent Calendar 2023 11日目を担当する荒賀(@ken39arg)です。 在籍期間15年と弊社の中でかなり古参になってしまった私ですが、アドベントカレンダーを年に2書くのは初めてです。1 今回の内容は、今年7月に無事に成功したお仕事の話で、完了したらブログに書くように言われていたものです。 が、どうしても筆が進まず、のらりくらりと逃げていたのですが、良い年越しをするためにいい加減書いておくか〜という内容です。 TL;DR Rails + PostgreSQL + Apartment という構成のサービスで下記の1行の設定変更コミットを取り込んだ結果・・・ $ git log -n1 -p 64b39f258e9adde2e55752e4f1d5b6be12bcb216 commit 64b39f258e9adde2e55752e4f

    Rails+PostgreSQL+Apartmentでたった1行の変更がレスポンスタイムを3倍速にした話 - KAYAC engineers' blog
    sfujiwara
    sfujiwara 2023/12/11
    3倍速すごい
  • 社内発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
    sfujiwara
    sfujiwara 2023/12/10
    捗る
  • dbtでCIを実現するために、Github ActionsでAWSのVPC越えしたい。 - KAYAC engineers' blog

    この記事はTech KAYAC Advent Calendar 2023の8日目の記事です。 こんにちわ。その他事業部SREチームの@mashiikeです。 最近、風変わりな記事を連投しているのですが、今回も風変わりです。 ひとことで要約すると、 私は!Github Actionsから!Redshiftにアクセスしたいんだ!!! です。 TL;DR dbtのCIを実現したい。ローカルのunit-testはできてるんだが、Github ActionsからRedshiftへのアクセスに難がある。 Github ActionsからRedshiftにアクセスするために頑張ってみた。 kayac/ecspressoで踏み台となるECS Taskを立ち上げる。 fujiwara/ecstaでportforwardingする。 mashiike/redshift-credentials で一時認証情報を

    dbtでCIを実現するために、Github ActionsでAWSのVPC越えしたい。 - KAYAC engineers' blog
    sfujiwara
    sfujiwara 2023/12/08
    ecsta(ecspresso)のportforward便利ですね
  • インクジェットプリンターの目詰まりとの戦い - KAYAC engineers' blog

    この記事はTech KAYAC Advent Calendar 2023の7日目の記事です。 こんにちは、@commojunです。記事を書くのは2年ぶりです。昨年は娘が生まれ、最近1歳になりました。知らない間に紙をったりしていて、目が離せません!! はじめに 皆さんはご自宅にプリンターはお持ちでしょうか?我が家にはあります。ペーパーレス化が進んできた昨今、プリンターを持たないという人も増えてきていると聞きます。たまにしか印刷しないならコンビニで大丈夫だったりしますからね。 しかし、印刷物が必要になる出来事は突然やってきます。最近だと、保育園の入園申し込みをするために、市で公開されているPDFファイルを紙に印刷して、期日までに申し込み用紙を完成させる必要がありました。そんなときプリンターでさくっと申込用紙を出力できると頼もしいです。内容を書き損じたときも、気軽にもう一度プリントするだけです

    インクジェットプリンターの目詰まりとの戦い - KAYAC engineers' blog
    sfujiwara
    sfujiwara 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
    sfujiwara
    sfujiwara 2023/12/06
    やりました!
  • もうすぐリリースする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
    sfujiwara
    sfujiwara 2023/12/04
    もうすぐ出します!
  • 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
    sfujiwara
    sfujiwara 2023/12/03
    工夫してる