Posts

Instructions for installing MinIO with Docker

Image
Introduction MinIO is a high-performance, open-source Object Storage system that is fully compatible with the Amazon S3 API. Key advantages include ultra-fast data processing speeds, a lightweight cloud-native architecture, easy scalability, and high security with advanced data encryption capabilities. Detail First, create a docker-compose.yml file with the following content, changing the YOUR_ACCESS_KEY and YOUR_SECRET_KEY values to suit your needs: services : minio : image : quay.io/minio/minio:latest container_name : minio-dev ports : - "9000:9000" - "9001:9001" environment : MINIO_ROOT_USER : YOUR_ACCESS_KEY MINIO_ROOT_PASSWORD : YOUR_SECRET_KEY volumes : - minio_data:/data command : server /data --console-address ":9001" volumes : minio_data : Run the docker container as follows: docker-compose up -d If you want to use an interface for easier management, you need to install the MinIO Client (...

Optimizing Konva Performance with Layer Caching and Tiling

Image
Introduction In previous articles, I have guided you on using Viewport Culling and requestAnimationFrame to improve performance when using Konva to render 1,000 elements. Now, we will continue to improve further with Layer Caching and Tiling techniques to handle up to 10,000 elements. Prerequisites This article is extended from my previous articles, so please review the previous articles to grasp the necessary information before continuing. Detail Update file type.ts import type {GroupConfig} from 'konva/lib/Group' export interface ShapeData { id : string type : string x : number y : number size : number color : string } export interface ViewRect { x1 : number y1 : number x2 : number y2 : number } export interface ShapeItemProps extends GroupConfig { item : ShapeData image ?: HTMLImageElement onClick : ( id : string ) => void } export interface TileProps { items : ShapeData [] image : HTMLImageElement | undefined isZoomedOu...