学编程可以从事的方向有很多种如网站前端,后台开发,移动开发,底层驱动等。我们首先需要选择一个自己感兴趣的方向,这样才能决定自己学那门编程语言。
2、选择一门编程语言
编程语言是从事编程工作的工具,我们选择不同的方向那么我们学习的编程语言也不会相同。比如我们选择底层驱动开发那么我们可以选择的开发语言就是c或者java。当然不同的开发语言也可以做相同的事情,比如c和c++都可以做linux开发,那么我们就需要去了解这些语言的优缺点来做合适的选择。
3、开始学习编程语言语法
选择了合适的编程语言,那么学习它的语法就是我们进军编程世界的第一步。其实不同的语言语法不尽相同差别很小。我们可以购买编程语言的书籍或者看视频来学习这些语言,也可以访问华清远见官网下载免费电子书和视频学习。
4、动手去写去练
当然只看是很难学会的。我们需要搭建IDE环境来多练习才能完全掌握这些语法。编程学习没有捷径可走,只有入门快慢之分。要学会编程只有coding、coding最后还是coding。
一、解决概念观点
我觉得要学一样东西先要知道它能干啥,脑子里建立一个体系观点。后面的一些问题都迎刃而解。买基本关于电脑知识,编程介绍的书看看。
二、捣鼓手机
现在市面上手机android的便宜且可以各种捣鼓,坏一个也不心疼。root一下,清除机器内默认的垃圾程序,换个新内核等等。捣鼓捣鼓你就会android开发了(这个是需要功夫的)。
三、google,百度
捣鼓手机你必须会网上找各种方法,看多了,整多了你就会了。一些小问题你自己就可以解决了。
四、买几本编程的书籍
进入我们的主题学习编程,有了前面的铺垫学编程就容易很多,动手你都会了,书上的东西不会百度一下,弄到电脑里跑跑调调。
五、加一些论坛或群
可能不能解决你编程的实际问题,但是配环境,提供一些思路。如果遇到好人,还会帮你解决具体问题。
六、拜师
这个就不用说了,有师傅领门,咱都可以好好修行啦。北大青鸟合肥协同的教师全都是具备企业级项目开发经验的优秀教师,虽说学编程开发不分高低贵贱,但实际上,依托实际项目学编程开发才是未来成功就业的康庄大道。毕竟,不管你学编程的最初目的是不是靠此吃饭,编程这门手艺还是应该为你带来收益的。
本篇将是一个系列,重点讲述在外力很少的情况下如何自学编程,以及需要注意的一些地方。
一般来说,一些所谓的『高手』或者老师会告诉人们算法是非常非常重要以至于会不会算法就是你会不会编程的唯一标准。不过事实上并非如此。掌握算法固然是好,只是大部分程序并不需要高深的算法,而且招人的时候仅仅要求会算法的公司也是很少的(而且很难进)。我并不是学院派的人,所以虽然我本人也推崇学习算法,但并不推崇一开始就学习算法。
刚开始学编程的人总是不知道自己应该从哪里入手。实际上这是一个相当重要的问题。在我看来,学好变成有若干条件:
·兴趣
·数学/英语
·财力
财力并不是重点,不过至少在养活自己的同时要有闲散资金来不停地支付网络费用、书籍、电脑、外围设备等必须物品。
至于知识结构方面我个人的见解可能跟流行的观点有所出入。目前人们总是把知识结构比喻为一个金字塔,最下面是基础,上面一层一层更加深入而且更加专业的知识,最上是领域知识。老师们会说要学好基础,首先学好语言和算法,然后慢慢往上走。我自己并不这么认为。个人认为『从左到右』的学习方法是更加有效而且不会错过什么东西的,只是不能速成。
从左到右是什么意思呢?想象一个金字塔,最左边仍然是最底层的【基础】,再往左就涉及到更多的【基础】以及更多的上层内容了。这样一步一步下去就会有【基础】--【上层】--【基础】--【上层】这样的不断循环。这么做的好处是成果快,能够培养起兴趣和成就感,而且基础随着应用的需要慢慢积累,等到学有所成的时候,基础也覆盖完了,上层的东西也看得差不多了,就可以超越金字塔自己翱翔了。
好了,那么如何培养兴趣呢?
人总是对有趣的东西比较感兴趣的,而且这种东西如果不难入门的话,那么接受起来更加容易,跟容易培养成就感,也就更有兴趣了,
根据实际情况,个人推荐刚开始接触的时候应该学习C#,理由如下:
·C#的书籍非常多,语言内核简单易懂,类库丰富
·C#制作界面简单
·C#屏蔽了有关操作系统和底层的大部分事情,可以让学习的人专注于自己感兴趣的内容
如果不是特别着急的话,一开始就对着C/C++的数组啊指针啊什么乱七八糟的东西我觉得没什么必要,反正将来自然就知道了。我在这里推荐C#的另一个重要原因是MicrosoftVisualStudio.NET的C#编辑器有一个无敌美好的提示列表(按了一个“.”之后弹出来的),这对于初学者来说是相当好的一个工具。
随后应该学习字符串处理。典型的字符串处理有分析INI文件、对一个四则运算式子进行操作等等的内容。虽然C#处理器字符串出来比C++稍微蹩脚一点,不过在这个时候忽略这个问题是相当有用的,至少不用陷入无穷的指针漩涡里面去。
等图形和字符串都少有涉猎之后,就可以开始开发有趣的程序了。譬如用C#些动画、开发画函数图的工具、自己设计一种高度简化的HTML然后进行渲染制作自己的帮助程序、或者开发简单的图像处理软件之类。稍微聪明一点的人,如果每天都有机会写很多代码的话,大概半年到一年就可以走到这里了。
为什么我会选择图形和字符串两种东西呢?为了培养兴趣,首先要有成就感。图形跟字符串都是跟操作系统本身没关系的东西,而且操作起来也没什么注意事项,因此入门比较简单。如果渐渐深入的话会激发起学习数据结构、算法、甚至是数学英语的热情。如果可以使用这条主线贯穿整个编程的初级阶段的话,得到的将会是扎实的基础以及灵活的头脑。
好了,今天就先说到这里。下次再写续篇。在此解答一下大家有可能提出来的疑问。
--这两门技术掌握了也是很好的一件事情,而且作为入门的话也未尝不可。只是如果一开始就往数据库和网络的路走的话,将来可能会错过一些学习操作系统底层以及复杂的算法的机会,因为这两种东西不会让你有学习大部分有深度的知识的动力。
·算法为什么不一开始学习呢?
--学会了算法,但是没有有趣问题给你解决的话,那学来干什么?而且学习算法的最终目的是让自己拥有设计算法的能力,很多人都忽略了这一点。
·学会了GDI+和字符串之后能不能找工作呢?
--不能。做人切勿急躁,学编程没有个三五年还是不要把自己看得太厉害的好。
·接下来应该学习什么样的东西呢?
来自:如何学习编程(一)
编辑推荐
“软件开发视频大讲堂”丛书系清华社“视频大讲堂”重点大系之一。该大系包括多个子系列,每个子系列的图书在其同品种的图书中销售名列前茅,其中:
4个品种荣获“全行业优秀畅销品种”
1个品种荣获清华大学出版社“专业畅销书”一等奖
绝大多数品种在“全国计算机零售图书排行榜”同品种排行中名列前茅
截至目前该大系累计销售超过55万册
该大系已成为近年来清华社计算机专业基础类零售图书*畅销的品牌之一
“软件开发视频大讲堂”系列作为清华社“视频大讲堂”大系的子系列之一,继承和创新了清华社“视频大讲堂”大系的编写模式、写作风格和优良品质。本书突出了以下内容:
总长总时长30小时同步视频演示讲解,可反复观摩,让学习更为快捷、高效
881个典型实例,通过实例学习更深入,更有趣,更有动力
371道面试真题,了解工作实例及面试问题,更好适应企业需求
616项能力测试题目,检测是否过关,了解学习之不足。
根据全国计算机零售图书排行榜,本书已经连续8月C语言类全国零售排行前2名
“软件开发视频大讲堂”系列作为清华社“视频大讲堂”大系的子系列之一,执着于专业,精细于品质:
集基础知识、核心技能、高级应用、项目案例于一体
好学、好用、高效
内容简介
《C语言从入门到精通(第2版)》从初学者的角度出发,以通俗易懂的语言,丰富多彩的实例,详细介绍了使用C语言进行程序开发应该掌握的各方面知识。全书共分17章,包括C语言概述、算法、数据类型、运算符与表达式、常用的数据输入/输出函数、选择结构程序设计、循环控制、数组、函数、指针、结构体和共用体、位运算、预处理、文件、存储管理、网络套接字编程和学生成绩管理系统。书中所有知识都结合具体实例进行介绍,涉及的程序代码给出了详细的注释,可以使读者轻松领会C语言程序开发的精髓,快速提高开发技能。另外,本书除了纸质内容之外,配书光盘中还给出了海量开发资源库,主要内容如下:
u语音视频讲解:总时长30小时,共123段
u实例资源库:881个实例及源码详细分析
u模块资源库:15个经典模块开发过程完整展现
u项目案例资源库:15个企业项目开发过程完整展现
u测试题库系统:616道能力测试题目
u面试资源库:371个企业面试真题
uPPT电子教案
目录
第1篇基础知识
第1章C语言概述
视频讲解:29分钟
1.1C语言的发展史
1.1.1程序语言简述
1.1.2C语言的历史
1.2C语言的特点
1.3一个简单的C程序
1.4一个完整的C程序
1.5C语言程序的格式
1.6开发环境
1.6.1TurboC2.0
1.6.2VisualC6.0
1.7小结
前言
丛书说明:“软件开发视频大讲堂”(第1版)于8月出版以来,因其编写细腻,易学实用,配备全程视频等,在软件开发类图书市场上产生了很大反响,绝大部分品种在全国软件开发零售图书排行榜中名列前茅,多个品种被评为“全国优秀畅销书”。
C语言是CombinedLanguage(组合语言)的简称,它作为一种计算机设计语言,具有高级语言和汇编语言的特点,受到广大编程人员的喜爱。C语言的应用非常广泛,既可以用于编写系统应用程序,也可以作为编写应用程序的设计语言,还可以具体应用到有关单片机以及嵌入式系统的开发。这就是为什么大多数学习者学习编写程序都选择C语言的原因。
多看开源项目
多做实际项目
开发来说,实际项目也是非常重要的,只有自己做实际项目,把所学的知识运用到实际项目中,才会越学越简单,才会不容易忘记。
对开发有兴趣
这一点是非常重要的`,兴趣是学习的动力,如果你本身对开发很感兴趣,那么相信自己,你学习起来肯定是事半功倍的!
要有自信
这一点,是最重要的,很多自学的小伙伴总觉得自己是自学的,基础不扎实,不专业,最后找工作也心虚,自卑。其实完全不用这样想!自学的,对于其他途径的来说,最大的优点就是自己解决问题的能力和自我学习能力,如果你坚持下去,最后完全可以超越专业途径学习的人。
少儿编程入门要先学哪些
少儿编程一般都不会教太复杂的东西,主要是培养孩子的逻辑思维能力和动手能力,学习的也都是简单易懂的东西,比如图形化编程,就是通过搭积木的方式非常直观的使用代码块来实现一些功能,而不是许多人想象中的那样敲代码,字母串之类的。
根据先易后难的学习进程,少儿编程教学可以大致分为两类:一类是Scratch或是仿Scratch的图形化编程教学,以培养兴趣、锻炼思维为主,趣味性较强。
学编程的意义
1、全新的思维方式,学编程不仅能够培养孩子对数学的兴趣,更是培养孩子对世界的好奇心,让孩子早日接触编程,有利于启迪孩子的创新精神,从而建立一种全新的思维方式。
2、独立解决问题的能力,自小受过良好编程训练的学生,独立分解、解决具体问题的能力更强,逻辑计算思维也远超同龄人,学习编程能让孩子将解决问题的思路、方法和手段转化为计算机理解的形式,并通过设置合理顺序的指令让计算机根据指令一步步工作,从而完成某项特定的任务。
3、拓宽学习的边界,编程是一门实用学科,编程与多门学科紧密结合,对于面临考试和升学压力的孩子来说,能够把编程的思维方式运用到其他学科的学习中去。
少儿编程入门了解的知识
1、少儿编程课程内容:教什么
相对于成人掌握的少儿编程,少儿编程简单的多,主要是利用可视化的图形进行编程,是通过搭积木的方式直观使用代码块来实现一些功能,而不是敲代码,字母串。
其主要目的是通过这样的方式锻炼培养孩子的逻辑思维能力和动手能力,按照难易程度,少儿编程教学可以大致分为两类:一类是Scratch或是仿Scratch的图形化编程教学,比较简单,适合低年龄段基础入门,另一类是基于Python、C++等高级编程语言的计算机编程教学,主要适合想要参加计算机类的国家或国际赛事的青少年学习。
2、少儿编程学习意义:值不值得
少儿编程能锻炼孩子以下方面的能力:
1、逻辑思维能力
编程学习不仅能够培养孩子对数学的兴趣,更有利于启迪孩子的创新精神,从而建立一种全新的思维方式。
2、独立解决问题的能力
学习编程能让孩子将解决问题的思路、方法和手段转化为计算机理解的形式,并通过设置合理顺序的指令让计算机根据指令一步步工作,从而完成某项特定的任务。
3、有效应对升学和考试压力
相对来说,学习编程可以锻炼孩子运用大脑的灵活度,很多学习编程的孩子能够把编程的思维方式运用到其他学科的学习中去,进而有效应对升学和考试压力。
一、Tkinter介绍
Tkinter是一个python模块,是一个调用Tcl/Tk的接口,它是一个跨平台的脚本图形界面接口,Tkinter不是唯一的python图形编程接口,但是是其中比较流行的一个。最大的特点是跨平台,缺点是性能不太好,执行速度慢。
一般使用Tkinter的方法是:
FromTkinterimport*
或者:importTkinter两者的区别我们前面讲模块的时候已经说过了。
二、Tkinter的使用
先看一下GUI程序的开发,熟悉MFC的朋友应该不会陌生。在GUI程序中,我们会有一个顶层窗口,在这个顶层窗口上可以包括所有的小窗口对象,像标签,按钮,列表框等等,也就是说顶层窗口时我们放置其他窗口或者控件的地方。我们用下面的语句可以创建一个顶层窗口,或者叫根窗口:
代码如下:
ImportTkinter
top=Tkinter.Tk
(如果前面是用的fromTkinterimport*,那么Tk()就够了)
所有的创建和放置完毕后,就立刻进入主循环,代码如下:
Tkinter.mainloop()
Tk的组件有很多,不可能一一介绍,通过一个小例子看看其中一个标签的使用吧。
>>>importTkinter
>>>top=Tkinter.Tk()
>>>label=Tkinter.Label(top,text=‘HelloWorld‘)
>>>label.pack()
>>>Tkinter.mainloop()
运行结果就是
下面解释一下:
第一行,是导入模块。
第二行,创建主窗口。
第三行,创建label标签,它是有Tkinter的一个方法Label来实现的,关于Label的帮助可以help一下。
第四行,pack是用来管理和显示组件的,它的参数我们以后再说。
第五行,mainloop()进入主循环。剩下的事就系统的了。
下面看看组件的配置。Tk中的每一个组件都有很多option,通过改变这些option可以改变组件的外观,比如显示的内容,颜色,大小,位置,事件处理函数等。
比如:w=label(root,text=‘hello‘,fg=‘red‘)
创建一个w,第一个参数时他的masterwidget,是root,所有参数都有默认的,
我们可以用默认的来创建,w.cget(option)得到一个option的值。同样可以用w.config(option=‘‘)来设置某个参数的值。
三、Tkinter的几何管理器
熟悉GUI编程的人知道,放好每个组件的是很繁琐的,不仅要调整自身大小,还要
整和其他组件的相对位置。Tk提供了三个管理器来帮助我们:PackGridPlace
1、pack
Pack使用很简单,就是w.pack(option)。常用的option有:
Side表示把组件放到哪一边,TOP(上),BOTTOM(下),LEFT,RIGHT
Padx和pady表示parcel的每一个边和组件的预留空间。
Ipadx和ipady,表示组件的每一个边和他包含的内容之间的预留空间。
Anchor表示在parcel放置组件的方式,缺省时CENTER。
2、grid
使用方法和pack类似。
3、place
精确的摆放一个组件的位置,一般不太用。
下面看最后一个例子:
先看一下结果。
通过拖动进度条而改变文字大小
看一下代码:
fromTkinterimport*#引入模块
#resize函数是用来改变文字大小的,当进度条改变时调用
defresize(ev=None):
label.config(font=‘Helvetica-%dbold‘%scale.get())
#config函数就是通过设置组件的参数来改变组件的,这里改变的是font字体大小
top=Tk()#主窗口
top.geometry(‘600x400‘)#设置了主窗口的初始大小600x400
label=Label(top,text=‘Helloworld!‘,font=‘Helvetica-12bold‘)#设置标签字体的初始大小
label.pack(fill=Y,expand=1)
#scale创建进度条,设置
scale=Scale(top,from_=10,to=40,orient=HORIZONTAL,command=resize)
scale.set(12)#设置起始位置
scale.pack(fill=X,expand=1)
quit=Button(top,text=‘QUIT‘,command=top.quit,activeforeground=‘white‘,
activebackground=‘red‘)
quit.pack()
mainloop()
学C语言,从数据类型,基本表达式,再到条件语句,循环语句,然后学习函数,再加上一些简单的数组知识,就能够了!一句话,到现在为止,你只要理解结构化程序设计的思想也就够了!
有了上述的基础,就要开始学汇编了。汇编开始的时候是很难,那些各种各样各样的寄存器,分段的内存地址,是很难理解,但是这些知识理解了以后,后面的内容就简单了,学习8086的那些指令,再加上一些伪操作,还有DOS和BIOS中断的.调用,就能够看懂书上的汇编程序了。(着重是理解算法,对于后面的那些汇编的应用有兴趣的能够看一下!)到此,你应该会对计算机的理解更深一层!
有了汇编的基础,再来学习C语言中的精华部分----指针,可谓如鱼得水了。现在你要对C语言全全面面的学一遍了,谭版的教材要从头到尾认努力真的看两遍上述。
不会英语课能不能学编程
首先,我们来看看英语课和编程究竟是什么关系。我觉得编程比较主要的有两个方面的东西,一个便是代码,这是毋庸置疑的;另一个便是文档了,也便是参考资料。
如你不懂英文,确实很容易就被这些东西吓坏。刚刚激起的学习热情很可能被无情的浇灭。但是其实,假如想写一个程序,用到的英文实际上是很少的,别的的你能够所有利用汉语拼音。
电脑编程的学习方法
VB:是新人开发与系统无关的综合应用程序的首选;容易使用和厂商财力很强是其仅有的两点优势。
PB:是开发大型MIS及各类数据库跨平台应用的首选;从数据库前端工具来讲甚至远远超过了Oracle的Develop系列等专门的工具。
C++Builder/Dephi:是唯一一套能够同时适用于开发数据库应用、网络及Web应用、分布式应用、可重用组件、系统软件、驱动程序、多媒体及游戏等所有软件的高效率开发环境。
JAVA:适用于开发除了系统软件、驱动程序、高性能实时系统、大规模图像处理以外所有的应用。在一般的管理信息系统中和一般的数据库开发中,很少有人会选择JAVA,一是由于其开发环境的配置较难,已经和数据库连接时较为负责。
编程语言很多,但是目的都是想写出好的程序,只要学精了一个就有钱赚,一上来不要要求太高先找一两本介绍程序编写的入门书籍看看,如<>或<>,一步步从最简单的程序学,培养自己的兴趣,电脑店的D版光盘几块钱.VisualBasic6.0和C语言比较适合初学者。
做到这步,你差不多能算入门了,真正学以致用还是要深造或接受大公司的培训。兴趣,便是一切成就的原动力。
好处1:电脑编程是人与电脑之间沟通的桥梁,是未来信息社会必备的一种技能。
好处2:有的学生痴迷于电脑游戏和聊天,通过学习编程,把对电脑的痴迷,转化为学习电脑编程知识的动力,变坏事为好事。
好处3:学生适当地学习计算机编程,可很好地帮助其智力发展。能够培养学生的科学精神、锻炼思维方法、养成严谨踏实的作风,提高分析问题和解决问题的能力。
好处4:现在学习电脑编程的学生很罕见,如果能领先一步,就可以提升孩子的自信心,自信心的增强对在校的学习有很大的帮助。
好处5:是参加重点中学和大学的特长生招生的捷径。
网络是供我们使用的工具,不是我们的玩具,更不能让我们成为网络的玩具。利用计算机和网络学习科学文化知识是时代的要求,我们要学会学习。
第一、人脑敏感期培养编程天赋,事半功倍
人类的大脑发育成熟要远远早于人类身体的各个器官,人类的潜在能力有一个敏感期,人类的各种天赋都是在这个敏感期内形成的,例如,小孩子可以辨别几十种颜色,而成人只能辨别10多种颜色,受过音乐训练的小孩子可以听到88个钢琴的半音,而成人很难做到,这告诉我们人类很多天赋过了敏感期,这种天赋能力就开始递减了或者完全丧失掉,逻辑思维能力也是如此,人类逻辑思维能力形成的关键期是在7岁左右,所以,逻辑思维能力越早培养越好,少儿编程就是培养孩子思维能力的一个比较好的手段。比尔盖茨、扎克伯格、乔布斯,他们都是从小学就开始编写程序了,从小就开始编程思想的培养和编程技术的积累,为他们后来成就大事业奠定了坚实基础。让您的孩子尝试一下编程,或许中国的比尔盖茨就诞生在您家。
第二、寓教于乐,少儿编程可以让孩子在玩游戏的过程中学习
爱玩是每个孩子的天性。电子游戏也是软件,而且是具备很强逻辑性的软件。爱玩游戏的孩子通常也会是编程的高手。香港不少学校都利用Scratch、Minecraft、Kudo等游戏式学习软件,让不同年级的学生学习编程。如果您的孩子因为沉迷于游戏而让您头疼,你可以让他学习少儿编程。少儿编程一定会将他们从玩游戏寻找快乐转化为编写游戏来寻找快乐。编程是实现寓教于乐的最好的课程。
诚然,并不是每个孩子长大后都会成为一个程序员,但是,作为一个家长,如果你能引导自己的孩子试着边玩游戏边学编程,交给他们学习的途径和方法,是不是倍有成就感!正如麻省理工学院教授MitchelResnick所写的,学习代码也是认识科学的过程。
第三、锻炼孩子的逻辑思维,培养孩子的科学素养
第四,少儿编程还会培养孩子创新、解难、自学等多方面的能力
少儿编程课程不仅能培养孩子逻辑思维能力,在整个编程过程中对孩子的创新能力、解决问题的能力、表达自己的能力、自学能力等方面都有很大的帮助,而这正是今日孩子需要拥有的必备技能。美国麻省理工学院的雷斯尼克教授表示,无论是理解极其复杂的系统,比如一个经济体如何运转,或是以分步骤的方式解决问题,学习编程都大有帮助。它不仅可以训练孩子们解决问题的能力,还可以帮助表达自己。
第五、少儿编程注重知识与生活的联系,培养孩子的动手能力
9月10日教师节,教育部发指导意见,鼓励探索STEAM教育、创客教育等新教育模式。STEAM分别代表着Science科学、Technology技术、Engineering工程、Arts&Aviation艺术&航空、Math数学。它代表着教育不再只是注重课本知识,而是更注重学习过程,注重知识与生活的联系,打破书呆子,培养孩子的动手能力。
第一阶段
此阶段主要是能熟练地使用某种语言。这就相当于练武中的套路和架式这些表面的东西。
第二阶段
此阶段能精通基于某种平台的接口(例如我们现在常用的Win32的API函数)以及所对应语言的自身的库函数。到达这个阶段后,也就相当于可以进行真实散打对练了,可以真正地在实践中做些应用。
第三阶段
此阶段能深入地了解某个平台系统的底层,已经具有了初级的内功的能力,也就是“手中有剑,心中无剑”。
第四阶级
此阶段能直接在平台上进行比较深层次的开发。基本上,能达到这个层次就可以说是进入了高层次。这时进入了高级内功的修炼。比如能进行VxD或操作系统的内核的修改。
这时已经不再有语言的束缚,语言只是一种工具,即使要用自己不会的语言进行开发,也只是简单地熟悉一下,就手到擒来,完全不像是第一阶段的时候学习语言的那种情况。一般来说,从第三阶段过渡到第四阶段是比较困难的。为什么会难呢这就是因为很多人的思想变不过来。
第五阶级
第六阶级
此阶段也是最高的境界,达到“无招胜有招”。这时候,任何问题就纯粹变成了一个思路的问题,不是用什么代码就能表示的。也就是“手中无剑,心中也无剑”。
本网站所有内容均由网友从互联网收集整理,如果您发现不合适的内容,请联系我们进行处理,谢谢合作!