比如这样一堆字符
~Yd.a.D7L`-WI=:3D7t=K8BlX|[7\j]}Ou}'O0JptRY^0F3Z6Z/|au^r6?nqOl47U$oPm?-o"aB`FXbu^=Y>9v/'(n=,8FIky9'joXxnD%F82a_sg_hD}g|;R`8]k+WE-hW{&aKfTPOKPS`EKx{"0\dMJi.oNTC{ml3K}kf>Vw#UyYUy]m`b"0pXQ#9oirZ[J^0DoPiR*"__p9c<|_fGBB'vj]W#w~XPz7K=9rUF@mz%p[[8Ys(LNajwDnO;e)=OP!9kd}\b!S"S/$Y7
小青梅
原生css能否实现这样的效果?
html 代码
ADHASKJ
XNAS
CSDLVL
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241219/e04d54b6f1a9aa6597c2114b1f6a63d2.png)
1,2,3 是自增长的
后来我试了下 ol-li 标签, 但是列表头样式不知道怎么调..
小青梅
CSS问题,这种怎么做到?
文本1
已到期
文本2
即将到期
.container {
display: flex;
justify-content: flex-end;
align-items: center;
margin-bottom: 10px;
}
.label {
padding: 5px;
margin-left: 10px;
}
.red-bg {
background-color: red;
}
.orange-bg {
background-color: orange;
}
.text {
white-space: nowrap;
}
小青梅
为什么用nuxt3开发网站 用sticky 做顶吸效果在移动端会出错?
移动设备的浏览器或 webview 太旧,不支持 sticky 吧,跟 nuxt 无关。
小青梅
没有什么好的思路,这种菜单应该怎么画呢?
"1696638061(1).png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241213/87973de8c24c9ebe1a8c84c0eefc86df.png)
菜名和价格可以左右对齐,但是这中间的虚线或者点应该怎么做,放在他们中间,我没什么好的思路
我目前想的是设一个基准,比如说一百个‘·’,然后菜名多一个字就减去几个点,价格多一位就减去几个点,这个思路,但是又感觉不一定对得齐
小青梅
这种根据录音时分贝大小实时展现波浪大小的效果如何实现?
查看本站文章:
«"https://segmentfault.com/a/1190000021613428" (https://segmentfault.com/a/1190000021613428)»
MDN官方教程:
«"https://developer.mozilla.org/zh-> CN/docs/Web/API/Web_Audio_AP..." (https://link.segmentfault.com/?enc=XM7QxDp74ryRGTPP4XYz%2Fw%3D%3D.yM02IHJGL7k3yEZ4GpGNQ4oo%2BGEUxk2rgi9p3UVaxKPvyUJiIQm%2FH9zdg4cjT5IwgLwiNT1HivvxRbtFRZVVliao9iHUsh%2FRqbWIOuAgVG5dUhsVI98dVLjaVOJKLrpV2NRgjrhruh%2Bb0gxYMaK58w%3D%3D)»
小青梅
滑块滚动缓冲效果的实现?
"https://www.17sucai.com/pins/44884.html" (https://link.segmentfault.com/?enc=%2Bo9miQC9LNx8xB7yBIjiUw%3D%3D.y3SREWutru%2FbTS147edmSLy3e0W3SBGoWXO2bXi8o0YEq%2FNWLnAmquOw6A9vicyZ)
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241208/0a61522f395ec002bfffc751c6daa759.png)
这个演示页面每次用鼠标滚轮滚动的时,页面滚动都是由快到慢,是怎么实现的?
好像用Edge浏览器也有类似的效果?
小青梅
MySQL 如何有效率的获取 用户 被授权的分级结构(需要支持分页)?
查其中一个 User 被授权的 F 列:
(SELECT F.F_id, F.F_name, F.F_area
FROM P
JOIN F ON P.F_id = F.F_id OR P.F_id = 0
WHERE P.U_id = @user_id AND (P.D_id = F.D_id OR P.D_id = 0)
AND (P.E_id = F.E_id OR P.E_id = 0)
AND (P.A_code = F.F_area OR P.A_code = "")
ORDER BY F.F_id
LIMIT x, y) -- x 是起始索引,y 是每页的数量
查其中一个 User 被授权的 E 列表:
sql
(SELECT E.E_id, E.E_name
FROM P
JOIN E ON P.E_id = E.E_id OR P.E_id = 0
WHERE P.U_id = @user_id AND (P.D_id = E.D_id OR P.D_id = 0)
ORDER BY E.E_id
LIMIT x, y)
查其中一个 User 被授权的 D 列表:
(SELECT D.D_id, D.D_name
FROM P
JOIN D ON P.D_id = D.D_id OR P.D_id = 0
WHERE P.U_id = @user_id
ORDER BY D.D_id
LIMIT x, y)
小青梅
请问是否有antd/tree方法可以一键展开所有节点呢?
在学习组件"tree" (https://link.segmentfault.com/?enc=zt6slVP7Jt4iRXWu2y58AA%3D%3D.Uqo6ZDG6lLS09n%2BPp0dDK5JvR%2FiPFN1YQHFo2v5E9U%2Fo5i%2BTaN6xNeEAoBxe0PIir9z1UvEVw2rFYgHXyZ1M3w%3D%3D)的时候:
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241129/66a2d16dc723d62064fbbb1dfe981f31.png)
请问是否有方法可以一键展开所有节点呢?
***
编辑1:
因为我设置了defaultExpandAll没有效果,所以想要知道是否有方法可以对进行展开所有?
return ;
小青梅
vue3 watchEffect 自动卸载时机引发的疑问?
首先你这里存在一个误解,"watchEffect" 不是和页面产生的绑定关系,而是传入 "watchEffect"
的回调函数与函数中用到的"响应式状态"产生的绑定关系,也就是所谓的依赖搜集
关键在这里,你定义了一个无法回收的 "setInterval",页面拉起来后将一直运行,而你 A -> B
只是单纯的前端路由跳转,本质还是同一个页面,所以不会影响 "setInterval" 持续运行, "setInterval" 没有被清理掉,"count"
就会一直变,继而 "watchEffect" 的回调也会一直执行
setInterval(() => {
count.value++; // 不停 +1
console.log("count.value", count.value);
}, 1000);
要解决这个现象么在跳转路由前清理掉 "setInterval",要么 stop 掉 "watchEffect", 但按照你这种用法,两个都应该清理,因为这里
"watchEffect" 的回调引用的是一个全局的响应式状态,不手动 stop 掉的话,跳转路由后该回调函数所占用的内存是无法被回收的
另外,还有一个细节,同步的 "watchEffect" 会挂在组件实例上,随组件销毁而销毁;而异步创建的需要手动清理,具体看官方文档
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241120/2fb73a699d50991ddc71484d601dfa94.png)
小青梅
查询名下手机号的api?
理论上就算有这玩意,也会被下架的,基于国家的政策是不允许公司公布这些关联信息的
小青梅
关于Trait签名不一致 和 Deref 的一些问题?
今天在做rustlings的练习题遇到了一些自己不太理解的地方, 望大佬能指点一下, 谢谢.
// traits2.rs
//
// Your task is to implement the trait `AppendBar` for a vector of strings. To
// implement this trait, consider for a moment what it means to 'append "Bar"'
// to a vector of strings.
//
// No boiler plate code this time, you can do this!
//
// Execute `rustlings hint traits2` or use the `hint` watch subcommand for a hint.
// I AM NOT DONE
trait AppendBar {
fn append_bar(self) -> Self;
}
// TODO: Implement trait `AppendBar` for a vector of strings.
impl AppendBar for Vec {
fn append_bar(mut self) -> Self { // Borrow self as `mut`
self.push("Bar".to_string());
self
}
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn is_vec_pop_eq_bar() {
let mut foo = vec![String::from("Foo")].append_bar();
assert_eq!(foo.pop().unwrap(), String::from("Bar"));
assert_eq!(foo.pop().unwrap(), String::from("Foo"));
}
}
第一个问题:
在impl AppendBar for Vec的时候 特征和实现的函数签名不一致, 这样是可以的吗?
第二个问题:
self.push("Bar".to_string()); push的函数签名需要&mut self, 这应该和Deref没有关 系,
我记得隐式的调用Deref需要&T, Box, Cell总之是需要外面包裹一层指针才会隐 式的调用Deref,
请问这里为什么可以直接使用push
小青梅
input 上传图片如何不通过blob获取到图片的宽高?
let reader = new FileReader();
reader.onload = function (e) {
let img = new Image();
img.onload = function () {
console.log(img.width, img.height);
};
img.src = e.target.result;
};
reader.readAsDataURL(files[0]); // 假设files[0]是你的图片文件
小青梅
turnjs怎么设置成无封面的状态 ?
$("#flipbook").turn({
display: 2, // 禁用封面
// 其他配置...
});
小青梅
React 中 clearInterval为什么无效?
我就不给你说原因了,解决方案是这个timer对象要么放在函数组件之外,要么用useRef包裹。
小青梅
公司安全软件导致部分应用无法打开,如何解决?
可能是安全软件,阻止的该软件的服务请求,你可以看看是不是有配置,或者白名单
小青梅
Kmeans如何应用于类别不平衡的数据上(用kmeans做工具)?
Kmeans如何应用于减轻类别不平衡的数据上,然后用来训练其他模型?
用kmeans做工具,不是用不平衡数据区训练kmeans!
举例:
训练数据中A,B,C,D,其中A B类别很多 CD很少;
预测数据中全部是A,C。
此时用kmeans直接把ABCD 聚类成2个?
查看过一些博客,基本上都是水文,没多少有用价值。。。
小青梅
Java 如何批量取消 Excel 的条件格式?
Java 如何批量取消 Excel 的条件格式
我想通过java代码将excel文件中的条件格式删除。
小青梅
css grid 布局如何实现第一排3个第二排3个的效果?
效果如图:
"98351703035526_.pic.jpg" (https://wmlx-new-image.oss-cn-shanghai.aliyuncs.com/images/20241028/1aca068ccd57f62238e114af14e5d57a.png)
我是用两个 gird 写的,有没有办法用一个 grid 实现,主要是第一行是三等分,导致第二行grid area不好写。
小青梅
vue3 render+el-select不能回显是什么问题?
找到原因了,conten不是写的函数,这样定义是一个常量了,肯定不会变化了
小青梅
springboot 配置redis 一直报 Connection reset 错误怎么办?
感谢"@lpe234" (/u/lpe234) 提供的答案;是 "redis" 版本3.x 导致的问题;目前测试升级到5.x版本后没在出现
"connection reset" 问题。
小青梅
replicas:3 是指的运行中的pod+2个备用的pod吗, 还是指的1个运行中的pod和3个备用的副本?
replicas:3 就是同时跑3个副本,他们的状态都是在运行中的状态
小青梅
axios设置超时时间不生效是什么原因?
你可以尝试一下把timeout这样写
const service = axios.create({
......,相关配置
// 超时时间 单位是ms,这里设置了3s的超时时间
timeout: 3 * 1000
})
小青梅
开发环境中控制台打印?
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241016/319c12bf1147a1accf62c2c28bdae949.png)(图一)
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241016/0f3c497ec75152d8b8a7e9dddfa1479f.png)(图二)
都是开发环境,以前打印的是图二 现在不知道什么原因打印的是图一的,怎么才能变为图二的?有遇到过这样问题的小伙伴吗?
1
小青梅
如何在Vue.js中处理异步数据加载和渲染?
一个select框组件,其中的数据是从后端返回的,打开这个组件时往里传入了value值,但是页面打开时也会显示这个value值,等后端结果返回才能显示对应的label值,如何让组件先不渲染value直接渲染label?
将请求的生命周期放在async created中没用
小青梅
vue3 报错 v-model value must be a valid JavaScript member expression ?
v-model需要绑定的是一个变量(一个对象), 而不是一个字符串
小青梅
echart柱状图(多数据)点击事件params.name会重复?
正常只会有一个,看下是不是你注册事件的代码会有重复执行的情况,导致事件注册了多个
小青梅
如何在JavaScript中解密Base64加密的JSON数据?
后台返回的json数据经过Base64加密,js怎么解密?
........
小青梅
chatgpt 是如何实现“继续生成”功能的?
首先chatgpt无法一次性输出是因为openai对其进行了限制 一次只能输出1024字节 防止攻击者的非法攻击
所以chatgpt继续生成无非是分成多次返回值
需要注意的是
gpt这样的大模型是实时生成,有反馈机制,每一个字的生成都会依赖前面的字(所以我们可以看到gpt的回答是一个字一个字吐出来的),所以继续生成也没有用到什么别的高科技,无非是openai开放了这个功能。
小青梅
uniapp种引入uni-list组件失败?
不在page.json中引入就可以正常使用了,那这个easycom主要是用来干嘛的呢
小青梅
网站和接口在同一个服务器接口无法访问nginx该如何配置?
前端和服务端都部署在同一个服务器上,使用nginx进行转发接口的请求,但是报错,
[error] 15880#15880: *57 connect() failed (111: Connection refused) while connecting to upstream, client: 172.8.203.147, server: , request: "GET /v1/user/list?pageIndex=0&pageSize=18&text= HTTP/1.1", upstream: "https://127.0.0.1:3000/v1", host: "www.test.cn", referrer: "https://www.test.cn/"
我请求的连接是如下
https://www.test.cn/v1/user/list?pageIndex=0&pageSize=18&text=
我想的是,通过test.cn域名会访问到服务器默认端口上,然后让nginx转发到对应的服务端口上,比如我的配置是转到了3000端口上
location \v1{
proxy_pass "https://127.0.0.1:300/v1";
}
结果就报上面的错误,这个该如何解决,或者我这种部署方式咋弄比价好呢?
***
我的配置如下:
location ~* /v1/ {
set $backend "https://127.0.0.1:3100/v1"; # 默认的后端服务器地址
if ($scheme = http) { # 判断请求的协议为 HTTP
set $backend "http://127.0.0.1:3100/v1"; # 将$backend设置为对应的后端服务器地址
}
proxy_pass $backend; # 使用$backend作为proxy_pass的参数
# add_header Cache-Control "no-store, no-cache, must-revalidate, proxy-revalidate";
add_header Content-Type "application/json";
}
小青梅
CSS 三角效果在不同缩放比例下的解决方案?
可以考虑把::before里的px全都换成百分百或者rem这类的表达方式。
你的代码太复杂,可以参考:"https://segmentfault.com/a/1190000014730523" (https://segmentfault.com/a/1190000014730523)
根据你最新的效果图:我给出以下解决方案:
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241006/9df0fa81dca778fe9e0fbf72543f934d.png)
给三角画一个菱形,覆盖到左侧矩形上
小青梅
VUE3修改文件大小写后引入组件报错,怎么解决?
VUE3项目中,文件夹名修改了大小写,就报错。
一开始组件是cleanData/form.vue,我重命名为CleanData/editForm.vue。引入组件时,还提示之前的form.vue,选择editForm.vue之后就报错(第二张图)
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241005/c7ecca2264ab5ea319ade93b48feffb2.png)
报错说仅大小写不同,重启项目也没用。为啥会这样呢?
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241005/31f4722ba43acb23c6367bc7149b1dcb.png)
我百度试了不写.vue也不行:
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241005/a98ee09878b5a1a99d24bf6c975735f6.png)
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241005/2c1c9e911e3385c6b5c00fbaa2e1081e.png)
小青梅
关于 React Server Components 和 Context 的矛盾?
首先需要说明一点:并不是所有被使用 ""use client"" 的 "Context.Provider" 包裹的子组件都会渲染成 "RSC(React Server Components)",而是只有消费 "Context"(使用了 "useContext(Context)" )的子组件才会被渲染成为
"RSC"。如下图所示:
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241003/e1f26235a0add8b9049b302e40ab056b.png)
然后我个人认为 "nextjs" 这种处理方式其实十分合理,因为组件消费 "Context"
的行为本身就表明这个组件是有状态的,不应该也不能被静态渲染成服务端组件。这种处理方式既保留了 "RSC" 的静态渲染的优点,同时也提供了客户端组件消费
"Context" 状态的能力。
希望我的回答对题主有所帮助~
小青梅
css 如何实现梯形?
想要的效果"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241003/597183e98dc9baa07ebf0a8da7210ea6.png)
如何使用以下 html 只修改 css 不增加元素的前提下实现上边的效果
1
2
3
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241003/a3799bed57f5ea213a3b1c6d419ff11e.png)
小青梅
rust代码无法在部分机器上正常启动?
rust代码无法在部分机器上正常启动
部署的机器都是Debian12 x86架构
main.rs
use std::sync::atomic::AtomicBool;
use std::sync::Arc;
mod watchdog;
mod web;
static mut NORMAL_LIST: Vec = Vec::new();
static mut REALITY_LIST: Vec = Vec::new();
#[tokio::main]
pub async fn main() {
// 处理 Ctrl-C 信号
let running = Arc::new(AtomicBool::new(true));
ctrlc::set_handler(move || {
std::process::exit(0);
})
.expect("Error setting Ctrl-C handler");
tokio::spawn(async {
watchdog::start_watch().await;
});
tokio::spawn(async {
web::start_web().await;
});
while running.load(std::sync::atomic::Ordering::Relaxed) {
tokio::time::sleep(tokio::time::Duration::from_secs(1)).await;
}
}
web.rs
use rand::seq::SliceRandom;
use salvo::http::HeaderValue;
use salvo::http::StatusCode;
use salvo::logging::Logger;
use salvo::prelude::*;
use crate::*;
#[handler]
pub async fn avatar(res: &mut Response, req: &Request) {
// 获取 Host
let host = match req.headers().get("Host") {
Some(t) => t.to_str().unwrap(),
_ => {
res.status_code(StatusCode::BAD_REQUEST);
return;
}
};
// 拼接字符串,转成url编码
let host = host.splitn(2, '.').nth(1).unwrap_or("");
let host = format!("resources.{host}");
// 获取 协议类型
let protocol = match req
.headers()
.get("scheme")
.unwrap_or(&HeaderValue::from_static("https"))
.to_str()
.unwrap()
{
"http" => "http",
_ => "https",
};
// 拼接字符串,转成url编码
let host = host.splitn(2, '.').nth(1).unwrap_or("");
let host = format!("resources.{host}");
// 随机从 NORMAL_LIST 中选择一个文件名
unsafe {
let file_name = urlencoding::encode(NORMAL_LIST.choose(&mut rand::thread_rng()).unwrap());
res.render(Redirect::found(format!(
"{protocol}://{host}/avatar/{file_name}"
)));
}
}
#[handler]
pub async fn random(res: &mut Response, req: &Request) {
// 获取查询参数
let img_type = match req.query::("type") {
Some("reality") => "reality",
_ => "normal",
};
// 获取 Host
let host = match req.headers().get("Host") {
Some(t) => t.to_str().unwrap(),
_ => {
res.status_code(StatusCode::BAD_REQUEST);
return;
}
};
// 拼接字符串,转成url编码
let host = host.splitn(2, '.').nth(1).unwrap_or("");
let host = format!("resources.{host}");
// 获取 协议类型
let protocol = match req
.headers()
.get("scheme")
.unwrap_or(&HeaderValue::from_static("https"))
.to_str()
.unwrap()
{
"http" => "http",
_ => "https",
};
// 随机从中选择一个文件名
unsafe {
let file_name = match img_type {
"reality" => urlencoding::encode(REALITY_LIST.choose(&mut rand::thread_rng()).unwrap()),
_ => urlencoding::encode(NORMAL_LIST.choose(&mut rand::thread_rng()).unwrap()),
};
res.render(Redirect::found(format!(
"{protocol}://{host}/{img_type}/{file_name}"
)));
}
}
pub async fn start_web() {
tracing_subscriber::fmt().try_init().unwrap();
let router = Router::with_path("yuri")
.push(Router::with_path("random").get(random))
.push(Router::with_path("avatar.jpg").get(avatar));
let service = Service::new(router).hoop(Logger::new());
let acceptor = TcpListener::new("127.0.0.1:8081").bind().await;
Server::new(acceptor).serve(service).await;
}
watchdog.rs
use hotwatch::{Event, Hotwatch};
use std::fs;
use std::thread::sleep;
use std::time::Duration;
use crate::*;
pub async fn start_watch() {
// 获取目录下所有文件名
for path in fs::read_dir("../data/output/normal").unwrap() {
unsafe {
NORMAL_LIST.push(path.unwrap().file_name().to_str().unwrap().to_string());
}
}
for path in fs::read_dir("../data/output/reality").unwrap() {
unsafe {
REALITY_LIST.push(path.unwrap().file_name().to_str().unwrap().to_string());
}
}
let mut hotwatch = Hotwatch::new().expect("hotwatch failed to initialize!");
hotwatch
.watch("../data/output/normal", |event: Event| match event.kind {
_ => {
// 清空 NORMAL_LIST
unsafe {
NORMAL_LIST.clear();
}
// 获取目录下所有文件名
for path in fs::read_dir("../data/output/normal").unwrap() {
unsafe {
NORMAL_LIST.push(path.unwrap().file_name().to_str().unwrap().to_string());
}
}
}
})
.expect("failed to watch file!");
hotwatch
.watch("../data/output/reality", |event: Event| match event.kind {
_ => {
// 清空 NORMAL_LIST
unsafe {
REALITY_LIST.clear();
}
// 获取目录下所有文件名
for path in fs::read_dir("../data/output/reality").unwrap() {
unsafe {
REALITY_LIST.push(path.unwrap().file_name().to_str().unwrap().to_string());
}
}
}
})
.expect("failed to watch file!");
loop {
sleep(Duration::from_secs(1));
}
}
部分成功启动机器截图,请忽略找不到路径的报错
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241002/bfa573b7335b12602510e905c9220489.png)
启动失败机器截图
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241002/8d1378fbe79deedf4105592a744043d3.png)
尝试1
更改x86_64-unknown-linux-gnu为x86_64-unknown-linux-musl 无效
尝试2
在watchdog.rs中添加输出代码可以正常输出,在web.rs中进行同样操作没有输出
求大佬解答
小青梅
Paypal订阅与业务系统如何整合?
paypal的订阅不能和自己的业务系统挂钩吗?
创建商品-创建计划-然后得到计划id 给前端拉起 。但是不应该我创建了业务系统订单 然后触发用户订阅 然后回调改成支付吗?
问题他这订阅没这种让用户传递订单号的接口
"https://developer.paypal.com/docs/subscriptions/integrate/" (https://link.segmentfault.com/?enc=faO5izVrCQhzgwTEmL6dJg%3D%3D.Lp0brKJfFD31Mx4iIhlxxKKfHBV7BH61uwOgmpHhnOLR45oRK3UXJHw8h%2BMKwpxq6FRR5GCz4IhG%2BUNS0DDN4Q%3D%3D)
小青梅
vue3 组件实例未销毁?
* 你还在用的变量都不会销毁,即使只是console.log。
* 定时器需要手动销毁,如果嫌麻烦,可以自定义一个hook,比如 "useMyInterval"
* 即使定时器销毁了,但你的网络请求依然在执行,也只能手动abort请求或者组件销毁后判断以下,不执行请求回调里的操作
小青梅
若依前后端分离版,添加角色,第一次进来的时候,内容显示错乱,如何解决呢?
使用的若依前后端分离版,前端是vue2,点击添加角色,第一次进来的时候,内容显示有点乱,刷新页面,再打开就好了,如何解决呢
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241001/e243840a9c6b8563ec149badfa58252f.png)
权限字符
{{dict.label}}
展开/折叠
全选/全不选
父子联动
确 定
取 消
小青梅
亚马逊连接故障如何解决?
亚马逊服务器之前还好好的可以连上,后面突然连不上了
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20240930/fe52ada16c890f1f3e817ad88a7bd3ae.png)
1、首先亚马逊控制台中的实例是启动的且不是防火墙和安全组导致的
2、因为通过其他网络是可以访问的(就我本机网络地址无法telnet通导致xshell无法远程连接)
请问大概由什么原因导致的?如果说我想再通过本机访问该用什么方法?
小青梅
pnpm workspace,管理项目monorepo问题?
pnpm的monorepo问题,
packages:
* 'main'
* 'web/**'
* 'common'
* 'common2'
common的package.json
{
"name": "common",
"version": "1.0.1",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [],
"author": "",
"license": "ISC"
}
在main文件里面pnpm -F main add common
但是添加的包,不是本地的,这个是什么问题
改动common的version版本号,子项目不能以0开头的版本号,
pnpm -F main add @project/common 也是不行, 是404,走npmjs库了
// ===========================================
windows:
node -v: v16.20.0
pnpm -v: 8.6.7
pnpm -F main common 完全ok
ubuntu:
node -v: v20.12.2
pnpm -v: 9.0.6
ubuntu 始终走的npm库 不知道为啥,修改过common的name, pnpm -F main add @project/common 不行。
ubuntu暂时没有很好的解决办法。
小青梅
GCC编译器在优化级别O0下无法找到内联函数定义的链接问题?
GCC编译器在优化级别O0下无法找到内联函数定义的链接问题
我在gcc编译器下写了如下代码:
/* InlineMain.c */
#include
inline void Function()
{
printf("[Function]========= Get!!!\n");
}
int main() {
Function();
return 0;
}
然后在不开启优化(即-O0)的情况下,会报链接错误,找不到符号"Function":
* 备注:在开启优化O1以上的情况下是可以正常编译的,编译器会将函数体进行替换$ gcc INlineMain.c
/usr/bin/ld: /tmp/ccQuzijl.o: in function "main': INlineMain.c:(.text+0xe): undefined reference to "Function'
collect2: error: ld returned 1 exit status
我试着编译并查看了对应的汇编代码:
«$ gcc INlineMain.c -S
$ cat INlineMain.s»
.file "INlineMain.c"
.text
.globl main
.type main, @function
main:
.LFB1:
.cfi_startproc
endbr64
pushq %rbp
.cfi_def_cfa_offset 16
.cfi_offset 6, -16
movq %rsp, %rbp
.cfi_def_cfa_register 6
movl $0, %eax
call Function@PLT
movl $0, %eax
popq %rbp
.cfi_def_cfa 7, 8
ret
.cfi_endproc
.LFE1:
.size main, .-main
.ident "GCC: (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0"
.section .note.GNU-stack,"",@progbits
.section .note.gnu.property,"a"
.align 8
.long 1f - 0f
.long 4f - 1f
.long 5
0:
.string "GNU"
1:
.align 8
.long 0xc0000002
.long 3f - 2f
2:
.long 0x3
3:
.align 8
4:
然后我就发现一件非常让我匪夷所思的事情,就是整一个Function函数主体都消失了!!!
但是也没有被内联替换到被调用的地方,不难发现,在main函数中,依旧是:
«call Function@plt,»
即把Function函数当做plt表里的函数(也就是外部函数调用) ,
看上去就像是在处理Function函数体的时候编译器把它当做是要内联的函数处理,于是就把整个函数体给删除了,但是在处理函数调用的时候又没有把函数体进行替换,而是把它当做正常的函数调用处理,就好像是处理到中途反悔了一样,有没有大佬能解释一下是为什么?
* 备注:我的平台是ubuntu22.04,gcc编译器是默认的版本
小青梅
nuxt3 axios 请求出来的数据在源代码中没有这也没有办法 SEO 呀?
生命周期问题。 "onMounted" 里面的请求不会在 "SSR" 阶段发起。
* "Data fetching · Get Started with Nuxt" (https://link.segmentfault.com/?enc=h1QiEITUz%2FXwpOX0MASZjA%3D%3D.PDd0dz6cWCPERIQw36lxz4lrvK1%2FXZHphdbMoZvS7sMpO%2FHUhm4ZwArbMdqmTMIu8%2FK0jaMl1K9EjIZtFao2jA%3D%3D)
* "Lifecycle Hooks · Nuxt API" (https://link.segmentfault.com/?enc=cEr0rI6BE%2FJt7%2B3dQ1k%2FAw%3D%3D.P9hGc2o0hOEhaNwL%2BX%2Baz%2FA9qGMLTPbtG0zP%2Bjy%2FFOXfECZgffmd7vQ5OhqRewbEqxWT7tqTL3ywpYH9T3kWVA%3D%3D)
"Nuxt 2 - Nuxt Lifecycle" (https://link.segmentfault.com/?enc=Q4OQWxnVv6poDk5wYMOfRA%3D%3D.ySnoZTFmqkmF8AcWpkdteaMqF%2FNVDOvIXYaJhbYiMHh4Q%2B8yBkAu%2BWhK3mswIELYowsqdmJ5SwArNyqsgUt%2FQQ%3D%3D)
这样有演示的生命周期的文档没有在Nuext3里面找到,但是看2的也是一样的。