V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  CRVV  ›  全部回复第 3 页 / 共 27 页
回复总数  536
1  2  3  4  5  6  7  8  9  10 ... 27  
2022-12-12 23:29:12 +08:00
回复了 gao6rich 创建的主题 Java ThreadLocal
thread-local 是指每个线程都有自己的变量。虽然代码里面是同一个变量,但每个线程用的是各自的变量。
所以每个线程里面用的是不同的 connection 。数据库连接和线程数一样多。


> 如果多线程不是同一个连接的话,跟不使用 ThreadLocal ,每个线程新建一个 connection 有什么区别呢

如果每个线程新建一个连接,用完就关下次再重连,那就没有区别。
如果要把连接留着以后再用,就需要一个地方存着这个 connection ,下次再用的时候每个线程每次都能拿到当前线程的 connection 。当然可以自己实现这一套东西,实现好了你就重写了 thread-local
2022-12-12 16:47:51 +08:00
回复了 sockball07 创建的主题 程序员 各位对错字的容忍度
@Lefi

我没有反驳你的观点,我只是指出来你发的链接不能支持你的观点。
这本书从来没有说 “的” 可以混用,只说了这个字的读音 “de” 有这些种不同的用法。

后面这个台湾小学试卷可以证明台湾不区分 “的” 和 “地”。
2022-12-12 15:06:09 +08:00
回复了 sockball07 创建的主题 程序员 各位对错字的容忍度
我最开始也不能容忍这些,比如 “那” 和“哪”这两个字有人经常用错,我就给指出来了,后来这人就在所有问句里都用 “哪”,我才发现他是真不知道该用哪个字。既然没这个能力,也就没理由不容忍了。
口语也是一样的,有一次有人问我“去了哪”,我想了半天告诉他我前几天去了哪,结果他实际想问的是“要去哪”。
需要理解这个事实,能正确使用汉语的人真不多。


在工作中我对这种事情的态度是,把对方写的字当对的理解。

“开枪” 就是“开枪”,直接照着做“开枪”就好。

“判断用户角色使用不用链接” 是说拿用户的角色来判断用不用链接,有的角色不用链接。所以直接回复对方让写清楚具体什么角色不用链接。
2022-12-12 14:52:27 +08:00
回复了 sockball07 创建的主题 程序员 各位对错字的容忍度
@Lefi
首先你发的这个链接《语法修辞讲话》里面,搜不到 “兼职过多,负担过重” 这几个字。

这个书有一章专门讲 “的”,在 51 页
我粘一段:

“的、底、地” 常常有人问起这三个字的分别。回答这个问题应该就口语和文字两方面
分开来说。口语里只有一个字,大多数地方说 de,有些地方说 di 。这个字担负的任务非常繁
重,所以在文字上写成两个或三个不同的形式是有相当的方便的,尤其是翻译外国文章的时
候。


所以原文说 “de” 是通用的,你在这里回帖说 “的” 是通用的。这完全不是一个意思。
2022-12-12 01:17:44 +08:00
回复了 sockball07 创建的主题 程序员 各位对错字的容忍度
@ecnelises
这个说的明显不对,嘛 就是 什么
吃嘛嘛香,吃什么什么香

干嘛 -> 干什么
干吗 -> 干不干
2022-12-12 01:15:43 +08:00
回复了 sockball07 创建的主题 程序员 各位对错字的容忍度
哪个接口吗

确实是病句


分别对应什么吗

这应该是个特殊的用法,同时问了两个问题。
1. 它们之间有没有对应关系?
2. 如果有,对应关系是什么?
说这句话的人是不是要表达这个意思,我当然就不知道了
2022-12-07 12:09:12 +08:00
回复了 amanbolatbalabek 创建的主题 程序员 老外在中国生活了 15 年后润回去了
@CRVV 日期写错了,是 2022.01.01 - 2022.12.05
2022-12-07 12:07:34 +08:00
回复了 amanbolatbalabek 创建的主题 程序员 老外在中国生活了 15 年后润回去了
@sublimeyue

> 截至 2022 年 12 月 2 日,全球已累计报告逾 6.43 亿例确诊病例,其中逾 663.7 万人死亡[9],病死率约为 2.09%
世界各国对该病病死率的估计值差异甚大,多数国家该病的观测病死率在 0.5%-5.0%之间

