V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  CRVV  ›  全部回复第 9 页 / 共 27 页
回复总数  535
1 ... 5  6  7  8  9  10  11  12  13  14 ... 27  
这个需求应该用文件系统的 snapshot 来做吧,就没有必要排除大文件,也没有不能删的 .git 目录了。
btrfs subvolume snapshot AAA /backup/AAA

可写但不可删除是个奇怪的权限,因为可以用写入操作把文件内容清空,然后等于是删了。大约查了一下只有 Windows 支持这种奇怪的设定,但我也没看明白到底怎么用的。
2021-06-18 12:18:59 +08:00
回复了 66beta 创建的主题 分享发现 分享一下,卷烟转电子 2 周的体验
@HolmLoh
我没有烟瘾,没体验过,大约是这样的。
自己抽一根就知道了,确实没有任何感觉。
其它的比如咖啡酒精性高潮,都有感觉的。不合法的大麻我没抽过,但也在这一类真能爽的东西里面。
2021-06-18 11:57:02 +08:00
回复了 66beta 创建的主题 分享发现 分享一下,卷烟转电子 2 周的体验
@CoderLife

酒精真能带来快感,但这个和基因有关系,我就是喝酒完全没有快感的类型。
有人是真喜欢喝,喝了真能爽。
2021-06-18 11:55:46 +08:00
回复了 66beta 创建的主题 分享发现 分享一下,卷烟转电子 2 周的体验
@drunkdog

烟草本身带不来快感,所有人抽第一根都没有快感。
然后抽多了会成瘾,让人在不抽烟的时候难受,然后再来一根就能舒服,这就是抽烟的快感。
这个其实不是苹果的问题,USB type-c 接口的线本来就有很多规格。而且不同 feature 不一定能做到同一根线上。
比如大于等于 1.5 米长、支持 5A 电流并且能接显示器支持 USB 3.2 的线,我曾经找过一次没找到,这种规格的应该非常少见或者根本不存在。

接显示器的线淘宝多得很,随便买就行。
2021-06-04 14:25:41 +08:00
回复了 Nillouise 创建的主题 程序员 单机的 qps 普遍是多少?网上基本都没搜到什么资料说明
搜索 web framework benchmark,然后我随便找了一个 https://web-frameworks-benchmark.netlify.app/

qps 从几百到十几万的都有,当然这是 hello world 的测试,没有数据库的。
假设数据库和 redis 和写日志都可以无限扩展并且每个查询只要 2 毫秒,假设每件事情的开销都和处理 hello world 请求一样,那么 qps 大概要除以 4 吧,也就是 qps 从几百到几万。

然后因为 qps 少了,event loop 或者 scheduler 的开销会减少,所以性能也许会再比上面说的数字高一些。

上面说的假设都不见得成立,比如日志很可能要写到硬盘上,而硬盘的性能也天差地别。
很多 ssd 的 iops 都不到 4 万,如果要把日志逐条写到这种硬盘上,qps 就不可能超过 4 万。

另外,树莓派 1 是单机,5 楼说的 100 核也是单机。

所以这个问题根本没有答案。
我觉得吧,用咖啡粉或者咖啡豆上机器来做的,只要原料足够新鲜(比如生产日期 1 个月内)就会很好喝,不够新鲜就没那么好喝,和机器关系的不大。
手冲的当然还和技术有关系。这一类里面最差的也比最好的速溶好喝。

个人认为星巴克的咖啡算是很好喝的了,自己做大概率会差一点。如果随便买点咖啡豆或者粉然后用机器随便做一下,大概率是肯德基水平的。以我的口味来说,自己做不出来瑞幸那么差的咖啡,当然了不同的人有不同的口味。
2021-05-11 16:22:04 +08:00
回复了 tedd 创建的主题 程序员 请教一个根据 git diff 作为 CircleCI build 触发条件的问题
shell 里面 0 是真,其它是假。
没用过 CircleCI,也许是这个问题吧
2021-05-11 09:41:41 +08:00
回复了 brader 创建的主题 MySQL mysql 库存字段设置为无符号,还会出现并发超卖问题吗?
1. 楼主可以自己试一下
CREATE TABLE test (id, int, x int);
INSERT INTO test SELECT 1, 100000;
然后在多个线程上执行 UPDATE test SET x = x - 1 WHERE id = 1;
自己统计一下执行的次数和最后 x 的值。
这个才是所谓的超卖问题,和有没有减到 0 无关。

