自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

梅某某

疏影横斜水清浅,暗香浮动月黄昏。

  • 博客(151)
  • 资源 (2)
  • 收藏
  • 关注

原创 三五、Git使用流程(上传、下载、修改账号、生成SSH公钥)

配置git(第一次用)配置用户名 : git config –global user.name “你的名字或昵称”配置邮箱 : git config –global user.email “你的邮箱”查看配置信息: git config –list一 本地上传1、git初始化一个仓库 命令:git init;2、先把代码添加到暂存区(就相当于放到仓库门口) 命令:git a

2017-06-30 11:32:55 2466 2

原创 一五二、clone代码遇到的权限问题解决

查看自己是开发者权限,重置几遍公钥再添加也不行,去网上找方法,介绍这种情况的原因就是新的ssh客户端不支持ssh-rsa算法,要修改本地配置重新使用ssh-rsa算法。看起来像是没有权限导致的,又按照icode上的提示操作一遍没啥用。在config里添加如下内容。

2023-11-23 20:44:31 605

原创 一五一、web+小程序骨架屏整理

智能小程序骨架屏。

2023-05-17 16:53:57 1008

原创 一五零、Go常用utils

go常用方法

2023-05-04 17:11:44 212

原创 一四九、Go入门到进阶:Go项目DDD骨架

DDD实战,领域驱动设计流程图DDD是领域驱动设计(Domain-Driven Design)的缩写,是一种软件开发的方法论,其目的是以业务领域为中心,通过深入理解业务领域来指导软件系统的设计和实现。DDD强调将软件系统的设计与业务领域的概念紧密结合起来,将业务领域中的各种概念、规则和流程映射到软件系统中,使得软件系统的设计更加符合实际业务需求,从而提高软件系统的质量和可维护性。在DDD中,领域模型是非常重要的概念。领域模型是对业务领域中各种概念、规则和流程的抽象和描述,是软件系统设计的核心。通过领域模型,

2023-04-13 13:21:10 998

原创 一四四、go入门到进阶:基础

【代码】一四四、go入门到进阶:基础。

2023-03-31 16:13:35 87

原创 一四三、人脸识别颜值自动点赞、关注

image:必选,要截取的 image 或者 video 元素。dw:可选,裁剪图片放在画布上的宽度(放大或缩小)dh:可选,裁剪图片放在画布上的高度(放大或缩小)sx:可选,被截取图片的裁剪开始位置的 x 坐标。sy:可选,被截取图片的裁剪开始位置的 y 坐标。dx:必选,裁剪图片放在画布上位置的 x 坐标。dy:必选,裁剪图片放在画布上位置的 y 坐标。drawImage() 参数介绍。sw:可选,被截取图片的裁剪宽度。sh:可选,被截取图片的裁剪高度。

2023-03-28 17:30:40 278

原创 一四二、mac、Visual Studio Code使用,附vscode Markdown文件转pdf方法

通过(⇧⌘P)打开命令面板,然后键入以找到Shell命令:shell command。选择在PATH中安装‘code’命令,就可以使用了。

2023-03-26 12:07:33 651

原创 一四一、Linux安装合集(Git、MySql、Redis、Node、Nginx、Docker)

Linux安装合集(Git、MySql、Redis、Node、Nginx)

2023-03-17 11:17:09 224

原创 一四零、go类型转换

go 类型转换

2023-02-28 20:59:44 140

原创 一三九、vim使用介绍

vim 使用合集

2023-02-27 11:56:38 354

原创 一三八、代码优化篇,函数缓存(单例+代理)

每次接口请求依赖服务端接口或者客户端返回pnone字段,并且可能短时间多次请求。一种处理方式是返回值后使用全局状态管理,每次使用判断全局有没有另一种方式就是缓存这个函数,以及返回值,每次调用这个函数如果有值就直接返回缓存的结果

2022-11-11 16:23:01 132

原创 一三七、Node koa2 + vue 实现文件分片上传

大文件上传会消耗大量的时间,而且中途有可能上传失败。这时我们需要前端和后端配合来解决这个问题。

2022-11-08 16:16:06 722 1

原创 一三六、从零到一实现自动化部署

上一篇讲到服务器部署Node项目、Vue spa静态项目、ssr项目然而每次都要去手动部署,不仅麻烦,对Nginx,Linux不熟悉的也不友好,目前的常见的自动化部署有jenkins、docker等,但是有一定的学习成本,本文通过Node+vue的实现一键自动化部署。

2022-11-03 10:48:43 611

原创 一三五、服务器部署Node项目、Vue spa静态项目、ssr项目

