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

  • 架构师日记-深入理解软件设计模式

    作者:京东零售刘慧卿一设计模式与编程语言1.1什么是设计模式设计模式(Designpattern):由软件开发人员在软件开发中面临常见问题的解决方案,是经过长时间的试验积累总结出来的,它使设计更加灵活和优雅,复用性更好。从实用的角度来看,它代表了某一类问题的最佳实践。设计模式到底解决了开发过程中的哪

  • R2M分布式锁原理及实践

    作者:京东科技张石磊1案例引入名词简介:资源:可以理解为一条内容,或者图+文字+链接的载体。档位ID:资源的分类组,资源必须归属于档位。问题描述:当同一个档位下2条资源同时审批通过时,收到擎天审批系统2条消息,消费者应用部署了2台机器,此时正好由2台机器分别消费,在并发消费时,先更新资源状态,然后写

  • Fabric.js 拖放元素进画布

    本文简介点赞+关注+收藏=学会了学习Fabric.js,我的建议是看文档不如看demo。本文实现的功能:将元素拖进到画布中并生成对应的图形或图片。效果如下图所示:思路要实现以上效果,需要考虑以下几点:元素有拖拽功能。能在画布中生成对应的元素。画布有可能缩放。画布有可能移动。画布的位置可能在页面的某处

  • 关于逆向破解tb某个请求的加密算法

    前言由于工作需要,要抓取tb上某个接口的文案资源,用来分析借鉴。本来想着,无非就是验证一下当前用户信息之类的,但在研究过后,发现并没那么简单。1,查看请求相关参数比如下图,发现请求中携带的参数不少,然后其中随时变化的就有t、sign、data,很明显,这就是tb判断请求是否合法的参数,其中但凡修改一

  • Vue的data,components,methods,computed,mounted,activated,deactivated,beforeCreate,created的含义及用法

    1、dataVue会递归将data的属性转换为getter/setter,从而让data的属性能够响应数据变化。对象必须是纯粹的对象(含有零个或多个的key/value对)data(){return{dataForm:{xxx:‘’,xxx:数字//这里的数字会固定XXX的选项},xxx:[],xx

  • JS时间对象与字符串相互转换

    1、Date=>String代码/***函数描述:时间格式化工具*@paramformat{String}格式(y-年,M-月,d-日,H-时[24],h-时[12],m-分,s-秒,S-毫秒(3位数),q-季度,ap,午前am/午后pm)*@returns{String}*/Date.pro

  • 一文详解JavaScript函数和面向对象编程

    javascript函数函数就是一个功能模块,函数式编程是一种面向过程的编程思想,如果遇到一个大的复杂问题,可以分解成几个部分,每个部分用专门的函数分解实现。函数语法:复制functionfunctionName(parameters){执行的代码}functionName(parameters)/

  • 探究 LightHouse 工作流程

    本文为来自 字节教育-智能学习-前端团队 的文章,已授权ELab发布。智能学习前端团队 自创立以来,团队专注于打破大众对教育的刻板印象,突破固有的教学思维,攻破各类教学屏障。旨在为每一位学生制定最合适的学习方案,予以因材施教,使优质教育随‘触’可达。什么是 L

  • 响应式异步非阻塞编程在服务端的应用

    作者|搜狐视频赵文浩1、前言对于服务端的开发者而言,我们总有一个共同的目标,那就是如何用更少的资源获得足够的性能来支持我们的服务!,我们不是在性能优化中,就是在性能优化的路上。作为Javaer我们,服务性能优化的武器库中,异步和并发是永远不会过时的两个。然而理想很美好,现实很骨感:异步编程的思维方式

  • Spring Security权限控制系列(四)

    环境:Springboot2.4.12+SpringSecurity5.4.9本篇主要内容:核心过滤器创建原理自定义过滤器上一篇:《​​SpringSecurity权限控制系列(三)​​》核心过滤器创建原理SpringSecurity核心是通过Filter过滤器链来完成一系列逻辑处理的,比如CSRF

  • “整洁架构” 和商家前端的重构之路

    ​1.背景团队归属于后方业务支撑部门,组内的项目都以pc中后台应用为主。对比移动端应用,代码库比较庞大,业务逻辑也相对复杂。在持续的迭代过程中,我们发现当前的代码仓库仍然有不少可以优化的点:可以减弱对ui框架的依赖21年前端平台决定技术栈统一迁移到React生态,后续平台的基础建设也都围绕React

  • 如何使用 React Hooks 重构类组件?

    大家好,我是CUGGZ。最初,在React中可以使用 createClass 来创建组件,后来被类组件所取代。在React16.8版本中,新增的Hooks功能彻底改变了我们编写React程序的方式,使用Hooks可以编写更简洁、更清晰的代码,并为创建可重用的有状态逻辑提供了更好的

  • 一文带你理解 RocketMQ 广播模式实现机制

    大家好,我是君哥。今天聊聊RocketMQ的广播消息实现机制。RocketMQ有两种消费模式,集群模式和广播模式。集群模式是指RocketMQ中的一条消息只能被同一个消费者组中的一个消费者消费。如下图,Producer向TopicTest这个Topic并发写入3条新消息,分别被分配到了Message

  • EventEmitter 的核心功能实现

    大家好,我是前端西瓜哥。EventEmitter是频率较高的前端面试题。EventEmitter是Nodejs环境下才能使用的库,所以不能直接用于浏览器环境的开发。所以我考虑自己实现一套逻辑,自己定制的话也容易根据实际情况的变动做修改。因此我决定了解一下EventEmitter的API,并尝试自己实

  • 你知不知道React lanes到底咋用啊?

    大家好,我卡颂。很多朋友知道React内部有个lane的概念,但不知道怎么用。React中存在不同功能的lane,本文通过讲解其中最重要的一种lane来达到让你理解lane如何使用的目的。lane的含义想必你对如下代码再熟悉不过了:复制//对于ClassComponentonClick(){this

  • 盘点JavaScript中Getter()和Setter()函数的使用

    大家好,我是进阶学习者。一、前言有两种类型的属性。第一种是数据属性。已经知道如何使用它们了。到目前为止,使用过的所有属性都是数据属性。第二种类型的属性是新东西。它是访问器属性(accessorproperties)。它们本质上是用于获取和设置值的函数,但从外部代码来看就像常规属性。二、Getter和

  • 如何避免死锁?我们有套路可循

    写在前面上一篇文章共享资源那么多,如何用一把锁保护多个资源?文章我们谈到了银行转账经典案例,其中有两个问题: 单纯的用synchronized方法起不到保护作用(不能保护target) 用Account.class锁方案,锁的粒度又过大,导致涉及到账户的所有操作(取款,转账,修改

  • Tomcat在SpringBoot中是如何启动的

     前言我们知道SpringBoot给我们带来了一个全新的开发体验,我们可以直接把web程序达成jar包,直接启动,这就得益于SpringBoot内置了容器,可以直接启动,本文将以Tomcat为例,来看看SpringBoot是如何启动Tomcat的,同时也将展开学习下Tomcat的源码,了解

  • 用好React,你必须要知道的事情

     容器性组件(containercomponent)和展示性组件(presentationalcomponent)使用React编写组件时,我们需要有意识地将组件划分为容器性组件(containercomponent)和展示性组件(presentationalcomponent),这样有助

  • 简单的this,麻烦的this

     周末的HelloWorld咖啡馆总是热闹非凡。 Java,Python,Ruby,JavaScript围坐在一起,一边喝咖啡,一边海阔天空。  C老头儿则待在一旁,冷眼旁观。 聊着聊着,这话题不知怎么着转移到了“this”上来了。 Jav

推荐阅读