こんにちは。kickflow エンジニアの芳賀と申します。
AIエンジニア界隈、すごく盛り上がっていますよね。
私としてもお仕事がなくなってしまうのではないかと戦々恐々としております(笑)
そんな中、弊社にも Devin ちゃんがジョインしております。
本記事ではDevinを開発で活用した事例についてご紹介します。
Wayne Truong from Houston, TX, CC BY 2.0, via Wikimedia Commons
こんにちは。株式会社kickflowプロダクト開発本部の小本です。
Bulletは何の問題点も検出しないが実際に動かすと何故か遅い
Rails業界ではBulletなどのクエリの問題点を検出するツールが普及していますが、それらも万能ではありません。時には生のクエリログが解決の糸口になることがあります。
普通にRailsアプリケーションを作ると、development環境では以下のようなクエリログが出力されるようになっています。
例:
CACHE User Load (0.0ms) SELECT "users".* FROM "users" WHERE "users"."tenant_id" = '6fa44ea2-cbbd-4901-980b-abbe3e0f66cc' AND "users"."id" = '4344b765-595e-4ee7-bf91-a627cbfce622' LIMIT 1 MonthlyActivityLog Load (6.5ms) SELECT "monthly_activity_logs".* FROM "monthly_activity_logs" WHERE "monthly_activity_logs"."tenant_id" = '6fa44ea2-cbbd-4901-980b-abbe3e0f66cc' AND "monthly_activity_logs"."year" = 2025 AND "monthly_activity_logs"."month" = 3 AND "monthly_activity_logs"."user_id" = '4344b765-595e-4ee7-bf91-a627cbfce622' LIMIT 1 /*action='show',application='Kickflow',controller='tenant'*/ ↳ app/controllers/api/v1/user_controller.rb:4:in 'Api::V1::UserController#show' ↳ app/models/monthly_activity_log.rb:47:in 'MonthlyActivityLog.create_log'
しかし、標準のクエリログは、
log/development.log
に他ログと一緒に出力されるので、クエリログを発見しにくい。という問題があります。そこで、この記事ではクエリログをJSON形式で出力する方法を説明します。
続きを読むこんにちは、プロダクト開発本部の渡辺です。
先日、山を走るレースをしてきました。冬の山はとにかく服装のレイヤリングが重要です。気をつけていたものの、ベースレイヤーに綿素材のインナーを着てしまい、身体が冷えてお腹を壊してしまいました。
何かを重ねる時、それぞれの特性や役割を意識する重要性を感じて、この記事を書いてみました。
新しい機能を追加する際に、バックエンド側で非同期の処理を実装しました。 その処理の中で既存のサービスオブジェクトを呼び出す箇所があり、トランザクションがネストする状況が発生しました。 ActiveRecordのトランザクションがネストした時に、どういう扱いになるかが曖昧な状態だったので調べてみました。
ActiveRecord::Rollback
をしてもロールバックしないrequires_new: true
を指定し、サブトランザクションだけロールバックするこんにちは、CTOの小林です。今年のM-1グランプリも最高でしたね!
さて、2024年も残り僅かということで、今日は2024年のkickflowのプロダクト開発をプロダクト・組織・技術など各観点で振り返ろうと思います。個別のリリース内容や技術を深堀りするよりは、全体を広く浅く紹介する記事になります。もっと詳細が知りたいと思った方は、ぜひエンジニア採用のカジュアル面談にご応募いただければと思います(←いつもの宣伝です)。
続きを読むこんにちは。kickflow エンジニアの芳賀と申します。
Vue Fes Japan 2024 、多いに盛り上がりましたね。
私自身楽しみつつも大いに収穫があるものとなりました。
特に印象に残っていたのが oxc でした。
エコシステムの拡充が進みつつ、みんなが一度は思い描いてたであろう
「Rust でツールチェインを書く」ことを実現されています。
今回はその中でも oxlint について触ってみましたので、
oxc も含めてご紹介できればと思います。
プロダクト開発本部の渡辺です。 先日の「Vue Fes Japan 2024」に続き、「Kaigi on Rails 2024」にも参加しました。 kickflowでは、エンジニアの自己学習を積極的に支援しており、さまざまなカンファレンスに参加する機会を提供しています。 会社の制度を最大限に活用させていただいております。
続きを読む初めまして、プロダクト開発本部の渡辺と申します。
kickflowに入社して数ヶ月が経ちました。
日々の業務で多くのことを学び、充実した毎日を送っています。
今回は「Vue Fes Japan 2024」というカンファレンスに参加したので、そのレポートをまとめようと思います。
kickflowもスポンサーとして協賛しており、当社ではフロントエンドにNuxt 3を使用しているため、今回のカンファレンスは多くの学びが得られると期待していました。