Basic Scalable Vector Graphics (SVG) - P2
Quay trở lại với Scalable Vector Graphics, hôm nay mình sẽ tiếp tục tìm hiểu cách thức để tạo ra một svg bằng tay. Tất nhiên bạn có thể dùng một số phần mềm như adobe illutrator chẳng hạn để sinh ra code svg nhưng trước hết hãy viết code bằng tay để xem svg có những gì. Có khá là nhiều thứ rối ...
Starting with BackboneJs
About the BackboneJs During the development of the web application, we initially focused on backend development, and now there are many backend frameworks out there such as Yii, Zend, Spring, Truct, Ror .... , to determine the success of a site also includes the integral component of the ...
ConstraintLayout trong Android
Là 1 ViewGroup của với những đặc tính giống như cái tên của của nó, Constrain - Hạn Chế thể hiện ở các View nằm bên trong ViewGroup này, chúng luôn có kết nối chặt chẽ với nhau hay nói cách khác là View này sẽ phải phụ thuộc View kia để có thể xác định được 4 thuộc tính cơ ...
Snapshot Testing là gì?
Why test the UI? Đơn giản thì bạn muốn giao diện ứng dụng của bạn không bị thay đổi ngoài ý muốn, chúng ta vào từng màng hình để kiểm tra thử bug UI nào xuất hiện không? Và hàng ngày, sau mỗi đoạn commit, chúng ta lại chạy 1 vòng kiểm tra xem có bug giao diện nào xuất hiện không, quả thật, ...
Điều cần chú ý để xây dựng RESTful API
Chả xa lạ gì ghi nói đến RESTful API nữa nhưng với newbie khi tiếp cận thì học cũng không biết cách viết API như thế nào để thuận tiện cho việc xử lý, đó chính là câu hỏi mà mình tự đặt ra cho mình trong quá trình xây dựng API cho mini app của mình. Giai đoạn đầu mình chưa biết cách viết thế nào ...
Tìm hiểu GraphQL (Phần 3): GraphQL with Rails
Chào các bạn, Ở bài viết trước mình đã giới thiệu qua về các khái niệm cơ bản và tư tưởng chủ đạo của GraphQL Tuy nhiên tất cả vẫn dừng ở mức khái niệm về cách tạo queries, cách update dữ liệu bằng mutations, cách tạo schema để chỉ định các khả năng của API và xác định cách client có thể yêu ...
Domain-specific Language Implementation Patterns (Pt. 1): Writing a DSL from scratch
1. Language application architecture Programming language design is a mental process involving choosing the types of the target language, the paradigms it supports, the operating systems and runtimes it can execute on, and also the grammar of the language. This process is a complex process and ...
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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
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ả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 ...
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ể ...
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 ...
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 ...