摘要: 一、前言 在上一篇文章中,已经介绍了基于Redis实现分布式锁的正确姿势,但是上篇文章存在一定的缺陷——它加锁只作用在一个Redis节点上,如果通过sentinel保证高可用,如果master节点由于某些原因发生了主从切换,那么就会出现锁丢失的情况: 于是,客户端1和客户端2同时持有了同一个资源的锁 阅读全文
posted @ 2019-01-23 22:30 Learning hard 阅读(9601) 评论(7) 推荐(3) 编辑
摘要: 一、前言 在我们日常工作中,除了Spring和Mybatis外,用到最多无外乎分布式缓存框架——Redis。但是很多工作很多年的朋友对Redis还处于一个最基础的使用和认识。所以我就像把自己对分布式缓存的一些理解和应用整理一个系列,希望可以帮助到大家加深对Redis的理解。本系列的文章思路先从Red 阅读全文
posted @ 2019-01-20 19:42 Learning hard 阅读(25496) 评论(6) 推荐(3) 编辑
摘要: 一、背景 在后台项目中,经常会遇到将呈现的内容导出到Excel的需求,通过都是导出单个表头的Excel文件,如果存在级联关系的情况下,也就需要导出多表头的场景。今天这篇文章就是分享导出Excel单表头或多表头的实现,目前实现方案仅支持2行表头场景。如有更复杂的3行表头、4行表头复杂需求可以自行实现。 阅读全文
posted @ 2018-12-22 20:20 Learning hard 阅读(10732) 评论(1) 推荐(0) 编辑
摘要: 大多数未毕业和工作不久的程序员同学都存在以下几点迷茫: 针对未毕业的计算机同学来说,存在迷茫点有: 1. 不知道社会上企业需要怎样的技能 2. 不知道如何选择第一份工作 3. 在大学接下来的日子如何提升自己,为找工作做准备 针对工作5年之内的程序员同学来说,普遍存在的迷茫点有: 1. 工作过程中如何 阅读全文
posted @ 2018-09-15 20:04 Learning hard 阅读(5115) 评论(7) 推荐(9) 编辑
摘要: 一、引言 上一篇博文已经向大家介绍了AngularJS核心的一些知识点,在这篇博文将介绍如何把AngularJs应用到实际项目中。本篇博文将使用AngularJS来打造一个简易的权限管理系统。下面不多说,直接进入主题。 二、整体架构设计介绍 首先看下整个项目的架构设计图: 从上图可以看出整个项目的一 阅读全文
posted @ 2016-05-09 09:33 Learning hard 阅读(7299) 评论(15) 推荐(41) 编辑
摘要: 一、前言 对于前端系列,自然少不了AngularJs的介绍了。在前面文章中,我们介绍了如何使用KnockoutJs来打造一个单页面程序,后面一篇文章将介绍如何使用AngularJs的开发一个单页面应用程序。在开始使用AngularJs开发SPA之前,我觉得有必要详细介绍下AngularJs所涉及的知 阅读全文
posted @ 2016-05-07 19:00 Learning hard 阅读(14692) 评论(20) 推荐(36) 编辑
摘要: 一、引言 由于最近公司的系统需要改版,改版的新系统我打算使用KnockoutJs来制作Web前端。在做的过程中,遇到一个问题——如何使用KnockoutJs来完成分页的功能。在前一篇文章中并没有介绍使用KnockoutJs来实现分页,所以在这篇文章中,将补充用KnockoutJs+Bootstrap 阅读全文
posted @ 2016-05-03 09:41 Learning hard 阅读(3940) 评论(3) 推荐(7) 编辑
摘要: 一、前言 在前一个专题快速介绍了KnockoutJs相关知识点,也写了一些简单例子,希望通过这些例子大家可以快速入门KnockoutJs。为了让大家可以清楚地看到KnockoutJs在实际项目中的应用,本专题将介绍如何使用WebApi+Bootstrap+KnockoutJs+Asp.net MVC 阅读全文
posted @ 2016-04-24 10:49 Learning hard 阅读(5402) 评论(1) 推荐(9) 编辑
摘要: 一、引言 之前这个系列文章已经介绍Bootstrap。由于最近项目中,前端是Asp.net MVC + KnockoutJs + Bootstrap来做的。所以我又重新开始写这个系列。今天就让我们来看看Web前端的MVVM框架——KnockoutJs。 二、KnockoutJs是什么? 做.NET开 阅读全文
posted @ 2016-04-17 18:14 Learning hard 阅读(4724) 评论(7) 推荐(3) 编辑
摘要: 一、引言 前面一篇文章我介绍了如何使用SignalR实现图片的传输,然后对于即时通讯应用来说,消息提醒是必不可少的。现在很多网站的都有新消息的提醒功能。自然对于SignalR系列也少不了这个功能的实现了。在这篇文章中将介绍如何使用SignalR+iNotify库来实现新消息的声音和弹框提醒。 二、消 阅读全文
posted @ 2016-04-11 12:34 Learning hard 阅读(7493) 评论(20) 推荐(19) 编辑
摘要: SignalR支持多种服务器和客户端配置。此外,每种传输方式都有自身的要求限制;如果某种传输方式不被系统支持,SignalR能够优雅地将故障转移到其他类型的传输方式。关于SignalR所支持的传输方式的详细信息,参见: Transports and Fallbacks。 系统要求 SignalR服务 阅读全文
posted @ 2016-04-10 21:58 Learning hard 阅读(3188) 评论(1) 推荐(1) 编辑
摘要: 一、引言 在前一篇博文已经介绍了如何使用SignalR来实现聊天室的功能,在这篇文章中,将实现如何使用SignalR来实现发送图片的功能。 二、实现发送图片的思路 我还是按照之前的方式来讲述这篇文章,首先,让我们来理清下实现发送图片功能的思路。 图片的显示,除了直接指定图片的路径外(这种实现方式也称 阅读全文
posted @ 2016-04-10 18:05 Learning hard 阅读(6899) 评论(5) 推荐(5) 编辑
摘要: 一、引言 在前一篇文章中,我向大家介绍了如何实现实现端对端聊天的功能的,在这一篇文章中将像大家如何使用SignalR实现群聊这样的功能。 二、实现思路 要想实现群聊的功能,首先我们需要创建一个房间,然后每个在线用户可以加入这个房间里面进行群聊,我们可以为房间设置一个唯一的名字来作为标识。那Signa 阅读全文
posted @ 2016-04-09 22:25 Learning hard 阅读(5867) 评论(13) 推荐(13) 编辑
摘要: 一、引言 在前一篇文章已经详细介绍了SignalR了,并且简单介绍它在Asp.net MVC 和WPF中的应用。在上篇博文介绍的都是群发消息的实现,然而,对于SignalR是为了实时聊天而生的,自然少了不像QQ一样的端对端的聊天了。本篇博文将介绍如何使用SignalR来实现类似QQ聊天的功能。 二、 阅读全文
posted @ 2016-04-04 21:34 Learning hard 阅读(8921) 评论(27) 推荐(30) 编辑
摘要: 一、前言 之前半年时间感觉自己有点浮躁,导致停顿了半年多的时间没有更新博客,今天重新开始记录博文,希望自己可以找回初心,继续沉淀。由于最近做的项目中用到SignalR技术,所以打算总结下Asp.net SignalR的相关内容,希望对刚接触或者接触不多的朋友有所帮助。今天的专题就是让大家可以快速的上 阅读全文
posted @ 2016-04-02 22:56 Learning hard 阅读(20884) 评论(26) 推荐(33) 编辑
摘要: 一、引言 很久没有写过博客了,但是最近这段时间都没有闲着,接触了很多方面。比如一些前端框架和组件、还有移动开发React-Native、以及对.NET框架设计的一些重新认识。这些内容在接下来的时间都会一一和大家分享的。我为什么放置了这么久又重新写博客呢?因为在这段时间里面,我虽然接触了这么多东西,... 阅读全文
posted @ 2016-01-09 16:20 Learning hard 阅读(14062) 评论(19) 推荐(13) 编辑
摘要: 本文版权归翟士丹(Stan Zhai)和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接,否则保留追究法律责任的权利。原文地址:http://www.cnblogs.com/jasondan/p/it-memo.html技术站点Hacker News:非常棒的针... 阅读全文
posted @ 2015-10-10 18:01 Learning hard 阅读(4232) 评论(3) 推荐(8) 编辑
摘要: 一、前言 在前一篇文章已经为大家介绍了OWIN和Katana,有了对他们的了解之后,才能更好地去学习Asp.net Identity,因为Asp.net Identity的实现集成了Owin。其实在Asp.net 2.0的时候,微软已经对用户权限管理进行了实现,其实现为Membership。由于之... 阅读全文
posted @ 2015-08-31 08:08 Learning hard 阅读(6208) 评论(9) 推荐(7) 编辑
摘要: 一、前言 大家都知道,在之前,我们Asp.net 的网站都只能部署在IIS上,并且IIS也只存在于Windows上,这样Asp.net开发的网站就难以做到跨平台。由于微软的各项技术的开源,所以微软自然要对跨平台做出支持的。OWIN技术就可以使得Web 服务器不再依赖于IIS,从而使得Asp.net... 阅读全文
posted @ 2015-08-23 18:32 Learning hard 阅读(6379) 评论(6) 推荐(6) 编辑
摘要: 一、前言 在前一篇博文介绍了MongoDB基本操作,本来打算这篇博文继续介绍MongoDB的相关内容的,例如索引,主从备份等内容的,但是发现这些内容都可以通过官方文档都可以看到,并且都非常详细,所以这里就不想继续介绍了,需要用到的朋友到官方文档进行查阅:http://docs.mongodb.or... 阅读全文
posted @ 2015-07-11 23:26 Learning hard 阅读(5439) 评论(7) 推荐(9) 编辑
摘要: /// /// 获取web客户端ip /// /// public static string GetWebClientIp() { try { if (HttpContext.Current == null ... 阅读全文
posted @ 2016-08-14 18:28 Learning hard 阅读(1014) 评论(0) 推荐(0) 编辑
摘要: HTML5里页面可见性接口就提供给了程序员一个方法,让他们使用visibilitychange页面事件来判断当前页面可见性的状态,并针对性的执行某些任务。同时还有新的document.hidden属性可以使用。 document.hidden 这个新出现的document.hidden属性,它显示页 阅读全文
posted @ 2016-03-29 23:02 Learning hard 阅读(1398) 评论(0) 推荐(0) 编辑
摘要: 一、前言 对于直接面对互联网用户的WEB应用,在开发设计的时候必须格外小心,因为谁也不知道在单位时间内WEB程序访问和运行的速度。所以,在程序设计完成以后,最后针对程序进行一些严格的甚至是苛刻的测试,以确定程序在复杂的网络环境和服务器高压负荷下是否可以保持正常和相对稳定的效率。 下面介绍ASP.N... 阅读全文
posted @ 2015-08-27 22:18 Learning hard 阅读(8817) 评论(0) 推荐(1) 编辑
摘要: 数据库产生阻塞(Blocking)的本质原因 :SQL语句连续持有锁的时间过长 ,数目过多, 粒度过大。阻塞是事务隔离带来的副作用,它是不可避免的,而且是一个数据库系统常见的现象。 但是阻塞的时间和出现频率要控制在一定的范围内,阻塞持续的时间过长或阻塞出现过多(过于频繁),就会对数据库性能产生严重的... 阅读全文
posted @ 2015-08-19 17:31 Learning hard 阅读(1025) 评论(0) 推荐(0) 编辑