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

开发工具

  • 聊聊Elasticsearch之Metric聚合

    1、背景此篇文章简单的记录一下 elasticsearch的metric聚合操作。比如求平均值、最大值、最小值、求和、总计、去重总计等。2、准备数据2.1准备mapping复制PUT/index_person{"settings":{"number_of_shards":1},"mappi

  • CSS新规范:样式查询

    最近,Chrome团队发布了对一个新的CSS规范的实验性支持,即样式查询。简而言之,它让我们查询容器的样式,而不是只查询尺寸。在查询容器尺寸不够的情况下,这可能很有帮助。CSS容器查询介绍样式查询之前,我们先来回顾容器查询。CSS容器查询(ContainerQueries)是一项新的CSS功能,允许

  • 异常处理实践 - 抛异常+错误码

    哈喽,大家好,我是指北君。今天和大家分享一下异常处理和错误码管理。前言在业务逻辑中,通常使用两种方式处理异常:返回错误码:优点是性能更好,但是不宜维护。抛出异常:可以使得代码更清晰,可读性更好,更符合面向对象。选择哪种需要根据场景而定,不管如何选择,只要团队达成共识,统一规范就可以。下面介绍一下我使

  • 转转AB平台的设计与实现

    导读在数据驱动时代,不管是在产品功能迭代还是策略决策时都需要数据的支撑。那么,当我们准备上线一个新功能或者策略时,如何评估新老版本优劣,即数据的可量化就成了问题。这个时候就需要引入A/BTest了。一、A/BTest是什么?A/BTest的概念来源于生物医学的双盲测试,双盲测试中病人被随机分成两组,

  • 字节国际支付十连问

    前言大家好,我是田螺。之前有位读者去字节面试,面的是国际支付部门,他凭记忆,回忆被问到的一些面试真题。于是,我整理了比较全的答案,希望对大家找工作有帮助呀,加油~1.聊聊工作中,你是如何设计数据库表的命名规范选择合适的字段类型主键设计合理选择合适的字段长度优先考虑逻辑删除,而不是物理删除每个表必备的

  • 编译器的自动内存管理,静态的GC算法

    ​C语言几乎唯一的缺点就是,需要手动管理内存。抛开这点之外,我觉得其他语言都不如C语言​。所以,虽然自动内存管理比较复杂,但我还是给scf编译器框架加了静态的GC算法。在编程方面,自动内存管理一般叫GC算法,是英文Garbage Collection的缩写。栈内存的管理比较简单,是由编译器

  • 那些有趣好玩强大的Python库

    ython语言向来以丰富的第三方库而闻名,今天来介绍几个非常nice的库,有趣好玩且强大!数据采集在当今互联网时代,数据实在是太重要了,首先我们就来介绍几个优秀的数据采集项目AKShareAKShare是基于Python的财经数据接口库,目的是实现对股票、期货、期权、基金、外汇、债券、指数、加密货币

  • 十个优秀WebStorm 主题,你学会了吗?

    大家好,我是CUGGZ。WebStorm是一个可定制的IDE,我们可以按照喜欢的方式配置它,可以通过更改主题来改变IDE的外观。下面来分享WebStorm团队成员最喜欢使用的主题!文中提到的所有主题都是开箱即用的,可以直接从IDE中免费安装:在插件(Plugins)中找到需要的主题插件,安装并重启I

  • HashMap Key & Lmmutable类型使用原理

    思考,为什么我们在HashMapputkey的时候经常使用String或者Integer?A:String、Integer都是final修饰的累,都很好的重写了hashCode和equals方法,最关键的他们是Immutable类,为不可变类。可以保证hashCode的稳定性。不可变类的优点与用途1

  • 聊聊 Apache Kafka 移除 ZK Proposals

    Zookeeper和KRaft这里有一篇Kafka功能改进的proposal原文。要了解移除ZK的原因,可以仔细看看该文章。以下是对该文章的翻译。动机目前,Kafka使用Zookeeper保存与分区(patitions)、brokers相关的元数据,以及选举Kafka控制器(某个broker)。我们

  • 分布式系统关键路径延迟分析实践

    ​1、背景近年来,互联网服务的响应延迟(latency)对用户体验的影响愈发重要,然而当前对于服务接口的延迟分析却没有很好的手段。特别是互联网业务迭代速度快,功能更新周期短,必须在最短的时间内定位到延迟瓶颈。然而,服务端一般都由分布式系统构成,内部存在着复杂的调度和并发调用关系,传统的延迟分析方法效

  • 好险!我差点重做整个K8S集群

    没有遇到故障的运维不是合格的运维,没有处理故障的运维不是好运维。做运维这么多年,每天依然提心吊胆,担心突发故障,打破生活节奏。可是,人算不如天算,大部分故障都来源于近乎合理的操作,这次也是一样。起因是要把几百G的数据传输到阿里云的Nas,通过外网挂载的方式拷贝。按道理讲这没什么问题,不就几百G的数据

  • PHP转Go优选的框架:GoFrame

    最近发现了一款非常好用的基于go语言的web开发框架,非常适合PHP转Go的同学使用,在很多设计思想和使用上和PHP的Laravel框架非常像。今天就为大家简单介绍一下GoFrame的特点:官方介绍GoFrame是一款模块化、高性能、企业级的Go基础开发框架。GoFrame不是一款WEB/RPC框架

  • 14 个快速简洁的单行 JavaScript 代码解决方案

    在编程中,解决同一个问题通常有多种方法。这些解决方案在不同方面可能有所不同,例如长度、性能、使用的算法、可读性等。在本文中,我们将研究几种快速简洁的单行解决方案,以解决JavaScript中经常出现的各种问题。什么是单行代码?在我们开始之前,让我们确保我们了解是什么单行代码。单行代码是问题的代码解决

  • 选Redis做MQ的人,是脑子里缺根弦儿吗?

    一、前情提示上一篇文章:​​《RocketMQ消息中间件用起来真的可靠吗?》​​,我们分析了ack机制的底层实现原理(deliverytag机制),还有消除处理失败时的nack机制如何触发消息重发。通过这个,已经让大家进一步对消费端保证数据不丢失的方案的理解更进一层了。这篇文章,我们将会对ack底层

  • 供应链管理后台秒开体验优化

    1、背景供应链管理后台以下简称SCM随着业务不断迭代,SCM的页面也变得越来越多,置身于持续增加、优化系统功能层面的需求,渐渐忽视了使用者对系统体验层面的诉求。近期通过线上反馈渠道收集到的问题中,有不少都是关于页面打开速度比较慢,为了能够提升系统使用体验和效率,我们对SCM的打开速度做了些针对性的迭

  • Python 打印彩色日志

    安装coloredlogs复制pipinstallcoloredlogs1.使用首先,和正常打印日志一样,我们创建一个logger复制logging.basicConfig()logger=logging.getLogger(name='mylogger')1.2.然后,把logger安装到colo

  • 使用 Strace 进行故障排除的五种简单方法

    我一直感到惊讶的是,很少有人知道他们可以使用strace的所有事情。它始终是我推出的第一个调试工具之一,因为它通常在我运行的Linux系统上可用,并且可用于解决如此广泛的问题。什么是strace?Strace非常简单地是一个跟踪系统调用执行的工具。在最简单的形式中,它可以从头到尾跟踪二进制文件的执行

  • Java如何定位自己项目中的慢业务

    我们都知道,在日常开发中我们经常遇到在钉钉群或者在业务群中会出现各种各样的慢业务的接口,比如某个接口在钉钉群疯狂出现,然后就有某些领导艾特你来解决这个慢业务问题,今天阿粉就来说说如何通过各种手段来定位慢业务问题,以及如何解决慢业务的问题。定位慢业务问题首先我们先来说这么慢业务问题,一般的慢业务问题,

  • 那些让业余时间变得丰富多彩的免费软件

    人们都说免费的东西其实是最贵的,空气是免费的,但是任何人都离不开它。有些软件是免费的,但是很多人也离不开它,今天我们就来盘点一下那些超实用的免费软件。tachiyomi这是一款漫画阅读器,它本身不包含任何漫画资源,它只是一个漫画阅读器,但是它可以连接上千个漫画资源库,通过添加资源库,你就可以免费阅读

  • 彻底理解动态规划:赚钱的兼职

    大家好,我是小风哥,休息了将近一周后终于满血复活了,关于阳康的故事下篇再聊,今天主讲技术。这是动态规划主题的第二篇,本文的题目是赚最多钱的兼职。假设你是搞钱小能手,搬砖之余周末还想去兼职,现在有n份工作,每份工作的起始时间保存在数组startTime中、结束时间保存在数组endTime中、能获取的报

  • Groovy 语法 Promotion提升和Coercion强制转换学习

    1.介绍本篇内容为Groovy学习第32篇,学习Groovy语法中的提升与强制转换相关知识点。(Promotion和coercion)学习在Groovy中的各种数据类型的各种强制转换和类型变换。如果不了解Groovy中的数据时如何进行转换的,那么可以学习一下本篇内容,应该能够给你一些参考。2.提升和

  • 90%的Java开发人员都会犯的五个错误

    ​前言作为一名java开发程序员,不知道大家有没有遇到过一些匪夷所思的bug。这些错误通常需要您几个小时才能解决。当你找到它们的时候,你可能会默默地骂自己是个傻瓜。是的,这些可笑的bug基本上都是你忽略了一些基础知识造成的。其实都是很低级的错误。今天,我总结一些常见的编码错误,然后给出解决方案。希望

  • 自己开发一个分布式的 Xxl-Job 任务调度组件

    前言复制@SpringBootApplication@EnableSchedulingpublicclassApplication{publicstaticvoidmian(String[]args){SpringApplication.run(Application.class,args);}@S

推荐阅读