车子的个人博客

以自己喜欢的方式去度过一生


  • 首页

  • 标签

  • 分类

  • 归档

计算机网络读书笔记6

发表于 2019-07-07 | 分类于 读书笔记 , 计算机网络 |

计算机网络读书笔记6

链路层和局域网

  • 链路层提供的服务

    • 成帧.在每个网络层数据报经链路层传送前,几乎所有的链路层协议都要将其用链路层帧封装起来.
    • 链路接入.媒体访问控制(MAC)协议规定了帧在链路上的传输规则.
    • 可靠交付.当链路层协议提供可靠交付服务时,它保证无差错的经链路层移动每个网络层数据报.链路层的可靠交付服务通常是通过确认和重传取得的.
    • 差错检测和纠正.链路层的差错纠正,接收方不进能检测帧中出现的比特差错,而且能够准确地明确帧中的差错出现的位置(并因此纠正这些差错).
  • 差错检测的三种技术:奇偶校验/检验和方法/循环冗余检测

  • 奇偶校验:发送的信息有d个比特,发送方附加一个附加比特,使得这这d+1比特中1的总数总是偶(奇)数

  • 二维奇偶校验,D中的d个比特被换分成了i行j列。对每行每类计算就只。产生的i+j+1奇偶比特构成了链路层帧的差错校验比特。

  • 如果d比特中才出现了单个的比特差错,二维奇偶校验包含比特值改变的行和列的校验值都会出现差错。因此街搜房不但可以检测到出现单个比特差错的事实,还可以利用存在奇偶校验差错的列和行的索引来实际识别发生差错的比特并纠正它。

  • 接收方监测和纠正差错的能力成为前向纠错(FEC).这项技术通常被用于音频CD这样的音频存储和回放设备中。

  • FEC避免了不得不等待的往返时延,而这些时延是发送方收到NAK分组冰箱接收方重传分组所需要的,这对实时网络应用或者具有长传播时延的链路可能是一种非常重要的有点。

  • 检测和 方法:d比特数据被作为一个k比特整数的序列处理。一个简单的校验和方法就是将这k比特整数加起来,并用得到的和作为差错检验比特。因特网校验和就是基于这种方法,即数据的字节作为16比特的整数对待并求和。

  • 循环冗余检测(CRC):发送方和接收方首先必须协商一个r+1比特模式,成为生成多项式,我们将其表示为G。G的最高有效位比特(最左边)是1。对于一个给定的数据段D,发送方要选择r个附加比特R,并将它们附加到D上,使得得到的d+r比特模式(被解释为一种二进制数)用模2算术恰好能被G整除(没有余数)。接收方用G去除接收到的d+r比特。如果余数为非0,接收方就知道出现了差错,否则认为数据正确。

  • 两种网络链路类型:

    • 点对点链路:由链路一段的单个发送方和链路另一端的单个接收方组成。
    • 广播链路:它能让多个发送方和接收节点都连接相同的、单一的、共享的广播信道上。
  • 多路访问协议,即节点通过这些协议来规范他们在共享的广播信道上的行为。

  • 多路访问协议的三种类型:信道划分协议、随机接入协议、轮流协议。

  • 信道划分协议

    • 时分多路复用(TDM)和频分多路复用(FDM)是两种能够用于在所有共享信道节点之间划分广播信道贷款的技术。TDM和FDM有相同的优缺点。它避免了碰撞,在N个节点之间公平的划分了带宽;但是闲着了一个节点只能使用R/N的带宽,及时它是唯一一个有分组要发送的节点时。
    • 码分多址(CDMA):CDMA对每个节点分配一种不同的编码。然后每个节点用它唯一的编码来对他发送的数据进行编码。不同的节点能够同时传输,并且它们各自相应的接收方仍然能够正确接收发送方编码的数据比特,而不在乎其他节点的干扰传输。
  • 随机接入协议。

    在随机接入协议中,一个传输节点总是以信道的全部速率(即R bps)进行发送。当有碰撞时,涉及碰撞的每个节点反复的重发它的帧(也就是分组),到该帧无碰撞地通过为止。但是当一个节点经历一次碰撞时,它不必立刻重发该帧。相反,它在重发该帧之前等待一个随机时延。

    • 时隙ALOHA

      这个协议的优点在于,当只有一个节点在传输的时候,它可以独占信道,即R bps。缺点为,它的最大效率为1/e=0.37,当有大量节点有很多帧要传输时,则最多仅有37%的时隙在做有用的工作,即 0.37R bps。

    • 载波侦听多路访问协议(CSMA)与具有碰撞检测的CSMA(CSMA/CD)

      以太网是一种流行并广泛部署的CSMA协议。

      两个协议的规则如下:

      • 说话之前先听。即载波侦听,一个节点在传输之前先听信道。当来自另一个节点的帧正在传输时,节点等待知道检测到一段时间内没有传输再开始传输。
      • 如果与他人同时说话,停止说话。即碰撞检测,当一个节点在传输时一直在侦听此信道。如果它检测到另一个节点正在传输,它就停止传输,等待一个随机时间(采用二进制指数后退)后再执行载波监听。
  • 轮流协议

    • 轮询协议。轮询协议要求这些节点之一被制定为主节点。主节点以循环的方式轮询每个节点。
    • 令牌传递协议。这种协议中没有主节点。一个成为令牌(token)的小德特殊帧在节点之间以某种固定的次序进行交换。
  • 链路层地址:事实上,并不是主机或者路由器具有链路层地址,而是它们的适配器(即网络接口)具有链路层地址。这个地址被称为LAN地址、物理地址、或MAC地址。特别的,链路层交换机并不具有 与它们的接口(这些接口与主机和路由器相连的)相关联的 链路层地址。链路层交换机的任务是主机和路由器之间承载数据报,交换机透明地执行该项任务,主机或路由器不必明确地将帧寻址到其间的交换机。

  • IEEE分配2^24个MAC地址的方式是:固定一个MAC地址的钱24比特,让公司自己为每个适配器生成后24比特的唯一组合。

  • MAC广播地址为48个连续的1,16进制表示法为FF-FF-FF-FF-FF-FF。

  • 地址解析协议(ARP):将网络地址(如IP)和链路层地址(MAC地址)进行转换。

  • DNS为互联网中任何地方的主机解析主机名,而ARP只为在同一子网上的主机和路由器接口解析IP地址。

  • 每台主机或路由器在其内存中具有一个ARP表,这张表包含IP地址到MAC地址的映射关系。

  • 查询ARP保卫是在广播帧中发送,而相应ARP报文是在一个标准帧中发送;ARP是即插即用的,一个ARP表是自动建立的,不需要系统管理员来配置,如果某主机与子网断开,它的表项最终会从留在子网的节点中删除。

  • ARP可以看成是跨越链路层和网络层边界两边的协议。

  • 以太网成功的原因:

    • 以太网是第一个广泛部署的高速局域网。
    • 相较于其他协议(令牌环、FDDI、ATM)简单。
    • 产生与其他协议相同或者更高的数据速率。
    • 以太网硬件已经成为一个普通商品,极其便宜。
  • 集线器(hub)是一种物理层设备,它作用于各个比特而不是帧。当表示一个0后者一个1的比特到达一个接口时集线器只是重新生成这个比特,将其能量强度放大,并将该比特向其他所有接口传输出去。

  • 21世纪初,集线器被交换机取代。交换机仅运行于第二层。

  • 以太网帧结构:

    • 数据字段(46~1500字节):这个字段承载了IP数据报。以太网的最大传输单元(MTU)是1500字节。这意味着IP数据报不能超过1500字节,则主机必须将数据报分片。数据字段的最小长度为46字节。这意味着如果IP数据报小鱼46字节,数据报就被填充到46自己。
    • 目的地址(6字节):这个字段包含目的适配器的MAC地址。当适配器接收到一个以太网帧,如果目的地址是本身的MAC地址或者广播地址,它将该帧的数据字段的内容传递给网络层,否则丢弃。
    • 源地址(6字节):这个字段包含了传输该帧到局域网上的适配器的MAC地址。
    • 类型字段(2字节):类型字段允许以太网复用多种网络层协议。
    • CRC(4字节)。CRC(循环冗余检测)字段的目的是使得接收适配器检测帧中是否引入了差错。
    • 前同步码(8字节)。以太网帧以一个8字节的前同步码字段开始。该前同步码的前7个字节值都是10101010;最后一个字节是10101011。前同步码的前7个字节用于唤醒接收适配器,并且将它们的时钟与发送方的时钟同步。
  • 所有的以太网技术都向网络层提供无连接服务。

  • 以太网技术都想网络层提供不可靠服务。

  • 经过30的发展,在现行的基于交换机的以太局域网中,交换机协调传输,不会有碰撞,因此没有必要使用MAC协议了(CSMA/CD协议)。但是以太网的帧格式保留下来。

  • 交换机对于子网中的主机和路由器是透明地。

  • 交换机输出接口设有缓存。

  • 交换机转发和过滤

    • 过滤:决定一个帧应该转发到某个接口还是应当将其丢弃的交换机功能
    • 转发。决定一个帧应该被导向 哪个接口,并把该帧移动到那些接口的交换机功能。
  • 交换机表。交换机的过滤和转发是借助于交换机表完成的。交换机表包含:1.一个MAC地址;2.通向该MAC地址的交换机接口;3.表项放置在表中的时间。

  • 交换机为自学习的、即插即用设备。

    • 交换机表初始为空。
    • 对于每个接口接收的每个入帧,该交换机在其表中存储:1.在该帧源地址字段中的MAC地址;2.该帧到达接口;3.当前时间。
    • 如果在一段时间(称为老化期(aging time))后,交换机没有接收到以该地址作为源地址的帧,就在表中删除这个地址。
  • 链路层交换机的性质

    • 消除碰撞。交换机缓存帧并且决不会在网段上同时传输一个帧
    • 异质的链路。交换机将链路彼此隔离,因此局域网中的不同链路能够以不同的速率运行并且能够在不同的媒体上运行。
    • 管理。除了提供强化的安全性,交换机也易于进行网络管理。
  • 交换机和路由器的比较

    • 交换机的优点
      • 交换机是即插即用的
      • 交换机能够具有相对高的分组过滤和转发。(交换机只需要处理到第二层的帧,路由器必须处理高至第三次的数据报)
    • 交换机的缺点
      • 为了防止广播帧循环,交换网络的活跃拓扑限制为一棵生成树。
      • 一个大型网络将要求主机和路由器中有大的ARP表,这将生成可观的ARP流量和处理量。
      • 交换机对于广播风暴不提供任何保护措施,可能使得整个以太网崩溃。
    • 路由器的优点:
      • 路由器没有生成树限制,允许以丰富的拓扑结构构建因特网。
      • 路由器对第二层的广播风暴提供防火墙保护
    • 路由器的缺点

      • 非即插即用的,需要人为配置IP地址。
      • 路哟器对每个分组的处理时间更长。

      通常,由几百台主机组成的小网络通常有几个局域网网段。对于这些小网络,交换机就足够了。几千台主机组成的更大的网络,路由器能够提供更健壮的流量隔离方式和对广播风暴的控制。

  • 虚拟局域网(Virtula Local Network,VLAN):支持VLAN的交换机允许经过一个单一的物理局域网基础设施定义多个虚拟局域网。

  • 多协议标签交换(MPLS)目标:对于基于固定长度的标签和虚电路技术,在不放弃基于目的地IP数据报转发的基础设施的前提下,当可能时通过选择性地表示数据报并允许路由器基于固定长度的标签(而不是目的地IP地址)转发数据报来增强其功能。

  • 多协议标签交换可以改善IP路由器的转发速度。

  • 一个MPLS加强帧仅能在两个均为MPLS使能的路由器之间发送。

  • 一个MPLS路由器通常被称作标签交换路由器,因为它功过在其转发表中查找MPLS标签,然后立即将数据报传递给适当的输出接口赚翻MPLS帧。因此MPLS使能的路由器不需要提取目的IP地址和在转发表中执行最长前缀匹配的查找。

  • MPLS能够并且已经被用于实现所谓的虚拟专用网(VPN)

  • WEB页面请求历程

    假设Bob携带便携机以一根以太网电缆连接到学校的以太网,并且下载一个web页面(www.google.com),经历如下过程。

    网络图

    • 准备DHCP、UDP、IP和以太网。

      • Bob的便携机生成一个DHCP请求报文(应用层协议),该报文被放入了包含目的端口67(DHCP服务器)和源端口68(DHCP客户)的UDP报文段(运输层),该UDP报文段被放入了具有广播IP目的地址(255.255.255.255)和源IP地址0.0.0.0(当前IP待分配)的IP数据报中(网络层)。
      • 包含DHCP请求报文的IP数据报被放入以太网帧中(链路层)。该以太网帧具有目的MAC地址FF:FF:FF:FF:FF:FF(广播地址)和源MAC地址(Bob的便携机的MAC地址,00:16:D3:23:68:8A)
      • 包含DHCP请求的广播以太帧是第一个由Bob便携机发送到以太网交换机的帧,该交换机在所有出端口广播入帧,包括连接到路由器的端口。
      • 路由器在它的具有MAC地址00:22:6B:45:1F:1B的接口接收到包含DHCP请求的广播以太帧,并从该帧中提取IP数据报。该数据报的广播IP目的地址指示了IP数据报应由该节点的高层协议处理,所以IP数据报的载荷(UDP报文段)被分解上达UDP。DHCP请求报文被从UDP报文段抽取出来。DCHP服务器有了DHCP请求报文
      • DHCP服务器决定分配68.86.2.101给Bob的便携机。DHCP服务器生成DCHP ACH报文,该报文包括:分配给Bob的IP地址(68.86.2.101)、DNC服务器的IP地址(68.87.71.226)、默认网关路由器的IP地址(68.85.2.1)和子网块(68.85.2.0/24)(等价于子网掩码)。该报文被放入一个UDP报文段中,UDP报文段被放入一个IP数据报中,IP数据报被放入一个以太网帧中。这个以太网帧的源MAP地址是路由器连接到归属网络时的接口MAC地址(00:22:6B:45:1F:1B),目的地址是Bob便携机的MAC地址(00:16:D3:23:68:8A).
    • 包含DHCP ACK的以太网帧由路由器发送给交换机。因为交换机是自学习的,交换机将该帧转发给通向Bob便携机的输出端口。

      • Bob便携机接收到包含DHCP ACK的以太网帧,从该帧中抽取IP数据报,从IP数据报中抽取UDP报文段,从UDP报文段中抽取DHCP ACK报文。Bob的DHCP客户端记录下它的IP地址和他的DNS服务器的IP地址,并在其IP转发表中安装默认网关的地址。此时,Bob便携机已经从初始化好了它的网络组建,并开始准备处理Web网页的获取。
    • 准备DNS和ARP

      Bob在讲www.google.com键入web浏览器,开启一连串时间,最终谷歌的页面显示在web浏览器上。

      • Bob便携机上单操作系统生成一个DNS查询报文,将字符串www.google.com放入DNS报文的问题段中。该报文被放置在一个具有53号(DNS服务器)目的端口的UDP报文段中。该报文段则被放入具有IP目的地址68.87.71.226(DHCP ACK中的DNS服务器IP地址)和源地址68.86.2.101(便携机IP)的IP数据报中。
      • Bob便携机将包含DNS请求报文的数据报放入一个以太网帧中,准备发送给(链路层)Bob学校的路由器。但是,当前只知道学校网管路由器的IP地址,MAC地址未知。所以需要进行ARP查询。
      • Bob便携机生成一个具有目的地址68.85.2.1(默认网关)的ARP查询报文,将该报文放置在一个具有广播目的地址(FF:FF:FF:FF:FF:FF)的以太网帧中,向交换机发送该帧,叫环境将该帧交付给所有设备。
      • 网关路由器在与学校连接的接口上接收到包含该ARP报文的帧,发现其中的目标地址匹配其接口的IP地址。网关路由器准备一个ARP回答,指示它的MAC地址为00:22:6B:45:1F:1B对应IP 68.85.2.1。它将该ARP回答放入以太网帧中,并将目的地址设置为Bob便携机,向交换机发送该帧,交换机将该帧交付给Bob便携机。
      • Bob便携机接收到包含ARP回答报文的帧之后,从该帧中抽取网关的MAC地址。
      • Bob将包含DNS查询的以太网帧发送给交换机,并由交换机交付给路由器。该帧中的IP数据报的目的地址是68.87.71.226(DNS服务器),而该帧的目的地址是00:22:6B:45:1F:1B(网关路由器)。
    • 仍在准备:域内路由选择到DNS服务器。

      • 学校的网关路由器从该帧中抽取DNS查询报文的IP数据报,获取其目的地址68.87.71.226(DNS服务器)。路由器通过查询自己的转发表,决定该数据报应当发送到图中Comcast网络的最左边路由器。IP数据被放置到链路层帧中,该链路连接学校路由器和Comcast最左边路由器,发送给Comcast最左边的路由器。
      • Comcast接收到该帧,并提取IP数据报,检查数据报的目的地址(DNS服务器地址),根据转发表确定存储接口,经过该接口向DNS服务器转发数据报。
      • 最终DNS查询的IP数据报到达了DNS服务器。DNS服务器抽取出DNS查询报文,在它的DNS数据库中查找包含www.google.com的IP地址的DNS源记录。这个缓存记录源自google.com的权威DNS服务器。DNS服务器生成一个DNS回答报文,将DNS回答报文放入UDP报文段中,将报文段放入寻址到Bob便携机的IP数据报中,将该数据报通过Comcast网络反向转发到学校的路由器中,再通过以太网交换机到Bob便携机
      • Bob便携机从DNS回答报文中臭气www.google.com的IP地址。
    • Web客户-服务器交互:TCP和HTTP

      • Bob便携机获取www.google.com的IP地址之后,就能够生成TCP套接字,用于向www.google.com发送HTTP GET报文。在Bob便携机生成TCP套接字时,它的TCP必须先与www.google.com的TCP执行三次握手。Bob便携机首先生成一个具有目的端口80(针对HTTP)的TCP SYN报文段,将该报文的放置在具有目的IP地址64.233.169.105(www.google.com)的IP数据报中,将该数据报放在MAC地址为学校网关路由器的地址的帧中,向交换机发送该帧。
      • 在学校网络、Comcast网络和谷歌网络中的路由器朝着www.google.com转发把汗TCP SYN的数据报,使用每台路由器中的转发表。
      • 最终包含TCP SYN的数据报到达www.google.com。从数据报中抽取TCP SYN报文并分解到与端口80相联系的欢迎套接字。产生一个TCP SYNACK报文段,将其放入想Bob便携机寻址的一个数据报中,最后放入链路层帧中,该链路适合将www.google.com连接到第一跳路由器。
      • 包含TCP SYNACK报文段的数据报通过谷歌、Comcast和学校网络,最终到达Bob便携机的以太网卡。数据报在操作系统分解,生成TCP套接字,进入连接状态。
      • Bob的浏览器生成包含要获取URL的HTTP GET报文。HTTP GET报文写入套接字,其中GET报文生成一个TCP报文段的载荷。该TCP报文段被放置在一个数据报中,并交付给www.google.com。
      • 在ww.google.com的HTTP服务器从TCP套接字中读取HTTP GET报文,生成一个HTTP相应报文,将请求的Web页内容放入HTTP相应体重,并将报文发送进TCP套接字中。
      • 包含HTTP回答报文的数据报通过谷歌、Comcast和学校网络抓饭,到达Bob便携机。Bob的浏览器从套接字中读取HTTP相应,从HTTP相应中抽取Web页面的HTML,最终显示了Web页面。

