SlideShare uma empresa Scribd logo
1 de 45
Baixar para ler offline
Power your PHP Skill
How a web developer make more MONEY




Đặng Minh Tuấn - hoctudau.com
PHP
Power your Web Skills
How a web developer make more MONEY




Đặng Minh Tuấn - hoctudau.com
HOCTUDAU.COM                           DANG MINH TUAN



Để 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
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?
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
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ì?

Mobile Application




                         Firefox OS
HOCTUDAU.COM                   DANG MINH TUAN



HTML, CSS, JS có thể làm gì?

Desktop Application
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, CSS3
Hot 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:        JS "Frameworks":
● Twitter Bootstraps   ● jQuery
● Zurb's Foundation    ● Require.js
● 960gs                ● Underscore.js
● YUI                  ● modernizr
● blueprint            ● history.js
CSS Preprocessors:     ● backbone.js
● SASS                 ● KnockoutJS
● LESS                 ● 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, template
Fallback
● bullet proof
Mobile
● 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
Kỹ năng học

● Học từ đầu, từ căn bản
● Học cách học
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ẻ
HOCTUDAU.COM                              DANG MINH TUAN



                        Q&A




                      & resources
               http://bit.ly/phpday2012

Mais conteúdo relacionado

Mais procurados

Bài 7: Thư viện jQuery và thư viện jQuery UI - Giáo trình FPT
Bài 7: Thư viện jQuery và thư viện jQuery UI - Giáo trình FPTBài 7: Thư viện jQuery và thư viện jQuery UI - Giáo trình FPT
Bài 7: Thư viện jQuery và thư viện jQuery UI - Giáo trình FPTMasterCode.vn
 
Bai tap java_script-html-2016
Bai tap java_script-html-2016Bai tap java_script-html-2016
Bai tap java_script-html-2016viethoang89
 
BÀI 7 Làm việc với thành phần mới và phạm vi ứng dụng của HTML5 - Giáo trình FPT
BÀI 7 Làm việc với thành phần mới và phạm vi ứng dụng của HTML5 - Giáo trình FPTBÀI 7 Làm việc với thành phần mới và phạm vi ứng dụng của HTML5 - Giáo trình FPT
BÀI 7 Làm việc với thành phần mới và phạm vi ứng dụng của HTML5 - Giáo trình FPTMasterCode.vn
 
Bài 3: Cấu trúc điều khiển, hàm và xử lý sự kiện - Giáo trình FPT
Bài 3: Cấu trúc điều khiển, hàm và xử lý sự kiện - Giáo trình FPTBài 3: Cấu trúc điều khiển, hàm và xử lý sự kiện - Giáo trình FPT
Bài 3: Cấu trúc điều khiển, hàm và xử lý sự kiện - Giáo trình FPTMasterCode.vn
 
The First 2015 Saigon WordPress Meetup
The First 2015 Saigon WordPress MeetupThe First 2015 Saigon WordPress Meetup
The First 2015 Saigon WordPress MeetupKhanhPham
 
05 - Phan Thai Trung - Tu dong dat hang tu he thong ban le lon nhat Trung Quoc
05 - Phan Thai Trung - Tu dong dat hang tu he thong ban le lon nhat Trung Quoc05 - Phan Thai Trung - Tu dong dat hang tu he thong ban le lon nhat Trung Quoc
05 - Phan Thai Trung - Tu dong dat hang tu he thong ban le lon nhat Trung QuocNguyen Duc Phu
 
Bai tap thuc hanh javascript
Bai tap thuc hanh javascriptBai tap thuc hanh javascript
Bai tap thuc hanh javascriptnkquank7d
 
Tu hoc javascript
Tu hoc javascriptTu hoc javascript
Tu hoc javascriptzingoncmu2
 
Hoc Jquery Trong 1h
Hoc Jquery Trong 1hHoc Jquery Trong 1h
Hoc Jquery Trong 1hDang Tuan
 

Mais procurados (14)

Bài 7: Thư viện jQuery và thư viện jQuery UI - Giáo trình FPT
Bài 7: Thư viện jQuery và thư viện jQuery UI - Giáo trình FPTBài 7: Thư viện jQuery và thư viện jQuery UI - Giáo trình FPT
Bài 7: Thư viện jQuery và thư viện jQuery UI - Giáo trình FPT
 
Javascript and dom_html
Javascript and dom_htmlJavascript and dom_html
Javascript and dom_html
 
Giao Trinh Jquery
Giao Trinh JqueryGiao Trinh Jquery
Giao Trinh Jquery
 
