Xây dựng chatbot Messenger với Node.js và Dialogflow

Trong hướng dẫn này, tôi sẽ mô tả cách bạn có thể xây dựng một chatbot Facebook Messenger kết hợp NLP (Natural Language Processing) với Dialogflow và triển khai nó lên Facebook. Bạn có thể tìm thấy toàn bộ source code của ứng dụng trên GitHub. Nhiều chatbot tận dụng xử lý ngôn ngữ tự ...

Tác giả: Trịnh Tiến Mạnh viết 08:27 ngày 30/09/2019

Giải pháp cho phần lưu, quản lý log hiệu quả và cực kỳ tiết kiệm chi phí

Sau một thời gian “ngưng log” các request API và SQL query thì đã mạnh dạn tìm kiếm 1 SaaS log management vừa túi tiền để thử, bởi nếu các bạn cũng biết mấy ông này rất đắt tiền, bèo bèo cũng 50$/tháng và cũng lưu được vài GB. Vô tình phát hiện ông LogDNA với chi phí khá ...

Tác giả: Tạ Quốc Bảo viết 08:25 ngày 30/09/2019

100 ngày học DevOps – Ngày 1

Chào mừng bạn đến với Ngày 1 trong 100 ngày của DevOps, tôi muốn bắt đầu hành trình này với một trong những khái niệm quan trọng nhất trong Giám sát và cảnh báo DevOps. Vấn đề cần quan tâm : Tạo CloudWatch Alert gửi email bằng thông báo SNS khi Sử dụng CPU hơn 70%. Tạo alert kiểm ...

Tác giả: Tạ Quốc Bảo viết 08:25 ngày 30/09/2019

