Những chuyện “hư cấu/hoang đường” mà dân developer tin sái cổ

Thuở bé, hẳn ai trong số chúng ta cũng từng thích các câu chuyện ngụ ngôn, cổ tích. Lớn lên, khi đi làm, ta không xem truyện cổ tích nữa mà chuyển qua đọc webtretho, truyện tranh, truyện voz.

Bài viết này sẽ kể về những điều “hư cấu/hoang đường” như trong cổ tích, nhưng lại thường được các developer (đang đi học hoặc vừa ra trường) tin sái cổ.

Ngày xưa, lúc còn ngáo ngơ mình cũng tưởng mấy điều này là thật đấy. Vì vậy, hôm nay mình viết bài này để chia sẻ lại cho các bạn lập trình viên để các bạn không giẫm vào vết xe đổ của mình.

hu-cau-tho-bay-mau-2

Continue reading Những chuyện “hư cấu/hoang đường” mà dân developer tin sái cổ

Được gì mất gì khi học lập trình bằng tiếng Việt

Hiện tại, nhiều trường đại học vẫn dạy các môn lập trình bằng tiếng Việt. Hãy cùng mình tìm hiểu xem bạn sẽ phải chịu những thiệt thòi gì khi phải học lập trình bằng tiếng Việt nhé.

Học bằng tiếng Việt thì được gì?

Có thể nói, lập trình là một ngành khó. Không chỉ đòi hỏi suy nghĩ logic, bạn còn phải làm quen với rất nhiều khái niệm mới lạ như function, object, pointer, ….

Ở những giai đoạn đầu của việc học lập trình, sử dụng tiếng Việt sẽ giúp bạn thấy dễ hiểu, dễ tiếp thu hơn. Các khái niệm như biến, mảng, con trỏ, vòng lặp được dịch ra tiếng Việt sẽ dễ hiểu hơn.

Với những môn phức tạp khác như Cấu trúc dữ liệu giải thuật, hướng đối tượng, … ta phải tiếp xúc với nhiều khái niệm rắc rối, các thuật toán dài dòng. Lúc này, học bằng tiếng Việt sẽ giúp tiết kiệm được thời gian, giúp ta dễ nhớ, dễ thấm hơn.

6791103659_faa149d9c4_b

Song, học lập trình tiếng Việt cũng làm bạn thiệt thòi rất nhiều? Không tin à, đọc phần dưới nhé.

Continue reading Được gì mất gì khi học lập trình bằng tiếng Việt

Vài lời khuyên và định hướng chọn trường cho các bạn trẻ

Sắp tới tháng 7, một mùa thi đại học nữa sắp bắt đầu. Mình viết bài này để chia sẻ một số lời khuyên + định hướng về việc chọn trường đại học cho các em cấp 3, một ngưỡng cửa khá quan trọng của cuộc đời.

Đa phần các bạn đọc của blog đã là sinh viên đại học, hoặc đã đi làm nên chắc cũng ko cần đọc bài này. Tuy nhiên, hãy share nó cho em/cháu bạn hoặc phụ huynh của các em,  nó sẽ giúp họ có cái nhìn đúng hơn trong việc chọn trường cho con cháu.

khoi-d-nen-thi-truong-gi

Continue reading Vài lời khuyên và định hướng chọn trường cho các bạn trẻ

Series C# hay ho: Tránh xa Web Form, CÀNG XA CÀNG TỐT

Lâu lâu lang thang trên mấy forum và group lập trình,  thấy nhiều bạn vẫn hay có thắc mắc về WebForm. Thôi thì trước đây mình đã từng bình luận về WinFormSilverlight rồi, hôm nay bình về WebForm luôn cho đủ bộ vậy. Bài viết sẽ cho bạn lý do để… từ bỏ WebForm và dành thời gian đi học cái khác có ích hơn.

Lưu ý: bài viết là quan điểm cá nhân của tác giả. Mọi tranh luận về technical và góp ý về cách viết đều được hoan nghênh.

ASPNETlogo

Continue reading Series C# hay ho: Tránh xa Web Form, CÀNG XA CÀNG TỐT

Hội chứng one itis ở lập trình viên – Quan hệ biện chứng giữa FA và Developer

Bài viết kể về một hội chứng thường gặp ở các FA và lập trình viên mà các bạn nên đề phòng. Để mở đầu cầu chuyện, mình sẽ kể cho các bạn nghe về mối tình đơn phương hơn 6 tháng của mình ngày trước (Bạn nào không khoái chuyện tình cảm lâm li bi đát có thể bỏ qua đoạn này, kéo xuống bắt đầu đọc mục từ mục One itis của developer nhé) .

