南昌市有帮做网站的吗wordpress+防爬虫

news/2025/10/2 1:49:34/文章来源:
南昌市有帮做网站的吗,wordpress+防爬虫,晋源网站建设,个人seo怎么赚钱一、前言知道的越多不知道的就越多编程开发这条路上的知识是无穷无尽的#xff0c;就像以前你敢说精通Java#xff0c;到后来学到越来越多只想写了解Java#xff0c;过了几年现在可能想说懂一点点Java。当视野和格局的扩大#xff0c;会让我们越来越发现原来的看法是多么浅…一、前言知道的越多不知道的就越多编程开发这条路上的知识是无穷无尽的就像以前你敢说精通Java到后来学到越来越多只想写了解Java过了几年现在可能想说懂一点点Java。当视野和格局的扩大会让我们越来越发现原来的看法是多么浅显这就像站在地球看地球和站在宇宙看地球一样。但正因为胸怀和眼界的提升让我们有了更多的认识也逐渐学会了更多的技能。虽然不知道的越来越多但也因此给自己填充了更多的技术栈让自己越来越强大。拒绝学习的惰性很可怕现在与以前不一样资料多、途径广在这中间夹杂的广告也非常多。这就让很多初学者很难找到自己要的知识最后看到有人推荐相关学习资料立刻屏蔽、删除但同时技术优秀的资料也不能让需要的人看见了。久而久之把更多的时间精力都放在游戏、娱乐、影音上适当的放松是可以的但往往沉迷以后就很难出来因此需要做好一些可以让自己成长的计划稍有克制。平衡好软件设计和实现成本的度°有时候一个软件的架构设计需要符合当前条件下的各项因素往往不能因为心中想当然的有某个蓝图就去开始执行。也许虽然你的设计是非常优秀的但是放在当前环境下很难满足业务的时间要求当一个业务的基本诉求不能满足后就很难拉动市场。没有产品的DAU支撑最后整个研发的项目也会因此停滞。但研发又不能一团乱麻的写代码因此需要找好一个适合的度比如可以搭建良好的地基实现上可扩展。但在具体的功能上可以先简化实现随着活下来了再继续完善迭代。二、开发环境JDK 1.8Idea Maven三、观察者模式介绍简单来讲观察者 模式就是当一个行为发生时传递信息给另外一个用户接收做出相应的处理两者之间没有直接的耦合关联。例如狙击手、李云龙。除了生活中的场景外在我们编程开发中也会常用到一些观察者的模式或者组件例如我们经常使用的MQ服务虽然MQ服务是有一个通知中心并不是每一个类服务进行通知但整体上也可以算作是观察者模式的思路设计。再比如可能有做过的一些类似事件监听总线让主线服务与其他辅线业务服务分离为了使系统降低耦合和增强扩展性也会使用观察者模式进行处理。四、案例场景模拟http://weixin.qq.com/r/W0Rqco7EptPZrcoR9xFJ (二维码自动识别)在本案例中我们模拟每次小客车指标摇号事件通知场景(真实的不会由官网给你发消息)可能大部分人看到这个案例一定会想到自己每次摇号都不中的场景收到一个遗憾的短信通知。当然目前的摇号系统并不会给你发短信而是由百度或者一些其他插件发的短信。那么假如这个类似的摇号功能如果由你来开发并且需要对外部的用户做一些事件通知以及需要在主流程外再添加一些额外的辅助流程时该如何处理呢基本很多人对于这样的通知事件类的实现往往比较粗犷直接在类里面就添加了。1是考虑 这可能不会怎么扩展2是压根就没考虑 过。但如果你有仔细思考过你的核心类功能会发现这里面有一些核心主链路还有一部分是辅助功能。比如完成了某个行为后需要触发MQ给外部以及做一些消息PUSH给用户等这些都不算做是核心流程链路是可以通过事件通知的方式进行处理。那么接下来我们就使用这样的设计模式来优化重构此场景下的代码。1. 场景模拟工程itstack这里提供的是一个模拟小客车摇号的服务接口。2. 场景简述2.1 摇号服务接口public 非常简单的一个模拟摇号接口与真实公平的摇号是有差别的。五、用一坨坨代码实现这里我们先使用最粗暴的方式来实现功能按照需求需要在原有的摇号接口中添加MQ消息发送以及短消息通知功能如果是最直接的方式那么可以直接在方法中补充功能即可。1. 工程结构itstack这段代码接口中包括了三部分内容返回对象(LotteryResult)、定义接口(LotteryService)、具体实现(LotteryServiceImpl)。2. 代码实现public 从以上的方法实现中可以看到整体过程包括三部分摇号、发短信、发MQ消息而这部分都是顺序调用的。除了摇号接口调用外后面的两部分都是非核心主链路功能而且会随着后续的业务需求发展而不断的调整和扩充在这样的开发方式下就非常不利于维护。3. 测试验证3.1 编写测试类Test 测试过程中提供对摇号服务接口的调用。3.2 测试结果22:从测试结果上是符合预期的也是平常开发代码的方式还是非常简单的。六、观察者模式重构代码接下来使用观察者模式来进行代码优化也算是一次很小的重构。1. 工程结构itstack观察者模式模型结构从上图可以分为三大块看事件监听、事件处理、具体的业务流程另外在业务流程中 LotteryService 定义的是抽象类因为这样可以通过抽象类将事件功能屏蔽外部业务流程开发者不需要知道具体的通知操作。右下角圆圈图表示的是核心流程与非核心流程的结构一般在开发中会把主线流程开发完成后再使用通知的方式处理辅助流程。他们可以是异步的在MQ以及定时任务的处理下保证最终一致性。2. 代码实现2.1 事件监听接口定义public 接口中定义了基本的事件类这里如果方法的入参信息类型是变化的可以使用泛型T2.2 两个监听事件的实现短消息事件public MQ发送事件public 以上是两个事件的具体实现相对来说都比较简单。如果是实际的业务开发那么会需要调用外部接口以及控制异常的处理。同时我们上面提到事件接口添加泛型如果有需要那么在事件的实现中就可以按照不同的类型进行包装事件内容。2.3 事件处理类public 整个处理的实现上提供了三个主要方法订阅(subscribe)、取消订阅(unsubscribe)、通知(notify)。这三个方法分别用于对监听时间的添加和使用。另外因为事件有不同的类型这里使用了枚举的方式进行处理也方便让外部在规定下使用事件而不至于乱传信息(EventType.MQ、EventType.Message)。2.4 业务抽象类接口public 这种使用抽象类的方式定义实现方法可以在方法中扩展需要的额外调用。并提供抽象类abstract LotteryResult doDraw(String uId)让类的继承者实现。同时方法的定义使用的是protected也就是保证将来外部的调用方不会调用到此方法只有调用到draw(String uId)才能让我们完成事件通知。此种方式的实现就是在抽象类中写好一个基本的方法在方法中完成新增逻辑的同时再增加抽象类的使用。而这个抽象类的定义会有继承者实现。另外在构造函数中提供了对事件的定义eventManager.subscribe(EventManager.EventType.MQ, new MQEventListener())。在使用的时候也是使用枚举的方式进行通知使用传了什么类型EventManager.EventType.MQ就会执行什么事件通知按需添加。2.5 业务接口实现类public 现在再看业务流程的实现中可以看到已经非常简单了没有额外的辅助流程只有核心流程的处理。3. 测试验证3.1 编写测试类Test 从调用上来看几乎没有区别但是这样的实现方式就可以非常方便的维护代码以及扩展新的需求。3.2 测试结果23:从测试结果上看满足 我们的预期虽然结果是一样的但只有我们知道了设计模式的魅力所在。七、总结从我们最基本的过程式开发以及后来使用观察者模式面向对象开发可以看到设计模式改造后拆分出了核心流程与辅助流程的代码。一般代码中的核心流程不会经常变化。但辅助流程会随着业务的各种变化而变化包括营销、裂变、促活等等因此使用设计模式架设代码就显得非常有必要。此种设计模式从结构上是满足开闭原则的当你需要新增其他的监听事件或者修改监听逻辑是不需要改动事件处理类的。但是可能你不能控制调用顺序以及需要做一些事件结果的返回继续操作所以使用的过程时需要考虑场景的合理性。任何一种设计模式有时候都不是单独使用的需要结合其他模式共同建设。另外设计模式的使用是为了让代码更加易于扩展和维护不能因为添加设计模式而把结构处理更加复杂以及难以维护。这样的合理使用的经验需要大量的实际操作练习而来。作者小傅哥链接人类身份验证 - SegmentFault

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/924481.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

