欢迎来到千学网!
您现在的位置:首页 > 实用文 > 其他范文

如何才能系统有效的学习cocos2d

时间:2025-11-21 07:46:37 其他范文 收藏本文 下载本文

这里给大家分享一些如何才能系统有效的学习cocos2d,本文共6篇,供大家参考。

篇1:如何才能系统有效的学习cocos2d

有效的学习cocos2d的方法

一、平台与编程语言选择

首先,游戏开发的平台就有很多类型:

个人主机平台:Windows、Linux、Mac OC;

移动平台:iOS、Android、Windows Phone、BlackBerryOS、Symbian;

专业主机平台:Xbox、PlayStation、Will等。

如果你想从事移动平台的游戏开发,Android主流JAVA语言,iOS主流Object-C语言,那么你就要去学习这个平台主流的语言,而在个人主机上主流的游戏开发语言现在包括以后很长时间也还是C++。

但是并不是所不同平台的游戏开发,就毫无共通之处,学了这个到了另一个平台就无用了。不是这样的,编程的世界里你走得越远你会发现很多东西的本质都是相似的,例如你如果扎实地理解了C++的基本语法(而不是死记硬背),日后再转Java语言也不是很难的事情,因为它们本质的面向对象特性还有各种编程语言特性都是相通的。

所以,如果你想走得远,在学习的时候不能简单流于表面,对于一样知识越深入到底层,你就越能看到其它知识与其的异曲同工之处,因此你将比别人更轻松。但是,当然一开始最好尽可能是贴合自己的专属领域和编程语言,这样能尽快地在这个领域持有一席之地。

无论你选择哪个平台,游戏开发这个浩大的工程都离不开游戏引擎,所以这里都有二条路线让你选择:

只使用游戏引擎;

使用游戏引擎并深入学习游戏引擎原理。

线路一:只使用游戏引擎

对于第一条路线,游戏引擎的使用并不困难,因此适合想快速上手游戏开发工作的人。我们工作大多数时候也不会自己开发游戏引擎,所以这样对于一般的日常工作也没什么大碍。对于只使用游戏引擎的人来说,入门阶段要做的就是看该引擎的教程(书籍、视频、网上博客、网上教程、官方帮助文档等),并且熟练该教程所使用的编程语言。

所以你要做的第一件事,就是去了解现在流行的游戏引擎。因为不同平台下的性能不同,支持的编程语言也不尽相同,所以针对不同平台下的流行的游戏引擎也是不同的(方括号里面是特别推荐的,基于开源性、易用性、性能与效果等方面的综合水平推荐):

windows或游戏主机:【Unreal】、寒霜、CE3

苹果ios:【unity3D】、【cocos2d-ObjC】、【Unreal】、sparrow、sprite kit。

安卓:【unity3d】、【cocos2d-x】、【Unreal】、AndEngine、libgdx。

网页:【Egret】、【cocos2d-html5】、Fancy3D、unity3d。

在选择游戏引擎的时候,尽可能选用流行的游戏引擎,因为这个游戏引擎流行意味着官方的功能比较完善和易用,问答社区也比较多人解疑。各个游戏引擎也各有千秋,Unity3d胜在简单易用,对性能要求不高,但是效果不够华丽,因而一般用在移动平台而不会用在电脑或游戏主机。Unreal胜在开源免费,而且效果也很出色,但是对设备要求比较高,因而常常用来开发效果绚丽的大型游戏。cocos2d-x也是开源免费的,在2D领域深有造诣,但是缺点是不可视化开发。另外,如果你想了解游戏引擎原理,那么首要考虑的就是开源的游戏引擎。

不同游戏引擎使用的编程语言或者脚本语言可能是不一样的,所以当你想要学习某个游戏引擎的时候,也应该留意该游戏引擎所使用的语言。大部分情况是,Windows用的的是C++,同时结合lua或python脚本语言。而ios平台下使用Objective-C或swift,安卓平台下使用Java。但这不是必然的,例如Unity在各个平台下都可以用C#或者javascript脚本语言。

下面是商业上流行的游戏引擎详细比较:

1) Unreal4(虚幻4)

适用平台:Microsoft Windows、Mac OS X、iOS、Android、虚拟现实设备(包括但不限于SteamVR/HTC Vive、Morpheus、Oculus Rift及Gear VR)、Linux、SteamOS及 HTML5平台。

编程语言:C++或无需编写代码。

优点:开源免费,画面效果出色,已有多款商业大作经验。同时,它还能跨平台,商店资源丰富,提供了无需编写代码即可制作游戏的强大功能(可视化开发)

缺点:开发机器配置要求较高。

2) Unity3D

适用平台:iOS、Android、Windows phone 8、Tizen、Microsoft Windows、Windows Store应用程序、Mac、Linux/Steam OS、网络播放器、WebGL、PlayStation3、PlayStation4、PlayStation Vita版、Xbox One、Xbox 360、Wii U、Android TV、Samsung SMART TV、Oculus Rift、Gear VR、Microsoft Hololens、Playstation VR。

编程语言:C#、javascript、Boo。

优点:方便易用,中文资料丰富,跨平台,商店资源丰富,可视化开发。

缺点:画面效果一般,不是免费开源,引擎效率比较低。

3) Cocos2d系列(包Cocos2d-x、Cocos2d-ObjC、Cocos2d-html5、Cocos2d-xna等)

适用平台:Microsoft Windows、OS X、Linux、iOS、Android、Tizen、Linux、Mac OS X、HTML5浏览器、Windows Phone 7 & 8、Xbox 360。

编程语言:Python、Objective-C、C++、Lua、JavaScript、Swift、JavaScript、C#。

优点:开源免费,跨平台,中文资料丰富,2D技术丰富且成熟。

缺点:不可视化开发,3D方面技术不成熟。

4) CryEngine3

适用平台:Microsoft Windows、OS X、Linux、PlayStation 3、PlayStation 4、Wii U、Xbox 360、Xbox One、iOS、Android。

编程语言:C++、Lua。

优点:画面效果世界一流,可视化开发,跨平台。

缺点:开发机器配置要求较高,不是免费开源。

5) Frostbite3(寒霜3)

适用平台:Microsoft Windows、PlayStation 3、PlayStation 4、Xbox 360、Xbox One。

编程语言:C++。

优点:画面效果出色,可视化开发,跨平台。

缺点:开发机器配置要求较高,不是免费开源。

6) Egret(白鹭)

适用平台:HTML5、iOS、Android、Windows Phone。

编程语言:TypeScript、JavaScript。

优点:免费开源,配套工具多,全中文文档,可视化开发,跨平台。

缺点:支持平台较少,大多数时候用于开发对性能和效率要求不高的小游戏。

但是使用游戏引擎毕竟是停留在表面看不到本质,当游戏开发的时候出现了某些问题或者特殊需求,你往往很难处理。而且游戏引擎技术日新月异,你所学的几乎都是别人留下来的方法,而不是其本质思想。如果将来别的游戏引擎兴起,你又要重新学习另外的游戏引擎怎么使用。在很多大公司里面,甚至都有自己公司内部专用的引擎(如网易公司的风魂引擎、金山公司的剑网3引擎、蜗牛公司的Flexi引擎等等)。所以单纯地走这条路线,可能不会让你走得很远并且可能会日渐乏味。

线路二:使用游戏引擎并深入了解游戏引擎原理

对于第二条路线,深入学习游戏引擎原理短时间不会让你的工作有什么卓越的成效,但是可以弥补只使用游戏引擎导致的问题,而且学习游戏引擎原理,更多时候不是一定就为了自己日后要造个游戏引擎,而是更深入理解自己的游戏引擎,更好地使用它。当然,千里之行始于足下,经常学习游戏引擎底层原理的人到了一定的积累的时候,自己造个游戏引擎也是可以的。

对于像学习游戏引擎原理的人来说,需要制定自己明确的长期目标:

