キカガク プラットフォームブログ

株式会社キカガクのプラットフォームブログです。エンジニアやデザイナー、プロダクトマネージャーなどが記事を書いています。

CTO 室立ち上げとデータ基盤課題

はじめに キカガクプラットフォーム 今年何をするのか AI/LLM Corporate IT データ基盤 データ基盤課題 おわりに はじめに 皆さんこんにちは、株式会社キカガク CTO の祖父江です。 前回は振り返りの記事で「CTO としての 3 年間 ~組織作りと開発の狭間で~」…

普段Next.jsしか触ってないエンジニアがFlutter触ってみて感動したこと&つまづいたこと

はじめに はじめまして。キカガクプラットフォーム部のずんだです。 業務ではほぼ Next.js しか触ることがないのですが、最近なんとなく Flutter を触ってみていました。 どちらもモダンなフレームワークなので似ている点も多いのですが、結構違う点も多く面…

アクセシビリティ導入の第一歩やってみた

キカガク プラットフォーム部 エンジニアの岸です。 私は Web という技術が好きで、中でも アクセシビリティ に関心があります。 アクセシビリティ とは、システムやサービスがどれだけ幅広い状況で利用できるかを示す言葉です。Web アプリケーションのアク…

キカガクのデザインチームって何をやっているの?

こんにちは!キカガクのプロダクトデザイナーの松田です。 キカガクのデザインチームでは、プロダクトデザインからコミュニケーションデザインまで、多岐にわたる取り組みを進めています。 今回はその一端をご紹介します! 1. キカガクのデザインチームとは…

NestJS のバリデーションや Pipes のあれこれ

こんにちは、キカガクでソフトウェアエンジニアをしている北田です。 今回は弊社プロダクトでも一部使用しているサーバーサイドフレームワークの NestJS について、Pipes や Validations に焦点を当てて公式ドキュメントの内容ベースで紹介していきます。 こ…

コンポーネントテストを導入した話

こんにちは、キカガク for Business のエンジニアをしている 上野 です。 今回はキカガク for Business でのコンポーネントテストの実装方針、および導入を決めたのでその紹介記事になります。コンポーネントテストの導入を検討されている方の参考になれば幸…

カジュアル面談でよく聞かれる質問(開発チーム編)

こんにちは!プラットフォーム部の塚井です! 本日は、カジュアル面談でよく聞かれることについてまとめましたのでご紹介します! 人数・チーム構成 開発スタイル リモートワークにおけるコミュニケーションのとりかた 技術スタック 人数・チーム構成 キカガ…

Next.js x Google スプレッドシートで静的サイトをつくる

この記事は Next.js を使っている方を対象にしています。 物話は少しフィクションです。 始まり ある日、お世話になっているお店の店主からこんな依頼がありました。 パソコン得意なんだよね、うちの店のホームページ作ってよ! お知らせと商品情報は更新出…

デザインの未来を彩る Adobe Firefly の使い方と活用法

こんにちは、キカガクプラットフォーム部でデザイナーをしている narumo です。 Web サイトやランディングページの制作などをしていると、デザインにマッチする画像が見つからず時間がかかってしまうということはないでしょうか?デザインチームでランディン…

【Code Rabbit】AI コードレビューを導入してみた

こんにちは! 現在、株式会社キカガクでソフトウェアエンジニアをしています。 中村です。 株式会社キカガクでは AI コードレビューを導入し数ヶ月が経過しました。 今回は、弊社の AI コードレビューの取り組みの内容を共有すると共に、AI コードレビューに…

記憶の整理術

こんにちは!プラットフォーム部の塚井です! 普段、皆さんは仕事で対応漏れがあったり、あれってどうだったっけ・・・?みたいなことはありませんか?マネージャー業務をしていると業務内容が多岐にわたり、忘れてしまうことが多いので忘れない(思い出す)…

Next.js × Notion で CMS を構築してみる

はじめに 想定読者 準備( Notion 編) NotionAPI 用に Notion データベースを作成する。 Notion データベース ID とトークンを取得する。 準備(Next.js 編) Next.js 13 の開発環境を準備する。 env ファイルに、準備( Notion 編)で取得した値を格納する。 not…

「Plasmo Framework」で俺得 Chrome 拡張機能をサクッと作ってみる

はじめに はじめまして。キカガクプラットフォーム部の ずんだ です。 最近個人開発で Chrome 拡張機能を作っていて、Plasmo Framework というライブラリを使ってみたところ超絶便利だったので、布教したいです。 想定読者 React を使ったことがある人 Plasm…

CDNを導入して表示速度を爆速にしてみた

はじめに 背景と取り組みの内容 コンテンツ 画像 ファイル管理・アップロード CDN導入後のパフォーマンス おわりに はじめに はじめまして、キカガクでプロダクトマネージャーをしている丸山です。 今回は私がソフトウェアエンジニアをしていた頃に、キカガ…

Firestore を使用したアプリケーションのパフォーマンス改善

こんにちは、キカガク for Business のエンジニアをしている 上野 です。 今回は数万ユーザー規模の会社への導入に備えて Firestore を使用したアプリケーションのパフォーマンス改善に取り組んだので、その紹介記事になります。Firestore を使用したアプリ…

【CSS】もう悩まない!レスポンシブ対応

