自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(162)
  • 资源 (9)
  • 收藏
  • 关注

原创 win10 家庭版上安装docker desktop

先说结论,是可以成功的,因为人家贴图都出来了,这个没必要造假https://www.jianshu.com/p/1329954aa329/再说问题,很多人按照这个步骤却没能成功。我开始也失败了,怀疑是版本问题,又接连下载了2个版本,包括和作者截图一样的版本,仍然失败。显然,这是人品问题了。。。。最后灵光一现,再看看评论区,果然。。。最后小结一下要点:0.下载dock...

2019-08-26 14:06:24 962

原创 [python]python3一致性hash

算法很简单,代码根据网上改的移植到python3不过量少场景, 一致性hash不均匀的问题很难解决,加虚拟节点也不是很管用# -*- coding: utf-8 -*-import hashlib class ConHash(object): def __init__(self, nodes=None, n_number=16): """ ...

2018-11-06 14:08:29 1131 1

原创 [加解密]js/python/golang 兼容AES(CBC/ECB)加解密(2)--CBC模式

CBC模式用起来差别不大,就是多了一个iv还是先来js的<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head&g

2018-05-28 11:12:26 1845

转载 [加解密]js/python/golang 兼容AES(CBC/ECB)加解密(1)--ECB模式

  起因是象实现oracle兼容的加解密算法,结果折腾了好几天也没有搞定兼容的3des算法.  副产品是把aes的各种场景验证了一遍.  之前没有密码学基础,通过折腾,稍微了解了一点.AES是比3des更先进的加密算法,虽然现在也不可靠了.  加密的块处理模式分为ECB和CBC.  ECB因为不安全,以及功能废弃.如果不考虑和php兼容,那么可一不用了.  块处理就设计一个填充模式,常见的填充模式...

2018-05-28 10:27:53 1867

原创 [python]利用uuid和base64实现资源主键id

不想用mysql的自增id(造数据的时候会很麻烦),而且tiDB也不支持.而且主键希望和资源的业务属性是可对应的.比如设备就是域+ip,这样如果删除了再添加,主键不会改变.直接用uuid3,32字节的字符串有点太长,16byte的bytes操作又麻烦, 128bit的int又超过了mysql uint64的限制(拆2字节太麻烦)搜索了一下uuid的压缩方法,发现base64编码还是...

2018-05-21 13:04:06 1912

原创 [python]python的反射(续)-exec

作为解释型脚本语言,本质上其实根本不存在反射的问题。因为任意字符串都可以解释为代码。perl中有eval, python中同样也有,不过细分成了eval和exec.这个可以算是终极的反射杀器,由于威力太大,python3中在语法上做了一些限制。允许exec导入到局部变量空间而不是全局空间。比模块的加载更近一步,我们可以把一部分代码,或者说规则、模板,保存在远程的集中服务器或者配置中心,然后动态通过...

2018-05-08 09:46:43 238

原创 [python]python的引用(续)

