Loose Coupling & Dependencies Management

What is depedencies? Object Oriented applications modeling real world problem by using objects and the interactions between those objects provide solutions. These interactions are inescapable. A single object cannot know everything, so inevitably it will have to talk to another object. Well ...

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

The Safe Navigation Operator (&.) in Ruby

Một trong những bổ sung thú vị nhất của Ruby 2.3.0 là Safe Navigation Operator(&.). Ban đầu Hày tưởng tượng bạn có một account một owner và bạn muốn lấy được các owner của addrress. Nếu như bạn muốn được an toàn và không có nguy cơ lỗi nil bạn sẽ viết một cái gì đó dạng như: if ...

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

Khi backend developer: Xây dựng giao diện của 1 website - viết tiếp

Bài trước https://viblo.asia/ho.xuan.vinh/posts/JlkzymgazZW Cũng như bài trước, tiếp nối những trăn trở khi một backend developer đi code frontend. Biết là muôn vàng khó khăn vậy đó nhưng mà con đường nào thì cũng có lối. Vậy thì chọn lối nào. Phần trước có nói về vue.js một javascipt framework ...

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

Artificial Intelligence - Uninformed search (AI to ML part 3)

Chào mọi người, hôm nay mình sẽ bắt đầu với 1 vài giải thuật tìm kiếm cơ bản nhất trong trí tuệ nhân tạo nhé. Trước tiên, vì sao chúng ta cần biết về các giải thuật tìm kiếm: Ví dụ 1: Tìm tên bài hát (ez => tìm kiếm) Ví dụ 2: Đang ở Bách Khoa muốn tìm đường sang Nông Nghiệp tán gái (tìm kiếm ...

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

AI Conversation (I)

Mở đầu Dạo này mình có hứng thú với những thứ ảo ảo kiểu như Cortana hay Siri, (Google now thì ko biết nói chuyện chém gió nên không hứng thú) nên có tìm hiểu về vấn đề này. Nó được gọi là những trợ lý ảo, 1 hình thức nâng cao hơn của những ứng dụng giao tiếp, trả lời tự động, hay botchat. Qua ...

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

[AngularJS toàn tập] Phần 11 : ng-model-options trong AngularJS

Ở các phần trước mình đã hướng dẫn các bạn về một directive quan trọng đó là ng-model, và cũng có một vài ví dụ cho bạn về chủ đề này. Để tiếp tiếp tục AngularJS toàn tập thì trong bài này chúng ta sẽ tìm hiểu 1 directive rất quan trọng và liên quan đến ng-model đó chính là ng-model-options trong ...

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

Rails API errors response

I. Mở đầu Xin chào các bác (lay2) Hôm nay em sẽ xin trình bày một vấn đề khi xây dựng API với Rails - Errors response Đối với những newbie, khi lần đầu viết Rails API để phục vụ cho Mobile client, ta sẽ gặp vấn đề khi định nghĩa response trả về cho phía client. Với cá nhân em, thì ...

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

[Xamarin Android] Sử dụng thư viện native trong Xamarin Android P.1

Như chúng ta đã biết, Android là một nền tảng có thể thiên biến vạn hoá rất nhiều thứ, nếu chưa nắm được làm những việc đó như thế nào, thì chúng ta đã có những developer có tâm đi trước chúng ta tạo ra những thư viện cho Android để giúp ta làm việc biến hoá đó dễ dàng hơn. Nhưng, những thư viện đó ...

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

không ai quan tâm đến code của bạn đâu

Bài này được dịch từ bài viết https://mortoray.com/2015/04/20/nobody-cares-about-your-code/ Không ai quan tâm đến code của bạn. Đây thực sự là một sự thực khó chấp nhận trong sự nghiệp làm lập trình của tôi. Tôi đã dành ra rất nhiều thời gian và công sức để code của mình hoàn thiện hơn, quy củ ...

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

Object Oriented Programming with Ruby (Part 1)

Đây là bài viết được dịch từ một cuốn sách, các bạn có thể xem ở đây: Object Oriented Programming with Ruby Trong phần này sẽ giới thiệu cho bạn một cái nhìn tổng quan về lập trình hướng đối tượng (Object Oriented Programming). Object Oriented Programming, thường được gọi với cái tên OOP, là ...

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

Một số điều một lập trình viên phải biết về SQL sever

6. SQL functions thường hiếm khi có hiệu năng tốt If you do want to reuse code, consider stored procedures and views instead. (Granted, they can come with their own performance drawbacks, but I’m just trying to get you started on the right foot as quickly as possible here, and functions ...

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

Sắp xếp Collection trong Java

Để sort một array, chúng ta có thể dùng method sort trong gói java.util.Arrays Ví dụ: int [] array = new int[]{1, 2, 4, 1, 3, 5, 7, 6}; Arrays.sort(array); for (int x : array) { System.out.println(x); } Kết quả: 1 1 2 3 4 5 6 7 Gói Java.util.Arrays còn hỗ trợ 1 số phương thức sort khác ...

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

Mở rộng Scrum một cách đơn giản với khái niệm của khung làm việc Nexus

Thông thường, Scrum hiệu quả đối với nhóm từ 3-9 thành viên, nhưng trong một số trường hợp, có một số team cần làm việc chung vì sự phức tạp và độ lớn của sản phẩm đó. Kinh nghiệm thực tiễn tốt nhất chỉ ra rằng Scrum không hiệu quả cao cho các nhóm lớn và 1 Product Owner, 1 Scrum Master cho nhóm ...

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

Scala.js basic tutorial

Với step-by-step tutorial chúng ta sẽ bắt đầu với việc setup Scala.js sbt project và kết thúc với việc tương tác với user và viết unit testing. Code được viết trong tutorial này cũng được public trên GitHub với mỗi step là 1 commit, các bạn có thể tham khảo thêm ở repo: scalajs-tutorial Để đi ...

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

Cài đặt squid proxy server trên Pfsense

Hướng dẫn sử dụng Squid server trên Pfsense( Phần 1 ): I. Cài đặt: B1: Đăng nhập vào trang quản trị Pfsense bằng trình duyệt web (Chrome hoặc firefox) B2: Chọn mục System -> Package Manager B3: Chọn mục "Available Packages" Tìm đến gói cài đặt "squid" và chọn "Install" Mất vài phút để thực ...

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

Libgdx cài đặt và một vài vấn đề phát sinh

Chào các bạn, thời gian gần đây mình có nhận được yêu cầu làm 1 dự án sử dụng 1 engine nhẹ như native để làm game cho android, và sự lựa chọn của mình đó chính là libgdx. Trong quá trình mình tiếp cận với libgdx thì mình thấy có 1 vài vấn đề, vì vậy mình muốn viết bài này vừa là để hướng dẫn ...

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

What is Vue.js?

-Vue ( /vjuː/) là một progressive framework dùng để xây dựng giao diện người dùng. Core của Vue chỉ tập trung vào lớp view ("View" trong mô hình MVC) và nó rất dễ để làm quen hay tích hợp với các thư viện hoặc các project đang hoạt động. Vue là một thư viện JS nhỏ gọn so với những thư viện khác như ...

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

Lưu trữ dữ liệu đám mây với Nextcloud? Tại sao không?

Bạn đang tìm 1 giải pháp lưu trữ dữ liệu trên cloud sau khi đã chán chê với việc sử dụng các dịch vụ như google drive, dropbox ...? Vậy tại sao bạn không tự mình cài đặt 1 dịch vụ cho riêng mình nhỉ? Nextcloud sẽ dễ dàng giúp bạn thực hiện điều đó. Bài viết hôm nay mình sẽ giới thiệu cho các bạn ...

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

Localization in Laravel 5.4

Trong các phiên bản trước của Laravel, Đa ngôn ngữ được thực hiện bằng các chuyển đổi các key thành các giá trị dựa trên locale hiện tại của ứng dụng. Điều này được thực hiện với cú pháp như sau: trans('catalogue.products.save') Đầu tiên Laravel sẽ tìm kiếm file catalogue trong thư mục ...

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

Java String Format

Trong java việc xử lý format liên quan đến String bạn thường đọc trong Formatter. Tôi đã đọc và viết một bài hướng dẫn rõ ràng và dễ dàng sử dụng các format trong Java Một trong những cách thông thường để format string là sử dụng hàm String.format() String output = String . format ( "%s = ...

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