自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(92)
  • 收藏
  • 关注

原创 《自然语言处理技术综述(第三版)》(2)----分词和归一化

写在前面:学习和应用NLP有几年了,在工程应用上也小有成果,除了开发了智能客服、智能营销、智能回访、保险智能机器人系统外,正在做一个开放平台,希望不久能为更多企业、个人所使用。在这个过程中积累了很多算法改进、应用架构、工程实施以及产品优化方面的经验,希望能尽可能的分享给大家。这个专栏里,我将翻译《Speech and Language Processing(第三版)》(目前还是草案)。希望能给...

2018-08-17 10:12:31 3701

原创 《自然语言处理技术综述(第三版)》(1)----正则表达式

写在前面:学习和应用NLP有几年了,在工程应用上也小有成果,除了开发了智能客服、智能营销、智能回访、保险智能机器人系统外,正在做一个开放平台,希望不久能为更多企业、个人所使用。在这个过程中积累了很多算法改进、应用架构、工程实施以及产品优化方面的经验,希望能尽可能的分享给大家。这个专栏里,我将翻译《Speech and Language Processing(第三版)》(目前还是草案)。希望能给...

2018-08-15 11:08:09 1716 1

转载 Windows API-GDI入门基础知识详解(3)

1回顶部格式化输出  如果要使用TextOut函数在Windows应用程序中输出多行文字,我们就必须先取得字符的宽度和高度,通常我们在窗口消息处理函数中处理WM_CREATE消息的时候调用GetTextMetrics函数来获取他们,之所以放到WM_CREATE的部分调用,是因为当系统启动后,系统字体的大小就不会发生改变,我们只需要调用一次GetTextMetrics就可以了。具体方法如

2012-05-14 18:20:19 447 2

转载 Windows API-GDI入门基础知识详解(2)

1回顶部   现在我们对GDI的基础概念有了一定的了解,下面我们将对GDI一些常用的函数进行学习。TextOut函数  TextOut函数的作用是把指定的字符串输出在我们指定的屏幕位置上。函数原型:BOOL TextOut(  HDC hdc,          //设备描述表句柄  int nXStart,         //输出的x轴水平位置  i

2012-05-14 18:19:21 299

转载 Windows API-GDI入门基础知识详解(1)

1什么是GDI?  GDI是Graphics Device Interface的缩写,含义是图形设备接口,它的主要任务是负责系统与绘图程序之间的信息交换,处理所有Windows程序的图形输出。  在Windows操作系统下,绝大多数具备图形界面的应用程序都离不开GDI,我们利用GDI所提供的众多函数就可以方便的在屏幕、打印机及其它输出设备上输出图形,文本等操作。GDI的出现使程序员无需

2012-05-14 18:18:13 385

转载 Android屏幕适配

图像显示所需的概念:像素:一幅图片的显示就是由许多显示着不同颜色的小方格组成的,这样的小方格就被称为像素,是构成图片的最小单位.但是这个像素的具体大小是多少呢?这需要取决于显示这张图片的具体的物理设备显示一个图片像素点的荧光点的大小.图片文件只是记录着它自身有多少个像素点,每个像素点显示什么颜色,至于它自身物理尺寸有多大,它自身也无法得知,例如一张480*800像素的图片在电脑显示器上

2012-03-28 16:11:37 589

转载 Android下Affinities和Task

最近几天在看官方文档时,一直卡在Affinities和Task这一环节,主要原因是在阅读英文的时候,不像其余的章节那样顺畅,以至于无法正确地理解Affinities,于是google到一文章,通读了一遍才终于明白,不过具体怎么应用,我还不清楚,等以后在写程序的时候遇到这个再进一步深入吧。源文链接:http://appmem.com/archives/405本文参考了官方Dev Gu

2012-03-21 11:38:20 316

转载 android ActivityManagerService 源码分析----Activity管理(一)

http://www.apkbus.com/android-20374-1-1.html

2012-03-21 11:34:11 491

转载 SIP(七)

1.1.1.    Dialog是针对两个UA定义的,当UA发送初始INVETE请求后,只有接收到非失败响应才有可能建立DIALOG.UA主要3个参数来识别呼叫是否属于同一个DIALOG:call-id、FROM域中的TAG参数、TO域中的TAG参数。对一个UA而言,发送的初始INVETE请求中带有FROM域及其TAG参数和CALL-ID参数,而TO域中的TAG参数则由被叫侧添加。

2012-02-21 17:38:54 292

转载 SIP(六)

Message Details: F1 INVITE Alice -> Bob       INVITE sips:[email protected] SIP/2.0      Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bf9      Max-Forwards: 70

2012-02-21 17:38:20 694

转载 SIP(五)

1.1.1.    代理服务器呼叫例1 1. Proxy server accepts the INVITE request2. It then contacts the location service with all or parts of the address3. And obtains a more precise location4. Proxy se

2012-02-21 17:37:02 385

转载 SIP(四)

1.1.1.    Route/Record-Route?         Record-Route can be used:–        ensures Firewall proxy stays in path?         A Firewall proxy adds Record-Route header–        Clients and Servers copy

2012-02-21 17:36:10 445

转载 SIP(三)

1.1.1.    消息头  Header fieldwhereproxyACKBYECANINVOPTREGAcceptR -o-

2012-02-21 17:35:25 281

转载 SIP(二)

1.    SIP1.1.      概况1.1.1.   SIP系统的基本组成(1)用户代理 User Agent  在SIP中,用户代理(UA)是端点实体。用户代理通过交换请求和响应初始和终止会话。UA作为一应用程序,它包含用户代理客户机和用户代理服务器,如下:   · 用户代理客户机(UAC):客户机应用程序,它初始SIP请求。  · 用户代理服务器(

2012-02-21 17:34:24 333

转载 SIP学习(一)

1.    概况1.1.      SIP协议及其发展sip(session initiation protocal)称为会话发起协议,是一个应用层的信令控制协议。 用于创建、修改和释放一个或多个参与者的会话。这些会话可以是Internet多媒体会议、IP电话或多媒体分发。会话的参与者可以通过组播(multicast)、网状单播(unicast)或两者的混合体进行通信。sip协议由ie

2012-02-21 17:33:24 704

转载 SIP通过NAT的实例解析

下面对SIP协议产生NAT穿透问题,作一些解释;及提出解决的办法。   1、大致有4种类型的NAT。  a) Full Cone 完全圆锥体  b) restricted cone 受限制的圆锥体  c) port restricted 端口受限制的圆锥体  d) symmetric 对称的  其中a,b,c 也称作非对称的NAT。  2、SIP终端在NAT后面,其

