自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

嘿嘿

当你的才华还撑不起你的野心的时候,你就应该静下心来学习。当你的能力还驾驭不了你的目标的时候,你就应该沉下心来历练。问问自己,想要怎样的人生。

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

转载 Vue.js双向绑定的实现原理

Vue.js 最核心的功能有两个,一是响应式的数据绑定系统,二是组件系统。本文仅探究双向绑定是怎样实现的。先讲涉及的知识点,再用简化得不能再简化的代码实现一个简单的 hello world 示例。  参考文章:https://segmentfault.com/a/1190000006599500一、访问器属性 访问器属性是对象中的一种特殊属性,它不能直接在对象中设置,而必须通过 defineProperty() 方法单独定义。 var obj = { };...

2022-03-09 19:32:41 460

转载 你不知道的 TypeScript 高级类型

前言对于有 JavaScript 基础的同学来说,入门 TypeScript 其实很容易,只需要简单掌握其基础的类型系统就可以逐步将 JS 应用过渡到 TS 应用。// jsconst double = (num) => 2 * num// tsconst double = (num: number): number => 2 * num然而,当应用越来越复杂,我们很容易把一些变量设置为 any 类型,TypeScript 写着写着也就成了 AnyScript。为了让大家能

2022-02-27 09:52:39 427

转载 Golang ServeMux 是如何实现多路处理的

之前出于好奇看了一下 Golang net/http 包下的部分源码,今天想还是总结一下吧。由于是第一次写文章且抱着忐忑的心情发表,可能有些语义上的不清楚,谅解一下,或者提出修改的建议!简介net/http 包里的 server.go 文件里注释写着:ServeMux is an HTTP request multiplexer. 即 ServeMux 是一个 HTTP 请求的 “多路处理器”,因为 ServeMux 实现的功能就是将收到的 HTTP 请求的 URL 与注册的路由相匹配,选择匹配度最

2022-02-15 12:08:31 1016

转载 vue html页面打印功能vue-print-nb

vue项目中,HTML页面打印功能.在项目中,有时需要打印页面的表格,在网上找了一个打印组件vue-print-nb本博客源码:https://github.com/shengbid/vue-print,这里面只放了打印组件的代码,只需要这个功能的下载这个https://github.com/shengbid/vue-demo 这个项目里平时博客写的一些功能的代码都放在里面,有需要可以下载看看,有帮助的话点个star哈使用方式安装 npm install vue-print-..

2022-02-14 15:44:36 2248

转载 将MASTER分支内容合并到DEV分支

流程如下:一、将分支切换到mastergit checkout master二、将代码pull到本地git pull三、修改冲突四、提交到本地git add .git commit -m "merge"五、切换到你所在分支devgit checkout dev六、mergegit merge master七、将本地内容push到dev分支git push有道无术,术尚可求,有术无道,止于术!...

2022-02-09 15:00:24 2179

转载 什么是对象存储?COS 能做什么?这里有份快速入门教程

随着互联网速度的逐渐提升以及用户设备数量的增多,云存储服务从新兴走向火热,现在俨然成为了大众数字生活不可或缺的一部分。但是,市面上的个人云存储产品中存在的订阅费用高昂、速度受限、功能不够全面等问题使单一产品难以满足每个人的需求;另一方面,云存储产品间各自独立、相对封闭的生态也使得不同云存储平台的用户协作存在一定困难。这些不便之处使我重新认识到了「对象存储」这一「古老」的基础服务在个人存储领域可以发挥的价值。对象存储和个人云服务之间的关系?区别?对象存储(object storage)属于公有云服务中

2022-02-07 14:47:18 2001

转载 从网易与淘宝的font-size思考前端设计稿与工作流