Bai tap java_script-html-2016
Bai tap java_script-html-2016Bai tap java_script-html-2016
Bai tap java_script-html-2016
 
BÀI 7 Làm việc với thành phần mới và phạm vi ứng dụng của HTML5 - Giáo trình FPT
BÀI 7 Làm việc với thành phần mới và phạm vi ứng dụng của HTML5 - Giáo trình FPTBÀI 7 Làm việc với thành phần mới và phạm vi ứng dụng của HTML5 - Giáo trình FPT
BÀI 7 Làm việc với thành phần mới và phạm vi ứng dụng của HTML5 - Giáo trình FPT
 
Bài 3: Cấu trúc điều khiển, hàm và xử lý sự kiện - Giáo trình FPT
Bài 3: Cấu trúc điều khiển, hàm và xử lý sự kiện - Giáo trình FPTBài 3: Cấu trúc điều khiển, hàm và xử lý sự kiện - Giáo trình FPT
Bài 3: Cấu trúc điều khiển, hàm và xử lý sự kiện - Giáo trình FPT
 
Bài tập javascript
Bài tập javascriptBài tập javascript
Bài tập javascript
 
Kiem tra javascript
Kiem tra javascriptKiem tra javascript
Kiem tra javascript
 
The First 2015 Saigon WordPress Meetup
The First 2015 Saigon WordPress MeetupThe First 2015 Saigon WordPress Meetup
The First 2015 Saigon WordPress Meetup
 
05 - Phan Thai Trung - Tu dong dat hang tu he thong ban le lon nhat Trung Quoc
05 - Phan Thai Trung - Tu dong dat hang tu he thong ban le lon nhat Trung Quoc05 - Phan Thai Trung - Tu dong dat hang tu he thong ban le lon nhat Trung Quoc
05 - Phan Thai Trung - Tu dong dat hang tu he thong ban le lon nhat Trung Quoc
 
Bai tap thuc hanh javascript
Bai tap thuc hanh javascriptBai tap thuc hanh javascript
Bai tap thuc hanh javascript
 
Tu hoc javascript
Tu hoc javascriptTu hoc javascript
Tu hoc javascript
 
Hoc Jquery Trong 1h
Hoc Jquery Trong 1hHoc Jquery Trong 1h
Hoc Jquery Trong 1h
 
Tìm hiểu về NodeJs
Tìm hiểu về NodeJsTìm hiểu về NodeJs
Tìm hiểu về NodeJs
 

Destaque

Javascript for php developer
Javascript for php developerJavascript for php developer
Javascript for php developerDang Tuan
 
Газы
ГазыГазы
ГазыJ_Vladi
 
Lekcja Matematyki Iii
Lekcja Matematyki  IiiLekcja Matematyki  Iii
Lekcja Matematyki Iiiguesta0547f
 
Xay Dung Web Tu Bat Dau Den Hoan Chinh Bang Css
Xay Dung Web Tu Bat Dau Den Hoan Chinh Bang CssXay Dung Web Tu Bat Dau Den Hoan Chinh Bang Css
Xay Dung Web Tu Bat Dau Den Hoan Chinh Bang CssDang Tuan
 
моделирование объектов и процессов
моделирование объектов и процессовмоделирование объектов и процессов
моделирование объектов и процессовJ_Vladi
 
code optimization
code optimizationcode optimization
code optimizationguest9f8315
 
M05 Metamodel
M05 MetamodelM05 Metamodel
M05 MetamodelDang Tuan
 
UML for OOAD
UML for OOADUML for OOAD
UML for OOADDang Tuan
 
M01 Oo Intro
M01 Oo IntroM01 Oo Intro
M01 Oo IntroDang Tuan
 
Surviving sepsis campaign guidelines 2012
Surviving sepsis campaign guidelines 2012Surviving sepsis campaign guidelines 2012
Surviving sepsis campaign guidelines 2012Yuri Liberato
 
M02 Uml Overview
M02 Uml OverviewM02 Uml Overview
M02 Uml OverviewDang Tuan
 
PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG DÙNG UML
PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG DÙNG UMLPHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG DÙNG UML
PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG DÙNG UMLDang Tuan
 
Object-Oriented Analysis & Design (OOAD) Domain Modeling Introduction
  Object-Oriented Analysis & Design (OOAD)  Domain Modeling Introduction  Object-Oriented Analysis & Design (OOAD)  Domain Modeling Introduction
Object-Oriented Analysis & Design (OOAD) Domain Modeling IntroductionDang Tuan
 
Code Optimization
Code OptimizationCode Optimization
Code Optimizationguest9f8315
 

Destaque (17)

