dapper源码(.net 4.0)】的更多相关文章

http://blog.csdn.net/ahshow/article/details/42773929…
之前ORM比较火热,自己也搞了个WangSql,但是感觉比较low,大家都说Dapper性能好,所以现在学习学习Dapper,下面简单从宏观层面讲讲我学习的Dapper. 再了解一个东西前,先得学会使用,我也不再赘述怎么使用,接转一个文章吧 http://www.cnblogs.com/yankliu-vip/p/4182892.html 好就当学习了吧,该去看看源码了,到底怎么实现和好在哪呢. 先上一张图,已经把SqlMapper.cs按类拆分了,同时我自己在学习过程中也删了加了改了一些类.…
目录: Dapper源码学习和源码修改(上篇主要讲解入参解析) Dapper源码学习和源码修改(下篇主要讲解出参解析) 继上篇讲了下自己学习Dapper的心得之后,下篇也随之而来,上篇主要讲的入参解析那下篇自然主打出参映射了. 好了,废话不多说,开始吧. 学习之前你的先学习怎么使用Dapper,这个我在上篇都提过,如果没使用过Dapper的同学,先去看看怎么使用吧,我这也简单贴一部分代码吧. 使用查询的Demo //查询 sql = "select * from Teacher"; v…
原文地址:Win 7 下源码运行OpenERP7.0 安装Python2.7 下载地址:http://www.python.org/getit/注:OpenERP7.0支持的Python版本最高为2.7 下载OpenERP7.0源代码 下载地址:http://nightly.openerp.com/7.0/nightly/src/解压缩到特定目录,例如,D:\openerp 安装Postgresql 下载地址:http://www.postgresql.org/download/windows/…
源码安装redis-5.0.4 一. 下载redis 1. 需要连接网络 二. 案例(另一种安装方法) [root@localhost ~]# wget http://download.redis.io/releases/redis-5.0.4.tar.gz [root@localhost ~]# tar zxf redis-5.0.4.tar.gz [root@localhost ~]# mv redis-5.0.4 /usr/local/redis      #把解压好的包,移动指定位置 […
源码安装qemu-2.0.0 下载源代码并解压 http://wiki.qemu-project.org/download/qemu-2.0.0.tar.bz2 .tar.gz 编译及安装: cd qemu- ./configure --enable-kvm --enable-debug --enable-vnc --enable-werror --target-list="x86_64-softmmu" make –j8 & make install 即可安装完成 如果在./…
直接从官网的源码编译时,会提示报错: gcc -DHAVE_CONFIG_H -I. -I../include -D_GNU_SOURCE -DNDEBUG -O2 --param max-inline-insns-single= -c ../ncurses/lib_gen.c -o ../objects/lib_gen.o In file included :, : _18018.c::: error: expected ‘)’ before ‘int’ ../include/curses.h…
1.卸载系统已经存在的ftp服务器 因为是源码安装,所以不能通过rpm -qa的方式查看是否已经安装ftp服务器,可以通过find / | grep vsftp*方式查看系统中存在哪些与vsftpd相关的文件,找出来通过rm删除. 以下删除代码为参考: rm /usr/local/sbin/vsftpd rm /etc/xinetd.d/vsftpd rm -rf /etc/vsftpd 2.解压源码包 .tar.gz 编码解决: vi opts.c 将if (str_equal_text(&p…
SVProgressHUD是iOS开发中比较常用的一个三方库,用来在执行耗时操作或者指示用户操作结果的场合,由于使用简单,功能丰富,交互友好,被广泛应用.本文从源码的角度,解读一下实现的过程,希望能起到抛砖引玉的作用. 一. 效果预览 1. SVPIndefiniteAnimatedView 2. SVProgressAnimatedView 3. SVRadialGradientLayer 二. 类分析 1. SVProgressHUD 这是SVProgressHUD显示提示框的类,提供类方法…
由于工作需要,下载安装onos1.0.2的版本,大家看需求可以下载安装更高级的版本 参考链接:http://www.sdnlab.com/14650.html 1.系统环境 Ubuntu16.04 LTS 64bit 下载地址:https://www.ubuntu.com/download/desktop(桌面版) 2.安装依赖(这里的版本选择根据ONOS版本确定的,在上述参考链接中作者有提到----"关于Maven和Karaf版本的说明:此处建议使用推荐的karaf-3.0.3和Maven-3…
MySQL 8 正式版 8.0.11 已发布,官方表示 MySQL 8 要比 MySQL 5.7 快 2 倍,还带来了大量的改进和更快的性能! 以下为本人2018.4.23日安装过程的记录.整个过程大概需要一个小时,make && make install过程需要的时间较长. 一.环境 CentOS7.4   64位  最小化安装 二.准备工作 1.安装依赖 yum -y install wget cmake gcc gcc-c++ ncurses ncurses-devel libaio…
1.源码包下载地址:https://www.zabbix.com/download_sources 2.下载完后上传在任意目录用root用户创建以下脚本server_ip为服务端ip然后执行. groupadd zabbix useradd -g zabbix zabbix yum install -y gcc* pcre* tar -xf zabbix-4.0.3.tar.gz cd zabbix-4.0.3 ./configure --enable-agent make install se…
搭建环境说明: 系统版本:Red Hat Enterprise Linux Server release 6.8 (Santiago) 内核版本:Linux 2.6.32-642.el6.x86_64 内网环境,无法使用网络yum源 基础环境配置: 关闭防火墙:service iptables stop 设置防火墙开机不启动:chkconfig iptables off 临时修改selinux状态:setenforce 0 永久修改(需重启后生效):sed -i 's/SELINUX=*/SEL…
events模块对外提供了一个 EventEmitter 对象,即:events.EventEmitter. EventEmitter 是NodeJS的核心模块events中的类,用于对NodeJS中的事件进行统一管理,使用events可以对特定的API事件进行添加,触发和移除等.我们可以通过 require('events')来访问该模块. 比如如下代码: // 引入 events 模块 const events = require('events'); console.log(events)…
1.修改Ubuntu国内更新源,具体方法自己baidu.google. 修改更新源后,更新系统 sudo apt-get update sudo apt-get upgrade 复制代码 2.安装PostGreSQL sudo apt-get install postgresql 复制代码 安装完成后,PostgreSQL默认的超级用户为“postgres” 3.在PostgreSQL数据库中创建一个名为OpenERP密码为postgres的新用户 切换postgres用户 sudo su po…
前言 chapter1 store构造函数 1.constructor 2.get state和set state 3.commit 4.dispatch 5.subscribe和subscribeAction 6.watch和replaceState 7.registerModule和unregisterModule 8.hotUpdate和_withCommit chapter2 export install Q:Vuex如何实现装载的? chapter3 辅助函数 1.registerMu…
centos 6和7通过yum安装的vim版本仍为7.4,若想尝鲜,可获取源码包编译安装. 准备工作 1.检查vim旧版本,若已存在,将其卸载. $ vim$ yum remove vim* -y 2.安装终端字符处理库nucrses $ yum install ncurses-devel -y 编译安装 $ cd /usr/local/src/$ wget https://codeload.github.com/vim/vim/tar.gz/v8.0.0134$ tar zxf v8.0.01…
前面两章分析的PoolChunk和PoolSubpage,从功能上来说已经可以直接拿来用了.但直接使用这个两个类管理内存在高频分配/释放内存场景下会有性能问题,PoolChunk分配内存时算法复杂度最高的是allocateNode方法,释放内存时算法复杂度最高的是free方法. PoolChunk中二叉树的高度是maxOrder,  那么算法负责度是O(maxOrder),netty默认的maxOrder是11.另外,PoolChunk不是线程安全的,如果在多线程环境下需要加锁调用,这个开销比算…
一,先在官网下载源码包:https://redis.io/download 二,解压源码包,并cd到解压后的目录: 三,执行make MALLOC=libc: 接着cd src[解压的目录里有这个子目录],执行: make install PREFIX=/usr/local/redis-5.0.6[注意,需要当前用户有/usr/local目录的写权限] 成功标志:make install后会出现五行其他颜色的INSTALL install: 注意:make编译如果失败,因为没有安装gcc服务(这…
实验环境 centos 7.5 主机名 IP地址 配置 应用 controlnode 172.16.1.120/24 4核/8G/60G java-1.8.0-openjdk zabbix server 4.0.23 LTS mysql 5.7.31 nginx 1.19.2 php 5.6.36 JavaGateway 4.0.23 ZabbixAgent 4.0.23 grafana6.7.4 docker(Prometheus) slavenode1 172.16.1.121/24 2核/…
1.安装软件 cmake  下载地址 cppan   下载地址 安装完毕后,需要将cmake.exe和cppan.exe加入环境变量PATH中 cmake简介 CMake全称为“cross platform make”,是一个开源的跨平台自动化构建系统.使用指定名为CMakeLists.txt的配置文件可以控制软件的构建.测试和打包等流程.同时,通过编写平台无关的CMakeLists.txt文件进行简单的配置,CMake就能生成对应目标平台的构建文件.例如:linux系统的makefile文件.…
卸载自带openssl sudo apt-get remove openssl 解压文件tar -xzf openssl-1.0.2k.tar.gz 配置 sudo ./config shared --prefix=/usr/local/openssl --openssldir=/usr/lib/openssl shared 表示生成动态库 prefix 表示安装目录 openssldir 表示配置文件目录,ubuntu默认是/usr/lib/openssl,若设置其他目录,执行openssl命…
PHP7和HHVM比较PHP7的在真实场景的性能确实已经和HHVM相当, 在一些场景甚至超过了HHVM.HHVM的运维复杂, 是多线程模型, 这就代表着如果一个线程导致crash了, 那么整个服务就挂了, 并且它不会自动重启.另外它采用JIT, 那么意味着, 重启以后要预热, 没有预热的情况下, 性能较为糟糕.并且多线程模型调试困难, 这对于追求稳定来说的Web服务来说, 是非常不适合的. 下载 # wget  http://php.uberglobalmirror.com/distributi…
PoolChunk用来分配大于或等于一个page的内存,如果需要小于一个page的内存,需要先从PoolChunk中分配一个page,然后再把一个page切割成多个子页-subpage,最后把内存以subpage为单位分配出去.PoolSubpage就是用来管理subpage的. 一个page会被分割成若干个大小相同的subpage,subpage的的大小是elemSize.elemSize必须是16的整数倍,即必须满足elemSize & 15 == 0.elemSize的取值范围是(16,…
PooledByteBufAllocator负责初始化PoolArena(PA)和PoolThreadCache(PTC).它提供了一系列的接口,用来创建使用堆内存或直接内存的PooledByteBuf对象,这些接口只是一张皮,内部完全使用了PA和PTC的能力.初始化过程分两个步骤,首先初始化一系列的默认参数,然后初始化PTC对象和PA数组. 默认参数和它们的值 DEFAULT_PAGE_SIZE: PoolChunk中的page的大小-pageSize,  使用-Dio.netty.alloc…
Future模式是一个重要的异步并发模式,在JDK有实现.但JDK实现的Future模式功能比较简单,使用起来比较复杂.Netty在JDK Future基础上,加强了Future的能力,具体体现在: 更加简单的结果返回方式.在JDK中,需要用户自己实现Future对象的执行及返回结果.而在Netty中可以使用Promise简单地调用方法返回结果. 更加灵活的结果处理方式.JDK中只提供了主动得到结果的get方法,要么阻塞,要么轮询.Netty除了支持主动get方法外,还可以使用Listener被…
    io.netty.buffer包中是netty ByteBuf的实现.ByteBuf是一个二进制缓冲区的抽象接口,它的功能有: 可以随机访问.顺序访问. 支持基本数据类型(byte, short, int, long, float, double)的序列化和反序列化. 不限制底层原始的数据类型,可以是byte[], NIO Buffer, String, IO Stream, 直接内(C语言中可以表示为指向一块内置起始地址的指针void*, 内存的长度), 等等. 为什么需要ByteBu…
为了linux下的sqlplus方便调用历史命令和退格,安装下rlwrap,最新版本是0.43,貌似作者已经不更新了 下载地址 https://fossies.org/linux/privat/rlwrap-0.43.tar.gz/ 下载后winscp传入到linux上,然后安装 [root@localhost db]#ll|grep rlwrap -rw-r--r--. 1 root root 313139 Jul 30 08:50 rlwrap-0.43.tar.gz [root@local…
序言 资料 https://github.com/StackExchange/Dapper…
本篇是纯粹安装zabbix4.0.1, 前提需要安装lnmp请安装 https://www.cnblogs.com/effortsing/p/9982028.html 环境准备: 一台虚拟机 192.168.1.204 关闭防火墙.selinux .首先安装lnmp架构实现能访问php.能连接mysql,mysql.php.nginx 都启动 .安装zabbix )下载安装包 [root@www ~]# cd /usr/local/ [root@www local]# wget https://…