GitHub 登录后的主页逻辑似乎有点问题
今天看到它给我推荐了一个 telegram bot go 库,我点进去看了看,但是这个库最后的提交时间已经是三年前了,我就想点一下按钮让它不要再给我推荐这种库了
但是点了一下按钮后,弹出来的选项中并不是这个仓库,我好奇这个是什麽,搜到了一个正经的仓库
然后我又回到这个页面,Ctrl F 页面内搜索了一下,这个仓库其实是给我推荐的仓库中的第一个,似乎并不是测试的时候写死了这个值
那么问题就是,对于推荐仓库卡片的不感兴趣按钮,每一个对应的仓库值都是第一个推荐的仓库
今天看到它给我推荐了一个 telegram bot go 库,我点进去看了看,但是这个库最后的提交时间已经是三年前了,我就想点一下按钮让它不要再给我推荐这种库了
但是点了一下按钮后,弹出来的选项中并不是这个仓库,我好奇这个是什麽,搜到了一个正经的仓库
然后我又回到这个页面,Ctrl F 页面内搜索了一下,这个仓库其实是给我推荐的仓库中的第一个,似乎并不是测试的时候写死了这个值
那么问题就是,对于推荐仓库卡片的不感兴趣按钮,每一个对应的仓库值都是第一个推荐的仓库
👍1
奇奇怪怪
GitHub 登录后的主页逻辑似乎有点问题 今天看到它给我推荐了一个 telegram bot go 库,我点进去看了看,但是这个库最后的提交时间已经是三年前了,我就想点一下按钮让它不要再给我推荐这种库了 但是点了一下按钮后,弹出来的选项中并不是这个仓库,我好奇这个是什麽,搜到了一个正经的仓库 然后我又回到这个页面,Ctrl F 页面内搜索了一下,这个仓库其实是给我推荐的仓库中的第一个,似乎并不是测试的时候写死了这个值 那么问题就是,对于推荐仓库卡片的不感兴趣按钮,每一个对应的仓库值都是第一个推荐的仓库
复现方法
打开网页版 GitHub 并登录账号,在 Filter 按钮里面仅选中 Recommendations,保存后再试试推荐卡片右上角的按钮
打开网页版 GitHub 并登录账号,在 Filter 按钮里面仅选中 Recommendations,保存后再试试推荐卡片右上角的按钮
👍1
最近一阵子在规范化我的 bot,打算用
其实我一开始只是想加个能选择输出日志级别的日志库,一开始我尝试了 go 中自带的
之后纠结了好几天,看了推荐的好几个日志库,感觉并没有我想要的那种纯粹只有选择日志级别的日志库,我甚至有搓一个的想法
后面我看到了
不过我也并没有选择 logrus,它的字段添加方式看着不是很美观,不过相比 slog 更好,slog 是将字段作为函数的可变参数的形式来添加的,从使用方法上就不是很美观,一眼看上去可能都不知道这是一个键值对(key - value),如果不注意看可能整个字段参数都偏移了
具体我选了哪个日志库其实也写在开头了,zerolog 相比其他日志库性能开销更小,日志字段的添加方式是以一种 Event 的方式来添加的,我说不上来这是一种什么做法,好像是叫链式调用?
字段强类型,看着就很不错。同时它也可以简单方便的用一种对人类友好的日志输出方式
不过这种日志输出方式并不是默认的,不然就只能在终端里看 json 格式的日志,这不好看。找了一下虽然可以设定全局日志输出方式,但是在不同的包导入的话,就没有效果。
但我在 readme 翻了翻,发现一种神奇的东西(看不懂的东西都是神奇的 ),zerolog 可以把设定的 logger 塞到 ctx 里,我之前以为 ctx 只是一些函数不得不需要的一个变量,并没有了解过它是一个什么东西,就只能按照调用函数需求一层层传下去,有这个特性就可以不用在每一个函数都按照输出的方式创建一个 logger 再输出日志,只要改一下 main 函数中的设置就可以随意修改格式化样式
写到这里都有点恍惚本来想写什么了,现在还有很大一部分的日志部分没写好,以及不少逻辑和函数要改
github.com/rs/zerolog 库替换掉之前用 log 和 fmt 内置库胡乱输出的日志其实我一开始只是想加个能选择输出日志级别的日志库,一开始我尝试了 go 中自带的
log/slog 库,改了几个后感觉不对劲,好像我并不需要结构化日志?于是又把改了的部分改回去之后纠结了好几天,看了推荐的好几个日志库,感觉并没有我想要的那种纯粹只有选择日志级别的日志库,我甚至有搓一个的想法
后面我看到了
github.com/sirupsen/logrus 库 readme 中的一段话后,思考了一阵还是写结构化日志吧:https://github.com/sirupsen/logrus?tab=readme-ov-file#fields - (由 Google 翻译自英文)
Logrus 鼓励通过日志字段记录细致、结构化的日志,而不是冗长、难以解析的错误消息。例如,与其记录:log.Fatalf("Failed to send event %s to topic %s with key %d"),不如记录更易于发现的内容:
log.WithFields(log.Fields{
"event": event,
"topic": topic,
"key": key,
}).Fatal("Failed to send event")不过我也并没有选择 logrus,它的字段添加方式看着不是很美观,不过相比 slog 更好,slog 是将字段作为函数的可变参数的形式来添加的,从使用方法上就不是很美观,一眼看上去可能都不知道这是一个键值对(key - value),如果不注意看可能整个字段参数都偏移了
具体我选了哪个日志库其实也写在开头了,zerolog 相比其他日志库性能开销更小,日志字段的添加方式是以一种 Event 的方式来添加的,我说不上来这是一种什么做法,好像是叫链式调用?
log.Debug().
Str("Scale", "833 cents").
Float64("Interval", 833.09).
Msg("Fibonacci is everywhere")
// from https://github.com/rs/zerolog?tab=readme-ov-file#contextual-logging
字段强类型,看着就很不错。同时它也可以简单方便的用一种对人类友好的日志输出方式
不过这种日志输出方式并不是默认的,不然就只能在终端里看 json 格式的日志,这不好看。找了一下虽然可以设定全局日志输出方式,但是在不同的包导入的话,就没有效果。
但我在 readme 翻了翻,发现一种神奇的东西(
写到这里都有点恍惚本来想写什么了,现在还有很大一部分的日志部分没写好,以及不少逻辑和函数要改
👍1
在潜水时,潜水员会背一个氧气罐来在水下呼吸
突然想到,人类在正常情况下不会刻意去憋气,也不会一直深呼吸,那就代表每次吸入的空气中的氧气并不会被完全用完,因为肺泡捕捉氧气并交换出二氧化碳也是需要时间的
那样的话,每一次吸气时,需要憋气多久再吐出,这次呼吸的效率最高?
突然想到,人类在正常情况下不会刻意去憋气,也不会一直深呼吸,那就代表每次吸入的空气中的氧气并不会被完全用完,因为肺泡捕捉氧气并交换出二氧化碳也是需要时间的
那样的话,每一次吸气时,需要憋气多久再吐出,这次呼吸的效率最高?
❤3
早期在学 C 的时候,我记得创建一个函数的方法,是要在调用前声明,调用时填写参数,然后在后面写完这个函数的定义
学了一阵子后,看看网上的代码,好像别人都是直接在调用前的声明部分直接就把整个函数的定义也写完了,这种做法也没什么问题,只要编译器没报错就行,声明和定义分开放反倒容易忘记,要改出入参数也麻烦
C 的硬性要求是,函数和结构体必须在调用前声明,不然就会报错。我现在在写 go 时也会不自觉遵循这个逻辑,不过 go 其实并不计较这个,一个源码文件中把结构体定义放在最后面,前面填多少个这种结构体都没问题
有时一个包需要一个很长的结构体放必要的变量和数据,把这个结构体类型的变量放到文件最顶端,在读源码的时候很容易看出这个包里有一个变量,如果按照先声明后使用放到末尾的方法,可能就没那么容易发现了
是故意的,因为这样你才知道你看的是 go 代码
学了一阵子后,看看网上的代码,好像别人都是直接在调用前的声明部分直接就把整个函数的定义也写完了,这种做法也没什么问题,只要编译器没报错就行,声明和定义分开放反倒容易忘记,要改出入参数也麻烦
C 的硬性要求是,函数和结构体必须在调用前声明,不然就会报错。我现在在写 go 时也会不自觉遵循这个逻辑,不过 go 其实并不计较这个,一个源码文件中把结构体定义放在最后面,前面填多少个这种结构体都没问题
有时一个包需要一个很长的结构体放必要的变量和数据,把这个结构体类型的变量放到文件最顶端,在读源码的时候很容易看出这个包里有一个变量,如果按照先声明后使用放到末尾的方法,可能就没那么容易发现了
👍1
我的 Twitter 以前很少会给我发推送,有也是几天才一两条
平时我基本不会主动打开 Twitter,都是看到分享的链接才会点开看看
但是由于我看见画师就想去关注,顺带翻翻以往作品,刷帖子也会看看这个画师关注了没有
于是推荐喜好好像就觉得我比较习惯看未关注的画师,我现在一天的推送消息就有七八条,而我还是按照几天打开一次的频率去看推送消息,慢慢堆的太多了,反而不想去看了...
平时我基本不会主动打开 Twitter,都是看到分享的链接才会点开看看
但是由于我看见画师就想去关注,顺带翻翻以往作品,刷帖子也会看看这个画师关注了没有
于是推荐喜好好像就觉得我比较习惯看未关注的画师,我现在一天的推送消息就有七八条,而我还是按照几天打开一次的频率去看推送消息,慢慢堆的太多了,反而不想去看了...
👍1
近期 GPT 5 发布了,由于 Open AI 没有像 GPT 4 发布的时候那样仅限 Plus 用户使用,我这种免费用户也能体验到最新最热 的 GPT 5
但直到现在也只是问过它两个问题而已,不过确实能从语气和用词之间发现 GPT 5 在聊天过程不会那么正式了,更有个性的感觉?
想起之前流传的 GPT 5 传言,参数量会比 4 大不少,但现在市面上大多数的 LLM 似乎在变得更倾向与模型评分和性能而不是参数量,是因为难以训练巨大参数量的开源模型吗?
不过往回看,像参数量在 100B 到 20B 这个区间的模型,可能知识量并没有增长多少,但越来越能听懂人话了,这部分会不会占用参数量?或者是分开的另一部分呢?
后面会不会演化出一种对话过程更能理解用户,且性能评分都很好,但知识相对有限的 LLM
但直到现在也只是问过它两个问题而已,不过确实能从语气和用词之间发现 GPT 5 在聊天过程不会那么正式了,更有个性的感觉?
想起之前流传的 GPT 5 传言,参数量会比 4 大不少,但现在市面上大多数的 LLM 似乎在变得更倾向与模型评分和性能而不是参数量,是因为难以训练巨大参数量的开源模型吗?
不过往回看,像参数量在 100B 到 20B 这个区间的模型,可能知识量并没有增长多少,但越来越能听懂人话了,这部分会不会占用参数量?或者是分开的另一部分呢?
后面会不会演化出一种对话过程更能理解用户,且性能评分都很好,但知识相对有限的 LLM
❤2🥰1
WakaTime 的每周报告里告诉我这周写了 27.5 小时的代码
印象中感觉好像没写这么多,仔细一看调式 17.5 小时,写代码 9.5 小时
原来是调式的时候晕过去忘记关电脑了
印象中感觉好像没写这么多,仔细一看调式 17.5 小时,写代码 9.5 小时
🥰2
