Firebase vs Ruby: Lựa chọn cái nào để phát triển backend?

Lựa chọn cái gì để làm backend cho ứng dụng iOS hay android của bạn đôi lúc có thể trở nên rất khó khăn. Trong khuôn khổ bài viết nhận thấy Firebase và Ruby cũng có rất nhiều các lợi thế khác nhau nên chúng ta sẽ mang 2 thứ này ra cân đo đong đếm xem nên chọn cái nào để phát triển backend cho ...

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

Sự khác nhau giữa Self và Static trong PHP

Đặt vấn đề Chúng ta cùng tìm hiểu qua một số đoạn code ví dụ như dưới đây. Giả sử chúng ta có class Car như sau : class Car { public static function model ( ) { self : : getModel ( ) ; } protected static function getModel ( ) { ...

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

Tìm hiểu về công cụ Katalon trong kiểm thử phần mềm - tổng quan về Katalon (Phần 1)

Trước khi đi sâu vào tìm hiểu về Katalon, chúng ta sẽ làm quen với một số khái niệm như sau: 1. Katalon Studio Là một bộ công cụ toàn diện cho kiểm thử tự động hóa ứng dụng trên web và điện thoại di động. Công cụ này bao gồm một gói đầy đủ các tính năng mạnh mẽ giúp vượt qua những thách thức ...

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

Backup database và upload lên Google drive

Xin chào các bạn, mình đã quay trở lại rồi đây. Hôm nay sẽ không phải là một bài chia sẻ về bể cá thông minh mà sẽ là một bài viết liên quan đến dữ liệu. Các bạn nếu quan tâm đến series bể cá thông minh của mình thì có thể theo dõi tại đây. Mình sẽ viết bài cuối của series này nhanh thôi. Xin hỏi ...

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

Behavioral patterns

Tiếp tục chuỗi bài về chủ đề design patterns, bài trước mình đã trình bày với các bạn về hai mẫu design của Creational patterns là Abstract Factory, Factory Method, hôm nay mình sẽ trình bay về một mẫu design hoàn toàn mới, đó là Behavioral patterns. Trong kỹ thuật phần mềm, behavioral design (mẫu ...

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

Giới thiệu về CustomRenderer trong Xamarin.Forms

Custom Renderers - Thay đổi hiển thị và behaviors của Xamarin.Forms control Giao diện người dùng Xamarin.Forms được render bằng các native control của từng platfrom giúp cho ứng dụng Xamarin.Forms đạt được cảm giác giống hệt các ứng dụng native. Custom Renderers cho phép các lập trình viên can ...

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

Tìm hiểu về Migration

Migration là một tính năng của Active record cho phép bạn thay đổi cả cấu trúc và dữ liệu trong database. Thay vì thay đổi trực tiếp vào database thì Rails cho phép bạn sử dụng Ruby DSL để mô tả việc thay đổi các table. Tiện gần đây dự án mình gặp vấn đề về migration nên mình viết bài viết này. Bài ...

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

Chat-bot development using Amazon Lex

Lex is an easy to use service that makes the task of chat-bot building very fast and hassle free. In a matter of minutes, a fully functional bot can be developed from the scratch. This only leaves a developer with the task of integration, where bot interface is integrated with application ...

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

em, rem trong css

Có thể bạn đã khá quen thuộc với CSS, nhưng nhiều lúc bạn không biết nên sử dụng đơn vị đo nào cho các element của mình. Mình đã thử search google về các đơn vị đo được định nghĩa trong CSS, rất dễ để thấy những câu hỏi được google suggest như "1em bằng bao nhiêu px", "1rem bằng bao nhiêu px" hay ...

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

Tài nguyên tuyệt vời dành cho lập trình viên Android

Bài viết được dịch từ trang web Udacity Một trong những điểm hấp dẫn nhất khi trở thành một lập trình viên Android đó là nó có một cộng đồng rất sôi động. Hệ sinh thái các nhà phát triển Android là năng động và cộng tác, với việc chia sẻ các bí quyết, thủ thuật và hướng dẫn trên internet và ...

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

Những công nghệ Android đáng học trong 2018

Hầu hết chúng ta đã bắt đầu học và sử dụng Kotlin. Nó loại bỏ những nghi thức rườm rà khi viết ứng dụng Android bằng Java. Hơn nữa tính năng "null safety" tích hợp trong Kotlin giúp cho bạn có thể có 99% khả năng là compuler sẽ cảnh báo bạn những chỗ có thể xảy ra NPE. Hơn nữa, khi chuyển ...

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

Ruby blocks!

Blocks là một tính năng có vai trò quan trọng của ruby. Bài viết sau sẽ chia sẻ về cách blocks hoạt động ra sao và những hữu ích mà nó mang lại. Blocks trong ruby là gì? Một block bạn thường thấy là đoạn code được đặt trong do và end. Bạn có thể viết block bằng 2 cách: nhiều dòng code đặt trong ...

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

Ý nghĩa của các tệp tin sau quá trình Proguard

Khi proguard xử lý một ứng dụng android, nó tạo ra một vài files ghi lại những già đã xảy ra trong từng quá trình. Những files đó thực sự hữu ích nếu bạn muốn hình dung ra proguard đã thay đổi những gì hoặc tại sao source code của bạn lại trở thành như cách mà nó đã làm. Chỉ có điều những files đó ...

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

APIS ON RAILS - Chapter 3: Presenting the users

Trong 2 chap trước thì chúng ta đã thiết kế được bộ khung của app rồi, thậm chí chúng ta đã thêm được phiên bản thông qua headers. Trong bài viết này thì chúng ta sẽ tạo ra products cho từng user và mỗi user có thể tạo order. Bạn có thể clone project ở 2 chap trước bằng link sau: git clone ...

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

Software Project Process: Kanban vs Scrum

Phần 1: Agile là gì? Phần 2: Waterfall là gì? Phần 3: Scrum là gì? Phần 4: Agile vs Waterfall. Con đường nào phù hợp với bạn Phần 5: Agile vs Scrum. Phần 6: Kanban Phần 7: Kanban vs Scrum Sự giống và khác của 2 mô hình: Scrum vs Kanban Scrum và Kankan là 2 "hương vị" của Agile, nhưng giữa ...

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

Tìm hiểu về Session trong laravel

Giới thiệu Hệ thống HTTP không có chỗ lưu trữ, thế nên sessions cung cấp cho ta một cách để lưu trữ thông tin các yêu cầu từ người sử dụng. Laravel cung cấp đầy đủ hệ thống thống nhất thông qua API để hỗ trợ việc này. Hỗ trợ các back-ends nổi tiếng như Memcached, Redis, và cơ sở dữ liệu đã được ...

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

Top 30 câu hỏi và trả lời phỏng vấn về Kiếm thử bảo mật (Security testing)

Nội dung bài viết cung cấp thông tin về những câu hỏi phỏng vấn thường gặp nhất liên quan đến Kiểm thử bảo mật (Security testing) cùng với phần trả lời chi tiết. Kiểm thử Bảo mật là một quy trình được đưa ra nhằm mục đích phát hiện những sai sót trong cơ chế bảo mật của một hệ thống thông ...

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

QUẢN LÝ CHU TRÌNH KIỂM THỬ HIỆU SUẤT TRONG MÔI TRƯỜNG ĐƯỢC QUI ĐỊNH (CMMI) (Phần I)

Làm quen với cách tiếp cận quản lý kiểm thử hiệu suất phù hợp với các dự án CMMI, dự án có thể kiểm soát được và có quy định cao. Tìm hiểu làm thế nào để tối đa hóa hiệu quả mà không bị mất kiểm soát hoặcsự tuân thủ. Tìm hiểu cách cung cấp cho các nhà quản lý và các bên liên quan các chỉ số ...

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

Setup webpack 2

Webpack là một module bundler cho những ứng dụng web hiện đại (SPA). Nó là một cấu hình cao và dễ dàng sử dụng Giảm yêu cầu mạng bằng cách kết hợp tất cả vào một file duy nhất. Step 1 - Create a folder Tạo một thư mục gọi là webpack-2-setup mkdir webpack-2-setup && cd ...

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

Tôi đã test một Rails Application như thế nào? Phần 4: Request Spec và Feature Spec

Nếu như trước đây thì chúng ta sau khi test model thì chúng ta sẽ chuyển sang test controller nhưng hiện nay thì controller testing không tốt khi sử dụng trong Rails. Thay vào đó chúng ta sẽ Test Request và test Feature, trong bài viết này mình sẽ nói về test request. Nếu như các bạn vẫn muốn biết ...

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