09 2021 档案
摘要:可怕的「404 页面不存在」错误代码已经在电脑屏幕上阴魂不散了几十年。尽管许多网民根本不了解这一错误代码的来龙去脉,但过去 30 年里,由于出现的频次太高,「404 页面不存在」已经跻身流行文化,成了线上终极都市传奇之一。 我们并没有刻意关注它,但由于多数网站每天都有新的失效链接,这些错误页面被点击
阅读全文
摘要:等公交车是一件令人烦恼的事情,这个过程会不断挑战我们的耐心,也许你的奋力追赶换来的只是擦肩而过,也许你的耐心等待换来的只是姗姗来迟,即使你等来了公交车,也还得承担挤不上去的风险。 但是不知道从哪天开始,画面变了。早上收拾妥当准备坐公交车上班,出门前先掏出手机打开出行APP,看看公交车到哪了,再决定是
阅读全文
摘要:一、故事的起源 在 IT 圈内,“删库跑路”已经成为程序员经常提及的一句玩笑话。虽然是玩笑话,但却反映了数据库内数据对企业的重要性。2020年的“微盟事件”就直接让香港主板上市公司微盟集团的市值一天之内蒸发超10亿元,数百万用户受到直接影响。 以小编多年的数据库从业经验而言,删库跑路事件不常有,但因
阅读全文
摘要:来源:toutiao.com/a6691523026984370699 对于正在运行的mysql,性能如何,参数设置的是否合理,账号设置的是否存在安全隐患,你是否了然于胸呢? 俗话说工欲善其事,必先利其器,定期对你的MYSQL数据库进行一个体检,是保证数据库安全运行的重要手段,因为,好的工具是使你的
阅读全文
摘要:大家好,我是小风哥。我们在之前很多文章的讲解中涉及了CPU与寄存器,然后有同学问了这样一个问题:既然CPU内部的寄存器数量有限,容量有限,那么我们使用的庞大的数据结构是怎样装入寄存器供CPU计算的呢?这篇文章就为你讲解一下这个问题。 内存与数据 真正有用的程序是离不开数据的,比如一个int、一个fl
阅读全文
摘要:本文针对关系型数据库的一般语法。限于篇幅,本文侧重说明用法,不会展开讲解特性、原理。 一、基本概念 数据库术语 数据库(database) - 保存有组织的数据的容器(通常是一个文件或一组文件)。 数据表(table) - 某种特定类型数据的结构化清单。 模式(schema) - 关于数据库和表的布
阅读全文
摘要:1 单机 =》集群 随着数据量的增大,读写并发的增加,系统可用性要求的提升,单机 MySQL 出现危机: 容量问题,难以扩容,考虑数据库拆分、分库分表 读写压力,QPS 过大,特别是分析类需求会影响到业务事务,考虑多机集群、主从复制 高可用性不足,易宕机,考虑故障转移、MHA/MGR/Orchest
阅读全文
摘要:大家好,我是小风哥!今天这篇文章带你讲解下稍显神秘的mmap到底是怎么一回事。 简单的与麻烦的 用代码读写内存对程序员来说是非常方便非常自然的,但用代码读写磁盘对程序员来说就不那么方便不那么自然了。回想一下,你在代码中读写内存有多简单:定义一个数组: int a[100];a[0] = 2; 看到了
阅读全文
摘要:前言 不知不觉距离上一篇的更新已经有几个月了,后台也有很多小伙伴催更,奈何事情比较多,期望我能坚持下去~ 书接上话,前两篇我们聊了CAP的最佳打开方式,也讲透了分布式系统一致性的问题。最近几篇我们聊一聊分布式事务。 文章结尾附小米大数据平台运维工程师JD,有意者请与我联系~ 二将军问题 我们先来看个
阅读全文
摘要:MySQL常见的优化手段分为下面几个方面: SQL优化、设计优化,硬件优化等,其中每个大的方向中又包含多个小的优化点 下面我们具体来看看 文章首发在公众号(月伴飞鱼),之后同步到个人网站:xiaoflyfish.cn/ 觉得有收获,希望帮忙点赞,转发下哈,谢谢,谢谢 SQL优化 此优化方案指的是通过
阅读全文
摘要:对,你没看错,本文就是教你怎么写出让同事无法维护的代码。 一、程序命名 容易输入的变量名 。比如:Fred,asdf 单字母的变量名 。比如:a,b,c, x,y,z(如果不够用,可以考虑a1,a2,a3,a4,….) 有创意地拼写错误 。比如:SetPintleOpening, SetPintal
阅读全文
摘要:聊技术,不止于技术 在大型的分布式系统中,我们都会听到集群的概念,比如Redis集群、ES集群等。那么集群主要的作用是什么呢?个人看来集群主要做了这几件事,或者说集群的设计主要为了解决如下问题:(1) 可扩展,好的集群设计可以实现近乎线性扩展,即存储和性能随着硬件的增加而线性增长;(2) 高可用,能
阅读全文
摘要:大家好,我是小风哥。链表是计算机科学中极其经典的一种数据结构,那么作为程序员我们该怎样理解链表呢? 货车 VS 火车 作为两大运输工具,货车以及火车想必大家都很熟悉,但你想没想过这两者的区别?我们首先来看货车。对于货车的话,如果有一堆货物想用货车来运输,那么你首先要考虑的是什么呢?答案显而易见,载重
阅读全文
摘要:你好,我是 Kaito。 如何保证缓存和数据库一致性,这是一个老生常谈的话题了。 但很多人对这个问题,依旧有很多疑惑: 到底是更新缓存还是删缓存? 到底选择先更新数据库,再删除缓存,还是先删除缓存,再更新数据库? 为什么要引入消息队列保证一致性? 延迟双删会有什么问题?到底要不要用? ... 这篇文
阅读全文
摘要:因为图片比较大,微信公众号上压缩的比较厉害,所以很多细节都看不清了,我单独传了一份到github上,想要原版图片的,可以点击下方的阅读原文,或者直接使用下面的链接,来访问github: https://github.com/wangyuntao/linux-kernel-illustrated 另外
阅读全文
摘要:最近科技圈什么最火? 毫无疑问,不是机器人,也不是自动驾驶。 而是一个横空出世的概念:元宇宙。 首先是Facebook表示将成立新产品团队开发“元宇宙”,转型成为元宇宙公司。 英伟达也称在Siggraph推出了全球首个元宇宙平台。 国内的腾讯也不甘落后,迅速注册了元宇宙的商标。 就连做游戏的中手游也
阅读全文
摘要:今天和大家一起聊聊--服务器的多处理器架构,什么意思呢? 试想一下,假如一台高性能的服务器有4个CPU,64g的内存,还有一些总线、IO等资源,服务器内部这些资源是如何布局的呢? 本文并不会从逻辑电路、芯片设计、cpu历史等等角度去阐述,水平有限实战第一,通过本文你将了解到以下内容: 物理核心 &
阅读全文
摘要:以前参加过一个库存系统,由于其业务复杂性,搞了很多个应用来支撑。这样的话一份库存数据就有可能同时有多个应用来修改库存数据。比如说,有定时任务域xx.cron,和SystemA域和SystemB域这几个JAVA应用,可能同时修改同一份库存数据。如果不做协调的话,就会有脏数据出现。对于跨JAVA进程的线
阅读全文
摘要:一、前言 随着现在自定义可视化的需求日益增长,Highcharts、echarts等高度封装的可视化框架已经无法满足用户各种强定制性的可视化需求了,这个时候D3的无限定制的能力就脱颖而出。 如果想要通过D3完成可视化,除了对于D3本身API的学习, 关于web标准的HTML, SVG, CSS, J
阅读全文
摘要:为什么使用SpringBoot整合kafka和storm一般而言,使用kafka整合storm可以应付大多数需求。但是在扩展性上来说,可能就不太好。目前主流的微服务框架SpringCloud是基于SpringBoot的,所以使用SpringBoot对kafka和storm进行整合,可以进行统一配置,
阅读全文
摘要:本文叫你如何轻松配置系统设计的功能架构,让开发不再困难,剩下的你就可以cv操作了。 01 前言 如无意外,大家最近也应该也是在家里学(闲)习(鱼)吧,不过我还是建议一下大家,新的风暴已经出现,怎么能够停滞不前... 似乎想起了什么。不论如何现在是大四狗最忙碌的时候了,而且大家也应该利用这段时间好好巩
阅读全文
摘要:前言 在我们日常开发的时候,可能会遇到各种各样的需求,但是自己一时半会儿可能找不到合适的办法去解决。书到用时方恨少,下面的这些JavaScript的工具函数可能就会派上大用场了,我们可以进行复用,提高我们的工作效率。 我把下面的方法都大致分了个类放在了我的GitHub上。大家可以clone下来直接使
阅读全文
摘要:前言 JS 中函数是高等公民,但是function 和 class 的区别你真的清楚嘛?本文从PolyFill 实现,再到性能分析,再复习哈基础篇的使用;另外深圳前端求坑,有坑的大佬麻烦内推一下。 1. PolyFill 1.利用原生 js 撸一个简单的 class;2.根据上面的用法知道 clas
阅读全文
摘要:什么是计算机系统 计算机系统(A computer system) 是由硬件和软件组成的,它们协同工作运行程序。不同的系统可能会有不同实现,但是核心概念是一样的,通用的。 不同的系统有 Microsoft Windows、Apple Mac OS X、Linux 等。 所有的计算机系统都有相似的软件
阅读全文
摘要:学习导图 一.为什么要学习GC&内存分配? 时代发展到现在,如今的内存动态分配与内存回收技术已经相当成熟,一切看似进入了“自动化”时代,不免发出疑问:"为啥我们还要了解垃圾收集和内存分配?" 答案很简单,当需要排查各种内存溢出/泄漏问题的时候,当垃圾收集成为系统达到更高并发量的瓶颈的时候,我们必须对
阅读全文
摘要:JavaScript基础语法 var a = [1, 2, 5];for(var k in a){ console.log(k); // k 为当前元素的下标}for(var m of a){ console.log(m); // m 为当前元素的值}VM215:3 0VM215:3 1VM215:
阅读全文
摘要:随着近些年信息化大跃进,各行各业无纸化办公产生了大量的数据,而越来越多的数据存入了数据库中。当使用MySQL数据库的时候,单表超出了2000万数据量就会出现性能上的分水岭。 并且物理服务器的CPU、内存、存储、连接数等资源有限,某个时段大量连接同时执行操作,会导致数据库在处理上遇到性能瓶颈。 为了解
阅读全文
摘要:内容概要 前段时间由于新冠肺炎特别严重,政府规定今年的4月4号为悼念日,所有互联网项目能置灰的要跟随置灰处理。我们可以看到在京东、百度等部分app中都有置灰的功能。如果是在网页上的话,只需要一句代码就可以搞定了,但是app里实现可能有些同学会感觉迷茫。今天笔者也跟上潮流,给大家分享一篇如何在app中
阅读全文
摘要:现状 目前国内业界的方案:URL路由、CTMediator、Beehive。这次我要介绍一个复古简单又全新的方案。 问题 先回答两个问题。 什么是组件? 什么是组件?从最细粒度去考虑,一个符合单一职责原则的类就是一个组件;再扩大一点,为了完成某个独立功能的几个类可以称之为组件,比如NSArray类簇
阅读全文
摘要:决策树 (Decision Tree) 是一种有监督学习方法,通过特征和标签构造一棵决策树,学习特征之间的规则,以解决分类和回归问题。 使用决策树进行决策的过程就是从根节点开始,测试待分类项中相应的特征属性,并按照其值选择输出分支,直到到达叶子节点,将叶子节点存放的类别作为决策结果。 决策树由以下
阅读全文
摘要:产生变量提升的原因 在 ES6 之前,JavaScript 没有块级作用域(一对花括号{}即为一个块级作用域),大致分为全局作用域和函数作用域。变量提升即将变量声明提升到它所在作用域的最开始的部分。 在 JavaScript 代码运行之前其实是有一个编译阶段的。编译之后才是从上到下,一行一行解释执行
阅读全文
摘要:最近几年机器学习非常火,几乎每一个项目组都在思考自己手头的项目能不能用机器学习的方法进行优化。对于前端同学来说,有一个主要的难点在于前端技术栈和机器学习所需要的基础技能有很大的gap,市面上的机器学习的基础教程,对读者的数学基础要求偏高,有些最基本的原理或者世界观,被当做自然而然的事情忽略,会导致理
阅读全文
摘要:1、前言 RxHttp 在v2.0版本中加入对协程的支持,收到了广大kotlin用户的喜爱,他们也不禁感慨,原来协程发请求还能如此优雅,比retrofit强大的不止一点点,然而,这就够了吗?远远不够,为啥,因为还有痛点没解决,为此,我也收集几个目前网络请求遇到的痛点,如下: 异步操作,协程已为我们提
阅读全文
摘要:1、特征工程与意义 特征就是从数据中抽取出来的对结果预测有用的信息。 特征工程是使用专业知识背景知识和技巧处理数据,是得特征能在机器学习算法上发挥更好的作用的过程。 2、基本数据处理 数据采集 需要思考那些数据有用 数据是否容易采集到 线上实时计算的时候获取是否快捷 数据清洗 数据清洗做的事情:洗掉
阅读全文
摘要:背景 最近在捯饬一个前端性能上报分析的项目,前端由 react 全家桶,打包部署公司有专门的发布系统,这块就没什么顾虑。 前端团队的后端没有什么规范或通用流程,就想自己先技术选型从0到1,决定使用 egg + mongodb,后续也许会追加 nginx + redis + Kafka 相关配置。 问
阅读全文
摘要:本文深入浅出,高屋建瓴,没有深入到具体细节,主要是为了给初次接触kubernetes的小白扫盲,文章中同时给出了参考链接可供读者探究背后的技术细节。 原文首发于 jimmysong.io :Kubernetes与云原生应用概览 概览 本文主要包括如下内容: 从云计算到微服务再到云原生计算 云计算介绍
阅读全文
摘要:IT软件技术架构进入云化时代后,新概念、新技术大量涌现。从几年前热火的Openstack、计算存储网络三大虚拟化技术、Iaas平台,到近几年更火热的容器和云原生的相关技术,在云计算这一领域新技术可谓是层出不穷。 我们经常会听到的这些概念,比如容器、docker、kubernetes、微服务架构、Pa
阅读全文
摘要:云原生这词在这几年突然火了,在很多人还不了解她是什么的时候频频被她刷屏。所以我经常说技术人是一个容易焦虑的群体,每天被一堆新的概念拉着走,扯着学。新语言多,新概念多,新技术多,没什么安全感。对于新概念,我喜欢从三个层次去理解,一个是这技术名词被提出的历史背景,一个是技术名词概念的演化,一个是结合比较
阅读全文
摘要:有一天,某个群里的Google大神提出一个问题: 来讨论一个问题,如何设计一个可以像STL std::vector 一样自动扩容的hashtable?如何做到在扩容的时候操作速度也不会明显变慢? 我们各种就讨论起来了。对于这个问题我还是略熟悉的,张口就说了Redis的方案。当然其他同学也各自提出了自
阅读全文
摘要:考虑到绝大部分写业务的程序员,在实际开发中使用 Redis 的时候,只会 Set Value 和 Get Value 两个操作,对 Redis 整体缺乏一个认知。 所以我斗胆以 Redis 为题材,对 Redis 常见问题做一个总结,希望能够弥补大家的知识盲点。 本文围绕以下几点进行阐述: ◆为什么
阅读全文
摘要:本节信息量很大,我们要从整体上把握 LevelDB 这座大厦的结构。当我们熟悉了整体的结构,接下来就可以各个击破来细致了解它的各种微妙的细节了。 一个比喻 LevelDB 有点类似于建筑,分为地基和地面两部分,也就是磁盘和内存,而地基又好比地壳结构分了很多层级,不同层级的数据还会定期从上往下移动 —
阅读全文
摘要:前言 我们知道hbase其实是架构在hdfs上的一个分布式数据库,既然是数据库那么这篇文章就主要围绕着我们最熟悉的增删改查来做。当然了,其实hbase的shell操作在真实的企业中几乎不用,这个很简单,我们的hbase是用来存贮海量数据的,还用shell来操作,疯了吗?比如一个查询,可能shell界
阅读全文
摘要:ShardingSphere 是什么? ShardingSphere 是一套开源的分布式数据库中间件解决方案组成的生态圈,它由 Sharding-JDBC、Sharding-Proxy 和 Sharding-Sidecar(规划中)这 3 款相互独立的产品组成。他们均提供标准化的数据分片、分布式事务
阅读全文
摘要:SQL Server代理是所有实时数据库的核心。代理有很多不明显的用法,因此系统的知识,对于开发人员还是DBA都是有用的。这系列文章会通俗介绍它的很多用法。 在这个系列的上篇文章里,你学习如何使用SQL Server代理作业活动监视器监视作业活动和查看作业历史。对于你的SQL Server代理作业进
阅读全文
摘要:在历经八个月的紧张开发与精心打磨之后,Sharding-Sphere社区为程序员献礼,将Sharding-Sphere 3.0.0正式版于10月24日程序员节发布。在3.0.0发布之际,写下此文,与大家共同回顾这段充满纪念的时光,分享我们的前进历程。 前序 关注开源圈的同学可能知道,Sharding
阅读全文
摘要:摘要 由于Golang优秀的并发处理,很多公司使用Golang编写微服务。对于Golang来说,只需要短短几行代码就可以实现一个简单的Http服务器。加上Golang的协程,这个服务器可以拥有极高的性能。然而,正是因为代码过于简单,我们才应该去研究他的底层实现,做到会用,也知道为什么这么用。 在本文
阅读全文
摘要:摘要 在MySQL中,简单的CURD是很容易上手的。 但是,理解CURD的背后发生了什么,却是一件特别困难的事情。 在这一篇的内容中,我将简单介绍一下MySQL的架构是什么样的,分别有什么样的功能。然后再简单介绍一下在我们执行简单的查询和更新指令的时候,背后到底发生了什么。 1 MySQL结构 在这
阅读全文
摘要:微服务的概念最早在 2012 年提出,在 Martin Fowler 的大力推广下,微服务在 2014 年后得到了大力发展。今天我们通过一组手绘图来梳理下微服务的核心架构。 什么是微服务? 微服务 Microservices 之父,马丁.福勒,对微服务大概的概述如下: 就目前而言,对于微服务业界并没
阅读全文
摘要:Docker、微服务日益火热的今天,相信标题上这些名词大家都不陌生。但也相信有很多同学并不够清楚他们的概念,不理解它们的关系,也可能有这样的疑惑:不知道跟我有没有关系?要不要学习?怎么去学习?学哪些东西?没关系,今天我们就从头捋捋,让大家都能得到自己的答案。 Docker诞生于2013年,之后就是迅
阅读全文
摘要:使用场景 在实现业务的时候,我们常常有些需求需要系统主动发送消息给客户端,方案有轮询和长连接,但轮询需要不断的创建销毁http连接,对客户端、对服务器来说都挺消耗资源的,消息推送也不够实时。这里我们选择了WebSocket长连接的方案。 有大量的项目需要服务端主动向客户端推送消息,为了减少重复开发,
阅读全文
摘要:本文主要介绍如何搭建一个neo4j高可用集群,往集群中动态添加neo4节点,节点的故障恢复。介绍如何进行事务操作和驱动配置来在节点故障,尤其是neo4j主节点(raft leader,写服务)故障时,尽可能减小对业务的影响。 neo4j raft集群 这里所说的neo4j raft集群是指neo4j
阅读全文
摘要:Neo4j:面向领域模型的图数据库 通常谈到数据库或数据存储,我们一般会立刻想到Mysql、SQLServer、Oracal等关系型数据库,或HBase、Redis、MongoDB等非关系型数据库。今天要介绍的图数据库--Neo4j也是一种非关系型数据库。 在工程项目中,数据存储的选择基本直接决定了
阅读全文
摘要:上一篇我讲过了跳跃表的实现,那么这篇文章就是分析二叉堆的实现了。。 鸿胪少卿:常见数据结构的实现(一):跳跃表zhuanlan.zhihu.com 介绍 堆也是一种基本的数据结构,分为大根堆和小根堆,实现方式可以有数组和二叉树两种方法。数组实现的优点主要是支持随机访问,缺点就不用多说了。二叉树实现可
阅读全文
摘要:在说什么是线性结构之前,我想还是先提前学习具体的结构,然后再一一总结为好。 栈(stack)应该是线性结构中最容易的一种数据结构了,这种结构的主要操作有两种:将一个新的值添加到栈称为推送(push)该值; 删除堆栈中的最顶层的值称为弹出(pop)栈。以后我们就直接用英文来表示了。在stack中这种的
阅读全文
摘要:介绍 拓扑排序,很多人都可能听说但是不了解的一种算法。或许很多人只知道它是图论的一种排序,至于干什么的不清楚。又或许很多人可能还会认为它是一种啥排序。而 实质上它是对有向图的顶点排成一个线性序列。 至于定义,百科上是这么说的: 对一个有向无环图(Directed Acyclic Graph简称DAG
阅读全文
摘要:对于MongDB的监控,官方建议MongoDB Atlas,或者云数据库服务。这些自动收集信息和显示集群数据的状态和使用情况。 监控是所有数据库管理的关键组成部分。 牢牢掌握MongoDB的报告将使您能够评估数据库的状态并在没有危机的情况下维护部署。 监控策略 MongoDB提供了各种方法来收集有关
阅读全文
摘要:1.架构图 如上图,一个kafka架构包括若干个Producer(服务器日志、业务数据、web前端产生的page view等),若干个Broker(kafka支持水平扩展,一般broker数量越多集群的吞吐量越大),若干个consumer group,一个Zookeeper集群(kafka通过Zoo
阅读全文
摘要:声明: 身为一个刚入门的计算机菜佬,阅读源码自然离不开优秀参考书籍和视频的引导,本篇文章的分析过程中"严重"借鉴了 翟永超 前辈的《SpringCloud微服务实战》这本书籍,在这里也向准备学习微服务的小伙伴们强烈推荐这本书,大家可以把这篇文章理解为《SpringCloud微服务实战》Ribbon部
阅读全文
摘要:前言 我们小伙伴们是不是经常看到网上一些集群、高可用、高并发、负载均衡等关键词,有很多种方案、以及应用场景中都有相关的介绍。今天老顾就带着大家一起看一下,一整套大型网站会有哪些负载均衡方案场景。 创业阶段 创业初期很多资源的限制,一切以业务为核心,能够正常使用就可以了,因为流量不是很大,所以这个阶段
阅读全文
摘要:目前来说市面上可以选择的消息队列非常多,像activemq,rabbitmq,zeromq已经被大多数人耳熟能详,特别像activemq早期应用在企业中的总线通信,基本作为企业级IT设施解决方案中不可或缺的一部分。目前来说Kafka已经非常稳定,并且逐步应用更加广泛,已经算不得新生事物,但是不可否认
阅读全文
摘要:我们今天接着看tcp_write_xmit(),在开始函数之前我想提醒朋友们,如果你是一名研发工程师的话请注意我的提醒,近来很多公司打着招聘的名义窃取项目计划和机密,这些公司在招聘人才时要求简历写出其所做过的项目情况,看似展示一个人的工作经验和才能,背后隐藏着不可告人的意图,通过与工程师的这种不合理
阅读全文
摘要:前言 刚开始接触Elasticsearch的时候被Elasticsearch的搜索功能搞得晕头转向,每次想在Kibana里面查询某个字段的时候,查出来的结果经常不是自己想要的,然而又不知道问题出在了哪里。出现这个问题归根结底是因为对于Elasticsearch的底层索引原理以及各个查询搜索方式的不了
阅读全文
摘要:前言 开源社区有好多优秀的队列中间件,比如RabbitMQ和Kafka,每个队列都貌似有其特性,在进行工程选择时,往往眼花缭乱,不知所措。对于RabbitMQ和Kafka,到底应该选哪个? RabbitMQ架构 RabbitMQ是一个分布式系统,这里面有几个抽象概念。 broker:每个节点运行的服
阅读全文
摘要:Elastic Stack入门 是否在寻找Elastic Stack(“ELK”)指南,该指南显示了如何设置Elastic Stack并快速启动并运行?您来对地方了!首先,您安装核心产品: Elasticsearch Kibana Beats Logstash (optional) 然后,您将学习如
阅读全文
摘要:作者:小傅哥博客:https://bugstack.cn ❝ 沉淀、分享、成长,让自己和他人都能有所收获!😜 ❞ 目录 一、前言 二、开发环境 三、单例模式介绍 四、案例场景 五、7种单例模式实现 0. 静态类使用 1. 懒汉模式(线程不安全) 2. 懒汉模式(线程安全) 3. 饿汉模式(线程安全
阅读全文
摘要:作者:小傅哥博客:https://bugstack.cn ❝ 沉淀、分享、成长,让自己和他人都能有所收获!😜 ❞ 目录 一、前言 二、开发环境 三、适配器模式介绍 四、案例场景模拟 1. 场景模拟工程 2. 场景简述 五、用一坨坨代码实现 1. 工程结构 2. Mq接收消息实现 六、适配器模式重构
阅读全文
摘要:查看执行计划 索引优化是一个永远都绕不过的话题,作为NoSQL的MongoDB也不例外。Mysql中通过explain命令来查看对应的索引信息,MongoDB亦如此。 1. db.collection.explain().<method(...)> db.products.explain().rem
阅读全文
摘要:本文是陈仕在“青芒话生长”MongoDB征文比赛的获奖文章,下面我们一起来欣赏下。 前言 偶然机会看到mongo中文社区办了场征文活动,觉得挺有意思的,虽说自己还在成为大佬的路上,但参与一下未尝不可。于是就有了这篇文章。 活动已规定了选题框架,我思索了小会儿,觉得从到1+ 挺切合选题一,即聊聊如何由
阅读全文
摘要:今天是Python专题第18篇文章,我们来继续聊聊Python当中的元类。 在上上篇文章当中我们介绍了type元类的用法,在上一篇文章当中我们介绍了__new__函数与__init__函数的区别,以及它在一些设计模式当中的运用。这篇文章我们来看看metacalss与元类,以及__new__函数在元类
阅读全文
摘要:游戏设计 植物大战僵尸中有一个小游戏关卡,屏幕的正上方有一个滚轮机,会随机生成植物,玩家可以选中植物后自由选择草坪来进行安放。基于此游戏模式,我将该关卡抽取出来,单独做成了一个简易版的植物大战僵尸。游戏的画面大概如下:屏幕左侧会自动生成植物的卡牌,单击选中后可以放置在草坪上。右侧会自动生成僵尸,不同
阅读全文
摘要:写在前面的话 终于开始用R语言进行我一直感兴趣的股票投资实践,真是激动人心、心潮澎湃啊。^_^^_^^_^ 动手开始实践之前,先谈谈我对A股投资的几点看法。系统学习股票投资一段时间以来,我是坚持认为股票投资是目前国内理财方式中比较不错的理财方式。但前提是你必须学习学习再学习,具备相关理财知识后再进入
阅读全文
摘要:一、简介 volatile是Java提供的一种轻量级的同步机制。Java 语言包含两种内在的同步机制:同步块(或方法)和 volatile 变量,相比于synchronized(synchronized通常称为重量级锁),volatile更轻量级,因为它不会引起线程上下文的切换和调度。但是volat
阅读全文
摘要:R语言的起源 R语言主要受S语言( 1976年John Chambers在贝尔实验室创建)和Scheme语言(20世纪70年代在麻省理工学院AI实验室的Guy L. Steele和Gerald Jay Sussman创建)影响发展而来,主要用户为统计学家和数据分析人员,常用于统计分析和图形可视化。早
阅读全文
摘要:前言 SequoiaDB作为分布式数据库,从设计之初就已经支持SQL访问。目前,SequoiaDB自研的SQL访问组件SequoiaSQL作为企业版的功能之一已经提供给上百家企业用户使用,并且已经实现分布式架构下的SQL 2003支持。 对于SequoiaDB社区版用户,我们可以通过SequoiaD
阅读全文
摘要:内容摘要 PostgreSQL是以加州大学伯克利分校计算机系开发的 Posrgres,现在已经更名为PostgreSQL。它是一个自由的对象-关系数据库服务器(数据库管理系统),它在灵活的 BSD-风格许可证下发行。PostgreSQL 中国社区发起人之一Digoal为我们带来PostgreSQL
阅读全文
摘要:1. 写作缘起 几年前,我在一家农业物联网公司,负责解决其物联网产品线。 我们当时基于.net平台打造了一套实时数据采集系统,可以把数以百万级的传感器传送回来的数据采集入库并根据这些数据进行建模。 在搭建这套实时数据采集系统的时候,高并发高可用被首次提出,同时要求系统不会有太大的时延。一旦有时延,也
阅读全文
摘要:技术蓝图 上面技术蓝图讲解,主要分4大块。不知道这么说是否准确望请指正! 系统架构层面(应用运维、系统架构) DNS 内网,bind服务(可能做成存数据库类型的) 外网,DNS健康检查等 CDN Static 静态资源分发(JS、css、image等) 视频点播,例如优酷视频、腾讯视频、爱奇艺等等
阅读全文
摘要:区块链不等于比特币,比特币也不等于区块链;有将它奉为圭臬,也有人将视如敝屣。可能从来没有一种技术能像区块链这样带有如此的大争议。它真的一无是处吗?或者它应用范围有限?你一定想不到区块链技术还可能用在未来的IoT,甚至是自动驾驶汽车上面吧。今天我们就来谈谈区块链技术的那些“奇思妙用”,感谢Dell E
阅读全文
摘要:本书的全名为:企业IT架构转型之道-- 阿里巴巴中台战略思想与架构实践,作者为钟华,2017年6月第1版。 全书主要分为三大部分:引子(1-2),共享服务体系搭建(3-9),阿里巴巴能力输出与案例(10-11)。 一、阿里启动中台战略 2015年底,启动阿里集团2018年中台战略,构建符合DT时代的
阅读全文
摘要:今天是机器学习专题的第25篇文章,我们一起来聊聊AdaBoost。 我们目前为止已经学过了好几个模型,光决策树的生成算法就有三种。但是我们每次进行分类的时候,每次都是采用一个模型进行训练和预测。我们日常在做一个决策的时候,往往会咨询好几个人,综合采纳他们的意见。那么有没有可能把这个思路照搬到机器学习
阅读全文
摘要:1. 前言几年前,我就一直想着要设计一款自己的实时通讯框架,于是出来了TinySocket,她是基于微软的SocketAsyncEventArgs来实现的,由于此类提供的功能很简洁,所以当时自己实现了缓冲区处理,粘包拆包等,彼时的.net平台还没有一款成熟的即时通讯框架出来,所以当这款框架出来的时候
阅读全文
摘要:Python中的装饰器有很多用处,比如输出日志、参数检查、代理设置、计数计时、结果缓存等等。本文就通过几个装饰器例子,详细解释一下Python中装饰器的用法。 一步步从简到繁学习装饰器用法 其他一些装饰器实例 Python中自带的装饰器 按照惯例,先上代码:GitHub - xianhu/Learn
阅读全文
摘要:接着上一篇,前面两篇我总结了Redis安装和C#中如何使用redis 。接下来讲讲Redis 的主从复制以及主从复制的架构下C#中如何调用。 Redis跟MySQL一样,拥有非常强大的主从复制功能,而且还支持一个master可以拥有多个slave,而一个slave又可以拥有多个slave,从而形成强
阅读全文
摘要:前面介绍了Spring Boot 中的整合Thymeleaf前端html框架,同时也介绍了Thymeleaf 的用法。 今天主要讲解Springboot整合Mybatis,并实现最基本的增删改查功能。MyBatis 是现如今最流行的 ORM 框架之一,同时也支持普通的 SQL 查询,存储过程等功能的
阅读全文
摘要:导读:边缘和轮廓的提取是一个非常棘手的工作,细节也许就会被过强的图像线条掩盖,纹理(texture)本身就是一种很弱的边缘分布模式,分级(hierarchical)表示是常用的方法,俗称尺度空间(scale space)。以前做移动端的视觉平台,有时候不得不把一些图像处理功能关掉,原因是造成了特征畸
阅读全文
摘要:Thymeleaf 官网部分翻译:反正就是各种好 Thymeleaf是用来开发Web和独立环境项目的服务器端的Java模版引擎 Spring官方支持的服务的渲染模板中,并不包含jsp。而是Thymeleaf和Freemarker等,而Thymeleaf与SpringMVC的视图技术,及SpringB
阅读全文
摘要:最近公司招聘海外后端研发,所以整理一份技术栈的资料给他们,但是想来这份整理也适用于所有后端研发,所以去掉了敏感内容,把它呈现于此。 本文重在概述,毕竟篇幅有限,欢迎「关注」,后续可能把单点拓展成文,详细地一一阐述,另外笔者见识有限,毕竟也没有可能在所有大厂工作过,所以如果有疏漏可以在留言处赐教。 目
阅读全文
摘要:本以为DevOps与Docker无关了,没想到Docker在这个领域也是神一样的存在。Docker支持持续集成/持续交互(CI/CD),Docker的目标是让我们的环境构建变得简单,让开发人员更关注自己的代码,同时也不需要运维介入,每一次代码的提交都可以实时地发布到对应的测试环境,提前验证代码的正确
阅读全文
摘要:简介: 本文根据 Apache Flink 系列直播整理而成,由 Apache Flink Contributor、OPPO 大数据平台研发负责人张俊老师分享。主要内容如下: 1. 整体思路与学习路径 2. 应用场景与编程模型 3. 工作流程与实现机制 主要内容如下: 整体思路与学习路径 应用场景与
阅读全文
摘要:我对DevOps的一个比较宏观的总结。DevOps是孕育于敏捷社区,又反哺给整个IT技术行业的,是一次彻底而全面的技术和文化运动。本文从它的出处谈起,一直描述到当前国内的现状。最后总结了相关的核心技术和主要实践。 DevOps简史 在2008年多伦多举办的敏捷大会(Velocity Conf 200
阅读全文
摘要:这里的调优可以泛指任何随着外部环境变化(比如workload、系统资源、bottleneck的出现)而改变的操作,比如change parallelism、optimize execution plan、live migration等等 [dspa20-12 dspa20-13 dspa20-14]
阅读全文
摘要:最近,谷歌又申请了一项深度学习算法专利,主题是「Using embedding functions with a deep network」。 对于每个深度学习研究者来说,有些算法、方法可以说是研究必备,拿来直接用也是一种日常,但如果有人申请了专利呢?最近,谷歌一项新的 AI 专利申请再次引燃了社区
阅读全文
摘要:Flink 1.11 features 已经冻结,流批一体在新版中是浓墨重彩的一笔,在此提前对 Flink 1.11 中流批一体方面的改善进行深度解读,大家可期待正式版本的发布。 Flink 1.11 中流计算结合 Hive 批处理数仓,给离线数仓带来 Flink 流处理实时且 Exactly-on
阅读全文
摘要:之前写过两篇用Python代替Excel的文章,然后就一直没再写。 想起我刚学Python的时候,也是走过许多弯路的。从Python语法呀、环境呀那些学,学得头大,而且一边学一边忘。经历了几年的工作,也对Python常用的模块和语法有了了解,所以打算写一个系列,手把手教大家用Python处理数据,现
阅读全文
摘要:简介: 本文首先介绍为何要参与开源社区以及在参与开源社区的过程中需要注意什么,然后重点介绍如何参与 Flink 社区以及在社区里面提交 PR 的整个流程。 主要内容如下: 参与开源社区的意义 参与开源社区的原则 如何参与 Flink 社区 如何提交第一个 PR Tips:点击下方链接可回顾更多社区成
阅读全文
摘要:今天是golang专题的第9篇文章,我们一起来看看golang当中的面向对象的部分。 在现在高级语言当中,面向对象几乎是不可或缺也是一门语言最重要的部分之一。golang作为一门刚刚诞生十年的新兴语言自然是支持面向对象的,但是golang当中面向对象的概念和特性与我们之前熟悉的大部分语言都不尽相同。
阅读全文
摘要:今天给大家分享的是Python面试题系列的第一篇文章,后续我也会陆续整理Python相关的问题给大家,无论是求职者还是新人都可以通过面试题来考察自己的能力缺陷。 这些问题由伯乐在线整理,原文是Python工程师面试题集合。 嘛...这几天原创少了,因为在憋大招啊.... 1.Python中pass语
阅读全文
摘要:SpringBoot2.x系列教程51--NoSQL之SpringBoot整合MongoDB 作者:一一哥 一. MongoDB 1. MongoDB简介 MongoDB一词来自于英文单词“Humongous”,中文含义为“庞大”,是由C++语言编写的一个基于分布式文件存储的高性能,开源,无模式的文
阅读全文
摘要:简介: 在上篇文章中,笔者使用的 CDH 版本为 5.16.2,其中 Hive 版本为 1.1.0(CDH 5.x 系列 Hive 版本都不高于 1.1.0,是不是不可理解),Flink 源代码本身对 Hive 1.1.0 版本兼容性不好,存在不少问题。为了兼容目前版本,笔者基于 CDH 5.16.
阅读全文
摘要:简介: 作为 Dataflow 模型的最早采用者之一,Apache Flink 在流批一体特性的完成度上在开源项目中是十分领先的。本文将基于社区资料和笔者的经验,介绍 Flink 目前(1.10)流批一体的现状以及未来的发展规划。 自 Google Dataflow 模型被提出以来,流批一体就成为分
阅读全文
摘要:到目前为止,我们一直在从pipeline开发者的角度研究流处理,第二章介绍了watermarks,回答了计算什么时间范围内的数据以及什么时候将处理结果物化等基本问题。在本章中,我们将从流处理系统的底层机制的角度来看同样的问题。研究这些机制将帮助我们理解和应用有关watermarks的概念。我们将讨论
阅读全文
摘要:文章整理 :加米谷大数据 本文将从大数据架构变迁历史,Pravega 简介,Pravega 进阶特性以及车联网使用场景这四个方面介绍 Pravega,重点介绍 DellEMC 为何要研发 Pravega,Pravega 解决了大数据处理平台的哪些痛点以及与 Flink 结合会碰撞出怎样的火花。 大数
阅读全文
摘要:2015 年 HTTP/2 标准发表后,大多数主流浏览器也于当年年底支持该标准。此后,凭借着多路复用、头部压缩、服务器推送等优势,HTTP/2 得到了越来越多开发者的青睐,不知不觉的 HTTP 已经发展到了第三代。本文基于兴趣部落接入 HTTP/3 的实践,聊一聊 HTTP/3 的原理以及业务接入的
阅读全文
摘要:Flink作为新一代的大数据处理引擎,不仅是业内公认的最好的流处理引擎,而且具备机器学习等多种强大计算功能,用户只需根据业务逻辑开发一套代码,无论是全量数据还是增量数据,亦或者实时处理,一套方案即可全部解决。K8S是业内最流行的容器编排工具,与docker容器技术结合,可以提供比Yarn与Mesos
阅读全文
摘要:Flink笔记02--Flink基本概念及架构 1、基本概念 无界和有界数据。任何类型的数据都可以形成一种事件流。信用卡交易、传感器测量、机器日志、网站或移动应用程序上的用户交互记录,所有这些数据都形成一种流。数据可以被作为 无界 或者 有界 流来处理。 无界流 有定义流的开始,但没有定义流的结束。
阅读全文
摘要:收获一:公众号写作从高频模式转为精品模式 从前面开始写公众号,作为一个没有任何互联网运营经验的码农,一开始不知道应该如何弄,但不要紧,不管三七二十一,先搞起来再说。 一开始秉承的理念就是,对自己狠一点,一天一篇,无论多晚都要搞定。 无论是底层到linux,云计算,上层到大数据,容器,微服务,能写的都
阅读全文
摘要:在上一篇文章以业务为核心的云原生体系建设中,我们给出了一张云原生体系建设的总图,并且从演进的角度讲述了云原生落地的三个阶段。 有的同学留言说,还是不够落地呀,所谓“听了很多道理,还是过不好这一生”,同理“看了很多文章,还是落地不好云原生”。 从今天这一篇开始,我们开始落地篇,从此会进入大量的技术细节
阅读全文
摘要:来自Greenplum原厂的Greenplum内核工程师 Hubert Zhang(张桓)与Asim Praveen合作发表了演讲《Distributed Snapshot and Global Deadlock Detector》。在演讲中Hubert通过理论结合实例的方式讲解了Postgres单
阅读全文
摘要:今天是机器学习专题的第27文章,我们一起来聊聊数据处理领域的降维(dimensionality reduction)算法。 我们都知道,图片格式当中有一种叫做svg,这种格式的图片无论我们将它放大多少倍,也不会失真更不会出现边缘模糊的情况。原因也很简单,因为这种图片是矢量图,一般的图片存储的是每一个
阅读全文
摘要:前言:中国人民大学常被誉为是“中国人文社会科学的最高学府”,其实人民大学也是“中国数据库的发源地”。由中国人民大学教授萨师煊与王珊合作编写的《数据库系统概论》是国内第一部系统阐明数据库原理、技术和理论的教材,也被公认为是国内数据库领域的经典权威教材。 近期,蚂蚁金服高级研究员、OceanBase团队
阅读全文
摘要:从双11诞生至今的11年里,有一个场景始终在支付宝技术团队之中循环往复——每一年确定目标时,大家都将信将疑,或惊呼或腹诽:“不可能!太夸张了吧!”但每一年的夸张目标,到最后都能奇迹般地成为现实。 前一年需要拼命跃起才能够到的果实,后一年就会成为再普通不过的日常。不知不觉之间,双11已经从最初启航时的
阅读全文
摘要:Megaflow的规模越小,对应的hash table数量越少,相应的kernel datapath的转发性能更好。为了减少megaflow的规模,OpenVSwitch只有在有包上送到ovs-vswitchd之后,才会生成megaflow cache,也就是说,incoming packets驱动
阅读全文
摘要:上一篇文章《阿里腾讯华为都在追捧的新一代大数据引擎Flink到底有多牛?》中我对新一代大数据处理引擎Flink做了简单的介绍,包括:批量计算与流式计算的区别、流式计算引擎的重要性,以及Flink相比其他流式计算引擎的优势。因为Flink性能优秀,解决了之前流式计算引擎的痛点,非常适合电商促销、风险控
阅读全文
摘要:今天这篇是算法与数据结构专题的第27篇文章,我们继续深入博弈论问题。今天我们要介绍博弈论当中非常重要的一个定理和函数,通过它我们可以解决许多看起来杂乱无章的博弈问题,使得我们可以轻松地解决一大类博弈问题。 有了SG函数和SG定理,我们不再是单纯地通过构思、分析和找规律去解决问题了。并且我们之前学过的
阅读全文
摘要:1.背景介绍 异常检测可以定义为“基于行动者(人或机器)的行为是否正常作出决策”,这项技术可以应用于非常多的行业中,比如金融场景中做交易检测、贷款检测;工业场景中做生产线预警;安防场景做入侵检测等等。 根据业务要求的不同,流计算在其中扮演着不同的角色:既可以做在线的欺诈检测,也可以做决策后近实时的结
阅读全文
摘要:今天是Python专题第20篇文章,我们来聊聊Python当中的多线程。 其实关于元类还有很多种用法,比如说如何在元类当中设置参数啦,以及一些规约的用法等等。只不过这些用法比较小众,使用频率非常低,所以我们不过多阐述了,可以在用到的时候再去详细了解。我想只要大家理解了元类的原理以及使用方法,再去学习
阅读全文
摘要:谈到架构,想到的一定是MVC、MVP、MVVM这几个词了,然后对比一下它们的优缺点,接下来就是站队的时间了。常常写MVC,偶然见到了MVP,“嗯,真香~”。写久了MVP,又听说了MVVM,“嗯,真香~”。“真香”定律真是被用得淋漓尽致,此外还要喜新厌旧一番,使用MVVM的鄙视使用MVP的,使用MVP
阅读全文
摘要:前面我们对MVC、MVP、MVVM进行了详尽的分析,但还有一个问题悬而未决,那就是生命周期。在Android平台上生命周期具有十分重要的意义,因此这也是架构必须考虑的因素之一。生命周期处理不好很容易发生内存泄漏,但对架构而言,真正困扰我们的却不是内存泄漏的问题,反而是因生命周期太短,实例被销毁重建,
阅读全文
摘要:在 《也谈Android应用架构》 和 《再谈Android应用架构——Jetpack VS 生命周期》 两篇文章中,我们详细论述了MVC、MVP、MVVM架构的思想、优缺点以及使用注意事项,并阐述了借助Jetpack强大的生命周期管控能力解决架构“本地化”的问题。但没有实践的论述不仅不直观,也应了
阅读全文
摘要:去年看到过一篇文章[1],说是通过OpenVSwitch的测试,GENEVE的性能要略优于VXLAN。我相信大多数人的反应可能跟我的第一反应一样,这不又是一种Overlay协议吗?为什么性能会更好?难道有什么黑科技?我们这次来分析一下GENEVE有什么不一样。 网络虚拟化 要说清楚来龙去脉,需要从网
阅读全文
摘要:Network Slicing在国内翻译成网络切片。它频繁出现在5G相关的文档中,号称对5G网络至关重要。 什么是Network Slicing Network Slicing是一种虚拟化,它允许在一个共享的物理网络基础架构上,运行多个逻辑网络。每个逻辑网络之间是隔离的,并且能够提供定制的网络特性,
阅读全文
摘要:近日市场投放部门的同事找我说,在应用商店输入关键字查看我们APP的排名,这个能不能通过技术自动化实现?本以为是件很简单的事情,结果做的时候遇到了重重阻碍,于是就有了这次逆向之旅。 逆向,听起来就很黑客的词,好像比开发高大上好多倍啊。真正接触到才明白,逆向其实是一个很需要耐心,会查阅资料,又比较依赖运
阅读全文
摘要:Github 最新推出的 Codespaces 可以实现基于 VS Code 的云端代码编译。现在,你在手机、平板上都可以直接进行开发。 云端开发不能更美好了,用上 Codespaces 后,不仅可以把 IDE 卸载掉,什么 Conda、Docker 都可以删了「大误」。 再见,VS code !你
阅读全文
摘要:一、Apache Flink 的定义、架构及原理 Apache Flink 是一个分布式大数据处理引擎,可对有限数据流和无限数据流进行有状态或无状态的计算,能够部署在各种集群环境,对各种规模大小的数据进行快速计算。 1. Flink Application 了解 Flink 应用开发需要先理解 Fl
阅读全文
摘要:文章内容 自定义Flink Source,案例分别实现了继承于SourceFunction的四个案例,三个完全自定义的Source, 另外一个Source为常见的MySQL,通过这几个案例,启发我们进行实际案例的Source研发 代码版本 Flink : 1.10.0Scala : 2.12.6 官
阅读全文
摘要:数据仓库也是公司数据发展到一定规模后必然会提供的一种基础服务,数据仓库的建设也是“数据智能”中必不可少的一环。本文将从数据仓库的简介、经历了怎样的发展、如何建设、架构演变、应用案例以及实时数仓与离线数仓的对比六个方面全面分享关于数仓的详细内容。 1.数据仓库简介 数据仓库是一个面向主题的(Subje
阅读全文
摘要:1. Time Flink中的时间(Time)主要分为三种: Event Time:每条数据真实的产生时间,这就要求每条进入Flink应用的数据都要自己带有时间戳,标明数据产生时间; Ingestion Time:是介于Event time和 Processing Time之间的时间。在数据通过So
阅读全文
摘要:传统的数据库SQL和实时SQL处理的差别还是很大的,这里简单列出一些区别: 尽管存在这些差异,但使用关系查询和SQL处理流并非不可能。高级关系数据库系统提供称为物化视图的功能。物化视图定义为SQL查询,就像常规虚拟视图一样。与虚拟视图相比,物化视图缓存查询的结果,使得在访问视图时不需要执行查询。缓存
阅读全文
摘要:简介: 反压(backpressure)是实时计算应用开发中,特别是流式计算中,十分常见的问题。反压意味着数据管道中某个节点成为瓶颈,处理速率跟不上上游发送数据的速率,而需要对上游进行限速。 反压(backpressure)是实时计算应用开发中,特别是流式计算中,十分常见的问题。反压意味着数据管道中
阅读全文
摘要:一. 数据切分 二. 分库分表带来的问题 三. 什么时候考虑切分 四. 案例分析 五. 支持分库分表中间件 六. 参考 《Java 2019 超神之路》 《Dubbo 实现原理与源码解析 —— 精品合集》 《Spring 实现原理与源码解析 —— 精品合集》 《MyBatis 实现原理与源码解析 —
阅读全文
摘要:分布式锁的实现方式有很多,本篇文章讲述一下使用Redis实现分布式锁。网上有很多使用Redis实现分布式锁的代码,但是这些代码或多或少都有问题。这篇文章会写一个实现,同时标明一些注意点。 场景 为了便于阐述,这里假设一个游戏场景,用户A有开山斧一把,价值500元宝,用户B有800元宝,想买A的开山斧
阅读全文
摘要:续言 前一篇文章从OLTP出发,通过对比引出OLAP,进一步介绍了数仓的基本概念,包括多维数据模型、数据立方体及其典型操作等。本篇再进一步,将介绍OLAP的类型及其代表产品,并分析主流开源OLAP产品的核心技术点。 未看过前一篇文章的读者,欢迎点击链接(温正湖:OLAP数仓入门问答-基础篇)做进一步
阅读全文
摘要:不得不说的废话 老实说,本文是为了应付公司内部培训的作业的。汇总了下学到或用过的一些能够提高工作效率的方法,本来觉得这种文章就是渣,但回头想想,至少说了些原则和方法论(SMART/GROW/PDCA/5W2H),大家有兴趣看看,当然文中都是点到为主,要行修还得靠自己。鄙人也没有那么强的功力娓娓道来。
阅读全文
摘要:前言 过去近七年在网易杭研一直从事数据库相关的开发工作,主要是MySQL和MongoDB这两种数据库,去年开始涉及图数据库Neo4J。上述几种,都可认为是OLTP类数据处理,由于工作需要,需要调研学习OLAP技术和相关系统,本文开始逐步进行第一轮总结,很多东西还只是片面理解,权当做个笔记。 对事物的
阅读全文
摘要:本文翻译自 streaml.io 网站上的一篇博文:“Exactly once is NOT exactly the same” ,分析了流计算系统中常说的『Exactly Once』特性,主要观点是:『精确一次』并不保证是完全一样。主要内容如下: 背景 1.1. 最多一次(At-most-once
阅读全文
摘要:一、窗口函数用来干嘛? 在日常工作中,经常会遇到需要在每组内排名,比如下面的业务需求: 排名问题:每个部门按业绩来排名topN问题:找出每个部门排名前N的员工进行奖励 二、怎么用窗口函数 窗口函数,也叫OLAP函数(Online Anallytical Processing,联机分析处理),可以对数
阅读全文
摘要:在Java中处理异常并不是一个简单的事情。不仅仅初学者很难理解,即使一些有经验的开发者也需要花费很多时间来思考如何处理异常,包括需要处理哪些异常,怎样处理等等。这也是绝大多数开发团队都会制定一些规则来规范对异常的处理的原因。而团队之间的这些规范往往是截然不同的。本文给出几个被很多团队使用的异常处理最
阅读全文
摘要:调用和回调机制 在一个应用系统中, 无论使用何种语言开发, 必然存在模块之间的调用, 调用的方式分为几种: 1.同步调用 同步调用是最基本并且最简单的一种调用方式, 类A的方法a()调用类B的方法b(), 一直等待b()方法执行完毕, a()方法继续往下走. 这种调用方式适用于方法b()执行时间不长
阅读全文
摘要:今天是LeetCode专题第52篇文章,我们一起来看LeetCode第84题,Largest Rectangle in Histogram(最大矩形面积)。 这道题的官方难度是Hard,点赞3581,反对只有80,通过率在34.7%左右。从通过率上来看,难度其实还可以,并没有特别大,但是这道题的点赞
阅读全文
摘要:简介 比特币网络是中本聪作为一个实验性的网络提出来并运行的。没想到的是这一个实验性质的网络,居然成了现在虚拟货币世界的龙头老大。这个结局估计是中本聪本人都没有想到过的。 既然是一个实验性的网络,那么比特币网络中又隐藏着哪些痛点呢?快来看看吧。 攻击比特币网络 比特币网络是基于P2P架构的。在整个比特
阅读全文
摘要:有错误请指出~ 什么是Docker 首先来介绍一下什么是Docker,Docker是早于2013年发布的开源项目,它借助操作系统的虚拟化技术来实现应用间的资源隔离,从而应用能更加快速方便地打包和部署在任何地方。根据官网描述,Docker是一个借助容器进行开发,部署和运行应用的工具,通俗来说,Dock
阅读全文
摘要:本文将以个人(开发)的角度,讲述如何使用Docker技术在线上单机模式下部署一个Web应用,如有错误欢迎指出。 上次在这篇文章提到了Docker,这次打算把这个坑展开来讲。 首先,什么是Docker?根据官网描述,我们可以得知,Docker是一个软件/容器平台,使用了虚拟化技术(cgroups,na
阅读全文
摘要:最近在寻找一个工具来将以前的笔记和书签统一整理,刚好找到一款叫「Notion」的软件,使用了两天,感觉比较满足我的需求,于是打算分享我为什么选择Notion来作为我的笔记应用。 以前我用的比较多的笔记应用是Evernote,对于Evernote来说,它的优点有很多,首先它的界面简洁美观,而且功能非常
阅读全文
摘要:简介: 人工智能应用场景中,Flink 在包括特征工程,在线学习,在线预测等方面都有一些独特优势,为了更好的支持人工智能的使用场景,Flink 社区以及各个生态都在努力。 摘要:人工智能应用场景中,Flink 在包括特征工程,在线学习,在线预测等方面都有一些独特优势,为了更好的支持人工智能的使用场景
阅读全文
摘要:近日常有同学来问我如何阅读代码,关于这个问题的一般性答案我特别提了一个问题并自问自答。出于提供一个实际的例子的考量,正好此前综合地阅读了 Spark 的 RPC 实现、Flink 基于 Akka 的 RPC 实现和 Actor Model 的通信模型,写成本文分享我阅读分布式计算系统 Spark 和
阅读全文
摘要:我们经常需要在一个时间窗口维度上对数据进行聚合,窗口是流处理应用中经常需要解决的问题。Flink的窗口算子为我们提供了方便易用的API,我们可以将数据流切分成一个个窗口,对窗口内的数据进行处理。本文将介绍如何在Flink上进行窗口的计算。 一个Flink窗口应用的大致骨架结构如下所示: // Key
阅读全文
摘要:在过去的一年里,他靠 GitHub 项目的打赏赚到了 10 万美元。在他的自述文章中,他分享了自己靠 GitHub 项目赚钱的经历和技巧。Caleb Porzio 发推庆祝自己靠 GitHub 打赏(GitHub Sponsors)赚到了 10 万美元。GitHub Sponsors 是 GitHu
阅读全文
摘要:前言 为了保证程序的容错恢复以及程序启动时其状态恢复,几乎所有公司的实时任务都会开启 Checkpoint 或者触发 Savepoint 进行状态保存。为了使得用户更加理解这两点区别,本文结合 Flink 1.9 版本,重点讲述 Flink Checkpoint,Savepoint 相关概念以及注意
阅读全文
摘要:引言 近些年,企业对数据服务实时化服务需求日益增多。本文整理了常见实时数据组件的性能特点和适用场景,介绍了美团如何通过 Flink 引擎构建实时数据仓库,从而提供高效、稳健的实时数据服务。此前我们美团技术博客发布过一篇文章《流计算框架 Flink 与 Storm 的性能对比》,对 Flink 和 S
阅读全文
摘要:简介: 本文所有的实战演练都将在 Flink SQL CLI 上执行,全程只涉及 SQL 纯文本,无需一行 Java/Scala 代码,无需安装 IDE。 上周四在 Flink 中文社区钉钉群中直播分享了《Demo:基于 Flink SQL 构建流式应用》,直播内容偏向实战演示。这篇文章是对直播内容
阅读全文
摘要:前言 深度学习领域,最常见的就是各种网络模型,那么在写论文或者文章,介绍网络模型的时候,最好的办法当然就是展示代码画图,今天介绍的 Github 项目,就是整理了 22 个设计和可视化网络结构的工具,其地址如下: https://github.com/ashishpatel26/Tools-to-D
阅读全文
摘要:熟悉Oracle的人,想必对临时表(temporary table)并不陌生,很多场景对解决问题起到不错的作用,开源库Postgresql中,也有临时表的概念,虽然和Oracle中临时表名字相同,使用方法和特性也有类似的地方,但还是有很多不同的方面,下面就对比Oracle中临时表举例说明下。 1、P
阅读全文
摘要:今天是Python专题的第21篇文章,我们继续多线程的话题。 上周的文章当中我们简单介绍了线程和进程的概念,以及在Python当中如何在主线程之外创建其他线程,并且还了解了用户级线程和后台线程的区别以及使用方法。今天我们来看看线程的其他使用,比如如何停止一个线程,线程之间的Event用法等等。 停止
阅读全文
摘要:前言 1.1 随便先说下 Linux 内核非常庞大,我说的非常大并不是为了吓唬大家,确实是非常多的代码,超过 600 万行的代码,所以我写文章介绍 Linux 内核,也不可能每一行代码去分析,但是我会提炼其中的重点出来,告诉大家,Linux 内核的构成,包含哪些东西,我们不管学习什么,最关键的是学会
阅读全文
摘要:数据结构是我们软件开发中最基础的部分了,它体现着我们编程的内功。大多数人在正儿八经学习数据结构的时候估计是在大学计算机课上,而在实际项目开发中,反而感觉到用得不多。其实也不是真的用得少,只不过我们在使用的时候被很多高级语言和框架组件封装好了,真正需要自己去实现的地方比较少而已。但别人封装好了不代表我
阅读全文
摘要:现在一聊到容器技术,大家就默认是指 Docker 了。但事实上,在 Docker 出现之前,PaaS社区早就有容器技术了,以 Cloud Foundry、OpenShift 为代表的就是当时的主流。 那为啥最终还是 Docker 火起来了呢? 因为传统的PaaS技术虽然也可以一键将本地应用部署到云上
阅读全文
摘要:#编程模型对比 运行角色 Spark Streaming 运行时的角色(standalone 模式)主要有: Master:主要负责整体集群资源的管理和应用程序调度; Worker:负责单个节点的资源管理,driver 和 executor 的启动等; Driver:用户入口程序执行的地方,即 Sp
阅读全文
摘要:本文主要分享与交流 Flink 状态使用过程中的一些经验与心得,当然标题取了“最佳实践”之名,希望文章内容能给读者带去一些干货。本文内容首先是回顾 state 相关概念,并认识和区别不同的 state backend;之后将分别对 state 使用访问以及 checkpoint 容错相关内容进行详细
阅读全文
摘要:简介: 本文由 bilibili 大数据实时平台负责人郑志升分享,基于对 bilibili 实时计算的痛点分析,详细介绍了 bilibili Saber 实时计算平台架构与实践。本次分享主要围绕以下四个方面:实时计算的痛点、Saber 的平台演进、结合 AI 的案例实践、未来的发展与思考。 摘要:本
阅读全文
摘要:今天是pandas数据处理专题第三篇文章,我们来聊聊DataFrame中的索引。 上篇文章当中我们简单介绍了一下DataFrame这个数据结构的一些常见的用法,从整体上大概了解了一下这个数据结构。今天这一篇我们将会深入其中索引相关的应用方法,了解一下DataFrame的索引机制和使用方法。 数据准备
阅读全文
摘要:问题描述 近期,线上有个重要Mysql客户的表在从5.6升级到5.7后,master上插入过程中出现"Duplicate key"的错误,而且是在主备及RO实例上都出现。以其中一个表为例,迁移前通过“show create table” 命令查看的auto increment id为1758609,
阅读全文
摘要:三分钟学 Go 语言——函数深度解析(中) 上回函数深度解析给大家聊了一些函数的基本知识,不知道还有没有人记得,不记得赶紧回去复习! 他们是 go语言中函数的基本原理 单/多个同/不同类型参数 单/多个同/不同类型返回值 值传递,引用传递 函数进阶,把函数当作变量传递(在不改变函数内部结构的情况下传
阅读全文
摘要:前言 2019年,似乎人人都在提数据中台,但却不是所有人都清楚数据中台到底意味着什么。数据中台是只有大厂才需要考虑的高大上的概念吗?普通企业该不该做数据中台?数据中台的出现会给现有数据从业者们带来颠覆式的挑战吗? 数据中台不是大数据平台 首先它不是一个平台,也不是一个系统,如果有厂商说他们有个数据中
阅读全文
摘要:安全是多线程编程的核心主题,但并不是只要使用多线程就一定会引发安全问题。要了解哪些操作是安全的,哪些是不安全的,就必须先掌握如何使用多线程。不过在操作多线程之前,我们先了解一下多线程的几种状态。 线程的状态 在Thread的实现中,包含一个名为State的enum类,用来标识线程运行中的各种状态,其
阅读全文
摘要:今天是高考结束的一天,加上今天新加坡大选放假,所以抽空和大家聊聊高考和就业的问题。 这篇主要是写给刚高考完或者是还在上大学的小伙伴们的,主要是想和大家讨论一个问题,进入BAT这样顶级的互联网公司究竟有多难?以及需要做的准备。 心态 谈到这个话题首先要说的就是心态,心态呢无非两种,对于大多数人来说这两
阅读全文
摘要:问:为什么是 while 而不是 if ? 大多数人都知道常见的使用 synchronized 代码: synchronized (obj) { while (check pass) { wait(); } // do your business} 那么问题是为啥这里是 while 而不是 if 呢
阅读全文
摘要:万字长文目录,建议可以先码住慢慢看~ 腾讯:如何获得高评级、转正失败如何应对 狗蛋:本科面试腾讯产品策划的暑期实习,转正留用,考核评级均获得最高 X同学:腾讯暑期实习生,暑期留用考核未通过,但经过秋招的努力,最后拿到了字节跳动、腾讯等公司的sp offer。 阿里:转正经验、转岗操作 TT学姐:国内
阅读全文
摘要:有不少读者反馈,参考上篇文章《Hive 终于等来了 Flink》部署 Flink 并集成 Hive 时,出现一些 bug 以及兼容性等问题。虽已等来,却未可用。所以笔者增加了这一篇文章,作为姊妹篇。 回顾 在上篇文章中,笔者使用的 CDH 版本为 5.16.2,其中 Hive 版本为 1.1.0(C
阅读全文
摘要:1.什么是数据库? 数据库是“按照数据结构来组织、存储和管理数据的仓库”。是一个长期存储在计算机内的、有组织的、可共享的、统一管理的大量数据的集合。 2.如何查看某个操作的语法? 比如看建表的语法: mysql> ? create table Name: 'CREATE TABLE' Descrip
阅读全文
摘要:本文翻译自 streaml.io 网站上的一篇博文:“Exactly once is NOT exactly the same” ,分析了流计算系统中常说的『Exactly Once』特性,主要观点是:『精确一次』并不保证是完全一样。主要内容如下: 背景 1.1. 最多一次(At-most-once
阅读全文
摘要:SQL 基础使用 MySQL 是一种关系型数据库,说到关系,那么就离不开表与表之间的关系,而最能体现这种关系的其实就是我们接下来需要介绍的主角 SQL,SQL 的全称是 Structure Query Language ,结构化的查询语言,它是一种针对表关联关系所设计的一门语言,也就是说,学好 My
阅读全文
摘要:一. 数据切分 二. 分库分表带来的问题 三. 什么时候考虑切分 四. 案例分析 五. 支持分库分表中间件 六. 参考 《Java 2019 超神之路》 《Dubbo 实现原理与源码解析 —— 精品合集》 《Spring 实现原理与源码解析 —— 精品合集》 《MyBatis 实现原理与源码解析 —
阅读全文
摘要:今天是Python专题的第22篇文章,原本今天是准备和大家继续Python当中多线程的使用的相关内容。然而前两天有一个读者在后台问我,学习Python有哪些适合新手入门的小项目推荐,所以今天这篇临时改为了答疑篇,咱们来聊聊这个问题。 对于我来说Python的应用场景主要是机器学习、深度学习相关,对于
阅读全文
摘要:一个阳光明媚的周末,透光的窗帘把我从睡梦中叫醒,大脑说今天是周六,可以慵懒个一上午,于是开心地打开我的 Mac 准备看两集 Rick and Morty 再起床洗漱。 我迫不及待打开了对应的网站,发现浏览器提示 No internet,这才发现因为我的动作太过于行云流水,电脑还没来得及连上 wifi
阅读全文
摘要:今天是机器学习专题的第29篇文章,我们来聊聊SVD在上古时期的推荐场景当中的应用。 推荐的背后逻辑 有没有思考过一个问题,当我们在淘宝或者是某东这类电商网站购物的时候。我们一进首页,就会看到首页展出了很多商品。这些商品往往质量很高,很吸引人,一旦逛起来可能就没个结束。那么问题来了,电商平台拥有那么多
阅读全文
摘要:在Java中处理异常并不是一个简单的事情。不仅仅初学者很难理解,即使一些有经验的开发者也需要花费很多时间来思考如何处理异常,包括需要处理哪些异常,怎样处理等等。这也是绝大多数开发团队都会制定一些规则来规范对异常的处理的原因。而团队之间的这些规范往往是截然不同的。本文给出几个被很多团队使用的异常处理最
阅读全文
摘要:俗话说:三句不离本行,对于程序员这个可爱的群体来说也是一样,即使面对无休无止的编程工作,程序员们依旧任劳任怨的埋头苦干,梦想着用自己码下的代码改变世界。工欲善其事,必先利其器,每一位程序员都有自己私藏的编程必备工具,接下来小编就给大家推荐5款程序员最佳的代码比较工具。一:Beyond Compare
阅读全文
摘要:用户中心,几乎是所有互联网公司,必备的子系统。随着数据量不断增加,吞吐量不断增大,用户中心的架构,该如何演进呢。什么是用户中心业务?用户中心是一个通用业务,主要提供用户注册、登录、信息查询与修改的服务。用户中心的数据结构是怎么样的?用户中心的核心数据结构为:User(uid, login_name,
阅读全文
摘要:今天是算法数据结构专题的第29篇文章,我们来聊一个新的字符串匹配算法——KMP。 KMP这个名字不是视频播放器,更不是看毛片,它其实是由Knuth、Morris、Pratt这三个大牛名字的合称。老外很喜欢用人名来命名算法或者是定理,数学里就有一堆,什么高斯定理、欧拉函数什么的。但是中国人更倾向于从表
阅读全文
摘要:红黑树(Red Black Tree)是一种自平衡的二叉搜索树(Self-balancing Binary Search Tree)。以前也叫做平衡二叉 B 树(Symmetric Binary B-tree)。 预备知识 树的知识框架结构如下图所示: 平衡二叉搜索树 平衡二叉搜索树(Balance
阅读全文
摘要:背景 ElasticJob 是什么? ElasticJob 调度模型 ElasticJob 功能列表 ElasticJob 典型应用场景 ElasticJob 新版本设计理念 未来规划 关于 ElasticJob 社区 导读: 调度(Scheduling)在计算机领域是个庞大概念,CPU 调度、内存
阅读全文
摘要:简介 程序员天天都在写代码,关注的都是更高层次的封装,今天我们换个思路,让程序那些事来带你看一看隐藏在表象之下的网络和他们的性能分析。 本文主要涉及5个模块,分别是网络七层协议,延迟与带宽,IP,TCP,UDP。 OSI网络七层协议 在讲网络之前,一定要提到OSI网络七层协议。 OSI是Open S
阅读全文
摘要:最近,在对公司容器云的日志方案进行设计的时候,发现主流的ELK或者EFK比较重,再加上现阶段对于ES复杂的搜索功能很多都用不上最终选择了Grafana开源的Loki日志系统,下面介绍下Loki的背景。 背景和动机 当我们的容器云运行的应用或者某个节点出现问题了,解决思路应该如下:我们的监控使用的是基
阅读全文
摘要:8月底,树莓派 4 宣布了最新升级:新出 8GB 内存版本,售价 75 刀。这款新的树莓派到底香不香? 为了回答这个问题,一位名为 Jeff Geerling 的油管博主萌生了一个大胆的想法:在某个工作日,拔掉自己的 MacBook Pro,插上新买的 8GB 树莓派 4 作为主要的工作电脑,看看一
阅读全文
摘要:分布式缓存是现在很多分布式应用中必不可少的组件,但是用到了分布式缓存,就可能会涉及到缓存与数据库双存储双写,你只要是双写,就一定会有数据一致性的问题,那么你如何解决一致性问题? Cache Aside Pattern 最经典的缓存+数据库读写的模式,就是 Cache Aside Pattern。读的
阅读全文
摘要:本周在线举行的开源峰会和嵌入式Linux会议上,Linux开发者Linus Torvalds谈到了寻找开源内核未来维护者的挑战。 “目前的维护者多是50、60后,社区面临代际更新问题。“ Linux真的后继无人了吗? Linux:我们都五六十岁了,社区需要新老接替 和很多老一辈社区一样,Linux也
阅读全文
摘要:今天是golang专题的第12篇文章,我们来继续聊聊interface的使用。 在上一篇文章当中我们介绍了面向对象的一些基本概念,以及golang当中interface和多态的实现方法。今天我们继续来介绍interface当中其他的一些方法。 万能类型interface 在Java以及其他语言当中接
阅读全文
摘要:你真的需要分布式锁吗? 用到分布式锁说明遇到了多个进程共同访问同一个资源的问题。一般是在两个场景下会防止对同一个资源的重复访问: 提高效率。比如多个节点计算同一批任务,如果某个任务已经有节点在计算了,那其他节点就不用重复计算了,以免浪费计算资源。不过重复计算也没事,不会造成其他更大的损失。也就是允许
阅读全文
摘要:项目描述:在微信小程序中通过与Springboot操作数据库实现简单的增删改查,其中我是用springboot整合mybatis-plus 和mysql使用的。 1. 开发前准备 1.1 前置知识 java基础 SpringBoot简单基础知识 1.2 环境参数 开发工具:IDEA 基础环境:Mav
阅读全文
摘要:简介 锁和同步是java多线程编程中非常常见的使用场景。为了锁定多线程共享的对象,Java需要提供一定的机制来实现共享对象的锁定,从而保证一次只有一个线程能够作用于共享对象。当第二个线程进入同一个区域的时候,必须等待第一个线程解锁该对象。 JVM是怎么做到的呢?为了实现这个功能,java对象又需要具
阅读全文
摘要:早年Google的四大基础设施,分别是GFS, MapReduce, BigTable, Chubby, 前三个比较有名,今天来说说最后一个,Chubby。 Chubby是什么? Chubby是早年Google四大基础设施之一,提供粗粒度的分布式锁服务。 Chubby的使用者不需要关注复杂的同步协议
阅读全文
摘要:在 IDEA Intellij小技巧和插件 一文中简单介绍了一下IdeaVim插件。在这里详细总结一下这个插件在日常编程中的一些常用小技巧。供有兴趣使用这个插件,但对Vim还不十分熟悉的朋友参考。当然基本的hjkl移动光标和几种常见模式等等基本概念就略过不提了。为了确保只包含常用操作,这里提到的技巧
阅读全文
摘要:“你知道茴香豆的‘茴’字有几种写法吗?” 纠结单例模式有几种写法有用吗?有点用,面试中经常选择其中一种或几种写法作为话头,考查设计模式和coding style的同时,还很容易扩展到其他问题。这里讲解几种笔者常用的写法,但切忌生搬硬套,去记“茴香豆的写法”。编程最大的乐趣在于“know everyt
阅读全文
摘要:ID Generator id生成器 分布式id生成系统,简单易用、高性能、高可用的id生成系统 简介 Tinyid是用Java开发的一款分布式id生成系统,基于数据库号段算法实现,关于这个算法可以参考美团leaf或者tinyid原理介绍。Tinyid扩展了leaf-segment算法,支持了多db
阅读全文
摘要:经常有朋友问,MySQL双主的一致性问题,今天简单聊一聊。 MySQL为什么要使用双主架构? MySQL最常见的集群架构,是一主多从,主从同步,读写分离的架构。通过这种方式,能够扩充数据库的读性能,保证读库的高可用,但此时写库仍然是单点。 为了保证MySQL写库的高可用,可以在一个MySQL数据库集
阅读全文
摘要:今天是pandas数据处理专题的第六篇文章,我们来聊聊DataFrame的排序与汇总运算。 在上一篇文章当中我们主要介绍了DataFrame当中的apply方法,如何在一个DataFrame对每一行或者是每一列进行广播运算,使得我们可以在很短的时间内处理整份数据。今天我们来聊聊如何对一个DataFr
阅读全文
摘要:导读:技术传播的价值,不仅仅体现在通过商业化产品和开源项目来缩短我们构建应用的路径,加速业务的上线速率,也体现在优秀工程师在工作效率提升、产品性能优化和用户体验改善等经验方面的分享,以提高我们的专业能力。本文作者阿里巴巴技术专家三画,分享了自己和团队在画好架构图方面的理念和经验,首发于阿里内部技术分
阅读全文
摘要:前言 说到后台技术栈,脑海中是不是浮现的是这样一幅图?有点眼晕,以下只是我们会用到的一些语言的合集,而且只是语言层面的一部分,就整个后台技术栈来说,这只是一个开始,从语言开始,还有很多很多的内容。今天要说的后台是大后台的概念,放在服务器上的东西都属于后台的东西,比如使用的框架,语言,数据库,服务,操
阅读全文
摘要:博主负责的项目主要采用阿里云数据库MySQL,最近频繁出现慢SQL告警,执行时间最长的竟然高达5分钟。 导出日志后分析,主要原因竟然是没有命中索引和没有分页处理。其实这是非常低级的错误,我不禁后背一凉,团队成员的技术水平亟待提高啊。改造这些SQL的过程中,总结了一些经验分享给大家,如果有错误欢迎批评
阅读全文
摘要:今天是Python专题的第25篇文章,我们一起来聊聊多线程开发当中死锁的问题。 死锁 死锁的原理非常简单,用一句话就可以描述完。就是当多线程访问多个锁的时候,不同的锁被不同的线程持有,它们都在等待其他线程释放出锁来,于是便陷入了永久等待。比如A线程持有1号锁,等待2号锁,B线程持有2号锁等待1号锁,
阅读全文

浙公网安备 33010602011771号