Tải bản đầy đủ (.docx) (19 trang)

báo cáo thực tập backend devloper

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 (695.47 KB, 19 trang )

<span class="text_page_counter">Trang 1</span><div class="page_container" data-page="1">

<b>TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TINKHOA CƠNG NGHỆ PHẦN MỀM</b>

BÁO CÁO THỰC TẬP

<b>BACKEND DEVLOPER</b>

Cơng ty thực tập:Công ty cổ phần giảipháp công nghệ GPTNgười phụ trách:Nguyễn Xuân BáchThực tập sinh:Nguyễn Hồng Kiệt

TP. Hồ Chí Minh, tháng 01 năm 2024

</div><span class="text_page_counter">Trang 2</span><div class="page_container" data-page="2">

<b>LỜI MỞ ĐẦU</b>

Trong cuộc cách mạng cơng nghiệp 4.0, cơng nghệ thơng tin nói chung và ngành Cơng nghệphần mềm nói riêng ln là nhân tố đóng vai trị quan trọng trong q trình phát triển củaxã hội.

Công nghệ Web, hay công nghệ sản xuất các trang web đã phục vụ hầu hết các nhu cầu củacon người từ bán hàng, cung cấp kiến thức đến thơng tin liên lạc, ... Hiện nay đã có đến hơn1.5 tỷ trang web, nhưng nhu cầu tạo ra những trang web mới vẫn chưa có dấu hiệu giảm.Do đó, một trang web muốn được nhiều người sử dụng phải đáp ứng được yếu tố hình thứcvà nội dung. Làm thế nào để sản phẩm tạo ra đạt chất lượng cao ở hai yếu tố trên ln làmbất kì một đội ngũ phát triển website nào cũng cần phải suy nghĩ đau đầu. Để thử thách bảnthân trong ngành công nghiệp web, em đã lựa chọn backend developer là định hướng choviệc học cũng như nghề nghiệp trong tương lai.

Sau những năm tháng trong môi trường đại học, với mong muốn áp dụng những kiến thứcđã học và có được trải nghiệm trong môi trường thực tế, em đã quyết định tham gia vàoCông ty cổ phần giải pháp công nghệ GPT – một môi trường lý tưởng và chuyên nghiệp đểthực hiện dự định.

2

</div><span class="text_page_counter">Trang 3</span><div class="page_container" data-page="3">

<b>LỜI CẢM ƠN</b>

Em xin trân trọng gửi lời cảm ơn Công ty cổ phần giải pháp công nghệ GPT đã tạo điều kiệncho em cơ hội được thực tập tại công ty. Dù trong thời gian ngắn nhưng nhờ sự chỉ dẫnnhiệt tình của anh Nguyễn Xuân Bách, em đã tiếp thu những kiến thức quan trọng để có thểtham gia một dự án thực tế.

Chân thành cảm ơn anh Nguyễn Xuân Bách và các anh chị trong team trainer đã bỏ ra nhiềuthời gian, công sức để hướng dẫn, hướng dẫn, giúp đỡ em tận tình trong khi làm quen môitrường mới cũng như trong việc tiếp cận kiến thức cơng nghệ, kỹ năng lập trình và tư duysản phẩm để có thể thực hiện tốt dự án cá nhân và dự án thực tế trong thời gian qua. Em cũng xin cảm ơn thầy cô trong khoa Công nghệ phần mềm đã nhiệt tình hỗ trợ, tạo điềukiện em làm báo cáo này.

TP. HCM, ngày 25 tháng 12 năm 2023

Nguyễn Hoàng Kiệt

</div><span class="text_page_counter">Trang 5</span><div class="page_container" data-page="5">

1.3. Lịch làm việc khi thực tập tại công ty...6

CHƯƠNG 2: NỘI DUNG THỰC TẬP...7

2.1. Tìm hiểu cơng ty và các kỹ năng cơ bản trong công ty...7

2.2. Nghiên cứu kỹ thuật...7

</div><span class="text_page_counter">Trang 7</span><div class="page_container" data-page="7">

<b>CHƯƠNG 1: GIỚI THIỆU CÔNG TY THỰC TẬP</b>

<b>1.1. Giới thiệu</b>

<i><small>Hình 1. 1 Gpt group</small></i>

GPT GROUP là Tập Đồn Cơng Nghệ tập trung phát triển các sản phẩm chất lượng vềBảo Mật Thông Tin, Chuyển Đổi Số, Phần Mềm. Tạo ra sự chuyển đổi mạnh mẽ giúp DoanhNghiệp vừa và nhỏ hiện thực hóa Tầm Nhìn & Sứ Mệnh, từ đó mang lại nhiều lợi ích chokhách hàng, nhân viên và nhà đầu tư.

