chaos-god
码龄18年
求更新 关注
提问 私信
  • 博客:154,270
    社区:212
    154,482
    总访问量
  • 47
    原创
  • 39
    粉丝
  • 27
    关注
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:江苏省
加入CSDN时间: 2007-05-02

个人简介:弃我去者昨日之日不可留, 乱我心者今日之日多烦忧。 长风万里送秋雁,对此可以酣高楼。 蓬莱文章建安骨,中间小谢又清发。 俱怀逸兴壮思飞,欲上青天揽明月。 抽刀断水水更流,举杯销愁愁更愁。 人生在世不称意,明朝散发弄扁舟。

博客简介:

追风筝的人的专栏

查看详细资料
个人成就
  • 获得81次点赞
  • 内容获得80次评论
  • 获得343次收藏
  • 代码片获得1,439次分享
  • 博客总排名2,425,457名
创作历程
  • 2篇
    2023年
  • 2篇
    2022年
  • 17篇
    2021年
  • 4篇
    2020年
  • 1篇
    2019年
  • 4篇
    2016年
  • 4篇
    2015年
  • 1篇
    2014年
  • 8篇
    2013年
  • 5篇
    2012年
成就勋章
TA的专栏
  • 算法
    2篇
  • javascript
    1篇
  • c++
    13篇
  • python
    28篇
  • 测试
    7篇
  • java
    6篇

TA关注的专栏 0

TA关注的收藏夹 0

TA关注的社区 4

TA参与的活动 0

兴趣领域 设置
  • 人工智能
    机器学习深度学习
创作活动更多

新星杯·14天创作挑战营·第13期

这是一个以写作博客为目的的创作活动,旨在鼓励大学生博主们挖掘自己的创作潜能,展现自己的写作才华。如果你是一位热爱写作的、想要展现自己创作才华的小伙伴,那么,快来参加吧!我们一起发掘写作的魅力,书写出属于我们的故事。我们诚挚邀请你们参加为期14天的创作挑战赛!注: 1、参赛者可以进入活动群进行交流、互相鼓励与支持(开卷),虚竹哥会分享创作心得和涨粉心得,答疑及活动群请见:https://bbs.csdn.net/topics/619781944 【进活动群,得奖概率会更大,因为有辅导】 2、文章质量分查询:https://www.csdn.net/qc

79人参与 去参加
  • 最近
  • 文章
  • 专栏
  • 代码仓
  • 资源
  • 收藏
  • 关注/订阅/互动
更多
  • 最近

  • 文章

  • 专栏

  • 代码仓

  • 资源

  • 收藏

  • 关注/订阅/互动

  • 社区

  • 帖子

  • 问答

  • 课程

  • 视频

搜索 取消

Python学习:如何通过非阻塞方式读写子进程输入输出

线程很多情况下不能提升性能,而且不容易杀死,容易阻塞,编写线程并发永远不是一个简单的问题。多进程并发,也是如此,如何杀死进程,如何读进程输出不阻塞,处理起来也不是那么容易。到这里为止,关于子进程读写的主要内容都已经说到了,剩下的就是进行详细的封装,设计成类,便于使用而已。,有兴趣去可以搜索下,不是本文的重点),使用起来限制太多,不容易设计成与子进程进行灵活的交互。(循环执行的装饰器)等方法都比较简单,限于篇幅就不放代码了,自己改造下,或者自己实现。子进程的输入管道,写一般不会阻塞的,直接调用。
原创
博文更新于 2023.03.30 ·
2368 阅读 ·
6 点赞 ·
0 评论 ·
16 收藏

Python学习:loguru日志库

中的日志库使用起来有点像,但配置通常比较复杂,构建日志服务器时也不是方便。标准库的替代品是,使用起来就简单的多。默认的输出格式是:时间、级别、模块、行号以及日志内容。不需要手动创建 ,开箱即用,比使用方便得多;另外,日志输出内置了彩色功能,颜色和非颜色控制很方便,更加友好。是非标准库,需要事先安装,命令是:******。**安装后,最简单的使用样例如下:上述代码输出:日志打印到文件的用法也很简单,代码如下:上述代码运行时,可以打印到console,也可以打印到文件中去。默认格式是时间、级别、名称+模块
原创
博文更新于 2023.03.25 ·
4884 阅读 ·
4 点赞 ·
0 评论 ·
21 收藏

docker学习:Fedora容器

网上介绍fedora容器非常少,基本都是ubutun容器。fedora容器使用过程还是遇到一些小问题,有必要单独说明下。
原创
博文更新于 2022.11.29 ·
787 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

docker学习:docker基础容器构建

准备一台ubuntu系统,可以是vm也可以实体机。本文的内容是基于vm环境构建。
原创
博文更新于 2022.11.26 ·
503 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

通过管道进行cmd进程输入输出重定向,源代码

发布资源 2012.09.26 ·
h

Python学习:python对象转换json字符串

