标签!!!!
10 .Es6了解多少?
const声明对象里的值为什么可以改变?const 声明的值为什么不能改变?、
1.ES6允许使用“箭头”(=>)定义函数
var f = v => v;
//等价于
var f = function(v){
return v;
};
如果箭头函数不需要参数,则定义如下:
var f = () => 5;
// 等同于
var f = function () { return 5 };
如果箭头函数需要单个参数或者多个参数,则定义如下:
var sum = (num1, num2) => num1 + num2;
// 等同于
var sum = function(num1, num2) {
return num1 + num2;
};
如果箭头函数的代码块多于一条语句,则要使用大括号将他们括起来,并使用return语句返回:
var sum = (num1, num2) => { return num1 + num2; }
注:箭头函数内部的this不是windows对象,而是函数自身。
2、import,export
export与export default均可用于导出常量、函数、文件、模块等,你可以在其它文件或模块中通过import+(常量 | 函数 | 文件 | 模块)名的方式,将其导入,以便能够对其进行使用,但在一个文件或模块中,export、import可以有多个,export default仅有一个。
//demo1.js
export const str = 'hello world'
export function f(a){
return a+1
}
//demo2.js
import { str, f } from 'demo1' //也可以分开写两次,导入的时候带花括号
也可以使用下面的方式进行导入:
//demo1.js
export default const str = 'hello world'
//demo2.js
import str from 'demo1' //导入的时候没有花括号
3、let 和 const 命令
这里有必要再提,var 修饰的变量 var 修饰的变量的作用域是存在当前函数的作用域内,如果声明在函数外的顶层声明,那么就属于 全局变量 、如果当前变量并没有用任何修饰词,那么该变量则属于全局变量。 let 作用于当前代码块的区域 let 声明的变量具有一下几个特点
let 声明的变量具有块级作用域的特征
在同一个块级作用域,不能重复声明变量
let 声明的变量不存在变量提升 这里加一个例子
for(var i = 0; i <10 ; i++){
setTimeout(function(){
console.log(i);
},100)
}
for(let i = 0; i < 10; i++) {
setTimeout(function(){
console.log(i);
},100)
}
for(const i = 0; i < 10; i++) {
setTimeout(function(){
console.log(i);
},100)
}
const只读
在vue中使用const会定义 变量、方法、对象等,通常是使用const定义一个变量指向方法、对象等 定义变量为一个具体的值时,该值是无法改变的,当定义的变量指向的是对象或方法时,其内容值可以改变
11 .变量和方法的增强写法
原来的写法
coconst obj={
name:'haha',
age:12,
run:function () {
console.log('hahah');
},
jump:function () {
console.log('hehehe');
}
}
const name="hahah";
const age=12;
//es5的写法
const obj={
name:name,
age:age
}
}
属性的增强写法
//es6的写法
const name = "haha";
const age = 12;
const obj = {
name,
age
}
函数的增强写法
const obj = {
run(){
console.log("hehehe");
},
jump(){
console.log("he")
}
}
12 .Mvvm框架(Model-View-ViewModel)?
前端的视图层分为三部分: Model、View、ViewModel
『View』:视图层(UI 用户界面)
『ViewModel』:业务逻辑层(一切 js 可视为业务逻辑)\
『Model』:数据层(存储数据及对数据的处理如增删改查)
ViewModel是桥梁,是连接 view 视图层和数据层的纽带,这层纽带的体现体现在双向数据绑定
mvvm避免了于DOM 的直接接触
Mvc 是什么?
MVC 即 model ,view , control ,jQuery 就是采用这种设计模式
13 .生命周期
从创建到销毁的过程
在此过程中有一些声明周期钩子供我们使用,以便我们在使用组件化时的特定时期来做特定的事
简单理解有四大过程: 分别是创建、挂载、更新、销毁
14 .mustatch语法 里能写什么?
双阔号里的属性值或方法名
15 .v-once
只执行一次
16 .v-html
将dom元素包括标签等都可以显示出来
17 .v-text
只显示dom的文本
18 .v-clock
19 .动态绑定 v-bind
语法糖 写法 :“ :xxx”
20 .计算属性 computer与 方法methods的区别
两者的本质区别是; computed 是基于响应式依赖进行缓存的,计算属性的触发条件是它的依赖变化了才会重新执行。
而methods 就像普通函数,需要主动调用才能执行。而不是依赖数据的变换,并且也不需要返回一个结果,可以仅仅执行一个过程。当我们在获取一个数据时需要对一个大的数组进行大量循环擦能获取时,那我们选择计算属性,基于依赖进行缓存将会节省大量的性能消耗。而不是像methods一样每次调用都执行。
21 .v-on ,v-bind 语法糖?修饰符,用法
@、:、
22 .阻止默认事件prevent
23 .v-if 和 v-show
相同点是通过真假值动态显示元素,不同点是v-if的值为false 时直接将元素从DOM 树中移除,而v-show是隐藏元素
24 .v-for key值 遍历
在列表渲染时使用 key 属性
官方文档:
当Vue.js 用v-for 正在更新已渲染过的元素列表时,它默认用“就地复用''策略。如果数据项的顺序被改变,Vue 将不会移动 DOM 元素来匹配数据项的顺序,而是简单复用此处每个元素,并且确保它在特定索引下显示已被渲染过的每个元素
假设Vue 实例中的 data 数据中有个变量num存了一个数组类型数据,其中包含【1,2,3,4,5】这时向数组中添加数字 将num 改为 【0,1,2,3,4,5】,这时没有key值,渲染更新的步骤是:
原先的div内容为1的变为0,2变为1 依次类推,相当于数组中增加了一个 值5
{{item }}
{{item}}
这里用 index 变量,根据列表渲染的规则,它实际上对应了数组中每个元素的索引,这样的好处是它可以使每个元素的 key 值都不同,要利用 key 属性的有点,保证统一父元素的子元素有不同的 key 属性
此时数组 num 从 【1,2,3,4,5】 变成 【0,1,2,3,4,5】渲染输出的更新步骤就变化了,新增一个div元素它的内容为0 ,并将它插入原先内容为1 的元素之前。
25 .v-module
动态数据绑定
26 .filter()函数 过滤器
初步了解在对某一对象使用回调函数时对该对象内的数据进行过滤
const cartList = this.$store.getters.cartList;
return cartList
.filter((item) => {
return item.checked;
})
27 .了解vue的高阶函数
filter、map、 reduce
1、filter 函数,返回布尔值
返回值是true ,则返回当前的值;如果返回值是false ,则不返回当前值。循环判断数据里面的数据直至完成;
2、map 函数,对数组中的值进行处理后,返回相应的值。循环判断数据里的值,直至完成;
map(function(n){
return n*3
})
3、reduce 函数,合计,计算总值
reduce(function(preValue,n){
return preValue + n
})
28 .创建组件的步骤
创建——注册——使用
const component = {
template: "#xxx",
}
const app = new Vue({
components: {
compone
}
})
29 .父传子子传父
父组件向子组件传值,利用props属性
父组件传给子组件数值,子组件不要对其进行修改,而是需要找个变量将父组件传递的数值给赋值过来 然后对变量进行操作
{{cart}}
子组件向父组件传值 利用 $.emit发送事件
31 .兄弟传
方法一:
兄弟组件之间传值要借助事件车,通过事件车的方式传递数据
中央事件总线(通俗讲是:eventBus 事件车)的实质就是创建一个vue 实例,通过一个空的vue实例作为桥梁实现vue组件之间的通信,它是实现非父子组件通信的一种解决方案
作用: 实现非父子组件之间的数据出啊目的
传递数据方,通过一个事件触发 bus.$emit (方法名,传递的数据)
接收数据方
接收数据方,通过
mounted(){
bus.$on(方法名,function(接收数据的参数))
//用该组件的数据接收传递过来的数据
//此时函数中的this已经发生了改变,可以使用箭头函数
}
方法二:
vuex
方法三:
子——》父——》子
32 .插槽
插槽放在子组件中,由父组件来填充内容(方便修改、
33 .页面间传递参数 vuex
34 .路由传参
router 导航,分为两大类:
编程式导航router.push、声明式导航
1.**字符串**
1. 直接通过字符串的方式将路由地址以字符串的方式来跳转,这种方式简单,但是不能传递参数
this.$router.push('home')
2.**对象**
想要传递参数主要就是以对象的方式来写,分为两种方式: 命名路由和查询参数
命名路由
命名路由的前提就是在注册路由的地方需要给路由命名:
如:
export default new Router({
routes: [
{
path:'/',
name:'hello',//命名路由传递参数需要使用params来传递
component: Hello
}
]
})
//使用方法如下 ,这个可以直接添加跳转事件,跳转新的页面
this.$router.push({name:'hello',params:{ userId:123 }})
//接收传递的参数如下
{{this.$router.params.userId}}
查询参数
查询参数其实就是在路由地址后面带上参数和传统的url 是一致的,传递参数使用 query 而且必须配和 path 来传递参数而不能使用 name,目标页面接收传递的参数使用query
注意:和name配对的是params 和path 配对的是query
//使用方法如下 ,可以直接添加事件进行页面跳转
this.$router.push({ path: '/news', query: { userId: 123 }});
//接收参数如下:
{{this.$router.query.uesrId}}
36 .vuex
相当于一个公共仓库,保存着所有组件都能共用的数据
//在store文件中新建 index.js
import Vue from 'vue'
import Vuex from 'vuex'
Vue.use(Vuex);
export default new Vuex.Stroe({
state:{
pathName:'',
currDbSource: {},
currJobDate:{},
DbSource:[]
},
mutation: {
// 保存当前菜单栏的路径
savePath(state,pathName){
state.pathName = pathName;
},
// 保存当前点击的数据源
saveCurrDbSource(state,currDbSource){
state.currDbSource = currDbSource;
},
// 保存当前点击的元数据
saveCurrJobData(state,currJobData){
state.currJobData = currJobData;
},
// 保存所有数据源
saveDbSource(state,DbSource){
state.DbSource = DbSource;
}
}
})
这里解释,state 是自定义的一些变量,用来保存数据,mutations 是用来触发事件,相当于方法,用户需要通过触发这个方法来借此保存数据。第二个参数是用户需要传入的值。
37 .侦听属性
38 .export default 中的 name 属性到底有啥用呢?
类型 : string
详情:
允许组件模板递归的调用自身。组件在全局用 app.component 注册时,全局ID自动为组件的name
指定 name 选项的另一个好处是便于调试。有名字的组件有更友好的警告信息。另外,在有 vue-devtools ,未命名的组件将显示成
这很没有语义。通过提供name选项可以获得更有语义信息的组件树
39 .data: function () 和 data()
es6语法
40 .什么是组件缓存?
41 .为什么需要封装组件?
为了组件的复用
为了代码的可维护性和可读性
怎么实现组件的封装呢?主要是抽离思想和并联动态变化的思想
42 .怎么封装一个轮播组件?
图片的话请求网络数据,最后将图片数据加载进框架里面
还是先搭建框架,外框和放置图片框架
其次是方法:第一个是定时器自动播放的方法、第二个是拖动图片滚动的方法
最后是加载,怎么加载这些方法,需要用到生命周期函数
43 .export default function 和 export function 的区别
export default function xxx (){
//..输出
}
import xxx from 'xxx';//输入
export function bbb (){
//..输出
}
import {bbb} from 'bbb';//输入
export default 命令用于指定模块的默认输出,显然,一个模块只能有一个默认输出,因此export default 命令只能使用一次。所以 ,import 命令后才不用大括号
44 .ref 和 children
ref 如果是绑定在组件中的,那么 通过 this.$refs.refname 获得的是一个组件对象
ref 如果是绑定在普通的元素中,那么通过 this.$refs.refname 获得的是一个元素对象
45 .style 中的 scoped 属性有什么作用?
规定css 样式的作用域
46 .watch??
47 .数组常用的方法有哪些?
48 .Vue中的ref 和$refs 的介绍和使用
在JavaScript 中需要通过 document.querySelector('#demo')来获取dom 节点,然后再获取这个节点的值。在Vue中,我们不用获取dom节点,元素绑定ref后,直接通过 this.$refs 即可调用,这样可以减少获取dom节点的消耗。
ref介绍:
ref 被用来给元素或子组件注册引用信息,引用信息将会注册在父组件的 $refs 对象上,如果在普通的 DOM 元素上使用,引用指向的就是 DOM 元素; 如果用在子组件上,引用就指向子组件实例
简单说,ref 特性就是为元素或子组件赋予一个 Id 引用 ,通过 this.$refs.refName 来访问元素或子组件实例
Hello
this.$refs.p
this.$refs.children
this.$refs 介绍
this.$refs 是一个对象 ,持有当前组件中注册过 ref 特性的所有 DOM 元素和子组件实例
注意 :$refs 只有在组件渲染完成后才填充,在初始渲染的时候不能访问,并且他们是非响应式的,因此不能在模板中做数据绑定
49 .拦截器
什么是axios 拦截器?
拦截器就是拦截每一次的请求和响应,然后进行相应的处理。
拦截器按照状态不同可以分为 请求拦截器和响应拦截器
50 .computed 和 methods 的区别
51 .网络四种请求方法
axios请求方法:get,post,put,patch,delete
get:获取数据 post:提交数据(表单提交+文件上传) put:更新数据(所有数据推送到后端) patch:更新数据(只将修改的数据推送到后端) delete:删除数据
52 . routerview,routerlink
routerview 命令视图 routerlink 命令路线 本身就是两个组件。
routerview 显示组件, routerlink 路由跳转
跳转路由
53 .axios 使用小结
axios 在vue框架中用于向服务器请求数据,之前了解过一点jQuery 的AJAX 。vue框架的axios 基于Promise ,可以使用 Promise API
作品中用到的axios的请求方式,
axios.request( config )
另外有其他几种方式,用到再说
axios.request(config)
axios.get(url [,config])
axios.post(url[data [,config]])
axios.put(url [data [,config]])
axios.delete(url [,config])
axios.patch(url [data [,config]])
axios.head(url [,config])
axios(config)
默认的网络请求方法是get,如果需要发送多个请求,并发请求的话需要用到 all 方法。这里没有用到
import axios from 'axios'
export function request(config){
const instance = axios.create({ //创建axios实例的目的是为了方便使用全局配置,另一方面减少各个组件对axios框架的依赖性
baseURL: "http://xxxxxxx",
timeout:xxxx
})
//添加axios拦截器
instance.interceptors.request.use(config => { //添加请求拦截器,检测在请求网络数据时的状态
return config
},err=> {
console.log(err)
})
instance.interceptors.response.use(res => { //添加响应拦截器,页面在获取数据后进行检测状态
return res.data //成功则返回结果
},err => {
console.log(err);
})
return instance(config) //发送网络请求
}
这里 config 配置选项有必要了解
{
//服务器的地址,是必须的选项
url:'/user'
//请求的方式,默认是get
method:'get'
//如果url不是绝对地址,则会加上 baseURL
baseURL:'http://localhost:3000'
//headers是自定义要被发送的信息头
headers:{'X-Requested-with':'XMLHttpRequest'},
//params 是请求连接中的请求参数,必须是个纯对象
params: { ID:123 }
//timeout 定义请求的事件,单位是毫秒,如果请求事件超过设定时间,请求停止
timeout:1000
其他的用到再了解
}
创建完网络请求的axios实例 instance 后,各个组件需要请求各自的数据,这里不将所有组件请求的方法放在同一个页面中,将其分类
例如 home 首页
import { request } from './request'
export function getHomeMultidata(){
return request({
url:'/home/multidata'//将配置信息返回至request网络请求方法中请求数据
})
}//接下来在组件中引用该方法,获取存储和渲染数据
54 .使用vue的优点
vue 的两大特点: 响应式编程,组件化
vue 的优势: 轻量级框架,双向数据绑定,组件化,视图化,数据和结构的分离,虚拟DOM,运行速度块,可以依赖第三方UI库,节省开发时间
组件化开发易于复用、不易污染
55 .模块化开发的含义
vue中的 模块化开发 主要是以 ES6 的模块化开发进行设计
export 导出, import 导入
你可能感兴趣的:(Vue 未解决问题的结果)
Dify理论:漫话RAG
几道之旅
Dify与Langflow 智能体(Agent) 知识库 人工智能 自然语言处理 nlp
兜兜转转,RAG依旧是绕不开的话题。RAG,检索增强生成。给大语言模型一个大型图书馆。大语言模型在回答问题前,不要急于回答。先去图书馆里查阅一番,再根据所获取的知识进行回答。大语言模型,由闭卷考试,变成了开卷考试。第一:减轻了大模型的幻觉。大模型在不知道答案时,往往会胡编乱造。如今,有人把答案告诉了它,它只需要整理一下语言即可。使用大语言模型回答问题时,最极端的情况下,它收到的问题是:请根据背景知
十一、Spring Boot:使用JWT实现用户认证深度解析
伯牙碎琴
# Spring框架 spring boot 后端 java
SpringBootJWT(JSONWebToken):无状态认证在现代Web开发中,无状态认证是一种重要的安全机制,它允许服务器在不存储会话信息的情况下验证用户身份。JSONWebToken(JWT)是一种常用的无状态认证技术,它通过一个紧凑的URL安全令牌来传递用户身份信息。SpringBoot与JWT的结合可以为应用提供强大的安全保护。本文将详细介绍如何在SpringBoot中集成JWT实现
九、Spring Boot:自动配置原理
伯牙碎琴
# Spring框架 spring boot java 数据库
深入解析SpringBoot自动配置原理SpringBoot的自动配置机制是其最核心的特性之一,它极大地简化了Spring应用的初始搭建和开发过程。通过自动配置,SpringBoot能够根据项目的依赖和配置自动加载和配置Spring应用的各个部分。本文将深入探讨SpringBoot自动配置的原理,包括@SpringBootApplication注解的组成、自动配置机制以及条件注解的使用。1.@Sp
新手0基础路由器刷机(小米WR30U)
frank_double
路由器刷机 智能路由器
准备工作:登陆恩山论坛搜237去下载刷路由器别人已经备好的各种包目录一、#######开SSH###########1、进小米路由系统设置“启用与智能网关的无线配置同步”为开启、再DHCP为自动配置DNS,最后设置wan口为第一个端口。2、将笔记本电脑与wan1口用网线连接,笔记本进入控制面板-网络管理-无线网卡-右键无线网卡属性,将网络共享给WR30U。3、CMD运行python.exeserv
密码学与网络安全 - 11 密码学Hash函数
shiyivei
# 密码学与网络安全 哈希算法 web安全 安全 Hash函数 消息认证
11密码学Hash函数Hash函数输入长度可变,而输出长度固定合格的Hash函数输出应该均匀分布,看起来随机Hash函数两个要求:1.抗碰撞性(找到两个不同的输入对应相同的输出在计算上不可行),2.单向性(通过Hash值找到输入值在计算上不可行)Hash函数的操作过程:把输入数据的长度填充成固定长度分组的整数倍,填充内容包括原始消息的位长度信息,填充长度信息能够增加攻击者更改数据而要保持hash值
bitcoinjs学习笔记4—p2pkh、p2sh、p2wpkh地址生成
EM-FF
bitcoinjs 比特币 学习 笔记 区块链
BitcoinJS学习笔记4—P2PKH、P2SH、P2WPKH地址生成大纲1.概述目标:学习如何使用BitcoinJS生成三种常见的比特币地址类型:P2PKH(Pay-to-Public-Key-Hash)P2SH(Pay-to-Script-Hash)P2WPKH(Pay-to-Witness-Public-Key-Hash)工具:BitcoinJS库、比特币测试网(Testnet)或回归测试
一文搞懂Python的yield关键字(新手友好)
蜘蛛侠在写码
python python 开发语言
在python中,yield是一个不好理解的概念,Up初学Python时看了一些教程,但还是似懂非懂。今天,Up尝试用通俗易懂的语言说清楚yield的用法和原理。想要更好的理解yield,需要先理解Python的迭代器,墙裂建议先看一下Up上一期的文章:一文搞懂Python迭代器注:本文长期有效,持续迭代完善,建议收藏。提前划重点为什么yield难理解口诀一:调用时不要看成return口诀二:ne
CCS6.2 编译出现 error #10099-D: program will not fit into available memory. 使用哪种类型定义的变量会占用.ebss空间
爱代码的小黄人
C语言学习 c语言 c++
ebss段主要是存放全局变量。cinit段存放全局变量和静态变量的初始化代码。可以通过查看map文件来确定其具体的长度。ebss段放的是数据,需要分配在RAM中。cinit段放的是代码,可以分配在Flash中。两者是两块独立的存储单元,ebss段无法占用cinit的存储空间。出现这样的报错:“…/28335_RAM_lnk.cmd”,line138:error#10099-D:programwil
Python实现三维空间中的RRT避障路径规划算法
C_mony
机械臂 python 算法 机器人
文章目录前言一、算法原理二、代码实现1.定义节点2.碰撞检测3.RRT算法4.完整代码运行结果前言基于快速随机搜索树(Rapidly-exploringRandomTree,RRT)的优化算法,通过对状态空间中的采样点进行碰撞检测,避免了对空间的建模,能够有效地解决高维空间和复杂约束的路径规划问题,在机械臂路径规划与避障中扮演着关键角色。RRT算法通过随机生成的树状结构来探索高维空间,尤其适合于解
PyCharm社区版如何运行Django工程?
计算机软件程序设计
环境搭建 pycharm django sqlite
PyCharm社区版虽然不像专业版那样提供对Django的直接支持,但仍然可以通过一些手动配置来运行Django工程。以下是详细的步骤:步骤1:安装Django确保你的环境中已经安装了Django。如果没有安装,可以通过以下命令安装:pipinstalldjango步骤2:创建或打开Django工程如果你已经有现成的Django工程,可以直接在PyCharm中打开它。点击File->Open...
【Pandas】pandas Series interpolate
liuweidong0802
Pandas Series pandas
#Pandas2.2Series##Computationsdescriptivestats|方法|描述||-|:-------||Series.backfill(*[,axis,inplace,limit,...])|用于填充`Series`中缺失值(NaN)的方法||Series.bfill(*[,axis,inplace,limit,...])|用于填充`Series`中缺失值(NaN)的方
ImportError: cannot import name ‘LlavaLlamaForCausalLM‘ from ‘llava.model‘ (/root/LLaVA/llava/model
Lemon J Lee
python
[Question]ImportError:cannotimportname‘LlavaLlamaForCausalLM’from‘llava.model’(/root/LLaVA/llava/model/init.py)#1208文章参考链接https://github.com/haotian-liu/LLaVA/issues/1208基本上还是flash-attn和环境不适配的原因,最初我的c
SQL-o1:一种用于Text-to-SQL的自奖励启发式动态搜索方法
数之何
人工智能 ai 语言模型 sql
1引言文本到SQL(Text2SQL)任务旨在将自然语言查询转换为可执行的SQL查询。得益于大规模语言模型(LLMs)的应用,该领域取得了显著进展。然而,模型的可扩展性、生成空间的限制以及SQL生成过程中的连贯性问题仍然存在。为了解决这些问题,我们提出了SQL-o1,一种基于自奖励的启发式搜索方法,旨在增强LLMs在SQL查询生成中的推理能力。SQL-o1结合了蒙特卡洛树搜索(MCTS)进行过程级
在 Ubuntu 下通过 Docker 部署 Nginx 服务器
shelby_loo
服务器 ubuntu docker
嘿,朋友们,今天我们来聊聊如何在Ubuntu上通过Docker部署Nginx服务器。这是个简单又强大的组合,能让你快速搭建一个高效的web服务器。Docker和Nginx简介Docker是一个开源平台,用于自动化应用程序的部署、扩展和管理。它通过容器技术将应用程序及其所有依赖项打包在一起,确保在任何环境中都能一致运行。Nginx是一款高性能的HTTP和反向代理服务器,也是一个IMAP/POP3代理
在Ubuntu 上的通过Docker部署Nginx服务器指南
shelby_loo
服务器 ubuntu docker
今天在三丰云免费服务器上进行了部署测试,这里得提一句,三丰云免费服务器真的不错!配置虽不高,但性能稳定,绝对物超所值。不得不赞叹这款免费云服务器。Docker和Nginx简介Docker是一个轻量级的容器化平台,而Nginx是一款高性能的Web服务器和反向代理服务器。在Ubuntu上通过Docker部署Nginx服务器安装Docker:sudoaptupdatesudoaptinstalldock
在 Ubuntu 下通过 Docker 部署 Caddy 和 PHP-FPM 服务器
reddingtons
服务器 ubuntu docker
引言大家好,今天我们要聊的主题是如何在Ubuntu上通过Docker部署Caddy和PHP-FPM服务器。Caddy是一个现代化的web服务器,支持HTTPS,配置简单;而PHP-FPM是PHP的FastCGI进程管理器,能够高效处理PHP请求。二者结合,简直是开发者的福音。Docker、Caddy和PHP-FPM简介Docker是一个开源的容器化平台,允许开发者轻松打包、分发和运行应用。通过Do
5 个冷门的 Adobe 系列软件小技巧,助你提升工作效率
reddingtons
adobe
作为一名学生,我非常幸运地可以使用学校提供的教育邮箱,免费获得Adobe全系列软件的使用权限。这意味着我能够使用所有Adobe软件,包括一些收费软件。通过学校的学生邮箱,我发现这是目前最稳定、低成本使用Adobe全家桶的方法。故接下来的技巧将涉及一些收费软件,可能会对免费用户不太适用。1.AdobePhotoshop:快速选择工具的高效使用在Photoshop中,很多人只用“套索工具”或“魔棒工具
Adobe设计5个冷门技巧分享
reddingtons
adobe
作为一名学生,我通过学校的学生邮箱获得了免费使用Adobe全系列软件的权限,包括Photoshop、Illustrator、PremierePro等热门软件。这让我能够充分探索这些强大的创作工具,提升学习和创作效率。由于我可以使用所有Adobe收费功能,因此以下分享的技巧可能涉及收费功能,部分免费用户可能无法使用,但对于拥有完整软件权限的用户来说,这些技巧将极大提升工作效率。1.Photoshop
在 Ubuntu 上通過 Docker 部署 pSQL 伺服器
reddingtons
ubuntu docker linux
引言Yo,各位极客们,今天Hitch我将手把手教你们如何在Ubuntu系统上通过Docker部署pSQL服务器。这可是构建现代应用的基础设施,能帮你们快速搭建pSQL数据库环境,方便开发和测试。废话不多说,直接上干货!Docker和pSQL简介DockerDocker就像一个“集装箱”,把你的应用和依赖都装进去,然后可以在任何支持Docker的机器上运行。它轻量级、可移植,简直是开发部署的利器!p
钢琴乐理:调性和音阶
red_redemption
entirely spontaneous 音乐 钢琴 调性 音阶
在每个重复的不同音域上的12个音,都有着相同相同的调性吗是的,在钢琴上每个八度范围内的**12个音**(C、C#、D、D#、E、F、F#、G、G#、A、A#、B),无论它们处于哪个音域,**调性都是相同的**。这就是八度的概念:同一个音名的音符在不同音域中虽然音高不同,但它们在调性中扮演的角色是相同的。具体来说:###1.**相同的音符在不同音域中的调性功能相同**每个音符在不同的八度范围内都保持
NAT和内网穿透
物与我皆无尽也
计算机网络 网络 服务器 运维 计算机网络 java
NAT(NetworkAddressTranslation,网络地址转换)是一种广泛应用于计算机网络的技术,其主要目的是为了解决IPv4地址空间的短缺问题,并且增强网络安全。NAT技术允许一个私有网络内的多个设备共享一个或几个全局唯一的公共IP地址访问互联网。1地址划分在A、B、C分类地址,实际上有分公有IP地址和私有IP地址。2NAT当一个私有网络中的设备需要访问互联网时,NAT设备(通常是路由
LeetCode热题100——图论
Ghost_firejef
LeetCode热题100 leetcode 图论 算法
文章目录1.岛屿数量1.1题目链接1.2题目描述1.3解题代码1.4解题思路2、腐烂的橘子2.1题目链接2.2题目描述2.3解题代码2.4解题思路3.课程表3.1题目链接3.2题目描述3.3解题代码3.4解题思路4.实现Trie(前缀树)4.1题目链接4.2题目描述4.3解题代码4.4解题思路1.岛屿数量1.1题目链接点击跳转到题目位置1.2题目描述给你一个由‘1’(陆地)和‘0’(水)组成的的二
ubuntu下使用docker部署nginx
神奇的路人A
docker docker
前面配置与命令有什么问题的朋友可以参考以下两个链接ubuntu下安装docker,并配置镜像ubuntu下docker常用命令,及容器创建1.进入root模式$sudosu2.下载Nginx镜像$dockerpullnginx3.创建nginx容器$dockerrun-d--namenginx01-p3344:80nginx#--name[你要设置的容器名字]#-p主机端口:容器端口这里需要开启u
从基础到实践(七):二极管选型注意事项
硬件进化论
json
一、应用需求的深度分析电路拓扑与二极管角色整流电路:工频整流(如桥式整流)需关注浪涌电流(如电容输入滤波导致的电流冲击)。续流二极管(在电感负载中):需快速关断(防止反向恢复电流损坏开关器件,如MOSFET)。电平转换:小信号二极管(如1N4148)需低结电容和快速响应。极端工况考虑汽车电子:需满足AEC-Q101认证(耐高温、抗振动、长寿命)。工业环境:抗电磁干扰(EMI)能力,如TVS二极管抑
数据结构--二叉树OJ习题2
晴晴学语言
数据结构OJ习题 二叉树 leetcode 数据结构
1另一个树的子树1.1题目介绍给定两个非空二叉树s和t,检验s中是否包含和t具有相同结构和节点值的子树。s的一个子树包括s的一个节点和这个节点的所有子孙。s也可以看做它自身的一棵子树。示例:给定的树s:给定的树t:返回true,因为t与s的一个子树拥有相同的结构和节点值。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/subtree-of-an
单例模式---是 Spring 容器的核心特性之一
飞升不如收破烂~
spring java 后端
1.最近面试让手写一个单例;我一直知道单例;但是一直很困惑;工作中也没怎么用过;为什么面试总问;今天我才知道思考出来;单例是spring容器的核心特性;很多知识我只知道是什么;但是没有建立起来连接;今天就将单例和Spring容器就建立了密不可分的连接目录spring是怎么保证单例的1.IoC容器的缓存机制2.线程安全机制3.生命周期管理4.实例化过程示例代码注意事项在线程池中调用单例bean使用的
[密码学实战]Java实现国密(SM2)密钥协商详解:原理、代码与实践
曼岛_
国密实战 密码学 java 开发语言
一、代码运行结果二、国密算法与密钥协商背景2.1什么是国密算法?国密算法是由中国国家密码管理局制定的商用密码标准,包括:SM2:椭圆曲线公钥密码算法(非对称加密/签名/密钥协商)SM3:密码杂凑算法(哈希)SM4:分组密码算法(对称加密)2.2密钥协商的意义在安全通信中,双方需要在不安全的信道上协商出相同的会话密钥,用于后续对称加密。SM2密钥协商协议解决了以下问题:避免预先共享密钥抵抗中间人攻击
ReactNative进阶(三十):Component、Pu
愤怒的小青春
java
题解|#奶牛喂养时间#题目考察的知识点:贪心之合并数组题目解答方法的文字分析:先将intervals进行排序,定义一个变量prev,然后遍历,如果prev[1]>=interv题解|#牛牛和罗马数字智力游戏#题目考察的知识点考察哈希表的应用题目解答方法的文字分析将对应关系存入哈希表中之后开始循环拆分每一个罗马字母,将结果保存并减去哈希表中对应的值。最后的结果和lim题解|#直线上的牛#import
《国密算法开发实战:从合规落地到性能优化》
曼岛_
《密码学实战》 密码学 java
前言随着信息技术的飞速发展,信息安全已成为全球关注的焦点。在数字化时代,数据的保密性、完整性和可用性直接关系到国家、企业和个人的利益。为了保障信息安全,密码技术作为核心支撑,发挥着至关重要的作用。国密算法,即国家密码算法,是我国自主设计和推广的一系列密码算法,旨在满足国内信息安全需求,提升我国信息安全的自主可控能力。国密算法的背景国密算法的研发与推广是我国信息安全战略的重要组成部分。长期以来,国际
2024 年综合网络安全审计清单
网络研究观
网络研究观 网络 安全 审计 清单 分析
在网络威胁不断演变的时代,确保组织数据和系统的安全至关重要。全面的网络安全审核清单可以在实现这一目标方面发挥关键作用。但是,什么才是有效的网络安全审核清单呢?以及如何对其进行定制以满足您组织的独特需求?了解网络安全审核清单的重要性、前20个基本条目以及如何对其进行自定义以满足您组织的特定要求。关键点了解网络安全审核清单的重要性并探索其中最重要的20个条目。采用主动风险管理、资产和数据管理策略、安全
eclipse maven
IXHONG
eclipse
eclipse中使用maven插件的时候,运行run as maven build的时候报错
-Dmaven.multiModuleProjectDirectory system propery is not set. Check $M2_HOME environment variable and mvn script match.
可以设一个环境变量M2_HOME指
timer cancel方法的一个小实例
alleni123
多线程 timer
package com.lj.timer;
import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;
public class MyTimer extends TimerTask
{
private int a;
private Timer timer;
pub
MySQL数据库在Linux下的安装
ducklsl
mysql
1.建好一个专门放置MySQL的目录
/mysql/db数据库目录
/mysql/data数据库数据文件目录
2.配置用户,添加专门的MySQL管理用户
>groupadd mysql ----添加用户组
>useradd -g mysql mysql ----在mysql用户组中添加一个mysql用户
3.配置,生成并安装MySQL
>cmake -D
spring------>>cvc-elt.1: Cannot find the declaration of element
Array_06
spring bean
将--------
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3
maven发布第三方jar的一些问题
cugfy
maven
maven中发布 第三方jar到nexus仓库使用的是 deploy:deploy-file命令
有许多参数,具体可查看
http://maven.apache.org/plugins/maven-deploy-plugin/deploy-file-mojo.html
以下是一个例子:
mvn deploy:deploy-file -DgroupId=xpp3
MYSQL下载及安装
357029540
mysql
好久没有去安装过MYSQL,今天自己在安装完MYSQL过后用navicat for mysql去厕测试链接的时候出现了10061的问题,因为的的MYSQL是最新版本为5.6.24,所以下载的文件夹里没有my.ini文件,所以在网上找了很多方法还是没有找到怎么解决问题,最后看到了一篇百度经验里有这个的介绍,按照其步骤也完成了安装,在这里给大家分享下这个链接的地址
ios TableView cell的布局
张亚雄
tableview
cell.imageView.image = [UIImage imageNamed:[imageArray objectAtIndex:[indexPath row]]];
CGSize itemSize = CGSizeMake(60, 50);
&nbs
Java编码转义
adminjun
java 编码转义
import java.io.UnsupportedEncodingException;
/**
* 转换字符串的编码
*/
public class ChangeCharset {
/** 7位ASCII字符,也叫作ISO646-US、Unicode字符集的基本拉丁块 */
public static final Strin
Tomcat 配置和spring
aijuans
spring
简介
Tomcat启动时,先找系统变量CATALINA_BASE,如果没有,则找CATALINA_HOME。然后找这个变量所指的目录下的conf文件夹,从中读取配置文件。最重要的配置文件:server.xml 。要配置tomcat,基本上了解server.xml,context.xml和web.xml。
Server.xml -- tomcat主
Java打印当前目录下的所有子目录和文件
ayaoxinchao
递归 File
其实这个没啥技术含量,大湿们不要操笑哦,只是做一个简单的记录,简单用了一下递归算法。
import java.io.File;
/**
* @author Perlin
* @date 2014-6-30
*/
public class PrintDirectory {
public static void printDirectory(File f
linux安装mysql出现libs报冲突解决
BigBird2012
linux
linux安装mysql出现libs报冲突解决
安装mysql出现
file /usr/share/mysql/ukrainian/errmsg.sys from install of MySQL-server-5.5.33-1.linux2.6.i386 conflicts with file from package mysql-libs-5.1.61-4.el6.i686
jedis连接池使用实例
bijian1013
redis jedis连接池 jedis
实例代码:
package com.bijian.study;
import java.util.ArrayList;
import java.util.List;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoo
关于朋友
bingyingao
朋友 兴趣爱好 维持
成为朋友的必要条件:
志相同,道不合,可以成为朋友。譬如马云、周星驰一个是商人,一个是影星,可谓道不同,但都很有梦想,都要在各自领域里做到最好,当他们遇到一起,互相欣赏,可以畅谈两个小时。
志不同,道相合,也可以成为朋友。譬如有时候看到两个一个成绩很好每次考试争做第一,一个成绩很差的同学是好朋友。他们志向不相同,但他
【Spark七十九】Spark RDD API一
bit1129
spark
aggregate
package spark.examples.rddapi
import org.apache.spark.{SparkConf, SparkContext}
//测试RDD的aggregate方法
object AggregateTest {
def main(args: Array[String]) {
val conf = new Spar
ktap 0.1 released
bookjovi
kernel tracing
Dear,
I'm pleased to announce that ktap release v0.1, this is the first official
release of ktap project, it is expected that this release is not fully
functional or very stable and we welcome bu
能保存Properties文件注释的Properties工具类
BrokenDreams
properties
今天遇到一个小需求:由于java.util.Properties读取属性文件时会忽略注释,当写回去的时候,注释都没了。恰好一个项目中的配置文件会在部署后被某个Java程序修改一下,但修改了之后注释全没了,可能会给以后的参数调整带来困难。所以要解决这个问题。
&nb
读《研磨设计模式》-代码笔记-外观模式-Facade
bylijinnan
java 设计模式
声明: 本文只为方便我个人查阅和理解,详细的分析以及源代码请移步 原作者的博客http://chjavach.iteye.com/
/*
* 百度百科的定义:
* Facade(外观)模式为子系统中的各类(或结构与方法)提供一个简明一致的界面,
* 隐藏子系统的复杂性,使子系统更加容易使用。他是为子系统中的一组接口所提供的一个一致的界面
*
* 可简单地
After Effects教程收集
cherishLC
After Effects
1、中文入门
http://study.163.com/course/courseMain.htm?courseId=730009
2、videocopilot英文入门教程(中文字幕)
http://www.youku.com/playlist_show/id_17893193.html
英文原址:
http://www.videocopilot.net/basic/
素
Linux Apache 安装过程
crabdave
apache
Linux Apache 安装过程
下载新版本:
apr-1.4.2.tar.gz(下载网站:http://apr.apache.org/download.cgi)
apr-util-1.3.9.tar.gz(下载网站:http://apr.apache.org/download.cgi)
httpd-2.2.15.tar.gz(下载网站:http://httpd.apac
Shell学习 之 变量赋值和引用
daizj
shell 变量引用 赋值
本文转自:http://www.cnblogs.com/papam/articles/1548679.html
Shell编程中,使用变量无需事先声明,同时变量名的命名须遵循如下规则:
首个字符必须为字母(a-z,A-Z)
中间不能有空格,可以使用下划线(_)
不能使用标点符号
不能使用bash里的关键字(可用help命令查看保留关键字)
需要给变量赋值时,可以这么写:
Java SE 第一讲(Java SE入门、JDK的下载与安装、第一个Java程序、Java程序的编译与执行)
dcj3sjt126com
java jdk
Java SE 第一讲:
Java SE:Java Standard Edition
Java ME: Java Mobile Edition
Java EE:Java Enterprise Edition
Java是由Sun公司推出的(今年初被Oracle公司收购)。
收购价格:74亿美金
J2SE、J2ME、J2EE
JDK:Java Development
YII给用户登录加上验证码
dcj3sjt126com
yii
1、在SiteController中添加如下代码:
/**
* Declares class-based actions.
*/
public function actions() {
return array(
// captcha action renders the CAPTCHA image displ
Lucene使用说明
dyy_gusi
Lucene search 分词器
Lucene使用说明
1、lucene简介
1.1、什么是lucene
Lucene是一个全文搜索框架,而不是应用产品。因此它并不像baidu或者googleDesktop那种拿来就能用,它只是提供了一种工具让你能实现这些产品和功能。
1.2、lucene能做什么
要回答这个问题,先要了解lucene的本质。实际
学习编程并不难,做到以下几点即可!
gcq511120594
数据结构 编程 算法
不论你是想自己设计游戏,还是开发iPhone或安卓手机上的应用,还是仅仅为了娱乐,学习编程语言都是一条必经之路。编程语言种类繁多,用途各 异,然而一旦掌握其中之一,其他的也就迎刃而解。作为初学者,你可能要先从Java或HTML开始学,一旦掌握了一门编程语言,你就发挥无穷的想象,开发 各种神奇的软件啦。
1、确定目标
学习编程语言既充满乐趣,又充满挑战。有些花费多年时间学习一门编程语言的大学生到
Java面试十问之三:Java与C++内存回收机制的差别
HNUlanwei
java C++ finalize() 堆栈 内存回收
大家知道, Java 除了那 8 种基本类型以外,其他都是对象类型(又称为引用类型)的数据。 JVM 会把程序创建的对象存放在堆空间中,那什么又是堆空间呢?其实,堆( Heap)是一个运行时的数据存储区,从它可以分配大小各异的空间。一般,运行时的数据存储区有堆( Heap)和堆栈( Stack),所以要先看它们里面可以分配哪些类型的对象实体,然后才知道如何均衡使用这两种存储区。一般来说,栈中存放的
第二章 Nginx+Lua开发入门
jinnianshilongnian
nginx lua
Nginx入门
本文目的是学习Nginx+Lua开发,对于Nginx基本知识可以参考如下文章:
nginx启动、关闭、重启
http://www.cnblogs.com/derekchen/archive/2011/02/17/1957209.html
agentzh 的 Nginx 教程
http://openresty.org/download/agentzh-nginx-tutor
MongoDB windows安装 基本命令
liyonghui160com
windows安装
安装目录:
D:\MongoDB\
新建目录
D:\MongoDB\data\db
4.启动进城:
cd D:\MongoDB\bin
mongod -dbpath D:\MongoDB\data\db
&n
Linux下通过源码编译安装程序
pda158
linux
一、程序的组成部分 Linux下程序大都是由以下几部分组成: 二进制文件:也就是可以运行的程序文件 库文件:就是通常我们见到的lib目录下的文件 配置文件:这个不必多说,都知道 帮助文档:通常是我们在linux下用man命令查看的命令的文档
二、linux下程序的存放目录 linux程序的存放目录大致有三个地方: /etc, /b
WEB开发编程的职业生涯4个阶段
shw3588
编程 Web 工作 生活
觉得自己什么都会
2007年从学校毕业,凭借自己原创的ASP毕业设计,以为自己很厉害似的,信心满满去东莞找工作,找面试成功率确实很高,只是工资不高,但依旧无法磨灭那过分的自信,那时候什么考勤系统、什么OA系统、什么ERP,什么都觉得有信心,这样的生涯大概持续了约一年。
根本不是自己想的那样
2008年开始接触很多工作相关的东西,发现太多东西自己根本不会,都需要去学,不管是asp还是js,
遭遇jsonp同域下变作post请求的坑
vb2005xu
jsonp 同域post
今天迁移一个站点时遇到一个坑爹问题,同一个jsonp接口在跨域时都能调用成功,但是在同域下调用虽然成功,但是数据却有问题. 此处贴出我的后端代码片段
$mi_id = htmlspecialchars(trim($_GET['mi_id ']));
$mi_cv = htmlspecialchars(trim($_GET['mi_cv ']));
贴出我前端代码片段:
$.aj