大阪でLaravelの勉強会を開催しました（資料もあるよ）

# 大阪でLaravel勉強会しました

大阪って東京に比べると本当に勉強会とカンファレンスとか少ないんですよね。。
特にフレームワークの*Laravel*とかになると月に1回あるかないか（最近は増えてきた）

なので今回は自分で主催して勉強会を開催しよう！と思い立ち、この会を企画した次第です。

> Twitterでもみなさん沢山投稿してくれました！
[#大阪Laravel勉強会](https://mobile.twitter.com/search?q=%23大阪Laravel勉強会&src=typed_query)

## 発表者テーブル

|発表者  |内容|
|-------|----|
|[ナミザト](https://twitter.com/namizatop)|Laravelﾜｶﾝﾈ(ﾟ⊿ﾟ)から「完全に理解した（）」までステップアップ|
|[カッポ](https://twitter.com/kappon_world)|LaravelとSymfony|
|[Daisuke](https://twitter.com/daisuke_phper)|Laravel5 と Laravel6 の違い -認証編-|
|[ムカエ](https://twitter.com/Mukae9)|LaravelでSNSログインを実装|
|[saito_takashi_1117](https://twitter.com/7_asupara)|Laravelをデザインパターンで考察する ~ Builder Pattern ~|
|[ぼんばー](https://twitter.com/nom_bom)|MySQLと文字コードの話|
|[flowphantom](https://twitter.com/flowphantom)|Laravel4に触れた感想|
|[Yui](https://twitter.com/MayForBlue)|Amazon LightsailにLaravel環境作ってみた|

---

## 登壇枠（15min）

### Laravelﾜｶﾝﾈ(ﾟ⊿ﾟ)から「完全に理解した（）」までステップアップ

登壇者 **ナミザト**

トップバッターは今回主催で筆者のワタクシです。

Laravel始めた時って何となくで動いちゃうので、どういうフローで処理が実行されているのか
分かってない人がほとんどだと思ったので今回の題材は
**Laravelのライフサイクル**（アクセスしてページが表示されるまでの実行フロー）と**Laravelでよく目にする機能**について簡単にお話しました！

質問は一つもありませんでした！！~~多分クソつまらなかった~~

![kyUawwNq (1).jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/293438/d1927cc7-57c9-0da9-31b7-d0fe7b104a5b.jpeg)


#### 資料

[Laravelﾜｶﾝﾈ(ﾟ⊿ﾟ)から「完全に理解した（）」までステップアップ](https://speakerdeck.com/namizatork/laravelwakanne-kara-wan-quan-nili-jie-sita-madesutetupuatupu)

---

### LaravelとSymfony

登壇者 **カッポ**

**緊急システム障害対応のため登壇叶わずw**

最後の懇親会の串カツ屋でLTしてくれましたw

LaravelとSymfonyのコマンドやディレクトリ構造、プロジェクトを作成する時のフローの違いについて話ししてくれました！

![EO41vPOU0AAKd5o.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/293438/c72ca01c-f5ea-674c-ee8b-1b24a08c59d7.jpeg)

#### 資料

> 次回の登壇で発表するそうです

---

### Laravel5 と Laravel6 の違い -認証編-

登壇者 **Daisuke**

Larvel5とLaravel6のAuth認証導入手順の違いを実際にLiveコーディングしながら（しゅごい）
説明してくれました！

Laravel5ではターミナルで一発で済んだAuth認証導入

```terminal
php artisan make:auth
```

Laravel6では少し手順が増えてます。

**ライブラリをインストール**

```terminal
$ composer require laravel/ui
```

**UIのタイプを選択する**

> vue/react/bootstrapから選択が可能

```terminal
$ php artisan ui vue --auth
```

**npmインストール&実行**

> 先ほど選択したvue.jsをインストール

```terminal
$ npm install
$ npm run dev
```

![a5z12-srk8x-min.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/293438/56505c7c-5c87-74f5-3e84-d54344c187ab.jpeg)

#### 資料

[Laravel5 と Laravel6 の違い -認証編-](https://speakerdeck.com/daisuke_phper/laravel5-to-laravel6-falsewei-i-ren-zheng-bian)


## LT枠

### LaravelでSNSログインを実装

発表者 **ムカエ**

SNSログインが簡単に実装できるライブラリ**「Socialite」**を使ってLaravel×Twitterログインを実装するというお話でした！（~~半分くらいステマしてたけど~~）

やっぱりトーク慣れしてて、聞いてて面白かったです。

TwitterAPIの申請方法はどうやってやるんですか？という質問があり、
先日**たまたま**その申請方法を記事にしたらしいのでそちらを参考にしてくださいとの事（~~サクラかな~~）

[TwitterAPI アカウント申請〜許可まで【2020年版】](https://note.com/mukae9/n/nb249bcfe6ee9)

![alejd-zoul2-min.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/293438/45b9ff05-e7f9-3113-18d1-229605729663.jpeg)

#### 資料

[LaravelでSNSログインを実装](https://t.co/NnBkgjP54q?amp=1)

~~その他ステマ~~
[Laravel6.0(PHP7.3)+MySQL+Laradockで簡易的なECサイトを作る①](https://note.com/mukae9/n/n12cc13fd4f90)

---

### Laravelをデザインパターンで考察する ~ Builder Pattern ~

発表者 **saito_takashi_1117**

> デザインパターンとは
クラス設計における定石集で、全部で23パターンあり、それぞれに特徴があります。
GoF(Gang of Four)とは『オブジェクト指向における再利用のためのデザインパターン』の著者である4人の事を指す（絶対メンバー中に中二病おる）

Laravelに用意されている**Builder Pattern**を簡単に利用するための抽象クラスを考察してみた！という説明をしてくれました！
インスタンス生成過程を隠蔽し、シンプルに再利用するために継承して使用することができる。らしい...

![ak9ox-wpzfo-min.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/293438/83c2a938-6021-d730-6473-0a7f2aa10179.jpeg)

#### 資料

https://qiita.com/7_asupara/items/c76af3c466b5450ef7d2

---

### MySQLと文字コードの話

発表者 **ぼんばー**

Laravelはあまり触ってないが、MySQLならチョットワカルので文字コードのお話でした！
有名な寿司ビール問題を例にあげて分かりやすく説明してくれました！

> 寿司ビール問題とは
🍣=🍺のような絵文字は同じ文字扱い
このように文字コードが原因でMySQLにて絵文字が同じ文字列扱いを受ける問題を寿司ビール問題と言うらしい（なぜ）

ちなみにLaravelの標準のcharsetは`utf8mb4`で、collationは`utf8mb4_unicode_ci`です

> 思わず手がロボットのアームになってしまったぼんばーさん

![axxdm-wbcm7-min.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/293438/3478478f-a98d-63b4-2970-e3512122f364.jpeg)

ちなみにTwitterでLaravelのDBは何を使ってるか投票を募集するとほとんどがMySQLだったそう(会場でも9.5割くらいMySQLだった)

資料もかなり分かりやすくまとめてくれてるので必見！！

#### 資料

[MySQLと文字コードの話](https://speakerdeck.com/nombom7/mysqltowen-zi-kodofalsehua)

---

### Laravel4に触れた感想

発表者 **flowphantom**

~~今は亡き~~Laravel4について語ってくれました。

Vueのくだりで会場爆笑でしたw
面白いのでぜひ資料覗いてみてください！

また追加でLaravelを完全に意識してであろうPythonのフレームワーク**「Masonite」**も紹介してくれました！
ディレクトリ構造とか最初の画面とかほぼ同じらしい...！

![att1a-a8gdw-min.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/293438/80677f34-060c-cf9e-da49-1e74254f0ce8.jpeg)

#### 資料

[Laravel4に触れた感想](https://speakerdeck.com/daiyadove/laravel4nihong-retagan-xiang)

---

### Amazon LightsailにLaravel環境作ってみた

発表者 **Yui**

AWSエンジニアでLaravelは起動した画面で満足してしまったYuiさんに無理やりLTをお願いしました（~~ヤクザ~~）

AWSのレンタルサーバーみたいに使えるVPS**「Amazon Lightsail」**でLaravel環境を構築した時にcomposerがメモリ不足でインストールできない問題にぶち当たった事を説明してくれました！

解決方法は**一つ上のスペックに変える**という金の暴力で解決w

> 一応swap領域確保してインストールする方法もあるが、やっぱりあまりよろしくないらしい

ちなみに筆者も試しにLightsail使ってみたが、結構良かった！初めてでも30分くらいで環境作れました

![EO4kLFJUcAQ7Svk.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/293438/c27abdf0-a925-d0f8-1b6c-40ae879c3358.jpeg)

#### 資料

[Amazon Lightsail に Laravel環境を作ってみた](https://dev.classmethod.jp/study_meeting/laravel-study-lightning-talk/)

> 記事に記事のURL（資料は記事の下）

## 最後に

当日に無断キャンセル4人いたり（一人は開始1時間後に無断キャンセルw）、唯一の共同運営者（カッポくん）がシステム障害で途中からの参加だったりして大変でしたが、結果有意義な時間になれたかなーと思いました。

~~次は3ヵ月後くらいでいいかな~~

みなさんお疲れ様でした！