好的,所以你对可能成功的在线启动有了一个想法.你知道你自己永远不会把事情搞定,你宁愿永久工作的稳定性.然后你会想,"嘿,也许我的老板会有兴趣支持这个作为一个内部项目.显然我希望X%的利润首先提出这个概念,我希望能够在我们退休时退休被BigCorp收购."
您是否可以遵循任何法律程序来阻止任何您说出商业创意的人独立利用它?
你应该看什么样的交易(例如利润分成,股票等)?
我知道这是一个非常主观的问题(很可能会被关闭),但我认为如果我(以及其余的SO!)知道其他开发人员如何处理这种情况会很有用,所以我将其作为社区维基并希望它不会被关闭.
作为软件顾问,必须能够准确估计软件项目所需的时间量,因为客户无论如何都需要它.但我们都知道复杂的软件开发是多么复杂,而且我们都知道软件开发人员倾向于低估所需的工作量,并高估他们及时交付解决方案的能力.
所以,如果你是一个软件顾问,他在整个项目的基础上为你的客户开账单(但你必须拿出一个估计然后再根据那个开账单),如果你发现你提供的初始报价是什么,你会怎么做?太乐观了,你需要两倍的时间(或更多)你估计才能提供解决方案?
如何更改Visual Studio控制台窗口的默认设置?
这是我的问题:我必须能够通过串口发送和接收设备.这必须以多线程方式完成.流程如下:
等待设备向我发送一些东西 - 或者如果空闲,则查询状态以查看是否在线与设备
如果设备向我发送了一些内容,则处理消息,确认并告诉设备根据需要执行其他命令
现在,我有一个接收线程和传输线程.接收线程有一个while循环,它通过ReadFile(...)检查串行端口一个字节.如果我有一个字节,那么我开始构建我的缓冲区,然后解析数据以确定发送给我的是什么.
发送线程接受读线程定义的下一个命令,并通过WriteFile将其发送到同一个COM端口.关键是我和设备之间存在接收/发送关系.
我的问题是,我在这里有嵌套的生产者/消费者模型吗?如果我的接收线程正在从设备消耗并且发送线程正在向设备产生,那么线程需要固有地通话才能使它们同步 - 对吗?同步我的工作有效和快速与设备交谈的最佳方法是什么?注意:我使用的是具有TThreads的C++ Builder 5,可以使用关键部分和互斥锁.
编辑:我也在使用轮询,所以我愿意使用WaitCommEvent,如果这会更好!
我正在回想起我在大学一年级的那一年(五年前),当时我参加了一个考试,从而完成了计算机科学的入门课程.有一个关于循环不变的问题,我想知道如果循环不变是真的有必要在这种情况下,或者如果问题只是一个坏榜样......问题是写一个迭代定义为一个阶乘函数,然后证明功能是正确的.
我为阶乘函数提供的代码如下:
public static int factorial(int x)
{
if ( x < 0 ){
throw new IllegalArgumentException("Parameter must be >= 0");
}else if ( x == 0 ){
return 1;
}else{
int result = 1;
for ( int i = 1; i <= x; i++ ){
result*=i;
}
return result;
}
}
Run Code Online (Sandbox Code Playgroud)
我自己的正确性证明是一个案例的证明,并且每一个我断言它的定义是正确的(x!对于负值是未定义的,0!是1,x!是1*2*3 ......*x对于x)的正值.教授希望我用循环不变量来证明循环; 但是,我的论点是"按定义"是正确的,因为"x!"的定义 对于正整数x是"1 ... x的整数的乘积",而else子句中的for循环只是该定义的字面翻译.在这种情况下,真正需要一个循环不变量作为正确性的证明吗?在循环不变量(以及正确的初始化和终止条件)成为正确性证明之前,循环必须有多复杂?
另外,我想知道......行业中使用这种正式证据的频率是多少?我发现我的课程大约有一半是非常理论性和证据性的,大约一半是非常实施和编码,没有任何正式或理论材料.这些在实践中重叠多少?如果您确实使用了行业中的样张,那么何时应用它们(总是,只有它很复杂,很少,从不)?
编辑
如果我们自己,相信这一块的代码是正确的,可以说服别人(非正式)它是正确的,并有到位的单元测试,以被正确性的形式证明需要什么样的程度?
我想将'1g'或'100k'或'15 .3m'等字符串转换为整数.我怀疑这是浮在maven中心的一些图书馆周围,但我不太确定在哪里先看.
更清楚的是,我关注的是无量纲数,或者,如果您愿意,我还关注磁盘空间/文件大小单位.想想-Xmx到java命令.
我正在比较测试程序的两个变体.两者都ForkJoinPool在具有四个内核的机器上使用4线程运行.
在'模式1'中,我非常像执行器服务使用池.我把一堆任务扔进去ExecutorService.invokeAll.我获得了比普通的固定线程执行器服务更好的性能(即使有调用Lucene,那里也有一些I/O).
这里没有分而治之的.从字面上看,我做到了
ExecutorService es = new ForkJoinPool(4);
es.invokeAll(collection_of_Callables);
Run Code Online (Sandbox Code Playgroud)
在'模式2'中,我向池中提交单个任务,并在该任务中调用ForkJoinTask.invokeAll来提交子任务.所以,我有一个继承自的对象,RecursiveAction它被提交到池中.在该类的compute方法中,我调用了invokeAll来自不同类的对象集合,这些对象也继承自RecursiveAction.出于测试目的,我只提交第一个对象的一次一个.我天真地期望看到所有四个线程忙什么,因为线程调用invokeAll将为自己抓取一个子任务而不是仅仅坐着和阻塞.我可以想到为什么它可能不会那样工作的一些原因.
在VisualVM中观察,在模式2中,一个线程几乎总是在等待.我希望看到的是调用invokeAll的线程立即开始处理其中一个被调用的任务,而不仅仅是静坐.这肯定比使用普通线程池尝试此方案所导致的死锁更好,但仍然是什么?它是否保留一个线程,以防其他东西被提交?而且,如果是这样,为什么模式1中的问题不同?
到目前为止,我一直使用添加到java 1.6的引导类路径的jsr166 jar来运行它.
我有一些 XML 文件,我打算从中派生一些 python 源代码;它们类似于语言代码列表。分发模块是否有一个挂钩,我可以为此目的插入?或许更清楚一点,我不想传送 XML。我只想发送 .py 文件。我想通过运行一个从 XML 生成它们的程序来派生一些 .py 文件。
这是杯子预览的图像:

