黑山老妖橙
码龄14年
求更新 关注
提问 私信
  • 博客:288,404
    社区:1
    288,405
    总访问量
  • 55
    原创
  • 75
    粉丝
  • 12
    关注
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:北京市
加入CSDN时间: 2012-08-22

个人简介:前端开发工程师,小菜,想要成为真正的大神。不仅精还宽,目前在成为精的路上努力着。

博客简介:

黑山老妖的小站

查看详细资料
个人成就
  • 获得160次点赞
  • 内容获得45次评论
  • 获得622次收藏
  • 博客总排名2,170,347名
创作历程
  • 17篇
    2021年
  • 27篇
    2020年
  • 8篇
    2019年
  • 1篇
    2018年
  • 5篇
    2017年
成就勋章
TA的专栏
  • 性能优化
    2篇
  • http
    1篇
  • Nodejs
    7篇
  • element-ui
    2篇
  • vscode
    2篇
  • Nuxt.js
    2篇
  • webpack
    3篇
  • 自动化部署
    1篇
  • eslint
    1篇
  • antd
    2篇
  • react
    1篇
  • html5
  • css3
  • javascript
    1篇
  • vue.js
    16篇
  • 开发知识
    20篇

TA关注的专栏 0

TA关注的收藏夹 0

TA关注的社区 0

TA参与的活动 0

兴趣领域 设置
  • 前端
    javascriptcssreact.jses6webpack前端框架
  • 后端
    node.js
  • 移动开发
    flutter
  • 网络与通信
    https
  • 微软技术
    typescript
  • 学习和成长
    面试
创作活动更多

暑假·七月创作之星博客挑战赛

