Hi there

When given the choice between being right or being kind, choose kind.

Using MinIO as File Storage in Laravel

Using MinIO as File Storage in Laravel
For developers using S3 in production environments, uploading to the project directory locally or on test servers can cause numerous configuration issues.
Read more →

Upgrading Gitlab 13 to 14

Upgrading Gitlab 13 to 14
Recently, due to documentation needs, I discovered significant changes in Gitlab 14 while deploying Gitlab Pages, so I considered upgrading to the latest major version 14.
Read more →

Exploring macOS’s Text-to-Speech Feature

Exploring macOS's Text-to-Speech Feature
For those with imperfect English pronunciation, macOS’s text-to-speech feature can be used to learn how to pronounce certain words. However, I recently discovered that after using the shortcut Option + Esc to read selected words, there’s a long wait before hearing the spoken content.
Read more →

Setting Up an ETCD Dynamic Discovery Service

Setting Up an ETCD Dynamic Discovery Service
Recently, I’ve been considering breaking down our original monolithic service into microservices, which requires distributed storage. The first option that came to mind was ETCD, as it’s used by large open-source projects like Kubernetes.
Read more →

Excluding NOTICE Errors from Sentry Reports

Excluding NOTICE Errors from Sentry Reports
Recently, our company’s Laravel project was upgraded, and non-standard code practices led to continuous Notice and Warning exceptions in Sentry.
Read more →

Sorting PHPStorm ‘use’ Classes by Length

Sorting PHPStorm 'use' Classes by Length
For those with OCD, PHPStorm’s default USE statement sorting is very uncomfortable. Previously, I would manually sort them, but sorting many classes is really energy-consuming.
Read more →

Access Policy for Specific Directories in AWS S3

Access Policy for Specific Directories in AWS S3
Team collaboration requires setting different permissions for different users to prevent a single user’s mistake from causing the entire storage service to become unavailable or objects to be lost.
Read more →

Alibaba Cloud SLB Causing Laravel URLs to Use HTTP Protocol

Alibaba Cloud SLB Causing Laravel URLs to Use HTTP Protocol
While refactoring a company project recently, I discovered that URLs generated by Laravel were all using the HTTP protocol, even though the actual requests were HTTPS, forwarded by Alibaba Cloud SLB to the backend HTTP service port.
Read more →

Using Push Options in Gitlab CI/CD

Using Push Options in Gitlab CI/CD
When using CI/CD, it can be cumbersome to execute different operations based on parameters, such as enabling verbose mode during debugging.
Read more →

Setting Up a Private Packagist to Manage Composer Packages

Setting Up a Private Packagist to Manage Composer Packages
In enterprise development, we often need to develop our own extension packages. Most commonly, we use the VCS method to install dependencies, but this approach becomes slow when there are multiple tags.
Read more →