1) 首先,一开始可能对游戏引擎没什么概念,建议先使用一两个游戏引擎(我推荐C++程序员学习虚幻4游戏引擎,现在是免费开源的,非常值得学习。那些不开源的游戏引擎尽量不要去学习,因为其对于学习原理来说没有多大贡献)。

2) 因为游戏开发就是一门实时渲染的艺术,所以离不开图形库的学习。现在主流的图形库是Windows平台专用的DirectX 11和通用平台的Opengl。这两个图形库,至少需要入门其中一个。

3) 然后,你就可以开始看计算机图形学的书籍了。如果你发现你的理论底子不足,这个时候就需要补一下线性代数、基本的微积分、还有3D数学的知识。

4) 游戏引擎中包含了各个部分,上面的渲染只是游戏引擎的一部分。还有其它诸如着色器编写、地形编写、物理引擎编写、模型和动画、人工智能体设计、网络编程等等,完成渲染部分的基本学习后,你可以选择自己感兴趣的部分进行专攻,毕竟我们实际工作大多数时候是团队开发,而不是单打独斗,每个人都应该精通自己所擅长的那部分。

学习cocos2d的前景

1适用范围

这个很多之前的回答都已经说了,主要区别是unity是一个完全的的解决方案,cocos2d是一个类库。适用领域unity要广很多。cocos2d就是为手机游戏而生的。而unity除了开发2D,3D游戏,能发布到WP,Mac, Console等cocos2d不涉及的平台,unity还被广泛才用于虚拟现实项目。

在我最开始接触unity还是1.x版本的时候,QQ群里面几乎全是讨论虚拟现实项目的。甚至即便到现在我感觉身边(重庆)用unity做教育软件和3D漫游的都远多于做游戏的。也就是说如果你将来不开发手游,cocos2d就用不上了,unity还能搞点其他的。

2学习难度

上手当然unity更简单。如果更极端一点,不会编程,借助一些可视化编程中间件,设计师都可以完成unity游戏开发。前阵子网上有cocos2d一天复制flappy bird的教材,如果换unity+playmaker来做估计花不了我一个小时。当然如果面向本来就会c++的开发人员,cocos2d入门可能更加直观,不会要接触新的开发工具。不过对于普通人来说还是unity的方式更加容易入门,连代码都不用写。

3技术支持和社区

这方面cocos2d胜出,国内社区的情况unity方面掌握都还比较初级,有深度的技术问题基本上都要去官方论坛交流。当然如果你英文读写无障碍,这个情况就倒过来了。

4发展态势

cocos2d目前在“开源的2D手游开发框架”领域基本上是没有什么竞争,这也注定了开源社区也不会有什么动力扩展到新的领域。

而unity则是一直开扩展其开发覆盖面,unity就是“一统浆糊”的意思嘛。最开始是作为一个“让人人都能开发游戏”进入人们视野的引擎,而最近的新版本一直在强调AAA游戏开发,将出的5.0版本基本上都是面向画质上面的提升。

实际上也对UE,CE等造成了一定压力,现在UE对个人的授权费比unity还便宜了。但是unity对于一些普遍认为烂得不行的功能却一直没有什么动力修改,比如GUI系统和内置网络部分,一般也是要借助第三方完成开发,这点初学者需谨慎,不要学习这些没用的东西。

5扩展性方面的问题

这点cocos2d胜出。由于unity采用了易于新手和无编程人员的组件模式,在开发大型项目时候非常容易进入架构上的陷阱。开发太容易了,犯错也容易。

而cocos2d不是说就不会犯这些架构问题了,而是本身基于cocoa框架,能够开发的人本身已经具有了一定的编程规范,开发app所用到的软件架构仍然适用。

而且unity就是另外一套体系了,初学者开发了一些简单项目以后一定要有有经验的人带,了解一套MVC这样的架构体系以后再开发商业项目,否则只会在组件化模式的歧途上越走越远。

在扩展性方面,unity的其他问题也还有很多:假设苹果出了一个新的设备iTV, 用cocos2D的话你可以在beta版本放出的时候就开始根据官方的文档开发集成,在正式设备发布的时候就第一时间支持,使用unity的话恐怕必须等unity发补丁更新;需要两次编译,令人头大的JIT错误;很多国内广告和支付平台都不支持unity,SDK集成需要自己做插件等等。

有效的学习cocos2d的书籍推荐

1) 数学基础

下面这些数学基础书籍是为游戏开发量身定制的,比专门看某一数学方向更有效率:

《3D Math Primer for Graphics and Game Development》,有中文版

《Mathematics for 3D Game Programming and Computer Graphics》

《Essential Mathematics Guide》

《Geometric Tools for Computer Graphics》

2) 图形库

针对 DirectX 的书籍:

《Introduction to 3D Game Programming with DirectX 11》,大名鼎鼎的龙书,入门必看的

《Practical Rendering and Computation with Direct3D 11》,进阶

《Real-Time 3D Rendering with DirectX and HLSL》

针对 OpengGL 的书籍:

《OpenGL SuperBible》,著名的蓝宝书,以例子为主,有中文版。但不建议看中文版,翻译得不好。

《OpenGL Programming Guide》,著名的红宝书,有中文版。红宝书更像是手册,API大全,例子较少,适合熟练者查询使用。

《OpenGL 4.0 Shading Language Cookbook》,进阶,基本上就是API手册,有中文版。但不建议看中文版,翻译得不好。

3) 计算机图形学

《The Nature of Code》,有中文版,比较简单

《Fundamentals of Computer Graphics》,被国外多所大学采用的入门教材,介绍范围比较广,从基本的相关数学到建模、渲染、动画、应用方面都有提及

《Physically Based Rendering》,主要是离线渲染

《Real-Time-Rendering》,必读经典!必读!

《计算机图形学》,作者舍利

《Computer Graphics》,要看最新的第三版

《计算机图形学原理及实践:C语言描述》

4) Shader着色器

《Cg_tutorial》,入门

《The Complete Effect and HLSL Guide》,入门

《Shaders for Game Programmers and Artists》,含有大量入门例子

《Advanced Lighting And Materials With Shaders》,介绍光照模型和技术

《GPU Gems》进阶必读。

《Shader X》系列,每年出版一本,包含最新的实时渲染技术。论文性的比较多,偏难。

《Programming Vertex, Geometry, and Pixel Shaders》,以DirectX 10为主,很详细。

5) 地形

《Real Time 3D Terrain Engines Using C++ And DX9》非常全面的讨论了关于地形渲染的各种技术。

6) 模型导入和动画

《Character Animation With Direct3D》包含了最新的游戏动画技术

《Computer Animation》

《Real-Time Cameras》

《Computer Facial Animation》

《Realtime 3D Character Animation with Visual C++》

《Advanced Animation and Rendering Techniques》

《Cloth Modeling and Animation》

7) 网络

《TCP/IP 详解 卷2》

《Network Programming for Microsoft Windows》

《Advanced Programming in the UNIX Environment》

《Windows核心编程》

《Multithreading applications in Win32》

《网络游戏核心技术与实战》

8) 物理

《Game Physics》

《Game Physics Engine Development》

《Real-time Collision Detection》,碰撞检测方面最好的书

《3D Game Engine Design, 2nd》第8、9章值得一看

9) 细节层次

《Level of Detail for 3D Graphics》

10) 光线跟踪

《Physical-Based Rendering - From Theory to Implementation》

《Another Introduction to Ray Tracing》

篇2:如何才能系统有效学习cad

有效学习cad的步骤

第一步,好好记得那些功能怎么拼,offset是o,fillet是f,explode是x,offset可以多个连续o、可以设置新对象的图层,f是神器,tr按shift可以延长,pr特性是非常赞的工具好好使用,打印样式最好自己设置一套,然后把各种颜色代表什么东西记下来,这样每次出图就不用一个图层一个图层调线形了。

