当前位置: 首页 > news >正文

给律师做推广的网站靠谱么/郑州计算机培训机构哪个最好

给律师做推广的网站靠谱么,郑州计算机培训机构哪个最好,域名备案查询网址,合肥建网站公司​ 在第一​​​​​​部分,我们介绍了 N26 团队为达成 “在 Day 1 实现轻松部署” 的目标而设定的战略规划和开发人员体验图,在这一部分,我们将带您了解该团队如何构建最简可行平台以及该平台如何运作。 01 计划构建最简可行平台 我们通…


在第一​​​​​​部分,我们介绍了 N26 团队为达成 “在 Day 1 实现轻松部署” 的目标而设定的战略规划和开发人员体验图,在这一部分,我们将带您了解该团队如何构建最简可行平台以及该平台如何运作。
 

01 计划构建最简可行平台

我们通过采用 Story Workshop,将功能分解为三个层级,以洞察其基本特征和范围大小,并更好地确定优先级。
 

在这里插入图片描述
 

在研讨会中,我们深刻认识到软件工程的复杂性。我们讨论了一些简单问题,比如数据库迁移和日志记录,也讨论了更高级的问题,比如在软件交付生命周期(SSDLC)中确保安全性,再比如在分期付款计算和信贷融资等操作中采用 Money 模式来避免四舍五入错误。这些问题的代价不容忽视,而且发生的频率比我们想象的更高。

 

软件开发的残酷事实:永远没有足够的人力、时间和资金来构建你想要的一切。因此,关键是确定重点和优先顺序。而这正是 Story Workshop 的优势所在,因为它能帮助我们定义 “最简可行平台”(TVP)

 

在某些情况下,TVP 可能是作为软件开发构件的组件或服务文档。尽管如此,定义 TVP 还是很重要的,因为软件工程师喜欢构建技术性的东西,如果没有重点,就有可能交付一个忽视开发人员体验的复杂平台。这里我们将着重关注在 TVP 中实现哪些功能,目标是设计一个能够在一周内运行的配置流程,初始功能集将为我们构造平台的基础
 

在这里插入图片描述
 

因此,我们优先安装了 Kubernetes、编排自动化(我们将其命名为 “项目引导器”)和服务架构。但是在没有任何数据库支持的情况下,如何交付呢?我们告诉团队,他们可以使用内存存储库来实现这些目的。TVP 发布后不久,平台团队发布了数据库配置功能。自此产品团队可以在生产中部署完全可运行的服务。

 

对于从事平台工程的人来说,这是一堂重要的产品管理课。通过发布产品,可以部分解决问题。要计划减少构建量,并为用户和利益相关者提供替代方案。在解决临时问题时,协调和沟通非常重要。

 

从那时起,我们的平台发生了翻天覆地的变化。但每一个进步都离不开平台团队的辛勤工作,他们始终计划以迭代的方式推进平台的功能。这一过程的核心是了解业务目标、产品工程师的需求和监管要求,优先考虑能为公司带来价值的功能
 

02 我们的平台如何运行

 

转眼到了2023年7月。我们平台日益壮大,不断优化协同工作,使每个人的工作都更加便捷。开发一项全新的服务时,产品工程师需要复制和管理基础架构的资源库,并运行make命令:
 


$ git checkout -b overnight 
$ make create-team spaces

 
该命令提供了一个目录,产品工程师团队将在该目录中编辑一个配置文件来启动新服务。该文件允许配置服务级别目标(SLO)和数据库集群大小等内容:
 

locals {projects = {overnight = {description = "Calculate the balances' CDI-indexed yield."repository = {bootstrap = truelanguage = "kotlin"}service = {bootstrap = true}monitoring = {bootstrap = trueerror_rate = "0.5"read_latency = "0.4"write_latency = "4"apdex = "0.94"}database = {bootstrap = trueinstance = "db.r6g.large"replicas = 4engine = "aurora-postgresql"}queues = {bootstrap = truenames = ["invoice-paid", "yield-calculated"]}logs = {archive = true}cdn = {bootstrap = false}}}
}

 
​然后,产品工程师提交文件并创建拉取请求,由平台团队进行审核。我们制定了一项政策来防止微服务失败。作为领域驱动设计(Domain-Driven Design)的实践者,我们更倾向于围绕有边界的上下文设计服务,只有经过深思熟虑后才能拆分服务,平台团队才会审查是否符合政策。

 

