- 博客(94)
- 资源 (4)
- 问答 (2)
- 收藏
- 关注
原创 个人博客网站实现微信扫码登录(新)
在不久之前(两年前)我写了一篇同名的博客,当时只是做一个记录而已。但是没想到会收到很多“猿友”的私聊,等各种问题。我也都一一解答了。趁着这段时间不是很忙,就在家里将这篇博客重新整理了一下,也对功能上进行了一些优化。希望各位在技术探索的路上不迷茫。在开始正题之前, 我们先聊一下实现原理, 方便更好的带领大家熟悉。我们都知道,微信已然成为了国民软件, 男女老少都离不开它。所以使用微信扫码是非常方便的事情。然而当我们的个人网站(博客、论坛)想要接入该功能的时候却发现只对开放。
2023-06-08 17:03:02
3220
11
原创 网络基础之IP地址和子网掩码
方法是将两个IP地址与子网掩码分别进行AND运算(两个数位都为1,运算结果为1,否则为0),然后比较结果是否相同,如果是的话,就表明它们在同一个子网络中,否则就不是。例如,IP地址192.168.100.1,这是一个32位的地址,假定它的网络部分是前24位(192.168.100),那么主机部分就是后8位(最后的那个1)。还是以192.168.100.1为例,它的网络部分,到底是前24位,还是前16位,甚至前28位,从IP地址上是看不出来的。它在形式上等同于IP地址,也是一个32位二进制数字,它的。
2023-03-01 22:34:08
3645
1
原创 六、Linux 软件包管理
yum并不是源码包,yum是基于rpm的软件包管理器,它可以使系统管理人员交互和自动化地更新与管理RPM软件包,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。以Centos为例, yum源的路径默认是 “安装 yum 包 (-y:自动回答yes )升级 yum 包 (-y:自动回答yes )卸载 yum 包 (-y:自动回答yes )使用RPM包安装方式, 启动有两种方式。搜索服务器上所有与关键字相关的包。查询所有软件包列表。
2023-02-02 09:24:28
714
原创 Windows使用命令脚本快速修改IP地址
有 N 台内网工控机, 需要安装环境,发布程序,测试,调试 等等(暂不考虑部署k8s)。由于是内网, 最好的连接方式就是和组成一个局域网进行通信。然而每台电脑的ip地址又不一致(不在同网段),导致每次连接不同的工控机都需要修改本机的ip地址, 网关等信息, 很是麻烦, 于是就编写了一个简单的修改ip地址的脚本, 记录一下, 方便以后使用。
2023-02-01 23:15:00
12189
4
原创 一、Linux 安装Postgres SQL 图解
(注:初始化数据库的操作暂时不执行, 放在后续设置完环境变量之后在执行)注:建议组的ID 和用户的ID 一致,方便以后搭建集群。” 内容, 并执行。
2023-02-01 20:00:00
486
原创 Docker 上 gitlab私有化部署及邮箱配置
经过前面几步的操作, gitlab 已经部署成功。但是发现登录页面并不是自己喜欢的, 没关系, gitlab 提供了自定义的配置, 可以修改登录页, 也可以修改默认的logo,以便用户自定义需求。退出登录, 可以看到登录页已经变了,这里还能设置logo, 就不一一介绍了, 有兴趣的自己可以去看。
2022-09-04 22:45:00
3464
3
原创 .net Core 6.0 部署到欧拉(Linux)系统上,“The type initializer for ‘Gdip‘ threw an exception” 报错的解决方案
” 报错的根本原因, 是因为我们使用了“” 类库,而该类库被归为 Windows 特定的库。在为非 Windows 操作系统编译时,会引发异常。微软官方给出的解释是:“由于被设计为 Windows 技术的精简包装器,因此其跨平台实现欠佳.......”,此处省略一万字, 总结出一句话,linux 上不能用。...
2022-08-29 23:15:00
3923
1
原创 Docker 离线安装 .net Core 6.0 环境部署
最近参与开发一个烟草行业的项目, 由于项目的特殊性, 所有的服务器都只能访问内网, 以往使用 “” 下载镜像的方式不可行了。只能另寻办法。经过一番的查找, 发现 docker 提供了镜像“转换保存”的功能, 这么一来,就完美解决了 docker 无法联网下载的问题。...
2022-08-17 09:24:37
2869
原创 Vs 设置类、接口默认创建的模板
有些时候,我们希望Vs 在创建类,接口的时候,生成的代码文件能更丰富一下, 例如:自动增加基础的注释功能, 类文件自动增加 public 修饰符, 类文件自动增加无参构造函数等等。其实VS生成这类文件都是有一个基础模板的,我们只需要修改VS的模板文件即可。由于每个人安装的VS版本(例如:VS2022 、VS2019等),VS 类型 (专业版、社区版、企业版等等)不同, 会导致模板的存放路径也不一样, 所以下述路径是我本机的路径,不过总体来说是大同小异的, 只需要耐心的找一下即可。类模板文件路径:接口
2022-07-04 09:37:19
2167
原创 五、Kubernetes(k8s) 中Service 的详解
在一主多从的k8s集群中, 当我们使用 Deployment 创建某个镜像的多副本时,每个副本都是均匀分配到个个Work 节点上,并且每个Pod 都有自己的内网Ip ,那么问题来了,我们应该用哪个Pod的IP 来访问Pod ? 如果使用某一个Pod的内网ip来访问,那这个Pod 宕机了, 那集群岂不是挂了?k8s 官方对Service 的定义是:将运行在一组 Pods 上的应用程序公开为网络服务的抽象方法。使用 Kubernetes,你无需修改应用程序即可使用不熟悉的服务发现机制。 Kubernetes 为
2022-07-03 12:40:08
1956
原创 四、Kubernetes(k8s) 工作中的常用命令
顾名思义,Namespace是命名空间的意思,在 Kubernetes 中,“命名空间(Namespace)” 提供一种机制,将同一集群中的资源划分为相互隔离的组。 同一命名空间内的资源名称要唯一,但跨命名空间时没有这个要求。 命名空间作用域仅针对带有命名空间的对象,例如 Deployment、Service、Pod 等, 这种作用域对集群访问的对象不适用,例如 StorageClass、Node、PersistentVolume 等。Kubernetes 会创建四个初始命名空间:3、使用请求参
2022-06-17 22:37:43
3219
原创 三、公网环境搭建Kubernetes (k8s) 集群的详细图解
上一节介绍了 Kubernetes (k8s) 内网集群的搭建详细图解 ,也介绍了云服务器按量付费的租赁方式,但是这种方式有点不好之处就是,每次停机重启之后 , IP地址就变了,导致XShell 连接工具每次要改IP, 很是麻烦, 好在我这个人比较能薅羊毛,于是在腾讯云, 百度云, 阿里云上面都薅了一波羊毛。【想薅羊毛看这里:“羊毛”】。所以趁着休息,将手头的几台云服务器搭建成 k8s 集群,由于这几台云服务属于不同的云服务厂商,无法搭建局域网环境的 k8s 集群,故笔者搭建的是公网环境的 k8s 集群。我
2022-06-04 16:20:28
4749
34
原创 一、Kubernetes (k8s) 是什么, 有什么用?
在这个卷到不能在卷的时代, 一个不会运维的后端程序员,都不好意思(敢)去面试了。面试是要求 “造飞机”,然而其实他们只是想找一个会 “拧螺丝” 的人而已。然后“卷”之所以称作为“卷”是有它的原因的 --- 因为像 “我” 这样的人太多了。近几年, k8s 好像突然火起来了, 之前面试并没有看到类似的招聘需求, 现在铺天盖地的都是要求会 k8s。那k8s到底是什么呢?这是我在某招聘上随便找的几个职位截图, 几乎都是招聘 “造飞机” 的岗位。kubernetes,简称K8s,是用8代替名字中间的8个字符“ube
2022-06-01 18:14:24
8568
5
原创 二、Kubernetes (k8s) 内网集群的搭建详细图解
一、环境准备由于k8s 集群比较吃配置, 建议使用 “按量计费” 来进行学习与测试,三台 4核8G 的费用大概再 1.6元 /小时, 还是比较便宜的(具体操作请看:云服务器购买按量付费实例,并搭建私有网络图解)。如果想购买服务器,可以看下这个, 一年也就168,配置很高,更划算!!【腾讯云】云产品限时秒杀,爆款2核4G云服务器,首年168元三台云服务器、配置:4核8G 三台服务器内网互通(内网可以互相访问 VPC) 系统:CentOS 8.0 每台机器都设置成不同的hostname.....
2022-05-29 14:46:56
4945
12
原创 基本.net core 开发的轻量级配置中心 - AgileConfig 基本使用
一、AgileConfigAgileConfig是一个基于.net core开发的轻量级配置中心。AgileConfig秉承轻量化的特点,部署简单、配置简单、使用简单、学习简单,它只提取了必要的一些功能,并没有像Apollo那样复杂且庞大。但是它的功能也已经足够替换webconfig,appsettings.json这些文件了。文档地址Git地址:https://github.com/kklldog/AgileConfigGitee地址:https://gitee.com/kklldog/A
2022-05-25 09:16:00
1400
1
原创 微服务配置中心的基本概念
前言在说“配置中心”之前,我们应该先要了解一下配置的概念。什么是配置?我个人理解“配置”即“配置文件”,就是通过文本存储一些程序初始化所需的参数。配置文件应该贯穿于程序的整个生命周期,程序在启动时通过读取配置文件来进行初始化,从而实现根据配置文件控制行为。并且使用配置文件的方式还可以降低代码之间的耦合度,方便后续维护。举个例子:工作中,如果项目中有多数据库,一般的做法就是将数据库的连接字符串放在配置文件中,多个数据库的话, 存储过个连接字符串。访问数据库, 根据传递不同的数据库标识, 来实现不同
2022-05-24 16:00:31
454
原创 云服务器购买按量付费实例,并搭建私有网络图解
前言最近再自学 k8s 集群化部署, 奈何云服务器包年包月太贵了, 学习成本飙升。好在各大云服务商支持按量计费 , 接下来就带大家一起过一下购买流程,并且使用私有网络。私有网络在购买云服务器之前,先了解下什么是私有网络。官网给出的解释是:私有网络(Virtual Private Cloud,VPC)是一块在云服务器上自定义的逻辑隔离网络空间,可以使云服务器, 云数据库资源构建逻辑隔离的、用户自定义配置的网络空间,以提升用户云上资源的安全性,并满足不同的应用场景需求。我觉得说简单点就是让云应用可以
2022-05-16 18:05:37
1286
原创 .Net Core 使用Swagger,且使用自定义UI(Knife4jUI)
前言Swagger大家都不陌生,Swagger (OpenAPI) 是一个与编程语言无关的接口规范,用于描述项目中的 REST API。它的出现主要是节约了开发人员编写接口文档的时间,可以根据项目中的注释生成对应的可视化接口文档。Swagger 的优势支持 API 自动生成同步的在线文档:使用 Swagger 后可以直接通过代码生成文档,不再需要自己手动编写接口文档了,对程序员来说非常方便,可以节约写文档的时间去学习新技术。 提供 Web 页面在线测试 API:光有文档还不够,Swagger
2022-05-05 17:13:19
6472
11
原创 Windows下 mysql 数据库的下载和安装详细图解
一、下载,安装mysql下载地址:https://dev.mysql.com/downloads/installer下载好之后,直接运行mysql-installer-community-8.0.28.0.msi文件, 然后直接点“下一步” 就可以了。
2022-03-16 20:45:00
1275
原创 .net core TagHelper的基本使用和好处
一、前言在.net framework中,如果要使用HtmlHelper生成一个超链接,并且超链地址是 /Home/Index 页面,并通过get方式给该页面传入Id=1 的值,就可以使用如下代码:@Html.ActionLink("链接", "Index", "Home", new { Id = 1 })而在 .net core 中,提供了TagHelper ,让标签看起来更简洁,增加可读性。<a asp-controller="Home" asp-action="Index"
2022-03-11 21:45:00
714
原创 AutoCAD 百度网盘免费下载
CAD2012CAD2012/32位下载地址:链接:http://pan.baidu.com/s/1gf8aqht 密码:lvltCAD2013CAD2013/32位下载地址:链接:http://pan.baidu.com/s/1nuRQC5r 密码:oebzCAD2014CAD2014/32位下载地址:链接:http://pan.baidu.com/s/1hsKP2h2 密码:2288CAD2014/Mac版下载地址:链接:http://pan.baidu.com/s/...
2022-03-09 09:19:52
19005
原创 3Ds MAX 百度网盘免费下载
3dmax20103dsmax2010(32/64位)英文版下载地址:链接:http://pan.baidu.com/s/1c2rlzUw 密码:8is63dmax20113dsmax2011(32/64位)下载地址:链接:http://pan.baidu.com/s/1mhGxui8 密码:j3wb3dmax20123dsmax2013/32位软件下载地址:链接:http://pan.baidu.com/s/1nvolrwl 密码:b06v3dmax20133dsm
2022-03-09 09:19:30
7296
原创 SQL Server 百度网盘免费下载
SQL 2008/R2SQL Server 2008(32/64位)下载地址:链接:http://pan.baidu.com/s/1cKvHnS 密码:en36SQL Server 2008R2(32/64位)下载地址:链接:http://pan.baidu.com/s/1kVQOWqr 密码:s751SQL 2012SQL Server 2012(64位)下载地址:链接:http://pan.baidu.com/s/1hsvMXfu 密码:j346SQL Server 20...
2022-03-08 14:06:54
6080
原创 搭建Vue开发环境
准备工作在搭建vue的开发环境之前,要先下载node.js,vue的运行是要依赖于node的npm的管理工具来实现,node可以在官网里面下载,根据自己的电脑选择是32位还是64位。地址:http://nodejs.cn/download安装完毕之后可以输入 node -v 命令检查是否安装成功!安装cnpm由于在国内使用npm是非常慢的,所以在这里我们推荐使用淘宝npm镜像,使用淘宝的cnpm命令管理工具可以代替默认的npm管理工具$ npm instal...
2022-02-17 14:37:45
5784
1
原创 微信小程序全屏预览视屏、取消全屏预览
前言bindfullscreenchange 函数可以监听到视频进入和退出全屏时的事件, 利用次函数,可以实现全屏预览和取消全屏预览的功能。首先看下bindfullscreenchange回调的参数有哪些:当全屏时:{fullScreen: true, fullscreen: true, direction: "vertical"}当取消全屏时:{fullScreen: false, fullscreen: false, direction: "vertical"}所以, 我
2022-01-19 18:14:41
4018
2
原创 四、Linux 文件搜索常用命令
一、文件搜索命令 - find命令名称:find命令所在路径:/bin/find执行权限:所有用户功能描述:文件搜索语法:find [搜索范围] [匹配条件]常用参数:参数名称 作用 -name 按名称查找 -size 按大小查找(+:大于 -:小于 =:等于) 注:这里需要注意下单位, 单位是数据块,一个数据块的大小为512字节,所以1M=2个数据块 -user 按属性查找 -type 按类型查找...
2022-01-18 21:54:03
1167
原创 三、Linux 文件权限管理
一、权限管理 - chmod命令管理:chmod命令英文原意:change the permissions mode of a file命令所在路径:/bin/chmod执行权限:所有用户功能描述:改变文件或目录权限语法:chmod [{ugoa}{+-=}{rwx}] [文件或目录]-R :递归修改每个参数含义如下图:举例:# 下面就给 “chmod.txt” 赋予各种权限,默认权限为“-rw-r--r--”[root@...
2022-01-14 22:15:15
1889
2
原创 二、Linux文件、目录操作命令的讲解
一、命令格式与目录处理命令ls命令格式:命令 [-选项] [参数]例如:ls -la /root说明:1.个别命令可能不遵守上述格式 2.当有多个选项时,可以写在一起。 3.简化选项和完整选项等价,例如:-a 等价于 --all二、目录处理命令ls命令名称:ls命令英文原意:list命令所在目录:/bin/ls执行权限:所有用户功能描述:显示目录文件...
2022-01-09 16:26:00
1972
3
原创 一、Linux 文件以及目录的讲解
一、文件、目录颜色在Linux 中, (一般情况下)不同颜色的文件名代表着不同类型的文件, 以下是我整理出来的颜色规则。二、文件、目录每列字段的含义我们执行 `ll` 命令的时候, 会返回一些文件、目录的详细信息,但是对于初学者来说,这是很懵的, Linux 并没有Windows 那么简介明了, 以至于初学者弄不清楚每列所代表的含义。下面就让我用一张图来带大家了解一下Linux文件字段的含义。就以下面的文件信息为例,[root@TR demo]# lltotal
2022-01-07 22:57:36
1837
1
原创 一个后端程序猿,7天1.5万字笔记,带你玩转《Shell》
目录一、Shell 介绍前言:1. 编程语言分类2. Shell简介3. Shell 的种类4. 什么是Shell脚本?5. Shell 脚本的基本写法5.1、脚本第一行,必须执行解释器【必写】5.2、脚本第二部分,对shell脚本的描述【非必写】5.3、脚本第三部分,脚本要实现的具体内容6. Shell脚本的执行方法6.1 、标准脚本执行的方法(建议)6.2 、非标准的执行方法(不建议)二、变量的定义1. 变量是什么?2. 什么时候需要使
2021-12-15 08:29:54
4274
10
原创 CSS命名规则整理
前言在开发的道路上已经走了5年了, 作为一个后端开发,之前的工作中心一直都是在后端上。前端技术属于那种"半吊子",什么都会, 什么都不精。 上个月接手一个前端的系统, 整个界面编写完成之后,发现自己的前端命名有很大的问题, 没有什么规律, 都是临时起意命名的,有些模块差不多的功能, 命名确是大不相同。于是, 今天抽出一点时间, 来整理一下自己这个前端命名的规范。(以下内容有部分是从百度查询的, 一部分是问前端开发的朋友的。也许每个人的规范不一样, 但是总体来说都是差不多的。)IDid,我通常用驼峰式命
2021-12-14 16:54:04
4401
1
原创 CSS使用伪类控制边框长度
前言:如图:我们需要实现一个边框长度比容器长度小一些的边框时,以往大多数都是使用div嵌套。现在只需要使用伪元素就可以实现这个效果,并且使用起来很方便。
2021-12-14 10:43:25
4680
原创 六、Docker容器数据卷详细讲解
什么是容器数据卷?为什么Docker需要容器数据卷?因为当我们将应用和运行的环境打包形成容器运行,运行可以伴随着容器,但是我们对于数据的要求,是希望能够持久化的!就好比,你安装一个MySQL,结果不小心把容器删了,那岂不是就相当于删库跑路了,这显然是不允许发生的事情!为了能保存数据在Docker中我们就可以使用卷!让数据 挂载 到我们本地!这样数据就不会因为容器删除而丢失了!容器卷的作用:卷就是目录或者文件,存在一个或者多个容器中,由docker挂载到容器,但不属于联合文件系统,因此能够绕过 Un
2021-12-02 21:50:56
3562
原创 整理了一些关于 Nginx的高频面试题
Nginx 学完了,于是就在网上搜罗了一些高频面试题,并写出正确的解答方式,希望能帮助各位面试成功~~~这篇文章后续会继续追加更新的, 【建议收藏】
2021-11-30 22:30:17
3455
2
原创 微信小程序原生的下拉框组件
前言近日开发微信小程序时,需要一个下拉框的组件,使用和PC端下拉框一样的方式会显得很丑,于是发现微信官方API有个wx.showActionSheet,但是有诸多限制,例如:最大长度只能是6项,多选等等。由于业务需要,下面用到下拉框(actionSheet)支持自定义 高度, 选项,单选,多选,以及遮罩层的透明度等参数。撸了个可以自定义内容和高度的。效果看完效果直接上代码组件代码index.jsComponent({ properties: { //数据集 optio
2021-11-25 09:52:31
10533
9
原创 十三、Redis LFU算法详述(Least Frequently Used - 最不常用)
十三、Redis LFU算法详述(Least Frequently Used - 最不常用)
2021-11-24 21:21:08
5578
1
原创 微信小程序动态修改数组中的某一项的值
在微信小程序中, 有些时候需要修改一个列表或者一个复杂的json对象, 一般的做法是, 找到这个字段直接修改,然后使用this.setData({}) l来进行覆盖赋值, 然而这种方式当页面数据比较下的时候, 是没什么问题, 但是当数据多了之后,页面会变得非常卡顿,并且小程序会发出性能警告 Tue Nov 23 2021 14:45:18 GMT+0800 (中国标准时间)数据传输长度过长,如下图,这个时候就不能使用 this.setData({}) 赋值的方式直接覆盖原有的对象, 而是针对某一项的值进
2021-11-23 16:15:41
6211
原创 十二、Redis LRU算法详述(Least Recently Used - 最近最少使用)
简介Redis是基于内存存储的 key-value 数据库。我们都知道,内存虽然快但空间大小有限,当物理内存达到上限时,系统就会跑的很慢,这是因为 swap 机制会将部分内存的数据转移到swap分区中,通过与swap的交换保证系统继续运行;但是swap属于硬盘存储,速度远远比不上内存,尤其是对于Redis这种QPS非常高的服务,发生这种情况是无法接收的。(注意如果swap分区内存也满了,系统就会发生错误!)因此如何防止Redis发生这种情况非常重要(面试官问到Redis几乎没有不问这个知识点的)。s
2021-11-16 22:08:01
4931
harbor-offline-installer-v2.3.3.tgz 无需积分
2021-10-12
Linux 开启防火墙(firewall)问题
2021-10-14
chrome扩展开发时,可不可以使用jquery?如果可以怎么在js引用?
2016-12-19
TA创建的收藏夹 TA关注的收藏夹
TA关注的人