Luận văn: Xây dựng hệ thống thi đua khen thưởng bằng GoLang và Angular 6

Tài liệu nghiên cứu 0260 tìm hiểu về golang angular 6 và ứng dụng xây dựng hệ thống thi đua khen thưởng tại trường đại, tổng hợp lý thuyết và thực hành, cung cấp kiến thức chuyên

Trường đại học

Trường Đại Học Quảng Nam

Chuyên ngành

Công Nghệ Thông Tin

Người đăng

Ẩn danh

Thể loại

Luận Văn
84
3
0

Phí lưu trữ

30 Point

Tóm tắt

I. Luận văn Golang Angular 6 Tổng quan hệ thống khen thưởng

Luận văn tốt nghiệp của sinh viên Lê Xuân Hoàng tại Trường Đại học Quảng Nam trình bày một nghiên cứu chuyên sâu về việc ứng dụng công nghệ hiện đại vào quản lý hành chính. Đề tài tập trung vào tìm hiểu ngôn ngữ lập trình Go (Golang) cho backend và Angular framework (cụ thể là Angular 6) cho frontend. Mục tiêu chính là xây dựng ứng dụng web hoàn chỉnh: một hệ thống thông tin quản lý công tác thi đua - khen thưởng. Nghiên cứu này không chỉ là một đồ án tốt nghiệp CNTT tiêu biểu mà còn là giải pháp thực tiễn cho các vấn đề quản lý tại trường. Luận văn chỉ ra rằng, việc kết hợp Golang và Angular, hai công nghệ được Google phát triển, mang lại hiệu suất cao và khả năng mở rộng tốt. Golang nổi bật với khả năng xử lý đồng thời (concurrency) và biên dịch trực tiếp ra mã máy, giúp tối ưu hóa hiệu năng phía máy chủ. Trong khi đó, Angular 6 là một framework mạnh mẽ để xây dựng các ứng dụng Single Page Application (SPA), mang lại trải nghiệm người dùng mượt mà và linh hoạt. Đây là một ví dụ điển hình của kiến trúc full-stack development, áp dụng mô hình client-server để giải quyết một bài toán cụ thể trong môi trường giáo dục, làm nền tảng cho nhiều luận văn công nghệ thông tin khác.

1.1. Mục tiêu và đóng góp của luận văn Lê Xuân Hoàng

Mục tiêu cốt lõi của đề tài, theo tác giả Lê Xuân Hoàng, là nắm vững kiến thức nền tảng về Golang và Angular 6, từ đó áp dụng để xây dựng một phần mềm quản lý khen thưởng thực tế. Đóng góp của luận văn thể hiện ở ba khía cạnh chính. Thứ nhất, nó cung cấp một cái nhìn tổng quan, chi tiết về cấu trúc và các tính năng của Golang và Angular, làm tài liệu tham khảo giá trị cho sinh viên ngành Công nghệ thông tin. Thứ hai, luận văn trình bày một quy trình hoàn chỉnh từ phân tích, thiết kế cơ sở dữ liệu, đến triển khai một ứng dụng web thực tế. Cuối cùng, sản phẩm của đề tài là một hệ thống thử nghiệm có khả năng giải quyết trực tiếp những bất cập trong công tác quản lý nhân sự và thi đua tại Trường Đại học Quảng Nam, cho thấy tiềm năng ứng dụng công nghệ mới vào cải cách hành chính.

1.2. Lý do chọn Golang và Angular cho hệ thống quản lý

Việc lựa chọn công nghệ là một yếu tố then chốt quyết định sự thành công của dự án. Luận văn đã nêu rõ lý do chọn Golang cho backend là vì hiệu suất vượt trội. Golang được thiết kế để khai thác tối đa nền tảng vi xử lý đa lõi và hỗ trợ tính toán song song hiệu quả, rất phù hợp cho các hệ thống cần xử lý nhiều yêu cầu đồng thời. Về phía frontend, Angular 6 được chọn vì là một framework UI mạnh mẽ, xây dựng dựa trên TypeScript, giúp mã nguồn dễ bảo trì và mở rộng. Cấu trúc dựa trên component và cơ chế two-way-binding của Angular cho phép xây dựng giao diện người dùng có tính tương tác cao, đáp ứng nhanh chóng mà không cần tải lại toàn bộ trang, một đặc tính quan trọng của các ứng dụng Single Page Application (SPA).

