5 sai lầm phổ biến của javascript dev mới

Không phải tất cả các điểm dưới đây thực sự là những sai lầm nhưng tránh chúng sẽ làm cho bạn một lập trình tốt hơn cho chắc chắn. 1. Truthy And Falsy Values Đây là một trong những sai lầm phổ biến mà mỗi lập trình viên đã có thể làm ít nhất một lần trong sự nghiệp viết mã của họ. Hãy nhìn vào ...

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

Top 10 thư viện IOS mà tôi biết.

Trong các project về ios thì các bạn không thể bỏ qua được các thư viện thường dùng để giảm thiểu thời gian và công sức cho bạn khi giải quyết các vấn đề trong dự án của mình. Sau đây mình xin giới thiệu về 20 thư viện mà mình biết và đã tiếp xúc. Alamofire Khi nói đến các thực hiện request ...

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

Xây dựng ứng dụng Web sử dụng Laravel 5 và AngularJS - phần 2

Chào các bạn! Trong phần một, ,mình đã tạo ra migration và seeder, chúng ta đã có một database đầy đủ dữ liệu. Trong phần 2 này, mình sẽ tiến hành tạo ra router, controler RESTful, các function để thao tác với database một cách chi tiết nhất. Các bạn có thể xem lại phần 1 tại đây. Chúng ta bắt ...

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

Ckeditor trong rails

Giới thiệu Xin chào các bạn hôm nay mình xin giới thiệu đến các bạn một GEM rất hữu ích trong việc chỉnh sửa và soạn thảo nội dung văn bản của ứng dụng sử dụng Ruby On Rails đó là Ckeditor. Ckeditor là một gem rất hữu ích trong việc soạn thảo các form text. Nó hỗ trợ rất nhiều trong việc tạo ra ...

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

Google Place API (P1) - Place Autocomplete

Google Place API là một trong những hàng trăm API tuyệt vời mà Google cung cấp cho nhà phát triển phần mềm, với thông tin chi tiết về hơn 100 triệu địa điểm. Google Place API gồm có 3 công cụ: Place Picker, Place Autocomplete, Place Details: Place Picker cho phép người dùng tìm kiếm các địa ...

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

Bảo mật trong ứng dụng Ruby On Rails

Framework được thiết kế với mục đích chính là để giúp các web developer xây dựng các ứng dụng web. Mặc dù có rất nhiều Framework có sẵn nhưng khản năng phát hiện ra các lỗ hổng như CSRF hoặc giả mạo nội dung (chúng ta không nói về XML Entity và Paramater Pollution) là rất cao. Mặc dù được trang bị ...

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

Concern is not concerning

A few weeks ago, while working in project, I also stumbled upon a nice refactoring pattern that I didn’t know. This pattern is based on the simple idea of Ruby modules and mixins, but is particularly handy when it comes to dealing with class methods and callbacks. It is using ...

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

Tránh Viết SQL Khi Sử dụng ActiveRelation

ActiveRelation, công cụ tìm kiếm và truy vấn của ActiveRecord, là một công cụ mạnh mẽ và linh hoạt. Thay vì... ... viết 1 chuỗi SQL trực tiếp vào bên trong ActiveRelation#where Person.where("name = #{ params[:name] } AND hidden_at IS NULL") Hoặc ... viết 1 chuỗi SQL và sử dụng 'array ...

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

Tìm hiểu về blocks và yield trong Ruby

Về cơ bản, blocks trong ruby là một cách để nhóm các câu lệnh sao cho chúng ta có thể kết hợp với các lời gọi phương thức như thể chúng là các tham số. Ruby cung cấp hai cách để viết blocks là: Sử dụng dấu {} đối với những blocks ngắn gọn có thể viêt trên một dòng. array = [1,2,3,4] Sử ...

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

Tìm hiểu Sed cơ bản

1. Giới thiệu Đối với những hệ điều hành nhân Linux, sed stream editor thường được trang bị đi kèm. Đây là một trình biên soạn văn bản thực hiện những thao tác chỉnh sửa đối với dữ liệu đến từ một đầu vào chuẩn hoặc một file text. sed sẽ tiến hành chỉnh sửa lần lượt từng dòng và theo cách thức ...

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