拉取请求获得批准后,就会触发编排。编排:
 

  • 在 AWS IAM 中为应用程序创建服务用户。
  • 创建启用水平和垂直 pod 自动分级器的 Kubernetes 服务。
  • 将API 网关与 Kubernetes 入口集成,以公开服务的 API。
  • 在 AWS RDS 中创建 Aurora集群,并启用水平自动扩展。
  • 创建消息队列/主题。
  • 创建与内容分发网络(CDN)集成的 S3 目录。
  • 在机密管理系统中存储凭证(API 密钥、数据库密码等)。
  • 使用 service chassis 引导新服务代码库。
  • 在BitBucket 中创建新的服务存储库。
  • 配置 BitBucket 资源库变量。
  • 创建 CI/CD 流水线。
  • 配置质量和安全网关。
  • 运行服务的首次部署。
  • 在 Datadog 中创建服务级别目标 (SLO)。
  • 在 Datadog中配置服务警报。
  • 运行健康检查以确保供应工作。

 

这里的 service chassis 是一个基于 Ktor 的框架,其封装了细致的开源库和内部开发的组件,以减少对持久性和日志记录等问题的认知负荷。
 
在这里插入图片描述
 

配置完成后,产品工程师会克隆存储库并开始开发新服务。service chassis 会自动生成 Docker Compose 文件,来支持本地开发。所有项目共享相同的引导结构,方便产品工程师在项目间切换。此外,更少的可变性意味着平台工程师在增强工程团队使用的底层工具时,可以加快优化周期。

 

产品工程师可以在早期监控应用性能,并排除查询速度慢和 Apdex 分数低等问题。警报会自动配置并发送到标准化的 Slack 频道(每个团队都有一套标准的 Slack 频道,其中一个专门用于可观察性警报)。

 

为了微调可用算力,产品工程师可以更新配置文件,增加运行服务所需的 Kubernetes pod 数量。从产品工程师的角度来看,建立生产环境的唯一方法就是通过这个抽象了底层云基础设施的配置文件。这就保证了对生产环境的所有更改都会受到全面的审计。

 

同时,我们还有一系列需要人工操作但必须遵循准则或标准的工作。有些指南是在同行评审过程中产生的,比如 API 设计评审。我们努力从语义上设计 API。目前我们团队遵循设计文档中的规则。

 

强调文档的重要性也是我们一直在做的事。文档记录了产品工程师工作中最关键的部分,包括整个软件开发生命周期(SDLC)。例如,产品工程师可以通过阅读文档了解如何创建新凭证并将其机密存储在我们的云环境中,或者如何调整警报阈值。自动化流程和文档是自助服务平台的基础

 

在这里插入图片描述
 

当新人加入我们的团队时,identity provider 会发送一封欢迎电子邮件,告知如何激活笔记本电脑。当然笔记本电脑是已完全配置好的,并更新到最新版本的操作系统和开发工具。软件工程师需要做的唯一工作就是克隆资源库,并运行 README 文件中提供的启动脚本(通常是 Docker Compose 命令)。

 

为了让我们基于网络的工具(如 Rancher、Datadog、Jira、Confluence、1Password、Slack)随时可用,我们使用 Okta 来提供身份管理。只需一个密码,用户就能解锁笔记本电脑并访问所有工具。将我们的平台范围扩大到访问管理和笔记本电脑设置等问题,有助于我们实施工程范围内的变更,如滚动工具更新和增强,而无需中断人员手动运行设置向导。
 

03 总结

 
N26 的平台工程之路漫长而曲折。从定制的协调工具到手动流程的标准化,我们致力于让开发人员在 Day1 就能够轻松部署。在此过程中,我们消除了对第三方基础设施的依赖,从而使应用程序接口延迟大大降低。最终开发人员生产率大幅提高。

 