第二步,装天正装天正装天正。因为很重要所以说了三遍。我是大三才装上天正的,尼玛真是恨自己不早点试试。天正本质是一个CAD的BIM插件(这里好像不太对……大家就当它是个普通的CAD插件好了),虽然有点不彻底,大家的使用基本停留在2D功能上。但这个东西真的非常方便,画墙、画门窗、画玻璃、画各种标注、墙线的加粗填充,用了就上瘾、根本停不下来。

我个人认为,系统的学习和不系统的学习可以同时进行。系统的学习可以完整吸收软件的体系,建模思路,修图原理等等。不系统的学习可以通过解决问题的方法去学习。举个例子,我要在建一个正方体。那我今天就学习正方体的命令,在扩展出如何通过不同的方法制作正方体,在研究如何去修改等等。但是暂时不去学如何输出图像,如何渲染,如何调整阴影等等。也就是通过实战来提升自己对软件的理解。当然,系统的学习是有必要的,但是作为初学者很难理解进阶的概念和内容,这样就势必会打击学习情绪和积极性。二者相辅相成才是好的学习态度。就和学习武功一样,内外兼修才可以。除非你是天纵奇才。

有效学习cad的技巧

1、如何替换找不到的原文字体?

复制要替换的字库为将被替换的字库名,如:打开一幅图,提示未找到字体jd,你想用hztxt.shx替换它,那么你可以去找AutoCAD字体文件夹(font)把里面的hztxt.shx 复制一份,重新命名为jd.shx,然后在把XX.shx放到font里面,在重新打开此图就可以了。以后如果你打开的图包含jd这样你机子里没有的字体,就再也不会不停的要你找字体替换了。

2、如何删除顽固图层?

方法1:将无用的图层关闭,全选,COPY 粘贴至一新文件中,那些无用的图层就不会贴过来。如果曾经在这个不要的图层中定义过块,又在另一图层中插入了这个块,那么这个不要的图层是不能用这种方法删除的。

方法2: 选择需要留下的图形,然后选择文件菜单->输出->块文件,这样的块文件就是选中部分的图形了,如果这些图形中没有指定的层,这些层也不会被保存在新的图块图形中。

方法3:打开一个CAD文件,把要删的层先关闭,在图面上只留下你需要的可见图形,点文件-另存为,确定文件名,在文件类型栏选*.DXF格式,在弹出的对话窗口中点工具-选项-DXF选项,再在选择对象处打钩,点确定,接着点保存,就可选择保存对象了,把可见或要用的图形选上就可以确定保存了,完成后退出这个刚保存的文件,再打开来看看,你会发现你不想要的图层不见了。

方法4:用命令laytrans,可将需删除的图层影射为0层即可,这个方法可以删除具有实体对象或被其它块嵌套定义的图层。

3、打开旧图遇到异常错误而中断退出怎么办?

新建一个图形文件,而把旧图以图块形式插入即可。

4、在 AUTOCAD中插入 EXCEL表格的方法。

复制EXCEL中的内容,然后在CAD中点编辑(EDIT)–选择性粘贴(PASTE SPECIAL)–AutoCAD图元–确定–选择插入点-插入后炸开即可。

5、在 Word文档中插入 AutoCAD图形的方法。

可以先将AutoCAD图形拷贝到剪贴板,再在Word文档中粘贴。须注意的是,由于AutoCAD默认背景颜色为黑色,而Word背景颜色为白色,首先应将AutoCAD图形背景颜色改成白色(工具-选项-显示-颜色)。另外,AutoCAD图形插入Word文档后,往往空边过大,效果不理想,可以利用Word图片工具栏上的裁剪功能进行修整,空边过大问题即可解决。

6、将AutoCAD中的图形插入WORD中有时会发现圆变成了正多边形怎么办?

用VIEWRES命令,将它设得大一些,可改变图形质量。

7、将AutoCAD中的图形插入WORD时线宽问题。

当需要细线时,请使用小于等于0.25的线宽;当需要粗线时,设置大于0.25的线宽(大于0.25的线在Word里面打印时,打印出来的宽度大于0.5mm)。注意:必须在CAD里面激活线宽显示,如果从Word里面双击编辑过图片,请重新检查激活线宽。 当需要的线宽在0.25–0.5之间时,请使用多段线设置宽度。

8、AutoCAD在XP操作系统下打印时致命错误怎么办?

这跟AutoCAD 及以上版本使用打印戳记有关。在版时,增补的打印戳记功能就有很多的BUG,这个功能在2002版本后就直接做为AutoCAD功能。该功能在98操作系统中是完全没有问题的,但在有些XP系统中就会出错。所以在XP系统中昀好不要去开启该功能。如果你已经不幸开启了该功能而使AutoCAD在打印时出现致命错误,解决的方法只能是这样:在AutoCAD的根目录下找到AcPltStamp.arx文件,把它改为其它名称或删除掉,这样再进行打印就不会再出错了,但也少了打印戳记的功能,该方法对于2002版及版均有效。

9、在 AutoCAD2002中移动文字就出错是什么缘故?

移动文字时注意不要跨越尺寸线等文本,否则cad就会出现致命错误,取消正交绕过这些对象。

10、打开dwg文件时,系统弹出 “AutoCADMessage”对话框提示 “Drawingfileisnotvalid”,告诉用户文件不能打开怎么办?

这种情况下可以先退出打开操作,然后打开“File”菜单,选“DrawingUtilities/Recover”命令,或者在命令行直接用键盘输入“recover”,接着在“SelectFile”对话框中输入要恢复的文件,确认后系统开始执行恢复文件操作。

11、在多行文字( mtext)命令中使用 Word97编辑文本。

Mtext多行文字编辑器是AutoCADR14中的新增功能,它提供了Windows文字处理软件所具备的界面和工作方式,它甚至可以利用Word97的强大功能编辑文本,这一功能可以用如下方法实现:打开”Tools”菜单选”Preferences”命令,”Preferences”对话框弹出后,打开”Files/TextEditor,Dictionary, andFontFileName/TextEditorApplication/Internal”,双击”Internal”,出现”Selectafile”对话框,接着找到”Winword.exe”应用程序文件,击”打开”钮,昀后单击”OK”返回。完成以上设置后,用户如再使用mtext命令时系统将自动调用我们熟悉的Word97应用程序,为AutoCAD中的文本锦上添花。

12、AutoCAD图导入 photoshop的方法。

这已经是一个很古老的问题了,解决的方法就是”虚拟打印”!下面一步步的来(为方便大家,采取中英文对照,括号里面是英文版):

1) 打开”文件(file)”菜单下的”打印机管理器(plottermanager)”。

2) 运行”打印机添加向导(Add-A-Plotter Wizard)。

3) 点击”下一步(next)”,在右边的选项中选择”我的电脑(MyComputer)”,继续”下一步”,进入”打印机型号(Plotter Model)”选择页面。

4) 在左边的”厂商(Manufacturers)”中选择”光栅文件格式(Raster File Formats)”,这是我们可以看到在右边的”型号(Model)”中列出了很多种我们熟悉的图形格式,我习惯于使用JPG格式,选择”独立的JPEG编组(Independent JPEG Group JFIF)”,点击”下一步(next)”,直到完成。这样我们以后就可以将CAD图形输出位JPG格式了。接下来我们来看看该如何使用它。

5) 用CAD做好一幅图后,我们打开”文件(file)”菜单下的”打印(plotter…)”。在打印对话框中,在打印机类型中选择我们刚刚装好的”Independent JPEG Group JFIF”,在下面的”打印到文件(plot to file)”里添上生成的文件名称和路径,这个文件就是一个可以再photoshop中编辑的图形了。在页面设置中选择一个我们需要的尺寸,其他的就和使用真正的打印机方法是一样的。点击打印后,等几秒钟,图形就生成了。注:系统默认的页面尺寸只有1280*1600,这个尺寸并不能满足我们的需要。我们可以在打印机的属性中自定义我们所需要的尺寸。 Enjoy!补充:如果cad是2004或更高版本,就不用自己装打印机了,在打印设备中有一个”PublishToWeb JPG.pc3″的打印机,直接用就行了