部署ssr的时候,因为ssr项目是启一个node服务,配置nginx的时候proxy_pass一直监听的是开发环境的端口,一直访问不了,后端发现端口不对,所以在nuxt.config.js 需要配置server的port、host,建议和开发环境的端口保持一直,减少心智负担😭。到服务器后台 防火墙>添加规则 填写自己的端口 确定 (顺便把mysql web要使用的端口也添加)部署后访问不了,一直以为是代码或者部署流程的原因,后来发现是防火墙端口没开启😭。我学习使用,买的腾讯轻量应用服务器¥198 4年。

2022-10-28 18:42:42 1417

原创 一三四、npm、cnpm、yarn、pnpm、npx、nvm的区别

1、npm:中文文档:https://www.npmjs.cn/(1)npm install的时候巨慢。特别是新的项目拉下来要等半天,删除node_modules,重新install的时候依旧如此。(2)同一个项目,安装的时候无法保持一致性。由于package.json文件中版本号的特点,下面三个版本号在安装的时候代表不同的含义。 “5.0.3”表示安装指定的5.0.3版本,“~5.0.3”表示安装5.0.X中最新的版本,“^5.0.3”表示安装5.X.X中最新的版本。这就麻烦了,常常会出现同一个项

2022-05-30 16:11:52 365

原创 一三三、车载语音方案梳理与优化

车载语音方案梳理与优化

2022-04-24 11:28:38 634

原创 一三二、百度车载小程序自适应方案

百度车载小程序电脑$1600手机$12导管$1Column 1Column 2centered 文本居中right-aligned 文本居右 属性 属性值 描述 type text 单行文本输入框 password 密码输入框 radio 单选按钮 CheckBox 复选按钮 ...

2021-12-24 11:15:53 1027

原创 一三一、koa、axios、vuex、redux中间件实现机制

前言前端中的库很多,开发这些库的作者会尽可能的覆盖到大家在业务中千奇百怪的需求,但是总有无法预料到的,所以优秀的库就需要提供一种机制,让开发者可以干预插件中间的一些环节,从而完成自己的一些需求。本文将从koa、axios、vuex和redux的实现来教你怎么编写属于自己的插件机制。对于新手来说:本文能让你搞明白神秘的插件和拦截器到底是什么东西。对于老手来说:在你写的开源框架中也加入拦截器或者插件机制,让它变得更加强大吧!axios首先我们模拟一个简单的 axios,const

2021-05-21 15:52:18 290

原创 一三零、使用react Fiber原理优化页面渲染卡死问题

一、页面卡顿分析在浏览器中,js 线程和渲染线程共用一个主线程遇到一些复杂的计算任务时,JavaScript 运行时间过长,就会阻塞渲染线程上的任务,导致掉帧优化方案有很多:拆分计算任务,匀到多帧通过 worker 开启多线程计算采用 wasm 加速计算二、拆分计算任务,匀到多帧React是怎么做的?React 在页面更新时,会自顶向下计算 virtual dom 上的不同处。如果计算任务耗时过长,渲染线程在 16 ms 中无法执行任务,页面会出现掉帧/卡死现象。React F

2021-05-14 11:40:38 1014

转载 一二九、24 个面试常问的XX和XX的区别

1. 箭头函数和普通函数的区别a. 箭头函数和普通函数的样式不同,箭头函数语法更加简洁、清晰,箭头函数是=>定义函数,普通函数是function定义函数。b. 箭头函数会捕获其所在上下文的 this 值,作为自己的 this 值,定义的时候就确定并固定了。c. 箭头函数不能作为构造函数使用,也不能使用new关键字(因为箭头函数没有自己的this,它的this其实是继承了外层执行环境中的this,且this指向永远不会改变,作为构造函数其的this要是指向创建的新对象)。d. 箭头函数没有自己的

2021-05-06 16:33:38 1488

原创 一二八、【源码阅读篇】ahooks -- useDebounce、useDebounceFn、useCreation、useUnmount、usePersistFn