通过构建内部平台,我们深刻体会到战略性地管理平台的重要性。除了充足的人力、时间和资金,还需要建立许多其他要素。其中,最重要的是产品思维,可以利用现有工具,特别是开源工具,来缩小开发范围;要关注开发者体验以及公司的目标成果

相关文章:

N26:构建无缝体验的平台工程之路-Part 2

​ 在第一​​​​​​部分,我们介绍了 N26 团队为达成 “在 Day 1 实现轻松部署” 的目标而设定的战略规划和开发人员体验图,在这一部分,我们将带您了解该团队如何构建最简可行平台以及该平台如何运作。 01 计划构建最简可行平台 我们通…...

【Hadoop-Distcp】通过Distcp的方式进行两个HDFS集群间的数据迁移

【Hadoop-Distcp】通过Distcp的方式进行两个HDFS集群间的数据迁移 1)Distcp 工具简介及参数说明2)Shell 脚本 1)Distcp 工具简介及参数说明 【Hadoop-Distcp】工具简介及参数说明 2)Shell 脚本 应用场景: 两个实时集…...

【Linux】使用Bash和GNU Parallel并行解压缩文件

介绍 在本教程中,我们将学习如何使用Bash脚本和GNU Parallel实现高效并行解压缩多个文件。这种方法在处理大量文件时可以显著加快提取过程。 先决条件 确保系统上已安装以下内容: BashGNU Parallel 你可以使用以下命令在不同Linux系统上安装它们&am…...

T天池SQL训练营(五)-窗口函数等

–天池龙珠计划SQL训练营 5.1窗口函数 5.1.1窗口函数概念及基本的使用方法 窗口函数也称为OLAP函数。OLAP 是OnLine AnalyticalProcessing 的简称,意思是对数据库数据进行实时分析处理。 为了便于理解,称之为窗口函数。常规的SELECT语句都是对整张表进…...

道可云元宇宙每日资讯|上海市区块链关键技术攻关专项项目立项清单公布

道可云元宇宙每日简报(2023年12月11日)讯,今日元宇宙新鲜事有: 上海市2023年度区块链关键技术攻关专项项目立项清单公布 据上海市科学技术委员会近日发布通知,上海市2023年度“科技创新行动计划”区块链关键技术攻关…...

大语言模型有什么意义?亚马逊训练自己的大语言模型有什么用?

近年来,大语言模型的崭露头角引起了广泛的关注,成为科技领域的一项重要突破。而在这个领域的巅峰之上,亚马逊云科技一直致力于推动人工智能的发展。那么,作为一家全球科技巨头,亚马逊为何会如此注重大语言模型的研发与…...

RabbitMQ-学习笔记(初识 RabbitMQ)

本篇文章学习于 bilibili黑马 的视频 (狗头保命) 同步通讯 & 异步通讯 (RabbitMQ 的前置知识) 同步通讯:类似打电话,只有对方接受了你发起的请求,双方才能进行通讯, 同一时刻你只能跟一个人打视频电话。异步通讯:类似发信息&#xff0c…...

SQL Update语句

SQL Update语句 大家好,我是免费搭建查券返利机器人赚佣金就用微赚淘客系统3.0的小编,也是冬天不穿秋裤,天冷也要风度的程序猿! SQL Update语句:数据库操作高招解析 数据库是我们搭建查券返利机器人的重要组成部分&…...

C语言-WIN32API介绍

Windows API 从第一个32位的Windows开始就出现了,就叫做Win32API.它是一个纯C的函数库,就和C标准库一样,使你可以写Windows应用程序过去很多Windows程序是用这个方式做出来的 main()? main()成为C语言的入口函数其实和C语言本身无关&…...

TFIDF、BM25、编辑距离、倒排索引

TFIDF TF刻画了词语t对某篇文档的重要性,IDF刻画了词语t对整个文档集的重要性...

