日常随记
fly9006
人生苦短,我用python。
展开
-
TCP有限状态机
TCP 有限状态机很多人都知道TCP协议有名的三次握手和四次挥手,实际上它们是基于TCP协议的简约版的抽象,而这两个动作的背后本质上是TCP的协议转换;TCP协议的操作流程可以使用一个包含11种状态的有限状态机( Finite State Machine )来表示,即下图描述了TCP有限状态机的运作流程,箭头指向表示状态之间的转换,粗实线表示客户端主动与和服务端建立连接的流程,粗虚线表示对应的...原创 2020-03-21 11:46:54 · 2087 阅读 · 0 评论 -
个人youtube视频观看历史分析
前两天偶然翻阅了一位blogger的文章,内容是记录了他个人油管的观看记录分析过程。然后我也心血来潮,效仿一番,在本篇文章也简单分析下我自己再youtube的观看历史,分析维度和那位blogger的基本一致(抄袭了别人的idea,惭愧~),这是原文链接。 曾几何时,还不知道有fanqiang这回事的时候,在网络上观看视频资源都只能局限于几大视频平台。后来学会了用别人的飞机场,再后来学会了自...原创 2020-02-10 00:28:25 · 3401 阅读 · 1 评论 -
《重构 既有代码的设计》笔记摘要
前言P2(页码)什么是重构?所谓重构( refactoring)是这样一个过程:在不改变代码外在行为的前提下,对代码做出修改,以改进程序的内部结构。重构是一种经干锤百炼形成的有条不紊的程序整理方法,可以最大限度地减少整理过程中引入错误的几率。本质上说,重构就是在代码写好之后改进它的设计。P5重构技术的两位最早倡导者是 Ward Cunningham和 Kent Beck。他们很早就把重构...原创 2020-02-10 00:20:55 · 171 阅读 · 0 评论 -
python处理Protoc Buffers协议下的header+protobuf
项目中碰到了tcp透传下用protocol buffer协议的数据传输场景 记录下踩的坑~~协议的定义大致举例如下:数据传输协议组成部分分为header结构体和一个传输数据message体header如下,其中某个param是需要截取的message包体长度(如这里是param_3)struct header{ unsigned short param_1; // 头信息定义原创 2018-01-09 19:46:53 · 1712 阅读 · 0 评论 -
Windows7下PHP、apache开发环境搭建
一、准备近期需要在自己的win7机器上用php做些开发工作,奈何这台机器没搭建过php开发环境,就花了点时间搭好环境,记录总结下,这次环境安装搭建用到php7,apache2.4,mysql5.7二、组件下载php:在官网下载即可,http://www.php.net/downloads.php1,选择想要下载的版本下边的Windows downloads,然后跳转到对于资源列表页2,根据机器32位原创 2017-10-22 22:29:17 · 504 阅读 · 0 评论 -
python之import异常-ImportError: cannot import name xxx
bug:最近开发中遇到了import异常 目录A下的py文件B import 目录C下的py文件D抛出import异常ImportError: cannot import name Danalyze:一般情况这个exception是python找不到import进来的包或库导致的, 排查了一番后还没找到问题根源,总结了下情况:A,C目录名和B,D文件名都没写错; B,D两个py文件进行单原创 2017-09-21 22:07:27 · 27462 阅读 · 4 评论 -
python实现二叉树遍历
先用python的类表示二叉树的节点:class Node(object): def __init__(self, root=None, ltree=None, rtree=None): self.root = root self.ltree = ltree self.rtree = rtree访问树的所有结点,有且仅访问一次。按照根节点位置的原创 2017-03-17 12:01:12 · 447 阅读 · 0 评论 -
linux下svn的使用(整理)
一直都是习惯用git做版本控制工具,整理一下linux下svn常用的命令,便于与git做区分,windows下的svn命令与linux下的差别不大使用的linux发行版本信息**@××:~$ uname -vsLinux #87~14.04.1-Ubuntu SMP Fri Mar 3 17:32:36 UTC 2017下载安装sudo apt-get install subversion检出新文原创 2017-03-10 19:17:07 · 1221 阅读 · 0 评论 -
数组、链表、堆栈和队列
转载自:http://blog.csdn.net/amork/article/details/7258216数据结构:是指相互之间存在一种或多种特定关系的数据元素的集合。听起来是不是很抽象,简单理解:数据结构就是描述对象间逻辑关系的学科。比如:队列就是一种先进先出的逻辑结构,栈是一种先进后出的逻辑结构,家谱是一种树形的逻辑结构!(初学数据结构的时候很不理解为什么有“栈”这个东西;队列很容易理解—无转载 2017-02-14 16:04:35 · 284 阅读 · 0 评论 -
Python实现基本排序算法01
选择排序算法原创 2017-02-14 14:47:33 · 234 阅读 · 0 评论 -
(转)Python中的map,reduce,filter,lambda内置函数
filter(function, sequence):对sequence中的item依次执行function(item),将执行结果为True的item组成一个List/String/Tuple(取决于sequence的类型)返回:>>> def f(x): return x % 2 != 0 and x % 3 != 0 >>> filter(f, range(2, 25)) [5, 7, 1转载 2017-02-20 16:34:10 · 465 阅读 · 0 评论 -
Python Booklist
一份python的阅读书籍资料清单,供参考https://www.douban.com/doulist/63694/原创 2017-02-20 11:49:03 · 425 阅读 · 0 评论 -
mysql基本查询语句review-2
review-2原创 2017-02-18 22:40:19 · 394 阅读 · 0 评论 -
mysql基本查询语句review
工作中很多时候都会用封装的库去操作mysql数据库,所以sql原生语句一旦长时间没有使用就会有所生疏,参考其他人的练习题,重新复习一遍基本的查询语句并记录。1.创建student和score表CREATE TABLE student (id INT(10) NOT NULL UNIQUE PRIMARY KEY ,name VARCHAR(20) NOT NULL ,sex原创 2017-02-18 12:47:24 · 918 阅读 · 0 评论 -
Python常用的几种包(库、模块)安装方式
这里整理一下常见的几种包安装方式1、pip install package_name使用pip工具安装,此方法比较常用,方便快捷,自动下载安装包到当前python环境,如果需要指定下载安装某个版本的包,只需写成这个形式pip install package_name==版本号; 另外,下载的whl格式的包安装文件也可以通过pip install安装2、pip install -r requirem原创 2017-01-25 19:48:51 · 10593 阅读 · 0 评论 -
Flask框架使用Flask_mail时报错KeyError: 'mail'
Flask_mail报错KeyError: ‘mail’原创 2017-01-13 16:01:17 · 2482 阅读 · 2 评论 -
flask中的secure_filename方法获取不到中文文件名
碰到以下问题: 将中文文件名传给 secure_filename 方法时所有的中文名都会被过滤掉,只剩下文件后缀名。 原因:werkzeug库的secure_filename方法中,中文被ignore或者压制导致数据缺失 解决方法: 1,要么更换或弃用中文文件名 2,视情况修改secure_filename方法的代码def secure_filename(filename): r"原创 2017-01-06 20:00:45 · 7736 阅读 · 0 评论