我想用Greasemonkey抓取一个网站,并想知道是否有更好的方法来临时存储值而不是GM_setValue.
我想要做的是在社交网络中抓取我的联系人,并从他们的个人资料页面中提取Twitter URL.
我目前的计划是在它自己的标签中打开每个配置文件,这样它看起来更像一个普通的浏览人(即css,scrits和图像将由浏览器加载).然后使用GM_setValue存储Twitter URL.抓取所有配置文件页面后,使用存储的值创建页面.
不过,我对存储选项并不满意.也许有更好的方法?
我已经考虑将用户配置文件插入到当前页面中,以便我可以使用相同的脚本实例处理它们,但我不确定XMLHttpRequest是否看起来与普通用户发起的请求不可分割.
我需要读取系统时钟(时间和日期)并在Perl中以人类可读的格式显示它.
目前,我正在使用以下方法(我在这里找到):
#!/usr/local/bin/perl
@months = qw(Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec);
@weekDays = qw(Sun Mon Tue Wed Thu Fri Sat Sun);
($second, $minute, $hour, $dayOfMonth, $month, $yearOffset, $dayOfWeek, $dayOfYear, $daylightSavings) = localtime();
$year = 1900 + $yearOffset;
$theTime = "$hour:$minute:$second, $weekDays[$dayOfWeek] $months[$month] $dayOfMonth, $year";
print $theTime;
Run Code Online (Sandbox Code Playgroud)
当您运行该程序时,您应该看到更加可读的日期和时间,如下所示:
9:14:42, Wed Dec 28, 2005
Run Code Online (Sandbox Code Playgroud)
这似乎更像是为了说明而不是实际的生产代码.有更规范的方式吗?
Java 和/或 Spring 有属性的概念吗?我有一堆领域模型,每个领域模型都有几个属性。例子:
public class Person {
private String name;
private Date dateOfBirth;
private float height;
private float weight;
// getters and setters not shown
}
Run Code Online (Sandbox Code Playgroud)
当显示一个人时,属性名称在 JSP 中被硬编码。
Name: ${person.name}<br>
Date of birth: ${person.dateOfBirth}<br>
Height: ${person.height}<br>
Weight: ${person.weight}<br>
Run Code Online (Sandbox Code Playgroud)
此外,可能有几个不同的页面显示一个人。请注意,出生日期是java.util.Date,因此 JSP 或控制器将使用java.text.SimpleDateFormat它来格式化它。身高和体重是数字,它们可能有自己java.util.Format的格式用于格式化。
我正在寻找一种属性查找机制。每个属性(姓名、出生日期、身高等)都有显示名称、格式和描述(用于帮助或工具提示)。属性的属性将在某个配置文件中定义。显示属性时,将通过属性机制查找显示名称和格式。这也将解决本地化问题。
我的问题是是否已经为 Java 实现了这样的东西。
手写递归下降解析器(不可避免地是LL(k))在性能方面与生成的LALR解析器相比如何?
我知道LALR解析器能够处理比LL(k)更多的语法; 但是我打算手工编写我的解析器,递归下降似乎是最合适的选择.是否有可能手工编写任何其他类型(合理可读)?
NB我正在使用带尾调用优化(F#)的函数式语言,因此[精心定制的]递归不会像其他语言一样出现问题.
我有一个页面,我打开一个"模态窗口".它实际上只是一个DIV,里面有一个IFRAME,我加载另一个页面.当我想刷新页面时,浏览器弹出一个窗口,上面写着"你确定要离开这个页面吗?重新加载这个页面将导致模态窗口消失.按OK继续,或取消继续当前页面."
如何生成此消息?浏览器如何判断我有一个模态窗口,因为我没有使用JavaScript中的任何window.open()调用?有没有办法禁用浏览器的这种行为.
我有以下情况:
有一个工具可以从Web界面获取XSLT并将XSLT嵌入到XML文件中(应该有人被解雇)."不幸的是"我在一个法语国家工作,因此XSLT有很多带有重音符号的单词.当XSLT嵌入到XML中时,该工具会将所有重音转换为其HTML代码(Iacute,igrave等...).
我的Perl代码正在从XML中检索XSLT,并使用Xalan命令行工具针对其他XML执行它.每次XSLT中都有一些重音时,Xalan工具会抛出异常.
我最初做一个正则表达式来改变XSLT中的所有重音:
# the & is omitted in the codes becuase it will be rendered in the page $xslt =~s/Aacute;/Á/gso; $xslt =~s/aacute;/á/gso; $xslt =~s/Agrave;/À/gso; $xslt =~s/Acirc;/Â/gso; $xslt =~s/agrave;/à/gso;
但这样做意味着我必须为每个重音代码写一个正则表达式....
我的问题是,如果没有为每个代码编写正则表达式,有没有这样做呢?(认为这是唯一的解决方案,想要呕吐.)
顺便说一句,该工具是TeamSite,它很糟糕.....
编辑:我忘了提到我需要一个Perl唯一的解决方案,安全性不允许我安装他们没有检查一周左右的任何类型的库:(
我正在构建一个MVC Web应用程序(使用Spring MVC框架),我对设计特定区域的最佳方法感到有些困惑.
应用程序必须与一系列Web服务进行交互,这些Web服务并非真正设计得非常完美,并且本身并不提供很多抽象 - 基本上每个创建/更新/检索/删除操作都有一个Web服务方法.每个"数据类型",除此之外没有太多的API.Web服务客户端需要知道要调用哪些方法,以及能够以何种顺序创建所需的数据 - 换句话说,没有基于"事务"的方法.
例如,只需创建一个新的用户帐户,就需要调用总共七种不同的Web服务方法来设置必要表中的所有记录(user记录,privileges向该用户添加正确的billing内容,设置用户的详细信息等) .
我正在努力用最好的方法来抽象它并将其封装在我们的应用程序中.大多数应用程序遵循标准流程:
request ---> Controller <---> Service/Business-level object <---> DAOs for data access
Run Code Online (Sandbox Code Playgroud)
在我的应用程序中,我使用自己的一组"域对象"来表示和抽象Web服务WSDL中定义的数据类型,这样我的域逻辑就不依赖于Web服务类型,因此我们可以抽象和隐藏我们喜欢哪个细节.
我正在寻找一些意见是设计上面提到的"用户创建过程"的最佳方法.创建"常规用户"的过程涉及调用七种不同的Web服务,如我所提到的,但这只是用户的一种"类型" - 我们必须能够创建几种不同类型的用户,每种用户需要不同的要调用的Web服务.
目前我只是设计了这个"常规用户"创建,作为一个概念证明 - 我有一个域对象User,一个UserDao接口,它有方法getUser(name)和createUser(User),以及一个WebServiceUserDao实现UserDao方法并知道如何调用上述方法的接口 -提到了七种网络服务方法.该createUser()方法由a调用UserCreationService,它是我的业务/服务级别类,而后者又被调用SignupController.
但是要扩展这个逻辑以便能够创建不同的用户类型(由不同的值表示User.getType(),我不确定在业务/服务层类和DAO之间绘制线的位置.例如,我应该:
UserDao每个"用户类型" 创建一个实现,因此创建每个"用户类型"的逻辑可以封装在它自己的类中,并让UserCreationService决定UserDao使用哪个?这将对应于1个服务类:许多DAO.UserDao分成小块,一个对应于需要在Web服务/ DB中创建的每个"记录",即使我的整个应用程序不需要知道这些单独类型中的每一个?然后UserCreationService针对各种不同的"用户类型" 进行不同的实现?换句话说,即使我不需要对应的或域对象,这个策略也会有a PrivilegesDao,a BillingPlanDao等.这将是许多服务类:许多DAO.PrivilegeBillingPlanWebServiceUserDao?这将有一个非常复杂的类的缺点(PMD已经在抱怨圈复杂度),但所有这些逻辑都将封装在一个类中,从整体API角度来看可能会减少复杂性. …我无法理解如何允许在运行时填充的DataGridView通过BindingSource排序(当用户单击列标题时)来自XML查询的LINQ是DataSource.
Dim QueryReOrder = From Q In Query _
Where ((0 - Q.Qualifier) / cmbTSStakeValue.Text) <= 0.1 _
Order By Q.Qualifier Descending _
Select Q
Dim bs As New BindingSource
bs.DataSource = QueryReOrder
DGFindMatch.DataSource = bs
Run Code Online (Sandbox Code Playgroud)
一些DataGridView的属性是:
Sort Nothing String
SortProperty Nothing System.ComponentModel.PropertyDescriptor
SupportsAdvancedSorting False Boolean
SupportsChangeNotification True Boolean
SupportsFiltering False Boolean
SupportsSearching False Boolean
SupportsSorting False Boolean
Run Code Online (Sandbox Code Playgroud)
是否有一个简单的解决方案,允许用户通过单击列标题对这些值进行排序?
谢谢!
这篇文章指出
如果您的站点在共享Web服务器上运行,请注意同一服务器上的任何其他用户都可以轻松查看任何会话变量.
在像GoDaddy这样的大型主机上,是否真的没有针对此的保护措施?这真的很容易吗?如果这很容易,我主机上其他用户的会话变量在哪里,我可以查看它们?
java ×2
perl ×2
.net ×1
browser ×1
c++ ×1
data-binding ×1
datagridview ×1
datetime ×1
greasemonkey ×1
jakarta-ee ×1
jstl ×1
linq ×1
modal-dialog ×1
persistence ×1
php ×1
properties ×1
refresh ×1
regex ×1
replace ×1
security ×1
spring ×1
storage ×1
string ×1
web-crawler ×1