6 LiosWong

尚未进行身份认证

我要认证

Less is more

等级
TA的排名 1w+

dubbo_telnet自动化测试脚本

该脚本使用dubbo telnet方式(dubbo官网提供的dubbo python client目前只支持jsonrpc协议,目前环境不支持),可以根据该脚本实现dev、test环境的接口自动化、压力测试,根据具体需求填补脚本即可。#!/usr/bin/python# -*- coding:utf-8 -*-import jsonimport telnetlibimport unittestimport timeimport reclass Dubbo(telnetlib.Telnet

2020-05-28 17:05:02

记录xpath解析html的一个坑

使用xpath解析表格时,个别td标签内容为空,导致解析出来的数组列数有问题,进而在写入csv文件时,数据错位。解决的办法用占位符填补空白:text.replace(r'<td style="white-space: pre-wrap;"></td>', '<td style="white-space: pre-wrap;">None</td>')https://lioswong.gith

2020-05-14 10:15:24

解析html页面导出csv文件脚本

某些时候,需要从前端页面中批量获取数据,但是没有导出功能,可以通过脚本的方式处理即可。下面是一种情况,后端接口返回了html文件,但是该页面并不支持表格导出功能,如果需要获取数据,需要解析该html文件。根据实际情况灵活处理。#!/usr/bin/python# -*- coding:utf-8 -*-import jsonimport loggingimport mathimport timeimport reimport requestsimport sysimport csvfr

2020-05-10 23:15:47

kafka producer python脚本

工作中会在开发环境中测试生产kafka消息,该脚本简单的实现了这一功能。#!/usr/bin/python# -*- coding:utf-8 -*-from pykafka import KafkaClientimport jsonimport logginglogging.basicConfig(level=logging.INFO)client = KafkaClient(hosts="102.2.20.31:15386") # 可接受多个Client,多个broker# pri

2020-05-10 22:59:18

kafka consumer python脚本

工作中会在开发环境中测试消费其他系统的消息,该脚本简单的实现了这一功能。#!/usr/bin/python# -*- coding:utf-8 -*-from pykafka import KafkaClientimport jsonimport logging# logging.basicConfig(level=logging.INFO)client = KafkaClient(hosts="102.1.10.221:15386") # 可接受多个Client,多个broker#

2020-05-10 18:59:40

生成海量csv文件数据脚本

工作中可能会用到海量的测试数据,可以通过脚本的方式简单快速处理,下面通过python生成海量的csv数据文件,具体的列可以根据需求定制。# -*- coding: utf-8 -*-import requestsimport sysimport reimport csvimport random'''从csv文件中读取数据'''def readCsv():# 读取csv至字典 csvFile = open("/Users/lioswong/LiosWong/sublimetext/

2020-05-10 18:53:51

charles踩坑记录