预览显示其他div包含的内容,但按比例缩小0.2.为了模拟马克杯的表面曲线,我使用了一种技术,其中预览块的宽度=原始宽度*0.2,并且它们通过scaleX变换缩放,即0.6,0.8,1,0.8.0.6.
它工作正常(我不能使用html5画布,因为它具有交叉浏览器兼容性,这是一项要求),但是,正如你可以在附加图像上看到的那样(顶部图像来自chrome,底部来自safari),safari会呈现不需要的光线.没有任何帮助 - 绝对定位,将一个块放在另一个上以隐藏该光线.这是safari特有的问题,可能是因为在transformX块的壁架被抗锯齿之后,因为scaleX侧壁变得更加明亮.其他浏览器不这样做.
有没有人知道我怎么能修复这个没有那些线在safari中渲染?
我(相对)是Java的新手,我正在尝试实现一个运行命令列表的.jar,在Windows XP的命令提示符下它将是:
cd\
cd myfolder
del *.lck /s
Run Code Online (Sandbox Code Playgroud)
我的(失败)尝试:
// Lists all files in folder
File folder = new File(dir);
File fList[] = folder.listFiles();
// Searchs .lck
for (int i = 0; i < fList.length; i++) {
String pes = fList.get(i);
if (pes.contains(".lck") == true) {
// and deletes
boolean success = (new File(fList.get(i)).delete());
}
}
Run Code Online (Sandbox Code Playgroud)
我搞砸了"得到(i)",但我觉得我现在非常接近我的目标.
我请求你的帮助,非常感谢你!
编辑
好的!非常感谢大家.通过3个建议的修改,我最终得到:
// Lists all files in folder
File folder = new File(dir);
File fList[] = folder.listFiles();
// Searchs .lck
for (int …Run Code Online (Sandbox Code Playgroud)