V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  wxf666  ›  全部回复第 27 页 / 共 34 页
回复总数  665
1 ... 19  20  21  22  23  24  25  26  27  28 ... 34  
@lisongeee 对啊,如果要做`代码自动格式化`,这个被吃掉缩进的代码,就是你的格式化插件日常要面对的东西了

`do_something()`还能猜一猜,`return`连人工都猜不出来
@lisongeee 生效了!

很喜欢<u>通过 base64 来保留原始信息</u>的功能啊,为啥要去掉啊

v 站吃缩进吃得我麻了都。。


> 现在代码的缩进会被去掉,我考虑要不要加个代码自动格式化

这个应该是不能完全实现的。比如`Python`:

```python
if condition:
do_something()
return
```

这个`return`,到底是`if`内的呢,还是`if`外的呢?
写错了,max 改为 min
伪代码:

时间段数组 = [一年时间表,一至两年时间表,二至三,三至四,四至五,五以上];

for 待分类时间 in 待分类时间表
 时间段数组[max(betweenMonth(待分类时间, "2022-08-31") / 12, 时间段数组.size() - 1)].add(待分类时间);


这样?
2022-08-15 17:27:28 +08:00
回复了 CNN 创建的主题 问与答 100 元买什么手机?
去海鲜市场转转?现在骁龙 845 的 小米 8 ,都才 300 多了
我目前觉得 wasm 效率比本地原生差很多

我是在使用 squoosh (一个浏览器端图片转码工具)时感受到的

特别是里面的 avif 转码,我拿本地的 avifenc 比了一下。相同照片和参数,浏览器 wasm 实现的耗时,是本地 avifenc 实现的 5~6 倍
2022-08-14 13:11:42 +08:00
回复了 jlak 创建的主题 问与答 除了树莓派还有什么更强劲的 arm 小主机吗
@whileFalse 受众不如手机大?拿货量不够高,也没多少议价权?


话说,如果只是跑跑博客爬虫网站下载的话,你自己拿淘汰的旧手机耍,也没问题呀

Linux Deploy 部署,再把省电措施取消掉,一些安卓权限做好(如联网),息屏运行就好


若多是发热量大的密集运算,可能电池容易受影响。或许能把电池拆下来直通电源用?

要不,也有安卓手机的 Linux 发行版?听说 postmarketos 不错,但我没试过


手机真是贬值得太快了,海鲜市场瞅了瞅,小米 8 骁龙 845 ,300 多就能买到了

用不到 GPIO 啥的话,我觉得安卓手机比树莓派香
2022-08-13 20:11:48 +08:00
回复了 usnake 创建的主题 Python 请问一下 Python 正则表达式的替代项问题
@brucmao 哪天 v 站 支持在回复里使用 Markdown 了,我就把『』去掉,换成``

如果我很确定这个正则通吃楼主需求,我就去掉『?』
『 find . -path ./update/a.php -o -delete 』?
2022-08-13 12:13:35 +08:00
回复了 usnake 创建的主题 Python 请问一下 Python 正则表达式的替代项问题
『(?:新疆|.省|重庆市|广西)(.*?)市』?
2022-08-13 01:31:32 +08:00
回复了 jlak 创建的主题 问与答 除了树莓派还有什么更强劲的 arm 小主机吗
还有比安卓机性价比更高的 arm 机子?全球多少人多少台平摊的研发成本,真的还有其他小众产品比得上吗
2022-08-11 16:33:09 +08:00
回复了 still97 创建的主题 Python 辣鸡 for...else
难道是不想加太多关键词了?

then = 1 √
else = 2 ×
2022-08-11 11:42:10 +08:00
回复了 serialt 创建的主题 问与答 吐槽一波 powershell
@hez2010 虽说 bash 很难用,但也不至于这么点儿任务都干不了

我仿照 powershell 的结果写了一个,结果一样(模仿格式导致写得冗余)

ps h -eo pid,comm | jq -Rs '[capture(" *(?<pid>[0-9]*) *(?<name>.*)\n"; "g")] | group_by(.name) | sort_by(-length) | map({Name: .[0].name, Count: length, PID: (if length > 1 then {value: [.[].pid | tonumber], Count: length} else .[0].pid end)})'


我觉得 bash 适合交互和简单脚本,再复杂就适合上编程语言了

powershell 似乎适合当编程语言?
2022-08-10 20:39:06 +08:00
回复了 sunmoon1983 创建的主题 MySQL 求一个数据表设计的思路!
@sunmoon1983 我还好奇,你的原表这些字段是啥含义?

不是 province 一对多 city 一对多 county 吗?为啥存了 county 还要存前面两个?
2022-08-10 17:50:30 +08:00
回复了 sunmoon1983 创建的主题 MySQL 求一个数据表设计的思路!
@fzzff 你是如何写『获取所有「同时满足多个条件」的行记录』的 SQL 语句的?
2022-08-10 17:26:33 +08:00
回复了 sunmoon1983 创建的主题 MySQL 求一个数据表设计的思路!
@sunmoon1983 可以问下,MySQL 8 出来也有六年了,为啥还优先选用旧版本吗?
2022-08-10 14:31:27 +08:00
回复了 sunmoon1983 创建的主题 MySQL 求一个数据表设计的思路!
@yjhatfdu2 三年前的 MySQL 8.0.17 ,也能很好地完成楼主的任务呀。。只是楼主不换新版本而已

