- 浏览: 5494 次
- 性别:
- 来自: 深圳
-
文章分类
最新评论
读《Objective-C程序设计(第6版)》有感
本文结构:
一、本书特色及评论。
二、试读章节理解和笔记总结。
1、引言
2、objective-c编程
3、类、对象和方法
14、foundation框架简介
20、cocoa和cocoa touch简介
三、本文总结。
一、本书特色及评论。
《Objective-C程序设计(第6版)》是一本很经典、很权威的书籍,这本书已经到了第6版,是学习Objective-C的首选书籍和必备书籍,可以说学习Objective-C,只要看这一本就够了。
本书详细介绍了Objective-C语言,用丰富的示例讲解了怎样使用Objective-C和利用Foundation framework类库。作者很用心,书中截图所使用的开发工具全部采用Xcode 5。本书内容浅显易懂,由浅及深,讲解非常清晰,适合没有编程经验的人自学,是初学者比较容易看懂的书。当然,如果有一定的编程经验,看起来会更快的,不管是java、C、C++还是PHP编程经验,每一种开发语言都是“互通”的,都有一些相似的概念,可以触类旁通。本书章节结构层次清晰,划分合理,很容易知道每一章的主题,插图精美,排版合理,适合课堂教学使用。本书对Objective-C基础语法讲解细致,可以将本书放在身边当工具书查阅。本书适合各个层次的人阅读。
苹果在2014年开发者大会上发布了Swift开发语言。虽然Swift发布了,但是还有必要学Objective-C的,Swift目前还处于Beta版本,Swift语言依然还存在许多Bug,不够稳定。objective-c还是会存在一段时间的。
本书特点:
1、丰富的示例。本书提供了大量的示例代码,方便学习研究。
2、附带练习。章节后面附带了练习,方便读者进行自测,检验学习效果。
3、每章小结。章节中的示例讲解非常详细,每一章中都穿插了示例总结,每一章后都有小结。
3、善于引导读者。本书在给出示例代码时,先让读者预测代码输出结果,然后才给出正确的输出结果,这样一步步引导读者思考,循循善诱,增强了互动性。
4、提问—提供解决方法—解释方法。本书还有一个特点就是,首选会提出问题,然后告诉读者怎么做,最后给读者解释为什么要这样做。
二、试读章节理解和笔记总结。
下面是我对这些章节讲述内容的理解。
1、引言
引言部分对objective-c的发展历史进行了介绍,并且介绍了本书的组织方式。
全书共分为三部分,总共21章。第一部分介绍了Objective-C的基础知识。第二部分介绍了怎样使用Foundation框架。第三部分介绍了Cocoa和Cocoa Touch框架,以及使用iOS SDK开发APP应用程序。
2、objective-c编程
本章首先由一个简单的objective-c程序引入,由此引人入胜,然后使用Xcode和GNU Objective-C两种方式编译运行程序,输出“Programming is fun”。
随后介绍了Xcode工具和Terminal工具的使用,使用Xcode可以输入、编译、调试和执行程序。
本章介绍了常见文件扩展名。
本章列出了5个例子,对NSLog输出进行了详细介绍。
为了加强动手能力,我对本章的5个例子全都进行了实际编译和运行,用虚拟机安装的Mac OS X 10.9。
下面是5个例子的代码:
例1、
例2、
例3、
例4、
例5、
为了理解本章的概念,我将本章后面的练习全部做了。
下面是我本章练习的答案:
练习2、
练习3、
2014-09-11 00:37:13.419 prog1[784:303] Testing...
2014-09-11 00:37:13.421 prog1[784:303] ....1
2014-09-11 00:37:13.422 prog1[784:303] ...2
2014-09-11 00:37:13.422 prog1[784:303] ..3
练习4、
练习5、
第2行,末尾多了个分号“;”。
第3行,"("应为"{"。
第5行,"INT"应为"int"。
第6行,多行注释"/*"没有结束符号"*/"。
第8行,单行注释"/"应为"//"。
第9行,单引号''应为双引号"",参数sum前面少个“,”。
练习6、
2014-09-11 00:59:38.052 prog1[825:303] The result is 95
4、类、对象和方法
本章介绍面向对象程序设计的一些关键概念,定义类的机制,以及向实例、对象发送消息的方式。为面向对象程序设计奠定了基础。
首先本章通过举一个生活中的例子,说明什么是对象。
然后介绍了实例和方法。请求一个类或实例来执行某个操作时,就是在向它发送一条消息,消息的接受者称为接受者。Objective-C调用执行某个方法的格式:
[ ClassOrInstance method];
例子1
以面向过程的编程方式输出分数。
例子2
以面向对象的编程方式输出分数。主要分为三部分,@interface部分、@implementation部分、program部分。
@interface部分用于描述类和类的方法。
@implementation用于描述数据,类对象的示例变量存储的数据,实现接口中声明的方法。
program部分的程序代码实现了程序的预期目的。
随后本章对这三部分进行了详细讲解。
本章对类名和变量命名规则进行了讲解。
类名一般以大写字母开头。
实例变量、对象、方法的名称一般以小写字母开头,名称中以大写字母表示新单词的开头(骆驼命名法)。
制定名称的规则:名称必须以字母或下划线"_"开头,后面可以是大小写字母、下划线、0~9之间的数字组合。
保留字(保留名)不能作为变量名。Objective-C区分大小写字母。
本章对类方法和实例方法进行了讲解。
声明一个方法:
- (void) setNumerator: (int) n;
开头的负号“-”表示这个方法是实例方法,“+”表示类方法。
类方法是对类本身执行某些操作的方法,例如创建类的新实例。
实例方法对类的实例执行一些操作,例如设置值、检索值、显示值。
方法的返回值放在负号或正号的圆括号中,void表示无返回,int表示返回整型,double表示返回双精度。
方法名冒号后面是参数。
创建一个实例、初始化。
Fraction *myFraction;
myFraction = [Fraction alloc]; //创建实例
myFraction = [myFraction init]; //初始化
也可以组合在一起:
myFraction = [[Fraction alloc] init];
或
Fraction *myFraction = [Fraction new];
例子3
以面向对象的编程方式输出两个分数。
例子4
演示了实例变量的访问和数据封装。介绍了设值方法(setter)和取值方法(getter)的概念。
本例以setter和getter的方式设置分数、输出分数。
取值方法和设值方法称为访问器方法。
为了理解本章的概念,我将本章后面的练习全部做了。
下面是我本章练习的答案:
练习1
6_05 不合法,不能以数字开头
A $ 不合法,中间有空格
练习2
图
练习3
[computer start];
[computer shut];
[computer logOff ];
[computer restart];
[computer lock];
练习4
对汽车、摩托车、船执行的操作,有重复。
[yourCar prep];
[yourCar drive];
[yourCar getGas];
[yourCar service];
练习5
发送不同消息,执行不同操作方法。
练习6
面向对象编程和面向过程编程的优缺点......
练习7
XYpoint类:
15、foundation框架简介
本章对foundation框架进行了介绍,并且介绍了如何使用本地帮助文档和在线帮助文档,以及如何查看某个类的提示信息。
框架是由许多类、方法、函数和文档组织的集合。
Cocoa包括Foundation框架、Application Kit框架、Core Data第三方框架。
Cocoa Touch包括Foundation、Core Data、UIKit框架。
Application Kit框架用来开发交互式图形应用程序。可以开发文本、菜单、工具栏、表、文档、剪贴板、窗口等。
Foundation框架可以使用基本对象数字、字符串,对象集合数组、字典、集合,日期时间、自动化内存管理、处理基础文件系统、存储对象、处理几何数据结构等。
打开本地帮助文档:Help-->Documentation and API Reference。
查看某个类的提示信息,将光标放到该类上,按住Option键。
一直打开帮助面板,菜单View-->Utilities-->Show Quick Help Inspector。
在线访问MAC OS X帮助文档,http://developer.apple.com/library/mac/navigation/index.html。
21、cocoa和cocoa touch简介
本章对cocoa和cocoa touch进行了概念介绍,并且用示意图说明了各个框架之间的关系。
Application应用服务层支持打印和图形渲染的,包括Quartz、OpenGL、Quicktime。
Cocoa层包括Foundation框架、Application Kit框架、Core Data第三方框架。
Foundation框架:提供处理集合、字符串、内存管理、文件系统、存档等相关类。
Application Kit(AppKit)框架:提供管理视图,窗口、文档、按钮、列表等相关类。
Core Data第三方框架:使用数据库存储和管理数据。
Cocoa Touch包括Foundation、Core Data、UIKit框架。
UIKit框架:相当于AppKit,提供窗口、视图、按钮、文本域等相关类,提供支持使用陀螺仪、加速器的类和触摸式界面。
Cocoa框架用于Mac OS X桌面应用程序的开发。Cocoa Touch框架用于IOS设备上应用程序开发。cocoa和cocoa touch提供了在Mac和IOS设备上开发复杂图形应用需要的各种类。
四、本文总结。
试读提供了五个章节,既然是试读,就要真正的读,所以我将样章从头到尾,一字不落的看完了。我在虚拟机下安装了MAC OS X,在Xcode中把样章中所有例子都运行了一遍,将样章后的练习都做了一遍。通过对样章试读,感觉收获不少。
全文字数达到了两三千字,耗时两天时间完成,希望可以获奖。^_^
http://xindexinxin.iteye.com/blog/2115981
一、本书特色及评论。
二、试读章节理解和笔记总结。
1、引言
2、objective-c编程
3、类、对象和方法
14、foundation框架简介
20、cocoa和cocoa touch简介
三、本文总结。
一、本书特色及评论。
《Objective-C程序设计(第6版)》是一本很经典、很权威的书籍,这本书已经到了第6版,是学习Objective-C的首选书籍和必备书籍,可以说学习Objective-C,只要看这一本就够了。
本书详细介绍了Objective-C语言,用丰富的示例讲解了怎样使用Objective-C和利用Foundation framework类库。作者很用心,书中截图所使用的开发工具全部采用Xcode 5。本书内容浅显易懂,由浅及深,讲解非常清晰,适合没有编程经验的人自学,是初学者比较容易看懂的书。当然,如果有一定的编程经验,看起来会更快的,不管是java、C、C++还是PHP编程经验,每一种开发语言都是“互通”的,都有一些相似的概念,可以触类旁通。本书章节结构层次清晰,划分合理,很容易知道每一章的主题,插图精美,排版合理,适合课堂教学使用。本书对Objective-C基础语法讲解细致,可以将本书放在身边当工具书查阅。本书适合各个层次的人阅读。
苹果在2014年开发者大会上发布了Swift开发语言。虽然Swift发布了,但是还有必要学Objective-C的,Swift目前还处于Beta版本,Swift语言依然还存在许多Bug,不够稳定。objective-c还是会存在一段时间的。
本书特点:
1、丰富的示例。本书提供了大量的示例代码,方便学习研究。
2、附带练习。章节后面附带了练习,方便读者进行自测,检验学习效果。
3、每章小结。章节中的示例讲解非常详细,每一章中都穿插了示例总结,每一章后都有小结。
3、善于引导读者。本书在给出示例代码时,先让读者预测代码输出结果,然后才给出正确的输出结果,这样一步步引导读者思考,循循善诱,增强了互动性。
4、提问—提供解决方法—解释方法。本书还有一个特点就是,首选会提出问题,然后告诉读者怎么做,最后给读者解释为什么要这样做。
二、试读章节理解和笔记总结。
下面是我对这些章节讲述内容的理解。
1、引言
引言部分对objective-c的发展历史进行了介绍,并且介绍了本书的组织方式。
全书共分为三部分,总共21章。第一部分介绍了Objective-C的基础知识。第二部分介绍了怎样使用Foundation框架。第三部分介绍了Cocoa和Cocoa Touch框架,以及使用iOS SDK开发APP应用程序。
2、objective-c编程
本章首先由一个简单的objective-c程序引入,由此引人入胜,然后使用Xcode和GNU Objective-C两种方式编译运行程序,输出“Programming is fun”。
随后介绍了Xcode工具和Terminal工具的使用,使用Xcode可以输入、编译、调试和执行程序。
本章介绍了常见文件扩展名。
本章列出了5个例子,对NSLog输出进行了详细介绍。
为了加强动手能力,我对本章的5个例子全都进行了实际编译和运行,用虚拟机安装的Mac OS X 10.9。
下面是5个例子的代码:
例1、
#import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { @autoreleasepool { // insert code here... NSLog(@"Programming is fun!"); } return 0; }
例2、
#import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { @autoreleasepool { // insert code here... NSLog(@"Programming is fun!"); NSLog (@"Programming in Objective-C is even more fun!"); } return 0; }
例3、
#import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { @autoreleasepool { // insert code here... NSLog (@"Testing...\n..1\n...2\n....3"); } return 0; }
例4、
#import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { @autoreleasepool { // insert code here... int sum; sum = 50 + 25; NSLog (@"The sum of 50 and 25 is %i", sum); } return 0; }
例5、
#import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { @autoreleasepool { // insert code here... int value1, value2, sum; value1 = 50; value2 = 25; sum = value1 + value2; NSLog (@"The sum of %i and %i is %i", value1, value2, sum); } return 0; }
为了理解本章的概念,我将本章后面的练习全部做了。
下面是我本章练习的答案:
练习2、
#import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { @autoreleasepool { // insert code here... NSLog (@"In Objective-C, lowercase letters are significant."); NSLog (@"main is where program execution begins."); NSLog (@"Open and closed braces enclose program statements in a routine."); NSLog (@"All program statements must be terminated by a semicolon."); } return 0; }
练习3、
2014-09-11 00:37:13.419 prog1[784:303] Testing...
2014-09-11 00:37:13.421 prog1[784:303] ....1
2014-09-11 00:37:13.422 prog1[784:303] ...2
2014-09-11 00:37:13.422 prog1[784:303] ..3
练习4、
#import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { @autoreleasepool { // insert code here... int value1, value2, result; value1 = 87; value2 = 15; result = value1 - value2; NSLog (@"The result of %i minus %i is %i", value1, value2, result); } return 0; }
练习5、
#import <Foundation/Foundation.h> int main (int argc, const char *argv[]) { @autoreleasepool { int sum; /* COMPUTE RESULT*/ sum = 25 + 37 - 19; // DISPLAY RESULTS NSLog (@"The answer is %i", sum); } return 0; }
第2行,末尾多了个分号“;”。
第3行,"("应为"{"。
第5行,"INT"应为"int"。
第6行,多行注释"/*"没有结束符号"*/"。
第8行,单行注释"/"应为"//"。
第9行,单引号''应为双引号"",参数sum前面少个“,”。
练习6、
2014-09-11 00:59:38.052 prog1[825:303] The result is 95
4、类、对象和方法
本章介绍面向对象程序设计的一些关键概念,定义类的机制,以及向实例、对象发送消息的方式。为面向对象程序设计奠定了基础。
首先本章通过举一个生活中的例子,说明什么是对象。
然后介绍了实例和方法。请求一个类或实例来执行某个操作时,就是在向它发送一条消息,消息的接受者称为接受者。Objective-C调用执行某个方法的格式:
[ ClassOrInstance method];
例子1
以面向过程的编程方式输出分数。
#import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { @autoreleasepool { // insert code here... int numerator = 1; int denominator = 3; NSLog (@"The fraction is %i/%i", numerator, denominator); } return 0; }
例子2
以面向对象的编程方式输出分数。主要分为三部分,@interface部分、@implementation部分、program部分。
#import <Foundation/Foundation.h> //@interface部分 @interface Fraction: NSObject -(void) print; -(void) setNumerator: (int) n; -(void) setDenominator: (int) d; @end //@implementation部分 @implementation Fraction { int numerator; int denominator; } -(void) print { NSLog (@"%i/%i", numerator, denominator); } -(void) setNumerator: (int) n { numerator = n; } -(void) setDenominator: (int) d { denominator = d; } @end //program部分 int main (int argc, char * argv[]) { @autoreleasepool { Fraction *myFraction; //创建一个分数实例 myFraction = [Fraction alloc]; myFraction = [myFraction init]; //设置粉色为1/3 [myFraction setNumerator: 1]; [myFraction setDenominator: 3]; //使用打印方法显示分数 NSLog (@"The value of myFraction is:"); [myFraction print]; } return 0; }
@interface部分用于描述类和类的方法。
@implementation用于描述数据,类对象的示例变量存储的数据,实现接口中声明的方法。
program部分的程序代码实现了程序的预期目的。
随后本章对这三部分进行了详细讲解。
本章对类名和变量命名规则进行了讲解。
类名一般以大写字母开头。
实例变量、对象、方法的名称一般以小写字母开头,名称中以大写字母表示新单词的开头(骆驼命名法)。
制定名称的规则:名称必须以字母或下划线"_"开头,后面可以是大小写字母、下划线、0~9之间的数字组合。
保留字(保留名)不能作为变量名。Objective-C区分大小写字母。
本章对类方法和实例方法进行了讲解。
声明一个方法:
- (void) setNumerator: (int) n;
开头的负号“-”表示这个方法是实例方法,“+”表示类方法。
类方法是对类本身执行某些操作的方法,例如创建类的新实例。
实例方法对类的实例执行一些操作,例如设置值、检索值、显示值。
方法的返回值放在负号或正号的圆括号中,void表示无返回,int表示返回整型,double表示返回双精度。
方法名冒号后面是参数。
创建一个实例、初始化。
Fraction *myFraction;
myFraction = [Fraction alloc]; //创建实例
myFraction = [myFraction init]; //初始化
也可以组合在一起:
myFraction = [[Fraction alloc] init];
或
Fraction *myFraction = [Fraction new];
例子3
以面向对象的编程方式输出两个分数。
#import <Foundation/Foundation.h> //@interface部分 @interface Fraction: NSObject -(void) print; -(void) setNumerator: (int) n; -(void) setDenominator: (int) d; @end //@implementation部分 @implementation Fraction { int numerator; int denominator; } -(void) print { NSLog (@"%i/%i", numerator, denominator); } -(void) setNumerator: (int) n { numerator = n; } -(void) setDenominator: (int) d { denominator = d; } @end //program部分 int main (int argc, char *argv[]) { @autoreleasepool { Fraction *frac1 = [[Fraction alloc] init]; Fraction *frac2 = [[Fraction alloc] init]; //设置第一个分数为2/3 [frac1 setNumerator: 2]; [frac1 setDenominator: 3]; //设置第二个分数为3/7 [frac2 setNumerator: 3]; [frac2 setDenominator: 7]; //显示分数 NSLog (@"First fraction is:"); [frac1 print]; NSLog (@"Second fraction is:"); [frac2 print]; } return 0; }
例子4
演示了实例变量的访问和数据封装。介绍了设值方法(setter)和取值方法(getter)的概念。
本例以setter和getter的方式设置分数、输出分数。
取值方法和设值方法称为访问器方法。
#import <Foundation/Foundation.h> //@interface部分 @interface Fraction: NSObject -(void) print; -(void) setNumerator: (int) n; -(void) setDenominator: (int) d; -(int) numerator; -(int) denominator; @end //@implementation部分 @implementation Fraction { int numerator; int denominator; } -(void) print { NSLog (@"%i/%i", numerator, denominator); } -(void) setNumerator: (int) n { numerator = n; } -(void) setDenominator: (int) d { denominator = d; } -(int) numerator { return numerator; } -(int) denominator { return denominator; } @end //program部分 int main (int argc, char *argv[]) { @autoreleasepool { Fraction *myFraction = [[Fraction alloc] init]; //设置分数为1/3 [myFraction setNumerator: 1]; [myFraction setDenominator: 3]; //使用两个新的方法显示分数 NSLog (@"The value of myFraction is: %i/%i", [myFraction numerator], [myFraction denominator]); } return 0; }
为了理解本章的概念,我将本章后面的练习全部做了。
下面是我本章练习的答案:
练习1
6_05 不合法,不能以数字开头
A $ 不合法,中间有空格
练习2
图
练习3
[computer start];
[computer shut];
[computer logOff ];
[computer restart];
[computer lock];
练习4
对汽车、摩托车、船执行的操作,有重复。
[yourCar prep];
[yourCar drive];
[yourCar getGas];
[yourCar service];
练习5
发送不同消息,执行不同操作方法。
练习6
面向对象编程和面向过程编程的优缺点......
练习7
XYpoint类:
#import <Foundation/Foundation.h> //@interface部分 @interface XYpoint: NSObject -(void) print; -(void) setXPosition: (int) x; -(void) setYPosition: (int) y; -(int) XPosition; -(int) YPosition; @end //@implementation部分 @implementation XYpoint { int xPosition; //X坐标 int yPosition; //y坐标 } -(void) print { NSLog (@"%i/%i", xPosition, yPosition); } -(void) setXPosition: (int) x { xPosition = x; } -(void) setYPosition: (int) y { yPosition = y; } -(int) XPosition { return xPosition; } -(int) YPosition { return yPosition; } @end //program部分 int main (int argc, char *argv[]) { @autoreleasepool { XYpoint *myXYpoint = [[XYpoint alloc] init]; //设置x、y坐标 [myXYpoint setXPosition: 9]; [myXYpoint setYPosition: 12]; //检索输出x、y坐标 NSLog (@"The Position is: (x=%i, y=%i)", [myXYpoint XPosition], [myXYpoint YPosition]); } return 0; }
15、foundation框架简介
本章对foundation框架进行了介绍,并且介绍了如何使用本地帮助文档和在线帮助文档,以及如何查看某个类的提示信息。
框架是由许多类、方法、函数和文档组织的集合。
Cocoa包括Foundation框架、Application Kit框架、Core Data第三方框架。
Cocoa Touch包括Foundation、Core Data、UIKit框架。
Application Kit框架用来开发交互式图形应用程序。可以开发文本、菜单、工具栏、表、文档、剪贴板、窗口等。
Foundation框架可以使用基本对象数字、字符串,对象集合数组、字典、集合,日期时间、自动化内存管理、处理基础文件系统、存储对象、处理几何数据结构等。
打开本地帮助文档:Help-->Documentation and API Reference。
查看某个类的提示信息,将光标放到该类上,按住Option键。
一直打开帮助面板,菜单View-->Utilities-->Show Quick Help Inspector。
在线访问MAC OS X帮助文档,http://developer.apple.com/library/mac/navigation/index.html。
21、cocoa和cocoa touch简介
本章对cocoa和cocoa touch进行了概念介绍,并且用示意图说明了各个框架之间的关系。
Application应用服务层支持打印和图形渲染的,包括Quartz、OpenGL、Quicktime。
Cocoa层包括Foundation框架、Application Kit框架、Core Data第三方框架。
Foundation框架:提供处理集合、字符串、内存管理、文件系统、存档等相关类。
Application Kit(AppKit)框架:提供管理视图,窗口、文档、按钮、列表等相关类。
Core Data第三方框架:使用数据库存储和管理数据。
Cocoa Touch包括Foundation、Core Data、UIKit框架。
UIKit框架:相当于AppKit,提供窗口、视图、按钮、文本域等相关类,提供支持使用陀螺仪、加速器的类和触摸式界面。
Cocoa框架用于Mac OS X桌面应用程序的开发。Cocoa Touch框架用于IOS设备上应用程序开发。cocoa和cocoa touch提供了在Mac和IOS设备上开发复杂图形应用需要的各种类。
四、本文总结。
试读提供了五个章节,既然是试读,就要真正的读,所以我将样章从头到尾,一字不落的看完了。我在虚拟机下安装了MAC OS X,在Xcode中把样章中所有例子都运行了一遍,将样章后的练习都做了一遍。通过对样章试读,感觉收获不少。
全文字数达到了两三千字,耗时两天时间完成,希望可以获奖。^_^
http://xindexinxin.iteye.com/blog/2115981






