我在我的Rails应用程序(设计)上安装了一个gem.安装宝石后,我意识到我不需要它.
我想删除gem,它的依赖项以及它在我的应用程序上创建的文件.换句话说,我想将系统恢复到以前在gem之前的状态.我怎样才能做到这一点?(我正在使用Ruby on Rails 3.)
考虑在Moose :: Cookbook :: Basics :: Recipe3中开发的二叉树
要按预先检索所有节点,我可以将以下子例程添加到BinaryTree包中
sub pre_order {
my ($self,$aref) = @_;
push @$aref, $self->node;
pre_order($self->left,$aref) if $self->has_left;
pre_order($self->right,$aref) if $self->has_right;
}
Run Code Online (Sandbox Code Playgroud)
sub必须像这样使用:
my $btree = BinaryTree->new;
#add some nodes
#then later...
my @nodes_in_preorder;
$btree->pre_order(\@nodes_in_preorder);
Run Code Online (Sandbox Code Playgroud)
我如何更改子程序才能使用如下语法:
my @nodes_in_preorder = $btree->pre_order();
Run Code Online (Sandbox Code Playgroud)
为了能够做的事情
for ($btree->pre_order()) { #bla bla }
Run Code Online (Sandbox Code Playgroud)
稍后的.
这有意义吗,还是我迂腐?
有没有办法使用FQL选择我所有朋友在指定位置范围内的Checkins?我可以使用FQL返回我的朋友checkin coords:
https://api.facebook.com/method/fql.query?access_token={0}&query=SELECT coords FROM checkin WHERE author_uid IN (SELECT uid2 FROM friend WHERE uid1 = me())
但是我如何添加到上面的查询来做类似的事情......
Where coords Within 10 miles of [(New York City, NY) | (long, lat) | (user.current_location)]
任何帮助将不胜感激.提前致谢.
编辑(3/9 3:05 pm est):
我主要只是寻找最终结果 - 不需要在一个FQL语句中获取所有内容,甚至不需要使用FQL(图形API,可能吗?)我知道我可能需要将数据重新带回来由于FQL/graph api的限制,在本地使用它.我只想以有效的方式做到这一点,因此用户不必等待20秒即可加载所有内容.
当前的问题是,如果某人有几百个朋友,并且每个朋友的所有签到都被退回,那就太多了.
我正在寻找的结果的详细细节是从我的所有朋友开始,并最终得到他们在过去X天内检查的前10个位置(基于签到位置ID的最高频率),用户当前facebook位置的Y距离,以及位置页面属于某个类别的位置,如条形图.
这就是我正在处理的场景,我希望我追加的附加信息不会使我原来的问题复杂化.谢谢!
facebook facebook-fql coordinates checkin facebook-graph-api
我有一个有两种形式的JSF页面(下面是伪代码).
第一种形式是针对用户的,具有文本字段和电话号码表,以及用于添加新电话号码的链接.
第二种形式是p:对话框,显示用于向列表添加电话号码的表单.
我的问题是在p:对话框关闭后,我希望列表没有得到更新.如果我将p:dialog标记放在第一个表单中,列表会更新,但有两个单独的表单,因为我需要在单独的操作中验证它们的内容.
我的问题的简短版本:p:对话框有一个attr update ="phonesPanel",但是phonePanel的格式不同; 我该怎么做像update ="personForm.phonesPanel"这样的东西,以便更新不同形式的列表?
<h:form id="personForm">
<p:messages />
<h:inputText label="Full Name" value="... />
<p:commandLink value="Add Phone Number" onclick="dlg.show();" />
<h:panelGrid id="phonesPanel" columns="1" style="width:100%" >
<h:dataTable id="phonesTable">
// ...
</h:dataTable>
</h:panelGrid>
</h:form>
<h:form>
<p:dialog id="dialog" modal="true" widgetVar="dlg">
<p:messages />
<h:inputText label="Phone Number" value="... />
<p:commandButton value="Add Phone Number" update="phonesPanel"
actionListener="#{handler.doAddPhoneNumber}"
oncomplete="handleLoginRequest(xhr, status, args)"/>
</p:dialog>
</h:form>
Run Code Online (Sandbox Code Playgroud)
任何帮助是极大的赞赏!
抢
任何想法我会遵循什么方法让数据绑定列表框的项目"飞"到他们在列表框中的位置,类似于你在那些Windows Card游戏中处理一副牌时的效果?(我正在使用WPF)
是否可以查看字符串是否与表名相同?
例如:我知道存在一个名为'os'的表,我有一个字符串"os".那么有办法做到这一点:
x="os"
if type(x)=="table" then
print("hurra, the string is a table")
end
Run Code Online (Sandbox Code Playgroud)
当然这个例子不会像我想要的那样工作,因为
type(x)
Run Code Online (Sandbox Code Playgroud)
只会返回"字符串".
我想要这样做的原因只是因为我想列出所有现有的Lua表,所以我做了这段代码:
alphabetStart=97
alphabetEnd=122
function findAllTables(currString, length)
if type(allTables)=="nil" then
allTables={}
end
if type(currString)=="table" then
allTables[#allTables+1]=currString
end
if #currString < length then
for i=alphabetStart, alphabetEnd do
findAllTables(currString..string.char(i), length)
end
end
end
findAllTables("", 2)
for i in pairs(allTables) do
print(i)
end
Run Code Online (Sandbox Code Playgroud)
如果有一个更简单的方法来列出所有现有表格,我不会感到惊讶,我只是为了学习Lua的过程中的乐趣.
有人刚把一个perl脚本丢给我,现在这是我的问题.我对Perl一无所知.这是脚本.
#! /usr/bin/perl
use HTTP::Request::Common qw(POST);
use LWP::UserAgent;
$ua = LWP::UserAgent->new;
my $req = POST 'http://www.someurl.com/aff/', [ search => 'www', errors => 0 ];
my $xml = "<?xml version='1.0' encoding='UTF-8' ?>
<data xmlns='https://www.aff.gov/affSchema' sysID='Adin'
rptTime='2010-06-07T14:10:30.758-07:00' version='2.23'>
<msgRequest to='Co' from='trt' msgType='Data Request' subject='Async'
dateTime='2010-06-07T14:10:30.758-07:00'>
<body>2010-06-07T14:50:06Z</body>
</msgRequest>
</data>";
$req->content( $xml );
my $username = "providedUserName";
my $password = "providedPW";
$req->authorization_basic($username, $password);
print $ua->request($req)->as_string;
Run Code Online (Sandbox Code Playgroud)
据我所知,它创建了一个HTTP Request对象,添加了一些内容并打印了响应.谷歌告诉我,我需要安装一个Perl包来获取PHP中的HTTPRequest对象,这不是一个选项.无论如何使用cURL或file_get_contents或其他东西吗?
我会继续修修补补,但如果有人知道该怎么做,那么至少可以让我浪费时间.
我扎根了运行Gingerbread的nexus.但是像下面这篇文章一样,我找不到sqlite3并想在Nexus One上安装sqlite3:
当我尝试使用adb shell打开数据库时,为什么在root用户的Nexus One上出现"sqlite3:not found"错误?
我做了一个shell
$ adb shell
$ su
# mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system
Run Code Online (Sandbox Code Playgroud)
在另一个壳中,我做到了
$ cd ~/NexusOne/SuperOneClickv1.7-ShortFuse
$ adb push sqlite3 /system/bin
failed to copy 'sqlite3' to '/system/bin/sqlite3': Permission denied
Run Code Online (Sandbox Code Playgroud)
我试过了答案.但我明白了.我显然有'sqlite3',但它不允许我移动到/ usr/bin.
# mv sqlite3 /usr/bin
failed on 'sqlite3' - No such file or directory
# pwd
/mnt/sdcard
# ls sqlite3
sqlite3
# mv sqlite3 /usr/bin
failed on 'sqlite3' - No such file or directory
# ls -l sqlite3
----rwxr-x system sdcard_rw 24120 …Run Code Online (Sandbox Code Playgroud) 我会在共享内存中保留一些数据,使用命名信号量来管理访问:
#include <boost/interprocess/sync/named_semaphore.hpp>
struct shared_memory_buffer
{
// Application data
int items[10];
// Synchronization data
boost::interprocess::named_semaphore syncSem;
shared_memory_buffer()
: syncSem(boost::interprocess::open_or_create_t, "testSemaphore", 0) // error
{}
};
Run Code Online (Sandbox Code Playgroud)
但是,我在指定的行得到以下编译时错误:
error: expected primary-expression before ‘,’ token
Run Code Online (Sandbox Code Playgroud)
这是我的系统:
MacOS X 10.6
i686-apple-darwin10-g ++ - 4.2.1(GCC)4.2.1(Apple Inc. build 5664)
提升1.44
谢谢!
想象一下具有滚动水平的太空射击游戏.有什么方法可以阻止恶意玩家修改游戏以使其受益?他能做的事情很难限制服务器端是自动瞄准,在可见区域外窥视,加速黑客攻击和其他事情.
有什么方法可以防止这种情况发生?假设服务器是任何语言,客户端通过WebSocket连接.
始终假设代码是100%可攻击的.想办法防止客户完全重写(作弊的目的)作弊.这些可以是诸如编写安全游戏协议的方法,服务器端检测等.
perl ×2
android ×1
animation ×1
boost ×1
c++ ×1
checkin ×1
coordinates ×1
facebook ×1
facebook-fql ×1
http ×1
interprocess ×1
javascript ×1
jsf ×1
lua ×1
multiplayer ×1
php ×1
primefaces ×1
recursion ×1
ruby ×1
rubygems ×1
security ×1
semaphore ×1
wpf ×1