V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  zhicheng  ›  全部回复第 7 页 / 共 58 页
回复总数  1152
1 ... 3  4  5  6  7  8  9  10  11  12 ... 58  
2017-10-28 16:58:36 +08:00
回复了 ioven 创建的主题 Python 小内存如何对两个大型列表求差集?
如果不是完全随机数,可以压缩一下。只要能把小的那个塞进内存就行了。
傻逼了,光想着写个代理示例忘发地址了,地址在此

https://github.com/zhicheng/lobjc

@forestyuan 是开源的。
@pheyer 暂没有调试的机制。
2017-09-23 03:00:34 +08:00
回复了 ZUYI 创建的主题 分享创造 这样能实现用 圆周率 来 压缩文件 吗?
压缩算法是根据内容计算出字典, 现在拿内容去匹配一个固定的随机字典。计算的浪费就不说了,一个固定的字典怎么可能会比一个根据内容计算出来的字典压缩比高。
2017-09-04 17:08:51 +08:00
回复了 Reign 创建的主题 程序员 URL 规范中,问号前面是否要添加斜杠?
@weyou 第二种哪里不规范了?

httpurl = "http://" hostport [ "/" hpath [ "?" search ]]

hpath = hsegment *[ "/" hsegment ]

hsegment = *[ uchar | ";" | ":" | "@" | "&" | "=" ]

search = *[ uchar | ";" | ":" | "@" | "&" | "=" ]

你发的 BNF,这个 '*' 是 匹配 0 个或多个的意思,hpath 是可以为空的。

在 'www.example.com?' 和 'www.example.com/?' 是一样的,浏览器会自动补上 '/' 不然没办法构造请求。

但对于其它路径不行,'www.example.com/hello' 和 'www.example.com/hello/' 是两个路径,有些 Web Server 会好心自动补上 '/' 或去掉 '/' 但有些不会。如果这两个路径表示的确实是同一个对象,服务器一般可以配置 URL rewrite 或把带 '/' 的 301 到不带 '/' 的路径上。
2017-09-01 22:30:54 +08:00
回复了 twogoods 创建的主题 程序员 关于异步编程
异步是用来解决 IO Bound 类型的应用。无法解决 CPU Bound,甚至会多些一举。

详细可以仔细看下我的文章。
https://www.textarea.com/zhicheng/yong-python-lijie-fuwuqi-moxing-shang-566/
https://www.textarea.com/zhicheng/yong-python-lijie-fuwuqi-moxing-xia-596/
不谈政治正确,把这个文案拆开看,

文案效果很好,被大家效仿,以后是“我们凌迟了一个程序员”,“我们五马分尸了一个程序员”,到时候前台妹子见到程序员就一脸鄙视的时候,可别玻璃心。

方案效果不好,使用文案公司直接获得利益为零,但是伤害了一部分人的感情,或被抵制,或被差评。间接损失利益。

社会影响上,职业没有高低贵贱,如果专门针对某一职业,影响社会团结,不利于生产。

所以写这个文案的人不是蠢就是坏。
2017-08-09 17:20:10 +08:00
回复了 noli 创建的主题 奇思妙想 [空想] 改造 FreeBSD 变成移动设备操作系统
@noli 既然在 “讨论” BSD 和 Linux,就不要把 Windows 扯进来,不能我跟你讨论 BSD 和 Linux 的时候你突然来了句 Linux 不如 Windows。这个不是讨论的内容。或者用你的观点,把 Linux 换成 FreeBSD 也成立,更可怕的是 Linux 桌面现在已经比较稳定了,FreeBSD 呢?

不是 Linux 是万能的,而是工程师是万能的,而 Linux 充当了中间的桥梁,它对于很多项目是一个定制化非常高的框架。

iOS 不是 FreeBSD,真的不是。从单纯的 syscall 的角度,FreeBSD 和 Linux 是完全一样的产品,谁都没有优越感。或者 Linux 更好一些,因为更容易定制。

我根本就不知道你说的“安全 API ”是个什么鬼东西。

Linux 就是给别人一种多样性让大家自己开发或者选择,而不是官方定调你只能用这个,比起那些老牌或者正统 UNIX,Linux 更像是集市,谁的东西好,谁就卖的好。

我并不知道 YunOS 是基于 FreeBSD 也没有搜到任何证据。不过还是感谢你没提 Kylin。你不用复述一遍关于 GPL 以及大企业的言论,事实是大企业非常讨厌 GPL,但是 Linux 深得民心他们也没有办法。

你还是别加私货了,OpenSolaris 在当时不可能活下来,现在也不可能活下来,未来也不可能活下来。很多人相信 Solaris 神话,但其实 Solaris 是一个更新慢,运行慢,漏洞多,不开放的系统。它有很多很先进的功能,但最后还是没活下来,OpenSolaris 想披一套 GNU 的皮复活,但一个没有经过市场验证又是由一家公司把持的项目,大家并不买账。

