Reserve Polish Notation

Khi lập trình, việc để cho máy tính tính giá trị một biểu thức toán học là điều quá đỗi bình thường, nhưng để trình bày làm sao cho máy tính có thể đọc và hiểu được quy trình tính toán đó không phải là điều đơn giản. Trong nhiều ứng dụng, ta cần phải tính giá trị của một biểu thức được nhập vào từ ...

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

Piping và chuyển hướng câu lệnh trong Linux

Trong Linux , các thao tác chủ yếu và thường xuyên của người sử dụng là việc gõ các dòng lệnh trên một cửa sổ Terminal. Mỗi câu lệnh của Linux thường sẽ bao gồm đầu vào ( Input ) và đầu ra ( Output ), ngoài ra phần lớn câu lệnh cũng có kèm theo các thông báo lỗi ( Error Message ). Nguyên lý ...

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

The 100% correct way to structure a React app (or why there’s no such thing)

Khi bạn phải xậy dựng một React Application, tạo được một code structure tốt sẽ hữu ích khá nhiều cho quá trình phát triển sản phẩm. Trong bài viết này, tôi sẽ nói cho bạn biết cách tôi sẽ xậy dựng structure cho một trong các React app của tôi, và điều gì quyết định việc đó. Cùng với đó sẽ là một ...

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

Long press in specific duration

Trong nhiều trường hợp, chúng ta muốn tạo ra một listener để lắng nghe sự kiện long press vào một view trong một khoảng thời gian nào đó. Mặc định đến hiện giờ theo mình biết thì android chưa support sẵn hàm như vậy. Để làm được thì có thể đặt thời gian start ở onDown, sau đó khi chưa nhấc tay lên ...

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

Reactive analytics using Keen.IO and ActionCable in Rails 5

Phân tích dữ liệu là một trong những xu hướng lớn nhất hiện nay. Ngày càng có nhiều ngành công nghiệp dựa vào phân tích siêu dữ liệu để đưa ra các quyết định và đạt được lợi thế cạnh tranh. Do đó, ngày càng có nhiều sản phẩm phần mềm, từ ứng dụng di động sleep-cycle cho đến phần mềm logistics doanh ...

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

Attribute Directives trong Angular

Directives là một đối tượng giúp chúng ta dễ dàng thay đổi một đối tượng khác và cách áp dụng rất đơn giản và linh hoạt. Có 3 loại Directives trong angular: 1. Component-Directives với template 2. Structural directives-thay đổi cấu trúc DOM bằng việc thêm bớt các phần tử trong DOM 3. Attribute ...

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

Neural Network Fundamental 4: Gradient descent, back propagation

Giả sử ta muốn minimize J(w1,w2,...)J(w_1, w_2, ...) J ( w 1 ​ , w 2 ​ , . . . ) . Nếu đây là 1 hàm sỗ phức tạp thì việc tìm 1 công thức tính w1,w2,...w_1, w_2, ... w 1 ​ , w 2 ​ ...

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

Wordpress và Laravel

WordPress là một trong những open source php cms phổ biến nhất, có nghĩa là nhiều người cảm thấy thoải mái khi sử dụng nó làm admin để quản lý trang web. Xây dựng website bằng Wordpress có ưu điểm là không cần phải đào tạo lại người dùng về cách quản lý nội dung, menu, hình ảnh,... Có một cách làm ...

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

Play Framework Series: [Part 01] Introduction

Khi nói đến Java web, nhiều người sẽ nghĩ ngay đến Spring, JSF, Struts .... nhưng có 1 framework khác cũng đang được nhiều lập trình viên biết tới đó là Play. 1. Vậy Play là gì ? Đây là 1 open source web application framework, viết bởi Scala và Java. Thực chất đây là 1 Scala framework, nhưng ...

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

Multiple databases

Khi xây dựng một cở sở dữ liệu cho ứng dụng của bạn đa phần dữ liệu của bạn là dữ liệu động và nó sẽ thay đổi thường xuyên sau những request của user, sau một thời gian sử dụng dữ liệu của bạn sẽ dần lớn lên. Để thuận tiện cho việc quản lý ta thường chia nhỏ cơ sở dữ liệu. Trong bài này mình sẽ ...

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

