天飞 学习笔记


  • 首页

  • 关于

  • 标签

  • 分类

  • 归档

  • 公益404

  • 搜索

git change user name in history commits

发表于 2019-07-26 | 更新于: 2019-07-26 | 分类于 git

Git 修改历史提交记录中的用户名

背景

之间git提交时的用户名不对,但已经提交了4个commit了,所以需要修改历史记录中的用户名.

方案

使用git rebase

git rebase会把基于 rebase的版本后的commit取消掉,并临时保存为path到.git/reabase目录中,然后把当前分支更新到rebase的分支,最后把你修改的成为path的版本以补丁的形式应用到rebase的版本上.
1564128143617

阅读全文 »

python学习笔记

发表于 2019-07-25 | 更新于: 2019-07-25 | 分类于 python

python 笔记

独立环境

graph TB
pyenv-->wrappervirtualenv_lazy
wrappervirtualenv_lazy-->mkvirtualenv
mkvirtualenv-->workon

I/O multiplexing

graph TB
DefaultSelector--生成事件注册-->register
fileobj--参数-->register
events--参数-->register
data--参数-->register
register--instance-->SelectorKey
SelectorKey--event is ready-->select
select --> event_list("[(key, events),(SelectorKey instance, bitmask of events ready ),...]")
event_list-->SelectorKey
event_list-->mask
SelectorKey-->fileobj
SelectorKey-->fd
SelectorKey-->events
SelectorKey-->data

设计模型

1. 装饰器(decorator)模式

(俄罗斯套娃封装)

1
2
3
@装饰器二
@装饰器一
核心对象
  1. 创建一个装饰函数,内部定义一个wrapper新函数执行一些操作,将被装饰函数作为参数传入装饰函数,返回新函数
  2. 行为类似多重继承.
  3. 当在装饰器与继承之间选择时,只需要根据一些条件对对象进行动态修改时使用装饰器.
    1. 日志装饰器,传递一些参数动态记录日志
  4. 作用:
    1. 增强核心对象的能力
    2. 让核心对象支持多种可选行为
    3. 编写判断执行不同的装饰器

2. 观察者模式

状态监测,事件处理

1
核心对象->update()->观察者们->各自处理自已的任务

1564143774413

3. 策略模式

每个策略类都包含同名方法,接收相同参数.

1
2
核心对象->策略1
核心对象->策略2

4.状态模式

状态类的目的是实现状态转换,需要一个上下文类提供转换接口和指针指向状态类,状态类对前面的调用者是隐藏的.

1
2
3
4
5
6
Context -> state -> [state1, state2, state3] -> Parser
OpenTag
||
FirstTag -> ChildNode <=> Text
||
CloseTag
阅读全文 »

使用nvm管理node版本

发表于 2019-07-25 | 更新于: 2019-07-25 | 分类于 front-end

nvm管理node版本

安装

curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.8/install.sh|bash

配置环境

1
2
3
4
5
6
7
[Wed Jul 24 talen@tp-arch-tianfei ~]$ vim  ~/.bashrc
# nvm
export NVM_NODEJS_ORG_MIRROR=https://npm.taobao.org/mirrors/node
#source /usr/share/nvm/init-nvm.sh
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion

查看lts版本

1
2
3
4
5
6
[Wed Jul 24 talen@tp-arch-tianfei ~]$ nvm ls-remote --lts
v4.2.0 (LTS: Argon)
...
v10.15.2 (LTS: Dubnium)
-> v10.15.3 (LTS: Dubnium)
v10.16.0 (Latest LTS: Dubnium)
阅读全文 »

Django2.2 url path error

发表于 2019-04-30 | 更新于: 2019-11-08   |   更新于 2019-11-08 | 分类于 django
1
2
3
WARNINGS:
?: (2_0.W001) Your URL pattern 'nagios/alert/(?P<pk>\d+)/delete/' [name='nagios-alert-delete'] has a route that contains '(?P<', begins with a '^', or ends with a '$'. This was likely an oversight when migrating to django.urls.path().
?: (2_0.W001) Your URL pattern 'nagios/alert/(?P<pk>\d+)/update/' [name='nagios-alert-edit'] has a route that contains '(?P<', begins with a '^', or ends with a '$'. This was likely an oversight when migrating to django.urls.path().

搜索了一下,URL中有正则表达式的需要使用re_path代替path,修改后修复

阅读全文 »

运维常用术语

发表于 2019-04-12 | 更新于: 2019-11-08   |   更新于 2019-11-08 | 分类于 uncategorized
1
2
TCO(总体拥有成本)
黑石物理服务器2.0: 基于腾讯云最新虚拟化技术研发的一款拥有极致性能裸金属云服务器
1
2
3
4
云盾Web应用防火墙(Web Application Firewall,简称 WAF)基于云安全大数据能力,用于防御SQL注入、XSS跨站脚本、常见Web服务器插件漏洞、木马上传、非授权核心资源访问等OWASP常见攻击,并过滤海量恶意CC攻击,避免您的网站资产数据泄露,保障网站的安全与可用性。

如何使用WAF
您购买Web应用防火墙后,把域名解析到Web应用防火墙提供的CNAME地址上,并配置源站服务器IP,即可启用Web应用防火墙。启用之后,您网站所有的公网流量都会先经过Web应用防火墙,恶意攻击流量在Web应用防火墙上被检测过滤,而正常流量返回给源站IP,从而确保源站IP安全、稳定、可用。
1
2
3
4
5
CC攻击
攻击者借助代理服务器生成指向受害主机的合法请求,实现DDOS和伪装就叫:CC(ChallengeCollapsar,挑战黑洞)。


CC攻击是一种针对Http业务的攻击手段,该攻击模式不需要太大的攻击流量,它是对服务端业务 处理瓶颈的精确打击,攻击目标包括:大量数据运算、数据库访问、大内存文件等,攻击特征包括:a、只构造请求,不关心请求结果,即发送完请求后立即关闭会话;b、持续请求同一操作;c、故意请求小字节的数据包(如下载文件);d、qps高;针对CC的攻击的防御需要结合具体业务的特征,针对具体的业务建立一系列防御模型,如:连接特征模型,客户端行为模型,业务访问特征模型等,接收请求端统计客户信息并根据模型特征进行一系列处理,包括:列入黑名单,限制访问速率,随机丢弃请求等。针对流行的 DDoS/CC 流量型攻击,DDoS 高防服务可以通过云端清洗集群、数据库监控牵引系统等技术进行有效的削弱。市面上的“高防服务器”、“高防服务”有很多,但资源是无底洞,选择高防服务可以从安全性、易用性、成本效益等方面来考量。其中安全性是核心,不能缓解攻击的,再便宜也是白扔钱。安全性的决定因素:服务器和带宽资源。主流云服务商的高峰服务都可以防护 SYN Flood、ACK Flood、ICMP Flood、UDP Flood、DNS Flood、HTTP Flood等常见的攻击类型,以及针对应用层的 CC 攻击,但最终能否防护成功还要看厂商可防护带宽的大小。比如网易云易盾 DDoS 高防服务,提供 1T 超大防护带宽,单 IP 防护能力最大可达数百 G,就是认为超大带宽才能从容应对超大流量攻击。流量分析能力。唯有基于海量数据分析,进而对合法用户进行模型化,才能对 DDoS 流量进行精确清洗。借助网易云易盾 DDoS 高防服务,用户可以通过配置高防 IP,将攻击流量引流到高防 IP,抵御超大流量 DDoS 攻击。弹性扩展能力。DDoS 流量巨大,防护系统支持弹性扩展,采用基础预付费+弹性后付费,既可以在避免带宽浪费的前提下进行有效防护,又可以节约成本。

use /sbin/netconfig 命令更新/etc/resolv.conf文件

发表于 2019-04-01 | 更新于: 2019-11-08   |   更新于 2019-11-08 | 分类于 opensuse

netconfig是用于设置网络环境的命令

阅读全文 »

use imagemagick convert命令批量resize图片

发表于 2019-03-30 | 更新于: 2019-11-08   |   更新于 2019-11-08 | 分类于 uncategorized
1
for img in $(ls);do convert -resize 40%x40% -quality 80 $img convert_$img;done

图片质量还是可以的,对于3M左右的图片,压缩到40%,质量80差不多300多K的样子,只需要1/10的存储空间

zabbix always in progress problem

发表于 2019-02-28 | 更新于: 2019-11-08   |   更新于 2019-11-08 | 分类于 zabbix

zabbix告警触发时一直显示in progress状态,查询了许多资料都没有解决.后来发现media脚本是pyc,更换成py后解决.这个有点太无语了.

15 zabbix 自动发现discover

发表于 2019-02-19 | 更新于: 2019-11-08   |   更新于 2019-11-08 | 分类于 zabbix

网络发现

zabbix提供自动网络发现功能是非常高效灵活的.
使用网络发现

  • 提高部署效率
  • 简化管理
  • 自动管理

自动发现基于以下信息:

  • IP段
  • 可用的外部服务访问(FTP,SSH,WEB,POP3,IMAP,TCP,etc)
  • 非加密的zabbix agent信息
  • snmp agent信息

目前还不具有的功能:

  • 网络拓扑

网络发现主要有两个部分:discovery-> action

阅读全文 »

Prometheus 架构分析

发表于 2019-02-18 | 更新于: 2019-11-08   |   更新于 2019-11-08 | 分类于 kubernetes

1…456…10

天飞

95 日志
41 分类
79 标签
RSS
GitHub E-Mail
Links
  • 天飞的博客
© 2017 — 2020 天飞
由 Hexo 强力驱动
|
主题 — NexT.Gemini v5.1.4
本站访客数 人次 本站总访问量 次