底辺情報院生の勉強記録 2024/5/26

学んだこと

データ構造とアルゴリズム

WEB開発

  • package-lock.jsonについて,初心者向けの良記事を発見
  • TypeScirpt,ReactによるプロジェクトへのFirebase接続
    • 前提:npx react-create-appで作成したプロジェクト
    •  npm install firebase を打ったところ,「8 vulnerabilities (2 moderate, 6 high)」というメッセージが表示
    • コマンド npm audit を使ってpackage
    • 脆弱性の警告は無視しても構わない」という意見もある
    • なんかややこしいのでひとまずスルーすることに
      • 脆弱性はエラーではないため,無視して開発は可能
      • パッケージの依存関係を掘っていくと(多分)原因の特定が可能

JavaScript/Typescript

  • export default:
  • try-catch:try内で例外処理が起きたらcatch内の処理を実行.エラーを捕まえてくれるのでデバッグに便利
  • スクリプトとモジュール
    • スクリプト:通常のjs/tsファイル
    • モジュール:import or export があるスクリプト.つまり出し入れがあるjs/tsファイルと言える
    • 他のモジュール内で使いたい変数などを,明示的にimport/exportsする必要がある.(明示的な受け渡し)
  • export  vs export default
    • exportとは・・

Firebase/Supabase

  • Baas(Backend as a Service)
  • firebase
    • Firebase は、デベロッパーがユーザーに人気のアプリやゲームを開発できるよう支援する Google のモバイルおよびウェブアプリ開発プラットフォームです。
    • 機能が豊富
    • firestore(NoSQLデータベース)
      • 高速だが複雑なデータを扱えない
      • 処理の一貫性,整合性に難あり
    • Realtime databaseというのもあるが,これはfirestoreの前のデータベースソリューションらしい..
  • Supabase(参考)
    • Supabase is an open source Firebase alternative. Start your project with a Postgres database, Authentication, instant APIs, Edge Functions, Realtime subscriptions, Storage, and Vector embeddings.
    • firebaseの代替(alternetive)のOSS
      • 自分で用意したサーバにデプロイ可能
      • PostgresSQL (RDBMS)で,複雑なデータを厳格に扱いたいときに便利
      • 学習コストは高い
  • ユースケース
    • firebase:単純なデータ処理,個人開発など
    • Subbase:決済処理などの,厳格さが必要な処理・複雑な処理

データベース

  • SQL/NoSQL
    • SQL
    • NoSQL:
  • スキーマレス
    • 事前にデータの構造を定義しなくて良い

その他

 firebaseについては,公式ドキュメントを読みながら勉強している.個別のロジックや処理の部分については,2次情報をもとにすれば良いが,データベースの部分は,開発するアプリケーションによって必要とされる機能が異なるので,具体的な個別の事例をQiitaやZennで調べるよりも公式ドキュメントをじっくり読んで勉強した方が良いと踏んでいる.

末端に行けば行くほど,知識は具体的なものの寄せ集めでよく,大元の部分となると1次情報などをもとに正確な理解が必要になるのかもしれない.