2019年中复盘

发表于 2019-06-30 | 分类于 计划与复盘 , 2019 |

2019年中复盘

关于年初挖坑的填补状况

关于硬性坑

  • 减肥(目标调整:75kg)

    年后到现在整体体重从105kg->85kg,整体来说还比较满意.7月底的目标是80kg。今年的目标75,能到70就更完美了。上半年其实并没有太大的运动量,保持的只有每天的微信步数在15000步左右以及节食.暂时先保持现在的节奏,如果进入平台期的话可以试着加大运动量或者进健身房之类的操作.10月底如果体重距离目标很大的话,就加大运动量.

  • 作息规律,晚上23点以前必须关灯睡觉.(下半年目标量化:120天)

    二月份三月份的作息还比较正常.四五月到现在明显作息又回到了之前.用六月份和七月份两个月纠正过来.

  • 需要跟父母敞开心扉畅谈一次,把彼此间的事情说明白了.

    跟爹妈谈了很多回,初步已经答应了少在我买房之类的事情上操心了.不过惯性估计还在,需要平常多谈谈.

  • 给父母养老钱.(目标不变:1000/月) 跟父母多联系/多回家几次(量化:下半年回两趟家)

    电话联系比较少/回家给母亲过了60大寿,母亲还是很开心的.父母的养老钱放在了且慢里单独开了一个账号,初步打算货币基金:债券(50:50)的比例,因为钱没有多少,赔了我就给他们填上窟窿,赚了就给他们.平时回家的时候分批给他们.

  • 捣鼓自己的公众号,不用去写程序,只做简单的信息流,写写文章之类的.(量化:3篇有价值的文章)

    没有过多的去捣鼓。主要是输出太少,需要把零散的东西整理一下。琐碎的想法应该在博客上维护。然后进行整合,搞到公众号上。

  • 每周回来看一次这个2019的挖坑,督促自己来完成工作.(最完美执行的计划)(不变)
  • 买个电竞椅.(伪需求,已经放弃)
  • 金三银四面试一下,不跳槽,跳槽在交了保险以后再作考虑.

    接了多个面试。有空需要整理下面试的注意事项。

  • 尝试构建知识体系,不一定要构建完成,但是一定要有构建的过程.
  • 尝试构建自己的人生方向或者职业方向.不一定要清晰,可以有多个方向,多条描述,但是一定要有这个思考的过程.
  • 尝试构建自己的planB.

