Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥

TS未経験から 3ヶ月で 新機能開発した話

TS未経験から 3ヶ月で 新機能開発した話

Avatar for Hayato Kinoshita

Hayato Kinoshita

April 23, 2025
Tweet

Other Decks in Programming

Transcript

  1. © toggle holdings inc. 2
 ⽊下 隼 所属 2024/09〜2025/3 インターン

    2025/04〜現在 トグルホールディングス 株式会社 趣味 競⾺、アニメ鑑賞、料理 X @hk10_it
  2. © toggle holdings inc. 3
 タイトル 本⽇話す内容 • インターンで新機能開発まで⾏った体験談 •

    フルスタックTSのメリット ◦ 学びやすい! ◦ 全体像の把握がしやすい! ◦ 型定義が怖くない!
  3. © toggle holdings inc. 5
 学びやすい! 私の経験(インターン前のスキルセット) プログラミング経験:9年 • ⼤学/修⼠:Python(6年)

    • ⾼校⽣以前:Unity(C#)、その他基礎レベル • Web系 ◦ フロントエンド(HTML/CSS/JS):授業/独学レベル ◦ TypeScript:未経験 ▪ React, Hono, Prisma, Zod … ?
  4. © toggle holdings inc. 6
 学びやすい! インターンでの稼働時間 • 稼働時間:3 h/⽇(15

    h/週) • 限られた時間の中で技術的なキャッチアップをしな がら開発を進める必要
  5. © toggle holdings inc. 10
 学びやすい! なぜ、1営業⽇で出せたのか? 2/3 TypeScriptのキャッチアップがしやすかった •

    似ている機能のコードを参考に編集 • TypeScriptの構⽂をスムーズに理解 • HTML/CSS/JSを少し知っていてReactが 理解しやすい
  6. © toggle holdings inc. 14
 学びやすい! バックエンドの経験ゼロでも壁は低かった 最⼤の要因:⾔語が同じTypeScript! • 構⽂の学習コストが、実質ゼロ

    • Hono、Prismaの学習に集中できた ❏ Hono:TypeScriptのバックエンドのフレームワー ク ❏ Prisma:TypeScriptでデータベースの操作を型安 全に⾏う
  7. © toggle holdings inc. 15
 学びやすい! フルスタックTypeScriptが学びやすいと感じた部分! • 環境構築が早い •

    Web開発の基礎知識があればすぐに キャッチアップ可能 • ホットリローディングによるお試しができる • フロントエンドとバックエンドの スイッチングコストが低い
  8. © toggle holdings inc. 17
 全体像の把握がしやすい! 1-2⽉の開発タスク:こんな課題に取り組みました • PDF出⼒時の記載事項が間違っているバグ •

    権限のチェック漏れでタグを削除できるバグ • タグ削除時のエラー表⽰が2つ出現する • ボタンが初期状態で活性化された状態になっている • 道路幅の変更によってバリデーションエラーが発⽣
  9. © toggle holdings inc. 18
 全体像の把握がしやすい! 課題全体を通じて意識したこと 解決にはどこにバグが潜んでい るかの特定が必要 ➔

    レイヤードアーキテクチャを 意識 ➔ 全てTypeScriptで確認ができ るため、特定がしやすい
  10. © toggle holdings inc. 19
 全体像の把握がしやすい! 1-2⽉の開発タスク:こんな課題に取り組みました • PDF出⼒時の記載事項が間違っているバグ •

    権限のチェック漏れでタグを削除できるバグ • タグ削除時のエラー表⽰が2つ出現する • ボタンが初期状態で活性化された状態になっている • 道路幅の変更によってバリデーションエラーが発⽣
  11. © toggle holdings inc. 27
 型定義が怖くない! タスクをサブタスクに分割 • 物件登録数取得のバックエンド実装 •

    VC実⾏数を取得するバックエンド実装 • 画⾯の実装 • 年度‧部⾨での絞り込み機能実装
  12. © toggle holdings inc. 28
 型定義が怖くない! バックエンドの実装 できるだけservice層には処理を 追加しない •

    変更場所が少ない⽅が良いと判断 ➔ transaction層に既存処理を 使ってデータ取得処理を記述
  13. © toggle holdings inc. 29
 型定義が怖くない! API境界が怖く無く開発が進む Zodによるスキーマ定義と、型推論 • serviceから渡されるデータの型がちゃんと決まっている

    • 持っているプロパティが分かるので、使えるメソッドが分かる ➔ transactionに⼀つのメソッドを追加するだけで 済む実装ができた
  14. © toggle holdings inc. 32
 まとめ 私の3ヶ⽉とフルスタックTSの可能性 体験して分かった! フルスタックTSは... •

    学びやすい! ◦ FE、BEで同じ⾔語のため学習コストが低い • 全体の把握がしやすい! ◦ バグなどの箇所でどこが問題かを発⾒しやすい • 型定義が⼀貫していて怖くない! ◦ API境界でもzodによる型推論によって怖くない