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 ...

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

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ác giả: Hoàng Hải Đăng viết 17:58 ngày 12/08/2018

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ác giả: Trịnh Tiến Mạnh viết 17:58 ngày 12/08/2018

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 ...

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

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 ...

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

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ý ...

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

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 ...

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

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ác giả: Tạ Quốc Bảo viết 17:58 ngày 12/08/2018

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ác giả: Tạ Quốc Bảo viết 17:58 ngày 12/08/2018

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 ...

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

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ế ...

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

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ác giả: Bùi Văn Nam viết 17:58 ngày 12/08/2018

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 ...

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

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 ...

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

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ác giả: Bùi Văn Nam viết 17:58 ngày 12/08/2018

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ề ...

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

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 { /** ...

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

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 ...

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

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 ...

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

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 --> ...

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