Welcome to Viblo
Free service for technical knowledge sharing
Join us to find useful information required to perfect your skill
Get started
![Destructuring Assignment ES6](https://viblo.asia/uploads/3f6379e8-7c8b-43ea-bcea-698009f1bfd4.png) Introduction ES2015 (hay còn gọi với cái tên quen thuộc hơn là ES6) giới thiệu khá nhiều thay đổi về mặt cú pháp giúp cho việc trình bày logic trở nên gọn gàng và dễ hiểu hơn. Một trong những thay đổi đó là việc giới thiệu một cú pháp mới - Destructuring hay Destructuring Assignment với tên gọi đầy đủ. Chắc hẳn chúng ta đã khá quên thuộc với các phép gán (assignment), vậy việc thêm từ ...
67 0 0
1
Pagespeed Optimization (tối ưu hóa tốc độ trang) là một công việc mà hầu như mọi Web developer đều quan tâm và nên biết, mục đích của nó là đưa nội dung website đến với người xem nhanh nhất có thể. Front-end developer thường làm việc với HTML, CSS, Javascript và các hình ảnh. Do đó, đây cũng là các đối tượng chính để chúng ta tối ưu tốc độ tải trang cho website. Tốc độ tải trang của website ngoài các yếu tố liên quan do server thì còn phụ thuộc vào kích thước và số lượng file phải tải về, do ...
9 0 0
2
![alt](https://media.licdn.com/mpr/mpr/jc/AAEAAQAAAAAAAAlUAAAAJDI2NmFkOTAzLWFmNjgtNGYyZS05MGExLTIwMWJlMTdkMTkzNw.jpg) Chapt 2 - Exquisite Tiếp tục cho nội dung phần trước, tôi bổ sung thêm một vài yếu tố vào mục Cẩm nang này của chúng ta nhé. Luôn sử dụng những câu văn thông báo giúp người dùng nhận biết mình sẽ có thể làm gì. Điều rất quan trọng ở đây chính là phải vẽ ra cho người dùng một cái nhìn rõ ràng nhất phạm vi hành động mà nngười dùng sẽ biết thực hiện luôn. Chỉ rõ sau một ...
6 1 0
1
Trang web của bạn đang thu hút được người xem, và bạn đang phát triển nhanh chóng. Ruby on Rails là ngôn ngữ lập trình của bạn lựa chọn. Nhóm của bạn là lớn hơn và bạn muốn tránh "fat models, skinny controllers" như là một phong cách thiết kế cho các ứng dụng Rails của bạn. Tuy nhiên, bạn vẫn không muốn từ bỏ sử dụng Rails. Không vấn đề gì. Hôm nay, chúng ta sẽ thảo luận làm thế nào để sử dụng thực hành tốt nhất OOP của để làm cho mã của bạn sạch hơn, độc lập nhiều hơn, và tách rời hơn. Có ...
6 0 0
0
Ajax là gì? AJAX là thuật ngữ viết tắt của Asynchronous Javascript and XML ( JS và XML không đồng bộ). AJAX có thể đọc là “trao quyền cho javascript” và thông qua js để cung cấp một công nghệ phía client-script để gọi ngầm một lệnh background để phía server thực hiện và nhận thông tin trả về, update thông tin của trang nhanh mà không cần phải load lại cả trang, rất mất thời gian load lại những cái không cần update. Ưu điểm: Nó giúp việc thiết kế web đa dạng hơn và tăng tính tương tác của ...
7 0 0
0
Dagger2 đang là một thư viện khá quen thuộc với các bạn lập trình andoroid, nên ở bài này, tôi sẽ không nói lại các vấn đề cơ bản nữa. Mà sẽ đi thẳng vào cách mà dagger làm việc luôn. Tìm hiểu cách tạo một class singleton Một Singleton class chỉ tồn tại với một instance duy nhất cho toàn bộ ứng dụng. Trong Dagger2, chúng ta tạo ra một lớp singleton bằng cách chú thích nó với @Singleton annotation. Điều này hoạt động tốt khi chúng ta instantiate class sử dụng constructor injection. Nhưng ...
4 0 0
0
*Chào các bạn, * Hôm nay chúng ta cùng tìm hiểu về Abstract Class trong PHP nhé! I/ Abstract Class là gì ? Lớp trừu tượng trước tiên nó chính là 1 lớp, nhưng nó được gọi là lớp trừu tượng bởi vì: – Lớp này sẽ chứa các phương thức trừa tượng. – Các lớp khác khi kế thừa lớp trừu tượng sẽ phải định nghĩa các phương thức trừu tượng ấy. – Một class chỉ có thể kế thừa 1 lớp trừu tượng. Cú pháp để khai báo 1 abstract class: ```PHP abstract class Database { abstract protected function ...
11 0 0
0
Nếu như với một Designer -Vấn đề UI là vấn đề cốt lỗi. Việc design một giao diện Website đẹp, bắt mắt ,thân thiện, dễ sử dụng là vô cùng quan trọng thì đối với 1 Tester - nhìn, nhận xét , đánh giá ," soi mói" và tìm lỗi thì vấn đề UI cũng là một vấn đề cốt lỗi. Vì vậy để có những testcase " thần thánh" , độc lạ nhưng hợp tình hợp lý, không gây " chia rẻ " nội bộ và " thù hằn" dân tộc thì việc Tìm hiểu UX, UI là việc cần thiết. Dưới đây tôi xin chia sẻ một vài tìm hiểu về ảnh hưởng của UI ...
9 0 0
0
Công nghệ thông tin ngày càng phát triển và có sức ảnh hưởng lớn tới cuộc sống con người, các nhu cầu trao đổi thông tin trên Internet ngày một gia tăng bởi tính tốc độ và tiện lợi của nó, đi cùng với đó là các nguy cơ giả mạo, đánh cắp thông tin, bản quyền bất hợp pháp trên mạng lưới internet gia tăng, nhu cầu cần bảo mật thông tin cũng như bản quyền về các thông tin, sản phẩm trên internet là cần thiết và đang được mọi người quan tâm. Hiện nay giấu thông tin trong ảnh chiếm tỷ lệ lớn nhất ...
12 0 0
0
I. Giới thiệu Như chúng ta đã biết, Swift là một ngôn ngữ mới được phát triển bới Apple. Trước đây khi code bằng Objective-C, chúng ta rất hay gặp phải trường hợp app crash khi sử dụng một object chưa được khởi tạo. Đối với Swift thì khác, đây là một ngôn ngữ “an toàn” - Mặc định Swift chắc chắn rằng chúng ta không thể truy cập trực tiếp vào memory, mọi thứ(instance, variable,…) phải được khởi tạo trước khi chúng ta sử dụng. Mặc dù không được khuyến khích, nhưng chúng ta hoàn toàn có thể ...
15 0 0
0
Tại sao Figaro tồn tại Khi bạn đang sử dụng các loại khác nhau của các dịch vụ thông qua các ứng dụng của bạn, bạn sẽ cần một nơi an toàn để lưu trữ thông tin đăng nhập của bạn. Ví dụ, nếu bạn đã thực hiện e-mail trong ứng dụng của bạn, bạn sẽ cần phải lưu tên và mật khẩu của bạn để ứng dụng của bạn thực sự có thể truy cập vào máy chủ SMTP để gửi e-mail của bạn. Thông thường bạn sẽ lưu trữ tên người dùng và mật khẩu trong các biến môi trường mà bạn có thể quản lý bản thân, giá trị cấu hình ...
16 0 0
0
Chào các bạn, hôm nay mình xin giơí thiệu một gem khá mạnh mẽ trong Rails để tạo chức năng comments. Đầu tiên ta cài đặt những gem cần dùng: mở Gemfile và thêm vào: gem "the_comments", "~ 2.2.1" gem 'haml' # or gem 'slim' gem 'awesomenestedset' # or same gem Sau đó chạy bundle install để cài đặt gem Trong bài viết này mình sữ dụng gem the_comments cho bài post, và mình sẽ có model Post và User Chạy lệnh sau để tạo các bảng cần thiết: rake ...
12 0 0
1
Giới thiệu Sau đây tôi sẽ hướng dẫn các bạn sử dụng thư viện Picasso để load ảnh từ internet trong lập trình android. Picasso là một thư viện mã nguồn mở được sử dụng rộng rãi trong android. Nó được tạo ra bởi Square. Picasso là một trong những thư viện mạnh mẽ nhất trong việc download vad cache ảnh cho android Tạo sao phải sử dụng Picasso Nó đơn giản hoá quá trình tải hình ảnh từ url bên ngoài và hiển thị trên ứng dụng của bạn. Ví dụ, tải hình ảnh từ máy chủ, là một trong những nhiệm vụ ...
13 0 0
0
Một cách hài hước của giáo viên thường hay nói với chúng ta khi chúng ta đã bị mất (hoặc không hoàn thành) bài tập về nhà rằng: "Con chó đã ăn mất bài tập về nhà"?. Đôi khi chúng ta cảm thấy như vậy khi chúng ta không thể tìm thấy dữ liệu thử nghiệm! Có lẽ chúng ta không thể tìm thấy dữ liệu thử nghiệm phù hợp với trường hợp thử nghiệm. Những lần khác, chúng tôi phát hiện ra rằng các dữ liệu thử nghiệm, chúng tôi cần thiết cho một bài test ngay lập tức đã được tiêu thụ. Dù bằng cách nào, ...
24 0 0
0
Xin chào các bạn, hôm nay mình sẽ "tâm thư" với các bạn một vài điểm khác nhau mà mình thấy là ưu điểm của Ruby với một ngôn ngữ vốn là anh cả của lập trình từ xưa đến nay mà trước đây mình cũng đã từng học và làm là Java. Hiện tại kiến thức của mình ở hai ngôn ngữ này cũng chỉ dừng lại ở level "nhập môn", nhưng qua những dòng code mà mình đã có cơ hội thực hành ở cả hai ngôn ngữ thì mình thấy được rõ sự khác biệt giữa chúng. Sau đây là một vài sự so sánh cơ bản để giúp các bạn một phần nào ...
23 0 0
0
User Defined Runtime Attributes Dùng IBInspectable chúng ta có thể sử dụng 1 tính năng rất hay của iOS: user-defined runtime attributes(UDRA). Tính năng này cho phép chúng ta thay đổi trực tiếp các thông số của component trên iOS trên file Xib hay Storyboard Trước khi có IBInspectable để sử dụng UDRA chúng ta phải khai báo các key path, type và value trên file Xib hay Storyboard, và các keypath này phải chính xác tương ứng với các thuộc tính. Để bo góc cho view ta có thể set như sau: Hạn ...
4 0 0
0
Chào các bạn, hôm nay mình xin giới thiệu với các bạn cách thức đơn giản để import, export data từ các file xls hoặc csv trong rails. Đây là giải pháp rất hay được sử dụng khi ứng dụng phải xử lí những data có khối lượng lớn. Những ví dụ thực tế thường áp dụng công việc import data có thể nhắc đến được ngay như import mặt hàng, import thành viên cho hệ thống...Ở những ngôn ngữ khác, vì dụ như Java thì công việc này cũng khá phức tạp nếu như ta dùng Java-Spring Batch với số lượng dòng code ...
5 0 0
0
Nhá hàng trước thành phẩm : Bước 1: rails new message_noti Bước 2 Tạo file views/static_pages/home.html.erb , static_pages_controller.rb , a.css, noti.js Chuẩn bị cho mình một list ảnh "những khuôn mặt dễ thương" :D Bước 3 Copy những nội dung ở bên dưới này vào file tương ứng rồi rails s chạy thử nhé :v Hoặc cuối bài mình có để mã nguồn, các bạn có thể down về tham khảo cũng được :D ``` class StaticPagesController < ApplicationController def home ...
47 0 0
0
Khi bạn phát triển một website application , tính năng đăng tải hình ảnh , avatar ... là một tính đăng quan trọng và cần thiết đều có ở phần lớn các webiste . Trong phần hướng dẫn này , mình sẽ hướng dẫn các bạn sử dụng gem carrierwave trong ROR(Ruby on Rails).Trong phần này mình sẽ chỉ tập trung vào upload và edit hình ảnh . Cài đặt Carrier Gem Mở File gem lên và thêm vào như sau : ``` ... gem 'carrierwave', '~ 0.10.0' // Cung cấp cách cách thức upload ảnh gem 'mini_magick', '~ 4.3' // ...
15 0 1
0
Trongphần trước mình đã giới thiệu công cụ *Github Desktop * và một số thao tác cơ bản, ở phần này mình sẽ tiếp tục giới thiệu về Branch và pull request. Tạo nhánh: Chọn nhánh: So sánh nhánh với nhánh khác: Tiến hành làm việc trên nhánh mới tạo và thực hiện các thao tác bình thường như tron bài viết trước đã hướng dẫn Tạo Pull Request: và đây là kết quả: Trên đây mình đã giới thiệu cơ bản về việc tạo nhánh và pull request, trong bài viết sau mình sẽ hướng dẫn cụ thể hơn trong việc xử ...
20 0 0
0