Enum trong Rails - con dao hai lưỡi

Với những người đã và đang làm việc với Ruby on Rails, hẳn khái niệm Enum không còn gì xa lạ với các bạn. Enum được đưa vào Rails nhằm mục đích khiến code đọc hiểu dễ hơn, đẩy lùi những con số vô hồn và thay bằng các ngôn từ dễ hiểu. Tuy nhiên Enum cũng có những vấn đề, mà nếu không biết và sử ...

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

Nth character in Concatenated Decimal String

If all decimal numbers are concatenated in a string then we will get a string which looks like string P as shown below. We need to tell Nth character of this string. P = “12345678910111213141516171819202122232425262728293031….” Examples: N= 10 10th character is 1 N = 11 ...

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

[Elasticsearch] integrate elasticsearch with laravel (5.2)

Chào mọi người hôm nay mình sẽ cùng đi vào tìm hiểu chút về một công nghệ tìm kiếm thời gian thực đó là Elasticsearch. Các bạn cũng như mình có thể cũng đã nghe nhiều về từ khóa "Elasticsearch", trước đó mình cũng có nghe qua nó từ bạn bè và có thể một số bài chia sẻ blog nào đó, cũng biết ...

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

Đột nhập vào Server chặn internet outbound

Đã bao giờ các bạn gặp phải tình huống Server cấm tất cả các kết nối ra bên ngoài Internet, chỉ cho phép Internet từ bên ngoài vào trong server thông qua Port public HTTP (80). Title của mình chỉ là để giật tit thôi chứ muốn đột nhập vào server thì ít nhất các bạn cũng phải chôm chỉa ở đâu đó được ...

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

<Selenium 2 Testing Tools> Chương 3: Khái quát về Selenium WebDriver

Ở chương này ta sẽ cùng nhau tìm hiểu về: Lịch sử của Selenium Cấu trúc WebDriver Cách cài đặt môi trường Java Điểm khởi đầu quan trọng Ở chương này, ta sẽ viết test trong Java. Để làm được điều này, ta sẽ cần phải có 1 IDE để viết test. Tôi khuyên bạn nên sử dụng IDEA ...

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

Tâm thư của QA team gửi đến DEV lead và Project Manager

Dear các DEV Lead & PM Công ty chúng ta đang ngày càng phát triển vì vậy số lượng đội ngũ QA/Tester cũng tăng theo hàng tuần hàng tháng. Đó là điều không có gì đáng ngạc nhiên. Đa số là các dự án theo mô hình Agile - là sự kết hợp của Customer, PM, SM, DEV, QA, Design... Dựa vào tính ...

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

Laravel: Tinker

Trong bài viết này, tôi xin giới thiệu với tất cả bạn đọc một tính năng ít đươc biết đến của Laravel, tính năng này giúp bạn nhanh chóng đọc được dữ liệu ngay bên trong project của mình. Đó là Tinker của Laravel, để sử dụng được Tinker chạy lệnh: php artisan tinker Tinker của Laravel ...

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

Cách làm môi trường game hấp dẫn hơn

Người chơi game của bạn sẽ dễ dàng chán nản với game của bạn nếu như không gian game của bạn không thu hút được họ. Trong bài hướng dẫn này, tôi sẽ giúp các bạn đánh bóng thế giới game của các bạn. Có những game lối chơi rất hay, rất có tiềm năng tuy nhiên lại bị kém phát triển bởi vì người làm ...

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

Giữ cho code Rails của bạn gọn gàng và dễ bảo trì hơn với Service Objects

Nếu như bạn đã quen thuộc với Rails, bạn biết rằng nó có một cấu trúc thư mục đã được xác định trước. Rails là một trong những adaptors sớm sử dụng mô hình MVC (Model, View, Controller). Trên thực tế, đó là một trong những điểm mạnh của framework, nó dễ dàng để học khi mọi thứ đã có những vị ...

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

Android Studio với Cmake build Ndk

I.Cross Compiling cho Android Một tập tin toolchain có thể cấu hình qua compiling cho Android bằng cách thiết lập biến CMAKE_SYSTEM_NAME cho Android. Cấu hình nào cụ thể cho các môi trường phát triển Android sẽ được sử dụng. Đối với Visual Studio Generators , CMake phải được cài đặt trên ...

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