2012-02-21 17:31:00 223

转载 SDP: 会话描述协议(Session Description Protocol)

会话描述协议(SDP)为会话通知、会话邀请和其它形式的多媒体会话初始化等目的提供了多媒体会话描述。会话目录用于协助多媒体会议的通告,并为会话参与者传送相关设置信息。SDP 即用于将这种信息传输到接收端。SDP 完全是一种会话描述格式 ― 它不属于传输协议 ― 它只使用不同的适当的传输协议,包括会话通知协议(SAP)、会话初始协议(SIP)、实时流协议(RTSP)、MIME 扩展协议的电子邮件以

2012-02-21 17:24:19 178

转载 sip中的subscribe和notify扩展应用技术(转载)

摘要:会话启动协议研究工作组提出3种协议功能扩展方式:方法扩展、头部扩展和消息体扩展。文章深入探讨了包含这3种扩展方法的事件通告机制,给出了基于这一机制的自动回叫业务实例,并讨论了该机制的安全性。关键词:会话启动协议;事件通告机制;IP通信网协议;增值业务Abstract:IETF SIPPING (Session Initiation Protocol Investigation) wo

2012-02-21 17:22:03 241

转载 sip中update和re-invite方法的区别

在SIP中,re-invite和update都是用来修改变session参数的。不同的是,update对dialog的状态没有影响,而re-invite会改变对话的状态。所以update可以在第一个invite被应答之前发送(即收到invite的200ok之前)。也就是说,update可以被用来控制早期媒体。而re-invite只能在第一个invite杯应答之后发送(即在通话已经建立之后)。

2012-02-21 17:21:00 317

转载 Digest authentication

