小编Cla*_*ton的帖子

在运行时添加Java注释

是否可以在运行时向对象添加注释(在我的情况下特别是一个方法)?

更多解释:我有两个模块,moduleA和moduleB.moduleB依赖于moduleA,它不依赖于任何东西.(modA是我的核心数据类型和接口等,modB是db/data层)modB也取决于externalLibrary.在我的例子中,modB将一个类从modA移交给externalLibrary,这需要某些方法进行注释.具体的注释都是externalLib的一部分,正如我所说,modA不依赖于externalLib,我想保持这种方式.

那么,这是可能的,还是你有其他方法来看待这个问题的建议?

java annotations runtime

68
推荐指数
4
解决办法
5万
查看次数

用于查看以前版本文件的差异的简写

我可以很容易地找出自上次提交以来文件发生了什么变化git diff HEAD^ -- <filename>但是有一个等效的简写来查看特定文件的差异,因为它是最后一次提交的,无论自那以后发生了多少次提交?或者返回该特定文件的N次提交?

上下文:我在文件中发现了一个错误,我想在它偷偷进入时跟踪它.很容易获得特定文件的日志报告,git log -<n> <filename>只显示包含对该文件的更改的提交.所以很明显我可以复制并从粘贴SHA的log报告,但我真正想要的是能够执行类似的git diff ^ -- <filename>git diff ~2 -- <filename>.

git diff

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

测试旧版PHP Spaghetti代码?

我从开发人员那里继承了一个相当大的,自制的,php4 + MySQL,电子商务项目,他们在写作时自学了编程和html.(我会感到不寒而栗,除非他们能够从头开始做这么多事情,这真是令人印象深刻.)我的工作是保持它并以新功能推进它.

代码的功能取决于$_SESSION数据和其他全局状态结构,然后这些结构会影响代码的流程以及通过require语句显示站点的哪些部分.当我去年接受它时,我的第一个任务是将所有重复内容抽象为单独的文件,这些文件包含在require语句中,并且还从"显示"或输出代码中删除了大部分"逻辑"代码,但我无法删除这一切.我已经将代码转移到了我可以使用的函数中,但这仍然非常有限.类和方法现在肯定是不可能的.

所有测试都是手动/视觉完成的.我想开始自动化一些测试,但我根本不知道从哪里开始.函数的单元测试非常简单,但函数中的代码很少,而且大部分都非常简单.我看phpUnitDbUnit,但所有的实例以及关于它们的讨论集中在类和方法.

那么,除了项目中最琐碎的部分之外,我还有哪些选项可以开始实施单元测试?

php legacy phpunit unit-testing

17
推荐指数
2
解决办法
3101
查看次数

获取Git的所有推送列表

如何push从特定遥控器获取所有命令的列表git

对于我的情况,这可以在远程或本地存储库上运行.

对于奖励积分,我如何获得所有成功 push命令的列表?

git

15
推荐指数
1
解决办法
8331
查看次数

SyntaxError:意外的标记'const'(使用Vue,Karma,Webpack,PhantomJS)

我有一个或多或少的香草Laravel + Vue.js应用程序,我正在尝试与Karma和Jasmine进行一些JS测试.如果我尝试在我的测试中使用() => {}样式函数或关键字const,它们会因意外的令牌错误而失败,但是,使用该import关键字时我没有问题,而且我能够无故障地转换和处理.vue文件.

像一个微不足道的断言

expect(true).toBe(true);
Run Code Online (Sandbox Code Playgroud)

似乎工作正常(见最后一行)

$ ./node_modules/karma/bin/karma start
22 11 2016 11:09:23.250:INFO [karma]: Karma v1.3.0 server started at http://localhost:9876/
22 11 2016 11:09:23.254:INFO [launcher]: Launching browser PhantomJS with unlimited concurrency
22 11 2016 11:09:23.263:INFO [launcher]: Starting browser PhantomJS
22 11 2016 11:09:24.025:INFO [PhantomJS 2.1.1 (Mac OS X 0.0.0)]: Connected on socket /#U1dCZ7i3UtsC-M3_AAAA with id 84458811
PhantomJS 2.1.1 (Mac OS X 0.0.0): Executed 1 …
Run Code Online (Sandbox Code Playgroud)

karma-runner webpack vue.js babeljs

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

在Java/Swing中更改助记符修饰键

在Swing中设置焦点热键非常简单:

  tfldPlantsNeeded = new JTextField( FIELD_LEN_MED );
  lblPlantsNeeded = new JLabel( "Plants Needed" );
  lblPlantsNeeded.setDisplayedMnemonic( 'p' );
  lblPlantsNeeded.setLabelFor( tfldPlantsNeeded );
Run Code Online (Sandbox Code Playgroud)

这将tfldPlantsNeeded在用户按下时将焦点放在JTextField上ALT+p.它还会突出显示/显示将触发焦点变化的角色.(在这种情况下,ALT按下时,"植物"中的'P'加下划线.)

这很棒......好吧,有点儿.在Mac上,当用户按下时ALT(也在OptionMac键盘上),助记符处于高位,但是在p按下时也不会触发焦点更改.但是,如果用户按下Control + Option + p,则其工作为"预期"并且焦点被改变.(另外,如果用户按下Option + p,则当前聚焦的文本字段将插入有趣的字符.)

我知道我可以通过getInputMap和指定自定义键绑定来自己做getActionMap,但有没有办法更改应用程序全局助记符修饰符,以便我们可以使用自动键绑定和触发字符突出显示?(就我而言,我想使用CommandMeta作为助记符修饰键.)

java user-interface swing mnemonics

5
推荐指数
1
解决办法
1178
查看次数

MySQL threads_connected和SHOW PROCESSLIST不匹配

我们在共享环境中使用MySQL并且经常遇到"太多连接"问题.当我尝试诊断这个时,每个人似乎都建议SHOW PROCESSLIST或检查SHOW STATUS输出中的'Threads_connected'变量.我发现的所有引用都暗示这两个显示等效信息,即'threads_connected'应该与返回的条目数匹配SHOW PROCESSLIST,但在我的所有测试中SHOW PROCESSLIST只显示一个条目,而'threads_connected'在3和10之间波动.

我的预感是SHOW PROCESSLIST只显示我的连接,而'threads_connected'显示所有用户的线程计数,但我无法找到任何积极说明这一点的东西.那是什么交易?

mysql

3
推荐指数
1
解决办法
6034
查看次数

在全屏模式下,JDialog不显示

我有一个以全屏模式运行的应用程序,并且工作正常.现在我需要添加一个简单的,未修饰的对话框,我遇到了麻烦.如果我运行应用程序最大化但不是全屏,则对话框将按预期显示和运行.当我切换回全屏时,对话框将不会显示.

该对话框扩展了JDialog,只包含一个JSlider和几个按钮.它是未修饰的而不是模态的.(我为测试目的禁用了模态 - 每次对话框阻止输入时强制退出应用程序都很痛苦.)我正在进入全屏模式setFullScreenWindow(),传入应用程序的主JFrame.如果我将非常JFrame设置为JDialog的所有者,则没有什么区别.如果我打电话toFront()给对话框,它似乎也没有帮助.

该对话框似乎是活动的 - 特别是因为它阻止输入,如果我使其模态 - 但只是没有显示或被隐藏.那么,在全屏模式下显示JDialog有什么明显的技巧吗? 我可能会忽视或省略的东西?

如果没有明显的解决方案,我可以稍后发布一些代码.不幸的是,我现在没有时间.

java swing fullscreen jdialog

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