Saturday, July 23, 2022

V2EX - 技术

V2EX - 技术


各位聚聚们 hw 是又开始啦?

Posted: 22 Jul 2022 05:28 AM PDT

RT 每年一度的护网又开始啦?

asp.net core 使用 watch run hot reload 的时候,怎么刷新 swagger ui

Posted: 22 Jul 2022 05:27 AM PDT

使用 dotnet watch run ,hot reload 挺好用 但是修改 controller 后,新的路由没刷新出来,有什么办法吗?

有日志(stdout or file) qps 4k,没日志 qps 10w. why?

Posted: 22 Jul 2022 05:26 AM PDT

很简单的一个 echo 的 hello world 小 demo 。

wrk -c2000 -d10s -t6 http://localhost:8000/

use(logger)就 4k 的 qps (默认是 stdout ),不 use 就 10w 的 qps ??

因为同步输出到 stdout 需要时间嘛?那正式线上服务还需要考虑异步写日志咯?

搞个有 buffer 的 writer ?那 panic 的时候没来得及刷盘的日志咋弄。

枚举类型是从 0 开始还是从 1 开始

Posted: 22 Jul 2022 05:25 AM PDT

起因:那天听到前端 leader 在阴阳怪气我设计的枚举不是从 0 开始,跟旁边的人说什么"但凡学过 java 。。。。。也应该知道。。。"云云

我(我是后端)也没和他辩解

我说下我的理由吧

  1. 如果用 int 来代表 true/false ,我会设计为 0/1
  2. 如果是几种状态值,我会选择从 1 开始,避免选择 0 。因为某些弱类型语言在判断 0 的时候会自动做类型转换,而且我们目前业务上使用的后端语言也是 lua ,数组索引是从 1 开始的。

所以我在跟前端定义参数的时候 选择 1 、2 、3 来表示样式 123 。

我这理由充分嘛?

我发现百度做的真的没有 google 的搜索引擎好,我吐了

Posted: 22 Jul 2022 05:22 AM PDT

百度搜一个技术点文章百分之八十都是来源于 CSDN ,CSDN 像他爹一样。 google 搜到的就非常心领神会,技术类的文章真的用百度,只能搜一些儿童级别的。 百度找一天,google 只要找一分钟

线路优化问题

Posted: 22 Jul 2022 05:21 AM PDT

假如我现在有两台主机 A ,B

A <-------> B

这两台主机可以通信,只是线路太差,速度非常非常慢

此时,我买了另一台中转主机 C ,用来中转请求

A <----> C <-----> B

这时候线路好多了,速度就非常快了,这时候 A 向 C 发出代理请求,C 会和 B 再建立一条 TCP 链接,然后传输数据。

问题🤔️:C 主机的带宽有限制,假如是 1Mb ,这时我想买多一台中转主机 C2 ,带宽一样是 1Mb ,我怎么实现 A 通过这俩主机和 B 通信时单条 TCP 链接的带宽能叠加到 2Mb ?

请教 Python 大佬,遍历一个 5GB 大小的 txt 文件,用什么方式效率比较高

Posted: 22 Jul 2022 05:20 AM PDT

python 新手,现在有个需求,大概几百万条数据需要翻译,映射关系存在一个 5GB 左右大小的 txt 文件里,也就是拿几百万个值去几亿条数据里去匹配,怎么做比较好

作为 Java 工程师,第二语言应该选择 Python 还是 Go

Posted: 22 Jul 2022 05:15 AM PDT

快完成了 Blind 75 的一半了😄

Posted: 22 Jul 2022 05:15 AM PDT


BTW ,如果有人想要互助模拟面试,可以联系我,我的联系方式:

  • Discord: SmFzb24gTGF3IzUxODI=
  • Telegram: aHR0cHM6Ly90Lm1lL0phc29uTGF3MTk5

手机 QQ 8.9.2 正式接入 MiPush?

Posted: 22 Jul 2022 04:52 AM PDT

IT 之家消息,https://www.ithome.com/0/630/892.htm

手持小米 11 ,测试了一下,仍然不能接到推送。

各位有用过好用的吗

服务端 syn 丢包问题排查

Posted: 22 Jul 2022 04:28 AM PDT

环境

服务 A:k8s 环境运行的服务,kubernetes 1.19.10; CNI calico 3.17.4 CrossSubnet

