Posts
All the articles I've posted.
-
Docker 数据持久化
概览 默认情况下,在 docker 容器(container)内创建的文件或产生的数据都只是保存在容器的可写层,这意味着当容器不存在时,容器内产生的数据也没有保存下来。 Docker 提供两种容器数据持久化的方法,使用这两种方法即使容器不存在时,数据也能持久化下来: Bind mount:bi...
-
gRPC C++ 入门教程
之前曾经写过 Python 使用 gRPC 收发消息的教程,可以参考文章 《体验 gRPC 那些事儿》。最近计划在 C+项目中使用 gRPC,故写一篇文章来记录一下如何使用 C+语言来实现一个简单的 gRPC 服务端和客户端程序。 本教程需要先安装 gRPC,有关 gRPC 的安装教程可以参考...
-
分布式对象存储服务器 MinIO 牛刀小试
数据存储包括三种类型,分别是块存储,文件存储和对象存储。有关这三种类型的差别,可以参考 对象存储、文件存储和块存储的区别。 MioIO 是一个开源的分布式对象存储系统,非常适合于存储大容量非结构化的数据,例如图片,视频,日志文件,备份数据等。本文讲述如何快速搭建 MioIO 服务端和客户端,以...
-
携程 Apollo 配置中心初探
最近在对开源配置中心进行调研。当前流行的开源配置中心包括 Apollo,Nacos,以及 Disconf。Apollo 应该是当前最流行,所以写篇文章来记录 Apollo 的安装与使用。 Apollo 是携程开源的分布式配置中心,能够集中化管理不同环境,不同集群的配置,配置修改后能够实时推送到...
-
记一次 socket 通信性能优化过程
上段时间测试人员对某个服务端程序进行了性能压力测试,发现当使用 JMeter 向程序并发发送 100 个请求后,再发送请求,则会出现程序无法响应的现象。想着这个问题比较棘手,就拖了不少时间。最近其他事情少了点,可以专心下来优化这个程序的性能,就着手开干了。 利用 Wireshark 和 Pyt...
-
一文带你了解 RTO 和 RPO
RTO 和 RPO 都是企业灾难恢复(Disaster Recovery, DR)需要考虑的关键指标,这两个指标可以用来指导企业来制定合适的业务系统服务或数据的恢复方案。 本文介绍 RTO 和 RPO 的概念以及区别。 图:RPO(Recovery point objective) 和 RTO...
-
Oracle / PL SQL: CURSOR FOR LOOP 使用
FOR LOOP 介绍 为了对游标进行遍历,可以使用 语句实现,语法如下: 对游标进行 遍历时,省去了 的声明,循环每次从查询结果中取出一行结果,当取完后,跳出循环。 1) record 是 语句隐式创建的 类型变量,用于表示对游标遍历中的每一行记录。 变量只可以用于 语句内部。...
-
SQL JOIN 的使用
由于工作需要,现在也开始写一些复杂一点的 sql 了。由于之前对于 与 关键字的使用一直有疑惑,故写一篇文章整理一下,算是对 sql 中各种表联结使用的一个总结。 SQL JOIN 的作用 sql 关键字 与 属于以行方向为单位的集合运算,进行这些集合运算时,会导致记录行数的增加或减少...
-
贝叶斯公式学习笔记
贝叶斯公式有着广泛的应用。最近重新拿起上学时的教科书——浙大《概率论与数理统计(第三版)》,复习了一遍全概率公式与贝叶斯公式,算是捡起了一些记忆。 本文从条件概率出发,推导出全概率公式以及贝叶斯公式,并以例子说明贝叶斯公式的应用。 条件概率 条件概率研究如何计算事件 已发生的条件下事件 发...
-
CLion 实现远程调试
CLion 是 JetBrains IDE 全家桶产品之一,可以用来开发 C/C+项目,而 GDB 则可以用来对 C/C+程序进行调试。 作为一款调试器,GDB 为程序开发人员提供了强大的调试功能,但却需要使用命令来执行调试操作,操作起来不是很方便。(有关 GDB 的使用,可以参考文章《GDB...
-
债券的价格
之前一直好奇债券的价格是如何确定的,最近查阅了一些资料,对债券的价格有了初步的了解。这篇文章记录对于债券价格的学习笔记。 一、背景知识 1.1 货币时间价值 货币时间价值是指货币随着时间的推移而发生的增值。衡量货币时间价值大小的指标即是利率。 1.2 终值 终值用来表示货币时间价值的概念。已知...
-
使用 LaTeX 制作幻灯片
之前一直好奇大学里老师的那种看起来很专业的幻灯片是怎么制作的,只是知道他们使用 TeX 而一直没有动手实践。本着绝知此事要躬行的精神,决定动手实践一把。 由于在家主要使用 Mac 电脑,故本文讲述如何在 Mac OS 制作 LaTeX 幻灯片。 一、安装 MacTeX MacTeX 是 Te...
-
Samba 服务器搭建与 Java 客户端实现
最近需要将原来使用阿里云 OSS 的程序模块改成使用公司内部搭建的文件服务器,由于目前使用的文件不多,且都是一些小文件,经过对比后,决定采用 Samba 来实现文件服务器。 Samba 是一个程序的集合,包括服务器与客户端程序,它允许在 Linux 与 Windows 实现共享文件的功能。本文...
-
最大回撤线性算法实现
最大回撤是指投资组合在选定的周期内,任一时间点往后推,可能出现资产净值下降的最大幅度。回撤的意思是指在某一段时期内净值从最高点开始回落到最低点的幅度。最大回撤常用百分率来表示,是一个重要的风险指标。最大回撤的计算公式为 注意这里的与并不一定是最高值与最低值,这里的与要与时间范围内关联起来。 另...
-
米筐开源量化框架 RQalpha 安装使用
RQalpha 是 Ricequant 开源的量化框架,提供数据获取,算法交易,策略回测,实盘模拟,实盘交易,数据分析等功能。RQalpha 的安装过程并不十分友好,本文讲述如何安装 RQalpha。安装环境是 Mac OS 操作系统。 安装步骤 1. 创建虚拟环境 RQalpha 推荐使用虚...
-
CAP 理论 —— 最通俗的解释
CAP 理论是分布式系统的一个基础理论,它描述了任何一个分布式系统最多只能满足以下三个特性中的两个: 一致性(Consistency) 可用性(Availability) 分区容忍性(Partition tolerance) CAP 理论听起来十分抽象,本文尝试以生活中的例子并用通俗易懂的语言...
-
深入理解 Spring AOP
AOP,Aspect Oriented Programming,面向切面编程,是指在运行时,动态地将代码切入到类的指定方法、指定位置上的一种编程技术。AOP 是 OOP 的延续,是软件开发中的一个热点,也是 Spring 框架中的一个重要内容。利用 AOP 可以对业务逻辑与横切关注点(cros...
-
深入理解 Spring 控制反转与依赖注入
概览 对于 Spring 框架来说,控制反转(Inversion of Control, IoC)和依赖注入(Dependency Injection, DI)是个等同的概念,控制反转是通过依赖注入实现的。在这篇文章中,我们会详细介绍 IoC 和 DI 的概念,然后我们会讨论 Spring 框...
-
Java 使用 Rserve 实现与 R 的通信
Rserve 是一个基于 TCP/IP 的服务器程序,它允许其他语言调用 R 语言。由于 Rserve 采用 C/S (客户端/服务器)的调用方式,因此客户端并不需要链接 R 语言库,客户端程序与 R 程序可以实现低耦合的目的。 为调用 R 语言,需要实现一个与 Rserve 通信的客户端程序...
-
Spring MVC 入门例子
Spring Web MVC 是一个建立在 Servlet API 的 Web 框架,它属于 Spring Framework 的产品。Spring Web MVC 名称来源于模块 spring-webmvc ,但它更常用的叫法是 Spring MVC。 本文讲述如何使用 IntelliJ I...