大多数SQL数据库都遵循ANSI SQL标准,但是
标准是模糊的,留下一些区域可以解释(例如:NULLs应该如何处理不同的操作是模糊的)
有些供应商完全违反标准或仅缺乏标准定义的功能(例如:MySQL有标准与其实现之间的差异列表)
某些数据库的行为会有所不同,具体取决于它们的配置方式,但可以更改配置以使它们的行为方式相同(例如:Oracle默认情况下执行区分大小写的字符串比较,而SQL Server会使它们不区分大小写)
有些功能不是标准的一部分,但是不管怎样都由不同的RDBMS实现,虽然名称不同(例如:Oracle's LISTAGG= MySQL's GROUP_CONCAT)
当您尝试编写应该与多个数据库兼容的内容时,是否有一个包含全面的怪癖列表和陷阱的资源?
所以我有一个应用程序,它由API和Windows服务(由Topshelf包装)组成,它使用RabbitMQ持续监听事件并按需处理数据.
对于教育和娱乐,我试图将其重写为可在.NET Core和unix上运行的等效设置(例如,在AWS上的docker容器中)
如果我想保持跨平台的话,使用.NET Core实现等效于Windows服务(永远运行的后台进程)的最佳方法是什么?
我有一个Python脚本,需要计算以任意字体显示的任意字符串的确切大小,以生成简单的图表.我可以轻松地使用Tkinter.
import Tkinter as tk
import tkFont
root = tk.Tk()
canvas = tk.Canvas(root, width=300, height=200)
canvas.pack()
(x,y) = (5,5)
text = "yellow world"
fonts = []
for (family,size) in [("times",12),("times",24)]:
font = tkFont.Font(family=family, size=size)
(w,h) = (font.measure(text),font.metrics("linespace"))
print "%s %s: (%s,%s)" % (family,size,w,h)
canvas.create_rectangle(x,y,x+w,y+h)
canvas.create_text(x,y,text=text,font=font,anchor=tk.NW)
fonts.append(font) # save object from garbage collecting
y += h+5
tk.mainloop()
Run Code Online (Sandbox Code Playgroud)
结果似乎取决于Python和/或系统的版本:
在Ned Batchelder提到它之后,我发现字体的大小因平台而异.只要你坚持与自己保持一致的Tkinter,它可能不是一个交易破坏者.但我的整个程序并没有使用Tkinter的来执行实际的绘图:它只是依靠其字体大小计算,以产生一个输出(在SVG或Python脚本被发送到Nodebox).事情就是这样:
mocodo的输出http://grab.by/grabs/f67b951d092dd1f4f490e1469a53bca2.png
(请查看实际大小的 …
我想在我的跨平台PyQt4应用程序中添加下一个功能:当用户选择某个文件并选择"删除"操作时,该文件将被移动到回收站文件夹而不是永久删除.我想我可以使用Win32 API或类似的东西找到特定于Windows的解决方案,但我想知道在Ubuntu/Linux和MaxOSX上也可以通过PyQt4方法执行类似的操作.
谁使用Mac进行跨平台开发?
通过跨平台,我基本上意味着你可以编译到目标Windows或Unix(不一定两者同时).我知道这也与编写可移植代码有很大关系,但我更感兴趣的是人们使用Mac OS X开发软件的经验.
我知道有一系列的IDE可供选择,我可能会使用Eclipse(我喜欢GCC工具链),但Xcode似乎很受欢迎.它可以如上所述使用吗?在紧要关头,我总是可以使用VirtualBox或VMware Player进行虚拟化或并行使用Visual Studio(或双重启动).说过我对任何其他建议的编译器开放(最好是使用GCC的IDE.)
此外,还有可用的Mac系列,你会推荐哪一款?我更喜欢一台笔记本电脑(因为我已经有一台台式机),但我不确定合理的规格.
如果您目前正在使用Mac进行开发,我很想听听您在Mac上开发的内容以及您喜欢和不喜欢的内容.
我主要是用C/C++/Java开发.我也希望尝试使用Boost和Qt,所以我很想听听任何(潜在的)兼容性问题.
如果您有任何其他提示我会爱你,你会听到你要说的话.
从Windows工作站开发Linux应用程序的最佳设置是什么?现在我通过SSH连接到我们的Linux开发服务器,并使用Eclipse,通过PuTTY通过SSH转发到在我的Windows工作站上运行的公共域版本的Xming.它有效,但不是很好; Eclipse的响应时间远远不够快(比我在速度较慢的Windows工作站上本机运行的Eclipse差得多),我无法调整一些对话框的大小,而且我还没有想出一个重新配置字体的好方法.
有更好的设置可用吗?
编辑:这是用于C/C++开发.
如何在C++中以跨平台方式查找用户的主目录?即Linux中的/ home/user,Windows Vista上的C:\ Users\user \,Windows XP上的C:\ Documents And Settings\user \以及Mac使用的任何内容.(我认为是/用户/用户)
基本上,我正在寻找的是一种C++方式(在python中的例子)
os.path.expanduser("~")
Run Code Online (Sandbox Code Playgroud) 最近,我已经不再喜欢Perl作为跨平台的通用脚本语言了,而且Python和Ruby也没有真正吸引过我.
但是我已经越来越习惯于在浏览器中使用JavaScript,它在V8等现代引擎中的表现相当不错,而node.js现在已经真正起飞了几年.
但node.js主要用于服务器端网络编程.正如它在其主页上声明的那样:
基于V8的事件驱动的I/O服务器端JavaScript环境.
我想知道node.js目前是否也适合作为*nix和Windows上的通用脚本语言,作为Perl,Python和Ruby的替代品.
我没有太多关于以这种方式使用它的说法,但它确实似乎有一个广泛的社区,我没有注意到任何说它不适合这种用途.这种方式被广泛使用吗?或者它缺少这类事物的关键功能或模块?
我有一个用Java编写的服务器软件,可以在Windows和OS X上运行.(它不是在服务器上运行,而只是普通用户的PC - 类似于torrent客户端.)我希望软件发出信号在操作系统处于活动状态时保持机器处于唤醒状态(防止其进入睡眠模式).
当然我不希望有一个跨平台的解决方案,但我希望有一些非常小的C程序/脚本,我的应用程序可以产生,以通知操作系统保持清醒.
有任何想法吗?
是(bool)(i & 1)和i % 2 == 1总是相同的地方i是int?
注意:总是说我的意思是所有平台(即使字节是16位)和所有C和C++标准.
编辑:
适用于所有C和C++标准bool.