V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  thevita  ›  全部回复第 3 页 / 共 10 页
回复总数  186
1  2  3  4  5  6  7  8  9  10  
109 天前
回复了 frankphper 创建的主题 Go 编程语言 Go 语言为什么很少使用数组?
可以认为 slice 是一个 指向 array 的 fat-pointer
121 天前
回复了 yujianwjj 创建的主题 Go 编程语言 go 大小写对导出的影响
不能导出的是 inner 这个类型

func New() inner {} , 这个函数是 导出的, 这里的可以理解成一个复合类型

就像

struct Struct {
inner inner
}

这个 Struct 被导出了,但它作为一个复合类型,内部引用了 inner 一样.
126 天前
回复了 E0421 创建的主题 程序员 今日份笑话,用 IF 分支区分项目
"我一开始以为什么样的结构能管里这么多的不同项目放在一起;"

这里的项目应该是 维护给不同 客户的不同版本,包含类似定制专有逻辑这种吧??

如果是这样场景的话,不就是 feature flag 么,很 make sense 啊,在合规的情况下,尽量减少 long-lived branch 带来的维护成本呗

当然,一般这个 feature flag 会配合编译系统食用
@fakepoet

同 pyenv + pyenv-virtualenv ,
支持多种 venv 后端(具体是哪做的我也不是很清楚), venv, virtualenv, conda 都支持
也能 用 python-build 安装 和管理 standalone 的 python

就能实现各种环境都在一起管理了

大部分机遇 几个 python3.x base ,派生一堆 venv

ai 的场景就 用 anaconda/miniconda 作为 base, conda 作为 venv 后端 管理具体的 ai venv
本质应该算是后端的非主流半吊子前端来说下:

我会习惯按业务逻辑相关性来放, 不通用 但 一起完成某个相关业务逻辑的放一个目录下
如:

..../(some biz)/
..../(some biz)/list.vue
..../(some biz)/detail.vue
..../(some biz)/edit.vue
..../(some biz)/useHost.ts
..../(some biz)/popupList.vue
..../(some biz)/mergeToolDialog.vue
..../(some biz)/useBizLogic.ts -- ( 只是举个例子,一般还是会叫具体完成的事)
143 天前
回复了 milukun 创建的主题 git 一个关于 GIT 提交的疑问?
cherry-pick

歪楼:

“三个分支代码基本是一样的,只是里面可能部分标记环境的变量不同“
这种情况应该首选通过 flag 来实现

手动处理最大的问题是: 一段时间之后,就没人知道这三个分支 除了 “部分标记环境的变量不同” 外是不是真的完全一样了

再次的选择:
引入一些 自动化的工作流, 如: merge 到 dev 的 feature 合并后,自动创建 到 uat, prd 的 mr
看了下 go ,支持还是不错的,应该上调, tier 1.5 - tier 2 吧,不过确实有很多点需要自己去 take care 的
理论上,能完整支持 c abi 的都可以

tier 1: rust, zig

完整的 C ABI 支持,完全的互操作性,交叉编译支持非常好, ps: zig 还带了一个 c/c++ 的前端,配合他自己的编译器后端 可以非常方便的实现 大部分 c/c++ 代码的交叉编译,而不用自己去搞定 c/c++ 的交叉编译环境,我用过他来作为 cgo 的 c 编译器,而不用去配置 ci 的 c++ 环境,也能在 mac 直接交叉编译输出 带有 cgo 的 linux elf ,推荐

tier 2: c/c++/pascal/ etc...

完整的 C ABI 支持,完全的互操作性,就是交叉编译麻烦

tier 3: go

用得很少,看文档描述,也能实现,但因为 c abi 存在栈拷贝的开销,大家都不是很满意,而且我有些疑问:在 存在 gc 的情况下,怎么保证 go 对象 export 给 c 之后的安全性?


tier 4: 其他

理论上 类似 python 这种,也可用 用一个 c wrapper 包一下来实现,python code -> c-wrapper -> python code [decompressed from shared library/dll]
152 天前
回复了 huangya 创建的主题 Windows windows 系统如何对整个硬盘进行克隆
WinHex https://www.x-ways.net/winhex/index-m.html

等一系列硬盘取证工具,包括 X-Ways 家的取证套装,不过紧急是进行这个完整备份的话,WinHex 应该就是最佳选择了,小巧、久经考验。
@liaowb3 ...看错了,ignore me
162 天前
回复了 weishao666 创建的主题 Linux Linux 用户上限能达到理论值么?
同 2 楼

既然你又自己的用户体系,那认证与授权应该也是要有的把,没必要把授权放 nfs 上来啊?

你网站又 100w 用户,也要 有 100w 个 mysql user 吗?