环境charles v 4.2.8MacBook Pro手机一加6问题描述使用charles抓手机上的包一直抓不到,手机上已经装了charles证书,而且重复装了很多次,还是不行解决[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QSCsn2eT-1573456737531)(https://note.youdao.com/yws/api/perso...

2019-11-11 15:19:45

arthas简单使用

简介Arthas 是Alibaba开源的Java诊断工具,深受开发者喜爱,项目地址.当你遇到以下类似问题而束手无策时,Arthas可以帮助你解决:这个类从哪个 jar 包加载的?为什么会报各种类相关的 Exception?我改的代码为什么没有执行到?难道是我没 commit?分支搞错了?遇到问题无法在线上 debug,难道只能通过加日志再重新发布吗?线上遇到某个用户的数据处理有问题,但...

2019-10-15 15:38:26

Dubbo服务引入

关于Dubbo的SPI机制、服务暴露已有文章介绍,该文介绍Dubbo的服务引入.在Dubbo中,我们可以通过两种方式引用远程服务。第一种是使用服务直连的方式引用服务,第二种方式是基于注册中心进行引用.服务直连的方式仅适合在调试或测试服务的场景下使用,不适合在线上环境使用.因此,本文我将重点分析通过注册中心引用服务的过程.运行 demo-dubbo --》 dubbo-demo-api --》 d...

2019-10-06 15:30:22

Dubbo服务暴露过程解析

Dubbo SPI的暴露原理参考https://lioswong.github.io/2019/09/17/Dubbo-SPI%E5%AE%9E%E7%8E%B0%E5%8E%9F%E7%90%86/,本文分析服务暴露过程,运行 demo-dubbo --》 dubbo-demo-api --》 dubbo-demo-api-provider 中 Application:public class...

2019-09-30 09:36:22

Dubbo SPI实现原理

Dubbo 并未使用 Java 原生的 SPI 机制,而是对其进行了增强,使其能够更好的满足需求,在 Dubbo 中,SPI 是一个非常重要的模块。基于 SPI,我们可以很容易的对 Dubbo 进行拓展.本篇文章通过示例说明,先 download 代码,然后在 ``demo-dubbo --》 dubbo-demo-api --》 dubbo-demo-api-provider` 下新建类:@...

2019-09-17 14:15:11

CountDownLatch

CountDownLatch是java.util.concurrent包下的线程同步类,并发环境下线程对计数值减1操作,当计数值为0时,被wait阻塞的线程将被唤醒,达到线程同步.该类涉及到的主要方法:// 当前线程在计数值减到0之前一直等待,除非当前线程被中断void await()// 当前线程在计数值减到0之前一直等待,除非当前线程被中断或者超过了指定的等待时间boolean aw...

2019-08-12 20:01:21

zookeeper入门

Apache ZooKeeper是Apache软件基金会的一个软件项目,他为大型分布式计算提供开源的分布式配置服务、同步服务和命名注册。 ZooKeeper曾经是Hadoop的一个子项目,但现在是一个独立的顶级项目。ZooKeeper的架构通过冗余服务实现高可用性。因此,如果第一次无应答,客户端就可以询问另一台ZooKeeper主机。ZooKeeper节点将它们的数据存储于一个分层的命名空间,非...

2019-04-21 18:24:37

适配器模式

在设计模式中,适配器模式(英语:adapter pattern)有时候也称包装样式或者包装(wrapper)。将一个类的接口转接成用户所期待的。一个适配使得因接口不兼容而不能在一起工作的类能在一起工作,做法是将类自己的接口包裹在一个已存在的类中。–维基百科适配器模式包含如下角色:Target(目标抽象类)Adapter(适配器类)Adaptee(适配者类)Client(客户类)适配...

2019-03-15 00:01:03

装饰者模式

修饰模式(装饰者模式),是面向对象编程领域中,一种动态地往一个类中添加新的行为的设计模式。就功能而言,修饰模式相比生成子类更为灵活,这样可以给某个对象而不是整个类添加一些功能。–维基百科装饰者UML类图(摘自维基百科):Component(基类)它是被装饰者和抽象装饰类的共同父类,声明了在具体构件中实现的业务方法,它的引入可以使客户端以一致的方式处理未被装饰的对象以及装饰之后的对象,实现...

2019-03-14 01:27:08

观察者模式

观察者模式观察者模式是软件设计模式的一种。在此种模式中,一个目标对象管理所有相依于它的观察者对象,并且在它本身的状态改变时主动发出通知。这通常透过呼叫各观察者所提供的方法来实现。此种模式通常被用来实时事件处理系统。–维基百科生活中,顾客(Customer)去商店购买电器,但是由于缺货,顾客留下手机号码,告知店主(Manager)有货时及时通知;即顾客(观察者)订阅了店主(被订阅者)的到货的服务,...

2019-03-12 16:29:43

模版方法模式

定义模板方法模式定义了一个算法的步骤,并允许子类别为一个或多个步骤提供其实践方式。让子类别在不改变算法架构的情况下,重新定义算法中的某些步骤.在软件工程中,它是一种软件设计模式,和C++模板没有关连.–维基百科案例首先看一个最常见的模版方法,Spring中的org.springframework.context.support.AbstractApplicationContext#refre...

2019-03-04 23:35:19

策略模式

策略模式作为一种软件设计模式,指对象有某个行为,但是在不同的场景中,该行为有不同的实现算法。比如每个人都要“交个人所得税”,但是“在美国交个人所得税”和“在中国交个人所得税”就有不同的算税方法。–维基百科在项目中时常会用到策略模式的场景,比如业务中需要支付,但是有多个支付渠道,那如何对上层业务暴露"统一口径"(接口)呢,下面结合代码说明,首先定义支付接口:public interface P...

2019-03-03 23:48:58

Mac Sublime Text3 Nodejs环境搭建

工作中会接触到管理后台的页面开发,之前用的IDE工具是IntelliJ IDEA,虽然功能强大,本身却很沉重,今天介绍使用sublimetext3搭建Nodejs运行环境.安装插件SublimeText-Nodejs及配置关于node、npm、sublimetext3的安装不做介绍,下载SublimeText-Nodejs(https://github.com/tanepiper/Sublim...

2019-02-28 01:00:29

Redis数据类型及命令

Redis是一个使用ANSI C编写的开源、支持网络、基于内存、可选持久性(英语:Durability_(database_systems))的键值对存储数据库(英语:Key-value database),数据类型strings(字符串)字符串是一种最基本的Redis值类型。Redis字符串是二进制安全的,这意味着一个Redis字符串能包含任意类型的数据,例如: 一张JPEG格式的图片或...

2019-02-24 22:22:50

查看更多

勋章 我的勋章
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。