使用spring boot搭建rest微服务

虽然知道spring boot有半年多了,但由于没有时间(想学的东西太多了)且之前写的springMVC archetype也挺方便,就一直凑和过来了;最近要做个抓取某网站数据的实时接口,很简单的一个东西,但想到还要配置xml,部署时还要安装个tomcat、打war包上传、启动等这套繁琐的流程(公司不让用CI,只能手工部署),终于决定不再忍了。

Read More

web页面分析之腾讯公益

本文主要介绍腾讯公益项目列表的数据载入分析。

定位异步数据请求代码

通过抓包并查看响应,我们找到加载异步数据的http请求
数据异步http请求
使用开发者工具我们找到了发起这个ajax请求的代码与调用栈,即listObj.init->listLoad->listObj.load
异步请求发起代码位置

Read More

常见网络抓包方法概述

本文主要介绍几种常见网络抓取/分析工具tcpdump, wireshark, fiddler, burp suite的使用。

Read More

jquery tmpl模板渲染

在分析腾讯公益时发现的一个挺有意思的tmpl函数,它可能是腾讯定制的,用于将数据绑定到HTML。

腾讯的tmpl

如下是一个简单的示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<!DOCTYPE html>
<html>
<head>
<title>jquery template demo</title>
<script type="text/javascript" src="http://gongyi.qq.com/js/static/lib/jquery-1.8.3.min.js"></script>
</head>
<body>
<div id="tmpl-container" />

</body>
<script type="text/html" id="tmpl">
<ul>
<% for(var i =0; i<10; i++) { %>
<li> <b> <%=name%> </b></li>
<% } %>
</ul>
</script>

<script type="text/javascript">
$("#tmpl-container").tmpl('tmpl',{name: "Lucy"});
</script>
</html>

Read More

深入理解scala的类成员定义

分析scala类成员的定义与底层实现。

对于代码

1
2
3
4
5
6
7
8
9
abstract class Test{
val a: String = "a"
val i1 = { val base = 0; base + 1 }
var b: String = "b"
var i2 = { val base = 0; base +2 }
def c: String = "c"
def i3 = { val base = 0; base +3 }
def d: String
}

Read More

scala类的构造函数参数

本文主要讨论了类参数与类属性

class C0(par: String)

par是类参数,它与方法的参数类似,只在类内部可见, 编译输出为

1
2
3
4
5
6
7
public class C0
{

public C0(String par)
{
}
}

Read More

通过命令行控制android

通过命令行启动应用,发送点击、划屏以及控制传感器。
需要手机开启usb调试,并安装adb工具。通过adb [-d|-e|-s <serialNumber>] shell命令进入手机的shell

Read More

scala中的apply

本文主要讲解scala中特殊方法apply。

1
case class SomeBean(name: String, age: Int)

Read More

web页面中异步数据的加载分析

早期的页面数据是与html绑定在一起的,只需对源页面进行简单的解析就可以取得目标数据。但随着ajax的流行,SOA、静/动分离(即为了提高站点响应速度或效率,静态资源与动态资源相互分离)等思想的兴起,以及对数据保护意识的提高,数据普遍采用了异步方式进行加载。本文主要针对异步数据的加载进行分析。

Read More

scala中的while循环陷阱

while((line = readLine()) != “d”) println(“line=” + line)的死循环问题

问题描述

在java中我们通过使用类似如下代码从控制台中读取用户输入,但在scala中输入”d”后并不会退出循环,即while中的条件判断失效了

1
2
while((line = readLine()) != "d") 
println("line=" + line)

Read More

Fork me on GitHub