ISE(Iris Server Engine)是一个基于现代C++的跨平台(Linux和Windows)的高性能多线程并发网络服务器程序框架.它封装了琐碎的socket以及各种操作系统APIs,以面向对象方式向开发者提供稳定.高效.易扩展.易配置.易维护的程序框架.ISE的用户只需遵循接口的约定,挂接自己的业务程序,即可轻松开发出稳定.高效的网络服务器程序. ISE的主要特点: 跨平台.目前支持Linux和Windows. 基于多线程并发,而非多进程. 支持TCP与UDP服务端程序开发. 基于P…
MSBuild 的 Task 为我们扩展项目的编译过程提供了强大的扩展性,它使得我们可以用 C# 语言编写扩展:利用这种扩展性,我们可以为我们的项目定制一部分的编译细节.NuGet 为我们提供了一种自动导入 .props 和 .targets 的方法,同时还是一个 .NET 的包平台:我们可以利用 NuGet 发布我们的工具并自动启用这样的工具. 制作这样的一个跨平台 NuGet 工具,我们能够为安装此工具的项目提供自动的但定制化的编译细节--例如自动生成版本号,自动生成某些中间文件等. 本文更…
今天早上六点半左右微信群里就看到张队发的关于.NET Spark大数据的链接https://devblogs.microsoft.com/dotnet/introducing-net-for-apache-spark/ ,正印证了"微软在不断通过.NET Core补齐各领域开发,真正实现一种语言的跨平台"这句话.那么我们今天就来看看这个 .NET for Apache Spark到底是个什么鬼? 作者:依乐祝 原文链接:https://www.cnblogs.com/yilezhu/p…
命令行可是跨进程通信的一种非常方便的手段呢,只需启动一个进程传入一些参数即可完成一些很复杂的任务.NuGet 为我们提供了一种自动导入 .props 和 .targets 的方法,同时还是一个 .NET 的包平台:我们可以利用 NuGet 发布我们的工具并自动启用这样的工具. 制作这样的一个跨平台 NuGet 工具,我们能够为安装此工具的项目提供自动的但定制化的编译细节——例如自动生成版本号,自动生成某些中间文件等. 本文更偏向于入门,只在帮助你一步一步地制作一个最简单的 NuGet 工具包,以…
原文查看10 Best Vue.js based UI Frameworks for Building Mobile Apps 如果您期待使用Vue.js构建移动应用程序,那么您可以选择许多可用的UI框架. 在本文中,我们将介绍一些基于Vue.js的框架,这些框架可用于构建多设备混合(Cordova或Phonegap)应用程序以及Native应用程序. 理论上,您可以使用支持移动浏览器的任何Web框架(或自己动手),并使其与Vue.js和Cordova一起使用. 但是,拥有专用的UI框架允许您选…
[转]一个基于完成端口的TCP Server Framework,浅析IOCP http://www.cppblog.com/adapterofcoms/archive/2010/06/26/118781.aspx   如果你不投递(POST)Overlapped I/O,那么I/O Completion Ports 只能为你提供一个Queue.     CreateIoCompletionPort的NumberOfConcurrentThreads:1.只有当第二个参数ExistingComp…
最近使用vscode比较多. 学习了一下如何在mac上使用vscode开发asp.netcore项目. 这里是我写的关于vscode的一篇文章: https://www.cnblogs.com/cgzl/p/8450179.html http://www.cnblogs.com/cgzl/p/8450409.html 这篇文章写的是使用mac(linux)/win10开发一个基于asp.net core 2.0 web api, angular 5, bootstrap 4, sql serve…
关键词: IOKING IOCP TCP  Transmission Server Engine Lock Free Interlocked 云猴完毕portTCP通讯server引擎 无锁 原子锁(函数) 'IOKING' TCP Transmission Server Engine ('云猴'©TCP通讯server引擎)(预告版) 下载连接: http://download.csdn.net/detail/guestcode/7474171 补充: 无锁消息引擎已经完毕: http://b…
2008年11月,我在博客园开通了个人帐号,并在博客园发表了自己的第一篇博客.当然,我写博客也不是从2008年才开始的,在更早时候,也在CSDN和系统分析员协会(之后名为"希赛网")个人空间发布过一些与编程和开发相关的文章.从入行到现在,我至始至终乐于与网友分享自己的所学所得,希望会有更多的同我一样的业内朋友能够在事业上取得成功,也算是为我们的软件事业贡献自己的一份力量吧,这也是我在博客园建博客时候的愿景:专业.求是.解惑.因此,我在撰写博客文章的时候,都是以客观严谨的态度来阐述技术知…
2008年11月,我在博客园开通了个人帐号,并在博客园发表了自己的第一篇博客.当然,我写博客也不是从2008年才开始的,在更早时候,也在CSDN和系统分析员协会(之后名为“希赛网”)个人空间发布过一些与编程和开发相关的文章.从入行到现在,我至始至终乐于与网友分享自己的所学所得,希望会有更多的同我一样的业内朋友能够在事业上取得成功,也算是为我们的软件事业贡献自己的一份力量吧,这也是我在博客园建博客时候的愿景:专业.求是.解惑.因此,我在撰写博客文章的时候,都是以客观严谨的态度来阐述技术知识,并尽可…
    我在前一种解决方案SQL Server获取下一个编码字符实现和后一种解决方案SQL Server获取下一个编码字符实现继续重构与增强两篇博文中均提供了一种解决编码的方案,考虑良久对比以上两种方案的,后一种方案虽然解决了其中方案的缺点,但是依然存在的编码字符串长度的限制(最多满足8位长度),本博文提供的方案将编码字符串长度增加到19位,也可以足够项目中实现这些编码.          具体的编码规则可以参看以上两种解决方案博文中的描述,也可以进入SQL Server 大V潇湘隐者的获取下一…
