小编Kyl*_*tan的帖子

删除庞大的MySQL表的最快方法

我有一个庞大的MySQL(InnoDB)数据库,在会话表中有数百万行,这些行是由与我们相同的服务器上运行的无关,故障的爬虫创建的.不幸的是,我现在必须解决这个问题.

如果我尝试truncate table sessions;它似乎需要非常长的时间(超过30分钟).我不关心数据; 我只想让桌子尽快消失.有没有更快的方法,还是我必须在一夜之间坚持下去?

mysql innodb

52
推荐指数
4
解决办法
4万
查看次数

Ruby:如何将一个数组的元素与前缀一起加入?

我有一个像这样的数组:

["marblecake", "also", "the", 1337]
Run Code Online (Sandbox Code Playgroud)

我想找回一个字符串,其中包含以某个指定字符串为前缀的数组的每个元素,然后由另一个指定的字符串连接在一起.例如,

["marblecake", "also", "the", 1337].join_with_prefix("%", "__")
Run Code Online (Sandbox Code Playgroud)

应该导致

# => %marblecake__%also__%the__%1337
Run Code Online (Sandbox Code Playgroud)

我怎么能这样做?

ruby arrays string

19
推荐指数
2
解决办法
4万
查看次数

设计问题:传递您使用的字段或传递对象?

我经常看到两种方法接口的冲突策略,概括如下:

// Form 1: Pass in an object.
double calculateTaxesOwed(TaxForm f) { ... }

// Form 2: Pass in the fields you'll use.
double calculateTaxesOwed(double taxRate, double income) { ... }

// use of form 1:
TaxForm f = ...
double payment = calculateTaxesOwed(f);

// use of form 2:
TaxForm f = ...
double payment = calculateTaxesOwed(f.getTaxRate(), f.getIncome());
Run Code Online (Sandbox Code Playgroud)

我见过第二种形式的拥护者,特别是在动态语言中,可能更难评估正在使用的字段.

但是,我更喜欢第一种形式:它更短,错误的空间更小,如果对象的定义稍后更改,您不一定需要更新方法签名,也许只是改变您使用内部对象的方式.方法.

这两种形式都有令人信服的一般情况吗?是否有明确的例子说明何时应该使用第二种形式?我可以指出是否有SOLID或其他OOP原则来证明我决定使用一种形式而不是另一种形式?如果您使用动态语言,上述任何答案都会改变吗?

oop method-signature

12
推荐指数
1
解决办法
343
查看次数

Square的iPhone应用程序如何以编程方式检索用户的联系信息?

当我在全新的iPhone上安装Square应用程序时,它会将我的名字,姓氏和电子邮件预填充到注册字段中.我必须输入的只是一个密码.那真的很整洁.

这是如何工作的,它如何知道我是谁?这是使用特权API吗?获取用户名AFAIK没有编程方式.

usability ios

11
推荐指数
1
解决办法
884
查看次数

如何处理Rails REST API中的错误或错误请求?

我有一个包含JSON API接口的Rails应用程序.正确指定值后,控制器可以正常处理快乐路径,并将JSON呈现为输出.

但是,如果输入存在问题,则会引发异常并rescues呈现一些模板.我真的只想沿着{ "error": { "msg": "bad request", "params": ... } }和适当的HTTP状态代码返回一个JSON错误(例如403,如果他们没有经过身份验证).但我只希望这适用于针对任何内容的请求example.com/api/....

我怎样才能做到这一点?

ruby api ruby-on-rails

10
推荐指数
2
解决办法
5200
查看次数

处理未在动态对象上定义的C#方法(又名respond_to/method_missing)

鉴于C#4中的新动态支持,是否可以以这样的方式编写类:如果在实例上调用方法并且该方法不存在,则将dispatch传递给另一个方法?这看起来像是这样的:

public class Apple : ... {
  // ...

  private ... MethodMissing(string name, ...) {
    if (name == "TurnIntoOrange") {
      // do something
    }
  }
}

dynamic d = new Apple();
d.TurnIntoOrange();       // Not actually defined on Apple; will pass to MethodMissing.
Run Code Online (Sandbox Code Playgroud)

在元编程的更一般标题下,其他语言称之为"method_missing support".我不确定C#特意称之为什么.但这可能吗?

dynamic c#-4.0

8
推荐指数
1
解决办法
1819
查看次数

Python:来自其他文件工作目录的execfile?

我有一些代码加载默认配置文件,然后允许用户提供自己的Python文件作为额外的补充配置或覆盖默认值:

# foo.py

def load(cfg_path=None):
    # load default configuration
    exec(default_config)

    # load user-specific configuration
    if cfg_path:
        execfile(cfg_path)
Run Code Online (Sandbox Code Playgroud)

但是有一个问题:execfile()在指定的文件中执行指令,cfg_path就像它在工作目录中一样foo.py,而不是它自己的工作目录.因此,import如果cfg_path文件执行,则指令可能会失败,例如,同一目录中的模块位于from m import x何处.mcfg_path

我如何execfile()从其参数的工作目录中,或以其他方式获得相同的结果?另外,我被告知execfile在Python 3中已弃用并且我应该使用它exec,所以如果有更好的方法我应该这样做,我全都听见了.

注意:我认为仅仅改变工作目录的解决方案是正确的.据我所知,这不会将这些模块放在解释器的模块查找路径上.

python working-directory execfile

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

使用Ruby中的属性对对象列表进行排序

我有一个Fruit名为的结构列表basket.每个Fruit结构都有一个name(一个字符串)和一个calories(一个整数).我想这样排序basket:

  1. Fruit最高的s calories首先出现.例如,含400卡路里的水果出现在400卡路里的水果之前.

  2. 如果两个Fruit■找相等calories,则Fruitname是第一位字母是第一位的,不区分大小写.例如,给定两个具有相同卡路里的水果,一个名为"香蕉"的水果将在一个名为"柑橘"之前出现.

定义Fruit不是我控制的,所以我更喜欢一种不涉及混合Fruit或改变它的解决方案.这可能吗?

ruby sorting idioms

5
推荐指数
1
解决办法
1万
查看次数

在DataTable中放置YUI按钮

我有一个YUI DataTable,其中包含代表用户列表的各种列.我想添加一个列,其中每行包含一个具有特定标签的按钮(例如,"grant access"),并在单击时调用某些函数.这可能吗?

我已经尝试过检查YUI文档,但据我所知,它们不允许你按照我在这里提到的方式更改按钮本身的标签.任何提示?

javascript datatable yui button

3
推荐指数
1
解决办法
3060
查看次数

Joomla网络服务的"Hello World"?

我想在Joomla为客户编写一个小型Web服务,但我不知道如何开始.虽然我对Joomla非常熟悉并且对Web服务非常熟悉,但我对Joomla的Web服务完全不熟悉.

是否存在任何人都知道或可以在答案中证明的"你好,世界"的例子?有时我也看到计算器Web服务作为"hello,world"示例,您可以在其中支持各种操作,例如Add,Subtract等等.

我正在使用最新的Joomla 1.5.

joomla web-services xml-rpc

3
推荐指数
1
解决办法
7993
查看次数