temp

双向数据绑定实现原理

Deadly 提交于 2020-01-04 00:41:41
vm的核心是view 和 data 当data 有变化的时候它通过Object.defineProperty()方法中的set方法进行监控,并调用在此之前已经定义好data 和view的关系了的回调函数,来通知view进行数据的改变 而view 发生改变则是通过底层的input 事件来进行data的响应更改    双向数据绑定实现原理 用到了input事件(只要往input框中输入内容就会触发)以及ES5中Object.defineProperty() 怎么直到对象的数据发生改变:   1.angular1中用脏数据检查机制(用定时器)轮询;缺点:性能低,可以兼容ie8   2.vue中数据劫持,用到ES5中Object.defineProperty() 下面代码使用vue中的方法实现的数据劫持   <p></p>   <input type="text">    <script> let p = document.querySelector('p'); let inp = document.querySelector('input'); let obj = { msg: 'hello' } p.innerText = obj.msg inp.value = obj.msg //实现视图变化数据跟着变化 inp.oninput = function () { // console

ActiveMQ入门实例

送分小仙女□ 提交于 2020-01-03 20:16:45
package org.apollo.demo.jms.test01; import java.io.Serializable; import javax.jms.Connection; import javax.jms.ConnectionFactory; import javax.jms.Destination; import javax.jms.JMSException; import javax.jms.Message; import javax.jms.MessageProducer; import javax.jms.Session; import org.apache.activemq.ActiveMQConnection; import org.apache.activemq.ActiveMQConnectionFactory; public class Sender { /** * 在服务器创建的主题名称 */ public static String TOPIC_NAME="TemplateTopic"; public static String BROKER_URL="tcp://localhost:61616"; /** * 连接工厂 */ private ConnectionFactory connectionFactory; /* * 创建连接池 */

Create temporary file in C, MS Windows system

不问归期 提交于 2020-01-03 10:44:12
问题 Basically, i have a program that is given a 4 meg compressed file, it has to decode this file into uncompressed ~ 100 meg, then compress it back into ~4 meg file. I need to store this intermediate 100 meg file somewhere on the drive (dont want to keep it in memory). Program is written in C and will be executed on MS Windows 7. At the moment of uncompressing, no guaranteed folder (with write access) is given to the program (folder with source file might be read only and folder with target file

快速排序和归并排序

走远了吗. 提交于 2020-01-03 05:24:41
1,快速排序 快速排序通过分割值列,然后递归的对两个部分进行排序,从而实现对值列的排序。它的基本思想是:通过一趟排序将要排序的 数据分割 成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序 首先任意选取一个数据(通常选用第一个数据)作为关键数据,然后将所有比它小的数都放到它前面,所有比它大的数都放到它后面,这个过程称为一趟快速排序 。 怎么实现呢?--- 它的关键在于完成一趟快排后,基准元素在哪个位置,每次都选取一个分割列的第一个元素作为基准元素,来寻找用它来分割排序列后它自己所处的位置,编写一个 int findPartition(data,min,max)方法,用于 使用data[min]作为基准元素把data[min]到data[max]分割为两个部分,并返回分割以后基准元素自己所在的位置索引。 在主函数里这样来调用: public static void quickSort(Comparable[] data,int min,int max) { int mid; if(min < max) { mid = findPartition(data,min,max); quickSort(data,min,mid-1); quickSort(data,mid+1,max); } } 理解递归过程:::if(min <

Javascript的函数直接量定义

旧城冷巷雨未停 提交于 2020-01-03 01:00:42
在Javascript中允许函数通过直接量来定义。一般情况下,我们定义函数时,最常见的方式是通过function语句进行定义,例如: function sum(a,b){ return a+b; } 这样,sum这个函数就在它所在的作用域中可以被任意调用了。除此之外,函数的定义方式可以通过另外一种方式,就是通过直接量定义。例如上面这个例子,我们可以用另外一种方式: var sum= function(a,b){ return a+b; } 上述代码就是函数通过直接量的方式进行定义。 函数直接量是一个表达式 ,它可以定义匿名函数。函数直接量的语法和function语句十分相似,只不过, 它被用作表达式的一部分,而不是用作语句了。在函数直接量定义中,右侧的function所定义的是匿名函数,并将这个匿名函数的引用传递给表达式左侧。 关于函数直接量定义,需要说明几点: 第一,函数直接量定义方式定义出来的函数是一个匿名函数,尽管通过表达式赋值语句将这个函数赋值给了左侧的变量名,但是,左侧的变量被赋值的是这个匿名函数的引用。 第二,由于函数直接量的定义方式中(代码2),实际上function已经作为一个表达式来看待,因此,表达式左侧的变量就必须在该语句执行之后才会引用 右侧的匿名函数,也就是说,在该语句执行之前,作用域中仅仅是知道有个变量是sum,但是类型未知。于此相反的是,常规的函数语句

JAVA中简单的MD5加密类(MD5Utils)

拜拜、爱过 提交于 2020-01-02 23:17:10
本文转载自: https://www.cnblogs.com/cqy1183344265/p/5851456.html 作者:CQY1183344265 转载请注明该声明。 MD5加密分析: JDK API: 获取对象的API: 加密的API: 1 package cn.utils; 2 3 import java .security.MessageDigest; 4 import java.security.NoSuchAlgorithmException; 5 6 /** 7 * @author CQY13 MD5加密工具类 8 */ 9 public class MD5Utils { 10 11 /** 12 * 获取MD5加密 13 * 14 * @param pwd 15 * 需要加密的字符串 16 * @return String字符串 加密后的字符串 17 */ 18 public static String getPwd(String pwd) { 19 try { 20 // 创建加密对象 21 MessageDigest digest = MessageDigest.getInstance("md5" ); 22 23 // 调用加密对象的方法,加密的动作已经完成 24 byte [] bs = digest.digest(pwd.getBytes()); 25

Java基础之i++和++i

孤街醉人 提交于 2020-01-02 14:04:53
Java基础之i++和++i i++ 先赋值再运算 设置一个临时存储变量 temp (需要在内存中多分配一块内存,结束操作后再释放内存) 存储 i 的值,再对 i 执行+1的操作 int res = i ++ ; res = i ; 再运算 i = i + 1; res = 1 ; 等价于 int temp = i ; i = temp + 1; ++i 先运算再赋值 不需要设置一个临时存储变量 temp 来存储 i 的值,再对 i 执行+1的操作 等价于 int res = ++ i ; 先运算 i = i + 1; 再赋值 res = i ;res = 2 ; for循环中的使用 作用一样 效率不一样, ++i 效率更高 代码示例 public static void main ( String [ ] args ) { int i = 1 , a ; a = ++ i ; System . out . println ( "a=++i-->" + a ) ; int j = 1 , b = 0 ; b = j ++ ; System . out . println ( "b=j++-->" + b ) ; } //运行结果 a = ++ i -- > 2 b = j ++ -- > 1 来源: CSDN 作者: KKKKKKobe0824 链接: https://blog

Leetcode 92. 反转链表 II

家住魔仙堡 提交于 2020-01-02 01:22:02
反转从位置 m 到 n 的链表。请使用一趟扫描完成反转。 说明: 1 ≤ m ≤ n ≤ 链表长度。 示例: 输入: 1->2->3->4->5->NULL, m = 2, n = 4 输出: 1->4->3->2->5->NULL思路:分成两个情况来写第一种:如果m=1,那就是一道反转链表,先翻转m-n的节点,翻转后,头结点就变成了尾节点,所以把这些节点保存起来,然后再把后面的节点接到尾节点第二种:如果!=1,翻转m到n的中间节点即可 1 public class 反转链表II { 2 ListNode reverseBetween(ListNode head, int m, int n) { 3 if(head==null||head.next==null) 4 return head; 5 6 if(m!=1) 7 { 8 ListNode first=head;//记录翻转处的前一个节点 9 ListNode temp=head.next;//记录尾节点 10 for(int i=0;i<m-2;i++) 11 { 12 temp=temp.next; 13 first=first.next; 14 } 15 ListNode la=temp; 16 ListNode pre=temp;//反转的起始节点 17 ListNode p=temp.next; 18

C语言实现二叉树

半腔热情 提交于 2020-01-01 14:57:33
二叉树的重要性就不用多说啦; 我以前也学习过,但是一直没有总结; 网上找到的例子,要么是理论一大堆,然后是伪代码实现; 要么是复杂的代码,没有什么解释; 最终,还是靠翻墙找到一些好的文章,参考地址我会在See Also部分给大家贴出来 Problem 假设我们要生成的二叉树如下图; Solution 显然,我们需要在节点保存的数据只有一个整数; struct binary_tree { int data ; // Data area //TODO }; 所以在结构体里面,我们的代码应该类似上面的写法; 通过观察我们还发现,每一个节点都指向左右两边(除了最后的叶子节点外); 因此,我们需要让它有两个指针域; 可能你会想到类似如下的写法; struct binary_tree { int data ; // Data area void * left; void * right; }; 上面的定义格式似乎是正确的,但是类型好像并不是我们想要的; 例如:当left指向左边的子节点时,子节点应该也是一个包涵数据域的节点; 因此我们需要再定义一个与它本身相同的结构体; struct binary_tree { int data ; // Data area struct binary_tree * left; struct binary_tree * right; }; 所以

基于角色的权限控制

二次信任 提交于 2020-01-01 10:18:10
AspNetForums中基于角色的权限控制 http://blog.joycode.com/dotey/archive/2005/02/24/44791.aspx asp.net页面如何控制页面依据不同用户权限有不可见、可见、编辑 三种操作权限 http://community.csdn.net/Expert/topic/3436/3436974.xml?temp=.0139429 做过权限管理和想做权限管理的人进来(附我的思路) http://community.csdn.net/Expert/topic/3164/3164390.xml?temp=9.836978E-02 恳求权限分配的例子 http://community.csdn.net/Expert/topic/3207/3207546.xml?temp=.8236811 高分求用户权限管理代码(C#)或算法 http://community.csdn.net/Expert/topic/3321/3321018.xml?temp=.9790308 请问在SmartClient应用中,如何做到科学的身份验证和权限分配 http://community.csdn.net/Expert/topic/3289/3289151.xml?temp=.6897699 权限系统概要(收集,整理) http://community