关于软性坑

软坑作为对硬坑的填充,都是有空时可以去做的事情.

  • 身体带动思想的方法只坚持了一部分时间.还没有养成习惯.
  • 工作状态/游戏消费/游戏时间/学习相比18年都有了很大的改观,但是依然不到理想的程度.希望下半年能够再接再厉.
  • blog整理的大都是记录和读书笔记。年初的5篇blog要求变更一下。每周至少有一篇blog,复盘也好,读书笔记也好,记录也好,总之周必须有迹可循,在blog上记录下来。然后争取能够细心的整理3-5篇精华的东西,同步更新到公众号上.
  • 技术类书籍上半年读完了图解算法、敏捷开发读完了。在读计算机网络和clean code.计划下半年读高性能mysql、redis相关、微服务相关,还有剩余的话考虑中间件相关的知识补充。因为上半年看的敏捷开发、计算机网络、cleancode都是偏基础和工作流相关的,偏虚的一些知识。完成以后下半年把学习重点放到具体一点的技术上去。
  • 年初相关理财的知识没到,定了一个攒5w块钱的目标.这个目标更改一下。今年的目标是存够36000的紧急备用金。管理理财的目标下面需要详细整理下。
  • 春夏的衣服都是去店里买的.下半年继续保持.
  • 数据结构和算法的问题推后一下,是重要不紧急的知识点。
  • 阿里云的服务器先养着吧.目前没有能跑上去的项目.
  • 多参加一些非工作相关的社交活动.
  • 看一下理财相关的书,第一本是富爸爸穷爸爸.
  • 还有一些目标管理/精力管理/人生管理的一些知识,暂且记下.如果在日常的互联网信息获取中获取到碎片,就记录下来.没有机会就放在这,今年时间不够,就明年来.
  • 涨薪也好.跳槽也要,下半年把自己月薪提升到17K.并且,是在稳定的大前提下.
  • 周末去大学看看/去参见点同城活动.