6) 补充曾老师的一点,如果你想导出纯黑色线形记得要在出图的同时把所有颜色的笔号都改为7号色,这样就可以导出纯黑色的图了,记得要在PS里把模式改为RGB,这样图象会更清晰。

13、修改完ACAD.PGP文件后,不必重新启动AUTOCAD立刻加载刚刚修改过的 ACAD.PGP文件的方法。

键入REINIT命令,钩选PGP,再确定。

14、从备份文件中恢复图形

首先要使文件显示其扩展名(打开我的电脑在工具–文件夹选项–查看-把隐藏已知文件的扩展名前面的钩去掉);其次要显示所有文件(打开我的电脑在工具–文件夹选项–查看-隐藏文件和文件夹-选显示所有文件和文件夹);再次找到备份文件(它的位置可以在工具-选项-文件-临时图形文件位置查到),将其重命名为”.DWG”格式;昀后用打开其他CAD文件的方法将其打开即可。

15、解决AutoCAD不能注册的方法

去掉文件和文件夹的隐藏性。 删除 C:\\Documents and Settings\\All Users\\Application Data\\Autodesk\\Software Licenses\\B2260000.dat

16、acad.pgp文件的修改

XP:到c:\\\\Documents and Settings\\自己的用户名\\Application Data\\Autodesk\\AutoCAD 2004\\R16.0\\chs\\Support\\acad.pgp.修改就行了。98:到c:Data\\Autodesk\\AutoCAD 2004\\R16.0\\chs\\Support\\acad.pgp.

17、AUTOCAD中的工具栏不见了怎么办?

点工具–选项–配置–重置;也可用命令MENULOAD,然后点击浏览,选择ACAD.MNC加载即可。

18、如何关闭CAD中的*BAK文件?

1) 工具–选项,选”打开和保存”选项卡,再在对话框中将”每次保存均创建备份”即”CREAT BACKUP COPY WITH EACH SAVES”前的对钩去掉。2) 也可以用命令ISAVEBAK,将ISAVEBAK的系统变量修改为0,系统变量为1时,每次保存都会创建”*BAK”备份文件。

19、如何调整AUTOCAD中绘图区左下方显示坐标的框?

按F6键切换。或者将COORDS的系统变量修改为1或者2。系统变量为0时,是指用定点设备指定点时更新坐标显示。系统变量为1时,是指不断更新坐标显示。系统变量为2时,是指不断更新坐标显示,当需要距离和角度时,显示到上一点的距离和角度。

20、绘图时没有虚线框显示怎么办?

修改系统变量DRAGMODE,推荐修改为AUTO。系统变量为ON时,再选定要拖动的对象后,仅当在命令行中输入DRAG后才在拖动时显示对象的轮廓;系统变量为OFF时,在拖动时不显示对象的轮廓;系统变量位AUTO时,在拖动时总是显示对象的轮廓。File”菜单,选”DrawingUtilities/Recover”命令,或者在命令行直接用键盘输入”recover”,接着在”SelectFile”对话框中输入要恢复的文件,确认后系统开始执行恢复文件操作。

学习CAD的建议

1.设计过程中自悟自解决,

2.请教身边的同学,

3.看网络公开课(这个其实指包括各种整理过的网络资源),

4.看各种软件的教程实体书。

篇3:如何才能系统有效的学习asp

有效学习asp的步骤

第一步 掌握一门.NET面向对象语言,C#或VB.NET 我强烈反对在没系统学过一门面向对象(OO)语言的前提下去学ASP.NET。 ASP.NET是一个全面向对象的技术,不懂OO,那绝对学不下去!

第二步 对.NET Framework类库有一定的了解 可以通过开发Windows Form应用程序来学习.NET Framework。ASP.NET是建构在.NET Framework之上的技术,你对.NET Framework了解得越深,学习ASP.NET就越快。 举个例子:下面简单列出几个对掌握ASP.NET非常重要的概念: 对象的内存模型,委托,事件,多线程,程序集和应用程序域,安全模型 .NET Framework当然还有许多其它的东西,但不理解与把握清楚上述这些东西,是很难真正把握ASP.NET的。 出于急迫的心情与现实的考虑,不少人没有扎实的面向对象基础就想直接学习ASP.NET,其结果只能是欲速则不达。 在具备了OO基础之后,以下是具体的学习ASP.NET技术步骤。

第一步:学习HTML与CSS

这并不需要去学一大堆的诸如Dreamweaver,Firework之类的各种网页设计工具,关键是理解HTML网页嵌套的block结构与CSS的box模型。许多ASP.NET控件最后都必须转化为HTML。而且,div+CSS是当前主流的网页布局模型。 学习这部分时,关键在于理解概念,而不需要将精力花在美化页面的许多技巧上,那是网站美工的工作,不是程序员的工作。

第二步:学习JavaScript

JavaScript不是Java,它主要运行于浏览器端。可以完成许多工作,功能也很强大:比如它将客户端网页中的HTML元素看成一棵树,可以编写代码访问并修改树节点,动态生成新的HTML代码,从而达到动态修改网页显示特性的目的。

JavaScript在目前的网站开发中用得很多,非常重要。

另外,它也是目前非常流行的AJAX技术的基础。

第三步:学习计算机网络原理

找一本大学<计算机网络>教材,重点看看它的有关互联网的部分,了解一些域名解析和HTTP协议等知识。这是进行互联网开发的理论基础。

第四步:学习ASP.NET表示层技术,会设计Web页面

需要结合先前打好的面向对象技术的基础,至少掌握以下内容:

(1) 各种Web控件的使用方法,

(2) 理解信息在网页中的传送方式,比如Cookie,ViewState,Session等的使用。

(3) ASP.NET应用程序与网页的生命周期,以及相关对象(比如httpcontext,response,request)的用途。

(4) ASP.NET实现事件驱动的内幕

(5) 自定义用户控件

再次强调一下,没有OO基础,很难掌握上述技术,就只能被这些东东牵着鼻子走了,会很被动。

第五步 掌握数据库技术

具体地说,要学习以下内容:

(1) 学会使用SQL Server :不要求精通它的各种工具与管理配置技术,但至少知道如何连接,如何建表,如何创建存储过程

(2) 学习ADO.NET,掌握使用代码人工访问数据库(别用VS2005的向导)的方法

(3) 学习数据绑定控件的使用

第六步 理解多层架构

这时,先前在OO学习阶段涉及到的程序集与应用程序域等就派上用场了,现在,网站架构大多采用多层架构:表示层、业务逻辑层、数据存取层以及数据库本身。

可以先上网找一此多层架构的资料看,再找一个现成的比较复杂的开源ASP.NET项目分析一下其架构就差不多了。基本上都是一个套路,到处应用。

有的朋友问:学习架构是不是必须学习设计模式。

我的看法是:不必!当然,你如果学习过设计模式,那当然更好。但在实际开发中,如果只想着机械地套用某种模式,反而起不到好的结果。我的观点:在学习设计模式时要多思多悟,其思想就会渐渐地融入你的大脑,在真实的设计实践中,忘掉所有的写在书上的模式,一切从实际出发,相信你的直觉,只要达到设计要求的方案就是可行的方案,事实上,你这样做了之后,回过头来再看,会发现你的设计往往暗合设计模式的理论。

第七步 学习XML与Web Service

先了解XML的基础知识,找本讲XML的书看一下就差不多了,然后,再学习Web Service。Web Service其实可类比为远程方法调用(以XML格式表达的调用信息)。

学 到了这里,如果你还有兴趣,不妨再去看看SOA,不过SOA的资料都是理论与概念,看起来比较郁闷,而且离实际开发可能比较远。所以,这是可选项。

第八步 学习AJAX