II. Phân tích thách thức trong quản lý thi đua khen thưởng

Trước khi có một giải pháp công nghệ, quy trình quản lý thi đua khen thưởng tại nhiều đơn vị, bao gồm cả Trường Đại học Quảng Nam, vẫn còn tồn tại nhiều hạn chế. Luận văn của Lê Xuân Hoàng đã tiến hành khảo sát hiện trạng và chỉ ra các thách thức lớn. Toàn bộ quy trình từ đề xuất, lập danh sách, thành lập hội đồng, đánh giá thi đua, cho đến xét duyệt khen thưởng đều được thực hiện thủ công qua giấy tờ, sổ sách. Cách làm này không chỉ tốn thời gian, công sức và nguồn nhân lực mà còn tiềm ẩn nhiều rủi ro. Việc lưu trữ hồ sơ giấy có thể dẫn đến thất lạc, hư hỏng dữ liệu quan trọng. Tra cứu thông tin cán bộ, lịch sử khen thưởng trở nên khó khăn và chậm chạp. Hơn nữa, quy trình bỏ phiếu, tổng hợp kết quả thủ công thiếu đi tính minh bạch và dễ xảy ra sai sót. Những vấn đề này đã tạo ra một yêu cầu cấp thiết về việc tin học hóa, xây dựng một hệ thống thông tin quản lý tập trung, an toàn và hiệu quả. Việc áp dụng một phần mềm quản lý khen thưởng chuyên dụng là giải pháp tối ưu để khắc phục các nhược điểm của phương pháp truyền thống, đảm bảo tính chính xác, kịp thời và minh bạch trong toàn bộ nghiệp vụ.

2.1. Hiện trạng nghiệp vụ quản lý khen thưởng thủ công

Khảo sát thực tế tại Trường Đại học Quảng Nam cho thấy công tác quản lý nhân sự liên quan đến thi đua, khen thưởng gặp nhiều khó khăn. Việc quản lý danh sách cán bộ đề nghị khen thưởng, cập nhật thông tin cá nhân, chức danh, chức vụ đều thực hiện trên giấy tờ. Các quyết định, căn cứ pháp lý cũng được lưu trữ rời rạc. Khi cần thành lập hội đồng thi đua, việc tổng hợp và gửi thông báo đến các thành viên mất nhiều thời gian. Quy trình bỏ phiếu và kiểm phiếu diễn ra thủ công, làm giảm hiệu suất và có thể ảnh hưởng đến tính khách quan của kết quả. Đây là những nút thắt lớn cần một giải pháp công nghệ thông tin để tháo gỡ.

2.2. Yêu cầu đặt ra cho một phần mềm quản lý hiện đại

Từ những phân tích về hiện trạng, luận văn đã xác định các yêu cầu chức năng và phi chức năng cho hệ thống mới. Về chức năng, hệ thống phải cho phép quản trị viên cập nhật thông tin cán bộ, đơn vị, danh hiệu thi đua, và các căn cứ pháp lý. Hệ thống cần hỗ trợ tạo và quản lý các hội đồng thi đua, theo dõi quá trình bỏ phiếu trực tuyến và tự động tổng hợp kết quả. Về phi chức năng, hệ thống phải đảm bảo tính bảo mật, phân quyền rõ ràng cho các tác nhân (Quản trị, Thành viên hội đồng), có giao diện thân thiện, dễ sử dụng và phải hoạt động ổn định, đáp ứng nhanh chóng các yêu cầu từ người dùng. Những yêu cầu này là cơ sở để tiến hành thiết kế cơ sở dữ liệu và xây dựng các module của ứng dụng.

