您对首先开发命令行有什么看法,然后通过简单地调用命令行方法在事后添加GUI?
例如.
W:\ todo AddTask"与John会面,re:登录同行评审""John的办公室""2008-08-22""14:00"
加载todo.exe并调用一个调用的函数AddTask,该函数执行一些验证并在数据库中引发会议.
最后你在屏幕上添加:
============================================================ Event: [meeting with John, re: login peer review] Location: [John's office] Date: [Fri. Aug. 22, 2008] Time: [ 2:00 PM] [Clear] [Submit] ============================================================
单击"提交"时,它将调用相同的AddTask函数.
这是考虑到:
附录:
我注意到这里的趋势是"由GUI和CLI可执行文件调用的共享库".是否有一些令人信服的理由为什么它们必须分开,除了二进制文件本身的大小?
为什么不以不同的方式调用相同的可执行文件:
"todo /G" 当你想要全面的图形界面"todo /I" 用于交互式提示内 todo.exe(脚本等)"todo <function>"当你只想做一件事并完成它时,你就会老去.附录2:
有人提到"我[描述]的方式,每次GUI需要做某事时,你都需要产生一个可执行文件."
再次,这不是我的意图.当我提到示例GUI称为"相同的AddTask功能"时,我并不是说GUI每次都称为命令行程序.我同意这将是非常讨厌的.我曾打算(参见第一个附录)这一切都在一个可执行文件中,因为它只是一个很小的例子,但我不认为我的措辞必然会排除共享库.
另外,我要感谢你们所有人的意见.这是一种不断涌现在我心中的东西,我很欣赏你的经验.
我正在编写批处理脚本以美化JavaScript代码.它需要在Windows和Linux上运行.
如何使用命令行工具美化JavaScript代码?
javascript multiplatform pretty-print command-line-interface
我正在开发一个J2ME应用程序,它具有大量数据存储在设备上(在1MB但可变的区域内).我不能依赖文件系统,因此我陷入了记录管理系统(RMS),它允许多个记录存储但每个都有有限的大小.我的初始目标平台Blackberry将每个平台限制为64KB.
我想知道是否还有其他人必须解决在RMS中存储大量数据的问题以及他们如何管理它?我想要计算记录大小并在多个商店中分割一个数据集,如果它太大,但这增加了很多复杂性以保持其完好无损.
存储了许多不同类型的数据,但是特别是只有一个数据集将超过64KB限制.
我想使用Lucene(特别是Lucene.NET)来搜索电子邮件地址域.
例如,我想搜索"@ gmail.com"以查找发送到Gmail地址的所有电子邮件.
对"*@gmail.com"运行Lucene查询会导致错误,星号不能位于查询的开头.运行"@ gmail.com"的查询不会返回任何匹配项,因为"foo@gmail.com"被视为一个完整的单词,并且您无法仅搜索单词的某些部分.
我怎样才能做到这一点?
我正在使用amq.js(ActiveMQ)和谷歌地图.我按此顺序加载脚本
<head>
<meta http-equiv="content-type" content="text/html;charset=UTF-8" />
<title>AMQ & Maps Demo</title>
<!-- Stylesheet -->
<link rel="stylesheet" type="text/css" href="style.css"></link>
<!-- Google APIs -->
<script type="text/javascript" src="http://www.google.com/jsapi?key=abcdefg"></script>
<!-- Active MQ -->
<script type="text/javascript" src="amq/amq.js"></script>
<script type="text/javascript">amq.uri='amq';</script>
<!-- Application -->
<script type="text/javascript" src="application.js"></script>
</head>
Run Code Online (Sandbox Code Playgroud)
但是在我的application.js中它加载了地图很好但是在尝试使用AMQ订阅主题时出现错误.AMQ依赖于Firefox中错误控制台所说的对象未定义的原型.我认为在脚本加载完成之前使用amq对象时遇到问题.有没有办法确保在我的application.js中使用它们之前加载两个脚本?
Google有这个很棒的函数调用google.setOnLoadCallback(initialize);,效果很好.我不确定amq.js有这样的东西.
升级到最新版本的TortoiseSVN(1.5.2.13595)后,它的上下文菜单不再可用.
尝试手动运行时,我收到此错误:
The application has failed to start because its side-by-side configuration is incorrect.
Please see the application event log for more detail
Run Code Online (Sandbox Code Playgroud)
应用程序日志显示了这一点
Activation context generation failed for "C:\Program Files\TortoiseSVN\bin\TortoiseSVN.dll".
Dependent Assembly Microsoft.VC90.CRT,processorArchitecture="x86",publicKeyToken="1fc8b3b9a1e18e3b",type="win32",version="9.0.30411.0" could not be found.
Please use sxstrace.exe for detailed diagnosis.
Run Code Online (Sandbox Code Playgroud) 例:
select ename from emp where hiredate = todate('01/05/81','dd/mm/yy')
Run Code Online (Sandbox Code Playgroud)
和
select ename from emp where hiredate = todate('01/05/81','dd/mm/rr')
Run Code Online (Sandbox Code Playgroud)
返回不同的结果
我有一个项目利用javax.mail.internet.MimeMessage和其他相关的类,它们为我们收到的电子邮件进行mime解析.这需要移植到.NET.
我可以使用什么.Net第三方或内置库来替换我正在使用的Java类?
编辑:自从我问这个问题以来,过去9个月有什么变化吗?
有谁知道bash如何处理通过管道发送数据?
cat file.txt | tail -20
Run Code Online (Sandbox Code Playgroud)
此命令是否将file.txt的所有内容打印到缓冲区中,然后由尾部读取?或者,这个命令是否逐行打印file.txt的内容,然后在每一行暂停以便尾部处理,然后要求更多数据?
我问的原因是我在嵌入式设备上编写程序,该程序基本上对某些数据块执行一系列操作,其中一个操作的输出作为下一个操作的输入发送.我想知道linux(bash)如何处理这个问题所以请给我一个通用答案,而不是具体说当我运行"cat file.txt | tail -20"时会发生什么.
提前感谢您的回复!
编辑:Shog9指出了相关的维基百科文章,这并没有直接引导我直到文章,但它帮助我找到了这个:http://en.wikipedia.org/wiki/Pipeline_%28Unix%29#Implementation确实有我正在寻找的信息.
对不起,我很抱歉.当然你正在使用管道,当然你正在使用命令各个部分的stdin和stdout.我原以为这太明显了.
我问的是如何处理/实施.由于两个程序不能同时运行,数据如何从stdin发送到stdout?如果第一个程序生成的数据明显快于第二个程序,会发生什么?系统是否只运行第一个命令,直到它被终止或它的stdout缓冲区已满,然后转到下一个程序,依此类推,直到没有剩余的数据要处理,或者是否有更复杂的机制?
.net ×2
javascript ×2
bash ×1
command-line ×1
device ×1
google-maps ×1
java ×1
java-me ×1
linux ×1
lucene ×1
mime ×1
ms-access ×1
oracle ×1
pipe ×1
pretty-print ×1
rms ×1
search ×1
sql ×1
tortoisesvn ×1
winsxs ×1