MySQL之DML语句

文章目录 DML语句创建表添加表字段**插入数据**查询数据更新数据替换数据删除数据清除表数据删除表 DML语句 数据操作语言DML(Data Manipulation Langua) 是SQL语言的一个分类,用于对表的数据进行增,删,改&#xff0c…...

kubernetes集群常用指令

目录 1.1 基础控制指令 1.2 命令实践 1.3 备注 1.1 基础控制指令 # 查看对应资源: 状态 $ kubectl get <SOURCE_NAME> -n <NAMESPACE> -o wide ​ # 查看对应资源: 事件信息 $ kubectl describe <SOURCE_NAME> <SOURCE_NAME_RANDOM_ID> -n <NAMES…...

PyQt6 QTreeView树视图

锋哥原创的PyQt6视频教程&#xff1a; 2024版 PyQt6 Python桌面开发 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili QTreeView类&#xff0c;它是树控件的基类&#xff0c;使用时&#xff0c;必须为其提供一个模型来与之配合。 QTreeView类的常用方法&#xff1a; 方法…...

链表|148. 排序链表

148. 排序链表 题目&#xff1a;给你链表的头结点 head &#xff0c;请将其按升序排列并返回排序后的链表。 题目链接&#xff1a; 148. 排序链表 时间复杂度&#xff1a;快排 O(n^2) 超出时间限制 class Solution {public ListNode sortList(ListNode head) {if(headnull)…...

如何解决5G基站高能耗问题?

安科瑞 须静燕 截至2023年10月&#xff0c;我国5G基站总数达321.5万个&#xff0c;占全国通信基站总数的28.1%。然而&#xff0c;随着5G基站数量的快速增长&#xff0c;基站的能耗问题也逐渐日益凸显&#xff0c;基站的用电给运营商带来了巨大的电费开支压力&#xff0c;降低5…...

PyTorch实现逻辑回归

最终效果 先看下最终效果&#xff1a; 这里用一条直线把二维平面上不同的点分开。 生成随机数据 #创建训练数据 x torch.rand(10,1)*10 #shape(10,1) y 2*x (5 torch.randn(10,1))#构建线性回归参数 w torch.randn((1))#随机初始化w&#xff0c;要用到自动梯度求导 b …...

什么是FPGA原型验证?

EDA工具的使用主要分为设计、验证和制造三大类。验证工作贯穿整个芯片设计流程&#xff0c;可以说芯片的验证阶段占据了整个芯片开发的大部分时间。从芯片需求定义、功能设计开发到物理实现制造&#xff0c;每个环节都需要进行大量的验证。 现如今验证方法也越来越多&#xff…...

基于VUE3+Layui从头搭建通用后台管理系统(前端篇)十四:系统设置模块相关功能实现

一、本章内容 本章使用已实现的公共组件实现系统管理中的系统设置模块相关功能,包括菜单管理、角色管理、日志管理、用户管理、系统配置、数据字典等。 1. 详细课程地址: 待发布 2. 源码下载地址: 待发布 二、界面预览 三、开发视频 3.1 B站视频地址:...

使用Visual Studio(VS)创建空项目的Win32桌面应用程序【main函数入口变WinMain】

前言 在Visual Studio中直接新建Windows桌面应用程序会有很多多余的代码生成&#xff0c;本文将提供从空项目创建Win32项目的方法&#xff0c;解决新建空项目直接使用WinMain代码编译报错的问题 例如&#xff1a;LNK2019 &#xff1a;无法解析的外部符号 参考博客&#xff1…...

基于自动化脚本批量上传依赖到nexus内网私服

前言 因为某些原因某些企业希望私服是不能连接外网的&#xff0c;所以需要某些开源依赖需要我们手动导入到nexus中&#xff0c;尽管nexus为我们提供了web页面。但是一个个手动导入显然是一个庞大的工程。 对此我们就不妨基于脚本的方式实现这一过程。 预期效果 笔者本地仓库…...

Linux中ps命令使用指南