原文:SQL 2008 SP2 找不到SQL Server Engine 最近我有个客户碰到一个很奇怪的问题.他安装SQL server 2008 SP2的时候, SP2的安装程序无法找到SQL server.界面如下: 正常的界面应该是这样的: 你可以从上图看到, 上面列出了我机器上的SQL 实例SQLEXPRESS. 那么客户的机器上为什么就不能列出呢? 我首先考虑是不是下载的SP2版本不对?仔细核查了下,客户的SQL server 是x64版本的,而下载的SP2也是64bit的版本.所以补…
公布一个基于 Reactor 模式的 C++ 网络库 陈硕 (giantchen_AT_gmail) Blog.csdn.net/Solstice 2010 Aug 30 本文主要介绍 muduo 网络库的使用.其设计与实现将有另文解说. 文件夹 由来 1 下载与编译 2 样例 2 基本结构 3 公开接口 4 内部实现 4 线程模型 5 结语 5 由来 半年前我写了一篇<学之者生,用之者死——ACE历史与简评>,当中提到“我心目中理想的网络库”的样子: 线程安全,支持多核多线程 不考虑可移植性…
一个基于STSdb和fastJson的磁盘/内存缓存 需求 业务系统用的是数据库,数据量大,部分只读或相对稳定业务查询复杂,每次页面加载都要花耗不少时间(不讨论异步),觉得可以做一下高速缓存,譬如用nosql那种key/value快速存取结果 目的 这里不是要做一个大家都适用的磁盘/内存缓存库,这个做法,部分是展示STSdb的用法,部分是提供一个简单易用的解决方案. 磁盘/内存 为什么不用memcached或者AppFabric Cache这样的现成解决方案呢?因为业务要缓存的内存或大或小,小的…
JAVA WEB快速入门系列之前的相关文章如下:(文章全部本人[梦在旅途原创],文中内容可能部份图片.代码参照网上资源) 第一篇:JAVA WEB快速入门之环境搭建 第二篇:JAVA WEB快速入门之从编写一个JSP WEB网站了解JSP WEB网站的基本结构.调试.部署 第三篇:JAVA WEB快速入门之通过一个简单的Spring项目了解Spring的核心(AOP.IOC) 第四篇:JAVA WEB快速入门之从编写一个基于SpringMVC框架的网站了解Maven.SpringMVC.Spri…
封装一个基于NLog+NLog.Mongo的日志记录工具类LogUtil,代码比较简单,主要是把MongoTarget的配置.FileTarget的配置集成到类中,同时利用缓存依赖来判断是否需要重新创建Logger类,完整代码如下: /// <summary> /// 日志工具类(基于NLog.Mongo组件) /// Author:左文俊 /// Date:2017/12/11 /// </summary> public class LogUtil { private NLog.…
封装一个基于NLog+NLog.Mongo的日志记录工具类LogUtil,代码比较简单,主要是把MongoTarget的配置.FileTarget的配置集成到类中,同时利用缓存依赖来判断是否需要重新创建Logger类,完整代码如下: using NLog; using NLog.Config; using NLog.Mongo; using NLog.Targets; using System; using System.Collections.Generic; using System.IO;…
利用Dockerfile构建一个基于CentOS 7,包括java 8, tomcat 7,php ,mysql+mycat的镜像. Dockerfile内容如下: FROM centosMAINTAINER Victor root@linuxidc.comWORKDIR /rootRUN rm -f /etc/yum.repos.d/*RUN  echo '[BASE]' > /etc/yum.repos.d/base.repoRUN  echo 'name=base' >> /etc…
Swift是什么 从文章的标题可知:此Swift非Apple那个Swift,只是考虑这个词的含义比较适合. Swift是一个基于.NET Core的分布式批处理框架,支持将作业分割后分发到多台服务器并行处理,可成倍提升大量数据的处理速度. GitHub地址:https://github.com/bosima/Swift 原理 Swift作业处理分为3步:分割作业.执行任务.合并结果. Swift由多个成员节点组成集群,成员分为Manager和Worker,Manager负责分割作业和合并结果,W…
Go/Python/Erlang编程语言对比分析及示例   本文主要是介绍Go,从语言对比分析的角度切入.之所以选择与Python.Erlang对比,是因为做为高级语言,它们语言特性上有较大的相似性,不过最主要的原因是这几个我比较熟悉. Go的很多语言特性借鉴与它的三个祖先:C,Pascal和CSP.Go的语法.数据类型.控制流等继承于C,Go的包.面对对象等思想来源于Pascal分支,而Go最大的语言特色,基于管道通信的协程并发模型,则借鉴于CSP分支. Go/Python/Erlang语言特…
''' 写一个基于TCP协议套接字,服务端实现接收客户端的连接并发 ''' client import socket import time client = socket.socket() client.connect( ('127.0.0.1', 9527) ) print('启动客户端...') while True: client.send(b'hello') data = client.recv(1024) print(data) time.sleep(1) server ''' 服务…
zabbix 是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案.zabbix能监视各种网络参数,保证服务器系统的安全运营:并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题. zabbix由2部分构成,zabbix server与可选组件zabbix agent.zabbix server可以通过SNMP,zabbix agent,ping,端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能,它可以运行在Linux,Solaris,HP-UX…
gStore是遵循 BSD协议的一个开源项目.一个基于图的 RDF 三元组存储的数据管理系统.该项目是北京大学.滑铁卢大学.香港科技大学的联合研究项目.中国北京大学计算机科学与技术研究所的数据库组对该系统进行开发和维护.目前尚未商业化,需通过技术转让或授权使用.   gStore从图数据库角度存储和检索RDF知识图谱数据. gStore支持W3C定义的SPARQL1.1标准,包含Union,OPTIONAL,FILTER和聚集函数查询:gStore支持有效的增删改操作 gStore单机可以支持1…
最近研究webrtc视频直播技术,网上找了些教程最终都不太能顺利跑起来的,可能是文章写的比较老,使用的一些开源组件已经更新了,有些配置已经不太一样了,所以按照以前的步骤会有问题.折腾了一阵终于跑起来了,记录一下. 一个简单的聊天室html页面 这个页面使用simple-webrtc来实现webrtc的通讯,simple-webrtc是对几个webrtc核心对象的封装,所以使用这个会比较简单. <!DOCTYPE html> <html> <head> <title…
学习beego时候开发的一个博客系统,在持续完善,有不足之处,望大佬们多多体谅,并且指出.感谢! Go Blog 一个基于Beego的,能快速创建个人博客,cms 的系统 包含功能 查看 Go Blog 官网 http://go-blog.cn 演示站点 http://leechan.online 更新日志 时间 功能 2020年1月23日 新增文章顶置功能 2020年2月2日 新增自定义导航功能 2020年2月4日 新增站点公告功能 2020年2月6日 新增友情链接模块 2020年2月6日 新…
1.简介 中微子代理(neutrino-proxy)是一个基于 netty 的.开源的 java 内网穿透项目.遵循 MIT 许可,因此您可以对它进行复制.修改.传播并用于任何个人或商业行为. 2.项目结构 neutrino-proxy neutrino-core 与代理无关的基础封装 neutrino-proxy-core 与代理相关的公共常量.编解码器 neutrino-proxy-client 代理客户端项目 neutrino-proxy-server 代理服务端项目 neutrino-p…
SQL Server的镜像是基于物理块变化的复制 镜像Failover之后数据的预热问题 基于物理块变化的复制,没有并行也是很快的. 逻辑复制的日志是按事务结束的时间排序的,而物理复制是与事务无关的,只要发生了改变,就可以立即传送到备库,而且不需要中继 而逻辑复制必须等事务结束才能应用,而且需要中继,例如MySQL的relay log 和SQL Server的分发库,所以会慢. 所以说SQL Server的物理镜像库没有并行也是很快的,只是有了并行会更快. 关于Failover之后,数据库缓存的…
通常大家都会使用redis作为应用的任务队列表,redis的List结构,在一段进行任务的插入,在另一端进行任务的提取. 任务的插入 $redis->lPush("key:task:list",$task); 任务的提取 $tasks = $redis->RPop("key:task:list",0,-1); 可是大家想,如何使用mysql来实现一个队列表呢? 映入大家脑海的一个典型的模式是一个表包含多种类型的记录:未处理记录,已处理记录,正在处理记录等…
受益于这个模块的帮助,在这里我推荐一手. https://pythonhosted.org/psutil/#processes psutil是一个基于python的跨平台系统信息监视模块.在python下,我们可以利用它来监视.检测和限制系统资源的使用.它提供了类似于一套控制台的指令功能,像是ps.netstat.ifconfig等等.当前这个模块支持的系统有windows/osx/linux/FreeBSD/Sun Solaris.32.64位均支持.python环境为2.6-3.5. 这里我…
大家知道enode框架的架构是基于ddd+event sourcing的思想.我们持久化的不是聚合根的最新状态,而是聚合根产生的领域事件.最近我在思考如何实现一个基于文件的eventstore.目标有两个: 1.必须要高性能:2.支持聚合根事件的并发持久化,要确保单个聚合根实例不会保存版本号相同的事件: 事件持久化高性能 经过了一番调研,发现用文件存储事件非常合适.要确保高性能,我们可以顺序写文件(append),然后随机读文件.之所以要随机读文件是因为在当某些command由于操作同一个聚合根…