Để chống lại khủng hoảng!
howto = array("Thất nghiệp?" => "Có việc","Thu nhập thấp?" => "Thu nhập cao","Ước mơ lớn?" => "Đạt được ước mơ");
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?
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
HOCTUDAU.COM DANG MINH TUAN
Tôi chọn chiến lược nào?
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
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
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?
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
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
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.
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
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...)
HOCTUDAU.COM DANG MINH TUAN
HTML, CSS, JS có thể làm gì?
Google Chrome Packaged Applications (Desktop Application)
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.
HOCTUDAU.COM DANG MINH TUAN
HTML, CSS, JS là chủ đề hot
HTML5, CSS3Hot ngay ở các hội thảo PHP hàng năm ở Việt Nam và trên thế giới .
HOCTUDAU.COM DANG MINH TUAN
Kiến thức HTML, XHTML cần biết
● HTML Decoration & Deprecated Tags: Cần biết các thẻ HTML lạc hậu vì đã bị lạm dụng cho chức năng decoration như: center, font, br, b, i, ...
● HTML Semantic: Ý nghía của một số thẻ cơ bản và sự liên quan giữa Semantic và SEO
● HTML Entities: cách viết đúng các ký tự như <, >, &, © ..
● Khái niệm về XML và DOCTYPE● Cách đọc DOCTYPE● HTML5● Quick Editing: ZenHTML (ZenCoding)
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?
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)
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ỳ?
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
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
HOCTUDAU.COM DANG MINH TUAN
Some Tools, Frameworks, Libraries
CSS Frameworks:● Twitter Bootstraps● Zurb's Foundation● 960gs● YUI● blueprintCSS Preprocessors:● SASS● LESS
JS "Frameworks":● jQuery● Require.js● Underscore.js● modernizr● history.js● backbone.js● KnockoutJS● YUI
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
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?
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
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?
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, templateFallback● bullet proofMobile● Responsive Web Design
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
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
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
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
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
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
HOCTUDAU.COM DANG MINH TUAN
Các công cụ lập trình cần biết
Version control● Subversion● Git● Mercurial
HOCTUDAU.COM DANG MINH TUAN
Các công cụ lập trình cần biết
PHP Frameworks:● CodeIgniter● ZenFramework● Yii
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
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
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
HOCTUDAU.COM DANG MINH TUAN
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ử
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ẻ
Top Related