Monday, June 13, 2022

V2EX - 技术

V2EX - 技术


华为云广东出问题了?

Posted: 13 Jun 2022 05:32 AM PDT

公司所有服务无法访问,华为云控制台也无法登录

Linux 有 zsh 历史代码提示,那 window 有没有什么代表提示类工具?

Posted: 13 Jun 2022 05:29 AM PDT

前公司用的 Mac 电脑,装了 zsh 后发现非常好用,但 window 没有 zsh ,只能装 wsl 再配置 zsh ,但每次都要装 wsl 也太麻烦了,请问 window 有没有这种代码提示工具?

有关 TypeScript 思想和 Vue3 的正确使用方式

Posted: 13 Jun 2022 05:29 AM PDT

这几天新项目用 vue3 写已经大概搞出雏形了。单说使用层面的体验上,setup 确实是个好用的东西。虽然代码里需要多写一写 ref 之类的标记,但直接根据闭包级别调度所有数据和代码,确实比 vue2 的分体式体验好上不少,再加上实际代码里需要展示的变量不是全部,而中间变量既不需要写 ref 又能享受闭包的好处,属实是方便了不少。

配置方面,个人感觉上 vite 比起 2 时代 vue-cli 的配置是更清晰了些,我曾因不熟悉 webpack ,而 cli 的文档又多有语焉不详之处而受折磨,这次配置没有出现类似情况。

只能说,曾经看到网上有人说 vue3 是非常失败的作品,在社区也不被认可,现在看来这是屁话了,也许是有利益相关才会说出这种评价。

不过话又说回来,最近几天的写作过程中,虽然创建的是 ts 项目,但是感觉自己还是在写 js ,没有任何区别。至多算是把原先 js 参数无法设置默认值这种问题修正,让它看起来更像现代语言了一些这样。类型标注方面也没有标的那么细,如果仅是出于方便后续开发维护代码的角度出发,其实也只在关键位置定义了类型,并没有体验到什么太大的变化。

由于原生 js 还是面型过程氛围较浓的语言,虽然在看 ts 说明书过程中它允许使用对象和接口,但是开发过程中实在搞不太清楚什么环境下需要使用,值得使用,毕竟面向过程已经能解决问题。感觉上就是原先希望通过一个项目学习并了解 ts ,但是写完后发现完全没有收获,还是像原来一样我行我素?

周末看新东方直播

Posted: 13 Jun 2022 05:24 AM PDT

新东方直播在上周突然出圈了,抖音的成交额进入前 4 。

我之前一直没有下载抖音,上次还是为了支持公司直播下载了抖音,然后就卸载了。周末的时候特意有下载了抖音看新东方的直播,看了大概 2 个小时左右。

1 ) 团队确实找到感觉。 明确了直播的定位,用户的定位,打造了"产品"的特色。主播老师的幽默感、口才输出、以及即兴的情感输出都是 top 级别,也不愧为新东方能说会道的名师。

2 ) 卖东西的商业逻辑是情感共鸣。那些英语单词、那些煽情的诗句,以及那些即兴的自嘲幽默,都会给进入到直播的用户有强大的共鸣。听直播,变成了听讲课,听诗朗诵,听相声,听众很开心。开心了,买个东西也就顺手的事。

3 ) 战场变了。直播带货不再是,大喊:买他,买他,买他的大声叫卖。而是平台的另外一个商业场景,和 10 几 20 年前所有大公司都要有电商一个逻辑。战场变了,流量也变了,我们需要跟上大势的发展,紧紧跟随。

4 ) 老俞真是名副其实的卓越的企业家。"在绝望中寻找希望,人生终将辉煌!",也算得上:知行合一,时代楷模,激励了目前整个"万马齐喑"的大环境下,砥砺前行的很多人。

我决定留下抖音,不再卸载。

哔了狗的 gorm. 很久没用 golang 了,生态这么操蛋么?

Posted: 13 Jun 2022 05:22 AM PDT

我已经 6 年没说过脏话了,这次破防了,出口成脏敬请原谅。。




最近用 golang 的一个项目,天生集成了 gorm 我无从选择。

有一个需求,嗯,很简单,MYSQL 用一个外键。


为什么要用外键?因为他的 orm ,据我初步看文档了解,如果不建立外键对应关系,是不能做 join 的。不让 join 基本 crud 都玩不转啊




我看了文档,我不是没有英文阅读能力,为了省事,我看中文比较快,嗯,语法很简单

https://gorm.io/zh_CN/docs/index.html

数据库创建外键很简单



嗯,我照着做了,不生效

没准是哪个傻逼翻译中文时候翻译错了

看英文官方文档,嗯,翻译没错,不生效

我直接按照文档做了个示例,不生效

看来这玩意 BUG 了

我看看我的版本吧,看了下项目引用



1.22.5

上官方网站



显示最新 1.23.6

那就找找 changelog ,看看 1.22.5 到 1.23.6 有什么升级。是不是修复了这个 BUG

嗯嗯,我傻逼了,找了一个小时没找到