III. Phương pháp xây dựng Backend với Golang cho hệ thống

Phần lõi của hệ thống quản lý thi đua khen thưởng là backend, được xây dựng hoàn toàn bằng ngôn ngữ lập trình Go. Luận văn đã trình bày chi tiết quá trình phát triển phía máy chủ, từ việc quản lý các gói thư viện (package) đến xử lý các yêu cầu HTTP. Golang cung cấp một bộ thư viện chuẩn mạnh mẽ, đặc biệt là gói net/http, cho phép xây dựng một máy chủ web hiệu năng cao mà không cần đến các Go web framework bên ngoài. Kiến trúc của backend được thiết kế theo hướng RESTful API Golang. Điều này có nghĩa là backend sẽ cung cấp các điểm cuối (endpoints) để frontend có thể tương tác thông qua các phương thức HTTP tiêu chuẩn (GET, POST, PUT, DELETE) để quản lý dữ liệu như cán bộ, hội đồng, và kết quả bỏ phiếu. Một trong những điểm mạnh nhất của Golang được tận dụng trong dự án là khả năng xử lý đồng thời (concurrency) thông qua Goroutines và Channels. Tính năng này đặc biệt hữu ích khi hệ thống cần xử lý nhiều yêu cầu bỏ phiếu cùng lúc từ các thành viên hội đồng, đảm bảo hệ thống không bị quá tải và phản hồi nhanh chóng. Việc làm việc với cơ sở dữ liệu PostgreSQL cũng được trình bày rõ ràng, sử dụng các thư viện (driver) tương thích để thực hiện các thao tác truy vấn, cập nhật dữ liệu một cách an toàn và hiệu quả, chống lại các cuộc tấn công SQL Injection.

3.1. Thiết kế và triển khai RESTful API Golang hiệu quả

Hệ thống backend được cấu trúc thành một tập hợp các RESTful API Golang. Mỗi API tương ứng với một tài nguyên của hệ thống (ví dụ: /canbo, /hoidong, /phieubau). Luận văn mô tả việc sử dụng gói net/http để tạo bộ định tuyến (router), xử lý các yêu cầu đến và gọi các hàm xử lý tương ứng. Dữ liệu được trao đổi giữa client và server chủ yếu dưới định dạng JSON. Cách tiếp cận này tuân thủ chặt chẽ mô hình client-server, giúp tách biệt hoàn toàn logic của backend và frontend, tạo điều kiện cho việc phát triển và bảo trì độc lập.

3.2. Xử lý đồng thời và làm việc với cơ sở dữ liệu PostgreSQL

Điểm nhấn công nghệ của backend là việc áp dụng Go Concurrency. Tác giả đã sử dụng Goroutines để xử lý các tác vụ nặng hoặc các yêu cầu đồng thời, chẳng hạn như ghi nhận phiếu bầu từ nhiều thành viên. Điều này giúp tăng đáng kể khả năng đáp ứng của hệ thống. Về lưu trữ, PostgreSQL được chọn làm hệ quản trị cơ sở dữ liệu. Luận văn trình bày cách sử dụng package database/sql và driver lib/pq để kết nối và thực thi các câu lệnh SQL. Việc sử dụng các câu lệnh chuẩn bị trước (prepared statements) giúp tăng cường bảo mật và tối ưu hóa hiệu suất truy vấn, đây là một kinh nghiệm quan trọng được chia sẻ trong các báo cáo thực tập và đồ án tốt nghiệp.

IV. Hướng dẫn xây dựng Frontend với Angular 6 cho ứng dụng

