软件开发知识(软件开发知识产权归属协议)

软件开发 4326
本篇文章给大家谈谈软件开发知识,以及软件开发知识产权归属协议对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。 本文目录一览: 1、开发软件需要什么知识 2、

本篇文章给大家谈谈软件开发知识,以及软件开发知识产权归属协议对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

开发软件需要什么知识

问题一:从事软件开发工作必须具备哪些知识? 献给计算机专业的同学

1.首先请你热爱这个专业。只有这样,你才会从抽象的理论中找到实实在在的快乐。如果

你不热爱她,或者只因为这是个热门专业,那么极力要求你放弃这个专业,因为计算机是

一把双刃剑,学好了你会飞黄腾达,学不好你毕业后会极其痛苦,高不成低不就,没有发

展潜力,如同学英语专业的人到了美国一样。

2.不要用功利眼光对待这个学科,这绝对不是点点鼠标就能挣钱的专业。不要去想做网站

挣钱,不要想靠点击率增加广告,这个在4年前已经过时,如果你现在仍然这么想,千万别

说出来,因为我会觉得你很土。计算级专业的成就感总是伴随着身体上的痛苦而来,肩周

炎,颈椎病,眼睛干涩,掉头发,腰椎间盘突出,关节炎,不夸张,这么帅的我工作了两

个月以后发现开始掉头发了。

3.搞明白计算机“科学”与“技术”的含义。做网页,做图片,做flash,玩游戏,上网,

听歌,录mp3,搞电影字幕,装window功,改注册表,为软件皮肤……这通通不叫计算机科学

与技术,如果你是计算机的学生,会做以上事情,那是你应该的,不会做,也没什么丢人

的,我们需要的不是让别人称作“高手”。

4.明确你最终的专业方向是软件还是硬件。方向是网络?网络不是专业方向。网络是最优

秀的软件工程师、最优秀的硬件工程师与最优秀的通信工程师的智慧结晶。如果你是软件

方向,请你在学精一揽子数学、数据结构、算法设计、数值分析、汇编语言、操作系统、

编译原理、数据库原理、软件工程之类课程后,仔细的听一听硬件课程,他对你有用。软

件工程绝对不是背背就能过的课,计算机理论可能是一个人就能研究出来,软件工程是成

千万网软件工程师几十年来失败的教训凝结成的结晶,请认真听课。不要问我应该学什么

语言,计算机专业的人必须具备任何语言1小时上手的能力,最起码要在10分钟把hello

world做出来。如果说有必须学的两种语言,那他们是c++与java,学他们不是在学语言,

而是在学thinking in c++,thinking in java,一个是软件的基础理论,一个是面向对象

的基础理论,从来没有人听说过“thinking in basic”。如果你说c++过时了,那么千万

别告诉别人你的名字,因为很丢人。山科大的老师只会教给你c,不会教给你++,所以不要

被他蒙蔽,大胆的问他++,如果他不会,干脆换老师。学硬件的同学在认真听听以上课程

后,学精除了政治以外的其他课程。

5.即使你学好了以上课程,我们仍然差得很远,我们只弄清学什么了,但是还不知道做什

么。我们的课程设计太小儿科了,别对你在国外的同学说,否则会被笑话,所以我们要尽

可能的多做设计,别一个人们闷着头做,两三个人合作一个项目,不会交流的计算机人员

30岁以后肯定会下岗。题目呢,尽量是一些简单的底层开发,可以去国外大学网站上搜一

搜,要自信你一定能做出来,毕竟不是什么难题,而是我们应当具备的素质。

6.如果你对网络有意,在具备了一定动手能力后从协议或者底层硬件的角度去学习它。否

则你是自甘从一名高贵的计算机专业人员堕落为做着沉重机械体力劳动的民工。对网络安

全感兴趣,那么你就在学会使用各种工具的一个月后从编程的角度深入学习网络协议和操

作系统吧!只会用工具攻击无知人员的漏洞是一种意淫的行为,如果乐此不疲,并到处叫

嚷“黑客”,那么这种行为可以被称作“ *** ”。网上呼吁中美、中日黑客......

问题二:软件开发需要具备哪些知识 1.首先热爱这个专业。只有这样,才会从抽象的理论中找到实实在在的快乐。如果

