小编Ada*_*iss的帖子

有效Java中的生成器模式

我最近开始阅读Joshua Bloch撰写的Effective Java.我发现Builder模式的概念[书中的第2项]非常有趣.我试图在我的项目中实现它,但有编译错误.以下是我试图做的事情:

具有多个属性及其构建器类的类:

public class NutritionalFacts {
    private int sodium;
    private int fat;
    private int carbo;

    public class Builder {
        private int sodium;
        private int fat;
        private int carbo;

        public Builder(int s) {
            this.sodium = s;
        }

        public Builder fat(int f) {
            this.fat = f;
            return this;
        }

        public Builder carbo(int c) {
            this.carbo = c;
            return this;
        }

        public NutritionalFacts build() {
            return new NutritionalFacts(this);
        }
    }

    private NutritionalFacts(Builder b) {
        this.sodium = b.sodium;
        this.fat = b.fat;
        this.carbo …
Run Code Online (Sandbox Code Playgroud)

java design-patterns builder-pattern

136
推荐指数
6
解决办法
11万
查看次数

调用类方法会在Python中引发TypeError

我不明白如何使用类.当我尝试使用该类时,以下代码给出了一个错误.

class MyStuff:
    def average(a, b, c): # Get the average of three numbers
        result = a + b + c
        result = result / 3
        return result

# Now use the function `average` from the `MyStuff` class
print(MyStuff.average(9, 18, 27))
Run Code Online (Sandbox Code Playgroud)

错误:

File "class.py", line 7, in <module>
    print(MyStuff.average(9, 18, 27))
TypeError: unbound method average() must be called with MyStuff instance as first argument (got int instance instead)
Run Code Online (Sandbox Code Playgroud)

怎么了?

python methods class python-3.x

71
推荐指数
3
解决办法
14万
查看次数

"无匹配"的正则表达式语法?

我有一个大量使用regexp的python模板引擎.它使用如下的连接:

re.compile( regexp1 + "|" + regexp2 + "*|" + regexp3 + "+" )
Run Code Online (Sandbox Code Playgroud)

我可以修改单个子串(regexp1,regexp2等).

是否有任何小而轻的表达式,什么都不匹配,我可以在模板中使用,我不想要任何匹配?不幸的是,有时'+'或'*'被附加到正则表达式原子,因此我不能使用空字符串 - 这将引发"无需重复"错误.

python regex

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

如何在使用PHPUnit进行测试时设置Doctrine2灯具?

我正在尝试使用Symfony2,并一直在尝试为我的应用程序的模型层设置自动化测试.Symfony2书谈到了控制器的单元测试,但我找不到很多模型测试的例子.

我希望在每次测试运行之前都有一个干净的数据集,并找到这些文章:

根据sznapka.pl文章,我有一个实际运行的测试没有错误,但是虽然创建了测试模式,但是没有加载.我看不出为什么,甚至是一种调试方法.

背景:我之前使用的是CakePHP,其中夹具的装载很大程度上是自动处理的,也许我对Symfony/Doctrine有错误的方法?

unit-testing symfony doctrine-orm

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

使用bash脚本读取文件

我需要使用"Do/While"循环读取文件.
如何以字符串形式阅读内容?

这是我的代码:

cat directory/scripts/tv2dbarray.txt | while read line
do
  echo "a line: $line"
done
Run Code Online (Sandbox Code Playgroud)

错误:

test.sh: line 4: syntax error near unexpected token `done'
test.sh: line 4: `done'
Run Code Online (Sandbox Code Playgroud)

bash

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

C中的字符串处理实践

我正在开始一个普通C(c99)的新项目,该项目主要用于文本.由于外部项目的限制,这段代码必须非常简单和紧凑,由一个没有外部依赖的源代码文件或除libc和类似的无处不在的系统库之外的库组成.

根据这种理解,哪些最佳实践,陷阱,技巧或其他技术可以帮助使项目的字符串处理更加健壮和安全?

c security string robustness

22
推荐指数
3
解决办法
4927
查看次数

这句话是什么意思:聚集索引物理存储在表中?

群集索引如何存储在硬盘上?什么是逻辑顺序?

非聚集索引如何工作?

sql-server indexing clustered-index

16
推荐指数
2
解决办法
9024
查看次数

如何在C结构中使用字符串字段?

我在使用C中的单链表制作数据库时遇到了麻烦,不是因为链表概念而是因为结构本身的字符串字段.

这是C中的赋值,据我所知(我是新手),C不会将'string'识别为数据类型.

这就是我的结构代码:

typedef struct 
{
  int number;
  string name;
  string address;
  string birthdate;
  char gender;
} patient;

typedef struct llist
{
  patient num;
  struct llist *next;
} list;
Run Code Online (Sandbox Code Playgroud)

我正在考虑为字符串本身创建一个结构,以便我可以在结构中使用它们,如下所示:

typedef struct string 
{ 
  char *text;
} *string;
Run Code Online (Sandbox Code Playgroud)

然后malloc(),当需要创建字符串类型的新数据(char数组)时,我会将其中的每一个都用.

typedef struct string
{
  char *text;
} *string;

int main()
{
    int length = 50;
    string s = (string) malloc(sizeof string);
    s->text = (char *) malloc(len * sizeof char);
    strcpy(s->text, patient.name->text);
}
Run Code Online (Sandbox Code Playgroud)

有人可以帮我解决这个问题吗?
谢谢.

c string structure linked-list

15
推荐指数
3
解决办法
9万
查看次数

适用于C或C++的Google Drive API

是否有适用于Google云端硬盘的C或C++ API?

我查看了Google API开发人员网站,但在那里我只能找到适用于Java,PHP,Ruby,Python和C#的API.

我想开发一个简单的C/C++命令行二进制文件,以将本地文件夹同步到远程文件夹.

c c++ google-drive-api

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

除iptables之外的数据包修改工具?

我正在寻找一个可以根据一组规则改变网络数据包有效负载的linux实用程序.理想情况下,我使用iptablesnetfilter内核模块,但它们不支持通用有效负载修改:iptables将改变各种字段(地址,端口,TOS等),它可以匹配数据包中的任意字节,但它显然是无法更改数据包中的任意数据.

内核模块将是一个很大的优势,因为效率是一个问题,但我很乐意探索任何其他可以完成工作的选项.

谢谢你的想法!


姗姗来迟的更新:

我们选择使用该NFQUEUE模块,这是Robert Gamble建议的QUEUE模块的最新实现.它似乎相当简单,有一个安全奖励,允许我们的代码在用户而不是内核,空间运行.

如果我们只是想在不改变其大小的情况下改变有效载荷,那么实现几乎是微不足道的.在这种情况下,我们定义一个iptables规则来为我们选择"有趣"的数据包并向它们发送一个NFQUEUE目标.我们编写了一个回调函数来检查数据包NFQUEUE,根据需要修改数据,并重新计算TCP和IP头中的校验和.

但是,我们的用例涉及将其他字符注入数据流.这有一些明显的副作用,即增加TCP流中相应的SEQ/ACK号码,以及使conntrack模块混淆不足以完全破坏NAT 的不那么明显的副作用.经过大量的研究,头脑清理和实验,最方便的解决方案是禁用这些特定数据包的连接跟踪(使用表中的NOTRACK目标raw)并在我们的回调中处理它. 保存你的西红柿,讨厌邮件; 我并不自豪地让你陷入困境,但这是在下一个冰河世纪之前为客户提供可靠产品的唯一途径.这是一个很好的故事.但我真的很感激并分享你的衷心感受.

版本2将通过iptables使用自定义NAT和/或conntrack帮助程序替换我们的回调和若干规则来利用我们新发现的启示.我们相信,当前的练习为我们提供了足够的经验,可以创建一个内核模块,该模块将有机地融入netfilter体系结构中,以解决我们遇到的问题.

再次感谢您的关注和建议!

linux networking iptables packet-mangling

14
推荐指数
1
解决办法
6287
查看次数