Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 33 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
33
Dung lượng
0,96 MB
Nội dung
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA CÔNG NGHỆ PHẦN MỀM BÁO CÁO THỰC TẬP LẬP TRÌNH TRANG WEB VỚI ASP.NET REACTJS VÀ GRAPHQL Công ty thực tập KMS Technology Người phụ trách Vũ Thái Anh Thực tập sinh Phạm Phúc Nguyên - 19521918 TP Hồ Chí Minh, tháng 12 năm 2022 Vũ Thái Anh Phạm Phúc Nguyên LỜI MỞ ĐẦU Ngày nay, trang web ngày phát triển mạnh, không đơn trang web tĩnh ngày trước mà website nhìn đại với giao diện thân thiện với người dùng cung cấp trải nghiệm mượt cho người dùng Với phát triển liên tục việc phát triển website, nhiều công nghệ đời liên tục khoản thời gian gần với mục đích làm việc xây dựng website trở nên dễ Nhưng mang lại phức tạp chọn công nghệ với cơng nghệ có điểm yếu điểm mạnh riêng, sử dụng cho mục đích khác cơng ty khác Ngồi để phát triển website thuận tiện ta tạo nhiều công nghệ khác để cải thiện trải nghiệm người dùng, việc nâng cao mong đợi người dùng website Bây website phải lưu trữ trạng thái người dùng, có tốc độ cao, load nhanh, nhiều tương tác khác Rất nhiều tên JWT, Cookie, Microservice,… đưa ta muốn tìm kiếm thơng tin để xây dựng trang web Mặt khác loại hình tội phạm mạng ngày tinh vi hơn, việc khiến cho nhà cung cấp phải phát minh nhiều hình thức bảo mật khác nhau, với nhiều nội dung mà người xây dựng website cần phải tuân theo CSRF, DDOS, SQL Injection,… số hình thức cơng vơ số hình thức khác Với vấn đề nêu ta nhận thấy việc xây dựng website hoàn chỉnh không đơn giản đồ án trường Khối lượng kiến thức mà ta phải tiếp thu áp dụng khổng lồ mà ta mong cần đọc tải liệu đủ Ta phải có nhóm người đủ tài làm việc với cách hài hịa để đưa sản phẩm hồn chỉnh Vì lý sau năm học tập trường em muốn tham gia vào công ty lớn để học tập từ anh chị trước, học kiến thức chuyên môn lẫn kiến thức làm việc công ty Em muốn nhìn thấy tập thể làm việc để đạt đến mục tiêu lớn mà người đạt Vũ Thái Anh Phạm Phúc Nguyên LỜI CẢM ƠN Em xin gửi lời cảm ơn đến Công ty KMS Technology tạo điều kiện để em có hội thực tập lại cơng ty tháng vừa Trong khoảng thời gian ngắn ngủi em học nhiều kiến thức chuyên môn với nhiều công nghệ khác từ frontend đến backend Em xin cảm ơn anh/chị bỏ thời gian để giúp đỡ em q trình học tập xây dựng trang web cơng ty Em xin cảm ơn anh Vũ Thái Anh không giúp em phần kiến thức chuyên môn mà cho em lời khuyên cách làm việc Trong tất kiến thức chuyên môn anh góp ý nêu điểm quan trọng để em tìm hiểu sâu thêm vào phần đó, từ em có hội tiếp thu thêm nhiều kiến thức kiến trúc trang web cách hoạt bên nhiều công nghệ khác Cũng xin cảm ơn thầy cô khoa Công nghệ phần mềm nhiệt tình hỗ trợ, tạo điều kiện em làm báo cáo Phạm Phúc Nguyên Tp.HCM, ngày 25 tháng 12 năm 2022 Vũ Thái Anh Phạm Phúc Nguyên NHẬN XÉT CỦA KHOA Vũ Thái Anh Phạm Phúc Nguyên Danh mục hình ảnh Hình 1.1 Logo KMS Technology Hình 1.2 Logo KMS Healthcare Hình 1.3 Logo KMS Solution Hình 1.4 Kobiton logo Hình 1.5 Katalon logo Hình 1.6 Grove logo Hình 1.7 Visily logo Hình 1.8 Kaypay logo Hình 2.1 Thời gian biểu để nghiên cứu Hình 2.2 Hệ thống NET Hình 2.3 Cách hoạt động GC Hình 2.4 OOP Hình 2.5 EF Core logo Hình 2.6 Web api 10 Hình 2.7 Mơ hình MVC 12 Hình 2.8 Quy trình thực TDD 13 Hình 2.9 Mơ hình GraphQL 14 Hình 2.10 Logo typescript 16 Hình 2.11 Logo ReactJS 16 Hình 3.1 Planning Poker 22 Hình 3.2 Quá trình chơi 23 Vũ Thái Anh Phạm Phúc Nguyên Mục Lục Chương 1: Giới thiệu công ty thực tập 1 Giới thiệu công ty KMS Technology 1.1 KMS Health care 1.2 KMS Solution 1.3 Các công ty product 2 Sản phẩm công ty Chương 2: Nội dung thực tập Tìm hiểu cơng ty kỹ công ty 2.1 Thông tin công ty: 2.2 Kỹ công ty: Nghiên cứu kỹ thuật 2.1 Tìm hiểu C# nâng cao 2.2 Tìm hiểu sâu OOP 2.3 Tìm hiểu EF Core 2.4 Tìm hiểu Web API 10 2.5 Tìm hiểu MVC ASP.NET CORE 11 2.6 Tìm hiểu TDD (Test driven development) 12 2.7 Tìm hiểu GraphQL 14 2.8 Tìm hiểu Typescript 16 2.9 Tìm hiểu ReactJS 16 Thực project 17 Lịch làm việc 19 Chương 3: Chi tiết project 22 Giới thiệu phần mềm Planning Poker 22 3.1 Cách chơi planning poker 22 3.2 Lý xây dựng chương trình 24 Thực 24 Kế hoạch 24 Vũ Thái Anh Phạm Phúc Nguyên Trang |1 Chương 1: Giới thiệu cơng ty thực tập Hình 1.1 Logo KMS Technology Giới thiệu công ty KMS Technology Được thành lập vào năm 2009, KMS Technology công ty chuyên cung cấp dịch vụ phát triển sản phẩm phần mềm, tư vấn triển khai giải pháp công nghệ khởi nghiệp Sau 12 năm hoạt động KMS xây dựng đội ngũ 1000 nhân viên Mỹ Việt Nam, phát hành sản phẩm phần mềm thị trường giới KMS bao gồm: • KMS Healthcare • KMS Solution • Các cơng ty product 1.1 KMS Health care Phát triển sản phẩm phần mềm đại thị trường y tế cách nhanh chóng hiệu Hình 1.2 Logo KMS Healthcare Đội ngũ nhân viên có kiến thức lập trình phát triển phần mềm lẫn y tế giúp việc xây dựng phần mềm lấy bệnh nhân làm đối tượng phát triển cách hiệu Cung cấp nhiều dịch vụ khác lưu trữ bảo mật thông tin bệnh nhân, xây dựng phần mềm y tế ứng dụng di động, tư vấn dịch vụ ngành y tế, … Vũ Thái Anh Phạm Phúc Nguyên Trang |2 Được nhiều cơng ty tin tưởng như: • Greenphire • ThermoFisher Scientific • Clario • Clearwave • Medidata 1.2 KMS Solution KMS Solution tập trung vào giải pháp phần mềm dịch vụ phía nhà bank Hình 1.3 Logo KMS Solution Họ có trách nhiệm tư vấn mặt cơng nghệ platform, phân tích data với mục đích phát triển hệ thống dịch vụ banking đại Cung cấp trải nghiệm tốt cho khách hàng sử dụng dịch vụ mua bán 1.3 Các công ty product Trong 12 năm hoạt động KMS thành lập thành công công ty product khác bao gồm Kobiton, Katalon, Grove, Visily, Kaypay • QASymphony ( tách rời vào năm 2018 ) Vũ Thái Anh Phạm Phúc Nguyên Trang |3 Sản phẩm cơng ty Trong q trình phát triển KMS, họ phát triển thành cơng nhiều sản phẩm như: • Kobiton: Hệ thống kiểm thử phần mềm di động, cung cấp tính kiểm thử tự động hay manual thiết bị di động thật không sử dụng giả lập Hình 1.4 Kobiton logo • Katalon: Một hệ thống kiểm thử sử dụng công nghệ AI giúp tạo test case cách nhanh chóng dễ dàng cho trang web mobile Hình 1.5 Katalon logo • Grove: Hệ thống quản lý thơng tin human resource cách nhanh chóng thuận tiện cho nhân viên cơng ty Hình 1.6 Grove logo • Visily: Trong web thiết kế UI tạo cho người designer áp dụng công nghệ AI Hình 1.7 Visily logo • Kaypay: Hệ thống tốn cách đơn giản thuận tiện Hình 1.8 Kaypay logo Vũ Thái Anh Phạm Phúc Nguyên Trang |4 Chương 2: Nội dung thực tập Đợt thực tập công ty KMS giúp em học nhiều kiến thức khác kỹ mềm kiến thức chun mơn Trong q trình em học thêm kiến thức nâng cao công nghệ khác sử dụng để xây dựng trang web lẫn kiến thức xây dựng hệ thống web api Sau trình học tập kiến thức chun mơn cơng ty cho intern áp dụng kiến thức sản phẩm bạn intern trước công ty Các task em nhận trình fix bug chương trình refactor codes Tìm hiểu cơng ty kỹ công ty 2.1 Thông tin cơng ty: Thời gian: ngày Nội dung: • Nhận thiết bị làm việc công ty bao gồm laptop số linh kiện khác, thiết lập tài khoản cần thiết laptop • Được hướng dẫn nội quy cơng quy trình thực cơng việc q trình thực tập Hướng dẫn công cụ mà công ty cung cấp để giúp q trình làm việc hiệu • Được phổ cập thông tin công ty từ lịch sử cơng ty q trình phát triển đến mục tiêu tầm nhìn cơng ty • Hoàn tất thủ tục, ký giấy tờ cần thiết nhận thẻ nhân viên Kết quả: Có đầy đủ thiết bị để bắt đầu làm việc, nắm bắt thông tin quyền lợi, nội quy công ty, cấu công ty trình phát triển cơng ty 2.2 Kỹ cơng ty: Thời gian: q trình thực tập Nội dung: Tiếp thu nhiều kỹ làm việc cơng ty bao gồm: • Giao tiếp nhóm làm việc, ngày làm việc bắt đầu với việc báo cáo công việc thực hôm qua lịch làm việc hôm Điều đồng thời giúp cải thiện tính kỷ luật kích thích nhân viên cạnh tranh lành mạnh với nhau, ngày phải nói cơng việc trước tồn nhóm Đồng thời có nhiều kiến thức khó để tìm cần phải hỏi anh cơng ty giúp cải thiện kỹ giao tiếp đặt câu hỏi Vũ Thái Anh Phạm Phúc Nguyên T r a n g | 13 o Các lập trình viên bắt đầu cách viết test case với yêu cầu chương trình chỉnh sửa code dần để test case o TDD bao gồm giai đoạn, thiết kế test case, sửa code refactor code mơ hình bên Hình 2.8 Quy trình thực TDD • Ứng dụng TDD: o Giúp người lập trình hình dung xây dựng chương trình sát với yêu cầu client o Giúp codebase trở nên dễ quản lý o Khi hồn thành chương trình ta có ln testcase giúp việc xây dựng thêm tính tương lai dễ dàng o Bởi việc thiết kế gắn chặt với việc viết test nên thông thường test coverage áp dụng TDD cao so với viết test bình thường • Công cụ kiểm thử C#: Microsoft cung cấp công cụ kiểm thử xUnit, NUnit MSUnit o NUnit port từ JUnit, open-source testing framework tiếng nuget hỗ trợ nhiều phiên Dotnet framework Vũ Thái Anh Phạm Phúc Nguyên T r a n g | 14 o xUnit open-source testing framework tạo người viết NUnit Thay thêm tính lên NUnit qua đợt update họ muốn tạo framework tốt từ đầu o MSUnit testing framework ship visual studio opensource từ phiên Kết quả: • Hiểu q trình xây dựng chương trình sử dụng TDD • Học cơng cụ kiểm thử C# • Áp dụng vào trang web demo nhỏ 2.7 Tìm hiểu GraphQL Thời gian: tuần Nội dung: Trong trình tìm hiểu GraphQL em học nhiều kiến thức cơng nghệ thú vị • GraphQL: Là ngôn ngữ thao tác truy vấn liệu facebook phát triển nội vào năm 2012 công khai vào năm 2015 Điểm đặc trưng công nghệ giúp client query liệu với request gần giống với liệu trả Điều giúp client chủ động liệu muốn query với lượng thông tin cần vừa đủ Trong GraphQL ta định dạng cách truy vấn liệu theo field resolver, resolver function trả liệu cần thiết field với resolver u cầu Hình 2.9 Mơ hình GraphQL Vũ Thái Anh Phạm Phúc Nguyên T r a n g | 15 • GraphQL so với REST: GraphQL giải số vấn đề mà rest thương hay mắc phải REST, ta gọi tới endpoint liệu trả tùy theo người thiết kế API cịn GraphQL phụ thuộc vào client Các vấn đề như: o Over fetching: Dữ liệu trả dư thừa không cần thiết, ta cần tên người dùng để lấy thơng tin RESTapi trả tất thông tin kèm khác o Under fetching: Ngược lại api trả không đủ thông tin, ta lại phải gửi yêu cầu khác tới endpoint khác để lấy thông cịn lại tạo nhiều round trip • Hot Chocolate: Là GraphQL server cho NET, giúp việc xây dựng GraphQL Api trở nên nhanh chóng thuận tiện Với GraphQL thơng thường ta phải học thêm ngơn ngữ phải tìm cách cho hoạt động với object ngơn ngữ sử dụng Hot Chocolate làm việc giúp cung cấp cách khác để sử dụng GraphQL api Hot Chocolate cung cấp sẵn IDE để test api tên BananaCakePop cài đặt, việc giúp ta kiểm tra code cách nhanh chóng • Hot Chocolate EF Core: EF Core đảm bảo tính đắn cách giới hạn DbContext cho thread, GraphQL lại sử dụng multithread để tra cứu thơng tin cách nhanh chóng cho field Đây vấn đề giải cách áp dụng DbContextFactory để tạo context cho thread cần để không xảy lỗi Việc quan trọng ta sử dụng explicit loading, client yêu cầu collections ta sử dụng EF Core để query collections tương ứng, giảm thiểu việc query nhiều data lúc Kết quả: • Hiểu áp dụng GraphQL trang web bán cà phê nhỏ • Biết thêm phương thức thay cho REST • Biết cách sử dụng GraphQL NET Hot Chocolate với C# Vũ Thái Anh Phạm Phúc Nguyên T r a n g | 16 2.8 Tìm hiểu Typescript Hình 2.10 Logo typescript Thời gian: tuần Nội dung: • Học Typescript: Học cách sử dụng typescript làm quen với dynamic types javascript • Functional Programming: Khác với OOP, first class citizen Function Programming function Ta không thiết kế hệ thống quay quanh object mà ta thiết kế hệ thống dựa việc kết hợp function nhỏ để xây dựng function lớn Thay ta viết bước để thực code OOP ta viết statement expression sử dụng function nhỏ hơn, việc khiến code trở nên rõ ràng module hóa • Typescript Javascript: Typescript thêm syntax vào javascript để giúp xử lý lỗi từ trình viết code compile mà khơng cần phải đợi đến runtime javascript Khi ta viết Typescript cuối dịch javascript chạy trang web nên typescript javascript giống Kết quả: • Sử dụng typescript • Hiểu Functional programming 2.9 Tìm hiểu ReactJS Hình 2.11 Logo ReactJS Thời gian: tuần Nội dung: Vũ Thái Anh Phạm Phúc Nguyên T r a n g | 17 • ReactJS: thư viện opensource phát triển Facebook, mắt vào năm 2013, thân thư viện Javascript dùng để để xây dựng tương tác với thành phần website Để code website sử dụng Javascript JQuery có nhiều rủi ro xảy ReactJS đời trở nên tiếng Giờ người lập trình web thiết kế trang web xử lý tương tác người dùng cách đơn giản nhanh chóng • Functional Components: Được sử dụng nhiều nhiều so với class Functional Components loại bỏ phức tạp class Javascript, thay ta phải quan tâm tới this function ta có cụ thể nằm gọn scope function Mặt khác function component không thua mặt tính so với class tính sử dụng Hooks, việc giúp đảm bảo mặt tính tránh sử dụng class Một điểm mạnh khác ta sử dụng functional component function trả JSX.Element, việc giúp project ta đồng từ xuống Functional Programming với thành phần trang web đại diện functions functions hợp lại để xây dựng trang web lớn • JSX: JSX (JavaScript extension) React extension giúp dễ dàng thay đổi DOM HTML-style code đơn giản Và kể từ lúc ReactJS browser hỗ trợ tồn trình duyệt Web đại, ta tự tin sử dụng JSX trình duyệt Thay phải khai báo component trang web cách dài dịng ta sử dụng JSX để khai báo cách gọn gàng mà quen thuộc gần giống với HTML • Virtual DOM: Thay thay đổi thơng tin DOM thiệt có thay đổi, ReactJS cập nhật thông tin lên virtual DOM trước, sau cập nhật hết thơng tin xong ReactJS cập nhật DOM thiệt với tất thông tin thay đổi lúc để cải thiện tốc độ Kết quả: • Áp dụng ReactJS vào xây dựng UI cho trang web bán cà phê • Hiểu thành phần bên ReactJS • Làm quen với cơng cụ NodeJS Thực project Sau khoảng thời gian training tháng với nhiều project nhỏ để vừa học vừa áp dụng kiến thức intern tiếp tục làm việc với phần mềm xây dựng Vũ Thái Anh Phạm Phúc Nguyên T r a n g | 18 Javascript + ReactJS cho frontend ASP.Net + GraphQL + EF Core + MySQL cho backend Thời gian thực project tuần Chi tiết đồ án nói phần sau Vũ Thái Anh Phạm Phúc Nguyên T r a n g | 19 Lịch làm việc Tuần Công việc - - - - - - Vũ Thái Anh Tìm hiểu cơng ty, cách tổ chức công ty Làm quen với công cụ làm việc công ty Học cách trao đổi thông tin qua Skype Học SOLID Học kiến thức C# 9.0 trở sau Làm slide thuyết trình OOP Học EF Core Học cách Net hoạt động thành phần khác Net Làm slide thuyết trình EF Core Học WebAPI Học GC Net phiên khác Net Làm Slide thuyết trình Web API Xây dựng backend áp dụng EF Core cho trang web bán café để demo Học cách Net lưu trữ thông tin Heap Stack Học cách sử dụng MVC ASP.Net core Người hướng dẫn Mức độ hoàn thành Nhận xét người hướng dẫn Anh Vũ Thái Anh Anh Vũ Thái Anh Anh Vũ Thái Anh Anh Vũ Thái Anh Phạm Phúc Nguyên T r a n g | 20 - - - - - Vũ Thái Anh - Làm slide thuyết trình MVC Xây dựng backend áp dụng EF Core cho trang web bán café để demo Chuẩn bị trước TDD cho buổi thuyết trình Tham gia buổi thuyết trình TDD Áp dụng TDD vào xây dựng demo nhỏ Học cách sử dụng GraphQL Áp dụng GraphQL vào xây dựng trang web bán cà phê nhỏ để demo Làm slide thuyết trình GraphQL Học cách sử dụng Javascript Typescript Xây dựng trang web demo nhỏ với Typescript Làm slide thuyết trình Typescript Học cách sử dụng ReactJS Xây dựng front and trang web bán cà phê để demo Làm slide thuyết trình ReactJS Tham gia vào project bạn intern trước Đọc code để nắm bắt nội dung front end Anh Vũ Thái Anh Anh Vũ Thái Anh Anh Vũ Thái Anh Anh Vũ Thái Anh Anh Vũ Thái Anh Phạm Phúc Nguyên T r a n g | 21 10 - 11 - - - - 12 - - Vũ Thái Anh Pick ticket thay đổi Anh Vũ Thái Anh frontend Bắt đầu đọc code phần backend Tiếp tục đọc code Anh Vũ Thái Anh phần front end Pick ticket sửa lỗi synchronize clock người chơi Refactor code loại bớt yêu cầu mở websocket thừa Di chuyển phần thơng báo có người vào phịng từ frontend sang backend Sửa lỗi khơng cập Anh Vũ Thái Anh nhật thông tin sau hết game Refactor code loại bớt field không cần thiết database Hoàn thành ticket synchronize clock Pick ticket thay đổi UI để thêm copy đường link hoàn thành Hoàn tất thủ tục hoàn thành kỳ internship Phạm Phúc Nguyên T r a n g | 22 Chương 3: Chi tiết project Giới thiệu phần mềm Planning Poker Hình 3.1 Planning Poker Phần mềm tên Planning Poker với mục đích tạo cách để đánh giá độ phức tạp công việc cách nhanh chóng thú vị Trong bối cảnh đa số phải làm việc remote cơng cụ giúp việc đánh giá trở nên căng thẳng khơng bị ảnh hưởng ý kiến người khác Công cụ thường sử dụng agile để xác định cách nhanh chóng giá trị công việc giải ý kiến không đồng thuận Các task lấy từ Azure DevOps để vote cơng việc giao cách nhanh chóng mà khơng cần phải gõ lại công việc bắt đầu vote 3.1 Cách chơi planning poker Planning Poker có với giá trị khác in mặt bao gồm số số dãy Fibonacci (0, 1, 2, 3, 5, 8, 13, 20, …) số ký tự khác Ký tự Ý nghĩa Task hoàn thành 1/2 Task nhỏ 1, 2, Task nhỏ 5, ,13 Task có giá trị tương đối 20, 40 Task lớn Vũ Thái Anh Phạm Phúc Nguyên T r a n g | 23 100 Task lớn ∞ Task khổng lồ ? Khơng biết task có giá trị Nghỉ giải lao (Coffee break) Các giá trị thể số điểm (story point), lý tưởng theo số ngày, đơn vị mà nhóm dự tính Các thành viên nhóm thảo luận tính đó, đặt câu hỏi với Product Owner cần thiết Khi tính thảo luận kỹ lưỡng, thành viên tự chọn để đưa ước tính Tất lật lên Nếu tất có giá trị giá trị chấp nhận ước tính tính vừa thảo luận Nếu khơng, thành viên nhóm thảo luận ước tính mà đưa Đặc biệt, thành viên có ước tính cao thấp cần đưa sở cho ước tính Sau hồi thảo luận, thành viên chọn để ước tính lại họ lại đồng thời lật lên Quy trình lặp lặp lại đạt đồng thuận thành viên họ định ước tính tính cần hỗn lại có thêm thơng tin bổ sung Hình 3.2 Quá trình chơi Vũ Thái Anh Phạm Phúc Nguyên T r a n g | 24 3.2 Lý xây dựng chương trình Sử dụng sức mạnh tập thể, tránh trường hợp thành viên chưa nhìn thấy có vấn đề khơng rõ vấn đề đồng đội bổ sung đưa estimation thêm xác Sau tồn team clear hồn tồn với vấn đề gặp phải vấn đề Không cần phải sử dụng phần mềm từ bên thứ để tiết kiệm chi phí đồng thời thêm tính cần thiết thuận tiện với u cầu (như lấy thơng tin task từ Azure DevOps cập nhật lại thông tin đó) Trong cơng ty có sẵn chương trình để việc dự đốn giá trị cách nhanh chóng mà không cần viên tham gia phải sử dụng phần mềm bên thứ Thực Do lúc tham gia thực tập bên KMS thời gian bắt đầu thực tập bạn khác nên trình tiếp tục phát triển Planning Poker có làm việc với bạn khác anh/chị bên team mentors Thành viên: • Phạm Phúc Nguyên • Đỗ Phi Long Và anh/chị bên team mentors Kế hoạch Tìm hiểu: • Tìm hiểu cơng nghệ cần thiết: MySQL, ReactJS, Typescript, Websocket, GraphQL, GraphQL Codegen, ASP.NET, C#, Hot Chocolate EF Core • Đọc codebase phần frontend • Đọc codebase phần backend Chọn cơng việc (ticket): • Chọn trước ticket nằm gọn frontend • Chọn ticket sửa lỗi • Chọn ticket refactor code lại Thực hiện: • Thực sửa đổi front end • Refactor code front end lại thành nhiều component nhỏ Vũ Thái Anh Phạm Phúc Nguyên T r a n g | 25 • Sửa lỗi Synchronize clock, thay đổi database cập nhật model frontend backend • Đưa tính thơng báo người đăng nhập backend • Loại bỏ lần mở websocket khơng cần thiết • Loại cập nhật thơng tin qua websocket khơng cần thiết • Refactor code kết nối websocket Kết quả: Đã hoàn thành toàn ticket chọn loại bỏ bug bắt gặp lúc thực ticket Áp dụng kiến thức học tồn q trình thực tập thiện ứng dụng có trước Vũ Thái Anh Phạm Phúc Nguyên T r a n g | 26 TÀI LIỆU THAM KHẢO NET: • https://learn.microsoft.com/en-us/dotnet/standard/clr • https://learn.microsoft.com/en-us/dotnet/standard/garbagecollection/fundamentals C#: • https://learn.microsoft.com/en-us/dotnet/csharp/ • https://learn.microsoft.com/en-us/dotnet/csharp/whats-new/csharp-11 WebAPI: • https://learn.microsoft.com/en-us/azure/architecture/best-practices/api-design • https://www.w3schools.com/js/js_api_intro.asp MVC: • https://learn.microsoft.com/en-us/aspnet/mvc/ • https://learn.microsoft.com/en-us/aspnet/mvc/overview/gettingstarted/introduction/getting-started TDD: • https://viblo.asia/p/test-driven-development-gioi-thieu-6J3ZgneMKmB • https://www.lambdatest.com/blog/nunit-vs-xunit-vs-mstest/ GraphQL: • https://chillicream.com/docs/hotchocolate • https://graphql-dotnet.github.io/ • https://graphql.org/ Typescript: • https://www.typescriptlang.org/docs/ ReactJS: • https://reactjs.org/docs/getting-started.html • https://topdev.vn/blog/reactjs-nhung-dieu-ban-can-phai-biet/ Planning Poker: • https://www.atoha.com/blogs/kien-thuc/planning-poker-cong-cu-uoc-tinh-hieuqua-trong-agile Vũ Thái Anh Phạm Phúc Nguyên T r a n g | 27 TỔNG KẾT Trong ba tháng ngắn ngủi KMS em học nhiều thứ khác mà em chưa nghĩ tới Từ kiến thức chuyên sâu liên quan tới C# Net đến kiến tới rộng liên quan tới việc thiết kế web api hồn chỉnh Do thời gian có giới hạn nên sau tiếp thu xong kiến thức cần thiết để bắt đầu trình phát triển phần mềm Planning Poker cịn tháng Trong khoảng thời gian em vận dụng nhiều kiến thức lúc sử dụng công nghệ tương đối GraphQL Và trình thực tập em không học kiến thức chun mơn mà cịn kiến thức khác liên quan đến môi trường làm việc công ty Các kiến thức thành giúp em kể sau em trường hành trang quý giá Tuy thời gian để áp dụng kiến thức không nhiều em tự rèn luyện kỹ tự áp dụng kiến thức học công ty vào project nhỏ để cải thiện kiến thức chuyên môn Xin cảm ơn anh Vũ Thái Anh giúp em khoảng thời gian thực tập KMS, em có nói anh ln sẵn sàng giúp đỡ phần tìm hiểu kiến thức đưa lời khun hữu ích cho cơng việc Và cảm ơn anh/chị khác team giúp đỡ em thời gian vừa em xin cảm ơn Vũ Thái Anh Phạm Phúc Nguyên ... cách sử dụng GraphQL Áp dụng GraphQL vào xây dựng trang web bán cà phê nhỏ để demo Làm slide thuyết trình GraphQL Học cách sử dụng Javascript Typescript Xây dựng trang web demo nhỏ với Typescript... Net Làm slide thuyết trình EF Core Học WebAPI Học GC Net phiên khác Net Làm Slide thuyết trình Web API Xây dựng backend áp dụng EF Core cho trang web bán café để demo Học cách Net lưu trữ thông... để xây dựng tương tác với thành phần website Để code website sử dụng Javascript JQuery có nhiều rủi ro xảy ReactJS đời trở nên tiếng Giờ người lập trình web thiết kế trang web xử lý tương tác người