- 博客(51)
- 资源 (16)
- 收藏
- 关注
原创 我眼中的大数据(五)——Spark
以Spark为基础,有支持SQL语句的Spark SQL,有支持流计算的Spark Streaming,有支持机器学习的MLlib,还有支持图计算的GraphX
2023-02-04 15:16:13
1122
原创 我眼中的大数据(四)——Yarn和Hive
但是Yarn并不是随Hadoop的推出一开始就有的,Yarn作为分布式集群的资源调度框架,它的出现伴随着Hadoop的发展,使Hadoop从一个单一的大数据计算引擎,成为一个集存储、计算、资源管理为一体的完整大数据平台,进而发展出自己的生态体系,成为大数据的代名词。在Hadoop早期的时候,大数据技术就只有Hadoop一家,这个缺点并不明显。先回忆一下我们学习的MapReduce的架构,在MapReduce应用程序的启动过程中,最重要的就是要把MapReduce程序分发到大数据集群的服务器上。
2022-09-27 09:43:21
2905
5
原创 我眼中的大数据(三)——MapReduce
这次来聊聊Hadoop中使用广泛的分布式计算方案——MapReduce。MapReduce是一种编程模型,还是一个分布式计算框架。MapReduce作为一种编程模型功能强大,使用简单。运算内容不只是常见的数据运算,几乎大数据中常见的计算需求都可以通过它来实现。
2022-09-23 14:53:40
1139
原创 我眼中的大数据(二)——HDFS
Hadoop的第一个产品是HDFS,可以说分布式文件存储是分布式计算的基础,也可见分布式文件存储的重要性。如果我们将大数据计算比作烹饪,那么数据就是食材,而Hadoop分布式文件系统HDFS就是烧菜的那口大锅。这些年来,各种计算框架、各种算法、各种应用场景不断推陈出新,让人眼花缭乱,但是大数据存储的王者依然是HDFS。为什么HDFS的地位如此稳固呢?在整个大数据体系里面,最宝贵、最难以代替的资产就是数据,大数据所有的一切都要围绕数据展开。
2022-09-22 15:39:06
261
原创 我眼中的大数据(一)
在正式落地谈技术之前,先花一些篇幅说说大数据技术的发展史。我们常说的大数据技术,其实起源于Google在2004年前后发表的三篇论文,分别是分布式文件系统GFS、大数据分布式计算框架MapReduce和NoSQL数据库系统BigTable(如果大家需要可以留言给我,我可以专门解读一下)。
2022-09-21 16:19:18
2776
4
原创 聊聊秒杀系统的设计(四)
如果你第一次接触秒杀,可能还不太理解,库存100件就卖100件,在数据库里减到0就好了,这有什么麻烦的?理论上是这样,但是具体到业务场景中就没那么简单了。今天就聊聊减库存的设计,之后以高可用方案来结束秒杀设计的全部内容。
2022-09-20 13:25:48
443
1
原创 聊聊秒杀系统的设计(三)
秒杀请求在高度集中在某一个时间点。这样一来,就会导致一 个特别高的流量峰值,它对资源的消耗是瞬时的 。能够抢到商品的人数是有限的,也就是说10人和1000人发 起请求的结果都是一样的。也就是说真正开始下单时,秒杀请求并不是越多越好。
2022-09-19 14:10:58
1122
原创 聊聊秒杀系统的设计(一)
秒杀架构的核心是要构建一个高并发、强一致、高可用的分布式系统,在不同的业务和基础设施下进行权衡,设计最适合自己的秒杀系统。
2022-09-15 16:46:02
383
原创 21个常见Spring Boot面试问题
在过去的几个月里,我收到了一些关于Spring Boot面试问题的请求。在这篇文章中,我将涵盖21个Spring Boot面试问题。此外,我还将介绍一些与微服务体系结构相关的问题。我将这些Spring Boot面试问题分为三类——针对新手、中级和有经验的开发人员。1. Spring Boot是什么?它在Web应用程序开发中有什么用处?Spring Boot是一个构建在Spring framework之上的框架,用于快速应用程序开发。同样,Ruby on Rails、Django与Python的w
2021-03-16 09:21:09
4388
原创 如何将IHttpHandler和IHttpModule迁移到ASP.NET Core中间件
ASP.NET Core是一个跨平台、开源的框架,用于在Windows、Mac和Linux操作系统(OS)上开发web应用程序。你可以使用以下任何IDE开发ASP.NET Core 应用程序:Visual Studio Visual Studio for Mac Visual Studio Code在这篇博文中,我们将学习如何如何将asp.net IHttpHandler和IHttpModule迁移到ASP.NET Core中间件并提供代码示例。让我们开始吧!ASP.NET IHttpHa
2021-02-26 09:01:33
692
原创 喜忧参半的SQL Server触发器
SQL Server触发器在非常有争议的主题。它们能以较低的成本提供便利,但经常被开发人员、DBA误用,导致性能瓶颈或维护性挑战。本文简要回顾了触发器,并深入讨论了如何有效地使用触发器,以及何时触发器会使开发人员陷入难以逃脱的困境。虽然本文中的所有演示都是在SQL Server中进行的,但这里提供的建议是大多数数据库通用的。触发器带来的挑战在MySQL、PostgreSQL、MongoDB和许多其他应用中也可以看到。什么是触发器可以在数据库或表上定义SQL Server触发器,它允许代码在发
2021-02-25 08:55:27
1063
原创 你应该问面试官的10个相关问题
如果你曾经经历过面试,那么一定听到过面试官的这句话——你有什么问题要问吗?事实上,面试官希望你能问一些有价值的问题来确定你对这份工作的兴趣和热情。此外,向面试官提出相关问题不仅能给你留下良好的印象,还能帮助你了解一些对公司有用的见解,比如公司的环境、你的日常任务、未来的机会等等。然而,在面试过程中,你可以在脑海中想出各种各样的问题,但是在面试前准备好几个问题会增强你的信心,让你在其他求职者中有优势。现在你一定在想——在面试中应该问哪些有影响力的问题?不用担心,在这篇文章中,我们会告诉你几个最受欢迎的问题
2021-02-24 08:38:44
4496
原创 SQL Server中DELETE和TRUNCATE的区别
DELETE和TRUNCATE语句之间的区别是求职面试中最常见的问题之一。这两条语句都可以从表中删除数据。然而,也有不同之处。本文将重点讨论这些差异,并通过实例加以说明。 TRUNCATE DELETE 从表中删除所有记录。我们不能使用WHERE删除特定的记录 删除所有记录,并可以使用WHERE删除特定记录。 不触发DELETE触发器。 触发DELETE触发器 重置标
2021-02-23 09:11:58
1172
原创 在.NET中使用Apache Kafka(一)
曾经在你的应用程序中使用过异步处理吗?在处理不需要立即执行的任务时,异步代码似乎是不可避免的。Apache Kafka是最常用和最健壮的开源事件流平台之一。许多公司和开发者利用它的强大功能来创建高性能的异步操作,用于微服务的数据集成,以及用于应用程序健康指标的监控工具。这篇文章解释了在.NET应用程序中使用Kafka的细节,还展示了如何在Windows操作系统上安装及使用。它是如何工作的当今世界,数据正在以指数形式增长。为了容纳不断增长的数据,Kafka这样的工具应运而生,提供了健壮而令人印象深刻
2021-02-22 08:52:06
893
原创 聊聊ASP.NET Core中的配置
作为软件开发人员,我们当然喜欢一些可配置选项,尤其是当它允许我们改变应用程序的行为而无需修改或编译我们的应用程序时。无论你是使用新的还是旧的.NET时,可能希望利用json文件的配置。在这篇文章中,我们将探讨读取配置所需的必要步骤以及使用这些值。.NET的配置历史对于那些ASP.NET老兵,你可能还记得wen.config。虽然它没有完全被抛弃,但它在ASP.NET Core中扮演着不那么重要的角色。web.config是一个基于XML的文件,用于配置IIS的主机环境。在这个文件中,我们可以放置应
2021-02-20 09:14:48
214
原创 如何在ASP.NET Core中编写高效的控制器
通过遵循最佳实践,可以编写更好的控制器。所谓的“瘦”控制器(指代码更少、职责更少的控制器)更容易阅读和维护。而且,一旦你的控制器很瘦,可能就不需要对它们进行太多测试了。相反,你可以专注于测试业务逻辑和数据访问代码。瘦控制器的另一个优点是,它更容易维护控制器的多个版本。这篇文章讨论了使控制器变胖的坏习惯,然后探索了使控制器变瘦和易于管理的方法。我列出编写控制器的最佳实践可能并不全面,但我已经讨论了最重要的一些,并在适当的情况下提供了相关的源代码。在接下来的几节中,我们将研究什么是胖控制器,为什么它是一种
2021-02-19 08:58:23
205
翻译 如何在ASP.NET Core 中使用IHttpClientFactory
利用IHttpClientFactory可以无缝创建HttpClient实例,避免手动管理它们的生命周期。当使用ASP.Net Core开发应用程序时,可能经常需要通过HttpClient调用WebAPI的方法以检查终结点是否正常工作。要实现这一点,通常需要实例化HttpClient并使用该实例来调用你的方法。但是直接使用HttpClient也有一些缺点,主要与手动管理实例的生命周期有关。你可以使用IHttpClientFactory创建HttpClient来避免这些问题。IHttpClientFa
2021-02-18 09:03:47
868
翻译 如何在JavaScript中使用localStorage
如果你是一名开发人员,想要进入到.NET的世界,你需要知道都有哪些可能。由于.NET Framework是.NET生态系统中最流行的技术,你可以用它来构建各种各样的应用程序,但是最近,出现了一些新的东西,比如 .NET Core 和.NET Standard library。我们可以在项目或构建中使用它吗?localStorage对象是web编程中应用最广泛的对象之一。它提供了在用户计算机上本地存储键值对的简单解决方案。大多数web开发人员都喜欢localStorage API,因为它具有简单的语法
2021-02-03 09:03:58
478
翻译 使用JWT创建安全的ASP.NET Core Web API
在本文中,你将学习如何在ASP.NET Core Web API中使用JWT身份验证。我将在编写代码时逐步简化。我们将构建两个终结点,一个用于客户登录,另一个用于获取客户订单。这些api将连接到在本地机器上运行的SQL Server Express数据库。JWT是什么?JWT或JSON Web Token基本上是格式化令牌的一种方式,令牌表示一种经过编码的数据结构,该数据结构具有紧凑、url安全、安全且自包含特点。JWT身份验证是api和客户端之间进行通信的一种标准方式,因此双方可以确保发送/接
2021-01-30 10:58:58
472
翻译 如何创建一个验证请求的API框架
开发一款成功软件的关键是良好的架构设计。优秀的设计不仅允许开发人员轻松地编写新功能,而且还能丝滑的适应各种变化。好的设计应该关注应用程序的核心,即领域。不幸的是,这很容易将领域与不属于这一层的职责混淆。每增加一个功能,就会使理解核心领域变得更加困难。同样糟糕的是,将来就更难重构了。因此,保护领域层不受应用程序逻辑影响是很重要的。其中一个优化是对传入请求的验证。为了防止验证逻辑渗透到领域级别,我们希望在请求到达领域级别之前验证请求。在这篇文章中,我们将学习如何从领域层中提取验证。在我们开始之
2021-01-28 08:48:49
2239
翻译 关于Vue v-model你需要知道的一切
v-model是Vue的一个指令,它提供了input和form数据之间或两个组件之间的双向数据绑定。这在Vue开发中是一个简单的概念,但是v-model的真正威力需要一些时间才能理解。到本教程结束时,你将了解v-model的所有不同用例,并学习如何在自己的项目中使用它。准备好了吗?我也是。让我们编写代码。什么是v-model?正如我们刚才讨论的,v-model是一个我们可以在模板代码中使用的指令。指令是一个模板令牌,它告诉Vue我们想要如何处理DOM。v-model告诉Vue我
2021-01-27 09:02:31
424
翻译 微服务中的机器学习
介绍现在,等待数据进入最终的数据存储(如HDFS或S3)是不合理的。在机器学习和深度学习模型再训练之前,它需要用于分类或模型执行。数据必须立即可用,以令人难以置信的速度从每个云中的设备、网关、日志、web应用程序、移动应用程序、区块链节点等。这种不断变化的、快速的数据需要更灵活的方式来利用它。需要的不仅仅是简单的SQL分析随着数据变得与如此多的用例相关——从物联网、网络安全、日志分析到SQL变化数据捕获等等——我们将发现将机器学习执行推向各个领域的必要性。每天都有一位客户向我提出.
2021-01-26 09:48:37
487
翻译 Java程序员的15个Spring Cloud面试问题和答案
大家好,如果你正在准备Java和Spring Boot面试,并寻找一些Spring Cloud面试的问题,那么你来对地方了。这些问题对于在面试前复习SpringCloud的基本概念很有帮助。今天是云计算的世界,大多数新的Java开发都是在云上进行的,比如AWS、GCP和Azure。这就是为什么对于Java开发人员来说,学习云以及支持Java本地云开发的框架和库是非常重要的,比如Spring project中的Spring cloud。Spring是一个功能强大的框架,可能是最流行的Java框架.
2021-01-25 09:03:20
514
翻译 使用.net中的API网关模式封装微服务
在本文中,我们将了解如何使用API网关模式来封装微服务并抽象出底层实现细节,从而允许使用者拥有进入我们系统的一致入口点。为了构建和测试我们的应用程序,我们需要:1.Visual Studio 20192..NET Core 5 SDK由于微服务是一个相当复杂的主题,在我们进入下一节的代码之前,让我们花点时间解释一下基础知识。微服务是一种架构风格,因此这种风格的实现可能会有很大的差异,并且经常是一个备受争议的话题。然而,大多数专家认为微服务具有以下属性:松散耦合 容易维护 独立部署
2021-01-21 09:46:47
372
翻译 Vue开发人员的7个最好的VS Code扩展
在Visual Studio中添加正确的VS Code扩展可以让你作为开发者的生活变得更加轻松。它们可以帮助格式化、可伸缩性、强制执行最佳实践,从而自动化开发过程中许多容易忘记的任务。它们也可以只是有趣的扩展,使我们的代码看起来更漂亮/更容易编写。作为一个Vue爱好者,我花了很多时间为Vue开发人员寻找最好的VS Code扩展。这里有一些让我的生活变得如此简单的方法。准备好了吗?让我们直接切入正题。Vetur如果你从这篇文章中下载了一个VS Code扩展,它一定是Vetur。
2021-01-20 09:01:20
639
翻译 改进你的c#代码的5个技巧(四)
像每一篇文章一样,我会重复几行。我在我的Core i3 CPU、4GB主内存和Windows 7平台上测试了以下代码。如果你在不同的硬件配置或使用不同的平台,那么你的输出可能会随着我的输出屏幕而变化,并且输出可能会根据当前运行的进程而变化。由于所有的点都是性能测试,我已经在发布模式下对它们进行了测试,并在一个稳定的情况下对所有代码进行了截图。让我们从第一条建议开始。如何检查代码中的空字符串?在这一点上,我将向你展示三种空或空字符串检查样式。我希望你熟悉所有的风格,但可能不熟悉他们的表现。让我们从
2021-01-19 10:54:33
259
翻译 .NET 5网络操作的改进
随着.net 5在11月的发布,现在是谈论网络栈中许多改进的好时机。这包括对HTTP、套接字、与网络相关的安全性和其他网络通信的改进。在这篇文章中,我将重点介绍一些版本中更有影响力和更有趣的变化。HTTP更好的错误处理自从.net 3.1发布以来,HTTP领域进行了许多改进和修复。当使用HttpClien时,最受关注的是添加如何区分超时和取消。最初,不得不使用自定义的CancellationToken区分超时和取消:class Program{ private static .
2021-01-18 09:30:28
583
翻译 C#中的异步和多线程
许多开发人员对异步代码和多线程以及它们的工作原理和使用方法都有错误的认识。在这里,你将了解这两个概念之间的区别,并使用c#实现它们。我:“服务员,这是我第一次来这家餐厅。通常需要4个小时才能拿到食物吗?”服务员:“哦,是的,先生。这家餐厅的厨房里只有一个厨师。”我:“……只有一个厨师吗?”服务员:“是的,先生,我们有好几个厨师,但每次只有一个在厨房工作。”我:“所以其他10个穿着厨师服站在厨房里的人……什么都不做吗?厨房太小了吗?”服务员:“哦,我们的厨房很大,先生。”我:“那为
2021-01-16 09:06:09
748
翻译 ASP.NET Core中的数据保护
在这篇文章中,我将介绍ASP.NETCore 数据保护系统:它是什么,为什么我们需要它,以及它如何工作。为什么我们需要数据保护系统?数据保护系统是ASP.NET Core使用的一组加密api。加密必须由不受信任的第三方处理的数据。这方面的典型例子是身份验证cookie。cookie是在请求之间持久化状态的一种方法。你不希望每次向服务器请求时都必须提供用户名和密码,这将非常麻烦!相反,只需向服务器提供一次凭据。服务器验证你的详细信息,并发出一个cookie,表明“他不需要提供任何其他证明.
2021-01-16 08:45:07
423
1
翻译 改进你的c#代码的5个技巧(三)
本文完全独立于前两篇文章。如果你喜欢它们,我希望你也会喜欢这个。在上一篇文章中,我展示了哪种方法更快,并比较了代码的执行速度。在本文中,我将展示不同代码片段的内存消耗情况。为了显示内存映射和分配图,我使用了CLR profiler 32位版本,和往常一样,我在Windows平台上使用了4GB RAM和Core i3 CPU。内存消耗或分配图可能根据系统运行的进程而变化。因此,如果你得到一个不同的输出或行为的代码,那么请与我们分享你的经验。让我们开始“改进c#代码的5个技巧:第3部分”的旅程。Str
2021-01-15 08:45:26
216
翻译 在.NET Core中使用Channel(三)
到目前为止,我们一直在使用所谓的“Unbounded”通道。你会注意到,当我们创建通道时,我们这样做:var myChannel = Channel.CreateUnbounded<int>();但实际上,我们可以这样做:var myChannel = Channel.CreateBounded<int>(1000);这与创建容量有限的列表或数组等其他集合类型并无太大差别。在我们的示例中,我们创建了一个最多容纳1000项的Channel。但为什么要限制自己呢?这就
2021-01-11 09:11:55
1240
翻译 在.NET Core中使用Channel(二)
在我们之前的文章中,看了一些非常简单的例子来说明Channel是如何工作的,我们看到了一些非常漂亮的特性,但大多数情况下它与其他某某Queue实现非常相似。让我们进入一些更高级的话题。我说的是高级,但其中很多都非常简单。读/写分离如果你曾经在两个类之间共享队列,你就会知道任何一个类都可以读/写,即使它们本不应该这样做。例如:class MyProducer{ private readonly Queue<int> _queue; public MyProdu
2021-01-09 10:07:34
882
翻译 在.NET Core中使用Channel(一)
我最近一直在熟悉.net Core中引入的新Channel<T>类型。我想在它第一次发布的时候我了解过它,但是有关文章非常非常少,我不能理解它们与其他队列有什么不同。在使用了一段时间后,我终于看到了它们的吸引力和真正的力量。最值得注意的是大型异步后台操作,这些操作几乎需要双向通信来同步它们正在做的事情。这句话有点拗口,但希望在本系列文章结束时,你会清楚什么时候应该使用Channel<T>,什么时候应该使用一些更基本的东西,比如Queue<T>。Channel是什
2021-01-08 09:13:07
1593
翻译 将WCF迁移到gRPC
使用protobuf-net.Grpc将WCF服务迁移到gRPC非常简单。在这篇博文中,我们将看看它到底有多简单。微软关于将WCF服务迁移到gRPC的官方指南只提到了Gooogle.Protobuf方式,如果你有很多数据契约需要迁移到.proto格式,这可能会很耗时。然而,通过使用protobuf-net.Grpc我们能够重用旧的WCF数据契约和服务契约,而只需要做最小的代码更改。迁移数据契约和服务契约在本节中,我们将使用一个简单的请求响应的组合服务,它可以让你下载给定交易者的单个投资组合或所.
2021-01-07 09:25:24
609
翻译 改进你的c#代码的5个技巧(二)
在本文中,我将向你展示c#编程的5个最佳实践。我从日常编程经验中学到了这些实践。我在release模式下测试了所有的代码,并在开发环境稳定后进行了截屏。我想你会喜欢这些建议的。在使用数据类型之前选择它对于许多类型,我们宁愿不决定在日常编程生活中使用什么数据类型。就在几个月前,我也是其中之一。但是当我开始学习编程中的最佳实践以提高代码性能时,我了解到了错误的数据类型是如何影响代码的。我将展示一个演示来证明这个概念。static void Main(string[] args) {
2021-01-06 08:47:10
225
翻译 在大型软件项目中如何处理错误和异常
在本文中,我将向你展示c#编程的5个最佳实践。我从日常编程经验中学到了这些实践。我在release模式下测试了所有的代码,并在开发环境稳定后进行了截屏。我想你会喜欢这些建议的。在使用数据类型之前选择它对于许多类型,我们宁愿不决定在日常编程生活中使用什么数据类型。就在几个月前,我也是其中之一。但是当我开始学习编程中的最佳实践以提高代码性能时,我了解到了错误的数据类型是如何影响代码的。我将展示一个演示来证明这个概念。static void Main(string[] args) {
2021-01-05 09:39:39
277
翻译 改进你的c#代码的5个技巧(一)
亲爱的读者,在这篇文章中,我提供了一些c#编程的最佳实践。你是否在用户输入验证中使用异常处理机制?如果是,那么你就是那个把你的项目执行速度降低了62倍的人。你不相信我吗?等几分钟;我来教你怎么做。但是在这个例子之前,让我们了解一下在什么地方需要异常处理。例如,你正在验证用户的数据,对于任何无效的输入,你将引发一个异常并将其抛出给客户端,如下所示:class BusinessLogcCheck { public void Check() {
2021-01-04 09:16:12
199
VMD变分模态分解算法
2020-09-02
网页离线google卫星地图
2020-05-30
良田高拍仪浏览器demo兼容chrome
2019-12-19
MySQLBackupFTP
2018-11-14
GoodSync Enterprise
2018-11-14
Aspose Word使用总结
2018-07-05
TensorFlow C#使用Demo
2018-07-05
30B+D线路拨号接口实例
2018-04-10
信息系统项目管理师历年真题(含上午题、案例分析、论文)试题和答案
2018-04-10
信息系统项目管理师教程(清华)
2018-04-10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人