Javascript for php developer
Javascript for php developerJavascript for php developer
Javascript for php developer
 
Газы
ГазыГазы
Газы
 
Chapter5
Chapter5Chapter5
Chapter5
 
Renewal!
Renewal!Renewal!
Renewal!
 
Lekcja Matematyki Iii
Lekcja Matematyki  IiiLekcja Matematyki  Iii
Lekcja Matematyki Iii
 
Chapter1
Chapter1Chapter1
Chapter1
 
Xay Dung Web Tu Bat Dau Den Hoan Chinh Bang Css
Xay Dung Web Tu Bat Dau Den Hoan Chinh Bang CssXay Dung Web Tu Bat Dau Den Hoan Chinh Bang Css
Xay Dung Web Tu Bat Dau Den Hoan Chinh Bang Css
 
моделирование объектов и процессов
моделирование объектов и процессовмоделирование объектов и процессов
моделирование объектов и процессов
 
code optimization
code optimizationcode optimization
code optimization
 
M05 Metamodel
M05 MetamodelM05 Metamodel
M05 Metamodel
 
UML for OOAD
UML for OOADUML for OOAD
UML for OOAD
 
M01 Oo Intro
M01 Oo IntroM01 Oo Intro
M01 Oo Intro
 
Surviving sepsis campaign guidelines 2012
Surviving sepsis campaign guidelines 2012Surviving sepsis campaign guidelines 2012
Surviving sepsis campaign guidelines 2012
 
M02 Uml Overview
M02 Uml OverviewM02 Uml Overview
M02 Uml Overview
 
PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG DÙNG UML
PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG DÙNG UMLPHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG DÙNG UML
PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG DÙNG UML
 
Object-Oriented Analysis & Design (OOAD) Domain Modeling Introduction
  Object-Oriented Analysis & Design (OOAD)  Domain Modeling Introduction  Object-Oriented Analysis & Design (OOAD)  Domain Modeling Introduction
Object-Oriented Analysis & Design (OOAD) Domain Modeling Introduction
 
Code Optimization
Code OptimizationCode Optimization
Code Optimization
 

Semelhante a Power your web skills

Hành trình trở thành web đì ve lốp pơ
Hành trình trở thành web đì ve lốp pơHành trình trở thành web đì ve lốp pơ
Hành trình trở thành web đì ve lốp pơHuy Hoàng Phạm
 
Vận dụng kiến thức lập trình web vào môi trường thực tế
Vận dụng kiến thức lập trình web vào môi trường thực tếVận dụng kiến thức lập trình web vào môi trường thực tế
Vận dụng kiến thức lập trình web vào môi trường thực tếVKhang Yang
 
Cắt giao diện website từ file photoshop
Cắt giao diện website từ file photoshopCắt giao diện website từ file photoshop
Cắt giao diện website từ file photoshopLương Bá Hợp
 
Lap trinh web la gi bat dau hoc lap trinh web tu dau
Lap trinh web la gi bat dau hoc lap trinh web tu dauLap trinh web la gi bat dau hoc lap trinh web tu dau
Lap trinh web la gi bat dau hoc lap trinh web tu dautuananh1896
 
Macromedia director lingo
Macromedia director lingoMacromedia director lingo
Macromedia director lingotminhanhy
 
Bai gianglingofinal
Bai gianglingofinalBai gianglingofinal
Bai gianglingofinaltminhanhy
 
ITLC - Hanoi - NodeJS - ArrowJS - 27-11 - 2015
ITLC - Hanoi - NodeJS - ArrowJS - 27-11 - 2015ITLC - Hanoi - NodeJS - ArrowJS - 27-11 - 2015
ITLC - Hanoi - NodeJS - ArrowJS - 27-11 - 2015IT Expert Club
 
Php day 2011 - Nukeviet
Php day 2011 -  NukevietPhp day 2011 -  Nukeviet
Php day 2011 - NukevietQuang Anh Le
 
Định Hướng Nghề Lập Trình cho Sinh Viên CNTT năm 1
Định Hướng Nghề Lập Trình cho Sinh Viên CNTT năm 1Định Hướng Nghề Lập Trình cho Sinh Viên CNTT năm 1
Định Hướng Nghề Lập Trình cho Sinh Viên CNTT năm 1giapmaster
 
Web1012 slide 1
Web1012   slide 1Web1012   slide 1
Web1012 slide 1Cà Rốt
 
Hướng nghiệp Lập trình Web
Hướng nghiệp Lập trình WebHướng nghiệp Lập trình Web
Hướng nghiệp Lập trình WebVKhang Yang
 
