
Đào sâu Facade của laravel.
Vâng, cách mạng mãi vẫn chưa thành thì người nông dân vẫn lại phải quay về với cái máng cũ thôi vậy. Another month, another gruding report, another 2 days salary saved (orz) Let's looking into some simple code. Đầu tiên, chúng ta cùng đi từ một đoạn code max đơn giản. DB : : select ( ...

About the website management
Chào các bạn.Các bạn cho mình hỏi nếu mình muốn làm về quản lý website có cần phải biết code nhiều không?Nếu mình vô công ty họ có đưa sẵn cho mình một cái trang web để mình quản lý hay không hay mình phải tự tạo và tự quản lý. Cảm ơn các bạn

Phân tích một JSON API với Rails
Đặt vấn đề Bạn đang làm việc trên một dự án Rails, trong đó có một yêu cầu là phải lấy data từ một domain X đã có sẵn JSON API. Vậy làm thế nào để lấy JSON từ API của domain X, xử lý kết quả và sử dụng ở dự án bạn đang thực hiện? Hướng giải quyết Để xử lý vấn đề nêu trên, Ruby Toolbox liệt kê ...

UX Review: Đừng tưởng to như Facebook mà ko mắc lỗi UX cơ bản
Chúng ta thường nghĩ rằng với những công ty khổng lồ, lại còn ở bển, lỗi trải nghiệm người dùng chắc hẳn khó lòng mà xảy ra, mà có xảy ra thì ko thể nào quá cơ bản được. Trong bài này và một loạt bài tới, tôi sẽ cố gắng chứng minh điều ngược lại. Một sản phẩm đến từ những siêu công ty vẫn có thể dễ ...

Nested Classes (P3) Inner Class: Anonymous Classes
Anonymous classes giúp code của bạn trở nên ngắn gọn hơn. Nó cho phép bạn khai báo và khởi tạo 1 class ở cùng 1 thời điểm. Nó giống với local classed ngoại trừ việc nó ko có tên. Sử dụng nó nếu bạn cần sử dụng local class chỉ 1 lần. Declaring Anonymous Classes Trong khi local classes cần khai ...

Draw inverted circle and calculate zoom level based on radius in Google Maps
Trong bài viết này, chúng ta sẽ tìm hiểu về cách dùng các class có sẵn trong Google Maps SDK để làm những thứ không có sẵn. Cụ thể: Vẽ một hình tròn với bán kính cho trước có phần bên trong tranperancy và phần map bên ngoài hình tròn được fill bởi màu khác. Tính zoom level phù hợp dựa trên bán ...