心情

上半年的主要心情是焦虑,其次是成就感.

焦虑主要来自于自身的层次太低,达不到心中满意的程度.这期间又涉及到跟其他人作比较,加重了焦虑的问题.另外就是自制力的不足导致预期计划没完成,会带来挫败感和焦虑.
焦虑的产生主要原因可以归结为”目标未达产生的落差”以及”比较”.因为目标在这里已经挖坑出来,所以克服焦虑的方法,即为填上这些软硬坑,不去过多关心的自己内心的/环境的/朋友圈的噪音.去做,打断自己想的习惯.

要理解自己并不是一个牛逼的人,只是一个普通的,甚至在很多方面因为偏执还不如普通人.所以17/18两年荒废了两年时间,不及别人是肯定的.所有人都在进步,不要奢望一年半载的改变就能够把这方面的差距补上,在这个补偿的过程中,一方面保持适当焦虑带给自己的急迫感,一方面注意控制不要让焦虑带坏心情,消耗太多心力精力.

下半年要在降低焦虑方面做一些努力.

成就感主要来自于减肥和部分的自我管理.体重的明显减少/自我规则的明确和积累/知识的积累都能带来成就感.

理财

去年年末的时候开始接触一些基金投资,今年年初开始接触一些理财相关的管理知识.通过且慢和一些公众号,大概了解了一些个人理财相关的东西.

所以年初的简单的存3w或者5w的目标随即变得没有意义.

因为理财相关的知识都是碎片化获得的,没有系统性.本来是想在专业知识储备满意以后,再去系统的接触一些理财的知识.但是之前玩财富游戏的时候,感觉理财的知识并不能往后放.可以按照重要级放在专业知识之后,但是不能简单的完全不接触.

所以,软性坑里的理财知识,相较于专业知识要低一级,相比其他的知识可能要高一级.

另外重新规整一下今年的理财目标:

  • 备用金36000~40000(6000*6)

    这部分可以分散到余额宝,且慢货币三佳或者招行朝朝盈里.一定是货币基金的配置.在财务方面,这部分钱是放在第一位的,下半年主要的财务目标就是保存这部分钱.

  • 自己养老金:1w

    这部分当前是4k,每个月1k,年底按计划正好是1w.已经在且慢单独开了账户,这部分按照货:股50:50~25:75,每年的七月份和一月份做定期再平衡.这是一个长期账号,作为退休后对养老保险的补充,非万不得已不从这个账户中取钱.可以激进一些.

  • 保险账户:7k

    这部分暂且是为了应付每年五月份的保险.今年六月份刚开,目前1k,每月存入1k,这部分钱只能用于保险.以后会随着保险配置的补充而增加每月份额.这部分钱属于定期理财的钱,暂时打算购入且慢的”稳稳地幸福”策略,追求稳定的/略大约货币基金的收益.

  • 主动理财账户:2W

    目前投入1.5w.当前是每个月不到1000~1300的样子.下半年看情况,在上涨月份降低投入,多的钱放到紧急备用金里.因为没有多少积蓄,当前的1.5w其实是从紧急备用金抽调过来的,没有紧急备用金的情况下,不是敢干太多有风险的生活决策.所以下半年在上涨行情的时候,尝试吧金额分配进紧急备用金.

    另外的,相关的螺丝钉的钱,就依然按照现在每个月1%的强度继续存吧.

