4. HOCTUDAU.COM DANG MINH TUAN
2 chiến lược? bạn chọn cách nào?
1. Đào sâu kiến thức PHP đang có
2. Mở rộng sang kiến thức khác (không phải
PHP)
3. Hay cả 2?
5. HOCTUDAU.COM DANG MINH TUAN
Who am I?
Đặng Minh Tuấn
● www.ddth.com/member.php/51960-zmt264
● linkhay.com/u/ohisee
● www.facebook.com/dangminhtuan
● www.youtube.com/hoctudau
● hoctudau.com
Diễn giả PHP Day nhiều năm:
● 2008: HTML, CSS, JS Best Practices
● 2009: HTML, CSS Trends
● 2010: HTML5, CSS3, JS
● 2012: Javascript for PHP Developer
6. 1. Đào sâu kiến thức PHP đang có =>
vấn đề: hơi mạo hiểm
2. Mở rộng sang kiến thức khác
(không phải PHP) => vấn đề: biết
rộng nhưng nông
3. Cả 2 => vấn đề: tốn thời gian
Tôi chọn chiến lược nào?
7. HOCTUDAU.COM DANG MINH TUAN
PHP Day 2012: HTML, CSS, JS...
Tôi chọn giải pháp an toàn:
● học rộng và vững nền tảng web
Tại sao tiêu đề ban đầu lại là:
● Power your PHP Skill?
Một số tiêu đề tôi từng nghĩ:
● Power your Web Skill?
● Web Developer - Survival Tips
● PHP Developer - Overcome 2012
8. HOCTUDAU.COM DANG MINH TUAN
Lý thuyết hay ví dụ trước?
1. Trình bầy những thứ nên học rồi mới đến ví
dụ về những tấm gương thành công vì đi
theo con đường đó?
2. Hay là kể về các tấm gương trước rồi đến
những thứ nên học sau?
9. HOCTUDAU.COM DANG MINH TUAN
Tấm gương
● Đào Công Văn: mobile app
● Đỗ Xuân Tiến: freelancer team
● Phan Thành Công: freelance
● Mai Duy Quang: startup
● Phan Văn Đạt: award
● Mark Zuckerbug: Facebook
10. HOCTUDAU.COM DANG MINH TUAN
Các nền tảng cần học
Nền tảng client side:
● HTML, CSS, JS, jQuery
Nền tảng server side
● PHP
Nền tảng SQL
● MySQL
11. HOCTUDAU.COM DANG MINH TUAN
Tại sao lại là HTML, CSS, JS?
Tại sao lập trình viên PHP nên bỏ thêm thời
gian cho HTML, CSS, JS?
● buộc phải biết do nhu cầu làm việc
● dễ tiếp cận
● làm được nhiều việc, mở ra nhiều cơ hội
● thú vị, luyện trí óc, luyện cách học
● an toàn, không cần phải từ bỏ PHP, vẫn
phối hợp tốt với PHP
● dễ làm freelance hoặc one-man project.
12. HOCTUDAU.COM DANG MINH TUAN
HTML, CSS, JS có thể làm gì?
Dựng (render) web ở client-side
=> Lập trình viên PHP buộc phải biết, và
giỏi thì càng tốt
13. HOCTUDAU.COM DANG MINH TUAN
HTML, CSS, JS có thể làm gì?
Một số ứng dụng:
● Web Application: Game trên nền web
● Browser (Google Chrome, Firefox ... )
Extension
● Google Script: Enterprise Application
Essentials (Google Forms, Spreadsheet...)
14. HOCTUDAU.COM DANG MINH TUAN
HTML, CSS, JS có thể làm gì?
Mobile Application
Firefox OS
15. HOCTUDAU.COM DANG MINH TUAN
HTML, CSS, JS có thể làm gì?
Desktop Application
16. HOCTUDAU.COM DANG MINH TUAN
HTML, CSS, JS có thể làm gì?
Google Chrome Packaged Applications
(Desktop Application)
17. HOCTUDAU.COM DANG MINH TUAN
HTML, CSS, JS có thể làm gì?
Thậm chí có áp dụng ở server-side
Node.js: Event-driven I/O server-
side JavaScript environment based
on V8.
Node.js is something that PHP
developers in general should learn.
It's easy (assuming you've done at
least a bit of JavaScript) and it's
useful.
18. HOCTUDAU.COM DANG MINH TUAN
HTML, CSS, JS là chủ đề hot
HTML5, CSS3
Hot ngay ở các hội thảo PHP hàng năm ở Việt
Nam và trên thế giới .
20. HOCTUDAU.COM DANG MINH TUAN
Hỏi xoáy, đáp xoay HTML:
thẻ <b> và thẻ <strong> giống và khác nhau ra
sao?
21. HOCTUDAU.COM DANG MINH TUAN
Kiến thức CSS cần biết
● CSS Selector: là cách dùng CSS tác động đến một
phần tử HTML, quan trọng và phổ biến nhất là
cascading selector.
● CSS Decoration: trang trí màu sắc, kích thước chữ ...
● CSS Box Model & Default CSS (& CSS Reset): khái
niệm về width, height, margin, padding ... và CSS mặc
định (default)
● CSS Float and Clear: để định vị phần tử
● CSS Position: một cách khác để định vị phần tử
● CSS Frameworks & CSS preprocessors
● CSS3
● Quick Editing: ZenCSS (ZenCoding)
22. HOCTUDAU.COM DANG MINH TUAN
Hỏi xoáy, đáp xoay CSS:
nêu CSS mặc định của phần tử h1 trong một
trình duyệt bất kỳ?
23. HOCTUDAU.COM DANG MINH TUAN
Kiến thức về Javascript cần biết
● JS & DOM: các hàm cơ bản về DOM: getElementById,
getElementsByTagName ... DOM tree: parent, child
● JS & HTML Attribute & Style: .id, .style ... (cái này
thực ra cũng là một phần của DOM mà tôi tách riêng ra
để nhấn mạnh sự phổ biến của nó)
● JS Events & Unobstrusive Javascript
● JS Frameworks: jQuery,...
● JS Animation
24. HOCTUDAU.COM DANG MINH TUAN
Hỏi xoáy, đáp xoay Javascript:
Hãy thêm sự kiện click vào nút bấm mà không dùng onlick
26. HOCTUDAU.COM DANG MINH TUAN
Kiến thức về jQuery cần biết
● CSS Selector: vì cách chọn phần tử của jQuery và
CSS giống hệt nhau
● Kiến thức Javascrip căn bản: Biến, lệnh điều kiện,
vòng lặp, vì jQuery cũng là Javascript
● jQuery & DOM: các hàm liên quan đến DOM của
jQuery như: next() ...
● jQuery & animation: các hàm liên quan đến điều khiển
chuyển động của jQuery
● jQuery & UI: jQueryUI, thư viện hỗ trợ giao diện chính
thức của jQuery
● jQuery Plugin: cách tìm, dùng ... Plugin. và thuộc tên
các Plugin thường gặp
27. HOCTUDAU.COM DANG MINH TUAN
Hỏi xoáy, đáp xoay jQuery:
ready của jQuery khác onload của Javascript như thế nào?
28. HOCTUDAU.COM DANG MINH TUAN
Kiến thức về PHP, MySQL cần biết
● Tư duy lập trình: Biến, lệnh điều kiện, vòng lặp, toán tử,
hàm thông dụng (toán học, thời gian, chuỗi, mảng ...)
● MySQL: các lệnh query của MySQL (CRUD) và dùng
vài hàm PHP tương tác với chúng: mysql_query ...
● Request & Response: mô hình client-server, stateless,
phân biệt request: Get, Post, Cookie, AJAX; header,
response code, redirect ... Đáng sợ nhất là tưởng đã
hiểu rồi mà hóa ra không hiểu!
● Storage: stateful vs stateless: Cookie (client) & Session
(server); memory & file & mysql
29. HOCTUDAU.COM DANG MINH TUAN
Hỏi xoáy, đáp xoay PHP:
Có thể tắt (ngăn không cho trình duyệt sử dụng) cookie
được không? Nếu tắt được thì tắt bằng cách nào và nếu tắt
cookie đi thì session còn hoạt động không?
30. HOCTUDAU.COM DANG MINH TUAN
Các khái niệm phải biết
DRY (Don't Repeat Yourself)
● external CSS
● unobstrusive Javscript
● normalization
● cache
● separation, template
Fallback
● bullet proof
Mobile
● Responsive Web Design
31. HOCTUDAU.COM DANG MINH TUAN
Một số kiến thức khác
● Kết hợp và rút gọn (minify) CSS và JS
● Kiểm tra thực thi JS: YSlow, Google
Chrome's speed tracer
● Kiểm tra network traffic: Fiddler
● Kiểm tra web trên nhiều màn hình: Screenly
● Kiểm tra thao tác trên mobile, sử dụng công
cụ mô phỏng như: Ripple
32. HOCTUDAU.COM DANG MINH TUAN
Các công cụ lập trình cần biết
Khảo sát các công cụ (editors, frameworks, ide,
db...) được lập trình viên Việt Nam sử dụng
(100 người, 1 năm)
http://bit.ly/vietdevtools
33. HOCTUDAU.COM DANG MINH TUAN
Các công cụ lập trình cần biết
Text Editor:
● Notepad++
● Notepad
● Vim
● Text Mate
● gedit
● Sublime Text 2
● Emacs
34. HOCTUDAU.COM DANG MINH TUAN
Các công cụ lập trình cần biết
IDE
● Eclipse
● Visual Studio
● Netbeans
● Aptana
● phpDesigner
● PhpStorm
● XCode
● Dreamweaver
35. HOCTUDAU.COM DANG MINH TUAN
Các công cụ lập trình cần biết
Bug Tracking
● BugZilla
● Jira
● Mantis
● FogBugz
● Trac
● Google Docs
36. HOCTUDAU.COM DANG MINH TUAN
Các công cụ lập trình cần biết
Project Management (& Collaboration)
● Redmine
● Trac
● Basecamp
● Jira
● TopTeam
37. HOCTUDAU.COM DANG MINH TUAN
Các công cụ lập trình cần biết
Version control
● Subversion
● Git
● Mercurial
38. HOCTUDAU.COM DANG MINH TUAN
Các công cụ lập trình cần biết
PHP Frameworks:
● CodeIgniter
● ZenFramework
● Yii
39. HOCTUDAU.COM DANG MINH TUAN
Các công cụ lập trình cần biết
Database
● MySQL
● SQLite
● MongoDB
● Oracle
● Redis
● PostgreSQL
40. HOCTUDAU.COM DANG MINH TUAN
Certificate
● ZCE: Zend Certified Engineer
● ZFC: Zend Framework Certification
● MCSD - Course 20480A: Exam 70-480:
Programming in HTML5 with JavaScript and
CSS3
● W3Schools' Certifications: HTML, CSS,
JavaScript, jQuery, XML, PHP
● các trang web Freelance
41. HOCTUDAU.COM DANG MINH TUAN
Kỹ năng khác cần biết
● Cách học: quá nhiều thứ, chọn cái nào? học
cách nào cho nhanh?
● Ý tưởng
● Giao tiếp, quan hệ
● Tiếng Anh
43. Kỹ năng viết CV
● Trình bày nghiêm túc
● Không sai chính tả
● Chi tiết
● Trung thực
● Viết đúng tên công ty
● Sử dụng ít font chữ, rõ ràng
● Đặt tên CV: CV-HoTen
● Email có tiêu đề, nghiêm túc
● Ghi rõ chức danh ứng cử
44. Kỹ năng học tiếng Anh, giao tiếp
● Chịu khó đọc sách, blog ... tiếng Anh
● Chịu khó tham gia chat, viết bài ở các diễn
đàn, mạng xã hội sử dụng tiếng Anh: http:
//stackoverflow.com/
● Chăm chỉ tiếp xúc Tây, tham gia offline
● Sẵn sàng đi phỏng vấn nhiều nơi
● Lịch sự, gọn gàng, vui vẻ