Reading view

There are new articles available, click to refresh the page.

写的 React 组件有 bug,知道原因但不会解决,求教

lisianthus:

完整代码: https://codesandbox.io/p/sandbox/d8kjg2

最近自娱自乐时,写了一个类似高中物理的木板-滑块组件,可以根据木板的角度来控制小球的位置,见图: https://imgur.com/a/Eo2briC

组件有个问题,在旋转到 90 度附近时,值会突然从 0 跳到 100: https://imgur.com/a/kWmm3I4

我知道问题出在 handleMouseMove 函数里,斜率 k 在 90 度附近发生了跳变,但不会解决,求教

咨询数字人直播问题

Wowjik:

目前公司想要实现一个数字人直播,要求: 1 、windows 本地部署 2 、可训练自己数字人形象 3 、TTS 驱动、可打断

目前看了几个开源项目,效果都不太好。 各位大佬有没有相关的项目推荐指导一下,付费项目效果不错的更佳,烦请各位大佬指导一二,有偿

小狼毫一站式解决方案,基于 98 五笔的尝试

Arctic2021:

rimetool 开发完毕

rimetool 经过半年公测,功能基本稳定:

https://github.com/yanhuacuo/rimetool

作为对 rime 参数可视化的尝试,在有限的方案范畴内实现了「词库管理」、「主题管理」、「上屏行为控制」等方面的控制。

通过「薄荷模版」的兼容,已支持如下方案

  • 薄荷全拼
  • 小鹤双拼
  • 小鹤混输
  • 地球拼音
  • 98 五笔
  • 86 五笔
  • 极点五笔
  • 智能 ABC 拼音
  • 微软双拼
  • 搜狗双拼
  • 紫光双拼
  • 自然码双拼

当然,参数对齐度最好的,依然是 98 五笔模版。

现在,借由「 98 五笔资源库」发布了「小狼毫 98 五笔」,并将 rimetool 集成在内,实现了「方案+工具」一步到位。

  • [小狼毫 98 五笔]

https://www.bilibili.com/video/BV1sErzYbE6h/?share_source=copy_web&vd_source=37920c8c7678220e3b54da59922b8164

基本上,完成了一种形码方案可以在 rime 上实现的最理想状态:一切参数可视化,所见即所得。小白也能随心所欲地使用 rime ,就像使用搜狗、百度等大厂输入法一样。

功能示例

配色管理

比如,有些朋友用了 rime 很久,摸索着可以配出一种「微信配色」了,诚坦讲,这很了不起,因为 rime 的主题参数非常多,但是,rimetool 可以将这个成本降到「鼠标点一点」的地步:

[中州韵助手:配色演示] https://www.bilibili.com/video/BV1Yz4218738/?share_source=copy_web&vd_source=37920c8c7678220e3b54da59922b8164

甚至,你可以给任何主题做即时重绘

[中州韵助手:修善旧主题] https://www.bilibili.com/video/BV121421r7LB/?share_source=copy_web&vd_source=37920c8c7678220e3b54da59922b8164

内置多种风格主题,支持一键切换。这些主题风格,过去需要了解十几个参数的组合与搭配,手动做起来相当麻烦

[中州韵助手:一键变换排版风格] https://www.bilibili.com/video/BV1gS421d79f/?share_source=copy_web&vd_source=37920c8c7678220e3b54da59922b8164

[中州韵助手:注解界符] https://www.bilibili.com/video/BV192rXY2EcC/?share_source=copy_web&vd_source=37920c8c7678220e3b54da59922b8164

码表管理

支持码表一键换血,只要有「单行单义」或「单行多义」表,就可以鼠标点一点,完成导表换血。

支持在线加词,批量加词,即时调序,增删改查。

[中州韵助手:形码表导演示] https://www.bilibili.com/video/BV1u1421273w/?share_source=copy_web&vd_source=37920c8c7678220e3b54da59922b8164

[中州韵助手:可视化词库管理] https://www.bilibili.com/video/BV1YXCGYME77/?share_source=copy_web&vd_source=37920c8c7678220e3b54da59922b8164

[中州韵助手:词条调序演示] https://www.bilibili.com/video/BV139CGYqE5d/?share_source=copy_web&vd_source=37920c8c7678220e3b54da59922b8164

全参数支持

