自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

五只鸭子的专栏

脚踏实地,务实求真

  • 博客(58)
  • 资源 (14)
  • 问答 (2)
  • 收藏
  • 关注

原创 Redis 逻辑过期策略设计思路

当我们平常使用Redis缓存的时候,会出现一种场景, redis的key到过期时间了,总是需要到数据库里面去查一遍数据再set回redis,这个时候如果数据库响应比较慢,那么就会造成用户等待,如果刚好并发比较大,则有可能给数据库造成巨大的压力,甚至导致服务不可用。当客户端发起GET请求的时候,首先判断Value是否有值。如果没有,说明物理过期时间已经过期了,这个时候执行LoadValue函数,一般是从数据库里面加载数据,然后再调用Set请求,将数据set进Redis,并将数据返回给Client。

2024-04-18 15:16:54 2174

原创 岭回归:优化预测的利器

在数据科学和机器学习的领域,构建准确、稳定的预测模型是一项至关重要的任务。岭回归作为一种强大的工具,被设计用来应对数据集中存在多重共线性的问题,并通过引入正则化来缩小预测误差。岭回归是线性回归的一种扩展形式,通过在损失函数中引入L2正则化项,控制模型的复杂度。其中,yi​ 是观测值,xij​ 是特征矩阵的元素,β0​ 是截距项,βj​ 是自变量的系数,α 是正则化参数。

2024-03-12 23:43:33 390

原创 概率与常见的概率分布

概率是数据分析、机器学习中最基础的知识。也是在生活中最实用的一门学科,学了很多大道理不一定能过好一生,学好概率则有一定概率会变得更好。

2024-03-12 23:34:32 998

原创 ABC原则助你选择合适的数据类型

在数据库中,不论是关系型数据库还是大数据等,面对数据类型选择的时候ABC原则都适用。ABC原则,即Appropriate(合适的)、Brief(消耗最少的资源)、Complete(数据不可丢失)帮助我们更好地选择数据类型。

2024-02-25 15:21:19 478

原创 埋点事件属性设计方案

除了通用属性外,通常根据不同的业务,或操作展现性质,会有不同的属性,为了让事件属性不要膨胀,建议在埋点管理系统中将事件和事件属性进行严格管控。预制事件通常由第三方的埋点系统自己上报,市面上有比较多的第三方埋点系统,例如神策、每一个页面离开的时候,需要上报 page_leave 事件,事件名称为 页面离开。每一个页面进入的时候,需要上报 page_view 事件,事件名称为 页面浏览。可以规定事件创建的时候,属性必须是从现有的属性池中选择,而不是随意添加。事件的通用属性,每个元素事件都需要上传。

2024-02-25 14:20:30 1317

原创 用户行为埋点采集方案架构概览

在互联网应用中,了解用户的行为对产品的优化和公司的战略至关重要,市面上主要涵盖这三种埋点方式,分别是全埋点、可视化埋点和代码埋点,各有优缺点,一般有实力的企业都会选择代码埋点,更加灵活而且能获取到更加丰富的信息。图1 :三种埋点方式的对比我们详细讨论下代码埋点的架构和基本概念。

2024-02-25 13:47:39 447

原创 线性代数:理解矩阵的基本操作:加法、减法和乘法

矩阵是线性代数中的一种基本结构,广泛应用于数学、物理、计算机科学等领域。在本文中,我们将深入探讨矩阵的加法、减法和乘法操作,通过图文和Python代码来一起逐步理解这些基本操作。

2024-02-24 21:18:47 1101

原创 用SpEL优雅实现Kafka中的消息被group中所有机器都消费

一种思路是让每台机器的groupid不一致,例如group name加上本机IP, 这样就能实现所有的机器都能消费到同一个topic了。还有一种业务场景,需要让每台机器都消费topic中的消息。例如本地缓存的场景,在应用集群部署的环境下,需要把数据库里面的内容缓存到每台机器的本地。数据库内容变更的时候,发送kafka消息,每台机器都需要更新本地的缓存。通常来说,Kafka中的一条消息在同一个消费组(group)中只能被一个消费者消费,这种场景在应用端集群部署的时候非常适用。

2024-02-24 09:58:11 195

原创 向量的组成

向量是有序的一维数组,其中包含多个标量元素。每个元素都有一个索引,表示其在向量中的位置。在数学表示中,我们通常用小写粗体字母表示向量,如 v。向量的构成元素主要是其分量。在二维空间中,一个向量有两个分量,分别表示向量在x轴和y轴上的投影。在三维空间中,一个向量有三个分量,分别表示向量在x轴、y轴和z轴上的投影。向量的分量不仅决定了向量的大小和方向,还决定了向量在空间中的位置。二维向量在x和y轴上的投影。

