对于新的技术如何做到从入门到放弃

从毕业一直从事IT行业,几年来主要专注于WEB技术领域,闲暇时间也看些项目管理与产品设计的杂书。不管对于“小白”还是“老司机”,不管是项目还是产品,学习新的技术是十分必要的。当然从职业生涯的角度来看,保持对新事物的敏感度与持续的学习能力是必不可少的基本素质。

说到技术,不仅仅是工程学科中的技能。从更广泛的范围来看,技术是战略层面下战术层面的具体技能,战术要服务于战略。这也就解释了在比较正规的IT公司,“技术服务于需求”的现象。一旦技术主导了产品,难免会出现因盲目追求新技术而造成产品无市场,或者因过度保守不思进取而引起产品滞后被淘汰的两个极端。

当然,有点扯远了。下面主要结合博主的工作经验,介绍一个尚不完全成型的学习模型。此学习模型类同与软件开发的敏捷模型,通过快速迭代更新不断完善行业知识体系并深入本职工作技能的理解。

第一级、学会发问

“闷骚”可能是技术男的通病。遇到问题不喜欢问,一味自己憋着。——可能与情商偏低有很大关系。这里说的问,不仅仅是问同事,还有更多的途径。

“内事不决问百度,外事不决问谷歌”。搜索引擎就是最常见的途径,也是最容易被人接受的方式。——至少不用与人打交道……

“先问自己,自己想问什么”。听起来有点像玄学,其实很简单:问别人问题前,先经过一番资料搜集,并初步形成自己对问题的初步看法;然后,明确哪些是困扰自己的核心问题,有目的的去寻找答案。之前在别人博客里,总是看到“会提问也是一种学问”的观点,的确:实现明确自己的问题,是对别人时间与精力的尊重。除非必要,不要指望别人一起来个头脑风暴。

“带着自己的初步看法,有礼貌地去请教他人”。这个他人可以是公司同事、本地同行、论坛成员、技术群的群友等。这些都是是真真正正的人,所以,请像对待人一样去对待他们,不管自己多牛,不管自己在公司地位多高。这也是很看一个人“为人处世”之道的。

第二级、查看官方文档

通过搜索或者请教,获取不少知识,对问题有了一定的理解。不过比较认真的人,难免有点心虚,感觉那是“野路子”。

可以登陆相关技术的官方网站(可能有一半会是英文网站),阅读下他们自己的介绍与看法,开放接口的文档,以及提供的官方DEMO

从技术的表面去了解这个新技术。就像做黑盒测试一样。

第三级、阅读源代码与专业理论 继续阅读对于新的技术如何做到从入门到放弃

Web开发常规调试方法与常见问题分析

自工作以来,本人一直从事web开发与相关技术攻关。期间,本人与同事都难免遇到一些反复出现的问题,今天整理出来,供现在与未来的同事,以及博友参考。

一、Web项目基本原理

现在的web项目大都已经前后端独立开发与部署。

前后端独立开发,一般是前端与后端通过web接口(常见的有RESTfulwebsocket)文档进行交流。前端开发人员先更具业务需求与实际原型进行ui的编程实现与事件的设计,并通过web接口进行业务数据的增删改查。后端开发人员根据定义的接口文档,实现业务数据的计算与增删改查,并对持久化的数据(一般保存在数据库里)进行操作。

前后端独立部署,前端项目均为html5/css/javascript/图片等静态资源,只需要web服务器就可以部署运行。常用的web服务器有apachenginx。后端开发人员则只需要把接口服务发布到应用服务器,并正确连接数据库。常用的java的应用服务器有tomcatjetty等。

对了,在此声明下,这里所说的前端,并不只是pc站的html页面,也包括微网站、微信小程序、APP应用等。

二、常规调试方法

根据上面的分工,可以明显地web开发中遇到的问题分为:前端实现问题,接口调用问题,接口实现问题。

a) 前端实现问题

前端实现问题是指,前端在调用接口前或者调用接口后,业务逻辑错误或者程序错误造成的系统用户交互异常。针对不用的前端,有不同的调试工具。

Pc站与微网站可以使用chrome(推荐)或者firefox的开发者工具进行调试。

微信小程序与公众号可以使用微信官方开发者工具进行调试。

APP使用开发环境的真机联调进行调试。

b) 接口调用问题

接口调用问题,多为前端调用接口错误或者接口本身存在bug引起的,无法获取前端人员预期的返回结果。

在开发环境中,可以使用上述的工具进行调试。在生产环境中进行故障排查是,pc站与微网站还可以通过pc浏览器进行故障分析。但公众号、小程序、APP需要通过charles等抓包工具进行分析。

如果没有接口调用的数据包,则前端程序存在问题;

