×

Falcon

  • Falcon
    2024-09-15 15:39
    #Cloudflare# 踩了不少坑,比如它家的KV db 是有延迟的,各节点之间需要时间同步,才能达到最终一致性,我做了一个todolist练手,而且这个 todolist 支持用户注册登录,为了追求简单,用户信息、sessionKey和todo任务 的内容都保存KV里。
    在同步用户任务信息的时候,我才发现同一个用户,如果一个设备是手机,另一个设备是用电脑,他们就很有可能读取到不同的任务状态,比如我在手机上删除了一个任务,在电脑上该任务还是没有删除情况。我开始还怀疑是我的代码出了问题,debug到了三四点,后来我才发现原来是这个kvdb的问题,它是分布式的,会把一个节点的数据同步到其他节点,就像cdn,节点间的同步是有延迟的,所以会产生脏读的情况。但是最终会达成一致性,文档是这么说的。
    这种不一致性在某些场景是可以接受的,所以用来存session没什么问题,但问题在于如果追求强一致性,比如聊天应用,视频对话,就不能用kvdb了,它们推荐的方式是用Durable Objects,所以我又替换成了Durable Object,在next.js里写了又出现错误,后来又一查,原来这个开付费计划才能用,每月至少20刀。
    搞了半天又白搭,我又检查了一下D1是否可靠,看来也不行,看来也存在节点复制的延迟。
    准备集成 upslash的redis了,我知道这玩意可以做单点,指定一个区域,不过似乎也支持多节点复制。
    又发现一个大坑,在绑定#upslash#的时候,要在浏览器隐私模式下绑定,不然它会通过Auth0(用chatgpt的话)自动登录Google,怎么也绑定不到新的 upslash 账户。
    绑定后得到两个环境变量:
    UPSTASH_REDIS_REST_URL
    UPSTASH_REDIS_REST_TOKEN 
    会绑定到cloudflare生产环境(但加密),也可以登录upslash  redis管理面板复制其值。
    update:
      我以为没有坑了,没想到又遇到一个,是关于upslash的,我先前设置用户的key是这样的 `${user.loginMethod}#${user.id}` ,比如 `github#123` ,但是坑就在这里,如果是kv用这种key没有关系,但upslash的是通过rest_api更新的,key会作为url的一部分,#在url上有特殊用途,如果正常解析,后面的内容会因为#被截断,upslash也没想到有人会用 `#` 做key的,没有兼容处理。改成用@连接!
  • React 修正Github等商标在lucide 图标库被弃用的问题

    如图,我在写react时发现,如果在lucide-react中引入它家的Github图标,会发现中间有一条删除线,并标记为弃用,也就是后面版本将移除该图标。 ![](https://photo.cellmean.com/i/2024/09/15/rba9g5-0.png) 我查看了警告的详情,得到的原因是由于版权问题,Github等商标(brand)...

    2024-09-15 09:22 Falcon 阅读
  • 实用的 Cursor Prompt 提示词(Rules For AI)精选

    收集了一些cursor的prompt(提示词) 可在Cursor内全局设置 `Rules For AI` 或在某个项目内放入 `.cursorfiles` 使用。 ![](https://photo.cellmean.com/i/2024/09/16/h0a90k-0.png) ## 编程初学者模式: 用于学习新的编程知识,这个模式不但让你能...

    2024-09-15 01:51 Falcon 阅读
  • Falcon
    2024-09-14 00:49
    我感觉Turbo好有想象力,我必须得用起来了。
    Hotwire:
    Turbo
    Stimulus
    Strada
    其实这是一组工具,Turbo(无需js写SPA),stimulus(js框架),strada(做移动开发)
     
    https://turbo.hotwired.dev/handbook/introduction
    https://turbo.hotwired.dev/
  • Falcon
    2024-09-13 23:29
    脚背受伤,停跑了。完全是拜前天穿耐克的varpfly next所赐,赶紧扔了,这鞋子简直坑爹,不但200公里鞋底磨破,还压脚背,而且这次还搞受伤了?
  • Falcon
    2024-09-13 23:14
    #daily tips# 分享最新可用的 Zlibrary 官方地址和 Zlibrary镜像网站入口,可放心使用。

    Z-Library(简称 Z-Lib,前身为 BookFinder )是一个影子图书馆网站,用户可在上面下载期刊、文章以及各类书籍,其共收录了超过 1000w 本书籍和 8000w 篇文章。因为版权问题,网站曾于 2022 年 11 月 3 日遭到封锁,但是强大的 Z-Library 有新的官方网址和镜像(不过镜像网站不太稳定),获得了重生。

    https://topstip.com/the-worlds-largest-digital-library-z-library-newly-available-official-site-and-mirror/
  • Falcon
    2024-09-13 12:33
    #稍后阅读# Cloudflare 的反爬虫功能:

    宣布独立自主使用 AI:一键阻止 AI 机器人、抓取工具和爬网程序
    https://blog.cloudflare.com/zh-cn/declaring-your-aindependence-block-ai-bots-scrapers-and-crawlers-with-a-single-click/
  • 全面指南:通过 Nginx 重定向处理 WordPress 修改固定链接结构后的404【特别针对原先使用%category%】的文章链接

    修改 WordPress 文章固定链接及 Nginx 重定向配置,特别针对原先使用 `%category%` 标记的文章固定链接 ## 1. 背景 在 WordPress 中修改文章固定链接结构可能导致旧的 URL 结构无法正确访问。为了确保访问者能够通过旧链接访问新链接,同时避免对其他页面造成影响,我们需要在 Nginx 中设置重定向规则。本文...

    2024-09-13 09:28 Falcon 阅读