- 博客(94)
- 收藏
- 关注
原创 删除Linux服务器上多余的系统启动项,并重装Ubuntu系统
经过我一番研究,Ubuntu系统初步安装成功了,但是存在一大堆问题,原来使用的旧Centos系统没被清除干净,导致服务器上存在多个系统启动项,并且系统开机引导文件有问题,服务器断电重启后找不到默认的启动项。安装新系统时,需要先进入BIOS界面,选择U盘启动,如果在这个时候BIOS中找不到对应的U盘启动选项,有可能是在上一步操作中,损坏了启动优盘中的文件,只需要重新制作启动U盘,然后重新进入BIOS就好了。2024年6月,Centos团队终止维护Centos7系统,Ubuntu成了我的替换方案。
2025-04-04 18:28:04
310
原创 安装Ubuntu系统后,无法通过SSH远程访问
最近常用服务器的系统从Centos换成了Ubuntu,发现常用的ssh工具无法访问服务器,本来以为是防火墙的锅,但是关闭防火墙并不起作用。调查后才发现,原来是。表示ssh-server启动,如果没有输出则说明没有安装ssh服务。上面这个命令用来检查ssh服务的状态,输出的结果。安装完成后,使用命令启动ssh服务。表示ssh-client启动,
2025-04-02 11:00:10
164
原创 首次使用Flutter框架(笔记1)
Flutter和Dart是紧密相关的,二者是语言与框架的关系,Dart是Flutter的核心编程语言;Flutter是一个基于Dart的跨平台应用开发框架,它使用Dart语言作为开发语言,通过一组丰富的UI组件和工具,帮助开发者构建高性能的移动应用、Web应用和桌面应用。如果环境有问题,flutter doctor会提示需要安装或者修复的内容,可以按照提示完成环境配置。lib文件夹下的main.dart是应用的入口文件,包含应用的启动逻辑。是项目名称,必须全部使用小写字母,并且不能使用驼峰命名。
2025-02-08 15:01:58
302
原创 MessageBox.Show()弹框时未阻塞UI线程,导致关闭弹框前可以执行其他操作
响应时,程序按照预期弹出了信息提示,但是MessageBox.Show是一个模态对话框,按预期,在用户关闭模态框之前它会阻止用户与程序的其他部分进行交互。在 WPF (Windows Presentation Foundation) 中,MessageBox.Show 是一个模态对话框,它会阻止用户与应用程序的其他部分进行交互,直到对话框被关闭。WPF项目中,所有的UI操作更新都由UI线程进行管理,在上面的代码中,MessageBox显示模态框没有在UI线程中进行,导致MessageBox行为不正常。
2024-12-09 13:47:20
462
原创 Error:WPF项目中使用oxyplot,错误提示命名空间中不存在“Plot”名称
在`OxyPlot.Wpf`依赖包版本为1.x时,前面示例代码中的使用方法是没有错的,但是在版本2.x之后,`Plot`类被移到了另一个库,所以当我引用的`OxyPlot.Wpf`版本为2.x时,程序会出现这个错误。
2024-10-07 18:23:34
995
原创 Windows系统设置定时任务,周期性执行.bat文件
通过删除相关的注册表项,实际上清除了软件用来追踪试用期的信息。这一步,指定系统任务要启动的程序,也就是这次任务要执行那个.bat文件,可以点击“浏览”按钮,选择文件系统中已经编辑好的脚本。试用期结束后虽然可以执行脚本继续试用,但是需要每次手动执行,下一步就要设置一个系统任务,每隔一段时间自动执行一次.bat文件。在任务计划程序库中,点击“创建基本任务”,在创建基本任务向导中,输入任务名称个任务描述,然后点击“下一页”选择任务的触发器类型,如下图,可以根据需求选择,可以指定具体日期和时间,然后点击下一步。
2024-09-25 22:15:27
1148
原创 设置元素浮动,出现高度塌陷导致鼠标无法点击
上面两个div元素,分别添加了左浮动和右浮动,添加float属性之后,这两个div元素出现了高度塌陷的问题。
2024-09-25 22:13:22
309
原创 Error:Decorators are not valid here. 使用Angular中的装饰器
在Angular中,装饰器是用来增强类、方法、属性和参数的强大工具。它们允许你添加元数据,改变行为,并使代码更具可读性和可维护性,在使用装饰器时,要知道使用了哪个装饰器,装饰器用在了哪个元素上。Decorators are not valid here,项目中出现这个提示信息,说明装饰器未知错误、或者在不支持的元素上使用了装饰器。
2024-09-24 20:57:43
1167
原创 Error:Angular项目无法识别NgModule中引入的外部依赖库
“angularCompilerOptions”: { “enableIvy”: false } 这个配置的作用是关闭 Angular 的 Ivy 渲染引擎,这个Ivy渲染引擎在编译的过程中会自动处理依赖包的编译
2024-09-24 08:32:37
530
原创 使用Microsoft Visual Studio Installer Projects 2022打包桌面程序
如上图所示,在解决方案中右击Setup项目,在view中有文件系统、注册表、文件类型、用户界面等多个不同选项,前面四步操作中涉及到的三个文件夹,都属于view 中个文件系统(如果你不小心关闭后找不到这三个文件夹,可以在这里点击文件系统重新打开)。上一步打包项目新建成功之后,Visual Studio右侧界面自动显示三个文件夹,这三个文件夹就是打包项目的文件系统。在当前解决方案下添加Setup 项目,添加新项目时,搜索并选择使用上一步安装的Setup Project模版。第六步主要介绍许可协议怎么添加。
2024-09-14 16:45:52
3657
2
原创 Windows10系统中忘记MySQL数据库root权限登录密码
这个错误提示说,没有在字段列表中找到password这一列,这是因为新版本的MySQL数据库下已经没有password这个字段了,password字段正式改成了authentication_string字段。在命令行中执行上面两条命令,其中第一条为root用户重新设置登录密码,其中。指令,重新加载授权表,使权限或者账户相关的更改立即生效。在命令行中使用上面的命令登录MySQL,其中。允许用户跳过权限表进行无密码登录。
2024-04-17 12:32:40
632
原创 Canvas 画布的旋转
这个方法是又Canvas的context提供的,它接收一个参数,这个参数指的是当前绘图顺时针旋转的角度,如上面代码所示,rotate方法的参数是“Math.PI / 6”,所以绘图应该会沿顺时针方向旋转30度。首选,我定义了一个1000*1000的正方形画布,然后在画布上绘制了两条交叉的分割线,用来定位整个画布的中心点,也是我希望围绕着旋转的中心点。上图就是最终渲染出来的效果,这是目前我想到的一种解决办法,还是感觉有点不太满意,大家有比较好的解决办法吗?如果希望绘图按照逆时针方向旋转呢?
2024-04-16 16:33:00
2630
1
原创 Canvas 画布基本用法详解
lineWidth属性定义在画布中绘制时要使用的线条宽度。必须在调用 stroke() 方法之前设置。属性定义在画布中绘制时要使用的样式。必须在调用 stroke() 方法之前设置。lineCap属性定义线的端部样式(butt、round 或 square),默认为 square(方形)。必须在调用 stroke() 方法之前设置。
2024-04-15 19:42:21
1227
原创 electron项目打包慢、打包报错
项目使用了electron框架,在第一次打包或者网络条件不好的环境下进行打包时熟速度慢的出奇,甚至经常出现打包失败的情况(如上面图片的报错)。这是因为,在electron打包的过程中,需要去官方源https://github.com/electron/electron/releases/download/下载一个ZIP包,大概70-80MB左右,这个包的下载站点是github,由于某些原因导致这一步经常出现问题。
2024-04-15 15:20:57
1940
原创 MySQL数据库max_allowed_packet参数
当出现上面的错误时,意味着客户端向数据库提交的单个数据包超过了MySQL的max_allowed_packet限制。,这个参数会限制我们的MySQL数据库进行插入和更新操作时单个数据包的大小,默认是。在MySQL数据库中,有一个参数叫。我们可以在MySQL命令行中使用。
2024-04-12 13:30:57
497
原创 Linux系统中MySQL数据库大小写敏感
参数的值可以看出来,不同操作系统重对于大小写敏感的默认设置是不一致的,所以我们在开发时,SQL语句最好一律采用小写字母,避免出现错误。MySQL在Windows系统中是不区分大小写的,但是在Linux系统中默认是区分大小写的。最近把网站向一台新的CentOS服务器中做迁移,把MySQL数据库和前后端站点全都部署完成后,网站启动之后一直在报。2、lower_case_table_names,代表表名是否大小写敏感,可以修改,参数有0、1、2三种。在MySQL数据库中,大小写敏感的配置和两个参数有关,
2024-04-11 21:13:55
677
原创 Angular 使用DomSanitizer防范跨站脚本攻击
XSS攻击通常指的是通过利用网页开发时留下的漏洞,通过巧妙的方法注入恶意指令代码到网页,使用户加载并执行攻击者恶意制造的网页程序。这些恶意网页程序通常是JavaScript,但是实际上也可以是Java、VBScript、ACtiveX、Flash甚至是一些普通的HTML。简称XSS,是代码注入的一种,是一种网站应用程序的安全漏洞攻击。它允许恶意用户将代码注入到网页上,其他用户在使用网页时就会收到影响,这类攻击通常包含了HTML和用户端脚本语言(JS)。
2024-04-09 23:53:55
829
原创 Angular Web项目前端无法正确显示base64类型的图片
1、网站前端使用了Angular框架,Angular中默认将所有输入的值视为不受信任的,当我们通过{{}}插值表达式、property、attribute等方式,将一个值从模板中插入到DOM中,Angular会自动清除和转义不受信任的值。声明完成之后,使用sanitizer的方法对Base64的URL进行处理,Domsanitizer的作用主要是为了防止跨站点脚本安全漏洞,通过清除值以便于在不同的DOM上下文中安全使用。
2024-04-09 15:52:18
779
原创 使用U盘重装CentOS7系统
进入BIOS设置之后可以看到有多个启动选项可以选择,可以从中找到我刚插上的启动U盘,这里和U盘相关的启动项可能有两个,其中一个是UEFI启动选项,这里我们要选择另一个非UEFI的U盘启动项,否则在后面进行系统磁盘分区设置的时候会出现格式错误。如上图所示,我需要一个带UI界面的CentOS系统,所以我选择了DVD版本的ISO文件,将文件下载到本地之后就可以开始制作启动U盘了。把刚制作好的启动U盘插在服务器上,启动服务器,在服务器开机时按F11进行入BIOS设置页面(我这里使用的是宝德的服务器)。
2024-03-26 19:29:13
2389
原创 前端JS 使用input完成文件上传操作,并对文件进行类型转换
如上图所示,这是input type="file"在页面上渲染出来的原生的样式,但是在项目中实际使用时我们一般都会设置一个自定义的样式,毕竟原生的样式通常和我们的页面风格不统一。直接在input标签上写CSS代码不起作用,在项目开发中通常使用隐藏input标签,然后在input标签上层覆盖一个自定义的标签,然后我们对这个自定义的标签设计样式。-- 设置 opacity: 0;
2023-11-18 16:02:58
3803
原创 JavaScript中的异步编程
异步编程,是JavaScript编程中重要的一部分,最近学习了阮一峰老师的《深入掌握 ECMAScript 6 异步编程》系列文章,特意输出一篇学习笔记
2023-10-12 21:06:04
313
原创 MySQL报错 table “xxx” doesn‘t exit
代表当前系统文件是否大小写敏感,只读参数,无法修改。ON 大小写不敏感,OFF 大小写敏感。这个参数描述的是数据库当前所在的操作系统的文件目录是否大小写敏感,OFF表示大小写敏感,ON表示大小写不敏感。MySQL在Windows下不区分大小写,但是在Linux系统中默认是区分大小写的,上述问题就是由于英文字母大小写敏感导致的。代表表名是否大小写敏感,可以修改,参数有0、1、2三种。查看当前MySQL的大小写敏感配置,可以使用如下语句。MySQL大小写敏感配置相关的两个参数,
2023-10-12 20:56:08
471
原创 Centos7系统使用systemd配置dotnet项目开机自启动
在/etc/systemd/system/路径下,新增一个myTest.service文件,文件内容如下。在CentOS7中,systemctl命令主要负责控制systemd系统和服务管理器。这里使用的方法是通过自定义服务文件,添加到系统服务中,通过Systemctl管理服务。
2023-10-09 15:14:41
748
原创 在CentOS7系统中安装MySQL5.7
使用临时密码登录后只能进行修改密码操作,不能进行其他操作。回车后仍然提示要输入登录密码,直接再次点击回车即可登录成功。编辑my.cnf文件,删除。
2023-10-05 14:28:56
638
1
原创 认识网线上的各种参数标号
传输频率16MHz,一般是ANSI和EIA/TIA568标准中指定的电缆,最高传输速率为10Mbps(10Mbit/s),主要应用于语音、10Mbit/s以太网(10BASE-T)和4Mbit/s令牌环,最大网段长度为100m,采用RJ形式的连接器;这是跳线特有的标识,跳线,即自带水晶头的网线,因为水晶头的接法分为T568A和T568B,所以跳线会将水晶头的接法做标记。,我们常说的网线是其中的双绞线,双绞线是由许多对线组成的数据传输线,它的特点是价格便宜,所以被广泛应用。
2023-09-12 19:37:42
13843
1
原创 解决MySQL数据库拒绝远程计算机连接问题
以前MySQL数据库部署在云服务器上,程序服务端也部署在云服务器上,连接服务器从没出现过问题。最近有一次需要做一个完全局域网的环境部署,我把数据库和程序服务端部署在里两台不同的电脑上,访问数据库的时候出现了上图所示的错误。执行上面四步之后,MySQL就可以通过root账号和密码进行远程访问了。
2023-09-12 17:22:52
1788
原创 Angular中的组件
Angular中的组件,是一个使用@component()装饰器装饰的特殊类,同时在这个装饰器中指定元数据,元数据包括组件选择器组件模板组件样式等。组件是angular模块化的一个基本的组成元素。日常开发中,页面通常就是由一个或者多个组件堆叠而成。组件的元数据中,声明了组件的渲染模板和组件样式表。在组件类中,包含了组件本身的数据以及一些前端交互逻辑,组件通过一些由属性和方法组成的 API 与视图交互。import {
2023-04-05 22:12:39
1280
原创 Angular中的管道
管道的本质是一个函数,既然这样我们就可以自定义一个类,在这个类中定义一个函数进行数据逻辑的处理,然后使用@Pipe()装饰器把它标记为管道,这样一个自定义的管道就创建好了,在NgModule中引入之后就可以使用这个管道了。我在这里定义一个接受number型数据,并把输入值乘以十倍之后返回的管道:1、首先创建一个类,命名为,然后让这个类继承接口并实现一个transform方法,这个transform方法使用管道输入值作为第一个参数,把其它任何参数都以列表的形式作为第二个参数,并返回转换后的值。
2023-03-27 22:07:46
1430
原创 递归算法以及简单应用
市考试院要组建一场全市范围的考试,全市范围内大概有一百到两百数量的学校,简单的select选择操作过于繁琐,这里需要通过选择区县的方法来默认选择区县下属的所有学校。递归算法,是通过重复将问题分解为同类的子问题而解决问题的方法,它的表现形式一般为函数的自调用。如下图所示,页面上是一个三层的树形结构,用户点击市级或者区县级节点时,我期望得到的数据是其下属所有学校的ID存放到一个数组中。当然,在这个循环调用的过程中我们一定要设置一个临界值,当满足条件时就停止递归,否则无限制的调用下去就形成了一个死循环。
2023-03-21 22:40:34
207
原创 C# 获取当前设备硬件信息
为了减少人工手动处理的工作量,A服务器需要主动向B发送数据,然后B服务器接收数据后进行存储,但是在这个过程中我不希望B服务器接收A服务器之外的其他端上传的数据,所以B在接收数据的时候就需要对数据的来源进行一个验证。我有A、B两台服务器,其中A是一个视频处理服务器,B是一个数据存储服务器。这里A服务器在上传数据时携带自身服务器的硬件信息,通过验证硬件信息的方法,能够确定数据来源是否是A服务器。不过在这之前我并不知道这个name的值具体填什么,这个时候只需要通过console打印一下就好了。
2023-03-21 21:51:35
2029
原创 简单描述一个最简化的Angular项目代码
一个使用NgModule装饰器修饰的类,通常就是一个模块,NgModule为一系列组件声明了编译的上下文环境,通常我会把几个业务逻辑关联比较紧密的组件放在一个模块中,形成一个功能单元。的值是angular cli创建当前组建时,根据组件所在的路径以及组件名称定义的一个唯一标识符,如果我们后续要在项目中的其他地方引用当前这个组件时,可以使用这个标识符。按照官方的说法,组件是angular的主要构造块,说白了,整个angular项目都是由一个又一个的组件组合起来的。文件也需要先了解一下。
2023-03-20 21:38:04
928
原创 JavaScript中Promise的简单使用及其原理
Promise是ES6最重要的特性之一,今天来系统且细致的研究一下Promise的用法以及原理。按照我往常的理解,Promise是一个构造函数,有all、resolve、reject、then、catch等几个方法,一般情况下,在涉及到异步操作时才会用到Promise。
2023-03-18 07:30:00
1048
原创 SignalR+WebRTC技术实现音视频即时通讯功能
端对端通讯时,首先是教师端向学生端发送数据流,当学生端收到数据流后,并不会进行显示,而是调用onAddStream方法把这个数据流添加进来,然后学生端把本身的数据流发送给教师端,教师端收到数据流后,同样调用onAddStream方法,然后我们在onAddStream的回调方法中,把接收到的数据流进行渲染和显示。连接实际建立完成之后,就可以通过连接对象的invoke方法来调用集线器中的方法,invoke方法的第一个参数是对应集线器中请求方法的名字,第二个参数是调用方法携带的参数;然后是候选者交换与检测连接;
2023-03-15 21:02:50
1856
原创 关于angular中的生命周期函数
生命周期函数,也叫生命周期钩子。Angular的每个组件(包括根组件和子组件)都存在一个生命周期,从创建、更新、到销毁,Angular提供组件生命周期钩子函数,
2023-03-06 11:22:45
731
原创 块级格式化上下文BFC
这个时候,我们就可以用BFC的特性来解决布局中出现的这些问题。高度塌陷问题一般是由于元素浮动引起的,当一个元素本身没有设置高度,其高度完全由子元素撑开,而子元素被设置为浮动元素后,由于子元素脱离了标准文档流,因此父元素就没有了高度。总结以上几点可以得出一个结论,BFC就相当于一个包含在根元素中的一个小的独立的根元素布局,而且这个BFC中的元素完全不会影响到BFC之外的其他元素。BFC特性所影响的元素只包括这个BFC容器的一级子元素,并不能影响元素本身节点和其子元素的子元素。BFC包含内部所有元素的行为。
2022-11-21 23:23:53
554
原创 JavaScript 开发中常用函数
我希望根据用户输入的URL来判断是学生登录还是教师登录,这里就需要判断URL的最后是studentLogin还是teacherLogin。为例,拆分后获取到一个length为5的数组,通过访问数组下标就可以获取URL最后一段的值。,这个方法的返回值是一个字符串。字符将字符串拆分成数组。
2022-11-21 14:36:10
1302
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人