服务器监控

使用了DataDog处理nginx的访问日志,但还有个问题就是access.log文件datadog-agent没有权限访问,每次只能对/var/log/nginx目录下的所有文件进行chmod o+r才行

阅读全文

日期时间控件

用了Element的UI组件,效果挺好的

阅读全文

CSS文字分散对齐

1
2
3
label{
text-align-last: justify;
}

阅读全文

sprintboot设置响应头Content-Type为json

1
@RequestMapping(value = "/postMethod", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE)

阅读全文

CSS鼠标图标

1
2
3
4
5
6
7
.a{
cursor: pointer; /* 手型 */
}

.b{
cursor: not-allowed; /* 禁用 */
}

阅读全文

vue限制v-for列表的大小

比如将size限定在20个

1
2
3
<div v-for="(item, index) in items.slice(0, 20)">
<div>{{index}}</div>
</div>

阅读全文

IndexedDB & Dexie.js

IndexedDB容量没有精确值或百分比,参考Storage limits,浏览器的总存储容量是硬盘可用空间的1/2。
参考这个回答,可以使用navigator.storage.estimate()来看quota

阅读全文

electron保存文件

Render Process

1
2
3
4
5
6
7
8
9
10
11
12
const {ipcRenderer} = require('electron')

const saveBtn = document.getElementById('save-dialog')

saveBtn.addEventListener('click', (event) => {
ipcRenderer.send('save-dialog')
})

ipcRenderer.on('saved-file', (event, path) => {
if (!path) path = 'No path'
document.getElementById('file-saved').innerHTML = `Path selected: ${path}`
})

阅读全文

检查fs.writeFileSync是否成功完成

因为fs.writeFileSync没有callback,所以使用try/catch

阅读全文

JavaScript Excel

折腾了半天,结果js-xlsx不能加样式,只有Pro收费版提供,放弃,转而使用exceljs。

exceljs没有range支持,设置一个range的背景色只能自己写循环,一个一个cell地配。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
const bgColorHeader = {
type: 'pattern',
pattern:'solid',
fgColor:{argb:'FFFFF492'}
};

const bgColorBrown = {
type: 'pattern',
pattern:'solid',
fgColor:{argb:'FFFECB9C'}
};

for(let ix = 0; ix <= 20; ix++) {
worksheet.getCell(String.fromCharCode(ix + 65) + '2').fill = bgColorHeader
worksheet.getCell(String.fromCharCode(ix + 65) + '7').fill = bgColorBrown
}

阅读全文