
SqlAlchemy - Insert/Update by bulk
1. Đặt vấn đề Mình có hàng trăm nghìn tới hàng triệu bản ghi cần insert/update vào MySql một cách nhanh nhất. Việc đầu tiên ta nghĩ tới đó chính là Insert/Update theo bulk. Tại sao lại theo bulk mà không insert từng bản ghi? Vì nếu ta có 1 triệu bản ghi, nếu insert từng bản ghi sẽ cần 1 triệu lần ...

Từ PHP nhảy sang code Ruby thì có gì vui?!
Chào các bạn, đến hẹn lại lên hôm nay mình sẽ chia sẻ về một chủ đề mình cho rằng khá là thú vị dựa trên những trải nghiệm thực tế của bản thân khi chuyển sang học một ngôn ngữ mới. Nói một chút về cơ duyên này: Mình - 1 thằng coder PHP chính hiệu bỗng một ngày đẹp trời nhận được một lời đề ...

Bài 14: Event handling với VueJS
Chào mừng các bạn quay trở lại với series học VueJS với Laravel của mình, ở bài trước mình đã hướng dẫn các bạn về cách binding form input, bài này chúng ta sẽ cùng tìm hiểu cách xử lý các sự kiện khi người dùng tương tác như click hay bấm các phím trong VueJS nhé. Để bắt các sự kiện này ta dùng ...

CRUD với React và Ruby on Rails - Phần 1
Nội dung React là gì? Thiết lập một Rails API cơ bản Xây dựng controller Tích hợp react vào ứng dụng rails Xây dựng component đầu tiên Xây dựng trang hiển thị tất cả các dữ liệu Thêm mới dữ liệu Xóa dữ liệu Sửa dữ liệu React là gì? Reactjs là một thư viện JavaScript tạo ra ...

Sử dụng Cookie Authentication trong ASP.NET Core
Nếu các bạn đã từng làm việc với ASP.NET Core Identity thì có thể thấy nó là một bộ đầy đủ các tính năng về authentication cung cấp và bảo trì công việc login. Tuy nhiên, chúng ta có thể muốn tùy chỉnh logic authentication của riêng chúng ta với authentication dựa trên cookie. Bài viết này sẽ giới ...

BindingAdapter và InverseBindingAdapter trong Android
Nếu ai đã dùng DataBinding của Android thì không thể bỏ qua các tính năng của BindingAdapter và InverseBindingAdapter đem lại. Bài viết này mình sẽ tập trung 2 chức năng này. BindingAdapter và InverseBindingAdapter là cách thức để custom thuộc tính mới cho View , đại diện cho tính ...

Ag - The Silver Searcher
Tìm kiếm đoạn code nào đó là điều mà hầu hết chúng ta thực hiện hàng ngày. Cho dù đó là để refactor hoặc chỉ đơn giản là tìm nơi một biến, lớp, hoặc phương thức đã được thực hiện. Các công cụ tìm kiếm không tốt có thể khiến công việc của chúng ta khó khăn hơn mức cần thiết. Trong bài viết này, ...

Giới thiệu CoffeeScript 2 - Phần II
Ở bài trước mình đã giới thiệu các bạn những khái niệm cơ bản cuả CoffeeScript. Trong bài viết này mình sẽ đi sâu vào nhiều khía cạnh của việc sử dụng CoffeeScript. Đầu tiên các bạn nên chú ý: CoffeeScript sử dụng khoảng trắng để phân biệt giưã các blocks. Vì thế bạn không cần sử dụng ; để kết ...

ĐÁNH GIÁ HỆ THỐNG ĐỂ TĂNG HIỆU QUẢ CỦA KIỂM THỬ HIỆU SUẤT (PHẦN I)
Tìm hiểu các kỹ thuật để nắm bắt các chức năng của hệ thống một cách hiệu quả và mang lại kết quả tối ưu. Tìm hiểu các kỹ thuật để nắm bắt hoạt động của người dùng mong muốn một cách hiệu quả và mang lại kết quả tối ưu. Tìm hiểu các kỹ thuật để nắm bắt kiến trúc logic và vật lý của hệ thống ...

Ruby Metaprograming 2
Bài liên quan: Ruby Metaprograming 1 Bài viết được lược lại từ post này của tác giả Nikola Todorovic. Hẵn bạn thường nghe rằng metaprograming là 1 cái gì đó cao siêu chỉ dành cho các Ruby ninja , chứ ko phải dành cho người dùng bình thường. Nhưng thật sự metaprograming ko đáng sợ như thế. Post ...