GPT Group đã, đang và sẽ không ngừng phát triển các sản phẩm công nghệ chấtlượng cao giúp nâng tầm doanh nghiệp và đóng góp tích cực vào sự phát triển của CơngNghệ Thơng Tin tại Việt Nam. Năm 2027 trở thành Tập đoàn Công nghệ đi đầu trong việcđảm bảo chất lượng về Bảo Mật Thông Tin, Chuyển Đổi Số, Phần Mềm tiêu biểu tại ViệtNam.

<b>1.2. Sản phẩm cơng ty</b>

Là Tập Đồn Cơng Nghệ tập trung phát triển các sản phẩm chất lượng về Bảo MậtThông Tin, Chuyển Đổi Số, Phần Mềm, cung cấp các sản phẩm về Website, các phần mềmMobile theo yêu cầu của khách hàng.

<b>1.3. Lịch làm việc khi thực tập tại công ty</b>

Em tham gia làm việc tại công ty bắt đầu từ ngày 29/05/2023 tới 29/11/2023, các ngày làmviệc trong tuần là từ thứ 2 đến thứ 6. Công việc hằng ngày bắt đầu từ lúc 8h đến 17h. Thờigian nghỉ trưa khoảng 1 tiếng. Sau mỗi ngày làm việc em sẽ báo cáo tiến độ công việc trongngày, đặt câu hỏi và nhận chia sẻ, giải đáp từ anh hướng dẫn, đặt mục tiêu cho ngày làm

</div><span class="text_page_counter">Trang 8</span><div class="page_container" data-page="8">

việc tiếp theo. Mỗi tuần sẽ họp tiến độ tuần 1 lần vào sáng thứ 5 , mọi người sẽ cùng họp vàbàn bạc về các vấn đề đã giải quyết, tồn đọng, bài học, giải pháp và mục tiêu cho tuần tiếptheo.

8

</div><span class="text_page_counter">Trang 9</span><div class="page_container" data-page="9">

<b>CHƯƠNG 2: NỘI DUNG THỰC TẬP</b>

<b>2.1. Tìm hiểu cơng ty và các kỹ năng cơ bản trong công ty</b>

Thời gian: 1 ngày

Nội dung: Giới thiệu về công ty, cách tổ chức của công ty

Được nghe người phụ trách giới thiệu về cơng ty, q trình thành lập và 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ủa công ty .Ngồi ra, thực tập sinh cịn được giới thiệu về cách thức làm việc trong công ty như thờigian đi làm, các quy định cần phải tuân thủ, cách sử dụng email trong công việc…

Kết quả: hiểu thêm về cơng ty GPT, q trình thành lập và phát triển. Có thêm các kỹ năngvề việc sử dụng email trong cơng việc, làm việc có kế hoạch, có kỷ luật, có trách nhiệm hơn.

<b>2.2. Nghiên cứu kỹ thuật</b>

<b>2.2.1. Tuần 1</b>

Nội dung: Tìm hiểu về các cơng cụ sẽ được sử dụng trong quá trình làm việc.

Trong thời gian này, supervisor đã hướng dẫn thực tập sinh tìm hiểu về các cơng cụ sẽ giúpích cho trong cơng việc sau này. Một số phần mềm trong số đó như Github Desktop- sửdụng trong làm việc nhóm, MongoDBCompass – quản lý cơ sở dữ liệu, Visual Studio Code -một IDE rất hữu ích và phổ biến với lập trình viên, Postman - ứng dụng chạy sử api.

Kết quả: Lập trình sử dụng các cơng cụ miễn phí, giúp dễ dàng kết hợp các công cụ với nhau.

<b>2.2.2. Tuần 2</b>

Nội dung: Được training về các kỹ thuật Javascript, những kiến thức quan trọng cho việc tốiưu.

Lập trình hướng đối tượng:

Các kiến thức cơ bản về lập trình hướng đối tượng như khái niêm, các đặc tính nhưtính kế thừa, tính đóng gói, tính ảo hóa, tính đa hình. Ngồi ra, thực tập sinh còn đượchướng dẫn về cách thiết kế lớp cho các đối tượng trong phần mềm.

Quản lý bộ nhớ:

Thực tập sinh sẽ được hướng dẫn về cách cấp phát, quản lý bộ nhớ sao cho tối ưu,tránh rò rỉ bộ nhớ, một trong những phần rất quan trọng trong lập trình phần mềm.

