akaHenry

akaHenry

V2EX member #511376, joined on 2020-10-07 15:47:45 +08:00
  •   You need to sign in to view this topic
    Per akaHenry's settings, the topics list is hidden
    Deals info, including closed deals, is not hidden
    akaHenry's recent replies
    @LDS2 #65

    https://github.com/aiaf/Stillcolor

    安装了此帖的解决方案工具. 目前看, 似乎不再闪烁了.

    关于屏幕闪烁, 我遇到过某些黑色的壁纸 和 微信窗口, 在同一个页面, 黑色不太一样, 容易导致闪烁.

    另外一个是 vscode 的某些黑色主题, 会出现闪烁, 临时解决方案是切换一些不闪烁的配色主题.

    arc 浏览器窗口, 偶尔也会出现闪烁问题.

    我之前闪烁的时候, 需要在显示器设置中:切换颜色描述文件。

    挺恶心的。 感谢分享。
    这个 mysql 报错, 是 django 老问题了. 7~8 年前, 就这样.

    django.db.close_old_connections() 就是当时的解决办法. 楼上 参考 huey 的装饰器做法, 也很常见.

    (印象中的老项目, 当时也是写了个装饰器, 到处挂, 很恶心)

    我最近的新项目, 直接切 PG 了. PG 直接支持 连接池参数, 就没再遇到类似问题.

    https://docs.djangoproject.com/en/5.2/ref/databases/#connection-pool

    如果是新项目, 建议直接切 pg 吧, mysql 现在比 pg 全方位落后, 没有继续使用的必要.

    如果是老项目, 你可以搜索试试几个 django db connection pool 的库, 有支持 mysql 的.


    https://github.com/altairbow/django-db-connection-pool


    我没验证过. 不保证有效. mysql 的很多问题, 在 pg 这里, 都不存在.

    我线上的新项目, pg 跑了大半年了, 很稳定, 日志很健康. 也没遇到啥运维的坑.
    100 多个脚本, 梳理一下, 做一些技术改造.

    1. 偶尔执行的. 改成 django admin 后台配置页面触发. 任务流, 改成 消息队列(生产者-消费者模型).

    基于 队列(kafka, rabbitmq, nats 都可以) 解耦: 动作触发(生产者) 和 动作执行(消费者).

    推荐 nats, 运维简单.

    工作流改造成:

    a. admin 侧, 触发动作, send task(参数包) 到消息队列, admin 结束.

    b. 消息队列的 监听者 worker, 收到 task, 解析参数, 执行具体任务, 结束.

    2. 定时任务, 可以试试 huey 和 django-huey, 支持 redis 监听不同的 queue 来分别监听 + 执行.

    比 celery 简单. 注意如果启用了 django 时区, huey 配置也要启用时区, 否则是 UTC 时间.(小坑) 其他使用挺完美.

    https://github.com/coleifer/huey

    https://github.com/gaiacoop/django-huey

    经过上述改造. 如果不考虑高可用, 单副本下, 你大概只需要部署 2-3 个容器实例, 就够了.

    需要注意, 如果是 k8s 多副本实例, 需要 MQ 消息 幂等唯一消费, 可以引入一个分布式锁判定, 可以简单用 redis 锁.

    上面的方案, 算是比较标准的做法.

    不要滥用 django scripts 的一些方便用法. (后期维护一堆烂脚本, 显然是不明智的)
    没点进来, 以为说的是 Mojo, 点进来, 是 MoonBit ???

    MoonBit 也能来碰瓷 Python? 没活硬增?

    MoonBit 在 贵乎 上的营销帖子, 铺天盖地, 到处碰瓷 Rust, Zig.

    (讲真, 不打算和 Rust/Zig 坐一桌了, 还是觉得上不了桌? 笑...)

    真下头.

    东西真好, 自然有人用.

    东西不好, 再自我吹捧, 也没人搭理.

    劝作者, 好好把静力用在打磨自己的产品.
    @Richared #50 Java 项目? 那你还是 idea 吧. 应该没几个正经人用 vscode 写 java. 笑.

    (我前面发的讨论, 就不包含 java)

    你 idea 跳转都 2 秒了, 这不闹麽. 换啥都不好使.

    写 java 的, 无需参与 vscode 讨论. 😄
    @Linioi #39 用 vscode 就好. vscode 插件市场, 搜索 python, 把 微软官方的插件, 都装全. 开发体验, 不比 pycharm 差.

    (代码补全, 跳转, 流畅程度, GPT 友好, 体验都是完备的)

    2025 了, python 开发, 可以完全弃用 pycharm 了.

    (作为精通 pycharm 各种技巧, 10 多年骨灰用户的真实评价)

    pycharm 卡, 慢, 对 monorepo 中, 多 venv 切换支持烂. (远远不如 vscode) GPT 插件支持, 远远落后.

    JB 几个语言的 IDE, 都已经开始免费了, 你就知道, 用户流失率有多高.
    @tangc1986 #41 这个不错, 抽空试试. 感谢.
    @Richared #47

    老黄历了. 2025 了, 更新一下认知.

    vscode 插件配置完备, 代码跳转 和 搜索能力, 并不比 jb 弱, 部分语言的 LSP 甚至更优.

    JB 打开 monorepo 大项目, 一创建工程索引, 就炸机飙 CPU. (机器体验, M1 MAX + 32G, 也别提醒我改 vm 设置)

    =============================================

    vscode 比 jb 弱的是 大项目内 代码重构(函数重命名)能力, vscode 会有遗漏.

    (也不是大问题, 静态语言, 编译报错, 就能发现. 动态语言, 大项目, 就别用这个操作)

    JB 唯 2 还占优的功能: git 合并冲突 和 代码重构 & 重命名.

    别的? 真没剩下啥了.
    @jiyan5 #43

    确实是 pylance(Pyright) 插件的作用.

    vscode 禁用 pylance + 重启, 确实不能识别 相对路径导入的模块.

    另外, 顺着你的提示, 发现 pylance 是基于 Pyright 的.

    trae 可以安装 Pyright 插件, 安装了 Pyright, 就支持识别 相对路径的导入模块的识别了.

    😄
    @wryyyyyyyyyyyy #31

    补充一下, 完整的 docker 构建 + 发布到 github (ghcr.io) 的脚本在这里:

    https://github.com/better-sre/config/blob/main/dockerfile/_debian/Taskfile.yml#L34

    这个是 debian 的发布脚本, ubuntu 的, 在对应目录下, 也都有.

    每个目录的 readme.md 下, 有 Taskfile.yml 构建脚本的使用说明. 应该能看得懂.

    注意需要配置 github token, 然后设置到 env 环境变量里.

    具体我这个 repo 根目录, 有 .env.local 的参数格式. 可以看一下.

    应该就这些了.
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   886 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 9ms · UTC 22:03 · PVG 06:03 · LAX 15:03 · JFK 18:03
    ♥ Do have faith in what you're doing.