こんにちは、キカガク ソフトウェアエンジニアの平田です。 CSS のレスポンシブ対応って、大変ですよね。 調べても、こうすれば良い!の指針が意外と出てこない、経験値でカバーすることが求められる領域だと感じています。 PC オンリーの想定で実装を進めて…

CTO としての 3 年間 ~組織作りと開発の狭間で~

はじめに 皆さんこんにちは、株式会社キカガク CTO の祖父江です。今回はメンバーからの発案で「全員採用!発信するぞ!」ということで弊社プラットフォーム部(プロダクト開発に関わるチーム)のメンバー全員でブログを執筆します。文章を書くことから離れ…

キカガクを支える API Gateway

弊社に必要な導入要件 Google API Gateway の選定 実際のアーキテクチャ 苦労した点 ヘッダーのトークンが上書きされてしまう問題 OpenAPI 2.0 を使用している点 まとめ 株式会社キカガクの北田です。 今回はキカガクのバックエンドとインフラストラクチャを…

株式会社キカガク エンジニア 社内勉強会 イベントレポート

「普段勉強している内容を共有してみよう」と言う軽い発案から、キカガク社内では勉強会を5月に開催しました。 その結果、一回の勉強会ではなく「週次勉強会」に変更する運びになり、 半年ほど継続的に勉強会を行うことができました。 今回はこの「週次勉強…

SWR でローディング処理を最適化してみる

こんにちは。キカガクプラットフォーム部の石橋です。 キカガク for Business ではクライアントフェッチのライブラリとして SWR を採用しています。 SWR の使いこなし術として、SWR 2.0 から追加されたオプションのひとつである keepPreviousData を使いロー…

デザイナーがチームになったら最初にやること

株式会社キカガクのプロダクトデザイナーの松田です。 1人目デザイナー時代から採用を経て、デザイナー2名と業務委託デザイナー2名と計4名のチームとしての動きだしが始まりました。 しかし、1人体制だった時の運用をチームで同じようにやろうとしてもうまく…

キカガクの事業を支える技術

プラットフォーム部(旧開発事業部)の ソフトウェアエンジニアの dascarlet です。今回は我々プラットフォーム部のエンジニアがどんな技術でどのように事業を支えているかを弊社のプロダクトと共にご紹介したいと思います。大部分は Google Cloud を利用し…

Next.js と NestJS を利用し、 kikagaku.ai の管理アプリを立ち上げた話

プラットフォーム部(旧開発事業部)の dascarlet です。今回は Next.js と NestJS を利用し、 kikagaku.ai の管理アプリを立ち上げた話をします。ここで言う管理アプリとは、弊社の社員・講師がお客さまのデータを閲覧したり、必要な操作を行えるアプリケー…

キカガク for Business のフロントエンドパフォーマンス向上への取り組みについて

こんにちは、キカガクソフトウェアエンジニアの石橋です。 今回はキカガク for Business でのフロントエンドパフォーマンス向上への取り組みに関して共有したいと思います。 キカガク for Business は主にアプリの画面構成を2つに分けることができます。 学…

Chakra UI ユーザーが Tailwind CSS を使った時に戸惑ったことと対処法

はじめに こんにちは、キカガク ソフトウェアエンジニアの柳澤です。 普段の開発では Chakra UI を使っているのですが、先日1ヶ月だけ Tailwind CSS を使って開発を行いました。Chakra UI を触ってきたエンジニアが Tailwind CSS を触って戸惑ったことと・良…

SQL にどっぷり浸かってきたマンが初めて Firestore を触った時に受けた5つの衝撃

バックエンド環境を提供するサービスとして今や名高い Firebase。 使ってみたいけど・・・ データベースが NoSQL 。 触ったことないしなあ。ちょっと敷居が高いなあ・・・。 そんなあなたに。 SQL に累計5年以上浸かってきた開発チームの新顔古川が初めて Fi…

Chakra UI カスタムフック 便利度ランキング

こんにちは、キカガク開発事業部ソフトウェアエンジニアの柳澤です。 キカガクではReactのUIコンポーネントフレームワーク「Chakra UI」でスタイリングを行っています。 Chakra UI にはスタイルシステムだけでなく、コンポーネントやカスタムフックが多く用…

react-beautiful-dnd でドロップ時のアニメーションをスキップする

はじめに こんにちは。開発事業部でエンジニアをしている西村です。 かなりピンポイントですが、今回は react-beautiful-dnd を使用してドラッグ&ドロップを実装する際に、ドロップ時のアニメーションをスキップする方法についてご紹介します。 ※本記事では…

RDB 脳の私が NoSQL に挑戦して苦しんだ末に導き出した設計書のベストプラクティス

こんにちは!株式会社キカガクの開発事業部でソフトウェアエンジニアをしている塚井です。RDB 脳の私が NoSQL に挑戦して苦しんだ設計書についての話を書こうと思います! 対象読者 NoSQL の設計書をどうまとめるか悩んでいる方向けの記事となります。 概要 …

kikagaku.ai のフロントエンドディレクトリ構成

こんにちは、キカガクでエンジニアをしている北田です。 今回は私達がリリースしている学習プラットフォーム「kikagaku.ai」 のフロントエンドのディレクトリ構成を紹介していきます。 対象読者 フロントエンドに寄せた開発チームのディレクトリ設計を考えて…