Tag Archives: coding

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”

Series Chuyện Code Chuyện Đời – Từ tối ưu code cho đến optimize cuộc sống

Với một người có tâm hồn bay bổngđầu óc sáng tạo như tác giả blog Code dạo (là mình) thì cái thứ quái gì cũng có thể biến thành bài viết được.

Hôm nay khi mình đang ngồi đọc sách dưới tán cây thì bỗng… một quả sầu riêng nặng nửa kg rơi trúng đầu. Nhờ vậy mà mình mới nảy ra cảm hứng viết series này. Tên đầy đủ của series là Từ Chuyện Code Ngẫm Chuyện Đời, do hơi dài nên mình rút gọn lại thành Chuyện Code Chuyện Đời cho dễ đọc dễ nhớ!

Trong quá trình học và đi làm, đôi khi ta học được nhiều kĩ thuật lập trình, thuật toán và các nguyên lý rất hay ho. Khi quả sầu riêng rơi vào đầu, mình chợt ngộ ra rằng: những kĩ thuật cũng như nguyên lý này không chỉ áp dụng được trong code mà còn có thể áp dụng vào đời sống.

Series Chuyện Code Chuyện Đời ra đời từ đó. Bài viết đầu tiên trong series sẽ nói về chuyện optimize (tối ưu hoá) code và optimize cuộc sống.

Continue reading Series Chuyện Code Chuyện Đời – Từ tối ưu code cho đến optimize cuộc sống

Phần mềm cũng giống bánh mì và … xôi

Một buổi sáng nọ hồi còn ở Việt Nam, mình lỡ dậy hơi… sớm nên mới lò dò ra ngoài tìm chỗ ăn sáng. Trước nhà mình có hai xe bánh mì khá lâu đời, khách lúc nào cũng đông. Cạnh đấy là quán xôi lá chuối nho nhỏ, mỗi lần đi ngang qua lại nghe mùi lá chuối thơm nức mũi.

Gặm tạm ổ bánh mì cho bớt đói lòng, nhìn chị bán bánh mì, bé bán xôi ngoài ngõ, bỗng dưng mình lại nghĩ tới coder, tới phần mềm. Đó chính là lý do bài viết này ra đời. Tên bài viết lấy cảm hứng từ tác phẩm “Đi đâu cũng nhớ Sài gòn và em” của Anh Khang.

Bia lot _ Di dau cung nho SG va em _ 16.4 Final

Continue reading Phần mềm cũng giống bánh mì và … xôi

Review sách: The Clean Coder – Trở thành coder chuyên nghiệp và “có tâm”

Mấy tuần trước, khi đi lang thang trên dạy nhau học, mình có thấy anh Đạt, founder daynhauhoc dành khá nhiều lời khen ngợi cho cuốn sách này.

screen-shot-2016-11-08-at-9-19-31-pm

Tò mò nên mình tìm về đọc thử. Quả thật sách không làm mình thất vọng! Có nhiều đoạn tác giả nói đúng đến mức không thể đúng hơn, hoặc đưa ra những lời dạy bảo vô cùng chí lí.

Do vậy, mình viết bài này, vừa review sách, vừa tóm tắt những điều tâm đắc mà mình rút ra được từ cuốn sách.

Continue reading Review sách: The Clean Coder – Trở thành coder chuyên nghiệp và “có tâm”

Series Phản Phác Qui Chân – Học thuật toán để làm vẹo gì???

Mình thường nghe các bạn sinh viên hỏi về tầm quan trọng của việc học thuật toán. Ý kiến của các bạn được chia làm hai luồng trái chiều như sau:

  • Thần thánh hoá thuật toán: Muốn lập trình giỏi phải giỏi thuật toán. Các công ty lập trình lớn toàn phỏng vấn về thuật toán còn gì.
  • Coi thường thuật toán: Thuật toán là cái thứ vô dụng, mấy anh đi làm nói là có dùng bao giờ đâu.

Bài viết này sẽ giúp các bạn trả lời câu hỏi “Học thuật toán để làm cái vẹo gì?”, cũng như có cái nhìn khách quan hơn về thuật toán.

Continue reading Series Phản Phác Qui Chân – Học thuật toán để làm vẹo gì???

Review sách: Dreaming in Code – Nửa đêm mơ code

Dạo này vì lo viết bài technicalchém gió về nghề nghiệp dữ quá nên lâu rồi cũng chưa viết bài nào review sách. Từ đầu tháng 1 tới giờ mình cũng đọc được khoảng 5,6 cuốn nhưng không phải sách lập trình nên không review chém gió được. Cuốn sách này mình đọc xong hồi tháng 12 năm ngoái, kể về một dự án thất bại nổi đình nổi đám. Thôi thì đầu năm đầu tháng lôi tháng lôi thất bại của người khác ra review để rút kinh nghiệm vậy….

cover

Giới thiệu – Tóm tắt

