Bài viết của Hoàng Hải Đăng

Seperation of concern với protocol trong Swift

Separation of concerns (SOC) là một nguyên lý quan trọng và cơ bản trong việc thiết kế và kiến trúc phần mềm. Ý tưởng của nguyên lý này rất đơn giản, đó là mỗi một object chỉ nên biết và thực thi công việc của chính nó. Tuy nhiên thì mặc dù nguyên lý là đơn giản như vậy nhưng việc áp dụng nó thì ...

Tác giả: Hoàng Hải Đăng viết 16:48 ngày 12/08/2018 chỉnh sửa

Adaptive User Interfaces trong ứng dụng iOS

Apple ngày càng giới thiệu nhiều iPhone, iPad với đủ loại kích thước màn hình khác nhau. Ngoài ra, chúng ta lại có 2 chế độ hiển thị orientation: thẳng đứng (portrait), quay ngang (landscape) và 3 chế độ adaptation cho iPad: full screen, split view 2/3, split view 1/3. Vì vậy tổ hợp các trường hợp ...

Tác giả: Hoàng Hải Đăng viết 16:48 ngày 12/08/2018 chỉnh sửa

Bắt đầu học Javascript vào năm 2018 thì sẽ như nào?

Này tôi có một cái dự án web mới, nhưng thực sự mấy năm rồi tôi không code web với cả tôi nghe nói là công nghệ web thay đổi nhiều lắm rồi. Tôi nghe nói anh là người "có kinh nghiệm chiến đấu web rất kinh" phải không? Anh cứ gọi tôi là " Kỹ sư Front-End " là được rồi, nhưng không sai, tôi ...

Tác giả: Hoàng Hải Đăng viết 16:48 ngày 12/08/2018 chỉnh sửa

Tạo mã QR Code trong Java với Zxing

Bạn đã quá quen thuộc với việc sử dụng QR Code trong đời sống. Vậy với một develop , thì việc tạo mã QR sẽ như thế nào. Trong bài này mình sẽ cùng tìm hiểu cách tạo 1 mã QR Code sử dụng Google Zxing library. QR Code là gì ? Quick Response Code viết tắt là QR Code , chúng thường được gọi là ...

Tác giả: Hoàng Hải Đăng viết 16:48 ngày 12/08/2018 chỉnh sửa

[VueJS] Style guide: viết code vue.js 3 "Dê" - dễ phát triển, dễ hiểu, dễ bảo trì

Tản mạn đêm khuya Khi bắt đầu học, tìm hiểu về một ngôn ngữ lập trình, một framework mới thì cách tiếp cận của mình đó là xác định tổng quan về mục đích mà ngôn ngữ đó được ra đời, tại sao mình nên học nó, sau đó tìm hiểu các khái niệm cơ bản, làm các ví dụ và bắt đầu tự làm project nhỏ demo để ...

Tác giả: Hoàng Hải Đăng viết 16:48 ngày 12/08/2018 chỉnh sửa

Blockchain how it works !

Bài lần trước mình đã giới thiệu sơ lược về Blockchain và lịch sử của nó cho nên ở bài tiếp theo này mình sẽ giới thiệu về cách thức hoạt động của blockchain. Nội dung bài viết này sẽ không đào sâu về technical vì đa phần các kĩ thuật sử dụng trong blockchain đều khó hiểu và rối nên xin tách ra ...

Tác giả: Hoàng Hải Đăng viết 16:48 ngày 12/08/2018 chỉnh sửa

Lập trình CSS với Shoelace.css

Các Frontend Developer cần các tài nguyên tốt nhất để hỗ trợ họ lập trình. Thông thường, họ thường sử dụng Bootstrap framework để hỗ trợ họ lập trình Frontend, vì nó có sẵn các thứ cơ bản cần thiết cho một nhà phát triển giao diện người dùng. Tuy nhiên, có rất nhiều sự lựa chọn khác mà bạn ...

Tác giả: Hoàng Hải Đăng viết 16:47 ngày 12/08/2018 chỉnh sửa

What is Firmware? Differences with Software, Operating System and Device Driver?

Vừa mới vào Phạm Thị, chưa kịp qua giai đoạn thử việc thì đã được GL yêu cầu viết Rì Pọt (đenđui) cho cho cái cộng đồng kĩ thuật đông đảo và hung hãn nhất cái VN này. (Oh yeah) Lục qua viblo một tí thì thấy nhan nhản những bài viết liên quan đến công nghệ, chủ yếu tập trung vào phần mobile app, web ...

Tác giả: Hoàng Hải Đăng viết 16:47 ngày 12/08/2018 chỉnh sửa

#production.log #big #back-up #s3 #rotating

Bữa trước trong lúc mình xem log server tình cờ bắt gặp quả log production.log nặng tận 17GB và có nguy cơ làm chết cả server. Sau đây mình note lại 1 chuỗi các công việc mình đã làm trước đó. 1. Lý do mình đụng tới server Server production đang chạy thì bị chết khoảng 3 phút, sau đó nó tự ...

Tác giả: Hoàng Hải Đăng viết 16:47 ngày 12/08/2018 chỉnh sửa

Điều khiển video Youtube bằng JS

Youtube là 1 mạng xã hội chia sẻ video rất nổi tiếng. Thỉnh thoảng bạn muốn nhúng một video vào trong web của bạn, sẽ thật tuyệt nếu bạn có thể điều khiển được sự hoạt động của video. Youtube Javascript Player API chính là thứ bạn cần. IFrame player API cho phép bạn nhúng một trình chạy video ...

Tác giả: Hoàng Hải Đăng viết 16:47 ngày 12/08/2018 chỉnh sửa