Chả là ai cũng có những giây phút lười biếng hoặc ngại tìm hiểu một vấn đề gì đó. Vì để tránh kiến thức của mình bị ngó lơ trong thời gian dài và để tiếp nối hành trình tìm lại kiến thức tháng trước. Tôi đã note ra một số khái niệm mình chưa tìm hiểu rõ ràng và giải thích kĩ lại nó vào tháng sau. Cứ vậy cứ vậy, vòng đời của một số những cái biếng

-> P/s: Tôi sẽ cố gắng để những kiến thức trong tháng không bị lọt sang tháng sau

Giới thiệu bản thân để gây ấn tượng ban đầu

Tháng 7, tháng vừa thi vừa phải đi tìm việc, trong nửa tháng đầu ngoài việc ôn thi tôi có tranh thủ rải cv cho một số job trên một số nền tảng tìm việc lớn như topcv, topdev, facebook, theard,… Bên tuyển dụng nhận được CV rồi gọi tôi đi phỏng vấn, trải qua 4 5 lần interview thì tôi nhận ra rằng giới thiệu bản thân ban đầu là một bước rất quan trọng để nhà tuyển dụng bước đầu cảm nhận được mình là người thế nào. Biết gì không, 5 lần đi interview tôi đều false cả :)). Thực ra đa số công ty đều yêu cầu có thể full - time được ngay cái mà tôi rất khó có thể thực hiện trong lúc này do phải học hè rồi alb nữa :V.

Ai học technical thầy Ngọc rồi thì sẽ biết là cái đầu tiên thầy dạy là "Introduce about myself". Vậy mà khi học xong tôi lại quên luôn là giới thiệu bản thân là cái quan trọng nhất. Từ lúc này hoặc khi đi phỏng vấn thì introduce sẽ là câu cửa miệng của tôi.

Xin chào a/c, em tên là vvh, hiện e đang là sv năm cuối của Đại học Bách Khoa Hà Nội chuyên ngành Hệ thống thông tin quản lý, em luôn mong muốn tự động hóa tất cả công việc của mình một cách dễ dàng và thậm chí cả việc monitor, vì vậy em rất thích việc xây dựng các pipeline cho các hệ thống và phân tích thiết kế hệ thống cũng là môn học yêu thích của em. Ngoài thời gian dành cho việc học em thích đi chạy, đọc sách, viết blog, tìm hiểu công nghệ mới, tán chuyện với lũ bạn hoặc nghe các lão làng tâm sự về cuộc sống và tiếp thu các kinh nghiệm quý báu của họ. Nay em đến phỏng vấn vị trí Data Engineer, rất mong có cơ hội được làm việc và học hỏi từ quý công ty.

Đó, đôi ba lời ngắn gọi nhưng thu hút được ánh nhìn của nhà tuyển dụng. Sau vài lời như này thì mọi thứ sẽ dễ dàng hơn.

Mount là gì?

Cái này tôi cũng thắc mắc lâu rồi, trước cũng chỉ hiểu thoáng qua là cái gì trong ổ cứng của hệ điều hành. Nay ai đọc cái này thì sẽ rõ hơn Mount là gì. Tại sao đi đâu người ta cũng bảo mount này mount kia.

Trong hệ thống tệp và lưu trữ, “mount” (gắn kết) là quá trình kết nối một thiết bị lưu trữ hoặc phân vùng tệp hệ thống vào hệ điều hành, để hệ thống có thể truy cập vào dữ liệu trên thiết bị đó. Ví dụ bạn có một ổ cứng 100GB và bạn muốn gắn nó vào con laptop của bạn. Thì người ta gọi là mount ổ cứng đó. Khái niệm MOUNT thường được dùng cho các thiết bị ảo trên đám mây.

Khi bạn “mount” một thiết bị lưu trữ (như ổ cứng, USB, hoặc phân vùng đĩa), hệ điều hành sẽ tạo ra một điểm truy cập (thư mục) trên hệ thống tệp của bạn để bạn có thể đọc và ghi dữ liệu từ thiết bị đó. Ví dụ, trên hệ điều hành Linux, bạn có thể gắn kết một phân vùng đĩa vào thư mục /mnt hoặc /media, trong khi trên Windows, một ổ đĩa có thể được gán ký tự ổ đĩa như D: hoặc E:.

Quá trình gắn kết thường được thực hiện tự động khi khởi động máy tính hoặc khi bạn kết nối một thiết bị lưu trữ mới. Tuy nhiên, bạn cũng có thể thực hiện việc này thủ công bằng các lệnh hoặc giao diện đồ họa, tùy thuộc vào hệ điều hành bạn đang sử dụng.

Plugin là gì?

Plugin (hoặc plug-in) là một phần mềm bổ sung cho phép tùy biến và mở rộng chức năng của một ứng dụng chính mà không cần phải thay đổi mã nguồn của ứng dụng đó. Các plugin thường được sử dụng để thêm tính năng mới hoặc cải thiện các tính năng hiện có của ứng dụng.

