`
devroller2
  • 浏览: 33681 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论
文章列表
将博客搬至CSDN
为什么要写这个文章? 1、前两天想到阿里来往注册一个公众号,但发现来往公众平台做的不是一般的烂!注册需要填写excel并发邮件申请,而且申请条件不是一般的苛刻,我的神! 2、看不惯腾讯的霸王条款、服务质量差(动不动屏蔽第三方自动回复)。   3、本来找个朋友基于微信平台创业,发现自己不是创业的料。   微信公众平台可以做什么?(上PP,求懂!)       什么是sophia?  
什么是sophia? Sophia是一个为方便开发基于微信公众平台应用程序的框架,类似于开发web应用的struts。 Sophia将微信用户回复的内容解析成各种指令以便app能识别和响应用户的请求,实现公众帐号的智能回复。   假设 我们假设你会开通微信公众平台的订阅号,并且知道如何设置高级模式-开发者模式。   用Sophia开发Hello world   如何快速理解和使用Sophia
背景: 用了某家的云,只能用fetchURL,也就是说主机不能访问外部服务。所以只能上传WAR包来部署app了。svn是不能用了的。 所以我们尽可能减小WAR包的体积,也就是将web-inf/lib目录中的第三方jar放到别的目录下。 方法: 0、创建一个目录,将你的app需要的第三方jar放到其他,比如extlib目录 1、修改tomcat配置文件${catalina.home}/conf/catalina.properties中的 common.loader值,将你的extlib目录按照原有的方式加到末尾。 2、现在你可以删除你的web-inf/lib中的第三方jar了。 当然,你自己 ...
问题1:在centos中用run.sh启动james没有问题,但通过运行james start命令启动失败。 诊断:打开bin目录下的wrapper.log看看是什么原因。根据日志发现用start命令启动james无法加载mysql驱动。 解决方法: 1、在conf目录中打开wrapper.conf,添加一条 wrapper.java.classpath.117=%REPO_DIR%/james-server-data-hbase-3.0-beta4.jar wrapper.java.classpath.118=%REPO_DIR%/james-server-data-jcr-3.0-b ...
背景: 你有很多想法,每个想法都是一个独立域名的网站,而你的资源(机器性能:CPU、内存、磁盘)却有限!怎么办? 原理: 通过减少部署App实例来节约资源。 前提条件: 1、你要有一个固定的IP; 2、你有多个域名指向你的固定IP,比如a.com、b.com、c.com 要解决的问题: 1、你的App必须支持类似博客或者cms的功能。 显然roller是没问题的,类似的App比如WordPress 2、URL转换 URL映射是最关键的部分,需要将roller的博客url映射为域名的url,比如:http://ip/a/映射为http://www.a.com. 这里,使用apache  + ...
Velocity是java世界中出现比较早,也比较成熟的、性能比较好的、应用也比较广泛的模板框架。   所谓模板,就是定义一套不变的模型,并用其生成一些动态的东西。最常见的是应用场景是动态网页,我们知道一些网页大部分内 ...
问题:Roller提供一个共享主题功能,如果很多人使用同一个共享主题,那么这个主题页面硬编码的东西(比如图片、公告等等)是不是都一样了?当然,如果是高级用户的话解决这个问题不是难题。   解决方法:将硬编码的内容初始化和参数化。比如图片的url等。在Ro2er中,已经开发了一个用户自定义参数功能,用户在此功能中设置的参数可以在页面通过$text.value("key")得到value。   另外,要初始化。当用户切换主题时,自动把主题相关的自定义参数化保存到参数表中,那么页面才能取得参数化。初始化在theme.xml中添加一些内容: <userpara ...
如何界定恶意评论?Roller使用三个变量来判定,分别是: 1、用户的ip; 2、单位时间; 3、单位时间内评论的最大次数;    如果某个ip在单位时间内评论的次数大于指定的值,则将此ip加入黑名单。   实现过程如下: 在Roller中,关于评论处理是通过一个CommentServlet来处理的,CommentServlet在握住一个GenericThrottle对象,CommentServlet初始化时,读入上面所说的两个变量:单位时间和最大评论次数。   GenericThrottle类的作用是创建一个缓存,将每次提交的请求根据ip地址记录一次,并累计和缓存起来。 ...
最近研究Roller的任务调度设计,自己也照猫和老虎写了个任务实现类,总发现我的任务总有问题: 如果设置为30分钟跑一次,总是不按照规则来。   跟踪了代码发现Roller登记租期的时候没有提交事务,导致释放租期的时候异常 ...
  背景   以前看过Roller的任务调度,最近需要用到。虽然任务调度这方面的第三方支持包不少,比如quartz,但也不想那么麻烦加入这么重量级的框架。也不知道为什么Roller的设计不用quartz之类的调度框架,也许Roller项目开始的quartz还没有成熟吧。这些就无法去管了,问题是Roller的任务调度如果不是经常使用,很快就忘记了,所以决定以本文记录一下,以后参考。   类图  
停了一段时间没有弄Roller了,好在之前写了一些东西,重新拾起来还是比较方便!最让人困惑的问题是roller的页面展现了。   总是按照原来的思维来看roller对页面的处理,所以总是很困惑。   总的来看,roller对博客页面的请求处理是这样的: 1、WeblogRequestMapper负责处理uri映射 、分析、转发; 2、PageServlet负责组织数据、查找volocity模板、缓存页面 3、通过vm模板展现数据。   每个页面都可以通过weblog对象来调用其他服务获取需要的数据,关键是怎么定位模板和缓存。    
对java mail不是很熟悉,好久没有摆弄Roller了,之前也是能调出让Roller发邮件的,但不知道怎么回事忘记了。今天特别整了一下,也不知道是不是Roller的bug,反正经过我的修改能发邮件了,哈哈。   在MailUtil类的中: 1、 public static void sendMessage             (             String from,             String[] to,             String[] cc,             String[] bcc,             String s ...
roller使用acegi做为其认证模块,acegi是比较成功的一个安全与认证模块,相信很多项目中都有使用到。但是有些项目有自己的认证模块又想集成roller做二次开发,这时可能acegi是必须砍掉的。   下面说说如何简单去掉acegi,呵呵,不是很彻底!   通过搜索roller源代码,发现好几个类引用到acegi的东西,导致roller跟acegi耦合太强!roller启动时RollerContext必须被加载,这个类继承spring的ContextLoaderListener,所以roller启动的时候会去加载spring的配置文件。不想说那么多了,先说怎么做吧。   1、在 ...
由于很忙,主要是在roller上做二次开发,一直没有时间总结一下心得。有很多内容想记录下来,但感觉太多,太乱,没有很好的组织,一直就放着。今天简单说一下吧,希望对别人有点帮助。   如果你用roller做个博客网站,那么原来的主题模板肯定是不够用的,而且给你的业务没有关系,用起来那是相当的别扭。那么,如何为roller增加新的主题呢?下面就step-by-step吧。   这里说的是增加roller的共享主题,其他的就不说了。  
Global site tag (gtag.js) - Google Analytics