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 ...
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ì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. ...
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 ...
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. Đó ...
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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
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 - ...
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ì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 ...
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 để ...
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 ...
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 ...
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 ...
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 ...
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 ...