自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(141)
  • 收藏
  • 关注

原创 JAVA学习进程、线程

1、进程进程:是正在进行的程序是系统进行资源分配和调用的独立单位每一个进程都有它自己的内存空间和系统资源2、线程线程:是进程中的单个顺序控制流,是一条执行路径分为:单线程和多线程多线程的实现方式设置和获取线程名称线程的调度线程控制线程的生命周期线程同步 - 解决数据安全问题线程安全的类线程安全的LOCK锁

2023-09-15 06:48:05 248

原创 JAVA - File类、字节流、字符流、特殊操作流

处理字节数据:字节流以字节为单位处理数据,适用于处理二进制文件(如图像、音频、视频文件)或以字节为基本单位的文本文件。底层 I/O 操作:字节流通常用于执行底层I/O操作,因为它们可以直接读取和写入文件的字节数据。InputStream 和 OutputStream:在Java中,字节流有两个主要的抽象类:InputStream 用于读取字节数据,OutputStream 用于写入字节数据。

2023-09-15 06:31:31 332 1

原创 java的集合进阶学习

集合类的特点:提供一种存储空间可变的存储模型,存储的数据容量可以随时发生改变。

2023-09-13 23:35:55 247

原创 JAVA的异常处理

1. 异常体系2. JVM的默认处理方案3. 异常处理之 try…catch…4. 异常处理之throwsthrows和throw的区别5. 编译时和运行时异常的区别

2023-09-13 18:03:20 108

原创 java的入门学习

一般是安装java8,大部分使用的版本是java8;

2023-09-13 17:55:10 214

原创 java生成文档注释

当前目录下的myHello的index.html文件就是注释文档。

2023-09-04 01:24:13 42

转载 vue3事件总线 mitt

转载。

2023-08-31 21:30:45 80

原创 Webstorm 代码块折叠与展开快捷

Window 操作系统下, ,展开/折叠类中方法的快捷键。

2023-08-25 19:10:08 566

转载 CSS 垂直居中

如果 .parent 的 height 不写,你只需要 padding: 10px 0;就能将 .child 垂直居中;如果 .parent 的 height 写死了,就很难把 .child 居中,以下是垂直居中的方法。100% 高度的 afrer before 加上 inline block。忠告:能不写 height 就千万别写 height。div 装成 table。

2023-08-25 18:01:13 41

原创 taro 本地存储setStorageSync

setStorageSync

2022-11-15 08:59:01 1483 1

原创 vue2的computed和watch

