08 2019 档案
摘要:案例要求参考上一个糗事百科单进程案例 Queue(队列对象) Queue是python中的标准库,可以直接import Queue引用;队列是线程间最常用的交换数据的形式 python下多线程的思考 对于资源,加锁是个重要的环节。因为python原生的list,dict等,都是not thread
阅读全文
摘要:JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,它使得人们很容易的进行阅读和编写。同时也方便了机器进行解析和生成。适用于进行数据交互的场景,比如网站前台与后台之间的数据交互。 JSON和XML的比较可谓不相上下。 Python 2.7中自带了JSON模块
阅读全文
摘要:1.指针基本操作 2.不要操作没有合法指向的内存 3.new函数的使用 4.普通变量做函数参数(值传递) 5.指针做函数参数(地址传递) 6.为什么需要数组 7.数组的基本使用(同上) 8.数组的初始化 9.二维数组的介绍 10.数组比较和赋值 11.随机数的使用 12.冒泡排序 13.数组做函数参
阅读全文
摘要:和 lxml 一样,Beautiful Soup 也是一个HTML/XML的解析器,主要的功能也是如何解析和提取 HTML/XML 数据。 lxml 只会局部遍历,而Beautiful Soup 是基于HTML DOM的,会载入整个文档,解析整个DOM树,因此时间和内存开销都会大很多,所以性能要低于
阅读全文
摘要:1.无参数无返回值函数的使用 2.普通参数列表 3.不定参数类型 4.不定参数传递 5.一个返回值 6.多个返回值 7.有参数有返回值 8.普通函数的调用流程 9.函数递归的调用流程 10.通过递归实现的累加 11.函数类型 12.回调函数 13.匿名函数和闭包 14.闭包捕获外部变量的特点 15.
阅读全文
摘要:普通函数递归的流程图 递归函数的调用流程 用递归做累加(从1+.........100) 用递归做累加(从100+.......1)
阅读全文
摘要:本地提权 Windows Linux ADMIN提权为SYSTEM 服务开机自启动 注入进程提权 抓包嗅探 • Windows • Linux 键盘记录 本地缓存密码 • Dump SAM WINDOWS身份认证过程 WCE (WINDOWS CREDENTIAL EDITOR) • 从内存读取LM
阅读全文
摘要:收集信息 信息收集常用命令: Windows: CMD无法执行 1.防护软件拦截 2.CMD被降权 3.组件被删除 找可读写目录上传 cmd.exe,将执行的cmd.exe路径替换成上传的路径 查找3389端口 1、注册表读取 2、工具扫描 3、命令探针 端口转发 lcx 网站服务器是内网IP:19
阅读全文
摘要:常用方法简介: 一、0day拿webshell 参考工具:织梦漏洞利用小工具 二、通过注入漏洞拿Webshell 前提条件:具有足够权限,对写入木马的文件夹要有写入权限,知道网站绝对路径。 对于mssql注入漏洞,网站可以通过log备份、差异备份拿Webshell 对于mysql注入漏洞的网站可以通
阅读全文
摘要:端口扫描类: nc(重点) 更多nc命令详解 nmap(重点) nmap中文手册 nmap进阶(脚本篇) 系统扫描类: Nessus(重点) OWASP ZAP (重点) openvas Web侦查类: Httrack //下载克隆站点用的,减少与目标系统交互 Web漏洞扫描类: Nikto (重点
阅读全文
摘要:第一部分:基本使用 1、在kali中metasploit默认使用postgresql作为它的数据库; 开机自启:update-rc.d postgresql enable。2、初次使用数据库服务时需初始化,以便创建系统默认的数据库及数据库用户; 成功初始化会输出如下信息: 3、启动metasploi
阅读全文
摘要:md5值一致则说明是一模一样 diff返回空也说明两个文件是一致的
阅读全文
摘要:Windows留后门方法: 1、Windows隐藏账号后门的创建 2、LPK后门 3、木马后门,即安装远程控制软件(上兴远控、梦想时代) Linux留后门方法: 1、OpenSSH后门的添加与防范 2、Linux 多个留后门姿势 Linux痕迹清理: 1、bash去掉history记录 2、修改上传
阅读全文
摘要:Docker 常见问题汇总 镜像相关 1、如何批量清理临时镜像文件? 1、如何批量清理临时镜像文件? 可以使用sudo docker rmi $(sudo docker images -q -f danging=true)命令 2、如何查看镜像支持的环境变量? 2、如何查看镜像支持的环境变量? 使用
阅读全文
摘要:开启认证: 在配置文件里新增一行 auth = true 创建用户: 1.创建语法:createUser 2.{user:"<name>", pwd:"<cleartext password>", customData:{<any information>}, roles:[{role:"<role
阅读全文
摘要:数据写入和查询: show dbs (查看有哪些数据库) use imooc (使用数据库) db.dropDatabase() 删除数据库 备注:在use的时候如果use一个不存在的表,在mongoDB中不需要额外的创建,mongoDB会自动创建 数据的写入: db.imooc_collectio
阅读全文
摘要:创建索引: db.imooc_collection.getIndexes() 查看索引情况 db.imooc_collection.ensureIndex({x:1}) 创建索引,x:1代表正向排序,x:-1代表逆向排序 db.imooc_collection.dropIndex("normal_i
阅读全文
摘要:下载 编译 安装之后: 1.首先,创建一个mongodb_simple的目录,进入到目录中。 2.创建文件夹:data,用来存储数据库的数据文件。 3.创建文件夹:log,用来存储数据库的日志文件。 4.创建文件夹:bin,用来存储数据库的可执行性文件。 5.创建文件夹:conf,用来存储数据库的配
阅读全文
摘要:此脚本基于centos7和centos6编写: 仅供参考,切勿盲目复制执行
阅读全文
摘要:1.统计TCP的连接数量,其中LISTEN多少个,ESTABLISHED多少个。 [root@heiniao ~]# netstat -ant Active Internet connections (servers and established) Proto Recv-Q Send-Q Loca
阅读全文
摘要:批量杀php小马脚本 python批量杀php小马 每两秒都监控是否有人ssh到你的机器,如果有人ssh上来,则把它kill掉,并且,使用iptables拒绝#它登录,2秒后,就被踢掉,并30分钟登录不了,但是会在30分钟后,取消对它的拒绝 版本1: 版本2: rsync+ssh批量自动化部署: 批
阅读全文
摘要:Apache日志文件切割 Nginx日志文件切割 logrotate脚本 日志里的时间比北京时间要晚8个小时,处理成北京时间
阅读全文
摘要:1)开头加解释器:#!/bin/bash 2)语法缩进,使用四个空格;多加注释说明。 3)命名建议规则:变量名大写、局部变量小写,函数名小写,名字体现出实际作用。 4)默认变量是全局的,在函数中变量local指定为局部变量,避免污染其他作用域。 5)有两个命令能帮助我调试脚本:set -e 遇到执行
阅读全文
摘要:70个经典的 Shell 脚本面试问题 1) 如何向脚本传递参数 ? ./script argument 2) 如何在脚本中使用参数 ? 第一个参数 : $1,第二个参数 : $2 3) 如何计算传递进来的参数 ? $# 4) 如何在脚本中获取脚本名称 ? $0 5) 如何检查之前的命令是否运行成功
阅读全文
摘要:架构层面可以采用读写分离,主从复制等等,在数据库前端加cache,如memcache,用于用户登录,商品查询 1.mysql优化的原则是什么? 答: 1.mysql的优化首先要从设计表的过程中就要做到合理规划,表的字段,尽量精确,比如能用char就不要用varchar,能用tinyint就不要用in
阅读全文
摘要:nginx常见错误页面有哪些?对于其解决方法是什么? 404 bad request 请求失败,请求所希望得到的资源未被在服务器上发现。没有信息能够告诉用户这个状况到底是暂时的还是永久的。假如服务器知道情况的话,应当使用410状态码来告知旧资源因为某些内部的配置机制问题,已经永久的不可用,而且没有任
阅读全文
摘要:1.简述一下linux的启动过程 1. 加载 BIOS 的硬件信息、进行自我测试,并依据设定获得第一个可开机的设备; 2. 读取并执行第一个开机设备内 MBR 的 boot Loader(grub 等程序); 3. 依据 boot loader 的设置加载 Kernel,Kernel 会开始检测硬件
阅读全文
摘要:django 1、中间件 中间件一般做认证或批量请求处理,django中的中间件,其实是一个类,在请求和结束后,django会根据自己的规则在合适的时机执行中间件中相应的方法, 如请求过来 执行process_request, view,process_response方法 2、Django、Tor
阅读全文
摘要:Python部分 1、 __new__.__init__区别,如何实现单例模式,有什么优点 __new__是一个静态方法,__init__是一个实例方法 __new__返回一个创建的实例,__init__什么都不返回 __new__返回一个cls的实例时后面的__init__才能被调用 当创建一个新
阅读全文
摘要:1、主从复制解决方案 这是MySQL自身提供的一种高可用解决方案,数据同步方法采用的是MySQL replication技术。MySQL replication就是从服务器到主服务器拉取二进制日志文件,然后再将日志文件解析成相应的SQL在从服务器上重新执行一遍主服务器的操作,通过这种方式保证数据的一
阅读全文
摘要:Mysql数据库的优化技术 对mysql优化是一个综合性的技术,主要包括 a: 表的设计合理化(符合3NF) b: 添加适当索引(index) [四种: 普通索引、主键索引、唯一索引unique、全文索引] c: 分表技术(水平分割、垂直分割) d: 读写[写: update/delete/add]
阅读全文
摘要:主服务器配置: 1)登陆MySQL数据库 mysql>mysql -uroot -p123 2)给从服务器设置授权用户 mysql>grant all slave on *.* to user1@192.168.10.2 identified by "123"; 或 mysql>grant repl
阅读全文
摘要:目前“宝塔SSL”自动申请绑定一个证书,即根域名和www域名,如果还需要绑定手机端m则需要绑定多个域名如果多域名绑定一个网站数据,需要新建多个站点指向同一文件目录。用相同的方法,在不新建站点的前提下,手动修改“站点配置文件”;经测试可以多域名证书,缺点是不能再次通过宝塔编辑站点配置,否则会覆盖文件方
阅读全文
摘要:[client] 1.登陆过程自动化(这样做可以让你在命令行登陆的时候免去输入用户名和密码) host="mysql服务器地址" user="用户名" password=“密码” 2.自动切换数据库(这样做可以避免每次进入都要use 某数据库) database="你的数据库名字" [mysqld]
阅读全文
摘要:我们究竟应该如何对MySQL数据库进行优化?下面我就从MySQL对硬件的选择、MySQL的安装、my.cnf的优化、MySQL如何进行架构设计及数据切分等方面来说明这个问题。 服务器物理硬件的优化 在挑选硬件服务器时,我们应该从下面几个方面着重对MySQL服务器的硬件配置进行优化,也就是说将项目中的
阅读全文
摘要:采用innodb作为存储引擎时的优化 innodb_buffer_pool_size 如果用 Innodb,那么这是一个重要变量。相对于 MyISAM 来说,Innodb对于 buffer size 更敏感。MySIAM 可能对于大数据量使用默认的 key_buffer_size 也还好,但 Inn
阅读全文
摘要:MySQL 赋予用户权限命令的简单格式可概括为: grant 权限 on 数据库对象 to 用户 一、grant 普通数据用户,查询、插入、更新、删除 数据库中所有表数据的权利。 grant select on testdb.* to common_user@'%'grant insert on t
阅读全文
摘要:1. 设置默认字符集 #vim /etc/mysql/my.cnf 。(5.5以后系统)如下修改: [client] default-character-set=utf8 [mysqld] default-storage-engine=INNODB character-set-server=utf8
阅读全文
摘要:索引的概念 索引相当于一个目录,能够更快的查询到你所想要的信息 索引分为两种: 二叉树索引(log2N)和哈希索引(1) 索引的好处与坏处 好处: 加快查询速度(select) 坏处: 降低了增、删、改的速度(insert/delete/update) 增大了表的文件大小(索引文件甚至可能比数据文件
阅读全文
摘要:视图:view 视图的定义: 视图是由查询结果形成的一张虚拟表 视图的创建语法: Create view 视图名 as select语句 视图的删除语法: Drop view 视图名 为什么要视图: 1. 可以简化查询 2. 可以进行权限控制 把表的权限封闭,但是开放相应的视图权限,视图里只开放部分
阅读全文
摘要:存储过程:procedure 概念类似于函数,就是把一段代码封装起来, 当要执行这一段代码的时候,可以通过调用该存储过程来实现 在封装的语句里面,可以用if/else,case,while等控制结构, 可以进行sql编程 查看现有的存储过程: Show procedure status \G 删除存
阅读全文
摘要:触发器: 监听数据进行操作 在当前的表上,设置一个对每行数据的一个监听器,监听相关事件 每当事件发生时,会执行一段由sql完成的一段功能代码。 触发器的元素: 事件,执行代码。 创建触发器: Create trigger 名字 事件 执行性代码 事件: 插入 insert 删除 delete 修改
阅读全文
摘要:MYSQL引擎 我给你一份歌词,让你保存下来, 你可以怎么保存? 记在脑子里, 用铅笔写在纸上, 用钢笔写 还可以刻在石头上 无论你怎么保存 不变的是数据,变化的是“存储的格式” Name,age 张三 22 李四 23 这个信息,无论你用什么engine来存,都是一样的。 但是,不同engine,
阅读全文
摘要:备份与恢复: 系统运行中,增量备份与整体备份。 例:每周日整体备份一次,周一到周六备份当天。 如果周五出了问题,就可以用周日的整体+周一、二、三、四的增量备来恢复 备份的工具: Mysqldump Mysqldump可以导出库,也可以导出表。 例1:导出木瓜库下面的account表 Mysqldum
阅读全文
摘要:一张表,就是一个集合,一行数据就是集合的一个元素。 理论上讲:不可能存在完全相同的两个行,但是表中可以完全相同的两行, 因为表内部有一个rowid。 * * 集合相乘,就是笛卡尔积 其实就是两个集合的完全组合 问:设集合A有M个元素,M个元素各不相同 设集合B,有N个元素,N个元素各不相同 A*B,
阅读全文
摘要:Union:联合 作用:把2次或多次查询结果合并起来 案例(认识union):我想把商品价格大于5000元的和商品价格小于20元的商品都取出来 1.Select * from goods where shop_price < 20 or shop_price >5000; 2.我们用union将他们
阅读全文
摘要:Where型子查询:指把内层查询的结果作为外层查询的比较条件 案例:查出每一个栏目下面最新的商品 select goods_id,cat_id,goods_name from goods where goods_id in (select max(goods_id) from goods group
阅读全文
摘要:1.Where 条件查询 比较运算符: 运算符 说明 > < = >= <= !=或<> In 在某集合内 between 在某范围内 运算符 说明 > < = >= <= !=或<> In 在某集合内 between 在某范围内 In举例: 列出商品表里面cat_id列为4和5的列: select
阅读全文
摘要:详解列类型 数值型: 整型 tinyint smallint mediumint int bigint 类型 字节 位 值 Tinyint 1 8 -128 127 0 255 Smallint 2 16 -32768 32767 0 65535 Mediumint 3 24 -8388608 83
阅读全文
摘要:给同学建个档案表 有如下信息: 姓名:char(4) 年龄:tinyint unsigned Email:varchar(30) 手机号:char(11) 简介:varchar(1000) 毕业薪水:decimall(7,2) 入学日期:date
阅读全文
摘要:增加行: insert into msg(id,age,name,content) values (1,25,’zhangsan’’lihai’); insert into mugua.category select cat_id,cat_name,parent_id from shop.categ
阅读全文
摘要:1. 查看当前服务器下面有哪些库 show databases; 2. 创建一个数据库 create database mydb character set utf-8; 3. 删除数据库 drop database test; 4. 修改数据库 (只能修改字符集和整理集,简单,先自己看)。 不能修
阅读全文
摘要:FTP (File Transfer Protocol) 文件传输协议的简称。主要用跨网络、跨平台的文件 传输。 FTP 支持两种工作工作模式:主动模式、被动模式。 主动模式: 客户端使用一个任意非特权端口N (N>1024)去连接服务器的 21号端口,并发出命 令 port N+1,告诉服务器连接
阅读全文
摘要:-- web 服务器 survey.netcraft.net --此网站会有每月份的世界上网站使用的WEB服务器的使用率统计 www.apache.org apache a patch server nginx IIS lighttpd IBM websphere tomcat jboss webl
阅读全文
摘要:-- 基于状态的iptables 如果按照tcp/ip来划分连接状态,有12种之多 但iptables里只有4种状态;ESTABLISHED、NEW、RELATED及INVALID 这两个分类是两个不相干的定义。例如在TCP/IP标准描述下UDP及ICMP数据包是没有连接状态的,但在state模块的
阅读全文
摘要:DNS domain name system 域名系统 [root@li ~]# vim /etc/nsswitch.conf hosts: files dns --涉及到名称翻译的都会先查找/etc/hosts,再查找DNS www.baidu.com --> 公网的IP地址 TCP/IP 架构的
阅读全文
摘要:-- http://www.netfilter.org/ http://www.iptables.org/ --参考路径 http://www.netfilter.org/documentation/index.html#documentation-howto 1,包过滤防火墙 在网络层对数据包进行
阅读全文
摘要:位置参数: linux 程序中会大量用到位置参数,位置参数就形如: mkdir a b c d e f g 在以上程序中 mkdir 它自己也是一个参数,它个参数用 $0 表示 后面的参数用 $1 (a) $2(b) $3 (c) 最多到 $10,如果超10,那要用 shift 进行参数移位 参数移
阅读全文
摘要:多分支 case 变量名/表达式 in value1|value2) commands1 ;; value3) commands2 ;; value4) command3 ;; [*) defaults commands ;;] esac 作用:计算变量名/表达式的值,然后与下面的 value 支匹
阅读全文
摘要:AWK awk 是一个优良的文本处理工具,其名字来源于三个开发人员的名字首字母缩写。 awk 不但是一个优良的文件处理工作,它还可以自己编程,编写awk 程序 AWK基本格式: awk [option] 'BEGIN{...}{...}END{...}' [file] option: -F 指定字段
阅读全文
摘要:正则表达式:正则表达式,就是用一种模式,去匹配一类字符串的公式。 正则表达式的解释是用正则表达式引擎来实现的,常用正则表达式引擎有两类: 基本正则、扩展正则。 正则表达式基础: 正则表达式是由一些普通字符和元字符组成。元字符不再表示字符本身,而代表一些特定控制意义。 正则表达式元字符: 基本正则:^
阅读全文
摘要:SHELL 编程 shell 是一个命令解释器,侦听用户指令、启动这些指令、将结果返回给用户(交互式的shell) shell 也是一种简单的程序设计语言、利用它可以编写一些系统脚本。 查看本机shell 信息: cat /etc/shells --查看本支持的shell echo $SHELL -
阅读全文
摘要:logrotate - rotates, compresses, and mails system logs 日志轮转 rotate 日志切割 轮转 切割 备份 归档 常见的默认已经定义轮转的日志有: vim /etc/logrotate.conf --配置文件 /var/log/wtmp { --
阅读全文
摘要:[root@li ~]# 加电--BIOS (basic input output system)--以什么设备来启动--/dev/sda -- mbr -- grub.conf --vmlinux and initramfs -- init -- /etc/inittab -- /etc/fsta
阅读全文
摘要:进程管理 进程与 /proc 目录关系密切 例:echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_all 禁ping 进程状态 r 运行状态 s 睡眠状态 d 不可中断的睡眠状态 t 暂停或跟踪状态 z 僵尸进程(退出了,但资源还未释放掉) 常用进程管理的
阅读全文
摘要:autofs 自动挂载服务 把下面这两条命令做成自动挂载 172.16.2.35:/share/soft /nfs/soft 172.16.2.35:/share/iso /nfs/iso --挂载的目录默认在/nfs目录下用ls命令看不到, 但可以 cd /nfs/iso 进去, 这时会帮你自动挂
阅读全文
摘要:-- IP IANA (Internet Assigned Numbers Authority) ,Internet号分配机构。负责对IP地 址分配规划以及对TCP/UDP公共服务的端口定义。国际互联网代理成员管理局(IANA)是在国际互联 网中使用的IP 地址、域名和许多其它参数的管理机构。IP地
阅读全文
摘要:Linux 下安装软件: 1、rpm 软件包的安装 一般安装都用 rpm -ivh 包路径及名字 如:rpm -ivh /soft/RealPlayer11GOLD.rpm --安装/soft下 RealPlayer11GOLD.rpm 包 相关参数: --force 强制安装 --nodeps 不
阅读全文
摘要:磁盘管理 分区标识 一般用4位标识,前两位,磁盘类型,第3位,磁盘编号,第4位,分区编号 如: /dev/sda1 sd 磁盘类型 a 磁盘编号 1 分区编号 [root@s100 ~]# ll /dev/sd* brw-rw 1 root disk 8, 0 11月 1 09:44 /dev/sd
阅读全文
摘要:linux 一些主要目录的认识: linux 命令: 获取命令帮助的方法: 使用命令前,了解命令特征: 1、命令、参数等区分大小写 2、程序能否执行与扩展名没有关系,与文件能否执行,是否有执行权限有关 3、命令名和路径可以使用 tab 来补齐 文件、目录管理命令 ls 列文件目录清单 格式: ls
阅读全文
摘要:用户分类: 按系统分: 根用户(管理员) 用户id为0,如root 系统用户 用户id在 1-499 之间 这些用户主要是系统内置的一些程序或服务使用的 普通用户 管理员创建的,使用、登录系统的用户 用户id 一般从 500 开始 按作用分: 管理员 普通成员 用户识别不是靠用户名的,而是用户id
阅读全文
摘要:单机调优: 分析性能瓶颈的原因,解决它。 cpu子系统 内存子系统 IO子系统 网络系统 @cpu子系统调优 cpu技术指标 xeon E5520 2.27GHz 8192kb # cat /proc/cpuinfo # dmidecode # dmidecode --type cache # dm
阅读全文
摘要:使用nginx实现反向代理作用,具备负载均衡的功能。 接受客户端的请求 | nginx(宿主机) | | | web1 web2 (客户机) 原理: 与squid原理一样。对于客户端来说,nginx就像一台web服务器,客户端认为自己访问的所有内容都是来自nginx.但是nginx接受到客户端的请求
阅读全文
摘要:Nginx - 性能优化,突破十万并发 一般来说nginx配置文件中对优化比较有作用的为以下几项: worker_processes 8; nginx进程数,建议按照cpu数目来指定,一般为它的倍数。 worker_cpu_affinity 00000001 00000010 00000100 00
阅读全文
摘要:nginx里使用伪静态是直接在nginx.conf 中写规则的,并不需要像apache要开启写模块(mod_rewrite)才能进行伪静态。 nginx只需要打开nginx.conf配置文件,在server里面写需要的规则即可。 复制代码 代码如下: server { listen 80; serv
阅读全文
摘要:Ningx的基本使用 user www; worker_processes 2; error_log logs/error.log info; pid logs/nginx.pid; events { worker_connections 1024; // 控制允许接受的并发连接数 } http {
阅读全文
摘要:DOS,DDOS攻击与防范 DOS 拒绝服务攻击 利用程序的漏洞、利用协议的漏洞对服务器进行攻击,导致服务器无法正常对外提供服务。 例如: 利用tcp三步握手设计缺陷syn洪水攻击 a syn=100 > b a < syn=1000,ack=101 b a syn=101,ack=1001-->
阅读全文
摘要:一张图弄懂python的字符串与字节码转换
阅读全文
摘要:先安装一个python与MySQL交互的包:MySQL-python $ gunzip MySQL-python-1.2.2.tar.gz $ tar -xvf MySQL-python-1.2.2.tar $ cd MySQL-python-1.2.2 $ python setup.py buil
阅读全文
摘要:socket(套接字)就是建立连接,发送,接收。大部分网络协议都是建立在socket之上的,例如:http,ftp,smtp等等 socket用于描述IP地址和端口,是一个通信链的句柄。应用程序通常通过‘套接字’向网络发出请求或者应答网络请求,说白了就是一种通信机制。它类似于银行,电信啊这些部分的电
阅读全文
摘要:1.类的比较 class A(object): def __init__(self,value): self.value = value def __eq__(self,other): return self.value == other.value def __ne__(self,other):
阅读全文
摘要:在面向对象,继承是一个很重要的特性 子类与父类,子类是对父类的一种扩展,在父类的属性和方法上进行一些扩展 示例:没带继承 #定义一个带编号和状态的门的类 class Door(object): def __init__(self,num,status): self.num = num self.st
阅读全文
摘要:面向对象基础: 在了解面向对象之前,先了解下变成范式: 编程范式是一类典型的编程风格,是一种方法学 编程范式决定了程序员对程序执行的看法 oop中,程序是一系列对象的相互作用 python支持多种编程范式,面向过程,面向对象,面向切面(装饰器部分)等 OOP思想: 面向对象的基本哲学,世界由具有各自
阅读全文
摘要:当程序运行过程中出错的时候,捕捉到该错误,并执行一些相应的自定义操作 用法: try: expression except Exception,e: expression #try语句有异常发生后执行except try: expression except Exception,e: express
阅读全文
摘要:装饰器是函数,只不过该函数可以具有特殊的含义,装饰器用来装饰函数或类,使用装饰器可以在函数执行前和执行后添加相应操作。 def f1(arg): arg() def func(): print ('123') f1(func) >f1接收的参数是一个函数 注:func返回的是内存地址,func()才
阅读全文
摘要:递归原理:递归要慎用 斐波那契数列指的是这样一个数列 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233,377,610,987,1597,2584,4181,6765,10946,17711,28657,46368 我们发现其规律为:后一个数等于它前
阅读全文
摘要:1、对比range 和 xrange 的区别 如上代码所示,range会在内存中创建所有指定的数字,而xrange不会立即创建,只有在迭代循环时,才去创建每个数组。 def func1(): return 1 return 2 return 3 print (func1()) 问以上结果会打印什么?
阅读全文
摘要:迭代器:以list为例 >>> help(list.__iter__) Help on wrapper_descriptor: __iter__(self, /) Implement iter(self). 内部一个数据结构里面,如果还有下一个,把下一个拿给你,直到没有下一个了,迭代器的内部会执行n
阅读全文
摘要:lambda表达式 学习条件运算时,对于简单的 if else 语句,可以使用三元运算来表示,即: # 普通条件语句 # 三元运算 name = 'wupeiqi' if 1 == 1 else 'alex' 对于简单的函数,也存在一种简便的表示方式,即:lambda表达式 # ##########
阅读全文
摘要:一、打开文件:open或file都可以,3.0之后只能用open了 以只读方式打开文件: file_obj = open("E:\log.txt","r") 以读写方式打开文件: file_obj = open("E:\log.txt","r+") >可读,可写,可追加 以追加方式打开文件: fil
阅读全文
摘要:一.计数器(对字典的扩展) 有如下一个字典: dic = {'k1':123,'k2':123,'k3':12} 统计12出现的次数,123出现的次数 1.统计出现次数 2.返回前几名 3.相加 4.相减 5.迭代器 > element 二.有序字典 >和dict字典是一模一样的,只是它排序了 三.
阅读全文
摘要:内置函数: help() dir() type() id() is 比较内存地址(==比较的是值) var() 当前模块的所有变量(系统的和自己定义的) 系统的: 'file':程序的路径 '__doc__':注释的内容 '__name__':'__main__' 这个很重要,代表程序的主入口 '_
阅读全文
摘要:name1 = 'alex' name2 = name1 name1 = 'rooney' name2 = ? 答案:name2还是等于alex,因为字符串的重新定义是在内存里面重新开辟一个空间,字典,列表,就是在原来的内存空间里面修改,所以上题如果是字典或者列表的话那name2的值就是rooney
阅读全文
摘要:模块的导入方法: 1)import 模块名 2)from 模块名 import sayhi from os import system(从OS模块中调用system方法,就可以使用系统命令了) 例:system('df -h') 3)import 模块名 as 新名字 常用模块及方法: OS(系统模
阅读全文
摘要:python执行流程: 加载内存,词法分析,语法分析,编译 >字节码,执行字节码,机器码,执行机器码 #代表单行注释 """三引号代表多行注释 import sys print sys.argv 捕获参数:sys.argv 捕获的参数会是一个列表,第1个是文件名,第2个是实际的参数,要用就通过下标的
阅读全文
摘要:变量声明: name1 = "andy" name2 = name1 这个时候我把name1的值给改成了“tom”,问现在name2的值是什么?为什么? 答:andy,因为你把name1的值改了相当于你将name1指向了一个新的叫做tom的内存地址,但name2仍然指向旧的andy的内存地址(字符串
阅读全文
摘要:1.python中的一切皆对象 2.type查看对象的类型 3.dir(类型名)查看类中提供的所有功能 4.help(类型名)查看类中详细的功能 5.help(类型名,功能名)查看类中某功能的详细 类里面的方法有两种:带下划线的称为内置方法,不带下划线的称为非内置方法 int型常用方法: 字符串常用
阅读全文
摘要:两部分: 1.单值 数字 整型:int 长整型:long 浮点型:float,double 复数:用不着 布尔值:True,false 1 0 字符串 str 2.集合 列表《 》其他语言的数组 list() 元组 tuple() 字典 dict{} 哈希表 字符串格式化: %s 字符串 %d 整数
阅读全文
摘要:常用正则:匹配空行:^\s*\n 匹配www开头:^www 添加行号:awk '$0=""NR". "$0' /etc/yum.conf 1.所有域名前加www.sed -e "/^$/d" -e 's/^/www./g' file2.分组调换echo aaa BBB | sed 's/\([a-z
阅读全文
摘要:shell脚本一句话查找PHP一句话木马 python脚本查找PHP一句话木马(注意缩进) 配合find命令查找查找最近一天被修改的PHP文件 # find -mtime -1 -type f -name *.php 查找最近2小时以内被修改的文件(具有执行权限) find / -mmin -2 -
阅读全文
摘要:被入侵服务器的症状 当服务器被没有经验攻击者或者自动攻击程序入侵了的话,他们往往会消耗 100% 的资源。他们可能消耗 CPU 资源来进行数字货币的采矿或者发送垃圾邮件,也可能消耗带宽来发动 DoS 攻击。 因此出现问题的第一个表现就是服务器 “变慢了”。这可能表现在网站的页面打开的很慢,或者电子邮
阅读全文
摘要:介绍两种方法: 第一种: cat /sys/block/sda/queue/rotational 注意: 命令中的sba是你的磁盘名称,可以通过df命令查看磁盘,然后修改成你要的 结果: 返回0:SSD盘 返回1:SATA盘 第二种: lssci查看下图地方:
阅读全文
摘要:什么是XML XML 指可扩展标记语言(EXtensible Markup Language) XML 是一种标记语言,很类似 HTML XML 的设计宗旨是传输数据,而非显示数据 XML 的标签需要我们自行定义。 XML 被设计为具有自我描述性。 XML 是 W3C 的推荐标准 W3School官
阅读全文
摘要:什么是正则表达式 正则表达式,又称规则表达式,通常被用来检索、替换那些符合某个模式(规则)的文本。 正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。 给定一个正则表达式和另一个字符
阅读全文
摘要:vmstat sar (来源于sysstat工具包,需要yum sysstat)iostat (来源于sysstat工具包,需要yum sysstat)free -muptimenetstat -ntlup | grep 8080 netstat -i 显示网络接口的详细信息netstat -r 或
阅读全文
摘要:监控总体带宽使用――nload、bmon、slurm、bwm-ng、cbm、speedometer和netload 监控总体带宽使用(批量式输出)――vnstat、ifstat、dstat和collectl 每个套接字连接的带宽使用――iftop、iptraf、tcptrack、pktstat、ne
阅读全文
摘要:第一天:@调优的步骤:确定应用类型 cpu密集型: 动态页面web服务器、流媒体转编码服务器、邮件、DNS 内存密集型:数据库服务器、动态页面web服务器 IO密集型: 数据库服务器、静态文件web服务器 带宽密集型:流媒体(已经编码)服务器、静态文件web服务器、邮件服务器 建立基准数据 参考数据
阅读全文
摘要:nginx不仅可以实现http的反向代理,同时也支持TCP的反向代理以SSH为例1.编译的时候需要加入--with-stream这个参数,以加载ngx_stream_core_module这个模块2.vim nginx.conf注意要加在http之上,不能加在http里面stream { upstr
阅读全文
摘要:系统连接状态篇 :1. 查看 TCP 连接状态 或 2. 查找请求数前 20 个 IP(常用于查找攻来源): 3. 用 tcpdump 嗅探 80 端口的访问看看谁最高 4. 查找较多 time_wait 连接 5. 找查较多的 SYN 连接 6. 根据端口列进程 网站日志分析篇 1(Apache)
阅读全文
摘要:1. expires缓存时间优化作用:通过在服务器上设置合理的expires缓存时间。适合缓存的类型:静态文件:html,图片,js,css,xml都是缓存对象。优点:能够让用户不必每次访问都要重新下载,提高用户访问的速度和提升用户体验,节省服务器的带宽资源。缺点:被缓存的页面或数据更新了,用户看到
阅读全文
摘要:一、编译安装过程优化1. 减小 Nginx 编译后的文件大小在编译 Nginx 时,默认以 debug 模式进行,而在 debug 模式下会插入很多跟踪和 ASSERT 之类的信息,编译完成后,一个 Nginx要有好几兆字节。在编译前取消 Nginx 的 debug 模式,编译完成后Nginx 只有
阅读全文
摘要:性能测试:1. 首先查看一下服务器的硬件性能free -m 》查看一下内存的情况lscpu或者cat /proc/cpuinfo à查看一下cpu的情况2. 测试一下硬盘的性能hdparm -t /dev/sda3. ping一下,主要为了检测网络的延时,看time= ms(注意不要通过无线网去测网
阅读全文
摘要:Apache web 服务器提供了这种便利 :通过 HTTP 或 HTTPS 协议,访问文件和内容。配置不当的服务器端脚本语言会带来各种各样的问题。所以,使用 PHP 时要小心。以下是 25 个 PHP 安全方面的最佳实践,可供系统管理员们安全地配置 PHP。为 PHP 安全提示而提供的示例环境◆文
阅读全文
摘要:Requests: 让 HTTP 服务人类 虽然Python的标准库中 urllib2 模块已经包含了平常我们使用的大多数功能,但是它的 API 使用起来让人感觉不太好,而 Requests 自称 “HTTP for Humans”,说明使用更简洁方便。 Requests 唯一的一个非转基因的 Py
阅读全文
摘要:一、urllib2库的基本使用 所谓网页抓取,就是把URL地址中指定的网络资源从网络流中读取出来,保存到本地。 在Python中有很多库可以用来抓取网页,我们先学习urllib2。 urllib2 是 Python2.7 自带的模块(不需要下载,导入即可使用) urllib2 官方文档:https:
阅读全文
摘要:一、通用爬虫和聚焦爬虫 根据使用场景,网络爬虫可分为 通用爬虫 和 聚焦爬虫 两种. 通用爬虫 通用网络爬虫 是 捜索引擎抓取系统(Baidu、Google、Yahoo等)的重要组成部分。主要目的是将互联网上的网页下载到本地,形成一个互联网内容的镜像备份。 通用搜索引擎(Search Engine)
阅读全文
摘要:报错如下: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line
阅读全文
摘要:1.Nginx访问日志中 按照ip请求次数统计命令(必备) 2.统计IP访问量(独立ip访问数量) awk '{print $1}' access.log | sort -n | uniq | wc -l 3.查看某一时间段的IP访问量(4-5点) grep "07/Apr/2017:0[4-5]"
阅读全文
摘要:dedecms是好用,优化也好,就是不安全,个人是这样认为的,今天 闲着没事 整理了一些有助于dedecms网站安全的一些设置,可以说是目前最全的dedecms安全设置! 其一:保持DEDE更新,及时打补丁。 安装的时候数据库的表前缀,最好改一下,不用dedecms默认的前缀dede_,可以改成AN
阅读全文

浙公网安备 33010602011771号