- laravel项目中使用FFMPeg 剪裁视频
道系女孩~
phplaravel
#运行环境需安装的软件ffmpeg#安装的扩展pbmedia/laravel-ffmpeg:^8.3#扩展文档https://packagist.org/packages/pbmedia/laravel-ffmpeg#引入的类useFFMpeg\Coordinate\TimeCode;useFFMpeg\Format\Video\X264;useFFMpeg\Exception\RuntimeEx
- H5幸运刮刮乐抽奖源码 免公众号+直运营
破碎的天堂鸟
源码下载抽奖源码
H5幸运刮刮乐抽奖源码免公众号+直运营环境nginx1.18mysql5.6php7.2php安装扩展fileinfo删除所有禁用函数操作完成后重启php创建一个站点点击根目录上传源码并解压源码解压完成回到网站设置伪静态laravel5运行目录public创建一个数据库并导入数据库源码下载:https://download.csdn.net/download/m0_61505785/9048437
- laravel中 firstOrNew(), firstOrCreate(), updateOrInsert(), updateOrCreate() 方法的区别和实现原理
Amber_37
laravelphp
在Laravel中,firstOrNew,firstOrCreate,updateOrInsert,和updateOrCreate是用于处理数据库记录的常用方法,每个方法有其特定的用途和行为。下面是它们的主要区别和工作原理:1.firstOrNew目的:该方法主要用于查找数据库中与给定属性相匹配的第一条记录,如果找不到,则创建一个新的模型实例(但不会立即保存到数据库)。返回值:返回一个Eloque
- FastD:高性能PHP API框架
钟冶妙Tilda
FastD:高性能PHPAPI框架fastD:rocket:AhighperformancePHPAPIframework.项目地址:https://gitcode.com/gh_mirrors/fa/fastD项目介绍FastD是一个专为高性能API场景设计的PHP框架,它充分利用了Swoole的高性能特性,为开发者提供了一个轻量级且易于扩展的开发环境。FastD不仅支持快速构建API服务,还提
- Wind Framework - PHP Web开发框架
孔岱怀
WindFramework-PHPWeb开发框架去发现同类优质开源项目:https://gitcode.com/WindFramework是一款基于PHP的现代Web开发框架,由phpwind团队倾力打造。它旨在提供简洁、高效且可扩展的解决方案,帮助开发者快速构建稳定、安全的应用程序。如果您正在寻找一个易于上手、功能全面且富有创新的PHP框架,那么WindFramework就是您的不二之选。功能特
- ThinkPHP API接口开发的深入探讨
2401_85969209
python
ThinkPHPAPI接口开发的深入探讨随着Web技术的飞速发展,API(应用程序编程接口)作为不同软件系统间通信的桥梁,其重要性日益凸显。ThinkPHP,作为一款流行的PHP开发框架,为API接口的开发提供了强大的支持。本文将详细探讨ThinkPHPAPI接口开发的各个方面,包括框架优势、开发流程、安全性考虑等。一、ThinkPHP框架在API接口开发中的优势ThinkPHP以其简洁、快速、安
- laravel 小技巧:为日志组件的非默认通道注册全局上下文 context
在使用laravel的日志组件(Facade门面模式)时,我们可以通过withContext方法为请求周期注册全局的上下文信息,用来做RequestID/TraceId类的请求链路追踪,非常的方便。但在10-以下的版本中,withContext只能为默认日志通道注入全局上下文,在非默认通道的场景,比如cli下,就无法优雅的实现了。但如果你了解Service,ServiceProvider,Faca
- ThinkPHP框架中各模块通过MVC架构和扩展机制协同工作形成完整的请求处理流程
Wiktok
mvcphp开源
在ThinkPHP框架中,各模块通过MVC架构和扩展机制协同工作,形成完整的请求处理流程。以下是核心模块的功能及协作关系分析:一、路由(Route)作用:负责将HTTP请求的URL映射到具体的控制器和方法,支持动态参数解析、RESTful风格接口定义,并实现URL的优雅化(如隐藏入口文件)31119。协作关系:与控制器配合:路由解析后直接调用对应控制器的操作方法,例如Route::get('use
- Laravel后台管理解决方案:admin-laravel实战
韦臻
本文还有配套的精品资源,点击获取简介:admin-laravel为Laravel框架提供了一个专门优化和封装的管理后台,支持认证授权、前端UI框架、表单构建、数据展示、API集成、错误日志处理、自定义命令、扩展性、安全防护等功能,旨在帮助开发者高效搭建后台管理系统。通过提供详细的文档和示例代码,它简化了安装、配置和操作流程,确保代码质量和可维护性。1.Laravel后台开发框架概述简介Larave
- laravel使用elasticsearch
菜菜c
PHPelasticsearchlaravel搜索引擎
laravel使用elasticsearchlaravel中安装扩展包composer安装elasticsearch扩展包Elasticsearch官方提供了Composer包,在引入时需要注意要指定版本,因为不同版本的Elasticsearch的API略有不同,因为我用的是7.12.x,因此需使用~7.12.x来指定包版本。composerrequireelasticsearch/elastic
- P11:利用marked+highlight.js重构前台文章详细页面
知其黑、受其白
ReactHooks+Laravel制作博客javascript前端react.js
ReactHooks+Laravel前端博客实战阐述安装marked和highlight.js重构`detailed.js`文件增加Code的高亮显示CSS样式的更换MySQL数据阐述之前我们在博客文章详细页使用了react-markdown模块,但是这个插件的配置项还是太少了,而且我也没做太多的技术调研,所以我决定转回我目前项目中使用的一套方案marked+highlight.js。这个方案是比
- Laravel Elasticsearch 教程
贾泉希
LaravelElasticsearch教程laravel-elasticsearchElasticsearchforLaravel项目地址:https://gitcode.com/gh_mirrors/lar/laravel-elasticsearch本指南将帮助您了解laravel-elasticsearch开源项目的基础,包括其目录结构、启动文件以及配置文件的简介,以便您可以顺利地在Lara
- Laravel如何实现MySQL分库分表的功能?使用场景是什么?底层原理是什么?
快点好好学习吧
Laravellaravelmysqlphp
一、MySQL分库分表的定义1.核心定义分库(Sharding):将数据分散到多个数据库中,以减轻单个数据库的压力。分表(Partitioning):将一个大表拆分为多个小表,通常基于某种规则(如用户ID或时间戳)。目的:提高系统的扩展性、性能和可用性。二、使用场景1.常见使用场景高并发系统:数据量巨大且访问频率高的场景(如电商平台、社交网络)。大数据存储:单表数据量超过千万甚至亿级时,需要分表以
- Laravel 多图片上传
—Qeyser
HtmlLaravellaraveljavascript前端
Laravel+htmljs图片上传实现前端代码多图片上传(最多5张).image-preview{display:flex;flex-wrap:wrap;margin-top:20px;}.image-previewimg{max-width:100px;max-height:100px;margin:5px;border:1pxsolid#ccc;border-radius:5px;}.upl
- 踩坑记录-用python解析php Laravel8生成的jwt token一直提示 Invalid audience
陈钇谷
pythonphpandroid
importjwtdeftoken_required(token):withopen('storage/oauth-public.key','r')asf:public_key=f.read()try:#尝试使用当前算法解码token,同时指定受众decoded=jwt.decode(token,public_key,algorithms=['RS256'],options={"verify_au
- composer install 中出现用户名密码错误问题的解决方法
kge888
laravelcomposergitgitcomposerlaravel
问题背景:laravel项目新从git上拉取下来,初次进行composer重构,在执行composerinstall的时候,执行中断报如下错误:[RuntimeException]Failedtoexecutegitclone--no-checkout"
[email protected]:xx/api-client.git""C:\phpStudy\PHPTutorial\WWW\xxx\vendor
- PHP对接微信支付v3版本
李钢蛋
php微信开发语言
【以下内容是在thinkphp框架中编写的,做简单修改就可使用】一、扩展1-1、支付扩展扩展路径:extend/wxpay/Wx.php,根据项目实际情况修改。getSerialNoFromCert($this->apiclient_cert_url);$this->serial_no=$serial_no;$this->private_key=file_get_contents($this->a
- ThinkPHP运行目录设置为public子目录
NightReader
运维
ThinkPHP是一个快速、兼容和简单的面向对象的PHP框架,它遵循MVC(模型-视图-控制器)设计模式。在ThinkPHP框架中,public目录扮演着非常重要的角色,它被设计为框架的公共访问目录。Public目录设置的原因和解决方案是ThinkPHP框架结构和安全策略的核心部分。原因:1)安全性:将public设为唯一的公共访问目录可以增强应用的安全性。通过限制对框架其他部分的访问,可以防止潜
- 类似于 FastAdmin的快速后台开发框架都有哪些
zhangfeng1133
php
类似于FastAdmin,能够根据数据表直接生成程序、语言包和界面的框架,确实存在一些其他的选项。以下是一些推荐:ThinkPHP框架的扩展与工具:除了FastAdmin,ThinkPHP作为一个流行的PHP框架,有很多扩展和工具可以帮助你实现根据数据表自动生成代码的功能。你可以查找一些基于ThinkPHP的CRUD生成器或者代码生成器,它们通常能够根据你的数据库表结构快速生成对应的控制器、模型、
- FastAdmin 与其他后台框架的对比分析
奥顺
phpsqlite数据库
FastAdmin与其他后台框架的对比分析引言在现代Web开发中,后台管理系统是支持各种应用程序的核心部分。随着需求的多样化,许多后台框架应运而生。本文将对FastAdmin与其他常见后台框架(如DjangoAdmin、LaravelNova、AdminLTE)进行对比分析,以帮助开发者选择合适的工具。FastAdmin简介FastAdmin是一个基于ThinkPHP框架的后台管理系统,提供了快速
- 高性能PHP框架webman爬虫引擎插件,如何爬取数据
Ai 编码
php教程php爬虫开发语言
文章精选推荐1JetBrainsAiassistant编程工具让你的工作效率翻倍2ExtraIcons:JetBrainsIDE的图标增强神器3IDEA插件推荐-SequenceDiagram,自动生成时序图4BashSupportPro这个ides插件主要是用来干嘛的?5IDEA必装的插件:SpringBootHelper的使用与功能特点6Aiassistant,又是一个写代码神器7Cursor
- 【黑科技】:Laravel 项目性能提升 20 倍
frandiy
laravelphpthinkphp
令人激动的黑科技:Laravel项目性能提升20倍这个项目能够在无需修改任何代码且无需第三方扩展的前提下,将你的Laravel项目性能提高20倍。它仅依赖于PHP原生的pcntl、posix、fiber和sockets。项目灵感起因是看到官方发布的PHP8.1更新中引入了fiber特性,看到这则消息时我非常激动,我仿佛看到了PHP的更多可能性。再结合我对Swoole和Workerman的工作流程了
- [黑科技]无需修改任何代码和扩展将你的Laravel项目性能提高20倍
frandiy
laravel
我要分享一个令人激动的黑科技:这个项目能够在无需修改任何代码且无需第三方扩展的前提下,将你的Laravel项目性能提高20倍。它仅依赖于PHP原生的pcntl、posix、fiber和sockets。项目灵感起因是看到官方发布的PHP8.1更新中引入了fiber特性,看到这则消息时我非常激动,我仿佛看到了PHP的更多可能性。再结合我对Swoole和Workerman的工作流程了解得出结论:它能够完
- laravel11设置中文语言包
码农Robin
laravel
安装中文语言包Laravel11默认没有内置完整中文语言包,推荐使用第三方维护的完整翻译:#通过Composer安装语言包composerrequirelaravel-lang/common--dev#发布中文语言文件到项目phpartisanlang:addzh_CN这会自动将中文语言文件生成到lang/zh_CN目录。配置应用语言修改.env文件设置默认语言:APP_LOCALE=zh_CN或
- Laravel 中强大的tap你用过么
事业运财运爆棚
android
在本文,我们将讨论Laravel中的tap。我们将详细讨论tap帮助函数和collection中的tap方法。Tap帮助函数旧的实现方式Laravel提出了一个tap功能。这是一个非常奇怪的功能,受Ruby的启发。这是tap助手功能的基本实现。functiontap($value,$callback){$callback($value);return$value;}上面的代码将接受一个参数,它将使
- laravel框架中实现封装公共方法全局调用
陈卿诺语
phplaravellaravel服务器php
1.创建functions.php在app/Helper/下新建一个文件functions.php,在内部补充如下代码:20000,'msg'=>$msg,'data'=>$data);exit(json_encode($result));}functionerror($msg='',$data=array()){$result=array('code'=>50000,'msg'=>$msg,'d
- 【RabbitMQ】【Laravel】【PHP】Laravel 中使用 RabbitMQ
gskyi
PHPlaravelRabbitMQphprabbitmqlaravel
在Laravel中使用RabbitMQ,通常需要安装RabbitMQ客户端库,并在Laravel项目中进行适当配置。php-amqplib是常用的PHPRabbitMQ客户端库,Laravel也有一些扩展包,方便集成RabbitMQ。下面是如何在Laravel中使用RabbitMQ的详细步骤:1.安装所需的扩展包在Laravel项目中,推荐使用vladimir-yuldashev/laravel-
- Github 2025-02-02 php开源项目日报 Top10
老孙正经胡说
githubphp开源Github趋势分析开源项目PythonGolang
根据GithubTrendings的统计,今日(2025-02-02统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下:开发语言项目数量PHP项目10Blade项目1Laravel:表达力和优雅的Web应用程序框架创建周期:4631天开发语言:PHP,BladeStar数量:75969个Fork数量:24281次关注人数:75969人贡献人数:399人OpenIssues数量:32个
- uniapp备注备忘录系统个人计划日程系统 微信小程序设计与开发 016og
QQ242219979
uni-app微信小程序小程序
技术栈支持以下技术栈开发运行:微信开发者/hbuilderx前端开发框架:vue.js数据库mysql版本不限后端语言框架支持:1java(SSM/springboot)-idea/eclipse2.Nodejs+Vue.js-vscode3.python(flask/django)–pycharm/vscode4.php(thinkphp/laravel)-hbuilderx数据库工具:Navi
- laravel 集合按子集中指定键排序
lihuang319
//按距离由近到远排序,按子集中指定键排序,参考https://coderwall.com/p/favqga/sorting-nested-laravel-collections$res=$recruitSubject->with(['recruitGroup'=>function($query){$query->with(['recruitGroupAddress']);}])->withCou
- 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设计
这篇内容其实没有经过太多的深思熟虑,只是个人一时的感觉。从个人风格上来讲,我倾向简单质朴的设计开发理念;从方法论上,我更加倾向自顶向下的设计;从做事情的目标上来看,我追求质量优先,更愿意使用较为保守和稳妥的理念和方法。
&