上下文

编程术语之上下文对象

馋奶兔 提交于 2019-12-03 06:12:48
上下文对象这个说法,对我来说很陌生,但是总有机会碰到它,它是什么意思呢? 比如我们在一些class里,会碰到叫做context的变量,这往往就是一个上下文变量。context变量很可能是个结构体变量,保存这个class里的许多参数,供类函数的调用等等。有些简单的类函数比如add()不需要外部变量,而有的复杂的类函数需要外部变量,这些变量就可以统一放在context中,这样使类的编写和阅读都比较整洁自然。 从字面意思理解,比如说类是一段故事,那上下文变量就是这个故事发生的环境,我们在开始讲故事的时候,要先交代一下环境,使这个故事听起来完整。就类似于初始化这个类的时候,传给它一些参数作为上下文变量。 来源: https://www.cnblogs.com/hzuo/p/11780463.html

线程上下文设计模式

左心房为你撑大大i 提交于 2019-12-03 05:10:49
//设计为单例 public final class ActionContext { // 构造方法私有化 private ActionContext() { } // Holder类 private static class ContextHolder { private final static ActionContext actionContext = new ActionContext(); } // 提供给外部使用 public static ActionContext getActionContext() { return ContextHolder.actionContext; } // 属性 public Context getContext() { return threadLocal.get(); } // 属性 private final ThreadLocal<Context> threadLocal = new ThreadLocal<Context>() { @Override protected Context initialValue() { return new Context(); } }; } public class Context { private String name; private String cardId; public

关于作用域闭包的一些理解

﹥>﹥吖頭↗ 提交于 2019-12-03 04:58:32
闭包 红宝书上对闭包的定义:有权访问另外一个函数作用域中变量的函数。 MDN对闭包的定义是:是能够访问自由变量的函数。 自由变量:是指在当前函数中可以使用的( 但是既不是arguments也不是本函数定义的局部变量 )。 两个点: 是个函数 能访问另一个函数作用域中的变量,即使外层函数的上下文已经被销毁 就是说我们常见的比如 内部函数从外部函数返回 这种状态,该内部函数就是闭包。可以看如下特性中的示例! 说明闭包的几个特性: 可以访问当前函数以外的变量 function outer() { var date = '11月1日'; function inner(str) { console.log(str + date) } return inner('today is ') } outer() function outer() { var date = '11月1日'; return function () { console.log('today is ' + date) }() } outer() // 上下两例均返回“today is 11月1日” 即使外部函数已经返回,闭包仍然能够访问外部定义的变量 function outer() { var date = '11月1日'; function inner() { console.log('today is ' + date

Java日志Log4j或者Logback的NDC和MDC功能

谁说胖子不能爱 提交于 2019-12-03 04:15:38
NDC和MDC的区别 Java中使用的日志的实现框架有很多种,常用的log4j和logback以及java.util.logging,而log4j是apache实现的一个开源日志组件(Wrapped implementations),logback是slf4j的原生实现(Native implementations)。需要说明的slf4j是Java简单日志的门面(The Simple Logging Facade for Java),如果使用slf4j日志门面,必须要用到slf4j-api,而logback是直接实现的,所以不需要其他额外的转换以及转换带来的消耗,而slf4j要调用log4j的实现,就需要一个适配层,将log4j的实现适配到slf4j-api可调用的模式。 说完基本的日志框架的区别之后,我们再看看NDC和MDC。 不管是log4j还是logback,打印的日志要能体现出问题的所在,能够快速的定位到问题的症结,就必须携带上下文信息(context information),那么其存储该信息的两个重要的类就是NDC(Nested Diagnostic Context)和MDC(Mapped Diagnositc Context)。 NDC采用栈的机制存储上下文,线程独立的,子线程会从父线程拷贝上下文。其调用方法如下: 1.开始调用 NDC.push(message);

上下文管理器

匿名 (未验证) 提交于 2019-12-03 00:41:02
任何实现了 __enter__() 和 __exit__() 方法的对象都可称之为上下文管理器,上下文管理器对象可以使用 with 关键字。显然,文件(file)对象也实现了上下文管理器。 那么文件对象是如何实现这两个方法的呢?我们可以模拟实现一个自己的文件类,让该类实现 __enter__() 和 __exit__() 方法。 class File (): def __init__ (self, filename, mode): self.filename = filename self.mode = mode def __enter__ (self): print( "entering") self.f = open(self.filename, self.mode) return self.f def __exit__ (self, *args): print( "will exit") self.f.close() __enter__() 方法返回资源对象,这里就是你将要打开的那个文件对象,__exit__() 方法处理一些清除工作。 因为 File 类实现了上下文管理器,现在就可以使用 with 语句了。 with File( ‘out.txt‘, ‘w‘) as f: print( "writing") f.write( ‘hello, python‘) 这样