你无意或有意地忽略了病毒有多个变种且多个变种的致死率不同这个事实,用全部的确诊病例数和全部的死亡数来算死亡率。这样显然高估了当前的实际死亡率。

> 那么做个大概估算, 如果现在向美国一样, 中国也 90%多的人都感染新冠, 那么会死多少人? 我觉得并不会少.
所以我有夸大吗? 我觉得没有.

你没说估计出来到底会死多少人,你连说都没说,当然没有夸大。
如果你想暗示中国的死亡数字会是 14 亿 * 0.5%-5.0% = 700 万 - 7000 万,那么你有夸大,理由前文已述。


我换一个更准确的方法来估算死亡率。
因为中国一直在积极的防控这一传染病,一直都防得不错,所以只有传染性大增的 O 变种真的对中国造成了实质性的影响。之前的所有变种对中国的影响,和其它国家相比几乎都可以忽略。
还有第二个原因,中国做核酸检测的次数非常多,应该说远比其它任何一个国家都多,这样能得到全世界最准确的病例数据。每一个确诊病例死亡病例肯定都做了核酸检测,而其它国家的就不一定了。
O 变种出现 2022 年,所以我们直接看 2022 年中国的数据。
2022.01.01 - 2022.12.15
总病例数是 1648293 ,总死亡数是 345 ,死亡率是 0.02%,或者说万分之二。远比你说的 0.5-5.0% 低。
2022-11-27 12:58:35 +08:00
回复了 llbbzh 创建的主题 程序员 有人能用编程语言讲解「税后到手工资」的计算方式吗?
1. 「公司付 X%,个人付 Y%」是以什么为基准计算的,扣完五险一金之后个人所得税又怎么计算?

比如谈的每月工资 10000 ,个人和公司的 x% 都用这个 10000 来算


2. 既有年终奖又有月基本工资的时候又该怎么算

年终奖不用交五险一金,税好像有不同的算法吧我不太确定。


3. 我看到个人所得税速算扣除数就觉得头晕,完全不知道怎么拿来算,而且现在个税制度一直在改革,好像每月的个税比例都不一样,就更难算了;

个人所得税的算法是这样的
五险一金部分不用交所得税,先减掉,比如月薪 50000 ,假设扣完五险一金还有 40000 。
每个月有 5000 的免税额,就是说这里面有 5000 不用交税,这样还剩 35000 。
然后有那些租房养娃什么的免税额,比如有 3 个娃 1 个老人,这样又有 5000 不用交税,这样还剩 30000 要交税的收入。
这样,每个月的 30000 ,叫做应纳税所得额。

一月,当年的应纳税所得额是 30000 ,税率 3%,交税 900
二月,当年的应纳税所得额是 60000 ,其中 36000 以下的部分是 6000 税率 3% 就是 180 ,36000 以上的部分是 24000 税率 10% 就是 2400 ,这个月要交税 180+2400=2580
三月,当年的应纳税所得额是 90000 ,这个月的收入都是 36000 以上的部分,税率 10% 交 3000 的税
四月,当年的应纳税所得额是 120000 ,这个月的收入都是 36000 以上的部分,税率 10% 交 3000 的税
五月,当年的应纳税所得额是 150000 ,这个月的收入在 144000 以下的部分是 24000 税率 10% 交 2400 的税,还有 6000 在 144000 以上税率 20% 交 1200 的税,这样一共交 3600 的税
后面都是这样算下去的。

这样算需要一个月一个月地累加,有人觉得麻烦,就搞了个速算扣除数。比如第二个月的总数是 60000 ,36000-144000 之间的速算扣除数是 2520 ,60000*10% - 2520 = 3480 就得到了总的税额,再减掉一月的 900 ,得到二月的税是 2580 。
如果要算一年的税额,直接 30000*12 = 360000 ,税率是 25%,36000*25% = 90000 ,再减掉速算扣除数 31920 ,得到全年的个人所得税是 58080 。这样比一个月一个月加上来要少按几下计算器,如果用 Excel 来算我觉得这东西完全没必要。

因为工资是按月发的就每个月都这么算,但如果在 10 月 31 日离职了,后面两个月没有工资,但免税的额度还在,全年的应纳税所得额就变成了 30000*10 - (5000+5000)*2 = 280000 ,但是在 10 月已经交了 300000 对应的税,这样第二年就可以申报把多交的 20000*20% = 4000 的税钱退回来。这个情况我的理解是这样,但我也没操作过,不保证正确。


