crclz 最近的时间轴更新
crclz

crclz

V2EX 第 379541 号会员,加入于 2019-01-23 20:05:13 +08:00
crclz 最近回复了
2021-12-22 00:40:55 +08:00
回复了 Akiya 创建的主题 ? 程序员 ? 这次 log4j2 安全漏洞会不会带来使用商用库的风潮?
商用防火墙会成为需要。大厂都是直接用防火墙拦截疑似攻击数据,然后再催促大家显示升级库版本。

另外,同样是开源,微软的开源质量就会高很多。不能把社区开源和商业公司开源混为一谈。
仅仅考虑楼主提出的需求,提出以下解决方案:

表 X(年月 int, 流水号 int)。例如(202111, 1)

def GenerateOrderId() -> str:
年月 = 获取当前年月()
num=( update 表 X set 流水号=流水号+1 returning 流水号)
return 格式化(年月,num )

如果数据库并发不够,可以流水号=流水号+10 之类的,然后服务端将生成的 id 全局缓存起来。

这样做不会错的,我司就是这样干的。
2021-11-20 11:01:49 +08:00
回复了 kikione 创建的主题 ? 程序员 ? 什么情况下需要 try catch ? 数据库增删改需要吗
异常处理原则如下,对无 gc 语言都适用:

1. go 和 java 的异常处理思路( exception vs errorcode )没有本质区别

2. 异常代表了 ExecutionFailure ,代表了 exceptional 。execution failure = exceptional.
ref: https://docs.microsoft.com/en-us/dotnet/standard/design-guidelines/exception-throwing
如果这种情况并非 exceptional ,那么请以 errorcode 返回(或者 xxresult )。
评价:如果你对异常和 errorcode 两种等价的形式的应用场景不明白,那么这一条可以指导你。

3. 吞调异常代表了未知到已知的转换。(未知:exceptional 。吞掉:catch 而不 rethrow )
解释:catch 而不 rethrow 代表了:对于被调函数,这种情况是 exceptional 的,但是对于调用者来说不是。

4. 不忽略未知异常。
翻译:不 catch Exception ,而是 catch SomeException 。
理由:未知异常代表着潜在的 bug 。
例外:根异常捕获器需要 catch Exception ,但是如果是未知的异常,需要通过报警系统通知开发者。

5. catch 、rethrow 、打印日志是正交的概念。
示例 1:rethrow+打日志代表了遇到了 exceptional 的情况,并且想要记录一些诊断信息。
示例 2:只 catch 不 rethrow+打日志代表了遇到了意料之中的错误,并且想要记录一些诊断信息。


对于楼主的问题,以下是具体回答:

在我们公司,数据库驱动层会打日志(和 metrics ),以跟踪具体库的成功率指标,提升可监控性。
开发者如果想要获得面向业务的监控指标,那么需要自己 catch+打日志(+metrics )。(因为一个业务操作可能涉及多个数据源、多次查询)
那么,catch+打日志后是返回 errorcode 还是 rethrow ?请参考 1-5.
初始实现没啥问题,第二版过拟合了(现在最简,但是不能很好应对新需求)
2021-10-17 12:33:29 +08:00
回复了 Visionhope 创建的主题 ? 程序员 ? retry-go 作者评价其他别人写的重试库, 有点意思
对代码有极致的追求是一个很稀缺的素质。
我之前还蛮影响使用的。之前习惯抱着笔记本在床上看剧,中途有事,笔记本一合一开,然后再播放( b 站),画面就会卡住,但是声音还会继续播放。然后捣鼓键盘 20s 后,就会回复正常,挺影响体验的。浏览器是 edge 。firefox 不存在这个问题。

楼主可以尝试把 edge 的“使用标签页休眠功能节约资源”关掉,看看是否能够解决问题(我没试过)
2021-10-17 01:44:33 +08:00
回复了 xinhaiw 创建的主题 ? .NET ? IdentityServer 收费了?
@gaojiangouyu autofac tdd 我还靠它
kde 永远的神
2021-10-12 22:25:56 +08:00
回复了 NeverBoom 创建的主题 ? 生活 ? 我想逃避现实
加油楼主
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1213 人在线   最高记录 6543   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 22ms · UTC 18:03 · PVG 02:03 · LAX 11:03 · JFK 14:03
Developed with CodeLauncher
? Do have faith in what you're doing.


http://www.vxiaotou.com