最近忙于重构项目,今天周末把在重构中的一些思想记记:一、javascript的组件开发:基类的封装由于这次重构项目需要对各种组件进行封装,并且这些组件的实现方式都差不多,所以想到对组件封装一个base基类(javascript没有类的概念,暂且这样叫把),由于javascript没有原生的类和继承的...
分类:
编程语言 时间:
2015-03-30 06:45:12
阅读次数:
181
在ASP中,就可以通过调用CDONTS组件发送简单邮件,在ASP.Net中,自然也可以。不同的是,.Net Framework中,将这一组件封装到了System.Web.Mail命名空间中。一个典型的邮件发送程序如下:通常情况下,系统调用IIS自带的默认SMTP虚拟服务器就可以实现邮件的发送。但是也...
分类:
Web程序 时间:
2014-12-19 18:47:46
阅读次数:
156
我们要封装Socket,首先我们需要了解Socket需要哪些要素: 1) 首先,一个套接字创建后,需要绑定一块网卡的IP,以及连接的对口号,所以我们先封装InetAddr。在class中,仅有的一个私有成员就是struct sockaddr_in类型的一个对象,我们需要将该对象的几种赋值与创建封装....
分类:
系统相关 时间:
2014-10-23 22:32:27
阅读次数:
312
读本文之前,请务必阅读: 使用C++11的function/bind组件封装Thread以及回调函数的使用 Linux组件封装(五)一个生产者消费者问题示例 线程池本质上是一个生产者消费者模型,所以请熟悉这篇文章:Linux组件封装(五)一个生产者消费者问题示例。 在ThreadPool中,物品为计...
分类:
编程语言 时间:
2014-10-20 22:49:46
阅读次数:
232
之前在http://www.cnblogs.com/inevermore/p/4008572.html中采用面向对象的方式,封装了Posix的线程,那里采用的是虚函数+继承的方式,用户通过重写Thread基类的run方法,传入自己的用户逻辑。 现在我们采用C++11的function,将函数作为Th...
分类:
编程语言 时间:
2014-10-20 21:18:46
阅读次数:
196
第06次:实验与作业 题目: 升级《陋习手记》添加主从界面 目的: 理解ViewPager 应用特点,学会使用ViewPager实现不同列表项的切换; 要求 课前完成作业、课上完成遗留问题 作业指导: 为了在Android上创建动态的、多窗口的用户交互体验,你需要将UI组件封装成模块化进行使用,在a...
分类:
其他好文 时间:
2014-10-20 09:52:47
阅读次数:
160
MediaPlayer除了可以对音频播放之外,也可以对视频进行播放,但是如果要播放视频只依靠MediaPlayer还是不够的,还需要编写一个可以用于视频显示的空间,而这块显示空间要求可以快速的进行GUI的更新,而且可以在渲染代码时进行无阻塞的的对GUI进行渲染,而如果要完成此种功能,则必须依靠android.view.SurfaceView组件完成,SurfaceView组件封装了一个Surfac...
分类:
移动开发 时间:
2014-10-16 20:01:13
阅读次数:
280
线程池的封装,基础思想与生产者消费者的封装一样,只不过我们是将线程池封装为自动获取任务、执行任务,让用户调用相应的接口来添加任务。在线程池的封装中,我们同样需要用到的是MutexLock、Condition、Thread这些基本的封装。基础封装如下:MutexLock: 1 #ifndef MUTE...
分类:
编程语言 时间:
2014-10-14 14:17:39
阅读次数:
328
在Linux中,有一种简单的定时器——timerfd,它通过查看fd是否可读来判断定时器时候到时。timerfd中常用的函数有timerfd_create、timerfd_settime、timerfd_gettime,这些函数都相对简单,我们可以到man手册来查看用法。值得注意的是:create中...
分类:
系统相关 时间:
2014-10-14 00:45:28
阅读次数:
375
生产者,消费者问题是有关互斥锁(MutexLock)、条件变量(Condition)、线程(Thread)的经典案例;描述的问题可以叙述为 生产者往buffer中投放产品,而消费者则从buffer中消费产品。生产着消费者问题的难点在于:为了缓冲区数据的安全性,一次只允许一个线程进入缓冲区投放或者消费...
分类:
系统相关 时间:
2014-10-08 02:39:14
阅读次数:
304