【23种设计模式】设计模式综述(开篇)

## 一、设计模式概述: ​ **设计模式(Design pattern)**代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用。设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误总结出来的。是一套被反复使用的、多

安全多方计算(5):隐私集合求交方案汇总分析

学习&转载文章:安全多方计算(5):隐私集合求交方案汇总分析 前言 随着数字经济时代的到来,数据已成为一种基础性资源。然而,数据的泄漏、滥用或非法传播均会导致严重的安全问题。因此,对数据进行隐私保护是现实需要,也是法律要求。隐私集合求交(Private Set Intersection, PSI)作

杰哥教你面试之一百问系列:java中高级多线程concurrent的使用

[toc] 提到多线程,当然要熟悉java提供的各种多线程相关的并发包了,而java.util.concurrent就是最最经常会使用到的,那么关于concurrent的面试题目有哪些呢?一起来看看吧。 ### 问题1:什么是`ConcurrentHashMap`?它与`HashMap`的区别是什么

如何规范App广告的隐私获取,让用户拥有更多知情权?

随着互联网的不断普及,越来越多老百姓使用智能设备触达互联网。但用户经常发现自己无意间提到的东西,打开App就收到相关产品的广告推送,甚至有人怀疑手机App是通过麦克风来窃取自己平时聊天信息中的关键词进行定向的广告推送。 这种怀疑不无道理,与传统广告相比,如今的媒体广告主投放的广告定位更准确、形式更丰

HMS Core手语服务荣获2022中国互联网大会“特别推荐案例”:助力建设数字社会

11月15日,HMS Core手语服务在2022(第二十一届)中国互联网大会 “互联网助力经济社会数字化转型”案例评选活动中,荣获“特别推荐案例”。 经过一年多的技术迭代和经验积累,HMS Core手语服务已与多个行业的开发者合作,将AI手语翻译能力应用在了教育、社交、新闻、政务办理等场景,助力开发

了不起的互联网老男孩,在创业路上不掉队

“青春如同奔流的江河,一去不回来不及道别”,老男孩这首歌戳中了太多职场中年男人的心酸苦楚,面对经济下行压力、互联网行业变革以及中年职场危机,互联网人应该如何应对?如何建立和现实叫板的能力? 有2位在互联网创业多年的开发者,经历了从PC互联网到移动互联网的发展变迁,踩过不少坑,一路磕磕碰碰走到现在,放

字符串解码问题

字符串解码问题 作者:Grey 原文地址: 博客园:字符串解码问题 CSDN:字符串解码问题 题目描述 给定一个经过编码的字符串,返回它解码后的字符串。 编码规则为: k[encoded_string],表示其中方括号内部的 encoded_string 正好重复 k 次。注意 k 保证为正整数。

源码级深度理解 Java SPI

本文从源码入手分析,深入探讨 Java SPI 的特性、原理,以及在一些比较经典领域的应用。

增强金蝶云星空的数据分析能力,实现BI 分析功能

小编最近在研究金蝶云星空中如何将已有的BI 工具 集成进去,对于BOS开发毫无经验的我,就这么开始了从0到1的过程。在实现功能过程中,也踩了很多坑,接下来看如何避坑。 那么具体如何实现,根据下面的步骤来看。 话不多说直接上操作步骤,篇幅较长,这是一篇教程贴,分享给需要的用户 1. 开发环境要求 【操

【matplotlib基础】--样式表

Matplotlib库 由于诞生的比较早,所以其默认的显示样式很难符合现在的审美,这也是它经常为人诟病的地方。 不过,经过版本更迭之后,现在 Matplotlib 已经内置了很多样式表,通过使用不同的样式表,可以整体改变绘制图形的风格,不用再调整一个个显示参数。 1. 样式表的使用 1.1. 所有内

Jenkins Blue Ocean

介绍 Blue Ocean 是 pipeline 的可视化UI。同时兼容经典的自由模式的 job。Jenkins Pipeline 从头开始设计,但仍与自由式作业兼容,Blue Ocean 减少了经典模式下的混乱并为团队中的每个成员增加了清晰度。Blue Ocean 的主要特点包括: 全新的流水线控

Exception: HOUR_OF_DAY: 0 -> 1

解决方案 将mysql链接中配置的 serverTimezone=Asia/Shanghai 改为 serverTimezone=GMT%2B8 Asia/Shanghai与GMT-8的区别 开发和运维经常见到的Asia/Shanghai与GMT-8的是什么意思呢? GMT-8是东八区,北京时间和东

基于AbstractProcessor扩展MapStruct自动生成实体映射工具类

作者:京东物流 王北永 姚再毅 1 背景 日常开发过程中,尤其在 DDD 过程中,经常遇到 VO/MODEL/PO 等领域模型的相互转换。此时我们会一个字段一个字段进行 set|get 设置。要么使用工具类进行暴力的属性拷贝,在这个暴力属性拷贝过程中好的工具更能提高程序的运行效率,反之引起性能低下、

微服务拆分治理最佳实践

随着业务快速发展,各种问题越来越明显,急需对系统进行微服务改造优化。经过思考,整体改造将分为三个阶段进行:数据库拆分、应用拆分、数据访问权限收口。

测试的底层逻辑

写这篇文章,是希望把我的一些我认为是非常有价值的经验总结出来,能够帮助刚做测试不久的新同事,或者是测试经验丰富的老同事以共享。希望我们可爱的新同事,准备要在测试领域耕耘的伙伴,能够通过我的文章了解到测试的底层逻辑,也就是我们测试工作中可能看不到隐藏较深的点,而不只是日常所见的写用例、提bug、开发自动化、做平台;俗话说外行看热闹,内行看门道。

JAVA多线程并发编程-避坑指南

本篇旨在基于编码规范、工作中积累的研发经验等,整理在多线程开发的过程中需要注意的部分,比如不考虑线程池参数、线程安全、死锁等问题,将会存在潜在极大的风险。并且对其进行根因分析,避免每天踩一坑,坑坑不一样。

【深入浅出系列】之代码可读性

代码可读性其实是一个比较宽泛的问题,也是一个老生常谈的问题,随着编码经验积累,在不同职业阶段,我们对可读性都会有不同的理解和认识,本文从我自己的角度和经验,讨论了一些比较浅的理解,如何写出易读、易懂的优秀代码,可能是我们coder永远追寻的目标之一,即使它没有终点。

golang 必会之 pprof 监控系列(5) —— cpu 占用率 统计原理

golang pprof 监控系列(5) —— cpu 占用率 统计原理 大家好,我是蓝胖子。 经过前面的几节对pprof的介绍,对pprof统计的原理算是掌握了七八十了,我们对memory,block,mutex,trace,goroutine,threadcreate这些维度的统计原理都进行了分

prometheus描点原理

> 大家好,我是蓝胖子,关于prometheus的入门教程有很多,拿我之前学prometheus的经历来讲,看了很多教程,还是会对prometheus的描点以及背后的统计原理感到迷惑,所以今天我们就来分析下这部分,来揭开其神秘的面纱。 我们先来看看prometheus里的数据模型是怎么样的,只有知道

docker入门加实战——docker安装并配置阿里云加速

docker入门加实战——docker安装并配置阿里云加速 为什么要学习docker 在开发和部署项目的过程中,经常会遇到如下问题: 软件安装包名字复杂,不知道去哪里找 安装软件和部署项目步骤复杂,容易出错 这就是我们今天要学习Docker技术要解决的问题。有了Docker以后,项目的部署会如丝般顺