forcecharlie 最近的时间轴更新
forcecharlie

forcecharlie

V2EX 第 115646 号会员,加入于 2015-05-07 13:15:50 +08:00
根据 forcecharlie 的设置,主题列表被隐藏
二手交易 相关的信息,包括已关闭的交易,不会被隐藏
forcecharlie 最近回复了
26 天前
回复了 balabalaXMX 创建的主题 C++ 为什么哈希表是无序的?
如果你知道 unordered_map 的存储原理,你就知道它为啥是无序的。
unordered_map 使用的是字符串哈希算法去将 Key 转变成一个数字,然后这个数对 bucket 取余,这样实现存储和读取,但是你迭代的时候可不是这么玩的,而是 bucket 一个个遍历。
当然,实际情况比这复杂。

不同的 STL 采用的哈希算法一般是不同的,比如 MSVC STL 使用的是 FNV1a:

```
// These FNV-1a utility functions are extremely performance sensitive,
// check examples like that in VSO-653642 before making changes.
#if defined(_WIN64)
_INLINE_VAR constexpr size_t _FNV_offset_basis = 14695981039346656037ULL;
_INLINE_VAR constexpr size_t _FNV_prime = 1099511628211ULL;
#else // defined(_WIN64)
_INLINE_VAR constexpr size_t _FNV_offset_basis = 2166136261U;
_INLINE_VAR constexpr size_t _FNV_prime = 16777619U;
#endif // defined(_WIN64)

_NODISCARD inline size_t _Fnv1a_append_bytes(size_t _Val, const unsigned char* const _First,
const size_t _Count) noexcept { // accumulate range [_First, _First + _Count) into partial FNV-1a hash _Val
for (size_t _Idx = 0; _Idx < _Count; ++_Idx) {
_Val ^= static_cast<size_t>(_First[_Idx]);
_Val *= _FNV_prime;
}

return _Val;
}

```

https://github.com/microsoft/STL/blob/main/stl/inc/xhash

而 libc++ 用的是 murmur2 ( 32bit ) cityhash64 ( 64bit ): https://github.com/llvm/llvm-project/blob/main/libcxx/include/__functional/hash.h
127 天前
回复了 x199ian 创建的主题 git git 协议可能被中间人攻击吗?
git 协议与 Git Over SSH/ Git Over HTTP 不一样,git 协议是非安全协议,传输流没有加密环节,公网传输可能是不安全的,Git Over SSH (ssh:// or [email protected]:some/some.git) 走的是 SSH 安全通道,Git Over HTTP 可以走 https 。

很多代码托管平台并不开放 git 协议,但可以使用 git 协议作为内部存储节点之间的传输协议。

利益相关:从事 git 代码托管开发多年。
用栈变量就可以按行读取了,如果是 Windows 用 ReadFile 如果是其他系统用 read ,换行的话用 memchr 快速查找 '\n',不用 fstream 就可以实现。当然这里为了支持任意长度的一行,你需要引入状态。
208 天前
回复了 syhsyh9696 创建的主题 问与答 遇见这种 Git 警告应该怎么解决?
cat .git/packed-refs 看看有没有
Github Copilot 我还可以免费用
升级 git 待最新版本,可以使用浅表克隆特定的 commit ,也可以使用部分克隆,当然你这个需求最好使用平台的 API ,那个简单的多。

如果是 Github ,你还可以使用 RSS/Atom 的方式去获取 commit 信息:

eg:

curl https://github.com/baulk/baulk/commits/master.atom
@FrankHB 部分克隆解君愁,但命令稍微有点复杂。
273 天前
回复了 chenxiankong 创建的主题 程序员 大厂完善的基建对于个人发展的利弊
把完善去掉,实际上大厂也有很不完善的基建
282 天前
回复了 fawdlstty 创建的主题 C++ libfv:基于 C++20 的异步 HTTP 库
有没有一种可能,C++ 标准在网络这块不给力,大家都慢慢少用 C++ 开发网络程序了,比如可以使用 Golang/Rust 。

C++ 网络标准就是一群人的零和博弈,互不相让,最后一拖再拖。

免责声明:个人意见,并且本人在开源项目中大量使用 C++。
306 天前
回复了 forcecharlie 创建的主题 Windows 极简 Windows 包管理器 Baulk 4.0 发布
@icyalala 类似 scoop ,但增加了很多特性功能和工具,这一版内置的解压缩能力很强大,顺带就弄了个图形化解压命令
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   实用小工具   ·   3232 人在线   最高记录 5497   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 15ms · UTC 07:28 · PVG 15:28 · LAX 23:28 · JFK 02:28
Developed with CodeLauncher
♥ Do have faith in what you're doing.