Xin hãy ngừng dùng local storage.

Tôi không biết chính xác nó là cái gì mà làm cho bao nhiêu developer phát cuồng và lưu trữ session information trong local storage, nhưng dù gi đi nữa: việc này cần phải ngừng lại. Mọi thứ đang dần ngoài tầm kiển soát. Gần như ngày nào tôi cũng tình cờ thấy một website mới chứa thông ...

Tác giả: Tạ Quốc Bảo viết 14:10 ngày 07/01/2019

Tạo và xuất bản một thư viện cho Android

Người dịch: Dương Đình Tuấn Tôi đã luôn muốn tạo ra một thư viện và “ đóng góp vào mã nguồn mở”, nhưng từ đó đến giờ chưa thực sự có bất cứ thứ gì giá trị để đóng góp cả, cho đến khi tôi cần tự xuất bản một thư viện của mình , vì vậy, đây là hướng dẫn về cách làm và ...

Tác giả: Hoàng Hải Đăng viết 14:10 ngày 07/01/2019

Xây dựng ứng dụng CRUD với angular CLI.

Bài viết này mình xin giới thiệu cách tạo 1 ứng dụng CRUD với angular CLI. Điều kiện trước tiên các bạn phải cài đặt npm hoặc yarn, node, angular CLI. Ở bài viết này mình sử dụng npm và angular 7.1.4, Node 11.6.0. Trước tiên thì mình cần khởi tạo ứng dụng. ng new demo-app --style=scss Đợi 1 ...

Tác giả: Trần Trung Dũng viết 14:10 ngày 07/01/2019

Sử dụng annotation trong Android

Chắc hẳn bạn đã không ít lần từng thấy Android Studio cảnh báo về điều gì đó liên quan đến tham số đầu vào của hàm mà bạn đã ghi đè, nhưng lại không phải trong code của bạn. Như sau: Vậy tham số annotation @NonNullcó ý nghĩa gì, và nó đến từ đâu? Những annotation sẽ giúp bạn viết ...

Tác giả: Trần Trung Dũng viết 14:10 ngày 07/01/2019

Sử dụng Google Map API (v3) và Rails (5.2)

(hi), chào mọi người, hôm nay mình sẽ hướng dẫn các bạn cách sử dụng Google Map Api cho Rails App nhé. Từng bước một mà quất thôi. Để làm được việc này dĩ nhiên yêu cầu các bạn cần biết về Rails và Javascript ở mức độ cơ bản. Bắt đầu nào ! Tạo mới 1 project để nghịch nhé rails new ...

Tác giả: Hoàng Hải Đăng viết 14:10 ngày 07/01/2019

Làm thế nào để nghịch một lúc nhiều account github trên cùng một máy

Bạn là một dev thích vọc vạch, ngồi nghịch các open source và build ra các source tự chế linh tinh nhưng trong 8h hành chính bạn lại là một người cực kỳ nghiêm túc và tài khoản github sạch bách chỉ tồn tại các dự án của công ty. việc đơn giản để giải quyết vấn đề này là dùng nhiều account github ...

Tác giả: Tạ Quốc Bảo viết 14:10 ngày 07/01/2019

Kiểm thử phần mềm là gì?

Kiểm thử phần mềm là một quá trình thực hiện một chương trình hoặc ứng dụng với mục đích tìm ra các lỗi phần mềm. Nó cũng có thể được nêu là quá trình xác nhận và xác minh rằng chương trình hoặc ứng dụng hoặc sản phẩm phần mềm: Đáp ứng các yêu cầu kinh doanh và kỹ thuật đã hướng dẫn nó thiết ...

Tác giả: Trịnh Tiến Mạnh viết 14:10 ngày 07/01/2019

Two-Factor Authentication for Twilio SMS (P2)

Chắc hẳn trong các bạn đã nhiều lần sử dụng bảo mật 2 lớp cho rất nhiều tài khoản. Hôm nay mình xin hướng dẫn tạo bảo mật 2 lớp cho tài khoản. Như ở Phần 1 mình đã hướng dẫn các bạn cách gửi SMS thông qua twilio, giờ bối cảnh sẽ là khi người dùng đăng kí, nhập số điện thoại, sẽ gửi code dưới dạng ...

Tác giả: Hoàng Hải Đăng viết 14:10 ngày 07/01/2019

Tạo một ứng dụng iOS không sử dụng Storyboard

Như chúng ta đã biết, IDE XCode mặc định tạo một Project sử dụng Storyboard. Việc bỏ storyboard ra khỏi Project là tương đối khó khăn đối với người mới làm quen với iOS, Trong bài viết này, ta sẽ từng bước để tạo một ứng dụng iOS mà không sử dụng storyboard. Khi tạo tạo một Project mới, XCode sẽ ...

Tác giả: Tạ Quốc Bảo viết 14:10 ngày 07/01/2019

Tái sử dụng code với Mixins trong Vuejs

Trong quá trình phát triển ứng dụng, có rất nhiều những functions hay datas bạn muốn sử dụng lại nhiều lần. Hãy tưởng tượng nếu bạn cứ vứt những đoạn code có chức năng tương tự nhau ở khắp mọi nơi, rồi đến 1 ngày đẹp trời bạn phải update lại logic cái function đó hay thay đổi 1 đoạn text nào đó và ...

