- 博客(68)
- 资源 (7)
- 收藏
- 关注
转载 中小型研发团队架构实践十:应用监控怎么做?
一、Metrics 简介 应用监控系统 Metrics 由 Metrics.NET+InfluxDB+Grafana 组合而成,通过客户端 Metrics.NET 在业务代码中埋点,Metrics.NET 会把收集到的数据存储在 InfluxDB 数据库中,然后通过 Grafana 来展示监控数据。 其中,InfluxDB 服务端部署的版本号是 1.3.1,Grafana 部署的版...
2018-04-19 11:48:41 1991
转载 中小型研发团队架构实践九:任务调度Job
一、Job 简介 Job 类似于数据库中的作业,多用于实现定时执行任务。适用场景主要包括定时轮询数据库同步、定时处理数据、定时邮件通知等。 我们的 Job 分为操作系统级别定时任务 WinJob 和 HttpJob,其中,WinJob 使用开源的任务调度框架 Quartz.NET+ ZooKeeper 实现,HttpJob 的服务端是自主开发实现的,可以直接定时调用你的计划任务,如...
2018-04-19 11:47:38 406
转载 中小型研发团队架构实践八:分布式协调服务ZooKeeper
一、ZooKeeper 是什么 Apache ZooKeeper 由 Apache Hadoop 的子项目发展而来,于 2010 年 11 月正式成为了 Apache 的顶级项目。 ZooKeeper 是一个开放源代码的分布式协调服务。它具有高性能、高可用的特点,同时也具有严格的顺序访问控制能力(主要是写操作的严格顺序性)。基于对 ZAB 协议(ZooKeeper Atomic B...
2018-04-19 11:46:43 237
转载 中小型研发团队架构实践七:集中式日志ELK
一、集中式日志 日志可分为系统日志、应用日志以及业务日志,系统日志给运维人员使用,应用日志给研发人员使用,业务日志给业务操作人员使用。我们这里主要讲解应用日志,通过应用日志来了解应用的信息和状态,以及分析应用错误发生的原因等。 随着系统的日益复杂,大数据时代的来临,需要几十甚至上百台的服务器是常有的事,因此迫切需要有一套针对日志、且能够集中式管理的产品。ELK 就实现了集中式日志管...
2018-04-19 11:45:46 335
转载 中小型研发团队架构实践六:如何用好消息队列RabbitMQ?
一、写在前面 使用过分布式中间件的人都知道,程序员使用起来并不复杂,常用的客户端 API 就那么几个,比我们日常编写程序时用到的 API 要少得多。但是分布式中间件在中小研发团队中使用得并不多,为什么会这样呢? 原因是中间件的职责相对单一,客户端的使用虽然简单,但整个环境搭起来却不容易。所以对于系列中的几篇中间件文章,我们重点放在解决门槛问题,把服务端环境搭好(后期可云或运维解决)...
2018-04-19 11:44:52 352
转载 中小型研发团队架构实践五:Redis快速入门及应用
Redis的使用难吗?不难,Redis用好容易吗?不容易。Redis的使用虽然不难,但与业务结合的应用场景特别多、特别紧,用好并不容易。我们希望通过一篇文章及Demo,即可轻松、快速入门并学会应用。一、Redis 简介 Redis是一个开源的Key-Value存储,但又不仅仅是Key-Value存储,用官网上的话来说,Redis是一个数据结构存储,可用作数据库、缓存和消息中间件。相对于传统...
2018-04-19 11:43:49 265
转载 中小型研发团队架构实践四:小工具集合
一、ORM 工具1.1、Dapper.NET 简介 Dapper.NET是个开源的轻型ORM。它扩展了IDbConnection 接口的功能,所以只要某类实现IDbConnection 接口,那么该类对象就能调用到 Dapper.NET中的方法。提供的 Dapper.dll,支持.NET Framework 4.0 版本及其上版本。1.2、为什么选择使用 Dapper.NET语法十分简单,...
2018-04-19 11:42:48 837
转载 中小型研发团队架构实践三:微服务架构(MSA)
一、MSA 简介 1.1、MSA 是什么 微服务架构 MSA 是 Microservice Architect 的简称,它是一种架构模式,它提倡将单一应用程序划分成一组小的服务,服务之间互相通讯、互相配合,为用户提供最终价值。它与 SOA 之间的区别如下: 1.2、我们的 MSA 框架 我们的微服务框架 MsaFx.dll 是个基于 ServiceStac...
2018-04-19 11:41:48 1141
转载 中小型研发团队架构实践二:如何规范公司所有应用分层
写在前面应用分层这件事情看起来很简单,但每个程序员都有自己的一套,哪怕是初学者。如何让一家公司的几百个应用采用统一的分层结构,并得到大部分程序员的认同,这可不是件简单的事情。有两个问题与大家一起探讨:服务的调用代码你觉得放到哪一层好呢?A 表现层;B 业务逻辑层;C 数据层;D 公共层。如何组织好 VO(View Object 视图对象)、BO(Business Object 业务对象)、DO(D...
2018-04-19 11:40:37 860
转载 中小型研发团队架构实践一:三要点
中小型研发团队很多,而社区在中小型研发团队架构实践方面的探讨却很少。中小型研发团队特别是 50 至 200 人的研发团队,在早期的业务探索阶段,更多关注业务逻辑,快速迭代以验证商业模式,很少去关注技术架构。 这时如果继续按照原有的架构及研发模式,会出现大量的问题,再也无法玩下去了。能不能有一套可直接落地、基于开源、成本低,可快速搭建的中间件及架构升级方案呢? 根据我们以往的经验,分...
2018-04-19 11:34:53 1429
转载 一些比较值得思考和了解的.NET相关的面试题
以前一直是被别人面试,后来“多年的媳妇熬成婆”,走上技术管理岗位之后也面试过别人。对于面试我始终认为有些技巧的,想要在短短半个小时到一两个小时内了解候选人是否满足岗位需要,确实不太容易。我一般会根据面试者的工作经验状况选择相应的面试形式。对于工作经验较少的面试者(两年及以下)偏向于做题或者实际上机操作为主,因为这样的面试者进来之后也是做一些初级的工作,能够熟练操作软件和了解一些基本常识就够了;
2013-03-20 18:07:52 489
原创 Asp.net单点登录解决方案
前言本文为09年写的一篇老文章,详细介绍了单点登录(SSO)的设计、流程、实现关键点,以及Asp.net代码演示。最近闲暇将文章进行了整理,重画了UML,重写了DEMO中的代码。作为学习备忘,如能给人予帮助,不甚荣幸。同时个人能力有限,文中不足之处还请及时指正。为方便描述,首先定义几个统一名词,文中出现之处均为如下含义。主站:Passport集中验证服务器,DEMO中为:http://
2012-11-21 23:04:53 547
转载 .Net环境下的缓存技术介绍
摘要: 介绍缓存的基本概念和常用的缓存技术,给出了各种技术的实现机制的简单介绍和适用范围说明,以及设计缓存方案应该考虑的问题(共17页)1 概念1.1 缓存能解决的问题· 性能——将相应数据存储起来以避免数据的重复创建、处理和传输,可有效提高性能。比如将不改变的数据缓存起来,例如国家列表等,这样能明显提高web程序的反应速度;· 稳定性——同一个应用中,对同一数
2012-01-14 22:45:30 488
原创 如何与客户相处
做开发,尤其是外派到客户方的,难免每天与客户接触,如何做好与客户相处,是比较重要,同时也是令项目经理比较头疼的问题。根据我与客户相处的经验,现做些总结,欢迎交流。我将经验归纳为如下八个字:不卑不亢,粗中有细 首先说不卑不亢,我觉得这个也是最重要的。如果项目经理是做技术出身的,一般都比较傲气,做技术嘛,总感觉天下老子最大,客户最烦了,没事就提个需求,客户每次提需求第一反应
2011-10-30 23:33:44 1604
原创 ASP.net下调用SmtpClient实现smtp方式邮件发送(带附件)
做asp.net的网站被要求要加入一个邮件自动发送的功能,同时还要加入附件网上搜索了很多,自己记录总结一下废话说完先贴代码:public class MyMail { private MyMail(string title, string co
2011-09-26 21:07:17 1698 1
原创 无尽
今天有时间到久违的朋友的空间,和校友录里看了几个小时,仿佛回到了那些已经遗忘的时光。突然想想,那些事,那些人,似乎从没有发生和遇见过一样,但是又那样栩栩如生的漂浮在眼前,铭记在心底。让我想起了自己的童年,中学,大学……,想起了自己走过的每个脚印,想起了那时的生活,那时的学习,那时
2011-09-15 15:27:43 625
原创 软件架构应该做些什么
软件架构是在软件需求出来之后,软件构建开始之前的工作 架构师应该确定的事情有:1 程序组织架构应该定义程序中的主要构造块。 根据程序规模不同,各个构造块可能是单个类,也可能是由多个类组成的系统。每个构造块实现一个高层功能。并且每个需求都至少有一个构造块覆盖它。
2011-09-15 14:35:15 815 1
原创 DotNet 经典面试题
.Net基础常见 什么叫应用程序域?什么是受管制的代码?什么是强类型系统?什么是装箱和拆箱?什么是重载?CTS、CLS、CLR分别作何解释?答: 1应用程序域可以理解为一种轻量级进程。起到安全的作用。占用资源小2.unsafe:非托管代码。不经过CLR运行。
2011-09-13 16:30:14 1989
原创 详谈 Jquery Ajax 异步处理Json数据.
啥叫异步,啥叫Ajax.咱不谈啥XMLHTTPRequest.通俗讲异步就是前台页面javascript能调用后台方法.这样就达到了无刷新.所谓的Ajax.这里我们讲二种方法方法一:(微软有自带Ajax框架)在Asp.net里微软有自己的Ajax框架.就是在页面后台.cs文件里引入 using System.Web.Services 空间 然后定义静态方法(方法前加上 [WebMethod]) ...
2011-09-11 21:34:14 656
原创 程序员职业发展的绊脚石-思想的枷锁
开篇 首先、我是一个程序员,从大学毕业到现在,已经工作了近5年的时间,看着现在越来越多的朋友进入IT行业,并且年轻才干的做软件开发的朋友们,个个都是生龙活虎,精兵强将,年纪轻轻的就学习了很多知识,我感觉我们做这个已经有点力不从心了,程序员,一提大家都会说是吃青
2011-08-21 16:12:01 511
原创 大道至简 职场上做人做事做管理
大道至简,越是根源和基本的问题,道理实际上越简单。关于如何做人、做事、做管理的书很多,我看得不多,但是我觉得这些书更多是侧重技术和实现细节上的,而很少从人的思想和观念去讲。实际上,从根本上去说,如何做人做事是世界观的问题,也是一个哲学话题。但实际上,很多人和我一样,已经到了快30
2011-08-20 22:45:06 1053
转载 SQL Server里的主键、唯一性约束、聚集索引
什么是主键?在数据库中,常常不只是一个表,这些表之间也不是相互独立的。不同的表之间需要建立一种关系,才能将它们的数据相互沟通。而在这个沟通过程中,就需要表中有一个字段作为标志,不同的记录对应的字段取值不能相同,也不能是空白的。通过这个字段中不同的值可以区别各条记录。就像我们区别不同的人,每个人都有名字,但它却不能作为主键,因为人名很容易出现重复,而身份证号是每个人都不同的,所以可以根据它
2009-05-20 16:22:00 2715
原创 .NET中反射的使用
反射的定义:审查元数据并收集关于它的类型信息的能力。元数据是一种二进制信息,用以对存储在公共语言运行库可移植可执行文件 (PE) 文件或存储在内存中的程序进行描述。将您的代码编译为 PE 文件时,便会将元数据插入到该文件的一部分中,而将代码转换为 Microsoft 中间语言 (MSIL) 并将其插入到该文件的另一部分中。在模块或程序集中定义和引用的每个类型和成员都将在元数据中进行说明。当执
2009-04-21 16:29:00 530
原创 .NET中的序列化
序列化定义 序列化是将对象状态转换为可保持或传输的格式的过程。与序列化相对的是反序列化,它将流转换为对象。在此过程中,先将对象的公共字段和私有字段以及类的名称(包括类所在的程序集)转换为字节流,然后再把字节流写入数据流。在随后对对象进行反序列化时,将创建出与原对象完全相同的副本。序列化的目的 1、以某种存储形式使自定义对象持久化; 2、将对象从一个地方传递到另一个地方。
2009-04-21 16:26:00 2160 1
原创 .NET 事务处理总结
事务处理是在数据处理时经常遇到的问题,经常用到的方法有以下3种总结整理如下: 方法1:直接写入到sql 中 在存储过程中使用 BEGIN TRANS, COMMIT TRANS, ROLLBACK TRANS 实现 优点:事务逻辑包含在一个单独的调用中,有运行一个事务的最佳性能,立于应用程序。限制: 事务上下文仅存在于数据库调用中,数据库代码与数据库系统有关。方法2 :使用ADO.NET
2009-04-21 16:24:00 566
原创 用JavaScript刷新框架子页面的8种方法
先来看一个简单的例子:下面以三个页面分别命名为frame.html、top.html、bottom.html为例来具体说明如何做。 frame.html 由上(top.html)下(bottom.html)两个页面组成,代码如下:DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">HTML>HEAD>TITLE> frame
2009-04-18 10:41:00 749
原创 SQL 连接 JOIN 例解。(左连接,右连接,全连接,内连接,交叉连接,自连接)
假设有如下表:一个为投票主表,一个为投票者信息表~记录投票人IP及对应投票类型,左右连接实际说是我们联合查询的结果以哪个表为准~1:如右接连 right join 或 right outer join:我们以右边voter表为准,则左表(voteMaster)中的记录只有当其ID在右边(voter)中存在时才会显示出来,如上图,左边中ID为3.4.5.6因为这些ID右表中没有相应记录,所以没有显示
2009-04-18 10:37:00 392
转载 ASP.NET客户端回调
HTML: "http://www.w3.org/1999/xhtml"> "server"> 客户端回调--ASP.NET性能优化1 "javascript"> function CallServer(inputcontrol,context) { //回调还没有处理完全时其预先加载的显示值 context.innerHTML = "加载中...
2008-12-12 17:00:00 513
原创 分组报表中,如何让组名字段只显示中间的一行
报表分组后,对第一列的字段进行设置,只让上下方向处于中间的一条字段显示,其它的不显示。 其实这个不是很难,关键是你要想清楚你要的效果,基本思路是:用一个公式字段来记录每一组的记录数量,再用一个字段记录当前记录序号,比较两个的值,并对第一列字段进行显示抑制! 以下以示例逐步说明其设计过程:1,下图是我的一个表,在进行此项设计前,样式如下(注意第一列的“类型”字段)2,新
2008-12-11 12:05:00 967
原创 水晶报表中动态保留数字字段小数位
默认的数字字段会带有2或3位小数位,而当字段小数部分为零时,小数位将变成2或3个”0”(如123.00),很多时候我们不想要这几个多余的0,需要字段在有小数时显示小数位,没有小数时自动去掉多余的0。 1, 看下面的图片,分组小计字段中,数据默认保留两位小数点。2, 我现在想让3M字段的小计(画了框的部分)动态保存小数位,并把多余的0去掉。3, 右键格式化该小计字段,点
2008-12-11 12:01:00 1954 1
原创 ASP.NET 2.0导出到Excel时如何保留换行?
由于Excel毕竟不是 HTML,它有自己的样式标准,在Excel 中,实现换行的方法是:br style=mso-data-placement:same-cell;/>完整代码:%@ Page Language="C#" Trace="false" AutoEventWireup="true" %> script runat="server"
2008-12-09 16:49:00 613
原创 SQL Server全文索引小结
在一个产品介绍网站中查询产品时,由于产品的介绍性文字可能会很长,如果使用对产品介绍字段使用like进行模糊查询,性能肯定会是问题。那么如何解决这个问题呢?第一个想法就是使用全文索引。那么全文索引是什么、应该如何应用、在应用的过程中又应该注意哪些事情呢?这个POST作为学习全文检索的笔记。 1、是什么 全文索引为在字符串数据中进行复杂的词搜索提供有效支持。全文索引存储关于重要词和这些词在特定
2008-12-04 10:16:00 1193
原创 基于UML和ASP.NET实现三层B/S结构系统开发
摘 要 进行良好的系统 分析 和设计是软件项目开发的关键,构架设计的合理与否往往决定了项目的成败。本文结合一个项目的开发,阐述了基于UML的系统建模过程和基于ASP.NET实现面向对象的三层结构 应用 系统的 方法 。 关键词 ASP.NET; 三层结构; UML建模; 系统开发 架构设计是软件开发的基础,并往往决定一个项目的成败。三层结构是 目前 流行的架构
2008-11-18 10:19:00 1792
原创 asp.net(c#)上传文件时检测文件类型方法小结
上传文件检测类型到目前为止我只看到过两种,第一种是检测文件的后缀名;第二种是检测文件的头部编码,不同类型文件的头部编码是不一样的(不知道这样说恰当不,有错误希望大家指出),比如255216是jpg;7173是gif;6677是BMP,13780是PNG;7790是exe,8297是rar...这篇文章代码多有参考网络,特此说明.前台文件:两种方法的前台文件是一样的.http://www.w3.or
2008-11-12 09:41:00 685
原创 男人应该做的16件事
1.事业永远第一 虽然金钱不是万能的,但没有钱是万万不能的,虽然这句话很俗,但绝对有道理,所以30岁之前,请把你大部分精力放在你的事业上. 2,别把钱看得太重 不要抱怨自己现在工资低,银行存款4位数以下,看不到前途,现在要做的就是努力学习,即使你文凭再高,怎么把理论运用到实践还是需要一个很长的锻炼过程,社会永远是一所最博大的大学,它让你学到的知识远比你在学校学到的重要得多,所以同样,你也别太
2008-11-04 13:01:00 445
原创 鉴别真正牛奶生产日期方法
我提供给大家一个鉴别真正牛奶生产日期方法,可以防止上当买到过期牛奶,这就能够保证您的家人健康。 一般牛奶包装上会有一个生产日期(那是给消费者看的)。还有一个英文和数字组成的暗号,这组暗码才是真正的牛奶生产日期。那么怎么才能识别企业的暗号了解到商品牛奶的真正生产日期呢?牛奶的包装上一般印刷:生产日期:08 05 10 HDC8 H ,其中: 生产日期:08 05 10(给
2008-11-04 12:49:00 1174
原创 视图的创建及使用(sql server 2005)
创建一个虚拟表,该表以一种备用方式提供一个或多个表中的数据。CREATE VIEW 必须是查询批处理中的第一条语句。 Transact-SQL 语法约定语法 CREATE VIEW [ schema_name . ] view_name [ (column [ ,...n ] ) ] [ WITH [ ,...n ] ] AS select_statement [ ; ][ WITH
2008-10-29 16:37:00 4286
原创 C#向Excel报表中插入图片的2种方法
这几天做向Excel插入数据,其中有插入图片的需求,经试验,下面2种方法都可以插入图片,但各有不同的用处。现将这2种方法共享出来, 希望需要的朋友进行参考,代码中已经有详细注释了。注意:使用之前需要引用COM:Microsoft Office 11.0 Object Library 如果引用列表中没有,需要自行添加 C:/Program Files/Microsoft Office/OF
2008-10-28 16:31:00 605
原创 ASP.NET 2.0中合并 GridView 的表头单元格
在实际工作中,往往需要合并表格头部的单元格,下面就是一个实现的例子。运行结果如图:C#<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> ICollection Cre
2008-10-28 16:29:00 417
原创 ASP.NET 2.0中GridView无限层复杂表头的实现
实现方法就是给单元格填充我们想要的格式代码。C#<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> // 计算数据,完全可以从数据看取得 ICollection
2008-10-28 16:27:00 404
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人