Giao diện người dùng của hệ thống được phát triển bằng Angular framework phiên bản 6. Đây là một lựa chọn chiến lược để xây dựng một ứng dụng Single Page Application (SPA) hiện đại, mang lại trải nghiệm tương tác cao. Toàn bộ phần lập trình frontend Angular được viết bằng TypeScript, một phiên bản nâng cao của JavaScript, cung cấp kiểu tĩnh và các tính năng hướng đối tượng mạnh mẽ, giúp mã nguồn trở nên rõ ràng và dễ quản lý hơn. Cấu trúc của ứng dụng Angular được tổ chức xoay quanh các Component. Mỗi Component đóng vai trò là một khối xây dựng giao diện, bao gồm một template HTML, một file CSS để tạo kiểu, và một lớp TypeScript để xử lý logic. Luận văn đã mô tả chi tiết cách tạo và quản lý các component cho từng chức năng như đăng nhập, quản lý cán bộ, quản lý hội đồng, và giao diện bỏ phiếu. Cơ chế Routing trong Angular được sử dụng để điều hướng giữa các trang (component) khác nhau mà không cần tải lại trang, tạo cảm giác liền mạch cho người dùng. Dữ liệu được hiển thị và cập nhật thông qua cơ chế Data Binding. Hơn nữa, Http Service (HttpClient) được dùng để giao tiếp với RESTful API Golang ở backend, gửi yêu cầu lấy dữ liệu và cập nhật thông tin một cách bất đồng bộ.

4.1. Cấu trúc Component và cơ chế Routing trong Angular

Luận văn trình bày cách phân chia ứng dụng thành các component tái sử dụng được. Ví dụ, có AppComponent là component gốc, và các component con như CanBoComponent, HoiDongComponent. Mỗi component quản lý một phần giao diện và logic riêng. Hệ thống Routing được cấu hình trong file app-routing.module.ts, định nghĩa các đường dẫn URL tương ứng với từng component. Khi người dùng nhấp vào một liên kết, Angular Router sẽ hiển thị component tương ứng mà không làm mới trình duyệt, đây là nguyên lý cốt lõi của việc xây dựng ứng dụng web dạng SPA.

4.2. Tương tác với API qua Http Service và Data Binding

Để hiển thị dữ liệu động, các component sử dụng HttpClient service để gửi các yêu cầu HTTP đến backend. Dữ liệu nhận về (thường là JSON) được gán cho các thuộc tính của component. Sau đó, cơ chế Data Binding của Angular, ví dụ như *ngFor để lặp qua danh sách hay {{ ten_bien }} để hiển thị giá trị, sẽ tự động cập nhật giao diện người dùng. Kỹ thuật này giúp giao diện luôn đồng bộ với dữ liệu mà không cần can thiệp trực tiếp vào DOM, làm cho quá trình lập trình frontend Angular trở nên đơn giản và hiệu quả hơn.

V. Kết quả xây dựng hệ thống quản lý thi đua tại ĐH Quảng Nam

Chương cuối của luận văn tập trung vào việc mô tả sản phẩm cuối cùng: hệ thống quản lý thi đua khen thưởng được triển khai thử nghiệm. Phần này trình bày chi tiết quá trình từ phân tích, mô hình hóa đến việc cài đặt và triển khai hệ thống. Tác giả đã sử dụng các biểu đồ Use Case để mô hình hóa chức năng và xác định các tác nhân của hệ thống, bao gồm Quản trị và Thành viên hội đồng. Dựa trên phân tích yêu cầu, một mô hình quan hệ dữ liệu đã được thiết kế, làm cơ sở cho việc thiết kế cơ sở dữ liệu trên PostgreSQL. Hệ thống được phát triển theo mô hình client-server, với Go server được kích hoạt để lắng nghe các yêu cầu API và Angular website được biên dịch và phục vụ cho người dùng. Luận văn đã cung cấp một số hình ảnh giao diện chương trình, minh họa các chức năng chính như trang đăng nhập, trang chủ, cập nhật cán bộ, quản lý hội đồng, và giao diện bỏ phiếu. Kết quả thử nghiệm cho thấy hệ thống hoạt động ổn định, đáp ứng được các yêu cầu nghiệp vụ đã đặt ra. Đây là một minh chứng rõ ràng về khả năng áp dụng thành công các công nghệ mới vào giải quyết bài toán thực tế, là một đồ án tốt nghiệp CNTT có tính ứng dụng cao.

