第一个第三者
非常有趣啊
第一个第三者
非常有趣啊
starts when the previous operation succeeds, with the result from the previous step
从上一步能获得什么?
functions return a promise you can attach your callbacks to instead
是在doSomething执行完后设置,是不是很奇怪?其实这里的“执行完”并非真正的执行。
E.g., instead of an old-style function that expects two callbacks, and calls one of them on eventual completion or failure
预先设置的两个回调函数用与被调用其一,调用谁由调用者的结果决定。
make会在当前目录下找名字叫“Makefile”或“makefile”的文件。 如果找到,它会找文件中的第一个目标文件(target),在上面的例子中,他会找到“edit”这个文件,并把这个文件作为最终的目标文件。 如果edit文件不存在,或是edit所依赖的后面的 .o 文件的文件修改时间要比edit这个文件新,那么,他就会执行后面所定义的命令来生成edit这个文件。 如果edit所依赖的.o文件也存在,那么make会在当前文件中找目标为.o文件的依赖性,如果找到则再根据那一个规则生成.o文件。(这有点像一个堆栈的过程) 当然,你的C文件和H文件是存在的啦,于是make会生成 .o 文件,然后再用 .o 文件声明make的终极任务,也就是执行文件edit了。
具体规则的执行过程示例
make是如何工作的
1,2,3,4,5
1.如果这个工程没有编译过,那么我们的所有C文件都要编译并被链接。 2.如果这个工程的某几个C文件被修改,那么我们只编译被修改的C文件,并链接目标程序。 3.如果这个工程的头文件被改变了,那么我们需要编译引用了这几个头文件的C文件,并链接目标程序。
执行规则
所以如果需要处理回调函数的参数,我们就需要写在回调函数内。
什么意思?
ctrl + c - 退出当前终端。 ctrl + c 按下两次 - 退出 Node REPL。 ctrl + d - 退出 Node REPL. 向上/向下 键 - 查看输入的历史命令 tab 键 - 列出当前命令 .help - 列出使用命令 .break - 退出多行表达式 .clear - 退出多行表达式 .save filename - 保存当前的 Node REPL 会话到指定文件 .load filename - 载入当前 Node REPL 会话的文件内容。
node常用的REPL命令
We linked to the CSS in our template. We could have hard-coded this link to /static/app.css. But what if the site is later moved under /somesite/static/? Or perhaps the web developer changes the arrangement on disk? Pyramid gives a helper that provides flexibility on URL generation:
Save, and visit http://localhost:6543/ again. Notice the nice traceback display. On the lowest line, click the "screen" icon to the right, and try typing the variable names request and Response. What else can you discover?
???
件上
OK
This will start the server on port 5000
Why on the home page when i enter an website address in "Paste a link...", it is processed by hypothes.is instead of my local hypotheis serivces?elasticsearch did nothing!
do three things: load a texture into OpenGL, supply texture coordinates with the vertices (to map the texture to them) and perform a sampling operation from the texture using the texture coordinates in order to get the pixel color.
texture mapping three things.
25.0
为什么乘以25?经验值?
This means that as the original triangle is rotated, stretched or squeezed the texture diligently follows it
actually, texture coordinates will do transformation.
The rasterizer performs interpolation between the three triangle vertices (either going line by line or any other technique) and "visits" each pixel inside the triangle by executing the fragment shader.
OK
In that case we will need to supply the returned value to glVertexAttributePointer instead of using the hard coded value.
means should finish creating programing first and set value by glGetAttribLocation
The rasterizer will look for that variable and will use it as the position in screen space
coordinate of screen
Getting the projection from 3D to 2D is actually accomplished in two seperate stages. First you need to multiply all your vertices by the projection matrix (which we will develop in a few tutorials) and then the GPU automatically performs what is known as "perspective divide" to the position attribute before it reaches the rasterizer.
vertices multiply + perspective divide
three vertices with the values (-0.5, -0.5), (0.5, -0.5) and (0.0, 0.5) reach the rasterizer
3d->2d
surfaces. Our method mainly has two stages: (1) We firstlyfind out candidate intersected-triangles pairs based on Octree and then compute the inter-section lines for all pairs of triangles with parallel algorithm; (2) We form closed or op
good
POST /website/pageviews/1/_update?retry_on_conflict=5 { "script" : "ctx._source.views+=1", "upsert": { "views": 0 } }
x
POST /website/pageviews/1/_update { "script" : "ctx._source.views+=1", "upsert": { "views": 1 } }
d
Running different major version releases of Kibana and Elasticsearch (e.g. Kibana 5.x and Elasticsearch 2.x) is not supported, nor is running a minor version of Kibana that is newer than the version of Elasticsearch (e.g. Kibana 5.1 and Elasticsearch 5.0).Running a minor version of Elasticsearch that is higher than Kibana will generally work in order to faciliate an upgrade process where Elasticsearch is upgraded first (e.g. Kibana 5.0 and Elasticsearch 5.1). In this configuration, a warning will be logged on Kibana server startup, so it’s only meant to be temporary until Kibana is upgraded to the same version as Elasticsearch.
elasticsearch.major == Kibana.major must; elasticsearch.minor >= Kibana.minor must; elasticsearch.patch >= Kibana.patch must; same version is suggested, not equal has warning
“提速降费” 不一定是减法
fdsafdsa
此处没有直接 “$ hello”是因为当前目录不是当前用户可执行文件的默认目录,而将当前目录“.”设为默认目录是一个不安全的设置。
$hello它是想怎么用?
当一个函数被调用时,脚本程序的位置参数($* $@ $#参数个数 $1 $2 $?上一条独立命令运行结果 )等会被替换为函数的参数。
函数参数样例代码:
function quit { exit }<br> function e { echo $1 }<br> e Hello e World quit echo foo 按作者的意思,$1会被清空,那么$2,$3等是否会被清空呢?
'subroutine' - actually a functor
subroutine is a functor.