自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

雷霆未来

技术改变未来

  • 博客(70)
  • 问答 (2)
  • 收藏
  • 关注

原创 vue3中使用indexdb(本地存储,大数据)

【代码】vue3中使用indexdb(本地存储,大数据)

2023-08-02 14:50:12 933

原创 修改mongoose时区为当前时区

一个mongoose插件,用于规范存储的日期时区。默认情况下,mongo日期以UTC格式存储,该插件可以在存入数据之前,修改为当前时区的时间。

2023-06-27 14:28:08 688

原创 针式打印机打印WEB页面字体不清晰,解决方法

针式打印机打html页面打印,好像只认识黑体,其他字体文字打印就不清晰了,把打印的字体改为黑体,解决。同时颜色设置为黑色。

2023-05-19 10:50:51 1521

原创 去除 span标签之间的空隙

【代码】去除 span标签之间的空隙。

2023-05-10 17:11:50 362

原创 thinkjs+ts,使用绝对路径导入包

在原有的think-typescript包的基础上针对@别名做解析

2022-10-11 14:33:33 324

原创 electron-vue主进程TS不能识别?.问号点运算符

electron-vue主进程TS不能识别?.问号点运算符

2022-04-17 11:09:08 1544

原创 MongoDb中子文档使用lookup嵌套用法

当需要在已经lookup的数组集合中,再次lookup,如果直接使用外键和内建这种模式是无法实现的。这种情况需要使用管道模式来单独处理树形复杂结构。

2022-03-17 17:55:54 2136

原创 npm install npm -g升级版本报错cb.apply is not a function的解决方案

解决方案找一个非正式项目,利用yarn 安装一个非全局的,然后把node_modules中的npm目录复制到原有地址覆盖npm目录。yarn add [email protected] -D

2022-03-01 11:18:21 1501

原创 关于v-ant-ref作用

ant-design中表示将当前组件映射进data里面的某个值,以便后期调用。 <a-input v-ant-ref="c => searchInput = c" :placeholder="`搜索 ${column.dataIndex}`" :value="selectedKeys[0]" style="width: 188px; margin-bottom: 8px; display: block;" @change="e =>

2022-02-28 16:43:38 828 1

原创 Node利用@michaelray/style-xlsx生成带样式的复杂excel

