サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
今年の「#文学」
techblog.kayac.com
はじめに 🎄この記事は【カヤック】面白法人グループ Advent Calendar 2024の16日目の記事です🎄 こんにちは。カヤックアキバスタジオのp_chinと申します。 今回はニッチな気がしますが表題の仕組みをOpenUPMで公開したので紹介します。 openupm.com 使い方 使い方 作った経緯 元々10年以上前から仕事で所属した案件にもっと簡易的な実装で導入して(多分自分だけは)便利に使用してまして、今回ブログを書く機会にこれの実装を整えて公開する事にしました。 また ちょうどUnityのcustom packageを公開する経験もしておきたかった 毎回プロジェクトにコピペするよりはpackageとしてinstall出来た方が便利 の様な利点も多かったのでやってみました。 類似製品がすでにあるんじゃない? もしかしたらガッツリUnity Editor上でgitコマンドの
はじめに この記事は【カヤック】面白法人グループ Advent Calendar 2024の12日目の記事です。 こんにちは、カヤックボンド所属のサーバーサイドエンジニアの朝倉と申します。 本記事のテーマはLaravel filamentを用いた管理画面作成です。 管理画面を簡単に作れるFilamentの基本的な使い方と要件をちゃんと決めずに見切り発車したらぶつかってしまうFilamentならではの問題を書いていきたいと思います。 Laravel Filamentとは filamentphp.com まずPHPのフレームワークとしてLaravelがあり、その拡張パッケージがFilamentです。 管理画面を作るための機能を豊富に持っています。 また、今回は触れませんがサーバーサイドの記述のみでフロントの動的な制御をする機能も用意されています。 環境構築 環境構築についてはこちらを参考にさせ
カヤック 技術部でフロントエンジニア・プランナーをしてますゆうもやです。 面白法人グループアドベントカレンダー2024 11日目記事です。 皆様「Web Share API」をご存知でしょうか?Webページからアプリに直接画像やテキストをシェアできる非常に便利な機能です。 カヤックでは診断やジェネレーター系コンテンツを多く制作しているため、このAPIを頻繁に活用してきました。 www.kayac.com しかし、最近一部のスマホで期待通りに動作しないケースが増えているのをご存知でしょうか? Web Share APIとは Web Share APIは、Webページから直接画像やテキストをシェアできるAPIです。 主にスマートフォンで使用し、診断コンテンツ等で診断結果の画像をX等に直接シェアするのに役立ちます。 developer.mozilla.org ブラウザで画像を生成することで、OG
技術部の長田です。 このエントリは面白法人グループ Advent Calendar 2024の6日目の記事です。 みなさん、ふだん技術系の最新情報ってどこから手に入れているでしょうか? 私は家事育児の忙しさにかまけて自力での情報収集をサボり、もっぱら社内Slackの情報を頼りにしています。 コンテキストが近い人達がわざわざ共有してくれる情報ということで、精度は間違いありません。 が、そろそろ自分も共有する側に回れるようにならないとなということで、 まずは社内のエンジニアにどうやって情報を得ているのかを聞いてみることにしました。 アンケートを取ってみた と、いうことで社内のエンジニア向けに以下のようなアンケートを取ってみました。 期間: 11/25〜12/1の1週間 アンケート内容: 職能(フロントエンドorバックエンド) 情報源名 情報源のURL その情報源を参照する目的 コメント 結果、
この記事はdbt Advent Calendar 2024および、Kayac Group Advent Calender 2024の4日目の記事になります。 こんにちは、その他事業部SREチーム所属の@mashiikeです。 背景 2024/10/30にAWS からAmazon Redshiftの素晴らしいUpdateが発表されました。 aws.amazon.com 自動コピーを使用して Amazon S3 から Amazon Redshift へのデータ取り込みです。 Redshift では、COPY コマンドを使用してデータを Amazon S3 から 効率的にデータをロードできますが、 このUpdateが来るまでは継続的な取り込みは Amazon Data Firehose を使用する方法が一般的でした。 しかし、カヤックでは「Firehoseの取り込みはメンテナンス時に一時停止でき
こんにちは、カヤック技術部の竹田です。 【カヤック】面白法人グループ Advent Calendar 2024 3日目の記事になります。 本稿は首相官邸ホームページのドメイン:kantei.go.jpの調査記事になります。 首相官邸のホームページ 首相官邸をdigる ドメイン情報を調べる方法は幾つかありますが、digを使って調べます、「digる」=「掘る」という言い回しもあるコマンドです。 ホームページhttps://www.kantei.go.jpはhttps://kantei.go.jpからリダイレクトされているので、各ドメイン情報を調べてみましょう。 $ dig www.kantei.go.jp : www.kantei.go.jp. 60 IN A 18.65.207.120 www.kantei.go.jp. 60 IN A 18.65.207.11 www.kantei.go.
面白法人グループアドベントカレンダー2024 2日目の記事です。SREの藤原です。 2024年も暮れようとしていますね。ところで今から5年前のこと、builderscon tokyo 2019 というイベントで「レガシーサーバーを現代の技術で再構築する」というタイトルで発表しました。 speakerdeck.com この発表は、当時 Amazon EC2 のシングル構成で動作していたサーバー(SVN, Redmineほか、社内の開発支援ためのサービスが動作していました)を、Amazon ECS をはじめとしたコンテナや AWS のマネージドサービスを用いてリプレイスした、という内容です。 2019年末にはこの発表で予定していた移行作業は全て完了し、以下の画像のように EC2 が空っぽになりました。 あれから5年 さて、早いもので2019年から5年が経過しました。このシステムで動いていたサー
今年も師走ということでアドベントカレンダー2024が始まりました。カヤックSREの市川です。 初回は、Google Cloud における分散トレースの話です。前半は関連知識のおさらいになるので、「オブザーバビリティだいたい分かるよ〜」という方は本題まで飛ばしてください。 ちなみに本記事の内容は、SDK で直接送信する前提です。Collector を立てている場合についても最後で少し触れますが、記事が役立つユースケースとしては App Engine Standard 環境を利用している場合が多いのかなと思います。 分散トレースのおさらい 免責:以下、おさらいの内容はある程度ラフな説明になりますので、詳しくはそれらを主題として扱っている資料をご参照ください。 分散トレースとは 分散トレースとは、言ってしまえばログです。ただし「開始と終了」の概念を持ち、「親子関係」で整理されています。 ログにお
SREチームの長田です。 今回はAWSのVPC(Virtual Private Network)内で作業する時の話です。 VPC内で作業したい VPC内で作業したいこと、ありますよね。 環境構築中の動作確認とか、不具合・障害調査のための定形外作業とか、メンテナンスためのイレギュラーな作業とか。 定常的に行うほどではないですが、AWSでVPCに絡んだサービスを使用しているなら、VPC内での作業は少なからずあると思います。 VPC内に閉じたリソースにアクセスする場合は、当然ですがVPC内からアクセスする必要があります。 VPC外からアクセスするための経路を用意すればそれも可能ですが、アプリケーションが使っている経路とは異なる経路を使うことになるため、 不具合調査時の再現確認などでは余計な要素となることがあります。 VPC内からの操作は、AWSであればCloudShellで VPC環境を作るのが
こんにちは!カヤックの市川です。早くも年の瀬が近づいてきましたね。 12月と言えば......そうです!毎年恒例の「技術部ブログ Advent Calendar」を今年も開催します! 最近もりもり増えているグループ会社も参加するようになって、早くも3回目です。 例年どおり、毎日こちらの はてなブログ に投稿していくので、バラエティ豊富な記事に是非ご期待ください! 以下の Qiita カレンダーにも、公開次第逐一リンクを登録する形になる予定です! qiita.com 去年のブックマーク上位3記事 おまけとして、去年の反響が大きかった記事をいくつか紹介いたします。一覧はこちら。 3位「Rails+PostgreSQL+Apartmentでたった1行の変更がレスポンスタイムを3倍速にした話」 techblog.kayac.com 2位「俺の管理画面 2023年冬」 techblog.kayac.
SRE チームの市川恭佑です。 今回はコンテナに関連するDevOpsツールを作った話です。ecresolve と書いて「イーシーリゾルブ」と読みます*1。 github.com ecresolve は、ざっくり言うとコンテナイメージのタグが上書きされる前提で、複数タグを指定すると一番先頭で見つかったものを出力するツールです。 基本的な使い方としては、たとえば dog と cat のタグのみが存在する ECR リポジトリ animal があるとき、以下のコマンドを実行すると標準出力に dog が出力されます*2。 ecresolve monkey bird dog human cat --repository-name=animal --format=tag-only # dog なお、本記事の大前提として、もちろん本番環境において、特にお客様のデータを取り扱うようなコンポーネントについては
お久しぶりです。SRE の市川恭佑です。 今回は Go で CLI ツールを作成する際の小ネタを紹介します。 そもそも CLI パーサの選定 Go でコマンドを解析する手法は多岐に渡ります。そもそも標準 flag パッケージだけで実装することも可能ですし、spf13/cobra や urfave/cli をフラグパーサに採用することも多いかと思います。 好きなものを使っていただくのが一番ですが、今回の話題で取り上げる alecthomas/kong は、サブコマンドのサポートのみならず簡単な制約チェックも提供されているのが魅力的です。個人的には、不正なフラグが与えられたときに適切なエラーメッセージを返すことの面倒臭さを考えると、ここら辺もパーサ側にお願いしたいなって気持ちになることが多いです。 ちなみに kong は、alecthomas/kingpin と同じ作者によるツールで、みなさん
SREチームの長田です。 皆さんは操作するAWSアカウントを取り違えたことはありますか? 私はあります。 カヤックのSREは複数のプロダクトを担当することも多く、 ひとつのプロダクトでも環境(本番、ステージング、開発、etc.)ごとにAWSアカウントを分ける場合があり、 扱わなければならないAWSアカウントが多くなる傾向にあります *1。 今回はうっかり別のアカウントのリソースを削除してしまったーといったオペレーションミスを減らすために個人的に行っている、 「気をつける」以外の対策を紹介します。 間違いに気づくための対策 対象のアカウントが操作の対象として正しいかどうかは、結局は操作している本人にしか分かりません *2。 そのため、「アカウント取り違え自体をなくす」のではなく、 「アカウントを取り違えていることに気づきやすくする」ための対策をしています。 AWSコンソール用の対策 AWSコ
こんにちは! 技術部の谷脇です。 去る10/5にYAPC::Hakodate 2024が開催されました。いかがでしたか? yapcjapan.org 以前に告知したように今回のYAPCもコードゴルフコンテストPerlbatrossを開催しました。 techblog.kayac.com このエントリでは結果発表と、事前解答チームの川添(@acidlemon)より社内最短解の紹介と解説をお届けします。 Perlbatrossは現在コードの投稿や検証はできるものの、ランキングに載らないモードになっております。あと1週間程度はこのようにしておきますので、やりそびれた方や、ちょっと試してみたいなという方は是非コードゴルフに挑戦してみてください。 ここで宣伝 JavaScript版コードゴルフコンテスト JS体操はまだまだやっております! hubspot.kayac.com こちらも是非ご参加ください
技術部の長田です。 YAPC::Hakodate まで1週間を切りましたね。 今回は当日登壇するカヤックメンバーの紹介と、当日実施予定のイベントについてご案内です。 前夜祭: 「AWS Lambda FunctionURLで実現するスケーラブルで低コストなWebサービス構築」 by fujiwara 前夜祭ではSREチームの藤原が登壇します! トーク概要より: AWS Lambda FunctionURLを活用し、従来の開発モデルで作られたWebアプリケーションを最小限の変更でサーバーレス化する手法を紹介します。 カヤックが運用するeスポーツ大会支援サービスTonamelでは、Goで実装されたマイクロサービスをECSからLambdaへ移行し、急激な負荷増加への対応とコスト削減を実現しました。 今回のYAPC::Hakodateスポンサー連動企画Perlbatrossでは、Perlで実装した
SREチームの長田です。 SREsとしての業務がメインではあるのですが、実はSREチームの人事リソース管理を担当していたりします。 今回はそんな立場から「SRE活動用のリソース」について紹介してみようと思います。 SREなのに「SRE活動用」リソース? カヤックのSREは、担当プロダクトチームのメンバーとして動く、いわゆるEmbedded SREです。 社内の予算計画の話になってしまうのですが、プロダクトを持つ事業部がSREメンバーのリソース配分を期ごとに確保する形式となっています。 例えばあるメンバーのリソース(100%)のうち、50%分をTonamel(ゲームコミュニティ事業部)に、 30%分をまちのコイン(ちいき資本主義事業部)に割り振った場合、 各割合分のリソースを各プロダクトが属する事業部が負担する形です *1。 Embedded SREの活動とは別に、プロダクトとは直接関係のな
SREチームの長田です。 今回は、カヤックのメンバーが業務で使うために開発・公開しているOSSなプロダクトをまとめて紹介しようという企画です。 KAYAC organization以下にあるものだけでなく、在籍中のメンバーが作ったものもひっくるめて、実際に業務で使用しているものを中心に 紹介しています。 以下の3つのカテゴリに分けて記載しています。 各カテゴリ内はアルファベット順です。 ツール編 人間が手動で実行するもの アプリケーション編 どこかに常駐して、イベントを受け取ると動作するもの ライブラリ編 ツールやアプリケーションから参照されるもの 集めてみたらそこそこの量になったので、本記事では詳細な説明は省いています。 GitHubリポジトリのURLや関連記事のリンクを併記していますので、より詳しく知りたい場合はそちらを参照ください。 (...) 内はそのプロダクトで使用している主なプ
こんにちは!面白プロデュース事業部のおばらです。 『JS体操』第3問 「Zalgo Text の生成」、今回もたくさんの方が挑戦してくださいました。ありがとうございます!本記事はその解説記事の第1弾。挑戦してくださったみなさまの回答、JS体操 QA チームが事前に検証・想定していた回答を一挙にご紹介します。 もし第3問まだ挑戦できていなかった!というひとは以下よりぜひ。 hubspot.kayac.com 今回の第3問では事前にヒント記事を4件書いてみました。ぜひ併せてご覧ください。 techblog.kayac.com techblog.kayac.com techblog.kayac.com techblog.kayac.com 目次 本戦上位3名の回答 🥇 114文字 by halwhite さん 🥈 117文字 by ほーく さん 🥉 119文字 by すぎゃーん さん 社内
SREチームの藤原です。 今回は CEL(Common Expression Language) を使って、AWSのIAMポリシーを検索するツールを作ったので紹介します。 github.com 3行でまとめ CEL (Common Expression Language)の式を指定してAWS IAMポリシーを検索するツールをOSSとして作りました。GetAccountAuthorizationDetails APIで取得したIAMポリシーをCELで評価して、マッチするものを出力します 例えば「lambda:GetFunctionがあるがlambda:ListTagsがないポリシーを探す」などができます AWSからたびたびやってくる、IAMポリシーに関するお知らせに対応するのに便利です 突然の「Action Required」 ある日、AWSからこんなメールが届きました。 Lambda Ge
技術部の小池です。 2024年7月19日に 北欧、暮らしの道具店 を運営している株式会社クラシコムさんと合同勉強会を開催しました。 クラシコムさんとは SRE と データ基盤 領域の協業によるご縁があり、2019年にも勉強会を開催しています。 クラシコムさんの新オフィス 今回の勉強会は2024年3月に移転したクラシコムさんの新オフィスで開催しました。 白を基調とした開放的で広々とした空間でとても居心地がよかったです。 勉強会の様子 はじめに乾杯をして軽くピザを食べ、穏やかな雰囲気で発表が始まりました。 OpenAI/Gemini APIを使って EPUBを翻訳するCLIツールをつくってみた OpenAI/Gemini APIを使って EPUBを翻訳するCLIツールをつくってみた クラシコム冨田さんの発表です。 speakerdeck.com EPUB のデータ構造や OpenAI API
こんにちは!面白プロデュース事業部のおばらです。 本記事はJS体操第3問「Zalgo Text の生成」の問題のヒントにもなるかもしれないシリーズ第2弾。 第1弾は 「Zalgo Text のできるまで」でした。 今回は「コードポイント」、そして「コードポイント」と似ているけれどちょっと違う概念の「コードユニット」についてざっくりおさらいしてみます。 techblog.kayac.com hubspot.kayac.com 目次 「Unicode」とは 「コードポイント」とは 「文字」を「コードポイント」に変換する 「コードポイント」を「文字」に変換する 「コードユニット」とは 「UTF-8」「UTF-16」「UTF-32」 「コードユニット」とは 「文字」を「コードユニット」に変換する 「コードユニット」を「文字」に変換する 「コードポイント」と「コードユニット」の違い 文字数とは? ま
こんにちは。技術部平山です。 たぶん15年ぶりくらいに研修の類の講師をやったので、そのことについて書きます。 概要 2D用(github)、 3D用(github) の2つのUnityプロジェクトをテンプレートとして用意して、 そこに「コードだけで」ゲームを作る研修をしました。 どちらも、Hierarchyに何かを足すことは禁止、 足して良いアセットはC#ファイルのみで、 そのC#ファイル内ではUnityEngineの機能を使用禁止、 というレギュレーションです。 いずれも、IMachineなるインターフェイスが存在し、 これを通してゲームを作ります。 例えば2D用のIMachineの主要部分はこんな感じです。 public interface IMachine { public int Width { get; } // スクリーン横解像度 public int Height { get
こんにちは!面白プロデュース事業部のおばらです。 今回は、先日スタートしたJS体操第3問のテーマでもある「Zalgo Text(ザルゴ・テキスト)」の作り方を JavaScript のサンプルコードと併せて簡単にご紹介します。 hubspot.kayac.com 目次 Zalgo とは Zalgo Text とは Zalgo Text を作ってみる 「結合文字」 「ダイアクリティカルマーク」 「Unicode エスケープシーケンス」と「コードポイント」 「A」という文字に「ダイアクリティカルマーク」を加えてみる 「ダイアクリティカルマーク」の数を増やしてみる 「基底文字」も増やしてみる まとめ Zalgo とは まず、Zalgo ってなんでしょう? Zalgo(ザルゴ)とは、Flash アニメータ Dave Kally によって生み出された架空の生物。インターネット上の人々を狂気に陥れ破滅
こんにちは! カヤック面白プロデュース事業部のおばらです。 普段は受託案件のデザイン・フロントエンド開発などを担当しています。 さて、『JS体操』第2問 いかがでしたか? 今回初めての方々 第1問に引き続きの方々 複数のアプローチで何通りも回答してくださった方々 普段業務で JavaScript をバリバリ書いているであろう方々 JavaScript を学んでいる学生の方々 などたくさんの方々が挑戦してくださいました。 とても嬉しいです。ありがとうございます! 『JS体操』とは? 『JS体操』とはカヤックが主催する JavaScript のコードゴルフ大会です。 もともとは社内の勉強会として始めた施策です。 その詳細は以下のブログ記事を御覧ください! techblog.kayac.com 第2問の詳細はこちら https://hubspot.kayac.com/js-taiso-002 も
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にこんな値が保存され
SREチームの池田(@mashiike)です。SRE連載の5月号になります。 AWSのコストについては、多くの方がすごく気にしていると思います。 カヤックでもAWSのコストの変動に関しては敏感に気にしています。 そんな方々の心のお供になる機能が、 AWSコスト異常検知(AWS Cost Anomaly Detection) です。 今回は、このコスト異常検知にまつわるトイル削減の取り組みを紹介します。 背景 AWSコスト異常検知は、AWS マネジメントコンソールの中では『Billing and Cost Management』配下にある機能になります。 この機能を使うことでAWSで発生したコストに関して、通常とは異なるコストの発生を検知することができます。 コスト異常検知自体については、CureApp テックブログ様のZennの記事がわかりやすくまとまっているので、そちらを参照いただければ
こんにちは。技術部平山です。 今回は、ハイパーカジュアルというジャンルにおけるエンジニア、 というテーマで書きます。 勉強会でしゃべった動画がありますので、そちらを見て頂いても良いかと思います。 外に出すということで、普段よりも多少丁寧にしゃべっております。 前置き 平山が作った製品群 これらは2022年あたりから現在にかけて、平山が自分で企画、実装した製品です。 これらのうち、利益を出せた製品は2つあります。 黒字製品 Draw Saber(Android iOS) Mannequin Downhill(Android iOS) の2つで、順に2800万、2100万ダウンロードです。加えて、いい線まで行ったものの、利益を出すに至らなかった製品が一つあります。 赤字だったTitanShoot Titan Shoot(Android iOS) こちらは210万ダウンロードと、うまく行ったもの
こんにちは!カヤック面白プロデュース事業部のおばらです。 普段は受託案件、特にインタラクティブな WebGL や Canvas2D を駆使する案件のデザイン&実装を担当しています。 先日出題したJS体操 第1問目、挑戦してくださったみなさまありがとうございました! 早速ですが最短文字数の回答は 44文字 でした! export default x=>x-(x%=.2)+.2-(.04-x*x)**.5 みごと44文字を達成した方は、 halwhite さん koyama41 さん sugyan さん tkihira さん たつけん さん の5名!(※ Unicode コードポイント順) おめでとうございます!! 最短文字数を狙った正統派の回答以外にも、裏技的な面白アプローチがたくさんありました笑 このアプローチは面白い、ぜひ紹介したい!という回答がいくつかあったので、解説記事は2回に分けて
こんにちは! マラソン完走で書類選考免除!42.195km採用 の企画に携わっている高田です。 カヤックのエンジニアにはランニングを楽しむ人が多く、SREの藤原や、サブスリーの記録を持つ荒賀、最近記録を伸ばしている千葉などが代表的なランナーです。 社内にはランナーたちが集まるSlackチャンネル「#club-running」があり、日々のランニング活動を共有しあっています。 (#club-runningの活動はこちらの記事をご覧ください) そんなエンジニアたちを中心にチームを組んで「国立競技場 Enjoyリレーマラソン」に出場してきたので、その様子をご紹介します。 完走後の記念撮影。国立競技場は広いですね! 国立競技場Enjoyリレーマラソンの様子 今回はカヤックから3チーム、グループ会社の株式会社カヤックボンドから1チームの合計4チームがエントリーしました。 私たちが参加したのは「フルリ
次のページ
このページを最初にブックマークしてみませんか?
『KAYAC Engineers' Blog』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く