V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  forcecharlie  ›  全部回复第 1 页 / 共 11 页
回复总数  202
1  2  3  4  5  6  7  8  9  10 ... 11  
ZIP 可以强制使用 UTF8 编码,这个时候在单个条目中会设置特殊的字段,其他时候就是 codepage ,一般而言与压缩和解压的代码页有关,如果你的是 CP936 ,压缩的 codepage 不是这个就可能乱码,正确的做法是 all UTF-8 ,但历史原因都做的不好,有一种解决方案,对文件名做编码检测,解压时自动转换,这个很少有 ZIP 解压软件做到。

利益相关:做包管理器解压 ZIP 刚好做过编码检测自动转换。
你这个问题可能的解决方案有两种:
第一种看文件的属性,Git for Windows ( MINGW64 )的 SSH 可能要求 SSH 私钥的 filemode 是 0600 ,你可以在 Git for Windows (MINGW64) 的 bash 中 stat /c/Users/Username/.ssh/id_rsa ,如果不正确,则使用 chmod 0600 /c/Users/Username/.ssh/id_rsa 然后重试。
第二种是看文件换行符,Git for Windows ( MINGW64 )的 SSH 需要 LF 的换行符,而 Windows 移植的 SSH 可能能处理 CRLF ,将私钥的换行符换回去就可以了。

在 cmd 中的 SSH 实际上是微软 PowerShell 团队移植的 [OpenSSH]( https://github.com/PowerShell/Win32-OpenSSH),与 Git for Windows ( MINGW64 )的并不一致。

这里我也只是做个推测,并没有验证。
2023-02-15 10:34:41 +08:00
回复了 Yeen 创建的主题 程序员 问个 win32 技术问题
类似自解压软件的逻辑,可以把 exe 追加到 dll 尾部,然后解析 PE ,算出所有 sections 的大小就可以得出 exe 的偏移,然后解压出来。PE 文件可以,POSIX 系统中 ELF 也可以这么玩。
2023-01-05 10:15:46 +08:00
回复了 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
2022-09-26 10:11:19 +08:00
回复了 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 代码托管开发多年。
2022-09-15 10:03:35 +08:00
回复了 dangyuluo 创建的主题 C++ 怎样在 C++里用 C-style 按行读取文件并不分配 heap 内存?
用栈变量就可以按行读取了,如果是 Windows 用 ReadFile 如果是其他系统用 read ,换行的话用 memchr 快速查找 '\n',不用 fstream 就可以实现。当然这里为了支持任意长度的一行,你需要引入状态。
2022-07-07 10:19:44 +08:00
回复了 syhsyh9696 创建的主题 问与答 遇见这种 Git 警告应该怎么解决?
cat .git/packed-refs 看看有没有
Github Copilot 我还可以免费用
2022-05-17 10:32:20 +08:00
回复了 soupure 创建的主题 git 为什么 git 不能获取远程最新的 log 必须要 pull 才能看到
升级 git 待最新版本,可以使用浅表克隆特定的 commit ,也可以使用部分克隆,当然你这个需求最好使用平台的 API ,那个简单的多。

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

eg:

curl https://github.com/baulk/baulk/commits/master.atom
2022-05-17 10:23:53 +08:00
回复了 soupure 创建的主题 git 为什么 git 不能获取远程最新的 log 必须要 pull 才能看到
@FrankHB 部分克隆解君愁,但命令稍微有点复杂。
2022-05-02 19:58:09 +08:00
回复了 chenxiankong 创建的主题 程序员 大厂完善的基建对于个人发展的利弊
把完善去掉,实际上大厂也有很不完善的基建
2022-04-24 10:24:11 +08:00
回复了 fawdlstty 创建的主题 C++ libfv:基于 C++20 的异步 HTTP 库
有没有一种可能,C++ 标准在网络这块不给力,大家都慢慢少用 C++ 开发网络程序了,比如可以使用 Golang/Rust 。

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

免责声明:个人意见,并且本人在开源项目中大量使用 C++。
2022-03-31 14:02:20 +08:00
回复了 forcecharlie 创建的主题 Windows 极简 Windows 包管理器 Baulk 4.0 发布
@icyalala 类似 scoop ,但增加了很多特性功能和工具,这一版内置的解压缩能力很强大,顺带就弄了个图形化解压命令
2022-03-31 14:01:00 +08:00
回复了 forcecharlie 创建的主题 Windows 极简 Windows 包管理器 Baulk 4.0 发布
@shintendo 等距更纱黑体 不过屏幕是 4K 屏,1080 看起来没这么好看

字体清华开源镜像可以下载: https://mirrors.tuna.tsinghua.edu.cn/github-release/be5invis/Sarasa-Gothic/LatestRelease/
2022-03-28 19:21:24 +08:00
回复了 AllenHua 创建的主题 程序员 [2022-03] GitHub 加速终极教程
如果对编程比较熟,可以自己写一个 hook 掉 git ,比如我就写过 tunnelssh https://github.com/balibuild/tunnelssh ,tunnelssh 根据你本机的代理设置自动让 git 走代理,无需修改任何配置,关闭代理同样可以访问。

git tunnel clone [email protected]:balibuild/tunnelssh.git
2022-02-23 10:23:09 +08:00
回复了 unco020511 创建的主题 程序员 鹅厂三面被面试官说的一无是处,开始怀疑人生了
我之前面过一次,技术上很认可我,没过,原因是我说了不加班,觉得不好管理。
2022-01-04 10:11:02 +08:00
回复了 keppelfei 创建的主题 git gitee 为何如此拉夸,动不动就 502
技术负责人都跑路了。
2021-11-15 16:21:49 +08:00
回复了 forcecharlie 创建的主题 Windows 如何使用 Windows API 查询 Intel 集成显卡型号
@invdan 我的一台小新的 10710U 。一台 NUC 也是这个 U 。
2021-11-15 16:21:08 +08:00
回复了 forcecharlie 创建的主题 Windows 如何使用 Windows API 查询 Intel 集成显卡型号
@ysc3839 fixed 。我自己的 bela 库实现了 comptr ,下班去优化下。
1  2  3  4  5  6  7  8  9  10 ... 11  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1222 人在线   最高记录 6543   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 32ms · UTC 18:07 · PVG 02:07 · LAX 11:07 · JFK 14:07
Developed with CodeLauncher
♥ Do have faith in what you're doing.