网站建设方面的文章WordPress手机缩略图设置

web/2025/10/4 15:52:14/文章来源:
网站建设方面的文章,WordPress手机缩略图设置,官网站内推广内容,网站开发学徒工作如何这是称为“ Functional Java by Example”的系列文章的第3部分。 我在本系列的每个部分中发展的示例是某种“提要处理程序”#xff0c;用于处理文档。 在前面的部分中#xff0c;我从一些原始代码开始#xff0c;并应用了一些重构来描述“什么”而不是“如何”。 为了帮助… 这是称为“ Functional Java by Example”的系列文章的第3部分。 我在本系列的每个部分中发展的示例是某种“提要处理程序”用于处理文档。 在前面的部分中我从一些原始代码开始并应用了一些重构来描述“什么”而不是“如何”。 为了帮助代码向前发展我们需要摆脱良好的java.lang.Exception 。 免责声明我们实际上无法摆脱它这就是其中的内容。 如果您是第一次来这里最好从头开始阅读。 它有助于了解我们从何处开始以及如何在整个系列中继续前进。 这些都是这些部分 第1部分–从命令式到声明式 第2部分–讲故事 第3部分–不要使用异常来控制流程 第4部分–首选不变性 第5部分–将I / O移到外部 第6部分–用作参数 第7部分–将失败也视为数据 第8部分–更多纯函数 我将在每篇文章发表时更新链接。 如果您通过内容联合组织来阅读本文请查看我博客上的原始文章。 每次代码也被推送到这个GitHub项目 。 快速了解异常 自Java 1.0以来我们的java.lang.Exception一直存在-基本上在好时机和其他时候成为我们的敌人。 关于它们的讨论不多但是如果您想阅读一些资源这是我的最爱 Java异常 JavaWorld Java例外– GeeksforGeeks geeksforgeeks.org 9种处理Java中异常的最佳实践 stackify.com 异常处理的最佳实践 onjava.com Java异常面试问答 journaldev.com 带有示例的Java中的异常处理 beginnersbook.com Java异常处理Try-catch hackerrank.com 十大Java异常处理最佳实践– HowToDoInJava howtodoinjava.com Java中的异常处理和断言– NTU ntu.edu.sg 异常处理最佳实践指南 dzone.com 在Java中处理异常的9种最佳实践 dzone.com 修复7个常见Java异常处理错误 dzone.com Java惯例-已检查异常与未检查异常 javapractices.com Java中异常的常见错误 MikaelStåldal的技术博客 staldal.nu Java开发人员在使用异常时犯的11个错误 medium.com/rafacdelnero 检查异常是好是坏 JavaWorld 检查异常Java的最大错误 精简Java literatejava.com 未经检查的异常-争议 docs.oracle.com 已检查异常的麻烦 artima.com Java例外您可能做错了 dzone.com Java理论与实践异常辩论– IBM ibm.com Java的检查异常是一个错误这是我想做的 radio-weblogs.com Buggy Java代码Java开发人员犯的十大最常见错误 Toptal toptal.com 您已经在Java 8上了吗 生活变得好多了 我… 呃…哦等等。 Java输入流的错误处理– Javamex javamex.com 在Java流中处理检查的异常 oreilly.com JDK 8流中的异常处理 azul.com 带有异常的Java 8功能接口 slieb.org 重新打包流中的异常– blog CodeFX blog.codefx.org 如何在Java 8 Stream中处理异常 –堆栈溢出 stackoverflow.com 检查异常和流| Benji的博客 benjiweber.co.uk 一个关于检查异常和Java 8 Lambda表达式的 故事 javadevguy.wordpress.com– 很好的战争故事 hgwood / java8-streams-and-exceptions github.com … 好的看来您不可能正确地做到这一点。 至少阅读上述名单后我们现在完全取决于对速度的话题55357;56898; 幸运的是我不必再写一篇博客文章介绍上面的文章已经涵盖了95的内容但是在这里我将重点讨论代码中实际存在的一个Exception 55357;56898; 副作用 既然您正在阅读这篇文章您可能会对为什么这一切都与函数式编程有关感兴趣。 在以更“实用的方式”处理代码的过程中您可能会遇到“副作用”一词这是一件“坏事”。 在现实世界中 副作用是您不希望发生的事情 您可能会说它等同于“例外”情况您会例外说明但是在函数式编程上下文中它具有更严格的含义。 维基百科有关副作用的文章说 副作用计算机科学在计算机科学中如果函数或表达式在返回范围之外修改了某些状态或与其调用函数或外界有可观察的交互作用则称该函数或表达式具有副作用。 …在函数式编程中很少使用副作用。 因此在本系列的前两篇文章之后让我们看看我们的FeedHandler代码当前的样子 class FeedHandler {Webservice webserviceDocumentDb documentDbvoid handle(ListDoc changes) {changes.findAll { doc - isImportant(doc) }.each { doc -try {def resource createResource(doc)updateToProcessed(doc, resource)} catch (e) {updateToFailed(doc, e)}}}private Resource createResource(doc) {webservice.create(doc)}private boolean isImportant(doc) {doc.type important}private void updateToProcessed(doc, resource) {doc.apiId resource.iddoc.status processeddocumentDb.update(doc)}private void updateToFailed(doc, e) {doc.status faileddoc.error e.messagedocumentDb.update(doc)}} 在一个地方我们尝试捕获异常在那儿我们循环浏览重要的文档并尝试为其创建“资源”无论是什么。 try {def resource createResource(doc)updateToProcessed(doc, resource) } catch (e) {updateToFailed(doc, e) } 在上面的代码中catch (e)是catch (Exception e) Groovy缩写。 是的这就是我们正在捕获的通用java.lang.Exception 。 可以是任何例外包括NPE。 如果createResource方法没有引发异常则将文档“ doc”更新为“已处理”否则将其更新为“失败”。 顺便说一句即使updateToProcessed也会引发异常但是对于当前的讨论我实际上只对成功创建资源感兴趣。 因此上面的代码可以工作 我已经通过单元测试来证明它:-)但是我对try-catch语句不满意。 我只对成功创建资源感兴趣而且很傻我只能提出createResource要么返回成功的资源 要么抛出异常。 抛出异常以表示出了点问题躲开闪避让调用者捕获该异常以进行处理这是为什么发明了异常的原因呢 而且比返回null更好吗 它一直在发生。 采取一些我们喜欢的框架例如JPA规范中的 EntityManager#find 啊 返回null 。 返回值 找到的实体实例如果该实体不存在则返回null 错误的例子。 函数式编程鼓励使用无副作用的方法或函数以使代码更易于理解且更易于推理。 如果某个方法仅接受某些输入并每次都返回相同的输出这使其成为一个纯函数则各种优化都可以在后台进行例如通过编译器或缓存并行化等。 我们可以再次用纯函数计算出的值替换纯函数这称为参考透明度 。 在上一篇文章中我们已经将一些逻辑提取到了自己的方法中例如下面的isImportant 。 给定相同的文档具有相同的 type属性作为输入我们每次都会获得相同的 布尔值输出。 boolean isImportant(doc) {doc.type important } 这里没有可观察到的副作用没有全局变量被突变没有日志文件被更新–它只是塞进塞出 。 因此我要说的是通过我们的传统异常与外界交互的函数很少在函数式编程中使用。 我想做得更好 。 更好 。 可选救援 正如石磊韦伯表示它 关于如何在Java中有效使用异常有不同的观点。 有些人喜欢检查异常有些人则认为这是一次失败的实验他们更喜欢独占使用未检查异常。 其他人则完全避开异常而赞成传递和返回诸如Optional或Maybe之类的类型。 好的让我们尝试一下Java 8的Optional以便发出是否可以创建资源的信号。 让我们更改我们的webservice接口和createResource方法以在Optional包装并返回我们的资源 //private Resource createResource(doc) { private OptionalResource createResource(doc) {webservice.create(doc) } 让我们更改原始的try-catch try {def resource createResource(doc)updateToProcessed(doc, resource) } catch (e) {updateToFailed(doc, e) } map 处理资源和orElseGet 处理空的可选 createResource(doc).map { resource -updateToProcessed(doc, resource)}.orElseGet { /* e - */updateToFailed(doc, e)} 很棒的createResource方法返回正确结果或者为空结果。 等一下 唯一的例外e我们需要传递到updateToFailed是走了 我们有一个空的Optional替代。 我们不能存储的原因失败的原因 -这是我们做的必要性。 可能是Optional只是表示“缺席”并且是我们此处目的不正确的工具。 出色的完成 如果没有try-catch和map-orElseGet 我确实喜欢代码开始更多地反映操作“流程”的方式。 不幸的是使用Optional更适合“得到一些东西”或“什么也没有得到”这也建议使用map和orElseGet类的名称并且没有给我们提供记录失败原因的机会。 还有什么方法能够获得成功的结果或失败的原因而仍然接近我们的阅读方式呢 Future 。 更好的是 CompletableFuture 。 CompletableFuture CF知道如何返回值这类似于Optional 。 通常CF用于将来获取值集 但这不是我们想要将其用于…的原因。 从Javadoc ……支持……在完成时触发的行动的未来。 跳动它可以表示“异常”完成 -给我机会对此采取行动。 让我们更改map和orElseGet createResource(doc).map { resource -updateToProcessed(doc, resource)}.orElseGet { /* e - */updateToFailed(doc, e)} thenAccept 处理成功并exceptionally 处理失败 createResource(doc).thenAccept { resource -updateToProcessed(doc, resource)}.exceptionally { e -updateToFailed(doc, e)} CompletableFuture#exceptionally方法接受一个带有我们实际失败原因的异常e的函数。 您可能会想 tomaytotomahto。 首先我们进行了try-catch 现在我们进行了thenAccept-exceptionally 那么有什么大不同 好吧我们显然不能摆脱特殊情况但我们现在正在像Functionalville的居民那样思考我们的方法开始成为函数 告诉我们有什么东西有事。 考虑到这是我们在第4部分中需要进行的少量重构而在第5部分中甚至更多地限制了代码中的副作用。 现在就这样 作为参考这是重构代码的完整版本。 class FeedHandler {Webservice webserviceDocumentDb documentDbvoid handle(ListDoc changes) {changes.findAll { doc - isImportant(doc) }.each { doc -createResource(doc).thenAccept { resource -updateToProcessed(doc, resource)}.exceptionally { e -updateToFailed(doc, e)}}}private CompletableFutureResource createResource(doc) {webservice.create(doc)}private boolean isImportant(doc) {doc.type important}private void updateToProcessed(doc, resource) {doc.apiId resource.iddoc.status processeddocumentDb.update(doc)}private void updateToFailed(doc, e) {doc.status faileddoc.error e.messagedocumentDb.update(doc)}} - 翻译自: https://www.javacodegeeks.com/2018/01/functional-java-example-part-3-dont-use-exceptions-control-flow.html

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

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

