Sylvia's blog


  • Home

  • Archives

  • Tags

资料整理

Posted on 2018-06-19

在线编程及学习网站

CSDN博客
python web guide
编程语言
python核心编程
Fluent Python
算法与数据结构
Python算法与数据结构中文教程
计算机科学导论公开课
计算机网络
图解http
http权威指南
Liux
Linux工具快速教程
数据库
关系型数据库
内存型数据库
文档型数据库
版本控制
Pro Git
Web服务器
Nginx
前端
html
代码素养
代码规范
单元测试
注释和文档
书籍推荐: 代码大全,编程匠艺
软件工程
构建之法-现代软件工程
preview

Go语言学习

ssh介绍

Posted on 2018-06-13

ssh是什么

用于远程登录、应用层和传输层之间的安全协议

ssh远程操作

登录

ssh user@host
默认端口22

在远程主机上执行操作

ssh user@host 'mkdir -p .ssh && cat >> .ssh/authorized_keys' < ~/.ssh/id_rsa.pub

问题

登录linux显示连接错误

测试总结

Posted on 2018-05-29

测试经验

在测试前,列出关键测试点
考虑测试项需要的执行时间,有效、合理的安排
查看log是个好习惯
不能放过每一个”感觉上”不合理的地方
每个测试都充分思考:这个能否自动化,如何自动化

BDD框架behave的使用

Posted on 2018-05-21

behave介绍

是基于python语言的BDD(behavior driven devepment,行为驱动开发)软件
官方说明文档

安装和使用

支持pip安装
通过命令行调用,但对windows系统而言,命令行+sublime容易引起编码问题,
推荐使用pycharm,可以debug错误原因,需要pycharm专业版。

关键字

与cucumber一致,在项目文件夹下建立feature文件,项目文件夹下的steps子文件中建立python文件,定义子节点的实现方式
一个feature对应一个.feature文件,一个feature可以包含多个scenario

given

when

then

and

but

场景模板

scenario outline

节点注释

context.text

context

新的feature和scenario的运行都会覆盖旧的context

表格

context.table

parse & cfparse

标签

问题

  1. python2.7 print函数编码问题导致命令行不能正常运行behave,显示编码错误

反爬虫策略

Posted on 2018-05-19

写在前面

网站的反爬虫和服务器的反反爬虫策略斗争可以说很丰富了。
为什么要反爬虫?

  • 高频率、长时间的访问会给服务器带来较大负载压力,影响正常用户的使用,这一点也容易被用于恶意攻击

user-agent白名单

headers(请求头)字段含义:

headers用以客户端向服务器表明身份

  • Accept
    • 客户端支持的响应数据类型
  • Accept-charset
    • 客户端编码
  • Accept-encoding
    • 客户端支持的响应数据压缩格式
  • Host
    • 客户端请求的主机名
  • Referer
    • 客户端从哪个资源访问服务器
  • user-agent
    • 客户端软件环境
  • Cookie
  • Connection
    • 请求后的链接状态:keep-alive | close
  • Date
    • 客户端当前请求时间
      最好随机生成user-agent
      1
      2
      3
      4
      5
      6
      7
      # 建立user-agent列表,每次请求时在其中随机选择
      agents = ['Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0;',
      'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv,2.0.1) Gecko/20100101 Firefox/4.0.1',
      'Opera/9.80 (Macintosh; Intel Mac OS X 10.6.8; U; en) Presto/2.8.131 Version/11.11',
      'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_0) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11',
      'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; 360SE)']
      headers['User-agent'] = agents[random.randint(0, len(agents))]

IP限制

当客户端请求行为与正常用户差异较大时,eg.高访问频率,同一IP大量访问,这样的异常IP会被服务器加入黑名单

1
2
3
# 降低访问频次
time.spleep(timeinterval)
# 设置IP代理池

js验证码

可以采用OCR自动识别

vim使用

Posted on 2018-05-18

三种模式

命令模式

vi filename进入命令模式

插入模式

在命令模式下输入i进入插入模式
esc退回到命令模式

底行模式

命令模式下输入:进入底行模式
enter返回命令模式

光标移动

命令模式下h, j, k, l

退出vim

:q未修改文件直接退出
:q!修改文件不保存直接退出
:w保存文件不退出
:wq保存文件后退出

命令模式下的常用命令

行号显示

:set nu
:set nonu

复制

: 起始行号, 终止行号 copy 目标行号
img

github + hexo搭建博客

Posted on 2018-05-17

写在前面

工作之后很难有大量的时间专注于学习或者研究某个内容, 每天的杂事很多,不知道时间如何流逝,于是有了想要写博客的念头。
初步目标是在每日工作后,总结今天学习或者新理解的东西。

hexo + github搭建博客方法

参考博客
这一篇足够了,条理很清楚,对技术宅而言就更简单了。
基本是hexo + git + cmder,如果都有了解,半小时不到完全可以搞定

补充注意点:
hexo命令 需要在blog文件夹下执行

cmder

  • 作用:cmd的美化版
  • 使用方法:官网下载–解压–运行.exe
  • 优点:支持linux命令以及好看: )
  • 加入右键菜单方法:
    • 添加环境变量
    • 终端运行命令: cmd.exe /REGISTER ALL

博客主题

上述搭建博客的帖子中给出了github上的一个主题样例 知乎有相关的问题贴

Markdown

语法参考

Sublime

  • 支持markdown插件
    • Ctrl + Shift + P
    • 安装package control:输入install,选择package control
    • package control中输入install package
    • 安装markdown插件:Markdown Editing和MarkdownLivePreview
  • 最好设置管理员模式运行 (右键属性勾选管理员模式运行)

博客使用

hexo new "blog name"
hexo generate
hexo server
hexo deploy

12
Sylvia

Sylvia

一勺辣酱, 五味人生

17 posts
5 tags
© 2018 Sylvia
Powered by Hexo
Theme - NexT.Muse