2024-02-23 23:14:35 319

原创 线性代数:向量、张量、矩阵和标量

标量是数学中的一个基本概念,它表示一个单独的实数,没有方向或位置。在数学表示中,我们通常用小写字母表示标量,例如 a 或 x。向量是有序的一维数组,其中包含多个标量元素。每个元素都有一个索引,表示其在向量中的位置。在数学表示中,我们通常用小写粗体字母表示向量,如v。矩阵是一个二维数组,其中包含多个标量元素,这些元素按行和列排列。在数学表示中,我们通常用大写字母表示矩阵,如 A。在线性代数里面可以简单的将张量理解为一个多维数组,可以包含标量、向量和矩阵。在数学表示中,我们通常用大写粗体字母表示张量,如T。

2024-02-23 21:57:28 1713 1

原创 常见的20种数据值异常检验方法

数据值异常是指在数据集中存在一些与其他数据值相比较不符的值。这些异常值有可能是由于数据录入错误、测量偏差或者其他未知原因导致的。数据值异常对数据分析和建模的结果产生了不利的影响,因此需要进行检验和处理。

2023-04-29 17:29:19 4106 2

原创 数据治理在学术上的发展史以及未来展望

数据治理是大数据领域中非常重要的一环,从早期的学术研究到如今的各大企业落地实践,经历了漫长的过程,数据治理的实践落地本身也是一场马拉松。从百度学术通过精确关键词匹配,搜索中文期刊的“数据治理” 和外文期刊的“data governance”查看1980年以来的论文发布数量,2000年之前没有收录记录。2000-2009年有少量收录,2010年之后开始指数级上升。当然,百度学术的数据不一定完全,只能反映一部分情况,只能做一个简单的参考。

2023-04-28 17:34:18 1626 1

原创 现代企业级架构框架蓝图

企业架构不仅仅是IT架构,他定义了一个企业的组织结构和运作流程,目的是让组织能够更高效的实现企业的愿景。强调一切以公司使命为指引,以战略目标为方向,而不是完全以技术为导向。

2022-12-13 21:28:20 1085

原创 各种平均值:算术平均值,几何平均值,调和平均值等

平均数反映了一组数据的一般水平,最常见的平均数是算术平均数,除了算数平均数外,还有几何平均数,调和平均数,加权平均数等。

2022-10-10 20:14:03 13296

原创 利用Hound快速搭建代码搜索引擎

Hound 是轻量级的快速代码搜索引擎。支持Git、SVN、Mercurial、Bazaar。Hound 自身是个静态 React 前端,可以和 Go 后端进行交互,后端拉取最新代码库并建立索引,并通过API进行代码搜索和页面展示。效果如图。

2022-10-09 15:00:33 654

原创 猿创征文|TiDB架构解析和注意事项

TiDB是一款开源的分布式HTAP数据库,同事支持TP(Transactional Processing)的在线事务处理,也支持AP(Analytical Processing)的在线分析处理。实际使用下来的感受:TP场景的高并发确实非常优秀,但是AP场景的分析能力相对专业的AP数据库还是存在不足之处。TiDB的最大亮点:通过 Multi-Raft Learner 协议将TiKV的数据实时复制到TiFlash,确保行存储引擎 TiKV 和列存储引擎 TiFlash 之间的数据强一致。

2022-10-06 21:43:42 1993

原创 Hadoop生态系统全面介绍

Hadoop作为大数据的分布式计算框架,发展到今天已经建立起了很完善的生态,本文将一一介绍基于Hadoop生态的一系列框架和组件。Flume简介:Flume 是一个分布式、高可用的服务,用于高效收集、聚合和移动大量日志数据。作用:Flume 主要承载的作用是收集各个数据源的事件或日志数据,然后将其Sink到数据库架构Flume的实现架构原理也非常简单,通过Agent代理来实现数据的收集,一个Agent包含了Source,channel,Sink三个组件。Source:采集的数据来源

2022-05-28 10:22:35 9123

原创 MaxCompute(ODPS):Hive的进阶者

Hive概述架构于Hadoop之上,可以将结构化的HDFS文件映射成一张表,并提供了类似于SQL语法的HQL查询功能核心本质:将HQL语句转换成MapReduce任务Hive的主要优缺点优点:避免了开发人员去实现Map和Reduce的接口,大大降低了学习成本HQL语法类似于SQL语法,简单、容易上手缺点:执行效率比较低 Hive生成的MapReduce任务,不够智能化,容易造成数据倾斜Hive架构图每个模块负责的内容:Meta Store: 元数据,一般存储在mysqlClient

