V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  thevita  ›  全部回复第 4 页 / 共 10 页
回复总数  193
1  2  3  4  5  6  7  8  9  10  
这样,你把 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 ,描述按我自己理解来的,但大概应该就是这个样子
181 天前
回复了 JinTianYi456 创建的主题 程序员 有木有一种磁盘 dump 并恢复的技术?
ghost

我每次 换硬盘(服役时间到了)就是用 ghost 拷盘
"用 Window 切换起来就不太方便了",你需要一个 window manager ,把窗口切换的问题解决了,用 wm 来切换窗口 不就行了, wm 做好了,也能让你感知不到是不是窗口,还能把其他软件也整合进来.
183 天前
回复了 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] 开始递增的,所以结论只有一个

这标记的是这个方法递归的深度
"独挡一面” 应该不是要求技术水平(或者不只是要求),而是一个综合工作能力的要求,说到笼统点:能否有把你工作范围发生的各种 正事,破事 落地,不让事掉地上
细化下来可能有:

- 技术方便: 解决问题的能力,学的技术再多,也一定会遇到你经验以为的 事情/技术/要求/bug ,能否正面面对技术挑战/疑难
- 团队协调:能否协调团队的目标与自己目标,驱动团队工作(不一定要是 tl )

协调外部/要资源/向上管理....

不要求每项都很强,但要做到能在你的位置上推进事情
192 天前
回复了 Comyn 创建的主题 程序员 吐槽一下这个极其不规范的代码
“你们是不是有自己定义的规范?”

目前看到的信息只能说,这代码与业界通行的几种规范都不一样,还不能说他不规范,万一有内部规范呢?

不过你们这规范一致性不太好啊,为啥独独 `id` 是 lowercase 的
192 天前
回复了 yaott2020 创建的主题 Go 编程语言 golang 的错误处理真的很糟糕
现在 go 错误处理比刚出来的时候好多了,繁琐是有点,但是没啥心智负担(对写应用来说),只是和 rust 比起来显得有点草率,基本和 rust 无脑 anyhow::Error 一样
199 天前
回复了 Lounode 创建的主题 程序员 同事大概是 Java 写多了,写的 C#叹为观止
@sadfQED2 依赖注入多好啊,刚改了,极大解放

不过我不喜欢 一堆 do vo dto 单纯不喜欢这个名字,有必要还是会用类似的分层方式
1. 先找个能满足你需求的 kv store, 不限制语言,看看你需要的 feature , 需不需要 事物, 快照 等, 比如 rocksdb
2. 看看这个库有不有 python 的 bind
3. 如果没有,可以考虑 PyO3 自己简单撸一个
214 天前
回复了 acbot 创建的主题 信息安全 关于安全漏洞的一些问题
而对于那些已经编译过的产品的漏洞发现 并不像你想的那么难,开源软件的漏洞挖掘也没有你以为的 看源代码那么简单, 有几个问题会导致这个情况, 1) 代码量太大,即使开源软件也不太可能一行行去看代码, 往往会带有一定目的性 2) 肉眼可见的漏洞往往是少数,这种漏洞基本上通过一些 代码质量工具 就能有提示, 3) 更多的需要你对 计算机\目标平台\目标软件业务 有或多或少的了解, 简单说既要全局又要细节, 思维模式上和正向开发的思维是不太一样,

-- 需要反汇编去分析吗?某些时候需求,某些时候也确实是要分析一些详细逻辑的,但会带有一定的针对性,下面说
-- 有哪些套路: a) fuzz, 这是现在漏洞发掘主要的手段之一, b) 总结历史一些漏洞出现的 pattern ,再依据这些 pattern 或依据人工或依靠工具 去发现类似的漏洞, c) 某些时候也可能要开一些脑动, 整体就是,搜索空间无比巨大, 要用一些方式来提高效率


漏洞的详细情况,产品方一般是不会说的,一方面,有确实延缓传播的意图,二一方面有法律法规上的限制,如果只是修复,看产品商就可以了

一些历史的有利用价值、有启发性、有意思的漏洞, 你 google 一下还是有的,应该不难
比较新的,或者比较鸡肋的,利用有难度的(很多漏洞只在理论上存在利用可能),影响范围小的 可能就没有了
215 天前
回复了 cusuanan 创建的主题 Windows Win11 史诗级更新,状态栏窗口不再合并
不好吗,感觉挺好啊,我用 win10 也开了合并,可以搭配下三方的窗口管理器
怎么就得出`不会有什么好处` 的结论呢?最多就是他解决的不是你的问题而已
@thevita 是指 golang 的 sql 包
真要说起来,
@hxtheone 是的,就是 type system 不一致的原因,类似的情况其他语言也一样会存在,同样的问题 sql 也一样存在,完全可以参考 sql 的解决方案呗,扯半天扯不到点上。
问题还是 go 的 部分 value type 没有 null, 这点与 json 不一致,要弥合这点,

1. 让 go type 去 match json ,可以引入 Null* 的 type, NullString, NullNumber 什么的,
2. 让 json match go type, 依然通过 NewType 实现 UnmarshalJSON 来验证数据呗
235 天前
回复了 iorilu 创建的主题 程序员 有多少人完全使用命令行管理 git 得
@unco020511 mr/pr 不是 gitlab/github 的功能么, 这还用插件?
---
感觉没必要完全 gui/cli, 这两者对 git 来说又不是互斥的选项, 我都是一起用的,那个顺手用哪个, 比如解决冲突就会选择切换到 gui 来
237 天前
回复了 keepabc 创建的主题 程序员 遇到这样的好公司,就嫁了吧
国内环境,服务行业节假日不放假不算什么吧,(如果你是后端,那确实福报)
1  2  3  4  5  6  7  8  9  10  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   813 人在线   最高记录 6543   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 60ms · UTC 22:09 · PVG 06:09 · LAX 15:09 · JFK 18:09
Developed with CodeLauncher
♥ Do have faith in what you're doing.