使用WireGuard内网穿透

1. 前言

WireGuard 是由 Jason Donenfeld 等人用 C 语言编写的一个开源 威屁恩 协议,被视为下一代 威屁恩 协议,旨在解决许多困扰 IPSec/IKEv2、Open威屁恩 或 L2TP 等其他 威屁恩 协议的问题。它与 Tinc 和 MeshBird 等现代 威屁恩 产品有一些相似之处,即加密技术先进、配置简单。从 2020 年 1 月开始,它已经并入了 Linux 内核的 5.6 版本,这意味着大多数 Linux 发行版的用户将拥有一个开箱即用的 WireGuard。

阅读更多

PostgreSQL备份与恢复

1. 前言

数据库的备份有多种分类方式。

  1. 按照备份后的文件类型,可以分为物理备份(文件系统级别的备份)和逻辑备份(备份后的文件是sql文件或特定格式的导出文件);
  2. 按照备份过程中是否停止数据库服务,可分为冷备份(备份过程中停止数据库服务)和热备份(备份过程中数据库服务开启并可供用户访问);
  3. 按照备份是否是完整的数据库,可分为全量备份(备份是完整的数据库)和增量备份(备份是上一次全量备份后数据库改变的内容)。

Postgresql的常见备份方式有以下三种:文件系统级别的冷备份, SQL转储, 连续归档.

阅读更多

自己动手写一个Mysql到PostgreSQL数据库迁移工具

1. 前言

这段时间在进行 Mysql 到 PostgreSQL 数据库迁移工作.

主要包含三部分工作, 其一是构建数据库对象, 包括表, 视图, 存储过程的构建, 这部分由于我在项目早期就引入了 liquibase, 所以迁移工作很简单, 所以没有总结文章.

其二是代码修改, 让代码适配新的数据库, 这部分已经总结发布到了鹏叔的技术博客 - 从 Mariadb 迁移到 postgresql.

其三是数据迁移, 数据迁移也有一些现成的工具, 但是配置起来比较麻烦, 工具比想象中的复杂太多, 用起来也不是太顺手, 与其花时间在熟悉一次性的工具上, 不如自己写一个迁移工具. 于是就有了这篇文章.

阅读更多

基于 Code-server 快速部署自己的云开发环境

1. 前言

Web IDE,顾名思义就是云端开发环境,把 IDE 部署在云上。打开浏览器,连上云 IDE,就可以方便敲代码跑程序。想象一下,带上一台 iPad 或者华为、小米平板,配上蓝牙键盘,坐在阴凉下,或者沙滩上,吹着海风,面朝大海敲代码,多么惬意。

其实 Web IDE 很早就有,但那些都只能说是玩具,直到现在才有一些不错的产品推出,比如微软和 Github 的 Visual Studio Codespaces、coding.net 的 Cloud Studio、华为云 CloudIDE 等。不过,这些产品要么还在测试,要么免费用会有限制或者价格不菲,目前还不是非常方便。

如果想要低成本愉快地使用,自己动手搭建是一个不错的方案。对配置要求不高的话,一年几十块一百多块就能买到廉价的 VPS 或者云主机就足够了。

自己DIY 一套Web IDE 比较成熟的方案有两个,code-server 和 Theia。毕竟 code-server 是基于VS code魔改的,与vs code的插件体系兼容性更好。所以更推荐code-server。Theia虽然有自己的插件体系,也宣称兼容vs code的插件,也是一套优秀的WEB IDE解决方案,但是兼容程度谁知道呢?

阅读更多

PostgreSQL高级篇

1. PG简介

PostgreSQL是一个免费的对象-关系型数据库服务器(ORDBMS), 在灵活的BSD许可证下发行.
PostgreSQL开发者把它念作post-gress-Q-L.
PostgreSQL的Slogan是世界上最先进的开源关系型数据库.
开源界的Oracle, 去O首选

阅读更多

Centos7上安装MariaDB

1. 安装

1.1. 检查是否已安装 mariadb

1
yum list installed | grep mariadb

1.2. 安装MariaDB

如果未安装,执行以下命令安装命令

1
yum -y install mariadb mariadb-server
阅读更多

Linux上安装PostgreSQL

1. 前言

本文以PostgreSQL 15 为例讲解如何在linux上安装PostgreSQL。

1.1. 本文主要内容

  • PostgreSQL 15 安装(yum)
  • PostgreSQL 15 基础配置
  • PostgreSQL 15 远程访问配置
  • PostgreSQL 基础管理
阅读更多

PostgreSQL基础

1. 数据库基础知识

1.1. 什么是数据库

数据库(Database, DB)是一个长期存储在计算机内的, 有组织的, 有共享的, 统一管理的数据集合.

  • 保管数据的”仓库”
  • 数据管理的方法和技术
阅读更多

CentOS7搭建NAS文件共享存储

1. 前言

1.1. 网络存储技术

网络存储技术大概可以分为3种:

  • DAS:直连式存储(Direct Attached Storage),直接与主机相连的存储设备。它依赖于服务器,本身是硬件的堆叠,不带有任何存储操作系统。现在常见的DAS设备:硬盘座带上 N个硬盘。

  • NAS:网络连接式存储(Network Attached Storage),存储设备直连网络,NAS设备和DAS设备不同在于,NAS设备一般带有存储操作系统。

  • SAN:存储网络(Storage Area Network),可以说是一种网络基础设施。SAN和NAS的区别主要在于:SAN针对海量、面向数据块的数据传输,而NAS则提供文件级的数据访问功能。

阅读更多

安装ansible

Ansible 是一种基于 Python 开发的开源配置和自动化工具,专为类 Unix 系统设计。它使用 SSH 协议与节点进行通信,无需在节点上安装任何客户端。

阅读更多

Linux下安装gradle

1. 前言

Gradle 是以 Groovy 语言为基础,面向Java应用为主。基于DSL(领域特定语言)语法的自动化构建工具

下面就描述一下如何在linux环境下安装配置gradle环境.

阅读更多