夜夜夜夜

生命不息,奋斗不止!

从网卡到应用层nginx,一个数据包经历了什么?

内容目录数据包从网卡到nginx从网卡到内存内存-网络模块-协议栈传输层应用层nginx处理socket套接字的流程下面进入nginx http请求处理的11个阶段处理请求的过程 数据包从网卡到nginx 本文将研究一个数据包从被网卡接收到流出应用层到底经历了什么,并探究在应用层nginx的处理流...

2018-11-07 20:07:12

阅读数 359

评论数 0

基于pyqt5+python3.4的简单界面小程序demo

任务: 今天有一个需求,是每天统计出参加银联扫码活动的商家信息,主扫的交易笔数,总金额,被扫的交易笔数,总金额,以及主扫+被扫的统计信息。 分析:首先要做个程序,每天跑一下就生成结果文件,或者直接显示出结果。涉及到的有: 1、使用cx_oracle查询,获取数据,数据存入本地文件或者显示到u...

2017-07-21 15:41:58

阅读数 472

评论数 0

N皇后问题的c++解法

N皇后问题: 国际象棋中皇后的势力范围覆盖其所在的行、列以及两条对角线,现在考察如下问题:如何在n x n的棋盘上放置n个皇后,使得她们彼此互不攻击 对于任何整数:n>=4,这就是n皇后问题。我们常说的8皇后问题也就是n为8的时候 首先,讲一讲思路,大致思路就是:我们把n个皇后分别放在...

2017-05-05 13:04:33

阅读数 3569

评论数 0

tornado框架的学习与应用

简单介绍一下所使用的高并发框架tornado,它是一个用python编写的可扩展的非阻塞式web服务器及其相关工具的开源框架,在处理严峻的网络流量时表现得足够强健,但却在创建和编写时有着足够的轻量级,并能够被用在大量的应用和工具中。 先简单介绍一下 用tornado实现的经典helloworl...

2017-05-02 21:33:34

阅读数 2314

评论数 0

libev源码解读

1、源码: 源码参见官网或者我的github上 2、安装使用: 安装与基本使用参见我的另一篇博客:传送门 3、架构 Libev通过一个 struct ev_loop结结构表示一个事件驱动的框架。在这个框架里面通过ev_xxx结构,ev_init、ev_xxx_set、ev_xxx_sta...

2016-12-23 17:06:02

阅读数 1765

评论数 0

几种典型的服务器网络编程模型归纳(select poll epoll)

