自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(33)
  • 收藏
  • 关注

原创 Scala

在Scala中,if表达式是有返回值的,就是if或者else中最后一行语句返回的值,这一点和java中的if是不一样的,java中的if表达式是没有返回值的。也就是说,我们可以为某个普通类定义一个加强类,并定义对应的隐式转换函数,这样我们在使用加强类里面的方法的时候,Scala 会自动进行隐式转换,把普通类转换为加强类,然后再调用加强类中的方法。在Scala中,定义函数时,如果函数体直接在花括号里面而没有使用=连接,则函数的返回值类型就是Unit,这样的函数称之为过程,过程通常用于不需要返回值的函数。

2025-04-01 23:34:51 723 1

原创 hive数据仓库

Hive 是一个强大的数据仓库工具,适合用于大数据场景下的数据分析和查询。

2025-03-29 13:26:01 1177

原创 flume

在实际工作中我们的日志数据一般都会通过log4j记录,log4j产生的日志文件名称是固定的,每天定时给文件重命名,假设默认log4j会向access.log文件中写日志,每当凌晨0点的时候,log4j都会对文件进行重命名,在access后面添加昨天的日期,然后再创建新的access.log记录当天的新增日志数据。source的数据会发往c1、c2、c3这三个channle中,可以保证c1、c2一定能接收到所有数据,但是c3就无法保证了,因为C3 是可选的,对C3的写入失败,是不会触发事务的。

2025-02-23 15:11:20 802

原创 Hadoop之MapReduce

MapReduce 是把数据分配给多个人,并行计算,每一个人获得一个局部聚合的临时结果,最终再统一汇总一下。:将数据读出来(JDBC等方式)到计算程序上计算。io、nio 成本巨大。:将计算程序拿到 数据节点上计算,最后结果汇总。:对海量的数据快速分布式计算的一个框架。wordCount 案例。

2025-02-16 22:30:09 113

原创 HDFS体系结构

刚才我们说了NameNode启动的时候会把文件中的元数据信息加载到内存中,然后每一个文件的元数据信息会占用150字节的内存空间,这个是恒定的,和文件大小没有关系,咱们前面在介绍HDFS的时候说过,HDFS不适合存储小文件,其实主要原因就在这里,不管是大文件还是小文件,一个文件的元数据信息在NameNode中都会占用150字节,NameNode节点的内存是有限的,所以它的存储能力也是有限的,如果我们存储了一堆都是几KB的小文件,最后发现NameNode的内存占满了。

2025-02-16 22:00:17 681

原创 Hadoop之HDFS的使用

url 在 使 用 时 默 认 是 可 以 省 略 的 , 因 为 hdfs 在 执 行 的 时 候 会 根 据HDOOP_HOME自动识别配置文件中的fs.defaultFS属性。HDFS是什么:HDFS是一个分布式的文件系统,是个网盘,HDFS是一种适合大文件存储的分布式文件系统。// 防止当前目录中已经有这个文件了,要么换到其它目录,要么给文件重命名。// 如果要递归创建多级目录,还需要再指定-p参数。6、 删除文件/文件夹 - rm。// 删除目录需要指定-r参数。7、统计根目录下文件的个数。

2025-02-16 19:54:28 488

原创 linux-shell脚本

反引号是执行并引用命令的执行结果,在这里反引号是获取到了name变量的值,然后去执行这个值,结果发现没有找到这个命令。如果我们把name的值改为pwd,来看一下效果,这样就会执行pwd,并且把pwd执行的结果打印出来。2>&1 :表示是把标准错误输出重定向到标准输出中,标准输出可以使用文件描述符1来表示,标准错误输出可以使用文件描述符2来表示。测试条件:整型:-gt(大于)、-lt(小于)、-ge(大于等于)、-le(小于等于)、-eq(等于)、-ne(不等于)3、执行结果,打印出每一行命令及其执行结果。

2025-02-15 21:03:04 1277

原创 linux的三剑客和进程处理

sed - 增、删、追加、替换,sed命令的所有操作,在执行之后都不会修改源文件中的内容,这样只能作为测试,如果需要修改源文件的话,其实也很简单,只需要增加一个 -i 参数即可。ps命令是用来显示进程相关信息的,他的一个典型应用就是在后面跟e和f参数,显示系统内的所有进程ps -ef,显示 java 进程是 ps -ef | grep java,s 表示替换操作,pattern 指的是需要替换的内容,replacement 指的是要替换的新内容,flags有多种用法,挑两种常见的说一下。

2025-02-12 17:25:37 705

原创 linux 的文件操作

