日常开发技术概念 端口映射和端口转发 编程范式 设计模式及原则 数据结构与算法 算法复杂度 迭代循环遍历递归 进程/线程/协程 缓存 定时任务

本文深入探讨了日常开发中的关键概念,包括端口映射与端口转发的差异,编程范式的不同,如面向对象、函数式编程等,以及设计模式和原则。此外,还涵盖了数据结构、算法复杂度、迭代与递归,进程、线程、协程的工作原理,缓存、定时任务及其在软件开发中的重要性。理解这些概念对于提升开发效率和软件质量至关重要。
摘要由CSDN通过智能技术生成

日常开发技术概念

端口映射和端口转发:
端口映射:是将外网的一个端口完全映射给内网一个地址的指定端口,实现外网到内网和内网到外网双向的通信。
端口转发:是将一个端口(可以是本机的端口或本机可以访问到的任意主机的端口)转发到任意一台可以访问到的IP上,通常这个IP是公网IP。它只能实现外网到内网的单向通信。端口转发是网络地址转换(NAT)的一种应用。
编程范式:编程范式是一种编程方法、风格或习惯,它决定了程序员如何组织和构建代码。常见的编程范式包括面向对象编程(OOP)、函数式编程和逻辑式编程等。每种范式都有其独特的理念和方法,适合解决不同类型的问题。

设计模式及原则:

设计模式:是一种常用的软件设计方法,通过将一些常见的设计问题定义为模式,然后根据模式来解决问题。它有助于代码的重用和提高软件的可维护性。
设计原则:包括单一职责原则、开放-封闭原则、里氏代换原则和依赖倒转原则等。这些原则指导了如何设计良好的软件结构和模块,以提高代码的质量和可维护性。
数据结构与算法:
数据结构:定义了数据的组织方式,它决定了数据在计算机中的存储和访问方式。
算法:是对数据进行操作的一系列指令或步骤。算法复杂度是指算法在编写成可执行程序后,运行时所需要的资源(包括时间资源和内存资源)。
迭代、循环、遍历、递归:
迭代:是按照某种顺序逐个访问线性结构(如数组、队列)中的每一项。
循环:是在满足条件的情况下,重复执行同一段代码。
遍历:是按一定规则访问一个非线性的结构(如树、图)中的每一项,且只访问一次。
递归:是一个函数不断调用自身的行为。
进程、线程、协程:
进程:是操作系统分配资源的基本单位,它包含了一个程序的执行实例。
线程:是进程中的一个执行单元,共享进程的资源。多线程可以并发执行,提高程序的执行效率。
协程:是一种比线程更加轻量级的执行单元,它可以在单线程内实现非阻塞或微线程调度。
缓存:缓存是一种提高系统性能的技术,它通过将数据存储在相对较快的介质(如内存)中,以便更快地访问这些数据,从而减少对较慢介质(如硬盘)的访问。

定时任务:定时任务是指在指定的时间或按照指定的时间间隔自动执行的任务。它常用于自动化运维、数据备份、定时发送邮件等场景。

这些概念在软件开发中起着至关重要的作用,它们共同构成了现代软件开发的基石。理解和掌握这些概念对于提高软件开发的效率和质量至关重要。

Flag

RESTful是一种架构风格,其核心是面向资源,更简单;而WebService底层SOAP协议,主要核心是面向活动;两个都是通过web请求调用接口

注解(也称为元数据)就是代码中的特殊标记,为我们在代码中添加信息提供了一种形式化的方法,使我们可以在稍后某个时刻非常方便的使用这些数据。

Graceful/Gentle Exit(优雅退出):指程序结束前,等待当前任务完成或做一些记录后再完全退出
逃逸分析(Escape Analysis)

是编译器用来决定程序中值的位置的过程。编译器执行静态代码分析,以确定一个构造体的实例化值是否会逃逸到堆

逃逸是指在某个方法之内创建的对象,除了在方法体之内被引用之外,还在方法体之外被其它变量引用到;
这样带来的后果是在该方法执行完毕之后,该方法中创建的对象将无法被GC回收,由于其被其它变量引用。
正常的方法调用中,方法体中创建的对象将在执行完毕之后,将回收其中创建的对象;故由于无法回收,即成为逃逸。

微服务、Service Mesh 和 Serverless

Fuction as a Service无服务器计算,目的是希望应用不用一直运行着,只有当有请求来的时候,才快速启动这个应用
,然后请求一走就停掉这个应用,换句话说,不让应用在背景程式持续的启动着,而是有需要的时候才开启他

编程范式

编程范型、编程范式或程序设计法(Programming Paradigm)是某种编程语言典型的编程风格或者说是编程方式

范类:强类型/弱类型,动态语言/静态语言,编译/解释

  • 过程化(命令式)编程
  • 事件驱动编程
  • 面向对象编程
  • 链式编程
  • 函数式编程
  • 并发编程
  • 约束编程
  • 数据流编程(Dataflow programming)
  • 声明性编程
  • 分布式的编程
  • 泛型编程
  • 逻辑编程
  • 元编程
  • 响应式/反应式编程(Reactive programming)
  • 面向方面/面向切面编程(AOP)
  • 过程式编程
  • 元编程(Metaprogramming)
  • 宏(Macro)

设计模式及原则

  • 26
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

EwenWanW

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值