V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  qbqbqbqb  ›  全部回复第 14 页 / 共 26 页
回复总数  506
1 ... 10  11  12  13  14  15  16  17  18  19 ... 26  
2021-12-01 13:52:24 +08:00
回复了 1054850490 创建的主题 Android 安卓手机如何不靠外部硬件实现竖屏输出到显示器
采集卡其实也不是无损的。低端采集卡用的是 MJPEG 格式,属于压缩格式。中高端一般是 YUV 格式,虽然不是压缩但是 RGB 转 YUV 以及后续传到电脑上显示的时候 YUV 转 RGB 仍然是有损转换。支持 RGB 格式的采集卡一般是超高端的,特别少见。
2021-12-01 13:42:38 +08:00
回复了 1054850490 创建的主题 Android 安卓手机如何不靠外部硬件实现竖屏输出到显示器
@1054850490 华为旗舰都有
2021-12-01 12:43:33 +08:00
回复了 sorasyl 创建的主题 宽带症候群 老哥们,路由已有 pb 前缀,设备 ipv6 依然无法上网
@sorasyl 看来是运营商的锅,自己没办法解决。
2021-12-01 12:39:55 +08:00
回复了 cuixiao603 创建的主题 宽带症候群 zerotier 能不能自定义 hosts
@qbqbqbqb 新版 zerotier 支持自定义 dns ,就不用手动配了,部署好 dns 服务器之后把它的 ip 填到 zerotier 网络的 dns 设置里,然后其它客户端开启 Allow DNS 应该就可以了。这样应该不用区分操作系统。
2021-12-01 12:30:30 +08:00
回复了 cuixiao603 创建的主题 宽带症候群 zerotier 能不能自定义 hosts
可以在 zerotier 网络里部署一个 dns 服务器(用 dnsmasq 之类的服务端,A 域名返回 B IP ,其它域名转发给公共 dns 处理),然后配置本机 zerotier 虚拟网卡的 dns 指向这个服务器。

客户端是 Windows 系统可以这样做( Windows 系统的 dns 设置是跟随网卡的)。
但如果客户端是 Linux 的话就不太方便(因为 Linux 里 dns 设置是系统全局的 /etc/resolv.conf ,不是绑定网卡,每次连接或断开 zerotier 都要手动改,很麻烦。除非你用 NetworkManager 等支持分网络配置 dns 的网络管理工具接管 zerotier 的虚拟网卡 ip 设置)。
2021-12-01 12:00:26 +08:00
回复了 7911364440 创建的主题 Java 属性名不让用 is 开头,应该用什么?
@evoluc97 也可以手写 getter 和 setter ,比如如果字段名叫 isXxx ,手写了 getIsXxx 和 setIsXxx 是没有问题的,框架能正确识别(一般的框架都是优先找 get 前缀的 getter ,找不到再找 is 前缀的 getter )。但是这样不符合规范,不好维护。
一般大型项目开发的时候都是 IDE 自动生成符合规范的 getter/setter ,或者用 Lombok 之类的工具,这些工具会自动去掉多余的 is 导致后续容易出问题。
2021-11-29 11:48:33 +08:00
回复了 66beta 创建的主题 程序员 从 Mac 切换到 Windows 工作 2 周了,还是觉得浑身不自在
@murmur 124%属于以讹传讹了,Win10 以及以后的系统里有两套缩放模式,默认缩放和自定义缩放,工作原理和效果是有差别的(效果上就是默认缩放不兼容的软件会出现文字模糊的情况但是功能基本正常,自定义缩放不会模糊但是软件 UI 可能出现异常)。
所谓 124%其实指的就是使用自定义缩放这个功能,实际上不在乎具体数值,自定义缩放 124%和自定义缩放 125%几乎没差别,但是默认 125%和自定义 125%差别很大。
2021-11-27 23:54:38 +08:00
回复了 7911364440 创建的主题 Java 属性名不让用 is 开头,应该用什么?
@ericgui 和 Java 中一些序列化框架的实现有关。
Java 里按照惯例用 getter/setter 方法读写对象属性,字段 xxx 的 getter 和 setter 应当取名为 getXxx()和 setXxx(),如果 xxx 是 boolean 类型的话 getter 应当取名为 isXxx()。
但如果字段名称已经叫 isXxx 了,getter 总不能取名叫 isIsXxx()这种不伦不类的名字吧,于是这种情况 getter 仍然取名为 isXxx()。

