V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  matrix1010  ›  全部回复第 1 页 / 共 25 页
回复总数  498
1  2  3  4  5  6  7  8  9  10 ... 25  
@FarmerChillax 我问的恰恰正是[依赖注入],假设 FooService 和 BarService 都依赖 BaseService ,但 NewFooService(...)和 NewBarService(...)都各自调用 NewBaseService()一遍而不是先 NewBaseService 再分别传入,这个应当不能说用了依赖注入。当然这一步可以用依赖注入框架自动完成
@Jinnrry 建议你去 https://www.zhihu.com/question/425602814/answer/2930203878 讨论 new 是不是合适,不要武断的说依赖注入==java 味。或者找个 grafana 的 service 比如 https://github.com/grafana/grafana/blob/main/pkg/services/guardian/accesscontrol_guardian.go 看看如果不用依赖注该怎么写怎么测
@houshuu 其实只要你把依赖传入就是 DI ,不用 DI 的话就只能每次需要就 New 一个。在多人协作的情况下看似没用的单元测试有可能会在你意想不到的地方起作用
@kuanat 几十个可能不多,但 初始化十几个个依赖 还是很容易出现的,特别是复杂度很高,多人协作,质量管理不太严格的大型项目上。只能接受而没法改变的情况下依赖注入框架就很方便。interface 方便单元测试 mock 是肯定的,我做的第一轮重构就是这个
@bthulu 这就没意思了兄弟,来点干货不要输出情绪。不 Go 为啥 wire, fx, samber/do 会存在
@aloxaf no, 我不知道 "这种说法容易让人看错", 只是可能大部分人的常识是"依赖注入用的很少,所以提问肯定是问哪些项目使用了依赖注入",基于这种常识无论怎么写都很容易看错
注意我问的是 没有 使用依赖注入,因为使用依赖注入的太容易找。但调研肯定有和没有都包括才比较合适。另外应当是有一定复杂度的项目比如 grafana
@matrix1010 顺带附上我的看法 & 小宣传一下:极狐是一个依托于 gitlab ,面向中国用户的平台。 依托 gitlab 注定了技术的话语权不高,大部分开发做的可能是用户定制化之类的事。面向中国用户则必须接受国内各种不太好的风气。 这就是为什么 OpenCSG ( https://github.com/OpenCSGs)在努力做一个全球化的,完全独立的开源平台
光看这个知乎上下文不够,完整事件是这样的:

极狐 GitLab 停止远程办公: https://zhuanlan.zhihu.com/p/9184020724
举报极狐 GitLab CEO 为美国间谍的视频: https://www.bilibili.com/video/BV1uT6cYbEz2/
极狐 GitLab 回应: https://zhuanlan.zhihu.com/p/10088605857

另外 zhihu 的作者就是举报者
1.5 Flash 的定位就是适合处理已有数据而不是创造内容。像信息提取,文本润色或者简单代码重构之类的任务就非常合适
40 天前
回复了 lx0758 创建的主题 全球工单系统 Github 炸了吗?
activity feed 挂了的可以修改 filter 重新 save 一下试试
@lesismal 避免大 key ,不过 Ristretto 的第一版只用了 1 个 hash: https://github.com/dgraph-io/ristretto/issues/30 。在 Theine 里就用的类似 chan 做 trigger 的方法,当 write chan 收到数据时继续尝试额外获取 N 个数据,没有就直接返回。高写入并发下能批量处理,低并发下也能保持时效性:

for first := range s.writeChan {
s.writeBuffer = append(s.writeBuffer, first)
loop:
for i := 0; i < WriteBufferSize-1; i++ {
select {
case item, ok := <-s.writeChan:
s.writeBuffer = append(s.writeBuffer, item)
default:
break loop
}
}
}
再附加一个: Ristretto 不会在 cache 里保存你的 key ,而是计算两个 hash 用作 key, 虽然几率很低但理论上有可能发生碰撞。而且这种方法也导致 Ristretto 无法添加 Range 或者 Callback 之类的 API ,因为完全没有存真实的 key
65 天前
回复了 blackshh 创建的主题 职场话题 马上要毕业了,还没和媳妇说
早点说吧,现在程序员失业也不丢人。你不说老婆自己发现了更危险,信任一旦失去就很难找回来了
76 天前
回复了 theusername 创建的主题 职场话题 我的人生终于开始新篇章了
无人问津的产品 7 个月挣了 1000+美元? 看看奇绩创坛之类的有没有融资机会,花个几十万做宣传说不定就起飞了。
你的想法估计是: 随便写个项目玩玩,估计也没人用。写了几天又想: 写完了也没人用,懒得写了。而我在新写一个开源项目时的想法是: “Python 的 Cache 库为何烂到这种程度,最火的 cachetools 不仅 policy 很简陋,性能也糟糕。太弱了我要写一个吊打 cachetools 的” OR “Go 的 Ristretto 什么鬼,自己的 benchmark 结果都复现不了还各种吹,我要写一个更强的”。这儿的区别就是我的目标是写一个比流行方案更强的,如果我成功了宣传起来就很方便,有了用户反馈你也有动力继续改进
80 天前
回复了 Livid 创建的主题 游戏 终于把亢金龙打过了
好卡。亢金龙是我唯一换戳棍的 boss
有个产品就叫 pandas ai: https://github.com/Sinaptik-AI/pandas-ai. 以赚钱为目的做项目,你的调研应该列出具体哪些产品,功能上有什么限制,用户评价如何等等。另一方面 excel 用户用 power query 或者 power bi 点几下就能完成普通 ETL 需求,复杂的情况下用 AI 生成首先正确性就难以保证。
1  2  3  4  5  6  7  8  9  10 ... 25  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5405 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 31ms · UTC 08:34 · PVG 16:34 · LAX 00:34 · JFK 03:34
Developed with CodeLauncher
♥ Do have faith in what you're doing.