关于人生和其他方面的想法

  • 不要傲慢.如果收到朋友/师长的建议,把他们记录下来,然后去思考建议合适不合适,应不应该执行.不要简单的去执行,不要简单的去否定,一定是有过自己思考的.
  • 不要怕错误.一个丰富的人生,比正确的人生更有意义.这个观点,自始至终,已经至少贯穿了八年的时间,甚至更早的,在没听过这段话的时候,也按照类似的生活方式在对待人生.所以并不要怕自己失误,如果不喜欢就去尝试新的.不要以稳定的名义在生活里得过且过,也不要头脑发热的就没头没脑的尝试改变.
  • 身体远比金钱重要.
  • 把大学弄丢的习惯重新找回来吧.把工作里弄丢的习惯重新找回来吧.比如早睡早起/比如记录/比如专注.
  • 一个人的氛围更适合自己.没必要为了别人的看法就融进一个团体里.但是人是有社会的,人类是群体动物,不可能偏执的离开社会去存在.但是并不矛盾,一方面要理解人与人相处的处世之道,处理好大家之间的利益关系,尝试和大家愉快的配合工作或者生活;另一方面没必要为了一些利益去做自己不喜欢的事情,生活还没有逼迫你到一定要选择生存的地步,所以就一边为生存做好容灾准备,一边拒绝那些让自己不开心的工作社交活动.
  • 多接触一下非工作相关的社交活动,说不定能碰见爱情呢.当然就现在这个体重,碰见的概率会明显变低的.
  • 关于时间和金钱等资源倾斜.学习那段任正非的采访内容:”在距离我们目标二十亿光年的地方,投一颗“芝麻”;距离目标两万公里的地方,投一个“苹果”;距离目标几千公里的地方,投一个“西瓜”;距离目标五公里的地方,我们投“范弗里特弹药量”,扑上去、撕开这个口子”.所以要避免极端,不要在重要但是不紧急的事情上不投入,不要把资源集中在眼前,不要把资源过多投放在太远的地方.

计算机网络读书笔记5

发表于 2019-06-24 | 分类于 读书笔记 , 计算机网络 |

网络层:数据平面

  • 每台路由器的数据平面的主要作用是从其输入链路向其输出链路转发数据报;控制平面的主要作用是协调这些本地的路由器转发动作,使得数据报沿着源和目的地主机之间的路由器路径最终进行端对端的传送
  • 网络层的两个重要功能:转发和路由选择
  • 转发:将分组从一个输入链路接口转移到适当的输出链路接口的路由器本地动作.转发是有网络层的数据平面执行的主要功能.
  • 路由选择:是指确定分组从源到目的地所采取的端对端路径的网络范围处理过程.
  • 因特网的网络层提供单一的服务,称为尽力而为的服务
  • 路由器的交换法方式:经内存交换/经总线交换/经互联网络交换
  • 路由器体系:
    • 输入端口.
      • 1.执行终结物理链路层的物理层功能
      • 2.与位于入链路远端的数据链路层交互执行数据链路层功能.
      • 3.执行查找功能,通过查询转发表决定路由器的输出端口.
    • 交换结构.将路由器的输入端口连接到他的输出端口.
    • 输出端口.存储从交换结构接收的分组,并通过执行必要的链路层和物理层功能在输出链路上传输这些分组.
    • 路由选择处理器.执行控制平面功能.传统路由器中,执行路由选择协议;SDN路由器中,负责与远程控制器通信,接收由远程控制器计算的转发表,并在该路由器的输入输出端口安装这些表项.路由选择器还执行网络管理功能.
  • 交换结构的交换方式:1.经内存交换 2.经总线交换 3.经互联网络交换.
  • 输出端口的存储队列满时,将会丢弃新到的分组.
  • 分组调度方式:先进先出/优先权排队/循环和加权平均公平排队
  • 链路层最大传输单元(MTU)严格的限制着IP数据报的长度
  • IPv4数据报格式:

    • 版本号:4比特规定了数据报的IP协议版本.
    • 首部长度:因为一个IPv4数据报可能包含一些可变数量的选项,故用4比特来确定IP数据报中的载荷(运输层报文段)实际开始的地方.
    • 服务类型:服务类型比特包含在IPv4首部中,以便使不同类型的IP数据报能相互区别开来.
    • 数据报长度:IP数据报的总长度(首部加上数据),一字节集.该字段长为16别特.理论上数据报的最大长度是65535字节,但是受到MTU限制,一般很少超过1500字节.
    • 标识/标志/片位移:这三个字段与IP分片相关.标识用来区分数据报(类似于数据报的序号,每个数据报唯一,该数据报的多个分片有同一标识号).标志用来区分是否为最后分片,最后分片为0,其余分片为1.便宜字段指定了分派在初始IP数据报的哪个位置.
    • 寿命(Time-To-Live,TTL):用来确保数据报不会永远在网络中循环.当TTL为0时,该数据报被丢弃
    • 协议:通常仅当一个IP数据报到达最终目的地时才会使用.指示了IP数据报的数据部分应当交给哪个特定的运输层协议.
    • 首部校验和.用于帮助路由器检测收到的IP数据报中的比特错误.只对IP首部计算了校验和.
    • 源和目的IP地址.
    • 选项:用于IP首部进行扩展,很少使用
    • 数据(有效载荷),数据部分.

    一个IP数据报有总长20的字节首部(无选项).如果数据报承载了一个TCP报文段,则每个数据报共承载了总长40字节的首部(20字节IP20字节TCP首部)以及应用层报文.

  • 因为MTU的存在,过长的IP数据报被分片发送.数据报的重新组装工作放在端系统中么不是放在网络路由器中.

  • 接口:主机和物理链路之间的边界叫做接口.从技术上将,一个IP地址与一个接口相联系,而不是与包括该接口的主机或路由器相关联,
  • 当前因特网的地址分配策略为无类别域间路由选择(CIDR).CIDR将子网寻址的概念一般化了.当使用子网寻址时,32比特的IP地址被划分成两部分,并且也具有点分十进制形式a.b.c.d/x,x指示了地址的第一部分中的比特数.x表示的最高位比特构成了IP地址的网络部分,通常也被成为该地址的前缀;剩下的32-x比特可以认为是用于区分该组织内部设备的,这些内部设备有相同的网络前缀(长度为x的高位比特)
  • 在CIDR被采用前,IP地址的网络部分被限制长度为8/16/24比特,被称为分类编址的编址方案,具有8/16/24比特子网地址的子网分别称为A/B/C类网络.
  • IP广播地址255.255.255.255
  • 动态主机配置协议(DHCP)接入新设备步骤:

    • DHCP服务器发现.客户端向目标地址255.255.255.255广播DHCP发现报文的IP数据报,并且源IP为0.0.0.0
    • DHCP服务器提供.DHCP接收到DHCP发现报文的时,用DHCP提供报文想客户做出响应仍然使用255.255.255.255广播地址.报文中含有收到的发现报文的事务ID/向客户推荐的IP地址,网络掩码和IP地址租用期.
    • DHCP请求.新到达的客户从一个或者多个服务器提供中选择一个,并且向选中的服务器提供DHCP请求报文进行响应,回显配置的参数.
    • DHCP ACK.服务器用DHCP ACK报文对DHCP请求报文进行响应,证实所要求的参数.
  • 通过网络地址转换(NAT)将子网IP地址与外网IP地址相对应.

  • IPv6数据报.
    • 版本.4比特.
    • 流量类型.8比特
    • 流标签.20比特,表示一条数据报的流,能够对一条流中的某些数据报给出优先权.
    • 有效载荷长度.16比特.表示了跟在40字节订场的数据报首部后面的字节数量.
    • 下一个首部.标识数据报中的内容(数据字段)需要交付给哪个协议.(与IPv4首部中协议字段相同的值)
    • 跳限制.转发数据报的每台路由器对该字段的内容减1.如果该字段为0则被丢弃.
    • 源地址和目的地址
    • 数据
  • IPv6数据报采用隧道的方法,通过IPv4的节点.