4. 每个城市的算法还不太一样!

五险一金不一样,差别不会很大,税是一样的
2022-11-18 14:01:25 +08:00
回复了 qiyong 创建的主题 程序员 面试中遇到的一道 sql 题
@raysonlu

“不让 mysql 高负荷运行复杂查询”

这应该是一个对关系型数据库的误解,来自于 MySQL 的 planner 太弱。

要得到一个查询的结果,不论查询是不是分步的,总的工作量一定有下限。在 planner 足够好的情况下,一定是分步查询的工作量大,一条大 SQL 的工作量小(因为不需要把可能很大的中间结果传回来),所以写一条大 SQL 才是节约数据库的做法。

在 MySQL 上,“planner 足够好” 通常不成立,这事就反过来了,分步查才是工作小的做法,所以才有分开写简单 SQL 的习惯。换成 PostgreSQL 就不是那么回事了。

至于其它的很多都是需求问题,很多时候产品经理的需求就要分页要搜索,总不能直接说这东西做不了吧。
2022-11-17 17:48:34 +08:00
回复了 qiyong 创建的主题 程序员 面试中遇到的一道 sql 题
@raysonlu

如果能分步处理当然分步处理是很多人首选的方案,因为代码比较好懂,会写复杂 SQL 的人没那么多。

但就这个题来说,如果商品有 1 亿个,销量表是分小时的,要查所有商品,按近一个月的销量倒序排列,要能搜索能翻页,还是那种能直接跳到第 10000 页的设计。这样的不太可能分步来处理吧,每一个中间步骤的结果都很大。实际的需求通常都比这个复杂。

写一个大 SQL 可能直接就把数据库弄死了,当然也不行。
所以我上面说 BigQuery ,这东西就是干这个事用的,应该算是解决这种问题的方案之一。
2022-11-17 15:08:19 +08:00
回复了 qiyong 创建的主题 程序员 面试中遇到的一道 sql 题
@DinnyXu
这种 SQL 在很多地方都用得到,而且这个题其实不难。
如果每个表都有几亿行,用 BigQuery 写一句 SQL 就能实现,速度也不慢。如果不写 SQL 你打算怎么做?
2022-11-17 14:46:13 +08:00
回复了 qiyong 创建的主题 程序员 面试中遇到的一道 sql 题
首先把销量的类型改成数字, `sales_volume` INT

最后都需要套一层子查询来重新排序,就不写了。
这三种写法都是用 ORDER BY volume DESC LIMIT 3 来选出前 3 ,还可以用 rank <= 3 来选前 3 的,如果有重复的会得到不同结果
都可以在最新的 MySQL 上执行

SELECT goods.name,
goods_sales_record.sales_volume,
goods_group.name AS group_name,
t.group_volume
FROM goods
INNER JOIN goods_sales_record ON goods.id = goods_sales_record.goods_id
INNER JOIN goods_group ON goods.group_id = goods_group.id
INNER JOIN (SELECT goods_group.id, sum(goods_sales_record.sales_volume) AS group_volume
FROM goods_group
INNER JOIN goods ON goods.group_id = goods_group.id
INNER JOIN goods_sales_record on goods.id = goods_sales_record.goods_id
GROUP BY goods_group.id) AS t ON t.id = goods_group.id
ORDER BY 2 DESC limit 3;

SELECT goods.name,
goods_sales_record.sales_volume,
goods_group.name AS group_name,
t.group_volume
FROM goods
INNER JOIN goods_sales_record ON goods.id = goods_sales_record.goods_id
INNER JOIN goods_group ON goods.group_id = goods_group.id
CROSS JOIN LATERAL (SELECT sum(goods_sales_record.sales_volume) AS group_volume
FROM goods INNER JOIN goods_sales_record on goods.id = goods_sales_record.goods_id
WHERE group_id = goods_group.id) AS t
ORDER BY 2 DESC limit 3;

SELECT goods.name,
goods_sales_record.sales_volume,
goods_group.name AS group_name,
sum(sales_volume) OVER (PARTITION BY goods_group.id) AS group_volume
FROM goods
INNER JOIN goods_sales_record ON goods.id = goods_sales_record.goods_id
INNER JOIN goods_group ON goods.group_id = goods_group.id
ORDER BY 2 DESC
LIMIT 3;
2022-11-17 13:52:43 +08:00
回复了 GopherDaily 创建的主题 MySQL [mysql] 混乱的时区
@GopherDaily

