首页 文章 精选 留言 我的

精选列表

搜索[质量工程],共10000篇文章
优秀的个人博客,低调大师

持续集成篇-- SonarQube代码质量管理平台的安装

视频教程:http://www.roncoo.com/course/view/85d6008fe77c4199b0cdd2885eaeee53 IP:192.168.4.221 环境:CentOS 6.6、JDK7、MySQL5.1 、SonarQube-4.5.4(LTS) root用户操作 准备工作:已安装JDK7并配置好了环境变量 1 、安装MySQL5.1 (可参考前面SVN管理平台的MySQL安装步骤,如果已安装则无需安装) # rpm -qa | grep mysql ## 查看该操作系统上是否已经安装了mysql数据库, 有的话,可以通过 rpm -e 命令 或者 rpm -e --nodeps 命令来卸载掉 # yum install mysql-server mysql mysql-devel # service mysqld start # chkconfig --list | grep mysqld mysqld 0:off 1:off 2:off 3:off 4:off 5:off 6:off 用上面的命令查看到MySQL并没有设置开机启动,所以需要设置开机启动 # chkconfig mysqld on 为了方便远程管理,防火墙中打开3306端口 # vi /etc/sysconfig/iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT 重启防火墙,使端口配置生效 # service iptables restart 设置MySQL数据库root用户的密码: # mysqladmin -u root password 'wusc.123' 登录数据库: # mysql -u root -p MySQL授权远程访问(先用root登录mysql) mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'wusc.321' WITH GRANT OPTION; mysql> FLUSH PRIVILEGES; 2、配置MySQL 结合SonarQube,MySQL数据库最好使用InnoDB引擎,可提高性能。 看你的mysql现在已提供什么存储引擎:mysql> show engines; 看你的mysql当前默认的存储引擎: mysql> show variables like '%storage_engine%'; 修改MySQL存储引擎为InnoDB, 在配置文件/etc/my.cnf中的 [mysqld] 下面加入default-storage-engine=INNODB # vi /etc/my.cnf [mysqld] default-storage-engine=INNODB 重启mysql服务器 # service mysqld restart 再次登录MySQL查看默认引擎设置是否生效 mysql> show variables like '%storage_engine%'; +----------------+--------+ | Variable_name | Value | +----------------+--------+ | storage_engine | InnoDB | +----------------+--------+ innodb_buffer_pool_size参数值设置得尽可能大一点 这个参数主要作用是缓存innodb表的索引,数据,插入数据时的缓冲 默认值:128M,专用mysql服务器设置的大小:操作系统内存的70%-80%最佳。 设置方法:my.cnf文件[mysqld] 下面加入innodb_buffer_pool_size参数 # vi /etc/my.cnf [mysqld] innodb_buffer_pool_size = 256M (我们这里设置为256M,因为我们的不是专用的MySQL数据库服务器,还有很多其他的服务需要占用系统内存) 设置MySQL的查询缓存query_cache_size,最少设置15M # vi /etc/my.cnf [mysqld] query_cache_type=1 query_cache_size=32M 重启mysql服务器 # service mysqld restart 验证缓存设置是否生效: mysql> show variables like '%query_cache%'; +------------------------------+----------+ | Variable_name | Value | +------------------------------+----------+ | have_query_cache | YES | | query_cache_limit | 1048576 | | query_cache_min_res_unit | 4096 | | query_cache_size | 33554432 | | query_cache_type | ON | | query_cache_wlock_invalidate | OFF | +------------------------------+----------+ 3、创建sonarqube数据库(UTF-8编码) 二、安装SonarQube的Web Server 下载最新LTS版的SonarQube安装包(当前版本为sonarqube-4.5.4.zip): 下载地址:http://www.sonarqube.org/downloads/ http://dist.sonar.codehaus.org/sonarqube-4.5.4.zip 下载: # wget http://dist.sonar.codehaus.org/sonarqube-4.5.4.zip 解压安装: # unzip sonarqube-4.5.4.zip # mv sonarqube-4.5.4 sonarqube 编辑sonar配置: # cd sonarqube/conf/ # vi sonar.properties sonar.jdbc.username=root sonar.jdbc.password=wusc.123 #----- MySQL 5.x sonar.jdbc.url=jdbc:mysql://localhost:3306/sonarqube?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance sonar.web.host=0.0.0.0 sonar.web.context=/sonarqube sonar.web.port=9090 保存以上配置(注意,要看看默认的9000端口是否已被占用) 防火墙中打开9090端口: # vi /etc/sysconfig/iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 9090 -j ACCEPT 重启防火墙,使端口配置生效 # service iptables restart 启动 SonarQube Web Server # /root/sonarqube/bin/linux-x86-64/sonar.sh start (初次启动会自动建表和做相应的初始化) 浏览器中输入:http://192.168.4.221:9090/sonarqube/ 登录,默认用户名/密码为 admin/admin 到此,SonarQube已安装完毕,接下来是对SonarQube做相应的配置和使用 关注公众号:

优秀的个人博客,低调大师

iOS-《编写高质量代码》笔记-第二章

