自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(132)
  • 资源 (1)
  • 收藏
  • 关注

原创 【BULL中文文档】用于在 NodeJS 中处理分布式作业和消息的队列包

Bull 是一个 Node 库,它基于redis实现了一个快速、健壮的队列系统。

2022-06-08 21:48:07 3518 1

原创 【深入浅出 Node + React 的微服务项目】18. Event Flow

文章目录Orders Service Events创建 Events实现 PublishersPublishing Order Creation EventPublishing Order Cancellation Event测试 Event PublishingOrders Service Events⬆ back to top创建 Events// common/src/events/order-created-event.tsimport { Subjects } from './su

2022-04-17 16:52:13 1146

原创 【深入浅出 Node + React 的微服务项目】17. 从0到1新增 Order 服务

从0到1新增 Order 服务The Orders Service服务功能auth所有事情都需要对 user 的 signup/signin/signout 进行依赖ticketsTicket 创建和编辑 并且知道是否能更新ordersOrder 创建和编辑expiration监视要创建的订单,15 分钟后取消它们spayments处理付款,如果付款失败取消订单,如果付款成功则完成⬆ back to top流程化生产 Orders S

2022-04-17 16:29:15 679

原创 【深入浅出 Node + React 的微服务项目】16. 对 NATS Client 进行管理

文章目录发布 TicketCreate将 NATS Client 独立出来回顾 mongoose 的实现nats client 独立的实现访问 NATS Client优雅的关闭成功监听Ticket Update PublishingEvent Publishing 失败的情况解决 Publishing 的 Failure改造测试环节import 的重定向Mock 一个 Fake NATS Clienttest setup 的时候优先测试确保 mock 被调用和传参更改 NATS 的 Env 变量发布 Ti

2022-04-16 18:47:21 1067

原创 【深入浅出 Node + React 的微服务项目】15.连接 NATS

连接 NATS文章目录连接 NATS可复用的 NATS ListenerListener 的 Abstract Class继承 Listener 类重构 Listener 代码使用 TypeScript 进行 Listener ValidationSubjects 的枚举TicketCreatedEvent 的 interface强制 Listener 应用自定义的 Event 和 Event 内部的参数Quick Note: 'readonly' in Typescript在 Create Listen

2022-04-16 14:57:23 1114

原创 【深入浅出 Node + React 的微服务项目】14. NATS Streaming Server

