小编bri*_*ice的帖子

1705
推荐指数
22
解决办法
123万
查看次数

如何在保持抗锯齿的同时渲染具有清晰边缘的svg元素?

有没有办法在保持抗锯齿的同时渲染具有清晰边缘的svg元素?

我正在创建一个适用于现代浏览器的基于浏览器的工具.

玩形状渲染属性并没有给我我想要的结果.

我希望我的元素具有良好的抗锯齿功能,以便路径看起来像下面的光滑shape-rendering: auto:

在此输入图像描述

但我也想要不需要消除锯齿的元素,比如开始框看起来清晰锐利,例如渲染时shape-rendering: crispEdges:

在此输入图像描述

这可能吗?我想吃蛋糕也吃吗?

html5 svg

63
推荐指数
3
解决办法
6万
查看次数

在C中,作为参数传递时,`&function`和`function`有什么区别?

例如:

#include <stdio.h>

typedef void (* proto_1)();
typedef void proto_2();

void my_function(int j){
    printf("hello from function. I got %d.\n",j);
}

void call_arg_1(proto_1 arg){
    arg(5);
}
void call_arg_2(proto_2 arg){
    arg(5);
}
void main(){
    call_arg_1(&my_function);
    call_arg_1(my_function);
    call_arg_2(&my_function);
    call_arg_2(my_function);
}
Run Code Online (Sandbox Code Playgroud)

运行这个我得到以下内容:

> tcc -run try.c
hello from function. I got 5.
hello from function. I got 5.
hello from function. I got 5.
hello from function. I got 5.
Run Code Online (Sandbox Code Playgroud)

我的两个问题是:

  • 定义的函数原型(* proto)和没有定义的函数原型有什么区别?
  • 使用引用operator(&)调用函数和不调用函数有什么区别?

c functional-programming function operators

20
推荐指数
3
解决办法
3636
查看次数

BASH:如何删除清单中指定的文件以外的所有文件?

我有一个清单文件,它只是换行符分隔的文件名列表.如何从文件夹中删除清单中未命名的所有文件?

我试图find ./ ! -name "filename"动态构建一个命令:

command="find ./ ! -name \"MANIFEST\" "
for line in `cat MANIFEST`; do
    command=${command}"! -name \"${line}\" " 
done
command=${command} -exec echo {} \;
$command
Run Code Online (Sandbox Code Playgroud)

但文件仍然存在.

[注意:]我知道这使用echo.我想在使用它之前检查我的命令.

解决方案:(感谢PixelBeat)

ls -1 > ALLFILES
sort MANIFEST MANIFEST ALLFILES | uniq -u | xargs rm
Run Code Online (Sandbox Code Playgroud)

没有临时文件:

ls -1 | sort MANIFEST MANIFEST - | uniq -u | xargs rm
Run Code Online (Sandbox Code Playgroud)

两者都忽略文件是否已排序.

unix bash scripting find

19
推荐指数
3
解决办法
8804
查看次数

如何在软件中可靠地生成以太网帧错误?

题:

我正在测试一段电缆故障查找软件,我想在cat5电缆上可靠且可重复地产生电缆故障.

目前我正在使用一米长的无线电缆,并在电源旁边手动蠕动电缆,但我无法检测到应用中的任何故障(我正在读取以太网ASIC上的以太网故障计数器.)是否这是因为没有产生故障,或者因为软件/硬件检测有问题,我无法分辨.

有没有办法在软件中执行此操作?

我决定用更高级别的语言编写一些东西,比如Java或python,并且作为最后的手段愿意将它放在C中,但我真的不想重写以太网驱动程序纯粹是为了修复可能的错误.

[编辑]:我想创建电缆故障 - 不检测它们.

[编辑]:我通过FTP和SCP传输大文件而没有使用篡改电缆的问题,我发现在使用wireshark检查流量时没有出现错误

[编辑]:请参阅python中的类似问题.

解:

好吧,花了一天时间与C战斗后,这就是python解决方案.

首先禁用以太网卡的自动校验和:

sudo ethtool -K eth1 tx off
Run Code Online (Sandbox Code Playgroud)

然后,从python发送你的狡猾的框架:

#!/usr/bin/env python

from socket import *

#
# Ethernet Frame:
# [
#   [ Destination address, 6 bytes ]
#   [ Source address, 6 bytes      ]
#   [ Ethertype, 2 bytes           ]
#   [ Payload, 40 to 1500 bytes    ]
#   [ 32 bit CRC chcksum, 4 bytes  ]
# ] …
Run Code Online (Sandbox Code Playgroud)

