
Automation Test: Process, Planning & Tools
Mỗi nhóm phát triển phần mềm đều có qúa trình kiểm tra các sản phẩm của mình trước khi deliver. Để đảm bảo có thể cover và gỉai quyết những lỗi chức năng tiềm ẩn hay lỗi phát sinh trước khi sản phẩm được release. Tuy nhiên, thậm chí với các quy trình kiểm tra thủ công tốt nhất, đôi khi những lỗi ...

Giải quyết vấn đề sử dụng paginate kết hợp mệnh đề having trong Laravel
Đặt vấn đề Chào các bạn, ở bài viết này mình sẽ đề cập đến một lỗi mà có lẽ mọi người hay gặp khi làm việc với query trong Laravel. Mình nói sơ qua về ngữ cảnh bài toán đơn giản như thế này: Mình có table shops chứa thông tin cơ bản của một shop như tên, hình ảnh, ngày thành lập. Table locations ...

Delegates in Swift
Delegates là gì? ... trong phát triển phần mềm, chúng là những giải pháp kiến trúc để giải quyết các vấn đề thường gặp trong những ngữ cảnh ( trường hợp) nhất định, nó được nói đến phổ biến nhất là "design patterns". Delegates là "design patterns" cho phép đối tượng gửi "message" đến đối tượng ...

[Android Performance]Khắc phục triệt để khi ứng dụng của bạn bị "Treo"
Thông thường chúng ta rất hay gặp phải tình trạng crash apps, đó là khi ứng dụng hiện tại không thể hoạt động được nữa mà chỉ có thể bắt buộc tạm dừng (force close). Nhưng có một trạng thái khác ở một mức độ nghiêm trọng thấp hơn đó là Application Not Responding "Ứng dụng bị treo", tại sao tôi nói ...

Những sai lầm kinh điển khi quảng cáo bằng mạng xã hội
Mạng xã hội như facebook, zalo, Instagram có mức độ tương tác với người dùng tương đối cao, và hiện nay nó cũng được đánh giá là mỏ vàng cho các doanh nghiệp khai thác, tiếp cận với nguồn khách hàng tiềm năng. Đó là lý do mà nhiều doanh nghiệp cửa hàng chuyển sang tiếp thị trên zalo, bán hàng ...

Thôi nhầm lẫn giữa agile và Agile
Một cái là tính trạng, cái kia là phương pháp. Chúng tôi làm Agile. Chúng tôi rất nhanh nhẹn. Thật không may, chỉ có từ "nhanh nhẹn"(agile) đã gây ra một vụ tai tiếng gần đây, được gọi là một số loại thuốc chữa bách bệnh, phân biệt hoặc cơ chế bán hàng giữa các ngành công nghiệp. Bài viết này ...

Chọn framework php phù hợp
Giới thiệu PHP là một trong những ngôn ngữ lập trình phổ biến nhất trên thế giới, với phát hành gần đây của PHP 7 đã làm cho ngôn ngữ lập trình này nhanh hơn và ổn định hơn nhiều so với các phiên bản trước. PHP được sử dụng rộng rãi trong các dự án lớn. Hiện tại, PHP có chiếm đến 80% các trang ...

Các kí tự đặc biệt trong Regular Expressions (phần 1)
Các mẫu có thể chứa các kí tự đặc biệt cho các mục đích tìm kiếm nâng cao mà tìm kiếm trực tiếp sẽ khó khăn như tìm một đoạn chứa một hoặc nhiều hơn một kí tự b, hay tìm một hoặc nhiều kí tự dấu cách (while space). Bảng dưới đây mô tả các kí tự đặc biệt có thể dùng với biểu thức chính quy. Kí ...

7 ứng dụng giúp thu gọn URL hữu ích
Trong chúng ta, những ai thường xuyên gửi báo cáo cho khách hàng qua Chatwork hay Slack chắc chắn đều đã từng phải gửi kèm theo những đường link (URL) để khách hàng tham khảo. Tuy nhiên những đường link (URL) thường có text dài loằng ngoằng nên khi gửi cho khách hàng chắc chắn sẽ gây mất thiện ...

Reduce trong Ruby
Reduce là một function của Enumerable, tuy nhiên với nhiều Rubyists function này rất ít khi được sử dụng. Mọi người thường sử dụng reduce khi muốn tính tổng. [1, 2, 3].reduce :+ Nhưng từ Ruby 2.4.x trở lên thì chúng ta đã có sum làm việc đó [1, 2, 3].sum Nếu vậy chẳng nhẽ reduce trở lên ...

