自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

辉生活-记录程序生活的点滴。

有自己的创作,也有别人的成果。

  • 博客(124)
  • 收藏
  • 关注

原创 记录一下mac查询ip地址

【代码】记录一下mac查询ip地址。

2024-05-23 11:00:19 125

原创 记录一下快速上手Springboot登录注册项目

而在前后端分离开发的项目中,前后端项目的端口号一般都是不一样的,假设我们这个项目的前端端口号是 8080,后端端口号是 8081,就会造成跨域访问的问题,跨域访问的问题可以在前端解决也可以在后端解决,后端只要加上一个配置文件就行了。由于我们只实现登录注册功能,所以只要有根据账号密码查询用户和插入用户信息的方法就行了,这里我们已经实现了根据用户名密码查找用户的方法,而插入用户信息的方法save(object o)JPA已经帮我们实现了,可以直接调用,这里就不需要写了。的作用是处理业务逻辑。

2023-12-07 19:49:30 1151

原创 记录一下Mac配置SpringBoot开发环境

由于很多项目喜欢使用传统的 Java 8 进行开发,而且 Java 8 的稳定性也是经过长久考验的,我们接下来就尝试一下,在一台新的 Mac 中配置 Java 环境,并且开始创建 SpringBoot 项目。其中 Maven home path 为之前解压好的 maven 的路径,User settings file 是 maven 路径下的 conf 目录下的 settings.xml 文件的路径。2、https://www.bilibili.com/read/cv25329508/,这个步骤会简单些。

2023-12-05 21:44:41 2197

转载 记录一下浏览器缓存&前端缓存&http缓存方式详解

在精确度上,Etag要优于Last-Modified,Last-Modified的时间单位是秒,如果某个文件在1秒内改变了多次,那么他们的Last-Modified其实并没有体现出来修改,但是Etag每次都会改变确保了精度 在性能上,Etag要逊于Last-Modified,毕竟Last-Modified只需要记录时间,而Etag需要服务器通过算法来计算出一个hash值。HTTP缓存可以缩短网页请求资源的距离,减少延迟,节省网络流量,并且由于缓存文件可以重复利用,降低网络负荷,提高客户端响应。

2023-10-24 20:38:52 161

转载 记录一下JSBridge:从原理到使用

在Hybrid模式下,H5会经常需要使用Native的功能,比如打开二维码扫描、调用原生页面、获取用户信息等,同时Native也需要向Web端发送推送、更新状态等,而JavaScript是运行在单独的JS Context中(Webview容器、JSCore等),与原生有运行环境的隔离,所以需要有一种机制实现Native端和Web端的双向通信,这就是JSBridge:以JavaScript引擎或Webview容器作为媒介,通过协定协议进行通信,实现Native端和Web端双向通信的一种机制。

2023-10-22 13:37:11 268

原创 记录一下js中的Object.freeze

上面代码中,常量foo储存的是一个地址,这个地址指向一个对象。不可变的只是这个地址,即不能把foo指向另一个地址,但对象本身是可变的,所以依然可以为其添加新属性。上面代码中,常量a是一个数组,这个数组本身是可写的,但是如果将另一个数组赋值给a,就会报错。上面代码中,常量foo指向一个冻结的对象,所以添加新属性不起作用,严格模式时还会报错。除了将对象本身冻结,对象的属性也应该冻结。下面是一个将对象彻底冻结的函数。如果真的想将对象冻结,应该使用Object.freeze方法。

2023-06-15 10:45:23 109

转载 记录一下js中substring方法

注意事项:起始包含start,但是结束不包含stop;如果不填写stop,那么要提取的子字符串就是从start开始,到原始字符串的最后一个字符;start(必填):要提取的子字符串,在原始字符串中的起始位置;stop(可选):要提取的子字符串,在原始字符串中的结束位置;substring方法用于从一个字符串中提取一个子的字符串;(要记住下标是从0开始,而非从1开始)输出:lo world!1、只有一个参数的例子。2、包含两个参数的例子。

2023-06-14 17:35:34 131