如果我们需要在文件中根据某一行内容快速复制几行,不用麻烦鼠标了,直接通过键盘操作就行,有研究表明,用键盘操作的效率比鼠标快10倍,使用vi命令打开hello.txt,把光标移动到希望复制的那一行内容上面,然后连按yy,这样就把这一行内容复制上了,然后按p就会把刚才复制的内容粘贴到下一行,按一次p粘贴一行,一直按到你喊停为止。最后输入我们想要查询的字符串,root,按回车键即可进行查找,这个文件中其实有多个root字符串,如果第一次查找到的不是我们想要的,可以按n这个键继续向下查找。

2025-02-12 16:45:31 718

原创 linux基础命令

第一段:权限标识,字符每3个一组(rwx),读(r)、写(w)、执行(x) 也可用数字表示为:r=4,w=2,x=1,如:权限6可以表示为r+w=6,有时候排除权限故障时,chmod 777 hello.txt。常用的不说了:ls、ll、ps、jps、vi、vim、pwd、touch、mkdir、mv、cd、rm、yum、history、shutdown、reboot。这两个目录)对于其他文件,默认是1。记录下不常用的,–help是一个帮助命令,有些参数不记得可以提示,如:ls -a中的 -a 不记得了。

2025-02-12 16:05:10 273

原创 学习计算机视觉-javacv续集(流媒体服务器篇)

是 Java 并发库中的一个类,继承自 ThreadPoolExecutor,用于执行定时任务和周期性任务。之前介绍了javacv篇,留个小尾巴,解析出来的视频帧是展示在本地窗口上的,如果我想将这个视频分享出去,让别的电脑可以实时看到画面,需要用到流媒体服务。是 Java Sound API 中的一个接口,用于表示可以从其读取音频数据的音频输入设备。视频经过JAVACV解析后传给流媒体服务器,流媒体服务器将视频帧开放出去。关于视频帧抓取器,Mat,Frame 等概念,前一章节介绍过。

2024-12-11 15:15:21 233

原创 学习计算机视觉-百度API

集成百度的API, 1小时轻松实现 人脸图像识别。

2024-12-06 15:48:28 249

原创 学习计算机视觉-javacv

JavaCV 可能会让人想到"CV工程师"的梗,其实是一个用于计算机视觉任务的 Java 库,它封装了 OpenCV 和其他多媒体框架的功能,使得开发者可以在 Java 环境中方便地进行图像处理和视频分析。- 依赖管理:通常通过 Maven 或 Gradle 等构建工具引入 JavaCV 依赖。- 兼容性:与多种操作系统(如 Windows、Linux、MacOS)兼容。- 功能:支持图像处理、视频捕捉、特征检测、对象识别等。- 社区支持:拥有活跃的社区和丰富的文档资源。

2024-12-06 15:42:55 226

原创 Java集成Onlyoffice - 2

gitee 上有个开源项目,将集成的过程包装了一层,其他项目直接导入依赖即可,并且作者也提供了案例。不管是 Onlyoffice ,wps 也可以用。我用的过程中微改了,作者的注释很详细,如果只要预览,不需要编辑就不要改onlyoffice.yml。

2024-12-06 15:35:55 237

原创 Java集成Onlyoffice

需求场景:实现文档的在线编辑,团队协作。

2024-12-06 12:05:54 1300 1

原创 用docker,安装onlyoffice

-e JWT_ENABLED=false:默认是使用JWT认证的,后续代码里面需要配置token。如果docker因为网络原因下载不了,可以到网上找一个离线包,我本地的包超过了优快云资源的最大值。假设叫 onlyoffice.tar.gz。一行命令就行,靠谱,方便,不费脑子。

2024-12-06 12:02:04 358

原创 不用docker,安装onlyoffice

only office 最快捷的方式是用docker一键安装,但是在国内docker的镜像不太好用了,可以通过配置VPN 国外代理的方式来访问。找到 host all all 127.0.0.1/32 ident 和 host all all ::1/128 ident。至此,完成配置,浏览器访问 服务器的ip 即可出现 onlyoffice 的主页,下一章,用docker。编辑 /var/lib/pgsql/data/pg_hba.conf。// 上面的第四步,初始化数据库的用户名和密码。

2024-11-13 16:48:38 551

原创 网络编程-netty 入门

1. 概述1.1 Netty 是什么?Netty is an asynchronous event-driven network application frameworkfor rapid development of maintainable high performance protocol servers & clients.Netty 是一个异步的、基于事件驱动的网络应用框架,用于快速开发可维护、高性能的网络服务器和客户端1.2 Netty 的作者他还是另一

2024-10-18 11:00:19 701

原创 网络编程-nio

non-blocking io 非阻塞 IO。

2024-10-14 16:45:16 1078

原创 原生前端开发-js删除元素

