我最近一直在使用其他人的代码,我意识到这个人对私有变量和方法参数的理念与我的不同.我一般认为私有变量只应在以下情况下使用:
(我承认,上面的许多都是轻微的重复,但它们看起来各不相同,值得这样的处理......)
这似乎是防止意外更改变量的最有效方法.似乎遵循这些标准将允许最终操纵外部引用(如果类最终被修改),从而在将来为您留下更多选项.这只是一个风格问题(如一个真正的括号或匈牙利命名惯例),还是我有这种信念的理由?在这种情况下,实际上是否有最佳做法?
编辑
我认为这需要纠正.我使用上面"全局"的实际意思,"全局实例方法"并非"任何地方都可以全球访问".
edit2
一个例子被要求:
class foo
{
private $_my_private_variable;
public function __constructor__()
{
}
public function useFoo( $variable )
{
// This is the line I am wondering about,
// there does not seem to be a need for storing it.
$this->_my_private_variable = $variable;
$this->_doSometing();
}
private function _doSomething()
{
/*
do something with $this->_my_private_variable.
*/
// This is the only place _my_private_variable is used.
echo $this->_my_private_variable;
}
}
Run Code Online (Sandbox Code Playgroud)
这就是我做的方式:
class foo
{ …Run Code Online (Sandbox Code Playgroud) 有点奇怪的.
我想要一个JTextField,用户将在其中键入一个字符串.但是,在键入时,我希望该文本能够实时自动打印到另一个JTextField.
我不确定这是否可行,因为我不记得看到任何应用程序这样做了.
有人甚至以前见过这样的事吗?
实际上,现在我睁开眼睛,我看到stackoverflow会这样做.
有没有已知的Java实现方法?
我正在以编程方式生成Office Open XML文档(Word 2007格式),并希望在我生成的文档首次在Word中打开时更新所有字段.
当我刚刚研究过这个时,唯一的方法就是在文档打开时运行VB Script.但VB脚本默认不运行,为此工作,用户必须授权脚本,这比要求用户执行"全选,F9"更复杂,因此这违背了目的.
有什么建议吗?
亚历克斯
默认
[1..5]
Run Code Online (Sandbox Code Playgroud)
给出这个
[1,2,3,4,5]
Run Code Online (Sandbox Code Playgroud)
也可以使用范围功能完成.是否可以更改点之间的步长,以便我可以得到类似下面的内容?
[1,1.5,2,2.5,3,3.5,4,4.5,5]
Run Code Online (Sandbox Code Playgroud) 我已经看了所有的地方,我似乎无法得到一个完整的答案.因此,如果答案已经存在于stackoverflow上,那么我提前道歉.
我想要一个独特的随机ID,以便我网站中的用户无法猜出下一个号码,只是跳到其他人的信息.我打算坚持使用主键的递增ID,但也要在DB中为该行存储随机且唯一的ID(一种哈希)并在其上放置一个索引.
从我的搜索中我意识到我想避免碰撞,我已经读过一些关于SHA1的提及.
我的基本要求是
我正在寻找的一个例子是www.somesite.com/page.aspx?id=AF78FEB
我不确定我是应该在数据库中实现这个(我使用的是SQL Server 2005)还是在代码中(我使用的是C#ASP.Net)
编辑:
从我所做的所有阅读中,我意识到这是通过默默无闻的安全.我打算对访问页面进行适当的授权和身份验证.我将使用.Net的身份验证和授权框架.但是,一旦合法用户登录并正在访问一个充满属于他的项目的链接(但动态创建的页面).例如,链接可能是www.site.com/page.aspx?item_id=123.什么阻止他点击该链接,然后更改上面的URL以访问不属于他的www.site.com/page.aspx?item_id=456?我知道一些像Struts这样的Java技术(我有待纠正)会在会话中存储所有内容并以某种方式解决这个问题,但我不知道如何做到这一点.
我在我的Rails应用程序中有一个Ruby脚本,用于从Twitter加载一些数据.
在未来,我将使它成为一个自动后台进程,但现在我手动运行它,如:
ruby /lib/twitter/twitterLoad.rb
Run Code Online (Sandbox Code Playgroud)
为了使用Rails模型类等,我将以下作为脚本的第一行:
require "#{File.dirname(__FILE__)}/../../config/environment.rb"
Run Code Online (Sandbox Code Playgroud)
默认情况下,使用开发环境.但是,我希望能够在某个时候选择生产环境.
更新#1:RAILS_ENV常量在environment.rb文件中设置.所以,我能够将ENV ['RAILS_ENV'] ='production'放在最顶层(在environment.rb之前)并解决我的问题.所以,我的新问题是,可以通过命令行传入env变量吗?
我有一个由空格分隔的值字符串,我返回到Jquery调用,但它不会将单词分隔成行.数据应该以字符串或列表或其他方式返回吗?
使用Test :: Unit和Shoulda.试着去测试Users.create.我的理解是Rails表单为这样的对象发送params:
user[email]
Run Code Online (Sandbox Code Playgroud)
在你的行动中变成哈希,对吧?
params[:user][:email]
Run Code Online (Sandbox Code Playgroud)
好的,所以在我的测试中我试过......
setup { post :create, :post => { 'user[email]' => 'invalid@abc' } }
Run Code Online (Sandbox Code Playgroud)
和
setup { post :create, :post => { :user => { :email => 'abc@abcd' } } }
Run Code Online (Sandbox Code Playgroud)
在这两种情况下,在我的行动中,params[:user]都是零.
我试图从存储在包中的proc返回sequence.nextval到我的程序.在谈到PL/SQL时,我非常环保,而且我对发生的事情感到很茫然.实际返回的错误是
PLS-00306:调用PROCGET_BOOKMARKID第1行时,参数的数量或类型错误,第7列语句被忽略.
这是我的包创建代码......
create or replace package BOOKMARKS AUTHID DEFINER is type t_Bookmark is ref cursor; procedure procGet_Bookmarked_Information(bookmarkId in NUMBER, bookmark out t_Bookmark); procedure procInsert_Bookmark(bookmarkId in NUMBER, currExtent in VARCHAR2, selectedLayers in VARCHAR2); procedure procGet_Bookmark_Id(bookmarkId out NUMBER); end BOOKMARKS;
并且get_bookmark_id的proc看起来像这样(其他的procs工作正常,所以我不打算发布它们)...
procedure procGet_Bookmark_Id(bookmarkId out NUMBER)
IS
BEGIN
SELECT seq_bookmarks.nextval INTO bookmarkId
FROM dual;
END procGet_Bookmark_Id;
Run Code Online (Sandbox Code Playgroud)
现在,我确定这不是我的序列.如果我只是通过这样做直接从我的代码查询数据库,我可以得到nextval ...
string sql = string.Format(@"select {0}.seq_bookmarks.nextval from dual", ApplicationSchema);
应用程序模式只是我在这种情况下连接的数据库.
所以,在我看来,问题完全在我的PL/SQL中,这是有道理的,因为我几乎没有使用它.有任何想法吗?
编辑 好了,所以这里是实际调用的代码.
DataOperationResult result = DataAccess.GetBookmarkId();
DataRow currResult = result.DataTableResult.Rows[0];
DataAccess只是一类查询,以下是此特定查询的代码.
string sql = …Run Code Online (Sandbox Code Playgroud) 是否可以在SAML身份验证请求中发送属性?
<samlp:AuthnRequest
xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol"
xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion"
ID="aaf23196-1773-2113-474a-fe114412ab72"
Version="2.0"
IssueInstant="2004-12-05T09:21:59Z"
AssertionConsumerServiceIndex="0"
AttributeConsumingServiceIndex="0">
<saml:Issuer>https://sp.example.com/SAML2</saml:Issuer>
<samlp:NameIDPolicy
AllowCreate="true"
Format="urn:oasis:names:tc:SAML:2.0:nameid-format:transient"/>
</samlp:AuthnRequest>
Run Code Online (Sandbox Code Playgroud)