Tìm hiểu về gradle

Trong quá trình phát triển phần mềm, việc tự động hóa quá trình build và quản lý các thư viện rất quan trọng, nhằm tối ưu hóa công đoạn biên dịch, đóng gói; thuận tiện hơn cho việc phát triển phần mềm, cũng như maven và gradle cũng là một trong những công cụ đó. Năm 2000, Apache Ant ra đời như ...

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

Understanding Spring AOP

Chúng ta đã quá quen thuộc với khái niệm OOP "lập trình hướng đối tượng". Vậy AOP là gì? mục đích của AOP là như thế nào? AOP là từ viết tắt của Aspect Oriented Programing " Ngôn ngữ hướng khía cạnh" AOP phát triển dựa trên OOP chứ không phải ra đời nhằm thay thế OOP, đó là phần bổ sung cho OOP ...

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

Custom operators in Swift

Few Swift features cause as much heated debate as the use of custom operators. While some people find them really useful in order to reduce code verbosity, or to implement lightweight syntax extensions, others think that they should be avoided completely. Love ’em or hate ’em — either ...

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

Tìm hiểu về routing trong Rails

Giới thiệu Routing là tính năng điều hướng một URL vào một phương thức nhất định, tính năng routing có trong hầu hết các web framework phổ biến. Trong Ruby on Rails, routing được định nghĩa trong file config/routes.rb, được viết bằng ruby thuần và có thể hoạt động vơi mọi web server. Vì thế, việc ...

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

Xử lí callback hell trong Javascript

Code kiểu chọc mù mắt như thế này gọi là "callback hell"! function foo(cb) { cb(); } function bar(cb) { cb(); } function olala(cb) { cb(); } function do_it(){ foo(function() { bar(function() { olala(function() { console.log("aizz.... ==!"); ...

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

Giới thiệu Typescript - Sự khác nhau giữa Typescript và Javascript

Typescript là gì? Typescript là một dự án mã nguồn mở được Microsoft phát triển, được xem là một phiên bản nâng cao của Javascript. TypeScript là một ngôn ngữ giúp cung cấp quy mô lớn hơn so với JavaScript. Vì sao lại được xem là phiên bản nâng cao của Javascript? Vì nó được bổ sung những tùy ...

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

Bài 16 - Một số CSS3 hover effect đẹp (Phần 4)

Chào các bạn! Sau kỳ nghỉ tết Nguyên Đán vui vẻ, tích lũy tràn đầy năng lượng, chúng ta tiếp tục quay trở lại với seri vui mắt này. Hôm nay mình sẽ giới thiệu tới các bạn thêm một số effect mới. 1. Effect 8 Để bắt đầu với effect này, chúng ta cùng đi từ phần HTML nhé. Cũng giống như các effect ...

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

[iOS] [Swift] Tôi không biết phải viết gì cả.

"Tôi không biết phải viết gì cả! Tôi thật sự đã suy nghĩ rất nhiều nhưng vẫn không biết viết cái gì cả". Đó là điều mà hầu hết người ở xung quanh mình khi đến ngày phải viết Viblo. Nhưng, đối với bản thân mình, thì viết hay không nó cũng bình thường, không có gì phải lo lắng cả </p> <div class= Tác giả: Trịnh Tiến Mạnh viết 17:03 ngày 12/08/2018

Phép kết trong đại số quan hệ

Ở phần trước mình đã giới thiệu với các bạn các phép toán tập hợp trong đại số quan hệ. Đó đều là các phép toán cơ bản nhưng cũng là nền tảng để thực hiện các phép toán khác phức tạp hơn. Khi làm việc với một cơ sở dữ liệu, việc kết hợp quan hệ với nhau để đưa ra kết quả đắp ứng một yêu cầu nào đó ...

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

Command Pattern trong Ruby

Mục đích của Command pattern Đầu tiên, việc hình thành ra các design patterns là một "phát minh" lớn đối với các developer, bởi nó cung cấp chuẩn hóa cho việc giải quyết các vấn đề. Và như mọi người cũng có đọc qua thì quyển sách Gang of four là quyển sách đầu tiên đưa ra các khái niệm về design ...

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