- ISO 14229 诊断服务测试要求概述
小马测试之道
#车载测试全栈指南车载系统
ISO14229诊断服务测试要求概述大家好!我是小马,今天要和大家分享汽车电子领域另一个重要标准——ISO14229统一诊断服务(UDS)的测试要求。作为汽车诊断通信的基础,UDS协议对于车辆故障诊断、ECU刷新和维护至关重要。无论你是诊断工具开发者,还是ECU软件工程师,这篇文章都能帮你理清UDS测试的关键环节。让我们一起深入了解如何确保诊断服务的可靠性和一致性吧!1.标准简介ISO14229是
- SM国密算法深度解析与技术实践
安全
SM国密算法深度解析与技术实践一、算法体系概述SM系列密码算法是由中国国家密码管理局发布的商用密码标准体系,涵盖非对称加密、对称加密、杂凑算法、标识密码等多个领域。其核心组件包括:SM2:基于椭圆曲线的非对称加密算法(GB/T32918)SM3:密码杂凑算法(GB/T32905)SM4:分组对称加密算法(GB/T32907)与国际算法对比类型国密算法国际标准密钥长度安全强度非对称加密SM2RSA-
- 洛谷 P11293 [NOISG 2022 Qualification] L-Board
Yingye Zhu(HPXXZYY)
思维题前缀和算法
[Analysis]\texttt{\color{blue}{[Analysis]}}[Analysis]很显然,对于单个点来说,它的第一项对答案的贡献就是往左最大连续子段和和往右最大连续子段和的较大值,第二项对答案的贡献就是往上的最大连续子段和和往下的最大连续子段和的较大值,第三项是本身。于是把问题转化为求最大连续子段和。当然这个问题可以用一个经典的dp解决。但是对于一个退役的大学生来说,问题应
- Lua语法详解之自带库
MagicianThirteen
Lua相关lua游戏开发unity3d
--自带库--string--table--时间print(os.time())--1601168290print(os.time({year=2020,month=9,day=25}))--1601006400--os.date("*t")传回来的是张表localnow=os.date("*t")print(now)--table:0x7fa99f604360for<
- Centos7部署Graylog5.2日志系统
LoongKK
linux运维linuxsshgraylogcentos日志
Graylog5.2部署Graylog5.2适配MongoDB5.x~6.x,MongoDB5.0+要求CPU支持AVX指令集。主机说明localhost部署Graylog,需要安装mongodb-org-6.0、Elasticsearch7.10.2参考:https://blog.csdn.net/qixiaolinlin/article/details/129966703https://blo
- uni-app的滚动加载 uni-load-more组件使用
weixin_42885875
手机端的滚动加载其实就是PC端的分页,触底之后页数加一调用接口,将返回的数据连接在原来的数据后面,就大致完成了。使用组件https://ext.dcloud.net.cn/plugin?id=29exportdefault{data(){return{ifBottomRefresh:false,loadmore:'more',contentText:{"contentdown":"加载更多数据",
- 使用Docker部署MySQL8.0.29
九思x
docker
第一步:拉取镜像dockerpullmysql:8.0.29作用:从DockerHub拉取MySQL8.0.29官方镜像。第二步:启动容器dockerrun--nameshare_mysql\--restart=always\-vmysql-data:/var/lib/mysql\-p3306:3306\-eMYSQL_ROOT_PASSWORD=root\-dmysql:8.0.29参数说明:-
- 使用pygame开发一个小游戏
k_e_e_p
pygamepython开发语言
学习了pygame,身为一个IKUN所以,做了一个简单的小游戏。游戏规则是,使用键盘的方向键控制坤坤,当坤坤触碰到篮球,就会爆发出音乐”只因你太美“。代码如下:importrandomimportsysimportpygamepygame.init()screen=pygame.display.set_mode((495,299))pygame.display.set_caption("篮球和鸡"
- C语言-排序
<三木>
C/C++杂碎的知识点c语言算法数据结构
C语言-排序冒泡排序选择排序冒泡排序两两比较,大的放后面。每比较一轮,记录交换的次数。当交换的次数为零时,则表示排序完成。chara[10]={9,5,1,2,4,7,6,8,3,0};9大于5交换59124768309大于1交换51924768309大于2交换51294768309大于4交换51249768309大于7交换51247968309大于6交换51247698309大于8交换51247
- 2953. 统计完全子字符串(将题目中给的信息进行分组循环)
娇娇yyyyyy
每日一题算法
思路:根据题目中所给的第二个信息我们可以提取到至多相差2,说明相邻字母相减的绝对值小于等于2,一共有26个字母,因此我们可以枚举有多种不同的字母,因此每个窗口的大小为m*k,即在该窗口内有m个不同的字母,每一个均出现k次,暴力滑动窗口即可(tips:最后几个点实在过不去,可能是我用multiset的原因)classSolution{public:intcountCompleteSubstrings
- 一年狂揽270亿新订单,德赛西威开启「狂飙」模式
高工智能汽车
人工智能
德赛西威在汽车智能网联产业的龙头地位还在进一步稳固,这从其刚刚公布的2024年年报中可见一斑。2024年,德赛西威实现营业收入276.18亿元,同比增长26.06%,归属于上市公司股东的净利润20.05亿元,同比增长29.62%。综合来看,德赛西威的多项核心业务在2024年均显示了强劲的增长势头,尤其是智能座舱和智能驾驶业务凭借产品迭代升级,在客户新增与市场渗透率方面持续攀升,此外海外业务成长为新
- 【UI设计】一些好用的免费图标素材网站
IT古董
前端设计ui素材
阿里巴巴矢量图标库https://www.iconfont.cn/国内最大的矢量图标库之一,拥有800万+图标资源。特色功能包括团队协作、多端适配、定制化编辑等,适合企业级项目、电商设计、中文产品开发等场景。IconParkhttps://iconpark.oceanengine.com/home字节跳动旗下的免费矢量图、图标库平台。提供超过2400+基础图标,29种图标分类,支持4种主题和在线换
- 第四章:ESP32零基础教学 - 4.2继电器、舵机与L298N电机
龙大大L
ESP32arduino单片机嵌入式硬件stm32
一、硬件准备ESP32开发板5V继电器模块9g微型舵机(SG90)L298N电机驱动模块DC电机(6-12V)面包板与杜邦线外部电源(用于电机供电)二、继电器控制接线说明继电器引脚ESP32引脚VCC5VGNDGNDINGPIO23代码实现#defineRELAY_PIN23//继电器信号引脚voidsetup(){pinMode(RELAY_PIN,OUTPUT);//设置引脚为输出模式}voi
- leetcode29. 两数相除-medium
智趣代码实验室
Leetcodeleetcodec++
1题目:两数相除官方标定难度:中给你两个整数,被除数dividend和除数divisor。将两数相除,要求不使用乘法、除法和取余运算。整数除法应该向零截断,也就是截去(truncate)其小数部分。例如,8.345将被截断为8,-2.7335将被截断至-2。返回被除数dividend除以除数divisor得到的商。注意:假设我们的环境只能存储32位有符号整数,其数值范围是[−231,231−1]。
- Python接口自动化
花落同学
Python自动化从入门到放弃python自动化
4接口自动化4.1使用python实现接口自动化如果不了解接口测试可参考https://ke.qq.com/course/4092904使用Python的request库实现接口测试:importjsonimportrequests#使用session管理:#1.可以自动关联set-cookie里面的内容#2.可以加快与服务器的连接速度session=requests.session()#auth
- 进制转换(R转十)(1290. 二进制转换十进制、1292. 十六进制转十进制、1291. 八进制转十进制、1405. 小丽找潜在的素数)
是帅帅的少年
东方博宜OJ题库解析算法c++数据结构
题单地址:题单中心-东方博宜OJ这里以二进制转十进制为例(按位加权求和法)1290.二进制转换十进制问题描述请将一个25位以内的2进制正整数转换为1010进制!输入一个25位以内的二进制正整数。输出该数对应的十进制。样例输入111111111111111111111111输出16777215解析:按位加权(2^n)求和法。#includeusingnamespacestd;intmain(){st
- 光影香江聚四海,蓝陵科技扬帆数字内容新蓝海
LhcyyVSO
人工智能大数据
3月20日,第29届香港国际影视展(FILMART)圆满收官,这场亚洲顶级行业盛会吸引了34个国家和地区逾760家机构参展,搭建起全球影视产业深度对话的桥梁。蓝陵科技携三大创新数字解决方案惊艳亮相,与各国行业领袖共探影视工业化转型路径,开启文化科技出海新篇章。数字基建赋能构建全球合作生态在1B-D17展区,蓝陵科技通过影视动漫渲染、vLive虚拟直播、AI跨境电商直播数字人三大技术矩阵,向国际客商
- table合并行
花归去
vue3elementvue.jsjavascriptelementui
{{scope.row.gdLength/10}}importtype{TableColumnCtx}from'element-plus';consttableData=[{"id":6140,"projectId":1306,"projectName":"","sectionId":12985,"sectionName":"YYZQ-9标","tunnelId":96160,"tunnelNam
- python动物识别系统(仅有识别功能)
OnlySecondS
''@Time:2022/03/298:39@Author:11863@File:AIS_main.py@software:PyCharm'''rules={}#以字典形式存储#读取文件defreadRules():rulesFile=open("rules.txt","r",encoding='utf-8')forlineinrulesFile:#按行读取line=line.replace('I
- 【 <二> 丹方改良:Spring 时代的 JavaWeb】之 Spring Boot 中的 RESTful API 设计:从上手到骨折
Foyo Designer
springspringbootrestfulSpringMVCAsyncCrossOrigin
点击此处查看合集https://blog.csdn.net/foyodesigner/category_12907601.html?fromshare=blogcolumn&sharetype=blogcolumn&sharerId=12907601&sharerefer=PC&sharesource=FoyoDesigner&sharefrom=from_link一、开篇整活儿咱今儿个唠唠Spr
- 进制转换(2互转8/16)(1293. 二进制转换八进制、1294. 二进制转十六进制、1359. 八进制转换二进制、1306. 十六进制转二进制、1295. 十六进制转换)
是帅帅的少年
东方博宜OJ题库解析c++
题单地址:题单中心-东方博宜OJ2进制转换8/16进制使用方法是分组法:因为3位2进制数最大是7,4位2进制最大是15,分别满足8进制与16进制的性质,所以3位2进制数=1位8进制数;4位2进制数=1位16进制数。8/16进制转换2进制使用方法是展开法:上面提到3位2进制数=1位8进制数;4位2进制数=1位16进制数,所以每1位的8/16进制数都可以展开为对应的2进制位数。1293.二进制转换八进
- STM32f429串口通信-基于HAL库
大大大冯小小
串口通信stm32嵌入式
STM32f429串口通信接收-基于HAL库串口接收配置步骤1.调用函数HAL_UART_Init(UART_HandleTypeDef*huart)。通过定义结构体类型句柄UART_HandleTypeDef并初始化相关参数来配置串口通信的选用串口、字长、波特率、停止位、奇偶校验位、硬件流控、收发模式、DMA等。UART_HandleTypeDefusart1_handler;//UART句柄结
- 使用 openapi-generator-cli 生成代码,以 3GPP TS29518_Namf_Communication 为例
波格斯特
问题备忘开发语言
使用openapi-generator-cli生成代码,以3GPPTS29518_Namf_Communication为例安装openapi-generator-cli(前提有安装Java11以上)#使用阿里云镜像Invoke-WebRequest-OutFileopenapi-generator-cli.jarhttps://maven.aliyun.com/repository/public/
- python中的类方法,静态方法,对象方法
a174817529
原文地址:http://blog.chinaunix.net/uid-26602509-id-3087296.htmlclassA:count=100def__init__(self,instancedata):self.instancedata=instancedata@staticmethod#静态方法不能访问类参数和实例参数defsm():print"sm"@classmethod#类方法不
- LAMP环境搭建(基于Fedora系统)
后青春期的诗go
服务器操作系统实战资料服务器linux运维
一、环境说明操作系统Fedora-Server-x86-64-29LAMP集成安装包bitnami-lampstack-7.1.25-0-linux-x64-installer.run二、LAMP安装配置1.将bitnami-lampstack-7.1.25-0-linux-x64-installer.run上传至系统2.给与安装程序执行权限,chmodu+xbitnami-lampstack-7
- 【 <二> 丹方改良:Spring 时代的 JavaWeb】之 Spring MVC 的核心组件:DispatcherServlet 的工作原理
Foyo Designer
springmvcjavaservletHandlerMappingViewResolver
点击此处查看合集https://blog.csdn.net/foyodesigner/category_12907601.html?fromshare=blogcolumn&sharetype=blogcolumn&sharerId=12907601&sharerefer=PC&sharesource=FoyoDesigner&sharefrom=from_link一、DispatcherServ
- bitset and valarray
heraldww
c++数学ARMandroid漂亮的UI界面完整的界面设计职场和发展程序人生
记录一个比较少用的容器C++std::bitsethttps://www.cnblogs.com/wangshaowei/p/10297877.htmlvalarrayvalarray面向数值计算的数组,在C++11中才支持支持很多数值数组操作,如求数组总和、最大数、最小数等。需要头文件valarray支持
- 输入某年某月某日,判断这一天是这一年的第几天python
发现文化fu
pythonpython
题目:输入某年某月某日,判断这一天是这一年的第几天python输入某年某月某日,判断这一天是这一年的第几天python思路:*判断闰年能被4整除但不能被100整除,年份能被400整除#方法1sum=0if(year%4==0andyear%100!=0)oryear%400==0:feb=29else:feb=28month_day=[0,31,feb,31,30,31,30,31,31,30,3
- 复旦:过程奖励优化多模态推理
大模型任我行
大模型-模型训练人工智能自然语言处理语言模型论文笔记
标题:VisualPRM:AnEffectiveProcessRewardModelforMultimodalReasoning来源:arXiv,2503.10291摘要我们引入了VisualPRM,这是一种具有8B参数的高级多模态过程奖励模型(PRM),它通过Best-of-N(BoN)评估策略提高了现有多模态大型语言模型(MLLM)在不同模型尺度和族之间的推理能力。具体来说,我们的模型提高了三
- 使用 request 的 axios 状态码分析
fridayCodeFly
前端servlet
request.interceptors.response.use(function(response){},function(error){})后端返回结果code===400不经过response,直接跳到error。当后端返回状态码为400时直接进入error回调而不经过response回调,这是因为axios默认会将状态码不在200-299范围内的响应视为错误。解决1.修改validate
- java线程Thread和Runnable区别和联系
zx_code
javajvmthread多线程Runnable
我们都晓得java实现线程2种方式,一个是继承Thread,另一个是实现Runnable。
模拟窗口买票,第一例子继承thread,代码如下
package thread;
public class ThreadTest {
public static void main(String[] args) {
Thread1 t1 = new Thread1(
- 【转】JSON与XML的区别比较
丁_新
jsonxml
1.定义介绍
(1).XML定义
扩展标记语言 (Extensible Markup Language, XML) ,用于标记电子文件使其具有结构性的标记语言,可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。 XML使用DTD(document type definition)文档类型定义来组织数据;格式统一,跨平台和语言,早已成为业界公认的标准。
XML是标
- c++ 实现五种基础的排序算法
CrazyMizzz
C++c算法
#include<iostream>
using namespace std;
//辅助函数,交换两数之值
template<class T>
void mySwap(T &x, T &y){
T temp = x;
x = y;
y = temp;
}
const int size = 10;
//一、用直接插入排
- 我的软件
麦田的设计者
我的软件音乐类娱乐放松
这是我写的一款app软件,耗时三个月,是一个根据央视节目开门大吉改变的,提供音调,猜歌曲名。1、手机拥有者在android手机市场下载本APP,同意权限,安装到手机上。2、游客初次进入时会有引导页面提醒用户注册。(同时软件自动播放背景音乐)。3、用户登录到主页后,会有五个模块。a、点击不胫而走,用户得到开门大吉首页部分新闻,点击进入有新闻详情。b、
- linux awk命令详解
被触发
linux awk
awk是行处理器: 相比较屏幕处理的优点,在处理庞大文件时不会出现内存溢出或是处理缓慢的问题,通常用来格式化文本信息
awk处理过程: 依次对每一行进行处理,然后输出
awk命令形式:
awk [-F|-f|-v] ‘BEGIN{} //{command1; command2} END{}’ file
[-F|-f|-v]大参数,-F指定分隔符,-f调用脚本,-v定义变量 var=val
- 各种语言比较
_wy_
编程语言
Java Ruby PHP 擅长领域
- oracle 中数据类型为clob的编辑
知了ing
oracle clob
public void updateKpiStatus(String kpiStatus,String taskId){
Connection dbc=null;
Statement stmt=null;
PreparedStatement ps=null;
try {
dbc = new DBConn().getNewConnection();
//stmt = db
- 分布式服务框架 Zookeeper -- 管理分布式环境中的数据
矮蛋蛋
zookeeper
原文地址:
http://www.ibm.com/developerworks/cn/opensource/os-cn-zookeeper/
安装和配置详解
本文介绍的 Zookeeper 是以 3.2.2 这个稳定版本为基础,最新的版本可以通过官网 http://hadoop.apache.org/zookeeper/来获取,Zookeeper 的安装非常简单,下面将从单机模式和集群模式两
- tomcat数据源
alafqq
tomcat
数据库
JNDI(Java Naming and Directory Interface,Java命名和目录接口)是一组在Java应用中访问命名和目录服务的API。
没有使用JNDI时我用要这样连接数据库:
03. Class.forName("com.mysql.jdbc.Driver");
04. conn
- 遍历的方法
百合不是茶
遍历
遍历
在java的泛
- linux查看硬件信息的命令
bijian1013
linux
linux查看硬件信息的命令
一.查看CPU:
cat /proc/cpuinfo
二.查看内存:
free
三.查看硬盘:
df
linux下查看硬件信息
1、lspci 列出所有PCI 设备;
lspci - list all PCI devices:列出机器中的PCI设备(声卡、显卡、Modem、网卡、USB、主板集成设备也能
- java常见的ClassNotFoundException
bijian1013
java
1.java.lang.ClassNotFoundException: org.apache.commons.logging.LogFactory 添加包common-logging.jar2.java.lang.ClassNotFoundException: javax.transaction.Synchronization
- 【Gson五】日期对象的序列化和反序列化
bit1129
反序列化
对日期类型的数据进行序列化和反序列化时,需要考虑如下问题:
1. 序列化时,Date对象序列化的字符串日期格式如何
2. 反序列化时,把日期字符串序列化为Date对象,也需要考虑日期格式问题
3. Date A -> str -> Date B,A和B对象是否equals
默认序列化和反序列化
import com
- 【Spark八十六】Spark Streaming之DStream vs. InputDStream
bit1129
Stream
1. DStream的类说明文档:
/**
* A Discretized Stream (DStream), the basic abstraction in Spark Streaming, is a continuous
* sequence of RDDs (of the same type) representing a continuous st
- 通过nginx获取header信息
ronin47
nginx header
1. 提取整个的Cookies内容到一个变量,然后可以在需要时引用,比如记录到日志里面,
if ( $http_cookie ~* "(.*)$") {
set $all_cookie $1;
}
变量$all_cookie就获得了cookie的值,可以用于运算了
- java-65.输入数字n,按顺序输出从1最大的n位10进制数。比如输入3,则输出1、2、3一直到最大的3位数即999
bylijinnan
java
参考了网上的http://blog.csdn.net/peasking_dd/article/details/6342984
写了个java版的:
public class Print_1_To_NDigit {
/**
* Q65.输入数字n,按顺序输出从1最大的n位10进制数。比如输入3,则输出1、2、3一直到最大的3位数即999
* 1.使用字符串
- Netty源码学习-ReplayingDecoder
bylijinnan
javanetty
ReplayingDecoder是FrameDecoder的子类,不熟悉FrameDecoder的,可以先看看
http://bylijinnan.iteye.com/blog/1982618
API说,ReplayingDecoder简化了操作,比如:
FrameDecoder在decode时,需要判断数据是否接收完全:
public class IntegerH
- js特殊字符过滤
cngolon
js特殊字符js特殊字符过滤
1.js中用正则表达式 过滤特殊字符, 校验所有输入域是否含有特殊符号function stripscript(s) { var pattern = new RegExp("[`~!@#$^&*()=|{}':;',\\[\\].<>/?~!@#¥……&*()——|{}【】‘;:”“'。,、?]"
- hibernate使用sql查询
ctrain
Hibernate
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import org.hibernate.Hibernate;
import org.hibernate.SQLQuery;
import org.hibernate.Session;
import org.hibernate.Transa
- linux shell脚本中切换用户执行命令方法
daizj
linuxshell命令切换用户
经常在写shell脚本时,会碰到要以另外一个用户来执行相关命令,其方法简单记下:
1、执行单个命令:su - user -c "command"
如:下面命令是以test用户在/data目录下创建test123目录
[root@slave19 /data]# su - test -c "mkdir /data/test123" 
- 好的代码里只要一个 return 语句
dcj3sjt126com
return
别再这样写了:public boolean foo() { if (true) { return true; } else { return false;
- Android动画效果学习
dcj3sjt126com
android
1、透明动画效果
方法一:代码实现
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{
View rootView = inflater.inflate(R.layout.fragment_main, container, fals
- linux复习笔记之bash shell (4)管道命令
eksliang
linux管道命令汇总linux管道命令linux常用管道命令
转载请出自出处:
http://eksliang.iteye.com/blog/2105461
bash命令执行的完毕以后,通常这个命令都会有返回结果,怎么对这个返回的结果做一些操作呢?那就得用管道命令‘|’。
上面那段话,简单说了下管道命令的作用,那什么事管道命令呢?
答:非常的经典的一句话,记住了,何为管
- Android系统中自定义按键的短按、双击、长按事件
gqdy365
android
在项目中碰到这样的问题:
由于系统中的按键在底层做了重新定义或者新增了按键,此时需要在APP层对按键事件(keyevent)做分解处理,模拟Android系统做法,把keyevent分解成:
1、单击事件:就是普通key的单击;
2、双击事件:500ms内同一按键单击两次;
3、长按事件:同一按键长按超过1000ms(系统中长按事件为500ms);
4、组合按键:两个以上按键同时按住;
- asp.net获取站点根目录下子目录的名称
hvt
.netC#asp.nethovertreeWeb Forms
使用Visual Studio建立一个.aspx文件(Web Forms),例如hovertree.aspx,在页面上加入一个ListBox代码如下:
<asp:ListBox runat="server" ID="lbKeleyiFolder" />
那么在页面上显示根目录子文件夹的代码如下:
string[] m_sub
- Eclipse程序员要掌握的常用快捷键
justjavac
javaeclipse快捷键ide
判断一个人的编程水平,就看他用键盘多,还是鼠标多。用键盘一是为了输入代码(当然了,也包括注释),再有就是熟练使用快捷键。 曾有人在豆瓣评
《卓有成效的程序员》:“人有多大懒,才有多大闲”。之前我整理了一个
程序员图书列表,目的也就是通过读书,让程序员变懒。 写道 程序员作为特殊的群体,有的人可以这么懒,懒到事情都交给机器去做,而有的人又可
- c++编程随记
lx.asymmetric
C++笔记
为了字体更好看,改变了格式……
&&运算符:
#include<iostream>
using namespace std;
int main(){
int a=-1,b=4,k;
k=(++a<0)&&!(b--
- linux标准IO缓冲机制研究
音频数据
linux
一、什么是缓存I/O(Buffered I/O)缓存I/O又被称作标准I/O,大多数文件系统默认I/O操作都是缓存I/O。在Linux的缓存I/O机制中,操作系统会将I/O的数据缓存在文件系统的页缓存(page cache)中,也就是说,数据会先被拷贝到操作系统内核的缓冲区中,然后才会从操作系统内核的缓冲区拷贝到应用程序的地址空间。1.缓存I/O有以下优点:A.缓存I/O使用了操作系统内核缓冲区,
- 随想 生活
暗黑小菠萝
生活
其实账户之前就申请了,但是决定要自己更新一些东西看也是最近。从毕业到现在已经一年了。没有进步是假的,但是有多大的进步可能只有我自己知道。
毕业的时候班里12个女生,真正最后做到软件开发的只要两个包括我,PS:我不是说测试不好。当时因为考研完全放弃找工作,考研失败,我想这只是我的借口。那个时候才想到为什么大学的时候不能好好的学习技术,增强自己的实战能力,以至于后来找工作比较费劲。我
- 我认为POJO是一个错误的概念
windshome
javaPOJO编程J2EE设计
这篇内容其实没有经过太多的深思熟虑,只是个人一时的感觉。从个人风格上来讲,我倾向简单质朴的设计开发理念;从方法论上,我更加倾向自顶向下的设计;从做事情的目标上来看,我追求质量优先,更愿意使用较为保守和稳妥的理念和方法。
&