Bao cao wesite bán giày.docx
Bao cao wesite bán giày.docxBao cao wesite bán giày.docx
Bao cao wesite bán giày.docxssuser11005a
 
Kentcources 110109221507-phpapp01
Kentcources 110109221507-phpapp01Kentcources 110109221507-phpapp01
Kentcources 110109221507-phpapp01Giang Nguyễn
 
PHP có thể làm gì? 9 Thứ thú vị có thể làm với PHP
PHP có thể làm gì?  9 Thứ thú vị có thể làm với PHPPHP có thể làm gì?  9 Thứ thú vị có thể làm với PHP
PHP có thể làm gì? 9 Thứ thú vị có thể làm với PHPNIIT - ICT Hà Nội
 
VMD2017 - Sử dụng React Native cho môi trường Production: khả thi đến đâu? kh...
VMD2017 - Sử dụng React Native cho môi trường Production: khả thi đến đâu? kh...VMD2017 - Sử dụng React Native cho môi trường Production: khả thi đến đâu? kh...
VMD2017 - Sử dụng React Native cho môi trường Production: khả thi đến đâu? kh...Thanh Nguyen
 
Bootstrap Twiter 3.0 Presentation
Bootstrap Twiter 3.0 PresentationBootstrap Twiter 3.0 Presentation
Bootstrap Twiter 3.0 PresentationTí Bụng Bự
 

Semelhante a Power your web skills (20)

Power your PHP skill
Power your PHP skillPower your PHP skill
Power your PHP skill
 
Hành trình trở thành web đì ve lốp pơ
Hành trình trở thành web đì ve lốp pơHành trình trở thành web đì ve lốp pơ
Hành trình trở thành web đì ve lốp pơ
 
Vận dụng kiến thức lập trình web vào môi trường thực tế
Vận dụng kiến thức lập trình web vào môi trường thực tếVận dụng kiến thức lập trình web vào môi trường thực tế
Vận dụng kiến thức lập trình web vào môi trường thực tế
 
Cắt giao diện website từ file photoshop
Cắt giao diện website từ file photoshopCắt giao diện website từ file photoshop
Cắt giao diện website từ file photoshop
 
Arrowjs.io
Arrowjs.ioArrowjs.io
Arrowjs.io
 
Lap trinh web la gi bat dau hoc lap trinh web tu dau
Lap trinh web la gi bat dau hoc lap trinh web tu dauLap trinh web la gi bat dau hoc lap trinh web tu dau
Lap trinh web la gi bat dau hoc lap trinh web tu dau
 
Macromedia director lingo
Macromedia director lingoMacromedia director lingo
Macromedia director lingo
 
Bai gianglingofinal
Bai gianglingofinalBai gianglingofinal
Bai gianglingofinal
 
ITLC - Hanoi - NodeJS - ArrowJS - 27-11 - 2015
ITLC - Hanoi - NodeJS - ArrowJS - 27-11 - 2015ITLC - Hanoi - NodeJS - ArrowJS - 27-11 - 2015
ITLC - Hanoi - NodeJS - ArrowJS - 27-11 - 2015
 
Php day 2011 - Nukeviet
Php day 2011 -  NukevietPhp day 2011 -  Nukeviet
Php day 2011 - Nukeviet
 
Định Hướng Nghề Lập Trình cho Sinh Viên CNTT năm 1
Định Hướng Nghề Lập Trình cho Sinh Viên CNTT năm 1Định Hướng Nghề Lập Trình cho Sinh Viên CNTT năm 1
Định Hướng Nghề Lập Trình cho Sinh Viên CNTT năm 1
 
Web1012 slide 1
Web1012   slide 1Web1012   slide 1
Web1012 slide 1
 
Slide offline SEO Hà Nội Cùng ThuyCuong
Slide offline SEO Hà Nội Cùng ThuyCuongSlide offline SEO Hà Nội Cùng ThuyCuong
Slide offline SEO Hà Nội Cùng ThuyCuong
 
Hướng nghiệp Lập trình Web
Hướng nghiệp Lập trình WebHướng nghiệp Lập trình Web
Hướng nghiệp Lập trình Web
 
Bao cao wesite bán giày.docx
Bao cao wesite bán giày.docxBao cao wesite bán giày.docx
Bao cao wesite bán giày.docx
 
Kentcources 110109221507-phpapp01
Kentcources 110109221507-phpapp01Kentcources 110109221507-phpapp01
Kentcources 110109221507-phpapp01
 
Wordpress
WordpressWordpress
Wordpress
 
