职责20230419原则
工程师的十条精进原则
这篇博客内容是我三年前刚入职不久在其他地方浏览并二次整理的,如今三年岁月匆匆而过,回头再次 check 了下这十条原则,体会更加深刻。 一. Owner意识 体现在两个层面:一是认真负责的态度,二是积极主动的精神 认真负责是工作的底线。 首先,要对我们交付的结果负责。项目中每一个设计文档、每一行代码 ......
钉钉通知处理原则
钉钉异常,通知原则 越来越少 例如: 业务中,这种先注销,后退学的,那这种的不会引起什么问题 就可以不用再通知了 ; 比如其他原因的通知的,那能不能从业务和程序层面处理 处理完也不再通知了; 最终的效果就是通知的越来越少 ,甚至都没通知了, 才是最好的。 处理完不再通知 ,不是说不让通知了。而是把这 ......
开闭原则
开闭原则(Open-Closed Principle, OCP)是指一个软件实体如类、模块和函数应该对扩展开放,对修改关闭。 实现开闭原则的核心思想就是面向抽象编程,现在我们思考一个场景,有一个课程类,课程类作为父类,有许多子类,比如java课程,python课程,前端课程... 课程类中有价格属性 ......
Pytest用例设计原则
用例设计原则 文件名为test_*.py和*_test.py 以test_开头的函数 以Test开头的类,test_开头的方法,并且不能有__init__方法 所有的package包必须有__init__文件 断言使用assert 常用断言 assert xx 判断xx为真 assert not x ......
10_职责链模式
1 现实中的职责链模式 中学时代的期末考试,如果你平时不太老实,考试时就会被安排在第一个位置。遇到不会答的题目,就把题目编号写在小纸条上往后传递,坐在后面的同学如果也不会答,他就会把这张小纸条继续递给他后面的人。 优点:请求发送者只需要知道链中的第一个节点,从而弱化了发送者和一组接收者之间的强联系 ......
设计原则
一 单一职责原则 职责: 引起变化的原因 SRP原则:一个对象(方法)只做一件事 SRP原则的应用难点就是如何去分离职责 1 何时应该分离职责 并不是所有职责都应该一一分离 如果随着需求变化,职责总是同时变化的就不必分离 创建xhr对象 & 发送xhr请求 职责的变化轴线仅当他们确定会发生变化时才有 ......
禅道软件设计六大原则
每一个产品都是为了解决某个问题而产生的,在诞生之初都是有自己的目标和原则的。只不过随着时间发展,产研团队慢慢更换,很多东西就慢慢丢掉了,改变了。所以在设计完善禅道项目管理软件的时候,我一直都比较恐慌,唯恐哪一天禅道也变成了自己不喜欢的样子。于是也有了一些自己固执地坚持,不肯妥协的原则,跟大家分享下。 ......
[设计模式]设计原则
参考:https://zhuanlan.zhihu.com/p/24614363 https://zhuanlan.zhihu.com/p/422737773 面向对象设计原则 1、开闭原则: 当应用的需求改变时,在不修改软件实体的源代码或者二进制代码的前提下,可以扩展模块的功能,使其满足新的需求。 ......
开发原则性问题
1、参考 参考现有的ui、模块、算法、步骤,吸收精华,尝试优化,融合进自己的框架 承认别人造的轮子是有可取之处的,完全的闭门造车是对开发结果的不负责 但是,是借鉴而不是照抄。从文档和注释、命名习惯、优化空间、与自身框架和编程语言的兼容性等,都要求具有自己的思考过程和实现 2、开发步骤 (1)考虑能否 ......
《花雕学AI》AI 人工智能伙伴关系的指南:遵循原则,实现实践,展望未来
引言:人工智能(AI)是指由人造的机器或系统所展现出的智能,它可以模拟或扩展人类的认知功能,如学习、推理、感知、交流等。 人工智能的发展和应用已经深刻地影响了社会、经济、文化和政治等各个领域,同时也带来了一系列的伦理和社会问题,如隐私、安全、责任、公平、透明等。 为了应对这些挑战,需要建立人工智能与 ......
软件开发、设计、架构的其他原则
LOD:迪米特法则(Law of Demeter) CRP:合成复用原则(Composite Reuse Principle) DRY:不要重复你自己原则 (Don’t Repeat Yourself Principle) KISS:KISS原则 (Keep It Simple and Stupid ......
吴恩达Prompt课 - 02 构建原则
吴恩达和 OpenAI 一起制作了节一个半小时的,面向开发者的关于 《ChatGPT Prompt Engineering》 的课,对自己Prompt提高非常有帮助。 英文课程地址: https://www.deeplearning.ai/short-courses/chatgpt-prompt-e ......
如何避免单点风险:基于实践经验分享服务拆分原则的一些思考
缘起:系统崩了 具体情况:1%的请求影响了剩余90%的请求 架构演进:拆分热点服务【进程级隔离】 复盘 总结 拆服务的经典实践 不能变形的变形金刚也叫变形金刚? 缘起系统崩溃了?别惊慌!这里有快速恢复的方法!分析发现,网站崩时服务X被流量打垮,继而依赖服务X的其它服务开始互相“踩踏”,最终崩溃。网站 ......
KISS原则
Keep It Simple,Stupid(通常缩写为:KISS),是计算机编程中的一个很有名的原则。KISS原则目的是简单,就是一目了然的简单,和“简单就是美”是一个概念。stupid在这里没有贬义,和“傻瓜机”里的“傻”是一个用法,就是易上手,易操作的意思。 ......
Linux基础17 运维核心职责与工作内容, 服务器介绍, 硬件介绍, 系统介绍, 机房介绍
运维的核心职责 1.数据不丢失。 2.业务7*24小时运行(不宕机) 3.提升用户体验度(性能的优化)2.运维的平时工作内容 1.日常服务器的维护,紧急故障的处理。 2.代码上线,gitlab+Jenkins。shell脚本。 3.项目:备份、迁移、升级。rsync 4.日常服务器监控,zabbix ......
软件开发、设计、架构的五大原则
唯一不变的就是变化本身。 我们经常讲的系统、子系统、模块、组件、类、函数就是从逻辑上将软件一步步分解为更细微的部分,即逻辑单元, 分而治之, 复杂问题拆解为若干简单问题, 逐个解决。 逻辑单元内部、外部的交互会产生依赖,从而产生了内聚、耦合概念。内聚主要描述逻辑单元内部,耦合主要描述逻辑单元之间的关 ......
软件开发、设计、架构的五大原则
唯一不变的就是变化本身。 我们经常讲的系统、子系统、模块、组件、类、函数就是从逻辑上将软件一步步分解为更细微的部分,即逻辑单元, 分而治之, 复杂问题拆解为若干简单问题, 逐个解决。 逻辑单元内部、外部的交互会产生依赖,从而产生了内聚、耦合概念。内聚主要描述逻辑单元内部,耦合主要描述逻辑单元之间的关 ......
结构化状态的原则
结构化状态的原则 当您编写一个保存某些状态的组件时,您必须选择使用多少个状态变量以及它们的数据应该是什么形状。虽然即使使用次优状态结构也可以编写正确的程序,但有一些原则可以指导您做出更好的选择: 1.组相关状态。如果您总是同时更新两个或多个状态变量,请考虑将它们合并为一个状态变量。 2.避免状态上的 ......
装饰器模式:动态给一个对象添加一些额外的职责
当我们想要在不改变原有对象的结构和功能的基础上,动态地给一个对象添加一些额外的行为或职责时,可以使用装饰器模式。 在装饰器模式中,通常会定义一个抽象装饰器类和具体的装饰器类。抽象装饰器类和被装饰对象实现同样的接口,而具体的装饰器类则包含了一个指向被装饰对象的引用,并且在其基础上增加了额外的行为或职责 ......
软件工程:阿姆达尔定律,性能设计和优化的指导原则
hi,我是熵减,见字如面。 在软件开发中,你是否做过性能的优化,譬如: 有一个图片处理的程序,其中包含一个函数用于对图片进行滤镜处理。该函数中包含两个部分:一个可并行化的部分和一个串行部分。可并行化的部分用于对图片的每个像素进行计算,而串行部分用于对处理后的图片进行保存操作。我们通过优化可并行化部分 ......
索引设计的原则
为了使索引的使用效率更高,在创建索引时,必须考虑在哪些字段上创建索引和创建什么类型的索引。索引设计不合理或者缺少索引都会对数据库和应用程序的性能造成障碍。高效的索引对于获得良好的性能非常重要。设计索引时,应该考虑相应准则。 一、适合创建索引的11中情况 1、字段的数值有唯一性的限制 在数据库表中,如 ......
软件项目管理应该遵循的7条基本原则
美国著名软件工程专家勃姆(B.W.Boehm)在总结软件工程准则和信条的基础上,于1983年提出软件工程的7条基本原则,也是软件项目管理应该遵循原则。勃姆认为,这7条原则是确保软件产品质量和开发效率的原理的最小集合,相互独立但结合得相当完备。 1.用分阶段的生命周期计划严格管理。统计表明,不成功的软 ......
20230419 训练记录:dp
Deque https://atcoder.jp/contests/dp/tasks/dp_l Alice 和 Bob 玩游戏,轮流从 deque 的头/尾取走一个元素,Alice 拿走的数和为 $X$,Bob 拿走的数和为 $Y$。Alice 想最大化 $X - Y$ 而 Bob 想最小化 $X ......
单调栈_20230419
通常是一维数组,要寻找任一个元素的右边或者左边第一个比自己大或者小的元素的位置,此时我们就要想到可以用单调栈了 739. 每日温度 题目说明 请根据每日气温列表,重新生成一个列表。对应位置的输出为:要想观测到更高的气温,至少需要等待的天数。如果气温在这之后都不会升高,请在该位置用 0 来代替。 例如 ......
DBA的工作职责和每日工作
DBA的工作职责和每日工作 DBA一般职责 1.安装和升级数据库服务器,以及应用程序工具构建和配置网络环境. 2.熟悉数据库系统的存储结构预测未来的存储需求,制订数据库的存储方案. 3.根据开发人员设计的应用系统需求创建数据库存储结构. 4.根据开发人员设计的应用系统需求创建数据库对象 5.根据开发 ......
关于敏捷开发、系统重构、设计原则、设计模式之间的思考
敏捷开发、系统重构、设计模式是软件开发中不同的概念,它们之间有一些联系和相互影响。 敏捷开发方法强调快速响应客户需求,通过迭代和增量的方式来开发软件。在敏捷开发中,设计模式可以被用来提高软件质量和可维护性,因为设计模式是已经被证明有效的软件设计方案。在开发过程中,团队可以使用设计模式来提高代码的复用 ......
第8章_索引的创建与设计原则
1. 索引的声明与使用 1.1 索引的分类 MySQL的索引包括普通索引、唯一性索引、全文索引、单列索引、多列索引和空间索引等。 从 功能逻辑 上说,索引主要有 4 种,分别是普通索引、唯一索引、主键索引、全文索引。 按照物理实现方式 ,索引可以分为 2 种:聚簇索引和非聚簇索引。 按照作用字段个数 ......
价值投资中简单实用的基本原则是什么?
在投资股票时,深入的研究有利于得出正确的判断,系统的方法有利于做出明智的决策,支付合理的价格才能获得丰厚的利润,这是投资中的基本道理。 价值投资法一点也不神秘,巴菲特曾经感慨道:“正是因为‘价值投资’太简单,所以人们不太愿意传授它。”投资者不需要复杂的经济模型,只要你拥有正确的心态,即可灵活运用这些 ......