Clay 的技术空间

用进废退 | 艺不压身

大纲

GCC 使用

GCC 编译器简介

GCC(GNU Compiler Collection)编译器是 GNU 开源组织发布的 UNIX/Linux 下功能强大、性能优越的编译器,支持跨平台交叉编译,它还可以将 C、C++ 等多种语言编写的源程序编译、链接成可执行文件。而 GDB 是 GNU 推出的功能强大的程序调试器,可以说 GCC 与 GDB 是在 Linux 环境下进行 C/C++ 程序开发不可缺的工具。GCC 可以编译如 C、C++、Object-C、Java、Fortran、Pascal、Modula-3 和 Ada 等多种编程语言,而且 GCC 又是一个多平台编译器,能够在当前 CPU 平台上为多种不同体系架构的硬件平台开发软件,因此尤其适合在嵌入式软件领域的开发和编译。在使用 GCC 编译程序时,编译过程可以被细分为四个阶段:预处理、编译、汇编、链接。

GCC 使用语法介绍

  • 语法:gcc [options] [filenames]
阅读全文 »

前言

用户认证与授权

  • 用户认证:当用户去访问我们的系统资源的时候,我们的系统需要验证用户的身份(比如账号和密码认证这是一种方式),如果身份合法则认证通过,颁发相应的免死金牌,如果验证没通过,则提示用户请三思而后行,这就是用户认证
  • 用户授权:用户授权一般是与用户认证相辅相成的,在认证的时候,如果认证通过,我们还会将该用户的权限信息给收集起来,并将相应信息作为依据,封装在认证的 HTTP 响应体中。当用户认证成功后,访问我们系统的某一个模块的时候,该模块是需要判断该用户是否有权访问,如果没有访问该资源的访问权限,用户也只有被拒绝访问,这就是用户授权

单点登录(SSO)

单点登录一般常见于分布式应用中,用户只需要登录一次,即认证一次就可访问分布式应用中的所有模块,而不需要每访问一个模块就得去登录认证一次,这样用户嫌麻烦,后端认证逻辑也冗余。

第三方登录(授权码)

比如目前互联网运用中的微信登录、微博登录、支付宝登录等,用户通过授权,第三方应用给予我们系统访问他微信相关信息的权限,我们获取后进行注册,使其称为我们系统的注册人员,实现第三方登录。

阅读全文 »

大纲

操作系统的作用

  • 方便:使计算机系统易于使用
  • 有效:以更有效的方式使用计算机系统资源
  • 扩展:方便用户有效开发、测试和引进新功能

操作系统的地位

操作系统在计算机系统中承上启下的地位:向下封装硬件,向上提供操作接口。

linux-coding-1

阅读全文 »

前言

本文主要介绍如何使用 Docker 安装并管理 Nacos 的镜像和容器,涉及到 Nacos 单机版与集群版的安装,并连接上 MySQL 数据库,同时还会介绍 Prometheus 与 Grafana 监控系统的使用。

1.0、版本说明

软件版本
CentOS7.9
Docker20.10.1
Docker-Compose1.24.0-rc1
Nacos1.4.0
阅读全文 »

前言

Linux 服务器的安全加固涉及多个层面的措施,包括用户管理、权限控制、系统更新、防火墙与网络配置、日志监控等。

阅读全文 »

CentOS 使用体验

使用 Linux 系统已经很多年了,CentOS/Debian/Ubuntu 都有接触过,其中 CentOS 使用的时间最长了,从 CentOS6 到 CentOS7 陆陆续续用了有六七年。抛开其他方面不说,Debian/Ubuntu 都是很优秀的 Linux 发行版,由于这么多年来公司的服务器都是标配 CentOS,因此当初为了踩更多的坑,就一直坚持使用 CentOS。当年的目标很单纯也很纯粹,为的就是希望在企业的生产环境更能得心应手。CentOS 继承了 RedHat 的血统,无论是作为企业服务器还是日常使用的开发机,都能胜任大多数使用场景了。唯一需要吐槽的可能就是内核版本很低、软件版本比较旧、软件资源少,但正是这样才凸显了 CentOS 的稳定性,毕竟对企业服务器来说,稳定性压倒一切。如果希望得到像 Arch、Deppin、Elementary OS 那样拥有炫酷界面、丰富的软件、滚动更新等特性,那么 CentOS 确实不适合这类用户。CentOS 默认使用 GNOME 作为桌面环境,而 GNOME Shell 的社区拥有大量开源插件,因此花点时间也可以将 CentOS 折腾得比较满意。例如经过显卡驱动优化GNOME 桌面美化输入法更换壁纸更换配置 Zsh、Guake 后,可以达到比较满意的界面体验,而 CentOS 桌面软件少的问题,也可以通过 SnapFlatpak 间接得到缓解。

阅读全文 »

前言

创建 RSA 公钥

新建 RSA 公钥文件 api_pub.key,然后将以下内容拷贝并保存到该文件中。

1
2
3
4
5
6
-----BEGIN PUBLIC KEY-----
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDHn/hfvTLRXViBXTmBhNYEIJeG
GGDkmrYBxCRelriLEYEcrwWrzp0au9nEISpjMlXeEW4+T82bCM22+JUXZpIga5qd
BrPkjU08Ktf5n7Nsd7n9ZeI0YoAKCub3ulVExcxGeS3RVxFai9ozERlavpoTOdUz
EH6YWHP4reFfpMpLzwIDAQAB
-----END PUBLIC KEY-----
阅读全文 »

模块管理

NPM 安装与卸载模块

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# 全局安装
$ npm install xxxx -g

# 局部安装,且更新package.json文件
$ npm install xxxx --save

# 卸载指定模块
$ npm uninstall xxxx

# 卸载全局模块
$ npm uninstall xxxx -g

# 查看模块的最新版本号
$ npm view xxxx version

# 查看模块的所有版本号
$ npm view xxxx versions
阅读全文 »

前言

注册开通百度熊掌 ID 后(该产品后来改名为移动专区),百度搜索资源平台提供了站点天级收录的 API,可以让站长享受天级收录站点的机会(存在天级收录配额限制),这样可以很大程度地加快站点的收录。本文会给出现成的 Python 版本站点天级收录代码,系统环境依赖 Linux,软件环境依赖 Python3Curl

baidu-search-day-included

阅读全文 »