小编Car*_*ers的帖子

为什么这个简单的Perl推/弹程序不起作用?

我正在阅读Llama(Learning Perl)一书,并正在进行练习.对于这个练习:

编写一个程序,在单独的行上读取字符串列表,直到输入结束,并以相反的顺序打印出列表.[ .]

好吧,我已经想出了一个更简单的方法(我记得你可以reverse在数组上使用......到目前为止,Perl是如此......真棒),但我想知道为什么这个没有用.

#!/usr/bin/perl

use 5.010;

chomp(@strings = <STDIN>);

foreach (@strings){
    push @revstrings, $_;
}

while($i++ <= scalar @revstrings){
    say pop @revstrings;
}
Run Code Online (Sandbox Code Playgroud)

它是这样的:

$ ./first
one
two
three

[^ D]
三个
两个
$

如果我<=将while循环更改为just,则输出相同<.

perl

7
推荐指数
1
解决办法
1275
查看次数

汇编语言是多么不便携/ /真的/?

我知道在程序集中编写任何东西,或者将程序集添加到任何程序都会损害其可移植性.但是,有多糟糕?我的意思是,这些天基本上所有PC都是x86或x64,对吗?那么,如果我将汇编嵌入到C程序中,为什么不管它到哪里都不能编译?

当您真正深入了解特定处理器的特定怪癖,从一段代码中挤出每一滴性能时,这种不可移植性的概念是否只是指的?

如果我没记错的话,PC游戏"过山车大亨"几乎完全用汇编语言写成.那么......它真的有多么难以置信?

64-bit x86 assembly portability

7
推荐指数
3
解决办法
5024
查看次数

我在哪里可以找到一个网络项目"安全检查表?"

我正在寻找一个完整的安全指南列表,用于在Apache(Linux)服务器上编程和部署PHP Web站点和应用程序.基本上,在完成项目之前要运行的"安全检查列表".也就是说,

  1. 跨站脚本
  2. 跨站点请求伪造
  3. 清理进入数据库的表单数据
  4. 在自定义php.ini中禁用注册全局和错误报告
  5. 上传web root下面的文件...(列表继续)

我在网上和这个论坛上做了一些搜索,但找不到一份全面,简洁,完整的指南清单.

提前致谢.

php security xss

7
推荐指数
2
解决办法
869
查看次数

如何创建自己的表单设计器?

我正在开始我的第一个C#项目,我想创建一个"表单设计器"(就像VS中的那个).

我们的想法是,将有一个带有限工具箱的可视化表单设计器,它将生成Python代码(后来更多)以创建相同的表单.

问题是,我不知道如何开始.首先,我在VS中拥有表单设计器:如何制作"表单内的表单"?

接下来......我不知道这会有多复杂.我想我可以在单击表单时在表单上创建的每个控件旁边显示小框,用于调整大小,并在双击或其他内容时使文本框显示在其上,以更改其中的文本......这样的事情.

所以我想知道的另一件事是:
我确实有C和C++的编程经验,我已经做了很多年的PHP并且最近开始使用Python.我在VB6中动态生成了表单.鉴于这种经历,我对这个项目的态度是什么?

c# forms

7
推荐指数
1
解决办法
9333
查看次数

为什么我的sqlite3外键不起作用?

我从python解释器运行以下代码,并期望insert语句失败并抛出某种异常.但它没有发生:

