Full Text Search với Hibernate và SpringMVC Phần 1: Hello Hibernate Search

Về khái niệm Full text search (FTS) các bạn có thể xem tại bài viết này của chị Huyền Châm, mình thấy khá đầy đủ và dễ hiểu. Tại bài viết này mình sẽ chia sẻ cách để thực hiện FTS với Hibernate trong SpringMVC. Tại sao lại với Hibernate mà không phải với MySQL hay Postgresql? Vì khi setup FTS ở ...

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

Tìm hiểu về Elasticsearch phần 2

Tiếp nối phần trước mình đã giới thiệu về Elasticsearch, cách thức hoạt động của Elastic search. Phần này mình sẽ giới thiệu về cách cách cài đặt Elastic search trong ubuntu và cách sử dụng một số câu truy vấn của Elastic search. I. Cách cài đặt. Để cài đặt được Elastic search thì mày bạn cần ...

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

Tên và giá trị trong Python

Cách đây mấy ngày, tôi có trao đổi với đồng nghiệp của mình về cách làm việc của tên (names) và giá trị (values) trong Python. Và tôi nghĩ còn nhiều người vẫn chưa thực sự hiểu rõ về nó, nhân tiện có bài viết khá trực quan và dễ hiểu về vấn đề này mà tôi lượm được trên mạng nên tôi muốn chia sẻ ...

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

Độ phức tạp của thuật toán

Mở đầu Là một lập trình viên, chắc hẳn bạn đã từng ít nhiều nghe tới khái niệm "Độ phức tạp của thuật toán". Rất nhiều người cho rằng độ phức tạp của thuật toán đại diện cho thời gian chạy nhanh hay chậm của 1 chương trình, nhưng liệu đây có phải là 1 quan niệm đúng? Bài viết dưới đây sẽ cho bạn ...

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

OutOfMemoryException trong Android

11-03 10:59:39.199: E/AndroidRuntime(13566): FATAL EXCEPTION: main 11-03 10:59:39.199: E/AndroidRuntime(13566): java.lang.OutOfMemoryError 11-03 10:59:39.199: E/AndroidRuntime(13566): at android.graphics.BitmapFactory.nativeDecodeStream(Native Method) 11-03 10:59:39.199: E/AndroidRuntime(13566): ...

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

introducing to anyenv

what is the point to do this? in my case I can easily switch php version using phpenv and no conflict between phpenv and rbenv This is a simple wrapper for rbenv style environment managers. You don't have to git clone or modify your shell profile for each **env anymore if you install anyenv. ...

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

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