张音乐的博客

人鬼殊途
私信 关注
张音乐
码龄6年

求你关注我,别不识抬举,别逼我跪下来求你。

  • 206,594
    被访问量
  • 117
    原创文章
  • 35,744
    作者排名
  • 164
    粉丝数量
  • 毕业院校 辽宁科技大学
  • 目前就职 上海悦易网络信息技术有限公司
  • 于 2015-07-13 加入CSDN
获得成就
  • 获得50次点赞
  • 内容获得44次评论
  • 获得132次收藏
荣誉勋章
兴趣领域
  • #大数据
    #hadoop#spark#storm#ETL#数据仓库#hive
TA的专栏
  • 流媒体技术/视觉计算/图形处理
    付费
    11篇
  • 数据可视化前端
    付费
    23篇
  • Docker&镜像篇
    4篇
  • 影视网站实战
    3篇
  • 常用Linux命令工具&Bash脚本程序
    10篇
  • 最近
  • 文章
  • 资源
  • 问答
  • 课程
  • 帖子
  • 收藏
  • 关注/订阅
  • 小店

Java + opencv 实现图片人脸性别检测识别

一、效果展示如图所示, 需要实现在图片上检测出人脸并标识出性别, 因为网络上大部分文章都是基于python的, 我个人对于Java 又比较情有独钟, 所以, 花费了一两天专门研究了一下, 本人对于opencv的掌握程度也是处于入门阶段, 整理了一些资料, 并请教了一些大学同学, 才将python + opencv性别识别的代码翻译出来. 如果觉得本文对你有用, 请一键三连吧.听说点赞关注加收藏的人都是帅哥.(ps: 图片来源于github项目faceai, 顺手就拿来用啦)二、技术实现思路1
原创
9阅读
0评论
0点赞
发布博客于 昨天

Java + opencv 实现图片修复(去水印)

一、效果展示如效果图显示运行结果, 左边为原图, 右边为去水印(修复)后的图片.二、技术实现思路1. 图片转换成灰色(降低为一维的灰度,减低计算强度)2. 对灰度图片进行高斯模糊操作, 这里进行高斯模糊的作用就是减少图像噪声, 降低细节层次,往深一点的原理, 这里不作探讨3. 对高斯模糊之后的图像进行二值化操作, 图像二值化是将图像上的像素点的灰度值设置为0或255, 也就是将整个图像呈现出明显的黑白效果, 图像的二值化使得图像变得简单, 而且数据量减小, 能凸显出目标轮廓...
原创
18阅读
0评论
0点赞
发布博客于 3 天前

制作nginx镜像(基于centos:7)

说明: centos要指定7, 6我没有尝试过,如果不加版本号的话,默认拉的是centos:8, 无法安装GeoIP GeoIP-devel GeoIP-data 地理数据.以下全部为在线安装.无需手动下载任何文件,nice 真香的话一键三连吧.FROM centos:7MAINTAINER com.biubiu.nginx#工作目录WORKDIR /usr/local/src#定义环境变量ENV NGINX_VERSION nginx-1.19.6#下载nginx并解压RUN y.
原创
35阅读
0评论
0点赞
发布博客于 3 月前

制作Jdk8+Tomcat镜像

参考文档:https://blog.csdn.net/qq_29777207/article/details/113433909
zip
发布资源于 3 月前

制作Jdk8+Tomcat镜像

一、DockerfileFROM centosMAINTAINER com.biubiu.jdk#wgetRUN yum -y install wget#dumb-initRUN wget -O /usr/local/bin/dumb-init https://github.com/Yelp/dumb-init/releases/download/v1.2.2/dumb-init_1.2.2_amd64RUN chmod +x /usr/local/bin/dumb-init#epel.
原创
31阅读
0评论
0点赞
发布博客于 3 月前

自制Docker镜像jdk+nodejs+maven+git(基于centos)

FROM centos#npmADD node-v10.15.3-linux-x64.tar.xz /usr/local/lib/nodejs/ENV PATH /usr/local/lib/nodejs/node-v10.15.3-linux-x64/bin:$PATH#jdkCOPY jdk-8u201-linux-x64.rpm /tmp/WORKDIR /tmpRUN rpm -ivh jdk-8u201-linux-x64.rpm#wgetRUN yum install -y .
原创
53阅读
0评论
0点赞
发布博客于 3 月前

自制Docker镜像jdk+nodejs+maven+git(基于centos)

自制Docker镜像jdk+nodejs+maven+git(基于centos) 文档地址: https://blog.csdn.net/qq_29777207/article/details/113191341
zip
发布资源于 3 月前

Java仿腾讯视频流媒体点播网站开发实战(三)- 流媒体视频转码

一、介绍因为前端播放插件我们使用的是flv播放器,当前只能支持flv格式的视频文件,但是我们又不能限制用户或者管理员上传视频的格式,所以,对于用户或者管理员上传的视频,我们需要进行转码成能够播放的格式。如图所示,是一个管理员上传视频的界面。...
原创
42阅读
0评论
0点赞
发布博客于 3 月前

Java + opencv 实现视频人脸检测

一、实现思路调用电脑的摄像头,把摄像的信息逐帧分解成图片,基于图片检测标识出人脸的位置,把处理的图片逐帧绘制给用户,用户看到的效果就是视频的人脸检测。效果预览:二、实现步骤使用OpenCV调用摄像头并展示。(1)、获取摄像头 VideoCapture camera = new VideoCapture(); // 参数0表示,获取第一个摄像头。 camera.open(0);参数0表示,获取第一个摄像头。(2)、显示摄像头.
原创
114阅读
0评论
0点赞
发布博客于 3 月前

