大象笔记

知者行之始,行者知之成

新购了一台阿里云服务器

主要是手头有两张代金券马上过期,不用有点可惜。 代金券 101.60 云服务器ECS(按量付费),云服务器ECS(包年包月)续费 2017-04-12 00:00:00 至 2017-07-16 00:00:00 82.00 云服务器ECS(包月),云盘,增量带宽 新购,续费,升级 2017-02-27 04:27:25 至 2017-05-28 04:27:25 服务器选型 华北 1 可用区 B 系列一 1核1G 操作系统 Ubuntu 16.04 64 位 设置安全组 注意是公网入方向,开通 22, 80, 443 端口 授权类型:地址段访问 0.0.0.0/0 ...

阅读全文...

XSD

xsd:all 与 xsd:sequence 的区别 all 的子集可以是无序的 sequence 的子集是有序的 simple element 即简易元素,类型为 XSD 内置的数据类型,例如 xs:string xs:decimal xs:integer xs:boolean xs:date xs:time XML 与 XSD 的映射关系 例如,XML 的内容为 <name>大象</name> 对应的 XSD 则为 <xs:element name="name" type="xs:string"/> d ...

阅读全文...

Eclipse 快捷键

Ctrl+Shift+o 引入当前行使用的但未 import 的类 Ctrl+Shift+f 格式化代码 Ctrl+Click 自动跳转到此函数、类定义的地方 Alt+/ 自动补全单词,类似 VIM 中的 Ctrl+N ...

阅读全文...

使用 xfire + spring 实现 web service

Spring 配置 web.xml <context-param> <param-name>contextConfigLocation</param-name> <param-value> classpath:org/codehaus/xfire/spring/xfire.xml /WEB-INF/applicationContext.xml </param-value> </context-param> <listener> <listener-class>org.spring ...

阅读全文...

调试 Web Service 接口的工具 Boomerang - SOAP & REST Client

Boomerang - SOAP & REST Client 是基于 Chrome 的插件。可以方便地调试 Web Service 接口。 省去了写测试 client 代码的时间。 目前是在 Spring 中用 java 写 Web Service 服务,java 的代码又臭又长,写完服务之后,再用 java 写测试 client 就更痛苦了。相比之下,用 python suds.client 写 WS client 就高效地多。但是 Boomerang 优势更加明显 可以在 Chrome 中看到网络请求的数据格式,省去了抓包的麻烦 可以直接列出接口列表,省去了打印日志的麻烦 一行代 ...

阅读全文...

关闭了微信运动和钉钉运动

每天10点左右这两货准时弹出消息提醒,非常令人厌恶。每天逐一点掉,真是浪费生命。 微信运动还好,进去就能取消。钉钉运动消息界面根本没有停用按钮,烦躁地找了半天在工作 tab 里找到对应的停用设置。钉钉的产品体验确实垃圾,为了活跃度做如此苟且之事。 我习惯把 app 的消息推送都关掉,以避免被垃圾信息干扰,但是微信和钉钉一直都是例外,因为工作上越来越依赖这两。 ...

阅读全文...

如何规避项目欠款风险

问题背景 一个长期合作的客户在几次合作之后,开始拖欠项目款,由于前几次合作比较愉快,所以后面的几期项目都没有预收款,就先行开发了。 现在的情况是,当期两期合作,一期开发完成,但是对方以资金周转紧张为由准备拖到年底。另一期合作,做了一部分,但是我们鉴于上期款项未结,不赶冒风险继续跟进下去。所以新需求一律 defer。 出现这种情况,通常要做最坏的打算,即欠款可能收不回来。当然,如果我们营收乐观的话,出于长期合作的考虑,给客户免费做了没问题。但是谁没有营收压力啊。何况目前我们手头有大客户的项目,而且对方是预付款,就更没有可能先去做这种欠款客户的需求。 如何将欠款风险降到最低 我们70多岁久经沙场的 ...

阅读全文...

远古社会如何解决 java 依赖关系

事情是这样的,客户不会使用 Maven 也没用过 Gradle,更不敢尝试最新的 Spring 版本。 于是,他们给传了一个手工配置好的 Spring 3.2 的初始化项目压缩包。 痛苦的旅程就这样开始了。。。 由于客户不会调用 RESTFul 的接口,不得已改成 Web Service 的接口。这就需要引入 Spring-WS 的依赖。 修改 web.xml 加入 <!-- Spring-WS --> <servlet> <servlet-name>spring-ws</servlet-name> <servlet ...

阅读全文...

Spring Web Services 生成 WSDL 文件

Spring Web Services 简称 Spring-WS. 关键词 document-driven Web services contract-first SOAP service development 支持将 incoming XML 请求映射到 object 支持各种方式的 XML 解析 WS-Security 加密、解密 SOAP 协议 环境要求 Spring-WS 2.2.0 Java 1.6 以上 Spring 3.2 以上 WSDL 中复用 XSD 定义 <simpleType name="AirportCode"> &lt ...

阅读全文...

WSDL 与 Web Service

什么是 WSDL Web Services Description Language,即Web服务描述语言。采用 XML 格式。 现存四个版本 1.0:2000年 1.1:2001年,依然是目前应用最广泛的版本 1.2:2003年,即后来的2.0 2.0:2007年,虽然更加灵活,但是没有被广泛应用 WSDL 就是一个 XML 格式的文档文件,用于描述 服务 URL 和命名空间 网络服务的类型 (可能是 SOAP 的函数调用,但我说过,WSDL 足够自如地去描述网络服务的广泛内容) 有效函数列表 每个函数的参数 每个参数的类型 每个函数的返回值及其数据类型 它的目的是让你知道该如何使用 ...

阅读全文...

Spring + Hibernate 访问数据怎么就这么复杂

又是 DAO 层,又是 Service 层。每层还都加上一个 interface。我只是要实现一个拉取所有数据的操作。搞这么多层有什么用? DAO 是什么? Data Access Object 是一个 object 或者 interface 用于访问数据库或者其他持久化储存系统。 例如,我们有一个 Entity 来描述一个 Person public class Person { private int id; private String name; public int getId() { return id; } publi ...

阅读全文...

去除 Tomcat URL 中的 servlet name

默认情况下,使用 tomcat 运行一个 servlet,只能通过 http://www.xxx.com/<servlet_name> 访问首页,如果想要去掉 URL 中的 servlet name,可以这样 Tomcat 生产环境修改 将导出的 .war 包,更名为 ROOT.war,置于 tomcat webapps 目录下。注意,如果原来存在 webapps/ROOT 目录,需要将该目录删除。(最好是改个名字,以防误删除) Eclipse 开发环境修改 如果只是开发环境需要修改,只需要在 Eclipse 中右键点击项目名称 Properties - Web Project S ...

阅读全文...