java技术圈 为您找到相关结果 21

模式匹配 · 傻瓜函数式编程 · 看云

## 模式匹配 模式匹配并不是什么新功能。而事实上它和函数式编程也没有什么太大的关系。它之所以常常被认为是FP的一个特性,是因为在函数式语言已经支持模式匹配很长一段时间后的今天,指令式语言是还没有这个功能。 还是直接用例子来看看什么是模式匹配吧,这是一个用Java写的Fibonacci函数: ~~~ int fib(int n) { if(n == 0) return 1; if(n == 1) return 1; return fib(n - 2) + fib(n - 1); } ~~~ 再看看用我们基于Java修改过的新语言写出来的Fibonacci函数,这种新语言就支持模式匹配: ~~~ int fib(0) { return 1; } int fib(1) { return 1; }...阅读全文

博文 2019-08-17 02:21:05 www.kancloud.cn

chrome 发送请求出现:Provisional headers are shown 提示 - 个人文章

Maldivee 129 chrome 发送请求出现:Provisional headers are shown 提示 javascript 更新于 2019-02-20 约 2 分钟 一般来说,如果看到provisional headers are shown这个提示,说明这个请求并没有发送出去。 具体原因有多种总结如下:1.请求被某些扩展如 Adblock 拦截了,请求被浏览器插件拦截。解决方案:用 chrome://net-internals 来帮助你查找被屏蔽的请求以及可能的原因。(本人发现现在这个用不了了)2.请求被墙了3.走本地缓存或者 dataurl 的请求。强缓存from disk cache或者from memory cache,此时也不会显示4.服务器出错或者超时,没有真...阅读全文

博文 2020-04-29 03:28:27 SegmentFault 思否

如何成为一名出色的产品经理?

围绕着出色的反面,还有有平庸。产品经理是一个职场人士、也是一个互联网从业者,今天出色的定义在职场中我们抛开不谈。 就产品经理一个互联网从业者,在职场、生活、以及人生态度如何算一个出色的产品经理? 我谈谈的理解。 一、出色的产品经理应该有的“互联网思维” 优秀的产品经理是什么?到底是多种硬货技能的集合体?还是一种思维方式? 可能答案层次不齐,但我认为优秀的产品经理是本身包含互联网思考方式与产品化解决需求的人。 优秀的产品经理一定不是为了产品而去设计产品,要考虑可行的商业模式。只有可行的商业模式成了固定的业务模式,才开始考虑产品进行承载,提供更好的服务、更好的体验、让用户留存,进行互联变现。 二、现在大部分的“产品经理” 那现在从业的产品经理大部分...阅读全文

scala中:: , +:, :+, :::, +++的区别

scala中:: , +:, :+, :::, +++的区别Jefffrey发布于 2016-05-08 初学scala的人都会被Seq的各种操作符所confuse。下面简单列举一下各个Seq操作符的区别。 4种操作符的区别和联系 :: 该方法被称为cons,意为构造,向队列的头部追加数据,创造新的列表。用法为 x::list,其中x为加入到头部的元素,无论x是列表与否,它都只将成为新生成列表的第一个元素,也就是说新生成的列表长度为list的长度+1(btw, x::list等价于list.::(x)) :+和+: 两者的区别在于:+方法用于在尾部追加元素,+:方法用于在头部追加元素,和::很类似,但是::可以用于pattern match ,而+:则不行. 关于+:和:+,只要记住冒号永远...阅读全文

博文 2021-02-22 07:42:28 SegmentFault 思否

HeadFirst 设计模式学习笔记8--代理模式_Java_数据库天地

