Kho ebook miễn phí khổng lồ

Thường thì người học và làm trong ngành công nghệ thông tin luôn phải học, trau dồi kỹ năng và cập nhật công nghệ mới. Sách điện tử là thứ vô cùng quan trọng không thể thiếu với bất kỳ ai là dân IT. Tôi xin giới thiệu 2 kho ebook miễn phí khổng lồ (vì sao lại miễn phí và vì sao có nhiều sách đến như vậy trên 2 trang này thì tôi không biết).

www.learnr.pro

http://it-ebooks.info/

Cả 2 trang web này tôi đảm bảo có hầu hết các loại ebook bạn cần. Từ sách dạy về lập trình, hướng dẫn sử dụng phần mềm, quản trị mạng, đồ họa… đến thiết kế, quản trị cơ sở dữ liệu, trí thông minh nhân tạo.

Cách tải (download) cũng vô cùng đơn giản, bạn vào trang web là hiểu ngay, không cần mất thời gian mày mò nhiều.
Chúc bạn tải được nhiều tài liệu bổ ích phục vụ cho việc học và công việc.

Nguồn tài liệu tốt nhất để học ngôn ngữ lập trình Javascript

Tôi luôn muốn lựa chọn những nguồn tài liệu dễ hiểu và đầy đủ nhất để học.
Sau một thời gian nghiên cứu và lựa chọn, tôi thấy những nguồn tài liệu sau là tốt nhất để học ngôn ngữ Javascript:

1. Hướng dẫn Javascript Tutorial trên trang web W3School.com với hướng dẫn đơn giản dễ hiệu, có thể thực hành ngay trên trang web đang học khiến người học hiểu và nhớ dễ dàng những câu lệnh mới và cách sử dụng chúng.
xem chi tiết tại địa chỉ: http://www.w3schools.com/js/default.asp

2. Tra cứu chi tiết tất cả mọi thứ liên quan đến ngôn ngữ Javascript trên trang web Mozilla Developer Network tại địa chỉ: https://developer.mozilla.org/en-US/docs/Web/JavaScript.
(Cha đẻ của ngôn ngữ Javascript là Brendan Eich đang làm CTO (giám đốc kỹ thuật) tại Mozilla).

Ngoài ra có rất nhiều cách sách (dạng sách in và sách điện tử ebook) hướng dẫn về ngôn ngữ lập trình này.

Làm thế nào để có thể học và sử dụng thành thục bất kỳ ngôn ngữ lập trình nào trong thời gian ngắn nhất? – Về trình biên phiên dịch mã lệnh ra mã máy

Bộ dịch mã lệnh ra mã nhị phân của máy tính là một thành phần quan trọng quyết định tốc độ và bảo mật của chương trình được viết bởi ngôn ngữ lập trình sử dụng bộ dịch mã lệnh đó. Vì vậy bộ dịch mã lệnh cũng là một yếu tố quan trọng trong việc chọn ngôn ngữ lập trình để học, làm việc và thực hiện dự án đặc thù nào đó.

Có 2 loại dịch mã máy và 2 loại này có ưu và nhược điểm riêng. Mỗi ngôn ngữ lập trình chọn cho mình 1 trong 2 cách dịch mã này. Một số ngôn ngữ chọn tổng hợp cả 2 cách.

Compiler (biên dịch): dịch mã lệnh ra file mã nhị phân một lần duy nhất.
Interpreter (thông dịch): dịch mã lệnh ra mã máy mỗi lần chạy chương trình.
compiled-vs-interpreted
So sánh giữa 2 cách dịch mã lênh này là:

Biên dịch (Compiled)
Ưu điểm:
- Luôn sẵn sàng để chạy (ready to run) và chạy nhanh hơn (faster) vì file mã nhị phân có thể chạy được trên máy tính mà không cần phải dịch mã lệnh mỗi lần chạy.
- Mã nguồn mang tính riêng tư (source code is private) vì file chương trình là file mã nhị phân nên không biết mã nguồn như thế nào nếu người viết không cung cấp.

