
Các thuật toán cơ bản trong AI - Phân biệt Best First Search và Uniform Cost Search (UCS)
Nếu bạn từng đọc các thuật toán trong AI (Artificial Intelligence - Trí tuệ nhân tạo), rất có thể bạn từng nghe qua về các thuật toán tìm kiếm cơ bản: UCS (thuộc chiến lược tìm kiếm mù) và Best First Search (thuộc chiến lược tìm kiếm kinh nghiệm). Khác nhau rõ từ khâu phân loại rồi, thế nhưng hai ...

Những khái niệm cơ bản trong ReactJS cho người mới bắt đầu
Xin chào tất cả mọi người! Hiện nay đang có khá nhiều FrameWork hỗ trợ cho các lập trình viên trong việc thiết kế Front-end, có thể kể ra tiêu biểu như là ReactJS, VueJS, AngularJS... Mỗi FrameWork thì đều có ưu điểm và nhược điểm riêng của nó, cho nên việc chọn cái nào thì cũng còn tùy thuộc vào ...

Custom UI Master Class: Autocomplete TextField (Part 2)
Chúng ta sẽ đén với phần 2 của Autocomplete TextField. Trong phần trước chúng ta đã xây dựng một custom subclass của UITextfield. Textfield có ba tính năng chính: Cung cấp datasource của chính nó tại thời điểm người dùng tương tác, lọc datasource để cung cấp kết quả tốt nhất dựa trên input của ...

Các quy tắc viết nội dung commit
Giới thiệu: Tầm quan trọng của nội dung commit Nếu thử lướt qua ngẫu nhiên một số Git repository, bạn chắc chắn sẽ thấy nội dung commit của những repository này không khác gì một mớ lộn xộn. Thử so sánh hai ví dụ sau: Spring Framwork GitHub Log 1 $ git log --oneline -5 --author cbeams ...

Upload ảnh áp dụng polymorphic và lưu trữ ảnh trên Cloudinary
Giới thiệu Trong các ứng dụng web hiện nay, hình ảnh là một phần không thể thiếu được. Mối ứng dụng web có nhiều đối tượng cần lưu trữ ảnh, một cách thông thường ta sẽ thêm trường image vào bảng cơ sở dữ liệu của model tương ứng hoặc tạo riêng từng bảng trung gian để liên kết model Image với ...

Chmod 777: Nó thực sự nghĩa là gì?
Nếu bạn là một người dùng Linux hoặc là một quản trị trang web (có thể host được đặt trên server Linux), chắc hẳn bạn đã gặp phải những tình huống khi xóa hay chỉnh sửa một file nào đó và gặp phải lỗi "You do not have the permissions to modify this file". Và sau một vài tìm kiếm trên ...

