• 2024-06-23我做软件开发的核心思想考量
    要持续提炼思想和方法论的核心。做一件事,就是持续不懈地追求道领悟道的过程,是要坚持持续不懈地去提炼思想和方法论的。之前,我写过几篇文章,比如"软件开发:组织大规模逻辑的技艺","软件开发之道:结构化技艺"、"谈谈程序员应当具备的技术思维"。这些文章汇聚和提炼了我十年来的最重
  • 2024-06-22GPIO的工作模式
    输入模式:输入浮空、输入上拉、输入下拉、模拟输入输出模式:开漏输出、开漏复用功能、推挽式输出、推挽式输出复用功能输入浮空:输入上拉:输入下拉:开漏输出:开漏复用功能:推挽式输出:推挽式输出复用功能:
  • 2024-06-19多环境镜像晋级/复用最佳实践
    作者:木烟本文主要介绍镜像构建部署场景,多环境镜像晋级/复用最佳实践,保证“所发即所测”。场景介绍应用研发场景有效地管理镜像产物是确保软件快速、安全、可靠部署的关键环节。通常一个应用研发需要经过测试、预发、生产各个阶段,一种常用的研发模式如下:测试阶段:流水线部署特
  • 2024-06-1705梦断代码阅读笔记
    《梦断代码5》前台与人对话,后台与比特对话,言简意赅。创建还是复用?每个软件迟早都会到达这个岔路口。的确,我们不也是这样,复用固然便利简单,但能否完全适合自己现在的编程环境仍是一个未知数。而创建虽然费时费力但无疑是针对自己的状况,两者各有优劣。向往未来那种程序可由复用
  • 2024-06-17[转帖]端口复用
    https://cxd2014.github.io/2018/09/12/port-reuse/  SO_REUSEPORT套接字选项从Linux3.9内核版本之后Linux网络协议栈开始支持SO_REUSEPORT套接字选项,这个新的选项允许一个主机上的多个套接字绑定到同一个端口上,它的目的是提高运行在多核CPU上的多线程网络服务应用的处
  • 2024-06-16【iOS】自定义cell及其复用机制
    文章目录cell的复用注册非注册两者的区别自定义cellcell的复用当用户滚动UITableView或UICollectionView时,只有少量可见的cell会被实际创建和显示。对于那些暂时不可见的cell,系统会将它们缓存起来以备将来复用。这就是所谓的cell复用机制。为什么需要
  • 2024-06-13HTTP1.x HTTP2 HTTP3 的简单对比
    协议简要描述比喻HTTP1.0短连接,一次数据通信,结束后就断开一次性道路,简单暴力通过。HTTP1.1长连接,连接可以被复用,但需要按照资源顺序复用。单向单车道,婚礼车队,不能逆序。HTTP2连接复用,增加了http头部压缩和帧传输,连接可以被异步服用,服务器端可以主动推送资源
  • 2024-06-11面向对象设计原则概述
    面向对象设计原则概述面向对象设计原则概述面向对象设计原则概述单一职责原则开闭原则里氏代换原则依赖倒转原则接口隔离原则合成复用原则迪米特法则内容来自《设计模式与艺术》一文。后续会陆续分享书中值得深思观点。面向对象设计的目标之一在于支持可维护性复
  • 2024-06-07鸿蒙(HarmonyOS)应用性能优化实战-组件复用四板斧
    概述在滑动场景下,常常会对同一类自定义组件的实例进行频繁的创建与销毁。此时可以考虑通过组件复用减少频繁创建与销毁的能耗。组件复用时,可能存在许多影响组件复用效率的操作,本篇文章将重点介绍如何通过组件复用四板斧提升复用性能。组件复用四板斧:第一板斧,减少组件复用
  • 2024-06-07前端柯里化
    柯里化(Currying)是一种处理函数参数的方法,它的基本原理是将一个具有多个参数的函数转换为一些嵌套的一元函数(每个函数只接收一个参数)。这里有一个简单示例来展示如何在JavaScript中实现柯里化:假设我们有一个求和函数sum,接收两个参数a和b,返回它们的和:constsum=(a,b
  • 2024-06-05分层思想
     开发架构设计的核心简单来说就是解耦和复用。解耦:上一层依赖于下一层,如果测试下一层没有问题,那么问题就只有可能发现在本层了,便于发现和改正BUG。体现了“高内聚,低耦合”的思想。各个层次分工明确,将一个复杂问题简单拆分了。 复用:
  • 2024-06-05面向对象设计方法Review-01.课程概述
    课程简介能带来什么:1.掌握OOP基本原理;2.了解OOP新兴技术;3.满足OOP技术需求;课程目标:1.OOPL写代码→OOP→OOSC;2.朴素OOP→系统化OOP;3.传统OO技术→现代化OO技术;课程内容:OO的起源及动机;OO的设计:1.契约式设计;2.设计原则;3.设计模式;4.应用框架;背景概述软
  • 2024-06-042.面向对象设计原则
    1.概述对于面向对象软件系统的设计而言,在支持可维护性的同时,提高系统的可复用性是一个至关重要的问题,如何同时提高一个软件系统的可维护性和可复用性是面向对象设计需要解决的核心问题之一。在面向对象设计中,可维护性的复用是以设计原则为基础的。每一个原则都蕴含一些面向对象
  • 2024-06-03sqlSql元素用来定义一个可以复用的SQL 语句段
    sqlSql元素用来定义一个可以复用的SQL语句段,供其它语句调用。比如:Xml代码收藏代码<!--复用sql语句查询student表所有字段--><sqlid="selectStudentAll">SELECTST.STUDENT_ID,ST.STUDENT_NAME,ST.STUDENT_SEX,ST.STUDENT_BIRTHDAY,ST.CLASS_IDFROMSTUDENT_TBLST<
  • 2024-06-02什么是封装?为什么是要封装?
    封装是面向对象编程中的一种核心概念,它是将数据和操作数据的方法结合起来,形成一个整体,对外只暴露必要的接口,隐藏内部的具体实现细节。封装的目的是为了实现信息隐藏和代码的模块化,具体原因如下:1.隐藏实现细节:封装可以将类的内部实现细节隐藏起来,使外部无法直接访问和修改对
  • 2024-06-01引脚复用汇总
    杰理SDK696N 1.DP做打印脚可能的复用情况SDK\apps\soundbox\board\br25\board_ac696x_demo\board_ac696x_demo_cfg.h↓↓↓↓↓↓↓↓↓↓↓↓↓↓开↓↓↓↓↓↓↓↓↓↓↓↓↓↓TCFG_UART0_ENABLE↑↑↑↑↑↑↑↑↑↑↑↑↑↑开↑↑↑↑↑↑↑↑↑↑↑↑↑↑↓↓↓↓
  • 2024-05-26nginx-端口复用,不同域名映射到不同服务中
    我使用docker容器运行NGINX,并将主机的80端口映射到容器的8080端口中。[root@harbor20240526]#dockerpsCONTAINERIDIMAGECOMMANDCREATEDSTATUSPORTS
  • 2024-05-25【设计模式】设计模式前置知识
    目录1.设计模式概述1.1软件设计模式的产生背景1.2软件设计模式的概念1.3学习设计模式的必要性1.4设计模式分类2,UML图2.1类图概述2.2类图的作用2.3类图表示法2.3.1类的表示方式2.3.2类与类之间关系的表示方式2.3.2.1关联关系2.3.2.2聚合关系2.3.2.3
  • 2024-05-25stm32嵌入式系统与应用习题 2
    目录一、选择题二、填空题三、简答题四、程序设计题一、选择题1.每个IO引脚都有一个复用器,该复用器采用(D)路复用功能输入。A.8B.16C.32D.42.固件库中的功能状态(FunctionalState)类型被赋予以下两个值(A)。A.ENABLE或者DISABLEB.SET
  • 2024-05-25七种常见的面向对象设计原则
     设计原则名称定义使用频率单一职责原则一个类只负责一个功能领域中的相应职责 四颗星开闭原则软件实体应对扩展开发,而对修改关闭 五颗星 里氏代换原则所有引用基类对象的地方能够透明地使用其子类的对象 五颗星依赖倒转原则抽象不应该依赖于细节
  • 2024-05-21《构建之法》阅读笔记之一
    第一部分:理论基础主题: 构建的概念与原理内容概要:构建的本质: 构建是指通过组合和搭建各种元素来创造新的事物或系统。作者解释了构建的概念,强调了它在现代技术和工程领域中的重要性。构建不仅仅是建造物理产品,也包括软件、服务、组织结构等方面的构建。构建的原理: 介绍了
  • 2024-05-20软件设计原则—合成复用原则
    继承可以提高代码的复用性,但是继承会带来很多问题合成复用原则是指:尽量先使用组合或者聚合等关联关系来实现,其次才考虑使用继承关系来实现。通常类的复用分为继承复用和合成复用两种。继承复用虽然有简单和易实现的优点,但它也存在以下缺点:继承复用破坏了类的封装性。因为继承
  • 2024-05-18表达式树求值的空间复用
    回忆一致\(\mathsf{NC}^1\)电路是说一个\(O(\logn)\)深度,可以由对数空间Turing机生成的布尔电路,这个\(O(\logn)\)层的电路暴力展开就是一颗\(n^{O(1)}\)大小的表达式树.反过来,对于任何一颗表达式树,我们也可以用树分治的方法将其对数空间规约到一个\(O(\log
  • 2024-05-16面向 Reuse 的软件构造技术
    前几章介绍了软件构造的核心理论——ADT,核心技术——OOP,其核心是保证代码质量、提高代码安全性本章面向一个重要的外部指标:可复用性——如何构造出可在不同应用中重复使用的软件模块/API为什么复用?软件复用有两个视角:面向复用编程:开发出可复用的软件基于复用编程:利用已有的
  • 2024-05-15TypeScript 中使用type与interface定义类型分别有什么区别?
    在TypeScript中,使用type和interface都可以用来定义自定义类型,但它们之间存在一些区别:语法:type使用 type 关键字定义类型别名,后跟自定义类型的名称interface 使用 interface 关键字定义接口,后跟自定义类型的名称用途:type 主要用于创建类型别名,可以给现有的类