- 博客(219)
- 收藏
- 关注
原创 react 函数组件 开发模式默认被渲染两次
这是 React 刻意为之,函数式组件应当遵从函数式编程风格,每次执行应该是无副作用的(no sideEffect),在 dev 下多次渲染组件,是为了防止开发者写出有问题的代码。
2024-05-23 17:17:42 81
原创 React-router 最佳实践
v5 和 v6 都支持的 API。这种方式的优点是路由配置和应用的其它部分是紧密集成的,这使得路由配置更加直观和易于理解。函数会替换所有的查询参数,如果你只想修改某个查询参数,你需要先获取当前的查询参数,然后修改它,然后再调用。react-router-dom 获取 params 和 query。
2024-05-23 10:16:05 76
原创 mysql 、oss 结合使用
以下是一个使用 Express、MySQL、OSS 和 axios 的 Node.js 示例。这个示例创建了一个 Express 服务器,该服务器有一个路由用于处理视频上传的请求。视频文件首先被上传到 OSS,然后视频的 OSS URL 被存储到 MySQL 数据库。的列用于存储视频的 OSS URL。最后,这个示例没有处理任何错误,实际使用时你应该添加适当的错误处理代码。替换为你的视频文件的 OSS 对象名和本地路径。替换为你的 MySQL 连接信息,将。替换为你的 OSS 配置信息,将。
2024-05-21 10:01:56 190
原创 js的函数 同步调用原则 - last in first out / 后进先出 (execution content stack /call stack )
【代码】js的函数 同步调用原则 - last in first out / 后进先出 (execution content stack /call stack )
2024-05-17 16:35:18 182
原创 Typescript 哲学 - ts模块使用最佳实践
ts的作用域 默认是全局(global),这也是为什么在 两个ts文件声明同一个变量报错变量名冲突,解决方法是使某个文件以模块的形式存在(文件顶层使用 export 、import )比如 jquery 库使用js写的,引入 jquery依赖时 全局便有了一个全局变量。语法可以在模块中添加全局声明。,这时可以声明一个 全局的 变量声明对 其访问的属性进行控制。1、(可以通过 /// 语法分割为多个文件)隔离代码的作用域范围、较好的代码组织形式。块中的内容会被视为全局声明。ts 的全局作用域的应用场景。
2024-05-13 23:40:13 209
原创 Mysql 基础 order by ,as ,limit,case,asc、desc
【代码】Mysql 基础 order by ,as ,limit,case,asc、desc。
2024-05-08 09:35:48 120
原创 http缓存 强缓存、协商缓存
强缓存之后则不需要向服务器发送请求,而是从浏览器缓存读取分为(内存缓存)| (硬盘缓存memory cache(内存缓存)内存缓存存储在浏览器内存当中,一般刷新网页的时候会发现很多内存缓存disk cache(硬盘缓存)硬盘缓存是存储在计算机硬盘中,空间大,但是读取效率比内存缓存慢当涉及到缓存机制时,强缓存优先于协商缓存。当资源的强缓存生效时,客户端可以直接从本地缓存中获取资源,而无需与服务器进行通信。强缓存的判断是通过缓存头部字段来完成的,例如设置了合适的和Expires字段。
2024-05-06 10:11:17 454
原创 K8S哲学 - 资源调度 DaemonSet
默认是滚动更新,结果是,一旦修改 yaml文件 template 里面的 内容,那么所有节点的 ds 都会更新,所以 修改为 OnDelete 模式、当 某一个 节点的 ds需要更新,就删除 改 ds ,会自动按照新的 yaml文件创建一个 ds。正常情况下,每个服务都会进行 各自的日志收集、但是因为他们不在 同一台 Node 上,导致一旦查日志就需要 调动各个 机器进行切换,不方便也不高效。所以只要 节点在 改集群内,只要 在需要的节点加上 nodeSelector 就会在该节点创建 ds。
2024-05-03 01:15:53 606
原创 K8S哲学 - statefulSet 灰度发布
获取资源及配置文件 kubectl get resource 【resourceName -o=yaml】- 指定镜像创建或者 指定文件创建。
2024-04-28 17:35:02 952 1
原创 K8S 哲学 - deployment -- kubectl【create 、 rollout 、edit、scale、set】
如图所示、滚动更新的过程是 【 增加一个新的、创建一个老的】这样一步步来的、如果在【滚动更新的过程中】再次出发更新、则之前的【更新取消】、重新走新的更新方案。第一个是 nginx1.25.5版本 、第二个是 nginx 最新版本、加 --revision 查看改变的具体位置。编辑该 deploy 的 配置文件 ,加入一个 label。修改 deploy 资源配置文件的两种方式。查看某个 deploy 的更新记录。k8s会对我们的更新历史进行记录。恢复对 replicas 的更新。改变 nginx镜像版本。
2024-04-27 20:53:45 482 2
原创 Docker 哲学 - docker save | load | export | import 及实践
当我们说 "归档文件包含了容器的所有文件,但不包含容器的元数据和配置",我们是指命令导出的 tar 归档文件包含了容器的文件系统中的所有文件,包括应用程序、库、数据等。但是,这个归档文件不包含关于容器本身的信息,例如环境变量、运行命令、网络设置等。这些信息是 Docker 在运行容器时需要的,它们定义了容器的运行环境和行为。例如,环境变量可以用于配置应用程序,运行命令定义了容器启动时要执行的命令,网络设置定义了容器的网络接口和路由。当你使用。
2024-04-22 10:01:32 830 2
原创 K8S - 哲学 Assign CPU Resources to Containers and Pods
【代码】K8S - 哲学 Assign CPU Resources to Containers and Pods。
2024-04-21 15:34:57 106
原创 Linux - sed (stream editor) && cp > bak备份 && head
替换 my.yaml 的 ‘t’ 为 ‘AAA’
2024-04-20 14:36:05 155
原创 Linux - tar (tape archive)
它最初是在 Unix 系统中用于将数据写入磁带的工具,但现在它通常用于创建、维护、修改和提取文件的归档文件。这个命令用于从 gzip 压缩的 tar 归档文件中提取文件。这个命令用于从未经压缩的 tar 归档文件中提取文件。是一种压缩文件格式,它可以将文件的大小压缩,以节省存储空间和加快文件传输。是一种归档文件格式,它可以将多个文件和目录打包成一个文件,但不进行压缩。但是,你的文件是 zip 格式的,所以应该使用。符号在这里是可选的,它不会改变命令的行为。表示从归档文件中提取文件,解压文件,然后提取文件。
2024-04-20 13:49:20 490 1
原创 Assign Memory Resources to Containers and Pods
在 Kubernetes 中,如果一个容器试图使用超过其内存限制的内存,它也会被 OOM Killer 终止。metrics-server 是 Kubernetes 的一个组件,它收集和存储集群中各个节点和 Pod 的资源使用情况数据。在 Linux 系统中,当系统内存不足时,OOM Killer(Out Of Memory Killer)会被触发,它的任务是选择并杀死一些进程以释放内存。内存限制:这是容器可以使用的最大内存量。命令用于实时显示系统中的进程和它们的资源使用情况,如 CPU 和内存。
2024-04-19 22:07:57 946
原创 K8S 哲学 - yaml文件
当 Deployment 更新 Pod 的版本时,它会创建一个新的 ReplicaSet,并逐渐增加新 ReplicaSet 的大小,同时减少旧 ReplicaSet 的大小,直到新 ReplicaSet 完全替代了旧 ReplicaSet。每个由 Deployment 或 ReplicaSet 创建的 Pod 都会带有一些标签,这些标签用于让 Deployment 或 ReplicaSet 识别它管理的 Pod。:这是 Pod 的模板,Deployment 会使用这个模板来创建新的 Pod。
2024-04-19 13:23:11 1062 3
原创 K8S哲学 - Pod、RC、RS、deployment
replicas”属性则指定了特定 Pod 的副本的数量,当前集群中该 Pod 的数量与该属性指定的值不一致时,k8s 会采取一些策路去使得当前状态满足配置的要求。一个pod可以被复制成多份,每一份可被称之为一个"副本”,这些副本-除了一些描述性的信息 (Pod的名字、uid 等)不一样以外,其它信息都是一样的,譬如Pod。内部的容器 容器数量,容器里面运行的应用等的这些信息都是一样的,这些副本提供同样的功能。一个Pod(容器组)包含了一个应用程序容器(某些情况下是多个容器)、存储资源、
2024-04-15 09:06:06 671
原创 K8S哲学 - 常见的资源类型
资源类型namespacekubectl apply 和 kubectl createkubectl apply是声明式的 和 kubectl create是命令式的对吗
2024-04-12 12:51:13 645
原创 K8S哲学 - kubectl
Kubectl is the Kubernetes cli version of a swiss army knife, and can do many things.Kubernetes coordinates a highly available cluster of computers that are connected to work as a single unitk8s production-ready. 概念kubectl 和 Kubernetes API
2024-04-09 15:52:51 467
原创 K8S哲学 - cluster
or在 Kubernetes 中,kubelet 是运行在每个节点上的一个关键组件,它负责管理该节点上的 Pods 和容器。kubelet 通过 Kubernetes API 与控制平面进行通信,获取调度到该节点的 Pods 的信息,报告节点和 Pods 的状态,以及执行控制平面发出的各种操作,如启动和停止 Pods。
2024-04-09 15:52:25 947
原创 Linux firewall
firewall-cmd --zone=public --add-port=80/tcp --permanent (--permanent永久生效,没有此参数重启后失效)查看指定接口所属区域: firewall-cmd --get-zone-of-interface=eth0。查看所有打开的端口: firewall-cmd --zone=public --list-ports。查看区域信息: firewall-cmd --get-active-zones。
2024-04-04 17:16:15 796
原创 Docker 哲学 - docker swarm
当你在 Swarm 集群中创建一个服务,并设置该服务运行 10 个副本(replicas)时,Swarm 会在集群的工作节点上启动 10 个容器。如果某个工作节点崩溃,导致运行在该节点上的两个副本停止运行,Swarm 的管理节点会检测到这个状态变化,并采取行动恢复服务的状态。这样,即使有工作节点崩溃,你的服务仍然可以保持在 10 个副本的运行状态,这就是 Swarm 的服务恢复机制。管理节点负责集群的管理任务,包括维护集群的状态,调度服务,处理加入或离开集群的节点等。swarm 下的 nginx 服务。
2024-04-04 13:36:40 483
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人