首页 > 程序开发 > web前端 > HTML 5 > 正文
谈谈这一年来做项目的经历
2016-08-20       个评论      
收藏    我要投稿

15年考上武汉大学的研究生,暑假就在实验室开始做项目。本人所在的是图像处理实验室,主要研究的是各种图像算法,比如小波变化,SAR图像处理等。由于大多数研

究图像处理的各种算法,在应用这方面所做的研究就非常少。在此情况下,我开始建立水质监测平台网站。

水质监测平台的主要作用是用来展示各种遥感影像,其中的算法部分由实验室的其他同学研究。图像处理一般需要用到ENVI软件,这是一个处理图像非常好的图像处理软

件。将处理过的图片展示在平台上,首先需要将此图片发布。用到的是arcgis service软件。使用arcgis service软件发布的图片会生成唯一的一个url。网页平台引用arcgis api

forjavascript接口,然后通过加载需要的url,即可显示需要的影像图片。用下面这张流程图来说明整个项目,一目了然。

 

\

 

关于项目的详细介绍请参看我的博文基于WebGIS的水质 遥感监测平台在此就不再赘述。这里主要还是讲讲我的项目经历吧,以此文记录曾经的点滴。

我记得15年刚进实验室那会儿,从来没有接触过网页制作这方面的技术。本科的专业是通信工程,对电子电路,各种编码,通信原理了解比较多。网页这块,可以说从未

涉猎。所以说,是从一张白纸开始学习的。要说我的启蒙老师,估计就是w3school这个网址了,很多基本的知识点都是从这上面学习到的。于是一边学习,一边开始修改网页

(为什么说修改呢,因为上届师兄搭建了一个纯静态的显示网站,用来显示处理过的遥感影像图片)。记得当初看着那密密麻麻的代码,头都大了,因为好多现在看来特别容易

的代码,当初看来就是天书。所以啊,凡事都有个有个积累的过程。现在回想起来,15年的整个暑假都是在摸索,学习中度过的。那时候,虽然热情很高,但学习路线的确出

了点问题。有句话叫做:带着问题去学习,效率会高很多;实践才是掌握知识的正确道路。但我们不要忘了,还有一句话叫做,磨刀不误砍柴功。我当初就是急于去项目上实

践,导致很多基础知识都不清楚。这样急急忙忙去做项目,导致效率非常低。记得那时候不会的就去问度娘,但是正因为知道的很少,所以搜索效率灰常低。我们知道当我们搜

索一个问题时,常常出来一大堆答案,有时这种五花八门的答案比问题本身更可怕。所以,当我们接触一些新东西的时候,哪怕走马观花,也要将整个知识体系过一遍,知道个

大概。这样解决细节问题的时候,我们才能做到心中有数。比如,学习网页制作,仅仅在w3school上这个网站上学习,是远远不够的。我们应该通读一些好的网页制作的书

籍,类似于xx从入门到精通。本人觉得李东博著作的《HTML5+CSS3从入门到精通》这本书就灰常不错,它不仅介绍了HTML5和CSS3的一些新特性,还解释了这种新特性产

生的原因。(主要是根据开发人员的一些常用习惯,而增了某些新特性。比如,我们知道很多开发人员使用

来标记页眉区域,而div本身只是一个容器,浏览

器处理这样一个无任何位置标记的容器时,解析速度是比较慢的,为了加快解析速度,HTML5直接添加了一个

标签,这样有助于浏览器定位,解析速度相对加快了)

这是非常重要的,知其然,知其所以然。在这里推荐下谢希仁主编的《计算机网路第五版》。这本书在讲解ip/tcp协议时,非常详细,到位。比如在介绍tcp协议的三次握手时,

具体分析了为建立连接时何要三次握手,而释放连接时为何要四次握手。这样我们理解起来就更加深刻。相比之下,《ip/tcp协议卷二》就显得晦涩难懂多了。总之,适合自己

的才是最好的。

经过一段时间的静态网页学习,平台得扩展成动态网站了。我们知道,静态网页主要是三大块构成的,Html+css+javascript. 动态网页一般需要用到服务器,服务器端语

