V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  kkhaike  ›  全部回复第 7 页 / 共 36 页
回复总数  714
1 ... 3  4  5  6  7  8  9  10  11  12 ... 36  
2022-10-26 18:21:09 +08:00
回复了 kuicc1987 创建的主题 macOS macOS vuntera 13.0 值得升级么?
现在只发现 大写锁定键 切换输入法 有 bug ,会切换到输入英文字母+中文符号的形态,并且没办法切换回去了。。

现在使用 ctrl + space 切换
2022-09-21 14:25:37 +08:00
回复了 findjh 创建的主题 程序员 想买 macbook pro 14 寸,要 1 万 8,但是存款只有一万四。
可以选择抄底美股
2022-09-20 11:34:32 +08:00
回复了 djyde 创建的主题 程序员 做了 6 年程序员,我学到的 10 条经验
等你到了 12 年经验后,发现什么都顶不上"会吹牛"这个技能好
2022-09-16 13:09:49 +08:00
回复了 eryajf 创建的主题 程序员 学习周刊-总第 71 期-一些国内的公司在服务网格方面的实践
我记得还有个 dive
2022-08-30 18:18:40 +08:00
回复了 yesterday1mo 创建的主题 分享发现 畅想一下实现量子计算产业化的时代
一堆私钥泄漏出来,然后区块链不复存在
2022-08-30 18:06:53 +08:00
回复了 Yunsheng 创建的主题 推广 我又双叒叕来给大家送猕猴桃🥝来啦,分子集合
+1
2022-08-30 16:31:25 +08:00
回复了 lanlanye 创建的主题 Python 你们说 Python 这个是 Bug 还是 Feature?
我刚学 python 也踩过这个坑,默认值要用 None
2022-08-28 19:28:21 +08:00
回复了 lcj2class 创建的主题 程序员 Zig 中文月刊 -- 202208
上面的 所有 说多了
之前我写的是 c ,后面改成 cpp ,cpp 还有很多模板元替代不了

主要现在还进度太初级,用来写业务后台应该没有 golang 写的快,但是适用在一些内存敏感的中间件之类
2022-08-28 19:21:59 +08:00
回复了 lcj2class 创建的主题 程序员 Zig 中文月刊 -- 202208
今天学习了一下,说下我觉得比较有特色的两点

1. comptime
这个直接能够替代 cpp 所有预编译阶段的特性,比如
宏分支,简单泛型,constexpr 等
2. 错误必处理以及 error union type
try catch 有点像之前 go2 的某个讨论方案
2022-08-26 14:16:01 +08:00
回复了 bit789 创建的主题 程序员 MacOS 下 qq.db 的数据库密码是啥?
一般的 sqlite 应该还打不开,他内部是自己的加解密函数。
密码每台机器都不一样,登陆的时候你可以下调试断点获取。
2022-08-26 14:11:39 +08:00
回复了 EyreFree 创建的主题 求职 [求职] [远程] [App] [全职/兼职] 时隔六年,我又来 V 站找工作啦
EF 巨佬
介绍视频呢。
cgo 不也能跨平台。。。
2022-08-09 14:12:34 +08:00
回复了 faithbro 创建的主题 跑步 跑步了一个半月,有氧适能终于不是低于平均
各位大佬。。。我有氧适能非常低,差不多只有 36 ,低于平均的最底线附近。。。感觉身体非常不舒服。。

本人又是高度近视,不适合跑步,有什么其他增加这个的办法
2022-08-07 12:01:59 +08:00
回复了 a132811 创建的主题 Go 编程语言 感觉 uber/fx 并不比 getInstance 工厂好用
关于黑盒测试
1. 上面我也补充了,不需要放在顶层,放在你待测 Provide 目录中就行就行,你可能没看到吧。。在 16 层
2. 私有函数问题,你可以试着封装 2 个 interface
M interface -> 外部暴露函数
P interface -> 黑盒测试私有函数
你的 module 对象是实现 M + P, New 只提供 M
这样的话 你在 Populate 出 M 的时候,可以通过 m.(P) 转成泥似的私有 interface 进行调用。
3. 不需要的模块,以及需要切换成 mock 的模块,我在上面说了可以通过 Replace 替换掉

总之,总体目标就是不要为每一个 Provide 间 测试构造你的依赖,问题总有解决方法

关于生成
1. 我的生成框架是识别 New 函数上的 @dep 注解,
然后在 app 包里添加对应的 Provide ,以及生成对应的 dep 参数对象,
是为了解决你说的维护 Provide 问题,整个框架只需要修改 @dep 注解就好。
2022-08-04 20:40:21 +08:00
回复了 jeesk 创建的主题 Go 编程语言 第三方的 errors 包是不是没有人用了?
直接用 google 的 xerrors 吧 其他的应该都淘汰了
2022-08-04 19:40:07 +08:00
回复了 a132811 创建的主题 Go 编程语言 感觉 uber/fx 并不比 getInstance 工厂好用
fx 的初始化逻辑简单概括就是
1. 初始化所有 fx.Invoke 的所有依赖
2. 顺执行 fx.Invoke

所以 fx 最佳实践就是用一个包管理所有依赖,因为他会按需创建

我上面的 Provide 间 UT 例子,他就只会创建你 Populate 对象所有依赖

另外。。。我的 app 模块甚至都是 go generate 生成的。。
甚至,上面我举例的 dep 依赖结构都是生成的。。

我模块代码只有
```

type M = *module

type module struct {
*dep
}

//go:generate bb gen $GOFILE
// @dep(dao)
func New(d dep) (_ M, err error) {
}
```
2022-08-04 19:31:47 +08:00
回复了 a132811 创建的主题 Go 编程语言 感觉 uber/fx 并不比 getInstance 工厂好用
另外我上面说的黑盒测试补充一下。。。
由于 go 循环引用的原因,一般黑盒测试是定义在被测包同层文件目录中,
包名是 xxx_test ,

比如 xxx 目录为 package xxx ,他下面有
xxx.go 包名是 xxx
xxx_test.go 白盒,包名是 xxx
xxx_bb_test.go 黑盒,包名是 xxx_test
2022-08-04 19:26:30 +08:00
回复了 a132811 创建的主题 Go 编程语言 感觉 uber/fx 并不比 getInstance 工厂好用
另外我在说说 fx. Lifecycle ,这个东西是你 getInstance 怎么都做不到的。
想象一下一个几十个 Provide 瞬间无措优雅关停的快感。。

什么,你们你们不优雅关停。。那么当我多说了
1 ... 3  4  5  6  7  8  9  10  11  12 ... 36  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2823 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 44ms · UTC 11:56 · PVG 19:56 · LAX 03:56 · JFK 06:56
Developed with CodeLauncher
♥ Do have faith in what you're doing.