V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  mhycy  ›  全部回复第 86 页 / 共 190 页
回复总数  3784
1 ... 82  83  84  85  86  87  88  89  90  91 ... 190  
2016-03-28 00:18:13 +08:00
回复了 facat 创建的主题 问与答 家用光纤应该用多少芯的?单模还是多模?
补充: 18 楼拼写错误, SPF->SFP ( Small form-factor pluggable transceiver ,小封装可插拔收发器)
2016-03-27 23:22:39 +08:00
回复了 facat 创建的主题 问与答 家用光纤应该用多少芯的?单模还是多模?
@yxc
无线网络是共享信道,千兆都不到(或者难以达到)
现在已经开始推千兆光网了,未来 20 年 100M 入户这个就有点绝对了
六类网线在千兆网络中意义不大,万兆网络又不可能用六类,多出的钱不如铺一组光纤来得实在

铺光纤不一定是全光网络,点对点光网也是很有用的,带个盘柜之类的,以后的发展谁能预料呢
2016-03-27 22:29:51 +08:00
回复了 facat 创建的主题 问与答 家用光纤应该用多少芯的?单模还是多模?
光纤只有单模 /多模区分,其中某些特性依据光纤标准不同有所区别
例如:线径、容许弯曲度、色散、光衰等。。。
(具体标准就是楼上说的各种类型)

一般设备光纤部分是使用 SPF 插槽,允许依据实际情况选择合适的光电转换器
SPF 的光电转换器其实就是一个激光器配上适应的外围电路,把电信号转换成光信号
光纤本身的几芯是说一根线里面光纤的数目,一般布线会考虑一组使用再加一组备份
如果是单模网络,自然就是多芯的单模光纤,多模网络同样。
(也可以用单芯线,但是中间断了就必须重新布线了)

现在而言多模的光电转换部分价格较为低廉,但是线材较贵
单模的光电转换较贵,但是线材价格低廉

一路网络需要多少线芯是依据网络而定的,例如现在的家用光纤宽带使用的是便于布线的单纤 PON
下行是一个波长,上行是另一个波长,所以能在单纤内传输不怕干扰
这种光纤通常使用单模光纤,缺点是这种光模块价格较高(相对)
(单模原因是一般这种使用形式都是远距离传输,只有单模能符合要求)

另一种就是上行下行分开的双线形式,自然需要两条光纤
一般内网布线都是这种居多,使用的是 LC 接头(一个 SC 接头的宽度能容量两条纤)
二手的光纤网卡也是这种类型居多(那种光模块固定在板上的光纤卡)
通常使用多模光纤(毕竟机房内部)

综上,考虑以后升级,上一组便宜的多芯单模光纤,接头做 FC (拧螺纹那种)( 4 芯是基础)
以后接机器的时候用跳线转接(淘宝一堆定制厂商,便宜实惠)(记得编号标好线序)
然后在打算短期内搞个廉价光网的一段搞个多模( 4 芯)带宽大概是 4G 一组
(万兆要价格降下来得等千兆家用普及,那时候模块肯定便宜,网卡也会跟着降价)
2016-03-26 12:19:53 +08:00
回复了 ubear1991 创建的主题 问与答 关于套接字的疑问
@DuckJK
网卡收到的数据通过中断的方式通知内核处理,数据的传递一般是 DMA
(不可能 CPU 直接读不然负载太高了)
( DMA 直接拷贝数据到系统内存,当然也有可能是网卡上的缓冲区,这个说不准)
(通知或许除了中断还有别的处理方式,这个不了解,因为频繁的中断会非常耗费 CPU 资源)
所有的 Socket 都是内核分配管理的,网卡在通知内核收到包以后,内核就去获取这一个包然后解析
(可以理解成中间有个缓冲区,内核从缓冲区取数据)
内核处理包的过程会验证包是否合法,然后路由到合适的地方
(这个路由包含多种意思,一个是数据包的路由另一个是转发到合适的处理程序[的缓冲区])
如果是 TCP ,底层的会进行拥塞控制处理(组包、验证、依据情况发回 ACK 信息各种各样)
(驱动能在拥塞控制之前接管所有 TCP 处理,这也是锐速的原理)
组成合法的流数据以后再发往给上层应用的缓冲区,通知上层应用


