摘要: 使用Indy来发邮件坑不少啊,只不过有比没有好吧,使用delphi6这种老工具没办法,只能使用了新一点的Indy版本9,公司限制。。。 1、邮件包含TIdText和TIdAttachment时会出现TIdText无法发送的问题 这个问题是因为Indy代码的bug导致的,也很奇怪这种Bug是因为没有经 阅读全文
posted @ 2016-02-02 11:12 5207 阅读(912) 评论(1) 推荐(1) 编辑
摘要: 在多线程应用中锁是一个很简单又很复杂的技术,之所以要用到锁是因为在多进程/线程环境下,一段代码可能会被同时访问到,如果这段代码涉及到了共享资源(数据)就需要保证数据的正确性。也就是所谓的线程安全。之前写过一篇着于Java线程安全的博客:链接我是在写一个服务端程序时应用到读写锁,在一个内存缓存。先来看... 阅读全文
posted @ 2016-01-15 17:29 5207 阅读(2338) 评论(0) 推荐(0) 编辑
摘要: 工作中有个需求需要发送邮件,因为使用的delphi6,所以自然就选择了indy组件,想想这事挺简单的。实现的过程倒是简单,看着Indy的demo很快就完了,毕竟也不是很复杂的功能。功能要求:1、压缩日志文件并作为邮件的附件2、邮件正文带上一些客户端信息组件介绍TIdSmtp:与服务器的连接及数据发送... 阅读全文
posted @ 2016-01-12 20:30 5207 阅读(1335) 评论(0) 推荐(0) 编辑
摘要: 最近做个发邮件的功能,需要将日志文件通过邮件发送回来用于分析,但是日志文件可能会超级大,测算下来一天可能会有800M的大小。所以压缩是不可避免了,delphi中的默认压缩算法整了半天不太好使,就看了看7z,在windows下有dll那么就用它吧。下载7z.dll,还有一个delphi的开发sdk文件... 阅读全文
posted @ 2016-01-06 15:59 5207 阅读(2946) 评论(5) 推荐(3) 编辑
摘要: 这些年在智能手机的续航问题应该是饱受争议的,或者说不是争议,是诟病。一台号称智能手机能正常使用上2天已经算的上是牛逼,完完全全的大卖点了吧。就算是苹果也没有在这个方面有任何的重大突破,只是在平衡了性能和续航的方向上做着努力。而android的那就像一个战国时期,乱的不行。在解决续航的问题上,目前主流... 阅读全文
posted @ 2015-12-27 03:44 5207 阅读(439) 评论(0) 推荐(0) 编辑
摘要: 最近在做一个TStringGrid的自绘处理,在画文字处理上遇到了高度的计算问题。后来经过一段时间还是找到了一些方法:1、使用TLabel 这个方法是有点绕路的,方法倒是简单,就是使用AutoSize属于来完成。。2、使用DrawText DrawText的函数定义:函数原型int DrawTe... 阅读全文
posted @ 2015-12-23 09:49 5207 阅读(569) 评论(0) 推荐(0) 编辑
摘要: 1、说明最近加入了一个项目组,使用的开发工具是delphi6,想想又要开始搞这个工具有点小忧伤,但没办法谁让咱就是个打杂的尼。。。的需求是显示一个类似于Word/excel的那种表格,可以合并列等。。本来想用DBGridEh去解决,只是试了半天发现不能合并列,我了个去。。然后想到了网页来处理,但是尝... 阅读全文
posted @ 2015-12-11 17:25 5207 阅读(4415) 评论(0) 推荐(0) 编辑
摘要: 需要解决的问题 在做WEB系统开发时,为了提高性能会利用浏览器的缓存功能,其实即使不显式的申明缓存,现代的浏览器都会对静态文件(js、css、图片之类)缓存。但也正因为这个问题导致一个问题,就是资源的缓存逻辑有时出现问题后服务器的最新版本文件无法更新客户端的缓存。 这个问题会给用户产生许多的困扰... 阅读全文
posted @ 2015-10-27 10:23 5207 阅读(2219) 评论(0) 推荐(0) 编辑
摘要: web开发就不得不面对浏览器兼容性问题,特别是IE的兼容问题。在前端代码中经常要处理一些兼容格式,为了解决这个问题网上找了找识别浏览器版本的方法。常规js方法找到一个方法,还不错,可以识别出各种浏览器的版本: 1 /** 2 * 获取浏览器版本 3 * @returns {Array} 4 *... 阅读全文
posted @ 2015-09-29 16:55 5207 阅读(589) 评论(0) 推荐(0) 编辑
摘要: 在看CometD的示例代码时发现了许多有意思的代码,但说实话看别人的代码确实是件很累的事情,所以就看到这个知识点做一下记录吧。 先看一段代码: 代码1 这段代码中有一个new的操作,而且是在方法参数中进行的,这给了我一个好奇的点。此时首先想到的是C#中的匿名类,于是网上找了找资料,确实是类似的语法特 阅读全文
posted @ 2015-08-27 16:50 5207 阅读(411) 评论(0) 推荐(0) 编辑
摘要: 云笔记:http://note.youdao.com/share/?id=7c4a2dcf118f0ad7bb52a36aaee46a7a&type=note一、初识FIS在做项目中遇到了静态资源浏览器缓存更新的问题,于是在网络上寻找解决方案。之前虽然没有解决过这个问题,但方法无非就是为其设定新UR... 阅读全文
posted @ 2015-07-23 16:20 5207 阅读(1072) 评论(0) 推荐(0) 编辑
摘要: 新的公司接手的第一份工作就是一个多线程计算的小系统。也幸亏最近对线程有了一些学习,这次一接手就起到了作用。但是在实际的开发过程中还是发现了许多的问题,比如挂起与终止的概念都没有弄明白,导致浪费许多的时间。TThread-简单的开始在Delphi的VCL中封装了一个TThread类用于多线程的开发,这... 阅读全文
posted @ 2015-04-14 21:14 5207 阅读(2961) 评论(0) 推荐(0) 编辑
摘要: 找工作的过程中也看了不少资料和文章,也学着别人弄弄博客,但发现自己临时的行为有点那啥吧。。曾经我也写过不少东西,有过自己的一个技术论坛,为当时的魅族M8手机写过一个系列的技术帖子,但因为论坛被我关了,文章也不好找了,但网络上还是各种转载的。想到这确实有些小伤感,当初为了学习手机上的开发是多么专注,看... 阅读全文
posted @ 2015-03-22 21:40 5207 阅读(1000) 评论(0) 推荐(0) 编辑
摘要: 一、初识Concurrent 第一次看见concurrent的使用是在同事写的一个抽取系统代码里,当时这部分代码没有完成,有许多的问题,另一个同事接手了这部分代码的功能开发,由于他没有多线程开发的经验,所以我就一起帮着分析。最开始看到这个时很烦燥啊,因为自己接触java时间很短,连synchroni 阅读全文
posted @ 2015-03-12 17:55 5207 阅读(704) 评论(0) 推荐(0) 编辑
摘要: 最近一直在温习旧的知识,刚好学习了一下Java的线程安全方面的知识,今天想起之前一直做的Delphi开发,所以还是有必要温习一下,看看这些不同的编程语言有什么不同之处。Delphi的线程同步方法:1、临界区申明一个临界资源FLock : TRTLCriticalSection;先初化一个临界资源对... 阅读全文
posted @ 2015-03-08 21:49 5207 阅读(971) 评论(0) 推荐(0) 编辑
摘要: 首先得明白什么是线程安全: 线程安全是编程中的术语,指某个函数 (计算机科学)、函数库在多线程环境中被调用时,能够正确地处理各个线程的局部变量,使程序功能正确完成。 这是维基百科里的资料,看完后还不是特别的明白。我自己的理解就是在多线程环境下,某块代码中访问的资源不会发生冲突。 写这篇笔记的起因是上 阅读全文
posted @ 2015-03-03 17:26 5207 阅读(756) 评论(5) 推荐(2) 编辑
摘要: 学了这么些天的基础知识发现自己还是个门外汗,难怪自己一直混的不怎么样。但这样的恶补不知道有没有用,是不是过段时间这些知识又忘了呢?这些知识平时的工作好像都是随拿随用的,也并不是平时一点没有关注过这些基础知识,只是用完了也就忘了。所以写笔记也是个好习惯,光看一个概念不容易记住,整理写成文那就好许多,以 阅读全文
posted @ 2015-02-08 23:52 5207 阅读(1923) 评论(0) 推荐(0) 编辑
摘要: 一、JVM是什么 Java虚拟机(英语:Java Virtual Machine,缩写为JVM),又名爪哇虚拟器,一种能够运行Java bytecode的虚拟机,以堆栈结构机器来进行实做。最早由太阳微系统所研发并实现第一个实现版本,是Java平台的一部份,能够运行以Java语言写作的软件程序。 Ja 阅读全文
posted @ 2015-02-05 20:35 5207 阅读(1214) 评论(0) 推荐(1) 编辑
摘要: 在网上看到了一篇关于面试的博客文,突然发现自己对于这个博主而言简直差的是十万八千里,他提到的许多技术我尽然一个也答不上来。于是就开始反思,还是要抱一抱佛脚。左看右看发现了内存这个面试的万恶之源。 说实话对于内存这种东西即使是一点也不了解的人也能写出许多的程序,但有一个现实问题就是面试时总是会用... 阅读全文
posted @ 2015-02-02 14:22 5207 阅读(10549) 评论(7) 推荐(7) 编辑
摘要: Comet技术原理 来自维基百科:Comet是一种用于web的技术,能使服务器能实时地将更新的信息传送到客户端,而无须客户端发出请求,目前有两种实现方式,长轮询和iframe流。 简单的说是一种基于现有Http协议基础上的长轮询技术,之所有会产生这种技术的主要原因是Http协议是无状态的所以客户端和 阅读全文
posted @ 2015-01-27 15:06 5207 阅读(5547) 评论(34) 推荐(25) 编辑