1.问题json是网络传输比较简单易用。python中,json和dict对象可以相互转换,首先我们看下简单的dict对象转换。student = { 'name': 'chaos', 'age': 18, 'school': { 'name': "tsinghua" }}print(json.dumps(student))输出为:{"name": "chaos", "age": 18, "school": {"name": "tsinghua
原创
博文更新于 2021.10.04 ·
5190 阅读 ·
6 点赞 ·
1 评论 ·
5 收藏

Python学习:如何使用pytest-mock(1)

1.问题使用pytest做python代码的测试是很容易的,不过被测试代码对网络、数据库等远程服务有依赖,这种情况该如何快速方便的进行测试。2.方案python的unitest包是支持单元测试的,有mock可以用。并且pytest-mock进行高层次的封装,用起来更加方便。安装包:pip3 install pytest-mock2.1.小试牛刀直接采用类似官方的例子,我们代码中要使用os.getcwd获取当前工作目录。只是我们的代码是在windows系统上,实际代码需要linux下工作,测试代
原创
博文更新于 2021.09.05 ·
1633 阅读 ·
1 点赞 ·
0 评论 ·
3 收藏

Python学习:如何试用pytest-mock(2)

1.问题前面我们讨论了pytest-mock,给模块mock的使用方法。当时还列举了两个问题,如何给对象的属性进行mock,以及如何同一个地方进行mock,避免每个测试用例单独mock,我们现在来看看这两个问题。2.方案2.1.给对象属性mock首先我们看下为何会有对象mock的问题。python中不少代码,开发的时候不会指明类型,到了实际执行的时候才会知道用什么类型,因此不能使用import,所以用前面说的对模块mock就行不通了。我们来构造这样一个例子。chaos模块中,继续定义一个Perso
原创
博文更新于 2021.09.05 ·
761 阅读 ·
2 点赞 ·
2 评论 ·
1 收藏

Python学习:执行系统shell命令

1.问题python可以作为shell替代,代码比较直观,易于维护。 python支持调用外部shell命令。不过,这个问题没有看上去简单,要完美的解决此问题,比较复杂,就连标准库也不见得处理得很好。2.方案2.1.方案一首先最简单的方法就是调用system方法,直接执行系统shell命令,代码如下:import osos.system('ls -l')system主要问题,就是无法获取shell命令的输出,无法进行输入;也没有超时设置,如果外部命令挂死,会直接导致当前进程挂死。2.2
原创
博文更新于 2021.08.22 ·
3741 阅读 ·
1 点赞 ·
0 评论 ·
12 收藏

Python学习:scapy库的Packet与str相互转换

1.问题python的scapy库,是构造TCP/IP报文的利器,并且支持asn.1,搞过电路交换协议的人一定会明白基于asn.1协议的描述复杂度。使用中遇到的一个比较麻烦的问题,scapy抓到的Packet如何在网络中传输,如何在使用端还原到Packet类型。2.方案2.1.Packet转换为strPacket转换为str很简单,直接上代码:from scapy.all import *pkts = sniff('eth1', count=1, timeout=5)pkts[0].sho
原创
博文更新于 2021.08.08 ·
2882 阅读 ·
1 点赞 ·
1 评论 ·
10 收藏

C++学习:Effective Modern C++条款

条款1:理解模板类型推导推导模版类型时,引用的值视为非引用,即忽略引用。推导通用引用类型参数时,左值特殊处理。推导传值参数时,忽略const和volatile。+推导模版类型时,参数是数组或函数名则退化为指针,除非用来初始化引用。条款2:理解auto类型推导推导auto类型一般和推导模版类型是一致的,但auto类型推导对于大括号初始化{}会推导为std::initializer_list,模版类型推导则不会。做为函数返回类型或lambda参数中的auto类型推导意味着模版类型推导,而不做
原创
博文更新于 2021.06.11 ·
940 阅读 ·
2 点赞 ·
2 评论 ·
3 收藏

Python学习:如何使用pandas分析excel数据(续)

1.问题上篇,简单介绍了pandas库的使用,列出了常见操作的方法。本篇并不是继续讲述pandas库的使用,而是通过封装一个Excel类型,讲述如何封装第三方库,及其为何要封装。2.方案2.1.概述Python的第三方库很多,很多库有官方文档,有的库文档齐全,直接使用也没多大问题。一般情况,我都会自己封装起来再使用,因为使用第三方库存在一定的风险。封装的目的,主要有以下几个方面的考虑:封装降低复杂性,我们可能只需要库的部分功能,屏蔽用哪些用不到的功能,防止误用。封装提高可维护性和可替代性。第
原创
博文更新于 2021.05.22 ·
603 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

Python学习:如何使用pandas分析excel数据

1.问题在python中,读写excel数据方法很多,比如xlrd、xlwt和openpyxl,实际上限制比较多,不是很方便。比如openpyxl也不支持csv格式。有没有更好的方法?2.方案更好的方法可以使用pandas,虽然pandas不是专门处理excel数据,但处理excel数据确实很方便。本文使用excel的数据来自网络,数据内容如下:2.1.安装使用pip进行安装。pip3 install pandas导入pandas:import pandas as pd下文使用pd
原创
博文更新于 2021.05.09 ·
3956 阅读 ·
23 点赞 ·
23 评论 ·
119 收藏

Python学习:M1系统上如何使用pandas

问题目前为止,M1系统上还不能使用pip3安装pandas库,无法使用pandas进行数据分析和处理。虽然网上也有专门适配M1的python环境,但也比较麻烦,不够纯粹。那在M1上,如何使用pandas?方案docker新版本已经支持M1了,我们不妨尝试一下,是否可以用vscode+docker使用pandas。1.安装M1版本的docker访问https://docs.docker.com/docker-for-mac/install/,下载M1版本的docker。2.安装python镜像
原创
博文更新于 2021.05.07 ·
1921 阅读 ·
2 点赞 ·
12 评论 ·
6 收藏

JavaScript学习:如何使用vscode直接调试ts

问题Python学习过程,研究vscode开发python项目时,准备学习开发vscode插件,不过vscode官方插件开发的样例都是TypeScript语言。vscode上调试JavaScript很方便,但调试TypeScript好像有点麻烦。要像JavaScript那样直接在vscode中调试,不用浏览器调试。方案TypeScript语言是JavaScript的超集,网上讲的调试方法,大多是先把ts编译成js文件,使用起来也不大方便。github上有个强大的工具ts-node,提供了TypeSc
原创
博文更新于 2021.04.25 ·
777 阅读 ·
2 点赞 ·
1 评论 ·
2 收藏

Python学习:vscode开发python项目的正确姿势是什么?

问题Python项目,有着Pycharm这么优秀的工具在,其他IDE工具基本都显得有点相形见绌。只是Pycharm社区版不支持远程调试,有些语言也支持不好,比如Markdown就显示很弱。因此,有时候不得不依靠其他IDE工具。这个时候,可以选择vscode。vscode这些年越来越强了,但开发python项目,vscode配置不容易使用,总是遇到这个问题,或者那个问题上,长时间找到办法就搁置了。能否在vscode上,进行优雅的开发python代码,达到或者超过Pycharm那种开发体验?我觉得是能。这两
原创
博文更新于 2021.04.23 ·
812 阅读 ·
1 点赞 ·
4 评论 ·
6 收藏

Python学习:如何使用类型注解

问题Python代码写起来很快,但阅读起来,就很抓狂,主要问题就是类型信息丢失,看到一个函数或方法,都不知道如何传递参数,该函数会返回什么结果。只有运气来,才可以看到类型信息。方案Python 3.6版本之后,新增了类型注解特性(type hint),用户标记函数参数和返回值的类型,该特性主要是给人和IDE用的,实际代码执行的时候,并不会有作用,即使传递不期望的类型,依然会执行。接下来,列绝一些常用的类型注解。单一类型注解def add(x : int, y: int) -> int:
原创
博文更新于 2021.04.14 ·
275 阅读 ·
0 点赞 ·
1 评论 ·
0 收藏

C++20学习:concept用法介绍

概述众所周知,C++的泛型强大,很多语言都学了,比如C#、Java,虽然Java的泛型只是语法糖,不值得一提。C++的template实际上是创造了一种新的语言,这个语言是编译期的,相当于编译器把代码解释成C++语言,然后再编译成机器指令。STL的诞生,是颠覆性的创举,然而STL所用到的泛型还只是C++template中其中一部分特性。C++使用template实现泛型算法,我们来看下一个简单的例子。template<typename T>T inc(T a){ return
原创
博文更新于 2021.01.17 ·
1739 阅读 ·
4 点赞 ·
2 评论 ·
7 收藏

C++20学习:基于Ubuntu系统编译gcc10.2.0

问题c++20标准已经发布,c++20有比较多的新特性。想尝个先,虽然目前还没有一个编译器能够完全支持c++20标准。gcc和clang编译支持c++20多一些,gcc支持最好。安装Ubuntu系统20.0.4,自带的gcc都还不支持c++20。需要使用最新的gcc10.2.0版本,需要编译。于是自己动手。编译gcc1.下载最新的gcc10.2.0访问:https://gcc.gnu.org/mirrors.html,找个镜像金星下载gcc2.解压缩我下载的是xz文件,需要先试用x
原创
博文更新于 2021.01.17 ·
4224 阅读 ·
2 点赞 ·
1 评论 ·
16 收藏

C++20学习:基于ubuntu编译log4cxx

1.问题java中,log4j库非常好用,支持性也非常广泛。c++中,是否也有类似的库?最好能够夸语言互通。2.方案一般优秀的库,其他语言应该都会借鉴,实现不同语言版本。通过搜索,c++的log有好几个版本,比如log4cpp,log4cxx,log4cplus等。本文采用log4cxx库,因为它是log4j同源的。2.1.环境准备ubuntu 20.0.4 gcc gcc 10.2.0(可以用自带的gcc版本) 下载log4cxx:http://logging.apache.org
原创
博文更新于 2021.01.15 ·
758 阅读 ·
0 点赞 ·
1 评论 ·
2 收藏
加载更多