这是我三年前写的一篇小心得,过了三年后回过头想一下,感觉自己随着自己的角色发生的改变后,考虑问题的角度已经有所不同了。[]内中的内容是我新添加的
学习编程已经有好些年了,接触到的各种的API也不少,有面向操作系统的API,有中间件的API,有时也要自己写一下API供别人调用.学习API自然就成了日常的功课。就好比学习武功一样,各路门派,各式招式,都有一个从入门,精通,到腾飞的阶段。
学习编程已经有好些年了,接触到的各种的API也不少,有面向操作系统的API,有中间件的API,有时也要自己写一下API供别人调用.学习API自然就成了日常的功课。就好比学习武功一样,各路门派,各式招式,都有一个从入门,精通,到腾飞的阶段。
初级,立刻上手,出结果。
对于API一般都会有很多文档,这些文档都比较详尽的把API的来由,使用,注意事项都描述清楚。在这个层次,读文档是第一位的,但是为了提高效率,立杆见影,还需要从读例子入手。
通过简单的例子,可以立即对API的使用获得十分感性的认识,同时很多代码立刻就能为你的应用开发提供直接的支持,这样学习效率会大幅提高。
还有就是当看一些缺乏文档描述的API时,如果不确定API的具体行为,也可以从API所提供示例代码入手,同时也可以进一步验证你对API的功能理解。
[以前是使用CORBA做应用开放, 可以算是API的使用者, 现在由于我的工作是做 CXF的开放,成了实现JaxwsAPI的开发者, 现在对API的认识虽然不能算是已经腾飞了,但是感觉API其实算是你对系统架构的设计体现. 其实API也不是一成不变的, 好的API应该是易于理解和使用的, 因为定义API目的是为了用户能够方便快捷的使用你所设计的程序库,这样可以帮助使用者快速掌握你所设计的框架,能够真正地用户的生产效率.]
中级,对API烂熟于胸
一般到达这一层次,所追求的目标就是将API用到最恰当的地方。通过体验API各种参数,以及调用方式的不同,理解API的使用特点,可以用API来进行思考,解决你的问题。犹如练刀和练剑一样,通过对你所用的兵器的体验、练习,达到人刀(剑)合一的地步。
为了熟悉API,需要对API的描述文档,或者是API后面的具体实现,有很深入的认识。这往往是建立在大量的API使用基础上的。换句话来说,就是要多用,多想,多做项目,在实战中提高自己。
对于API文档来说,有面向业务的(规范了详细的业务流程),也有面向系统实现的(如CORBA、J2EE的规范),这些都是从初级菜鸟向大侠级人物升级的必备物件,也是成为资深专家练功秘笈哦。
高级,无招胜有招
API,只是为了解决某些问题,而提供的某种途径。到这一层次,API以及转换成为你解决问题一种手段,而你在对具体问题思考的过程中,除了能够进行高度的概括(架构系统框架),也能进行很细致的思考(具体的实现代码)。对于你来说,面对问题,你所想到的不是具体的API,而是整个问题解决之道。
[以前我作为API的使用者,是使用CORBA进行有应用开发, 现在我作为CXF的开发要实现JAXWS定义的API, 算是API的另一种使用者. 到现在我还是很希望这个问题解决之道的提法. API就象我们平时写作使用的词汇句式, 是我们思维的 Building Block, 我们可以用小的Building Block 构建一个非常漂亮的文章. 软件开发和写文章很类似. 我们解决某些问题或者是实现一个User Story的过程,就是将这样那样的API搭配组合,构建映射成为我们的具体的领域模型. 而这里Building Block就是API. 组合构建的过程就是我在前面提到的道]
为了达到这一层次,需要长时间的学习和深入的思考以及开发经验的积累。
呵呵这也许是大家追求目标吧,所以我们还需要继续不断的练功啊。
分享到:
相关推荐
这是一款非常优秀的API查询和学习的工具软件 其中不仅包括API函数的定义,更重要的是提供了API的实际应用,检索非常方便,可以按字母查,还可以按分类查询,对于学习相关的API函数是一个很好的助手.这是一个汉化版本的,...
如果刚刚学习ArcGIS JavaScript API,从一颗星示例开始可以更好的理解示例。在很多情况下,可以扩展或合并示例来为自己的应用创建一个起始点。查看视频来学习如何创建起始点。 示例使用的服务来自ESRI示例服务器...
Pro Android学习系列中的传感器小例子。具体见http://blog.csdn.net/flowingflying/article/details/6212512
因为原本后台获取IP的接口已经失效,所以我把自己改的加上去了 Data/api.php CTRL +F 搜索getIpAddress 功能: 添加,修改,删除接口 添加,修改,删除友情链接 管理你的站点信息 访问日志 使用邮件接口...
jquery的功能想必大家都见过 很好很强大 在此发布它的api 希望能给正在学习jquery的人帮助
本文将以SQLite和PySqlite为例来学习Python DB API。 pysqlite是一个sqlite为python 提供的api接口,它让一切对于sqlit的操作都变得异常简单。 从Python2.5起,pysqlite作为Python的一个标准模块。在使用标准库时,...
它还需要有人来学习新的旧东西。 我们想让人们使用 Perl。 目的 让人们使用 Perl 编写的服务并访问源代码。 细节 提供 Web API 服务。 没有钱,没有安全问题,但提供有用的功能或数据。 使用 Perl 和 Dancer 创建...
这是Pro Android学习系列中Telephony API部分的例子源代码。相关学习笔记见:http://blog.csdn.net/flowingflying/article/details/6212512
本资源基于深度学习技术,旨在识别和分类各种皮革纹理。无论您是从事时尚设计、工业制造还是艺术创作,...使用说明见README.md,有详细的使用说明,包括如何准备数据,如何训练模型,如何预测,如何启动后端,调用API等
可以使用深度学习框架的高级API来构建模型,也可以自定义模型。 4. 模型训练:使用训练集的作为输入,标注的猫狗类别作为输出,来训练模型。这个过程涉及到参数优化、损失函数计算和反向传播等。 5. 模型评估:...
具体函数内部说明可以见操作说明pdf文档。 ## 三、设备应用——监察软件及可视化   软件对操作系统有一定的运行环境要求,在满足基本要求的情况下,双击桌面上的图标会出现以下界面,可以看到有用户名和...
3天精通zookeeper视频详细讲解,需要的小伙伴自行百度网盘下载,链接见附件,永久有效。 课程内容: zookeeper简介 zookeeper数据模型 zookeeper单机安装 zookeeper常用shell命令 zookeeper的Acl权限控制 zookeeper...
训练的模型有深度学习模型rnn_model.py和机器学习模型rnn_model.py,数据处理及窗口滑动平均处理见utils/data_process.py。 服务端 见attitude_recognition_server文件夹下的readme.md 。 api/download_apk和/check...
ML原型面向所有人的机器学习Django应用程序通过API公开scikit-learn的接口更新:重构代码以动态获取用户在API中提到的模型类。 从理论上讲,现在可以对scikit learning中的所有模型进行测试。产品特点用户独立登录...
版本:Python3.8.2 ...介绍:做了一个可以爬搜狗翻译的Class类,参数见文件中,要用exejs库来模拟Javascript运行,execjs库直接用pip install pyExecJs就行了,但配置Node.js(U8)的方法有点困难,可以看我的这篇文章:...
上百节课详细讲解,需要的小伙伴自行百度网盘下载,链接见附件,永久有效。 一、课程目标 熟练掌握SparkSQL的各种操作,深入了解Spark内部实现原理 深入了解SparkML机器学习各种算法模型的构建和运行 熟练Spark的API...
见: flink-table-common:通过自定义函数、格式等扩展表生态系统的通用模块。 flink-table-api-java:使用 Java 开发 Table & SQL API 依赖(早期开发阶段,不推荐使用) flink-table-api-scala:使用 Scala 开发 ...
因此我用的是火狐44版本,且需要删掉安装目录下的两个update文件阻止其自动更新 火狐44版本下载地址见附件 HTTP模块的学习 http://javascript.ruanyifeng.com/nodejs/http.html SOCKET.IO模块的学习 ...
供大家学习参考,难得一见的好程序。基于alphaSSL的通配符签发源码
服务端API文档见 API文档 打包文档见 打包文档 前台销售 模糊查询商品 挂起/取出订单 查看/撤销历史订单 提交订单 会员积分 修改商品价格/数量 后台管理 供应商建立/删除 商品分类建立/删除 商品分类建立/删除/...