
Ruby Sorting
Có bao nhiêu cách để sắp xếp một mảng trong Ruby? Nó có nhiều hơn là bạn nghĩ đấy....mặc dù với Array chỉ có 2 phương thức (sort & sort_by), nhưng khi kết hợp các phương thức này với block bạn có thể sắp xếp theo nhiều cách khác nhau. Ở bài viết này tôi muốn chia sẻ một vài ví dụ về nó. ...

Giới thiệu Gem Active Admin
Quản lý ứng dụng (application adminstrantion) là 1 trong những yêu cầu chung của hầu hết cái ứng dụng web. Và việc xây dựng nó cũng tốn khá nhiều thời gian và gây nhiều khó khăn cho các lập trình viên. Vì vậy mình xin giới thiệu 1 gem active-admin với rails sẽ giúp cho các bạn tránh khỏi việc tạo ...

Hoisting Javascript
Bài viết hôm nay của mình để cập đến một tính chất của Javascript đó là Hoisting, vậy Hoisting là gì ?? Hoisting của biến và của hàm khác gì nhau ?? Chúng ta sẽ làm rất rất nhiều ví dụ bên dưới để hiểu rõ hơn nhé (ok) Bắt đầu với ví dụ 1 nào (len) #Ex1: console.log(a); Kết quả không có ...

I did try using "Glitch" service for publishing [Node.js] web applications easily for free!
Glitch is a service for publishing Node.js applications When you try to publish a web application in Node.js, setting up a server and registering a domain ... It is very complicated and take you a lot of time. Glitch can help you to concentrate on visualizing your creativity. Glitch is ...

Everything you should know when design a domain-specific language (Pt. 1): General-purpose vs. Domain-specific
Hello guys, this series is going to discuss about the design and implementation of a domain-specific language (DSL). Actually this is not a new topic all over the world, when studying at the university, me and my partner have created a transpilling language based on Java to overcome the ...

Tập áp dụng TDD cho dự án sử dụng VueJS
1. TDD là gì? "Test-Driven Development” có thể được tạm hiểu là mô hình phát triển với trọng tâm hướng về việc kiểm thử. TDD được xây dựng theo hai tiêu chí: Test-First (Kiểm thử trước) và Code-Later (Code sau) 2. Các bước tiến hành TDD Viết 1 test cho hàm mới. Đảm bảo rằng test sẽ ...

Hàm tham chiếu trong Kotlin: sử dụng hàm như một lambdas khắp nơi
Hàm tham chiếu là sự khác biệt và có bước cải tiến lớn trong Kotlin mà Java không có. Nếu bạn đã từng nghiên cứu hoặc làm việc với Kotlin rồi thì bạn sẽ thấy rằng ** Kotlin hỗ trợ một hàm như một kiểu** tức là Kotlin coi mỗi hàm của chúng ta như một kiểu dữ liệu thông thường, có thể sử dụng nó như ...

Bật công tắc bật tắt đèn chỉ với CSS3
Trong bài viết này tôi sẽ giới thiệu tới các bước để tạo nút bật tắt đèn chỉ với CSS3. Hình dưới đây là kết quả của ví dụ này: Hãy bắt tay thực hiện nào. Cấu trúc HTML Cấu trúc HTML như sau, mình có giải thích trong comment. <div id="lamp"> <input type="radio" name="switch" ...

Laravel 5.5 + Vue.js: Simple CRUD Project
Tháng rồi dự án của mình dần đi vào giai đoạn cuối, cũng không có gì hay ho để khoe khoang với mọi người. Nên kỳ này mình lại quyết định quay trở lại loạt bài tutorial quen thuộc. Chẳng là trong lúc rảnh rỗi ngồi xem lại dự án cũ (Laravel 5.4 + Angular 2) cũng thấy có nhiều cái hay, mình tranh ...

10 lời khuyên cho việc quản lý thời gian trong một thế giới đa nhiệm
Quản lý thời gian là một trong những kỹ năng không có ai dạy cho bạn trong trường, nhưng bạn phải tự tìm hiểu. Nó không quan trọng nữa dù cho bạn sẽ lanh lẹ như thế nào khi bạn không thể sắp xếp thông tin cũng như để tiếp cận nó. Và nó không quan trọng nữa dù cho bạn có kỹ năng tốt như thế nào vì ...

