- 使用python反射,实现pytest读取yaml并发送请求
南部余额
pythonpythonpytest
pytest+yamlyaml-feature:用户模块story:登录title:添加用户request:method:POSTurl:/system/user/listheaders:nullparams:nullvalidate:nullread_yaml_alldefread_yaml_all(path):withopen(path,'r',encoding='utf-8')asf:val
- 【大模型实战篇】使用GPTQ量化QwQ-32B微调后的推理模型
源泉的小广场
大模型大模型量化推理模型量化量化qwq32bgptq量化大模型推理性能调优
1.量化背景之所以做量化,就是希望在现有的硬件条件下,提升性能。量化能将模型权重从高精度(如FP32)转换为低精度(如INT8/FP16),内存占用可减少50%~75%。低精度运算(如INT8)在GPU等硬件上计算效率更高,推理速度可提升2~4倍。我们的任务是,将QwQ-32B微调后的推理模型,也就是bf16的精度,通过量化,压缩到int4。关于QwQ-32B微调,可以参考《利用ms-swift微
- 机器学习中输入输出Tokens的概念详解
爱吃土豆的程序员
机器学习基础机器学习人工智能Tokens
随着深度学习技术的快速发展,大语言模型(LargeLanguageModels,LLMs)已经成为自然语言处理(NLP)领域的一个热点研究方向。这些模型不仅能够生成高质量的文本,还能在多种任务中展现出卓越的表现,比如机器翻译、问答系统、文本摘要等。在大语言模型的工作流程中,Tokens的概念扮演着至关重要的角色。本文将详细介绍大语言模型如何使用Tokens,以及如何计算Tokens的数量。什么是T
- 基于Gradio实现的增删改查(CRUD)模板系统设计方案
大霸王龙
pythongradio
基于Gradio实现的增删改查(CRUD)模板系统设计方案,结合了交互界面优化与数据持久化方案,支持本地JSON存储和动态界面更新:一、系统架构设计数据存储层采用JSON文件实现数据持久化(data.json)数据结构示例:{"items":[{"id":1,"name":"示例项目","category":"测试","status":"进行中"}]}界面交互层使用gr.Blocks实现多组件布局
- LLM-PowerHouse: 一站式大型语言模型定制训练与推理指南
Nifc666
语言模型人工智能自然语言处理whisperlangchaingpt开源软件
LLM-PowerHouse:解锁大型语言模型的潜力在人工智能和自然语言处理领域,大型语言模型(LargeLanguageModels,LLMs)正在掀起一场革命。随着GPT、BERT等模型的出现,LLMs展现出了惊人的能力,可以执行各种复杂的语言任务。然而,如何有效地训练和使用这些强大的模型仍然是一个挑战。针对这一需求,GitHub上的LLM-PowerHouse项目应运而生,为开发者、研究人员
- java监听mq消息_Java ActiveMQ 讲解(二)Spring ActiveMQ整合+注解消息监听
清风明月人间
java监听mq消息
对于ActiveMQ消息的发送,原声的api操作繁琐,而且如果不进行二次封装,打开关闭会话以及各种创建操作也是够够的了。那么,Spring提供了一个很方便的去收发消息的框架,springjms。整合Spring后,代码不仅变得非常优雅,而且易用性和扩展性更好。废话不多说,直接开搞。1.maven依赖org.apache.xbeanxbean-spring3.16org.springframewor
- 【人工智能】【Python】在Scikit-Learn中使用决策树算法(ID3和CART)
SmallBambooCode
机器学习人工智能python算法scikit-learn决策树机器学习ai
importnumpyasnpimportmatplotlib.pyplotaspltfromsklearn.datasetsimportload_irisfromsklearn.model_selectionimporttrain_test_splitfromsklearn.treeimportDecisionTreeClassifier,plot_tree#加载数据集iris=load_iri
- MultiCodeBench:首个涵盖 12 个特定软件应用领域和 15 种编程语言的代码生成基准测试
数据集
2024-12-25,由中山大学、西安交通大学、重庆大学共同创建的MultiCodeBench,填补了特定应用领域代码生成性能评估的空白,为开发者选择适合的LLM提供了实践洞见。一、研究背景:随着大型语言模型(LLMs)在代码生成任务中展现出卓越性能,越来越多的AI编程助手被集成到实际的软件开发环境中,显著提升了开发效率。然而,现有的代码生成基准测试主要集中在通用场景,对于LLMs在特定应用领域的
- MQ和ActiveMQ浅析
星星都没我亮
ActiveMQactivemq
文章目录什么是JMSMQ消息中间件应用场景异步通信缓冲解耦冗余扩展性可恢复性顺序保证过载保护数据流处理常用消息队列(ActiveMQ、RabbitMQ、RocketMQ、Kafka)比较JMS中的一些角色BrokerproviderConsumerp2ppub/subPTP和PUB/SUB简单对QueueTopicConnectionFactoryConnectionDestinationSess
- 算法每日一练 (13)
张胤尘
算法每日一练算法数据结构
欢迎来到张胤尘的技术站技术如江河,汇聚众志成。代码似星辰,照亮行征程。开源精神长,传承永不忘。携手共前行,未来更辉煌文章目录算法每日一练(13)全排列II题目描述解题思路解题代码`c/c++``golang``lua`官方站点:力扣Leetcode算法每日一练(13)全排列II题目地址:全排列II题目描述给定一个可包含重复数字的序列nums,按任意顺序返回所有不重复的全排列。示例1:输入:nums
- 美国首例AI训练数据版权案:从汤森路透诉罗斯案看AI训练数据的“合理使用”
人工智能
随着人工智能(AI)技术的快速发展和广泛应用,复杂的版权问题也随之而来。2025年2月11日,美国特拉华州联邦地区法院对汤森路透(ThomsonReuters)诉罗斯(Ross)案作出部分简易判决,认定被告罗斯公司未经授权使用受版权保护的作品训练AI法律检索工具的行为构成版权侵权,且不属于合理使用。[1]这是美国首个就AI训练数据作出实质性判决的案件。本文将重点分析其合理使用论述中对于“转换性目的
- 【人工智能基础2】Tramsformer架构、自然语言处理基础、计算机视觉总结
roman_日积跬步-终至千里
人工智能习题人工智能自然语言处理计算机视觉
文章目录七、Transformer架构1.替代LSTM的原因2.Transformer架构:编码器-解码器架构3.Transformer架构原理八、自然语言处理基础1.语言模型基本概念2.向量语义3.预训练语言模型的基本原理与方法4.DeepSeek基本原理九、计算机视觉七、Transformer架构1.替代LSTM的原因处理极长序列时,效率下降:虽然LSTM设计的初衷是解决长期依赖问题,即让模型
- python绘制密度散点图
龟速前进
anaconda可视化python
头大,外行人做个图咋这么难,趋势线还没有研究出来怎么加上去,哎importmatplotlib.pyplotaspltfromscipy.statsimportgaussian_kdefrommpl_toolkits.axes_grid1importmake_axes_locatableimportnumpyasnpimportpandasaspdfromdbfreadimportDBFdata=
- 自我学习: Django-用户登录+中间件
yzybang
django中间件学习
以form来做,因为form没有写入能力,比较安全fromdjango.shortcutsimportrender,HttpResponse,redirectfromapp01importmodelsfromdjangoimportformsfromapp01.utils.encryptimportmd5#form需自己定义“字段”classLoginForm(forms.Form):name=f
- ST-Align:一个包含430万训练样本,涵盖了15种细粒度多模态数据集
数据集
2025-01-15,由北航大学、合肥工业大学、中科院信息工程研究所和美团等机构联合创建介绍了一种名为LLaVA-ST的多模态大型语言模型。该模型配备了一个名为ST-Align的数据集,专为细粒度时空多模态理解设计。一、研究背景近年来,多模态大型语言模型(MLLMs)在多模态理解方面取得了显著进展,能够基于图像或视频生成对话或描述。然而,对于需要基于语言输入处理视觉坐标的细粒度多模态理解任务,现有
- s1K 数据集:是一个用于提升语言模型推理能力的高质量数据集。
数据集
2025-02-07,由斯坦福大学、华盛顿大学等研究机构创建了s1K数据集,该数据集包含1,000个精心挑选的问题,并配以推理轨迹和答案,为语言模型推理能力的提升提供了重要的数据基础。一、研究背景近年来,语言模型(LMs)在大规模预训练的基础上取得了显著进展,其性能提升主要依赖于训练时计算资源的增加。然而,随着模型规模的不断扩大,训练成本也急剧上升。为了在有限的资源下进一步提升模型性能,研究者们开
- 读取RAMS输出文件(RAMS-ISAN文件)的基本程序
Hardess-god
RAMS人工智能
importnumpyasnpfromnetCDF4importDatasetimportxarrayasxrdefread_rams_data(filename):"""读取RAMS输出文件的基本函数"""try:#使用xarray打开文件ds=xr.open_dataset(filename)#提取基本变量temp=ds['THETA'].values#位温pressure=ds['PI'].
- 2025年机械工程、船舶与材料工程国际会议(ICMESME 2025)
投稿、参会咨询
理科材料工程机械工程国际会议
2025InternationalConferenceonMechanicalEngineering,ShipandMaterialsEngineering一、大会信息会议简称:ICMESME2025大会地点:中国·桂林收录检索:提交EiCompendex,CPCI,CNKI,GoogleScholar等二、会议简介2025年机械工程、船舶与材料工程国际会议(简称ICMEMSE2025)即将在风景
- Python学习第十九天
Leo来编程
Python学习学习python
Django-分页后端分页Django提供了Paginator类来实现后端分页。Paginator类可以将一个查询集(QuerySet)分成多个页面,每个页面包含指定数量的对象。fromdjango.shortcutsimportrender,redirect,get_object_or_404from.modelsimportUserfrom.formsimportUserFormfromdja
- Moonlight Stream 和 SteamLink 远程串流失败问题解决
橙橙橙橙辰
运维网络batch
MoonlightStream和SteamLink远程串流失败问题解决问题描述在使用MoonlightStream或者SteamLink进行远程串流时,如果远程PC重启,或者被其他设备使用远程桌面(mstsc,rdp)登录过,则会出现串流失败的问题:SteamLink:锁屏界面卡弹窗MoonlightStream:远程PC显示感叹号如下图所示:其实问题原因是重启或者远程登录都会导致远程PC被锁定,
- 使用python3批量查询ip9000.txt的9000端口标题
longerxin2020
Linux脚本集合python开发语言
fromseleniumimportwebdriverfromselenium.webdriver.chrome.optionsimportOptionsfromselenium.common.exceptionsimportWebDriverException#配置chromium浏览器选项options=Options()options.binary_location="/usr/bin/ch
- linux下使用curl访问多参数url
耘田
Linuxcurllinuxurl多参数
curl-ihttp://marsoffset.goforandroid.com/GoSmsMarService/abc?a=116.397428&b=39.90923[1]8741[jb-xccheng@usa-ip-12~]$HTTP/1.1500InternalServerErrorServer:nginx/1.2.0Date:Wed,20Jun201204:16:21GMTContent-
- 人工智能直通车系列24【机器学习基础】(机器学习模型评估指标(回归))
浪九天
人工智能直通车开发语言python机器学习深度学习神经网络人工智能
目录机器学习模型评估指标(回归)1.均方误差(MeanSquaredError,MSE)2.均方根误差(RootMeanSquaredError,RMSE)3.平均绝对误差(MeanAbsoluteError,MAE)4.决定系数(CoefficientofDetermination,R2)机器学习模型评估指标(回归)1.均方误差(MeanSquaredError,MSE)详细解释均方误差是回归问
- Redis 安装详细教程(小白版)
小小鸭程序员
springjavaAI编程springcloudredis
一、Windows系统安装Redis方法1:直接安装(推荐新手)下载RedisforWindows访问微软维护的Redis版本:https://github.com/microsoftarchive/redis/releases下载Redis-x64-3.2.100.msi(或最新版本)安装包。安装Redis双击下载的.msi文件点击下一步,勾选“AddRedisinstallationfolde
- rStar论文精读
MoyiTech
推理模型OpenAI-O1原理
论文简介论文标题:《MutualreasoningmakessmallerLLMsstrongerproblem-solvers》论文地址:https://arxiv.org/abs/2408.06195录用会议:ICLR2025背景与挑战挑战1:在SLM中平衡exploration与exploitation。一些方法有很大的exploitation但限制任务多样性泛化性不好;一些方法有很大的ex
- 803A. Maximal Binary Matrixcon
弗雷德的青蛙
pythonconstructive算法
题目链接:https://codeforces.com/problemset/problem/803/Atimelimitpertest:1second;memorylimitpertest:256megabytesYouaregivenmatrixwithnrowsandncolumnsfilledwithzeroes.Youshouldputkonesinitinsuchawaythatthe
- 浩方wms:什么是海外仓WMS系统?作用是什么?
haofang_software
大数据个人开发sass数据库科技
浩方动力科技认为,海外仓作为连接卖家与海外消费者的关键节点,其重要性愈发凸显。海外仓WMS系统(WarehouseManagementSystem),作为一种专门针对海外仓运营的信息化管理系统,正成为提升海外仓运营效率和服务水平的得力助手。什么是海外仓WMS系统呢?海外仓管理系统又有什么作用?浩方WMS,今天来为大家讲解一下海外仓WMS的作用和意义。海外仓WMS系统,顾名思义,是专为海外仓储业务设
- 突破反爬终极指南:如何用Python实现100%隐形数据抓取(附实战代码)
煜bart
机器人人工智能web3.py
引言:当爬虫遭遇铜墙铁壁2023年Q2最新统计显示,全球Top100网站中89%部署了AI驱动的反爬系统,传统爬虫存活率暴跌至17%。本文将揭秘一套基于深度伪装技术的爬虫方案,在最近三个月实测中保持100%成功率,成功突破Cloudflare、Distil等顶级防护系统。---###一、指纹伪装:让爬虫"隐身"的核心科技####1.1浏览器指纹深度克隆(代码实现)```pythonfromsele
- [生活] 如何区分 s ms us ns
QT的狗
生活
注意缩写和原词不一定对应喔ssecondmsmillisecondusmicrosecondnsnanosecond
- vue3:request.js中请求方法,api封装请求,方法请求
25号底片~
javascript前端vue.js
方法一request.js//封装GET请求exportconstget=(url,params={})=>{returnrequest.get(url,{params});};//封装POST请求exportconstpost=(url,data={})=>{returnrequest.post(url,data);};api封装import{post}from'@/utils/request'
- 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设计
这篇内容其实没有经过太多的深思熟虑,只是个人一时的感觉。从个人风格上来讲,我倾向简单质朴的设计开发理念;从方法论上,我更加倾向自顶向下的设计;从做事情的目标上来看,我追求质量优先,更愿意使用较为保守和稳妥的理念和方法。
&