<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Javatar2199的专栏]]></title><description><![CDATA[你若安好，便是晴天！联系我请发邮件到avatar316666@gmail.com]]></description><link>https://blog.youkuaiyun.com/Javatar2199</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Javatar2199]]></copyright><item><title><![CDATA[mfcdddddd]]></title><link>https://blog.youkuaiyun.com/Javatar2199/article/details/114675168</link><guid>https://blog.youkuaiyun.com/Javatar2199/article/details/114675168</guid><author>Javatar2199</author><pubDate>Thu, 11 Mar 2021 17:30:18 +0800</pubDate><description><![CDATA[class CXxxView: public CWnd
{
public:
 CXxxView();

}


void CXxxView::OnDraw(CDC* pDC)
{
 const int iXPixel = 5, iYPixel = 8;
 const int iXBgn = 80, iYBgn = 900;  // 坐标起始位置
 char szTemp[128 + 1] = {0x00};
 CRect rect;
 GetClientR...]]></description><category></category></item><item><title><![CDATA[c/c++ 后台开发常用组件之：c++日志模块]]></title><link>https://blog.youkuaiyun.com/Javatar2199/article/details/77720959</link><guid>https://blog.youkuaiyun.com/Javatar2199/article/details/77720959</guid><author>Javatar2199</author><pubDate>Wed, 30 Aug 2017 19:30:05 +0800</pubDate><description><![CDATA[该日志采用的是单例模式，支持自动按天分文件，按日志行数自动分文件，是多线程安全的单例模式，没有外部依赖，Linux操作系统均可以使用。在日志安全级别高的情况，不能丢失日志的情况，可以使用同步模式，
 在要求应用程序性能高对日志安全级别不高的情况可以使用异步模式，异步模式就是在程序异常奔溃或者是重启服务的情况可能有日志丢失。




[cpp] view
 plain copy

]]></description><category></category></item><item><title><![CDATA[推荐的c/c++开源库]]></title><link>https://blog.youkuaiyun.com/Javatar2199/article/details/52814565</link><guid>https://blog.youkuaiyun.com/Javatar2199/article/details/52814565</guid><author>Javatar2199</author><pubDate>Fri, 14 Oct 2016 11:31:07 +0800</pubDate><description><![CDATA[值得推荐的C/C++框架和库

【本文系外部转贴，原文地址：http://coolshell.info/c/c++/2014/12/13/c-open-project.htm】留作存档
下次造轮子前先看看现有的轮子吧


值得学习的C语言开源项目
- 1. Webbench 

Webbench是一个在Linux下使用的非常简单的网站压测工具。它使用fork()模拟多个客户端同时]]></description><category></category></item><item><title><![CDATA[nginx模块开发之handler函数]]></title><link>https://blog.youkuaiyun.com/Javatar2199/article/details/51671194</link><guid>https://blog.youkuaiyun.com/Javatar2199/article/details/51671194</guid><author>Javatar2199</author><pubDate>Tue, 14 Jun 2016 13:56:10 +0800</pubDate><description><![CDATA[http handler是http模块中最重要的函数, 直接托管http请求.

和前文set不同, set是在nginx启动的时候读取配置的过程中被触发的, 而handler函数是在真实请求到那个路径上时被触发的.

也就是浏览器请求多少次, handler就触发多少次.

返回值

handler的返回类型是ngx_int_t, 因为一般的http handler定义好body]]></description><category></category></item><item><title><![CDATA[Nginx模块开发之最简单的Hello模块]]></title><link>https://blog.youkuaiyun.com/Javatar2199/article/details/51671181</link><guid>https://blog.youkuaiyun.com/Javatar2199/article/details/51671181</guid><author>Javatar2199</author><pubDate>Tue, 14 Jun 2016 13:54:46 +0800</pubDate><description><![CDATA[nginx模块开发并不是那么容易, 从行数上来讲, 淘宝给出的tengine给出的那个所谓hello模块的长度也到了245行, 要想真正独立写出这么多代码, 对于我来说是非常难的.

