假设我在视图中看到这样的字段:
<li class="bigfield">
<?php echo $form->input('phone', array(
'placeholder' => 'Phone',
'label' => false,
'between' => '<br />'
)); ?>
</li>
Run Code Online (Sandbox Code Playgroud)
如果我在此字段上有验证规则并且验证失败,我会看到以下HTML:
<li class="bigfield">
<div class="input text required error">
<br>
<input name="data[Appointment][email]" type="text" placeholder="Email"
maxlength="45" value="" id="AppointmentEmail" class="form-error">
<div class="error-message">Please enter a valid email address</div>
</div>
</li>
Run Code Online (Sandbox Code Playgroud)
我很喜欢做这样的事情的错误消息的div移动到页面的整个不同的组成部分,而然后用相同<LI>与字段本身里面有它.这样做最直接的方法是什么?
我在公共互联网上有一些登台服务器,运行一些网站的生产代码副本.如果登台网站被编入索引,我真的不喜欢它.
有没有办法可以在登台服务器上修改我的httpd.conf来阻止搜索引擎抓取工具?
由于我使用脚本将相同的代码库复制到两个服务器,因此更改robots.txt将无法正常工作.此外,我宁愿不更改虚拟主机conf文件,因为有一堆网站,如果我建立一个新网站,我不想记得复制某个设置.
我在我的Rails应用程序中有一个Ruby脚本,用于从Twitter加载一些数据.
在未来,我将使它成为一个自动后台进程,但现在我手动运行它,如:
ruby /lib/twitter/twitterLoad.rb
Run Code Online (Sandbox Code Playgroud)
为了使用Rails模型类等,我将以下作为脚本的第一行:
require "#{File.dirname(__FILE__)}/../../config/environment.rb"
Run Code Online (Sandbox Code Playgroud)
默认情况下,使用开发环境.但是,我希望能够在某个时候选择生产环境.
更新#1:RAILS_ENV常量在environment.rb文件中设置.所以,我能够将ENV ['RAILS_ENV'] ='production'放在最顶层(在environment.rb之前)并解决我的问题.所以,我的新问题是,可以通过命令行传入env变量吗?
我想用动态创建的regxp创建子例程.这是我到目前为止:
#!/usr/bin/perl
use strict;
my $var = 1234567890;
foreach (1 .. 9){
&theSub($_);
}
sub theSub {
my $int = @_;
my $var2 = $var =~ m/(??{$int})/;
print "$var2\n";
}
Run Code Online (Sandbox Code Playgroud)
看起来它会起作用,但似乎一旦正则表达式中的$ int得到第一次评估,它就永远存在.
反正有没有做类似的事情,但每次调用sub时正则表达式都会获取新的参数?
这个问题类似于我的上一个问题.除了这次我使用的是字母而不是6位整数.我想找到不按顺序的"字母".
假设我有以下数据:
id | Date | Letter
-----------------------------
01 | 5/1/2009 | X
02 | 5/1/2009 | Y
03 | 5/1/2009 | Z
04 | 5/1/2009 | A
05 | 5/1/2009 | B
06 | 5/1/2009 | D
Run Code Online (Sandbox Code Playgroud)
我希望能够提出一个查询,告诉我在05和06行之间应该有一行"C".
在我的上一个问题(使用INT)中,我获得了类似于以下解决方案的东西,并且它工作得很好.
SELECT * from TABLE1 t1
LEFT OUTER JOIN TABLE2 t2 ON t2.INTCol - 1 = t2.INTCol AND t1.date = t2.date
WHERE t2.id IS NULL
Run Code Online (Sandbox Code Playgroud)
好吧,有信(据我所知)我不能说(G - 1).那么,还有另一种方法吗?
我使用的数据库是SQL Server 2005.我相信在使用TRANSLATE的PL/SQL中有一个简单的解决方案,但我不能做任何事情,比如使用TSQL.
我正在使用Node.js,Socket.io和Redisstore,来自Socket.io的人群和Redis.
我有一个pub/sub应用程序,它只适用于一个Node.js节点.但是,当它承受重负载时,由于Node.js不是为多核机器编写的,因此只占服务器的一个核心.
正如您在下面看到的,我现在正在使用Learnboost中的Cluster模块,与制作Socket.io的人一样.
但是,当我启动4个工作进程时,每个进入和订阅的浏览器客户端都会获得Redis中发布的每条消息的4个副本.如果有三个工作进程,则有三个副本.
我猜我需要以某种方式将redis pub/sub功能移动到cluster.js文件中.
Cluster.js
var cluster = require('./node_modules/cluster');
cluster('./app')
.set('workers', 4)
.use(cluster.logger('logs'))
.use(cluster.stats())
.use(cluster.pidfiles('pids'))
.use(cluster.cli())
.use(cluster.repl(8888))
.listen(8000);
Run Code Online (Sandbox Code Playgroud)
App.js
redis = require('redis'),
sys = require('sys');
var rc = redis.createClient();
var path = require('path')
, connect = require('connect')
, app = connect.createServer(connect.static(path.join(__dirname, '../')));
// require the new redis store
var sio = require('socket.io')
, RedisStore = sio.RedisStore
, io = sio.listen(app);
io.set('store', new RedisStore);io.sockets.on('connection', function(socket) {
sys.log('ShowControl -- Socket connected: ' + socket.id);
socket.on('channel', function(ch) {
socket.join(ch)
sys.log('ShowControl -- …Run Code Online (Sandbox Code Playgroud) 假设我有一个数组,@ theArr,它包含大约1,000个元素,如下所示:
01 '12 16 sj.1012804p1012831.93.gz'
02 '12 16 sj.1012832p1012859.94.gz'
03 '12 16 sj.1012860p1012887.95.gz'
04 '12 16 sj.1012888p1012915.96.gz'
05 '12 16 sj.1012916p1012943.97.gz'
06 '12 16 sj.875352p875407.01.gz'
07 '12 16 sj.875408p875435.02.gz'
08 '12 16 sj.875436p875535.03.gz'
09 '12 16 sj.875536p875575.04.gz'
10 '12 16 sj.875576p875603.05.gz'
11 '12 16 sj.875604p875631.06.gz'
12 '12 16 sj.875632p875659.07.gz'
13 '12 16 sj.875660p875687.08.gz'
14 '12 16 sj.875688p875715.09.gz'
15 '12 16 sj.875716p875743.10.gz'
...
Run Code Online (Sandbox Code Playgroud)
如果我的第一组数字(在'sj.'和'p'之间)总是6位数,我就不会有问题.但是,当数字翻转为7位数时,默认排序将停止工作,因为较大的7位数字位于较小的6位数字之前.
有没有办法告诉Perl按每个数组元素中字符串内的那个数字排序?
假设我的下表有三列:
id | start_block | end_block
-----------------------------
01 | 00000000001 | 00000000005
02 | 00000000006 | 00000000011
03 | 00000000012 | 00000000018
04 | 00000000025 | 00000000031
05 | 00000000032 | 00000000043
Run Code Online (Sandbox Code Playgroud)
每行是"开始块"和"结束块".如果数据是完美的,那么每个起始块将比它之前的结束块多一个.因此,对于行id == 02,起始块为6,而前面的行为5的结束块.
我需要查询这些数据(它是成千上万行)并找到任何缺失的行.根据我的示例数据,03和04之间应该有一行,其起始块为19,结束块为24.
我正在尝试在JSP中构建一个报告来协调这些数据并找到丢失的行.执行此操作的丑陋方法是将整个记录集拉入数组并执行类似于每一行的操作:
if ((arry(i,1) + 1) != (arry(i+1),1)( {
print("Bad Row!\n");
}
Run Code Online (Sandbox Code Playgroud)
但是,我真的希望能够直接查询记录集并返回我需要的内容.那可能吗?如果没有,有人能指出我正确的方向创建一个存储过程,做我需要的吗?
我希望不同的客户端(Web浏览器)能够订阅单独的Redis频道.
我能够将请求的通道从客户端页面传递到node.js服务器.但是,如果我有三个浏览器订阅,每个订阅三个单独的频道,所有三个浏览器接收发布到三个频道中的任何一个的消息.
这是客户端HTML代码.我有三个单独的页面,其中频道名称是硬编码的.在此示例中,通道为"channel1".
client1.html
<script src="/socket.io/socket.io.js"></script>
<script>
var socket = io.connect('http://localhost');
socket.on('giveChannel', function () {
console.log('sending channel');
socket.emit('sendChannel', "{\"channel\":\"channel\"}");
});
socket.on('message', function (data) {
console.log(data);
});
</script>
Run Code Online (Sandbox Code Playgroud)
这是Node.js文件.
app.js
redis = require('redis'),
sys = require('sys');
var http = require('http');
var url = require('url');
var fs = require('fs');
var server = http.createServer(function (req, res) {
var path = url.parse(req.url).pathname;
fs.readFile(__dirname + path, function(err, data) {
if (err) return null;
res.writeHead(200, {'Content-Type': 'text/html'});
res.write(data, 'utf8');
res.end();
});
});
io = require('socket.io').listen(server);
io.sockets.on('connection', …Run Code Online (Sandbox Code Playgroud) 我们希望在登台服务器上测试电子邮件功能,但我们不希望不小心给客户发送电子邮件.
所以,我希望发送电子邮件到"anything@corporation.com"工作,但发送到"anything@customer.com"的电子邮件被禁止.
我可以进入我的所有控制器并输入代码,只有当电子邮件包含我们的域或环境是prod时才触发"传递"方法.但是,这看起来有点像kludgey.我想广泛应用.
我为一家公司做了一些工作,我们有了一个想法.如果他们与我们公司一起购买,我们想要做的就是投入一个简单的iPhone应用程序.我们将构建应用程序,但新业务将在Apple Store上销售.如果没有业务经历注册Apple开发者计划的所有环节,这是否可能?
需要说明的是,我们公司将完成100%的工作.我们只想将应用程序交给我们的客户并完成它.我们宁愿在我们公司的标签下看不到几十个非常相似的应用程序.
algorithm ×4
database ×2
node.js ×2
perl ×2
redis ×2
regex ×2
ruby ×2
socket.io ×2
sql ×2
sql-server ×2
actionmailer ×1
apache ×1
app-store ×1
cakephp ×1
email ×1
httpd.conf ×1
iphone ×1
javascript ×1
search ×1
sorting ×1
t-sql ×1
validation ×1
web-crawler ×1