-
人人都能明白的 Python 装饰器入门教程!
所属栏目:[语言] 日期:2021-11-05 热度:52
大家好,我是早起。 之前的文章中提到,很多人认为理解了装饰器的概念和用法后,会觉得自己的 Python 水平有一个明显的提高。 但很多教程在一上来就会给出装饰器的定义以及基本用法,例如你一定会在很多文章中看到例如代码运行时间计时器等相关常用装饰器。[详细]
-
Python单元测试的九个方法
所属栏目:[语言] 日期:2021-11-05 热度:51
pytest是python的单元测试框架,简单易用,在很多知名项目中应用。requests是python知名的http爬虫库,同样简单易用,是python开源项目的TOP10。关于这2个项目,之前都有过介绍,本文主要介绍requests项目如何使用pytest进行单元测试,希望达到下面3个目标[详细]
-
很全面的Python重点知识总结,建议收藏!
所属栏目:[语言] 日期:2021-11-05 热度:131
这是一份来自于 SegmentFault 上的开发者 @二十一 总结的 Python 重点。由于总结了太多的东西,所以篇幅有点长,这也是作者缝缝补补总结了好久的东西。 Py2 VS Py3 print成为了函数,python2是关键字 不再有unicode对象,默认str就是unicode python3除号返[详细]
-
关于Go程序错误处理的一些意见
所属栏目:[语言] 日期:2021-11-05 热度:69
Go的错误处理这块是日常被大家吐槽较多的地方,我在工作中也观察到一些现象,比较严重的是在各层级的逻辑代码中对错误的处理有些重复。 比如,有人写代码就会在每一层都判断错误并记录日志,从代码层面看,貌似很严谨,但是如果看日志会发现一堆重复的信息[详细]
-
IBM 工程师一直在为 GRUB 探寻可能的 Rust 模块
所属栏目:[语言] 日期:2021-11-05 热度:64
IBM 工程师 Daniel Axtens 在本周的 Linux Plumbers Conference 上介绍了,使用 Rust 编程语言为 GRUB2 引导加载程序创建模块的前景。 根据介绍,该提案不是关于在 Rust 中重写 GRUB2 或将其大部分转换为 Rust,而是允许在开发人员需要时用 Rust 创建 GRUB2[详细]
-
Golang channel 使用结论
所属栏目:[语言] 日期:2021-11-05 热度:111
不同于传统的多线程并发模型使用共享内存来实现线程间通信的方式,golang 的哲学是通过 channel 进行协程 (goroutine) 之间的通信来实现数据共享: Do not communicate by sharing memory; instead, share memory by communicating. 这种方式的优点是通过提[详细]
-
C#基础 理解装箱与拆箱
所属栏目:[语言] 日期:2021-11-05 热度:71
前面我们讲到 .NET 平台支持的两大数据类型:值类型和引用类型。值类型比引用类型更高效,因为它没有指针引用,不用分配在托管堆中,也不用被 GC 回收。但有时候你可能偶尔需要将一种类型的变量表示为另一种类型的变量。为此,C# 提供了装箱和拆箱的机制。[详细]
-
用了Stream后,代码反而越写越丑?
所属栏目:[语言] 日期:2021-11-05 热度:126
Java8的stream流,加上lambda表达式,可以让代码变短变美,已经得到了广泛的应用。我们在写一些复杂代码的时候,也有了更多的选择。 代码首先是给人看的,其次才是给机器执行的。代码写的是否简洁明了,是否写的漂亮,对后续的bug修复和功能扩展,意义重大[详细]
-
详解Python集合Set,建议珍藏!!
所属栏目:[语言] 日期:2021-11-05 热度:140
大家好,我是Peter~ 在前面的几篇Python的文章中,我们介绍了Python的多种不同类型的对象:字符串、列表、元组、字典。它们有各自的特点: 字符串str:存在索引,字符串中的元素是可以重复的,元素是不可变,不能修改的 列表list:也能够进行索引和切片操作[详细]
-
一文讲清C/C++ Const/Const_Cast/Constexpr
所属栏目:[语言] 日期:2021-11-05 热度:106
很多人搞不清const、const_cast、constexpr的用法,稀里糊涂地用。一般而言,即使乱用,问题也不大,因为错大发了会崩,崩了自然会被修正,不崩自然也就没事。但作为一个有追求的专业程序员,自当闻过则喜,搞清楚弄明白。 一、const C语言的const用法 先讲[详细]
-
【C++】内存中的字符串
所属栏目:[语言] 日期:2021-11-05 热度:53
前文 内存中的字符串类型 学习研究了Go的字符串在内存中的结构和数据类型。 文本是两年多前的一篇学习笔记,研究的是C++字符串在内存中的结构。 环境 1. 操作系统:Ubuntu 16.04。 2. 调试软件:GNU gdb (Ubuntu 7.11.1-0ubuntu1~16.5) 7.11.1。 3. 编译工[详细]
-
面试官提问什么是 Java 注解?
所属栏目:[语言] 日期:2021-11-05 热度:77
哈喽,我是狗哥。随着开发经验的累积,我越发觉得基础真的非常重要。比如:大部分框架 (如 Spring) 都使用了注解简化代码并提高编码的效率,掌握注解是一名 JAVA 程序员必备的技能。 但我发现很多工作 2、3 年的同学居然还没写过自定义注解,问起注解的原理[详细]
-
在SQLite中插入10亿条Python VS Rust
所属栏目:[语言] 日期:2021-11-05 热度:108
在实际生活中,市场有这样的案例:写脚本来进行数据处理,比如说给数据库导入导出数据,这种任务一般来说最方便的方法是用python脚本,但是如果数据量比较大时候(比如上亿条)时候Python就会超级慢,看到无法忍受。在这种案例时候该怎么做呢,有一个外国老哥[详细]
-
Python 处理 JSON 我选择 ujson 和 orjson
所属栏目:[语言] 日期:2021-11-05 热度:172
在 Python 使用用 json.dumps(data) 时突然发现特别慢,data 本身不大,但是一个包含很多元素的列表,所以促使本人寻找一个替代的 JSON 处理库。大概对比了一个 ujson(UtltraJSON), python-rapidjson(RapidJSON) 和 Python 自带的 json 库。还有一个 simple[详细]
-
C语言 | 函数执行成功时,return 1 还是return 0?
所属栏目:[语言] 日期:2021-11-05 热度:129
今天分享的内容是关于函数执行成功,返回0还是1的讨论~ 基本上,没有人会将大段的C语言代码全部塞入 main() 函数,更好的做法是按照复用率高,耦合性低的原则,尽可能的将代码拆分不同的功能模块,并封装成函数。C语言代码的组合千变万化,因此函数的功能可[详细]
-
推荐收藏!C++ Set用法大全
所属栏目:[语言] 日期:2021-11-05 热度:96
大家好,我是梁唐。今天咱们继续来聊聊C++中的set。上次的文章遗留了一个问题没有回答,有些小伙伴有些疑问。就是为什么说set是关联式的容器,这个关联体现在哪里。其实很简单,我们说过set的内部使用了红黑树对所有的元素进行了排序。在树结构当中,我们通[详细]
-
10分钟做完Java线程池,yyds!!
所属栏目:[语言] 日期:2021-11-05 热度:176
最近有不少小伙伴私信我说:看了我在【精通高并发系列】文章中写的深度解析线程池源码部分的文章,但是还是有些不明白线程池的实现原理。问我能不能手写一个简单的线程池,帮助读者深刻理解线程池的原理。这不,我熬夜肝了这篇文章。在【精通高并发系列】的[详细]
-
C++20新特性的小细节,你学会了吗?
所属栏目:[语言] 日期:2021-11-05 热度:60
之前我整理过一篇C++20新特性的文章全网首发!!C++20新特性全在这一张图里了,里面提到过latch、barrier和semaphore,但是没有详细介绍过三者的作用和区别,这里详细介绍下。latch这个可能大多数人都有所了解,这就是我们经常会用到的CountDownLatch。用于使[详细]
-
一日一技 怎样让Python提醒你不能覆盖某个父类方法?
所属栏目:[语言] 日期:2021-11-05 热度:193
在前几天的文章:一日一技:在 Python 里面如何实现一个抽象类中,我们讲到Python 可以实现一个抽象类。抽象类里面有一些抽象方法,在继承这个抽象类的时候,子类必须实现这些抽象方法。有时候,我们希望在父类中保留一些方法,子类在继承父类的时候,不准[详细]
-
Python3.10稳定版正式推出,带来急需的新功能和改进
所属栏目:[语言] 日期:2021-11-05 热度:70
Python 3.10 具有强大的模式匹配功能、更好的错误报告等。这是最吸引人的新特性。Python 现在需要OpenSSL 1.1.1 或更新版本。不再支持旧版本。这会影响 hashlib、hmac 和 ssl 模块,并使 CPython 的关键依赖项之一现代化。经过多次 alpha、beta 和 rc 测试[详细]
-
Go 语言把类型放在后面的原因
所属栏目:[语言] 日期:2021-11-05 热度:165
大家好,我是煎鱼。前段时间看到大家在吵一个话题,那就是 Go 语言的类型声明,抠知识抠的非常细了,就是为什么他要放在后面,展开了热烈的讨论。示例代码如下:var a []stringvar b []string其实在早年 Go 官方估计已经被问烦了,写过一篇《Gos Declaratio[详细]
-
C++怎样调用写好的C接口?
所属栏目:[语言] 日期:2021-11-05 热度:65
前言如何在C++代码中调用写好的C接口?你可能会奇怪,C++不是兼容C吗?直接调用不就可以了,那么我们来测试一下,先看看C++如何调用C代码接口的。C++调用C文件一个C语言文件test.c#include stdio.hvoid print(int a,int b){ printf(这里调用的是C语言的函数:%[详细]
-
在 Linux 上使用 jps 命令查看 Java 进程
所属栏目:[语言] 日期:2021-11-05 热度:60
系统上运行着诸多进程,通过 jps 命令能够快速有效识别 Java 进程。在 Linux 中,有一些用于查看系统上运行进程的命令。进程是指由内核管理的正在进行的事件。每启动一个应用程序时,就会产生一个进程,但也有许多在计算机后台运行的进程,如保持系统时间准[详细]
-
【方向盘】版本历史代码范例之JavaMail、JDBC
所属栏目:[语言] 日期:2021-11-05 热度:183
前言若你还不太清楚Java EE是什么,可先移步这里:什么是Java EE?发邮件是企业级应用开发的刚性需求,如:每晚定时任务跑完后自动将结果数据发封邮件到领导邮箱供以查阅。邮件虽然古老,但相较于IM消息具有很多不可替代的优势:更为正式:相对重要的场合/数[详细]
-
Python异常还能写得这般优雅!
所属栏目:[语言] 日期:2021-11-05 热度:107
在写程序时,我们会经常碰到程序出现异常,这时候我们就不得不处理这些异常,以保证程序的健壮性。处理异常的版本有以下几种,你通常的做法是哪种?不负责任版本这种情况下,不作任何处理,任由程序报错,从而导致程序中断。针对简单的程序,这样做没什么问[详细]