动态

动态编程

一个人想着一个人 提交于 2020-01-18 08:26:51
侵删 https://www.cnblogs.com/wyh19941210/p/9628532.html 一、元数据的介绍 元数据是用来描述数据的数据(Data that describes other data) 。单单这样说,不太好理解,我来举个例子。下面是契诃夫的小说《套中人》中的一段,描写一个叫做瓦莲卡的女子: (她)年纪已经不轻,三十岁上下,个子高挑,身材匀称,黑黑的眉毛,红红的脸蛋--一句话,不是姑娘,而是果冻,她那样活跃,吵吵嚷嚷,不停地哼着小俄罗斯的抒情歌曲,高声大笑,动不动就发出一连串响亮的笑声:哈,哈,哈! 这段话里提供了这样几个信息:年龄(三十岁上下)、身高(个子高挑)、相貌(身材匀称,黑黑的眉毛,红红的脸蛋)、性格(活跃,吵吵嚷嚷,不停地哼着小俄罗斯的抒情歌曲,高声大笑)。有了这些信息,我们就可以大致想像出瓦莲卡是个什么样的人。推而广之,只要提供这几类的信息,我们也可以推测出其他人的样子。这个例子中的"年龄"、"身高"、"相貌"、"性格",就是元数据,因为它们是用来描述具体数据/信息的数据/信息。 当然,这几个元数据用来刻画个人状况还不够精确。我们每个人从小到大,都填过《个人情况登记表》之类的东西吧,其中包括姓名、性别、民族、政治面貌、一寸照片、学历、职称等等......这一套元数据才算比较完备。 在日常生活中,元数据无所不在。有一类事物

jquery createElement 动态创建元素

懵懂的女人 提交于 2020-01-18 02:41:20
在IE和Firefox下,动态创建元素的方法是由区别的 如下面代码,在IE下可以运行,在Firefox下会报错 var theform = document.forms[0]; theform.appendChild(document.createElement("<input type='hidden' name='__EVENTTARGET'>")); 在 Firefox 只支持:document.createElement('input') 如果添加属性和事件的话,需要使用setAttribute方法 使用jquery动态创建元素,可以同时支持IE、Firefox var theform = document.forms[0]; $("<input type='hidden' name='__EVENTTARGET'>").appendTo(theform); 来源: https://www.cnblogs.com/50614090/archive/2012/03/28/2421103.html

大剑无锋之不都说面试不问mybatis,为什么我被虐了。。。【mybatis面试题】

廉价感情. 提交于 2020-01-17 02:17:44
1、#{}和${}的区别是什么? 答:${}是Properties文件中的变量占位符,它可以用于标签属性值和sql内部,属于静态文本替换,比如${driver}会被静态替换为com.mysql.jdbc.Driver。 #{}是sql的参数占位符,Mybatis会将sql中的#{}替换为?号,在sql执行前会使用PreparedStatement的参数设置方法,按序给sql的?号占位符设置参数值,比如ps.setInt(0, parameterValue),#{item.name}的取值方式为使用反射从参数对象中获取item对象的name属性值,相当于param.getItem().getName()。 2、Xml映射文件中,除了常见的select|insert|updae|delete标签之外,还有哪些标签? 答:还有很多其他的标签,<resultMap>、<parameterMap>、<sql>、<include>、<selectKey>,加上动态sql的9个标签,trim|where|set|foreach|if|choose|when|otherwise|bind等,其中<sql>为sql片段标签,通过<include>标签引入sql片段,<selectKey>为不支持自增的主键生成策略标签。 3、最佳实践中,通常一个Xml映射文件,都会写一个Dao接口与之对应,请问

动态资源与静态资源

