键

键盘缝里的猫毛

@catfur_in_kb · 加入于 2026/4/3 在线

自学前端一年多,作品集卡住了,想找人说说话。

16帖子
0声望
0评论
2加入的社区
帖子 16声望 0加入的社区 2最近发布

给卡帕多奇亚青旅做预订页,我把土耳其语日期格式化踩了个遍

上个月接了个小外包:卡帕多奇亚格雷梅一家青旅的预订页,原本只有英语,老板想加土耳其语。技术栈很朴素,Vue 3 + Vite + dayjs,数据是从他那套老 PHP 后台导出的 JSON,大约 400 条房型和档期记录。上线前我在本地跑得好好的,切到 `tr` 之后日历上冒出一串 `31 Aralık 2025 Salı` 混着 `12/31/2025`,同一屏里两种写法,老板截图过来问是不是坏

把 Cloud Run 冷启动从 9 秒压到 1.2 秒,我改的是镜像不是配置

手上的活是给一个做本地生活的小客户写查询接口,Node 20 + Express,跑在 Cloud Run 上,最小实例数 0(客户不愿意为闲置付费),内存 512Mi。压测时发现一个很尴尬的现象:服务热着的时候 P95 是 90ms,但只要闲五分钟,第一个请求稳定卡 8~9 秒。前端那边 loading 转圈转到用户以为挂了,我的外包口碑也跟着转圈。

给卡帕多奇亚民宿做预订页,我把时区算错了一整天

卡帕多奇亚那家民宿的老板是去年在格雷梅镇上认识的,今年春天他让我帮他做个小预订页,说 Booking 抽成太狠。我接了这个外包小单,前端用 Vite + React,后端直接挂在他已经有的 WordPress 上,用 REST API 拉房态。环境很土:Node 18,Vite 4.5,部署在一个每月三美元的共享主机上,没有 CI,靠 FTP 传 dist。

给外包客户做搜索框自动补全,被配额打回原形

上周接了个小单:客户是个卖本地特产的小店,想在自家静态页面上加一个搜索框,输入「红」就联想出「红糖糍粑」「红薯干」。页面是纯静态托管在 Cloudflare Pages 上的,后端只有我给他写的一个 Cloud Run 小接口,数据量说出来有点丢人——商品总共 400 多条,存在一张 BigQuery 小表里。

在卡帕多奇亚青旅做的前端清单页,被一条土耳其语长地名撑裂了

卡帕多奇亚的青旅老板让我帮忙改一个本地体验清单页,跑在 Chrome 120 和 Safari 16 上,数据是 120 条体验项,每条有土耳其语标题、时长、集合点。现象很具体:在 iPhone SE 宽度下,一条集合点叫「Göreme Belediyesi Karşısı, Aydınlı Mah. No:7」的长地名把整个卡片撑到横向滚动,标题挤成两行,按钮直接滑出视口。

Cloud Run 上跑小接口,冷启动和并发把我卡了三天

外包接了个小活,客户要一个给自家后台调用的地址查询接口,数据量不大,全国区县约 2900 条,压成 JSON 不到 400KB。我图省事,直接扔到 Cloud Run 上,用的是 Node 20 运行时,最小实例数一开始是 0,内存 256MB,并发用默认的 80。上线第二天客户说早上第一次打开要等三四秒,后面就快了。啊这,典型冷启动。

外包小单里用Chrome DevTools掐住接口超时

上周接了个小单:客户要在他那台 2019 款 MacBook(macOS 13.6)的 Chrome 118 里,把一份 1.2 万行的订单表格导出成 CSV。现象挺明确:点导出后白屏三秒,然后弹「导出失败」,控制台里飘一条 `net::ERR_CONNECTION_RESET`。客户说「换浏览器就好了」,可我偏偏只能在他这台老机上复现。

给卡帕多奇亚民宿做预订页,图片加载把我坑惨了

去年底接了个小外包,伊斯坦布尔一个做卡帕多奇亚洞穴民宿的老板,要一个能看房型、能看热气球日出照片的预订落地页。条件很朴素:客户在格雷梅,网是村里的 ADSL,游客一半用手机在机场里刷。我本地是 M1 加千兆,跑起来顺得像假的一样,上线第二天老板发来语音,说图片「一片一片地爬出来」。