这是node.js的end
实现:
OutgoingMessage.prototype.end = function(data, encoding) {
if (this.finished) {
return false;
}
if (!this._header) {
this._implicitHeader();
}
if (data && !this._hasBody) {
console.error('This type of response MUST NOT have a body. ' +
'Ignoring data passed to end().');
data = false;
}
var ret;
var hot = this._headerSent === false &&
typeof(data) === 'string' &&
data.length > 0 &&
this.output.length === 0 &&
this.connection &&
this.connection.writable &&
this.connection._httpMessage === this;
if (hot) {
// Hot path. They're doing …
Run Code Online (Sandbox Code Playgroud) 这是我的Makefile:
start:
make start-prod
start-dev:
@NODE_ENV=development
make start-bare
start-prod:
@NODE_ENV=production
make start-bare
start-bare:
node src/bootstrap
test:
@NODE_ENV=test
mocha --ignore-leaks $(shell find ./test -name \*test.js)
.PHONY: start start-dev start-prod start-bare test
Run Code Online (Sandbox Code Playgroud)
当我跑的make start-dev
时候process.env.NODE_ENV
等于undefined
.为什么会这样?
我通过大量视频观看了一个优秀的shell脚本课程.现在我认为我对Bourne shell非常熟悉,我决定编写我的第一个shell脚本.
脚本目标:检查git工作目录是否干净.如果是这样,请将工作目录覆盖到名为的分支deployment
.最后,将部署分支推送到origin.
我最终得到了这段代码:
#!/bin/sh
######################################################
# Deploys working directory to git deployment branch.
# Requires that the working directory is clean.
######################################################
#check if the working directory is clean
if [ git diff-index --quiet HEAD ]
then
if [ git branch -f deployment ]
then
if [ git push origin deployment ]
then
echo
echo "OK. Successfully deployed to git deployment branch."
echo
exit 0 #success
else
echo
echo "Error: failed to push deployment branch …
Run Code Online (Sandbox Code Playgroud) 任何人都可以解释为什么:
function doAjax() {
var xmlHttpReq = false;
try { // Firefox, Opera 8.0+ and Safari
xmlHttpReq = new XMLHttpRequest();
}
catch (e) { // Internet Explorer
try {
xmlHttpReq = new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e) {
try {
xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e) {
alert("Your browser does not support AJAX. Please use an AJAX compatible browser.");
return false;
}
}
}
xmlHttpReq.open('GET', 'handler.php', true);
xmlHttpReq.onreadystatechange = function() {
if (xmlHttpReq.readyState == 4) {
var response = xmlHttpReq.responseText; …
Run Code Online (Sandbox Code Playgroud) 我编写了一个基于客户端<>服务器的多人游戏并完成了基础知识(它是一个用 actionscript 3 编写的 Flash 客户端)。下一步将是实施一个系统,让我可以轻松地为游戏添加能力。
这里的问题是一种能力可以做很多事情。例如。玩家 A 对玩家 B 使用“修复”能力,必须发生以下情况:
这只是一个例子,一个简单的能力必须发生很多事情。我可以进入每个对象并为这个咒语添加代码行。但是,当我需要添加很多(约 50 个)能力时,这会变得一团糟。另请注意,有些能力与其他能力完全不同,有些必须显示动画,有些则不会。有些将不得不损坏,有些将不得不增加统计数据等。
那么,这种“能力系统”通常是如何处理客户端和服务器端的呢?
我对这两个关键字以及在PHP5中使用它们的方式感到困惑.我认为"this"用于实例对象(不是静态的),而"self"是指对象本身,而不是它的实例,因此在静态对象中使用.对?
现在,我相信在类的静态方法中正确使用它来调用另一个静态变量/方法如下:
self::doSomething();
self::$testVar;
Run Code Online (Sandbox Code Playgroud)
确实如此?
但是,以下似乎也是可能的:
$self->testVar;
Run Code Online (Sandbox Code Playgroud)
然而,$ testVar是静态的.这是为什么?
另外,为什么$有时候会在自我面前使用,有时也不会使用"和"这个关键字的问题?
我正在寻找方法来开发大型服务器端JavaScript(我正在使用Node.js)项目更容易.
基本上,我遇到的JavaScript问题是,当我发出语法错误或者在同一个数组/变量中混合不同类型的对象类型时,我没有收到警告.
我正在使用Haxe解决这些问题(因为它给了我一个编译器),但是直接在JavaScript中编写的问题是必须为每个现有的JavaScript库创建绑定.
也许有一个IDE可以帮助我编写无错误的代码?
我基本上想要了解更多关于您使大型JavaScript项目开发更容易的经验.
提前致谢.
我有一个npm-shrinkwrap.json
和package.json
在所谓的"部署"混帐分支.
在我的服务器上,我从github获取并合并了这个部署分支.这可确保我的服务器具有最新的部署版本.
因为没有发送node_modules二进制文件等,所以我需要在从服务器中提取项目存储库之后运行npm install
或npm update
在服务器端运行.
这就是我决定使用的原因npm shrinkwrap
.但是,即使我npm-shrinkwrap.json
在主文件夹中运行npm install
它,它仍会安装较新版本的子模块,即使收缩包装的json文件已将其锁定.似乎npm甚至没有看到shrinkwrap文件.
谁能解释为什么会发生这种情况,以及如何解决这种情况?
这是以下的一部分package.json
:
"dependencies" : {
"eventemitter2" : "0.4.9",
"after" : "0.4.1",
"express" : "2.5.9"
},
"devDependencies" : {
"mocha" : ">= 1.0.3 < 2",
"should" : ">= 0.6.3 < 1",
"request" : ">= 2.9.202 < 3",
"commander" : ">= 0.6.0 < 1"
},
Run Code Online (Sandbox Code Playgroud)
然而npm-shrinkwrap.json
是:
{
"name": "appname",
"version": "0.0.1",
"dependencies": {
"eventemitter2": {
"version": …
Run Code Online (Sandbox Code Playgroud) 考虑以下承诺:
import { S3 } from 'aws-sdk'
import { promisify } from 'util'
const s3 = new S3({ apiVersion: '2006-03-01' })
const getObject = promisify<S3.GetObjectRequest, S3.GetObjectOutput>(
s3.getObject
)
Run Code Online (Sandbox Code Playgroud)
这可以正常工作,除了会出现错误,TypeError: this.makeRequest is not a function
因为s3.getObject
现在绑定到错误的this
作用域。但是,这:
const getObject = promisify<S3.GetObjectRequest, S3.GetObjectOutput>(
s3.getObject.bind(s3)
)
Run Code Online (Sandbox Code Playgroud)
破坏类型安全性并会出错:(Unsafe use of expression of type 'any'.
假设您使用严格模式)。
那么,如何getObject
在Typescript中实现s3之类的内容呢?
我正在尝试过滤一些道具,然后将其余道具传递给原生 html 元素,如下所示:
const Placeholder = (
display: boolean,
...rest: Array<React.LabelHTMLAttributes<HTMLLabelElement>>
) => <label {...rest} />
Run Code Online (Sandbox Code Playgroud)
问题是这给了我这个错误:
Type '{ length: number; toString(): string; toLocaleString(): string; pop(): LabelHTMLAttributes<HTMLLabelElement> | undefined; push(...items: LabelHTMLAttributes<HTMLLabelElement>[]): number; ... 28 more ...; flat<U>(this: U[][][][][][][][], depth: 7): U[]; flat<U>(this: U[][][][][][][], depth: 6): U[]; flat<U>(this: U[]...' has no properties in common with type 'DetailedHTMLProps<LabelHTMLAttributes<HTMLLabelElement>, HTMLLabelElement>'.ts(2559)
Run Code Online (Sandbox Code Playgroud)
我将如何定义...rest
原生 html 元素(如label
Typescript / React 中的a)的参数类型?
我正在开发一个客户端<>服务器多人游戏.身份验证在与所有游戏逻辑等相同的服务器上完成.这意味着我的身份验证密码加密算法不会花费太多的计算时间,因为它会延迟所有其他所需的操作.如果许多人同时登录,那么当使用非常强大的加密算法时会导致明显的延迟,这需要花费大量时间来处理.
这就是为什么我在寻找一种平衡:一种加密算法,它仍然可靠,不易破解但速度足以在同一台服务器上执行.您有什么推荐的吗?
authentication encryption algorithm performance client-server
在提出这个问题之后,似乎需要很多CSS黑客和技巧来实现这么简单的事情.人们说CSS破了.
所以我现在想,如果没有 CSS,什么是一些替代打造先进的HTML结构和标记/布局?
我们还剩下桌子和框架吗?或者还有其他什么?
node.js ×5
javascript ×4
typescript ×2
ajax ×1
algorithm ×1
amazon-s3 ×1
bash ×1
css ×1
debugging ×1
dependencies ×1
encryption ×1
html ×1
http ×1
httprequest ×1
ide ×1
jquery ×1
keyword ×1
layout ×1
makefile ×1
markup ×1
npm ×1
performance ×1
php ×1
reactjs ×1
self ×1
sh ×1
shell ×1
this ×1
unix ×1
validation ×1