V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  anytk  ›  全部回复第 10 页 / 共 15 页
回复总数  287
1 ... 2  3  4  5  6  7  8  9  10  11 ... 15  
2021-12-13 16:41:51 +08:00
回复了 kingofzihua 创建的主题 Linux 问一个协程方面的问题
@kingofzihua
IO 的模型:
以买餐为例,忽略细节
1. 阻塞:经典模式接口。你到餐馆买餐,在餐馆一直等到做好打包,拿了带回来。
2. 非阻塞:电话订餐,每隔小段时间重新打电话问餐馆做好没(其他时间有自由时间处理其他事情),做好了就去拿回来。这电话就是非阻塞调用,但是依然是操作系统调用,会有内核陷入。
3. 异步:操作系统提供接口支持,也就是 event loop 模式。电话订餐,餐做好了餐馆直接电话给你通知好了,你去取餐。

协程用在 IO 密集的场景中,通常都是和 event loop 配合,简化复杂的 callback 序列。
2021-12-13 15:31:09 +08:00
回复了 kingofzihua 创建的主题 Linux 问一个协程方面的问题
1. 协程是用户自己调度,切换开销堪比函数调用,比线程轻量
2. 协程可以对逻辑解耦简化,异步操作“同步”化,比如解决 callback hell
2021-12-07 15:01:08 +08:00
回复了 amiwrong123 创建的主题 程序员 关于 socket 的 shutdown close 函数的几个疑问?
@amiwrong123
#2 就跟楼上说的一样,close 是针对 fd 资源的,以及必要的其他操作,如果 socket 没有调用过 shutdown ,那么 close 调用的同时也会调用操作。shutdown 是针对 tcp 协议的操作,因为某些应用可能要使用独特的协议特征,那么这里不同操作的接口就更加简便。

#5 可以这么理解,都是内核的 tcp 栈在处理,不暴露给应用层
#6 按照 tcp 断开的逻辑,如果对端遵从协议就按照协议交互发包,如果出现意外,得看内核如何处理来保证安全,不然就会被 ddos
2021-12-07 10:36:38 +08:00
回复了 amiwrong123 创建的主题 程序员 关于 socket 的 shutdown close 函数的几个疑问?
FIN 包是 tcp 协议的要求,tcp 连接断开有 4 次包交互;
socket 只是操作系统抽象出来管理的,多进程共享 socket 是常见的,比如 fork 的子进程会共享复制父进程的 socket ,但实际上都只是引用计数到同一个对象上;
试着把 tcp 协议握手部分跟 bsd socket 实现先分开理解。
2021-11-05 08:51:04 +08:00
回复了 anytk 创建的主题 Google Google One 手机备份总是失败
@cst4you 我需求主要就是备份 WIFI 密码之类的,应用没考虑过,而且仔细看了下备份说明,超过 57 天没有使用备份就会删除,所以还是鸡肋
2021-11-04 15:04:25 +08:00
回复了 anytk 创建的主题 Google Google One 手机备份总是失败
@dingwen07 好的
@cxh116 好的,感谢
@BurneJones 应该不是线路问题
带日志的文件系统都没这个问题

Debian 安装应该都支持这些文件系统,但是某些文件系统需要单独的 ESP 分区或者 BOOT 分区
2021-09-28 17:37:42 +08:00
回复了 InDom 创建的主题 Linux 迫于可能无法黑苹果,求推荐你在用的 Linux 发行版与桌面。
Debian unstable + KDE Plasma
2021-08-26 08:32:50 +08:00
回复了 onice 创建的主题 新手求助 C/C++是两种不同的语言吗?
是,现代规范而言,基本已经分道扬镳了,两种语言中,某些方面甚至有相悖的约束。

