Thiết kế scalable React App từ đầu

Ngày nay khi mà MVC dần trở thành một thứ ~~nhà quê~~ "lạc hậu", APIs được thiết kế chung cho nhiều client app khác nhau (web app, mobile app or desktop app) và khá nhiều business logic được chuyển đến client app. Front-end development giờ không chỉ đơn thuần là tạo ra giao diện nữa mà là cả một ngh ...

Continue Reading
Keyboard from Scratch: Từ A tới Z

Sau khi kết thúc hai phần trước, chúng ta đã có những kiến thức cơ bản về chiếc bàn phím cơ, không để các bạn đợi lâu, ở phần này chúng ta sẽ thực sự bắt tay vào làm một chiếc bàn phím hoàn chỉnh. TL;DR: Các bước để build một chiếc bàn phím cơ 1. Tham khảo thật n ...

Continue Reading
How much Anonymity can you have as a Hacker?

Chao can ban Weeks ago I read the German newspaper Focus and the French [Le Figaro](http://www.lefigaro.fr/secteur/high-tech/2019/01/08/32001-20190108ARTFIG00200-cyberattaq ...

Continue Reading
Các khái niệm rối rắm của wordpress - Cách làm theme wordpress cơ bản

Bài này sẽ hướng dẫn tạo theme Wordpress mà không sử dụng gì. Gồm 5 phần với thứ tự như sau: Tạo theme tĩnh, Các khái niệm dễ gây nhầm lẫn trong Wordpress, Xây theme Wordpress động, Cài Wordpress trên localhost, Cài Wordpress trên Google Cloud. Ngược vậy vì mình nghĩ là tạo theme thì bạn sẽ phải t ...

Continue Reading
UUID cho cách mạng 4.0

Một ngày đẹp trời, bạn quyết định viết một dịch vụ web dự định sẽ làm thay đổi cả thế giới. Dịch vụ của bạn sẽ kết nối tất cả các thiết bị di động trên thế giới lại thành một mạng lưới khổng lồ nói chuyện với nhau. Tất nhiên, bạn không muốn mạng lưới đó chạy trên blockchain, bạn muốn kiểm soát mọi t ...

Continue Reading
Tận Dụng Discord Làm App Theo Dõi Mọi Thứ Trên Đời

Bài viết này sẽ hướng dẫn các bạn sử dụng Discord để làm ứng dụng theo dõi bất kỳ thứ gì các bạn muốn hay cần. Bối cảnh: Hôm bữa thấy người ta đăng bán cún trên chotot, tuy nhiên vì xem tin đăng đó quá trễ nên nó đã được bán ngay sau khi đăng tin 17 tiếng. Vậy là tự hỏi tại sao không làm 1 con b ...

Continue Reading
Atomic CSS, Vì Một Thế Giới Hoà Bình

Nào bạn lại chơi ngắt lá xếp thuyền :leaves: :boat: https://ehkoo.com/bai-viet/introduction-to-functional-utility-first-atomic-css ![alt text](https://s3-ap-southeast-1.amazonaws.com/kipalog.com/2b2b8xisxy_im ...

Continue Reading
[Regex] Học rồi mà như chưa học

Bài viết này được trích dẫn từ blog nội bộ công ty KAOPIZ - カオピーズ Bài gốc: https://kipalog.kaopiz.com/posts/Regex--Hoc-roi-ma-nhu-chua-hoc ![alt text](https://kipalog.kaopiz.com/uploads/a54c/1698/1442490508regex ...

Continue Reading
Vài ghi chép về Iterator trong JavaScript

Một phút dành cho việc tra từ điển: iterate: make repeated use of a mathematical or computational procedure, applying it each time to the result of the previous application; perform iteration - là từ chỉ một hành động lặp đi lặp lại từng lượt trong một quá trình xử lý/tính toán nào đó. **it ...

Continue Reading
Tôi đã đóng góp cho Swift Compiler như thế nào

Chắc các bạn đều biết Swift đã được Apple opensource cách đây khá lâu. Điều có có nghĩa là bạn hoàn toàn có thể tham gia đóng góp (contribute) để góp phần xây dựng ngôn ngữ này. Tuy vậy để đến bước gửi PR và được chấp nhận là 1 quãng đường khá dài. Ở bài viết này mình sẽ chia sẻ các rào cản mình phả ...

Continue Reading
Băm và lưu password đúng cách

Sau khi đọc bài viết băm mật khẩu đúng cách của anh thaidn, mình nhớ lại lúc mình mới ra trường, cũng đã từng nghĩ về vấn đề này (lúc đó mình khá thích môn Bảo Mật Thông Tin ở trường) nhưng chưa bao giờ hiểu tường tận. Chỉ biết là k ...

Continue Reading
Một số kĩ thuật caching với HTTP/1.1

![image cover][img-cover] “Make it work, make it right, make it fast.” Bạn vừa viết xong một ứng dụng web :tada:. Mọi thứ chạy ổn. Code cũng đã được tổ chức thật đẹp. Để thuyết phục sếp tiếp tục trả lương cho bạn, bạn cần liên tục ~~vẽ thêm việc để làm~~ tối ưu cho ứng dụng chạy nhanh hơn :rocke ...

Continue Reading
8 JS frameworks nhỏ xinh cho bạn đổi gió

Phía sau showbiz hào nhoáng, hỗn loạn và đầy thị phi, vẫn có những em gái quê nhỏ nhắn hiền lành dễ thương, ít đòi hỏi đang chờ bạn... Dẫn nhập Vào những năm 2000, các thư viện jQuery, Mootools, Dojo... đã từng là cứu tinh của developer, giúp họ cầm cự với khả năng tương thích trong một kỷ ngu ...

Continue Reading
12 cách tối ưu hoá website - thời đại của mobile-first

Lập trình viên sau khi phát triển xong một website, website chạy ổn định, không bug thì coi như đã hoàn thành. Câu chuyện của năm 2018 có đơn giản như vậy? Tại sao phải tối ưu hoá website? _Theo [số liệu cung cấp bởi google](https://www.thinkwithgoogle.com/marketing-resources/data-measurement/ ...

Continue Reading
Sự khác nhau giữa Front-end Engineer và Front-end Developer

Về front-end side Không lâu về trước, khi khái niệm front-end engineering lần đầu tiên được đưa ra trong ngành phát triển web, tui hay đọc các bài thảo luận về sự khác nhau giữa hai khái niệm này. Tuy khái niệm front-end engineer không có gì là quá mới mẻ, tuy nhiên vẫn còn khá nhiều cuộc tranh ...

Continue Reading
Front End – Quản Lý Và Tối Ưu Webpage Bằng CSS Sprites

CSS Sprites thật ra đã là một cái tên khá cũ rồi và mình viết bài viết này hy vọng nó sẽ hữu ích cho các anh em nào chưa bao giờ biết đến cái tên của nó. Giới thiệu một tí đây là link bài viết gốc của m ...

Continue Reading
Extracting Images Out Of PDF File

Chao cac ban As I saw this article Imagick trong PHP written by @VanDucThai I thought that it was time to show Kipalog readers how to design and to implement an API that could extract ALL images embedded in a Portable Document File (or PDF) ...

Continue Reading
Dùng CSS sửa HTML, dùng JS sửa CSS, kí sinh Google Form, dùng CSS tạo vẻ tinh tế

Dùng CSS để "sửa" nội dung HTML Ngoài nguyên nhân là muốn chơi nổi thì lí do phải dùng code CSS để tác động vào HTML là khi bạn không được truy cập vào file HTML hoặc file HTML rất nhùng nhằng, khó sửa hoặc dễ g ...

Continue Reading
Bước đầu làm quen với Higher-Order Function trong lập trình hàm

Bước đầu làm quen với Higher-Order Function trong lập trình hàm Note: Bài viết đăng trên blog cá nhân từ tháng 4 năm 2018. Cách đây 6 tháng tôi vẫn còn chưa biết gì về Functional Programming, đọc báo thấy mấy bài phản đối phong cách lập trình kiểu này. Vậy mà bây giờ, sau khi tiếp xúc với ...

Continue Reading
Học và cải thiện kiến thức từ các dự án cá nhân(pet project)

Cách tốt nhất để học bất cứ thứ gì là chúng ta dự định làm ra cái gì linh tinh để rồi trong quá trình làm ra sản phẩm chúng ta nhận ra những thứ chúng ta còn `mơ hồ và lấn ...

Continue Reading
Mấy Tips vớ vẩn giúp cho SSH bớt chán ngắt hơn

Thương hiệu quen thuộc của mình mỗi khi bắt đầu một bài viết nghiêm túc nào luôn là một tràng dài dòng vớ vẩn tạm gọi là xả bớt nỗi lòng, tất nhiên ít nhiều có liên quan đến nội dung. Có hai điều mình muốn nói: *Hai lý do chính để mình luôn nộp CV vào vị trí Frontend Developer thay vì Fullstack D ...

Continue Reading
UI Components và bước đầu hướng đến MicroViewControllers trong lập trình iOS

UI Components là 1 khái niệm không có gì mới và đã có ứng dụng rộng rãi trong lập trình Web (FrontEnd), Tuy nhiên trong lập trình mobile nói chung và iOS nói riêng đôi khi vẫn có những ranh giới cần phải vượt qua để hiện thực hoá được phong cách lập trình này. Trong bài này mình sẽ đưa ra nhữn ...

Continue Reading
Functional Programming - Phần 1 - Con đường sáng

Phần 1: Con đường sáng Phần 2: Nhập đạo Phần 3: Buông bỏ Lúc bấy giờ, Tin giới Tây phương xuất hiện 2 lão quái Nguyên Anh hậu kỳ đỉnh phong, cách Hóa ...

Continue Reading
Làm sao để convert String sang Number trong JavaScript?

JavaScript cung cấp nhiều cách khác nhau để convert String sang Number. Và trong bài viết này, mình sẽ tổng hợp lại một số cách mà mình đã biết. Sử dụng Number() function Đúng vậy, đó là Number() [functio ...

Continue Reading
cách học DỐT tiếng anh cho lập trình viên

google cách học tốt tiếng anh thì ra hàng đống kết quả nhưng đảm bảo không có cái nào dùng được (nếu dùng được thì bạn đã tiến bộ rồi phải không). Vậy thay vì tìm cách học tốt hãy đọc thử những cách học DỐT sau đây xem sao. Lưu ý: những bài viết thể hiện quan điểm như này vốn không có sự đúng sai t ...

Continue Reading
Agile - Hãy thôi mơ mộng

Nếu bạn đang làm việc trong "ngành", hẳn bạn biết đến một xu hướng được rất nhiều người quan tâm và theo đuổi tên là Agile. Vậy ấn tượng của bạn về Agile như thế nào? Yêu thích, mến mộ hay ghét bỏ? Nếu bạn đã từng "Agile" rồi, bạn có muốn tiếp tục truyền bá Agile không? hay bạn đã chán nản và muốn ...

Continue Reading
Cách phân nhánh và chia việc trong nhóm với Git

Bài viết gốc được đăng ở https://ehkoo.com/bai-viet/git-workflow-phan-nhanh-va-chia-viec-trong-nhom _Icon made by Freepik fro ...

Continue Reading
7 days book challenge

Description Mình là một thằng thích đọc sách. Nhưng lúc nào cũng bận (lười) nên cũng mấy tháng rồi chưa hoàn thành được quyển sách nào. Mình đa số là dùng sách online (pdf), lần nào cũng hùng hổ download một đống rồi mỗi lần kéo kéo, thấy dài quá là lại bỏ dở ... Nhưng new year new me các bạ ...

Continue Reading
Promise, Async/Await và Map/Reduce

Cũng muốn viết cái gì đó có chữ Cách mạng 4.0 vào như bài của anh @huydx, nhưng rồi thì bị sếp tới đập bàn bảo deadline sắp tới rồi đó cu. Các bạn thấy đó, mặc dù tâm ý vẫn luôn hướng về cuộc Cách mạng to lớn đang khiến nhiều người đồng bào đồng chí điên đảo chạy theo -- mặc dù rất có thể trong số h ...

Continue Reading
Timing attack là gì?

Như thường lệ, bài gốc được đăng trên Blog Quần Cam Vài tháng trước tui từng viết về [Billion Laugh Attack][billion-laugh-attack-post], một loại hình tấn công lợi dụng entity reference expansion trong XML để làm tràn bộ nhớ hệ thống. Trong bài viết này, tui sẽ giới thiệu [ ...

Continue Reading