设计思想 源码 思想vue3

重读设计模式的一些方法备忘

//判断数据类型 Type = {}; for(var i=0,type;type=['String','Array','Number'][i++];){ (function(type){ Type['is'+type] = function(obj){ return Object.prototyp ......
设计模式 模式 方法

ai问答:vue3+pinia+WebSocket 封装断线重连(实战)

把socket实例 挂载到全局 为方便梳理,请忽略typescript # main.ts import {createApp} from 'vue' import App from './App.vue' import {socket} from "@/xihu/socket" import ro ......
实战 WebSocket pinia vue3 vue

列表的批量操作组件封装 + 权限 ,如何更优雅的实现呢?Vue3

这个组件解决的问题? 在以往的项目当中,我从未想过要对 批量/列表数据的操作按钮做什么变动,直到最近的一次开发,让我突然觉得可以将操作按钮也做成一个公共组件,在做前端开发时,更加专注于js代码逻辑。 如何使用? 全局(main.js中)引用操作组件 BatchOperation.vue 创建页面操作 ......
组件 权限 Vue3 Vue

ReentrantReadWriteLock源码分析

ReentrantLock是互斥锁,若存在读多写少同时保证线程安全的场景,ReentrantLock效率比较低,此时需要用到ReentrantReadWriteLock。 一、ReentrantReadWriteLock介绍 ReentrantReadWriteLock是可重入的读写锁,实现了Rea ......
ReentrantReadWriteLock 源码

ReentrantLock源码分析

一、ReentrantLock介绍 ReentrantLock是JDK1.5引入的,实现Lock接口的互斥锁。保证多线程的环境下,共享资源的原子性。与Synchronized的非公平锁不同,ReentrantLock的实现公平锁、非公平锁。ReentrantLock是重入锁,重入是指,同一个线程可以 ......
ReentrantLock 源码

java基于springboot+vue非前后端分离的学生成绩管理系统、学生信息管理系统,附源码+数据库+文档+PPT

1、项目介绍 java基于springboot+vue非前后端分离的学生成绩管理系统、学生信息管理系统。 本文首先介绍了学生成绩管理的技术发展背景与发展现状,然后遵循软件常规开发流程,首先针对系统选取适用的语言和开发平台,根据需求分析制定模块并设计数据库结构,再根据系统总体功能模块的设计绘制系统的功 ......
管理系统 学生 系统 springboot 源码

架构设计概要

架构设计的5大要素 高性能高可用:限流、降级、灾备可扩展:增加防腐层(接口适配器层)、IOC、可伸缩安全性:物理安全性、系统安全性、数据安全性 架构设计原则 合适优于业界领先 简单优于复杂 演化优于一步到位 架构设计的主要内容 搞清楚内部元素关系 元素的种类:系统、子系统、模块,组件、服务、类、接口 ......
概要 架构

设计模式总结

设计模式总结 设计模式分为三大类:创建型模式、结构型模式、行为模式 一、创建型模式 1.工厂方法 Factory Method 2.抽象工厂 Abstract Factory 3.生成器 Builder 4.原型 Prototype 5.单例 Singleleton 二、结构型模式 1.适配器 Ad ......
设计模式 模式

VueUse 是怎么封装Vue3 Provide/Inject 的?

Provide/Inject Provide 和 Inject 可以解决 Prop 逐级透传问题。注入值类型不会使注入保持响应性,但注入一个响应式对象,仍然有响应式的效果。 Provide 的问题是无法追踪数据的来源,在任意层级都能访问导致数据追踪比较困难,不知道是哪一个层级声明了这个或者不知道哪一 ......
Provide VueUse Inject Vue3 Vue

StatefulSet扩缩容源码分析

k8s v1.15.0 Informer监听 cmd/kube-controller-manager/app/apps.go 作为StatefulSet资源控制器,StatefulSetController通过PodInformer、StatefulSetInformer、PersistentVol ......
StatefulSet 源码

【Visual Leak Detector】源码调试 VLD 库

