自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

啥也不是

问就是啥也不是

  • 博客(38)
  • 收藏
  • 关注

原创 关于同步异步、阻塞非阻塞的理解

之前看到一个用来形容同步异步、阻塞非阻塞的比喻,感觉非常形象生动,这里把它记录下来。场景:你想买一本书,于是你给书店老板打电话询问,老板查询需要花费一段时间,帮你查询好以后告诉你结果,即书店有没有这本书。解决方式:一、同步你给老板打通了电话,并一直等待该事件的结果,老板帮你查询的过程中不断电话,得到结果以后挂电话。二、异步你打电话告诉了老板你的目的以后,挂掉电话。老板查询到结果会打电话通知你。三、阻

2017-10-31 11:12:56 470

原创 nginx在linux下的安装

本文介绍nginx在linux下的安装部署。一、源码下载下载地址:http://nginx.org/en/download.html 这里下载的是稳定版 nginx-1.12.2.tar.gz二、配置安装需要以下三条命令:./configuremakemake install以上三条做的工作包括: configure命令做了大量的“幕后”工作,包括检测操作系统内核和已经安装的软件

2017-10-30 16:42:05 253

原创 sysctl命令

本文介绍sysctl命令。一、功能该命令用于配置内核参数,sysctl配置与显示在/proc/sys目录中的内核参数。二、参数-w 临时改变某个指定参数的值,如 sysctl -w net.ipv4.ip_forward=1-a 显示所有的系统参数-p 从指定的文件加载系统参数,如不指定即从/etc/sysctl.conf中加载,示例如下: sysctl -p /etc/sysct

2017-10-30 16:21:10 607

原创 GCC和G++区别

GCC和G++都是GNU组织的编译器。简单来说:.c文件为C语言程序, .cpp文件为C++程序。 一般可以把gcc当成c语言编译器,g++当成c++语言编译器。复杂点说:gcc 最开始的时候是 GNU C Compiler, 如你所知,就是一个c编译器。但是后来因为这个项目里边集成了更多其他不同语言的编译器,GCC就代表 the GNU Compiler Collection,所以表示一堆编

2017-10-30 15:34:44 922

转载 Nginx的优点

本文介绍Nginx服务器的优点:1.更快对于单次或者高并发的请求,响应都很快。2.高扩展性Nginx的设计极具扩展性,它完全是由多个不同功能、不同层次、不同类型且耦合度极低的模块组成。因此,当对某一个模块修复Bug或进行升级时,可以专注于模块自身,无须在意其他。3.高可靠性Nginx的高可靠性来自于其核心框架代码的优秀设计、模块设计的简单性;另外,官方提供的常用模块都非常稳定,每个worker进程相

2017-10-30 15:06:47 560

原创 常见web服务器简介

本文介绍目前常用的几个web服务器:首先,放一张web服务器市场占有率的图,该数据来自Netsraft报告:一、ApacheApache是目前全球市场占有率最高的web服务器。它的特点为:开源跨平台简单、性能稳定、功能强大总结:因此一般来说如果系统追求的是稳定性,对高性能和高并发要求不是特别高的话就适合使用Apache作为服务器。二、IIS IIS是微软公司主推的服务器,是目前最流行的W

2017-10-26 10:59:32 1700

原创 python中import和from import 的区别

在python中导入模块时有两种方法:1.import AA为模块名,直接使用import导入整个模块A,调用模块A其中的某个方法、变量B使用以下形式: A.B2.from A import BA为模块名,B为模块A中的某个类、方法或者变量等,调用B直接使用以下形式: B备注:from A import *: 导入模块A中的所有内容,这样的缺点是不清楚具体导入了A的哪些成员,并且会破坏命名空间

2017-10-26 09:45:36 2660

原创 一个完整的触发器文件示例