2022-04-22 21:11:56 3986

原创 浅谈企业的数字化转型

企业为什么要做数字化转型我们怎样看待这个世界?“数字孪生”概念的兴起让我们能以数字化的角度来看待这个物理世界,一切在物理世界的实体都能在数字世界里映射出来。借助数字孪生,可以将物理世界的实体进行建模映射在数字世界,在数字世界通过量化的方式,可以更加直觉的了解物理实体的状况。然后对量化的数据进行提炼挖掘和分析,提取出有用的信息,这些信息再输出给物理世界,从而帮助物理世界做出更为合理的行动和决策,帮助物理世界改进流程,再将改进的流程再次映射到数字世界,如此形成一个正向的循环。企业一旦形成这种正向的循环,

2022-04-19 19:43:49 4687 1

原创 MySQL设计和开发规范

说明:此设计规范考虑了业务规范和数据处理的规范,其中的主键ID和etl_update_time字段的规范是为了方便数据平台分析处理数据。Common不要使用MySQL保留关键字建议级别:强制说明:不论是库名,表名,字段名,索引名等都不要使用MySQL保留的关键字。5.6版本的完整关键词参考MySQL官方文档:https://dev.mysql.com/doc/refman/5.6/en/keywords.html#keywords-5-6-detailed-A反例:from,time,key

2022-04-19 14:56:37 252

原创 数说金融-宁德时代储能业务对上游企业拥有极高话语权

据365储能及智慧能源能够调研数据整理,2021年中国储能企业20强和储能电池企业20强分别如下。储能行业集中度非常高,宁德时代和比亚迪处于领先的第一梯队,其中宁德时代一家就占据了市场的半壁江山储能电池上游的原材料主要包括正极材料、负极材料、电解液、隔膜以及结构件等;上游的集成系统设备主要包括涂布机、搅拌机等。目前储能电池主要以锂电池的形态存在,其上游原材料主要是锂电池上游的参与者。2012-2020年,锂电池开始被广泛应用,锂离子电池占全球电化学储能累计装机规模由2012年的26%提升至2019年

2022-01-11 16:02:22 710

原创 数说金融-财富归边愈演愈烈

二八原则相信大家都耳熟能详了,并且绝大部分人已经认可二八原则的存在和合理性了,可是现实真的是这样吗?特别是在万恶的资本市场,二八原则同样适用吗?

2022-01-11 11:32:38 2607

原创 swagger-ui-layer v1.0.0 正式版发布

swagger-ui-layer v1.0.0正式版发布swagger-ui-layer 简介主要更新功能待完成功能源码维护地址swagger-ui-layer 简介swagger-ui-layer 是一个基于swagger的前端UI实现,目的是为了让接口文档更直观,更漂亮,更好用。经过一年多的时间,6个非正式版的发布,终于迎来了第一个正式版的发布。感谢swagger-ui-layer 的co...

2018-10-30 21:23:06 1582

原创 ElasticSearch es 插件开发

ElasticSearch es 插件开发1. 插件分类API Extension Plugins API扩展插件 通过添加新的API或功能向Elasticsearch添加新功能,通常与搜索或映射有关。 优秀插件代表: SQL language Plugin: 让 Elasticsearch 支持 SQL语句查询 (by NLPchina)Alerting Plugins 告警插...

2018-09-16 14:30:28 8282

原创 ElasticSearch 聚合筛选,类似SQL里面的having

ElasticSearch 聚合筛选,类似SQL里面的having 特别说明:文章所有内容基于ElasticSerch 5.5.3版本背景我们在实际业务场景中会遇到聚合筛选的需求,需要先分组然后聚合,再通过聚合的结果进行筛选,关系型数据库中有having或者子查询来实现,ES中key使用 bucket_selector 来实现此功能实际业务场景需要找出下单次数大于等于...

2018-07-11 16:17:03 17153 7

原创 ElasticSearch join连接查询

ElasticSearch join连接查询 特别说明:文章所有内容基于ElasticSerch 5.5.3版本ElasticSerch 的连接查询有两种方式实现nestedparent和child关联查询nested存储结构 nested的方式和其他字段一样,在同一个type里面存储,以数组的方式存储在type里,格式如下:PUT index...

2018-07-10 20:28:08 55314 9

原创 JavaCV 第一个JavaCV程序

