我是一个自学成才的java程序员,所以我不知道做很多事情的正确方法.
我写了一些简单的游戏(比如Asteroids,Snake等),所以我知道如何做基础知识.现在我正在开发一个更复杂的游戏,一个与僵尸的角色扮演游戏.我开始编写它而没有仔细考虑如何构建它.首先,我创建了一个"项目"类来保存简单项目(值,重量,损坏)的数据.然后我创建了一个类来保存玩家的变量(生命,护甲,物品).我最终制作了菜单,它上面有自己需要的变量来保存当前正在选择的菜单项.
我很快意识到我有很多全局变量,我需要以某种方式存储.我需要在单独的类中使用变量(例如打印到屏幕的类必须知道所有内容的位置).
那么编写大量全局变量的最佳方法是什么?就像我说的,我不知道正确的做事方式,我找不到一个很好地解释大规模变量声明的网站.我会创建一个包含所有变量的类,并使'Main'类具有该'VariableStorage'类的静态声明吗?
提前致谢!
PS如果可以,请提供链接!:d
我记得在Java中你可以去
bool yesNo = YES;
!yesNo;
Run Code Online (Sandbox Code Playgroud)
并且它会自动为NO.我在Objective-C中尝试了几次,但似乎没有用.在Objective-C中是否有特定于语言的方法?
Java中是否有预定义函数将数组中的所有整数设置为指定值?
假设给出了以下数组:byte start[][][] = new byte[MAXSUM][rows][N * 2];除了3 loops将其初始化为某个常量之外,还有其他更好的方法0吗?
可Arrays.fill()用于初始化具有多个维度的数组中的值吗?
我是初学者/中级Python程序员,但我还没有编写应用程序,只编写脚本.我目前没有使用很多面向对象的设计,所以我希望这个项目能够帮助我建立自己的OOD技能.问题是,我不知道从设计角度开始(我知道如何创建对象和所有东西).对于它的价值,我也是自学成才,没有正式的CS教育.
我想尝试编写一个程序来跟踪投资组合股票/期权头寸.
关于什么会成为好的候选对象(投资组合,股票,期权等)和方法(买入,卖出,更新数据等),我有一个大概的想法.
多头头寸可以买入开仓,卖出收盘,而空头仓位可以卖出,买入收盘.
portfolio.PlaceOrder(type="BUY", symbol="ABC", date="01/02/2009", price=50.00, qty=100)
portfolio.PlaceOrder(type="SELL", symbol="ABC", date="12/31/2009", price=100.00, qty=25)
portfolio.PlaceOrder(type="SELLSHORT", symbol="XYZ", date="1/2/2009", price=30.00, qty=50)
portfolio.PlaceOrder(type="BUY", symbol="XYZ", date="2/1/2009", price=10.00, qty=50)
Run Code Online (Sandbox Code Playgroud)
然后,一旦调用此方法,我该如何存储信息?起初我以为我会有一个Position对象,其中包含Symbol,OpenDate,OpenPrice等属性,但考虑更新位置以考虑销售变得棘手,因为购买和销售发生在不同的时间和数量.
一种可能的解决方案是为每股股票创建一个对象,这样每个股票就会有不同的日期和价格.这会是太多开销吗?该投资组合可能有数千或数百万个小共享对象.如果您想了解某个头寸的总市值,您需要以下内容:
sum([trade.last_price for trade in portfolio.positions if trade.symbol == "ABC"])
Run Code Online (Sandbox Code Playgroud)
如果你有一个位置对象,计算将很简单:
position.last * position.qty
Run Code Online (Sandbox Code Playgroud)
在此先感谢您的帮助.看看其他帖子显然是"帮助"不要"为你编写程序".我觉得我只需要一些方向,指向正确的道路.
反思的附加信息 目的 该程序将跟踪所有开放和关闭的位置; 能够看到详细的盈亏.
当我想到详细的损益时,我希望看到... - 所有开放日期(和关闭日期) - 持有的时间 - 开盘价(关闭日期) - 自开盘以来的损益 - 每天的损益
@Senderle
我想也许你的字面意思也是"对象"隐喻,所以试图在某种程度上将这种看似非常像对象的共享转化为该字的编程意义上的对象.如果是这样,那就是一个错误,这就是我所认为的并列的重点.
这是我的错.思考"物体"一个share物体似乎是自然的候选者.直到有数百万人认为这个想法似乎很疯狂.我本周末会有一些免费的编码时间,并会尝试创建一个有数量的对象.
我正在尝试使用hibernate注释实现我的模型.我有3个班级,图像,人物和标签.标签是由4个字段组成的表,id,personId,imageId和createdDate.Person有字段名,id,birthdate等.我的图像类定义如下:
@Entity
@Table(name="Image")
public class Image {
private Integer imageId;
private Set<Person> persons = new HashSet<Person>();
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "ID")
public Integer getImageId() {
return imageId;
}
public void setImageId(Integer imageId) {
this.imageId = imageId;
}
@ManyToMany
@JoinTable(name="Tags",
joinColumns = {@JoinColumn(name="imageId", nullable=false)},
inverseJoinColumns = {@JoinColumn(name="personId", nullable=false)})
public Set<Person> getPersons() {
return persons;
}
public void setPersons(Set<Person> persons) {
this.persons = persons;
}
Run Code Online (Sandbox Code Playgroud)
如果我删除了getPersons()方法上的注释,我可以使用这些类并添加和删除记录.我想用图像获取所有标签,我正在尝试使用一组.我一直收到以下错误:
org.hibernate.LazyInitializationException - failed to lazily initialize a collection of role: com.exmaple.persons, no session or …Run Code Online (Sandbox Code Playgroud) 我有一个有趣的问题.我的模型中有一个:text字段,显示大量数据,通常大约有三个段落.
当我在新视图中输入文本时,它可能看起来像....
aaaaaaaaaaaaaaaaaaaaaaaaa.
bbbbbbbbbbbbbbbbbbbbbbbbbbbb.
ccccccccccccccccccccc.
Run Code Online (Sandbox Code Playgroud)
想象每个a,b或c是一个单独的段落.
在a,b和c行之间有一个空格....(例如,当你按Enter键时发生换行)
但是当我在视图上显示相同的数据时,无法识别换行符.该视图似乎将所有文本连接成一个大的模糊,它显示为.....
aaaaaaaaaaaaaaaaaaaaaaaaa.bbbbbbbbbbbbbbbbbbbbbbbbbbbb.ccccccccccccccccccccc.
Run Code Online (Sandbox Code Playgroud)
但是正在记录换行符,因为要进行编辑会以换行符的格式显示数据.
我考虑将<p>添加到文本区域并解析视图上的html,但这确实不是一个好选项,因为我不想要求我的用户插入html标签.
是否有一些我缺少的东西让文本区域以与输入时相同的方式显示?
我一直在尝试使用Kaminari宝石进行分页,但遇到了问题.
我有一个简单的初学者项目与一个简单的模型:
class Position < ActiveRecord::Base
validates_presence_of :name
end
Run Code Online (Sandbox Code Playgroud)
我在Ubuntu 10.04上运行ruby 1.9.2和rails 3.0.5.我安装了kaminari(0.10.4).
根据我的理解,我应该能够执行Position.order("name").page(1),但是当我这样做时,我得到以下内容:
ruby-1.9.2-p0 > Position.order("name").page(1)
NoMethodError: undefined method `page' for #<ActiveRecord::Relation:0xaacab34>
from /home/bob/.rvm/gems/ruby-1.9.2-p0@talentskout/gems/activerecord-3.0.5/lib/active_record/relation.rb:371:in `method_missing'
from (irb):2
from /home/bob/.rvm/gems/ruby-1.9.2-p0@talentskout/gems/railties-3.0.5/lib/rails/commands/console.rb:44:in `start'
from /home/bob/.rvm/gems/ruby-1.9.2-p0@talentskout/gems/railties-3.0.5/lib/rails/commands/console.rb:8:in `start'
from /home/bob/.rvm/gems/ruby-1.9.2-p0@talentskout/gems/railties-3.0.5/lib/rails/commands.rb:23:in `<top (required)>'
from script/rails:6:in `require'
from script/rails:6:in `<main>'
Run Code Online (Sandbox Code Playgroud)
这看起来就像我能得到的那样简单.任何想法将不胜感激.
谢谢.
我需要让一些管理员用户使用谷歌应用程序gmail监控员工电子邮件的能力.您是否使用过Google的Audit API来执行此操作.
我希望有一种方法让管理员只需点击我的用户发送电子邮件的视图,但事实并非如此.
如果重要,该应用程序是一个rails应用程序.该电子邮件完全通过谷歌应用程序在谷歌邮件上完成.任何做过这方面建议的人都会有所帮助.
我正在使用ruby on rails托管heroku上的应用程序.该电子邮件完全托管谷歌应用程序标准,而非业务,所以我们将不得不升级,DNS与zerigo,如果你使用heroku你已经知道.
我有一个200 MB的 XML文件,我正在使用TinyXML加载.我的问题是,当TinyXML对象被销毁时,它使用的内存将不会被重用.我使用过我在其他项目中使用的内存泄漏检测器,并且已经手动逐步执行代码并且无法找到任何内存泄漏,因此我不怀疑泄漏的内存是问题所在.
此代码将重现该问题:
#include <iostream>
#include <tinyxml.h>
int main()
{
char* filename = "../LargeFile.xml";
{
TiXmlDocument targetDoc( filename );
targetDoc.LoadFile();
}
char* buf = new char[ 524288000 ];
delete [] buf;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
使用地址空间监视器我可以看到,在LoadFile()有一大块红色后,然后targetDoc被破坏后它全部变黄.然后,当分配最终的char buf时,它显示为红色,但是在绿色空间的顶部,而不是从TinyXML中释放的黄色.如果尝试分配比绿色地址空间更多的缓冲区,应用程序将崩溃(内存不足).这可以在下面的图像中看到.

根据地址空间监视器页面"自由地址空间以绿色显示,保留地址以黄色显示,已使用(已提交)内存区域以红色显示"因此,根据地址空间监视器,为什么TinyXML释放的内存保持"保留"状态.什么可能导致这种情况发生,我该如何阻止它?
编辑:
"你在分配大缓冲区吗?如果是这样,那么黄色空间中可能存在内存碎片,并且无法分配大的连续缓冲区"
但是很好的问题表明TinyXML存在内存泄漏,我的工具都没有显示出来.
UPDATE
我做了循环,无休止地分配整数,最终似乎使用了所有的黄色空间.但是,更大的分配不使用它.这向我表明,在通过tinyXML解析xml文件期间,堆中出现了一些小漏洞,这些漏洞以一种方式对堆进行分段,使得只有小到足以容纳漏洞的对象才能在黄色空间中分配.所以我在TinyXML中搜索越来越长的漏洞,但仍未找到任何漏洞.一切似乎都得到了正确的释放,这让我回到了最初的困惑状态.
我无法解释这个问题.

我们什么时候需要在PHP中使用框架.我听说过zend框架和symfony.我已经阅读过它们,但仍然不明白我们在软件开发中使用框架的确切原因.
java ×3
annotations ×1
c++ ×1
collections ×1
form-helpers ×1
forms ×1
frameworks ×1
hibernate ×1
monitor ×1
objective-c ×1
php ×1
python ×1
static ×1
stocks ×1
storage ×1
symfony1 ×1
syntax ×1
textarea ×1
tinyxml ×1
trading ×1
variables ×1