说明 使用 VLD 内存泄漏检测工具辅助开发时整理的学习笔记。本篇介绍 VLD 源码的调试。同系列文章目录可见 《内存泄漏检测工具》目录 1. VLD 库源码调试步骤 以 vld2.5.1 版本为例,下载源码 后,源码包中各文件的用途可看本人另一篇博客 【VLD】源码文件概览。使用 VLD 进行泄漏 ......
源码 Detector Visual Leak VLD

Deploy扩缩容源码分析

k8s v1.15.0 Informer监听 作为Deployment资源控制器,DeploymentController通过DeploymentInformer、ReplicaSetInformer、PodInformer来监听事件。 cmd/kube-controller-manager/app ......
源码 Deploy

Linux驱动开发笔记(一):helloworld驱动源码编写、makefile编写以及驱动编译基本流程

前言 基于linux的驱动开发学习笔记,本篇是描述了一个字符驱动的基础开发流程,以便做嵌入式开发多年的应用或者系统学习驱动开发。 笔者自身情况 笔者拥有硬件基础,单片机软硬基础,linux系统基础等各种,就是没有linux驱动框架基础,未做过linux系统移植和驱动移植开发了。所以补完linux系统 ......
helloworld 源码 makefile 流程 笔记

原型设计工具比较及实践

#一:原型设计工具比较: ##1.墨刀 适用领域 墨刀是一款打通产设研团队,实现原型,设计,流程,思维导图一体化的在线协同工具。从记录想法的思维导图开始,到原型绘制,设计产出,流程图记录进程,产生的文件墨刀都能一站管理,作品之间能够互相导入导出,满足多样化的场景需求。 优点 可以进行云端操作及网页分 ......
原型 工具

Python flask成绩管理系统(课设、毕设、学习、源码下载)

Python flask成绩管理系统 后端:Python flask 数据库:MySQL 前端:html css js bootstrap等 涉及功能: 登录,登出,搜索,分类,排序,成绩管理,学生管理,班级管理,课程管理,数据统计分析,可视化图表 源码下载和功能展示: 链接:https://pan ......

Vite-WeGPT聊天AI实例|vue3+pinia仿ChatGPT聊天界面

基于vue3.x+vite4+pinia2仿chatgpt聊天模拟实例Vue3-WeGPT。 基于Vite4.x+Vue3+Pinia2+VEPlus+Vue3-Markdown等技术实现仿ChatGPT聊天AI界面实例。整体界面简洁清新、支持2种界面布局、暗黑+亮色模式、全屏+半屏展示、Markd ......
Vite-WeGPT 实例 界面 ChatGPT WeGPT

您在飞行程序设计时使用哪种软件?

最近填了一份调查问卷,里面提到飞行程序设计时所使用的软件,除了CAD之外,我很想说我用自己写的插件。 我用自己写的插件,并不是因为这个插件有多么完美,而是因为,通过插件的开发,可以实现个人经验的积累,在可控的精准度下,提高工作效率,并尝试更多的可能性。 苏世民《我的经验与教训》中提到“做大事和做小事 ......
程序设计 程序 软件

java基于ssm+vue的旅游管理系统、旅游资源网站、旅游网站管理系统,附源码+数据库+文档+PPT,适合毕业设计

1、项目介绍 旅游资源网站的主要使用者分为管理员和用户,实现功能包括管理员:首页、个人中心、用户管理、景点信息管理、购票信息管理、酒店信息管理、客房类型管理、客房信息管理、客房预订管理、交流论坛、系统管理,用户:首页、个人中心、购票信息管理、客房预订管理、我的收藏管理,前台首页;首页、景点信息、酒店 ......

Vue.js设计与实现 第一章

一,框架设计概览 1. 权衡的艺术 1.1 命令式和声明式 命令式框架的一大特点就是关注过程 . 自然语言描述能够与代码产生一一对应的关系,代码本身描述的是"做事的过程", 这符合我们的逻辑直觉。 声明式框架更加关注结果. 1.2 性能与可维护的权衡 1.3 虚拟 DOM 的性能如何 1.4 运行时 ......
Vue js