最近使用到了mysql触发器的知识,这里列出一个完整的简单触发器文件以备后续使用参考:use [database_name];DELIMITER | -- INSERT ON [table_name] DROP TRIGGER IF EXISTS [trigger_name]; CREATE TRIGGER [trigger_name] AFTER INSERT ON [table_nam

2017-10-25 11:10:33 1124

原创 mysql触发器——DELIMITER 命令

mysq触发器之DELIMITER 命令在之前讲到的创建触发器语法一文中,触发器程序体(trigger_stmt)中,程序可以是一句SQL语句,也可以是用 BEGIN 和 END 包含的多条语句。其格式为:BEGIN[statement_list]END 其中,statement_list 代表一个或多个语句的列表,列表内的每条语句都必须用分号(;)来结尾。 而在MySQL中,分号

2017-10-25 10:41:10 1844

原创 mysql触发器——NEW与OLD解析

mysql触发器之 NEW与OLD解析 mysql触发器中, NEW关键字,和 MS SQL Server 中的 INSERTED 和 DELETED 类似,MySQL 中定义了 NEW 和 OLD,用来表示触发器的所在表中,触发了触发器的那一行数据。 具体地: 在 INSERT 型触发器中,NEW 用来表示将要(BEFORE)或已经(AFTER)插入的新数据; 在 UPD

2017-10-25 10:40:10 14230

转载 python字符串查找

在python中查找子串方法:1. find()方法:info = ‘abca’ print info.find(‘a’)##返回结果从下标0开始计数,查找在字符串里第一个出现的子串位置,返回结果:0info = ‘abca’ print info.find(‘a’,1)##返回结果从下标1开始计数,查找在字符串里第一个出现的子串位置:返回结果3info = ‘abca’ print info

2017-10-24 16:22:11 600

原创 python读取配置文件信息问题

问题描述最近使用python操作数据库时,把数据库相关信息写在配置文件中,读取信息以后连接数据库时遇到以下错误: Access denied for user ‘root’@’localhost’ (using password:YES)查找解决办法,都是说权限问题,需要修改root用户的权限,但是我使用命令行登录mysql并没有报错,并且把数据库信息直接写在程序中也是可以连接数据库的。所以初步断

2017-10-24 15:38:22 889

原创 mysql-udf-http问题

最近在使用mysql-udf-http设置触发器并发布http消息时,遇到一个问题:http服务端每次都会收到2条消息,开始以为是发布消息的方式有问题,测试以后发现没有错,然后想到可能是触发器重复,最后一看果然是之前的触发器没有删除,又定义了新的触发器,所以2个触发器都执行了。备注:每次定义新的触发器之前一定要看看有没有重复的旧的触发器,先要删除!!!

2017-10-20 15:58:03 1351

原创 workbench查看并删除触发器

本文介绍如何在workbench中查看定义的触发器。一、查看最近需要查看mysql中表上定义的触发器,在ubuntu命令行中输入以下语句:SELECT * FROM information_schema.`TRIGGERS`;但是由于命令行显示的问题,看起来比较费眼。所以选择在workbench中查看,具体步骤如下:在左侧下方任务栏schemas中,找到数据库->表->triggers,即可看到所有

2017-10-20 15:33:39 5168

转载 cython初探

我一直非常喜欢 Python。当人们提到 Python 的时候,经常会说到下面两个优点:写起来方便容易调用 C/C++ 的库然而实际上,第一点是以巨慢的执行速度为代价的,而第二点也需要库本身按照 Python 的规范使用 Python API、导出相应的符号。在天壤实习的时候,跟 Cython 打了不少交道,觉得这个工具虽然 Bug 多多,写的时候也有些用户

2017-10-19 21:22:02 559

转载 Python, CPython, Pypy, Jython的简单介绍

简单地说,Python是一门编程语言,任何一种编程语言都需要用另一种语言来实现它,比如C语言就是用机器语言来实现的。所以,Python根据实现方式不同分为了CPyhton、Pypy、Jython等。CPythonCPython是用C语言实现Pyhon,是目前应用最广泛的解释器。Python最新的语言特性都是在这个上面先实现,Linux,OS X等自带的也是这个版本,包括Anacon

2017-10-19 21:15:25 516

转载 ssh登录失败

1.IP地址要设在同一网段下 2.查看22端口是否启动netstat -nlp 3.重启ssh,systemctl restart sshd.service 4.关闭防火墙,systemctl rstop firedwalld.service 或关闭selinux 5.虚拟机桥接 6.是否设置了22端口cat /etc/ssh/sshd_config

2017-10-19 20:44:49 1345

转载 HTTPS(Hypertext Transfer Protocol Secure)安全超文本传输协议

HTTPS(Hypertext Transfer Protocol Secure)安全超文本传输协议         HTTPS实际上应用了Netscape的完全套接字层(SSL)作为HTTP应用层的子层。(HTTPS使用端口443,而不是象HTTP那样使用端口80来和TCP/IP进行通信。)SSL使用40 位关键字作为RC4流加密算法,这对于商业信息的加密是合适的。HTTPS和SSL支持使用

2017-10-19 20:42:30 935

转载 readme.md文件示例

一、readme文件包含内容我们在项目中常常看到README.md 当然扩展名可能是txt ,rb,md ,甚至 me都有可能。README 应该是介绍code source 的一个概览,基本可以涵盖以下几部分内容: 引用块内容 你的项目介绍 你的代码实现了什么功能? 该如何使用? (系统环境参数,部署要素) 代码组织架构是什么样的? 版本更新重要摘要二、demo

2017-10-19 15:51:43 9857

原创 python读写配置文件

本文主要介绍在python中读写配置文件。一、python文件python主要使用ConfigParser模块来进行配置文件的操作。import ConfigParser#读操作conf = ConfigParser.ConfigParser()conf.read('config.ini') #文件名#读取指定的section和name项user = conf.get('global',

2017-10-19 15:37:31 832 2

原创 python中的eval函数

本文主要介绍python中的eval函数:一、函数作用该函数主要是用来将字符串当做有效表达式来求值并返回计算结果。二、参数eval(expression, globals=None, locals=None) source:一个Python表达式或函数compile()返回的代码对象 globals:可选。必须是dictionary locals:可选。任意map对象三、使用示例其

2017-10-19 15:23:47 1277

转载 解决ubuntu下sublime 3无法输入中文问题

sublime Text3在ubuntu系统下无法输入中文,使用以下方式解决:1.下载以下文件:git clone https://github.com/lyfeyaj/sublime-text-imfix.git2.将文件移动到/usr/bin/,并且将sublime-imfix.so移动到/opt/sublime_text/(sublime的安装目录) 终端输入:cd ~/sublime-te

2017-10-19 11:10:51 203

原创 python中数据库操作

利用vi或vim打开文件后 仅仅进入了普通的模式 vi 共有三种运行模式:nomal 普通模式;insert输入模式;command-line命令行模式进入普通模式后,光标可以通过上下左右键移动的相应的位置 在普通模式下,键入 i o a c r s 任意一键都可以切换到输入模式输入模式可以对文本进行修改: i 在光标前加入文本 I 在行首部插入文本 a 光标处插入文本

2017-10-19 09:35:01 770

转载 sql_mode介绍

昨晚在往MySQL数据库中插入一组数据时,出错了!数据库无情了给我报了个错误:ERROR 1365(22012):Division by 0;意思是说:你不可以往数据库中插入一个 除数为0的运算的结果。于是乎去谷歌了一番,总算是明白了其中的原因:是因为MySQL的sql_mode 模式限制着一些所谓的‘不合法’的操作。解析这个sql_mode,简而言之就是:它定义了

2017-10-18 19:37:45 726

原创 python中字符串和字典类型互相转换

python中,字符串和字典相互转换如下:

2017-10-18 19:32:12 17297 1

转载 DHCP获取过程

当主机接入网络时,选取DHCP服务,从而从DHCP服务器获取IP。    客户端DHCP发现(DHCP Discovery)    客户端在网络内广播告知DHCP服务器需要获取一个IP地址,因为此时没有IP,则客户端以0.0.0.0为源地址进行广播    服务器回应DHCP响应(DHCP Offer)    服务器在收到报文后回应客户端的IP需求并提供IP配置信息,

2017-10-18 19:28:17 1669

转载 组播、单播、任播和广播

单播(unicast): 是指封包在计算机网络的传输中,目的地址为单一目标的一种传输方式。它是现今网络应用最为广泛,通常所使用的网络协议或服务大多采用单播传输,例如一切基于TCP的协议。组播(multicast): 也叫多播, 多点广播或群播。 指把信息同时传递给一组目的地址。它使用策略是最高效的,因为消息在每条网络链路上只需传递一次,而且只有在链路分叉的时候,消息才会被复制。广播(broadca

2017-10-18 19:26:52 662

转载 Nginx安装的前期准备工作

使用源码安装Nginx的时候,需要安装PCRE库,在这之前需要安装make和gcc-c++。安装make: yum -y install gcc automake autoconf libtool make安装g++: yum install gcc gcc-c++我在安装pcre之前机器只装了make,所以安装pcre时进行到./configure时显示gcc-c

2017-10-18 19:24:24 229

转载 shell脚本简介

Shell脚本 Shell scripts是一个包含shell指令的文本文件,shell脚本支持变量与简单的语法来完成批量工作,shell脚本支持交互的方式,在执行时从标准输入读取数据,有大量的系统工作都是通过shell脚本的方式来完成,例如系统开机,服务控制。最常用的shell脚本: /etc/rc.sysinit:系统初始化脚本 /etc/rc.local:很像dos下的a

2017-10-18 19:23:31 183

转载 linux用户权限

Linux下有三类用户: 1.超级用户: root 具有操作系统的一切权限, UID为0 2.普通用户:具有操作系统有限的权限 UID为500—6000 3.伪用户: 是为了方便系统管理,满足相应的系统进程文件属主的要求,不能登录系统,UID为1–499Linux通过 /etc/passwd进行用户管理, 执行命令打开该文件: vi /etc/passwd 在此文件中只

2017-10-18 19:22:01 162

转载 scp

从 本地 复制到 远程复制文件: * 命令格式: scp local_file remote_username@remote_ip:remote_folder 或者 scp local_file remote_username@remote_ip:remote_file 或者 scp local_file remote_ip:remote_folder 

2017-10-18 19:20:56 862

转载 HTTP与HTTPS的区别

超文本传输协议HTTP协议被用于在Web浏览器和网站服务器之间传递信息,HTTP协议以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取了Web浏览器和网站服务器之间的传输报文,就可以直接读懂其中的信息,因此,HTTP协议不适合传输一些敏感信息,比如:信用卡号、密码等支付信息。  为了解决HTTP协议的这一缺陷,需要使用另一种协议:安全套接字层超文本传输协议HTTPS,为了数据传输

2017-10-18 19:18:12 145

转载 vim 文件编辑 基本命令

利用vi或vim打开文件后 仅仅进入了普通的模式 vi 共有三种运行模式:nomal 普通模式;insert输入模式;command-line命令行模式进入普通模式后,光标可以通过上下左右键移动的相应的位置 在普通模式下,键入 i o a c r s 任意一键都可以切换到输入模式输入模式可以对文本进行修改: i 在光标前加入文本 I 在行首部插入文本 a 光标处插入文本

2017-10-17 16:38:09 138

转载 Nginx及配置详解

Nginx是lgor Sysoev为俄罗斯访问量第二的rambler.ru站点设计开发的。从2004年发布至今,凭借开源的力量,已经接近成熟与完善。Nginx功能丰富,可作为HTTP服务器,也可作为反向代理服务器,邮件服务器。支持FastCGI、SSL、Virtual Host、URL Rewrite、Gzip等功能。并且支持很多第三方的模块扩展。Nginx的稳定性、功能集、示例配置文件和低系统资源

2017-10-17 16:37:30 198

转载 Linux操作快捷键整理

[Tab] 命令行自动补全。使用 shell 提示时可使用这一方式。键入命令或文件名的前几个字符,然后按 [Tab] 键,它会自动补全命令或显示匹配键入字符的所有命令。 Ctrl + c 取消当前行输入的命令,相当于Ctrl + Break Ctrl + z 暂停当前任务并放置后台Ctrl + u 删除光标之前到行首的字符 Ctrl + k

2017-10-17 16:35:12 344

转载 反向代理、Nginx

通常的代理服务器,只用于代理内部网络对Internet的连接请求,客户机必须指定代理服务器,并将本来要直接发送到Web服务器上的http请求发送到代理服务器中。于是网络上的服务器不知具体是哪个内网的客户端访问的,只收到有源地址为代理服务器的请求。从而实现了代理的功能。 反向代理 反向代理,就将上述过程相反过来。客户端仅知道与反向代理服务器互传信息,而具体哪个服务器提供的数据与服务,客户端是不知道

2017-10-17 16:33:12 167

原创 mysql触发器创建、查看、删除语法

一、简介触发器,根据字面意思理解,即表中的内容发生更改时触发执行的操作。 包含以下三种触发器:insertupdatedelete二、语法创建触发器这里写代码片 2.

2017-10-16 10:10:20 6959

原创 关于os.system和os.popen的坑

最近需要在python脚本中执行shell脚本,出现各种坑,特此记录一下。关于阻塞调用1.os.popen该命令会先创建一个管道,然后fork一个子进程,关闭管道的一端,执行exec,最后返回一个标准的io文件指针。 popen本身是不阻塞的,要通过标准io的读取使它阻塞2.os.systemsystem相当于是先后调用了fork, exec,waitpid来执行外部命令 system本身就是阻

2017-10-09 11:11:41 19507

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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