Kết quả:

-

Nâng cao kỹ năng lập trình với ngơn ngữ Javascript.

-

Có được những kiến thức quan trọng cho việc lập trình phần mềm sau này.

</div><span class="text_page_counter">Trang 10</span><div class="page_container" data-page="10">

-

Ngồi ra cịn được biết thêm một số quy tắc trong việc viết code sao cho đúng chuẩn,dễ đọc, dễ hiểu.

<b>2.2.3. Tuần 3</b>

Nội dung: Các kiến thức cơ bản về ExpressJS để có thể làm ra một server đơn giản.ExpressJS:

Là một framework được xây dựng trên nền tảng của Nodejs. Nó cung cấp các tính

<b>năng mạnh mẽ để phát triển web hoặc mobile. Expressjs hỗ trợ các method HTTP và</b>

midleware tạo ra API vô cùng mạnh mẽ và dễ sử dụng.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ế Webservices) để 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ệpvă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.

Swagger :

Là 1 open source dùng để phát triển, thiết kế, xây dựng và làm tài liệu cho các hệthống RESTfull Web Service.

Kết quả:

-

Hiểu được những khái niệm cơ bản trong lập trình backend với ExpressJS.

-

Đã viết được các api với ExpressJS và swagger để mô tả api.

<b>2.3. Tham gia dự án thực tế2.3.1 Giới thiệu</b>

Xây dựng phần mềm giao nhận hàng hóa với các chức năng quan trọng của phầnmềm bao gồm theo dõi trạng thái của đơn hàng, lên lịch vận chuyển, quản lý tài xế và xe vậnchuyển, cũng như cung cấp báo cáo chi tiết về hiệu suất và hoạt động của hệ thống. Nhờvào tính năng này, doanh nghiệp có thể đảm bảo sự minh bạch và hiệu suất cao trong qtrình vận chuyển hàng hóa, đồng thời tối ưu hóa quy trình làm việc và cung cấp trải nghiệmtốt nhất cho khách hàng.

10

</div><span class="text_page_counter">Trang 11</span><div class="page_container" data-page="11">

<i>Hình 2. 1 Màn hình trang chủ</i>

<i>Hình 2. 2 Màn hình đăng nhập</i>

</div><span class="text_page_counter">Trang 12</span><div class="page_container" data-page="12">

<i>Hình 2. 3 Màn hình quản lý nội dung giới thiệu</i>

<i>Hình 2. 4 Màn hình quản lý đối tác</i>

12

</div><span class="text_page_counter">Trang 13</span><div class="page_container" data-page="13">

<i>Hình 2. 5 Màn hình quản lý nội dung tuyển dụng</i>

<i>Hình 2. 6 Màn hình quản lý đơn hàng</i>

<b>2.3.2 Quá trình thực hiện</b>

<b>Mức độhồnthành</b>

<b>Nhận xétcủa ngườihướng dẫn</b>

</div><span class="text_page_counter">Trang 14</span><div class="page_container" data-page="14">

Tìm hiểu ngơn ngữ lập trình Javascript

Thực hành JavascriptLàm bài test Javascript

Anh Nguyễn Xuân Bách

100%6 <sup>Chức năng quản lý bưu cục</sup> <sup>Anh Nguyễn Xuân </sup>

</div><span class="text_page_counter">Trang 15</span><div class="page_container" data-page="15">

<i>Hình 2. 8 Một số api quản lý bảo dưởng xe</i>

<i>Hình 2. 9 Triển khai server trên render</i>

</div><span class="text_page_counter">Trang 16</span><div class="page_container" data-page="16">

<b>CHƯƠNG 3: TỔNG KẾT</b>

Quảng thời gian thực tập tại Công ty cổ phần giải pháp công nghệ GPT đã giúp em cải thiệnbản thân rất nhiều trong quy trình làm việc thực tế, tác phong của người kỹ sư phần mềm.Được làm việc tại đây, em đã học thêm được kỹ năng mềm sử dụng mail, làm việc nhóm,giao tiếp với cấp trên, …

Chỉ trong thời gian hạn chế, em đã hồn thành dự án cá nhân trong q trình training vớicác tính năng, yêu cầu đặt ra ban đầu.

Khi tham gia vào dự án thực tế, em cũng hoàn thành tốt các tác vụ đúng hạn và đạt chấtlượng tốt.

<b>3.1. Điểm mạnh</b>

Kiến thức và kỹ năng chuyên môn:

-

