1 of 16

バックエンド開発入門

Zli技術座談会2023

s1290035 しんぶんぶん

2 of 16

しんぶんぶん基本情報

  • ちょっとだけ書ける: JavaScript(Node.js), TypeScript, Go, Rust, C, C++, Java, Haskell, Nix
  • 普段はバックエンドとかインフラまわりとか認証まわりとかをやってる
  • LINE API Expert
  • Zli代表、学生会執行部会計、GeekDojo SA

3 of 16

職歴

  • 2023/03~04: 株式会社MIXI インターンシップ(開発本部CTO室たんぽぽグループ)
  • 2022/12~ 株式会社Questry 業務委託
  • 2022/09~11 株式会社アンドパッド インターンシップ
  • 2022/03~2022/06 ピクシブ株式会社 長期インターンシップ(インフラ部SAチーム)
  • 2022/02~2022/03 株式会社ゆめみ インターンシップ(Rustを使ったWebアプリケーション開発)
  • 2021/08 ヤフー株式会社 インターンシップ(認証・アクセス制御に関するプロダクト開発)
  • 2021/07~2022/03 株式会社 dott 業務委託 (福島県新型コロナウイルス対策サイト保守)
  • 2021/01~2021/05 LasTrust株式会社 インターンシップ(R&D)
  • 2018/12~2019/12 株式会社 Nature Innovation Group(アイカサ) 業務委託

4 of 16

ハッカソン!!!!

  • 2021/11/07 わたしたちのウェルビーイングのためのハッカソン2021 富士通 つながる豊かさ賞
  • 2021/10/09 Civictech Challenge Cup[U-22] 2021 Code for Japan賞
  • 2021/02/28 Epson Hack Trek 2021 優勝
  • 2020/05/24 レッドハッカソン オンライン 2020 奨励賞
  • 2018/09/02 LINE BOOT AWARDS×サイボウズ ビジネス/ワーク部門賞狙いのハッカソン LINE賞・サイボウズ賞

5 of 16

著書

  • LINE API HANDBOOK LINEログイン章(同人誌, 共著)
  • LINE API 実践ガイド LINEログイン章(商業誌, 共著)
  • Zli Techbook Vol.2 C言語で作るLINEBot章(同人誌, 共著)
  • Zli Techbook Vol.3 Rustで作るLINEBot章(同人誌, 共著)
  • Hands-on LINEBOT (同人誌, 単著)

6 of 16

Webアプリケーションの構成

  • フロントエンド
    • ユーザーが直接触れる部分
  • バックエンド
    • サーバサイド機能

7 of 16

バックエンド開発の主な目的

  • データベース管理
    • データの格納・取得・更新・削除
  • サーバとの通信
    • APIを通じたデータや機能の提供
  • ビジネスロジック
    • アプリケーションの主要な機能やルールの実装
  • セキュリティ
    • データとアプリケーションの安全性の確保

8 of 16

データベース管理

  • CRUD操作(Create, Read, Update, Delete)
  • データベース技術: MySQL, PostgreSQL, MongoDB etc…

9 of 16

サーバとの通信

  • API(システム間のデータ交換や機能提供のインターフェース)を用いて通信
  • RESTful APIやGraphQL、gRPCなどが主流

10 of 16

ビジネスロジック

  • システムとしての実際のお仕事をする部分
  • ユーザーアカウント管理
  • 認証(ユーザー名とパスワードの照合、トークンベースの認証)
  • 権限管理(ユーザーごとのアクセス権限の制御)
  • etc…

11 of 16

セキュリティ: 暗号化(SSL/TLS)

  • アクセス制御、入力検証、安全なパスワードストレージなどの対策を講じて、データ漏洩や不正アクセスを防ぎます

12 of 16

バックエンド開発言語とフレームワーク

  • Node.js(Express), Rust(Actix-web, axum), Kotlin(Ktor), Go(gin) etc…

13 of 16

バックエンド開発者の役割

  • 適切な技術選定、効率的なアプリケーション構築、フロントエンド開発者との連携を行います。

14 of 16

ここまでChatGPTが生成しました

15 of 16

正直なところ...

  • バックエンドエンジニアとして働くには膨大な知識が必要です(諸説)
    • 言語知識、データベース、ネットワーク、セキュリティ、インフラ、フロントエンド、アルゴリズム、データ構造 etc…
  • 技術の総合格闘技感があってとても楽しい

16 of 16

Webバックエンドをやってみたい方へ

  • とりあえずチャットbotを作ってみよう
    • フロントエンドがいらないのでとっつきやすい
    • LINEBotがおすすめです(ポジショントーク)
  • AizuHackのLINEBotコースに参加しよう