V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  CRVV  ›  全部回复第 14 页 / 共 27 页
回复总数  536
1 ... 10  11  12  13  14  15  16  17  18  19 ... 27  
2020-04-17 16:43:02 +08:00
回复了 nockyQ 创建的主题 程序员 面试最后一问把我整懵了
如果面试的问题就是太慢要怎么解决,那这个问题没什么意义,就跟问多么多么大的并发要怎么实现一样。
这种问题通常就是堆点什么名词,或者面试官也是在论坛博客随便看了点讨论拿来问的。

如果真要认真地问这个问题,
首先当前是怎么实现的,具体是个什么查询,慢是有多慢,预期要达到多快的速度,对数据的实时性要求有多高,这个报表有多高的查询频率,开发这个报表愿意付多少成本,运维这个报表愿意付多少成本。
这些都得先说清楚,根据不同的情况显然可以给出很多种不同的方案。
2020-03-24 18:22:02 +08:00
回复了 gssong 创建的主题 MySQL abc 联合索引查 bc 走不走索引
这个问题经常有人问,标准答案是不走。

至于到底走不走,必须要说清楚是哪个数据库,哪个版本,表里有多少行,每个字段是什么类型,每个字段的取值范围。基本上没人知道这些问题的答案,所以 PostgreSQL 的文档说的是

This index could in principle be used for queries that have constraints on b and/or c with no constraint on a — but the entire index would have to be scanned, so in most cases the planner would prefer a sequential table scan over using the index.

拿文档来回答这个问题,那就是可以走索引( This index could in principle be used )

具体来说,假设三个字段里,a 是性别,b 是年龄,c 是身高。
你可以把 select * from table where b = 18 and c = 170 拆开成 select * from table where a = '男' and b = 18 and c = 170 union all select * from table where a = '女' and b = 18 and c = 170
这样就可以走索引了,很有可能比不走索引要快。
数据库可以帮你这样优化,但到底会不会优化呢? in most cases the planner would prefer a sequential table scan.

https://www.postgresql.org/docs/12/indexes-multicolumn.html
2020-03-24 17:53:04 +08:00
回复了 felix021 创建的主题 程序员 关于 RSA 的一些趣事
@felix021

客户端会用服务端的非对称加密算法的公钥进行加密。服务器要用什么来进行加密?

如果这里是说 handshake 阶段做 RSA Key Exchange,服务器发送不加密的公钥,客户端要用服务器的公钥加密 premaster key 再发过去。
如果这里说的不是 handshake 阶段,那么双方都用对称加密算法,对称算法的密钥是从 handshake 来的,和非对称算法根本没关系。

你的问题在 TLS 的框架下面本身就不成立。
看一下 wikipedia 只是为了知道相关的常识,不要问出来这种奇怪的问题。
2020-03-23 23:42:29 +08:00
回复了 felix021 创建的主题 程序员 关于 RSA 的一些趣事
> 大多数候选人知道非对称加密,了解客户端会用 RSA 公钥进行加密。
> 那么,服务器在返回响应报文之前,会用什么来进行加密呢?

1. "服务器在返回响应报文之前,会用什么来进行加密呢"
这句话有歧义,另一种理解方式是,服务器在返回之后,客户端要用什么来加密。
因为你的前一句话说客户端要用 RSA 公钥,那么必须让服务器先给一个公钥,那么很自然的问题就是在拿到公钥之前要怎么做。

2. 按照你想表达的含义,这个问题是要怎么加密服务器发送的报文。
你给的答案居然是用 AES,所以客户端用 RSA 加密,服务器用 AES 加密,你自己不觉得这里有问题么?为啥两边要用不同的算法?

3. 既然你要用这个来当面试题,至少把 wikipedia 的 TLS 浏览一下吧。
2020-03-19 14:48:02 +08:00
回复了 Hanggi 创建的主题 程序员 SQL 语句求助,如果通过关联子表找到父表?
select a.user_id as a_id, b.user_id as b_id, a.room_id from 关系表 as a inner join 关系表 as b on a.room_id = b.room_id where a.user_id = 'a' and b.user_id = 'b'
2020-02-07 13:20:11 +08:00
回复了 pythonee 创建的主题 程序员 type 和 class 的区别是什么
在别的语言里,比如 C++ 和 Java,有的类型是 class 有的不是。
在 Python 里面,所有的类型都是 class,这两个词没有本质的区别。