所有关于 changelog what's new 的,都指向一个吹牛逼 gorm v2 有啥新特性的地方

github 呢,没有 release ,只有版本库的 tag ,也没有任何说明


因为还有其他地方用着这个版本,竟然前人大佬写死了 1.22.5 ,暂时不敢升级


找官方手册,找来找去没找到。找 stackoverflow 之类,找到了一个非官方解决方案


用这个方案的关键字去搜索,哇,找到了一个 2018 年的 github issue


这个大佬真贴心,原来 2018 年建外键的功能就不好使啊,而且 MYSQL POSTGRES SQLITE 都不好使,你敢信,他官方好像就主要支持这三种数据库!





请允许我引用一下


You can use gorm:"foreignkey:", but it doesn't create any foreign key, not like primary_key, that's quite counter-intuitive.
You need use gorm:"type:int REFERENCES user(id) ON DELETE CASCADE" for PostgteSQL#450.
You need use db.Model(Email{}).AddForeignKey("user_id", "user(id)", "CASCADE", "CASCADE") for MySQL, because above tag doesn't work in MySQL.
You need use gorm:"type:int REFERENCES user(id) ON DELETE CASCADE" + db.Exec("PRAGMA foreign_keys = ON") for SQLite because AddForeignKey() doesn't work for SQLite and 'foreign_keys = off' is default setting in SQLite#390.
None of above things are mentioned in document.
I am still confusing what's the usage of tag gorm:"foreignkey:XXX", it doesn't create any foreign key or contribute cascade delete/insert/update/retrieve.


2018 年 6 月,现在是 2022 年 6 月,这可真是高效,还没修复


好在这个大佬给了一个方式,也就是我之前在 stackoverflow 搜索到的


You need use db.Model(Email{}).AddForeignKey("user_id", "user(id)", "CASCADE", "CASCADE") for MySQL


然后我惊奇的发现,GORM 官方把 AddForeignKey()删除了


因为没有 changelog ,我也不知道他啥时候删除的


这可真是高效 艹

win11 安卓怎么跟本机上文件互传,共享?

Posted: 13 Jun 2022 05:19 AM PDT

win11 安卓怎么跟本机上文件互传,共享? 有好的解决办法吗

小米移动又开始耍流氓了,我的维权经历(已经被停机)

Posted: 13 Jun 2022 05:13 AM PDT

小米刚开始搞移动通信业务的时候,为了营销推过那种没有月租的电话卡,我觉得充 100 块钱就能弄一个手机号以后用来对付装修电话什么的也挺合适,就买了一个,期间一直没怎么用,也相安无事。

3 月份的时候,我装那个电话卡的旧手机接到一个短信,说是根据《反恐怖主义法》《网络安全法》,我的号码异常,必须进行二次实名验证,我也没想太多,可能以前的实名制不充分,要补录一个就借了一部安卓手机进行验证了(人家只支持安卓),验证之严格程度让人大开眼界,你不仅要提供身份证这样的常规操作,还要对着屏幕上给你提供的稿子现场进行录像,大概内容就是,我叫 xx ,我的身份证是 xxx ,今天是 x 年 x 月 x 日,我保证是我本人,且不用这个电话诈骗等等,犯人体验感十足。

验证通过后的 3 个月后,也就是前几天,我又收到了同样内容的短信又让我来一次,说我的号码异常,问题是我这个号本身就很少使用啊,我打电话申诉,对面一度让我确认是不是机器人客服,完全不解释异常原因,不停的重复因为网络优化,这边要你进行申诉的。(小米移动管强制用户进行二次实名验证叫网络优化,二次实名验证的入口叫申诉),反正就是不给你判断异常出现的原因,不进行处理。

然后我把事实证据包括,电话详单、证明我的号 3 个月前已经通过实名制验证的证据提交到工信部申诉,小米 1 天后来电话了,终于来一个不像机器人的客服了,不过也最多是中级客服,告知我是长期没有使用被列为异常,这就很有意思了:

1 )"长期"如何定义?我 3 月下旬给我的另一个手机号还发过一次付费短信,事发还不到 3 个月,就算长期不使用了?

2 )"使用"如何定义?我把手机卡插在手机里 24 小时保持畅通就不算使用?那你用微博只浏览不发东西也不算用微博了?

3 )有哪条法律法规、以及签署的合同规定用户使用手机必须一个月(小米客服后来提供的标准)发一次短信或者电话,否则就必须再次实名制验证? 24 小时不验证就停机?用户怎么用手机你小米管的着么?

当然沟通结果还是客服虽然无法辩驳,但是这是他们的规定没有办法,一如既往的复合预期。

今日我发现我的号被停机了,打电话询问小米客服,说这就是最终的处理方法,不予以开通,你要想开通就进行申诉,我询问我不懂你说的申诉是什么意思,是否就是那个要现场录像拍身份证的那个东西,她说是,那个入口的名称叫申诉。

我今天又向工信部投诉了一次,因为我已经被违法停机了,我对处理结果其实并不乐观,大企业跟你耍流氓人家拿工资的,有钱有人有时间,你普通人生活已经够难了还要应付这些事情,为了维权做实力明显不对等的对抗,如果没有国家法律撑腰、处罚震慑,难办的很。

