Clay 的技术空间

用进废退 | 艺不压身

大纲

C++ 简介

C++ 介绍

  • C++ 被认为是一种中级语言,它综合了高级语言和低级语言的特点。
  • C++ 是 C 的一个超集,事实上,任何合法的 C 程序都是合法的 C++ 程序。
  • C++ 是一种静态类型的、编译式的、通用的、大小写敏感的、不规则的编程语言,支持过程化编程、面向对象编程和泛型编程。
  • C++ 是由 Bjarne Stroustrup 于 1979 年在新泽西州美利山贝尔实验室开始设计开发的。C++ 进一步扩充和完善了 C 语言,最初命名为带类的 C,后来在 1983 年更名为 C++。

注意:使用静态类型的编程语言是在编译时执行类型检查,而不是在运行时执行类型检查。

阅读全文 »

前言

本文适用于 Debian/Ubuntu、RHEL/Fedora/CentOS、openSUSE/SLE-based、Arch 等 Linux 发行版。

VS Code 安装

Debian / Ubuntu

  • 安装软件仓库源和密钥
1
2
3
4
$ wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > packages.microsoft.gpg
$ sudo install -o root -g root -m 644 packages.microsoft.gpg /etc/apt/trusted.gpg.d/
$ sudo sh -c 'echo "deb [arch=amd64,arm64,armhf signed-by=/etc/apt/trusted.gpg.d/packages.microsoft.gpg] https://packages.microsoft.com/repos/code stable main" > /etc/apt/sources.list.d/vscode.list'
$ rm -f packages.microsoft.gpg
  • 更新安装包缓存,并安装 VS Code
1
2
3
$ sudo apt install apt-transport-https
$ sudo apt update
$ sudo apt install code
阅读全文 »

版本说明

  • Hexo 5.4.0
  • NexT 8.8.1

NexT 渲染 Mermaid 绘图

安装 Hexo 插件

在博客的根目录下,执行以下命令安装 hexo-filter-mermaid-diagrams 插件

1
$ npm install hexo-filter-mermaid-diagrams --save
阅读全文 »

日志

定义日志的颜色

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
#!/bin/bash

_COLORS=${BS_COLORS:-$(tput colors 2>/dev/null || echo 0)}
__detect_color_support() {
if [ $? -eq 0 ] && [ "$_COLORS" -gt 2 ]; then
RC='\033[1;31m'
GC='\033[1;32m'
BC='\033[1;34m'
YC='\033[1;33m'
EC='\033[0m'
else
RC=""
GC=""
BC=""
YC=""
EC=""
fi
}
__detect_color_support
echoerror() {
printf "${RC} * ERROR${EC}: %s\\n" "$@" 1>&2;
}
echoinfo() {
printf "${GC} * INFO${EC}: %s\\n" "$@";
}
echowarn() {
printf "${YC} * WARN${EC}: %s\\n" "$@";
}

# 使用示例
echoinfo "Hello World"
echowarn "Hello World"
echoerror "Hello World"
阅读全文 »

什么是 Swap

Linux 中的 Swap 即为系统交换区,类似于 Windows 的虚拟内存,当内存不足的时候,把一部分磁盘空间虚拟成内存使用,以解决内存容量不足的情况。Linux 系统的内存管理必须使用交换区来建立虚拟内存。尽管对于交换空间的合适大小有很多意见,但这实际上取决于您的个人喜好和您的应用程序要求。通常,等于或两倍于系统 RAM 量的量是一个很好的起点。另一个好的经验法则是,如果您只是将它用作 RAM 后备,那么任何超过 4G 的交换空间都可能是不必要的。

创建交换分区

  • 查看交换分区信息
1
sudo swapon -s
  • 查看系统内存大小
1
sudo free -m
阅读全文 »

CSS 3 的优缺点

CSS 3 是最新版本的 CSS,是对原来 CSS 2 的功能增强,用于网页样式设计。CSS 3 具有更强大的选择器、多列布局、圆角边框、阴影效果、渐变、动画、媒体查询等功能,让开发者可以更轻松地实现各种视觉效果和响应式设计。

CSS 3 的优点

CSS 3 提供了一些在原来 CSS 2 中实现起来比较困难或者不能实现的功能,比如:

  • 渐变
  • 圆角边框
  • 盒子和文字的阴影效果
  • 转换、移动、缩放、旋转等
  • 过渡、动画都可以使用动画
  • 可以使用媒体查询实现响应式网站
阅读全文 »

大纲

信号

信号的概念

信号(Signal)是软件中断,是进程之间相互传递消息的一种方法,用于通知进程发生了事件,但是不能给进程传递任何数据。信号产生的原因有很多,在 Linux 系统下,可以用 killkillall 等命令发送信号。

阅读全文 »

前言

本文主要介绍如何实现 Java 的动态编译,并给出快速入门案例,点击下载完整的案例代码。

快速入门

编写接口

1
2
3
4
5
6
7
8
9
10
package com.clay.domain;

/**
* @author clay
*/
public interface Store {

public void sell();

}
阅读全文 »

GitHub 搜索

搜索电子书

关键词搜索示例:

  • pdf
  • cs-books
  • cs books
  • awesome cs books
阅读全文 »

大纲

Vue CLI 安装

CLI 是 Command-Line Interface (命令行界面) 的缩写,俗称脚手架。Vue CLI 是一个由 Vue 官方提供的、快速生成 Vue 工程化项目的工具,可以快速搭建 Vue 开发环境以及创建对应的 Webpack 配置文件。在使用 Vue 开发大型应用时,往往需要考虑代码目录结构、项目结构和部署、热加载、单元测试等事情;如果每个项目都要手动完成这些工作,那无以效率比较低效,所以通常会使用一些脚手架工具来帮助完成这些事情。

版本区别

Vue CLI 目前拥有两个版本,分别是 Vue CLI 2 和 Vue CLI 3,两者的区别如下:

  • Vue CLI 3 提供了 vue ui 命令,提供了可视化配置,更加人性化
  • Vue CLI 3 是基于 Webpack 4 打造,Vue CLI 2 是基于 Webpack 3 打造
  • Vue CLI 3 的设计原则是 零配置,移除了配置文件根目录下的 buildconfig 等目录
  • Vue CLI 3 移除了 static 文件夹,新增了 public 文件夹,并且将 index.html 移动到 public 文件夹中
阅读全文 »