
编程语言
pstrunner
超越自我,没有做不到,只有想不到。
展开
-
使用C11特性,实现对象自动释放(RAll)的方式(ScopeGuard )
参考:https://www.cnblogs.com/chenny7/p/11990105.htmlRAII的本质内容是用对象代表资源,把管理资源的任务转化为管理对象的任务,将资源的获取和释放与对象的构造和析构对应起来,从而确保在对象的生存期内资源始终有效,对象销毁时资源必被释放。换句话说,拥有对象就等于拥有资源,对象存在则资源必定存在。由此可见,RAII惯用法是进行资源管理的有力武器。ScopeGuardScopeGuard 最大的用处也是释放资源。比如分配内存,做某些操作,...转载 2020-10-30 11:22:45 · 1020 阅读 · 0 评论 -
一次对server服务大量积压异常TCP ESTABLISHED链接的排查笔记
背景我们都知道,基于Kubernetes的微服务,大行其道,传统部署模式一直都在跟着变化,但其实,在原有业务向服务化方向过度过程中,有些场景可能会变得复杂。比如说:将Kubernetes的模式应用到开发环节上,这个环节需要频繁的变更代码,微服务的方式,可能就需要不断的:改代码->构建镜像->镜像推送->部署->拉去镜像->生成容器尤其是PHP的业务,不需要构建二进制,仅需要发布代码,因此,如果按照上面的部署方式,就需要频繁改代码,走构建镜像这个流程,最后再做转载 2020-09-22 13:38:58 · 1474 阅读 · 0 评论 -
CString转换到string:无法从“wchar_t *”转换为“std::basic_stri
CString转换到string:无法从“wchar_t *”转换为“std::basic_string<_Elem,_Traits,_Ax>”对于你的应用来说ANSI和UNICODE的区别就是ANSI编码CString默认是窄字节的UNICODE默认是宽字节的std::string总是窄字节的所以UNICODE下你要做宽窄字节转换比如可以这样USES_CONVERSION;CString str;std::string str1 = W2A(str.Getbuffer()转载 2020-08-21 09:37:57 · 1541 阅读 · 1 评论 -
禁用指定编译警告教程
vc编译器">MSVC编译器#ifdef _MSC_VER#pragma warning(push)#pragma warning(disable:4100)#endif //some code... #ifdef _MSC_VER#pragma warning(pop)#endifGCC编译器#ifdef __GNUC__#pragma GCC diag...转载 2019-10-28 13:38:33 · 554 阅读 · 0 评论 -
C++【左值与右值】
左值(lvalue)和右值(rvalue)是 c/c++ 中一个比较晦涩基础的概念,不少写了很久c/c++的人甚至没有听过这个名字,但这个概念到了 c++11 后却变得十分重要,它们是理解 move/forward 等新语义的基础。左值右值的定义左值与右值这两概念是从 c 中传承而来的,在 c 中,左值指的是既能够出现在等号左边也能出现在等号右边的变量(或表达式),右值指的则是只能出现在等...转载 2019-03-26 16:36:19 · 163 阅读 · 0 评论 -
Java【WebService的简单实】
前言Web Service对于大家应该经常听说,特别当下“微服务”架构很流行。各种软件公开一套标准的服务,应用方集成非常方便。Java的Web Service不管工程类型都可以实现,特别在Jdk6+版本上实现起来更加方便。这里介绍一个简单的实现步骤。创建WebService的Java应用选择Java Project输入工程名称:TestWebService直接点“Fin...原创 2019-03-06 16:35:17 · 427 阅读 · 0 评论 -
C++【多态的实现及原理】
virtualC++的多态性用一句话概括就是:在基类的函数前加上virtual关键字,在派生类中重写该函数,运行时将会根据对象的实际类型来调用相应的函数。如果对象类型是派生类,就调用派生类的函数;如果对象类型是基类,就调用基类的函数用virtual关键字申明的函数叫做虚函数,虚函数肯定是类的成员函数。 存在虚函数的类都有一个一维的虚函数表叫做虚表,类的对象有一个指向虚表开始的虚指针。虚表...转载 2019-02-28 17:09:42 · 281 阅读 · 0 评论 -
C++【如何避免内存泄露】
前言C++语言以它编程高度灵活性著称,特别是指针。俗话说“指针在手,天下我有”。可是任何事情都不是完美的,有利则有弊。C++把指针交给使用者,则使用者必须时刻注意内存泄露、野指针造成的崩溃等问题。本文在多年的编程经验基础上对如何避免内存泄露进行了总结,希望对大家有所帮助。共享堆对于一些需要分配比较大块的内存,并且大小基本固定的应用,建议软件启动时在创建一块固定大小的“共享堆”;在软件退出...原创 2019-02-28 14:21:26 · 567 阅读 · 0 评论 -
C++【sizeof求类的大小浅析】
izeof求类的大小和求结构体的大小,有一定的相似性,但又不完全相同,因为类存在这继承和派生、存在着虚函数。1、空类大小对于一个空类,使用sizeof求得其大小为1。2、简单类如下定义一个类,class A{public: int a;private: char b;};使用sizeof求这种简单类,结果和求结构体的sizeof是一样的,需要考虑...转载 2019-02-28 09:45:29 · 511 阅读 · 0 评论 -
详解Java的反射机制
看了几篇Java的反射机制文章,总体感觉Java的RTTI(运行时类型识别)和字节码的语言特性,支撑其反射机制。对于C++虽然也有RTTI机制,但是它的执行文件不是中间码,没有记录Class的属性、方法等信息,所以通过Class名称无法构造具体Class对象,也就支持不了反射。比较好的介绍Java反射机制的文章,罗列如下:https://www.cnblogs.com/luoxn28/...原创 2019-02-15 16:48:09 · 157 阅读 · 0 评论 -
C++【move 与 forward】
一. move关于 lvaue 和 rvalue,在 c++11 以前存在一个有趣的现象:T& 指向 lvalue (左传引用), const T& 既可以指向 lvalue 也可以指向 rvalue。但却没有一种引用类型,可以限制为只指向 rvalue。这乍看起来好像也不是很大的问题,但实际与看起来不一样,右值引用的缺失有时严重限制了我们在某些情况下,写出更高效的代码。举个...转载 2019-03-26 17:18:33 · 538 阅读 · 0 评论 -
C++【一文说尽赋值运算符重载函数(operator=)】
正文Ⅰ.举例例1#include<iostream>#include<string>using namespace std;class MyStr{private: char *name; int id;public: MyStr() {} MyStr(int _id, char *_name) //const...转载 2019-04-06 17:43:52 · 285 阅读 · 0 评论 -
C++【运算符重载】
概要说明什么是运算符的重载?运算符与类结合,产生新的含义。为什么要引入运算符重载? 作用:为了实现类的多态性(多态是指一个函数名有多种含义)怎么实现运算符的重载?方式:类的成员函数 或 友元函数(类外的普通函数)规则:不能重载的运算符有 . 和 .* 和 ?: 和 :: 和 sizeof友元函数和成员函数的使用场合:一般情况下,建议...转载 2019-04-26 15:42:43 · 225 阅读 · 0 评论 -
CString的API简介
引子因为MFC很难用,所以它的CString也很难用。但是吐槽归吐槽,实际项目中还是避免不了MFC,也就不得不了解CString。下面对CString的比较常用的API做些整理,方便以后查阅。注意,使用CString必须包含“afx.h”头文件,但是使用VS创建MFC工程,也会默认自带的,勿需费神。CString 类对象的初始化CString str;CString str1...原创 2019-05-09 13:19:25 · 767 阅读 · 0 评论 -
Entity Framework优缺点及使用方法总结
Entity Framework是MS提供的一个ORM框架,它旨在为小型应用程序中数据层的快速开发提供便利。nuget上185W多的下载量,说明.Net开发人员还是比较喜欢用EF的。但是EF在提供了便利性的同时也有许多缺点,以下就是我认为不应该应用EF的场景:非SQL Server数据库且无该数据库的DataProvider 高性能要求。在进行一些复杂查询的情况下,EF的性能表现不太好,...转载 2019-05-14 10:35:09 · 3159 阅读 · 0 评论 -
Entity Framework 基础
一、什么是Entity Framework 微软官方提供的ORM工具,ORM让开发人员节省数据库访问的代码时间,将更多的时间放到业务逻辑层代码上。EF提供变更跟踪、唯一性约束、惰性加载、查询事物等。开发人员使用Linq语言,对数据库操作如同操作Object对象一样省事。 EF有三种使用场景,1. 从数据库生成Class,2.由实体类生成数据库表结构,3. 通过数据库可视化设计...转载 2019-05-14 10:51:14 · 2045 阅读 · 0 评论 -
使用VS2012编译7zip源代码
引言7zip的压缩比是非常高的,在实际项目中也会经常用到,当然如果能够对源代码进行编译,并进行一些定制化的开发,当然就更好了。本文简要说明了如何下载、编译以及定制的开发方法。下载官网:https://www.7-zip.org/sdk.html下载的文档中有一些说明如何在VS上进行编译,但是还是遇到各种问题,本人经过查找相关资料,终于实现了在VS2012上的编译。工程结构说明...原创 2019-05-14 15:49:47 · 1311 阅读 · 0 评论 -
MySQL删除表:Cannot delete or update a parent row: a foreign key constraint fails。
现象与原因MySQL库中有俩表,table1和table2,相互关联,在删除表的时候出错:Cannot delete or update a parent row: a foreign key constraint fails。很明显这是表关联生成的强制约束问题,在删除的时候回检查表之间的关联关系,从而导致无法删除。SET foreign_key_checks = 0; // ...原创 2019-05-13 16:25:52 · 445 阅读 · 0 评论 -
定时任务之-Quartz
Quartz是OpenSymphony开源组织在Job scheduling领域又一个开源项目,它可以与J2EE与J2SE应用程序相结合也可以单独使用。Quartz可以用来创建简单或为运行十个,百个,甚至是好几万个Jobs这样复杂的日程序表。Jobs可以做成标准的Java组件或 EJBs。CronTrigger配置格式:格式: [秒] [分] [小时] [日] [月] [周] [年]序号...原创 2019-08-01 09:50:21 · 365 阅读 · 0 评论 -
代码重构实践之分层重要性
对于大型软件(有效代码量在10万以上)分层很重要。很多人也知道在软件开发中需要分层,但是因为每个人见识不同,差异很大。软件分层,到底依据什么进行分层最合适呢?根据业务逻辑?还是根据软件的功能点?还是根据对接外部的或者提供给外部的接口进行分层?其实这些都不是重点,我觉得最重要的是首先根据需求。如果一个软件离开了具体的需求,具体的应用场景,可能都是空谈,都是海市蜃楼。每种软件都会有其特定的应用场景...原创 2019-01-28 15:03:33 · 843 阅读 · 0 评论 -
关于删除Map元素时抛出ConcurrentModificationException的问题
在网络上,搜索到这个问题时,有的建议加同步,并且分别在单线程和多线程两种情况分析了,具体参考:https://www.cnblogs.com/dolphin0520/p/3933551.html但是我的解决是参考下面的文章,就是采用迭代器方式,具体参考:https://blog.youkuaiyun.com/baidu_37107022/article/details/73555034...转载 2019-01-15 18:14:50 · 425 阅读 · 1 评论 -
C#的EXCEL操作类
<br />// 本文来自优快云博客,转载请标明出处:http://blog.youkuaiyun.com/beckhans/archive/2008/08/22/2814570.aspx<br />///--------------------------------------------------------------------------- <br />/// 機能ID :ExcelAccess <br />/// <br />/// 機能名 :Excel操作クラス <br />///原创 2011-01-06 13:20:00 · 1254 阅读 · 0 评论 -
网页中播放音乐的实现方法代码
问题:我想在网页上实现读卡器读卡,并驱动串口热敏打印机打印 想通过网页加载activex控件或是插件来实现 但不知道vb中建工程应该是选择 activeX EXE 还是activeX Dll 或是active x控件 最好能给出一个实现过程的简要介绍 回答:1》如果你的目的是在网页中访问客户端的硬件设备,大体如下: ·将访问硬件的代码用Dll的方式封装在类中,将该dll做成可下载安装的ca转载 2009-06-22 17:16:00 · 1389 阅读 · 0 评论 -
JavaScript版俄罗斯方块Easy Tetris实现原理
URL:http://topic.youkuaiyun.com/u/20090622/09/4BD25AFF-91AF-4E1B-9D96-625FED3C1898.htmlEasy Tetris实现核心部分 下一个方块 原型为一个4*4的表格加上方块展示方法,可以通过分别继承两个类(表格类,方块类),加上自身的next方法,来实现。 游戏区域 原型为一个12*20的表格,由于考虑到算法优化,直接设置为(转载 2009-06-22 12:33:00 · 2450 阅读 · 0 评论 -
javascript中event.keycode大全
From:http://www.okajax.com/a/200811/1124R022008.htmlkeycode 8 = BackSpace BackSpace keycode 9 = Tab Tab keycode 12 = Clear keycode 13 = Enter keycode 16 = Shift_L keycode 17 = Control_L keycode 18 = A转载 2009-06-17 17:51:00 · 441 阅读 · 0 评论 -
C#和Java的闭包-Jon谈《The Beauty of Closures》
原文:http://www.cnblogs.com/Klesh/archive/2008/05/15/The-Beauty-of-Closures.html第一段略。。。大多数讲闭包的文章都是说函数式语言,因为它们往往对闭包的支持最完善。当你在使用函数式语言时,很可能已经清楚了解了什么是闭包,所以我想写一篇在经典OO语言出现的闭包有什么用处应该也是很合适的事情。这篇文章我准备讲一下C#(1转载 2009-06-12 13:07:00 · 1193 阅读 · 0 评论 -
C#中定义数组--字符串及数组操作
url:http://hi.baidu.com/zhiqingcn/blog/item/3dba239bd83103bcc9eaf4c6.html 一、一维:int[] numbers = new int[]{1,2,3,4,5,6}; //不定长 int[] numbers = new int[3]{1,2,3};//定长 二、多维 int[,] numbers = new int[,]转载 2009-08-19 11:13:00 · 1476 阅读 · 0 评论 -
C#.Net中的反射机制使用入门
url:http://hi.baidu.com/flower21_%BF%EC%C0%D6/blog/item/debf59517d2740888d543023.html1、什么是反射 Reflection,中文翻译为反射。 这是.Net中获取运行时类型信息的方式,.Net的应用程序由几个部分:‘程序集(Assembly)’、‘模块(Module)’、‘类型(class)’组成,而转载 2009-08-11 16:06:00 · 510 阅读 · 0 评论 -
Linux下postgresql 安装
Linux下postgresql 安装 1 添加用户 创建目录 useradd postgres -d /usr/local/pgsql passwd postgres mkdir /usr/local/pgsql/ mkdir /usr/local/pgsql/data chown -R postgres /usr/local/pgsql chown postgres /usr/原创 2009-08-08 10:48:00 · 3019 阅读 · 0 评论 -
动态创建菜单
url:http://www.cnblogs.com/wzg0319/archive/2008/12/06/1349214.html[转载内容]动态创建菜单,menustrip,根据权限显示菜单,控制菜单可用,反射,给窗体传值,反射对象传值,public static Object CreateInstance ( Type type, params Object[] args ) usi转载 2009-08-09 12:12:00 · 805 阅读 · 0 评论 -
一步一步教你用JS和INF编辑注册表
http://www.wangchao.net.cn/bbsdetail_553603.html 文/小军 JScript小知识:JScript是一种解释型的、基于对象的脚本语言。尽管与C++这样成熟的面向对象的语言相比,JScript的功能要弱一些,但对于它的预期用途而言,JScript的功能已经足够大了。JScript程序是语句的集合,一条Jscript语句相当于英语中的一个完整句。转载 2009-06-22 17:24:00 · 588 阅读 · 0 评论 -
JAVA编程技巧之如何实现HTTP的断点续传
(一)断点续传的原理 其实断点续传的原理很简单,就是在Http的请求上和一般的下载有所不同而已。打个比方,浏览器请求服务器上的一个文时,所发出的请求如下: 假设服务器域名为wwww.sjtu.edu.cn,文件名为down.zip。 GET /down.zip HTTP/1.1 Accept: image/gif, image/x-xbitmap, image/jpeg, i转载 2009-06-22 10:44:00 · 385 阅读 · 0 评论 -
mmc管理控制台是做什么的!?
看看这个网站吧 很全的 http://www.microsoft.com/technet/prodtechnol/windowsserver2003/zh-chs/library/ServerHelp/cd4d1a55-f5f9-4257-9a7b-b43f1737fd80.mspx?mfr=true 使用 MMC 控制台 可能需要使用预配置的 MMC 控制台(一般称为“保存的控制台”,这些控制台转载 2009-06-28 15:14:00 · 9428 阅读 · 0 评论 -
IT精英,必须掌握的命令行
URL:http://topic.youkuaiyun.com/u/20090628/01/8f6a8ff4-afe1-4b14-ab78-e5442e7004b9.html?seed=2026834233一,ping 它是用来检查网络是否通畅或者网络连接速度的命令。作为一个生活在网络上的管理员或者黑客来说,ping命令是第一个必须掌握的DOS命令,它所利用的原理是这样的:网络上的机器都有唯一确原创 2009-06-28 15:15:00 · 611 阅读 · 0 评论 -
最犇的.Net下的委托入门讲解
URL:http://topic.youkuaiyun.com/u/20090627/17/ae3a38bb-cf15-4c73-9a30-1e1260a15237.html?seed=1795430481 作者:TomMax (笑望人生) 出处:csdn 主 题: “.net百题问答的活动”--许多人问过的--《 C#委托及事件 》 所属论坛: .NET技术 C# 有许多人问的,.Net中的转载 2009-06-28 14:41:00 · 604 阅读 · 0 评论 -
纯C#钩子实现及应用
URL:http://www.souzz.net/html/edu/net/net7/11518.html关于钩子请参见微软中国社区中《HOOK专题》一文。纯C#钩子(Hook)实现要实现系统钩子其实很简单,调用三个Win32的API即可。SetWindowsHookEx 用于设置钩子。(设立一道卡子,盘查需要的信息) [DllImport( "user32.dll",转载 2009-06-29 15:02:00 · 590 阅读 · 0 评论 -
简单工厂(Single Factory)在JavaScript中简单实现
var SingleFactory = function() { function Operation() { this.A = 0; this.B = 0; } OperationAdd.prototype = new Operation(); Operat原创 2009-06-26 10:40:00 · 695 阅读 · 0 评论 -
JavaScript使用技巧精萃
(一).确认删除用法: 1. BtnDel.Attributes.Add("onclick","return confirm("+"确认删除?"+")"); 2. linktempDelete.Attributes["onclick"]="javascript:return confirm("+"确认删除?"+");"; 3. private void grdProject_原创 2009-06-26 12:42:00 · 566 阅读 · 0 评论 -
如何 用JavaScrip读取文件信息
有两种主要的文件处理类型: 创建、添加或删除数据,以及读取文件 移动、复制和删除文件 创建文件 创建空文本文件(有时被叫做“文本流”)有三种方法。 第一种方法是用 CreateTextFile 方法。下面的示例示范了如何用 CreateTextFile 方法创建文本文件: [VBScript]转载 2009-06-23 10:04:00 · 1076 阅读 · 0 评论 -
如何点对点实现多线程断点续传
在如今的网络应用中,文件的传送是重要的功能之一,也是共享的基础。一些重要的协议像HTTP,FTP等都支持文件的传送。尤其是FTP,它的全称就是“文件传送协议”,当初的工程师设计这一协议就是为了解决网络间的文件传送问题,而且以其稳定,高速,简单而一直保持着很大的生命力。作为一个程序员,使用这些现有的协议传送文件相当简单,不过,它们只适用于服务器模式中。这样,当我们想在点与点之间传送文件就不适用了或相转载 2009-06-22 10:52:00 · 533 阅读 · 0 评论