Thursday, August 19, 2021

V2EX - 技术

V2EX - 技术


cpp 有什么简洁的方案可以时间 http 请求吗?

Posted: 19 Aug 2021 03:47 AM PDT

网上找了不少例子在 VisualStudio2019 里面都不能用 系统是 windows

Google 如何不使用 www.google.com.hk?

Posted: 19 Aug 2021 03:45 AM PDT

https://www.google.com/ncr 失效了,访问 https://www.google.com/searchdomaincheck?format=url&type=chrome 返回的还是 https://www.google.com.hk 。 如何真正使用 google 而不是 google hk

vscode remote 可以替代 ssh+sftp+editor 吗?

Posted: 19 Aug 2021 03:42 AM PDT

之前一直是 coreshell+transmit->vscode 结合去调试线上,来回切换很麻烦。

但是发现 vscode remote 可以很好的把 ssh+文件管理+在线编辑结合起来,并且可以管理,

但唯一发现的是收藏功能,有一个收藏插件可以用,但是如果全局打开一个根目录的话,收藏就不好用了。

感觉目前还是没有银弹啊。

是 idea 的升级程序进步了吗?

Posted: 19 Aug 2021 03:38 AM PDT

我用 idea 和 androidStudio 升级功能一般都是失败的,因为升级程序是自带的 java 进程,然而升级过程需要 kill 自带的 java 进程,于是升级程序就被自己 kill 掉了,所以我 idea 和 androidStudio 一直都是手动重新下载新版本的,
今天 androidStudio 2020.3.1 提示升级到 patch 1,顺手点了升级然后都打算重新下载完整包了,却发现现在用的升级程序居然是个临时的 java 进程,结果自然是成功升级了,
不知道什么时候引入的这个机制,好评,

请问如何计算 Python 列表连续正数或连续负数的和?

Posted: 19 Aug 2021 03:36 AM PDT

请问如何高效计算 Python 列表连续正数或连续负数的和?

案例:[1,3,5,-2,-1,3,5,2,-1,-3,-3]

期望结果:[9,-3,10,-7]

如何评价鸿蒙的“分布式数据库”,在客户端的应用场景在哪里?

Posted: 19 Aug 2021 03:27 AM PDT

日志树的生成

Posted: 19 Aug 2021 02:56 AM PDT

各位大佬,请教一个问题 这种日志树是怎么生成的? 。。。 发现了一个问题 V2EX 无法发图片 算了 直接看他的返回格式

com.cityminsu.rba.baseinfo.api.vo.ProductVo ├──价格结束时间:'Mon Nov 15 00:00:00 CST 2021'->'Tue Mar 22 16:29:00 CST 2022' ├──产品状态:'下架'->'上架' ├──规则模版 │    ├──是否可退:'取消扣全款'->'限时取消' │    ├──rbaRatePlanScope │    │    └──rbaRatePlanScopeList │    │         ├──:添加 '[houseList=[0]=0;orgId=0]' │    │         └──:删除 '[houseList=[0]=0;orgId=0]' │    └──stayDaysProduct:添加 '[[StayDaysProductVo{productId=null, stayDays=2, discountRatio=80, productStatus=1, active=0}]=[active=0;discountRatio=80;productStatus=1;stayDays=2];[StayDaysProductVo{productId=null, stayDays=3, discountRatio=79, productStatus=1, active=0}]=[active=0;discountRatio=79;productStatus=1;stayDays=3];[StayDaysProductVo{productId=null, stayDays=5, discountRatio=77, productStatus=1, active=0}]=[active=0;discountRatio=77;productStatus=1;stayDays=5];[StayDaysProductVo{productId=null, stayDays=7, discountRatio=75, productStatus=1, active=0}]=[active=0;discountRatio=75;productStatus=1;stayDays=7]]' ├──价格开始时间:'Wed Aug 18 00:00:00 CST 2021'->'Wed Aug 18 16:29:00 CST 2021' ├──平日价:'0.00'->'1000.00' └──周末价:'0.00'->'1000.00'   覆盖方式: '不覆盖日历上单独设立价格' 

