哦,日常发疯

2024.01.09

1.新inconfont图标与上传不符

遇见场景:想给导航栏换个图标,结果发现上传的和显示的不长一个样子,检查了类名和以前的没有一样的

原因:iconfont.css中要使用的图标的content和oldfont.css中的某一个图标的content一样

解决方式

(1)在iconfont网站把要用的图标换个项目中没有的content(也就是Unicode),然后重新下载iconfont系列文件并换到项目中

(2)不用重新运行项目,直接ctrl+F9,等项目右下角名称为build的进度条加载完后,刷新浏览器

2024.01.04

1. 添加iconfont图标

遇见场景

        某项目使用了iconfont,但是iconfont有这个项目图标管理权限的员工早就不知道跑哪儿去了。

        目前需要对某项目进行翻新,需要添加新的iconfont(本项目使用的框架是layui)

解决方式

(1)在iconfont创建这个项目,导入自己新要用的图标

(2)把项目代码中,原本存放iconfont的一系列文件,更改名字(文件后缀和数量可能不一样)

iconfont.css -> oldfont.css        iconfont.eot -> oldfont.eot        iconfont.js -> oldfont.js

iconfont.svg -> oldfont.svg        iconfont.ttf -> oldfont.ttf            iconfont.woff -> oldfont.woff

(3) 引用这些文件的地方也得改名字。本项目使用了两个html分别引用了oldfont.css和oldfont.js

// 这里是 basic_css.html

<head th:fragment="onLoadBasicCSS">

        <link th:href="@{/public/iconfont/oldfont.css}" rel="stylesheet" />

</head>

// 这里是 basic_js.html

<head th:fragment="onLoadBasicJS">

        <script th:src="@{/public/iconfont/oldfont.js}"></script>

</head>

        不知道为啥引用css和js,另一个项目使用的vue框架只引用了css(管它呢)

 (4)把新上传的iconfont下载下来,把相关的iconfont系列文件放在和oldfont同一个目录下

(5)在oldfont.css顶部导入iconfont.css

@import url(./iconfont.css);

(6)把 oldfont.css中的 .iconfont{} 删了,因为iconfont.css里面有

(7)检查 oldfont.css 和 iconfont.css 中有没有类名一样的图标(有,就给iconfont中的改个名,记得重新下载更换iconfont系列文件)

(8)接下来在home.html中使用这些图标,首先需要引用它

<head>

        <head data-th-replace="~{head/basic_css::onLoadBasicCSS}"></head>

        <head data-th-replace="~{head/basic_js::onLoadBasicJS}"></head>

</head>

        head里面好像不应该嵌套head,反正没报错,将就着用吧

(9)检查新旧图标能否正常显示

<i class="iconfont icon-fuzhushuxian">新</i>

<i class="iconfont icon-chat">旧</i>

(10)垃圾项目?!一直都显示不了新图标?(嗯,我在这里卡了很久)

(11)哦,是缓存导致的;按 ctrl+F9(本项目使用的编辑器是idea),会在项目右下角出现名称为build的进度条,加载完了,刷新浏览器,就会发现新图标出来了呢。

(12)这个前端代码呢,有前端代理,没错,里面有spring,我每次更新页面都重新运行了,那叫一个非常麻烦,结果 ctrl+F9可以直接刷新页面,压根不用重新运行项目。嗯,今日开始发疯

(13)刚才又加了点新图标,ctrl+F9废了,完全不起作用,算了算了,ctrl+shift+N,开启无痕浏览器,输入地址,很好,新图标出来了

2024.01.02

1. 正向代理/反向代理

遇见场景:在客户端获取接口,拿着接口去后端代码查询不到该接口,实际结果在前端代码查询到了该接口,然后开始接触正向代理、反向代理。

(1)正向代理:指代理服务器代表客户端向服务器请求资源(前端的代理),在这种情况下,客户端通过正向代理与目标服务器通信,而服务器只能看到代理服务器的信息,不知道实际请求来自哪个客户端。

        示例:

        a. 突破网络访问限制的翻墙工具

        b. 企业内部网络使用代理服务器控制员工访问外部资源

        用途:

        a. 隐藏客户端真实IP地址,提高访问隐私和安全性;

        b. 绕过访问限制,访问被屏蔽的资源或网站;

        c. 缓存数据,减少重复请求,提高访问速度。

