Category Archives: Chuyện linh tinh

Những thứ chém gió linh tinh, mẹo vặt không biết cho vào đâu.

Kĩ năng “Back of The Envelope” của các developer thần thánh

Kì này, chúng ta tìm hiểu về một kĩ năng “bá đạo” mang tên Back of the Envelope. Tại sao lại gọi nó là kĩ năng của các developer “thần thánh”?

  • Phỏng vấn tuyển dụng tại cái công ty Google, Facebook, Amazon đều đòi hỏi developer có kĩ năng này.
  • Kĩ năng này không bao giờ lỗi thời, đến tầm Project Manager hay Software Architect vẫn cần. Đại ca Bob Martin – Chú Bob (Tác giả Clean Code) rất trùm sò trong kĩ năng này.
  • Kĩ năng này không chỉ hữu dụng trong lập trình, mà còn rất bổ ích trong cuộc sống.
  • Tuy đơn giản nhưng rất lại có rất ít developer biết, luyện tập và áp dụng nó

Đến đây bạn cũng tò mò kĩ năng này là gì mà sao lại ghê gớm như vậy phải không nào? Đọc hết bài viết để tìm hiểu nhé!

Continue reading Kĩ năng “Back of The Envelope” của các developer thần thánh

Advertisements

Thực hư về cái gọi là “căn bản” và “tư duy lập trình”

Thuở còn là sinh viên, mỗi khi phải ngồi nghe giảng giải những kiến thức khô khan buồn ngủ, chúng ta thường bị mấy ông thầy dụ dỗ “Kiến thức căn bản quan trọng lắm, nắm vững căn bản rồi sau này học gì cũng được!”.

Mấy năm sau, chúng ta lại tiếp tục được nghe “Tư duy lập trình mới quan trọng, ngôn ngữ hay thuật toán chỉ là phụ thôi”.

Điều này đôi khi làm sinh viên “loạn” vì không biết thật sự “căn bản” là những cái gì; “tư duy lập trình” mặt mũi nó ra sao, làm sao để rèn luyện nó?

Bài viết này sẽ cùng vén bức màn bí mật về những thứ gọi là “căn bản” và “tư duy lập trình” mà giang hồ thường nhắc đến.

Continue reading Thực hư về cái gọi là “căn bản” và “tư duy lập trình”

[Cảnh báo] Tiki.vn đã “âm thầm” đổi mô hình kinh doanh như thế nào!!

Tiki.vn là một trong những trang thương mại điện tử lớn hàng đầu Việt Nam. Hồi ở VN mình cũng thường hay lên đây mua sách vì giá rẻ, thanh toán tiện lợi, tốc độ giao hàng cực nhanh (1-2 ngày).

Cuốn sách “Code Dạo Ký Sự” vừa ra mắt của mình cũng đã có mặt trên tiki rồi nhé: Đặt mua ở đây

Trước đây, mình từng lấy Tiki ra làm ví dụ về giỏ hàng, về UX khi checkout, về bảo mật. Thế nhưng hôm nay, mình khá buồn phải bóc một phốt khá nho nhỏ của tiki, vì nó có thể sẽ ảnh hưởng đến quyền lợi của người dùng. Mọi người đọc kĩ bài viết (nếu lười thì đọc phần 3) để tìm hiểu nhé.

Continue reading [Cảnh báo] Tiki.vn đã “âm thầm” đổi mô hình kinh doanh như thế nào!!

Series Phản Phác Quy Chân – Lý thuyết hay thực hành quan trọng hơn?

Gần đây, mình có thấy một cuộc tranh cãi, lộn,… tranh luận khá thú vị giữa các bạn sinh viên về chuyện “Lý thuyết hay thực hành quan trọng hơn?”.

Có bạn bảo “Phải vững lý thuyết thì mới giỏi được”, có bạn đáp lại “Code nhiều là giỏi chứ cần vẹo gì lý thuyết”, có người quăng gạch “anh tự học code, tự làm theo tutorial chứ có cần học lý thuyết gì đâu, vẫn có lương nghìn đô!!”.

Vì nhiều bạn cũng email cho mình hỏi vấn đề tương tự, mình viết bài này để chia sẻ cái nhìn của bản thân. Rốt cuộc lý thuyết hay thực hành quan trọng hơn?? Đọc hết bài sẽ biết!

Continue reading Series Phản Phác Quy Chân – Lý thuyết hay thực hành quan trọng hơn?

Series Nhận diện Idol: Phần cuối – Từ Demo tới Deploy – Hoàn chỉnh ứng dụng

