做.NET软件工作已经10年了,从程序员做到高级程序员,再到技术主管,技术总监。见证了Visual Studio .NET 2003,Visul Studio 2005, Visual Studio Team System 2008, Visual Studio 2010 Ultimate,Visual Studio 2013一系列近5个版本的变化与亲自使用。每一个...
UI前端
.Net推出13年了,Visual Studio 2015 / .NET Framework 4.6近日也发布了。 从2002年的.NET 1.0开始,1.1,2.x,3.x,4.x,每个新版本的.NET都会增加新的技术,生态圈也在不断壮大。 问题 大家是否想过: .NET究竟包含哪些技术呢? 我所掌握的技术这个子集,...
要是你是一个C#程序员,那么本文介绍的10个C#常用代码片段一定会给你带来帮助,从底层的资源操作,到上层的UI应用,这些代码也许能给你的开发节省不少时间。以下是原文: 1 读取操作系统和CLR的版本 OperatingSystem os = System.Environment.OSVersion; Cons...
项目中有一处需求,需要把长网址缩为短网址,把结果通过短信、微信等渠道推送给客户。刚开始直接使用网上现成的开放服务,然后在某个周末突然手痒想自己动手实现一个别具特色的长网址(文本)缩短服务。 由于以前做过socket服务,对数据包的封装排列还有些印...
C#和.NET非常受全球开发人员的追捧和热爱。书籍是人类进步的阶梯。想要学习C# ?这里有10本学习C#编程的最好书籍在等着你哦。 1.《C# 5.0 in a Nutshell》:权威的参考书 学习C#的最佳书籍之一。要是你想要获取最新的信息以增长有关C#语言编程的知识,这是最好...
上一篇我们研究了如何利用索引在数据库里面调优,简要的介绍了索引的原理,更重要的分析了如何选择索引以及索引的利弊项,有兴趣的可以点击查看。 该文章内容延续上一篇的内容,继续分析索引这块,侧重索引项的日常维护以及一些注意事项等。 闲言少叙,进入...
Redis简介 redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰...
DNX的全称是.NET Execution Enviroment(.NET执行环境),它是.NET跨平台的一个重要角色。要是你关注.NET的跨平台,一定要关注DNX。 由于Mono 4.0的一个bug(现已修复),目前要是要在Mac上编译dnx,需要先签出Mono的源代码进行编译,详见?Bug 29499 - Syste...
软件开发中的性能优化对程序员来说是一个非常重要的问题。一个小问题可能成为一个大的系统的瓶颈。但是对于程序员来说,通过自身去优化代码是十分困难的。幸运的是,有一些非常棒的工具可以帮助程序员进行代码分析和性能测试,从而大大简化程序员进行代码性能...
1.“==”和Equals两个真的有关联吗? 对于“==”和Equals大多数网友都是这样总结的: “==” 是比较两个变量的值相等。 Equals是比较两个变量是否指向同一个对象。 public class Person {public Person(string name){ this.Name = name;} public string Nam...
关于WPF的属性系统园子内有不少这方面的文章。里面大都提到了WPF依赖属性的在内存方面的优化。但是里面大都一笔带过。那么WPF到底是怎么样节约内存的。我们通过WPF属性和普通的CLR属性对比来看一下WPF属性在节约内存方面的优势在哪里。 普通的CLR属性 public...
一、为什么需要路由优先级 大家都知道我们在Asp.Net MVC项目或WebApi项目中注册路由是没有优先级的,当项目比较大、或有多个区域、或多个Web项目、或采用插件式框架开发时,我们的路由注册很可能不是写在一个文件中的,而是分散在很多不同项目的文件中,这样...
要是你最近关注了 Microsoft?Developer 的空间,你可能会想“这是一个新的微软”。要是你参加了最近的 BUILD 开发者大会,这个领悟将会更加明显。改变发生在微软开发者的各个角落,而且似乎是在向着好的方向变化着。 可以确定,你喜欢 Visual?Studio 作为 ID...
该文主要说下楼主平常项目中缓存使用经验和遇到过的问题。 目录 一: 基本写法 二:缓存雪崩 1:全局锁,实例锁 2:字符串锁 三:缓存穿透 四:再谈缓存雪崩 五:总结 一:基本写法 为了方便演示,我们用Runtime.Cache做缓存容器,并定义个简单操作类。如下...
一、同步委托 我们平时所用的委托以同步居多,我们编写一个方法和相关委托进行演示: publicdelegatevoid DoSomethingDelegate(string name); //同步委托 public static void Start1() { Console.WriteLine('this is primary thread'); Console.WriteLine...
上一篇我们分析了查询优化器的工作方式,其中包括:查询优化器的详细运行步骤、筛选条件分析、索引项优化等信息。 该文章内容我们分析在我们运行的过程中几个关键指标值的检测。 通过这些指标值来分析语句的运行问题,并且分析其优化方式。 通过该文章内容...
前言 上一篇我们介绍了如何查看查询计划,该文章内容将介绍在我们查看的查询计划时的分析技巧,以及几种我们常用的运算符优化技巧,同样侧重基础知识的掌握。 通过该文章内容可以了解我们平常所写的T-SQL语句,在SQL Server数据库系统中是如何分解执行的,...
我是新手 学习如何管理和导航MySQL数据库和表是要掌握的首要任务之一,下面的内容将主要对MySQL的数据库和表的一些常用命令进行总结,一些我们不得不掌握的命令,一些信手拈来的命令。 处理数据库 查看数据库 获取服务器上的数据库列表通常很有用。执行show...
前言 上两篇文章我们介绍了查看查询计划的方式,以及一些常用的连接运算符的优化技巧,该文章内容我们总结联合运算符的使用方式和优化技巧。 废话少说,直接进入该文章内容的主题。 技术准备 基于SQL Server2008R2版本,利用微软的一个更简洁的案例库(No...
经过前几篇的分析,其实大体已经初窥到SQL Server统计信息的重要性了,所以该文章内容就要祭出这个神器了。 该篇内容会很长,坐好板凳,瓜子零食之类… 不废话,进正题 技术准备 数据库版本为SQL Server2008R2,利用微软的以前的案例库(Northwind)进行分...
前言 上三篇文章我们介绍了查看查询计划的方式,以及一些常用的连接运算符、联合运算符的优化技巧。 该文章内容我们分析SQL Server的并行运算,作为多核计算机盛行的今天,SQL Server也会适时调整自己的查询计划,来适应硬件资源的扩展,充分利用硬件资源,...
MyBatis缓存介绍 首先看一段wiki上关于MyBatis缓存的介绍: MyBatis支持声明式数据缓存(declarative data caching)。当一条SQL语句被标记为“可缓存”后,首次执行它时从数据库获取的所有数据会被存储在一段高速缓存中,今后执行这条语句时就会从高速缓存中...
文件下载是一个网站最基本的功能,ASP.NET网站的文件下载功能实现也很简单,但是要是遇到大文件的下载而不做特殊处理的话,那将会出现不可预料的后果。本文就基于ASP.NET提供大文件下载的实现思路及代码。 当我们的网站需要支持下载大文件时,要是不做控制可...
提起函数式编程,大家一定想到的是语法高度灵活和动态的LISP,Haskell这样古老的函数式语言,往近了说ruby,javascript,F#也是函数式编程的流行语言。然而.net自从支持了lambda表达式,C#虽然作为一种指令式程序设计语言,在函数性编程方面也毫不逊色。我们在...
前面文章里主要讨论缓存读写这块各种代码实现。该文是就前面文章里的问题接着来,继续看那些年我们各种缓存用法。 一:缓存预热 前面文章里有同学问过。在第一次加载时,我们的缓存都为空,怎么进行预热。 单机Web情况下,一般我们使用RunTimeCache。相对于这...