`
文章列表
谁在使用我的网站——用户行为分析 前面根据用户的特征对用户做了分类,设定了一些常用的用户指标和值得关注的用户指标,基于这些分类用户指标的分析可以发现用户运营和推广中的诸多问题,其中活跃用户和流失用户的定义中已经用到了与用户行为相关的指标,这里重点介绍常用的用户行为分析指标以及基于用户行为的分析。 如们以网站的用户为主体去理解点击流数据,其实它记录的就是用户在网站中的所有行为数据。培训专家余世维在讲座中常说:行为决定习惯,习惯决定性格,性格决定命运。古语也有类似的话:积行成习,积习成性,积性成命。虽然不能说从用户在网站的行为就能判断用户的性格甚至命运,但如果要从用户在网站的行为中判断用户对网 ...
谁在使用我的网站——用户分类 用户分类 在网站分析中,根据用户的基本信息和行为特征可以将用户分为许多类别,衍生出各种各样的用户指标,对于用户总体的统计可以让我们明确用户的整体变化情况,而对于用户各分类的统计分析,可以让我们看到用户每个细分群体的变化情况,进而掌握网站用户的全面情况。 某些用户的分类对于网站的用户现状和发展趋势具有特殊的意义,我们可以着重对这些用户分类进行更加具体的分析和研究,而首先要做的是对这些用户的分类规则和用户指标给出一个清晰的定义。 用户指标 随着网站分析的不断发展,对用户的分析也越来越广泛,根据用户的行为表现可以定义很多相关的指标,如访问用户、新/老用户、活 ...
Controller的激活与URL路由 ASP.NET路由系统是HTTP请求抵达服务端的第一道屏障,它根据注册的路由规则对拦截的请求进行匹配并解析包含目标Controller和Action名称的路由信息。而当前ControllerBuilder具有用于激活Controller对象的ControllerFactory,现在看看两者是如何结合起来的。 通过第2章“URL路由”的介绍我们知道,ASP.NET路由系统的核心是一个叫做UrlRoutingModule的HttpModule,路由的实现是它通过注册代表HttpApplication的PostResolveRequestCach ...
IIS 7.0与ASP.NET IIS 7.0在请求的监听和分发机制上又进行了革新性的改进,主要体现在对于Windows进程激活服务(Windows Process Activation Service,WAS)的引入,将原来(IIS 6.0)W3SVC承载的部分功能分流给了WAS。通过上面的介绍,我们 ...
MVC的变体 通过采用MVC模式,我们可以将可视化UI元素的呈现、UI处理逻辑和业务逻辑分别定义在View、Controller和Model中,但是对于三者之间的交互,MVC并没有进行严格的限制。最为典型的就是允许View和Model绕开Controller进行直接交互,View可以通过调用Model获取需要呈现给用户的数据,Model也可以直接通知View让其感知到状态的变化。当我们将MVC应用于具体的项目开发中,不论是基于GUI的桌面应用还是基于Web UI的Web应用,如果不对Model、View和Controller之间的交互进行更为严格的限制,我们编写的程序可能比自治视图更加难 ...
传统MVC模式 对于大部分面向最终用户的应用来说,它们都需要具有一个可视化的UI界面与用户进行交互,我们将这个UI称为视图(View)。在早期,我们倾向于将所有与UI相关的操作糅合在一起,这些操作包括UI界面的呈现、用 ...
开发动态编辑的表格 Ext JS在Ext.grid.plugin包下提供了允许编辑表格的插件功能,该包下提供了如下3个与表格编辑有关的类。 Ø Ext.grid.plugin.Editing:为表格增加编辑功能的基类。 Ø Ext.grid.plugin.RowEditing:为表格行增加编辑功能 ...
使用Ext.grid.column.Column定义列 正如从前面的示例中看到的,创建Ext.grid.Panel时,必须指定columns选项,该选项要么是Ext.grid.column.Column数组,要么是JavaScript对象,该对象中必须包含一个items属性,该属性值依然是Ext.grid.column.Column数组——总之,定义Ext.grid.Panel时,必须传入Ext.grid.column.Column数组来定义各数据列。 使用Ext.grid.column.Column定义列定义可以指定如下常用选项。 Ø text:指定该列的列名。 Ø sortab ...
使用Ext.grid.Panel生成表格 Ext.grid.Panel继承了Ext.panel.Panel,因此它的很多地方都类似于Ext.panel.Panel,但定义Ext.grid.Panel时必须指定如下两个选项。 Ø store:该选项指定的Store对象负责为该表格提供数据。 Ø columns:指定Ext.grid.column.Column数组或一个包含items属性(该属性值为Ext.grid.column.Column数组)的对象,该Ext.grid.column.Column数组指定Ext.grid.Panel生成的表格包含的所有列。 如下代码示范了如何使用 ...
使用Ext.grid.Panel显示远程数据 对于Ext.grid.Panel而言,它只是负责显示Store数组中心的数据,至于Store保存的数据到底是浏览器本地数据,还是远程服务器的数据,Ext.grid.Panel并不关心。因此,使用Ext.grid.Panel显示远程数据也非常简单,只要在配置Ext.data.Store时通过proxy选项指定加载远程服务器数据即可。 如下示例示范了使用Ext.data.Store来加载远程服务器数据,使用Ext.grid.Panel显示Store所加载的远程数据。 程序清单:codes\06\6.8\Ext.grid\Ext.grid.Pane ...
浏览器的同源策略 古代的楚河汉界明确规定了楚汉两军的活动界限,理应遵守,否则必天下大乱,而事实上天下曾大乱后又统一。这里我们不用管这些“分久必合,合久必分”的问题,关键是看到这里规定的“界限”。Web世界之所以能如此美好地呈现在我们面前,多亏了浏览器的功劳,不过浏览器不是一个花瓶——只负责呈现,它还制定了一些安全策略,这些安全策略有效地保障了用户计算机的本地安全与Web安全。  注: 计算机的本地与Web是不同的层面,Web世界(通常称为Internet域)运行在浏览器上,而被限制了直接进行本地数据(通常称为本地域)的读写。 同源策略是众多安全策略的一个,是Web层面上的策略 ...

Cookie安全

Cookie安全 Cookie是一个神奇的机制,同域内浏览器中发出的任何一个请求都会带上Cookie,无论请求什么资源,请求时,Cookie出现在请求头的Cookie字段中。服务端响应头的Set-Cookie字段可以添加、修改和删除Cookie,大多数情况下,客户端通过JavaScript也可以添加、修改和删除Cookie。 由于这样的机制,Cookie经常被用来存储用户的会话信息,比如,用户登录认证后的Session,之后同域内发出的请求都会带上认证后的会话信息,非常方便。所以,攻击者就特别喜欢盗取Cookie,这相当于盗取了在目标网站上的用户权限。 Cookie的重要字段如下: ...
6.6.2 常见的并发网络服务程序设计方案 W. Richard Stevens 的《UNIX 网络编程(第2 版)》第27 章“Client-ServerDesign Alternatives”介绍了十来种当时(20 世纪90 年代末)流行的编写并发网络程序的方案。[UNP] 第3 版第30 章,内容未变,还 ...
这本书主要分享了作者在实现公司内部的分布式服务系统中积累的多线程和网络编程方面的经验,并介绍了C++ 在编写这种分布式系统的服务端程序时的功能取舍与注意事项,书中的很多决策(design decision)是在这一应用场景下 ...
Android中native进程内存泄露的调试技巧红狼博客 代码基于Android2.3.x版本 Android为Java程序提供了方便的内存泄露信息和工具(如MAT),便于查找。但是,对于纯粹C/C++ 编写的natvie进程,却不那么容易查找内存泄露。传统的C/C++程序可以使用valgrind工具,也可以使用某些代码检查工具。幸运的是,Google的bionic库为我们查找内存泄露提供了一个非常棒的API--get_malloc_leak_info。利用它,我们很容易通过得到backtrace的方式找到涉嫌内存泄露的地方。 代码原理分析 我们可以使用adb shell set ...
Global site tag (gtag.js) - Google Analytics