(2)反向代理:指代理服务器代表服务器向客户端提供服务(后端的代理),客户端请求的时候,请求被反向代理服务器接收,然后由代理服务器将请求转发给后端的目标服务器,最终将目标服务器的响应返回给客户端。

        示例:

        a. 将客户端的请求分别发到多个服务器,以平衡负载;

        b. 通过反向代理实现SSL终结,减轻后端服务器负担;

        c. 缓存静态资源,减少后端服务器压力。

        用途:

        a. 负载均衡:分发客户端请求到多个后端服务器,提高系统性能和稳定性;

        b. 安全性:隐藏后端服务器的真实IP地址,提高安全性;

        c. 缓存和压缩:减少后端服务器的负担,提高响应速度。

2. git强推导致数据丢失

遇见场景

        本来打算push的时候一并把云效上的bug状态改为已修复,结果学艺不精fix #ZKPW-8213写成#ZKPW-8213,commit之后push之前又拉了同事的代码。

        看着这个push记录页面,总觉得不满意,然后又新学了一个回滚远程推送记录,正是新鲜的时候,就想把之前的推送记录删了,重新推送。经过下面等一系列操作,成功把同事的远程推送记录搞没了。

删除(回滚)push记录(在别人没有push之前)

//(数字代表回退几个版本)

git reset --hard HEAD~2

//强制覆盖

git push -f

 不得不说,当时我是非常心慌的,但十分幸运的是,和我一起开发这个分支的同事今天请假了(这代表不会有别人在我解决的时候进行推送代码,造成更让我痛苦的问题),在别人没有发现之前,我解决了它。

解决方式

(1)把我今天修改的代码备份(创一个文档,ctrl+c,ctrl+v)

(2)在控制台输出git reflog show origin/2.3.02 ,2.3.02是我当前开发的分支,这串命令是为了查询最近一段时间远程分支2.3.02的推送日志

3b9ec7d (HEAD -> 2.3.02, origin/2.3.02) refs/remotes/origin/2.3.02@{0}: update by push
0542b8d refs/remotes/origin/2.3.02@{1}: update by push
3b9ec7d (HEAD -> 2.3.02, origin/2.3.02) refs/remotes/origin/2.3.02@{2}: update by push
0542b8d refs/remotes/origin/2.3.02@{3}: update by push
281fa6d refs/remotes/origin/2.3.02@{4}: update by push
6ff5135 refs/remotes/origin/2.3.02@{5}: update by push

baae6bf (tag: test-2.3.02.05) refs/remotes/origin/2.3.02@{6}: fetch origin --recurse-submodules=no --progress --prune: fast-forward

(3)新开一个控制台,git reset --hard 3b9ec7d,3b9ec7d为上面查询出来的第一行前面的数据串,这串命令是用于将当前分支的 HEAD 移动到指定的提交 (3b9ec7d),并强制更新工作目录中的文件,使其与指定提交的状态一致。(文绉绉的听不懂,大概就是把当前分支强制更新成3b9ec7d时的状态,作用在本地,与远程是没有关系的​​​​​​)

(4)然后打开git本地记录列表,选中当前的分支2.3.02,看看现在的是不是我想要的版本,不是?继续输入git reset --hard 0542b8d,0542b8d为第二行前面的数据串,再去git查看是不是想要的版本,一步步继续,直到找到我想要的版本。

(4)黄天不负打工人,baae6bf就是我想要的版本,反复确认了几遍,然后输入git push -f origin 2.3.02,2.3.02为我要开发的分支,这串命令是用于将本地分支 2.3.02 的更改强制推送到远程仓库 origin 的同名分支。

(5)接下来跑去远程仓库上看,有没有成功把同事的代码搞回来,嗯,非常棒,同事的代码回来了,我真是涕泗横流。

(6)最后再把我今天写的代码搞回去,push

猜你喜欢

转载自blog.csdn.net/qq_50853940/article/details/135336067