Nhược điểm:
- Khó khăn trong việc viết để chạy trên các hệ nền khác nhau (not cross-platform) vì cần bộ biên dịch thích hợp cho mỗi hệ nền (WIndows, Mac OS, Linux…)
- Không uyển chuyển (inflexible) mất nhiều bước trong việc chạy chương trình (extra step) vì mỗi lần viết lại chương trình lại phải biên dịch thành file nhị phân một lần nữa.

Những ngôn ngữ sử dụng biên dịch (compiled): C, C++, Objective-C, Pascal, Cobol…

Thông dịch (Interpreted)
Ưu điểm:
- Dễ dàng viết để chạy trên đa cấu hình (cross-platform)
- Dễ dàng trong kiểm tra mã lệnh (simpler to test) và dễ dàng gỡ lỗi (easier to debug)
vì tất cả đều thực hiện trên file mã lệnh nguồn. Cả máy nguồn (máy tính được dùng để viết và gửi file chương trình) lẫn máy đích (máy được dùng để nhận và chạy file) đều có thể xem và chỉnh sửa mã nguồn.

Nhược điểm:
- Phải cóbộ thông dịch trên máy đích (interpreter required)
- Chậm hơn so với chương trình mã máy được tạo ra bởi bộ biên dịch (slower) vì mỗi lần chạy là mỗi lần dịch.
- Mã nguồn công khai (source code is public) nên nhiều khi ảnh hưởng đến tính bảo mật, an toàn thông tin cũng như bản quyền.

Những ngôn ngữ sử dụng thông dịch (interpreted): PHP, Javascript, Ruby…

Phương pháp lai (Hybrid)

bytecode
Kết hợp cả biên dịch và thông dịch để có được ưu điểm của cả 2 cách dịch mã lệnh trên.
Phương pháp này dùng 1 loại mã trung gian gọi là bytecode hay pseudocode (viết tắt là p-code). Người viết chương trình có thể tạo ra file p-code và copy và chạy trên bất kỳ máy tính nào có cài đặt máy ảo (virtual machine) thích hợp cho p-code.
Ngôn ngữ nổi tiếng nhất dùng phương pháp lai này là Java với khẩu hiệu “viết một lần, chạy mọi nơi” (write one, run anywhere). Nhưng có điểm bất lợi là chương trình/phần mềm dùng p-code không thể nhanh như những chương trình /phần mềm dịch trực tiếp ra mã máy và đòi hỏi trên máy tính đó phải cài đặt đúng loại máy ảo (virtual machine).

Những ngôn ngữ sử dụng phương pháp lai (hybrid): Java, C#, VB.NET, Python…

Hình dưới đây sẽ giúp bạn có cái nhìn tổng quan về 3 phương pháp dịch mã lệnh này:

compiled-interpreted-hybrid-language

Làm thế nào để có thể học và sử dụng thành thục bất kỳ ngôn ngữ lập trình nào trong thời gian ngắn nhất? – Phần 1 – Tổng quan về ngôn ngữ lập trình và việc viết chương trình máy tính

Chúng ta sẽ cùng ôn nhanh lại các khái niệm cơ bản của lập trình máy tính theo cách tiếp cận vấn đề đơn giản nhất.

Lập trình để làm gì?
Lập trình là để “chỉ dạy” cho máy tính giải quyết một vấn đề nào đó.

Vì sao có nhiều ngôn ngữ lập trình được tạo ra?
Để giải quyết các vấn đề khác nhau theo nhiều cách khác nhau.

Mã nguồn là gì?
Mã nguồn là nội dung chương trình máy tính được viết bởi một ngôn ngữ lập trình chứa các hướng dẫn  chỉ dạy cho máy tính làm một việc gì đó..
Máy tính chỉ có thể hiểu được các xung nhịp nhị phân điện tử với 2 trạng thái “đóng” và “mở” (2 trạng thái này được thể hiện bằng 2 con số là 0 và 1). Tất nhiên là con người chúng ta sẽ cảm thấy vô cùng khó khăn và nhàm chán nếu phải lập trình bằng việc đóng mở công tắc hay viết mã lệnh chỉ bằng 2 con số 0 và 1, chính vì vậy các ngôn ngữ lập trình được tạo ra với câu lệnh và cấu trúc gần với ngôn ngữ tự nhiên của con người.

