CHƯƠNG 1: TỔNG QUAN 1. Lý do chọn đề tài Hiện nay âm nhạc là một trong những nguồn giải trí tối ưu và không thể thiếu của con người. Đặc biệt, âm nhạc còn có thể tác động lớn đến quá trình hình thành phát triển của con người. Âm nhạc có tác dụng phản ánh trí tuệ, tư tưởng, cũng như tác động mạnh mẽ và sâu sắc đến cảm xúc của con người.
Âm nhạc có ý nghĩa cực kỳ quan trọng đối với hạnh phúc của con người. Nó giúp xua tan khổ đau, mang lại niềm vui sướng, sự tươi trẻ, tràn đầy sức sống. Thưởng thức những ca khúc yêu thích giúp con người thư thái và có rất nhiều trải nghiệm thú vị. Mục tiêu đề tài - Xây dựng website nghe nhạc trực tuyến đáp ứng những tính năng như nghe nhạc, đăng tải bài hát, tạo danh sách bài hát,.
- Xây dựng giao diện dễ nhìn, dễ sử dụng cho người dùng. Phạm vi Đề tài tập trung xây dựng website với các chức năng chính như sau: - Đăng nhập, đăng ký. - Nghe nhạc offline. - Quản lý danh sách các bài hát.
- Hiển thị danh sách các bài hát được nghe nhiều nhất trong ngày. 17 - Hiển thị danh sách các bài hát được nghe và yêu thích nhiều nhất theo từng thể loại. - Hiển thị danh sách bài hát từ người dùng đang theo dõi. - Tải xuống bài hát.
Đối tượng sử dụng - Những người có sở thích nghe nhạc. - Những người có mong muốn chia sẻ, đăng tải bài hát yêu thích. - Những người có mong muốn chia sẻ bài hát tự sáng tác. Phương pháp thực hiện - Tìm hiểu, nghiên cứu các website nghe nhạc trực tuyến trên thị trường, các tính năng hiện có, các hạn chế,.
- Phân tích các chức năng cần thực hiện. - Phân tích, đặc tả phần mềm. - Thiết kế kiến trúc phần mềm và cơ sở dữ liệu. - Phát triển các chức năng.
- Thiết kế giao diện cho website. - Kiểm tra và sửa lỗi. - Triển khai phần mềm. Kết quả mong đợi Ứng dụng có thể đáp ứng được các nhu cầu: - Yêu cầu chức năng: Đáp ứng được các yêu cầu đề ra.
- Giao diện đơn giản, dễ hiểu, dễ sử dụng. - Hiệu năng: ít lỗi, tốc độ xử lý nhanh. 18 CHƯƠNG 2: KIẾN THỨC NỀN TẢNG 2. Công cụ quản lý và phát triển 2.
Visual Studio Code Hình 2.1 Visual Studio Code [1] Visual Studio Code chính là ứng dụng cho phép biên tập, soạn thảo các đoạn code để hỗ trợ trong quá trình thực hiện xây dựng, thiết kế website một cách nhanh chóng. Visual Studio Code hay còn được viết tắt là VS Code. Trình soạn thảo này vận hành mượt mà trên các nền tảng như Windows, macOS, Linux. Hơn thế nữa, VS Code còn cho khả năng tương thích với những thiết bị máy tính có cấu hình tầm trung vẫn có thể sử dụng dễ dàng.
Visual Studio Code hỗ trợ đa dạng các chức năng Debug, đi kèm với Git, có Syntax Highlighting. Đặc biệt là tự hoàn thành mã thông minh, Snippets, và khả năng cải tiến mã nguồn. Nhờ tính năng tùy chỉnh, Visual Studio Code cũng cho phép các lập trình viên thay đổi Theme, phím tắt, và đa dạng các tùy chọn khác. Mặc dù trình soạn thảo Code này tương đối nhẹ, nhưng lại bao gồm các tính năng mạnh mẽ.
Visual Studio Code là gì được rất nhiều người tìm hiểu. Đây cũng là một trong các ứng dụng được dân IT “săn đón” và tải về và sử dụng rất nhiều. Visual Studio Code cũng luôn có những cải tiến và tạo ra đa dạng các tiện ích đi kèm từ đó giúp cho các lập trình viên sử dụng dễ dàng hơn. Trong đó có thể kể đến những ưu điểm sau: 19 • Đa dạng ngôn ngữ lập trình giúp người dùng thỏa sức sáng tạo và sử dụng như HTML, CSS, JavaScript, C++,… • Ngôn ngữ, giao diện tối giản, thân thiện, giúp các lập trình viên dễ dàng định hình nội dung.
• Các tiện ích mở rộng rất đa dạng và phong phú. • Tích hợp các tính năng quan trọng như tính năng bảo mật (Git), khả năng tăng tốc xử lý vòng lặp (Debug),… • Đơn giản hóa việc tìm quản lý hết tất cả các Code có trên hệ thống. Visual Studio Code là một trong những trình biên tập Code rất phổ biến nhất hiện nay. Ứng dụng này cũng ngày càng chứng tỏ ưu thế vượt trội của mình khi so sánh với những phần mềm khác.
Tuy bản miễn phí không có nhiều các tính năng nâng cao nhưng Visual Studio Code thực sự có thể đáp ứng được hầu hết nhu cầu cơ bản của lập trình viên. Visual Studio Hình 2.2 Visual Studio [2] Visual Studio là một phần mềm lập trình hệ thống được sản xuất trực tiếp từ Microsoft. Từ khi ra đời đến nay, Visual Studio đã có rất nhiều các phiên bản sử dụng khác nhau. Điều đó, giúp cho người dùng có thể lựa chọn được phiên bản tương thích với dòng máy của mình cũng như cấu hình sử dụng phù hợp nhất.
20 Bên cạnh đó, Visual Studio còn cho phép người dùng có thể tự chọn lựa giao diện chính cho máy của mình tùy thuộc vào nhu cầu sử dụng. Một số tính năng của phần mềm Visual Studio: • Biên tập mã Giống như bất kỳ một IDE khác, Visual Studio gồm có một trình soạn thảo mã hỗ trợ tô sáng cú pháp và hoàn thiện mả bằng các sử dụng IntelliSense không chỉ cho các hàm, biến và các phương pháp mà còn sử dụng cho các cấu trúc ngôn ngữ như: Truy vấn hoặc vòng điều khiển. Bên cạnh đó, các trình biên tập mã Visual Studio cũng hỗ trợ cài đặt dấu trang trong mã để có thể điều hướng một cách nhanh chóng và dễ dàng. Hỗ trợ các điều hướng như: Thu hẹp các khối mã lệnh, tìm kiếm gia tăng,… Visual Studio còn có tính năng biên dịch nền tức là khi mã đang được viết thì phần mềm này sẽ biên dịch nó trong nền để nhằm cung cấp thông tin phản hồi về cú pháp cũng như biên dịch lỗi và được đánh dấu bằng các gạch gợn sóng màu đỏ.
• Trình gỡ lỗi Visual Studio có một trình gỡ lỗi có tính năng vừa lập trình gỡ lỗi cấp máy và gỡ lỗi cấp mã nguồn. Tính năng này hoạt động với cả hai mã quản lý giống như ngôn ngữ máy và có thể sử dụng để gỡ lỗi các ứng dụng được viết bằng các ngôn ngữ được hỗ trợ bởi Visual Studio.3 Git [3] Git là hệ thống quản lý các phiên bản dưới dạng phân tán. Đây là hệ thống quản lý phổ biến nhất hiện nay. Git là một phiên bản của Distributed Version Control System – DVCS hay còn gọi là VCS.
Sử dụng Git sẽ đem tới cho các lập trình viên một kho lưu trữ, trong đó chứa đầy đủ các lịch sử thay đổi của hệ thống. Git là một VCS. Tuy nhiên, so với các VCS thông thường, Git cũng có một số điểm khác biệt. Trong đó, điểm khác biệt nổi bật nhất của Git đó là cách đọc và lưu trữ dữ liệu của phần mềm này.
Về mặt khái niệm, hầu hết các hệ thống lưu trữ thông tin bằng cách thay đổi dựa trên file và lưu trữ thông tin dưới dạng danh sách. Hệ thống này sẽ tổng hợp và cập nhật thông tin, sau đó lưu trữ dưới dạng một tập hợp danh sách. Các file có thể thay đổi theo thời gian. Tuy nhiên, cách hoạt động và lưu trữ thông tin của Git lại hoàn toàn khác.
Để lưu trữ thông tin, Git sẽ coi các thông tin là một tập hơn snapshot. Đây là tập hợp toàn bộ ảnh chụp các nội dung của file thông tin tại thời điểm. Khi đưa ra các lệnh, git sẽ chụp lại thông tin ở thời điểm đó và tạo ra một snapshot. Để nâng cao tính hiệu quả, Git sẽ không lưu trữ file nếu các tệp không có sự thay đổi.
Thay vào đó, phần mềm sẽ liên kết dữ liệu tới một tệp giống với file đã được lưu trữ trước đó. 22 Nhờ vào điểm khác biệt với các VCS này, Git sẽ không tốn nhiều thời gian xem xét các thông tin, các bản giải mã của phiên bản/hệ thống trước. Thay vào đó, Git nghĩ về dữ liệu khác, giúp việc lưu trữ dễ dàng hơn. Với cách lưu trữ thông minh này, Git giống như một hệ thống gồm nhiều tệp nhỏ khác nhau.4 Github [4] Github là một hệ thống quản lý dự án và phiên bản code, hoạt động giống như một mạng xã hội cho lập trình viên.
Các lập trình viên có thể clone lại mã nguồn từ một repository và Github chính là một dịch vụ máy chủ repository công cộng, mỗi người có thể tạo tài khoản trên đó để tạo ra các kho chứa của riêng mình để có thể làm việc. Github là một dịch vụ nổi tiếng cung cấp kho lưu trữ mã nguồn Git cho các dự án phần mềm. Github có đầy đủ những tính năng của Git, ngoài ra nó còn bổ sung những tính năng về social để các developer tương tác với nhau. Vài thông tin về Git: • Là công cụ giúp quản lý source code tổ chức theo dạng dữ liệu phân tán.
• Giúp đồng bộ source code của team lên 1 server. 23 • Hỗ trợ các thao tác kiểm tra source code trong quá trình làm việc (diff, check modifications, show history, merge source, …) Github có 2 phiên bản: miễn phí và trả phí. Với phiên bản có phí thường được các doanh nghiệp sử dụng để tăng khả năng quản lý team cũng như phân quyền bảo mật dự án. Còn lại thì phần lớn chúng ta đều sử dụng Github với tài khoản miễn phí để lưu trữ source code.
Github cung cấp các tính năng social networking như feeds, followers, và network graph để các developer học hỏi kinh nghiệm của nhau thông qua lịch sử commit. Nếu một comment để mô tả và giải thích một đoạn code. Thì với Github, commit message chính là phần mô tả hành động mà bạn thực hiện trên source code. Github trở thành một yếu tố có sức ảnh hưởng lớn trong cộng động nguồn mở.
Cùng với Linkedin, Github được coi là một sự thay thế cho CV của lập trình viên. Các nhà tuyển dụng cũng rất hay tham khảo Github profile để hiểu về năng lực coding của ứng viên. Giờ đây, kỹ năng sử dụng git và Github từ chỗ ưu thích sang bắt buộc phải có đối với các ứng viên đi xin việc. Github được coi là một mạng xã hội dành cho lập trình viên lớn nhất và dễ dùng nhất với các tính năng cốt lõi như: • Wiki, issue, thống kê, đổi tên project, project được đặt vào namespace là user.
24 • Watch project: theo dõi hoạt động của project của người khác. Xem quá trình người ta phát triển phầm mềm thế nào, project phát triển ra sao.