我其实对那些女性客服感到有些愧疚,因为你要维权就必须摆出一种"战斗姿态",那些女性客服承担了用户的质疑与怒火,但是问题肯定不是出在她们身上,有时候听到对面小心翼翼、唯唯诺诺的声音,真是让人感到众生皆苦,她们本不应该承受这些,但是我也得维权啊,虽然她们肯定看不到这些,我还是想在互联网上留下对她们的愧疚,唉。

我不知道就这么点事儿,花那么多时间处理是否明智,目前我在等待申诉结果,可能会像众多类似事情一样无疾而终吧,也许正是领教过的一次次的不公让年轻人失去朝气变成了油腻中年,我希望处理结果能给自己,也给大伙儿打一打气


以下是一些截图

截图 1

截图 2

你们说阿里云黑吗?

Posted: 13 Jun 2022 05:13 AM PDT

百度云盘,5TB 下载到本地,只需要充一个会员,200 多,阿里云 OSS 上 5TB 下载到本地,流量费 2000 多,还不算存储费用,请求次数费用。

用 Golang 创作了一个图片处理服务,欢迎 Star

Posted: 13 Jun 2022 04:48 AM PDT

代码有些丑,实现了图片的处理,可以用 lua 定制,抄了很多 zimg 代码。详细看: https://github.com/x-debug/gimg

大厂后台管理系统登录会和前台接同一个 OpenID 鉴权系统吗?

Posted: 13 Jun 2022 04:47 AM PDT

据说 Google 好像是,前年年底发生过一次 Google 鉴权系统故障,全部有登录功能的服务都全站 500 错误,他们发的说明中提到办公系统也都无法使用,无法联系其它工程师导致花了很长时间才修复。

大佬们来围观一下小白第一次写的垃圾代码(真的第一次写,毫无基础,边写边百度), Python 向。

Posted: 13 Jun 2022 04:04 AM PDT

大佬们好,简单的说明一下目的,在用户选择的目录下创建固定的文件夹,根据当前时间以及项目名称创建文件夹如: 20220613_V2EX 拍摄项目 camera 20220613-A7S3 20220613-RED V-RAPTOR audio vedio fx sound fx ....

当然现在是半成品,期待大佬们点评现在的代码,有什么不足,以及分享思路,万分感谢!!!

链接: https://pan.baidu.com/s/1WFj3hHCCeuCStXSb3aB5Tw 提取码: wh56

阿里云发布 CIPU,又要颠覆啥?

Posted: 13 Jun 2022 03:55 AM PDT

CIPU 全称 Cloud Infrastructure Process Units ,意为云基础设施处理器。 从名字上就能看出,这是一颗云端处理器,专门用于连接服务器内硬件和云上虚拟化资源。

这是啥东东?

有没有大佬来扒皮。。

ES 如何实现这种多维度多条件的搜索?

Posted: 13 Jun 2022 03:46 AM PDT

奈何 ES 搜索玩的不 6 ,请教大佬 ES 搜索怎么实现这种类似 Linkedin 的搜索?
每个维度可以选择 0 个,1 个或多个条件

Screen Shot 2022-06-13 at 11.22.22.png

想搞个 pixel 5a

Posted: 13 Jun 2022 03:39 AM PDT

有什么坑点吗……就是想体验下谷歌亲儿子😂 and 淘宝 2k 左右的靠谱吗……

高丢包率网络用什么协议共享数据最快最稳定?

Posted: 13 Jun 2022 03:32 AM PDT

现在是用 rclone 搭建的 WebDAV 服务端+WinSCP 客户端传数据,经常传几分钟连接断了,不支持断点续传,必须从头再传一遍。

直播预约|今晚 19:00,携手 StreamNative 论道云原生中间件(有视频号福袋放送!)

Posted: 13 Jun 2022 02:47 AM PDT

图片

"

云原生技术生态的覆盖面越来越广,IT 世界大有一切皆可云原生的趋势,那么中间件作为开发者手中的「研发利器」,又将迎来什么样的历史转折?


如何使用 Plusar ,构建企业级数据流平台?

云原生下如何构建日志平台?

以及 MySQL 上云的思考和实践

尽在今晚 19:00 论道原生直播间,「 DaoCloud 道客」携手 StreamNative ,与你共同探讨云原生时代中间件,在具体场景下的升级调优。

快来预约,观看直播吧!

将在 06 月 13 日 19:00 直播

预约

[直播] 论道原生丨云原生时代的中间件

视频号 

「论道原生」群聊邀请

促进技术交流与讨论

群内提问互动解答

丰富的纪念奖品

快来加入群聊

图片

删除/lib64/libstdc++.so 导致服务器无法启动

Posted: 13 Jun 2022 02:36 AM PDT