Tên đầy đủ của cuốn sách là: Dreaming in Code – Two dozen programmers, three years, 4732 bugs, and one quest for transcendent software (Tạm dịch: Nửa đêm mơ code – 2 tá lập trình viên, 3 năm, 4 nghìn 7 trăm 32 con bug, và 1 hành trình truy cầu phần mềm siêu việt). Mình tình cờ đọc được review của cuốn này trên blog Joel on Software (Ai theo dõi blog mình chắc cũng biết lão này là cựu nhân viên Microsoft, người sáng lập StackOverflow). Tuy chưa tới mức thuộc dạng sách gối đầu giường như Code Complete, The Mythical Man-Month, Peopleware,… nhưng nó cũng được nhiều người khuyên đọc.

Continue reading Review sách: Dreaming in Code – Nửa đêm mơ code

Nhập môn Design Pattern (Phong cách kiếm hiệp)

Nhập đề

Kinh thư ghi lại rằng, con đường tu chân có 3 cảnh giới: Luyện khí, Trúc cơ và Kết đan. Luyện khí là quá trình rèn thân luyện thể, cho phàm thân kiên cường dẻo dai. Trúc cơ là quá trình du nhập thiên địa linh khí vào thể nội, giúp khai thông kinh mạch. Khi thiên địa linh khí trong đan điền đạt tới một nồng độ nhất định, sẽ kết thành Kim Đan, đặt bước chân đầu tiên con đường tu chân đại đạo.

Con đường khởi đầu của code học cũng có 3 cảnh giới: Học đồ (Junior Developer), Học sĩ (Developer), Đại sư (Senior Developer). Để đạt đến cảnh giới Đại sư (senior), bất kì Học Sĩ (dev) nào cũng cần phải tường tận vài Design Pattern cơ bản để phòng thân. Bài viết này do tại hạ viết ra trong một phút cao hứng nhất thời, nhằm chia sẻ với các nhân sĩ võ lâm trên con đường truy cầu đại đạo.

911201211_9_2012_tuchan1s

Continue reading Nhập môn Design Pattern (Phong cách kiếm hiệp)

Series Javascript sida – OOP trong JavaScript

Trước khi xem bài này, các bạn nên ôn lại kiến thức bằng cách xem lại 2 bài viết về objectprototype trong series JavaScript sida. Trước khi phân tích về OOP trong JavaScript, mình sẽ nhắc lại sơ 1 số khái niệm trong OOP. Bạn nào quên rồi có thể lên wiki xem lại nhé: https://vi.wikipedia.org/wiki/Lập trình hướng đối tượng.

Trong phạm vi bài viết, ta sẽ bàn về 3 đặc tính của OOP, so sánh cách hiện thực chúng trong Java và JavaScript. Vì Wiki có sẵn rồi nên mình chỉ copy vào thôi, không giải thích lại lòng vòng nhé:

Continue reading Series Javascript sida – OOP trong JavaScript

Series Javascript sida – Pờ rồ tô tai (Prototype) là cái gì

Ở bài trước, mình đã nói về khái niệm object và đít– một số khái niệm cơ bản trong JavaScript. Trong bài này, mình sẽ giải thích khái niệm prototype – một khái niệm khá lòng vòng phức tạp, dễ làm điên đầu các front-end developer.

Prototype là cái đếu gì?

Khi một thằng developer khác cứ đi theo và hỏi bạn “Prototype là cái đếu gì?”, hãy trả lời nó: Là cái đầu cha mày, hỏi hỏi suốt. Câu trả lời này có phần hơi bố láo nhưng lại khá là chính xác, có thể hiểu protoype nôm na là khuôn hoặc là cha của một object.

Continue reading Series Javascript sida – Pờ rồ tô tai (Prototype) là cái gì

Thực trạng học lập trình của một số thanh niên hiện nay

Lưu ý: Bài viết này được viết khi tác giả đang “hơi” xay xỉn và mất kiềm chế cảm xúc. Nội dung bài viết đụng chạm chửi bới đến khá nhiều đối tượng. Các bạn khi đọc thấy không dính dáng gì tới mình thì cứ đọc tiếp, còn nếu thấy hơi nhột thì cứ nghĩ là “chắc nó chừa mình ra” nhé.

Thực trạng học lập trình của các “sinh dziên”

Để quảng bá blog, mình tham gia khá nhiều group lập trình trên facebook. Các bạn lập trình viên đang học hoặc mới ra trường cũng nên tham gia. Các group này thường đăng tin quảng cáo tuyển dụng, tìm lập trình viên, hoặc có các đường link tới các bài viết vô cùng bổ ích.

Tuy nhiên, điều khiến mình bực mình nhất là đa số các bạn lại sử dụng các group này để làm kênh… nhờ giải bài tập, fix bug, thi hộ (Bốc ảnh random chứ không có ý trù dập ai nhé =)) ).

Continue reading Thực trạng học lập trình của một số thanh niên hiện nay