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を用いた理由
特徴
Gin
- ORMがない
- Validatorがあるが一応あるって程度
- インタラクティなデバッガはない
- Httrouterがある
- WebClientとWebServerのライブラリがある
- Text/templateという標準のTemplateエンジンがある
- Flasukににている
- 性能評価すると10vusから1000vusでどれでも早い
- Webフレームワークを採用すると、それに依存(ロックイン)するので不具合みえもて変えられない
- とくにGoはサードパーティのライブラリの流行り廃りが多い
問題点
- ルーティングの自由度が低いらしい
- パラメータがスラッシュを自動的に削除する
見解
- GoではまだFullStackなフレームワークはない
MySQLだけでWebアプリケーション
概要
経緯
- MySQLでWebアプリケーションができるかって質問されてやってみたくなった
すでにMySQLにない機能で実装
- 色々限界があった
- なので条件としてHTTPで動的なコンテンツを生成したらOKとする
- MySQLプロトコルやXプロトコルをつかったらJSを実行できる(MYSQL8)
- でもそれだと今回の条件に合わないから却下する
- MySQLHTTPPlugin(5.7)があった
- 今はない
- 8からローリングアップデートしている
MysqlでHTTP通信できてうれしいこと
- あんまりない
デモ
- MySQLのdockerつかってMyHTTPがはいった環境を実行
- ‘HTTP://localhost:8080/select* from data`というURLでJSONでデータを返し
WebFluxでリアクティブなWebAPIのデモ
会社説明
OPTIM
- 遠隔診断サービスやっている
- 医療チームはSpringBoot + Vue.JSで作成している
WebFlux説明
- JavaのSpringの機能
- sprinbBootで、ノンブロッキングプログラミングをする機能
- Spring Framework 5に含まれる
SpringBoot
- 先日2.2.3がでた
- WebFlux(ReactiveStack)がつかえる
- Spring内部にはTOMCATのJarが入っている
デモ
- コーディングしはじめた
Spring
- Rsocketの記事が明日でる
- SpringCloudの記事がテックブログにある
- スレッドプールのサイズやタイムアウト時間を設定可能
巨大モノリシックアプリケーションから見たRailsの良いところとツラミ
概要
RubyOnRailsの説明(個人見解)
- 少人数開発に向いている
- 画面からメーリングサービスまでモノリシックに用意されている
つらみ
- レールに乗らなくなってくると機能付きかが辛い
- RESTぽくなくなってくるとき規約が足をひっぱる
- スケールが非効率
- 複数ドメインから同じモデルが変更できてしまうとソースコードが複雑になる
- バージョンアップの追従が大変
- Railsバージョン上げるとアプリが動かなくなる