服务 B:物理机运行的服务,Centos 7.5

背景

服务 A 上 k8s 环境后,服务 A 直接调用服务 B ,偶现提示连接超时,Caused by: java.net.SocketTimeoutException: connect timed out ;

排查过程

1.查看服务 B 节点的 netstat 情况:

[root@app01 ~]# netstat  -s|egrep "SYNs to LISTEN sockets|passive"     5436752164 passive connection openings     87458 passive connections rejected because of time stamp     283176 SYNs to LISTEN sockets dropped 

可以看出来是 SYN 请求被丢弃,而且 SYN 丢弃数量和 timestamp 丢弃的数量保持同步,可以初步断定是 timestamp 问题导致。

2.半连接和全连接队列是否满了

用 ss -lnt(全连接)和 netstat -natp |grep SYN_RECV|wc -l (半连接) 均 OK,排除队列满的问题。

3.查看服务 A 和服务 B 是否开启 tcp_tw_recycle 和 tcp_timestamps

服务 A 所在的 node 节点未开启,服务 B 所在的物理机已开启;

k8s 环境的 node 节点都已经关闭了 tcp_timestamps ,相当于 per-host 的 PAWS 机制未开启。

4.抓包分析

  • 从服务端抓包 看到很多重传的 syn 包,源地址都是服务 A 所在的 node 节点

  • 客户端抓包 现象一致,服务 A 一直重传给服务 B SYN 包

问题

  1. 在客户端未开启 tcp_timestamps 的情况下,为何服务端还会出现 time stamp 丢包?
  2. 丢包有没有可能其它问题导致?

现在(2022)固定电话可以通过以太网传输数据吗?

Posted: 22 Jul 2022 04:26 AM PDT

我对固定电话的印象还停留在 21 世纪的头几年。前阵子重新接公司的网,发现固定电话是有一条双绞线入户接在以太网交换机 A 上,A 与另一台以太网交换机 B 级联,电话用双绞线接在了 B 上,RJ45 接口。A 和 B 应该都没有 VLAN 功能。

所以现在固定电话是在以太网上分组交换数据了吗?还是已经在 TCP/IP 栈上了?还是单纯的网线太乱我看错了....

都 22H2 了, Windows 11 在 12 代 Intel 上还是有大小核调度问题

Posted: 22 Jul 2022 04:13 AM PDT

原来用 Windows 10 什么毛病都没有,昨天看 22H2 有 rtm 就升级到 Windows 11 了,今天跑 vmware 感觉异常的卡顿,一看任务管理器小核心都占满了大核心在旁边看戏。

在各种论坛转了一圈大部分都在推荐第三方软件,我是不太想用,偶然间看到有人说在设置里改成高性能模式,这个确实有用,而且一定要是设置里面,控制面板那个是无效的。

求教,有没有开源的中文搜索引擎,或者怎么做一个简单的搜索引擎呢?

Posted: 22 Jul 2022 04:10 AM PDT

想定向的搜索几个网站,有没有开源的可以使用呢? 如果自己写一个搜索引擎,有哪些可以借鉴呢?

Deno 这个调查问卷有点调皮😝

Posted: 22 Jul 2022 04:08 AM PDT

8 -> If we could sacrifice one engineer to the programming gods to make an NPM module instantly compatible, which one should it be? (Don't worry, we'll send them off in style)

8 -> 如果我们可以为编程之神牺牲一位工程师来让 NPM 模块立即兼容,那应该是哪一位? (别担心,我们会以时尚的方式送走他们)

然而我只知道 ry, 对不住了

Vuejs 里面在父组件通过$refs.childComp.xxx 改变子组件 state 或者调用方法 很常用么?

Posted: 22 Jul 2022 03:36 AM PDT

比如 dialog 弹框 之前 react 最常见的写法就是传个 visible prop 来空值显示隐藏,vue 也是这么写,后面看别人的代码里经常就 this.$refs.xxxDialog.visible = true 或者 this.$refs.xxxDialog.open() 直接处理子组件的状态,而不是通过传 prop 的方式,我感觉这样写确实更方便。

这种处理方式是不是也比较常见?有没有什么弊端这么写的话

ubuntu 下有什么虚拟机软件推荐吗

Posted: 22 Jul 2022 03:34 AM PDT

要在 ubuntu 系统下,安装其它 ubuntu 的版本,带图形界面的。 vmware 有祖国版吧,还是有其他开源的也一样好用?