之前中过一次挖矿病毒就是通过 /lib64/libstdc++.so 来隐藏进程 这个看到一样的状况开机 cpuIO 直接 50% 然后我就按照上次的方法操作了下,重启后结果直接就无法启动了 直接在内核引导阶段就进不去,然后恢复模式也进不去,我通过 usb 引导 ubuntu 镜像进入了 ecovery 模式下 重建了 /lib64/libstdc++.so 的软链接但是还是无法开机 请问怎么通过 开机引导内核那部分刷的飞快的日志定位问题啊

通过 mutable 系框架,回推一次性消息

Posted: 13 Jun 2022 02:25 AM PDT

事件 Event 倾向于 "发送" 语境。事件通常来自 UI 层,例如通过 Button click 发起某事件。

而 mutable 系框架倾向于 "接收事件、处理业务逻辑" 后的末流消息分发。

为此,基于 "单一职责原则",最终我们将 UnPeekLiveData 更名为 Result ,示意其纯粹 "消息分发" 用途,

通过语义,让团队成员在 Activity/Fragment 中使用 result.setValue 时感觉别扭,促使其自动仅在 "唯一可信源" 内部业务逻辑末端使用。

具体可 pull 最新源码查阅。

https://github.com/KunMinX/UnPeek-LiveData

IntelliJ 默认的 Terminal 在不同的系统下冲突了,怎么办?

Posted: 13 Jun 2022 02:22 AM PDT

用了自带的 Settings Repository 同步配置,于是 Mac 上出现了这种东西:

有解吗?

有什么 NAS 自建网盘的程序能做到端对端加密?

Posted: 13 Jun 2022 02:00 AM PDT

nextcloud 官网说可以,但我研究了很久还是没找到这功能在哪里。

seafile 确实可以,但这东西 bug 太多了。

桌面版能设置 128 位密码,iOS 客户端解密的时候密码输入框只允许输入 127 位。 服务端有的时候启动会非常慢,CPU 占用很低但要几分钟才能启动。 部分英文界面排版错位。

这么多 bug 的程序担心以后会丢我数据,不敢用。

关于 Java 泛型方法定义的疑惑

Posted: 13 Jun 2022 01:25 AM PDT

https://www.v2ex.com/t/858692 里讨论了 "? super T 和 ? extends T" 的问题。我现在有一个疑惑,在设计接口的时候,应该如何正确使用泛型通配符。

借用引用该回答里的定义,有 3 个类:A1 、A2 、A3 ,A2 继承 A1 ,A3 继承 A2 ,那么有:A1>A2>A3 。如果想设计一个工具方法,接收所有继承自 A1 的元素,以及一个对元素操作的方法。理论上可以这个写:

 interface Util {         void process(List<? extends A1> list, Function<? extends A1, Boolean> function);     } 