重复一下 bottom line: FreeBSD 是一个很好的 OS,Linux 也是一个很好的 OS。他们两个是替代品,各有各的市场和策略,任何一个都不比另一个好。不要用 FreeBSD 就是比 Linux 好,用 FreeBSD 就是对,Linux 就是错这种 “清真主义” 来评价技术。
2017-08-09 15:13:40 +08:00
回复了 noli 创建的主题 奇思妙想 [空想] 改造 FreeBSD 变成移动设备操作系统
@noli 你可以参考 Android,它有数亿的安装量。当然你觉得 Android 是垃圾。

其实下面的话我并不想说,但你用了反问句,那我也要用几个反问句。

为什么用 Linux 就不能实现“多样性和开放性的同时,保证用户数据的安全性”?
为什么不用 jail 就不能实现“多样性和开放性的同时,保证用户数据的安全性”?
为什么从功能机时代就没有一家商业公司使用 FreeBSD 作为移动操作系统?
为什么 Google 和 IBM 甚至微软向 Linux 投入巨大的人力物力?
为什么苹果没有使用 jail 作为 sandbox 的实现?

我还是那句话,我是来讨论技术的,不是来站队的。你没必要攻击我,或者你攻击我 FreeBSD 也不会一夜之间取代 Linux。你说 Linux 短视和狂热,我代表不了 Linux 不去反驳你。但我从你身上看到了 FreeBSD 的狂热。

站在我的角度,sandbox 真不是难的上天的技术,操作系统内核本身也不是难的上天的东西,那么多科学家做了那么多研究,也有那么多的工业系统的实践,就是会让一个技术变得越来越简单。

多研究技术,少谈些主义。你要是有能力用 FreeBSD 做移动系统,那就做一个比 Android 更好的让别人闭嘴,没准到时候 Google 还会投给你几十亿美金。
2017-08-09 13:40:23 +08:00
回复了 noli 创建的主题 奇思妙想 [空想] 改造 FreeBSD 变成移动设备操作系统
@noli 我还是那句话,你用宗教的心态去做技术,就已经没有讨论的必要了。

Linux 和 BSD 是替代品,没有谁对谁错。如果你觉得用 BSD 就是对的,用 Linux 就是错的,请参考这个回复的第一条。

苹果用 BSD 并不是直接把 BSD 拿来用,而是进行了大量的裁剪和定制,用 BSD 可以改,苹果用 Linux 就不会改了?并且据说苹果当年在做 Darwin 的时候优先考虑的是 Linux。Google 的 Linux 内核也是经过自己修改过的,sandbox 这个东西 Linux 本来就有第三方的实现,不是什么难到上天的技术。Mac 用 BSD 最多的其实是 User Space 的东西。两个是完全不一样的内核,如果你说 Darwin 不是完全的 microkernel 我同意,但你也不能说它不是 microkernel。苹果把两个技术融合到一起已经和 BSD 跟 Linux 不同了。

我从来没有说我推崇 Linux,是你以为我在推崇 Linux。当然我的错误在于我以为你想讨论问题。如果你觉得 BSD 好,那你就坚持用好了。

bottom line: 我既没说 BSD 不好,我也没说 Linux 好,我不认为这两个其中任何一个比另一个更好。技术都有自己的方向和市场策略。如果我要做一个通用的消费电子类的产品一定会用 Linux (尤其是以开放为卖点) 。如果我要做一个封闭的产品并且需要保密硬件参数和信息那我很可能会选 BSD。如果我要做一个以安全为主的产品,那我很可能会选择从一个 L4 分支中定制。
2017-08-08 21:43:26 +08:00
回复了 noli 创建的主题 奇思妙想 [空想] 改造 FreeBSD 变成移动设备操作系统
@noli Linux 开源并没有 BSD 早。

1, 沙盒这个东西是工程师开发出来的,没有并不等于不能有,这个东西并不难,苹果的人也不是菜鸡。况且 BSD 在 Darwin 系里只是一个子系统,核心思想还是 Mach 微内核系统,所以理论上在这个上面跑 BSD 还是跑 Linux,本身就没有多大关系(最后提供给 User Space 的都是 POSIX )。你说 iOS 成功是因为 BSD 真是完全不敢苟同。
App 质量和 OS 关系不大,这个根本就不用我讲。你不能说跑在 BSD 系统上的 App 就是好,跑在其它系统上的就是垃圾。App 质量取决于开发这个 App 的团队有多用心。

2, Google 用 Linux 原因很简单,Linux 比 BSD 从开发者数量到工具链等更成熟,这和他们为什么选 Java 一样。Google 的人不喜欢 GPL 但也没办法。

3, 你这是典型 BSD 是最好的,Linux 就是垃圾的宗教心态。另外如果你现在不是是 Linux 内核开发者,那我建议你先成为 Linux 开发者,再提各种魔改 Linux 内核的事儿。另外这里的人,都不是你的典型客户,你也根本讨论不出来结果,那些 “无知” 的客户才是你的典型客户。

4, 我当然分得清什么是锤子什么是钉子。

BSD 系统和 Linux 系统,从市场上看,两者是替代品的关系。做项目选择基础组件,选的都是最合适性价比最高的,要以 “商人” 的心态做技术。

