Tìm hiểu về việc thiết kế một hệ thống web

Giới thiệu Các công ty vận hành các dịch vụ web có nhiều người dùng tổ chức máy chủ như thế nào để đáp ứng được yêu cầu của dịch vụ. Bài viết tóm tắt ở mức khái quát kiến trúc phổ biến của dịch vụ web, qua đó trả lời cho câu hỏi trên. Kiến trúc phổ biến của một dịch vụ web Có vài chú ý ...

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

Tự viết plugin cho Sublime Text

Giới thiệu Chắc không cần phải giới thiệu nhiều, Sublime Text (ST) là một một trình editor vô cùng mạnh mẽ, nó là mở đầu cho ra đời của một số editor hiện đại khác như Atom, VS Code... Ngoài các tính năng phong phú, hữu ích, ST còn có một bộ sưu tập rất nhiều các plugin. Tôi hay sử dụng ST để ...

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

Phương pháp không cho phép scrollTop khi sử dụng browser back button trong project React + Redux

Trong dự án về React + Redux, về cơ bản nếu chúng ta chuyển page thì sẽ scrollTop nhưng có những trường hợp sẽ không muốn cho scrollTop với browser back button ...Việc implement cho những trường hợp như thế đơn giản hơn nhiều so với những gì chúng ta nghĩ. Note: Lời mở đầu Sửa lại Root.js ...

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

Configuring Webpack for React Development

Introduction React là một thư viện front-end khá phổ biến và được sử dụng khá nhiều trong các ứng dụng web hiện đại. Nếu tìm kiếm trên Viblo, chắc hẳn bạn sẽ thấy khá nhiều bài viết hay về React. Tương tự như React, Webpack là một công cụ module bundler đang phát triển khá nhanh trong thời ...

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

Freeze trong Ruby

Thời gian gần đây, khi đọc một số bài viết về ROR của các blogger hay trên các diễn đàn công nghệ, thì bắt gặp việc các developer sử dụng freeze ngày càng nhiều. Bài viết này được viết với hy vọng người đọc sẽ tìm được lời giải thích hợp lí cho việc tại sao phải dùng, và dùng freeze thế nào cho ...

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

Sử dụng Popovers trong react-bootstrap

I. Tổng quan về Popovers Popovers là một meta component của bootstrap hỗ trợ tạo một popup nhỏ có nội dung như một chú thích của một phần tử trong trang. Popovers được sử dụng rất dễ dàng với cấu trúc đơn giản như dạng html. II. Cài đặt Popovers là một component của bootstrap, vì vậy ...

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

Bắt Đầu với Javascript (P1)

Phần này sẽ giới thiệu về JavaScript và thảo luận về một số khái niệm cơ bản. 1. Những gì bạn cần biết về Javascript. Để học tốt javascript thì bạn nên cần chuẩn bị cho mình các nền tảng sau trước khi học javascript: Sự hiểu biết chung về Internet và World Wide Web (WWW). Có kiến thức ...

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

Một số tip hữu ích javascript

Chuyển đổi kiểu dữ liệu sang boolean. Đôi lúc ta cần kiểm tra một biến có tồn tại hoặc giá trị của nó có hợp lệ hay không. Để làm như vậy ta có thể dùng toán tử !! . Nó sẽ trả mọi kiểu dữ liệu về dạng boolean. Nó trả về false nếu những giá trị truyền vào là "", null, undefined, 0, NaN. Ngược ...

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

Understanding Elasticsearch III

In Part II we covered the basic of Search API and Query DSL and how to combine those together to make a complex search. In this part we will take a look at relevance and how to tweak it to get the best result. What is Relevance? The relevance is the algorithm that we use to calculate how ...

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

Enum và nghệ thuật sử dụng

Hẳn Enum là 1 khái niệm thực sự gẫn gũi với mỗi anh/chị em lập trình viên. Enum là một tập hợp các giá trị có thể có của 1 thuộc tính, chẳng hạn Giới tính thì có thể Nam, Nữ (nay thì có thêm Gay, Less), hay tình trạng hôn nhân Status của 1 người thì có thể là Single, Engaged, Complicated, ...

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

Xây dựng tính năng RSS trong Ruby on Rails

