Build base request network with Alamofire, Rxswift and SwiftyJSON. Using CRUD & Authorization Alamofire

Nếu các bạn đã đọc bài này của mình giới thiệu về các Library thì hôm nay mình sẽ đi sâu hơn về building một base networking sử dụng mô hình CRUD and Authorization mình tự building thông qua tham khảo document của alamofire và dự án mình đang làm. Using MVVM pattern design. Thư viện ...

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

Processing large CSV files with Ruby

Chắc hẳn là các lập trình viên chúng ta đã rất thân thuộc với các thao tác quen mắt như: CSV.read, CSV.open, CSV.foreach... khi làm việc với các file csv trong RoR Project. Nhưng chưa hẳn chúng ta đã để ý tới sự khác nhau và việc ảnh hưởng đến bộ nhớ cũng như performance khi sử dụng những thao tác ...

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

Sử dụng Arrays trong Rails với PostgreSQL

I. Tạo trường dữ liệu kiểu array 1. Tạo trực tiếp trong PostgreSQL: CREATE TABLE arrays_example( name text, values integer[] ); Bằng cách thêm [] vào sau kiểu dữ liệu mong muốn, ta có thể tạo được trường dữ liệu là 1 mảng của kiểu dữ liệu mong ...

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

Sử dụng <template> và <slot> trong HTML với Shadow DOM

Sử dụng HTML <template> và <slot> với Shadow DOM. Bài viết tham khảo How to Use HTML <template> & <slot> With Shadow DOM. HTML slot là một trong những tiêu chuẩn đáng chú ý nhất được đề xuất bởi W3C. Cùng với một tiêu chuẩn W3C ấn tượng khác là template, bạn sẽ có ...

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

Tạo một Custom View trong Android

Một ngày có hàng trăm ứng dụng mới ra đời, với những mục đích khác nhau, nhưng về các view có thể thấy là đều giống nhau ở những nét cơ bản. Đó là lý do tại sao, rất nhiều khách hàng đã yêu cầu lập trình viên tạo các giao diện khác biệt, cụ thể mà không giống các ứng dụng khác nhằm tạo trải ...

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

Tìm hiểu GraphQL (Phần 2): Các khái niệm cơ bản

Chào các bạn, Ở bài viết trước mình đã giới thiệu sơ lược về GraphQL và có một số so sánh nhỏ giữa GraphQL vs Rest Api để có thể thấy được vì sao và có nên sử dụng GraphQL ko. Ở bài viết này mình sẽ trình bày một số khái niệm cơ bản của nó Xuyên suốt loạt bài viết của mình là một ví dụ rất cơ ...

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

Những điểm mới trên Swift 4 mà chúng ta nên biết

Giới thiệu Swift 4 là bản release mới nhất của Apple, được đưa ra vào mùa thu năm 2017. Swift 4 ngoài tương thích với Swift3 thì còn có những tính năng mới tuyệt vời. Nào chúng ta cùng tìm hiểu nhé! Swift4 vs Xcode9 ? Swift 4 được cài đặt mặc định khi chúng ta dùng Xcode 9, bạn có thể ...

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

Mô hình phát triển dự án kết hợp giữa Agile và Waterfall

Phát triển waterfall (thác nước) là gì? Kỹ thuật thác nước là một ý tưởng rất ngắn gọn và cực kỳ cổ điển về quản lý phát triển hệ thống. Nó là một phương pháp dạng thác nước để phát triển một kế hoạch chi tiết như: Ngày giao hàng và ngày hoàn thành dự án được xác định. Đặc điểm kỹ thuật ...

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

Làm chủ Shadow trong ứng dụng Android (Phần 2)

