我希望能够将SVG元素上的笔触宽度设置为"像素感知",无论当前应用的缩放转换如何,都始终为1px宽.我知道这可能是不可能的,因为SVG的整个要点是与像素无关.
背景如下:
我有一个SVG元素,其viewBox和preserveAspectRatio属性设置.它看起来像这样
<svg version="1.1" baseProfile="full"
viewBox="-100 -100 200 200" preserveAspectRatio="xMidYMid meet"
xmlns="http://www.w3.org/2000/svg" >
</svg>
Run Code Online (Sandbox Code Playgroud)
这意味着当我缩放该元素时,其中的实际形状会相应缩放(到目前为止一直很好).
如您所见,我已经设置了viewBox,以便原点位于中心.我想在该元素中绘制一个x轴和一个y轴,我这样做:
<line x1="-1000" x2="1000" y1="0" y2="0" />
Run Code Online (Sandbox Code Playgroud)
再次,这很好.但理想情况下,此轴总是只有1px宽.当我缩放父svg元素时,我对轴越来越不感兴趣.
我搞砸了吗?
我有一个Swift类需要存储自己的方法表.不幸的是,这导致了一个引用循环,因为它的表保留self了对它存储的方法的引用.
示例泄漏代码如下:
typealias Callback = ()->()
class CycleInducingClass : NSObject {
var myCallbacks = [Callback]()
override init() {
super.init()
myCallbacks.append(myInternalFunction)
}
func myInternalFunction() {
NSLog("lolol: %d", self.myCallbacks.count)
}
}
Run Code Online (Sandbox Code Playgroud)
到目前为止我找到的唯一解决方案是改为:
myCallbacks.append({[unowned self] in self.myInternalFunction()})
Run Code Online (Sandbox Code Playgroud)
这很丑陋,容易出错.有更好的想法吗?是否有一些技巧使函数引用本身变弱?即制作myCallbacks类型myCallbacks : [WeakCallback]()或类似的数组?据我所知,我甚至无法weaken在上面丑陋的闭包装上构建一个方便函数作为语法糖.
我正在编写一个非常简单的bash脚本,它对目标目录进行加密,对其输出进行加密,然后将生成的文件拆分为多个较小的文件,因为备份介质不支持大文件.
我对bash脚本没有太多经验.我相信我在正确引用我的变量以允许参数中的空格时遇到问题.该脚本如下:
#! /bin/bash
# This script tars the given directory, encrypts it, and transfers
# it to the given directory (likely a USB key).
if [ $# -ne 2 ]
then
echo "Usage: `basename $0` DIRECTORY BACKUP_DIRECTORY"
exit 1
fi
DIRECTORY=$1
BACKUP_DIRECTORY=$2
BACKUP_FILE="$BACKUP_DIRECTORY/`date +%Y-%m-%dT%H-%M-%S.backup`"
TAR_CMD="tar cv $DIRECTORY"
SPLIT_CMD="split -b 1024m - \"$BACKUP_FILE\""
ENCRYPT_CMD='openssl des3 -salt'
echo "$TAR_CMD | $ENCRYPT_CMD | $SPLIT_CMD"
$TAR_CMD | $ENCRYPT_CMD | $SPLIT_CMD
say "Done backing up"
Run Code Online (Sandbox Code Playgroud)
运行此命令失败:
拆分:"foo/2009-04-27T14-32-04.backup"aa:没有这样的文件或目录
我可以通过删除$BACKUP_FILE我设置的位置周围的引号来解决它$SPLIT_CMD.但是,如果我的备份目录名称中有空格,则它不起作用.此外,如果我将"echo"命令的输出直接复制并粘贴到终端,它可以正常工作.显然,我不明白Bash是如何逃避事情的.
我正在教孩子编程,并且正在介绍一些基本的人工智能概念.首先,我们将实施一个搜索整个游戏树的井字游戏,因此可以完美地播放.一旦我们完成了,我想将相同的概念应用于具有太多位置的游戏来评估每一个,因此我们需要实现一个启发式来评估中间位置.
我能想到的最好的东西是Dots和Boxes.它的优点是我可以设置任意大的棋盘大小以阻止他搜索整个树,我可以制作一个非常基本的评分函数,即我的盒子数量减去对手盒子的数量.不幸的是,这意味着在游戏开始的大部分时间里,每个位置都会被评分为0,因为在玩家真正开始制作盒子之前需要花费很多时间.
有没有人对游戏有更好的想法?(或点和框的更好的评分功能)?
我有三个张量,A, B and C在tensorflow,A并且B都是形状(m, n, r),C是二元张量的形状(m, n, 1).
我想根据值选择A或B中的元素C.tf.select然而,明显的工具是没有广播语义,所以我需要首先明确地广播C到与A和B相同的形状.
这将是我第一次尝试如何做到这一点,但它不喜欢我将张量(tf.shape(A)[2])混合到形状列表中.
import tensorflow as tf
A = tf.random_normal([20, 100, 10])
B = tf.random_normal([20, 100, 10])
C = tf.random_normal([20, 100, 1])
C = tf.greater_equal(C, tf.zeros_like(C))
C = tf.tile(C, [1,1,tf.shape(A)[2]])
D = tf.select(C, A, B)
Run Code Online (Sandbox Code Playgroud)
这里的正确方法是什么?
同情我有一个积分返回一个Piecewise对象,例如
In [2]: from sympy.abc import x,y,z
In [3]: test = exp(-x**2/z**2)
In [4]: itest = integrate(test,(x,0,oo))
In [5]: itest
Out[5]:
? ___
? ?? ? ?z ? ? 1 ?? ?
? ??????? for ?periodic_argument???????????????, ??? ? ?
? 2 ? ? 2 ?? 2
? ? ?polar_lift (z) ??
?
??
??
?? 2
?? -x
?? ???
?? 2
?? z
?? ? dx otherwise
??
?0
?
Run Code Online (Sandbox Code Playgroud)
我想提取这个分段方程的第一个分支,换句话说,我希望能够做一些itest.parts(0)简单的提取sqrt(pi)*z/2.我似乎无法找到任何方法来做到这一点,但也许我在文档中使用了错误的搜索词.有任何想法吗?
编辑
稍微探讨一下,我已经设法发现,如果我这样做,itest.args[0][0]我可以提取这个表达式.然而,这看起来有点像黑客.有更好的方法吗?
python symbolic-math sympy computer-algebra-systems symbolic-computation
我在Pylons项目中使用SQLAlchemy Python ORM.我有一个"Project"类,它与另一个类"Entry"有一对多的关系.我想在SQLAlchemy中进行查询,该查询为我提供了与其关联的一个或多个条目的所有项目.目前我正在做:
[project for project in Session.query(Project) if len(project.entries)>0]
Run Code Online (Sandbox Code Playgroud)
我知道这不是理想的,但我无法弄清楚如何做一个我需要的过滤器(例如Session.query(Project).filter(Project.entries.exists())).
有任何想法吗?
在最新版本的Routes(1.10)中,使用斜杠的最佳方法是什么?我目前正在使用明显的非DRY:
map.connect('/logs/', controller='logs', action='logs')
map.connect('/logs', controller='logs', action='logs')
Run Code Online (Sandbox Code Playgroud)
我认为转向最小化可以解决问题,但我认为它在新版本的Routes中被禁用是有原因的.不幸的是,文档似乎没有赶上Routes开发,所以我找不到任何好的资源去.有任何想法吗?
我有一个我在iOS Objective-C程序中使用的C库.我的C库的一个功能是读入并处理文件中的数据.目前该功能看起来像这样
internalType* parseFile(const char* filename);
Run Code Online (Sandbox Code Playgroud)
在iOS上传递一个char*作为这个安全的文件名,还是我用unicode拍摄自己的脚?这里有首选做法吗?
我正在尝试使用不受信任的用户输入执行 SQLite FTS 查询。我不想让用户访问查询语法,也就是说他们将无法执行像foo OR bar AND cats. 如果他们尝试使用该字符串进行查询,我想将其解释为更像foo \OR bar \AND cats.
SQLite 似乎没有为此内置任何内容,因此我可能最终会构建自己的转义函数,但这似乎很危险且容易出错。有没有首选的方法来做到这一点?
python ×3
pylons ×2
bash ×1
c ×1
database ×1
fts4 ×1
heuristics ×1
objective-c ×1
routes ×1
shell ×1
sql ×1
sqlalchemy ×1
sqlite ×1
string ×1
svg ×1
swift ×1
sympy ×1
tensorflow ×1
unix ×1