- 技术分享 | 如何写好测试用例?
程序员霄霄
软件测试测试用例软件测试功能测试自动化测试程序人生职场和发展
对于软件测试工程师来说,设计测试用例和提交缺陷报告是最基本的职业技能。是非常重要的部分。一个好的测试用例能够指示测试人员如何对软件进行测试。在这篇文章中,我们将介绍测试用例设计常用的几种方法,以及如何编写高效的测试用例。##一、测试用例设计的方法1、等价类划分方法等价类划分法是将测试数据分成多个等效类别的方法,以减少测试样例的数量。这种方法可以帮助测试人员节省时间和精力。通常,测试人员会为每个等效
- Spring Boot + Screw 一键生成数据库设计文档
小马不敲代码
实战springboot数据库后端
01前言在企业级开发过程中,编写数据库表结构文档一直是个让人头疼的问题。许多企业要么没有这份文档,要么就是靠手动编写,后续维护起来非常麻烦,常常因为忘记更新给后续工作带来诸多不便。而Screw的出现,为这一问题提供了高效的解决方案。02、Screw简介Screw是一款能够快速生成数据库文档的开源工具,支持多种数据库,包括MySQL、MariaDB、TiDB、Oracle、SqlServer、Pos
- C#开发者必备:OPC UA与Snap7的工业自动化实践
高傲的大白杨
本文还有配套的精品资源,点击获取简介:本压缩包专注于工业自动化领域中的数据交换标准与技术实践,涵盖了OPCUA和Snap7两大核心内容。介绍了OPCUA作为新一代通信标准的定义、特性和在C#中的应用;同时深入探讨了Snap7的C++库在连接西门子S7系列PLC中的功能及集成方法。此外,还包含了C#编程与西门子PLC交互的类库和示例代码,以及OPCUA在SCADA系统构建和设备集成中的实际应用。提供
- 深入探索 Vanna:让数据库交互更智能
从零开始学习人工智能
数据库交互
深入探索Vanna:让数据库交互更智能在数字化时代,与数据库进行高效交互是许多开发者、数据分析师和企业面临的挑战。传统的SQL查询编写不仅需要对数据库结构有深入的了解,还需要花费大量的时间和精力来调试和优化。Vanna,一个基于Python的开源工具,通过结合检索增强(RetrievalAugmentation)和大型语言模型(LLM),为这一问题提供了一个创新的解决方案。本文将深入探讨Vanna
- 第10课:《ChatGPT提示工程》—— Guidelines(入门)
Soyoger
chatgptPrompt提示性工程大模型
前面关于Prompt介绍了那么多理论的知识点,从本节内容开始进入代码实战,提供一些提示的指南,帮助你获得想要的结果。特别地,介绍了两个关键原则,即如何编写提示来有效地促使工程师,鼓励你随时运行代码自己查看输出是什么样子的,并改变确切的提示,尝试几种不同的变化,以获得有关提示的输入和输出的经验。在开始实战之前,假设我们已经申请了ChatGPT的账号,并获取到了APIkey,如果没有账号的,建议先注册
- Python异步编程:asyncio和aiofiles
人工干智能
Python的高级知识python开发语言
asyncioasyncio是Python的标准库之一,用于编写单线程的并发代码。它使用协程(coroutines)和事件循环(eventloop)来实现异步编程。协程是Python中一种特殊的函数,可以使用asyncdef定义,并通过await表达式来挂起和恢复执行。假设我们有两个任务:下载网页内容和计算数字的平方。在异步编程中,我们可以同时启动这两个任务,而不需要等待一个任务完成后再开始另一个
- 超市小程序可以实现哪些问题
nhc088
小程序
一、用户端功能与价值随时随地购物问题:传统超市受营业时间和地理位置局限,用户需到店采购。解决方案:小程序支持24小时在线购物,用户可随时下单,配送到家或到店自提。商品信息透明化问题:线下商品标签信息有限,用户难对比成分、费用、评价。解决方案:小程序展示商品详情、成分表、用户评价、费用走势,支持扫码查价。个性化推送问题:传统促销方式针对性差,用户易错过感兴趣的商品。解决方案:基于用户历史购买数据,推
- 《P9工作法》:架构师视角下的技术成长与实践
吴free
系统架构架构
作为一名程序员和架构师,阅读《P9工作法:夯实技术硬实力、架构力和领导力》这本书让我受益匪浅。书中不仅涵盖了技术硬实力、架构力和领导力的全面提升路径,还结合了大量实战经验,为架构师的成长提供了极具价值的指导。一、技术硬实力:架构设计的基石架构师的核心职责之一是确保系统的健壮性、可扩展性和高性能。《P9工作法》中提到的技术硬实力,为架构设计提供了坚实的理论基础。书中强调了编写优质代码、定义接口契约、
- 雪球股票信息超级爬虫:开源项目指南及新手问题解决方案
柏克栋
雪球股票信息超级爬虫:开源项目指南及新手问题解决方案XueQiuSuperSpider雪球股票信息超级爬虫项目地址:https://gitcode.com/gh_mirrors/xu/XueQiuSuperSpider雪球股票信息超级爬虫是一个强大的股票数据爬取工具,专门设计用于从雪球网提取丰富的股票市场信息。本项目采用Java语言编写,充分利用了JDK8的函数式编程特性,旨在提供灵活且高效的股市
- C++11 发展概述、列表初始化、右值引用与移动语义
码农学徒_
c++开发语言
1.C++11发展概述C++11是C++的第二个主要版本,并且是从C++98起的最重要更新。它引入了大量更改,标准化了既有实践,并改进了对C++程序员可用的抽象。在它最终由1S0在2011年8月12日采纳前,人们曾使用名称“C++0x”,因为它曾被期待在2010年之前发布。C++03与C++11期间花了8年时间,故而这是迄今为止最长的版本间隔。从那时起,C++有规律地每3年更新一次。2.列表初始化
- C++ unordered_map和unordered_set的使用(模拟实现)
码农学徒_
c++开发语言
unordered_setunordered_set是C++标准库提供的一种无序关联容器,其底层实现基于哈希表。与传统的set相比,它提供了更高效的查找性能,平均时间复杂度为O(1)。类模板声明解析:template,//哈希函数对象classPred=equal_to,//键值相等比较函数classAlloc=allocator//内存分配器>classunordered_set;与set的关键
- Python内置模块之asyncio详细功能介绍及示例
Pythonasyncio模块详解及使用示例asyncio是Python用于编写并发代码的库,使用async/await语法。它是Python异步编程的核心库,特别适合I/O密集型和高并发网络应用。主要方法及功能1.事件循环管理asyncio.run(coro,*,debug=False)-运行异步程序的主入口asyncio.get_event_loop()-获取当前事件循环asyncio.set
- 淘客返利 APP 开发核心:订单同步、佣金追踪与多级分润体系的技术实现
省赚客APP开发者@聚娃科技
windowslinux服务器
淘客返利APP开发核心:订单同步、佣金追踪与多级分润体系的技术实现大家好,我是阿可,微赚淘客系统及省赚客APP创始人,是个冬天不穿秋裤,天冷也要风度的程序猿!在淘客返利APP的开发中,订单同步、佣金追踪和多级分润体系是核心功能。这些功能的实现不仅直接影响用户体验,还决定了平台的运营效率和商业价值。本文将详细探讨如何通过技术手段实现这些功能。一、订单同步订单同步是淘客返利APP的基础功能之一。它需要
- 电商导购系统佣金计算引擎设计:高并发场景下的实时分润算法与规则引擎实现
省赚客APP开发者@聚娃科技
算法
电商导购系统佣金计算引擎设计:高并发场景下的实时分润算法与规则引擎实现大家好,我是阿可,微赚淘客系统及省赚客APP创始人,是个冬天不穿秋裤,天冷也要风度的程序猿!在电商导购系统中,佣金计算引擎是核心模块之一,尤其是在高并发场景下,如何实现高效的实时分润算法和灵活的规则引擎,是系统设计的关键。本文将详细探讨如何设计一个高性能、高可用的佣金计算引擎,以满足电商导购系统的需求。一、佣金计算引擎的挑战电商
- 京东返利 APP 高可用架构:基于 Nginx+Redis 的缓存策略与流量削峰实践
省赚客APP开发者@聚娃科技
缓存架构nginx
京东返利APP高可用架构:基于Nginx+Redis的缓存策略与流量削峰实践大家好,我是阿可,微赚淘客系统及省赚客APP创始人,是个冬天不穿秋裤,天冷也要风度的程序猿!在电商返利领域,京东返利APP面临着高并发流量的挑战,尤其是在促销活动期间。为了保障系统的高可用性,我们采用了基于Nginx和Redis的缓存策略与流量削峰技术。本文将详细介绍这些技术的实现细节,以及如何通过它们提升系统的性能和稳定
- 导购APP的技术架构与用户体验优化
省赚客APP开发者@聚娃科技
架构ux
导购APP的技术架构与用户体验优化大家好,我是阿可,微赚淘客系统及省赚客APP创始人,是个冬天不穿秋裤,天冷也要风度的程序猿!随着移动互联网的快速发展,导购APP已成为连接用户与商品的桥梁。本文将探讨导购APP的技术架构设计以及如何通过技术手段优化用户体验。技术架构概览导购APP的技术架构通常包括以下几个关键部分:前端展示层:负责用户界面的展示和交互。后端服务层:处理业务逻辑,提供API接口。数据
- 导购类电商平台数据库设计:如何用ShardingSphere处理TB级用户行为数据
省赚客APP开发者@聚娃科技
数据库
导购类电商平台数据库设计:如何用ShardingSphere处理TB级用户行为数据大家好,我是阿可,微赚淘客系统及省赚客APP创始人,是个冬天不穿秋裤,天冷也要风度的程序猿!一、背景介绍在导购类电商平台中,用户行为数据(如浏览记录、点击行为、购买行为等)是系统的重要组成部分。随着用户量的增加和业务的扩展,用户行为数据量迅速增长,可能达到TB级别甚至更高。传统的单体数据库架构难以应对如此大规模的数据
- 微信小程序下单页—地址列表页—新增地址页 页面交互
皮皮灬虾
小程序模块微信小程序交互小程序
新增地址流程:下单页→地址列表页(1次跳转)地址列表页→新增地址页(1次跳转)保存地址→返回地址列表页(1次返回,自动刷新列表)选择地址流程:地址列表页→选中地址→返回下单页(1次返回)更换地址:下单页→地址列表页(1次跳转)选中新地址→返回下单页(1次返回)这样就完全避免了需要两次返回才能回到下单页的情况,每次操作都是单次跳转或单次返回,符合用户直觉且不会产生冗余页面栈。然而使用wx.navig
- Notepad++开源文本编辑器深入剖析与应用
大苏牙
本文还有配套的精品资源,点击获取简介:Notepad++是一款小巧而功能强大的开源文本编辑器,广受编程领域用户的欢迎。它提供基础文字编辑功能并集成多种程序员友好的特性,如语法高亮、代码折叠、查找替换、宏录制与回放等。Notepad++还支持多文档界面,能够处理多种编程语言,并具备强大的插件系统,用户可以根据需求进行功能扩展。本文深入探讨Notepad++的开源特性、工作效率提升、编程语言支持等关键
- Notepad++:程序员的高效代码编辑与自定义利器
如水蜜
本文还有配套的精品资源,点击获取简介:Notepad++是一款专为Windows系统设计的免费源代码编辑器,深受程序员推崇。它不仅支持多种编程语言的语法高亮和自动缩进功能,还有着强大的搜索替换功能、宏录制播放、内置FTP/SFTP客户端以及可插件扩展功能。此外,Notepad++的轻量级设计和高度自定义性(包括主题、快捷键和配置选项)使其在提高编码效率的同时,也满足了个性化需求。1.Notepad
- springboot+微信小程序接入微信小程序支付(使用证书与JSAPI)
小杨HPDay!
springboot微信小程序后端
1、maven引入依赖com.github.wechatpay-apiv3wechatpay-apache-httpclient0.4.52、配置文件application.yml#微信支付相关参数wx-pay:#商户id(微信支付商户平台获取)mch-id:xxxxxxxxx#公众号appid(和商户id绑定过后,微信支付商户平台或者微信公众平台获取)appid:xxxxxxxxx#商户证书序列
- uniapp image引用本地图片不显示问题
雪芽蓝域zzs
uniappuni-app
1.uniappimage引用本地图片不显示问题 在uniapp开发过程中采用image引入本地资源图片。1.1.相对路径和绝对路径问题 在UniApp中开发微信小程序时,引入图片时,相对路径和绝对路径可能会有一些差异。这差异主要涉及到小程序和UniApp框架的文件结构、路径解析规则以及开发环境的不同。1.1.1.相对路径: 相对路径是相对于当前文件的路径来引用资源的。例如,如果你的页面文件
- 深圳程序员“车居”四年:省钱、自由与质疑并存
程序员陆通
产品经理AI编程
这几年失业,大龄被裁的程序员越来越多,关于程序员的故事,今天看看这位。近日,深圳一位程序员张运来因选择“车居”生活引发广泛关注。他在深圳工作期间,连续四年没有租房,而是选择住在自己的汽车里。每到周五,他便驾车300公里返回阳江老家陪伴家人,周一再赶回深圳上班。平日里,他在公园公共卫生间简单洗漱,每晚停车费仅需6元,每天总花销约100元。张运来表示,这种生活方式让他三年多节省了近十万元。面对部分网友
- rabbitmq 控制台页面无法访问
其他机器无法访问页面:http://192.168.211.128:15672/出于安全的考虑,guest这个默认的用户只能通过localhost来登录,其他的IP无法直接使用这个账号为了解决这个问题,需要在rabbitmq的配置文件中将loopback_users配置设置为空,如编写配置文件:/etc/rabbitmq/rabbitmq.config,并在其中添加以下内容:[root@rabbi
- 微信小程序之获取后台动态数据表格布局display:table
HOLD ON!
微信小程序
微信小程序之获取后台动态数据表格布局display:table猿来独往2018-09-02本文没有采用flex布局和grid布局来设置表格的,而是通过display:table;来设置。一方面工作中经常用到这种自适应表格排版布局方式(包括方框列表及九宫格式),但是flex布局和grid布局来设置的话就很容易了,这次想通过另一种方法来实现,而且这种方法比较少用,所以想尝试一下,分享给大家。如果对这个
- 微信小程序原生实现table组件, 第二弹,支持横向和纵向滚动(固定列,可设置边框)
没脾气的猫
微信小程序小程序
效果图,通过此实例的 newInstance()方法就可以创建出该类的一个对象。
其中重要的方法为findClass(String name)。
如何写一个自己的类加载器呢?
首先写一个便于测试的类Student
- html5写的玫瑰花
知了ing
html5
<html>
<head>
<title>I Love You!</title>
<meta charset="utf-8" />
</head>
<body>
<canvas id="c"></canvas>
- google的ConcurrentLinkedHashmap源代码解析
矮蛋蛋
LRU
原文地址:
http://janeky.iteye.com/blog/1534352
简述
ConcurrentLinkedHashMap 是google团队提供的一个容器。它有什么用呢?其实它本身是对
ConcurrentHashMap的封装,可以用来实现一个基于LRU策略的缓存。详细介绍可以参见
http://code.google.com/p/concurrentlinke
- webservice获取访问服务的ip地址
alleni123
webservice
1. 首先注入javax.xml.ws.WebServiceContext,
@Resource
private WebServiceContext context;
2. 在方法中获取交换请求的对象。
javax.xml.ws.handler.MessageContext mc=context.getMessageContext();
com.sun.net.http
- 菜鸟的java基础提升之道——————>是否值得拥有
百合不是茶
1,c++,java是面向对象编程的语言,将万事万物都看成是对象;java做一件事情关注的是人物,java是c++继承过来的,java没有直接更改地址的权限但是可以通过引用来传值操作地址,java也没有c++中繁琐的操作,java以其优越的可移植型,平台的安全型,高效性赢得了广泛的认同,全世界越来越多的人去学习java,我也是其中的一员
java组成:
- 通过修改Linux服务自动启动指定应用程序
bijian1013
linux
Linux中修改系统服务的命令是chkconfig (check config),命令的详细解释如下: chkconfig
功能说明:检查,设置系统的各种服务。
语 法:chkconfig [ -- add][ -- del][ -- list][系统服务] 或 chkconfig [ -- level <</SPAN>
- spring拦截器的一个简单实例
bijian1013
javaspring拦截器Interceptor
Purview接口
package aop;
public interface Purview {
void checkLogin();
}
Purview接口的实现类PurviesImpl.java
package aop;
public class PurviewImpl implements Purview {
public void check
- [Velocity二]自定义Velocity指令
bit1129
velocity
什么是Velocity指令
在Velocity中,#set,#if, #foreach, #elseif, #parse等,以#开头的称之为指令,Velocity内置的这些指令可以用来做赋值,条件判断,循环控制等脚本语言必备的逻辑控制等语句,Velocity的指令是可扩展的,即用户可以根据实际的需要自定义Velocity指令
自定义指令(Directive)的一般步骤
&nbs
- 【Hive十】Programming Hive学习笔记
bit1129
programming
第二章 Getting Started
1.Hive最大的局限性是什么?一是不支持行级别的增删改(insert, delete, update)二是查询性能非常差(基于Hadoop MapReduce),不适合延迟小的交互式任务三是不支持事务2. Hive MetaStore是干什么的?Hive persists table schemas and other system metadata.
- nginx有选择性进行限制
ronin47
nginx 动静 限制
http {
limit_conn_zone $binary_remote_addr zone=addr:10m;
limit_req_zone $binary_remote_addr zone=one:10m rate=5r/s;...
server {...
location ~.*\.(gif|png|css|js|icon)$ {
- java-4.-在二元树中找出和为某一值的所有路径 .
bylijinnan
java
/*
* 0.use a TwoWayLinkedList to store the path.when the node can't be path,you should/can delete it.
* 1.curSum==exceptedSum:if the lastNode is TreeNode,printPath();delete the node otherwise
- Netty学习笔记
bylijinnan
javanetty
本文是阅读以下两篇文章时:
http://seeallhearall.blogspot.com/2012/05/netty-tutorial-part-1-introduction-to.html
http://seeallhearall.blogspot.com/2012/06/netty-tutorial-part-15-on-channel.html
我的一些笔记
===
- js获取项目路径
cngolon
js
//js获取项目根路径,如: http://localhost:8083/uimcardprj
function getRootPath(){
//获取当前网址,如: http://localhost:8083/uimcardprj/share/meun.jsp
var curWwwPath=window.document.locati
- oracle 的性能优化
cuishikuan
oracleSQL Server
在网上搜索了一些Oracle性能优化的文章,为了更加深层次的巩固[边写边记],也为了可以随时查看,所以发表这篇文章。
1.ORACLE采用自下而上的顺序解析WHERE子句,根据这个原理,表之间的连接必须写在其他WHERE条件之前,那些可以过滤掉最大数量记录的条件必须写在WHERE子句的末尾。(这点本人曾经做过实例验证过,的确如此哦!
- Shell变量和数组使用详解
daizj
linuxshell变量数组
Shell 变量
定义变量时,变量名不加美元符号($,PHP语言中变量需要),如:
your_name="w3cschool.cc"
注意,变量名和等号之间不能有空格,这可能和你熟悉的所有编程语言都不一样。同时,变量名的命名须遵循如下规则:
首个字符必须为字母(a-z,A-Z)。
中间不能有空格,可以使用下划线(_)。
不能使用标点符号。
不能使用ba
- 编程中的一些概念,KISS、DRY、MVC、OOP、REST
dcj3sjt126com
REST
KISS、DRY、MVC、OOP、REST (1)KISS是指Keep It Simple,Stupid(摘自wikipedia),指设计时要坚持简约原则,避免不必要的复杂化。 (2)DRY是指Don't Repeat Yourself(摘自wikipedia),特指在程序设计以及计算中避免重复代码,因为这样会降低灵活性、简洁性,并且可能导致代码之间的矛盾。 (3)OOP 即Object-Orie
- [Android]设置Activity为全屏显示的两种方法
dcj3sjt126com
Activity
1. 方法1:AndroidManifest.xml 里,Activity的 android:theme 指定为" @android:style/Theme.NoTitleBar.Fullscreen" 示例: <application
- solrcloud 部署方式比较
eksliang
solrCloud
solrcloud 的部署其实有两种方式可选,那么我们在实践开发中应该怎样选择呢? 第一种:当启动solr服务器时,内嵌的启动一个Zookeeper服务器,然后将这些内嵌的Zookeeper服务器组成一个集群。 第二种:将Zookeeper服务器独立的配置一个集群,然后将solr交给Zookeeper进行管理
谈谈第一种:每启动一个solr服务器就内嵌的启动一个Zoo
- Java synchronized关键字详解
gqdy365
synchronized
转载自:http://www.cnblogs.com/mengdd/archive/2013/02/16/2913806.html
多线程的同步机制对资源进行加锁,使得在同一个时间,只有一个线程可以进行操作,同步用以解决多个线程同时访问时可能出现的问题。
同步机制可以使用synchronized关键字实现。
当synchronized关键字修饰一个方法的时候,该方法叫做同步方法。
当s
- js实现登录时记住用户名
hw1287789687
记住我记住密码cookie记住用户名记住账号
在页面中如何获取cookie值呢?
如果是JSP的话,可以通过servlet的对象request 获取cookie,可以
参考:http://hw1287789687.iteye.com/blog/2050040
如果要求登录页面是html呢?html页面中如何获取cookie呢?
直接上代码了
页面:loginInput.html
代码:
<!DOCTYPE html PUB
- 开发者必备的 Chrome 扩展
justjavac
chrome
Firebug:不用多介绍了吧https://chrome.google.com/webstore/detail/bmagokdooijbeehmkpknfglimnifench
ChromeSnifferPlus:Chrome 探测器,可以探测正在使用的开源软件或者 js 类库https://chrome.google.com/webstore/detail/chrome-sniffer-pl
- 算法机试题
李亚飞
java算法机试题
在面试机试时,遇到一个算法题,当时没能写出来,最后是同学帮忙解决的。
这道题大致意思是:输入一个数,比如4,。这时会输出:
&n
- 正确配置Linux系统ulimit值
字符串
ulimit
在Linux下面部 署应用的时候,有时候会遇上Socket/File: Can’t open so many files的问题;这个值也会影响服务器的最大并发数,其实Linux是有文件句柄限制的,而且Linux默认不是很高,一般都是1024,生产服务器用 其实很容易就达到这个数量。下面说的是,如何通过正解配置来改正这个系统默认值。因为这个问题是我配置Nginx+php5时遇到了,所以我将这篇归纳进
- hibernate调用返回游标的存储过程
Supanccy2013
javaDAOoracleHibernatejdbc
注:原创作品,转载请注明出处。
上篇博文介绍的是hibernate调用返回单值的存储过程,本片博文说的是hibernate调用返回游标的存储过程。
此此扁博文的存储过程的功能相当于是jdbc调用select 的作用。
1,创建oracle中的包,并在该包中创建的游标类型。
---创建oracle的程
- Spring 4.2新特性-更简单的Application Event
wiselyman
application
1.1 Application Event
Spring 4.1的写法请参考10点睛Spring4.1-Application Event
请对比10点睛Spring4.1-Application Event
使用一个@EventListener取代了实现ApplicationListener接口,使耦合度降低;
1.2 示例
包依赖
<p