Webフレームワーク勉強会

Laravel 6.x のLaravel UIとAuth実装

概要

Laravel UIとは

  • 5までデフォルトで入ってものが分離された

Larael5.8->6の違い

  • 5.8ではBootstrapがあった
  • 最初からViewがあった
  • Make AuthコマンドでViewがつくらた
  • Laravel6からLaravelUIいれないと、上記がはいらない
  • UI使うにはcomposerコマンドと、NPMがいる

LaravelのAuth実装とは

以下4ステップでDBメンテナができる

6.xで実装されたもの

今までのLaravelバージョンUP

  • マイナージョン更新がメジャーアップデートだった
  • Laravelは今6.11

Job MiddleWareについて

  • LaravelはJOBを非同期処理してくれる
  • Job前後にMiddleWareを挟める
  • 共通処理が書ける

LazyCollrection

  • Collectionは色々な関数がある
  • Lazyコレクションはメモリ削減のためにある
  • DB受けっとた大量のデータをさばくのに便利になった
  • LaravelはPHPではないかのようにコードが掛けてしまう

gin(Golang)の紹介と脱フレームワークのススメ

概要

Webフレームワークとについての解釈

  • WebAPIをたてるのに必要なものをそろえたもの
  • FulllとMicroがある

Ginを用いた理由

  • JSON返すRESTAPIがほしかた
  • 早いフレームワークが欲しかった
  • EchoよりGinのほうがトレンドになっている

特徴

Gin

  • ORMがない
  • Validatorがあるが一応あるって程度
  • インタラクティなデバッガはない
  • Httrouterがある
    • WebClientとWebServerのライブラリがある
  • Text/templateという標準のTemplateエンジンがある
  • Flasukににている
  • 性能評価すると10vusから1000vusでどれでも早い
  • Webフレームワークを採用すると、それに依存(ロックイン)するので不具合みえもて変えられない
  • とくにGoはサードパーティのライブラリの流行り廃りが多い

問題点

  • ルーティングの自由度が低いらしい
  • パラメータがスラッシュを自動的に削除する

見解

MySQLだけでWebアプリケーション

概要

経緯

  • MySQLでWebアプリケーションができるかって質問されてやってみたくなった

すでにMySQLにない機能で実装

  • 色々限界があった
  • なので条件としてHTTPで動的なコンテンツを生成したらOKとする
  • MySQLプロトコルやXプロトコルをつかったらJSを実行できる(MYSQL8)
  • でもそれだと今回の条件に合わないから却下する
  • MySQLHTTPPlugin(5.7)があった
    • 今はない
  • 8からローリングアップデートしている

MysqlでHTTP通信できてうれしいこと

  • あんまりない

デモ

WebFluxでリアクティブなWebAPIのデモ

会社説明

OPTIM

  • 遠隔診断サービスやっている
  • 医療チームはSpringBoot + Vue.JSで作成している

WebFlux説明

SpringBoot

  • 先日2.2.3がでた
  • WebFlux(ReactiveStack)がつかえる
  • Spring内部にはTOMCATのJarが入っている

デモ

  • コーディングしはじめた

Spring

  • Rsocketの記事が明日でる
  • SpringCloudの記事がテックブログにある
  • スレッドプールのサイズやタイムアウト時間を設定可能

巨大モノリシックアプリケーションから見たRailsの良いところとツラミ

概要

RubyOnRailsの説明(個人見解)

  • 少人数開発に向いている
  • 画面からメーリングサービスまでモノリシックに用意されている

つらみ

  • レールに乗らなくなってくると機能付きかが辛い
  • RESTぽくなくなってくるとき規約が足をひっぱる
  • スケールが非効率
  • 複数ドメインから同じモデルが変更できてしまうとソースコードが複雑になる
  • バージョンアップの追従が大変
  • Railsバージョン上げるとアプリが動かなくなる

単体テスト