1. Trang chủ
  2. » Luận Văn - Báo Cáo

Báo cáo thực tập back end developer

18 5 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

Tiêu đề Báo Cáo Thực Tập Back End Developer
Tác giả Lương Hữu Vương
Người hướng dẫn Vi Chí Thiện
Trường học Trường Đại Học Công Nghệ Thông Tin
Chuyên ngành Công Nghệ Phần Mềm
Thể loại Báo cáo thực tập
Năm xuất bản 2023
Thành phố TP. Hồ Chí Minh
Định dạng
Số trang 18
Dung lượng 9,57 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Chân thành cảm ơn các anh chị trong team đã bỏ ra nhiều thờ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ôi trường mới cũng như trong việc tiếp cận ki

Trang 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

Back-End Developer

Công ty thực tập: TNHH DataInsider

Người phụ trách: Vi Chí Thiện

Trang 2

LỜI MỞ ĐẦU

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 luôn là nhân tố đóng vai trò quan trọng trong quá trình phát triển của xã 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ủa con 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ơn 1.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ức và 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 luôn làm bấ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ản thân trong ngành công nghiệp web, em đã lựa chọn back-end developer

là định hướng cho việ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ào công ty Data Insider – một môi trường lý tưởng và chuyên nghiệp để thực hiện

dự định

Trang 3

LỜI CẢM ƠN

Em xin trân trọng gửi lời cảm ơn đến công ty TNHH Data Insider đã tạo điều kiện cho

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ẫn nhiệt tình của anh Vi Chí Thiện, 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 các anh chị trong team đã bỏ ra nhiều thờ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ôi trườ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ư duy sả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ều kiện em làm báo cáo này

TP HCM, ngày 04 tháng 07 năm 2023

Lương Hữu Vương

Trang 4

NHẬN XÉT CỦA KHOA

Trang 5

MỤC LỤC

1.1 Giới thiệu công ty THNN DataInsider 6

1.2 Sản phẩm công ty 6

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

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

2.2.1 Tìm hiểu và làm quen với hệ điều hành Linux (Ubuntu) 7

2.2.2 Tìm hiểu và làm quen công cụ quản lý mã nguồn GitLab 8

2.2.3 Nguyên cứu Scala2 và web-framework Finatra 8

2.2.4 Tìm hiểu ClickHouse 9

2.2.5 Tìm hiêu Kafka 10

2.3 Tham gia dự án thực tế 10

CHƯƠNG 3: TỔNG KẾT 15 3.1 Điểm mạnh 15

3.2 Điểm yếu 15

3.3 Chuẩn đạt được 15

Trang 6

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

1.1.Giới thiệu công ty THNN DataInsider

Hình 1.1 Logo công ty Data Insider

DataInsider là một nền tảng quản lý và phân tích dữ liệu cung cấp sức mạnh xử lý liền mạch Được phát triển bởi một đội ngũ trực tiếp làm việc với dữ liệu, bạn sẽ tìm thấy các công cụ quản lý dữ liệu mạnh mẽ và đầy đủ để xây dựng giải pháp, bao gồm công

cụ Data Ingestion, Data Lake, Data Warehouse, và nhiều công cụ phức tạp khác để giúp bạn phát triển giải pháp phù hợp trong thời gian ngắn nhất

1.2.Sản phẩm công ty

Rocket.BI: là công cụ miễn phí, mã nguồn mở và dựa trên web, được thiết kế đặc biệt cho các cơ sở dữ liệu phân tích Nó cho phép cả nhà phân tích dữ liệu và người dùng kinh doanh dễ dàng tích hợp các nguồn dữ liệu khác nhau, thực hiện phân tích dữ liệu nâng cao, linh hoạt và nhanh chóng Với trình chỉnh sửa dễ sử dụng, có thể tạo báo cáo cá nhân, xây dựng bảng điều khiển kinh doanh tương tác và tạo ra những thông tin hữu ích cho doanh nghiệp

Rocket.BI cũng cho phép cộng tác bằng cách làm việc cùng với những người khác trong tổ chức

Trang 7

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

Em tham gia làm việc tại công ty bắt đầu từ 01/09/2022 tới 01/01/2023, các ngày làm việ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 9 giờ đến 6 giờ Thời gian nghỉ trưa khoảng 2 tiếng

Bắt đầu mỗi ngày làm việc em sẽ báo cáo tiến độ công việc trong ngày hôm trước, đặ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 công việc hôm nay

Mỗi tuần sẽ họp tiến độ tuần 1 lần vào sáng thứ 6, 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ếp theo

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

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

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, quá trình thành lập và phát triển, quy trình làm việc Ngoài ra, thực tập sinh còn được giới thiệu về văn hóa làm việc trong công ty như thời gian đi làm, các quy định trong công việc, …