“摘要”式认证( Digest authentication)是一个简单的认证机制,最初是为HTTP协议开发的,因而也常叫做HTTP摘要,在RFC2671中描述。其身份验证机制 很简单,它采用杂凑式(hash)加密方法,以避免用明文传输用户的口令。摘要认证就是要核实,参与通信的双方,都知道双方共享的一个秘密(即口令)。当服务器想要查证用户的身份,它产生一个摘要盘问(digest cha

2012-02-21 17:20:33 270

转载 SIP路由机制解析

总的来说,SIP中存在两种路由场景:1,请求消息的路由2,响应消息的路由其中,响应消息的路由非常简单,就是完全依靠Via来完成的,具体请见我关于RFC3261中会话流程的分析。下面我们只谈SIP请求消息的路由。首先我们要搞清楚什么是严格路由和松散路由。严格路由(Strict Routing):可以理解为比较“死板”的理由机制,这种路由机制在SIP协议的前身R

2012-02-21 17:19:27 184

转载 VC程序员常用工具篇

过年了,事情可以暂时放一下了。总结一下很有必要。又看到外面饭馆写着“岁末收工,初六开炉“了。好了,废话不多说,接着上篇继续评点程序员常用工具。当然还得请朋友们留言,好做继续的整理和补充,谢谢!顺祝大家新年好!1. IDE:钟情于VC++6.0,但是也感觉Visual Studio2008和2010的强大,可能迟早得转到VS高版本上来。在安装VC++6.0的时候记得安装sp6补丁和msdn(

2012-02-09 17:42:49 227

转载 Windows窗口相关的一些概念解释

转自:http://blog.sina.com.cn/s/articlelist_1224293203_2_1.html    最近工作中关于UI开发方面的东西多了些,碰到问题的时候查阅了很多资料,对Windows窗口的一些概念的理解也慢慢深入了很多。在这篇中把一些比较容易混淆和相关资料比较少的概念做一个总结,可能你用到这些概念的几率不大,但是一旦你遇到相关问题,解决起来还真是要费一番功夫

2012-02-09 16:57:55 299

转载 oSIP协议栈(及eXoSIP,Ortp等)使用入门(转)

一直没空仔细研究下oSIP,最近看到其版本已经到了3.x版本,看到网上的许多帮助说明手册都过于陈旧,且很多文档内容有点误人子弟的嫌疑~~  Linux下oSIP的编译使用应该是很简单的,其Install说明文档里也介绍的比较清楚,本文主要就oSIP在Windows平台下VC6.0开发环境下的使用作出描述。  虽然oSIP的开发人员也说明了,oSIP只使用了标准C开发库,但许多人在Windo

2011-12-12 15:03:19 437

转载 OSIP协议栈使用入门(续一:纯协议栈逻辑分析)(转)

很长时间之前,简单粗略地看了下Osip,eXosip,ortp等并快速“封装”了一个Windows下的基于VC6的MFC的SIP软电话(全部源代码VC6工程文件及Lib库可在本Blog共享文件夹找到),由于时间限制,只能是一知半解地纯“应用”式地分析了一下osip,eXosip等开发库的代码,作为兴趣爱好者参考了解下SIP电话工作原理还可以,但作为商用产品开发参考则还是太浅显了些:)  最近扩

2011-12-12 15:01:14 356

转载 利用libevent库开发网路程序

【简介】libevent是一个事件触发的网络库,适用于windows、linux、bsd等多种平台,内部使用select、epoll、kqueue等系统调用管理事件机制。著名分布式缓存软件memcached也是libevent based,而且libevent在使用上

2011-08-16 15:40:35 1391

原创 boost/shared_ptr 用法总结

头文件: "boost/shared_ptr.hpp"几乎所有稍微复杂点的程序都需要某种形式的引用计数智能指针。这些智能指针让我们不再需要为了控制被两个或多个对象共享的对象的生存期而编写复杂的逻辑。当引用计费降为零,没有对象再需要这个共享的对象,这个对象就自动被销毁了。引用计数智能指针可以分为插入式(intrusive)和非插入式(non-intrusive)两类。前者要求它所管理的类提供明确

2010-03-28 11:44:00 673

转载 Sigslot介绍

最近在开发一个基于libjingle开源的IM系统,里面有一个其类为has_slots,搜索了一下其资料发现是一个很好用的C++库,先对其简单介绍一下。 1.          简介      sigslot是一个线程安全、类型安全,用C++实现的sig/slot机制(sig/slot机制就是对象之间发送和接收消息的机制)的开源代码库。是一个非常好用的库,只有一个头文件sigslot.h。

2010-03-28 11:23:00 395

原创 MFC基础知识总结(3)

 CString类的用法:   IsEmpty()//字符串是否为空  Empty()//置空  Find( )//查找字符串 此为查找空格  GetAt(0)//得到第一个字符  SetAt( , )//  WordSet.m_Word.SetAt( 0, WordSet.m_Word.GetAt( 0 ) - 32 ); 将第一个字母转换为大写状态  MakeLower()//转化为小写状态 

2008-10-19 09:57:00 638

原创 MFC基础知识总结(2)

 4.数据库    ODBC动态添加数据库:Lhwy工程     CDatabase类  public:   CDatabase m_DB;  extern CLhwyApp theApp;    #include   //由于 VC的缺省库文件中不包含 SQLConfigDataSource()函数,因此使用该函数之前需要将 odbcinst.h文件包含在工程的头文件中    BOOL CLhw

2008-10-19 09:56:00 538

原创 MFC基础知识总结(1)

 1.列表视图控件:     ClistCtrl类的用法:   1常规操作函数:它们可以完成向列表视图中插入新   条目或新列等操作。  ISubItem-指定条目子索引项  BOOL DeleteAllItems()删除列表控件中所有条目  int InsertColumn(int nCol,const LVCOLUMN * pColum)插入新列 操作成功返回新列索引   nCol-----指

2008-10-19 09:55:00 615

转载 DEBUG版本与RELEASE版本的区别

 我这有一点DEBUG和RELEASE的问题的总结,借花献佛了  在VC中当整个工程较大时,软件时常为出现在DEBUG状态下能运行而在RELEASE状态 下无法运行的情况。由于开发者通常在DEBUG状态下开发软件,所以这种情况时常 是在我们辛苦工作一两个月后,满怀信心的准备将软件发行时发生。为了避免无谓 的损失,我们最好进行以下的检查: 1、时常测试软件的两种版本。  2、不要轻易将问题归结为DE

2008-10-19 09:52:00 618

原创 精彩SQL语句

 下列语句部分是Mssql语句,不可以在access中使用。SQL分类: DDL—数据定义语言(CREATE,ALTER,DROP,DECLARE) DML—数据操纵语言(SELECT,DELETE,UPDATE,INSERT) DCL—数据控制语言(GRANT,REVOKE,COMMIT,ROLLBACK)首先,简要介绍基础语句:1、说明:创建数据库CREATE DATABASE databas

2008-10-19 09:51:00 173

转载 白乔原创:VC之美化界面篇

 本文专题讨论VC中的界面美化,适用于具有中等VC水平的读者。读者最好具有以下VC基础:1. 大致了解MFC框架的基本运作原理;2. 熟悉Windows消息机制,熟悉MFC的消息映射和反射机制;3. 熟悉OOP理论和技术;本文根据笔者多年的开发经验,并结合简单的例子一一展开,希望对读者有所帮助。 1. 美化界面之开题篇相信使用过《金山毒霸》、《瑞星杀毒》软件的读者应该还

2008-10-19 09:50:00 312

原创 MFC应用程序中处理消息的顺序,创建窗口的过程关闭窗口的顺序(非模态窗口),打开模式对话框的函数调用顺序

 MFC应用程序中处理消息的顺序1.AfxWndProc()      该函数负责接收消息,找到消息所属的CWnd对象,然后调用AfxCallWndProc2.AfxCallWndProc() 该函数负责保存消息(保存的内容主要是消息标识符和消息参数)供应用程序以后使用,                    然后调用WindowProc()函数3.WindowProc()  

2008-10-19 09:49:00 428

原创 CListCtrl使用技巧

  以下未经说明,listctrl默认view 风格为report1. CListCtrl 风格      LVS_ICON: 为每个item显示大图标      LVS_SMALLICON: 为每个item显示小图标      LVS_LIST: 显示一列带有小图标的item      LVS_REPORT: 显示item详细资料      直观的理解:windows资源管

2008-10-19 09:48:00 399 1

原创 MFC学习总结 (67个技巧) dlg 上建立View

 1."属性页的添加:创建对话框的类,该类要从CpropertyPage继承;然后在要添加该对话框为属性页的类(头文件)里创建CpropertySheet类的一个对象m_tabsheet和新创建的对话框类的对象m_skatch;最后,在.cpp文件里的OnInitDialog()之类的函数里实现如下代码:m_tabsheet.Create(this, WS_CHILD | WS_VISIB

2008-10-19 09:46:00 2533 1

转载 编译安装linux内核

$编译装安linux内核:[bady]#   cd /tmp          /* 首先将下载的安装包放在 /tmp/ 目录下 */[bady]#   tar jxvf linux-2.6.16.tar.bz2 -C /usr/src/    /* 解压缩内核压缩包至 /usr/src/ 目录下 */[bady]#   cd /lib/modules/[bady]#   rm -fr 2.6.1

2008-01-25 16:07:00 277

转载 linux挂载U盘的方法

插入U盘之后,按照下面的步骤: 1.fdisk -l /dev/sd*      fdisk -l 列出指定设备的分区表信息。由于usb盘是被模拟为scsi设备访问,所以会被自动命名为sd*。      通常这一步就能找到U盘,如果U盘有指示灯也会亮,表示被找到。 2.如果执行上一个命令没有反应,或者某些信息显示模块没有加入      可以lsmod查看一下是否有usb-storage

2008-01-25 16:06:00 234

转载 字符串转换_BSTR/LPSTR/LPWSTR/Char

一、BSTR、LPSTR和LPWSTR 在Visual C++.NET的所有编程方式中,我们常常要用到这样的一些基本字符串类型,如BSTR、LPSTR和LPWSTR等。之所以出现类似上述的这些数据类 型,是因为不同编程语言之间的数据交换以及对ANSI、Unicode和多字节字符集(MBCS)的支持。  那么什么是BSTR、LPSTR以及LPWSTR呢?  BSTR(Basic ST

2007-12-10 15:36:00 451

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除