Chọn ngôn ngữ nào để học lập trình?
Tùy nhu cầu và mong muốn.
Đa số lập trình viên hàng đâu khuyên nên bắt đầu học lập trình với ngôn ngữ Python.
Các trường đại học dạy theo phương pháp truyền thống bắt đầu với C/C++.
Với cá nhân tôi, vào thời điểm hiện tại tôi muốn học và nghiên cứu sâu ngôn ngữ lập trình Javascript (JS). Tôi chọn JS vì 3 lý do:
- JS ngôn ngữ lập trình bậc cao kế thừa hầu hết đặc điểm của các ngôn ngữ tiền bối.
- JS ngày càng được ứng dụng rộng rãi trong việc lập trình giao diện web (front-end) lẫn lập trình ứng dụng web (back-end), cũng như dùng để lập trình ứng dụng di động smartphone, ứng dụng trên hệ điều hành Windows 8
- Công việc hiện tại của tôi cần sử dụng nhiều ngôn ngữ này.

Làm thế nào để viết chương trình máy tính?
1. Chuẩn bị cho viết chương trình
- Xác định vấn đề
- Xác định mục tiêu
- Xác định đối tượng sử dụng

2. Chọn công cụ
- Chọn ngôn ngữ lập trình (tôi chọn Javascript)

- Soạn thảo (Editor): trình soạn thảo nội dung / câu lệnh của chương trình (giống như trình soạn thảo văn bản Word nhưng thay vì các văn bản thông thường là các câu lệnh).

- Bộ biên dịch (Compiling): Dịch câu lệnh ra mã máy / mã nhị phân 0,1.

Có 2 loại dịch mã máy và 2 loại này có ưu và nhược điểm riêng. Mỗi loại ngôn ngữ lập trình chọn cho mình 1 trong 2 cách dịch mã này. Một số ngôn ngữ chọn cả hai, ví dụ như Java.

Compiler (biên dịch): dịch tất cả hướng dẫn trong mã nguồn 1 lần, lưu lại dưới dạng file lưu trong ổ cứng. Chạy nhanh hơn nhưng cần nhiều bộ nhớ hơn.
compiler

Interpreter (thông dịch): dịch các hướng dẫn ra mã máy và lưu trong bộ nhớ mỗi lần chạy chương trình. Chạy chậm hơn những cần ít bộ nhớ hơn.
Interpreter

IDE (Integrated Development Environment) là phần mềm tổng hợp đủ thứ phục vụ cho lập trình từ trình soạn thảo (editor), trình biên dịch (compiler), trình gỡ lỗi (debugger)…
IDE

Có rất nhiều IDE miễn phí. Tôi thấy Eclipse, NetBean và Aptana là những IDE miễn phí tốt nhất, có nhiều tính năng mà ngay cả phần mềm có phí cũng không bằng. ide-programmingVòng đời cơ bản (life cycle) của một chương trình máy như thế nào?
Vòng đời của chương trình máy tính có thể được mô tả dưới dạng biểu đồ đường tuyến tính hoặc đường xoắn ốc… nhưng nói chung có các giai đoạn sau trong “cuộc đời” của một chương trình máy tính.

- Nhận biết vấn đề
- Ý tưởng giải quyết vấn đề đó
- Xây dựng, phát triển ý tưởng bằng việc viết chương trình
- Nâng cấp, bảo trì chương trình
- Chương trình được thay thế hoặc bị loại bỏ bằng các chương trình khác hoặc phiên bản mới của chính nó.

Làm thế nào để có thể học và sử dụng thành thục bất kỳ ngôn ngữ lập trình nào trong thời gian ngắn nhất? – Mở đầu – Phương pháp học hiệu quả nhất

Phương pháp là thứ quan trọng nhất trong học tập cũng như trong công việc. Có phương pháp tốt chúng ta có thể học rút chương trình đại học 4 năm còn 1 năm, đọc cuốn sách 500 trang trong 1 ngày thay vì 1 tuần, làm việc trong 1 giờ bằng người khác làm trong 1 ngày hoặc 1 tuần. Một ngày kiếm tiền bằng 1 tháng lương cơ bản… Chúng ta có thể làm được mọi việc nếu có phương pháp đúng.