Python 2.6.5 (r265:79096, Mar 19 2010, 21:48:26) [MSC v.1500 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import sqlite3
>>> conn = sqlite3.connect("test.db")
>>> conn.executescript("""
... pragma foreign_keys=on;
... begin transaction;
... create table t1 (i integer primary key, a);
... create table t2 (i, a, foreign key (i) references t1(i));
... commit;
... """)
<sqlite3.Cursor object at 0x0229DAA0>
>>> c = conn.cursor()
>>> c.execute("insert into t2 values (6, 8)")
<sqlite3.Cursor object …
Run Code Online (Sandbox Code Playgroud)

python sqlite foreign-keys

7
推荐指数
2
解决办法
5343
查看次数

计算解决开普勒方程

我试图解决开普勒方程,作为在给定时间内找到轨道体的真实异常的一个步骤.事实证明,开普勒的方程很难解决,维基百科页面使用微积分描述了这个过程.好吧,我不知道微积分,但我知道解决方程涉及无数个集合,这些集合产生了与正确答案越来越接近的近似值.

我无法从数学上看到如何计算这个,所以我希望有更好数学背景的人可以帮助我.我怎么能在计算上解决这个野兽?

FWIW,我正在使用F# - 我可以计算出这个等式所需的其他元素,只是这部分我遇到了麻烦.

我也对接近时间,近点距离和离心率的真实异常的方法持开放态度

language-agnostic astronomy

7
推荐指数
2
解决办法
4003
查看次数

了解数据库中的键

这个问题是针对MySQL的,因为我正在使用它 - 但我认为几乎每个主要的数据库实现都可能相同或类似.

密钥如何在数据库中工作?我的意思是,当你将一个字段设置为"主键","唯一键"或"索引"时 - 每个字段的作用是什么,我何时应该使用每个字段?

现在我有一个包含几个字段的表,其中一个是GUID(减去它周围的{和}).我将GUID字段设置为主键,我看到它创建了一个二叉树.因此,它提高了搜索性能 - 但与其他类型的键区别的是什么?

我意识到这可能与编程无关(虽然它与开发有关) - 我不知道究竟要问这个问题,但是我最常用的是所以我会问这里.必要时迁移

mysql database-design

6
推荐指数
1
解决办法
778
查看次数

在PHP中实现一个简单的准备查询

我正在尝试创建一个非常简单的数据库抽象,其中一部分使用准备好的查询.

现在,我有一个函数接受一个查询字符串和一个值数组,如下所示:

$query = "SELECT `first_name`, `last_name` FROM ::table_name WHERE `id` = :id"
$values = array(
    'table_name' = $this->table_name,
    'id' = $user_id,
);
Run Code Online (Sandbox Code Playgroud)

这将创建一个这样的查询:

SELECT `first_name`, `last_name` FROM `sometablename` WHERE `id` = '1234'
Run Code Online (Sandbox Code Playgroud)

我的问题是:
我正在使用preg_replace_callback从查询字符串中获取:: identifiers和:标识符,然后将其发送到清理函数.问题是,我还需要发送values数组,以便函数可以从regexp获取匹配,使用该键获取values数组中的项,转义值,将其包装在右引号中然后返回.

但我无法将任何额外信息传递给回调.我可以使用私有静态变量,但这非常hacky.

另一种方法是什么?

php mysql callback prepared-statement

6
推荐指数
1
解决办法
140
查看次数

我应该如何在Django应用程序中实现反向AJAX?

在Django中构建聊天应用程序时,我应该如何实现反向AJAX?我看过Django-Orbited,根据我的理解,这会将一个彗星服务器放在HTTP服务器前面.如果我只是运行Django开发服务器,这似乎很好,但是当我开始从mod_wsgi运行应用程序时,这是如何工作的?如何让轨道服务器处理每个请求规模?这是正确的方法吗?

我已经看过另一种方法(长轮询)似乎会起作用,虽然我不确定会涉及到什么.客户端是否会请求一个可以存放在自己的线程中的页面,以免阻塞其余的应用程序?它会阻止吗?客户要求的脚本是否必须不断轮询信息?

哪种方法更合适?哪个更便携,可扩展,更理智等?除了客户端查询消息之外,还有其他一些我忽略的好方法吗?

python django ajax comet reverse-ajax

6
推荐指数
1
解决办法
2309
查看次数

如何声明一个比其封闭块更长寿的闭包

我想这个问题一般都是关于生命周期的,但我特别是因为你不能写出他们的类型而对闭包有困难.

这个例子有点做作 - 我刚刚开始学习Rust,这是我一直挂着的东西.

这个程序不会编译:

fn main () {
    let mut list: Vec<&Fn() -> i32> = Vec::new();

    {
        list.push(&|| 1);
    }
}
Run Code Online (Sandbox Code Playgroud)

因为:

src/main.rs:5:25: 5:24 error: borrowed value does not live long enough
src/main.rs:5         list.push(&|| 1);
                                 ^~~~
src/main.rs:2:50: 7:2 note: reference must be valid for the block suffix following statement 0 at 2:49...
src/main.rs:2     let mut list: Vec<&Fn() -> i32> = Vec::new();
src/main.rs:3
src/main.rs:4     {
src/main.rs:5         list.push(&move || 1);
src/main.rs:6     }
src/main.rs:7 }
src/main.rs:5:9: 5:26 note: ...but borrowed value is …
Run Code Online (Sandbox Code Playgroud)

lifetime ownership rust

6
推荐指数
2
解决办法
330
查看次数