Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (3.8 MB, 18 trang )
<span class="text_page_counter">Trang 1</span><div class="page_container" data-page="1">
<b>TRƯỜNG ĐẠI HỌC GIAO THÔNG VẬN TẢI KHOA CÔNG NGHỆ THÔNG TIN </b>
<b>**************** </b>
<b> BÁO CÁO THỰC TẬP TỐT NGHIỆP </b>
Giảng viên hướng dẫn : ThS. Nguyễn Lê MinhSinh viên thực hiện : Đặng Quốc Tuấn
<b>Hà Nội, 04/03/2024 </b>
</div><span class="text_page_counter">Trang 2</span><div class="page_container" data-page="2"><b>LỜI CẢM ƠN </b>
Lời đầu tiên em xin chân thành cảm ơn các Thầy Cô khoa Công Nghệ Thông Tin Trường Đại Học Giao Thông Vận Tải đã nhiệt tình giảng dạy và truyền đạt cho em những kiến thức quan trọng và mới mẻ trong 4 năm học tại trường.
Đặc biệt, em xin cảm ơn thầy Nguyễn Lê Minh vì sự hướng dẫn tận tình và theo dõi sát sao, đầy tinh thần trách nhiệm trong suốt quá trình em thực hiện Báo cáo thực tập và Đồ án Tốt nghiệp.
Em cũng xin chân thành cảm ơn các anh chị trong công ty FSoft Việt Nam đã tạo điều kiện cho em được học tập và hoàn thành kì thực tập, cũng như được trải nghiệm một môi trường làm việc chuyên nghiệp và năng động.
Trong quá trình thực hiện Báo cáo thực tập, em nhận thấy mình đã cố gắng hết sức nhưng vì kiến thức cịn hạn hẹp nên cịn nhiều thiếu sót. Em rất mong nhận được những ý kiến đóng góp của quý Thầy Cô để kiến thức của em trong lĩnh vực này được hồn thiện hơn. Đồng thời có điều kiện bổ sung và nâng cao kiến thức của mình.
Cuối cùng, em xin gửi đến quý Thầy Cô lời chúc sức khỏe và thành công trongsự nghiệp giảng dạy.
</div><span class="text_page_counter">Trang 4</span><div class="page_container" data-page="4"><b>I. Nội dung kĩ thuật đã tìm hiểu được 1. SQL</b>
-Ngơn ngữ truy vấn có cấu trúc hoặc SQL có thể được sử dụng để truy cập và quản lý cơ sở dữ liệu.
-Năm 1986, Viện Tiêu chuẩn Quốc gia Hoa Kỳ (ANSI) và Tổ chức Tiêu chuẩn hóaQuốc tế (ISO) đều cơng nhận SQL là một tiêu chuẩn. SQL có khả năng chạy các truy vấn đối với cơ sở dữ liệu. Từ cơ sở dữ liệu, SQL có thể lấy thơng tin. Cơ sở dữliệu có thể có các bản ghi được thêm bằng SQL. Các bản ghi của cơ sở dữ liệu A cóthể được cập nhật bằng SQL. Cơ sở dữ liệu A có thể xóa các bản ghi bằng SQL. Tạo cơ sở dữ liệu mới bằng SQL. Trong cơ sở dữ liệu, SQL có thể tạo các bảng mới. Trong cơ sở dữ liệu, SQL có thể tạo ra các thủ tục được lưu trữ. Cơ sở dữ liệu có thể có các dạng xem được tạo thông qua SQL. Các bảng, thủ tục và dạng xem đều có thể có các quyền được định cấu hình qua SQL
</div><span class="text_page_counter">Trang 5</span><div class="page_container" data-page="5"><b>2. C#</b>
<b>- C# là ngơn ngữ lập trình hướng đối tượng do Microsoft tạo ra chạy </b>
trên .NET Framework.
<b>- C# có nguồn gốc từ họ C và ngơn ngữ này gần với các ngôn ngữ phổ biến </b>
</div><span class="text_page_counter">Trang 6</span><div class="page_container" data-page="6"><b>3.</b>
<b>- Next.js là một framework React để xây dựng các ứng dụng web full-stack. </b>
Người dùng sử dụng Thành phần React để xây dựng giao diện người dùng vàNext.js để có các tính năng bổ sung và tối ưu hóa.
<b>- Về cơ bản, Next.js cũng tóm tắt và tự động định cấu hình cơng cụ cần thiết </b>
cho React, như đóng gói, biên dịch, v.v. Điều này cho phép lập trình viên tậptrung vào việc xây dựng ứng dụng của mình thay vì dành thời gian cho việc cấu hình.
<b>- Next.js có thể giúp xây dựng các ứng dụng React tương tác, năng động và </b>
nhanh chóng.
<b>* Các tính năng của Next Js</b>
<b><small>Routing</small></b> <sup>Bộ định tuyến dựa trên hệ thống tệp được xây dựng dựa trên Thành phần máy chủ hỗ trợ </sup><sub>bố cục, định tuyến lồng nhau, trạng thái tải, xử lý lỗi, v.v.</sub>
<small>Hiển thị phía máy khách và phía máy chủ với các thành phần máy khách và máy chủ. Đượctối ưu hóa hơn nữa với giao diện tĩnh và động trên máy chủ có Next.js. Cung cấp dịch vụ trực tuyến trên thời gian thực và Node.js.</small>
</div><span class="text_page_counter">Trang 7</span><div class="page_container" data-page="7"><b><small>Data Fetching</small></b> <sup>Tìm nạp dữ liệu được đơn giản hóa bằng tính năng async/await trong Thành phần máy chủ </sup><sub>và API tìm nạp mở rộng để ghi nhớ yêu cầu, lưu vào bộ nhớ đệm dữ liệu và xác thực lại.</sub><b><small>Styling</small></b> <small>Hỗ trợ các phương pháp tạo kiểu , bao gồm Mô-đun CSS, CSS Tailwind và CSS-in-JS</small>
<b><small>Optimizations</small></b> <sup>Tối ưu hóa hình ảnh, phơng chữ và tập lệnh để cải thiện Trải nghiệm người dùng và Các chỉ</sup><sub>số quan trọng về trang web cốt lõi của ứng dụng .</sub><b><small>TypeScript</small></b> <sup>Cải thiện hỗ trợ cho TypeScript, với tính năng kiểm tra loại tốt hơn và biên dịch hiệu quả </sup><sub>hơn, cũng như Trình kiểm tra loại và Plugin TypeScript tùy chỉnh.</sub>
<b>* Lợi ích khi sử dụng</b>
Lua thường được mơ tả là ngơn ngữ "đa mơ hình", cung cấp một tập hợp nhỏcác tính năng chung có thể được mở rộng để phù hợp với các loại vấn đề khác nhau.
Lua là ngôn ngữ cơ sở rất nhẹ—trình thơng dịch tham chiếu đầy đủ chỉ có dung lượng biên dịch khoảng 247 kB[4] và dễ dàng thích ứng với nhiều ứng dụng.
Lua đủ nhỏ gọn để phù hợp với nhiều nền tảng máy chủ khác nhau. Nó chỉ hỗ trợ một số lượng nhỏ cấu trúc dữ liệu nguyên tử như giá trị Boolean, số (dấu phẩy động có độ chính xác kép và số nguyên 64 bit theo mặc định) và chuỗi. Các cấu trúc dữ liệu điển hình như mảng, bộ, danh sách và bản ghi có
</div><span class="text_page_counter">Trang 8</span><div class="page_container" data-page="8">thể được biểu diễn bằng cấu trúc dữ liệu gốc duy nhất của Lua, bảng, về cơ bản là một mảng kết hợp không đồng nhất.
Lua triển khai một tập hợp nhỏ các tính năng nâng cao như hàm hạng nhất, thu thập rác, đóng, gọi đi thích hợp, ép buộc (chuyển đổi tự động giữa các giá trị chuỗi và số trong thời gian chạy), coroutine (đa nhiệm hợp tác) và tải mô-đun động.
5.
<b>- Prisma ORM là ORM thế hệ tiếp theo mã nguồn mở, bao gồm các phần sau:</b>
+ Máy khách Prisma: Trình tạo truy vấn được tạo tự động và an toàn loại choNode.js & TypeScript
+ Prisma Migrate: Hệ thống di chuyển
+ Prisma Studio: GUI để xem và chỉnh sửa dữ liệu trong cơ sở dữ liệu của lập trình viên.
<b>- Prisma Studio là phần duy nhất của Prisma ORM không phải là nguồn mở. </b>
Lập trình viên chỉ có thể chạy Prisma Studio cục bộ.
<b>- Prisma Client có thể được sử dụng trong mọi ứng dụng phụ trợ Node.js </b>
(phiên bản được hỗ trợ) hoặc TypeScript (bao gồm cả ứng dụng khơng có
</div><span class="text_page_counter">Trang 9</span><div class="page_container" data-page="9">máy chủ và vi dịch vụ). Đây có thể là API REST, API GraphQL, API gRPC hoặc bất kỳ thứ gì khác cần cơ sở dữ liệu.
</div><span class="text_page_counter">Trang 10</span><div class="page_container" data-page="10"><b>II. Nội dung thực tập và kết quả đạt được1. SQL </b>
- Yêu cầu: Tìm hiểu về SQL và cách thức hoạt động. Nắm được các khái niệmcơ bản về SQL và cách sử dụng:
<small>Database conceptsEntity Relationship ModellingData Types and SQL Operations</small>
<small>DDL Statements</small>
<small>Table Indexes_Sequences_ViewDML Statements</small>
<small>SELECT OptionsBuilt-in Functions</small>
- Mơ tả cơng việc: Tìm hiểu dựa trên các tài liệu hướng dẫn và tìm kiếm trên mạng. Sau đó làm các bài tập để luyện tập.
- Kết quả đạt được: Hoàn thành các bài được giao.-
<b>2. C#</b>
- Yêu cầu: Tìm hiểu về C# và cách thức hoạt động. Nắm được các khái niệm cơ bản về C# và cách sử dụng:
<small>.NET IntroductionDeclaration & Assignment</small>
<small>OperatorsArithmetic OperatorsAssigment OperatorsConditional Operators</small>
<small>ComparationLogical Operators</small>
<b><small>Loop statement</small></b>
<small>for loopforeach loop</small>
<small>while loopdo-while loopLooping Comparison</small>
<b><small>Array, DateTime and String in C#</small></b>
</div><span class="text_page_counter">Trang 11</span><div class="page_container" data-page="11"><small>ArrayDateTime in C#DateTime Format</small>
<small>TimeSpan in C#String in C#StringBuilder</small>
<b><small>Basic OOP</small></b>
<small>Class DesignConstructorNamespaceProperties and Methods</small>
<small>EcapsulationAccess Modifiers</small>
<b><small>Advance OOP</small></b>
<small>OverloadOverrideAbstract Class</small>
<small>Multiple-catchFinally keywordThrow keywordException Hierarchy</small>
<small>Custom ExceptionException Filter</small>
<b><small>Collections and Generic</small></b>
<small>IntroductionGeneric Class</small>
</div><span class="text_page_counter">Trang 12</span><div class="page_container" data-page="12"><small>Generic MethodGeneric Interface</small>
- Mơ tả cơng việc: Tìm hiểu dựa trên các tài liệu hướng dẫn và tìm kiếm trên mạng. Sau đó làm các bài tập để luyện tập.
- Kết quả đạt được: Hoàn thành các bài được giao.
</div><span class="text_page_counter">Trang 13</span><div class="page_container" data-page="13">- Giao diện tạo một server :
</div><span class="text_page_counter">Trang 14</span><div class="page_container" data-page="14">- Giao diện Light Mode/System:
- Giao diện Dark Mode:
postgres với giao diện chính
</div><span class="text_page_counter">Trang 15</span><div class="page_container" data-page="15">5. Lua
- u cầu cơng việc: Tìm hiểu kiến thức Lua cơ bản và nâng cao , tập trung vào việc lập trình nhúng thơng qua SuperBLT . SuperBLT là công cụ kết nốiscript với ứng dụng cần ghi chèn .
- Mơ tả cơng việc: Tìm hiểu dựa trên các tài liệu được cung cấp và tìm kiếm trên mạng để làm bài tập.
- Kết quả đạt được: Hoàn thành các bài tập được giao. Hình ảnh bài tập theo yêu cầu:
- Chỉnh sửa chỉ số vũ khí và người chơi
</div><span class="text_page_counter">Trang 16</span><div class="page_container" data-page="16">- Aimbot
</div><span class="text_page_counter">Trang 17</span><div class="page_container" data-page="17">- Hệ thống kiểm tra và kiểm soát state game
</div><span class="text_page_counter">Trang 18</span><div class="page_container" data-page="18"><b>III. Kết luận </b>
Kết quả thực tập đã giúp em có thêm những kiến thức rất cần thiết trong lậptrình Frontend, những mơ hình code chun nghiệp dễ sửa dễ phát triển và cáchquản lý source code bằng Git giúp cho việc phân chia công việc dễ dàng hơn…Ngồi những kĩ năng chun mơn, thực tập cịn giúp em được trải nghiệm môitrường làm việc thực tế, chuyên nghiệp, được phát triển những kĩ năng mềm vàcách giao tiếp với khách hàng. Vì thời gian khơng cho phép nên em chưa tìm hiểuđược rõ hơn các kĩ thuật, cơng nghệ này nên báo cáo vẫn cịn thiếu sót, mong cácthầy cơ giúp đỡ em nhiều hơn.
</div>