文章目录现在该做什么NATS Streaming Server 介绍创建 NATS Streaming 的 DeploymentNATS Streaming 的工作流程创建一个 NATS 测试项目连接到 NATS Pod 的几种方式Publishing EventsListening For Data访问 Events 的 Data生成 Client IDQueue Groups手动开启 Ack Mode查看 Client 的健康状态优雅的关闭 Client[很重要]并发遇到的问题[很重要]-常见问题[很重

2022-04-16 12:41:14 744

原创 【深入浅出 Node + React 的微服务项目】13. CRUD & Test server

CRUD & Test server文章目录CRUD & Test serverTicketing ServiceProject SetupRunning the Ticket ServiceMongo Connection URIAuth 服务同样修改 MONGO_URI 配置先写 test 再写业务代码的习惯创建 Router增加单个微服务的 Auth 认证机制在测试期间伪造身份验证Building a Session测试无效请求Title 和 Price 的验证用 TypeScrip

2022-04-15 10:57:02 795

原创 【深入浅出 Node + React 的微服务项目】12. 多服务中的代码共享

多服务中的代码共享文章目录多服务中的代码共享在各个服务中共享代码逻辑代码共享能想到的 Options创建 NPM organizationPublishing NPM ModulesTS 转 JS 设置简单的 Publish 命令删掉之前项目的相同 lib更新 import 参数更新 shared lib在各个服务中共享代码逻辑在 Step #7 和 Step #9 中,Auth 认证、request 相关的中间件 和 Error & Error handler这些不仅是 Auth 服务会

2022-04-14 15:24:02 358

原创 【深入浅出 Node + React 的微服务项目】11. 集成服务器端渲染的 React APP

集成服务器端渲染的 React APP文章目录集成服务器端渲染的 React APPStarting the React App客户端渲染和服务端渲染Next JS 基础知识构建 Next 镜像在 Kubernetes 中运行 Next文件更改检测添加全局 CSS新增注册的表单处理 Email 和 Password 输入Successful Account Signup处理登录 ErrorsThe useRequest Hook使用 useRequest Hook新增 onSuccess Callback

2022-04-14 09:45:35 333

原创 【深入浅出 Node + React 的微服务项目】10. 测试独立的微服务

10. 测试独立的微服务文章目录10. 测试独立的微服务需要测试的范围需要测试的目标进行测试的架构重构项目的 index将会用到的一些依赖测试环境配置第一个测试 测试登录测试无效输入email 需要是唯一的在测试期间更改节点环境测试登录登出测试测试时遇到的 cookie 不好传递的问题认证测试的解决Auth Helper Function测试没认证的需要测试的范围测试的范围是哪些?Example单独测试一段代码独立的 middleware测试不同的代码片段如何协同工作从多

2022-04-12 17:10:23 847

原创 【深入浅出 Node + React 的微服务项目】9. 身份认证

文章目录身份认证身份认证身份验证策略存在的问题选择哪个 Option?解决 Option #2 存在的问题回顾 Cookies 和 JWT's 区别在 微服务 中 Auth 认证的一些细节JWT 在 SSR 中遇到的问题Cookie 和 加密cookie-session 和 express-session 的区别添加 Cookie-Session生成 a JWTJWT Signing Keys使用 Kubernetes 安全地存储 secret创建和访问 Secrets访问 Pod 中的环境变量通用的 Re

2022-04-12 10:31:58 639

原创 【深入浅出 Node + React 的微服务项目】8. 引入 MongoDB

引入 MongoDB本文格式是针对 github 的 Markdown,所以目录链接 和 代码链接打不开你可以点击这里查看本文的 Github README 项目链接也是这个哦目录引入 MongoDB目录在 K8S 中创建 MongoDB连接到 MongoDB用户登录的工作流让 TypeScript 和 Mongoose 搭配创建 User Model用户属性的类型检查给 Model 增加静态属性约束 User Document 中的属性model 的泛型是什么意思

2022-04-09 10:41:44 995

原创 【深入浅出 Node + React 的微服务项目】7. 响应一致化策略

响应一致化策略本文格式是针对 github 的 Markdown,所以目录链接 和 代码链接打不开你可以点击这里查看本文的 Github README 项目链接也是这个哦目录响应一致化策略目录创建路由处理引入更多的路由增加验证认证错误的处理统一不同类型微服务的错误信息其他的错误来源Error-处理的解决方案创建一个-Error-处理的-middleware向错误处理程序传达更多信息定义并处理更多-Error-信息自定义错误-Custom-Errors-的子类化及子

2022-04-08 20:13:59 430

原创 【深入浅出 Node + React 的微服务项目】5.多服务应用的架构设计

【深入浅出 Node + React 的微服务项目】本文格式是针对 github 的 Markdown,所以目录链接 和 代码链接打不开你可以点击这里查看本文的 Github README 项目链接也是这个哦多服务应用的架构设计目录多服务应用的架构设计目录上一个项目遗留问题和解决方式Ticketing App Overview数据资源 变量 字段 类型 定义Service 类型事件和架构设计创建 Auth ServiceAuth K8s Setup添加 Skaffol

2022-04-08 15:27:42 418

原创 【深入浅出 Node + React 的微服务项目】3.使用 Docker 运行服务

使用 Docker 运行服务本文格式是针对 github 的 Markdown,所以目录链接 和 代码链接打不开你可以点击这里查看本文的 Github README 项目链接也是这个哦目录使用 Docker 运行服务目录部署中的一些问题Why Docker?Why Kubernetes?Dockerizing the Posts ServiceDocker 的一些基础命令Dockering Other Services部署中的一些问题在之前的项目中,我们部署都是

2022-04-08 13:34:27 827

原创 【深入浅出 Node + React 的微服务项目】4.使用 Kubernetes 部署服务

【深入浅出 Node + React 的微服务项目】使用 Kubernetes 部署服务本文格式是针对 github 的 Markdown,所以目录链接 和 代码链接打不开你可以点击这里查看本文的 Github README 项目链接也是这个哦目录第四步: 使用 Kubernetes 部署服务目录安装 KubernetesKubernetes 介绍编写 Ingress 配置文件安装 Kubernetes在 Linux / CentOS 下,需要使用 miniku

2022-04-04 17:29:34 236 2

原创 【Kubernetes】解决 ingress-srv.yaml 报错 failed calling webhook “validate.nginx.ingress.kubernetes.io“

问题场景在编写 Kubernetes 的 ingress controller 入口控制器的配置文件的时候kubectl apply -f ingress-srv.yaml报了几个错no matches for kind “Ingress” in version “networking.k8s.io/v1beta1”APIVersion 改成 v1 过后,pathType 又不对了超级头痛的 ingress 内部访问错误👇🏻Error from server (Interna

2022-04-03 17:37:40 8121 4

原创 【深入浅出 Node + React 的微服务项目】2.尝试做一个迷你微服务APP

【深入浅出 Node + React 的微服务项目】尝试做一个迷你微服务APP本文格式是针对 github 的 Markdown,所以目录链接 和 代码链接打不开你可以点击这里查看本文的 Github README 项目链接也是这个哦目录第二步: 尝试做一个迷你微服务APP目录App 介绍搭建项目创建 Posts Service测试 Posts Service创建 Comments Service测试 Comments Service创建 React 前端APP创建

2022-03-22 20:11:22 805

原创 【深入浅出 Node + React 的微服务项目】1.微服务的基本知识

微服务的基本知识目录第一步: 微服务的基本知识目录什么是微服务数据在微服务中怎样传递数据传输遇到的问题服务间的同步交流异步: 各服务基于 event 交流异步: 存取数据的方式异步交流中的优缺点什么是微服务一个单块服务(monolith server)包含:Routing 路由Middleware 中间件Business Logic 业务逻辑Database access to implement all features of our app 服务于所有服务的数

2022-03-10 16:37:16 1426

原创 记录一次完全删除前司钉子进程app的案例

记录一次完全删除钉子进程的案例➜ ~ cd /opt/didi/lca/bin/➜ bin lsLCAService client.key lcanetaccess.app localhost.keyca-cert.crt coreservicenet lcasensor server-key.pemca-key.pem lcaagent lcaupdater server-publi

2021-11-07 14:03:16 819 8

原创 【LeetCode】回溯算法专题讲解

文章目录回溯算法系列[17\. 电话号码的字母组合](https://leetcode-cn.com/problems/letter-combinations-of-a-phone-number/)Solution[22\. 括号生成](https://leetcode-cn.com/problems/generate-parentheses/)Solution[39\. 组合总和](https://leetcode-cn.com/problems/combination-sum/)Solution[40\

2021-10-10 23:24:01 161

原创 解决Mac平台下移动硬盘无法识别且急救失效问题

sudo lsof | grep disk3s1 —disk3s1为磁盘工具里你挂载的移动硬盘名称sudo pkill -f fsck_exfa —fsck_exfa终端显示所占用的线程名称回到磁盘工具中执行急救程序

2021-09-30 19:14:24 2232

原创 【前端开发日常记录】002.设计一个固定在页面上的提示框

功能及缺陷描述贴在页面右侧缺陷提醒:zIndex、不支持点击隐藏(以后优化,比如点击折叠成一个问号贴在页面旁边避免占位置,部分强迫症要气死)、形状做的尽力了部分技术点总结在HTML中实现两个div并排显示(1)设置为行内样式,display:inline-block(2)设置float浮动(3)设置position定位属性为absoluteborder-radius:从左上顺时针切割antd的Affix组件可实现固定代码<Affix offsetTop=.

2021-06-29 14:14:03 243

原创 【前端日常开发记录】001.搜索指定数据项

虽然这是一个很简单的小需求,但是里面能带给你一些算法对于开发中的好处。从Redux里面取出你的数据/** * useSelector * 作用:共享状态,从Redux的store中提取数据(state) * 例子:const num=useSelector(state=>state.num) */const { yourData } = useSelector(({ root, xxList }: any) => ({ ...root, ...xxList }));初.

2021-06-25 14:54:21 94

转载 【面筋烧烤手册】操作系统

文章目录1、进程和线程以及它们的区别2、进程间的通信的几种方式3、线程同步的方式4、什么是死锁?死锁产生的条件?1). 死锁的概念2). 死锁产生的四个必要条件3). 死锁的处理基本策略和常用方法(1). 死锁预防(2). 死锁避免的基本思想(3). 死锁解除5、进程有哪几种状态?6、线程有几种状态?7、分页和分段有什么区别(内存管理)?8、操作系统中进程调度策略有哪几种?9、说一说进程同步有哪几种机制10、什么是虚拟内存?1).内存的发展历程2).虚拟内存3). 页面置换算法4). 虚拟内存的应用与优点1