2. 可以通过修改事务的 isolation level 来解决这个问题,即使在多个线程上执行 x--,最后的结果也是对的。
这才是通过数据库来解决这个问题的方法。

3. 当然了,没有面试官会期望得到 2 里说的这个回答。
2021-05-10 10:51:36 +08:00
回复了 sherlock1122 创建的主题 Linux 测试了一下 btrfs 和 zfs
btrfs 的 online dedup 从来都没有合并过,换句话说就没这个功能。
压缩率是由算法决定的,和文件系统没关系。你测出来没压缩率那显然是没配置对。

btrfs 可以把文件系统建好了再加硬盘上去,更改 raid 之类的,这些操作都不影响正常使用文件系统。zfs 不支持这个。
这是我用 btrfs 的最主要原因。
2021-05-07 12:13:59 +08:00
回复了 HeapOverflow 创建的主题 职场话题 滴滴面试完被秒拒
@cctrv

1. 进程不是进城

2. 进程和线程有什么区别,这的确不是一个好问题。
这个问题差在这两个东西不应该拿来并列比较,比如你可以问牛奶和豆浆有什么差别,但进程和线程不属于这种可并列的关系。
就好像问整列的火车和单个的车厢有什么区别,这个问题本身就很奇怪。但是,如果一个人答不上来这个问题,估计他从来没见过火车。
回到线程的问题上,如果答不上线程和进程的区别,我会觉得这个人不应该拿计算机专业的本科毕业证,因为他完全没学过操作系统这门课。
2021-04-27 21:30:31 +08:00
回复了 mygreens 创建的主题 数据库 Oracle 相比 mysql 的优势在哪里
我没用过 Oracle,但对 PostgreSQL 还算比较熟悉

只要分别读一下 MySQL 和 PostgreSQL 的文档就能看到很大的差别了。
比如 TEXT JSON DATETIME 这些类型的定义和功能。
PostgreSQL 还带一大堆好像没人在用的高端功能。

在性能上,如果会手写稍微复杂一点的 SQL,随便玩一下就能看出来差别了,PostgreSQL 可能会快非常多。比如嵌套几层的子查询,比如多个表的 JOIN,比如有多个索引和多个筛选条件。
如果只在最普通的索引上写最简单的查询,SELECT * FROM table1 JOIN table 2 ON table1.id = table2.table1_id WHERE table1.id = x 这种的,传说 MySQL 比较快。

传说在这些方面 Oracle 都比 PostgreSQL 更厉害一些。
> 所以 event-driven 、nonblocking I/O 只是实现了收银员的非阻塞而已吗?
对的。
直接看这个名词,non-blocking I/O,是说 I/O 的,假设你在挖矿,出一个块需要 1 个小时,I/O 的时间可以忽略,要怎么做 I/O 根本就是无关紧要的事情。
I/O 只是收钱和送餐这种事情,后面的计算任务相当于厨师。

> 想要更快地为顾客提供咖啡,最后还是需要请很多很多的厨师?
对的。
但是在计算机里面,不存在“请很多厨师”这个操作。因为 CPU 是通用的,相当于你一共有 100 个员工,安排更多人去收银的话,厨师就少了,所以提高了收银的效率,做饭也会更快。
假设你在挖矿,当然是分配 99.99 个人去做饭,做好了让那 0.01 个人去送餐就行。

> 那么对于 HAProxy 或 Nginx 来说,它们的处理方式也是类似这样吗?
对,也是这样。
这个东西是个代理,它不做计算任务,它的主业就是 I/O 。
相当于外卖平台,它的工作仅限于收钱和送餐。
只要考虑用最少的资源送好餐就行,请多少厨师和它没关系。
2021-04-08 20:54:55 +08:00
回复了 iseki 创建的主题 NoSQL 为什么你们要把 sql 当 nosql 用?
原因之一是关系型数据库本身更可靠或者性能更好。

比如性能比较。当然这公司是搞 PostgreSQL 的,结果可能有偏差。
https://www.enterprisedb.com/blog/comparison-mongodb-vs-postgresql

PostgreSQL 更可靠应该没什么悬念。
2021-04-08 20:00:57 +08:00
回复了 5bb864e1fc775087 创建的主题 美酒与美食 纯小白怎么入门烹饪
1. 认不清各种蔬菜

去超市买,都写着的

2. 摘菜不知道怎么摘

有些明显看着不好的当然直接扔掉。
其它的你可以直接都留下来,如果是本来应该扔掉的东西应该可以尝出来(可能会咬不动,比如用手掰不断的蒜苔通常也咬不动)。

