CRVV 最近的时间轴更新
CRVV

CRVV

V2EX 第 79825 号会员,加入于 2014-11-02 20:41:57 +08:00
今日活跃度排名 8320
卖两个青轴机械键盘, Cherry G80-3000, Filco Minila 67
二手交易  •  CRVV  •  2017-02-06 20:07:05 PM  •  最后回复来自 CRVV
4
卖台 PS3, 送 6 个游戏, 一共 700
二手交易  •  CRVV  •  2017-02-05 20:09:34 PM  •  最后回复来自 YORYOR
8
测试 135
沙盒  •  CRVV  •  2016-11-06 20:22:09 PM
CRVV 最近回复了
13 天前
回复了 realpg 创建的主题 程序员 一次 github 跟开源大佬的抬杠经历
@Rehtt
@stinkytofu
在这件事情上,一个弹窗应该把其它所有东西都挡住。
比如 Windows 上请求管理员权限的弹窗,甚至会把所有东西(包括不重叠的东西)都置灰。这个网页上有很多例子。
https://learn.microsoft.com/en-us/windows/security/application-security/application-control/user-account-control/how-it-works

或者退一步,弹窗是一个整体,那个下划线和下划线对应的文字是另一个整体。这两个整体的东西不应该交错,要么 A 在上面,要么 B 在上面。A 的大部分都在 B 的下面,有一小部分在 B 的上面,这不是正常行为。

或者再退一步,现在要把 B 放在 A 上面但是需要开一个天窗,我认可有这样的需求。但我不认可有人需要开天窗显示出来一条下划线,而且我不认可“开天窗”是一个常见且普通的需求。

所以,一条下划线被显示在一个弹窗的上面,是一个 bug 。
我觉得这个点本来就很清楚,我真不懂为什么需要这样长篇地解释一件非常浅显的事情。
14 天前
回复了 realpg 创建的主题 程序员 一次 github 跟开源大佬的抬杠经历
从 GitHub 的 issue 来看,属于很明显的 bug
问题很简单,其实就一句话

弹窗没把该挡住的东西挡住


讨论 z-index 就变成 xy 问题了,需求是该挡的东西都要挡住,z-index 是 y 问题

不同的人对待软件的态度不一样,比如有人说
> 明明可以传入 zindex 解决的问题

问题在于,有的人会以更认真的态度对待工程问题。
苹果之前的键盘会坏,当然可以说 “找售后换一台就能解决”,不过我们还是希望键盘本来就不坏。
某某车的发动机烧机油,也可以说 “机油不够了补上就能解决”,那有的车企还是会让发动机本来就不烧机油。

这个项目的人明显没打算修,指着糊弄过去就完事了,确实说了一大堆看起来友善专业的话,但实际上放着一个明显的 bug 却没有要修的意思。也算不上大厂风范吧,很多人就是没那么认真而已。
这就是常规情况,不值得这样,我都直接走人的。
42 天前
回复了 xuegy 创建的主题 职场话题 第一次当“面试官”的感受
@forgottenPerson
@iOCZ

学好数学需要的能力和写代码需要的能力不一样。能学好数学的人不一定能写好代码,反过来也一样

学数学需要的能力大约是做算法题的能力,有人能做从没做过的算法题,这种人通常能轻松学好数学。
做算法题需要 凭空 想出来一个解法,这个解法不能或者很难从题目中 推理 得到。

但是实际写代码需要 推理能力,实际问题的实现方式都可以从需求推理得到。
工作中经常花费大量时间在解决 bug 上,大多数情况下,解决 bug 需要的就是在一个很长的逻辑链条上做推理,这种推理对大多数人来说非常困难,但也有人做起来很容易。所以经常会出现一个 bug 有人花了一周没解决,换另一个人来半天就搞定了。
Advent of Code 的题目也是这一类的,所以有的题目别人用时一二十分钟,自己来写可能要写一整天。

总之这是两种很不一样的能力,所以经常有某著名软件工程师面试算法题没过这种事情。
@wniming
16 个寄存器需要 4 位来编码,31 个需要 5 位,这个应该是最主要的原因。
比如 inc eax 只需要 1 个 byte ( 8 位)来编码。如果寄存器需要 5 位,就不太可能放在 1 byte 里面。( ARM 好像也没有 inc 这个指令)
所谓 CISC ,是指在一条指令里面可以同时访问内存和做运算。比如 add eax, (ecx),是 eax += *ecx ,这条指令在 x86 上面只占 2 bytes
在 RISC 上面需要先 load edx, (ecx),再做加法 add eax, edx ,RISC 上面这两条指令很可能都要 4 bytes ,一共 8 bytes 。而且 load ecx 需要多用一个寄存器 edx 来保存结果。也就是 RISC 需要更多的寄存器来做到的 CISC 一样的事情。
指令短是 CISC 的一个重要设计目标,到 RISC 的年代不在乎这个事了,所以有这个差别。

