前端学习之vue
前端学习之vue
含义:
渐进式JavaScript 框架
优势:
易用--已经会了 HTML、CSS、JavaScript?即刻阅读指南开始构建应用
灵活--不断繁荣的生态系统,可以在一个库和一套完整框架之间自如伸缩
高效--20kB min+gzip 运行大小,超快虚拟 DOM,最省心的优化
MVP模式与MVVM模式:
传统的开发模式为MVP模式,例如使用jquery书写逻辑。这种模式大量的代码都在P层,而P层大多数代码都是直接操控DOM,性能很低
Vue.js采用MVVM模式,这种模式大多数代码都是在M层,也就是说Vue主要是依靠数据进行驱动的
使用:
官网下载vuejs库:
CDN:
NPM:npm install vue
{{}}--插值表达式
+
{{counter}}
-
+++++{{counter}}
+++++{{counter}}
指令:
{{3+5}}
{{val}}
{{val}}
{{val}}
v-bind:
v-bind:
含义:绑定数据(表达式)到指定的属性上
简写:冒号(:)
{{val}}
6666
{{val}}
y>
列表渲染:
含义:
根据数据循环渲染 `v-for` 指令所在的元素及其子元素。
可以循环的数据:Array | Object | number | string | Iterable (2.6 新增)
:key:项目中唯一的id标识
v-model:
使用:
表单 、
事件:
事件绑定:
v-on,简写@
事件修饰符:
.stop 阻止事件冒泡
.prevent 阻止事件默认行为
.self 事件不是从内部元素触发的
.once 事件只触发一次
按键修饰符:
.enter
.space
.up
按钮
计算属性:
含义:处理复杂的数据
{{ msg.slice(0,1).toUpperCase()+msg.slice(1) }}
计算属性1:{{ firstLetter }}
侦听器:
含义:
侦听数据变化,异步或者开销大操作比较方便
侦听器:{{ fullName }}
计算属性:{{ getFullName }}
ref,nextTick :
ref:
给元素或组件添加 `ref` 属性,则该元素或组件实例对象将被添加到当前组件实例对象的 `$refs` 属性下面。
nextTick:
当数据更新的时候,视图并不会立即渲染,这个时候我们期望获取到视图更新后的数据,可以通过 `nextTick` 来进行操作
vue组件:
组件注册:
//全局组件:
Vue.component('组件名称', {组件选项})
//局部组件
new Vue({
...,
components: {
'组件名称': {组件选项}
}
})
props:
组件中内部私有数据存储中组件 `data` 中,通过外部传入的数据,则通过 `props` 选项接收
组件通信:
父向子:
//不太详细,仔细说明下:
父元素::quantity="initQuantity" 传递
子元素: props 接收
//子元素
直接使用this.元素使用即可
子向父:
子元素:this.$emit('自定义事件名称', 事件数据)传递
父元素:自定义事件名称appIncrement(){} 接收
父元素:
定义一个appIncrement函数接收
子元素:
this.$emit('自定义事件名称', 事件数据)
其他:
四个不推荐的:
$root 直接获取根组件的数据
$parent 直接获取父组件的数据
$children 直接获取子组件的数据
$refs 直接获取子组件的数据,渲染完成后才能使用
不可以在html中使用
个可用:
provide选项inject方法 跨级通信
传递: provide(){
return{
msgs:this.msg
}
}
接收: inject:['msgs']
vuex 兄弟通信(bus总路线)
props:
1 prop大小写:
prop最好写成连字符形式,接收的时候可以写成
2 prop类型:
接收类型:一般为数组
定义接收的类型:
props的类型改为对象
3 prop验证:
在类型的基础上,继续改写
类型: type:类型
默认值: default:函数
是否必传list属性: require:true/false
自定义验证函数:
validator: function (value) {
// 这个值必须匹配下列字符串中的一
return ['success', 'warning', 'danger
}
4 单向数据流:
父级prop的更新会向下流动到子组件中,但是反过来不行
单向下行绑定,父组件传递给子组件的数据,不能直接进行修改
5 传递静态或者动态的prop
静态的: msgs='msgs'
动态的:可以传入:数字,字符串,数组,对
组件双绑:
v-model:
含义:用于实现数据双向绑定的指令
原理:value和input (原理:object.defineProperty())
.sync: 实现组件的双绑
.native 将原生事件绑定到组件中
插槽 :
动态组件:
keep-active标签:
是动态组件利用缓存加载,
组件外层包裹使用,使用时会在原来生命周期的基础上增加两个生命周期activated和deactivated
transition标签:
切换时具有动态效果
使用:条件渲染,条件展示,动态组件,组件根节点
vue-cli:
含义: vue cli是一个基于vue.js进行快速开发的完整系统,又称vue脚手架 安装: npm i -g @vue/cli 检测: vue -V /vue --version 打包工具 :webpack 特点: 基于webpack构建,并带有合理的默认配置
使用:
1 创建:vue create 项目名称(项目名称不写
2 配置项:
Choose Vue version 选
Babel 将
TypeScript 配
Progressive Web App (PWA) Support 移
Router 配
Vuex 配
CSS Pre-processors cs
Linter / Formatter 是
Unit Testing
E2E Testing
3 node-modules 存放依赖
public 存放静态资源
不要改写index.html文件
.browserslistrc 存放浏览器的数据内容
.gitignore 存放不上传或者忽略的
babel。config。js babel的配置
readme。md 项目的介绍指令
package.json 显示下载的依赖, jso
src
main.js 项目的主入口,整个项
APP.vue 项目的根组件
components 项目的公共组件
assets 存放静态资源
assets:通过import的方式作为模块
public: 通过script,link,img等
views 存放页面级组件
单文件组件:以vue结尾的文件
三大内容:template,script,style
vue-router:
多页应用(MPA): 优点 :首屏渲染快,利于SEO(搜索引擎优化) 缺点 :页面之间跳转慢 单页应用(SPA): 优点: 页面之间跳转快, 缺点: 首屏渲染慢,不利于SEO(可以使用Vue SSR-----vue服务渲染解决) 含义: Vue.js官方的路由管理器。他和vue.js的核心深度集成,让构建单页面页面变得易如反掌 安装: 1 npm i vue-router 2 在创建项目时选择router配置
使用:
动态路由:
异步加载:访问时加载 component:()=>import('./../views/about')
动态路由:
声明式导航:
属性:to from
动态路由: path:'/user/:username',
获取动态路由的参数:$route.params.username
侦测动态路由:
watch:{
$route(){
内容
}
}
路由优先级:谁先写,谁的优先级高
404问题:
{
path:'/*',
component:()=>import('./../views/notfind')
}
当动态路由需要被应用于更多场景的时候,使用动态组件传参
1 index 动态路由上,添加props:true
2 将$router.params.username 改为username 动态路由父组件添加props:[username]接受参数
3 通过传递username和应用
路由对象:
获取当前路由的信息 $route
获取router对象: $router
方法:push,go,replace
编程式导航:
$router.push() 会产生历史记录
$router.replace() 不产生历史记录
$router.go(数值) 在产生历史记录的基础上进行(正值)前进和(负值)后退
两种传参方式:params 不显示在地址栏上,query显示在地址栏上
通常使用name和params配合传参,path和query配合传参,path不能携带params传参
子路由:
嵌套路由:
在路由里添加children属性
children:[{
path:'',
},{
path:''
}]
子路由的path的路径不加‘/’,一旦添加/等同于根路径
如果子路由的path为空,表示为默认子路径name值为父路径的name,父级name为空,如果一个路由有默认子路由,
命名路由:
可以给每个路由设置name属性,可以使用该属性进行路由跳转
1 声明式导航:
微信|
2 编程式导航:
his.$router.push({name:'wx',params:{num:33}})
命名视图:
默认视图名:default
router-view name="组件名">
components:{
efault:组件名
}
重定向与别名:
重定向:
访问某个路由时,自动跳转到另一个路由上
方式:
redirect:'/wx',
redirect:{name:'wx'},
redirect:function(){
let type=localStorage.getItem('type')
return {name:type||'wx'}
}
别名:alias
'/a'的别名是'/b',意味着,当用户访问'/b时自动跳转到’/a的页面,URL保持/b不变
路由模式:
history模式:
一个正常的URL:http://localhost:8081/wx
缺点:当你访问一个不存在的的路由的时候,会返回404
解决:配置/*路由
hash模式:
http://localhost:8081/#/wx
不是真正的URL,当用户访问不存在的地址时,不会出现404
路由守卫:
含义: 进入或离开路由时会自动执行一些钩子函数。这些函数称为路由守卫
全局守卫:
全局守卫(所有路由):写在index。js底部
// 1 进入前:
routers.beforeEach((to,from,next)=>{
console.log('进入前');
console.log(to);
console.log(from);
next() //放行
})
// 2 解析完成:在导航被确定之前,同时在所有组件内守卫和异步路由被解析之后,解析守卫被调用
routers.beforeResolve((to,from,next)=>{
console.log('解析完成');
console.log(to);
console.log(from);
next() //放行
})
// 3 离开前
routers.afterEach((to,from)=>{
console.log('离开前');
console.log(to);
console.log(from);
})
独享守卫
独享守卫(配置的路由):写在index。js路径里
beforeEnter: (to, from, next) => {
console.log('login的独享守卫');
console.log(to);
console.log(from);
next()
},
组件守卫:
组件内的守卫(组件内路由)
beforeRouteEnter: (to, from, next) => {
console.log('login组件内的进入前')
console.log(to);
console.log(from);
next() //放行
},
beforeRouteUpdate() {
console.log('login组件内的解析完成')
console.log(to);
console.log(from);
next() //放行
},
beforeRouteLeave (to, from, next) {
console.log('login组件内的离开前')
console.log(to);
console.log(from);
next()
}
路由元信息:
当一些页面需要特殊身份才能进入时,可以使用meta
在路由上:meta:{isteacher:true} //路由元信息
在全局路由上验证身份
routers.beforeEach((to,from,next)=>{
if(to.matched.some(item=>{item.meta.isteacher})){
console.log('教师专区');
next({name:'login'})
}else{
next()
}
})
vuex:
含义: 一个专门为vue。js应用程序开发的状态管理模式(仓库/商店)
安装: 1 npm i vuex
2 创建项目时配置vuex
核心:
state 用来存放公共状态
使用:{{$store.state.状态名}}/this。$store.state.状态名
经常把state状态存储在计算属性中
如何存放:mapState辅助函数,把状态一起搬到组件中的计算属性
import {mapState} from 'vuex'
...mapState(['mag','msg'])
getter store的计算属性,用来加工state的状态
经常把getter储在计算属性中
如何存放:mapGetter辅助函数,把状态一起搬到组件中的计算属性
import {mapGetter} from 'vuex'
...mapGetter(['mag','msg'])
mutations 修改state中的状态(仅同步)
组件内:触发store的mutation的addPrice方法
1 不传参
addPrice(){
this.$store.commit('addPrice')
}
mutations:{
addPrice(state){
state.price++
}
},
2 传参
changeAge(value){
this.$store.commit('changeAge',value)
}
mutations:{
addPrice(state){
state.price++
},
changeAge(state,playload){
state.age=playload
}
},
actions 修改atate中的状态(支持异步)
不能直接修改,只能通过触发mutations来修改state
this.$store.dispatch('addPrice').then(res=>{
console.log(res);
})
actions:{
addPrice(context){
return new Promise((reslove,reject)=>{
setTimeout(()=>{
context.commit('addPrice')
reslove(context.state.price)
},100)
return 'win'
})
}
models 模块化:
新建一个文件
导入:import 名称 from '路径'
注册在models :名称
导出:export default 名称
你可能感兴趣的:(前端学习笔记们,前端,学习,vue.js)
【Golang学习之旅】分布式任务队列(使用 RabbitMQ / Kafka)
程序员林北北
分布式 golang 学习 云原生 kafka rabbitmq java
文章目录前言1.什么是分布式任务队列?1.1消息队列的特点2.为什么使用RabbitMQ和Kafka?2.1RabbitMQ2.2Kafka3.RabbitMQ和Kafka的基本原理3.1RabbitMQ的基本原理3.2Kafka的基本原理前言在微服务架构中,处理异步任务是不可避免的需求。为了处理任务的异步执行,系统需要一个可靠的消息队列机制。消息队列能够保证消息的持久化、顺序性和可靠性,并且能够
主要空间数据挖掘方法
CodeYoung7
总结归纳 数据挖掘 地理信息
文章出自:http://blog.csdn.net/shaoz/article/details/6847925张新长马林兵等,《地理信息系统数据库》[M],科学出版社,2005年2月第二章第二节空间数据空间数据挖掘是多学科和多种技术交叉综合的新领域,其挖掘方法以人工智能、专家系统、机器学习、数据库和统计等成熟技术为基础。下面介绍近年来出现的主要空间数据挖掘方法。1、空间分析方法利用GIS的各种空间
aop解决 防重复提交
小羊炒饭
java spring
背景描述虽然前端控制了按钮不能连续点击,但是在网络信号弱的情况下,仍然会出现第一次点击,请求A网络信号弱,这个时候前端按钮仍然可以点击,然后用户点击第二次。结果两次请求全部成功,数据库生成了两条除了ID以外一模一样的数据。(业务上不允许这种数据出现)解决方式采用AOP,对于不能重复提交的接口在后端加上控制。第一步自定义注解/***@Authorztc*@Description防止重复提交自定义注解
在 Vue 2 中使用 Three.js 导入本地 3D 模型
cherryzm88
web vue2 javascript vue.js 前端 3d
引言Three.js是一个流行的JavaScript库,它能够帮助开发者轻松地在Web页面上创建3D内容。而Vue.js作为前端框架,可以与Three.js结合,构建交互式3DWeb应用。本篇博客将介绍如何在Vue2中使用Three.js加载本地3D模型。1.初始化Vue2项目如果你的项目还没有Vue2环境,可以使用VueCLI初始化:```shvuecreatemy-threejs-appcdm
全开源商城源码后台php全端uniapp 全开源可二开 功能强大 商城系统源码
专业软件系统开发
源码下载 全开源商城源码
内容目录一、详细介绍二、效果展示1.部分代码2.效果图展示三、学习资料下载一、详细介绍内置8中搭配主色(可自行扩展更多配色)、自由快捷切换适应各大行业需求已支持小程序(微信、QQ、百度、支付宝、头条&抖音、快手)+H5+APPApp.vue中修改request_url和static_url地址为自己的商城地址即可使用主题默认为红色(red),如更改主题App.vue文件中修改default_the
鸿蒙初学者学习手册(HarmonyOSNext_API14)_组件截图(@ohos.arkui.componentSnapshot (组件截图) )
余多多_zZ
harmonyos 学习 华为 鸿蒙 鸿蒙系统
前言:这个模块可以截取组件的图片,无论组件是否已加载。截图只能拍到组件本身的大小区域。如果组件或其子组件画得超出了自己的区域,超出的部分不会出现在截图中。截图不会拍到与当前组件平级的(兄弟)组件。模块简介和注意:-XComponent场景建议:如果你正在开发一个视频播放器,应该直接从视频画面获取图片,而不是使用组件的截图功能。-组件截图注意事项:如果有一个按钮,但按钮周围有空白,截图时会显示这些空
【数据挖掘】ARFF格式与数据收集
布鲁惠比寿
数据挖掘 数据挖掘 人工智能
【数据挖掘】ARFF格式与数据收集三级目录1.ARFF格式与数据收集2.稀疏数据3.属性类型4.缺失值与不正确的值5.了解数据6.知识表达7.聚类机器学习算法训练数据挖掘分析数据共享与交换三级目录1.ARFF格式与数据收集ARFF(Attribute-RelationFileFormat)是一种用于存储数据集的文本文件格式,常用于机器学习和数据挖掘领域。它可以表示结构化数据,包括属性定义、关系信息
【如何学习商城源码】
启山智软 商城 源码
微信小程序 小程序 java
学习商城源码是一个系统而深入的过程,需要掌握多种方法和技巧。以下是一些建议,帮助你有效地学习商城源码:一、搭建学习环境准备开发工具编程语言相关:根据商城源码使用的编程语言,安装相应的集成开发环境(IDE)。例如,若源码是Java语言编写的,可安装IntelliJIDEA或Eclipse;若是Python语言,可选择PyCharm等。这些IDE能帮助你高效地编辑、调试代码,提供语法高亮、自动补全等功
自动化测试的学习路线
Ws_
学习
自动化测试是提高软件开发效率和质量的关键手段。学习自动化测试通常涉及多个方面的技能,从基础的编程语言知识到测试工具的使用,再到实际的测试脚本编写和执行。以下是一个学习自动化测试的路线图,帮助你有条不紊地掌握相关技能:1.基础知识在开始自动化测试之前,首先要具备一定的编程和软件测试基础:编程语言:Python、Java、JavaScript或者Ruby(根据你选择的自动化测试工具决定)软件测试基础:
Python自动化测试
Ws_
python python
Python自动化测试是软件开发中的重要组成部分,可以帮助提高测试效率和准确性。以下是学习Python自动化测试的基本路线,以及相关资料的链接:学习路线1.基础知识Python基础:掌握Python语言的基本语法、数据类型、控制流、函数、面向对象编程等。你可以先确保对Python的基本语法有清晰的理解。参考资料:Python官方文档书籍推荐:《Python编程:从入门到实践》2.了解自动化测试的基
rem、em、vw区别
IT木昜
大白话前端面试题 前端 javascript css
在前端开发里,rem、em、vw都是用来设置元素大小的单位,下面就用大白话讲讲它们的区别。参考标准不一样rem:就像大家都用同一把“大尺子”来量东西,这把“大尺子”就是网页里根元素(也就是标签)的字体大小。不管元素在网页里的哪个位置,只要用rem做单位,它的大小就按照这把“大尺子”来算。比如根元素字体大小是16px,那么1rem就是16px,2rem就是32px。em:每个元素自己有一把“小尺子”
JavaEE进阶知识学习-----定时任务调度Quartz-4
四川码匠
Quartz JAVA进阶学习 Quartz 任务调度
Quartz和SpringMVC,Spring整合1.Quartz依赖的包如下:org.springframeworkspring-context-support${spring.version}org.springframeworkspring-tx${spring.version}org.quartz-schedulerquartz2.2.3使用Quartz配置作业的方式第一种:MethodI
23. AI-概述
真上帝的左手
23. AI ai 人工智能
文章目录前言一、AI1.简介2.发展3.应用场景前言AI 随着技术的发展,AI正变得越来越强大和普及,其在解决复杂问题和提高人类生活质量方面的潜力日益显现。一、AIAI(ArtificialIntelligence,人工智能)1.简介 AI(ArtificialIntelligence,人工智能)是计算机科学的一个分支,旨在开发智能系统,使其能够执行通常需要人类智能的任务,例如学习、推理、问
【无标题】
是懒羊羊吖~
笔记
一.WED前端应用软件:c/s架构b/s架构web前端:html5css3javascripthtml5:超文本标记语言----超链接,文字,标签标签语法规范:结束-----双标签标签体------可以嵌套inputimg---------单标签属性:定制元素的行为,属性是不通用的,每一个标签存在自身的属性,当属性名等于属性值时,只需要写属性名,不需要写属性值。二.HTML1.样式//文档声明:告
代理IP服务如何优化AI大模型训练的分布式计算效率
http
AI大模型训练就像一场接力赛,每个计算节点都是接力选手,而代理IP则是保证选手们“跑得更稳、交接更顺”的隐形教练。在分布式计算中,效率瓶颈往往不是算力本身,而是数据调度与通信协作的隐性损耗。接下来,我们从三个实操场景拆解代理IP的增效逻辑。场景一:数据采集与分发的“高速公路”分布式训练的第一步是将海量数据切分到不同计算节点。假设某团队要训练法律文书解析模型,需从20个省级法院网站抓取判例。如果所有
【核心算法篇十三】《DeepSeek自监督学习:图像补全预训练方案》
再见孙悟空_
「2025 DeepSeek技术全景实战」 算法 学习 计算机视觉 deepSeek 深度学习 transformer 人工智能
引言:为什么自监督学习成为AI新宠?在传统监督学习需要海量标注数据的困境下,自监督学习(Self-SupervisedLearning)凭借无需人工标注的特性异军突起。想象一下,如果AI能像人类一样通过观察世界自我学习——这正是DeepSeek图像补全方案的技术哲学。根据,自监督学习通过设计巧妙的"预训练任务"(PretextTask),让模型在无标签数据中自动学习图像语义特征。而图像补全正是这类
全网最全!DeepSeek 新手入门教程合集
人工智能deepseek
如果你是初次接触DeepSeek的普通用户或开发者,面对海量教程却无从下手?别担心!本文为你整理全网最易懂、最实用的DeepSeek学习资源,涵盖快速上手、编程实战、系统手册等,附直达链接,收藏这一篇就够了!一、快速入门指南《DeepSeek入门教程》-博客园亮点:手把手教你注册账号、获取APIKey,并提供Python调用多轮对话的代码示例,适合初级开发者。直达链接:点击查看核心内容:API调用
《计算机组成及汇编语言原理》阅读笔记:p1-p8
编程
《计算机组成及汇编语言原理》学习第1天,p1-p8总结,总计8页。一、技术总结1.Intel8088microprocessor(微处理器),1979-1988。2.MS-DOSMicrosoftDiskOperatingSystem的缩写,是一个操作系统(operatingsystem)。3.Moore'sLaw&Moore'ssecondlaw(1)Moore'slawThenumberoft
兄弟们,我的deepseek终于可以控制浏览器了:Part 1/n,含代码
几道之旅
Dify:智能体(Agent) 工作流 知识库 全搞定 几道之旅AI专栏VVVIP 人工智能
文章目录前言helloworld前言其实,deepseek控制浏览器咱之前就发过,只不过当时没有想到这么好的标题,哈哈。所依赖的,依然是BrowserUse这个项目BrowserUse项目官网helloworld按照官网配置好环境后,只需新建一个python文件(例如,叫main.py?)然后运行即可。fromlangchain_openaiimportChatOpenAIfrombrowser_
国外7个最佳大语言模型 (LLM) API推荐
程序员后端
大型语言模型(LLM)API将彻底改变我们处理语言的方式。在深度学习和机器学习算法的支持下,LLMAPI提供了前所未有的自然语言理解能力。通过利用这些新的API,开发人员现在可以创建能够以前所未有的方式理解和响应书面文本的应用程序。下面,我们将比较从Bard到ChatGPT、PaLM等市场上顶级LLMAPI。我们还将探讨整合这些LLM的潜在用例,并考虑其对语言处理的影响。什么是大语言模型(LLM)
C语言结构体学习笔记
BUG 劝退师
c语言 c语言 学习 笔记
C语言结构体学习笔记目录结构体基本概念结构体变量定义结构体初始化结构体数组结构体指针共用体枚举类型typedef自定义类型总结结构体基本概念1.什么是结构体?结构体:一种用户自定义的数据类型,用于将多个不同类型的变量组合成一个整体。用途:表示复杂数据(如学生信息:学号、姓名、成绩等)。2.结构体定义struct结构体名{数据类型成员1;数据类型成员2;//可以嵌套结构体struct子结构体名子成员
前端:纯前端快速实现html导出word和pdf
m0_74823715
前端 html word
实现html导出word,需要使用两个库。html-docx-js和file-saver导出word的js方法>npminstallhtml-docx-js>npminstallfile-saverjs引入importFileSaverfrom“file-saver”;importhtmlDocxfrom“html-docx-js/dist/html-docx”;/**导出word方法*/expo
Ubuntu22.4.03服务器版安装及搭建深度学习环境的问题总结
蜡笔小祎在线学习
问题集合 深度学习 人工智能
Ubuntu22.4.03服务器版安装流程整个流程已经有很多分享帖了,这里概述一下:下载iso制作启动U盘,按f2进入安装,选择语言,键盘布局english,ubuntuserver安装,DHCP自动配置网络(问题1),代理服务器我们没填,配置阿里云镜源http://mirrors.aliyun.com/ubuntu/,磁盘分区(问题2),设置服务器密码,安装ssh远程工具,重启reboot。可参
FPGA设计怎么学?薪资前景好吗?
博览鸿蒙
FPGA fpga开发
FPGA前端设计和各岗位之间有着很多联系,是一个薪资待遇高,前景发展好的岗位。但这个岗位的门槛也比较高,很多人不知道怎么学习,下面就和宸极教育一起来了解一下吧。数字前端设计必备技能1、熟悉数字电路设计2、熟悉Verilog或VHDL3、熟悉异步电路设计4、熟悉FIFO的设计5、熟悉UNIX系统及其工具的使用6、熟悉脚本语言Perl、Shell、Tcl等7、熟悉C/C++语言、SystemVeril
Linux:从入门到精通的全面指南
dbsnc1111
linux 运维 服务器
一、引言Linux作为一种开源操作系统,犹如一座技术宝库,在当今的科技领域中占据着至关重要的地位。它以其卓越的稳定性、高度的安全性和无与伦比的灵活性,在服务器、嵌入式系统、个人计算机、超级计算机等众多领域广泛应用。无论是渴望提升技术水平的个人,还是寻求拓展职业道路的专业人士,学习Linux都无疑是开启新机遇之门的钥匙。以下是关于Linux的详细知识以及学习Linux的经验总结,希望能为正在学习或准
游戏引擎学习第112天
虾球xz
游戏引擎 学习 java
黑板:优化今天的内容是关于优化的,主要讨论了如何在开发中提高代码的效率,尤其是当游戏的帧率出现问题时。优化并不总是要将代码做到最快,而是要确保代码足够高效,以避免性能问题。优化的过程是一个反复迭代的过程,目标是找到一个“足够好”的解决方案,而不是追求极致优化。优化的第一步并不是直接优化代码,而是要进行测量和分析。这一步很重要,因为只有了解代码的表现和瓶颈,才能有效地进行优化。测量代码的性能,确定哪
Vue-纯前端导出word文档
2501_90252408
前端 vue.js word
varbuf=doc.getZip().generate({type:‘nodebuffer’});//bufisanodejsbuffer,youcaneitherwriteittoafileordoanythingelsewithit.fs.writeFileSync(path.resolve(__dirname,‘output.docx’),buf);####jszip-utils[jszi
浅谈vue常用的状态管理库vuex、pinia
超绝前端乱学小白
vue flutter vue.js vue javascript
Vuex和Pinia都是Vue.js应用程序中的状态管理库,虽然两种状态管理库的vue2,vue3都兼容,但是更推荐vue2(vuex),vue3(pinia)VuexVuex是Vue.js官方提供的状态管理库,它借鉴了Flux和Redux的设计思想,将应用的状态(state)集中管理于单个全局状态树中。核心概念State:存储应用程序的状态Getters:允许在Vuexstore中定义计算属性,
PHP 网络编程介绍
来恩1003
PHP 从入门到精通 php 网络 开发语言
PHP学习资料PHP学习资料PHP学习资料在当今数字化时代,网络编程是开发各类应用必不可少的技能。PHP作为一门广泛应用于Web开发的编程语言,同样具备强大的网络编程能力。接下来,我们将深入探讨PHP中网络连接的建立、Socket编程、HTTP请求与响应等网络相关的操作。一、网络连接的建立在PHP中建立网络连接,主要是通过使用内置的函数来实现与远程服务器的通信。最常见的是使用fsockopen函数
PHP 安全与加密:守护 Web 应用的基石
来恩1003
PHP 从入门到精通 php 安全 前端
PHP学习资料PHP学习资料PHP学习资料在当今数字化时代,Web应用无处不在,而PHP作为一种广泛使用的服务器端脚本语言,承载着无数网站和应用的核心逻辑。然而,随着网络攻击手段日益复杂,PHP应用面临着诸多安全威胁,如SQL注入、XSS攻击等,同时,数据的加密保护也至关重要。本文将深入探讨PHP中的安全问题及加密算法的应用,帮助开发者构建更安全可靠的Web应用。一、PHP安全之殇——SQL注入攻
ASM系列六 利用TreeApi 添加和移除类成员
lijingyao8206
jvm 动态代理 ASM 字节码技术 TreeAPI
同生成的做法一样,添加和移除类成员只要去修改fields和methods中的元素即可。这里我们拿一个简单的类做例子,下面这个Task类,我们来移除isNeedRemove方法,并且添加一个int 类型的addedField属性。
package asm.core;
/**
* Created by yunshen.ljy on 2015/6/
Springmvc-权限设计
bee1314
spring Web jsp
万丈高楼平地起。
权限管理对于管理系统而言已经是标配中的标配了吧,对于我等俗人更是不能免俗。同时就目前的项目状况而言,我们还不需要那么高大上的开源的解决方案,如Spring Security,Shiro。小伙伴一致决定我们还是从基本的功能迭代起来吧。
目标:
1.实现权限的管理(CRUD)
2.实现部门管理 (CRUD)
3.实现人员的管理 (CRUD)
4.实现部门和权限
算法竞赛入门经典(第二版)第2章习题
CrazyMizzz
c 算法
2.4.1 输出技巧
#include <stdio.h>
int
main()
{
int i, n;
scanf("%d", &n);
for (i = 1; i <= n; i++)
printf("%d\n", i);
return 0;
}
习题2-2 水仙花数(daffodil
struts2中jsp自动跳转到Action
麦田的设计者
jsp webxml struts2 自动跳转
1、在struts2的开发中,经常需要用户点击网页后就直接跳转到一个Action,执行Action里面的方法,利用mvc分层思想执行相应操作在界面上得到动态数据。毕竟用户不可能在地址栏里输入一个Action(不是专业人士)
2、<jsp:forward page="xxx.action" /> ,这个标签可以实现跳转,page的路径是相对地址,不同与jsp和j
php 操作webservice实例
IT独行者
PHP webservice
首先大家要简单了解了何谓webservice,接下来就做两个非常简单的例子,webservice还是逃不开server端与client端。我测试的环境为:apache2.2.11 php5.2.10做这个测试之前,要确认你的php配置文件中已经将soap扩展打开,即extension=php_soap.dll;
OK 现在我们来体验webservice
//server端 serve
Windows下使用Vagrant安装linux系统
_wy_
windows vagrant
准备工作:
下载安装 VirtualBox :https://www.virtualbox.org/
下载安装 Vagrant :http://www.vagrantup.com/
下载需要使用的 box :
官方提供的范例:http://files.vagrantup.com/precise32.box
还可以在 http://www.vagrantbox.es/
更改linux的文件拥有者及用户组(chown和chgrp)
无量
c linux chgrp chown
本文(转)
http://blog.163.com/yanenshun@126/blog/static/128388169201203011157308/
http://ydlmlh.iteye.com/blog/1435157
一、基本使用:
使用chown命令可以修改文件或目录所属的用户:
命令
linux下抓包工具
矮蛋蛋
linux
原文地址:
http://blog.chinaunix.net/uid-23670869-id-2610683.html
tcpdump -nn -vv -X udp port 8888
上面命令是抓取udp包、端口为8888
netstat -tln 命令是用来查看linux的端口使用情况
13 . 列出所有的网络连接
lsof -i
14. 列出所有tcp 网络连接信息
l
我觉得mybatis是垃圾!:“每一个用mybatis的男纸,你伤不起”
alafqq
mybatis
最近看了
每一个用mybatis的男纸,你伤不起
原文地址 :http://www.iteye.com/topic/1073938
发表一下个人看法。欢迎大神拍砖;
个人一直使用的是Ibatis框架,公司对其进行过小小的改良;
最近换了公司,要使用新的框架。听说mybatis不错;就对其进行了部分的研究;
发现多了一个mapper层;个人感觉就是个dao;
解决java数据交换之谜
百合不是茶
数据交换
交换两个数字的方法有以下三种 ,其中第一种最常用
/*
输出最小的一个数
*/
public class jiaohuan1 {
public static void main(String[] args) {
int a =4;
int b = 3;
if(a<b){
// 第一种交换方式
int tmep =
渐变显示
bijian1013
JavaScript
<style type="text/css">
#wxf {
FILTER: progid:DXImageTransform.Microsoft.Gradient(GradientType=0, StartColorStr=#ffffff, EndColorStr=#97FF98);
height: 25px;
}
</style>
探索JUnit4扩展:断言语法assertThat
bijian1013
java 单元测试 assertThat
一.概述
JUnit 设计的目的就是有效地抓住编程人员写代码的意图,然后快速检查他们的代码是否与他们的意图相匹配。 JUnit 发展至今,版本不停的翻新,但是所有版本都一致致力于解决一个问题,那就是如何发现编程人员的代码意图,并且如何使得编程人员更加容易地表达他们的代码意图。JUnit 4.4 也是为了如何能够
【Gson三】Gson解析{"data":{"IM":["MSN","QQ","Gtalk"]}}
bit1129
gson
如何把如下简单的JSON字符串反序列化为Java的POJO对象?
{"data":{"IM":["MSN","QQ","Gtalk"]}}
下面的POJO类Model无法完成正确的解析:
import com.google.gson.Gson;
【Kafka九】Kafka High Level API vs. Low Level API
bit1129
kafka
1. Kafka提供了两种Consumer API
High Level Consumer API
Low Level Consumer API(Kafka诡异的称之为Simple Consumer API,实际上非常复杂)
在选用哪种Consumer API时,首先要弄清楚这两种API的工作原理,能做什么不能做什么,能做的话怎么做的以及用的时候,有哪些可能的问题
在nginx中集成lua脚本:添加自定义Http头,封IP等
ronin47
nginx lua
Lua是一个可以嵌入到Nginx配置文件中的动态脚本语言,从而可以在Nginx请求处理的任何阶段执行各种Lua代码。刚开始我们只是用Lua 把请求路由到后端服务器,但是它对我们架构的作用超出了我们的预期。下面就讲讲我们所做的工作。 强制搜索引擎只索引mixlr.com
Google把子域名当作完全独立的网站,我们不希望爬虫抓取子域名的页面,降低我们的Page rank。
location /{
java-归并排序
bylijinnan
java
import java.util.Arrays;
public class MergeSort {
public static void main(String[] args) {
int[] a={20,1,3,8,5,9,4,25};
mergeSort(a,0,a.length-1);
System.out.println(Arrays.to
Netty源码学习-CompositeChannelBuffer
bylijinnan
java netty
CompositeChannelBuffer体现了Netty的“Transparent Zero Copy”
查看API(
http://docs.jboss.org/netty/3.2/api/org/jboss/netty/buffer/package-summary.html#package_description)
可以看到,所谓“Transparent Zero Copy”是通
Android中给Activity添加返回键
hotsunshine
Activity
// this need android:minSdkVersion="11"
getActionBar().setDisplayHomeAsUpEnabled(true);
@Override
public boolean onOptionsItemSelected(MenuItem item) {
静态页面传参
ctrain
静态
$(document).ready(function () {
var request = {
QueryString :
function (val) {
var uri = window.location.search;
var re = new RegExp("" + val + "=([^&?]*)", &
Windows中查找某个目录下的所有文件中包含某个字符串的命令
daizj
windows 查找某个目录下的所有文件 包含某个字符串
findstr可以完成这个工作。
[html]
view plain
copy
>findstr /s /i "string" *.*
上面的命令表示,当前目录以及当前目录的所有子目录下的所有文件中查找"string&qu
改善程序代码质量的一些技巧
dcj3sjt126com
编程 PHP 重构
有很多理由都能说明为什么我们应该写出清晰、可读性好的程序。最重要的一点,程序你只写一次,但以后会无数次的阅读。当你第二天回头来看你的代码 时,你就要开始阅读它了。当你把代码拿给其他人看时,他必须阅读你的代码。因此,在编写时多花一点时间,你会在阅读它时节省大量的时间。让我们看一些基本的编程技巧: 尽量保持方法简短 尽管很多人都遵
SharedPreferences对数据的存储
dcj3sjt126com
SharedPreferences简介: &nbs
linux复习笔记之bash shell (2) bash基础
eksliang
bash bash shell
转载请出自出处:
http://eksliang.iteye.com/blog/2104329
1.影响显示结果的语系变量(locale)
1.1locale这个命令就是查看当前系统支持多少种语系,命令使用如下:
[root@localhost shell]# locale
LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
Android零碎知识总结
gqdy365
android
1、CopyOnWriteArrayList add(E) 和remove(int index)都是对新的数组进行修改和新增。所以在多线程操作时不会出现java.util.ConcurrentModificationException错误。
所以最后得出结论:CopyOnWriteArrayList适合使用在读操作远远大于写操作的场景里,比如缓存。发生修改时候做copy,新老版本分离,保证读的高
HoverTree.Model.ArticleSelect类的作用
hvt
Web .net C# hovertree asp.net
ArticleSelect类在命名空间HoverTree.Model中可以认为是文章查询条件类,用于存放查询文章时的条件,例如HvtId就是文章的id。HvtIsShow就是文章的显示属性,当为-1是,该条件不产生作用,当为0时,查询不公开显示的文章,当为1时查询公开显示的文章。HvtIsHome则为是否在首页显示。HoverTree系统源码完全开放,开发环境为Visual Studio 2013
PHP 判断是否使用代理 PHP Proxy Detector
天梯梦
proxy
1. php 类
I found this class looking for something else actually but I remembered I needed some while ago something similar and I never found one. I'm sure it will help a lot of developers who try to
apache的math库中的回归——regression(翻译)
lvdccyb
Math apache
这个Math库,虽然不向weka那样专业的ML库,但是用户友好,易用。
多元线性回归,协方差和相关性(皮尔逊和斯皮尔曼),分布测试(假设检验,t,卡方,G),统计。
数学库中还包含,Cholesky,LU,SVD,QR,特征根分解,真不错。
基本覆盖了:线代,统计,矩阵,
最优化理论
曲线拟合
常微分方程
遗传算法(GA),
还有3维的运算。。。
基础数据结构和算法十三:Undirected Graphs (2)
sunwinner
Algorithm
Design pattern for graph processing.
Since we consider a large number of graph-processing algorithms, our initial design goal is to decouple our implementations from the graph representation
云计算平台最重要的五项技术
sumapp
云计算 云平台 智城云
云计算平台最重要的五项技术
1、云服务器
云服务器提供简单高效,处理能力可弹性伸缩的计算服务,支持国内领先的云计算技术和大规模分布存储技术,使您的系统更稳定、数据更安全、传输更快速、部署更灵活。
特性
机型丰富
通过高性能服务器虚拟化为云服务器,提供丰富配置类型虚拟机,极大简化数据存储、数据库搭建、web服务器搭建等工作;
仅需要几分钟,根据CP
《京东技术解密》有奖试读获奖名单公布
ITeye管理员
活动
ITeye携手博文视点举办的12月技术图书有奖试读活动已圆满结束,非常感谢广大用户对本次活动的关注与参与。
12月试读活动回顾:
http://webmaster.iteye.com/blog/2164754
本次技术图书试读活动获奖名单及相应作品如下:
一等奖(两名)
Microhardest:http://microhardest.ite