Toàn bộ series Nhận diện Idol:

Kết thúc phần trước, chúng ta đã Oauth WebTask để viết xong RestAPI của ứng dụng theo kiến trúc Serverless. Ở phần cuối này, chúng ta sẽ sử dụng AngularJS để tạo một ứng dụng Web đơn giản.

Nếu chưa sử dụng AngularJS bao giờ, hãy đọc bài viết này để có đủ kiến thức cơ bản AngularJS để làm theo hướng dẫn nhé: http://sangplus.com/angular-js-101-gioi-thieu-ve-angularjs.html

Viết code HTML

Mở IDE ưa thích của bạn lên để bắt đầu code nào. Ta tạo 3 file index.html, script.jsstyle.css cùng thư mục nhé.

screen-shot-2017-01-17-at-2-25-34-pm

Continue reading Series Nhận diện Idol: Phần cuối – Từ Demo tới Deploy – Hoàn chỉnh ứng dụng

Series Nhận diện Idol: Phần 6.2 – Từ Demo tới Deploy, viết RestAPI cho ứng dụng với WebTask

Toàn bộ series Nhận diện Idol:

Sau khi đọc phần trước, bạn đã hiểu được khái niệm serverless. Ở phần này, chúng ta sẽ biến hàm recognize đã viết ở phần 5 thành một RestAPI. Với cách thông thường, ta sẽ dùng NodeJS để viết một ứng dụng rồi deploy nó lên 1 server nào đó (Xem ví dụ phần 3 bài deploy chatbot).

Tuy nhiên, lần này chúng ta sẽ dùng kiến trúc Serverless, chỉ viết code và để bên thứ 3 lo các phần server và deploy. Sau khi đã có RestAPI này, ta viết 1 ứng dụng web nho nhỏ, dùng API này để nhận diện VAV idol. Sản phẩm cuối cùng: http://jav-idol.toidicodedao.com/vav/

Continue reading Series Nhận diện Idol: Phần 6.2 – Từ Demo tới Deploy, viết RestAPI cho ứng dụng với WebTask

Series Chuyện Code Chuyện Đời – Từ cốc nước đầy đến chuyện học công nghệ và phương cách sống

Chúng ta bắt đầu bài viết hôm nay bằng câu chuyện hư cấu về một chàng coder điển trai tài năng tên H.H.N.

N. là một coder tài năng, tốt nghiệp đại học F. danh tiếng. Ngay sau khi ra trường, N. đã được một công ty lớn F. mời vào làm việc với mức lương ngàn đô. Trong công ty lớn, N được học bài bản về các quy trình làm việc, qui tắc viết code sạch. Chứng tỏ được khả năng của bản thân, sự nghiệp của N đi lên như diều gặp chó, nhầm, gặp gió.

Tuy nhiên, do chán bộ máy làm việc cồng kềnh phức tạp,  N xin nghỉ việc, chuyển sang công ty K. nhỏ hơn làm product để có thể làm những điều mình thích. Qua công ty mới, N vẫn cứng rắn áp dụng các qui trinh, cách code mình đã làm việc ở công ty cũ. Khi nghe đồng đội phàn nàn, N vẫn cứng đầu bảo thủ không thay đổi, cho rằng cách của mình là đúng nhất. Dần đà, dù có tài nhưng N nói ko ai nghe, còn bị team xa lánh.

Continue reading Series Chuyện Code Chuyện Đời – Từ cốc nước đầy đến chuyện học công nghệ và phương cách sống

Series Nhận diện Idol: Phần 6.1 – Luận về Serverless – Vô Thai Kiếm

Toàn bộ series Nhận diện Idol:

Như đã nói trong bài đầu của series, mình áp dụng kiến trúc serverless trong thiết kế hệ thống. Kiến trúc này giúp ứng dụng có thể đáp ứng hàng triệu người truy cập với giá thành vô cùng rẻ. Trước khi bắt tay vào code, ta hãy cùng tìm hiểu khái niệm và kiến trúc Serverless nhé.

Serverless là cái chi chi?

Serverless được dùng để chỉ 2 khái niệm khác nhau (nhưng lại khá liên quan với nhau):

  1. Một số ứng dụng chuyển phần lớn logic về front-end, không có server để làm back-end (serverless)  mà chỉ sử dụng các API của bên thứ 3 để thay thế. Ví dụ trong Nhận diện Idol, mình không viết code trên server mà dùng API của Cloudinary upload ảnh và Firebase để hiển thị realtime. Nhiều ứng dụng di động cũng dùng kiến trúc này (Backend as a Service – BaaS).
  2. Một số trường hợp khác, lập trình viên phải tự viết code để làm back-end. Với mô hình client-server thông thường, ta phải thuê server rồi deploy ứng dụng lên server. Với mô hình serverless, thay vì deploy code này lên server, ta deploy nó đưới dạng một Function (Function as a Service – FaaS). Funtion này có thể được gọi dưới dạng RestAPI hoặc chạy theo lịch đã sắp sẵn.