相关文章

网站的建设及维护的费用医院网站建设与维护题库

fluorinefx C# 版的开源rtmp服务器 - [其它资源] 版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明http://25swf.blogbus.com/logs/28529745.html fluorinefx支持的 .net 框架集有 1.1 2.0 3.5 以及 mono 1.2.4支持的东东Flex, Flash Remoting (RP…

简洁大气摄影网站在哪做网站不要钱

:构建便捷出行新体验 一、引言:探索打车系统小程序源码的重要性 在数字化快速发展的今天,打车系统小程序已成为我们日常生活中不可或缺的一部分。它以其便捷、高效的特点,极大地改变了我们的出行方式。而背后的关键,…

品牌展示型网站源码网店设计与装修的作用与意义

在这个数字化的时代,外卖小程序已经成为餐饮业的一项重要工具。在本文中,我们将通过一些简单而实用的技术代码,向您展示如何构建一个基本的外卖小程序。我们将使用微信小程序平台作为例子,但这些原理同样适用于其他小程序平台。 …

东莞想做网站找什么公司做网站实现图片自动压缩

实现这个游戏需要Easy_X 这个在我前面一篇C之番外篇爱心代码有程序教你怎么下载,大家可自行查看 然后就是需要植物大战僵尸的素材和音乐,需要的可以在评论区 首先是main.cpp //开发日志 //1导入素材 //2实现最开始的游戏场景 //3实现游戏顶部的工具栏…