[求助] @ConditionalOnClass @ConditionalOnBean 导致 starter 配置未生效

Posted: 22 Jul 2022 03:27 AM PDT

@EnableConfigurationProperties(XXXXElasticSearchProperties.class) @ConditionalOnProperty(value = "xxxxx.es.enabled", havingValue = "true") @ConditionalOnClass(RestHighLevelClient.class) @ConditionalOnBean(RestHighLevelClient.class) public class LogAutoConfig {      @Bean(name = "restHighLevelClient")     public RestHighLevelClient restHighLevelClient() {         // 拆分地址         YidianElasticSearchProperties.Rest rest = yidianElasticSearchProperties.getRest();         final boolean credentials =             rest == null || StringUtils.isEmpty(rest.getPassword()) || StringUtils.isEmpty(rest.getUsername());         // 权限验证         CredentialsProvider credentialsProvider = new BasicCredentialsProvider();         if (!credentials) {             // 配置权限验证             credentialsProvider.setCredentials(AuthScope.ANY,                 new UsernamePasswordCredentials(rest.getUsername(), rest.getPassword()));         }         // 转换成 HttpHost 数组         HttpHost[] httpHost =             yidianElasticSearchProperties.getUris().stream().map(HttpHost::create).toArray(HttpHost[]::new);         // 构建连接对象         RestClientBuilder builder = RestClient.builder( httpHost);         // 异步连接延时配置         builder.setRequestConfigCallback(requestConfigBuilder -> {             requestConfigBuilder.setConnectTimeout(yidianElasticSearchProperties.getConnectTimeout());             requestConfigBuilder.setSocketTimeout(yidianElasticSearchProperties.getSocketTimeout());             requestConfigBuilder                 .setConnectionRequestTimeout(yidianElasticSearchProperties.getConnectionRequestTimeout());             return requestConfigBuilder;         });         // 异步连接数配置         builder.setHttpClientConfigCallback( httpClientBuilder -> {             httpClientBuilder.setMaxConnTotal(yidianElasticSearchProperties.getMaxConnectNum());             httpClientBuilder.setMaxConnPerRoute(yidianElasticSearchProperties.getMaxConnectPerRoute());             if (credentials) {                 httpClientBuilder.setDefaultCredentialsProvider(credentialsProvider);             }             return httpClientBuilder;         });         return new RestHighLevelClient(builder);     } } 

这个配置在自定义的 starer 里面,启动时这个类有被扫描到但是不符合 math 所以没有被装配。

然后我手动复制一份这个类命名为 LogAutoConfig1,并删除了 @ConditionalOnClass @ConditionalOnBean 等一系列条件装配注解,神奇的是这个它居然报错 restHighLevelClient define in starter xxx path 说是在 starter 中 define 了,这就很奇怪了之前不是都没有装配,这下为什么会提示 define 了,于是我删除了 LogAutoConfig1 中的 restHighLevelClient 这部分代码,至此代码成功注册到 spring

这是为什么?

有偿共享极客时间会员,差一位同学,一年 120

Posted: 22 Jul 2022 03:22 AM PDT

短信联系 base 64 MTU2MjIzMzQzMjQ

USB 鼠标/键盘设备反复插拔后无法正常输入的玄学问题

Posted: 22 Jul 2022 03:04 AM PDT

在升级到 Windows 11 后,偶尔会发现蓝牙键盘莫名其妙不能用,每次都是重启之后解决。后来发现,蓝牙键盘过段时间会进入自动休眠,唤醒相当于是重新连接一次;连接若干次后,键盘就陷入了无响应的状态。本来以为是蓝牙问题,结果插了一个有线键盘,居然也出现了一样的症状,百思不得其解。具体症状如下:

  • USB 端口与蓝牙连接的 HID 设备都会出现这个问题
  • 反复插拔(=蓝牙重连)若干次(<5 次)后会出现该问题
  • 新插入的设备不能正常识别,但是已经连接的设备却能够正常使用
  • 删除与重新添加设备均无法解决
  • 启用了快速启动时,关机再开机无法解决
  • 重启可以解决问题

在设备管理器中查看,没有发现异常:

设备管理器

蓝牙也可正常连接,但是输入信号没有任何响应

蓝牙

各位用哪家的 TTS 引擎,有没有可以根据语气情感进行发声的

Posted: 22 Jul 2022 03:00 AM PDT

文字转语音,现在有很多厂都有相关 SDK/API 可以使用,但很多都像机器人一样没有感情的在念。想了解下有没有真正基于 NLP 技术的,带情感语气的。

比如,下面 2 行文本:

1. 她脸色大变,生气地说:"给我滚出去"。 2. 他轻声地说:"嘘,我们从后门偷偷溜进去"。 

那么,TTS 在朗读第 1 句的时候,应该是语气比较重,比较大声急促。而朗读第 2 句的时候,应该是比较轻声,轻缓的。这样长时间听下来,用户也就不会犯困了。

请教下,腾讯云 mysql 热点更新保护具体作用是什么

Posted: 22 Jul 2022 02:48 AM PDT

腾讯云 mysql 热点更新保护这个概念没理解

想请问下大家这个是什么含义, 大概是怎么是怎么个实现, 以及适用的场景。

有在 macos 下用 ikbc 蓝牙键盘的 v 友吗,为啥切换软件会让键盘短暂失灵?

Posted: 22 Jul 2022 02:36 AM PDT

最近买了个 ikbc 的蓝牙三模键盘,没用两天发现一个神奇的事情。

就是用着用着,键盘会突然没有反应几秒,然后闪灯重新和电脑连上,但是我看说明书说 30min 没有使用才会自动断连。

本以为是键盘质量问题,打算找客服对线走售后。

但是这两天发现并不是无规律,而是在 mac 下切换软件 /或者截图后会发生。

例如,正在聊微信,突然切换到 Chrome ,这是键盘就会失去链接,按什么都没有用,大概过个 3-5s 闪灯重连。

又或者,正在使用某个软件,按下 command+x 截图快捷键截图,完了截完图,键盘又失灵了。

所以是软件会和蓝牙冲突?

PS:电脑蓝牙应该没问题,连蓝牙鼠标包括之前的罗技键盘都没有问题。

spring rest template 在 kubernetes time out

Posted: 22 Jul 2022 01:42 AM PDT

遇到个怪事,我进到在 K8s 里的 pod ,已经 curl 可以访问了。但是代码里直接 timeout 。什么鬼。

有大佬遇到过类似的吗,毫无头绪

请教大佬们关于 Redis Cluster 相关问题

Posted: 22 Jul 2022 01:13 AM PDT

目前是装在一台云服务器测试用,六个节点,三主三从,kill 掉一个节点之后,集群就连不上了,但是 slave 会切换为 master ,变成三主两从。

问题一:为什么上述情况集群会访问不了呢?理论上从节点变主后应该能继续提供服务的吧。

问题二:RDM 等工具连接集群怎么连接呢?目前是连接任意一个节点,但是上述情况发生后,任何节点都访问不了。

问题三:项目中是把所有节点写到 yml 配置文件,那 Redission 如何连接 Redis 集群呢?没看到 Cluster 相关配置。

到哪找比较完整的前端面试题,期待各位老哥热心分享 [必以“感谢”回应] ?

Posted: 22 Jul 2022 12:45 AM PDT

我老婆要换工作了,我一个后端不太了解,感谢各位老铁帮忙!!!

windows 远程 archlinux + i3wm 最佳实践?

Posted: 22 Jul 2022 12:29 AM PDT

背景

公司不让用虚拟机,要用 windows + 安全管理软件 ,但可以 申请 远程 虚拟机环境 ,我平时都是用 i3wm+ archlinux 开发 ,i3wm 切换程序 窗口很方便 ,所以想到 用 本机 win+ 远程 虚拟机 archlinux 的 开发模式

常用软件

alacritty , xkeysnail , webstorm , goland ,chrome 等等

xkeysnail 是用来映射按键的 ,好让我盲打 编程中常用的符号,现在 已经离不开了,具体可以看 V2EX 如何打符号的帖子

i3wm 配置

i3wm 基本没有配置 就配置了 个 i3 status bar ,改了 快捷键 也没有装 sddm 登录软件 ,目前 arch 的启动流程是

