タグ

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

  • タスクランナーとしてのmakeを使う際の工夫と注意点 - KAYAC engineers' blog

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

    タスクランナーとしてのmakeを使う際の工夫と注意点 - KAYAC engineers' blog
  • 【後編】YAPC::Kyoto 2023 の紙絵馬を海岸でセルフお焚き上げしました - KAYAC Engineers' Blog

    技術部の小池です。 この記事は 【前編】YAPC::Kyoto 2023 におみくじと紙絵馬のブースを出展しました の後編です。 お焚き上げ 前編の記事では以下のように書いていました。 みなさんの願いがこもった紙絵馬は鎌倉のオフィスにすべて持ち帰っており、神社で祈祷をする準備を進めております。当は祈祷をしてから記事を書く予定でしたが、少々時間がかかりそうなので前後編の2つに分け後編の記事にて祈祷の様子をお送りしていきます。 残念ながら神社での祈祷は断念しましたが、関係者で相談し海岸で焚き火をしてセルフお焚き上げを行いましたので後編としてお届けします。 お焚き上げは登壇者の macopy を含む有志の社員で逗子海岸*1で行いました。みなさんが書いた紙絵馬、焚き火台、火消し壺、着火グッズ、薪を用意して逗子海岸に向かいます。 薪割りをして火の準備をする様子 無事に火がつきました 火がついたので

    【後編】YAPC::Kyoto 2023 の紙絵馬を海岸でセルフお焚き上げしました - KAYAC Engineers' Blog
    azumakuniyuki
    azumakuniyuki 2023/04/26
    “余談ですが YAPC で行ったこの紙絵馬の企画は社内で評判がよく、社内のフリースペース的なエリアで紙絵馬を飾れるようにすることが決まりました。”
  • 【前編】YAPC::Kyoto 2023 におみくじと紙絵馬のブースを出展しました - KAYAC Engineers' Blog

    技術部の小池です。 カヤックが協賛した YAPC::Kyoto 2023 にゴールドスポンサーのブース運営スタッフとして参加してきました。 ブース テックカンファレンスにブースを出すのは久しぶりなのでコンテンツをどうするか悩みましたが、鎌倉で京都に挑むぞ!ということでおみくじと紙絵馬を用意することにしました。 おみくじは100枚ほど引いてもらい、絵馬は69枚ほど書いてもらいました。運勢大吉を引いた方も運勢 undef を引いた方も YAPC の思い出のひとつとなっていれば幸いです。会場でお会いしたみなさま、ありがとうございました! 大吉 と undef のおみくじ ほかにも 吉 中吉 小吉 がありました 大吉を引いて喜ぶ fujiwara の様子 #yapcjapan 身内なのに大吉引いてしまった pic.twitter.com/WS6u41WCry— fujiwara (@fujiwar

    【前編】YAPC::Kyoto 2023 におみくじと紙絵馬のブースを出展しました - KAYAC Engineers' Blog
  • YAPC::Kyoto 2023 にカヤックのエンジニア2名が登壇します! - KAYAC Engineers' Blog

    技術部の長田です。 3/19に京都リサーチパークにて開催されるYAPC::Kyoto 2023に、カヤックからも2名が登壇者として参加することになりました。 yapcjapan.org トーク内容をYAPC::Kyoto 2023公式サイトのタイムテーブルより引用して紹介します。 いずれも普段行っている業務から得られた知見の紹介となっておりますので、これを機にカヤックがどんなことをしているのかを技術的な面から知っていただければ幸いです。 デプロイ今昔物語 〜CGIからサーバーレスまで〜 https://yapcjapan.org/2023kyoto/timetable.html#talk-118 登壇者: macopy 場所: Scrapboxホール by Helpfeel 時間: 15:00〜 みなさま日々Webアプリケーションのデプロイにいそしんでいるかと思います。 デプロイの風景は数

    YAPC::Kyoto 2023 にカヤックのエンジニア2名が登壇します! - KAYAC Engineers' Blog
  • 運用中のサービスに負荷試験を導入した事例の紹介 - KAYAC Engineers' Blog

    SREチーム(新卒)の市川恭佑です。今回は、Tonamelという自社サービス(Web)において負荷試験を導入した事例を紹介します。 このエントリは「先送りされがちな負荷試験の導入について心理的なハードルを下げる」ことを目的としています。 そのため、事例紹介と銘打っていますが、列挙される事実の独立性よりも文脈性を優先しています。 表現が少し冗長に感じるかもしれませんが、負荷試験について距離感を感じている方は是非お付き合いください。 負荷試験を導入するに至った経緯 Tonamelは、格的なリリースから5年以上という、比較的長い運用歴を持つサービスです。 まず、何故このタイミングで負荷試験を導入することになったのかについて、その経緯を説明します。 ポストモーテムによる気づき(文化的な土台) 今年の3月に公開されたエントリにもあるように、カヤックでは着実にポストモーテム文化が浸透しつつあります。

    運用中のサービスに負荷試験を導入した事例の紹介 - KAYAC Engineers' Blog
  • GitHub Actionsに「強い」AWSの権限を渡したい ~作戦3 - AssumeRole with Google ID Token ~ - KAYAC engineers' blog

    こんにちは。技術部の池田です。 この記事では、Github Actions上に「強い」AWSの権限を渡すために以下のことを行います。 App Runnerでお手軽にGoogle ID Token 取得するためのWeb Applicationを動かす。 Web Applicationから取得できるGoogle ID Tokenを信頼するIAM RoleにAssumeRoleする。 AssumeRoleによって得られた一時的な強い権限で、強い権限を要求する作業(Deploy, Terraform Apply)をGithub Actionsで行う。 これにより、Github Actions上にAWSのアクセスキーを置かずに、ある程度安全な方法でAWS上での強い権限を要求する操作を実行できます。 そのため、例えばGithub Repositoryに不正アクセスされてしまったとしても、AWS番環

    GitHub Actionsに「強い」AWSの権限を渡したい ~作戦3 - AssumeRole with Google ID Token ~ - KAYAC engineers' blog
  • Perlでいかにして短いコードを書けるかを考えてみる - KAYAC Engineers' Blog

    この記事はTech KAYAC Advent Calendar 2020の9日目の記事です 技術部1年目サーバサイドエンジニアのkoluku(コルク)です。 この記事ではPerlでコードを書くための思考過程や実践的なテクニック(やっちゃだめなテクニック)を織り交ぜながらいかにしてコードを短くできるかを紹介してみたいと思います。 FizzBuzz問題 みなさんはFizBuzz問題をご存知でしょうか。 FizzBuzz問題とは、 1〜100までの数字を順に出力を行い、その数が3で割り切れるならFizz、5で割り切れるならBuzz、そのどちらでも割り切れるならFizzBuzzと代わりに標準出力(文字表示)する という問題です。プログラムを書くことがある人は一度は書いたことはあると思います。 この問題では出力が改行ありなしの指定が無いのでここでは(都合がいいので)改行ありということにしておきます。

    Perlでいかにして短いコードを書けるかを考えてみる - KAYAC Engineers' Blog
  • ひたすらWebサイトを見るのが趣味な私が独断と偏見で選ぶ今年「良い!」と思ったWebサイト16選 - KAYAC Engineers' Blog

    どうもみなさまおはようございます。あるいはこんにちは。あるいはこんばんは。 KAYAC Advent Calendar 2019の18日目の記事を担当します、フロントエンドエンジニアのたがみです。普段はwebサイトを作ったり動かしたりぶっ飛んだものにしたりしなかったりしています。 去年は私のその時の推しライブラリだったVuetifyについてこのブログを通じて布教したのですが、今年も今の推しライブラリの話をするぜ!・・・と、意気込んでいたのですが。「というか日頃からWebサイト事例収集しまくってるから、今年の素敵だと感じたサイトを振り返るか」と思いついちゃいましたので今年は推しのWebサイトの話をしようと思います。 というのも、私は去年入社してからデザインや演出や作りが素敵なWebサイトを見つけては自分のツイッターに「このWebサイトが良い!」というのをひたすら垂れ流すというのを日常的にやっ

    ひたすらWebサイトを見るのが趣味な私が独断と偏見で選ぶ今年「良い!」と思ったWebサイト16選 - KAYAC Engineers' Blog
  • AWS Lambda Node.js runtime の EoL に疲れたので Go にしていっている話 - KAYAC Engineers' Blog

    SREチームの藤原です。Tech Kayac Advent Calendar Migration Track 19日目の記事です。いよいよ年も押し詰まってきましたね…! AWS Lambda、使ってますか?最近はサーバーレスという文脈で取り上げられることも多い Lambda ですが、カヤックではそこまでサーバーレスにこだわることはせず、主にイベントドリブンな処理に適切なユースケースに使用しています。 Lambda のリリース当初に用意されていたランタイムは Node.js のみでした。カヤックで最近使うことが多い言語である Go, Ruby のランタイムがサポートされたのが比較的最近だったということもあり、Node.js の Lambda function が比較的多く存在している状況でした。 Node.js EoL (End of Life) ところで、技術基盤チームのリポジトリで「La

    AWS Lambda Node.js runtime の EoL に疲れたので Go にしていっている話 - KAYAC Engineers' Blog
  • MongoDBであるメリットが無くなってしまったのでMySQLに移行したはなし - KAYAC Engineers' Blog

    SREチームの長田です。 この記事はTech Kayac Advent Calendar Migration Track 1日目の記事です。 今回はLobiで使用していたMongoDBMySQLに移行したはなしです。 MongoDBを何に使っていたか DAUなどのKPIレポートや、サービスの状況を把握するための各種集計結果を保存するために使っていました。 サービス開始直後はこれらの数字を色々と試行錯誤しながら追加したり、減らしたりしていました。 頻繁な追加削除があるデータ構造を保存するために、スキーマレスなデータベースであるMongoDBはちょうどよかったようです。 (当時スキーマレスデータベースが流行っていたというのもあるでしょう) なぜ移行したのか MongoDBに保存されたドキュメントは、スキーマ管理がされていませんでした。 スキーマレスであることをいいことに、その時時によって様々

    MongoDBであるメリットが無くなってしまったのでMySQLに移行したはなし - 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
  • 北海道の下川町に行って仕事をしたら仕事が片付いた - KAYAC engineers' blog

    はじめまして。カヤック技術部の杉山です。 主にクライアントワークでサービスを開発しています。 社員何人かで北海道の下川町というところで仕事をしてきました。 下川町はここです。 下川町で仕事をすることになったきっかけは、 花粉症の時期に花粉が飛ばない場所に行って仕事をするというアイデアが出まして、 下川町の皆さんがそれに協力してくれることになったためです。 花粉症に関する詳しいレポートは別で書くようなので、 今回はもっと細かいことについて書きます。 働く場所はこういうところです。 泊まるところはこういうところです。 仕事をして、煮詰まったら、ちょっと外に出たりして気分転換をする、ということの繰り返しで働きました。 2時間ぐらい仕事をします。 煮詰まったら、外に出てそこら辺にある雪にシロップをかけてべます。 また、仕事をします。 煮詰まったら、外に出て、スノーシュー(かんじき)をはいて、誰も

    北海道の下川町に行って仕事をしたら仕事が片付いた - KAYAC engineers' blog
  • #22 カジュアルに乱数を使う方法とその注意点 - KAYAC Engineers' Blog

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

    #22 カジュアルに乱数を使う方法とその注意点 - KAYAC Engineers' Blog
  • 分散環境でユニークなidを発番するGo製プロダクト「katsubushi」のご紹介 - KAYAC engineers' blog

    Lobiチームの長田です。 今回はkatsubushiというアプリケーションを紹介します。 https://github.com/kayac/go-katsubushi katsubushiはid発番を行うアプリケーションです。 水平分割されたデータベースに対してユニークなidを発番するために作られました。 なお、記事中の「データベース」はMySQLを指します。 katsubushiの特徴 Snowflakeと同様のアルゴリズムでid発番 SnowflakeはTwitter社がかつて公開していたid発番アプリケーションです。 https://github.com/twitter/snowflake/tree/master 既にメンテナンスされておらず、masterブランチにはその旨が書かれたREADMEしか残されていません。 タグが切られているので、ソースコード等はそちらで確認できます。

    分散環境でユニークなidを発番するGo製プロダクト「katsubushi」のご紹介 - KAYAC engineers' blog
    azumakuniyuki
    azumakuniyuki 2016/10/28
    もしかしてそうかと思ってたら矢張りそうやった、名前がネコ由来。
  • Perlだけじゃない!Lobiのサーバーサイドで活躍しているGo製プロダクト7+1個 - KAYAC engineers' blog

    Lobiはメインの言語としてPerlを採用しています。 サーバーサイドで使用するコードは、Webアプリケーションから手動実行用のスクリプトまで、 ほとんどがPerlで書かれています。 (なぜかPerl6のコードがあることになっていますが、さすがにまだ使ってません) が、そこは適材適所。 Goの方が適していると判断した部分では積極的に利用しています。 Goの使いどころ 単機能を高いパフォーマンスで実現する必要がある場合はGoの出番です。 バイナリひとつを配置すれば動作するというポータビリティも魅力的です。 これらのツール・アプリは単独で実行され、一部はアプリケーションの要求に応じてその機能を提供します。 spam-filter maintainer gunfish katsubushi stretcher rin fluent-agent-hydra nuko それでは各ツール・アプリについ

  • サーバーサイドエンジニア視点でLobiというサービスを紹介します - KAYAC engineers' blog

    Lobiチームインフラ担当の長田です。 今年は弊社で運用しているLobiというサービスについて、 サーバーサイドエンジニアの視点から、月いちくらいのペースで紹介していきます。 今回は「Lobiとはなんぞや?」というところを書こうと思います。 サービスの概要 Lobiはゲームを中心としたコミュニティサービスです。 Lobi Chat & Game Community 2010年のサービス開始当初はナカマップという位置情報を絡めたチャットサービスでした。 2013年にスマホゲームに特化するとともにLobiという名前に改名し、様々な機能追加の末に今に至ります。 様々な機能とは・・・ グループチャット スマホゲームのプレイ動画録画・投稿・閲覧(Rec SDK) マルチプラットフォームなスコアランキング(Ranking SDK) スマホアプリへのグループチャット機能提供(Chat SDK) ゲーム

    サーバーサイドエンジニア視点でLobiというサービスを紹介します - KAYAC engineers' blog
  • #20 RaspberryPiを仕事で使うためにAnsibleを使う話 - KAYAC engineers' blog

    この記事はtech.kayac.com Advent Calendar 201320日目の記事です。 どうも、Perlに洗脳されはしましたが、最近洗脳が解けPythonを書いています@mackee_wです。 最近はVOICE DRIVERや暗殺教室 殺ジェクションマッピング、X-TRAIL X-TECH GEAR PROJECTなどをやっているクライアントワークのデバイスチームでせこせこハンダゴテを握っていたりします。 そんな中で最近良く使っているRaspberryPiとAnsibleに関するいくつかのTipsを紹介させていただきます。 RaspberryPiについて 今までデバイスを作成する場合にはArduinoなどのマイコンボードやAVR、PICといったワンチップマイコンを使う場合が多かったのですが、RaspberryPiが強力すぎてArduinoと組み合わせて使う機会が多くなってきま

    #20 RaspberryPiを仕事で使うためにAnsibleを使う話 - KAYAC engineers' blog
    azumakuniyuki
    azumakuniyuki 2014/01/06
    使用するモジュールが要求するものをターゲットに入れる必要がある
  • 1