Continue reading Series Nhận diện Idol: Phần 6.1 – Luận về Serverless – Vô Thai Kiếm

ĐƠN XIN LỖI CÔ NGUYỄN XUÂN Ý

Công Hoà Xã Hội Chủ Nghĩa Việt Nam

Độc lập – Tự do – Hanh Phúc

ĐƠN XIN LỖI CÔ NGUYỄN XUÂN Ý

Vào đầu tháng 2 vừa qua, tôi có làm series 2 phần mang tên Code dạo kí sự có sử dụng hình ảnh của cô Nguyễn Xuân Ý (đã censor) nhằm câu like, tăng tương tác fanpage và quảng bá cho sách Code Dạo Kí Sự.

Điều này đã gây ra một số thiệt hại về danh dự và nhân phẩm của cô Nguyễn Xuân Ý, làm cho cô Nguyễn Xuân Ý cảm thấy bị tổn thương, bị xúc phạm danh dự và cảm thấy vô cùng đau khổ vì các lý do sau:

  • Không nói rõ cho bạn đọc nội dung bài viết là hư cấu nên làm mọi người và bạn trai hiểu lầm cô Nguyễn Xuân Ý là bắt cá hai tay.

17141003_148607645658404_375563855_n

  • Bài viết có sử dụng các từ “chịch, v..v” để tăng tính hài hước, nhưng dễ làm mọi người hiểu lầm rằng cô Nguyễn Xuân Ý là người dâm loàn v…v
  • Khi cô Nguyễn Xuân Ý yêu cầu xoá bài viết và đính chính, thay vì trả lời tôi đã block côNguyễn Xuân Ý cùng bạn bè và xoá bài viết. Đây là hành động sai và tôi không có bất kì lời biện minh nào cho hành động này.

Do những lý do trên, tôi cảm thấy vô cùng ân hận và cắn rứt vì những điều mình đã làm. Nay tôi viết đơn này nhằm công khai xin lỗi cô Nguyễn Xuân Ý và đính chính lại một số thông tin sau:

  • Ngoài chuyện là crush cũ, giữa tôi và cô Nguyễn Xuân Ý, không còn bất cứ quan hệ nào!
  • Tất cả những đoạn hội thoại trong series “Học Code cùng gấu” là do tôi chế ra nhằm mục đích giải thích về Back-end, Front-end và PR quảng cáo sách Code dạo ký sự.
  • Toàn bộ hình ảnh trong series là ảnh của cô Nguyễn Xuân Ý, được tôi tự ý sử dụng (đã censor) mà chưa xin phép.

Chân thành xin lỗi cô Nguyễn Xuân Ý về những thiệt hại tinh thần mà tôi đã vô tình và cố ý gây ra.

Kính đơn

Hoàng Phạm

Series Chuyện bên Khựa – Các bạn Khựa sống sót thế nào khi không có Google, Youtube và Facebook?

Hẳn là bạn nào cũng biết chính quyền Trung Quốc vô cùng “dân chủ”rất quan tâm đến giới trẻ. Để đảm bảo giới trẻ có những nhận thức đúng đắn về chính quyền, không bị đầu đọc bởi những “phần tử phản động chống phá”,  Trung Quốc cấm hoàn toàn những dịch vụ tìm kiếm và mạng xã hội quốc tế như Google (Cấm luôn cả Youtube, Gmail), Facebook, Twitter (Chả hiểu sao Medium thần thánh cũng bị cấm nốt).

Điều này gây khá nhiều phiền phức cho mình khi muốn lên Google và Facebook cập nhật tin tức (Phải dùng VPN). May mắn là QuoraStackoverflow không bị chặn, không thì móm.

Tuy nhiên, nhờ vậy mình phát hiện ra một điều: Không có Google, Youtube hay Facebook, giới trẻ Trung Quốc vẫn sống khoẻ sống tốt, vẫn có nơi ăn chơi đập phá trên mạng. Cùng tìm hiểu lý do vì sao nhé!

Continue reading Series Chuyện bên Khựa – Các bạn Khựa sống sót thế nào khi không có Google, Youtube và Facebook?