====== Chương trình đào tạo lập trình viên NukeViet ====== Chương trình đào tạo dành cho học viên đã có kiến thức sơ bộ về HTML, CSS và PHP, Javascript. Chương trình đào tạo dựa trên làm dự án thiệt ===== Các phần mềm cần thiết ===== Để phục vụ cho khóa học, các bạn học viên cài đặt các phần mềm sau. Nếu chưa có tài khoản tại https://github.com/ các bạn cần đăng ký 1 tài khoản * Java SE Development Kit 11: [[https://www.oracle.com/java/technologies/javase-jdk11-downloads.html]] * Cài đặt Git SCM: [[http://msysgit.github.io/]] * Eclipse IDE for PHP Developers: [[https://www.eclipse.org/downloads/packages/release/2020-09/r/eclipse-ide-php-developers]] (Hoặc có 1 trình soạn thảo để sửa file) * Tham khảo cấu hình eclipse: [[https://wiki.nukeviet.vn/programming:nvtools:eclipse]] * Cài đặt Notepate++: [[https://notepad-plus-plus.org/downloads/]] * Cài đặt webserver Nên sử dụng XAMPP 7.3.23 / PHP 7.3.23 [[https://www.apachefriends.org/download.html]] có hướng dẫn tại: [[https://wiki.nukeviet.vn/web_server:xampp]] * Download và cài đặt NukeViet 4.4 Từ [[https://github.com/nukeviet/nukeviet/releases/download/4.4.02/nukeviet4.4.02setup.zip]] * Hướng dẫn cài đặt: [[https://wiki.nukeviet.vn/nukeviet4:setup:localhost]] ===== Yêu cầu kiến thức ===== Kiến thức tổng quan về HTML 5 & CSS 3 * Hiểu và sử dụng được các thẻ: title, h1, h2…, p, div, ul, li, p, span, a, table, form… * Các thuộc tính: background, color, margin, padding, border, height, width, font, text, position, box, overflow, transform... Kiến thức nền tảng về PHP cơ bản * Biến và khai báo biến * Câu lệnh điều khiển và vòng lặp trong PHP * Mảng và các hàm xử lý mảng * Chuỗi và hàm xử lý chuỗi * Các hàm xử lý thời gian * Phương thức gửi và nhận dữ liệu trong PHP * Cookie, Session trong ngôn ngữ lập trình PHP Kiến thức về MySQL cơ bản * Kỹ năng cơ bản về sử dụng các câu lệnh INSERT, DELETE, UPDATE, INNER JOIN, WHERE, ORDER BY trong MySQL * Kỹ năng nâng cao về việc sử dụng các câu lệnh TRUNCATE, HAVING, GROUP BY, BETWEEN, IN (nâng cao càng tốt). Kiến thức và sử dụng bootstrap ===== Tổng quan về NukeViet ===== [[training:about|Giới thiệu lịch sử hình thành và phát triển NukeViet]] ===== Tổng quan về Git ===== [[training:about-git|Làm quen với Git]] ===== Lập trình module NukeViet ===== **Nội dung đào tạo**: Chương trình đào tạo dựa trên thực hiện dự án về lập trình module thực tế cho NukeViet [[training:install-nukeviet|Cài đặt NukeViet trên localhost]] ====Chương trình đào tạo==== - [[training:desgin-database|Các lưu ý khi thiết kế cơ sở dữ liệu SQL và PHP ]] - [[training:git|Giới thiệu các bài học về git]] - [[training:create-module|Giới thiệu cấu trúc module & cách tạo module đơn giản]] - [[training:request-module|Hướng dẫn tạo Form, sử dụng lớp request trong việc lấy biến, Xử lý dữ liệu]] - [[training:func-module|Hướng dẫn viết tính năng thêm và hiển thị danh sách dữ liệu của module.]] - [[training:func-edit-module|Hướng dẫn viết tính năng sửa và hiển thị dữ liệu cần sửa của module.]] - [[training:func-delete-module|Hướng dẫn viết tính năng xóa, phân trang trong module.]] - [[training:func-upload-module|Hướng dẫn sử dụng lớp upload, image để xử lý việc upload file, image lên hệ thống]] - [[training:func-other-module|Viết các chức năng ngoài site của module]] - [[https://www.youtube.com/watch?v=D5hG-kbdnfw|Hướng dẫn đổi tên module NukeViet 4]] - [[training:func-cache|Hướng dẫn lập trình Cache trên NukeViet4]] - [[https://www.youtube.com/watch?v=V_Ej1FRx6Pw|Xử lý URL friendly cho NukeViet]] ===== Cắt ghép giao diện NukeViet ===== **Nội dung đào tạo**: Chương trình đào tạo dựa trên thực hiện dự án về cắt ghép giao diện thực tế cho NukeViet. ====Chương trình đào tạo==== - [[training:template-nukeviet|Giới thiệu cấu trúc thư mục template NukeViet]] - [[training:template-copy-nukeviet|Hướng dẫn copy themes mặc định & bỏ các file chưa sử dụng đến]] - [[training:template-block-nukeviet|Hướng dẫn lập trình các khối block của giao diện]] - [[training:nukeviet-docker|Hướng dẫn cài đặt Nukeviet trên docker]]