Blade template vs Twig template
I. Giới thiệu Blade Template và Twig Template Blade là template engine mặc định của Laravel Framework (kể từ Laravel 2 năm 2011). Cú pháp của Blade được lấy cảm hứng từ cú pháp ASP.NET Razor và được cải thiện để template được viết ra một cách rõ ràng hơn. Nhưng cú pháp chỉ là một phần, lợi ích ...
Mẹo hay với những lập trình viên mới học Python
Bạn có trong quá trình học Python? Nó là một ngôn ngữ tuyệt vời để tìm hiểu, nhưng như với bất kỳ ngôn ngữ, nó cũng có những thách thức riêng. Với tất cả các cách khác nhau làm việc trong Python, chúng tôi quyết định biên soạn một danh sách hữu ích về các vấn đề mà người mới bắt đầu học Python ...
Làm quen với Web API 2 trong .Net
1. Web Api là gì Asp.net Web Api là một framework giúp cho việc xây dựng HTTP service một cách dễ dàng. Chúng có thể phát triển cho nhiều clients khác nhau như trình duyệt, mobile app. Web api là một nền tảng để phát triển các ứng dụng dựa trên Restfull service trong .Net. Các bạn có thể hình ...
Tìm hiểu về Material Design (phần 1)
Material Design là một phong cách thiết kế mới được Google giới thiệu cùng lúc với phiên bản Android 5.0 Lollipop. Phong cách thiết kế Material Design nhắm đến những đường nét đơn giản, sử dụng nhiều mảng màu đậm nổi bật, các đối tượng đồ họa trong giao diện dường như: “trôi nổi” lên. ...
Tìm hiểu Fragment Caching trên Rails 4.2
1.Giới thiệu Fragment Caching là cơ chế bộ nhớ đệm được nhiều lập trình viên sử dụng nhất. Những dòng code giống nhau sẽ trả ra kết quả 1 cách nhanh chóng hơn. Nhưng mặt khác nó cũng rất khó để debug cũng như nếu không sử dụng hợp lý sẽ dẫn đến quá tải resource. Qua bài viết này tôi muốn hướng ...
Thuật ngữ SEO (phần 1)
Để hiểu rõ về một lĩnh vực nào đó thì việc nắm bắt và hiểu các thuật ngữ được dùng trong lĩnh vực đó là 1 việc cực kỳ quan trọng. SEO cũng không phải là 1 ngoại lệ. Ở đây tôi sẽ list ra danh sách các thuật ngữ thường hay được sử dụng trong SEO. Hi vọng nó sẽ giúp ích được ít nhiều cho các bạn đặc ...
Single Table Inheritance trong Rails 4 (Phần3)
Trong bài viết trước, chúng tôi đã hướng dẫn việc tạo controller chung và xác định view index. Trong bài này, chúng tôi sẽ bổ sung thêm các view còn thiếu và thấy một số thủ thuật để xử lý đường dẫn cho các model STI. Tạo các đường dẫn động trong file helpers Trước khi thêm các view khác, ta ...
Ways for securing Laravel Application
Security Security is the degree of resistance to, or protection from, harm. It applies to any vulnerable and valuable asset, such as a person, dwelling, community, item, nation, or organization. As noted by the Institute for Security and Open Methodologies (ISECOM) in the OSSTMM 3, security ...
Tìm hiểu về Data Binding trong Android – Phần 1
Nhiều người chuyển từ . Net sang Android đều có một thắc mắc là trong android có Data Binding không? Rất may cho chúng ta là sau khi android M được ra đời thì Data Binding cũng được hỗ trợ. Và giờ chỉ cần định nghĩa nguồn dữ liệu, tự chúng sẽ hiển thị theo data tương ứng. Data Binding là ...
Tội phạm máy tính: Xưa và nay
Bài viết dịch từ blog: Computer Crime, Then and Now của tác giả Jeff Atwood. Tôi đã viết về sự chơi bời thời trẻ của mình với mặt bất hợp pháp của máy tính vào cuối những năm 1980. Nhưng đó có phải tội ác? Tôi có thật sự là một tội phạm? Tôi không nghĩ vậy. Hoàn toàn thẳng thắn, tôi chưa đủ tài ...
Security Test
Khái niệm Là quá trình nhằm tìm kiếm lỗ hổng trong cơ chế bảo mật của hệ thống thông tin để bảo vệ dữ liệu và duy trì các chức năng như dự định. Security test cũng là một loại non-functional testing Mục đích & các loại Security Test Mục đích của Security Testing Tìm ra các ...
So sánh sự khác nhau giữa ObjectiveC và Swift (Phần 2)
Nội dung Giới thiệu Classes and Structures Structures Computed Properties Tổng kết Giới thiệu Qua phần 1 chúng ta đã tìm hiểu về lịch sử phát triển của hệ điều hành iOS cùng các khái niệm cơ bản của Swift - ngôn ngữ mới Apple sử dụng để phát triển hệ điều hành iOS. Ở phần 2 này ...
Lập trình hướng giao thức trong swift 2
Giới thiệu Với việc phát hành Swift 2, Apple đã thêm một loạt các tính năng mới và khả năng cho ngôn ngữ lập trình Swift. Một trong những quan trọng nhất, là một phần cải tiến của protocols. Các chức năng được cải thiện có sẵn với Swift protocols cho phép một cách nhìn lập trình mới, ...
Active Record scopes
Scope được dùng khá phổ biến trong Rails. Scope khá giống với class methods khiến nhiều bạn nhầm lẫn, vậy scope là gì và sử dụng như thế nào cho đúng? Scope là một phần được support bởi Active Record. Scope thường định nghĩa các query dùng chung và có thể gọi từ association objects hoặc model. Về ...
Tìm hiểu về N + 1 Query
Rails có thể nói là một sự lựa chọn phổ biến nhất khi bạn muốn phát triển một sản phẩm có thể sử dụng được ở mức độ vừa phải nhất (Minimum Viable Products). Bạn có thể sử dụng bootstrap, prototype, và phát hành một ứng dụng rất dễ dàng với Rails, và nó cũng là sự lựa chọn của rất nhiều lập trình ...
Server Send Event
As for web application grew over the past few years, the need for real time data update has been increased. Web apps we use every day rely on real-time features—the sort of features that let you see new posts magically appearing at the top of your feeds without having to lift a finger. Polling ...
Tìm hiểu về Scope và Class method trong Ruby
1. Khái niệm Scopes là cách viết rút gọn của câu truy vấn dữ liệu trong Rails. Chúng được sử dụng thường xuyên khi chúng ta muốn lấy ra các đối tượng dữ liệu từ cơ sở dữ liệu. Ví dụ về scope: scope :published , - > { where ( status : "published" ) } Về bản chất, Rails ...
Xây dựng ứng dụng React bằng Redux
Redux là gì? Redux là một thư viện giúp bạn quản lí trạng thái (state) của application. Nó được thiết kế dựa trên Flux, nhưng giảm bớt những đau khổ thường gặp phải khi viết một ứng dụng Flux. Nếu bạn đã từng làm việc với Flux, bạn sẽ dễ dàng nhận ra rằng Redux đã xây dựng sẵn cho bạn rất nhiều ...
Sử dụng RequireJS và AMD để module hóa code JavaScript
Trong quá trình phát triển Web, chắc chắn bạn sẽ phải làm việc với JavaScript. Theo thời gian, cùng với sự phát triển của dự án, code JavaScript cũng càng ngày càng phức tạp. Bài viết này sẽ trình bày một thư viện sẽ giúp chúng ta module hóa code JavaScript để giúp nó dễ bảo trì hơn, đó là sử ...
Memory leaks trong Javascript Pt2
Bài viết này là phần tiếp theo của Memory Leaks trong Javascript Garbage Collectors (bộ dọn rác) Mặc dù GCs giúp chúng ta không phải quản lý bộ nhớ bằng tay nữa, tuy nhiên ta cũng sẽ phải đánh đổi lại một vài thứ. Một trong số đó là việc các GCs hoạt động theo một cách khó đoán biết. Thông ...