V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  wxf666  ›  全部回复第 23 页 / 共 34 页
回复总数  665
1 ... 19  20  21  22  23  24  25  26  27  28 ... 34  
2022-09-12 14:54:20 +08:00
回复了 iseki 创建的主题 问与答 有人存身份证号时丢掉最后一位吗
@iseki 那就正负号代表校检位是否不为 X 呗。。比如:

- 123456789012345678 会存储为:123456789012345678
- 12345678901234567X 会存储为:-123456789012345670

需要使用 1 位符号位 + ⌈ log2(10^18) ⌉ = 1 + 60 = 61 位
2022-09-12 14:37:57 +08:00
回复了 iseki 创建的主题 问与答 有人存身份证号时丢掉最后一位吗
@iseki

> 可以是可以,主要会不直观,如果只是简单去掉最后一位,不影响以十进制方式阅读

那『校检位视为两位数(那么身份证就是 19 位)』适合你啊。比如:

- 123456789012345678 会存储为:1234567890123456708
- 12345678901234567X 会存储为:1234567890123456710
2022-09-12 14:03:25 +08:00
回复了 iseki 创建的主题 问与答 有人存身份证号时丢掉最后一位吗
其实 int64 可以完全存下,包括校检位在内的,完整身份证号:

1. 用 ⌈ log2(10^17) ⌉ = 57 位来存前 17 位数字
2. 用 ⌈ log2(11) ⌉ = 4 位来存校检位

还剩 64 - 57 - 4 = 3 位空闲


或者,校检位视为两位数(那么身份证就是 19 位),刚好可用 ⌈ log2(10^19) ⌉ = 64 位存下
2022-09-11 16:11:55 +08:00
回复了 wdc63 创建的主题 程序员 由两个整数生成一个独特的整数
@wdc63

> @LaTero 的算法应该不能保证结果是唯一的

这不就是你的 a*(b 的位数+1) + b 的二进制版么。。

要不,举个反例?
2022-09-11 15:47:32 +08:00
回复了 wdc63 创建的主题 程序员 由两个整数生成一个独特的整数
@wdc63 a, b 都在 10W 以下,那么共有 10W ^ 2 = 100 亿 种可能 > uint32 ≈ 42 亿,不可能不超出 int32 范围?
好奇,有这个需求,为啥会这样分表。。
2022-09-09 13:21:09 +08:00
回复了 wwwe 创建的主题 奇思妙想 摸鱼迎中秋,有奖猜数字
150
火绒不是有 安全工具 - 弹窗拦截 - 截图拦截 吗
2022-09-09 12:28:58 +08:00
回复了 1054850490 创建的主题 NAS 如何对文件进行查重
用 shell 写了一个:

功能:查找当前路径下所有 *.webm 文件,以文件名『 xxx 网页地址「 yyy 」.zzz 』中的「 yyy 」为分组依据,输出每组中(文件大小最小)的文件名

