Những lỗi mà tôi đã làm như một Beginner Programmer

Trước tiên tôi muốn làm rõ ràng một điều. Nếu bạn là một beginner programmer, bài viết này không phải làm cho bạn cảm thấy tồi tệ về những sai lầm mà bạn mắc phải, mà là để bạn, cũng như tôi nhận thức về nó, nhắc nhở chúng ta nên tránh. Tôi đã mắc phải những lỗi này và học được nhiều thứ từ mỗi ...

Tác giả: Hoàng Hải Đăng viết 17:27 ngày 12/08/2018

Tạo 1 ứng dụng đọc API với React và Axios

Thử thách thứ 302 của FreeCodeCamp là 1 ứng dụng xếp hạng người dùng của FreeCodeCamp, sử dụng API của FreeCodeCamp để đưa ra dữ liệu người dùng. Tuy nhiên, FreeCodeCamp hiện tại khóa học React trống không nhưng vẫn tồn tại project với React. Vậy ta phải làm thế nào? 1. Phân tích Ứng dụng ...

Tác giả: Bùi Văn Nam viết 17:27 ngày 12/08/2018

UIView vòng đời Auto Layout

Auto Layout là một trong những thủ thuật quan trọng nhất khi lập trình IOS . Và để control được nó bạn phải hiểu vòng đời của nó trong suốt quá trình phát triển để tiết kiệm thời gian tránh những sai lầm ngớ ngẩn . Nếu bạn thiếu những kiến thức này không sớm thì muộn sẽ gặp đến vấn đề về giao diện ...

Tác giả: Trịnh Tiến Mạnh viết 17:27 ngày 12/08/2018

Rethinking JavaScript Part III - Replace break by going functional (Translated)

