这与有关cmd.exe 的更好的shell终端/ gui接口的问题有关
在我寻找更好的shell终端的过程中,我遇到的唯一有用的东西是Console2,其他替代品并不是免费的,并且通常没有提供比Console2更多的价值.
我不禁想知道,"怎么回事"?该外壳终端是一个非常有价值的工具,程序员,但没有人走过来,试图做得更好比cmd.exe的(除了家伙@ console2)?
当然设计一个命令行shell终端仿真器不能这样一个艰巨的任务!
有没有人尝试过编写shell终端模拟器?里面是什么?那里有任何资源(比方说,如果我想编写自己的shell)?
17/07/2009
我重新提出了这个问题,我所说的"shell"实际上被称为终端模拟器(至少在linux世界中).我最近才意识到这一点,所以我想我应该重新审视这个问题并解决它.
请注意:通过"纯粹"功能,我不是指"纯虚拟"
我指的是这个
如果一个函数"读取"某个全局状态,那么它会自动渲染它不纯吗?还是取决于其他因素?
如果它自动呈现它不纯,请解释原因.
如果它取决于其他因素,请解释它们是什么.
我并不擅长创建GUI,一般来说我的理念是:我不创建它们,或者我让它们尽可能简单(并说服自己,它更适合可用性:)
对于我目前的项目,我正在使用Python中的Qt(PyQt),我想开始添加一些GUI元素而不会使界面混乱.
我的想法是将这些元素创建为一种只在必要时出现的浮动形状的小部件; 非常像chrome中的状态栏(和查找栏).
是否有任何标准API可以创建这种接口?
自从我上次使用D编程语言以来已经有一段时间了,现在我将它用于一些涉及科学计算的项目.
我有一堆浮点数据,但是当我使用它打印时writefln
,我得到的结果如下:4.62593E-172
这是零!如何使用字符串格式化%stuff来打印0这样的东西?
现在我正在使用黑客:
if( abs(a) < 0.0000001 )
writefln(0);
else
writefln(a);
Run Code Online (Sandbox Code Playgroud)
它完成了这项工作,但我希望使用格式化操作,如果可能的话.
UPDATE
有人建议,writefln("%.3f", a)
但它的问题是它打印不必要的额外零,即0
成为0.000
和1.2
变成1.200
我可以使它也删除尾随零?
我想尝试/玩非关系数据库,如果解决方案是:
你能为我推荐什么?
基本上,我希望能够在我没有用户权限的共享linux服务器上安装此系统.
这是一个小测试:
function inc(n:integer):integer;
begin
n := n+1;
result := n;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
start,i,n:integer;
begin
n := 0;
start := getTickCount;
for i := 0 to 10000000 do begin
inc(n);//calling inc function takes 73 ms
//n := n+1; writing it directly takes 16 ms
end;
showMessage(inttostr(getTickCount-start));
end;
Run Code Online (Sandbox Code Playgroud) 我有一个使用 Ajax 的“联系我们”表单(即依赖于异步请求)。
如果用户禁用了 javascript,我想显示一条消息,内容如下:
您需要启用 Javascript 才能使用此联系表。如果您不能,或者不知道 Javascript 是什么,请使用您的电子邮件并通过 与我们联系
<the_email_address>
。
但当然,我想躲避the_email_address
垃圾邮件机器人。
由于此电子邮件地址必须显示在 中<noscript>
,因此用 Javascript 对其进行加扰是没有意义的,特别是考虑到一些用户可能根本不知道 Javascript 是什么。
我想到了一个解决方案,但我无法测试它:插入空<span></span>
标签,如
my_em<span></span>ail@g<span></span>mail.com
或者,聪明一点
my_em<span style="display:none">garbage</span>ail@gmail.com
那行得通吗?如果没有,还有更好的想法吗?
更新
感谢 RichieHindle 的回答。我想我应该在 python 中分享这个想法的简单实现:
def html_nospam(string):
def ent(char):
return "&#%d;" % ord(char)
return ''.join([ent(c) for c in string])
Run Code Online (Sandbox Code Playgroud) 我从 Noto 字体系列中下载了一些字体,将它们放在 assets 文件夹中,然后将它们加载到 Typeface
对象中,然后我以编程方式将字体设置在 a 上TextView
,但是当我这样做时,文本上方和下方有一些额外的垂直填充。就好像文本高度或行高发生了变化。
请注意,我使用的是 Kotlin/Anko,因此与常规 Java/XML 相比,语法可能看起来很奇怪:
textView {
text = someSpannableString
padding = dip(10)
isSelectable = true
typeface = someTypefaceInstance
}
Run Code Online (Sandbox Code Playgroud)
我试图这样做:
setLineSpacing(0f, 1f)
Run Code Online (Sandbox Code Playgroud)
但这并没有改变任何东西。
就其价值而言,这里的特定字体是“NotoSerifCJKjp-Regular.otf”
我需要一个简单的"开发"服务器的PHP,例如不是apache.
在现代环境中,例如node.js,我可以node server.js
在任何文件夹内运行,它将作为运行指定站点的服务器运行server.js
.然后,我可以从另一个文件夹运行另一个节点进程,这两个服务器永远不会干扰或互相攻击.
是否有类似的设置为PHP?
使用apache,在我看来,我需要提前"配置"服务器; 我不能只是放入某个文件夹并在某个任意端口上提供其内容.
我想要一个命令,我可以用来从一些文件夹中运行一个php服务器,配置量最少,目的是成为一个开发/测试服务器.
例如,假设调用此服务器sps
,那么,我应该能够:
cd ~/code/proj1
sps
Run Code Online (Sandbox Code Playgroud)
也许它可能需要一个简单的配置文件,sps.conf
它指定服务器应该监听的端口号,以及可能有关数据库连接的信息; 但仅此而已.
这样的工具是否存在于php?