vue3源码-三、ref和toRefs的实现

实现Ref ref的本质就是通过类属性访问器来实现,可以将一个普通值类型进行包装 import { hasChanged, isObject } from "@vue/shared"; import { track, trigger } from "./effect"; import { Track ......
源码 toRefs vue3 vue ref

LinkedList底层结构和源码

LinkedList底层结构和源码 LinkedList的全面说明 LinkedList底层实现了双向链表和双端队列特点 可以添加任意元素(元素可以重复,包括null) 线程不安全,没有实现同步 LinkedList的底层操作机制 LinkedList底层维护了一个双向链表 LinkedList中维 ......
底层 LinkedList 源码 结构

ArrayList底层结构和源码分析

ArrayList底层结构和源码分析 ArrayList的底层操作机制源码分析 ArrayList中维护了一个Object类型的数组elementData transient Obiect[] elementData; //transient是瞬间短暂的,表示被它修饰的属性不被序列化 当创建Arra ......
底层 ArrayList 源码 结构

Mybatis设计模式

创建型 建造者模式,工厂模式 我们在单独Mybatis框架执行SQL语句的时候,需要获得SqlSession实例来直接执行已映射的 SQL 语句,在获得SqlSession实例的过程中,就使用了建造者模式和工厂模式。我们来看看一下调用过程: 1 String resource = "org/myba ......
设计模式 Mybatis 模式

RocketMQ之消息发送源码分析

一、概述 负责生产消息,一般由业务系统负责生产消息。一个消息生产者会把业务应用系统里产生的消息发送到broker服务器。 RocketMQ支持三种消息发送方式: 同步消息发送(sync):当Producer发送消息到Broker时会同步等待消息处理结果; 异步消息发送(async):当Produce ......
源码 RocketMQ 消息

RocketMQ之消息接收源码分析

一、概述 对于任何一款消息中间件而言,消费者客户端一般有两种方式从消息中间件获取消息并消费: Push方式:由消息中间件(MQ消息服务器代理)主动地将消息推送给消费者;采用Push方式,可以尽可能实时地将消息发送给消费者进行消费。但是,在消费者的处理消息的能力较弱的时候(比如,消费者端的业务系统处理 ......
源码 RocketMQ 消息

前端配置化表单组件设计方法

前端开发中涉及表单的页面非常多,看似功能简单,开发快速,实则占去了很大一部分时间。当某个表单包含元素过多时还会导致html代码过多,vue文件过大。从而不容易查找、修改和维护。为了提高开发效率及降低维护成本,下面介绍表单配置化组件的封装原理与封装方法。 ......
表单 前端 组件 方法

用go设计开发一个自己的轻量级登录库/框架吧

用go设计开发一个自己的轻量级登录库/框架吧 几乎每个项目都会有登录,退出等用户功能,而登录又不单仅仅是登录,我们要考虑很多东西。 token该怎么生成?生成什么样的? 是在Cookie存token还是请求头存token?读取的时候怎么读取? 允许同一个账号被多次登录吗?多次登录他们的token是一 ......
轻量 轻量级 设计开发 框架

vite vue3 EsLint配置

1、安装ESLint npm i -D eslint 2、初始化配置EsLint npx eslint --init 2-1、选择模式 2-2、选择语言模块 2-3、选择语言框架 2-4、是否使用ts 2-5、代码在哪里运行 2-6、选择一个风格 2-7、你想遵循哪一种风格指南 2-8、希望配置文件 ......
EsLint vite vue3 vue

聊聊怎样快速去阅读JDK源码?

1. 前言 之前断断续续读过一部分 JDK 常用类的源码,这里想把过程中的一些心得和方法记录下来,如果能帮到需要的小伙伴就再好不过了! 本文主要分享一下我的阅读工具和阅读顺序。 PS: 由于当前主流使用的 JDK 版本仍是 1.8,因此源码阅读主要是 1.8 版本,有些地方可以参考 1.7。 2. ......
源码 JDK