一.前言 使用ABP也有一段时间了,很多东西是懂非懂,打算试着使用abp来搭建一套SAAS系统,与实际项目相互验证. 主要实现以下目标: 将ABP源码与实际项目相结合,后续可以修改相关源码来支持项目,使得开源发挥相关作用 由浅入深,争取做到每一步清晰,让新人也容易入手 具备常见模块: 发布源码到GITHUB 每一次源码发到CSDN下载站 本教程适用人群: 对DDD有一定了解(不了解可以参考:http://www.cnblogs.com/landeanfen/p/4816706.html) 对AB…
vagrant打造自己的开发环境 缘由: 在网上看到斌哥,爽神都写了关于vagrant的博客,都在说很强大,所以很好奇这玩意怎么个强大,然后也就自己来一发玩玩看看. 真实缘由: 说实话是电脑配置太低,win7系统,3G内存,08年的品牌机,所以扛不住Vmware的,以前也是一直在用Vmware,但是面对面前的这台电脑,也只能呵呵了~ 期间曾经用过一段Ubuntu,由于工作原因,需要实时QQ进行交流,所以又呵呵了~ 至于大家说什么wine+QQ,什么个人开发的Ubuntu上可运行的QQ,我又只能呵…
   实际的需求就类似github 的自定义page 1. 个性化域名    github 实现原理就是用户个性化域名使用泛域名解析,这个比较简单,大部分域名提供商都可以解决    具体操作不用赘述    使用nginx 的配置比较简单    openresty 配置如下: server { listen 8080default; index index.html index.htm index.php; root html; location /{ root html; } location…
0. 前言 前几天跟朋友聚会的时候,朋友说他们公司准备自己搞一套saas系统,以实现多个第三方平台的业务接入需求.聊完以后,实在手痒难耐,于是花了两天时间自己实现了两个saas系统多租户数据隔离实现方案.俗话说“独乐乐不如众乐乐”,所以我把我的“研究成果”写出来,让大家乐呵乐呵. 在分享我的研究成果之前,我们先了解一下相关的定义吧.如果对这部分内容熟悉的同学,可以直接略过. 1. 什么是saas系统 引用百度百科上面的描述, “SaaS平台是运营saas软件的平台.SaaS提供商为企业搭建信息化…
家用PC机打造VSphere5.1 测试环境前言:实践出真知,同样学习VMware VSphere 的朋友,也需要不断的测试总结,再测试再总结只有不断的积累才能学好,但是动辄几万的服务器不是所有朋友都能有机会接触的,所以这里我们使用家用的PC机打造VSphere5.1 测试环境,共包括以下几个部分: 之DIY攒机篇 之ESXi5.1 安装篇 之部署VCenter Server 5.1 之嵌套虚拟ESX5.1  之测试虚拟机 ............. 家用PC机打造VSphere5.1 测试环境…
这段时候在准备从零开始做一套SaaS系统,之前的经验都是开发单数据库系统并没有接触过SaaS系统,所以接到这个任务的时候也有也些头疼,不过办法部比困难多,难得的机会. 在网上找了很多关于SaaS的资料,看完后使我受益匪浅,写文章之前也一直在关注SaaS系统的开发,通过几天的探索也有一些方向. 多租户系统首先要解决的问题就是如何组织租户的数据问题,通常情况有三种解决方案: 按数据的隔离级别依次为: 一个租户一个数据库实例(数据库级) 一个租户一个Schema (Schema) 每个租户都存储在一个…
efcore在Saas系统下多租户零脚本分表分库读写分离解决方案 ## 介绍 本文ShardinfCore版本x.6.0.20+ 本期主角: - [`ShardingCore`](https://github.com/dotnetcore/sharding-core) 一款ef-core下高性能.轻量级针对分表分库读写分离的解决方案,具有零依赖.零学习成本.零业务代码入侵适配 单dbcontext多数据库自动迁移 之前发过一篇文章 EFCore高级Saas系统下单DbContext如何支持不同数…
打造高效前端工作环境 - tmux 前言  现在前端开发可不容易啊,先打开个VIM,然后再打开个lite-server,一不小心写个ES2015还要打开个gulp来做预编译,如果能把这么多个窗口放在一个工作台上那就好了.咦,tmux不就专干这事的吗? tmux入门 安装sudo apt install tmux tmux的C/S架构 服务端(Server), 1个服务端维护1-N个会话; 会话(Session), 1个会话对应1~N个窗口; 窗口(Window), 1个窗口对应1~N个窗格; 窗…
首先,还是要说,任何一种新特性的引入,通常有着其特有的场景和解决的目标需求,localstorage也一样.在我们的应用场景中,主要在金融业务服务的saas系统.其中涉及很多更改频率很多的元数据的客户端缓存问题,这是我们使用它的一个关键因素,document之间的传递则不是我们选择它的原因,因为我们可以在框架层面自行统一处理. 各浏览器对localstorage的支持情况如下: 简单的讲,localStorage的原理就是浏览器为每个域名划出一块本地存储空间,用户网页可以通过localStora…
本系列博客主要是以对战游戏为背景介绍3D对战网络游戏常用的开发技术以及C++高级编程技巧,有了这些知识,就可以开发出中小型游戏项目或3D工业仿真项目. 笔者将分为以下三个部分向大家介绍(每日更新): 1.实现基本通信框架,包括对游戏的需求分析.设计及开发环境和通信框架的搭建: 2.实现网络底层操作,包括创建线程池.序列化网络包等: 3.实战演练,实现类似于CS反恐精英的3D对战网络游戏: 技术要点:C++面向对象思想.网络编程.Qt界面开发.Qt控件知识.Boost智能指针.STL算法.STL.…
AIX系统的环境变量设置 用户环境的定义是通过设置环境变量来实现的.AIX系统主要使用两大类profile文件来定义用户环境.一类是用来为所有用户定制环境,另一类是为个人定义自己的环境. 登录时,shell首先执行/etc/profile文件中的命令,然后运行/etc/environment文件中的命令来设置你的AIX系统环境.这两个文件运行完毕后,系统会接着检查在登录用户的home目录下是否有.profile文件,如果.porfile文件存在,就运行它. .profile文件还会指出是否还有一…
“启动fis的调试服务器(注意添加 --no-rewrite 参数),如果报错 没有php-cgi环境,请 安装 它,并把php-cgi命令加到系统的环境变量” 对官网这句话的解释: 下载php-5.2.17-nts-Win32-VC6-x86,添加环境变量..解压放到c盘(随便放一个目录)并改名为php,然后设置系统变量,添加path值为;c:\php...注销一下使其生效. 进入cmd:输入php-cgi -v,出现版本信息就是正确.如:(每次运行一下php-cgi) 最后fis serve…
2B Saas系统最近几年都很火.很多创业公司都在尝试创建企业级别的应用 cRM, HR,销售, Desk Saas系统.很多Saas创业公司也拿了大额风投.毕竟Saas相对传统软件的优势非常明显. 最近一年,有幸架构一个Crm saas 系统,上线了几个月来,各方面都比满意.整个系统创建过程,踩了很多坑,收获也比较多.总结一下Saas系统架构一些特点: 1.分层设计 saas系统分层大概是: 租户识别>应用层>数据访问层>缓存层>数据库 业务代码都是写在应用层. 租户识别可以用s…
QT5.6.0 VS2013 Win764位系统QT环境搭建过程 没用过QT自己跟同事要了安装包,按照同事指导方法操作安装部署开发环境结果遇到好多问题,错误网上搜遍了所有帖子也没有找到合适的解决方案.纠结了好几天,真是痛苦的经历,现记录下来,也给大家做个参考: 之前遇到的错误: 错误1: LNK1104:cannot open file ‘shell32.lib’ 错误2: LNK1158:  cannot run 'rc.exe' 错误3: LNK1104:  cannot open file…
linux系统Centos环境下如何搭建SVN服务器以及svnserve.conf.authz.passwd配置文件详细介绍   至于svn的概念,这里就不做详细阐述了,可以自行百度.简单来讲就是一个代码管理工具.本笔记就是记录下svn安装搭建步骤而已.1,yum安装svn yum install subversion -y 2.验证是否安装完成 svnserve --version 如显示svn版本以及介绍信息,说明svn安装成功.或直接netstat 或ps查看也可以. 4.配置当前的版本库…
基于DRL和TORCS的自动驾驶仿真系统 --之环境配置 玩TORCS和DRL差不多有一整年了,开始的摸爬滚打都是不断碰壁过来的,近来在参与CMU的DRL10703课程学习和翻译志愿者工作,也将自己以前的一些工作做一些备忘,以作为有兴趣同学的参考. TORCS仿真器平台安装 仿真器平台主要包括两步:安装TORCS,然后添加锦标赛用的patch. TORCS仿真器的安装 The open racing car simulator(TORCS)主页 仿真器源文件下载地址 支持windows和linu…
2B SaaS系统最近几年都很火.很多创业公司都在尝试创建企业级别的应用 cRM, HR,销售, Desk SaaS系统.很多SaaS创业公司也拿了大额风投.毕竟SaaS相对传统软件的优势非常明显. 最近一年,有幸架构一个Crm SaaS 系统,上线了几个月来,各方面都比满意.整个系统创建过程,踩了很多坑,收获也比较多.总结一下SaaS系统架构一些特点: 1.分层设计 SaaS系统分层大概是: 租户识别>应用层>数据访问层>缓存层>数据库 业务代码都是写在应用层. 租户识别可以用s…
Windows系统中环境变量不展开的问题 问题现象:Windows.System32等系统目录里命令,无法通过Path搜索路径来执行.查看Path环境变量结果如下: D:\>echo %Path% %SystemRoot%;%SystemRoot%\System32;...... 问题原因:cmd.exe里,path里包含的环境变量没有展开. 解决办法: 变量的类型可能存在问题. REG_SZ 为 字符串类型 REG_EXPAND_SZ 为 可扩展字串类型 Two things I might…
前言 马上就到年底了,很多公司都要汇总这一年的经营情况,如果一个系统没有自动生成年报的功能, 需要人工手工去做年报,我相信可能是一个不小的工作量,最近我通过一个星期的时间,结合系统情况自动生成年报,全部以图表的形式呈现,为公司SaaS系统增光增色不少. 实现出来效果 图表主要用的是echarts来实现的,官网地址:https://echarts.apache.org/zh/index.html 全部以图表+文字进行呈现,让公司老板随时随刻能看公司的经营情况,省去人工制作的过程 ,节省大量时间,这…
ToB Saas系统最近几年都很火.很多创业公司都在尝试创建企业级别的应用 cRM, HR,销售, Desk Saas系统.很多Saas创业公司也拿了大额风投.毕竟Saas相对传统软件的优势非常明显. 最近一年,有幸架构一个Crm saas 系统,上线了几个月来,各方面都比满意.整个系统创建过程,踩了很多坑,收获也比较多.总结一下Saas系统架构一些特点: Saas系统分级: SaaS系统架构成熟度模型的5个级别--从"混乱"到"乌托邦" 第0级(混乱):每次新增一…
这个时代,我们是不是有很多岗位一定是要在电脑前面完成?如果我们让部分岗位的办公室人员离开电脑,让他们通过移动端来完成工作,这又会产生出一个什么样的变化?是否意味着可以有更多的时间在一线生产制造现场,从而可以更加高效的完成业务交付?这样工作是不是可以变得更灵活了? 随着移动端基础硬件能力的提升,运算(+云).内存.网络等都已不再是移动端瓶颈,而且摄像.GPS.认证--人脸识别等这些功能,移动端也已经是具备了许多PC端所不具备的优势.而且大量的后续研发资源不断地投入到移动端,这也构成了未来移动端可持…
EFCore高级玩法单DbContext支持多数据库迁移 前言 随着系统的不断开发和迭代默认的efcore功能十分强大,但是随着Saas系统的引进efcore基于表字段的多租户模式已经非常完美了,但是基于数据库的多租户也是可以用的,但是也存在缺点,缺点就是没有办法支持不同数据库,migration support multi database provider with single dbcontext,本人不才,查询了一下,官方文档只说明了dbcontext的迁移如何实现多数据源,但是缺不是单…
安装CentOS CentOS 7的安装与其他Linux发行版的安装差不多,个别地方稍有不同. 准备工作 准备材料 U盘:容量700M以上,用于制作U盘启动盘,因为在制作启动盘时会格式化U盘,所以U盘内不要包含重要资料 CentOS 7.1 LiveCD ISO镜像文件 Universal USB installer:Windows下的U盘启动盘制作工具 一个已安装Windows的电脑:用于制作U盘启动盘 运行Universal USB installer并制作U盘启动盘 将U盘插入计算机,重启…
写这篇文章的目的首先是为让自己以后再装linux环境时候,不用再通宵google+百度,做个备忘录,其次,给新入Linux环境的同学分享一点个人经验,再高尚点的动机也算是想做为开源技术的传播布道者.我在一开始,准备使用ubuntu,其实如果不是特别介意debian系和redhat系的区别完全可以装ubuntu,在通用Linux命令和Shell脚本而言,尤其是做Java开发而言,其实二者差别不大,而且 ubuntu中文社区支持的更好,更适合个人机器安装,但我这个人有点强迫症,所以坚持了redhat…
1 系统体系架构设计 软件开发中系统体系架构决定了一个系统稳定性.健壮性.可扩展性.兼容性和可用性,它是系统的灵魂.体系架构是架构师所关注的核心.良好的体系架构是系统成功的开端,否则,再好的代码与设计也无济于事. 2 当前.net主要的开发框架简介 l Castle Castle是针对.NET平台的一个开源项目,从数据访问框架ORM到IOC容器,再到WEB层的MVC框架.AOP,基本包括了整个开发过程中的所有东西,为我们快速的构建企业级的应用程序提供了很好的服务.其中关键的技术是ActiveRe…
不知道有多少Android开发着对Android虚拟机的那悲剧的性能有意见,反正我的看法是:那速度实在是太坑爹了! 为什么Android虚拟机比iOS和WP7的虚拟机要慢很多呢?原因如下: 1. Android 模拟器模拟的是 ARM 的体系结构(arm-eabi),而 iOS 和 WP7 的模拟器的目标体系结构都是 x86 的,另外 iOS 的模拟器中运行的 App 也是编译为 x86 的.这样一来 Android 模拟器需要做一些额外的二进制翻译工作.2. Android 模拟器用的是 QE…
注:本文由雷俊(Javaer/Emacser)和我一起编辑,所以文章版权归雷俊与我共同所有,转载者必需注明出处和我们两位作者.原文最早发于酷壳微信公众号,后来我又做了一些修改,再发到博客这边. 程序员是一个很懒的群体,总想着能够让代码为自己干活,他们不断地把工作生活中的一些事情用代码自动化了,从而让整个社会的效率运作地越来越高.所以,程序员在准备去优化这个世界的时候,都会先要优化自己的工作环境,是所谓“工欲善其事,必先利其器”. 我们每个程序员都应该打造一套让自己更为高效的工作环境.那怕就是让你…
由于种种原因,最近想亲自做一个基于python&facepp打造的智能监控系统. 0×00:萌芽 1:暑假在家很无聊 想出去玩,找不到人.玩个lol(已卸载),老是坑人.实在是无聊至极,不过,就在前天,隔壁邻居家的房子被租出去了.因为我是农村的,房子都是独立的带院子的,没错就是这样的: 因为家里经常没人住,并且还放有其他贵重物品,生怕一不留神,这些租户跳到我家.把这些东西洗劫一空.此时我已经安耐不住内心的小激动!那么.搭建一个智能监控系统可好! 2:新闻报道 2017年7月13日讯,家庭摄像头遭…
文档目录 本节内容: 简介 模块定义 生命周期方法 PreInitialize(预初始化) Initialize(初始化) PostInitialize(提交初始化) Shutdown(关闭) 模块依赖 插件模块 Asp.net Core Asp.net Mvc,Web Api 插件中的控制器 附加程序集 自定义模块方法 模块配置 模块生命期 简介 ABP为创建模块及组织它们提供基础框架.一个模块可依赖于另一个模块.通常地,一个程序集做为一个模块.如果你的应用是多个程序集,建议为每个程序集定义一…
想切换操作系统的默认语言环境,可以使用如下命令,而不用重新安装系统: 查看操作系统的语言: # env | grep LANG 使用root导入要使用的系统语言: # export LANG=en_US.UTF-8 重新配置本地语言环境: # dpkg-reconfigure locales 会弹出一个窗口,要求你选择系统要使用的本地语言.如图所示: 选中后,不会立即生效,需要重启即可生效.…