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

开发工具

  • Java 多线程同步常用的三种方法

    一​、为什么要线程同步因为当我们有多个线程要同时访问一个变量或对象时,如果这些线程中既有读又有写操作时,就会导致变量值或对象的状态出现混乱,从而导致程序异常。举个例子,如果一个银行账户同时被两个线程操作,一个取100块,一个存钱100块。假设账户原本有0块,如果取钱线程和存钱线程同时发生,会出现什么

  • Python 面试高频问题:__Init__ 和__New__的区别

    在Python类内部定义,以__xx__结尾的方法,都是类的内置方法,也称之为魔法方法。类的内置方法,会在某种条件满足下自动触发,这里我们重点讲解一下__init__和__new__,他们与实例创建有关。简述__init____init__(self):这个方法我们相对较熟悉,他是python类中默

  • 眨眼的功夫,就把定时任务的三种调度策略说得明明白白

    SpringTask无疑是Spring环境下单机定时任务的首选。它用起来非常简单,功能也够用。SpringTask有三种模式,分别是:fixedDelay、cron和fixedRate。话不多说,我们先看代码:复制@Slf4j@ComponentpublicclassTimeTask{private

  • Uni-App微信小程序平台兼容常用图表库

    ​前言​从使用场景上来说,这篇更应该看作是如何在微信小程序中使用常用h5图表库(antv/f2、echarts等)。但是得益于uni-app的跨平台能力,能让我们使用更加熟悉的vue框架来实现微信小程序的开发。对于uni-app用户来说,如若使用图表能力,只能去dcloud社区插件(https://

  • 业务前端界面报错504排查思路和解决办法

    1.背景本文主要是写的最近比较影响深刻的一次排查客户访问业务前端域名,报504,timeout错误问题的记录,该客户为私有化部署,给客户部署的服务存在跨洲调用,没有专线,澳洲调用欧洲的服务情况,可能存在网络延迟比较大,需要排查504的具体原因,然后通过优化参数临时解决。2.排查步骤和思路2.1故障现

  • Java 内存模型,或许应该这么理解

    今天,就树哥一起与你一起重温下这几个知识点的联系与理解吧。Java内存模型网上关于Java内存模型的内容特别多,很多都讲到了多CPU与缓存的数据一致性问题,于是顺带牵出了MESI等缓存一致性协议。其实到这里都没问题,都挺有逻辑的。但接下来为啥有Java内存模型?为啥又有happens-before原

  • 聊聊Python中常见魔法方法

    ​什么是魔法方法?魔法方法(MagicMethods)是Python中的内置函数,一般以双下划线开头和结尾,例如__init__、__del__等。之所以称之为魔法方法,是因为这些方法会在进行特定的操作时会自动被调用。在Python中,可以通过dir()方法来查看某个对象的所有方法和属性,其中双下划

  • 原生JS也要支持类型注解啦?

    大家好,我卡颂。在布达佩斯2022JSConf[1]会议上,tc39[2](ES标准委员会)成员「GilTayar」介绍了一份当前仍处于stage1​阶段的提案—— TypeAnnotations​,意在让原生JS支持类型注解。GilTayar换句话说,如果提案通过,很多.ts​文件将后缀

  • Spring Boot + flowable 完美结合,快速实现工作流

    今天分享一个不错的工作流引擎 flowable!1.flowable-ui部署运行flowable-6.6.0运行官方demo。参考文档:https://flowable.com/open-source/docs/bpmn/ch14-Applications/。从官网下载flowable-

  • CSS Houdini:用浏览器引擎实现高级CSS效果

    作者|vivo互联网前端团队-WeiXingHoudini被称之为Magicofstylingandlayoutontheweb,看起来十分神秘,但实际上,Houdini并非什么神秘组织或者神奇魔法,它是一系列与CSS引擎相关的浏览器API的总称。一、Houdini是什么在了解之前,先来看一些Hou

  • 分享一个口碑炸裂的Python可视化模块,简单快速入手!!

    Altair是啥?Altair被称为是统计可视化库,因为它可以通过分类汇总、数据变换、数据交互、图形复合等方式全面地认识数据、理解和分析数据,并且其安装的过程也是十分的简单,直接通过pip命令来执行,如下:复制pipinstallaltairpipinstallvega_datasetspipins

  • 神器啊!比requests还好用的Python高效爬虫框架!

    最近公司 Python后端项目进行重构,整个后端逻辑基本都变更为采用"异步"协程的方式实现。看着满屏幕经过asyncawait(协程在Python中的实现)修饰的代码,我顿时感到一脸懵逼,不知所措。虽然之前有了解过"协程"是什么东西,但并没有深入探索,于是正好借着这次机会可以好好学习一下。

  • 你需要知道的 TCP 三次握手

    TCP,全称TransmissionControlProtocal。从名字可以知道这是一个用于 控制传输 的位于传输层的协议。TCP位于TCP/IP和OSI模型的传输层。我们最常使用的HTTP协议,底层通常使用的就是TCP协议。如果要在客户端和服务端创建TCP连接,我们需要在开始

  • RocketMQ之消费者启动与消费流程

    作者|vivo互联网服务器团队-LiKui一、简介1.1RocketMQ简介RocketMQ是由阿里巴巴开源的分布式消息中间件,支持顺序消息、定时消息、自定义过滤器、负载均衡、pull/push消息等功能。RocketMQ主要由Producer、Broker、Consumer、NameServer四

  • Python函数式编程:返回函数与匿名函数

    返回函数所谓返回函数,顾名思义,就是把函数作为返回值。高阶函数除了可以将函数作为参数之外,还可以将函数作为结果进行返回。下面来实现一个可变参数的连乘,求积函数可定义为:复制defcalc_fac(*args):fx=0forninargs:fx=fx*nreturnfx1.2.3.4.5.很多时候当

  • 事件循环机制:JavaScript被设计为单线程,那如何做到异步的呢?

    JavaScript是单线程的语言,单线程是指所有的程序路径按照一定的顺序执行,只有前面的程序执行了,后面的程序才会执行。也就是说在同一时间,JavaScript只能做一件事情,为了协调浏览器产生的各种事件、网络处理、前端渲染等行为,js的事件循环机制,即EventLoop应运而生。JavaScri

  • 十个写出漂亮JavaScript 代码的样式规则

    你知道为什么很多人对PHP感到厌恶吗?这主要是因为它的外观。PHP可以随心所欲,所以会使他变得丑陋。因为PHP的创建者没有为PHP建议任何大小写或格式。一些开发人员使用under_score,而另一些开发人员使用PascalCase。因此,这种不一致最终导致了人们对PHP的巨大仇恨。幸运的是,Jav

  • 架构迭代无法一蹴而就,做开源亦是如此

    ApacheDolphinScheduler是基于Apache开源社区理念打造的知名DataOps领域开源项目。作为一个分布式去中心化,易扩展的可视化工作流任务调度平台,ApacheDolphinScheduler目前已累计在1000多家公司生产环境中作为企业的核心调度系统。在近日的【T·Talk】

  • 知明:技术 Leader 的思考法

    ​技术Leader是一个对综合素质要求非常高的岗位,不仅要有解具体技术问题的架构能力,还要具备团队管理的能力,更需要引领方向带领团队/平台穿越迷茫进阶到下一个境界的能力。所以通常来说技术Leader的技能是虚实结合的居多,繁杂的工作偏多。为此我把自己在工作中经常用到的思考技巧也做了一个整理,算是对《

  • 使用 Python 下载的11种姿势,一种比一种高级

    下面你将学习如何克服可能遇到的各种挑战,例如下载重定向的文件、下载大型文件、完成一个多线程下载以及其他策略。1.使用requests你可以使用requests模块从一个URL下载文件。考虑以下代码:你只需使用requests模块的get方法获取URL,并将结果存储到一个名为“myfile”的变量中。

  • JavaScript 规范有了新的替代 License

    EcmaInternational最近正式批准发布了ECMAScript2022。ECMAScript2022增加的某些内容不属于旧版本的一部分,但也不是新的编程特性。今年3月,EcmaInternational接受了Mozilla提出的“新的替代许可证”提案。6月22日,第一个采用此许可证的请求获

  • PulseAudio 和 Systemd 作者离开红帽,加入了微软

    科技媒体Phoronix消息称,Systemd的首席开发人员LennartPoettering已经离开红帽并加入了微软,以继续他在systemd方面的工作。Lennart在红帽工作了15年之久,还领导了PulseAudio、Avahi项目的创建。Lennart对现代的Linux桌面一直起着重要作用。

  • Spring Boot 请求路径可以定义成 /**/** 这种格式吗?

    前两天松哥和大家分享了SpringSecurity中如何实现权限通配符的功能,里边用到了一个“邪门歪道”AntPathMatcher,有小伙伴对这个感到陌生,问松哥能不能单独介绍一下这个玩意,好,安排!不过AntPathMatcher其实在逐渐过时,它的替代品是PathPattern,我就把这两个放

  • 十行 Python 代码能实现哪些有趣功能?

    下面我们来看看,我们用不超过10行代码能实现些什么有趣的功能。一、生成二维码二维码又称二维条码,常见的二维码为QRCode,QR全称QuickResponse,是一个近几年来移动设备上超流行的一种编码方式,而生成一个二维码也非常简单,在Python中我们可以通过MyQR模块了生成二维码,而生成一个二

推荐阅读