计算机网络读书笔记4

发表于 2019-06-16 | 分类于 读书笔记 , 计算机网络 |

计算机网络读书笔记4–运输层

概述和运输层服务

  • 运输层为运行在不同主机上的应用程序之间提供了逻辑通信.(而非物理通信)
  • 报文段(segment):运输层将 从 发送应用程序 进程 接收到的 报文 转换成运输层分组,这个分组称为报文段.
  • 网络层提供了主机之间的逻辑通信,运输层为运行在不同主机上的应用程序进程提供逻辑通信.
  • 运输协议能够提供的服务常常受制于底层网络层协议的服务模型.
  • UDP(用户数据报协议)为调用他的应用程序提供了一种不可靠/无连接的服务.TCP(传输控制协议)为调用它的应用程序提供了一种可靠的/面向连接的服务.
  • IP协议(网际协议)为主机之间提供了罗技通信.IP的服务模型为尽力而为交付服务(best-effort delivery service),这意味着IP会”尽最大努力”在通信的主机之间交付报文段,但它不做任何确保.特别的不保证报文段的交付/不保证报文段交付的次序/不保证报文段中数据的完整性.因此,IP被称为不可靠服务
  • UDP和TCP最基本的责任是:将两个端系统间IP的交付服务拓展为运行在两个端系统上的进程之间的交互服务.
  • 将主机间交付拓展到进程间交付被称为运输层的多路复用和多路分解
  • 进程到进程的数据交付和差错检查是两种最低限度的运输层服务,也是UDP仅通过的两种服务
  • 多路分解(demultiplexing),将运输层的报文段中的数据交付到正确的套接字的工作.
  • 多路复用(multiplexiong),在源主机不同套接字中收集数据块,并未每个数据块封装上首部信息(以后用于分解)从而生成报文段,然后将报文段传递到网络中的工作
  • web服务器会为每一条连接生成一个新进程.

UDP

  • UDP只做了运输协议能够做到最少工作.除了复用/分解功能以及少量的差错检测外,他几乎没有对IP增加别的东西.
  • DNS使用的UDP协议.
  • UDP的优点:
    • 关于发送什么数据以及何时发送 的 应用层控制更为精细.
    • 无须连接建立
    • 无连接状态
    • 分组首部开销小.
  • 端到端原则:与在较高级别提供这些功能代价相比,在较低级别上设置的功能可能是冗余的或几乎没有价值的.

可靠数据传输远离

  • 自动重传请求协议:控制 报文 使得接收方可以让发送方知道 哪些内容被正确接收,哪些内容接收有误并因此需要重复.基于这样重传机制的可靠数据传输协议成为自动重传请求协议.(ARQ)
  • ARQ协议需要差错检测/接收方反馈/重传三种协议功能来处理比特差错情况.
  • 停等协议:当发送发处于等待ACK或NCK的状态时,不能从上层获得更多的数据.
  • 停等协议是一个形象的网络协议限制底层网络硬件所提供能力的图例.
  • 解决流水线的差错的两种基本方法:回退N步和选择重传.
  • 可靠数据传输机制总结为:(P151)
    • 校验和
    • 定时器
    • 序号
    • 确认
    • 否定确认
    • 窗口/流水线

TCP

  • TCP是面向连接的,TCP提供的连接是端到端的逻辑连接.
  • TCP提供全双工服务.
  • 最大报文长度(MSS),TCP可以从缓存中取出并放入报文段中的最大数据数量.
  • 最大传输单元(MTU),最初确定的 由本地发送主机 发送的 最大链路层帧长度.
  • TCP通过使用肯定确认与定时器来提供可靠数据传输.
  • TCP通过让发送方维护一个称为接受窗口的变量来提供流量控制.
  • 三次握手报文段:
    • 第一次:客户:SYN=1,seq=client_isn(随机选择)
    • 第二次:服务器:SYN=1,seq=server_isn,ack=clinet_isn+1
    • 第三次:客户:SYN=0,seq=client_isn+1,ack=server_isn+1
  • 攀岩运动的攀岩者和保护者使用了相类似的三次握手通信机制.
  • TCP必须使用端到端拥塞控制而不是使用网络辅助的拥塞控制,因为IP层不想端系统提供显示的网络拥塞反馈.
  • TCP所采用的方法是让每一个发送方根据所感知到的网络拥塞程度来限制其想连接发送的流量速率.
  • TCP拥塞控制算法包括:慢启动/拥塞避免/快速恢复.其中慢启动和拥塞避免是TCP的强制部分.快速恢复为推荐部分.
  • 云服务通过TCP分岔可以有效的避免时延.
  • 其他的运输层协议:数据报拥塞控制协议(QCCP),QUIC(Quick UDP Internet Connections)协议,DCTCP(数据中心TCP)协议,流控制传输协议,TCP友好速率控制协议.

接手祖传代码复盘

发表于 2019-06-11 | 分类于 开发总结 , 项目相关 |

接手祖传项目复盘

最近接手了一个职业生涯见过的最烂的祖传项目.
开发心情大概经历了: 吐槽->排斥->接受->修改->维护的一个大致过程.
修改期间整理了下心情,记录一下.

