随笔分类 -  技术笔记

摘要:先从web session的共享说起 许多系统需要提供7*24小时服务,这类系统肯定需要考虑灾备问题,单台服务器如果宕机可能无法立马恢复使用,这必定影响到服务。这个问题对于系统规模来说,从小到大可能面临的难度会相差很大。但对于原理来说其实就是需要准备备份系统随时可以替代正在服务的系统,也就是无论何时 阅读全文
posted @ 2016-08-19 17:32 5207 阅读(1054) 评论(0) 推荐(2) 编辑
摘要:说明 本文源码基于Openfire4.0.2。 Openfire的启动 Openfire的启动过程非常的简单,通过一个入口初始化lib目录下的openfire.jar包,并启动一个XMPPServer实例。 下面就是ServerStarter.start方法的代码片断: Class containe 阅读全文
posted @ 2016-08-08 15:46 5207 阅读(3121) 评论(0) 推荐(2) 编辑
摘要:场景 开发中遇到一个场景,业务操作会不定时的产生工作任务,这些工作任务需要放入到一个队列中,而另外会有一个线程一直检测这个队列,队列中有任务就从队列中取出并进行运算。 问题 业务场景倒是简单,只不过这里会有一个问题,就是如果队列中没有数据那么线程就会一直扫描,这样就会浪费资源。 解决方法 在wind 阅读全文
posted @ 2016-07-04 16:25 5207 阅读(979) 评论(0) 推荐(0) 编辑
摘要:从3月开始研究Openfire,其实就是要做一套IM系统,也正是这个原因才了解到Openfire。之前还真没想过有这么多的开源产品可以做IM,而且也没想到XMPP这个协议竟然如何强大。看来还是标准为先,好的标准可以推动产业发展啊。 Openfire的搭建与简单的demo之前写过篇《技术笔记:XMPP 阅读全文
posted @ 2016-06-02 13:29 5207 阅读(1876) 评论(0) 推荐(0) 编辑
摘要:在即时通信这个领域目前只找到一个XMPP协议,在其协议基础上还是有许多成熟的产品,而且是开源的。所以还是想在这个领域多多了解一下。 XMPP协议:具体的概念我就不写了,毕竟这东西网上到处是。简单的说就是基于XML的一种协议。其解决了什么问题呢?就是给即时通讯制定了标准,大家只要遵守标准就可以完成即时 阅读全文
posted @ 2016-04-11 11:01 5207 阅读(8981) 评论(3) 推荐(5) 编辑
摘要:今天研究钉钉的开放平台,结果一个demo整了半天,这帮助系统写的也很难懂。遇到两个问题: 1、首先是执行demo时报unable to find valid certification path to requested target,错误信息如下: request url=https://oapi 阅读全文
posted @ 2016-03-08 17:35 5207 阅读(8587) 评论(0) 推荐(1) 编辑
摘要:1、腾讯QQ邮箱的授权码问题 因为腾讯邮箱折腾了个底朝天,其要搞什么授权码登录第三方客户端,否则会报这个错误: 'Error: 请使用授权码登录。详情请看: http://service.mail.qq.com/cgi-bin/help?subtype=1&&id=28&&no=1001256' 按 阅读全文
posted @ 2016-02-22 10:23 5207 阅读(889) 评论(2) 推荐(0) 编辑
摘要:使用Indy来发邮件坑不少啊,只不过有比没有好吧,使用delphi6这种老工具没办法,只能使用了新一点的Indy版本9,公司限制。。。 1、邮件包含TIdText和TIdAttachment时会出现TIdText无法发送的问题 这个问题是因为Indy代码的bug导致的,也很奇怪这种Bug是因为没有经 阅读全文
posted @ 2016-02-02 11:12 5207 阅读(939) 评论(1) 推荐(1) 编辑
摘要:在多线程应用中锁是一个很简单又很复杂的技术,之所以要用到锁是因为在多进程/线程环境下,一段代码可能会被同时访问到,如果这段代码涉及到了共享资源(数据)就需要保证数据的正确性。也就是所谓的线程安全。之前写过一篇着于Java线程安全的博客:链接我是在写一个服务端程序时应用到读写锁,在一个内存缓存。先来看... 阅读全文
posted @ 2016-01-15 17:29 5207 阅读(2459) 评论(0) 推荐(0) 编辑
摘要:工作中有个需求需要发送邮件,因为使用的delphi6,所以自然就选择了indy组件,想想这事挺简单的。实现的过程倒是简单,看着Indy的demo很快就完了,毕竟也不是很复杂的功能。功能要求:1、压缩日志文件并作为邮件的附件2、邮件正文带上一些客户端信息组件介绍TIdSmtp:与服务器的连接及数据发送... 阅读全文
posted @ 2016-01-12 20:30 5207 阅读(1431) 评论(0) 推荐(0) 编辑
摘要:最近做个发邮件的功能,需要将日志文件通过邮件发送回来用于分析,但是日志文件可能会超级大,测算下来一天可能会有800M的大小。所以压缩是不可避免了,delphi中的默认压缩算法整了半天不太好使,就看了看7z,在windows下有dll那么就用它吧。下载7z.dll,还有一个delphi的开发sdk文件... 阅读全文
posted @ 2016-01-06 15:59 5207 阅读(3048) 评论(5) 推荐(3) 编辑
摘要:需要解决的问题 在做WEB系统开发时,为了提高性能会利用浏览器的缓存功能,其实即使不显式的申明缓存,现代的浏览器都会对静态文件(js、css、图片之类)缓存。但也正因为这个问题导致一个问题,就是资源的缓存逻辑有时出现问题后服务器的最新版本文件无法更新客户端的缓存。 这个问题会给用户产生许多的困扰... 阅读全文
posted @ 2015-10-27 10:23 5207 阅读(2240) 评论(0) 推荐(0) 编辑
摘要:Comet技术原理 来自维基百科:Comet是一种用于web的技术,能使服务器能实时地将更新的信息传送到客户端,而无须客户端发出请求,目前有两种实现方式,长轮询和iframe流。 简单的说是一种基于现有Http协议基础上的长轮询技术,之所有会产生这种技术的主要原因是Http协议是无状态的所以客户端和 阅读全文
posted @ 2015-01-27 15:06 5207 阅读(5573) 评论(34) 推荐(25) 编辑

点击右上角即可分享
微信分享提示