V2EX - 技术 |
- redis 怎样读回已过期的数据?
- 各位不加班的时候会习惯性熬夜吗?我打算改掉这个习惯, 11 点半之前要上床睡觉
- 开源一款淘宝客项目,支持打包成 App、微信小程序、QQ 小程序、Web 站点
- 代码优雅实现讨论
- 手机百度、夸克浏览器播放网页视频,播放器会被浏览器的内置浏览器拦截
- 终于知道我的职业是什么了!新生代农民工!
- 中了 crpytowall 勒索病毒
- Regular Expression 为何会翻译成正则表达式,而不是规则表达式
- 想过两年出国卷,现在有什么努力的方向吗
- 对远程帧缓冲协议 RFB 的解析
- SpringSecurity 我怕了
- 有前端友友知道这种 markdown 内容与目录同步是怎样实现的吗
- OPPO 手机真机调试 instant run,每次必须重新安装
- 分享一个 Safari 与其它浏览器书签同步的方案
- [开源] 一款图片编辑器
- 千万不要手贱升级 Firefox 91 版, Proton 禁用也无法换回原来的 Tab 栏了。
- JAXB 怎么实现带泛型 XML 转 Bean。
- 安卓下视频压缩和转换格式的问题
- laravel 的图片加水印功能有问题
- 请教一个问题, arm 架构下 64 位操作系统, Java 如何进行串口通信
- 线上的分布式事务是什么样的?以 Python 的 saga 为例
- intelij idea 能不能使用 wsl2 里面的 jdk?不用 Windows 的 jdk
- 软件工程师能力的相关性哪个占比更大
- 如何将 material-ui 的样式参数移到其他文件
- 一核一 GB 的主机,用编程语言开发业务,最佳是不是 nodejs AIO?
Posted: 16 Aug 2021 04:18 AM PDT 现在做一个需求,某个数据量比较大而且存在频繁读写,所以我想放到 redis 里面,但这样又怕太占内存,所以我想过期时间设定 2 小时,要用的时候再读回来. 现在的问题是这个"读回来"怎么实现,要么是 redis 本身就有相应的机制,要么在数据将要过期时写入数据库,但目前搜索了半天都没看到有相关的用法,是不是我这种用法本身不对呢?有没有更好的解决办法? | ||||||||
各位不加班的时候会习惯性熬夜吗?我打算改掉这个习惯, 11 点半之前要上床睡觉 Posted: 16 Aug 2021 04:16 AM PDT 好像程序员都有这个通病,我最近几年都是凌晨一点多才睡,然后前段时间体检发现血压偏高了,最近打算下定决心 11 点半之前要睡。 | ||||||||
开源一款淘宝客项目,支持打包成 App、微信小程序、QQ 小程序、Web 站点 Posted: 16 Aug 2021 03:57 AM PDT 项目地址:https://github.com/silently9527/coupons从前端到后端完全开源的淘宝客项目 Coupons 目前项目已经支持打包成 App 、微信小程序、QQ 小程序、Web 站点;理论上其他小程序支持,可能需要微调 觉得还不错的朋友记得 star 哦已实现的功能列表
效果预览 | ||||||||
Posted: 16 Aug 2021 03:57 AM PDT RT, Java 代码,一个方法中,逻辑特别多,于是把里面逻辑封装成了几个单独方法,但是也有七八个单独方法,看起来也有点难受: 感觉还是在面向过程去写,有点难受看着,但是有没有优化思路,或者优秀代码参考。 | ||||||||
手机百度、夸克浏览器播放网页视频,播放器会被浏览器的内置浏览器拦截 Posted: 16 Aug 2021 03:53 AM PDT 使用手机百度、夸克浏览器播放网页视频,播放器会被内置播放器的拦截;但是浏览 b 站的移动端网页播放视频,发现并没有被拦截;看了网页的代码也是普通的 video 标签,并没有什么特殊之处,有 v 友知道相关解决问题的吗 | ||||||||
Posted: 16 Aug 2021 03:47 AM PDT | ||||||||
Posted: 16 Aug 2021 03:24 AM PDT 周末没关机,周一一来就这样了,还好没有什么重要资料,电脑里没装什么奇奇怪怪的程序。不知道是不是和开了远程桌面端口 3389 连了腾讯云主机的 frp 有关系 | ||||||||
Regular Expression 为何会翻译成正则表达式,而不是规则表达式 Posted: 16 Aug 2021 03:20 AM PDT 一直对正则二字的含义不理解,所以去查了下,原来是古汉语词汇,意为:常规,规则 以下是百度百科的引用
那么为什么当初不翻译成更加浅显易懂的规则表达式呢? | ||||||||
Posted: 16 Aug 2021 03:04 AM PDT 要学习英语还是怎么说,需要先考雅思之类的吗 | ||||||||
Posted: 16 Aug 2021 02:55 AM PDT RFB (Remote Framebuffer Protocol) 远程帧缓冲协议,是一种允许用户通过网络连接控制远端计算机的七层网络协议。 在 RFB 协议中,用户通过本地鼠标、键盘输入,经由远端计算机计算后,将图形用户界面( GUI )回传本地进行输出。 撸了 gitbook,请大家移步观看 https://rfb.vincentcui.cn/ | ||||||||
Posted: 16 Aug 2021 02:47 AM PDT 最近项目用了 security 需要对接钉钉和企业微信的登录,看了下官方文档,在 5.2 之前需要引入一个 oauth 包,后面 5.2 需要引 ouah2-client 包,开开心心的引入了,才知道噩梦才开始 总结一句话,如果要对接 oauth2,请直接避开官方提供的代码,直接手撸 | ||||||||
有前端友友知道这种 markdown 内容与目录同步是怎样实现的吗 Posted: 16 Aug 2021 02:41 AM PDT 就是类似于这种 | ||||||||
OPPO 手机真机调试 instant run,每次必须重新安装 Posted: 16 Aug 2021 02:30 AM PDT OPPO 手机真机调试每次必须重新安装 r11s 安卓 9 的系统 | ||||||||
Posted: 16 Aug 2021 02:29 AM PDT
其实 apple 提供了 icloud 和 chrome 可以同步的插件,这个大家都知道,但目前有几个问题:
解决方案: 这样就相当于配置了一台服务器,把同步的问题放在一台机器上,其它机器都使用原生同步方案。已经稳定使用多年,除了 windows 死机几次,目前没出现过任何问题。 | ||||||||
Posted: 16 Aug 2021 02:01 AM PDT FastImageEditor 是一款图片编辑器,采用 React + Typescript + React-knova 框架开发 地址: https://github.com/jiechud/taro-mall 体验地址: http://39.97.252.98:3000/ 如果觉得不错。路过的 V 友给个 star 吧 | ||||||||
千万不要手贱升级 Firefox 91 版, Proton 禁用也无法换回原来的 Tab 栏了。 Posted: 16 Aug 2021 01:23 AM PDT Proton 目前个人感觉很耗资源,禁用后速度有明显提升,而且 Proton 的 Tab 占据太多空间,以前很多基于 Firefox 的 UI 测试直接无法运行。 Firefox 91 之前的版本,包括默认启用 Proton 的 Firefox 90 版本,都可以在 about:config 里面 disable 掉 Proton,从而恢复成原来紧凑的模式,如下图所示: 更新到 91 版之后,即使是 disable 掉了 Proton,紧凑的 Tab 栏也回不去了,如下图所示: 目前在网上找了一圈,github 上有个 Firefox UI 用自定义的方式实现了类似的风格,但是是在启用 Proton 的条件下(原文没仔细看,好象是利用 Proton 能自定义界面的特性实现的),跟以前紧凑的风格明显不一样,而且能感觉明显卡顿。网址: https://github.com/black7375/Firefox-UI-Fix 显示风格如下: | ||||||||
Posted: 16 Aug 2021 01:12 AM PDT
目前的问题
不知道各位有没有遇到过或提供一下解决思路。不胜感激 | ||||||||
Posted: 15 Aug 2021 10:32 PM PDT 安卓下调用 ffmpeg 来压缩视频,转换视频格式。 有什么办法可以提高安卓下的速度? | ||||||||
Posted: 15 Aug 2021 09:00 PM PDT 尝试使用 laravel intervention/image 给图片加水印有问题。 只要水印超过 50%的原图面积或按原图大小进行覆盖,加出来的图片一定黑掉一半。 哪位有遇到该问题? | ||||||||
请教一个问题, arm 架构下 64 位操作系统, Java 如何进行串口通信 Posted: 15 Aug 2021 08:12 PM PDT
| ||||||||
线上的分布式事务是什么样的?以 Python 的 saga 为例 Posted: 15 Aug 2021 04:32 PM PDT 银行跨行转账业务是一个典型分布式事务场景,假设 A 需要跨行转账给 B,那么就涉及两个银行的数据,无法通过一个数据库的本地事务保证转账的 ACID,只能够通过分布式事务来解决。 分布式事务分布式事务在分布式环境下,为了满足可用性、性能与降级服务的需要,降低一致性与隔离性的要求,一方面遵循 BASE 理论:
另一方面,分布式事务也部分遵循 ACID 规范:
SAGASaga 是这一篇数据库论文SAGAS提到的一个分布式事务方案。其核心思想是将长事务拆分为多个本地短事务,由 Saga 事务协调器协调,如果各个本地事务成功完成那就正常完成,如果某个步骤失败,则根据相反顺序一次调用补偿操作。 目前可用于 SAGA 的开源框架,主要为 Java 语言,其中以 seata 为代表。我们的例子采用 go 语言,使用的分布式事务框架为https://github.com/yedf/dtm,它对分布式事务的支持非常优雅。下面来详细讲解 SAGA 的组成: DTM 事务框架里,有 3 个角色,与经典的 XA 分布式事务一样:
下面看一个成功完成的 SAGA 时序图,就很容易理解 SAGA 分布式事务: SAGA 实践对于我们要进行的银行转账的例子,我们将在正向操作中,进行转入转出,在补偿操作中,做相反的调整。 首先我们创建账户余额表: 我们先编写核心业务代码,调整用户的账户余额 下面我们来编写具体的正向操作 /补偿操作的处理函数 到此各个子事务的处理函数已经 OK 了,然后是开启 SAGA 事务,进行分支调用 至此,一个完整的 SAGA 分布式事务编写完成。 如果您想要完整运行一个成功的示例,那么参考这个例子yedf/dtmcli-py-sample,将它运行起来非常简单 处理网络异常假设提交给 dtm 的事务中,调用转入操作时,出现短暂的故障怎么办?按照 SAGA 事务的协议,dtm 会重试未完成的操作,这时我们要如何处理?故障有可能是转入操作完成后出网络故障,也有可能是转入操作完成中出现机器宕机。如何处理才能够保障账户余额的调整是正确无问题的? 这类网络异常的妥当处理,是分布式事务中的大难题,异常情况包括三类:重复请求、空补偿、悬挂,都需要正确处理 DTM 提供了子事务屏障功能,保证上述异常情况下的业务逻辑,只会有一次正确顺序下的成功提交。(子事务屏障详情参考分布式事务最经典的七种解决方案的子事务屏障环节) 我们把处理函数调整为: 这里的 barrier_from_req(request).call(cursor, busi_callback)调用会使用子事务屏障技术,保证 busi_callback 回调函数仅被提交一次 您可以尝试多次调用这个 TransIn 服务,仅有一次余额调整。 处理回滚假如银行将金额准备转入用户 2 时,发现用户 2 的账户异常,返回失败,会怎么样?我们调整处理函数,让转入操作返回失败 我们给出事务失败交互的时序图 这里有一点,TransIn 的正向操作什么都没有做,就返回了失败,此时调用 TransIn 的补偿操作,会不会导致反向调整出错了呢? 不用担心,前面的子事务屏障技术,能够保证 TransIn 的错误如果发生在提交之前,则补偿为空操作; TransIn 的错误如果发生在提交之后,则补偿操作会将数据提交一次。 您可以将返回错误的 TransIn 改成: 最后的结果余额依旧会是对的,原理可以参考:分布式事务最经典的七种解决方案的子事务屏障环节 小结在这篇文章里,我们介绍了 SAGA 的理论知识,也通过一个例子,完整给出了编写一个 SAGA 事务的过程,涵盖了正常成功完成,异常情况,以及成功回滚的情况。相信读者通过这边文章,对 SAGA 已经有了深入的理解。 文中使用的 dtm 是新开源的 Golang 分布式事务管理框架,功能强大,支持 TCC 、SAGA 、XA 、事务消息等事务模式,支持 Go 、python 、PHP 、node 、csharp 等语言的。同时提供了非常简单易用的接口。 阅读完此篇干货,欢迎大家访问项目https://github.com/yedf/dtm,给颗星星支持! | ||||||||
intelij idea 能不能使用 wsl2 里面的 jdk?不用 Windows 的 jdk Posted: 15 Aug 2021 11:28 AM PDT 我知道 go 语言可以在 vscode 里这样做,但是 Java 用 idea 可以吗? | ||||||||
Posted: 15 Aug 2021 10:39 AM PDT 作为软件工程师,对 A:工程设计能力和 B:代码质量能力比较而言 C:人设能力哪一项是更为重要的?个人认为: A:代码质量是基础,但是又很考验人的心思缜密性,是一项较为深度的能力。 B:工程设计能力更多像是锦上添花的能力,是站在第一个基础上才有的,但有时候事实又不是这样的。类似玩转各种设计模式,找到各种第三方库合理并优化的引入项目中。 C: 为啥人设也列为软件工程师能力范围内呢,因为我觉得即使做软件一样离不开和人打交道,而有时候可以见到很多不敲代码,只沟通和社交就解决问题的人,这里不指 PM,企业家等...单纯指软件工程师范畴。 大家说说这三项 A,B,C 能力的提高方式,以及大家是怎么一步步过来的, 如何可以逐渐过度,而不使人焦虑呢。 | ||||||||
Posted: 15 Aug 2021 10:37 AM PDT 前端初学者,目前在学习 material-ui 的使用,遇到如下问题 例如一个 Grid 经过 prettier 格式化后,参数占用了太多行,导致结构看起来不清晰,我希望把 container,direction 等参数移动到其他文件里,如 目前看到的办法 一个是自定义<Mygrid>,这种的问题是 grid 比较多的话需要自定义很多 grid,改起来不好改, 一个是用 material-ui 自带的 makeStyles,但是好像只能使用 css 的参数,我更想使用 material 的参数。 想请教正式项目中如何处理这一类问题。 | ||||||||
一核一 GB 的主机,用编程语言开发业务,最佳是不是 nodejs AIO? Posted: 15 Aug 2021 04:00 AM PDT |
You are subscribed to email updates from V2EX - 技术. To stop receiving these emails, you may unsubscribe now. | Email delivery powered by Google |
Google, 1600 Amphitheatre Parkway, Mountain View, CA 94043, United States |
No comments:
Post a Comment