原创 记录一下js的toLowerCase()方法

toLowerCase() 方法用于把字符串转换为小写。

2023-06-14 17:31:28 626

转载 记录一下js的startsWith方法

startsWith方法,用来判断字符串是否以固定数据开头。该方法还有第二个参数,可以从字符串指定位置开始判断,默认为0。同理还有endsWith方法,第二个参数为所选字符串指定长度。

2023-06-14 17:27:19 436

转载 记录一下js中filter的使用方法

和map()类似,Array的filter()也接收一个函数。和map()不同的是,filter()把传入的函数依次作用于每个元素,然后根据返回值是true还是false决定保留还是丢弃该元素。filter()接收的回调函数,其实可以有多个参数。indexOf总是返回第一个元素的位置,后续的重复元素位置与indexOf返回的位置不相等,因此被filter滤掉了,所以重复的元素仅会保留第一个位置的元素。例如,在一个Array中,删掉偶数,只保留奇数,可以这么写。trim()函数去掉字符串首尾空白字符。

2023-06-14 17:07:15 114

转载 记录一下Object.keys的用法

Object.entries方法返回一个数组,成员是参数对象自身的(不含继承的)所有可遍历( enumerable )属性的键值对数组。Object.values方法返回一个数组,成员是参数对象自身的(不含继承的)所有可遍历( enumerable )属性的键值。ES5 引入了Object.keys方法,成员是参数对象自身的(不含继承的)所有可遍历( enumerable )属性的键名。六、Object.values()和Object.keys()是相反的操作,把一个对象的值转换为数组。

2023-06-14 16:57:34 89

转载 记录一下JavaScript的解构赋值

需要注意的是:对象解构赋值右边的是以键值对形式。并且对象解构赋值可以不用像数组解构那样按照顺序赋值。对象解构是以右边的对象名键与左边的变量名进行匹配然后赋值的。只需要把右边的值赋值给左边就可以了。默认情况下左边的值是uname:uname,因为两个名字是一样的所以就可以省略为一个uname。他的作用就是右边的对象先找到左边的对象键名进行匹配然后再将他的值赋值给他。需要注意的是不管数组还是对象给他们默认值必须以等号进行赋值。结构赋值还有一个很常用的实用机巧:交换两个变量的值。还有一种对象解构赋值的方法。

2023-06-14 15:50:41 44

转载 记录一下js的...扩展运算符

自定义的属性在拓展运算度前面,且该属性是拓展预算符后对象里的,则会取出该对象的值,拓展预算符则会取出剩下的属性。)是ES6的语法,用于取出参数对象的所有可遍历属性,然后拷贝到当前对象之中。如果扩展运算符后面是上面这几种类型,都会返回一个空对象,因为它们没有自身属性。自定义的属性在拓展运算符后面,则拓展运算符对象内部同名的属性将被覆盖掉。由于数组是特殊的对象,所以对象的扩展运算符也可以用于数组。如果扩展运算符后面是字符串,它会自动转成一个类似数组的对象。如果扩展运算符后面是一个空对象,则没有任何效果。

2023-06-14 15:41:34 78

转载 记录一下bind()的用法

得到的结果却是这样的,这是什么意思呢,意思是已经bind的参数是不会再去执行的时候取,这里的第一个参数target已经绑定了“AA”,没有bind的会从执行的参数里面按顺序依次去取,sendMsg方法的第2个参数content“内容”就会取执行时候传入的第一个参数:朋友C,当然执行时的第2个参数:‘改天请你吃饭啊!结果是执行的时候传的参数,证明这里也是有优先级的,如果绑定的时候没有传,就用执行时传的参数。证明实参已经绑定了后,你执行的时候再传没有用,还是会用绑定的参数。那如果只bind一个参数呢会怎么样?

2023-06-14 10:49:09 153

转载 程序员越早知道越好的道理

