自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Javen天道酬勤

努力良心自成就

  • 博客(121)
  • 资源 (3)
  • 收藏
  • 关注

原创 鸿蒙开发第一课-工具与HelloWorld

武汉数字人才实训基地。双击打开DevEco Studio1、设置->系统设置->关于手机快速点击5次HarmonyOS版本开启开发者模式2、设置->系统和更新->开发人员选项到开发人员选项后往下拉有USB调试 ,把USB调试开关打开必须是HarmonyOS操作系统的的设备 (android/ios都不可以用于真机调试)把华为手机或者安装了鸿蒙Os的手机(HarmonyOS操作系统)用数据线和手机连接。鸿蒙Os手机需要开启调试模式。

2024-04-05 14:58:51 394

原创 OpenHarmony error: signature verification failed due to not trusted app source

今天在做OpenHarmony App开发,之前一直用的设备A在测试开效果,今天换成了设备B,通过DevEco Studio安装应用程序的时候,就出现错误:error: signature verification failed due to not trusted app source。

2024-03-30 16:07:59 663

原创 2024学习鸿蒙开发,未来发展如何?

通过上述三点,就能分析出一个行业的趋势。大家可以看到,我上面的总体逻辑就是根据国家政策来分析未来方向,落地情况也是分析国家政策的落地情况,而就业市场是最能反应政策落地情况的前沿阵地。

2024-03-19 13:55:19 1039

原创 树莓派zero/zero w的区别

1、zero没有WiFi和蓝牙模块,当然也没有网线接口,适合不需要网络的场景需求。2、zero w带有WiFi和蓝牙模块,没有网线接口。适合需要网络的场景需求。

2024-02-03 21:43:24 445

原创 记录在树莓派中部署PI-Assistant开源项目(GPT语音对话)的BUG

2、当安装出现超时,采用国内镜像安装,比如:pip install -i https://mirrors.aliyun.com/pypi/simple/ SpeechRecognition。上述问题提示,遇到的错误信息表明安装的软件包哈希值与你的要求文件中指定的哈希值不匹配。3、安装中出现hash验证出问题,建议手动下载安装包进行安装。在https://pypi.org/网站上搜索并下载最新版本安装包。4、在执行python server.py过程中,还有一些需要安装的module,缺什么再单独安装什么。

2024-02-03 21:23:45 1617

原创 树莓派无网线无显示器通过sd卡进行WIFI配置

将树莓派的SD卡插入计算机的SD卡槽。

2024-01-25 11:42:58 446

原创 树莓派执行gpio之后出现No “Hardware“ line异常解决方案

no "hardware" line

2024-01-22 10:18:16 1216 17

原创 什么是接口回调?

接口回调类似电话回电功能.详细解答请阅读全文

2023-07-10 14:32:32 869

原创 【Mac】记录一次Mac配置Maven无效的经历:zsh: operation not permitted: mvn

今天在Mac上需要使用到Maven的命令操作,于是就尝试配置Maven。(前提:之前都是在Idea中整合Maven直接使用),就因为有这个前提,让我认为我电脑中下载的Maven是没有问题的,所以开始配置Maven:2、通过上述步骤打开环境变量文件,然后加入如下配置3、执行source ~/.bash_profile 让配置生效,结果显示如下错误:通过异常看出是没有权限,所以就开始了漫长的赋权过程,所有能做的都做了,还是无效。

2022-09-21 10:09:15 1778 1

原创 [计算机网络试题]在下图所示的采用“存储-转发”方式分组的交换网络中,所有链路的数据传输速度为100Mbps

题目1.在下图所示的采用“存储-转发”方式分组的交换网络中,所有链路的数据传输速度为100Mbps,分组大小为1000B,其中分组头大小20B,若主机H1向主机H2发送一个大小为980000B的文件,则在不考虑分组拆装时间和传播延迟的情况下,从H1发送到H2接收完为止,需要的时间至少是ms?解答第一步:1、分组大小1000B,分组头大小20B,也就是真实数据980B。2、980000B的文件,可以分成1000组,每组980B+20B的数据。第二步:1、计算1000B从相连两个节点的时间,1

2021-10-24 22:09:06 12678 10

原创 [计算机网络试题]下面四个地址中,只有_和86.32/12匹配