小狼毫前端引入了许多新特性,rimetool 全面支持:

  • pic
  • pic
  • pic
  • pic
  • pic
  • pic
  • pic
  • pic
  • pic
  • pic
  • pic
  • pic
  • pic
  • pic
  • pic
  • pic
  • pic
  • pic

新注册的 GitHub 账号使用页面上的 Copilot,提示: User is spammy,怎么解决?

ashin:
  1. 我查了下网上的,很多被标记的账号,有的人提交工单恢复了
  2. 我打算提交工单,他要我开启二次验证,开了。
  3. 他又要我验证手机号码,但是不没有中国区号
  4. 我搞个虚拟号接码,失败

还有甚么办法吗?

我的账号是正常使用。现在受限的功能有:Copilot/Actions

Copilot 我可以理解它不给中国人用,但 Actions 又是啥意思,提示 Unable to enable Actions for this repository.

我被卡脖子了救救我?

帮家里人做了一段时间销售跑了几趟客户,回过头来对当程序员时的几个看法

hoodjannn:

因为家里做制造业小生意的,正好自己也离职状态,没事帮老爸代跑了几次客户,当了一个月的销售了。有几点感触比较深

  1. 自己社会化程度缺乏。可能因为长期在互联网大厂工作,三点一线,接触的人沟通已经形成了一种特定模式,比如适当地与产品以及跨部门之间拉扯,看上去很牛逼是不是?但真实涉及市场交易大家都是真金白银做底的,你会发现谈话有时非常直接。

  2. 过于注重面子。准确地说放不下身段,需要给人戴高帽的时候拉不下面子,需要匪气的时候又拔不出来。

  3. 不善于“骗”。这个“骗”字我这里加了一个引号,很多码农对技术又极大的信仰,觉得承载这种信仰需要一颗纯洁本分老老实实的内心。。。不知道别人是咋样的,反正我当初真就这么想的。任何市面上的产品都存在包装的成分,巧妙的话术和适当的诡计在自由经济市场上是很有必要的。

  4. 没必要纠结不在目标里的东西,并且学会给人台阶下。不说现实工作里的业务 battle 了,v 站上都有很多整天为了语言框架吵来吵去不停的,长期浸淫这种氛围容易养成无端的攻击性,只要能达到自己的目的,中途中可有可无的东西都可以忽略,注意力分散不值当。

大致就这些吧,29 了,感觉知道这些道理有点晚,可能一直温室里呆久了,和年轻的码农们分享下。

关于宽带上行限速的一个解决思路

Lentin:

根据 https://www.v2ex.com/t/1099956 这篇帖子推测,运营商对 speedtest 相关的域名有白名单策略
这样用 clash meta 套一层 vmess 的 ws 伪装,然后再起一条 tunnel 隧道搭配 wireguard 可以回家,顺便似乎还能解决 WG 对 ddns 的地址变动不能即时生效的问题

proxies:
  - name: HOME
    type: vmess
    server: DDNS.domain
    port: PORT
    uuid: UUID
    alterId: 0
    cipher: auto
    tls: false
    network: ws
    ws-opts:
      path: /
      headers:
        Host: speedtest.cn
tunnels:
  - udp,127.3.0.0:16384,WGserver:WGport,HOME

然后再把 WG 配置文件的 Endpoint 改成上面对应的地址

Endpoint = 127.3.0.0:16384

相比较于 udp2raw 这个配置更简单一些,当然 vmess 不是必需品,可以是别的协议+伪装……仅供思路参考……

关于 Gunicorn + Flask 在多进程中,日志轮转的一个 BUG

Koril:

语言、框架、环境

Python3.11

Gunicorn + Flask + logging

Debian 12


问题

我在开发一个小型的 Python Web 应用,选用的是 Gunicorn + Flask 的方案,日志采用了官方自带的 logging 库。

业务及其简单,但接口请求量比较大,日志记录比较多,我看到官方提供了一个logging.handlers.TimedRotatingFileHandler的日志轮转处理器,就直接用了。

但是过了一段时间,我发现了日志丢失的问题:

假设 Gunicorn 启动了 3 个 worker 进程,进程号分别是 1001 、1002 和 1003 ,一开始启动 Gunicorn 时,3 个进程的日志都能正确的写入到 app.log 中,但是一旦发生了日志轮转,最终只有一个进程(比如 1001 )能够写入到新的 app.log 中,另外的 1002 和 1003 的日志就再也没有写入成功了。