学习AJAX的主要目的是创建具有更丰富特性的Web表示层,而经过前面七步的学习,到此再学习AJAX已水到渠成,所有的基础都已具备,不会有太大的问题了。

在基础未具备的前提下直接学AJAX,就象“浮沙之上筑高台”,所以,将AJAX的学习次序安排在这里。

第九步 学习RIA技术

RIA:Rich internet application,可看成是将C/S与B/S优点合二为一的尝试。就具体技术来说,主要指微软的Silverlight(WPF_E),毕竟前头一路行来都是微软路线。

有效学习asp建议

asp.net与自身现状结合

当我在学习.net的时候,有不少朋友告诉我,现在做网站热门的是用PHP,.net实有过时之嫌,虽然一样是学习,还是不少人建议我直接学PHP;另一方面,.net是微软公司出的技术,所以又有一种说法是”微软不倒它不倒”,”它不倒我就不倒….”大概这个意思。

在存有疑惑的时候,我找了学长和其他朋友聊了不少,但是趋势这个东西,谁又可以确定未来呢。偶然一天,翻看微信订阅号推送的时候,看到一篇“为什么要学习MVC框架”的文章,大概内容是基于使用java做网页时从JSP到java再到XML的一系列代码都没有使用MVC简便而且快捷。

我认真地看了一眼JSP的代码,怎么看怎么都跟.net的webform长得一模一样,心里有点激动,回想起学长也对我说过,其实做网站思路都是一样的,当初我没有理解,现在看到了这个代码,发现写网页用java也和.net其实差不多,我又跑去问了PHP,学长给我的答复还是那句话,PHP又是另一套语言,其实现在学.net就是在学习做网站的思想,以后如果要转另一门语言其实也不难。

这让我又坚定了学习.net的决心,也解开了心中的疑惑。学习思想总不会过时吧。

项目从webform改成MVC

这是我现在要学习的内容。

为什么要把项目从webform改成MVC呢。其实大概了解的人都知道,如果是用webform来做网站,基本上微软把html,css都封装起来了,甚至你都不需要看到前端代码,直接使用控件拖拽就可以完成视图的设计。但是问题也就在这里,毕竟拖拽后的页面代码是自动生成的,你并不能保证它会出现什么问题,这个时候你又要找回生成的html,css等,那么webform反而是一个麻烦制造者了。

MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。

MVC解决以上问题,是一种现今热门的开发模式。推荐大家了解和学习。

asp的结构

1. 新的配置方式

看看上图的项目你发现Web.Config或者其他文件夹上的以Config为后序的文件不见了(之前总觉得读/写这种XML是一件痛苦的事情)。真心话,做技术当然不是一段婚姻,你需要喜新厌旧。那新的ASP.NET 5的配置文件去哪里了,变得怎么样了?肯定是简单了,更容易以自己喜欢的方式去定制不同的配置文件(XML,JSON,INI都可以)。在ASP.NET 5中主要通过Startup.cs取代Web.config去完成初始化配置工作。例如项目中包和包的依赖关系,更可以升级包的版本,启动页面等。而这种配置都是从IConfiguration开始。

2. Project.json

这个是配置你的项目所要的包,编译设置,资源文件的主要文件。他通过JSON文件设置。有几个比较关系的字段

Dependencies :设置你项目中所需要的包,当你使用kpm rebuild时会依据这个去加载你的包,如果你的包的版本更新也可以通过这里进行设置。如下图这里设置了一个新项目所需要到的基础包(JSON总比XML易读易理解)

Framework : 针对aspnet50和aspnetcore50进行所需要的包进行设置。

Command : 设置运行K(DN)后面的参数,例如设置web / kestrel 的启动服务和端口,单元测试,或者entity framework的支持等。

3. Config.json

配置数据库连接和你对应的ORM引擎,这里默认是Entity Framework 7。我更希望有更多的ORM引擎加进来。

4. 前端配置npm/bower/grunt

你的项目需要引入JS库/Bootstrap等,以往需要在项目中一个个下载,为了更节省时间npm+bower就可以帮你找了。而grunt更方便帮你部署项目时整理/压缩你的JS,规范你的JS代码。 这里更像NodeJS,或者说是模仿。

你现在应该基本了解一个ASP.NET 5项目的结构了,明天继续。还是那句多多交流!

篇4:如何才能系统有效的学习javascript

学习javascript的方法

No1:大量阅读

我是一个劲头十足的读者。所以,我的第一个关于学习JavaScript的技巧就是关于阅读,这绝不是巧合。书籍和其他的资源(如文章)可以在很大程度上帮助你学习JavaScript。通过实践学习,书籍是我学习新学科最喜欢的方式。在学习JavaScript的情况下,我将会向所有人推荐两本书。第一本是 Nicolas C. Zackas的《JavaScript高级程序设计》。这本书将会带领你从JavaScript基础到最高级的主题。当你看完这本书,并且练习你所学过的知识点时,你将会掌握扎实的JavaScript知识。如果你掌握了这本书里面的所有知识点,我相信它会让你离成为一个JavaScript专家更近一步。不过,这本书还不够。不要误会,这本书是很好而且包含了很多内容。问题就在于由于ECMAScript6的介绍很多都改变了。

这本书涵盖了之前版本的JavaScript,所以,如果你只看《JavaScript高级程序设计》,你可以学习JavaScript,但是你不能学到最新的JavaScript特性。这就是为什么会有第二本书。这本书是出自同一个作者的《了解ECMAScript》本书包含了有关JavaScript的前沿信息。阅读这本书,ECMAScript 6 将不再是你的问题。不过这有一个忠告,不要在阅读Web开发人员专业的JavaScript书籍之前阅读它。

理解ECMAScript会教你ECMAScript6的特点。但是你不会学到JavaScript基础。这就是你必须在理解ECMAScript之前先阅读Web开发人员专业的JavaScript书籍的原因。第二本书是建立在第一本书的基础上的。除了这两本书你还应该阅读关于JavaScript的文章和帖子。让你自己沉浸在JavaScript中。

No2: 亲历亲为(勤动手)

众所周知,只阅读远远不够。此外,这也不是最好的记住新知识的方法。你不信?想一想你昨天所阅读的所有东西。你能记得多少?你还能记得多少事实和数字?你可能记得你所阅读过得文章的题目,你还可能大概记得那些文章谈论的是什么。但是,如果有人给你做一个测试去测试一些明确的事实和数字,你可能会失败。

毋庸置疑的事实就是你只阅读了这些文章一次。当你带着学习的目的去阅读的时候,你不止只看一次。你将会反复的阅读知道你记住为止。不过,我会认为阅读不是最有效的学习方式。无论你想要学JavaScript或者其他任何东西,都有很多更有效的方法让你去完成。这就是通过实践去学习。学习代码的最好的方法就是去编写代码。

我知道这听起来简单也相当合理。但是,通常我们更喜欢阅读而不是去实践。其中有一个原因可能是阅读更容易更舒适。而且,既然我们寻求舒适,那么阅读这些东西看起来是一个更好的选择。并不是!如果你想要学习JavaScript,而且是在短时间内,你必须亲历亲为勤动手,这是宜早不宜迟的。

通过实践来学习的好处

正如我所提到的,你练习你所学的你会学得更快。你会得到即时的反馈,看看有什么作用。这是书本所无法复制的东西,包括电子版的。当你下定决心通过阅读来学习JavaScript的时候,你必须相信书本里的结果。这些结果通常是对的。但是,仍然可能会发生某些代码段可能会产生不同的结果。特别是如果书中的一些语法已经过时了,在这种情况下,一些代码可能就不会运行。

事实就是编写和出版一本书籍需要花费时间。所以当这本书最后出版的时候,编程语言已经包含了不包含在本书中的更新,这不足为奇。因此,你正在学习可能已经过时的定西。如果你专注于练习,这就不太可能发生。如果你在学习JavaScript的时候使用一些在线编辑器(如CodePen),你总是会使用这种语言的最新版本。JavaScript是一个很好的例子。