看不懂
164 天前
回复了 itskingname 创建的主题 NAS 白群晖 DDNS 无法通过 IPv6 连上家里的 NAS
应该是 DNS TTL 的问题
抓包能上, 是因为 iOS 抓包一般通过 Network Extension 实现,会使用 这个 工具的 DNS Configuration
关掉又 fallback 到你本机的 dns 上
这样,你把 render tree 分别打出来看就明白了

```
.....

const r = (
<div>
{isPlayerA ? <Counter person="Taylor" /> : <Counter person="Sarah" />}
<button
onClick={() => {
setIsPlayerA(!isPlayerA);
}}
>
Next player!
</button>
</div>
);
console.log(r);
return r;

......

```


https://codesandbox.io/s/shy-firefly-3xt4ck




props:
children: Array(2)
0: {$$typeof: Symbol(react.element), key: null, ref: null, props: {…}, type: ƒ, …}
1: {$$typeof: Symbol(react.element), type: 'button', key: null, ref: null, props: {…}, …}

https://codesandbox.io/s/quizzical-artem-5j8xqk



props:
children: Array(2)
0: {$$typeof: Symbol(react.element), key: null, ref: null, props: {…}, type: ƒ, …}
1: false
3: {$$typeof: Symbol(react.element), type: 'button', key: null, ref: null, props: {…}, …}



render tree 是不一样的, 后面 diff 的时候 前一种 是没办法识别 Counter 这个 element 的变化的


ps: 不写 react ,描述按我自己理解来的,但大概应该就是这个样子
168 天前
回复了 JinTianYi456 创建的主题 程序员 有木有一种磁盘 dump 并恢复的技术?
ghost

我每次 换硬盘(服役时间到了)就是用 ghost 拷盘
"用 Window 切换起来就不太方便了",你需要一个 window manager ,把窗口切换的问题解决了,用 wm 来切换窗口 不就行了, wm 做好了,也能让你感知不到是不是窗口,还能把其他软件也整合进来.
170 天前
回复了 OysterQAQ 创建的主题 数据库 求[读多写少、大字段]数据库技术推荐
数千个维度 大概 数 K-数十 k, 典型小对象,存取, 数百个 也就 几十 MB ,mysql 要一分钟, 应该就是 io 次数多一点.
用 object store 或者 kv ?

好处在于有现成的云或分布式方案,对 ssd 优化也好,能承担更大量的并发读

再,看读上是否有写 固定模式,可以适当做一些读优化设计(毕竟说 读多写少)
@julyclyde

sorry, 是 current directory , 我贴出来才发现,,
是的,楼上说得对,你需要选一个硬件编码器
比如我的电脑上

```

➜ projects ffmpeg -codecs|grep videotoo
ffmpeg version 6.0 Copyright (c) 2000-2023 the FFmpeg developers
built with Apple clang version 14.0.3 (clang-1403.0.22.14.1)
configuration: ****
libavutil 58. 2.100 / 58. 2.100
libavcodec 60. 3.100 / 60. 3.100
libavformat 60. 3.100 / 60. 3.100
libavdevice 60. 1.100 / 60. 1.100
libavfilter 9. 3.100 / 9. 3.100
libswscale 7. 1.100 / 7. 1.100
libswresample 4. 10.100 / 4. 10.100
libpostproc 57. 1.100 / 57. 1.100
DEV.LS h264 H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 (encoders: libx264 libx264rgb h264_videotoolbox )
DEV.L. hevc H.265 / HEVC (High Efficiency Video Coding) (encoders: libx265 hevc_videotoolbox )
DEVIL. prores Apple ProRes (iCodec Pro) (encoders: prores prores_aw prores_ks prores_videotoolbox )
➜ projects jenv
➜ projects ffmpeg -i sss.wmv -c:v hevc_videotoolbox -b:v 5000k -c:a aac sss.mp4

```

可用的 videotoolbox ( 这应该是 apple 视频编码的 api ) encoder 有 这三个

选 一个就行

也可以按目标编码看

```

➜ projects ffmpeg -codecs|grep hevc
ffmpeg version 6.0 Copyright (c) 2000-2023 the FFmpeg developers
built with Apple clang version 14.0.3 (clang-1403.0.22.14.1)
configuration: ****
.......
DEV.L. hevc H.265 / HEVC (High Efficiency Video Coding) (encoders: libx265 hevc_videotoolbox )

```

一般

*_videotoolbox 是 mac 平台的编码器, *_qsv 是 intel 核显的编码器, *_nvenc, *_cuda 是 nv 的硬件编码器,libx265 是软件编码器
你看,标记的其实是同一个函数,并且是从 [1] 开始递增的,所以结论只有一个

这标记的是这个方法递归的深度
1  2  3  4  5  6  7  8  9  10  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5651 人在线   最高记录 6543   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 128ms · UTC 06:22 · PVG 14:22 · LAX 23:22 · JFK 02:22
Developed with CodeLauncher
♥ Do have faith in what you're doing.