- C语言常用头文件的介绍
花开盛夏^.^
C语言c语言开发语言头文件
一、C语言头文件的介绍C语言的头文件是包含函数声明、宏定义和类型定义的重要组件,用于在编译阶段将这些信息包含到源文件中。在C语言中,头文件以“.h”作为后缀,通常包含了类、子程序、变量和其他标识符的前置声明。这些头文件通过#include指令被包含在源文件中,分为尖括号:标准输入输出库。包含进行输入输出操作的函数,如printf(),scanf(),fopen(),fclose(),fread()
- volatile 关键字
经常发呆的柴犬
c语言
volatile关键字在编程中,尤其是在C和C++语言中,用于指示编译器一个变量可能会在程序的执行期间被意外的更改,因此每次使量的时候都必须从原始的内存位置读取它的值,而不是使用缓存中的值。这个关键字提醒编译器不要对这个变量的读取和写入优化,以保证程序运行的正确性。使用场景1.并发多线程访问的变量:在多线程编程中,如果一个变量可能被一个以上线程同时访问和修改,则应该将该变量声明为volatile。
- python调用pyd文件_python的py文件生成pyd文件,pycharm直接调用pyd文件
weixin_39799561
python调用pyd文件
这段时间做接口自动化测试,用python直接调用接口,sign值是经过系列复杂算法加密后生成的字符串,保密级别高,不能直接以py文件供大家调用~~pyc文件呢,很容易就被反编译了,pyd文件和一般dll类似,不容易被反编译。生成pyd很容易,网上百度一堆堆,但是调用pyd文件会遇到好多错误。在此贴一下生成pyd到调用pyd文件的方法供参考:1.新建一个setup.py文件:#用cpython生成p
- 交叉编译内核驱动
zhaizhaizhu
第一部分龙芯交叉编译环境搭建1)上传压缩包至Linux2)创建安装目录/data/toolchain(必须使用此目录,否则交叉编译器脚本无法使用)$mkdir-p/data/toolchain3)将压缩包解压到/data/toolchain目录$tarzxftoolchain.loongson-4.9.3.tgz-C/data/toolchain测试1)创建一个脚本,比如bb.sh并添加如下内容:
- python中的pyc, pyd文件及生成使用
whereismatrix
python
简介python源码文件是py后缀,看到py扩展名的文件,那就可用判断其为python代码文件。在python系统里,还有pyc文件和pyd文件。注意:本操作使用的python为v3.11版本。pyc文件pyc是python编译后,生成的字节码文件。使用pyc可以加快程序的加载速度,但不能加快程序的实际执行速度,这就是解释为什么我们安装python目录很多第三方库下是pyc文件的原因,因为它可以使
- 虚函数和纯虚函数
走别人不走的路
C++c++开发语言
在C++中,虚函数和纯虚函数是面向对象编程中用于实现多态性的重要概念。下面是对这两个概念的详细讲解:1.虚函数(VirtualFunction)虚函数是指在基类中声明为virtual的成员函数,目的是允许在派生类中对该函数进行重写(也称为覆盖),并通过基类的指针或引用来调用派生类的实现。这种机制使得函数调用能够在运行时决定(即动态绑定或运行时多态),而不是在编译时决定(即静态绑定)。示例代码:#i
- micropython串口通信_MicroPython-ESP32串口通信-1Z实验室
weixin_39896839
micropython串口通信
出品:1Z实验室(1ZLAB:MakeThingsEasy)概要在本节课程阿凯为大家讲解了串口通信的接线方式,ESP32中的串口UART资源与相关API,并给出了一个UART的小应用实例。目录串口通信UART执行标准UART/USART双工串行通信协议,关于串口通信你需要的预备知识有码元,波特率,奇偶校验等概念。可以在B站上观看串口通信科普视频.TODO英文的,1Z实验室后面有精力也会考虑做一些科
- springboard
薄荷巧克力_
springboardspringboardspringboard:Ifsomethingisaspringboardforsomethingelse,itmakesitpossibleforthatthingtohappenorstart.(使某事得以开始的)跳板;助推因素Aisspringboardfor/toB(springboard是可数名词!注意谓语!)eg:Thenewsserveda
- 自定义类型:联合和枚举
Ajiang2824735304
c++算法开发语言
1.联合体联合体跟结构体一样,由一个或多个成员构成,这些成员类型可以不同。但是编译器只为最大的成员分配足够的空间。特点是所有成员共用同一块空间。所以也称共用体。1.1定义unionUn{charc;inta;};跟结构体一样,需要有分号。1.2空间大小计算联合体的大小至少是最大成员的大小。当最大成员大小不是最大对齐数的整数倍时,就要对齐到最大对齐数的整数倍。例如:#includeunionUn1{
- python的基本介绍
小颖⸝⸝ ᷇࿀ ᷆⸝⸝
python开发语言
Python是一种解释型、编译型语言、面向对象的语言,Python是一种广泛使用的高级编程语言,以其易读性、简洁性和丰富的库支持而闻名python基础概念概念:解释型的编程语言解释型:pythonjs执行数度慢代码简洁翻译一句执行一句编译型:c,Javago执行数度快代码多先整体翻译成中间二进制代码文件然后执行该文件面向对象:它将数据和操作数据的方法组织在一起,形成“对象”好处包括代码的可重用性、
- VSCode查看Android源码,从入门到放弃
阳哥说全栈
Androidandroidvscodejava
VSCode查看Android源码比较简单,首先下载Android源码,我用的Mac,所以比较方便,对了repo在homebrew里面就有,直接brewinstallrepo就可以,但是版本比官方的略低,但是可以用,只是有警告。下载之后直接用VSCode加载文件夹即可,直接可以在目录里面打开文件,对于非jdk的类能定位到文件位置,但是jdk的源码无法定位,显示的是.class文件反编译出来的代码,
- Peter Pan 33
Mr_Oldman
Therecametohimapresentimentofhisearlydissolution(death).ItwasasifPeter'sterribleoathhadboardedtheship.Hookfeltagloomydesiretomakehisdyingspeech,lestpresentlythereshouldbenotimeforit.{1}"BetterforHook,
- max 2013+ 孤立模式
锦囊喵
原文链接工具链接maxScriptsjedie----Lagacy"IsolateSelection"formax2013----Pleasevote:--http://3dsmaxfeedback.autodesk.com/forums/76763-small-annoying-things/suggestions/2771695-max-2013-make-isolate-selection-
- 探索Makefile Tutor:构建自动化神器的技术解析与实践指南
劳泉文Luna
探索MakefileTutor:构建自动化神器的技术解析与实践指南Makefile_tutorThisprojectaimstocreateacrystalcleartutorialonacrypticlookingtopic.项目地址:https://gitcode.com/gh_mirrors/ma/Makefile_tutor在软件开发中,自动化构建是提高效率的关键一环,而Makefile便
- 解决Can‘t load tokenizer for ‘bert-base-chinese‘.问题
CSDNhdlg
NLPbert人工智能深度学习自然语言处理
报错提示:OSError:Can'tloadtokenizerfor'bert-base-chinese'.Ifyouweretryingtoloaditfrom'https://huggingface.co/models',makesureyoudon'thavealocaldirectorywiththesamename.Otherwise,makesure'bert-base-chinese
- python字符串驻留机制_Python中的字符串驻留
weixin_39938935
python字符串驻留机制
C#中的字符串驻留熟悉.NET的人都应该知道C#中的字符串驻留机制,.NET维护了一个驻留池,它会把在编译期间就相同的字符串只保留一份拷贝。如果仅在运行期间值才相同的字符串变量,.NET才会为这个2个相同的字符串变量指向同一份引用的。不过.NET提供了一个方法,让开发人员可以强制将两个相同的字符串指向同一个引用,使用String类中的Intern方法。strings1="!QAZ2wsx3$%5$
- 零基础开始学习鸿蒙开发-继页面跳转后,页面参数的传递与接收。
心之所想,行则将至
鸿蒙基础开发介绍专栏学习
目录1.首先,我们简单的创建两个页面,即ToParamPage和AccetParamPage。使用方舟编译器可以快速的创建页面,如下图所示,选中Page选项,即可轻松创建Page页面。2.页面的路由传参主要是通过router.pushUrl方法实现,pushUrl方法有两个参数,一个是url,另一个是params,第一个是要跳转页面的路径(这个路径必须在main_pages.json里面配置才能使
- Visual Studio(VS)中使用OpenMP
我叫柳云烟
c++visualstudio算法
一、OpenMP简介OpenMP是由OpenMPArchitectureReviewBoard牵头提出的,并已被广泛接受,用于共享内存并行系统的多处理器程序设计的一套指导性编译处理方案。它支持的编程语言包括C、C++和Fortran,支持的编译器包括SunCompiler、GNUCompiler和IntelCompiler等。二、VS中启用OpenMP项目配置:打开你的VS项目,找到“项目属性”。
- java基础知识
阿拉伯的劳伦斯292
java开发语言
1.java简介跨平台性:Java语言的“一次编写,到处运行”特性是这一语言的重要优势,java程序编译成字节码,可以在安装了Java虚拟机(JVM,javavirtualmachine)的不同操作系统上运行面向对象:java是一门完全的面向对象编程语言,支持继承,抽象,封装和多态的特性内存管理:java通过垃圾回收器(GarbageCollector)自动管理内存,这就不用开发者手动释放内存了,
- HBuilderX 安装 scss/sass编译 插件报错 binding.node 解决方案windows版
这个需求建议不做
uni-app小程序
HBuilderX安装scss/sass编译插件报错binding.node解决方案windows版官方给出的解决方案让我们在命令行执行下面三行代码[0;31m-->LibSass的二进制文件(C:\ProgramFiles\HBuilderX\plugins\compile-node-sass\node_modules\node-sass-china\vendor\win32-ia32-72\b
- Android混淆(Proguard)详解
JuliusL
目录:1、混淆的作用及好处2、混淆的原理3、混淆的具体使用---3.1、混淆的基本语法---3.2、去除日志信息4、更详细的语法及demo1、混淆的作用及好处混淆属于整个应用程序开发生命周期偏后期阶段的技术了,所以要考虑应用的安全性及性能的问题,混淆就是为了这种需求产生的一种技术,简单说,混淆就是将关键字和关键类名,修改为无意义的字符以起到迷惑试图反编译去查看源码的人。在一定程度上能过滤掉起码95
- iOS M1芯片Mac上Xcode模拟器报错解决
aven_kang
真机编译可以通过,模拟器失败,出现以下错误...,buildingforiOSSimulator,butlinkinginobjectfilebuiltforiOS,file'...'或者couldnotfindmodulefortarget'x86_64-apple-ios-simulator'解决方案一1.添加arm64到项目PEROJECT和TARGETS的ExcludedArchitect
- nginx: [emerg] unknown directive “stub_status“ in D:\nginx-1.20.2/conf/nginx.conf:31
夜雪一千
nginx运维
在Nginx的配置文件中遇到unknowndirective"stub_status"错误通常意味着stub_status模块没有被编译到Nginx中,或者该模块的配置位置不正确。stub_status模块是Nginx的一个内置模块,用于提供Nginx服务器的状态信息,但它可能不是所有Nginx安装的默认部分,尤其是在某些特定的构建或发行版中。以下是一些解决这个问题的步骤:1.确认Nginx是否包
- golang 空结构体struct{}解析
「已注销」
structgo结构
Introduction这篇文章详细介绍了我最喜欢的Go数据类型,空结构体—struct{}。空结构体是没有位段的结构体,以下是空结构体的一些例子:typeQstruct{}varqstruct{}但是如果一个就结构体没有位段,不包含任何数据,那么他的用处是什么?我们能够利用空结构体完成什么任务?Width在深入研究空结构体之前,我想先简短的介绍一下关于结构体宽度的知识。术语宽度来自于gc编译器,
- 第二十七章 Caché 命令大全 TRY 命令
Cache技术分享
第二十七章Caché命令大全TRY命令标识要在执行期间监视错误的代码块。重点不能使用带参数的QUIT退出TRY块;尝试这样做会导致编译错误。要完全从TRY块中退出例程,请发出RETURN语句。不能在TRY块中设置$ZTRAP或$ETRAP。如果在进入TRY块之前设置了$ZTRAP,并且TRY块内发生异常,则Caché将使用CATCH块而不是$ZTRAP。大纲TRY{...}描述Try命令不带任何参
- C# 特性(Attributes)和反射(Reflection)
月落.
C#c#开发语言
特性在C#中,特性(Attributes)是一种向代码添加元数据的机制。这些元数据可以在编译时被编译器读取,或者在运行时通过反射(Reflection)被读取。特性提供了一种灵活的方式来添加注释信息,并且可以影响代码的行为。特性的定义特性是派生自System.Attribute类的类。你可以创建自定义特性,也可以使用.NETFramework提供的预定义特性。概念特性本质上是类的一种特殊用法,它们
- JavaScript设计模式(装饰器模式)
Wsr_ecc6
1.装饰器模式的定义在不改变其原有的结构和功能为对象添加新功能。classCoffee{make(water){return`${water}+咖啡`;}cost(){return10;}}classMilkCoffee{constructor(parent){this.parent=parent;}make(water){return`${this.parent.make(water)}+牛奶`
- Python检查文件夹存在/创建
QuanHaHQuan
Blah-Blahcodesharing人工智能python
Python检查文件夹存在/创建文章目录1.杂话2.直接看代码1.杂话 很简单的一个事儿,感觉都没必要专门水一篇帖子,但是确实还挺好用的吧。你要是自己懒得写了,直接贴到自己代码最前面,省点时间呗。。2.直接看代码importosdefcheck_folder(folder_path):ifnotos.path.exists(folder_path):os.makedirs(folder_path)
- AS高版本SDK编译生成的apk放入低版本android源码中集成编译错误
辉色投像
android系统中内置app:LOCAL_PATH:=$(callmy-dir)include$(CLEAR_VARS)#ModulenameshouldmatchapknametobeinstalledLOCAL_MODULE:=DemoLOCAL_MODULE_TAGS:=optionalLOCAL_SRC_FILES:=$(LOCAL_MODULE).apkLOCAL_MODULE_CLA
- Docker -- 编程开发C/C++
weixin_42500287
Linuxdocker
1C/C++1.1关于GCCGCC(GNUCompilerCollection)是一套由GNU开发的编程语言编译器,是一套以GPL及LGPL许可证所发行的自由软件,也是GNU计划的关键部分。GCC(特别是其中的C语言编译器)通常被认为是跨平台编译器的事实标准。GCC可处理C/C++,以及Fortran、Pascal、Object-C、Java、Ada等多种语言。1.1.1使用官方镜像将C/C++代
- 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设计
这篇内容其实没有经过太多的深思熟虑,只是个人一时的感觉。从个人风格上来讲,我倾向简单质朴的设计开发理念;从方法论上,我更加倾向自顶向下的设计;从做事情的目标上来看,我追求质量优先,更愿意使用较为保守和稳妥的理念和方法。
&