但是当你用 class 这个词的时候,代表了不同的 class 之间有继承关系,比如 built-in function 里的 issubclass 和 isinstance。
isinstance(True, int) 是 True

用 type 的时候通常指单独的类型本身,比如 built-in functions 里的 type。
type(True) == int 是 False
2020-02-06 11:31:15 +08:00
回复了 xudzhang 创建的主题 MySQL 请教一个 SQL 语句的问题
楼主描述的问题和给出的 SQL 不是同一个问题

如果表里的数据是
a1 b1
a2 b2
a2 b3
a2 b4

SQL 返回的是
a1 b1
a2 b2
a2 b3
a2 b4

但是看描述应该返回
a1
a2

如果把 SQL 的开头改成 SELECT a FROM ......
结果是
a1
a2
a2
a2

还有一种你可能想要的结果是
a1
a2
a2

还有一种你可能想要的结果是
a1 b1
a2 b2
a2 b3

所以请问楼主,你到底要哪一种结果?
2020-02-04 23:08:36 +08:00
回复了 shylocks 创建的主题 问与答 做实验需要续航时间长的无人机,求推荐
随便查了一下,如果是旋翼机,这个只能飞 3 小时
https://en.wikipedia.org/wiki/Robinson_R44

如果是电池驱动的固定翼,这个可以飞 4 小时
https://www.lockheedmartin.com/en-us/products/stalker.html

预算估计差了若干个数量级吧
2020-01-21 14:23:52 +08:00
回复了 euzen 创建的主题 Python Python 3 中如何解决字典对字符串进行转义
显然是 XY problem,还没把 Y 问题说清楚

原本的问题是服务器不认 python 传过去的汉字,然后楼主拿 encode decode 和 iso-8859-1 折腾了一下就成功了,以为是服务器只支持 iso-8859-1。
但实际上显然不是这么回事,如果服务器只支持 iso-8859-1,那就不可能成功地把汉字传上去。
但是楼主又没说到底是怎么把字符串传给服务器的,如果是下面这样,说明服务器不支持 \u4e2d 这种编码 unicode 的方法。json.dumps 有一些带默认值的参数,改一改可能服务器就支持了。

>>> json.dumps('中'.encode('utf-8').decode('iso-8859-1'))
'"\\u00e4\\u00b8\\u00ad"'
>>> json.dumps('中')
'"\\u4e2d"'

至于后面的文件读不出来
'源代码' 这个字符串用 utf-8 编码过后的结果,再用 iso-8859-1 reinterpret 出来,就不是原来的字符串了,新的字符串是 'æº\x90代ç\xa0\x81',如果你要读的文件是 '源代码',那当然读不到

.encode('utf-8').decode('iso-8859-1') 是相当于 float x = 3.14159; int* y = (int*)&x; 这样的操作,正常情况下不会用到的。
2020-01-15 18:46:16 +08:00
回复了 woahishui 创建的主题 程序员 golang 语言学习有感
@lihongjie0209

重点当然不是格式化的问题
举一个另外的例子

sync.Map 上没有 length 或者 size 方法,获取元素的数量要用 sync.Map.Range 遍历
https://github.com/golang/go/issues/20680
这个链接有解释说为什么不加这个方法,a Len method would either be misleading or inefficient

类似这样的例子应该还有一些,所以有人觉得拿 Go 写的代码质量会更高,因为一些 misleading 或者 inefficient 的功能直接被删掉了



> Python:
> 优秀的性能 -> 要性能的就是 C 来写

几乎所有的语言都能调用 C 代码,照你这个说法,任何一个语言都有优秀的性能

> JavaScript
> npm -> 强大的标准库

npm 不是标准库,而且我几乎没见过有人给 JavaScript 的标准库说过好话

> Java
> 我有 JVM -> 优秀的性能

性能指的不单是执行时间,内存占用量也是性能的一部分,而 JVM 在这方面的性能很渣
即使单说执行时间,JVM 可能也只是在吞吐量上有优势
2019-11-09 12:44:37 +08:00
回复了 lzwt806 创建的主题 Linux 近两年 Linux LTS kernel 对比请教,知道的前辈请分享下经验
Linux 5.1 - 5.1.5 的 btrfs 有个 bug,我就把一台机器的内核换成 LTS 了
Linux 的 5.2 的 Intel AX200 的驱动又有 bug 导致不能用,我的一台用这个网卡的机器被我换到了 5.1