Nắm vững các ngơn ngữ lập trình như Javascript.

-

Hiểu biết sâu sắc về cấu trúc dữ liệu và thuật toán.

-

Kinh nghiệm làm việc với các framework như ExpressJS.Vấn đề giải quyết:

-

Khả năng phân tích và giải quyết vấn đề một cách sáng tạo.

-

Thực hiện các dự án có tính ứng dụng cao và hiệu suất tốt.Giao tiếp và làm việc nhóm:

-

Kỹ năng giao tiếp tốt, có khả năng diễn đạt ý kiến và giải thích công việc một cách rõ ràng.

-

Hiệu quả trong việc làm việc nhóm và chia sẻ kiến thức.Tự quản lý và tổ chức:

-

Tự động quản lý công việc, tuân thủ thời gian và hoàn thành nhiệm vụ đúng hạn.

-

Kỹ năng quản lý dự án tốt.Tư duy phân tích:

-

Khả năng phân tích yêu cầu và thiết kế hệ thống một cách logic.

<b>3.2. Điểm yếu</b>

Kinh nghiệm cụ thể:

-

Thiếu kinh nghiệm trong một số công nghệ hoặc ngôn ngữ lập trình cụ thể.

16

</div><span class="text_page_counter">Trang 17</span><div class="page_container" data-page="17">

Giao tiếp và thuyết trình:

-

Cần cải thiện kỹ năng thuyết trình và giao tiếp trước công chúng.

-

Khả năng viết tài liệu và báo cáo có thể cần được cải thiện.Quản lý thời gian:

-

Thỉnh thoảng gặp khó khăn trong việc quản lý thời gian và ưu tiên công việc.Kỹ năng Testing:

-

Cần cải thiện trong việc thực hiện kiểm thử và đảm bảo chất lượng.Kỹ năng học kiến thức mới:

-

Có thể cần thời gian để nắm bắt và thích nghi với công nghệ mới.

<b>3.3. Chuẩn đạt được</b>

Thực hiện dự án:

-

Hoàn thành dự án thực tập với hiệu suất cao và theo đúng tiến độ.

-

Đáp ứng đầy đủ các yêu cầu chức năng và phi chức năng của dự án.Tự quản lý:

-

Quản lý thời gian hiệu quả, tuân thủ các kỳ hạn công việc.

-

Hiểu và áp dụng các nguyên tắc quản lý dự án để tự tổ chức công việc.Kỹ năng kỹ thuật:

-

Sử dụng thành thạo các cơng nghệ và ngơn ngữ lập trình liên quan đến dự án.

-

Thực hiện mã nguồn sạch sẽ, dễ hiểu và dễ bảo trì.Giao tiếp và làm việc nhóm:

-

Tương tác tích cực trong nhóm làm việc và đóng góp ý kiến xây dựng.

-

Chia sẻ thơng tin một cách rõ ràng và hiệu quả với các thành viên khác.Phân tích và thiết kế:

-

Thực hiện phân tích yêu cầu một cách chi tiết và hiệu quả.

-

Đề xuất và triển khai các giải pháp thiết kế hệ thống có tính mở rộng và linh hoạt.Kỹ năng tự học:

-

Nắm bắt và học nhanh chóng các cơng nghệ mới và cách triển khai chúng.

-

Tìm kiếm và áp dụng kiến thức mới để giải quyết các vấn đề phức tạp.

</div><span class="text_page_counter">Trang 18</span><div class="page_container" data-page="18">

Kiểm thử và đảm bảo chất lượng:

-

Thực hiện kiểm thử kỹ thuật và đảm bảo chất lượng sản phẩm.

-

Sửa lỗi và cải thiện mã nguồn dựa trên kết quả kiểm thử.Tài liệu và báo cáo:

-

Viết tài liệu và báo cáo một cách chi tiết và dễ hiểu.

-

Ghi chép đầy đủ và chính xác về các giai đoạn của dự án.Thực hiện biểu đồ Gantt:

-

Sử dụng biểu đồ Gantt để theo dõi và báo cáo tiến độ công việc.Phản hồi và học tập:

-

Chấp nhận phản hồi một cách xây dựng và áp dụng để cải thiện hiệu suất cá nhân.

-

Đặt ra các mục tiêu học tập mới dựa trên trải nghiệm thực tập.

18

</div><span class="text_page_counter">Trang 19</span><div class="page_container" data-page="19">

<b>TÀI LIỆU THAM KHẢO</b>

[1] NodeJS: ExpressJS: MongoDB: StackOverflow:

×