Friday, October 15, 2021

V2EX - 技术

V2EX - 技术


后端,第三方平台接入,如何设计?

Posted: 15 Oct 2021 05:12 AM PDT

1,我方有 A 、B 、C 三种业务。 2,第三方想接入我们 A 、B 、C 三个业务。 3,我们想打一个对外的平台。

我想问一个,哪位前辈有没有做过这个平台? 可以讲一下如何设计?应该注意哪些坑?

2,有没有什么可参考的解决方案或者资料?可以提供给我

ffmpeg 精准切割视频优化相关的问题

Posted: 15 Oct 2021 04:53 AM PDT

要非常精准,且不会出现帧数丢失,是否只能转码切割?执行的命令如下

ffmpeg -ss -start -accurate_seek -i -videoPath -preset ultrafast -t -3600 -c:v libx264 -c:a aac -strict experimental -resultPath -y 

查了好多这种是唯一符合要求的切割方法,但是速度很慢,想问问有没有大佬可以优化的地方

来看我和二次元妹子一起写代码直播 #3

Posted: 15 Oct 2021 04:50 AM PDT

来 B 站

http://live.bilibili.com/4444127

上一集

https://www.v2ex.com/t/807358

今天有点晚,而且忘记发帖了,只剩半小时播。

狗粮警告。

腾讯云轻量服务器上线流量包使用率告警

Posted: 15 Oct 2021 04:46 AM PDT

1 、简评

腾讯云的云监控平台已支持管理轻量服务器自行网络流量包使用率告警。

自从腾讯云轻量服务器发布以来,凭借着实惠的价格,购买及使用的便利性,长期的促销活动,以及众多优秀的应用,一直受到个人用户和小微企业的青睐。轻量服务器类似于传统厂商的 VPS,流量采用的是带宽峰值加上流量包的形式。部分用户在长期使用大流量业务过程中难免会出现流量包耗尽,服务器不停机导致产生额外费用的情形。此前我根据官方的 API 简单搭建了一个流量达到阈值服务器自动关机的开源程序。

https://github.com/2lifetop/LightHouse_Automatic_Shutdown 

帮助到部分用户免受流量包的困扰,目前腾讯云官方上线的流量包告警功能已经能够取代该开源程序的最核心的告警功能。请各位用户适当选择更合适的方式来进行预警。

2 、教程

打开腾讯云的云监控后台: https://console.cloud.tencent.com/monitor/policyTemplate

2.1 、新建触发条件模板

2.1.1 、新建触发条件模板

首先我们需要新建一个触发条件模板

选择触发条件模板,点击新建

填写模板名称,策略类型选择轻量服务器-网络流量

2.1.2 、触发条件

如图填写即可,统计周期随便 1 分钟还是 5 分钟,小于等于 5%持续一个周期就触发一次警告,重复周期选择不重复,你也可以选择每天一次根据个人需求来就行。

2.2 、新建告警策略

2.2.1 、新建告警策略

点击告警策略-新建

填写策略名称监控类型选择云产品监控策略类型选择轻量应用服务器-网络流量

2.2.2 、配置告警规则

选择告警对象-实例 ID 选择某个地域的服务器。

每次只能选择一个地域的服务器可以通过双击地域修改待选择的地域,也可以按实例分组来选择或者是选择全部对象。

触发条件选择我们之前创建的模板

配置告警通知就不需要动了,系统已经有一个预设的模板,如果不喜欢也可以自己设置

最后配置完之后就是这样的。

开源程序与官方告警功能对比

双方的优劣:

官方告警:优点 配置简单,无需额外操作,点鼠标就行,支持微信、邮件、短信、电话(收费)

脚本:支持多账户,告警之后自动关机,可二开,可自定义其他通知方式,目前支持 TG 、钉钉

开源脚本地址:

https://github.com/2lifetop/LightHouse_Automatic_Shutdown 

博客原文地址: https://2demo.top/284.html

在 html 上使用 vue, cdn 引入文件后,怎么让 ide 有提示呢

Posted: 15 Oct 2021 04:43 AM PDT

https://v3.cn.vuejs.org/guide/installation.html#cdn

按文档写的引入这个文件,然后现在 WebStorm 提示不了,还需要引入什么文件吗

PyCon China 2021 将于明天线上举办,欢迎参加

Posted: 15 Oct 2021 04:40 AM PDT

明天 PyCon China 2021 就要开始了,这次依然是线上免费会议,欢迎参加。从明天上午九点半开始,直播会在三个平台上同步进行,为期两天:

访问 https://cn.pycon.org/2021/schedule 查看详细日程(另附有 ICS 日历文件可导入日历程序)。

