我知道如何做X量的前导零,我知道如何做X小数点.但是,我怎么做他们两个?
我希望有4个前导零到小数精度2:0000.00.因此43.4将是0043.40
由于某种原因,选项在第一次调用时运行良好lib_progress_bar -c "@" -u "_" 0 100,但在第二次调用时超出一切都是默认值,因为getopts c:u:d:p:s:%:m: flag第二次看似不是真的,或者至少在我使用时从未执行过的情况set -x
#!/bin/bash
lib_progress_bar() {
local current=0
local max=100
local completed_char="#"
local uncompleted_char="."
local decimal=1
local prefix=" ["
local suffix="]"
local percent_sign="%"
local max_width=$(tput cols)
local complete remain subtraction width atleast percent chars
local padding=3
while getopts c:u:d:p:s:%:m: flag; do
case "$flag" in
c) completed_char="$OPTARG";;
u) uncompleted_char="$OPTARG";;
d) decimal="$OPTARG";;
p) prefix="$OPTARG";;
s) suffix="$OPTARG";;
%) percent_sign="$OPTARG";;
m) max_width="$OPTARG";;
esac
done
shift $((OPTIND-1))
current=${1:-$current}
max=${2:-$max}
if (( decimal > …Run Code Online (Sandbox Code Playgroud) 我期待为二进制四键实现O(1)查找
我知道javascript没有真正的哈希表,而是使用对象和o(1)查找其属性,但问题是密钥总是转换为字符串.
我怀疑在内存中有超过1000万个条目,如果我必须依赖键是字符串,并且平均四键字符串是11.5个字符,相当于(1000万条目*11.5长度*2字节)= 230,000,000字节或230 MB.
与存储为int64(1000万个条目*8个字节)= 80,000,000个字节或80 MB相比
我知道javascript本身不支持int64,但是有些库可以帮助我完成我想要的按位操作.
现在,即使存在可以处理int64的库,它们最终也不是真正代表8字节的对象,所以我相信我不能在哈希表中使用任何int64库,而是考虑使用2-deep哈希表和2 INT32.第一个键是前4个字节,第二个键是最后4个字节.它不像1次操作查找那样理想找到一个值,但是2次操作仍然足够好.
但是,如果所有键都存储为字符串,或者所有数字都是双精度浮点格式数字(8字节),那么我认为这不值得,因此每个哈希条目将占用16个字节(两个" int32"数字).
我的问题是:
1.如果存储一个数字作为属性的键,是否会占用8个字节的内存,或者它会转换为字符串并占用长度*2字节?
PS:我用nodejs标记这个,因为可能存在可以帮助我最终目标的库
编辑1:
似乎1Map()和节点0.12.x + 是可能的
至于数字2,我能够使用int64 lib(bytebuffer)并将64int转换为缓冲区.
我想只使用缓冲区作为Map()的键,但它不会让我因为缓冲区内部是一个对象,每个实例都充当Map()的新键.
所以我考虑将缓冲区恢复为原生类型,64位双倍.
使用readDoubleBE我读取缓冲区作为double,它代表我的64int二进制文件并成功让我在地图中使用它并允许O(1)查找.
var ByteBuffer = require("bytebuffer");
var lookup = new Map();
var startStr = "123123738232777";
for(var i = 1; i <= 100000; i++) {
var longStr = startStr + i.toString();
var longVal = new ByteBuffer.Long.fromValue(longStr);
var buffer = new ByteBuffer().writeUint64(longVal).flip().toBuffer();
var doubleRepresentation = buffer.readDoubleBE();
lookup.set(doubleRepresentation, …Run Code Online (Sandbox Code Playgroud) 有没有比这更容易使用Perl从字符串中删除HTML?
$Error_Msg =~ s|<b>||ig;
$Error_Msg =~ s|</b>||ig;
$Error_Msg =~ s|<h1>||ig;
$Error_Msg =~ s|</h1>||ig;
$Error_Msg =~ s|<br>||ig;
Run Code Online (Sandbox Code Playgroud)
我会同时修饰一个精简的正则表达式,例如:
$Error_Msg =~ s|</?[b|h1|br]>||ig;
Run Code Online (Sandbox Code Playgroud)
是否存在从字符串中删除任何/所有HTML的现有Perl函数,即使我只需要粗体,h1标题和br剥离?
我的设计师认为这不可能做到,但对我来说似乎是可能的.(虽然我的CSS经验有限).但是,他也说过背景无法修复,而且过去的堆栈溢出证明了他的错误; 所以我质疑他的知识.
如果无法在纯CSS中完成此操作,则可以使用JQuery.

上半部分是一个渐变,具有完全灵活的左,右,上,下倾斜而没有太多失真.下半部分是理想的1280 x 1024分辨率图像(因为这是最流行的浏览器显示分辨率).然后根据所需的要求,它将绘制和倾斜到它需要的任何尺寸.仍然允许看到所有图像.
上半部分和下半部分之间的比例始终为50%50%,与浏览器分辨率无关.
如果顶部和底部都固定,我也想.
在一个完美的世界(一个没有IE),id喜欢用1个DIV中的css3渐变和多个背景来做到这一点.但是,因为IE9尚未出现,我认为接近它的最佳方式是在DIV容器中使用2个div并使用PNG重复背景作为顶部div.
应该注意我将使用css3pie.com为IE6-8允许一些CSS3(但我不想依赖它,除非100%证明)
这只能用CSS吗?你会怎么做?
如果只用CSS不可能,有没有办法让JavaScript/JQuery帮助?我认为1280 x 1024的基础不是最好的主意,因为它似乎有一个奇怪的无线电.
Edit 1
哦,是的,我也有一个WIP:http: //meyers.ipalaces.org/extra/
它在1280 x 1024看起来不错......现在它只是将顶级DIV的整个大小调整为50%,因此图像为50%.
我仍然喜欢看到所有的水,因为我喜欢底部岩石的外观.但是,我愿意接受那些没有达到我想要的100%的替代想法,而是接近.
Edit 2
如何使用顶部渐变作为真正的CSS2背景,然后只是<img>在其底部放置一个调整大小?也许这将允许CSS2能力.我在这里引用一些解决方法:列表分开
Edit 3
我仍然在寻找可以在IE6上运行的结果,也不会导致Internet Explorer停滞不前.我正在设置50的奖金,以帮助吸引更多的关注.
DECLARE @Geom TABLE
(
shape geometry,
shapeType nvarchar(50)
);
INSERT INTO @Geom(shape,shapeType)
VALUES('LINESTRING(1 2, 3 4)', 'A'),
('LINESTRING(3.2 4, 7 8)', 'B');
SELECT *
FROM @Geom
SELECT geometry::UnionAggregate(shape).ToString(), geometry::UnionAggregate(shape)
FROM @Geom;
Run Code Online (Sandbox Code Playgroud)
输出的WKT是
MULTILINESTRING ((7 8, 3.2 4), (3 4, 1 2))
当我想要的时候
MULTILINESTRING ((1 2, 3 4), (3.2 4, 7 8))
其中"A"和"B"行的开始应该是(1 2) 和(3.2 4)尊敬.
这种行为UnionAggregate似乎并不关心几何的"方向",以便维持A联合B和B联合A是相同的结果.不过,我想保留的开始/终点,因为我unioning街道几何,我希望所有的线串在其原来的方向去了.
这里讨论这个问题:https://social.msdn.microsoft.com/Forums/sqlserver/en-US/89e95366-3649-4294-a0bc-f3921598157f/union-of-linestrings-and-reversing-direction?forum= sqlspatial
他们似乎建议在检查最终结果的可能解决方案,但我不清楚如何做到这一点.它是在一个链接的线程中暗示的
MultiLineString始终表示距离原点最远的点的图形.
我不清楚这究竟意味着什么,但我认为我不能假设UnionAggregate的结果总是与我想要的相反
如果很难知道方向意图,那么我可以添加M个度量,其中方向应该跟随增加的M值.
假设我有一种方法可以反转积分,我该如何解决这个问题呢?
我找到了一个模拟STUnionZ和M测量的附加支持的功能:http://www.spatialdbadvisor.com/files/SQLServer.html#robo48但是注意到"他们的方向可能会改变(例如,开始/起点关系) ).",这是我想要避免的.
看一下这里的例子:http://www.brianhare.com/physics/so.html
看看我在使用这两个主要功能的console.log:
function distanceBetween2pts(x1, y1, x2, y2) {
console.log("Particle: ("+x1+","+y1+") Mouse: ("+x2+","+y2+")");
// Pythagoras Theorem
// PQ = sqrt( (x2-x1)^2 + (y2-y1)^2 )
var x = (x2-x1);
var y = (y2-y1);
this.radius = Math.sqrt(x*x + y*y);
this.x = x;
this.y = y;
}
function polar2cartesian(R, theta) {
this.x = R * Math.cos(theta);
this.y= R * Math.sin(theta);
}
Run Code Online (Sandbox Code Playgroud)
当鼠标位于粒子的上方和右侧(中心圆)时,例如:

控制台日志显示:
Particle: (300,250) Mouse: (326,223)
artan(-27 / 26) = angle: -46.08092418666069 - theta -0.8042638494191191
Run Code Online (Sandbox Code Playgroud)
它应该是arctan(27/26)=角度:46:theta = 0.8.因为即使老鼠在中心"上方",它也会将y2-y1读为-27,因为坐标系统基于左上方的0,0.
那么问题是当X和Y都为负时使θ为正,而它应该指向相反的方向(从中心点向外).我知道我可以在这里做一个180度的技巧,但我想知道我做错了什么.
当你在我的网站上转到有额外内容的页面时,滚动条会出现在右侧,但是我的内容有一个明显的向左移动.你注意到这一点,点击主页,然后在我的网站上再次托管和返回(www.ipalaces.org)
如何在我的页面上考虑浏览器滚动条?我可以制作它,以便滚动条始终可见至少吗?
我的网站是www.ipalaces.org,请告诉我.
我使用的应用程序已经创建了自己的协议,就像MS为其MSN客户端所做的那样 msnim:chat?contact=test@test.com
但是,我需要创建一个PHP或javascript(或组合)来基本上尽快向协议发送3个请求.如果最终结果是www.test.com/send.php用户链接<a href='www.test.com/send.php'>不会弹出或重定向到页面,我也想要它
<?php header('Location: msnim:chat?contact=test@test.com'); ?> 用户点击href时不会创建新页面或重定向
这是我的概念证明的JQUERY和JSBin
$(document).ready(function(){
$("a#click_me").click(function(){
setTimeout(function(){
console.log('test ran');
window.location = 'mailto:test@test.com';
}, 100);
setTimeout(function(){
console.log('new ran');
window.location = 'mailto:new@new.com';
}, 200);
});
});
Run Code Online (Sandbox Code Playgroud)
这似乎适用于IE9,据我所知IE8.Firefox 10似乎也可以,但Chrome 17只能发送第一封电子邮件.
编辑1:更新了MSN而不是AIM链接,以便更加通用于测试,并包括jquery示例和JSbin
编辑2:更新到mailto链接
我有一个包含1亿个几何文档的集合.
我有第二个集合,其中包含与每个其他几何相关联的时间数据.这将是365*96*1亿或3.5万亿个文档.
我不想存储超过需要的1亿个条目(365*96),而是将它们保存在单独的集合中,并在MongoDB中执行一种JOIN/DBRef /尽我所能.
首先,我想通过使用geoIntersection从几何集合中获取GUID列表.这将把它过滤到1亿到5000.然后使用那些5000几何guids我想根据我指定的5000个goemetries和附加日期标准过滤3.5万亿个文档,并汇总数据并找到平均值.对于您指定的日期条件,剩下5,000个几何和5000个平均值.
这基本上是我在SQL中知道的JOIN,这在MongoDB中是可能的,并且可以在不到10秒的时间内以最佳方式完成.
澄清:据我所知,这就是DBrefs所使用的,但我读到它根本没有效率,并且处理这么多数据时它不适合.