关于心情的变化

  • 正视问题,之所以接手这部分代码一定修改的成本要小于重做的成本。去适应代码里的思路和解决方式。既然无法避免这个问题,接受他远比抵触他对你更有利。

  • 不要骂人。每个人的成长环境都是不一样的,别人可能只是没有机会接触你的教育或者其他环境。不要拿自己的长处比别人的短处。

关于修改的细节

  • 童子军军规:让营地比你来时更干净。
  • 避免破窗效应。即使在修改一段烂代码,也尽可能保持自己平日里代码整洁的习惯。
  • 在原代码上做修改,尽量避免另起炉灶,保证效率。
  • 大的重构前commit一下自己的代码。
  • 做修改一定是在保证原代码有效的基础上。
  • 理解原代码以后留下相关的注释,为后人提供帮助。以己度人。不要单独维护文档了,代码既是文档。在祖传代码不规范的情况下,大部分地方都做不到“望文知意”的要求,所以即便是注释太多,也是有留下的必要的。
  • 看不过眼的变量命名路过就改一下/注释掉的代码路过就删一下(有git/svn呢)/同一个类的重复代码抽一个函数/消灭魔数。这些改动并不会对整体代码有影响,但是他能让这个项目容易阅读一些。
  • 尽量留下自己的名字吧,可以让你更加认真的去维护这个项目。

计算机网络读书笔记3

发表于 2019-05-31 | 分类于 读书笔记 , 计算机网络 |

计算机网络读书笔记3

DNS

  • 将人类容易识别的网址映射成IP地址
  • DNS协议运行在UDP之上,使用53号端口
  • 与HTTP/FTP/SMTP一样,DNS也是应用层协议
  • 繁忙的站点会被容乃公有分布在多台服务器上,客户总是想IP地址排在最前面的服务器发送HTTP请求报文,DNS在这些冗余的web服务器之间循环分配了负载
  • 从用户主机上调用应用程序的角度看,DNS是一个提供简单/直接的转换服务器的黑盒子.
  • DNS采用了分布式设计方案
  • DNS使用的大量服务器,以层次方式组织并且分布在全世界范围,包括根DNS服务器/顶级域DNS服务器/权威DNS服务器.

    • 根DNS:有400多个根名字服务器遍布全世界.根服务器由13个不同的组织管理.根名字服务器提供TLD(顶级域)服务器的IP地址.
    • 顶级域DNS服务器: 对于每个顶级域(com/org/net/gov等)以及所有国家的顶级域(cn/jp/uk等)
    • 互联网上具有可访问主机(如web/邮件等)的每个组织机构必须提供公共可访问的DNS记录,将主机的名字映射成IP.一个组织的权威DNS服务器收藏了这些DNS记录.
  • 另外的,还残存在本地DNS服务器,在主机DNS查询的时候,本地DNS起到代理的作用,代理主机查询DNS,把结果返回给主机
  • 主机和本地的DNS服务器的查询是递归的,其余的查询时迭代的.
  • 本地服务器会保存DNS缓存,这些缓存不是永久的(一般保存2天)
  • 共同实现DNS分布式数据库的所有的DNS服务器存储了资源记录(RR),RR提供了主机名到IP地址的映射.
  • 每条记录包含了如下四个部分(Name,Value,Type,TTL)

    • 如果Type=A,Name是主机名,Value是IP地址.
    • 如果Type=NS,则Name是域名,value是个知道如何获取该域中主机IP地址的权威DNS服务器的主机名.
    • 如果Type=CNAME,则Value是别名为Name的主机对应的规范主机名.
    • 如果Type=MX,则Value是个别名为Name的邮件服务器的规范主机名.

P2P

  • 随着对等方数量的增加,P2P的分发时间与显著小于客服-服务器的分发时间
  • 最稀缺优先:BitTorrent采用了最稀缺优先的技术,针对本主机没有的块,会在他的邻居中决定最稀缺的块(所有邻居中最稀少的块),优先下载最稀缺的块.

视频流和内容分发网

  • DASH(经HTTP的动态适应流):在DASH中,视频编码分为几个不同的版本,每个版本具有不同的比特率,对应不同的质量水平.
  • 使用DASH后,每个视频版本存储在HTTP服务器中,每个版本都有一个不同的URL.HTTP服务器也有一个告示文件,为每个版本提供了一个URL及其比特率.
  • 内容分发网(CDN)分为专用CDN(内容商自己拥有)和第三方CDN
  • CDN服务器安置策略:

    • 深入.深入到ISP接入网中.其目标是接近端用户,减少端用户和CDN集群之间的链路和路由器数量,从而改善了用户感受的时延和吞吐量.维护和管理集群的任务会成为挑战.
    • 邀请做客.关键位置构建打集群来邀请到ISP做客.通常将集群放置在因特网的交换点.较低的维护和管理开销,但是可能牺牲端用户的时延和吞吐量.
  • 大多数cdn通过DNS来接货和重定向请求.

  • CDN能够对其集群和客户之间的时延和丢包性能执行周期性的实时测量.

计算机网络读书笔记2

发表于 2019-05-26 | 分类于 读书笔记 , 计算机网络 |

计算节网络读书笔记2

应用层

协议原理

  • 网络应用程序体系结构:客户-服务器体系结构和P2P体系结构
  • 网络间应用程序的通信实际上是进程的通信.
  • 两个不同端系统上的进程通过交换报文相互通信.
  • 进程通过一个称为套接字(socket)的软件接口向网络发送报文和从网络接收报文.
  • 套接字是同一台主机内应用和运输层之间的接口.

  • 应用程序开发者对运输层的控制仅限于:

    1. 选择运输层协议
    2. 也许能设定几个运输层参数,如最大缓存和最大报文段长度等.
  • web服务默认80端口,邮件服务器默认25端口

  • 可供应用程序选择的运输服务:可靠数据传输/吞吐量/定时/安全性
    • 可靠数据传输:电子邮件/文件传输/远程主机访问/web文档/金融应用等
    • 吞吐量:带宽敏感的应用(多媒体相关的)
    • 定时:因特网电话/虚拟环境/电话会议/多方游戏
    • 安全性:多数情况.
  • TCP:面向连接的服务/可靠数据传送
  • TCP具有拥塞控制机制.
  • UDP:无连接/不可靠数据传送
  • UDP是一种不提供不必要服务的轻量级运输协议.不保证报文一定会到达接收进程.
  • 运输层不提供吞吐量和定时的保证,但是目前有良好的解决方案.

web和HTTP

  • HTTP使用TCP做为支撑运输协议
  • HTTP是无状态的.
  • 非持续连接和持续连接:每个请求/响应是经一个单独的TCP连接发送,还是所有的请求及其响应经相同的TCP连接发送.
  • HTTP在默认方式下使用持续连接,HTTP客户和服务器也能配置成使用非连续连接.
  • 连接/非连接在HTTP报文头中会注明.
  • web缓存器:也叫代理服务器.在请求到达互联网之前,在局域网内缓存web内容的服务器,可以有效的降低请求时间或者带宽成本.