阅读目录1. 问题的引出 2. 简单问题简单解决 3. 网易的做法 4. 淘宝的做法 5. 比较网易与淘宝的做法 6. 如何与设计协作 7. 总结本文结合自己对网易与淘宝移动端首页html元素上的font-size这个属性的思考与学习,讨论html5设计稿尺寸以及前端与设计之间协作流程的问题,内容较多,但对你的技术和工作一定有价值,欢迎阅读和点评:)。1. 问题的引出最近阅读白树的博文《移动web资源整理》时,他在博文中有一段指出,如果html5要适应各种分辨率的移动设备,应该

2022-01-29 14:09:50 155

转载 淘宝flexible.js+rem适配pc端

1、引入flexible.js文件:(function flexible(window, document) { var docEl = document.documentElement; var dpr = window.devicePixelRatio || 1; // adjust body font size function setBodyFontSize() { if (document.body) { document.body.style.fon.

2022-01-29 13:56:28 744

转载 浅谈Web自适应

前言随着移动设备的普及,移动web在前端工程师们的工作中占有越来越重要的位置。移动设备更新速度频繁,手机厂商繁多,导致的问题是每一台机器的屏幕宽度和分辨率不一样。这给我们在编写前端界面时增加了困难,适配问题在当下显得越来越突出。记得刚刚开始开发移动端产品的时候向设计MM要了不同屏幕的设计图,结果可想而知。本篇博文分享一些卤煮处理多屏幕自适应的经验,希望有益于诸君。特别说明:在开始这一切之前,请开发移动界面的工程师们在头部加上下面这条meta: 1 <meta

2022-01-29 13:31:05 1527

转载 vue 实现PC端适配 lib-flexible+loader px2rem

依赖项目基础配置使用vue-cli生成自适应方案核心: 阿里可伸缩布局方案lib-flexiblepx转rem:px2rem,它有webpack的loader px2rem开始先使用vue脚手架初始化一个项目vue create 项目名项目初始化好了之后,进入项目目录中 (cd 项目名) 安装lib-flexible和px2rem-loadernpm i lib-flexible -Snpm i px2rem-loader -D安装好了之后还需要在项目...

2022-01-29 11:12:52 754

转载 【JS基础】JavaScript中的void 0

众所周知,Undefined是JS语言中的7大基本类型之一,表示未定义,它的值只有一个,就是undefined。任何变量在赋值前都是undefined。而在一些框架源码中,会出现一些这样的表达式:  if (context === void 0) return func;  function foo() {     var a = arguments[0] !== (void 0 ) ? arguments[0] : 2; return a;   }  if (array == n

2022-01-25 09:10:48 3973

转载 在EggJS中使用Sequelize做联表查询

1.EggJS引用Sequelize安装sequelize依赖和mysql驱动cnpm i egg-sequelize mysql2 -S启用sequelize插件在config/plugin.js里面添加sequelize: { enable: true, package: 'egg-sequelize',},配置数据库在config/config.default.js里面添加 config.sequelize = { diale

2022-01-07 19:17:34 2315 2

转载 vue自定义指令update 和 componentUpdated及bind 和 inserted区别

转自vue自定义指令update 和 componentUpdated及bind 和 inserted区别_sunboylife的博客-CSDN博客_vue 自定义指令update

2022-01-06 18:36:32 579

转载 手把手教你实现网页端社交应用中的@人功能:技术原理、代码示例等

1、引言 第一次使用@人功能到现在已经有差不多10年了,初次使用是通过微博体验的。@人的功能现在遍布各种应用,基本上涉及社交(IM、微博)、办公(钉钉、企业微信)等场景,就是一个必不可少的功能。 最近正好在调研 IM 各种功能的技术实现方案,所以也详细地了解了下@人功能在Web网页前端的技术实现,正好借此机会给大家分享一下我所掌握的技术原理和代码实现。 本文已同步发布于“即时通讯技术圈”公众号,欢迎关注。公众号上的链接是:点此进入...

2021-12-27 15:52:13 786

转载 前端如何修改组件库源码来封装符合自己需求的组件?

前端开发的同学们或许会遇到这样的问题:产品中需要实现某项功能,常用的elementui、antd等组件库中确实有差不多功能的组件。但实际上这些组件可能并不能满足你的功能,或多或少都需要你去看看如何修改它才能满足你的需求。比如我曾遇到过element-ui中的「树形控件」暴露出的参数没有我需要的(获取参数);或者是「对话框」组件我需要给它的body加上上下两条border等(样式修改);还有「级联选择器」的多选可搜索功能:需要修改级联看板使它保持展开,且当子节点全部选中时,不展示全部子节点...

2021-12-10 10:14:58 905

转载 element时间选择器,怎么怎么转换成时间戳

我用element时间选择器选择的值要去比较大小,所以要在值前面加上今天的时间戳去比较,但是el选择的值只是一个字符串,怎么把这两个值变成当天13:00:00的时间戳和14:00:00的时间戳{ endTime: "13:00:00" startTime: "14:00:00" } new Date((new Date).toDateString()+' 13:00:00').getTime()timeStampList.push(new Date((new Date).t.

2021-11-22 14:35:17 2335

转载 路由器,集线器,交换机,网桥,光猫有啥区别?

故事就从一个车轱辘说起吧。先来看一个车轱辘。辐条从车轱辘边缘,一直汇聚到 中心的轴,这个轴在英文里叫hub。而我们今天要讲到的集线器,英文里也叫hub。都叫hub,多少有点关系,看下这面这个图大概能明白,其实两者有点像。hub的由来大概想表达的意思是,它是汇聚网线的中心,因此就叫集线器。所以可以理解,大家常逛的Github,Docker Hub, 还有P**hub,都是为了表达它们是某类资源的中心了吧。那么集线器是什么呢?那就要从电脑是怎么互联的这个话题说起。..

2021-11-08 13:08:48 598

转载 网络编程:epoll

前言前面讲了IO多路复用的API,select和poll的缺点是性能不够,客户端连接越多性能下降越明显,epoll的出现解决了这个问题,引用The Linux Programming Interface的一个统计对比如下:fd数量 poll CPU时间(秒) select CPU时间(秒) epoll CPU时间(秒)---------------------------------------------------------------------10

2021-11-06 10:01:27 323

转载 Java NIO浅析

NIO(Non-blocking I/O,在Java领域,也称为New I/O),是一种同步非阻塞的I/O模型,也是I/O多路复用的基础,已经被越来越多地应用到大型应用服务器,成为解决高并发与大量连接、I/O处理问题的有效方式。那么NIO的本质是什么样的呢?它是怎样与事件模型结合来解放线程、提高系统吞吐的呢?本文会从传统的阻塞I/O和线程池模型面临的问题讲起,然后对比几种常见I/O模型,一步步分析NIO怎么利用事件模型处理I/O,解决线程池瓶颈处理海量连接,包括利用面向事件的方式编写服务端/客户端程

2021-11-05 18:52:29 146

转载 Vue 如何快速实现头像裁剪?方法比你想象的简单

高效实现需求的方法,就是避免重复造轮子。图片裁剪的插件也不少,这里我选择 vue-cropper,原因是功能强大、简单易上手。话不多说,上效果图:效果图1634477651(1).jpgimage.png安装npminstallvue-cropper复制代码使用import{VueCropper}from'vue-cropper'复制代码代码实现以 element-ui + vue-cropper 为例实现头像裁剪src/App.vu...

2021-11-05 14:24:41 1483 1

转载 我画了19张图,帮你彻底搞懂Redis

又到了金三银四跳槽季,好多同学已经开始行动了。今天我来助力一把,送出这套 Redis 面试题,助力大家通关。图片来自 PexelsRedis 为什么响应快①数据保存在内存中Redis 数据保存在内存中,读写操作只要访问内存,不需要磁盘 IO。②底层数据结构如下:Redis 的数据以 key:value 的格式存储在散列表中,时间复杂度 o(1)。 Redis 为 value 定义了丰富的数据结构,包括动态字符串、双向链表、压缩列表、hash、跳表和整数数组,可以根据 v

2021-11-04 19:31:33 227

转载 Linux I/O 原理 和零拷贝技术

导言如今的网络应用早已从 CPU 密集型转向了 I/O 密集型,网络服务器大多是基于C-S模型,也即客户端 - 服务端模型,客户端需要和服务端进行大量的网络通信,这也决定了现代网络应用的性能瓶颈:I/O。传统的 Linux 操作系统的标准 I/O 接口是基于数据拷贝操作的,即 I/O 操作会导致数据在操作系统内核地址空间的缓冲区和用户进程地址空间定义的缓冲区之间进行传输。设置缓冲区最大的好处是可以减少磁盘 I/O 的操作,如果所请求的数据已经存放在操作系统的高速缓冲存储器中,那么就不需要再进...

2021-11-04 18:42:53 344

转载 npm 和 npx 有什么区别?

作者:嘶吼链接:https://www.zhihu.com/question/327989736/answer/787995048来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。说到npm那当然就离不开社区文化,那我们就从社区文化开始说起:社区文化的意思是:拥有共同职业或兴趣的人群,自发组织在一起,通过分享信息和资源进行合作与交流。虚拟社区的参与者经常会在线讨论相关话题,或访问某些网站。前端程序员也有社区,世界上最大的前端社区应该就是 GitHub 了。前.

2021-10-29 17:35:19 878

转载 响应式布局新方案

概念:融合响应式设计本文中我们可以尝试得出一种新的解决方案,那就是利用 JavaScript 和 CSS 来进行媒体查询,是响应式设计与自适应设计结合的方案,我这里给起一个好记的名字叫做融合响应式设计( Fusion Web Design,简称 FWD )。技术原则: JavaScript 判断尽量少 CSS 媒体查询的断点也尽量少 UI效果 在笔记本、平板电脑、智能手机上展示合适的 UI 效果 PC UI:给笔记本等设备上看的大屏效果 Mob...

2021-10-27 10:54:49 217

转载 2021年,让我们手写一个mini版本的vue2.x和vue3.x框架

mini版本的vue.js2.X版本框架模板代码首先我们看一下我们要实现的模板代码:<divid\="app"\><h3\>{{msg}}</h3\><p\>{{count}}</p\><h1\>v-text</h1\><pv-text\="msg"\></p\><inputtype\="text"v-model\=...

2021-10-26 09:04:37 351

转载 玩转直播:如何从 0 到 1 构建简单直播系统

一、前言随着5G时代的到来,音视频行业也可能迎来一个行业的春天,直播则是新视频行业一直以来的一个重要的产品形态,从最初的秀场直播,游戏直播,到今年由于疫情,目前比较火的在线教育直播,带货直播等,各类新的直播形式则是越来越多的展示在大众面前。作为技术开发的我们,今天我们一起简单的了解一下,如何快速搭建一套最简单的直播系统,简单地了解一下主流直播的架构模型。二、推拉流模型首先我们先看一张完整的直播推拉流的模型图,我们可以很清楚地看到直播宏观上的架构模型图2.1 直

2021-10-22 15:30:11 1235

转载 系统架构的漫长演变之路

阶段一:单体应用架构网站发展的初期,所有的应用都部署在同一台服务器。阶段二:应用服务器和数据库服务器分离随着互联网的发展,网站上线之后,用户的访问量持续增加,服务器的负载压力变大,而在代码层面的优化没有什么进步,所以从硬件方面考虑,增加服务器的数量,应用服务器和数据库服务器分离,尽可能提高性能。阶段三:应用服务器集群随着互联网的进一步发展,访问人数日益增加,应用服务器的负载压力急剧增大,选择增加应用服务器的数量,搭建集群,将访问的流量分发到各个服务器,从而提升

2021-10-22 13:18:14 287

转载 cookie详解(含vue-cookie)

今天看到一篇cookie的文章,写的特别详细,感谢晚晴幽草轩的分享,原文链接http://mp.weixin.qq.com/s/NXrH7R8y2Dqxs9Ekm0u33w原文如下,记录到此供以后查阅并希望好文章能被更多需要的人看到背景在HTTP协议的定义中,采用了一种机制来记录客户端和服务器端交互的信息,这种机制被称为cookie,cookie规范定义了服务器和客户端交互信息的格式、生存期、使用范围、安全性。在JavaScript中可以通过 document.cookie 来读..

2021-10-16 10:54:36 1562

转载 三十分钟包会——正则表达式

三十分钟包会——正则表达式一、前言正则表达式,对大家来说既熟悉又陌生。熟悉是因为工作中有很多场景能用到,比如手机号、邮箱、密码等规则校验。陌生则是因为正则表达式看上去就是一堆乱码,且一眼看上去很难看懂匹配规则。有时候在网上去找一个特定规则的正则表达式,搜出来的结果各不相同,执行效果更是不尽人意,想自己去修改,感觉也无从下手。今天就花费30分钟时间,带领大家从另一个角度去剖析匹配的目的,理解匹配的思路,一步一步抽丝剥茧去学会怎么写正则表达式(读正则表达式远比写正则表达式要困难的多)。二、理

2021-10-15 09:44:26 494

转载 从零开始实现一个颜色选择器(原生JavaScript实现)

项目目录与文件创建首先,我们无需搭建项目的环境,我们还是直接用最简单的方式,也就是引入的方式来创建这个项目,这样也就方便了我们一边编写一边测试。创建一个空目录,命名为ColorPicker,创建一个js文件,即color-picker.js,然后创建一个index.html文件以及创建一个样式文件color-picker.css。现在你应该可以看到你的项目目录是如下所示:ColorPicker│index.html│color-picker.js│color-picker.css...

2021-10-14 17:05:53 1322

转载 Pomelo Application

应用程序配置,如何配置Pomelo框架?Pomelo可以配置各个组件的选项,加载配置文件,开启Pomelo的特性等,这些配置都是在game-server/app.js文件中进行的。实际上在Pomelo的应用中有两个app.js,一个是在game-server目录下,一个是在web-server目录下。game-server下的app.js是整个游戏服务器的入口和配置点。web-server下的app.js是Web服务器入口。pomelo进程pomelo框架是如何驱动的呢?当应用启动后,使用p

2021-10-02 16:13:14 431

转载 详解16个CSS新特性(2021最新版-上)

2021 CSS 的新特性和之前两年的相比有相似也有不同,本文就带大家看看今年的 CSS 到底说了什么。简介如果您有关注过这两年的 CSS 发展状态报告(2019年和2020年)的话,不难发现,在报告中有专门关于 CSS 新特性一项的介绍。图片by 2020 年 CSS 发展状态报告(https://2020.stateofcss.com/en-US/features/)是不是有种似有相识的感觉,或者有一些又是那么的陌生。对于我而言,这些都不陌生。不过我想说.

2021-09-30 18:03:26 2720

转载 Axios请求方法及别名(delete方法)

<script>import axios from 'axios'export default { name: 'axios2-2', created() { let data = { id: 12 } // delete请求 axios.delete('/delete', { params: { // 请求参数拼接在url上 id: 12 } }).then(res => { .

2021-09-29 20:55:07 3387

转载 如何使用 WebRTC 和 Node 实现视频会议

WebRTC介绍WebRTC(Web Real Time Communication)是一个开源项目,可以实现浏览器之间的点对点通信。换句话说,WebRTC 允许您通过 Web 交换任何类型的媒体(例如视频、音频和数据),而无需任何所需的插件或框架。浏览器之间的直接通信可以提高性能并减少延迟时间,因为客户端不需要通过服务器不断发送和接收消息。例如,我们可以使用WebSockets连接两个客户端,但服务器必须如下图所示路由它们的消息:相比之下,WebRTC 只需要一个服务器来建立和控制客户端的

2021-09-29 14:36:06 1005

转载 uni-app小程序聊天表情发送+获取input光标位置

uni-app小程序聊天表情发送+获取input光标位置直接上代码,懒得讲了emoji表情图片大全需要什么自己可以复制过来使用https://www.emojidaquan.com/http://www.fhdq.net/emoji/emojifuhao.html先看效果html代码<template> <!-- 聊天 --> <view class="consult"> ..

2021-09-29 14:26:08 3732 1

转载 详解Vue响应式原理

摘要:搞懂Vue响应式原理!作者:浪里行舟 原文:深入浅出Vue响应式原理Fundebug经授权转载,版权归原作者所有。前言Vue 最独特的特性之一,是其非侵入性的响应式系统。数据模型仅仅是普通的 JavaScript 对象。而当你修改它们时,视图会进行更新。这使得状态管理非常简单直接,不过理解其工作原理同样重要,这样你可以避开一些常见的问题。----官方文档本文将针对响应式原理做一个详细介绍,并且带你实现一个基础版的响应式系统。本文的代码请猛戳Github博客什么是响应式我们.

2021-09-27 14:40:39 1101

转载 五分钟搞懂 React Hooks 工作原理

Hooks 是 React 中比较火的一个概念, 用过的小伙伴都说好。但是, 在使用 Hooks 的时候,我们可能会有很多疑惑:1. 为什么 useEffect 第二个参数是空数组,就相当于 ComponentDidMount ,只会执行一次?2. 为什么只能在函数的最外层调用 Hook,不能在循环、条件判断或者子函数中调用?3. 自定义的 Hook 是如何影响使用它的函数组件的?4. Capture Value 特性是如何产生的?今天这篇文章, 不会讲解 Hooks 的概念和用法,

2021-09-26 13:03:43 718

转载 五分钟搞懂 React Hooks 工作原理2019-12-30阅读 1.1K0

Hooks 是 React 中比较火的一个概念, 用过的小伙伴都说好。但是, 在使用 Hooks 的时候,我们可能会有很多疑惑:1. 为什么 useEffect 第二个参数是空数组,就相当于 ComponentDidMount ,只会执行一次?2. 为什么只能在函数的最外层调用 Hook,不能在循环、条件判断或者子函数中调用?3. 自定义的 Hook 是如何影响使用它的函数组件的?4. Capture Value 特性是如何产生的?今天这篇文章, 不会讲解 Hooks 的概念和用法,

2021-09-26 11:32:12 116

转载 理解Vue的设计思想实现vue

MVVM框架的三要素:数据响应式、模板引擎及其渲染 数据响应式:监听数据变化并在视图中更新 Object.defineProperty() Proxy 模版引擎:提供描述视图的模版语法 插值:{{}} 指令:v-bind,v-on,v-model,v-for,v-if 渲染:如何将模板转换为html 模板 => vdom => dom 数据响应式原理数据变更能够响应在视...

2021-09-24 10:58:06 329

转载 NodeJS 多进程和集群

进程和线程“进程” 是计算机系统进行资源分配和调度的基本单位,我们可以理解为计算机每开启一个任务就会创建至少一个进程来处理,有时会创建多个,如 Chrome 浏览器的选项卡,其目的是为了防止一个进程挂掉而应用停止工作,而 “线程” 是程序执行流的最小单元,NodeJS 默认是单进程、单线程的,我们将这个进程称为主进程,也可以通过child_process模块创建子进程实现多进程,我们称这些子进程为 “工作进程”,并且归主进程管理,进程之间默认是不能通信的,且所有子进程执行任务都是异步的。sp..

2021-09-22 17:40:47 334

空空如也

空空如也

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

TA关注的人

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