MySQL index optimize B-Tree

Có rất nhiều cách khác nhau để tối ưu hoá câu lệnh SQL nâng cao performance. Một trong số đó là đánh index cho các fields của table. index là việc cấu trúc dữ liệu, lưu trữ theo một cơ chế nào đó để tìm ra các record một cách nhanh chóng. Index là rất cần thiết để tăng performace và ngày càng ...

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

Thao tác với file excel trong Java sử dụng API Apache POI

Đôi điều về Apache POI Nhiều khi trong một ứng dụng phần mềm cần thiết phải tạo ra các báo cáo trong định dạng file Microsoft Excel, hoặc sẽ nhận file Excel như dữ liệu đầu vào. Ví dụ, một ứng dụng được phát triển cho bộ phận Tài chính của một công ty sẽ được yêu cầu để tạo ra tất cả các kết quả ...

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

Validate with redux-form (part 2)

Trong bài viết trước Part 1 tôi đã nói về cách làm thế nào để validate một form đơn giản với redux-form. Trong bài viết tiếp theo này tôi sẽ giới thiệu một số kĩ thuật phức tạp hơn như validate nested form, khởi tạo dữ liệu cho form 1. Validate nested form với redux-form Với những form phức ...

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

FileProvider và FileUriExposedException trong Android Nougat 24

Android Nougat Troubles Như anh em đã biết thì Android N đã ra mắt khá lâu, nhiệm vụ của anh em lập trình viên đó là kéo bản SDK mới nhất về (24) và set targetSdkVersion = 24 rồi kiếm 1 em đã update Nougat hoặc dùng máy ảo để cảm nhận những thay đổi mới nhất. Tuy nhiên đến đây có những vấn đề ...

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

When to use NoSQL and SQL

Mở đầu SQL sever và dữ liệu quan hệ (RDBMS) đã được biết đến hơn 20 năm qua. Tuy nhiên với nhu cầu cần thiết trọng việc xử lý dữ liệu cần tốc độ cao hơn, và khối lượng ngày càng lớn cùng với các loại dữ liệu tăng lên đã làm thay đổi bản chất của việc lưu trữ dự liệu trong việc lập trình ứng ...

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

Sử dụng multimap của guava để code ngắn gọn

Trong Java collection framework mang đến cho lập trình viên hầu hết các cấu trúc dữ liệu: List, Set, Map, Stack, Queue với vô số các các implement để lựa chọn phù hợp với mục đích sử dụng, một số được dùng phổ biên là: ArrayList, Hasmap, Hashset ... Trên thực tế với những kiểu cấu trúc dữ liệu trên ...

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

Tìm hiểu Laravel từ số 0 (P4)

Ở phần 3 chúng ta đã đi đến phần Migration, và tạo Model. Trong phần 4 này tôi sẽ tiếp tục với các phần sau : Eloquent Mass Assignment Mutators Tiếp tục với việc sử dụng Eloquent để thao tác với model, chúng ta sẽ đi sâu thêm một chút và những chức năng mà nó cung cấp. Ta vẫn dùng ...

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

Chọn kiểu for-loop nào và khi nào trong Java?

Trong Java có ba phương pháp (hình thức) duyệt với vòng lặp (loop) đó là for-loops (loop thông thường), for-each loops, và Java 8 lambda for-each loops. Java 8 giới thiệu một dạng khác của vòng lặp for. Có phải mỗi khi có phương pháp mới ra đời thì nó tốt hơn phương pháp cũ? Trường hợp này thì câu ...

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

Opensl trong android

I. OpenSL ES là gì OpenSL ES cung cấp một giao diện ngôn ngữ C mà cũng có thể truy cập sử dụng C ++. Nó cho thấy các tính năng tương tự như phần âm thanh của các API Android Java: android.media.MediaPlayer android.media.MediaRecorder Như với tất cả các Android Native Development Kit (NDK), ...

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

Sử dụng regex trong ruby

I. RegEx Regex là viết tắt của Regular Expression, là một chuỗi miêu tả một tập hợp các chuỗi khác, theo những quy tắc và cú pháp nhất định. Regex thường được sử dụng với các tiện ích tìm kiếm, xử lý văn bả dựa trên các mẫu được quy định. Rất nhiều ngôn ngữ hỗ trợ biểu thức chính quy (Regex) khi ...

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

