前言
在Vue
中,万物皆组件,学习组件乃是Vue
的根基所在,假如一个页面相当于一张图,那么组件就是一个小小的拼图,通过组件可以拼出各式各样的图,这也是Vue
的魅力所在。
正文
基本示例
Vue.component('button-counter',{
data() {
return {
count: 0
}
},
template: 'You clicked me {{ count }} times. '
})
上面我们创建了一个全局的名字为button-couter
的组件,当我们要在根实例(app.vue
)中使用它的时候,直接把这个组件作为自定义的标签来使用。
局部注册
上面演示了如何全局注册一个组件,但是组件不能全部都全局注册,会造成代码的冗余,所以大部分的组件需要局部注册。
如何局部注册呢,首先把一个组件作为一个单个的文件放在components
文件夹下,在文件中将组件export
,然后在实例中import
它就实现了组件的局部注册。
// 组件文件的基本格式
// components/buttonCounter.vue
// 模板内容
下面我们在实例中调用它
import buttonCounter from './component/buttonCounter'
// 引入组件,组件的名字也可以随意定义(假如定一个abc),下面使用它的时候就用
基础组件的自动全局化注册
有一些组件特别小,但是复用率特别高,必须输入框按钮之类的,这些组件就必须全局注册,但是组件又特别多,一个个注册显得代码特别臃肿,所以下面就用一段代码来实现自动注册。
假如我们把基础组件放在components
文件夹下,组件的文件名都以Base开头
,比如BaseInput
,BaseButton
。首先我们引入符合Base
开头匹配规则的所有组件,这里要用到require.context
方法,然后用文件的名字来注册全局组件。
import Vue from 'vue'
import upperFirst from 'lodash/upperFirst'
import camelCase from 'lodash/camelCase'
const requireComponent = require.context(
'./components', //根目录
false, // 是否查询子目录
/Base[A-Z]\w+\.(vue|js)$/ //匹配规则
)
requireComponent.keys().forEach(fileName => {
const componentConfig = requireComponent(fileName)
const componentName = upperFirst(
camelCase(
fileName.replace(/^\.\/(.*)\.\w+$/, '$1')
)
)
Vue.component(
componentName,
componentConfig.default || componentConfig
// 组件中 export default 和 export
)
})
上面代码中upperFirst
和camelCase
都是lodash库里面的方法。
组件里面也是有computed
,methods
,watch
和生命周期钩子
的,唯独没有el
,这是根实例独有的
那么data
为何是个函数而不是对象呢,这是因为组件是可以复用的,每次使用就创建一个新的实例,把data
里面的属性作为函数的返回值的话,它就实现了每个实例的属性的私有化,跟闭包一样原理。
通过prop
向组件传递数据
Vue.component('blog-post',{
props: ['title','name'],
template: '{{ name }}{{ title }} '
})
我们创建了一个blog-post
组件,并用prop
接收了2个参数title
和name
,下面在根实例中往组件中注入值
上面是传了几个单个值,假如传的值比较多,或者传的值是个数组的时候就要换一个方式
Vue.component('blog-post',{
props: ['post'],
template: '{{ post.name }}{{ post.title }} '
})
根实例中传值
当父级传给子组件值时候,子组件改变这个值也会同时更改父级的值,这样就会发生混乱,所以当子组件有改变值的情况下,最好将父级传来的值赋给自己的属性
props: ['name'],
data() {
return {
myName: this.name
}
}
组件向父级传值
这里要用到一个Vue
的内置方法$emit
,这个函数就相当于js
中的trigger()
,就是在组件中可以触发实例中绑定的事件,而且这个方法可以传递参数。
Vue.component('welcome-button', {
template: `
Click me to be welcomed
`
})
组件中触发welcome
事件并传了个参数1,那么在实例中绑定这个事件
new Vue({
data: {
couter: 0
},
methods: {
sayHi(argsCouter) {
// ..
}
}
})
在实例中可以使用$event
获取$emit
传递的参数,如果$emit
触发的事件引用的是另外一个事件,那么$emit
的参数将传给它引用的事件(argsCouter
即$emit
传递的参数)
在组件中使用v-model
这是一个v-model
的使用场景,那么它的本质其实是
那么在组件上使用v-model
就相当于
等同于
为了让它工作,在组件中首先得把value
绑在prop
上,然后它得触发input
事件
Vue.component('custom-input',{
prps: ['value'],
template: `
插槽
有时候我们在调用组件的时候,组件元素中间还有一些其他的东西,一般情况下,如果不处理这些东西会被舍弃的,但是如果加上
元素,这些东西就会被渲染在组件之中
这是一个链接
那么在组件中,如果要使用这是一个链接
,就需要加
元素
//这是一个链接
组件元素的闭合标签中间内容就是插槽
,在插槽可以加html
模板,甚至可以加组件
具名插槽
上面的只是一个插槽,那它默认渲染的就是组件中的
,但是当有多个插槽,并且插槽还有指定位置的时候,就必须要给
加上name
属性
那么在父级提供插槽内容的时候,必须加一个元素包裹
// 这里的内容渲染header
// 这里的内容没有命名,所以渲染
// 这里的内容渲染footer
卡槽也可以有默认内容的,默认内容
,当父级有传给子组件内容时,会覆盖默认内容
动态组件
前端开发中经常会出现选项卡之类的功能,实现它就需要不同的组件切来切去,这个功能可以通过Vue
的
元素加一个特殊属性is
来实现
当点击选项卡的nav
时,只需要把currentTab
指向将要切换的组件名即可
但是这样实现有个问题,就是每次切换都会创建一个组件的实例,我们更多其实是希望它第一次创建以后缓存下来,那么就需要keep-alive
元素
异步组件
有时候我们加载组件的时候并不希望它一开始就加载进来,而是调用它的时候再加载进来,例如在VueRouter
里面,当我们跳转到路由后再去加载它对应的组件。
components: {
'my-component': () => import('./my-component')
}
// 或者
component(resolve){
require(['@/index.vue'],resolve)
}
使用异步组件的时候,返回的都是一个promise
函数
结束语
组件相关的东西还有很多很多,比如官网的处理边界情况,只不过应用场景不是很多,所以暂时不深入研究。 就这样,收工。。。
你可能感兴趣的:(Vue学习笔记---初识组件)
Zustand selector 发生 infinate loops的原因以及解决
夫琅禾费米线
javascript react.js ecmascript
Zustandselector发生infinateloops做zustandtutorialproject的时候,使用选择器方法引入store,出现Maximumupdatedepthexceeded,也就是组件一直重新渲染,改成直接使用store就没有不会出现这个问题。如下://const[xIsNext,setXIsNext]=useGameStore((state)=>[//state.xI
uniApp中使用小程序XR-Frame创建3D场景(2)加载模型
Ltanke
uni-app xr
上篇文章讲述了如何将XR-Frame作为子组件集成到uniApp中使用,只完成了简单的环境搭建,这篇文章讲解如何加载3D模型。1加入模型加载标签在XR-Frame框架中,加载资源都是在wxml文件的标签中实现的。下面是wxml中完整的代码index.wxml<xr-lighttype="spot"position="333"color="111"range="3"intensity&
微信小程序入门与实战
qq_31535517
文章列表页的实现构建静态列表数据读取数据将数据存储在内存中构建工具类获取内存数据在对应页面调取缓存数据定义模板的item组件item.wxml使用item.wxml模板定义模板的item样式item.wxss使用item.wxss样式构建静态列表数据新建data.js文件模拟数据导出模块数据属性解析module.exports将数据导出varpostList=[{date:"Jan282017",
(一)React 基础
小刀肉0812
React react.js 前端 前端框架
专栏持续更新中~~目录目录一、React介绍1.1什么是React1.2React的特点1.3ReactVSVueVSAngular1.基本概述2.语法和核心概念对比2.1组件语法2.1.1React组件2.1.2Vue组件2.1.3Angular组件2.2数据绑定2.2.1React(单向数据流)2.2.2Vue(双向数据绑定)2.2.3Angular(双向数据绑定)2.3事件绑定3.性能对比4
六、【鸿蒙 NEXT】如何实现图片下载,并保存本地
前言:可能很多应用都会涉及网络图片的下载,本节将介绍下,如何在纯鸿蒙中实现图片的下载,并将图片保存到本地目录,或者直接保存到相册中。**本节主要涉及以下几点:1、下载图片流2、将图片流转为Image组件能展示的对象PixelMap3、将图片保存到本地路径,路径由用户选择4、直接将图片保存到相册**一、下载图片流import{http}from'@kit.NetworkKit'exportclass
flink重启策略
24k小善
flink 大数据 java
一、重启策略核心意义Flink重启策略(RestartStrategy)是容错机制的核心组件,用于定义作业在发生故障时如何恢复执行。其核心目标为:最小化停机时间:快速恢复数据处理,降低业务影响。平衡资源消耗:避免无限重启导致集群资源耗尽。状态一致性保障:与Checkpoint机制协同,确保Exactly-Once语义。二、四大重启策略详解1.固定延迟重启(FixedDelayRestart)机制:
非GUI模式执行jemter压测
十叶知秋
jmeter性能测试从0到1 性能测试 jmeter
https://www.cnblogs.com/shaohuang/p/17508011.html准备JMeter脚本-首先,在GUI模式下创建并调试好你的JMeter测试计划。测试计划应包含线程组、取样器(如HTTP请求)、监听器等组件。例如,如果你要对一个Web应用进行压力测试,在HTTP请求取样器中设置好请求的URL、方法(GET/POST等)、请求参数等内容。-将测试计划保存为`.jmx`
常用的分布式 ID 设计方案
梦城忆
分布式
文章目录1.UUID2.数据库自增ID3.雪花算法4.Redis生成ID5.美团Leaf1.UUID原理:UUID是由数字和字母组成的128位标识符,通过特定算法随机生成,包括时间戳、计算机网卡地址等信息。常见的版本有版本1(基于时间戳和MAC地址)、版本4(纯随机数)等。优点:生成简单,本地生成,不需要依赖额外的组件或服务,能有效减少网络开销。全球唯一,基本能保证在任何场景下不会重复。缺点:长度
Vue打印组件
_AndyLau
vue.js
Vue打印组件vue-print-nb是一个用于Vue.js的轻量级打印插件,它允许你轻松地将页面或特定元素转换为可打印格式,并提供了额外的功能如预览和生成PDF。下面是使用vue-print-nb的步骤:安装首先,你需要通过npm或yarn来安装vue-print-nb。bash深色版本npminstallvue-print-nb--save#或者yarnaddvue-print-nb引入并注册
构建一个支持精度、范围和负数的-Vue-数字输入框
xChive
Vue 前端 vue.js 前端 javascript 自定义组件
分析并实现一个支持精度、范围和负数控制的数字输入框。背景在很多业务中,我们经常需要使用数字输入框,通常这些输入框会涉及到数字校验,比如限制输入范围、设置小数精度、是否允许负数等。每次写表单时,都需要重复定义这些校验规则,这不仅繁琐,而且无法满足灵活配置的需求。因此,我想到了能否将这些功能抽象成一个通用的、可复用的组件,避免每次都写重复的逻辑。思路直接限制输入,处理好输入的内容,就可以避免复杂的校验
功能优化的解耦点
wangYH.air
经验分享 笔记
1.基于稳定性来设计解耦点和功能边界;2.功能边界要依赖明显的硬件边界、稳定的算法边界;3.保持接口文档,无明显优势情况下,不能删除接口;是否增加接口评审;组件接口评审;全体评审;可试行一次;4.功能优化要用明显的优势;如可扩展性、flash占用、负载率、可维护性;
Android广播机制简析
漆黑迷夜
Android应用开发
1.广播机制简介Android中的广播主要是用来在不同的组件间传递消息用的。app能够接收来自Android系统或者其他app所发送的广播。也能像其发送系统提供的或者自定义的广播。例如,Android系统启动时就会发送一个开机广播,如果想要在开机是处理一些逻辑,可以监听该广播。应用场景如下:同一个app内部的同一个组件内的消息通信(单个或多个线程);同一个app内部的不同组件之间的消息通信(单个或
vxe-table 复杂渲染虚拟滚动白屏的官方解决方案
vue.js
官网文档:https://vxetable.cn使用v4.7+与3.9+大幅提升虚拟滚动渲染性能,虚拟滚动白屏是由于单元格的渲染比较复杂,耗时比较久,渲染跟不上导致滚动期间可能会出现空白。建议是避免在单元格中使用重度的组件,同步执行耗时太久的组件。接下测一下看看官方的虚拟滚动,测一下渲染。加载性能以下是试用4.7+的版本做了测试。使用了毕竟复杂的左右冻结列以及100列、和复杂一些渲染。\5万行在3
RAG组件:向量数据库(Milvus)
CITY_OF_MO_GY
milvus 人工智能
在当前大模型盛行的时代,大模型的垂类微调、优化成为产业落地、行业应用的关键;RAG技术应运而生,主要解决大模型对专业知识、实效性知识欠缺的问题;RAG的核心工作逻辑是将专业知识、实效知识等大模型欠缺的知识进行收集、打包、保存为一个知识库,在用到该部分知识的时候,可以通过检索关键信息,将知识库內对应知识片段进行返回,再整合为一个结构化的prompt(提示词)输入给大模型,这样以来,大模型就可以结合这
客户案例 | Ansys与Concepts NREC联合推出面向叶轮机械设计和分析的自动化工作流程
ueotek
光学 Ansys 光学软件 自动化 运维 Ansys 光学
Ansys拓展与ConceptsNREC的合作关系,通过CFD分析软件与叶片设计软件的集成,实现端到端工作流程,并加快产品上市进程主要亮点双方现在可以在ConceptsNREC的AxCent®3D叶轮机械组件设计中运行面向叶轮机械应用的AnsysCFX®计算流体力学软件该合作使设计人员能够以更高的预测准确性快速评估机器性能,从而缩短设计周期,并提高压缩机、涡轮机、泵、风扇和涡轮增压器等应用的性能近
Django模型数据新增:详解两种方式
jay丿
django 数据库 sqlite
Django模型数据新增:详解两种方式在Django框架中,数据模型(Model)是应用的核心组件,它定义了应用的数据结构。向数据库添加新记录是Django开发中的常见操作。本文将详细介绍两种在Django中新增数据的方式:使用模型的save()方法和使用管理器(Manager)的create()方法。方式一:使用模型的save()方法步骤概述:导入模型:首先,需要从应用的models.py文件中
react项目中使用react-router-dom实现路由集中管理和跳转
Beiyux
React node.js react.js javascript
前言在react后台管理系统中使用router相关插件完成路由的集中管理和跳转,在这里记录一下实现过程下载react-router-domcnpmi-Dreact-router-dom在nav组件中去写功能代码//nav的index.js中import{Link}from'react-router-dom'{item.title}
vue2中使用Animate.css动画插件
T-shmily
前端 vue.js 动画
①安装Animate官网npminstallanimate.css--saveyarnaddanimate.css或者直接下载②引入在main.js中importanimatedfrom"animate.css";Vue.use(animated)或import'animate.css';也可以直接引入在需要用动画的组件中import'animate.css'③使用vue官网vue官网Transi
go语言数据类型
skyQAQLinux
golang 开发语言
一.Go语言有四大显著特点:高效性:编译与运行效率高。并发性:原生支持并发编程。简洁性:编程风格简洁直接,代码可读性与可维护性高。跨平台性:程序能在Windows、Linux、MacOS等多系统运行。二.go的包:package1.main:主函数2.fmt:输出#fmt.Println()3.rand:随机数rand.Intn(n)#生成0-n之间的随机数三.go的工具链组件:import1.g
React项目开发过程中需要注意避免re-render——React性能优化方案
winne雪
React 前端性能优化 React 性能优化 useMemo memo react hook
前言下面相关测试例子我都写在了仓库中,可以直接拿来调试。首先我们要知道哪些方法会触发react组件的重新渲染(默认情况下)?1、setState方法被调用(hook中是useState中的setXXXX方法被调用)组件就会触发render,除了设置state为null的情况不会触发render。注意注意!!上面说的是方法被调用就会re-render,而不指的是state数据发生改变才会re-ren
大白话react第十三章高阶 React 组件开发和React 状态管理进阶等
IT木昜
大白话react react.js javascript 前端
大白话react第十三章1.高阶React组件开发白话解释:咱们之前做的组件就像普通的积木,而高阶组件呢,就像是能把普通积木重新组合、改造的超级积木盒。它能接收一个组件作为参数,然后返回一个新的组件,能帮我们复用代码、增强组件功能。代码示例://定义一个高阶组件,它接收一个组件作为参数//这个高阶组件的作用是给传入的组件添加一个title属性functionwithTitle(WrappedCom
Openresty最佳案例 | 第9篇:Openresty实现的网关权限控制
公众号:方志朋
数据库 jwt shiro web linux
简介采用openresty开发出的api网关有很多,比如比较流行的kong、orange等。这些API网关通过提供插件的形式,提供了非常多的功能。这些组件化的功能往往能够满足大部分的需求,如果要想达到特定场景的需求,可能需要二次开发,比如RBAC权限系统。本小节通过整合前面的知识点,来构建一个RBAC权限认证系统。技术栈本小节采用了以下的技术栈:Openresty(lua+nginx)mysqlr
影院购票系统(二)——uni-app移动应用开发
阿常11
uni-app移动应用开发 uni-app javascript 开发语言
这一篇讲解系统的逻辑代码部分,下面是ai的讲解,也可以直接跳到代码部分进行浏览。一、整体功能概述这个Vue组件构建了一个完整的影院座位选择系统,涵盖从座位数据初始化、视图渲染到交互处理以及业务逻辑的整个流程。它遵循响应式编程模式,数据的变化能够及时反映在视图上,反之亦然。二、核心数据结构剖析seatData二维数组组件利用Vue的响应式数据模型,定义了seatData这个二维数组,用来表示9x14
react精简面试题
懒人村杂货铺
react.js 前端 前端框架
一、React基础1.React的核心特性是什么?答案:组件化开发:将UI拆分为独立可复用的组件。虚拟DOM(VirtualDOM):通过内存中的轻量级DOM结构优化真实DOM操作。单向数据流:数据通过props从父组件传递到子组件,状态变化可预测。JSX:允许在JavaScript中编写类似HTML的语法,增强代码可读性。2.类组件和函数组件的区别?答案:类组件:使用class定义,继承Reac
Java实战:Spring Boot application.yml配置文件详解
web_13233421436
面试 学习路线 阿里巴巴 java spring boot 网络
本文将详细介绍SpringBootapplication.yml配置文件的使用和配置项。我们将探讨application.yml文件的基本概念,以及如何使用它来配置SpringBoot应用程序的各个方面。此外,我们将通过具体的示例来展示如何配置不同的SpringBoot组件,如数据源、数据库、缓存、邮件服务等。本文适合希望深入了解SpringBoot配置文件的开发者阅读。一、引言在SpringBo
软件架构设计与模式之:模块化设计与组件化架构
AI天才研究院
AI大模型企业级应用开发实战 大数据 人工智能 语言模型 Java Python 架构设计
作者:禅与计算机程序设计艺术1.背景介绍模块化、组件化、微服务架构已经成为云计算的主流架构模式,软件架构设计如何满足需求并持续优化性能是一个非常重要的课题。本文将阐述模块化、组件化、微服务架构的概念及优缺点,并从面向对象的角度阐述模块化设计与组件化架构的过程。同时介绍一些基于Java语言的开源框架(如Spring)所实现的模块化、组件化、微服务架构,并深入到源码分析其实现机制和原理。本文的主要读者
uniapp布局
light多学一点
uni-app
记录一下表单的样式修改常见问题:使用uv-ui组件库:提交exportdefault{data(){return{fileList:[],form:{username:'',pics:[]},rules:{username:[{required:true,message:'此为必填字段',trigger:['blur','change']}],pics:{type:'array',required
深入理解 React.js:构建现代 Web 应用的核心技术
布兰妮甜
JavaScript - 行为 # React 前端 javascript react.js 前端框架
Hi,我是布兰妮甜!React.js是由Facebook开发并开源的一个用于构建用户界面的JavaScript库。自2013年发布以来,React迅速成为前端开发领域的主流工具之一。其组件化、声明式编程模型以及高效的虚拟DOM技术,使得开发者能够轻松构建高性能、可维护的Web应用。本文将深入探讨React.js的核心概念、优势以及如何在实际项目中应用。文章目录一、React.js的核心概念二、Re
学单片机能从事什么工作?
华清远见成都中心
单片机 嵌入式硬件
学单片机能从事什么工作?学习单片机技术可以为你打开多个职业方向的大门,尤其是在电子工程、自动化控制和嵌入式系统开发领域。以下是学习单片机后可以从事的一些工作:嵌入式软件工程师:负责编写、测试和维护嵌入式系统的软件。这包括底层驱动程序的开发、实时操作系统(RTOS)的应用以及应用程序的编写。硬件设计工程师:专注于电路板的设计与实现,使用单片机作为核心组件来构建各种电子产品。固件开发工程师:专门针对单
springcloud框架搭建
zzyh123456
spring cloud spring 后端
SpringCloud框架的搭建是一个涉及多个步骤和组件的过程,旨在构建微服务架构的应用程序。以下是一个简化的SpringCloud框架搭建流程,涵盖了主要的步骤和注意事项:1.环境准备JDK安装:确保已安装JavaDevelopmentKit(JDK),通常建议使用JDK8或更高版本。Maven或Gradle:安装Maven或Gradle作为项目管理工具,用于依赖管理和构建项目。IDE:推荐使用
Linux的Initrd机制
被触发
linux
Linux 的 initrd 技术是一个非常普遍使用的机制,linux2.6 内核的 initrd 的文件格式由原来的文件系统镜像文件转变成了 cpio 格式,变化不仅反映在文件格式上, linux 内核对这两种格式的 initrd 的处理有着截然的不同。本文首先介绍了什么是 initrd 技术,然后分别介绍了 Linux2.4 内核和 2.6 内核的 initrd 的处理流程。最后通过对 Lin
maven本地仓库路径修改
bitcarter
maven
默认maven本地仓库路径:C:\Users\Administrator\.m2
修改maven本地仓库路径方法:
1.打开E:\maven\apache-maven-2.2.1\conf\settings.xml
2.找到
XSD和XML中的命名空间
darrenzhu
xml xsd schema namespace 命名空间
http://www.360doc.com/content/12/0418/10/9437165_204585479.shtml
http://blog.csdn.net/wanghuan203/article/details/9203621
http://blog.csdn.net/wanghuan203/article/details/9204337
http://www.cn
Java 求素数运算
周凡杨
java 算法 素数
网络上对求素数之解数不胜数,我在此总结归纳一下,同时对一些编码,加以改进,效率有成倍热提高。
第一种:
原理: 6N(+-)1法 任何一个自然数,总可以表示成为如下的形式之一: 6N,6N+1,6N+2,6N+3,6N+4,6N+5 (N=0,1,2,…)
java 单例模式
g21121
java
想必单例模式大家都不会陌生,有如下两种方式来实现单例模式:
class Singleton {
private static Singleton instance=new Singleton();
private Singleton(){}
static Singleton getInstance() {
return instance;
}
Linux下Mysql源码安装
510888780
mysql
1.假设已经有mysql-5.6.23-linux-glibc2.5-x86_64.tar.gz
(1)创建mysql的安装目录及数据库存放目录
解压缩下载的源码包,目录结构,特殊指定的目录除外:
32位和64位操作系统
墙头上一根草
32位和64位操作系统
32位和64位操作系统是指:CPU一次处理数据的能力是32位还是64位。现在市场上的CPU一般都是64位的,但是这些CPU并不是真正意义上的64 位CPU,里面依然保留了大部分32位的技术,只是进行了部分64位的改进。32位和64位的区别还涉及了内存的寻址方面,32位系统的最大寻址空间是2 的32次方= 4294967296(bit)= 4(GB)左右,而64位系统的最大寻址空间的寻址空间则达到了
我的spring学习笔记10-轻量级_Spring框架
aijuans
Spring 3
一、问题提问:
→ 请简单介绍一下什么是轻量级?
轻量级(Leightweight)是相对于一些重量级的容器来说的,比如Spring的核心是一个轻量级的容器,Spring的核心包在文件容量上只有不到1M大小,使用Spring核心包所需要的资源也是很少的,您甚至可以在小型设备中使用Spring。
mongodb 环境搭建及简单CURD
antlove
Web Install curd NoSQL mongo
一 搭建mongodb环境
1. 在mongo官网下载mongodb
2. 在本地创建目录 "D:\Program Files\mongodb-win32-i386-2.6.4\data\db"
3. 运行mongodb服务 [mongod.exe --dbpath "D:\Program Files\mongodb-win32-i386-2.6.4\data\
数据字典和动态视图
百合不是茶
oracle 数据字典 动态视图 系统和对象权限
数据字典(data dictionary)是 Oracle 数据库的一个重要组成部分,这是一组用于记录数据库信息的只读(read-only)表。随着数据库的启动而启动,数据库关闭时数据字典也关闭 数据字典中包含
数据库中所有方案对象(schema object)的定义(包括表,视图,索引,簇,同义词,序列,过程,函数,包,触发器等等)
数据库为一
多线程编程一般规则
bijian1013
java thread 多线程 java多线程
如果两个工两个以上的线程都修改一个对象,那么把执行修改的方法定义为被同步的,如果对象更新影响到只读方法,那么只读方法也要定义成同步的。
不要滥用同步。如果在一个对象内的不同的方法访问的不是同一个数据,就不要将方法设置为synchronized的。
将文件或目录拷贝到另一个Linux系统的命令scp
bijian1013
linux unix scp
一.功能说明 scp就是security copy,用于将文件或者目录从一个Linux系统拷贝到另一个Linux系统下。scp传输数据用的是SSH协议,保证了数据传输的安全,其格式如下: scp 远程用户名@IP地址:文件的绝对路径
【持久化框架MyBatis3五】MyBatis3一对多关联查询
bit1129
Mybatis3
以教员和课程为例介绍一对多关联关系,在这里认为一个教员可以叫多门课程,而一门课程只有1个教员教,这种关系在实际中不太常见,通过教员和课程是多对多的关系。
示例数据:
地址表:
CREATE TABLE ADDRESSES
(
ADDR_ID INT(11) NOT NULL AUTO_INCREMENT,
STREET VAR
cookie状态判断引发的查找问题
bitcarter
form cgi
先说一下我们的业务背景:
1.前台将图片和文本通过form表单提交到后台,图片我们都做了base64的编码,并且前台图片进行了压缩
2.form中action是一个cgi服务
3.后台cgi服务同时供PC,H5,APP
4.后台cgi中调用公共的cookie状态判断方法(公共的,大家都用,几年了没有问题)
问题:(折腾两天。。。。)
1.PC端cgi服务正常调用,cookie判断没
通过Nginx,Tomcat访问日志(access log)记录请求耗时
ronin47
一、Nginx通过$upstream_response_time $request_time统计请求和后台服务响应时间
nginx.conf使用配置方式:
log_format main '$remote_addr - $remote_user [$time_local] "$request" ''$status $body_bytes_sent "$http_r
java-67- n个骰子的点数。 把n个骰子扔在地上,所有骰子朝上一面的点数之和为S。输入n,打印出S的所有可能的值出现的概率。
bylijinnan
java
public class ProbabilityOfDice {
/**
* Q67 n个骰子的点数
* 把n个骰子扔在地上,所有骰子朝上一面的点数之和为S。输入n,打印出S的所有可能的值出现的概率。
* 在以下求解过程中,我们把骰子看作是有序的。
* 例如当n=2时,我们认为(1,2)和(2,1)是两种不同的情况
*/
private stati
看别人的博客,觉得心情很好
Cb123456
博客 心情
以为写博客,就是总结,就和日记一样吧,同时也在督促自己。今天看了好长时间博客:
职业规划:
http://www.iteye.com/blogs/subjects/zhiyeguihua
android学习:
1.http://byandby.i
[JWFD开源工作流]尝试用原生代码引擎实现循环反馈拓扑分析
comsci
工作流
我们已经不满足于仅仅跳跃一次,通过对引擎的升级,今天我测试了一下循环反馈模式,大概跑了200圈,引擎报一个溢出错误
在一个流程图的结束节点中嵌入一段方程,每次引擎运行到这个节点的时候,通过实时编译器GM模块,计算这个方程,计算结果与预设值进行比较,符合条件则跳跃到开始节点,继续新一轮拓扑分析,直到遇到
JS常用的事件及方法
cwqcwqmax9
js
事件 描述
onactivate 当对象设置为活动元素时触发。
onafterupdate 当成功更新数据源对象中的关联对象后在数据绑定对象上触发。
onbeforeactivate 对象要被设置为当前元素前立即触发。
onbeforecut 当选中区从文档中删除之前在源对象触发。
onbeforedeactivate 在 activeElement 从当前对象变为父文档其它对象之前立即
正则表达式验证日期格式
dashuaifu
正则表达式 IT其它 java其它
正则表达式验证日期格式
function isDate(d){
var v = d.match(/^(\d{4})-(\d{1,2})-(\d{1,2})$/i);
if(!v) {
this.focus();
return false;
}
}
<input value="2000-8-8" onblu
Yii CModel.rules() 方法 、validate预定义完整列表、以及说说验证
dcj3sjt126com
yii
public array rules () {return} array 要调用 validate() 时应用的有效性规则。 返回属性的有效性规则。声明验证规则,应重写此方法。 每个规则是数组具有以下结构:array('attribute list', 'validator name', 'on'=>'scenario name', ...validation
UITextAttributeTextColor = deprecated in iOS 7.0
dcj3sjt126com
ios
In this lesson we used the key "UITextAttributeTextColor" to change the color of the UINavigationBar appearance to white. This prompts a warning "first deprecated in iOS 7.0."
Ins
判断一个数是质数的几种方法
EmmaZhao
Math python
质数也叫素数,是只能被1和它本身整除的正整数,最小的质数是2,目前发现的最大的质数是p=2^57885161-1【注1】。
判断一个数是质数的最简单的方法如下:
def isPrime1(n):
for i in range(2, n):
if n % i == 0:
return False
return True
但是在上面的方法中有一些冗余的计算,所以
SpringSecurity工作原理小解读
坏我一锅粥
SpringSecurity
SecurityContextPersistenceFilter
ConcurrentSessionFilter
WebAsyncManagerIntegrationFilter
HeaderWriterFilter
CsrfFilter
LogoutFilter
Use
JS实现自适应宽度的Tag切换
ini
JavaScript html Web css html5
效果体验:http://hovertree.com/texiao/js/3.htm
该效果使用纯JavaScript代码,实现TAB页切换效果,TAB标签根据内容自适应宽度,点击TAB标签切换内容页。
HTML文件代码:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"
Hbase Rest API : 数据查询
kane_xie
REST hbase
hbase(hadoop)是用java编写的,有些语言(例如python)能够对它提供良好的支持,但也有很多语言使用起来并不是那么方便,比如c#只能通过thrift访问。Rest就能很好的解决这个问题。Hbase的org.apache.hadoop.hbase.rest包提供了rest接口,它内嵌了jetty作为servlet容器。
启动命令:./bin/hbase rest s
JQuery实现鼠标拖动元素移动位置(源码+注释)
明子健
jquery js 源码 拖动 鼠标
欢迎讨论指正!
print.html代码:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv=Content-Type content="text/html;charset=utf-8">
<title>发票打印</title>
&l
Postgresql 连表更新字段语法 update
qifeifei
PostgreSQL
下面这段sql本来目的是想更新条件下的数据,可是这段sql却更新了整个表的数据。sql如下:
UPDATE tops_visa.visa_order
SET op_audit_abort_pass_date = now()
FROM
tops_visa.visa_order as t1
INNER JOIN tops_visa.visa_visitor as t2
ON t1.
将redis,memcache结合使用的方案?
tcrct
redis cache
公司架构上使用了阿里云的服务,由于阿里的kvstore收费相当高,打算自建,自建后就需要自己维护,所以就有了一个想法,针对kvstore(redis)及ocs(memcache)的特点,想自己开发一个cache层,将需要用到list,set,map等redis方法的继续使用redis来完成,将整条记录放在memcache下,即findbyid,save等时就memcache,其它就对应使用redi
开发中遇到的诡异的bug
wudixiaotie
bug
今天我们服务器组遇到个问题:
我们的服务是从Kafka里面取出数据,然后把offset存储到ssdb中,每个topic和partition都对应ssdb中不同的key,服务启动之后,每次kafka数据更新我们这边收到消息,然后存储之后就发现ssdb的值偶尔是-2,这就奇怪了,最开始我们是在代码中打印存储的日志,发现没什么问题,后来去查看ssdb的日志,才发现里面每次set的时候都会对同一个key