Javascript - Hỏi đáp về javascript [Phần 1]

Javascript, ngôn ngữ luôn nằm trong những hot languages trong các năm gần đây. Xuất hiện ở hầu hết các khía cạnh của lập trình như lập trình web, lập trình mobile application, VR, AR, 3D game, lập trình lệnh cho Drone, ... Cho tới bây giờ tôi vẫn không hiểu tại sao javascript lại có thể phổ biến ...

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

Data Migration Testing (P2) - Những giai đoạn của Data Migration Testing

Ở bài viết trước, chúng ta đã có cái nhìn tổng quát về Data Migration Testing. Trong phần tiếp theo này, tôi sẽ giới thiệu kĩ hơn về cách thực hiện Data Migration Testing Giai đoạn # 1: Pre-Migration Testing Trước khi migrate data, chúng ta thực hiện test ...

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

Làm thế nào để estimate thời gian và giá trị của dự án

Estimate dự án Sau một thời gian dài làm việc với các dự án, cũng va chạm nhiều câu hỏi của các bạn developer như: Ông nào estimate cái dự án này ngắn thế thì đi mà làm? Cái chức năng khó thế này sao chỉ có 2h Suốt ngày làm đi làm lại cái form login này mà để tận 3 ngày là sao? Hay còn ...

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

Rails - Request under the hood

Mở đầu Nếu bạn là một Ruby developer, cụ thể là từng sử dụng rails để phát triển ứng dụng web thì bạn đã từng thắc mắc tại sao Rails lại có thể làm được những thứ rất vi diệu mà không hiểu tại sao. Thực chất, đó đều là những library, package, hay như trong giới ruby thì gọi là "gem" được cài đặt ...

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

Một số vấn đề lưu tâm khi bắt đầu học và làm ReactJs (Phần 2)

Sau một thời gian dừng lại ở phần một, hôm nay mình quay lại với phần hai trong series bài viết về những vấn đề mình cảm thấy cần lưu ý khi học và làm ReactJs. Chưa chắc đã là phần cuối vì càng làm mình càng thấy có nhiều thứ hay ho cần note lại. Tuy nhiên ở bài viết này ...

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

Sử dụng Docker, Docker Compose với Rails & MySQL

Chào các bạn, hôm nay mình sẽ giới thiệu cách sử dụng Docker, Docker Compose với Rails app và MySQL. Cần sử dụng Docker với Rails app (đã có sẵn hoặc maintain) với MySQL. Muốn chạy Rails app và MySQL trên Docker Container chứ không chạy dưới local nữa. Đặc biệt dành cho những bạn chưa biết ...

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

Cấu trúc dữ liệu và giải thuật - Search

1. Các thuật toán tìm kiếm Tìm kiếm tuyến tính(Linear Search) : là một giải thuật tìm kiếm rất cơ bản. Trong kiểu tìm kiếm này, một hoạt động tìm kiếm liên tiếp được diễn ra qua tất cả từng phần tử. Tìm kiếm nhị phân(Binary Search): là một giải thuật tìm kiếm nhanh với độ phức tạp thời gian ...

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

Hướng dẫn code C++ cho lập trình viên iOS (phần 2)

Ở phần này chúng ta sẽ tiếp tục đến với việc quản lý bộ nhớ, một việc mà ai cũng ghét =)) Quản lý bộ nhớ là một trong những phần quan trọng nhất mà chúng ta phải thông thạo cho dù làm việc với bất kì ngôn ngữ nào. Java đơn giản cho phép "gabage collector" quản lý việc đó. Objective-C đòi hỏi bạn ...

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

Một vài trường hợp chung để Kiểm thử video

Bài viết này tổng hợp những trường hợp test video và những kinh nghiệm cần có khi test các chức năng đến video . Dưới đây là các trường hợp , khía cạnh cần phải được kiểm thử : 1.Kiểm thử về giao diện Đây là khía cạnh quan trọng nhất khi đề cập đến việc người dùng có cảm thấy thích thú khi xem ...

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

Tản mạn về NoSQL

Thế giới đang thay đổi. Trước đây IBM, Oracle ra lệnh cho các quy tắc, các chuẩn công nghệ. Nhưng giờ đây những ông lớn như Google, Facebook, Amazon đã đưa các quy tắc, các công nghệ của họ tiến lên phía trước. Các công ty này tạo ra hàng terabytes dữ liệu và nhận hàng triệu request trong thời gian ...

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

Advanced caching with RxJs

Khi xây dựng một ứng dụng web, vấn đề performance luôn được ưu tiên hàng đầu. Có khá nhiều cách để chúng ta có thể cải thiện hiệu năng của một ứng dụng Angular như tree-shaking, AoT (ahead-of-time compilation), lazy loading modules hay caching. Để có cái nhìn tổng quan về những gì chúng ta có thể ...

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

Amazon WorkSpaces - Giải pháp làm giảm nguy cơ rò rỉ thông tin doanh nghiệp

Việc cung cấp máy tính cho nhân viên công ty thường đảm bảo về an toàn an ninh hơn là việc cho nhân việc sử dụng máy tính cá nhân. Tuy nhiên, nếu có một hệ thống an toàn và rẻ hơn phương pháp đó thì các bạn nghĩ sao? Chìa khóa cho vấn đề này chính là dịch vụ có tên gọi là "máy tính ảo ...

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

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