2021-05-23 09:32:45 124

转载 【寿司烹饪手册】字节跳动的一道OO题

很有必要记录,之前从来没遇到过,考察OO思想和思维加油实现五子棋

2021-04-26 22:29:23 79

原创 【面筋烧烤手册】This

全局环境下的this这种情况相对简单直接,函数在浏览器全局环境中被简单调用,非严格模式下this指向window; 在use strict指明严格模式的情况下就是undefined:function f1 () { console.log(this)}function f2 () { 'use strict' console.log(this)}f1() // windowf2() // undefinedconst foo = { bar: 10,

2021-04-20 12:02:27 127

原创 【面筋烧烤手册】Closure

什么是closure能够访问另一个函数作用域变量的函数,closure也就是函数,只不过是声明在其他函数内部而已function getOuter(){ var count = 0 function getCount(num){ count += num console.log(count) //访问外部的date } return getCount //外部函数返回}var myfunc = getOuter()myfunc(1) // 1myfunc(2)

2021-04-02 16:50:42 92

原创 【MVVM】Vue的响应式原理

文章目录MVVM响应式原理数据响应式双向绑定数据驱动是 Vue 最独特的特性之一2.x的响应式3.x的响应式发布订阅者模式观察者模式Vue响应式原理VueObserverCompilerDepWatcherVue功能ObserverDepwatcherMVVM在开始之前我们还是复习一下MVVM吧Model层 通过ajax等api完成服务端到客户端model的同步,View层 动态视图模板,展示的是VM的数据和状态,不处理状态,做的只是数据绑定的声明、指令的声明、事件绑定的声明VM层 把View.

2021-04-02 13:11:09 622

原创 【寿司烹饪手册】20210401笔试(Tencent)

1. 给定数组如下,请根据数组元素的 age 字段对数组排序,多种实现方式可加分。 (10 分)var a = [ { name: "大毛", age: 23 }, { name: "二毛", age: 34 }, { name: "三毛", age: 12 },];方法一:对象变二维数组排序,再数组变对象function sortPlus(arr) { let brr = []; for(let i of arr) { brr.push([i.age, i.na

2021-04-01 19:57:18 214

原创 【力扣料理手册】链表专题

基本操作初始化interface ListNode<T> { data: T; next: ListNode<T>;}插入插入只需要考虑要插入位置前驱节点和后继节点(双向链表的情况下需要更新后继节点)即可,其他节点不受影响因此在给定指针的情况下插入的操作时间复杂度为O(1)。这里给定指针中的指针指的是插入位置的前驱节点。temp = 待插入位置的前驱节点.next待插入位置的前驱节点.next = 待插入指针待插入指针.next = temp删

2021-03-31 20:00:39 143

原创 【PlantAPP】组件说明书 Components README

Theme 主题设置一句话概括在项目常量包装层,theme负责样式(color,size,font)这些以数字表达的常量进行封装怎么封装?Block 样式预定义(用于优化RN的原生组件样式)一句话概括Block提供可选的animated动画view样式的包装呈现(基于React Native的stylesheet view animated库)。怎么包装?通过StyleSheet.create创建样式表white 列 里面参数 行const styles:IProps = Styl

2021-03-28 00:25:15 137

原创 【面筋烧烤手册】20210326

一、前端加载优化相关首屏时间首次可交互时间首次有意义内容渲染时间只请求当前需要的资源异步加载懒加载polyfill 比如Array.flat方法的往前面的语法版本转义(polyfill url-builder)缩减资源体积打包压缩 webpack 4gzip on打开 1.2M-300k图片格式的优化,分辨率和设备适配(根据屏幕分辨率展示不同分辨率的图片),压缩(tinypng),webp的图片尽量控制cookie大小 request header, cookie时序优化

2021-03-27 23:27:00 301

原创 【面筋烧烤手册】20200323

1.【热身题】工作中解决过的比较困难的问题,谈一下项目中比较有亮点的地方2.浏览器的事件循环在一个整体的宏任务执行一遍过后,会把中途碰到的微任务添加到队列里面去,宏任务完成后会在微任务队列里面执行微任务,微任务里面又碰到再去执行,最后执行下一个宏任务。2.1为什么js在浏览器中有事件循环的机制JS单线程的event loop2.2两种任务宏任务:整体代码,setTimeout,setInterval,IO操作微任务:new Promise().then2.3为什么要引入微任务的概率

2021-03-24 01:00:01 87

原创 【网络安全】CSRF同样能携带缓存中的Token,那怎么实现的防CSRF

Token原理和作用①:token和cookie一样都是首次登陆时,由服务器下发,都是当交互时进行验证的功能,作用都是为无状态的HTTP提供的持久机制。②:token存在哪儿都行,localstorage或者cookie。③:token和cookie举例,token就是说你告诉我你是谁就可以。cookie 举例:服务员看你的身份证,给你一个编号,以后,进行任何操作,都出示编号后服务员去看查你是谁。token 举例:直接给服务员看自己身份证④:对于token而言,服务器不需要去查看你是谁,不需要

2021-03-15 23:36:33 386 2

原创 【面筋烧烤手册】20210305

1.HTTP和HTTPS加密TLS/SSL 安全层认证时间长性能不好443 802.301和302,怎么判断500永久性重定向、临时性,都可以改post500 head options3.跨域CORS 服务器JSONP正向代理 反向代理4.闭包函数嵌套自执行函数保存变量、保护变量防止污染垃圾回收、内存5.垂直居中flex绝对定位6.自适应rem7.node接触过吗8.mvvmmodel view9.vue单向数据流props,怎么

2021-03-13 17:43:01 89

原创 【面筋烧烤手册】20210312

CSSBFC的理解position的值两种盒子模型box-sizing的值动画animation、transition、transform、translatetransition元素从这个属性(color)的某个值(red)过渡到这个属性(color)的另外一个值(green),这是一个状态的转变,需要一种条件来触发这种转变,比如我们平时用到的:hoever、:focus、:checked、媒体查询或者JavaScript。需要事件触发,所以没法在网页加载时自动发生是一次性的,

2021-03-13 16:09:11 89

原创 【CSS】Grid布局

CSS Grid(网格)布局,它将网页划分成一个个网格,可以任意组合不同的网格,做出各种各样的布局(类似我们的excel)。(下面会写很多代码)首先,你必须使用display:grid/inline-grid将容器元素定义为一个 grid(网格) 布局然后用gird-template-columns和gird-template-rows设置列和行的尺寸,也可以用grid-template-areas(上面两个代码的简写)来设置列和行。然后通过grid-row-start、grid-row-e.

2021-03-12 23:36:36 78

原创 【面筋烧烤手册】20210301

1.CSS优先级<body> <div class="lightblue"> <div class="darkblue"> <p>我是darkblue</p> </div> </div> <div class="darkblue"> <div class="lightblue">

2021-03-02 12:09:34 159

原创 【CSS】组件中怎么对css进行处理的

组件中怎么对css进行处理的1.提供选项2.函数传参式3.4.

2021-03-01 11:45:23 128

ID_code_1.zip

基于tesseract的验证码识别,首先实现验证码的批量爬取,然后实现图像处理,用tesserocr进行识别。

2019-08-03

空空如也

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

TA关注的人

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