crclz 最近的时间轴更新
crclz

crclz

V2EX 第 379541 号会员,加入于 2019-01-23 20:05:13 +08:00
工具:新番剧与看过的番的声优关联
ACG  •  crclz  •  2021-06-13 10:27:34 AM  •  最后回复来自 crclz
3
一个为 博客文章/论文/数据 提供版权登记的工具,欢迎大家试用
  •  1   
    程序员  •  crclz  •  2021-06-11 09:56:28 AM  •  最后回复来自 crclz
    13
    Microsoft Edge 疯狂占用 CPU
    Edge  •  crclz  •  4 天前  •  最后回复来自 yph007595
    29
    为何 Java 内存占用比.Net 内存占用高这么多?
    Java  •  crclz  •  2020-09-20 12:29:14 PM  •  最后回复来自 no1xsyzy
    99
    大家工作中的前后端是如何合作的?如何减少接口变更?
  •  1   
    Java  •  crclz  •  2020-06-17 14:09:27 PM  •  最后回复来自 sunxiansong
    51
    读《大型网站系统与 Java 中间件实践》有感
    程序员  •  crclz  •  2020-01-01 17:26:33 PM  •  最后回复来自 luozic
    9
    postgres 如何锁住一条不存在的记录?
    PostgreSQL  •  crclz  •  2020-01-02 16:29:31 PM  •  最后回复来自 encro
    38
    微信企业号拿企业当小白鼠
    微信  •  crclz  •  2019-01-30 10:58:45 AM  •  最后回复来自 gethin0321
    4
    crclz 最近回复了
    商用防火墙会成为需要。大厂都是直接用防火墙拦截疑似攻击数据,然后再催促大家显示升级库版本。

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

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

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

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

    这样做不会错的,我司就是这样干的。
    异常处理原则如下,对无 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.
    初始实现没啥问题,第二版过拟合了(现在最简,但是不能很好应对新需求)
    对代码有极致的追求是一个很稀缺的素质。
    我之前还蛮影响使用的。之前习惯抱着笔记本在床上看剧,中途有事,笔记本一合一开,然后再播放( b 站),画面就会卡住,但是声音还会继续播放。然后捣鼓键盘 20s 后,就会回复正常,挺影响体验的。浏览器是 edge 。firefox 不存在这个问题。

    楼主可以尝试把 edge 的“使用标签页休眠功能节约资源”关掉,看看是否能够解决问题(我没试过)
    347 天前
    回复了 xinhaiw 创建的主题 .NET IdentityServer 收费了?
    @gaojiangouyu autofac tdd 我还靠它
    kde 永远的神
    351 天前
    回复了 NeverBoom 创建的主题 生活 我想逃避现实
    加油楼主
    关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2792 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 137ms · UTC 13:48 · PVG 21:48 · LAX 06:48 · JFK 09:48
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.