5.1. Mô hình hóa chức năng và thiết kế cơ sở dữ liệu

Quá trình phân tích và thiết kế hệ thống được thực hiện bài bản. Biểu đồ Use Case được sử dụng để xác định rõ các chức năng của từng tác nhân: Quản trị có quyền cập nhật dữ liệu, tạo hội đồng, trong khi Thành viên hội đồng có thể xem thông tin và thực hiện bỏ phiếu. Từ đó, tác giả đã xây dựng mô hình quan hệ thực thể (ERD) và chuyển thành lược đồ cơ sở dữ liệu vật lý trên PostgreSQL. Việc thiết kế cơ sở dữ liệu được tối ưu để đảm bảo tính toàn vẹn dữ liệu và hiệu quả truy vấn.

5.2. Giao diện và kết quả triển khai chương trình thử nghiệm

Hệ thống được triển khai thành công với hai thành phần chính: một Go server chạy ở backend và một ứng dụng Angular chạy ở frontend. Luận văn đã trình bày các giao diện trực quan, cho thấy hệ thống cho phép người dùng thực hiện các nghiệp vụ một cách dễ dàng. Giao diện quản trị cho phép theo dõi phiên bầu chọn theo thời gian thực và xem kết quả ngay sau khi phiên kết thúc. Kết quả này khẳng định rằng sự kết hợp giữa Golang và Angular là một lựa chọn phù hợp cho việc xây dựng ứng dụng web quản lý phức tạp, đáp ứng nhu cầu xét duyệt khen thưởng một cách hiệu quả.

27/05/2025

Trích đoạn nội dung tài liệu

Chương 1: Tổng quan về Golang và Angular Chương 2: Phat irién we bsite trén nén tang GoLang va. Angular Chuong 3: Xay dung hé thong Quan by thi dua — khen thong tai truéng Dai hoc Quang Nam KET LUAN TAI LIEU THAM KHAO Phan 2: NOI DUNG NGHIEN CUU CHUONG 1: TONG QUAN VE GOLANG VA ANGULAR 1. Tổng quan về GoLang 1. Giới thiệu GoLang Go là một ngôn ngữ lập trình được thiết kế dựa trên tư duy lập trình hệ thống.

Go được phát triển bởi Robert Griesemer, Rob Pike va Ken Thompson tại Google vào năm 2007. Điểm mạnh của Go là bộ thu gom rác và hỗ trợ lập trình đồng thời (trong tự như đa luồng — multihreading). Go là một ngôn ngữ lập trình đồng bộ, được biên dịch có cú pháp khá cơ bản như C/C++, Java, Pascal. Go được giới thiệu vào năm.

2009 và được sử dụng hầu hết trong các sản phẩm của Google. Người ta thường sử dụng Go cho Backend Application hoặc hệ thống API nâng cao. Trong năm 2019 này, Go sẽ phát triển Go Module giúp cho việc triển khai dự án Go đễ dàng hơn, giảm sự phụ thuộc vào GoPath như trước đây. Trang web chính thức của ngôn ngữ GoLang là http:/golang.

Ngôn ngữ GoLang có một hình thái và ngữ nghĩa lập trình riêng, giúp nó đảm bảo hiệu suất làm việc mà vẫn mang lại những điều thú vị khi ta lập trình với nó. GoLang cũng cung cấp một bộ thư viện chuẩn khá toàn diện, nó cung cấp tất cả các package cốt lõi cần đẻ xây dựng chương trình. Một số đặc điểm của GoLang Các đặc điểm nổi bật của GoLang có thể liệt kê ra gồm có: - Go là ngôn ngữ lập trình biên soạn (compiled language). Phần mềm viết bởi Go cần được biên soạn sử dụng Go compile trước khi có thể chạy được.

- Go có cú pháp trơng tự như C. - Go là ngôn ngữ lập trình kiểu tĩnh (hay static type), cdc biến hoặc dữ liệu trong GoLang sẽ không thay đổi trong suốt chương trình. - GoLang hỗ trợ xử lí đa luồng multi-threadiing thông qua các khái niệm -4- GoRoutine va Channel. - GoLang hễ trợ tính năng quản lí bộ nhớ mạnh mẽ mà C không có.

