Chương 1 CƠ SỞ LÝ THUYẾT 1. Ngôn ngữ Java 1. Java là gì? Java là một ngôn ngữ lập lập trình, được phát triển bởi Sun Microsystem (14) vào năm 1995, là ngôn ngữ kế thừa trực tiếp từ C/C++ và là một ngôn ngữ lập trình hướng đối tượng. Vì sao ngôn ngữ này lại được đặt tên là Java? Java là tên một hòn đảo ở Indonesia - hòn đảo nổi tiếng với loại coffee Peet và cũng là loại nước uống phổ biến của các kỹ sư Sun.
Ban đầu Ngôn ngữ này được đặt tên là OAK (13), nhưng các luật sư của Sun (14) xác định rằng tên đó đã được đăng ký nhãn hiệu nên các nhà phát triển đã phải thay thế bằng một tên mới - và cũng vì lý do trên mà cái tên Java đã ra đời và trở thành tên gọi chính thức của Ngôn ngữ này - Ngôn ngữ Lập trình Java.1: Ngôn ngữ Java 1. Những đặc điểm cơ bản của Java Tiêu chí hàng đầu của Ngôn ngữ Lập trình Java là "Write Once, Run Anywhere" (Viết một lần, chạy mọi nơi), nghĩa là Java cho phép chúng ta viết code một lần và thực thi được trên các hệ điều hành khác nhau. Java có những đặc điểm cơ bản như sau: - Hướng đối tượng - Mạnh mẽ (thể hiện ở cơ chế tự động thu gom rác - Garbage Collection) và an toàn. SVTH: Võ Văn Hiếu 4 XÂY DỰNG WEBSITE ĐỌC TRUYỆN VÀ ÔN TẬP TỪ VỰNG CHO NGƯỜI MỚI HỌC TIẾNG ANH - Kiến trúc trung lập, độc lập nền tảng và có tính khả chuyển (Portability).
- Hiệu suất cao. - Đa nhiệm: Ngôn ngữ Java cho phép xâ dựng trình ứng dụng, trong đó nhiều quá trình có thể xảy ra đồng thời. Tính đa nhiệm cho phép các nhà lập trình có thể biên soạn phần mềm đáp ứng tốt hơn, tương tác tốt hơn và thực hiện theo thời gian thực. Ngôn ngữ JavaScript 1.
JavaScript là gì? JavaScript là ngôn ngữ lập trình website phổ biến hiện nay, nó được tích hợp và nhúng vào HTML[1] giúp website trở nên sống động hơn. JS[6] đóng vai trò như là một phần của trang web, thực thi cho phép Client-side script từ phía người dùng cũng như phía máy chủ (Nodejs) tạo ra các trang web động.2: Ngôn ngữ lập trình JavaScript 1. Những đặc điểm cả JavaScript Ưu điểm: - Chương trình JavaScript rất dễ học. - Lỗi JavaScript dễ phát hiện và sẽ giúp bạn sửa lỗi nhanh hơn.
- Các trình duyệt web có thể dịch nó bằng HTML[1] mà không cần một compiler. - JS[6] hoạt động trên rất nhiều nền tảng và trình duyệt khác nhau. SVTH: Võ Văn Hiếu 5 XÂY DỰNG WEBSITE ĐỌC TRUYỆN VÀ ÔN TẬP TỪ VỰNG CHO NGƯỜI MỚI HỌC TIẾNG ANH - Được đánh giá là ngôn ngữ lập trình nhẹ, nhanh so với các ngôn ngữ khác. - JS[6] có thể được gắn trên một số phần tử hoặc các sự kiện của website.
- Khi website có sử dụng JS[6] thì sẽ giúp cho trang website đó tương tác và tăng trải nghiệm người dùng khi truy cập. - Có thể tận dụng JS[6] để kiểm tra các đầu vào thay vì kiểm tra thủ công thông qua việc truy xuất DB[8]. - Giao diện phong phú Nhược điểm: - Dễ bị khai thác từ những hacker và scammer. - Có thể được dụng để thực thi mã độc trên máy tính của người dùng.
- Các thiết bị khác nhau có thể thực hiện JS[6] khác nhau dẫn đến không đồng nhất. - Vì tính bảo mật nên client-side JS[6] không cho phép đọc và ghi các file. - JS[6] không được hỗ trợ khi sử dụng trong kết nối mạng. - JS[6] không có khả năng đa luồng hoặc đa xử lý.
Client-side JavaScript là gì? Client-side JavaScript là form phổ biến được sử dụng phổ biến hiện nay. Một trang web không cần một HTML tĩnh, nhưng có thể bao gồm các chương trình có thể tương tác với người dùng hay điều khiển trình duyệt và tạo nội dung HTML động. JavaScript Framework là gì? Hình 1.3: JavaScript Frameworks SVTH: Võ Văn Hiếu 6 XÂY DỰNG WEBSITE ĐỌC TRUYỆN VÀ ÔN TẬP TỪ VỰNG CHO NGƯỜI MỚI HỌC TIẾNG ANH JavaScript Framework là thư viện được xây dựng dựa vào ngôn ngữ lập trình JavaScript. Từ đó, mỗi FW[7] được tạo ra để phục cho từng lĩnh vực khác nhau, sẽ giúp bạn có thêm nhiều thông tin rõ ràng hơn.
Hiện nay, có rất nhiều JavaScript FW[7] thông dụng như: - ReactJS: Thư viện dùng cho ứng dụng mobile. - NodeJS: Dùng để xây dựng và phát triển ứng dụng realtime từ phía máy chủ. - Angular: Dùng để xây dựng ứng dụng Single Page…. - VueJS: Dùng để xây dựng ứng dụng Single Page….
Framework là gì? Framework chính là một thư viện với các tài nguyên có sẵn cho từng lĩnh vực để lập trình viên sử dụng thay vì phải tự thiết kế. Có Framework, lập trình viên chỉ tìm hiểu và khai thác những tài nguyên đó, gắn kết chúng lại với nhau và hoàn chỉnh sản phẩm của mình. Đối với lập trình viên trong mỗi một lĩnh vực, họ cần phải xây dựng các lớp chương trình để xây dựng nên những phần mềm, ứng dụng thành phẩm. SpringBoot Framework Spring là một Java FW[7] lớn và phổ biến, làm được đủ mọi thứ.
Nó được chia thành nhiều module, mỗi module làm một chức năng. Spring được xây dựng dựa trên 2 khái niệm nền tảng là Dependency injection và AOP[16]. Spring Boot là một dự án phát triển bởi ngôn ngữ Java trong hệ sinh thái Spring FW[7]. Nó giúp cho các lập trình viên chúng ta đơn giản hóa quá trình lập trình một ứng dụng với Spring, chỉ tập trung vào việc phát triển business cho ứng dụng.
SVTH: Võ Văn Hiếu 7 XÂY DỰNG WEBSITE ĐỌC TRUYỆN VÀ ÔN TẬP TỪ VỰNG CHO NGƯỜI MỚI HỌC TIẾNG ANH Hình 1.4: SpringBoot Framework Những đặc điểm của SpringBoot Framework: - Auto config: tự động cấu hình, chỉ cần bắt đầu code và chạy - Xây dựng các bean dựa trên annotation thay vì XML[15] - Server Tomcat được nhúng ngay trong tập tin .Jar được xây dựng, chỉ cần chạy ở bất kì đâu Java cũng chạy được. VueJS Framework VueJS là một FW[7] Javascript được tạo bởi Evan You, giúp chúng ta xây dựng giao diện người dùng cũng như xây dựng Single Page Application thân thiện với người dùng, chúng xây dựng từ các thư viện, cách triển khai component, các chức năng đặc trưng của nó như Single File Component. Những đặc điểm của VueJS: - No build step required: Nếu sử dụng Vue thì sẽ không cần phải trải qua quá nhiều bước để build mà có thể đi thẳng vào vấn đề một cách dễ dàng. Bởi vì, Vue không cần sử dụng build tool quá phức tạp mới có thể xây dựng ứng dụng, chỉ cần khai báo một script là có thể phát triển một ứng dụng bằng Vue.
- Vue có thể tạo cấu trúc Project nhanh chóng hơn nhờ vào command line interface. - Tài liệu nhiều, cộng đồng lớn. SVTH: Võ Văn Hiếu 8 XÂY DỰNG WEBSITE ĐỌC TRUYỆN VÀ ÔN TẬP TỪ VỰNG CHO NGƯỜI MỚI HỌC TIẾNG ANH - Vue sở hữu một hệ sinh thái vững chắc nên có thể cung cấp một số add-ons rất hữu ích cho việc xây dựng một ứng dụng fontend điển hình nhất. Nó có thể bao gồm: vue-router, vuex, vue-test-utils, vue-dev-tools, vue-cli,… - Core Vue sở hữu tính năng tối thiểu bởi khả năng tập trung vào việc render giao diện cho người dùng và các tương tác của nó.
Chính vì vậy, nó sẽ cung cấp tối thiểu những tính năng cần thiết cho việc thiết kế và xây dựng kiến trúc. Nó sẽ giúp loại bỏ được các tính năng không cần thiết ra khỏi thư viện trong lõi Vue.js và đảm bảo cho Framework nhỏ gọn và mềm dẻo hơn. RESTful Api RESTful API là một tiêu chuẩn dùng trong việc thiết kế API cho các ứng dụng web (thiết kế Web services) để tiện cho việc quản lý các resource. Nó chú trọng vào tài nguyên hệ thống (tệp văn bản, ảnh, âm thanh, video, hoặc dữ liệu động…), bao gồm các trạng thái tài nguyên được định dạng và được truyền tải qua HTTP.
Hệ quản trị cơ sở dữ liệu MySQL MySQL là một hệ thống quản trị cơ sở dữ liệu mã nguồn mở RDBMS[17] hoạt động theo mô hình Client-Server. RDBMS[17] là một phần mềm hay dịch vụ dùng để tạo và quản lý các DB[10] theo hình thức quản lý các mối liên hệ giữa chúng. MySQL là hệ quản trị cơ sở dữ liệu tự do nguồn mở phổ biến nhất thế giới và được các nhà phát triển rất ưa chuộng trong quá trình phát triển ứng dụng. Vì MySQL là hệ quản SVTH: Võ Văn Hiếu 9 XÂY DỰNG WEBSITE ĐỌC TRUYỆN VÀ ÔN TẬP TỪ VỰNG CHO NGƯỜI MỚI HỌC TIẾNG ANH trị cơ sở dữ liệu tốc độ cao, ổn định và dễ sử dụng, có tính khả chuyển, hoạt động trên nhiều hệ điều hành cung cấp một hệ thống lớn các hàm tiện ích rất mạnh.
Với tốc độ và tính bảo mật cao, MySQL rất thích hợp cho các ứng dụng có truy cập CSDL[2] trên internet. Người dùng có thể tải về MySQL miễn phí từ trang chủ. MySQL có nhiều phiên bản cho các hệ điều hành khác nhau: phiên bản Win32 cho các hệ điều hành dòng Windows, Linux, Mac OS X, Unix, FreeBSD, NetBSD, Novell NetWare, SGI Irix, Solaris, SunOS… Hình 1.6: Hệ cơ sở dữ liệu MYSQL SVTH: Võ Văn Hiếu 10 XÂY DỰNG WEBSITE ĐỌC TRUYỆN VÀ ÔN TẬP TỪ VỰNG CHO NGƯỜI MỚI HỌC TIẾNG ANH Chương 2 PHÂN TÍCH THIẾT KẾ HỆ THỐNG 2. Hoạt động nghiệp vụ thực tế 2.
Khách vãng lai Người dùng chưa đăng nhập vào hệ thống có thể đọc được truyện, đọc được bình luận của các chương trong truyện. Ngoài ra còn xem được bảng xếp hạng. Thành viên Thành viên đã đăng nhập vào hệ thống có thể đọc truyện, mở khóa truyện tiếp theo để đọc bằng cách hoàn thành bài kiểm tra kiến thức của truyện hiện tại đang đọc. Trong quá trình đọc truyện, có thể thêm các từ vựng mới trong truyện vào Sổ từ vựng, phân chia từ vựng đó theo thư mục/chủ đề.
hành viên chọn các từ vựng muốn ôn tập (có thể bao gồm: từ đến hạn, từ chưa đến hạn, từ vừa thêm, từ đã ôn) vào mục đang ôn tập và bắt đầu ôn. Từ vựng đang ôn tập trong Sổ từ vựng có thể được ôn bằng những hình thức khác nhau, có thể linh động chuyển chế độ ôn phù hợp với từng từ vựng có ngày nhắc ôn khác nhau, cụ thể là các chế độ: thẻ thông minh, khoanh từ, điền từ. Thành viên có các thắc mắc, báo lỗi, góp ý, thảo luận có thể đăng bài để thảo luận với các thành viên khác. Quản trị viên: Quản trị viên cập nhật truyện, chương trong truyện, cập nhật các bài kiểm tra c ho truyện.
Cài đặt các giá điểm quy đổi của hộp từ vựng. Sửa số lượng yêu cầu và bật tắt trạng thái của nhiệm vụ hằng ngày.