Phương pháp đúng là gì? Đây là vấn đề tôi trăn trở nhiều năm từ khi bắt đầu học cấp 3 đến tận bây giờ 28 tuổi đang làm việc trong một công ty ở đất nước Nhật Bản, tôi vẫn thấy mình chưa có phương pháp sống, phương pháp học, phương pháp làm việc hiệu quả.

Tôi viết bài viết này không phải để “dạy đời” bạn mà chỉ muốn chia sẻ những suy nghĩ, hiểu biết của mình cho mọi người. Tôi muốn bạn – người đọc bài viết này là bạn đồng hành của tôi trong chuyến đi tìm kiếm phương pháp học hiệu quả nói chung cũng như phương pháp học lập trình nhanh mà chắc nói riêng. Hãy chia sẻ với tôi suy nghĩ, nhận định và hiểu biết của bạn qua email hoặc comment trong blog này nhé.

Methodology Phuong phap tu duy hoc lam viecLàm cách nào để học nhanh, học chắc và vận dụng được những điều đã học đó để xử lý vấn đề đang gặp hiện tại?

Một thời gian dài tôi cho rằng lập trình máy tính thật là khó (mặc dù tôi cũng thấy thích việc viết mã máy tính) và có lẽ tôi không đủ thông minh cũng như năng khiếu để trở thành một người lập trình máy tính giỏi. Nhưng sau khi tự học và đọc sách dạy về phương pháp học cũng như sách dạy về lập trình máy tính. Tôi mới vỡ lẽ ra là, phương pháp học của tôi không hiệu quả và hợp lý nên mới gặp khó khăn trong việc học và làm công việc liên quan đến lập trình máy tính.

Không chỉ lập trình máy tính, nhiều ngành khác cũng cần những yếu tố sau để thành công:

