函数式编程

独泪了无痕10 小时前
后端·函数式编程
Optional 使用指南:彻底告别 NPE到目前为止,臭名昭著的 NullPointerException 是导致 Java 应用程序失败的最常见原因。以前,为了解决空指针异常,Google公司著名的Guava项目引入了 Optional 类,Guava 通过使用检查空值的方式来防止代码污染,它鼓励程序员写更干净的代码。受到 Google Guava 的启发,Optional 类已经成为 Java 类库的一部分。
doodlewind6 天前
typescript·编程语言·函数式编程
通过 TypeScript 类型体操学习日语语法尽管一个用于人类交流,一个服务于机器指令,自然语言和编程语言却共享着相似的基本原理。两者均由语法规则、结构限制和组合方式所定义。
谦谦橘子13 天前
前端·javascript·函数式编程
rxjs原理解析rxjs是一个函数式编程的工具库,即推崇纯函数的开发理念。纯函数的概念这里不过多展开,读者可以自行查阅。简单理解就是不依赖this,稳定的输入输出。
桦说编程1 个月前
后端·函数式编程
【硬核总结】如何轻松实现只计算一次、惰性求值?良性竞争条件的广泛使用可能超过你的想象!String实际上是可变的?惰性求值和单次计算是两种优化策略,常常结合使用以提高程序的效率。惰性求值推迟计算直到结果确实需要,避免不必要的资源消耗;单次计算则确保结果一旦计算后可重复使用,避免重复计算。两者结合能实现按需加载和高效复用,广泛应用于函数式编程、大数据处理等领域。
Oberon2 个月前
数学·函数式编程·λ演算
从零开始的函数式编程(2) —— Church Boolean 编码[!quote] 关于λ表达式…… 详见λ表达式⚠ 本文导出自Obsidian,可能存在格式偏差(例如链接、Callout等) 本文地址:https://www.cnblogs.com/oberon-zjt0806/p/18710283
桦说编程2 个月前
java·性能优化·函数式编程·并发编程
CompletableFuture 超时功能有大坑!使用不当直接生产事故!本文未经允许禁止转载!上一篇文章《如何实现超时功能(以CompletableFuture为例)》中我们讨论了 CompletableFuture 超时功能的具体实现,从整体实现来说,JDK21前的版本有着内存泄露的bug,不过很少对实际生产有影响,因为任务的编排涉及的对象并不多,少量内存泄露最终会被回收掉。从单一功能内聚的角度来说,超时功能的实现是没有问题;然而由于并发编程的复杂性,可能会出现 Delayer 线程延迟执行的情况。本文将详细复现与讨论 CompletableFuture 超时功能的大坑,同
桦说编程2 个月前
java·性能优化·函数式编程·并发编程
如何安全发布 CompletableFuture ?Java9新增方法分析本文未经允许禁止转载。JDK9 中对于CompletableFuture做了新的增强,除了超时功能(orTimeout),还有面向继承、安全发布等相关方法。本文中,我们将详细分析各个新增方法,同时说明其安全发布的重要性,最后提出相关的实践原则。
桦说编程2 个月前
java·性能优化·函数式编程·并发编程
【异步编程实战】如何实现超时功能(以CompletableFuture为例)由于网络波动或者连接节点下线等种种问题,对于大多数网络异步任务的执行通常会进行超时限制,在异步编程中是一个常见的问题。本文主要讨论实现超时功能的基本思路以及CompletableFuture(之后简称CF)是如何通过代码实现超时功能的。
鱼樱前端3 个月前
vue.js·前端框架·函数式编程
Vue3之ref 实现源码深度解读Ref 是一种用于创建响应式引用的接口。它通过 value 属性来获取和设置内部值。当内部值发生变化时,依赖它的计算或组件会 automatisch 重新渲染。
RJiazhen3 个月前
前端·函数式编程
前端项目中的函数式编程初步实践相信大部分程序员这几年都或多或少听说过函数式编程(Functional Programming, 以下简称FP),而我生产开发中也通过践行FP的思想获益良多,借此文聊聊我所认为的前端项目中应该如何使用FP。
再思即可4 个月前
算法·lisp·函数式编程·sicp·scheme
sicp每日一题[2.77]Louis Reasoner tries to evaluate the expression (magnitude z) where z is the object shown in Figure 2.24. To his surprise, instead of the answer she gets an error message from apply-generic, saying there is no method for the operation magnitude on the typ
桦说编程4 个月前
后端·设计模式·函数式编程
把 CompletableFuture 当做 monad 使用的潜在问题与改进笔者在上一篇文章中分析了单子(Monad) 的一些特点和使用场景。实际上,Java 中 CompletableFuture 也可以当做 monad 使用:忽略CompletableFuture 提供的额外写操作(如complete,obtrudeValue等) ,我们知道 CompletableFuture 支持 completedFuture, thenApply, thenCompose 操作,这类操作实际上对应于Future monad 中定义的方法 pure, map, flatMap,此时Com
蜗牛快跑2134 个月前
前端·函数式编程·面向对象编程
面向对象编程 vs 函数式编程编程范式主要分为面向对象编程(Object-Oriented Programming,简称OOP)和函数式编程(Functional Programming,简称FP)。理解这两种编程范式,有助于我们选择合适的方式来解决问题,提高代码的可维护性和扩展性
大福是小强5 个月前
kotlin·函数式编程·lambda·语法·运算符重载·扩展函数
002-Kotlin界面开发之Kotlin旋风之旅在学习Compose Desktop中,以下Kotlin知识是必须的:在Kotlin中,使用val和var关键字来声明变量。val声明的变量是只读的,一旦赋值就不能再修改;var声明的变量是可变的。
再思即可5 个月前
算法·lisp·函数式编程·sicp·scheme
sicp每日一题[2.63-2.64]Each of the following two procedures converts a binary tree to a list.
老章学编程i5 个月前
java·开发语言·函数式编程·1024程序员节·lanmbda
Java函数式编程如果一个接口中只有一个抽象方法,且抽象方法的参数和返回类型与lambda表达式的参数和返回结果一致,那么就可以将接口类型作为lambda表达式的函数对象类型
安冬的码畜日常5 个月前
开发语言·javascript·ecmascript·函数式编程·js·functional·原生js
【玩转 JS 函数式编程_014】4.1 JavaScript 纯函数的相关概念(下):纯函数的优势(详见本专栏 【第 012 篇】 )(详见本专栏 【第 012 篇】 及 【第 013 篇】)纯函数的主要优点在于其没有副作用。调用纯函数时,除了对其传参外,无需担心任何事情。更重要的是,由于纯函数只对您提供的内容起作用,而与其他外部资源无关,从而可以确保函数不会产生任何问题或破坏任何原有逻辑。这还不是纯函数的唯一优势,本节将介绍纯函数的更多知识。
Dylanioucn6 个月前
java·开发语言·函数式编程
【编程进阶知识】Java 8 函数式编程接口全解析:Supplier、Runnable、Function、Consumer、Apply摘要: 在Java 8中,函数式编程接口如Supplier、Runnable、Function、Consumer和Apply(可能指BiFunction)在java.util.function包中扮演着重要角色。本文将深入探讨这些接口的区别、用途以及如何在实际编程中应用它们。通过具体的例子和代码片段,读者将学会如何在函数式编程中使用这些接口,以及如何将它们应用于CompletableFuture等场景中。文章最后,我们将以一个Excel表格的形式总结这些接口,并鼓励读者在评论区分享他们的见解和经验。
矢心6 个月前
前端·javascript·函数式编程
函数式编程---js的链式调用理解与实现方法链式调用是指在一个对象上连续调用多个方法,每个方法都返回当前对象,以便可以继续调用下一个方法。这种方式可以使代码看起来更加流畅和自然,就像在阅读一个句子一样,并且便于代码的维护和扩展
安冬的码畜日常6 个月前
开发语言·前端·javascript·函数式编程·tdd·fp·jasmine
【玩转 JS 函数式编程_006】2.2 小试牛刀:用函数式编程(FP)实现事件只触发一次前言 上一篇围绕【如何只让事件逻辑触发一次】给出的 7 种实现方案都不甚理想,这一节来看看函数式的解法究竟有何高明之处。