AWS 坑爹啊
最近查看 AWS 的账单才发现,在 route53 买的每个域名每个月都会额外收 0.5 刀,并且还有解析费,一看是因为用了托管区(hosted zone),这个收费是托管区的。
这个托管区的作用其实就是 DNS 管理,emmmmm….那可不得不迁移到赛博大善人 Cloudflare 了。
这里记录一些遇到的问题吧,并把一些概念阐述下。
在 Docker 环境中运行 Spring Boot 应用时,为了确保应用能够优雅关机(Graceful Shutdown),需要正确配置多个组件。错误的配置可能导致应用无法正常接收关闭信号,从而无法执行优雅关机流程。
今天才发现服务器上配置有问题没支持, 本地是没问题的。。。最后发现是配置有问题, 这里总结一下。
日志中出现INFO o.s.b.w.e.tomcat.GracefulShutdown - Commencing graceful shutdown. Waiting for active requests to complete
表示成功(我使用的是 tomcat 容器, 其他的日志内容可能不太一样)。
Docker 容器的关闭过程如下:
stop_grace_period
时间(默认 10 秒)Shopify CLI 是开发 Shopify 应用和主题的重要工具,但在中国等网络受限地区使用时常遇到困难。
官方仓库有一些 issue 都提到了这些问题, 但是官方一直没有加对应的配置。
比如: [Bug]: Execute Shopify theme dev with error message: request to xxx.theme.json?xxx processing failed, reason: read ETIMEDOUT
本文将指导你如何正确配置 Shopify CLI,以便在中国顺利进行 Shopify 开发。
2025/05/18 更新 官方已经加入了 proxy 参数
参考: Release Note 3.78
Add HTTP proxy support with the environment variables
SHOPIFY_HTTP_PROXY
andSHOPIFY_HTTPS_PROXY
本指南基于 Shopify CLI 3.67.1 版本。
最近跟着教程学react native
,教程使用的是iOS,而我在windows下开发用的安卓真机,除了一些样式上的区别大体的功能差不多.
但路由的modal
显示不一样感觉观感差的有点多.
这是因为安卓原生是没有iOS那种modal的路由的,expo router
使用的是react navigation
的native stack
,这个设置项在安卓下没有效果.
EC2的指标没有内存相关,而内存是个很重要的指标,要在cloudwatch中监控需要使用cloudwatch agent(CWAgent), 照着官方文档做结果发现没有指标… 最后发现文档里少说了一步
有个功能需要在数据库中配置模板将用户输入填入占位符, 因为要配置多轮message以及各个参数,使用自己配置的方式会比较麻烦,就想着把ChatCompletionsOptions
整个序列化到数据库里,然后拿出来再填入占位符.
但是直接使用jackson会导致对于user的ChatRequestUserMessage
会序列化和反序列化都失败.
在尝试从一个使用Cloudflare Web应用程序防火墙(WAF)保护的网站获取数据时,我遇到了一些挑战.该网站的安全措施非常严格,以至于在正常浏览几个页面后,Cloudflare的检查页面就会出现.
传统的HTTP客户端方法,如直接使用httpclient来抓取页面数据,很快就会遭遇阻碍.
即便尝试使用代理IP池,问题依旧存在,因为Cloudflare的检测机制能够在短时间内多次访问后迅速触发.在多次尝试后,我决定使用playwright这个自动化库来模拟正常的浏览器行为.
虽然在使用playwright的过程中遇到了一些问题,但我最终找到了解决方案.现在,尽管速度稍慢,但我能够正常地从网站获取数据.接下来,我将分享如何克服这些挑战的经验.
现在和朋友一起搞点东西,部署都很简单,服务器上装个docker
,服务丢上去,写个docker compose配置就跑着.
有个服务最近流量涨的比较多,再加上有段时间没有部署,看服务器上的磁盘使用越来越多.
起初以为是应用的日志太多了,应用日志每天归档为gzip,保留60天,看了下并没有多少,用lsof检查也确认没有roll掉的被持有,再去容器内部看了下发现体积远没有这么大.
于是开始用du --max-depth=1
检查发现是/var/lib/docker/containers/
目录, 再一看容器id就是这个服务, 再定位是<container-id>-json.log
文件.