Tiếp theo phần 1 về Làm chủ Shadow trong ứng dụng Android (https://viblo.asia/p/lam-chu-shadow-trong-ung-dung-android-phan-1-yMnKMybjK7P) Ở phần 2 này mình sẽ trình bày các topic tiếp theo giúp mọi người hiểu hơn về Light và Shadow: Ánh sáng Đã nhấn và nghỉ Outline Để hiểu được về ...

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

Upload file sử dụng Vue dropzone

I. Chuẩn bị Cài đặt Vue sử dụng Vue CLI bằng một trong 2 câu lệnh sau: npm install -g @vue/cli or yarn global add @vue/cli Nếu gặp lỗi bạn hay thử với quyền root. Tạo project với scaffold dựng sẵn: vue create vuedropzone Di chuyển vào thư mục gốc và mở source code bắng ...

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

Các trường hợp nên áp dụng Generics vào lập trình trong Java

Đầu tiên chúng ta sẽ tìm hiểu xem tại sao nên sử dụng nó và áp dụng nó trong trường hợp nào. Tại sao nên sử dụng Generics Hãy cùng xem qua một phương thức add dơn giản phía dưới. Với phương thức đó thì chúng ta không thể truyền vào một biến long, float hoặc double như một đối số của phương ...

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

Các bước để chuyển hướng công việc từ một Tester sang BA

Một kiểm thử viên chuyên nghiệp được yêu cầu kiểm tra cẩn thận, kỹ lưỡng các sản phẩm phần mềm được phát triển để đảm bảo chắc chắn rằng phần mềm đáp ứng được các yêu cầu cuối cùng của khách hàng. Một chuyên viên phân tích nghiệp vụ cũng có trách nhiệm xác minh xem phần mềm được xây dựng và ...

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

Vì sao tôi thích sử dụng redux với react

Tháng trước mình có đọc được một bài báo nói rằng Dan Abramov đã công bố một tính năng mới cho react tên là "Future-Fetcher", cái mà sẽ làm cho Redux trở nên lỗi thời. Điều đó làm mình rất bất ngờ bởi vì mình khá là thích redux, và rất may là redux vẫn còn sống nhăn răng. Kinh nghiệm được rút ...

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

Hướng dẫn về Database Testing - Part 1

Database testing bao gồm thực hiện validate data, kiểm tra toàn vẹn dữ liệu, kiểm tra hiệu năng liên quan đến cơ sở dữ liệu và kiểm tra các thủ tục, trình kích hoạt và chức năng trong cơ sở dữ liệu. Đây là một hướng dẫn giới thiệu giải thích tất cả các nguyên tắc cơ bản của kiểm tra Database ...

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

Appium

Đối với việc kiểm thử tự động mobile, chúng ta cần có một framework tốt. Các framework của kiểm thử tự động mobile có thể được tách biệt bởi hệ điều hành của thiết bị di động. Có 2 loại framework kiểm thử mobile là Android testing frameworks và iOS testing frameworks. Trên thị trường có khá nhiều ...

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

Kotlin Scope function: let, apply, run, also, with

Hôm nay mình xin giới thiệu tới các bạn một số scope function là let , apply , run , also và with trong nhóm standard function của Kotlin . Và mình xin ví dụ các function này với Android để cùng thảo luận về cách sử dụng, các điểm giống và khác nhau của chúng đồng thời là một số use ...

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

Tìm hiểu cơ bản về node js phần 2: Làm việc với cơ sở dữ liệu

Node.js có có thể làm việc với cơ sở dữ liệu như các ngôn ngữ lập trình và framework khác. Và Node.js hỗ trở các cơ sở dữ liệu nổi tiếng khác nhau: MySql, Sql Server, MongoDB ... Node.js và MySql. Để thao tác với MySql ta cần: Một server cài đặt sẵn MySql . Để Node.js có thể làm việc với ...

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

Deploy Rails App lên Ubuntu server với Unicorn và Nginx

Dễ hiểu là server HTTP cho Ruby. Cơ chế hoạt động là web server gửi các request tới worker Unicorn thông qua Unix sockets or TCP sockets.... Có nhiều lựa chọn khác Unicorn như Puma và Thin. Ở bài viết này mình sẽ giới thiệu về Unicorn Setup Unicoirn Config Unicoirn Rồi tiếp theo phần I. Chúng ...

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

Nguyên nhân gây trùng bug - Làm thế nào để giảm thiểu đến mức tối đa?

Dự án cả team đang yên ổn, kịp tiến độ, các task được giao, các bug được tìm thấy đều được làm và fix một cách tối ưu nhất. Đột nhiên dev nhận được bug mà vừa fix xong ở ticket trước. Dev nghĩ chắc team QA log dư một bug. Sẽ chẳng sao nếu cả dự án chỉ có một vài bug trùng. Tuy nhiên nếu số lượng đó ...

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

Những điều lưu ý khi kiểm tra chức năng tìm kiếm

Hầu hết tất cả các ứng dụng đều có chức năng tìm kiếm cho phép người dùng tương tác với nội dung trang web. Số lượng kịch bản để kiểm tra form tìm kiếm là không giới hạn. Vì vậy bạn cần cân nhắc nhiều yếu tố khi thực hiện kiểm thử. 7 điều dưới đây có thể được coi là điểm chính cho kiểm thử chức ...

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