atama plus techblogのフィード
https://zenn.dev/p/atamaplus
EdTechスタートアップatama plusのメンバーが書いた技術記事を投稿していきます。
フィード

atama plus Advent Calendar 2025 記事まとめ
atama plus techblogのフィード
はじめにこんにちは! atama plusの技術広報チームです。2025年も残すところあとわずかですね。atama plusでは、去年に続きまして今年もアドベントカレンダーを実施します。atamaplusメンバーが今年実施してきた様々な取り組みについてお届けできればと思います。ぜひご覧ください! カレンダー(随時更新/タイトルは変わる可能性あります)日付曜日記事タイトル執筆者12/1月BigQuery×スプレッドシートのtipsnaoshi12/2火AI時代のプロダクトチームにおける越境と試行錯誤su-kun12/3水社内...
14日前

第7回社内ハッカソンを開催しました!
atama plus techblogのフィード
こんにちは!atama plusのigawyです。今年の9/5(金)に約1年ぶりとなる社内ハッカソン「lumberjack day」を開催しました。今回のテーマは生成AI活用!台風にも負けず、職種横断で取り組んだ成果について紹介します。(テーマに沿って、この記事執筆においても生成AIを活用しつつ、人間によるレビュー・編集を重ねて作成しています) 1. はじめに:生成AI時代の新しい挑戦生成AIが急速に普及する中、我々の働き方も大きな変革期を迎えています。この変化を積極的に活用していくため、今回初めて「生成AI」をテーマとした社内ハッカソンを開催しました。狙いは、実際の業務...
1ヶ月前

Google Cloudで検索基盤を作ろうとして迷ったら(Vertex AI Serach,Vertex AI Vector Search)
atama plus techblogのフィード
こんにちは、atama plus でデータエンジニアをしている kumewata です。最近 Google Cloud 上の検索基盤を検討した時に、いろいろ迷いポイントがあったので、同じところで迷う人を減らせたらと思い記事を書いてみました 🙋 迷いポイントその 1: Vertex AI って N 個あんねんまず「google cloud 検索エンジン」と Google 検索してみると上から何番目かに「Vertex AI Search」が出てきます。機能紹介を見てみると、手元のデータでお手軽に検索基盤を用意できることがわかります。企業のアプリやエクスペリエンスのために Goo...
3ヶ月前

BigQueryへのデータ転送方式移行でマルチリージョンに苦しんだ話
atama plus techblogのフィード
はじめにはじめまして、4月からatama plusにデータエンジニアとしてジョインしたTackungです。弊社ではデータ基盤にBigQueryを採用しており、プロダクト側で日々発生するデータをTROCCOやGoogle Cloud Dataform、Composerを使った日次転送でデータを蓄積しています。今回、コスト削減を目的として一部のデータの転送方式をTROCCOからGoogle Cloud Dataform+Composerを使った方式に移行するプロジェクトに取り組みました。この移行によって、不要インスタンスの削除によるコスト削減ができました。この取り組みの中で、Bi...
4ヶ月前

Mastraワークフローの型安全性と変更容易性を高める設計指針
atama plus techblogのフィード
はじめにこんにちは、atamaplus の takei です。最近、趣味や業務でエージェントフレームワークであるMastra のワークフロー機能[1]を約 1 ヶ月ほど使ってみました。実際に使ってみて非常に便利である一方で、適切に設計しないと型安全性や変更容易性(保守性)に課題が生じやすいと感じました。特に以下のような課題に直面しました。ステップ[2] の中で getInitData[3] や runtimeContext[4] を使うと型推論が効かず、型安全でないコードになるステップがワークフロー定義に依存し、ワークフローの変更や他のワークフローでのステップの再利用が...
4ヶ月前

DataformでBigQueryのPython UDFを管理する事例紹介
atama plus techblogのフィード
こんにちは、atama plus でデータエンジニアをしている kumewata です。先日プレビュー版が公開された BigQuery の Python UDFを、Dataform 経由で利用してみたので紹介します。 背景弊社で利用している BigQuery 上で iCal 形式で保存しているデータ(弊社プロダクトで利用しているスケジュール機能で利用)があり、実際の日付のデータの変換にしたものを BigQuery 上の Warehouse/Mart で提供したいと考えていました。そのために iCal データを扱えるライブラリを利用したく、たとえば Python だと dateu...
4ヶ月前

