美国高速公路信号灯控制项目的大致逻辑和步骤 智慧公路设计
美国高速公路信号灯控制项目的大致逻辑和步骤:
- 美国那边先提供一个关于具体做什么需求、那边的设备(信号灯)有什么参数,什么接口,分别是什么属性等等的详细设计文档,开发人员拿到这个文档以后把它看懂;另外还需要提供一些工具类,如验证权限等
- 看懂美国的文档以后,开发人员和项目这边确定程序的输入(即http请求的参数,如设置信号灯显示数值的接口需要信号灯id、数值等等),确定项目的控制平台向开发人员的程序发起的http请求的具体格式
- 上述设计完成后,确认不改动要求,程序可以开工,开发人员这边用Spring Boot按照上述设计用一段时间完成一个java项目,并打包成xxx.jar格式(jar包里是一些编译好的.class文件)
- 开发人员把xxx.jar格式的包发给项目,项目方在电脑上预先需要下载好java,建议为JDK1.8(又名JDK8),电脑安装java后即可解释.class文件,项目方在cmd命令行中输出 java 命令即可启动开发人员写的jar
- 在项目方的电脑上启动jar后,项目方即可在电脑的别的程序(包括但不限于各类控制平台、浏览器、其他测试工具等)对这个jar发起http get/post请求,如http://localhost:8089/function?param=value¶m2=value ,jar收到这个请求后,便会通过互联网向美国调用对应的接口实现功能
- 当然这个jar也可以不运行在项目方电脑本地,也可以运行在虚拟机、AWS等,如果运行在AWS的好处在于项目方不需要每次电脑开机都启动jar
一些解释
- Spring Boot:是一个java开发的框架,作用就是简化开发过程,而且现在的大多数扩展、库、包等都是基于Spring Boot制作的(包括杭绍台给的java文件),所以绝大多数java工程都使用Spring Boot。
- MyBatis:如果在Spring Boot项目中连接MySQL等关系型数据库进行增删改查操作,则需要配置MyBatis插件,在这个插件规定的位置(一般是某个xml文件)写SQL,java即可调用这个SQL跟数据库连接操作
- Redis:是一个key-value型的数据库(而不是MySQL之类的关系型数据库),作用就是通过key在这个数据库里找value,美国那边去年给开发人员的代码里的鉴权功能就是用的这个数据库验证token的
Spring Boot项目的样子:
左边是工程的目录结构,有很多java文件,即要写的代码,需要按照Spring Boot的要求放在合适的文件夹下;此外还包括.xml、.yml(又名.yaml)等等配置文件,也需要放在正确的位置,使得Spring Boot框架自动调用、装配
此外,在纽约开会的时候,项目方问开发人员的那个某某配置文件放哪里合适的问题,这个问题开发人员想了一下应该不由开发人员回答,而是由美国那边设计,因为开发人员并不知道具体是什么配置,当然美国如果不规定的话开发人员这边也可以根据情况设计,比如说如果是key-value型的配置即可放在redis中。
相关文章:
美国高速公路信号灯控制项目的大致逻辑和步骤 智慧公路设计
美国高速公路信号灯控制项目的大致逻辑和步骤: 美国那边先提供一个关于具体做什么需求、那边的设备(信号灯)有什么参数,什么接口,分别是什么属性等等的详细设计文档,开发人员拿到这个文档以后把它看懂&…...
数字电源专用IC,国产C2000, QX320F280049
一、特性参数 1、独立双核,32位CPU,单核主频400MHz 2、IEEE 754 单精度浮点单元 (FPU) 3、三角函数单元 (TMU) 4、1MB 的 FLASH (ECC保护) 5、1MB 的 SRAM (ECC保护&…...
第六章 ARM汇编语言程序设计【嵌入式系统】
第六章 ARM汇编语言程序设计【嵌入式系统】前言推荐第六章 ARM汇编语言程序设计6.1 概述6.2 ARM汇编语言指示符6.3 ARM编程举例6.4 ARM过程调用6.5 典型举例6.6 内嵌汇编C与汇编相互调用最后前言 以下内容源自《【嵌入式系统】》 仅供学习交流使用 推荐 无 第六章 ARM汇编语…...
详细讲讲Java线程的状态
TERMINATED状态 是什么状态? 在Java线程的生命周期中,TERMINATED状态是线程的最终状态,表示线程已经执行完毕并已经退出。当一个线程完成了它的工作,或者因为异常而提前结束时,它会进入TERMINATED状态。此时线程不再执…...

企业月结快递管理教程
回答这个问题的之前,我们先来看看什么是企业月结快递管理...... 经济的发展,技术的进步,电商行业的加持之下,这几年快递行业的发展有目共睹。不仅是我们的生活离不开快递,很多企业的运作多多少少也离不开“快递”二字…...
cm cdp告警 Swap Memory Usage Suppress...
原因:服务器没有关swap,服务使用了swap 在cdp集群中,一般要关掉swap,如果没有关。可以使用 下面命令设置程序尽可能不使用swap,使用swap会影响性能 修改后,重启服务就不会使用swap了 sysctl -w vm.swappi…...

3.8——友元
类的主要特点之一是信息隐藏和封装,即类的私有成员和保护成员只能在定义的范围内使用,也就是说私有成员和保护成员只能通过类的成员函数来访问。但是,有时候我们在类外也需要访问私有成员数据或保护成员数据怎么办。这时我们就要通过友元函数…...
C++ OOP Feature Conclusion (更新中)
目录 1.类与对象 1.1 基本概念(继承、封装、抽象、多态) 1.2类的声明 1.3成员函数(对象所占空间取决于数据成员,和成员函数无关) 1.4数据成员(不能在类中初始化) 1.5构造与析构函数(…...

【HTTP】Cookie、Session、Token以及Cookie优化
Cookie、Session、TokenCookie优化Cookie、Session、Token 在开始介绍Cookie安全之前,我们先来了解一下实现授权的方式。 在登录功能中,为了记住登录成功后的信息,在客户端,我们通常会使用Cookie来记录,但是…...
npm之报错:Error: EACCES: permission denied, access ‘/usr/local/lib/node_modules‘
1.报错 363 error [Error: EACCES: permission denied, rename ‘/usr/local/lib/node_modules/tldr’ -> ‘/usr/local/lib/node_modules/.tldr-8nq4AGAt’] { 363 error errno: -13, 363 error code: ‘EACCES’, 363 error syscall: ‘rename’, 363 error path: ‘/usr/…...
「SQL面试题库」 No_30 超过5名学生的课
🍅 1、专栏介绍 「SQL面试题库」是由 不是西红柿 发起,全员免费参与的SQL学习活动。我每天发布1道SQL面试真题,从简单到困难,涵盖所有SQL知识点,我敢保证只要做完这100道题,不仅能轻松搞定面试࿰…...
自定义maven插件,在项目中命令启动springboot并加载当前项目资源
背景 最近在制定团队内公用的基础框架,基于单应用多module的架构思路,使用maven管理项目依赖,在项目中定义了一个springboot模块,该模块依赖具体的业务实现模块,启动后通过扫描路径下的类加载服务,业务开发…...
Linux系统【Centos7】更新内核更新软件详细教程
更新内核: 1. 打开终端,输入命令 sudo yum update,等待更新完成。 2. 重启系统,输入命令 sudo reboot。 3. 在 GRUB 引导界面,选择最新的内核版本,按下回车键进入系统。 4. 在终端中输入命令 uname -r&…...
C++ 中new/delete与malloc/free详解
文章目录前言一、new/delete1. 序言2. 使用方法2.1. new 和 delete 基本语法2.2. new 和 delete 的底层实现原理3. 底层原理3.1. operator new 和 operator delete3.2. new 和 delete 的底层实现原理4. 注意事项5. 总结二、malloc/free1. 序言2. 使用方法2.1. malloc 和 free 基…...

crm软件哪个好?该如何选择?
crm软件哪个好?该如何选择? 首先我们需要明确一下什么是好的CRM系统,优质的CRM系统应该具备以下优势: 1)提高销售效率:通过CRM系统,销售人员可以跟踪客户互动历史和交易记录,了解客…...

蓝桥杯第22天(Python)(疯狂刷题第5天)
题型: 1.思维题/杂题:数学公式,分析题意,找规律 2.BFS/DFS:广搜(递归实现),深搜(deque实现) 3.简单数论:模,素数(只需要…...

软件测试面试常问的问题有哪些?
互联发展是很快的,每年都会有新语言的诞生。 我干测试已经三年了,主要负责web功能测试,java编写接口自动化,APP功能测试,APP 接口自动化(也是用的java),面过得测试也差不多30个&…...
js之文件信息读取篇高级基础
文章目录js之文件信息读取(FileReader)获取文件相关信息的两种方式js原生拖拽事件js之文件信息读取(FileReader) 首先这里面会讲一些知识点 bolb 对象FileReader对象 let blob new Blob([heewwekgewgwer], { type: text/plain …...

SQL Server的死锁说明
死锁指南一、了解死锁二、检测并结束死锁2.1、可能死锁的资源三、处理死锁四、最大限度地减少死锁4.1、以相同的顺序访问对象4.2、避免事务中的用户交互4.3、保持交易简短且在一个批次中4.4、使用较低的隔离级别4.5、使用基于行版本控制的隔离级别4.6、使用绑定连接4.7、停止事…...
关于#define的一些小知识
目录 一,#define的声明格式: 二,#define宏的作用是为了完成替换 #define的替换规则: 三,#define使用时常犯的错误 四,宏与函数的比较 4.1,什么时候使用宏? 4.1,…...

日语AI面试高效通关秘籍:专业解读与青柚面试智能助攻
在如今就业市场竞争日益激烈的背景下,越来越多的求职者将目光投向了日本及中日双语岗位。但是,一场日语面试往往让许多人感到步履维艰。你是否也曾因为面试官抛出的“刁钻问题”而心生畏惧?面对生疏的日语交流环境,即便提前恶补了…...

python/java环境配置
环境变量放一起 python: 1.首先下载Python Python下载地址:Download Python | Python.org downloads ---windows -- 64 2.安装Python 下面两个,然后自定义,全选 可以把前4个选上 3.环境配置 1)搜高级系统设置 2…...
【磁盘】每天掌握一个Linux命令 - iostat
目录 【磁盘】每天掌握一个Linux命令 - iostat工具概述安装方式核心功能基础用法进阶操作实战案例面试题场景生产场景 注意事项 【磁盘】每天掌握一个Linux命令 - iostat 工具概述 iostat(I/O Statistics)是Linux系统下用于监视系统输入输出设备和CPU使…...

优选算法第十二讲:队列 + 宽搜 优先级队列
优选算法第十二讲:队列 宽搜 && 优先级队列 1.N叉树的层序遍历2.二叉树的锯齿型层序遍历3.二叉树最大宽度4.在每个树行中找最大值5.优先级队列 -- 最后一块石头的重量6.数据流中的第K大元素7.前K个高频单词8.数据流的中位数 1.N叉树的层序遍历 2.二叉树的锯…...

使用 Streamlit 构建支持主流大模型与 Ollama 的轻量级统一平台
🎯 使用 Streamlit 构建支持主流大模型与 Ollama 的轻量级统一平台 📌 项目背景 随着大语言模型(LLM)的广泛应用,开发者常面临多个挑战: 各大模型(OpenAI、Claude、Gemini、Ollama)接口风格不统一;缺乏一个统一平台进行模型调用与测试;本地模型 Ollama 的集成与前…...

企业如何增强终端安全?
在数字化转型加速的今天,企业的业务运行越来越依赖于终端设备。从员工的笔记本电脑、智能手机,到工厂里的物联网设备、智能传感器,这些终端构成了企业与外部世界连接的 “神经末梢”。然而,随着远程办公的常态化和设备接入的爆炸式…...

GC1808高性能24位立体声音频ADC芯片解析
1. 芯片概述 GC1808是一款24位立体声音频模数转换器(ADC),支持8kHz~96kHz采样率,集成Δ-Σ调制器、数字抗混叠滤波器和高通滤波器,适用于高保真音频采集场景。 2. 核心特性 高精度:24位分辨率,…...

VM虚拟机网络配置(ubuntu24桥接模式):配置静态IP
编辑-虚拟网络编辑器-更改设置 选择桥接模式,然后找到相应的网卡(可以查看自己本机的网络连接) windows连接的网络点击查看属性 编辑虚拟机设置更改网络配置,选择刚才配置的桥接模式 静态ip设置: 我用的ubuntu24桌…...

mac:大模型系列测试
0 MAC 前几天经过学生优惠以及国补17K入手了mac studio,然后这两天亲自测试其模型行运用能力如何,是否支持微调、推理速度等能力。下面进入正文。 1 mac 与 unsloth 按照下面的进行安装以及测试,是可以跑通文章里面的代码。训练速度也是很快的。 注意…...
WEB3全栈开发——面试专业技能点P7前端与链上集成
一、Next.js技术栈 ✅ 概念介绍 Next.js 是一个基于 React 的 服务端渲染(SSR)与静态网站生成(SSG) 框架,由 Vercel 开发。它简化了构建生产级 React 应用的过程,并内置了很多特性: ✅ 文件系…...