公司:360
360(全称“三六零安全科技股份有限公司”)(上交所:601360)是中国大陆的一家主营安全相关的互联网公司,由周鸿祎于2005年9月成立。公司口号是“引领中国互联网开放潮流”,旗下的产品有360安全卫士、360杀毒、360搜索、360安全浏览器、360手机助手、360手机卫士等多项业务。
一种关于Java的hook技术-JavaAgent初识
Java是一种当前广泛使用的编程语言,它可以用于开发各种类型的应用程序,包括桌面应用程序。Java的跨平台性和易于学习的特点使得它成为开发桌面应用程序的理想选择,然而软件都有出现漏洞的可能性,一旦出现漏洞利用,影响广泛,例如前些年著名的apache log4j2漏洞。
在预研一种对用户侧Java程序进行监控和防护的方式过程中,遇到的问题是Java编译的代码是字节码,在jvm中运行,不是可以执行的CPU指令,无法以常规windows hook方式对程序进行注入和拦截。最终经过探讨,以asm+ JavaAgent方式来实现,后续本文将针对JavaAgent技术进行说明。
如何通过变异测试助力Java项目单测覆盖率提升
通常在软件测试过程中,我们会关注测试用例的代码覆盖率。理想情况下,测试用例应该能够覆盖所有业务代码的函数、方法和模块,从而实现100%的代码覆盖率。然而,达到理想目标并不意味着测试用例已经健全。接下来,笔者将向您介绍一种称为“变异测试”的方法,它可以帮助我们实现目标覆盖率并补充测试用例。
百万长连压测实践
随着互联网进入移动互联时代,公司的移动业务增多,推送服务的需求越来越大,公司自主研发了一套基于Miop协议的push服务。
MIOP (Message I/O Protocol) 协议是基于 TCP 的通信协议,用于手机端(C)与消息推送服务端(S)的通信 。
MIOP 链接由设备端发起,且双方可以随时交换信息。
Push服务依赖Miop协议,广泛应用于移动业务,用户量较大,且持续占用Tcp连接,应对百万级用户使用,需要验证服务承载能力,以及高并发情况下,验证服务的稳定性,以及数据准确性。
基于Promise.resolve实现Koa请求队列中间件
最近在做一个 AIGC 项目,后端基于 Koa2 实现。其中有一个需求就是调用兄弟业务线服务端 AIGC 能力生成图片。
QA视角的MySQL探险之旅:穿越慢查询沼泽,揭示实战避坑指南
数据库是“按照数据结构来组织、存储和管理数据的仓库”,承接核心的业务数据,在业务中占有非常重要的地位。
浅谈机器学习都要测试什么
机器学习的测试主要是测试现有模型准确性,这就涉及到几个关键词:
◆数据集:供模型训练时使用的,提供训练、测试以及预测用的数据集合;
◆算法类别:即算法归类,如:二分类,多分类,文本分类,聚类,回归,图像检测,图像分类,推荐等;
◆算法框架:用于模型训练的框架,如PyTorch,XGBoost,Onnx,Sklearn,Bert,Tensorflow等;
◆算法:机器训练模型的算法,例如深度自然语言学习算法文本分类、机器翻译、相似度计算等;物体检测算法YOLO、CenterNet等,基于sklearn框架回归类算法随机森林、决策树等。
微前端中的 CSS
我被问得最多的问题之一是如何在微前端中处理 CSS。毕竟,样式始终是任何UI片段所需要的东西...
交互设计的隐性细节
"交互"这个词的本质暗示了人与环境之间的关系。无论是从科学角度还是从直觉角度,都有数以百计的设计决策是由某些个体执着于最微小的边缘而做出的,这样当他们开展工作时,就不需要有其他顾虑了。
未来竞争力——ChatGPT之“会写Prompt”亲体验
自ChatGPT横空出世以来,各行各业的工作者从一开始的完全怀疑,到将信将疑,再到热烈拥抱和强烈抵制的冰火两重天,我们在新闻中见证了好莱坞编剧大罢工,见证了压力、狂热和久违的“ALL In”像一颗兴奋的火种在国内各大公司迅速蔓延, 百团大战、千播大战之后还没过多少年头,万模大战就此拉开序幕。历史就是这样,不会简单重复,但总是惊人相似。
大模型,一定会经历大浪淘沙的过程,但无论谁胜出,都不会影响大局,我们真正进入了这个全新时代。人类社会发展规律就是先进生产力不断取代落后生产力的过程,如何利用大模型的能力,提升自己的生产力才是关键。而利用大模型,有些人觉得回答很惊艳,还有一部分人觉得just so so,其实关键在于会提问,也就是Prompt,ChatGPT 效果好不好完全取决于你的 Prompt。就像有人说的,提出正确的问题,往往等于解决了问题的大半。所以提问其实是一个技术活儿,这点无论是日常沟通,解决问题,还是利用搜索引擎,都是相通的。
本文写作的主要目的是简单介绍下 Prompt,方便大家更好地用 Prompt 和 ChatGPT进行交互,笔者也会给出一些不同任务类型的案例供大家参考。
测试左移如何测试实践
随着软件各行业的快速发展,用户客户及技术自驱对产品和系统的需求实现要求越来越多,从而必须要在研发测试周期排期固定的里程碑下可快速的进行sprint迭代按期完成质量交付,因此,对测试人员对软件质量的保障提出了更高的挑战;与此同时,在既要保障质量又要提升效能的产研测协同大环境和大背景形势下,进入测试阶段之前就必须要提升提测质量,如何提升产研交付质量到测试阶段呢?
当测试人员遇上CodeReview:揭秘代码审查绝招
测试人员的业务流程理解程度直接影响测试用例的准确性和全面性。为了提高测试用例编写水平和测试效率,有两个关键方面需要注意。首先,通过仔细阅读需求文档并与产品经理进行充分沟通的方式可以达到这一目标。其次,通过进行代码审查来提高代码质量、减少错误,并对团队合作产生积极影响。在这篇文章中,笔者将分享一些关于使用Go语言编写项目和进行日常代码审查的方法和实践经验。
Git撤销已合并提交的多种姿势
在Git中,合并分支是一个常见的操作,但有时候可能会意外地将错误的提交合并到了主分支。这时候需要撤销已合并的提交并恢复到正确的状态。本文将介绍的是如何在Git中撤销已合并的提交,无论这个提交记录是最新的还是中间的某一个。
缺陷分析度量
在软件开发过程中,测试是不可或缺的环节。测试的目的是为了发现和纠正软件中的缺陷,保证软件的质量和稳定性。随着行业技术的发展,各个企业对测试越来越重视,这就要求测试人员不仅仅是完成基础的发现缺陷,还需要掌握一定的数据度量技能,对测试数据分析评估,更好的掌握产品的质量情况,不断优化改进测试过程。
关于分页,那些你不得不知道的原理、场景及测试要点
数据分页是一种将大量数据划分成多个页面以方便查看和处理的功能。当一个数据表格中包含了大量数据时,将其全部显示在同一页上会使页面变得非常拥挤和难以浏览。因此,将数据表格分成若干个子集,并将这些子集分别显示在不同的页面上,能够提高用户的浏览和操作效率。
Node.js健康检查和过载保护
设想一下,你有30个Node服务器与 "Nginx "服务器平衡。服务器的负载被平均分配,所以如果你有9000个用户,每个服务器有300个客户。把负载平均分配给每台服务器并不意味着你可以避免过载,因为你的工作对每个用户都可能不同。例如,对于user_1,你可能读取3个文件,但对于user_2,你可能需要读取10个(3.34倍)。根据用户的请求过程会有更多的复杂性,这是现实中需要去思考和解决的问题。在类似于这种的情况之下,开发者不得不平衡对同每一台服务器的请求,因为一旦这台服务器是Server Overload(过载)的状态,你的服务可能会挂掉。
简析IAST—Agent篇
IAST交互式应用程序安全测试,通过服务端部署Agent探针,流量代理/VPN或主机系统软件等方式,监控Web应用程序运行时函数执行并与扫描器实时交互,高效、精准的安全漏洞,是一种运行时灰盒安全测试技术。