245行, 如果是nodejs, 已经可以写一个比较完善的文件服务器了. 要想完全理解这个hello模块, 有c基础的也怕是要花不少时间, 像我这样没有c经验的, 更是难上加难.

我决定写一个真正的hell]]></description><category></category></item><item><title><![CDATA[redhat7.2配置yum源]]></title><link>https://blog.youkuaiyun.com/Javatar2199/article/details/51030966</link><guid>https://blog.youkuaiyun.com/Javatar2199/article/details/51030966</guid><author>Javatar2199</author><pubDate>Thu, 31 Mar 2016 22:55:11 +0800</pubDate><description><![CDATA[redhat 的更新包只对注册的用户生效，所以我们自己手动更改成CentOS 的更新包，CentOS几乎和redhat是一样的，所以无需担心软件包是否可安装，安装之后是否有问题。 
1、首先删除redhat原有的yum ，因为redhat 原本的yum 没有注册为redhat用户是用不了的。
rpm -aq|grep yum|xargs rpm -e --nodeps 
rpm -aq|gre]]></description><category></category></item><item><title><![CDATA[关于 C++ 框架、库和资源的一些汇总列表]]></title><link>https://blog.youkuaiyun.com/Javatar2199/article/details/50546544</link><guid>https://blog.youkuaiyun.com/Javatar2199/article/details/50546544</guid><author>Javatar2199</author><pubDate>Wed, 20 Jan 2016 09:59:08 +0800</pubDate><description><![CDATA[关于 C++ 框架、库和资源的一些汇总列表，由 fffaraz 发起和维护。

　　内容包括：标准库、Web应用框架、人工智能、数据库、图片处理、机器学习、日志、代码分析等。

　　标准库

　　C++标准库，包括了STL容器，算法和函数等。

　　C++ Standard Library：是一系列类和函数的集合，使用核心语言编写，也是C++ISO自身标准的一部分。

　　St]]></description><category></category></item><item><title><![CDATA[gcc编译选项--转]]></title><link>https://blog.youkuaiyun.com/Javatar2199/article/details/50522503</link><guid>https://blog.youkuaiyun.com/Javatar2199/article/details/50522503</guid><author>Javatar2199</author><pubDate>Fri, 15 Jan 2016 11:15:40 +0800</pubDate><description><![CDATA[gcc提供了大量的警告选项，对代码中可能存在的问题提出警告，通常可以使用-Wall来开启以下警告:
           -Waddress -Warray-bounds (only with -O2) -Wc++0x-compat
           -Wchar-subscripts -Wimplicit-int -Wimplicit-function-declaration
    ]]></description><category></category></item><item><title><![CDATA[gdb调试无法查看变量值（gdb No symbol "var" in current co]]></title><link>https://blog.youkuaiyun.com/Javatar2199/article/details/50519525</link><guid>https://blog.youkuaiyun.com/Javatar2199/article/details/50519525</guid><author>Javatar2199</author><pubDate>Thu, 14 Jan 2016 18:17:55 +0800</pubDate><description><![CDATA[程序编译时开启了优化选项，那么在用GDB调试被优化过的程序时，可能会发生某些变量不能访问，或是取值错误码的情况。这个


是很正常的，因为优化程序会删改程序，整理程序的语句顺序，剔除一些无意义的变量等，所以在GDB调试这种程序时，运行时的指令和你所编写指令就有
不一样，也就会出现你所想象不到的结果。对付这种情况时，需要在编译程序时关闭编译优化。

解决方案：