目录 1 前言2 ps命令的含义和作用3 ps命令的基本使用4 常用选项参数5 一些常用情景5.1 查看系统中的所有进程&#xff08;标准语法&#xff09;5.2 使用 BSD 语法查看系统中的所有进程5.3 打印进程树5.4 获取线程信息5.5 获取安全信息5.6 查看以 root 用户身份&#xff08;实际…...

PHP开发语言中,网页端常用的标签

在PHP开发语言中&#xff0c;网页端常用的标签包括以下几种&#xff1a; <html>&#xff1a;用于定义整个HTML文档。<head>&#xff1a;用于定义文档的头部&#xff0c;包含元数据、样式表和脚本等。<title>&#xff1a;用于定义文档的标题&#xff0c;显示…...

Java 入门第四篇 集合

Java 入门第四篇 集合 一&#xff0c;什么是集合 在Java中&#xff0c;集合&#xff08;Collection&#xff09;是一种用于存储和操作一组对象的容器类。它提供了一系列的方法和功能&#xff0c;用于方便地管理和操作对象的集合。集合框架是Java中非常重要和常用的一部分&…...

VBA技术资料MF93:将多个Excel表插入PowerPoint不同位置

我给VBA的定义&#xff1a;VBA是个人小型自动化处理的有效工具。利用好了&#xff0c;可以大大提高自己的工作效率&#xff0c;而且可以提高数据的准确度。我的教程一共九套&#xff0c;分为初级、中级、高级三大部分。是对VBA的系统讲解&#xff0c;从简单的入门&#xff0c;到…...

STM32 MCU的易坑点收集

IIC配置中的Clock No Stretch Mode Clock Stretch Mode时钟延长模式&#xff1a; 时钟延长是一个术语&#xff0c;某些从设备可以把时钟线拉低&#xff0c;主设备发现自己释放时钟线之后时钟线还没有变成高电平&#xff0c;就会停止发送数据&#xff0c;然后等待从设备释放时钟…...

Vue3项目filter.js组件封装

1、element-plus(el-table)修改table的行样式 export function elTableRowClassName({ row, rowIndex }) {if (rowIndex % 2 ! 0) {return default-row} }2、时间戳转换格式 export function parseTimeFilter(dateTime, dateType) {if (dateTime || dateTime undefined ||…...

Linux: pwd命令查看当前工作目录

pwd 是 Linux 和其他类 Unix 操作系统中的一个命令&#xff0c;用于显示当前工作目录的绝对路径。 语法 pwd 描述 pwd 是 "print working directory" 的缩写&#xff0c;它用于打印当前工作目录的完整路径。这对于确定当前目录位置非常有用&#xff0c;特别是在嵌…...

【深度学习】PHP操作mysql数据库总结

一.PHP数据库的扩展分类 1.MySQL 扩展是针对 MySQL 4.1.3 或更早版本设计的&#xff0c;是 PHP 与 MySQL数据库交互的早期扩展。由于其不支持 MySQL 数据库服务器的新特性&#xff0c;且安全性差&#xff0c;在项目开发中不建议使用&#xff0c;可用 MySQLi 扩展代替。 2.MySQ…...

【送书活动】探究AIGC、AGI、GPT和人工智能大模型

文章目录 前言01 《ChatGPT 驱动软件开发》推荐语 02 《ChatGPT原理与实战》推荐语 03 《神经网络与深度学习》推荐语 04 《AIGC重塑教育》推荐语 05 《通用人工智能》推荐语 后记赠书活动 前言 人工智能技术在过去几年中发展迅猛&#xff0c;得益于大数据、云计算、深度学习等…...

Apple Find My「查找」认证芯片找哪家,认准伦茨科技ST17H6x芯片

深圳市伦茨科技有限公司&#xff08;以下简称“伦茨科技”&#xff09;发布ST17H6x Soc平台。成为继Nordic之后全球第二家取得Apple Find My「查找」认证的芯片厂家&#xff0c;该平台提供可通过Apple Find My认证的Apple查找&#xff08;Find My&#xff09;功能集成解决方案。…...