建议8:C语基本言与Objective-C 语言的关系是充分而非必要条件 1.C 语言的基本语法在Objective-C 语言中是可用的。 2.与C语言相比,Objective-C语言又定义了新的基本数据类型,如BOOL等。 3.Objective-C值对象比C类型变量具有封装常用操作的优势,但在数值计算中,使用C类型标量更为简洁。 建议9:高度警惕空指针和野指针的袭击 1.空指针(NULL 指针),是指没有存储任何内存地址的指针。野指针,是指向“垃圾内存”(不可用内存)的指针。野指针指向的对象被释放了,无指向的指针是空指针。 2.利用野指针发消息是很危险的,会报错。也就是说,如果一个对象已经被回收了,就不要再去操作它,不要再尝试给它发消息。 3.利用空指针发消息是没有任何问题的,也就是说代码是没有错误的。 建议10:在64位环境下尽可能利用标记指针 iphone 5s 采用了arm 64 的cpu. 由于指针地址对齐概念和64位超大地址的出现,指针地址仅仅作为内存的地址是比较浪费的,故此,可以在指针地址中保存或附加更多信息。这就引入了标记(Tagged)指针概念。标记(Tsgged)指针是指那些指针中包含特殊属性或信息的指针。其中指针对齐概念可以来标识一个指针是否是标记指针及相关类型。(指针对齐 地址后四位都是0) 在64位环境下,isa也是64位,实际作为指针部分只用到其中的33位,剩余的部分会运用到标记(Tagged)指针的概念。其中19位将保存对象的引用计数,这样对引用计数的操作只需要原子的修改这个指针即可。如果引用计数超出19位,才会将引用计数保存到外部表,而这种情况往往是很少的,因此效率将会大大提高。 1.利用标记指针,可以在指针地址中保存或附加更多信息 2.利用标记指针处理NSNumber,直接可以把实际的值保存到指针中,而无须再去访问堆中的数据,可提高内存访问速度和整体运算速度。 3.在32位和64位的环境下,isa 指针会产生不同的变化。在64位环境下,标记指针可加快isa指针的处理效率。 建议11:谨记兼容32位和64位环境下代码编写事项 1.不要将长整型数据赋予整型 2.利用NSInteger 来处理32位和64位之间的转换 3.创建数据结构要注意固定大小和对齐 建议12:清楚常量字符串和一般字符串的区别 常量字符串 NSString *str = @“hello”; 1.由于编译器的优化,相同内容的常量字符串的地址值是完全相同的。 2.如果使用常量字符串来初始化一个字符串,那么这个字符串的地址值也是相同的。 3.对常量字符串永远不要release。release也没用。 建议13:在访问集合时要优先考虑使用快速枚举 使用快速枚举可以很容易地枚举集合,在快速枚举集合期间,不能变异集合,即使集合是可变的。如果在循环内,尝试添加或删除集合的对象,则会生成运行时异常。 建议14:有序对象适宜存于数组,而无序对象适宜存于集 1. 数组可维持持续性,故适宜存储有序的对象。集不维持秩序,故适宜存储无序对象,即使不止一次在集中尝试添加一个对象,集也只能存储一个单独对象的一个引用。 2.同一数组可以保存不同的对象,但不能存储基本类型和nil, 存储基本类型都会被设置成0,不能存储nil是因为数组必须用nil 来结尾 建议15:存在公共键时,字典是在对象之间传递信息的绝佳方式 字典可作为有序对象的集合,主要依赖于键值可采用有序。 建议16:明智而审慎地使用BOOL 类型 整型转换为BOOL型的时候要避免直接和YES做比较。

优秀的个人博客,低调大师

HaLow技术提升车载Wi-Fi质量 促进车联网发展

据科技网站Gizmag报道,Wi-Fi联盟近日宣布推出名为Wi-Fi HaLow的低功耗Wi-Fi技术,Wi-Fi信号覆盖面更广、能耗更低,HaLow技术或将成为车载Wi-Fi的福音,进一步推动车联网技术进步。 汽车电子以及信息传输网络的发展为车联网奠定了技术基础。随着移动互联网、车联网及物联网的发展,智能汽车的步伐正在加快,无线通讯技术与汽车电子技术整合的趋势正在加速,通过配备准捷电子车载Wi-Fi产品,汽车等移动交通工具摇身一变成为一个移动网络,从而让用户享受到无处不在的信息服务。而车载Wi-Fi技术则成为智能汽车的一大关键技术之一。 据报道,Wi-Fi联盟的HaLow技术是基于IEEE 802.11ah标准,可同时运作于2.4GHz、5GHz及900MHz频段,能将现今802.11ac Wi-Fi的讯号覆盖范围扩大一倍,在巩固Wi-Fi技术在物联网市场的地位,也将大大推动车载Wi-Fi技术的发展。 据Wi-Fi联盟总裁兼执行长埃德加·菲格罗亚(Edgar Figueroa)介绍,Wi-Fi HaLow适合智慧家庭、智慧城市与智慧工业等市场的独特需求,比起现今的Wi-Fi技术,由于它的功耗极低、渗透率较高,可以穿墙且拥有较长的传输范围,因此HaLow技术的适用性更广。据悉,HaLow技术原本是为各类穿戴式装置以及小功率传感器打造的,不过现在HaLow技术也可适用于大规模产业设备,并在车载Wi-Fi市场发挥重要作用。 覆盖范围将传统Wi-Fi扩大一倍,在环境变化时,尤其是遇到墙体等物理障碍时,HaLow技术的Wi-Fi信号穿透力更强,信号会更强劲。而且在设备高密度环境——指多个设备使用同一个端口时,HaLow技术的表现亦十分抢眼,效果良好。 车载Wi-Fi是面向公交、客车、私家车、游轮等公共交通工具推出的特种上网设备,Wi-Fi终端通过无线接入互联网获取信息、娱乐或移动办公的业务模式。车载Wi-Fi通过3G/4G/5G to Wi-Fi、无线射频等技术,提供Wi-Fi热点。车载Wi-Fi设备要在高速、高温、振动环境中工作,对设备的稳定性、灵敏度、抗恶劣环境能力等方面提出更苛刻的要求。 作者:何妍 来源:51CTO

资源下载

更多资源
腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册