小编sme*_*sme的帖子

键盘快捷键将剪贴板内容粘贴到命令提示符窗口(Win XP)

是否有键盘快捷键用于将剪贴板的内容粘贴到Windows XP的命令提示符窗口中(而不是使用鼠标右键)?

典型的Shift+ Insert似乎不适用于此.

windows keyboard-shortcuts

301
推荐指数
7
解决办法
33万
查看次数

MySQL分区/分片/分裂 - 哪种方式去?

我们有一个大约70 GB的InnoDB数据库,我们预计它会在未来2到3年内增长到几百GB.大约60%的数据属于一个表.目前数据库运行良好,因为我们有一个64 GB RAM的服务器,所以几乎整个数据库都适合内存,但我们担心未来数据量会大得多.现在我们正在考虑某种方式来分割表格(尤其是占据数据最大部分的表格),我现在想知道,最好的方法是什么.

我目前知道的选项是

  • 使用5.1版附带的MySQL分区
  • 使用某种封装数据分区的第三方库(如hibernate分片)
  • 在我们的应用程序中自己实现它

我们的应用程序基于J2EE和EJB 2.1构建(希望有一天我们可以切换到EJB 3).

你会建议什么?

编辑(2011-02-11):
只是一个更新:目前数据库的大小是380 GB,我们的"大"表的数据大小是220 GB,其索引的大小是36 GB.因此,虽然整个表不再适合内存,但索引确实如此.
系统仍然运行良好(仍然在相同的硬件上),我们仍然在考虑分区数据.

编辑(2014-06-04):还有一个更新:整个数据库的大小是1.5 TB,我们的"大"表的大小是1.1 TB.我们将服务器升级到具有128 GB RAM的4处理器机器(Intel Xeon E7450).该系统仍然表现良好.我们接下来要做的是将我们的大表放在一个单独的数据库服务器上(我们已经在我们的软件中进行了必要的更改),同时升级到具有256 GB RAM的新硬件.

这个设置应该持续两年.然后我们要么必须最终开始实施分片解决方案,要么只购买1 TB RAM的服务器,这应该让我们继续使用一段时间.

编辑(2016-01-18):

从那以后,我们将自己的大表放在单独的服务器上.目前,该数据库的大小约为1.9 TB,另一个数据库的大小(除了"大"之外的所有表)都是1.1 TB.

当前硬件设置:

  • HP ProLiant DL 580
  • 4 x Intel(R)Xeon(R)CPU E7- 4830
  • 256 GB RAM

此设置的性能很好.

mysql partitioning sharding database-performance

48
推荐指数
3
解决办法
2万
查看次数

Subversion没有将更改合并到重命名的文件中?

我使用subversion有以下问题:

我目前正在研究项目的主干,并计划进行一些重构(包括重命名文件或将文件移动到不同的目录).

与此同时,其他人正在分支机构上工作同一个项目.

在某些时候,我想将分支上所做的更改合并回主干.这包括对已在主干上重命名的文件(在分支上)所做的更改.

我做了一些测试,似乎颠覆不能跟随这些变化,或者我错过了某些(这是我希望的).我使用以下脚本测试了这个(应该在bash中工作,在" http:// myserver/svn/sandbox "中假设一个svn存储库):

svn co http://myserver/svn/sandbox

cd sandbox/

mkdir -p MyProject/trunk MyProject/branches MyProject/tags

cat - <<EOF >MyProject/trunk/FileOne.txt
Test
1
2
EOF

svn add MyProject

svn commit -m "init"

# create a branch
svn copy http://myserver/svn/sandbox/MyProject/trunk http://myserver/svn/sandbox/MyProject/branches/Branch_1 svn copy http://myserver/svn/sandbox/MyProject/trunk http://myserver/svn/sandbox/MyProject/branches/Branch_1

# rename the file
svn move MyProject/trunk/FileOne.txt MyProject/trunk/FileTwo.txt

svn commit -m "renamed file"

svn update 

# change the content of FileOne in branch

cat - <<EOF >MyProject/branches/Branch_1/FileOne.txt
Test
2
3
EOF

svn commit -m "changed …
Run Code Online (Sandbox Code Playgroud)

svn

25
推荐指数
2
解决办法
1万
查看次数

使用guice时如何避免使用injector.createInstance()?