更多相关信息请参考 PyCon China 2021 参会小贴士,内容包括:

  • PyHouse 圆桌介绍
  • 闪电演讲报名方式
  • PyCon China 鼠标垫等周边介绍
  • 线上交流群入口

同时欢迎关注 PyCon China 的公众号或 Twitter 账号 @PyConChina 及时获取相关动态。

明天线上见!

Java 使用引用传递来修改值,这样做好吗?

Posted: 15 Oct 2021 04:38 AM PDT

今天在代码审核的时候看到这么一段代码,在 setProjectInfo 方法没有返回内容,但在方法体内给 list set 了值,想了下,是 Java 引用类型可以改变参数的值,这样写确实可行

	if (!CollectionUtils.isEmpty(list)){             cmService.setProjectInfo(list);         }     	return list; 

但如果是我写同样的需求,肯定是返回类型是 list<>,然后结果 return 给 list 。我不知道哪种写法好,想问问大家

	if (!CollectionUtils.isEmpty(list)){             list = cmService.setProjectInfo(list);         }     	return list; 

挂代理与不挂代理如何做到无缝切换(非 http)

Posted: 15 Oct 2021 04:36 AM PDT

比如我有 ssh 服务,内网是 10.0.0.1:22,通过域名 example.com 访问。 我希望在外网的时候 也可以通过域名 example.com 访问到。 路由器自己解析是可以的,但是外网访问端口和内网端口必须保持一致,有点麻烦,有什么好的类似 PAC 的本地全局代理吗?

双十一 1080 有必要换 3080ti 吗,如果换合适的价位是多少?

Posted: 15 Oct 2021 04:28 AM PDT

gtx1080 用了 4 年了,之前用的 2k60 显示器,基本什么游戏都能玩。今年 6 月换了 4k144 显示器,3a 游戏带不动了,这几个月就玩玩 lol,显卡价格太贵了就没买。 眼看着这两个月 80ti 的价格下来一点,大概 1w1 出头,问下各位可以考虑么?如果换了我就可以玩 3a 了。

请求第三方 Token,如何保证每次使用的 Token 有效?

Posted: 15 Oct 2021 04:07 AM PDT

现在有一个需求如下:

需要请求第三方的 API 去获取一个 Token,但是这个 Token 会失效,失效时间未知。在其他业务上需要请求第三方接口需要携带上这个 Token,现在需要保证请求第三方接口时,这个 Token 是有效的。

  • 方案一:

每次在请求之前都会更新这个 Token: 问题:1 、会存在并发问题(虽然说这个 token 被修改没影响); 2 、每次请求消耗网络资源,并不是一个最优解

  • 方案二:

起一个定时任务去定时的刷新这个 Token 问题:会引入新的框架,存在的风险未知,可用性不高!

需要在解决问题的情况下,尽量避免使用其他组件!(楼主用的是 Java 写的后端) 有无大佬能够给我一个不错的解决方案?

jira 内部培训

Posted: 15 Oct 2021 04:02 AM PDT

公司用 jira 做管理,但是门槛太高,很多人不会用,大家有做过 jira 内部培训分享吗?求一个内部分享的 ppt 。

MySQL5.7 的 JSON 数组,数组元素是 Object,想查询该数组 Object 的某几个字段同时成立!求各位帮帮孩子,查一下午不知道怎么解决

Posted: 15 Oct 2021 03:51 AM PDT

因为业务从 mongodb 迁移到 mysql5.7,有一些 mongo 特殊的查询就需要修改。
想做到尽可能少改代码,并且需要支持 mongodb 的 $eleMatch 查询 (感觉难得不行)

CREATE TABLE `Student` (   `id` bigint AUTO_INCREMENT PRIMARY KEY,    `name` varchar(64),   `gender` varchar(32),   `data` json DEFAULT NULL )  

上面是简化后的表结构,实际上字段很丰富。主要是 data 字段是 JSON 格式,
大概长这样:

[     {"date":"2021-01-01", "is_active": true, "tags":["A", "B", "C", "D"]},     {"date":"2021-06-01", "is_active": false, "tags":["C", "D"]}, ] 

想查询如下:

  1. 名字为 "小明",性别为"女",

  2. data.date 在 2020-08-01 到 2020-05-01 之间,

  3. 并且 is_active 为 true,

  4. tags 中含有"C" 和 "D"的 -- 这个可以通过读到内存后过滤

查了一下午,试用了各种 json_extract 类似的函数,都没办法做到 [数组内的 Object 同时满足多个条件]

网上还有说用 mysql8.0 自带的 json_table 函数,,目前还没有测试,不知道能不能见索引。

求有经验的老哥说一下,跪谢跪谢跪谢跪谢跪谢跪谢跪谢

