- Python 领域 pytest 的测试用例的可维护性设计
Python领域pytest的测试用例的可维护性设计关键词:pytest、测试用例、可维护性、测试框架、自动化测试、测试设计模式、重构摘要:本文深入探讨了如何在Python测试框架pytest中设计可维护的测试用例。我们将从测试用例可维护性的核心原则出发,分析pytest的特性和最佳实践,介绍多种提高测试代码可维护性的设计模式和技巧。文章包含实际代码示例、项目实战案例以及可维护性评估指标,帮助开发
- 软件测试入门到精通-第9周-接口自动化测试-fixture实现测试控制+集成allure
蓝花楹下
软件测试入门到精通python功能测试
《Pytest跳过测试的艺术:让测试用例学会"偷懒"的正确姿势》幽默指南核心原理:测试界的"请假条"系统想偷懒批准条件批准测试用例举手申请HR审批(@pytest.mark)带薪休假skip弹性办公skipif提交证明文件技术剧场:两幕喜剧第一幕:《霸道测试不想跑》
[email protected](reason="今天心情不好")#测试届的"姨妈假"deftest_imp
- pytest测试框架完全指南
目录1.安装与基础配置安装方法版本检查配置文件2.编写测试函数基本结构断言机制3.测试执行与报告基本执行方式常用命令行选项测试报告4.测试组织与管理测试类模块化测试5.高级测试功能Fixtures详解参数化测试异常测试进阶6.测试控制与标记跳过测试标记测试7.插件生态系统常用插件8.最佳实践9.完整示例项目10.学习资源pytest是Python生态中最流行、功能最强大的测试框架之一,它提供了简洁
- pytest合并allure报告解决方案
X1A0RAN
pytest
背景在执行自动化测试的过程中,为了实现自动化的高通过率,可能会反复的重试,直至大多数甚至全部用例执行通过,以此来需要人为分析的用例量,减少人力投入,提高执行效率;在用例少或者资源消耗小,用例执行快速高效的情况下,可以每次都执行全量用例,但是一旦用例数达到一定量级,全量重试就不再适用,重试失败用例或者指定用例才能满足需求。在前面的文章中pytest构造测试缓存执行指定用例提到构造测试缓存执行指定用例
- pytest中测试特定接口
qq_47150350
pytest服务器运维
在pytest中只测试特定接口有以下几种常用方法:1.通过测试函数名精确匹配直接指定测试文件和函数名:pytesttest_api.py::test_upload_image_with_library这将只运行test_api.py文件中名为test_upload_image_with_library的测试函数。2.使用关键字匹配(-k参数)通过函数名中的关键字筛选测试:pytesttest_ap
- (六)零代码封装pytest框架(日志封装)
OY-xin
接口测试(零代码pytest)pytest
三步解决日志封装(使用pytest自带日志模块)第一步:在pytest.ini中配置日志格式#日志配置#日志导出文件log_file=./logs/frame.log#日志级别:DEBUG,INFO,WARNING,ERROR,CRITICAL(逐级变高,选级后不会显示比所选级别低的)log_file_level=INFO#日志格式log_file_format=%(asctime)s%(leve
- python+requests接口自动化测试框架实例详解教程
锦都不二
python开发语言
前段时间由于公司测试方向的转型,由原来的web页面功能测试转变成接口测试,之前大多都是手工进行,利用postman和jmeter进行的接口测试,后来,组内有人讲原先web自动化的测试框架移驾成接口的自动化框架,使用的是java语言,但对于一个学java,却在学python的我来说,觉得python比起java更简单些,所以,我决定自己写python的接口自动化测试框架,由于本人也是刚学习pytho
- python+requests 搭建接口自动化测试框架【超详细】
测试涛叔
软件测试面试软件测试自动化测试python开发语言软件测试面试职场和发展
一、前言Python是一种简单易学、功能强大的编程语言,广泛应用于各种软件开发和测试场景中。requests是Python中流行的HTTP库,支持发送HTTP请求和处理HTTP响应,它也是开发API自动化测试框架的重要组件之一。在本文中,我们将介绍如何使用Python和requests构建一个简单的接口自动化测试框架,并通过实例来详细说明其具体实现方法。二、环境准备在开始构建接口自动化测试框架之前
- pytest + yaml 框架 -7.用例分层机制
上海-悠悠
PythonPytest-yaml框架使用教程python自动化
前言当我们测试流程类的接口,需反复去调用同一个接口,就会想到复用API,在代码里面可以写成函数去调用。那么在yaml文件中,我们可以把单个API写到一个yaml文件,测试用例去调用导入API。pip安装插件pipinstallpytest-yaml-yoyo用例分层功能在v1.0.5版本上实现用例分层我这里只分2层:API层和Testcase用例层API层:描述接口request请求,可以带上va
- Pytest的yaml格式测试用例读写封装
cgz_csdn
Pytestpytest
1.yaml是一种数据格式,扩展名可以是yaml,yml,支持#注释,通过缩进表示层级,区分大小写yaml读取出来后是一个字典列表格式。用途:用于做配置文件。(yaml、ini)用于编写自动化测试用例2.数据组成。(1)map对象,键:(空格)值。name:百里(2)数组(list),使用'-'表示列表。3.读写封装结果:
- pytest + yaml 框架 - 支持pytest-repeat插件重复执行用例
平常在做功能测试的时候,经常会遇到某个模块不稳定,偶然会出现一些bug,对于这种问题我们会针对此用例反复执行多次,最终复现出问题来。自动化运行用例时候,也会出现偶然的bug,可以针对单个用例,或者针对某个模块的用例重复执行多次。使用pip安装pytest-repeatpipinstallpytest-repeatpytest-repeat基本使用test_rp.py示例内容deftest_a1()
- FISCO BCOS区块链智能合约测试利器:Foundry框架从入门到实战
引言:为什么选择Foundry进行区块链测试?在区块链开发领域,测试环节常常被忽视却至关重要。想象一下,你花费数周时间开发的智能合约终于部署上线,却因为一个未发现的边界条件漏洞导致合约资金被锁死或被盗——这种噩梦般的场景在区块链世界并不罕见。与传统软件不同,区块链上的智能合约一旦部署就难以修改,这使得全面的测试成为开发过程中不可或缺的环节。今天,我将向您介绍一款专为区块链开发者打造的强大测试框架—
- 一文读懂Python+Pytest+Allure+Jenkins+Gitee自动化测试框架,手把手教你搭建
Python+Pytest+Allure+Jenkins+Gitee自动化测试框架一、框架整体架构1.技术栈分工Python:测试脚本开发语言Pytest:测试用例管理和执行引擎Allure:测试报告生成与展示Jenkins:持续集成和任务调度Gitee:代码版本管理和触发机制2.数据流向Gitee代码提交→Jenkins触发构建→Pytest执行用例→生成Allure结果→Jenkins收集报告
- Python 领域 pytest 的测试用例依赖管理
Python领域pytest的测试用例依赖管理关键词:pytest、测试依赖、fixture、依赖注入、测试管理、Python测试、测试框架摘要:本文深入探讨了Python测试框架pytest中的测试用例依赖管理机制。我们将从基础概念出发,详细分析pytest的fixture系统如何实现优雅的依赖管理,包括依赖注入、作用域控制、参数化等高级特性。通过实际代码示例和架构图解,展示如何构建可维护、可扩
- UI自动化-Appium
Oooon_the_way
ui自动化appium
前言Appium是一款开源的跨平台移动应用UI自动化测试框架,支持Android、iOS和Windows平台的原生(Native)、混合(Hybrid)及移动Web应用。其核心设计基于WebDriver协议(即SeleniumWebDriver的W3C标准),通过客户端-服务器(C/S)架构(常见面试题)实现多语言支持和高扩展性。一、核心架构与工作原理C/S架构分层客户端(Client):测试脚本
- Python-Appium 2.19.0---详细指南:安装Appium
渡己(Sorin)
pythonappium开发语言
引言最近要写个安卓自动化项目,想用Appium来实现,版本已经来到了2.19.0,搜了一圈,发现文档比较少,至少7年没有用过了,有点陌生,打算重新研究下,写成文章分享给有需要的人。作为最流行的移动端自动化测试框架之一,其2.x版本有许多重要的改进和新特性。这篇文章将详细介绍如何在Windows和macOS系统上安装Appium2.19.0版本,并配置Python环境进行自动化测试开发。第一部分:环
- Python爬虫:Scrapy报错:ModuleNotFoundError: No module named ‘scrapy.contrib‘
濯一一
#爬虫bugscrapypython爬虫
项目场景:今天,又开始自学Python爬虫Scrapy框架辽,爬爬爬于是又导包报错辽,,,问题描述:提示:第一行导入scrapy.contrib时报错了。原因分析:百度:找到类似的问题和解决方式:#bug:fromscrapytest.NewsItemsimportNewsItem#改为#debug:fromscrapytest.scrapytest.itemsimportNewsItem思考:重
- spring-test集成测试框架在实际的项目中的应用和实例说明
噔噔噔噔@
软件测试基础及工具分享软件测试面试题专栏spring集成测试java
spring-test是Spring框架提供的测试模块,专门用于支持Spring应用的集成测试。它能够加载Spring上下文、注入依赖、模拟HTTP请求等,非常适合测试SpringBoot或SpringMVC项目中的控制器、服务层和持久层。以下是spring-test在实际项目中的应用和实例说明1.集成测试的基本配置spring-test提供了@SpringBootTest注解,用于启动完整的Sp
- (十五)Spring Test
Kyrie_Li
Springspringjava后端
SpringTest是SpringFramework提供的一个模块,旨在简化Java应用程序中的单元测试和集成测试。SpringTest使用JUnit作为其测试框架的基础。通过SpringTest,开发者可以更加方便地进行测试,尤其是在涉及Spring的各个功能模块(如依赖注入、事务管理、数据库操作等)时。SpringTest提供了多种工具,帮助开发者在开发过程中进行自动化测试,从而提高代码的可靠
- Web 项目如何自动化测试?
Web项目的自动化测试可以通过UI自动化和接口自动化结合实现,提高测试效率和覆盖率。以下是关键方法和工具:【自动化测试】从基础到实战基于Pytest自动化/python自动化的详细教程!1.UI自动化测试(前端交互)适用场景:页面功能、表单提交、按钮点击、UI兼容性测试。常用工具:Selenium(Python/Java):支持多浏览器,结合Pytest管理用例。Cypress(JavaScrip
- python allure报告_Pytest+Allure 定制报告
weixin_39876450
pythonallure报告
前言:最近在研究接口自动化的框架,好的测试报告在整个测试框架起到至关重要的部分。终于被我发现一个超好用的报告框架,不仅报告美观,而且方便CI集成。就是它,就是它:AllureTestReport!!!先上一张报告效果图:python版本及必要库python3.5pytest3.3.3pytest-allure-adaptor1.7.9一、环境配置安装Python依赖库:pip3installpyt
- (五)零代码封装pytest框架(接口关联之热加载替换)
OY-xin
pytestpython单元测试自动化模块测试
一、Template与热加载替换1、在接口关联中Template存在一些问题(1)数字类型字符串替换时类型会产生变化(2)不能做二次处理(加随机数、加密、签名处理等)2、热加载替换热加载替换:来源于httprunner框架作用:在yaml文件中能调用python方法二、步骤1、首先在extract_util.py的ExtractUtil类下建立hotload_replace方法前面提到过使用${t
- python、pytest、requests、yaml、allure接口自动化测试
OY-xin
零代码pytest测试框架pytestpython自动化单元测试
接口自动化需要解决的九大问题1、用例的顺序(点击这里)在接口自动化测试中,测试用例的执行顺序非常重要,尤其是当接口之间存在依赖关系时。例如,某些接口的执行需要依赖其他接口先返回正确的结果。因此,合理的用例顺序可以避免测试结果的不准确或失败。通常可以通过代码中的执行逻辑或测试框架的配置来控制用例的顺序。2、用例之间的接口关联(点击这里)接口之间可能存在着复杂的依赖关系。例如,创建用户接口需要先调用登
- Pytest测试框架快速搭建
程序员勋勋
面试技术分享软件测试pytest
一、介绍pytest是一个非常成熟的Python测试框架,能够支持简单的单元测试和复杂的功能测试,还可以用来做selenium/appnium等自动化测试、接口自动化测试(pytest+requests);pytest具有很多第三方插件,并且可以自定义扩展,比较好用的如pytest-selenium(集成selenium)、pytest-html(完美html测试报告生成)、pytest-reru
- [Pytest] [Part 2]增加 log功能
思则变
pytestpython开发语言
开始实现需求之前先做个log类,可以给其他模块使用,也方便以后修改log类的功能和属性。使用的是python中的logging包来进行简单的封装,具体代码如下importloggingimportsysclassTefLogger:def__init__(self,logger_name='TEST_FRAMEWORK'):self.logger=logging.getLogger(logger_
- [Pytest][Part 3]检测python package状态
思则变
pytestpytest
目录实现需求1:检查pythonpackage状态——pkg_resourcehook实现自动检测包状态conftest.pyhook钩子函数Part1:https://blog.csdn.net/x1987200567/article/details/144915315?spm=1001.2014.3001.5501从这里开始逐个实现Part1中的需求实现需求1:测试开始前检查测试需要的pyth
- Python Selenium搭建UI自动化测试框架
测试界霄霄
软件测试pythonseleniumui功能测试软件测试自动化测试程序人生
自动化测试是软件测试中非常重要的一部分,可以提高测试效率和测试覆盖率。在UI自动化测试中,Selenium是非常流行的工具。本文将介绍如何使用Python和Selenium搭建UI自动化测试框架。一、环境准备在开始搭建UI自动化测试框架之前,需要先安装Python和Selenium。可以从Python官网下载Python安装包,并使用pip命令安装Selenium。二、框架目录结构在搭建UI自动化
- 处理私有方法模拟的深度解析
悟能不能悟
servlet
核心问题分析模拟私有方法的挑战在于:测试框架无法直接访问私有方法通过反射强制访问会破坏封装性暴力修改方法可见性不是良好实践需要保持测试代码的健壮性推荐解决方案方案一:重构代码(最佳实践)这是最推荐的方式,通过重构代码改善设计://重构前:包含私有方法的类publicclassA{publicStringa(){returnprocessResult(b());}privateStringb(){/
- 【vue组件库搭建07】Vitest单元测试
Eric⠀
从零搭建组件库vue.js单元测试前端
vitest官网vue-test-utils我们的测试框架选择的是Vitest和vue-test-utils。两者的关系为:Vitest提供测试方法:断言、Mock、SpyOn等方法。vue-test-utils:挂载和渲染组件:VueTestUtils允许您在隔离中挂载组件,这意味着您可以测试单个组件而不必担心其子组件或需要完整的Vue应用环境。它还支持浅层挂载,其中子组件被存根,使测试更快并且
- 使用 `pytest` 框架时,可以通过极限封装将 YAML 文件的读取、解析
小赖同学啊
pythonpytest服务器运维
在使用pytest框架时,可以通过极限封装将YAML文件的读取、解析和测试用例的通用逻辑封装成共享的方法或fixture,从而减少重复代码。以下是详细的实现步骤和示例。1.封装YAML文件读取和解析将YAML文件的读取和解析逻辑封装到一个工具函数中,供所有测试用例调用。示例YAML文件#test_data.yamltest_cases:-name:TestCase1input:5e
- JAVA中的Enum
周凡杨
javaenum枚举
Enum是计算机编程语言中的一种数据类型---枚举类型。 在实际问题中,有些变量的取值被限定在一个有限的范围内。 例如,一个星期内只有七天 我们通常这样实现上面的定义:
public String monday;
public String tuesday;
public String wensday;
public String thursday
- 赶集网mysql开发36条军规
Bill_chen
mysql业务架构设计mysql调优mysql性能优化
(一)核心军规 (1)不在数据库做运算 cpu计算务必移至业务层; (2)控制单表数据量 int型不超过1000w,含char则不超过500w; 合理分表; 限制单库表数量在300以内; (3)控制列数量 字段少而精,字段数建议在20以内
- Shell test命令
daizj
shell字符串test数字文件比较
Shell test命令
Shell中的 test 命令用于检查某个条件是否成立,它可以进行数值、字符和文件三个方面的测试。 数值测试 参数 说明 -eq 等于则为真 -ne 不等于则为真 -gt 大于则为真 -ge 大于等于则为真 -lt 小于则为真 -le 小于等于则为真
实例演示:
num1=100
num2=100if test $[num1]
- XFire框架实现WebService(二)
周凡杨
javawebservice
有了XFire框架实现WebService(一),就可以继续开发WebService的简单应用。
Webservice的服务端(WEB工程):
两个java bean类:
Course.java
package cn.com.bean;
public class Course {
private
- 重绘之画图板
朱辉辉33
画图板
上次博客讲的五子棋重绘比较简单,因为只要在重写系统重绘方法paint()时加入棋盘和棋子的绘制。这次我想说说画图板的重绘。
画图板重绘难在需要重绘的类型很多,比如说里面有矩形,园,直线之类的,所以我们要想办法将里面的图形加入一个队列中,这样在重绘时就
- Java的IO流
西蜀石兰
java
刚学Java的IO流时,被各种inputStream流弄的很迷糊,看老罗视频时说想象成插在文件上的一根管道,当初听时觉得自己很明白,可到自己用时,有不知道怎么代码了。。。
每当遇到这种问题时,我习惯性的从头开始理逻辑,会问自己一些很简单的问题,把这些简单的问题想明白了,再看代码时才不会迷糊。
IO流作用是什么?
答:实现对文件的读写,这里的文件是广义的;
Java如何实现程序到文件
- No matching PlatformTransactionManager bean found for qualifier 'add' - neither
林鹤霄
java.lang.IllegalStateException: No matching PlatformTransactionManager bean found for qualifier 'add' - neither qualifier match nor bean name match!
网上找了好多的资料没能解决,后来发现:项目中使用的是xml配置的方式配置事务,但是
- Row size too large (> 8126). Changing some columns to TEXT or BLOB
aigo
column
原文:http://stackoverflow.com/questions/15585602/change-limit-for-mysql-row-size-too-large
异常信息:
Row size too large (> 8126). Changing some columns to TEXT or BLOB or using ROW_FORMAT=DYNAM
- JS 格式化时间
alxw4616
JavaScript
/**
* 格式化时间 2013/6/13 by 半仙
[email protected]
* 需要 pad 函数
* 接收可用的时间值.
* 返回替换时间占位符后的字符串
*
* 时间占位符:年 Y 月 M 日 D 小时 h 分 m 秒 s 重复次数表示占位数
* 如 YYYY 4占4位 YY 占2位<p></p>
* MM DD hh mm
- 队列中数据的移除问题
百合不是茶
队列移除
队列的移除一般都是使用的remov();都可以移除的,但是在昨天做线程移除的时候出现了点问题,没有将遍历出来的全部移除, 代码如下;
//
package com.Thread0715.com;
import java.util.ArrayList;
public class Threa
- Runnable接口使用实例
bijian1013
javathreadRunnablejava多线程
Runnable接口
a. 该接口只有一个方法:public void run();
b. 实现该接口的类必须覆盖该run方法
c. 实现了Runnable接口的类并不具有任何天
- oracle里的extend详解
bijian1013
oracle数据库extend
扩展已知的数组空间,例:
DECLARE
TYPE CourseList IS TABLE OF VARCHAR2(10);
courses CourseList;
BEGIN
-- 初始化数组元素,大小为3
courses := CourseList('Biol 4412 ', 'Psyc 3112 ', 'Anth 3001 ');
--
- 【httpclient】httpclient发送表单POST请求
bit1129
httpclient
浏览器Form Post请求
浏览器可以通过提交表单的方式向服务器发起POST请求,这种形式的POST请求不同于一般的POST请求
1. 一般的POST请求,将请求数据放置于请求体中,服务器端以二进制流的方式读取数据,HttpServletRequest.getInputStream()。这种方式的请求可以处理任意数据形式的POST请求,比如请求数据是字符串或者是二进制数据
2. Form
- 【Hive十三】Hive读写Avro格式的数据
bit1129
hive
1. 原始数据
hive> select * from word;
OK
1 MSN
10 QQ
100 Gtalk
1000 Skype
2. 创建avro格式的数据表
hive> CREATE TABLE avro_table(age INT, name STRING)STORE
- nginx+lua+redis自动识别封解禁频繁访问IP
ronin47
在站点遇到攻击且无明显攻击特征,造成站点访问慢,nginx不断返回502等错误时,可利用nginx+lua+redis实现在指定的时间段 内,若单IP的请求量达到指定的数量后对该IP进行封禁,nginx返回403禁止访问。利用redis的expire命令设置封禁IP的过期时间达到在 指定的封禁时间后实行自动解封的目的。
一、安装环境:
CentOS x64 release 6.4(Fin
- java-二叉树的遍历-先序、中序、后序(递归和非递归)、层次遍历
bylijinnan
java
import java.util.LinkedList;
import java.util.List;
import java.util.Stack;
public class BinTreeTraverse {
//private int[] array={ 1, 2, 3, 4, 5, 6, 7, 8, 9 };
private int[] array={ 10,6,
- Spring源码学习-XML 配置方式的IoC容器启动过程分析
bylijinnan
javaspringIOC
以FileSystemXmlApplicationContext为例,把Spring IoC容器的初始化流程走一遍:
ApplicationContext context = new FileSystemXmlApplicationContext
("C:/Users/ZARA/workspace/HelloSpring/src/Beans.xml&q
- [科研与项目]民营企业请慎重参与军事科技工程
comsci
企业
军事科研工程和项目 并非要用最先进,最时髦的技术,而是要做到“万无一失”
而民营科技企业在搞科技创新工程的时候,往往考虑的是技术的先进性,而对先进技术带来的风险考虑得不够,在今天提倡军民融合发展的大环境下,这种“万无一失”和“时髦性”的矛盾会日益凸显。。。。。。所以请大家在参与任何重大的军事和政府项目之前,对
- spring 定时器-两种方式
cuityang
springquartz定时器
方式一:
间隔一定时间 运行
<bean id="updateSessionIdTask" class="com.yang.iprms.common.UpdateSessionTask" autowire="byName" />
<bean id="updateSessionIdSchedule
- 简述一下关于BroadView站点的相关设计
damoqiongqiu
view
终于弄上线了,累趴,戳这里http://www.broadview.com.cn
简述一下相关的技术点
前端:jQuery+BootStrap3.2+HandleBars,全站Ajax(貌似对SEO的影响很大啊!怎么破?),用Grunt对全部JS做了压缩处理,对部分JS和CSS做了合并(模块间存在很多依赖,全部合并比较繁琐,待完善)。
后端:U
- 运维 PHP问题汇总
dcj3sjt126com
windows2003
1、Dede(织梦)发表文章时,内容自动添加关键字显示空白页
解决方法:
后台>系统>系统基本参数>核心设置>关键字替换(是/否),这里选择“是”。
后台>系统>系统基本参数>其他选项>自动提取关键字,这里选择“是”。
2、解决PHP168超级管理员上传图片提示你的空间不足
网站是用PHP168做的,反映使用管理员在后台无法
- mac 下 安装php扩展 - mcrypt
dcj3sjt126com
PHP
MCrypt是一个功能强大的加密算法扩展库,它包括有22种算法,phpMyAdmin依赖这个PHP扩展,具体如下:
下载并解压libmcrypt-2.5.8.tar.gz。
在终端执行如下命令: tar zxvf libmcrypt-2.5.8.tar.gz cd libmcrypt-2.5.8/ ./configure --disable-posix-threads --
- MongoDB更新文档 [四]
eksliang
mongodbMongodb更新文档
MongoDB更新文档
转载请出自出处:http://eksliang.iteye.com/blog/2174104
MongoDB对文档的CURD,前面的博客简单介绍了,但是对文档更新篇幅比较大,所以这里单独拿出来。
语法结构如下:
db.collection.update( criteria, objNew, upsert, multi)
参数含义 参数  
- Linux下的解压,移除,复制,查看tomcat命令
y806839048
tomcat
重复myeclipse生成webservice有问题删除以前的,干净
1、先切换到:cd usr/local/tomcat5/logs
2、tail -f catalina.out
3、这样运行时就可以实时查看运行日志了
Ctrl+c 是退出tail命令。
有问题不明的先注掉
cp /opt/tomcat-6.0.44/webapps/g
- Spring之使用事务缘由(3-XML实现)
ihuning
spring
用事务通知声明式地管理事务
事务管理是一种横切关注点。为了在 Spring 2.x 中启用声明式事务管理,可以通过 tx Schema 中定义的 <tx:advice> 元素声明事务通知,为此必须事先将这个 Schema 定义添加到 <beans> 根元素中去。声明了事务通知后,就需要将它与切入点关联起来。由于事务通知是在 <aop:
- GCD使用经验与技巧浅谈
啸笑天
GC
前言
GCD(Grand Central Dispatch)可以说是Mac、iOS开发中的一大“利器”,本文就总结一些有关使用GCD的经验与技巧。
dispatch_once_t必须是全局或static变量
这一条算是“老生常谈”了,但我认为还是有必要强调一次,毕竟非全局或非static的dispatch_once_t变量在使用时会导致非常不好排查的bug,正确的如下: 1
- linux(Ubuntu)下常用命令备忘录1
macroli
linux工作ubuntu
在使用下面的命令是可以通过--help来获取更多的信息1,查询当前目录文件列表:ls
ls命令默认状态下将按首字母升序列出你当前文件夹下面的所有内容,但这样直接运行所得到的信息也是比较少的,通常它可以结合以下这些参数运行以查询更多的信息:
ls / 显示/.下的所有文件和目录
ls -l 给出文件或者文件夹的详细信息
ls -a 显示所有文件,包括隐藏文
- nodejs同步操作mysql
qiaolevip
学习永无止境每天进步一点点mysqlnodejs
// db-util.js
var mysql = require('mysql');
var pool = mysql.createPool({
connectionLimit : 10,
host: 'localhost',
user: 'root',
password: '',
database: 'test',
port: 3306
});
- 一起学Hive系列文章
superlxw1234
hiveHive入门
[一起学Hive]系列文章 目录贴,入门Hive,持续更新中。
[一起学Hive]之一—Hive概述,Hive是什么
[一起学Hive]之二—Hive函数大全-完整版
[一起学Hive]之三—Hive中的数据库(Database)和表(Table)
[一起学Hive]之四-Hive的安装配置
[一起学Hive]之五-Hive的视图和分区
[一起学Hive
- Spring开发利器:Spring Tool Suite 3.7.0 发布
wiselyman
spring
Spring Tool Suite(简称STS)是基于Eclipse,专门针对Spring开发者提供大量的便捷功能的优秀开发工具。
在3.7.0版本主要做了如下的更新:
将eclipse版本更新至Eclipse Mars 4.5 GA
Spring Boot(JavaEE开发的颠覆者集大成者,推荐大家学习)的配置语言YAML编辑器的支持(包含自动提示,