  1. 开机
  2. 进入命令行页面 ,输入 startx ,进入 i3wm 桌面环境
  3. 启动 alacritty ,chrome 等软件 ,在 alacritty 中 启动 xkeysnail 使用 自定义的 按键 映射 来快速打符号

远程软件安装

安装 了 xrdp tigervnc 两个软件 ,然后 启动 xrdp 服务

在 windows 下 打开 mstsc , 输入 linux 的 ip , 会进入一个 蓝色 的背景页面

会有 session , username ,和 password 三个 表格 字段

session 有 xorg , xvnc ,vnc-any , neutrinordp-any 4 个选项

其中 使用 xorg 选项 输入 用户名密码后 , 就还是一样的蓝背景 ,过一会 说 连接拒绝之类的 ,无法 远程

选择 xvnc 选项,输入用户名密码后, 可以 进 远程 的 i3wm 桌面

选择 vnc-any 和 neutrinordp-any 后 ,都提示要 输入 ip port 和 密码 ,但是我看 对应的端口号 我应该是没有起来 ,所以 输入了 也是黑屏 ,这两个方法 先放弃

使用 xvnc 的方式 远程连接 i3wm 遇到的问题

使用 xvnc 方式 远程连接 i3wm 后 ,正常的 webstorm , chrome 软件 都能打开 ,但是 alacritty 却打不开了 ,还好我还有别的 terminal 备用 , 我打开 了 cool-retro-term 终端 然后输入 alacritty

报错为

$ alacritty
thread 'main' panicked at 'Failed to initialize any backend! Wayland status: NoCompositorListening X11 status: XOpenDisplayFailed', /build/.cargo/registry/src/github.com-1ecc6299db9ec823/winit-0.26.1/src/platform_impl/linux/mod.rs:619:9 note: run with RUST_BACKTRACE=1 environment variable to display a backtrace

然后 我又尝试启动 xkeysnail 按键 映射软件 ,也无法打开 ,报错为

Traceback (most recent call last): [8/4707] File "/usr/lib/python3.10/site-packages/Xlib/support/unix_connect.py", line 119, in get_socket
s = _get_unix_socket(address)
File "/usr/lib/python3.10/site-packages/Xlib/support/unix_connect.py", line 98, in _get_unix_socket
s.connect(address)
ConnectionRefusedError: [Errno 111] Connection refused

During handling of the above exception, another exception occurred:

Traceback (most recent call last): File "/usr/lib/python3.10/site-packages/Xlib/support/unix_connect.py", line 123, in get_socket s = _get_tcp_socket(host, dno) File "/usr/lib/python3.10/site-packages/Xlib/support/unix_connect.py", line 93, in _get_tcp_socket s.connect((host, 6000 + dno)) ConnectionRefusedError: [Errno 111] Connection refused

During handling of the above exception, another exception occurred:

Traceback (most recent call last): File "/usr/bin/xkeysnail", line 6, in <module> cli_main() File "/usr/lib/python3.10/site-packages/xkeysnail/init.py", line 62, in cli_main eval_file(args.config) File "/usr/lib/python3.10/site-packages/xkeysnail/init.py", line 6, in eval_file exec(compile(file.read(), path, 'exec'), globals()) File ".config.py", line 4, in <module> from xkeysnail.transform import * File "/usr/lib/python3.10/site-packages/xkeysnail/transform.py", line 16, in <module> def get_active_window_wm_class(display=Xlib.display.Display()): File "/usr/lib/python3.10/site-packages/Xlib/display.py", line 89, in init self.display = _BaseDisplay(display) File "/usr/lib/python3.10/site-packages/Xlib/display.py", line 71, in init protocol_display.Display.init(self, *args, **keys) File "/usr/lib/python3.10/site-packages/Xlib/protocol/display.py", line 89, in init self.socket = connect.get_socket(name, protocol, host, displayno)

File "/usr/lib/python3.10/site-packages/Xlib/support/connect.py", line 87, in get_socket return mod.get_socket(dname, protocol, host, dno) File "/usr/lib/python3.10/site-packages/Xlib/support/unix_connect.py", line 127, in get_socket raise error.DisplayConnectionError(dname, str(val)) Xlib.error.DisplayConnectionError: Can't connect to display ":0": [Errno 111] Connection refused

问题原因猜测

alacritty 和 xkeysnail 在正常的 linux + i3wm 都能打开的

远程 使用 xvnc 的方式 却打不开 ,感觉是 因为 xserver 的环境 变了么 ?

问题

