こんにちは。kickflow エンジニアの芳賀と申します。
今回は入社後初めて行った「ESLint の flat config 移行」についてお話します。
自身も久しぶりにガッツリ ESLint と向き合う機会だったので初心に帰り、調べ調べ行いました。
CloudConvertを使ってサーバーレスにファイル形式を変換する
こんにちは。プロダクト開発本部の小本です。
kickflowでは2024年2月からPDF形式で帳票出力できるようになりました これまで帳票出力ではXLSX形式でのみ出力可能でした。PDF形式での帳票出力では、まずサーバー側でXLSX形式での帳票を作成し、自動的にPDFへ変換してから出力します。
ところで、みなさんはXLSXをPDFに変換する処理は好きですか?自分でWindowsサーバーを用意してMicrosoft Excelをインストールする作業は好きですか? 私はNoです。だからCloudConvertを使っています。
続きを読む社内ドキュメントに対応したSlack AIボット(GPT-4o搭載)を開発した話
こんにちは、CTOの小林です。
ChatGPTをはじめとした生成AI、便利ですよね。素のChatGPTでも十分に便利なのですが、業務で使うには社内ドキュメントにも対応して欲しいと誰もが思うのではないでしょうか。すでにOpen AIのAPIを使って社内ドキュメントに対応したAIボットを開発している事例は多数ありますが、kickflowでも社内用AIボットを開発して社員に展開しました。今日はこのAIボットのアーキテクチャや実装についてご紹介します。
続きを読むJavaScriptで文字列の長さを正しくカウントする
こんにちは、CTOの小林です。
JavaScriptで文字列の長さをカウントする際、特にサロゲートペアや合字を含む場合には注意が必要です。この記事では、String.length
、[...str].length
、およびIntl.Segmenter
を使用して文字列の長さを正しくカウントする方法について説明します。
Active Storageのダイレクトアップロードのパフォーマンスチューニング
こんにちは。エンジニアの森本です。
kickflowでは、申請するチケットに対してファイルを添付することができます。これらをActive Storage のダイレクトアップロードを使って実現しています。 以前からファイルを大量に添付したチケットを申請すると、タイムアウトが発生してしまう問題がありました。APMサービスを見てみると、ファイルをダウンロードしている処理がありました。 今回は、ダイレクトアップロードを利用していてファイルを大量にアップロードしたときにタイムアウトが発生しないように行った工夫を共有したいと思います。
続きを読むkickflowでのRow Level Security導入: 成功事例と実装ガイド
プロダクト開発本部の小本です。
kickflowでは2024年2月から RLS / activerecord-tenant-level-security を導入しています。RLSは安全なSaaSを開発するために必須の機能なのですが、やや複雑な機能であり、新入社員は困惑する事が多いようです。そこで、RLSの概念とkickflowでの使い方を概説します。
続きを読む