记录服务上线一年来的点点滴滴
2015年12月,也就是在一年前,开发了半年的云存储服务上线。这对于付出了半年努力的我们来说,是一件鼓舞人心的事件。因为这个服务在我们手上经历了从0到1的过程。这是我们自己的一小步,却是整个云存储服务的一大步。 我们开发的是一款视频监控类的软件,分为视频采集端跟观看端。采集端可以是专业摄像头,手机, ...
架构随聊
阅读目录 架构的定义 如何开始设计一个架构 一个好架构的特点 做架构中的误区 结语 一、架构的定义 所谓一千个架构师中有一千种“最好的架构”模式。 “架构”是我们这行业种一个很常见的词,表明其必然也是经历了很长的岁月打磨所形成的一个词。架构的这个词出现的意义是什么?为了解决什么问题?只有把这2个问题 ...
最近帮客户实施的基于SQL Server AlwaysOn跨机房切换项目
最近帮客户实施的基于SQL Server AlwaysOn跨机房切换项目 最近一个来自重庆的客户找到走起君,客户的业务是做移动互联网支付,是微信支付收单渠道合作伙伴,数据库里存储的是支付流水和交易流水。 由于客户那边没有DBA,所以找到走起君商量一个数据库服务器搬迁项目。 项目背景 客户需要把在10 ...
单点登录原理与简单实现
(2017-09-22更新)GitHub:https://github.com/sheefee/simple-sso 一、单系统登录机制 1、http无状态协议 web应用采用browser/server架构,http作为通信协议。http是无状态协议,浏览器的每一次请求,服务器会独立处理,不与之前 ...
即时通信服务器架构的一些思考
对于一个即时通信服务器来说,在用户量少的时候,一台服务器就足以提供所有的服务。而这种架构也最简单,举个例子,用户A与用户B互为好友,A向B发消息,服务器接收到消息时,解析出接收消息的人,直接转发给B即可。可是当用户数量越来越多时,一台服务器已经无法所有用户的需求,这时就要进行服务扩容,进行分布式部署 ...
自定义基于 VLC 的视频播放器
前言(蛋疼的背景故事) 前段时间,接了一个小项目,有个需求是要在系统待机一段时间以后,循环播放 MV(类似于 Windows 系统的屏幕保护)。 听到这个需求,我首先想到的是 MediaPlayer 和 Flash,因为这两个组件几乎所有 Windows 平台的电脑都会安装。但客户说不能用 Flas ...
使用浏览器的计算力,对抗密码破解
本文前半部分科普 PBKDF 函数的意义,后半部分探讨在前端计算的可行性。 前言 几乎每隔一段时间,就会听到“XX 网站被拖库”的新闻。之后又会出现一些报道,分析该网站使用最多的密码是什么、有多少等等。 众所周知,密码在数据库中通常是以 Hash 值存储的,并且还加了盐。攻击者即使知道具体的 Has ...
Vue.js 和 MVVM 的小细节
MVVM 是Model-View-ViewModel 的缩写,它是一种基于前端开发的架构模式,其核心是提供对View 和 ViewModel 的双向数据绑定,这使得ViewModel 的状态改变可以自动传递给 View,即所谓的数据双向绑定。 ...
ASP.NET Core 之 Identity 入门(一)
前言 在 ASP.NET Core 中,仍然沿用了 ASP.NET里面的 Identity 组件库,负责对用户的身份进行认证,总体来说的话,没有MVC 5 里面那么复杂,因为在MVC 5里面引入了OWIN的东西,所以很多初学者在学习来很费劲,对于 Identity 都是一头雾水,包括我也是,曾经在学 ...
随谈10年的技术生涯和技术成长
这些年,曾高调过,曾低调过,也不高不低过,有人看我很谦虚,有人看我屌,其实,都是看心情,看心情的。。。我想汇总一下我的知识体系,身体又懒的动,只因大脑感觉要写完天都要亮好几回,若不写,这随谈又要谈什么呢?听说.NET界的架构师很少,其实是.NET的技术总监或CTO太少,毕竟是上层决定了下层的技术使用... ...
可信前端之路-代码保护
想要构造一个web系统中的TPM,首要问题就是需要保证输入数据安全,打造一个相对可信的前端环境。但是由于web的开放特性,前端作为数据采集的最前线,js代码始终暴露在外,在这种情况下,js代码混淆的重要性逐渐彰显出来。 ...
那些年搞不懂的术语、概念:协变、逆变、不变体
简述什么是协变性、逆变性、不变性 协变性,如:string->object (子类到父类的转换) 逆变性,如:object->string (父类到子类的转换) 不变性,基于上面两种情况,不可变。具体下面再做分析。 泛型委托的可变性 先使用框架定义的泛型委托Func和Action做例子(不了解的请戳 ...
webp图片实践之路
最近,我们在项目中实践了webp图片,并且抽离出了工具模块,整合到了项目的基础模板中。传闻IOS10也将要支持webp,那么使用webp带来的性能提升将更加明显。估计在不久的将来,webp会成为标配。 本文主要分享一下我们在webp图片使用上的实践之路。 我们会从三部分来聊聊webp这个话题。 PS ...
.NET Core中的认证管理解析
.NET Core中的认证管理解析 0x00 问题来源 在新建.NET Core的Web项目时选择“使用个人用户账户”就可以创建一个带有用户和权限管理的项目,已经准备好了用户注册、登录等很多页面,也可以使用AuthorizeAttribute进行各种权限管理,看起来似乎十分方便。不过生成的代码都替我 ...
先说IEnumerable,我们每天用的foreach你真的懂它吗?
我们先思考几个问题: 接下来,先开始我们的正文。 自己实现迭代器 .net中迭代器是通过IEnumerable和IEnumerator接口来实现的,今天我们也来依葫芦画瓢。 首先来看看这两个接口的定义: 并没有想象的那么复杂。其中IEnumerable只有一个返回IEnumerator的GetEnu ...
你必须知道的EF知识和经验
工欲善其事,必先利其器。我们使用EF和在很大程度提高了开发速度,不过随之带来的是很多性能低下的写法和生成不太高效的sql。虽然我们可以使用SQL Server Profiler来监控执行的sql,不过个人觉得实属麻烦,每次需要打开、过滤、清除、关闭。在这里强烈推荐一个插件MiniProfiler。... ...
数据库优化案例——————某市中心医院HIS系统
记得在自己学习数据库知识的时候特别喜欢看案例,因为优化的手段是容易掌握的,但是整体的优化思想是很难学会的。这也是为什么自己特别喜欢看案例,今天也开始分享自己做的优化案例。 最近一直很忙,博客产出也少的可怜,今天整理了一下自己做过优化或各种方案的客户已经超过100家了,今天分享的案例算是在这些客户中比 ...
.Net中的AOP系列之构建一个汽车租赁应用
"返回《.Net中的AOP》系列学习总目录" 本篇目录 "开始一个新项目" "没有AOP的生活" "变更的代价" "使用AOP重构" 本系列的源码本人已托管于Coding上: "点击查看" 。 本系列的实验环境:VS 2013 Update 5(建议最好使用集成了Nuget的VS版本,VS Expr ...