Parse JSON với ObjectMapper

Ngày nay JSON (JavaScript Object Notation), với các ưu điểm như dễ sử dụng, dễ đọc đã trở nên cực kỳ phổ biến trong việc giao tiếp dữ liệu giữa các web service. Dưới đây là một ví dụ về 1 dữ liệu JSON: [ { "product" : { "name" : "Keyboard" , "price" : 12 ...

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

Vim cho người mới bắt đầu

Tản mạn Mình biết đến Vim đã khá lâu, từ đợt còn học năm 2 đại học. Có lần lên lớp thấy thằng bạn cùng lớp "biểu diễn", lúc đó cũng thấy lạ lạ hay hay. Cảm giác xem nó code mà không hiểu nó gõ gì mà thao tác cứ nhanh như máy vậy, nhiều lúc không hiểu nó bấm gì mà có thể nhập, xóa, di chuyển con ...

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

Eloquent: relationships in laravel-Phần 2

Phần 1: https://viblo.asia/trung.nn.92/posts/PdbGnoEdeyA Polymorphic Relations Cấu trúc bảng Quan hệ đa hình cho phép 1 model thuộc về nhiều hơn 1 model khác. Ví dụ, hãy tưởng tượng users của ứng dụng của bạn có thể "comments" cả post và video. Sử dụng các mối quan hệ đa hình, bạn có thể ...

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

Cách sử dụng Sprite Packer trong Unity

1. Giới thiệu Theo mình hiện tại Unity là một engine khá phổ biến vì những điểm mạnh của nó như là đơn giản , dễ sử dụng , có thể build cho nhiều nền tảng , cộng đồng hỗ trợ lớn, ... . Nhưng bên cạnh đó khi làm việc với Unity một thời gian thì mình thấy có một hạn chế là dung lượng của game ...

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

Quản lý các bên liên quan trong dự án (Project Stakeholder Management)

Introduction Quản lý các bên liên quan trong dự án (Project Stakeholder Management) bao gồm các qui trình cần thiết để : xác định người, nhóm, hoặc tổ chức mà có thể ảnh hưởng hoặc bị ảnh hưởng bởi dự án. Phân tích mong muốn và ảnh hưởng của các bên liên quan lên dự án Xây dựng chiến lược ...

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

Autolayout Visual Format Language

1. Introduction Bài hướng dẫn này dành cho những bạn đã có kiến thức cơ bản về Autolayout, nếu bạn chưa có kiến thức về Autolayout nên tìm hểu về Autolayout trước khi đọc bài này. Visual Format Language là ngôn ngữ declarative sử dụng để định nghĩa các Auto Layout constraints cho các view. Giống ...

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

Estimate công việc thế nào để không bị Stress???

Lời tựa: Hiện nay, những mô hình quản lý mới như: Scrum, Agile...v.v đang ngày càng được ứng dụng rộng rãi trong việc phát triển phần mềm. Mục đích chung của các mô hình này đều hướng đến việc tạo ra sản phẩm tốt, bàn giao cho khách hàng đúng deadline. Tuy nhiên, trong quá trình phát triển, cũng ...

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

Tìm hiểu preload, eager_load, includes, references, and joins in Rails

Việc lấy dữ liệu bằng My Sql mà yêu cầu cần liên kết từ hai bảng trở lên hẳn là quá quen thuộc với lập trình viên chúng ta. Tuy nhiên, mỗi lập trình viên lại thường phát triển ứng dụng của mình trên một framework nhất định tương ứng với ngôn ngữ được sử dụng. Mỗi một framework đó lại cung cấp những ...

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

Sử dụng SASS để viết CSS chuyên nghiệp và hiệu quả

CSS Preprocessor là gì? CSS Preprocessor là một ngôn ngữ kịch bản mở rộng của CSS và được biên dịch thành cú pháp CSS giúp bạn viết CSS nhanh hơn và có cấu trúc rõ ràng hơn. CSS Preprocessor có thể giúp bạn tiết kiệm thời gian viết CSS, dễ dàng bảo trì và phát triển CSS,... SASS là gì? ...

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

Làm thế nào kiểm soát danh tính người dùng trong Microservices

Mọi người đều cảm thấy thích thú về Microservices, nhưng việc cài đặt trong thực tế là khá khó. Có lẽ lý do chính là mọi người không hiểu rõ rằng làm thế nào mà các services có thể giao tiếp với nhau, đặc biệt hơn là lưu trữ được thông tin danh tình người dùng và quản lý truy cập trên một biển các ...

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

Giới thiệu về Reactive cocoa

Gần đây chúng ta được nghe nói nhiều về Reactive cocoa. Theo như mình hiểu thì Reactive Cocoa là một Design Patterns mới được xây dựng dựa trên các Function. Nó là sự kết hợp giữa hai phong cách lập trình. Functional Programming Reactive Programming Từ phiên bản ReactiveCocoa 2.x mang lại ...

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

Tìm hiểu về giao thức TLS - Transport Layer Security, mô hình thuật toán RSA

1. Giao thức TLS Tiêu chuẩn TLS - transport layer security hay còn gọi là giao thức bảo mật tầng giao vận. Giao thức này được phát triển dựa trên tiêu chuẩn SSL v3.0 (Secure Socket Layer) Giao thức TLS phiên bản v1.0 (TLS v1.0) do tổ chức Internet Engineering Task Force (IETF) công bố tại ...

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

Sự tin tưởng và tầm quan trọng trong dự án đối với người kỹ sư cầu nối

1. Lời mở đầu Trong các mối quan hệ xã hội, sự tin tưởng là cái gốc của mọi vấn đề. Cách suy nghĩ, cư xử của bạn với một ai đó tuỳ thuộc rất nhiều vào sự tin tưởng của bạn đối với người đó. Người bạn tuyệt đối tin tưởng bạn sẽ không ngại ngần bộc bạch tất cả tâm sự. Người bạn quen sơ, bạn ...

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

Routing Single Page Application với UI-Router trong AngularJS

1.UI-Router là gì? UI-Router là một “routing framework” cho AngularJS. UI-Router là một sự thay thế hoàn hảo cho module ngRouter trong AngularJS để xây dựng các trang web dạng SPA (Single Page App). Trong khi ngRouter hoạt động dựa trên routes URL thì UI-Router tổ chức dữ liệu thành ...

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

SQL Injection

I) SQL Injection là gì? SQL injection là một kỹ thuật cho phép những kẻ tấn công lợi dụng lỗ hổng của việc kiểm tra dữ liệu đầu vào trong các ứng dụng web và các thông báo lỗi của hệ quản trị cơ sở dữ liệu trả về để inject (tiêm vào) và thi hành các câu lệnh SQL bất hợp pháp. SQL injection ...

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

Tìm hiểm gem Wicked trong Rails

1. Giới thiệu Trong Rails, rất nhiều trường hợp chúng ta phải phá vỡ RESTful để thực hiện step by step một công việc nào đó. (Ví dụ: Khi muốn tạo mới một object bạn muốn có thể preview thông tin của object đó trước khi save lại. Trong trường hợp này bạn phải tạo thêm một hàm preview trong ...

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

Refactoring good practices

Xin chào các bạn! Chắc hẳn chúng ta trong quá trình làm dự án cũng không ít lần thực hiện việc refactor code. Việc này đôi khi là để cho code trông dễ đọc và "pro" hơn, nhưng đôi khi là rất cần thiết để tránh phát sinh lỗi không đáng có. Hôm nay mình xin giới thiệu với các bạn một bài viết trên ...

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

Tạo Breadcrumbs cho trang web với Gem Gretel

Nói nôm na nó chính là phần tô màu vàng. Thực chất breadcrumbs là 1 danh sách các links (thẻ a). Mỗi thẻ a thường link đến 1 trang nào đó trong website của mình. Thực chất, Bạn có thể tạo breadcrumbs bằng cách tạo ra 1 danh sách các links ở trên mỗi view bạn viết. Nhưng nếu làm vậy thì ...

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

Canvas trong Android (Phần 2)

Trong phần I mình đã có giới thiệu với các bạn 1 số cách vẽ sử dụng Canvas đơn giản. Tiếp tới phần này mình sẽ hướng dẫn các bạn tiếp về các cách vẽ Canvas nâng cao hơn. V. Vẽ các đối tượng hình ảnh, text lên canvas 1. Draw Bitmap Các phương thức dùng để vẽ bitmap lên Canvas ...

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

Hướng dẫn Build một image đơn giản từ Dockerfile.

Chỉ định bài viết dành cho những người mới làm quen với Linux nói chung và docker nói riêng Docker là gì và công dụng của nó như thế nào thì có lẽ mình không cần nhắc lại làm gì. Các bạn có thể tra google với từ khóa Docker thì sẽ có được câu trả lời. Trong bài viết này mình sẽ hướng dẫn cách ...

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