我已经在我拥有的VPS上设置了PostgreSQL - 访问数据库的软件是一个名为PokerTracker的程序.
PokerTracker在玩在线扑克时会记录您的所有牌局和统计数据.
我希望这可以从几台不同的计算机访问,所以决定将它安装在我的VPS上,经过几次打嗝后我设法让它连接没有错误.
但是,表现可怕.我已经做了很多关于'远程postgresql慢'等的研究,我还没有找到答案所以希望有人能够提供帮助.
注意事项:
我试图执行的查询非常小.在VPS上本地连接时,查询立即运行.
在远程运行时,运行查询大约需要1分30秒.
VPS运行100MBPS,然后我连接的计算机是8MB线路.
两者之间的网络通信几乎是即时的,我可以远程连接,没有任何延迟,并且正在托管几个运行MSSQL的网站,并且所有查询都可以立即运行,无论是远程连接还是本地连接,所以它似乎特定于PostgreSQL.
我正在使用他们的软件运行他们最新版本的软件和PostgreSQL的最新兼容版本.
数据库是一个新的数据库,几乎没有任何数据,我运行真空/分析等都无济于事,我看不到任何改进.
我不明白MSSQL几乎可以立即查询,但PostgreSQL如此挣扎.
我可以telnet到VPS IP上的端口5432没有问题,正如我所说的查询确实执行它只需要很长时间.
我所注意的是在查询运行时在路由器上几乎没有使用任何带宽 - 但是我再也不希望它用于简单查询但不确定这是否是问题.我现在尝试在3个不同的网络上远程连接(包括不同的路由器),但问题仍然存在.
通过LAN通过另一台机器远程连接是即时的.
我还编辑了postgre配置文件以允许更多的内存/缓冲区等,但我不认为这是问题 - 我要求它做的很简单 - 它根本不应该是密集的.
谢谢,瑞奇
编辑:请注意客户端和服务器都运行Windows.
以下是配置文件中的信息.
pg_hba - currently allowing all traffic: # TYPE DATABASE USER CIDR-ADDRESS METHOD # IPv4 local connections: host all all 0.0.0.0/0 md5 # IPv6 local connections: # host all all ::1/128 md5
和postgresqlconf - 我知道我已经为这个配置提供了大量的缓冲区/内存,只是为了测试它是否是问题 - 只显示未注释的行:
listen_addresses = '*' port = 5432 max_connections = 100 shared_buffers = 512MB work_mem = 64MB max_fsm_pages …
我是iOS的新手,从Android开发转向.
我们有一个Android应用程序,它有几个库,我们使用J2ObjC转换为Objective C.
我已经逐渐将这些图书馆带到了现在,所以很好.
但是,在翻译谷歌的GSON库后,我遇到了一个问题,如果我尝试使用翻译的方法,toJsonWithId我会遇到问题:
let gson = ComGoogleGsonGson()
let swiftTest = GsonSwiftTest()
swiftTest.name = "Ricky"
print(gson.toJsonWithId(swiftTest))
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
libc ++ abi.dylib:以JavaLangAssertionError类型的未捕获异常终止
进一步显示:
由于未捕获的异常'JavaLangAssertionError'而终止应用程序,原因:'未知的Java类型编码'
我的Swift课程是:
import Foundation
@objc
public class GsonSwiftTest : NSObject {
var name:String?
}
Run Code Online (Sandbox Code Playgroud)
如果我在我的Swift项目中使用Objective C类,将它添加到桥接头并使用Objective C类它可以正常工作.
我相信这是我的一个误解,但我找不到为什么这不起作用的答案.检查J2ObjC源代码显示无法找到类的类型时引发错误.
如果有人可以帮助解释这个问题的原因,我们将不胜感激.
谢谢!
我一直在试图弄清楚这一点,尽管阅读了很多书,但我肯定对片段在这里的工作方式有误解,或者我遇到了错误。
我有一个活动,其中包含一个FrameLayout.
创建活动时,我添加FragmentA.
if (savedInstanceState == null) {
Fragment newFragment = FragmentA.newInstance();
FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
ft.add(R.id.fragment_container, newFragment, FRAGMENT_A_TAG).commit();
}
Run Code Online (Sandbox Code Playgroud)
FragmentA的onCreateOptionsMenu方法按照我的预期被调用(虽然,奇怪的onPrepareOptionsMenu是第一次被调用了两次?)。
FragmentA创建它自己的菜单,在这种情况下只是一个简单的菜单项。当菜单项被按下时,一个事件被触发回活动以创建FragmentB.
Fragment newFragment = FragmentB.newInstance();
FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
ft.add(R.id.fragment_container, newFragment, FRAGMENT_B_TAG);
ft.addToBackStack(null);
ft.commit();
Run Code Online (Sandbox Code Playgroud)
现在问题来了。在这个阶段,我希望只调用FragmentB's onCreateOptionsMenu。但事实并非如此。FragmentA'sonCreateOptionsMenu被调用,然后是FragmentB's。
主要活动并没有任何相关的菜单中,只有片段。
为什么是这样?
如果我使用ft.replace(...),我没有这个问题。但这意味着每次弹出 FragmentB 时都要重新创建视图,我试图避免这种情况。
我希望这足以继续下去,但为了清楚起见,这里是活动的代码和两个片段。
public class MainActivity extends AppCompatActivity {
private static String FRAGMENT_A_TAG = "FRAGMENT_A_TAG"; …Run Code Online (Sandbox Code Playgroud) 我试图TextView通过迭代LinearLayout视图和使用来设置所有的字体instanceof.
表格目前由4个TextView和1个组成Button.
下面的代码是检测所有Views,甚至Button是一个TextView?
/* Set fonts */
LinearLayout ll = (LinearLayout) findViewById(R.id.ll_screenincourse_wrapper);
for (int i = 0; i < ll.getChildCount(); i++) {
View v = ll.getChildAt(i);
if (v instanceof TextView) {
((TextView) v).setTypeface(Fonts.get3dDumbFont(this));
}
}
Run Code Online (Sandbox Code Playgroud)
如果我记录每个视图的类名,它将返回TextView和Button,因此我知道正在拾取正确的控件.
问题是正在设置Button和TextView的字体,我只想要TextView的.
我找到了一个解决方法,即做以下操作,但我很感兴趣为什么上面的代码不能按预期工作.
/* Set fonts */
LinearLayout ll = (LinearLayout) findViewById(R.id.ll_screenincourse_wrapper);
for (int i = 0; i < ll.getChildCount(); i++) {
View v = ll.getChildAt(i);
if …Run Code Online (Sandbox Code Playgroud) 我正在尝试实现jQuery UI自动完成组合框,因此它可以在ASP.NET/C#中重用.
我只使用基本的自动完成功能没有问题,但是当我尝试使用组合框时,我感到很困惑.
我在JSON中返回键/值对时有一个处理程序.
然后我想要多个组合框来检索不同的数据.我只想要一个处理程序,所以我正在寻找通过源方法在我正在使用的控件的查询字符串中传递引用.
我真正找到的唯一一个我想要的例子就是这个,但它对我来说似乎不对,并且它不可重复使用,似乎有一些重复的代码.
jQuery站点上的示例如下所示,但是当更改源以使用远程源时,组合框永远不会填充.
(function( $ ) {
$.widget( "ui.combobox", {
_create: function() {
var input,
self = this,
select = this.element.hide(),
selected = select.children( ":selected" ),
value = selected.val() ? selected.text() : "",
wrapper = this.wrapper = $( "<span>" )
.addClass( "ui-combobox" )
.insertAfter( select );
input = $( "<input>" )
.appendTo( wrapper )
.val( value )
.addClass( "ui-state-default ui-combobox-input" )
.autocomplete({
delay: 0,
minLength: 0,
source: function( request, response ) { …Run Code Online (Sandbox Code Playgroud) 我正在使用一个正则表达式,它允许一个数字是带小数位的最大长度。
它应该允许最多 16 个数字和 3 个小数位,但是最多 16 个数字应该包括小数但不包括 . 特点。我试图和这个至今:^(?=^[\d\.].{0,16}$)[0-9]+(\.[0-9]{1,3})?$,这是接近但它允许17个单号,当它应该只接受16.如果我改变{0,16}到{0,15}它,然后打破了小数。
接受的值:
拒绝了:
提前致谢。
android ×2
asp.net ×1
c# ×1
gson ×1
instanceof ×1
ios ×1
j2objc ×1
java ×1
jquery ×1
jquery-ui ×1
objective-c ×1
performance ×1
postgresql ×1
regex ×1
swift ×1
views ×1
vps ×1