UNCAPTCHA – ĐÁNH BẠI HỆ THỐNG RECAPTCHA ÂM THANH CỦA GOOGLE VỚI ĐỘ CHÍNH XÁC 85%
NGUỒN CẢM HỨNG Trên khắp Internet, hàng trăm nghìn trang web dựa vào hệ thống reCaptcha của Google để phòng chống bot (trên thực tế, Devpost sử dụng reCaptcha khi tạo một tài khoản mới). Sau khi nhóm nghiên cứu của Google chứng minh thất bại hoàn toàn của bản reCaptcha trong năm 2012, hệ thống ...

File Storage trong Laravel
Laravel cung cấp một hệ thống tập tin mạnh mẽ trừu tượng nhờ gói Flysystem PHP tuyệt vời của Frank de Jonge. Sự tích hợp Larvell Flysystem cung cấp các trình điều khiển đơn giản để sử dụng với các hệ thống tập tin địa phương, Amazon S3 và Rackspace Cloud Storage. Thậm chí tốt hơn, thật dễ dàng để ...

ReactJs - Xây dựng ứng dụng chat và deploy lên web - Phần 1
Ứng dụng này là một web app đơn giản có chức năng chat realtime giữa các người dùng, phần frontend sẽ được xây dựng bằng ReactJs và đây cũng chính là trọng tâm kiến thức mà mình muốn chia sẻ với các bạn. Còn backend sẽ là một server node.js làm nhiệm vụ gửi và nhận tin nhắn giữa các người dùng, tất ...

Bắt Đầu với Javascript (P6)
Functions là một trong những khối xây dựng cơ bản trong JavaScript. Một function là một thủ tục JavaScript-một tập hợp các câu lệnh thực hiện một tác vụ hoặc tính toán một giá trị. Để sử dụng một function, bạn phải định nghĩa nó ở đâu đó trong phạm vi mà bạn muốn gọi nó. Trong phần này sẽ tìm hiểu ...

Xử lý multi items choice trong Recycler view
Trong khi làm project, sẽ có lúc bạn cần phải xử lý việc lựa chọn nhiều item (multi items choice) từ một list các item. Khi mà số lượng item tăng lên thì một lựa chọn tốt hơn là sử dụng recycler view để chứa các item vì recycler view có cơ chế tái sử dụng (recycle) view nên cho hiệu năng tốt hơn. ...

Làm việc với MSSQL trong Ruby với gem Tiny_tds
Trong bài viết này mình xin giới thiệu đến các bạn gem Tiny_tds để làm việc với MSSQL server trong dự án Ruby. Cài đặt. Trước tiên, phải cài đặt FreeTDS , với MacOS thì chỉ cần chạy lệnh đơn giản thế này: brew install freetds Sau khi cài đặt xong thì có thể kiểm tra bằng lệnh tsql -C ...

Android Architecture Components: Paging Library
Nhiều ứng dụng của chúng ta cần load rất nhiều data information từ Database. Queries đến Database có thể mất nhiều thời gian và sử dụng rất nhiều bộ nhớ. Do đó Google đã release thư viện mới là Paging Library có thể giúp bạn sử lý vấn đề này. Main component of Paging Library là PagedListAdapter ...

Load ảnh SVG từ sever với Androidsvg kết hợp với Glide
Xin chào mọi người, hôm trước mình gặp 1 bài toán là load 1 file ảnh từ sever về và hiển thị lên Imageview. Nhưng ảnh đó lại là ảnh svg. Ngồi hì hục mãi, cứ ngỡ là chỉ cần Glide là có thể load được lên như ảnh thường, lỗi này cũng do mình hơi chủ quan không xem lại document của glide. Sau 1 hồi ...

Design Pattern - Decorator
Tiếp tục chủ đề về design pattern, pattern của ngày hôm nay là Decorator, một pattern thuộc nhánh Structural Pattern. Định nghĩa Decorator là gì? Mình xin phép bê nguyên định nghĩa từ wikipedia cho tiện. In object-oriented programming, the decorator pattern is a design pattern that allows ...

Giới thiệu về hệ thống gợi ý (Recommender systems hoặc Recommendation systems)
I. Tổng quan về hệ thống gợi ý Hệ thống gợi ý (Recommender systems hoặc Recommendation systems) là một dạng của hệ hỗ trợ ra quyết định, cung cấp giải pháp mang tính cá nhân hóa mà không phải trải qua quá trình tìm kiếm phức tạp. Hệ gợi ý học từ người dùng và gợi ý các sản phẩm tốt nhất ...