tam ly la yeu to quan trong nhat psychology
- Tâm lý là yếu tố quan trọng nhất. Thành công hay thất bại đều dựa vào năng lực tâm lý của bạn. Nhà sáng chế vĩ đại có phát biểu nổi tiếng: “Vĩ nhân chỉ 1 phần trăm thiên phú còn lại 99% là mồ hôi”. Câu hỏi đặt ra là: làm sao để có được 99% cần cù, chăm chỉ đó. Câu trả nằm ở vấn đề tâm lý của bạn. Bạn sẽ cảm thấy chán nản, mệt mỏi và khó chịu khi làm một việc mình không thích nhưng lại “làm” hàng giờ, ngày này qua ngày khác những việc bạn yêu thích.
Nếu tiếp tục hỏi: “Làm cách nào để có sự yêu thích một việc nào đó?” thì câu trả lời dựa trên bộ môn Phân Tâm Học (môn tâm lý do nhà tâm lý/ thần kinh học Sigmund Freud khởi xướng vào cuối thế kỷ 19, đầu thế kỷ 20) là do ấn tượng tuổi thơ của bạn. Thật vậy, sự khởi đầu rất quan trọng. Ấn tượng ban đầu tốt đẹp tạo ra suy nghĩ tốt về một vấn đề đó, sau đó dẫn đến những hành động tích cực. Những hành động tích cực tạo nên kết quả tốt. Có kết quả tốt rồi, bạn thấy thích thú với việc làm đó, môn học đó vì nó mang lại cho bạn cảm giác chiến thắng, thành công vì bạn được gia đình, gia đình tán thưởng khi đi học ở trường rồi nhận được lương bổng hậu hĩnh khi đi làm. Bạn thấy mình là người quan trọng với công việc đó. Rồi cứ thế “vòng quay động lực” được hình thành.
Khi đi học tôi là một học sinh bị cho là kém cỏi, không thể cứu vãn, tôi bị các thầy cô giáo chủ nhiệm từ cấp 1 lên cấp 2 nói những lời lẽ xúc phạm nặng nề khó nghe về trí não của tôi. Thậm chí khi học hồi lớp 5, lớp 6, bố tôi từng nói với cô giáo ngay trước mặt tôi là ông cho rằng có thể tôi bị thiểu năng trí tuệ cũng nên. Và cứ thế tôi học hành chểnh mảng, “đội sổ” nhiều năm, nhiều bạn bè không thích chơi với tôi. Tôi trở thành học sinh cá biệt trong lớp.
Nhưng đến năm lớp 10, một lần tôi được điểm cao môn toán (do tôi học bài từ trước) và thế là tôi thấy môn toán thật thú vị và chăm học môn này hơn. Cô giáo và bạn bè đều cho tôi là giỏi toán nhưng họ đâu biết rằng điểm số tệ hại mà tôi có trong môn toán suốt những năm cấp 1 và cấp 2. Tôi cũng rất mê đọc sách và chính việc đọc những cuốn sách hay dạy cách sống đã giúp tôi rất nhiều. Tôi dần thay đổi quan niệm tiêu cực về bản thân mình (mặc dù quá trình này rất chậm và tại thời điểm hiện tại tôi vẫn nhận thấy mình có nhiều rào cản tâm lý hình thành từ tuổi thơ). Sau này khi đọc cuốn “Tôi tài giỏi, bạn cũng thế” (rất nổi tiếng ở Việt Nam khoảng 1-2 năm trước) của doanh nhân tài ba người Singapore là Adam Khoo, tôi thấy câu chuyện quá khứ kém cỏi của mình có phần giống anh. Và đọc tiểu sử của các nhà khoa học nổi tiếng như Thomas Edison, Albert Enstein, Edward Darwin… rồi các doanh nhân hàng đầu thế giới như Steve Jobs (tôi cũng thích Bill Gates nhưng thấy hoàn cảnh xuất thân và tính cách của Steve gần gũi với mình hơn), Richard Branson… Tôi thấy mình có thể “lập trình lại bộ não của mình”, có thể “lập trình lại tư duy” để có cuộc sống thành công và hạnh phúc hơn.
Suy nghĩ tạo hành động, hành động tạo thói quen, thói quen tạo tính cách. Tính cách tạo số phận.

phuong phap hoc tap trung song trong giay phut hien tai

- Giây phút/ khoảnh khắc hiện tại là thứ cần tập trung nhất. Nếu bạn cứ mơ mộng chuyện tương lai hay dằn vặt chuyện quá khứ, bạn sẽ thấy chẳng còn thời gian, sức lực để làm việc trong hiện tại của bạn. Bạn chỉ có thể sống trong hiện tại. Sự quan trọng của việc sống hết mình, tập trung vào giây phút hiện tại là điều đơn giản đến mức người ta không nhận ra hoặc có nhận ra rồi cũng khó mà làm theo. Đạo Phật hơn 2500 năm trước đã dạy về việc tập trung sống trong hiện tại, tìm về bản chất thật con người mình và đến cõi niết bàn thông qua một hành động tưởng chừng quá ư đơn giản nhưng thực ra lại là hành động khó khăn nhất đối với con người, đó là “Thiền” với cách giải thích giản dị dựa trên hình ảnh chung mà mọi người có về “thiền” là ngồi xếp chân yên vị và tập trung vào hơi thở. Rồi trong hàng nghìn năm nay có rất nhiều vĩ nhân, sách vở nói về sự quan trọng của việc sống trong giây phút hiện tại. Tiêu biếu nhất là cuốn sách nổi tiếng bán chạy ở nhiều nước trên thế giới “Quẳng gánh lo đi và vui sống” của tác giả Dale Carnegie. Ngay chương đầu của cuốn sách, tác giả đã đề cập đến việc tập trung sống trong hiện tại. Tính cách của con người qua hàng ngàn năm không thay đổi (lúc nào chẳng có người hiền lành hay nóng tính, người điềm đạm hay vội vàng…). Những lời dạy của tiền nhân nghìn năm trước vẫn đúng trong thời điểm hiện tại. Phải tập trung sống hết mình trong hiện tại.
Nếu muốn làm chủ 1 ngôn ngữ lập trình máy tính hay học một sinh ngữ mới như tiếng Anh, tiếng Nhật, hay muốn chơi bóng đá, đánh bi a thật giỏi… thì quan trọng là phải tập trung vào lúc học lập trình máy tính bằng việc gõ chính xác từng dòng lệnh, tập trung vào lúc học tiếng Anh bằng việc cố gắng phát âm đúng từng âm tiết, tập trung vào việc đá bóng bằng việc sút sao cho chính xác trái bóng đang ở ngay trước mặt lúc đó. Thế thôi.