find . -name '*.webm' -printf '%s\t%p\n' | jq -Rsr '[capture("(?<size>\\d+)\\t(?<path>.*网页地址(?<key>.+)\\..+)"; "g")] | group_by(.key)[] | sort_by(.size | tonumber)[0].path'
2022-09-09 11:39:50 +08:00
回复了 Coolwinds 创建的主题 程序员 shell 小白请教一个脚本问题
可能 sshpass 有使用你的 stdin 吧
噢,有个变量名,4 楼改成 json_data[0][...
a[0]['rows'][0]['BillTypeOrg']

现在连 Python 基础知识都不熟悉了么。。
2022-09-07 14:53:39 +08:00
回复了 hideonwhere 创建的主题 问与答 (求助)请教一个 unbutu 删除大量文件的做法
find . -name 'xx.tar.bz2.*' -delete ?
2022-09-06 18:21:05 +08:00
回复了 simonlu9 创建的主题 程序员 mysql 怎么保证每次查出来的排名是一致的
@simonlu9 感觉和前几楼说的那样,在 ORDER BY 里加个 user_id 之类的字段就好
2022-09-06 17:41:34 +08:00
回复了 simonlu9 创建的主题 程序员 mysql 怎么保证每次查出来的排名是一致的
@simonlu9 还是没看懂。。举些例子吧,你希望是这样排名吗?

用户 ID  销售额 排名
———————————
 1  100  1
 2  100  1
 3    0  3
 4    0  3
 5    0  3
2022-09-06 17:25:03 +08:00
回复了 simonlu9 创建的主题 程序员 mysql 怎么保证每次查出来的排名是一致的
@simonlu9 啥意思。。

1. 你希望销售额相同的用户,他们的排名相同吗?

2. 你的 SQL 最里层的『 SELECT ... UNION SELECT ... ORDER BY ...』,每次获取,结果都一样吗?
@aloxaf 算交流吧,都一起骂了 bash 的难用的地方,@Jirajine 也介绍了 elvish 优越之处,我也有自己的保留意见


感觉我还能接受新鲜事物。不写脚本的话,尝试换下 shell 也是可以的(反正就自己用而已。好用就赚,难用就换~)


听你这么一说,会不会 @Jirajine 说的『 bash 的 glob 复杂』,其实是『 zsh 的 glob 复杂』的意思。。

原本我思来想去,即使算上 extended glob ,bash 的 glob 也和复杂沾不上边儿才对。。


elvish 不也是按照 \n 切割 (...) 嘛。。

反正被折磨多后,一般都用 "..." 包裹住就是了(然而还有个 ! 。。)
2022-09-06 16:59:45 +08:00
回复了 simonlu9 创建的主题 程序员 mysql 怎么保证每次查出来的排名是一致的
销售额都等于 0 时,排名不应该是一样的嘛。。

不考虑使用连 SQLite 都支持的窗口函数 rank() OVER(...) 嘛?
@Jirajine

> 变量名拼写错误会执行外部代码

🤔我还没怎么用过 xonsh ,也不知这种情况严不严重


> 脚本里有一大堆 ad-hoc 的 parse 和拼接字符串的代码,难写难读易错还不安全,远远不如直接操作结构化数据

✔️写脚本我就不用 bash 这坑爹玩意儿了,换个 Python 不香嘛。。


> 正则

🤔我还是坚持:交互式 shell 需要功能强大的正则


> quoting hell 指一次 evaluation 的结果再次被另一种相同或不同的规则 evaluate ,所以需要同时为多种规则 quoting 和转义

✔️噢,这种啊,确实绕脑袋

❓elvish 是咋解决的?


> glob

🔁我还是不知道你说的,bash 的 glob 比 elvish 复杂,是啥意思。。❓可以举些例子嘛?


> 这就是 IFS 和 word splitting 糟糕的地方,数据(变量值)影响语义,在代码的不同地方处理、存储、复制、传递含空格字符串,并保证结果正确是非常麻烦且恶心的

🔁IFS=$'\n' 后,❓不就可以像 elvish 那样,不用处理啥空格了嘛?

需要一个参数时:"$s"、"$(...)"

需要每行作为一个参数时:$s 、$(...)


> bash 的 array 不是一般的难用

✔️知道 bash 的 array 坑多。反正我一般绕过那些奇奇怪怪的用法,老老实实 "${arr[@]}" 之类的。。

我记得好像 ${arr[*]} 还是 "${arr[*]}" 来着,和 $* "$*" 有不同。。
2022-09-06 11:38:22 +08:00
回复了 listen2wind 创建的主题 MySQL 请教一个问题: mysql 中使用 group by 如何获取最新一条数据?
https://dev.mysql.com/doc/refman/8.0/en/example-maximum-column-group-row.html

文中说了 子查询、相关子查询、自连接、窗口函数 4 种方法
1 ... 19  20  21  22  23  24  25  26  27  28 ... 34  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5701 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 42ms · UTC 06:41 · PVG 14:41 · LAX 22:41 · JFK 01:41
Developed with CodeLauncher
♥ Do have faith in what you're doing.