然后有些序列化框架是根据 getter 的名字反推字段名,一般情况下字段存到文件里名字都是一致的,但是如果字段名是 isXxx 的话,经过上面一番操作之后存到文件里的字段名就变成不带 is 的 xxx 了,这种不一致会给后续的开发带来麻烦。所以说属性名不能用 is 开头。

解决方法也很简单,直接用形容词就行了,比如 isVisible ,字段名直接叫 visible 即可,一般也不影响可读性。
2021-11-27 19:37:32 +08:00
回复了 Nillouise 创建的主题 Windows windows 下 Http 代理如何转化为 Sock5 代理?
@AoEiuV020 HTTP 代理是可以通过 CONNECT 请求来透传任意 TCP 流量的
2021-11-24 11:03:11 +08:00
回复了 jim9606 创建的主题 Linux APT 2.3.12 禁止交互式卸载必须的软件包
@tanghongkai 看不懂英文也没关系,有中文
![中文版]( https://img-ask.csdn.net/upload/202006/29/1593399776_617526.png)
2021-11-24 10:59:24 +08:00
回复了 jim9606 创建的主题 Linux APT 2.3.12 禁止交互式卸载必须的软件包
@tanghongkai 其实这个提示有中文版,系统语言配置中文的话 apt 大部分提示中文,而且卸载 essential 包的时候会要求输入“是,按我说的做”
2021-11-24 10:55:26 +08:00
回复了 yangman 创建的主题 Linux Ubuntu 软路由拨号问题
有配置禁用不支持的认证协议吗? Linux 里的 ppp 客户端默认是开启 eap 协议的,这个一般拨号都不支持,/etc/ppp/options 里得加 refuse-eap 选项禁用 eap 认证。还是不行就再试试 refuse-mschap, refuse-mschap-v2, refuse-chap 这几个选项(国内宽带拨号一般都是 pap 明文认证协议)
用 GVIM ,粘贴命令是"+p
GVIM (纯命令行版不行,需要安装带 GUI 的版本,然后运行 GUI gvim 或者命令行 vim 均可)可以使用 vim 内置的复制粘贴操作( yank )来访问系统剪贴板,映射到 vim 的+和*两个寄存器,其中+代表 ctrl+c,ctrl+v 的剪贴板,*代表 X11 里特有的“选中复制,鼠标中键粘贴”的剪贴板
如果是 NVIDIA 显卡用户又没装闭源驱动,卡顿有可能是系统自带的开源驱动导致的,这个问题好解决。

Linux 自带的 nouveau 驱动基本上不支持目前所有新显卡的 3d 加速,必须加 nouveau.modeset=0 这个内核参数关闭相应的功能,否则必出问题(包括但不限于:黑屏;开不了机;卡死;其它 PCIe 设备连带异常,例如网卡不能用,或者 NVMe SSD 读写异常慢,只有个位数 MB/s )

这里最容易出现问题的就是笔记本双显卡用户,不加这个参数的话,默认用核显启动系统好像没问题,但是 nouveau 驱动在后台搞事,很容易出上述各种毛病。

总之就是:
电脑上有 NVIDIA 显卡的,启动 Linux 安装盘必须手动加 nouveau.modeset=0 这个内核参数;
安装好系统后,如果不需要 3D 加速的,或者笔记本双显卡用户只用核显不用 N 卡的,必须配置引导器每次启动时添加 nouveau.modeset=0 内核参数;
安装好系统后,如果需要正常使用 NVIDIA 显卡,必须安装闭源驱动(安装好闭源驱动以后 nouveau 被屏蔽,就不用加内核参数了)

(网上有些教程加参数 nomodeset ,不建议,尤其是笔记本双显卡用户,这个参数同时会影响核显 3D 加速功能)
2021-11-19 12:27:34 +08:00
回复了 amiwrong123 创建的主题 程序员 TCP 检验和原理不太懂?求大佬指点
@amiwrong123 实际计算中确实是全 1 ,因为计算的过程中不会故意对 2^w-1 取模。
2021-11-19 12:15:39 +08:00
回复了 amiwrong123 创建的主题 程序员 TCP 检验和原理不太懂?求大佬指点
@amiwrong123 反码里全 0 表示“+0”,全 1 表示“-0”,数学上可以认为是等价的,是 0 这个数的不同的表示方法。
2021-11-18 19:08:57 +08:00
回复了 amiwrong123 创建的主题 程序员 TCP 检验和原理不太懂?求大佬指点
@qbqbqbqb 这里唯一一个有问题的地方就是,当校验和为 0 的时候不同的算法可能算出 0 或者 0xffff 两种不同的结果。这两个数字在反码运算里是等价的,但是网络协议上可能有特殊的规定。网络协议里 TCP 没有特别的要求,而 UDP 要求校验和字段算出 0 的时候必须填入 0xffff (全 0 校验和在 UDP 里表示发送端没有计算校验和)。
2021-11-18 18:47:36 +08:00
回复了 amiwrong123 创建的主题 程序员 TCP 检验和原理不太懂?求大佬指点
@qbqbqbqb 知道了上面这些之后,不难发现为什么先取反和后取反都是正确的:
如果已知其它数字要求校验和,假设其它数字为 x1,x2,...xn ,校验和为 c ,则根据规则应该满足:
x1+x2+...+xn+c=0 (注意这里加号"+"表示反码加法,不是普通加法!)
计算校验和 c 就有两种方式:
c=-x1-x2-...-xn (相当于每个数先取反) 或者 c=-(x1+x2+...+xn) (相当于最后取反)
这里关键点就是:“反码运算” 中 “取反”相当于“加负号”

同时也可以发现,接收端其实是没必要取反的。
2021-11-18 18:28:05 +08:00
回复了 amiwrong123 创建的主题 程序员 TCP 检验和原理不太懂?求大佬指点
所谓的“反码”(英文名是 ones' complement )是一种负数的表示方式,定义上是这样的:
-x = [11..11]2-x = “x 取反”
其中[11..11]2 表示二进制数“w 个 1”

根据上面的定义,不难发现反码加法实际上就是关于 2^w-1 取模的加法。
这样就不难理解为什么计算反码加法要“溢出高位叠加到低位”了:因为平常编程里的普通整数加法溢出时是关于 2^w 取模的,而反码加法是关于 2^w-1 取模,普通加法里低位每向高位溢出一次两者的差值就增加 1 ,所以这样叠加一下算出来的数值恰好是正确的。
原则上应该每加一次就叠加一次,但是因为 IP 头和 TCP 头的字节数不是太长,溢出总数不可能达到 2^16 ,所以说无论先加再叠加还是每加一次就叠加一次,得到的结果没有什么差别。

理解了反码的原理以后,校验和算法就可以一句话描述:每 16 比特当成一个整数,全部相加(包括校验和本身),再除以 65535 (即 2^16-1 )余数应该为 0.
2021-11-18 17:00:39 +08:00
回复了 ymfans 创建的主题 Windows 关于联想笔记本电脑 thinkbook 自行更换系统后激活的问题
@Osk 家庭中文版的 Key 不通用,但是数字授权是和一般的家庭版通用的,可以互相转换。预装家庭中文版的品牌电脑联网激活之后再重装家庭版是没有问题的。
1 ... 10  11  12  13  14  15  16  17  18  19 ... 26  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2973 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 28ms · UTC 00:09 · PVG 08:09 · LAX 16:09 · JFK 19:09
Developed with CodeLauncher
♥ Do have faith in what you're doing.