不热爱她,或者只因为这是个热门专业,那么极力要求放弃这个专业,因为计算机是 一把双刃剑,学好了会飞黄腾达,学不好毕业后会极其痛苦,高不成低不就,没有发 展潜力,如同学英语专业的人到了美国一样。

2.不要用功利眼光对待这个学科,这绝对不是点点鼠标就能挣钱的专业。不要去想做网站 挣钱,不要想靠点击率增加广告,这个在4年前已经过时,如果现在仍然这么想,千万别 说出来,因为会觉得很土。计算级专业的成就感总是伴随着身体上的痛苦而来,肩周 炎,颈椎病,眼睛干涩,掉头发,腰椎间盘突出,关节炎

3.搞明白计算机“科学”与“技术”的含义。做网页,做图片,做flash,玩游戏,上网, 听歌,录mp3,搞电影字幕,装windows,改注册表,为软件皮肤……这通通不叫计算机科学 与技术,如果是计算机的学生,会做以上事情,那是应该的,不会做,也没什么丢人 的,需要的不是让别人称作“高手”。

4.明确最终的专业方向是软件还是硬件。方向是网络?网络不是专业方向。网络是最优 秀的软件工程师、最优秀的硬件工程师与最优秀的通信工程师的智慧结晶。如果是软件 方向,请在学精一揽子数学、数据结构、算法设计、数值分析、汇编语言、操作系统、 编译原理、数据库原理、软件工程之类课程后,仔细的听一听硬件课程,软 件工程绝对不是背背就能过的课,计算机理论可能是一个人就能研究出来,软件工程是成 千万网软件工程师几十年来失败的教训凝结成的结晶,请认真听课。不要问应该学什么 语言,计算机专业的人必须具备任何语言1小时上手的能力,最起码要在10分钟把hello world做出来。如果说有必须学的两种语言,那他们是c++与java,学他们不是在学语言, 而是在学thinking in c++,thinking in java,一个是软件的基础理论,一个是面向对象

问题三:软件开发需要学习哪些基础知识? 是的,多少还是要点基础的,我们都知道一些软件工程之类的书籍是宏观上的把握,也就是所谓的理论基础,但是并不适用于初学者,如果你想从事软件开发,可以尝试接触几门相对容易的语言,例如:C语言,并不需要学习的太深,入个门就好,然后学习java 或是C#,这两个语言可以更快的见到成效,他们都有快速开发的,不过具体情况要看你自身,如果英语好点,可以更快掌握,如果不行,不要着急,经常使用即可

采纳哦

问题四:开发APP要用到哪些知识基础,还有软件 50分 第一、程序相关

如果想成为android应用开发者,最基本的是需要懂得用Java语言和XML知识。掌握了这两种语言后再装个Eclipse和Android SDK, 就可以做开发了。当然,还得学Android特有的API的用法。Java和XML只是编程基础。

如果希望成为iOS应用开发者,那么需要知道

1、语言基础:Objective-C语言、xcode开发环境;

2、手机使用经验:足够的iPhone使用经验与体会,不然你很难与产品经理和设计人员有效沟通;

3、具体的开发能力:主要的开发将集中于界面开发、一定的数据库开发、通讯接口开发、协同开发与联调,如果是游戏,那么还需要涉及到引擎、建模、素材、光影、故事板等。推荐两本书两本经典入门书籍《objective-c基础教程》和《iphone4和ipad开发基础教程》。

第二、用户体验

好的应用都会有好的用户体验,所以在进行app开发之前我们就要要拿出方案,想想用户在什么情况下使用我的应用,用户的使用态度是什么,其中应用中哪些是核心功能,哪些是辅助功能,哪些是边缘功能,最佳操作路径怎么建立,如何将功能分布到页面上,同时我的应用界面应该是什么风格和样式,最终要画出来UI方案。

第三、产品设计

确定好了UI方案,那么我的app应用的市场定位、核心价值、产品功能、竞争分析、商业模式和营销推广。其中为用户解决什么样的问题(核心价值),怎么解决(产品功能),有没有替代方案(竞争分析),为APP开发者带来什么好处(商业模式),怎么让用户接触并安装使用这款我的APP(营销推广)这些问题都需要考虑到。

要是想开发一款APP软甲,建议你去咨询下苏州睿途科技,他们家在这块做的蛮专业的

问题五:软件开发需要学习哪些东西 要学习:计算机系统结构、计算机硬件及其软件基础、数据结构与算法复杂性、C 畅言、汇编语言、计算机网络基础等课程。

问题六:搞软件开发的需要学习什么知识呀 5分 软件开发有很多种,你必须要先确定一个方向才可以的。

是嵌入式还是web应用程序,亦或其他。

同时你还需要知道它的编写语言有很多种,比如:java、c++、c、。

这三者的差别在哪,他们的发展走向是什么,你要怎么确定哪个是你想要学的,可以学的。

拿java举例,Java 编程语言的风格是十分接近C、C++语言的。但Java是一个纯粹的面向对象的程序设计语言,它继承了 C++语言面向对象技术的核心。Java舍弃了C语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading)、多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得程序员不用再为内存管理而担忧。而且在 Java 1.5 版本中,Java 又引入了泛型编程(Generic Programming)、类型安全的枚举、不定长参数和自动装/拆箱等语言特性。

同时Java 不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码。从而实现了“一次编译、到处执行”的跨平台特性。不过,每次的执户编译后的字节码需要消耗一定的时间,这同时也在一定程度上降低了 Java 程序的运行效率。

按目前市场发展而言,java的市场也是很不错的,比如在成都有 *** 的支持,有几个软件开发园区,里面最霸道的是天府软件园,它分为A、B、C、D区。其中,A区,中国最大的游戏公司---完美时空,旗下的游戏有:完美世界、赤壁、口袋西游等,IBM、诺基亚、赛门铁克、金蝶、九洲等;B区有制作热血传奇、永恒之塔的盛大网络游戏公司,恒风动漫、泰利嘉、阿尔卡特、华为、移动、ORACLE等公司;C区有腾讯公司,有1000多员工,有好几栋楼,还在扩张中,诺亚舟等公司;D区有世界顶级物流巨头--丹马仕公司,印度三大软件企业之一的维普络公司等。

【4 1】

【4 1】

【2 9】

【2 8】

问题七:开发手机app 应该学什么 第一、程序相关

如果想成为android应用开发者,最基本的是需要懂得用Java语言和XML知识。掌握了这两种语言后再装个Eclipse和Android SDK, 就可以做开发了。当然,还得学Android特有的API的用法。Java和XML只是编程基础。

如果希望成为iOS应用开发者,那么需要知道1、语言基础:Objective-C语言、xcode开发环境;2、手机使用经验:足够的iPhone使用经验与体会,不然你很难与产品经理和设计人员有效沟通;3、具体的开发能力:主要的开发将集中于界面开发、一定的数据库开发、通讯接口开发、协同开发与联调,如果是游戏,那么还需要涉及到引擎、建模、素材、光影、故事板等。推荐两本书两本经典入门书籍《objective-c基础教程》和《iphone4和ipad开发基础教程》。

第二、用户体验

好的应用都会有好的用户体验,所以在进行app开发之前我们就要要拿出方案,想想用户在什么情况下使用我的应用,用户的使用态度是什么,其中应用中哪些是核心功能,哪些是辅助功能,哪些是边缘功能,最佳操作路径怎么建立,如何将功能分布到页面上,同时我的应用界面应该是什么风格和样式,最终要画出来UI方案。

第三、产品设计

确定好了UI方案,那么我的app应用的市场定位、核心价值、产品功能、竞争分析、商业模式和营销推广。其中为用户解决什么样的问题(核心价值),怎么解决(产品功能),有没有替代方案(竞争分析),为APP开发者带来什么好处(商业模式),怎么让用户接触并安装使用这款我的APP(营销推广)这些问题都需要考虑到。

第四、不懂技术也能开发

如果上面三点你都不能够做到,那么你也不用灰心,现在已经有了应用之星(appstar)免费的移动应用开发平台,关键是你不懂技术也能在这个平台开发

问题八:开发手机APP需要具备哪些软件基础? 首先APP开发包括三个平台,安卓、苹果和windows。那么APP软件开发难不难?这里我告诉大家不用担心,国外的技术开发者开发了许多能够帮助企业创建简单APP应用的傻瓜工具,通过这些工具,就算是一个对程序、对编程代码一窍不通的普通网民都可以很容易的创建一个APP客户端,并可以对程序进行应用 更新维护,开展营销等活动。目前常用的开发辅助软件有5种:Bizness Apps、APPMakr、Appsgeyser、Mobile Roadie、DevmyApp。详情请参考:jingyan.baidu/...6

问题九:电脑软件学习需要学习什么?软件开发要学什么? 一、重视基础课的学习 计算机科学虽然是高科技的象征,但又受到其它专业发展的制约。计算机专业知识的学习同样要加强一些相关知识的学习。 计算机软件开发往往会涉及到算法,而且在语言结构上会用到数学知识,因此高等数学、离散数学、线性代数等数学知识的学习也有一定需求。尤其是软件开发高手,开发过程会涉及数学方面往往会更多一些。 有些专家曾表示,计算机学习过程往往是由硬件开始,走向软件,但最终又会走向硬件。刚开始学习硬件便于我们了解计算机,学习软件便于我们应用计算机再深一步学习硬件,便于我们去创新地提高计算机办事效率、开发计算机。一个软件开发高手非常注重程序效率,而效率却往往与计算机硬件知识是紧密相关。 要自始自终地加强英语的学习。因为目前的计算机程序设计语言主要是外国开发的,编代码的主要语句往往是英文,中文通常是做解释和说明用。一些教材书籍翻译得不太准确,不如直接看HLP来得快。而且在高级语言中很多的语句、表达式就是用英文句子,如SQL中的许多语句。有一定的英文基础,在计算机学习上可以事半功倍。 二、重视编程基本功的学习 学习软件需要什么?不要急首先当我们走进书店时,计算机软件开发的书籍名目繁多,让人眼花缭乱。从何处着手学习、用哪种软件呢?也有很多计算机软件开发速成书,如《24小时学会JAVA》等,从书名看很能吸引人。但从实际效果来看,没有雄厚的编程基础很难学精这些快速入门书籍。一个优秀的程序员也不是十天半个月就能够造就出来的,必须要扎扎实实学好编程基础知识,要经历一个漫长且辛苦的学习和程序开发过程。因此计算机专业学生,首先要做好吃苦的准备。 当我们在学习一些基础课如java,C语言等,我们会感觉到似乎这些没什么大作用,这些近似于低级语言的东西好像再努力也难成大器呀!的确,一些代码编程的学习要远比窗体开发难得多,所有的语句都得通过每个表达式来输入,鼠标点击几下的开发方式当然比键盘输入代码开发容易得多,仅学习窗体开发系统可以使人在短期内开发一些功能简单的系统,但很难成大器。人们大多数喜欢窗体软件开发。 这也是中国软件业发展多年还未能走向软件强国的一个原因之一,计算机教育应该重视代码编程的教育, 专业学生也不能忽视代码开发的学习。 如果你要问C语言这种代码开发功能具有多大的用处,大名鼎鼎的UNIX操作系统就是使用C语言书写的。 而且我们玩的所有游戏几乎也是使用C语言编写的。 学习C语言的难度比学习汇编语言的难度小多了,而且C语言是一门“必修课”所以每一位立志成为电脑编程者的用户都必须征服C语言这座山峰。 三、 理论联系实践 学习编写程序,不仅要领悟教师的各种知识点,多看教材,还要结合课程重视上机的练习。很多学生在理解教师知识点和看教材上花了很多时间,却不重视上机的练习,最终会走向“书呆子”类,很难在软件开发中占有一席之地。在看教材、听课的同时,要将知识点在上机过程中做第二消化,这样便比光消化课本会强得多。当然每次上机应该做好准备,很多学生是无目标的上机,其学习效率当然会很低。上机前要计划一下上机做些什么,要有一些新思路来设计和调试程序。只有在上机过程中不断发现问题,解决问题,才能逐步迈向程序员之路。又一些同学光重视上机, 忽视理论的学习,这些同学刚开始好像进步快,但到了一定的层次,就会停滞不前了。因此,实操要与理论同步,紧密结合,方可为编程打下扎实的基础。 总结学习软件需要什么?软件编程需要实践。 四、 深入学习,练就高手 经过一定时间的学习、实践,你已经具备了较扎实的计算机编程方法和技巧。但你学习的还只是一些DOS下的、功能相对简单的语言,......

问题十:开发一款软件(手机app)都需要什么人 安卓工程师,如果还要ios的就还需要ios工程师,java或C或C++工程师,这是最基本的,前提是你的工程师或者你本人也有产品经理、ui设计师的能力。若没有这样的能力,那你还需要一个产品经理负责整体的产品构思,需要UI设计师、交互设计师。具备以上这些就可以开发APP了。

但是开发完成后呢?总得推向市场运营吧?所以,你还需要推广、运营人员。

软件开发的基础知识是什么?

软件因计算机而存在,而计算机的实质是数学,所以计算机的知识本质上就是数学知识,\x0d\x0a也可以这么说数学知识也是计算机的基础知识,计算机的基础知识也是软件的基础知识。在。软件发展的过程中,软件的知识也在慢慢地积累,很多软件知识与数学并无直接的联系,而。在这里我们所要说的就是纯软件的基础知识。\x0d\x0a 我们可以把软件的知识分为两个部分,专业技能知识和领域知识或说行业知识。\x0d\x0a 1,专业技能知识\x0d\x0a 一门编程语言及库\x0d\x0a 你可以在书店里找到各色各样的关于编程方面的书籍,但是我建议你只需要深入地掌握\x0d\x0a一门便可,而且任何程序员都需要熟悉C语言。你所深入掌握的语言可有多种选择。如果你从事的是驱动程序开发,我想必须要掌握汇编语言,C语言也是个不错的选择,而如果是做UI的话C++也许更好,Java语言比较适合网络程序的开发,当然JavaScript在google肯定很受推崇。\x0d\x0a 对于程序员来说,编程语言就相当于游侠手中的武器,可以是长剑,也可是以是短剑,可以是大刀,也可以是匕首。这些武器各有所长,而要发挥这些武器的长处必须基于一套路数上,那么对于程序员来说就是基于某一种编程语言的代码库。如GNUC的库就是libc或ulibc。如果你是用C语言,而且你是在类UNIX平台下开发,那么你就必须正确理解libc的工作原理,你代码里所调用的每一个函数的输入与输出,可能的错误,可能的歧义,对系统可能产生的影响。比如某一个函数是否是可再入的,还是不可再入的,如果出现了多线程同时调用的情况会发生什么错误等等细节上的问题。\x0d\x0a 一种编程思想\x0d\x0a 全世界都惊叹于毛泽东的领导和军事才能,而在他的才能表象之后是什么,是他的革命\x0d\x0a精神,是他的睿智的思想。编程也一样,如果没有了编程思想就没有了指导前进的动力,就没有了创造的灵感的土壤。软件知识发展到现在比较常用的编程思想就是结构化(模块化)和面向对象化(设计模式)。\x0d\x0a 有些语言是在模块化大行其道的历史背景下被发明出来的,如C语言,而有些语言则是为了满足面向对象的编程思想而构造出来的,如C++。有一部分程序员会认为C语言是结构化的编程语言无法实现面向对象的编程思想。其实不然,C语言同样可以很好地实现面向对象的编程思想,只不过有些面向对象的工作由程序员来做而已。同样,面向对象的编程语言也可以用于写模块化的程序。\x0d\x0a 一种信仰\x0d\x0a 就我所接触过的系统里,Windows我只会安装,使用,VC/VB也只能做一些简单的开发,而MACOS体验过一次安装,不过最终还是失败了,iPhone的系统还没有机会体验过。曾经在AIX下做过开发,目前正在Fedora9下做开发,目标板的CPU是SH4,将来也可能是MIPS。 \x0d\x0a 不管是MACOS,Windows,UNIX,Linux等都有各自的追随着,我把这种现像称为信仰。就拿我自己来说,我信仰Linux,Linux内核的源代码对于我来说就是神话。\x0d\x0a 我觉得在Linux下工作是一件很娱悦的事情。如果你每每解决一些比较棘手的问题,都会\x0d\x0a有一种成就感,这是在Windows平台下感受不到的。所以对于这一信仰,我觉得至少需要知道它的安装,启动,配置,安全,如引导程序GRUB,ftp,telnet,sshd,smbd,named等等服务器的配置,网络安全的配置等等。\x0d\x0a 如果你要在Linux下进行开发,你必须了解Linux的API,标准库,也就是libc。如果你\x0d\x0a的程序是多线程的,你还得掌握libpthread.so里的函数使用方法。GCC,GDB,LD,AS,AR,以\x0d\x0a及Makefile和make等等工具的使用。如果你能掌握find,awk,sed,grep,od,nm,objdump\x0d\x0a等实用工具的话,将会大大提高你的工作效率。\x0d\x0a 这,就是我的信仰。\x0d\x0a 总之一句话,一种编程语言及库,一种编程思想和一种信仰。一切OK!\x0d\x0a 2,领域知识/行业知识\x0d\x0a 我记得我的第一份工作是银行的交易开发程序员,当时是一家外包公司把我外派到工商\x0d\x0a银行,我对工商银行的业务一无所知。不过初出茅庐不怕虎,硬是一个人完成了一个我一无所知的项目,而仅凭我对自己技术实力的自信。\x0d\x0a 但事后我却有些后怕,因为我并不明白,为什么那个整数要乘以个0.456存入到数据库,\x0d\x0a也不知道银行对数据的精确度是多大,等等细节上的问题我一无所知。那我只能求上天保佑,哪天不要多扣了人家的钱,天啊,这事我也做了?!当然不至于那么严重:)\x0d\x0a 后来我确实发现自己对于银行这套业务系统了解起来比较吃力,我宁愿花点时间写些小\x0d\x0a的C程序也不愿花时间去肯那些苦涩的业务流程文档。所以在那家公司呆_一年后我辞职了。\x0d\x0a 我想,大部分程序员都想做一些相对技术含量高的开发工作,像那种整天与数据和数据\x0d\x0a库打交道的开发工作,随便有点志向的程序员也不愿意去做,当然如果钱足够多的话我还是愿意的:)\x0d\x0a 但现在我发现我错了。因为这部分也是软件知识的一部分。就拿我目前的工作来说,技术上不会有太大的困难,但是蓝光规格以及其涉及到的规格相当的多,恐怕没有十年时间无法做到精通。这就是领域知识或说是行业知识。有些人一生只做一件事,还不一定能做好,而我现在只做了不到两年,虽觉时间不长但也不短,纵是一无所获。\x0d\x0a 所以,我觉得自己仍不是一名合格的开发者。软件开发的基础知识包括专业知识和行业\x0d\x0a知识,如果基础知识不完整,那么这个程序员不会是一个合格且高效的程序员。

软件开发需要学习什么基础知识

学习软件开发经常会涉及到数学和英语的知识,所以需要有一定的数学和英语基础,这样可以让软件开发变得事半功倍。千锋教育就有线上免费的软件开发公开课,。

千锋教育采用全程面授高品质、高体验培养模式,学科大纲紧跟企业需求,拥有国内一体化教学管理及学员服务,在职业教育发展道路上不断探索前行。如果你擅长英语和数学,你可以跳过这一步。软件的操作是通过某种程序语言来实现的,所以学好程序语言是做好软件开发的必修课。所以,如果你想学软件开发,第二步就是选择一门编程开发语言来学习,集中精力学好一门语言。一般来说,要想做好软件开发,至少要学一门编程语言。目前主流的编程语言有Java、PHP、C#语言,软件开发形式有多种,先学好这些基础语言,之后再慢慢扩展。除了学习基础语言,还要学习数据库的知识。在软件开发中,数据的存储和调用至关重要。HTML,CSS,Java脚本等相关的前端语言也是需要掌握的,经过这四个学习阶段,我们已经基本掌握了一套完整的软件开发流程,后面深入学习的话,就需要掌握各种框架。千锋官网每日更新最新软件开发基础知识内容,巩固日常学习中的基础技能。更有免费的软件开发视频教程帮助学员快速学习。

关于软件开发知识和软件开发知识产权归属协议的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

扫码二维码