这是一个简单的程序:
var express = require('express');
var app = express.createServer();
var count = 0;
app.get("/", function(req, res) {
res.send(count.toString());
count++;
});
app.listen(3000);
Run Code Online (Sandbox Code Playgroud)
当我在两个不同的浏览器中打开它时,第一个显示0
和第二个显示1
.
为什么?它们是不同的会话,所以我希望node.js为它们使用不同的子进程.我对PHP的理解是,共享变量应该使用数据库来实现.
为什么node.js可以在没有任何外部存储的情况下这样做?它是单进程但是多线程吗?
如何声明属于特定会话的变量?
我有两个php页面.我想在a.php中获取b.php.
在我的a.php中:
$ch = curl_init("b.php");
echo(curl_exec($ch));
curl_close($ch);
Run Code Online (Sandbox Code Playgroud)
不起作用;
但:
$ch = curl_init("www.site.com/b.php");
echo(curl_exec($ch));
curl_close($ch);
Run Code Online (Sandbox Code Playgroud)
没关系 我确定a.php在www.site.com下.
为什么curl不能用相对路径?有解决方法吗?
为了避免崩溃,我指定了我的每个gem的版本号Gemfile
:
gem 'sass-rails', '~> 3.1.5'
gem 'coffee-rails', '~> 3.1.1'
gem 'uglifier', '~> 1.0.3'
gem 'haml-rails', "~> 0.3.4"
gem 'simple_form', '~> 1.5.2'
Run Code Online (Sandbox Code Playgroud)
但至少我想知道是否有一些我没有安装过的新版本.例如,simple_form 2.0.0
已经发布.
我可以检查RubyGems上的每个gem,但是必须有一个自动工具来完成这项工作,对吧?
可能重复:
如何在复制控制功能中处理C数组成员?
如果我不覆盖operator =
类的类,它将使用默认的成员分配.
但是这是什么意思?
struct A {
int array[100];
};
A a;
A b=a;
Run Code Online (Sandbox Code Playgroud)
没错.如何b
COPES a
的array
?通常array_b = array_a
无效.
另一个例子:
struct A {
vector<int> vec;
};
A a;
A b=a;
Run Code Online (Sandbox Code Playgroud)
如何b
COPES a
的vec
?通过assignment(vec_b = vec_a
),constructor(vec_b = vector<int>(vec_a)
)或其他神秘的方式?
为什么Activity中的onCreate()受到保护?
或者我应该问:它为什么有效?
受保护的方法只能在类本身的内部或它的后代中调用.所以Android系统不能像"act.onCreate()"那样调用它.所以...怎么称呼它?
顺便说一句,为什么OnClickListener中的onClick()是公开的?有什么不同?
我用sunspot-rails进行搜索.这些是Rspec看起来像:
describe "GET search" do
before(:all) do
system("rake", "sunspot:solr:start")
end
after(:all) do
system("rake", "sunspot:solr:stop")
end
it "should do some search" do
Text.search do
...
end
end
end
Run Code Online (Sandbox Code Playgroud)
但它不起作用.我失败了:
Errno::ECONNREFUSED:
Connection refused - connect(2)
Run Code Online (Sandbox Code Playgroud)
但是如果我rake sunspot:solr:start RAILS_ENV=test
在命令行中手动输入,然后运行规范,它就会通过.
怎么了?是不是rake sunspot:solr:start RAILS_ENV=test
相当于system("rake", "sunspot:solr:start")
在测试模式?
(我试过`system("rake","sunspot:solr:start RAILS_EVN = test").相同.)
例如,user
有一个list
,list
有很多item
s,我在控制器中有以下代码:
@user = User.new()
@list = List.new()
(1..10).each { |i| @list.items << (Item.new(:order => i)) }
@user.list = @list
Run Code Online (Sandbox Code Playgroud)
现在,如果我打电话@user.save
,@list
10 item
秒将不会保存到数据库.我该如何重写这段代码?
我已经设置了我能想到的每个编码集变量utf8
.
在database.yml
:
development: &development
adapter: mysql2
encoding: utf8
Run Code Online (Sandbox Code Playgroud)
在my.cnf
:
[client]
default-character-set = utf8
[mysqld]
default-character-set = utf8
skip-character-set-client-handshake
character-set-server = utf8
collation-server = utf8_general_ci
init-connect = SET NAMES utf8
Run Code Online (Sandbox Code Playgroud)
如果我在终端中运行mysql客户端:
mysql> show variables like 'character%';
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system …
Run Code Online (Sandbox Code Playgroud) 用户登录后,我想手动记录此事件并在数据库中增加一个计数器列.
有什么样after_login
的Devise
?就像ActiveRecord
那个before_save
?
我在Scala中听到我可以_
在匿名函数中用作"匿名参数":
List(1,2,3).foreach(print(_))
Run Code Online (Sandbox Code Playgroud)
但是这段代码无法编译:
scala> def a[T](s: Seq[T]): Seq[T] = s.map(_)
<console>:7: error: missing parameter type for expanded function ((x$1) => s.map(x$1))
Run Code Online (Sandbox Code Playgroud)
这可以:
scala> def a[T](s: Seq[T]): Seq[T] = s.map(x => x)
a: [T](s: Seq[T])Seq[T]
Run Code Online (Sandbox Code Playgroud)
似乎是类型推断.但是怎么能x => x
提供更多的信息_
呢?