Download - Osh2014
![Page 1: Osh2014](https://reader033.vdocuments.mx/reader033/viewer/2022060111/55660da6d8b42a06318b4987/html5/thumbnails/1.jpg)
Amazon Relational Database Service
ではじめるPostgreSQL
オープンセミナー2014@広島
![Page 2: Osh2014](https://reader033.vdocuments.mx/reader033/viewer/2022060111/55660da6d8b42a06318b4987/html5/thumbnails/2.jpg)
What is it?
今日、皆さんにお伝えしたいことは2つ
![Page 3: Osh2014](https://reader033.vdocuments.mx/reader033/viewer/2022060111/55660da6d8b42a06318b4987/html5/thumbnails/3.jpg)
What is it?
RDS for PostgreSQLはすぐ始めれます
![Page 4: Osh2014](https://reader033.vdocuments.mx/reader033/viewer/2022060111/55660da6d8b42a06318b4987/html5/thumbnails/4.jpg)
What is it?
ただしデータの扱いは代わりません
![Page 5: Osh2014](https://reader033.vdocuments.mx/reader033/viewer/2022060111/55660da6d8b42a06318b4987/html5/thumbnails/5.jpg)
What is it?
つまりデータはこれからも大切な存在です
![Page 6: Osh2014](https://reader033.vdocuments.mx/reader033/viewer/2022060111/55660da6d8b42a06318b4987/html5/thumbnails/6.jpg)
What is it?
今日はそんなDBのお話をします
![Page 7: Osh2014](https://reader033.vdocuments.mx/reader033/viewer/2022060111/55660da6d8b42a06318b4987/html5/thumbnails/7.jpg)
あじぇんだ
1 自己紹介
2 RDS for PostgreSQLとは
3 RDS for PostgreSQLの使い方
4 データについて
5 まとめ
![Page 8: Osh2014](https://reader033.vdocuments.mx/reader033/viewer/2022060111/55660da6d8b42a06318b4987/html5/thumbnails/8.jpg)
あじぇんだ
1 自己紹介
2 RDS for PostgreSQLとは
3 RDS for PostgreSQLの使い方
4 データについて
5 まとめ
![Page 9: Osh2014](https://reader033.vdocuments.mx/reader033/viewer/2022060111/55660da6d8b42a06318b4987/html5/thumbnails/9.jpg)
自己紹介
名前:曽根 壮大(そね たけとも)
年齢:29歳(三人の子供がいます)
職場:まほろば工房
所属:日本PostgreSQLユーザ会
技術的にはWeb系でLLとかRDB大好きです
![Page 10: Osh2014](https://reader033.vdocuments.mx/reader033/viewer/2022060111/55660da6d8b42a06318b4987/html5/thumbnails/10.jpg)
自己紹介
名前:曽根 壮大(そね たけとも)
年齢:29歳(三人の子供がいます)
職場:まほろば工房
所属:日本PostgreSQLユーザ会
PBXを作ったりVyattaの使ったりしてます
![Page 11: Osh2014](https://reader033.vdocuments.mx/reader033/viewer/2022060111/55660da6d8b42a06318b4987/html5/thumbnails/11.jpg)
自己紹介
名前:曽根 壮大(そね たけとも)
年齢:29歳(三人の子供がいます)
職場:まほろば工房
所属:日本PostgreSQLユーザ会
中国支部長やってます
![Page 12: Osh2014](https://reader033.vdocuments.mx/reader033/viewer/2022060111/55660da6d8b42a06318b4987/html5/thumbnails/12.jpg)
あじぇんだ
1 自己紹介
2 RDS for PostgreSQLとは
3 RDS for PostgreSQLの使い方
4 データについて
5 まとめ
![Page 13: Osh2014](https://reader033.vdocuments.mx/reader033/viewer/2022060111/55660da6d8b42a06318b4987/html5/thumbnails/13.jpg)
PostgreSQLとは
PostgreSQLとは
![Page 14: Osh2014](https://reader033.vdocuments.mx/reader033/viewer/2022060111/55660da6d8b42a06318b4987/html5/thumbnails/14.jpg)
PostgreSQLとは
オープンソースなリレーショナルデータベース
![Page 15: Osh2014](https://reader033.vdocuments.mx/reader033/viewer/2022060111/55660da6d8b42a06318b4987/html5/thumbnails/15.jpg)
PostgreSQLとは
特 徴
![Page 16: Osh2014](https://reader033.vdocuments.mx/reader033/viewer/2022060111/55660da6d8b42a06318b4987/html5/thumbnails/16.jpg)
PostgreSQLとは
高機能・高可用性
特 徴
![Page 17: Osh2014](https://reader033.vdocuments.mx/reader033/viewer/2022060111/55660da6d8b42a06318b4987/html5/thumbnails/17.jpg)
PostgreSQLとは
高機能・高可用性
日本語ドキュメントが豊富
特 徴
![Page 18: Osh2014](https://reader033.vdocuments.mx/reader033/viewer/2022060111/55660da6d8b42a06318b4987/html5/thumbnails/18.jpg)
PostgreSQLとは
高機能・高可用性
日本語ドキュメントが豊富
コミュニティが活発
特 徴
![Page 19: Osh2014](https://reader033.vdocuments.mx/reader033/viewer/2022060111/55660da6d8b42a06318b4987/html5/thumbnails/19.jpg)
PostgreSQLとは
ver. リリース日 主な追加機能
8.4 2009-07-01再帰クエリ, ウィンドウ関数, 列単位のアクセス制御, SQLと関数の性能解析機能
9.0 2010-09-20レプリケーション, 一括権限変更, 匿名プロシージャ, 64bit Windows サポート, 移動平均, 列/条件トリガ, 一意性制約の遅延, 排他制約
9.1 2011-09-12同期レプリケーション, 外部テーブル, パッケージ管理, UNLOGGEDテーブル, 更新可能なWITH句, 近傍検索, SELinux権限制御
9.2 2012-09-10インデックスオンリースキャン, カスケードレプリケーション, JSON型, 範囲型
9.3 2013-09-09マテリアライズドビュー, 外部テーブルへの書き出し, イベントトリガ, データページ・チェックサム, LATERAL句
![Page 20: Osh2014](https://reader033.vdocuments.mx/reader033/viewer/2022060111/55660da6d8b42a06318b4987/html5/thumbnails/20.jpg)
PostgreSQLとは
ビックデータ
![Page 21: Osh2014](https://reader033.vdocuments.mx/reader033/viewer/2022060111/55660da6d8b42a06318b4987/html5/thumbnails/21.jpg)
PostgreSQLとは
データマイニング
![Page 22: Osh2014](https://reader033.vdocuments.mx/reader033/viewer/2022060111/55660da6d8b42a06318b4987/html5/thumbnails/22.jpg)
PostgreSQLとは
データサイエンス
![Page 23: Osh2014](https://reader033.vdocuments.mx/reader033/viewer/2022060111/55660da6d8b42a06318b4987/html5/thumbnails/23.jpg)
PostgreSQLとは
PostgreSQLは複数のアプローチを用意します
![Page 24: Osh2014](https://reader033.vdocuments.mx/reader033/viewer/2022060111/55660da6d8b42a06318b4987/html5/thumbnails/24.jpg)
AWS&RDSとは
AWS&RDSとは
![Page 25: Osh2014](https://reader033.vdocuments.mx/reader033/viewer/2022060111/55660da6d8b42a06318b4987/html5/thumbnails/25.jpg)
AWS&RDSとは
Amazon Web Servicesの略語です
AWS
![Page 26: Osh2014](https://reader033.vdocuments.mx/reader033/viewer/2022060111/55660da6d8b42a06318b4987/html5/thumbnails/26.jpg)
AWS&RDSとは
つまりAmazonが提供するIaaSです
AWS
![Page 27: Osh2014](https://reader033.vdocuments.mx/reader033/viewer/2022060111/55660da6d8b42a06318b4987/html5/thumbnails/27.jpg)
AWS&RDSとは
Relational Database Service
RDS
![Page 28: Osh2014](https://reader033.vdocuments.mx/reader033/viewer/2022060111/55660da6d8b42a06318b4987/html5/thumbnails/28.jpg)
AWS&RDSとは
AWS上でRDBを提供するサービスです
RDS
![Page 29: Osh2014](https://reader033.vdocuments.mx/reader033/viewer/2022060111/55660da6d8b42a06318b4987/html5/thumbnails/29.jpg)
RDS for PostgreSQLとは
RDSでPostgreSQLを構築します
![Page 30: Osh2014](https://reader033.vdocuments.mx/reader033/viewer/2022060111/55660da6d8b42a06318b4987/html5/thumbnails/30.jpg)
RDS for PostgreSQLとは
百聞(100説明)は一見(1デモ)に如かず
![Page 31: Osh2014](https://reader033.vdocuments.mx/reader033/viewer/2022060111/55660da6d8b42a06318b4987/html5/thumbnails/31.jpg)
あじぇんだ
1 自己紹介
2 RDS for PostgreSQLとは
3 RDS for PostgreSQLの使い方
4 データについて
5 まとめ
![Page 32: Osh2014](https://reader033.vdocuments.mx/reader033/viewer/2022060111/55660da6d8b42a06318b4987/html5/thumbnails/32.jpg)
RDS for PostgreSQLの使い方
デモなぅ
![Page 33: Osh2014](https://reader033.vdocuments.mx/reader033/viewer/2022060111/55660da6d8b42a06318b4987/html5/thumbnails/33.jpg)
あじぇんだ
1 自己紹介
2 RDS for PostgreSQLとは
3 RDS for PostgreSQLの使い方
4 データについて
5 まとめ
![Page 34: Osh2014](https://reader033.vdocuments.mx/reader033/viewer/2022060111/55660da6d8b42a06318b4987/html5/thumbnails/34.jpg)
データについて
データの大切なこと
![Page 35: Osh2014](https://reader033.vdocuments.mx/reader033/viewer/2022060111/55660da6d8b42a06318b4987/html5/thumbnails/35.jpg)
データについて
データを消したら元に戻せません
![Page 36: Osh2014](https://reader033.vdocuments.mx/reader033/viewer/2022060111/55660da6d8b42a06318b4987/html5/thumbnails/36.jpg)
データについて
データを消したら元に戻せません
データの変更は大変です
![Page 37: Osh2014](https://reader033.vdocuments.mx/reader033/viewer/2022060111/55660da6d8b42a06318b4987/html5/thumbnails/37.jpg)
データについて
データを消したら元に戻せません
データの変更は大変です
データの追加は可能です
![Page 38: Osh2014](https://reader033.vdocuments.mx/reader033/viewer/2022060111/55660da6d8b42a06318b4987/html5/thumbnails/38.jpg)
データについて
つまりDB設計の新規作成は簡単です
![Page 39: Osh2014](https://reader033.vdocuments.mx/reader033/viewer/2022060111/55660da6d8b42a06318b4987/html5/thumbnails/39.jpg)
データについて
しかしDB設計の変更は大変です
![Page 40: Osh2014](https://reader033.vdocuments.mx/reader033/viewer/2022060111/55660da6d8b42a06318b4987/html5/thumbnails/40.jpg)
データについて
なぜか?
![Page 41: Osh2014](https://reader033.vdocuments.mx/reader033/viewer/2022060111/55660da6d8b42a06318b4987/html5/thumbnails/41.jpg)
データについて
仕様変更の際には
![Page 42: Osh2014](https://reader033.vdocuments.mx/reader033/viewer/2022060111/55660da6d8b42a06318b4987/html5/thumbnails/42.jpg)
データについて
データを消せない
![Page 43: Osh2014](https://reader033.vdocuments.mx/reader033/viewer/2022060111/55660da6d8b42a06318b4987/html5/thumbnails/43.jpg)
データについて
データを消せない
データを変更できない
![Page 44: Osh2014](https://reader033.vdocuments.mx/reader033/viewer/2022060111/55660da6d8b42a06318b4987/html5/thumbnails/44.jpg)
データについて
データを消せない
データを変更できない
データの追加で対応
![Page 45: Osh2014](https://reader033.vdocuments.mx/reader033/viewer/2022060111/55660da6d8b42a06318b4987/html5/thumbnails/45.jpg)
データについて
データを消せない
データを変更できない
データの追加で対応
![Page 46: Osh2014](https://reader033.vdocuments.mx/reader033/viewer/2022060111/55660da6d8b42a06318b4987/html5/thumbnails/46.jpg)
仕様変更の対応について
択一回答
例 Webアンケート
![Page 47: Osh2014](https://reader033.vdocuments.mx/reader033/viewer/2022060111/55660da6d8b42a06318b4987/html5/thumbnails/47.jpg)
仕様変更の対応について
例 Webアンケート
![Page 48: Osh2014](https://reader033.vdocuments.mx/reader033/viewer/2022060111/55660da6d8b42a06318b4987/html5/thumbnails/48.jpg)
仕様変更の対応について
テーブル構造
例 Webアンケート
![Page 49: Osh2014](https://reader033.vdocuments.mx/reader033/viewer/2022060111/55660da6d8b42a06318b4987/html5/thumbnails/49.jpg)
仕様変更の対応について
例 Webアンケート
![Page 50: Osh2014](https://reader033.vdocuments.mx/reader033/viewer/2022060111/55660da6d8b42a06318b4987/html5/thumbnails/50.jpg)
仕様変更の対応について
ここに「択一回答」があるじゃろ?
( ^ω^) ←クライアント
⊃ 択一回答⊂
例 Webアンケート
![Page 51: Osh2014](https://reader033.vdocuments.mx/reader033/viewer/2022060111/55660da6d8b42a06318b4987/html5/thumbnails/51.jpg)
仕様変更の対応について
これを
( ^ω^)
⊃) 択一回答 (⊂
例 Webアンケート
![Page 52: Osh2014](https://reader033.vdocuments.mx/reader033/viewer/2022060111/55660da6d8b42a06318b4987/html5/thumbnails/52.jpg)
仕様変更の対応について
こうして…
( ^ω^)
≡⊃⊂≡
例 Webアンケート
![Page 53: Osh2014](https://reader033.vdocuments.mx/reader033/viewer/2022060111/55660da6d8b42a06318b4987/html5/thumbnails/53.jpg)
仕様変更の対応について
こうじゃ…
( ^ω^)
⊃ 複数回答 ⊂
例 Webアンケート
![Page 54: Osh2014](https://reader033.vdocuments.mx/reader033/viewer/2022060111/55660da6d8b42a06318b4987/html5/thumbnails/54.jpg)
仕様変更の対応について
例 Webアンケート
![Page 55: Osh2014](https://reader033.vdocuments.mx/reader033/viewer/2022060111/55660da6d8b42a06318b4987/html5/thumbnails/55.jpg)
仕様変更の対応について
どのように対応するか
例 Webアンケート
![Page 56: Osh2014](https://reader033.vdocuments.mx/reader033/viewer/2022060111/55660da6d8b42a06318b4987/html5/thumbnails/56.jpg)
仕様変更の対応について
対応 1
CSV区切りで入れる
例 Webアンケート
![Page 57: Osh2014](https://reader033.vdocuments.mx/reader033/viewer/2022060111/55660da6d8b42a06318b4987/html5/thumbnails/57.jpg)
仕様変更の対応について
例 Webアンケート
![Page 58: Osh2014](https://reader033.vdocuments.mx/reader033/viewer/2022060111/55660da6d8b42a06318b4987/html5/thumbnails/58.jpg)
仕様変更の対応について
問題点
検索が難しい
例 Webアンケート
![Page 59: Osh2014](https://reader033.vdocuments.mx/reader033/viewer/2022060111/55660da6d8b42a06318b4987/html5/thumbnails/59.jpg)
仕様変更の対応について
問題点
検索が難しい
集計が難しい
例 Webアンケート
![Page 60: Osh2014](https://reader033.vdocuments.mx/reader033/viewer/2022060111/55660da6d8b42a06318b4987/html5/thumbnails/60.jpg)
仕様変更の対応について
問題点
検索が難しい
集計が難しい
更新が難しい
例 Webアンケート
![Page 61: Osh2014](https://reader033.vdocuments.mx/reader033/viewer/2022060111/55660da6d8b42a06318b4987/html5/thumbnails/61.jpg)
仕様変更の対応について
対応 2
選択肢の数だけカラムを増やす
例 Webアンケート
![Page 62: Osh2014](https://reader033.vdocuments.mx/reader033/viewer/2022060111/55660da6d8b42a06318b4987/html5/thumbnails/62.jpg)
仕様変更の対応について
例 Webアンケート
![Page 63: Osh2014](https://reader033.vdocuments.mx/reader033/viewer/2022060111/55660da6d8b42a06318b4987/html5/thumbnails/63.jpg)
仕様変更の対応について
問題点
項目追加の度に列が増える
例 Webアンケート
![Page 64: Osh2014](https://reader033.vdocuments.mx/reader033/viewer/2022060111/55660da6d8b42a06318b4987/html5/thumbnails/64.jpg)
仕様変更の対応について
問題点
項目追加の度に列が増える
データの可読性の低下
例 Webアンケート
![Page 65: Osh2014](https://reader033.vdocuments.mx/reader033/viewer/2022060111/55660da6d8b42a06318b4987/html5/thumbnails/65.jpg)
仕様変更の対応について
問題点
項目追加の度に列が増える
データの可読性の低下
データの整合性を担保するのが難しい
例 Webアンケート
![Page 66: Osh2014](https://reader033.vdocuments.mx/reader033/viewer/2022060111/55660da6d8b42a06318b4987/html5/thumbnails/66.jpg)
仕様変更の対応について
アンチSQLパターン
例 Webアンケート
![Page 67: Osh2014](https://reader033.vdocuments.mx/reader033/viewer/2022060111/55660da6d8b42a06318b4987/html5/thumbnails/67.jpg)
仕様変更の対応について
![Page 68: Osh2014](https://reader033.vdocuments.mx/reader033/viewer/2022060111/55660da6d8b42a06318b4987/html5/thumbnails/68.jpg)
仕様変更の対応について
DBに関する設計のアンチパターン
SQLアンチパターンとは
![Page 69: Osh2014](https://reader033.vdocuments.mx/reader033/viewer/2022060111/55660da6d8b42a06318b4987/html5/thumbnails/69.jpg)
仕様変更の対応について
※ただしMySQLベース
SQLアンチパターンとは
![Page 70: Osh2014](https://reader033.vdocuments.mx/reader033/viewer/2022060111/55660da6d8b42a06318b4987/html5/thumbnails/70.jpg)
仕様変更の対応について
ですが多くのRDBに共通します
SQLアンチパターンとは
![Page 71: Osh2014](https://reader033.vdocuments.mx/reader033/viewer/2022060111/55660da6d8b42a06318b4987/html5/thumbnails/71.jpg)
仕様変更の対応について
SQLアンチパターン
![Page 72: Osh2014](https://reader033.vdocuments.mx/reader033/viewer/2022060111/55660da6d8b42a06318b4987/html5/thumbnails/72.jpg)
仕様変更の対応について
例1) ジェイ・ウォーク
SQLアンチパターン
![Page 73: Osh2014](https://reader033.vdocuments.mx/reader033/viewer/2022060111/55660da6d8b42a06318b4987/html5/thumbnails/73.jpg)
仕様変更の対応について
例1) ジェイ・ウォーク
例2)メタデータトリブル
SQLアンチパターン
![Page 74: Osh2014](https://reader033.vdocuments.mx/reader033/viewer/2022060111/55660da6d8b42a06318b4987/html5/thumbnails/74.jpg)
データについて
データを消せない
データを変更できない
データの追加で対応
![Page 75: Osh2014](https://reader033.vdocuments.mx/reader033/viewer/2022060111/55660da6d8b42a06318b4987/html5/thumbnails/75.jpg)
仕様変更の対応について
データが積み重なってしまうと
後から変更が難しい
SQLアンチパターン
![Page 76: Osh2014](https://reader033.vdocuments.mx/reader033/viewer/2022060111/55660da6d8b42a06318b4987/html5/thumbnails/76.jpg)
データについて
どんなにきれいなコードでも
データが汚いとリファクタリングや運用が大変
![Page 77: Osh2014](https://reader033.vdocuments.mx/reader033/viewer/2022060111/55660da6d8b42a06318b4987/html5/thumbnails/77.jpg)
仕様変更の対応について
対応 3
正規化する
例 Webアンケート
![Page 78: Osh2014](https://reader033.vdocuments.mx/reader033/viewer/2022060111/55660da6d8b42a06318b4987/html5/thumbnails/78.jpg)
仕様変更の対応について
![Page 79: Osh2014](https://reader033.vdocuments.mx/reader033/viewer/2022060111/55660da6d8b42a06318b4987/html5/thumbnails/79.jpg)
仕様変更の対応について
最初から正規化していえば両対応
![Page 80: Osh2014](https://reader033.vdocuments.mx/reader033/viewer/2022060111/55660da6d8b42a06318b4987/html5/thumbnails/80.jpg)
仕様変更の対応について
集合でデータを表現する
![Page 81: Osh2014](https://reader033.vdocuments.mx/reader033/viewer/2022060111/55660da6d8b42a06318b4987/html5/thumbnails/81.jpg)
仕様変更の対応について
変更に強くなる
![Page 82: Osh2014](https://reader033.vdocuments.mx/reader033/viewer/2022060111/55660da6d8b42a06318b4987/html5/thumbnails/82.jpg)
仕様変更の対応について
PostgreSQLには別のアプローチがあります
![Page 83: Osh2014](https://reader033.vdocuments.mx/reader033/viewer/2022060111/55660da6d8b42a06318b4987/html5/thumbnails/83.jpg)
仕様変更の対応について
対応 4
配列型
例 Webアンケート
![Page 84: Osh2014](https://reader033.vdocuments.mx/reader033/viewer/2022060111/55660da6d8b42a06318b4987/html5/thumbnails/84.jpg)
仕様変更の対応について
![Page 85: Osh2014](https://reader033.vdocuments.mx/reader033/viewer/2022060111/55660da6d8b42a06318b4987/html5/thumbnails/85.jpg)
仕様変更の対応について
配列型
例 Webアンケート
![Page 86: Osh2014](https://reader033.vdocuments.mx/reader033/viewer/2022060111/55660da6d8b42a06318b4987/html5/thumbnails/86.jpg)
仕様変更の対応について
配列型
INDEXが効く
例 Webアンケート
![Page 87: Osh2014](https://reader033.vdocuments.mx/reader033/viewer/2022060111/55660da6d8b42a06318b4987/html5/thumbnails/87.jpg)
仕様変更の対応について
配列型
INDEXが効く
柔軟な検索
例 Webアンケート
![Page 88: Osh2014](https://reader033.vdocuments.mx/reader033/viewer/2022060111/55660da6d8b42a06318b4987/html5/thumbnails/88.jpg)
仕様変更の対応について
配列型
INDEXが効く
柔軟な検索
任意の更新も出来る
例 Webアンケート
![Page 89: Osh2014](https://reader033.vdocuments.mx/reader033/viewer/2022060111/55660da6d8b42a06318b4987/html5/thumbnails/89.jpg)
仕様変更の対応について
銀の弾丸ではない
![Page 90: Osh2014](https://reader033.vdocuments.mx/reader033/viewer/2022060111/55660da6d8b42a06318b4987/html5/thumbnails/90.jpg)
あじぇんだ
1 自己紹介
2 RDS for PostgreSQLとは
3 RDS for PostgreSQLの使い方
4 データについて
5 まとめ
![Page 91: Osh2014](https://reader033.vdocuments.mx/reader033/viewer/2022060111/55660da6d8b42a06318b4987/html5/thumbnails/91.jpg)
まとめ
RDS for Postgresはすぐ出来る
![Page 92: Osh2014](https://reader033.vdocuments.mx/reader033/viewer/2022060111/55660da6d8b42a06318b4987/html5/thumbnails/92.jpg)
まとめ
DB設計は大事
![Page 93: Osh2014](https://reader033.vdocuments.mx/reader033/viewer/2022060111/55660da6d8b42a06318b4987/html5/thumbnails/93.jpg)
RDS for PostgreSQLの使い方
このデモの詳細はこちらにまとめてあります
AWSのPostgreSQL(RDS)を
使えるようになるまでの手順
http://soudai1025.blogspot.jp/2014/01/awspostgresqlrds.html
![Page 94: Osh2014](https://reader033.vdocuments.mx/reader033/viewer/2022060111/55660da6d8b42a06318b4987/html5/thumbnails/94.jpg)
Postgresの使い方について
このデモの詳細はこちらにまとめてあります
Webアプリケーションを作るときに
知ってると嬉しいPostgreSQLの使い方
http://soudai1025.blogspot.jp/2013/12/webpostgresql.html
![Page 95: Osh2014](https://reader033.vdocuments.mx/reader033/viewer/2022060111/55660da6d8b42a06318b4987/html5/thumbnails/95.jpg)
DBを極めるには
沢山の設計を見る
![Page 97: Osh2014](https://reader033.vdocuments.mx/reader033/viewer/2022060111/55660da6d8b42a06318b4987/html5/thumbnails/97.jpg)
まとめ
良い環境は良い素質を育てる
![Page 98: Osh2014](https://reader033.vdocuments.mx/reader033/viewer/2022060111/55660da6d8b42a06318b4987/html5/thumbnails/98.jpg)
ご静聴ありがとうございました。