Tìm hiểu về OCR, xây dựng chức năng Extract text từ hình ảnh sử dụng PHP

How to extract text from images ? Chào mọi người, hôm nay mình sẽ giới thiệu cách làm thế nào để có thể đọc được text từ hình ảnh có sẵn. Trước tiên đi vào thực hiện (code) mình sẽ trình bày sơ qua về cái mà mình sẽ sử dụng đó là công nghệ nhận dạng ký tự quang học OCR. Vậy thì OCR là gì ??? ...

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

Serverless Framework1.0 has just released, let''s give it a try

Overview http://blog.serverless.com/serverless-v1-0-alpha1-announcement/ The application Serverless Framework 1.0 ALPHA version has been released so i want to have a grasp over it Install Let's install via command line like this $ npm install - g serverless @alpha If you get this ...

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

Tìm hiểu Singleton Pattern

Tìm hiểu về Singleton pattern. Bài viết được tham khảo từ cuốn Design pattern for dummies Ở bài trước, mình đã giới thiệu cho các bạn về Template pattern: https://viblo.asia/trung.nn.92/posts/ZabG91kkGzY6. Hôm nay chúng ta sẽ tìm hiểm về Singleton pattern. Singleton Pattern là một mẫu thiết ...

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

Tìm hiểu Android M

Tại sự kiện cực hoành tráng Google-IO-2015 được tổ chức vào tháng 5 vừa rồi, Google đã giới thiệu phiên bản kế tiếp của hệ điều hành di động Android: Android M. Và chỉ vài ngày trước, Google cũng đã công bố tên gọi chính thức cũng như số hiệu phiên bản của hệ điều hành này, đó là Marshmallow ...

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

Domain Driven Design (Phần 1)

Domain Driven Design là gì? Có lẽ chúng ta đã quá quen thuộc với cách tiếp cận truyền thống khi xây dựng một ứng dụng. Đầu tiền chúng ta đọc spec và tìm hiểu các chức năng, sau đó tiến hành chia nhỏ các task. Trong phần lớn trường hợp, việc này nhằm mục đích estimate thời gian và lên kế hoạch ...

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

Tìm hiểu Grid Bootstrap trong 15 phút

Bootstrap là một khung framework frontend được sử dụng rộng rãi nhất hiện nay. Khi nói đến xây dựng website reponsive và apps đó là lựa chọn đầu tiên của các chuyên gia và người yêu thích vì nó rất đơn giản để làm việc. Bất cứ ai biết HTML, CSS và một chút JavaScript có thể học Bootstrap ...

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

Javascript Closure

1. JavaScript Scope Để hiểu về Closure trước tiên chúng ta bắt đầu với scope (phạm vi) trong JavaScript. Ta có thể hiểu đơn giản scope là khái niệm qui định sự truy xuất và tồn tại của các biến. Trong JavaScript (trước ES6) thì mỗi một hàm (function) là một scope riêng. Từ trong scope có thể truy ...

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

[AngularJS toàn tập] Phần 1 : AngularJS là gì?

Mở đầu với loạt bài về Angular JS, ở phần này mình sẽ nói qua các khái niệm về Angular JS, các thành phần trong Angular JS, phân tích ưu và nhược điểm của nó. AngularJS là cái gì? Đây là một mã nguồn mở, 1 framwork cho các ứng dụng web. Được phát triển từ năm 2009, hiện tại được duy trì bởi ...

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

Xây dựng realtime chat sử dụng SendBird SDK và JSQMessagesViewController Part 1

Giới thiệu Chào các bạn, trong dự án mà tôi tham gia, tôi đảm nhiệm phần thực thi chức năng chat cho dự án này. Để thực hiện chức năng này chúng ta hoàn toàn có thể tự phát triển phần Client side và Server side, tuy nhiên việc tự phát triển này sẽ rất mất thời gian, tính ổn định cũng không cao ...

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

Những điều thú vị với việc tạo controller trong angularjs

Mở đầu Angularjs là một bộ Javascript Framework đang được nhiều người yêu thích sử dụng.Trong quá trình tìm hiểu, mình đã học được một điều khá thú vị: đó là có nhiều cách viết để tạo ra một controller trong angularjs, tất nhiên mỗi cách sẽ có những cái hay và hạn chế riêng,sau đây mình xin chia ...

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

User-friendly URL với gem FriendlyId

