190319-Python之URL解析姿势

记录下python3+中,如何解析url,获取想要的信息过程, 首先看下url的构造,基本结构如下

IMAGE

我们主要借助的是 urlparse 来实现参数解析

阅读更多

190318-Python之异常堆栈信息打印

使用python的logging模块进行日志打印,发现堆栈信息总会被吃掉,导致分析问题缺少必要的上下文,搜索一番才发现,原来是使用姿势不对

阅读更多

190317-Quick-Fix 通过反射执行任意类目标方法的实现全程实录(下篇)

前面两篇反射,分别介绍了如何封装参数和定位方法,对于最终的反射调用,还缺少的是目标类的确定和方法执行;本篇博文将目标集中在这最后一块

链上上两篇文章地址

阅读更多

190315-Quick-Fix 通过反射执行任意类目标方法的实现全程实录(中篇)

全程实录上篇,主要介绍了如何解析传入的String参数为我们目标方法的参数类型和对象,其中主要讲述的是基本类型、Class类型、泛型以及普通的POJO类型转换;我们这一篇,目的则放在如何找到需要执行的类和方法,这里需要借助前面的参数解析结果来确定目标方法

阅读更多

190311-Quick-Fix 通过反射执行任意类目标方法的实现全程实录(上篇)

反射可以说是java中非常强大的一个特性了,而我们的quick-fix整个项目,也都是基于反射的基础实现任意目标方法的调用执行,对于fix项目而已,核心在于以下几点

  • 如何将外部请求定位我们需要执行的类、方法
  • 如何将外部参数转换为目标方法的可执行参数
  • 如何执行目标方法

简单来讲,就是封装参数为目标类型,定位目标,然后执行

阅读更多

190308-Mysql DDL出现长时间等待MDL问题分析

给表新增字段时,发现锁表了,查看进程,提示Waiting for table metadata lock,等待锁释放;然而蛋疼的是几分钟过去了,依然没有任何的进展

现在就有几个问题了

  • Metadata Lock 是什么鬼
  • 是什么原因导致一直等待

阅读更多

190216-MongoDB之Collection导入导出

mongodb中集合的导入导出,在robot3t工具中没有找到对应的方法,记录下控制台的操作流程

主要利用: mongoexportmongoimport

阅读更多

190212-linux线程数查询

ssh登录远程服务,忽然提示su: failed to execute /bin/bash: 资源暂时不可用,然后通过root账号登录服务器没有问题,但是使用su切换用户时,依然失败,提示上面的错误,搜索一下可能原因是线程数沾满,杀掉一些占用大量线程的进程即可;然后记录下linux下线程数的相关操作

阅读更多

190211-Python之时间和日期使用小结

对于日期的操作可以说是比较常见的case了,日期与格式化字符串互转,日期与时间戳互转,日期的加减操作等,下面主要介绍下常见的需求场景如何实现

阅读更多

190127-Git项目代码行数统计

统计项目某个某个时间段的行数

1
git log --author="$(git config --get user.name)"  --before='2018-12-31 23:59:59' --after='2018-01-01 00:00:00' --pretty=tformat: --numstat | awk '{ add += $1 ; subs += $2 ; loc += $1 - $2 } END { printf "added lines: %s removed lines : %s total lines: %s\n",add,subs,loc }'

阅读更多

190124-查看进程tcp连接情况

如何查看一个进程的tcp连接情况?

1
lsof -p 进程号 -nP | grep TCP

阅读更多

2018年全年回顾小结

春来暑往,又一年过去了,特意翻了一下去年的总结,也是拖延到1月17号写的;今年却是更晚😭。年度总结,现在想来,这一年也发生了不少的事情,18年也算是人生的一个转折点。

阅读更多

190122-python随机数Random使用实例

在python中如何生成随机数? Random如何使用?

阅读更多

190122-python计算md5的几种方式

计算String/文件的md5属于比较常见的需求;特别是web项目,为了验证客户端上传的东西,通过校验md5来判断参数是否串改,属于常见的手段,下面简单记录下python可以如何计算md5

阅读更多

190117-Rabbitmq启动失败的问题

rabbitmq启动,死活起不来,一直报错,记录下解决方式

1
2
Redirecting to /bin/systemctl start rabbitmq-server.service
Job for rabbitmq-server.service failed because the control process exited with error code. See "systemctl status rabbitmq-server.service" and "journalctl -xe" for details.

阅读更多

190115-Shell目录下文件统计

文件夹下文件的统计,通常用的是wc来做,下面简单小结一下各种case

阅读更多

190114-beautifulsoup4版本不一致导致解析问题

beautifulsoup4 这个用于解析html的包,不同版本的使用姿势问题,导致解析数据异常

阅读更多

190109-mysql 新增多列写法

记录下同时新增多列的sql写法

1
alter table table_name add (amount decimal(20,8) NOT NULL DEFAULT '0.00000000' COMMENT '数量' , price decimal(20,8) NOT NULL DEFAULT '0.00000000' COMMENT '价格');

用圆括号包含起来即可

阅读更多

190108-Quick-Fix 如何优雅的实现应用内外交互之接口设计篇

如何实现应用内外交互,是Quick-Fix框架的核心之一,我们常见的应用有提供web服务的(如Spring应用),有进行大数据计算的(如Storm应用),有提供rpc的后台服务(如通过dubbo提供rpc的数据服务),有纯jar服务等;基本上我们可以划分为两类

  • 应用本身,有一套健全的与外界交互的机制(这里不包括db/redis等数据的读写)
  • 应用只关注自己的服务功能(接收数据,产生数据,保存数据),本身不与第三方的应用进行交互

针对上面这两种case,我们应该怎么来设计一套应用内外交互的方案,来实现接收外部请求,执行应用内部方法或访问应用内部数据,并返回结果的目的?

阅读更多

190105-Python 搭建私服教程

在python项目中,需要引入第三方的包,可以通过pip很简单的引入;但是有个问题,公司内部的包,也不能发布到pypi仓库吧,所以搭建自己的私服就很有必要了,下面介绍一下基于PypiServer搭建私服的教程

阅读更多

渲染
渲染