JavaCV 第一个JavaCV程序JavaCV 简介JavaCV是一个计算机视觉领域的封装库,封装了包括 OpenCV,FFmpeg 等 GitHub: https://github.com/bytedeco/javacv 顺便附上 OpenCV 的文档地址: https://docs.opencv.org/master第一个JavaCV 程序使用J...

2018-05-25 17:33:33 19107 3

原创 Spring Cloud Eureka Server 高可用集群搭建

Eureka 作为一个云端负载均衡,本身是一个基于REST的服务,在 Spring Cloud 中用于发现和注册服务。 那么当成千上万个微服务注册到Eureka Server中的时候,Eureka Server 的负载将会很大,这样一旦Eureka Server服务挂掉了,整个微服务架构也就瘫掉了,所以在实际生产环境中不光要对注册在Eureka Server中的微服务进行集群管理

2017-10-25 16:52:04 7776

原创 Swagger 自定义UI界面

Swagger 自定义UI界面Swagger简单介绍如何使用Swagger 添加自定义UI界面使用swagger-ui-layer

2017-09-13 14:11:48 96261 43

原创 Java 基础操作库 hoe 使用介绍

hoe 是一个 Java 基础操作库,包括 String,number,random 等常规操作,几乎包含了大部分工作中用到的常用处理方法,也有详细文档。可以使用 Hoe 来轻松解决字符串,数字,随机数等的处理。整个包不依赖任何其他第三方库,也极其简单小巧,只有 18kb。

2017-08-25 13:44:07 1068

原创 windows下 pip install 错误 error: Microsoft Visual C++ 10.0 is required (Unable to find vcvarsall.bat).

1、pip 需要安装Microsoft vc++ 编译模块,请确认先安装了此模块如果没有安装,就用Visio studio 安装下这个模块2、设置环境变量我设置了三个,分别对应不同的vs版本VS100COMNTOOLS = D:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\ToolsVS120COMN

2017-01-13 16:05:53 2412

原创 ORA-27101,ORA-01033 另类错误原因

