Sử dụng Rails Caching để giảm thiểu query trong rails api
Như mọi người đã biết, performance là vấn đề gì đó cực kỳ quan trọng và làm đau đầu không ít lập trình viên. Đối với những lập trình viên mới vào nghề và chưa có nhiều kinh nghiệm làm việc, họ sẽ ít để ý tới vấn đề này.Họ sẽ chỉ đơn giản code để có thể chạy mọi thứ, đó là điều đã quá tuyệt vời. Tuy ...
5 điều cần chú ý khi viết Dockerfile
Ở trong bài viết này, mình dựa trên kinh nghiệm cá nhân trong việc quản lý Docker server và thực tế ở những dự án khác trong công ty để đúc kết tóm lược lại những điều cần lưu ý khi viết Dockerfile 1. Không để các file không cần thiết ở trong thư mục của Dockerfile Khi thực hiện lệnh docker ...
Xây dựng ứng dụng đọc PDF cùng PDFKit
Lý thuyết PDF là gì? PDF là tài liệu sử dụng định dạng Adobe Corporation’s Portable Document , tài liệu dạng pdf có thể bao gồm text, image. Nhờ nhiều ưu điểm của mình, pdf hiện nay được sử dụng vô cùng phổ biến. PDFKit PDF kit xuất hiện từ iOS 11 , được Apple xây dựng giúp ...
Sự khác biệt giữa 2 mô hình Waterfall Vs. Agile
1.Thế nào là mô hình Waterfall/Thác nước Phương pháp mô hình thác mà còn được gọi là mô hình vòng tuần hoàn dạng vòng lặp. Mô hình thác nước theo thứ tự tuần tự và do đó nhóm phát triển dự án chỉ chuyển sang giai đoạn phát triển hoặc thử nghiệm tiếp theo nếu bước trước đó hoàn thành thành công. ...
Window function - Giới thiệu và ứng dụng
Introduction Window function là gì? Partition Enter Window frame Applications - Bài viết này giúp tôi tăng lương như thế nào? ROW_NUMBER RANK() và DENSE_RANK() LAG và LEAD Movable window frames References Window function là gì? A window function perform a calculation ...
Cách dùng Kotlin Coroutine trong Android
Với việc dùng thư viện kotlinx.coroutines thì các bạn có thể chạy một coroutine mới bằng cách sử dụng hàm launch hoặc async. Về mặt khái niệm thì async gần giống như launch. Nó khởi chạy một coroutine riêng biệt như là một light-weight thread mà chạy đồng thời với các coroutine khác. Điểm khác ...
Học Redux bằng hướng dẫn dễ dàng nhất thế giới - Phần 1
Đây là bài dịch, bài gốc mời các bạn xem ở đây : https://medium.freecodecamp.org/understanding-redux-the-worlds-easiest-guide-to-beginning-redux-c695f45546f6 Vì bài gốc khá dài nên mình sẽ chia thành nhiều phần, đây là phần đầu tiên Đây là một hướng dẫn toàn diện (nhưng đã được đơn giản ...
TPKeyboardAvoiding with Swift.
Node: Bài viết này mình chủ yếu là share code nhé. Mình tin rằng hầu hết các Develop ai cũng biết tới thư viện TPKeyboardAvoiding dùng để xử lý view khi keyboard ios và hiển thị. Dưới đây mình đã convert Code Objective - C sang Swift để dùng cho các dự án của mình. Source Code import ...
Biến Sublime Text 3 thành IDE Javascript
Sublime Text là một trong những trình soạn thảo phổ biến nhất cho phát triển web và phát triển phần mềm nói chung. Nó rất trơn tru và nhanh chóng so với các trình soạn thảo khác. Sublime cũng có rất nhiều plugin bạn có thể tìm thấy thông qua Package Control . Nhưng nó chỉ là một trình soạn thảo ...
Sử dụng GraphQL với Laravel và Vue
Đây là ví dụ nho nhỏ về GraphQL sử dụng trong thực tế, có khá nhiều bài viết đã sử dụng với React, bài này mình sẽ dùng với Vue làm client truy vấn GraphQL và Laravel sẽ chịu trách nhiệm làm server GraphQL trả về dữ liệu cho client. 1.1 Cài đặt Laravel và xây dựng Database + Model Trước tiên ...
Design pattern - Tại sao phải học Design pattern
Trong công nghệ phần mềm, một mẫu thiết kế design pattern là một giải pháp tổng thể cho các vấn đề chung trong thiết kế phần mềm. Một mẫu thiết kế không phải là một thiết kế hoàn thiện để mà có thể được chuyển đổi trực tiếp thành mã; nó chỉ là một mô tả hay là sườn (template) mô tả cách giải ...
Đa luồng trong Python (multithreading)
Bạn dùng máy tính hàng ngày, mở hàng chục trang web khác nhau, cùng một cơ số đếm không xuể các ứng dụng nghe nhạc, xem phim, game ở ngoài, bạn có tự hỏi vì sao máy tính có thể cân hết chừng đấy việc một lúc không? Dường như các chương trình đều phản ứng chỉ trong tích tắc, và đang chạy đồng thời ...
What does “return false;” do? in Jquery
Mở đầu Trong lúc mình làm Dự án thì cũng có gặp một số bug về Javascript trong lúc search thì cũng tìm được một số kiến thức khá hay mà chúng ta thường không để ý đến =)) đó là return false; vậy chắc hẳn chúng ta ở đây đều đã sử dụng đến return false trong JS cụ thể ở đây mình dùng jquery 1 thư ...
NonNull LiveData với Kotlin extension
Nếu hiện tại bạn đang sử dụng Google Android Architecture Components, bạn sẽ biết LiveData là gì. Nếu không, bạn có thể tìm hiểu tại link sau: https://developer.android.com/topic/libraries/architecture/index.html. Trong bài viết này, chúng ta sẽ tìm hiểu một vài cách để LiveData dễ sử dụng hơn, ...
[NodeJs][React] Học cách làm app bằng NodeJs với React (Phần 4)
Như phần trước ta đã làm phàn đăng nhập và lưu session, giờ phần này ta sẽ làm liên quan đến Blog, tức là các bài viết. Danh sách các bài viết Đầu tiên đường dẫn mặc định vào list các bài viết sẽ là /home và chỉ dành cho các thành viên sau khi đăng nhập. Vậy ta xử lý đoạn đó như sau ...
How to create Swap area
Swap là gì Swap là khái niệm bộ nhớ ảo được sử dụng trên hệ điều hành Linux. Khi VPS/Server hoạt động, nếu hết RAM hệ thống sẽ tự động sử dụng một phần ổ cứng để làm bộ nhớ cho các ứng dụng hoạt động. 1.Tạo phân vùng swap - mkswap Để tạo phân vùng swap thì chúng ta sử dụng lệnh ...
Login với bảng user có nhiều khóa chính (Laravel 5.6)
Có khi nào bạn phát triển cho một hệ thống mà bảng user có nhiều khóa chính chưa nhỉ? Điều này không có vẻ khá là ít gặp. Và trong dự án mới mình đã gặp cái điều ít gặp này. Hơi bị hách não, vì làm quen với laravel thì thường làm kiểu 1 user có một khóa chính. Vì thế mình đã tốn hơi nhiều công sức ...
[iOS]Tự tạo bàn phím support chửi bậy trong Liên Quân Mobile
TL;DR Vậy là 1 mùa phượng đỏ nữa lại đến, mang theo trong mình hơi thở nồng ấm của mùa hè. Mùa hè là mùa của sự bùng cháy, phát triển mãnh liệt. Cũng là mùa mà các em nhỏ xa thầy cô, xa bạn bè xa mái trường yêu dấu, ngày đêm quên ăn quên ngủ phá rank mùa hè. Trong bất cứ game đấu nào, bạn ...
HashMap trong Java hoạt động như thế nào?
Link bài viết gốc: https://gpcoder.com/2645-hashmap-trong-java-hoat-dong-nhu-the-nao/ HashMap lưu trữ dữ liệu ở dạng các cặp key-value (khóa-giá trị). Mỗi cặp key-value được lưu trữ trong một đối tượng của lớp Entry<K, V>. Lớp học bên trong này có bốn trường: key (khóa), value (giá trị), ...
Xây dựng RESTful Web Service trong Java với Dropwizard framework
https://www.dropwizard.io Dropwizard is a Java framework for developing ops-friendly, high-performance, RESTful web services Thân thiện, hiệu năng cao cho các ứng dụng micro services là những mô tả ngắn gọn nhất của Dropwizard. <dependency> <groupId>io.drop ...