Node Events 事件触发器 once 问题

Posted: 15 Oct 2021 03:37 AM PDT

看教程的过程中看到一个例子,觉得蛮奇怪的 https://www.nodejs.red/#/nodejs/events?id=%e7%bc%96%e7%a0%81%e5%ae%9e%e7%8e%b0

这个解决并发问题的下面大篇幅的讲了 once 和 on 的区别,但是我亲手实践发现这里文件查找的例子将 once 换成 on 结果也是一样的, 这里难道不是基于 status 控制状态,readFile 是异步所以才能产生这个结果吗,为什么非要用 once 来解决,感觉用 on 来解决这里的问题也是一样的。。

升级 Windows11 之后,任务栏没了,鼠标右键没反应

Posted: 15 Oct 2021 03:33 AM PDT

无论是下载镜像,还是设置里点升级都是这样,吐了,回 win10 安心用吧!

外行问一个代码远程调试、编译的问题

Posted: 15 Oct 2021 03:33 AM PDT

公司有几台强劲的服务器,想给开发人员做集中远程调试、编译用,解放桌面电脑,主要做 JAVA 。
我看 idea 上有个 attach to remote jvm,这个是单人可以用?还是说可以让多人用?
另外如果多人可以同时用,那么端口会不会冲突,还是监控端口都放在本地了?

用了下 vscode 插件 tabnine,感觉不能很好的利用 lsp 啊,经常给出的建议违背 cpp 语法,是我姿势不对吗?还是本身就可能给出错误的建议呢

Posted: 15 Oct 2021 03:24 AM PDT

折腾了一晚上,终于成功用上 Windows11 了

Posted: 15 Oct 2021 02:53 AM PDT

昨天我的惠普战 66 二代在维修中心成功解锁 tpm 之后就想着升级 Windows11,然后前前后后升级失败了四次(两次 Windows11 安装助手方式+两次直接更新方式),无奈每次都是在安装到 70-80%的时候提示设备遇到问题,后来一狠心,直接用 PE 装成功了,早上初步使用感觉还可以,晚上下班回去继续用用看。

不过我这就是重装了个系统,所有软件得重新安装了。。。

关于 windows 上下左右键的映射

Posted: 15 Oct 2021 01:08 AM PDT

macOS 的全局 Ctrl f b n p 是真!的!好!用!

目前在 win 上,用 powertoys 的快捷键映射

考虑到 ctrl n 多用于新建文件,ctrl p 多用于打印

因此使用了类似 vim 的按键

Ctrl h j k l 来映射上下左右,大部分情况没啥问题,但也有小的难受的地方

比如 ctrl l 在浏览器是激活地址栏,就歇菜了

迫于偶尔的不舒服,各位彦祖有没有使用的其他方案,学习学习

signal only works in main thread 错误,求解决思路

Posted: 15 Oct 2021 12:44 AM PDT

我使用 flask 框架启动一个 web 服务,在 http 请求 a 服务时,显示 signal only works in main thread 。

我尝试使用了 asyncio.run 命令,celery 框架等,启动时取消 debug,加--no-reload 参数等方法,均无效。

只有当使用 os.system('python a.py &') 时,可以运行。

当然 a 服务也比较复杂,会调用其他开源框架的程序。

求教,这样的情况该如何解决最好,真的不能直接函数调用 a(),而要运行系统命令去使用? 再有,使用 celery 难道不是相当于另起一个进程了吗? 怎么还会报错呢。谢谢

用过云计算服务做图像、视频渲染的来讲讲经验?

Posted: 15 Oct 2021 12:38 AM PDT

3080Ti 现在的价格至少是 ¥ 10K 以上。如果只有有限的转视频任务,感觉是买云服务更省一些。不过还没有做测评。

不知道这里有没有用过的,有空讲讲性价比怎么样?

现在国内两大 IaaS 提供基本上都是 nvidia 的,就放在 nvidia 下面好了。

有啥能用的跨语言模型定义导入方案么

Posted: 15 Oct 2021 12:32 AM PDT

比如一个简单的用户 User

  • name: string
  • age: int

然后处理的话基本上, 后端 java 定义一遍,前端 ts 定义一遍,go/python 的任务处理里面定义一遍。

基本都是搬砖业务代码。啥改动都得改三遍,吐了。

希望思路:

  • 一个类似 openapi 一样的定义文件。
  • 每个语言一个实现库。用实现库直接远程加载定义文件
  • 在运行时生成对应的 ast 节点。(不是通过模版方式生成代码文件)
  • 支持基础字段就够了。纯数据类。其他逻辑也不用了

被 Keetle 搞的焦头烂额..

