- 「iOS学习」——Masonry学习
归辞...
ios学习cocoa
iOS学习前言Masonry的属性Masonry的使用基础APIAutoBoxing修饰语倍数中心点设置边距优先级使用总结前言暑假我们学习了使用CocoaPods引入第三方库,实现使用SVG图片。而Masonry作为一个轻量级的布局架构,在使用中可以节省很多时间。故进行简单学习。Masonry的属性UI设计是iOS开发的必须一环,直接影响了app的观感和使用体验。我们通常使用frame框架直接确定
- BIOS学习实战之SMBIOS
潇洒Anthony
BIOS学习实战UEFI
最近事情太多,又有一段时间没做笔记了,有时候也在研究这个百敖的UIAPP框架和昆仑的UIAPP框架,思绪短时间内难理清,还是先写下SMBIOS的有关内容吧,本节主要以实践为主,仅做记录EFI_SMBIOS_PROTOCOL这个protocol就是操作smbios内容的,smbios怎么加载的,这个就有待去了解了,而且代码本身大部分是做好的,来看下这个protocol的里面包含了什么struct_E
- ios uiwindow弹窗_iOS学习笔记--PresentedVC自定义弹窗
weixin_39583521
iosuiwindow弹窗
一、封装自定义弹窗有一下几种:1直接在当前视图控制器上放view(简直6翻了)2present到一个新的半透明视图控制器(类似UIAlertViewController,也就是说咱们要用的就是个控制器而不是个View了)3使用一个windowLevel更高的UIWindow(UIAlertView就是这种)4放在keyWindow上(使用这种方式有隐患,点击查看详情)5放在[UIApplicati
- IOS开发进阶学习资料(提升必备)
the_cleaner
ios
最近整理了下IOS学习资料,包含了入门、进阶、性能优化、面试和学习书籍,算是比较全面的,在这里分享给大家,希望对大家有用。先晒出IOS学习路线图,大家照着图谱修炼。学习社区objc中国learnIOSRayWenderlichNSHipsterWeiWang唐巧的博客cocoachina入门系列Casa的PThread多线程课程从零开发一款ios手把手带你构建类今日头条的AppSwift编程从入门
- 最新IOS开发学习资料整理(进阶必备)
henhenha
ios
最近整理了下IOS学习资料,包含了入门、进阶、性能优化、面试和学习书籍,算是比较全面的,在这里分享给大家,希望对大家有用。先晒出IOS学习路线图,大家照着图谱修炼。学习社区objc中国learnIOSRayWenderlichNSHipsterWeiWang唐巧的博客cocoachina入门系列Casa的PThread多线程课程从零开发一款ios手把手带你构建类今日头条的AppSwift编程从入门
- Axios学习
Kiwi23333
学习
文章目录Axios1.Json-server的搭建2.Axios的基本使用3.Axios的其他使用4.Axios响应结果的结构分析5.Axios配置对象详细说明6.axios的默认配置7.axios创建实例对象(create)8.axios拦截器1.请求拦截器2.响应拦截器9.取消请求10.源码分析Axios1.Json-server的搭建官网:https://github.com/typicod
- iOS学习笔记--实时查看手机进程中的日志
sunrise_min
非常感谢作者的分享,这里我只是搬运工,主要是为了自己留作笔记,原作者若介意请联系我删文,谢谢。原文链接:iOS如何实时查看App运行日志讲解的非常实用,主要是讲解了如何实时查看控制台的日志。我使用的是推荐的方法的第二种Console.app(控制台应用)查看日志很好用,推荐的第一种使用libimobiledevice工具查看日志我还没有尝试,这边以后尝试,所以在这里留作笔记。常用的查看控制台日志的
- iOS学习之(向上,向下,四舍五入)取整
鑫飞
ceil(x)返回不小于x的最小整数值(然后转换为double型)。ceil()方法是向上取整,取得不小于浮点数的最小整数,对于正数来说是舍弃浮点数部分并加1,对于复数来说就是舍弃浮点数部分.floor(x)返回不大于x的最大整数值。floor()方法是向下取整,类似于数学中的高斯函数[].取得不大于浮点数的最大整数,对于正数来说是舍弃浮点数部分,对于复数来说,舍弃浮点数部分后再减1.(int)f
- iOS学习笔记(1)——证书和描述文件
王小二005
iOS学习笔记
简介首先要要有一个appleid,然后加入了“iOSDeveloperProgram”,成为iOS开发者,开发者分为团队和个人,需要付费进入iOSDevCenter,选择左侧的Certificates,Identifiers&Profiles,在打开的页面的“iOSApps”栏中任意选择一项,比如Certificates,进入Certificates,Identifiers&Profiles页面证
- React+Antd+Axios学习总结
Java全栈研发大联盟
React
一.一些基本概念关于Node。Node.js是一个JavaScript的运行环境,可以让JavaScript运行在服务端。Node让JS也可以写网站后台程序,可以搭建WEB服务器。(上面是我胡说的我其实并不知道它是怎么回事。)关于ES6。ECMAScript6(以下简称ES6)是JavaScript语言的下一代标准。React默认把ES6做为首选标准,其写法可能同以往不太一样。let,const,
- iOS学习之彻底搞清楚copy和mutableCopy
北你妹的风
copy和mutableCopy其实比较容易理解。容易让人困惑的是,浅拷贝和深拷贝。先说一下copy和mutableCopy。copy,顾名思义是拷贝,复制的意思,是根据源对象,创建副本的过程。copy的目的是,在改变源对象的时候,副本对象的值不发生变化(反之亦然)。在Objective-C中,对象要使用copy和mutableCopy,需要分别实现NSCopying协议和NSMutableCop
- 【数据传输Axios学习网站】
菜鸟小木
软件网站分享学习
前言:相信大家在写代码的时候偶尔会因为各种原因,导致遗忘了部分知识点,有些时候可能还有印象,利用对应的集成开发环境对应的代码提示功能,还可以写出来。但是当你遗忘较深的时候就可能导致的是你连利用代码提示都无法进行,所以这个时候就要利用官方提供的文档正题今日分享的是对应的一款提供针对在进行前后端的数据传输时候的Axios网站AxiosAPI|Axios中文文档|Axios中文网里面含有对应的许多方法介
- iOS学习—读取粘贴板上的数据,并实现跳转指定界面
MrZWCui
iOS基础学习iosobjective-cxcode
iOS提供读取剪切板数据的方法UIPasteboard*pasteboard=[UIPasteboardgeneralPasteboard];NSLog(@"pasteboard=%@",pasteboard.string);//使用.string可以输出复制的内容首先声明是否已经跳转@property(nonatomic,assign)BOOLisPushed;在AppDelegate文件中的-
- iOS学习之使用UIAlertController三种显示提示框代码
鑫飞
UIAlertView在IOS8以上版本已经过时了,官方推荐我们使用UIAlertController代替UIAlertView、UIActionSheet1.UIAlertController显示普通的Alert20161226165508246.png-(IBAction)showAlert:(UIButton*)sender{//显示提示框//过时//UIAlertView*alert=[[
- 【iOS学习】 视频添加动效水印步骤简介
软件iOS开发
简概:本次文章主要介绍给视频添加动效水印的几种方式,以及实现代码。使用AVFoundation+CoreAnimation合成方式基于Lottie核心也是CoreAnimation,这里我们也可以使用AVFoundation+Lottie合成方式我们同样可以使用序列帧资源或者gif资源来编写一段keyFrameAnination,这里我们就介绍一段AVFoundation+Gif合成方式使用GPU
- iOS学习- OC让UIButton上的字体居左居右对齐
MrZWCui
iOS基础ios学习objective-c
在label中我们会使用titleLabel.textAlignment=NSTextAlignmentLeft;进行居左对齐。但是在button中是不生效的,button.titleLabel.textAlignment=NSTextAlignmentLeft;这行代码是没有效果的,这只是让标签中的文本左对齐,但并没有改变标签在按钮中的对齐方式。所以我们使用button.contentHoriz
- objective-c UIslider
sanguing
ios学习也就半年左右,一直觉得系统提供的UISlider想要自定义太麻烦,而且修改高度什么的太麻烦且不好用.决定自己搞一个.网上各种都是swift,这里还是用objective-c写一个,新手入门demo,请见谅!先上图image.pngimage.png可调节参数-1、最小值-2、最大值-3、最小值背景色-4、最大值背景色-5、thumb大小-6、thumb颜色-7、thumb宽度-8、thu
- iOS学习之模态Model视图跳转和Push视图跳转的混合需求实现原理
鑫飞
在研发中总会遇到一些莫名的需求,本着存在即合理的态度跟大家分享一下"模态Model视图跳转和Push视图跳转的需求实现".1.连续两次模态Model视图之后,然后返回首页(A->B->C->A)①效果图展示:776982-20161226155053773-531129180.gif②实现思想解读:一开始大家的思维肯定是一层一层的推出控制器,对这是最直接的办法,但是Apple的工程师思维非同凡响,
- iOS学习之iOS动画——辉光效果(Label)
鑫飞
一:效果图如下:20170112184959106.png二:代码如下FBGlowLabel.h#import@interfaceFBGlowLabel:UILabel/***Glowsize,defaultis0.f.*/@property(nonatomic)CGFloatglowSize;/***Glowcolor,defaultisclearcolor.*/@property(nonato
- iOS学习零散笔记记录
蔚尼
在学习的过程中,特别是在查看其它人的代码时,会发现很多可以学习点,就在此进行记录。1.添加头像轮廓/描边类似下面,我们经常需要给头像添加一个圆边。描边效果图以前的写法:avatarView.layer.borderWidth=1;avatarView.layer.borderColor=[UIColorgrayColor];新学到的写法(直接通过CALayer描边)://--添加头像外轮廓CALa
- iOS学习之让tableview一直都能够显示出最后一个cell
鑫飞
类似于qq聊天界面,tableview每次都是显示出最新的消息(最下面的cell)[self.tablereloadData];NSIndexPath*index=[NSIndexPathindexPathForRow:self.array.count-1inSection:0];[self.tablescrollToRowAtIndexPath:indexatScrollPosition:UIT
- 从今天开始学习iOS开发
阿道奇
《StartDevelopingiOSAppsToday》为iOS开发提供了完美的起点。你可以在Mac上创建运行在iPad,iPhone和iPodtouch上的iOSapp。查看《从今天开始开发iOS应用》中四个模块儿,把它作为开发你第一款app的概论介绍–它包括你所需要的工具,主要概念以及让你轻松开发的最佳实践。iOS学习交流群:626433463在这个教程中的前段部分都是教程做结尾的,你可以在
- iOS(0)- 知乎iOS学习资料收集
Croyance_M
iOS学习ios
在知乎上搜索了一些学习建议,先整合一下资料。学习方法(最核心):多写多练iOS开发怎么入门?-知乎https://www.zhihu.com/people/Fang.这里都是干货,就不粘贴了。2021年,如何学习iOS开发?-知乎王禹效Legolas-知乎“在当下及可见的未来中,「MVVM应用架构+OOP/Functional编程范型+SPM包管理+Swift编程语言+SwiftUI描述性视图框架
- 【IOS学习】CoreText学习笔记(一)相关的类
码农Peter
IOS学习CoreText类学习笔记
借图和代码一用,来自:http://geeklu.com/2013/03/core-text/。这个博客是写了一个相对完整的代码,但是由于它封装了一些功能,导致层级关系复杂了,虽然代码简洁、可复用性好,但是不是很利于我们学习CoreText的相关知识。这里用原始的方法一点点地查看CoreText的相关知识-(void)drawRect:(CGRect)rect{[superdrawRect:rec
- ios学习开发阶段小结
做就一定会做好
经验小结appios经验网络编程
总结一下,开发了1个月10天的ios经验。先晒成绩单:两个实验性质的app,一个wifi管家,一个图片壁纸软件技术小结:1.熟悉基本的各种ns语法:#import,#include,@class,@import,UITableView,UICollectionView,UIview,UIbutton,UILabel,UITextField,等各种乱七八糟的东西。2.熟悉基本的ios编程思维:del
- iOS学习 --- Xcode 15 下载iOS_17.0.1_Simulator失败解决方法
iOS开发-上海
ios学习xcode
1.去开发者官网下载安装包https://developer.apple.com/download/all/?q=iOS%2017使用浏览器下载。2.打开终端通过命令添加到xcode命令如下:sudoxcode-select-s/Applications/Xcode.app(输入开始密码)xcodebuild-runFirstLaunch(等待一小会)xcrunsimctlruntimeadd"/
- 【原】iOS学习46之第三方CocoaPods的安装和使用(通用方法)
weixin_34195546
cocoapodsruby移动开发
本文主要说明CocoaPods的安装步骤、使用说明和常见的报错即解决方法。1.CocoaPods1>CocoaPods简介CocoaPods是一个用来帮助我们管理第三方依赖库的工具。在开发iOS应用时,会经常使用第三方类库,比如SDWebImage、AFNetworking等等,手动的下载与添加类库非常麻烦,通过CocoaPods可以便捷的下载与管理第三方类库。使用CocoaPods的目的是让我们
- 值得向iOS学习的15个APP设计技巧
iOS大咖
iOS整体的品质感大家有目共睹,这源于其背后严格的设计规范,强调以内容为中心,以重点内容和功能为目标,来驱动每个细节设计。以下是我从设计规范中学到的一些设计技巧。在这里我还是要推荐下我自己建的iOS开发学习群:680565220,群里都是学ios开发的,如果你正在学习ios,小编欢迎你加入,今天分享的这个案例已经上传到群文件,大家都是软件开发党,不定期分享干货(只有iOS软件开发相关的),包括我自
- iOS OC技术(一)从创建开始
麦哲文
iOS学习,首先从创建项目开始:设备:Mac系列电脑编程工具:Xcode编程语言:Objective-C/swift在Mac电脑上的AppStore中下载Xcode软件开发工具。下载时间稍长,等大家下载好了,我们开始下一步。打开Xcode编程工具,会弹出引导窗口,点击创建新项目,如下图:之后会弹出一个窗口,我们选择【iOS】标签页中的【SingleViewApp】项目类型(不用担心找不到,默认选项
- iOS学习之两次模态弹出后,怎么返回最上层的页面
鑫飞
解决方法如下:self.presentingViewController.view.alpha=0;[self.presentingViewController.presentingViewControllerdismissViewControllerAnimated:YEScompletion:nil];只用两行代码就可以比较完美的解决问题。第一行代码让B的视图变为透明(由于父视图变为透明,任何
- 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设计
这篇内容其实没有经过太多的深思熟虑,只是个人一时的感觉。从个人风格上来讲,我倾向简单质朴的设计开发理念;从方法论上,我更加倾向自顶向下的设计;从做事情的目标上来看,我追求质量优先,更愿意使用较为保守和稳妥的理念和方法。
&