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

开发工具

  • 面试必备之乐观锁与悲观锁

    悲观锁和乐观锁并不是某个具体的“锁”而是一种并发编程的基本概念,是根据看待并发同步的角度;悲观锁和乐观锁是用来解决并发问题的两种思想,在不同的平台有着各自的实现。废话不多,开始讲解1、悲观锁悲观锁是基于一种悲观的态度类来防止一切数据冲突,它是以一种预防的姿态在修改数据之前把数据锁住,然后再对数据进行

  • OKR之剑·实战篇03:OKR的跟踪需要有“自己”的节奏

    本文是《OKR之剑》系列之实战第3篇。OKR的跟踪需要融入自己团队的特点,找到适合自己的节奏,这是一个螺旋上升的过程。一、前言在OKR落地的过程中,也许你的团队会遇到这样的困扰:OKR容易跟丢,时间一长就没人问了;没有跟踪过程,信息不透明,团队内彼此不知道OKR的进展;OKR的形式重,任务多,是工作

  • OKR之剑·实战篇04:OKR执行过程优化的那些关键事

    本文是《OKR之剑》系列之实战第4篇。OKR执行过程不是一成不变的,团队和个人在执行中不断优化执行的具体行动,保障OKR的高效执行。一、前言“言治骨角者,既切之而复磋之;治玉石者,既琢之而复磨之,治之已精,而益求其精也。”古之骨器切后需反复磋之,玉器雕琢后仍需反复打磨,团队在引入OKR、制定OKR、

  • 前端重新部署如何通知用户刷新网页?

    前端重新部署后,我们可以使用WebAPI中的window.location.reload()方法来强制刷新页面。这个方法会重新加载当前页面,从而加载最新的HTML、CSS和JavaScript文件,并重新渲染页面。如果我们希望在重新部署后通知用户刷新页面,可以在页面中添加一个提示框或者弹窗,告知用户

  • Java调用Selenium实现自动化测试

    Selenium简介Selenium是一个用于Web应用程序自动化测试工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE(7,8,9,10,11),MozillaFirefox,Safari,GoogleChrome,Opera等。Selenium特点开源、

  • 这什么代码,没法看了...

    哈喽,大家好,我是指北君。今天和大家一起学习下java中的代码混淆技术,后面你也可以让你的代码不再裸露在外了,让人轻易窥视代码混淆技术当需要阅读jar文件的内容时,可能你会使用一些反编译工具,比如jd-gui,但是否有遇到反编译后的内容和想象的不一样,但正常引用该jar又都是正常的?开始的话前段时间

  • TiDB在转转公司的发展历程

    1前言转转是PingCAP最早的一批用户之一,见证了TiDB的发展,自身也沉淀了不少经验。从1.0GA开始测试,到2.0GA正式投产,然后升级到了2.1,后来又升级到4.0.13,最后建设自动化平台。其实转转DBA团队初建以来就开始投入一定的资源进行平台建设,一步一步实现自动化运维,希望一切需求都能

  • 移动测试自动化框架:您可能会犯的十个错误

    移动开发可能是一项测试挑战。手动测试的变量太多,比如版本兼容性、输入值和不同的环境。在某些情况下,必要的功能可能会丢失或完全错误,或者设备功能(例如GPS)对于自动测试而言不够准确。此外,第三方服务和集成组件可能会不断变化。继续阅读以获取有助于确定自动化QA并且不会让它破坏整个项目的提示。什么是移动

  • 泊松矩阵分解:无需数据解决推荐系统冷启动问题的矩阵分解算法

    作者|汪昊审校|孙淑娟推荐系统是目前互联网行业最火爆的技术之一。在过去的十年中,互联网行业诞生了数以百万计的推荐系统模型迭代版本。尽管针对不同场景进行优化的推荐系统模型非常之多,但是经典的模型非常少。矩阵分解是推荐系统领域勃兴早期,在Netflix大赛中展露头角的推荐系统算法,也是过去十年中最为成功

  • Mybatis-Plus解决公共字段快速填充,快速开发之一天1个小技巧

    痛点在开发中,如果有良好的开发规范,一般都会给表增加一些公共字段,比如创建时间,更新时间,用户ID,版本号等,代码里每次都要写上这些字段,能不能对这些公共字段进行统一处理,简化开发呢?解决方案持久层用mybatis-plus,然后实现MetaObjectHandler接口,便可以解决问题。具体步骤1

  • Tomcat:设计模式用的好,下班就能早!

    tomcat作为一款经典的轻量级应用服务器,自然也使用了很多优雅的设计模式。今天给大家简单介绍一下tomcat在初始化组件时使用的几种设计模式。tomcat大体上的架构组合模式在tomcat中,把不同的功能设计为了不同的组件,比如connector、engine、host、context等。那么在t

  • DDD领域驱动工程落地实战

    我在公司对支付业务、结算业务、资金业务使用DDD进行领域建模的两年,得到了许多好评,也面对过不少质疑,总体来说还是能收获不少,这对团队成员理解业务起着很大作用。近半年一直在研究DDD的落地实战,如今已修得阶段性成果,迫不及待与大家分享我的落地经验。DDD分为战略设计与战术设计。一般来说,领域建模是属

  • 从实现到原理,聊聊Java中的SPI动态扩展

    八股文背多了,相信大家都听说过一个词,SPI扩展。有的面试官就很喜欢问这个问题,SpringBoot的自动装配是如何实现的?基本上,你一说是基于spring的SPI扩展机制,再把spring.factories文件和EnableAutoConfiguration提一下,那么这个问题就答的八九不离十了

  • 开发利器Hutool之MapProxy的妙用

    概述Hutool是一个小而全的Java工具类库,通过静态方法封装,降低相关API的学习成本,提高工作效率,使Java拥有函数式语言般的优雅,让Java语言也可以“甜甜的”。目前公司项目中主要采用Hutool作为项目的工具包,相对于google的guava,hutool的工具类采用中文注释,更加符合国

  • 29 个有用的 JavaScript 单行代码

    今天这篇文章,我主要是想跟大家分享一些关于JavaScript的单行代码技巧,在这些方法中,我们使用了一些API,帮助我们简化操作,可能有些方法写一行不是很优雅,我们这么做的目的,主要是为了进一步学习使用API的技巧,希望对你的学习有所帮助。现在,我们就开始进入今天的内容。1.复制内容到剪贴板复制c

  • 代码的简单设计五原则

    作者 | 袁慎建欢欢:“你看我的代码用了策略模式和状态模式,假如后面客户会有这样的需求,可以无缝扩展,多么健壮!”清扬一脸狐疑,心中念叨了数遍:“哼,过度设计!”,只见她欲言又止,好几次话到嘴边又被自己咽回去了。这种关于设计的讨论,袁帅最近一周不是第一次听到了,就在昨天他还看到清

  • Java中的懒惰实例化与急切实例化:哪个更好?

    ​译者|李睿审校|孙淑娟人们需要了解如何在Java程序中使用懒惰实例化和急切实例化。那么,哪种方法更好?这取决于场景。  当实例化在资源使用方面开销很大的Java对象时,用户不希望每次使用它们时都必须进行实例化。对于提高性能来说,拥有一个可以在整个系统中共享的现成对象实例要好得多

  • 前端工程化实战-开发企业级CLI

    1、前言脚手架大家一定都不陌生,比如我们经常使用的vue-cli、create-react-app,它可以帮助我们快速的初始化一个项目,无需从零配置,极大的方便我们的开发。到这里你可能会疑惑,既然市面上有成熟的脚手架,为什么需要写一个属于自己的脚手架呢。因为公共脚手架虽然强大,但并不能满足我们的实际

  • 测试左移之需求质量

    作者 |于晓南测试左移的由来缺陷的修复成本逐步升高下面是质量领域司空见惯的一张图,看图说话,容易得出:大部分缺陷都是早期引入的,同时大部分缺陷都是中晚期发现的,而缺陷发现的越晚,其修复成本就越高。因此,为了降低缺陷修复成本,我们期望在更早的时间发现缺陷。那么上图是否完全没问题呢?不是的,这

  • Java字节码,你还可以搲的更深一些!

    Java真的是长盛不衰,拥有顽强的生命力。其中,字节码机制功不可没。字节码,就像是Linux的ELF。有了它,JVM直接摇身一变,变成了类似操作系统的东西。要学习字节码,不能仅仅靠看枯燥的文档。本文会介绍几个有用的工具,可以非常容易的上手,来实际观测class文件这个小魔兽,助你搲的更深一些。1、字

  • 跟着我们的新指南学习开发 WebAssembly

    在过去的几十年里,Web浏览器作为最流行的跨平台应用经久不衰。从另一个角度看浏览器,它是最受欢迎的应用交付平台之一。想想你使用的所有网站,它们取代了你过去用桌面上运行的软件进行的活动。你仍然在使用软件,但你是通过浏览器来访问它,而且是在别人的Linux服务器上运行。在优化我们所有人使用的软件的永恒努

  • B站容器云平台VPA技术实践

    一、背景B站基于k8s构建的私有云平台已达万级节点规模,托管了公司大部分的在线业务以及机器学习、大数据、转码等离线业务。在推进降本增效的过程中,我们发现业务申请的容器资源规格存在不合理的现象,通常设置的资源配额会比实际负载偏大很多。这就造成节点的cpu分配率很高,已经无法调度新容器,但是节点的实际c

  • 面试官:JVM 如何确定死亡对象?

    在JVM中,有两个非常重要的知识点,一个是JVM的内存布局(JVM运行时的数据区域),另一个就是垃圾回收。而垃圾回收中又有两个重要的知识点,一个是如何确定JVM中的垃圾对象,另一个是使用不同的垃圾收集器进行垃圾回收。而本篇要讨论的是前者,后面的内容咱们下一篇再聊。垃圾(死亡)对象的判定有两种常用的算

  • 图形编辑器:适配高分辨率屏幕

    大家好,我是前端西瓜哥。我的图形编辑器项目一直都是用一个1080P的老显示器开发的。但最近我改用MacbookPro的视网膜(Retina)屏幕开发时,发现高分屏(高分辨率屏幕)反而让图形编辑器中的线变得模糊了。这次我们来看看该如何解决这个问题。项目地址,欢迎star:https://github.

推荐阅读