Giáo trình Nhập môn thiết kế website
1. Giới thiệu về Linux
1.1. Linux là gì?
Linux là tên gọi của một hệ điều hành máy tính và cũng là tên hạt nhân của hệ điều
hành. Nó có lẽ là một ví dụ nổi tiếng nhất của phần mềm tự do và của việc phát triển
mã nguồn mở.
Phiên bản Linux đầu tiên do Linus Torvalds viết vào năm 1991, lúc ông còn là một
sinh viên của Đại học Helsinki tại Phần Lan. Ông làm việc một cách hăng say trong
vòng 3 năm liên tục và cho ra đời phiên bản Linux 1.0 vào năm 1994. Bộ phận chủ yếu
này được phát triển và tung ra trên thị trường dưới bản quyền GNU General Public
License. Do đó mà bất cứ ai cũng có thể tải và xem mã nguồn của Linux.
Một cách chính xác, thuật ngữ "Linux" được sử dụng để chỉ Nhân Linux, nhưng
tên này được sử dụng một cách rộng rãi để miêu tả tổng thể một hệ điều hành giống
Unix (còn được biết đến dưới tên GNU/Linux) được tạo ra bởi việc đóng gói nhân
Linux cùng với các thư viện và công cụ GNU, cũng như là các bản phân phối Linux.
Thực tế thì đó là tập hợp một số lượng lớn các phần mềm như máy chủ web, các ngôn
ngữ lập trình, các hệ quản trị cơ sở dữ liệu, các môi trường làm việc desktop như
GNOME và KDE, và các ứng dụng thích hợp cho công việc văn phòng như
OpenOffice.org.
Ban đầu, Linux được phát triển và sử dụng bởi những người say mê. Tuy nhiên,
hiện nay Linux đã có được sự hỗ trợ bởi các công ty lớn như IBM và Hewlett-Packard,
đồng thời nó cũng bắt kịp được các phiên bản Unix độc quyền và thậm chí là một thách
thức đối với sự thống trị của Microsoft Windows trong một số lĩnh vực. Sở dĩ Linux
đạt được những thành công một cách nhanh chóng là nhờ vào các đặc tính nổi bật so
với các hệ thống khác: chi phí phần cứng thấp, tốc độ cao (khi so sánh với các phiên
bản Unix độc quyền) và khả năng bảo mật tốt, độ tin cậy cao (khi so sánh với Windows)
cũng như là các đặc điểm về giá thành rẻ, không bị phụ thuộc vào nhà cung cấp. Một
đặc tính nổi trội của nó là được phát triển bởi một mô hình phát triển phần mềm nguồn
mở hiệu quả.
Tuy nhiên, hiện tại số lượng phần cứng được hỗ trợ bởi Linux vẫn còn rất khiêm
tốn so với Windows vì các trình điều khiển thiết bị tương thích với Windows nhiều
hơn là Linux. Nhưng trong tương lai số lượng phần cứng được hỗ trợ cho Linux sẽ
tăng lên.
1.2. Linux có gì hấp dẫn?Có lẽ bạn đã quá quen với hệ điều hành Windows cũng như quá quen lập trình trên
hệ điều hành này. Windows có thể nói là một hệ điều hành khá "hoàn hảo", dễ sử dụng,
với rất nhiều tiện ích đáp ứng gần như mọi yêu cầu của người dùng. Vậy thì tại sao
chúng ta lại phải tìm đến một hệ điều hành mới như Linux? Điều đó liệu có thực sự
cần thiết không? Nhất là đối với sinh viên như chúng ta, những người mới chập chững
bước vào con đường làm tin học? Câu trả lời là CÓ.
1. Vấn đề bản quyền
Trong bối cảnh nền kinh tế thế giới đang có xu hướng toàn cầu hóa như hiện nay
thì đây là một vấn đề nổi cộm. Ở Việt Nam, vấn đề vi phạm bản quyền phần mềm là
rất phổ biến (nước ta dẫn đầu thế giới về số lượng phần mềm dùng không có bản
quyền).Tuy nhiên, theo báo cáo của LHQ, trong những năm tới nếu Việt Nam không
có biện pháp giải quyết vấn đề này thì sẽ khó lòng gia nhập vào WTO, thậm chí sẽ có
thể bị trả đũa quyết liệt trong các quan hệ kinh tế thương mại với các nước. Nếu tình
trạng đánh cắp bản quyền phần mềm của Việt Nam là 100 triệu USD mỗi năm thì sẽ
có một lượng hàng hóa có giá trị tương đương không bán được ở Mỹ và các nước phát
triển khác (vụ kiện cá Tra - cá Basa là một ví dụ). Và như vậy người thiệt hại đầu tiên
sẽ chính là người lao động Việt Nam. Trước tình hình đó, việc tự xây dựng cho mình
những phần mềm thương hiệu Việt Nam đang trở nên một vấn đề cấp bách. Phần mềm
mã nguồn mở được xem là một giải pháp hữu hiệu nhất cho bài toán bản quyền ở nước
ta hiện nay. Phần mềm mã nguồn mở một mặt có chi phí rẻ hơn so với các phần mềm
truyền thống, mặt khác rất dễ nâng cấp, cải tiến (do cung cấp mã nguồn kèm theo).
Chính vì thế, phát triển phần mềm mã nguồn mở chúng ta có thể tận dụng được những
công nghệ tiên tiến có sẵn trên thế giới, cải tiến cho phù hợp với người Việt Nam, tiết
kiệm được rất nhiều công sức so với việc phát triển từ đầu. Linux là một hệ điều hành
mã nguồn mở như vậy!!!
Trang 1
Trang 2
Trang 3
Trang 4
Trang 5
Trang 6
Trang 7
Trang 8
Trang 9
Trang 10
Tải về để xem bản đầy đủ
Tóm tắt nội dung tài liệu: Giáo trình Nhập môn thiết kế website
san/ppa Mở Terminal bằng tổ hợp phím Ctrl + Alt + T, thêm gói ppa:eugenesan/ppa bằng câu lệnh $ sudo add-apt-repository ppa:eugenesan/ppa Ấn Y và enter để chấp nhận thêm gói vào hệ thống của bạn Bước 2: Cập nhật apt bằng câu lệnh: $ sudo apt-get update Bước 3: Cài đặt smartgit bằng câu lệnh: $ sudo apt-get install smartgit Ấn Y và enter để chấp nhận cài đặt smartgit vào hệ thống của bạn Bước 4: Cài đặt smartgithg bằng câu lệnh: $ sudo apt-get install smartgithg Đến đây, đã hoàn thành quá trình cài đặt Smartgit trên Ubuntu 18.04. Sau đây là những cấu hình đầu tiên để chạy Smartgit trên hệ thống 2. Khởi động Smartgit Để khởi động Smartgit, ngay ở cửa sổ Terminal, gõ Smartgit, rồi ấn Enter để khởi động nó. Cửa sổ này sẽ hiện lên Smartgit hỏi bạn có chấp nhận điều khoản sử dụng của Smartgit không? Nên đọc kỹ trước khi sử dụng, rồi tích chọn và ấn Next để tiếp tục. Bước tiếp theo smartgit yêu cầu cung cấp tài khoản git để lưu config cho các lần sử dụng tiếp theo, hai thông số này bao gồm User Name và Email: Bước tiếp theo là cấu hình SSH Client, nên chọn mặc định trong bước này. Bước tiếp theo là bước chọn Style cho Main Window. Với những người dùng git chuyên nghiệp thì nên chọn Log History để xem nhánh cho dễ. Nếu chọn mà thấy không thích hợp thì cũng có thể thay đổi sau. Màn hình Privacy cũng là màn hình cuối cùng của quá trình cài đặt. Ở đây chọn Finish để hoàn tất. Màn hình Welcome to Smartgit sẽ hiện ra. Đến đây, đã hoàn thành quá trình Cài đặt Smartgit trên Ubuntu 18.04. CHƯƠNG 05: SỬ DỰNG GITHUB TRÊN UBUNTU 1. Quy tắc làm việc trên kho mã nguồn Github GitHub là một phần mềm kiểm soát phiên bản "VCS" được sử dụng nhiều. Nó rất hữu ích khi dự án của bạn có nhiều hơn một người cùng làm việc. Ví dụ, một nhóm phát triển phần mềm muốn xây dựng một trang web và mọi người phải cập nhật code của họ đồng thời trong khi làm việc với dự án. Trong trường hợp này, Github giúp họ xây dựng một kho lưu trữ tập trung, nơi mọi người có thể tải lên, chỉnh sửa và quản lý các đoạn code của dự án đó. GitHub có nhiều lợi thế khác nhau nhưng nhiều người thường nghi ngờ tại sao không sử dụng dropbox hoặc bất kỳ hệ thống dựa trên điện toán đám mây nào? Để trả lời câu hỏi này, bạn hãy hình dung: Nếu có nhiều hơn hai nhà phát triển phần mềm đang làm việc trên cùng một file và họ muốn cập nhật đồng thời. Thật không may, người lưu tệp đầu tiên sẽ được ưu tiên hơn những người còn lại. Trong khi đó ở Github, điều này không xảy ra như vậy. Github có cơ chế ghi lại các thay đổi và phản ánh chúng theo một cách có tổ chức để tránh mọi sự xung đột chồng chéo hoặc trùng lắp giữa bất kỳ tệp nào được tải lên. Do đó, sử dụng kho lưu trữ tập trung GitHub, sẽ tránh được tất cả sự nhầm lẫn và làm việc trên cùng một tập tin hoặc dự án sẽ trở nên rất dễ dàng. Git là một công cụ kiểm soát phiên bản cho phép bạn thực hiện tất cả các loại hoạt động để lấy dữ liệu từ máy chủ trung tâm hoặc đẩy dữ liệu đến nó trong khi GitHub là một nền tảng lưu trữ cốt lõi để giúp lập trình viên cộng tác với nhau kiểm soát các phiên bản mã code. Hay nói cách khác, GitHub là một tập hợp nhiều kho lưu trữ được đặt trên một máy chủ từ xa, nó cho phép bạn lưu trữ kho của mình trên đó. Dưới đây là những ưu điểm mà GitHub làm cho git trở nên đơn giản hơn: - GitHub cung cấp một giao diện trực quan (nền web) đẹp mắt giúp ta theo dõi hoặc quản lý các dự án được kiểm soát phiên bản ở local trái ngược so với Git. - Khi bạn đăng ký GitHub, bạn sẽ được kết nối với các mạng xã hội bao gồm các tổ chức, cá nhân cũng đang làm việc cùng lĩnh vực với bạn giúp bạn có thể trao đổi với họ và theo dõi các thông tin mới nhất về các dự án code khác mà bạn quan tâm. 2. Các câu lệnh cơ bản trong Github Để có thể khởi tạo git trong project, git sẽ bắt đầu theo dõi quá trình thêm mới, sửa đổi hoặc xoá các file, chỉ cần vào thư mục gốc của project và chạy câu lệnh như sau: $ git init Hoặc nếu chưa có project nào thì có thể tìm một remote repository và clone project để sử dụng git trong việc phát triển tiếp mã nguồn đó. $ git clone /path/to/repository Ví dụ sau đây tạo một repository sau đó clone project của để sử dụng tại local như sau: $ git clone https://github.com/trongtai37/javascript.git Khi làm việc để phát triển các project thì việc tất yếu phải làm là chỉnh sửa, thêm mới, xoá các file code và nếu project đã được tích hợp git, thì những thay đổi trong quá trình trên đã được git theo dõi kỹ càng đến từng ký tự. Để biết code đã được thay đổi những gì chỉ cần dùng câu lệnh sau: $ git status Trong kết quả trả về của câu lệnh trên git cho biết được những file đã thêm(add), sửa (modified) và xoá (deleted). Và khi chắc chắn với những sự thay đổi với source code, mã nguồn thực thi đúng chức năng. Lưu lại trạng thái của source code để trong quá trình sử dụng code và bảo trì sau này tránh có xảy ra sai sót nhất định. Muốn làm được việc này thì chúng ta sử dụng câu lệnh: $ git commit –m “Commit message” Câu lệnh này ghi nhận rằng muốn lưu trạng thái của code hiện tại, và để dễ dàng ghi nhớ hơn đính kèm theo một message, dễ dàng cho việc tìm kiếm và nhanh chóng hơn. Nhưng trước hết cần cho git biết được rằng cụ thể trạng thái project của các file là như thế nào. Có thể thay đổi, xoá nhiều file và git có thể theo dõi việc đấy, khi muốn lưu lại trạng thái của source code thì phải add những thay đổi đó vào một gói hàng, từ đó khi commit thì mọi thứ sẽ được lưu lại bằng một trạng thái của source code, bằng câu lệnh sau: $ git add Nếu chỉ muốn add một file bất kỳ để sử dụng cho lần commit tiếp theo thì có thể add theo cú pháp như sau: $ git add Khi đã lưu được trạng thái của source code, để áp dụng và lưu trang thái này lên remote repository, chúng ta dùng câu lệnh sau: $ git push trong đó remote_repository là nơi bạn muốn đẩy code lên và đẩy vào branch nào của remote_repository đó. Khi câu lệnh hoàn thành nếu có quyền push lên branch đó thì source code trên remote_repository sẽ được cập nhật trạng thái mới nhất. Ví dụ: $ git push origin master Có thể đặt tên cho remote_repository của mình để dễ nhớ hơn và thuận tiên cho việc sử dụng trong các câu lệnh khác bằng cách: $ git remote add Ví dụ: $ git remote add origin https://github.com/trongtai37/javascript.git Khi tạo một repository thì branch master sẽ tự động được tạo và là branch mặc định làm việc hiện tại. Đối với các project cá nhân thì làm việc trên branch này có thể đáp ứng đủ các yêu cầu. Tuy nhiên đối với các dự án công nghệ trong thực tế khi mà có nhiều tính năng và muốn phát triển nhiều tính năng cùng lúc thì rõ ràng một branch master là không đủ. Chúng ta có thể tạo nhiều branch khác và phát triển các tính năng riêng biệt trên từng branch đó cho đến khi hoàn thành cả hai thì có thể gộp chung và branch master. CHƯƠNG 6: SỬ DỤNG CÁC TRANG WEB ĐỂ HỌC LẬP TRÌNH 1. Cách học lập trình web hiệu quả Học lập trình đã phát triển nhanh chóng trong những năm qua, từ sở thích cá nhân trở thành sự nghiệp của nhiều người. Ngày nay chúng ta có thể học code online dễ dàng, hoàn toàn miễn phí. Dưới đây là một số phương pháp nhằm giúp học lập trình tốt hơn, hiệu quả hơn. • Xác định được ngôn ngữ mình sẽ theo đuổi Đây chính là nhiệm vụ đầu tiên và cũng là bước quan trọng nhất cho người muốn học lập trình website. Có người chỉ học và theo đuổi duy nhất một ngôn ngữ lập trình, song có người lại có khả năng học và theo đuổi nhiều ngôn ngữ khác nhau, nắm bắt được chi tiết từng ngôn ngữ này. Ngoại trừ những trường hợp đặc biệt, còn theo các chuyên gia thì tốt nhất bạn nên theo đuổi duy nhất một ngôn ngữ mà thôi. Khi đó bạn sẽ dành toàn tâm, toàn ý, hết tất cả thời gian để nghiên cứu, học tập chuyên sâu về nó. Đến khi bạn nắm rõ và đã trở thành một chuyên gia thực thụ về ngôn ngữ này thì hãy tìm hiểu và học qua ngôn ngữ khác. Việc nắm được nền tảng cơ bản của sẽ giúp bạn mình thấy dễ dàng hơn khi chuyển qua một loại ngôn ngữ khác. • Dành thời gian và sự kiên nhẫn lúc khởi đầu Ông bà ta có câu “vạn sự khởi đầu nan”, điều này luôn đúng với tất cả mọi lĩnh vực, không ngoại trừ việc học lập trình website. Khi mới bắt đầu, chắc chắn bạn sẽ cảm thấy vô cùng khó khăn, tuy nhiên nếu như dành thời gian, tập trung nghiên cứu về nó, chắc chắn việc trở thành một lập trình viên giỏi không còn là chuyện khó khăn. Phải cố gắng học tập, ngoài việc học ở trường, ở trung tâm, có thể đọc thêm sách, tham khảo những kiến thức về lập trình PHP, hay những ngôn ngữ khác mà bạn đang học thông qua internet. Đã có không ít người thành công với ngành nghề này mà không cần 133 phải đến trường lớp, chỉ cần học hỏi qua mạng, do vậy chỉ cần nỗ lực là có thể thành công. • Học lập trình web qua video Một phương pháp học tuy đơn giản nhưng lại mang đến hiệu quả tuyệt vời nhất là nếu chưa có kinh nghiệm gì về hay chưa từng học qua , chúng ta hoàn toàn có thể xem các video hướng dẫn ở trên mạng và làm theo. Điểm cộng lớn nhất của nó là dễ dàng tiếp cận được với lập trình, nhưng nên nhớ phải học và ghi nhớ từng bài, hiểu được những gì mình đang tìm hiểu. Lập trình website yêu cầu phải có sự sáng tạo. Ta không thể học vẹt cũng như rập khuôn, cứng nhắc với những gì chỉ dạy trong video, khi đó sẽ chẳng thu lại được bất kỳ hiệu quả. Ngoài ra, hãy cố gắng dành thời gian để học và tham khảo những bài giảng với nhiều hình thức khác, khi đó sẽ hiểu được chuyên sâu về nó hơn. • Từ nhiều nguồn tài liệu học khác nhau Chúng ta cũng có thể tìm hiểu về những nguồn thông tin và kiến thức về lập trình qua sách, trang web, diễn đàn về lập trìnhTại đây, bạn hoàn toàn có thể thu thập được rất nhiều kiến thức lập trình dù là cơ bản hay nâng cao. Những người đi trước sẽ truyền dạy được cho bạn những kiến thức bổ ích. Điều quan trọng là cần xác định loại ngôn ngữ mà bạn học là gì để từ đó lựa chọn được diễn đàn phù hợp. Xem thêm: Rõ ràng, mỗi ngôn ngữ lập trình dù là PHP, hay JAVA đều sẽ có những đặc điểm riêng. Sau khi lựa chọn được loại ngôn ngữ nào mà mình theo đuổi thì bạn mới bắt tay vào tìm kiếm tài liệu cũng như học hỏi về nó. 2. Sử dụng trang web dạy học lập trình Có nhiều lý do để bạn đến với lập trình, có thể là vì đang muốn tìm kiếm cơ hội đổi nghề để trở thành lập trình viên hay muốn xây dựng website để khởi nghiệp kinh doanh online, hay muốn làm ứng dụng gì đó để tự động hóa công việc của mình hoặc muốn có thêm kỹ năng mới để sẵn sàng hội nhập thế giới số, cách mạng công nghiệp 4.0. Dù thế nào thì lập trình cũng đang là kỹ năng cần thiết và hữu ích cho tất cả mọi người vì ở đâu có máy tính, có thiết bị số, có vi mạch điều khiển, là ở đó có lập trình. Cùng xem qua danh sách những trang web dạy lập trình hiệu quả. • Coursera Coursera hiện có hơn 1 triệu học viên đăng ký từ hơn 200 quốc gia. Trên đây bạn có thể tìm thấy rất nhiều nhiều khóa học hay trong nhiều lĩnh vực khác nhau của các Giáo sư từ các Đại học hàng đầu của thế giới như Penn, Standford, Duke, Princeton.Riêng trong lĩnh vực lập trình, bạn sẽ thấy có những khóa học nền tảng, cung cấp kiến thức cơ bản về lập trình, cấu trúc dữ liệu, giải thuật đến những khóa học lập tình web, lập trình ứng dụng trên những ngôn ngữ cụ thể như C#, Python, Java, lập trình Android, lập trình iOS, Các khóa học thường được tổ chức theo tuần kèm theo các yêu cầu bạn cần thực hiện trong tuần đó. Bạn sẽ được học miễn phí nhưng nếu muốn truy cập đầy đủ bài tập, câu hỏi trắc nghiệm, làm dự án và nhận chứng chỉ bạn phải tốn một khoản phí khoảng 49USD/tháng. • Udemy Được thành lập vào năm 2010, Udemy hiện có hơn 45000 khóa học trên nhiều lĩnh vực khác nhau. Các khóa học thường là phải trả phí nhưng Udemy cũng cung cấp cho người học một số khóa miễn phí hay thỉnh thoảng có chương trình ưu đãi miễn phí trên một số khóa học để người dùng có cơ hội thử trải nghiệm. Bạn dễ dàng tìm thấy các khóa học miễn phí này bằng cách gõ vào tiêu chí Free, Udemy sẽ hiện ra các khóa học đang được miễn phí. Ngoài ra, Udemy cũng hay có chương trình chỉ 10USD cho một khóa học, nếu quan tâm bạn có thể kiên nhẫn chờ các dịp khuyến mãi của Udemy (khá thường xuyên) để chọn cho mình khóa học phù hợp. • Khan Academy Khan Academy là trường học trực tuyến do Sal Khan sáng lập, được tài trợ bởi quỹ Gates Foundation và Google. Khan Academy mang đến cơ hội học tập, nâng cao tri thức cho hàng triệu người trên khắp thế giới, đặc biệt là các bạn trẻ với các chương trình học toán, lý, hóa, sinh học, nghệ thuật, tiếng Anh, SAT,và cả lập trình. Các khóa học lập trình trên Khan Academy chủ yếu là về Javascript, làm web page và web game đơn giản với Javascript và CSS. Ngoài ra, trên Khan Academy còn có những khóa học cơ bản về khoa học máy tính, mã hóa, internet, Tuy không chuyên sâu về ngôn ngữ lập trình như các trang web khác nhưng cách trình bày, cách tổ chức môn học trên Khan Academy cũng đáng để bạn nên tham khảo. • Codecademy Codecademy là trang web dạy lập trình theo phương pháp tương tác, nghĩa là bạn sẽ hiểu thông qua từng bước thực hiện theo ví dụ hướng dẫn. Codeademy có giao diện khá trực quan, đơn giản, rất dễ dùng. Bạn sẽ được đưa ra một nhiệm vụ (task) và bạn sẽ thực hiện từng bước theo hướng dẫn, giải thích để hoàn thành nhiệm vụ đó. Hiện nay Codecademy cung cấp khá nhiều khóa học về PHP, HTML, CSS, Javascript, Python, Java, jQuery, Ruby On Rails... • W3Schools 135 W3Schools có các bài hướng dẫn lập trình, tài nguyên lập trình, ví dụ, các bài tập để giúp bạn học code. Câu biểu ngữ của họ là ‘The World’s Largest Web Developer Site,’ và thật vậy, nó sẽ không khiến bạn thất vọng. Bắt đầu chọn ngôn ngữ lập trình theo ý thích. Sau đó chọn các chương trình và chọn tùy chọn ngôn ngữ khác nhau. Bạn có thể bắt đầu ngay với các câu trắc nghiệm ngắn để biết bạn đã biết bao nhiêu rồi và đâu là nơi tốt nhất để bắt đầu. Bạn có thể nhay ngay vào làm bài kiểm tra với các ví dụ ngắn và xem các bài thực hành. W3Schools có nhiều ngôn ngữ khác nhau hỗ trợ bạn như: HTML, CSS, JavaScript, SQL và PHP, Python and Java, C++ and C#, và nhiều hơn thế nữa.. • Free Code Camp Free Code Camp là trang để xây dựng các mối quan hệ thực sự ngoài đời quanh việc xây dựng cộng đồng học lập trình online. Nó giúp bạn có cơ hội học tốt hơn bằng cách tham gia vào những thử thách, dự án thực sự. Mỗi thử thách sẽ bao gồm những khoa học liên quan mà bạn có quyền truy cập cần hoàn tất để giúp bạn vượt qua nó. Sau khi đã có đủ kỹ năng cần thiết, bạn sẽ có thể xin vào làm trong các dự án thực tế bằng cách trao đổi dự án và lập trình không lợi nhuận THÔNG TIN THAM KHẢO [1]. Trang chủ chính của cộng đồng Ubuntu quốc tế [2]. Trang chủ của cộng đồng Ubuntu Việt Nam [3]. Trang chủ chính của OpenOffice.org [4] Diễn đàn của cộng đồng Ubuntu Việt Nam
File đính kèm:
- giao_trinh_nhap_mon_thiet_ke_website.pdf