“如果 zlib 支持流解压缩,那就是跟压缩数据大小没关系,只要是合法压缩数据,都可以解压缩,只是从 readbuffer 到 zlib 的 buffer ,是不是可以这么理解。 ”
就是这么回事,我并不知道 zlib 是否支持流解压,也没查。。这个依据实际情况判断
(推广到别的编码方式也一样)

“ reponse.content 在未提供长度的情况下阻塞到链接断开,这个链接断开是跟 read 的长度有关系么?还是到什么样的情况下链接断开?谢谢啦”
这个原因是 HTTP 头未提供数据长度的情况下客户端并不知道数据有多大
只能阻塞到 TCP 链路主动断开才能获知已经收完数据
(如果有防火墙的地方,这个数据很可能是损坏的,因为防火墙有可能提前掐断这个链路)
2016-03-26 00:28:14 +08:00
回复了 ubear1991 创建的主题 问与答 关于套接字的疑问
@DuckJK
zlib 如果支持流解压,那么你只是把数据从一个缓冲区搬到另一个缓冲区而已
如果 zlib 不支持流解压,那么你提供给 zlib 的必须是一个合法的压缩数据

response.content 的动作应该会在 HTTP 头有提供长度的情况下阻塞缓存完整数据
在未提供长度的情况下阻塞到链接断开。
如果是解包时候的处理,同上一段
2016-03-25 21:26:46 +08:00
回复了 eote 创建的主题 Python 对面试题的答案不服
“用 Python 实现只保留 list 里个位数为 2 的数。”
希望你的问题没写错
2016-03-25 21:22:45 +08:00
回复了 ubear1991 创建的主题 问与答 关于套接字的疑问
@current
针对 23 楼的回复,网卡收包以后是先通知内核,内核处理完了再通知应用层。
应用层收到的 TCP 数据不一定可靠,但绝对是合法数据。
(不可靠的原因是校验码碰撞)
2016-03-25 12:54:32 +08:00
回复了 ubear1991 创建的主题 问与答 关于套接字的疑问
<论底层基础的重要性>

首先, Accept 这个过程之前必定有一次 bind 的操作
这个操作是通知内核,进程要绑定某个端口,以后进程会使用这个端口进行通讯
然后在 listen 的时候开启一个队列, accept 只是读取这个队列。
如果是阻塞状态,那么队列没数据自然就等待在那了。
如果有新连接进入,那么内核会进行预处理
(判断是否合法,如果合法就分配资源生成一个 socket ,扔到队列)
自然而然的,队列有数据了,就会通知上层的应用进行调度。

(至于这个队列在底层的原理以及 CPU 在等待的时候刚啥,这个涉及到硬件层面的调度,例如中断。。)

而一个链路的唯一标记是包含地址在内的四元组( local_ip, local_port, remote_ip, remote_port )
bind 的过程只是定义了本地的 local_ip, local_port 。
远端而来的 ip/端口是不固定的
2016-03-25 12:43:37 +08:00
回复了 boydfd 创建的主题 程序员 代码有重复不应该想尽办法去除重复吗?
@boydfd
只是查询语句不同而且差别只在某个标记位的话,可以抽出
2016-03-25 12:12:11 +08:00
回复了 boydfd 创建的主题 程序员 代码有重复不应该想尽办法去除重复吗?
具体情况具体分析,这个只有当事人理解
注意重用代码的通用程度,如果三个函数都极其通用,那么这部分通用代码可以抽出来
不要在通用函数内部做三个事情的分别处理,如果这么做,这叫增加复杂度

