suimi


  • 首页

  • 分类

  • 归档

  • 标签

  • 搜索

Docker、K8s安装

发表于 2019-03-12 | 分类于 容器编排
  • Docker安装(CentOS)

Docker安装(CentOS)

  1. 卸载旧版本 Docker的旧版本被称为docker或docker引擎。如果这些已安装,请卸载它们以及关联的依赖关系。
    1
    2
    3
    4
    5
    6
    7
    8
     sudo yum remove docker \
                       docker-client \
                       docker-client-latest \
                       docker-common \
                       docker-latest \
                       docker-latest-logrotate \
                       docker-logrotate \
                       docker-engine
    
阅读全文 »

bft容错数计算推到

发表于 2019-02-21 | 分类于 算法理论
  • bft容错数计算推到

bft容错数计算推到

  • 假设所有节点数位N,存在F个作恶节点,R个忠实节点,X为法定集合,则满足N=R+F
  • 为保证结果不产生分歧,有唯一结果,则需法定集合大于一半以上的忠实节点通过,且法定集合中不包括作恶节点,则X-F>R/2 即 X>R/2+F.
  • 为保证系统能够正常运行,法定集合不能大于忠实的节点数,X<=R,即R>=X
  • => R>R/2+F
  • => R>2F
  • => N-F>2F
  • => N>3F 即 N=3f+1
阅读全文 »

版本/分支命名规范

发表于 2019-01-23 | 分类于 版本管理
  • 版本命名规范

版本命名规范

版本号格式:X.Y.Z

  • X 表示主版本号,当 API 的兼容性变化时,X 需递增。
  • Y 表示次版本号,当增加功能时(不影响 API 的兼容性),Y 需递增。
  • Z 表示修订号,当做 Bug 修复时(不影响 API 的兼容性),Z 需递增。

版本一经发布,不得修改其内容,任何修改必须在新版本发布,版本后可加修饰词,常用修饰词:

阅读全文 »

Jekyll安装使用

发表于 2018-04-10 | 分类于 指北Guide
  • 安装
  • 问题排查
    • Jekyll编译出现ivalid GBK问题
  • 参考资料

安装

  1. 安装ruby
    • 下载地址:https://rubyinstaller.org/downloads/
    • 安装过程记得把那个MSYS2勾上,不然后面会出现很多问题,让你先安装这个MSYS2
  2. 安装jekyll gem install jekyll
  3. 安装bundle gem install bundler
  4. 安装插件 gem install jekyll-sitemap
  5. 选择theme或 clone 优秀blog
  6. 运行jekyll server, 浏览器输入127.0.0.1:4000即可查看

问题排查

Jekyll编译出现ivalid GBK问题

  1. 表现
    1
    2
     Conversion error: Jekyll::Converters::Scss encountered an error while converting 'css/main.scss':
                         Invalid GBK character "\xE5" on line 368
    
  2. 解决方案 找到$RubyPath\lib\ruby\gems\2.6.0\gems\sass-3.7.4\lib\sass.rb,在module Sass之后添加Encoding.default_external = Encoding.find('utf-8')一行即可

    参考资料

阅读全文 »

版本控制

发表于 2018-02-01 | 分类于 组件框架
  • 概述

概述

在实际的应用开发过程中,接口版本往往是比较头疼的一个问题,如何控制接口的版本,本人根据spring custom request condition,定义了一个annotation @ApiVersion,来指定接口版本信息。 在接口请求时,在request header中增加版本信息(eg:api-version:2.1.0)

阅读全文 »

OpenCensus Zipkin 源码解析

发表于 2018-01-25 | 分类于 系统监控
  • OpenCensus 介绍

OpenCensus 介绍

谷歌开源了OpenCensus,是一个厂商中立的开放源码库,用于度量收集和跟踪。OpenCensus的构建是为了增加最小的开销,并部署在整个团队中,特别是基于微服务的架构。

阅读全文 »

PowerDesigner 使用记

发表于 2018-01-23 | 分类于 设计
  • 基本概念

基本概念

  • CDM(Conceptual Data Model):概念数据模型

    以实体为单元,进行实体以及实体对应关系的建立。即实体-联系图(E-R图),CDM就是以其自身方式来描述E-R图。

    • 此时不考虑物理实现的细节,只表示数据库的整体逻辑结构,独立于任何软件和数据存储结构。
    • 在CDM中用来标识实体的是属性(Attribute)
阅读全文 »

Spring Boot + JPA Entity Annotation不生效问题记

发表于 2018-01-19 | 分类于 问题排查
  • Spring boot + JPA Entity Annotation 不生效问题记
    • 版本
    • 问题描述

Spring boot + JPA Entity Annotation 不生效问题记

版本

  • spring boot: 1.5.9
  • hibernate: 5.2.12

    问题描述

    在Entity的field上添加注解@Enumerated、@Column、@Lob不生效,但加在getter方法上有效,有用采用lombok, 写getter方法就多余了

阅读全文 »

java 并发类

发表于 2017-12-04 | 分类于 编程语言
  • CountDownLatch

CountDownLatch

CountDownLatch是在java1.5被引入的,跟它一起被引入的并发工具类还有CyclicBarrier、Semaphore、ConcurrentHashMap和BlockingQueue,它们都存在于java.util.concurrent包下。CountDownLatch这个类能够使一个线程等待其他线程完成各自的工作后再执行。例如,应用程序的主线程希望在负责启动框架服务的线程已经启动所有的框架服务之后再执行。

CountDownLatch是通过一个计数器来实现的,计数器的初始值为线程的数量。每当一个线程完成了自己的任务后,计数器的值就会减1。当计数器值到达0时,它表示所有的线程已经完成了任务,然后在闭锁上等待的线程就可以恢复执行任务。

CountDownLatch

阅读全文 »

java map

发表于 2017-12-04 | 分类于 编程语言 , java
  • HashMap

HashMap

根据键的hashCode值存储数据,大多数情况下可以直接定位到它的值,因而具有很快的访问速度,但遍历顺序却是不确定的。 HashMap最多只允许一条记录的键为null,允许多条记录的值为null。HashMap非线程安全,即任一时刻可以有多个线程同时写HashMap,可能会导致数据的不一致。如果需要满足线程安全,可以用 Collections的synchronizedMap方法使HashMap具有线程安全的能力,或者使用ConcurrentHashMap。

HashMap是数组+链表+红黑树(JDK1.8增加了红黑树部分)实现的,HashMap采用了链地址法解决hash冲突问题

阅读全文 »
1 2 3
邃谧

邃谧

29 日志
14 分类
35 标签
RSS
GitHub Email
© 2010 - 2021 邃谧
由 Jekyll 强力驱动
主题 - NexT.Pisces