Continue reading Hội chứng one itis ở lập trình viên – Quan hệ biện chứng giữa FA và Developer

Series SOLID cho thanh niên code CỨNG: Dependency Inversion Principle

Giới thiệu

Chào mừng các bạn đến với bài viết cuối cùng trong series SOLID. Ở bài viết này, mình sẽ nói về Dependency Inversion Principle – Nguyên lý Đảo Ngược Dependency.

  1. Single Responsibility Principle
  2. Open/Closed Principle
  3. Liskov Substitution Principle
  4. Interface Segregation Principle
  5. Dependency Inversion Principle

Nội dung nguyên lý

1. Các module cấp cao không nên phụ thuộc vào các module cấp thấp. Cả 2 nên phụ thuộc vào abstraction.
2. Interface (abstraction) không nên phụ thuộc vào chi tiết, mà ngược lại. (Các class giao tiếp với nhau thông qua interface, không phải thông qua implementation.)

dependency_inversion_principle_thumb

Continue reading Series SOLID cho thanh niên code CỨNG: Dependency Inversion Principle

Series SOLID cho thanh niên code CỨNG: Interface Segregation Principle

Giới thiệu

Đây là đây là bài viết thứ tư trong series “SOLID cho thanh niên code cứng”. Ở bài viết này, mình sẽ nói về Interface Segregation Principle – Nguyên lý phân tách interface.

  1. Single Responsibility Principle
  2. Open/Closed Principle
  3. Liskov Substitution Principle
  4. Interface Segregation Principle
  5. Dependency Inversion Principle

Nội dung nguyên lý:

Thay vì dùng 1 interface lớn, ta nên tách thành nhiều interface nhỏ, với nhiều mục đích cụ thể

interface_segregation_principle_thumb

Continue reading Series SOLID cho thanh niên code CỨNG: Interface Segregation Principle

Hướng dẫn viết chat bot cho Facebook – Phần 3: Deploy và submit bot cho Facebook

Series gồm 3 phần:

  1. Giới thiệu một số khái niệm, cơ chế hoạt động của Facebook bot
  2. Hướng dẫn cách code và test bot Facebook
  3. Cách deploy bot và nộp cho Facebook xét duyệt

Sau khi đọc và làm theo phần 2, các bạn đã có 1 con bot chạy được. Tuy nhiên, Cloud9 chỉ hỗ trợ các bạn code và deploy để test thứ chứ không hỗ trợ hosting. Sau khoảng 2,3 tiếng không sử dụng, cloud9 sẽ tự tắt server làm bot ngưng hoạt động. Do đó chúng ta phải deploy con bot lên một host khác.

Deploy bot lên OpenShift

Ở đây mình lựa chọn OpenShift vì nó free, tốc độ cũng khá nhanh, lại dễ deploy. Sau 24h không hoạt động thì nó mới cho host ngủ. Một lựa chọn khác là heroku, host heroku cũng sẽ tự ngủ sau 2, 3 tiếng không sử dụng. Các bạn làm theo video để deploy bot lên host nhé nhé.

Continue reading Hướng dẫn viết chat bot cho Facebook – Phần 3: Deploy và submit bot cho Facebook

Hướng dẫn viết chat bot cho Facebook – Phần 2: Tạo Fanpage và kết nối với bot

Series gồm 3 phần:

  1. Giới thiệu một số khái niệm, cơ chế hoạt động của Facebook bot
  2. Hướng dẫn cách code và test bot Facebook
  3. Cách deploy bot và nộp cho Facebook xét duyệt

Thấy các bạn test hộ nhiều quá, mình rất cảm động nên đã thêm chức năng “đàm luận nhân sinh” vào bot để các bạn có người chém gió nhe. Các bạn có thể tiếp tục trò chuyện với bot tại m.me/toidicodedao nhé

13322034_257454591282863_7403060821970737330_n

phần trước, mình đã giới thiệu cơ chế hoạt động của bot Faceobok, cùng với một số khái niệm các bạn cần nắm rõ. Ở bài này, chúng ta sẽ bắt tay vào tạo fanpage và code nhé. Lần này mình hướng dẫn bằng video, các bạn bật phụ đề lên xem nhé.

Bước 1 – Tạo Fanpage, thêm chức năng Messenger

Các bạn làm theo clip dưới để tạo fanpage nhé. Với bạn nào đã có Fanpage thì xem đoạn sau để tích hợp chức năng Messenger vào fanpage.

Tính mình thích ngắn gọn, không muốn lê thê dài dòng nên video cũng rất ngắn gọn, chỉ khoảng 1-2 phút để không lãng phí thời gian của mọi người.

Continue reading Hướng dẫn viết chat bot cho Facebook – Phần 2: Tạo Fanpage và kết nối với bot