可以看到他返回的就是这种树状结构 请问是怎么实现的

vue3 有什么好用 稳定的后台管理系统的轮子呢。花裤叉的只有 vue2 版本的

Posted: 19 Aug 2021 02:46 AM PDT

大佬,公司要新做个后台管理系统。打算用 vue3,有什么好用的轮子呢
那个 vue-beautiful-pro 已经冲烂了,这个就不选了
就是有几个想选则的
ui 库用 antd-vue 还是 element3.0 版本的
图表是用 echarts5.0 还是 antv g2
打包是用 webpack5.0 还是 vite2.0

前后端分离的 spring cloud 微服务中对 spring security 到底该怎么使用?感觉有点懵。

Posted: 19 Aug 2021 02:20 AM PDT

一个 spring cloud 系列微服务中通常包含网关微服务、用户微服务、订单微服务(或者其他类似的业务微服务),对于此,我看网上很多文章都说到用 spring security oauth 2.0,然后认证时还需要跳转登录页面,但是现在都是前后端分离的,可能不可能使用认证服务的登录页面吧?
PS:oauth 2.0 的流程我是清楚的,只是不知道 spring security 到底该怎么在 spring cloud 中应用。

golang.org 自动跳转到 golang.google.cn

Posted: 19 Aug 2021 01:44 AM PDT

麻了,blog.golang.org 也跟着跳转了, golang.google.cn 里没有找到 blog 相关的链接

没理解这是什么操作

javacript 有什么操作较为方便的表格绘制的第三方 ui 组件?

Posted: 19 Aug 2021 01:35 AM PDT

javacript 有什么操作较为方便的表格绘制的第三方 ui 组件?

不是 展示分页滚动那样的数据表格,而是类似申请表格一样的表格,而且可以像 word 一样,不用写代码,而是可以直接进行人工绘制,用鼠标和键盘打字操作合并拆解单元格,绘制模板申请表,就像 word 里绘制表格一样。

必须要有提供单元格合并,单元格拆解这两个功能

能将绘制好的表格生成背后的 json 代码(或者其他代码字符串),保存到后台去,以便于表格模板复用。可以对单元格的部分内容进行类似模板引擎一样的替换

目前找了一些富文本编辑器,简单看了以下,一些基本提供表格绘制编辑功能,但是好像没找到有单元格合并和单元格拆解功能的

这样的一段 grpc 客户端代码处理服务端流会不会有问题,或者有没有更优雅的实现方式

Posted: 19 Aug 2021 01:25 AM PDT

public class gRPCWatcher {      /**      * grpc channel      */     private final gRPCChannel gRPCChannel;      /**      * 当前重连的次数      */     private int hasReconnectTimes = 0;      /**      * 最大重连次数      */     private final int maxReconnectTimes = 3;      /**      * 构造函数      */     public gRPCWatcher(gRPCChannel gRPCChannel) {         this.gRPCChannel = gRPCChannel;     }      public void startWatch(Request confRequest, WatchHandler watchHandler) {         StreamObserver<ConfResponse> streamObserver = new StreamObserver<ConfResponse>() {             @Override             public void onNext(ConfResponse confResponse) {                 try {                     watchHandler.process(confResponse);                 } catch (Exception e) {                     //...                 }                 hasReconnectTimes = 0;             }              @Override             public void onError(Throwable throwable) {                 //error 的时候尝试重新调用,超过最大次数失败抛出异常                 if (hasReconnectTimes < maxReconnectTimes) {                     hasReconnectTimes++;                     startWatch(confRequest, watchHandler);                 } else {                     throw new RuntimeException("reWatch "+maxReconnectTimes+" times still error" + throwable.getMessage());                 }             }              @Override             public void onCompleted() {                 //...             }         };         ConfigGrpc.newStub(gRPCChannel.getNettyChannel()).withWaitForReady().watch(confRequest, streamObserver);     } } 

这是一段处理服务端流的 grpc 调用的逻辑,当网络出问题等异常情况的时候,会进入 onError, grpc channel 底层自带重连重试机制,所以我们只要重新 stub call 就行了。

所以我在 onError 的时候重新调用该方法,为了防止无限调,所以加了以这个最大重试次数,不知道这样写优雅不优雅- -

关于 grpc 的重连 可以看官方的讨论,他们也是推荐 channel 可以复用 主要 stub 重新 call https://groups.google.com/g/grpc-io/c/quToVM4NhdQ

想搞个虚拟机做 nas

Posted: 18 Aug 2021 11:52 PM PDT

一个系统盘,然后存储盘想用 usb 移动硬盘,热插拔,但是虚拟机好像不可以识别 有没有好用的方案,目前在用 esxi,小硬盘挂 PT 大容量备份

如何设置 PostgreSQL 新角色的默认权限?

Posted: 18 Aug 2021 10:52 PM PDT