Một website muốn nhanh chóng lên được top kết quả tìm kiếm của Google với các từ khóa liên quan thì đòi hỏi nội dung website luôn được cập nhật tươi mới, bài viết được update liên tục để các bộ máy tìm kiếm đánh giá tốt về website của bạn. Một website không cập nhật tin tức thường xuyên, đều đặn ...

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

Upload image using Carrierwave

Carrierwave là một trong nhưng gem mà có thể giúp các bạn upload file lên server như Paperclip, Dragonfly, Shrine … Nhưng mình thích Carrierwave bởi nó có rất nhiều tính năng và cũng dễ sử dụng nữa. Trong bài viết này mình sẽ giới thiệu với các bạn một cách tổng quát về cách sử dụng ...

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

Amazon S3 (upload file with Java)

What Is Amazon S3? Amazon S3 (Amazon Simple Storage Service ) là dịch vụ lưu trữ file trên Internet của Amazon. Nó được thiết kễ chủ yếu để hỗ các trang web lớn dễ dàng phát triển. Amazon có nhiều dịch vụ đơn giản để lưu trữ dữ liệu với số lượng lớn và truy xuất ở bất kỳ đâu trên web. Nó cung cấp ...

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

Rails security checklist

Lỗi về bảo mật trong một Rails App có thể phát sinh từ nhiều nguồn khác nhau, sau đây là một số biện pháp tránh gây ra các lỗi về bảo mật mà mình tổng hợp được từ một số bài viết hay trên mạng như: Zen Rails Security Checklist Injection Injection là lỗi bảo mật lúc nào cũng nằm trong top những ...

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

Color Theory for Designers - Part 1: The Meaning of Color

Lược dịch (https://www.smashingmagazine.com/2010/01/color-theory-for-designers-part-1-the-meaning-of-color/) Màu sắc trong thiết kế thường mang tính chủ quan, mỗi người sẽ có một cách phản ứng khác nhau, do sở thích cá nhân hoặc khác biệt về văn hóa. Lý thuyết về màu sắc tự bản thân nó là một môn ...

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

Optimizing MySQL Queries With Indexes

Abstract Với sự bùng nổ của dữ liệu hiện nay , các dịch vụ ngày càng trở lên chậm chạp và không đáp ứng được mong muốn của người sử dụng, có rất nhiều nguyên dẫn đến sự chậm chạp trên tuy nhiên có 1 nguyên chính đó là sự phát triển quá lớn của dữ liệu dẫn đến việc truy suất ngày càng chậm và ...

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

Refactoring - Mở đầu

Refactoring chắc hẳn ai đang làm phần mềm thì đều biết đến kỹ thuật này, trước đây thì tôi nghĩ refactoring chỉ là một bước phụ, không quan trọng, lúc nào mình thích thì mình làm thôi. Nhưng sau khi tham gia khóa học Agile Development tôi thấy việc refactoring là rất cần thiết trong một dự án. ...

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

Chụp màn hình trang web bằng gem Ruby

Trong quá trình lập trình web, có những lúc ta có nhu cầu phải chụp lại màn hình trang web lại, để chia sẻ, hoặc là một chức năng cần có của app. Vậy bạn thường chụp lại màn hình bằng cách nào? Sử dụng phím PrintScreen? Phím này chỉ có thể giúp chụp lại những gì có trên màn hình lúc đó. Hoặc có thể ...

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

Building a Gallery using React.js, Webpack, Bootstrap, and SASS (CSS)

Không có cách nào tốt hơn để bắt đầu học React bằng những kiến thức phức tạp . Xem hướng dẫn này và bắt đầu xây dựng ứng dụng React luôn nào! Để khai thác tối đa các tính năng của JSX, gói và ES6 với React, chúng ta cần công cụ như Webpack và Babel. Vì vậy, trong các phần sau, chúng ta sẽ thấy ...

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

Associated Objects trong Swift

Swift extensions cho phép chúng ta tuỳ biến rất cao trong việc thêm các hàm vào các class có sẵn, nhưng nó cũng có những hạn chế giống như categories trong Objective C: bạn không thể thêm được các stored property vào các class có sẵn thông qua extension. Associated Object chính là vị cứu tinh của ...

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