对于职业生涯早期到中期的工程师,12 万美元的年薪 + 各种福利 + 养老金听起来不错,但是你将被禁锢在深奥的专用工具里面,离开政府单位以后,这些知识就没用了。你可以结识很多想法相同的人,大家互相交流,不一定有相同的兴趣,但是对方会用跟你相同的方式思考问题,这很酷。(23)我遇到的最好的领导,同意我的一部分观点,同时耐心跟我解释,为什么不同意我的另一部分观点。但是,如果你像我一样,更看重与家人、朋友和生活中其他人相处的时光,而不是写的代码,那就别对它太在意。(6)好的代码是初级工程师可以理解的代码。

2023-04-20 14:49:01 66

转载 记录一下Object.entries()的用法

Object.entries()返回一个数组,其元素是与直接在object上找到的可枚举属性键值对相对应的数组。属性的顺序与通过手动循环对象的属性值所给出的顺序相同。Object.entries() 可以把一个对象的键值以数组的形式遍历出来,结果和 for…in 循环遍历该对象时返回的顺序一致(区别在于 for-in 循环还会枚举原型链中的属性)。Object.entries() 方法返回一个给定对象自身可枚举属性的键值对数组。obj:可以返回其可枚举属性的键值对的对象。参数为数组(数组中元素为对象)

2023-04-20 14:40:53 234

原创 Mac 修改Hosts文件的两种方法

1. 打开Finder,快捷键Shift+Command+G查找文件,输入/etc/hosts,点击前往。或者在终端Terminal中 输入 open /etc/hosts 再Enter就打开文件了,2、修改hosts文件。

2023-04-18 14:38:04 8218

原创 Mac 安装nvm报错处理

1.执行 curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash 报错 curl: (7) Failed to connect to raw.githubusercontent.com port 443: Connection refused。2.DNS添加114.114.114.114或者8.8.8.8。

2023-04-18 11:39:58 578

原创 umi4 Generator jest not found.

1.使用 umi g jest 或者umi generator 报错 Generator jest not found 如下:2.

2023-04-18 09:35:46 495

原创 umi4使用umi命令报错

把.umirc.ts 下相关配置删除或者完善就可。

2023-04-17 17:23:43 472

转载 记录一下到底什么是CI/CD?

最后还有一个很重要但是容易被忽略的环节,就是code review(简称cr),cr的重要性无需多说,在国外很多科技公司,cr都是一个强制的流程。比如下单的流程,可能涉及很多模块,我们对下单这个流程的测试就属于集成测试。我见过直接使用idea等开发工具进行cr的,也有用gitlab等托管工具cr的,有些大点的公司有自己开发的cr工具。实现灰度发布有很多方案,比如通过前端的cdn技术,后端的方案就更多了,比如基于nginx实现,如果你是基于容器部署,可以通过k8s的ingress实现灰度发布等。

2023-04-17 10:08:00 152

原创 力扣上《将数字变成0的操作次数》这道题num & 0x01和num >>= 1的讲解

力扣上《将数字变成0的操作次数》这道题num & 0x01和num >>= 1的讲解

2022-11-09 15:09:52 1550

原创 前端请求跨域,原来是谷歌浏览器的限制

前端请求跨域,原来是谷歌浏览器的限制

2022-11-01 13:45:20 954

转载 详细理解JS的三座大山

详细理解JS的三座大山

2022-08-02 17:15:50 833

转载 详解JavaScript异步与回调

详解JavaScript异步与回调

2022-08-02 16:21:39 1877

转载 详解K8s基本概念

详解K8s基本概念

2022-08-02 15:52:35 8880

转载 最为详细的Docker入门吐血总结

最为详细的Docker入门吐血总结

2022-08-02 11:53:22 129

转载 记录JS中的原型和原型链(图解)

JS中的原型和原型链讲原型的时候,我们应该先要记住以下几个要点,这几个要点是理解原型的关键:1、所有的引用类型(数组、函数、对象)可以自由扩展属性(除null以外)。2、所有的引用类型都有一个’_ _ proto_ _'属性(也叫隐式原型,它是一个普通的对象)。3、所有的函数都有一个’prototype’属性(这也叫显式原型,它也是一个普通的对象)。4、所有引用类型,它的’_ _ proto_ _'属性指向它的构造函数的’prototype’属性。5、当试图得到一个对象的属性时,如果这个对象本身