- GoLang sở hữu một bộ thư viện phong phú mà lập trình viên có thể tận dung. Ngôn ngữ lập trình GoLang đã được ra mắt cộng đồng vào tháng 11/2019 va được sử dụng trong một số hệ thống của gã khổng lẻ công nghệ Google. Ngoài ra GoLang cũng là ngôn ngữ được sử dụng đẻ viết phần mềm nỏi tiếng Docker. Concurrency: \ Scalability: Error Checks: Hình 1.1: Các đặc điểm của Golang 1.

Các tính năng cốt lõi của GoLang Các tính năng của GoLang có thể liệt kê ra như sau: -3- - Cross plaform: Ngôn ngữ Go cũng biên dịch như Java, nhưng không như Java phải cần Java Virtual Machine để thực thi vì Java biên dịch ra Byte code. Go biên dịch ra mã máy (Machine code) nên có thể chạy ngay với hệ điều hành nó biên dịch mà không cần cài đặt gì thêm. Nghĩa là từ máy tính của mình có thể biên dịch ra các chương trình chạy được trên Mac, Windows, Linux sau khi biên dịch, chỉ cần 1 file duy nhất, copy đến hệ điều hành đích là chạy, rất đơn giản! Đây là tính năng ấn tượng nhất, bao gềm cả việc build rất nhanh. - Sử dụng nhiều Core: Ö những năm 90, một trong những thay đổi lớn nhất của phần cứng máy tính đó chính là việc bổ sung thêm các core.

Quad-cores và Octa- cores CPUs giúp nâng cao đáng kế hiệu năng xử lí. Tuy nhiên, các ngôn ngữ được tạo ra vào trước thời điểm đó chỉ chạy trên các máy tính đơn nhân, và chúng được xây dụng không phải chủ đích đẻ chạy trên nhiều nhân của CPU. Nhưng Go thì khác, việc sinh sau đẻ muộn đã tạo ra lợi thế cho nó, phần cứng có thể mở rộng core, khiến cho Go trở thành ngôn ngữ có thể đễ dàng tương thích hon. - tấn đề tương tranh (Concurreney và Goroutine): Concurrency là tính năng, chủ lực của ngôn ngữ lập trình Go đề tận dụng năng lực xử lí của CPU.

Thông thường các ngôn ngữ lập trình khác phải phụ thuộc sự cấp phát tài nguyên của hệ thống điều hành để có thể chạy được concurrency, trong khi đó Go có thể chạy concurrency mà không phụ thuộc hệ điều hành. Khái niệm concurrency gần giếng với thread, các tác vu trong concurrency duoc gọi là goroutine. Trong Go thì việc giao tiếp giữa các goroutine khá đơn giản với channel (kênh), có thể truyền dữ liệu giữa các goroutine với nhau bằng bất cứ loại dữ liệu nào. Nhờ việc sử dụng bộ vi xử lí đa nhân, mỗi goroutine chỉ sử dụng 2KB bộ nhớ, như vậy chúng ta có thể tạo ra hàng triệu goroutine bất kỳ lúc nào.

Goroutine dem lại những lợi ích: + Sử dụng bộ nhớ một cách linh hoạt cho vùng nhớ stack, sẽ tự tăng vùng nhớ khi cần thiết. + Thời gian khởi động của goroutine nhanh hơn so với Thread. + Giao tiếp giữa các goroutine sử dụng channel cực an toàn. + Goroutine va OS Thread khéng tổn tại song song nhau.

Mỗi goroutine có thể chạy đồng thời nhiều threads, chúng có thể ghép vào OS Threads. - Đễ đăng bảo trì: Cú pháp của Go cực kì đơn giản, không có những cú pháp quá phức tạp giếng như các ngôn ngữ khác. Những người phát triển Go đến từ Google, nới có quy mô code-base lớn và hàng nghìn developers cùng làm việc. Vì vay source code phải đơn giản để bất kì developers nào cũng có thé hiểu được và mỗi đoạn code đều hạn chế tối thiểu side-effect.

