Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Phucngo/issue 1 #3

Open
wants to merge 2 commits into
base: master
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
123 changes: 90 additions & 33 deletions readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,12 +17,12 @@ dự án thật của công ty hay cân nhắc tuyển dụng các bạn có k
### Outline.
* Tuần 1: sinh viên sẽ tìm hiểu về PHP cơ bản và PHP dùng trong web.

* Tuần 2: sẽ hướng dẫn các bạn xây dựng 1 framework MVC cở bản bằng PHP và xây dựng 1 blog nhỏ trên
* Tuần 2: sẽ hướng dẫn các bạn xây dựng 1 framework MVC bản bằng PHP và xây dựng 1 blog nhỏ trên
Framework vừa xây dựng.

* Tuần 3 bắt đầu tìm hiếu về laravel cở bản.
* Tuần 3 bắt đầu tìm hiểu về laravel bản.

* Tuần 4 trở đi vẫn tìm hiều về laravel và bắt đầu làm project thứ 2 về xây dựng 1 trang chia sẻ, đánh giá
* Tuần 4 trở đi vẫn tìm hiểu về laravel và bắt đầu làm project thứ 2 về xây dựng 1 trang chia sẻ, đánh giá
Ebook.

* Phần Mysql, Html, CSS, JS sẽ được các mentor giới thiệu xen vào các tuần training mà không có 1 thời gian
Expand All @@ -33,7 +33,25 @@ không nhất thiết phải theo outline trên 1 cách máy móc. Nếu mentor
thì có thể lựa chọn các phần bắt đầu phù hợp tương ứng **

----
### Cách thức đánh giá kết quả training.

1. Đánh giá đối với sinh viên.

* Sau khi sinh viên hoàn thành xong tuần 2 thì mentor sẽ tiến hành phỏng vấn trực tiếp sinh viên để kiểm tra và đánh giá
các kiến thức sinh viên cần nắm được.

* Các sinh viên pass vòng đánh giá này thì sẽ tiếp tục tham gia training phần 2 về framework.

* Các sinh viên chưa đạt thì sẽ cho 1 tuần tự review lại các kiến thức cần nắm được trong đợt training 1.
Nếu sau 1 tuần này mà vẫn ko có nhiều tiến bộ thì có thể phải xem xét kết thúc thực tập.

2. Với team Mentor.

Để liên tục cải thiện chương trình training của công ty thì sau mỗi đợt training team mentor sẽ tiến hành họp đánh giá
lại chương trình training hiện tại và tiến hành chỉnh sửa cho phù hợp nếu cần thiết.


----
## Content.
Phần này sẽ list ra các mục sinh viên cần tìm hiểu và nắm được.

Expand All @@ -49,15 +67,23 @@ hoặc đưa thêm các tài liệu khác sao cho phù hợp là được.