utf8mb3 是 MySQL 自己造出来的词,utf8mb4 也是
UTF-8 这个东西,本来是最多 6 bytes 的变长编码,根本没有什么 mb3 mb4
后面觉得 6 bytes 没用,4 bytes 就足够了,就把标准改成了最长 4 bytes

https://en.wikipedia.org/wiki/UTF-8#History
2022-11-17 12:38:57 +08:00
回复了 GopherDaily 创建的主题 MySQL [mysql] 混乱的时区
如果已经注意到这种问题了,答案就是别用 MySQL ,这玩意遍地是坑。


@simonCN
@maggch97
op 说的问题不是怎么存时间,怎么用 timestamp.
他说的是 MySQL 的 timestamp ,不是通常说的 unix timestamp
(类似的还有 MySQL 的 utf8 也不是 UTF-8)

MySQL timestamp 的坑至少包含了:
1. 范围是 1970-2038 年
2. TIMESTAMP 直接把输入用本机的时区来理解(如果有冬夏令时,就不可能正常工作),MySQL 8.0.19 才能自己指定时区。
3. 默认自动更新,DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP

这个类型根本就没考虑拿来存一个正常的时间,它的设计就是用来让你 ON UPDATE CURRENT_TIMESTAMP 的

DATETIME 的坑可能更多,一样很难把时区搞定。换个 SQLite 都没这么多坑
2022-11-13 13:28:05 +08:00
回复了 RATIONALITY 创建的主题 问与答 求问五年内最稳的 4%收益方案
首先,收益率高的东西,风险一定高。
当然收益率低的东西风险不一定低,比如恒大的债券在 2021 年的收益率还只有 8%。

正常来说,银行存款的风险最小,你找一个利率 4% 的存款,假设银行和存款保险都不破产,这样就是安全的。
至于有没有其它小众方法能做到类似的收益率和风险,这就成高端问题了。
银行和存款保险有多大概率破产,也是高端问题。
高端问题的意思是,如果你自己不知道答案,你就不可能在不花大钱的情况下知道答案。

这里还有个怎么算收益的问题,假设有一家银行给你的人民币存款利率是 4%,然后人民币贬值了 5%,这样你认为自己的收益是正的还是负的?
这是个人偏好问题,根据偏好不同,op 这个问题的答案也不一样。
2022-11-13 13:09:29 +08:00
回复了 orenla 创建的主题 问与答 一直流鼻涕
如果你在北方,最快速有效的方法可能是去广东海南。
我自己的经验是下飞机就好了大半,隔天症状全消。
2022-11-12 11:56:34 +08:00
回复了 Wovvvv 创建的主题 Windows 为什么现在的 wsl2 还是无法挂载 ext4 文件系统
https://learn.microsoft.com/en-us/windows/wsl/wsl2-mount-disk

You will need to be on Windows 11 Build 22000 or later to access this feature.


WSL 的很多新功能都需要 Windows 11
2022-11-07 16:25:22 +08:00
回复了 v2byy 创建的主题 问与答 车被电瓶车撞了
@wangxiaoaer
实际上没有这种情况,那么小的地方放不下房子。
在进入主路前停下来,把头转过去一定可以看到后面有没有车。

有一种情况是往右转的时候右边有房子挡住了右边的视线,路还特别窄,这种情况通常需要鸣笛,而且路上通常会有让你鸣笛的牌子。
这是一个有 288k 订阅的 youtuber ,中间还在卖杯子。这种的,做 youtuber 可能是他的主业,至少也是个副业。

那么,他要做一个片子用汇编写一个小程序,他也不想直接把代码列出来然后一行一行讲,这样没有看着他一行一行写出来的感觉。所以,你看到的 youtube 成品,一定是这样很快速度被敲出来的代码,否则他的片子不好看,就不会获得 288k 的订阅。

当然,我不知道他到底能不能做到 op 说的 1-6 ,也许真的可以,但和这个片子的内容不相关。
1  2  3  4  5  6  7  8  9  10 ... 27  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1159 人在线   最高记录 6543   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 54ms · UTC 18:25 · PVG 02:25 · LAX 11:25 · JFK 14:25
Developed with CodeLauncher
♥ Do have faith in what you're doing.