phuong phap hoc lam viec bo nao la phan cung hoan hao nhat

- Bộ não là “thiết bị phần cứng” hoàn hảo nhất mà chúng ta có. Không phải nâng cấp, cài đặt gì thêm mà chỉ cần học cách sử dụng hết khả năng của nó thông qua “lập trình tư duy” của bản thân. Trừ những người bị dị tật não bẩm sinh, còn hầu hết những người bình thường đều có thừa đủ khả năng để học hay làm bất cứ việc gì. Có quá nhiều tài liệu, sách, báo chứng minh về khả năng vô hạn của bộ não nên tôi không nói thêm về vấn đề này nữa.

Ap dung nguyen ly 80/20 trong hoc tap lam viec- Nguyên lý 80/20 là “kim chỉ nam” trong việc học và làm việc. Tập trung vào số ít quan trọng nhất để đạt được nhiều kết quả nhất. Ở Việt Nam cũng đã xuất bản 3 cuốn sách liên quan đến nguyên lý 80/20 này của tác giả Richard Koch. 20% từ vựng hoặc ít hơn sử dụng trong 80% hoặc nhiều hơn hội thoại hàng ngày (đối với hầu hết các ngôn ngữ), 20% bài học kiến thức trong sách xuất hiện trong 80% hoặc nhiều hơn câu hỏi trong đề thi. 20% thời gian làm việc hoặc ít hơn tạo ra 80% hoặc nhiều hơn thành quả lao động. 20% dân số hoặc ít hơn chiếm 80% hoặc nhiều hơn của cải vật chất, tiền bạc trong xã hội… vân vân… và có rất nhiều ví dụ cho sự mất cân bằng này trong tự nhiên cũng như xã hội của chúng ta. Chúng ta luôn phải tỉnh táo nhìn nhận ra cho bằng được cái số ít quan trọng nhất có thể tạo ra nhiều kết quả tốt nhất.

Tim kiem con duong su nghiep rieng

- Tìm kiếm, nhìn ra con đường là điều cần thiết. Nếu chúng ta có kĩ năng, kinh nghiệm, kiến thức cũng như sự nhiệt tình, chăm chỉ nhưng lại chọn lầm đường, đi sai đường thì chẳng có ý nghĩa gì.
Đầu tiên là phương hướng cá nhân. Chúng ta cần phải lựa chọn ngành nghề phù hợp với tính cách của mình. Ai cũng có ưu điểm và khuyết điểm nên chọn ngành nào có thể phát huy bồi dưỡng được điểm mạnh của mình rất quan trọng… Có rất nhiều hướng dẫn trắc nghiệm chọn ngành nghề trên internet và các tạp chí và  sau khi làm qua 2-3 trắc nghiệm mà ta cho là uy tín nhất là có thể biết được mình yêu thích và thích hợp với ngành nghề nào.
Chọn nghề nên dựa trên sự giao thoa của 3 yếu tố:
Điều mình thích nhất + Điều mình giỏi nhất + Điều mình có thể làm ra nhiều tiền nhất