[C#] Chạy số 0 - 9 có hiệu ứng nhanh chậm Random Number Winform

Xin chào các bạn, bài viết hôm nay mình sẽ hướng dẫn các bạn cách Random Number with Effect trong lập trình C# Winform. Trong ứng dụng này, khi các bạn nhập vào hai số nhỏ nhất Min và số lớn nhất Max, thì phần mềm sẽ thực hiện random số khoảng mà các bạn nhập ...

Tác giả: Tạ Quốc Bảo viết 08:25 ngày 30/09/2019

Temp Table SQL Server - Bảng tạm trong SQL Server

Sẽ rất có lợi khi lưu trữ dữ liệu trong các bảng tạm thời của SQL Server thay vì thao tác hoặc làm việc với các bảng cố định. Khi bạn muốn có đầy đủ quyền truy cập vào các bảng trong Database, nhưng bạn lại không có. Bạn có thể sử dụng quyền truy cập đọc ...

Tác giả: Vũ Văn Thanh viết 08:25 ngày 30/09/2019

Tổng hợp các bài hướng dẫn về Design Pattern – 23 mẫu cơ bản của GoF

Design Patterns là gì? Design Pattern là một kỹ thuật trong lập trình hướng đối tượng, nó khá quan trọng và mọi lập trình viên muốn giỏi đều phải biết. Được sử dụng thường xuyên trong các ngôn ngữ OOP. Nó sẽ cung cấp cho bạn các “mẫu thiết kế”, giải pháp để giải quyết ...

Tác giả: Trịnh Tiến Mạnh viết 08:25 ngày 30/09/2019

JavaScript và những câu hỏi khó – Part 1

Dạo gần đây trên cộng đồng mạng đang nổi lên một repo rất hot javascript-questions, mỗi ngày nhận được tới hàng ngàn star. Tại thời điểm mình viết bài này là đã hơn 6000 ⭐️rồi. Mình cũng theo trend vào đọc thử và thấy có rất nhiều câu hỏi hay, nên cũng đã contribute một bản dịch ...

Tác giả: Bùi Văn Nam viết 08:25 ngày 30/09/2019

Bạn có thể theo nghề lập trình đến năm bao nhiêu tuổi?

Người viết: Trịnh Minh Cường Tác giả bài viết này đã 40 tuổi, sẽ theo nghề lập trình viên đến năm 50. Hiện đã kiếm đủ để hạnh phúc với cuộc sống giản dị. Các bạn đừng quá lo. Cứ học, và lập trình chăm vào. Đoạn sau là hiện thực xã hội Việt Nam. Còn bạn vẫn giỏi và đam mê, ai cấm ...

Tác giả: Bùi Văn Nam viết 08:25 ngày 30/09/2019

Overview quản lý bộ nhớ trong Android

Người viết: Huu Nam Overview of memory management Android Runtime (ART) và Dalvik sử dụng phân trang (paging) và ánh xạ bộ nhớ (memory-mapping hay mmapping) để quản lý bộ nhớ. Điều này có nghĩa là bất kỳ bộ nhớ nào mà một ứng dụng thay đổi, cho dù bởi việc cấp phát các đối ...

Tác giả: Trịnh Tiến Mạnh viết 08:25 ngày 30/09/2019

Lập trình viên có nên học Assembly không?

Assembly Language (ASM), tiếng Việt là hợp ngữ. Mục đích của mình học ASM chỉ cơ bản là muốn hiểu thêm về người bạn thân thiết nhất của mình, cái máy tính mà suốt ngày mình ngồi trước nó. Mình chỉ thật sự muốn biết là đằng sau những dòng lệnh mình code thường ngày thì bên dưới nó làm ...

Tác giả: Tạ Quốc Bảo viết 08:25 ngày 30/09/2019

Một số kỹ thuật Refactoring phổ biến

Trong quá trình code mình nhận thấy với những hàm được viết quá nhiều dòng, nhất là trong hàm đồng thời thực hiện nhiều chức năng thường gây ra nhiều vấn đề như: Khó kiểm soát, khó tái sử dụng và dễ gây ra bug vì xử lý quá nhiều logic trong hàm Mất nhiều thời gian để review làm ...

Tác giả: Hoàng Hải Đăng viết 08:25 ngày 30/09/2019

Hệ điều hành máy tính hoạt động như thế nào? (phần 2)

Người viết: Chu Thanh Hung Lời mở đầu Ở Phần 1 của loạt bài viết tìm hiểu về hoạt động của hệ điều hành, mình đã tóm lược về các phần bao gồm Quản lý tiến trình , Cơ chế lập lịch và Luồng và xử lý đồng bộ . Tuy nhiên, ngoài 3 phần này thì hệ điều hành vẫn còn rất nhiều việc ...

Tác giả: Trịnh Tiến Mạnh viết 08:25 ngày 30/09/2019

Giới thiệu về Deep Learning

Introduction Trong những năm gần đây, Deep Learning đã có những thành tựu quạn trọng. Từ việc phân loại hình ảnh và dịch ngôn ngữ đến chế tạo xe tự lái, tất cả các nhiệm vụ này đều được điều khiển bởi máy tính thay vì nỗ lực của con người. Deep Learning đã thâm nhập vào nhiều ...

Tác giả: Hoàng Hải Đăng viết 08:25 ngày 30/09/2019

Sự khác nhau của bộ 3 Slice, Splice và Split trong Javascript

Người viết: Tran Minh Chien Bên cạnh việc xử lý vòng lặp với mảng như bài viết đầu tiên trong series thì hôm nay mình cũng sẽ giới thiệu về một bộ ba cũng thường là những tác nhân gây đau đầu cho các lập trình viên khi thao tác với chúng : slice() , splice() , split() . Ngay từ ...

Tác giả: Vũ Văn Thanh viết 08:25 ngày 30/09/2019

Hãy làm cho các Errors & Exceptions của bạn thân thiện hơn với người dùng

Như title, thường thì khi bắt tay vào làm một project mới, các dev sẽ quan tâm làm thế nào để nó chạy đầu tiên, sau đó là đến clean code rồi Unit Test các thứ, nhưng dường như có một vấn đề đã bị khá là nhiều dev bỏ quên, đó là xử lý các lỗi và Exception phát sinh khi sản phẩm đã lên ...

Tác giả: Vũ Văn Thanh viết 08:24 ngày 30/09/2019

Deploy ứng dụng web đến một máy chủ từ xa nhờ vào Git push

Git là một hệ thống quản lý phiên bản phân tán (Distributed Version Control System – DVCS) ra đời vào năm 2005 và hiện được dùng rất phổ biến. So với các hệ thống quản lý phiên bản tập trung khi tất cả mã nguồn và lịch sử thay đổi chỉ được lưu một nơi là máy chủ thì trong hệ thống phân ...

Tác giả: Trịnh Tiến Mạnh viết 08:24 ngày 30/09/2019

Cách tạo một Docker đơn giản cho Node.JS

Đây là một hướng dẫn ngắn và đơn giản về docker, khá hữu ích cho các anh em Nodejs. Khi công việc kinh doanh cần tới nhiều ứng dụng web khác nhau, khi mà bây giờ framework hay ngôn ngữ lập trình chỉ là công cụ. Các công ty không bị giới hạn và có thể sử dụng bất kỳ ngôn ngữ nào ...

Tác giả: Trần Trung Dũng viết 08:24 ngày 30/09/2019

MySQL là gì? – Những kiến thức cơ bản về MySQL

1. Tổng quan về MySQL 1.1 MySQL là gì ? Là một hệ quản trị cơ sở dữ liệu phổ biến nhất thế giới, được các nhà phát triển ưa chuộng. MySQL có tốc độ cao, ổn định, dễ sử dụng, hoạt động trên nhiều hệ điều hành khác nhau. MySQL rất thích hợp cho các ứng dụng có truy cập cơ ...

Tác giả: Vũ Văn Thanh viết 08:24 ngày 30/09/2019

Tạo project Rails 6 với PostgresSQL 11 bằng Docker

Người viết: Hoàng Đức Quân Ở Rails 6 có sự thay đổi rõ rệt nhằm hỗ trợ về tích hợp framework Javascript trong dự án bằng Rails. Thư mục javascript được đưa ra bên ngoài assets và quản lý hoàn toàn bằng webpack. Vì vậy, chúng ta phải thay đổi 1 chút để cài đặt project Chúng ta sẽ ...

Tác giả: Bùi Văn Nam viết 08:24 ngày 30/09/2019

forEach – Những điều có thể bạn chưa biết

Người viết: Trần Minh Chiến Bài viết đầu tiên trong series mình đã giới thiệu sơ lược về các vòng lặp trong javascript , và nếu có chú ý thì bạn sẽ thấy trong phần forEach mình có bật mí về nội dung của phần tiếp theo. Có thể thấy forEach có vẻ có khá nhiều tính năng vượt trội ...

Tác giả: Hoàng Hải Đăng viết 08:24 ngày 30/09/2019