Giới thiệu Nếu bạn là lập trình viên web, hẳn bạn đã quen với những URL có dạng như http://example.com/articles/15 với số 15 ở cuối là id của videos trong Database. Bạn thấy đường dẫn kiểu này thật nhàm chán và muốn thay thế các các con số vô nghĩa bằng những nội dung dễ hiểu hơn. Ví dụ như ...

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

Tìm hiểu MEANJS qua việc làm ứng dụng viết blog

Hôm nay chúng ta cùng tìm hiểu kỹ hơn về bộ MEAN thông qua việc viết 1 ứng dụng viết blog sử dụng bộ 4 công nghệ này (Mongo DB, Express JS, Angular JS, Node Js). Việc cài đặt các bạn có thể tham khảo ở đây . Trong bài viết này tôi có sử dụng : Node JS Express JS Mongo DB Mongoose Jade ...

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

Collections - Streams in Java 8

Java 8 Streams là một bổ sung mới vào các API Java Collections, nó mang lại một cách mới để xử lý với các Collections của đối tượng. Như vậy, Streams trong API Java Collections là một khái niệm khác hơn so với input và output streams trong Java IO API. Streams được thiết kế để làm việc với các ...

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

Why AJAX Isn’t Enough - Tại sao nói chỉ mình AJAX là chưa đủ???

Các cuộc gọi AJAX đã tạo ra 1 bước tiến khổng lồ cho tương tác người dùng trên Web : Chúng ta không còn cần phải tải lại trang (reload page) để đáp ứng với mỗi đầu vào người dùng (user input) - không phải tải lại trang mỗi khi thực hiện xong 1 request nào đó của người dùng. Sử dụng AJAX, chúng ta ...

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

Những tính năng đáng được mong đợi trong Laravel 5.3

Hội nghị Laracon US 2016 sạch vé Hội nghị Laracon US 2016 là một trong những hội nghị lớn được mong chờ nhất trong năm 2016 đối với cộng đồng Laravel nói riêng và PHP nói chung. Nó diễn ra trong 3 ngày từ ngày 27 đến 29 tháng 7 năm 2016 và mục tiêu là released bản Laravel 5.3. Hội nghị ...

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

Rails Dynamic Render to RCE

Xin chào tất cả các bạn. Vừa rồi mình có đọc được một số kiến thức khá hay về bảo mật qua loạt bài viết trên các diễn đàn công nghệ thế giới. Mình đã lược dịch và tìm hiểu thêm thông tin liên quan để chia sẻ lại, mong rằng bài viết sẽ mang lại thêm kiến thức mới cho các bạn. Nếu là một lập trình ...

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

Multiple Images Uploading With CarrierWave and Mysql Array

Trong quá trình thực hiện dự án, tôi có nhận được một yêu cầu cần thực hiện việc upload nhiều ảnh cho một bài viết, đồng thời khách hàng cũng đã giới hạn số ảnh tối đa có thể cho một bài viết chỉ là 5. Sau quá trình Google thần chưởng tôi biết được gem CarrierWave có cho phép việc upload nhiều ...

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

Load Balancing bằng nginx

Load balancing trên các máy chủ là một kỹ thuật thường được sử dụng để tối ưu hóa việc sử dụng tài nguyên, tối đa hóa lưu lượng, giảm độ trễ. Chúng ta có thể sử dụng nginx như một máy chủ cân bằng tải HTTP để phân phối lưu lượng truy cập với một số máy chủ ứng dụng. Nó giúp cải thiện hiệu suất, ...

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

Overview về Outlook Add-ins

Xin chào, hôm nay mình xin giới thiệu mang tính overview về Outlook Add-ins. Bài này sẽ gồm 3 nội dung cơ bản: Giới thiệu chung về Add-ins và Outlook Add-ins Đặc điểm của Outlook Add-ins. Một ứng dụng Outlook Add-ins thì hoạt động như thế nào? 1. Giới thiệu về Add-ins và Outlook Add-ins ...

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

[AngularJS toàn tập] Phần 2 : Tổng quan về directive.

Sau bài viết về angularJS lần trước, mình đã giới thiệu các thông tin cơ bản về AngularJS. Ở phần này mình sẽ nói về directive. AngularJS directive là gì? Đây là một thành phần mở rộng HTML, là các thuốc tính của các thẻ HTML mà AngularJS có định nghĩa thêm. Nó tuân thủ theo nguyên tắc của ...

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