但是实际上使用的时候,下面代码会报错:

  Util util = (l, f) -> {             l.forEach(e -> {                 f.apply(e); // 这里会报错             });         }; 

在报错的地方,IDE 提示如下:

Required type: capture of ? extends A1 Provided: capture of ? extends A1 

这里该如何理解呢?

关于群晖和威联通同步到百度网盘的问题

Posted: 13 Jun 2022 12:57 AM PDT

群晖里面可以比如修改一个文件后 自动触发同步到百度网盘去。 在威联通里面倒是也有同步的功能,只是不是修改了文件后自动同步?一定要自己设定同步计划吗,而且同步计划执行一下感觉很费劲,是我用的姿势不对还是怎么的

我怎么觉得 Java 的 JNI 比 Go 的 CGO 要好呢?

Posted: 13 Jun 2022 12:40 AM PDT

有无查询国内物流的浏览器插件/接口推荐?

Posted: 12 Jun 2022 11:13 PM PDT

每天都有几十个国内物流单号查询, 中通圆通韵达申通等, 这些单号发件人和收件人都不是固定的.

使用 17track 查询, 很多物流单号不能自动识别, 圆通的还能正确识别, 但其他的就很难识别出来, 导致查询失败, 需要重新手动选择物流商.

使用菜鸟裹裹(网页版)查询一次只能查一个, 也是相当麻烦.

有无其他平台或者浏览器插件推荐? 物流单号数据都是放在石墨文档里. 如果没有合适的话自己可以开发一个插件, 但没找到合适的接口, 看了下菜鸟裹裹 api, 但是没有找到淘宝文档:

https://h5api.m.taobao.com/h5/mtop.cnwireless.cnlogisticdetailservice.wapquerylogisticpackagebymailno/1.0/?jsv=2.4.2&appKey=xxx&t=1655086332739&sign=65790ecbaa3e2a540db723750a76fb6&api=mtop.cnwireless.CNLogisticDetailService.wapqueryLogisticPackageByMailNo&data={"mailNo":"xxxxxx","cpCode":""} 

安卓麦克风已被占用的问题

Posted: 12 Jun 2022 10:54 PM PDT

买了个 moto edge s pro 给家人跑网约车用,便宜又简洁

但是接单之后司机端 app 要全程录音,然后打开微信发语音的时候就会提示麦克风被占用

但是用 iPhone 和华为的就不会这样,这是什么原因呢?

网上说是因为单扬声器的原因,但是通话录音怎么就可以呢,有没有办法解决呢?

大佬们

从头开发一个多平台应用,大家会考虑哪种技术栈?

Posted: 12 Jun 2022 09:27 PM PDT

不考虑项目历史因素,仅从自己最理想的情况下选择技术栈,大家更愿意用哪些?

在需要支持主流平台( iOS 、Android 、macOS 、Windows 、Linux )的情况下,更愿意选择 跨平台 技术,还是使用平台 独立技术栈 开发?

rpm --import xx.gpg 都干了什么

Posted: 12 Jun 2022 09:03 PM PDT

在 ubuntu/debian 中。把 gpg 文件 wget 到 /etc/apt/trusted.gpg.d/x.gpg 执行 apt install/update/upgrade 就不会报 "gpg verify fail"

也就是说 apt 的 gpg lib 就是在 /etc/apt/trusted.gpg.d/

问题:

RHEL/CentOS/Fedora/Alma/...等等等等是 rpmbased 。那 rpm 或者 dnf/yum 的 gpg lib 在哪。

同样把 gpg 放到 /etc/pki/rpm-gpg/ 目录 然后使用 dnf install/update 还是询问是否信任 gpg key...

这个[信任] 是做了什么呢?把文件复制到了哪个目录?还是修改了什么配置加入了 gpgkeyid 呢?

关于低代码平台请教下大佬们

Posted: 12 Jun 2022 08:36 PM PDT

现阶段各个大厂都开始退出低代码平台了,目前一些业务不复杂的场景都能处理,只是好像大多都是 PC 端的,所以想请教下大佬们,现阶段国内外有哪一些低代码平台能支持零代码开发 APP 的,管理类的。

求助:关于用 Go 实现 socks5 代理中转服务,并对接代理 IP 池

Posted: 12 Jun 2022 08:25 PM PDT

  1. 用 go 实现一个 socks5 代理服务端 [ 已 ok ]

  2. 手里有很多第三方的 socks5 代理 IP,port

  3. 原本是直接在客户端上的小火箭上去配置 ip,prot, 但是由于需要频繁变更,所以想要实现一个代理中转服务,由 go 的 socks5 代理服务器来代理客户端的所有请求,并并且对接第三方的代理 IP. 来动态的转发流量

  4. 现在的问题就是不知道如何实现动态代理链,把第三方代理 IP 集成进来

有熟悉的朋友可以给点关键词或者 demo, 可请大佬喝杯咖啡感谢

关于如何在 Golang 中实现抽象类

Posted: 12 Jun 2022 07:50 PM PDT

假设现在我们定义了一个接口I,有两个方法Foo,Bar, 结构体Parent实现了 Foo,而Bar作为抽象方法由子类实现, 示例代码如下:

package main  type I interface { 	Foo() 	Bar()  }  type Parent struct { 	I }  func (p *Parent) Foo() { 	p.Bar() }    type Child struct { 	Parent }  func (c *Child) Bar() { 	fmt.Println("Child.Bar()") }  func main() { 	c := &Child{ 		Parent: Parent{}, 	} 	c.I = c // 如果注释掉这几句会提示空指针异常 	c.Foo() }  

输出如下:

Child.Bar() 

问题: 1.上面的代码实现了类似Java风格的抽象类,但是在main方法中的这句代码没看懂c.I = c,这句代码的本质是做了什么事情?为什么c.I = c就会报空指针异常

有没有可以开源自建的收藏夹页面工具?

Posted: 12 Jun 2022 07:40 PM PDT

自建开源,静态资源全都可以放在本地(局域网内使用)。

DynamicTp 新版本发布。还在为 Dubbo 线程池耗尽烦恼吗?还在为 Mq 消费积压烦恼吗?

Posted: 12 Jun 2022 07:37 PM PDT

DynamicTp 简介

DynamicTp 是一个基于配置中心实现的轻量级动态线程池管理工具,主要功能可以总结为 动态调参、通知报警、运行监控、三方包线程池管理等几大类。

经过几个版本迭代,目前最新版本 v1.0.6 具有以下特性

特性

  • 代码零侵入:所有配置都放在配置中心,对业务代码零侵入

  • 轻量简单:基于 springboot 实现,引入 starter ,接入只需简单 4 步就可完成,顺利 3 分钟搞定

  • 高可扩展:框架核心功能都提供 SPI 接口供用户自定义个性化实现(配置中心、配置文件解析、通知告警、监控数据采集、任务包装等等)

  • 线上大规模应用:参考美团线程池实践,美团内部已经有该理论成熟的应用经验

  • 多平台通知报警:提供多种报警维度(配置变更通知、活性报警、容量阈值报警、拒绝触发报警、任务执行或等待超时报警),已支持企业微信、钉钉、飞书报警,同时提供 SPI 接口可自定义扩展实现

  • 监控:定时采集线程池指标数据,支持通过 MicroMeter 、JsonLog 日志输出、Endpoint 三种方式,可通过 SPI 接口自定义扩展实现

  • 任务增强:提供任务包装功能,实现 TaskWrapper 接口即可,如 TtlTaskWrapper 可以支持线程池上下文信息传递,以及给任务设置标识 id ,方便问题追踪

  • 兼容性:JUC 普通线程池也可以被框架监控,@Bean 定义时加 @DynamicTp 注解即可

  • 可靠性:框架提供的线程池实现 Spring 生命周期方法,可以在 Spring 容器关闭前尽可能多的处理队列中的任务

  • 多模式:参考 Tomcat 线程池提供了 IO 密集型场景使用的 EagerDtpExecutor 线程池

  • 支持多配置中心:基于主流配置中心实现线程池参数动态调整,实时生效,已支持 Nacos 、Apollo 、Zookeeper 、Consul ,同时也提供 SPI 接口可自定义扩展实现

  • 中间件线程池管理:集成管理常用第三方组件的线程池,已集成 Tomcat 、Jetty 、Undertow 、Dubbo 、RocketMq 、Hystrix 等组件的线程池管理(调参、监控报警)

官网上线

随着 v1.0.6 的发布我们上线了 DynamicTp 官网: https://dynamictp.cn

介绍文档、使用说明等都可以查看官网了解更多,以后新特性也会优先发布到官网上

欢迎大家体验 👏🏻

v1.0.6 发布记录

距离 v1.0.5 发布已经有差不多 2 个月时间,这个版本框架源码调整还是比较大的,重构了好一些功能,主要是围绕第三方中间件线程池集成来改动的,是向前兼容的,同时修复了三个小 bug 。

如果你有下述痛点,快快升级体验吧。

1 )如果你在使用 Dubbo ,那么你大概率遇到过 Dubbo 线程池耗尽的情况,是不是很烦恼呢?尝试使用下 DynamicTp 的 Dubbo 线程池管理功能,结合告警、实时监控、动态调参等功能尽可能降低 Dubbo 线程池耗尽,请求拒绝的风险。

2 ) mq 应该是很多互联网系统都会使用到的中间件,使用 mq 经常会遇到的其中一个问题就是消息积压问题,具体啥原因导致积压需要具体问题具体分析,就 RocketMq 来说,消费端是使用线程池进行处理消息的,所以说线程池的设置也会直接或者间接影响到消费速度,需要对此进行监控、告警、以及动态调参,尽可能降低因线程池设置而导致的积压风险。

注意:springboot 内置的三大 webserver 集成包默认会引入,不需要额外引入,其他三方组件的包需要自己引入,具体查看官网

Features

  • 报警渠道接入飞书

  • 支持 Apache Dubbo & Alibab Dubbo 服务端提供端线程池管理

  • 支持 RocketMq 消费端线程池管理

  • 支持 Hystrix 线程池管理

  • 支持 SpringBoot 内置三大 WebServer ( Tomcat 、Jetty 、Undertow )线程池管理

  • 增加线程池别名配置,提升告警信息可读易懂性

  • 提供任务包装类 NamedRunable ,提交任务时设置标识名称,方便问题追踪

  • 告警项自定义配置,不配置的项用默认值

BugFix

  • 修复并发导致通知报警信息发送多条的问题

  • 修复通知渠道配置修改不能动态更新问题

  • 修复钉钉手机端报警信息高亮失效问题

Refactor

  • 重构部分通知告警模块实现,支持三方中间件通知告警

  • 重构调整 adapter 、starter 模块代码组织结构

项目地址

目前累计 1.3k star ,感谢你的 star ,欢迎 pr ,业务之余一起给开源贡献一份力量

官网https://dynamictp.cn

gitee 地址https://gitee.com/dromara/dynamic-tp

github 地址https://github.com/dromara/dynamic-tp

加入社群

使用过程中有任何问题,或者对项目有什么想法或者建议,可以加入社群,跟群友一起交流讨论。

微信群已满 200 人,可以加我个人微信拉群(备注:dynamic-tp )。

wechat.jpeg

泛工具产品深度分析 #1 独立产品周刊

Posted: 12 Jun 2022 07:06 PM PDT

这个专题每期会对几款特定类型的产品做一些深度分析,主要是我对一些产品的观察和分析。主要关注产品的市场 /品类 /定位 /趋势 /变现模式 /推广玩法等,覆盖国内外移动应用,可能也会做一些 Web 端的产品分析。为独立创造者提供独立见解,帮助你发现新产品方向,启动和完善你的项目。

这个专题我会在 DecoHack 独立产品周刊持续发布,感兴趣的伙伴可以点击订阅我的周刊。

1. DailyBean

这是一个简单日记工具,App Store 超过 120 万的下载,这是韩国公司 bluesignum 的产品。主要市场是美国韩国英国等 T1 发达国家。

做这类日记应用的好处就是,这类应用的用户次留能到 50%,7 日留存能到 35%。毕竟是日记,重度用户使用了就会每天都来用,用户粘性非常高。这个产品的商业模式是付费订阅,180RMB/年的订阅价格算很低了,订阅后可以查看特有的报告,备份,还有个性化的一些功能。

DailyBean 这个产品做了 Instagram 账号,整个插画风格都很好看,做 Ins 的好处除了展示这些产品之外,在 FB 上买量的时候用户也可以看到真实的内容,另外也是拉近和用户之间距离的一个作用,也可以做用户社群。一般有在认真做产品的会考虑做一下 Instagram 的产品官方账号。

另外看了下这个产品的 ASO 关键词,全部关联的是一个长期霸占健康榜前 10 的一个产品 Finch (芬奇) ,这个产品也是很可爱的风格,下载量超过 170 万的产品,我后面专门做一下分析,这个产品不是普通的日志应用,做了很多的互动,是一个情绪跟踪器。虽然都是基本在去年 5 月份同时上线的, Finch (芬奇) 也是 DailyBean 这个产品的最大竞品。

现在越来越多的产品,都是在原本成熟的工具基础上做一些创新包装,功能基本换汤不换药,技术门槛并不高,但是主打的就是细分,好玩有趣,对产品交互设计有比较高的要求,因为现在的用户已经不满足简单的功能需求,更多的会看好不好看,好不好玩。再很多类型的产品上都能看出这个趋势,比如记账,效率工具,健身工具。并且这类产品如果在交互操作上有一些创新,苹果官方也是很喜欢推荐这类产品的。

2. KeepClean

这个产品不用做太多功能介绍,就是一个清理软件,Android 端,可以看一下买量的素材,依旧是四五年前的推广形式,依旧有需求,有意思的,但是现在和之前的工具产品流量玩法有点不一样。这个产品是由 APPS INNOVA 公司开发,并且这个公司是 IGG 的子公司,产品主推的是东南亚市场,所以这个逻辑其实很简单,这个子公司做的工具产品,是不会考虑盈利的,只需要用最便宜的钱买到用户,为母公司 IGG 的游戏做低成本的转化,在自家工具产品里发行自家游戏。毕竟买一个游戏用户成本非常高。

做游戏的收入相比做工具产品就不是一个段位的了。这也是很多做游戏的公司开始做一些工具应用,做工具的一些公司开始做游戏的原因。

3. Stock Alarm

这是一个实时跟踪加密货币和股票价格走势的产品。可以设置警报来实时跟踪价格变动。这个产品每日收入在大概 600 美金,很不错的数据。值得说的是,这个独立产品的 SEO 做的很厉害!在"stock alerts (警报) "方面排名前 5 。这确实很厉害了。产品的开发者说他们做 SEO 和 ASO 已经有一段时间了,因为付费营销对他们(不是因为没试过)几乎没有自然搜索那么有效。开发者做了 iOSAndroid 还有 Web 网页版本。

看了一下数据,这个产品在 19 年底,20 年初上线,目前为止 iOS 下载量还不到 10 万,预估收入贡献累计已经有 20 万美金。次日留存差不多 40%,7 日留存差不多在 13%。很不错的成绩。看上去是主要在做 iOS ,Android 本本也是在去年中的时候上线。最近每日收入贡献也有 200 美金。对于一两个独立开发者来说这收入已经是很不错了。

这个产品提供产品增值服务,月度 /年度会员订阅,会员也有非常多组合,最贵的组合一年是 165 美金,1100 多人民币 /年。主要的付费增值功能是可以增加设置提醒的数量和股票监测数量,另外还提供短信电话提醒的方式。

另外这个产品的开发者也会在各大开发者平台活跃,记录自己开发的过程进度及成绩。

4. LockID

隐私保险箱工具,这个产品在全球的 iOS 应用商店类型排行榜上出现过 100 多次,由土耳其的公司 AppNation 开发,看了一下这个公司主要是开发一些工具类型的产品,虽然已经不是独立开发的范畴了,但是这个产品还是很成功的,订阅增值+广告,靠买量变现,最近的买量力度还是挺大的,主打的功能"隐私"是一个很不错的买量点。

这个产品的主要功能是内置了浏览器,打开这个产品需要 FaceID 或者密码。可以添加一些相册和视频,这个功能有需求吗?有的,而且还是很普遍的需求,并不小众,这类产品已经晚了很久了,玩法多变,依旧是有市场。

5. Tinybeans

这是个老牌产品了,2012 年 5 月上架 App Store ,10 年老产品!累计下载 100 多万,不算很多。这个产品 30 天留存还能到 20%,可以说非常精准了。主打家庭相册功能,在美国市场也算是品牌标杆型的产品。

另外看到类似的一个产品 Baby Book Milestones (里程碑) ,这个是一个主打宝贝相册类型的产品,更细分的一个定位,用来记录怀孕日记和小孩记忆相册,上线 App Store 已经 4 年了,10 万的下载量,主要是美国市场,可以把拍的照片制作成实体书,商业模式也更多样。

本期对以上 5 款产品做了简单的分析,这个专题我会在 DecoHack 独立产品周刊持续发布,感兴趣的伙伴可以点击下面的链接订阅我的周刊。

更多内容可以订阅我的周刊: 竹白订阅官网RSS 订阅Telegram 频道Twitter

本站有没有类似这样的频道,新帖推送

Posted: 12 Jun 2022 07:01 PM PDT

有没有用 Bazel 构建过多语言 monorepo 的

Posted: 12 Jun 2022 06:27 PM PDT

最近被这玩意儿坑惨了,构建很慢,而且很不好用。

有没有实际项目用过这东西的,体验如何?

自荐项目: 基于 go-task + Taskfile 写了很多日常开发的初始化脚本(跨平台)集合

Posted: 12 Jun 2022 02:30 PM PDT

如题:

使用场景:

  • 开发者: 搭建开发环境, 项目初始化(复用公共的脚本), 开箱即用的 docker-compose 集合.
  • 运维: docker-compose/k8s/terraform 等脚本(部分迁移 ing)

内容说明:

  • 包含很多日常各种语言安装(go/rust/python/flutter/java etc)脚本(跨平台)
  • 常用中间件的 docker-compose 脚本: mysql/redis/consul/kafka/rabbitmq/nats 等
  • 定制版的 Dockerfile 集合

使用方式:

  • 我给了 3 种使用方式, 方便在自己的项目内, 复用这些公共的脚本集.
  • 也欢迎感兴趣的朋友, PR 一起来完善.
  • 目前对 Mac 的脚本集最完善, 其他 Windows/Linux, 部分需同步.
  task rust:install task go:install task python:install task flutter:install  # for docker: check details in ./taskfile/Taskfile_infra_docker.yml task docker:local:up:mysql task docker:local:up:redis task docker:local:up:rabitmq task docker:local:up:kafka  # for git: task git:push  task push  # auto push to github  
  • 更多脚本功能, 请自行探索.
  • 后续会完善文档部分.

PS:

Python 现代化打包应用到 exe 的方式?

Posted: 12 Jun 2022 12:50 PM PDT

前一段时间看到 PyOxidizer 这个项目,但是大概看了看文档也没看懂,看起来似乎是个打包程序,但似乎要和 rust 关联,我想打包 python 程序为什么和 rust 产生关系了?

pyinstaller 打包方式已经持续多年了,比如一个简单的需求是,我有一个 main.py 的程序,有若干 pip 依赖,我现在希望产生一个 exe ,让它在没有安装 python 的电脑上也能运行。pyinstaller 能用,但是实在也说不上好用,隐藏源码之类的功能就不奢求了,打包完后提示缺少依赖也是常事,在加上启动速度实在不敢恭维。

py 虚拟机相对于 java 虚拟机启动起来还是要快一些,比如运行

python -c "print('hello world')" 

这种命令无论在 win 还是 linux 上都可以 0.1 秒内返回结果。而 venv 之类的虚拟环境本身体积也不是很大,大概只有十几 MB ,为啥不能有个好用的打包系统。。。后来有个 nuitika 打包,但是还是使用起来不方便,我想随手发布个小脚本,打包还要 gcc 环境。。

macOS 腾讯会议为什么默认就有麦克风/摄像头权限?

Posted: 12 Jun 2022 12:18 PM PDT

Mac 上下载腾讯会议,安装后没有打开,在系统设置-隐私-麦克风 /摄像头这里就能看到已经有了权限,进入会议后打开 audio/video 也没有请求获取权限的提示。

是我的姿势不对还是大家都这样? macOS 上应该没有默认拿用户权限的 api 吧。

[求助] Unity 有什么比较好的入门教程吗

Posted: 12 Jun 2022 11:46 AM PDT

搜了一下 V2EX ,发现最近两年好像没有这个话题了。youtube 和 bilibili 上也是视频泛滥,想在其中淘还挺需要时间的。之前有过一些 godot 的基础,unity 的基本入门操作也跟着官网做了。想在这里求 v2 的各位帅男靓女甩一个比较好上手的教程。🙏

各位前辈 618 了 能推荐一个键盘吗

Posted: 12 Jun 2022 10:03 AM PDT

因为经常写(抄)代码 ctrl 键已经有点失灵了 打算趁着 618 换一个 预算 700 左右 目前在看的是达尔优的 A98 静电容版本 不知道静电容耐用吗? 环境...抽烟..但是键盘旁边不会放可乐 和水..不用考虑进水风险..主要就是抽烟有时候烟灰会进入..不知道老的机械键盘是不是因为这样挂的.. 跪求推荐. PS 顺便求一个能存 JS 的 CDN 七牛 阿里云 oss 这种 害怕被跑流量跑的卖房 有什么好办法吗?

写了个把数据库中的表转换成 go 结构体的小工具

Posted: 12 Jun 2022 09:27 AM PDT

https://github.com/jlvihv/dbtogo

写这个主要是为了方便自己使用, 工作的时候有好多表, 一个个建立结构体太麻烦了, 而且容易出错.

github 上虽然也有别人实现的版本, 但是并不好用, 我的需求是选择数据库中的一个表, 生成 go 结构体代码, 然后粘贴到编辑器里, 但别人的都不支持输出到剪贴板.

我写了个支持剪贴板的, 在 linux 和 windows 上验证成功, macos 不清楚, 应该也可以, 希望有同学帮忙试试.

No comments:

Post a Comment