Slide 1

Slide 1 text

フロントエンドから
 バックエンドに
 転身すること
 にやったこと
 三海 純(ミカイジュン)


Slide 2

Slide 2 text

自己紹介
 ● 三海純(ミカイ ジュン) ● 現在フリーランスエンジニア ○ Next.jsの新規開発・設計 + Laravel ○ Python API新規開発・設計 ● 趣味 ○ アニメ(BanG Dream!・ぼざろ 等) ○ ネット麻雀(雀魂・雀豪)

Slide 3

Slide 3 text

キャリア
 ● 2020/06 - 2022/02: 正社員(受託企業) ○ Vue.js/Nuxt.jsをメイン ● 2022/03 - 2023/09: 正社員(自社開発) ○ バックエンドはPython / Nest.js(Node.js) ○ フロントエンドはReact.jsとNext.js ● 2023/10 - : フリーランス(自社開発) ○ Next.jsの設計とバックエンド実装を担当 ○ Python APIの新規開発・設計

Slide 4

Slide 4 text

バックエンドエンジニア
 になるための
 
 「3つの壁」
 
 の突破方法を紹介します


Slide 5

Slide 5 text

バックエンドの実務を
 こなすための
 準備方法がわかること
 ゴール


Slide 6

Slide 6 text

● テーブル2~3個絡んだSQLが書ける
 
 ● テーブル2~3個のDB設計ができる
 
 ● class記述がある程度わかる
 
 具体的には


Slide 7

Slide 7 text

自分でいうとここのフェイズ
 ● 2020/06 - 2022/02: 正社員(受託企業) ○ Vue.js/Nuxt.jsをメイン ● 2022/03 - 2023/09: 正社員(自社開発) ○ バックエンドはPython / Nest.js(Node.js) ○ フロントエンドはReact.jsとNext.js ● 2023/10 - : フリーランス(自社開発) ○ Next.jsの設計とバックエンド実装を担当 ○ Python APIの新規開発・設計

Slide 8

Slide 8 text

試練1
 SQL

Slide 9

Slide 9 text

上司: MySQL接続してるデータベース一覧 を見たいです!
 
 自分: SELECT * FROM user;
 
 上司: いや、そうではなくてですね(汗)
 
 環境構築中のとある会話


Slide 10

Slide 10 text

No content

Slide 11

Slide 11 text

こうならない
 ためには・・・


Slide 12

Slide 12 text

No content

Slide 13

Slide 13 text

試練2
 DB設計

Slide 14

Slide 14 text

他人が作った
 DBを見て一度は
 体験したこと


Slide 15

Slide 15 text

No content

Slide 16

Slide 16 text

● クソデカテーブル
 ○ 全てのデータを1つのテーブルにまとめる
 ● 正規化しなさすぎ
 ○ カラムに〇〇2人目名前、〇〇3人目名前など
 ● 非スカラ化
 ○ カラムに配列やjsonを無闇に入れること
 ● カラム値の初見殺し
 ○ 例) ユーザーidの数字によって権限が変わる
 具体的には


Slide 17

Slide 17 text

No content

Slide 18

Slide 18 text

試練3
 class記述

Slide 19

Slide 19 text

● コンストラクタ
 ● インスタンス(変数)
 ● 継承
 ● ポリモーフィズム
 ● カプセル化
 ● 抽象化
 ● インターフェイス
 よくあるclassワード


Slide 20

Slide 20 text

No content

Slide 21

Slide 21 text

こうならない
 ためには・・・


Slide 22

Slide 22 text

No content

Slide 23

Slide 23 text

● バックエンド言語(Ruby、PHPなど)
 ● フレームワーク(Rails、Laravelなど)
 ● WebやAPIの詳細
 ● OSとかネットワークとかの詳細
 ● 認証やセキュリティ
 ● デプロイ全般
 
 どうにかなるもの/優先度下がるもの


Slide 24

Slide 24 text

ご清聴ありがとうござ います!