在编译时加上 ‘-g]]></description><category></category></item><item><title><![CDATA[ORACLE多表查询优化]]></title><link>https://blog.youkuaiyun.com/Javatar2199/article/details/12759675</link><guid>https://blog.youkuaiyun.com/Javatar2199/article/details/12759675</guid><author>Javatar2199</author><pubDate>Tue, 15 Oct 2013 23:03:49 +0800</pubDate><description><![CDATA[ORACLE有个高速缓冲的概念，这个高速缓冲就是存放执行过的SQL语句，那oracle在执行sql语句的时候要做很多工作，例如解析sql语句，估算索引利用率，绑定变量，读取数据块等等这些操作。假设高速缓冲里已经存储了执行过的sql语句，那就直接匹配执行了，少了步骤，自然就快了，但是经过测试会发现高速缓冲只对简单的表起作用，多表的情况完全没有效果，例如在查询单表的时候那叫一个快，但是假设连接多个表，]]></description><category></category></item><item><title><![CDATA[oracle sql语句优化（转载）]]></title><link>https://blog.youkuaiyun.com/Javatar2199/article/details/12758911</link><guid>https://blog.youkuaiyun.com/Javatar2199/article/details/12758911</guid><author>Javatar2199</author><pubDate>Tue, 15 Oct 2013 22:51:28 +0800</pubDate><description><![CDATA[（1）      选择最有效率的表名顺序 ( 只在基于规则的优化器中有效 ) ：

ORACLE 的解析器按照从右到左的顺序处理 FROM 子句中的表名， FROM 子句中写在最后的表 ( 基础表 driving
 table) 将被最先处理，在 FROM 子句中包含多个表的情况下 , 你必须选择记录条数最少的表作为基础表。如果有 3 个以上的表连接查询 , 那就需要选择交叉表 (inter]]></description><category></category></item><item><title><![CDATA[数据库取前几条记录的语句]]></title><link>https://blog.youkuaiyun.com/Javatar2199/article/details/12160051</link><guid>https://blog.youkuaiyun.com/Javatar2199/article/details/12160051</guid><author>Javatar2199</author><pubDate>Sun, 29 Sep 2013 13:08:34 +0800</pubDate><description><![CDATA[数据库取前几条记录的语句 

1. ORACLE

SELECT * FROM TABLE1 WHERE ROWNUM

 

2. INFORMIX 

SELECT FIRST N * FROM TABLE1 where 1=1 

 

3. DB2 

SELECT * ROW_NUMBER() OVER(ORDER BY COL1 DESC) AS ROW]]></description><category></category></item><item><title><![CDATA[查询SqlServer下查询所有指定用户下的主外键，索引]]></title><link>https://blog.youkuaiyun.com/Javatar2199/article/details/12160013</link><guid>https://blog.youkuaiyun.com/Javatar2199/article/details/12160013</guid><author>Javatar2199</author><pubDate>Sun, 29 Sep 2013 13:05:50 +0800</pubDate><description><![CDATA[SELECT 'ALTER TABLE '+TABLE_NAME + ' ADD CONSTRAINT '+ ' PK_'+TABLE_NAME+'  PRIMARY KEY ('+COLUMN_NAME+');'  
 FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE WHERE CONSTRAINT_NAME LIKE 'PK%';  
   
 SELE]]></description><category></category></item><item><title><![CDATA[SQL分页查询]]></title><link>https://blog.youkuaiyun.com/Javatar2199/article/details/12160001</link><guid>https://blog.youkuaiyun.com/Javatar2199/article/details/12160001</guid><author>Javatar2199</author><pubDate>Sun, 29 Sep 2013 13:05:19 +0800</pubDate><description><![CDATA[方法1： 适用于 SQL Server 2000/2005


1 SELECT TOP 页大小 *
2 FROM table1
3 WHERE id NOT IN
4           (
5           SELECT TOP 页大小*(页数-1) id FROM table1 ORDER BY id
6           )
7 ORDER BY id



 
]]></description><category></category></item><item><title><![CDATA[通向架构师的道路（第六天）之漫谈基于数据库的权限系统的设计]]></title><link>https://blog.youkuaiyun.com/Javatar2199/article/details/12136067</link><guid>https://blog.youkuaiyun.com/Javatar2199/article/details/12136067</guid><author>Javatar2199</author><pubDate>Sat, 28 Sep 2013 16:51:55 +0800</pubDate><description><![CDATA[一、权限系统