c python networking ethernet raw-ethernet

16
推荐指数
1
解决办法
6470
查看次数

mongodb文件什么时候会在更新后到期?

我在mongodb中有一组文档,expireAfterSeconds属性设置在日期类型索引上.

为了争论,文件将在一小时后过期.

当我更新此集合中的文档时,会发生以下哪种情况?

a)文件将在原始创建时间后一小时到期.

b)文件将在更新时间后一小时到期.

c)文档将在索引变量的时间后一小时到期,无论可能是什么.

d)以上都不是

我认为它是c,但找不到确认它的参考.我对么?这记录在哪里?

[编辑]:澄清一下,情况是我正在存储密码重置代码(应该过期.)并且我希望旧代码在请求新代码时停止工作.但这并不是很相关,因为我可以通过简单地删除旧事务来确保我想要的行为始终受到尊重.这个问题不是关于我当前的问题,而是关于Mongo的行为.

upsert mongodb

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

使用指针修改字符串时发生分段错误?

上下文

我正在学习C,我正在尝试使用指针来反转字符串.(我知道你可以使用一个数组;这更多的是关于学习指针.)

问题

尝试运行下面的代码时,我不断遇到分段错误.海湾合作委员会似乎不喜欢这*end = *begin;条线.这是为什么?

特别是因为我的代码几乎与另一个问题中讨论的非邪恶C函数相同

#include <stdio.h>
#include <string.h>

void my_strrev(char* begin){
    char temp;
    char* end;
    end = begin + strlen(begin) - 1;

    while(end>begin){
        temp = *end;
        *end = *begin;
        *begin = temp;
        end--;
        begin++;
    }
}

main(){
    char *string = "foobar";
    my_strrev(string);
    printf("%s", string);
}
Run Code Online (Sandbox Code Playgroud)

c string reverse pointers

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

如何维护 JSONObject 的顺序

我正在使用JSONObject来删除我在 JSON 字符串中不需要的 certin 属性:

JSONObject jsonObject = new JSONObject(jsonString);
jsonObject.remove("owner");
jsonString = jsonObject.toString();
Run Code Online (Sandbox Code Playgroud)

它工作正常,但问题是 JSONObject 是“名称/值对的无序集合”,我想保持 String 在通过 JSONObject 操作之前的原始顺序。

知道如何做到这一点吗?

java json

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

如何在动态编译源文件时为JavaCompiler提供接口?

我正在尝试在运行时编译和加载一个类,而不知道该类的包.我知道该类应该遵守一个接口,以及源的位置(以及类名).我正在尝试以下方法:

/* Compiling source */
File root = new File("scripts");
File sourceFile = new File(root, "Test.java");
JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();
compiler.run(null, null, null, sourceFile.getPath());
Run Code Online (Sandbox Code Playgroud)

Test.java文件看起来像什么

import foo.Itest;
public class Test implements Itest{
...
}
Run Code Online (Sandbox Code Playgroud)

我cannot find symbol symbol : class Itest从编译器得到一个错误.如何为编译器提供接口(已经加载)以避免此错误?

[EDIT - RESOLVED]:错误来自接口的事实ITest,而源是指Itest接口.

java runtime compilation dynamic classloader

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

如何从groovy导入一个闭包到java?

我正试图从一个groovy脚本中提取一个闭包.我将闭包定义为

def printMe = {str ->println str}
Run Code Online (Sandbox Code Playgroud)

在我的groovy文件中,然后尝试通过从绑定中抓取它来使用它,如下所示:

GroovyScriptEngine gse = new GroovyScriptEngine(new String[] { "scripts" });
Binding binding = new Binding();
gse.run("test.groovy", binding);
Closure cls = (Closure) binding.getVariable("printMe");
cls.call("foo");
Run Code Online (Sandbox Code Playgroud)

但是当我运行它时,我收到以下错误.

groovy.lang.MissingPropertyException: No such property: 
    printMe for class: groovy.lang.Binding
    at groovy.lang.Binding.getVariable(Binding.java:55)
    at GroovyTry.main(GroovyTry.java:19)
Run Code Online (Sandbox Code Playgroud)

有没有办法从groovy脚本中获取闭包(或普通方法)?

java groovy closures embedded-language

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