点点圈 提交于 2020-01-16 14:45:03
动态页面与静态页面区别 静态资源: 当用户多次访问这个资源,资源的源代码永远不会改变的资源。 动态资源:当用户多次访问这个资源,资源的源代码可能会发送改变。 什么是动静分离 动静分离是让动态网站里的动态网页根据一定规则把不变的资源和经常变的资源区分开来,动静资源做好了拆分以后,我们就可以根据静态资源的特点将其做缓存操作,这就是网站静态化处理的核心思路 动静分离简单的概括是:动态文件与静态文件的分离。 为什么要用动静分离 在我们的软件开发中,有些请求是需要后台处理的(如:.jsp,.do等等),有些请求是不需要经过后台处理的(如:css、html、jpg、js等等文件),这些不需要经过后台处理的文件称为静态文件,否则动态文件。因此我们后台处理忽略静态文件。这会有人又说那我后台忽略静态文件不就完了吗。当然这是可以的,但是这样后台的请求次数就明显增多了。在我们对资源的响应速度有要求的时候,我们应该使用这种动静分离的策略去解决。 动静分离将网站静态资源(HTML,JavaScript,CSS,img等文件)与后台应用分开部署,提高用户访问静态代码的速度,降低对后台应用访问。这里我们将静态资源放到nginx中,动态资源转发到tomcat服务器中。 因此,动态资源转发到tomcat服务器我们就使用到了反向代理了。 提高网站吞吐量! 来源: CSDN 作者: 小苗12377 链接: https:

Hive 根据表中某个字段动态分区 以及临时表创建

与世无争的帅哥 提交于 2020-01-16 05:02:03
使用hive储存数据时,需要对做分区,如果从kafka接收数据,将每天的数据保存一个分区(按天分区),保存分区时需要根据某个字段做动态分区,而不是傻傻的将数据写到某一个临时目录最后倒入到某一个分区,这是静态分区。 Hive动态分区步骤如下: 1、建立某一个源表模拟数据源并插入一些数据 create table t_test_p_source ( id string, name string, birthday string ) row format delimited fields terminated by '\t' stored as textfile; insert into t_test_p_source values ('a1', 'zhangsan', '2018-01-01'); insert into t_test_p_source values ('a2', 'lisi', '2018-01-02'); insert into t_test_p_source values ('a3', 'zhangsan', '2018-01-03'); insert into t_test_p_source values ('a4', 'wangwu', '2018-01-04'); insert into t_test_p_source values ('a5',

MyBatis学习笔记(3)-动态SQL

不羁岁月 提交于 2020-01-16 02:27:55
动态SQL 是MyBatis最核心的功能和最强大的特性之一,在使用原生JDBC进行连接数据库时,若要完成SQL语句拼接,程序员需要小心翼翼地完成代码,非常不方便,而MyBatis基于OGNL表达式的动态SQL机制,对SQL语句进行灵活操作,通过表达式进行判断,对SQL进行灵活拼接、组装。 总体说来mybatis 动态SQL 语句主要有以下几类: if 语句 (简单的条件判断) where (主要是用来简化sql语句中where条件判断的,能智能的处理 and or ,不必担心多余导致语法错误) foreach (在实现 mybatis in 语句查询时特别有用) choose (when,otherwize) ,相当于java 语言中的 switch ,与 jstl 中的choose 很类似. trim (对包含的内容加上 prefix,或者 suffix 等,前缀,后缀) set (主要用于更新时) 其中前三个是最常用的,本文也主要介绍这三种语句。 If语句 在UserMapper.xml文件中作如下配置 <!-- 传递pojo综合查询用户信息 --> <select id="findUserList" parameterType="user" resultType="user"> select * from user where 1=1 <if test="id!=null

vue-动态绑定属性v-bind

邮差的信 提交于 2020-01-16 01:54:37
1.v-bind动态绑定属性 比如动态绑定a元素的href属性,img元素的src属性 2.v-bind动态绑定class对象 3.v-bind动态绑定class数组语法 4.v-bind动态绑定style 来源: CSDN 作者: 米儿web 链接: https://blog.csdn.net/qq_24767091/article/details/103977313

Mybatis知识点总结

旧时模样 提交于 2020-01-15 05:56:52
1.什么是MyBatis? 答:MyBatis是一个可以自定义SQL、存储过程和高级映射的持久层框架。 2.MyBatis的缓存 答:MyBatis的缓存分为一级缓存和二级缓存,一级缓存放在session里面,默认就有,二级缓存放在它的命名空间里,默认是不打开的,使用二级缓存属性类需要实现Serializable序列化接口(可用来保存对象的状态),可在它的映射文件中配置 3.Mybatis是如何进行分页的?分页插件的原理是什么? 1)Mybatis使用RowBounds对象进行分页,也可以直接编写sql实现分页,也可以使用Mybatis的分页插件。 2)分页插件的原理:实现Mybatis提供的接口,实现自定义插件,在插件的拦截方法内拦截待执行的sql,然后重写sql。 举例:select * from student,拦截sql后重写为:select t.* from (select * from student)t limit 0,10 推荐看起来比较清晰的PageHelper分页原理 3)PageHelper首先将前端传递的参数保存到page这个对象中,接着将page的副本存放入ThreadLoacl中,这样可以保证分页的时候,参数互不影响,接着利用了mybatis提供的拦截器,取得ThreadLocal的值,重新拼装分页SQL,完成分页。 4.Mybatis的插件运行原理