我的猜测

我猜应该是和多进程日志处理和日志轮转相关的问题,轮转的时候,只有一个进程在切换 app.log ,其他进程找不到文件了,日志就丢失了?(我的猜测很粗糙,我不太理解原理)

当然,官方文档也提到了这点:

https://docs.python.org/zh-cn/3/howto/logging-cookbook.html#logging-to-a-single-file-from-multiple-processes

文档的建议是,使用 SocketHandler 或者 QueueHandler ,总之是单独使用一个进程处理日志。


提问

  1. 生产环境下,有什么好的解决方案?

  2. 刚刚上面的轮转日志丢失,更加具体的,本质的原理是什么?


代码

日志配置文件 logging.yaml 如下:

version:
  1

formatters:
  brief:
    format: '%(asctime)s - %(levelname)s - %(name)s - %(message)s'
  detail:
    format: '%(asctime)s - %(levelname)s - %(process)d - %(processName)s - %(name)s - %(filename)s - %(funcName)s - %(message)s'

handlers:
  console_handler:
    class: logging.StreamHandler
    level: DEBUG
    formatter: brief
    stream: ext://sys.stdout

  info_handler:
    class: logging.handlers.TimedRotatingFileHandler
    level: INFO
    formatter: detail
    filename: logs/app.log
    when: midnight
    backupCount: 2
    encoding: utf-8

  error_handler:
    class: logging.handlers.TimedRotatingFileHandler
    level: ERROR
    formatter: detail
    filename: logs/error.log
    when: midnight
    backupCount: 2
    encoding: utf-8

loggers:
  study-flask:
    level: DEBUG
    handlers: [console_handler, info_handler, error_handler]
    propagate: False

root:
  level: DEBUG
  handlers: [console_handler]

app.py 中关于日志配置的代码:

def log_config(log_config_file):
    dict_config = yaml.load(
        open(log_config_file, encoding='utf-8'),
        Loader=yaml.FullLoader
    )
    Path.mkdir(Path.cwd().joinpath("logs"), parents=True, exist_ok=True)
    logging.config.dictConfig(dict_config)


def create_app(config_mode):
    app = Flask(__name__)

    log_config('./logging.yaml')
    
    # ... 省略其他代码

断舍离与不停搬家

airportIllIl:

最近又在搬家,感觉自己物欲好重,不经意间攒下好多零碎物品。从大学毕业以来到现在,已经是第四次搬家,有的物品从大学一直陪伴到现在,总觉得哪一刻就会用上,或者是单纯的舍不得。这次狠下心来,想要轻装上阵,往老家寄走好几个大包裹。

另一个感想是,在大城市混,确实容易没有归属感,一直在各种奔波,租房担心房东人品,前几个月终于申请到公司宿舍,想着终于能稳定生活、不再担心租房扯皮,然而,戏剧性地,最近润了,马上又要去到陌生环境。如果有了自己的房子,也许就算找工作也会限定在一个地理范围内,不像现在这样跨区奔波。不得不说,安稳也是一种幸福。

关于飞书多维表格的疑问

shuangxunian:

公司有需求去实现一个类似于飞书多维表格的东西,支持拖拽、协同、大量数据加载;我从网上搜了很多,有没有比 apitable 更好的前端依赖呢,方便直接引入到公司项目里面去的那种

关于 ssl 证书替换的问题,有阿里云运维大佬吗

5261:

公司运维被优化了,小开发被迫营业需要兼顾下线上运维的活

目前遇到 ssl 证书即将过期问题

请求的路径如下

传统型 clb (负载均衡)-> 两台 nginx ( ecs 服务器)

我看了下还有接入 waf ( web 应用防火墙 )

一开始在腾讯云上申请了免费 ssl 证书,然后直接替换到 nginx 两台机器上,但是证书格式貌似还不太一样 原来的证书文件有 xx.cer 和 xx.key , 但是申请下来的证书是 xx.crt 和 xx.key

替换后发现证书有效期依旧没变化

后来我就直接在阿里云上申请免费证书,上传证书,在 waf 内部替换掉后,查看证书有效期就是最新的了

疑问点 1 、是不是只要在 waf 内部替换掉 ssl 证书就可以了呢? 2 、那 nginx 服务器上的证书没替换是否有影响呢?

