# Growi 概論
- 目的 
- 議題
- 進め方

# 目的
- Growi Master を目指す。
- Growi Document の完成。


# 議題
- その週に最も苦戦したタスク。
- 現在進行形で苦戦しているタスク。


# 進め方

- 時間 10 分以内。
- モニターに接続して発表する。
  - 最終到達点の説明（実際の before / after があると良い。）
  - それに対するアプローチ。
    - どのように攻略したか？ 
  - 途中躓いた箇所。  
    - その対応  
  - Pull Request でどのように要求されたか。
    - その対応
    - 最終的にコードの説明

- 質疑応答（あれば）
  - 即答する必要はない。
    - わかる => 回答する 
    - わからない => fb として自分で消化する。  
    　　-　わかった！=> fb してくれた人に回答する。  
    　　-　わからないまま... =>  Hint をもらいに行く。 


# 例

- 議題 
  - gw-2758 
  - Attachment.js に validation を追加する。

- 最終到達地点 (server 上のログ できちんと validation がされている)
  ![validation.png](/attachment/5f59f85d345e7d0048b20491)
  
- どうアプローチしたか？
  - 他のvalidation を参考にした。
  - 参考にしたところ。
    - revision.js apiv3

- つまづいた箇所
  - isInt() と isNumeric() の違いに気づいていなかった。
  - limit(アイテムを何個まで見せるか？の制限数) を使用するとき、当初 min: 0 としていたが、表示制限を設定するとき ここを 0 とするのはおかしい。
    - 理由は、そのページを見たいのに、0 を許容してしまうと、見れないことになる可能性が出てしまうから。
 
- 勉強になったところ
  - withMessage() は本当に説明が要るときだけでよい。
  - isMongoId() を使用する理由。
    - 当初 .exist() を使用していたが、**存在するだけ**で通しても、あとで結局 Id の照合があるので、ここで弾く方がよいから。





---

## Page Navigation

- Canonical URL: https://dev.growi.org/GROWI勉強会/概要
- Permalink: https://dev.growi.org/5fe021106eed7d0049f58561
- Parent: [GROWI勉強会](/5f5618e73492a1004820cf51.md)
- Children: 0 total
- Total descendants: 0
- Siblings: 8 total
  - [20200911](/5f5619083492a1004820cf56.md)
  - [20200923](/62a71cdfb1519362cc276209.md)
  - [20201005](/5f9998ea9d9ead0049f0ab69.md)
  - [20201027](/62a71cdeb1519362cc2761e7.md)
  - [20201110](/5f9999e09d9ead0049f0ab6e.md)
  - [20201124](/62a71cdfb1519362cc27620b.md)
  - [20201208](/5fe0237b6eed7d0049f5861a.md)
  - [Agendas](/62a71cdeb1519362cc2761eb.md)
- Last updated: 2020-12-23T04:21:09.298Z by itizawa
- Full page listing (all children regardless of count): https://dev.growi.org/_api/v3/page-listing/children?id=5fe021106eed7d0049f58561