SpringMVC原理剖析――DispatcherServlet的配置

匿名 (未验证) 提交于 2019-12-03 00:41:02
一、如何在代码中配置DispatcherServlet以及其中的原理 DispatcherServlet是SpringMVC的核心,担任着请求分发的责任。 在SpringMVC中配置DispatcherServlet有两种方式: 1. 在Servlet容器的web.xml文件中配置; 2. 用Java代码将DispatcherServlet配置到Servlet容器中 文本主要讲解一下第二种配置方法 首先直接看在代码中如何配置DispatcherServlet package com.windcloud.config; import org.springframework.web.servlet.support.AbstractAnnotationConfigDispatcherServletInitializer; public class FyWebAppInitializer extends AbstractAnnotationConfigDispatcherServletInitializer { @Override protected Class<?>[] getRootConfigClasses() { return new Class[] { RootConfig.class }; } //指定配置类 @Override protected Class<?>[]

CS224n笔记二:word2vec

匿名 (未验证) 提交于 2019-12-03 00:41:02
语言学中meaning近似于“指代,代指,符号”。 过去一直采用 分类词典 ,计算语言学中常见的方式时WordNet那样的词库,比如NLTK中可以通过WordNet查询熊猫的上位词(hypernums),得到“食肉动物”,“动物”之类的上位词。也可以查询“good”的同义词,如“just”。 这种离散表示并不准确,丢失了些许韵味。如以下同义词的意思还是有微妙不同的:adept, expert, good, practiced, proficient, skillful 缺少新词 耗费人力 无法准确计算词语相似度 大多数NLP学者将词语作为最小的单位,事实上,词语只是词表长度的one-hot向量,这是一种局部表示(localist representation)。在不同的语料中,词表大小不同,如Google的1TB词料词汇量是1300w,这个向量实在过长了。 词语在符号表示上体现不出意义的相似性,如“motel”和“hotel”,其one-hot向量是正交的,无法通过计算获得相似度。 Distributional similarity based representations 语言学家J. R. Firth提出,通过一个单词的上下文可以得到它的意思。J. R. Firth甚至建议,日过能将单词放到正确的上下文中,才说明掌握了它的意义。这是现代统计自然语言处理最成功的思想之一:

Flask-上下文

匿名 (未验证) 提交于 2019-12-03 00:40:02
上下文:相当于一个容器,保存了 Flask 程序运行过程中的一些信息。 Flask中有两种上下文,请求上下文和应用上下文 思考:在视图函数中,如何取到当前请求的相关数据?比如:请求地址,请求方式,cookie等等 在 flask 中,可以直接在视图函数中使用 request 这个对象进行获取相关数据,而 request 就是请求上下文的对象,保存了当前本次请求的相关数据,请求上下文对象有:request、session request 封装了HTTP请求的内容,针对的是http请求。举例:user = request.args.get('user'),获取的是get请求的参数。 session 用来记录请求会话中的信息,针对的是用户信息。举例:session['name'] = user.id,可以记录用户信息。还可以通过session.get('name')获取用户信息。 它的字面意思是 应用上下文,但它不是一直存在的,它只是request context 中的一个对 app 的代理(人),所谓local proxy。它的作用主要是帮助 request 获取当前的应用,它是伴 request 而生,随 request 而灭的。 应用上下文对象有:current_app,g current_app 应用程序上下文,用于存储应用程序中的变量,可以通过current_app

PopupWindow 中含有EditText 长按不弹窗上下文菜单

匿名 (未验证) 提交于 2019-12-03 00:34:01
PopupWindow 中含有EditText 长按不弹窗上下文菜单,在项目中有一个类似发表评论的界面,初始使用的是popupWindows去加载的这个布局,但是后来发现 布局中的 EditText 长按并没有出现上下文菜单,后来查找资料发现这应该是Android 的bug. https://issuetracker.google.com/issues/36984016 使用DialogFragment代替PopupWindows 去实现布局,在Fragment中EditText 中不存在此现象的bug,能够正常的弹出上下文菜单布局。 文章来源: PopupWindow 中含有EditText 长按不弹窗上下文菜单

Spring web过滤器-各种filter讲解

匿名 (未验证) 提交于 2019-12-03 00:22:01
http://liuluo129.iteye.com/blog/1965268 图来自上面连接 http://blog.csdn.net/geloin/article/details/7441330 整理于上面 Spring的web包中中有很多过滤器,这些过滤器位于org.springframework.web.filter并且理所当然地实现了javax.servlet.Filter,不过实现的方式有以下几类: GenericFilterBean [java] view plain copy /** public final void throws if "'" this try new this this new class new this true catch throw new if [java] view plain copy new this this new bw.registerCustomEditor(Resource. class new this true OncePerRequestFilter [java] view plain copy /** public final void throws if instanceof instanceof throw new if null else try finally