深圳幻海软件技术有限公司 欢迎您!

开发工具

  • 测试工程师应知应会之行为驱动测试BDD

    很多工程师都了解测试驱动开发(TestDrivenDevelopment,TDD),但是了解行为驱动开发的人却不是很多。行为驱动开发(BehaviorDrivenDevelopment,BDD),是测试驱动开发的延伸,旨在使用简单的,特定于领域的脚本语言(软件外包行业的最大问题?从领域驱动设计说起)

  • Python编程:有关函数返回值以及最佳实践基本指导原则

    本篇内容作为以函数为主题的最后一篇,来介绍一下函数返回值以及编写函数的一些基本的最佳实践指导原则。函数输出:返回值函数的返回值是Python领先于竞争对手的东西之一。在大多数其他语言中,函数通常只允许返回一个对象,但是在Python中,你可以返回一个元组——这意味着可以返回任何你想要的东西。这个特性

  • 用Java 17的Records加速Spring Boot开发

    在《​​SpringBoot2.6新特性:使用Java17的Record作为配置属性​​》,我们提到了使用JavaRecords来作为SpringBoot的配置属性(configurationproperties),从而减少了大量样板代码的编写,我们本篇将进一步拓展Records在SpringBoo

  • 如何免安装使用 Python?推荐 17 个在线的 Python 解释器!

    作者:AlSweigart译者:豌豆花下猫@Python猫英文:https://inventwithpython.com/blog/2022/10/30/17-online-python-ides-and-interactive-shellsrepls安装Python很容易,但或许你正在用智能手机/

  • 源码级深度理解 Java SPI

    一、SPI简介SPI全称ServiceProviderInterface,是Java提供的,旨在由第三方实现或扩展的API,它是一种用于动态加载服务的机制。Java中SPI机制主要思想是将装配的控制权移到程序之外,在模块化设计中这个机制尤其重要,其核心思想就是 解耦。JavaSPI有四个要

  • 学会这 29 个 函数,你就是 Pandas 专家

    Pandas无疑是Python处理表格数据最好的库之一,但是很多新手无从下手,这里总结出最常用的29 个函数,先点赞收藏,留下印象,后面使用的时候打开此文 CTRL+F搜索函数名称,检索其用法即可。1、读取csv文件df.read_csvcsv通常是读取PandasDataFra

  • 现代 CSS 指南 -- At-Rule 规则必知必会

    大部分同学都用过CSS的屏幕宽度媒体查询,像是这样:复制@mediascreenand(min-width:900px){div{padding:1rem3rem;}}1.2.3.4.5.这里表示的是与屏幕宽度相关的样式设置,上面的代码表示当屏幕宽度大于900px时,内部的样式代码块才能生效。其实不

  • 原生JS手写丝滑流畅的元素拖拽效果

    前言提到元素拖拽,通常都会先想到用 HTML5 的拖拽放置(Drag和Drop)来实现,它提供了一套完整的事件机制,看起来似乎是首选的解决方案,但实际却不是那么美好,主要是它的样式太过简陋,无法实现更高级的用户体验:这是浏览器默认的拖拽效果,点住拖拽任意图片或文字都会产生。笔者因

  • Selenium中常用定位器Xpath的完整使用指南

    译者|陈峻审校|孙淑娟在编写Selenium类型的自动化脚本时,我们往往需要使用各种定位元素。不过在我们无法使用id、class、name等定位器实现定位的情况下,则可以使用XPath来定位网页上的某个元素。虽然XPath并非是唯一能够为Selenium提供元素发现功能的过程,但是它确实能够通过提供

  • 用Python写个工具,同时应付10个客服MM!

    公司主营短信,工作中数据库查询占了很大比例。我们的操作是,通过navicat连接十多台机器的库,然后连接数据库-输入sql-修改查询条件(如一长串的日期)进行各种查询。遇上高峰期,客服频频转发问题给我们,例如查下客户为什么没收到短信啦,查询发送记录啦,某个短信通道的发送量,签名统计等等。最让我郁闷的

  • Python编程:轻松搞透上下文管理器(Context Manager)

    前言本文聚焦在Python的上下文管理的讲解和应用。还是通过代码实例的方式,对照理解和学习,以达到“多快好省”的理解、掌握和应用。闲话少叙,开始——1.何为上下文管理器上下文管理器是一个对象,它定义了在执行with语句时要建立的运行时上下文。上下文管理器是为代码块所执行的上下文环境自动处理进入和退出

  • 使用 VS Code、Hardhat 和 Slither 进行智能合约审计

    介绍直到一两个星期前,我还了解智能合约安全和审计,但没有接触到当前真实和正确的流程,即在自动化部署和测试过程中使用威胁分析器从组装层面进行合约审计。。可以在此处[1]找到所发生事件的概要。我深刻地认识到,我们必须使用一些工具,在发布到外面之前充分测试我们的合约,否则它们会被机器人利用,这些机器人的行

  • Java实现代理模式的三种方式

    什么是代理模式代理模式是项目中常用的一种设计模式。提供了间接访问目标对象的一种方式;即通过代理对象访问目标对象。这样做的好处是,可以在不改变原有目标对象的基础上,对目标对象增加额外的扩展功能。代理模式又分为静态代理、jdk动态代理、cglib动态代理三种实现方式。三种实现方式各有优点,以及适用的场景

  • Redis大Key多Key拆分方案,你学会了吗?

    业务场景中经常会有各种大key多key的情况,比如:1:单个简单的key存储的value很大。2:hash,set,zset,list中存储过多的元素(以万为单位)。3:一个集群存储了上亿的key,Key本身过多也带来了更多的空间占用。(如无意外,文章中所提及的hash,set等数据结构均指redi

  • 配置化表单FormRender初尝试

    然而,我找到了一个非常好用的 表单 插件,就是通过下发JSON配置来生成表单视图的方法!!!!它就是FormRender,一站式中后台 表单解决方案。它有什么优点?支持AntDesign和FusionDesign主流的视觉主题使用JSONSchema 标准协议

  • GoFrame的gmap相比Go原生的map,天然支持排序和有序遍历!?

    前言有好多初学GO的小伙伴都被Go语言中map的无序性“坑过”。尤其是PHP转Go的小伙伴~这篇文章会为大家介绍:GoFrame的gmap相比于Go原生的map有什么优势?为什么天然支持排序和有序遍历?如何做到的?GoFrame的gmap有哪些使用技巧?先说结论GoFrame提供的gmap字典类型,

  • 看我如何将Docker镜像大小缩减95%

    作者丨PavanKumar译者|崔莹峰策划丨诺亚编写Dockerfile看起来很容易,除非你最终编写了大小为0.5GB的Docker镜像。是的,没错。我最近在做一个ReactJS项目,在那里我正在构建一个前端应用程序。ReactJS项目没有什么新鲜的。我使用了与典型前端应用程序相同的package.

  • 全面掌握软件架构的守护神-ArchUnit

    简要介绍ArchUnit是一个免费、简单和可扩展的库,可以使用任何普通的Java单元测试框架检查Java代码的架构和编码规则。基本原理ArchUnit通过分析给定的Java字节码,将所有类导入到Java代码结构中,来检查包、类、层、切片上依赖关系,包括对循环依赖关系等问题的检查。版本分支ArchUn

  • 500W数据,20Wqps分词检索,架构如何设计?

    作者 | KG沈剑​有水友提问:沈哥,我们有个业务,类似于“标题分词检索”,并发量非常大,大概20W次每秒,数据量不是很大,大概500W级别,而且数据不会频繁更新,平均每天更新一次,请问有什么好的方案么?这是一个典型的,短文本分词搜索的问题,简单聊聊自己的经验。常见的文本检索方案

  • Python八种数据导入方法,你掌握了吗?

    大多数情况下,会使用NumPy或Pandas来导入数据,因此在开始之前,先执行:复制importnumpyasnpimportpandasaspd1.2.两种获取help的方法很多时候对一些函数方法不是很了解,此时Python提供了一些帮助信息,以快速使用Python对象。使用Numpy中的info

  • AR和VR技术如何改进沉浸式学习

    新冠肺炎·疫情对数字化转型的推动影响了公司的程序和运营,以及人们如何学习和提高自己的能力。持续的职业发展和教育对于企业提升企业文化、保持员工积极性以及在不断变化的工作环境中保持竞争优势至关重要。随着公司检查复杂的培训工具和员工必须掌握的新技能,数字技术将成为工作场所学习计划的关键。使用沉浸式技术进行

  • GitHub上高质量数据结构与算法项目推荐!

    1.LeetCodeMaster代码随想题录,LeetCode刷题攻略,200道经典刷题顺序,共60w字的详细指导图解,视频难点剖析,50余张思维图,支持C++,Java,Python,Go,JavaScript等多语言版本。Github(⭐️32.8k):https://github.com/yo

  • 时间序列分解:将时间序列分解成基本的构建块

    大多数时间序列可以分解为不同的组件,在本文中,我将讨论这些不同的组件是什么,如何获取它们以及如何使用Python进行时间序列分解。时间序列组成时间序列是(主要)三个组成部分的组合:趋势、季节性和残差/剩余部分。让我们简单的解释这三个组成部分趋势:这是该序列的整体运动。它可能会持续增加、也可能持续减少

  • Python 实现栈的几种方式及其优劣

    ​​想了解更多关于开源的内容,请访问:​​​​51CTO 开源基础软件社区​​​​https://ost.51cto.com​​一、栈的概念栈由一系列对象对象组织的一个集合,这些对象的增加和删除操作都遵循一个“后进先出”(LastInFirstOut,LIFO)的原则。在任何时刻只能向栈中

推荐阅读