赞了文章2023-02-20
很简单,首先使用 ps 命令获取进程的 pid然后使用 top 命令监控top -p {pid}, 然后进去后,按 shift+h,就能看到了实战先用 ps 命令获取对应进程的 pid {代码...} 该 top 命令表演了 {代码...} 进来只能看到一个 item这个时候,按下 shift+h 就能看到所有线程了
赞了文章2021-08-31
许多Java开发者都曾听说过“不使用的对象应手动赋值为null“这句话,而且好多开发者一直信奉着这句话;问其原因,大都是回答“有利于GC更早回收内存,减少内存占用”,但再往深入问就回答不出来了。
赞了文章2021-08-20
以下图的 Python 为例, 0.1 + 0.2 并不等于 0.3,8.7 / 10 也不等于 0.87,而是 0.869999…,真是太奇怪了 🤔
赞了文章2020-03-17
提到Redis我相信各位在面试,或者实际开发过程中对缓存雪崩,穿透,击穿也不陌生吧,就算没遇到过但是你肯定听过,那三者到底有什么区别,我们又应该怎么去防止这样的情况发生呢,我们有请下一位受害者。
赞了文章2020-03-16
后端开发中,我们经常使用web框架来实现各种应用,比如python中的flask,django等,go语言中的gin等。web框架提供了很多现成的工具,大大加快了开发速度。这次,我们将动手实现自己的一个web框架。
赞了文章2020-03-13
HTTP 缓存可以说是HTTP性能优化中简单高效的一种优化方式了,缓存是一种保存资源副本并在下次请求时直接使用该副本的技术,当 web 缓存发现请求的资源已经被存储,它会拦截请求,返回该资源的拷贝,而不会去源服务器重新下载。一个优秀的缓存策略可以缩短网页请求资...
赞了文章2019-08-26
最近想做个小程序,需要用到授权认证流程。以前项目都是用的 OAuth2 认证,但是Sanic 使用OAuth2 不太方便,就想试一下 JWT 的认证方式。这一篇主要内容是 JWT 的认证原理,以及python 使用 jwt 认识的实践。
发布了文章2019-05-21
schema嵌套 schema可以嵌套使用以表示对象间的关系(如外键关系)。 例如下例中Blog有一个用User对象表示的author属性: {代码...} 使用Nested子类接收嵌套的schema表示二者的关系: {代码...} 序列化后的blog对象将包含嵌套的user对象: {代码...} 如果field嵌套对象...
发布了文章2019-05-21
schema嵌套 schema可以嵌套使用以表示对象间的关系(如外键关系)。 例如下例中Blog有一个用User对象表示的author属性: {代码...} 使用Nested子类接收嵌套的schema表示二者的关系: {代码...} 序列化后的blog对象将包含嵌套的user对象: {代码...} 如果field嵌套对象...
发布了文章2019-05-21
有三种方式创建自定义的field。 创建Field类的子类 创建继承自marshmallow.fields.Field类的子类并实现_serialize和/或_deserialize方法: {代码...} Method Fields fields.Method将序列化schema中某个方法的返回值,该方法必须接收一个要进行序列化的对象的参数obj...
发布了文章2019-05-21
有三种方式创建自定义的field。 创建Field类的子类 创建继承自marshmallow.fields.Field类的子类并实现_serialize和/或_deserialize方法: {代码...} Method Fields fields.Method将序列化schema中某个方法的返回值,该方法必须接收一个要进行序列化的对象的参数obj...
发布了文章2019-05-21
创建schema实例时如果传递了many=True,表示需要接收输入数据集合,装饰器注册预处理和后处理方法时需要传递参数pass_many=True。预处理和后处理方法接收输入数据(可能是单个数据或数据集合)和布尔类型的many参数:
发布了文章2019-05-21
创建schema实例时如果传递了many=True,表示需要接收输入数据集合,装饰器注册预处理和后处理方法时需要传递参数pass_many=True。预处理和后处理方法接收输入数据(可能是单个数据或数据集合)和布尔类型的many参数:
发布了文章2019-05-20
快速上手 Declaring Schemas 首先创建一个基础的user“模型”(只是为了演示,并不是真正的模型): {代码...} 然后通过定义一个映射属性名称到Field对象的类创建schema: {代码...} Serializing Objects ("Dumping") 传递对象到创建的schema的dump方法,返回一个序列化...
发布了文章2019-05-07
shortopts:要识别的短选项字符串,如果后接:表示需要给定参数。如ab:c:,表示识别-a, -b和-c的短选项,其中-b和-c需要后接参数。如果不需要短选项,可以设置为空字符串。
发布了文章2019-04-22
查看帮助 help help <action> 关闭supervisord shutdown 重载配置文件并重启supervisord和program reload 读取当前运行配置和program配置文件的差异 reread 重载配置文件并重启受影响的program update 重启program(不会重载配置文件) restart <name> res...
发布了文章2019-04-21
算数扩张(Arithmetic Expansion)。通过使用反引号,双括号和let命令可以将字符串转换为数字表达式。 使用反引号 通常和expr结合使用: {代码...} 使用双括号((...))或$((...)) 双括号中的变量引用符号$可以省略。 {代码...} {代码...} 使用let命令 let命令中的变量引...
发布了文章2019-04-21
array_name=(value1 value2 value3 ...)或declare -a array_name=(value1 value2 value3 ...)
发布了文章2019-04-21
引用的意思是用引号括起一个字符串,以保护字符串中的特殊字符不被shell或shell脚本重新解释或扩展: {代码...} 但某些程序会重新解释或扩展引号括起的字符串中的特殊字符。比如某些场景下引号的用途是保护shell命令参数,但仍然允许调用程序扩展特殊字符: {代码......
发布了文章2019-04-12
(command1;command2;command3;...)会启动子shell。子shell可以访问父shell的变量,对父shell变量的改动只在子shell中有效;子shell中定义的变量是局部变量,外部不能访问: