| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 人工智能 -> ??大学三年沉淀,把我的学习经验分享给你,爆肝万字带你走进编程世界!?? -> 正文阅读 |
|
[人工智能]??大学三年沉淀,把我的学习经验分享给你,爆肝万字带你走进编程世界!?? |
当然呢,我在这里只是根据我的学习经历给出一些小小的入门建议,更加专业的内容呢,大家还是等开学之后再去了解吧。 开学要不要买/带电脑?有些同学:“开学要不要带电脑啊?没有电脑是不是得买一个?” 我的回答是: 啊哈哈,开个玩笑,不过我还是建议买的,毕竟大家学的是计算机,连电脑都没有,那怎么学。 已经有笔记本电脑的同学呢,如果性能尚可,正常使用起来没啥问题,那可以选择直接带过来。 如果你想买一个新的笔记本电脑的话,我就推荐几个配置吧。
最后,最重要的一点就是:最好买轻薄本,携带方便,因为有的时候上课想要带着笔记本的话,游戏本那种又大又厚,绝对没有轻薄本那么友好。 而且我觉得笔记本对于大家来说应该是一个学习办公的工具,而不是用来打游戏,所以买一个轻薄本也从侧面督促自己要多敲代码,少打游戏。 至于说编程对计算机的配置要求比较高,这一点我觉得有点言过其实了,因为我自己是做过前后端开发的,也写过Android和树莓派,自我感觉这些方向对计算机的配置要求并没有特别高。现在做人工智能这个方面的研究确实对机器的要求特别高,而且完全是高得离谱,普通的入门还好,在自己的笔记本上训练个小模型没啥问题,稍微进阶一点,比如做计算机视觉方向,之前拿我自己的电脑训练一个目标检测的模型就觉得比较吃力了,又要清显存又要设置虚拟内存,再往后现在在公司训练模型光数据就可能几个T,自己的笔记本基本只是个写代码的功能了,训练都是在专门的服务器上。 至于服务器是啥,你们以后会接触到的,可以简单理解为一台24小时不间断运行的云端电脑。 总而言之,单纯的编程对计算机的配置要求并不是特别高,如果后面也想做一些3D建模或者视频后期的话那么确实需要一个比较好的配置。 编程方向那么多,我该怎么选啊?学计算机肯定是有方向的呀,我这里就简单说几个方向,基本可以涵盖大家大学四年会接触到的所有领域。 前端先来说说前端,为什么先说它呢,因为前端最直观,我们现在通过浏览器打开的网页,在B站看到的视频,都是前端工程师们一点一点搭建出来的。 所以简单的讲,前端就是写网页的,怎么做出最漂亮最好看的网页,就是前端工程师的工作。 前端工程师是互联网时代软件产品研发中不可缺少的一种专业研发角色。从狭义上讲,前端工程师使用 HTML、CSS、JavaScript 等专业技能和工具将产品UI设计稿实现成网站产品,涵盖用户PC端、移动端网页,处理视觉和交互问题。从广义上来讲,所有用户终端产品与视觉和交互有关的部分,都是前端工程师的专业领域。 2009年的Bilibili网页长这样: 是不是感觉焕然一新,所以前端是一个相对比较新的行业,互联网发展早期(1995年~2005年)是没有专业的前端工程师的。随着互联网的发展,大约从2005年开始,正式的前端工程师角色被行业认可,到了2010年,互联网开始全面进入移动时代,前端工程师的地位越来越重要,前端领域的技术发展也越来越快,各种新的思想、设计模式、工具和平台都快速发展,对前端工程师的技能要求也越来越高。 所以,我推荐喜欢设计、审美比较高、喜欢绘画的同学可以尝试一下前端,这是一个入门相对轻松的方向。 后端说完了前端我们再来说一下后端,这是一个跟前端息息相关的方向。我们可以看一下这张图,对于用户来说,他看到的是非常漂亮非常好看的界面,但是在前端的背后是需要强有力的后端来支持的。 那么后端到底是干什么的呢,还是拿Bilibili来举个例子,我们看的那么多视频,假设一个10分钟的视频有100M,Bilibili有那么多视频,就算只有100, 0000个,那差不多也要100T的空间,你有没有想过这些视频都在哪呢? 首先肯定不在我们自己的电脑上,对吧,哪有谁的个人电脑能有100T的空间,那也太奢侈了。前面我们提到了服务器,其实这些视频都是存在Bilibili的服务器上,那这些服务器在哪呢?有可能在Bilibili的总部上海,也有可能在某一个不知名的岛上,据说腾讯的数据中心在南极。 总而言之,这些数据离我们很远很远,但是我们又能通过浏览器,或者说是通过互联网访问到,这就是后端给提供的支持。 你在家里一点,想看的视频数据就从百公里外的服务器传输到你的电脑上。你开学之后要报道,学校也会把你的身份数据录入数据库,这样你才能查到你的学历。你在京东上买了东西,由谁来发货?通过什么物流?发给谁?这些都是后端需要设计的东西。 总而言之,后端就是对各种数据进行处理,增删改查是家常便饭,后端工程师追求的是其实跟奥利匹克精神比较类似,更快:数据处理更快、更高:开发效率更高、更强:系统稳定性更强。 所以我推荐心思比较细腻严谨,有责任心,有毅力,逻辑思维能力强的同学可以尝试一下后端。 移动端移动端应该是现在大家接触最多的终端产品了,它就是我们的手机,因为可以随身带着,移动起来比较方便,所以叫移动端。 它其实分为了两个方向:Android开发和IOS开发,另外还有一个移动端开发方向:小程序,也就是大家微信里或者支付宝里的小程序,这些小程序功能一般都比较简单,而且我们一般也把小程序开发归为前端的范畴。 从2017年下半年开始,就听到各种言论,例如“Android 开发凉凉”、“移动端开发没出路了赶紧转行”、“移动端要被小程序替代了” 等等,但是,我有预感,移动端开发肯定不会穷途末路,低谷之后必回触底反弹。 坦白讲我其实没怎么涉及过移动端开发,只写过一个仿网易云音乐的APP和一个游戏小程序,我之所以说以移动端开发以后不会消失是因为我是做AI的,这听起来有点匪夷所思对吧,待听我解释。 2016年,谷歌提出了一种新兴的人工智能基础技术——联邦学习,用于解决手机终端用户在本地更新模型的问题,设计目标是在保障大数据交换时的信息安全、保护终端数据和个人数据隐私、保证合法合规的前提下,在多参与方或多计算结点之间开展高效率的机器学习。 这些概念听起来比较迷,没关系,知道这个概念就可以了。 随着手机用户隐私保护意识的逐渐增强,联邦学习以后会是一个发展趋势,因为小程序可很难部署这些模型,本身追求的就是轻量级,不可能割舍出来一部分用于训练模型,所以以后的APP肯定也会继续发展的。 桌面应用桌面应用其实就是我们电脑上安装的各种软件,比如:QQ、WPS、微信、浏览器、英雄联盟,还有系统自带的:日历、记事本、计算器等等,这些都属于桌面应用。 不过近几年桌面应用开发已经不是特别火了,因为很多应用大家现在基本都通过浏览器就能解决了,所以有些已经转Web后端或者其它岗位了,但是并不代表没有需求,像Qt、C#.Net这些还是非常还是很火的。 不过最近我发现了另外一个趋势,有些Web站点已经支持把网页直接转成桌面应用了,走的还是前后端开发的路线。 物联网物联网(IoT)其实我们身边也很常见,它的本意就是将我们日常生活中的物理对象连接到互联网。举个简单的例子:灯泡,从一开始古人用的煤油灯,到后来爱迪生改进电灯泡,再后来楼道里的声控灯,一直到现在可以通过手机或者智能音响控制的家庭灯。一个原本跟互联网完全没关系的生活用品逐渐可以接入网络,这就是物联网要做的事情。 当然物联网涉及到的领域非常广阔,小到身上的智能穿戴设备,大到智能汽车也就是车联网,其实都可以归为物联网的范畴。随着我国新基建的推进,自动驾驶和智能驾驶行业的蓬勃发展,学习物联网以后也肯定大有可为。 所以我推荐喜欢机器人、电子零件的同学可以尝试一下物联网这个方向。 网络安全网络安全现在已经被列为国家安全战略的一部分,对于互联网行业来说,我们所熟悉的360其实就是做网络安全的。
安全研发方向呢,主要就是做各种安全业务相关的软件,比如像防火墙、数据库网关、杀毒软件等等。 安全研究:二进制方向呢,这个方向的主要做的是软件漏洞挖掘、逆向工程、病毒木马分析等工作。因为经常都是与二进制的数据打交道,所以久而久之用二进制安全来统称这个方向。 安全研究:网络渗透,这个方向更符合于大部分人对“黑客”的认知,他们能够黑手机、黑电脑、黑网站、黑服务器、黑内网,万物皆可黑。这个方向初期更容易入门一些,掌握一些基本技术,拿起各种现成的工具就可以开黑了。 所以我推荐对网络这个方向比较感兴趣的同学可以尝试一下网络安全这个方向,也是很好的,不过也要注意,人外有人天外有天,技术给你带来方便的同时也要心怀敬畏。 算法 & AI终于到了我自己的方向了,算法和AI。 这两个为什么放在一起呢?因为做AI的岗位名称就是算法工程师,算法呢又会分为基础通用算法和人工智能算法。 基础通用算法类似于让我们通过编程去解决奥数题,举个例子,我们来看一下LeetCode的第一题:1. 两数之和,给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标,下标也就表示是第几个数。 假如我们的输入是: 基础算法要解决的问题就是,如何把我们人类能够解决的问题交给计算机解决。比如在上面这个例子中我们可以一眼看出答案,但是如果输入的数组有成百上千位呢,而且每个数字都是个三位数或者四位数,这时候我们就没法一眼看出答案了。但是如果我们找到了解决问题的通用方法并且把它用编程语言抽象为一段程序,那么对于再长的数组,再大的数,计算机都可以在自己的能力范围之内快速计算出结果,这也就是计算器的功能。 那么人工智能算法是什么呢?这个概念最近特别火对吧,而且还被纳入了新基建的信息基础设施建设,那么人工智能到底是什么呢? 我的理解是:赋予计算机更多人类的能力,来帮助人们解放劳动力。从人脸识别门禁代替了保安的工作,到自动驾驶代替了司机的工作,语音输入可以让我们解放双手说说话就能打字,甚至有的人工智能都会自己写代码强化自己了,这些其实原本都是我们人类的能力,人工智能就是要教会计算机去做。 举个简单的例子,做计算机视觉的话有个方向叫图像识别,这个领域的目标就是教会计算机认识各种猫、狗、狮子、老虎和大象等等,回想一下我们小时候是怎么认识这些动物的呢,是爸爸妈妈把各式各样动物的图片拿到我们面前,然后告诉我们哪个是猫,哪个是狗。 人工智能也是一样,我们把成千上万张图片交给计算机去看,告诉它哪个是猫,哪个是狗,不停的训练它,最后它就可以学会人类的本领。 所以我有的时候经常会感慨,做人工智能就像是带孩子一样,一开始要教它怎么识字、怎么说话,到现在要教它怎么开车、怎么做题,真的太神奇了,感觉它像一个孩子一样逐渐长大,学习更多的技能。 不过真正做人工智能研究的需要一些数学的功底,相对来说入门门槛比较高,但是也更具有挑战性,所以我推荐对数学、人工智能比较感兴趣的同学可以尝试一下算法这个方向。 哇!方向那么多,我该怎么学呢?说了那么多方向,其实都是以后才要划分的,那么作为刚入门的小白应该学习些什么呢? 在这里我就假设你是已经对计算机稍微有一些了解的了,知道怎么开机、知道怎么复制粘贴、知道不要把软件安装到C盘(苹果用户请随意)。 我们知道学计算机一开始其实就是学习编程语言,虽然方向很多,但是各个方向使用的编程语言其实是有交集的。 前端:HTML、CSS、JS等 其实归纳起来,涉及到的编程语言并不是很多,我这里就给出选择各个方向后建议的第一门语言: 那么这些语言要怎么开始学呢?大学之后很少会再像高中那样有老师线下教你,有作业,有考试的那种学习方式了,更多的是自己找视频、找书、找教程来看,自学成才。 我在这就推荐几个视频教程的链接,大家想学习的可以看一看。 前端:https://www.bilibili.com/video/BV14J4114768 总结最后总结一下吧。 其实,前面介绍的方向那么多,技术那么多,但是万变不离其宗,编程学习的,不仅仅是编程语言和相应的技术工具,而是体会程序设计的精妙思想。 归根到底,语言其实也是帮助我们实现想法的工具,所以你首先要有想法,编程语言像是Java、Python,你可以学,别人也可以学,尤其是现在互联网那么开放,再加上计算机界一直崇尚开源精神,所以学习资源遍地都是。 那么怎么才能跟别人拉开差距呢,就要在学习的过程中感悟别人没有理解的东西,学习的目标不是单纯的为了记住各种关键词和简单的运用写几行代码就行了,而是感悟这个地方为什么这么设计以及某个功能为什么这么运用。锻炼这个能力这就需要大家多去研究源码,多去思考,这才是编程之美,不然你学完之后也不过是一个会搬砖的码农罢了。 好了,方向介绍完了,资源也分享给大家了,大家快冲吧! |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/27 21:34:07- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |