Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 18 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
18
Dung lượng
9,57 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 Back-End Developer Công ty thực tập: TNHH DataInsider Người phụ trách: Vi Chí Thiện Thực tập sinh: Lương Hữu Vương TP Hồ Chí Minh,4 tháng năm 2023 LỜI MỞ ĐẦU Trong cách mạng cơng nghiệp 4.0, cơng nghệ thơng tin nói chung ngành Cơng nghệ phần mềm nói riêng ln nhân tố đóng vai trị quan trọng q trình phát triển xã hội Cơng nghệ Web, hay công nghệ sản xuất trang web phục vụ hầu hết nhu cầu người từ bán hàng, cung cấp kiến thức đến thông tin liên lạc, Hiện có đến 1.5 tỷ trang web, nhu cầu tạo trang web chưa có dấu hiệu giảm Do đó, trang web muốn nhiều người sử dụng phải đáp ứng yếu tố hình thức nội dung Làm để sản phẩm tạo đạt chất lượng cao hai yếu tố ln làm đội ngũ phát triển website cần phải suy nghĩ đau đầu Để thử thách thân ngành công nghiệp web, em lựa chọn back-end developer định hướng cho việc học nghề nghiệp tương lai Sau năm tháng môi trường đại học, với mong muốn áp dụng kiến thức học có trải nghiệm mơi trường thực tế, em định tham gia vào công ty Data Insider – môi trường lý tưởng chuyên nghiệp để thực dự định 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 hội thực tập công ty Dù thời gian ngắn nhờ dẫn nhiệt tình anh Vi Chí Thiện, em tiếp thu kiến thức quan trọng để tham gia dự án thực tế Chân thành cảm ơn anh chị team bỏ nhiều thời gian, công sức để hướng dẫn, hướng dẫn, giúp đỡ em tận tình làm quen mơi trường việc tiếp cận kiến thức công nghệ, kỹ lập trình tư sản phẩm để thực tốt dự án cá nhân dự án thực tế thời gian qua Em 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 TP HCM, ngày 04 tháng 07 năm 2023 Lương Hữu Vương 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 1.1 Giới thiệu công ty THNN DataInsider 1.2 Sản phẩm công ty 1.3 Lịch làm việc thực tập công ty CHƯƠNG 2: NỘI DUNG THỰC TẬP 2.1 Tìm hiểu cơng ty kỹ công ty 2.2 Nghiên cứu kỹ thuật .7 2.2.1 Tìm hiểu làm quen với hệ điều hành Linux (Ubuntu) 2.2.2 Tìm hiểu làm quen công cụ quản lý mã nguồn GitLab .8 2.2.3 Nguyên cứu Scala2 web-framework Finatra 2.2.4 Tìm hiểu ClickHouse 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 15 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 tảng quản lý phân tích liệu cung cấp sức mạnh xử lý liền mạch Được phát triển đội ngũ trực tiếp làm việc với liệu, bạn tìm thấy cơng cụ quản lý liệu mạnh mẽ đầy đủ để xây dựng giải pháp, bao gồm công cụ Data Ingestion, Data Lake, Data Warehouse, 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 thời gian ngắn 1.2.Sản phẩm công ty Rocket.BI: công cụ miễn phí, mã nguồn mở dựa web, thiết kế đặc biệt cho sở liệu phân tích Nó cho phép nhà phân tích liệu người dùng kinh doanh dễ dàng tích hợp nguồn liệu khác nhau, thực phân tích liệu nâng cao, linh hoạt nhanh chóng Với trình chỉnh sửa dễ sử dụng, 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 tạo thơng tin hữu ích cho doanh nghiệp Rocket.BI cho phép cộng tác cách làm việc với người khác tổ chức 1.3.Lịch làm việc thực tập công ty Em tham gia làm việc công ty 01/09/2022 tới 01/01/2023, ngày làm việc tuần từ thứ đến thứ Công việc ngày lúc đến Thời gian nghỉ trưa khoảng tiếng Bắt đầu ngày làm việc em báo cáo tiến độ công việc ngày hôm trước, đặt câu hỏi 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 Mỗi tuần họp tiến độ tuần lần vào sáng thứ 6, người họp bàn bạc vấn đề giải quyết, tồn đọng, học, giải pháp mục tiêu cho tuần CHƯƠNG 2: NỘI DUNG THỰC TẬP 2.1.Tìm hiểu cơng ty kỹ công ty Nội dung: giới thiệu công ty, cách tổ chức công ty, nghe người phụ trách giới thiệu công ty, trình thành lập phát triển, quy trình làm việc Ngồi ra, thực tập sinh cịn giới thiệu văn hóa làm việc cơng ty thời gian làm, quy định công việc, … Kết quả: hiểu thêm công ty TNHH DataInsider, 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 2.2.Nghiên cứu kỹ thuật Tìm hiểu làm quen với hệ điều hành Linux (Ubuntu) Giới thiệu Ubuntu - Ubuntu hệ điều hành máy tính miễn phí mã nguồn mở phát triển Canonical Ltd - Ubuntu xây dựng tảng Linux thiết kế để cung cấp trải nghiệm đơn giản dễ sử dụng cho người dùng - Ubuntu có khả hoạt động liên tục 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 giúp ứng dụng hoạt động liên tục HÌnh 2.1 Logo hệ điều hành Ubuntu Kết quả: - Cài đặt làm quen với công cụ nêu - Hiểu cách ứng dụng sử dụng công việc Tìm hiểu làm quen cơng cụ quản lý mã nguồn GitLab Giới thiệu GitLab - GitLab tảng quản lý mã nguồn DevOps dựa web, cung cấp cho nhà phát triển nơi để quản lý mã nguồn, kiểm soát phiên bản, triển khai tự động hóa quy trình phát triển phần mềm - GitLab cung cấp nhiều tính hỗ trợ cho DevOps, bao gồm triển khai tự động, kiểm thử, phân phối giám sát, giúp nhà phát triển tích hợp quy trình phát triển phần mềm cách linh hoạt hiệu - GitLab cung cấp tính CI/CD tích hợp sẵn, cho phép nhà phát triển tạo quản lý dựng tự động 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 thân Nguyên cứu Scala2 web-framework Finatra Giới thiệu Scala2 - - Scala ngơn ngữ lập trình đa năng, hỗ trợ lập trình hướng đối tượng lập trình hàm, phát triển Martin Odersky nhóm ơng Đại học Thụy Sĩ EPFL Scala thiết kế để chạy tảng Java Virtual Machine (JVM) sử dụng thư viện Java có sẵn Scala kết hợp tính cấp cao lập trình hàm hàm bậc cao, hàm đệ quy, tính tốn lười biếng với linh hoạt lập trình hướng đối tượng Scala cho phép phát triển ứng dụng đa luồng 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 web framework nhỏ gọn, dựa ngơn ngữ lập trình Scala phát triển Twitter Nó thiết kế để xử lý ứng dụng web API với tốc độ cao, đáp ứng có khả mở rộng tốt - Finatra xây dựng tảng thư viện mã nguồn mở TwitterServer, Finagle Jackson HÌnh 2.4 Logo web-framework Finatra Kết quả: - Hiểu sử dụng công nghệ - Xây dựng API cho ứng dụng minh họa Tìm hiểu ClickHouse Giới thiệu ClickHouse - - - ClickHouse hệ thống sở liệu phân tán mã nguồn mở, thiết kế để xử lý lượng liệu lớn với tốc độ nhanh khả mở rộng tốt ClickHouse xử lý hàng tỉ hàng trăm triệu dòng liệu thời gian thực, giúp nhà phát triển doanh nghiệp phân tích đưa định dựa liệu nhanh chóng hiệu ClickHouse cung cấp nhiều tính hữu ích cho việc xử lý liệu lớn ClickHouse có tốc độ truy vấn nhanh khả xử lý liệu lớn, cho phép nhà phát triển doanh nghiệp phân tích liệu nhanh chóng hiệu HÌnh 2.5 Logo Database ClickHouse Kêt quả: - Làm quen cách sử dùng ClickHouse thông công cụ “clickhouseclient” Tìm hiêu Kafka Giới thiệu Kafka - Kafka hệ thống xử lý thông tin phân tán mã nguồn mở, thiết kế để xử lý lượng liệu lớn với tốc độ cao khả mở rộng tốt Nó phát triển Apache Software Foundation sử dụng rộng rãi ứng dụng xử lý liệu thời gian thực - Kafka sử dụng Publish-Subscribe Model để xử lý thông tin liệu cho phép ứng dụng truyền tải thông tin liệu đến ứng dụng khác cách linh hoạt - Kafka có khả xử lý lượng liệu lớn với tốc độ cao, cho phép ứng dụng truyền tải liệu cách nhanh chóng hiệu 10 HÌnh 2.6 Logo Kafka Kết quả: - Cài đặt thành công công nghệ 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ông ty (link) Giới thiệu dự án: - - RocketBI sản phẩm thông minh kinh doanh web, dành riêng cho sở liệu phân tích Đây sản phẩm chủ đạo công cụ DataInsider RocketBI cơng cụ dùng để phân tích, trực quan hóa chia hợp tác trưc tiếp với người khác cách dễ dàng 11 HÌnh 3.1 Demo cơng cụ RocketBI Q trình thực hiện: - - - Trong suốt thời gian tham gia dự án RocketBI kéo dài tháng công ty.Em đảm nhiêm vai bào bảo trì phát triển chức "Data Ingestion Data Ingestion tính cho phép người dùng có để chuyển liệu từ hệ thống họ bên thứ mà người dùng sử dụng dịch vụ nắm data họ Người dùng chuyển liệu họ vào hệ thống theo lịch Các công viêc thực hiện: Mở rộng chức cho tảng quảng cáo Facebook Ads, Google Ads TikTok Ads Xây dựng tính "target" tập khách hàng "Audience" từ liệu nội lên nền tẳng quảng cáo Facebook Ads, Google Ads TikTok Ads Xây dưng API cho chức đăng ký, kiểm tra gia hạn "Licence" cho chức u cầu trả phí Bảo trì chức lấy liệu từ GoogleSheet Ngồi cơng viêc em viết Testcase cho chức khác Thuận lợi: Được người team giúp đỡ, hỗ trợ tìm cách giải phù hợp Khó khăn: 12 - Trong q trình thực công việc với tảng quảng cáo Găp nhiều khó khăn viêc xác định yêu cầu cầu chức Khi dựa vào tảng hỗ trợ trước hầu hết chức nằng Database nên việc truy xuất xác đinh Schema Database cung cấp - Đối với tảng quảng cáo trường liệu truy xuất phải bao gồm vài điều kiện truy xuất 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ó nhiều qui đinh vè giới hạn sử dụng cho API Nên viêc tổ chức code cho tảng trở nên khó khăn 2.3.5 Hình ảnh chức Data Ingestion HÌnh 3.2 Danh sách Data Source 13 HÌnh 3.3 Danh sách Sync Data Job HÌnh 3.4 Lịch sử sync Data 14 HÌnh 3.5 Hình ảnh tạo Data Source HÌnh 3.6 Tạo job sync data 15 CHƯƠNG 3: TỔNG KẾT Quãng thời gian thực tập công ty TNHH DataInsider giúp em cải thiện thân nhiều quy trình làm việc thực tế, tác phong người kỹ sư phần mềm Được làm việc đây, em học thêm kỹ 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ỉ thời gian hạn chế, em hoàn thành dự án cá nhân q trình training với tính năng, u cầu đặt ban đầu Khi tham gia vào dự án thực tế, em hoàn thành tốt tác vụ hạn đạt chất lượng tốt Điểm mạnh - Hồn thành cơng viêc giao thời gian yêu cầu - Chủ động tra cứu thông tin làm viêc - Khi gặp khó khăn khơng thể giải đáp làm viêc khơng ngần ngại nhờ - giúp đở thành viên team Hỗ trợ đồng nghiệp làm việc Làm việc nhóm hiệu Thân thiện, hòa đồng với đồng nghiệp Đọc hiểu tài liệu tiếng anh Điểm yếu - Khả trình bày ý kiế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 ngày chưa hiệu Chuẩn đạt - Nắm bắt xu hướng, nhu cầu xã hội tính đặc thù doanh nghiệp (G1): 9/10 Hiểu giải thích khái niệm bản, thuật ngữ sơ đồ hệ thống dự án (G2): 9/10 Nắm quy trình, phương pháp cơng nghệ phát triển sản phẩm phần mềm doanh nghiệp (G3): 9/10 Có khả tìm hiểu vấn đề, mơ hình hóa vấn đề tham gia giải vấn đề (G4): 10/10 Phát triển kỹ tư duy, kỹ làm việc nhóm kỹ trình bày (G5): 9/10 16 - Đọc, hiểu tài liệu giao tiếp tiếng Anh (G6): 8/10 Goa Mục tiêu môn học l G1 Nắm bắt xu hướng, nhu cầu xã hội tính đặc thù doanh nghiệp G2 Hiểu giải thích khái niệm bản, thuật ngữ sơ đồ hệ thống dự án G3 Nắm quy trình, phương pháp công nghệ phát triển sản phẩm phần mềm doanh nghiệp G4 Có khả tìm hiểu vấn đề, mơ hình hóa vấn đề tham gia giải vấn đề G5 Phát triển kỹ tư duy, kỹ làm việc nhóm kỹ trình bày G6 Đọc, hiểu tài liệu giao tiếp tiếng Anh 17 TÀI LIỆU THAM KHẢO [Theo định dạng APA] Scala Documentation (n.d.) Retrieved July 4, 2023, from https://docs.scalalang.org/ ClickHouse Docs (2022, March 15) Retrieved July 4, 2023, from https://clickhouse.com/docs/en/intro Apache Kafka documentation (n.d.) Retrieved July 4, 2023, from https://kafka.apache.org/documentation/ Finatra Documentation (n.d.) Retrieved July 4, 2023, from https://twitter.github.io/finatra/ GitLab Documentation (n.d.) Retrieved July 4, 2023, from https://docs.gitlab.com/ Meta developer documentation (n.d.) Retrieved July 4, 2023, from https://developers.facebook.com/docs/ Documentation |Tiktok API for Busines (n.d.) Retrieved July 4, 2023, from https://ads.tiktok.com/marketing_api/docs Google Ads API Documentation (n.d.) Retrieved July 4, 2023, from https://developers.google.com/google-ads/api/docs/start 18