科技新闻

VBA-使用msgbox对话框

我怕爱的太早我们不能终老 提交于 2020-03-01 00:29:47
使用msgbox对话框 在使用 Excel 的过程中,如果需要向用户显示简单的提示信息,可以使用 MsgBox 函数显示一个消息框,其格式为: MsgBox(prompt[, buttons] [, title] [, helpfile, context]) prompt:必须项,代表在消息框中作为信息显示的字符或字符串 button:可选项,用于指定消息框中显示按钮的数目及类型、使用的图标样式、缺省按钮以及消息框的强制回应等,若省略则只显示“确定”按钮 title:可选项,在消息框标题栏中作为标题的字符或字符串 helpfile和context:可选项,用来为消息框提供上下文相关帮助的帮助文件和帮助主题。如果提供了其中一个参数,则必须提供另一个参数,两者缺一不可。 下面是一个最简单的msgbox对话框: Sub test ( ) MsgBox "欢迎一起学习Excel" End Sub 1、制定个性化消息框 通过上文可知,对函数中的选项进行赋值可以得到个性化的消息框,下面对 button 参数进行详细解释: 如: Sub test1 ( ) MsgBox "欢迎一起学习Excel" , vbOKCancel + vbInformation + vbDefaultButton2 , _ Title : = "交小通" End Sub 2、获得消息框的返回值

Comet4J AJAX 服务器推送框架

