Terraform 系列-批量创建资源时如何根据某个字段判断是否创建

这几天碰到一个情况, 使用 Terraform 批量创建日志数据源时, 有的数据源类型是 ElasticSearch, 有些是 Opensearch. 那么, 如何根据某个字段(如:`es_type`)判断是否创建?

如何开发一个小程序自定义组件

什么是小程序自定义组件? 小程序自定义组件是小程序开发中常用的一种技术,它可以将小程序中常用的UI组件封装成一个独立的组件,并在不同的页面中复用,从而提高小程序的代码可维护性和复用性。 自定义组件可以包含自定义的样式、属性、事件等,它们是一种独立的封装单元,可以在不同的页面中被重复使用。 自定义组件

浅析 SplitChunksPlugin 及代码分割的意义

起因 有同事分享webpack的代码分割,其中提到了SplitChunksPlugin,对于文档上的描述大家有着不一样的理解,所以打算探究一下。 Q:什么是 SplitChunksPlugin?SplitChunksPlugin 是用来干嘛的? A: 最初,chunks(以及内部导入的模块)是通过内

彻底理解闭包实现原理

前言 闭包对于一个长期写 Java 的开发者来说估计鲜有耳闻,我在写 Python 和 Go 之前也是没怎么了解,光这名字感觉就有点"神秘莫测",这篇文章的主要目的就是从编译器的角度来分析闭包,彻底搞懂闭包的实现原理。 函数一等公民 一门语言在实现闭包之前首先要具有的特性就是:First class

模板方法实践

前言 最近在设计一个对某个中间件的测试方案,这个测试方案需要包含不同的测试逻辑,但相同的是需要对各个环节进行记录;比如统计耗时、调用通知 API 等相同的逻辑。 如果每个测试都单独写这些逻辑那无疑是做了许多重复工作了。 基于以上的特征很容易能想到模板方法这个设计模式。 这是一种有上层定义框架,下层提

超详细的 Jenkins 安全tips

Jenkins 作为一个开放的、可定制的平台,即使在默认状态下也提供了不错的安全性。但是鉴于 Jenkins 连接了许多行业工具,因此也存在一定安全隐患。本篇文章将会介绍一些方法和工具,来确保 Jenkins 实例的安全和可靠,同时也给使用 Jenkins 的用户提供安全保障。 保持更新 软件漏洞随

应用部署初探:3个主要阶段、4种常见模式

应用部署是一个将软件提供给用户的过程,通常包含配置环境、安装及测试等步骤。现如今,大部分企业在部署新的应用程序时,会至少自动化其中一些步骤。应用程序部署的策略会影响该应用的性能、稳定性以及运行速度,因此有时会在向所有人提供更新之前,先对一小部分用户进行测试。 软件开发和用户体验的现代标准要求开发人员

DevOps 与 FinOps:二者可以协同吗?

DevOps 是一个强调开发人员和运营团队之间的协作和自动化以创建更高效的软件开发生命周期的过程。随着云业务成本逐年攀升,甚至超过传统基础设施成本,许多企业开始转向 FinOps 以有效降本增效。FinOps 与 DevOps 类似,旨在促进协作和效率,但重点是财务运营而非软件开发。在今天的文章中,

IDP 与 DevOps平台:相似之处与关键差异

软件开发是一个复杂而动态的过程,涉及许多工具、技术和实践。为了更快、更好地交付软件,开发人员需要有效地协作,自动执行任务,并管理环境。然而,由于软件架构的日益复杂,工具和平台的多样性,以及对安全和合规性的要求越来越高,软件开发变得极具挑战。 为了更好地应对开发挑战,企业根据自身情况分别选择内部开发者

ChatGPT 助力开发人员改进代码的5个方式

ChatGPT是一个由 OpenAI训练的大型语言模型,本文将向您展示如何使用 ChatGPT 帮助开发人员完成从编码到文档和测试等各种任务。

【算法】根据输入的正整数,重新排列生成一个更大的数字

需求:创建一个函数,该函数取一个正整数,并返回下一个较大的数字,该数字可以通过重新排列其数字来形成。例如: 12 >21 513==>531 2017 >2071 如果数字不能重新排列以形成更大的数字,则返回-1: 9 >-1 111=>-1 531=>-1

【算法】找出平衡括号的排列组合

用c#编写一个函数,列出一个字符串列表,此字符串表示平衡n对括号的所有方法的排列组合。 示例:BalancedParens(0) returns List with element: ""BalancedParens(1) returns List with elem

【解惑】介绍.net中的DataTable的AcceptChanges方法

`DataTable.AcceptChanges`方法是一个用于`DataTable`对象的方法,它将所有对`DataTable`进行的更改标记为已接受。这意味着所有新增、修改和删除的行都将被标记为`DataRowState.Unchanged`,并且`DataTable`对象的`HasChange

【算法】斐波那契数列与台风的故事

在小岛的一个海滨小镇上,住着一个名叫苏菲的女孩。苏菲一家人靠海为生,她的生活简单而朴素,与大自然和谐共生。每天,苏菲都会来到海边,欣赏那美丽的日出和日落,感受着大海的呼吸。 然而,小岛的美丽风光并非一成不变。每年夏季,热带气旋活跃,台风频繁登陆,给小岛带来了严重的危害。 有一天,苏菲经历了一场猛烈的

Python 多重继承时metaclass conflict问题解决与原理探究

背景 最近有一个需求需要自定义一个多继承abc.ABC与django.contrib.admin.ModelAdmin两个父类的抽象子类,方便不同模块复用大部分代码,同时强制必须实现所有抽象方法,没想按想当然的写法实现多继承时,居然报错metaclass conflict: In [1]: impo

Python中的弱引用与基础类型支持情况探究

## 背景 最近有一个业务场景需要用Python自行实现一个简单的LRU cache,不可避免的接触到了弱引用这一概念,这里记录一下。 ## 强引用 Python内存回收由垃圾回收器自动管理,当一个对象的引用计数归0时,其内存就可能被回收掉,而引用计数器的数值其实就是代表有多少个强引用指向该对象,我

一次Python本地cache不当使用导致的内存泄露

## 背景 近期一个大版本上线后,Python编写的api主服务使用内存有较明显上升,服务重启后数小时就会触发机器的90%内存占用告警,分析后发现了本地cache不当使用导致的一个内存泄露问题,这里记录一下分析过程。 ## 问题分析 ### LocalCache实现分析 该cache大概实现代码如下

ADG无法同步:TT00进程报错 Error 12514

环境: Oracle 19.16 ADG (Single Instance -> RAC) 在配置ADG的场景,发现ADG不能同步。 1.查看报错信息 2.oerr查看该错误说明 3.尝试sqlplus连接到standby 4.尝试relocate监听 5.继续排查发现是参数问题 6.总结和延伸 1

数据安全始终是一个不可忽视的问题

最近,自己的一个测试环境,遭遇了hacker攻击。 具体是oracle用户被攻破了,原因是该环境通过DDNS连接到了外网,而因为只是测试,没有注意安全防范,设置的口令过于简单。 下面记录下,也作为警醒。 1.发现资源使用异常 CPU告警,使用top去查询资源使用情况发现CPU使用率非常高,达到94%

使用ethtool排查网卡速率问题

今天去现场帮一个客户排查备份网络速率问题。 用户期望是万兆的速率,但实际上目前只有千兆,因为目前上面运行着数据库,且数据量较大,千兆的备份网络速率不能满足用户备份数据库的时长要求。 首先,确认备份网络是由两块网卡(eth3,eth4)做了bonding,起名为bondeth1。 使用ethtool查