-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.html
324 lines (292 loc) · 39.4 KB
/
index.html
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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
<!DOCTYPE html><html lang="en" data-theme="light"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0,viewport-fit=cover"><title>ChenWeiHui's Blog</title><meta name="author" content="cwh"><meta name="copyright" content="cwh"><meta name="format-detection" content="telephone=no"><meta name="theme-color" content="#ffffff"><meta property="og:type" content="website">
<meta property="og:title" content="ChenWeiHui's Blog">
<meta property="og:url" content="https://github.com/CWH6/bk/index.html">
<meta property="og:site_name" content="ChenWeiHui's Blog">
<meta property="og:locale" content="en_US">
<meta property="og:image" content="https://cwh6-bucket.oss-cn-shanghai.aliyuncs.com/bk/xhs.png">
<meta property="article:author" content="cwh">
<meta name="twitter:card" content="summary">
<meta name="twitter:image" content="https://cwh6-bucket.oss-cn-shanghai.aliyuncs.com/bk/xhs.png"><link rel="shortcut icon" href="/bk/img/jljy3.png"><link rel="canonical" href="https://github.com/CWH6/bk/index.html"><link rel="preconnect" href="//cdn.jsdelivr.net"/><link rel="preconnect" href="//busuanzi.ibruce.info"/><link rel="stylesheet" href="/bk/css/index.css"><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free/css/all.min.css" media="print" onload="this.media='all'"><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@fancyapps/ui/dist/fancybox/fancybox.min.css" media="print" onload="this.media='all'"><script>const GLOBAL_CONFIG = {
root: '/bk/',
algolia: undefined,
localSearch: undefined,
translate: undefined,
noticeOutdate: undefined,
highlight: {"plugin":"highlighjs","highlightCopy":true,"highlightLang":true,"highlightHeightLimit":false},
copy: {
success: 'Copy successfully',
error: 'Copy error',
noSupport: 'The browser does not support'
},
relativeDate: {
homepage: false,
post: false
},
runtime: '',
dateSuffix: {
just: 'Just',
min: 'minutes ago',
hour: 'hours ago',
day: 'days ago',
month: 'months ago'
},
copyright: undefined,
lightbox: 'fancybox',
Snackbar: undefined,
source: {
justifiedGallery: {
js: 'https://cdn.jsdelivr.net/npm/flickr-justified-gallery/dist/fjGallery.min.js',
css: 'https://cdn.jsdelivr.net/npm/flickr-justified-gallery/dist/fjGallery.min.css'
}
},
isPhotoFigcaption: false,
islazyload: false,
isAnchor: false,
percent: {
toc: true,
rightside: false,
}
}</script><script id="config-diff">var GLOBAL_CONFIG_SITE = {
title: 'ChenWeiHui\'s Blog',
isPost: false,
isHome: true,
isHighlightShrink: false,
isToc: false,
postUpdate: '2025-03-19 00:41:25'
}</script><noscript><style type="text/css">
#nav {
opacity: 1
}
.justified-gallery img {
opacity: 1
}
#recent-posts time,
#post-meta time {
display: inline !important
}
</style></noscript><script>(win=>{
win.saveToLocal = {
set: function setWithExpiry(key, value, ttl) {
if (ttl === 0) return
const now = new Date()
const expiryDay = ttl * 86400000
const item = {
value: value,
expiry: now.getTime() + expiryDay,
}
localStorage.setItem(key, JSON.stringify(item))
},
get: function getWithExpiry(key) {
const itemStr = localStorage.getItem(key)
if (!itemStr) {
return undefined
}
const item = JSON.parse(itemStr)
const now = new Date()
if (now.getTime() > item.expiry) {
localStorage.removeItem(key)
return undefined
}
return item.value
}
}
win.getScript = url => new Promise((resolve, reject) => {
const script = document.createElement('script')
script.src = url
script.async = true
script.onerror = reject
script.onload = script.onreadystatechange = function() {
const loadState = this.readyState
if (loadState && loadState !== 'loaded' && loadState !== 'complete') return
script.onload = script.onreadystatechange = null
resolve()
}
document.head.appendChild(script)
})
win.getCSS = (url,id = false) => new Promise((resolve, reject) => {
const link = document.createElement('link')
link.rel = 'stylesheet'
link.href = url
if (id) link.id = id
link.onerror = reject
link.onload = link.onreadystatechange = function() {
const loadState = this.readyState
if (loadState && loadState !== 'loaded' && loadState !== 'complete') return
link.onload = link.onreadystatechange = null
resolve()
}
document.head.appendChild(link)
})
win.activateDarkMode = function () {
document.documentElement.setAttribute('data-theme', 'dark')
if (document.querySelector('meta[name="theme-color"]') !== null) {
document.querySelector('meta[name="theme-color"]').setAttribute('content', '#0d0d0d')
}
}
win.activateLightMode = function () {
document.documentElement.setAttribute('data-theme', 'light')
if (document.querySelector('meta[name="theme-color"]') !== null) {
document.querySelector('meta[name="theme-color"]').setAttribute('content', '#ffffff')
}
}
const t = saveToLocal.get('theme')
if (t === 'dark') activateDarkMode()
else if (t === 'light') activateLightMode()
const asideStatus = saveToLocal.get('aside-status')
if (asideStatus !== undefined) {
if (asideStatus === 'hide') {
document.documentElement.classList.add('hide-aside')
} else {
document.documentElement.classList.remove('hide-aside')
}
}
const detectApple = () => {
if(/iPad|iPhone|iPod|Macintosh/.test(navigator.userAgent)){
document.documentElement.classList.add('apple')
}
}
detectApple()
})(window)</script><meta name="generator" content="Hexo 5.4.2"></head><body><div id="web_bg"></div><div id="sidebar"><div id="menu-mask"></div><div id="sidebar-menus"><div class="avatar-img is-center"><img src="https://cwh6-bucket.oss-cn-shanghai.aliyuncs.com/bk/xhs.png" onerror="onerror=null;src='/img/friend_404.gif'" alt="avatar"/></div><div class="sidebar-site-data site-data is-center"><a href="/bk/archives/"><div class="headline">Articles</div><div class="length-num">119</div></a><a href="/bk/tags/"><div class="headline">Tags</div><div class="length-num">38</div></a><a href="/bk/categories/"><div class="headline">Categories</div><div class="length-num">12</div></a></div><hr/><div class="menus_items"><div class="menus_item"><a class="site-page" href="/bk/"><i class="fa-fw fas fa-home"></i><span> 主页</span></a></div><div class="menus_item"><a class="site-page" href="/bk/archives/"><i class="fa-fw fas fa-archive"></i><span> 归档</span></a></div><div class="menus_item"><a class="site-page" href="/bk/tags/"><i class="fa-fw fas fa-tags"></i><span> 标签</span></a></div><div class="menus_item"><a class="site-page" href="/bk/categories/"><i class="fa-fw fas fa-folder-open"></i><span> 分类</span></a></div><div class="menus_item"><a class="site-page group" href="javascript:void(0);"><i class="fa-fw fas fa-list"></i><span> List</span><i class="fas fa-chevron-down"></i></a><ul class="menus_item_child"><li><a class="site-page child" href="/bk/music/"><i class="fa-fw fas fa-music"></i><span> 音乐</span></a></li><li><a class="site-page child" href="/bk/movies/"><i class="fa-fw fas fa-video"></i><span> 电影</span></a></li></ul></div><div class="menus_item"><a class="site-page" href="/bk/link/"><i class="fa-fw fas fa-link"></i><span> 友链</span></a></div><div class="menus_item"><a class="site-page" href="/bk/about/"><i class="fa-fw fas fa-heart"></i><span> 关于</span></a></div></div></div></div><div class="page" id="body-wrap"><header class="full_page" id="page-header" style="background-image: url('/bk/img/alone_blue_sky.jpg')"><nav id="nav"><span id="blog-info"><a href="/bk/" title="ChenWeiHui's Blog"><span class="site-name">ChenWeiHui's Blog</span></a></span><div id="menus"><div class="menus_items"><div class="menus_item"><a class="site-page" href="/bk/"><i class="fa-fw fas fa-home"></i><span> 主页</span></a></div><div class="menus_item"><a class="site-page" href="/bk/archives/"><i class="fa-fw fas fa-archive"></i><span> 归档</span></a></div><div class="menus_item"><a class="site-page" href="/bk/tags/"><i class="fa-fw fas fa-tags"></i><span> 标签</span></a></div><div class="menus_item"><a class="site-page" href="/bk/categories/"><i class="fa-fw fas fa-folder-open"></i><span> 分类</span></a></div><div class="menus_item"><a class="site-page group" href="javascript:void(0);"><i class="fa-fw fas fa-list"></i><span> List</span><i class="fas fa-chevron-down"></i></a><ul class="menus_item_child"><li><a class="site-page child" href="/bk/music/"><i class="fa-fw fas fa-music"></i><span> 音乐</span></a></li><li><a class="site-page child" href="/bk/movies/"><i class="fa-fw fas fa-video"></i><span> 电影</span></a></li></ul></div><div class="menus_item"><a class="site-page" href="/bk/link/"><i class="fa-fw fas fa-link"></i><span> 友链</span></a></div><div class="menus_item"><a class="site-page" href="/bk/about/"><i class="fa-fw fas fa-heart"></i><span> 关于</span></a></div></div><div id="toggle-menu"><a class="site-page" href="javascript:void(0);"><i class="fas fa-bars fa-fw"></i></a></div></div></nav><div id="site-info"><h1 id="site-title">ChenWeiHui's Blog</h1><div id="site-subtitle"><span id="subtitle"></span></div><div id="site_social_icons"><a class="social-icon" href="mailto:[email protected]" target="_blank" title="Email"><i class="fas fa-envelope" style="color: #4a7dbe;"></i></a><a class="social-icon" href="https://cwh6-bucket.oss-cn-shanghai.aliyuncs.com/bk/wx_self.jpg" target="_blank" title="wx"><i class="fas fa-qq" style="color: #4a7dbe;"></i></a></div></div><div id="scroll-down"><i class="fas fa-angle-down scroll-down-effects"></i></div></header><main class="layout" id="content-inner"><div class="recent-posts" id="recent-posts"><div class="recent-post-item"><div class="recent-post-info no-cover"><a class="article-title" href="/bk/2025/03/19/%E3%80%90Vue2%E3%80%91Vue2%E9%9B%86%E6%88%90vue-codemirror%E5%AE%9E%E7%8E%B0%E4%BB%A3%E7%A0%81%E7%BC%96%E8%BE%91%E5%99%A8%E9%AB%98%E5%85%89/" title="【Vue2】Vue2集成vue-codemirror实现代码编辑器高光">【Vue2】Vue2集成vue-codemirror实现代码编辑器高光</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">Created</span><time class="post-meta-date-created" datetime="2025-03-18T16:10:45.000Z" title="Created 2025-03-19 00:10:45">2025-03-19</time><span class="article-meta-separator">|</span><i class="fas fa-history"></i><span class="article-meta-label">Updated</span><time class="post-meta-date-updated" datetime="2025-03-18T16:41:04.347Z" title="Updated 2025-03-19 00:41:04">2025-03-19</time></span></div><div class="content">一、介绍
vue-codemirror 是一个为 Vue.js 应用设计的代码编辑器组件,基于流行的
CodeMirror
编辑器构建。它旨在提供强大的代码编辑功能和良好的用户体验,适合用于在线代码编辑器、IDE、博客、文档和其他需要代码展示的场景。
二、安装
本次是基于vue2进行安装
2.1 安装vue-codemirror
123// 指定安装4.x版本// 目前最新版本6.x,仅支持Vue3.0npm i [email protected] --save
2.2 安装 codemirror
123// 同样指定版本// codemirror 需要与 vue-codemirror 同时安装npm i [email protected] --save
2.3 设置工具js
注意:codemirror 需要的主题样式、语言默认、需要引入后配置才能生效
在 utils 目录下 创建 cm-setting.js
123456789101112131415// cm-setting.js// 组件样式import "codemirror/l ...</div></div></div><div class="recent-post-item"><div class="recent-post-info no-cover"><a class="article-title" href="/bk/2025/03/18/%E3%80%90Vue2%E3%80%91Vue2%E6%8E%A5%E5%85%A5vue-code-highlight%E7%BB%84%E5%90%88%E5%AE%9E%E7%8E%B0%E4%BB%A3%E7%A0%81%E9%AB%98%E5%85%89/" title="【Vue2】Vue2接入vue-code-highlight组合实现代码高光">【Vue2】Vue2接入vue-code-highlight组合实现代码高光</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">Created</span><time class="post-meta-date-created" datetime="2025-03-18T14:36:18.000Z" title="Created 2025-03-18 22:36:18">2025-03-18</time><span class="article-meta-separator">|</span><i class="fas fa-history"></i><span class="article-meta-label">Updated</span><time class="post-meta-date-updated" datetime="2025-03-18T16:15:11.670Z" title="Updated 2025-03-19 00:15:11">2025-03-19</time></span></div><div class="content">一、介绍
Vue-Code-Highlight 是一个专为 Vue.js
设计的代码高亮组件,旨在提升代码展示的视觉效果和阅读体验。该项目使开发者能够轻松地将各种编程语言的代码块以美观且高亮的形式嵌入到
Vue
应用中,支持多种主题风格,适用于博客、文档以及其他需要展示代码片段的场景。
注意只是将代码段展示成高光,不能编辑代码
二、安装
2.1 安装依赖
1npm install vue-code-highlight --save
2.2 部分依赖引入
在某个页面中
123456789101112131415161718192021222324<template> ...... <vue-code-highlight language="javascript" style="height: 400px"> function test() { console.log("hello world" ...</div></div></div><div class="recent-post-item"><div class="recent-post-info no-cover"><a class="article-title" href="/bk/2025/03/15/%E3%80%90%E4%BA%A4%E6%98%93%E3%80%91%E4%BA%A4%E6%98%93%E4%B8%AD%E5%B8%B8%E7%94%A8%E7%9A%84%E4%B8%9A%E5%8A%A1/" title="【交易】交易中的策略以及操作">【交易】交易中的策略以及操作</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">Created</span><time class="post-meta-date-created" datetime="2025-03-15T08:53:35.000Z" title="Created 2025-03-15 16:53:35">2025-03-15</time><span class="article-meta-separator">|</span><i class="fas fa-history"></i><span class="article-meta-label">Updated</span><time class="post-meta-date-updated" datetime="2025-03-16T08:27:18.218Z" title="Updated 2025-03-16 16:27:18">2025-03-16</time></span></div><div class="content">一、前言
1本文是介绍交易中的策略以及操作, 了解加密货币市场(学习)
声明:由于加密货币市场的高风险和监管的复杂性,在许多国家和地区对加密货币的交易活动有严格限制,
一定要了解当地的监管政策和交易所的相关规则
二、术语
2.1 做空
投资者预期加密货币的价格将会下跌,投资者先借入一定数量的加密货币并卖出,待价格下跌后再买入相同数量的加密货币归还所借的部分,从中赚取差价利润
1当前比特币价格是 50000 美元一枚,你从交易平台或他人处借入 1 枚比特币并立即以 50000 美元的价格卖出。之后比特币价格如你所料,跌到了 40000 美元一枚,这时你再花 40000 美元买入 1 枚比特币,归还给之前借入的地方。这样,在不考虑交易手续费等成本的情况下,你就通过做空比特币赚取了 10000 美元的利润。
2.1.1 操作
部分大型且合规的加密货币交易所(如币安、火币(部分地区限制)、OKEx
等,会提供多种交易衍生品来实现做空,常
见的方式如下:
合约交易
包括永续合约和定期合约等。以永续合约为例,投资者可以开空单,即建立空头头寸。当加密货币价格下跌时, ...</div></div></div><div class="recent-post-item"><div class="recent-post-info no-cover"><a class="article-title" href="/bk/2025/03/10/%E3%80%90binance%E3%80%91JAVA%E6%8E%A5%E5%85%A5%E5%B8%81%E5%AE%89API/" title="【binance】JAVA接入币安API">【binance】JAVA接入币安API</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">Created</span><time class="post-meta-date-created" datetime="2025-03-10T13:23:08.000Z" title="Created 2025-03-10 21:23:08">2025-03-10</time><span class="article-meta-separator">|</span><i class="fas fa-history"></i><span class="article-meta-label">Updated</span><time class="post-meta-date-updated" datetime="2025-03-10T13:23:08.755Z" title="Updated 2025-03-10 21:23:08">2025-03-10</time></span></div><div class="content">
</div></div></div><div class="recent-post-item"><div class="recent-post-info no-cover"><a class="article-title" href="/bk/2025/03/08/%E3%80%90Twitter%E3%80%91twitter%E5%BC%80%E5%8F%91%E8%80%85api%E4%BA%86%E8%A7%A3-%E5%B0%8F%E6%A1%88%E4%BE%8B/" title="【Twitter】twitter开发者api了解&小案例">【Twitter】twitter开发者api了解&小案例</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">Created</span><time class="post-meta-date-created" datetime="2025-03-08T07:16:26.000Z" title="Created 2025-03-08 15:16:26">2025-03-08</time><span class="article-meta-separator">|</span><i class="fas fa-history"></i><span class="article-meta-label">Updated</span><time class="post-meta-date-updated" datetime="2025-03-09T15:11:19.429Z" title="Updated 2025-03-09 23:11:19">2025-03-09</time></span></div><div class="content">背景
Twitter 开发者 API 允许开发者访问 Twitter
的数据和功能,支持自动化推文、数据分析、用户互动等。通过
API,可以获取推文、用户信息、趋势数据,并进行自动化管理,如定时发布或舆情分析。本案例将介绍
Twitter API 的基本使用,包括 API
申请、身份认证、数据获取等,同时通过一个小案例展示如何使用 API
获取最新推文并进行简单的数据处理,帮助开发者快速入门并理解 API
的实际应用场景。
介绍
访问级别
自由
基本
专业版
企业
(1)对于只写用例和测试 X API (2)对 v2
帖子和媒体上传终端节点的低速率限制访问 (3)每月 1,500 个帖子 -
应用程序级别的帖子限制(4) 1 个项目,每个项目 1 个应用程序,1
个环境 (5)使用 X 登录,访问 Ads API (6)费用: 免费
(1) 对于业余爱好者或原型(2) 对 v2
终端节点套件的低速率限制访问(3) 每月 3,000
个帖子(用户级别),每月 50,000 个帖子(应用程序级别)( ...</div></div></div><div class="recent-post-item"><div class="recent-post-info no-cover"><a class="article-title" href="/bk/2025/02/24/%E3%80%90git%E3%80%91%E4%BB%A3%E7%A0%81%E5%90%8C%E6%AD%A5%E6%96%B9%E6%A1%88/" title="【git】苦逼开发-代码同步方案">【git】苦逼开发-代码同步方案</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">Created</span><time class="post-meta-date-created" datetime="2025-02-24T13:11:13.000Z" title="Created 2025-02-24 21:11:13">2025-02-24</time><span class="article-meta-separator">|</span><i class="fas fa-history"></i><span class="article-meta-label">Updated</span><time class="post-meta-date-updated" datetime="2025-02-24T16:29:41.757Z" title="Updated 2025-02-25 00:29:41">2025-02-25</time></span></div><div class="content">场景
当程序员想在家提交代码到企业私服时,发现只有公司内网设备才能连,如何同步?
经过思考,需要创建一个代理仓库就能做到了
步骤
1)项目设置两个仓库,这里命名vv 和 ww,
假设ww是代理仓库
2)第一天早上【在公司】项目关联两个仓库
3)第一天下班【在公司】分别推送到两个仓库
4)第一天晚上【在家里】拉取代理仓库 ww,
修复bug,推送到ww 仓库
5)第二天早上【在公司】先拉取代理仓库ww
的代码,将ww的代码同步到本地,解决与vv的冲突,
在将代码提交到vv与ww
以此类推下去......
流程图
案例
1、创建仓库
1)在gitlab 上创建
仓库vv:https://gitlab.com/cwh4/vv
2)在 gitee 上创建仓库 ww:
https://gitee.com/CWH6/ww
2、模拟公司环境
1)idae 创建maven 项目 取名vv
2)进入项目命名行,初始化 Git
1git init
3)点 击IDEA 顶部的git, 点击
Manage Remotes
添加上面,两个仓库的地址
m ...</div></div></div><div class="recent-post-item"><div class="recent-post-info no-cover"><a class="article-title" href="/bk/2025/01/18/%E3%80%90gitlab%E3%80%91%E5%9F%BA%E4%BA%8Egilab-runner%E7%9A%84cicd%E5%AE%9E%E7%8E%B0/" title="【gitlab】基于gilab runner的cicd实现">【gitlab】基于gilab runner的cicd实现</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">Created</span><time class="post-meta-date-created" datetime="2025-01-18T09:57:08.000Z" title="Created 2025-01-18 17:57:08">2025-01-18</time><span class="article-meta-separator">|</span><i class="fas fa-history"></i><span class="article-meta-label">Updated</span><time class="post-meta-date-updated" datetime="2025-01-18T09:57:08.523Z" title="Updated 2025-01-18 17:57:08">2025-01-18</time></span></div><div class="content">
</div></div></div><div class="recent-post-item"><div class="recent-post-info no-cover"><a class="article-title" href="/bk/2025/01/18/%E3%80%90WordPress%E3%80%91%E5%9F%BA%E4%BA%8EWordPress%E5%BB%BA%E7%AB%99/" title="【WordPress】基于WordPress建站">【WordPress】基于WordPress建站</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">Created</span><time class="post-meta-date-created" datetime="2025-01-18T09:51:34.000Z" title="Created 2025-01-18 17:51:34">2025-01-18</time><span class="article-meta-separator">|</span><i class="fas fa-history"></i><span class="article-meta-label">Updated</span><time class="post-meta-date-updated" datetime="2025-01-18T09:51:34.655Z" title="Updated 2025-01-18 17:51:34">2025-01-18</time></span></div><div class="content">
</div></div></div><div class="recent-post-item"><div class="recent-post-info no-cover"><a class="article-title" href="/bk/2025/01/18/%E3%80%90SSCMS%E3%80%91%E5%9F%BA%E4%BA%8ESSCMS%E6%90%AD%E5%BB%BA%E9%9D%99%E6%80%81%E7%AB%99%E7%82%B9/" title="【SSCMS】基于SSCMS搭建静态站点">【SSCMS】基于SSCMS搭建静态站点</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">Created</span><time class="post-meta-date-created" datetime="2025-01-18T09:49:09.000Z" title="Created 2025-01-18 17:49:09">2025-01-18</time><span class="article-meta-separator">|</span><i class="fas fa-history"></i><span class="article-meta-label">Updated</span><time class="post-meta-date-updated" datetime="2025-01-18T10:29:50.695Z" title="Updated 2025-01-18 18:29:50">2025-01-18</time></span></div><div class="content">概述
SSCMS(Smart Software Configuration Management
System)是一款智能化的软件配置管理系统,旨在帮助团队高效管理软件版本、配置文件和开发过程,提升开发协作效率,确保系统稳定性与可追溯性。
部署
这里采用docker部署, 注意开放主机的8723端口
12345678docker run -d \ --name my-sscms \ -p 8723:80 \ --restart=always \ -v /home/sscms_app_wwwroot:/app/wwwroot \ -e SSCMS_SECURITY_KEY=e2a3d303-ac9b-41ff-9154-930710af0845 \ -e SSCMS_DATABASE_TYPE=SQLite \ sscms/core:latest
安装 SSCMS 后,会显示进入后台的链接。点击该链接即可进入 SSCMS
管理员登录界面,输入安装时设置的用户名和密码即可登录
安装参考:https://juejin.cn/post/ ...</div></div></div><div class="recent-post-item"><div class="recent-post-info no-cover"><a class="article-title" href="/bk/2025/01/02/%E3%80%90Logback%E3%80%91Logback%E9%85%8D%E7%BD%AE%E6%97%A5%E5%BF%97/" title="【Logback】Logback配置日志">【Logback】Logback配置日志</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">Created</span><time class="post-meta-date-created" datetime="2025-01-02T12:20:10.000Z" title="Created 2025-01-02 20:20:10">2025-01-02</time><span class="article-meta-separator">|</span><i class="fas fa-history"></i><span class="article-meta-label">Updated</span><time class="post-meta-date-updated" datetime="2025-01-02T14:45:21.160Z" title="Updated 2025-01-02 22:45:21">2025-01-02</time></span></div><div class="content">概述
本文基于logback实现web项目(采用Struts2框架)的日志管理,设置彩色日志,根据日结级别还有日期划分日志文件
一般是springboot项目会集成,因为springboot中有已经定义好的色彩转换类,此处没有则自定义。
依赖
jar
web项目, 需要在 web/INF-WEB/lib 下添加以下依赖包
123logback-classic-1.2.3.jarlogback-core-1.2.3.jarslf4j-api-1.7.32.jar
maven
如果是maven
123456789101112131415<dependencies> <!-- Logback Classic --> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic</artifactId> <version>1.2.3</ ...</div></div></div><nav id="pagination"><div class="pagination"><span class="page-number current">1</span><a class="page-number" href="/bk/page/2/#content-inner">2</a><span class="space">…</span><a class="page-number" href="/bk/page/12/#content-inner">12</a><a class="extend next" rel="next" href="/bk/page/2/#content-inner"><i class="fas fa-chevron-right fa-fw"></i></a></div></nav></div><div class="aside-content" id="aside-content"><div class="card-widget card-info"><div class="is-center"><div class="avatar-img"><img src="https://cwh6-bucket.oss-cn-shanghai.aliyuncs.com/bk/xhs.png" onerror="this.onerror=null;this.src='/bk/img/friend_404.gif'" alt="avatar"/></div><div class="author-info__name">cwh</div><div class="author-info__description">简单写写,记录代码</div></div><div class="card-info-data site-data is-center"><a href="/bk/archives/"><div class="headline">Articles</div><div class="length-num">119</div></a><a href="/bk/tags/"><div class="headline">Tags</div><div class="length-num">38</div></a><a href="/bk/categories/"><div class="headline">Categories</div><div class="length-num">12</div></a></div><a id="card-info-btn" href="https://github.com/cwh6"><i class="fab fa-github"></i><span>Follow Me</span></a><div class="card-info-social-icons is-center"><a class="social-icon" href="mailto:[email protected]" target="_blank" title="Email"><i class="fas fa-envelope" style="color: #4a7dbe;"></i></a><a class="social-icon" href="https://cwh6-bucket.oss-cn-shanghai.aliyuncs.com/bk/wx_self.jpg" target="_blank" title="wx"><i class="fas fa-qq" style="color: #4a7dbe;"></i></a></div></div><div class="card-widget card-announcement"><div class="item-headline"><i class="fas fa-bullhorn fa-shake"></i><span>Announcement</span></div><div class="announcement_content">ありがとう、私の暗い世界の小さな太陽、ありがとう、ずっと温めてくれた</div></div><div class="sticky_layout"><div class="card-widget card-recent-post"><div class="item-headline"><i class="fas fa-history"></i><span>Recent Post</span></div><div class="aside-list"><div class="aside-list-item no-cover"><div class="content"><a class="title" href="/bk/2025/03/19/%E3%80%90Vue2%E3%80%91Vue2%E9%9B%86%E6%88%90vue-codemirror%E5%AE%9E%E7%8E%B0%E4%BB%A3%E7%A0%81%E7%BC%96%E8%BE%91%E5%99%A8%E9%AB%98%E5%85%89/" title="【Vue2】Vue2集成vue-codemirror实现代码编辑器高光">【Vue2】Vue2集成vue-codemirror实现代码编辑器高光</a><time datetime="2025-03-18T16:10:45.000Z" title="Created 2025-03-19 00:10:45">2025-03-19</time></div></div><div class="aside-list-item no-cover"><div class="content"><a class="title" href="/bk/2025/03/18/%E3%80%90Vue2%E3%80%91Vue2%E6%8E%A5%E5%85%A5vue-code-highlight%E7%BB%84%E5%90%88%E5%AE%9E%E7%8E%B0%E4%BB%A3%E7%A0%81%E9%AB%98%E5%85%89/" title="【Vue2】Vue2接入vue-code-highlight组合实现代码高光">【Vue2】Vue2接入vue-code-highlight组合实现代码高光</a><time datetime="2025-03-18T14:36:18.000Z" title="Created 2025-03-18 22:36:18">2025-03-18</time></div></div><div class="aside-list-item no-cover"><div class="content"><a class="title" href="/bk/2025/03/15/%E3%80%90%E4%BA%A4%E6%98%93%E3%80%91%E4%BA%A4%E6%98%93%E4%B8%AD%E5%B8%B8%E7%94%A8%E7%9A%84%E4%B8%9A%E5%8A%A1/" title="【交易】交易中的策略以及操作">【交易】交易中的策略以及操作</a><time datetime="2025-03-15T08:53:35.000Z" title="Created 2025-03-15 16:53:35">2025-03-15</time></div></div><div class="aside-list-item no-cover"><div class="content"><a class="title" href="/bk/2025/03/10/%E3%80%90binance%E3%80%91JAVA%E6%8E%A5%E5%85%A5%E5%B8%81%E5%AE%89API/" title="【binance】JAVA接入币安API">【binance】JAVA接入币安API</a><time datetime="2025-03-10T13:23:08.000Z" title="Created 2025-03-10 21:23:08">2025-03-10</time></div></div><div class="aside-list-item no-cover"><div class="content"><a class="title" href="/bk/2025/03/08/%E3%80%90Twitter%E3%80%91twitter%E5%BC%80%E5%8F%91%E8%80%85api%E4%BA%86%E8%A7%A3-%E5%B0%8F%E6%A1%88%E4%BE%8B/" title="【Twitter】twitter开发者api了解&小案例">【Twitter】twitter开发者api了解&小案例</a><time datetime="2025-03-08T07:16:26.000Z" title="Created 2025-03-08 15:16:26">2025-03-08</time></div></div></div></div><div class="card-widget card-categories"><div class="item-headline">
<i class="fas fa-folder-open"></i>
<span>Categories</span>
<a class="card-more-btn" href="/bk/categories/" title="More">
<i class="fas fa-angle-right"></i></a>
</div>
<ul class="card-category-list" id="aside-cat-list">
<li class="card-category-list-item "><a class="card-category-list-link" href="/bk/categories/%E5%85%B6%E4%BB%96/"><span class="card-category-list-name">其他</span><span class="card-category-list-count">2</span></a></li><li class="card-category-list-item "><a class="card-category-list-link" href="/bk/categories/%E5%89%8D%E7%AB%AF/"><span class="card-category-list-name">前端</span><span class="card-category-list-count">6</span></a></li><li class="card-category-list-item "><a class="card-category-list-link" href="/bk/categories/%E5%90%8E%E7%AB%AF/"><span class="card-category-list-name">后端</span><span class="card-category-list-count">27</span></a></li><li class="card-category-list-item "><a class="card-category-list-link" href="/bk/categories/%E5%9F%BA%E6%9C%AC%E5%8A%9F/"><span class="card-category-list-name">基本功</span><span class="card-category-list-count">1</span></a></li><li class="card-category-list-item "><a class="card-category-list-link" href="/bk/categories/%E5%A4%A7%E6%95%B0%E6%8D%AE/"><span class="card-category-list-name">大数据</span><span class="card-category-list-count">1</span></a></li><li class="card-category-list-item "><a class="card-category-list-link" href="/bk/categories/%E5%BE%88%E9%85%B7%E7%9A%84%E4%BA%8B/"><span class="card-category-list-name">很酷的事</span><span class="card-category-list-count">2</span></a></li><li class="card-category-list-item "><a class="card-category-list-link" href="/bk/categories/%E5%BE%AE%E6%9C%8D%E5%8A%A1/"><span class="card-category-list-name">微服务</span><span class="card-category-list-count">2</span></a></li><li class="card-category-list-item "><a class="card-category-list-link" href="/bk/categories/%E6%9E%B6%E6%9E%84/"><span class="card-category-list-name">架构</span><span class="card-category-list-count">2</span></a></li>
</ul></div><div class="card-widget card-tags"><div class="item-headline"><i class="fas fa-tags"></i><span>Tags</span></div><div class="card-tag-cloud"><a href="/bk/tags/Seata/" style="font-size: 1.1em; color: #999">Seata</a> <a href="/bk/tags/ES6/" style="font-size: 1.1em; color: #999">ES6</a> <a href="/bk/tags/datax/" style="font-size: 1.1em; color: #999">datax</a> <a href="/bk/tags/%E7%80%9A%E9%AB%98/" style="font-size: 1.3em; color: #99a1ac">瀚高</a> <a href="/bk/tags/Tomcat/" style="font-size: 1.1em; color: #999">Tomcat</a> <a href="/bk/tags/%E6%9E%B6%E6%9E%84/" style="font-size: 1.5em; color: #99a9bf">架构</a> <a href="/bk/tags/Mybatis/" style="font-size: 1.1em; color: #999">Mybatis</a> <a href="/bk/tags/%E5%A4%A7%E6%95%B0%E6%8D%AE/" style="font-size: 1.1em; color: #999">大数据</a> <a href="/bk/tags/springCache/" style="font-size: 1.1em; color: #999">springCache</a> <a href="/bk/tags/redis/" style="font-size: 1.3em; color: #99a1ac">redis</a> <a href="/bk/tags/ai/" style="font-size: 1.1em; color: #999">ai</a> <a href="/bk/tags/ssl/" style="font-size: 1.1em; color: #999">ssl</a> <a href="/bk/tags/%E5%AE%9E%E6%88%98/" style="font-size: 1.3em; color: #99a1ac">实战</a> <a href="/bk/tags/Vue/" style="font-size: 1.3em; color: #99a1ac">Vue</a> <a href="/bk/tags/docker/" style="font-size: 1.1em; color: #999">docker</a> <a href="/bk/tags/nginx/" style="font-size: 1.1em; color: #999">nginx</a> <a href="/bk/tags/Annotation/" style="font-size: 1.3em; color: #99a1ac">Annotation</a> <a href="/bk/tags/FreeMarker/" style="font-size: 1.1em; color: #999">FreeMarker</a> <a href="/bk/tags/Scheduling/" style="font-size: 1.1em; color: #999">Scheduling</a> <a href="/bk/tags/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F/" style="font-size: 1.1em; color: #999">设计模式</a> <a href="/bk/tags/MQ/" style="font-size: 1.5em; color: #99a9bf">MQ</a> <a href="/bk/tags/springboot/" style="font-size: 1.1em; color: #999">springboot</a> <a href="/bk/tags/k3s/" style="font-size: 1.1em; color: #999">k3s</a> <a href="/bk/tags/springCloud/" style="font-size: 1.3em; color: #99a1ac">springCloud</a> <a href="/bk/tags/Redis/" style="font-size: 1.3em; color: #99a1ac">Redis</a> <a href="/bk/tags/%E5%86%85%E7%BD%91%E7%A9%BF%E9%80%8F/" style="font-size: 1.1em; color: #999">内网穿透</a> <a href="/bk/tags/%E5%90%8E%E7%AB%AF/" style="font-size: 1.1em; color: #999">后端</a> <a href="/bk/tags/MySQL/" style="font-size: 1.1em; color: #999">MySQL</a> <a href="/bk/tags/%E9%87%8D%E6%9E%84/" style="font-size: 1.1em; color: #999">重构</a> <a href="/bk/tags/smart-doc/" style="font-size: 1.1em; color: #999">smart-doc</a> <a href="/bk/tags/%E5%BE%AE%E6%9C%8D%E5%8A%A1/" style="font-size: 1.3em; color: #99a1ac">微服务</a> <a href="/bk/tags/%E6%95%B0%E6%8D%AE%E8%84%B1%E6%95%8F/" style="font-size: 1.1em; color: #999">数据脱敏</a> <a href="/bk/tags/MyBatis/" style="font-size: 1.1em; color: #999">MyBatis</a> <a href="/bk/tags/swagger/" style="font-size: 1.1em; color: #999">swagger</a> <a href="/bk/tags/javaWeb/" style="font-size: 1.1em; color: #999">javaWeb</a> <a href="/bk/tags/aop/" style="font-size: 1.1em; color: #999">aop</a> <a href="/bk/tags/RSA/" style="font-size: 1.1em; color: #999">RSA</a> <a href="/bk/tags/springSecurity/" style="font-size: 1.1em; color: #999">springSecurity</a></div></div><div class="card-widget card-archives"><div class="item-headline"><i class="fas fa-archive"></i><span>Archives</span><a class="card-more-btn" href="/bk/archives/" title="More">
<i class="fas fa-angle-right"></i></a></div><ul class="card-archive-list"><li class="card-archive-list-item"><a class="card-archive-list-link" href="/bk/archives/2025/03/"><span class="card-archive-list-date">March 2025</span><span class="card-archive-list-count">5</span></a></li><li class="card-archive-list-item"><a class="card-archive-list-link" href="/bk/archives/2025/02/"><span class="card-archive-list-date">February 2025</span><span class="card-archive-list-count">1</span></a></li><li class="card-archive-list-item"><a class="card-archive-list-link" href="/bk/archives/2025/01/"><span class="card-archive-list-date">January 2025</span><span class="card-archive-list-count">4</span></a></li><li class="card-archive-list-item"><a class="card-archive-list-link" href="/bk/archives/2024/12/"><span class="card-archive-list-date">December 2024</span><span class="card-archive-list-count">9</span></a></li><li class="card-archive-list-item"><a class="card-archive-list-link" href="/bk/archives/2024/10/"><span class="card-archive-list-date">October 2024</span><span class="card-archive-list-count">2</span></a></li><li class="card-archive-list-item"><a class="card-archive-list-link" href="/bk/archives/2024/09/"><span class="card-archive-list-date">September 2024</span><span class="card-archive-list-count">8</span></a></li><li class="card-archive-list-item"><a class="card-archive-list-link" href="/bk/archives/2024/08/"><span class="card-archive-list-date">August 2024</span><span class="card-archive-list-count">16</span></a></li><li class="card-archive-list-item"><a class="card-archive-list-link" href="/bk/archives/2024/07/"><span class="card-archive-list-date">July 2024</span><span class="card-archive-list-count">6</span></a></li></ul></div><div class="card-widget card-webinfo"><div class="item-headline"><i class="fas fa-chart-line"></i><span>Info</span></div><div class="webinfo"><div class="webinfo-item"><div class="item-name">Article :</div><div class="item-count">119</div></div><div class="webinfo-item"><div class="item-name">UV :</div><div class="item-count" id="busuanzi_value_site_uv"><i class="fa-solid fa-spinner fa-spin"></i></div></div><div class="webinfo-item"><div class="item-name">PV :</div><div class="item-count" id="busuanzi_value_site_pv"><i class="fa-solid fa-spinner fa-spin"></i></div></div><div class="webinfo-item"><div class="item-name">Last Push :</div><div class="item-count" id="last-push-date" data-lastPushDate="2025-03-18T16:41:24.737Z"><i class="fa-solid fa-spinner fa-spin"></i></div></div></div></div></div></div></main><footer id="footer"><div id="footer-wrap"><div class="copyright">©2020 - 2025 By cwh</div><div class="framework-info"><span>Framework </span><a target="_blank" rel="noopener" href="https://hexo.io">Hexo</a><span class="footer-separator">|</span><span>Theme </span><a href="https://github.com/jerryc127/hexo-theme-butterfly">Butterfly</a></div></div></footer></div><div id="rightside"><div id="rightside-config-hide"><button id="darkmode" type="button" title="Switch Between Light And Dark Mode"><i class="fas fa-adjust"></i></button><button id="hide-aside-btn" type="button" title="Toggle between single-column and double-column"><i class="fas fa-arrows-alt-h"></i></button></div><div id="rightside-config-show"><button id="rightside_config" type="button" title="Setting"><i class="fas fa-cog fa-spin"></i></button><button id="go-up" type="button" title="Back To Top"><span class="scroll-percent"></span><i class="fas fa-arrow-up"></i></button></div></div><div><script src="/bk/js/utils.js"></script><script src="/bk/js/main.js"></script><script src="https://cdn.jsdelivr.net/npm/@fancyapps/ui/dist/fancybox/fancybox.umd.min.js"></script><div class="js-pjax"><script>window.typedJSFn = {
init: (str) => {
window.typed = new Typed('#subtitle', Object.assign({
strings: str,
startDelay: 300,
typeSpeed: 150,
loop: true,
backSpeed: 50,
}, null))
},
run: (subtitleType) => {
if (true) {
if (typeof Typed === 'function') {
subtitleType()
} else {
getScript('https://cdn.jsdelivr.net/npm/typed.js/dist/typed.umd.min.js').then(subtitleType)
}
} else {
subtitleType()
}
}
}
</script><script>function subtitleType () {
if (true) {
typedJSFn.init(["塔塔开 塔塔开 塔塔开!!!","走的很慢,但从不后退"])
} else {
document.getElementById("subtitle").innerHTML = '塔塔开 塔塔开 塔塔开!!!'
}
}
typedJSFn.run(subtitleType)</script></div><script id="click-show-text" src="https://cdn.jsdelivr.net/npm/butterfly-extsrc/dist/click-show-text.min.js" data-mobile="false" data-text="offer" data-fontsize="15px" data-random="false" async="async"></script><script async data-pjax src="//busuanzi.ibruce.info/busuanzi/2.3/busuanzi.pure.mini.js"></script></div></body></html>