对着背影说爱祢 提交于 2020-03-01 00:22:35
Comet4J(Comet for Java)是一个纯粹基于AJAX(XMLHTTPRequest)的服务器推送框架,消息以JSON方式传递,具备长轮询、长连接、自动选择三种工作模式。 功能特性 推送消息广播。 推送定向消息。 提供连接上线前、上线、下线前、下线、发送消息等多种可处理事件。 消息缓存机制,确保长轮询工作模式下不丢失消息。 客户端正常下线,服务端可立即感知。 客户端异常停止工作,服务端可定时检查并感知。 以注册通道应用的方式,让开发者对框架功能进行扩展,实现自己的应用。 框架特性 独立小巧,不依赖于第三方包。 与应用紧密集成,无需独立应用或服务器。 与Session无关的连接机制,为开发人员提供最大程度的功能可控性。 面向事件编程,客户端与服务器端均为事件驱动开发模式,提供了良好的可扩展性机制。 各项性能参数均可配置。 支持多种主流浏览器,并支持Air应用环境。 支持XMLHTTPRequest对象的浏览器均可支持长轮询工作模式,但不一定能够支持长连接。 浏览器/平台 版本 长轮询 长连接 Internet Explorer 6,7,8,9 √ X FireFox 3.0+(更底版本未知) √ √ Chrome 7.0+(更底版本未知) √ √ Safari 5+(更底版本未知) √ √ Opera 11.10+(更底版本未知) √ X Air 1.5+(更底版本未知

linux常用命令(六)

橙三吉。 提交于 2020-02-29 22:18:45
用于查找系统文件的相关命令 grep find locate grep:查找文件中符号条件的字符串(关键词) 命令语法:grep [选项] 查找模式 [文件名] 选项 选项含义 -E 模式是一个可扩展的正则表达式 -F 模式是一组有断行符分隔的定长字符串 -P 模式是一个Perl正则表达式 -b 在输出的每一行前显示包含匹配字符串的行在文件中的字节偏移量 -c 只显示匹配行的数量 -i 比较时不区分大小写 -h 抑制输出的文件名前缀 -l 只显示匹配的文件名 -L 只显示不匹配的文件名 -n 在输出前加上匹配字符串所在行的行号(文件首行行号为1) -v 只显示不包含匹配字符的行 -x 强制模式仅完全匹配一行 -w 强制模式仅完全匹配字词 -e<模式> 用模式来进行匹配操作 -f<文件> 从文件取得模式 -r 递归读取每个目录下的所有文件 -q 禁止一切注册输出 -I 强制认为该二进制文件没有包含任何搜索样式 -s 取消错误消息 --color 显示颜色 例子:在/etc/passwd文件中过滤出包含sy的行 [root@localhost ~]# grep sy /etc/passwd sync:x:5:0:sync:/sbin:/bin/sync systemd-network:x:192:192:systemd Network Management:/:/sbin

RabbitMQ Python 入门教程之HelloWorld

流过昼夜 提交于 2020-02-29 21:56:59
你好,世界 介绍 RabbitMQ是消息代理: 它接收并转发信息。举个例子: 小明从淘宝买了商品,配送员将快递投递到了快递柜, 小明再根据取件码去快递柜取快递。快递柜就相当于消息队列,快递员是生产者,小明是消费者。 生产者意味着发送, 所以发送信息的程序是生产者(Producer)。 尽管消息流经RabbitMQ和您的应用程序之中,但它们只能存储在队列之中, 甲队列仅由主机的存储器和磁盘限制和约束, 它本质上是一个大的消息缓冲器。许多生产者可以发送消息到同一个队列中,许多消费者可以尝试从一个队列中接收数据, 表示队列的方式。 消费与接收有相似的含义。消费者是一个程序,主要是等待接收信息。 生产者,消费者,消息队列不必位于同一主机上。一个应用程序既可以是消费者,也可以是生产者。 你好, 世界! 本部分内容中, 使用python编写两个小程序, 分别实现生产者和消费者。生产者进行数据发送,消费者进行数据接收并将其打印出来。 如图, P是生产者, 红色矩形相等于消息队列, C是消费者。 生产者将 hello 发送到队列中, 消费者从队列中接收 hello 。 RabbitMQ库 RabbitMQ使用多种协议。本教程使用AMQP 0-9-1,这是一种开放的通用消息传递协议。RabbitMQ有 许多不同语言 的客户。在本教程系列中,我们将使用 Pika 1.0.0

Storm Spout消息的生产者

旧街凉风 提交于 2020-02-29 21:52:53
1、Spout消息的生产者(即是Tuple的创建者) public interface IRichSpout extends ISpout, IComponent{} // BaseRichSpout 重写了IRichSpout接口的所有方法,都是空函数体 public abstract class BaseRichSpout extends BaseComponent implements IRichSpout {} 1.1 Spout相关核心接口 1.1.1 ISpout接口 import org.apache.storm.task.TopologyContext; import java.util.Map; import java.io.Serializable; public interface ISpout extends Serializable { void open(Map conf, TopologyContext context, SpoutOutputCollector collector); void close(); void activate(); void deactivate(); void nextTuple(); void ack(Object msgId); void fail(Object msgId); } 1.1.2

kill -9 vs kill

别来无恙 提交于 2020-02-29 21:48:12
no no no.不要使用kill -9. 它没有给进程留下善后的机会: 关闭socket链接 清理临时文件 将自己将要被销毁的消息通知给子进程 重置自己的终止状态 等等。 通常,应该发送15,等一两秒钟,如果没效果,发送2,如果还不行,发送1。如果还不行,那你应该把那个程序删掉,因为那个程序写的太烂了! 不要使用kill -9。不要用收割机来修剪花盆里的花。 Randal Schwartz,Perl Expert 本想自己写一篇,碰巧在 外刊IT评论 上看到了,就不重复了。 在Java中,如果使用 Runtime#addShutdownHook(Thread) 方法为应用添加了钩子,这时使用kill -9,这个钩子是不会执行的。如果想让钩子执行成功,应该使用kill -15(就是默认的不带参数的kill)。 来源: oschina 链接: https://my.oschina.net/u/178410/blog/277256

RxJava 简易上手指南

ぃ、小莉子 提交于 2020-02-29 21:46:32
RxJava简易上手指南 标签(空格分隔): android rxjava 作者:陈小默 版权声明:禁止商用,转载请注明出处 [toc] 本文章仅作为初学者最快上手实践,不会深入涉及代码原理,有兴趣的朋友可以参阅 扔物线-给Android开发者的RxJava详解 #一、介绍 RxJava通过扩展的观察者模式实现异步操作 Observable:被观察者 Observer:观察者 Subscriber:消息订阅者 其中的关系是观察者(Observer)或者消息订阅者(Subscriber)通过订阅(subscribe)的方式观察被观察者(Observable)的行为 #二、回调方法介绍 ##2.1 观察者对象<span id = "观察者对象"></span> //观察者对象 实现了观察者接口,其中泛型代表了观察者需要的相应对象 Observer<String> observer = new Observer<String>() { @Override public void onCompleted() { //观察任务完成时回调 } @Override public void onError(Throwable e) { //发生错误时回调,并即刻终止事件序列的传递(与onCompleted方法互斥) } @Override public void onNext(String s)

C++多态,虚函数,虚函数表,纯虚函数

旧巷老猫 提交于 2020-02-29 20:55:20
1、多态性 指相同对象收到不同消息或不同对象收到相同消息时产生不同的实现动作。 C++支持两种多态性:编译时多态性,运行时多态性。 a、编译时多态性:通过重载函数实现 ,模板(2次编译) b、运行时多态性:通过虚函数实现。 2、覆盖,隐藏,重载 重载,静态多态,一个类里面 覆盖, 虚函数 ,同参数,同名称,同返回 隐藏 : 1.1 基类非虚函数,子类与父类同名称(可能覆盖一大片父类函数)  1.2 基类非虚函数,派生类声明为virtual ,参数相同,此时virtual关键字失效 2.2 基类虚函数, 派生类不使用virtual, 形参不同,则丢失多态 2.3 基类和派生类都是 虚函数, 形参相同,返回值不同,报错 ////////////////////////// 多态典型应用,抽象工厂模式, /////////////////////////////////////////////////////////// 虚函数表,动态绑定如何实现? 多重继承,一个基类(含虚函数)会有一个虚表指针,继承后,自己的虚函数放在第一个虚表后面。 D:A,B,C; 强转D对象为A,B,C的时候,地址不一样 //////////////////////////////////// 构造函数与析构函数是否能定义为虚函数?能否抛出异常? 构造的时候必须要知道构造的东西结构吧,虚个鸡毛。。

《Unity API常用方法和类详细讲解—Siki学院》课程学习笔记02

三世轮回 提交于 2020-02-29 19:52:50
《Unity API常用方法和类详细讲解—Siki学院》课程学习笔记02 课时10 GameObject、Component和Object的千丝万缕的关系 一个游戏由多个场景组成,一个场景由多个游戏物体(GameObject)组成,一个游戏物体由多个组件组成(Component); 组件:Transform, Rigidboy, MeshRender, MeshFilter, Collider, NavmeshAgent, Animation, Animator,自定义脚本(Script) 课时11-12 UnityEngine下Object的静态方法以及GameObject独有的静态方法 Destroy():可以销毁游戏物体和组件; DontDestroyOnLoad(gameobject):设置共享的游戏物体,重新调整场景时不会销毁; FindObjectOfType()根据类型获取组件; FindObjectsOfType()根据类型返回组件数组; GameObject.Find(“Main Camera”);根据名称获得主相机; GameObject.FindGameObjectsWithTag(“Main Camera”);根据标签获得主相机; 课时13 游戏物体间消息的发送和接收 (1)GameObject.BroadcastMessage(string

深入浅出NodeJS——异步I/O

一个人想着一个人 提交于 2020-02-29 19:36:50
底层操作系统,异步通过信号量、消息等方式有着广泛的应用。 PHP语言从头到尾都是以同步堵塞方式执行,利于程序猿顺序编写业务逻辑。 异步I/O、事件驱动、单线程构成Node的基调。 why异步I/O (1)、用户体验 在Web2.0中Ajax广泛应用异步刷新机制能够更好的提高用户体验,消除UI堵塞。后端相同採用异步I/O能够有效较少同一时候请求多个资源的效应时间其为max(M,N)。 (2)、资源分配 多任务主流方式: a. 单线程异步I/O b. 多线程并行 多线程的代价在于创建线程和运行期线程上下午切换的开销较大。在复杂场景中,多线程常常面临锁、状态同步的问题。但多线程能够更有效的利用多核CPU,提高利用率。 NodeJS利用单线程远离多线程死锁、状态同步等问题;利用异步I/O,让单线程远离堵塞,以更好利用CPU。 为了弥补单线程无法利用多核CPU特点,Node採用类似Web Workers的子进程。 异步I/O 操作系统内核对于I/O仅仅有两种方式:堵塞和非堵塞 堵塞I/O一个特点是调用之后一定要等到系统内核层面完毕全部操作后,调用才结束。其造成CPU等待I/O,浪费时间和资源,CPU利用不充分。 非堵塞I/O不同之处在于调用之后会马上返回。其问题在于为了获取完整的数据,应用程序须要反复调用I/O操作来确认是否完毕,这样的反复调用判定是否完毕的技术叫做 轮询 堵塞I