Ghost镜像后连接数据库怎么也连不上,报下面两个错误ORA-27101: shared memory realm does not existORA-01033: ORACLE initialization or shutdown in progress试了各种方法都不管用查找原因最靠谱的方式是查看错误日志信息:日志文件在 ${oraclehome}\${databa

2016-12-29 11:35:57 1118

原创 技术泡妹子二:篡改百度首页,惊呆女神

大多数网民上网的入口都是先打开百度,然后再搜索xxx,进入,为了给女神惊喜,决定篡改百度首页让女神惊呆,当然不是黑了百度,目前没这个实力,但是我们可以修改host文件,将www.baidu.com 指向自己的机器,或者你自己的云端服务器,然后当女神打开百度的时候就会打开你做好的网页了,她会惊讶的,哈哈哈。

2016-01-17 11:34:00 25981 3

转载 架构师职业加点攻略

不同的过程在原理上是相通的,如果你目前只是一个程序员,那么经过无数的经验值的提升,最终都会实现蜕变,成为一名架构师。从小白玩家到最后的架构师的成长之中,漫长而又艰辛,如何将自己有限的精力投入在职业技能的加点分布上呢?

2016-01-12 21:48:25 949

转载 浏览器缓存机制

浏览器缓存机制,其实主要就是HTTP协议定义的缓存机制(如: Expires; Cache-control等)。但是也有非HTTP协议定义的缓存机制,如使用HTML Meta 标签,Web开发者可以在HTML页面的<head>节点中加入<meta>标签

2016-01-12 20:53:49 1140

原创 myeclipse导出可执行jar包读取外部配置文件

myeclipse导出的可执行jar包的时候会把properties也直接打在jar包里面了。导致修改配置文件还需要重新导jar包,太麻烦了。所以想要用jar包读取外部的配置文件。用下面的方式,导出jar包之后只需要把jar包和相应的配置文件放到一个目录下即可读取了

2016-01-08 23:47:54 6768

原创 Java nio 概述

1、Java nio 与 io最主要的区别;2、Nio的核心概念:Buffer (缓冲区),Channel(通道),Selector(选择器)

2015-12-29 21:41:54 4494 2

原创 redis 批量删除key

redis本身不支持批量删除key.可以借助jedis客户端,shell和lua脚本来实现1. shell脚本 2. lua 脚本 3. jedis 客户端,java客户端适用这种

2015-04-29 11:16:38 18114

原创 jedispool 连 redis 高并发卡死

java端在使用jedispool 连接redis的时候,在高并发的时候经常卡死,或报连接异常,JedisConnectionException,或者getResource 异常等各种问题在使用jedispool 的时候一定要注意两点1。 在获取 jedisPool和jedis的时候加上线程同步,保证不要创建过多的jedispool 和 jedis2。 用完Jedis实例后需要返还给J

2015-04-28 18:20:33 17734 15

原创 Redis存储Object 和 list<object>

Redis 存储支持的类型没有object ,虽然有支持list,但是只支持List有两种方法可以实现存储对象和泛型1.用序列化和反序列化2.json序列化工具类,实现序列化和反序列话对象和list集合package com;import java.io.ByteArrayInputStream;import java.io.ByteArrayOutputStre

2015-04-28 17:56:07 24274 1

SQLyog 64位中文破解版

SQLyog 64位中文破解版 ,本人一直在用 适用于Mysql 管理查看,各种数据库之间相互转换(支持mysql,db2,oracle,sqlserver,access)

2017-11-08

XenCenter-6.5.0 中文版

XenCenter-6.5.0 中文版

2017-02-10

svg画直线中间箭头

用SVG画在线中间的箭头 详细介绍 http://blog.csdn.net/tuposky/article/details/40677477

2014-11-01

core.jar 二维码生成所需jar包

core.jar 二维码生成所需jar包

2014-10-22

wechatsdk weixin微信项目例子

wechatsdk 封装了微信所有接口 使用该sdk只需要两个类即可构建微信项目 内含: WechatSDK帮助文档1.0.chm 微信SDK使用说明 项目demo例子 sdk的源码也已经上传到github上 地址:https://github.com/caspar-chen/WechatSDK

2014-03-14

收集的几种分页样式,非常漂亮

精选的几种漂亮分页样式。 其中有一款模仿百度的熊爪足迹。

2013-12-12

java-unrar-0.3.jar

java 解压rar的依赖jar包。不需要安装winrar。支持windows和linux 附上代码。 /** * 解压rar格式压缩包<br> * 依赖包:java-unrar-0.3.jar,commons-logging-1.1.1.jar * @param sourceRar * @param destDir * @throws Exception */ private static void unrar(String sourceRar, String destDir) throws Exception { Archive archive = null; FileOutputStream fos = null; try { archive = new Archive(new File(sourceRar)); FileHeader fh = archive.nextFileHeader(); while (fh != null) { if (!fh.isDirectory()) { //根据不同的操作系统拿到相应的 destDirName 和 destFileName String compressFileName = fh.getFileNameString().trim(); String destFileName = ""; String destDirName = ""; //非windows系统 if (File.separator.equals("/")) { destFileName = destDir + compressFileName.replaceAll("\\\\", "/"); destDirName = destFileName.substring(0, destFileName.lastIndexOf("/")); //windows系统 } else { destFileName = destDir + compressFileName.replaceAll("/", "\\\\"); destDirName = destFileName.substring(0, destFileName.lastIndexOf("\\")); } File dir = new File(destDirName); if (!dir.exists() || !dir.isDirectory()) { dir.mkdirs(); } //解压文件 fos = new FileOutputStream(new File(destFileName)); archive.extractFile(fh, fos); fos.close(); fos = null; } fh = archive.nextFileHeader(); } archive.close(); } catch (Exception e) { throw e; } finally { if (fos != null) { try { fos.close(); } catch (Exception e) { e.printStackTrace(); } } if (archive != null) { try { archive.close(); } catch (Exception e) { e.printStackTrace(); } } } }

2013-12-12

jQuery api 1.8 中文版.chm

jQuery api 1.8 中文版.chm 不要钱,随便拿。

2013-12-12

html5 帮助文档 chm,HTML5 从入门到精通

内含: 1、HTML 5与CSS 3权威指南中文版部分.rar 2、HTML5 从入门到精通 3、html5参考手册.chm 不要钱,随便拿。

2013-12-12

ws-security 和wss4j的jar包

ws-security 的三个jar包 和wss4j的所有jar包

2013-11-07

SSH+jbpm4.4 demo 内含建表语句

jbpm4.4 的简单demo流程。 内含建表sql语句

2013-11-06

ws-security 和 wss4j的jar包

内含: ISNetworksProvider.jar tsik.jar ws-security.jar 和wss4j的所有包

2013-11-06

Everything

Everything 一款用于急速搜索的工具。搜索速度比windows自带的要快了不知多少倍,非常好用

2012-10-24

小巧的桌面取色器

一款小巧的桌面取色器。非常好用

2012-10-24

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除