  1. 新建 database 后,默认的 public schema 是所有 role 都有权限的,只能revoke all on schema public from public,但是也仅在当前 database 生效,以后新建的 database 仍然需要执行一遍。能否新 database 的 public schema 需要手动 grant 给其他角色?

  2. 新建 role 后,默认能 connect 到所有 databse,只能revoke connect on database from *role*,而且需要一个一个库来 revoke,能否改为在默认是不能连接的,需要手动 grant connect 权限?

[开源] 图片编辑器支持辅助线了

Posted: 18 Aug 2021 10:40 PM PDT

FastImageEditor 是一款图片编辑器,采用 React + Typescript + React-knova 框架开发

  • 从零实现辅助线

地址: https://github.com/jiechud/fast-image-editor

体验地址: http://39.97.252.98:3000/

辅助线实现方案: https://juejin.cn/post/6997926959917318181

如果觉得不错。路过的 V 友给个 star 吧

关于工作,最近找工作的情况,希望大佬们给点意见

Posted: 18 Aug 2021 09:57 PM PDT

生活在 2-3 线城市 前几天发了一个失业的主题,很感慨,但是生活还是要继续 这几天找了一下工作,找到以下几个工作

1:中国联通 工资税前 9k,年终 2w,估计税后到手 11w 左右 后续公积金在 3k 左右 工作内容就是 java 开发,需要实际正常开发

2:某国企编制岗位 工资税前 7k,年终未知,估计税后到手 10w 左右 后续公积金在 3k 左右 工作内容是属于信息管理,比较清闲,写报告的岗位

3:某 xx 集团(未上市) 工资税前 1w,年终 1 个月薪水,税后到手可能在 12w 左右 公积金只有 400 多块 工作内容就是后端开发,需要实际高强度开发

4:继续考试事业编 /公务员 上岸以后 事业编一年大约税后在 10w 左右 公务员一年税后大约在 13w 左右


之前的研究院工作,工资一年大约在 15-16w 左右税后,现在研究院结束了,实在是可惜 但是目前好像也没法找到比上面 4 个工作更好的选择了 公务员难度很大 事业编努力一下可行 但是实际薪资都一般

想问一下有没有有经验的大佬

分析一下联通和国企单位的区别,联通说也是给国企编制,理论上和国企单位一致

如何让 set cc =80 显示的线变细

Posted: 18 Aug 2021 09:45 PM PDT

感觉默认配置应该很难做到

像是这种插件 'Yggdroot/indentLine' 就能显示缩进的细线

不知道有没有类似的插件可以在 80 列显示细线的

google 相册上传的视频清晰度下降,大家也都这样吗

Posted: 18 Aug 2021 08:25 PM PDT

上传方式是 原始画质的

不懂就问 群晖 老是报 System failed to get External IP. 错误 是咋回事。

Posted: 18 Aug 2021 06:53 PM PDT

设置了 DDNS 之后 日志中就开始出现这个错误 ,能连接 就没理他,, 今天发现没法链接了 看了一眼 还是这个错误 。 然后点了下 测试链接 刷新 又可以链接了,, 是群晖服务器抽风了 还是我自己的抽风了,,脑阔疼 /dog

MyBatis Dynamic SQL 用起来有没有坑?

Posted: 18 Aug 2021 06:14 PM PDT

新项目打算用这玩意, 不想配 xml 了. 而且可以预见应该没有复杂的关联查询. 我想问问有使用经验的大佬们到底如何?

javascript 原生 fetch 在安卓微信内置浏览器无法请求 https

Posted: 18 Aug 2021 04:44 PM PDT

这个太神奇了,写好的页面在桌面浏览器正常,在微信开发者工具正常,一到手机上(指在手机微信里,下同)就不正常,折腾了半天,最后发现苹果手机上也好的。最后排查了半天才发现是 https 和 fetch 的原因。

代码里用到 fetch( https://url).then(funcA).then(funcB) 这么一句话。

这么写其他地方都好好的,就安卓微信里不行,把 https 改成 http 才能在安卓微信里正确运行。

萌新想问下大佬们,安卓为啥这么特殊,还是 fetch 本来就要少用?

阿里云轻量网络经常崩溃

Posted: 18 Aug 2021 04:14 PM PDT

晚上出现的机率高, ip 地址 ping 不通, 网站无法访问

准备换腾讯云轻量试试

安卓该如何显示 slatejs 格式的数据?

Posted: 18 Aug 2021 01:25 PM PDT

服务器接口返回的数据是 slatejs 的数据格式,类似

[{ 	"type": "paragraph", 	"children": [{ 		"type": "emotion", 		"id": 51, 		"children": [{ 			"text": "" 		}] 	}, { 		"text": "来去也就剩下那么些人了。" 	}] }] 

安卓 APP 应该怎么显示呢?不想用 webview 来处理

编译完的内核如何快速删除没有编译的.c 文件

Posted: 18 Aug 2021 12:47 PM PDT

编译完的内核如何快速删除没有编译的.c 文件?目的是我只需要关注被编译的 code 就可以。这样不会受多余的代码干扰。放到代码阅读软件中比如 source insight 也简洁很多。当然如果能删除一些.h 文件,就更好了。但我感觉不一定可以。

谷歌相册(在 Android 11 和 scoped storage 下?)删除图片好像有问题

Posted: 18 Aug 2021 08:54 AM PDT

LineageOS 18.1 ( Android 11 ),OpenGapps 貌似对 Android 11 只支持到 nano,然而在我这 nano 都刷不了,提示系统分区空间不够,只能刷 pico 。
刷完后下载了一个谷歌相册,然后授予媒体文件权限,看上去好像正常了。

但是我随便截了张图,然后尝试在设备上删除(不是删除进回收站)这张截图时,发现删除被系统拦截了。

拦截界面就像这篇媒体报道说的一样,文中貌似说这是 Android 11 和 scoped storage 带来的改变:
www.androidpolice.com/2020/10/15/scoped-storage-on-android-11-is-ruining-the-google-photos-experience/

好吧拦截就拦截吧……但是,万一我手滑点了拒绝呢?

所以我我就又试了一次,点了拒绝后,图片从谷歌相册里……消失了……
没有报错什么的,就是直接……消失了。

实际上,如果用其他文件管理器,或者是 LOS 自带的图库去看,就会发现文件其实还在原处,压根没删掉。


对于谷歌相册来说,其实我也不用它同步,大不了卸载。
但我有点好奇这背后是咋回事,不知道别的 app 会不会有类似的问题?
或者说也许这个问题只在我这里碰到了,别人都是正常的?

ElasticSearch 学习

Posted: 18 Aug 2021 06:42 AM PDT

es 大致结构

{     "track_total_hits": true, //获取 query 里面查询到的总条数     "query":{},//查询语句筛选条件     "aggs":{},//管道     "sort":[],//排序     "_source":[],//字段筛选     "size":0,//查询的大小     "from":0//从哪里查 } 

关于 query

match_phrase 与 match

match_phrased 必须要包含查询的词组,math 可以包含查询的词组也可以将词组拆分查询

来源:https://blog.csdn.net/liuxiao723846/article/details/78365078

terms 与 term

term (精确值查找)

term 查询, 可以用它处理数字( numbers )、布尔值( Booleans )、日期( dates )以及文本( text )

trems (查找多个精确值)

terms 是 包含( contains ) 操作,而非 等值( equals )

其中 country_number_id 需要使用.keyword

{   "terms": {     "country_number_id.keyword": [       "CN",       "HK",       "IN",       "JP",       "KR",       "MO"     ]   } } 

重点 aggs

返回数据 是从 aggregations 中获取

示例:

"aggs": {     "country_number_id": {       "terms": {         "field": "country_number_id.keyword",         "size": 10000 //这里指的是需要返回 country_number_id 的桶的个数,但不代表是查询的数据量       },       "aggs": {         "category_number_id": {           "terms": {             "field": "category_number_id.keyword",             "size": 10000,//同上,不过是 category_number_id             "order": {               "revenue": "desc"//这个字段用的是下面 sum 聚合的 revenue             }           },           "aggs": {             "revenue": {               "sum": {//sum,avg,min,max                 "field": "revenue"               }             },             "downloads": {               "sum": {                 "field": "downloads"               }             },             "top": {//随便取名               "top_hits": {//关键字                 "size": 1,//category_number_id 下面桶里数据的条数                 "_source": [//里面命中数据字段筛选                   "os",                   "revenue",                   "country_number_id",                   "category_number_id",                   "category_name",                   "country_name",                   "downloads"                 ]               }             }           }         }       }     } 

关于 aggs 的疑惑

  1. 多个字段聚合的时候怎么做排序,比如这边用 country_number_id 和 category_number_id 聚合,使用 sum 来的 revenue 做一个排序,但是实际是 country_number_id 大桶里面包含小桶,小桶里面可以根据 revenue 排序,无法做一整个排序
  2. 多个字段聚合的时候将两个字段嵌套顺序替换,查出来的数据量变了,其他筛选条件什么都没变

让用户通过邮件链接免登录登入网站的问题,不知道该发哪个版,因为用 Python 先发这里了

Posted: 18 Aug 2021 03:29 AM PDT

各位彦祖,
有这么一个应用场景:当网站上一个事务需要某人推动时,发送一个邮件链接给某人,点击该链接会免登录进入网站

我观察到很多网站会生成一个很长的 hash 串附在链接后面,
猜测是把收件人的登录凭证和待处理事务的地址都放在了串中。

不知道这种工作是不是有专门的技术术语以及参考实现呢?

大家来推荐几本对职业生涯影响较大的技术书籍

Posted: 18 Aug 2021 02:33 AM PDT

开发过程中,有时候会觉得当时要是没有读过那本书,现在肯定想不到要这样做。由此可以推定,因为曾经没有读过某一本书,会导致想不到要怎样做。所以不如大家都相互推荐一下自己读过的好书,拓宽自己的知识领域。

我先推荐几本对我影响比较大的书:

《算法》基本功,理解常用的组件的原理,比如 redis 。 面试也很有用

《 Head First 设计模式(中文版)》业务开发利器。可以写出更优雅的代码

《 MySQL 技术内幕》充分理解 mysql,每次阅读都有新收获

《 Go 语言设计与实现》 深入了解 golang 。 面试也很有用

《架构整洁之道》 如何避免代码不断膨胀导致项目不可维护,非常有效

No comments:

Post a Comment