假设我有一个模拟ATM机器的GUI Java项目,我有以下类:
- RegisterWindow
- LoginWindow
- MainAccountOptionsWindow
Run Code Online (Sandbox Code Playgroud)
所有类都集中在面板/窗口而不是普通的OO设计.有人告诉我这是一个特定的设计模式,也许是以E开头的东西,我只是不记得他们现在说的话!有人知道吗?以这种方式设计东西一般都不好吗?
谢谢
在Objective-C中定义字符串时,我可以使用字符串格式轻松分配,例如
NSString *myVar = @"My String has %d words", 4;
Run Code Online (Sandbox Code Playgroud) 我的程序需要使用void*来在动态调用情况下传输数据或对象,以便它可以引用任意类型的数据,甚至是原始类型.但是,我最近发现,在具有多个基类的类的情况下向下转换这些void*的过程失败,甚至在调用这些向下转换指针上的方法后崩溃我的程序,即使内存地址似乎是正确的.在访问"vtable"期间发生崩溃.
所以我创建了一个小测试用例,环境是Mac OS X上的gcc 4.2:
class Shape {
public:
virtual int w() = 0;
virtual int h() = 0;
};
class Square : public Shape {
public:
int l;
int w() {return l;}
int h() {return l;}
};
class Decorated {
public:
int padding;
int w() {return 2*padding;}
int h() {return 2*padding;}
};
class DecoratedSquare : public Square, public Decorated {
public:
int w() {return Square::w() + Decorated::w();}
int h() {return Square::h() + Decorated::h();}
};
#include <iostream>
template <class T> …Run Code Online (Sandbox Code Playgroud) 我有一个客户端和服务器与C中的数据报(UDP)通信.客户端发送5个消息,并在收到消息后,服务器发回消息.在客户端完成接收消息之前,接收和发送消息是很好的.服务器发回所有消息后,它将使用close()终止.所以来自客户端的recvfrom()应该返回0,对吗?
假设recvfrom()应该在服务器端close()时返回0,它返回-1,而错误资源暂时不可用.此资源是否从服务器引用了已关闭的套接字?或者它是否为完全不同的东西,比如用完缓冲区或其他东西(我不认为是真的)?
假设我的假设是错误的,并且因为服务器终止而返回-1,我可能应该处理错误
if(SOMEMACRO)
do something
Run Code Online (Sandbox Code Playgroud)
我怎么知道SOMEMACRO是什么?我打印出错误,但它说资源临时不可用,recvfrom()描述没有提到无法使用的资源..?
顺便说一句,这是一个非阻塞套接字,如果这有任何区别,因为我读到如果设置O_NONBLOCK并且没有可用的消息,它会将errno设置为EAGAIN或EWOULDBLOCK.未设置O_NONBLOCK但设置了MSG_DONTWAIT.它们基本上是相同的东西,其中O_NONBLOCK用于一般文件描述符,而MSG_DONTWAIT是特定于套接字的吗?
我的大脑现在没有那么好用,如果有人可以启发我并澄清我的困惑,我会深深体会到这一点.谢谢!
我正在设计一个自定义HTML帮助器,我想执行Html.ActionLink来提供动态URL生成.
namespace MagieMVC.Helpers
{
public static class HtmlHelperExtension
{
public static string LinkTable(this HtmlHelper helper, List<Method> items)
{
string result = String.Empty;
foreach (Method m in items)
{
result += String.Format(
"<label class=\"label2\">{0}</label>" +
System.Web.Mvc.Html.ActionLink(...) +
"<br />",
m.Category.Name,m.ID, m.Name);
}
return result;
}
}
}
Run Code Online (Sandbox Code Playgroud)
遗憾的是,无论我试图声明的命名空间如何,都无法在此上下文中识别Html.ActionLink.
作为一般性问题,我想知道在设计新的自定义帮助程序时是否可以使用任何现有的标准/自定义Html辅助方法.
谢谢.
我正在找到一种方法如何使用maven将任何文件复制到我的Web服务器.我有一个maven项目,其中包含一组html,js,属性和配置文件.
我想打包我的东西并部署到存储库.之后在另一个maven项目中,我想从工件中解压缩文件,过滤资源并复制到服务器上的指定文件夹.
什么是最好的方法呢?
maven-dependency-plugin可以解压缩工件,但在这种情况下我没有找到如何使用资源过滤以及如何指定多个输出目录.
这是我在StackOverflow上的第一个问题(抱歉我的英文).我会尽力解释这个问题.
我有一个带有前景玉应用程序的swt应用程序,其中我有一个进度条来通知应用程序的持续时间.要刷新此进度条,我使用:
if(Display.getCurrent() != null) {
progress.run();
}
else {
sShell.getDisplay().syncExec(progress);
}
Run Code Online (Sandbox Code Playgroud)
进展是:
Runnable progress = new Runnable() {
public void run () {
if (progressBar.isDisposed ())
return;
int percentage= (numStep*100)/maxSteps;
progressBar.setSelection(percentage);
if (numStep >= maxSteps){
label1.setText("The simulation has been completed.");
button.setEnabled(true);
}
}
};
Run Code Online (Sandbox Code Playgroud)
我试着分析这个Runnable所花费的时间并且它是恒定的,但是当我分析这条线sSehll.getDisplay().syncExec(progress)需要不同的时间(从0ms到XXXXms)
我读过这个
syncExec(Runnable runnable)导致当前线程(如果它与显示器的用户界面线程不同)等待runnable完成.
但是Runnable是时间常数......
有人可以指导我吗?我不明白为什么有时需要3分钟和其他时间.
谢谢
我试图找出一种在Ubuntu Server LTS上使用tar +管道的方法.
我有一个postgresql命令(pg_dump),它在标准输出上输出大量的sql:
pg_dump -U myUser myDB
Run Code Online (Sandbox Code Playgroud)
我知道如何将其重定向到文件:
pg_dump -U myUser myDB > myDB.sql
Run Code Online (Sandbox Code Playgroud)
为了节省一些磁盘空间,我宁愿把它压缩:我可以从myDB.sql做一个tar.gz文件,然后删除myDB.sql.
但我想知道 - 有没有办法在不创建中间.sql文件的情况下这样做?我相信这可以用管道完成......但是我不是外壳大师,对它们知之甚少(我能做到ls | more,就是这样).我尝试过几种不同的pg_dump .. | tar ...但没有成功的.
如何使用管道将输出pg_dump用作tar的输入?或者我刚搞错了什么?
在PowerShell中有一种简单的方法可以在另一个语言环境中格式化数字等吗?我目前正在编写一些函数来简化SVG生成,SVG .用作小数分隔符,而PowerShell de-DE在将浮点数转换为字符串时遵循我的语言环境设置().
是否有一种简单的方法可以为函数设置另一个区域设置,而不会粘连
.ToString((New-Object Globalization.CultureInfo ""))
Run Code Online (Sandbox Code Playgroud)
每个double变量之后?
注意:这是关于用于格式化的语言环境,而不是格式字符串.
(附带问题:在这种情况下我应该使用不变文化en-US吗?或者更确切地说?)
ETA:嗯,我在这里尝试的是以下内容:
function New-SvgWave([int]$HalfWaves, [double]$Amplitude, [switch]$Upwards) {
"<path d='M0,0q0.5,{0} 1,0{1}v1q-0.5,{2} -1,0{3}z'/>" -f (
$(if ($Upwards) {-$Amplitude} else {$Amplitude}),
("t1,0" * ($HalfWaves - 1)),
$(if ($Upwards -xor ($HalfWaves % 2 -eq 0)) {-$Amplitude} else {$Amplitude}),
("t-1,0" * ($HalfWaves - 1))
)
}
Run Code Online (Sandbox Code Playgroud)
对于我倾向于一直写的东西只是一点点自动化,双值需要使用小数点而不是逗号(它们在我的语言环境中使用).
ETA2:有趣的琐事补充:
PS Home:> $d=1.23
PS Home:> $d
1,23
PS Home:> "$d"
1.23
Run Code Online (Sandbox Code Playgroud)
通过将变量放入字符串中,设置的语言环境似乎不适用于某种程度.
我有一个HTML报告,每个打印页面包含一个<div class="page">.页面类定义为
width: 180mm;
height: 250mm;
page-break-after: always;
background-position: centre top;
background-image: url(Images/MainBanner.png);
background-repeat: no-repeat;
padding-top: 30mm;
Run Code Online (Sandbox Code Playgroud)
在对报告内容进行一些更改后,当我调用abcPDF将报告转换为PDF时,我突然在每个真实的报告页面后插入一个空白页面.我不想回滚我刚刚删除此问题所做的更改,所以我希望有人可能知道为什么要插入额外的页面.
java ×2
abcpdf ×1
agents-jade ×1
asp.net ×1
asp.net-mvc ×1
c ×1
c++ ×1
casting ×1
client ×1
filtering ×1
gcc ×1
html-helper ×1
locale ×1
maven-2 ×1
maven-plugin ×1
objective-c ×1
oop ×1
pipe ×1
powershell ×1
shell ×1
sockets ×1
string ×1
swt ×1
tar ×1
udp ×1