Polymorphic Association in Rails 5

Một trong những chủ đề mà các bạn mới bắt đầu với rails thường gặp khó khăn là Polymorphic Association trong Rails, bài viết sau hướng dẫn các bạn cách viết chức năng comment cho các object khác nhau dùng Polymorphic Association. Polymorphic Associations là gì? Quan hệ đa hình, khái niệm của ...

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

[Become a SuperUser - Part 0] Unix vs Linux. Nguồn gốc và sự khác biệt

Thời gian gần đây, tôi có nhiều hứng thú và muốn tìm hiểu về Infrastructure , một lĩnh vực tôi thấy là quá sức rộng lớn nhưng mà kiến thức bản thân thì quá ư là hạn hẹp (facepalm). Sau một vài tháng tìm hiểu, học tập, đọc sách, tôi cảm thấy thế giới của Linux thật là hấp dẫn và lôi cuốn. Tôi ...

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

Introduction about Pjax and Tubolinks in rails (Part II)

Sau phần đầu mang tính chất giới thiệu tổng quan về pjax và tubolinks, trong bài viết này tôi xin giới thiệu chi tiết thêm về pjax cũng như đưa ra một vài ví dụ nhỏ giúp mọi người có thể hình dung dễ dàng về Pjax. Pjax sử dung Ajax để load lại một phần trang web. ĐIều này không có gì mới mẻ, ...

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

Giới thiệu Lambda Expression trong Java 8

Lamda Expression là một hàm không có tên (unamed function) với các tham số (parameters) và nội dung thực thi (body). Nội dung thực thi của Lamda expression có thể là 1 khối lệnh hoặc 1 biểu thức. Dấu “->” tách biệt các tham số và nội dung thực thi. Ví dụ: (int x) -> x + 1 Có ...

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

Những mẹo nhỏ trong unity phần 4

Chào các bạn! Như đã hứa ở phần trước, hôm nay mình xin giới thiệu tiếp tới các bạn 1 số mẹo nhỏ dùng trong unity. Những mẹo nhỏ này là những plugin, những thủ thuật nho nhỏ kinh nghiệm của mình trong quá trình làm việc với unity giúp làm việc nhanh hơn, hi vọng có thể giúp các bạn có cái ...

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

Free App Chat with PubNub and AngularJS - Part 3

AngularJS App Chat với số người tham gia hoặc rời phòng chát một cách realtime. Các bạn đang ở part 3 của Pubnub series, và chúng ta đang đi xây dựng một chat app hoàn chỉnh với PubNub's AngularJS SDK Ở phần trước chúng ta đã đi tìm hiểu cách hiển thị những tin nhắn trước đó bằng cách cuộn ...

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

Design Pattern in Swift - Factory method

Design Patern trong lập trình được hiểu đơn giản là các phương thức khai thác thác thế mạnh của ngôn ngữ giúp lập trình viên tối ưu code, dễ dàng cho việc maintain hoặc expand về sau. Bắt đầu từ số này, tôi sẽ viết một series các design pattern trong Swift, như một cách để tự giúp bản thân học hỏi ...

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

5 MUST-HAVE ANDROID LIBRARIES

Libraries are an integral part of mobile application development. They lessen the burden of unnecessary coding for features that are already written by someone somewhere out there, hence minimizing the development time and making way for rapid deployment. A good developer never reinvents the ...

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

Monad và cách sử dụng để tái cấu trúc code ruby

monads xuất phát từ lập trình hàm (Functional Programming - FP).Thông thường mọi người nhắc đến monads như là một thứ gì đó rất cao siêu và khó hiểu, tuy nhiên thực chất nó lại rất đơn giản. Ở bài viết này tôi sẽ giải thích thế nào là monads và sử dụng nó để tái cấu trúc lại một số code ruby. ...

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

Series Hướng Dẫn Lập Trình Ruby on Rails (Phần 3)

Hôm nay mình sẽ tiếp tục với Series hướng dẫn lập trình Ruby on Rails phần 3, ở phần này mình sẽ hướng dẫn các bạn luồng hoạt động của Rails Framework thông qua một ứng dụng login đơn giản. Rails là một framwork được xây dựng dựa trên mô hình MVC, đầu tiên mình sẽ giới thiệu để các bạn nắm được ...

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