Gem State Machine

I. Giới thiệu State Machine làm cho việc quản lý trạng thái của đối tượng trở nên đơn giản. Thông thường, trạng thái của một đối tượng được giữ lại bằng cách tạo ra nhiều thuộc tính boolean và quyết định trạng thái của nó thông qua các giá trị. Điều này có thể trở nên cồng kềnh và khó khăn ...

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

PHP part2. Hàm - Định nghĩa hàm, thao tác với Array - String - Number - Time trong PHP

Ở bài trước chúng ta đã làm quen với PHP thông qua các câu hỏi cũng như các khái niệm về biến và toán tử trong PHP. Ở bài này mình xin giới thiệu tiếp về hàm, cách định nghĩa hàm cũng như thao tác với Array - String - Number - Time trong PHP. Hàm - Định nghĩa hàm trong PHP để hiểu rõ thế nào là ...

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

Mã hóa phi đối xứng và ứng dụng của nó trong chứng thực điện tử

1. TỔNG QUAN VỀ CÁC HỆ MÃ HÓA ` 1.1. Mã hóa khóa bí mật. Hệ thống mã hoá khóa bí mật , là hệ thống mã hóa trong đó quá trình mã hóa và giải mã đều được sử dụng chung một khóa gọi là khóa bí mật (Secret key). Việc bảo mật thông tin phụ thuộc vào việc bảo mật khóa. 1.2 Mã hóa khóa công khai. ...

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

Cache trong laravel

Laravel cung cấp một API thống nhất cho các hệ thống cache khác nhau. Cấu hình cho cache được đặt trong file config/cache.php. Trong file này bạn có thể chỉ định cache driver nào bạn muốn sử dụng mặc định trong ứng dụng. Laravel hỗ trợ sẵn các hệ thông cache phía backends phổ biến như Memcached và ...

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

Day 6 - Survival Shooter

今日は、Unityチュートリアルのサバイバルシューターを完成させました。 段々と慣れてきたのか、Unityの操作も慣れてきてチュートリアルを進める速度が上がっています。 この調子でどんどんと続けていきます。 さて、サバイバルシューターとはどんなものか?動画で見てみましょう。 トップダウン式のシューティングゲームですね。 可愛い顔してレーザーが出るAKをぶっぱなしています。 こちらも例によって最初はチュートリアル用のアセット導入から始めます。 その後はチュートリアルに沿って進めていくのですが こちらはきちんと正しくスクリプトを書いていったり、コンポーネントを追加すれば特に詰ま ...

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

Add Rules to Stylesheets with JavaScript

Ngày nay chúng ta đang sử dụng rất nhiều JavaScript trong các ứng dụng web và chúng ta đang tìm kiếm các cách khác nhau để cho ứng dụng web chạy nhanh hơn nữa. Chúng ta sử dụng event delegation để việc bắt sự kiện đem lại hiệu quả hơn, chúng ta sử dụng function debouncing để giới hạn số lần sử dụng ...

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

Sử dụng Google Charts với Javascript trong Ruby on Rails

Thỉnh thoảng bạn viết một bài thống kê phân tích kèm với hàng tá những bảng số liệu. Bạn định nhét tất tần tật vào bài? Tất nhiên là không nên thế , trừ phi bạn có ý định làm rối mắt người đọc. Giải pháp tốt nhất trong trường hợp này là hình tượng hoá những bảng số liệu bằng biểu đồ, giúp người ...

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

Một số thuật toán sắp xếp đơn giản (phần 1)

Một số thuật toán sắp xếp đơn giản (phần 2) Chắc hẳn ngồi trên ghế giảng đường đại học thì ai cũng sẽ được làm quen với thuật toán. Nghe thì thật là trừu tượng và mơ hồ, nhưng để tối ưu hóa những bài toán đặt ra thì bắt buộc các bạn phải học đến nó. Mình xin chia sẻ 1 chút lí thuyết mà mình ...

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

<Selenium 2 Testing Tools> Chương 5: Tìm kiếm phần tử (tiếp)

Tìm kiếm phần tử trên trang bằng tên Tiếp theo ta sẽ tìm hiểu việc tìm kiếm phần tử bằng tên của chúng. Việc tìm kiếm phần tử bằng tên nó chỉ nhanh tương đương với tìm kiếm bằng ID. Bây giờ ta sẽ xem cách sử dụng nó thế nào nhé. findElementByName(String using); Biến using sẽ lấy ID của phần ...

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

Các trường hợp sử dụng storyboard trên iOS

Tôi đã đọc một số bài viết gần đây chống lại việc sử dụng storyboard.Những vấn đề chung nhất là con người không dễ đọc được storyboard, nó chậm và có thể gây xung đột ở git.Những quan ngại có thể chấp nhận được nhưng có thể tránh được.Tối muốn nói với bạn chúng ta sử dụng storyboard trên những ...

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

Custom RecyclerView Android

Đây là kết quả sau khi đã Custom Class Adapter: public class ListShopAdapter extends BaseRecyclerViewAdapter<RecyclerView.ViewHolder> { private static final int HEADER = 0; private static final int CONTENT = 1; private OnRecyclerViewItemClickListener<Object> ...

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

How does the Vue Template work?

Introduction Vue.js (Vue) - là một JavaScript framework được sử dụng để xây dựng giao diện người dùng và đang nhận được rất nhiều sự quan tâm của cộng đồng lập trình trong thời gian gần đây. Vue khá dễ tiếp cận cho những người mới tìm hiểu về nó (bản thân mình cũng mới làm việc với Vue ...

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

Optimize memory when using Rails

We always think what is optimal is needed, memory is of course optimized, if less memory, then our application will run faster, have more resources to handle the work. Another case ..., so the more optimizations the better. Now we have a question that optimize memory is necessary , good or not? ...

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

React Dispatcher

Trong react, ta thường làm việc với Dispatcher , việc hiểu thêm về Dispatcher gíup chủ động hơn trong công việc. Link Facebook Dispatcher: https://facebook.github.io/flux/docs/dispatcher.html 2 method thường dùng đến là dispatch và register Method disptach giúp ta store type và các value gắn ...

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

Tìm Hiểu Về Software Testing Life Cycle (STLC)

Software Testing Life Cycle (STLC) là gì? Kiểm thử không phải là một hoạt động duy nhất. Nó là một chuỗi các họat động, được thực thi một cách khoa học nhằm đánh giá chất lượng sản phẩm. Mỗi hoạt động được thực hiện một cách có kế hoạch và hệ thống. Mỗi giai đoạn có những mục tiêu khác nhau. Các ...

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

Phân tích một số đoạn regex thường gặp và cú pháp regex đặc biệt

1. Giới thiệu Regex (Regular Expression - Biểu thức chính quy) là một chuỗi ký tự đặc biệt được dùng làm mẫu (patern) để phân tích sự trùng khớp của một tập hợp chuỗi nào đó Được sử dụng trong nhiều ngôn ngữ lập trình như PHP, C#, Perl, Ruby, Javascript ... để kiểm tra tính hợp lệ của các dữ ...

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

Tìm kiếm với gem pg-search

Hiện nay có nhiều Startup rất thành công nhờ khai thác nguồn dữ liệu như hệ thống tìm kiếm địa điểm du lịch Bayo, Vntrip, hệ thống tìm kiếm chăm sóc sức khỏe Vicare, hệ thống đặt phòng AirBnb Đặc trưng cho các sản phẩm đó thường có một ô search rất lớn và tập trung vào chức năng chính đó. Các sản ...

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

Introducing Protocol-Oriented Programming in Swift 3 part II

Theo tài liệu: Protocol và tiếp theo từ Phần trước Effects on the Swift Standard Library Bạn đã thấy protocol extensions là 1 trong những cách rất hay để customize và mở rộng mọi thứ. Và bạn sẽ còn ngạc nhiên hơn nữa khi thấy Swift team sử dụng protocols để cải tiến Swift standard library. Thêm ...

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

Rubymotion - Ngôn ngữ lập trình ứng dụng IOS bằng ruby (Giới thiệu)

Bạn có biết Ruby có thể dùng để lập trình iOS không? Nhắc tới lập trình các ứng dụng iOS, chắc chắn bạn sẽ nghĩ ngay đến hai ngôn ngữ như Objective-C và Swift. Những ngôn ngữ này luôn gắn liền với các ứng dụng iOS, dễ hiểu vì chúng có nhiều thế mạnh hơn so với các ngôn ngữ khác , và dĩ nhiên ...

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

Tìm hiểu về HTTP Long-Polling

Ban đầu, các ứng dụng web được phát triển xung quanh mô hình clinet/server, nơi mà web client luôn phải là bên bắt đầu cho các transactions. Do đó không có cơ chế cho máy chủ gửi một các dữ liệu hay sự kiện đến client mà không cần client bắt đầu với 1 request. Để khắc phục việc này, người ta phát ...

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