请访问原文链接:https://sysin.org/blog/sonarqube-10/,查看最新版。原创作品,转载请保留出处。
作者主页:sysin.org
Sonar Clean Code Industry leading solutions
Self-managed. SonarQube.

为开发团队提供深度集成到您的企业环境中的解决方案 (sysin),使您能够一致且可靠地部署干净的代码。
被 300,000+ 组织使用和喜爱
代码更智能
将 Sonar 工具无缝集成到您的开发工作流程中,看看无与伦比的代码智能可以为您的组织做什么。
更清洁的代码。较低的维护。
干净的代码更容易增强 (sysin),将维护时间和成本降至最低。
留住你的开发人员。快乐的。
通过保持工作场所最重要的部分——你的代码——干净,你可以为每个人创造一个愉快和满意的工作环境。
返工少。多创新。
通过授权开发人员专注于解决有趣的问题来产生更大的商业价值。
将风险降到最低。最大化声誉。
Sonar 通过在正确的地点和时间进行正确的检查 (sysin),使您的软件保持稳健和安全。
开发者必备
开发人员使用 Sonar
来自 Github 的推荐点击
Azure 市场上的管道扩展
开发商。团队。企业。
对于开发者
使用一种解决方案控制您的代码,该解决方案可在最有用的点直接向您的工作流程提供实时洞察 (sysin)。Sonar 为干净、高质量的代码提供工具和智能,所需的修复提交更少。
对于团队
使用快速且提供近乎实时反馈的解决方案,减少返工并进行更多创新。Sonar 的 Clean as You Code 方法使您的代码保持干净,以便团队可以将他们的才能集中在重要的地方——构建具有影响力的产品
为企业
使用 Sonar 工具包将整个企业的风险降至最低。干净、稳定的代码环境为吸引顶尖的开发人才奠定了基础,并使数据更安全,避免出现漏洞和昂贵的修复周期。

