Windows API
FindWindow
函数功能:该函数获得一个顶层窗口的句柄,该窗口的类名和窗口名与给定的字符串相匹配。这个函数不查找子窗口。在查找时不区分大小写。
函数原型:HWND FindWindow(LPCTSTR IpClassName,LPCTSTR IpWindowName);
参数:IpClassName:指向一个指定了类名的空结束字符串,或一个标识类名字符串的成员的指针。如果该参数为一个成员,则它必须为前次调用theGlobafAddAtom函数产生的全局成员。该成员为16位,必须位于IpClassName的低 16位,高位必须为 0。
IpWindowName:指向一个指定了窗口名(窗口标题)的空
继续阅读 »
本文将讨论使 JavaScript 函数更有表现力的两个特性:Rest 参数和参数默认值。
Rest 参数
通常,我们需要创建一个可变参数的函数,可变参数是指函数可以接受任意数量的参数。例如,String.prototype.concat 可以接受任何数量的字符串作为参数。使用 Rest 参数,ES6 为我们提供一种新的方式来创建可变参数的函数。
我们来实现一个示例函数 containsAll,用于检查一个字符串中是否包含某些子字符串。例如,containsAll("banana", "b", "nan") 将返回true,containsAll("banana", "c", "nan") 将返回 false。
下面是传统的
继续阅读 »
1. 定义
1、可以带function fun() 定义,也可以直接fun() 定义,不带任何参数。
2、参数返回,可以显示加:return 返回,如果不加,将以最后一条命令运行结果,作为返回值。 return后跟数值n(0-255)
继续阅读 »
FlameGraph的例图,解释如下:
图中每一个方块代表栈里的一个函数。
Y轴代表调用深度,最上面的是当前正在CPU上执行的函数,下面的都是其祖先。每个函数都是由它下方的函数调用的。
X轴不是按照时间先后排列的,它只代表样本数目。方块越宽,代表该函数出现的次数越多。
在有多个并发线程同时被采样,样本总数可能超过采样所用的时间。
继续阅读 »
Java访问修饰符
|访问修饰符|作用范围|
|---|---|
|public| 完全开发|
|private|只能本类访问|
|protected|同包及子类访问|
|default(无修饰符时)|同包访问|
Java用于类的修饰符(2个)和限定符(2个)
|访问修饰符|作用范围|
|---|---|
|public| 完全开发|
|default(无) |同包访问|
注意:内部类可以拥有更多的访问修饰符
more
|限定符|描述|
|---|---|
|abstract|指定为抽象类|
|final|指定为最终类,不可被继承|
Java用于成员变量的修饰符
public
protected
private
继续阅读 »
Class类型
Objective-C里面,一个类被正确编译之后,在这个类中存在一个变量用于保存这个类的信息。我们可以通过一个普通的字符串取得这个Class,也可以通过对象取得。Class被成功取得后,可以把它当做一个已经定义好的类来使用。
继续阅读 »
变量提升,就是当变量或者函数不管在哪里声明的时候,都会被提升到该作用域的顶部来声明
这里有三个要注意的地方,我们也会在等下的例子里一个一个的说到
JavaScript没有块级作用域
函数声明会覆盖变量声明,但不会覆盖变量赋值
函数声明会提升,函数表达式不会被提升
继续阅读 »
一个依赖于外部状态 s 的伪函数 f' :: a -> b,我们可以将其改写为 f :: a -> s -> (b, s) 使其良定。即,在输入输出中显式传递状态 s。现在,我们需要利用 Monad 将状态传递过程隐藏起来。
注意到,输出值 (b, s) 中的末状态 s 不仅依赖于输入状态,更依赖于之前更改过状态的一系列函数及其逻辑。因此我们不能简单地将 Monad 定义为 (a, s) 类似的形式,否则两个函数用 >=> 结合的结果将与函数逻辑无关,这与我们的期望不符。
考虑如下定义:
haskell
newtype State s a = { runState :: s -> (a, s) }
由于 -> 的右结合性,
继续阅读 »
本节实现的是使用OpenCV里自带的有关滚动条的函数,可以调节R、G、B三个数值,并显示颜色。
回调函数
滚动条设置
显示设置的颜色
实现过程
引用与创建空图
不再赘述,代码如下。
``` python
import cv2
import numpy
empty image
img = np.zeros((512, 512, 3), np.uint8)
```
设置空的回调函数
作为滚动条值变化时的回调函数,这里不需要做任何设置,设置为pass:
```python
callbacks
def nothing(x):
pass
```
创建四个滚动条
其中三个分别为R、G和B,其值范围为0~25
继续阅读 »
1. 什么是路由
在Web开发过程中,经常会遇到『路由』的概念。那么,到底什么是路由?简单来说,路由就是URL到函数的映射。
2. router和route的区别
route就是一条路由,它将一个URL路径和一个函数进行映射,例如:
/users -> getAllUsers()
/users/count -> getUsersCount()
这就是两条路由,当访问/users的时候,会执行getAllUsers()函数;当访问/users/count的时候,会执行getUsersCount()函数。
而router可以理解为一个容器,或者说一种机制,它管理了一组route。简单来说,route只
继续阅读 »