在给定的shell中,通常我会设置一个或多个变量,然后运行一个命令.最近我了解了将变量定义添加到命令的概念:
FOO=bar somecommand someargs
Run Code Online (Sandbox Code Playgroud)
这工作......有点儿.当你改变一个LC_*变量(它似乎影响命令而不是它的参数,例如'[az]'字符范围)或者输出到另一个命令时,它不起作用:
FOO=bar somecommand someargs | somecommand2 # somecommand2 is unaware of FOO
Run Code Online (Sandbox Code Playgroud)
我可以在"FOO = bar"之前添加somecommand2,但是它可以添加不需要的重复,但它对根据变量解释的参数没有帮助(例如'[az]')
那么,在一条线上做这件事的好方法是什么?我正在考虑以下顺序:
FOO=bar (somecommand someargs | somecommand2) # Doesn't actually work
Run Code Online (Sandbox Code Playgroud)
编辑:我有很多好的答案!目标是保持一个单行,最好不使用"导出".使用bash调用的方法总体上是最好的,尽管带有"export"的括号版本更紧凑.使用重定向而不是管道的方法也很有趣.
这似乎很基本,但我无法找到我在任何地方寻找的信息,特别是关于Android应用程序.
我正在创建我的发布密钥(自签名),我被要求提供大量信息:
考虑到这一点,我有两个关于用于分发Android应用程序的自签名证书的基本问题:
提前致谢!
编辑:上面#1的更多信息:如果这与SSL证书类似,那么名称,组织和国家应该足够了.但那是这样的吗?将任何/所有其他字段留空的利弊?我不可能是唯一一个在应用程序方面对此感到疑惑的人......而我到目前为止所阅读的Android文档并没有帮助澄清这一点.
对于#2,似乎更改证书意味着重新生成它,并且使用该新证书进行签名并不能避免市场问题(就像一个全新的应用程序,即使您同时使用新的旧证书进行签名).因此,第一次签署应用程序时,更正确(在移动时充分通用)更为重要.
我有一个名为"foo"的字符串资源.它可能是一个简单的字符串......或者它可能包含HTML.这可能会随着时间的推移而改变:我应该能够在读取它是否为HTML时立即将其设置为至少一个SpannableString(但是如何?)
我希望得到原始的CharSequence,并且首先能够按原样显示它(确切的字符,而不是Android的"解释").现在我不能这样做... toString()决定撕掉它不认为我想看到的部分.
然后,我希望能够通过使用某种方法(没有正常的方法工作)通过串联从此和其他字符串或SpannableStrings创建SpannableString.我想使用SpannableString在TextView中显示HTML格式的文本.
这应该不难,但显然我做得不对(到目前为止我发现的关于此的信息很少).当然有一种方法可以在Strings,SpannedStrings甚至Spannablestrings之间准确地进行转换,而不会丢失沿途的标记?
请注意,我已经玩过一些有点破碎的Linkify,但是我想要更好地控制这个过程(没有悬挂的未格式化的"/",正确的hrefs等)我可以让这一切都工作如果我依旧保持HTML步骤,虽然我无法连接任何东西.
编辑1:我已经知道我可以使用以下内容来始终确保我得到我的原始字符串(而不是Android决定它认为CharSequence真的是什么).很好......现在,如何将其引入SpannableString?
<string name="foo"><![CDATA[
<b>Some bold</b>
]]>
</string>
Run Code Online (Sandbox Code Playgroud)
编辑2:不确定为什么这不能提前工作,但是......如果foo1和foo2是上面标记的字符串(如CDATA),那么显然可以这样做:
String foo1 = (String)getResources().getText(R.string.foo1);
String foo2 = (String)getResources().getText(R.string.foo2);
SpannedString bar = new SpannedString(Html.fromHtml(foo1+foo2));
Run Code Online (Sandbox Code Playgroud)
好奇:有没有比这更简单的解决方案?这个CDATA业务真的有必要吗?这似乎是错综复杂的(但并不像从未完全知道什么是资源类型那样复杂......字符串,跨越等等)
我的应用可以加载非常大的图像.为了保持记忆保守,我试图在转换后使用临时位图加载另一个用于最终图像:
.....
finalBitmap.recycle();
finalBitmap = null;
Bitmap tempBitmap = BitmapFactory.decodeStream(fin, ...);
finalBitmap = Bitmap.createBitmap(tempBitmap, ....);
imgview.setImageBitmap(finalBitmap);
.....
Run Code Online (Sandbox Code Playgroud)
现在,我们已经完成了tempBitmap,只需要将解码后的Bitmap传输到createBitmap中的转换步骤.所以:
.....
tempBitmap.recycle();
tempBitmap = null;
.....
Run Code Online (Sandbox Code Playgroud)
并且......由于tempBitmap的回收,它因"尝试使用再循环位图"错误而崩溃.tempBitmap未显示,仅在此处使用.
这里出了什么问题?我应该只使用"finalBitmap"并依靠createBitmap来管理它(finalBitmap = Bitmap.createBitmap(finalBitmap,....))?我没有看到对tempBitmap的持续依赖会导致这样的失败.
编辑:是的,null赋值似乎导致适当的,最终的垃圾收集,但我很困惑,为什么临时Bitmap上的recycle()在这种情况下是如此有问题.我得到的印象是createBitmap()持有对它的引用,但为什么,以及持续多长时间?
给定uint32数字0x12345678(例如RGBW颜色值),我如何高效且动态地缩放其中的每个字节(给定缩放因子0 <= f <= 1(或等效的整数除数))?
我知道我可以做得更长一些(可以通过一个结构将数字分解为各个部分,然后循环依次操作每个部分),但是有没有办法更快地完成而不循环?(静态值映射是另一种方法,但是动态方法更可取。)
编辑:C ++(C思想也很有趣),嵌入式,数百或数千个像素(而不是数百万个)。专门缩放RGBW led。
接下来出现的另一件事-这是gcc,所以允许类型为punning(我已经将其用于类似的事情-我只是想看看是否有比这更好的方法)。
再次编辑:这适用于嵌入式平台(微控制器)。虽然我一直在寻求可以帮助更广泛受众的答案,但我还是故意在语言和算法的背景下询问此问题,而不是针对特定平台和指令集进行优化,因为如果存在平台特定的优化可能会有所不同。
(这看起来应该很容易,但到目前为止,我的搜索空白了.)
我有一个来自上游源的代码体,在各个分支上标记了各种版本.
我正在开发基于标签"v1.0"的"develop"分支.从那以后出现了很多版本,但是虽然"v2.0"很有意思,但我想将我的开发分支重新设置为"v1.5"并继续在那里工作(假设我不打算将其反馈到上游).也许以后我会把它再次变为"v2.0".
(为此目的,假设"v1.x"是同一分支上的所有标签.为了额外的功劳,我们可以假设"v2.0"是另一个分支上的标签.)
我能够很容易地基于"v1.0"标签创建初始的"开发"分支,但是rebase似乎只适用于分支.不能使用标签的一个rebase?如果没有,那么实现这一目标的正确方法是什么(以便与基于特定标签的基础具有完全相同的效果)?
我想知道这两种方法之间的区别scipy.optimize.leastsq和scipy.optimize.least_squares是?
当我实现它们时,它们在chi ^ 2中产生最小的差异:
>>> solution0 = ((p0.fun).reshape(100,100))
>>> # p0.fun are the residuals of my fit function np.ravel'ed as returned by least_squares
>>> print(np.sum(np.square(solution0)))
0.542899505806
>>> solution1 = np.square((median-solution1))
>>> # solution1 is the solution found by least_sq, it does not yield residuals thus I have to subtract it from the median to get the residuals (my special case)
>>> print(np.sum((solution1)))
0.54402852325
Run Code Online (Sandbox Code Playgroud)
任何人都可以扩展或指出我可以找到替代文档的地方,scipy中的那个有点神秘.
我想最大限度地使用屏幕为Honeycomb应用程序.由于屏幕底部已经卡在"永远在线"的项目上,我想在那个空间中添加一个菜单按钮,而不是牺牲更多的屏幕空间,在顶部放置一个"操作栏".如何在不降级到API 10或更低的情况下完成此操作?(尽管我不需要占用更多空间的操作栏,但我也不需要一个调整大小按钮来使我的应用程序完全没用,并且除了转到最新的API版本之外无法禁用. )
当然,人们可以有效地使用数百个像素,这些像素目前处于黑暗状态,浪费在Honeycomb屏幕的底部,背面/家庭/物品图标和永远存在的时钟之间?为了在角落里放置一个设置按钮,创建一个动作栏将是一个荒谬的浪费.
编辑:我看到其他人问了一些类似的问题,但总的来说,我们如何通过添加按钮或者你在那里的东西来利用底部浪费的空间呢?如果我必须从头开始创建我自己的菜单按钮,我会觉得这个空间不可用(如果这是真的那将是非常荒谬的).
编辑2:显然它是真的:"系统栏"确实是不可侵犯的,并且主要用于向用户呈现未占用的空间(特别是在横向模式下).看起来我可能不得不恢复到旧的SDK - 只要没有人使用缩放图标就应该没问题.
编辑3:我很高兴地通过API 10报告菜单按钮返回并且无用的缩放按钮是GONE(在支持屏幕中使用android:xlargeScreens ="true"似乎在此API中工作!)
你如何干净地去除Python的,当它被用make安装altinstall?我没有altuninstall在makefile中找到一个或类似的东西,这也不是一个常见的问题。
在这种情况下,我正在Ubuntu中使用Python 2.7.x,但我希望答案将适用于早期和更高版本/子版本。
为什么?我正在对各种Python子版本进行构建测试,并希望干净地进行这些测试,以便没有其他版本的“剩菜”。我可以消灭一切都在/usr/local/lib和/usr/local/bin,但有可能是其他的东西存在,我想不去除,所以有一个简单的方法来分离去除Python的部件将是理想的。
我的代码依赖于uint16_t,int32_t/uint32_t和int64_t值的混合数据.它还包括一些较大的位移位常数(例如,1 << 23,偶数1 << 33).
在计算int64_t值时,如果我仔细地转换每个子部分(例如,将uint16_t值向上转换为int64_t)它可以工作 - 如果我不这样做,计算通常会出错.
我最终得到的代码如下:
int64_t sensDT = (int64_t)sensD2-(int64_t)promV[PROM_C5]*(int64_t)(1<<8);
temperatureC = (double)((2000+sensDT*(int64_t)promV[PROM_C6]/(1<<23))/100.0);
Run Code Online (Sandbox Code Playgroud)
不过,我想知道,如果我在这里撒上类型的石膏太杂乱而且太慷慨了.我不确定1 << 8是否需要演员(虽然没有一个,1 << 23不会导致错误的计算),但也许他们也这样做.对于像这样的计算的上升值,多少钱太多了?
编辑:所以很清楚,我问的是最小适当的投射量是什么 - 正确功能需要什么(为了清晰起见,可以添加更多的投射或修改器,但从编译器的角度来看,确保正确计算的必要性是什么?)
EDIT2:我使用C-风格转换,因为这是从一个Arduino型嵌入代码库(其本身使用的铸件这种风格的话).从具有期望效果的角度来看,它们看起来是等效的,因此我使用了现有的编码风格.