简单来说就是,computed适合用来操作单个属性,watch适合用来做开销比较大的操作例如异步操作/重新获取数据等一、computedcomputed是基于getter封装的函数方法,触发computed更新需要依赖的属性发生改变才会触发computed函数计算属性使得 属性 更容易加上逻辑<p>Reversed message: "{{ reversedMessage }}"</p>var vm = new Vue({ el: '#example', data

2022-04-12 12:32:41 768 3

原创 Vue2的render函数使用

render函数官网教程<script>export default { name: 'appTable', // 接收的prop数据 props: { data: { type: Array, default: () => { return []; }, }, columns: {}, operations: {}, isOperations: {}, tableAttr

2022-04-09 17:27:56 1406

原创 使用dart-SCSS

跳转至引入scss的两步首先安装css-loader、style-loader、dart-sass、sass-loader。npm install css-loader style-loader --save-devnpm install dart-sass sass-loader --save-dev复制代码然后在webpack.config.js配置文件中添加对应的loader,完整的配置图如下。const path = require("path");const {VueLoaderP

2022-02-19 09:48:07 645

原创 在项目里函数柯里化的使用场景

1、对Element upload 的方法进行二次封装问题分析在上传图片时需要上传三张图片,三张图片的所属不同;但是都是通过同一函数触发保存用户上传的图片,问题是无法识别图片的所属;如果直接在调用时传参会破坏原有的参数;所以最后我通过 resetImg(file,filelist,view)(1) 柯里化方式 给图片添加参数、标记来源;// 原有参数file,filelist,view,通过二次函数封装,传入值(‘1’):on-change="resetImg(file,filelist

2022-02-08 14:34:41 405

原创 JS 图片上传

一、获取File对象// 获取File对象 let firstImg = data.add_design.first_pic_whether.raw;1、 用户上传的图片数据.1.1、 图片数据详情二、使用new formData() let binary = new FormData() binary.append('file',firstImg) binary.append('name','2') 请求预览三、发送数据 PostData.call(this

2022-02-08 13:53:44 3597

原创 HTTP/2.0学习小记

HTTP/2使用h2是基于ssl加密传输必须要有证书证书可上阿里云免费申请, 或使用openssl工具生成自签名证书nodejs加载http2模块使用http2.createSecureServer方法创建h2连接openssl证书生成命令openssl req -newkey rsa:2048 -nodes -keyout rsa_private.key -x509 -days 365 -out cert.crt注意: 如果是使用阿里云服务别忘了添加规则打开入口443端口访问权限H

2022-01-21 17:10:07 2488

原创 三次握手和四次挥手

DNS和TCPhost每台主机的host会保存运营商提供的IP地址,在使用TCP连接时直接使用本地host配置加快连接速度;DNSDNS是一个域名解析系统,通过解析域名与IP建立TCP连接TCP的三次握手客户端向服务端发送SYN并进入SYN_SENT状态,等待服务器确认;表示客户端拥有发送能力服务端接收到SYN会向客户端发送ack和 SYN+1 x+1此时服务器进入SYN_RECV状态; 表示服务端接收到了请求并会发ACK检测客户端是否拥有接收并发送能力客户端接收到服务端的SYN+ACK

2022-01-21 11:07:19 1265

原创 手写深拷贝

什么是深拷贝深拷贝就是完全拷贝一份独立的属性B是A的拷贝,其中B没有对A对象/数据做任何引用只有要一条数据的引用,那就是浅拷贝问清楚每一项问题数据类型数据规模性能要求运行环境其他要求最简单的方法:JSON序列化和反序列化JSON.parse(JSON.stringify(data))缺点不支持函数,如果有函数会直接忽略不支持undefined,只支持null不支持引用,JSON只支持树状的结构不支持正则...

2022-01-21 09:13:53 191

原创 新品管理表格技术点小记

一、封装上传表格读取到table里let ReadTable = (file,fileList,i,keyName,callback)=>{ const types = file.name.split('.')[1]; const fileType = ['xlsx', 'xlc', 'xlm', 'xls', 'xlt', 'xlw', 'csv', 'xlsm'].some( (item) => item === types, );

2022-01-19 15:05:23 245

原创 前端代码规范

看看业界的代码规范看看垃圾代码是什么样的看看JS代码规范一些约定用单元测试的时间顶替修BUG的时间如果一个特性时好时坏,则应该选择更好/稳定的选项公司雇我们不是为了让我们去用每个新语言特性而是写出可以用的代码并且避免错误存在不一定合理(比如var和==[例如下图的三位一体,都等但都不等])代码不一定越短越好,无歧义大于简洁class/new/this被hooks抛弃 Vue3.0完全抛弃了class,里面完全没有用class而是全用了TSsymbol、generator、iterat

2022-01-17 11:21:50 256

原创 Next学习小记

Next的背景为什么选择Nextkoa和express都太老了,而且他们只提供了中间件写法,基本实现要自己写;Next.js的定位Node全栈框架CSS-in-JS页面预渲染 + SSR(服务端渲染)前后端同构(代码同时运行在两端)需要 Node.js 10.13以上支持 React支持 typeScript不支持VUE弱项没有数据库相关功能,需要自行搭配Sequelize或TypeORM完全没有提供测试相关功能,需要自行搭配Jest或Cypress有一个Blitz

2022-01-15 18:00:52 610

原创 Vue突然报错 doesn‘t work properly without JavaScript enabled

突然报错未启用JavaScript下午演示项目的时候突然给我整了一出JavaScript未启用,当场就把我整尴尬了;然后我怀疑是不是写的路由守卫有问题就注释了再试发现问题还在?!然后经过各种骚操作以后,发现还是报这个js未启用,当场我就不信了!然后我就把yarn和node都重装了把电脑重启!这下绝对没问题了吧!把项目启动一看!当场傻了!问题还在然后我陷入了深深的思考,究竟是什么在搞怪?随之启用了搜索大法!网上的答案满满都是我发现找不到我想要的,那我就逐个排查!!先看看是不是vue的问

2022-01-14 11:24:40 40934 3

原创 Cypress 自动化测试学习小记

工作性质程序员不应该是劳动密集型应该是智力密集型

2022-01-13 12:35:47 317 1

原创 koa学习小记

koa的发展koa出现的时间节点比较尴尬,koa的出现刚好碰上了node.js和io.js闹分裂,但是koa采取了更激进的方案koa对比express中间件对比’express的中间件是线型的koa的中间件是U型的语言特性对比express使用的是回调函数 next()koa v1.x使用的是generator语法koav2.x使用的是async/await语法2011~2016express是更好的选择2017以后koa是更好的选择koa的中间件模型express线型

2022-01-12 18:01:43 165

原创 http学习小记

请求请求行请求头空行请求体/消息体响应状态行响应头空行响应体/消息体请求/响应头格式请求体内容为JSON请求头就要有 Content-Type:application/json响应体内容为JSON响应头就要有 Content-Type:application/json官方文档:查看头对应内容的格式Node.js的http请求封装request(incomingMessage的实例)读取请求response(ServerResponse的实

2022-01-11 15:30:41 976

原创 node - process

进程程序的实例就是进程程序在CPU上执行的活动叫做 进程进程可以创建进程 被创建的是子进程,主进程关闭所有子进程也会关闭CPU单核CPU靠在不同的进程中切换达到多程序并发执行多个程序在宏观上并行,微观上串行每个进程会出现[执行 - 暂停 - 执行]的规律多个进程之前会出现抢资源的现象(如打印机)进程的两个状态运行态非运行态程序开始执行进程 由 CPU做分配暂停的处理阻塞如果A在等待CPU资源,而B在等待I/O完成(如文件读取) 这个时候将CPU资源分配给了B,

2022-01-11 12:00:39 291

原创 Stream 流概念

node里面的stream流学习小记

2022-01-10 16:58:19 410

原创 react学习小记

JSX - 通过babel-loader转译成JSbabel-loader里集成了jsx-loaderbabel-loader被webpack内置了vue-loader没有被webpack内置

2022-01-08 22:33:37 163

原创 nodejs 中的 process.stdout.write

今天看了一个 npm 包的源码,里面用到了 process.stdout.write 这个 API 。咋一看感觉跟 Java 的 System.out.print 有点类似,但是 JS 打印的语句难道不是 console.log 么?于是查了下,发现 console.log 原来底层就是基于 process.stdout.write 实现的:Console.prototype.log = function() { this._stdout.write(util.format.apply(this, a

2022-01-08 15:18:07 999

原创 node编写接口小记

需要使用到的插件yarn add --dev ts-node-dev //使用时 用ts-node-dev 代替 node 命令yarn global add typescript // 全局安装tsyarn add md5 // 安装md5插件yarn add --dev @types/md5 // 安装md5ts的类型发布到npmyarn init -y // 初始化pakeage.json 文件api拼接// 示例http://api.fanyi.baidu.com/api/t

2022-01-08 15:12:52 138

原创 两个网站之间的登录验证

在A网站登录成功后,跳转B网站时,加上用户IDB网站读取网址,截取ID并保存到本地数据在每次跳转页面时判断是否有本地数据,没有就跳回A网站

2022-01-07 17:51:01 164

原创 promise的用法

主要作用封装异步函数,异步函数在被调用时 成功后通过.then返回需要的数据// new一个Promise对象,然后给需要返回的数据给resolve function data(){ return new Promise((resolve,reject)=>{ resolve(thisList) }) }// 调用data函数 获得thisList data().then(res=>{ console.log(res)

2022-01-06 09:22:11 277

原创 JS 将数组循环赋值对象

// 获取每一个数组的第一个,第二个,第三个...通过push重新拼装成一个新的数组对象 let num = 0 let u = 0 result.map(e=>{ e.map(y=>{ temporaryObj.push(y) if(u == index){ for(let key in keyName[0]){ /..

2022-01-05 12:11:31 3192

原创 记录eventBus插件mitt的坑

多次触发emit然后才触发on会累积事件执行次数;暂时没有想到限制方法,随之放弃这个方法因为我只需要每点击不同的事件累积只触发一次emit就行 条件判断.off遂复杂,我宁愿使用vuex

2021-12-31 15:48:51 976

原创 全栈开发的定义

定义被误解的全栈 = Node.js + JavaScript全栈开发 != 前端开发 + 后端开发一开始的LAMP = Linux + Apache + MySql + PHP后来的MEAN = MongoDB + Express + Angular + Node什么才是全栈良好的计算机基础和英语阅读能力服务器知识(权限、内存、CPU、硬盘、云服务)网络知识(带宽、网络架构)数据模型(MySql、MongoDB、索引、备份)安全知识(SQL防注入、XSS、CSRF、Repla

2021-12-21 11:56:57 2006

转载 低代码平台实现原理

整个可视化搭建系统分为三部分,分别是配置页(setting),视图页(view) 和 json schema。配置页生成 json schema,视图页消费 json schema

2021-12-20 21:24:48 3113

原创 react router

路由管理点击tag标签跳转到Tag详情页面路由跳转通过Link to={’/tags/’+tag}跳转到对应的标签详情页

2021-12-18 15:16:34 83

原创 border调试大法

在写css布局中,可以用添加border来浏览组件的长高

2021-12-18 14:43:16 86

原创 React封装一个函数

要点将方法写在函数内部并通过命名将其导出;// use作为前缀是自定义hook的意思返回一个对象而不是数组;// 是typescript较好支持的写法<string[]>是声明所使用的useState函数组件的类型是字符串数组在别的组件引入该useTags组件后可以使用tags,setTags数据...

2021-12-18 14:23:32 517

原创 Typescript小记

typescript源自百度百科:TypeScript是微软开发的一个开源的编程语言,通过在JavaScript的基础上添加静态类型定义构建而成。TypeScript通过TypeScript编译器或Babel转译为JavaScript代码;起源背景:TypeScript 设计目标是开发大型应用。由于JavaScript语言本身的局限性,难以胜任和维护大型项目开发。因此微软开发了TypeScript ,使得其能够胜任开发大型项目。使用方法// 声明类型type Gender = '男' | '女

2021-12-18 11:51:45 632

空空如也

空空如也

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

TA关注的人

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