- 博客(227)
- 资源 (13)
- 收藏
- 关注
原创 CDN、源站与边缘网络
CDN的全称是(Content Delivery Network),即内容分发网络。其目的是通过在现有的Internet中增加一层新的CACHE(缓存)层,将网站的内容发布到最接近用户的网络”边缘“的节点服务器,使用户可以就近取得所需的内容,提高用户访问网站的响应速度。从技术上全面解决由于网络带宽小、用户访问量大、网点分布不均等原因,提高用户访问网站的响应速度。
2025-01-25 09:00:07
1084
原创 搭建docker私有化仓库Harbor
Harbor是一个开源的企业级Docker Registry服务,它提供了一个安全、可信赖的仓库来存储和管理Docker镜像。Harbor翻译为中文名称为"庇护;居住;可以理解为是Docker镜像的"居住环境"或者是镜像的"庇护所”。Harbor最初由VMware公司开发,旨在解决企业级Docker镜像管理的安全和可信任性问题。VMware于2016年发布,在2017年,VMware将Harbor开源,这使得更广泛的社区和组织可以自由地使用和贡献代码。
2025-01-10 21:28:37
1673
原创 使用PVE快速创建虚拟机集群并搭建docker环境
编辑网卡、重启网卡,配置静态ip,文件在/etc/sysconfig/network-scripts/ifcfg-ens18。注意:在安装过程中,要设定语言、时区、超管用户root的密码、普通用户k8s的账号和密码、内存、磁盘大小等参数。命令安装docker相关资源包,更新龙蜥8.9的软件园后,安装的docker版本呢是26.1.3,还是比较新的。对上面创建好的3台虚拟机初始环境创建快照,方便后面回滚使用初始安装的Linux系统重新部署新环境使用。通过PVE后台上传操作系统ISO镜像。
2025-01-09 21:33:46
1215
原创 Linux服务器网络不通问题排查及常用命令使用
在PVE主机上创建虚拟机,并配置静态ip和dns后,主机可以正常访问网络,但是在宿主机或者其他机器上都无法访问该虚拟机。
2025-01-08 19:07:11
827
原创 【面试】后端开发面试中常见数据结构及应用场景、原理总结
在后端开发面试中,常见的数据结构包括数组、链表、栈、队列、二叉树、平衡树、堆、图和哈希表等。以下是这些数据结构的总结,包括它们的应用场景、优缺点。
2025-01-03 12:42:44
1175
原创 docker镜像及容器理论知识和操作总结
Docker 是一个开源平台,支持开发人员构建、部署、运行、更新和管理容器,这些容器是标准化的可执行组件,结合了应用源代码以及在任何环境中运行该代码所需的操作系统 (OS) 库和依赖项。容器简化了分布式应用的部署和交付过程。随着组织转向云原生开发和混合多云环境,它们已变得越来越流行。开发人员可以直接使用 Linux 和其他操作系统中内置的功能,在没有 Docker 的情况下创建容器。但 Docker 使容器化更加迅速、简便和安全。
2024-12-12 08:58:07
1034
原创 Windows安装WSL子系统及docker,以及WSL和docker配置、使用及问题解决
在Windows操作系统中,Ubuntu子系统(也称为Windows Subsystem for Linux, WSL)为开发者提供了一个在Windows环境下运行Linux环境的平台。然而,有时用户在按照Ubuntu子系统或者使用WSL时,可能会遇到各种问题,下面总结一下解决方式。想要在Windows上安装Docker(实际上是基于Hyper-V或者WSL2这两项虚拟化技术),需要开启虚拟化功能,所以不管是对于系统还是硬件都有一定的要求。
2024-12-11 16:17:36
5785
原创 在VMware虚拟机中配置静态IP
具体配置可以参考如下文章:在VMware中给win10/win7虚拟机配置静态IP地址(保姆级教学,全是干货)VMware虚拟机中配置静态IP的方法如何给VMware的虚拟机设置固定IP地址
2023-05-10 12:07:34
492
原创 配置rsync daemon模式进行同步文件或目录
rsync简述rsync 是一个常用的 Linux 应用程序,用于文件同步。它可以在本地计算机与远程计算机之间,或者两个本地目录之间同步文件(但不支持两台远程计算机之间的同步)。它也可以当作文件复制工具,替代cp和mv命令。使用场景:打包服务器编译成功后,将相关文件移动到部署服务器上。Ubuntu系统默认已经安装有rsync,因此可以直接使用rsync命令将同一台机器或者不同机器之间的目录或文件进行同步,这种方式使用起来就相对比较简单,只需要了解rsync的命令参数即可。而使用daemon守护进程
2022-05-15 22:36:47
2514
原创 【shell脚本】清理指定时间之前的超期文件
背景正常运行的服务器每天都会产生大量的日志,如果长时间不清理,会导致磁盘使用率过载,严重的会影响IO密集型操作,比如数据库查询操作的性能。如果有一个监控磁盘使用率的脚本,当检测到磁盘使用率超过指定阈值后,就去清理日志文件,就可以避免这种情况。原理清理日志的原理,就是通过du -h命令获得服务器相关使用信息,然后配合awk命令截取到磁盘使用率那一列,就可以得到当前时间服务器的磁盘使用率数据,然后再通过find 目录 type -f -cmin命令找到超期的文件进行清理。脚本#!/bin/bash#
2022-05-14 23:36:32
2547
原创 VScode使用Remote SSH进行远程开发,跳转缓慢文件解决
引言众所周知,一些特定的编程语言可能需要Linux环境的支持,比如在golang代码中引用C语言,就需要使用到cgo,而这个环境配置需要Linux作为支撑。如果本机使用的是Windows环境,想要在Linux环境中进行代码编译、调试、部署,还有如下几种方式:1. 搭建Windows + Linux双系统。Windows进行文档处理等办公操作,Linux进行开发、编译、调试等工作。缺点是,系统切换比较慢,有些沟通工具支持不好,比如在开发环境下,如果团队使用微信进行沟通,就可能导致信息延迟、沟通不畅等问题,
2022-04-23 23:24:04
12484
原创 Windows系统使用VScode开发golang程序,远程连接Ubuntu系统编辑代码并编译运行
文章目录虚拟机安装Ubuntu虚拟机安装及注册VMware安装Ubuntu无桌面版Ubuntu系统配置golang环境Ubuntu系统配置git、mysqlVScode插件安装安装Remote DevelopmentMySQL management tool翻译插件新的改变功能快捷键参考使用Windows进行编程开发虽然很方面,有着各种可视化桌面工具,但是对于特定的依赖可能安装起来特别费劲。比如,在使用golang进行开发时,有些场景会调用c代码,这就需要配置cgo环境,而Windows系统配置cgo就比
2022-04-04 00:10:36
2365
原创 ubuntu系统安装微信过程与问题解决记录
ubuntu系统安装微信electronic wechatdeepin-wine安装步骤问题更换源添加存储库存储库MainUniverseMultiverseRestrictedPartner参考之前,在Linux系统安装微信一般都是使用electron构建的,比如electronoic-wechat。electronic wechatelectronic wechat是一个开源项目,地址https://github.com/geeeeeeeeek/electronic-wechat。该项目由第三方社
2022-02-20 15:56:43
7664
1
原创 ubuntu安装mysql忘记密码并重置
安装mysql在ubuntu系统上安装mysql过程如下:# 1.更新软件源sudo apt-get update # 2.安装mysqlsudo apt-get install mysql-server # 3.启动和关闭mysql服务器service mysql startservice mysql stop# 4.进入mysql shell界面mysql -u root -p上面安装mysql-server的命令,会安装如下相关的包:apparmormysql-clie
2022-02-20 13:18:34
4027
1
原创 ubuntu系统权限与常用安装命令
ubuntu软件安装命令安装软件解压缩软链接建立软链接删除软链接权限提升用户权限为root权限修改root权限为用户权限参考功能快捷键安装软件解压缩# 解压当前目录的.tar.gz压缩文件到/home/user/soft目录sudo tar -zxvf xxx.tar.gz -C /home/user/soft软链接建立软链接删除软链接权限Linux系统权限分为普通用户权限、超级root权限。默认进入的使用的是普通用户权限,通过sudo su命令可以切换到root权限。提升用户权限为r
2022-02-20 11:58:12
3062
原创 【微软面试题】golang实现红包金额随机分配
问题有一次参见微软面试,在第三面技术面的时候,面试官给了如下一道算法题:Split money in red envelop. Given amount S, split into N random numbers.For example:Input: S=100 N=3Output: [40.00 25.03 34.97]分析场景这是一道模拟抢红包的场景,有一个总额为S的红包,有N个人抢,每个人抢到的金额随机,且总额为S。隐藏点目前红包最小单位为分,因此最终得到的浮点数精度为2位小
2022-02-10 00:05:06
830
原创 面试常见题型之【滑动窗口】解题模板与示例
概述算法面试过程中,经常会遇到求解满足某种条件的子串问题,对于这种类型的题,一般可以使用双指针或滑动窗口解答,滑动窗口问题可以认为是一种特殊的双指针。什么是滑动窗口在学习计算机网络时,在TCP协议中,为了进行拥塞控制,提出使用滑动窗口进行优化。滑动窗口,顾名思义是使用一个大小可变的窗口,通过控制窗口左右两端移动的方向和移动步调,来达到找出要查找子序列的目的。左右两端点一般是向前滑动,可以是右端固定时,左端向前滑动;或者左端固定时,右端向前滑动。滑动窗口法,可以用来解决一些查找满足一定条件的连续区间
2022-01-26 22:56:35
1232
原创 面试过程中常见回溯套路总结
回溯算法概述什么是回溯算法回溯算法,又称为“试探法”、“穷举法”,是暴力算法的一种形式,也是一同通用的解题思路,按选优条件向前搜索,以达到目标。在解决问题时,每进行一步,都是抱着试试看的态度,如果发现当前选择非最优,或者按照当前路径走下去达不到目标,需要回退上一步的操作,重新进行下一轮选择。这种走不通就回退,再重新选择,直到遍历所有路径的方法就是回溯算法。通俗地说,回溯法就是对每一个决策进行遍历的过程,可以理解为通过选择不同的树杈寻找到目标,一个树杈一个树杈地去尝试遍历。如果选择的当前路径不能达到目
2022-01-13 22:17:10
712
原创 mysql中如何查看表是否被锁
如何查看是否发生死锁在使用mysql的时候,如何查看表是否被锁呢?查看表被锁状态和结束死锁步骤:1.在mysql命令行执行sql语句use dbName; // 切换到具体数据库show engine innodb status; // 查询是否发生死锁2.查看表被锁状态show OPEN TABLES where In_use > 0; 该语句可以查询到当前锁表的状态3.分析锁表的SQL通过sql日志,分析相应SQL,给表加索引,常用字段加索引,表关联字段加索引等方式对
2022-01-10 23:34:14
42284
原创 一个模板解决二叉树路径相关问题
面试过程中,经常会被问到二叉树的遍历、从根节点到各叶子节点所有路径、是否存在某条路径和为某个值等算法题。针对这些题,都可以使用二叉树的深度优先遍历模板加以解决。解题模板使用深度优先遍历,将从根节点到叶子节点经过的路径的值放在path切片中,当到达叶子节点时将各路径放入二维切片的指针变量res中,然后递归调用左子树、右子树。// 深度优先遍历(递归实现方式)// 注意:这里path一维切片不能用指针类型,二维切片使用指针类型的切片,否则得不到想要的结果func dfsPaths(curNode *
2022-01-06 22:28:49
949
原创 Windows系统配置Nocalhost进行远程调试
背景虽然goland、vscode都支持debug甚至远程debug,但是在调试过程中,难免修改配置、添加调试信息、修改代码并验证,这样就需要提交代码,重新编译、部署以验证功能是否符合预期,这样就拉长时间线,拉低了开发效率。一个系统可能还好点,如何项目A调用B、B又调用C,想要调试C,本地调试的话就需要配置3套环境,分别运行3个项目,流程线可想而知。k8s容器化使用k8s容器化,可以极大地提高开发效率,将一般项目改造成k8s部署的方式,只需将配置信息放入.yaml文件并设置相关资源、镜像等信息。No
2021-12-17 11:20:57
3467
3
原创 使用squirrel进行sql拼接不生效问题
拼接sql的时候,一般使用同一个变量不断拼接连接。但是,在使用github.com/Masterminds/squirrel包进行sql拼接时,需要多加注意:在使用变量添加sql语句后,还需要重新再赋值给该变量,否则达不到想要的结果。如下代码:import sq "github.com/Masterminds/squirrel"func FindProviderProduct(providerID int, keyWord string) (products []*ProductInfo, err
2021-12-14 15:56:28
1785
原创 ubuntu18.04使用kubeadm部署k8s单节点遇到的问题记录
Ubuntu安装k8s单节点参见:ubuntu18.04使用kubeadm部署k8s单节点注意:在参照上面文章进行操作时,可能会出现如下问题:①执行apt-get -y install apt-transport-https ca-certificates curl software-properties-common安装工具包时,出现没有要安装的候选包,可以先执行apt-get -y update更新后,再进行单独安装# 安装工具包,出现Package 'software-properties-co
2021-12-13 21:00:07
1256
原创 Linux CFS调度算法初探
调度器概述进程是操作系统用来组织计算机中的任务,它从诞生就随着CPU时间执行,直到最终消失。计算机计算资源是有限的,但是进程却被赋予越来越多的任务,如何在进程间分配有限的计算资源,最终让用户获得最佳的使用体验,这是调度器需要解决的问题。内核中安排进程执行的模块称为调度器(scheduler)。线程与进程”进程是资源分配的最小单位,线程是CPU调度的最小单位“这样的回答太抽象,不太容易让人理解。下面引用一张图片加以类比说明:一般,线程是实际执行任务的单位,所以在Linux中,也被成为任务task。
2021-10-31 22:18:18
933
原创 InnoDB存储引擎中的锁及带来的问题
MySQL常用存储引擎的锁机制MySQL常用存储引擎有MyISAM、Memory、BDB、InnoDB等。MySQL常用存储引擎的锁机制MyISAM和MEMORY采用表级锁(table-level locking);BDB采用页面锁(page-leve locking)或表级锁,默认为页面锁;InnoDB支持行级锁(row-level locking)和表级锁,默认为行级锁。各种锁特点表级锁:开销小,加锁快;不会出现死锁;锁定粒度大,发生冲突的概率最高,并发度最低行级锁:开销大,加锁慢;会出
2021-10-24 17:40:19
2528
原创 在Windows10下更改仓库路径,及使用docker login遇到的问题
安装完docker后,左下角搜索框中搜索docker desktop,启动docker,在命令行中运行docker version命令,出现如下docker信息,所有docker安装成功并正常启动。查看docker info信息:从docker info中,可以看到当前docker默认的OSType操作系统默认是linux,Docker Root Dir也是linux路径。找到右下角隐藏图标中的docker小鲸鱼图标,悬浮图标上,鼠标右键选择Switch to Windows containers
2021-10-19 23:12:28
733
原创 git push推代码到github遇到的问题
OpenSSL SSL_read: Connection was reset, errno 10054在使用git push命令推送代码到github时,报错:OpenSSL SSL_read: Connection was reset, errno 10054 。首先,造成这个错误很有可能是网络不稳定,连接超时导致的,如果再次尝试后依然报错,可以执行下面的命令。打开Git命令页面,执行git命令脚本:修改设置,解除ssl验证git config --global http.sslVerify "
2021-10-16 22:58:42
886
原创 Windows系统配置python、pip及setuptools等依赖包
如果运行python程序时,提示缺少相关依赖包,通过pip下载不下来,可以通过下载相关依赖包的zip或tar.gz文件,解压后进入该文件目录,shift右键选择打开命令行工具,执行里面的setup.py文件去安装,命令python setup.py install。dateutil包:https://pypi.org/project/python-dateutil/#filessix包:https://pypi.python.org/pypi/six/或者通过https://pypi.org/搜索
2021-10-16 22:04:33
661
原创 免费版xshell
在搜索xshell的时候,通过国内的xshell下载网址下载的xshell绝大部分是收费的,即使标榜绿色或者pojie版的下载下来要么过期了,要么注册码失效,或者好不容易通过注册机一通操作后发现不能用。目前xshell除了商业版收费之外,学生和学校版本的是免费的,解决方法就是找老外的下载网址,国外的网站还是可以下载的,学生和学校使用的免费版本。xshell免费学生版下载地址:https://www.netsarang.com/zh/free-for-home-school/找到 “家庭/学校免费
2021-10-10 22:47:42
16486
3
原创 同步fork的上游仓库代码更新:git pull upstream
git pull upstream同步上游更新在使用git管理项目的时候,不管是gitlab还是github项目,都可以通过fork将上游仓库的项目复制到自己仓库中,但是上游的仓库变更时,怎么同步更新自己仓库里的变化呢?一般有两种方式,一种方式是将上游的仓库提merge request到自己的仓库去合并;另一种方式是每次在修改自己仓库复制的项目之前,先通过git pull upstream master去同步上游项目的更新。git pull origin与git pull upstream区别git
2021-10-10 22:27:32
9603
1
达梦数据库连接管理&数据迁移工具
2023-03-13
《快学Scala》中文版带目录
2018-01-17
python核心编程 第二版 源代码
2017-10-25
Java开发实战经典-李兴华
2017-09-24
win32api-amd64-py2.7
2017-04-24
MySQL-python-1.2.3.win-amd64-py2.7
2017-02-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人