Vue 核心技术与实战day06

article/2025/6/17 6:17:04

1. 路由进阶

1.1 路由的封装抽离

1.21 声明式导航 - 导航链接

1.22 声明式导航 - 两个类名

1.23 声明式导航 - 两个类名

import Find from '@/views/Find'
import My from '@/views/My'
import Friend from '@/views/Friend'import Vue from 'vue'
import VueRouter from 'vue-router'
Vue.use(VueRouter) // VueRouter插件初始化// 创建了一个路由对象
const router = new VueRouter({// routes 路由规则们// route  一条路由规则 { path: 路径, component: 组件 }routes: [{ path: '/find', component: Find },{ path: '/my', component: My },{ path: '/friend', component: Friend },],// link自定义高亮类名linkActiveClass: 'active', // 配置模糊匹配的类名linkExactActiveClass: 'exact-active' // 配置精确匹配的类名
})export default router

1.24 声明式导航 - 跳转传参

<template><div class="home"><div class="logo-box"></div><div class="search-box"><input type="text"><button>搜索一下</button></div><div class="hot-link">热门搜索:<router-link to="/search?key=黑马程序员">黑马程序员</router-link><router-link to="/search?key=前端培训">前端培训</router-link><router-link to="/search?key=如何成为前端大牛">如何成为前端大牛</router-link></div></div>
</template><script>
export default {name: 'FindMusic'
}
</script><style>
.logo-box {height: 150px;background: url('@/assets/logo.jpeg') no-repeat center;
}
.search-box {display: flex;justify-content: center;
}
.search-box input {width: 400px;height: 30px;line-height: 30px;border: 2px solid #c4c7ce;border-radius: 4px 0 0 4px;outline: none;
}
.search-box input:focus {border: 2px solid #ad2a26;
}
.search-box button {width: 100px;height: 36px;border: none;background-color: #ad2a26;color: #fff;position: relative;left: -2px;border-radius: 0 4px 4px 0;
}
.hot-link {width: 508px;height: 60px;line-height: 60px;margin: 0 auto;
}
.hot-link a {margin: 0 5px;
}
</style>
<template><div class="search"><p>搜索关键字: {{ $route.query.key }} </p><p>搜索结果: </p><ul><li>.............</li><li>.............</li><li>.............</li><li>.............</li></ul></div>
</template><script>
export default {name: 'MyFriend',created () {// 在created中,获取路由参数// this.$route.query.参数名 获取console.log(this.$route.query.key);}
}
</script><style>
.search {width: 400px;height: 240px;padding: 0 20px;margin: 0 auto;border: 2px solid #c4c7ce;border-radius: 5px;
}
</style>
import Home from '@/views/Home'
import Search from '@/views/Search'
import Vue from 'vue'
import VueRouter from 'vue-router'
Vue.use(VueRouter) // VueRouter插件初始化// 创建了一个路由对象
const router = new VueRouter({routes: [{ path: '/home', component: Home },{ path: '/search', component: Search }]
})export default router
import Vue from 'vue'
import App from './App.vue'
import router from './router/index'Vue.config.productionTip = falsenew Vue({render: h => h(App),router
}).$mount('#app')
<template><div id="app"><div class="link"><router-link to="/home">首页</router-link><router-link to="/search">搜索页</router-link></div><router-view></router-view></div>
</template><script>
export default {};
</script><style scoped>
.link {height: 50px;line-height: 50px;background-color: #495150;display: flex;margin: -8px -8px 0 -8px;margin-bottom: 50px;
}
.link a {display: block;text-decoration: none;background-color: #ad2a26;width: 100px;text-align: center;margin-right: 5px;color: #fff;border-radius: 5px;
}
</style>

<template><div class="home"><div class="logo-box"></div><div class="search-box"><input type="text"><button>搜索一下</button></div><div class="hot-link">热门搜索:<router-link to="/search/黑马程序员">黑马程序员</router-link><router-link to="/search/前端培训">前端培训</router-link><router-link to="/search/如何成为前端大牛">如何成为前端大牛</router-link></div></div>
</template><script>
export default {name: 'FindMusic'
}
</script><style>
.logo-box {height: 150px;background: url('@/assets/logo.jpeg') no-repeat center;
}
.search-box {display: flex;justify-content: center;
}
.search-box input {width: 400px;height: 30px;line-height: 30px;border: 2px solid #c4c7ce;border-radius: 4px 0 0 4px;outline: none;
}
.search-box input:focus {border: 2px solid #ad2a26;
}
.search-box button {width: 100px;height: 36px;border: none;background-color: #ad2a26;color: #fff;position: relative;left: -2px;border-radius: 0 4px 4px 0;
}
.hot-link {width: 508px;height: 60px;line-height: 60px;margin: 0 auto;
}
.hot-link a {margin: 0 5px;
}
</style>
<template><div class="search"><p>搜索关键字: {{ $route.params.words }} </p><p>搜索结果: </p><ul><li>.............</li><li>.............</li><li>.............</li><li>.............</li></ul></div>
</template><script>
export default {name: 'MyFriend',created () {// 在created中,获取路由参数// this.$route.query.参数名 获取查询参数// this.$route.params.参数名 获取动态路由参数console.log(this.$route.params.words);}
}
</script><style>
.search {width: 400px;height: 240px;padding: 0 20px;margin: 0 auto;border: 2px solid #c4c7ce;border-radius: 5px;
}
</style>
<template><div id="app"><div class="link"><router-link to="/home">首页</router-link><router-link to="/search">搜索页</router-link></div><router-view></router-view></div>
</template><script>
export default {};
</script><style scoped>
.link {height: 50px;line-height: 50px;background-color: #495150;display: flex;margin: -8px -8px 0 -8px;margin-bottom: 50px;
}
.link a {display: block;text-decoration: none;background-color: #ad2a26;width: 100px;text-align: center;margin-right: 5px;color: #fff;border-radius: 5px;
}
</style>
import Vue from 'vue'
import App from './App.vue'
import router from './router/index'Vue.config.productionTip = falsenew Vue({render: h => h(App),router
}).$mount('#app')
import Home from '@/views/Home'
import Search from '@/views/Search'
import Vue from 'vue'
import VueRouter from 'vue-router'
Vue.use(VueRouter) // VueRouter插件初始化// 创建了一个路由对象
const router = new VueRouter({routes: [{ path: '/home', component: Home },{ path: '/search/:words', component: Search }]
})export default router

1.25 动态路由参数可选符

1.31 Vue路由 - 重定向

import Home from '@/views/Home'
import Search from '@/views/Search'
import Vue from 'vue'
import VueRouter from 'vue-router'
Vue.use(VueRouter) // VueRouter插件初始化// 创建了一个路由对象
const router = new VueRouter({routes: [{ path: '/home', component: Home },{ path: '/search/:words?', component: Search }]
})export default router

1.32 Vue路由 - 404

import Home from '@/views/Home'
import Search from '@/views/Search'
import NotFound from '@/views/NotFound'
import Vue from 'vue'
import VueRouter from 'vue-router'
Vue.use(VueRouter) // VueRouter插件初始化// 创建了一个路由对象
const router = new VueRouter({routes: [{ path: '/', redirect: '/home' },{ path: '/home', component: Home },{ path: '/search/:words?', component: Search },{ path: '*', component: NotFound }]
})export default router
<template><div><h1>404 Not Found</h1></div>
</template><script>
export default {}
</script><style></style>

1.33Vue路由 - 模式设置

import Home from '@/views/Home'
import Search from '@/views/Search'
import NotFound from '@/views/NotFound'
import Vue from 'vue'
import VueRouter from 'vue-router'
Vue.use(VueRouter) // VueRouter插件初始化// 创建了一个路由对象
const router = new VueRouter({// 注意:一旦采用了 history 模式,地址栏就没有 #,需要后台配置访问规则mode: 'history',routes: [{ path: '/', redirect: '/home' },{ path: '/home', component: Home },{ name: 'search', path: '/search/:words?', component: Search },{ path: '*', component: NotFound }]
})export default router

1.41 编程式导航 - 基本跳转

1.42 编程式导航 - 路由传参

v

2. 面经基础版

2.1 案例效果:

路由配置

<template><div class="h5-wrapper"><div class="content"><!-- 二级路由出口,匹配到的二级路由组件就会展示 --><router-view></router-view></div><nav class="tabbar"><!-- 导航高亮1.将a标签换成router-link (to)2.结合高亮类名实现高亮效果 --><router-link to="#/router-linkrticle">面经</router-link><router-link to="#/collect">收藏</router-link><router-link to="#/like">喜欢</router-link><router-link to="#/user">我的</router-link></nav></div>
</template><script>
export default {name: "LayoutPage",
}
</script><style>
body {margin: 0;padding: 0;
}
</style>
<style lang="less" scoped>
.h5-wrapper {.content {margin-bottom: 51px;}.tabbar {position: fixed;left: 0;bottom: 0;width: 100%;height: 50px;line-height: 50px;text-align: center;display: flex;background: #fff;border-top: 1px solid #e4e4e4;a {flex: 1;text-decoration: none;font-size: 14px;color: #333;-webkit-tap-highlight-color: transparent;}}
}
</style>
import Vue from 'vue'
import VueRouter from "vue-router";
import Layout from '@/views/Layout'
import Article from '@/views/Article'
import Collect from '@/views/Collect'
import Like from '@/views/Like'
import User from '@/views/User'
import ArticleDetail from '@/views/ArticleDetail'  
Vue.use(VueRouter)const router = new VueRouter({//  /article 路径 -> Article组件routes: [{path:'/',component:Layout,//通过children配置项,可以配置嵌套子路由//1.在children配置项中,配规则//2.准备二级路由出口children: [{path:'/article',component:Article },{path:'/collect',component:Collect},{path:'/like',component:Like},{path:'/user',component:Uesr}]},{path:'/detail',component:ArticleDetail},{}]
})export default router

首先请求渲染

<template><div class="article-page"><divv-for="item in articles":key="item.id"@click="$router.push(`/detai/${item.id}`)"class="article-item" ><div class="head"><img :src="item.creatorAvatar" alt="" /><div class="con"><p class="title">{{ item.stem }}</p><p class="other">{{ item.creatorName }} | {{ item.createdAt }}</p></div></div><div class="body">{{ item.content }}</div><div class="foot">点赞{{ item.likeCount }} | 浏览 {{ item.views }}</div></div></div>
</template><script>
//首页请求渲染
//1.安装axios
//2.看接口文档,确认请求方式,请求地址,请求参数// 请求地址: https://mock.boxuegu.com/mock/3083/articles// 请求方式: get
//3.creater中发送请求,获取数据,存起来
//4.页面的动态渲染//跳转详情页传参
//1.查询参数传参(更适合多个参数)//?参数=参数值  =>  this.$route.query.参数名
//2.动态路由传参(单个参数更优雅方便)// 改造路由 => /路径/参数 => this.$route.params.参数名//(1)访问/重定向到/article  (redirect)//(2)返回上一页 $router.back()//请求地址:https://mock.boxuegu.com/mock/3083/articles/:id//请求方式:get
import axios from 'axios'
export default {name: 'ArticlePage',data () {return {articles:[]}},async created() {const res = await axios.get('https://mock.boxuegu.com/mock/3083/articles')this.articles = res.data.result.rows}}
</script><style lang="less" scoped>
.article-page {background: #f5f5f5;
}
.article-item {margin-bottom: 10px;background: #fff;padding: 10px 15px;.head {display: flex;img {width: 40px;height: 40px;border-radius: 50%;overflow: hidden;}.con {flex: 1;overflow: hidden;padding-left: 15px;p {margin: 0;line-height: 1.5;&.title {text-overflow: ellipsis;overflow: hidden;width: 100%;white-space: nowrap;}&.other {font-size: 10px;color: #999;}}}}.body {font-size: 14px;color: #666;line-height: 1.6;margin-top: 10px;overflow: hidden;text-overflow: ellipsis;display: -webkit-box;-webkit-line-clamp: 2;-webkit-box-orient: vertical;}.foot {font-size: 12px;color: #999;margin-top: 10px;}
}
</style>

1.查询参数传参

<template><div class="article-detail-page"><nav class="nav"><span class="back">&lt;</span> 面经详情</nav><header class="header"><h1>百度前端面经</h1><p>2022-01-20 | 315 浏览量 | 44 点赞数</p><p><imgsrc="http://teachoss.itheima.net/heimaQuestionMiniapp/%E5%AE%98%E6%96%B9%E9%BB%98%E8%AE%A4%E5%A4%B4%E5%83%8F%402x.png"alt=""/><span>青春少年</span></p></header><main class="body">虽然百度这几年发展势头落后于AT, 甚至快被京东赶上了,毕竟瘦死的骆驼比马大,面试还是相当有难度和水准的, 一面.....</main></div>
</template><script>
// 请求地址: https://mock.boxuegu.com/mock/3083/articles/:id
// 请求方式: get
export default {name: "ArticleDetailPage",created () {console.log('this.$route.query.id');}}</script><style lang="less" scoped>
.article-detail-page {.nav {height: 44px;border-bottom: 1px solid #e4e4e4;line-height: 44px;text-align: center;.back {font-size: 18px;color: #666;position: absolute;left: 10px;top: 0;transform: scale(1, 1.5);}}.header {padding: 0 15px;p {color: #999;font-size: 12px;display: flex;align-items: center;}img {width: 40px;height: 40px;border-radius: 50%;overflow: hidden;}}.body {padding: 0 15px;}
}
</style>
<template><div class="article-page"><divv-for="item in articles":key="item.id"@click="$router.push(`/detai?id=${item.id}`)"class="article-item" ><div class="head"><img :src="item.creatorAvatar" alt="" /><div class="con"><p class="title">{{ item.stem }}</p><p class="other">{{ item.creatorName }} | {{ item.createdAt }}</p></div></div><div class="body">{{ item.content }}</div><div class="foot">点赞{{ item.likeCount }} | 浏览 {{ item.views }}</div></div></div>
</template><script>
//首页请求渲染
//1.安装axios
//2.看接口文档,确认请求方式,请求地址,请求参数// 请求地址: https://mock.boxuegu.com/mock/3083/articles// 请求方式: get
//3.creater中发送请求,获取数据,存起来
//4.页面的动态渲染//跳转详情页传参
//1.查询参数传参?参数=参数值  =>  this.$route.query.参数名
//2.动态路由传参 改造路由 => /路径/参数 => this.$route.params.参数名
import axios from 'axios'
export default {name: 'ArticlePage',data () {return {articles:[]}},async created() {const res = await axios.get('https://mock.boxuegu.com/mock/3083/articles')this.articles = res.data.result.rows}}
</script><style lang="less" scoped>
.article-page {background: #f5f5f5;
}
.article-item {margin-bottom: 10px;background: #fff;padding: 10px 15px;.head {display: flex;img {width: 40px;height: 40px;border-radius: 50%;overflow: hidden;}.con {flex: 1;overflow: hidden;padding-left: 15px;p {margin: 0;line-height: 1.5;&.title {text-overflow: ellipsis;overflow: hidden;width: 100%;white-space: nowrap;}&.other {font-size: 10px;color: #999;}}}}.body {font-size: 14px;color: #666;line-height: 1.6;margin-top: 10px;overflow: hidden;text-overflow: ellipsis;display: -webkit-box;-webkit-line-clamp: 2;-webkit-box-orient: vertical;}.foot {font-size: 12px;color: #999;margin-top: 10px;}
}
</style>

2.动态传参

<template><div class="article-detail-page"><nav class="nav"><span @click="$router.back()" class="back">&lt;</span> 面经详情</nav><header class="header"><h1>百度前端面经</h1><p>2022-01-20 | 315 浏览量 | 44 点赞数</p><p><imgsrc="http://teachoss.itheima.net/heimaQuestionMiniapp/%E5%AE%98%E6%96%B9%E9%BB%98%E8%AE%A4%E5%A4%B4%E5%83%8F%402x.png"alt=""/><span>青春少年</span></p></header><main class="body">虽然百度这几年发展势头落后于AT, 甚至快被京东赶上了,毕竟瘦死的骆驼比马大,面试还是相当有难度和水准的, 一面.....</main></div>
</template><script>
// 请求地址: https://mock.boxuegu.com/mock/3083/articles/:id
// 请求方式: get
export default {name: "ArticleDetailPage",created () {console.log('this.$route.params.id');}}</script><style lang="less" scoped>
.article-detail-page {.nav {height: 44px;border-bottom: 1px solid #e4e4e4;line-height: 44px;text-align: center;.back {font-size: 18px;color: #666;position: absolute;left: 10px;top: 0;transform: scale(1, 1.5);}}.header {padding: 0 15px;p {color: #999;font-size: 12px;display: flex;align-items: center;}img {width: 40px;height: 40px;border-radius: 50%;overflow: hidden;}}.body {padding: 0 15px;}
}
</style>
<template><div class="article-page"><divv-for="item in articles":key="item.id"@click="$router.push(`/detai/${item.id}`)"class="article-item" ><div class="head"><img :src="item.creatorAvatar" alt="" /><div class="con"><p class="title">{{ item.stem }}</p><p class="other">{{ item.creatorName }} | {{ item.createdAt }}</p></div></div><div class="body">{{ item.content }}</div><div class="foot">点赞{{ item.likeCount }} | 浏览 {{ item.views }}</div></div></div>
</template><script>
//首页请求渲染
//1.安装axios
//2.看接口文档,确认请求方式,请求地址,请求参数// 请求地址: https://mock.boxuegu.com/mock/3083/articles// 请求方式: get
//3.creater中发送请求,获取数据,存起来
//4.页面的动态渲染//跳转详情页传参
//1.查询参数传参(更适合多个参数)//?参数=参数值  =>  this.$route.query.参数名
//2.动态路由传参(单个参数更优雅方便)// 改造路由 => /路径/参数 => this.$route.params.参数名//(1)访问/重定向到/article  (redirect)//(2)返回上一页 $router.back()import axios from 'axios'
export default {name: 'ArticlePage',data () {return {articles:[]}},async created() {const res = await axios.get('https://mock.boxuegu.com/mock/3083/articles')this.articles = res.data.result.rows}}
</script><style lang="less" scoped>
.article-page {background: #f5f5f5;
}
.article-item {margin-bottom: 10px;background: #fff;padding: 10px 15px;.head {display: flex;img {width: 40px;height: 40px;border-radius: 50%;overflow: hidden;}.con {flex: 1;overflow: hidden;padding-left: 15px;p {margin: 0;line-height: 1.5;&.title {text-overflow: ellipsis;overflow: hidden;width: 100%;white-space: nowrap;}&.other {font-size: 10px;color: #999;}}}}.body {font-size: 14px;color: #666;line-height: 1.6;margin-top: 10px;overflow: hidden;text-overflow: ellipsis;display: -webkit-box;-webkit-line-clamp: 2;-webkit-box-orient: vertical;}.foot {font-size: 12px;color: #999;margin-top: 10px;}
}
</style>
import Vue from 'vue'
import VueRouter from "vue-router";
import Layout from '@/views/Layout'
import Article from '@/views/Article'
import Collect from '@/views/Collect'
import Like from '@/views/Like'
import User from '@/views/User'
import ArticleDetail from '@/views/ArticleDetail'  
Vue.use(VueRouter)const router = new VueRouter({//  /article 路径 -> Article组件routes: [{path:'/',component:Layout,//重定向到/article  (redirect)redirect:'/article',//通过children配置项,可以配置嵌套子路由//1.在children配置项中,配规则//2.准备二级路由出口children: [{path:'/article',component:Article },{path:'/collect',component:Collect},{path:'/like',component:Like},{path:'/user',component:Uesr}]},{//1.路由改造path:'/detail/:id',component:ArticleDetail},{}]
})export default router

详情页渲染

<template><div class="article-detail-page" v-if="article.id"><nav class="nav"><span @click="$router.back()" class="back">&lt;</span> 面经详情</nav><header class="header"><h1>{{ article.stem }}</h1><p>{{ article.createdAt }} | {{ article.views }} 浏览量 | {{ article. likeCount}} 点赞数</p><p><img:src="article.creatorAvatar"alt=""/><span>{{ article.creatorName }}</span></p></header><main class="body">{{ article.content }}</main></div>
</template><script>
// 请求地址: https://mock.boxuegu.com/mock/3083/articles/:id
// 请求方式: get
import axios from 'axios'
export default {name: "ArticleDetailPage",data () {return {article:{}}},async created () {const id =this.$route.params.idconst {data}= await axios.get(`https://mock.boxuegu.com/mock/3083/articles/${id}`)this.article = data.result}}</script><style lang="less" scoped>
.article-detail-page {.nav {height: 44px;border-bottom: 1px solid #e4e4e4;line-height: 44px;text-align: center;.back {font-size: 18px;color: #666;position: absolute;left: 10px;top: 0;transform: scale(1, 1.5);}}.header {padding: 0 15px;p {color: #999;font-size: 12px;display: flex;align-items: center;}img {width: 40px;height: 40px;border-radius: 50%;overflow: hidden;}}.body {padding: 0 15px;}
}
</style>

返回上一页 $router.back()

2.2 组件缓存 keep-alive

<template><div class="h5-wrapper"><div class="content"><!-- 二级路由出口,匹配到的二级路由组件就会展示 --><router-view></router-view></div><nav class="tabbar"><!-- 导航高亮1.将a标签换成router-link (to)2.结合高亮类名实现高亮效果 --><router-link to="#/router-linkrticle">面经</router-link><router-link to="#/collect">收藏</router-link><router-link to="#/like">喜欢</router-link><router-link to="#/user">我的</router-link></nav></div>
</template><script>
export default {//组件名,如果没有配置name,才会找文件名作为组件名name: "LayoutPage",//组件缓存了,就不会执行组件的created,mounted,destroyed//所以提供了actived和deactivedcreated () {console.log('created 组件被加载了');},activated () {alert('你好,欢迎回到首页')console.log('activated 组件被激活了');},deactivated () {console.log('deactivated 组件被销毁了');},}
</script><style>
body {margin: 0;padding: 0;
}
</style>
<style lang="less" scoped>
.h5-wrapper {.content {margin-bottom: 51px;}.tabbar {position: fixed;left: 0;bottom: 0;width: 100%;height: 50px;line-height: 50px;text-align: center;display: flex;background: #fff;border-top: 1px solid #e4e4e4;a {flex: 1;text-decoration: none;font-size: 14px;color: #333;-webkit-tap-highlight-color: transparent;}}
}
</style>
<template><div class="h5-wrapper"><keep-alive :include="keepArr"><!-- 包裹了keep-alive一级路由匹配的组件都会被 缓存Layout组件 Detail组件,都会被缓存Layout组件 - 多两个生命周期的钩子-actived激活时,组件被看到时触发-deactived 失活时,离开页面组件看不见触发ArticleDatialPage组件(未被缓存)需求:只希望Layout被缓存,include配置:include="组件名数组"--><router-view></router-view></keep-alive></div>
</template><script>
export default {name: "h5-wrapper",data () {return {//缓存组件名的数组keepArr:['LayoutPage']}}
}
</script><style>
body {margin: 0;padding: 0;
}
</style>
<style lang="less" scoped>
.h5-wrapper {.content {margin-bottom: 51px;}.tabbar {position: fixed;left: 0;bottom: 0;width: 100%;height: 50px;line-height: 50px;text-align: center;display: flex;background: #fff;border-top: 1px solid #e4e4e4;a {flex: 1;text-decoration: none;font-size: 14px;color: #333;-webkit-tap-highlight-color: transparent;&.router-link-active {color: #fa0;}}}
}
</style>

2.3 自定义创建项目

2.4 ESlint 代码规范

JavaScript Standard Style

2.5 代码规范错误

规则参考 - ESLint - 插件化的 JavaScript 代码检查工具


http://www.hkcw.cn/article/NPfJprRMUj.shtml

相关文章

通信接口 之 串口通信

文章目录 通信接口串口通信硬件电路电平标准串口参数及时序串口时序 通信接口 通信协议及特征 通信目的&#xff1a;将一个设备数据传送到另一个设备&#xff0c;扩展硬件系统&#xff0c;如 STM32 外挂芯片需通信实现数据交换和控制。通信协议作用&#xff1a;制定通信规则&…

2020区块链大作业:基于区块链的供应链金融平台

2020区块链大作业&#xff1a;基于区块链的供应链金融平台 【下载地址】2020区块链大作业基于区块链的供应链金融平台 探索区块链在供应链金融的创新应用&#xff0c;本项目基于区块链技术构建了一个功能丰富的供应链金融平台。不仅实现了基础的金融功能&#xff0c;更通过优化…

以太坊是真正的健全货币吗?驳斥比特币极端主义者的误解

比特币极端主义者通常声称&#xff0c;以太坊&#xff08;ETH&#xff09;没有价值&#xff0c;也不是健全货币。他们认为以太坊的基本面不如比特币&#xff08;BTC&#xff09;。然而&#xff0c;以太坊支持者通过强有力的论据反驳这些观点&#xff0c;强调以太坊不断发展的经…

股指期货交割日对股市有哪些影响?

股指期货交割日可能影响股市&#xff0c;因为这时资金流动增加、对冲交易集中&#xff0c;且期货市场的套利行为和市场情绪的变化都可能导致股市短期内的波动。 股指期货交割日效应 我们先说&#xff0c;股指期货的交割日的效应主要是指股指期货的交割日常常会伴随着市场的波动…

Java 大视界 -- Java 大数据在智能家居能源区块链交易与管理中的应用探索(252)

💖亲爱的朋友们,热烈欢迎来到 青云交的博客!能与诸位在此相逢,我倍感荣幸。在这飞速更迭的时代,我们都渴望一方心灵净土,而 我的博客 正是这样温暖的所在。这里为你呈上趣味与实用兼具的知识,也期待你毫无保留地分享独特见解,愿我们于此携手成长,共赴新程!💖 全网…

资产是什么,有那些,普通人可以获得什么?

资产是什么&#xff1f; 资产是指能够带来经济利益的资源&#xff0c;这些资源被企业或个人所拥有或控制&#xff0c;预期在未来能够带来经济利益流入。简单来说&#xff0c;资产就是能够帮助你增加财富、产生收入或减少支出的东西。 资产有哪些类型&#xff1f; 资产可以分为…

跨链代币开发:架起区块链未来的桥梁

跨链代币开发&#xff1a;架起区块链未来的桥梁 ——多链互操作时代的价值流通革命 一、技术突破&#xff1a;构建跨链代币的四大基石 1️⃣ 跨链桥&#xff1a;资产流通的“超级渡轮” 跨链桥通过锁仓与铸造机制实现资产跨链转移&#xff0c;例如Wrapped Bitcoin&#xff08;W…

poet3 Alpha积分总差一口气?3分钟学会高效刷分技巧!

今天给大家说一套刷积分简单快速有效的刷分流程&#xff1a; 首先刷积分最快捷的方法就是选择&#xff1a;PORT3高效、低损耗刷 为什要选择PORT3了&#xff0c;有何优势值得选择PORT3&#xff01; 方法1&#xff1a; 推荐方式&#xff1a;使用 Binance Wallet 无私钥地址参与…

AI炼丹日志-25 - OpenAI 开源的编码助手 Codex 上手指南

点一下关注吧&#xff01;&#xff01;&#xff01;非常感谢&#xff01;&#xff01;持续更新&#xff01;&#xff01;&#xff01; Java篇&#xff1a; MyBatis 更新完毕目前开始更新 Spring&#xff0c;一起深入浅出&#xff01; 大数据篇 300&#xff1a; Hadoop&…

11.springCloud AlibabaNacos服务注册和配置中心

总体介绍&#xff1a; Nacos简介 Nacos 是 Dynamic Naming and Configuration Service的首字母简称&#xff0c;一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。 Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集&#xff0c;帮…

32所新大学来了 有何深意 职业本科加速扩容

职业本科高校正在加速扩容。近日,教育部发布公示,拟同意设置安徽职业技术大学、宁夏职业技术大学、苏州职业技术大学等32所学校。此次拟同意设置的本科高校中,23所为职业本科高校,均由高职专科升级而来,均为公办。自2019年以来,教育部已批准设立了60所本科层次职业学校。…

《碟中谍8》成端午档首日票房冠军 单日票房1.45亿

根据猫眼专业版数据,截至2025年5月31日21时,端午节单日票房达到1.45亿元,观影人次为366.1万,放映场次达43.2万。《碟中谍8:最终清算》成为当天的票房冠军。端午档首日票房前五名依次为: - 《碟中谍8:最终清算》 - 《哆啦A梦:大雄的绘画奇遇记》 - 《时间之子》 - 《星际…

团中央书记处书记王艺有新职 当选全国少工委常务副主任

5月28日上午,中国少年先锋队第九届全国工作委员会第一次全体会议在京举行。会议选举教育部副部长王嘉毅、共青团中央书记处书记王艺为全国少工委常务副主任。王艺出生于1980年5月,河南许昌人,研究生学历,哲学博士。她现任共青团中央书记处书记、全国青联副主席、全国少工委…

66条预警齐发!浙江将迎暴雨 多地需防次生灾害

今天雨水持续,截至早上6:45分,浙江共有66条气象预警,其中暴雨预警43条。大家出门需提高警惕。昨天下午,浙西北地区开始下雨。预计雨量最大的时段为5月31日后半夜至6月2日上午,浙中北有大雨暴雨,杭嘉湖大部、宁绍北部、衢州西北部局部有大暴雨。强对流天气以短时暴雨为主,…

Redisson学习专栏(四):实战应用(分布式会话管理,延迟队列)

文章目录 前言一、为什么需要分布式会话管理&#xff1f;1.1 使用 Redisson 实现 Session 共享 二、订单超时未支付&#xff1f;用延迟队列精准处理2.1 RDelayedQueue 核心机制2.2 订单超时处理实战 总结 前言 在现代分布式系统中&#xff0c;会话管理和延迟任务处理是两个核心…

Cloudini 点云压缩库 ROS PCL 入门教程

系列文章目录 前言 Cloudini 是一个点云压缩库。 它的重点是速度&#xff0c;但仍能达到很好的压缩比。 其主要用途如下 改进包含点云数据的数据集的存储&#xff08;一个显著的例子就是 rosbags&#xff09;。降低在网络上串流点云数据时所使用的带宽。 它可与 PCL 和 ROS 无…

吉林第三届全国龙舟邀请赛(大安站)激情开赛

龙舟竞渡处,瑞气满湖光。5月31日&#xff0c;金蛇献瑞龙舞九州2025年全国龙舟大联动-中国吉林第三届全国龙舟邀请赛(大安站)“嫩江湾杯”白城市全民健身龙舟赛在吉林大安嫩江湾国家5A级旅游区玉龙湖拉开帷幕。 上午9时&#xff0c;伴随着激昂的音乐&#xff0c;活力四射的青春舞…

【NLP 78、手搓Transformer模型结构及实战】

你以为走不出的淤泥&#xff0c;也迟早会云淡风轻 —— 25.5.31 引言 ——《Attention is all you need》 《Attention is all you need》这篇论文可以说是自然语言处理领域的一座里程碑&#xff0c;它提出的 Transformer 结构带来了一场技术革命。 研究背景与目标 在 Transfo…

【深度学习】14. DL在CV中的应用章:目标检测: R-CNN, Fast R-CNN, Faster R-CNN, MASK R-CNN

深度学习在计算机视觉中的应用介绍 深度卷积神经网络&#xff08;Deep convolutional neural network&#xff0c; DCNN&#xff09;是将深度学习引入计算机视觉发展的关键概念。通过模仿生物神经系统&#xff0c;深度神经网络可以提供前所未有的能力来解释复杂的数据模式&…

性能优化 - 理论篇:CPU、内存、I/O诊断手段

文章目录 Pre引言1. CPU 性能瓶颈1.1 top 命令 —— 多维度 CPU 使用率指标1.2 负载&#xff08;load&#xff09;——任务排队情况1.3 vmstat 命令 —— CPU 繁忙与等待 2. 内存性能瓶颈2.1 操作系统层面的内存分布2.2 top 命令 —— VIRT / RES / SHR 三个关键列2.3 CPU 缓存…