言,数据库。在选择服务端时,是导师提供了宝贵的意见。一般比较流行的后端语言是php.当时特意买了本php入门,打算好好研究一番的。还好当时导师推荐了以色列作家

Amos Q.Haviv著作的《MEAN web开发》,从此在全栈开发的路上苦苦挣扎。在此,简单介绍下什么是MEAN开发吧。MEAN是MongoDB,Express框架,Angular前端框架,

Node.js平台的缩写。整个项目只使用一种脚本语言javascript实现。这样的好处,显而易见。那就是不用去学习多种开发语言,前后端只使用一种语言。这样也更利于前后端的

融合和交互。当然,由于这种技术还没有得到广泛运用,所以相关的书籍少的可怜,得自己慢慢去学习。互联网行业最大的特点就是技术推广的特别快。像如今,各种node社

区异常火热,在GitHub(全球最大的同性交友平台^0^)也有大量关于node.js的开源项目。所以,学习一种新的语言或者新的知识,找到好的社区非常重要。这一点不分行业。

比如,程序员经常关注的是stackoverflow网站(在项目后期,我大多数问题都能从此网站找到解决的方案,以至于后来有什么疑问,直接使用谷歌搜索"xxxx"

site:stackoverflow.com 这样相当于在stackoverflow站内搜索,大大提高了搜索的准确度),还有最大的开源网站GitHub 。其他行业,比如金融,产品销售等等,肯定也有

类似的社区,上面活跃着各行各业的精英。所以,找到一个相关的社区非常重要。同样也说明了一个问题,各个行业看似无关,其实有些地方还是相通的,那就是学习的方法和

能力。一个长期活跃在stackoverflow网站上的资深程序员,转行去做产品销售。他第一反应就是也去找一个类似的社区,在上面虚心求教,慷慨的分享自己的经验,就像他当

初分享自己的代码一样,从中能得到快乐和成就感,这将一直激励他前行。当然,不同性格的人合适不同的职业,一个资深程序员也许最终不适合做产品销售,但是至少学习能

力,学习方法上不会走弯路。再说了,谁说程序员就只善于敲代码呢。小米科技CEO雷军当初在武大读书期间,代码就编的特别厉害。别人不仅会编程,还懂运营。谷歌公司

的产品经理都是从一线工程师直接提升上去的。所以说,只要把一件事情做的特别棒,再做其他的事情也差不到哪里去。

回到正题上来,Node.js平台最具有开发价值的一点是,它具有强大的高并发处理能力。关于这一点,可以去慕课网上搜索下相关视频。天猫从2014年9月份率先从PHP

迁移到Node上,具体的介绍在慕课网上能找到相关介绍视频。学习node,js开发是痛并快乐的过程,我记忆中尤其深刻的一点是,当初要链接mysql数据库的时候,完全懵逼

了。我在网上搜索了各种mysql相关资料,并且对比了在Visual studio上是怎么链接数据库的,网上搜集的答案五花八门,甚至我打算好好研究下ODBC(ODBC是用一组基于C

语言的API)~~,现在如果你问我怎么在node上链接mysql,我会对你说下载node-mysql模块即可。是的,就这么简单。由此观之,身边有一位把握大局的大神在,得省多少时间

啊。当然,首先你的机器上得安装mysql数据软件才行,说到底,node-mysql模块只是一个接口,你首先得装有实体。就好比先有物质,再有意识一样。意识只是驱动器,首

先得存在被驱动的物质才行。项目中的自动发布程序是基于Arcpy模块的,原理跟node-mysql模块链接mysql数据库是一样的。使用Arcpy接口来驱动Arc GIS for Desktop和

Arcmap。显然要使用Arcpy模块就得先安装Arc GIS for Desktop和Arcmap软件,实际上Arcpy模块不能单独下载,它是伴随着Arc GIS for Desktop和Arcmap软件下载的。

点击复制链接 与好友分享!回本站首页
相关TAG标签 年来 项目
上一篇:DynamicsCRM2015通过JS控制下拉框实现国家省市级联
下一篇:windows下使用git
相关文章
图文推荐
文章
推荐
点击排行

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训
版权所有: 红黑联盟--致力于做实用的IT技术学习网站