- 博客(86)
- 收藏
- 关注
原创 Hugo 部署与自动更新(Git)
一般情况下,Git web hook 仅支持POST请求,部分Git网站可能支持GET请求,但是不建议使用GET请求调用 web hook,git web hook目前仅支持JSON(application/json), x-www-form-urlencoded(application/x-www-form-urlencoded)两种Type类型。在自己本地撰写博客,若是本次撰写完博客都要手动更新到远程服务器,繁琐且不符合计算机专业的特点,所以我们需要实现本地更新完后主动推送远程进行编译。
2024-07-29 11:27:29
424
原创 Socket通信(C++)
Socket是用于计算机之间进行网络通信的端口的抽象。提供了应用进程利用底层网络协议交换数据的机制。通过TCP/IP协议栈进行网络通信的过程中,每个设备都需要唯一的IP地址信息进行标识,Socket允许应用程序通过IP地址进行通信,而不需要关心底层TCP/IP协议的具体实现,在这个过程中,可以将Socket理解为对TCP/IP的进一步封装。同时,Socket也可以在本地进程之间通信,Socket允许应用绑定本地Socket文件,通过Socket文件进行进程之间数据的交换。
2024-07-29 11:25:21
1102
原创 虚拟串口调试(Windows)
在单片机和嵌入式设备开发过程中,我们有时需要对程序的串口进行调试,但是身边又恰好没有硬件设备,此时,我们可以通过虚拟串口来实现模拟本地端口,方便调试。
2024-05-09 09:33:59
2051
原创 内网穿透(docker部署frp)
内网穿透的目的是让位于内网中的设备或应用程序能够访问外部网络中的资源,实现内外网的通信。frp是一款免费开源的专注于内网穿透的高性能的反向代理应用,支持 TCP、UDP、HTTP、HTTPS、Websocket、P2P 等多种协议。frp是基于C/S模式实现的内网穿透服务代理应用,通过在公网IP上部署服务器端应用,客户端部署在内网上。当访问服务端暴露的应用时,反向代理到内网的服务实现内网穿透的代理。同样的,frp也支持在启动时直接以参数的方式进行服务部署,通过。配置文件的方式和参数的方式进行服务部署。
2024-02-23 18:09:54
2699
原创 Kubernetes基本部署概念
在Kubernetes中,Services的spec.ports定义了服务的外部访问端口。这些端口在集群内是可见的,并且允许集群内的节点访问该服务。spec.ports参数是一个包含多个端口对象的数组,每个端口对象表示一个外部访问端口。spec.portsname: 当Services中只定义单个端口时,端口名称是可选的,当在一个Services中定义多个端口时,必须为所有端口提供名称,以使它们无歧义protocol: 支持的协议,可选参数,默认为TCP。
2024-02-23 14:21:23
1231
原创 Python日志(logging)
用于监视文件的状态,如果文件被改变了,那么就关闭当前流,重新打开文件,创建一个新的流。logging提供了灵活的日志记录功能,可以根据不同的需求配置不同的日志记录器、处理器和格式器。上面介绍了logging root logger的使用,在处理日志时,打印日志的格式也是重要的一个环节,在。用于记录日志信息到一组文件的处理程序,当当前文件达到一定大小时,该处理程序会从一个文件切换到下一个文件。用于记录日志信息到一组文件的处理程序,在指定时间间隔进行日志文件组的循环。
2024-02-21 10:03:18
1216
2
原创 Docker Swarm网络管理
ingress网络主要对集群中的服务进行负载均衡。未设置ingress网络的情况下,将会影响集群多分片任务的使用。在Docker网络中,有且仅有一个ingress类型网络,Docker允许你手动自定义ingress网络。若是先有的网络中存在冲突网段,需要修改ingress网络。可以收到删除先有的ingress网络,重新创建ingress网络,指定网段。在删除ingress网络前,需要先停止ingress连接的服务删除现有的ingress网络创建新的ingress网络。
2024-02-20 14:26:00
1058
原创 Docker Swarm网络管理
ingress网络主要对集群中的服务进行负载均衡。未设置ingress网络的情况下,将会影响集群多分片任务的使用。在Docker网络中,有且仅有一个ingress类型网络,Docker允许你手动自定义ingress网络。若是先有的网络中存在冲突网段,需要修改ingress网络。可以收到删除先有的ingress网络,重新创建ingress网络,指定网段。在删除ingress网络前,需要先停止ingress连接的服务删除现有的ingress网络创建新的ingress网络。
2024-01-15 18:12:37
1085
原创 Docker0网络设置
当部署运行Docker后,Docker在启动时会默认创建三个网络通过查看网络,可以发现,在运行Docker后,宿主机上多了一个docker0的网络,通过查看可知,docker0网络本质上就是默认的bridge网络。由以上信息可知,docker默认网络bridge就是宿主机上的docker0网络。
2024-01-15 16:38:44
692
原创 文件分割与合并
在进行文件传输的过程中,因为网络和文件大小的限制。经常会遇到文件传输失败的情况。针对文件传输失败的情况。大文件由于其传输时间长,一旦传输失败,重新传输费时且不一定能保证再次传输成功。针对这种情况,可以考虑将文件分割成小文件的方式进行传输,减少因传输失败或传输大小限制导致的问题。
2024-01-11 18:08:09
433
原创 镜像迁移脚本
在日常的服务部署开发中,我们有时需要迁移环境,将服务器上的私有镜像从一个服务器迁移到另一个服务器中。在以微服务为架构的项目中,我们的一个项目可能存在大量的镜像,对每一个镜像单独进行导出打包迁移即重复又麻烦,针对这种情况,我们可以通过开发脚本来实现快速的迁移部署,减少重复工作。
2024-01-11 16:01:00
1047
原创 可扩展性表设计方案
设置主表和属性表,在属性表中通过主表类型+属性名作为联合主键,通过key字段和value字段存储主表之中的扩展信息,扩展新属性通过增加属性表记录即可实现扩展,不影响主表的使用。MySql在设计实现继承关系时,在每个子表中设计一个指向父表的外键,使子表和父表之间产生一种“is-a”的关系。例如用户表预留5个扩展字段,新需求需要记录用户注册渠道,可以直接使用field1存放,不影响旧数据和业务。在数据库表设计时,根据需求场景和经验进行适当的冗余性设置,满足日后的扩展字段构建需要。
2023-09-15 14:38:19
468
原创 Docker容器内使用Docker——DinD与DooD
在部分场景中,我们需要在Docker容器内操作Docker镜像。如,容器内实现对资源的监控、服务的打包、自动化构建等操作,这些操作都需要能够与Docker服务端实现交互来实现的。在Docker容器内操作Docker有两种模式,分别为DinD(Docker in Docker):在Docker容器内部运行独立的Docker进程;DooD(Docker outside of Docker):运行在Docker容器外部的Docker,即在容器内部操作外部的Docker服务端。DinDDooD原理。
2023-09-13 18:27:16
1917
原创 服务器(容器)开发指南——code-server
运行在浏览器上的VSCode。自VSCode发布以来,VSCode就受到了广大程序员的青睐。VSCode丰富的插件能够满足使用者各色各样的需求。但VSCode使用受限于图形化界面的需求,只能安装在客户端而不能安装在服务器上。code-server的出现完美的解决了VSCode不能安装在服务端的缺陷。
2023-08-24 15:57:30
6791
原创 我的创作纪念日
后来,随着加入实验室,开始跟着团队一起做项目,在这段时间中,停更了很长一段时间的博客,但在项目中,遇到相同的问题,明明之前都解决过了,但后面遇到还是两眼摸瞎,重新搜资料从头做起。于是我重新开始的我的个人博客生涯,在转变心态后,我从之前的随性创造变成了记录自己在学习在项目中遇到的问题,总结的经验。文字不能将个人的思想完全记录,同时,因为有限的精力,我只能在平常的工作、学习和生活中挤出有限的时间来进行部分的创作,所以只能挑部分的内容进行整理归档,不能将所学所见完全记录下来。但只要坚持创作,总归是好的。
2023-08-02 10:04:26
267
原创 服务器(容器)开发指南——SSH打洞开发
在进行定制化的服务开发时,我们有时候只能在固定的服务器上进行服务的开发。此时,通过命令行的方式进行开发的难度较大。我们可以考虑通过SSH打洞的方式,通过本地IDE的SSH连接功能来获取远程的环境进行代码的开发修改。随着容器化技术的发展,越来越多的产品服务打包进容器内运行,对容器内部代码的定制化开发需求越来越多。容器本身可以简单理解为一个更轻量的虚拟机,针对容器的定制化开发的实现也可以参考服务器开发相关技术。本文为更好的讲解SSH打洞开发的方式,采用容器化开发技术进行讲解。
2023-07-27 18:04:14
793
原创 Java操作RabbitMq并整合SpringBoot
RabbitMq自带有专门的管理界面,可以在其管理界面对RabbitMq进行管理查看等操作。,当我们启动RabbitMq后,需要启动管理界面插件后才能访问界面。RabbitMq的管理界面的对外端口为。库来获取对RabbitMq的支持。在SpringBoot的配置文件。库中,是通过依赖上面。
2023-07-15 18:39:13
681
原创 Python操作RabbitMq入门
RabbitMq自带有专门的管理界面,可以在其管理界面对RabbitMq进行管理查看等操作。,当我们启动RabbitMq后,需要启动管理界面插件后才能访问界面。RabbitMq的管理界面的对外端口为。
2023-07-14 16:23:37
701
原创 flask-apscheduler实现定时任务
flask-apscheduler是一个支持apscheduler的flask插件,通过flask-apscheduler可以很方便的定义定时任务。
2023-07-11 13:14:10
2417
原创 [Container]Hadoop集群镜像打包
在使用学习Hadoop等相关大数据产品时,为更好的学习和理解分布式的理念和操作,在学习时一般采用多机器的方式进行学习。一般情况下,可以采用通过虚拟机和云服务器等方式满足机器不足等问题。考虑到,云服务器成本过高,虚拟机资源性能等问题,博主决定采用容器的方法来学习搭建Hadoop集群。以便更好的学习Hadoop、容器、Shell等相关概念。
2023-07-07 17:23:09
855
原创 [数据存储]HDFS的简介、初始化配置与运行
HDFS(Hadoop Distributed File System)Hadoop分布式文件系统,是Hadoop项目中关于数据存储的组件,是Hadoop项目的一部分。
2023-07-07 12:11:35
1820
原创 Hadoop简介、安装与环境变量配置
Hadoop是由Apache基金会开源的具有可靠、可扩展、分布式计算的大数据框架。Hadoop可以简单的从单个服务器扩展到数千台机器,提供分布式的计算和存储服务。Hadoop通过检测和处理应用程序层的故障来为服务器集群提供高可用性服务。
2023-07-06 16:56:06
3546
原创 大数据简介
大数据简而言之就是巨量的数据。随着互联网的发展,我们的行为,我们日常活动、自然界运行的规律随时随地都在产生数据信息。而由互联网而链接的数据是海量的,这些数据的背后蕴含的价值也是巨大的。对这些数据的分析与挖掘,能让我们更好的了解事、物、自然以及人类社会运行的规律。所以说大数据:就是对海量数据进行处理、分析、挖掘获取数据背后蕴含价值的技术体系。
2023-07-06 11:58:18
219
原创 数值分析实验
用共轭梯度法求解线性方程组AxbA2−1−12⋯−1⋯−1⋯2−1−12b10⋮01矩阵A的阶数取100,指出计算结果是否可靠。
2023-07-06 10:12:56
536
原创 操作系统实验
使用CreateProcess函数创建新的进程。程序中创建新的进程,新进程执行记事本的可执行文件打开记事本,主进程休眠,等待记事本进程结束。用户关闭记事本后,WinMain函数中的主进程关闭进程句柄后结束。用程序实现启动一个新的进程,并在进程中启动计算器应用程序(calc.exe)。程序演示使用函数_beginthreadex启动线程。
2023-07-06 10:11:38
494
原创 微信小程序数据绑定及渲染
小程序原生支持数据的双向绑定,在wxml文件里面可以使用 Mustache 语法(双{{ }}方法)绑定js文件中data里面的属性。的形式,其计算结果为字符串,wxml会将其默认转换成 true 值,可能会造成逻辑上的错误。在{{ }}中绑定的数据可以进行算数运算,逻辑判断,逻辑运算,字符串运算等操作。条件的逻辑等同于编程语言中 if 语句的逻辑。使用组件绑定函数后,可通过绑定动作触发相应的函数。在微信小程序中,使用。
2023-07-05 20:18:00
614
原创 微信小程序路由跳转,API调用,页面传值
其他场景API调用方法如’PUT’,'DELETE’本质是’POST’请求的延伸,‘PUT’请求和’DELETE’请求使用方法同’POST’,只需修改method中的方法即可。微信小程序默认已经封装了相关的请求方法,在使用微信开发工具时,在微信开发工具右上角的详情,本地设置中设置不检验合法域名…GET请求一般使用头参法传递数据,GET请求相对POST请求速度较快,但是安全性不高,凡是设计用户隐私的数据,都不能使用GET请求。保留当前页面,跳转到应用内的某个页面。关闭当前页面,跳转到应用内的某个页面。
2023-07-05 20:06:48
1524
1
原创 Anaconda操作手册
是一个主要用于科学计算的开源的发行版本,其中包含 conda,python 等多个科学包及其依赖项。Anaconda 提供了包管理和环境管理的功能,可以很方便的解决 python 的版本控制以及第三方依赖包问题。Anaconda 向使用者提供了 conda 工具,通过 conda 可以很方便的进行包管理和环境管理。
2023-07-05 20:04:35
283
原创 编程语言分类
强制数据类型定义的语言。也就是说,一旦一个变量被指定了某个数据类型,如果不经过强制转换,那么它就永远是这个数据类型了。例:Java,Python,C++数据类型可以被忽略的语言。它与强类型定义语言相反,一个变量可以赋不同数据类型的值。该变量可以根据环境进行自动转换,不需要显式的进行强制转换。例:PHP,JavaScript。
2023-07-05 20:04:04
109
原创 基于flask-oidc的OIDC协议授权码模式单点登录SSO实现
作为中间参数,并不携带我们希望获得的用户信息,无法完成登录操作。flask-oidc无法自动根据。时完成授权认证操作。认证服务器执行完后,返回应用系统回调地址。获取toekn,所以我们需要手动发起请求获取token令牌。关于SSO单点登录、OIDC协议、授权码模式等相关概念详见。方法进行编码,否则认证系统可能无法识别参数信息。装饰器可以根据当前的参数信息,自动前往配置的。装饰器,认证系统会返回防止跨域的。携带应用信息作为参数请求。其中,请求参数应设置为。在授权码模式下,调用。
2023-07-05 15:45:32
1986
原创 基于OIDC的SSO单点登录
SSO单点登录:是指用户的一次性鉴权登录。即用户在身份验证服务器服务器登录一次后,在身份验证服务器的注册服务中即可自动完成登录验证的功能。简单来说,就是在有多个系统时,只需要登录一次,其他服务即可自动感知获取到用户的登录状态。单点登录的主要核心是身份验证服务器。在身份验证服务器中注册了用户的具体信息和可信应用。在其他服务获取登录状态时,是通过相关协议直接访问身份验证服务器获取用户的登录状态和身份完成登录的授权操作的。
2023-07-05 14:30:03
2319
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人