-
C# 多线程使用Parallel.ForEach并行循环,真的能提升效能?
所属栏目:[语言] 日期:2021-12-06 热度:91
Parallel类是.NET 4中新增的抽象线程类。Parallel.For()方法类似于C#的for循环语句,也是多次执行一个任务。但是使用Parallel.For()方法,可以并行运行。微软的并行运算平台(Microsofts Parallel Computing Platform (PCP))提供了这样一个工具,让软件开发[详细]
-
在 Go 中运用 Dockertest 进行集成测试
所属栏目:[语言] 日期:2021-12-06 热度:51
进行集成测试(或系统测试)通常意味着让数据库填充数据,像 redis、elasticsearch 等,通常,我们的软件与之交互的任何基础设施都可以工作。 最常见的方法是复制我们的生产基础设施,其实用容器来实现还是比较容易的,比如 docker 容器。 我们可以为需要复制[详细]
-
C++ 控制台格式化打印技能
所属栏目:[语言] 日期:2021-12-06 热度:100
我写文章主要是为了给自己写文档。我在编程时非常健忘,所以我经常会写下有用的代码片段、特殊的特性,以及我使用的编程语言中的常见错误。这篇文章完全切合我最初的想法,因为它涵盖了从 C++ 控制台格式化打印时的常见用例。 像往常一样,这篇文章带有大量[详细]
-
面试官 线程池多余的线程是怎样回收的?问到我了!
所属栏目:[语言] 日期:2021-12-06 热度:142
JDK线程池ThreadPoolExecutor的源码,对线程池执行任务的流程有了大体了解,实际上这个流程也十分通俗易懂,就不再赘述了,别人写的比我好多了。 不过,我倒是对线程池是如何回收工作线程比较感兴趣,所以简单分析了一下,加深对线程池的理解吧。 下面以JDK[详细]
-
PHP 8.1 发布,带来很多创新
所属栏目:[语言] 日期:2021-12-06 热度:162
PHP 是一种服务器端脚本语言,用于开发 Web 应用程序。根据 W3Techs 的数据,78.2% 的网站使用 PHP 并使用已知的服务器端编程语言。换句话说,您在 Internet 上访问的每 10 个网站中几乎有 8 个以某种方式使用 PHP。 在宣布成立PHP 基金会几天后,该语言通[详细]
-
Go 确实有枚举吗?
所属栏目:[语言] 日期:2021-12-06 热度:79
Go 中有枚举吗?这是一个模棱两可的问题。有人说它有,有人说它没有。 什么是枚举 代码抽象于现实。程序与生活中关于枚举的概念是相通的:枚举代表一个对象所有可能取值的集合。例如,表示星期的 SUNDAY、MONDAY、TUESDAY、WEDNESDAY、THURSDAY、FRIDAY、SAT[详细]
-
怎样写出令人惊叹的 Python 类
所属栏目:[语言] 日期:2021-12-06 热度:196
如何写出令人惊叹的 Python 类 本文分享了如何通过魔法方法编写一个非常优雅的类,魔术方法可在 Python 内置的函数或操作中自动调用,可以让我们编写出可读性、易用性更好的类,就像本文中的 DateTimeRange。 作者:somenzz 来源:Python七号|2021-11-29 07[详细]
-
用例子来学会 Stream
所属栏目:[语言] 日期:2021-12-06 热度:135
引言 先从一个例子开始,看看为什么在Java8中要引入流(Stream)? 比如实现这么一个需求:在学生集合中查找男生的数量。 传统的写法为: public long getCountsOfMaleStudent(ListStudent students) { long count = 0; for (Student student : students) { if[详细]
-
Golang 语言编程使用接口有哪些益处?
所属栏目:[语言] 日期:2021-12-06 热度:97
在 Golang 语言中,接口类型定义了一组方法签名,接口类型的值可以保存实现了这些方法的任何值。 Golang 语言的接口是隐式实现的,它不像其他某些编程语言,使用 implements 关键字显式实现接口,Golang 语言没有 implements 关键字,一个类型只要实现接口[详细]
-
敏感词过滤算法达成
所属栏目:[语言] 日期:2021-12-06 热度:53
敏感词、文字过滤是一个网站必不可少的功能,如何设计一个好的、高效的过滤算法是非常有必要的。 在实现文字过滤的算法中,DFA是唯一比较好的实现算法。DFA即Deterministic Finite Automaton,也就是确定有穷自动机,它是是通过event和当前的state得到下一[详细]
-
Python远程连接服务器用它就可以了
所属栏目:[语言] 日期:2021-12-06 热度:170
使用fabric玩转远程服务器管理 fabric基于强大的paramiko、invoke等库,构建出一整套简单易用的API,使得我们使用简洁的语句就可以应付常见的各种远程服务器操作,使用pip install fabric完成安装,本文演示对应版本为2.6。 1. 连接到远程服务器并执行终端[详细]
-
Go泛型系列 Maps 包有哪些?
所属栏目:[语言] 日期:2021-12-06 热度:190
真实的场景 不少新手,对 map 的输出是随机的有迷惑,曾经,map 的输出顺序是固定的,但官方怕大家依赖这个顺序,之后故意让输出顺序不固定。 但实际场景中,会有按某种顺序输出 map 的需求,怎么办呢?这需要对 map 的 key 进行排序,伪代码如下: for k :=[详细]
-
Java9异步编程-反应式流运用
所属栏目:[语言] 日期:2021-12-06 热度:114
Reactive API总览 要构建一个流,主要使用三个抽象,并将它们组合成异步处理逻辑。 每个流都需要处理由Publisher实例发布给它的事件;发布者有一个subscribe()的方法。 如果某个订阅者希望接收发布者发布的事件,则需要使用subscribe()订阅发布者。 消息的接[详细]
-
.NET Core怎样配置TLS Cipher 套件 ?
所属栏目:[语言] 日期:2021-12-06 热度:159
.NET Core Cipher(套件)配置 如果没有项目上的苛刻要求,我断然也就无法在此方面展开研究和实践 本文具以.NET 5为例,只不过针对.NET Core 3或3.1通过工具扫描出的协议套件结果略有所差异,但不影响我们对安全套件的配置,我们使用OpenSSL生成自签名证书,[详细]
-
EasyC++,名称空间其他特征
所属栏目:[语言] 日期:2021-12-06 热度:139
名称空间其他特性 嵌套 我们可以将名称空间声明进行嵌套: namespace elements { namespace fire { int flame; ... } float water; } 我们观察一下可以发现这里的flame位于elements::fire当中,所以当我们使用解析运算符使用它的时候写成:elements::fire::[详细]
-
编写无Bug Java代码的几个优秀实行
所属栏目:[语言] 日期:2021-12-06 热度:182
在编写代码时,开发人员努力以最少的复杂性和最多的功能编写没有bug的代码。无论你是初学者还是专家,都应该遵循一些规则,以便为客户机获得最佳代码。下面是无bug代码编写的规则。 规则 :不需要依赖于初始化 在Java中,开发人员总是依赖构造函数的使用来[详细]
-
长篇长论Python生成器
所属栏目:[语言] 日期:2021-12-06 热度:143
ython生成器是什么 一句话解释:包含了yield关键字的函数就是生成器,它的返回值是一个生成器对象。我简单画了个示意图: yield相当于return。 函数遇到yield就暂停,保存当前信息,返回yield的值。 在下次执行next()时,从当前位置继续执行。 比较有意思的[详细]
-
11月份Github上Java开源项目排行名单
所属栏目:[语言] 日期:2021-12-06 热度:151
QuestDB是一个高性能、开源的SQL数据库,适用于金融服务、物联网、机器学习 、DevOps和可观测性应用。它拥有支持PostgreSQL线协议的端点,使用InfluxDB线协议的模式无关的高吞吐数据获取方式,以及用于查询、批量导入和导出的REST API。QuestDB实现了ANSI[详细]
-
Go 1.18 中的 Any 是啥?
所属栏目:[语言] 日期:2021-12-06 热度:95
Go 1.18 因为泛型引入 any,这实际上是 interface{} 的别名: type any = interface{} 以下代码虽然不是泛型,但用 Go 1.18 可以正常运行,证明 any 和 interface{} 是一样的:(这里可以在线运行:https://gotipplay.golang.org/p/dPeNhe-7nkA) package mai[详细]
-
会诱发 Goroutine 挂起的 27个因素
所属栏目:[语言] 日期:2021-11-07 热度:123
上个月面向读者的提问,我们针对 goroutine 泄露中都会看到的大头 runtime.gopark 函数进行了学习和了解,输出了 《Goroutine 一泄露就看到他,这是个什么?》。 有小伙伴提到,虽然我们知道了 runtime.gopark 函数的缘起和内在,但其实没有提到 runtime.gop[详细]
-
Python项目实操篇-常用验证码标注和识别
所属栏目:[语言] 日期:2021-11-07 热度:149
大家好,我是Snowball。 一、前言 今天给大家分享的实战项目是常用验证码标注识别,从想法诞生到实现思路,再到编码实战的整体过程,这个过程我前后整理了上万字,计划分章节来发布。言归正传,一起来看看今天的内容吧!今天这篇内容主要讲解这篇文章的创作[详细]
-
适合开发者的十大优质Python编译器
所属栏目:[语言] 日期:2021-11-07 热度:65
由Guido van Rossum于1991年创建的Python,如今已是发展最快、使用最广的编程语言之一。它可以在诸如:Web应用、桌面开发、机器学习、人工智能、数据分析、以及数据可视化等领域,得到广泛的使用。 值得注意的是,近年来,随着Python生态系统的不断发展壮大[详细]
-
C#多线程研发之任务并行库
所属栏目:[语言] 日期:2021-11-07 热度:80
之前学习了线程池,知道了它有很多好处。 使用线程池可以使我们在减少并行度花销时节省操作系统资源。可认为线程池是一个抽象层,其向程序员隐藏了使用线程的细节,使我们可以专心处理程序逻辑,而不是各种线程问题。 但也不是说我们所有的项目中都上线程池[详细]
-
几行Java代码弄完图片提取文字功能
所属栏目:[语言] 日期:2021-11-07 热度:146
近日浏览网上一些图片提取文字的网站,觉得甚是有趣,花费半日也做了个在线图片识别程序,完成了两个技术方案的选择,一是 tesseract + Python flask的方案实现,二是 tesseract + Spring web 的技术解决方案,并简作论述,与君共勉。 一、tesseract-ocr介[详细]
-
Spring Boot + MyBatis + MySQL达成读写分离!
所属栏目:[语言] 日期:2021-11-07 热度:66
1、引言 读写分离要做的事情就是对于一条SQL该选择哪个数据库去执行,至于谁来做选择数据库这件事儿,无非两个,要么中间件帮我们做,要么程序自己做。 因此,一般来讲,读写分离有两种实现方式。第一种是依靠中间件(比如:MyCat),也就是说应用程序连接[详细]