  1. 现在大家都是怎么用 win 远程 i3wm 桌面环境 的呢 ? 需要安装哪些软件
  2. 有在 远程环境下 启动 xkeysnail 和 alacritty 成功的么 ?或者 说 这两个软件 限制如此 ,那么 ,linux 下还有没有其他 按键映射软件 是能在 远程环境下 能 正常工作的 ?

总结分享一下我对“网络优化”的一些工作

Posted: 22 Jul 2022 12:02 AM PDT

刚开公众号,有些兴致写:算给自己做个总结

看完至少以后面试八股文 HTTP 不愁了

综合性移动端优化:文章感觉写的还行

https://mp.weixin.qq.com/s?__biz=MzkyNTMyODc2Mw==&mid=2247483691&idx=1&sn=f04de512a58f35a8c9dc47123c42b422&chksm=c1c9753ff6befc293ece0c6caa9fc188d99882a1644f17625de49a0a7d0d7eab04cf75b7abe5&token=415419793&lang=zh_CN#rd

我对 HTTPS 做的一些优化:不如上篇

https://mp.weixin.qq.com/s?__biz=MzkyNTMyODc2Mw==&mid=2247483851&idx=1&sn=35f30bd140187eeb3dda92c8f187a91e&chksm=c1c975dff6befcc9def429e70cb0e60581004ce395738965c163bc05e6be7d5329242a33f511&token=415419793&lang=zh_CN#rd

**HTTPS 的一些概念性说明:不如上篇 **

https://mp.weixin.qq.com/s?__biz=MzkyNTMyODc2Mw==&mid=2247483824&idx=1&sn=c2f8cb7d105bc499bad45d124596e063&chksm=c1c975a4f6befcb2cab77af7114aa636ee528123149ee18dbd3fe4072050390681eb278ded4a&token=415419793&lang=zh_CN#rd

HTTP/3 时代 QUIC: 水了,纯粹给"网络优化" 截稿

https://mp.weixin.qq.com/s?__biz=MzkyNTMyODc2Mw==&mid=2247483876&idx=1&sn=d5a1c2ba35b309d32205888eaac68443&chksm=c1c975f0f6befce67e6558f4635baacc46a0a22e79cc12ec2ba36a045967e51f4c335481bc57&token=415419793&lang=zh_CN#rd

下个阶段开始写一些后端"高可用"工作。

安卓(模拟器)安装 RustDesk 安装后无法运行,白屏

Posted: 21 Jul 2022 11:54 PM PDT

消除强制类型转换警告的最优雅的方式是什么?

Posted: 21 Jul 2022 11:48 PM PDT

类似`(List<String>) obj`这样的代码编译器会提示`Unchecked cast: 'java.lang.Object' to 'java.util.List<java.lang.String>'`这样的警告,看着很难受。
在网上搜了下几乎千篇一律都是使用`@SuppressWarnings("unchecked")`忽略警告,想问一下有没有更优雅的处理方式?

同一个网段的两个 ip 无法互相 ping 通,可能是什么原因呢

Posted: 21 Jul 2022 10:59 PM PDT

我有两台虚拟机

cdp: 192.168.64.5

ubuntu@cdp:~$ ip a 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000     link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00     inet 127.0.0.1/8 scope host lo        valid_lft forever preferred_lft forever     inet6 ::1/128 scope host         valid_lft forever preferred_lft forever 2: enp0s1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000     link/ether 52:54:00:8c:10:91 brd ff:ff:ff:ff:ff:ff     inet 192.168.64.5/24 brd 192.168.64.255 scope global dynamic enp0s1        valid_lft 78881sec preferred_lft 78881sec     inet6 fd96:bec8:dc5e:d1c1:5054:ff:fe8c:1091/64 scope global dynamic mngtmpaddr noprefixroute         valid_lft 2591889sec preferred_lft 604689sec     inet6 fe80::5054:ff:fe8c:1091/64 scope link         valid_lft forever preferred_lft forever 3: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default      link/ether 02:42:ee:b9:4f:99 brd ff:ff:ff:ff:ff:ff     inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0        valid_lft forever preferred_lft forever 
ubuntu@cdp:~$ route -n Kernel IP routing table Destination     Gateway         Genmask         Flags Metric Ref    Use Iface 0.0.0.0         192.168.64.1    0.0.0.0         UG    100    0        0 enp0s1 172.17.0.0      0.0.0.0         255.255.0.0     U     0      0        0 docker0 192.168.64.0    0.0.0.0         255.255.255.0   U     0      0        0 enp0s1 192.168.64.1    0.0.0.0         255.255.255.255 UH    100    0        0 enp0s1 

lab: 192.168.64.6

ubuntu@lab:~$ ip a 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000     link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00     inet 127.0.0.1/8 scope host lo        valid_lft forever preferred_lft forever     inet6 ::1/128 scope host         valid_lft forever preferred_lft forever 2: enp0s1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000     link/ether 52:54:00:eb:e8:7b brd ff:ff:ff:ff:ff:ff     inet 192.168.64.6/24 brd 192.168.64.255 scope global dynamic enp0s1        valid_lft 78849sec preferred_lft 78849sec     inet6 fd96:bec8:dc5e:d1c1:5054:ff:feeb:e87b/64 scope global dynamic mngtmpaddr noprefixroute         valid_lft 2591990sec preferred_lft 604790sec     inet6 fe80::5054:ff:feeb:e87b/64 scope link         valid_lft forever preferred_lft forever 3: dum0: <BROADCAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN group default qlen 1000     link/ether 4a:c8:c0:64:e9:97 brd ff:ff:ff:ff:ff:ff     inet 192.168.64.10/24 brd 192.168.64.255 scope global dum0        valid_lft forever preferred_lft forever     inet6 fe80::48c8:c0ff:fe64:e997/64 scope link         valid_lft forever preferred_lft forever 
ubuntu@lab:~$ route -n Kernel IP routing table Destination     Gateway         Genmask         Flags Metric Ref    Use Iface 0.0.0.0         192.168.64.1    0.0.0.0         UG    100    0        0 enp0s1 192.168.64.0    0.0.0.0         255.255.255.0   U     0      0        0 dum0 192.168.64.0    0.0.0.0         255.255.255.0   U     0      0        0 enp0s1 192.168.64.1    0.0.0.0         255.255.255.255 UH    100    0        0 enp0s1 

然后我的主机 ip 是 192.168.64.1 。两台虚拟机是可以与主机互相连通的,但是两台虚拟机之间无法联通,出现 ping 超时的情况

而且,从两台虚拟机 ping 公网 ip ,比如百度,是可以通的。我用 arp 命令查看了一下,发现两台虚拟机都获取到了对方的 mac 地址

ubuntu@cdp:~$ arp -a _gateway (192.168.64.1) at f6:d4:88:98:8c:64 [ether] on enp0s1 ? (192.168.64.6) at 52:54:00:eb:e8:7b [ether] on enp0s1 

而且,两台机器的 iptables 没有拦截的规则

elk 后台 discover 怎么展示新增的字段

Posted: 21 Jul 2022 10:42 PM PDT

elk 后台最开始通过 api 接口创建的索引,然后通过索引管理添加索引,最后在 disvoer 查看检索索引。

然后根据需求变更在该索引增加了字段,

但是 在 discover 这一项,一直查看不到新增的索引字段,

请问下,该如何操作,才能让该索引字段展示出来

pc=mobile+pad 自适应布局:页面结构与打开方式

Posted: 21 Jul 2022 10:00 PM PDT

pc=mobile+pad 自适应布局

在这篇文章,咱们重点聊聊自适应布局的页面结构,以及打开页面的几种方式。关于pc=mobile+pad 自适应布局的起源、概念、效果,参见文章:自适应布局:pc = mobile + pad

基础构件:view/page

不论是mobile 布局还是pc 布局都由view/page构成。换句话说,view/page是实现 pc=mobile+pad 自适应布局的基石

1. Framework7 的策略

view/page是由 Framework7 组件库引入的概念。一个view就代表了一个视图容器,一个view可以包含多个page,这些pageview容器当中采用堆叠的机制,从而可以轻松实现手机端页面前进与后退的操作

关键问题:实现手机端页面前进与后退,核心要考虑的是历史页面组件如何保持状态,又何时销毁

Framework7 内置了一个router 路由库,通过 page 的堆叠机制轻松实现 page 页面的状态保持和销毁

有网友可能会说,使用vue router+keep-alive也可以实现这种机制。不是不可以,而是非常繁琐,不直观

2. CabloyJS 的改造优化

由此可见,Framework7 是为开发原生 mobile 端应用量身定做的 UI 组件库。CabloyJS 为了将 Framework7 在 mobile 端的交互体验和开发模式移入 pc 端,对view/page组件分别进行了改造和优化。比如,在 Framework7 中,view/page对应的 vue 组件分别是f7-view/f7-page,而在 CabloyJS 中对应的 vue 组件分别是eb-view/eb-page

eb 前缀代表 egg-born ,egg-born 是 CabloyJS 框架的第一阶段,提供最基础的架构设计

页面结构

1. mobile 布局