喜欢享受纷繁设计乐趣、某种程度的自虐,以及水平风格千差万别的友军,选 C++
否则,还是 C
2021-08-24 16:14:33 +08:00
回复了 em2046 创建的主题 Edge Edge 浏览器可以的,看来是换回 Firefox 的时候了
Firefox 真香
2021-08-06 09:04:33 +08:00
回复了 James369 创建的主题 程序员 有了解 GIS 的么,请教个经纬度的问题?
参考: https://geographiclib.sourceforge.io/html/python/geodesics.html#introduction
先 Geodesic.Inverse 然后距离平分再 Geodesic.Direct
2021-07-22 15:22:28 +08:00
回复了 abc0123xyz 创建的主题 宽带症候群 联通宽带的限速有问题
用 iperf3 测速也一样的,TCP 速率跟带宽限制差不多一致,但是 UDP 可以跑到更高的传输速率。BT 传输主要用的是 UDP
2021-07-22 13:53:22 +08:00
回复了 LnTrx 创建的主题 宽带症候群 今天电信跨境似乎不太正常
@qqqfreeboycn 联通 169
2021-07-22 11:10:55 +08:00
回复了 LnTrx 创建的主题 宽带症候群 今天电信跨境似乎不太正常
@qqqfreeboycn 测了下 wireguard,境内到境外再回境内测速,用境内测速节点,速度上下行都在 20Mbps 左右,境内网站打开没啥问题
2021-07-22 08:33:21 +08:00
回复了 LnTrx 创建的主题 宽带症候群 今天电信跨境似乎不太正常
wireguard/kcptun 是正常的,trojan 间歇会 reset
2021-07-12 15:20:47 +08:00
回复了 ligiggy 创建的主题 程序员 半路出家 C++, 求知道参数“读/写”的标准
2021-07-09 14:01:00 +08:00
回复了 cyy564 创建的主题 问与答 请教一下,如何判断两个经纬度之间的中心点的经纬度
ENU 坐标计算参考 https://github.com/tomojitakasu/RTKLIB/blob/180043ee24b6d2b168f98b64be15f69d50046b1a/src/rtkcmn.c#L1950

BLH 通过 pos2ecef 转换到 ecef,ecef2enu 获得 ENU 坐标
ENU 通过 enu2ecef 转换到 ecef,ecef2pos 还原 BLH

实际上,直接用 ecef 坐标来计算中间点也是可以的
2021-07-09 13:54:19 +08:00
回复了 cyy564 创建的主题 问与答 请教一下,如何判断两个经纬度之间的中心点的经纬度
你需要以第一个点为站心,转换第二个点到站心坐标系 ENZ,然后把 ENZ 坐标中 ENZ 全部取 0.5,再从站心坐标反算到 BLH 上就行。
其他用高斯投影也行,中央经线选择其中 1 点经线就可以,原理类似。
如果你装有 proj 的话,可以快速测算:
# 计算 2 点投影坐标
proj +lon_0=120 +x_0=500000 +proj=tmerc +ellps=WGS84 -f %.8f
120.62872 31.318318 0.0
559845.61411542 3466437.62013044 0.0
120.63027 31.31866 0.0
559992.93900665 3466476.38304797 0.0

# 取中值
(559845.61411542 + 559992.93900665) * .0.5 = 559919.2765610351
(3466437.62013044 + 3466476.38304797) * 0.5 = 3466457.001589205

# 投影反算
invproj +lon_0=120 +x_0=500000 +proj=tmerc +ellps=WGS84 -f %.8f
559919.2765610351 3466457.001589205 0.0
120.62949500 31.31848900 0.0

如果用站心 ENZ 计算更简单,网上应该可以找站心坐标转换源码
2021-07-07 22:21:44 +08:00
回复了 stimw 创建的主题 GitHub Copilot Github Copilot 是否违反 GPL 协议?
时代变化这么快?还有说 GPL 是开源毒瘤?不要觉得微软近年来向开源示好就觉得是个好人,
2021-04-09 09:09:36 +08:00
回复了 tctc4869 创建的主题 C 一个函数方法里如何调用两个 c 文件里的相同标识符的函数?
c 文件同名函数都标注 static, 声明结构体成员包含函数指针指向函数,然后定义结构体常量暴露接口,main 函数再用结构体指针来引用不同的结构体就行了。
1 ... 2  3  4  5  6  7  8  9  10  11 ... 15  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3248 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 33ms · UTC 12:24 · PVG 20:24 · LAX 05:24 · JFK 08:24
Developed with CodeLauncher
♥ Do have faith in what you're doing.