Điều đó làm cho code có thể bảo trì hoặc nâng cấp một cách dé dang và đơn giản hơn. - Bỏ qua nhiều đặc tính của lập trình OOP: Không có class mà mọi thứ đều được gói vào trong các package. Go chỉ có struct (cấu trúc). Không hễ trợ kế thừa, không có constructor (ham tạo), anotation (chú thích), generics (kiểu dữ liệu không định nghĩa trước) hay exceptions (xử lí ngoại lệ).

Chính vì vậy mà Go trở nên khác biệt so với phần còn lại. Nhìn theo mặt tích cực, nó khiến code trở nên sáng sủa, ngắn gon và dễ hiểu hơn. Ưu điểm và nhược điểm của GoLang a) Un diém: - Tếc độ thực thi nhanh nhờ biên dịch thẳng ra mã máy. - Linh hoạt: Trình compile biên dịch ra mã nhị phân và chạy được trên các nền tảng hệ điều hành khác nhau.

- Khả năng tương thích: Có thể liên kết với các thư viện bên ngoài hoặc thực hiện các lệnh gọi hệ thống. - Hỗ trợ: Go được cài đặt mặc định trong nhiều bản phát hành phổ biến của Linux cũng như nhận được sự hễ trợ tương thích trên nhiều IDE (Visual studio code, Atom, Komodo IDE, GoLand). b) Nhược điểm: - Do kích thước nhỏ gọn nên một số tính năng trong lập trình OOP sẽ không có trong Go. - Kích thước chương trình sau khi đóng gói lớn: Code được biên dịch theo kiểu static theo mặc định.

Các này làm đơn giản hoá quá trình xây dựng và triển khai -7- nhung dan dén chi mét doan code don gian “Hello world!” lai nang dén 1.5MB trén windows 64-bit. - Document page không được trau chuốt như những ngôn ngữ khác. - Quản lí lễi trong GoLang đòi hỏi bạn phải thực hiện kiểm tra lỗi rõ ràng, có thể khiến cho việc xử lí lỗi trở nên khó khăn. Tuy nhiên nếu hiểu được các quản lí lãi trong GoLang thì nó sẽ trở thành ưu điểm vì bạn sẽ có một ứng dụng về tổng thẻ là sạch hơn.

Cài đặt GoLang và yêu cầu hệ thống Cài đặt môi trường GoLang khá đơn giản, thông qua các bước như sau: ~ Bước 1: Cài đặt Go runtime Downloads Aller downloadingu biney we euse suitable for your ssi, please foo the islllalion msvustons Hf you are building for scurce, fallow the souroe instalation instructions ‘See the velsase history for ors info7mat on about Go velsesas Featured downloads Mero: LWincows Apple macOS Linux >>”. mac fut ena F—.124 linux-amdéd tar.2: Các bộ cài đặt của Go trên các nên tảng Tuy cập vào website https://golang.org/dl và chạy file go<version>.msi (32-bit) hodc go<version>.msi (64- bit), tuy vào hệ điều hành bạn đang sử dụng. Bộ cài này rất tiện lợi, nó sẽ tự động config hết mọi thứ cần thiết. - Bước 2: Cài đặt biến môi trường: Click chuột phải vào My computer chọn Properties, chọn tab Advanced và click nút Enviroment Variables.

Tao mét biến mới tên là GoReot với giá trị là CAGo. Sau d6 chon biến PATH có sẵn, thêm vào sau dấu chấm phẩy; cuối dòng đường dẫn sau: CGo\bm Hình 1.3: Thiết lập biến môi trường cho Go ~ Bước 3: Chạy thử 'Vào terminal trên Linux/MacOS hoặc command line trên Windows và gõ lệnh sau: $go version. Néu Go duoc cài đặt day đủ thì nội dung ouput sẽ giống như thé nay: go version go1. Seanad eee Hình 1.4: Kiểm tra tuết lập môi trường Go ~ Bước 4: Viết chương trình đầu tiên với GoLang Hiện nay có rất nhiều IDE hễ trợ cho lập trình Go, trong đó có thể kế đến như Visual Studio Code, Atom, LiteIDE, Wide.

