Cách nén giảm dung lượng tập tin PDF miễn phí

Định dạng tài liệu PDF vẫn đang được nhiều người dùng ưa chuộng, nhưng nếu phải chia sẻ file dung lượng lớn thì sẽ rất khó khăn. Những giải pháp miễn phí dưới đây sẽ giúp bạn giải quyết vấn đề đó. 1. Smallpdf Nếu đang tìm một giải pháp nhanh chóng và đơn giản để giảm dung lượng các file ...

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

Gửi Email trong ứng dụng Rails

Giới thiệu Ở bài viết này chúng ta sẽ làm một ứng dụng đơn giản để trình diễn việc gửi email với ActionMailer, ActionMailer Preview và thông qua một nhà cung cấp dịch vụ bên thứ ba như Gmail hoặc Mailgun. Chúng ta sẽ demo cách sử dụng Active job để gửi email cùng với background processor (tiến ...

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

25 típ để tăng hiệu suất cho câu lệnh sql

Mỗi khách hàng hay người dùng đều muốn được trả về dữ liệu nhanh nhất do đó chúng ta cần thiết kế một cơ sở dữ liệu tốt mà tăng hiệu suất cho mỗi lẫn thao tao với dữ liệu. Không có con đường thẳng để định nghĩa hiệu suất tốt snhaats nhưng có nhiều cách để cải thiện câu lệnh sql ví dụ như tạo index ...

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

Đăng nhập facebook, google trong rails

Tóm tắt Trong bài viết sẽ cung cấp các bước cơ bản để thực hiện đăng nhập vào trang web của bạn thông qua facebook. 1. Create a New Rails Application Tạo mới ứng dụng để thực hiện đăng nhập vào facebook rails new myapp cd myapp 2. Add the Required Gems to the Gemfile Trong ứng dụng này ...

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

Giới thiệu ngôn ngữ lập trình Cobol

1. Giới thiệu về ngôn ngữ lập trình Cobol. Ngày nay, khi nghe đến tên những ngôn ngữ lập trình như: java, C, C++, C#, PHP, hẳn đã quá quen thuộc đối với chúng ta. Trong bài viết lần này, tôi muốn giới thiệu đến mọi người một ngôn ngữ ít phổ biến hơn, đó chính là ngôn ngữ lập trình Cobol. ...

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

Làm quen với Laravel và Vuejs sử dụng webpack

Bài viết này mình sẽ hướng dẫn các bạn Khởi tạo 1 Project với Laravel và Vuejs. Tại sao lại là Vuejs mà ko phải Angular hoặc React. docs, Bởi vì nó sử dụng Virtual DOM, Performance cao, Kích thước nhẹ, Và đặc biệt Laravel với phiên bản 5.3 và Vuejs cho thấy 1 sự kết hợp tuyệt vời. Tạo 1 ứng dụng ...

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

Mobile Test Automation

Before we start, let me make some confession first. As a matter of fact, I've never been into serious testing business in my career. From the very beginning I've been working as a programmer whose job is to code, not test. But like any other coder in the world, I have to take my codes to a test ...

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

Viết integration test Nodejs with jasmine

Trong 1 lần tìm hiểu viết integration test cho ứng dụng nodejs, mình thấy có khá nhiều framework để test. Trong số đó được nhiều lập trinh viên sử dùng là mocha và jasmine. Jasmine là 1 behavior-driven development framework test cho Javascript. Nó không phụ thuộc vào việc bạn sử dụng framework ...

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

Unit tests với Mockito

Giới thiệu JUnit và Mockito JUnit là một framework dùng cho việc tạo các test case để kiểm thử các method của các đối tượng trong chương trình Java. Trong nhiều trường hợp, method được kiểm thử gọi đến những phương thức của một interface nào đó mà interface đấy chưa được implements bới bất ...

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

Module, included callback

MODULE Ruby module cho phép chúng ta gom các methods lại thành một nhóm và sau đó các methods này có thể được sử dụng bằng cách include module chứa chúng vào trong bất kỳ module/class nào khác. Vì ta không thể khởi tạo trực tiếp đối tượng của lớp Module, vì vậy muốn sử dụng được các method ...

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

Bạn đã từng bị đánh giá kỹ năng giao tiếp kém!?

Bạn đã từng bị đánh giá kỹ năng giao tiếp kém!? Mở đầu Một khi đã trở thành nhân viên công ty thì mối quan hệ xã hội cũng như số lần giao tiếp phải dùng đến kính ngữ sẽ tăng lên rất nhiều. Tuy nhiên, điều đương nhiên mà ai cũng biết đó là kính ngữ rất khó, nếu dùng sai hoặc nhầm lẫn thì có thể ...

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

Symmetric Cryptography in Swift (BlowFish)

Blowfish is a symmetric-key block cipher, designed in 1993 by Bruce Schneier and included in a large number of cipher suites and encryption products. Blowfish provides a good encryption rate in software and no effective cryptanalysis of it has been found to date. However, the Advanced Encryption ...

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

Thiết lập môi trường phát triển PHP7 (Vagrant + Centos7 + CakePHP3) trong 30 phút

1. Cài đặt Git Bash : https://git-scm.com/download/win VirtualBox : https://www.virtualbox.org/wiki/Downloads Vagrant : https://www.vagrantup.com/downloads.html 2. Tạo folder chứa project Cấu trúc project cake_vagrant/ ... Project ├── public/ ... Nơi chứa source code ...

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

Cài đặt HA Galera Cluster MariaDB sử dụng MaxScale trên CentOS 6

I. Giới thiệu 1. MariaDB MariaDB là gì ? MariaDB là một nhánh của MySQL( một trong những CSDL phổ biến trên thế giới ), là máy chủ cơ sở dữ liệu cung cấp các chức năng thay thế cho MySQL. MariaDB được xây dựng bởi một số tác giả sáng lập ra MySQL được sự hỗ trợ của đông đảo cộng đồng ...

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

Hướng dẫn cài đặt MASSCAN Web Interface

MASSCAN là một công cụ hỗ trợ đắc lực cho việc scan port. Bài viết này sẽ hướng dẫn bạn cách cài đặt và cùng vọc vạch tìm hiểu để biết MASSCAN là gì. Việc cài đặt MASSCAN cũng vô cùng đơn giản và dễ hiểu. Đầu tiên bạn cần lấy mã nguồn của MASSCAN tại trang github: https://github.com/offensive-sec ...

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

Tối ưu hiệu suất của Vector Drawables Trong Android

Trong khi một vài nền tảng mobile đã được hỗ trợ đồ hoạ vector( vector graphic) thì Android mới chỉ bắt đầu làm điều này từ API Level 21 với sự hỗ trợ của Support Library 23.2.0 cho các devices trước Lollipop. Bằng việc thay thế các source image PNG bằng VectorDrawables, kích thước các file APK của ...

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

Hiểu Người Nhật - Hiểu Khách Hàng Nhật (phần 1)

"Tôi thấy đại thể design như thế này ngon rồi, chỉ cần chỉnh sửa một chút thôi." Mấy hôm sau thấy một tá comment ném sang muốn sửa. =)) "Bạn thật là xuất sắc, tôi rất mong được như bạn." - Lời khen của CTO dành cho thằng Kĩ sư cầu nối đầu cua @@. Chả bao giờ thấy chê bai cái gì mình và team ...

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

Tránh re-submit form trong Spring bằng cách sử Flash Attribute

Kể từ phiên bản Spring MVC 3.1 đã được bổ sung 1 thuộc tính rất hữu ích đó chính là Flash attribute nhằm giải quyết các vấn đề về POST/Redirect/GET pattern. Trong một ứng dụng Web thông thường, với mỗi một form submitted POST dữ liệu lên server, Spring controller sẽ lấy dữ liệu request từ ...

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

Tìm hiểu về Request Lifecycle

Chắc hẳn các bạn đã nghe nói hoặc dùng với PHP Framework là Laravel rồi đúng không. Vậy điều gì xẽ xảy ra khi có một request đến một URL được định nghĩa trong route của ứng dụng? Cách thức hoạt động của Framework ra sao? Bài viết này sẽ giúp bạn hiểu thêm về Framework này nhé. The standard ...

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

Laravel và BDD

BDD là gì BDD (Behavior Driven Development) là một quá trình phát triển phần mềm dựa trên phương pháp Agile(phát triển phần mềm linh hoạt). BDD là sự mở rộng của TDD (Test driven development). Thay vì tập trung vào phát triển phần mềm theo hướng kiểm thử, BDD tập trung vào phát triển phần mềm ...

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