Welcome to
Thuyen's corner
-
Chuyện Nghề: Một Dự Án Nọ (2)
Hôm nay, mình kể mọi người về dự án cuối cùng mà mình tham gia, trước khi nghỉ Grab. Đó là E2E testing. Sorry mọi người, mình quên mất các mốc thời gian cụ thể, nên giờ nhớ gì kể nấy. Mục tiêu của dự án là làm thế nào để cắt giảm thời gian regression tests của QA. Mình giải thích sơ về quy trình phần mềm cho mọi người cùng hiểu rõ.
-
Cắt Nghĩa "Khủng Hoảng Tuổi..." (1)
Hôm qua thấy Youtube recommend một hai video tựa đề “khủng hoảng tuổi…”. Trong dấu ba chấm thường là 22 rồi 25 rồi 27, 30. Những mốc thời gian này mình đều đã đi qua. Nên cũng muốn chia sẻ lại cùng mọi người, mình cùng nhau nhìn lại những góc khuất của cuộc đời 😄. Đầu tiên, tại sao có con số 22 ở đây? Bình thường nếu bạn học bậc đại học 4 năm thì 22 tuổi là khi bạn mới ra trường.
-
50 Shades of Git: Remotes and Authentication
Introduction Git is a software development tool that almost all engineers use in their work. This source control tool enables us to make changes to a project code base collaboratively. However, Git can be a headache at times. When running on CI environment, it sometimes does not work the way it does locally. Moreover, we sometimes follow best practices without knowing much about how it works. This gap together with the limited debug capabilities on CI make it even harder to resolve issues.
-
Cocoapods Explained: Plugins
In the previous post, we talked about Podfile. In this post, we will look into CocoaPods plugins. Back in early days, very few maintainers maintain quite some features. It was difficult for them to stick to the main goals of the project given a number of features being requested. Some features definitely benefit a group of users but they don’t quite fit in the picture of a dependency manager. Instead of rejecting them, CocoaPods provided the support for plugins.
-
Chuyện Nghề: Đi Đêm Có Ngày Gặp Ma, Direct Push Có Ngày Gặp Quả Báo
Ở một bài viết trước đó, tui có đề cập đến một dự án về ingest crashlytics data. Mẫu chuyện hôm nay tui kể liên quan đến dự án đó. Giới thiệu ngắn gọn cái ingestion đã được setup. Khi users sử dụng app mà gặp crash hoặc một số lỗi nhất định thì những trường hợp này sẽ được ghi nhận trên hệ thống của Firebase. Đoạn ingestion là làm sao để mà những data này được đổ vào data lake của công ty.
-
CocoaPods Explained: Podfile
In iOS development, CocoaPods has become one of the must-know tools. In a team where CocoaPods is adopted, engineers run pod install as often as git checkout. They know how to properly set up a project with CocoaPods, declare dependencies in Podfile, and update dependencies if needed. However, some have little understanding of what happens under the hood. This prevents them from troubleshooting CocoaPods issues if occurred or extending its usage.
-
Chuyện Nghề: Một Dự Án Nọ (1)
Hồi quý 2 - 2021, tui có tham gia một dự án nọ. Đại ý công việc của dự án là ingest crashlytics data của mobile apps vào data lake của công ty, từ đó thực hiện những truy vấn dữ liệu cần thiết phục vụ nhiều mục đích (vd. monitoring, troubleshoot crashes…). Như các bạn có thể hình dung, phẩn lớn công việc là về data engineering. Nhưng team làm dự án này không có data engineer hay những người đã từng kinh qua công việc tương tự.
-
Chuyện Nghề: Lược Sử 4 Năm Nghề
Tui viết bài này để giới thiệu lược sử công việc của mình (ở Grab) theo thời gian. Mục đích của bài viết là cho mọi người có cái nhìn sơ bộ, khái quát về mặt thời gian của series chuyện nghề này. Ai hóng drama thì ráng kiên nhẫn nha. … 1 Tui gia nhập công ty từ tháng 2 năm 2018 vào một team gọi là “DAX iOS”. Team này trực thuộc một tech family tên là “Driver Experience (DEX)”.
-
Chuyện Nghề: Áp Lực là Hàm sin Theo Thời Gian (1)
Áp lực là hàm sin theo thời gian 1 Nhiều lần bạn bè, người thân hỏi tui “làm bển cực hông?”. Tui không ngần ngại đáp “cực, cực hơn ở Việt Nam nhiều”. Thật ra trả lời vậy có phần không thoả đáng vì ngữ cảnh so sánh hơi khập khiễng. Nhưng nó phần nào phản ánh mức độ áp lực ở công ty nớ (bên Sing) so với các công ty cũ của tui ở VN.
-
Dealing With Flaky UI Tests in iOS
1. Introduction UI testing is a test technique, besides unit testing, to ensure product quality. While unit testing focuses on small portions (or units) of the system, UI testing aims to cover a wider user journey in the app. This testing technique helps engineers gain more confidence when developing, refactoring, and shipping the products to users. In the context of iOS development, UI testing plays a key role in product quality as the form of a feature shipped to users is usually through what they see on the app.