Skip to main content
风不止

风不止

树欲静而风不止

blog
blog
Self-use learning blog records the knowledge and difficulties encountered in work and study.
interview
interview
Collect interview questions and reference answers asked during the interview
Docker使用

Docker常用命令

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

1. 查看 Docker 版本

查看安装的 Docker 版本信息。

docker --version

风不止About 3 mindockerdocker
双系统安装

双系统安装

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

环境准备

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

风不止About 2 min双系统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"

风不止Less than 1 minutedockernginx
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; 
}

风不止Less than 1 minutenginxSSL
缓存(cache)

缓存

概述

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

Cookies

特点

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

风不止About 2 minjavascriptcache
闭包(closure)

闭包

概述

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

闭包的特性

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

风不止About 2 minjavascriptclosure
Responsive Design

响应式设计(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>


风不止About 1 minjavascriptdesign
WeakMap and WeakSet

图片拖动及放大缩小

概述

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

WeakMap

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


风不止About 1 minjavascriptweekMap
2
3
4