Các Function trong Mysql (phần 1)

MySQL là Hệ thống quản lý cơ sở dữ liệu SQL quan hệ mã nguồn mở phổ biến nhất. MySQL là một trong những RDBMS tốt nhất đang được sử dụng để phát triển các ứng dụng phần mềm dựa trên web khác nhau. MySQL được phát triển, tiếp thị và hỗ trợ bởi MySQL AB, một công ty của Thụy Điển. Bài này mình có ...

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

NodeJS: xác thực tài khoản sử dụng Passport.js

Trong bài viết này ta sẽ cùng tìm hiểu các mục sau: Handling protected routes Handling JWT tokens Handling unauthorised responses Creating a basic API Creating models & schemas 1.Giới thiệu Passport.js là gì? Passport một module phổ biến nhất của Nodejs cho phép bạn ...

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

Dijkstra’s Algorithm in Swift

Thuật toán Dijkstra là một thuật toán đơn giản và nổi tiếng để tìm đường đi ngắn nhất giữa hai điểm trên biểu đồ. Trong bài viết này, chúng ta sẽ triển khai thuật toán Dijkstra trong swift và chúng ta sẽ thực hiện một hàng đợi ưu tiên đơn giản mà chúng ta sẽ sử dụng trong thuật toán. Bạn có thể tìm ...

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

Memcached vs redis?

Cả hai đều mạnh và nhanh, lưu trữ dữ liệu trong bộ nhớ, hữu ích như bộ nhớ đệm. Cả hai đều có thể giúp tăng tốc ứng dụng của bạn bằng cách lưu trữ kết quả cơ sở dữ liệu, các đoạn HTML hoặc bất kỳ thứ gì khác cái mà có thể tốn nhiều chi phí để hoạt động. Redis giống memcached là memory-mapped, tức ...

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

Phân loại bằng Navie Bayes - phần 1

Naive Bayes là một thuật toán đơn giản nhưng mạnh mẽ đáng ngạc nhiên cho mô hình dự đoán. Trong bài viết này, bạn sẽ khám phá thuật toán Naive Bayes để phân loại. Sau khi đọc bài đăng này, bạn sẽ biết: Các đại diện được sử dụng bởi Naive Bayes thực sự được lưu trữ khi một mô hình được ghi vào ...

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

Fuchsia OS: Cái nhìn đầu tiên về Fuchsia SDK, và bạn có thể tải về nó ngay tại đây

Giới thiệu về Fuchsia Như các bạn cũng đã biết, Google đang phát triển 1 hệ điều hành mới mang têm Fuchsia OS Để biết thông tin kỹ hơn về hệ điều hành này, các bạn có thể tham khảo bài viết này: https://viblo.asia/p/google-fuchsia-co-thay-the-duoc-android-L4x5xpLO5BM. Hôm nay mình sẽ không giới ...

Tác giả: Vũ Văn Thanh viết 23:15 ngày 23/12/2018

Rails I18n?

Giới thiệu t ( 'my.messages.hello' ) # same as 'my.messages.hello' t ( :hello , scope : 'my.messages' ) t ( :hello , scope : [ :my , :messages ] ) t ( 'my.messages.hello' , default : "Hello" ) Có lẽ khi gặp nhưng đoạn code trên sẽ là ...

Tác giả: Trần Trung Dũng viết 23:14 ngày 23/12/2018

Bán vá Patch Tuesday tháng 12 của Adobe vá 87 lỗi trong phần mềm Acrobat

kết thúc năm bằng việc Adobe tung bản Patch Tuesday tháng 12 của Adobe vá một số lượng lớn lỗ hổng bảo mật của riêng hai ứng dụng PDF. Số lỗ hổng được vá trong Patch Tuesday tháng 12 của Adobe gấp đôi số lượng lỗ hổng mà Microsoft đã vá cho các sản phẩm khác trong tháng. ...

Tác giả: Vũ Văn Thanh viết 23:14 ngày 23/12/2018

[C++] Bản chất con trỏ

Khái niệm con trỏ là gì? Nếu bạn là coder sử dụng C#, java, Object C, Swift ... thì có thể bỏ qua bài này nhưng nếu bạn là code C++ hoặc nếu thích thì có thể tham khảo và cho mình xin ý kiến. Bài này mình sẽ đề cập đến một vấn đề khá phức tạp nhưng lại có rất nhiếu ý nghĩa trong lập trình ...

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

Tracking error trong Rails dùng Errbit

Errbit là open source để track các error trong hệ thống của bạn nhờ sử dụng API của Airbrake. Nó là công cụ để tổng hợp và quản lý các errors một cách hiệu quả và nhanh. Đây là open source, vậy bạn chỉ cần clone về và deploy lên server là xong. Requirement của Errbit : Ruby >= 2.3.x ...