Tác giả: Hoàng Hải Đăng viết 14:09 ngày 07/01/2019

How to make a Chatbot with Artificial Intelligence (AI)?

The world is slowly moving towards intelligent business systems that can make important decisions or perform vital actions on behalf of humans while offering a personalized experience. AI Chatbots are the latest rage in the current business technology scene ranging from E-commerce systems to ...

Tác giả: Hoàng Hải Đăng viết 14:09 ngày 07/01/2019

Chapter 2: Protocols

Ở chapter 1 chúng ta đã cùng tìm hiểu về sự liên quan của 2 mặt của API, client và server. Để các bạn nắm bắt được chắc chắn hơn cách thức chúng giao tiếp với nhau, chúng ta sẽ nhìn sâu hơn vào cách client và server tương tác với nhau trong nội dung bài viết này. Trước tiên chúng ta nhìn vào mô ...

Tác giả: Trần Trung Dũng viết 14:09 ngày 07/01/2019

Early Testing là gì: Test Early và Test Often nhưng bằng cách nào?

Việc kiểm thử phần mềm nên bắt đầu sớm trong vòng đời phát triển phần mềm (Software Development Life Cycle - SDLC). Việc này giúp nắm bắt được và triệt tiêu sớm những rủi ro và nhược điểm trong phase lấy requirement và phase design trong vòng đời phát triển phần mềm. Việc kiểm thử sớm sẽ giúp giảm ...

Tác giả: Bùi Văn Nam viết 14:09 ngày 07/01/2019

Dev hiện đại phần 2: Chạy ứng dụng trên... localhost

Nghe thì đơn giản nhở, ai là dev mà chả chạy được ứng dụng trên localhost rồi, sao phải hướng dẫn phức tạp loằng ngoằng làm gì? Nhưng nếu bạn đã ở vào hoàn cảnh chạy trên máy mình được mà máy đồng nghiệp không được, hay là máy mình được mà lên server lại tịt ngóm,... thì bạn nên tiếp tục đọc ...

Tác giả: Trịnh Tiến Mạnh viết 14:09 ngày 07/01/2019

Tại sao chúng ta nên dùng Interface Builder (XIB) thay vì Storyboard?

Tôi rất thích sử dụng Interface Builder (IB) khi lập trình iOS. Nó giúp tôi làm giảm bớt rất nhiều dòng code mà có thể xuất hiện trên các view layer. Nhưng sử dụng storyboards cũng mang lại rất nhiều vấn đề. Bài viết này tôi sẽ giải thích cho các bạn vì sao sử dụng file xib riêng biệt giúp hiệu ...

Tác giả: Tạ Quốc Bảo viết 14:09 ngày 07/01/2019

The Complete Guide to Create a Copy of an Object in Ruby: Part I

Tại sao chúng ta lại cần copy các Object? Nhu cầu này xuất hiện khi chúng ta muốn thay đổi hoặc di chuyển chúng mà vẫn phải đảm bảo được tính nguyên bản của các Object này. Trong bài viết này, chúng ta cùng nhau tìm hiểu các chủ đề sau: shallow copy và deep copy dup và clone trong ruby so ...

Tác giả: Bùi Văn Nam viết 14:09 ngày 07/01/2019

4 lợi ích của việc sử dụng Test Automation với Espresso

Nếu bạn là một Android dev, có lẽ bạn cũng không còn lạ lẫm với framework Espresso của Google sử dụng cho automation test. Là một công cụ nguồn mở, nó rất dễ dàng cho các nhà phát triển sử dụng cũng như là tuỳ biến cho việc thực hiện automation test. Nhưng trước khi thảo luận về lợi ích của ...

Tác giả: Trần Trung Dũng viết 14:09 ngày 07/01/2019

SQL Series: Vì sao bạn nên xài SQL CTEs

CTE cho phép bạn lưu trữ một query để xài trong script khi có dịp cần thiết. Tuy vậy, chúng thường bị đánh giá thấp hơn subquery, vốn được xài bởi rất nhiều người. Bài viết này sẽ giải thích lí do vì sao tôi lại thích xài CTE để tạo các SQL query. Cách chúng hoạt động Trong ví dụ ...

Tác giả: Trần Trung Dũng viết 14:09 ngày 07/01/2019

System Recovery - Giới thiệu về khôi phục cơ sở dữ liệu

Như trong phần trước, chúng ta sử dụng thuật ngữ quản lý dữ liệu thay vì quản lý tài nguyên chung chung. Loại quản lý dữ liệu phổ biến nhất là một hệ thống cơ sở dữ liệu. Tuy nhiên, các nguyên tắc áp dụng cho bất kỳ trình quản lý tài nguyên giao dịch nào, chẳng hạn như trình quản lý hàng đợi và các ...

Tác giả: Vũ Văn Thanh viết 14:09 ngày 07/01/2019

Cách tạo custom templates trong Android

Hê-lô 501 anh chị em Mỗi khi chúng ta làm việc trong một dự án mới, chúng ta phải viết rất nhiều code liên tục và trong một khoảng thời gian, nó trở nên rất tẻ nhạt. Tôi đã trải nghiệm nó trong khi tạo Ứng dụng Android nơi tôi phải viết quá nhiều code template bất cứ khi nào tôi tạo một ...

Tác giả: Vũ Văn Thanh viết 14:09 ngày 07/01/2019