安装中文LaTeX环境

安装中文LaTeX环境

1
sudo apt install texlive texlive-xetex texlive-latex-extra texlive-fonts-recommended texlive-fonts-extra -y

更换Hexo渲染引擎

更换渲染引擎

hexo-renderer-markdown-it渲染引擎,自带很多插件,社区也比较活跃。可以将自带的渲染引擎替换成。

  1. 首先卸载原有的渲染引擎

    1
    2
    3
    npm un hexo-renderer-marked --save
    npm un hexo-renderer-pandoc --save

    默认渲染引擎:hexo-renderer-marked

  2. 安装新引擎 npm i hexo-renderer-markdown-it --save

  3. 在_config文件中增加配置,启用新引擎的特性,具体配置如下:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    markdown:
    preset: "default"
    render:
    html: true
    xhtmlOut: false
    langPrefix: "language-"
    breaks: true
    linkify: true
    typographer: true
    quotes: "“”‘’"
    enable_rules:
    disable_rules:
    plugins:
    - markdown-it-abbr
    - markdown-it-attrs
    - markdown-it-cjk-breaks
    - markdown-it-deflist
    - markdown-it-emoji
    - markdown-it-footnote
    - markdown-it-ins
    - markdown-it-mark
    - markdown-it-sub
    - markdown-it-sup
    - name: markdown-it-container
    options: success
    - name: markdown-it-container
    options: tips
    - name: markdown-it-container
    options: warning
    - name: markdown-it-container
    options: danger

    anchors:
    level: 2
    collisionSuffix: ""
    permalink: false
    permalinkClass: "header-anchor"
    permalinkSide: "left"
    permalinkSymbol: "¶"
    case: 0
    separator: "-"

测试新渲染引擎

  1. markdown-it-container插件,支持容器显示内容

    测试
    测试markdown-it-container生效

  2. 支持上述内容显示,还需要在主题的css文件中增加样式,参考样式如下:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    // custom css for markdown-it-container
    .tips {
    padding-left: 10px;
    background-color rgba(52,152,219,.3);
    border-left 6px solid rgb(52,152,219);
    color: darken(rgb(52,152,219),20%);
    }
    .success {
    padding-left: 10px;
    background-color rgba(46,204,113,.3);
    border-left 6px solid rgb(46,204,113);
    color: darken(rgb(46,204,113),20%);
    }
    .warning {
    padding-left: 10px;
    background-color rgba(241,196,15,.3);
    border-left 6px solid rgb(241,196,15);
    color: darken(rgb(241,196,15),20%);
    }
    .danger {
    padding-left: 10px;
    background-color rgba(231,76,60,.3);
    border-left 6px solid rgb(231,76,60);
    color: darken(rgb(231,76,60),20%);
    }

阅读更多

Hexo 支持admonition 插件

安装hexo-admonition 插件

  1. 在Blog目录下执行如下命令安装插件

    1
    npm install hexo-admonition --save
  2. 在修改主题样式,增加admonition样式

    • 在Blog根目录下找到./node_modules/hexo-theme-icarus/source/css目录
    • 在style.styl中添加css代码

如何使用hexo-admonition

1
2
3
4
5
6
7
8
9
10
!!! note Hexo-admonition 插件使用示例
这是基于 hexo-admonition 插件渲染的一条提示信息。类型为 note,并设置了自定义标题。
**提示内容开头留 4 个空格**,可以有多行,最后用空行结束此标记。

提示类型 type 将用作 CSS 类名称,暂支持如下类型:
- note
- info, todo
- warning, attention, caution
- error, failure, missing, fail

Hexo-admonition 插件使用示例

这是基于 hexo-admonition 插件渲染的一条提示信息。类型为 note,并设置了自定义标题。 提示内容开头留 4 个空格,可以有多行,最后用空行结束此标记。

提示类型 type 将用作 CSS 类名称,暂支持如下类型:
- note
- info, todo
- warning, attention, caution
- error, failure, missing, fail

阅读更多

安装Linux发行版本日常工具

安装Linux

无论安装那个Linux发行版本都要注意下载完成镜像文件以后需要验证一下sha256sum文件一致。

1
sha256sum /path/Linux.iso

使用国内镜像源

  1. 修改Linux系统源,以下以POP OS为例
1
2
3
4
sudo sed -i 's@http://apt.pop-os.org/@https://mirror.sjtu.edu.cn/pop-os/@g' /etc/apt/sources.list.d/pop-os-apps.sources
sudo sed -i 's@http://apt.pop-os.org/@https://mirror.sjtu.edu.cn/pop-os/@g' /etc/apt/sources.list.d/pop-os-release.sources
sudo sed -i 's@http://apt.pop-os.org/@https://mirror.sjtu.edu.cn/@g' /etc/apt/sources.list.d/system.sources

  1. 以NixOS为例
1
2
3
sudo nix-channel --add https://mirrors.tuna.tsinghua.edu.cn/nix-channels/nixos-22.11 nixos
sudo nix-channel --update

  1. 修改flatpak源
1
sudo flatpak remote-modify flathub --url=https://mirrors.ustc.edu.cn/flathub
阅读更多

分布式数据库以及应用改造

分布式数据库

