随笔分类 - 编程开发
摘要:这几天在做一个功能,其实很简单。就是调用几个外部的API,返回数据后进行组装然后成为新的接口。其中一个API是一个很奇葩的API,虽然是基于HTTP的,但既没有基于SOAP规范,也不是Restful风格的接口。还好使用它也没有复杂的场景。只是构造出URL,发送一个HTTP的get请求,然后给我返回一个XML结构的数据。
阅读全文
摘要:2016年底的时候阿里巴巴公开了其在内部使用的Java编程规范。随后进行了几次版本修订,目前的版本为v1.0.2版。下载地址可以在其官方社区-云栖社区https://yq.aliyun.com/articles/69327找到。
阅读全文
摘要:最近几个月利用业余时间完成了一个项目。这个项目其实是2008年我在前公司做的一个web项目。后来客户想要对项目做升级,牵扯到一些功能的变动及界面的修改。由于当时整个项目的架构和主要编码都是我做的,所以前公司老总喊我来接这个项目,使用业余时间完成。我考虑了一下答应了。为了挣点钱养家就拼点呗。
阅读全文
摘要:整天跟数据库打交道的程序员都知道,当数据库的Schema发生改变时是多么痛苦的事情。尤其是一个在不断开发完善的项目,随着需求变化,数据库的schema也会跟着变化,而追踪记录这些变化一向都是费时费力。如果你拥有多个测试环境,那么保证这些环境下的数据库的一致性的难度会成倍增加。
阅读全文
摘要:2013年12月12日,Spring发布了4.0版本。这个本来只是作为Java平台上的控制反转容器的库,经过将近10年的发展已经成为了一个巨无霸产品。不过其依靠良好的分层设计,每个功能模块都能保持较好的独立性,是Java平台不可多得的好用的开源应用程序框架。
Spring的4.0版本可以说是一个重大的更新,其全面支持Java8,并且对Groovy语言也有良好的支持。另外引入了非常多的新项目,比如Spring boot,Spring Cloud,Spring WebSocket等。
阅读全文
摘要:俗话说,天下武功,唯快不破。也就是说要练成天下高手的话,出招速度一定要快,这样才能在江湖上立足,不至于掉了脑袋。而程序员要在IT界混出个名堂,也要有高效的工作效率才行。IT行业时时刻刻都产生着新知识、新技术,要想跟上变革肯定要有几把刷子。
阅读全文
摘要:译者注: Bob大叔14年后再次谈论极限编程。极限编程经历了14年的风风雨雨后,Bob大叔将会给它怎么样的定义那?
阅读全文
摘要:如果Gradle构建的项目是一个web项目的话,里面可能包含一些集成测试和功能性测试。这些测试和单元测试不同之处是在运行之前要先在本地将web服务启动起来,并且跑完测试后能够自动的关闭web服务。
阅读全文
摘要:今天分享的是亚马逊的CloudFormation,亚马逊将其归类为Deployment&Management(部署及管理类别)。为什么亚马逊要推出这项服务那?我们可以假设一个场景。如果你要将一个WordPress网站部署到亚马逊上,你需要以下几步:创建一个EC2实例->在此EC2实例上配置WordPress->创建RDS数据库实例->在WordPress中配置与该RDS的连接。整个过程耗时耗力,需要在亚马逊不同的云服务间跳转。这些操作关联性很强,不具备自动化。如果你使用了CloudFormation以后,只需要在页面上点几个按钮,输入一些参数,就可以创建一个博客,省时省力,甚至完全不用任何UI,直接通过命令行完成。
阅读全文
摘要:XML文件格式已经出来很久了。他的风头如今在JSON、YAML等新兴文件格式的冲击下已经显的不那么强劲。但是XML仍然是当今世界上使用最广泛的文件格式。围绕着它也有一大堆的概念和知识点。所以我们还是很有必要全面了解下。
阅读全文
摘要:回想以前,想要安装个虚拟机是多么的麻烦。先要费尽心机找到想要的操作系统镜像文件,然后安装虚拟化软件,按照其提供的GUI界面操作一步步创建,整个过程费时费力。但是,自从使用了Vagrant以后,咱腰不酸了,腿不痛了,一口气起5个虚拟机还不费劲。
阅读全文
摘要:上篇文章中讲了将我的Octopress博客部署到亚马逊的S3上。而这篇文章则主要讲如何使用亚马逊提供的CloudFront作为内容分发并将自己的独立域名绑定到此CloudFront上。
阅读全文
摘要:Octopress已经被公认为Geeker的博客框架。它所拥有的特性都很符合Geeker的癖好:强大的命令行操作方式、简洁的MarkDown语法、灵活的插件配置、美轮美奂的theme(自带响应式设计哦)、完全可定义的部署……
一般大家都喜欢把博客部署到github pages上,免费速度快,与Octopress无缝结合。但是自己最近迷上了AWS,就捉摸着将自己的Octopress博客部署到AWS的S3上,使用CloudFront做CDN,使用Amazon Route 53做域名映射。倒腾了两天,终于搞定了,也学到了很多东西。不敢私藏,拿出来和大家分享。
阅读全文
摘要:前段时间在玩Chef-一个IT基础设施自动化工具。由于Chef是由Ruby写的一个gem,那么就需要安装Ruby。当然Ruby我早就安装了,并且使用rvm来管理Ruby及Gem。本来一切看似正常,但是不会预料后面会遇到那么多的坑。
阅读全文
摘要:bundle在ruby的世界里是个好东西,它可以用来管理应用程序的依赖库。它能自动的下载和安装指定的gem,也可以随时更新指定的gem。
rvm则是一个命令行工具,能帮助你轻松的安装,管理多个ruby环境。每个环境可以指定一系列的gem。它允许你为每一个项目指定其ruby的版本,需要的gem的版本。这能最大限度的避免由于ruby环境的差异,或者不同版本的gem造成的各种问题。
阅读全文
摘要:云时代的到来势不可挡。尤其作为程序员,我们每天或多或少的直接或间接的使用者各种云服务。云平台有很多种,如云软件(SaaS, Software as a service)、云平台(PaaS, Platform as a service)、云设备(IaaS, Infrastructure as a service)。云计算由于其价格低廉、按需提高、使用方便等特点,越来越受到人们的欢迎。
阅读全文
摘要:通过Gradle我们可以很方便的使用内置jetty启动我们的web程序,在本地进行调试。但是在使用的过程中,我发现了几个问题,导致本地调试的效率大受影响。
阅读全文
摘要:毫无疑问,现在Gradle已经成为java世界最火的构建工具,风头已经盖过了冗余的ant,落后的maven。Gradle是以Groovy语言编写的一套构建脚本的DSL,由于Groovy语法的优雅,所以导致Gradle天生就有简洁、可读性强、灵活等特性。
Gradle的命令行功能也非常强大。本人从maven转到Gradle,深深被gradle强大的命令行功能折服。通过命令行来实现Gradle的各种特性,就像魔法师在表演魔法一样。
阅读全文
摘要:在使用源代码版本控制工具时,最佳实践是一直保持一个主干版本。但是为了应付实际开发中的各种情况,适时的开辟一些分支也是很有必要的。比如在持续开发新功能的同时,需要发布一个新版本,那么就需要从开发主干中建立一个用于发布的分支,在分支上进行bug fix,维护版本的稳定,并适时的将一些改动合并回主干。目前大红大紫的源代码版本控制工具git很受大家推崇,原因之一就是其在这方面的功能相当强大。其实老牌的SVN也是有这样的功能的,接下来就给大家讲解下。
阅读全文
摘要:好几年没写SQL语句了。现在到了新的team,需要用到数据库。作为QA的话时常需要使用客户端工具连接到数据库中找寻或修改数据。这么长时间没使用,一些SQL的使用技巧都忘得差不多了。晚上看了一些资料,花了1个多小时又捡起了曾经的知识。现在总结一下以方便以后查阅。
阅读全文