Singleton Pattern in C#

Trong bài trước thì mình đã giới thiệu về "Prototype Pattern in C#" , hôm nay thì mình xin tiếp tục giới thiệu về 1 pattern trong "Creational Patterns" , đó chính là Singleton . Hẳn đây là 1 pattern mà được rất nhiều anh em sử dụng. Singleton được sử dụng để đảm bảo chỉ có 1 object duy nhất ...

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

OpenTok và Ruby On Rails (Phần 1)

“Real-time, high-quality interactive video, voice, messaging, and screen sharing for web and mobile apps” Opentok là công cụ nền tảng hỗ trợ giao tiếp thời tiếp thời gian thực. Opentok dựa vào nền tảng webRTC để gửi các gói tin đa phương tiện qua javascript giúp chúng dể dàng tích ...

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

Tìm hiểu về cách thức chống CSRF trong Rails framework

Nếu ngày nay bạn sử dụng Rails, hay bất kỳ framework nào thuộc hàng không quá cổ lỗ sĩ, thì nhiều khả năng là bạn đã có cơ chế chống CSRF rồi đó. Từ thủa ban đầu của Rails đã như vậy rồi, và đó cũng là một trong những tính năng của Rails khiến cho bạn code ngon mà không cần nghĩ ngợi gì nhiều. ...

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

KOTLIN - BASIC

Chào các bạn, ở bài trước https://viblo.asia/p/android-java-hay-kotlin-3P0lPzM4Kox chúng ta đã có cái nhìn tổng quát về kotlin và để nối tiếp cho loạt bài về kotlin hôm nay mình và các bạn sẽ tìm hiểu về kotlin basic.Ở bài này mình tìm hiểu dựa trên khung sường ở https://kotlinlang.org/docs/referen ...

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

Giới thiệu NSLinguisticTagger

Nếu bạn đang muốn tìm kiếm một công cụ nào đó để phát hiện loại ngôn ngữ hay phân tích cấu trúc ngữ pháp mà user nhập vào thì sau đây mình xin giới thiệu một công cụ rất hữu ích và tiết kiệm thời gian nhưng nó lại hay bị lãng quên, không được sử dụng và không phổ biến bị ẩn đi trong iOS SDK. Đó ...

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

Tips extension hữu ích IOS Swift

Extension Extension nói nôm na là giúp bạn mở rộng một class có sẵn nào đó. Tức là bạn có thêm các phương thức mới vào class mà không làm thay đổi mã nguồn của 1 thư viện hay chính class của bạn chẳng hạn. Khi nào dùng Extension Cơ bản và thông dụng nhất là bạn muốn thêm 1 phương thức mới ...

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

Apply ElasticSearch to search on Rails applications

Full text search là gì? Định nghĩa Full text search có thể hiểu là việc tìm kiếm một chuỗi ký tự cụ thể từ nhiều tài liệu (files) trên máy tính. Khác với "tìm kiếm tên file" và "tìm kiếm chuỗi ký tự trong một file", nó có nghĩa là "tìm kiếm trên nhiều tài liệu, cho tất cả các câu có trong tài ...

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

Câu hỏi phỏng vấn Tester

Câu 1: Độ nghiêm trọng (Pirority) và độ ưu tiên (Severity) của bug là gì đưa ra dẫn chứng cho từng loại ? Nêu ví dụ mà một bug có độ nghiêm trọng cao và độ ưu tiên thấp Độ nghiêm trọng (Piority) :Đã bug thì sẽ phải sửa .Tuy nhiên , đội phát triển khó có thể sửa hết tất cả các bug một lượt cũng ...

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

Android Data Binding với Kotlin

Với các bạn Android dev chắc hẳn đều ít nhất đã nghe qua hoặc sử dụng thư viện Android Data Binding Hôm nay mình xin giới thiệu với các bạn những thay đổi khi dùng data binding trong android bằng kotlin. Nếu bạn làm app android bằng Java thì bạn chỉ cần thêm đoạn code dưới đây vào ...

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

SOLID Principles #2: Open/Closed Principle

Chào mừng các bạn tiếp tục với series SOLID Principles của mình. Bài trước mình có giới thiệu với mọi người về nguyên tắc đầu tiên là Single Responsibility Principle. Ngay tiếp theo đây, trong bài viết mình sẽ giớii thiệu tới các bạn nguyên tắc tiếp theo, cùng đón đọc nhé! Định nghĩa: a ...

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

Rails Stack Trace

1. Stack Trace là gì: Trong quá trình lập trình Rails, thỉnh thoảng ta sẽ thấy những thông báo lỗi như thế này. Thông báo lỗi đang hiển thị Stack Trace, bao gồm 3 phần ApplicationTrace (được hiển thị mặc định), Framework Trace và Full Trace. Stack Trace là thứ tự chi tiết các ...

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

Sử dụng passport.js xây dựng kịch bản đăng ký và đăng nhập

Passport.js là một trong những module phổ biến của Nodejs , và cũng là middleware hết sức linh hoạt và có khả năng tùy biến cao. Passport.js được sử dụng với nhiều kịch bản xác thực như Facebook, Google+, Twitter hay thậm chí là sử dụng kiểu xác thực thông qua local username - ...

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

Sử dụng flyway library cho việc setup integration test

Có thể các bạn đã nghe hoặc sử dụng flyway rồi, tuy nhiên ở bài viết này mình dùng flyway phục vụ cho mục đích khác, phục vụ để setup integration test. Tuy nhiên, trước khi bắt đầu mình vẫn muốn giới thiệu sơ về flyway. Flyway là một công cụ open-source dùng để migration data, cấu hình cực kì ...

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

Tìm hiểu Queue trong Laravel

Laravel Queue là gì? Một hàng đợi (queue) là một danh sách những việc cần làm (job) được quản lý theo thứ tự. Khi chúng ta muốn thêm một công việc (job) vào hàng đợi, job phải implement interface IlluminateContractsQueueShouldQueue. Laravel Queue driver được sử dụng để quản lý các job như thêm ...

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

Taking Advantage of Kotlin part 1

Kể từ Google I/O 2017, Kotlin đã ngày càng được sử dụng rộng rãi hơn trong phát triển ứng dụng, các phiên bản cập nhật cũng ngày càng mang lại nhiều tiện ích cho dev. Bài viết này mình xin giới thiệu các chuyển từ Java sang Kotlin cùng với một số tips cho người mới. Configure Kotlin Đầu tiên để ...

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

Ruby_Cloud development environment (Cloud9)

Development Environment Môi trường phát triển thì tùy vào thói quen của từng developer có thể tùy chỉnh khác nhau. Nhưng nói chung thì được chia thành 2 môi trường là: môi trường sử dụng Text editor & command line; và IDE (Integrated Development Environment) - môi trường phát triển tích ...

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

Ruby hijacking

Bài viết tham khảo từ bài phát biểu của @tagamoris (Fluentd maintaine, Treasure Inc) và @joker1007 (CTO Repro) tại Ruby kaigi 2018. https://www.slideshare.net/tagomoris/hijacking-ruby-syntax-in-ruby Trong ruby core có tồn tại sẵn class Binding. Các object của class Binding đóng gói ngữ cảnh ...

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

Fast JSON API serialization với Rails

Giới thiệu Nếu các bạn đã từng làm việc với Rails5 api thì chắc cũng từng ít nhất 1 lần sử dụng Activemodel Serializer, và hôm nay tôi sẽ giới thiệu cho các bạn 1 thư viện "tương tự" nhưng tốc độ thì vô cùng nhanh như cái tên của nó fast_jsonapi "A lightning fast ...

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

Pass argument into Rake Task

Rake task là một cách tuyệt vời để nâng cao (hoặc thậm chí tự động hóa) công việc của bạn trong một dự án ruby. Bởi vì chúng ta thường xuyên maintainance hoặc chạy các job về data migration với một số lượng data rất lớn. Những lúc như vậy Rake task là sự lựa chọn tối ưu cho bạn. Nhưng khi làm ...

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

Firebase Cloud Messaging

Firebase Clound Messaging (FCM) là giải pháp tin nhắn đa nền tảng cho phép bạn phân phối tin nhắn đáng tin cậy mà hoàn toàn không tốn một chi phí nào. Sử dụng FCM , bạn có thể thông báo tới ứng dụng client rằng một email mới hay dự liệu mới đã sẵn sàng để đồng bộ. Bạn có thể gửi tin nhắn thông ...

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