V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  vencent  ›  全部回复第 3 页 / 共 4 页
回复总数  80
1  2  3  4  
2019-07-11 23:38:03 +08:00
回复了 artoostark 创建的主题 DNS CloudXNS 停止解析不用怕
CloudXNS 为什么会停止解析?
感谢 @passerbytiny 的指教。

> len(string) 只是个函数,压根谈不上设定。

其实我认为在一门语言中,len 函数的作用应该保持一致性,也就是说,它不能一会儿表示的是数据的内存尺寸,一会儿表示的是容器的容量或长度。这方面 Python 做的非常好,所有内置类型表现的非常一致。包括 str 类型,返回的也是字符个数而不是 bytes 个数(顺便一提,感谢指出 Java、PHP 与字符串有关的 lengh 方法含义都是字节个数。不过我其实认为这样的“传统”是不对的)。即使自定义类型也可以实现 Sized 接口(即实现__len__方法)使得对象的长度可以通过 len 函数获取。而 go 语言的 len 函数对于其他内置类型来说获取的是容器的长度(即元素的个数),而对于 string 类型获取的却是字节数。这种奇怪的不一致我认为是它的设计问题。
必须是 dash 啊,配合 alfred 快速查文档效率高到飞起
赞同 @hhhsuan 的观点,要么就表示 bytes、要么就表示字符,不应该混在一起。
@dacapoday
@exonuclease
起初我也想过会不会“ len 的语义更接近于表示数据的尺寸,而非容器的容量或长度”。然而官方文档告诉我们:

func len(v Type) int

The len built-in function returns the length of v, according to its type:

Array: the number of elements in v.
Pointer to array: the number of elements in *v (even if v is nil).
Slice, or map: the number of elements in v; if v is nil, len(v) is zero.
String: the number of bytes in v.
Channel: the number of elements queued (unread) in the channel buffer;
if v is nil, len(v) is zero.

可见除了 string 之外,其余类型作为 len 函数的参数获取到的都是“容器的容量或长度”
@yvescheung 能具体讲讲为什么 python 中这种坑更多吗?我主力语言是 python 但是没有感受到这种坑
我认为正常思路来说 len 代表了一个对象的长度,也就是“我能对它迭代多少次”,而 for-in 则是迭代的过程。这两个为什么会有不一样的表现?

我充分了解 rune 类型的存在,但是我想吐槽的其实是语言设计上的问题。既然你都有 rune 类型用来表示字符数组了,为什么 string 还会有这么怪异的表现...
我认为:
如果一个字符串是 byte 类型,那调用 len 函数获取到的就应该是有多少个 byte,for in 循环应该是对 byte 数组循环;
如果一个字符串是字符类型,那调用 len 函数获取到的就应该是有多少个字符,for in 循环应该是对字符数组循环。

这种调用 len 函数返回 byte 个数,for in 循环又变成对字符数组进行循环的怪异行为,就非常超出人的正常思维。

好吧,我说的是 go 语言。
2019-04-29 18:13:03 +08:00
回复了 gockxml 创建的主题 分享创造 Remarker.be,不仅仅是网页马克笔
想问一下作者有没有计划重新维护一下或者开源呢? @gockxml
首先,保存的是对象的引用,不是对象。
其次,list 是动态数组。
2019-04-29 14:15:29 +08:00
回复了 gockxml 创建的主题 分享创造 Remarker.be,不仅仅是网页马克笔
这么好的工具居然已经不维护了吗。。我今天刚开始用,发现保存之前不弹出 Evernote 的授权窗口,就一直提示保存中。。
2019-02-14 20:04:59 +08:00
回复了 vencent 创建的主题 求职 大三学生求问,大厂是不是没什么 Python 开发岗?
简单介绍一下楼主情况:
985 科班,带小团队做了一个独立项目,担任开发兼产品,一年多下来访问量 100 万+。在开源社区比较活跃,去年 GitHub 贡献 1000+。大二在某知名互联网公司实习。希望看到帖子的大佬们能交个朋友哇、内推哇、或者一起 py 哈哈哈~
@xpresslink 访问数据库的 IO 不算网络 IO 嘛?我想说的网络 IO 是内网的数据库通讯这种。另外想问一下,使用云平台的数据库还需要考虑数据库瓶颈吗?我这个只是一个个人的小项目
@Ehco1996 如果数据库的包是 c 语言写的当然不支持,但是对于 pymysql 这样的纯 python 库而言,猴子补丁应该是有效的。因此,“如果卡在 io 上 db/redis 这种,gevent 当然不会有帮助”这个“当然”是不成立的。
@xpresslink IO 不仅仅是磁盘 IO 啊,还有网络 IO
@xpresslink 这个比喻有问题吧。难道不应该是:一共 20 个服务员,阻塞 IO 时服务员只能在顾客用餐时一直守在顾客桌边傻等着,而异步 IO 时服务员可以在顾客吃的时候服务别的用户?
@clearT 同问,数据库的网络 IO 应该已经是异步了的呀
还有一个问题是,测试结果里 RPS 只有 30/s 左右,是本来就只能达到这个样子,还是测试环境有问题,还是代码本身的问题呢?
2018-11-16 10:04:53 +08:00
回复了 vencent 创建的主题 macOS BitDefender 杀软, 50 一年有人上车吗?
目前还有一个车位,欲购从速~
2018-11-13 09:35:45 +08:00
回复了 vencent 创建的主题 macOS BitDefender 杀软, 50 一年有人上车吗?
@JEFFMEME 用 tg 吗? fredericc
1  2  3  4  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2600 人在线   最高记录 6543   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 22ms · UTC 04:48 · PVG 12:48 · LAX 21:48 · JFK 00:48
Developed with CodeLauncher
♥ Do have faith in what you're doing.