【23种设计模式】工厂方法模式(二)

## 前言 在讲述之工厂方法模式前,我们来先了解简单工厂模式,简单工厂模式是最简单的设计模式之一,它虽然不属于GoF的23种设计模式,但是应用也较为频繁,同时它也是学习其他创建型模式的基础。下面我们来先了解下简单工厂模式,然后针对它的缺点来引出工厂方法模式。 ## 简单工厂模式定义 **简单工厂模式

将博客搬至CSDN

## 声明 技术在于分享,为了让更多的IT工作者看到和学习到本人分享的技术文章,从即日起,本人将本博客中分享的技术文章,同步到CSDN平台。同时也仍然会继续在本平台创作分享,希望大家多多支持! ## 同步CSDN账号地址 **CSDN账号1:** [努力搬砖的阿亮](https://blog.csd

FIDO 密钥登录

FIDO 密匙登录 [1]介绍了一些基础密码知识,科普性较好,在此摘抄一下: 说起密码,你会想起什么? 密码太多,记不住? 图省事所有网站用同一个密码,一个泄露了,手忙脚乱地去改密码? 网站被脱库,数据库信息泄露,密码丢失? 这一切都的根本原因就是:服务器保存了我们的密码(不管是明文的还是Hash过

从Linux零拷贝深入了解I/O

转载&学习文章:从Linux零拷贝深入了解I/O 本文将从文件传输场景以及零拷贝技术深究 Linux I/O 的发展过程、优化手段以及实际应用。 前言 存储器是计算机的核心部件之一,在完全理想的状态下,存储器应该要同时具备以下三种特性: 速度足够快:存储器的存取速度应当快于 CPU 执行一条指令,这

对于多方安全计算,你是否也有这样的疑惑?

学习&转载文章:对于多方安全计算,你是否也有这样的疑惑? 问题 假设多方安全计算中有两个参与方$P_0$和$P_1$,其中$P_0$拥有$x$,$P_1$拥有$y$,双方想要在不暴露自己拥有的数据的同时计算一个结果$z$,且$z=x+y$。那么不管用哪种协议进行计算得到最终结果$z$,并且公布给双方

文章学习|存储加密和传输加密的审计要点

> 学习转载:[存储加密和传输加密的审计要点](https://mp.weixin.qq.com/s/VQxv9ui81zO6FMrzamzHVA) # 存储加密和传输加密的审计要点 近年来,随着移动互联网的高速发展,在人们享受网络带来便利的同时,信息安全也逐渐成为大众关注的热点。 2021年落地的

配置式表单渲染器的实现

我们是袋鼠云数栈 UED 团队,致力于打造优秀的一站式数据中台产品。我们始终保持工匠精神,探索前端道路,为社区积累并传播经验价值。。 本文作者:奇铭(掘金) 需求背景 前段时间,离线计算产品接到改造数据同步表单的需求。 一方面,数据同步模块的代码可读性和可维护性比较差,相对应的,在数据同步模块开发新

netty系列之: 在netty中使用 tls 协议请求 DNS 服务器

简介 在前面的文章中我们讲过了如何在netty中构造客户端分别使用tcp和udp协议向DNS服务器请求消息。在请求的过程中并没有进行消息的加密,所以这种请求是不安全的。 那么有同学会问了,就是请求解析一个域名的IP地址而已,还需要安全通讯吗? 事实上,不加密的DNS查询消息是很危险的,如果你在访问一

flutter系列之:在flutter中使用流式布局

简介 我们在开发web应用的时候,有时候为了适应浏览器大小的调整,需要动态对页面的组件进行位置的调整。这时候就会用到flow layout,也就是流式布局。 同样的,在flutter中也有流式布局,这个流式布局的名字叫做Flow。事实上,在flutter中,Flow通常是和FlowDelegate一

Java并发Map的面试指南:线程安全数据结构的奥秘

简介 在计算机软件开发的世界里,多线程编程是一个重要且令人兴奋的领域。然而,与其引人入胜的潜力相伴而来的是复杂性和挑战,其中之一就是处理共享数据。当多个线程同时访问和修改共享数据时,很容易出现各种问题,如竞态条件和数据不一致性。 本文将探讨如何在Java中有效地应对这些挑战,介绍一种强大的工具——并

Visual Studio Code调试和发布ASP.NET Core Web应用

前言 上一篇文章主要讲了Visual Studio Code安装C#开发工具包并编写ASP.NET Core Web应用有兴趣的同学可以去看看,今天咱们主要是要讲讲如何在VS Code中调试和发布ASP.NET Core Web应用。 Visual Studio Code安装C#开发工具包并编写AS

20款VS Code实用插件推荐

前言 VS Code是一个轻量级但功能强大的源代码编辑器,轻量级指的是下载下来的VS Code其实就是一个简单的编辑器,强大指的是支持多种语言的环境插件拓展,也正是因为这种支持插件式安装环境开发让VS Code成为了开发语言工具中的霸主,让其同时支持开发多种语言成为了可能。俗话说的好工欲善其事必先利

C#/.NET/.NET Core优秀项目和框架8月简报

前言 公众号每月定期推广和分享的C#/.NET/.NET Core优秀项目和框架(公众号每周至少推荐两个优秀的项目和框架当然节假日除外),公众号推文有项目和框架的介绍、功能特点以及部分截图等(打不开或者打开GitHub很慢的同学可以优先查看公众号推文,文末一定会附带项目和框架源码地址)。注意:排名不

开发小技巧 - 合理使用Visual Studio 2022内置任务列表(TODO)

前言 在开发编码过程中经常会因为各种问题而打断自己的思绪和开发计划,可能会导致本来准备开发或者需要测试的功能到要上线的时候才想起来没有做完。这种情况相信很多同学都遇到过,咱们强大的Visual Studio内置了一个任务列表(TODO)能让我们当做待办清单功能使用,接下来我们快速了解一下。欢迎在评论

Langchain-Chatchat项目:1.2-Baichuan2项目整体介绍

由百川智能推出的新一代开源大语言模型,采用2.6万亿Tokens的高质量语料训练,在多个权威的中文、英文和多语言的通用、领域benchmark上取得同尺寸最佳的效果,发布包含有7B、13B的Base和经过PPO训练的Chat版本,并提供了Chat版本的4bits量化。 一.Baichuan2模型 B

如何在long-running task中调用async方法

# 什么是 long-running thread long-running task 是指那些长时间运行的任务,比如在一个 while True 中执行耗时较长的同步处理。 下面的例子中,我们不断从队列中尝试取出数据,并对这些数据进行处理,这样的任务就适合交给一个 long-running tas

使用Kettle定时从数据库A刷新数据到数据库B

# 一、需求背景 由于项目场景原因,需要将A库(MySQL)中的表a、表b、表c中的数据``定时T+1`` ``增量``的同步到B库(MySQL)。这里说明一下,不是数据库的主从备份,就是普通的数据同步。经过技术调研,发现Kettle挺合适的,原因如下: 1. Kettle (数据抽取、清洗、转换、

拖拽宫格vue-grid-layout详细应用及案例

[toc] # 1、前言 vue-grid-layout是一个适用于vue的拖拽栅格布局库,功能齐全,适用于拖拽+高度/宽度自由调节的布局需求。本文将讲述一些常用参数和事件,以及做一个同步拖拽的Demo。效果动态图如下: ![vue-grid-layout](https://img2023.cnbl

广告内容定向分级,保护未成年人身心健康

随着移动智能终端的普及,未成年人首次触网的年龄不断降低。根据中国互联网络信息中心第48次《中国互联网络发展状况统计报告》显示,截至2021年6月,中国网民规模为10.11亿人,6—19岁网民占15.7%,共1.58亿人。同时根据第十次中国未成年人互联网运用调查显示,中国未成年人互联网普及率为99.2

钥匙环服务,打造无缝的跨设备登录体验

近些年来,随着手机技术迭代更新越来越快,用户更换手机的周期也在缩短,在这样的背景下,开发者不得不面临以下问题: 同一开发者旗下常常有多个安卓应用和多形态应用(快应用和Web应用),用户更换一个新的设备(手机或平板)后,在新设备上登录各应用时每次都需要重复输入帐号和密码,导致用户在登录阶段流失率增加,