CPU 实际有多少个寄存器和指令上定义的寄存器数量无关,CPU 有一部分专门来处理这个事情
https://en.wikipedia.org/wiki/Register_renaming
加密短的数据不可能耗时达到毫秒级
openssl speed -evp aes-128-gcm -bytes 16
在我的机器上只需要 16ns ,这个测试的结果显然没有包含访问主内存的时间(已经在一级缓存上)

自创的加密算法安全不安全?这个问题有标准答案,不安全
在某个项目上是不是适用? 1 楼也已经答了,对没有价值的数据适用
有多大可能被破解?这个得给钱,不然不可能有高手帮你评估破解难度
56 天前
回复了 cnbatch 创建的主题 C++ Intel x86-simd-sort“故意”对 AMD 负优化?
@yzbythesea

我本来也想说这部分代码 "pretty much directly copied over from Intel's own implementation"
但是查了一下 commit 的作者
https://github.com/openjdk/jdk/commit/a4e9168bab1c2872ce2dbc7971a45c259270271f
https://github.com/vamsi-parasa

他的 GitHub 上写着 Intel ,那我只能认为这个事情是 Intel 干的了。
不过 openjdk 这种大项目理应自己认真测过再合并,结果没有。
这里有另外一个原因
比如
create table test(x int unique, y int unique, z int);
insert into test select 1, 1, 1;
insert into test select 2, 2, 2;
insert into test select 3, 3, 3;

然后执行 upsert ,insert into test select 1, 2, 3 on conflict do nothing;
这样当然没问题

如果要 returning 冲突的结果,insert into test select 1, 2, 3 on conflict do nothing returning *;
你希望它返回这个结果么?通常不期望这个结果,在 unique 的东西上只返回一行比较符合直觉。另外要返回这个结果的话,数据库需要把所有的 unique constraint 都扫一遍。
x | y | z
---+---+---
1 | 1 | 1
2 | 2 | 2
(2 rows)

如果要 update ,insert into test select 1, 2 on conflict do update set z = 0;(当然这一句执行不了,do update 需要有一个指定的 unique constraint ,叫 conflict_target )
你希望它把表修改成这样么?同上,通常也不期望这个结果。
x | y | z
---+---+---
1 | 1 | 0
2 | 2 | 0
3 | 3 | 3
(3 rows)

这个功能的设计应该是说在 do update 的时候只修改一行,所以必须指定 conflict_target
要写成 insert into test select 1, 2, 0 on conflict (x) do update set z = 0;
表被修改成
x | y | z
---+---+---
2 | 2 | 2
3 | 3 | 3
1 | 1 | 0
(3 rows)

当然楼主写的 SQL 里面有指定 conflict_target ,但有没有 conflict_target 的结果需要做成一致的,所以只有现在这样应该是唯一的合理结果。
https://en.m.wikipedia.org/wiki/Timestamp

timestamp 指的是邮戳上那种日期时间。

邮戳上当然不写时区,SQL 标准里面的 timestamp 类型也不带时区。如果你永远在一个不带夏令时的时区里面,就可以用这个类型。但数据库不知道这个时间是哪个时区的,你可以写在代码里面或者在系统上设置。单看这个时间戳本身,实际上不知道它具体是什么时间。

如果给上面说的这种戳加上时区,比如
2024-05-06 19:20:21 +10
那么这个戳就是一个具体确定的时间,这个类型在 postgres 里面叫 timestamp with time zone
postgres 只关心它具体是什么时间,你输入进去的时区不重要,也没有存。
这个类型实际上就是 unix time ,并且在输入输出的时候帮你转换字符串。

还有个 time with time zone 类型,文档里说了这个类型根本没用,也是 SQL 标准里面的。
@nevadax

有的公司完全不支持远程,有的公司全员远程,也有的公司一半远程

如果你觉得远程是好事,和不支持远程的公司相比,你应该更喜欢一半远程的公司才对,当然全员远程的更好。
如果要喷,也是到不支持远程的公司发的帖子下面去喷,“你们这什么垃圾公司居然不支持远程”。

支持远程的公司本来就是少数,能支持一半已经很好了
请不要走这种极端路线,一说远程工作就要全员无条件远程工作,一说开放就是在药和疫苗都没有的情况下全体无条件开放
71 天前
回复了 54ayao 创建的主题 JavaScript 那位大佬可以帮我看看这个 JS 文件是什么
那位大佬可以帮你看,直接找他就好了,不用来发帖子
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1055 人在线   最高记录 6543   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 19ms · UTC 23:25 · PVG 07:25 · LAX 15:25 · JFK 18:25
Developed with CodeLauncher
♥ Do have faith in what you're doing.