[作者:杨景文]题目15.下面四个地址中,只有( )和86.32/12匹配。A.86.33.224.123 B.86.79.65.216 C.86.58.119.74 D.86.68.206.154答案A解析86.32/12 这是一种网络位的表示方法。斜杆后面的12表示网络位有12位(IP总共是32位二进制表示,也就是网络位占12位)。如下:四个答案中的第一个数字都是86,也就是他们的前8位都是一样的,主要比较后面的4个网络位。也就是比较33、79、58、68这四个数字.

2021-10-21 11:01:31 9170 1

原创 [计算机网络试题]某子网的子网掩码为255.255.255.224,那么,选项中的四台主机中,不能与其它三台正常通信的是_

计算机网络试题系列【作者:杨景文】题目某子网的子网掩码为255.255.255.224,那么,选项中的四台主机中,不能与其它三台正常通信的是()A. 202.3.1.33 B. 202.3.1.65 C. 202.3.1.44 D. 202.3.1.55答案B解析子网掩码是255.255.255.224,而255.255.255这是固定的网络号,224是在主机号中划分出来的网络号(子网划分)。224的二进制是1110 0000,也就是二进制的前三位都是1,也就是网络号。答案中202.3

2021-10-21 10:33:32 8531

转载 如何理解“可靠性”和“可用性”?

