Single Dispatch and Double Dispatch with Visitor Design Pattern in Java [Part 1]

What is Single Dispatch Mọi người hãy cũng nghía qua ví dụ sau Giả sử mình có một số đối tượng public class Girl { } public class HotGirl extends Girl { } public class Men { public void kiss(HotGirl hotGirl) { System.out.println("a Men kissed a Hot girl"); } public void ...

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

Best Template Engine for Nodejs

Có rất nhiều template engine được sử dụng cho Nodejs. Nếu chúng ta sử dụng Express.js thì có thể cái plug-in consolidate.js nó hỗ trợ rất nhiều template engine, có thể kể ra danh sách template engine như sau. atpl dust (website) eco ect (website) ejs haml (website) haml-coffee ...

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

[Swift4] Sử dụng UITextView để hiển thị text trong file định dạng RichTextFile(rtf)

Vâng mình xin giới thiệu cách sử dụng UITextView để hiển thị text trong các file định dạng (*.rtf) Luồng thao tác sẽ như sau Import rtf vào mainbundle từ file rtf create NSAttributeStrings Assign vào property attributedText của UITextView Import rtf vào mainbundle Như ở ví dụ của mình ...

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

Tôi đã tăng gấp đôi lương của mình và có một công việc tuyệt vời sau 5 tháng như thế nào

Đây là bài dịch, bài gốc mời các bạn xem ở đây: https://medium.freecodecamp.org/how-i-doubled-my-salary-in-5-months-and-got-an-amazing-job-1110d1779e0b Sáu tháng trước, tôi nghỉ việc khi đang là một Javascript Junior Dev và đã đi du lịch vòng quanh Đông Nam Á trong vòng 5 tháng. Một tuần sau ...

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

ASP.NET MVC Tip #13 – Unit Test Custom Routes

Trong phần này chúng tôi sẽ giới thiệu cách bạn có thể tạo các unit testị cho các routes trong các ứng dụng ASP.NET MVC của bạn. Tôi chỉ ra làm thế nào để kiểm tra liệu một URL đang được ánh xạ tới đúngcontroller, action controller, và các tham số action. Nếu bạn đang có hướng thử nghiệm khi xây ...

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

select in và joins trong framework Rails

N + 1 query ? Câu chuyện xảy ra khi chúng ta, những coder viết code chưa khéo, sinh ra nhiều truy vấn vào cơ sở dữ liệu làm giảm performance của hệ thống. Khi đồng nghiệp đọc code thường thì sẽ bình luận ngay: fix N + 1 Ví dụ về N + 1 Giả sử ta có một cơ sở dữ liệu, trong đó table post có ...

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

5 Mẹo Ruby on Rails có thể bạn đã biết

Kể từ khi tôi bắt đầu làm việc với Ruby on Rails, và sau vài tháng sử dụng nó, tôi không thể ngừng tự hỏi khi tôi khám phá ra điều gì đó mới mẻ trong thế giới Ruby. Ruby luôn tạo ra các cách để làm cho một lập trình viên hạnh phúc, và đôi khi trong quá trình viết code chúng ta quên mất những điều ...

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

Mời các bạn góp ý project Drowsiness detection với Dlib và OpenCV

Bài trước chúng ta đã tìm hiểu về facial landmark. Trong bài này chúng ta sẽ ứng dụng facial landmark vào Drowsiness detection. Drowness detection dùng để xác định trạng thái ngủ gật hay không dựa vào facial landmark của eye. Thường được cái tài xế xử dụng khi điều khiển phương tiện giao thông để ...

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

Xây dựng một simple GraphQL API Server với NodeJS và Express - Part 2

Tiếp tục bài viết trước, bài này chúng ta cùng tiếp tục tìm hiểu tiếp cách xây dựng một API sử dụng GraphQL, cùng với NodeJS và Express. GraphQL API implementation using GraphQL schema language Chúng ta sẽ cần package lodash. Package này là một bộ các function của Javascript giúp cung cấp các ...

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

Understand synchronized and improve lock performance in Java

Đây không phải là chủ đề mới, nhưng hy vọng với nhiều nguồn tư liệu đã được chọn lọc (Java docs, stackoverflow, blog...), cộng với cách trình bày trong bài viết sẽ giúp cho các bạn dễ nắm hơn về synchronized và cách để tăng performance trong khi sử dụng synchronized giữa các thread trong Java. ...

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

Gem Letter Opener - Phòng tránh Mails spam

Trong quá trình xây dựng 1 ứng dụng, cần làm chức năng gửi mail tuy nhiên bạn gặp một số vấn đề như sau: Bạn không muốn thiết lập mail thử nghiệm. Bạn không muốn 1 mail spam sẽ được gửi từ mail thử nghiệm của bạn vô tình đến 1 mail nào đó. Khiến rò rĩ thông tin đến end-user, hoặc vô tình ...

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

Laravel Facades P.2

Real-Time Facades Sử dụng real-time facades, bạn có thể sử dụng bất cứ class nào trong application của miễn là nó có một facade. Để minh họa điều này chúng ta hãy đến với một ví dụ nhỏ sau . giả sử chúng ta có 1 model Podcast có 1 publish method . tuy nhiên để pushblish podcast thì chúng ta cần ...

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

Effective JavaScript - Chapter 2 - Variable Scope (Part I) (Translated)

Scope giống như oxy đối với một lập trình viên. Nó ở khắp mọi nơi. Bạn thường không nghĩ đến nó. Nhưng khi nó bị ô nhiễm, bạn sẽ bị ngạt thở. Tin vui là những nguyên tắc cở bản về scope trong JavaScript lại hết sức đơn giản, được thiết kế tốt và cực kỳ mạnh mẽ. Nhưng có những ngoại lệ. Làm việc ...

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

Những tính năng mới của Android P

Định vị trong nhà với Wi-Fi RTT Android P thêm hỗ trợ nền tảng cho giao thức Wi-Fi IEEE 802.11mc — còn được gọi là Wi-Fi Round-Trip-Time (RTT) —cho phép bạn tận dụng lợi thế của việc định vị trong nhà trong ứng dụng của bạn. Trên các thiết bị Android P có hỗ trợ phần cứng, ứng dụng của bạn có ...

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

Đo độ bao phủ code theo branch và method trong Ruby 2.5

Trong Ruby chúng ta có 1 thư viện chuẩn với tên gọi Coverage để đo độ bao phủ code trong quá trình chương trình được thực thi. Bài viết này sẽ giới thiệu với các bạn các loại độ bao phủ code và cách đo chúng bằng thư viện Corverage. Line coverage Trước Ruby 2.5 thì khi dùng Corverage chúng ta ...

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

Javascript bất đồng bộ: Callbacks, Listeners, Control Flow Libs and Promises (Phần 2)

Tiếp tục series về bất đồng bộ trong Javascript, ở phần trước, mình có giới thiệu về Callbacks, Listeners cũng như cách sử dụng, ưu, nhược điểm của từng phương pháp đó. Các bạn có thể ngó qua tại đây Ở phần này, mình sẽ giới thiệu thêm về hai phương pháp chúng ta có thể sử dụng trong khi làm việc ...

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

Tìm hiểu về blockchain bằng cách làm thử - Part 1

i don't even care enough to rant anymore. Just get this over with, ffs Trước khi bắt đầu Yếu tố quan trọng nhất chúng ta cần ghi nhớ trong quá trình tìm hiểu về blockchain, đó là, đây là khái niệm nhằm chỉ một chuỗi không thể bị biến đổi , có thứ tự những bản ghi được gọi là ...

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

Tạo ứng dụng CRUD với Angular 5 và Laravel 5.6

Trong bài này tôi sẽ trình bày quá trình tạo ra ứng dụng sử dụng angular và laravel để tạo ra một CRUD app hoàn chỉnh. Trong đó angular sẽ đảm nhiệm frontend và laravel sẽ tạo ra rest api. Trong các ví dụ dưới đây tôi sẽ sử dụng MAMP làm môi trường server. Bắt đầu nào. Đây là 1 screen của ứng ...

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

ObjectBox, một cơ sở dữ liệu Android hiện đại và dễ sử dụng

ObjectBox được thiết kế dành cho thiết bị di động. Nó là một cơ sở dữ liệu nhúng hướng đối tượng có khả năng thay thế đầy đủ cho SQLite. ObjectBox cũng rất thích hợp cho IoT. ObjectBox được tối ưu hóa cho hiệu suất và được thiết kế để các nhà phát triển ứng dụng không phải xử lý SQL. Vì vậy lợi thế ...

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

Tay trắng làm nên một trang web cá nhân chuyên nghiệp không tốn một xu (Phần 2)

Nối tiếp phần một, ở phần 2 này chúng ta sẽ làm một trang web từ một bộ giao diện độc lập. Giao diện bạn chọn tốt nhất nên là sử dụng Bootstrap (3 hoặc 4) để nó có responsive (hiển thị trên điện thoại gọn đẹp). Sau đây chúng ta hãy đi làm bước 1, đi tìm một giao diện ưng ý và áp dụng nó vào ...

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