如果接口的请求参数与请求头信息存在错误,则前端调用接口使用错误;

如果接口的响应参数与响应头信息存在错误,则接口实现存在问题;

如果接口调用正常,则前端程序对数据结果处理存在问题。

c) 接口实现问题

接口实现问题,多为后端开发人员没有根据正确的请求参数返回正确的响应结果。多由逻辑错误、数据持久化处理错误与系统级错误引起的。

在开发时可以通过断点跟踪就行分析。生成环境需要通过分析系统日志或者程序的日志进行分析。

三、常见问题分析

在以上几大类问题中,有些尤为突出,下面进行详细分析。 继续阅读Web开发常规调试方法与常见问题分析

开源之我见

2016年冬,我决定挣脱束缚的枷锁,不再作为他人的“试验品”,毅然走上那条路。

在迷茫无助之际,感谢我的精神导师——《极客与团队》的作者——引导我走向组建学习型分享型组织与开源运动的道路。

近些年,国内开源运动风生水起。开源项目如雨后春笋般地增长,其中不乏知名互联网企业的贡献,同时也可以看到新兴互联网企业的身影。

说到开源,一般的企业是不赞同,甚至坚决反对的。但这里不谈商业,只谈行业!

程序猿、攻城狮、产品狗等IT从业人员。应该清楚地看到,你们的舞台(亦或是战场)不仅仅是在你所效力的平台,是时候睁开眼去看看分布在全球各地的兄弟姐妹们了。

一、我们是对手,更是朋友

“如果你成功了,要感谢你的家人与朋友;如果你想持续成功,那请向你的对手致敬!”——我说的。同行,是个很微妙的关系。——即存在着竞争关系又存在着合作关系。——无法同时处理好这两种关系,可能会难以理解一些工作(甚至事业)上的“不可思议的游戏规则”。

兴许很多人已经看透了平台里这些潜规则,并能娴熟的做出对自己最有利的决定。但这里,我想说的是,“去与平行世界里的自己做游戏”。——这个“平行世界里的自己”不是“多重宇宙的自己”,而是分布在世界各地的,忙碌在所效力平台的自己(因为我们是一体的)。

感谢互联网,连接了你我的心;感谢开源运动,连接了你我的大脑。

“如果你自满了,那就出去看看外面的世界;如果你孤单了,那就去看看外面的世界。”开源运动,为全球的从业者搭建了一个开放、平等、自由的交流平台。在这里,你可以看到行业前沿,为自己的事业发展指明道路;在这里,你可以进行思想与思想的碰撞,激起创新的火花;在这里,你可以与全球最优秀的同行同台竞技,保持自己的最佳状态。

这是你的归宿——在这里你可以遇到志同道合的朋友,甚至人生的贵人。这是你的起点——积蓄好力量,望着远方,继续出发。 继续阅读开源之我见

wsimport生成webservice客户端代码设置连接超时

一、使用wsimport生成客户端代码

wsimport -keep -s ./src/main/java -p{com.XXX} -verbose{server-url}

本文以以下参数为例

wsimport -keep -s ./src/main/java -pcom.ldt.test-verbose

http://192.168.88.27:7009/frdif/n_frdif.asmx?WSDL

通过以上代码生成客户端代码,把生成的代码按照包结构放在项目中。

以下是调用生成的客户端代码: 继续阅读wsimport生成webservice客户端代码设置连接超时

终其一生,去读懂你

现实世界是丰满的、多维度的,依靠个人力量,在有限的生命里,是很难去全面的了解她。

但只要去观察她、去聆听她、去经历她、去翻阅有关她的所有痕迹,总能离她更进一步。

物理学、化学、生物学、社会学,以及贯穿其中的数学与哲学,都在从各自的角度去阐释她的美貌,但也只能是冰山一角。

如何实现微信公众号历史消息数据抓取并整理为excel表格

一、应用场景

作为新媒体运营人员或者数据分析人员,获取并分析自营公众号的营销数据与竞品公众号的营销数据可以为当前绩效与未来决策提供数据支持。

微信公众号作为主流新媒体平台之一,被专业新媒体人与各企业新媒体运营人员所重视。本文就是针对“如何实现微信公众号历史数据抓取并整理为excel表格”的问题,提出初步解决方案与改良方案。

二、难点分析

微信公众号历史消息数据是基于html5+ajax方式进行加载的。不过与普通微网站不同的是:微信公众号历史消息页只能在微信中打开,在其他浏览器中无法打开。所以,不能用普通爬虫工具直接爬取数据,如何爬取数据成为一个难题。

三、解决方案

注意:此教程不是小白教程,只是提供解决思路。欢迎与博主沟通探讨。 继续阅读如何实现微信公众号历史消息数据抓取并整理为excel表格