1. Trang chủ
  2. » Tất cả

Báo Cáo Thực Tập Lập Trình Back-End Nodejs.docx

23 7 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 23
Dung lượng 1,24 MB

Nội dung

1 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 BACK END NODEJS Công ty thực tập Công ty cổ phần ITR VN Người phụ trách Hồ Khắc Minh Thực tập sinh Phan Tiến Lào[.]

1 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 BACK-END NODEJS Công ty thực tập : Công ty cổ phần ITR VN Người phụ trách : Hồ Khắc Minh Thực tập sinh : Phan Tiến Lào TP Hồ Chí Minh, tháng 12 năm 2022 LỜI MỞ ĐẦU Lập trình back-end lựa chọn nghề nghiệp xu hướng, phổ biến với bạn học khoa học máy tính kỹ thuật phần mềm, cơng nghệ thơng tin nói chung Lập trình viên back-end coi vị trí việc làm nhiều triển vọng nhu cầu tuyển dụng dự đoán tiếp tục tăng lên tương lai Ngày nay, tính riêng hướng nghề nghiệp trở thành lập trình viên bạn có nhiều lựa chọn, chẳng hạn phân theo định hướng sản phẩm có lập trình viên web, lập trình viên game, lập trình viên phần mềm, ứng dụng; theo ngơn ngữ lập trình có lập trình Java, PHP, Lập trình back-end mảng rộng nhiều triển vọng song song với có áp lực định, đòi hỏi nhiều sáng tạo Lập trình phần mềm xu hướng nên có nhiều hội tuyển dụng thăng tiến Vì lý này, em định chọn lập trình back-end làm định hướng cho việc học tập Sau ba năm học tập trường, mong muốn có thêm kinh nghiệm thực tế, muốn tham gia làm back-end môi trường chuyên nghiệp, em có dự định thực tập kì Vì vậy, em định chọn ITR VN - môi trường lý tưởng, đại, chuyên nghiệp - nơi giúp em thực dự định LỜI CẢM ƠN Trân trọng gửi lời cảm ơn Công ty ITR VN tạo điều kiện cho em có hội thực tập công ty Chỉ thời gian ngắn, nhờ dẫn nhiệt tình nhóm trainer, nhóm thực tập chúng em tiếp thu kiến thức quan trọng để làm backend mảng front-end Chân thành cảm ơn anh chị nhóm trainer bỏ nhiều thời gian, công sức để hướng dẫn chúng em hoàn thành đợt thực tập Đặc biệt cảm ơn anh Hồ Khắc Minh training Back-end, hướng dẫn, giúp đỡ cho chúng em tận tình khó khăn cơng việc, đến khó khăn việc làm quen với mơi trường mới; cảm ơn anh Hồng Khang, support anh Minh, hỗ trợ giải đáp nhiều câu hỏi chúng em anh Minh bận để làm sản phẩm thời gian qua 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 NHẬN XÉT CỦA KHOA MỤC LỤC Chương 1: Giới thiệu công ty thực tập Giới thiệu công ty ITR VN 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 Nghiên cứu kỹ thuật 2.1 Các công cụ làm việc structure dự án cơng ty 2.2 Tìm hiểu ngơn ngữ javascript 2.3 Event Loop 2.4 Timestamp 2.5 Thư viện Lodash 10 2.6 ExpressJS 11 2.7 GraphQL 11 2.8 MongoDB 12 2.9 Redis 13 2.10 Jest 14 Thực project 14 Lịch làm việc 15 Chương 3: Chi tiết project 17 Giới thiệu project 17 Chương 1: Giới thiệu công ty thực tập Giới thiệu công ty ITR VN ITR người bạn đồng hành startup, công ty nhà sản xuất hành trình biến ý tưởng sáng tạo thành thực Xây dựng sản phẩm sáng tạo thách thức liên quan đến loạt quy trình phát triển quản lý Được hỗ trợ với nhiều năm kinh nghiệm ngành công nghiệp ICT, ITR biết cách giúp khách hàng thúc đẩy quy trình để cung cấp sản phẩm họ cho giới mức chất lượng cao Sản phẩm công ty ITR VN công ty đồng hành với startup đến từ Silicon Valley Với đội ngũ lập trình viên có tính cạnh tranh toàn cầu từ nhiều mảng khác Software, Filmware, Hardware, AI, … Công ty xây dựng dự án lớn quan trọng mảng sức khỏe (MedTech and Digital Health) bao gồm phát triển phần cứng, phát triển hệ thống nhúng, ứng dụng di động, giao diện người dùng AI Nhờ thành tựu từ sản phẩm thành công, ITR VN liên kết thương hiệu lớn toàn giới chăm sóc sức khỏe Biotricity Ngồi cơng ty sở hữu sản phẩm dự án thành công khác sử dụng rông rãi giới Chương 2: Nội dung thực tập Đợt thực tập nhằm mục đích giúp sinh viên thực tập đào tạo toàn diện lập trình back-end, đồng thời rèn luyện kỹ mềm làm việc nhóm, thuyết trình, giao tiếp Tại cơng ty, sinh viên có hội học tập, khám phá làm việc môi trường phát triển phần mềm chun nghiệp Tìm hiểu cơng ty kỹ công ty Thời gian : ngày Nội dung : Giới thiệu công ty, cách tổ chức công ty Được nghe người phụ trách giới thiệu cơng ty, q trình thành lập phát triên (như nhắc đến trên), quy trình làm việc từ cao xuống thấp, cách thức tổ chức cơng ty Ngồi ra, thực tập sinh giới thiệu cách thức làm việc công ty thời gian làm, quy định cần phải tuân thủ, cách sử dụng slack cơng việc… Được giới thiệu thân trước nhiều phịng ban khác công ty Kết : Hiểu thêm cơng ty ITR VN, q trình thành lập phát triển Có thêm kỹ việc sử dụng email cơng việc, làm việc có kế hoạch, có kỷ luật, có trách nhiệm Nghiên cứu kỹ thuật 2.1 Các công cụ làm việc structure dự án công ty Thời gian : ngày Nội dung : Tìm hiểu cơng cụ sử dụng q trình làm việc Trong thời gian này, mentor hướng dẫn thực tập sinh tìm hiểu cơng cụ giúp ích cho công việc sau Được mentor giới thiệu tới quy trình cách xếp structure dự án cơng ty, mentor giải thích rõ ràng thành phần cách hoạt dộng chúng Thực : Thực hành sử dụng phần mềm nêu code toán mà mentor đưa với structure mentor giới thiệu Kết : Lập trình sử dụng cơng cụ miễn phí, làm quen áp dụng structure cơng ty 2.2 Tìm hiểu ngơn ngữ javascript Thời gian : ngày Nội dung : Được training ngôn ngữ javascript từ đến nâng cao - Các kiểu liệu javascript Các kiến thức javascript, dựa document javascript mentor dẫn phần cốt lõi quan trọng javascript - Life Cycle : Học luồng chạy file javascript Thực : - Tham gia đầy đủ buổi training công ty - Làm thực hành, kiểm tra kiến thức học Kết : - 2.3 Nắm kiến thức cốt lõi javascript Ngồi cịn biết thêm số quy tắc việc viết code cho chuẩn, dễ đọc, dễ hiểu Event Loop Thời gian : tuần Nội dung: Các kiến thức nâng cao javascript - Asynchronous Năm khái niệm Asynchronous Synchronous, nắm điểm mạn điểm yếu cách hoạt động Ngồi ra, trainer cịn cung cấp cho thực tập sinh ví dụ thực tế để thực tập sinh dễ dàng hình dung - Callback: Nắm rõ trường hợp sử dụng callback mà trước chưa sử dụng cách tránh callback hell Xử lý gọn đơn giản hóa callback lồng khiến code dễ đọc dễ bảo trì - Promise 10 Nắm rõ cách hoạt động promise Thực : - Tham gia đầy đủ buổi training Làm tập thực hành Tìm kiếm tài liệu mạng để tìm hiểu thêm Viết file markdown để lưu lại kiến thức cần nhớ Kết : 2.4 Hiểu khái niệm Event Loop javascript Timestamp Thời gian : tuần Nội dung : Giới thiệu cách áp dụng cách hoạt động timestamp thư viện hỗ trợ - Định nghĩa timestamp: Trong javascript, Timestamp số mili giây tính ngày tháng năm 1970 (1/1/1970 hay gọi Unix epoch time) Mentor giới thiệu thư viện xử lí thời gian sử dụng nhiều momentjs, cách áp dụng cách hoạt động Trong xử lí liệu, xử lí thời gian vấn đề nan giải Vì khách hàng công ty không sống múi Việt Nam, nên xử lí kiểu Date cần phải thận trọng Thực : - Tham gia đầy đủ buổi training Hoàn thiện tập mà anh mentor giao trình bày buổi họp Viết file markdown để lưu lại kiến thức cần nhớ Kết quả: - Tiếp thu kinh nghiệm việc viết API phải thận trọng, kĩ 11 2.5 Lodash Thời gian : tuần Nội dung : Giới thiệu thư viện Lodash cách sử dụng để xử lí liệu - Lodash: Là thư viện dùng để xử lí hầu hết kiểu liệu javascript, đặc biệt mảng object - Giới thiệu hàm thông dụng thư viện Được mentor hướng dẫn giới thiệu kỹ hàm thư viện lodash Hiểu cách dùng lodash trường hợp xử lí liệu Thực : - Xử lí liệu database Làm tập xử lí mảng, object Tham gia đầy đủ buổi training tập giao Viết file markdown để lưu lại kiến thức cần nhớ Kết quả: - Thông hiểu cấu trúc liệu, cách xử lí liệu, cách trả liệu để phù hợp cho phía front-end 2.6 Expressjs Thời gian : tuần Nội dung : Giới thiệu framework Expressjs cách sử dụng để xây dựng API - Expressjs: Là khung ứng dụng web back-end để xây dựng API RESTful với Node.js - Hướng dẫn xây dựng cấu trúc project back-end Được mentor hướng dẫn sử dụng router để xây dựng cấu trúc file project back-end để dễ xây dựng phát triển - Giải thích thành phần API - Hướng dẫn sử dụng Insomnia để test API Thực : - Xử lí liệu database Làm tập viết API 12 - Tham gia đầy đủ buổi training tập giao Viết file markdown để lưu lại kiến thức cần nhớ Kết quả: - Tiếp thu nhiều kinh nghiệm việc viết API 2.7 GraphQL Thời gian : tuần Nội dung : Giới thiệu GraphQL cách sử dụng để load data - GraphQL: GraphQL ngôn ngữ thao tác truy vấn liệu nguồn mở cho API, cung cấp cho client cách thức dễ dàng để request xác họ cần, giúp việc phát triển API dễ dàng theo thời gian - Mô tả tổ chức GraphQL API GraphQL tổ chức theo types fields, truy cập toàn liệu bạn từ endpoint Thực : - Tạo server để sử dụng GraphQL Tham gia đầy đủ buổi training tập giao Viết file markdown để lưu lại kiến thức cần nhớ Kết quả: - Học cách sử dụng GraphQL Hiểu cách tăng hiệu năng, tốc độ cho server 2.8 MongoDB Thời gian : tuần Nội dung : Giới thiệu database NoSql MongoDB thư viện mongoose - MongoDB: MongoDB database hướng tài liệu (document), dạng NoSQL database Vì thế, MongoDB tránh cấu trúc table-based relational database để thích ứng với tài liệu JSON có schema linh hoạt - Mongoose: 13 - Mongoose framework JavaScript sử dụng ứng dụng Node.js với database MongoDB Giải thích cấu trúc liệu MongoDB Các câu lệnh query liệu thường sử dụng MongoDB Tạo đường dẫn với document với nhau: Mongoose hỗ trợ phương thức để join-like populate() Thực : - Tạo server để sử dụng MongoDB Tham gia đầy đủ buổi training tập giao Viết file markdown để lưu lại kiến thức cần nhớ Kết quả: - Thông hiểu database NoSql cách sử dụng Hiểu chất populate() Mongoose 2.9 Redis Thời gian : tuần Nội dung : Giới thiệu database Redis - Redis: Redis sở liệu mang phong cách NoSQL, lưu trữ liệu với dạng KEYVALUE với nhiều tính sử dụng rộng rãi - Data model: Khác với RDMS MySQL, hay PostgreSQL, Redis khơng có bảng Redis lưu trữ data dạng key-value - Giải thích cấu trúc liệu Redis - Các câu lệnh query liệu thường sử dụng Redis - Giải thích trường hợp sử dụng redis điểm yếu Redis thường sử dụng làm nhớ đệm truy cập liệu Redis nhanh Nếu bị sập nguồn điện liệu redis hết Thực : - Tạo server để sử dụng Redis - Luyện tập câu lệnh thông dụng redis - Tham gia đầy đủ buổi training tập giao - Viết file markdown để lưu lại kiến thức cần nhớ 14 Kết quả: - Thông hiểu database Redis cách sử dụng 2.10 Jest Nội dung : Giới thiệu framework Jest - Jest: Jest thư viện testing, dùng để viết unit test Thực : - Luyện tập viết unit test cho tập cũ giao - Tham gia đầy đủ buổi training - Viết file markdown để lưu lại kiến thức cần nhớ Kết quả: - Việc viết test dành cho tester mà nghĩa vụ dev Viết test làm cho code xác Thực project Sau training thực hành, thực tập sinh nắm kiến thực framework database Mentor yêu cầu thực tập sinh làm project nhỏ cho kiến thức học cuối tuần review project Chi tiết đồ án nói phần sau Lịch làm việc Tuần Công việc - - Mức độ hoàn thành Khắc 10 Người hướng dẫn Tìm hiểu cơng ty, Anh Hồ cách tổ chức công Minh ty Làm quen với công cụ làm việc công ty Học cách trao đổi, làm việc qua slack Nhận xét người hướng dẫn 15 - - 8 - - - - - - - - Tìm hiểu ngơn ngữ lập trình javascript Làm tập Làm test Học Event Loop Làm test kiến thức học Học Timestamp Làm tập Làm test kiến thức học Học Lodash Làm tập Làm test kiến thức học Học Expressjs Làm tập Làm test kiến thức học Học GraphQL Làm tập Làm test kiến thức học Học MongoDB Làm tập Làm test kiến thức học Học Redis Làm tập Làm test kiến thức học Học Jest Làm tập Làm test kiến thức học Anh Hồ Minh Khắc 10 Anh Hồ Minh Khắc 10 Anh Hồ Minh Khắc 10 Anh Hồ Minh Khắc 10 Anh Hồ Minh Khắc 10 Anh Hồ Minh Khắc Anh Hồ Minh Khắc 10 Anh Hồ Minh Khắc Anh Hồ Minh Khắc 10 16 Chương 3: Chi tiết project Giới thiệu project Với kiến thức học, anh mentor yêu cầu thực tập sinh phải làm project nhỏ áp dụng kiến thức MongoDB Viết Schema cho collection MongoDB Viết function sử dụng query mongoose: create, update, delete, populate, … Tự viết function populate() ngôn ngữ javascript 17 GraphQL Dựa vào kiến thức học, viết schema cho API theo đề tập cho Kết quả: 18 Project URL shortener sử dụng Expressjs, MongoDB, Redis Màn hình đăng nhập: Màn hình đăng ký: 19 Màn hình chính: 20 Thực - Phan Tiến Lào Và giúp đỡ tận tình anh mentor ITR VN Kế hoạch - Hoàn thành việc tạo short-link Hoàn thành chức authenticaton Tạo session cho người đăng nhập Đếm số lần click Lưu liệu vào database Kết : - Tất thực Bài tập javascript: Có 12 đồng xu, có xu giả nặng nhẹ xu bình thường, viết code cân để tìm đồng xu lần cân Kết quả: ... thành lập trình viên bạn có nhiều lựa chọn, chẳng hạn phân theo định hướng sản phẩm có lập trình viên web, lập trình viên game, lập trình viên phần mềm, ứng dụng; theo ngơn ngữ lập trình có lập trình. .. Lào> Chương 2: Nội dung thực tập Đợt thực tập nhằm mục đích giúp sinh viên thực tập đào tạo toàn diện lập trình back-end, đồng thời rèn luyện kỹ mềm làm việc nhóm, thuyết trình, giao tiếp Tại cơng... lập trình back-end làm định hướng cho việc học tập Sau ba năm học tập trường, mong muốn có thêm kinh nghiệm thực tế, muốn tham gia làm back-end môi trường chuyên nghiệp, em có dự định thực tập

Ngày đăng: 01/02/2023, 21:16

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w