The SonarQube server require Java version 11 and the SonarQube scanners require Java version 11 or 17.
SonarQube is able to analyze any kind of Java source files regardless of the version of Java they comply to.
We recommend using the Critical Patch Update (CPU) releases.
| Java | Server | Scanners |
|---|---|---|
| Oracle JRE | ❌ 17 | ✅ 17 |
| ✅ 11 | ✅ 11 | |
| ❌ 8 | ❌ 8 | |
| OpenJDK | ❌ 17 | ✅ 17 |
| ✅ 11 | ✅ 11 | |
| ❌ 8 | ❌ 8 |
| Database | Version |
|---|---|
| PostgreSQL | ✅ 13 |
| ✅ 12 | |
| ✅ 11 | |
| ✅ 10 | |
| ✅ 9.6 | |
| ⚠️ Must be configured to use UTF-8 charset | |
| Microsoft SQL Server | ✅ 2019 (MSSQL Server 15.0) with bundled Microsoft JDBC driver. Express Edition is supported. |
| ✅ 2017 (MSSQL Server 14.0) with bundled Microsoft JDBC driver. Express Edition is supported. | |
| ✅ 2016 (MSSQL Server 13.0) with bundled Microsoft JDBC driver. Express Edition is supported. | |
| ✅ 2014 (MSSQL Server 12.0) with bundled Microsoft JDBC driver. Express Edition is supported. | |
⚠️ Collation must be case-sensitive (CS) and accent-sensitive (AS) (example: Latin1_General_CS_AS) | |
⚠️ READ_COMMITTED_SNAPSHOT must be set on the SonarQube database to avoid potential deadlocks under heavy load | |
| ℹ️ Both Windows authentication (“Integrated Security”) and SQL Server authentication are supported. See the Microsoft SQL Server section in Installing/installation/installing-the-server page for instructions on configuring authentication. | |
| Oracle | ✅ 19C |
| ✅ 18C | |
| ✅ 12C | |
| ✅ XE Editions | |
⚠️ Must be configured to use a UTF8-family charset (see NLS_CHARACTERSET) | |
| ⚠️ The driver ojdbc14.jar is not supported | |
| ℹ️ We recommend using the latest Oracle JDBC driver | |
| ⚠️ Only the thin mode is supported, not OCI | |
⚠️ Only MAX_STRING_SIZE=STANDARD parameter is supported, not EXTENDED |
To get the full experience SonarQube has to offer, you must enable JavaScript in your browser.
| Browser | |
|---|---|
| Microsoft Edge | ✅ Latest |
| Mozilla Firefox | ✅ Latest |
| Google Chrome | ✅ Latest |
| Opera | ⚠️ Not tested |
| Safari | ✅ Latest |
Linux
If you’re running on Linux, you must ensure that:
vm.max_map_count is greater than or equal to 524288fs.file-max is greater than or equal to 131072You can see the values with the following commands (sysin):
sysctl vm.max_map_count
sysctl fs.file-max
ulimit -n
ulimit -u
You can set them dynamically for the current session by running the following commands as root:
sysctl -w vm.max_map_count=524288
sysctl -w fs.file-max=131072
ulimit -n 131072
ulimit -u 8192
SonarQube Data Center Edition 10.0.068432 for macOS, Linux, Windows
百度网盘链接: https://pan.baidu.com/s/1xcnDA7RD6FlVTdOs81Ukyg?pwd=uqqe
我需要在客户计算机上运行Ruby应用程序。通常需要几天才能完成(复制大备份文件)。问题是如果启用sleep,它会中断应用程序。否则,计算机将持续运行数周,直到我下次访问为止。有什么方法可以防止执行期间休眠并让Windows在执行后休眠吗?欢迎任何疯狂的想法;-) 最佳答案 Here建议使用SetThreadExecutionStateWinAPI函数,使应用程序能够通知系统它正在使用中,从而防止系统在应用程序运行时进入休眠状态或关闭显示。像这样的东西:require'Win32API'ES_AWAYMODE_REQUIRED=0x0
如何在buildr项目中使用Ruby?我在很多不同的项目中使用过Ruby、JRuby、Java和Clojure。我目前正在使用我的标准Ruby开发一个模拟应用程序,我想尝试使用Clojure后端(我确实喜欢功能代码)以及JRubygui和测试套件。我还可以看到在未来的不同项目中使用Scala作为后端。我想我要为我的项目尝试一下buildr(http://buildr.apache.org/),但我注意到buildr似乎没有设置为在项目中使用JRuby代码本身!这看起来有点傻,因为该工具旨在统一通用的JVM语言并且是在ruby中构建的。除了将输出的jar包含在一个独特的、仅限ruby
在rails源中:https://github.com/rails/rails/blob/master/activesupport/lib/active_support/lazy_load_hooks.rb可以看到以下内容@load_hooks=Hash.new{|h,k|h[k]=[]}在IRB中,它只是初始化一个空哈希。和做有什么区别@load_hooks=Hash.new 最佳答案 查看rubydocumentationforHashnew→new_hashclicktotogglesourcenew(obj)→new_has
我的主要目标是能够完全理解我正在使用的库/gem。我尝试在Github上从头到尾阅读源代码,但这真的很难。我认为更有趣、更温和的踏脚石就是在使用时阅读每个库/gem方法的源代码。例如,我想知道RubyonRails中的redirect_to方法是如何工作的:如何查找redirect_to方法的源代码?我知道在pry中我可以执行类似show-methodmethod的操作,但我如何才能对Rails框架中的方法执行此操作?您对我如何更好地理解Gem及其API有什么建议吗?仅仅阅读源代码似乎真的很难,尤其是对于框架。谢谢! 最佳答案 Ru
我的假设是moduleAmoduleBendend和moduleA::Bend是一样的。我能够从thisblog找到解决方案,thisSOthread和andthisSOthread.为什么以及什么时候应该更喜欢紧凑语法A::B而不是另一个,因为它显然有一个缺点?我有一种直觉,它可能与性能有关,因为在更多命名空间中查找常量需要更多计算。但是我无法通过对普通类进行基准测试来验证这一点。 最佳答案 这两种写作方法经常被混淆。首先要说的是,据我所知,没有可衡量的性能差异。(在下面的书面示例中不断查找)最明显的区别,可能也是最著名的,是你的
几个月前,我读了一篇关于rubygem的博客文章,它可以通过阅读代码本身来确定编程语言。对于我的生活,我不记得博客或gem的名称。谷歌搜索“ruby编程语言猜测”及其变体也无济于事。有人碰巧知道相关gem的名称吗? 最佳答案 是这个吗:http://github.com/chrislo/sourceclassifier/tree/master 关于ruby-寻找通过阅读代码确定编程语言的rubygem?,我们在StackOverflow上找到一个类似的问题:
这似乎非常适得其反,因为太多的gem会在window上破裂。我一直在处理很多mysql和ruby-mysqlgem问题(gem本身发生段错误,一个名为UnixSocket的类显然在Windows机器上不能正常工作,等等)。我只是在浪费时间吗?我应该转向不同的脚本语言吗? 最佳答案 我在Windows上使用Ruby的经验很少,但是当我开始使用Ruby时,我是在Windows上,我的总体印象是它不是Windows原生系统。因此,在主要使用Windows多年之后,开始使用Ruby促使我切换回原来的系统Unix,这次是Linux。Rub
我目前正在使用以下方法获取页面的源代码:Net::HTTP.get(URI.parse(page.url))我还想获取HTTP状态,而无需发出第二个请求。有没有办法用另一种方法做到这一点?我一直在查看文档,但似乎找不到我要找的东西。 最佳答案 在我看来,除非您需要一些真正的低级访问或控制,否则最好使用Ruby的内置Open::URI模块:require'open-uri'io=open('http://www.example.org/')#=>#body=io.read[0,50]#=>"["200","OK"]io.base_ur
前言作为一名程序员,自己的本质工作就是做程序开发,那么程序开发的时候最直接的体现就是代码,检验一个程序员技术水平的一个核心环节就是开发时候的代码能力。众所周知,程序开发的水平提升是一个循序渐进的过程,每一位程序员都是从“菜鸟”变成“大神”的,所以程序员在程序开发过程中的代码能力也是根据平时开发中的业务实践来积累和提升的。提高代码能力核心要素程序员要想提高自身代码能力,尤其是新晋程序员的代码能力有很大的提升空间的时候,需要针对性的去提高自己的代码能力。提高代码能力其实有几个比较关键的点,只要把握住这些方面,就能很好的、快速的提高自己的一部分代码能力。1、多去阅读开源项目,如有机会可以亲自参与开源
之前在培训新生的时候,windows环境下配置opencv环境一直教的都是网上主流的vsstudio配置属性表,但是这个似乎对新生来说难度略高(虽然个人觉得完全是他们自己的问题),加之暑假之后对cmake实在是爱不释手,且这样配置确实十分简单(其实都不需要配置),故斗胆妄言vscode下配置CV之法。其实极为简单,图比较多所以很长。如果你看此文还配不好,你应该思考一下是不是自己的问题。闲话少说,直接开始。0.CMkae简介有的人到大二了都不知道cmake是什么,我不说是谁。CMake是一个开源免费并且跨平台的构建工具,可以用简单的语句来描述所有平台的编译过程。它能够根据当前所在平台输出对应的m