Con đường nghề nghiệp là bước tiếp theo. Nếu bạn dành ra một thời gian đủ dài (vài tháng đến 1 năm) để theo dõi một ngành nghề mà chúng ta đang quan tâm thông quan các phương tiện truyền thông đại chúng như TV, báo, tạp chí chuyên ngành và Internet, sách là có thể biết hướng phát triển trong tương lai của ngành này. Điều này là quan trọng vì nếu chúng ta đổ hết thời gian và công sức vào một lĩnh vực được dự đoán bị thay thế hoặc “tuyệt chủng” vào vài năm nữa thì coi như chúng ta đã đốt cháy tương lai của mình. Ví dụ xu hướng TV màn hình phẳng Oled được xác định phát triển mạnh trong vài năm nữa mà chúng ta cứ khư khư giữ công việc sản xuất TV bóng hình vì chúng ta từng là nhà sản xuất hàng đầu trong lĩnh vực TV bóng hình và nhà xưởng của chúng ta vẫn còn rất tốt cũng như có nhiều khách hàng trung thành là tự kết liễu sự nghiệp của mình.  Phải luôn tỉnh táo để nhìn ra được con đường phía trước nếu không sẽ lâm vào ngõ cụt hoặc ngã xuống hố.

Trên đây là những chia sẻ ban đầu mang tính lý thuyết (nhưng có khả năng áp dụng thực tế rất cao) của bản thân tôi trước khi bắt đầu với những bài viết hướng dẫn kỹ thuật. Nhưng có một điều yên tâm là các bài viết hướng dẫn kỹ thuật của tôi sẽ rất đơn giản, dễ hiểu và không tràn ngập các phương trình mô tả logic, thuật toán vì tôi không thích làm phức tạp mọi thứ. “Đơn giản mà hiệu quả” là phương châm của tôi.

Vì sao cần học và sử dụng JavaScript trong thiết kế, xây dựng và phát triển web?

JavaScript (gọi tắt là JS) là tên ngôn ngữ lập trình chúng ta đã từng nghe qua ít nhất một lần trong bộ ba ngôn ngữ được dùng để thiết kế, phát triển web, ứng dụng di động là HTML, CSS, JavaScript và chắc chắn chúng ta sẽ nghe thấy mọi người nhắc đến JS và sử dụng nhiều sản phẩm (web applications) được tạo từ JS nhiều hơn nữa.

Chúng ta có thể phân chia 1 trang web làm 3 lớp hay 3 thành phần với 3 chức năng khác nhau là:
- Nội dung (Content) được thể hiện bằng HTML
- Trình bày (Presentation) với CSS
- Tương tác / tính động của trang web (Behavior) với JavaScript.

javascript html css

Chúng ta có thể xây dựng trang web theo thứ tự từ lớp dưới lên lớp trên. Bắt đầu từ nội dung – thứ quan trọng nhất của một trang web – bằng HTML rồi thể hiện trang web sao cho đẹp, ấn tượng, dễ đọc, dễ hiểu với bố cục, màu sắc, font chữ… bằng CSS. Cuối cùng là thêm tính tương tác / tính động cho trang web như sự chuyển đổi ảnh trong slideshow, thông báo pop-up trên màn hình hay một hình động nhảy nhót trên website… bằng JS.

HTML, CSS và JS là xương sống cốt lõi để tạo nên các trang web và ứng dụng web. Việc học, nghiên cứu và sử dụng JS là một việc làm cần thiết (nếu không muốn nói là bắt buộc) với những ai quan tâm đến việc tạo ra các trang web, ứng dụng web.

Với số lượng nhiều vô kể các hướng dẫn viết mã, đoạn code miễn phí trên mạng Internet cũng như sự phát triển của thư viện, framework JS như: jQueryMooToolsDojo… khiến việc học và sử dụng JS cũng như tạo các trang web có tính tương tác cao không còn khó khăn nữa.

Hai năm gần đây với sự nổi lên của Node.js - một nền tảng (platform) sử dụng để tạo các ứng dụng mạng (network application), JS thực sự trở thành một ngôn ngữ lập trình tuyệt vời nhất của thế giới web có thể sử dụng cho cả phía máy khách (client-side) với trình duyệt web (browser) và phía máy chủ (server-side) với cơ sở dữ liệu (như MongoDB).

JavaScript là một phần của tương lai của thế giới Web nói riêng và Internet nói chung.

Làm thế nào để có tư duy sáng tạo?

“Sáng tạo là khả năng vượt qua được những ý tưởng, luật lệ, khuôn mẫu, mỗi quan hệ… thông thường / truyền thống để ủng hộ những ý tưởng, phương pháp, cách giải thích mới”