宏重钢结构东莞网站建设nodejs做静态网站

前端调用后端接口,本域情况下,ajax方式调用,request header中包含x-requested-with信息。跨域情况下,request header中不再包含x-requested-with。说明:1.前端ajax封装的jquery的$.ajax方法。2.后端header相关设置已允…

pc端网站建设网页制作公司的服务

目录 数据类型介绍 类型的基本归类 整形家族: 浮点数家族: 构造类型: 指针类型 空类型: 整形在内存中的存储 原码、反码、补码 大小端介绍 什么大端小端: 为什么有大端和小端: 练习 浮点型在内存中的储存 一个例子 浮点数存储规则 数据类型介绍 前面我们…

汕头东莞网站建设网站的建设任务

目标:认识代码规范 代码规范:一套写代码的约定规则。例如:“赋值符号的左右是否需要空格”,"一句结束是否是要加;”等 为什么要使用代码规范? 在团队开发时,提高代码的可读性。 在创建项目时,我们选择的就是一套完整的代码…

Codeforces 1385G Columns Swaps 题解 [ 蓝 ] [ 扩展域并查集 ] [ 二分图最大权匹配 ] [ 基环树建模 ]

Columns Swaps:经典的图论问题,典中典了。 首先判掉无解,如果有一个数没有出现两次,则一定无解。在此基础上我们也可以得出一个转化:只需要保证序列 \(a_1\) 是一个排列,那么 \(a_2\) 自然也是一个排列了。 Sol.…