SELECT *
FROM DATA
WHERE province = 12345
  AND JSON_CONTAINS(city, CAST('["234567","345678"]' AS JSON))
  AND JSON_CONTAINS(county, CAST('["7345678","6234567"]' AS JSON))
2022-08-10 14:22:48 +08:00
回复了 sunmoon1983 创建的主题 MySQL 求一个数据表设计的思路!
@sunmoon1983 上面有处地方忘改了:

  divided_by_prov_county(id) AS (
   SELECT DISTINCT id
    FROM idx_prov_『改成这样:county 』 main
2022-08-10 14:19:04 +08:00
回复了 sunmoon1983 创建的主题 MySQL 求一个数据表设计的思路!
@LeeReamond MySQL 8.0.17 以上都支持多值索引了(索引一个数组,也就是你说的多段索引?)

用上多值索引,4 楼的 SQL 就不是全表扫描了。但楼主 @sunmoon1983 用的还是旧版 MySQL……

没办法,只能自己模拟一下了。如楼上几位所说,拍平存。



之后如何取数据呢?像 @copper20 #11 和 @pannanxu #20 那样用 in ,表现不出『同时满足』的意思

翻了翻课本,这不就是『关系除法』干的活儿吗。。

站内另一个帖子( https://www.v2ex.com/t/772870 )也有类似描述:

《给定一「技能表」,根据「员工技能表」,求会「技能表」中『所有技能』的员工》



但我不会同时『除以两张表』,只能分开除,再求交集了(然而还要自己模拟 INTERSECT ……)

在此抛砖引玉,求大佬合并这两个除法


『查询条件』

prov    city    county
—— ————— ————
123   [30, 20]   [80, 70]


『结果』

id   prov     city     county
— ——— —————— ——————
1   123   [10, 20, 30]   [70, 80, 90]


『 MySQL 语法(排版原因,记得去掉每行开头的 全角空格)』

(简化了建表建索引)


WITH

 -- 要查询的数据
  query(prov, city, county) AS (
   SELECT 123, '[30, 20]', '[80, 70]'
 ),

 -- 原始数据
  data(id, prov, city, county) AS (
   VALUES
    ROW(1, 123, '[10, 20, 30]', '[70, 80, 90]'),
    ROW(2, 123, '[10, 21, 30]', '[70, 80, 90]')
 ),

 -- 对原始数据的 (id, prov, city) 建多值索引,即:
 -- (1, 123, 10), (1, 123, 20), (1, 123, 30)
 -- (2, 123, 10), (2, 123, 21), (2, 123, 30)
  idx_prov_city(id, prov, city) AS (
   SELECT data.id, prov, arr.id
   FROM data, json_table(data.city, '$[*]' COLUMNS(id INT PATH '$')) arr
 ),

 -- 对原始数据的 (id, prov, county) 建多值索引,即
 -- (1, 123, 70), (1, 123, 80), (1, 123, 90)
 -- (2, 123, 70), (2, 123, 80), (2, 123, 90)
  idx_prov_county(id, prov, county) AS (
   SELECT data.id, prov, arr.id
   FROM data, json_table(data.county, '$[*]' COLUMNS(id INT PATH '$')) arr
 ),

 -- 除以 (prov, city)
  divided_by_prov_city(id) AS (
   SELECT DISTINCT id
    FROM idx_prov_city main
   WHERE NOT EXISTS (
        SELECT *
         FROM query
         JOIN json_table(query.city, '$[*]' COLUMNS(city INT PATH '$')) arr
         WHERE NOT EXISTS (
              SELECT *
               FROM idx_prov_city self
              WHERE self.id = main.id
               AND self.prov = query.prov
               AND self.city = arr.city))
 ),
 
 -- 除以 (prov, county)
  divided_by_prov_county(id) AS (
   SELECT DISTINCT id
    FROM idx_prov_city main
   WHERE NOT EXISTS (
        SELECT *
         FROM query
         JOIN json_table(query.county, '$[*]' COLUMNS(county INT PATH '$')) arr
         WHERE NOT EXISTS (
              SELECT *
               FROM idx_prov_county self
              WHERE self.id = main.id
               AND self.prov = query.prov
               AND self.county = arr.county))
 )

-- 两个除法的商求交集,再 JOIN 原数据表,获取行记录
SELECT data.*
  FROM divided_by_prov_city
  JOIN divided_by_prov_county USING(id)
  JOIN data USING(id)
GROUP BY id;
1 ... 19  20  21  22  23  24  25  26  27  28 ... 34  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2755 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 28ms · UTC 00:23 · PVG 08:23 · LAX 16:23 · JFK 19:23
Developed with CodeLauncher
♥ Do have faith in what you're doing.