ML: Terminology & K-Nearest Neighbors
Machine learning is a large subject to learn, so before we start diving into it I though it would be best to understand some key terminology first. Key Terminology Gathering data is an important part of ML, data usually made up of multiple measurements for example like weight, height, length, ...

Tự xây dựng hệ thống CI/CD cùng Ansible, Docker và Drone
1. Giới thiệu Trong các bạn, có khá là nhiều người đã dùng qua các hệ thống CI/CD như Jenkins, GitLab CI, Buildbot, Drone, Concourse ... Bài viết này của mình sẽ hướng dẫn các bạn tự tạo một hệ thống CI/CD dựa trên Ansible, Docker và Drone. Trên Viblo đã có sẵn các bài viết về Ansible, Docker ...

Intro to Deep Learning
What is Deep Learning? “Deep learning is a particular kind of machine learning that achieves great power and flexibility by learning to represent the world as nested hierarchy of concepts, with each concept defined in relation to simpler concepts, and more abstract representations ...

Các kí tự đặc biệt trong Regular Expressions (phần 2)
Các ký hiệu còn lại trong biểu thức chính quy: Kí tự Ý nghĩa Khớp 'x' hoặc 'y' Ví dụ, khớp với 'x' trong chuỗi "target x" và 'y' trong chuỗi "target y". {n, m} Kí tự đứng trước phải xuất hiện từ n đến m lần. n và m là số nguyên dương và n <= m. Nếu m bị bỏ qua, nó ...

5 Calendar and Date Picker jQuery Plugins
Calendar và datepicker được các web developer sử dụng rộng rãi và là một trong những phần quan trọng nhất của thiết kế web. Xây dựng một trang web sử dụng các jQuery plugin này rất đơn giản. Dưới đây là 5 jQuery plugin giúp cho thiết kế UI lịch và ngày: FullCalendar CLNDR.js Simple ...

ReactJs - Xây dựng ứng dụng chat và deploy lên web - Phần 2
Ở phần trước mình đã xây dựng demo được một ứng dụng chat cơ bản, các bạn có thể xem lại tại đây https://viblo.asia/p/reactjs-xay-dung-ung-dung-chat-va-deploy-len-web-phan-1-Az45bAvwlxY Phần này sẽ làm thêm 1 chức năng định danh người chat và hiển thị những ai đang online và deploy ứng dụng lên ...

Tôi đã hack 40 website trong 7 phút như thế nào
Đây là bài dịch, bài gốc các bạn có thể xem ở đây : https://hackernoon.com/how-i-hacked-40-websites-in-7-minutes-5b4c28bc8824 Tôi bắt đầu học về bảo mật thông tin và hacking từ mùa hè năm ngoái. Sau một năm kinh qua các cuộc thi CTF, wargame, giả lập kiểm tra thâm nhập (penetration testing ...

Basic Tricks
Trong bài này tôi xin giới thiệu một số lệnh git cơ bản mà chúng ta sẽ hay phải sử dụng tới. 1. Saving State Khi bạn đã tạo 1 project với bộ khung sẵn có, và nó đang chạy ổn đinh. Bạn bắt đầu thực hiện phát triển những chức năng thì bạn hãy lưu lại trạng thái lúc nó đang ổn định nhất: $ git ...

Routing in Angular (P2)
Tiếp nối chuỗi bài về Angular, hôm nay mình xin trình bày về Routing strategies, Route Parameters,... Routing Strategies Cách ứng dụng Angular phân tích và tạo đường dẫn từ và để định tuyến các định nghĩa được gọi là location strategy. (Nó được biết đến với Angular 1là routing modes) Giá trị ...

Creating and working with WebAssembly modules
WebAssembly là một cách để chạy các ngôn ngữ lập trình khác ngoài JavaScript trên các trang web. Trong quá khứ khi bạn muốn chạy code trong trình duyệt để tương tác với các phần khác nhau của trang web, lựa chọn duy nhất của bạn là JavaScript. Trong thực tế, các nhà phát triển có thể sử dụng cả ...