个人观点是,mainline 显然不适合,stable 通常没什么问题但偶尔也会出点事,用 LTS 通常不会有问题
太新的硬件有可能所有版本的内核都出问题( Intel AX200 的驱动在所有版本上都有 bug,只是有的影响小一点)

如果你的需求是 桌面操作系统、移动操作系统( LiveCD )
那根本没必要考虑这个问题,直接用你选的发行版给的内核就完事了,出了问题再说
2019-10-16 10:55:27 +08:00
回复了 waiaan 创建的主题 C 求问一个关于数组和指针的问题
a 是一个变量,类型是 int[5]

数组是一段连续的内存上放了多个元素,很多语言的数组( std::vector )是一个 struct,包含了这段内存的地址,数组的长度容量这些信息。

但是 C 的数组只是那一段用来放元素的内存,没有其它的东西了,数组的地址,数组本身都是指那一段内存。
2019-10-16 10:30:43 +08:00
回复了 askfilm 创建的主题 Go 编程语言 Golang 是 Google 的 ?个人观点
既然楼主这么爱国,至少应该懂得的道理是,民主是有坏处的

如果楼主觉得社区的 JavaScript 的决策流程值得学习,JavaScript 的新特性都加得很好,那去用 JavaScript 就好了,还可以走社区的流程去给 JavaScript 提新特性,让 JavaScript 成为你更喜欢的语言

被少数人控制这个点并不是坏处,主要看这几个人控制得好不好,所谓的 Benevolent Dictator

Go 本身有不少的争议,最典型的例子是错误处理。显然 Go 的错误处理是故意做成这样的,并且有人喜欢也有人不喜欢。任何人都可以批评说我不喜欢这个错误处理方式,但你不能阻止别人做一个人家自己喜欢的语言。

Go 的 LICENSE 就是三句版 BSD,带一个专利的授权。IANAL,但我觉得没有能让用 Go 的公司被告的坑。

这语言本身是 Google 员工设计的,大多数最初的成员仍然是现在的决策成员,工资都是 Google 发的。我不明白为什么 Google 不能有决策权。
2019-09-20 14:26:48 +08:00
回复了 samondlee 创建的主题 程序员 mate 30pro 两个感光元件同时工作是不是可以淘汰 rx100 黑卡了
1. 1 寸的传感器的尺寸不是 1 寸,其它尺寸也一样,你得去查那个 x*y 毫米的尺寸
2. 对角线尺寸加起来的结果什么也不是,比如 10 个 6 寸的屏幕和 1 个 60 寸的屏幕
3. 面积加起来也没有用,100 个 6 寸的屏幕也不能当一个 60 寸的屏幕来用
4. 论相机的参数,最核心的点是接收到的光量,对应的器材参数是镜头的面积和传感器的面积。即使传感器做大了,镜头也差着好远呢
2019-09-20 00:21:19 +08:00
回复了 dackh 创建的主题 程序员 一个 Mysql 索引问题
select * from T where k between 3 and 5
用 k 的索引找到 id
再用 id 来查整条记录

我觉得这么查没有问题,请问不蠢的查询方式是什么?
2019-08-08 17:42:40 +08:00
回复了 qq1004108488 创建的主题 程序员 看文档只能 chrome 右击翻译,报什么培训机构好?
@qq1004108488
那你要说清楚自己的目标,从帖子的标题和正文来看,读文档就是目标了
如果目标是考试,培训班可能会有很好的作用,找熟悉那个考试的人问问吧
2019-08-08 17:40:00 +08:00
回复了 www6688w 创建的主题 程序员 Golang 学习中的疑问,请教一下
https://golang.org/ref/spec#Channel_types

The capacity, in number of elements, sets the size of the buffer in the channel. If the capacity is zero or absent, the channel is unbuffered and communication succeeds only when both a sender and receiver are ready. Otherwise, the channel is buffered and communication succeeds without blocking if the buffer is not full (sends) or not empty (receives). A nil channel is never ready for communication.

communication succeeds 就是 case 可以运行
1 ... 10  11  12  13  14  15  16  17  18  19 ... 27  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5425 人在线   最高记录 6543   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 47ms · UTC 07:23 · PVG 15:23 · LAX 00:23 · JFK 03:23
Developed with CodeLauncher
♥ Do have faith in what you're doing.