PHP có thể làm gì? 9 Thứ thú vị có thể làm với PHP
PHP có thể làm gì?  9 Thứ thú vị có thể làm với PHPPHP có thể làm gì?  9 Thứ thú vị có thể làm với PHP
PHP có thể làm gì? 9 Thứ thú vị có thể làm với PHP
 
VMD2017 - Sử dụng React Native cho môi trường Production: khả thi đến đâu? kh...
VMD2017 - Sử dụng React Native cho môi trường Production: khả thi đến đâu? kh...VMD2017 - Sử dụng React Native cho môi trường Production: khả thi đến đâu? kh...
VMD2017 - Sử dụng React Native cho môi trường Production: khả thi đến đâu? kh...
 
Bootstrap Twiter 3.0 Presentation
Bootstrap Twiter 3.0 PresentationBootstrap Twiter 3.0 Presentation
Bootstrap Twiter 3.0 Presentation
 

Mais de Dang Tuan

Ube Databases
Ube DatabasesUbe Databases
Ube DatabasesDang Tuan
 
Session02 Part Ii
Session02 Part IiSession02 Part Ii
Session02 Part IiDang Tuan
 
Introduction to Modeling Java and UML
Introduction to Modeling Java and UMLIntroduction to Modeling Java and UML
Introduction to Modeling Java and UMLDang Tuan
 
Information Systems Analysis and Design Overview of OOAD, UML, and RUP
 Information Systems Analysis and Design Overview of OOAD, UML, and RUP Information Systems Analysis and Design Overview of OOAD, UML, and RUP
Information Systems Analysis and Design Overview of OOAD, UML, and RUPDang Tuan
 
Ooad Overview
Ooad OverviewOoad Overview
Ooad OverviewDang Tuan
 
M03 2 Behavioral Diagrams
M03 2 Behavioral DiagramsM03 2 Behavioral Diagrams
M03 2 Behavioral DiagramsDang Tuan
 
M04 Design Patterns
M04 Design PatternsM04 Design Patterns
M04 Design PatternsDang Tuan
 
M03 1 Structuraldiagrams
M03 1 StructuraldiagramsM03 1 Structuraldiagrams
M03 1 StructuraldiagramsDang Tuan
 

Mais de Dang Tuan (12)

Ube Databases
Ube DatabasesUbe Databases
Ube Databases
 
Chapter9
Chapter9Chapter9
Chapter9
 
Chapter3
Chapter3Chapter3
Chapter3
 
Chapter7
Chapter7Chapter7
Chapter7
 
Session02 Part Ii
Session02 Part IiSession02 Part Ii
Session02 Part Ii
 
Ooad Uml
Ooad UmlOoad Uml
Ooad Uml
 
Introduction to Modeling Java and UML
Introduction to Modeling Java and UMLIntroduction to Modeling Java and UML
Introduction to Modeling Java and UML
 
Information Systems Analysis and Design Overview of OOAD, UML, and RUP
 Information Systems Analysis and Design Overview of OOAD, UML, and RUP Information Systems Analysis and Design Overview of OOAD, UML, and RUP
Information Systems Analysis and Design Overview of OOAD, UML, and RUP
 
Ooad Overview
Ooad OverviewOoad Overview
Ooad Overview
 
M03 2 Behavioral Diagrams
M03 2 Behavioral DiagramsM03 2 Behavioral Diagrams
M03 2 Behavioral Diagrams
 
M04 Design Patterns
M04 Design PatternsM04 Design Patterns
M04 Design Patterns
 
M03 1 Structuraldiagrams
M03 1 StructuraldiagramsM03 1 Structuraldiagrams
M03 1 Structuraldiagrams
 

Power your web skills

  • 1. Power your PHP Skill How a web developer make more MONEY Đặng Minh Tuấn - hoctudau.com
  • 2. PHP Power your Web Skills How a web developer make more MONEY Đặng Minh Tuấn - hoctudau.com
  • 3. HOCTUDAU.COM DANG MINH TUAN Để 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ơ");
  • 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 .
  • 19. 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)
  • 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
  • 25. HOCTUDAU.COM DANG MINH TUAN Some Tools, Frameworks, Libraries CSS Frameworks: JS "Frameworks": ● Twitter Bootstraps ● jQuery ● Zurb's Foundation ● Require.js ● 960gs ● Underscore.js ● YUI ● modernizr ● blueprint ● history.js CSS Preprocessors: ● backbone.js ● SASS ● KnockoutJS ● LESS ● YUI
  • 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
  • 42. Kỹ năng học ● Học từ đầu, từ căn bản ● Học cách học
  • 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ẻ
  • 45. HOCTUDAU.COM DANG MINH TUAN Q&A & resources http://bit.ly/phpday2012