另外楼上的继承其实不能乱用,不是重复代码多就一定要用继承的模式
如果编写的架构不适用于 OOP 思维,强行使用也是会增加复杂度的

剩下就自己判断吧
没贴代码我们不好判断
2016-03-25 11:33:39 +08:00
回复了 mewkeisa 创建的主题 Python 真正从 0 开始学 Python 的感觉
@1stlulu
考驾照真的要考。。。。
2016-03-24 13:31:04 +08:00
回复了 mewkeisa 创建的主题 Python 真正从 0 开始学 Python 的感觉
@DuckJK
你这是有基础的学习方式了。
没基础的用这个方式学习只能越学越糊涂。

他们也许会在基本原理出不来,也有可能会在 C 里面出不来,这是正常的也是学习过程中必须要经历的。
一旦理解了,以后的学习就有知识基础了。不然一直在应用层上学习,对于一些细节的把握会不到位。
(举个例子:传值、传引用,这个概念没有基础的话不会理解到底层的区别,更有可能看不懂就略过去了。)

PS. 有些初学者根本不会从身边的细节着手去理解一些事。
2016-03-24 13:24:25 +08:00
回复了 mewkeisa 创建的主题 Python 真正从 0 开始学 Python 的感觉
@mewkeisa
遇到不懂的关键字就搜,搜索的时候往底层挖。
自然而然的就会学习到足够多的碎片知识。
碎片知识足够多了就能形成知识框架了。

当然,书籍的话计算机原理是必不可少必须先看的。
虽然概念可能会有点老,但是原理相通。
2016-03-24 13:02:51 +08:00
回复了 mewkeisa 创建的主题 Python 真正从 0 开始学 Python 的感觉
@DuckJK
当面对一个什么都不懂只懂开机玩电脑的初学者,这条路能减少以后走错路的机会。
至于别的回复,在基础不牢的时候搞应用层以后不懂的东西只能是越来越多。

学习技术,首先搞懂原理,只要原理懂了,以后学习就简单了。
PS. 不要假定一个初学者的基础知识。。。遇上就懂了。
2016-03-24 12:58:00 +08:00
回复了 moonfunjohn 创建的主题 酷工作 [广州]次元社诚招 iOS/Android/服务器端 工程师
@moonfunjohn
表示信息不全没看出严谨在哪。
2016-03-24 11:47:06 +08:00
回复了 mewkeisa 创建的主题 Python 真正从 0 开始学 Python 的感觉
先看计算机原理,再看 C ,不求全懂但求概念清晰。
最后再看 Python ,遇见搞不懂的词就去查,查的过程中发散去找相关的信息。
过程中积累的就是你的基础知识。

至于算法、结构、面向对象之类那都是入门以后的事了。
2016-03-24 11:31:31 +08:00
回复了 moonfunjohn 创建的主题 酷工作 [广州]次元社诚招 iOS/Android/服务器端 工程师
刚刚下了个 APP 看了下
感觉,招聘广告和 APP 风格对不上啊
另外:为何不注册啥都看不成?
需求呢?
2016-03-23 17:12:13 +08:00
回复了 baox2 创建的主题 问与答 现在有客户要做二维码防伪溯源,想问一下有什么好推荐的?
很好奇二维码本身如何防伪,拷贝一个贴到假货上并不难。
溯源这个需求可以理解,和条码一个用途。但是防伪真想不出用什么方式防伪。
2016-03-23 13:05:34 +08:00
回复了 facat 创建的主题 问与答 请问有没有靠谱的网店买安普网线?
@eirk2004
3 次标准太低了,当年在机房的时候折了 10 分钟都没断后来是剪断的。
1 ... 82  83  84  85  86  87  88  89  90  91 ... 190  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3018 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 30ms · UTC 13:26 · PVG 21:26 · LAX 06:26 · JFK 09:26
Developed with CodeLauncher
♥ Do have faith in what you're doing.