很长一段时间,并没有关于ECMAScript 6 的书籍。但是,如果您使用Babel等编译器,则可以使用此语法编写代码。在编程界,这相当普遍。通常书籍在出版的时候就已经过时了或者很快要过时了。留在技术前沿的唯一方法就是实践。通过实践学习JavaScript的另一个理由已经提到了,就是能得到即时的反馈和更好的信息保留。

当阅读JavaScript可能是危险的时候

这种反馈循环和改进的保留是为什么即使是最新的书也不会是最好的选择。此外,阅读实际上可以让你退步。当你读到一些的东西时,很容易让你说服自己你是在取得进步。为什么会这样呢?你正在浏览页面并深入其中。然而,这只是你自己认为的。如果有人给你测试怎么办?你能像你翻页那样轻松的通过吗?

在多数情况下,翻书比掌握书中包含的知识要容易得多。当我决定主要通过阅读书籍而忽视练习来学习JavaScript时,我意识到了这一点。而且我很快意识到,过了一段时间后,我会忘记我之前阅读的所有东西。因为很多东西我只看了一次。所以,这是延长我学习JavaScript旅程的另一个因素。换句话说,我掌握的信息非常糟糕。而且,我也没有得到反馈。

我曾经认为看书中的练习和亲自动手操作效果是一样的,但是大错特错!你可以从早到晚用你的脑子写代码。然而,除非你测试,否则你永远都不会知道你的代码是否有用。甚至连专家和有着多年经验的人都不会依赖他们的想法和猜测。他们测试他们的想法。如果你真的想学习JavaScript我建议你也这样做。

如果你不确定你该花多少时间去阅读和练习该怎么办?我的答案很简单。通常在练习上花费更多时间。如果你必须在阅读一些东西和练习上选择一个,选择后者。记住,阅读某事物会让你说服自己是在进步。不要购买这个错觉。

No3:尝试不同的学习方法

到目前为止,我们讨论了学习可以通过阅读或者实践。这两种方法足够可以帮助你学习JavaScript。不过,你可以使用更多其他方法来提高你的学习能力。有一种理论是这样说的,每个人都有不一样的学习方式。对这个理论的合理性有一些批评和持续的争论。谁知道呢,也许它只是起到安慰的作用。如果你想要,你可以尝试不同的风格,看看哪一种最适合你自己。

对于那些不相信学习风格存在的人呢?我依然想鼓励你们去尝试不同的方式。我理解你们喜欢书籍胜过视频。或者你们喜欢自己尝试,而不是阅读它们。最后一个最适合我,书籍排第二。使用各种学习方式学习JavaScript的原因很简单。你使用的方式越多,你就越沉浸其中。

多元的学习方法只为更深的沉浸在其中

然我们来谈一谈仅仅通过阅读来学习JavaScript。这种方式有一个问题。你会经常接触不到JavaScript。与学科定期接触是学习的关键。而且,接触的越频繁,你会学得越快。所以,如果你想更快的学习JavaScript,办法就是勇往直前。你需要显著的增加这个频率。换句话说,你必须沉浸在其中。

这就是为什么你需要尝试尽可能多的方式。你现在在读一些关于JavaScript的好书吗?这是一个好的开始!现在呢,怎么进一步呢?举个例子,你可以开始阅读关于JavaScript的博客文章。由Eric Elliott领衔的“this blog”和“JavaScript Scene)是开始的好地方。你也可以开始听关于JavaScript的播客。这里我向大家推荐两个:“JavaScript Jabber” 和 “JavaScriptAir”。

如果你更喜欢视频而不是声音该怎么办呢?没问题! JavaScriptAir 在 YouTube 上也有“its own channel”。另一个你可以学习JavaScript和其他关于网站开发技术的频道是 “LearnCode.academy”。下一个专注于JavaScript的频道是“JSConfEU”。如果你在寻找课程,使用搜索并选择你喜欢的。有上百种频道和视屏可以帮助你学习JavaScript。你也可以试试网页,比如“Lynda” 和 “Udacity”。

有些人会忽略会谈和博客,因为他们不认为这些是有用的。我不同意这个观点。这些资源常常使人们从多年的实践中学到很多洞察力和诀窍。此外,这些资源通常比课程和书本更通俗易懂和有趣。所以,你可以使用这些资源来放松,同时还能学到很多。

增加一些交互性

另一种快速学习JavaScript的方法就是加入一些网站的在线课程,例如“Codecademy”,“treehouse”和“Code School”。这些网站最大的进步就是它们的交互性。首先,你看一些介绍的视频。然后,你可以通过做一些练习立即练习你所学的内容。这样,当这些知识还是比较新的时候,你可以练习你看到的所有知识。这种组合的学习方式也可以让你获得知识。

这些网站的缺点是它们通常只能在有限的时间内自由使用。然后,你必须得支付一定数量的金额才可以订阅。Codecademy是一个例外。你可以免费在Codecsdemy上进行培训、学习JavaScript和其他技术。你将无法获得额外的资源和支持。另一个非常好的用于培训你的JavaScript技能的网站是“codewars”。在这里,你可以用通过解决各种难题挑战自己。

尽管这可能不太适合所有的初学者,我认为你至少应该试一试。Codewars提供了很多要求JavaScript基础的挑战。所以,尽管你只是刚刚不如JavaScript的学习轨道,你也已经可以测试你的技能了。我也应该提到这些挑战比仅仅关注一些学者或看视频有趣得多。还有一件事,Codewars还提供可以与之交谈的社区代码爱好者。

JavaScript & DOM 基础

在你找到JavaScript的工作之前,你需要掌握JavaScript的基础:

固定方法: 标准数据类型的学习方法(特别是 数组, 对象, 字符串, 和数字)。

函数 & 纯函数: 可能你觉得已经很好地掌握了函数,但是JavaScript经常事与愿违,你需要学会纯函数以掌握函数编程。

闭包: 学习JavaScript函数作用域是如何运行的.

回调: 回调是当另一个函数运行结束的时候,发出信号调用函数。可以这么说,“做你自己的事,做完了再叫我”。

Promises: promise是处理终值的方法。当一个函数返回一个promise,你可以用.then方法添加回调,在promise完成之后运行。终值会传入你的回调函数中。比如 doSomething().then(value =>console.log(value));。

Ajax & 服务器API调用: 大多数有趣的应用最终都是联网的。你需要知道如何与API交互。

ES6: 最新版本的JavaScript版本是ES (或者是ES7),但是大多数开发者依然没有掌握ES6。然而这已经是过去时了。

类 (注意:避免类的继承。 请看类的正确打开方式,然后晚上安心入眠。)

函数编程基础: 函数编程通过编译数学函数创建程序,避免分享状态和可变数据。我已经好几年没有看到一个大量使用函数编程的JavaScript应用作品。现在是时候掌握这个方法了。

生成器 和 异步/等待: 在我看来,写异步代码最好的方法是看上去是同步的。这里有一个学习曲线,但是一旦你学会了,那么代码的阅读会变得简单。

性能: RAIL——从 “网页响应速度观察”和 “WebPageTest.org”开始。

渐进式Web应用程序 (PWAs): 请看“原生应用是必然的”和“为什么原生应用是必然的”。

Node & Express: Node让你在服务器上使用JavaScript,意味着你的用户能够在云中存储数据然后在任何地方都可以使用它。Express是Node具有压倒性优势的欢迎程度的框架。

Lodash: 一个极佳的用于JavaScript的,由函数编程模块化功能打包而成的模块化功能包。从lodash/fp从引入data-last函数模块。

学习javascript的重要模块

1) 可维护性: 通过定义可知, 一个模块是独立的。 一个设计良好的模块目标在于最大程度上减轻代码库之间的关联性,这样每个代码库都可以独立地扩充和提高性能。更新一个单独的模块比依赖于其他代码的模块要轻松得多。

