飞污熊博客

静下心来做一件事

在CentOS7和JDK8中,默认使用的openssl或keytool命令生成的PKCS12证书库, 使用的加密算法为弱加密算法pbeWithSHA1And40BitRC2-CBC,需要升级为新的安全算法。

可通过如下命令查看PKCS12格式的证书库文件详细信息。

阅读全文 »

本地开发联调的时候需要将代码快速更新至开发环境验证效果,无需走冗长的流水线发布流程,直接通过maven插件快速部署。

通过引入maven插件maven-antrun-plugin,可实现本地编译打包、scp复制到服务器、ssh远程执行脚本。 实现复制jar包到容器中,并最终重启容器的效果。

阅读全文 »

Arthas 是Alibaba开源的Java诊断工具,深受开发者喜爱。

当你遇到以下类似问题而束手无策时,Arthas可以帮助你解决:

  • 这个类从哪个 jar 包加载的?为什么会报各种类相关的 Exception?
  • 我改的代码为什么没有执行到?难道是我没 commit?分支搞错了?
  • 遇到问题无法在线上 debug,难道只能通过加日志再重新发布吗?
  • 线上遇到某个用户的数据处理有问题,但线上同样无法 debug,线下无法重现!
  • 是否有一个全局视角来查看系统的运行状况?
  • 有什么办法可以监控到JVM的实时运行状态?
  • 怎么快速定位应用的热点,生成火焰图?

官方文档:https://alibaba.github.io/arthas/

阅读全文 »

在企业级开发中、我们经常会有编写数据库表结构文档的时间付出,如果数据库表结构更新了还得手动更新维护到文档中,很是繁琐。 无意之间发现了github上面有个人写了一个小工具专门来做这个事情,名字叫screw(螺丝刀),用了下很不错。这里特意记录一下。

工具的github地址:https://github.com/pingfangushi/screw

阅读全文 »

MkDocs是一个快速、简单、华丽的静态网站生成器,适用于构建项目文档。文档源文件以Markdown编写,并使用一个YAML文件来进行配置。 MkDocs生成完全静态的HTML网站,你可以将其部署到GitHub pages、Amzzon S3或你自己选择的其它任意地方。

MkDocs有一堆很好看的主题。 官方内置了两个主题: mkdocsreadthedocs, 也可以从MkDocs wiki中选择第三方主题, 或者自定义主题

阅读全文 »

Kubernetes是一个全新的基于容器技术的分布式架构解决方案,是一个可移植的、可扩展的开源平台, 用于管理容器化的工作负载和服务,可促进声明式配置和自动化。 Kubernetes 拥有一个庞大且快速增长的生态系统。Kubernetes 的服务、支持和工具广泛可用。

Google 在 2014 年开源了 Kubernetes 项目。Kubernetes 建立在 Google 在大规模运行生产工作负载方面拥有十几年的经验的基础上,结合了社区中最好的想法和实践。

阅读全文 »

这一篇开始讲解面向对象中最核心的基础知识,包含了继承、多态以及对象的属性访问等。

在面向对象编程中继承是指一个新类的定义基于某个已有的类,新的类叫子类,而比继承的类称为父类或超类。

还是以手机为例,定义一个手机类,拥有品牌、颜色基本属性。

1
2
3
4
5
6
7
8
class Phone(object):
def __init__(self, brand, color):
self.__brand = brand
self.__color = color

def print_color(self):
print('color is {}'.format(self.__color))
return self.__color
阅读全文 »

面向对象编程(OOP)跟面向过程编程是两种程序设计思想,OOP将计算机程序视为一组对象的集合, 这些对象直接可通过发送消息来通信,程序执行的就是这一系列的消息。而面向过程将程序视为一组命令或函数集合, 函数又划分为多个子函数以降低系统复杂度。

Python既支持面向过程编程,又支持面向对象编程。封装、继承和多态是面向对象编程的三大特点。 面向过程就是以函数为中心的编程,这个在前面已经讲过,从这篇开始正式讲解Python面向对象编程。

阅读全文 »