Google Docs Very Very Lite With Action Cable in Rails 5 and AngularJS
Như tiêu đề, bài viết này mình sẽ hướng dẫn các bạn tạo ra một phiên bản google document cự kì thu nhỏ. Nó cho phép nhiều người cùng làm việc realtime trên textarea. Bắt đầu thôi nào ~.~ Các bạn đã biết kể từ khi Rails 5 được phát hành, với sự hổ trợ đắc lực của Action Cable thì việc tạo các app ...

Blockchain : Sự khác nhau giữa PoW và PoS
Khi nói về thế giới tiền điện tử , chắc hẳn bạn đã nghe nói về Mining, đặc biệt là 2 giao thức Proof of Work và Proof of Stake. Trong bài viết này , mình sẽ phân tích 2 khái niệm cơ bản PoW (Proof-of-Work) và PoS (Proof-of-Stake) để hiểu sự khác biệt, ưu và nhược điểm của cả 2 giao thức được sử ...

react-native-secure-storage
Hôm nay tôi xin phép giới thiệu với các bạn một package thường được sử dụng để lưu trữ an toàn. Nó được xây dựng dựa trên react-native-keychain và tương thích với redux-persist-sensitive-storage. Bước đầu tiên bạn cần làm là chạy lệnh sau: $ npm install react-native-secure-storage --save ...

So sánh các class level accessor trong Ruby on Rails
attr_accessor là sự kết hơp giữa attr_reader và attr_writer, nó là một marco rất hữu ích cung cấp getter và setter cho một instance variable. Nhưng đôi khi bạn muốn đạt được hiệu quả tương tự với các class variable. Có ít nhất ba cách để chúng ta có thể giải quyết vấn đề này là: attr_accessor, ...

Amazon Web Services for Essential - S3 and EC2
Chào các bạn, như bài lần trước mình có giới thiệu về 2 thành phần ban đầu trong AWS đó là IAM và VPC. Và trong bài viết này mình xin giới thiệu thêm cho các bạn về các thành phần sâu bên trong 1 VPC và là một trong những thành phần quan trọng nhất trong AWS đó là S3 và EC2. Nhắc lại 1 chút về ...

Rails AntiPattern: Duplicate Code Duplication (p1)
Nguyên Lý DRY: Don't Repeat Yourself Don't Repeat Yourself hay DRY là một nguyên lý cơ bản nhất của lập trình được đưa ra nhằm mục đích hạn chế tối thiểu việc viết các đoạn code lặp đi lặp lại nhiều lần chỉ để thực hiện các công việc giống nhau trong ứng dụng. Nguyên lý này được nhắc ...

Truy vấn Web Service không đồng bộ (Async Request) trong Android
Xin chào các bạn , hôm nay tôi xin hướng dẫn các bạn cách thực hiện truy vấn bất đồng bộ tới Web Service trong Android Trước tiên , đặt ra 1 câu hỏi : "Tại sao chúng ta lại cần thực hiện truy vấn bất đồng bộ đến Web Service ?" Câu trả lời đơn giản là đưa ra 1 ví dụ thực tế , giả sử các bạn cần ...

Vui đùa với Active Storage trong Rails 5
Có thể các bạn chưa biết, Paperclip hiện nay đã ngừng cập nhật, và những nhà phát triển của sản phẩm này cũng đang khuyến khích các dev chuyển hướng qua sử dụng ActiveStorage, một gem built-in vừa được merge vào Rails 5 cuối năm vừa qua. Mình viết bài này hy vọng rằng sẽ giúp được những bạn đã quá ...

Logic Controllers trong Swift
Có Một thách thức lớn mà hầu hết các Swift developers phải đối mặt theo thời gian, là làm thế nào để đối phó với Massive View Controllers . Cho dù chúng ta đang nói về các subclasses của UIViewController trên iOS và tvOS hoặc NSViewController trên Mac, loại class này có xu hướng phát triển rất ...

JavaScript Injection Tutorial: Kiểm thử và ngăn chặn các cuộc tấn công bằng JS injection tới website
Javascript là một trong những công nghệ phổ biến nhất và ngôn ngữ này được sử dụng rộng rãi cho các trang web (phía người dùng ) cũng như phía máy chủ (với Nodejs) và ứng dụng web. Javascript có thể được sử dụng để thực hiện các chức năng trên các trình duyệt khác nhau. Tuy nhiên, công nghệ này ...