猫头虎AI诚挚邀请您加入「暑假·七月创作之星博客挑战赛」。 当空调房的凉风驱散了窗外的热浪,当午后的蝉鸣成了最自然的白噪音——这个炎热夏季,何不给自己找一件既""休息""又有价值的事? 这不仅是一场关于技术流量与内容影响力的角逐,更是一次面向AIGC时代的技术深潜与趋势预判的思维碰撞! 本次创作活动,猫头虎将带您借助AI编程工具链赋能技术博客创作——从代码生成到智能编排,助您打通从代码交付到智能编排的""最后一公里"",实现技术影响力的质变跃升! 业务写博客,不必苦熬。让AI做你的副驾驶,这个夏天,一边休息,一边把技术影响力写进你的履历里。 --- **活动须知:** 1.**围观交流**→加入专属创作者活动围观群,和同期优质创作者互相催更、分享资源、围观大神:[点击进群=>https://bbs.csdn.net/topics/619770678](https://bbs.csdn.net/topics/619770678) 2.**质量自查**→发文前先看看文章结构,争取一次到位:[点击查看文章质量分入口](https://www.csdn.net/qc) --- 每一次发布,都是向""创作之星""更近一步——**2026年的技术影响力,从今天文章开始累积!**

548人参与 去参加
  • 最近
  • 文章
  • 专栏
  • 代码仓
  • 资源
  • 收藏
  • 关注/订阅/互动
更多
  • 最近

  • 文章

  • 专栏

  • 代码仓

  • 资源

  • 收藏

  • 关注/订阅/互动

  • 社区

  • 帖子

  • 问答

  • 课程

  • 视频

搜索 取消

常见图片分类及适用场景

图片优化–质量与性能的博弈无论是作者还是《高性能网站建设指南》的作者,都认为图片的优化优先级高于js和css的优先级,因为这是用户可感知的。图片压缩我们通常会选择压缩图片的体积来减少网络加载时长,但一般会牺牲一些图片成像效果。目前主要的图片分类有JPEG/JPG、PNG、WebP、Base64、SVGJPEG/JPG关键词:有损压缩、体积小、加载快、不支持透明JPG 适用于呈现色彩丰富的图片,在我们日常开发中,JPG 图片经常作为大的背景图、轮播图或 Banner 图出现。当在处理颜色对比强烈
原创
博文更新于 2021.11.12 ·
5395 阅读 ·
1 点赞 ·
0 评论 ·
1 收藏

《前端serverless 面向全栈的无服务器架构实战》读书笔记

第1章 什么是severless什么是NoOps利用自动化运维代替手工运维模式什么是severless开发者无需关注服务器资源配置情况、部署情况、操作系统以及依赖软件等在内等所有细节,这一切都由平台完成,开发者只需要专注于业务实现。serverless是指在应用的构建环节或应用环节都无需对服务器进行操作云原生计算基金会CNCF2015年谷歌用go语言重构了内部用于容器编排的项目也就是后来的k8s。随着k8s的发布,谷歌与linux基金会合作成立了cncf(cloud native comput
原创
博文更新于 2021.09.13 ·
648 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

vue-router params与query使用及区别

前置知识url的语法大多数的url都是由9个部分组成<scheme>://<user>:<password>@<host>:<port>/<path><params>?<query>#<frag>scheme方案名称即协议名称,表示用哪种协议访问服务器,如http、httpsuser用户:某些方案访问资源时需要的用户名,有些服务器要求输入用户名密码才会允许用户访问数据,如ftppass
原创
博文更新于 2021.08.15 ·
1392 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

vue-router导航守卫全解析

导航守卫vue-router实例方法提供了守卫导航的方法,可以将我们的代码逻辑植入到路由导航过程中。主要分为全局、单个路由共享、组件级全局router.beforeEach()作用:导航前置守卫 在路由跳转之前进行判断和拦截,一般用来做一些进入页面的限制,比如未登录不能进入某些页面当一个导航触发时,全局前置守卫按照创建顺序调用。守卫是异步解析执行,此时导航在所有守卫 resolve 完之前一直处于 等待中。参数to:Route对象,即将要进入的目标from:Route,当前要离开的路由
原创
博文更新于 2021.08.13 ·
742 阅读 ·
3 点赞 ·
2 评论 ·
6 收藏

snabbdom的基本使用

前言我们上一篇博客中介绍了虚拟DOM的基本概念及常见类库,其中常见类库有2中,snabbdom和virtual-dom,而snabbdom是vue2.x版本中所使用的,所以我们这片文章就主要来记录一下snabbdom的基本使用。创建项目打包工具为了方便使用比较简单的parcel创建项目 并安装parcel mkdir snabb-demo // 在工作目录下建立snabb-demo子目录 cd snabb-demo //进入snabb-demo 目录 yarn ini
原创
博文更新于 2021.07.20 ·
5243 阅读 ·
6 点赞 ·
6 评论 ·
10 收藏

MIME Type 媒体类型

媒体类型MIME type服务器可以存储的资源类型多种多样如音频、视频、图片、ppt、excel、网页等,那浏览器怎么知道不同的类型怎么处理呢?这种时候需要服务器和客户端配合完成。首先是服务器通过http协议仔细的给每种要传输的对象都打上名为MIME type的数据格式标签,用它来描述并标记多媒体内容即标注是哪种类型的资源并将结果通过Content-Type 追加到响应头中。客户端根据类型进行不同的处理。背景知识MIME类型最初是为多媒体电子邮件开发的,目前在HTTP和其他几种需要描述数据对象格式和
原创
博文更新于 2021.06.06 ·
1151 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

利用nodejs实现石头剪刀布游戏

需求用户在执行的时候输入‘石头’、‘剪刀’、‘布’,跟系统随机生成的‘石头’、‘剪刀’、‘布’进行比较,最终判断输赢。代码实现新建一个index.js文件利用nodejs全局变量process中的argv来获得用户的输入,但下标0和下标1分别代表node.exe所在位置和执行文件所在位置输入如下代码var userInput = process.argv[process.argv.length-1]var random = Math.random()*3 //产生一个0-3之间的随机数let
原创
博文更新于 2021.05.24 ·
582 阅读 ·
0 点赞 ·
1 评论 ·
1 收藏

模拟实现发布订阅者

发布订阅定义了对象间一对多的问题发布订阅的核心组成因为有了消息调度中心,实现发布者与订阅者的解耦。订阅者把自己想要监听的事件注册到调度中心,发布者触发事件的时候会通知调度中心,调度中心通知监听此事件的订阅者进行回调执行发布订阅与观察者模式的区别在哪里?发布订阅者模式中存在调度中心,观察者模式中没有调度中心当状态发生改变时,发布订阅模式无须主动通知,由调度中心通知订阅者模拟一个发布订阅如果我们自己想要实现发布订阅,应该考虑哪些要素?要有一个缓存队列,存放订阅者信息 :ev
原创
博文更新于 2021.05.19 ·
273 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

Nodejs之CommonJS规范(一)

Commonjs规范关于CommonJS规范诞生的目的就是为了弥补浏览器没有模块化缺陷CommonJS是语言层面的规范,是一个超集,当前主要用于NodejsCommonJS规范规定模块化分为引入(通过rrquire导入其他模块)、定义(任意一个文件就是一个模块,具有独立作用域)、标识符(将模块ID传入require实现目标模块定位)三个部分module属性任意js文件就是一个模块,可以使用module属性id:返回模块标识符,一般是一个绝对路径filename:返回文件模块的绝
原创
博文更新于 2021.05.12 ·
448 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

Nodejs之fs文件操作API

fs是内置的核心模块,提供文件系统操作的APIfs模块结构FS基本操作类FS常用API既然讲到了文件系统,就先介绍一下关于系统和文件的相关知识权限位:在当前操作系统内,不同的用户角色对当前文件能够执行的不同操作文件权限分为三种:r:读权限,数字表示4w:写权限,数字表示2x:执行权限,数字表示1操作系统将用户分为了3类文件所有者,一般都是当前用户文件所属组:当前用户的家人其他用户:如访客关于文件权限问题如777代表的意义等,可以参考另一篇博客Nodej
原创
博文更新于 2021.05.07 ·
500 阅读 ·
0 点赞 ·
1 评论 ·
0 收藏

linux文件和目录的权限

1.文件权限操作系统将文件或目录权限分为三种:r:读权限,数字表示4 w:写权限,数字表示2 x:执行权限,数字表示1数字4、2、1分别表示读、写、执行权限rwx = 4 + 2 + 1 = 7 (可读可写可运行)rw = 4 + 2 = 6 (可读可写不可运行)rx = 4 +1 = 5 (可读可运行不可写)操作系统将用户分为了3类文件所有者,一般都是当前用户 文件所属组:当前用户的家人也就是同组用户 其他用户:如访客最高权限777:(4+2+1) (4..
原创
博文更新于 2021.05.07 ·
2367 阅读 ·
1 点赞 ·
0 评论 ·
4 收藏

Nodejs之Buffer静态方法concat、isBuffer

concat()作用:将多个buffer拼接成一个新的buffer语法Buffer.concat(list[, totalLength])参数list:用于合并的buffer对象数组totalLength:指定合并buffer对象的总长度实例let buf = Buffer.from('今天有沙尘暴')let buf2 = Buffer.from('20210506')console.log(Buffer.concat([buf,buf2],6)) //<Buffer e4
原创
博文更新于 2021.05.07 ·
883 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Nodejs之Buffer实例方法toString、indexOf、copy

toString():从buffer中提取数据语法buf.toString([encoding[,start[,end]]])参数encoding:使用的编码,默认utf-8start:指定开始读取的索引位置,默认为0end:结束位置,默认为缓冲区的末尾实例let buf = Buffer.from('今天有沙尘暴')console.log(buf.toString()) //今天有沙尘暴console.log(buf.toString('utf-8'))//今天有沙尘暴con
原创
博文更新于 2021.05.06 ·
1735 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

Nodejs之Buffer实例方法fill、write

fill():使用数据填充buffer基础用法:let a = Buffer.alloc(3)a.fill('123')console.log(a.toString()) //123如果buffer长度大于内容,则会反复填充let a = Buffer.alloc(7)a.fill('123')console.log(a.toString()) //1231231如果buffer长度小于内容长度,则填满即可let a = Buffer.alloc(6)a.fill('12345.
原创
博文更新于 2021.05.06 ·
679 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

前端性能优化入门篇

性能优化思考:1、为什么会学前端性能优化?因为性能优化是面试必考题,但面试官更关注的是在什么样的场景下,遇到了什么性能问题,围绕什么样的性能指标,采取了哪些性能优化手段,取得了什么样的结果2、前端性能监控平台,能够直接判断出当前性能数据有没有问题,然后提示出问题是在前端、后端、还是在网络层3、职业发展问题:当我们成长为高级工程师时,要选择继续深入的方向,一般的方向有2个。前端工程化方向(编译打包发布流程、物料中心、组件化)体验领域(性能优化方向)4、学习前端性能优化的难点:资料繁杂但不成
原创
博文更新于 2021.04.16 ·
223 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

vue+element分页数据生成排名

背景项目采用vue+element,其中有一个table数据采用后端分页形式,但需要展示一个排名,后端未返回需前端处理。实现思路排名是由页码pageNum+序号index组合生成的,第一页数据,采用序号+1即可,但第一页index为9的数据排名为10,当序号为9时采用页码+0第二页数据,采用页码-1+序号+1即可比如11、12、13,但第二页index为9的数据排名为20,当序号为9时采用页码+0总结来看,逻辑应该为如下:如果序号为9,则返回页码pageNum+‘0’如果序号不为9且
原创
博文更新于 2021.03.11 ·
2014 阅读 ·
1 点赞 ·
2 评论 ·
2 收藏

vscode自动生成项目目录结构

在博客中经常看到目录结构如下:project-tree├─ .git├─ .gitignore├─ .vscodeignore├─ images├─ node_modules├─ src│ ├─ config.ts│ ├─ index.ts│ └─ utils.ts├─ tsconfig.json├─ tslint.json└─ webpack.config.js应该如何生成呢?步骤如下:vscode安装插件,project-tree安装之后按ctrl+shift+
原创
博文更新于 2021.02.22 ·
13828 阅读 ·
11 点赞 ·
1 评论 ·
19 收藏

vue3.0介绍

vue3.0源码组织方式与vue2.x版本相比,vue3.0的变化如下:源码组织方式的变化,全部采用ts编写,采用monorepo将独立功能提取到不同包中增加CompositionApi,90%以上的api兼容2.x,解决2.x版本中开发大型项目中超大组件过大不好拆分重用的问题性能提升,重写了虚拟dom、同时使用proxy重写响应式采用vite打包工具,在开发阶段不需打包便可直接运行项目源代码组织方式采用ts重写,帮我们进行类型检查使用monorepo管理项目结构,一个源代码分为不同的
原创
博文更新于 2021.02.16 ·
2118 阅读 ·
2 点赞 ·
0 评论 ·
14 收藏

meta 属性 http-equiv的值及其含义(转)

http-equiv顾名思义,相当于http的文件头作用,它可以向浏览器传回一些有用的信息,以帮助正确和精确地显示网页内容,与之对应的属性值为content,content中的内容其实就是各个参数的变量值。 引用meat标签的http-equiv属性语法格式是:<meta http-equiv="参数" content="参数变量值"> ;其中http-equiv属性主要有以下几种
转载
博文更新于 2017.11.29 ·
654 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

vue中使用轮播图 vue-awesome-swiper

1. 首先安装 npm install vue-awesome-swiper --save  若是提示网络错误可能被和谐了,可以使用npm镜像。若已经是可以省略di2步2. 设置为国内镜像 npm configset registry https://registry.npm.taobao.org --global 3.   在main.js中引入import Vue
原创
博文更新于 2017.10.24 ·
767 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏
加载更多