做网站是不是要学编程三亚市城乡建设局网站

文章目录 前言Compose应用程序模型Compose规范顶层属性servicenetworkvolumesconfigssecrets 环境变量.env文件environment属性主机shell中的环境变量 Profiles(剖面)启动剖面自动启动剖面和依赖项解析 多compose.yml文件共享与扩展构建规范构建属性 部署…

兰溪自适应网站建设特点传奇手游官网下载

(3)在 pipeline.py 文件中对数据进行存储,此程序先写 入 txt 文件中,是为了判断该程序是否能正确爬取出数据。 此处使用了 json 库,使用 ensure_ascii False,能够确 保非 ASCII 字符(如中文&am…

html5电影网站建设php网站开发电子书

背景: 接上一篇文章,ProcessWindowFunction 结合自定义触发器会有状态过大的问题,本文就使用AggregateFunction结合自定义触发器来实现,这样就不会导致状态过大的问题了 AggregateFunction结合自定义触发器实现 flink对于每个窗…

网站开发二级域名深圳企业专业网站设计

spring-boot 一款无侵入型,轻量级的接口文档生成工具apiggs 名字叫:apiggs 使用只需两步,先把插件代码引入pom文件,然后编译打包即可 之后项目的target目录下,就会多出一个apiggs的文件夹,里面便是项目cont…

vps网站设置wordpress代码高亮插件

一.属性计算、属性监听、属性过滤 1.认识MVVM V (用户视图界面)通过VM (应用程序) 向Model(数据模型) 取值与赋值的过程! 数据双向绑定 视图改变更新数据,数据改变更新视图 2.属性计算 //在vue实例中通过computed去计算new …

US$78 HU66 Clamp SN-CP-JJ-12 Work on Volkswagen Serials for SEC-E9 Key Cutting Machine

HU66 Clamp SN-CP-JJ-12 Work on Volkswagen Serials for SEC-E9 Key Cutting Machine HU66 Auxiliary fixture is suitable to copy keys for Sharon, Touareg, Phaeton, Beetle and other Volkswagen series, as wel…

US$78 HU64 Clamp Work on Benz SN-CP-JJ-11 for SEC-E9 Key Cutting Machine

SEC E9 HU64 Clamp for Benz SN-CP-JJ-11Benz serials for class C,E and GLK ,Sprinter,Viano, Vito and all new Benz improted cars (including Maybach,Lorinser and Carlsson,class in S and GL,out milling and …

杭州家具网站建设方案网站开发PHP程序员招聘

Java中主要有八种基本数据类型: 1、整型:byte、short、int、long 2、字符型:char 3、浮点型:float、double 4、布尔型:boolean 一、整型 Java中整型数据属于有符号数,即第一个bit位为0表示正整数&…

PlantUML 完整教程:从入门到精通

什么是 PlantUML PlantUML 是一个开源工具,允许用户使用简单直观的文本描述来快速创建 UML 图表。它基于纯文本语法,能够生成多种类型的图表,包括时序图、用例图、类图、活动图、组件图、状态图等。 PlantUML 的核心…

长治长治那有做网站的小程序定制开发公司平台

目录 Shell: 3.Shell命令: command [-options] arg1 arg2 .. 1.Shell基本命令: 2.文件查看命令: 3.文件查找命令: 通配符: 7.压缩解压命令: 8.让虚拟机上网: 9.apt-get工具集: Shell: 1.保护Linux内核(用户和Linux内核不直接操作,通过操作Shell,Shell和内核交互) 2.命令…

建设法规的网站网站开发者技术网站

数据结构分为逻辑结构和物理结构。 逻辑结构:指数据元素之间逻辑关系的数据结构,这里的逻辑关系是指数据元素之间的前后间关系,与数据在计算机中的存储位置无关。物理结构:指数据的逻辑结构在计算机存储空间中的存放形式称为数据…

你妈的

为什么结构图论这么难为什么结构图论这么难为什么结构图论这么难为什么结构图论这么难为什么结构图论这么难为什么结构图论这么难为什么结构图论这么难为什么结构图论这么难为什么结构图论这么难为什么结构图论这么难为…

网上书城网站开发意义网站和搜索引擎

解析class文件案例介绍本案例主要介绍通过java代码从class文件中解析;class文件、常量池、属性表;作为类(或者接口)信息的载体,每个class文件都完整地定义了一个类。为了使java程序可以“编写一次,处处运行”,Java虚拟…

开设赌场罪建设网站有什么专业做心理的网站

据悉,从2023年11月1日开始,TikTok Shop将根据卖家的店铺表现来应用3种不同类型的结算期,其中,标准结算期:资金交收期为8个日历日;快速结算期:资金交收期为3个日历日;延长结算期&…

高端品牌网站建设建议网站制作价格范围

题干&#xff1a; 给出N个正整数&#xff0c;检测每个数是否为质数。如果是&#xff0c;输出"Yes"&#xff0c;否则输出"No"。 Input 第1行&#xff1a;一个数N&#xff0c;表示正整数的数量。(1 < N < 1000) 第2 - N 1行&#xff1a;每行1个数…

有网站加金币的做弊器吗长沙创求网络科技有限公司

《微机与单片机概述课件.ppt》由会员分享&#xff0c;提供在线免费全文阅读可下载&#xff0c;此文档格式为ppt&#xff0c;更多相关《微机与单片机概述课件.ppt》文档请在天天文库搜索。1、1.微机与单片机概述1.1 微型计算机的特点和发展1.2 微机的分类与单片机1.3 微处理器、…