- 博客(57)
- 资源 (17)
- 收藏
- 关注

原创 公开课,业余时间分享了一节公开课,有需要的朋友可以看看
腾讯课堂:https://ke.qq.com/course/329678?tuin=1b04813e 公开课内容:抓包工具fiddler讲解
2018-09-07 17:00:26
312

原创 扫描Class文件,获取所有可调用方法及方法的入参等信息
主要思路: 1.从gitlab上下载contract源码,使用org.eclipse.jgit 2.mvn编译并把生成的jar和依赖的jar拷贝到指定目录下,使用org.apache.maven.shared maven-invoker 3.扫描源码列出所有以I开头,以.java结尾的文件绝对路径getCanonicalPath() 4.根据第三步的文件绝对路径,切割转换出classNa...
2018-07-16 16:35:48
1147

原创 python抓取动态数据 A股上市公司基本信息
1.背景之前写的抓取A股所有上市公司信息的小程序在上交所网站改版后,需要同步修改2.编码过程以抓取宇通客车【600066】信息为例打开网址http://www.sse.com.cn/assortment/stock/list/info/company/index.shtml?COMPANY_CODE=600066
2016-10-07 17:33:38
12994
原创 递归调用转为循环
背景有一个接口会返回json格式的字符串,json格式是嵌套的,类似这样的如下的结构,需要转换为一个list,当然最简单的写一个递归就可以了,但是有一句话: “所有的递归都可以转化为循环”,那么就用循环实现吧。{ "respData":[ { "id":1, "isvalid":1, "orgName":"汽车", "parentId":0, "subOrg...
2020-02-21 18:04:35
697
原创 自定义ClassLoader的实现
背景公司使用的是自己实现的RPC框架,有自己的传输协议和序列化方式,在RPC服务启动的时候,会扫描当前服务的lib目录,然后后加载以com.xxx开头的class文件,为接口的返回结果序列化为java Object做准备。2019年开始,通过不断的调研和思考,RPC服务接口测试平台初具雏形,在开发测试平台的时候,一直存在一个问题,测试平台肯定要能够为所有的RPC服务都提供测试能力,但是每个RP...
2020-02-16 16:10:21
643
原创 Junit5 动态执行测试类
Junit5 重新构造了junit5,支持在代码中执行测试类使用LauncherDiscoveryRequest、Launcher的方法实现public void executeByJunit5(String serviceName, String branch, String fileName) { //需要执行的测试类绝对路径 String testCase...
2019-12-26 16:55:24
1020
原创 kafka和hive一起使用,SparkSession StreamingContext一起使用
object RealTimeRequestParamCollect { // 在伪分布式中,一个spark 应用对应了一个main函数,放在一个driver里,driver里有一个对应的实例(spark context).driver 负责向各个节点分发资源以及数据。 // 那么如果你把创建实例放在了main函数的外面,driver就没法分发了。所以如果这样写在local模式下是可以成功的...
2019-12-12 21:17:30
943
原创 记一次配置fiddler转发请求(HTTPS)不生效的解决过程
一、背景同一个域名,其中一个前缀开头的请求需要分到192.168.187.170:8089才能正常访问,8089为web应用监听端口,也就是说这类特殊的请求不通过nginx处理前提:公司网络架构为:nginx–>web应用–>rpc服务二、首次配置fiddler script OnBeforeRequest方法中增加如下配置if (oSession.uriContains('...
2019-10-20 16:28:03
3242
原创 select2动态添加option
select2动态添加option背景html原来的实现javascirpt实现后端接口返回取值修改后javascript实现后端接口返回结果取值结论背景select2 使用ajax remote加载数据方式时,不能使用$(’#select2’).val();的形式获取option的value,为了统一代码风格,需要把请求接口返回的结果以optin的形式动态添加到select2组件上。htm...
2019-06-20 17:21:16
7038
转载 RPC服务测试新思路
RPC服务测试新思路原创:转转QA转转QA引言为了保证RPC服务的稳定,最大可能的防止BUG带到线上,测试过程中对RPC服务做接口测试是必要的步骤。目前的通用做法是在测试框架中引入被测服务的contract 包,再基于contract包开发对应的接口测试代码,并尽量全面的构建覆盖多个场景的入参。目前的方式有几方面不足: 必须有一定Java基础的测试同学才能够胜任; ...
2019-04-02 11:00:53
2328
原创 自动生成testng.xml
工作中接到一个任务,调研是否可以实现rpc服务自动diff功能。本篇是其中的一个子功能,测试类的testng.xml自动实现。实现原理: 1.实例化XmlSuite类 2.扫描目录下所有的classes文件,然后遍历class的所有方法是否包含@Test注解 3.步骤2中的必要信息放到XmlSuite中 4.保存XmlSuite到指定位置主要方法:/** * 生成test...
2018-07-24 14:31:10
1787
转载 java在运行时动态编译.java文件,转载Stack OverFlow
原始地址:https://stackoverflow.com/questions/27608408/compiling-a-class-at-runtime-with-classpathI’m currently trying to compile a class at runtime but for some reason it’s only working on one system. B...
2018-07-19 11:23:48
292
原创 java指定目录下的jar加到classloader中
List<URL> libUrls = new ArrayList<URL>();// contract依赖的所有jar,加到classloader的classpath中File libPath = new File(Const.ROOT_TESTCASES_PATH + File.separator + Const.SERVICE_PREFIX + serviceNa...
2018-07-16 16:11:56
1074
转载 jdk8删除非空文件夹,拷贝自StackOverflow
import java.io.File;import java.nio.file.Files;import java.nio.file.Path;import java.nio.file.Paths;import java.util.Comparator;/** * 多个文件相关的复杂操作,组合到一起 * * @author shenyanfang * @date 2018年...
2018-07-16 16:03:59
2095
转载 python heapq简述 从https://github.com/qiwsir/algorithm/blob/master/heapq.mdfuzh复制
python中的堆排序peapq模块heapq模块实现了python中的堆排序,并提供了有关方法。让用Python实现排序算法有了简单快捷的方式。heapq的官方文档和源码:8.4.heapq-Heap queue algorithm下面通过举例的方式说明heapq的应用方法实现堆排序#! /usr/bin/evn python#coding:utf-8from he...
2018-07-11 11:40:54
876
原创 eclipse 4.5 离线安装mybatis generator1.3.6卡在Install New Software的解决方法
eclipse Mars Release (4.5.0) 离线安装 Mybatis generator 1.3.6 卡在Install New Software的解决方法
2018-04-19 14:28:59
1750
原创 记一次crontab 报“abrt: detected unhandled Python exception in ”错误的解决过程
题记 上周把一个python服务迁移到新的机器上,顺带着需要把python写的一个后台任务也迁移到新的机器。但是在新的机器上python的定时任务就是不执行。下面记录一下自己的解决过程,以备以后查阅。现象 先来看一下现象: 首先查看 vi /var/log/cron文件,看定时任务是否执行了,从该文件可以看到任务确实执行了 接下来查看vi /var...
2018-04-13 19:23:06
9169
原创 python2.7.14 translate解释
先把源码放在这里PyDoc_STRVAR(translate__doc__,"S.translate(table [,deletechars]) -> string\n\\n\Return a copy of the string S, where all characters occurring\n\in the optional argument deletechars are remo
2018-03-09 17:04:49
452
原创 python2.7 maketrans工作原理
今天用到了python str maketrans,顺道看了一下实现原理,做一下记录# Case conversion helpers# Use str to convert Unicode literal in case of -U# 把ascii表的字符放到list中l = map(chr, xrange(256))# 把list转换为str_idmap = str('')....
2018-02-28 17:20:54
581
原创 二十、python 字符串去重,主要依赖maketrans和translate这两个方法
最近遇到一个问题,怎么来对一个字符串去重? 我的思路是1.先分割字符串;2.然后使用set去重;3.用join连接起来。 那就引入了另一个问题:怎么分割字符串来保证结果中不包含空格?当然有很笨的方法,本篇主要谈论有没有一种更简单的方法?首先,先来看一下需要分割的字符串# 张三;李四;王五;张三;李四bbb = u';\u5f20\u4e09;\u674e\u56db;\u738...
2018-02-28 16:19:28
2535
原创 十九、弹出框文字带超链接
原因:弹出提示框,让用户先登录,才可以进行被保护的操作,想要提示框中的文档带超链接; 过程: alert:实现不了,文字会原样展示 自定义alert:就想实现一个简单的功能,不想写太多代码 jquery ui dialog:简单,div中支持复杂的样式展示 html:<div id="alertlogin" title="请先登陆"> <p><a href='/login?next
2017-11-30 11:05:06
4328
1
原创 十八、python self.write
从handler向前端返回信息可以使用 self.write({'result':'1', 'message':'get mannully issues error'}) 如果你有多行代码,例如:try: xxxxxxxx except Exception, e: traceback.print_exc() self.write({'result'
2017-10-23 17:16:02
2886
原创 十七 bootstrap-table tableExport 导出xlsx格式表格
在[十六、bootstrap-table javascript导出数据]中,打开导出的表格时,总会弹出一个提示窗 那么,导出xlsx格式的应该就没问题了吧?!实验如下,查找tableExport.js资料 TableExport插件依赖于jQuery(1.2.1+),FileSaver.js。为了支持.xlsx(Office Open XML SpreadsheetML Format)格式,你必
2017-10-09 15:38:35
20102
9
原创 十六、bootstrap-table javascript导出数据
使用bootstrap-table免不了要导出表格中的内容,直接在中设置的参数毕竟有限,bootstrap-table当然支持更个性化的设置,下面直接贴出我这几天用到的参数,比如:不导出checkbox列,设置导出的文件类型,设置导出的文件名称等等,如果下面的内容没有符合你要求的,也可以邮件联系我:shenyan-f@163.com,大家共同学习。前端html<div id="toolbar" cl
2017-09-17 15:39:53
823
原创 十五、bootstrap-table editable
使用表格的时候,避免不了增删改查,下面就把自己使用bootstrap-table editable的过程记录一下 第一步,下载 bootstrap-editable.css v1.5.1 bootstrap-editable.min.js v1.5.1 bootstrap-table-editable.js 当然jquery和bootstrap的js和css都是必须的 第二步,html
2017-09-17 15:32:36
1128
原创 一维码的规则Code39 EAN13
之前使用pyBarcode瞎B修改生成的图片大小,造成生成的条码竟然扫码枪竟然扫不出来,汗。。。 特地去恶补了一下各个编码的要求,也算给自己留个记录。 原来编码还要求宽度,比例,编码前后的空白区等等。。。EAN13编码示例图 参考文章: 中国物品编码中心: http://www.ancc.org.cn/2014/tiaoma/index.html EAN-13条形码编码规则: htt
2017-09-12 18:28:02
1546
原创 附加4个行业的对比表格
继续推销自己写的小工具:https://github.com/shenyanf/SuitableStocks附带4个行业的对比表格 港口航运.xls 环保工程.xls 零售.xls 汽车整车.xls链接:http://pan.baidu.com/s/1gfCdyHP 密码:wl4l
2017-09-12 18:02:13
436
原创 Windows bat脚本获取administrator权限
代码:@echo offecho 获取Administrator权限cacls.exe "%SystemDrive%\System Volume Information" >nul 2>nulif %errorlevel%==0 goto Adminif exist "%temp%\getadmin.vbs" del /f /q "%temp%\getadmin.vbs"echo Set
2017-09-03 09:43:55
21787
原创 四、python图像合并,打印图片
生活中肯定会遇到两张图片或多张合并成一张图片的情况,下面使用python+Pillow 实现这个目的。 代码:import win32printimport win32uiimport win32confrom barcode.writer import ImageWriterfrom barcode.codex import Code39from PIL import Image, I
2017-09-01 14:19:39
4181
原创 三、python调用打印机,打印文字
代码:import win32printimport win32uiimport win32condef print2Printer(self): INCH = 1440 hDC = win32ui.CreateDC () hDC.CreatePrinterDC (win32print.GetDefaultPrinter ()) hD
2017-09-01 11:38:49
17904
4
原创 二、文字转成图片,图片上写字
文字转成图片:def text2Image(self): text = u"这是一段测试文本,test 123。" im = Image.new("RGB", (300, 50), (255, 255, 255)) dr = ImageDraw.Draw(im) font = ImageFont.truetype(os.path.join
2017-09-01 11:38:03
813
6
原创 十四、bootstrap-table 展示数据
最开始使用js拼接成table中的行,追加到table上,来实现数据的展示,需要写好多之类的html标签,不美观,而且也不便于维护;后期改用bootstrap-table实现数据的展示和加载,一下子就从繁琐的html拼接中解放出来了,github地址:https://github.com/wenzhixin/bootstrap-tablebootstrap-table支持导出、查找、隐藏列,还可以添
2017-09-01 11:36:33
4156
原创 十三、highchart实现看板功能
之前对比了ECharts和Highcharts,发现highchart文档更清晰,举的例子也简单明了;而echarts虽然看着很强大,热力图、平行坐标等,官网上列出了一大堆效果图的例子,但是,就是找不到头绪,最后就放弃了Echarts,改用highchart了,ORZ~ 某乎上还有讨论:https://www.zhihu.com/question/21438840 html: <!DOCT
2017-09-01 11:35:57
3649
原创 十二、用modal 实现浮层效果
html: <!DOCTYPE html><html><head> <meta charset="UTF-8"> <script type="text/javascript" src="/static/js/jquery-2.1.0.js"></script> <script type="text/javascript" src="/static/js/bootstra
2017-09-01 11:35:15
727
原创 十一、select2实现下拉菜单
html: <!DOCTYPE html><html><head> <meta charset="UTF-8"> <script type="text/javascript" src="/static/js/jquery-2.1.0.js"></script> <link rel="stylesheet" href="/static/css/select2.min.cs
2017-09-01 11:33:36
1226
原创 一、python 生成一维码
html: <!DOCTYPE html><html><head> <meta charset="UTF-8"> <script type="text/javascript" src="/static/js/jquery-2.1.0.js"></script> <link rel="stylesheet" href="/static/css/select2.min.cs
2017-09-01 11:12:17
4955
原创 十、jquery-ui datepicker实现选择一周的日期
html页面: <!DOCTYPE html><html><head> <meta charset="UTF-8"> <link rel="stylesheet" href="/static/css/jquery-ui.css"> <script type="text/javascript" src="/static/js/jquery-2.1.0.js"></scrip
2017-08-31 11:29:58
3201
原创 九、两个list拼成dict
在写程序的过程中,经常会遇到两个list拼成dict的情况,对于java来说需要遍历,新建map等操作,但是在python中一行代码就可以搞定 for itemDict in issuesList: summaryList.append(itemDict['summary']) devTimeList.append(MyUtil.str2float(itemDi
2017-08-31 11:28:55
406
原创 八、发送邮件
发送邮件代码如下: from email.mime.text import MIMETextfrom email.header import Headerimport smtplibimport datetimefrom poseidon.myutil import MyUtilimport loggingfrom _socket import timeoutclass SendMai
2017-08-31 11:28:24
322
原创 七 mysql连接池
数据保存到数据库中,当然少不了获取连接及执行sql 使用连接池,获取连接@classmethod def getConnection(cls): ''' @return: 返回一个数据库连接的实例 ''' logger = logging.getLogger('myLogger.myutil.Myutil') t
2017-08-31 11:27:43
193
DB.Browser.for.SQLite-3.10.0-win64.exe
2017-09-08
Pillow-4.2.0.tar.gz
2017-08-31
Pillow-4.2.1.tar.gz
2017-08-31
pywin32 python2.7
2017-08-30
mysql-connector-python
2017-08-30
liferay-portal-sql-6.1.2-ce-ga3-20130816114619181
2014-06-12
liferay-portal-sql-6.1.1-ce-ga2-20120731132656558
2012-10-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人