-
.NET 6 中哈希算法的简化用途
所属栏目:[语言] 日期:2021-11-06 热度:194
Intro 微软在 .NET 6 中引入一些更简单的 API 来使用 HMAC 哈希算法(MD5/SHA1/SHA256/SHA384/SHA512) 微软的叫法叫做 HMAC One-Shoot method, HMAC 算法在普通的哈希算法基础上增加了一个 key,通过 key 提升了安全性,能够有效避免密码泄露被彩虹表反推出[详细]
-
C语言 | 函数执行成功时,return 1 还是return 0?
所属栏目:[语言] 日期:2021-11-06 热度:88
今天分享的内容是关于函数执行成功,返回0还是1的讨论~ 基本上,没有人会将大段的C语言代码全部塞入 main() 函数,更好的做法是按照复用率高,耦合性低的原则,尽可能的将代码拆分不同的功能模块,并封装成函数。C语言代码的组合千变万化,因此函数的功能可[详细]
-
Python 处理 JSON 我选择 ujson 和 orjson
所属栏目:[语言] 日期:2021-11-06 热度:169
在 Python 使用用 json.dumps(data) 时突然发现特别慢,data 本身不大,但是一个包含很多元素的列表,所以促使本人寻找一个替代的 JSON 处理库。大概对比了一个 ujson(UtltraJSON), python-rapidjson(RapidJSON) 和 Python 自带的 json 库。还有一个 simple[详细]
-
在SQLite中插入10亿条Python VS Rust
所属栏目:[语言] 日期:2021-11-06 热度:155
在实际生活中,市场有这样的案例:写脚本来进行数据处理,比如说给数据库导入导出数据,这种任务一般来说最方便的方法是用python脚本,但是如果数据量比较大时候(比如上亿条)时候Python就会超级慢,看到无法忍受。在这种案例时候该怎么做呢,有一个外国老哥[详细]
-
面试官提问什么是 Java 注解?
所属栏目:[语言] 日期:2021-11-06 热度:183
哈喽,我是狗哥。随着开发经验的累积,我越发觉得基础真的非常重要。比如:大部分框架 (如 Spring) 都使用了注解简化代码并提高编码的效率,掌握注解是一名 JAVA 程序员必备的技能。 但我发现很多工作 2、3 年的同学居然还没写过自定义注解,问起注解的原理[详细]
-
【C++】内存中的字符串
所属栏目:[语言] 日期:2021-11-06 热度:187
前文 内存中的字符串类型 学习研究了Go的字符串在内存中的结构和数据类型。 文本是两年多前的一篇学习笔记,研究的是C++字符串在内存中的结构。 环境 1. 操作系统:Ubuntu 16.04。 2. 调试软件:GNU gdb (Ubuntu 7.11.1-0ubuntu1~16.5) 7.11.1。 3. 编译工[详细]
-
一文讲清C/C++ Const/Const_Cast/Constexpr
所属栏目:[语言] 日期:2021-11-06 热度:104
很多人搞不清const、const_cast、constexpr的用法,稀里糊涂地用。一般而言,即使乱用,问题也不大,因为错大发了会崩,崩了自然会被修正,不崩自然也就没事。但作为一个有追求的专业程序员,自当闻过则喜,搞清楚弄明白。 一、const C语言的const用法 先讲[详细]
-
详解Python集合Set,建议珍藏!!
所属栏目:[语言] 日期:2021-11-06 热度:156
大家好,我是Peter~ 在前面的几篇Python的文章中,我们介绍了Python的多种不同类型的对象:字符串、列表、元组、字典。它们有各自的特点: 字符串str:存在索引,字符串中的元素是可以重复的,元素是不可变,不能修改的 列表list:也能够进行索引和切片操作[详细]
-
用了Stream后,代码反而越写越丑?
所属栏目:[语言] 日期:2021-11-06 热度:126
Java8的stream流,加上lambda表达式,可以让代码变短变美,已经得到了广泛的应用。我们在写一些复杂代码的时候,也有了更多的选择。 代码首先是给人看的,其次才是给机器执行的。代码写的是否简洁明了,是否写的漂亮,对后续的bug修复和功能扩展,意义重大[详细]
-
C#基础 理解装箱与拆箱
所属栏目:[语言] 日期:2021-11-06 热度:103
前面我们讲到 .NET 平台支持的两大数据类型:值类型和引用类型。值类型比引用类型更高效,因为它没有指针引用,不用分配在托管堆中,也不用被 GC 回收。但有时候你可能偶尔需要将一种类型的变量表示为另一种类型的变量。为此,C# 提供了装箱和拆箱的机制。[详细]
-
Golang channel 使用结论
所属栏目:[语言] 日期:2021-11-06 热度:193
不同于传统的多线程并发模型使用共享内存来实现线程间通信的方式,golang 的哲学是通过 channel 进行协程 (goroutine) 之间的通信来实现数据共享: Do not communicate by sharing memory; instead, share memory by communicating. 这种方式的优点是通过提[详细]
-
人人都能明白的 Python 装饰器入门教程!
所属栏目:[语言] 日期:2021-11-05 热度:50
大家好,我是早起。 之前的文章中提到,很多人认为理解了装饰器的概念和用法后,会觉得自己的 Python 水平有一个明显的提高。 但很多教程在一上来就会给出装饰器的定义以及基本用法,例如你一定会在很多文章中看到例如代码运行时间计时器等相关常用装饰器。[详细]
-
Python单元测试的九个方法
所属栏目:[语言] 日期:2021-11-05 热度:67
pytest是python的单元测试框架,简单易用,在很多知名项目中应用。requests是python知名的http爬虫库,同样简单易用,是python开源项目的TOP10。关于这2个项目,之前都有过介绍,本文主要介绍requests项目如何使用pytest进行单元测试,希望达到下面3个目标[详细]
-
很全面的Python重点知识总结,建议收藏!
所属栏目:[语言] 日期:2021-11-05 热度:98
这是一份来自于 SegmentFault 上的开发者 @二十一 总结的 Python 重点。由于总结了太多的东西,所以篇幅有点长,这也是作者缝缝补补总结了好久的东西。 Py2 VS Py3 print成为了函数,python2是关键字 不再有unicode对象,默认str就是unicode python3除号返[详细]
-
关于Go程序错误处理的一些意见
所属栏目:[语言] 日期:2021-11-05 热度:121
Go的错误处理这块是日常被大家吐槽较多的地方,我在工作中也观察到一些现象,比较严重的是在各层级的逻辑代码中对错误的处理有些重复。 比如,有人写代码就会在每一层都判断错误并记录日志,从代码层面看,貌似很严谨,但是如果看日志会发现一堆重复的信息[详细]
-
IBM 工程师一直在为 GRUB 探寻可能的 Rust 模块
所属栏目:[语言] 日期:2021-11-05 热度:139
IBM 工程师 Daniel Axtens 在本周的 Linux Plumbers Conference 上介绍了,使用 Rust 编程语言为 GRUB2 引导加载程序创建模块的前景。 根据介绍,该提案不是关于在 Rust 中重写 GRUB2 或将其大部分转换为 Rust,而是允许在开发人员需要时用 Rust 创建 GRUB2[详细]
-
简单而不简约 一份Python小抄呈上
所属栏目:[语言] 日期:2021-11-05 热度:132
大家好,我是Peter~ 本文主要是对Python中常见的6种数据类型操作进行了汇总: Numbers(数字) String(字符串) List(列表) Tuple(元组) Dictionary(字典) Set(集合) 一、数字Numbers 数字很常见,比如:1,2,100,999等,两个常见的数据类型转化函数:int和f[详细]
-
Golang怎样表示枚举类型
所属栏目:[语言] 日期:2021-11-05 热度:143
go 语言枚举类型是这么用的?在什么场景下会用到枚举?本文对 go 语言枚举做了详细讲解。 枚举,是一种重要的数据类型,由一组键值对组成,通常用来在编程语言中充当常量的标识符。在主流行编程语言如 c、 java 等,都有原生支持。在 go 中,大家却找不到 e[详细]
-
Redis的基础知识和使用场景
所属栏目:[语言] 日期:2021-11-05 热度:179
什么是redis? Redis 是互联网技术领域使用最为广泛的存储中间件,它是「Remote Dictionary Service」的首字母缩写,也就是「远程字典服务」。Redis 以其超高的性能、完美的文档、简洁易懂的源码和丰富的客户端库支持在开源中间件领域广受好评。国内外很多大[详细]
-
三个一组还是四个一组?从Bytes到Unicode的字节划分技巧
所属栏目:[语言] 日期:2021-11-05 热度:116
大家在 Python 开发过程中,经常会进行字符串encode为 Bytes型数据,或者把 Bytes 型数据 decode为字符串的操作。例如:图片我们知道,在 Unicode 编码中,中文占3个字节,所以一个中文字符编码为 Bytes 型数据以后,会占用3个 Bytes 字符,例如: a = 青 a[详细]
-
避免 Swift 单元测试中的强制分析
所属栏目:[语言] 日期:2021-11-05 热度:104
前言 强制解析(使用 !)是 Swift 语言中不可或缺的一个重要特点(特别是和 Objective-C 的接口混合使用时)。它回避了一些其他问题,使得 Swift 语言变得更加优秀。比如 处理 Swift 中非可选的可选值类型[1] 这篇文章中,在项目逻辑需要时使用强制解析去处理可[详细]
-
Python爬虫实现爬取百度百科词条功能例子
所属栏目:[语言] 日期:2021-11-05 热度:136
本文实例讲述了Python爬虫实现爬取百度百科词条功能。分享给大家供大家参考,具体如下: 以下我写了一个爬取百度百科词条的实例。 爬虫主程序入口 from crawler_test.html_downloader import UrlDownLoader from crawler_test.html_outer import HtmlOuter[详细]
-
原来这就是比 ThreadLocal 更快的东西
所属栏目:[语言] 日期:2021-11-05 热度:198
你好,我是yes。 继上一篇之后我把 ThreadLocal 能问的,都写了,咱们再来盘一盘 FastThreadLocal ,这个算是 ThreadLocal 的进阶版,是 Netty 针对 ThreadLocal 自己造的轮子,所以对 ThreadLocal 没有完全理解的话,建议先看上一篇文章,打个基[详细]
-
利用 Go 语言开发一个并发文件下载器
所属栏目:[语言] 日期:2021-11-05 热度:107
今天给大家分享一个实战项目,涉及到的知识点还挺多,文末也有源码地址!! 原文如下: Go 语言是一门了不起的语言,尽管它非常简单,与 Koltin 和 Scala 等其他现代语言相比,它的功能很少,但它具有强大的并发能力。这篇文章,我们将会看到使用 Go 语言如何[详细]
-
Lombok!代码简洁极品还是代码亚健康元凶?
所属栏目:[语言] 日期:2021-11-05 热度:81
如果您正在阅读此文,想必您对Project Lombok已经有了一段时间的了解。您是否正准备拥抱Lombok?还是正准备将如此酷炫的项目推荐给你的团队?如果您准备那么做,不妨听听我在使用Lombok一年后的一些感受。 我承认,Lombok是一个很不错的Java库,它可以让你在[详细]