kickflow Tech Blog
https://tech.kickflow.co.jp/
株式会社kickflowの開発チームによるブログ
フィード
kickflowのプロダクト開発の2024年を振り返る
kickflow Tech Blog
こんにちは、CTOの小林です。今年のM-1グランプリも最高でしたね! さて、2024年も残り僅かということで、今日は2024年のkickflowのプロダクト開発をプロダクト・組織・技術など各観点で振り返ろうと思います。個別のリリース内容や技術を深堀りするよりは、全体を広く浅く紹介する記事になります。もっと詳細が知りたいと思った方は、ぜひエンジニア採用のカジュアル面談にご応募いただければと思います(←いつもの宣伝です)。
11日前
oxlint を触ってみた
kickflow Tech Blog
oxc のアイコン こんにちは。kickflow エンジニアの芳賀と申します。 Vue Fes Japan 2024 、多いに盛り上がりましたね。 私自身楽しみつつも大いに収穫があるものとなりました。 特に印象に残っていたのが oxc でした。 エコシステムの拡充が進みつつ、みんなが一度は思い描いてたであろう 「Rust でツールチェインを書く」ことを実現されています。 今回はその中でも oxlint について触ってみましたので、 oxc も含めてご紹介できればと思います。
2ヶ月前
Kaigi on Rails 2024 に行ってきました
kickflow Tech Blog
Kaigi on Rails 2024 プロダクト開発本部の渡辺です。 先日の「Vue Fes Japan 2024」に続き、「Kaigi on Rails 2024」にも参加しました。 kickflowでは、エンジニアの自己学習を積極的に支援しており、さまざまなカンファレンスに参加する機会を提供しています。 会社の制度を最大限に活用させていただいております。
2ヶ月前
Vue Fes Japan 2024 に行ってきました
kickflow Tech Blog
社内AIに描いてもらったVue Fes Japan 2024のイメージ図 初めまして、プロダクト開発本部の渡辺と申します。 kickflowに入社して数ヶ月が経ちました。 日々の業務で多くのことを学び、充実した毎日を送っています。 今回は「Vue Fes Japan 2024」というカンファレンスに参加したので、そのレポートをまとめようと思います。 kickflowもスポンサーとして協賛しており、当社ではフロントエンドにNuxt 3を使用しているため、今回のカンファレンスは多くの学びが得られると期待していました。
2ヶ月前
Wasmを触ってみた
kickflow Tech Blog
A pop and cute eye-catch image for a WebAssembly (wasm) related blog (Bing の Image Creatorで生成) kickflowプロダクト開発本部の小本です。 kickflowでは週1でkickflowで使っている技術や今後kickflowで使いたい技術を紹介する勉強会を開いています。今回は、その勉強会のWasm回の資料を公開します。 なお、kickflowでは直近でWasmを導入する予定は無く、まずWasmの概要を把握し今後に備えるという段階なので、この資料も大掴みに説明するものとなっています。
3ヶ月前
ESLint を flat config に移行したときのお話
kickflow Tech Blog
社内 AI にお願いして描いてもらった ESLint flat config のイメージ図 こんにちは。kickflow エンジニアの芳賀と申します。 今回は入社後初めて行った「ESLint の flat config 移行」についてお話します。 自身も久しぶりにガッツリ ESLint と向き合う機会だったので初心に帰り、調べ調べ行いました。
4ヶ月前
RubyからJavaScriptコードを実行する方法
kickflow Tech Blog
戦前、日本の鉄道網は連絡船を通じて樺太までつながっていた(本文には関係ありません)パブリックドメインの画像。wikimedia commonsより kickflowプロダクト開発本部の小本です。 今回はRubyからJavaScriptコードを実行する方法を調べてみました。
4ヶ月前
CloudConvertを使ってサーバーレスにファイル形式を変換する
kickflow Tech Blog
江戸東京博物館 所蔵・浮世絵『漬物早指南』かつて漬物は各家庭で作るものであったが、近世以降は専門店が出店し、漬物を買う文化が生まれた(本編には関係ありません)。 こんにちは。プロダクト開発本部の小本です。 kickflowでは2024年2月からPDF形式で帳票出力できるようになりました これまで帳票出力ではXLSX形式でのみ出力可能でした。PDF形式での帳票出力では、まずサーバー側でXLSX形式での帳票を作成し、自動的にPDFへ変換してから出力します。 ところで、みなさんはXLSXをPDFに変換する処理は好きですか?自分でWindowsサーバーを用意してMicrosoft Excelをインスト…
5ヶ月前
社内ドキュメントに対応したSlack AIボット(GPT-4o搭載)を開発した話
kickflow Tech Blog
こんにちは、CTOの小林です。 ChatGPTをはじめとした生成AI、便利ですよね。素のChatGPTでも十分に便利なのですが、業務で使うには社内ドキュメントにも対応して欲しいと誰もが思うのではないでしょうか。すでにOpen AIのAPIを使って社内ドキュメントに対応したAIボットを開発している事例は多数ありますが、kickflowでも社内用AIボットを開発して社員に展開しました。今日はこのAIボットのアーキテクチャや実装についてご紹介します。
5ヶ月前
JavaScriptで文字列の長さを正しくカウントする
kickflow Tech Blog
文字列の長さをカウントするのは難しい こんにちは、CTOの小林です。 JavaScriptで文字列の長さをカウントする際、特にサロゲートペアや合字を含む場合には注意が必要です。この記事では、String.length、[...str].length、およびIntl.Segmenterを使用して文字列の長さを正しくカウントする方法について説明します。
6ヶ月前
Active Storageのダイレクトアップロードのパフォーマンスチューニング
kickflow Tech Blog
こんにちは。エンジニアの森本です。 kickflowでは、申請するチケットに対してファイルを添付することができます。これらをActive Storage のダイレクトアップロードを使って実現しています。 以前からファイルを大量に添付したチケットを申請すると、タイムアウトが発生してしまう問題がありました。APMサービスを見てみると、ファイルをダウンロードしている処理がありました。 今回は、ダイレクトアップロードを利用していてファイルを大量にアップロードしたときにタイムアウトが発生しないように行った工夫を共有したいと思います。
6ヶ月前
kickflowでのRow Level Security導入: 成功事例と実装ガイド
kickflow Tech Blog
kickflowでのRow Level Security導入事例と実装ガイド。データセキュリティ強化の具体例を紹介。
7ヶ月前
Elasticsearchのインデックス切り替えを無停止で行えるようにしました
kickflow Tech Blog
こんにちは。エンジニアの森本です。 テキストでの全文検索はどのような仕組みを利用されていますか? kickflowでは、全文検索エンジンとしてElasticsearchを使っています。これまでは、1つのインデックスで検索を行っていたため、マッピングの変更時にダウンタウンが発生してしまう問題がありました。そのため、マッピング変更時には計画メンテナンスを設けてインデックスの再作成を行っていました。しかし、データ量が増え続けていること、これからもインデックスのマッピング変更が発生することを考えてメンテナンス期間を設けずにインデックスの再作成が行える仕組みを導入しました。 どのような仕組みを導入したの…
9ヶ月前
Nuxt 3への移行がもうすぐ終わりそうです
kickflow Tech Blog
こんにちは、CTOの小林です。年々歳をとるにつれて、1年がどんどん短く感じるようになってきました。12月なんて体感で3日くらいしかないような気がします。 「師走」ということで、Stable Diffusionで生成した「走る師匠」の画像 kickflowではこの1年は通常の機能開発と並行して、Nuxt 2から3へのバージョンアップを行っていました。本格的な移行作業は今年の10月ぐらい始めたのですが、移行のための調査や事前準備はNuxt 3がリリースされた2022年の11月から開始しているので、1年以上かかった長期プロジェクトとなります。今日はNuxt 3へのバージョンアップにkickflowが…
1年前
Rails / PostgreSQL環境での連番の実装方法
kickflow Tech Blog
こんにちは。株式会社kickflow・プロダクト開発本部の小本です。 今回は連番の実装方法についてです。
1年前
「JSON Schemaを知っている」人のための今どきJSON Schemaの紹介記事
kickflow Tech Blog
最近はティラノサウルス科恐竜には羽毛があったとするのが定説(本文には関係ありません) こんにちは。株式会社kickflow・プロダクト開発本部の小本です。 最近、「設定をJSONファイルとしてエクスポート・インポートする機能」を実装する際にJSON Schemaをウン年ぶりに使いました。その際、私のJSON Schema観がジュラ紀のまま止まっていたことに気づいたので、最新のJSON Schemaにどんな機能が追加されているか、触りだけ紹介します。
1年前
Kaigi on Rails 2023に参加してきました
kickflow Tech Blog
こんにちは、エンジニアの森本です。 今回は先日開催された Kaigi on Rails 2023に参加してきたのでレポートを書きたいと思います。 Kaigi on Rails 2023は「初学者から上級者までが楽しめるWeb系の技術カンファレンス」 をコンセプトとして2020年から開催されているカンファレンスです。 今年は初のオフライン開催ということでしたが、多くの参加者で盛り上がりました。 運営スタッフの方々の円滑な進行のおかげでカンファレンスを楽しむことができました。ありがとうございました & お疲れ様でした! kaigionrails.org セッションの内容はどれもわかりやすくて仕事の…
1年前
HerokuにLibreOfficeをインストールしてExcelをPDFに変換する
kickflow Tech Blog
こんにちは、CTOの小林です。 kickflowにはExcel形式(.xlsx)で帳票出力する機能がありますが、これをPDF形式での出力に対応したいと思い調査しました。 kickflowではインフラにHerokuを使用しているため、HerokuでExcelをPDFに変換する方法を紹介します。
2年前
elsaticsearch-railsを使うのをやめた話
kickflow Tech Blog
こんにちは、CTOの小林です。kickflowでは検索基盤としてElasticsearchを利用しています。kickflowのバックエンドにはRailsを採用しており、以前はElasticsearchの統合にelasticsearch-railsという公式gemを使用していたのですが、これを使用しなくなったというお話をします。
2年前
セキュリティチェックシートに効率的に回答する
kickflow Tech Blog
こんにちは、CTOの小林です。 SaaS事業を展開している会社では、セキュリティチェックシートは避けて通れない存在です。セキュリティチェックシートは、導入企業(つまりお客様側)がシステムのセキュリティ評価に必要な情報を収集するための書類です。 弊社でも創業初期は私が毎回すべてのセキュリティチェックシートに目を通して回答しておりましたが、セキュリティチェックシートの回答はそれなりに工数がかかる作業で、すべてを都度エンジニアが対応しているとエンジニアの開発工数が減り、新機能の開発や不具合修正に影響が発生してしまいます。 そこで、kickflowではマスターとなるセキュリティチェックシートを複数用意…
2年前
kickflowを支える技術スタック(2022年10月版)
kickflow Tech Blog
こんにちは、CTOの小林です。株式会社kickflowではクラウドワークフローのkickflowというサービスを運営しています。今日は、このkickflowを支える技術スタックについてご紹介したいと思います。kickflowの開発環境に興味のある方や、これから新規サービスを立ち上げようとしている方の参考になれば幸いです。
2年前