240 发简信
IP属地:上海
  • 代码整洁之道(二)-Clean Code

    1 对象和数据结构 对象把数据隐藏于抽象之后,暴露操作数据的函数;而数据结构暴露其数据,没有提供有意义的函数。 比如有一个几何类Geometry,过程式代码如下所示: 想想看...

  • 代码整洁之道(一)-Clean Code

    1 有意义的命名 1.1 名副其实 变量、函数或类的名称应该已经答复了所有的大问题,她该告诉你,为什么存在,做什么事,应该怎么用。如果名称需要注释来补充,那就不算是名副其实。...

  • 120
    领域驱动设计-落地技能

    1 界限上下文 限界上下文确实和划分模块、划分子系统一样,是一种分而治之的手段,可以起到分离关注点的作用。但限界上下文增加了一个要点,就是,它的目的还在于维护概念一致性。正是...

  • 120
    领域驱动设计-进阶概念

    本文作为学习笔记,内容来自“极客时间”专栏《手把手教你落地DDD》,如有侵权,请及时告知,必当及时删除。 1 聚合 聚合的两个重要特征: 具有整体与部分的关系。举个例子,有“...

  • 120
    领域驱动设计-概述

    本文作为学习笔记,内容来自《极客时间》专栏《手把手教你落地 DDD》,如有侵权请告知,必定及时删除。 2003 年,Eric Evans 写了《领域驱动设计:软件核心复杂性应...

  • 构筑测试体系

    重构是很有价值的工具,但只有重构还不行。要正确地进行重构,前提是得有一套稳固的测试集合,以帮我发现难以避免的疏漏。编写优良的测试程序,可以极大提高我的编程速度,也许这会违反许...

  • 代码的坏味道

    并不能给一个何时必须重构的精确衡量标准,只能给出一些迹象,它会指出“这里有一个可以用重构解决的问题”。比如一个类有多少变量算是太大,一个函数有多少代码才算太长。本文给出一些代...

  • 重构的原则

    1 何为重构 重构:对软件内部结构的一种调整,目的是在不改变软件可观察行为的前提下,提高其理解性,降低其修改成本。重构是为了让代码更容易理解,更易于修改。可观察型为:用户侧关...

  • 120
    浅析 Redis 事件驱动框架

    Redis 5.0.14 源码地址:https://github.com/redis/redis/tree/5.0[https://github.com/redis/redi...

  • 没有整理源码,不过也比较简单,很快就可以构建好

    认证与授权(三):搭建授权、资源服务器

    本篇示例的结构如图所示: 客户端向授权服务器请求令牌,授权服务器经过认证以后,将令牌返回给客户端。 客户端携带第1步返回的令牌,向资源服务器请求资源。 资源服务器向授权服务器...

  • 120
    浅析 Redis 主从复制实现原理

    本篇主要分三部分讨论Redis主从复制的实现原理:主从复制过程、状态机、源码解析。Redis从节点使用了状态机机制,来实现从节点不同状态的切换,所以在解析源码之前,会先讨论下...

  • 120
    Redis6.0多I/O线程实现原理

    在 2020 年 5 月推出的 Redis 6.0 版本中,Redis 在执行模型中还进一步使用了多线程来处理 IO 任务。之前在:https://www.jianshu.c...

  • 120
    一条Redis命令的执行过程

    本文分析的Redis源码是基于Redis 6.0的,Redis 6.0之前的代码会稍微有些出入,但是整体流程大致类似。主要是为了后续分析Redis 6.0推出的多I/O线程实...

  • 120
    Redis AOF重写的实现原理

    1. 操作系统基础 1.1. fork 当我们在一个程序的函数中调用 fork 函数时,fork 函数会创建一个子进程。而原本这个程序对应的进程,就称为这个子进程的父进程。我...

  • @仍有不归期 嗯嗯,是的

    Redis数据案例二

    本文作为学习笔记,文章内容来自“极客时间”专栏《Redis核心技术与实战》,如有侵权,请告知,必即时删除。 1、统计一个网站的用户访问量 一个用户一天内的多次访问只能算作一次...

  • @咖啡宝宝 嗯嗯,是的

    间隙锁和next-key lock

    本篇作为学习笔记,文章内容来自“极客时间”专栏《MySQL实战45讲》,如有侵权,请告知,必即时删除。 为了便于说明问题,建表和初始化语句如下: 行锁只能锁住行,但是新插入记...

  • 120
    Java 的 I/O演进之路

    1 I/O 基础 1.1 基本概念 同步与异步: 同步是一种可靠的有序运行机制,当我们进行同步操作时,后续的任务是等待当前调用返回,才会进行下一步; 而异步则相反,其他任务不...

  • JDK8新特性-接口和日期

    1. 接口 1.1 default关键字 JDK8之前只能有抽象方法,不能有方法实现。JDK8之后,接口的实现类可以直接调用default修饰的方法。 1.2 静态方法 JD...

  • 复制积压缓冲区是一个环形的区域,好像没有FIFO这样的概念

    针对Redis内存碎片以及缓冲区溢出的优化

    本文作为学习笔记,文章内容来自“极客时间”专栏《Redis核心技术与实战》,如有侵权,请告知,必即时删除。 1、内存碎片的优化 在使用 Redis 时,我们经常会遇到这样一个...

  • 120
    docker容器修改MySQL密码

    1、查询docker容器服务 docker ps2、进入MySQL服务 docker exec -it mysql bash3、登录MySQL ...