Tác giả: Trần Trung Dũng viết 23:14 ngày 23/12/2018

Say goodbye với thu thập chứng chỉ vô ích - Cách tạo “Bản đồ đào tạo bản thân” (phần 1)

Bài viết được dịch từ bài đăng của tác giả Ishikawa. Cứ mỗi độ tháng 4 sang, nhiều bạn trẻ sẽ được debut với tư cách kỹ sư bắt đầu cống hiến cho xã hội. Vậy nên bài viết lần này tôi muốn dành cho những bạn kỹ sư trẻ mới "nhập giới" (có kinh nghiệm dưới 3 năm). Và các bạn trainer cũng ...

Tác giả: Trần Trung Dũng viết 23:14 ngày 23/12/2018

Bản cập nhật tháng 12 của Microsoft vá lỗ hổng zero-day đang bị khai thác

Bản cập nhật tháng 12 của Microsoft vừa được phát hành để vá tổng cộng 39 lỗ hổng trong hệ điều hành Windows và các ứng dụng khác. Một trong những lỗ hổng bảo mật được vá trong bản cập nhật tháng 12 của Microsoft đã bị công khai và một lỗ hổng khác là lỗ hổng zero-day đang bị ...

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

SOLID và Ruby

I. SOLID là gì? SOLID là một cụm từ viết tắt của một bộ các nguyên tắc giúp lập trình viên tạo ra source code dễ bảo trì trong thời gian lâu dài, sử dụng ngôn ngữ lập trình hướng đối tượng. LƯU Ý: vì đây chỉ là một bộ các nguyên tắc, nên hiển nhiên nó sẽ không thay thế được suy nghĩ, tư duy ...

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

Using AVSpeechSynthesizer

AVSpeechSynthesizer là một phần của framework AVFoundation được sử dụng để chuyển đổi văn bản thành âm thanh nói. Nó là một công cụ tuyệt vời để chuyển đổi văn bản thành âm thanh nói. Trong bài viết ngắn này, chúng tôi sẽ sử dụng AVSpeechSynthesizer trên một ứng dụng demo nhỏ. The Example Bài ...

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

Các thư viện web animation tốt nhất cho JavaScript

Biểu đồ miêu tả tình trạng web animation hiện nay với các thư viện, frameworks và plugins hay nhất dựa trên tính linh hoạt và hiệu suất hoạt động. Infographic 1: Biểu đồ Web Animation Infographic này được chia thành 3 phần. Phần đầu tiên gồm 1 vài thư viện animation cung cấp tất ...

Tác giả: Trần Trung Dũng viết 23:14 ngày 23/12/2018

How to Become a Better Software Developer

Cách đây khá lâu tôi có một bài phát biểu ở hội nghị kỹ thuật hàng tháng của Mobify và nội dung tôi nói là về các sách lược có thể giúp bạn trở thành một nhà phát triển phần mềm tốt nhất có thể. Tôi thấy điều này cũng có thể hữu ích với cả những người khác và đã quyết định chia sẻ nó trong bài viết ...

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

Tạo ứng dụng đơn giản CRUD với Yii2

Trong phần này tôi sẽ hướng dẫn cách tạo một ứng dụng CRUD đơn giản với Yii2 Framework. Chúng ta sẽ sử dụng công cụ Gii (được tích hợp sẵn trong bộ vendor của Yii) để tự động tạo mã nguồn đơn giản và bạn chỉ cần nhập các thông tin theo hướng dẫn hiển thị trên công cụ này. Cấu hình Công cụ ...

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

Lock trong Java

Lock là một cơ chế đồng bộ thread giống với synchronized block nhưng phức tạp hơn. Lock (và các cơ chế đồng bộ tiên tiến khác) được tạo thành bằng việc sử dụng synchronized block, nên không phải là chúng ta có thể hoàn toàn bỏ keyword đó đi. Kể từ Java 5 package java.util.concurrent.locks có chứa ...

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

Hàm enumerate() trong Python

Trong Python, hàm enumerate() thêm vào một bộ đếm vào trước mỗi iterable và trả về kết quả dưới dạng đối tượng liệt kê (enumerate object). Bài viết sẽ trình bày kĩ về cú pháp, tham số và cách sử dụng hàm. Mời bạn đọc theo dõi. Cú pháp hàm enumerate() trong Python enumerate(iterable, ...

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

Học Regex cơ bản

Bài viết được dịch từ https://medium.com/factory-mind/regex-tutorial-a-simple-cheatsheet-by-examples-649dc1c3f285 Regular expressions (regex or regexp) cực kỳ hữu ích trong việc trích xuất thông tin từ 1 đoạn text. Nó tìm kiếm những ký tự trong đoạn text phù hợp với một quy tắc cụ thể, thường gọi ...

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