Chủ yếu áp dụng cho cái ứng dụng web và mã nguồn được viết bằng PHP

Ví dụ:

  1. Trình duyệt web: Các plugin có thể thêm tính năng như chặn quảng cáo, quản lý mật khẩu, hoặc hiển thị nội dung đa phương tiện như Flash hay PDF.

  2. Phần mềm chỉnh sửa ảnh và video: Các plugin có thể cung cấp các hiệu ứng hình ảnh mới, bộ lọc, hoặc công cụ chỉnh sửa nâng cao.

  3. Hệ quản trị nội dung (CMS): Trong các hệ quản trị nội dung như WordPress, plugin có thể được sử dụng để thêm các tính năng như biểu mẫu liên hệ, tối ưu hóa SEO, hoặc tích hợp mạng xã hội.

  4. Trình soạn thảo mã nguồn: Các plugin có thể giúp hỗ trợ ngôn ngữ lập trình, cung cấp gợi ý mã, hoặc kiểm tra lỗi cú pháp.

Nhờ có plugin, người dùng có thể tùy chỉnh ứng dụng theo nhu cầu cụ thể của mình mà không cần đợi các bản cập nhật từ nhà phát triển chính. Điều này cũng giúp cộng đồng người dùng và các nhà phát triển bên thứ ba dễ dàng đóng góp và mở rộng chức năng của các ứng dụng phổ biến

Unnest

Ngay ngày đầu đi làm tôi đã phải gặp cái khái niệm này, tuy đã nghe trước đồ rồi nhưng sự bỡ ngỡ thì chỉ như lúc ban đầu. Dữ liệu từ app/game của bạn được thu thập theo từng ngày. Vì vậy, mỗi ngày dữ liệu sẽ được đổ hoàn toàn vào một bảng có tên với đuôi kết thúc là ngày đó. Sẽ có rất nhiều bảng có các trường dữ liệu khác nhau và các dữ liệu này có thể biểu diễn theo time seri, khi truy vấn ta chỉ có thể tiếp cận một vài bảng chứ không thể tiếp cận tất cả các bảng trong truy vấn, nếu join thì sẽ rất là mệt hoặc là select thủ công thì cũng rất là mệt. À quên tôi đang nói đến cái _TABLE_SUFFIX. Bây giờ sẽ nói để Unnest nè

Trong BigQuery, kỹ thuật unnest được sử dụng để làm phẳng các mảng hoặc cấu trúc lồng nhau trong bảng dữ liệu. BigQuery cung cấp hàm UNNEST() để thực hiện điều này.

Để tôi cho bạn một ví dụ:

Trong 1 bảng, với một trường dữ liệu cố định sẽ có rất nhiều key, do dữ liệu được lưu trong 1 cột đó lưu dưới dạng key - value, ví dụ như là cột đặc điểm sẽ có các key khác liên quan đến màu, kích thước, giới tính, …. Các dữ liệu đó lưu dưới dạng một mảng hoặc một list. Chúng ta không thể trọc trực tiếp vào để lấy được cái dữ liệu bằng cách . như các toán tử hay dùng vì chúng bị giống và chống liên tục nên nhau. Để có thể tác động vào và gỡ chồng nó ra thì unnest được ra đời như là cách để tạo thêm các cột mới giống các kĩ thuật One hot, Label encode trong xử lý dữ liệu. Unnest (tháo chồng) tạo ra các cột mới từ cột cũ và các dữ liệu từ cột mới đều ứng với cột cũ. Nếu trong ví dụ trên thì cột màu, size, sex sẽ được tạo ra.

Để hiểu và thực hành một cách rõ hơn thì tôi nghĩ bạn nên tham khảo các tài liệu sau, dễ hiểu lắm.

Để hiểu rõ hơn thì các bạn nên thực hành với các seri trong bài viết sau: medium

Ae nên xem thêm cái này nữa, dễ hiểu lắm: youtube

Nguyên tắc Smart khi kể chuyện

Tháng 7 này, ngoài việc ôn thi tôi còn theo dõi các a/c trên lab làm đồ án, chứng kiến từ những khắc nghiệt chạy đồ án đến những lúc các a/c thảnh thơi cầm binh đánh trận, ngoại giao cây tre.

Trong hành trình đó, tôi đã được đi nghe bảo vệ thử trực tiếp với thầy đứng lab. Trong lần đầu, khó tránh khỏi những sai xót và một điều mà ai cũng mắc phải đó là kể chuyện không hợp lý. Cách đi vào câu chuyện mở mà chưa tốt. Việc kể chuyện hoặc nhắc đến một vấn đề nó phải theo một nguyên tắc đó là SMART:

  • Story
  • Meaning
  • Action

Smart này khác với Smart trong nghệ thuật thiết lập mục tiêu. Kể chuyện hay thuyết trình theo nguyên tắc này thì đảm bảo người nghe không bị xót thông tin, người nghe hiểu được người nói đang kể về cái gì.