有些东西我只是不了解guice:根据我到目前为止所读到的内容,我应该只在我的bootstrapping类中使用Injector(在独立的应用程序中,这通常是在main()方法中) ,如下例所示(取自guice文档):

public static void main(String[] args) {
    /*
     * Guice.createInjector() takes your Modules, and returns a new Injector
     * instance. Most applications will call this method exactly once, in their
     * main() method.
     */
    Injector injector = Guice.createInjector(new BillingModule());

    /*
     * Now that we've got the injector, we can build objects.
     */
    RealBillingService billingService = injector.getInstance(RealBillingService.class);
    ...
  }
Run Code Online (Sandbox Code Playgroud)

但是,如果不是所有我需要的对象都可以在启动期间创建?也许我想在应用程序运行时响应一些用户交互?我不是必须将我的注入器放在某处(例如作为静态变量),然后在需要创建新对象时调用injector.getInstance(SomeInterface.class)吗?

当然,在整个地方传播对Injector.getInstance()的调用似乎并不可取.

我在这里弄错了什么?

dependency-injection guice

13
推荐指数
1
解决办法
5777
查看次数

如何更改netbeans设置目录的位置(〜/ .netbeans)

默认情况下,netbeans将其设置存储在用户主目录下名为.netbeans的目录中.是否可以更改此目录的位置(尤其是在Windows下)?

感谢James Schek,我现在知道答案(更改netbeans.conf中的路径),但这引出了另一个问题:是否有办法将当前用户名包含在netbeans设置目录的路径中?

我想做这样的事情:

netbeans_default_userdir="D:\etc\${USERNAME}\.netbeans\6.5beta"
Run Code Online (Sandbox Code Playgroud)

但我无法弄清楚要使用的变量的名称(如果有的话).当然我可以使用--userdir选项实现同样的目的,我只是好奇.

netbeans

10
推荐指数
1
解决办法
2万
查看次数

在使用proguard进行模糊处理后,使用google guice注入不再起作用

有没有人试图将谷歌guice的使用与混淆(特别是proguard)结合起来?我的代码的混淆版本不适用于google guice,因为guice抱怨缺少类型参数.这些信息似乎被proguard所做的转换步骤所删除,即使相关类被排除在混淆之外.

堆栈跟踪如下所示:

com.google.inject.CreationException: Guice creation errors:

1) Cannot inject a Provider that has no type parameter
  while locating com.google.inject.Provider
    for parameter 0 at de.repower.lvs.client.admin.user.administration.AdminUserCommonPanel.setPasswordPanelProvider(SourceFile:499)
  at de.repower.lvs.client.admin.user.administration.AdminUserCommonPanel.setPasswordPanelProvider(SourceFile:499)
  while locating de.repower.lvs.client.admin.user.administration.AdminUserCommonPanel
    for parameter 0 at de.repower.lvs.client.admin.user.administration.b.k.setParentPanel(SourceFile:65)
  at de.repower.lvs.client.admin.user.administration.b.k.setParentPanel(SourceFile:65)
  at de.repower.lvs.client.admin.user.administration.o.a(SourceFile:38)

2) Cannot inject a Provider that has no type parameter
  while locating com.google.inject.Provider
    for parameter 0 at de.repower.lvs.client.admin.user.administration.AdminUserCommonPanel.setWindTurbineAccessGroupProvider(SourceFile:509)
  at de.repower.lvs.client.admin.user.administration.AdminUserCommonPanel.setWindTurbineAccessGroupProvider(SourceFile:509)
  while locating de.repower.lvs.client.admin.user.administration.AdminUserCommonPanel
    for parameter 0 at de.repower.lvs.client.admin.user.administration.b.k.setParentPanel(SourceFile:65)
  at de.repower.lvs.client.admin.user.administration.b.k.setParentPanel(SourceFile:65)
  at de.repower.lvs.client.admin.user.administration.o.a(SourceFile:38)

2 errors
    at com.google.inject.internal.Errors.throwCreationExceptionIfErrorsExist(Errors.java:354)
    at com.google.inject.InjectorBuilder.initializeStatically(InjectorBuilder.java:152)
    at com.google.inject.InjectorBuilder.build(InjectorBuilder.java:105)
    at …
Run Code Online (Sandbox Code Playgroud)

obfuscation proguard guice

7
推荐指数
2
解决办法
6034
查看次数