1、同步阻塞迭代模型 同步阻塞迭代模型是最简单的一种IO模型。其核心代码如下:bind(srvfd); listen(srvfd); for(;;) { clifd = accept(srvfd,...); //开始接受客户端来的连接 read(clifd,buf,...); /...

2016-12-17 10:52:17

阅读数 6405

评论数 4

Python3爬虫实战:爬取大众点评网某地区所有酒店相关信息

历时一下午加一晚上,终于把这个爬虫代码写好,后面还有很多想完善的地方(譬如数据存储用redis、使用多线程加快速度、爬取图片、细分数据等等),待有空再做更改,下面是具体的步骤与思路: 工具:PyCharm、Google Chrome开发者工具、fiddle2 一、进入大众点评首页默认的地区是上海地...

2016-04-13 21:32:13

阅读数 14616

评论数 120

Python 正则re模块之compile()和findall()详解

下面是Python3.5官方文档里关于的compile的说明: re.compile(pattern, flags=0) Compile a regular expression pattern into a regular expression object, which can be used...

2016-04-12 16:41:13

阅读数 70819

评论数 0

python闭包与装饰器

在一些语言中,在函数中可以(嵌套)定义另一个函数时,如果内部的函数引用了外部的函数的变量,则可能产生闭包。闭包可以用来在一个函数与一组“私有”变量之间创建关联关系。在给定函数被多次调用的过程中,这些私有变量能够保持其持久性。 ——维基百科 def make_printer(msg): ...

2019-05-17 15:29:15

阅读数 3

评论数 0

Linux源码编译三步曲,分别发生了什么

目录configuremakemake install configure configure脚本生成makefile文件,提供给make工具使用 执行configure脚本时,configure会结合用户通过命令行指定的选项以及各个Makefile.in模板文件来生成makefile文件 co...

2018-11-09 00:32:16

阅读数 69

评论数 0

四层负载均衡与七层负载均衡的区别

https://zhuanlan.zhihu.com/p/34904010 https://www.jianshu.com/p/9826d866080a 现有的负载均衡分层 所谓四层负载均衡就是使用IP加端口的方式进行路由转发;七层负载均衡一般是基于请求URL地址的方式进行代理转发。同理,还有...

2018-11-08 16:14:32

阅读数 77

评论数 0

使用python批量导入csv、excel、txt格式文件到oracle数据库(python3x)

平时在工作中,往往需要把一些文件导入到数据库中使用,或者当操作系统打不开比较大的文件(譬如几个G的文件 windows就很难打开了)的时候,也可以利用数据库,方便的读取大文件中的数据。下面简单介绍下我平时使用的方法: 1、相对较小的文件,使用python open该文件,再逐条取出数据,导入...

2018-08-23 17:52:39

阅读数 1793

评论数 0

oracle merge into的用法

对一张表,在不同的条件下实现不同的操作(update/insert),在 oracle 中可以用 merge into /////////////// 有一个表T,有两个字段a、b,我们想在表T中做Insert/Update,如果条件满足,则更新T中b的值,否则在T中插入一条记录。在Micro...

2018-06-29 11:21:10

阅读数 159

评论数 0

Anaconda使用指南

一、为什么选择Anaconda? 1.1 什么是 Anaconda?Anaconda是专注于数据分析的Python发行版本,包含了conda、Python等190多个科学包及其依赖项。1.2 什么是 conda ?conda 是开源包(packages)和虚拟环境(environment)的管理...

2018-01-03 15:11:18

阅读数 2324

评论数 0

The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path

Spring Tool Suite: 报错信息The superclass “javax.servlet.http.HttpServlet” was not found on the Java Build Path 好久不写Jsp,今天建立了一个Javaweb工程,并在eclipse中配置了We...

2017-08-23 14:57:12

阅读数 560

评论数 0

PyQt5 与PyQt4的区别

1、不与 PyQt4 兼容 2、不再对Python老版本提供支持(Python 2.6 之前) 3、不再实现PyQt4不推荐的API接口PyQt5 不支持任何在PyQt4版本中标记为不推荐或舍弃的Qt API(如果有就会当Bug处理) 4、不再提供多版本API接口PyQt4 支持多版本的AP...

2017-08-17 09:49:34

阅读数 2466

评论数 1

The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path

JavaWeb: 报错信息The superclass “javax.servlet.http.HttpServlet” was not found on the Java Build Path 好久不写Jsp,今天建立了一个Javaweb工程,并在eclipse中配置了Web容器Tomcat。...

2017-08-09 09:31:00

阅读数 277

评论数 0

c++程序编译过程

编译主要分为4个过程: 预处理-编译优化-汇编-链接 1) 编译预处理 预编译程序完成的工作,可以说成是对源程序的“替换”工作。经过这个过程,生成一个没有宏定义、没有条件编译指令、没有特殊符号的输出文件。 宏定义命令;例如#define 条件编译指令;例如#ifdef 头文件包含指令;...

2017-08-07 11:02:24

阅读数 229

评论数 0

spring mvc架构

MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。 ...

2017-08-07 10:51:51

阅读数 808

评论数 0

c++11:static_assert 与assert

assert的作用是先计算表达式 expression ,如果其值为假(即为0),那么它先向stderr打印一条出错信息,然后通过调用 abort 来终止程序运行。assert分为动态断言和静态断言2种。c++0x引入了static_assert关键字,用来实现编译期间的断言,叫静态断言。 语法...

2017-08-04 17:20:35

阅读数 559

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