跳至主要內容
Docker使用

Docker常用命令

Docker 是一种开源容器化平台,它提供了一组丰富的命令来管理和操作容器、镜像、网络等。以下是一些常用的 Docker 命令:

1. 查看 Docker 版本

查看安装的 Docker 版本信息。

docker --version

风不止大约 3 分钟dockerdocker
双系统安装

双系统安装

为了满足特殊场景下需要使用到Windows+UOS双系统模式,本方案主要介绍 Windows+UOS 双系统安装过程。若办公业务需求必须使用windows系统,推荐使用统信的彩虹平台方案,可实现UOS系统与windows系统的一键切换。
本电脑已安装了windows10系统,再安装一个国产统信UOS系统

环境准备

  1. 下载好UOS系统镜像(AMD64),下载地址:https://www.chinauos.com/resource/download-professional
  2. 准备好一个启动盘

风不止大约 1 分钟双系统dualos
nginx容器

docker 创建nginx容器

创建 yml文件

version: '3'
services:
  nginx:
    image: nginx:latest
    container_name: nginx
    user: root
    restart: always
    ports:
      - "443:443"
      - "80:80"
    volumes:
      - /home/ubuntu/nginx/conf.d:/etc/nginx/conf.d
      - /var/lib/docker/volumes/myjenkins_jenkins-data/_data/workspace/giteeBlog/src/.vuepress/dist:/usr/share/nginx/html
    environment:
      TZ: "Asia/Shanghai"

风不止小于 1 分钟dockernginx
nginx_SSL证书部署

轻量级服务器部署SSL证书

  1. 将下载好的ssl证书压缩包上传的nginx目录下conf.d,解压
  2. 编辑 default.conf
server {
     #SSL 默认访问端口号为 443
     listen 443 ssl;
     #请填写绑定证书的域名
     server_name liuyuedeyu.top;
     #请填写证书文件的相对路径或绝对路径
     ssl_certificate conf.d/liuyuedeyu.top_nginx/liuyuedeyu.top_bundle.crt;
     #请填写私钥文件的相对路径或绝对路径
     ssl_certificate_key conf.d/liuyuedeyu.top_nginx/liuyuedeyu.top.key;
     ssl_session_timeout 5m;
     #请按照以下协议配置
     ssl_protocols TLSv1.2 TLSv1.3;
     #请按照以下套件配置,配置加密套件,写法遵循 openssl 标准。
     ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
     ssl_prefer_server_ciphers on;
     location / {
        root /usr/share/nginx/html;
        index index.html index.htm;
     }
     error_page 500 502 503 504 /50x.html;
     location = /50x.html {
        root /usr/share/nginx/html;
     }
 }
server {
 listen 80;
 listen [::]:80;
 #请填写绑定证书的域名
 server_name liuyuedeyu.top; 
 #把http的域名请求转成https
 return 301 https://$host$request_uri; 
}

风不止小于 1 分钟nginxSSL
缓存(cache)

缓存

概述

在前端开发中,Cookies、LocalStorage 和 SessionStorage 是三种常用的客户端存储机制,
它们用于在用户浏览器中存储数据。每种机制有不同的特性和用途,以下是它们的详细介绍:

Cookies

特点

  1. 存储数据:通常用于存储少量数据(每个 Cookie 最大 4KB)。
  2. 有效期:可以设置过期时间。如果未设置过期时间,Cookie 在浏览器关闭时失效。
  3. 数据共享:每次 HTTP 请求都会将所有相关的 Cookies 发送到服务器,因此可以在客户端和服务器之间共享数据。
  4. 安全性:可以设置 HttpOnly 和 Secure 属性,增加安全性。HttpOnly 阻止客户端脚本访问 Cookie,Secure 确保 Cookie 只在 HTTPS 协议下传输。

风不止大约 2 分钟javascriptcache
闭包(closure)

闭包

概述

闭包是 JavaScript 中一个非常重要且常用的概念。它是指在一个函数内部定义的另一个函数,
该内部函数可以访问其外部函数的作用域(即使外部函数已经执行完毕)。
闭包可以用来创建私有变量、避免全局变量污染、实现封装等。

闭包的特性

  1. 函数内部定义函数:闭包是在一个函数内部定义的另一个函数。
  2. 函数可以访问其外部函数的变量:内部函数可以访问其外部函数的作用域中的变量。
  3. 变量的持久化:外部函数的变量在闭包中会被持久化,不会在外部函数执行完毕后销毁

风不止大约 2 分钟javascriptclosure
响应式设计

响应式设计(Responsive Design)

你可以使用 document.body.clientWidth / 375 * 16 来根据设备的实际宽度动态计算字体大小。这种方法特别适用于移动设备页面,以 375 像素作为基准宽度(例如 iPhone 6/7/8 的屏幕宽度),然后根据实际的设备宽度动态调整字体大小。

实例代码

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Responsive Font Size</title>
  <style>
    body {
      font-family: Arial, sans-serif;
    }
    .content {
      padding: 20px;
    }
  </style>
</head>
<body>
  <div class="content">
    <h1>这是一个标题</h1>
    <p>这是一些文本内容,根据视口宽度自动调整字体大小。</p>
  </div>

  <script>
    function adjustFontSize() {
      const baseWidth = 375;
      const baseFontSize = 16; // 基准字体大小为 16px
      const currentWidth = document.body.clientWidth;
      const fontSize = (currentWidth / baseWidth) * baseFontSize;
      document.documentElement.style.fontSize = fontSize + 'px';
    }

    // 初次加载时调用
    adjustFontSize();

    // 监听窗口大小变化事件
    window.addEventListener('resize', adjustFontSize);
  </script>
</body>
</html>


风不止大约 1 分钟javascriptdesign
WeakMap 和 WeakSet

图片拖动及放大缩小

概述

`WeakMap` 和 `WeakSet` 是 ECMAScript 2015(ES6)中引入的两种新的数据结构。
它们的键(对于 WeakMap)或值(对于 WeakSet)是弱引用,即如果没有其他对这些对象的引用,
它们可以被垃圾回收。这对于避免内存泄漏特别有用。

WeakMap

WeakMap 是一个键值对的集合,其中的键必须是对象,而值可以是任意类型。
当键不再被其他引用持有时,键值对会自动被垃圾回收。


风不止大约 1 分钟javascriptweekMap
2
3
4