回到书的例子,如果你想更新你书中的一个章节,如果对于一个章节的一个细小的改动需要你同时改变每一章,那么这将会是噩梦。反之,你想用模块的方法写每一章节,那么每次改动都不会影响到其他章节。

2) 命名空间: 在javascript中,在最高权重方法范围外的变量是全局(意思就是每个人都可以获得他们)。正是这个原因,当完全无关的代码分享全局变量的时候,命名空间污染是很正常的事情。

在无关代码中共享全局变量在开发中是一个很大的禁忌。

我们将在文章之后看到,模块允许我们通过为我们的变量创建私有空间来防止命名空间污染。

3) 复用性: 让我们在这里诚实点: 我们会复制我们之前写入新项目一个点或另一个点的代码.比如,让我想象你复制了一些你之前项目中使用的方法到你现在的项目。

这没有问题,但是如果你发现一个更好的方法去写那些代码,你需要回顾并且记得更新任何你写这个方法的地方。

篇5:如何才能系统有效的学习java

有效的学习java的方法

1明确面向对象的范畴

我们必须明确一个大方向,也就是说现在面向对象的编程范畴。尽管人工智能曾经有所浪潮(看看Borland为什么有Turbo Prolog),但未来5-工业界广泛承认并接受的将是面向对象式的编程。

工业界目前最流行的面向对象编程语言就是C++和Java。所以基本上锁定这两个方向就可以了。而且完全可以同时掌握。

2掌握Java的精华特性

掌握Java的精华特性的同时,一定要知道为什么。比如,Interface和multi-thread。用interface是更好的多继承的模型,而多线程则是设计到语言一级的重要特性。要完全理解interface是为什么,用多线程又有几种常用的编程模型。

3开始进行设计

理解了语言的特性是为什么了之后,就可以试着上升到设计这个层次,毕竟学习语言是要用的。目前比较好的开发模式是采用自定向下的面向对象的设计,加上MVC的模式(你可以看一下我介绍的关于MVC的内容)。首先要找出最顶层的对象(这往往是最难的),然后一层一层往下递归,记住每次应符合7+/-2的原则,因为我们人的短记忆就是这样。一般有图形用户界面的应从界面开始设计。

4学习设计模式

有了基本设计模型后,可以学一些设计模式(Design Pattern)。这是目前证明很有效的。比如体系结构模式(Layering分层,Pipe/Filter管道或过滤器),设计模式(有很多,比如对象池Object Pool、缓冲池Cache等),编程模式(比如Copy-on-Write)。

懂了这些模式之后,就会对系统的整体结构有很好的把握,而学术上也有倾向一个系统完全可以由各种模式组合而成。前面提到的MT实际上就有好几种模式,掌握后就不用自己花很多时间去试了。另外一个很重要的领域就是并行和分布式计算领域,大概有20种左右。

5进行编程实践

接下来就不能纸上谈兵了,最好的方法其实是实践。一般教科书上的例子并不能算是实践,只能算是让你掌握语言特性用的。而提倡做实际的Project也不是太好,因为你还没有熟练的能力去综合各种技术,这样只能是你自己越来越迷糊。

我认为比较好的方法是找一些比较经典的例子,每个例子比较集中一种编程思想而设计的,比如在我的实践当中,我曾经学习过一个很经典的例子就是用Java实现的HotDraw(源自SmallTalk),你可以用rolemodel或hotdraw在搜索引擎上找一下,我记不大清楚了。好象是个网站,上面有原代码和一些基本设计的文档。

另一个来源可以到是个不错的文档基地。从HotDraw上我学到了什么是Framework,以及如何用rolemodel的方式来构造,这样我就可以应用到其他的地方。顺便说一句,这个例子你绝对不会觉得小,只会觉得大,并且他还是真正的商用的Framework。

6学习修改经典例子

结合前面学到的设计模式你就可以很好的理解这些经典的例子。并且自己可以用他来实现一些简单的系统。如果可以对他进行进一步的修改,找出你觉得可以提高性能的地方,加上自己的设计,那就更上一个层次了,也就会真正地感到有所收获。

好象以上谈的跟Java没什么关系,其实我们早就应该从单纯的学习语言到真正的学习好编程的领域。学习技术是没有止境的,你学习第一种语言可能要半年时间,以后每种语言都不应该超过两个月,否则你会觉得学习语言是包袱,是痛苦。

7学以致用

学习是为了用的,是为了让你的程序产生价值,把握住这个原则会比较轻松点。

有效的学习java的建议

1. 静静的想想

学习Java之前,静下心来想想,这关系到你以后该走的路:

1)你对学习Java是否有兴趣?

2)你的兴趣点能否支撑你持续去学习这门语言?

3)你对Java深入了解过吗?这门语言能够帮助你达到怎样一个目标?

4)Java的前景,生命力,就业率,以及市场的需求是否符合自己的发展?

这些问题必须要仔细思考一下,首先确信自己对Java感兴趣、要有吃苦耐劳的精神,那你才可能学好Java!成功的秘诀就是专注与坚持,如果具备这两点条件,就请继续往下看……

2. 开始发奋(准备)

请不要把你的学习Java之路和其它计算机技术分开看待,技术的联系往往是千丝万缕的,你应该掌握一些学习Java所涉及的基础知识,对于 “CLASSPATH要怎么设置啊”、“跪求JDK下载地址”等等问题,这些问题可以直接从搜索引擎中获取到答案,互联网+时代,云时代,知识与资源共享,一些普遍的问题都可以得到解决。

1)买本Java学习用书。

JDK 6正式版刚刚推出,市面上你暂时买不到JDK 6的书籍,但我仍推荐你买一本适合入门的、较新JDK版本的Java书籍,那么,你现在选择一本讲述JDK 5的入门书籍还是有条件的。我可以推荐一些入门书,但是我不打算这么做,因为合我口味的,不一定适合你。但无论如何,《Thing In Java》绝对不应该作为你入门Java的第一本书籍!

记住,网络上学习Java的资源很多,但不够系统,拥有一本Java入门书籍,是你系统学习Java的基础,入门的一个很好的条件。

2)准备Java学习的电脑环境。

准备你的学习环境,很简单,安装JDK 6,然后用类似UltraEdit、EditPlus的文本编辑器配置你的学习环境,Internet上有很多关于如何配置的文章。初学Java,不建议用IDE工具,通过一行行的敲代码,你会碰到很多问题,只有这样,你才能学会怎样解决问题,并加深自己对Java的理解。

准备好后,开始进入激动人心的Java学习里程吧!

3. Java基础学习

学习Java的过程处处有精彩,处处有惊喜,认准了Java,你就坚持!克服心魔,恒心最终会给你回报的。

Java的体系分为Java SE、Java EE和Java ME(JDK 5.0以前分别叫J2SE、J2EE和J2ME),Java的敲门砖就是Java SE了,也就是你要入门学习的内容,不论你日后是选择哪个体系领域作为发展方向,你都得从Java SE起步。

学习Java SE,打好Java基础;如果想学Java EE,对于AWT、Swing是否要学习呢,我个人是觉得还是要知道里面的真谛,特别是其事件处理模式,我强烈建议初学者一定要弄清楚,其他具体的开发就不一定要全面掌握了,毕竟AWT、Swing方面的内容足够用几本大部头的书才能描述详尽;当然,如果你的工作就是做 AWT、Swing开发,那就另当别论了。

4. Java EE学习

学习了Java SE,还只是完成“万里长征”的第一步。

接下来选择学习Java EE或是Java ME(或者你还想不断深入学习Java SE,只要你喜欢,你可以一直深入下去,就像前面所说的,我不会讲到Java ME的学习);估计选择Java EE方面的学习者会多一些,Java EE所涉及技术非常多,考虑到初学者的接受程度,我会尽量从最常用的角度来介绍。

