07 2019 档案

摘要:WPF提供了一组服务,这些服务可用于扩展公共语言运行时 (CLR) 属性的功能。 这些服务通常统称为 WPF 属性系统。 由 WPF 属性系统支持的属性称为依赖属性。 为何要使用依赖属性? 场景一:一个界面有100个按钮,每个按钮有100个属性,那么系统需要为10000个属性分配内存,然而大部分属性 阅读全文
posted @ 2019-07-28 21:32 月亮风 阅读(754) 评论(0) 推荐(0)
摘要:WPF简介 1、特点 Windows Presentation Foundation (WPF) 是微软的下一代桌面显示系统 与分辨率无关并且基于向量的呈现引擎 能够利用现代图形硬件的优势 WPF所有的操作都不依赖于GDI和GDI+,而是间接依赖于强大的Direct3D 2、历史背景 1983~19 阅读全文
posted @ 2019-07-28 20:25 月亮风 阅读(1526) 评论(0) 推荐(0)
摘要:EF Code First允许我们使用自己的领域类来呈现模型,然后EF会基于这个模型进行查询,跟踪改变,做更新操作等。这个Code First方式遵循约定大于配置,但是它同样给了我们两种方式,在领域类上添加配置信息。其中一个就是数据注解,另外一个就是使用Code First's Fluent API 阅读全文
posted @ 2019-07-21 09:20 月亮风 阅读(317) 评论(0) 推荐(0)
摘要:框架封装了普通项目中程序员需要重复书写的代码和调用过程,就比如说在传统的jsp项目中,我们的controller接收到前端的请求然后程序员就需要去开发Dao层,里面还涉及数据库的连接和存储过程的代码,大部分都是冗余的代码,而有了SSM框架后极大的简化了程序猿在controller以下层的开发,只需要 阅读全文
posted @ 2019-07-19 17:20 月亮风 阅读(460) 评论(0) 推荐(0)
摘要:目的 ​ 因为业务架构上需要实现读写分离,刚好前段时间美团点评开源了在 "360Atlas" 基础上开发的读写分离中间件 "DBProxy" ,关于其介绍在 "官方文档" 已经有很详细的说明了,其特性主要有:读写分离、负载均衡、支持分表、IP过滤、sql语句黑名单、DBA平滑下线DB、从库流量配置、 阅读全文
posted @ 2019-07-19 17:12 月亮风 阅读(580) 评论(0) 推荐(0)
摘要:1、索引定义 数据库索引好比是一本书前面的目录,能加快数据库的查询速度。索引是对数据库表中一个或多个列(例如,employee 表的姓氏 (lname) 列)的值进行排序的结构。如果想按特定职员的姓来查找他或她,则与在表中搜索所有的行相比,索引有助于更快地获取信息。 2、建立索引的优缺点: 优点: 阅读全文
posted @ 2019-07-19 16:51 月亮风 阅读(917) 评论(0) 推荐(0)
摘要:在复杂分布式系统中,往往需要对大量的数据和消息进行唯一标识。如在美团点评的金融、支付、餐饮、酒店、猫眼电影等产品的系统中,数据日渐增长,对数据分库分表后需要有一个唯一ID来标识一条数据或消息,数据库的自增ID显然不能满足需求;特别一点的如订单、骑手、优惠券也都需要有唯一ID做标识。此时一个能够生成全 阅读全文
posted @ 2019-07-19 16:48 月亮风 阅读(600) 评论(0) 推荐(0)
摘要:使用缓存是系统性能优化的第一黄金法则。 缓存的设计和使用对一个系统的性能至关重要,平时接触到项目无论多少也都会在某些层面用到缓存,比如用HashMap实现,Ehcache,memcached、redis等。Redis算是目前最火的方案之一,今天看了它相关的一些问题,总结汇总一下。 一、Redis的优 阅读全文
posted @ 2019-07-19 11:48 月亮风 阅读(614) 评论(0) 推荐(0)
摘要:RabbitMQ简介 必须一提的是rabbitmq是由LShift提供的一个消息队列协议(AMQP)的开源实现,由以高性能、健壮以及可伸缩性出名的Erlang写成(因此也是继承了这些优点)。 百度百科对RabbitMQ阐述也非常明确,建议去看下,还有amqp协议。 RabbitMQ官网:http:/ 阅读全文
posted @ 2019-07-19 11:31 月亮风 阅读(148) 评论(0) 推荐(0)
摘要:一. 数据切分 关系型数据库本身比较容易成为系统瓶颈,单机存储容量、连接数、处理能力都有限。当单表的数据量达到1000W或100G以后,由于查询维度较多,即使添加从库、优化索引,做很多操作时性能仍下降严重。此时就要考虑对其进行切分了,切分的目的就在于减少数据库的负担,缩短查询时间。 数据库分布式核心 阅读全文
posted @ 2019-07-19 10:55 月亮风 阅读(181) 评论(0) 推荐(0)
摘要:一、 什么是 RPC Restful 采用 Http 进行通讯,优点是开放、标准、简单、兼容性升级容易; 缺点是性能略低。在 QPS 高或者对响应时间要求苛刻的服务上,可以用 RPC(Remote Procedure Call),RPC 由于采用二进制传输、TCP 通讯,所以通常性能更好。 .Net 阅读全文
posted @ 2019-07-19 10:45 月亮风 阅读(420) 评论(1) 推荐(0)
摘要:在 Linux 命令中,chmod用于修改文件或者目录的权限。对于文件或者目录的普通权限,共有 3 种,分别为: r:读取; w:写入; x:执行。 此外,还有 3 种特殊权限,分别为: suid:Set User ID; sgid:Set Group ID; sticky:粘滞位。 在此,我们仅介 阅读全文
posted @ 2019-07-19 10:38 月亮风 阅读(299) 评论(0) 推荐(0)
摘要:`MQ MQ` 我们可以理解为消息队列,队列我们可以理解为管道。以管道的方式做消息传递。 场景: ​ 1.其实我们在双11的时候,当我们凌晨大量的秒杀和抢购商品,然后去结算的时候,就会发现,界面会提醒我们,让我们稍等,以及一些友好的图片文字提醒。而不是像前几年的时代,动不动就页面卡死,报错等来呈现给 阅读全文
posted @ 2019-07-19 10:30 月亮风 阅读(218) 评论(0) 推荐(0)
摘要:要知道为什么使用索引,要知道如何去使用好索引,使自己的查询达到最优性能,需要先了解索引的数据结构和磁盘的存取原理 如上这篇博客写的挺好,我就不再造轮子了,对如上博客,我总结如下几个重要的要点: 1. 不使用顺序查找,因为顺序查找比较慢,通过特定数据结构的特点来提升查询速度,这种数据结构就是可以理解成 阅读全文
posted @ 2019-07-19 10:14 月亮风 阅读(294) 评论(0) 推荐(0)
摘要:经常我写一个类,作为一个工具类,小伙伴会问我这个类的性能,这时我就需要一个标准的工具进行测试。 本文告诉大家如何使用 benchmarkdotnet 做测试。 现在在 github 提交代码,如果有小伙伴想要知道某个函数的性能,就会用 "BenchmarkDotNet" 进行测试。 例如我有一个函数 阅读全文
posted @ 2019-07-19 10:05 月亮风 阅读(1107) 评论(0) 推荐(1)
摘要:要了解数据库索引的底层原理,我们就得先了解一种叫树的数据结构,而树中很经典的一种数据结构就是二叉树!所以下面我们就从二叉树到平衡二叉树,再到B 树,最后到B+树来一步一步了解数据库索引底层的原理! 二叉树(Binary Search Trees) 二叉树是每个结点最多有两个子树的树结构。通常子树被称 阅读全文
posted @ 2019-07-18 17:33 月亮风 阅读(1215) 评论(0) 推荐(1)
摘要:.net系统缓存封装设计 缓存管理的接口 ,可以用来保存键值对数据,设置缓存过期时间等功能,接口设计如下: 服务端缓存采用 实现,具体实现如下: 阅读全文
posted @ 2019-07-18 17:29 月亮风 阅读(263) 评论(0) 推荐(0)
摘要:一、概述 本文以淘宝作为例子,介绍从一百个并发到千万级并发情况下服务端的架构的演进过程,同时列举出每个演进阶段会遇到的相关技术,让大家对架构的演进有一个整体的认知,文章最后汇总了一些架构设计的原则。 二、基本概念 在介绍架构之前,为了避免部分读者对架构设计中的一些概念不了解,下面对几个最基础的概念进 阅读全文
posted @ 2019-07-17 14:08 月亮风 阅读(558) 评论(0) 推荐(0)
摘要:为什么用分布式锁?在讨论这个问题之前,我们先来看一个业务场景。 为什么用分布式锁? 系统 A 是一个电商系统,目前是一台机器部署,系统中有一个用户下订单的接口,但是用户下订单之前一定要去检查一下库存,确保库存足够了才会给用户下单。 由于系统有一定的并发,所以会预先将商品的库存保存在 Redis 中, 阅读全文
posted @ 2019-07-17 14:03 月亮风 阅读(519) 评论(0) 推荐(0)