2022-03-31 22:53:27 179

转载 10个最常见的HTML5面试题

问题1、新的 HTML5 文档类型和字符集是?答:HTML5 文档类型很简单: HTML5 使用 UTF-8 编码。问题2、HTML5 中如何嵌入音频?答:HTML5 支持 MP3、Wav 和 Ogg 格式的音频,下面是在网页中嵌入音频。问题3、HTML5 中如何嵌入视频?答:和音频类似,HTML5 支持 MP4、WebM 和 Ogg 格式的视频。问题4、除了 audio 和 video,HTML5 还有哪些媒体标签?答:HTML5 对于多媒体提供了强有力的支持,除了 audio 和 vide

2022-02-21 13:52:02 1283

转载 记录一下 javascript call、apply、bind的使用和区别

其实是一个很简单的东西,认真看十分钟就从一脸懵B 到完全 理解!先看明白下面:例 1obj.objAge; // 17obj.myFun() // 小张年龄 undefined例 2shows() // 盲僧 比较一下这两者 this 的差别,第一个打印里面的 this 指向 obj,第二个全局声明的 shows() 函数 this 是 window ;1,call()、apply()、bind() 都是用来重定义 this 这个对象的!如:obj.myFun.call

2022-02-07 14:13:03 83

转载 一位月薪8000的程序员写的代码,你们觉得这个价格合理吗?

现在IT互联网行业高速发展,对程序员的要求越来越高。「写代码」作为一种技能,入门并不是很难。但是要像高手那样优雅地「写好代码」并不是一件容易的事。近日,在某平台上看到这样一条帖子,一位网友发帖吐槽「一个月薪8000的程序员写的代码,你们觉得值这个价吗?」并且上传了两张代码截图。帖子发出后,迅速引来了不少程序员网友们的围观。原帖内容:△ 图片来源于脉脉,如侵删放上两张高清图片,看看这是什么代码!△ 图片来源于脉脉,如侵删看完这两张代码,有网友评论说,这是实习生吧?感觉月薪8000不太值。也有网

2021-12-13 17:55:01 315

转载 koroFileHeader配置及快捷键不生效

配置//打开vscode的配置文件setting.json (在设置里搜索setting)"fileheader.customMade": { //头部注释配置 "autoAdd": false, // 默认开启自动添加头部注释 "desc": "", "params": "", "return:": "" }, "fileheader.cursorMode": { //函数注释配置 "desc": "", "params": "", "retu

2021-12-13 10:48:40 2105 1

原创 阻塞和非阻塞,同步和异步的理解

阻塞和非阻塞,同步和异步是node.js里经常遇到的词汇,我举个简单的例子来说明:我要看足球比赛,但是妈妈叫我烧水,电视机在客厅,烧水要在厨房。家里有2个水壶,一个是普通的水壶,另一个是水开了会叫的那种水壶。我可以:用普通的水壶烧,人在边上看着,水开了再去看球。(同步,阻塞)这个是常规做法,但是我看球不爽了。用普通水壶烧,人去看球,隔几分钟去厨房看看。(同步,非阻塞)这个又大问题,万一在我离开的几分钟水开了,我就麻烦了。用会叫的水壶,人在边上看着。(异步,阻塞)这个没有问题,但是我太傻了。用会叫的

2021-12-03 13:59:17 798

转载 月薪3K与月薪3万的程序员,距离是怎么拉开的?

除去特别聪明的,谁都不会比谁傻多少,但时间拉长每个人却有不同的成长,抛开境遇不同,本篇就从自身找找原因。虽然文字、道理很简单,具体到每个人行动的时候,结果也是千差万别的。对待难题有人遇到难题就想着去怎么解决,而有的人遇到难题就躲开。有人刚刚遇到难题,就把难题抛出去,等着别人来解决,有的人遇到了就自己琢磨,去排查,进而去解决这个问题。有人勇于挑重担,同样就有人喜欢挑简单的活。干的多错误就多,但是你不干那么多,你就不会成长那么多。你避开了困难,也就避开了成长的机会。时常处于顺境的人,一次小小的打击就足以让