1. [Tutorialrepublic](https://www.tutorialrepublic.com/php-tutorial/)
2. [TutorialPoint](https://www.tutorialspoint.com/php/)
3. [MySqlTutorial](http://www.mysqltutorial.org)

#### Basic PHP. (1 buổi)
1. Cài đặt môi trường thực hành và cách chạy 1 trương trình php từ môi trường thực hanh.
1. Cài đặt môi trường thực hành và cách chạy 1 chương trình php từ môi trường thực hanh.
Lựa chọn cách đơn giản cho các bạn sinh viên nhất, tránh việc cài đặt môi trường thực hành phức tạp ảnh hưởng đến motivation của sinh viên).

Trong 2 tuần đầu sinh viên chỉ nên dùng PHP commandline nên mentor sẽ giới thiệu cho sinh viên về cài đặt và sử dụng môi trường thực hành.

* Giới thiệu về cài đặt, cách dùng php command line và XAMPP.

* Đưa thêm tài liệu hay link giới thiệu về Linux, và cách dựng 1 môi LAMP, LEMP trên linux dùng vagrant hay Docker.

* Giới thiệu về debug cơ bản.


2. Cấu trúc 1 file và syntax trong PHP.

3. bến (variable) và cách khai báoc.
3. Biến (variable) và cách khai báo.

4. Các kiểu dữ liệu cơ bản trong PHP (scale types, collection types)

Expand All @@ -69,9 +95,9 @@ hoặc đưa thêm các tài liệu khác sao cho phù hợp là được.

8. Variable Scope.

9. Trương trình dụng nhiều file PHP.
9. Chương trình sử dụng nhiều file PHP.

#### PHP Intermediate (2 buổi).
#### PHP Intermediate (3 buổi).

1. Class.

Expand Down Expand Up @@ -104,7 +130,7 @@ hoặc đưa thêm các tài liệu khác sao cho phù hợp là được.
15. Date time.


#### PHP Dùng trong web (1 buổi).
#### PHP Dùng trong web (2-3 buổi).
1. HTTP Requests and PHP $_GET, $_POST.

2. PHP form data
Expand All @@ -115,14 +141,40 @@ hoặc đưa thêm các tài liệu khác sao cho phù hợp là được.

5. Upload file.

6. PHP database (PDO).
6. Basic MySql and PHP PDO.

Tài liệu tham khảo. [MySqlTutorial](http://www.mysqltutorial.org)

Các phần cần nắm được trong phần này.

* Cài đặt và cách truy cập vào mysql qua tool và command line.

* Các dữ liệu cơ bản.

* Cách tạo database, table.

* Thêm dữ liệu vào bảng.

* Update dữ liệu.

* Xóa dữ liêu.

* Lấy dữ liệu (Query).
* Filter dữ liệu theo điều kiên.
* Limit kết quả lấy ra.
* Sắp xếp kết quả lấy ra.
* Group kết quả.
* Lấy dữ liệu từ nhiều bảng dùng join.

* Cách thao tác database dùng PHP (PDO).


#### Advanced PHP (Phần này list ra các phần cho sinh viên tự tìm hiểu thêm)
1. PHP Standard Libraries.
* Tìm hiểu về các hàm, class trong php để thao tác với array, datatime, file, ...,

2. Design Pattern.
* Tìm hiểu về design pattern và các implement 1 số pattern dùng PHP.
* Tìm hiểu về design pattern và cách implement 1 số pattern dùng PHP.

#### PHP Package Manager (Composer)
1. Cài đặt composer.
Expand All @@ -135,15 +187,16 @@ hoặc đưa thêm các tài liệu khác sao cho phù hợp là được.
----

### Tuần 2.
Hướng sinh viện xây dựng 1 framework MVC cơ bản để sinh viên hiểu được MVC pattern rất hay dung trong

Hướng sinh viện xây dựng 1 framework MVC cơ bản để sinh viên hiểu được MVC pattern rất hay dùng trong
làm WEB, hiểu và nắm được các thành phần của web để khi tiếp cận các framework khác hay học framework
mới sẽ rễ hiểu và đơn giản hơn.
mới sẽ dễ hiểu và đơn giản hơn.

Tài liệu training có thể tham khảo ở đây.

[Simple PHP MVC Framework](https://github.com/phuc-ngo/php-simple-mvc)

Tài liêu Tham khảo về design pattern
Tài liệu tham khảo về design pattern

1. [Source Making](https://sourcemaking.com/design_patterns)
2. [Original Design Pattern Book](https://www.amazon.com/Design-Patterns-Object-Oriented-Addison-Wesley-Professional-ebook/dp/B000SEIBB8)
Expand Down Expand Up @@ -185,33 +238,38 @@ Yêu cầu của framework build cần có.
Các yêu cầu thêm không bắt buộc.

* Encrypt cookie, session.
* Thử tích hợp các component/libraries khác vào framework vừa build (vd: tích hợp laravel eloquent ORM, hay validator, ...)

Nếu còn thời gian sẽ cho sinh viên xây dựng 1 blog CRUD đơn giản trên framework vừa xây dựng.
* Thử tích hợp các component/libraries khác vào framework vừa build
(vd: tích hợp laravel eloquent ORM, hay validator, ...)

Nếu còn thời gian sẽ cho sinh viên xây dựng 1 blog CRUD đơn giản trên framework vừa xây dựng gồm các chức năng.
* Basic Register/Login.
* List blog post.
* CRUD.

----

Từ tuần 3 sinh viên sẽ chuyển sang tìm hiểu về framework laravel. Yêu cầu là sinh viên phải học qua và nắm được
các kiến thức cở bản trong phần training 1. Nếu bạn nào chưa nắm vững thì cho tự tìm hiểu lại và thời gian sẽ rút xuống 1/2 nghĩa là còn 1 tuần cho
các kiến thức bản trong phần training 1. Nếu bạn nào chưa nắm vững thì cho tự tìm hiểu lại và thời gian sẽ rút xuống 1/2 nghĩa là còn 1 tuần cho
việc review phần 1.

### Tuần 3:

Tài liệu training larvel cũng dựa vào các đề muc cần tìm hiểu và tìm hiểu ở các trang dứoi đây hay mentor có thể dùng các tài liệu khác phù hơp.
Tài liệu training larvel cũng dựa vào các đề mục cần tìm hiểu và tìm hiểu ở các trang dứoi đây hay mentor có thể dùng các tài liệu khác phù hợp.

1. Web:
* [Larvel Official Documentation](https://laravel.com/docs/5.5)
* [Laravel documentation tiếng việt](http://giaphiep.com/docs/5.3/installation)

2. Ebook:
* [Beginning Laravel A beginners guide to application development with Laravel](http://www.apress.com/br/book/9781484225370)
* [Matt Stauffer Laravel Up and Running A Framework for Building Modern PHP Apps](http://shop.oreilly.com/product/0636920044116.do)
* [Laravel Up and Running A Framework for Building Modern PHP Apps](http://shop.oreilly.com/product/0636920044116.do)

#### Laravel basic. (2 buổi)
1. Cài đặt môi trường phát triển dùng vagrant hoặc docker nếu môi trường ở phần training 1 không chạy được
laravel.

2. Các tạo 1 project laravel.
2. Cách tạo 1 project laravel.

3. Tìm hiểu về files/folders structure của 1 project laravel.

Expand Down Expand Up @@ -242,26 +300,25 @@ Tài liệu training larvel cũng dựa vào các đề muc cần tìm hiểu v
#### Laravel Advanced. (Phần này sẽ cân nhắc để sinh viên tự tìm hiểu rồi viết báo cáo hay sẽ training)
1. Tìm hiểu về Authentication & Authorization.

2. Cache.

4. Cache.
3. Queue

5. Queue
4. Restful API and webservice.

6. Restful API and webservice.
5. Eloquent Relations and (N+1) problem in ORM relation.

7. Eloquent Relations and (N+1) problem in ORM relation.
6. Query Builder, Scope, ...

9. Query Builder, Scope, ...
7. Middleware, Contract, Facade.

8. Middleware, Contract, Facade.
8. Event, Broadcasting

10. Event, Broadcasting

11. Task & Scheduling
9. Task & Scheduling


### Tuần 4.
Từ tuần này sinh viên vẫn tiếp tục học laravel và kết hợp làm project cuối. đự định cho làm 1 trang chia sẽ và đánh giá ebook gồm các chức năng.
Từ tuần này sinh viên vẫn tiếp tục học laravel và kết hợp làm project cuối. Dự định cho làm 1 trang chia sẻ và đánh giá ebook gồm các chức năng.

* Trang chủ list ra các ebook đã được chia sẻ, thông tin tóm tắt về sách như:
* Tên sách.
Expand All @@ -279,10 +336,11 @@ Từ tuần này sinh viên vẫn tiếp tục học laravel và kết hợp là
* Cho phép sort theo lượng rating, hay lượng comment.
* Có trang quản lý của user nếu đang nhập cho phép thêm sửa xoá, ẩn,...,.
* Có trang quản lý của hệ thống để thống kê và quản lý sách của tất cả các user gồm xoá sách, band user,...

* Các chức năng sẽ họp với team training để thông nhất spec và wireframe sau.

** Yêu cầu khi làm project thì sinh viên sẽ phải tạo nhóm thảo luận spec, đưa ra giải pháp, thiế kế DB, project structure


** Yêu cầu khi làm project thì sinh viên sẽ phải tạo nhóm thảo luận spec, đưa ra giải pháp, thiết kế DB, project structure
Rồi họp với mentor trước khi bắt đầu làm. Làm project thì có thể cho làm theo nhóm hay làm cá nhân tuỳ theo mentor quyết định
nhưng họp thảo luận phần tích spec và solution nên khuyến khích các bạn làm theo nhóm**

Expand All @@ -292,4 +350,3 @@ nhưng họp thảo luận phần tích spec và solution nên khuyến khích c
LICENSE: MIT.

This document is under MIT license, feels free to fork or send me MR for improvement,...,