QA主催!エンジニアとともに品質文化を育てるテスト勉強会の舞台裏
atama plus techblogのフィード
こんにちは!atama plusでQAエンジニアをしています、池上です。「エンジニアを巻き込んで品質について考えたいが、どう働きかければ良いかわからない」そんな悩みを抱えるQAエンジニアの方もいらっしゃるのではないでしょうか。この記事では、エンジニアを巻き込んで開催した「テスト勉強会」について、企画の背景から参加者のリアルな声までご紹介します。開発チーム全体で品質向上を目指したい方のヒントになれば幸いです。 1. なぜ「テスト勉強会」を開催したのか?QAチームが大切にしていること本題に入る前にatama plusのQAチームが大切にしていることを紹介させてください。...
5ヶ月前

【CircleCI】モノレポでpath-filteringを使って既存のデプロイフローを維持したまま無駄なデプロイを減らす
atama plus techblogのフィード
atama plusのtakeiです。この記事では、モノレポ構成においてCircleCIのpath-filteringを使って既存のデプロイフローを変更せずにデプロイを効率化する方法について紹介します。 背景と目的私たちの開発中のプロジェクト※では、frontend、backend、infrastructureがすべて1つのリポジトリで管理されているモノレポ構成を採用しています。(※新規プロダクトで、エンジニア2名の最小限の開発チームです)開発初期はCIの最適化が十分に行われておらず、たとえばfrontendのコードにわずかな変更を加えただけでも、backendやinfrast...
6ヶ月前

TSKaigiで登壇デビューしました 〜過去の自分に伝えたい登壇して良かったことと準備の流れ〜
atama plus techblogのフィード
はじめにこんにちは。atama plusのtakei(@yutake27)です。先日、TypeScriptのカンファレンス「TSKaigi2025」のライトニングトーク(LT)枠で人生で初めて登壇しました。これまで小さなイベントでさえ現地参加の経験がほとんどなく、登壇は自分には縁がないと思っていました。そんな自分が、なぜ登壇することになったのか、どんな準備をして、どんな経験を得たのかをまとめます。かつての自分のように「登壇はハードルが高い」と感じている方の参考になれば幸いです。参考までに当日の登壇資料はこちらです。TypeScriptのdeclaration mer...
6ヶ月前

Standalone時代のIonic Angularでion-iconをスマートに扱う!
atama plus techblogのフィード
Standalone時代のIonic Angularでion-iconをスマートに扱う! 〜ion-icon-angular-standaloneのご紹介〜atama plusという教育の会社でエンジニアをしている@ippeiukaiです。Ionic AngularのStandalone構成が導入され、コンポーネントの取り扱い方が大きく変わりました。特に、ion-iconコンポーネントに関しては、使用するアイコンのSVGデータを事前にロードし、ioniconsライブラリのaddIcons関数を使って登録する必要が生じ、以前のようにname属性を指定するだけでは表示されなくなりまし...
6ヶ月前

useFormでバリデーション制御に悩んだ話 〜setErrorとisValid〜
atama plus techblogのフィード
TL;DRsetErrorするだけではisValidが変わらない素直にregisterやControllerのonChangeを使おう はじめにReact Hook Form(以下 RHF)は、軽量で直感的に使えるフォームライブラリとして、多くのReactプロジェクトで利用されています。実際に使ってみると、register や Controller を通して簡単にバリデーションを設定でき、フォームの状態も formState を通じて一括管理できるので非常に便利です。しかし、実際の開発では「ちょっとした例外的なケース」にぶつかることがあります。今回私が遭遇したのはその...
6ヶ月前

作って理解するModel Context Protocol (MCP) Server
atama plus techblogのフィード
はじめにModel Context Protocol (MCP) は、AIモデルとユーザーのデータソースを安全に接続するための規格です。この記事では、MCP Serverの実装を通じて学んだ、MCPの技術概要や通信の仕様について解釈してみます。 MCPの技術的概要と通信インターフェース MCPとは何かModel Context Protocol (MCP) は、AIアシスタントと外部データソース・ツールを接続するための標準プロトコルです[1]。ClaudeやCursorなどのAIアシスタントが、ユーザーの許可したデータにアクセスできるようにする橋渡し役を担います。...
8ヶ月前

langchain/openevalsでLLM-as-a-judgeの基本を理解
atama plus techblogのフィード
はじめにLLMアプリケーションを本番環境にデプロイする際、従来のソフトウェアテストと同様、評価は非常に重要な役割を果たします。適切な評価を行わなければ、モデルが期待通りに動作しているかどうかを確認することができません。今回、LangChainが提供するopenevalsというライブラリを使用して、複数のLLMモデルの出力を比較評価する方法を試してみたので書き留めておきます。 LLM-as-a-judge とはLLM-as-ajudgeとは、他のAIモデルのパフォーマンスを含め、様々なタイプのコンテンツ、反応、パフォーマンスを評価するためにLLMを使用することを指します。...
8ヶ月前