2021-11-29 16:52:31 92

转载 如何让前端工程师拥有永不过时的技能

常常听人吐槽说,前端技术更新太快、前端的细分太多,程序员太苦、很多东西学不过来。作为一名前端⼯程师,我也是深有感触。有时候,面对这种吐槽,我也是一笑而过。不过,面对这些吐槽,我看到的却是前端开发者内心的焦虑。面对越来越卷的行业现状,大多数的开发者都有一股想突破⾃我的想法,不然的话,那和咸⻥有什么区别。首先,对于前端同学不断学习的态度我是很赞赏的,作为一名开发者,不停的学习新技术是每个开发者需要掌握的必备技能。但如果我们从另外⼀个⻆度来看,⼀个⾏业的新东⻄层出不穷,正说明这个⾏业⼀直在⾼速发展,而我们作为这

2021-08-06 13:59:52 102

转载 记录一下path.resolve()

学习webpack时遇到path.resolve():webpack.config.js:output: { filename: '[name].bundle.js', //把一个路径或路径片段的序列解析为一个绝对路径 path: path.resolve(__dirname,'dist') },然后去看了node.js文档发现还是不理解,它的解释是:path.resolve() 方法会把一个路径或路径片段的序列解析为一个绝对路径。给定的

2021-08-06 09:30:27 127

转载 javascript原型和原型链

原型和原型链是js中的难点也是重点,明白了原型和原型链会让我们在后面不管是学习还是工作都会更加高效,并且原型和原型链会是面试中必不可少的话题。看完此篇文章一定会让你对原型,原型链有深刻全面的了解。一,函数对象所有引用类型(函数,数组,对象)都拥有__proto__属性(隐式原型)所有函数拥有prototype属性(显式原型)(仅限函数)原型对象:拥有prototype属性的对象,在定义函数时就被创建二,构造函数先复习下构造函数//创建构造函数 function Word(word

2021-05-26 17:26:42 82

转载 2022前端面试经常被问到的题(附答案)

面试经常被问到的题一、html51、html常见面试题2、艺术喵 2 年前端面试心路历程(字节跳动、YY、虎牙、BIGO)| 掘金技术征文3.前端 100 问:能搞懂 80% 的请把简历给我4、前端优化二、css1.CSS 基础面试题(附答案)2.如何居中div?3. CSS3新特性4.清除浮动5.media媒体查询6.讲一讲Flex布局,以及常用的属性?7.BFC8.px rem em vh vw之间的区别到底是啥?9.0.5px的线10.12px以下的字体三、javas

2021-05-26 17:15:13 2667

转载 2021了,真的不要再说 Node.js 是一门编程语言了

Node.js 全栈基础1. Node.js 光速入门1.1 Node.js 概述Node.js 是什么Node.js 不是一门编程语言,它是一个执行 JavaScript 代码的工具。工具是指可以安装在计算机操作系统之上的软件。为什么浏览器和 Node.js 都可以运行 JavaScript因为浏览器和 Node.js 都内置了 JavaScript V8 Engine。它可以将 JavaScript 代码编译为计算机能够识别的机器码。浏览器中运行的 JavaScript 和 Node

2021-05-26 17:11:03 435

转载 git 回退回滚取消提交返回上一版本

总有一天你会遇到下面的问题.(1)改完代码匆忙提交,上线发现有问题,怎么办? 赶紧回滚.(2)改完代码测试也没有问题,但是上线发现你的修改影响了之前运行正常的代码报错,必须回滚.这些开发中很常见的问题,所以git的取消提交,回退甚至返回上一版本都是特别重要的.大致分为下面2种情况:1.没有push这种情况发生在你的本地代码仓库,可能你add ,commit 以后发现代码有点问题,准备取消提交,用到下面命令resetgit reset [–soft | --mixed | --hard上面常

2021-05-12 16:13:52 469

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除