Java + opencv 实现图片人脸检测

一、功能展示识别一种图上的所有人的脸,并且标出人脸的位置,画出人眼以及嘴的位置,展示效果图如下:二、技术实现思路图片转换成灰色(降低为一维的灰度,减低计算强度)图片上画矩形使用训练分类器查找人脸三、pom引入的jar包说明 <properties> <java.version>1.8</java.version> <!-- javacpp当前版本 --> <j..
原创
128阅读
1评论
1点赞
发布博客于 3 月前

Linux安装lrzsz下载上传命令(centos, manjor Linux,Ubuntu )

yum install epel-release –yyum clean allyum list#安装下载上传yum install lrzsz
原创
14阅读
0评论
0点赞
发布博客于 3 月前

bash百分号编码字符串,解码用百分比编码的字符串

一、百分号编码字符串(1)、运行截图(2)、示例函数urlencode() { local LC_ALL=C for (( i = 0; i < ${#1}; i++ )); do : "${1:i:1}" case "$_" in [a-zA-Z0-9.~_-]) printf '%s' "$_" ;; *)
原创
36阅读
0评论
0点赞
发布博客于 3 月前

bash删除字符串中的引号,从字符串中删除所有正则实例,从字符串中删除第一次出现的正则实例,在字符串开头匹配正则并删除,在字符串末尾匹配正则并删除

一、删除字符串中的引号(1)、运行截图(2)、示例函数:trim_quotes() { : "${1//\'}" printf '%s
' "${_//\"}"}(3)、示例用法:$ var="'Hello', \"World\""$ trim_quotes "$var"Hello, World二、从字符串中删除所有正则实例(1)、运行截图(2)、示例函数:strip_all() { printf '%s
' "${1//$
原创
13阅读
0评论
0点赞
发布博客于 3 月前

bash将字符串转换为大/小写, 反转字符串大小写

一、运行截图(1)、转换为小写(2)、转换为大写(3)、反转字符串大小写警告:需要bash4+以上的版本二、转换为小写(1)、示例函数:lower() { printf '%s
' "${1,,}"}(2)、示例用法:$ lower "HELLO"hello$ lower "HeLlO"hello$ lower "hello"hello三、转换为大写(1)、示例函数:upper() { printf..
原创
33阅读
0评论
0点赞
发布博客于 3 月前

bash指定分隔符拆分字符串

一、运行截图警告:需要bash4+以上的版本这是cut,awk和其他工具的替代品。二、示例函数:split() { IFS=$'
' read -d "" -ra arr <<< "${1//$2/$'
'}" printf '%s
' "${arr[@]}"}三、示例用法:$ split "apples,oranges,pears,grapes" ","applesorangespearsgrapes$ split "..
原创
45阅读
0评论
0点赞
发布博客于 3 月前

bash在字符串上匹配正则表达式

一、运行截图警告: 这是少数平台相关的“bash”功能之一。bash将使用用户系统上安装的任何正则表达式引擎。 如果要兼容,请坚持使用符合POSIX规范的正则表达式引擎。 绝大部分发行版Linux中的bash均实现了POSIX规范。警告: 此示例仅打印第一个匹配组。 使用时多个匹配组需要进行一些修改。二、示例函数:regex() { # Usage: regex "string" "regex" [[ $1 =~ $2 ]] && print..
原创
62阅读
0评论
0点赞
发布博客于 3 月前

bash删除字符串中的所有的空白并用空格分割单词

一、运行截图(1)、直接使用(2)、使用变量二、示例函数:trim_all() { # Usage: trim_all " example string " set -f set -- $* printf '%s
' "$*" set +f}三、用法示例:$ trim_all " Hello, World "Hello, World$ name=" John Black is .
原创
15阅读
0评论
0点赞
发布博客于 3 月前

bash删除字符串前后空格

一、运行截图这是sed,awk,perl和其他工具的替代品。下面的函数通过查找所有头尾空格并在字符串的开头和结尾删除它来实现这一功能。:内置用于代替临时变量。二、示例函数:trim_string() { # Usage: trim_string " example string " : "${1#"${1%%[![:space:]]*}"}" : "${_%"${_##*[![:space:]]}"}" printf '%s
' "$_"
原创
42阅读
0评论
0点赞
发布博客于 3 月前

免费开源在线Excel,纯前端表格控件功能布局与 Excel 高度类似,类似西安葡萄城spreadJs的前端控件-x-spread-sheet(基于vue,后续会再出react的教程)

一、先来一张效果图演示图片二、使用方式1、引入组件cnpm install --save x-data-spreadsheet或者npm install --save x-data-spreadsheet2、在代码中使用<div id="x-spreadsheet-demo"></div>import Spreadsheet from "x-data-spreadsheet";// If you need to override t..
原创
135阅读
0评论
0点赞
发布博客于 3 月前

分享一个免费的图片去水印网站

一、 软件截图二、操作说明1、先上传图片2、点击选择区域,在图片上选择要去水印的区域,可支持同时选择多个区域。3、点击开始去水印4、保存去水印的图片到本地。5、如果不满意可再次选择。三、免费体验地址http://121.196.27.184:8080/...
原创
1021阅读
0评论
0点赞
发布博客于 3 月前

Java 创建临时文件, base64 写入到 FileOutputStream, base64输出到文件

package com.biubiu.utils;import java.io.File;import java.io.FileOutputStream;import java.io.IOException;import java.util.Base64;import java.util.UUID;public class Utils { /** * 创建临时文件 * @param fileType * @return * @throws .
原创
92阅读
1评论
0点赞
发布博客于 3 月前

Java之base64转化成图片文件

package com.biubiu.utils;import java.io.FileOutputStream;import java.io.OutputStream;import java.util.Base64;public class Utils { /** * base64转化成图片文件 * @param base64 * @param imgFilePath * @return */ public static b.
原创
88阅读
0评论
0点赞
发布博客于 3 月前

Java之文件删除

package com.biubiu.utils;import java.io.File;public class Utils { /** * 删除文件 * @param file */ public static void delete(File file) { if (!file.exists()) { return; } if (file.isFile()) { .
原创
15阅读
0评论
0点赞
发布博客于 3 月前

Java之文件压缩打包成zip包

package com.biubiu.utils;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.util.zip.ZipEntry;import java.util.zip.ZipOutputStream;public class Utils { public static void zipDir(String sourcePath, S.
原创
45阅读
0评论
0点赞
发布博客于 3 月前

Java 计算文件hash值

package com.biubiu.utils;import java.io.File;import java.io.FileInputStream;import java.io.IOException;import java.security.MessageDigest;public class Utils { /** * 计算文件hash值 */ public static String hashFile(File file) throws Exc.
原创
71阅读
0评论
0点赞
发布博客于 3 月前

Java inputStream 转化成 base64与 inputStream 转化成 bytes

package com.biubiu.utils;import java.io.ByteArrayOutputStream;import java.io.IOException;import java.io.InputStream;import java.util.Base64;public class Utils { /** * inputStream 转化成 base64 * @param inputStream * @return * .
原创
63阅读
0评论
0点赞
发布博客于 3 月前

Java base64转化成 inputStream

package com.biubiu.utils;import java.io.ByteArrayInputStream;import java.io.InputStream;import java.util.Base64;public class Utils { /** * base64转化成 inputStream * * @param base64 * @return */ public static InputStrea.
原创
331阅读
0评论
0点赞
发布博客于 3 月前

Java文件File类型转BASE64

package com.biubiu.utils;import java.io.File;import java.io.FileInputStream;import java.util.Base64;public class Utils { /** * 文件File类型转BASE64 * * @param file * @return */ public static String fileToBase64(File file.
原创
133阅读
0评论
0点赞
发布博客于 3 月前

Java文件File类型转byte[]

package com.biubiu.utils;import java.io.File;import java.io.FileInputStream;public class Utils { /** * 文件File类型转byte[] * * @param filePath 文件路径 * @return */ public static byte[] fileToByte(String filePath) { .
原创
69阅读
0评论
0点赞
发布博客于 3 月前

Java文件byte[]类型转File

package com.biubiu.utils;import java.io.BufferedOutputStream;import java.io.File;import java.io.FileOutputStream;import java.io.IOException;public class Utils { /** * 文件byte[]类型转File * * @param bytes bytes * @param outP.
原创
238阅读
0评论
0点赞
发布博客于 3 月前

react hock ant-design-pro中实现文件上传预览,图片转base64,base64转成文件并下载, 图片去水印,在图片上选择区域,裁剪,获取图片真实宽高

案例截图一、文件上传自定义上传方法 <Card title={"图片上传"} bordered={false} style={{ width: '80%', margin: '0 auto' }}> <Dragger name={"上传图片"} customRequest={uploadRequest} showUploadList..
原创
140阅读
0评论
0点赞
发布博客于 3 月前

springboot+ffmpeg+react+ant-design-pro自研图片去水印软件源码

1、项目结构: 前端代码 zyy-convert-web 后端代码zyy-convert-app 2、项目使用技术: springboot ffmpeg react,ant-design-pro,typescript 3、说明文档 操作文档:https://blog.csdn.net/qq_29777207/article/details/112427849 源码讲解文档:https://blog.csdn.net/qq_29777207/article/details/112389557 4、体验地址: http://121.196.27.184:8080 5、售后QQ群:491590248
zip
发布资源于 3 月前

Java+springboot实现nginx反向代理功能

一、功能描述要实现的功能是浏览器请求: http://127.0.0.1:8080/proxy/user希望请求转发到http://192.168.0.100:8084/user二、配置文件proxy.targetAddr=http://192.168.0.100:8084/三、源码package com.biubiu.agent.controller;import com.biubiu.agent.annotation.SystemLog;import org.s..
原创
334阅读
0评论
0点赞
发布博客于 3 月前

springboot + xterm.js + vue + websocket实现终端功能

1、前端框架:Vue + element-ui 2、后端框架:SpringBoot + Mybatis 3、数据库:H2 4、其他第三方工具或者插件: Jsch:用于远程连接ECS服务器。 Websocket:与前端进行实时交互。 xterm:渲染web版本的terminal终端显示器。 可参考博客地址: https://blog.csdn.net/qq_29777207/article/details/108763630 售后QQ群:491590248
zip
发布资源于 4 月前

vue+tesseract.js (js实现多种语言的文字识别-基于Tesseract OCR引擎实现的JS文字识别)

一、简介tesseract.js:支持多种语言的文字识别的 JS 库,能够方便、准确的把图片中的文字解析提取出来(就能复制了)。基于 Tesseract OCR 引擎实现的 JS 版本,方便前端实现文字识别功能和在浏览器中直接使用。二、使用示例1、图片识别2、视频识别三、在vue项目中使用1、安装依赖cnpm install --save tesseract.js2、定义Tesseract组件vue2-ace-editor 是vue集成ace-..
原创
913阅读
3评论
1点赞
发布博客于 5 月前

同事明天去签合同了,在富阳全款200多w买的房子,非要我跟着去,他安的什么心。

发布Blink于 5 月前

新人爆照

发布Blink于 5 月前

golang-ffmpeg-goav:视频拉流解码成YUVJ420P,并保存为jpg图片

前言goav是在ffmpeg基础上封装了一层,我们算是站在别人的肩膀上,尽管goav还有很多不足的地方,这个暂且不谈。当然这次写的这篇算是回归底层实现了,用别人封装好的可能两三行就可以搞定的东西。一、说明以及依赖go get github.com/giorgisio/goav.git二、实现功能1、ffmpeg拉流(视频源可以是文件和流媒体(rtsp/rtmp/hls/flv等等))2、将视频帧解码为yuvj420p图像数据三、实现代码package mainimpo
原创
533阅读
5评论
0点赞
发布博客于 6 月前

golang-ffmpeg-goav拉流解码器,支持视频拉流解码并转换为YUV、BGR24或RGB24等图像像素数据

一、功能设计YUV在流媒体协议中用的较多(数据少,节省流量带宽),在图像处理应用较多的是BGR和RGB像素数据。我们已经获取到了YUV数据,那么把YUV转成BGR或者RGB需要再进行一次转换要使用这些工具包之前建议先了解一下goav,如果以前是从事Java工作的,就会对于maven很清楚,可以管理jar包。go get命令下载的东西可以理解为jar包。java中调用ffmpeg可以使用javacpp, goav就相当于go语言版本的javacpp,封装了很多操作ffmpeg api的方法,提供给你直
原创
553阅读
0评论
2点赞
发布博客于 6 月前

GoLang音视频转码

一、搭建好开发环境这一步不会的可以百度参考一下这个教程https://www.runoob.com/go/go-environment.html安装ide ,我用的是goland, 个人感觉比较好用支持的平台Linux OS X Windows二、下载第三方工具包go get github.com/xfrr/goffmpeg三、音频转码程序可以直接运行。并且同时支持音频和视频的播放提供的例子是将m4a转码成mp3格式。如果想转换其他格式,只需要修改文件后缀名.
原创
588阅读
0评论
0点赞
发布博客于 6 月前

springboot + xterm.js + vue + websocket实现终端功能(y-shell)看板娘实现

如图片所示,在右下角位置添加看板娘一 在public路径下面的index.html文件中添加引入的js<script type="text/javascript" src="/static/live2dw/lib/L2Dwidget.min.js"></script>如图所示:二 在App.vue文件中添加以下代码created() { setTimeout(() => { window.L2Dwidget.init({ .
原创
375阅读
0评论
1点赞
发布博客于 6 月前

springboot + xterm.js + vue + websocket实现终端功能(y-shell)文件管理器实现

一、文件管理器功能描述这一章节讲一下文件管理器的实现与设计细节。首先,文件管理器需要提供以下几个主要的功能,开发过程中使用vue渲染前端页面以及交互过程中还是遇到了不少问题,比如说右键菜单,表单校验。1、文件夹的新增,编辑,删除。2、ssh配置的新增,编辑,删除。3、右键菜单如图:文件夹管理ssh连接管理二、模块表结构设计表结构设计成父子节点关系。CREATE TABLE IF NOT EXISTS `ecs`( `id` .
原创
195阅读
3评论
0点赞
发布博客于 6 月前

springboot + xterm.js + vue + websocket实现终端功能(y-shell)

先来一张效果图看一下一、开发背景在大数据时代,很多公司都注重数据安全和网络安全,在这种情况下,有些公司会有红线要求,不允许安装xshell等类似的破解软件或者收费软件,防止造成侵权纠纷或者数据被恶意收集。在网上搜寻许久之后,也没有发现一款比较好的软件,所以,才有了自己开发一个的想法。想想还是觉得很激动的。至于为什么要选择开发一个web版本的,因为web版本可以免安装,杜绝以上所说的安全问题。依赖浏览器运行。二、技术栈1、前端框架:Vue + element-ui2、后端框架:S.
原创
435阅读
0评论
1点赞
发布博客于 6 月前

Vue加Canvas绘制的登录页面

效果图如下:电脑不能录屏,所以只有静态的图片了。实际上 的效果是,图上的点是海浪一样在波动。并且会随着鼠标的移动,加剧海浪的波动。代码部分海浪组件面板:Canvas.vue<template> <div> <div id="container" class="background"></div> <!--<div id="vertexshader"></div>.
原创
377阅读
4评论
0点赞
发布博客于 8 月前

Vue父组件与子组件通信

现在有两个组件父: Index.vue<template> <el-container> <el-header>统一配置中心</el-header> <el-container> <el-aside width="201px"> <el-row> <el-col :span=
原创
46阅读
0评论
0点赞
发布博客于 8 月前

Vue如何提交表单数据

一、前言之前写React的时候,因为数据是单向绑定,所以提交表单的时候,有一个去获取表单数据的过程。所以在使用Vue的时候还是摸索了很长时间才搞懂Vue的v-model双向数据绑定。二、例子(1)、表单<el-form :model="form" :rules="rules" ref="form"> <el-form-item label="路径" :label-width="formLabelWidth" prop="localUrl">
原创
1360阅读
0评论
1点赞
发布博客于 8 月前

Vue如何封装axios与后端交互

一、在src目录下创建service文件夹,在service文件夹下创建index.js二、index.js文件内容import axios from 'axios'let http = axios.create({ // `baseURL` 将自动加在 `url` 前面,除非 `url` 是一个绝对 URL。 // 它可以通过设置一个 `baseURL` 便于为 axios 实例的方法传递相对 URL baseURL: 'http://127.0.0.1:8.
原创
241阅读
0评论
0点赞
发布博客于 9 月前

我来凑个热闹,看大佬们赚钱

回答的问题 #html画地图用什么canvas框架好。还有canvas绘制出的图形的操作.非echarts.
回答了问题于 10 月前

制作ffmpeg镜像

本文希望对于正在学习ffmpeg音视频方向的同学有一定帮助,众所周知,随着容器化技术的大规模应用,一套软件往另外一台操作系统上迁移,再也不需要频繁的安装软件,使用容器镜像技术,可以很方便快捷的迁移软件或者程序。一、下载安装包的方式下载两个安装包http://www.ffmpeg.org/releases/ffmpeg-4.2.2.tar.gzhttps://cmake.org/files/v3.8/cmake-3.8.2.tar-gzFROM centos:7# 安装yas.
原创
544阅读
2评论
0点赞
发布博客于 1 年前

@Transaction原理解读之如何实现一个精简版的@MyTransation

一、定义一个注解@Target({ElementType.METHOD})表示aop拦截的是方法上的注解package com.biubiu.transaction;import java.lang.annotation.*;@Target({ElementType.METHOD})@Retention(RetentionPolicy.RUNTIME)@Documented...
原创
420阅读
1评论
1点赞
发布博客于 2 年前

JdbcTemplate原理之如何自己实现一个JdbcTemplate模版

一、首先介绍一下官方Jdbc的基本功能JdbcTemplate基本使用execute方法 update与batchUpdate方法 query与queryXXX方法 call方法二、需要注意哪些细节1、如何获取数据库连接。2、如何管理连接。3、如何保证不同的线程使用的不是同一个连接,不能让其它线程干扰到本线程的执行。4、保证同一个线程使用的是同一个连接,不能把b线程...
原创
265阅读
0评论
0点赞
发布博客于 2 年前

分享阿里开源的一个流程图,工作流图插件g6

官网地址:https://g6.antv.vision/zh/examples/tree/radialtree1、辐射图2、流程图等等其他图,案例很丰富。可以直接在官网进行调试。
原创
6575阅读
0评论
1点赞
发布博客于 2 年前

如何从业务中抽取出通用性模板或框架-通用权限管理框架

一、在进入正题之前,先来聊一个耳熟能详,家喻户晓的东西,这里称之为东西,因为不好界定他到底是什么,往大了说,他可以单独拎出来作为一个微服务系统,他包括所有权限相关,用户鉴权服务,比如说一般电商系统中,或者会员相关的系统中,权限很错综复杂,但是往小了说他缺失智能作为一个模块存在。仅仅只包含简单的如下关系。用户表DROP TABLE IF EXISTS `cpt_system_user` ;...
原创
175阅读
0评论
0点赞
发布博客于 2 年前

sessionStorage报异常Failed to execute 'setItem' on 'Storage'...解决办法

使用sessionStorage超过大小限制Failed to execute 'setItem' on 'Storage': Setting the value of 'feature' exceeded the quota.const addSessionStorage = (key, storeObj) => { //定义一个前缀,表示只删除自己定义的缓存 const...
原创
6651阅读
0评论
2点赞
发布博客于 2 年前

Java仿腾讯视频流媒体点播网站开发实战(二)- 功能模块与实体设计

一、系统整体模块设计图 简单介绍一下架构设计,随着大数据的广泛应用,在现如今的系统之中,尤其是作为流媒体视频播放网站,统计网站用户的行为,分析用户的行为,以及对用户行为的采集无疑是很重要的一个系统要素,并且在网站发布之后,要对用户的行为进行一定的制约或者管理,营销,那么,设计一个后端管理系统是必要且很重要的。所以按照发布的网站和管理系统将整体划分分前端和后端,并非程序员理解之中的...
原创
607阅读
0评论
0点赞
发布博客于 2 年前

React基于Ant Design Pro开发时怎么替换组件的默认样式,并且使样式不作用到全局,只在当前组件生效。网上那些方法基本试过,调试不通过一律不采纳谢谢。 比如说怎么修改抽屉的头部样式背景色为黑色。

React基于Ant Design Pro开发时怎么替换组件的默认样式,并且使样式不作用到全局,只在当前组件生效。网上那些方法基本试过,调试不通过一律不采纳谢谢。
比如说怎么修改抽屉的头部样式背景色为黑色。

2回答
发布问题于 2 年前

千万级数据量的插入操作(MYSQL)

前几天因为公司业务迁移需要,需要从数仓同步一张大表,数据总量大概三千多万,接近四千万的样子,当遇到这种数据量的时候,综合考虑之后,当前比较流行的框架都不能满足于生产需求,使用框架对性能的损耗过于严重,所以有了以下千万级数据量的插入方案。当数据量达到一定规模的时候,假设一个语句为这样,还比较小的,只有三个字段。INSERT INTO user_operation_min_temp(obse...
原创
1111阅读
0评论
1点赞
发布博客于 2 年前

echarts画工作流(流程图)

一、流程图介绍老规矩,先来一张效果图压压惊,流程来源于某宝,某鱼,某电商平台的货物流转流程,自己稍微修改了一下。仅供学习参考使用。使用echarts等开源框架开发可以减少自己的开发时间,提高工作效率。一般流程图如果仅仅是作为静态页面,不需要考虑交互还是很容易画出来的,但是如果需要考虑到交互效果,那就需要自己在基于对开源框架集成使用中多加思考了,毕竟现在很多开源框架的基本思想都是组...
原创
13261阅读
0评论
4点赞
发布博客于 2 年前

Java仿腾讯视频流媒体点播网站开发实战

为了调动广大爱好者的学习动力,先看一下成品效果图,以便于您对于本网站有一个更好的认识。1、首页效果图首页主要包含登陆,注册,捐助,以及播放工具下载功能。整体布局使用轮播图以及简单的流式布局。整体给人的感觉是美观,简洁,并且没有多余的广告位2、网站链接http://yule.viphk1.ngrok.org/video/video/index如果您想更好的观看或者提前体验一下...
原创
1480阅读
0评论
1点赞
发布博客于 2 年前

Java手写线程池

推荐一个公众号号主为一线大厂架构师,CSDN博客专家,博客访问量突破一千万。主要分享Java、golang架构,源码,分布式,高并发等技术,用大厂程序员的视角来探讨技术进阶、面试指南、职业规划等。15W技术人的选择!package com.biubiu.sdk.thread;import java.util.concurrent.LinkedBlockingQueue;i...
原创
283阅读
0评论
0点赞
发布博客于 2 年前

Java标准输出流打印九九乘法表

public static BufferedWriter prints() throws Exception { BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(System.out)); for(int i = 1; i <= 9; i++) { for(int j = 1; j <=...
原创
166阅读
0评论
0点赞
发布博客于 2 年前

自定义aop实现Cacheable注解(零拷贝),CacheItemGet,CacheMapGet,CacheMapPut

推荐一个公众号号主为一线大厂架构师,CSDN博客专家,博客访问量突破一千万。主要分享Java、golang架构,源码,分布式,高并发等技术,用大厂程序员的视角来探讨技术进阶、面试指南、职业规划等。15W技术人的选择!开发背景:针对Cacheable的痛点,缓存的数据在客户端中查看,如果遇到错误很难排查错误。Cacheable不方便使用指向针对Map类型做处理,并且Re...
原创
417阅读
0评论
0点赞
发布博客于 2 年前

Java简易版FutureTask

推荐一个公众号号主为一线大厂架构师,CSDN博客专家,博客访问量突破一千万。主要分享Java、golang架构,源码,分布式,高并发等技术,用大厂程序员的视角来探讨技术进阶、面试指南、职业规划等。15W技术人的选择!package com.biubiu.parall;import java.util.concurrent.Callable;/** * @author ...
原创
56阅读
0评论
0点赞
发布博客于 2 年前

SpringBoot + MyBatis二级缓存(优化版)

一、说明因为业务需要提高系统性能,如意需要设计缓存以及缓存的失效策略。当前网上流传的二级缓存版本基本千篇一律,并且如果你贸然的用于生产环境的话,name等待你的可能是生产事故。因为很多细节没有进行优化。之所以选择二级缓存是因为我当前所使用的系统可以拆分成两个部分,一部分mapper对外提供服务,一部分MAPPER仅仅只是作为数据的管理和配置。所以,管理模块仅仅只是对少数人开放,所以可以...
原创
817阅读
1评论
1点赞
发布博客于 2 年前

Java 多线程

1、CountDownLatchpackage countdownlatch;import java.util.concurrent.CountDownLatch;public class CountDownLatchApp { public static void main(String[] args) { final CountDownLatch latch = n...
原创
64阅读
0评论
1点赞
发布博客于 2 年前

Java JDK动态代理原理

1、动态代理接口/** * 动态代理接口 */public interface Demo { public void a(); public void b();}2、接口实现类/** * 接口实现类 */public class DemoImpl implements Demo { @Override public void a(...
原创
52阅读
0评论
1点赞
发布博客于 2 年前

Java 封装原生 Redis命令

1、其他命令和set类似,可以自己实现package com.biubiu.sdk;import java.io.IOException;import java.net.Socket;import java.nio.charset.StandardCharsets;/** * Hello world! */public class App { Socket soc...
原创
349阅读
0评论
1点赞
发布博客于 2 年前

简化版本的Tomcat

推荐一个公众号号主为一线大厂架构师,CSDN博客专家,博客访问量突破一千万。主要分享Java、golang架构,源码,分布式,高并发等技术,用大厂程序员的视角来探讨技术进阶、面试指南、职业规划等。15W技术人的选择!注:本文参考业余草的一篇博客,不过自己在原来的代码上又添加了一些自己的理解,1)、使用注解来扫描路由映射2)、使用注解在Tomcat初始化的时候扫描哪些servle...
原创
520阅读
0评论
0点赞
发布博客于 2 年前

MYSQL复制表

MYSQL复制表CREATE TABLE user_temp LIKE user;INSERT INTO user_temp SELECT * FROM user;将查询的数据插入临时表create table av_import_059535f2b21d43a9945deb5b1ef40fc1_append SELECT *, 8 as argus_batch_id, '测试...
原创
69阅读
0评论
0点赞
发布博客于 2 年前

Java 复制List的模板方法

1、pom文件引入jar包<dependency> <groupId>commons-collections</groupId> <artifactId>commons-collections</artifactId> <version>3.2.2</version></dep...
原创
241阅读
0评论
0点赞
发布博客于 2 年前

Postman 在url中传数组

推荐一个公众号号主为一线大厂架构师,CSDN博客专家,博客访问量突破一千万。主要分享Java、golang架构,源码,分布式,高并发等技术,用大厂程序员的视角来探讨技术进阶、面试指南、职业规划等。15W技术人的选择!在spring的Controller中接收原理,多个同样的参数会合并为数组...
原创
4429阅读
0评论
0点赞
发布博客于 2 年前

FFMPEG命令大全

前言FFMPEG是特别强大的专门用于处理音视频的开源库。你既可以使用它的API对音视频进行处理,也可以使用它提供的工具,如 ffmpeg, ffplay, ffprobe,来编辑你的音视频文件。本文将简要介绍一下 FFMPEG 库的基本目录结构及其功能,然后详细介绍一下我们在日常工作中,如何使用 ffmpeg 提供的工具来处理音视频文件。FFMPEG 目录及作用libavcodec...
原创
344阅读
0评论
0点赞
发布博客于 2 年前

Java Redis连接池的简单实现(参考go语言中的channel)

1、声明一个连接池管理接口package com.biubiu.common;import redis.clients.jedis.Jedis;public interface IPond { //public void configure(); //可以写一个类似于init的方法用来配置参数等,这里直接用构造...
原创
182阅读
0评论
0点赞
发布博客于 2 年前

Go语言操作sqllite

package mainimport ( "database/sql" "fmt" "video/util" _ "github.com/mattn/go-sqlite3")func main() { db, err := sql.Open("sqlite3","D:/workstation/sqlite/foo.db") util.CheckError(err) /...
原创
557阅读
0评论
0点赞
发布博客于 2 年前

Go语言操作MongoDB

package mainimport ( "fmt" "gopkg.in/mgo.v2" "gopkg.in/mgo.v2/bson")type Person struct { Name string Phone string}func main() { session, err := mgo.Dial("127.0.0.1") if err != nil { ...
原创
815阅读
0评论
0点赞
发布博客于 2 年前

Go语言操作Redis

package mainimport ( "fmt" "github.com/go-redis/redis" "time")func main() { //字符串操作 client := redis.NewClient(&redis.Options{ Addr: "10.181.13.126:6379", Password: "root", // no...
原创
362阅读
0评论
0点赞
发布博客于 2 年前

Go语言操作MySQL实现增删改查

看过了谢孟军的Go语言Web变成的书籍之后,发现书中只讲了没有已驼峰命名的用法,所以在使用的时候踩了坑,解决办法就是在struct字段名后面显示的生命对应的数据库表字段名。详细测试过程如下。package mainimport ( "database/sql" "fmt" "github.com/astaxie/beedb" _ "github.com/Go-SQL-Driver...
原创
732阅读
0评论
1点赞
发布博客于 2 年前

Linux安装Git

1、取代 yum 安装的低版本 gityum remove git*2、下载最新安装包,可以去官网看看最新的是什么版本,我所处的年代是2.18.0wget https://www.kernel.org/pub/software/scm/git/git-2.18.0.tar.gz3、 解压tar -zxvf git-2.18.0.tar.gz4、进入解压目录cd ...
原创
1374阅读
0评论
0点赞
发布博客于 2 年前

Linux虚拟机配置连接外网Centos7.2

一、打开/etc/resolv.conf文件vi /etc/resolv.conf二、添加内容如下nameserver 202.106.0.20 nameserver 8.8.8.8三、重启网络服务service network restart 四、关闭防火墙systemctl iptables.service stop五、这么配置的...
原创
172阅读
0评论
0点赞
发布博客于 2 年前

Hystrix实现线程池隔离

1、Hystrix隔离Hystrix是一款开源的容错插件,具有依赖隔离,系统容错降级等功能2、线程池隔离策略通常的做法是按照业务进行划分比如 用户服务 和 订单服务优点:如果一个任务的线程池资源耗尽,也不会影响另外一个任务的线程池。(1)、pom文件里面进行配置,引入hystrix的依赖<dependency> <groupId>org.s...
原创
1346阅读
0评论
1点赞
发布博客于 2 年前

Java 线程池在springboot环境中的使用

1、配置线程池package com.example.demo.core.thread;import com.google.common.util.concurrent.ThreadFactoryBuilder;import org.springframework.context.annotation.Bean;import org.springframework.context.a...
原创
901阅读
0评论
0点赞
发布博客于 2 年前

Java 实现6种负载均衡算法

1、完全随机算法缺点:所有服务器的访问概率都是相同的。package com.example.demo.core.random;import java.util.Arrays;import java.util.List;import java.util.Random;/** * 负载均衡算法 * 完全随机算法 */public class RandomServer {...
原创
356阅读
0评论
1点赞
发布博客于 2 年前

js实现iframe跨域高度自适应(postMessage)(一次握手思想)

1、html页面<div> <iframe id="frame_child" name="frame_child" frameborder="no" width="100%" height="100%" style="min-height:1000px" scrolling="yes" src=""></iframe></div>2...
原创
693阅读
0评论
0点赞
发布博客于 2 年前

Java删除数组String []中的指定值

/** * 删除数组中的指定值 或者数组中的元素包含指定值 * @param filters 数组 * @param target 指定值 * @return */ public String[] doChinFilters(String[] filters, String target){ String[] res = null;...
原创
3725阅读
0评论
2点赞
发布博客于 2 年前

Java双检锁防止Redis缓存穿透(模板方法设计模式)

在高并发项目中,为了缓解数据库查询压力,通常会引入Redis等非关系型数据库作为缓存。查询数据的一般步骤为:step1、查询缓存。step2、判断是否为空。如果不为空: step3、返回查询结果。如果为空: step3、查询数据库(数据库没有Redis性能高,通常会有一两秒的延迟,假设2秒)。 step4、更新Redis缓存...
原创
820阅读
0评论
1点赞
发布博客于 2 年前

Java字段校验

1、校验测试package com.video.base.utils;import java.util.ArrayList;import java.util.Arrays;import java.util.Iterator;import java.util.List;import java.util.Objects;import java.util.Optional;...
原创
1559阅读
0评论
1点赞
发布博客于 2 年前

Java NIO读写TXT文件(FileChannel)

先上代码为敬代码中编码写成GBK是因为windows默认新建txt的时候是GBK格式,如果你的txt文件为UTF-8则修改为UTF-8package channel;import java.io.FileInputStream;import java.io.FileOutputStream;import java.nio.ByteBuffer;import java.nio.c...
原创
2938阅读
1评论
0点赞
发布博客于 2 年前

java 注解结合spring AOP实现控制层API请求日志管理

1、定义java注解package com.video.annotation;import java.lang.annotation.Documented;import java.lang.annotation.ElementType;import java.lang.annotation.Retention;import java.lang.annotation.Retenti...
原创
349阅读
0评论
0点赞
发布博客于 2 年前

java web实现文件下载

/** 下载视频 */ @Scope(value="prototype") @RequestMapping(value = "/filedownload.do") public void fileDownload(String videoSrc,HttpServletRequest req, HttpServletResponse resp) throws IOExc...
原创
508阅读
0评论
0点赞
发布博客于 3 年前

java IO流转换例子

package com.video.utils;import java.io.ByteArrayInputStream;import java.io.ByteArrayOutputStream;import java.io.InputStream;/** * 流转换工具类 * @author yule.zhang * */public class IOUtils { ...
原创
147阅读
0评论
0点赞
发布博客于 3 年前

js计算环比

//获得环比保留两位小护士的百分比如12.23var getCircleCompare = function(preview,current){ var prev = accMul(preview,1); var curr = accMul(current,1); if(prev > curr){ return accDiv(Math.roun...
原创
1339阅读
0评论
0点赞
发布博客于 3 年前

js自定义加减乘除避免他们在数制转换过程和二进制数值运算过程中精度受损的影响

var getCorrectResult = function(type, num1, num2, result) { var temp_result = 0; switch (type) { case "add": temp_result = num1 + num2; break; case "su...
转载
410阅读
0评论
0点赞
发布博客于 3 年前

js计算两个日期之间的日期数组

1、扩展Date方法//扩展format方法Date.prototype.format = function (fmt) { var o = { "M+": this.getMonth() + 1, "d+": this.getDate(), "h+": this.getHours(), "m+": this.getM...
原创
1196阅读
0评论
2点赞
发布博客于 3 年前

js判断变量是否为Number

function isNumber(num){ var regPos = / ^\d+$/; // 非负整数 var regNeg = /^\-[1-9][0-9]*$/; // 负整数 if(regPos.test(num) || regNeg.test(num)){ return true; }else{ return fals...
原创
9122阅读
2评论
0点赞
发布博客于 3 年前

javascript根据方法名调用方法

//根据方法名调用方法function callModelFun(functionName){ //根据函数名得到函数类型 var func=eval(functionName); //创建函数对象,并调用 new func();}推荐一个公众号号主为一线大厂架构师,CSDN博客专家,博客访问量突破一千万。主要分享Java、golan...
原创
3614阅读
0评论
1点赞
发布博客于 3 年前

scala+redis实现分布式锁

1、redis的底层是单例模式,意思是同一个脚本同一时刻只能有一个线程来执行,利用redis的这个特性来实现分布式锁。 首先实现工具类package utilsimport CacheManager/** * redis分布式锁 */object RedisTool { //加锁是否成功标志 val LOCK_SUCCESS:String = "OK"...
原创
450阅读
0评论
0点赞
发布博客于 3 年前

websocket日志实时推送

websocket日志实时推送,web网站,利用tail -f 和websocket实时推送到页面
zip
发布资源于 3 年前

scala封装自定义的持久层(demo)

1、基本方法封装,可以自行扩展package utilsimport java.sql.ResultSetimport dataSource._/** * @author yule.zhang * @deprecated 抽取公共查询方法 */object BaseDaoFactory { /** * 根据数据源类的名称获取连接 * @p...
原创
327阅读
0评论
0点赞
发布博客于 3 年前

scala获取List中对象的某个字段的和

val list = List[Map[String,String]](Map("id" -> "1","name" -> "李白","age" -> "18"),Map("id" -> "2","name" -> "李白2","age" -> "19"),Map("id" -> "2","name" -> "李白2","age" -> ""...
原创
1644阅读
0评论
0点赞
发布博客于 3 年前

jquery实现数字滚动特效

1、引入 lem_counter.js文件,lem_counter文件源码如下,你新建一个js文件,并将以下源码粘贴进去即可/******/ (function(modules) { // webpackBootstrap/******/ // The module cache/******/ var installedModules = {};/******//******/ ...
原创
1291阅读
0评论
0点赞
发布博客于 3 年前