1.这一节的任务是我们需要完成对上一节的糖果机产生一个机器状况和余量的报告,若这个报告在本地(不是通过Internet)生成的话,那么我们的设计就很简单了,在糖果机中加入Location的信息,并且创建一个类GumballMonitor 完成报告的生成: public class GumballMonitor { GumballMachine machine; public GumballMonitor(GumballMachine machine) { this.machine = machine; } public void report() { System.out.println("Gumball Machine: " + machine.getLocation()); System...阅读全文

博文 2020-04-21 02:18:57 CSDN博客

Spring 踩坑之@Transactional 神奇失效 - 个人文章

小鱼儿 18 Spring 踩坑之@Transactional 神奇失效 事务处理 事务 spring java 发布于 2018-04-26 引言 对于追求数据强一致性的系统,事务扮演者十分重要的角色.最近在项目中遇到一个事务失效的问题,在此分享给大家。 情景回放 ### Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLTransactionRollbackException: Lock wait timeout exceeded; try restarting transaction ; SQL []; Lock wait timeout exceeded; try restarting transaction; nested exception ...阅读全文

博文 2020-07-21 12:57:12 SegmentFault 思否

SQL四种语言:DDL,DML,DCL,TCL - Comm100 Testers

1.DDL(Data Definition Language)数据库定义语言statements are used to define the database structure or schema. DDL是SQL语言的四大功能之一。用于定义数据库的三级结构,包括外模式、概念模式、内模式及其相互之间的映像,定义数据的完整性、安全控制等约束DDL不需要commit.CREATEALTERDROPTRUNCATECOMMENTRENAME2.DML(Data Manipulation Language)数据操纵语言statements are used for managing data within schema objects. 由DBMS提供,用于让用户或程序员使用,实现对数据库中数据...阅读全文

从Lambda架构到Kappa架构再到?浅谈未来数仓架构设计~

Linked大佬Jay Kreps曾发表过一篇博客,简单阐述了他对数据仓库架构设计的一些想法。从Lambda架构的缺点到提出基于实时数据流的Kappa架构。本文将在Kappa架构基础上,进一步谈数仓架构设计。 什么是Lambda架构? 借用Jay Kreps的一张图来看,Lambda架构主要由这几部分构成:数据源(Kafka),数据处理(Storm,Hadoop),服务数据库(Serving DB)。其中数据源和服务数据库是整个架构数据的入口和出口。数据处理则是分为在在线处理和离线处理两部分。 当数据通过kafka消息中间件,进入Lambda架构后,会同时进入离线处理(Hadoop)和实时处理(Storm)两个处理模块。离线处理进行批计算,将大量T+1的数据进行汇总。而实时处理则是进行流处理...阅读全文

博文 2022-07-08 09:31:17 阿里云开发者社区

ElasticSearch备份快照到HDFS

> 编程乐园 > 编程内功 > 架构&设计模式 > ElasticSearch备份快照到HDFS-2.6(CDH5.6.0) ElasticSearch备份快照到HDFS-2.6(CDH5.6.0) 架构&设计模式 water 5年前 (2017-03-29) 3348℃ 0评论 repository-hdfs安装包的下载地址: https://oss.sonatype.org/content/repositories/snapshots/org/elasticsearch/elasticsearch-repository-hdfs/ 背景说明 由于业务需要将ES-2.2.1版本升级到ES-2.3.2版本,需要将index迁移过去,查了很多资料,最后决定用es的快照/恢复模块来实现索引迁移。...阅读全文

博文 2022-08-24 07:43:11 2.6(CDH5.6.0) – 学时网

IO设计模式:Actor、Reactor、Proactor - _raindrop

先看看io模型 先介绍两种高性能服务器模型Reactor、Proactor Reactor模型: 1 向事件分发器注册事件回调 2 事件发生 4 事件分发器调用之前注册的函数 4 在回调函数中读取数据,对数据进行后续处理 Reactor模型实例:libevent,Redis、ACE Proactor模型: 1 向事件分发器注册事件回调 2 事件发生 3 操作系统读取数据,并放入应用缓冲区,然后通知事件分发器 4 事件分发器调用之前注册的函数 5 在回调函数中对数据进行后续处理 Preactor模型实例:ASIO reactor和proactor的主要区别: 主动和被动 以主动写为例: Reactor将handle放到select(),等待可写就绪,然后调用write()写入数据;写完处理后续...阅读全文

博文 2023-02-02 04:00:37 博客园

云服务器虚拟化超分与虚机性能关系分析

本文分享自天翼云开发者社区《云服务器虚拟化超分与虚机性能关系分析》,作者:l****n虚拟化技术是云计算商业模式的基础,它也是推动云计算经济的核心技术。虚拟化是指使用虚拟化软件在计算机硬件上创建抽象层,将单个计算机的硬件元素(包括处理器、内存、存储器等)分成多个虚拟计算机 (VM), 每个 VM 都运行自己的操作系统 (OS) ,类似于独立的计算机。这样虚拟化技术能让一台服务器变成几台甚至上百台互相隔离的虚拟服务器,不再受限于物理上的界限,而是让CPU、内存、存储、I/O等硬件变成可以动态管理的“资源池”,从而提高资源的利用率,简化系统管理,实现服务器整合池化,让IT对业务的变化更具适应力。虚拟化能够提高企业资源运营效率,节约能耗,降低经济成本和空间浪费。​服务器虚拟化示意图CPU虚拟化公式...阅读全文

终端云的探索与研究

本文分享自天翼云开发者社区《终端云的探索与研究》,作者:邢****豫一、背景众所周知,传统的云计算均基于集中式的资源管控,即通过中心云提供,而随着云计算从1.0发展进入2.0的阶段,以及5G、物联网时代的到来,云计算的应用呈指数级增加趋势,集中式的中心云已经无法满足终端侧对于大连接、低时延、大宽带的云资源需求,于是产生了边缘云,即将云计算平台架构在边缘技术设施之上,算力下沉至距离端侧更近的边缘侧。边缘云的出现在一定程度上降低了响应时延、减轻云端压力、降低宽带成本,但也仍需要额外成本搭建、维护边缘基础设施和边缘节点等,这也会导致算力受限,存在瓶颈。此外我们注意到,物联网的发展极大地丰富了智能终端的类型,终端规模也在指数级不断增长,而每个终端其实都自带计算能力,且在很多时候处于闲置状态;另一方面...阅读全文

AI人人必修-提示词工程+大模型多场景实战(丰富资料)

AI人人必修-提示词工程+大模型多场景实战(丰富资料) 分享一套课程——AI人人必修-提示词工程+大模型多场景实战(丰富资料),课程包更新。 大模型是指具有大规模参数和复杂计算结构的机器学习模型。这些模型通常由深度神经网络构建而成,拥有数十亿甚至数千亿个参数。大模型的设计目的是为了提高模型的表达能力和预测性能,能够处理更加复杂的任务和数据。大模型在各种领域都有广泛的应用,包括自然语言处理、计算机视觉、语音识别和推荐系统等。大模型通过训练海量数据来学习复杂的模式和特征,具有更强大的泛化能力,可以对未见过的数据做出准确的预测。 ChatGPT对大模型的解释更为通俗易懂,也更体现出类似人类的归纳和思考能力:大模型本质上是一个使用海量数据训练而成的深度神经网络模型,其巨大的数据和参数规模,实现了智能...阅读全文

博文 2023-11-27 16:16:39 woaiwodejia333

设计模式--谈谈Reactive Programming 响应式编程_enjoy编程的博客

1. Reactive Programming 响应式编程 1.1. 什么是什么是响应式编程 维基百科的解释如下: In computing, reactive programming is an asynchronous programming paradigm concerned with data streams and the propagation of change. This means that it becomes possible to express static (e.g. arrays) or dynamic (e.g. event emitters) data streams with ease via the employed programming langu...阅读全文

博文 2023-05-11 10:10:22 CSDN博客

MVC,MVP 和 MVVM 的图示

SSY 说: 原来我一直做的是MVP呀 2015年2月 1日 11:57 | # | 引用 Simba 说: 很好。写的不错。 2015年2月 1日 11:58 | # | 引用 Ricter 说: 这么说来 Django 好像是一个 MVP 框架的样子了… 2015年2月 1日 12:50 | # | 引用 dreamers.yzy 说: MVC是单向的?不是V->C->M -> C -> V 吗? 2015年2月 1日 13:01 | # | 引用 Welkin 说: 清晰易懂 2015年2月 1日 15:51 | # | 引用 Milkman 说: 简明,真知灼见;不像市面上很多文章那般说一揉二,掺杂一起弄得复杂方显高深,骨架连肉一起乱炖,反致初学者云里雾里。 2015年2月 1日 1...阅读全文

博文 2023-12-01 16:12:47 阮一峰的网络日志

24章全-Qt 全流程实战企业级项目 - 云对象存储浏览器

![1.png](http://static.itsharecircle.com/240110/f02c8fb13dcc39d28e2d292d59c306b6.png) Qt向开发人员提供了可以轻松设计现代GUI和开发应用程序所必需的多种API。Qt可用于开发C++应用程序,也可使用Qt Quick进行开发。Qt Quick使用QML语言。QML是解释型语言,开发人员即使不熟悉C++知识,也可以用QML设计GUI。 Qt 版本说明 Qt 按照不同的版本发行,分为商业版和开源版 。 Qt 商业版为商业软件提供开发环境,它们提供传统商业软件发行版,并且提供在协议有效期内的免费升级和技术支待服务。而 Qt 开源版是为了开发自由而设计的开放源代码软件,它提供了和商业版本同样的功能,在 GNU 通用...阅读全文

OpenGL-自主高性能三维GIS平台架构与实现(第2季)

![1.png](http://static.itsharecircle.com/240102/29ce9a0267e567a05903cf2a5ad65162.png) 今天给大家讲讲关于OpenGL的知识,以及结合OpenGL自主高性能三维GIS平台架构与实现的全流程。我将从2D->2.5D->3D立体球,全程零代码到完全实现,带着大家一步步学习。 首先,我们先来看看什么是OpenGL? OpenGL(英语:Open Graphics Library,译名:开放图形库或者“开放式图形库”)是用于渲染2D、3D矢量图形的跨语言、跨平台的应用程序编程接口(API)。 OpenGL ES(OpenGL for Embedded Systems)是 OpenGL 三维图形 API 的子集,针对手...阅读全文

[完结10章]Vue3+Pinia+Vite+TS 还原高性能外卖APP项目

![1.png](http://static.itsharecircle.com/240115/bd0d0695a853ab5f0ef58f1896a02c7f.png) Vue3 带来的改变,除了其自身新特性,还有相应的技术栈变化——比如 Pinia 将逐渐替代 Vuex 。我将在本文中带领大家使用 Vue3.2 + Pinia+ Vite + TS 高仿饿了么 Web App,帮助大家掌握 Vue3“全家桶”技术栈的同时,还掌握前端性能优化的常用方法和巧用设计模式应对复杂应用场景的能力。 网上在线订餐作为手机购物的一种表现形式,采用将图片和文字内容相结合的方式将商品信息展现给用户,这个方式使用户可以查看不同来源的商品信息以及不同层次的信息,以最大程度上了解商品的具体信息,同时可以搜索距离...阅读全文

博文 2024-01-15 10:51:36 udbmaidns

【完结15章】AI人人必修-提示词工程+大模型多场景实战(丰富资料)

【完结15章】AI人人必修-提示词工程+大模型多场景实战(丰富资料) 分享一套课程——AI人人必修-提示词工程+大模型多场景实战(丰富资料),已完结15章,含配套资料。 基本的语言模型原理可以分为以下三种类型: 统计语言模型(Statistical Language Models):这种模型使用传统的统计技术来确定文本序列的概率。最简单的例子是N-gram模型,它使用一种基于词频的方法来预测下一个词语。 LLMs(Large Language Models ) Large Language Models(LLMs),也称为大型语言模型,是一种基于机器学习和自然语言处理技术的模型,它通过对大量的文本数据进行训练,来学习服务人类语言理解和生成的能力。 LLM的核心思想是通过大规模的无监督训练来学...阅读全文

博文 2024-01-23 11:23:53 haoighd6668

C++从0实现百万并发Reactor服务器[完结13章]

![1.png](http://static.itsharecircle.com/240129/bd9b789356a023d2a952390e901cfd0e.png) Reactor 模式也叫做反应器设计模式,它是一种为处理服务请求并发提交到一个或者多个服务处理程序的事件设计模式。当请求抵达后,服务处理程序使用解多路分配策略,然后同步地派发这些请求至相关的请求处理程序。 Reactor翻译过来的意思是:反应堆,所以Reactor设计模式本质是基于事件驱动的。在Reactor设计模式中,存在如下几个角色。 Handle(事件)。Reactor整体是基于Handle进行驱动,这里的Handle叫做事件,可以类比为BIO中的Socket,NIO中的Socket管道。比如当Socket管道有连接...阅读全文

Ubuntu 启动出现grub rescue

​ 一,原因 原因:出现 “grub rescue” 错误通常表示您的计算机无法正常引导到操作系统,而是进入了 GRUB(Grand Unified Bootloader)紧急模式。这可能是由于引导加载程序配置错误、硬盘驱动器损坏或其他引导问题引起的。 二,解决办法 要解决这个问题,您可以尝试以下步骤: 1,尝试使用命令查看可用的分区: 在 “grub rescue” 提示符下,您可以使用以下命令列出可用的分区和文件系统:执行 ls命令 grub rescue> ls 这将显示类似于 (hd0,msdos1) 的分区标识符列表,其中 hd0 表示第一个硬盘,msdos1 表示分区号。您需要找到包含您的 Ubuntu 安装的分区。 2.找到 grub 文件夹所在分区 如果系统的「/boot」文...阅读全文