- 博客(78)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 基于大中台架构的电商业务中台最佳实践之一:业务中台总体架构介绍
架构总原则:大中台+小前端的架构思路业务中台采用领域驱动设计(DDD),在其上构建业务能力SAAS,持续不断进行迭代演进。平台化定位,进行了业务隔离设计,方便一套系统支撑不同玩法的业务类型和便于定制化扩展。前后端分离,通过服务接入层进行路由适配转发。天然的分库分表,消息解耦和分布式缓存设计,支持弹性扩容,以支持大数据高并发场景。系统逻辑架构图:接下来将分别介...
2018-10-18 13:59:04
45922
4
翻译 使用Redis和Java进行数据库缓存
为什么数据库缓存如此重要?您在数据库中获得的信息越多,随着时间的推移它就越慢。即使是为支持许多并发请求而精心设计的数据库管理系统也将最终达到极限。数据库缓存是处理这些性能问题的最常见策略之一。缓存涉及将数据库查询的结果保存在更快,更容易访问的位置。正确完成后,缓存将减少查询响应时间,减少数据库负载并降低成本。但是,缓存也需要小心处理,因为它们实际上是在另一个位置创建另一个信息副本。保持...
2019-04-30 10:34:36
978
翻译 Python列表推导(list comprehension)VS 生成器表达式(generator expression)
你知道以下语法之间的区别吗?[x for x in range(5)](x for x in range(5))tuple(range(5))本文将向您介绍这里的区别。关于列表的5个事实首先,对列表进行简短回顾(在其他编程语言中通常称为“数组”):列表是一种可以表示为元素集合的数据。一个简单的列表如下所示:[0, 1, 2, 3, 4, 5]列表将所有可能类型的数...
2019-04-29 19:46:39
1422
翻译 10个学习Python的理由
如果你是本博客的读者,那么你可能想知道我为什么要写一篇博客来告诉人们在Java博客中学习Python?几年前我不是说更喜欢Java而不是Python吗?现在,事情发生了很大的变化。2016年,Python取代Java成为大学中最受欢迎的语言,从那时起它就再也没有回来了。Python正在不断发展壮大。如果你阅读编程和技术新闻或博客文章,那么你可能已经注意到Python的兴起,因为许多流行的开发人员社...
2019-04-27 22:52:42
995
翻译 OAuth 2.0初学者指南
本文概述了OAuth 2.0协议。它讨论了OAuth 2.0实现过程中涉及的不同参与者和步骤。介绍:OAuth代表开放授权。它是一个免费开放的协议,建立在IETF标准和Open Web Foundation的许可之上。它允许用户与第三方共享其私有资源,同时保密自己的凭据。这些资源可以是照片,视频,联系人列表,位置和计费功能等,并且通常与其他服务提供商一起存储。OAuth通过在用户批准访问权...
2019-04-26 13:55:36
694
翻译 Take Zero-Touch Approach Lock Down IoT Device 采用零接触方式锁定物联网设备
中英文模式阅读中文模式阅读英文模式阅读The demonstrated ability of hackers to penetrate IoT devices says more about the level of security of these devices than the skill of the hackers: in most cases, the affected prod...
2019-04-25 19:14:40
1321
翻译 Redis中存储亿级键值对
迁移系统时,有时你必须建立一个小脚手架。我们最近不得不这样做:在Instagram上,于遗留原因,我们需要将大约3亿张照片映射到创建它们的用户的ID,以便了解要查询的分片(请参阅有关我们的更多信息)分片设置)。虽然所有客户端和API应用程序都已更新并向我们返回 完整信息,但仍有许多人缓存的旧数据。我们需要一个解决方案:查找键并快速返回值将数据存在内存中,理想情况下是在EC2高内存类型(17G...
2019-04-24 21:00:25
1869
翻译 使用Akka实现并发
介绍我开始分配读取包含100列和10万行的CSV文件并将其写入数据库。方法1:简单的Java程序所以我从一个简单的Java程序开始,运行一个while循环直到EOF,然后进行JDBC调用来存储值。这是需要花一个小时才完成了,但后来我意识到程序的运行时比创建程序花费的时间更长。因此,任务并不像看起来那么容易。那可以做些什么呢?当然,我意识到我需要并行完成任务。方法2:线程Java程序...
2019-04-23 22:13:07
1179
翻译 Java中的不可变数据结构
作为我最近一直在进行的一些编码访谈的一部分,有时会出现不变性问题。我自己并不过分教条,但每当不需要可变状态时,我会试图摆脱导致可变性的代码,这在数据结构中通常是最明显的。然而,似乎对不可变性的概念存在一些误解,开发人员通常认为拥有final引用,或者val在Kotlin或Scala中,足以使对象不可变。这篇博客文章深入研究了不可变引用和不可变数据结构。不可变数据结构的好处不可变数据结构具有...
2019-04-19 13:51:16
705
翻译 相对不常见,但非常有用的Python技巧
交换变量值将一列表中的所有元素拼接成字符串查找list中最高频率的值检查两个单词是否是字谜(组成的字母和对应数量一致)反转字符串反转列表转置2维数组链式比较链式函数调用复制列表Dictionary Get按值排序字典For Else将列表转换为逗号分隔的字符串合并字典list中...
2019-04-18 18:29:30
621
翻译 Java创建Annotation
注解是Java很强大的部分,但大多数时候我们倾向于使用而不是去创建注解。例如,在Java源代码里不难找到Java编译器处理的@Override注解,Spring框架的@Autowired注解, 或Hibernate框架使用的@Entity 注解,但我们很少看到自定义注解。虽然自定义注解是Java语言中经常被忽视的一个方面,但在开发可读性代码时它可能是非常有用的资产,同样有助于理解常见框架(如Spr...
2019-04-17 22:56:41
770
翻译 什么是JPA?Java Persistence API简介
什么是JPA?Java Persistence API简介作为规范,Java Persistence API关注持久性,它将Java对象的创建过程和具体的创建形式解耦。并非所有Java对象都需要持久化,但大多数应用程序都会保留关键业务对象。JPA规范允许您定义应该保留哪些对象,以及如何在Java应用程序中保留这些对象。JPA本身不是一个工具或框架; 相反,它定义了一组可以由任何工具或...
2019-04-16 14:01:19
771
翻译 使用Gensim进行主题建模(二)
使用Gensim进行主题建模(二)在上一篇文章中,我们将使用Mallet版本的LDA算法对此模型进行改进,然后我们将重点介绍如何在给定任何大型文本语料库的情况下获得最佳主题数。16.构建LDA Mallet模型到目前为止,您已经看到了Gensim内置的LDA算法版本。然而,Mallet的版本通常会提供更高质量的主题。Gensim提供了一个包装器,用于在Gensim内部实现Malle...
2019-04-14 23:06:44
4871
6
翻译 The SQL vs NoSQL Difference: MySQL vs MongoDB
在选择数据库时,最大的决策之一是选择关系(SQL)或非关系(NoSQL)数据结构。虽然两者都是可行的选择,但在做出决定时必须牢记两者之间存在某些关键差异。在这里,我们分解了最重要的区别,并讨论了关系与非关系争论中的两个关键角色:MySQL和MongoDB。你的Quora问题:MongoDB死了吗?大局差异语言考虑一个小镇-我们称之为A镇,每个人都说同一种语言。所有的业务都是围绕它建立...
2019-04-13 20:24:15
733
翻译 Java XML和JSON:Java SE的文档处理 第2部分
在这篇文章中,我们将继续探索Java 11及更高版本中的XML和JSON。本文中的示例将向您介绍JSON-B,JSON绑定API for Java。在快速概述和安装说明之后,我将向您展示如何使用JSON-B来序列化和反序列化Java对象,数组和集合; 如何使用JSON-B自定义序列化和反序列化; 以及如何在序列化或反序列化期间使用JSON-B适配器将源对象转换为目标对象。这篇文章的材...
2019-04-12 13:36:33
683
翻译 使用Gensim进行主题建模(一)
主题建模是一种从大量文本中提取隐藏主题的技术。LatentDirichletAllocation(LDA)是一种流行的主题建模算法,在Python的Gensim包中具有出色的实现。然而,挑战在于如何提取清晰,隔离和有意义的高质量主题。这在很大程度上取决于文本预处理的质量以及找到最佳主题数量的策略。本教程试图解决这两个问题。内容1.简介2.先决条件 - 下载nltk停用词和spacy模...
2019-04-11 23:55:18
3466
2
翻译 一份python实用”技巧“清单(按字母顺序)
Python是世界上最受欢迎,最流行的编程语言之一。这有很多原因:它很容易学习 它是超级多用途的 它有大量的模块和库作为数据科学家的我,每天使用Python是我内在工作的一部分。在这个过程中,我学会了一些有用的技巧和心得。在这里,我尝试以A~Z顺序共享其中一些。大多数这些“技巧”是我在日常工作中使用或偶然发现的事情。一些是我在浏览Python标准库文档时发现的。另外一些是通过Py...
2019-04-08 21:21:12
1680
翻译 你究竟能用Python做什么?
中英文模式阅读中文模式阅读英文模式阅读What exactly can you do with Python? Here are Python's 3 main applications.你究竟能用Python做什么?这是Python的3个主要应用。If you're thinking of learning Python --- or if you recently s...
2019-04-04 18:17:37
2031
1
翻译 在MySQL中,不要使用“utf8”。使用“utf8mb4”
今天的错误:我试图将一个UTF-8字符串存储在MariaDB“utf8”编码的数据库中,并且引发了一个奇怪的错误:Incorrect string value: ‘\xF0\x9F\x98\x83 <…’ for column ‘summary’ at row 1这是UTF-8客户端和UTF-8服务器,位于UTF-8数据库中,具有UTF-8编码规则。字符串“
2019-04-03 22:42:48
883
翻译 Java XML和JSON:Java SE的文档处理,第1部分
XML和JSON对我很重要,我很感谢Apress允许我写一本关于它们的书。在这篇Java Q&A文章中,我将简要介绍我的新书第二版,Java XML和JSON。我还将提供两个有用的演示,如果我有足够的空间,我本来希望将其包括在书中。首先,我将向您展示如何覆盖Xalan,它是Java 11的标准XSLT实现,具有XSLT 2.0+和XPath 2.0 +兼容的替代方案,在本例中为SAXON。使用...
2019-04-02 11:13:51
775
翻译 如果Node.js已具备反向代理的功能,我为什么要使用反向代理?
这一年是2012年.PHP和Ruby on Rails作为渲染Web应用程序的最高服务器端技术而备受瞩目。但是,一个大胆的新竞争者掀起了一场风暴 - 一个能够处理1M并发连接的人。这项技术不过是Node.js,从那以后一直稳步增长。与当时大多数竞争技术不同,Node.js内置了一个Web服务器。拥有这个服务器意味着开发人员可以绕过无数的配置文件,例如文件php.ini的分层集合.htacces...
2019-04-01 20:19:58
1245
翻译 Java 12:Teeing Collector
在本文中,我们将介绍一个在Java 12中引入的新集合。这个新功能并未在官方JEP中公布,因为它是一个标题Create Collector的微小更改请求,它合并了其他两个其他collector的结果。Documentation点击这里查看Collectors#teeing官方文档。根据文档:"…returns a Collector that is a composite of two do...
2019-03-30 18:39:54
878
翻译 如何选择合适的NoSQL数据库
与传统的表格(或SQL)数据库相比,NoSQL数据库为软件开发人员和其他用户提供了更高的运行速度和更高的灵活性。NoSQL数据库使用的数据结构 - 键值对,宽列,图形或文档 - 与关系数据库使用的数据结构不同。因此,NoSQL数据库可以在数千台服务器上进行扩展,但有时会丢失数据一致性。但是,今天特别重要的是,NoSQL数据库特别适合处理大量分布式数据,这使它们成为大数据和分析项目的理想选择。...
2019-03-29 13:02:15
1250
翻译 你不了解你的健康数据会让你生病
你不能选择摆脱一个渴望了解你健康的一切的影子系统——如果你不知道,你可能会选择分享更多Fast CompanyBlockedUnblockFollow发布于3月22日"HIPAA存在很多漏洞:关于哪些信息实际受到保护,谁受到保护,以及您是否通过自己的同意放弃了这种保护。"图片来源:Andrii Panchyk / iStock / Getty Images Plusby珍妮特比...
2019-03-28 20:09:02
1121
翻译 关于自学机器学习的思考?提醒自己这6件事
我们在澳大利亚举办了一个机器人会议,现在是提问时间。有人问了一个问题。“我如何从不同的背景进入人工智能和机器学习?”尼克转身叫了我的名字。“丹·伯克在哪里?”我在后台与Alex交谈。我走了过来。“他在这里,”尼克继续道,“丹是保健科学背景,他研究营养学,然后驾驶Uber,在网上学习机器学习,现在已经是Max Kelsen一年的机器学习工程师。”尼克是Brisbane科技公司Max Ke...
2019-03-27 20:28:05
912
翻译 Java 8中的Base64编码和解码
Java 8会因为将lambdas,流,新的日期/时间模型和Nashorn JavaScript引擎引入Java而被记住。有些人还会记得Java 8,因为它引入了各种小但有用的功能,例如Base64 API。什么是Base64以及如何使用此API?这篇文章回答了这些问题。什么是Base64?Base64是一种二进制到文本编码方案,通过将二进制数据转换为基数-64表示,以可打印的ASCII字...
2019-03-26 13:08:19
3004
翻译 区块链平台:一链统治所有?
每个人都问:世界是否为区块链准备好了?但更重要的是,Blockchain是否为我们准备好了?2017年是区块链进入主流意识的一年。对于外界来说,今天的热门话题是“比特币是一个泡沫”,“我在哪里可以得到瑞波币?”但人们却忽视了这一点。他们错过了我们都应该问的基本问题。我不相信今天的焦点应该围绕比特币是否会在几年后仍然存在。一个更有趣的问题是:“区块链将如何真正改变世界?”甚至这个问题也没有考...
2019-03-25 19:09:37
1201
翻译 使用Facebook的FastText简化文本分类
使用FastText API分析亚马逊产品评论情绪的分步教程本博客提供了详细的分步教程,以便使用FastText进行文本分类。为此,我们选择在Amazon.com上对客户评论进行情绪分析,并详细说明如何抓取特定产品的评论以便对他们进行情绪分析。什么是FastText?文本分类已成为商业世界的重要组成部分; 是否用于垃圾邮件过滤或分析电子商务网站的推特客户评论的情绪,这可能是最普遍的例子。...
2019-03-23 17:59:22
1010
翻译 专为实时而构建:使用Apache Kafka进行大数据消息传递 第2部分
在Apache Kafka简介的前半部分,您使用Kafka开发了几个小规模的生产者/消费者应用程序。从这些练习中,您应该熟悉Apache Kafka消息传递系统的基础知识。在下半部分,您将学习如何使用分区来分布负载并横向扩展应用程序,每天处理多达数百万条消息。您还将了解Kafka如何使用消息偏移来跟踪和管理复杂的消息处理,以及如何在消费者失败时保护您的Apache Kafka消息传递系统免于失败。...
2019-03-22 17:00:02
924
翻译 6种技术将使您成为理想的前端开发人员
世界各地对前端开发工程师有巨大需求。所以大多数学生都希望成为一名前端开发人员。尽管对前端开发人员的需求很大,但真正掌握市场需要的前端技能人员的不足,使有抱负的开发人员远离有前景的机会。这些是您成为前端开发人员所需的主要技术/技能。让我们从基本技能开始如HTML 5 / CSS 3,Javascript,jQuery是前端开发的基础知识。这些技能是进入前端开发的第一步。...
2019-03-21 18:47:14
960
翻译 使用Gensim实现Word2Vec和FastText词嵌入
在自然语言处理(NLP)中,我们经常将词映射到包含数值的向量中,以便机器可以理解它。词嵌入是一种映射,允许具有相似含义的单词具有相似的表示。本文将介绍两种最先进的词嵌入方法,Word2Vec和FastText以及它们在Gensim中的实现。传统方法表示单词的传统方式是单热(one-hot)向量,其本质上是仅具有一个元素为1且其他为0的向量。向量的长度等于语料库中的总唯一词汇(去重后)的大小。通...
2019-03-20 19:33:16
3521
1
翻译 专为实时而构建:使用Apache Kafka进行大数据消息传递 第1部分
当大数据运动开始时,它主要集中在批处理上。分布式数据存储和查询工具(如MapReduce,Hive和Pig)都旨在分批处理数据而不是连续处理数据。企业每晚都会运行多个作业,从数据库中提取数据,然后分析,转换并最终存储数据。最近,企业发现了分析和处理数据和事件的能力,而不是每隔几个小时就会发生一次。然而,大多数传统的消息传递系统不能扩展以实时处理大数据。所以LinkedIn的工程师构建并开源Apac...
2019-03-19 10:59:32
1166
翻译 深入浅出学习决策树(二)
接着上篇文章深入浅出学习决策树(一)继续介绍决策树相关内容。回归问题中的决策树在预测数值变量时,构造树的想法保持不变,但质量标准会发生变化。其中n是叶子中的样本数,Yi是目标变量的值。简单地说,通过最小化均值周围的方差,我们寻找以这样的方式划分训练集的特征,即每个叶子中的目标特征的值大致相等。例让我们生成一些由函数分配并带有一些噪音的数据。然后我们将在其上训练一...
2019-03-18 22:58:35
1195
翻译 成为数据科学家应该知道的10种机器学习算法
了解为了成为数据科学家而应该了解的十种机器学习算法。机器学习从业者有不同的个性。虽然其中一些是“我是X专家,X可以训练任何类型的数据”,其中X =某种算法,其他人是“正确的工具用于正确的工作”的人。他们中的很多人还订阅了“各行各业的高手”的策略,他们拥有一个深厚的专业领域,并且对机器学习的不同领域略有了解。也就是说,没有人可以否认这样一个事实:作为实践数据科学家,我们必须了解一些常见机器学习算法...
2019-03-16 17:43:09
1057
翻译 使用Neo4j和Java进行大数据分析 第2部分
本文的第一部分介绍了Neo4j及其Cypher查询语言。如果您已经阅读了第1部分,那么您已经了解了为什么Neo4j和其他图形数据库特别受社交图形或网络中用户之间关系建模的影响。您还在开发环境中安装了Neo4j,并概述了使用此数据存储的基本概念 - 即节点和关系。然后,我们使用Cypher查询语言对Neo4j中的一个家庭进行建模,包括年龄,性别和家庭成员之间的关系等个人属性。我们创建了一些朋友来...
2019-03-15 13:21:11
1097
翻译 深入浅出学习决策树(一)
文章大纲介绍 决策树如何构建决策树 树木构建算法 分类问题中裂缝的其他质量标准 决策树如何与数字特征一起工作 关键树参数 类DecisionTreeClassifier在Scikit学习 回归问题中的决策树3.最近邻法真实应用中最近邻方法 类KNeighborsClassifier在Scikit学习4.选择模型参数和交叉验证5.应用实例和复杂案例客户流失预测任...
2019-03-14 23:40:45
1368
翻译 使用Neo4j和Java进行大数据分析 第1部分
几十年来,关系数据库一直主导着数据管理,但它们最近已经失去了NoSQL的替代品。虽然NoSQL数据存储不适合每个用例,但它们通常更适合大数据,这是处理大量数据的系统的简写。四种类型的数据存储用于大数据:键/值存储,例如Memcached和Redis 面向文档的数据库,如MongoDB,CouchDB和DynamoDB 面向列的数据存储,如Cassandra和HBase 图形数据库,如Ne...
2019-03-12 15:11:26
1948
翻译 随机森林算法
随机森林是一种灵活,易于使用的机器学习算法,即使没有超参数调整,也能在大多数情况下产生出色的结果。它也是最常用的算法之一,因为它简单,并且可以用于分类和回归任务。在这篇文章中,您将学习随机森林算法如何工作以及其他几个重要的事情。目录:这个怎么运作 真实生活类比 特征重要性 决策树与随机森林的区别 重要的超参数(预测能力,速度) 优点和缺点 用例 摘要这个怎么运作:随机森...
2019-03-11 22:15:29
1875
翻译 Java Challengers#1:JVM中的方法重载
欢迎来到新的Java Challengers博客!本博客致力于挑战Java编程中的概念。掌握它们,你将成为一名技术娴熟的Java程序员。本博客中的技术需要付出一些努力才能掌握,但它们会对你作为Java开发人员的日常体验产生重大影响。当你知道如何正确应用核心Java编程技术时,避免错误会更容易,并且当你确切知道Java代码中发生的情况时,跟踪错误会更容易。你准备好开始掌握Java编程中的核心概念...
2019-03-09 17:25:47
1008
翻译 Java虚拟机如何处理异常
欢迎来到Under The Hood专栏。本专栏旨在让Java开发人员一瞥在运行Java程序底层的神秘机制。本月的文章继续讨论Java虚拟机的字节码指令集,方法是检查Java虚拟机处理异常抛出和捕获的方式,包括相关的字节码。本文不讨论finally条款 - 这是下个月的主题。后续文章将讨论字节码系列的其他成员。ExceptionsExceptions允许您顺利处理程序运行时发生的意外情况。...
2019-03-08 14:25:08
1622
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人