Mét IDE ntra rat manh mé va được tạo ra nhằm cung cấp môi trường làm việc tốt nhất cho Go dé chinh la GoLand — IDE trên nên tảng Intelli7 với tính năng hễ trợ mã hoá, trình gỡ lỗi và thiết bị đầu cuối tích hợp. Ở đây em chọn GoLand làm IDE để lập trình GoLang. Giao diện startup của GoLand: ar ee es ace ae GoLand Version 2019, +E Na Pol 1 Open Project, # Lheecsuktrer Verien Control ~ .eng)2U3IUIL1-AP chất .Jahoang\e_sngìthd 2 ~esktop ere pacssepp seesamareet sả.5: Giao điện Startup phan mém GoLand Chon New Project => sau đó chọn kiểu project là Go Module rồi thiết lập project name,các cầu hình khác ta có thể đẻ mặc định, sau đó nhấn chon Create. lsEten Phøơng: 3adinfsuEzomeDsjzrt 39800 SỬ a2 mm › š % Das nine Pry im we [1Vehdeingmeáe 2 TT © Rev pp Beokxee Bo a Hình 1.6: Tao du Gn GoLang Cấu trúc project của chương trình Go như hình bên.

Trong đó ta để ý đến Extenal Libraries. Đây chính là cơ chế quan li package trong Go. Mễi package chính là một project GoLang được viết sẵn cho những mục đính cụ thể và chúng ta có thể gọi ra để sử dụng khi cần. Nó giống như viée Add reference cdc thu vién dll trong lap trình C#.mod © ill External Libraries li Go Moduler “Hello ~ ØGosDKIrla a archive buns rae bytes end ere es context crypto poses etnies encoding eee fog tent Hình 1.7: Cấu trúc dự án Go Để cài đặt thêm package, trong terminal của GoLand ta dùng lệnh go get <package-name>.

Hầu hết các package của Go đều nằm trên github. Vi du dé cai package gorm (Database ORM cho Go), ta g6 nhu sau: Go get github.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ

Tài liệu này cung cấp cái nhìn tổng quan về các vấn đề liên quan đến nghiên cứu và ứng dụng trong lĩnh vực xây dựng và công nghệ. Mặc dù không có tiêu đề cụ thể, nhưng nội dung có thể bao gồm các khía cạnh như phân tích rủi ro, ứng dụng công nghệ mới, và các phương pháp cải tiến trong xây dựng. Độc giả sẽ tìm thấy nhiều lợi ích từ việc nắm bắt các xu hướng và công nghệ hiện đại, giúp họ nâng cao kiến thức và áp dụng vào thực tiễn.

Để mở rộng thêm kiến thức, bạn có thể tham khảo các tài liệu liên quan như Nghiên cứu ứng xử của nền đất yếu gia cố bằng trụ đất xi măng có cốt cứng, nơi bạn sẽ tìm hiểu về các phương pháp gia cố nền đất trong xây dựng. Ngoài ra, tài liệu Phân tích rủi ro tài chính dự án xây dựng chung cư ở thành phố Hồ Chí Minh sẽ giúp bạn hiểu rõ hơn về các yếu tố tài chính trong các dự án xây dựng. Cuối cùng, tài liệu Đánh giá hiệu quả dự án ứng dụng mô hình thông tin công trình BIM trong quản lý thiết kế công trình hạ tầng kỹ thuật đô thị sẽ cung cấp cái nhìn sâu sắc về việc ứng dụng công nghệ BIM trong quản lý thiết kế. Những tài liệu này sẽ là cơ hội tuyệt vời để bạn khám phá thêm và mở rộng kiến thức của mình trong lĩnh vực này.