学习Java EE,在开发环境上不建议再用文本编辑器,我感觉NetBeans 5.5(目前最高正式版本)很适合初学者,我个人也很喜欢NetBeans,如果你喜欢用别的IDE如Eclipse,都没问题,看自己喜欢吧。

4.1 学习JSP/Servlet

Java EE最高版本目前是5.0版本。

在Java EE中,首先要学习JSP/Servlet(结合Tomcat、MySQL)技术,建议JSP1.2/2.X的知识都要掌握,毕竟现在很多的在用系统都还是基于JSP1.2,学习JSP,还必须掌握一些外延技术,如:你还得掌握HTML基础知识,最好再掌握些JavaScript(目前正火的AJAX技术之一)、CSS的技术,而了解XML是必不可少的(至少描述性配置信息是通过XML来描述的)。在学习JSP/Servlet过程中,应该结合学习JDBC、数据库开发技术,毕竟绝大多数Java Web项目都是和数据库紧密结合的。

4.2 学习数据库开发

重点说一下数据库开发技术,数据库技术是做业务系统必备技能,Java Web开发人员最低程度都应该掌握SQL语句的使用!数据库技术大体可分为DBA技术和数据库开发技术,对于开发而言,应侧重数据库开发技术,而数据库基本操作,也是要掌握的。常用数据库有DB2、Oracle、SQL Server、MySQL等,你可以结合实际需要,选择一种数据库,并花大力气掌握其开发技术。

学习数据库开发技术和学习Java EE,是相对独立的,你可以在学习JSP/Servlet的同时,学习数据库开发技术,或者先学数据库开发技术,之后再学习JSP/Servlet之类的。

4.3 学习Java EE其它开发

再往后一点,学习一些EJB的知识,目前EJB最新版本是3.0,其和前面的2.X版本相比,有很大的不同,考虑到目前EJB 2.X还有很大的应用市场,建议结合学习EJB 2.X/3.0。在学习EJB过程中,应同时掌握一种企业级应用服务器的使用(如 WebSphere、Weblogic、Sun Applcation Server或JBOSS等,目前Sun Applcation Server 9.X和JBOSS都可支持EJB 3.0)。

有效的学习java的技巧

理解Java思想

Java是一门面向对象编程语言。向对象编程是Java最核心的思想,这也是区分和C等其他编程语言的一个显著特征。掌握面一门语言,首先得掌握它的思想,思想决定高度。这就和我们学习语文和英语一样,汉语学拼音,英语学音标。抓住了核心,学习起来就事半功倍。

弄清基本概念

作为一门语言,Java肯定有着丰富而又简单的概念。弄清这些基本概念也是必不可少的,死记硬背肯定是不行的,重在理解,理解它们之间的区别与联系,分别有那些应用。有些同学打开电脑就照着书本敲代码,根本没有想过这些代码中用到了哪些知识点,更谈不上理解了,这样是没有任何效果的。

多练习

只理解了Java的基本概念是远远不止的,还要知道怎么去使用。刚开始,你可能会觉得Java中那么多东西怎么也记不住,就连写一个小小的入门级程序都要涉及到好多东西。但是,当你亲手在键盘上敲了几遍之后,你就会觉得之前的那些问题都不是问题了。

学会帮助看文档与源代码

Java是一门开放源代码的编程语言。利用网络可以下载官方的帮助文档,当你不知道一个东西怎么用时,你可以打开帮助文档,你的问题一下就解决了。如果还不能解决的话,打开搜索引擎,输入你的问题,你一定会找到答案的。如果你想弄懂Java底层的原理的话,可以去网上下载对应的源代码。看了源代码之后,你会发现Java的世界是多么的奇妙,也会提高你Java编程的水平。

篇6:如何才能系统有效的学习html

有效学习html的方法

首先是看html代码

html代码印象中第一步就是分析与观看,第一步是一个熟悉的过程,我们通过第一步的看要了解到html代码的组成部分,刚开始在学习超链接的时候就先分析超链接的前面是什么字母,他需不需要在后面带括号,为什么他的代码中有一个等号,这就是看的步骤。

1、学到html代码的组成部分是什么样的。

2、了解到html代码的实际意义,一些英文字母的简单组合,如果你会英文学习这个代码更简单。

3、看见网页代码能够快速的识别是什么成分,比如标题tittle。

其次是记html代码

光学会看与分析并不行,那样的东西还是别人的,学习html代码最重要的一个过程就是记,首先我们要记html代码最基本的网页组成部分,比如说颜色如何表示、结构排序如何表示、超链接如何表示、关键词与标题等等如何表示,而这些东西我们都必须将之记忆在大脑之中,通过记忆这个过程要让自己的头脑中有丰富的html代码可以随时利用。

1、html代码就是英文记忆法,其中的关键词词语就是英文单词。

2、小本记忆法。将不会的关键性词语就写在一个小本子上,没有事情的时候就拿出来看和背。

3、多看多记忆,如果你确实不会,就从头开始,每天规定自己记忆多少内容,时间到了你的知识自然而然就丰富了起来,而剩下的最后一步就是实践了。

最后是练html代码

我们在记忆了很多html代码之后就要学会利用这些代码,我们可以在网上搜索html在线编辑工具,也可以下载一款免费的html编辑软件,下载完成之后我们先打开一个小网站,将网站的网页与网站先看一下,最后我们就要开始一步一步的练习了。

有效学习html的建议

掌握HTML是网页的核心,是一种制作万维网页面的标准语言,是万维网浏览器使用的一种语言,它消除了不同计算机之间信息交流的障碍,因此,它是目前网络上应用最为广泛的语言,也是构成网页文档的主要语言,学好HTML是成为Web开发人员的基本条件。

学好CSS学好CSS是网页外观的重要一点,CSS可以帮助把网页外观做得更加美观。

有效学习html的技巧

1、HTML常用标签

语言是什么 、Web前端开发语言、HTML超文本标记语言 、网页主体结构 、常用标签、超链接(a标签)、Img图片标签。

2、盒子模型

初探Div盒子模型 、css样式、简单css样式、盒子模型Border边框讲解、盒子模型外边距盒子模型内边距、盒子模型占位计算、ul无序列表、ol有序列表、dl定义列表、补充知识(css)。

3、样式初始化及display+外边距合并

样式初始化、元素类型转换、内联元素对于以下属性特殊化、块级元素和内联元素的具体应用控制元素水平方向居中、盒子模型外边距合并原则

4、元素选择符+背景

HTML命名规范 、行业命名规范、选择器初级 、background背景样式

5、css样式(Font+Text)+特殊符号

font字体样式、text文本样式、特殊符号、css样式查询表

6、选择器高级及a伪类

css选择器、a伪类

7、选择器高级应用&样式优先级 常用css3

选择器优先级、样式的多种形式 、样式优先级排序、常用css3

8、浮动

浮动概况、浮动的一般情况 、浮动的特殊情况 、浮动对文字的影响float浮动后的特征 和 inlink-block 特征对比、清除浮动、清除浮动的多种办法、min-width的运用

9、定位

position定位概况、static 、相对定位 relative、绝对定位 absolute、固定定位、z-index 层的位置关系

10、vertical-align img特征 cursor opacity

img特征、vertical-align 垂直对齐方式、cursor指针样式、opacity透明度

11、表单

form表单 、form中的控件

12、表格

table表格结构 、table样式重置、table的默认特征、table单元格合并、display:table的特征

13、frameset框架

iframe内联框架、frameset框架集、frame子框架、自适应框架实例

如何才能有效学习

怎么才能有效提高学习兴趣

如何才能真正做到有效学习

怎么才能有效提高学习记忆力

如何才能有效的学习oracle

如何系统有效的学习it技术

如何系统有效的学习it知识

如何系统有效的学习计算机软件

如何才能有效的学习ug软件

如何才能有效的学习编程语言

《如何才能系统有效的学习cocos2d(整理6篇).doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式

点击下载本文文档