Wemos authenticate qua laravel (phần 4.3 - Tìm hiểu GET và POST trong Wemos)

Xin chào các bạn, hôm nay mình xin chia sẻ tiếp phần 3 của chủ đề "Wemos authenticate qua laravel" trong loạt bài "Làm bể cá thông minh". Ở phần trước thì ta đã kết nối được web client với server nodejs và authenticate với server PHP (laravel) bằng Jwt. Như trong sơ đồ dưới đây: Client phải ...

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

Sử dụng Docker commit để tạo và lưu thay đổi một Image

Dockerfile là một trong những tính năng chính dẫn đên sự thành công của Docker. Với khả năng xây dựng một container image mới từ một tập tin đơn giản đã giúp thay đổi rất nhiều của việc ứng dụng docker. Khi nói đến sửa đổi một Docker image, suy nghĩ đầu tiên của chúng ta là sẽ sửa đổi thông tin ...

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

Android Architecture Components - Live Data

Tiếp theo các phần trước, lần này chúng ta sẽ tìm hiểu về lớp Live Data của Android Architecture Components. LiveData là một lớp dữ liệu dạng observable. Không giống như observable thường lệ, LiveData nhận biết vòng đời, có nghĩa là nó tôn trọng vòng đời của các thành phần ứng dụng khác, chẳng ...

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

Những nguyên nhân thường gặp khiến ứng dụng của bạn bị từ chối trên chợ AppStore

Cho dù bạn là một lập trình viên iOS mới vào nghề hay một người đã có nhiều kinh nghiệm thì việc phải đối mặt với việc ứng dụng bạn muốn đưa lên AppStore bị từ chối tại một thời điểm nào đó trong suốt sự nghiệp lập trình của bạn là không tránh khỏi.Nếu bạn chưa từng gặp việc đó thì bạn là một người ...

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

Concurrency in C++11

Trong bài viết này bạn sẽ học được kiến thức cơ bản về chạy các luồng song song sử dụng shared memory. C++11 Sử dụng shared memory Threads Race conditions Mutexes Atomicity Asynchonous tasks Condition variables Bài toán Producer-Consumer Resources Concurrency examples ...

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

Processing Stripe Payments with a Background Worker in Rails

Kỹ thuật được sữ dụng trong bài viết này có thể được sữ dụng để xữ lý bất kỳ công việc dài hạn nào trong background . Ví dụ dưới đây sẽ không thực sự xử lý việc thanh toán mà background job sẽ nhận dữ liệu để xử lý. Tạo một class background job để xử lý thanh toán: rails g job ...

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

Sử dụng Appium trong iOS Automation Test

1. Giới thiệu Appium là một Open Source hỗ trợ việc viết UI Automation Test cho các ứng dụng mobile vô cùng tiền lợi, mạnh mẽ. Appium hỗ trợ nhiều ngôn ngữ giúp cho việc viết test script trở nên đơn giản hơn rất nhiều. Các ngôn ngữ mà Appium hỗ trợ bao gồm: C#, Java, Node JS, Ruby, ...

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

Xử lý file CSV lớn với Ruby

Xử lý những file dung lượng lớn có thể tiêu tốn rất nhiều ram. Chúng ta cũng thử một số cách xử lý dưới đây và đo tốc độ và lượng ram đã sử dụng: Chuẩn bị dữ liệu Trước khi bắt đầu, chúng ta chuẩn bị 1 file CSV data.csv với 1 triệu dòng (khoảng 75MB) require 'csv' require_relative ...

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

Học Python từ con số 0 (Phần 1) - The Basics

Trước tiên, Python là gì ? Theo người tạo ra ngôn ngữ này, Guido van Rossum, Python là một: “high-level programming language, and its core design philosophy is all about code readability and a syntax which allows programmers to express concepts in a few lines of code.” Đối ...

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

Introduction to React Native 1

React is a component-oriented front-end framework developed by Facebook, used for making native applications. Firstly, we start with installing Homebrew (https://brew.sh/) Homebrew is package management software that can be used with mac. $ brew install node $ brew install watchman $ npm ...

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