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 ...
Tìm hiểu React Component, Elements và instances
Sự khác nhau giữa component, những instances của nó và elements có thể gây ra nhưng rắc rối nhỏ và dễ gây nhầm lẫn đối với những người mới bắt đầu với React. Sau đây mình xin chia sẻ một bài viết để hiểu rõ được sự khác nhau đó và sử dụng một cách trôi chảy trong React. Nếu bạn là một người mới ...
Thủ thuật quảng cáo mới dành cho Mobile Developer
Bài viết câu từ không hay và thiếu muối, mong các bạn thông cảm, nhưng mình hy vọng các bạn sẽ hiểu được cách quảng cáo mới này Bạn đã biết, Youtube đã đẻ ra một nghề mới cho nền công nghiệp của chúng ta và nó thành trend song song với cái nghề Streamer - đó là Reviewer ! Nghe cái tên quá chi ...
Giới thiệu Protocol-Oriented Programming trong Swift (Phần 1)
Bạn đã bao giờ nghe nói về Object-Oriented Programming? Mình đoán là rồi vì nó cực kì phổ biến ngày nay Nhưng còn Protocol-Oriented Programming thì sao? Protocol-Oriented Programming (POP) được giới thiệu lần đầu bởi Apple tại sự kiện WWDC 2015 với Swift 2.0, và họ gọi Swift là POP, ...
Tìm hiểu về Blockchain bằng cách làm thử - Part 2
Trong bài viết lần trước, chúng ta đã cùng tìm hiểu đến đoạn làm thế nào để tạo ra một Block mới và cách biểu diễn Block trong blockchain của chúng ta. Có lẽ tiếp theo, chúng ta sẽ băn khoăn xem, liệu chúng ta có thể đào (mine) và tạo ra Bock mới như thế nào, nhưng trước hết, chúng ta phải hiểu về ...
Eager Loading trong laravel sử dụng with() hay load()?
Khi chúng ta sử dụng ORM trong laravel, mặc định ORM sẽ ở chế độ "lazy" khi load lên tất cả các model quan hệ (relation). Cụ thể hơn chúng ta cùng xem xét một ví dụ ở docs của laravel như sau: <?php namespace App; use IlluminateDatabaseEloquentModel; class Book extends Model { /** ...
Bài toán develop email marketing - với MailChimp API thông qua Java
MailChimp là dịch vụ Email Marketing rất nổi tiếng. Ngoài ý nghĩa marketing chính ra thì MailChimp còn có thể sử dụng cho nhiều mục đích khác nữa. Ví dụ có thể phát triển làm hệ thống mail thông báo khi có event từ user… Việc sử dụng MailChimp cơ bản gồm các bước sau: 1. Tạo LIST tạo ...
CFNetwork Guide - Các khái niệm trong CFNetwork
CFNetwork là một low-level, high-performance framework cung cấp cho ta khả năng kiểm soát ở mức độ chi tiết hơn về protocol stack. Nó giống như là một phần mở rộng của BSD sockets (một bộ socket API tiêu chuẩn cung cấp các object để đơn giản hóa các tác vụ như giao tiếp với FTP và HTTP server hoặc ...
Thủ Thuật Với Eclipse
Để làm việc được nhanh và hiệu quả hơn với eclipse thì chúng ta cần biết 1 số thủ thuật sau Tự động sinh comment bằng cách vào Source --> Renerate Element Coment hoặc ấn tổ hợp phím ALT + Shift + J Để thay đổi Code template của phần commnet chúng ta vào Windown --> Preferences --> ...