问题一:想做手机游戏开发,要学些什么东西呢 cocos2d就是专门2d游戏的引擎
c、c++这个要学qt什么才能开发手机当然苹果的话直接c++再看看ios开发教程就行了,objc++和c++不是差很多
没人直接用java的gui开发东西的吧,这东西只是为了学java时好玩才用的。
html5也能直接开发游戏啊学完java应该会html5了吧,html肯定会了,不会html5再看看html5的游戏制作教程就能直接作了。
不管选什么就是调用人家给的api做成个游戏么,手机2d游戏很简单,你已经会了门语言,再学个1、2天就行了
问题二:学手机游戏开发需要学什么 1、开发手机软件的相关程序。如果你想做一名安卓应用开发者,其实也不难。我认为,最简单的也是最基本的是你需要懂得Java语言和XML知识。现在开发安卓系统通常都用的是Java语言。掌握了这两种技能后,然后再安装一个Eclipse和Android SDK,就可以做开发了。
2、不只是安卓,现在苹果系统也是一个大热门,几乎可以和安卓相媲美。如果你想要成为IOS应用开发者,你需要了解的知识也有很多,例如Objective-C语言、xcode开发环境等、足够的苹果手机以及相关产品的使用经验,知道产品的优点与不足,这样才能更有效的和软件需求人员交流沟通。
3、想要开发手机软件,最最基本的是要具备一定的软件开发能力,那么你也需要一定的开发技能作支撑,例如界面开发、一定的数据库开发、通讯接口开发、协同开发与联调,如果是游戏,那么还需要涉及到引擎、建模、素材、光影、故事板等。这都需要你了解清楚。
4、必须要有良好的用户体验。好的手机应用 软件都应该有好的用户体验,所以我建议,你在开发一款软件之前一定要做好用户调查,看看他们有什么需求,确定软件要实现什么主功能和辅功能等等。当然也要设计出一款美观大方的界面,这样的话用户使用起来也舒心的多了。
5、不懂技术就不能开发。如果你连一点儿的软件开发技术都不会的话,肯定是不可能会开发手机应用的。
问题三:从零基础开始想学习做手机游戏,请问该怎么做 你好,对于你的问题:1、首先要确定到底是想学习iOS还是Android下的游戏开发,因为两者开发语言学起来是不大一样的;2、iOS下游戏开发一般使用Object-C,而Android下是Java;3、从什么开始学起?肯定是从计算机语言开始学起,定好平台就去学习具体语言,Object-C或Java,你需要准备:a一本教程,具体某本书建议到csdn论坛去问一下,那里是中国最大程序员社区b类库是肯定要学的,在学具体语言就会接触到类库c视频教程,具体还是请到csdn去问4、开始学习语言才会接触到具体的软件,如Xcode,Eclipse等等PS:学习语言不是一件简单的事,要下苦功夫,而且游戏开发后期还要学习建模、算法设计等知识!
有其他问题欢迎到电脑管家企业平台咨询,我们将竭诚为您服务!
腾讯电脑管家企业平台:zhidaobaidu/c/guanjia/
问题四:做手机游戏开发需要学习哪些技术 开发手机软件的相关程序。如果想做一名安卓应用开发者,其实也不难。最简单的也是最基本的是需要懂得Java语言和XML知识。现在开发安卓系统通常都用的是Java语言。掌握了这两种技能后,然后再安装一个Eclipse和Android SDK,就可以做开发了。
不只是安卓,现在苹果系统也是一个大热门,几乎可以和安卓相媲美。如果想要成为IOS应用开发者,需要了解的知识也有很多,例如Objective-C语言、xcode开发环境等、足够的苹果手机以及相关产品的使用经验,知道产品的优点与不足,这样才能更有效的和软件需求人员交流沟通。
问题五:做安卓平台游戏开发需要学什么? 安卓是用Java,cocos2dx我不熟悉,一般手机游戏开发使用Unity3D引擎。支持Java或C#,这个引擎是可视界面,入门容易,制作好的作品可以直接跨平台转换,win,lux,mac,ios,android,winphone,各种家用机掌机(要与厂商签订协议)都可以一键转换。但缺点是全英文界面,国内书籍资料普遍落后,不容易找教程。
一般情况下,在国外这款引擎只用于手机游戏开发,其他类型游戏开发时,先用这款引擎由少数程序员+策划+美工或者策划+美工先按设想做出测试用游戏,然后在公司发表会上取得通过后,公司内部成员从头使用普通制作方法(基础程序OpenGL,DirectX,PSDirect等结合程序语言)完成成品。也就是说,千万不要用这个引擎做手机游戏之外平台的游戏。
做完的作品可以提交Google商店或者苹果商店审核,审核成功后可以上架,前者比较容易通过审核。
一般售价在免费+道具收费到30美元不等
问题六:安卓手机游戏开发需要学什么? 在瑭锦Tanjurd要学Android游戏编程 游戏是Android应用商店中的一个大分类,也是智能手机的一大亮点。需要学习SurfaceView、动画绘制、图形图像的碰撞和检测、地图的设计、数据存储、传感器编程、网络编程、多媒体编程、事件处理等等的回顾,编写2D游戏。通过对OpenGL3D内容的介绍,了解在Android上开发3D游戏的基本技能。学习游戏引擎libgdx,了解游戏引擎的用法。
问题七:做手游的话需要学习些什么东西 首先你要有绘画功底,其次这些软件你得学Blender,Art of Illusion,FreeCAD这几个软件都是建模渲染必备得,而且这几个软件都是免费开源的,网上一般都有。我们学机械建模与制图都得学。你美术功底好了以后将你的想法手绘出来,再用3d建模软件进行建模渲染,这些都是动画及游戏制作最基本的。
问题八:我想做一个手机游戏,但什么都不会应该学什么 到外面学编程,如果以后想找这方面的工作,必须去考证,最低中级,最好是高级!
个人认为英语学不好的人,还是别学编程了!
问题九:做手机游戏开发需要学习哪些技术 50分 最起码要回编程
问题十:我想自己制作一个手机上玩的游戏,都需要学什么。 编程
《OpenCV 3计算机视觉:Python语言实现(原书第2版)》(Joe Minichino)电子书网盘下载免费在线阅读
njfc
书名:OpenCV 3计算机视觉:Python语言实现(原书第2版)
作者:Joe Minichino
译者:刘波
豆瓣评分:73
出版社:机械工业出版社
出版年份:2016-6
页数:181
内容简介:
OpenCV 3是一种先进的计算机视觉库,可以用于各种图像和视频处理 *** 作,通过OpenCV 3 能很容易地实现一些有前景且功能先进的应用(比如:人脸识别或目标跟踪等)。理解与计算机视觉相关的算法、模型以及OpenCV 3 API背后的基本概念,有助于开发现实世界中的各种应用程序(比如:安全和监视领域的工具)。
本书将从图像处理的基本 *** 作出发,带你开启先进计算机视觉概念的探索之旅。计算机视觉是一个快速发展的学科,在现实生活中,它的应用增长得非常快,因此写作本书的目的是为了帮助计算机视觉领域的新手和想要了解全新的OpenCV 300的计算机视觉专家。
作者简介:
Joe Minichino 是Hoolux Medical从事计算机视觉的工程师,他利用业余时间开发了NoSQL数据库LokiJS。他也是重金属歌手/作曲家。他是一个充满激情的程序员,对编程语言和技术非常好奇,并一直在使用它们。在Hoolux,Joe领导了针对医疗行业的Android计算机视觉广告平台的开发。
你好。我的情况和你差不多。不过我是忙考研去了。。 关于嵌入式的培训我给你点我个人的意见吧。我本科专业是计算机科学与技术。专业课程学的还可以。培训这个就好像考研的辅导班。有用但是有时候有没用。。。这个时候最忌讳的就是病急乱投医。很多培训机构的老师真的水平很 *** 蛋。至少我去过两家培训机构。和那的老师交谈了一下。也顺便问了些问题。他们的答案我觉得很不专业。比如我问。在嵌入式开发中。最难把握的环节是哪个部位吧。这个问题搞死了很多老师。。正确答案是 接口时序的安排 。呵呵 你可以想象。你1万多打出去遇上这样的老师你想高薪就业。表想了。。。。我现在是在EMULE 上看到了有关ARM 的嵌入式开打视频。我现在在跟着学。感觉跟上有难度。(我个人认为我不算菜鸟吧。我有LINUX内核阅读经历。RADHAT 9 还算熟练。也写过些小SHELL 。200行左右。)。。。。。。。其实很多人看这个培训。主要是看中它所说的推荐工作。还有以后的待遇。其实嵌入式有很多方向的。。。。还有一点我要提醒你。一定要根据兴趣去学习。。。 不要因为人家说这个吃香你就去。 那个有资料你就学。。。。。我强烈建议你在网上找些嵌入式的视频看看。。看看自己能不能行。有没兴趣。。。。就算你要去培训。就当是预习吧。我有同学已经在培训了。。。他告诉我。他的干就就是。。。风吹书。。。。还有 一下是一个高级工程师的成长经历。你可以看看。。。对了 还有 表忘了给我分 嘿嘿嘿
本文将从技术和就业经验等角度为即将进入嵌入式开发的程序员们,详细讲述了嵌入的概念,嵌入式开发之间的异同以及应该如何做出选择,希望对大家有所帮助。
一、嵌入式系统的概念
着重理解“嵌入”的概念
主要从三个方面上来理解。
1、从硬件上,将基于CPU的处围器件,整合到CPU芯片内部,比如早期基于X86体系结构下的计算机,CPU只是有运算器和累加器的功能,一切芯片要造外部桥路来扩展实现,象串口之类的都是靠外部的16C550/2的串口控制器芯片实现,而目前的这种串口控制器芯片早已集成到CPU内部,还有PC 机有显卡,而多数嵌入式处理器都带有LCD控制器,但其种意义上就相当于显卡。比较高端的ARM类Intel Xscale架构下的IXP网络处理器CPU内部集成PCI控制器(可配成支持4个PCI从设备或配成自身为CPI从设备);还集成3个NPE网络处理器引擎,其中两个对应于两个MAC地址,可用于网关交换用,而另外一个NPE网络处理器引擎支持DSL,只要外面再加个PHY芯片即可以实现DSL上网功能。IXP系列最高主频可以达到 18G,支持2G内存,1G×10或10G×1的以太网口或Febre channel的光通道。IXP系列应该是目标基于ARM体系统结构下由 intel进行整合后成Xscale内核的最高的处理器了。
2、从软件上前,就是在定制 *** 作系统内核里将应用一并选入,编译后将内核下载到ROM中。而在定制 *** 作系统内核时所选择的应用程序组件就是完成了软件的“嵌入”,比如WinCE在内核定制时,会有相应选择,其中就是wordpad,PDF,MediaPlay等等选择,如果我们选择了,在CE启动后,就可以在界面中找到这些东西,如果是以前PC上将的windows *** 作系统,多半的东西都需要我们得新再装。
3、把软件内核或应用文件系统等东西烧到嵌入式系统硬件平台中的ROM中就实现了一个真正的“嵌入”。
以上的定义是我在6、7年前给嵌入式系统下自话侧重于理解型的定义,书上的定义也有很多,但在这个领域范围内,谁都不敢说自己的定义是十分确切的,包括那些专家学者们,历为毕竟嵌入式系统是计算机范畴下的一门综合性学科
二、嵌入式系统的分层与专业的分类。
嵌入式系统分为4层,硬件层、驱动层、 *** 作系统层和应用层。
1、硬件层,是整个嵌入式系统的根本,如果现在单片机及接口这块很熟悉,并且能用C和汇编语言来编程的话,从嵌入式系统的硬件层走起来相对容易,硬件层也是驱动层的基础,一个优秀的驱动工程师是要能够看懂硬件的电路图和自行完成CPLD的逻辑设计的,同时还要对 *** 作系统内核及其调度性相当的熟悉的。但硬件平台是基础,增值还要靠软件。
硬件层比较适合于,电子、通信、自动化、机电一体、信息工程类专业的人来搞,需要掌握的专业基础知识有,单片机原理及接口技术、微机原理及接口技术、C语言。
2、驱动层,这部分比较难,驱动工程师不仅要能看懂电路图还要能对 *** 作系统内核十分的精通,以便其所写的驱动程序在系统调用时,不会独占 *** 作系统时间片,而导至其它任务不能动行,不懂 *** 作系统内核架构和实时调度性,没有良好的驱动编写风格,按大多数书上所说添加的驱动的方式,很多人都能做到,但可能连个初级的驱动工程师的水平都达不到,这样所写的驱动在应用调用时就如同windows下我们打开一个程序运行后,再打开一个程序时,要不就是中断以前的程序,要不就是等上一会才能运行后来打开的程序。想做个好的驱动人员没有三、四年功底, *** 作系统内核不研究上几编,不是太容易成功的,但其工资在嵌入式系统四层中可是最高的。
驱动层比较适合于电子、通信、自动化、机电一体、信息工程类专业尤其是计算机偏体系结构类专业的人来搞,除硬件层所具备的基础学科外,还要对数据结构与算法、 *** 作系统原理、编译原理都要十分精通了解。
3、 *** 作系统层,对于 *** 作系统层目前可能只能说是简单的移植,而很少有人来自已写 *** 作系统,或者写出缺胳膊少腿的 *** 作系统来,这部分工作大都由驱动工程师来完成。 *** 作系统是负责系统任务的调试、磁盘和文件的管理,而嵌入式系统的实时性十分重要。据说,XP *** 作系统是微软投入300人用两年时间才搞定的,总时工时是600人年,中科院软件所自己的女娲Hopen *** 作系统估计也得花遇几百人年才能搞定。因此这部分工作相对来讲没有太大意义。
4、应用层,相对来讲较为容易的,如果会在windows下如何进行编程接口函数调用,到 *** 作系统下只是编译和开发环境有相应的变化而已。如果涉及Jave方面的编程也是如此的。嵌入式系统中涉及算法的由专业算法的人来处理的,不必归结到嵌入式系统范畴内。但如果涉及嵌入式系统下面嵌入式数据库、基于嵌入式系统的网络编程和基于某此应用层面的协议应用开发(比如基于SIP、H323、Astrisk)方面又较为复杂,并且有难度了。
三、目标与定位
先有目标,再去定位。
学 ARM,从硬件上讲,一方面就是学习接口电路设计,另一方面就是学习汇编和C语言的板级编程。如果从软件上讲,就是要学习基于ARM处理器的 *** 作系统层面的驱动、移植了。这些对于初学都来说必须明确,要么从硬件着手开始学,要么从 *** 作系统的熟悉到应用开始学,但不管学什么,只要不是纯的 *** 作系统级以上基于 API的应用层的编程,硬件的寄存器类的东西还是要能看懂的,基于板级的汇编和C编程还是要会的。因此针对于嵌入式系统的硬件层和驱动程的人,ARM的接口电路设计、ARM的C语言和汇编语言编程及调试开发环境还是需要掌握的。
因此对于初学者必然要把握住方向,自己的目标是什么,自己要在那一层面上走。然后再着手学习较好,与ARM相关的嵌入式系统的较为实际的两个层面硬件层和驱动层,不管学好了那一层都会很有前途的。
如果想从嵌入式系统的应用层面的走的话,可能与ARM及其它体系相去较远,要着重研究基嵌入式 *** 作系统的环境应用与相应开发工具链,比如WinCe *** 作系统下的EVC应用开发(与windows下的VC相类似),如果想再有突破就往某些音视频类的协议上靠,比如VOIP领域的基于SIP或H323 协议的应用层开发,或是基于嵌入式网络数据库的开发等等。
对于初学者来讲,要量力而行,不要认为驱动层工资高就把它当成方向了,要结合自身特点,嵌入式系统四个层面上那个层面上来讲都是有高人存在,当然高人也对应的高工资,我是做硬件层的,以前每月工资中个人所得税要被扣上近3千大元,当然我一方面充当工程师的角色,一方面充当主管及人物的角色,两个职位我一个人干,但上班时间就那些。硬件这方面上可能与我PK的人很少了,才让我拿到那么多的工资。
四、开发系统选择。
很多ARM初学者都希望有一套自己能用的系统,但他们住住会产生一种错误认识就是认为处理器版本越高、性能越高越好,就象很多人认为ARM9与 ARM7好,我想对于初学者在此方面以此入门还应该理智,开发系统的选择最终要看自己往嵌入式系统的那个方向上走,是做驱动开发还是应用,还是做嵌入式系统硬件层设计与板级测试。如果想从 *** 作系统层面或应用层面上走,不管是驱动还是应用,那当然处理器性能越高越好了,但这个东西自学,有十分大的困难,不是几个月或半年或是一年二年能搞定的事。
在某种意义上请,ARM7与9的差别就是在某些功能指令集上丰富了些,主频提高一些而已,就比如286和386。对于用户来讲可能觉查不到什么,只能是感觉速度有些快而已。
ARM7比较适合于那些想从硬件层面上走的人,因为ARM7系列处理器内部带MMU的很少,而且比较好控制,就比如S3C44B0来讲,可以很容易将 Cache关了,而且内部接口寄存器很容易看明白,各种接口对于用硬件程序控制或AXD单步命令行指令都可以控制起来,基于51单片机的思想很容易能把他搞懂,就当成个32位的单片机,从而消除很多51工程师想转为嵌入式系统硬件ARM开发工程师的困惑,从而不会被业界某此不是真正懂嵌入式烂公司带到 *** 作系统层面上去,让他们望而失畏,让业界更加缺少这方面的人才。
而嵌入式系统不管硬件设计还是软件驱动方面都是十分注重接口这部分的,选择平台还要考察一个处理器的外部资源,你接触外部资源越多,越熟悉他们那你以后就业成功的机率就越高,这就是招聘时所说的有无“相关技能”,因为一个人不可能在短短几年内把所有的处理器都接触一遍,而招聘单位所用的处理器就可能是我们完全没有见过的,就拿台湾数十家小公司(市价几千万)的公司生产的ARM类处理器,也很好用,但这些东西通用性太差,用这些处理器的公司就只能招有相关工作经验的人了,那什么是相关工作经验,在硬件上讲的是外围接口设计,在软件上讲是 *** 作系统方面相关接口驱动及应用开发经验。我从业近十年,2000年ARM出现,我一天始做ARM7,然后直接跑到了Xscale(这个板本在ARM10-11之间),一做就是五年,招人面试都不下数百人,在这些方面还是深有体会的。
我个人认为三星的S3C44b0对初学者来说比较合适,为什么这么说哪?因为接口资源比较丰富,技术成熟,资料较多,应该十分适合于初学者,有问题可能很容易找人帮且解决,因为大多数人都很熟悉,就如同51类的单片机,有N多位专家级的人物可以给你帮忙,相关问题得以很快解答,所然业界认为这款 ARM都做用得烂了,但对于初学者来,就却是件好事。
因此开发系统的选择,要看自己的未来从来目标方向、要看开发板接口资源、还要看业界的通用性。
五、如何看待培训。
首先说说我自己,我目前从业近十年,与国内嵌入式系统行业共同起步,一直站在嵌入式系统行业前沿,设计过多款高端嵌入式系统平台产品并为众多公司提供过解决方案,离职前为从事VOIP的美资公司设计IP-PBX,历任项目经理、项目主管、技术总监、部门经理,积累众多人脉,并集多年经验所得,考虑到学生就业与公司招人的不相匹配,公司想招人招不到,而学生和刚毕业的工程师想找份工作也不太容易,于此力创知天行科技有限公司,开展嵌入式系统教育培训。
因一线的科研人员和一线的教师不相接触,导至国内嵌入式人才缺乏,国外高校的技术超前于业界公司,而国内情况是业界公司方面的嵌入式系统技术要远远领先于高校。为架构业界与高校沟通的桥梁,把先进技能带给高校学子,为学生在就业竞争中打造一张王牌,并为业界工程师快速提升实现自我创造机遇,我就这样辞去了外企年薪20多万的职位,做嵌入式系统方面的培训了。
对于培训来讲,是花钱来买时间,很多工程师都喜欢自己学,认为培训不值,这也是有可能的,纯为赚钱的培训当然不会太有价值,但对于实力型的培训他们可能就亏大了,有这样一笔帐不知他们算过没有,如果一个一周的培训,能带给他们自学两年后才能掌握的知识,在培训完后他们用三个月到半年时间消化培训内容,这样他会省约至少一年半的时间来学其它的或重新站在另一个高度上工作,那么他将最迟一年后会拿到他两年后水平所对应的工资,就是在工资与水平对应的关系上比同批人缩短一年,每月按最少1千计,再减去培训费用至少多10万,同时也省了一年时间,不管是休闲也好,再继续提高也好,总之是跑到了队伍的前面了。
另一层面上讲,对于新人的培训相当于他们为自己提前买了份失业保险,有师傅会带领他们入道,我今年暑假时班里最年轻的一个学生是大二的,今年才上大三,这学期才刚学单片机,但现在ARM方面的编程工作已经搞得有声有色了,再过一年多毕业,他还会失业吗?
再者通过培训,你可以知道很多业界不为常人所知的事,同时也为自己找了个师傅,就比如说,两个工程师分别用S3C2410和PXA255来做手持设备,同样两人都工作四年,再出去找工作,两人工资可能最多可相差一倍,为什么?这就是业界不为常人所知的规则,2410属于民品,被业界用烂了,做产品时成本特敏感,当然也对人才成本敏感了,PXA255是intel的东西,一个255 CPU能买三个2410,一直被业界定义为贵族产品,用的公司都是大公司或为军方服务的公司,不会在乎成本,只要把东西做好,一切都好说,但这方面做的人也少啊,因为开发系统贵啊。
对于说为自已找了个好师傅,我想是这样的,因为同级工程师间存在着某此潜在的竞争关系,有很多人不愿意把自己知道的东西教给别人,这意味着他将要失业,就是所说的教会徒弟,饿死师傅,但对于我们这些人就不存在这样的关系了,我是在嵌入式系统平台设计上走到了一定程序,目前在国内这块的技术上已经是自己很难再突破自己,因此很多东西我对大家都是OPEN的,就比如说下面那部分关于接口设计中所提到的时序接口东西,我要是不讲,却使是高级硬件工程师我想也几乎只有10%的人能知道吧。
六、成为高级嵌入式系统硬件工程师要具备的技能。
对于硬件来讲有几个方向,就单纯信号来分为数字和模拟,模拟比较难搞,一般需要很长的经验积累,单单一个阻值或容值的精度不够就可能使信号偏差很大。因此年轻人搞的较少,随着技术的发展,出现了模拟电路数字化,比如手机的Modem射频模块,都采用成熟的套片,而当年国际上只有两家公司有此技术,自我感觉模拟功能不太强的人,不太适合搞这个,如果真能搞定到手机的射频模块,只要达到一般程度可能月薪都在15K以上。
另一类就是数字部分了,在大方向上又可分为51/ARM的单片机类,DSP类,FPGA类,国内FPGA的工程师大多是在IC设计公司从事IP核的前端验证,这部分不搞到门级,前途不太明朗,即使做个IC前端验证工程师,也要搞上几年才能胜任。 DSP硬件接口比较定型,如果不向驱动或是算法上靠拢,前途也不会太大。而ARM单片机类的内容就较多,业界产品占用量大,应用人群广,因此就业空间极大,而硬件设计最体现水平和水准的就是接口设计这块,这是各个高级硬件工程师相互PK,判定水平高低的依据。而接口设计这块最关键的是看时序,而不是简单的连接,比如PXA255处理器I2C要求速度在100Kbps,如果把一个I2C外围器件,最高还达不到100kbps的与它相接,必然要导致设计的失败。这样的情况有很多,比如51单片机可以在总线接 LCD,但为什么这种LCD就不能挂在ARM的总线上,还有ARM7总线上可以外接个Winband的SD卡控制器,但为什么这种控制器接不到ARM9或是Xscale处理器上,这些都是问题。因此接口并不是一种简单的连接,要看时序,要看参数。一个优秀的硬件工程师应该能够在没有参考方案的前提下设计出一个在成本和性能上更加优秀的产品,靠现有的方案,也要进行适当的可行性裁剪,但不是胡乱的来,我遇到一个工程师把方案中的5V变18V的DC芯片,直接更换成LDO,有时就会把CPU烧上几个。前几天还有人希望我帮忙把他们以前基于PXA255平台的手持GPS设备做下程序优化,我问了一下情况,地图是存在SD卡中的,而SD卡与PXA255的MMC控制器间采用的SPI接口,因此导致地图读取速度十分的慢,这种情况是设计中严重的缺陷,而不是程序的问题,因此我提了几条建议,让他们更新试下再说。因此想成为一个优秀的工程师,需要对系统整体性的把握和对已有电路的理解,换句话说,给你一套电路图你终究能看明白多少,看不明白80%以上的话,说明你离优秀的工程师还差得远哪。其次是电路的调试能力和审图能力,但最最基本的能力还是原理图设计PCB绘制,逻辑设计这块。这是指的硬件设计工程师,从上面的硬件设计工程师中还可以分出ECAD工程师,就是专业的画PCB板的工程师,和EMC设计工程师,帮人家解决EMC的问题。硬件工程师再往上就是板级测试工程师,就是C语功底很好的硬件工程师,在电路板调试过程中能通过自已编写的测试程序对硬件功能进行验证。然后再交给基于 *** 作系统级的驱动开发人员。
总之,硬件的内容很多很杂,硬件那方面练成了都会成为一个高手,我时常会给人家做下方案评估,很多高级硬件工程师设计的东西,经常被我一句话否定,因此工程师做到我这种地步,也会得罪些人,但硬件的确会有很多不为人知的东西,让很多高级硬件工程师也摸不到头脑。
那么高级硬件件工程师技术技能都要具备那些东西哪,首先要掌握EDA设计的辅助工具类如 ProtelORCADPowperPCBMaplux2ISE、 VDHL语言,要能用到这些工具画图画板做逻辑设计,再有就是接口设计审图能力,再者就是调试能力,如果能走到总体方案设计这块,那就基本上快成为资深工程师了。
硬件是要靠经验,也要靠积累的,十年磨一剑,百年磨一针。
其实前端学习没有好不好学这么一说,学习本身就是不断的突破,遇到问题和解决问题这样的一个过程,想要学好肯定都是有难度的。
昨天在我在国外网站reddit上看到一篇文章,作者分享了他自学编程9个月后找到工作的经历。文章不到一天就得到3千多赞,2百条回复。我看了下内容,非常中肯,其中有不少建议也是我在编程教室屡次提过的。所以我连夜翻译了出来。原文略长,我做了适当的缩减。另外加上了一点我的想法(括号内斜体字)。虽说国情有不同,但本质是相同的,对想要入行的朋友很有参考价值。
长话短说,2017年12月,我处于人生的十字路口,无论是继续完成看不到尽头的化学硕士学位还是重新寻找自己的出路都令我感到纠结。那时我写了一些代码(也就几百行Python),感觉不错。我决定靠着积蓄来学习编程,直到找到一份开发的工作。
回顾这个漫长而艰难的旅程,我想分享一些经验,它是如何开始以及如何结束的。我的观点没有特别的顺序,虽然我会先写一些我认为最重要的。
1)设定一个非常精确的目标。我是指现实的目标。这是你旅程中最重要的方面,你需要对终点线有清晰的认识。你学习编程,是因为想解决一些实际问题吗?也许你想要自动处理你工作/生活中的一些任务,也许你想破解游戏,也许你出于好奇心,也许你喜欢学习新事物,又也许你是一个想开发应用却没有资金的企业家。而本文中,我主要针对想要通过学习编程找工作的角度来谈。
2)如果你的目标是找工作,就盯着就业市场看,而不是Twitter和Medium上的热点。还记得第一点吗?你必须设定一个非常精确的目标。诸如“我想成为一名开发人员并从事游戏行业”这样的目标就过于模糊。你的首要任务是什么?是寻找一个真实的开发工作,还是在游戏行业工作?如果你在游戏行业找不到工作怎么办?你的城市没有此类公司,或者你达不到游戏公司的要求怎么办?其实不论你学习哪种编程语言,我敢说将来某一天这些知识都可能用在游戏开发上,只要这是你的目标。你将需要学习大量的新东西。但是你有解决问题的能力和编程知识才能迈出第一步。
你是一名自学成才的开发人员,不是MIT的优秀毕业生,找到一份异地的工作会更难。我在2017年12月犯了一个错误:我认为首要任务是找到一份前端开发的工作。但我没意识到,在我的地区C#/php/Java的工作与前端JS工作的比例为9:1。因此,请查查你所在地区的公司,看看它们的职位和要求。
(如果你的目标是转行,不妨从初级职位先入行,再不断调整到你期望的方向)
3)永远永远不要假设在编程中什么更难什么更容易。当我决定学习前端时,我这样做了。这是一个巨大的错误。不好说前端比后端更容易,或是更难。关键是,你也无法知道自己会更喜欢什么,更适应什么。所以不要假设。永远不要认为JavaScript比C更容易或是更难。不同工具对于不同问题的有不同的复杂性,你还没有到能区分什么“更难”什么“更容易”的程度,我也是。就别去衡量。你能说清,从现在开始的24个月内,在某平台上提升渲染和网络性能比优化基于地理空间数据预测天气的算法“更容易”吗?你确定在复杂的实时应用程序中管理状态比编写着色器或教电脑如何翻译或绘画更容易吗?你根本就不知道。所以,千万不要做这种无脑的假设。
4)坚持学习。你有多少时间学习编程?你是学生吗?还是失业了(就像我一样)但是有足够的积蓄来投入学习。你的目标要符合实际,但要坚持。每天写1小时代码会比每周写一次7小时的代码会使你成为一个更好的程序员。
5)不必懂得职位所需的一切。对于框架和库尤其如此。顶级公司非常关注数据结构和算法,这表明你可以思考并解决问题。更具体地说,无论你选择何种编程语言(Java,JavaScript,C#,Python和PHP中的任何一种都可能找到工作),尽可能地学习它的基础知识。我学习了前端开发。我觉得这需要从html到dom,学大量的库,transpiling,webpack等等。但实际上,在求职面试中,这些话题很少被问起,他们只想知道我是否真的了解JavaScript。我申请了3个前端React工作,没有人关心你是否知道React的调用(我的意思是,如果你学习React,你应该至少具备它的工作原理的基本知识),但成为一名优秀的React开发人员所需的核心知识就是了解JavaScript。如果你了解JavaScript和dom,那么学习React只需要一周的时间。否则你永远不会成为一个好的React开发者。高阶函数,this绑定,这些是React开发人员每天需要真正面对的问题和知识,其余的都是谷歌搜索。这同样适用于任何其他语言。如果没有扎实的语言基础,各种bug会让你一筹莫展。仅仅读过一些东西,并不意味着你吸收了它,更不谈掌握它了。一个会10种技能/工具,但并不真正精通一个的人,很难取得别人信任。
6)尝试寻找一个导师。Slacks,IRC,Discord上很多人比你有经验,你也许能找到愿意长期帮助你的。感谢freenode的javascript频道所有成员对我学习的帮助(特别是ljharb,slikts,stennowork,liste,innovati,zsoc,cjhonson,qswz,GreenJello,sillyslux)。请注意,我不是让你们去联系这些人,他们在讨论组中提供帮助而不是一对一。两个建议:1不要考验导师的耐心和意愿。如果你一直在问可以搜索或书上查到的基本问题,他们会厌烦并懒得回答你。2程序员,包括你在内,都希望别人认可自己的聪明,我认为这是理性人的本质。你可以利用这一点,比如:如果你进入聊天室并写“平心而论,我觉得在座各位不会绑定箭头函数”,你会得到20个回复。而如果你问“箭头函数怎么用?”可能不会有任何答案。
(一个过来人的建议和指导对于学习非常有帮助,这是任何书本、教程或者视频都无法达到。关于这点,参与过编程教室码上行动的各位同学应该深有体会)
7)了解什么是编程:将数据作为输入,对它做一些处理,生成一个输出。这就是每个程序所干的事情。把两个数字相加:输入数字->处理->输出总和。在屏幕上渲染3D模型:相机顶点矩阵->处理->屏幕上的2D图像。在网站上设置你的个人资料:数据输入地址->处理->来自服务器的响应。这就是编程的全部,一切都是为了计算。数据->处理->数据。不过我对数据结构和算法知之甚少。我不太能实现归并算法或实现复杂的数据结构,在面试中也没有真正要求它们。知道时间复杂度和不同数据结构的应用对于我的面试来说已经足够了。但在其他公司和职位上可能会有所不同。
8)了解程序员做什么。他们通过代码解决问题。作为程序员,你需要解决问题(通常由你自己创建)。不能解决代码的问题,那要你何用。如果你认为跟随youtube/udemy上的一些废话视频可能会让你成为一名程序员,那就大错特错了。看别人替你解决问题意味着你没有提高问题解决技巧。所以当你无法理解某些代码时,别急着谷歌或问人。要知道,这就是你要面对的工作。善于解决问题,有些可能是语法问题(如前所述),有些可能与性能有关,等等。学会使用调试器。代码只是想法的实现,习惯用铅笔和纸编程。定义好你的问题,输入,输出以及如何从一个到另一个。整理你的代码,看看你乱七八糟的面条代码,看看你凌乱和命名不佳的函数和变量,超过几百行就难以维护的代码,试着改进它。
9)掌握计算机的基本常识。认真脸。你起码要了解冯·诺伊曼结构和内存模型,这些几小时就能学完。哪怕是通过维基百科、Youtube或者是一些博客,至少做下这件事。搞懂内存模型和调用栈,你的代码水平将会提升,你也会码得更快。你再也不会搞不清:为什么你不能修改一个字符串,或者为什么是通过引用而不是值来传递非基本类型。这对提升你的学习速度,加深你对计算机运行原理的了解具有重要意义。
10)不要跟着视频学习。你需要做得事情越高级,越小众,你能使用的资源就越来越少。你要习惯用谷歌也搜索不到多少信息的情况。你将会需要使用文档很少或者为零的程序库,需要查看代码来搞清楚为什么这个库改变了那个对象类型,或者运行情况和预期不同。去Github上看一些热门的库,那里有很多问题可研究。在你之前,那些优秀的工程师从来没遇到过这些问题。我知道这不容易,但这是个好习惯。我还没见到过哪个编程问题在视频中比在出色的书或文章中写得更好。而且要注意,很多做这些课程的人并不一定是优秀的程序员;即使他们是,他们也不见得是好的老师。
我不是说“不要使用视频”。有很多视频帮了我大忙,帮我理解概念,解决问题,以及看怎么使用一些技术。但是不到最后,不要用这个资源,不要依赖它。比如我自己很喜欢AndrewMead的React课程,但如果我没有自己去研究,一遍遍尝试,那我看到过的内容都没变成我自己的。靠着某个视频,了解关于某个软件特定版本的例子,只是不得已的替代方案。
(你觉得真正的编程大牛会整天开直播给你讲怎么写入门代码吗?)
11)调试和版本控制。这对于学习语言和计算机基础是最重要的,也是工作环境中最需要的东西。其次是工具的使用。如果你掌握Java,那么学习Spring比学习docker和git要容易得多。但你可能会花95%的时间来编写Spring代码。又比如你掌握Python,你可以在一个周末学会Django,但需要花更多时间学会调试错误的Python代码。关于IDE也是,知道5个IDE不如熟练使用1个。这些未必是初级职位的必备技能,你可以不去了解它们,但这个东西是长期有用的。
(调试debug和版本控制是区分新手与程序员的重要标志,对求职也很加分,参考开发5分钟,调试2小时-你的问题在哪里?)
12)不要试图一次学习太多东西。小步走,但要稳。我犯过这样的错,并且付出不小的代价。不是说读Hennessy和Patterson的著作没用,或者说关于设计模式的阅读是无用的,也不是说看Youtube视频、有趣的技术讨论、阅读行为驱动设计没用,但是还记得第一点吗?你必须明白什么是首要的,扎实走好每一小步。如果你和我一样,充满好奇心,那很好。但是,先找到一份工作,在一个舒适的环境中,拿着一份薪水,跟着资深开发者学习,然后回家尝试用Rust编程,看关于不可变性的谈话,难道不是更好吗?
13)小贴士1:如果在你正式找工作前有6至7个月的准备时间,我推荐学下C语言。这是一门很小的语言,但可以教会你很多。这么说吧,如果我在花4个月学习另一门高阶语言之前,先花2个月学习C语言(每天至少4小时),并且解决一些Leetcode上简单和中等难度的问题,我会成为一名比现在更优秀的程序员。现在技术太多,高阶语言中有大量“噪音”。
你很快就会从“我怎么样从input到output”这样的问题上被引诱到别的关注点上,而这却是写一个完整代码最最基本的步骤。我知道编写“input”和“output”一点也不酷,但还记得第一点吗?我们需要尽快找到一份让自己能挣钱的体面工作。学习C语言,可能起初比较慢。但当你学习下一门语言时,你最后会发现和使用C语言解决问题是一样的,只不过要使用无数的API。
14)小贴士2:学会管理你的时间。你整天坐在电脑前学编程,顺手刷一刷各种网站很有诱惑力的,但这些都是在浪费时间。如果你能把时间管理好,那你的准备时间可以大大缩减掉几个星期甚至几个月。
15)小贴士3:休息,社交,恋爱,娱乐,照顾自己,这些都超级重要。一个人坐在那里,整天看着博客,盯着VisualStudio,对你的精神健康没有好处,而且会让你和别人格格不入。努力学习,懂得自制,但是在生活的其他方面也要自制。因为一旦这个平衡被打破,其他地方也会出问题。
就写这么多,如果写太长了,请不要介意。希望有人会觉得这篇文章有帮助,且这只是我个人的见解,可能会有很多人不赞同。
|答案是31,因为大于“太阳底下打立正”是一种比较有趣的挑战活动,通常是在户外或阳光照耀的地方进行。这个活动的规则很简单,就是在太阳底下或阳光照耀的地方,打立正并喊出一个数字。这个数字通常是由活动组织者提前设定的,而参与者需要根据自己的记忆力和反应能力,太阳底下打立正是一个非常流行的军训口号,其含义是在太阳底下,要保持站姿挺拔,昂首挺胸,做好军人的样子。在这个口号中,打一个数字则是为了让人们更好地记住和理解这个口号。那么,太阳底下打立正打的是什么数字呢?
这个数字是8。在太阳底下打立正的口号中,打数字8的含义是要提醒人们保持站姿挺拔的“八字步”,也就是两脚分开呈V字形的姿势。这个姿势是军队和警察训练中常用的基本动作,可以帮助训练者提高站姿的稳定性和平衡性,增强肌肉力量和协调性。
除了数字8外,太阳底下打立正口号中还包括了其他数字和指令,例如数字1代表要抬头挺胸,数字2代表要收腹抬臀,数字3代表要双肩下沉,数字4代表要两脚分开,数字5代表要双手放在身体两侧,数字6代表要双手抱拳,数字7代表要手臂自然下垂。这些数字和指令都是为了让训练者更好地掌握站姿的要领和技巧,从而提高训练效果和质量。
总的来说,太阳底下打立正打的数字是8,其含义是要提醒人们保持站姿挺拔的“八字步”,以此来提高训练者的站姿稳定性和平衡性。。这个活动不仅能够锻炼参与者的体能和反应能力,还能够增强团队合作和沟通能力,是一种很好的团队建设和活动促进方式。
至于具体打的数字是多少,这通常取决于活动组织者的设定和参与者的实际情况。有些组织者会设置比较简单的数字,比如1、2、3等,而有些则会设置更复杂的数字,比如4位数或以上。不论数字的大小如何,参与者都需要在太阳底下保持良好的姿势和反应能力,保证活动的顺利进行。的最小数字就是31。
以上就是关于做手机游戏需要学什么全部的内容,包括:做手机游戏需要学什么、《Open C V3计算机视觉》txt下载在线阅读全文,求百度网盘云资源、嵌入式培训怎么样等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)