网络时代宁河小程序开发文档,获取信息宁河小程序开发文档的渠道变宁河小程序开发文档的更多,也更便捷。然而在汪洋如海的知识里,如何能找到自己的方向,这需要一些技巧。
新的技术,往往是之前的一些技术,发生了一些突破,创新后变成了一种新的概念,描述,然而本质不会改变,我们要找寻的便是,通过网络零散的知识,如何快速形成自己的学习计划。
很多人遇到新的知识,总是显得焦虑、不得章法,导致迷茫慌乱,反反复复地没啥进展,时间成本很大,却收效甚微。究其原因,在于没得思路,不知该如何去学习。
一个新的知识出来,首先要看的是它是什么,它能做什么,对你而言你是要致力于这个方向,还是只是浅尝辄止?每个人的精力有限,有时要学会借力打力,见招拆招。而不是自己奋力先自行修炼,认为自己可以出山,才出关道士下山。
如今知识爆炸时代,如果门门都去掌握,肯定是不现实的。如此就要去关注自己感兴趣的方向,然后深入将核心掌握,然后抽离出来模型,放入实践中进行验证,完成自己的一套知识体系。
举个例子,手机系统,抛开其他先做一个模型,手机组成为硬件,驱动,软件。经历过单片机,嵌入式开发版的人来说,拿到一些板子,外接一个LCD,然后自己去照着手册,编写驱动程序,封装一些接口,让做应用软件的人员,直接使用调试好的这些接口,来完成功能实现。
当开发复杂的应用时,要做多任务,但显示界面没有一套UI库,于是开始找开源的系统,比如μC/OS II 和uclinux等一系列的系统便涌了出来,解决任务,进程创建,调度现场保护等等,让我们可以快速使用多任务而不用关注太多细节;多进程,完成更加复杂的事情,界面控件,响应,再借助别的GUI系统,比如wxwidget和 qt等等来完成搭建我们的界面库,将其移植过来配合我们的系统,来实现绘制,响应。
关于操作系统,GUI的内部实现,我们可以不必深究,但必须了解其机理和懂得操作系统的大致实现进程的方式,比如构造一个PCB表,构造堆栈控件,线程切换保护现场模式。要能够自己打通,形成自己的一套概念。
技术千变万化,却万变不离其宗。脚本语言出现了那么多,实质还是一个解析器。按照约定,去读取解析然后执行。然后我们把这个约定叫做语法,把解析叫做语法分析。将很多东西进行一句话总结。一句话模型,是自己先对某个知识,形成一个简单的概念,然后顺着这个方向,去细化知识,理解实现原理,然后回过头来,加深一句话的总结,做到心中有数。
在刚接触一个新的知识的时候,首先要做的是,搜索概念,了解它是干嘛的,然后去看下大家都用它在做什么。然后看下它是否能解决你的诉求。距离SDL框架来说,第一件事便是了解,它主要解决什么?它主要解决图片的渲染,就是如何将一帧画面显示在各个平台。用它来做个图库肯定是可行的。想用它播放视频,既然它就是图片显示,那视频解码出来就是一帧图片,如果借助其他的库将视频解码出来,拿过来让SDL去显示,就可以播放视频了。于是就找到了ffmpeg+SDL组合来完成视频播放器。
那么它做游戏可以吗?可以。想做复杂的,比如有地图文件,物理碰撞,粒子炸弹效果,界面GUI,我们发现SDL本身没有,所以要用它就需要移植。有人会说,何必呢?有一些现成的游戏引擎,支持的很好了。比如cocos2d和libgdx,开发游戏来说更加方便,快捷。确实如此,那么我们用SDL的意义在哪呢?其实SDL要做的很简单,比如你开发了一个游戏,比如之前是在一个特定显示器的,然后自己想移植到PC上或者ios或者android来玩,那么你要做的就是事件匹配,触摸匹配,以及绘制匹配,而这些SDL已经帮你做好了,你就可以参照SDL的官方文档将游戏移植过来了。
回到主题,我们怎么快速的掌握一个新的知识呢?
首先,官网介绍。官网会将它的用途讲解出来。这个概念,你要快速形成模型来决定是否需要学习,短时间内是否能够掌握。不必勉强不擅长的一味逞强去学习,到头来自己迷茫,也没啥收获。比如学习手写识别,做过一些demo,但是识别率比较低,而自己尝试了下,发现这个领域,自己是没法短期突破,因为不着思路,所以就要退出,说明这个方向不适合自己,就不要瞎去研究。当然,如果你有的是时间、须要研究,那就另当别论了。
从开始的技术流,看到什么都去学下,导致很多东西都是略知皮毛,导致都没深度,没有深度,意味着没有竞争优势。某个方向,发展成自己的优势,尤为重要。技术流是做技术的核心竞争,但不可太过零散,要做到收放自如,哪些必须掌握,哪些可以一笔带过,哪些需要研究一番,抓住主干,切不了细枝末节都牢牢抓住。当然,如果就是专攻此方向,那就另说。
学会整理、鉴别、快速搜寻答案。比如开发应用第三方库,网上有很多对比,MPchart和hellochart,但hellochart比较简单,并且它能解决诉求,于是就尝试快速上手了。但开发完城后,使用时发现做的很多地方比较死板,让开发的人员用起来比较别扭,这个就是时间问题了。如果觉得自己是长线要做图表的,那就每个都看看,找到更适合自己的为止。
很多开源的都是需要简单调试的,于是快速找出可以使用的为止,调整小的问题,需要有能力阅读代码完成修改。例如说greendao,一个非常好用的三方数据库方案,在使用的时候发现不能创建两个实例,也就是不能有两个db文件被创建,有很多人开发,想账户和应用数据想独立存储,放在两个db里面,那么可以确定greendao做不到,因为它的单例模式不允许,它的很多内容用了一个全局变量。想做成两个db请换其他开源库,如果不是必须要两个db,那可以做两个table来解决此问题。
要有能力解决问题,开源库会磨炼技术,提升定位,以及修改问题的能力。
看完官网的介绍,觉得满足自己的需求,那么就可以继续阅读,主要看下它的wiki或者示例、效果。自己搭建环境调试,看下是否能够完成,如果过程中发现不是太好,就需要重新去找别的项目,不需在此过多纠结。
学完demo发现适合,那就研究下它的基本开发套路,能够形成一个简单轮廓,向自己的目标靠近。如果途中出现问题,要能够从它的文档中找出问题点,当然首先先百度,google搜索,去甄别答案。
如果找到一个开源项目,发现有些功能受限,比如glide,客制化时发现它的加载图片功能不够,于是需要研究代码。
阅读代码,最好是带着一个问题去阅读,比如某个方法,我想扩展下,觉得它的返回,或者回调里面信息不够,然后去追踪,分析,定位。这里需要强调的一点是,不要盲目一路去追代码,学会总结,不要被一些细枝末节的代码导致迷失方向,比如一个方法就是比较一个点是否在矩形区域内,如果不是必须研究算法,那么我们就只关注这个返回值的判断地方。对于有些宏,case项,可以看看枚举值,对于理解会有所帮助;播放一个音频文件,发现有个case有一个枚举,TYPE_MP3 那么就可以去看看这个都有哪些枚举,就能知道这里都支持哪些格式的播放;如果有些枚举上有个宏控,那就知道这个功能是需要配置,有可能没有开启。
代码阅读的技巧太多,甚至每个人自成一套,只要努力去阅读,失败后总结,便会有自己的一套学习方法。
学习完后,做了demo,文档看了一堆,终于解决了问题。于是就可以很欢快的将它纳入自己的知识贮备。但如果这个项目后续会多次使用,那么要研究它便是迟早的事情了。需要花费大量的时间,快速整理出来学习思路,照它的demo,跟踪代码,理解,掌握。然后能够打通,同时不会陷入细节里面。
到这里已经完成了新的技术的认识,后续便是是否想继续挖掘,学习,那就要不断的穿梭在代码,文档之间,同时借助搜索引擎来扫除理解的一些障碍。
例如需要理解一些android的概念,linux操作系统,虚拟机,surfaceflinger,AMS服务,binder通信机制,以及jni等等,概念先行,会将整体框架搭建起来,了解自己将来的的学习轨迹,并能够知道自己当前走到哪里了,是否还需要继续。再例如view.post,我们学到message.post则可以结束了,同时需要贯穿一下放入消息池中,从哪里取出,消费的。也就是handle message 和looper的关系。
思考,总是需要有所突破。不能每次都沉浸在别人研究的结论上,在别人的结论上,继续深入挖掘,才能变成自己的独特的见解,比别人多走一步,有自己的总结,以及更深更透彻的理解,这才是真正的收获。
当经历了数次语言的演变,就能透彻的理解演变的背后,往往跟随着科技的进步。从之前的斤斤计较,对于内存,硬盘,以及堆栈区域大小,跳转空间限制等等,到现在不需太多关注,编译器优化,已经能够做更加高效便捷了。
追求效率和品质,永远是在制衡,到达一个平衡即可,切勿过度导致顾此失彼得不偿失。现在的开发,若非实时要求非常严格,必须精准的计算执行时间,平时开发基本对于效率不会过度追求,对于计算排序算法不会太过较真,只为在容忍的时间内解决问题即可。
学习,在于有目标和有技巧地去掌握。有计划学习并找到自己喜欢的课题时,请牢记深入学习。如果自己不喜欢,却比较流行,那就学个demo了解背景,做到知晓即可。
开发应用,很多时候不做研究,拿来即可合入项目。如果是偶然开发,风险可以稍后推延,做到大致心中有数;如果是长线开发,比如公司,团体,那么初次使用,可以不做过多计较。如果第二次继续使用,则需要注意,我们需要研究下代码评估风险,做到心中有数,对于开源库的优点、缺点、适合场景等等做出基本判断。
学习永无尽头,能有一套自成体系的学习方法,比之熟练掌握几种语法,要有优势的多。因为知识不断在迭代更新,手握自己的渐变陈旧的技术,却无力快速适应新的知识体系,理论,那么,技术革新的车轮,则会毫无情面的碾过你,连同你所经历的岁月。
-
小程序制作开发企业排名(小程序开发公司哪家好,戳这里免费报价!)
1、其实小程序制作开发企业排名,现在能做小程序的公司还是很多的小程序制作开发企业排名,排行榜之类的东西各个地区的也不太一样小程序制作开发企业排名,所以在做小程序的时候...
-
互联网公司大新闻(互联网公司新闻app)
你说的这个东西,并不存在,之前有新闻爆料“借未来世界首富名义发售原始股 云数贸涉诈骗”,不能轻易相信,现在诈骗手段那么强大互联网公司大新闻;未来30年数据将成为生产资料,计算...
-
互联网中的新闻舆论是什么(互联网中的新闻舆论是什么意思)
网络舆论,又称网络舆情,是指在互联网上流行的对社会问题不同看法,是社会舆论的一种表现形式,是通过互联网传播的公众对现实生活中某些热点焦点问题所持的有较强影响力倾向性的言...
-
微信小程序开发者权限(小程序开发者权限有什么用)
网络不好根据查询微信小程序官方网站得知,微信小程序开发者权限不能支付是网络不好,微信是一款跨平台微信小程序开发者权限的通讯工具,支持单人多人参与通过手机网络发送语音图...
-
包含网站建设.龙兵科技的词条
成都网站建设有成都建站有限公司成都网络公司嘻嘻网络科技创企科技龙兵科技等1成都建站有限公司 成都网站设计科技有限公司主要从事网站设计网站建设网站制作网站开发企业建...