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ó. ...

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

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 ...

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

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ó ...

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

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 ...

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

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ác giả: Trịnh Tiến Mạnh viết 16:30 ngày 12/08/2018

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ẽ ...

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

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ư ...

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

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" ...

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

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 ...

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

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ì ...

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

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ác giả: Tạ Quốc Bảo viết 16:30 ngày 12/08/2018

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 ...

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

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 ...

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

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ó ...

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

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 ...

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

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ác giả: Bùi Văn Nam viết 16:30 ngày 12/08/2018

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 ...

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

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 ...

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

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ị ...

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

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ả ...

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