经常逛GitHub的可能关注一个牛叉的项目,叫 What the f*ck Python!这个项目列出了几乎所有python中那些鲜为人知的功能特性,有些功能第一次遇见时,你会冒出 what the f**k 的感叹。因为这些例子看起来反人类直觉。但是如果你理解了它背后的真正原理,你又会惊叹what the f**k, 竟然还有这么骚的操作。来看看几个例子吧。微妙的字符串>>> a = &...
5年前 (2020-06-20)
阅读(2036)
赞一个 (1 )
链接直达
一、基本操作1、链式比较i = 3
print(1 < i < 3) # False
print(1 < i <= 3) # True2、不用else和if实现计算器from operator import *...
5年前 (2020-06-15)
阅读(2115)
赞一个 (0 )
链接直达
char如何存UTF-8字符?UTF-8的由来我们知道char是占两个字节的这个大家都知道,那UTF-8是什么呢?我们见得比较多,真正能说清楚的也不见得都能做到,在谈到UTF-8,我们不得不谈下Unicode,对于有些人来说Unicode可能稍微陌生点,但是说到ASCII码估计大家都知道。简单说明下,我们知道计算机只能识别0和1,那么如何将我们这个世界中如此众多的文字呈现或者传播呢?美国人搞了个ASCII码就是一个将英文中的字母和一些特...
5年前 (2020-06-15)
阅读(3639)
赞一个 (1 )
链接直达
在谈论为什么之前先来科普下什么是二方库,二方库也称作二方包,一般指公司内部发布到中央仓库,可供公司内部其他应用依赖的库(jar 包)。那么一方库便是本工程内部子项目模块依赖的库;三方库为公司之外的开源库,比如像 fastjson、easyexcel 这种。下面我们就通过一个例子来看下为什么阿里巴巴不允许返回枚举类型或者包含枚举类型的 POJO 对象。比如星巴克提供了 0.0.1 版本的二方库,定义了一个 Starbucks 类,里面包含...
5年前 (2020-06-15)
阅读(3139)
赞一个 (1 )
链接直达
PyAutoGUI是用Python写的一个模块,使用它可以控制鼠标和键盘。利用它可以实现自动化任务,再也不用担心有重复枯燥的任务了。pyautogui模块的功能:移动鼠标、点击左右键和滚轮发送虚拟按键安装pyautoguiudo pip3 install pyautogui导入模块测试:import pyautogui准备Python移动鼠标、点击键盘非常快,有可以导致其他应用出现问题。如果出现了问题,而鼠...
5年前 (2020-06-14)
阅读(3123)
赞一个 (0 )
链接直达
生活中的尴尬无处不在,有时候你只是想简单的装一把,但某些“老同志”总是在不经意之间,给你无情的一脚,踹得你简直无法呼吸。但谁让咱年轻呢?吃亏要趁早,前路会更好。喝了这口温热的鸡汤,咱们来聊聊是怎么回事。事情是这样的,在一个不大不小的项目中,小王写下了这段代码:Map<String, String> map = new HashMap() {{
&nbs...
5年前 (2020-06-07)
阅读(1973)
赞一个 (0 )
链接直达
失败?往List里面添加数据竟然提示不支持?日期明明间隔1年却输出1天,难不成这是天上人间?1582年神秘消失的10天JDK能否识别?Stream很高大上,List转Map却全失败……这些JDK8官方挖的坑,你踩过几个?# Base64:你是我解不开的迷出于用户隐私信息保护的目的,系统上需将姓名、身份证、手机号等敏感信息进行加密存储,很自然选择了AES算法,外面又套了一层Base64,之前用的是 sun.misc.BASE64Decod...
5年前 (2020-06-07)
阅读(2058)
赞一个 (7 )
链接直达
每次维护别人遗留的项目,看着一团乱麻的代码一头雾水的时候,是不是有想揪出作者揍一顿的冲动。别着急,今天就给大家介绍一种解决方案。设计模式(Design pattern)代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用。设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误总结出来的。对于那些具有丰富的开发经验的开发人员,学习设计模式有助于了解在软件开发过...
5年前 (2020-06-07)
阅读(2656)
赞一个 (0 )
链接直达
通过 arthas 的 redefine 命令,可以像 PHP 一样,不用重新发布,就可以改变程序行为。但是用多了,发现很多时候,我们就改了几行代码,甚至有的时候就添加了一行日志,就无法 redefine 了。提示:redefine error! java.lang.UnsupportedOperationException: class redefinition failed: attempted to add a method它提示...
5年前 (2020-06-07)
阅读(2275)
赞一个 (2 )
链接直达
一、事件还原我在做项目的性能测试,用 arthas 查询耗时接口方法。监控 DocHandler 接口耗时,它有多个实现类。我们都知道,正常情况下,trace、tt、monitor、watch 都是只会有一个请求结果,而这个方法,每次却都是两次,这就让人很疑惑了。monitor 两次请求tt 两次请求tt -i xx 结果是一样,只是每次请求的耗时不一样。watch ...
5年前 (2020-06-04)
阅读(3634)
赞一个 (2 )
链接直达
如何使用arthas查看成员变量搜了一下官方文档没找到合适方法直接查看对象的成员变量,发现一位朋友有这样一个办法,一般我们用Spring时,可以写一个Holder类,实现ApplicationContextWare接口,这样我们在Spring加载后可以获取其context变量,context.getBean可以通过类名获取对象。所以基于这个想法,可以这样写,完整示例如下:1、定义Holder类import org.spring...
5年前 (2020-05-30)
阅读(13161)
赞一个 (2 )
链接直达
java8中的Stream相信大家都使用过,代码可以变得简洁漂亮,甚至习惯后,简直爱不释手,根本不想再使用以前的通俗写法。但是初学者很容易犯一些错误。本文介绍一下Stream中可能会使用的一个错误用法:Stream.max(Integer::max) 和 Stream.min(Integer::min)让我们先来看下如下代码:abcd分别输出什么?int a = Stream.of(2, 1,&n...
5年前 (2020-05-30)
阅读(2633)
赞一个 (0 )
链接直达