Base 深圳,前端架构师,前端技术专家需求,对标字节 3-1 到 3-2;

jty5: 创始团队主要以字节,腾讯,月之暗面班底为主,做 AI 生成应用的 C 端出海产品,就是通过 AI coding 生成 C 端用户可以直接使用的 C 端产品,包括网站、app 这些;

jd:
岗位职责:
1 、负责 AI 应用的 Web 前端架构设计、性能优化和技术难点攻坚
2 、负责 AI 生成编辑器开发
3 、负责 AI 生成产品前端代码解决方案设计和落地
任职要求:
1 、计算机相关专业本科及以上学历,5 年以上前端开发经验,3 年以上知名产品前端开发经验
2 、熟练掌握 JavaScript ,CSS ,HTML ,DOM 等前端技术
3 、熟悉主流前端框架( React/vue/Angular 等 )有深入应用并深入理解其设计原理
4 、至少了解 Node 、Python 、Go 、Java 等一门后端开发语言
5 、 对 AI 应用有较深的理解和体验,关注前端前沿技术,有一定的技术广度

有意者加微信:cheng515166

这个是被封了还是啥意思,无法登陆

yitiaoxiaoxi:

您好, CUSTOMER Your Oracle Cloud Free Trial promotion has ended on 2025 年 1 月 8 日 星期三 下午 7:45 太平洋标准时间. The data and cloud account content that you created during the Free Trial period can be retrieved until 星期四, 二月 06, 2025. For instructions, visit Information Center for Administrators on My Oracle Support and scroll to the bottom of the page to view "Additional Termination Instructions for your Cloud Service".

Your access is limited to Always Free Services only. Your Always Free resources will remain available to you as long as you actively use your account. Your other resources will be reclaimed unless you upgrade to a paid account.

Upgrade to a paid account to have access to all Oracle Cloud Services, customer support and other benefits of a paid services. Oracle Cloud offers Pay As You Go billing.

For more information on Oracle Cloud Free Tier, please review OCI Cloud Free Tier FAQ

The following subscription has been disabled.

个人观影记录

chengzc:

背景

最近看了站里 家庭影院无尽折腾之路,正好手里有个闲置的笔记本,然后刷了飞牛 os ,开始了自己的折腾之路。

历程

最开始没啥要求,有啥想看时,找找资源,直接通过飞牛里的下载,再用自带的影视刮下就 ok ,后面了解到自动化观影,就开始接触 pt 站,mp 观影工具,qb 下载这些,正好最近一些站点开放,然后注册了 pt 站、做考核、用 mp 订阅,我个人看动漫比较多,pt 站有些资源不全,就通过蜜柑和动漫花园来补充,基本上已经满足个人自动化观影的需求了

问题

知道 v 站高手多,目前遇到了几个问题,看看有没知道解决方法的,谢谢:

  1. QB 订阅 Mikan ,RSS 一直刷新不了数据。我单独打开 RSS 地址是有的,也添加过代理,一直没搞清是哪出了问题
  2. mp2 对于下载的国漫(大部分 ok ,有些感觉是没有标题,只有集数),识别不了。请问有没有什么方法能解决这个问题
  3. 上传速度限制问题。我目前家宽,上传速度只有 3M ,在做 PT 站考核时,是否需要限制上传速度,或者只限制部分公站的做种率,看前文回复里,有说一直上传,后面可能会封

字节 Marscode 插件疯狂收集隐私数据

wjfz: 无意中打开了 Charles ,看到字节的 Marscode 代码补全插件疯狂收集 CPU 、内存、使用空间等数据。

一般的 JetBrains 插件:下载 jar 包,运行功能。
字节的 Marscode:下载可执行文件、附带安装另一个 ckg_server 可执行文件。

甚至退出了 IDE ,删了可执行文件,可以看到后台还是在上报。关键也没看到相关的开关给用户,是否允许收集这些。

求推荐 1000 以内无线麦克风

sten: 最近在考虑业余时间搞下自媒体,主要考虑在 B 站和油管发点口播类的视频。
尝试了一下手机拍摄,感觉画质还行,就是声音太差了。
各位 V 友,有 1000 以内的无线麦推荐吗?
之前看过大疆的,感觉太贵了,前期不想投入这么多,哈哈。
❌