useDebounceimport { useState, useEffect } from 'react';import useDebounceFn from '../useDebounceFn';import { DebounceOptions } from './debounceOptions';/** * @description: 用来处理防抖值的 Hook。 * @param {T} value 需要防抖的值 * @param {DebounceOptions} options

2021-03-19 15:38:31 3952

原创 一二八、【源码阅读篇】ahooks -- useVirtualList(虚拟列表)

useVirtualList使用文档import { useEffect, useState, useMemo, useRef, MutableRefObject } from 'react';import useSize from '../useSize';export interface OptionType { itemHeight: number | ((index: number) => number); // 行高度,静态高度可以直接写入像素值,动态高度可传入函数 over

2021-03-18 21:11:15 799

原创 一二八、小程序埋点方案

一、TypeScript 基础类型Boolean 类型Number 类型String 类型Symbol 类型Array 类型Enum (枚举)类型Any 类型Unknown 类型类型都可以赋值给 any,所有类型也都可以赋值给 unknown。这使得 unknown 成为 TypeScript 类型系统的另一种顶级类型(另一种是 any)。Tuple 类型数组一般由同种类型的值组成,但有时我们需要在单个变量中存储不同类型的值,这时候我们就可以使用元组。let tupleT

2021-03-17 17:44:57 3521

原创 一二七、 Nginx配置Gzip、缓存、代理解决跨域

##cache## proxy_connect_timeout 5; proxy_read_timeout 60; proxy_send_timeout 5; proxy_buffer_size 16k; proxy_buffers 4 64k; proxy_busy_buffers_size 128k; proxy_temp_file_write_size 128k; proxy_temp_path /home/temp_dir; ...

2021-03-16 20:12:31 249

原创 一二七、百度编码规范--TypeScript

TypeScript 编码规范1 前言2 代码风格2.1 环境[强制] TypeScript 文件使用 `.ts` 扩展名。含 JSX 语法的 TypeScript 文件使用 `.tsx` 扩展名。[建议] `tsconfig.json` 配置文件应开启 `strict`、`noImplicitReturns`、`noUnusedLocals` 选项。[建议] `tsconfig.json` 配置文件应开启 `allowSyntheticDefaultImports` 选项。[建议] 使用 [`VS Cod

2021-01-22 17:26:31 920

原创 一二六、百度编码规范--React

React 编码规范1 版本限制1.1 法律要求[强制] 使用React `>=15.6.2`版本2 文件组织2.1 命名[强制] 同一目录下不得拥有同名的`.js`和`.jsx`文件。[强制] 组件文件使用一致的`.js`或 `.jsx`后缀。2.2 模块化[建议] 实现单个组件的文件以`export default`的形式暴露一个组件。[建议] 组织多个组件的目录使用一个`index.js`以命名导出的形式暴露所有组件。3 命名规则3.1 组件[强制] 组件名为PascalCase。[强制] 组件

2021-01-22 16:38:40 273

原创 一二五、百度编码规范--Vue

Vue 组件代码规范1 前言2 代码风格2.1 缩进[强制] 使用 `4` 个空格做为一个缩进层级,不允许使用 `2` 个空格或 `tab` 字符2.2 单行最长限制[强制] 每行不得超过 `120` 个字符2.3 模块书写顺序[建议] `template` -> `script` -> `style`3 template 部分3.1 根节点[强制] `template` 根节点只允许包含一个直接子节点,以下情况都是不允许的:3.2 标签[强制] 自定义组件的标签名不得使用 HTML 中默认已定

2021-01-22 16:37:36 271

原创 一二四、百度编码规范--JavaScript

JavaScript编码规范1 前言2 代码风格2.1 文件[建议] JavaScript 文件使用无 `BOM` 的 `UTF-8` 编码。[建议] 在文件结尾处,保留一个空行。2.2 结构2.2.1 缩进[强制] 使用 `4` 个空格做为一个缩进层级,不允许使用 `2` 个空格 或 `tab` 字符。[强制] `switch` 下的 `case` 和 `default` 必须增加一个缩进层级。2.2.2 空格[强制] 二元运算符两侧必须有一个空格,一元运算符与操作对象之间不允许有空格。[强制] 用作代码

2021-01-22 16:36:18 260

原创 一二三、百度编码规范--CSS

CSS编码规范1 前言2 代码风格2.1 文件[建议] `CSS` 文件使用无 `BOM` 的 `UTF-8` 编码。2.2 缩进[强制] 使用 `4` 个空格做为一个缩进层级,不允许使用 `2` 个空格 或 `tab` 字符。2.3 空格[强制] `选择器` 与 `{` 之间必须包含空格。[强制] `属性名` 与之后的 `:` 之间不允许包含空格, `:` 与 `属性值` 之间必须包含空格。[强制] `列表型属性值` 书写在单行时,`,` 后必须跟一个空格。2.4 行长度[强制] 每行不得超过 `120`

2021-01-22 16:34:36 365

原创 一二二、百度编码规范--HTML

HTML编码规范1 前言2 代码风格2.1 缩进与换行[强制] 使用 `4` 个空格做为一个缩进层级,不允许使用 `2` 个空格 或 `tab` 字符。[建议] 每行不得超过 `120` 个字符。2.2 命名[强制] `class` 必须单词全字母小写,单词间以 `-` 分隔。[强制] `class` 必须代表相应模块或部件的内容或功能,不得以样式信息进行命名。[强制] 元素 `id` 必须保证页面唯一。[建议] `id` 建议单词全字母小写,单词间以 `-` 分隔。同项目必须保持风格一致。[建议] `id

2021-01-22 16:32:21 612

原创 一二一、React原理篇

React.setStateVirtual DOMReact 组件的生命周期方法高阶组件(HOC)Redux遵循的三个原则React Fiberreact HooksReact.setStatesetState本质是通过一个队列机制实现state更新的。 执行setState时,会将需要更新的state合并后放入状态队列,而不会立刻更新state,队列机制可以批量更新state。如果不通过setState而直接修改this.state,那么这个state不会放入状态队列中,下次调用setState.

2020-11-23 16:29:40 540

原创 一二零、JavaScript实现深拷贝

function clone(Obj) { var buf; if (Obj instanceof Array) { buf = []; //创建一个空的数组 var i = Obj.length; while (i--) { buf[i] = clone(Obj[i]); } ..

2020-11-05 16:47:06 186

原创 一一九、Mobx Redux Vuex

MobxRedux相同点统一维护管理应用状态某一状态只有一个可信数据来源-store 状态容器操作更新状态方式统一,并且可控(通常以action方式提供更新状态的途径)将react组件从业务上分为容器组件和展示型组件(视图)不同点函数式和面向对象Redux 更多的是遵循函数式编程思想,而Mobx更多的是从面向对象角度考虑问题Redux提倡函数式代码,如reducer就是一个纯函数.纯函数接受输入,然后输出结果,除此之外不会有任何影响,也包括不会影响接受的参数Mobx更多偏向

2020-09-16 20:56:59 312

原创 一一八、项目难点总结

网页版Excelweb worker 多线程计算//主线程 main.jsvar worker = new Worker("worker.js");worker.onmessage = function(event){ // 主线程收到子线程的消息};// 主线程向子线程发送消息worker.postMessage({ type: "start", value: 12345});//web worker.jsonmessage = function(even

2020-09-15 11:01:42 833

转载 一一六、React Context(上下文) 作用和使用

ContextContext 通过组件树提供了一个传递数据的方法,从而避免了在每一个层级手动的传递 props 属性。APIReact.createContext:创建一个上下文的容器(组件), defaultValue可以设置共享的默认数据const {Provider, Consumer} = React.createContext(defaultValue);Provider(生产者): 用于生产共享数据的地方,value:放置共享的数据。<Provider value

2020-08-08 10:04:29 472

原创 一一七、react Hooks实现forceUpdate

如果你的render()方法依赖于一些其他的数据,你可以告诉React组件需要通过调用forceUpdate()重新渲染。调用forceUpdate()会导致组件跳过shouldComponentUpdate(),直接调用render()。这将触发组件的正常生命周期方法,包括每个子组件的shouldComponentUpdate()方法。forceUpdate就是重新render。有些变量不在state上,当时你又想达到这个变量更新的时候,刷新render;或者state里的某个变量层次太深,更新的时.

2020-07-27 20:52:22 11168 1

转载 一一五、手写vue3 reactivity

<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>vue3 reacti

2020-07-23 19:12:34 264

转载 一一四、Vue 3 核心原理 -- reactivity实现

vue 3 一个简单的例子<template> <button @click="increment"> Count is: {{ state.count }}, double is: {{ state.double }} </button> <button @click="addOtherCount"> otherCount is: {{ otherCount }}, double is: {{ otherDouble }}

2020-07-23 14:33:07 767

原创 一一三、获取目标月份第一天零点零分零秒的时间戳

//时间戳转换function formatDateTime(inputTime) { let date = new Date(inputTime); let y = date.getFullYear(); let m = date.getMonth() + 1; m = m < 10 ? ('0' + m) : m; let d = date.getDate(); d = d < 10 ? ('0' + d) : d; let h = date.getHours(

2020-07-10 16:50:58 559

Vue源码分析.xmind

Vue源码分析Vue源码分析Vue源码分析Vue源码分析Vue源码分析Vue源码分析Vue源码分析Vue源码分析

2020-03-31

pyCharm、webStorm主题+设置

做为一个程序员,一款漂亮的编译器可以使你的代码赏心悦目 注:引入默认可能是mac的快捷键 需要改成windows或者对应自己顺手的快捷键

2018-07-23

空空如也

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

TA关注的人

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