PLE-实践小结-2308-cnblogs】的更多相关文章

说起TCP/IP协议,大家估计都能说出个一二,但是估计很少有人能够深入的理解这个协议,原因有这么几个: 协议本身确实复杂 入门教材没选对,太抽象了,导致大家浅尝辄止 学习过程中如果没有配合实践理解,过段时间也忘记了. 所以本篇文章的用意就是通过理论和实践的结合,加深大家对TCP协议的理解,更好的应用TCP来编写客户端和服务端. TCP理论介绍 说到入门教材我比较推荐<图解TCP/IP>,本节内容也是在这本书的理论基础上结合自己的理解构成. 首先 TCP位于七层协议中的传输层. TCP通信简单的…
参考:http://www.cnblogs.com/tqsummer/archive/2011/01/25/1944771.html #!/usr/bin/env python import sys import threading import serial #from threading import Thread from time import sleep sub_msg_lock = threading.Lock() class thread1_test(threading.Threa…
简单介绍Puppeteer Puppeteer是一个Node库,它通过DevTools协议提供高级API来控制Chrome或Chromium.Puppeteer默认以无头方式运行,但可以配置为有头方式运行.Puppeteer中文”木偶”,很贴切,它可以使用node程序来模拟人操作浏览器的行为,比如点击某个按钮等. Puppeteer可以做什么 在浏览器中手动执行的大多数操作都可以使用Puppeteer完成!例如: 生成页面的屏幕截图和PDF. 抓取SPA(单页面应用程序)并生成预渲染内容(即“S…
使用python -m pdb xxx.py进入单步调试模式,默认会在脚本的第一行可执行命令处停止.此时,通过 b function设置之后的函数断点会提示出错,从出错异常栈中可以看出,pdb是将function当做行号来识别,而函数名是字符串,转换成整形会失败,因此会提示出错.在处理转换整形失败异常时,会尝试执行 function,如果当前解析器还执行到该函数(由于是刚开始调试,相关函数尚未解析),那么在该函数上设置断点又会触发异常.那么,通过单步调试,如何开始呢? 经过多番尝试,总结这样的工…
前言 之前写过一篇 Linux/Docker 中使用 System.Drawing.Common 踩坑小计, 当时主要是有一块图像处理的需要从 .net framework 迁移到 .net core上,使用这个方案,基本可以说是无缝迁移.但是最近发现了两个问题: 构建 Docker 时需安装 libgdiplus 多行文本输出,在 Windows 和 Linux 下表现不一致 针对以上问题,想着尝试一下其他解决方案试试,后来遇见它:SixLabors.ImageSharp.下面通过实战来了解一…
0 前言 本文将主要通过抓包并查看报文的方式学习TCP KeepAlive机制,以此加深理解. 1 TCP KeepAlive机制简介 TCP长连接下,客户端和服务器若长时间无数据交互情况下,若一方出现异常情况关闭连接,抑或是连接中间路由出于某种机制断开连接,而此时另一方不知道对方状态而一直维护连接,浪费系统资源的同时,也会引起下次数据交互时出错. 为了解决此问题,引入了TCP KeepAlive机制(并非标准规范,但操作系统一旦实现,默认情况下须为关闭,可以被上层应用开启和关闭).其基本原理是…
关于MVP.Retrofit.RxJava,之前已经分别做了分享,如果您还没有阅读过,可以猛戳: 1.Android MVP 实例 2.Android Retrofit 2.0使用 3.RxJava 4.RxBus 假设,您对MVP.Retrofit.RxJava已经有了一点了解,那么我们开始本文: Android MVP优化 1.MVP绑定Activity(Fragment)生命周期 按照之前的文章,每个Presenter都得初始化和销毁,我新加MvpActivity(MvpFragment)…
转载:http://wuxiaolong.me/2016/06/12/mvpRetrofitRxjava/ 关于MVP.Retrofit.RxJava,之前已经分别做了分享,如果您还没有阅读过,可以猛戳:1.Android MVP 实例2.Android Retrofit 2.0使用3.RxJava4.RxBus 假设,您对MVP.Retrofit.RxJava已经有了一点了解,那么我们开始本文: Android MVP优化 1.MVP绑定Activity(Fragment)生命周期按照之前的文…
参考教程:http://diybbs.zol.com.cn/1/33925_1942.html   遇到的问题:安装ubuntu 12.04 64位,提示缺少“/casper/vmlinuz.efi file not found    原因:12.04_1的iso文件中casper中的文件就是vmlinuz而不是vmlinuz.efi    解决方案:烧录12.04_2的iso:   注: 1)我使用的是方法二,即Universal USB Installer 烧录ubuntu系统到u盘: 2)…
在一些系统中有时某张表会出现百万或者千万的数据量,尽管其中使用了索引,查询速度也不一定会很快.这时候可能就需要通过分库,分表,分区来解决这些性能瓶颈. 一. 选择合适的解决方法 1. 分库分表. 分库分表从名字上就明白是需要创建额外的新数据库或新表,可以建在其他的机器上也可以是和当前数据库同一台机器.在优化查询上可能需要买新机器或者要修改逻辑代码了.比如一张user表,当数据超过10W,就可以创建新的user表,假设是user2.通过接收的UID,和分组10W(假定),取模就是对应的user表名…