这里写自定义目录标题安装插件使用方案安装插件npm i @michaelray/style-xlsx使用方案引入依赖包const xlsx = require('@michaelray/style-xlsx');const fs = require('fs');相关代码 let headerStyle = { font: { name : 'Microsoft YaHei', bold : true, color: { rgb: '000000'

2022-02-25 16:37:09 1054 2

原创 vue-viewer(vue图片播放器)事件强化版

https://www.npmjs.com/package/@michaelray/vue-viewer支持16个事件main.jsimport VViewer from "@michaelray/vue-viewer";Vue.use(VViewer);demo<template> <div id="app"> <v-viewer ref="viewer" :options="options" :images="images" cl

2021-06-20 13:54:49 675

原创 Vue3使用ant-desigin

yarn add [email protected] add --save less less-loaderimport { createApp } from "vue";import App from "./App.vue";+import Antd from 'ant-design-vue';+import 'ant-design-vue/dist/antd.css'+const app = createApp(App);+app.use(Antd);+app.mo

2021-05-15 14:55:48 315

原创 vue 3.x - 安装scss/sass

npm安装npm install -D sass-loader node-sassyarn安装yarn add --dev sass-loader node-sass

2021-05-15 10:50:53 1046

原创 宝塔服务器介入微信公众号,不响应回复,没有任何报错

今天排查了很久,自己没动过代码。而且测试号,可以正常回复。最后根据经验,可能是请求被拦截了。怎么会突然被拦截了,也没发违规内容。后来发现是这个在搞鬼,腾讯的接口可能是随机动态分配的IP,今天您用的时候可能在国内,过一段时间可能被分配到国外。如果你用了宝塔服务器管理,看一下防火墙这一项是否被打开,腾讯有些服务应该部署不在大陆,如果拦截了,您的公众号就会不响应。...

2021-05-13 19:30:24 906

原创 react17+ts如何配置解析根目录

项目根目录增加tsconfig.json文件,注意配置baseUrl配置之前配置之后

2021-05-08 13:32:23 484

转载 “行业毒瘤”低代码

近段时间,低代码在市场中获得了前所未有的热度,很多投资机构都做了相关的分析与预测。Gartner 预测:到 2025 年,70% 的新应用将由低代码 / 无代码技术完成开发。那么,低代码真的是新风口吗?它真的可以提升效率吗?带着这些问题,InfoQ 采访了 ThoughtWorks 中国区 CTO 徐昊,他表示低代码不是一个新概念,现在也不是低代码第一次引发业界讨论,以降低程序员门槛为目的的低代码从底层逻辑上就是不通的,这类低代码不是风口,而是行业毒瘤。低代码并不是新概念,每隔几年就会重新流行.

2021-05-03 12:13:53 195

原创 加班是一种文化?

  我不认同加班是一种“文化”。加班就是加班,是由于工作没有完成导致的。在一个项目和人力都很稳定的团队中,有两种原因会导致加班。一种是糟糕的项目管理,领导失职,没有安排好工作。第二种是员工能力不够,效率不高,没有按时完成目标。在这两种情况下,我都建议您跟领导去沟通,我时常听人抱怨说,团队有加班的氛围,他早早完成了工作,可是看见大家下班后还待在座位上(尤其是领导还在),就不好意思自己一个人下班,只好留下来“陪加班”。甚至,因为长期在这种环境下工作,有人认为领导在升职加薪的时候优先考虑爱加班的人,所以白天就..

2021-05-01 11:32:56 325

原创 时间管理四象限

  在我刚毕业时候,记得一个领导就跟我说过,如果您平时没有做重要的事情,就会发现自己常常在做紧急的事情。如果您平时没有注意锻炼身体和保养身体,后面就会常常去医院,花费更多时间和金钱。如果没有培养后辈,为每个项目设置接班人,就会常常需要到处救火。如果您没有配置好版本管理系统就开始工作,就会浪费更多时间去找回丢失的代码。如果偷懒硬编码(hard code)了一些变量在代码中,后续一定会花费更多时间去调试。  时间管理四象限将我们平时需要做的事情分为4类:重要而且紧急、重要但不紧急、不重要但紧急、不重要而且不

2021-05-01 11:05:16 2023

原创 vue3+ts+jsx之后的父子组件通讯

父组件中方式1:在setup中直接return JSX模板import { withModifiers,computed, defineComponent, reactive, ref, watchEffect } from "vue";import HelloWorld from "./components/HelloWorld/HelloWorld";export default defineComponent({ "name": "App", /** * vue3 新增加

2021-04-22 23:10:57 1816 2

转载 选择 Object 还是 Map

对于多数 Web 开发任务来说,选择 Object 还是 Map 只是个人偏好问题,影响不大。不过,对于在乎内存和性能的开发者来说,对象和映射之间确实存在显著的差别。1. 内存占用Object 和 Map 的工程级实现在不同浏览器间存在明显差异,但存储单个键/值对所占用的内存数量都会随键的数量线性增加。批量添加或删除键/值对则取决于各浏览器对该类型内存分配的工程实现。不同浏览器的情况不同,但给定固定大小的内存, Map 大约可以比 Object 多存储 50%的键/值对。2. 插入性能

2021-04-22 18:06:20 180

原创 gitk中文乱码

git config --global gui.encoding utf-8

2021-04-07 12:04:43 118

原创 清除多行字符串中的缩进

在制作脚手架过程中,会经常给出多行字符串提示,但是这些字符串默认会有很多缩进,影响美观。所以通过此包进行清除。npm i@michaelray/dedent -D使用方法import dedent from "dedent";function usageExample() { const first = dedent`A string that gets so long you need to break it over mu...

2021-03-28 23:27:12 439

原创 利用chrome控制台远程调试node

第一步:安装SocketLogServer首先,请在chrome浏览器上安装好插件。谷歌商店搜索“SocketLog”。 安装服务端npm install -g socket-log-server-mr 运行命令socket-log-server即可启动服务。 将会在本地起一个websocket服务 ,监听端口是1229 。第二步:安装node-chrome-debuggerHow to usenpm install -D node-chrome-debuggerDe...

2021-03-25 10:11:31 360

原创 golang中使用select进行调度

说白一点就是谁来的快收谁。通常情况,接收和发送必须成对出现,否则会阻塞。如果select配合default则不会阻塞。func main() { var c1, c2 chan int select { case n := <-c1: fmt.Println("Received from c1:", n) case n := <-c2: fmt.Println("Received from c2:", n) default: fmt.Println("No val

2021-03-24 14:57:51 112

原创 通过pm2部署nuxt

先了解一下原始命令node node_modules/nuxt/bin/nuxt.js # dev模式node node_modules/nuxt/bin/nuxt.js start # 线上模式言归正传根目录创建pm2.json{ "apps": [ { "name": "NuxtAPP", "script": "node_modules/nuxt/bin/nuxt.js", .

2021-03-24 13:13:14 479

原创 IT公司基本运营流程

2021-03-24 13:06:32 900

原创 前端架构为什么推荐用Node做一个中间层

首先跳出前端要看清node中间层在整个服务承担什么角色,首先我们要跳出前端的视野,把自己视角提示一个level —— 去鸟瞰整个项目。互联网时代其实就是信息时代,我们都是在利用数据交换,来产生价值。一个最简单的数据流,前端-->后端-->数据库。在这个原始的流程之间,我们有很多事情可以做。来看和前端最近这条线,前端-->后端。代理 缓存 限流 日志 监控 鉴权 路由 灰度 ...上面列出的是一些我们一个服务除了前端的展示,service端的网络服务,A

2021-03-18 09:51:16 1376

原创 如何通过五行理论分析公司可能成功还是失败

  前文已经发布过(企业发展中的五行相生相克关系)。  我从事企业WEB系统开发以及架构设计工作近二十年,企业体是我熟悉的另一种“系统”。在进行架构设计工作时,首先得对企业商务进行系统分析,有趣的是企业内部的职能也是五个元素:生产、销售、人力资源、研发和财务,我们常称之为产、销、人、发、财。同样的,也可以就企业的这五个职能,进行五行的分析。  就这五个企业职能整理出来的五行图。起步时只要有人才(木)就可以开始从事代理销售(火)工作,销售即能开始赚钱(土),赚了钱再投入开发产品(金),有了产品再投入生

2021-03-14 11:32:22 175

原创 高并发情况下锁引发的故障

故障现象:某应用服务器不定时地因为响应超时而报警,但是很快又超时解除,恢复正常,如此反复,让运维人员非常苦恼。原因分析:程序中某个单例对象(singleton object)中多处使用了 synchronized(this),由于this对象只有一个,所有的并发请求都要排队获得这唯一的一把锁。一般情况下,都是一些简单操作,获得锁,迅速完成操作,释放锁,不会引起线程排队。但是某个需要远程调用的操作也被加了 synchronized(this),这个操作只是偶尔会被执行,但是每次执行都需要较长的时间才能完成

2021-03-14 10:39:06 344

原创 不规范的流程引发的故障

故障现象:某应用发布后,数据库Load迅速飙升,超过报警值,回滚发布后报警消除。原因分析:发现该应用发布后出现大量数据库读操作,而这些数据本来应该从分布式缓存读取。检査缓存,发现数据已经被缓存了。检査代码,发现访问缓存的那行代码被注释掉了。原来工程师在开发的时候,为了测试方便,特意注释掉读取缓存的代码,结果开发完成后忘记把注释去掉,直接提交到代码库被发布到线上环境。经验教训:代码提交前使用dif命令进行代码比较,确认没有提交不该提交的代码。 加强 code review,代码在正式提交前必须被

2021-03-12 11:37:27 302

原创 不好的编程习惯引发的故障

故障现象:某应用更新某功能后,有少量用户投诉无法正常访问该功能,一点击就显示出错信息。原因分析:分析这些用户,都是第一次使用该功能,检查代码,发现程序根据历史使用记录构造一个对象,如果该对象为null,就会导致 NullPoint Exception经验教训:程序在处理一个输入的对象时,如果不能明确该对象是否为空,必须做空指针判断。 程序在调用其他方法时,输入的对象尽量保证不是null,必要时构造空对象(使用空对象模式)。...

2021-03-12 10:33:25 112

原创 去中心化应用中的CAP原则

  CAP原则又称CAP定理,指的是在一个分布式系统中, Consistency(一致性)、 Availability(可用性)、Partition tolerance(分区容错性),三者不可得兼。一致性(C):在分布式系统中的所有数据备份,在同一时刻是否同样的值。(等同于所有节点访问同一份最新的数据副本) 可用性(A):保证每个请求不管成功或者失败都有响应。 分区容忍性(P):系统中任意信息的丢失或失败不会影响系统的继续运作。  CAP理论就是说在分布式存储系统中,最多只能实现上面的两点。而由于

2021-03-11 21:52:27 124

原创 Swoole中远程断点调试(单机版)

git clonehttps://github.com/swoole/sdebug.git-b sdebug_2_9 --depth=1编译运行phpize (或者 如果phpize不在您的路径中的情况下:/path/to/phpize )phpize./configure --enable-xdebug --with-php-config=/www/server/php/71/bin/php-configmake clean && make &&...

2021-03-11 18:58:56 672

原创 TP6在开启session和GD之后仍然显示不出验证码

解决方案打开文件\vendor\topthink\think-captcha\src\Captcha.php找到170行,加入ob_clean();

2021-03-08 11:59:03 284

原创 淘宝网的架构演化分析

  2012年11月30日,淘宝(包括天猫)的当年交易额突破1万亿,这是一个可以鄙睨亚马逊和eBay的数字。而就在此前不久的2012年11月11日,淘宝更是创造了全球电子商务的奇迹,当天总交易额:191亿人民币 零点的第一分钟,1000万独立用户涌入www.tmall.con 全天访问用户总数达2亿1千3百万,占中国网民总数的40% 总成交订单数:1亿零5百万 高峰期,每分钟成交订单89678笔  所有这些绚丽的业务数字背后是淘宝多年积淀的电子商务网站架构技术。淘宝网的业务发展历程.

2021-03-07 22:45:10 2353 2

原创 架构师要学会妥协

  不要企图在项目中证明自己是正确的,一定要记住,你是来做软件的,不是来当老大的。所以不要企图去证明自己了不起,永远也别干这种浪费时间、伤害感情的事。  有个小故事:猎人进山里打猎,反而被一头黑熊抓住了,黑熊说“如果你给我XⅩ我就放你走”,猎人无奈只好给黑熊XX。回去后苦练打猎本领,再次进山,结果又被黑熊抓住,再次要求给了XX。第三次他又来了,黑熊看到他就乐了“你是来打猎的还是来给我XX的?”。    每次我在做项目迷失方向,五迷三道的时候,就会想起这个故事,提醒自己是来做软件的,来实现客户价值的,

2021-03-06 12:54:30 120 1

原创 不要混淆,扩展性和伸缩性这两种概念

  经常听到各种场合中对扩展性和伸缩性的误用,包括许多资深网站架构师也常常混淆两者,用扩展性表示伸缩性。在此,我们澄清下这两个概念。扩展性(Extensibility)  指对现有系统影响最小的情况下,系统功能可持续扩展或提升的能力。表现在系统基础设施稳定不需要经常变更,应用之间较少依赖和耦合,对需求变更可以敏捷响应。它是系统架构设计层面的开闭原则(对扩展开放,对修改关闭),架构设计考虑未来功能扩展,当系统增加新功能时,不需要对现有系统的结构和代码进行修改。伸缩性(Scalability) 

2021-03-05 11:59:40 3352

原创 架构模式在新浪微博的应用

  短短几年时间新浪微博的用户数就从零增长到数亿,明星用户的粉丝数达数千万,围绕着新浪微博正在发展一个集社交、媒体、游戏、电商等多位一体的生态系统。  同大多数网站一样,新浪微博也是从一个小网站发展起来的。简单的LAMP( Linux+ Apache+ MySQL+PHP)架构,支撑起最初的新浪微博,应用程序用PHP开发,所有的数据,包括微博、用户、关系都存储在 MySQL数据库中。  这样简单的架构无法支撑新浪微博快速发展的业务需求,随着访问用户的逐渐增加,系统不堪重负。新浪微博的架构在较短时间内

2021-03-04 11:52:08 289 3

原创 bitcoin-qt钱包发生了致命的内部错误

根据提示打开日志文件我的提示是,块数据错误。删除坏块数据,重新打开软件即可。

2020-09-23 11:43:38 1268 1

原创 uni-app开发之利用雷电模拟器调试

模拟器下载安装 地址http://www.ldmnq.com/安装完之后打开模拟器在设置里面打开开发者模式,和手机上面一样选择开发者模式OK,现在准备好了,可以开发了,是不是很简单,赶快试试吧...

2020-08-06 15:54:15 3989 3

空空如也

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

TA关注的人

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