相关推荐
6. MVC架构:Objective-C通常遵循Model-View-Controller(MVC)架构,PaperStack框架的实现也需要遵循这一原则,将数据模型、视图展示和控制逻辑分离,以提高代码的可读性和可维护性。 7. 源码管理:PaperStack-...
Objective-C 是苹果公司为 macOS 和 iOS 平台开发应用程序的首选语言之一,它基于 C 语言并扩展了 Smalltalk 风格的消息传递机制。通过 Objective-C,开发者可以创建高度互动和动态的应用程序,这使得 SnowBoard ...
cmd脚本-bat批处理-RUN.zip
内容概要:本文详细介绍了 MySQL 中的数据类型,将其分为数值、日期/时间和字符串三大类。数值类型涵盖从 TINYINT 到 BIGINT 的整数类型以及浮点数和 DECIMAL 类型,每种类型都有明确的存储大小和取值范围。日期/时间类型包括 DATE、TIME、YEAR、DATETIME 和 TIMESTAMP,适用于不同的日期和时间表达需求,其中 TIMESTAMP 具有自动更新特性。字符串类型则由 CHAR、VARCHAR、BLOB、TEXT、ENUM 和 SET 组成,能够存储固定长度或可变长度的字符及二进制数据。此外,还提及了空间数据类型,如 GEOMETRY 等,用于存储地理信息和几何图形数据。; 适合人群:数据库管理员、软件开发者及其他需要深入了解 MySQL 数据库设计与优化的专业人士。; 使用场景及目标:①为数据库设计提供理论依据,确保选择合适的数据类型以优化性能;②帮助开发者理解各种数据类型的特性和应用场景,以便更好地进行应用程序开发。; 其他说明:正确选择 MySQL 数据类型对于提高数据库效率至关重要,应根据实际需求合理选用不同类型。例如,在存储大量文本时,应考虑使用 TEXT 或 BLOB 类型;对于需要精确计算的数值,则优先选用 DECIMAL 类型。同时,了解每种类型的特点有助于避免潜在的数据丢失或溢出风险。
cmd脚本-bat批处理-去掉字符串头所有的0.zip
cmd脚本-bat批处理-全盘禁止运行指定程序.zip
cmd-bat-批处理-脚本-语音参考字典.zip
内容概要:本文档《Docker 新手入门指南》详细介绍Docker这一开源容器化平台,旨在帮助新手理解并掌握Docker的核心概念和基本操作。文中首先解释了Docker的概念及其相对于传统虚拟机的优势,如更快的启动速度、更低的资源占用和更好的隔离性。接着,文档提供了详细的安装步骤,包括不同操作系统下的安装方法以及针对国内用户的镜像加速配置。随后,文章深入讲解了镜像管理和容器操作的基础命令,如拉取镜像、运行容器等。进一步地,文档介绍了使用Dockerfile构建自定义镜像、实现数据持久化、进行端口映射以及利用Docker Compose管理多容器应用等高级技巧。最后,给出了一些学习建议和注意事项,鼓励读者动手实验并关注安全性。 适合人群:适合对容器技术感兴趣的初学者,尤其是有一定Linux基础或打算深入了解Docker的开发人员。 使用场景及目标:①帮助读者快速上手Docker,掌握从安装到实际操作的一系列技能;②通过实例演示,如构建Python Web服务、部署WordPress和搭建Jenkins环境,让读者能够将所学应用于实际项目中;③强调容器化的优势,如提高部署效率、解决环境差异问题。 阅读建议:建议读者跟随文档逐步操作,亲身体验每个步骤,同时参考官方文档和社区资源,不断实践以巩固所学知识。特别注意安全性和资源管理方面的提示,确保容器环境的安全稳定运行。
cmd-bat-批处理-脚本-九宫格图案.zip
据QYResearch调研团队最新报告“全球斗式提升机链条市场报告2024-2030”显示,预计2030年全球斗式提升机链条市场规模将达到1亿美元,未来几年年复合增长率CAGR为4.4%。 市场驱动因素: 散装物料输送行业的增长:水泥、采矿、农业和发电等行业的需求不断增长,推动了斗式提升机在垂直物料运输中的应用。基础设施建设和工业化:全球建筑活动的不断增长和工业厂房的扩张推动了对重型输送系统的需求。链式系统的效率和耐用性:链式斗式提升机因其强度高、使用寿命长而成为重型和高温应用的首选。自动化和工厂优化:采用自动化和智能控制系统可提高链式输送机的性能和运行效率。 市场制约因素: 初始安装和维护成本高:与基于皮带的替代方案相比,链式系统更昂贵且更复杂,尤其对于小型作业而言。恶劣环境下的磨损:如果不进行适当的维护,持续暴露于磨蚀性或腐蚀性材料中会导致更快的老化。某些设施的空间限制:斗式提升机的垂直设计和占地面积可能并不适合所有场地布局,从而限制了其适用性。 市场机遇: 链条材料的技术进步:耐磨耐腐蚀合金和涂层的开发延长了产品的使用寿命和可靠性。农业和食品加工行业的扩张:新兴市场对谷物处理、化肥运输和散装食品转运的需求不断增长,推动了链条的使用。现有系统的改造和升级:有机会用高性能链条系统替换过时的机械部件,以提高产量。对节能输送解决方案的需求不断增长:对降低能耗的重视推动了链传动系统和铲斗设计的创新。 根据QYResearch头部企业研究中心调研,全球范围内斗式提升机链条生产商主要包括Tsubakimoto Chain、Renold、Thiele、Pewag、RUD Ketten、HEKO Group、John King Chains、B.V.Transmission Industries、Transmin、华通气动等。2024年,全球前五大厂商占有大约51.0%的市场份额。 就
cmd脚本-bat批处理-删除指定路径下指定文件及文件夹外的所有文件及文件夹1.zip
内容概要:本文由麦肯锡发布,探讨了人工智能(AI)特别是生成式AI(gen AI)如何重塑组织架构及创造价值。研究表明,企业正在通过重新设计工作流程、提升治理水平和应对更多与gen AI相关的风险来捕捉AI的价值。CEO对AI治理的监督与工作流的重新设计是取得财务影响的关键因素。大公司正引领这一变革,它们更积极地招聘AI相关人才并进行员工再培训。此外,企业正逐步采用AI于多个业务职能,包括营销、销售、产品开发和服务运营。尽管目前大部分公司尚未看到AI对企业整体利润的显著影响,但已有迹象表明,AI的应用正在增加收入并减少成本。 适合人群:企业高管、AI项目经理、战略规划人员以及对AI技术应用感兴趣的商业人士。 使用场景及目标:①帮助企业管理层理解如何通过AI技术优化内部流程并提高效率;②为AI项目的实施提供参考,确保企业在部署AI时能够最大化其商业价值;③指导企业在风险管理、人才招聘和员工技能升级方面做出明智决策。 其他说明:随着AI技术的发展,企业需要不断调整自身结构和流程以适应新技术带来的变化。文中提到的最佳实践如建立专门团队推动AI采用、定期沟通AI价值、高层领导积极参与等做法,可以为企业成功引入AI提供有益借鉴。此外,文中还强调了AI对不同行业的影响差异,以及个人使用AI工具的趋势变化。
内容概要:本文主要介绍了SQL注入的概念、危害及其防范措施。SQL注入是攻击者通过恶意构造输入,使服务器执行非预期的SQL命令的一种攻击方式,常因用户输入未
cmd脚本-bat批处理-查看工作组.zip
cmd-bat-批处理-脚本-不显示输入密码.zip
Gauss-Seidel迭代,OpenMP并行化本质上是不行的,输入文件
cmd-bat-批处理-脚本-IE不能打开新链接修复.zip
cmd-bat-批处理-脚本-批处理加密.zip
以下是一个基于蒙特卡罗法的可靠性分析Matlab程序代码,该代码能够处理具有任意分布的随机变量,并且可以考虑多个失效模式。代码中包含了测试案例,可以直接在Matlab软件中运行。同时,代码中附有详细注释,便于理解。 该程序基于蒙特卡罗法进行可靠性分析,适用于处理具有任意分布的随机变量以及多个失效模式。 用户可以通过修改random_vars和random_params来定义随机变量的分布类型和参数,通过修改failure_modes来定义失效模式函数。 程序中包含一个测试案例,可以直接在Matlab软件中运行,以验证程序的正确性。 程序代码中附有详细注释,便于用户理解和修改。
cmd-bat-批处理-脚本-断开网络联结.zip