这一天将讲述一个基本的基于数据库的权限管理系统的设计，在这一天的课程的最后将讲述“左右值无限分类实现算法”如何来优化“系统菜单”的结构而告终。今天的内容和前几天的基础框架是一样的它们都属于基础知识，在这些基础知识上还可以扩展出无数的变种与进化设计。
二、先来看客户的一个需求
2.1 用户实际需求

1.所有的用户、角色可动态配置

2.所有的系统菜单的权限要求具体到]]></description><category></category></item><item><title><![CDATA[KILL SQL Server中的活动进程]]></title><link>https://blog.youkuaiyun.com/Javatar2199/article/details/12133767</link><guid>https://blog.youkuaiyun.com/Javatar2199/article/details/12133767</guid><author>Javatar2199</author><pubDate>Sat, 28 Sep 2013 16:20:12 +0800</pubDate><description><![CDATA[use  master 
go
create  proc  killspid  (@dbname  varchar(20))  
as  
begin  
declare  @sql  nvarchar(500),@temp varchar(1000)
declare  @spid  int  
set  @sql='declare  getspid  cursor  for    ]]></description><category></category></item><item><title><![CDATA[js读取xml文件]]></title><link>https://blog.youkuaiyun.com/Javatar2199/article/details/8769222</link><guid>https://blog.youkuaiyun.com/Javatar2199/article/details/8769222</guid><author>Javatar2199</author><pubDate>Sun, 07 Apr 2013 19:41:15 +0800</pubDate><description><![CDATA[function loadXML(xmlFile) {
            var xmlDoc;
            if (!window.ActiveXObject) {
                var parser = new DOMParser();
                xmlDoc = parser.parseFromString(xmlFile,]]></description><category></category></item><item><title><![CDATA[js中的apply()和call()方法详解]]></title><link>https://blog.youkuaiyun.com/Javatar2199/article/details/8550379</link><guid>https://blog.youkuaiyun.com/Javatar2199/article/details/8550379</guid><author>Javatar2199</author><pubDate>Mon, 28 Jan 2013 21:37:35 +0800</pubDate><description><![CDATA[我在一开始看到javascript的函数apply和call时,非常的模糊,看也看不懂,最近在网上看到一些文章对apply方法和call的一些示例,总算是看的有点眉目了,在这里我做如下笔记,希望和大家分享..  如有什么不对的或者说法不明确的地方希望读者多多提一些意见,以便共同提高..

主要我是要解决一下几个问题:


1.        apply和call的区别在哪里

2.]]></description><category></category></item><item><title><![CDATA[js的常用技巧]]></title><link>https://blog.youkuaiyun.com/Javatar2199/article/details/8192808</link><guid>https://blog.youkuaiyun.com/Javatar2199/article/details/8192808</guid><author>Javatar2199</author><pubDate>Sat, 17 Nov 2012 01:15:40 +0800</pubDate><description><![CDATA[1. oncontextmenu="window.event.returnValue=false" 将彻底屏蔽鼠标右键
no 可用于Table


2.  取消选取、防止复制


3. onpaste="return false" 不准粘贴


4. oncopy="return false;" oncut="return false;" 防止复制


5.  IE地址栏]]></description><category></category></item><item><title><![CDATA[纯js实现的软键盘]]></title><link>https://blog.youkuaiyun.com/Javatar2199/article/details/84354745</link><guid>https://blog.youkuaiyun.com/Javatar2199/article/details/84354745</guid><author>Javatar2199</author><pubDate>Fri, 09 Nov 2012 17:03:44 +0800</pubDate><description><![CDATA[(function (jquery) {
    //defined variable
    var currentobj,
    _getdata = function (opts, callback) {
        jquery.ajax({
            type: &quot;post&quot;,
            dataType: &quot;text&quot;,
        ...]]></description><category></category></item></channel></rss>