Posted: 15 Oct 2021 12:22 AM PDT

因为客户条件限制没有外网,只能在机房单独放台服务器,使用 keetle 增量抽取推送,服务器 windows 系统,不过只要数据量比较大、或者网络有些波动,keetle 就会闪退或者卡死。。。 不知道还有没有其他解决办法...

请教大家一个问题,大家搜索的时候是拼音用的多还是直接输入精确字符

Posted: 14 Oct 2021 11:35 PM PDT

在做一个快速搜索功能,用于聚合搜索应用中的各个功能(类似 vscode 中的命令面板)

想要请教一下大家,要不要对每个搜索项增加拼音搜索的支持?

  • 考虑拼音支持的原因:方便,不需要切换到中文输入
  • 考虑不支持的原因:需要增加额外的依赖来生成对应的拼音、只能支持特定语言(中文)对国际化不友好

示例图:

51OuQ0.png

有没有在 mac 上跑.net 6 rc 的

Posted: 14 Oct 2021 09:54 PM PDT

跑不起来啊,都是报错,用的 vs for mac 创建的项目

Ubuntu 21.10 出了

Posted: 14 Oct 2021 09:50 PM PDT

总算是用上 gnome 40 了

jquery 前端有比较方便的预览修改 word 并导出的插件吗,能打包内网使用的

Posted: 14 Oct 2021 09:39 PM PDT

接到一个需求,大概描述是这样:有一些 word 文件模板,比如是个会议纪要模板,文件的格式是固定的,但每次开会的时间、地点和参会人员等不一样。用户在模板文件里需要替换的地方预先设置好占位符,类似${x}、${title},在系统上传文件模板。需要用到这些模板的时候,用户在前端选择模板文件,后端发送到前端,前端的插件识别模板,以预览的形式打开,有占位符的地方可以修改,其他部分不能修改。点击保存可以导出文件。

以前实习的时候看到过类似的,不过时间过去很久不记得了。。

求推荐 Windows 可用的免费 16 进制编辑器

Posted: 14 Oct 2021 04:10 PM PDT

以前用的是收费的 WinHex,无论是破解还是付费都很麻烦,现在打算弃用了。

之前搜到一个在线的 Hex 编辑器 https://hexed.it/ ,看上去很不错,基本功能也有,但是支持在文本区域显示的编码显得很奇怪,Unicode 和 GB 系列的编码都没有,甚至原生的 ASCII 都没有,只有扩展的 ISO-8859 系列编码,用起来很不方便。倒是列表最后有一个x-user-defined不知道怎么用。

除了编码的不方便以外,还有就是更信赖本地的软件一点。简单搜索了一下,搜出来一大堆,也不太清楚哪些是比较好用的。所以有什么推荐吗?

goroutine 传指针的问题

Posted: 14 Oct 2021 12:33 PM PDT

for { 		select { 		case msg, ok := <-msgChan: 			if !ok { 				return 			} 			limit <- struct{}{}  			go func(t *Message) { 				send(t) 				<-limit 			}(msg) 		} 	} 

msg 是*Message

这样的传参会导致 t 被下次循环的 msg 覆盖吗 (其实可以不这么控制并发,如果只能这么写的话

一个面试题 岗位是 FreeLancer 自己写了下

Posted: 14 Oct 2021 11:32 AM PDT

如图: 51esaj.png

我的个人解法->

// 判断迁移数组的总和是否为 15 function filcheck(ar) {     return ar.reduce((x, k) => {         return x + k     }, 0) === 15; }  function entrance() {     // 定义原数据数组     var constArr = [3, 5, 7];     // 定义初始迁移数据数组     var arrReserver = [0, 0, 0];     // 奇偶数定义 回合制玩家判断     var odvar = 0;     // 循环判断条件     while (!filcheck(arrReserver)) {         // 当数组中的所有元素已被移除后直接跳出循环         if (arrReserver.length === 1) break;         // 生成数组中的随机下标         var arrIdx = Math.floor(Math.random() * (constArr.length));         // 两数组同位置上元素的偏差 代表还剩多少物件         var bxa = constArr[arrIdx] - arrReserver[arrIdx];         // 当剩余数量为 0 时 移除该行         if (bxa === 0) {             constArr.splice(arrIdx, 1);             arrReserver.splice(arrIdx, 1);             continue;         }         // 迁移数据数组对应行数量添加         arrReserver[arrIdx] += Math.floor((Math.random() * (bxa)) + 1);         // 代表玩家本身         odvar++;     }     // 利用回合制进行判断是哪位玩家失败     return odvar % 2 === 0 ? "player1" : "player2"; } 

No comments:

Post a Comment