Kết quả: hiểu thêm về công ty TNHH DataInsider, quá trình thành lập và phát triển

Có thêm các kỹ năng về 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

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

1 Tìm hiểu và làm quen với hệ điều hành Linux (Ubuntu)

 Giới thiệu Ubuntu

- Ubuntu là một hệ điều hành máy tính miễn phí và mã nguồn mở được phát triển bởi Canonical Ltd

- Ubuntu được xây dựng trên nền tảng Linux và được thiết kế để cung cấp một trải nghiệm đơn giản và dễ sử dụng cho người dùng

- Ubuntu có khả năng hoạt động liên tục trong thời gian dài mà không cần khởi động lại, giúp giảm thiểu thời gian gián đoạn và giúp ứng dụng hoạt động liên tục

Trang 8

HÌnh 2.1 Logo hệ điều hành Ubuntu

 Kết quả:

- Cài đặt và làm quen với các công cụ nêu trên

- Hiểu cách các ứng dụng này sử dụng trong công việc

2 Tìm hiểu và làm quen công cụ quản lý mã nguồn GitLab

 Giới thiệu GitLab

- GitLab là một nền tảng quản lý mã nguồn và DevOps dựa trên web, cung cấp cho các nhà phát triển một nơi để quản lý mã nguồn, kiểm soát phiên bản, triển khai và tự động hóa quy trình phát triển phần mềm

- GitLab cung cấp nhiều tính năng hỗ trợ cho DevOps, bao gồm triển khai tự động, kiểm thử, phân phối và giám sát, giúp các nhà phát triển tích hợp quy trình phát triển phần mềm một cách linh hoạt và hiệu quả

- GitLab cung cấp các tính năng CI/CD tích hợp sẵn, cho phép các nhà phát triển tạo và quản lý các bản dựng tự động và triển khai phần mềm vào môi trường sản xuất

HÌnh 2.2 Logo quản lý mã nguồn GitLab

 Kết quả:

- Tạo tài khoảng GitLab

- Tạo repo đầu tiền của bản thân

3 Nguyên cứu Scala2 và web-framework Finatra

 Giới thiệu về Scala2

Trang 9

- Scala là một ngôn ngữ lập trình đa năng, hỗ trợ lập trình hướng đối tượng

và lập trình hàm, được phát triển bởi Martin Odersky và nhóm của ông tại Đại học Thụy Sĩ EPFL Scala được thiết kế để chạy trên nền tảng của Java Virtual Machine (JVM) và có thể sử dụng các thư viện Java có sẵn

- Scala kết hợp các tính năng cấp cao của lập trình hàm như các hàm bậc cao, hàm đệ quy, và tính toán lười biếng với sự linh hoạt của lập trình hướng đối tượng Scala cũng cho phép phát triển ứng dụng đa luồng và phân tán

HÌnh 2.3 Logo ngôn ngữ lập trình Scala

 Giới thiệu web-framework Finatra

- Finatra là một web framework nhỏ gọn, dựa trên ngôn ngữ lập trình Scala

và được phát triển bởi Twitter Nó được thiết kế để xử lý các ứng dụng web

và API với tốc độ cao, đáp ứng và có khả năng mở rộng tốt

- Finatra được xây dựng trên nền tảng của các thư viện mã nguồn mở TwitterServer, Finagle và Jackson

HÌnh 2.4 Logo web-framework Finatra

 Kết quả:

- Hiểu và có thể sử dụng công nghệ

- Xây dựng API cho ứng dụng minh họa

4 Tìm hiểu ClickHouse

 Giới thiệu ClickHouse

Trang 10

- ClickHouse là một hệ thống cơ sở dữ liệu phân tán mã nguồn mở, được thiết kế để xử lý lượng dữ liệu lớn với tốc độ nhanh và khả năng mở rộng tốt

- ClickHouse có thể xử lý hàng tỉ hàng trăm triệu dòng dữ liệu trong thời gian thực, giúp các nhà phát triển và doanh nghiệp có thể phân tích và đưa

ra quyết định dựa trên dữ liệu nhanh chóng và hiệu quả

- ClickHouse cung cấp nhiều tính năng hữu ích cho việc xử lý dữ liệu lớn

- ClickHouse có tốc độ truy vấn nhanh và khả năng xử lý dữ liệu lớn, cho phép các nhà phát triển và doanh nghiệp phân tích dữ liệu nhanh chóng và hiệu quả

HÌnh 2.5 Logo Database ClickHouse

 Kêt quả:

- Làm quen được cách sử dùng ClickHouse thông công cụ “clickhouse-client”

5 Tìm hiêu Kafka

 Giới thiệu Kafka

- Kafka là một hệ thống xử lý thông tin phân tán mã nguồn mở, được thiết kế