Tìm hiểu WebGL Phần 3: Đi sau vào cách code WebGL appication - các ví dụ

Ở phần này chúng ta tiếp tục tìm hiểu cách lập trình WebGL: liên kết các attribute với các buffer object, sử dụng các hàm để vẽ các mô hình từ dữ liệu truyền vào. Sau đó là các ví dụ đơn giản về vẽ các điểm, mô hình 2D, 3D Liên kết các attribute và buffer object. Mỗi attrubute trong vertex ...

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

Một số ví dụ về sử dụng regex trong java

Regular Expression hay còn gọi là biểu thức chính quy được dùng để xử lý chuỗi nâng cao thông qua biểu thức riêng của nó, những biểu thức này sẽ có những nguyên tắc riêng và bạn phải tuân theo nguyên tắc đó thì biểu thức của bạn mới hoạt động được. Ngoài cái tên gọi Regular Expression ra thì nó còn ...

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

Spring mvc build a simple rest api

Trong bài viết này chúng ta sẽ build 1 restful api đơn giản sử dụng spring mvc. Dưới đây là các api GET request to /api/user/ returns a list of users GET request to /api/user/1 returns the user with ID 1 POST request to /api/user/ with a user object as JSON creates a new user PUT request ...

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

Validate trong redux form

I. Tổng quan về redux-form redux-form là một components bậc cao cho form được sử dụng trong Redux React. Sử dụng redux-form giúp dễ dàng quản lý các state trong form html của React. II. Cài đặt Chúng ta có thể cài đặt redux-form trong console thông qua npm bằng câu lệnh: npm ...

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

Common Usage Of Searchkick In Rails

Sự tăng trưởng về kích thước cũng như độ phức tạp của dữ liệu đang tăng lên từng ngày, nhu cầu tìm kiếm thông tin của người dùng càng ngày càng khắt khe dường như làm cho search engine cơ bản của SQL đuối sức. Trong bối cảnh đó search engine mọc ra như nấm, ví như "cây nấm" nổi tiếng Elasticsearch. ...

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

13 thứ cần biết về Ruby on Rails

Rails là gì? Nó khác biệt so với Ruby on Rails như thế nào? Nó khó đến mức độ nào? Liệu nó có thực sự là một ngôn ngữ lập trình? Cần phải biết những gì trước khi học về Ruby on rails? Thú vị đấy nhưng sẽ có hàng tấn các câu hỏi xung quanh vấn đề này nếu các bạn quyết định tìm hiểu sâu về nó. ...

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

Design pattern in OOP [Part 2]

Chào mọi người, tiếp tục chủ đề về Design Pattern trong lập trình hướng đối tượng mà tôi đã giới thiệu bài trước, hôm nay tôi sẽ tiếp tục giới thiệu đến các bạn một số Design pattern phổ biến và hữu dụng trong lập trình, bao gồm Factory Pattern , Observe Pattern và Data Access Object Pattern ...

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

TÌm hiểu về JSON Web Token

It's that time of the month again, time for yet another last minute report, in an desperate attemp to save our precious 2-days salary. And again, i wish this would be the last time i have to do so. Tình cờ đọc lại một bài report của chính mình viết từ khá lâu trước đây Tản mạn về API design, ...

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

Hướng dẫn gửi notification realtime sử dụng WebSocket

Như tiêu đề hôm nay mình sẽ hướng dẫn các bạn làm 1 ứng dụng demo nho nhỏ về việc gửi notifications theo thời gian thực cho client bằng websocket có sử dụng Ratchet và kết thúc series về Ratchet. Trong phạm vi bài viết này mình xin đặt ra một ứng dụng nhỏ với các yêu cầu như sau: user có thể đăng ...

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

Kotlin for Android : Kotlin Android Extensions, way to forget findViewById

INTRODUCE Kotlin Android Extensions là một plugin của Kotlin, nó cho phép recover view từ activity, fragment, view .. theo một cách trực tiếp nhất. Để cài đặt Kotlin Android Extensions, cũng giống như những plugin khác, chúng ta sẽ install nó từ mục plugin của Android Studio: How does it ...

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