atama plusのSREチーム:EdTechサービスを支えるインフラの舞台裏と採用情報
atama plus techblogのフィード
こんにちは! atama plusの技術広報チームです。この記事では、現在採用を強化中[1]のSREチームについて詳しくご紹介します。atama plusは、AIを活用した教育サービスを提供するEdTech企業です。塾・予備校向けBtoB事業の進化、「atama+塾」フランチャイズ事業の立ち上げ、大学への高大接続プログラムの提供など、新たな取り組みを次々と展開しています。このような事業拡大と増加するユーザーに対応するため、スケーラブルで可用性の高いクラウドインフラの設計・実装・運用を担当するSREエンジニアを募集しています。私たちと一緒に、教育の未来を支えるインフラを構築しませんか...
10ヶ月前

2024年のatama plus × Angular
atama plus techblogのフィード
atama plusでプロダクトのWebエンジニアをやっている @rettar5 です。今日はアドベントカレンダー最終日ということで、この1年で行ったatama plusでのAngularに関する取り組みをまとめながら振り返ります。 atama plusとAngularatama plusは「教育に、人に、社会に、次の可能性を。」というミッション実現に向かって活動しているスタートアップです。2017年の設立からAI教材「atama+」というプロダクトを作っており、「塾のタブレットにアプリをインストールして学習をしてもらう」という体験の実現のため、Angular x Ionicと...
1年前

新機能向けのダッシュボード開発で学んだデータ可視化のプロセス
atama plus techblogのフィード
!この記事は atama plus アドベントカレンダー 2024 12 月 20 日の記事です。 はじめにこんにちは、atama plus でデータエンジニアをしている kumewata です。最近リリースした AI ステップ解説という新機能のダッシュボードを作ることになり、試行錯誤しながら開発を進めました。その後社内向けのドキュメントとしてダッシュボード実装までの全体のプロセスを整理していたのですが、せっかくアドベントカレンダーのシーズンなので外部向けの記事として書いてみることにしました 🙋https://prtimes.jp/main/html/rd/p/000000...
1年前

エンジニア組織のナレッジマネジメントにチームで立ち向かう
atama plus techblogのフィード
この記事は atama plus Advent Calender 2024 12月19日の記事です。みなさんのエンジニア組織では、開発にまつわる様々なナレッジの属人化問題であったり、ドキュメントの継続的メンテナンスやナレッジシェアの促進など、ナレッジを取り巻く諸問題にどのように対応されているでしょうか?atama plus ではこれら様々な問題に対して「ナレッジマネジメント」という軸で横断的に腰を据えて取り組み続けるために、エンジニア組織の中に有志で立ち上がったナレッジマネジメント組織が存在します。この記事では atama plus のナレッジマネジメント組織の目的、スコープ、活...
1年前

QAチームミッションのアップデート 〜進める上での工夫と学び〜
atama plus techblogのフィード
こんにちは!atama plusでQA Engineering Managerをしている池上です。atama plus Advent Calendar 2024の12月18日の記事になります!ミッションの策定のような抽象的なテーマを扱う際、どうやって全員を巻き込み、共通認識を形成するか悩んだことがある方もいらっしゃるのではないかと思います。本ブログでは、QAチームがミッションをアップデートするプロジェクトで実際に取り組んだプロセスと工夫を紹介します。Engineering Managerなどチームミッション/ビジョンなどを検討する方の参考になれば幸いです。 背景:ミッションア...
1年前

期間選択UIを統一するために自社デザインシステムにコントリビュートした話
atama plus techblogのフィード
はじめに!この記事は atama plus Advent Calender 2024 12月17日の記事です。こんにちは!atama plusの@sekkenです。今回は、atama plusで運用しているデザインシステムについてご紹介します。 背景atama plusでは、生徒・先生には「一貫した体験」のために、プロダクト開発チームには「意思決定の速度と開発効率、精度向上」を目指して、uniformというデザインシステムを開発・運用しています。汎用的なコンポーネントを用意しておくのではなく、関心が似たコンポーネントが増えてきたら後からデザインシステムのコンポーネン...
1年前

bug bashの型化と工夫
atama plus techblogのフィード
こんにちは!atama plusでQAをしている吉原です。「atama plus Advent Calendar 2024」12月16日の記事になります。 はじめにatama plusでは、大きな新機能開発がある度にQA主導でbug bash(バグバッシュ)というイベントを開催してきました。回数を重ねるごとに知見が溜まり、遂には型化され、結果誰でも開催できる仕組みになってきました!今回そんな型化されたbug bashについて紹介したいと思います。この記事は、bug bashに興味がある方や、これから開催を考えている方の参考になれば幸いです。 bug bashとはbug ba...
1年前