để xử lý lượng dữ liệu lớn với tốc độ cao và khả năng mở rộng tốt Nó được phát triển bởi Apache Software Foundation và được sử dụng rộng rãi trong các ứng dụng xử lý dữ liệu thời gian thực

- Kafka sử dụng Publish-Subscribe Model để xử lý các thông tin dữ liệu và cho phép các ứng dụng truyền tải các thông tin dữ liệu đến các ứng dụng khác một cách linh hoạt

- Kafka có khả năng xử lý lượng dữ liệu lớn với tốc độ cao, cho phép các ứng dụng truyền tải dữ liệu một cách nhanh chóng và hiệu quả

Trang 11

HÌnh 2.6 Logo Kafka

 Kết quả:

- Cài đặt thành công công nghệ trên thiết bị cá nhân

- Tích hợp công nghê vào ứng dụng cá nhân

2.3.Tham gia dự án thực tế

Tham gia dự án open-source RocketBI của công ty (link)

1 Giới thiệu dự án:

- RocketBI là một sản phẩm thông minh kinh doanh trên web, dành riêng cho các cơ sở dữ liệu phân tích Đây là sản phẩm chủ đạo của bộ công cụ

DataInsider

- RocketBI là công cụ dùng để phân tích, trực quan hóa và có thể chia sẽ và hợp tác trưc tiếp với người khác một cách dễ dàng

Trang 12

HÌnh 3.1 Demo công cụ RocketBI

2 Quá trình thực hiện:

- Trong suốt thời gian tham gia dự án RocketBI kéo dài 3 tháng tại công ty.Em đảm nhiêm vai bào bảo trì và phát triển chức năng "Data Ingestion

- Data Ingestion là tính năng cho phép người dùng có để chuyển dữ liệu từ hệ thống của họ hoặc bên thứ 3 mà người dùng sử dụng dịch vụ nắm dữ data của họ Người dùng có thể chuyển dữ liệu của họ vào hệ thống theo lịch

- Các công viêc thực hiện:

- Mở rộng chức năng này cho các nền tảng quảng cáo như Facebook Ads, Google Ads và TikTok Ads

- Xây dựng tính năng "target" tập khách hàng "Audience" từ dữ liệu nội bộ lên các nền nền tẳng quảng cáo như Facebook Ads, Google Ads và TikTok Ads

- Xây dưng các API cho chức năng đăng ký, kiểm tra và gia hạn "Licence" cho các chức năng yêu cầu trả phí

- Bảo trì chức năng lấy dữ liệu từ GoogleSheet

- Ngoài ra công viêc trên em còn viết Testcase cho các chức năng khác

3 Thuận lợi:

- Được mọi người trong team giúp đỡ, cũng như hỗ trợ tìm cách giải quyết phù hợp

4 Khó khăn:

Trang 13

- Trong quá trình thực hiện công việc với các nền tảng quảng cáo Găp rất nhiều khó khăn trong viêc xác định yêu cầu cầu của chức năng này Khi dựa vào các nền tảng đã được hỗ trợ trước đó thì hầu hết các chức nằng này là các Database nên việc truy xuất và xác đinh Schema đều được Database cung cấp

- Đối với các nền tảng quảng cáo thì các trường dữ liệu được truy xuất thì phải bao gồm một vài điều kiện thì mới có thể truy xuất được Vì vây mà viêc xác định Schema trở nên phức tạp

- Các hệ thống quảng cáo thường có rất nhiều qui đinh vè giới hạn sử dụng cho các API Nên viêc tổ chức code cho từng nền tảng trở nên khó khăn 2.3.5 Hình ảnh chức năng Data Ingestion

HÌnh 3.2 Danh sách Data Source

Trang 14

HÌnh 3.3 Danh sách Sync Data Job

HÌnh 3.4 Lịch sử sync Data

Trang 15

HÌnh 3.5 Hình ảnh tạo Data Source

HÌnh 3.6 Tạo job sync data

Trang 16

CHƯƠNG 3: TỔNG KẾT

Quãng thời gian thực tập tại công ty TNHH DataInsider đã giúp em cải thiện bả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, cách tổ chức kết hoach làm việc, làm việc nhóm, giao tiếp với đồng nghiệp,…

Chỉ trong thời gian hạn chế, em đã hoàn thành dự án cá nhân trong quá trình training với cá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ất lượng tốt

1 Điểm mạnh

- Hoàn thành công viêc được giao trong thời gian yêu cầu

- Chủ động tra cứu thông tin khi làm viêc

- Khi gặp khó khăn không thể giải đáp khi làm viêc thì không ngần ngại nhờ sự giúp đở của các thành viên trong team

- Hỗ trợ đồng nghiệp khi làm việc

- Làm việc nhóm hiệu quả

