Tôi đã trở thành fullstack web/app engineer từ một embedded engineer như thế nào?
PART 1:
Thời điểm hành trình xuất phát từ 7/2019, vì một số lý do gia đình tôi bắt đầu nghỉ việc ở một công ty rất là lớn về mảng nhúng ở VN và với mong muốn tìm cơ hội làm việc phía bên Nhật. Ngay từ buổi đầu thử việc là tôi được yêu câu làm ngay một đối ứng một website giao diện như việc phải vẽ lại một bức tranh, thì vốn dĩ tôi đã có khiếu vẽ tranh hồi nhỏ mà, đã từng đạt giải khuyến khích cuộc thi vẽ tranh cấp tỉnh nhưng cách thức làm sao để code HTML để vừa ý họ thì tôi cũng chưa từng biết. Lúc ấy tôi đang tìm cách làm sao để response như các trang bài viết hương dẫn trên mạng nhưng cũng chỉ lướt xem, vì vốn dĩ họ đưa tôi một bức tranh web chứ không phải là một cái website dễ dàng gì, nhưng với tôi việc dễ dàng thì ai cũng làm rồi, cái nào làm được thì mới có ý nghĩa nên tôi đã cố gắng làm hết sức mình có thể, vừa trao dồi thêm vốn tiếng Nhật.
Working as HTML/CSS developer. Tôi rạo bước trên các trang như codepen.io, css-tricks hay mozill, tìm các bài hướng dẫn làm responsive như thế nào, chẳng hạn như cách hiển thị display flexbox, cách bố trí layout, từ cái menu trên web mà hiển thị giao diện ở mobi thì có thể sử dụng cái nav-bar. Công việc trở nên dễ dàng hơn khi có design từ phía họ đưa ra, lúc ấy chỉ việc copy bỏ qua vào file CSS, lúc này tôi phải để ý chi tiết các pixcel về font chữ, tỉ mỉ và tạo các animation. Về phía tôi đã phải suy nghĩ rất nhiều làm cách nào để thõa man được về phía user, cũng chưa từng nghĩ là đôi khi tỉ mỉ quá lại làm chậm trễ deadline của khách hàng.
Working as Wordpress Developer Tôi được đối ứng các trang page trong wordpress, vì vốn dĩ page trong wordpress thì không phải là nội dung dynamic, thời điểm ấy tôi còn chưa biết Wp Core là gì cơ mà. Nên cứ suy nghĩ như làm một giao diện web bình thường thôi. Sau đó tôi bắt đầu tìm hiểu về Wordpress Core,... các nhúng dữ liệu vào website thông qua câu query. Một số plugin tôi cực kì thích như các plugin để tạo các custom postype, tạo postype.
Working as Laravel developer Laravel là một trend web rất là hot ở thời điểm hiện tại, có thể kể đến bây giờ vẫn vậy. Những tôi vẫn không màn cho mấy và muốn tập trung vào việc học tiếng Nhật để tìm đến ước mơ của mình. Nhưng về phía cơ sở dữ liệu họ đưa tôi tôi cũng không thể hiểu được, vì lúc ấy tôi có biết CSDL là gì đâu nên cứ nhắm mắt mà làm. Đây thực sự là cái cảm giác làm nhưng mình không biết phải làm gì, nó rất là tệ hại ở thời điểm ấy
Database Design & Database Engine Tôi bắt đầu tìm hiểu các cách thức tổ chức dữ liệu quan hệ. Thoạt đầu tôi nghĩ khá phức tạp, nhưng sau thời gian tìm hiểu thì tôi nhận thấy nó còn phải tùy thuộc vào quy mô nữa, cũng không cần phải làm phức tạp quá lên vì mình suy nghĩ đơn giản thì mọi thứ cũng trở nên đơn giản.
- Một số thứ cần lưu ý là cách thức tổ chức mối liên thệ trong CSDL, khóa chính (primary key ID), khóa ngoại (fo key). Các biểu đạt ở Backend framework như NodeJS hoặc Laravel có 2 cách:
- ORM nó là cách truy tìm các ID, rồi từ các ID đó lại đi tìm dữ liệu khác
- Query Builder là tập hợp việc join bảng và ORM
- Việc sử xý dữ liệu thì có thể xử lý về phía BE hoặc bên phía database, tùy từng người thích làm ở cách nào nữa.
- Việc cập nhập dữ liệu có thể sử dụng transsaction để đảm bảo các bảng đồng nhất.
- Khi dữ liệu lớn hơn (Big Data) sẽ làm chậm tốc độ câu truy vấn hơn nên người ta sẽ tìm cách chia nhỏ ra các thành phần. Các kỹ thuật này sẽ ít người biết và thường sử dụng các dịch vụ bên thứ ba.
Lời Kết: Kết thúc PART1 thì sẽ còn những PART2, PART3 Cuộc sống là một chuỗi ngày học tập không ngừng nghỉ, trau dồi kiến thức và tôi vẫn còn mãi đi tìm ý tưởng để thực hiện ước mở của mình.