CẮT ẢNH VỚI CARRIER WAVE TRONG RAILS (CROPPING IMAGES)
Chúng ta thương thấy khi upload một ảnh (thường là avatar có kích thước quá lớn) các trang web thường cung cấp tùy chỉnh ảnh hay còn gọi là copping. Kỹ thuật cropping được áp dụng rất nhiều trong thực tế, vậy trong rails chúng ta làm thế nào? Sau đây là bài hướng dẫn cropping images trong rails ...
Làm việc với Email trong môi trường development.
Bài viết là kinh nghiệm mình đúc rút ra được sau khi dự án mình từng làm bị dính phốt với gửi mail trong môi trường phát triển (dev). Mình tin chắc không ít các bạn đang xem bài viết này đã, đang và sẽ gặp phải. Và nếu các bạn chưa tìm ra được solution thì hãy đọc kỹ những gì mình chia sẻ dưới đây ...
Life cycle của AutoLayout trong UIView
Auto Layout là một trong những khái niệm cơ bản và quan trọng nhất trong iOS. Do vậy việc nắm vững và hiểu rõ vòng đời nó là rất cần thiết đối với lập trình viên iOS, giúp tiết kiệm thời gian và tránh bug ảnh hưởng đến UI và performance của app của bạn. Bài viết này sẽ giới thiệu tổng quan về các ...
Top 10 Gem hữu dụng trong việc lập trình web bằng Rails!
Mình đã code bằng Ruby on Rails trong kha khá thời gian và đã giải quyết nhiều bài toán khá phức tạp bằng cách sử dụng framework tuyệt vời này. Dựa trên kinh nghiệm làm việc với RoR, mình đã lập nên một danh sách các Gem mà mình cho là hữu ích nhất. Trong bài viết này, mình muốn chia sẻ danh sách ...
REST Assured vs. JMeter: A Comparison of REST Test Tools
Việc kiểm tra các API (REST) có thể là một việc phức tạp. Nhiều người sử dụng những cách thủ công để test các REST API mà bỏ qua những cách mà có thể giúp họ tiết kiệm thời gian. Bất kỳ REST API service nào đang được test đúng cách sẽ cần: Kiểm tra xem API service có tuân thủ các tiêu chuẩn REST ...
Project documentation - The easy way
When working on a project, many of us, developers, often think of two things as the most painful task. One of those is certainly, writing unit test for a project, and another one is, (yes, you guessed it right) writing documentation. Writing documentation can be a hassle, but keeping the ...
Đăng nhập trên firebase bằng custom token
Trong sử dụng Firebase Realtime Database , sẽ có lúc chúng ta cần bắt buộc người dùng phải đăng nhập vào hệ thống Firebase mới có quyền đọc/ghi dữ liệu. Bởi nếu không, cứ ai có thông tin config về tài khoản firebase của bạn đều có thể làm việc này, dẫn đến nguy cơ mất an toàn về bảo mật thông tin ...
Random numbers thật đơn giản với Swift 4.2
Làm việc với giá trị ngẫu nhiên trong Swift thường khiến chúng ta gặp 1 chút khó khăn bởi vì Swift chưa cung cấp API native cho việc lấy ra giá trị ngẫu nhiên. Do đó, chúng ta đành phải sử dụng các API của C do hệ điều hành cung cấp, và việc đọc chúng cũng không được tự nhiên cho lắm (vd: ...
Dependency Management for iOS : CocoaPods vs. Carthage
Giới thiệu. Đối với các lập trình viên việc tái sử dụng code không chỉ giúp tiết kiệm được thời gian, chi phí cho công việc phát triển phần mềm, tập trung vào phát triển các tính năng chính mà còn góp phần giảm bớt sự nhàm chán khi phải làm đi làm lại các công việc lặp lại trong các dự án khác ...
Phát hiện Memory leaks với Unit Testing
Ở bài trước, tôi đã giới thiệu về Memory leaks và một số phương pháp để phát hiện. Phần này chúng ta sẽ tìm hiểu về phương pháp cụ thể là Unit testing. Chúng ta đã biết về cách hoạt động của cycles và weak references, chúng ta có thể viết code để kiểm tra các retain cycles. Ý tưởng là sử dụng các ...
Tìm hiểu về các tính năng cơ bản của Jmeter - Phần 1
Tìm hiểu về các tính năng cơ bản là điều cần thiết và có lợi nhất khi bắt đầu sử dụng một công cụ bất kỳ nào đó. Vì vậy, trong bài viết này chúng ta sẽ thảo luận về một số tính năng cơ bản của Jmeter nhưng rất quan trọng để sử dụng nó. Nếu bạn là người mới và chỉ mới bắt đầu học Jmeter, thì ...
Tổng hợp các thủ thuật để trở thành một lập trình viên Android thực thụ
Để trở thành một lập trình viên Android trong thời đại 4.0 là một việc tương đối dễ dàng nhưng để có thể thành công và nổi trội hơn phần còn lại, chúng ta sẽ phải cố gắng rất nhiều, phải luôn giữ vững niềm đam mê, sư cống hiến và kiên trì để đạt được mục tiêu. Không có bất kỳ lối tắt nào dẫn đến ...
Sự khác biệt giữa QA và QC (Test Engineer) trong Kiểm Thử Phần Mềm
QA được dùng để nói về quy trình đảm bảo chất lượng theo các tiêu chuẩn, quy trình và thủ tục phù hợp cho dự án và được triển khai chính xác. Quy trình này có thể được thực hiện qua đội ngũ QA Engineer, hoặc manager, hoặc có thể là từ client (với client thì hoạt động này gọi là Acceptance ...
Nguyên lý SOLID
Hầu như các lập trình viên đều biết đến 4 tính chất cơ bản trong OOP: Tính trừu tượng Tính bao đóng Tính kế thừa Tính đa hình Tuy nhiên, ngoài 4 khái niệm này, thế giới OOP còn rất rộng lớn, mà một trong những khái niệm cũng nổi tiếng không kém 4 tính chất kia, đó là nguyên lý ...
Debugging Swift code với LLDB (P1)
Chuẩn bị Nếu người đọc mới hoàn toàn và chưa biết gì về debug thì bạn nên đọc qua bài này trước: link, còn nếu người đọc là cao nhân, các tiền bối, các lão làng hay các lão quái vật trong lập trình IOS thì cũng ko cần đọc tiếp vì cái gì cũng biết rồi =)), Ở những bài này mình muốn tiếp tục các ...
Các mức kiểm thử phần mềm
Định nghĩa Unit Testing là một mức kiểm thử phần mềm với mục đích để xác nhận từng unit của phần mềm được phát triển đúng như được thiết kế. Unit testing là mức test nhỏ nhất trong bất kỳ phần mềm nào. các hàm (Function), thủ tục (Procedure), lớp (Class), hoặc các phương thức (Method) đều có ...
Tìm hiểu những khái niệm lạ trong javascript (Phần 1)
Javascript là ngôn ngữ rất si đa và càng học nó mình càng thấy nó sida vcđ, gần đây mình được tiếp xúc được với một project về react khá thú vị.Mới đầu rất khó khăn trong việc đọc hiểu được từng phần logic của nó, sau một thời gian vừa đọc code vừa tìm hiểu về các cú pháp mới lạ đó mình đã ...
Tạo schedule đơn giản với golang và linux
Nếu bạn có riêng 1 server linux. Bạn có thể up site của mình trên đó. Tuy nhiên nếu chỉ dùng để chạy 1 site nào đó thì thật lãng phí. Với mình có rất nhiều thứ hay ho mình có thể sử dụng nó. Chẳng hạn như bạn có thể dùng server để làm một proxy hoặc sử dụng làm vpn, hoặc sử dụng ip server để ẩn ...
ObjectBox, một cơ sở dữ liệu Android hiện đại và dễ sử dụng ( phần 2)
ObjectBox được thiết kế dành cho thiết bị di động. Nó là một cơ sở dữ liệu nhúng hướng đối tượng có khả năng thay thế đầy đủ cho SQLite. ObjectBox cũng rất thích hợp cho IoT. ObjectBox được tối ưu hóa cho hiệu suất và được thiết kế để các nhà phát triển ứng dụng không phải xử lý SQL. Vì vậy lợi thế ...
Android Gradle 3.0: Sử dụng Implementation hay Api?
Chào mọi người, nếu các bạn từng sử dụng Android Gradle plugin ở các phiên bản cũ khi nâng cấp lên phiên bản 3.0 thì bạn đều biết rằng từ khoá compile đã bị thay đổi thành implementation và api. Vậy implementation và api có gì khác nhau mà phải tách ra như vậy, hãy cùng tìm hiểu trong bài viết sau ...