典型的分布式数据库及实现

  1. 增加分布式数据中间件(即在多个独立数据库实例前增加一个数据库中间件),由分布式数据库中间件实现分库分表,分布式SQL执行,分布式事务等。
  2. 内置分布式数据库中间件(将分布式数据库中间件作为分布式数据的一个组件)
  3. 不论是内置还是外置的数据库中间件都会接管数据库客户端和数据库服务之间的链接,一般会提供如下能力:
    1. 分库能力
    2. 分表能力
    3. 分布式事务(有限的分布式事务能力:Local、XA、Free/Base)
    4. 支持读写分离
    5. 兼容有限的数据库协议和客户端
    6. 支持水平扩展,(可选)提供前端负载均衡能力
阅读更多

大数据通用架构

Lambda架构

Lambda架构
  1. Lambda架构有三层,批处理层、速度层和服务层。
    1. 批处理层:批处理层是基于Hadoop生态,随着数据的更新会对所有数据进行重计算并将计算结果保存到NoSQL数据库中(如:electicalsearch、HBase、Redis、Hive等),提供批处理视图,批处理视图会整体批量更新;
    2. 速度层:由于批处理的机制导致延迟较大(天级/小时级),如果需要尽快的处理实时数据则需要提供单独的机制产生实时视图,通常只需要保存少量近期数据;
    3. 服务层:只会调用批处理视图和实时视图(汇总实时图和批处理视图),为应用系统提供查询服务;
  2. Lambda架构特点:
    1. 有批处理层、速度层和服务层三层;
    2. 所有数据最终都需要放在统一分布式存储上;
    3. 批处理层重新计算以后速度层的视图就可以丢弃;
    4. Lambda平台实现逻辑复杂(实时数据和批处理数据是两套处理)
阅读更多

数据治理到通用概念

华为云数据治理架构

华为云数据治理中心

数据集成

数据集成就是将不同到数据源到数据通过ETL工具集成到数据打数据管理系统中。一般由独立到数据集成数据集成工具完成。

  1. 数据集成工具 数据集成集群管理,需要新建一个数据集成的集群,通常是一个ETL工具(数据加载的工具集合)。
  2. 数据链接 是用数据集成集群集成数据是是需要建立源数据和目标数据之间的链接。新建连接(源数据链接和和目标数据链接);
  3. 新建作业 选在源和目标数据链接以及、数据库和表名称以及字段映射关系以及数据集成任务的执行参数
  4. 启动任务执行
阅读更多

在linxu上搭建miniconda和pyspark环境

下载安装miniconda

  • 下载miniconda
    从清华大学镜像站中下载miniconda,下载地址https://mirrors.bfsu.edu.cn/anaconda/miniconda/,下载Miniconda3-latest-Linux-x86_64.sh

  • 安装miniconda
    执行bash Miniconda3-latest-Linux-x86_64.sh 按照指引完成安装。安装时可以完成一次conda初始化,初始化脚本会在用户.bashrc中增加初始化操作。安装成功以后需要重新打开一次console,即可进入conda默认环境中。使用conda list可以查询默认环境中已经安装的包。

阅读更多

关系型数据库和MapReduce的差异

关系型数据库和MapReduce的差异

  1. OLAP关系型数据库SQL语义对表达复杂BI报表与分析要方便很多,开发人员使用MapReduce来模拟表达同样的效果SQL语义往往比较复杂;
  2. 关系型数据库的执行引擎,对SQL的执行有很多优化机制,例如执行路径优化、关联算法等,对于BI的处理和分析比较方便,而采用MapReduce则需要大量的开发工作,以及较强编程技能;
  3. 很多在SQL体系不适合实现数据处理需求(如:预测、高级聚类算法),在MapReduce中则比较容易实现;
  4. MapReduce扩展性比OLAP关系型数据库扩展性强,更适合大规模数据处理分析与工作;
  5. 在数据处理结果展示方面,很对BI工具都是基于关系型数据库,即使采用MapReduce实现数据处理分析工作,最终还是会导入到数据库中做展示。
阅读更多

纵横大数据主要观点(四)

经典DBMS的挑战

  1. 数据量与处理压力带来的扩展性的挑战,主要体现在:
    1. 企业的核心业务系统,应付用户并发量与数据量增长的压力越来越严重;
    2. 企业的业务分析系统应付数据处理强度与数据量增长的压力也越来越严重。
  2. 对多种数据类型管理以及弱模式管理需求满足。
  3. 主流关系型数据库应对现代数据管理需求的挑战的主要策略,主要分两种(基于分布式与并行技术解决方案架构):
    1. Share Disk:从名字上可以判断,主要是扩展了数据库计算能力,但是磁盘、网络IO依旧是瓶颈;典型产品Oracle RAC,实际项目中超过4个RAC节点OLTP的集群很少,当增加第一个RAC节点时数据库性能可以显著提升性能,增加更多节点数据库性能则不能线性增加,甚至可能出现多节点的数据库性能还不如单机性能(数据库主要性能瓶颈时磁盘IO瓶颈,在OLTP和OLAP都有可能发生,OLAP场景更多一些;节点数量增加并没有解决硬盘IO瓶颈,且增加节点导致的协调、控制等损耗更大)。
    2. Share Nothing :通过分片技术让每个节点上存储的数据都不相同,这样即可解决水平扩展中磁盘IO问题,典型产品TeraData,GreenPlum;这种架构下由于数据分散在不同节点,这种架构天然就不适合OLTP的场景(例如:表关联操作不得不进行节点间数据迁移工作)。Share Nothing架构基本上都用于OLAP场景。
阅读更多