写日志: class LogFile { public: static LogFile &instance(); operator FILE *() const { return m_file; } private LogFile(const char *filename) { m_file = fopen(filename, "a+"); } ~LogFile() { fclose(m_file); } FILE *m_file; }; LogFile &LogFil…
写日志: class LogFile { public: static LogFile &instance(); operator FILE *() const { return m_file; } private LogFile(const char *filename) { m_file = fopen(filename, "a+"); } ~LogFile() { fclose(m_file); } FILE *m_file; }; LogFile &LogFil…
摘要:使用Scala语言为例,展示函数式编程消除重复无聊的foreach代码. 难度:中级 概述 大多数开发者在开发生涯里,会面对大量业务代码.而这些业务代码中,会发现有大量重复无聊的 foreach 循环,有时是为了获取对象的一个关键字段的值,有时是为了设置对象的某些字段的值,有时是为了转换得到另外一个对象,有时是为了增加若干新的字段.主要有如下情况: map origin object to new object in order to get new list or new map ; 将…
最近不想用MFC写东西了,有没有安装Qt和其他图形化开发环境,只能捣鼓API了.于是乎,就有了以下的学习-- 首先,老套的创建个Windows窗口,由于自己有点小懒,就直接用Hello Word的源码了. #include <windows.h> #include <stdio.h> // 窗口过程函数 LRESULT CALLBACK WinSunProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam); int WINAP…
一.概述 ReentrantLock是一个排他锁,同一时间只允许一个线程访问,而ReentrantReadWriteLock允许多个读线程同时访问,但不允许写线程和读线程.写线程和写线程同时访问.相对于排他锁,提高了并发性.在实际应用中,大部分情况下对共享数据(如缓存)的访问都是读操作远多于写操作,这时ReentrantReadWriteLock能够提供比排他锁更好的并发性和吞吐量. 读写锁内部维护了两个锁,一个用于读操作,一个用于写操作.所有 ReadWriteLock实现都必须保证 writ…
上一节中鸡啄米讲了定时器Timer的用法,本节介绍下文件操作类CFile类的使用. CFile类概述 如果你学过C语言,应该知道文件操作使用的是文件指针,通过文件指针实现对它指向的文件的各种操作.这些文件操作函数中有的最终还是调用了操作系统的API函数或者处理过程与之类似,例如在Windows系统中,fread函数就调用了API函数ReadFile. Windows系统的API函数除了ReadFile,还有CreateFile.WriteFile等函数.而MFC基于面向对象的思想,将这些Wind…
Posted on 2012-03-23 11:21 祥叔 阅读(2886) 评论(6) 编辑 收藏 在Web开发中,我们通过CSS来控制页面元素的样式,一般常用三种方式: 1.       内联样式表:即直接设置元素的style属性 2.       嵌入样式表:即在html页面上写一个<style>……..</style> 代码段,然后设置元素的class 属性 3.       外部样式表:即写一个独立的.css 文件,然后再html页面上引入该文件,然后设置元素的class…
欢迎关注个人微信公众号: 小哈学Java, 文末分享阿里 P8 资深架构师吐血总结的 <Java 核心知识整理&面试.pdf>资源链接!! 个人网站: https://www.exception.site/essay/how-to-create-excel-by-seven-line-code 目录 一.前言 二.Apache poi.jxl 的缺陷 三.阿里出品的 EasyExcel,安利一波 四.EasyExcel 解决了什么 五.快速上手 六.特殊场景支持 七.Web 下载示例代…
[优雅代码]04-1行代码完成多线程,别再写runnable了 欢迎关注b站账号/公众号[六边形战士夏宁],一个要把各项指标拉满的男人.该文章已在github目录收录. 屏幕前的大帅比和大漂亮如果有帮助到你的话请顺手点个赞.加个收藏这对我真的很重要.别下次一定了,都不关注上哪下次一定. 可直接运行的完整代码 视频讲解 1.背景介绍 java8提供的CompletableFuture以及匿名函数可以让我们一行代码完成多线程 2.建立相关类 2.1.ThreadEntity 用于多线程测试的实体类…
1.背景: 学习java时,教材中关于如题问题,只有一小节说明,而且要自己写麻烦的配置文件,最终结果却只能转换为jar文件.实在是心有不爽.此篇博客教你如何方便快捷地把java代码,打包成jar文件以及转换为exe可执行文件 2.前言: 我们都知道Java可以将二进制程序打包成可执行jar文件,双击这个jar和双击exe效果是一样一样的,但感觉还是不同.其实将java程序打包成exe也需要这个可执行jar文件. 3.准备: eclipse或Myeclipse以及exe4j(网上有软件和帐号下载)…
//2.2 代码块--写日志 //调用例句如:LogMsg('FTP上传线程终止',False,true); procedure LogMsg(AMsg: string; const blnIsErrorMsg: boolean = False; const BoolSaveToFile: Boolean = True); var strMsg: string; begin try //FLogMemoCallFlag.Enter; strMsg := AMsg; if blnIsErrorMs…
从jsTree演示代码中提取的在线文件查看 jsTree 请参考:https://www.jstree.com/ 效果如下: 代码下载:http://files.cnblogs.com/files/zjfree/jsTree_file.rar…
How To Write In Sharepoint Log File 怎么对自定义的MOSS代码写日志 Add Microsoft.Office.Server dll in your project, you can find this dll under “\Common Files\Microsoft Shared\Web Server Extensions\12\ISAPI\”. The log files are found under \Common Files\Microsoft…
三.代码实现(DELPHI版本),采用第三种方式实现代码插入. 1. 定义两个类,一个用来实现在内存中建立输入表:一个用来实现对PE头的代码插入. DelphiCode: const MAX_SECTION_NUM = 20; const DYN_LOADER_START_MAGIC = $C0DE51A9; const DYN_LOADER_END_MAGIC = $C0DEE2DE; const DYN_LOADER_START_DATA1 = $DA1EDA1E; const IMPORT…
原文:分享非常有用的Java程序 (关键代码)(六)---解析/读取XML 文件(重要) XML文件 <?xml version="1.0"?> <students> <student> <name>John</name> <grade>B</grade> <age>12</age> </student> <student> <name>Mar…
自从Node.js出现以来,基于其的前端开发的工具框架也越来越多了,从Grunt到Gulp再到现在很火的WebPack,所有的这些新的东西的出现都极大的解放了我们在前端领域的开发,作为一个在前端领域里打滚了两年的文艺小码农来说,也有自己的一些体会,今天就来分享一下自己基于Gulp编写的一个比较丑陋的前端开发环境,本人技术有限,有问题和意见请私下聊,勿喷: 首先安装Node.js,至于怎么安装的话 ,自行度娘.安装完成之后在命令行里面输入下面两个命令,如果输出了版本号的话(这个是我自己电脑上的版本…
1.需求 需求很简单,就是在C#开发中高速写日志.比如在高并发,高流量的地方需要写日志.我们知道程序在操作磁盘时是比较耗时的,所以我们把日志写到磁盘上会有一定的时间耗在上面,这些并不是我们想看到的. 2.解决方案 2.1.简单原理说明 使用列队先缓存到内存,然后我们一直有个线程再从列队中写到磁盘上,这样就可以高速高性能的写日志了.因为速度慢的地方我们分离出来了,也就是说程序在把日志扔给列队后,程序的日志部分就算完成了,后面操作磁盘耗时的部分程序是不需要关心的,由另一个线程操作. 俗话说,鱼和熊掌…
上一篇讲解了基础文件IO的理论发展,这里结合java看看各项理论的具体实现. 传统IO-intsmaze 传统文件IO操作的基础代码如下: FileInputStream in = new FileInputStream("D:\\java.txt"); in.read(); JAVA虚拟机内部便会调用OS底层的 read()系统调用完成操作,在调用 in.read()的时候就是从内核缓冲区直接返回数据了. FileInputStream基础read()内部也是调用的read(char…
转自:http://blog.chinaunix.net/uid-30254565-id-5637596.html linux内核中链表代码分析---list.h头文件分析(一) 16年2月27日17:13:14 在学习数据结构时,有一个重要的知识点就是链表.对于链表的一些基本操作,它的最好学习资料就是内核中的list.h头文件,内核中大量的使用链表,都是基于此文件的,下面来仔细分析它: (一) 结构体的定义 首先需要明确的一点是,在数据结构书中,大部分的链表定义是这样的(双向链表): type…
转自:http://blog.chinaunix.net/uid-30254565-id-5637598.html linux内核中链表代码分析---list.h头文件分析(二) 16年2月28日16:59:55 分析完container_of()宏以后,继续分析list.h文件: (1)list_entry 它就是一个container_of宏,都是得到ptr所指地址的这个结构体的首地址 #define list_entry(ptr, type, member) \ container_of(…
原文地址:http://blog.csdn.net/fjekin/article/details/62234861 一.前言 最近项目接触到2C的很多接口,提供接口文档和WSDL文件,一开始测试接口都是一个个码代码,后面了解到可以先用SoapUI跑一下通不通,再后来更牛叉,既然用wsdl文件直接生成客户端代码.期间摸滚带爬花了挺多时间,前车之鉴,学习记录一下.关于WSDL的详细说明链接. 二.SoapUI快速创建WebService 下载地址:https://www.soapui.org/dow…
排序算法在程序中有至关重要的作用, 不同算法的时间复杂度和空间复杂度都有所区别, 这影响着程序运行的效率和资源占用的情况, 经常对一些算法多加练习, 强化吸收, 可以提高对算法的理解, 进而运用到实践中, 以下是常用的一些算法排序思维, 将以最简单的代码块呈现 : 冒泡排序 numbers = [58,35,78,12,6,19,-15,167] #从小到大 for i in range(len(numbers)-1):#需要比较几轮 for j in range(len(numbers)-1-…
Atitit.Guibutton与面板---项目规模的评估----文件数统计,结构,代码行数,每类型文件行数. 1. Kpi:::  代码行数(凝视行数,空白的行数), 方法数,class数 1 2. 过滤器::: 扩展名过滤 1 3. SourceCounter 3.3 (2M) 1 4. 概览 2 5. 具体 3 6. 扩展名过滤 3 7. 导出html 3 8. OnlyJava 3 1. Kpi:::  代码行数(凝视行数,空白的行数), 方法数,class数 2. 过滤器::: 扩展名…
Atitit.Gui按钮与面板---项目规模的评估----文件数统计,结构,代码行数,每类型文件行数. 1. Kpi:::  代码行数(注释行数,空白的行数), 方法数,class数 1 2. 过滤器::: 扩展名过滤 1 3. SourceCounter 3.3 (2M) 1 4. 概览 2 5. 详细 3 6. 扩展名过滤 3 7. 导出html 3 8. OnlyJava 3 1. Kpi:::  代码行数(注释行数,空白的行数), 方法数,class数 2. 过滤器::: 扩展名过滤 作…
  1.需求 需求很简单,就是在C#开发中高速写日志.比如在高并发,高流量的地方需要写日志.我们知道程序在操作磁盘时是比较耗时的,所以我们把日志写到磁盘上会有一定的时间耗在上面,这些并不是我们想看到的. 2.解决方案 2.1.简单原理说明 使用列队先缓存到内存,然后我们一直有个线程再从列队中写到磁盘上,这样就可以高速高性能的写日志了.因为速度慢的地方我们分离出来了,也就是说程序在把日志扔给列队后,程序的日志部分就算完成了,后面操作磁盘耗时的部分程序是不需要关心的,由另一个线程操作. 俗话说,鱼和…
转至 :http://blog.csdn.net/majianfei1023/article/details/45788591 socket可读可写条件,经常做为面试题被问,因为它考察被面试者对网络编程的基础了解的是不是够深入. 要了解socket可读可写条件,我们先了解几个概念:1.接收缓存区低水位标记(用于读)和发送缓存区低水位标记(用于写): 每个套接字有一个接收低水位和一个发送低水位.他们由select函数使用. 接收低水位标记是让select返回"可读"时套接字接收缓冲区中所…
[C#]使用 C# 代码实现拓扑排序   目录 0.参考资料 1.介绍 2.原理 3.实现 4.深度优先搜索实现 回到顶部 0.参考资料 尊重他人的劳动成果,贴上参考的资料地址,本文仅作学习记录之用. https://www.codeproject.com/Articles/869059/Topological-sorting-in-Csharp https://songlee24.github.io/2015/05/07/topological-sorting/ https://www.cnb…
近期在做关于站点的项目,总是发生这种问题 写的javascript代码在页面上没有问题,可是将js代码移植到.js的文件里,在页面上进行调用,总是出现失效等错误 另外改动后的js代码,又一次刷新网页仍然不起作用 经过大量搜索并经过验证.能够用以下方法来解决 将js代码封装到js文件里失效的原因可能是js文件里存在中文凝视,导致在运行的时候中断,在js文件尽量不要写中文凝视 改动后的js代码刷新网页后不起效果可能是由于你所用的浏览器使用缓存的问题,可在浏览器中设置取消使用缓存,并删除暂时文件.重新…
shell编程系列13--文本处理三剑客之sed利用sed追加文件内容 追加用法总结: .a 在匹配行后面追加 .i 在匹配行前面追加 .r 将文件内容追加到匹配行后面 .w 将匹配行写入指定文件 追加用法示例详解: .a ().passwd文件第10行后面追加"Add Line Behind" sed -i '10aAdd Line Behind' passwd ().passwd文件第10行到第20行,每一行后面都追加"Test Line Behind" sed…
shell编程系列12--文本处理三剑客之sed利用sed修改文件内容 修改命令对照表 编辑命令 1s/old/new/ 替换第1行内容old为new ,10s/old/new/ 替换第1行到10行的内容old为new ,+5s/old/new/ 替换1行到6行的内容old为new /pattern1/s/old/new/ 替换匹配到pattern1的行内容old为new /pattern1/,/pattern2/s/old/new/ 替换匹配到pattern1的行直到匹配到pattern2的所…