我有一个关于pgsql的表,其名称(超过1 mio.行),但我也有很多重复.我选择3个字段:id,name,metadata.
我想用ORDER BY RANDOM()和随机选择它们LIMIT 1000,所以我这样做是为了在我的PHP脚本中保存一些内存.
但是我怎么能这样做,所以它只给我一个名单上没有重复的列表.
例如,[1,"Michael Fox","2003-03-03,34,M,4545"]将返回但不是[2,"Michael Fox","1989-02-23,M,5633"].名称字段是最重要的,每次我选择时都必须在列表中是唯一的,它必须是随机的.
我试过GROUP BY name,然后它希望我在GROUP BY同样或在aggragate函数中有id和元数据,但我不想让它们以某种方式过滤.
任何人都知道如何获取许多列,但只在一列上做一个不同的?
我的服务器从Debian 4更新到5后我才被打倒.我们切换到UTF-8环境,现在我们在浏览器上正确打印文本时遇到问题,因为所有文件都是非utf8编码,如iso- 8859-1,ascii等
我尝试了很多不同的脚本.
我试过的第一个是"iconv".那个不起作用,它改变了内容,但是enconding的文件仍然是非utf8.
与enca,encamv,convmv和我通过apt-get安装的其他工具相同的问题.
然后我发现了一个python代码,它使用chardet Universal Detector模块来检测文件的编码(工作正常),但使用unicode类或编解码器类将其保存为utf-8不起作用,没有任何错误.
我发现将文件及其内容转换为UTF-8的唯一方法是vi.
这些是我为一个文件执行的步骤:
vi filename.php
:set bomb
:set fileencoding=utf-8
:wq
Run Code Online (Sandbox Code Playgroud)
而已.那一个很完美.但是如何通过脚本运行它.我想编写一个脚本(linux shell),它遍历一个获取所有php文件的目录,然后使用上面的命令使用vi转换它们.因为我需要启动vi应用程序,我不知道如何做这样的事情:
"vi --run-command=':set bomb, :set fileencoding=utf-8' filename.php"
希望可以有人帮帮我.
我在这里使用html函数的延迟函数有奇怪的问题.
我使用设置了一个html文本 $( '#element').html( 'Hello World');
设置文本后我想让这个文本在3秒内消失.
所以下一行我写道:
$('#element').delay( 3000).html( ' ');
Run Code Online (Sandbox Code Playgroud)
这个不起作用,它将html设置为 无需等待3秒,看起来jquery正在跳过延迟功能.例如,使用fadeOut可以正常工作.我想这与延迟的队列事情有关.
但为什么这不起作用.它非常简单,等待3秒然后运行html函数.
有人可以提供建议吗?谢谢.
PS:对于您的信息,我使用jQuery 1.4.2
我使用一个简单的选择列表和jquery.dropkick库来使它美丽.现在我想在更改相应的select元素后更改该dropkick内容(一个新选项进来).但只需调用$('#select').dropkick(); 不起作用.
它看起来似乎不受支持.仅仅从头开始重建那个dropkick就足够了.有没有可能"破坏"那个dropkick对象,然后通过调用.dropkick()方法重建它?
是否有可能通过字符串表示"调用"类实例?
在这种情况下,我希望代码看起来像这样:
class MyClass {
public $attribute;
}
$obj = getInstanceOf( "MyClass"); //$obj is now an instance of MyClass
$obj->attribute = "Hello World";
Run Code Online (Sandbox Code Playgroud)
我认为这一定是可能的,因为PHP的SoapClient接受一个classMappings列表,用于将WSDL元素映射到PHP类.但SoapClient如何"调用"类实例?
我收到"总线错误"试图读取stdin到一个char*变量.我只想阅读整个过程stdin并将其放在变量中,然后继续处理变量.
我的守则如下:
char* content;
char* c;
while( scanf( "%c", c)) {
strcat( content, c);
}
fprintf( stdout, "Size: %d", strlen( content));
Run Code Online (Sandbox Code Playgroud)
但不知怎的,我总是通过调用返回"总线错误" cat test.txt | myapp,myapp上面编译的代码在哪里.
我的问题是如何将stdinEOF 读入变量?正如您在代码中看到的,我只想打印来自stdin的输入大小,在这种情况下,它应该等于文件的大小test.txt.
我以为只是使用scanf就足够了,可能是缓冲的阅读方式stdin?
我有一个简单的网址,它有302临时性.转到另一页.
如果URL返回代码200(对于OK)以检索它并且如果返回除200之外的其他内容,则尝试进入.
我的代码:
my $ua = LWP::UserAgent->new( env_proxy => 1,keep_alive => 1, timeout => 30, agent => "Mozilla/4.76 [en] (Win98; U)");
my $response = $ua->get( $currenturl);
print $response->code;
Run Code Online (Sandbox Code Playgroud)
ALWAYS上面的代码返回200,即使它是302.我在Firefox中使用FireBug测试了头部响应.该URL在FireBug的Net模块中返回"302 Moved Temporarily".但是perl上面的代码返回200.为什么?
我在Perl中使用DBI连接到我的PostgreSQL数据库.一切正常,但在我的调试(打印结果等)中,我无法看到perls DBI模块准备的查询是否真的正确.
我有这样的事情:
$sth->prepare( qq{SELECT * FROM company WHERE companyname LIKE ? AND city = ?});
$sth->execute( $name.'%', $city);
Run Code Online (Sandbox Code Playgroud)
在调用execute之后,我无法看到sql查询的外观,因为execute是将参数绑定到查询的最新步骤.
我希望有类似$sth->getLastExecutedQuery()或类似的东西来查看查询的样子.
在这种情况下,函数getLastExecutedQuery()将返回:
SELECT * FROM company WHERE companyname LIKE 'Company Name%' AND city = 'City name';
Run Code Online (Sandbox Code Playgroud)
有没有办法得到这个?它仅用于调试目的.
我有一个简单的SpriteKit应用程序,墙壁和球.两者都设置为SKPhysicsBody.
当我向一个方向施加力时,我希望球在碰撞时以相同的角度在墙壁上反射,但方向相反.
但有时我看到角度很奇怪.我玩了很多physicsBody属性,但无法解决它.有时第一次反射看起来很好,但是第三次或第六次反射,有时第一次反射是错误的角度.
我从不同的帖子中读到,人们有点自我计算的"正确方向".但我无法想象SpriteKits物理引擎无法做到这一点.
检查我的附图,了解我的意思.有人可以帮忙吗?我不想开始使用Box2d for Swift,因为看起来我很难融入Swift.
这是physicsWorld我的GameScene.swift文件中的init,其中所有元素都添加到:
self.physicsWorld.gravity = CGVectorMake(0, 0)
Run Code Online (Sandbox Code Playgroud)
添加我的所有代码太多了,所以我添加了重要的部分.希望它足以分析.像皮球所有元素,墙壁是SKSpriteNode的
这是physicsBody球的代码:
self.physicsBody = SKPhysicsBody(circleOfRadius: Constants.Config.playersize+self.node.lineWidth)
self.physicsBody?.restitution = 1
self.physicsBody?.friction = 0
self.physicsBody?.linearDamping = 1
self.physicsBody?.allowsRotation = false
self.physicsBody?.categoryBitMask = Constants.Config.PhysicsCategory.Player
self.physicsBody?.collisionBitMask = Constants.Config.PhysicsCategory.Wall | Constants.Config.PhysicsCategory.Enemy
self.physicsBody?.contactTestBitMask = Constants.Config.PhysicsCategory.Wall | Constants.Config.PhysicsCategory.Enemy
Run Code Online (Sandbox Code Playgroud)
这是墙的物理体:
el = SKSpriteNode(color: UIColor.blueColor(), size: CGSize(width: Constants.Config.wallsize, height: Constants.Config.wallsize))
el.physicsBody = SKPhysicsBody(rectangleOfSize: CGSize(width: Constants.Config.wallsize, height: Constants.Config.wallsize))
el.physicsBody?.dynamic = false
el.physicsBody?.categoryBitMask = Constants.Config.PhysicsCategory.Wall …Run Code Online (Sandbox Code Playgroud) 我正在使用以下方法在div容器中保存键值对:
$( '#div_id').data( key, value);
Run Code Online (Sandbox Code Playgroud)
最后,我需要检查此div容器中是否存储了任何内容.
所以首先我通过调用获取内容:
var data = $( '#div_id').data();
Run Code Online (Sandbox Code Playgroud)
然后使用data.length或data.size检查其大小.
但这两个功能都不存在.据我所知,jquery中的数据函数返回一个对象,所以我应该能够得到这个对象的大小.
如何在jquery中获取数据函数返回的对象的大小?
我现在正在测试一个简单的Javascript"类".我注意到我的私有函数中的"this"并没有指向对象本身,而是指向全局范围(窗口).
为什么?
信息:我想保持模式私有,所以我使用var模式而不是this.mode.我还希望将两个内部函数保持为私有,因此用户无权访问它.我基本上使用.prototype来向myStorage添加公共函数来访问私有成员.
我的代码:
var myStorage = function(mymode) {
var mode = mymode;
function privateFunctionA() {
// access this.mode to read mymode from constructor but
// this is pointing to window
};
function privateFunctionB() {
// access this.mode to read mymode from constructor but
// this is pointing to window
};
// check for indexeddb, websql and localstorage
if(mymode == 'A') {
privateFunctionA();
} else {
privateFunctionB();
}
};
myStorage.prototype.publicFunc = function() {
console.log(this.mode); // does this work?
}
var …Run Code Online (Sandbox Code Playgroud) 我们知道SKScene的原点在左下角。
但是我尝试从一个包含 0 和 1 矩阵的文件中进行简单的级别加载。虽然 0 什么都不是,但 1 表示一堵墙(简单的矩形)。
由于文件的内容显然是从左上角到右下角,我想从场景的左上角绘制。
但是我的第一个角色是在场景的左下角绘制的。我尝试将场景的yScale设置为 -1,希望它反转 y 轴,但这不起作用。
什么是最干净的方式,所以SKScene我总是从左上角开始绘制?我仍然想保持我anchorPoint的 0.5、0.5。
所以从左上角绘制将位于x=-widthOfScreen/2和y=heightOfScreen/2
我是XSLT的初学者,并且发现我不能只是将数字加到变量中并以任何方式改变它的值.
我有一个XML文档,其中包含我需要添加的数字列表,直到元素与特定属性值匹配,然后打印该数字将其重置为0并继续累加其余部分,直到我再次看到该特定属性.
例如,我有这个XML:
<list>
<entry>
<field type="num" value="189.5" />
</entry>
<entry>
<field type="num" value="1.5" />
</entry>
<entry>
<field type="summary" />
</entry>
<entry>
<field type="num" value="9.5" />
</entry>
<entry>
<field type="num" value="11" />
</entry>
<entry>
<field type="num" value="10" />
</entry>
<entry>
<field type="summary" />
</entry>
</list>
Run Code Online (Sandbox Code Playgroud)
现在我希望我的XSLT打印出来:
189.5
1.5
#191#
9.5
11
10
#30.5#
Run Code Online (Sandbox Code Playgroud)
我已经读过,我可以通过使用sum()和条件来做到这一点.我知道如何使用for-each并相对指向元素,iam也可以通过简单地总结所有类型= num来使用sum(),但是如何仅将第一个num加起来直到type = summary出现,然后仅下一个sum从最后一个类型=摘要到下一个?
我希望这样的事情:
<xsl:for-each select="list/entry">
<xsl:if test="field[@type='summary']">
<!-- we are now at a type=summary element, now sum up -->
#<xsl:value-of select="sum(WHAT_TO_PUT_HERE?)" />#
</xsl:if>
<xsl:if test="field[@type='num']"> …Run Code Online (Sandbox Code Playgroud) jquery ×3
ios ×2
javascript ×2
perl ×2
select ×2
sprite-kit ×2
swift ×2
c ×1
class ×1
dbi ×1
debugging ×1
distinct ×1
dump ×1
encoding ×1
file ×1
http ×1
instance ×1
invoke ×1
object ×1
php ×1
physics ×1
postgresql ×1
reload ×1
scope ×1
size ×1
skscene ×1
stdin ×1
utf-8 ×1
vi ×1
xml ×1
xslt ×1