[C#] Hướng dẫn Autocomplete Suggest Middle trong Textbox
Xin chào các bạn, bài viết hôm nay mình sẽ chia sẽ đến các bạn source code Autocomplete Middle TextBox trong lập trình C#. Mặc định trong TextBox đã hỗ trợ sẵn cho các bạn thuộc tính AutoComplete Suggest . Tuy nhiên, các bạn chỉ AutoComplete ký tự đầu ...

Tìm hiểu về Laravel Test nói chung và Mockery nói riêng (part 1)
Xin chào các bạn, mình đã quay trở lại rồi đây (còn lợi hại hay ăn hại hơn thì các bạn hãy comment trong bài viết này cho mình biết nhé!) Xàm xàm tí thôi, hôm nay mình sẽ trở lại với series về Laravel với một nội dung mà các developer ai cũng biết nhưng không phải ai cũng để tâm đến, đó là ...

Xây dựng một blog cá nhân bằng VuePress (Phần 1)
Nếu sử dụng VueJS , có lẽ không ít lần bạn cũng vào VueJS Document để đọc nhỉ. Một trang có giao diện tuy đơn giản nhưng được bố trí cực kì hợp lý và dễ nhìn. Evan You , con người đúng sau thành công của VueJS, đã xây dựng toàn bộ trang document đó bằng VuePress . Tóm gọn, VuePress là ...

5 LÝ DO BẠN ĐANG LÃNG PHÍ THỜI GIAN KIỂM THỬ CỦA MÌNH
Không phải tất thời gian chúng ta dành cho việc kiểm thử đều hiệu quả. Thỉnh thoảng, tôi thấy rằng tôi làm việc hiệu quả và tốt hơn vào cuối ngày. Sự thật là việc kiểm thử của tôi đã không thực sự tốt. Nó sẽ tốt hơn nếu tôi làm mọi thứ theo một chút khác biệt. Sau khi phân tích hành vi của chính ...

Rails Active Record Nested Attributes
Nested Attributes cho phép bạn lưu (create hoặc update) associated record vào database thông qua parent record. Theo mặc định thì Nested Attributes bị disable, để enable chức năng này ta gọi hàm accepts_nested_attributes_for trong model class của parent record. Ta chạy migration để tạo 2 ...

Khả năng dẫn dắt (leadership) trong Kiểm thử (Part 2)
Chúng tôi đã nhận thấy rằng quản lý một đội kiểm thử là một trò chơi bóng khác biệt. Nó có thể không phù hợp với ranh giới của các kỹ thuật quản lý truyền thống, bởi chính tư duy, môi trường và các thách thức mà các nhóm kiểm thử phải đối mặt. Hướng dẫn này sẽ tiếp tục sau những gì mà ở Phần 1 ...

Tìm hiểu về Form Object
Khi nói về việc Create và Update bản ghi này thông qua bản ghi khác, thường chúng ta sẽ nghĩ ngay đến Nested Attributes. Hôm nay mình sẽ giới thiệu cho các bạn một cách khác tối ưu hơn và dễ kiểm soát hơn. Đó là Form Object. Chúng ta có 1 form đăng ký User gồm name, email, company name, phone. ...

Network Manager In Your App With GCM Network Manager
Khi thực hiện xây dựng một ứng dụng Android bây giờ, việc phải thực thi các tác vụ với network là điều không thể tránh được. Vậy làm sao để có thể thực thi các tác vụ network một cách tối ưu nhất (các tác vụ network là một trong các tác vụ tiêu hao pin nhất) và hợp lý nhất trong từng trường hợp ...

Dự kiến tháng 7/2019 Google sẽ tung ra trình chặn quảng cáo “chính chủ” cho người dùng Chrome toàn cầu
Google đang rất Lỗ lực trong việc chặn các quảng cáo khó chịu hiển thị trên trình duyệt Chrome. Google rất tích cực tham gia cuộc chiến chống những quảng cáo gây khó chịu cho người dùng. Gã khổng lồ tìm kiếm đã tham gia Coalition for Better Ads, tổ ...

7 đồng tiền số được dự đoán sẽ “gây bão” trong năm 2018
Sau đây là danh sách 7 đồng tiền số tăng mạnh lớn hơn cả bitcoin trong năm vừa qua được các chuyên gia dự đoán sẽ “gây bão” trong năm 2018. Litecoin (LTC) Vốn hóa thị trường: 17,23 tỷ USD Mức tăng trưởng trong năm 2017: 4.800% Người sáng lập: Cựu nhân ...

Những kỹ năng cần có để trở thành kỹ sư phần mềm tại Google
Tất cả chúng ta đều biết Google là một trong những nhà tuyển dụng được mong muốn nhất trên thế giới. Các kỹ sư tại Google là những bậc thầy, và mức lương của họ là “không tưởng” . Đối với nhân viên Google lương cho Thực tập sinh thường từ $ 70,000 đến $ 90,000. Trong khi ...

Laravel và những tính năng có thể bạn chưa biết ?
Giới thiệu Laravel hiện tại là một framework PHP rất phổ biển và được sử dụng nhiều trong các dự án. Những tính năng mà nó mang lại rất mạnh mẽ và giúp quá trình phát triển trở nên nhanh chóng hơn rất nhiều. Và trong bài viết lần này, mình sẽ giới thiệu với các bạn một số tính năng của laravel ...

25 Trang web phổ biến nhất được xây dựng bằng Python và Django
Một số trang web phổ biến nhất và các ứng dụng mà bạn sử dụng hàng ngày được xây dựng bằng ngôn ngữ lập trình Python và framework Django. Sự thành công của những trang web đó đã cho thấy sức mạnh của những công cụ mã nguồn mở này. Python được lựa chọn bởi độ tin cậy của nó, mã sạch, ...

9 Ruby on Rails Best Practices
Nếu bạn chưa quen với Ruby on Rails, một trong những khía cạnh đáng ngại nhất là biết cách tốt nhất để hoàn thành một chức năng nhất định. Mặc dù có rất nhiều kỹ thuật và thư viện đã xuất hiện và là cách thức ưa thích của cộng đồng, nhưng vẫn có một số best practices giúp Rails cleanest, an toàn ...