- Thân thiện, hòa đồng với đồng nghiệp

- Đọc hiểu các tài liệu tiếng anh

2 Điểm yếu

- Khả năng trình bày ý kiến vẫn chưa tốt

- Quản lý commit code với Git khồng hợp lý gây khó khăn cho người review

- Quản lý công việc hằng ngày chưa hiệu quả

3 Chuẩn đạt được

- Nắm bắt được xu hướng, nhu cầu xã hội và tính đặc thù của doanh nghiệp (G1): 9/10

- Hiểu và giải thích được các khái niệm cơ bản, thuật ngữ và sơ đồ hệ thống trong dự án

- (G2): 9/10

- Nắm được quy trình, phương pháp và công nghệ phát triển sản phẩm phần mềm tại

- doanh nghiệp (G3): 9/10

- Có khả năng tìm hiểu vấn đề, mô hình hóa vấn đề và tham gia giải quyết vấn đề (G4):

- 10/10

- Phát triển kỹ năng tư duy, kỹ năng làm việc nhóm và kỹ năng trình bày (G5): 9/10

Trang 17

- Đọc, hiểu các tài liệu và giao tiếp bằng tiếng Anh (G6): 8/10

Goa

l

Mục tiêu môn học

G1 Nắm bắt được xu hướng, nhu cầu xã hội và tính đặc thù của doanh nghiệp G2 Hiểu và giải thích được các khái niệm cơ bản, thuật ngữ và sơ đồ hệ thống

trong dự án

G3 Nắm được quy trình, phương pháp và công nghệ phát triển sản phẩm phần

mềm tại doanh nghiệp

G4 Có khả năng tìm hiểu vấn đề, mô hình hóa vấn đề và tham gia giải quyết vấn

đề

G5 Phát triển kỹ năng tư duy, kỹ năng làm việc nhóm và kỹ năng trình bày

G6 Đọc, hiểu các tài liệu và giao tiếp bằng tiếng Anh

Trang 18

TÀI LIỆU THAM KHẢO

[Theo định dạng APA]

1 Scala Documentation (n.d.) Retrieved July 4, 2023, from https://docs.scala-lang.org/

2 ClickHouse Docs (2022, March 15) Retrieved July 4, 2023, from

https://clickhouse.com/docs/en/intro

3 Apache Kafka documentation (n.d.) Retrieved July 4, 2023, from

https://kafka.apache.org/documentation/

4 Finatra Documentation (n.d.) Retrieved July 4, 2023, from

https://twitter.github.io/finatra/

5 GitLab Documentation (n.d.) Retrieved July 4, 2023, from

https://docs.gitlab.com/

6 Meta developer documentation (n.d.) Retrieved July 4, 2023, from

https://developers.facebook.com/docs/

7 Documentation |Tiktok API for Busines (n.d.) Retrieved July 4, 2023, from

https://ads.tiktok.com/marketing_api/docs

8 Google Ads API Documentation (n.d.) Retrieved July 4, 2023, from

https://developers.google.com/google-ads/api/docs/start

Ngày đăng: 04/09/2023, 20:57

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
1. Scala Documentation. (n.d.). Retrieved July 4, 2023, from https://docs.scala- lang.org/ Sách, tạp chí
Tiêu đề: Scala Documentation
Năm: n.d.
2. ClickHouse Docs. (2022, March 15). Retrieved July 4, 2023, from https://clickhouse.com/docs/en/intro Sách, tạp chí
Tiêu đề: ClickHouse Docs
Năm: 2022
3. Apache Kafka documentation. (n.d.). Retrieved July 4, 2023, from https://kafka.apache.org/documentation/ Sách, tạp chí
Tiêu đề: Apache Kafka documentation
4. Finatra Documentation. (n.d.). Retrieved July 4, 2023, from https://twitter.github.io/finatra/ Sách, tạp chí
Tiêu đề: Finatra Documentation
Nhà XB: Twitter, Inc.
Năm: n.d.
5. GitLab Documentation. (n.d.). Retrieved July 4, 2023, from https://docs.gitlab.com/ Sách, tạp chí
Tiêu đề: GitLab Documentation
Năm: n.d.
6. Meta developer documentation. (n.d.). Retrieved July 4, 2023, from https://developers.facebook.com/docs/ Sách, tạp chí
Tiêu đề: Meta developer documentation
Năm: n.d.
8. Google Ads API Documentation. (n.d.). Retrieved July 4, 2023, from https://developers.google.com/google-ads/api/docs/start Sách, tạp chí
Tiêu đề: Google Ads API Documentation
Nhà XB: Google for Developers
Năm: n.d.
7. Documentation |Tiktok API for Busines. (n.d.). Retrieved July 4, 2023, from https://ads.tiktok.com/marketing_api/docs Link
w