xxx.parentNode.parentNode.removeChild(xxx的父元素);- 父.removeChild(子)

2024-10-14 15:15:48 248

原创 一个DateUtil 工具类

【代码】一个DateUtil 工具类。

2024-10-14 15:09:25 193

原创 bug-自定义函数报错 Error Code: 1418. This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA

mysql在一主一从的架构,一个执行更新的不确定子程序(存储过程、函数、触发器)在从服务器上执行(相对与主服务器是重复执行)可能会造成恢复的数据与原始数据不同,导致从服务器不同于主服务器的情况。在主服务器上,除非子程序被声明为确定性的或者不更改数据,否则创建或者替换子程序将被拒绝。第二种是信任子程序的创建者,禁止创建、修改子程序时对SUPER权限的要求,设置log_bin_trust_routine_creators全局系统变量为1。

2024-10-14 14:19:49 319

原创 Linux常用查看端口号命令

lsof +d /usr/local/:显示目录/usr/local/下被进程开启的文件。lsof +D /usr/local/:同上,但是会搜索目录下的目录,时间较长。lsof -c -p 1234:列出进程号为1234的进程所打开的文件。lsof -i -U:显示所有打开的端口和UNIX domain文件。lsof -i:8080:查看8080端口占用 // 常用。lsof abc.txt:显示开启文件abc.txt的进程。lsof -c abc:显示abc进程现在打开的文件。

2024-10-14 14:04:55 697

原创 sql 技巧

需求:获取每个分组最新的一笔数据。

2024-10-14 14:00:26 156

原创 原生前端开发-动态下拉框

一个ajax, url = 后端地址,idStr = id(就是上面的type)需求:下拉框不写死在页面里面,而是动态从后台获取加载。一个select, 里面没有option。

2024-10-14 13:50:40 210

原创 项目版本控制

a、集中式版本控制工具集中式版本控制工具,版本库是集中存放在中央服务器的,team里每个人work时从中央服务器下载代码,是必须联网才能工作,局域网或互联网。个人修改后然后提交到中央版本库。举例:SVN和CVSb、分布式版本控制工具分布式版本控制系统没有中央服务器,每个人的电脑上都是一个完整的版本库,这样工作的时候,无需要联网了,因为版本库就在你自己的电脑上。多人协作只需要各自的修改推送给对方,就能互相看到对方的修改了。举例:Git。

2024-10-11 09:54:31 669

原创 后端学习前端-React

需求,组件0 改变了数据,其它组件也想获得改变后的数据这种多个组件之间要共享状态数据,useState 就不够用了,useContext 也不好用了能够和 react 配合使用的状态管理库有MobXRedux其中 Redux API非常难以使用,这里选择了更加符合人类习惯的 MobX,它虽然采用了面向对象的语法,但也能和函数式的代码很好地结合。

2024-10-10 12:12:28 2054

原创 后端学习前端-vue3

再新建 store 目录来管理共享数据,下面是 /src/store/UserInfo.ts},actions: {},})定义了 useUserInfo 函数,用来获取共享数据,它可能用于多个组件命名习惯上,函数变量以 use 打头state 定义数据格式actions 定义操作数据的方法get 方法用来获取用户信息update 方法用来修改用户信息由于 useRequest 必须放在 setup 函数内,这里简化起见,直接使用了 axios获取用户信息。

2024-10-10 12:11:19 2337

原创 List转Map

个人学习使用

2024-10-10 12:05:26 347

原创 后端学习前端-vue2

g 参数表示全局安装,这样在任意目录都可以使用 vue 脚本创建项目。

2024-10-10 10:47:06 999

原创 后端学习前端-js

function 函数名(参数) {// 函数体return 结果;例。

2024-10-09 12:17:26 2015

原创 后端学习前端-html+css

对 application/x-www-form-urlencoded 和 multipart/form-data 格式的数据,Spring 接收方式是统一的,只需要用 java bean 的属性名对应请求参数名即可。application/x-www-form-urlencoded: 在这种格式下,表单的数据会转换成一系列的键值对,每个键值对之间用 "&" 分隔,键与值之间用 "=" 连接。

2024-10-09 09:30:37 1021

原创 我在完成医疗健康项目时的经验总结(1)

项目场景:对数据库的持久化数据进行数据持久化时,我用到了echarts和superset两种方案,当我在虚拟机安装superset时,在网上一步一步地照着敲,还会发现报错,安装不了问题描述ImportError: cannot import name 'soft_unicode' from 'markupsafe' (/opt/module/miniconda3/envs/superset/lib/python3.7/site-packages/markupsafe/__init__.py)

2022-03-19 14:35:28 604

空空如也

空空如也

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

TA关注的人

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