(www.dictionary.com)

làm cách nào để có tư duy sáng tạo

 

1.Nghĩ vượt ra ngoài “cái hộp tư duy”

Để phát triển khả năng sáng tạo, bạn phải tự thúc đẩy bản thân nghĩ vượt ra ngoài “cái hộp” khuôn mẫu của tư duy thông thường (think outside the box) mà không cần quan tâm đến các giới hạn

suy nghi vuot ra ngoai cai hop tu duy thong thuong thinking outside the box

2. Luôn phải nghĩ ra nhiều ý tưởng, nhiều giải pháp khác nhau để giải quyết một vấn đề nào đó

brainstorming

Sẽ rất nguy hiểm khi có lối suy nghĩ chỉ có một đáp án đúng duy nhất.
Đôi khi phải đối mặt với một vấn đề đã từng gặp trước đây, chúng ta cần thử lờ đi phương án mà chúng ta cho là đúng mà ta đã dùng để giải quyết vấn đề đó trước đây để nghĩ ra phương án giải quyết mới.

Tư duy sáng tạo đòi tư duy phân tán (divergent thinking) để nghĩ ra càng nhiều ý tưởng càng tốt bất chấp những ý tưởng đó có vẻ hoang đường và kỳ cục trước khi sử dụng tư duy tập trung (convergent thingking) để vứt bỏ những ý tưởng không hữu ích.
Tư duy tập trung là cách tư duy thông thường và là thứ giúp chúng ta sống sót khi cần phải nhanh chóng đánh giá tình huống (nguy hiểm) để giải quyết.

3. “Sáng tạo thì thường hay gây rối”

20131025 albert enstein

Hầu hết hơn 90% người trong thế giới thoải mái hiện nay sẽ từ chối những ý tưởng mới và những người sáng tạo thường bị coi là những kẻ gây rối, viển vông hoặc hoang tưởng cho đến khi ý tưởng sáng tạo đó được thực hiện và chứng minh rằng nó hữu ích. Và rồi mọi người lại đi copy ý tưởng đó. Trong lịch sự tiến bộ của nhân loại có vô số ví dụ cho điều đó như việc sáng tạo bóng đèn điện, radio và phát thanh, máy bay, máy chụp ảnh quay phim….
Nhiều người sợ hãi sự thay đổi và coi những điều mới là sự đe dọa.

4. Quá trình sáng tạo sẽ hoạt động tốt nhất khi ít bị mất tập trung nhất

20131025 mat tap trung trong the gioi ket noi thong tin

Sẽ sáng tạo hơn vào những lúc cô đơn ở những nơi yên tĩnh, vắng vẻ.
Nên loại bỏ TV, phim ảnh, thói quen làm việc đa nhiệm, nhạc nền khi học hay làm…

“Khi tôi thực sự ở một mình, hoàn toàn cô độc hoặc không thể ngủ suốt đêm, đó là cơ hội để dòng chảy ý tưởng đến với tôi dồi dào nhất” (Mozart)

Hiện nay chúng ta quá bận bịu với cuộc sống kết nối thông tin: Internet, thế giới web, smartphone, máy tính bảng, facebook, twitter, blog, TV, báo chí…. Hãy loại bỏ những thứ đó khi muốn tập trung để sáng tạo.

Thomas Edison nói rằng tật điếc của ông thực sự có ích lợi trong việc giúp tránh phí phạm thời gian vào những cuộc nói chuyện phiếm hay những âm thanh có thể gây mất tập trung cho ông.

 

5. Mang hết sự vui vẻ vào một việc gì đó muốn làm thử (giống như những đứa trẻ)

hay vui thich khi thu lam mot dieu gi do nhu nhung dua tre
Người mang hết niềm vui để làm một việc gì đó và sẵn sàng loại bỏ những gì được cho là “sự thật, chân lý” và sẵn sàng xem xét mọi thứ là người có thiên hướng sáng tạo.

 

“Người sáng tạo nhất thế giới là người có tâm hồn của một đứa trẻ”

(Thomas Edison)

20131025 thomas edison