3. 洗菜各种乱洗,洗干净没有自己也不清楚

饭店几乎不洗的,你随便洗洗把虫冲掉,已经比饭店干净了(包括不少大饭店)。
另外洗碗机也可以用来洗菜。

4. 切食材勉勉强强,切的有长有短有粗有细,不至于影响口感所以无所谓

这个无所谓,天天做饭,做个几年就能切好了。

5. 试过煎鸡蛋,煎肉排,不清楚加多少油,不清楚要开多大火,不清楚何时能翻面,不清楚肉熟没熟能不能起锅了。

蛋和肉排本来就有不同的熟度,生一点熟一点都没错,合自己口味就行,如果不合下次就延长 /缩短时间。
肉只要不带血色就可以算是熟的,但也有人觉得这样太生要炒老一点。比如白切鸡应该是骨头里带血的,但很多人吃到白切鸡说这玩意不熟。我要表达的意思是,如果你已经把肉炒焦了一次,那下次可以时间稍微短一点,估计就不会焦了。至于到底炒到什么程度算刚好,只有你自己知道。

至于要加多少油,如果用不粘锅就可以少一点,如果是普通的铁锅就需要的多一点。只要不把东西粘到锅上就算可以吧,但这个也看技术的,用普通的铁锅,放很少的油,在恰好的温度放料,也可以做到不粘,如果做不到就稍微多放一点油。如果你想做那种一碗菜半碗油风格的,油直接使劲放就好了。
2021-03-30 20:08:30 +08:00
回复了 AceCandy 创建的主题 程序员 问一个关于无锁编程的问题
lock-free 的算法需要用到 cas,但不是说用到了 cas 就是 lock-free
比如用 cas 来实现 counter 就是 lock-free,但用 cas 实现的自旋锁就不是 lock-free

具体的定义在 wiki 里面有写 https://en.wikipedia.org/wiki/Non-blocking_algorithm
A non-blocking algorithm is lock-free if there is guaranteed system-wide progress, and wait-free if there is also guaranteed per-thread progress.

比如一共有 10 个线程,有一个线程在拿着锁的情况下被停了下来,其它的线程也拿不到这个锁,整个系统就停了。
避免这种情况出现的算法叫 lock-free
2021-03-30 10:55:17 +08:00
回复了 css3 创建的主题 程序员 python3 多进程求助 OSError: [Errno 24] Too many open files
1. 发 HTTP 请求不需要用多进程
2. 如果在乎性能,请用 requests.session
3. 如果单线程顺序发请求不够快,可以用 ThreadPoolExecutor 或者 aiohttp
2021-03-29 17:43:03 +08:00
回复了 godall 创建的主题 程序员 大家 web 开发时,是怎么样保障正式数据库的账号安全的?
重点不是把密码写在哪里,即使是写在代码里面,只要代码不泄漏就是安全的。
当然有代码权限的人通常很多,所以不泄漏代码通常会困难一些。
如果你的代码的价值比数据的价值更高,那你直接写在代码里就好了,没必要折腾别的。

重点是要怎么保证密码不被别人拿到。
比如用加密的配置文件,那么重点是你要把密钥放在哪里,如果密钥和配置文件在一起,加密就是没用的。
如果你有一个安全的地方存密钥,当然也可以直接用这个安全的地方存配置文件,那么加密就是没必要的。

AWS GCP 都有 secret manager 来做这件事情。
当然如果你真的想要保证安全,只是上一个现成的服务当然解决不了问题。比如很多人喜欢在程序启动的时候把配置记在日志里,比如很多开发人员都有登录到服务器上的权限,这些地方都能拿到密码。
如果你用的是符合 SQL 标准的数据库,比如 PostgreSQL,只要字符串里没有单引号,就不会有 SQL 注入。

如果你要用 MySQL,那请认真阅读 https://dev.mysql.com/doc/refman/8.0/en/string-literals.html
注意 MySQL 的文档里面还有一句是
In certain client environments, it may also be necessary to escape NUL or Control+Z.
escape 的结果还取决于 client environment 的。

如果有自信把这些奇怪的 escape 规则都搞对,那当然就可以 “不管怎么拼接 SQL 语句都没法注入了”
如果没有这个自信,就别这么玩了。
1 ... 5  6  7  8  9  10  11  12  13  14 ... 27  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3046 人在线   最高记录 6543   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 36ms · UTC 12:49 · PVG 20:49 · LAX 05:49 · JFK 08:49
Developed with CodeLauncher
♥ Do have faith in what you're doing.