反爬虫?来了解下这个爬虫终结者!

瘦欲@ 提交于 2020-01-14 19:59:05
根爬取数据类型而分,爬虫有不少种类,比如爬取Email地址的、爬取商品价格的、爬取图片的,而最多的是爬虫内容的。内容数据爬虫是为泛滥的! 爬虫让很多人对其深感苦恼,今天,带大家来了解一个爬虫终结者,对内容数据防护非常强劲,几乎可以100%拦阻所有内容爬虫!它就是ShareWAF-ACS。 ACS是Anti Content Spider的简称缩写,直面其意:反内容爬虫。是国内安全厂商ShareWAF推出的一款反爬虫产品。 根据官方介绍,ShareWAF-ACS采用动态字体变码加密技术,可防一切内容爬虫! 反爬虫是个技术活,那么ACS是靠什么技术实现反爬防护的呢? 总结而言,它有两大技术点: 1、字体加密、动态变码; 2、动态字体文件保护。 来看反爬效果演示: 1、内容防复制、防爬取 这是在ACS保护下的一个网页。 尝试复制网页中的内容,并粘贴到别处。 先复制: 再粘贴: 可见,复制粘贴后的文字出现了乱码,即内容不能被正常获取、不能被爬虫爬取。 2、防破解 ACS采用的是字体变码技术,打开刚才的网页,查看网页源码: 可以看到某些文字内容并不是正常的“文字”,而是一种编码,是自定义的文字Unicode编码。 而且是“变码”,编码会变化: 由此可防止编码被分析。 说倒底,这是一种自定义字体编码技术,更进一步思考,它人可能会下载网页中的字体文件,破解字体与编码的对应关系。

C++ new动态数组初始化

China☆狼群 提交于 2020-01-14 08:54:00
strlen函数是不包括‘\0’的长度的,sizeof计算的结果才包括'\0'的长度: C++ new动态数组初始化void testnew( const char* str ) { if (!str){ m_pdata = 0; } else{     int len = strlen(str); m_pdata = new char[len + 1]; strcpy(m_pdata,str);     m_pdata[len] = '\0'; } } 动态数组初始化: 对于内置数据类型元素的数组,必须使用()来显示指定程序执行初始化操作,否则程序不执行初始化操作: int *pia = new int[10]; // 每个元素都没有初始化 int *pia2 = new int[10] (); // 每个元素初始化为0 类类型元素的数组,则无论是否使用(),都会自动调用其默认构造函数来初始化: string *psa = new string[10]; // 每个元素调用默认构造函数初始化 string *psa = new string[10](); // 每个元素调用默认构造函数初始化 来源: https://www.cnblogs.com/guxuanqing/p/7591670.html