001
解决 amh 面板 (lnmp) 安装后内存占用 1300M+ 的问题?
内存用的比较多的情况,可以在面板『网络』看系统进程,以内存使用率排序查看,
看是什么进程用的,还有系统自身占用的。
amh面板自身没用多少内存的,只有访问面板时php-fpm进程占用,不再访问面板时会释放掉。
001
如何自定义图例的文本内容?
如下如所示,怎么把图中的 “x” 换成商品点击量?
"图片" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20250109/daced9430479054e2342a9e283fe5f48.png)
001
Flutter SDK上传文件 403?
服务端产生key、token,客户端负责上传图片。Android客户端上传图片没有问题,用Flutter的SDK上传后,七牛返回403错误。错误信息如下图:
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20250108/f798e09890393556f1b3009220d535e1.png)
帮忙看下这是什么问题?Flutter的是不是有其他额外不同的地方?
001
socketio 能和WEB服务共用同一个端口吗?
现在还有人使用 socketio 吗?
之前web服务和socketio都是独立的,比如一个 80,一个9092
现在的问题是客户环境只能开放 80 端口,这样导致socketio没法使用了。
对socketio我的了解比较粗浅一些,现在想要咨询的第一个问题是:socketio能否和WEB服务共用同一个端口?
注意问的是 socketio, 不是websocket
socketio的官网地址:
"https://socket.io/zh-CN/" (https://link.segmentfault.com/?enc=18yKDzowELzYB6jCkrpeIA%3D%3D.xIXrGIsuXnQcX41%2F1NJgxR%2FeNsV2dMm87%2BG6sETzJNQ%3D)
001
nftables 如何将 eth0 接口的流量通过 192.168.100.1:1080 转发?
我在 192.168.100.1:1080 上有一个代理,可以转发流量,我知道使用:
iptables -t nat -A PREROUTING -i eth0 -j DNAT --to 192.168.100.1:1080
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
可以将 eth0 的流量转发到 192.168.100.1:1080,但是我使用 nftables 却无法实现,测试了 iptables-translate
等工具也不行。
我期望的结果是,将 eth0 的所有流量通过 192.168.100.1:1080 代理转发。
请问我如何通过 nftables 实现上述需求?
注:192.168.100.1 不会走 eth0,假设要是走 eth0,需要排除 192.168.100.1 的转发。
001
封装 element-plus 的 el-table-column,slot 里面的 el-switch 组件会在表格初始化的时候触发一次change事件?
项目中用到了很多带 tooltip 提示的表头,所以想着把 "el-table-column" 封装下,支持 "tooltip" 参数。
下面是 "TableColumnTooltip.vue" 组件代码,封装了 "el-table-column" 支持 "tooltip";
import { QuestionFilled } from '@element-plus/icons-vue'
const props = defineProps()
{{ label }}
{{ tooltip }}
使用的时候 "List.vue"
import TableColumnTooltip from './componenets/TableColumnTooltip'
const list = ref([])
const handleToggle = () => {
console.log('trigger')
}
但是 "List.vue" 渲染的时候虽然 "list" 数组没数据,但是 "el-switch" 的 "change" 事件执行了一次,就很怪?
001
微信和打开的小程序可以在最近使用应用程序界面独立显示,这个是怎么实现的,如果用android来写的话,应该怎么实现?
使用不同的Activity来承载不同的小程序,将Activity的"android:launchMode" (https://link.segmentfault.com/?enc=5WwVapvVuKeJshd2l2Mzsg%3D%3D.aaYCccY9dsoMMU091AWTCMgXSdkbnq%2FnmLGqLec%2BvWI1zPkyDCukBto1bPgJp8Dl77iGHSJOE%2B7%2BmBWLFN5g1AwLJiFiofqgqLnwao58CJNgaBKyYlt%2Ff17N8%2BxItNar)设置为
"singleTask",并添加"android:taskAffinity" (https://link.segmentfault.com/?enc=DW7S4PPQ7h5zITFEs11Rpw%3D%3D.iLJKojNbQ%2Ftpb5VHg4En5wxZbg102MrvYDpOGXkLmJzh6m8F%2FrLqdTRFYWbJKxZNe1tjxpcp9hOqgRyxCC6XtWpmLdrD7ejzcyli9vxXAo%2FjHxKzkcTr2VbSx1huJuxu)属性将其值设置为
"不同的包名" 即可实现,示例如下:
* "模仿Android微信小程序,实现小程序独立任务视图的效果" (https://link.segmentfault.com/?enc=%2Btc7jnl4Vp0K9dODMOyC3g%3D%3D.IlTAny0ga1fN%2BCJFS4UxeiNvhfP8v3z6Gd0iI4z3RRTc1Zx3PLoJRuTLSsoY1qyqdpV3UcYMaLAZHIn7ulFNrqP3IvXMnonwoS6JNG052WrbTnQzYZFbBr61fv9SFD5y7eO%2BBClYm0Ox9TaIZsfIzrdl1J%2FDUlmNRHbrUMRqBgCoE3mQRasW4gkTLKfvRUrVcx6HCoVqY6KXKmHSzYeKZsR3Oopn6CpfY6RHy1tRbAc7BzdlSEnycv5vYHMPgYm8fUNDy3yoGrnaDZG16p%2FdGQ%3D%3D)
001
元素在使用transform:rotate旋转后,如何获得其绝对定位?
元素"transform"之后,其位置实际上还在原地,大小实际上也没有变化,所以 "offset" 不受影响。这也是做动画的时候使用 "transform"
代替修改真实尺寸可以提升性能的原因——它不改变布局,不会引起回流或者重绘。
在二维坐标系上做线性矩阵变换的时候,如果没有发生位移,那么无论怎么变换,坐标原点 "[0,0]" 的位置都是不会变的:
$$ \begin{bmatrix} a_1 & b_1 & 0 \\ a_2 & b_2 & 0 \\ 0 & 0 & 0 \end{bmatrix}
\begin{bmatrix} 0\\ 0\\ 1 \end{bmatrix} \equiv \begin{bmatrix} 0\\ 0\\ 1
\end{bmatrix} $$
在 CSS 中,这个坐标原点默认在"{position: relative;left: 0; top: 0}"所在位置,可以通过修改 "transfrom-origin" 的值来控制此原点位置,例如 "transfrom-origin:center"就可以实现元素旋转而不偏离自己的中心位置。
如果期望两个元素绕着同一个中心点旋转的话,需要从黑色正方形的尺寸和"offset"计算出确切的变换原点坐标,然后赋值给红点的"transform-origin"(红点不旋转只需要定点的话,可以直接设置为其位置"left&top")。
001
中小型 MySQL,如何判断是否需要读写分离?
怎样从当前数据库的状态来判断是否需要读写分离,最好经验丰富的老师来回答下。
我当前想到的是,是否可以通过 QPS/TPS 的值来判断呢?
001
pinia数据持久化的问题?
用 localforage ,除了方法和词法环境,存啥取啥。
001
vue动态添加子路由问题?
const newRoute = {
title: '帮助123',
path: `/${query.data.id}`,
name:`${query.data.id}`,
meta: {
//byPassToken:true, //是否绕过token认证
title: '预览'
},
component: () => import('@/views/helpPreview/index.vue'),
};
this.$router.addRoute(newRoute);
this.$router.push({ path: `/${query.data.id}`, query: { item: item } })
在组件内部新增路由,并且进行跳转,但是 this.$router.addRoute(newRoute);添加的不是子路由,导致vue标签页不显示
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241222/b07b3222c5b4e828dccc70e5a0c0715a.png)
001
生产环境的process.env.NODE_ENV=“develpment”,大家遇到过吗?
生产环境的process.env.NODE_ENV=“develpment”,大家遇到过吗?
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241221/c29f6ede6172c13ef6e3015494793593.png)
001
js中pcm怎么转g711a编码?
在vue项目里面通过navigator.mediaDevices.getUserMedia({ audio: true
}).then((stream)采集到的音频,怎么转成G711A编码?网上找的都是java、C这些语言的,要么就是node写的客户端等等,没有看到关于纯js的
001
使用antd Form,期望只校验数据正确性不校验必填怎么操作?
要不用一个变量来控制一下:
import React, { useState } from "react";
import { Input, Button, Space, Form } from "antd";
import "antd/dist/antd.css";
import "./styles.css";
export default function App() {
const [form] = Form.useForm();
const [isSubmit, setIsSubmit] = useState(true);
const handleSubmit = (values) => {
setIsSubmit(true);
form.submit();
console.log(form.getFieldsValue());
};
const handleSave = async () => {
setIsSubmit(false);
form.validateFields();
console.log(form.getFieldsValue());
};
return (
Submit
Save
);
}
这里有个我自己写的完整的"例子" (https://link.segmentfault.com/?enc=Q558IFPPgyC%2Bm3X1%2B%2FQ3Xw%3D%3D.VHshvtD%2FmmNWGbat0LPF0uaPaA2Z%2FGSeSIk3AcOH%2F%2BFezxuaQOj1FgOExnUdzpLs7J6%2B0qo%2Be93hACqJL4MjjpIYHhTXM8gpYvNIf47e%2Bk8%3D),希望能帮助到你。
001
格式化json,发现格式化前和后不一样?
在js中number类型有个最大安全值,为9007199254740992,是2的53次方,可以使用Number.MAX_SAFE_INTEGER获取,如果超过这个值,会出现不精确的问题
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241214/5e462217aff1ab124540ce2781c6d0a9.png)
后台返回的可能没问题,但是在前台展示,走前台的逻辑,可能就会改变
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241214/fc1fdf415daf6d290bc421d2ff9cb61d.png)
001
恶意代码要如何预防?
恶意代码要如何预防?
001
解决前后端跨域时,常说的 node 中间件是什么?
个人背景: 一个前端新人
场景: 在解决跨域问题的时候,后端说等我写一个 node 中间件就好
问题: 后端所指的中间件是什么概念?是一段具体的代码?
我该如何正确理解这个概念呢?
001
js打印表单时,为什么表单内容修改后有的不起效?
你这里之前时对外面的盒子调用了 outerHTML ,是拿不到实际的值的(你直接把结果 console.log
出来就能看到了),你点击那个按钮打印看到的预览效果也应该是没有的,至少我这里是这样。
你应该使用 cloneNode ,去克隆你原来的节点。
Document
正位
外显斜
内显斜
外隐斜
内隐斜
点我打印
document.getElementById('dw').addEventListener('click', function () {
$('#print-iframe').remove(); // 每次打印前移除先前生成的元素
// 开始打印
let iframe1 = document.createElement('IFRAME');
let doc1 = null;
iframe1.setAttribute('id', 'print-iframe');
iframe1.setAttribute('style', 'position:absolute;width:0px;height:0px;left:-0px;top:-0px;visibility: auto;');
document.body.appendChild(iframe1);
setTimeout(function () {
doc1 = iframe1.contentWindow.document;
doc1.body.appendChild(document.querySelector('#divKanZhengPanel-binli').cloneNode(true));
doc1.close();
iframe1.contentWindow.focus();
iframe1.contentWindow.print();
});
});
打印效果:
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241206/7d6a916b9afd172b0c1cbe71f78932e9.png)
001
除了bootstrap还有哪些好用的框架?
我这边的情况是。通常都是分开。pc一套代码。。。手机端一套代码。。。各自玩各自的。
001
postgrel只更新时间戳里的时和分?
通过代码更新不行吗,比如获取到原有时间,拿到前端提交的时分替换,然后更新数据库,就可以了,不要太依赖数据库
001
急急急,win11远程登录centos提示Permission denied, please try again.请问各位大佬如何解决?
远程登录centos提示Permission denied, please try
again.试了很多网上的方法都没有解决PermitRootLogin也改为yes了,防火墙也关了,使用xshell也无法登录,显示ssh服务器拒绝了密码,我可以保证密码没错https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241126/2c77ddf7d5c43a903b3dcaac399143d8.png
001
JS 怎么获取视频第一帧作为封面图???
JS 怎么获取视频第一帧作为封面图,网上找了很多方法,都是空白的。。。新手,求指点,跪谢~
001
git 使用 cherry-pick 之后再进行合并,出现重复的 commit,有什么替代的方法吗?
具体到操作和描述可以参考这个文章
"http://www.360doc.com/content/22/0417/14/532901_1026935422.shtml" (https://link.segmentfault.com/?enc=RWix8vsK6xl0KTzlD%2BkgeQ%3D%3D.iZtK1kNuuvZnZ0FNH3qG3gnfao5UUi3YyvP0F74n2FoThXPvx7UeWL%2BaPIE4opOMKBkNQw87f59OjliFUaU3EBc61eQKWkm5Um8mZqap9gA%3D)
所以我要如何才能避免这个问题,同时能达到这个效果呢?
使用场景
* 已经上线的分支A
* 新版本开发分支B
* 分支A上依旧会进行线上bug或者紧急需求的提交
因为分支A除了线上bug或者紧急需求的提交 ,其他的代码都是落后于分支B的
如果我使用 merge 或者 rebase 又容易出现大量的冲突
所以我采用了 cherry-pick 来实现,但是又容易显示重复提交的问题
所以开发分支B的时候,采取什么方式将线上分支A部分提交合并到分支B,是最好的方式呢?
001
在前端遇到的小问题??
find().then(() => {
console.log(localStorage.getItem('code')
})
001
小程序返回时为什么调用上一个页面接口不更新页面?
试试这样呢,加上一个 "prevPage.onLoad()"
// 返回逻辑
wx.navigateBack({
delta: 1,
success: () => {
const pages = getCurrentPages();
const prevPage = pages[pages.length - 1]; // 获取上一个页面实例对象
if (prevPage) {
prevPage.getList();
}
// 新增这句
prevPage.onLoad()
}
})
001
伪元素实现文字渐变加阴影时,祖父背景遮挡伪元素的情况?
«没明白这里祖父背景和伪元素的关系»
伪元素 是一个“不存在”的 dom 节点,是在父元素内出现的,比如一个 "" 这样的结构, "img" 是
"div" 的子元素,同时,这个 "div" 有两个伪元素存在于,如果对 "::before" 和 "::after" 设置了 "content: ''"
属性后,会在 devtools 中看到 "div" 的结构是这样的:
::before
::after
简单粗暴理解就是,这个时候,伪元素是与 "img" 同级的,但是存在顺序关系的两个“元素”。
为什么要提到顺序 关系呢,因为在层叠的时候,dom 中后出现的元素会覆盖之前出现的元素,除非你用 "z-index" 改变。
至于 "z-index" 的值,是正还是负,这就是另外一个话题了。
如果是负值的话,会跑到父元素下面去,而父元素如果有背景色的话,那么这个设置了 "z-index" 负值的元素可能就看不到了。
001
请问微信小程序中,如何给所有页面,增加断网提示,无网络的提示?
既然是要无网络的时候提示那你不应该监听网络状态吗?在接口处理是怎么个逻辑。
"https://developers.weixin.qq.com/miniprogram/dev/api/device/n..." (https://link.segmentfault.com/?enc=Kq6Ulx4jAdtwR5%2F2TKDy2A%3D%3D.LHPeoo7cycjyrlkSQfaFwU0Szca7bptuinE9p1QB4tEFx2HOqz%2B85RXDlxXg7geFfP9mWGkFIiPi9lerDBv6Qxkv8EqWr%2BTFP6JITjwEH1xjSNq%2FOJb53QOPTTREiqAE3%2FKhVA2XtGbL2zG6ZcPThw%3D%3D)
001
使用什么绘制拓扑图?
这该用什么技术写,求问
"拓扑图" (https://wmlx-new-image.oss-cn-shanghai.aliyuncs.com/images/20241109/2b37332630a32e50b895ad58b713cbdb.png)
eharts需要定位各个位置
001
小程序建立用户与数据的联系,运行代码后报错如何解决?
小程序建立用户与数据的联系,运行代码后“ReferenceError: db is not defined”报错
代码如下
// pages/files/files.js
Page({
async checkUser() {
//获取clouddisk是否有当前用户的数据,注意这里默认带了一个where({_openid:"当前用户的openid"})的条件
const userData = await db.collection('clouddisk').get()
console.log("当前用户的数据对象",userData)
//如果当前用户的数据data数组的长度为0,说明数据库里没有当前用户的数据
if(userData.data.length === 0){
//没有当前用户的数据,那就新建一个数据框架,其中_id和_openid会自动生成
return await db.collection('clouddisk').add({
data:{
//nickName和avatarUrl可以通过getUserInfo来获取,这里不多介绍
"nickName": "",
"avatarUrl": "",
"albums": [ ],
"folders": [ ]
}
})
}else{
this.setData({
userData
})
console.log('用户数据',userData)
}
},
看了云开发技术文档说要开启增强编译才行,可是现在版本已经没有看到增强编译的勾选框了。
001
CentOS 怎么导出如软件?
你可以整个系统打包成一个基础镜像
001
如何用 Java 设置 Excel 背景色?
jdk1.8
引入POI依赖:
org.apache.poi
poi
5.0.0
org.apache.poi
poi-ooxml
5.0.0
***
public class Main {
public static void main(String[] args) {
try (XSSFWorkbook workbook = new XSSFWorkbook();
OutputStream out = Files.newOutputStream(Paths.get("workbook.xlsx"))) {
Sheet sheet = workbook.createSheet();
Row row = sheet.createRow((short) 0);
Cell cell = row.createCell((short) 0);
cell.setCellValue("TEST---");
// 创建一个单元格样式
XSSFCellStyle style = workbook.createCellStyle();
cell.setCellStyle(style);
// 填充色
style.setFillForegroundColor(HSSFColor.HSSFColorPredefined.BLUE.getIndex());
style.setFillPattern(FillPatternType.SOLID_FOREGROUND);
// 字体颜色
Font font = workbook.createFont();
font.setColor(IndexedColors.WHITE.getIndex());
style.setFont(font);
workbook.write(out);
} catch (IOException e) {
throw new RuntimeException(e);
}
}
}
实现效果:
"实现效果" (https://wmlx-new-image.oss-cn-shanghai.aliyuncs.com/images/20241101/3d2effbbf62baec886131ac5437c2135.png)
参考:
«"https://blog.csdn.net/lipinganq/article/details/78132021" (https://link.segmentfault.com/?enc=EP1OpvGcnO6pMeOBB8sxbg%3D%3D.OhWNkHZpvxbD2%2BZh8e%2FiuEpmgOVE7OYajbQcPe1ZIMQZbaG4j9Qxh4HjDRIVqOmnq0JIjLzs%2FMLzVL0o4oqaLg%3D%3D)»
001
vue3 在当前路由下通过router.push跳转当前路由 不跳转咋办?
"image.png" (https://wmlx-new-image.oss-cn-shanghai.aliyuncs.com/images/20241031/1a28299ade94f807bd98727b908b690a.png)
001
Vue3中的onBeforeEnter未触发原因?
"onBeforeRouteUpdate"需要放在全局, 比如"#app"中, 放在一般组件发生路由时还没注册这个方法呢, 就不会监听到
001
如何在Vue.js中处理异步数据加载和渲染?
我的思路是,子组件内部先根据option的长度判定是否传给Select组件value,当option为空的时候,传给它undefined,然后通过Select的change事件emit数据给父组件,你的单选联动可以在单选改变之后,调子组件的获取options方法
export default {
props: ['value'],
emits: ['update:value'],
data() {
return {
selectOptions: [],
}
},
computed: {
selectVal() {
return this.selectOptions.length ? this.value : undefined
}
},
created() {
this.getOptions()
},
methods: {
async getOptions() {
this.selectOptions = []
// 异步请求任务
// awati axios(...)
this.selectOptions = [
{ value: 'Option1', label: 'Option1', },
{ value: 'Option2', label: 'Option2', },
]
},
handleChange(e) {
this.$emit('update:value', e)
}
}
}
001
请问在通过 jquery get 加载的页面内如何获取当前的 url 地址?
addOrEdit.html?id=100 页面加载的 js 文件为什么能够执行,是因为调用了 html() 方法,该方法底层是使用
window.eval() 来执行脚本的,window.eval 是一种 eval 的间接调用方式,会在全局环境下执行代码,也就是 js
文件执行的环境就是当前页面 index.html 下的全局环境。所以只需要把 id 值存储为一个全局变量就可以被获取了。
001
React:如何使用useCallback以避免全量更新?
把 "useCallback" 提到外面去就好了,报错是因为这样写在 "map" 循环里面
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241014/5a3ffe4082645695b1364e355c470bfa.png)
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241014/56ccca70c29f55a7c77d1d97deb06253.png)
当然还可以使用其他方案
* 比如 "ahooks" 里面的 "useMemoizedFn",是之前 "React" 官方 "useEvent" 提案的实现,函数引用始终不会变,并且不会产生过期闭包,无需依赖项
"https://ahooks.js.org/zh-CN/hooks/use-memoized-fn" (https://link.segmentfault.com/?enc=e%2BSRrOtxLoUQrKRfmXrlGg%3D%3D.jhLSBNbsEimftM%2FB5G7PmgnE%2FGdJpyk5jSqkZIccto%2Fs0lApxTNcsOmOpt%2FD%2Ft4sKkvTcQZ1%2Fsd8LAJkL%2ByMIg%3D%3D)
001
解决子元素浮动到父元素的父元素的问题?
急求!子元素设置了float:left,为什么是浮动到父元素的父元素(part1)上,而不是浮动到父元素(box1)上?想让这个子元素和学院新闻同行应该怎么办?
这是那个子元素
.box1 span a{
width: 38px;
height: 25px;
display:line-block;
float: right;
}
这是那个子元素
https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241014/16632ae438018995c7776e50ef612384.png
这是整体:
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241014/f10927bee5a8764770d5786d84fb165f.png)
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241014/a389fc5aa9b57ec21933c95b0ebd12b9.png)
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241014/3e3c0edbbe028fde531fdff8ec067967.png)
001
git拉取代码报错,如何解决?
检索一下,大概是说 有其他程序占用了当前工作目录 ,把其他的IDE关掉就好了,或者直接在IDE里面操作。
"git - Unlink of file Failed. Should I try again? - Stack
Overflow" (https://link.segmentfault.com/?enc=pZDE0JQD28YlXd8eVTXfVA%3D%3D.aG9XosS%2FNbcpy87snYzE8ZRSSLE90yURQaHS49oXRCiZJtIy5JxOVQg22ETxlxP2y2cHY%2Fq7woZAHpZbVjWlwMaL3ySM9r%2F8XiB1YQpv%2BkESIdvFweL7mFej48er3n8a)
所以多半今天你重新开机之后这个问题就消失了,如果还是有的话,就得检查IDE的插件了。
001
js 对象数组,长度不足10位,怎么补到10位?
直接操作 数组的 ".length" 属性是一种方式,当然也可以操作完之后再通过 "Array.from" 做其他的处理。
var arr = [{ id:1, name: 'item1' }, { id:2, name: 'item2' }]
arr.length = 10
// 数组arr的长度就是 10了
// 也可以通过 `Array.from` 来创建一个新的数组结果
var arr2 = Array.from({ ...arr, length: 10}, (d = {id:'', name:''}) => ({ ...d }))
001
json 协议有规定连续两次序列化一个对象应该怎么样吗?
一次序列化的结果是 string ,两次序列化不过就是把 string 根据 json 序列化 string 的规则又序列化了一遍。
对于 Java 这一个强类型语言来说,表示 Json 这个各种类型混合的对象本身就是一件很麻烦的事情。所以不论你是一次序列化还是两次,都有很多麻烦事要搞。
001
vue3+echarts实现柱状图?
1. 现在 ecahrts 的图例中找符合要求的。看上去可以自定义颜色即可
https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241011/9e859d88b69c92cd70c40263f3b2ab40.png
2. 接下来就是看看 name 、 value 和 color 如何定义即可
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241011/fa60a248a2f67b7713994909defd5610.png)
3. 接下来就是对于数据做一下分组 groupBy map reduce 之类的方法
001
intellj idea是如何知道springboot的端口号的?
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241010/2dfb7d559da00378c4c56c59d89fa9bd.png)
idea会使用JavaAgent,在你要启动的进程中注入代码,这些代码会在你的进程启动一个服务,用来接收客户端IDEA的各种指令,以及返回你的进程中的各种信息,然后idea就可以操控你的进程了。
我曾经做过类似的东西,通信协议我使用的Java自带的RMI。
001
深入理解 Type 和 Interface 在 Prisma 中的实现关系?
https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241010/f71e1f27a9a551ec001ff45d3fbf7e65.png
一直认为implements只能实现interface,今天看到某个开源项目,prisma+nest,通过prisma的类型来定义entity,发现type也能实现,type不是仅仅是一个类型别名吗?
!
https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241010/f71e1f27a9a551ec001ff45d3fbf7e65.png
001
redhat8.5安装activetcl8.5失败,该怎么解决?
在redhat8.5上安装activetcl8.5时,提示某个文件不存在,实际该文件是存在的,该怎么解决?
[root@localhost ActiveTcl8.5.13.296436-linux-ix86-threaded]# ./install.sh
./install.sh: line 53: ./payload/bin/tclsh8.5: No such file or directory
[root@localhost ActiveTcl8.5.13.296436-linux-ix86-threaded]# ls payload/bin/
base-tcl8.5-thread-linux-ix86 base-tcl8.5-thread-linux-ix86.so base-tk8.5-thread-linux-ix86 tclsh tclsh8.5 tclvfse teacup tkcon wish wish8.5
[root@localhost ActiveTcl8.5.13.296436-linux-ix86-threaded]# ldd ./payload/bin/tclsh8.5
not a dynamic executable
[root@localhost ActiveTcl8.5.13.296436-linux-ix86-threaded]# cat install.sh
#!/bin/sh
# Shell wrapper around the main installation script. Will use the
# wish or tclsh inside of the distribution to execute this
# installer.
#
# Auto-detects the location of the distribution. Auto-detects
# availability of X and chooses between gui and terminal based
# installers using this information.
dist=`dirname $0`
# initialize the environment so that the distributed "wish" and
# "tclsh" are able to find their libraries despite being crippled with
# the special path value we will replace later during the installation
# with the actual path to the installation.
TCL_LIBRARY=$dist/payload/lib/tcl8.5
TK_LIBRARY=$dist/payload/lib/tk8.5
LD_LIBRARY_PATH=$dist/payload/lib
DYLD_LIBRARY_PATH=$dist/payload/lib
SHLIB_PATH=$dist/payload/lib
LIBPATH=$dist/payload/lib
export TCL_LIBRARY TK_LIBRARY LD_LIBRARY_PATH DYLD_LIBRARY_PATH SHLIB_PATH LIBPATH
# Determine availability of X and choose an installer based on that
# information.
if tty -s; then # Do we have a terminal?
if [ x"$DISPLAY" != x -a x"$xterm_loop" = x ]; then # No, but do we have X?
# Check for valid DISPLAY variable
if [ `echo exit | $dist/payload/bin/wish8.5 2>&1 | grep fail | wc -l` -eq 0 ]
then
echo _____________________________________________
echo Launching graphical installer on $DISPLAY
echo ...
$dist/payload/bin/wish8.5 $dist/install.tk "$@"
# pwd = inside the unpacked distribution ...
# go one level up and remove the directory
#cd ..
#rm -rf $dist
exit
fi
fi
fi
# No X, use the terminal based installer
$dist/payload/bin/tclsh8.5 $dist/install.tcl "$@"
# pwd = inside the unpacked distribution ...
# go one level up and remove the directory
#cd ..
#rm -rf $dist
exit
尝试过将路径添加到PATH,更改过install.sh权限,都无法解决,但在另一台redhat4.8上却可以正常安装
001
import.meta.env编译报错?
背景:
在vue3+ts+vite项目中:
vue文件:import.meta.env代码能正常访问
ts文件:import.meta.env文件有编译报错
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241008/05f410362fa79d48ecdb74525bfa8fa5.png)
尝试1:
在tsconfig.json中添加"types": [ "vite/client" ]
001
AMH解决腾讯云SSL证书申请失败的问题?
报错是域名错误,去检查虚拟主机的域名是否正确。
浏览器提示红色,是你域名与证书的域名没匹配,看你用的证书没包含www域名的。
你是用www访问的网站,是要申请www域名的证书。
001
Springboot多模块项目中,VO、DTO的最佳位置?
springboot多模块项目中,vo,dto应该放在那一层比较合适?
如题,假设项目有如下包
demo-web
demo-service
demo-dao
demo-common
vo,dto应该放在那一层比较合适?
dao层放mapper和DO(也就是和数据库表对应的类) 是毋庸置疑的。
VO我的理解是返回给前端页面的对象,按理说应该放在web模块比较合适,但是有时候我们可以在dao层直接写个复杂的sql就可以得到我们需要的vo对象,如果写在dao层或者common层就可以很方便的引用到VO对象,否则的话,还需要在dao层定义个新对象,然后在web层多做一次对象转换。
dto也是这样的情况,比如新增用户,用UserAddDTO对象接收,放在web层和service层,都会导致dao层没有这个对象。(这里我重点说明一下,为什么dao层会直接用到vo或者是dto呢?因为有时候大部分的场景都是很简单的,web层接收-入库 完事,没必要定义一些冗余的对象来回的转)
上面是我举的例子,是问题的现状,我其实很不喜欢定义那么多的所谓的对象,一层一层转换,贼麻烦。我个人觉得,平常的中小型的项目,DO,VO,DTO,这三个足够用了。
如果dao层放了一些vo,dto,感觉怪怪的。
如果放common层的话,感觉太臃肿了。
或者是新建一个新的模块demo-model,专门放这些对象?比较倾向于这种
大家都是怎么定义的呢?
001
uniapp种引入uni-list组件失败?
uniapp如何引入单个uni-ui组件?
我知道怎么引入全部的uni-ui,但是当我从插件市场下载下来后,在插件市场下载uni-list,会在uni-moduiles下生成这样的目录"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241008/3148d4aa17b93a3b4b8f38be599d9cc6.png),当我在easycom种使用时,我这样写"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241008/35dd32f9a54cc0c76d7e8ae3c6db3e70.png)但是对于uni-list-item还是找不到,很奇怪,难道只能单独引入不使用easycom吗或者说没那个必要,因为要单独写路径匹配,我全部引入后,发现还是有嵌套的组件,比如uni-list-item是在uni-list下的还是找不到,很怪
001
如何处理MySQL中的订阅订单和非订阅订单?
CREATE TABLE `users` (
`user_id` INT(11) PRIMARY KEY AUTO_INCREMENT,
`username` VARCHAR(100) NOT NULL,
`email` VARCHAR(255) UNIQUE NOT NULL,
-- 其他用户相关信息...
);
CREATE TABLE `products` (
`product_id` INT(11) PRIMARY KEY AUTO_INCREMENT,
`product_name` VARCHAR(100) NOT NULL,
`is_subscription` BOOLEAN NOT NULL DEFAULT FALSE, -- 标记是否为订阅商品
`subscription_type` ENUM('monthly', 'quarterly') DEFAULT NULL, -- 订阅类型(1个月或3个月)
`price` DECIMAL(10, 2) NOT NULL,
-- 其他商品相关信息...
);
CREATE TABLE `orders` (
`order_id` INT(11) PRIMARY KEY AUTO_INCREMENT,
`user_id` INT(11),
`product_id` INT(11),
`order_date` DATETIME DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (`user_id`) REFERENCES `users`(user_id),
FOREIGN KEY (`product_id`) REFERENCES `products`(product_id),
-- 其他订单相关信息,如交易状态、支付信息等
);
CREATE TABLE `subscriptions` (
`subscription_id` INT(11) PRIMARY KEY AUTO_INCREMENT,
`user_id` INT(11),
`product_id` INT(11),
`start_date` DATE NOT NULL,
`end_date` DATE NOT NULL,
`next_renewal_date` DATE NOT NULL,
`latest_order_id` INT(11) DEFAULT NULL, -- 可选,记录最近一次产生订单的ID
FOREIGN KEY (`user_id`) REFERENCES `users`(user_id),
FOREIGN KEY (`product_id`) REFERENCES `products`(product_id),
FOREIGN KEY (`latest_order_id`) REFERENCES `orders`(order_id) ON DELETE SET NULL
);
配合后台逻辑实现自动扣费,并在扣费成功后更新订阅表的end_date和next_renewal_date字段
001
React中使用requestIdleCallback优化大量数据渲染?
const usePerformTask = (data: T[], run: (batch: T[]) => void, batchSize = 10) => {
const dataRef = useRef(data);
useEffect(() => {
dataRef.current = data;
}, [data]);
useEffect(() => {
let isCancelled = false;
const performTask = (deadline: IdleDeadline) => {
while (!isCancelled && dataRef.current.length > 0 && deadline.timeRemaining() > 0) {
const batch = dataRef.current.splice(0, batchSize);
run(batch);
}
if (!isCancelled && dataRef.current.length > 0) {
requestIdleCallback(performTask);
}
};
requestIdleCallback(performTask);
return () => {
isCancelled = true;
};
}, [batchSize]);
};
简单的自定义一个hooks来解决这个问题。
大量数据分片渲染,可以使用"deadline.timeRemaining"这个方法来判断当前帧是否还有时间做任务。