Upload ảnh bằng Carrierwave tới Amazon S3
1. Giới thiệu Tại một số thời điểm trong quá trình sử dụng ứng dụng Rails của bạn, bạn sẽ muốn người dùng (có thể là admin hoặc người dùng bình thường) upload hình ảnh của họ. Thông thường, bạn sẽ muốn thay đổi kích thước của hình ảnh đó thành một kích thước cụ thể nào đó (Mà không phải thay đổi ...

Data Preprocessing and Data Wrangling in Machine Learning and Deep Learning
Deep learning and Machine learning are becoming more and more important in today's ERP (Enterprise Resource Planning). During the process of building the analytical model using Deep Learning or Machine Learning the data set is collected from various sources such as a file, database, sensors ...

Form_tag và sự khác biệt so với form_for
Trong Rails có hai phương thức để tạo thẻ <form></form> đó là: form_for và form_tag . Ta có thể tìm thấy rất nhiều ví dụ về form_for bởi chúng ta thường xuyên sử dụng nó để tương tác trực tiếp với models mà chúng ta đã tạo trong database. Tuy nhiên trong khá nhiều trường hợp ...

Tấn công giả mạo GPS sử dụng SDR | Phần 2
Trong phần 2 tôi thực hiện tạo các dữ liệu tọa độ theo lịch trình di chuyển giả mạo tại Hồ Gươm, Hà Nội, Việt Nam bằng cách sử dụng công cụ SatGen và gps-sdr-sim để chuyển đổi sang dạng dữ liệu GPS phát sóng. Sơ đồ thực hiện giả mạo GPS 2.2 Thực hiện giả mạo GPS di chuyển Khác với phương pháp ...

Những khái niệm đặc trưng trong Swift
Swift là một ngôn ngữ lập trình mới cho iOS, macOS, watchOS và tvOS apps, nó được xây dựng dựa trên những gì tốt nhất của C và Objective-C. Swift chứa những programming pattern an toàn và thêm vào nhiều tính năng mới giúp việc lập trình dễ dàng, linh hoạt hơn và thú vị hơn. Trong bài viết này, ...

Một vài kỹ năng dev cần biết
Nhân tiện chém gió với các bạn fresher bài Beginner / Fresher thì cần học cái chi thì mình phân tích sâu hơn 1 chút về các kỹ năng mà developer cần phải biết. Ở bài đó mình đã liệt kê ra 3 kỹ năng: Kỹ năng search solution trên google Kỹ năng hỏi / giao tiếp Kỹ năng sử dụng editor / ide. ...

Những điều cần biết về UI/UX trong kiểm thử phần mềm
Đối với một người designer thì việc có những hiểu biết về UI/UX là một điều cốt lõi, việc design ra một giao diện website đẹp, bắt mắt thân thiện, dễ sử dụng là vô cùng quan trọng Tương tự đối với một người developer thì việc tạo sản phẩm với UI/UX hài hòa chuyên nghiệp, thu hút người sử dụng là ...

Method swizzling
Method swizzling là quá trình hoán đổi implement của những selector có sẵn. Giả sử bạn có lớp A có 2 function là hello và goodbye. Bạn muốn hoán đổi như sau: Gọi vào function hello thì funtion goodbye được thực hiện và ngược lại. Đó là mục đích của medthod swizzling. Ở đây tôi sẽ thực hiện method ...

Một số trick cải thiện performance trong Ruby
Khi phát triển các ứng dụng với bất kì một ngôn ngữ nào, đặc biệt là với các ứng dụng lớn, với số lượng dữ liệu và các thao tác lớn thì vấn đề cải thiện performance cho những dòng code của bạn là việc hết sức quan trọng. Ruby cũng không phải là ngoại lê. Trong trang Viblo cũng có rất nhiều bài viết ...

Model-View-ViewModel Achitecture in Android without Data Binding library
Chào mọi người, chắc hẳn chúng ta khi bắt đầu start một dự án mới đều phải đau đầu suy nghĩ về kiến trúc dự án sẽ áp dụng, mô hình sẽ xây dựng sao cho phù hợp nhất, hiệu quả nhất, sẵn sàng mở rộng và dễ dàng bảo trì. Tuy nhiên, việc xác định đúng đắn Structure sẽ sử dụng không hề đơn giản và đòi ...

Tấn công giả mạo GPS sử dụng SDR | Phần 1
Giả mạo tín hiệu GPS là một kỹ thuật không mới và được nhiều nhóm nghiên cứu bảo mật trên thế giới thực hiện kiểm tra và thử nghiệm trên môi trường thực tế. Tuy nhiên, việc tấn công trên một khu vực rộng lớn yêu cầu các thiết bị phần cứng giá thành cao, hoạt động công suất lớn với mục đích dùng ...

Custom Rails Validator
Vừa rồi mình có gặp một yêu cầu là khi tạo name cho group thi không được có các từ bậy bạ, các từ thô tục trong đó. Nên mình đã tìm hiểu và viết một cái validation cho riêng trường hợp này. 1. Các class kế thừa khi tạo 1 class validator ActiveModel::Validator || ...

Kotlin for Android: combined with Rx - The awesome way
TATA, có lẽ hơi muộn màng khi đến bây giờ Google mới chính thức lên tiếng về việc support Kotlin Google I/O 2017 , anw, đối với "fan" Kotlin, đây thực sự là một điều tuyệt vời, rồi chúng ta sẽ thấy sự trỗi dậy mạnh mẽ của cộng đồng Kotlin, đặc biệt là đối với các developer Android native, khi trước ...

Bài 4: Kiểu phối màu tam giác cân (Split-Complementary hoặc Compound Harmony)
Kiểu phối màu này sử dụng kết hợp giữa kiểu 1: Tương phản (complementary) và kiểu 2. Tương tự (Analogous), bằng cách làm như sau: Bước 1: Chọn 1 cặp tương phản Bước 2: Thay 1 một màu trong cặp màu tương phản đó bằng bằng 2 màu bên cạnh của nó. Tại sao lại có loại phối màu này? Thứ 1 nó làm ...