dede替换网站模板电商网站的特点

在物联网(IoT)时代,随着智能设备的普及和万物互联的加速,隐私保护与数据安全成为了亟待解决的关键问题。以下是一些重要的隐私保护与数据安全策略,以确保在万物互联背景下信息的安全: 1. 加强设备安全&…

cco网站素材网站制作公司 云南

STM32 OTA-IAP设计方案 OTA是Over-the-Air的简写,即空中下载技术,通过网络远程给用户进行系统更新和升级。IAP是In Application Programming的简写,IAP是用户自己的程序在运行过程中对User Flash的部分区域进行烧写,目的是为了在…

主题网站设计欣赏dw做的网站怎么上传图片

随着网络技术的不断发展,网络安全威胁也在不断增加,勒索病毒攻击企业计算机服务器的事件时有发生,并且勒索病毒的加密形式也越来越复杂。近期,云天数据恢复中心陆续接到很多企业的求助,企业的计算机服务器遭到了mallox…

自己建设网站难不难哪个网站做不锈钢好

一、获得命令帮助 1.1、内部命令与外部命令 简单来说,在linux系统中有存储位置的命令为外部命令; 没有存储位置的为内部命令,可以理解为内部命令嵌入在linux的shell中,所以看不到。 type来判断到底为内部命令还是内部命令 [ro…

北京住房与城乡建设网站怎么查看网页源代码

在sbin文件夹下是start-all.sh可以运行的,但是到了别的文件夹下就不行了,于是想到了是文件路径问题,因为hadoop环境是和java环境一起配置的导致sbin写成了bin 解决办法: 打开.bashrc配置hadoop的环境变量 sudo vim ~/.bashrc …

古镇免费网站建设最好看免费观看高清大全猪蜜蜜剧本

适用于什么场景? 检索比较多的场景,例如学生成绩管理系统,老师对学生的成绩进行排名或查询操作 ArrayList有哪些特点? 1、ArrayList集合底层采用了数组数据结构,是Object类型 2、动态数组。ArrayList的默认初始容量…

传奇高端网站设计制作大庆网站建设优化

查看WEB服务器的连接数 https://technet.microsoft.com/en-us/sysinternals/bb897437 tcpView转载于:https://www.cnblogs.com/daishuguang/p/4973342.html

h5网站建设模板html5 网站源码

文章目录后端有关说明前端有关说明接口设计小程序注册/登录接口APP 注册/登录接口PC Web 端的注册/登录接口小程序注册/登录序列图校验 token后端有关说明 登录和注册的逻辑要独立抽取写成2个接口:注册接口、登录接口 小程序、APP、PC端的登录接口和注册接口要分开…

移动网站建设服务商重庆必去的十大景点

Android开发要点说明 商户在微信开放平台申请开发应用后,微信开放平台会生成APP的唯一标识APPID。由于需要保证支付安全,需要在开放平台绑定商户应用包名和应用签名,设置好后才能正常发起支付。 应用包名:是在APP项目配置文件And…

做拆分盘网站南充做网站略奥网络

第一道题:求有删除情况的最长回文子串 题目: 解题思路: 这个题严格意义上来说,删除了字符就谈不上回文串了,既然有删除,那估计考察的不是回文串,而是其他的,但是这个东西又有回文串的…

好网站建设公司服务子网站建设方案

分布式并发架构 微服务、Docker容器的基本原理、架构设计,以及应用场景。 缓存:Redis、Memcached、CDN、本地缓存 搜索引擎的选型:Lucene、Solr等选型与比较 应用服务器雪崩:长事务、SQL超时、同步接口引起的雪崩场景&#xff…

免费在线观看电影电视剧网站wordpress菜单对齐修改

探寻SQL的背后机制 前言 在数据领域,SQL(Structured Query Language)是一门广泛使用的语言,用于查询和处理数据。你可能已经使用过诸如MySQL、Hive、ClickHouse、Doris、Spark和Flink等工具来编写SQL查询。 每一种框架都提供了…

合肥工程建设交易中心网站国美在线网站建设费用

if语句是条件判断语句 格式为: if 条件:执行语句 elif 再一个条件:执行语句 else:执行语句注意: if 与elif后不要忘记冒号 例子: #Autor:Decade value156 value2int(input(number:)) #提示用户输入一个整数型的数字 if value1>value2: …

购物类型网站建设wordpress购物车表单

1.什么是单例模式 在一个项目中,全局范围内,某个类的实例有且仅有一个,通过这个唯一实例向其他模块提供数据的全局访问,这种模式就叫单例模式。 类中多对象的操作函数有如下几个: 构造函数 : 能够创建出一…

北京网站优化方法中山建网站多少钱

boss直聘翻页这里有个坑 问题: 无限循环中,点击下一页按钮,直到不可点击为止。 发现,在点到第5页的时候,再次点击下一页,直接就点击了页码10,导致流程直接就结束了。 在第5页进行校验&#xff0…

厦门高端网站建设关于网站开发的

总言 主要内容:传输层UDP、TCP协议基本介绍。UDP报文格式、TCP报文格式、三次握手四次挥手、TCP可靠性策略说明。 文章目录 总言8、UDP协议(传输层一)8.1、传输层预备知识8.1.1、端口号8.1.2、一些指令(netstat、pidof、xargs&am…