电子邮件

  • 邮件系统包括:用户代理/邮件服务器/SMTP(简单邮件传输协议)
  • SMTP的运输层采用TCP
  • HTTP是一个拉协议,STMP是一个推协议
  • 因为SMTP是推协议,不能主动的获取邮件.所以通过邮件访问协议来解决这个问题,如第三版的邮局协议(POP3)/因特网个邮件访问协议(IMAP)
  • SMTP用来将邮件从发送方的邮件服务器传送到接收方的邮件服务器:SMTP也用来将邮件从发送方的用户代理传送到发送方的邮件服务器.如POP3这样的邮件访问协议用来将邮件从接收方的邮件服务器传送到接收方的用户代理.

计算机网络读书笔记1

发表于 2019-05-19 | 分类于 读书笔记 , 计算机网络 |

计算机网络读书笔记1

因特网

从具体构成描述

  • 主机(host)或者端系统(endsystem):接入因特网的终端,手机/pc/手表/服务等.
  • 端系统通过通信链路和分组交换机连接在一起
  • 通信链路的传输速率为bps(bit/s),计算文件大小的时候换算1B=8bit
  • 分组:一台端系统向另一台端系统发送数据,发送端将数据分段,并为每段加上首部字节,由此形成的信息包就叫做分组.
  • 分组交换机从一条入通信链路接到到达的分组,从另一条出通信链路转发该分组.
  • 路由器和链路层交换机是两种常见的分组交换机
  • 因特网服务商–ISP

从服务描述

  • 今天大部分应用程序会涉及多个相互交换数据的端系统,称这些应用程序为分布式应用程序
  • 套接字接口: 与因特网项链的端系统提供了一个套接字接口(socket interface),该接口规定了运行在一个端系统上的程序请求因特网基础设施向运行在另一个端系统上的特定目的地程序交接数据的方式
  • 协议:协议定义了在两个或者多个通信实体之间交换的报文的格式和顺序,以及报文发送和/或接收一条报文或其他事件所采取的动作.

网络边缘

接入网

  • 接入网:将端系统物理连接到其边缘路由器的网络.边缘路由器是端系统到任何其他远程端系统的路径上的第一台路由器.
  • 住宅接入的常用方式:
    • 数字用户线(DSL):通过电话线接入,本地的电话公司作为ISP.
    • 电缆:通过有线电视的基础设施接入.
    • 光纤到户:新兴的接入方式.分为主动光纤网络和被动光纤网络.
  • 企业接入:常用方式为以太网和wifi
    • 近几年随着网络的普及,以太网和wifi也普遍出现在家庭网络中.
  • 广域无线接入:
    • 3G/4G/LTE

物理媒体

  • 物理媒体分为引导型媒体和非引导型媒体
  • 引导型媒体:电波沿着固体媒体前行,如光缆/双绞线/同轴电缆
  • 非引导型媒体:电波在空气或者外层空间传播,如无线局域网或者数字卫星频道.

网络核心

分组交换

  • 存储转发传输:指交换机能够开始想输出链路传输该分组的第一个比特之前,必须接受整个分组

  • 存储转发时延:由上述存储转发传输产生的时延(2*(L/R))

  • 通过N条速录为R的链路的传输时延:N*(L/R)
  • 排队时延:输出队列阻塞的时候,分组承受排队时延.
  • 分组丢失(丢包):输出队列的缓存优先,分组到达时缓存已经满了就会发生丢失.

网络分层

  • 协议分层:自顶向下分别是应用层/运输层/网络层/链路层/物理层
  • OSI分层:自顶向下分别是应用层/表示层/会话层/运输层/网络层/数据链路层/物理层

投资实证4-20190504

发表于 2019-05-04 | 分类于 理财 , 记录 |

净值

  • 主理财账户: 1.0278,12347,本周-4.54%

  • 父母的养老金:0.9986

  • 我的养老金:0.9942

操作

主理财账户,每份100

  • 跟随长赢发车,买入1份中证传媒
  • 长赢补仓,买入1份中证传媒,1份中证环保

我的养老金,每份300

  • 跟随长赢发车,买入一份中证传媒
  • 单独买入一份中证500,一份中证环保

父母的养老金

  • 跟随长赢买入一份中证传媒,300
  • 考虑到年底给父母钱,买入了2000的稳稳的幸福.

其他

  • 调整的时候买入要谨慎,保住自己的本金.一次买入不要太多,可以分开操作.
  • 以后按自己的定投做买入,不要追涨.
  • 舒服是最重要的
  • 建仓位置大概是在3000点以上,3050点以下.如果再跌就要浮亏了T_T.

敏捷开发读书笔记六

发表于 2019-04-28 | 分类于 读书笔记 , 敏捷软件开发 |

敏捷开发读书笔记六

18章

  • 数据库属于实现细节,应该尽可能的推迟考虑数据库.太多的应用程序跟数据库绑定在一起无法分离,就是因为一开始设计时就把数据库考虑在内了.

  • 用例:用例是一种捕获/分析系统行为的方法.用例和XP中的用户素材的概念非常相似,用例就像用稍多细节详细描述的用户素材.当前迭代中要实现用户素材的时候,这种详尽细节就是合适的.

  • 有的bug对程序员来说是很正常的,但是管理人员以及用户会对这些bug感到恐惧.并且程序会给管理人员和用户留下”危险且不稳定”的印象.

  • 过度信赖工具和过程以及低估智力和经验都是灾难的源泉.

  • 在一次迭代开始,开发人员通常会聚集在一个白版钱,一起思考这次迭代中要实现的用户素材设计.这次会话的目的是发起思考活动,并未开发人员提供一个公共的/可以依据其展开工作的智力模型,而不是为了确定设计.

19章

  • 推迟有关数据库的细节是一项不常见的/但是却很值得的实践.

  • 太多的UML图而没有验证他的代码是危险的.代码可以告诉你一些UML不能告诉你的设计的内容

  • 测试用例先于产品代码编写.

  • 多数情况下,测试以增量的方式创建,并和产品代码一同演化.

其他

目前为止还没有完成书中项目的编写,近三个周来比较痛苦.

第一周试图生读完满是代码的19张内容,然后熟悉之后在回头写代码,花了好几天只推进了一丢丢,太难了.不是第一次吃这个亏了,js权威指南和java编程思想两本书都吃过这种地方的亏,还是没长记性.第三次了,写下来,引以为戒.

纸上得来终觉浅,觉知此时要躬行.

1234
车子

车子

重启中....

37 日志
22 分类
24 标签
© 2021 车子
由 Hexo 强力驱动
|
主题 — NexT.Pisces v5.1.4