  • 主页面:由多个tab 页签构成,每一个页签是一个view容器

  • 弹出页面:当在tab 页签中点击链接时,将弹出页面。弹出页面可以是一个或者多个view容器进行堆叠显示

2. pc 布局

  • 侧边栏:一个边栏面板就是一个view容器

  • 内容区域

    • tab 页签:内容区域由多个tab 页签构成

    • group:一个tab 页签对应一个group。一个group包含多个view容器

      • 展开模式( tile ):在展开模式中,多个view容器依次向右平铺展开

      • 弹出模式( popup ):在弹出模式中,第一个 view容器铺满页面空间,剩余 view容器参照mobile 布局弹出页面堆叠显示

页面尺寸

页面尺寸有三种类型:smallmediumlarge,默认是small

- 指定页面尺寸

可通过页面组件的meta元数据指定页面尺寸

<template> </template> <script> export default {   meta: {     size: 'small',   },   data() {     return {};   },   methods: {   }, }; </script> <style scoped> </style> 

页面标题

模块a-layoutpc会自动提取页面组件中eb-navbar元素的title属性,然后显示在头部导航栏中

当然也可通过页面组件的meta元数据指定页面标题

<template> </template> <script> export default {   meta: {     title: 'Sign in',   },   data() {     return {};   },   methods: {   }, }; </script> <style scoped> </style> 

页面打开方式

可以通过方法$view.navigate传递target属性,指定页面打开方式

this.$view.navigate('/test/party/kitchen-sink/about', { target: '_self' }); 
  • target
名称 说明
自动判断:弹出式:在弹出窗口中打开,展开式:依次在右侧使用新view展开
_self 在当前view中打开
_view 在新view中打开
_group 在新group中打开
_popup 在弹出窗口中打开

侧边栏页面显示

还可以通过方法$view.navigate在侧边栏面板当中打开页面。比如,在右边栏面板打开 dashboard 的配置页面,代码如下:

    onPerformSettings() {       this.$view.navigate(`/a/dashboard/dashboard/settings?dashboardUserId=${this.dashboardUserId}`, {         scene: 'sidebar',         sceneOptions: { side: 'right', name: 'profile', title: 'Profile2' },         context: {           params: {             dashboard: this,           },         },       });     }, 
名称 说明
scene 指定为 sidebar
sceneOptions 边栏参数
context 传入新页面的环境参数
  • sceneOptions
名称 说明
side 指定哪个边栏,可选项:left/right/bottom
name 边栏面板的名称
title 边栏面板的标题,支持国际化
  • context:通过 context 既可以向新页面传入参数,也可以从新页面返回结果数据

开发进阶

前面我们对pc=mobile+pad 自适应布局的理念和实现机制进行了阐述。接下来,就可以进一步了解如何配置mobile 布局pc 布局,以及如何开发布局的构件:

相关链接

git bash bug

Posted: 21 Jul 2022 09:47 PM PDT

关于亚马逊 Loop 面试冷冻期问题

Posted: 21 Jul 2022 09:44 PM PDT

求助下各位巨佬。

去年 10 月面亚马逊上海 global selling 部门失败。

这几天被加拿大 HR 捞起,问是否有意向。

帮我查了番,说冷冻期未到。要冷到一番时间

有没有巨佬们知道

  1. 这个冷冻期多长啊? 我看到的不都是半年吗
  2. 可不可以换个邮箱啊? 这个冷冻期也太长了吧

ceph 2 个节点的都挂了,连不上怎么办,又没有这方面大神.

Posted: 21 Jul 2022 09:02 PM PDT

ant design protable renderFormItem 这个自定义搜索渲染用不来啊

Posted: 21 Jul 2022 08:41 PM PDT

想实现根据任意列 ,提供高级搜索包含,不包含,大于,小于等搜索功能。试了半天弄不出来。 还是决定另开一个组件,当做额外参数传进查询表格的请求里好了,头疼。

No comments:

Post a Comment