之前本来以为已经弄明白了,又被坑了几天。彻底做了多个实验验证了一下。1.python x.py或者python d1/x.py这种直接执行方式,会把x.py所在路径加入sys.path  (p2,p3都一样)2.python -m x或者python -m d1.x    p3会把执行的当前目录加入sys.path,但 p2仍然是把x.py所在目录加入sys.path3.对于相对引用(from ....

2018-04-28 17:15:39 162

原创 [python]字符串替换format和re.sub

python字符串的格式化函数format功能很强大,可以使用一个字典来替代多个格式化字串,可以用来实现类似模板的功能。(replace只能替换单个字符串,不适用)s2="discriminator {vrf} local {_bfdlocal} remote {_bfdremote}" para={'vrf':'xinxi','bfdlocal':'100','bfdremote':'200...

2018-04-25 21:48:29 1317

原创 [python]python的反射

python虽然也是脚本,但是更像java一些,没有perl那样的黑魔法。有函数引用,但是没有解引用。只能通过字典来实现一般函数的反射。不过python的重点在于模块。对于模块,可以通过__import__来动态加载。对于模块内的函数调用,python提供了一系列辅助函数(getattr,hasattr等)#encoding=GBK#python 的 函数 反射def hello(n): p...

2018-04-23 16:14:10 266

原创 [perl]perl的反射机制

perl是一种非常灵活的脚本语言。也存在对反射的需求场景。反射就是将字符串转换为对应的语言对象。(不考虑eval这样的终极必杀技)1.反射为普通变量这个是不支持的,就是说,你没办法实现my $a="b";my $b="123";print \$a; # 企图得到"123"是不可能的变通的办法是使用hashmy $b='123';my $c{'b'}=$b;my $a='b';print ...

2018-04-23 15:44:59 323

原创 python的引用

被python的import引用折腾了两天.记录一下结论:f.py如果是引用同级目录的模块,py2直接import name.py3需要from . import如果是引用下级目录的模块  from dir import name不管是直接执行,还是python -m 执行都是一样的如果要引用上级目录或者平级目录的模块,有2个办法1是修改sys.path,  append上级/平级目录的绝对目录(...

2018-04-14 22:46:07 354

转载 [python]gevent+PyMysql实现mysql并行查询

PyMysql是pure python的mysql驱动,因此可以通过gevent实现协程化,从而实现基于协程的mysql查询.比基于多线程的连接池效率更高.(单纯查询场景,不考虑读写混合的事务问题)测试代码参考峰云的博客.在win7, python2/3环境测试通过#!/usr/bin/python# -*- coding: utf-8 -*-#测试gevent+PyMysql实现非阻塞查询...

2018-04-09 14:01:13 3063 3

原创 静态html引入其他html

在IE里面,不是问题,用jq.load就可以,在chrome内核,默认是禁止访问本地文件的,需要放在web server下才行.那么不用webserver到底行不行呢?搜索和尝试了不少方案,只有这个是靠谱的.  查了一下,这个是h5的新特性,不过对chorme不是问题(ff据说不支持)页面1<html><head><title>main</title&...

2018-03-20 11:00:32 3458 2

原创 [perl]coro在web框架(mojo,Anyevent::httpserver)中的用法

perl的AE和coro用了很多年,但是用来搭服务化框架的时候,被一个问题困扰了一年。就是在web框架中如何使用coro。之前一直都是在coro 中使用AE模块,完全没有问题。但是在AE里面用coro,倒是很少。直接在事件循环里面用coro, 会报block itself的错误。昨天在看博客的时候,看到ae::socket+coro::handler的配合,突然灵光一现。unblock就可以了吧。...

2018-03-07 10:48:43 570

原创 [go]golang snmp并发测试

没啥可说的,和ping差不多/*go routine版并发snmp测试*/package mainimport ( "fmt" "github.com/k-sone/snmpgo")var fin chan string; //用于实现jionallfunc snmpr(host string){ snmp, err := snmpgo.NewSNMP(sn...

2018-03-06 10:35:57 1475 2

原创 [go]golang snmp测试(1)

golang发展挺快的,现在都已经1.9了。现在也有了相对完备和可用的snmp库。目前支持snmpv3的主要有2个库,star都很少,看起来用snmp的人不多啊。github.com/soniah/gosnmp   293stargithub.com/k-sone/snmpgo   73star先分别测试一下snmpv2package mainimport ( "fmt" "log" ...

2018-03-06 09:29:27 2745

原创 python3的asyncio相关吐槽

python3.x开始正式支持异步io了,asyncio提供了异步事件循环和协程。还有asysnc/await语法。喜大普奔。pypi上一搜,aio*的模块还相当多。http,redis都有了。可惜,第一次尝试就挨了一闷棍。首先测试的是telnetlib3。这个和telnetlib一点都不一样啊,还没有例子。嗯,有一个例子,但是运行报错啦。好吧,再来看看aiohttp,网上有好多百万级并发的文章呢...

2018-03-02 16:26:18 2034

转载 python gevent调用系统命令

主要是抄峰云的这篇博客http://xiaorui.cc/2015/05/28/在python中使用gevent-subprocess实现shell调用/不过还是有一些小细节不同要用joinall来等待子协程完成有的情况需要异步调用,不用pipe就可以了配合web框架,把一些系统命令改造成web接口还是比较轻松的。#!/bin/env python#encoding=gbk#gevent+su...

2018-02-11 20:15:32 636

原创 不得不说,nodejs的协程真是难用

好不容易等es7出来了,promise/await/async,还是这么难用,真是令人失望。为什么不学学python,perl,lua,lua,go,erlang..(ps. python3自带的asynio也是一个德行,也是async/await...难道是串通好的?)做不了gevent的monkey_patch象coro::Anyevent那样,弄个Coro::rouse_cb和Coro::r...

2018-01-30 19:06:29 2083

原创 [python]使用gevent+telnet实现并行登录路由器

python内置了telnetlib模块,这点比perl强不少。更好的是,利用gevent的猴子补丁,可以很容易地实现基于协程的并行登录。#!/bin/env python#encoding=utf-8 import geventfrom gevent import monkeymonkey.patch_all() #创建函数 def do_telnet(Host...

2018-01-29 11:44:43 665

原创 python web一锅烩(flask,gunicom,gevent,tornado)

先说几点结论:WSGI是webserver和webapp的接口协议,相当于以前的CGI。flask是一个支持WSGI的web框架,同时自带了WSGI server. 相当于perl的mojo.gunicorn是一个独立的WSGI server(其他的都是模块)。可以支持gevent.支持woker模式。  相当于nginx.gevent是python的非阻塞协程框架,包含了WSGI

2018-01-26 17:52:20 1332

原创 python geventhttpclient测试

计划移植一个无阻塞python的服务框架.首先要解决http client的使用.Gcurl已经多年无人维护.geventhttpclient这个号称比urllib2+gevent monkey快一倍.先简单试试.#!/bin/env python# -*- coding: gbk -*-#使用poolimport geventimport gevent.pool

2018-01-22 18:37:11 1232

转载 raphael/rgraph介绍

h5火了以后,svg/vml基本很少提了。不过后者在老浏览器兼容方面,还有一些长处。-------------------------------一、raphael是什么??Raphael 是一个用于在网页中绘制矢量图形的 Javascript 库。它使用 SVG W3C 推荐标准和 VML 作为创建图形的基础。Raphael 目前支持的浏览器包括: Chrome

2017-10-23 09:06:04 2845

原创 vuejs和echarts3整合(2)

在松耦合模式下,vuejs需要通过主动调用函数来触发echarts的数据更新。echarts也可以完全不依赖vuejs,自己控制数据加载。 可以进一步实现数据绑定。这样vue的data变化,echarts也跟随更新。 echarts本身不是数据感应控件,通过watch来实现。 ECharts

2017-04-18 08:46:10 4249

原创 vuejs2和echarts3组合显示图表

由于echarts3不再通过AMD加载,无需内置echarts变量,所以整合变得简单多了。echarts成了一个普通的全局变量,可以被vue操作 ECharts {{ message }} 变换数据

2017-04-17 21:01:31 3711 2

原创 [node]nodejs ssh2测试

2.1exec(无上下文,远程执行命令)var Client = require('ssh2').Client;var conn = new Client();conn.on('ready', function() { conn.exec('uname -a', function(err, stream) { if (err) throw err; s

2017-03-11 20:27:48 3599

原创 [node]nodejs snmp测试

nodejs原生支持异步事件,语法简单,解释执行,可以替代perl来做日常运维吗?升级node最新版本。安装python.安装snmpjsnpm install xxx -g 是全局安装,否则是安装在当前目录D:\fk\work\node\snmp`-- [email protected] +-- [email protected] +-- [email protected] | `-- mv@

2017-03-11 20:25:06 2051 2

原创 U盘引导安装ubuntu16.04(包括多linux)

我的目标是做一张可以安装多个linux发行版的u盘,包括centos,ubuntu,cdlinux,clonezilla等。当然,也可以包括windows系列。之前已经弄了centos5,6,这次加上ubuntu0准备工作(这个只需要做一次)0.1u盘格式化。0.2.在虚拟机vmbox/vmware中安装的问题需要解决虚拟机u盘启动的问题,百度可有答案。

2016-11-08 17:07:06 3861

原创 windows go开发环境(3) IDE

git的命令行git bash用起来虽然很方便,但是有时不够直观。git同时提供了git GUI工具。windows下也可以使用更强大的sourcetree工具(同时支持gir,hg,svn,便于多项目查看)。  不过我对装.net framework总是心有芥蒂。能不用就不用了。还可以在sublime里面安装sublimegit插件。这样就可以直接在sublime里面完成git

2016-06-06 11:45:13 554

原创 windows go开发环境(续)

本地编译通过以后,可以考虑上传到配置库,目前基本就是git了。公网可以用 github,oschina。因为是测试代码,就上传到公司自建的gogs(荐)1.登录gogs,新建仓库,选择语言为go2 提交到gogs  .执行git bash, cd $GOPATH/src/psnmp  编写README.md. 指定远程仓库。提交.gogs有操作提示touch REA

2016-06-02 12:09:15 595

原创 windows环境go开环境实例

之前都是简单测试,没有按照go建议的开发规范来,以后要正规化。go的开发环境规范,参见doc/code中文链接  http://docscn.studygolang.com/doc/code.html1.下载并安装gohttp://www.golangtc.com/download最新的1.6.2 已经80M了。 1.1才 40M.可见go的成长还是很迅速的。设置环境变量%

2016-06-01 17:59:38 717

原创 centos 6.5安装elixir

好吧,其实是参考了http://www.unixmen.com/install-erlang-elixir-centos-7 elixir不能直接通过yum安装,但是有基于erlang的绿色包。所以只要先通过yum装好erlang即可。1.登录阿里云主机2.查看系统版本[~]$ cat /etc/issueCentOS release 6.5 (Final)Kernel

2016-05-13 18:47:43 1921

原创 windows 7 64位 elixir安装

1.卸载旧的erlang(可选)2.安装新的erlang OTP18https://packages.erlang-solutions.com/erlang/esl-erlang/FLAVOUR_1_general/esl-erlang_18.3-1~windows_amd64.exe3.下载并运行elixir web 安装工具(不用)https://s3.amazonaws.co

2016-05-13 18:44:20 2747

转载 graphana从2.5开始也可以支持ES了

graphana原本就是从kibana fork出来的,用于支持influxdb,graphite等TSDB的数据现在graphana也可以支持ES中的时间序列数据了。

2015-12-22 08:34:44 1327

原创 [es]perl操作es中文处理

es默认使用utf8, perl也默认使用utf8,但是并不代表perl可以透明支持es的中文检索。这里涉及三个和中文有关的问题,中文数据的插入,中文数据的输出和中文数据的检索。其中问题1和问题3是一样的。输入的时候,取决于数据的来源,一般来说,取决于源程序的编码格式。一般的编辑器默认为asc模式,可以转换为utf8.输出的时候,一般是输出到终端,所以取决于终端的编码格式。window

2015-11-03 09:02:35 1013

原创 kafka windows单机安装测试

初步了解一下一下kafaka的基本用法。win7 64 bitjdk1.71)下载kafka_2.10-0.8.2.1.tgz并解压(整合scala)2)修改配置文件(可选)config/zookeeper.properties  dataDir=/zookeeper这么写建到d盘根目录  dataDir=zookeeper这么写

2015-09-30 10:43:16 14118 4

原创 使用elasticsearch作为TSDB

TSDB有不少,例如open TSDB,graphite等,还有最近的新贵influxdb不过influxdb远远没到可成熟使用。对应的展示工具grafana号称源于kibana,用起来也不那么顺手。YY:  既然grafana源于kibana,那influxdb是否和elasticsearch会不会也有些关系呢?转了一圈,回到es上面。es作为搜索引擎,作为文档型数据库,是不

2015-09-15 18:08:35 3851

原创 phantomjs的局限性

phantomjs无疑是web测试的一件神器。无界面,跨平台。不过现下的版本实用中还是有些不足。1. 不支持flash,没法处理视频网站的测试。即使是支持plugin的1.4x版本。flash视频也是无法播放的。不管等待多长时间,flash只会显示开始画面。也无法探知页面的实际视频链接。但是真实的浏览器确实可以的。 2。暴露的底层api太少。 不如berserkjs

2015-06-06 19:49:25 3386

原创 aau的控件数组操作

当界面上有很多类似控件时,总希望可以通过控件数组来操作.在aau的论坛上找到了如下方法mainForm.button1.oncommand = function(id,event){ //mainForm.msgbox( mainForm.button1.text ); mainForm.edit.text=mainForm.button1.text; }var i=2;ma

2014-12-04 15:20:19 711

原创 aau查询sqlite

不可否认,aau的老大能力很强,也提供了不少文档和例程.不过很多东西,还是要亲自动手才能发现里面的坑.比如form的背景图,在设计界面可以选png,但是运行时出不来.plus控件的前景无法清除等. 下面是查询sqlite结果的显示.多行结果可以用listview来显示 //迭代查询mainForm.listview.clear() for(deckcod

2014-12-04 15:13:42 632

wsmud辅助脚本

包含了nginx的绿色包,直接解压后,运行nginx.需要redirector插件配合. 包含修改的ws.min.js和华山逍遥峨眉的脚本.

2018-11-15

svg基本操作的js封装。

svg基本操作的js封装。未完版. 实现了svg的初始化。支持ie8以下,opera,chrome 实现了矩形、线、文本元素的创建

2012-06-21

travian4 页面分析工具

很简单。手工登录(简单地图模式)。然后开始扫描输入坐标周围35*35范围。(t4的小地图比t3大一圈,没注意,改一下更好。) 使用vb的webbowser控件。(windows ie自带的) 之前很多人都困惑于ajax的动态数据获取。 此例证明,直接获取页面的html得到的是静态数据,要在downloadcomplete时间中获取html才能得到完整的数据 保存用的richtextbox,也是 windows自带的。 我的是xp,如果真没有就网上找一个吧。

2011-06-16

vml topo示例2 支持批量拖曳的

本来应该和前一个集成一起的。 偷懒了。 不过说起来。这个原创的成分还多一点。

2010-12-15

vmltopo demo

带背景 支持拖放、缩放、自动摆放 这个之前blog里面也有发布。不下也没关系啊。

2010-12-15

vml topo的集中展现示例image.rar

这个是示例用的图片。下不下随便了。 混分用的。

2010-12-15

vml topo相关资源2-moveObj.js

movObj.js 这个是比较通用的js 可以拖曳html的单个元素和连线。 我还扩展了一下批量拖曳的功能 所以多收1分哦。谢谢大家

2010-12-15

vml拓扑相关的js源码(1)

CreateNE.js 用于封装topo网元的创建

2010-12-15

iird用户指南(翻译)

大家对ipnic、cnnic的地址申请、域名申请服务比较熟悉,对国际路由申请就比较陌生了。实际上, whois的查询结果中,as号和路由信息就是从IRR获得的。irrd是一个开源的irr服务器。可以和radb同步irr信息。查询路由前缀的归属。

2009-12-15

空空如也

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

TA关注的人

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