如果你以看待宗教的方式看待技术,那根本就没有继续讨论的意义,因为在你眼里你永远是对的。
2017-08-08 14:13:13 +08:00
回复了 noli 创建的主题 奇思妙想 [空想] 改造 FreeBSD 变成移动设备操作系统
如果你面对的市场是消费电子,FreeBSD 并没有任何优势。你也没办法证明 FreeBSD 的安全性比 Linux 更好。你也没有办法说服厂商为你开发一套新的驱动。移动设备的硬件开放程度远不如 PC,BSD 系在 PC 上表现尚不佳。

iOS 基于 FreeBSD,但 iOS 并不是因为基于 FreeBSD 而成功的。如果 iOS 基于 Linux 也一样会成功。消费电子没有人在乎你用的什么内核。

FreeBSD 比较大的优势是许可证商业化更友好,这也是为啥主机厂商用它,但如果本身就是要做一个开放系统,这一点似乎意义并不大。按照 Google 的态度,他们肯定更倾向于 BSD 系,但显然连他们都没办法搞定厂商和开发者。

现代 Linux 是一个非常先进和完善的内核,面向消费电子,需要你改的地方并不多,你也改不出什么竞争力。

所以不要拿个锤子看什么都是钉子。
C 语言教材和 C 语言标准库最大的错误就是让人觉得 C 有 “字符串” 这个类型,无论 char * 还是 char [] 都不是字符串,它们只是 “字节数组” ,C 标准甚至都没有规定 char 是 signed 还是 unsigned。同时 C 语言也没有规定一个字节是多少 bit。C 语言诞生的时候字符串没有现在这么重要,所以只是简单的 “约定” 了一下用 '\0' 结尾的字节数组作为字符串,并实现了相关函数。现在应该尽量避免用 '\0' 结尾的字节数组来模拟字符串。
2017-05-03 17:47:04 +08:00
回复了 chaleaoch 创建的主题 Python Python 讲并发编程比较不错的文章?有没有?
是用 Python 写,还是用 Python 学?
如果是学的话,可以看一下我写的 “用 Python 理解服务器模型” 上下两篇,欢迎赐教。

https://www.textarea.com/zhicheng/yong-python-lijie-fuwuqi-moxing-shang-566/
https://www.textarea.com/zhicheng/yong-python-lijie-fuwuqi-moxing-xia-596/
2017-03-02 15:25:39 +08:00
回复了 xss 创建的主题 数据库 有没有类似 SQLite 的 NoSQL 数据库?
楼主说的这个叫 Embedded database

https://en.wikipedia.org/wiki/Embedded_database
2017-02-15 20:22:18 +08:00
回复了 Curtain 创建的主题 Python 请教一个字符串截取问题
>>> 'xxx/xxx-102.html'.rpartition('-')[2].partition('.')[0]
'102'
>>> 'xxx/xxx-43.html'.rpartition('-')[2].partition('.')[0]
'43'
>>> ''.rpartition('-')[2].partition('.')[0]
''
>>> '-------------'.rpartition('-')[2].partition('.')[0]
''
>>> '.........'.rpartition('-')[2].partition('.')[0]
''
>>> '-.-.-.-.-.-.'.rpartition('-')[2].partition('.')[0]
''
>>> '-123.-456.-789.-123.-456.-789.'.rpartition('-')[2].partition('.')[0]
'789'
>>> 'laksdjflkajs8923u41--..asdf92u34100---12342.'.rpartition('-')[2].partition('.')[0]
'12342'
2016-10-29 11:36:45 +08:00
回复了 station 创建的主题 C 在学习 C 语言,请推荐书籍及路线
学 C 语言不写代码,看再多的书也没用。推荐你用 select 写个简单可用的 web server ,即使完全不会 C 语言,实现也不会超过一周的时间。进阶阶段你要记熟所有的 Undefined behavior 。
2016-10-20 16:50:44 +08:00
回复了 ansheng 创建的主题 Python 怎么理解 Python 中的 socket 工作原理?
@ansheng socket 就简单了,看我发的文章里第一章就够了。
2016-10-20 16:42:36 +08:00
回复了 ansheng 创建的主题 Python 怎么理解 Python 中的 socket 工作原理?
不知道你说的是 socket 还是网络编程,下面两篇网络编程的文章推荐给你看一下。

用 Python 理解服务器模型(上) https://www.textarea.com/zhicheng/yong-python-lijie-fuwuqi-moxing-shang-566/
用 Python 理解服务器模型(下) https://www.textarea.com/zhicheng/yong-python-lijie-fuwuqi-moxing-xia-596/
2016-10-20 11:18:04 +08:00
回复了 cheny95 创建的主题 MacBook Pro 港版 MBP 因涂层脱落在天才吧的换屏经过
屏幕上擦不掉的键盘印叫涂层脱落?我所有的 Mac 都这样,还以为是正常的。。。
1 ... 3  4  5  6  7  8  9  10  11  12 ... 58  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5314 人在线   最高记录 6543   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 40ms · UTC 07:13 · PVG 15:13 · LAX 00:13 · JFK 03:13
Developed with CodeLauncher
♥ Do have faith in what you're doing.