Trong bài viết trước, "Death of the for Loop", tôi đã cố gắng thuyết phục các bạn từ bỏ vòng lặp for và thay bằng kỹ thuật lập trình hàm. Đổi lại, các bạn lại đưa ra câu hỏi rất tuyệt: "Thế còn break thì sao?" break is the GOTO of loops and should be avoided. (break là GOTO của các vòng ...

Tác giả: Bùi Văn Nam viết 17:27 ngày 12/08/2018

Bốn cách để refactor và tăng tốc RSpec

Viết test là một phần hết sức quan trọng khi chúng ta phát triển bất cứ một chương trình nào. Tuy nhiên đôi khi tạo gặp khó khăn để làm sao test của chúng ta viết ra thật clean và chạy nhanh nhất là đối với một project có nhiều member tham gia việc phát triển trong một thời gian dài. Trong bài này ...

Tác giả: Hoàng Hải Đăng viết 17:27 ngày 12/08/2018

Beta vs. Field Testing

"Thử nghiệm Beta" là tên gọi được sử dụng rộng rãi nhất để mô tả các thử nghiệm của khách hàng trước khi phát hành. Trong thực tế, nhiều người nhầm lẫn sử dụng từ này khi nói đến Alpha và Field Tests. Qúa trình khách hàng xác nhận sản phẩm sẽ trải qua những giai đoạn nhất định. Mỗi giai đoạn này ...

Tác giả: Bùi Văn Nam viết 17:27 ngày 12/08/2018

UIKit Animations Trong Swift

Bài viết trước của tôi có tiêu đề Animation cơ bản trong Swift có nói về những cách xử lý với animation cơ bản trong Swift , hôm nay chúng ta sẽ tiếp tục tìm hiểu thêm một số thuộc tính mới của animations. Khi update bản cập nhật SwiftSwift4 / IOS 11 chúng ta có thêm hai thuộc tính mới cho ...

Tác giả: Tạ Quốc Bảo viết 17:27 ngày 12/08/2018

Trên tay React v16.3.0

Như tiêu đề, hôm nay chúng ta sẽ cùng review một số thay đổi đáng chú ý trong React phiên bản 16.3.0 mới được release vào hôm 30/3 vừa rồi. Phiên bản này mang đến khá nhiều tính năng mới nhưng cũng kèm theo khá là nhiều hoang mang. Không để các bạn phải chờ lâu chúng ta sẽ bắt đầu ngay với điểm ...

Tác giả: Hoàng Hải Đăng viết 17:27 ngày 12/08/2018

Code Coverage cho Android với Jacoco

Trong bài viết này, chúng ta sẽ tìm hiểu cách để tạo một test coverage report trong dự án Android bao gồm cả unit tests (thường được viết bằng JUnit , Mockito và Robolectric ) và instrumented test (thường được viết bằng Espresso ). Tổng quan về coverage reports Test coverage reports là một ...

Tác giả: Hoàng Hải Đăng viết 17:27 ngày 12/08/2018

Nguyên lý Peter và lý giải những vấn đề công sở

Nguyên lý Peter là một lý thuyết trong quản trị doanh nghiệp nói chung được tạo ra bởi nhà giáo dục Laurence J. Peter và xuất bản năm 1969. Nguyên lý này cũng có một phiên bản nữa áp dụng riêng cho ngành Phát triển phần mềm, tuy nhiên hôm nay chúng ta sẽ tạm bỏ qua phiên bản này bởi theo tôi thì ...

Tác giả: Trịnh Tiến Mạnh viết 17:27 ngày 12/08/2018

Theo dõi lỗi hệ thống với Rollbar

Theo dõi lỗi hệ thống với rollbar Rollbar là một dịch vụ theo dõi lỗi cho Ruby và nhiều ngôn ngữ khác (https://rollbar.com/docs/). Dịch vụ Rollbar sẽ gửi thông báo cho bạn khi hệ thống của bạn gặp lỗi, thống kê lỗi phát sinh trong quá trình hoạt động của trang web ... Tôi nghĩ nó rất đơn giản và ...

Tác giả: Bùi Văn Nam viết 17:27 ngày 12/08/2018

Cài đặt môi trường để chạy ReactJs

Chào mọi người, hôm nay chúng ta sẽ tìm hiểu một thư viện front-end được phát triển bởi Facebook đó là ReactJs. React được sử dụng để xử lý ở tầng view cho các website và mobile app, cho phép ta tạo nên các Reusable UI components. Là 1 trong những thư viện JS phổ biến nhất hiện nay, có nền tảng ...

Tác giả: Tạ Quốc Bảo viết 17:27 ngày 12/08/2018

React lifecycle methods are changing in v17.0

Lifecycle methods có lẽ là một thứ bị nhầm lẫn khá nhiều với mọi người khi mới học React. Kể từ React v16.0, mọi thứ còn trở nên phức tạp hơn nữa với async rendering . Vậy nên từ giờ cho đến React v17.0, một vài lifecycle methods sẽ dần dần bị loại bỏ và vài method khác sẽ được thêm vào. React ...

Tác giả: Bùi Văn Nam viết 17:27 ngày 12/08/2018

Bắt đầu với Reactjs- Phần 5, Tìm hiểu về redux-form (3)

2.2.1 Field-Level validation: Một ví dụ cơ bản với form đăng ký gồm text field, email: Chuẩn bị file public/index.html <!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="awidth=device-awidth, initial-scale=1, ...

Tác giả: Bùi Văn Nam viết 17:27 ngày 12/08/2018

Index và một vài vấn đề liên quan

Thử hình dung bạn sẽ được giao một nhiệm vụ phải tối ưu một vài hệ thống mà chưa biết phải bắt đầu từ đâu, thì dưới đây là một vài bước có thể giúp ích được cho bạn có thể cải thiện được tốc độ hệ thống. Một vài ý tưởng đến lúc đầu có thể là chưa sử dụng indexes không tận dụng được i/o ...

Tác giả: Hoàng Hải Đăng viết 17:27 ngày 12/08/2018

Size, Stride, Alignment trong Swift

Trong Swift, mỗi kiểu dữ liệu sẽ có 3 thuộc tính: size, stride, alignment. Giả sử, chúng ta có 2 struct đơn giản sau: struct Hooman { let age : Int } struct HoomanWithPuppy { let age : Int let puppies : Int } Nhìn qua chúng ta cũng có thể đoán ...

Tác giả: Trịnh Tiến Mạnh viết 17:27 ngày 12/08/2018

ShortcutBadger

ShortcutBadger i an Android library supports badge notification like iOS in Android devices. The ShortcutBadger makes your Android App show the count of unread messages as a badge on your App shortcut. It can be easily implemented in the project by following the easy steps below 1) Add ...

Tác giả: Trịnh Tiến Mạnh viết 17:27 ngày 12/08/2018

Annabelle Ransomware – mã độc nguy hiểm hơn cả cơn ác mộng WannaCry

Chắc hẳn, nhiều người vẫn còn nhớ đến hai lỗ hổng Spectre và Meltdown – gây ám ảnh kinh hoàng cho giới công nghệ cách đây vài tháng. Chưa dừng ở đó, gần đây tháng 03/2018, lại có thêm một mã độc mới được phát hiện. Mã độc tống tiền này có tên gọi Annabelle – được phát hiện bởi Bart – một ...

Tác giả: Tạ Quốc Bảo viết 17:27 ngày 12/08/2018

Phát triển phần mềm với Agile - Phần 2

Các bài viết cũ cùng chủ đề: Phát triển phần mềm với Agile - Phần 1 So sánh Agile và Waterfall Tình huống Agile Waterfall Quản lý dự án muốn thêm chức năng mới trong quá trình phát triển Chức năng mới được bổ sung vào ngay backlog, có thể triển khai sớm đáp ứng các yêu cầu ...

Tác giả: Bùi Văn Nam viết 17:27 ngày 12/08/2018

[Tryhard trong lập trình] Thử tự làm khó mình trong lập trình!. ^.^

Một ngày chán đời hoặc đẹp trời bạn bỗng nhiên muốn tự làm khó bản thân mình với việc lập trình, bằng cách tạo ra những hàm mà không cần dùng những thứ cơ bản nhất trong lập trình đó là if hay loop. Câu hỏi được đặt ra ngay lúc này là : "Chúng ta có thể làm gì khi không có if hoặc loop nhỉ ?" . ...

Tác giả: Tạ Quốc Bảo viết 17:27 ngày 12/08/2018