前言相信点开这篇文章的读者,一定或多或少接触过“高可靠”“高可用”这些字眼,但是往往或语焉不详,或罗列术语(MTBF、MTTR …),那么我们到底应该如何定量描述系统的可靠性和可用性指标呢,这些看着很上流的术语到底意味着什么呢?也许,看完这篇文章,您从此也可以和小伙伴们愉快地拽术语了!故障定义硬件故障(Hardware failure)工业界通常使用“浴盆曲线”来描述硬件故障,具体如下图所示。具体来说,硬件的生命周期一般被划分为三个时期(http://en.wikipedia.org/wiki/Ba

2021-10-18 15:11:06 953

原创 Git版详细教程

一、Git简介 Git版本管理教程-入门到精通-千锋2021最新教程 1.1 项目的版本管理在项目开发过程中,项目没开发到一个节点就会对当前项目进行备份,这个备份就是项目的一个版本;当我们继续开发一个阶段后,再次进行备份,就生成新的版本——多个版本的集合就是项目的版本库在项目版本管理中,我们可以使用手动进行管理,但是存在一些问题:需要手动维护版本的更新日志,记录每个版本的变化

2021-10-15 15:43:57 156 1

原创 算法入门到精通6之插入排序

算法入门到精通6之插入排序#算法系列#杨景文一、概述上一节我们说过排序是算法中的一部分。所以我们学习排序也是算法的入门,为了能让大家感受到排序是算法的一部分,我举个例子证明一下:比如麻将游戏,发完牌之后需要对手上的牌进行排序,大家想想,麻将排序如何排呢?它有什么特点呢? 而且在摸牌打牌的过程中,我们要不断的排序,如何排序呢?选择什么排序算法最快呢?以上这种情况我们就可以分析选择哪种排序算法更高效。比如下图已经有一副固定顺序的牌了:此时轮到我们摸牌,摸到的牌如下:此时,要将这个“三同”放到上

2021-10-15 15:22:09 82

原创 算法入门到精通5之选择排序

算法入门到精通5之 选择排序#算法系列作者:杨景文一、排序和算法排序是算法中的一部分,也叫排序算法。算法一般用来处理数据,而数据的处理最好是要找到他们的规律,这个规律中有很大一部分就是要进行排序,所以需要有排序算法。本节讲解的是选择排序,从选择排序开始认识排序的一些基础概念。之所以将选择排序作为排序的入门,原因是选择排序算法的逻辑最好理解。二、选择排序2.1 选择排序算法逻辑选择排序是一种最简单的排序算法。其排序的逻辑如下:1、有一个待排序的数组A(以下简称A)。2、从A中找出最小的元素。

2021-10-15 15:17:43 103

原创 异常Could not find or load main class org.apache.zookeeper.server.quorum.QuorumPeerMain解决

异常描述启动zookeeper出现如下异常:Could not find or load main class org.apache.zookeeper.server.quorum.QuorumPeerMain异常原因因为下载的安装包错误导致:如上图,如果下周的是没有带bin的安装包,就会出现上述异常。异常解决下载带bin的安装包,重新配置和启动,就好了!下载地址:https://mirrors.bfsu.edu.cn/apache/zookeeper/zookeeper-3.7.0/

2021-09-24 17:10:25 1115

原创 应届生程序员如何写好一份简历?

一、定位很奇怪,写个简历,为什么要先定位? 什么是定位?接下来,我们说道说道。很多应届生不知道公司岗位的需求,也不知道自己有什么优势,该如何准备。这就是不了解自己的定位。想要好的定位,先得了解市场需求,也就是企业的用人需求。更准确的说,就是企业为什么要招聘你这个看起来经验不是很足的应届生。1.1、岗位数量企业的需求很容易获得,也就是招聘网站上的信息。但是,如何在招聘网站上找到有利于应届生的招聘信息就成为一个问题。1.1.1、应届生错误的搜索职位信息的方式应届生分专科和本科,专科和本科在搜索职

2021-08-25 10:19:54 601

原创 itext5将HTML导出PDF显示不完整原因之一(全网独一份)

这样的BUG比较小众,项目里面用到导出PDF的功能也不多,接触的人也不多。所以网上的资料也不多,整理出来以便给后来者一个参考,希望能帮到你!(关注一下博主,获取更多文章推送)BUG描述我主要是将包含有< pre>标签和< code>标签的HTML文章转换成PDF,而code标签里面放置的是java代码,代码如下:<pre> <code> public Object authentication(...){ // "/**"表示匹配所有.

2021-08-24 15:39:53 2264

原创 算法入门到精通4之算法复杂度(三)

一、概述衡量算法复杂度的还有另一个指标就是空间复杂度。空间复杂度就是在执行算法过程中需要分配的内存空间的渐进性大小。空间复杂度和时间复杂度是两个共同衡量算法复杂度的指标;都是用大O辅导表示复杂系数,记作O(f(n))。二、空间复杂度概述中提到过,空间复杂度就是一个算法在执行过程中所需要的内存空间。接下来通过一些示例给大家说明空间复杂度的计算方式。示例1:int sum=0;for (int i = 1; i <= n; i++) { sum+=i;}如上代码,还是计算

2021-08-20 13:58:01 268

原创 算法入门到精通3之算法复杂度(二)

一、概述上一篇我们讲解的是时间复杂度,更多的内容是让大家理解大O符号、以及时间复杂度是如何计算的。本章节将会带大家认识一下常见的时间复杂度。二、常见时间复杂度2.1、O(1)O(1)是最好的算法时间复杂度,也就是说同比效率最高的算法。其中的1表示的不是1次,之前有个同学问我,如果是消耗2个单位时间的时间复杂度是不是记为O(2)呢?不是。不论算法消耗几个单位时间,只要是这个时间不随着n的渐进性变化而变化,也就是这个单位时间永远都是2个、或者永远都是10个。这样的时间复杂度都记作O(1)。是不是

2021-08-20 13:55:04 129

原创 已解决:com.itextpdf.tool.xml.exceptions.RuntimeWorkerException: Invalid nested tag p found

问题描述通过itextpdf,将html导出PDF过程中,提示如下错误:com.itextpdf.tool.xml.exceptions.RuntimeWorkerException: Invalid nested tag p found, expected closing tag img. at com.itextpdf.tool.xml.XMLWorker.endElement(XMLWorker.java:134) at com.itextpdf.tool.xml.parser.XMLPars

2021-08-20 13:38:10 3560 3

原创 ITextpdf将Markdown转换成PDF详细流程(HTML转PDF)

一、文章说明此篇文章将解决itextpdf转PDF遇到的以下问题:1、中文不显示问题2、表格或者图片超宽问题3、pdf样式问题4、Markdown引用样式在PDF中正常显示5、转换HTML为PDF过程中提示标签没有闭合的BUG解决此篇文章包括的关键字(可能是你关心的内容):1、HTML2、Markdown3、Java4、blockquote5、PDF6、itextpdf此篇文章中PDF样式说明:本文中使用的PDF样式模仿Typora编辑器的Vue样式。二、通过it

2021-08-20 13:21:23 2206 2

原创 marked生成Markdown导致代码块错位的BUG解决

问题描述如上图,一段完整的代码被marked解析之后,出现错位。问题原因在marked.js低版本才会有此问题,最新的marked.js版本就没有这样的问题了。问题解决将项目中marked.min.js换成最新的marked就解决了问题。比如,我就是将marked换成了2.1.3版本就解决了此问题。...

2021-08-14 22:17:19 773

原创 idea中gradle一直在build modal的原因

原因1:Gralde的版本和项目需要的版本不一致杨景文的技术博客项目所需要的Gradle版本:在项目根目录下找到gradle文件夹的配置文件:gradle/wrapper/gradle-wrapper.properties,内容如下:上述是gradle-wrapper.properties配置文件的内容,红色方框是当前项目所需要的gralde版本。所以,idea中配置的gradle版本需要一致:综上,两个版本都是7.0如果上述问题解决了,还是停留在build modal,接着再看下面原

2021-07-22 09:32:22 3336 1

原创 Git版本管理器(小白学习附带视频)

如果你是一个计算机专业的学生,毕业进入公司前三天可能就是看代码。那么代码从哪里来呢?代码就是从版本管理仓库中下载。为什么代码会放到版本管理仓库中?什么是版本管理?为什么要进行版本管理?如何进行版本管理?这就是本文要介绍的内容。非常适合小白学习。一、版本管理概述附上涛哥Git视频(讲解非常详细,一听就懂): Git完整教程入门到精通 1.1、什么是版本?百度百科解释:版本,汉.

2021-04-14 13:39:47 144

原创 算法入门到精通系列2之算法复杂度(一)

算法入门到精通系列2之算法复杂度(一)#杨景文算法系列一、概述算法复杂度又分为时间复杂度和空间复杂度。本节主要是介绍时间复杂度。时间复杂度表示计算机执行一段算法所需要的时间。对于计算机来说,解决同一个问题不同的算法,所需时间越少的算法越优(不考虑空间问题),所以时间复杂度是衡量一个算法好坏的指标之一。二、大O符号衡量时间复杂度通常使用”大O符号“。什么是大O符号?我们需要先看看一些数学知...

2020-04-17 16:57:54 1046 1

原创 算法入门到精通系列1之算法概述

算法入门到精通系列1之算法概述#算法系列#开篇算法,一个听起来很厉害的词。也是最近几年特别火的词。很多大学生都想学习算法,因为它是大厂和高薪工作的代名词。但是有关算法系列的书籍或者文章不多,或者说是成系列的、从入门到精通的文章不多,从而导致我们学习起来比较困难。于是,我就计划写一系列适合大学生学习的算法文章,让更多的人能学习算法。 本系列的所有算法实现将采用java代码实现,所以需要有一定的...

2020-04-17 16:53:19 320

原创 MySQL查询一个表的前25%的数据

MySQL查询一个表的前25%的数据,SQL如下:# qianfeng SELECT g.* FROM (SELECT @rownum:=0) r join tb_shopping_car g where (@rownum:=@rownum+1)<=(select round(count(*)*0.25) from tb_shopping_car);此题在sqlserver和or...

2019-05-07 17:30:49 9525 12

原创 axios框架:get和post请求

axios简介axios是一个取代我们常用的jQuery中ajax模块的一个框架。可以说功能跟ajax类似。本篇文章就是使用axios完成get和post的请求。axios代码风格采用链式结构。GET请求axios.get("http://localhost:8081/qunar/query?id=1") .then(function (value) { ...

2018-11-15 17:52:58 1777 3

原创 Vue.js教程(七):组件定义

简介Vue中的组件定义类似如下效果(当然Vue会更强大):&lt;ol id="comp"&gt;&lt;/ol&gt;如果要给以上ol标签中添加一个li标签。不使用Vue你会这么做呢? 可能如下是一种方式:document.getElementById("comp").innerHTML="&lt;li&gt;hello&lt;/li&gt;";以上需求就可以使用Vu

2018-11-15 17:17:40 316

原创 Vue.js教程(六):v-model表单操作

v-model和v-bind有点类似,都是用来绑定标签属性的。但是v-model是表单控件操作,在其他标签是不好使。简介v-model是用来配合表单控件实现文字实时显示的效果(双向绑定效果)。v-model基本使用如下代码效果,修改了表单中的内容,p标签中的内容随着input输入框内容的变化而变化。&lt;!DOCTYPE html&gt;&lt;html lang="en" xm...

2018-11-15 17:03:35 1076

原创 Vue.js教程(五):v-on事件处理

Vue点击事件,使用v-on开头。Vue的事件很多很丰富,点击事件给button标签设置点击事件:&lt;div id="app-5"&gt; &lt;p&gt;{{ message }}&lt;/p&gt; &lt;button v-on:click="reverseMessage"&gt;点击替换P标签中的数据&lt;/button&gt;&lt;/

2018-11-15 16:55:01 457

原创 Vue.js教程(四):v-for循环操作

前言本篇主要是Vue的循环操作,需要遍历数组。所以本篇严格来说有两个知识点:1、v-for循环使用2、vue中数组的定义v-for基本使用1、定义数组&lt;script type="text/javascript"&gt; var app4 = new Vue({ el: '#app-4', data: { todos:...

2018-11-15 16:30:48 1958

原创 Vue.js教程(三):v-if条件判断

v-if是继v-bind之后的又一个v-xxx系列前言v-if这是我们学习Vue中的的第二个v-xxx系列。学到这里,不得不提一下的是,所有v-bind或者v-if所关联的都是Vue的动态变量,是变量!是变量!是变量!v-if基本使用&amp;lt;!DOCTYPE html&amp;gt;&amp;lt;html lang=&quot;en&quot;&amp;gt;&amp;lt;head&amp;gt;

2018-11-15 16:21:11 47426 4

原创 Vue.js教程(二):v-bind动态属性

上一节我们学习了Vue的基本语法,里面有个占位变量{{message}}。这种{{message}}形式的vue变量只适合给标签中的文本复制(开始标签和结束标签中间的文字)。v-bind是给属性设置变量的。简介v-bind是给属性设置变量的。属性和文本的含义如下:&lt;span title="qianfeng"&gt;hello Vue&lt;/span&gt;如上,title是属...

2018-11-15 16:11:16 4380

原创 Vue.js教程(一):基本使用

vue.js是一套渐进式Javascript框架。是一个小巧好用的框架。简介Vue既然是一个js框架,那么基本上js能做的事情它都能做。Vue跟大多数js框架类似,都是优化js对DOM的操作。什么是DOM操作呢?看下面:&lt;div id="app"&gt;&lt;/div&gt;如果想通过JS动态设置div的内容。纯JS的操作如下:document.getElementById...

2018-11-15 15:20:53 418

原创 Linux小小白入门教程(十六):权限管理

看上图,最左边红线处表示的就是一个文件的权限。文件的权限总共分为三种:可读(R)、可写(W)、可执行(X)。权限详解- rw- rw- r--以上这是一个文件的权限说明。第一个“-”:表示这是一个文件,而非文件夹。如果是文件夹的话,第一个字符就是“d”。第二个“rw-”:rw-是一组权限说明,表示此文件对于文件所有者而言具有可读可写权限,没有可执行权限。第三个“rw-”:代表对于跟...

2018-11-13 16:44:32 233

原创 Linux小小白入门教程(十五):用户和用户组

Linux是一个权限控制非常严格的操作系统。在不了解Linux权限规则前提下,基本对Linux的操作会寸步难行。简介Linux中权限、用户、用户组三者之间关系紧密。要更好的使用Linux,必需掌握Linux的用户、用户组和权限的知识。本篇文章先结束Linux中用户和用户组的创建指令。Linux有一个默认的用户为root,root是超级管理员,拥有至高无上的权限。一般在工作中是不会将roo...

2018-11-13 11:12:52 330

原创 Linux小小白入门教程(十四):查看进程ID

以下操作在Linux终端进行。Linux因为权限非常严格,所以暂时所有的命令操作全部是在/home文件夹下的/yangjw文件夹下进行。/yangjw文件夹就是登录用户名所在的文件夹,出了此文件夹,命令可能会失效。具体原因等学习到Linux权限管理就明白了。查看进程ID是开发中进程要做的事情,比如关闭某一个软件可以找到对应的进程,然后杀死进程来结束软件的运行。Linux因为版本众多,所以查...

2018-11-13 11:05:07 1297

Spring框架核心Jar和AOP所需的Jar文件

此下载文件中包含Spring的核心jar文件和AOP的Aspectj所需要的Jar文件。

2017-01-10

android批量文件上传(附服务端Demo)

android——SpringMVC实现批量文件上传 HTTP协议和HttpClient2种方式实现批量上传

2015-08-04

android下划线TextView

带下划线的TextView.支持xml属性配置下划线的显示与不显示

2015-07-16

空空如也

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

TA关注的人

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