自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(387)
  • 资源 (3)
  • 收藏
  • 关注

原创 我的主站(https://www.guanacossj.com)

ArithmeticJia本站使用https连接,绝对安全

2019-06-13 10:16:07 19400 1

原创 HDFS源码解析---写数据流程

1、写入(create)创建DFSOutputStream,启动DataStreamer线程run (主线程)2、createBlockOutputStream (client -> dn1 -> dn2 -> dn3)启动blockStream(实际用来写数据)4、new ResponseProcessor 并启动线程run5、按照packet粒度发送 packet 到datanodeb、DataStreamer run方法不断从dataQueue队列take出来发送。

2024-02-23 16:34:58 759 1

原创 HDFS源码解析---NetworkTopology

NetwordTopology

2022-08-03 19:59:16 1045 1

原创 HDFS源码解析---HA

HDFS 2.X HA 模式下的数据同步机制

2022-07-07 21:44:04 566

原创 HDFS源码解析---checksum数据校验

客户端获取文件的checksum整体流程如下:1、获取文件的所有block2、遍历每个block3、获取block的所有副本以及所在的datanode,去datanode上获取这个block的checksum4、获取每个block的checksum的byte-per-checksum,crc-per-block(block的crc)以及MD55、根据所有block的MD5计算文件的MD56、文件的MD5 + bytesPerCRC + crcPerBlock 计算MD5FileC

2022-03-28 11:51:10 1643 1

原创 HDFS源码解析---读数据流程

打开文件1、DistributedFileSystem.open返回FSDataInputStream输入流 public FSDataInputStream open(Path f) throws IOException { return open(f, getConf().getInt("io.file.buffer.size", 4096)); }2、调用DFSClient.open,返回DFSInputStream @Override public F..

2022-03-22 21:04:37 685

原创 基于java swing的学生学籍管理系统

原作githubGitHub - xuexuehan/scmis: Java Swing学籍管理系统Java Swing学籍管理系统. Contribute to xuexuehan/scmis development by creating an account on GitHub.https://github.com/xuexuehan/scmis改进了一下,主要实现了学生学籍的增删改查功能 新建了一张学生学籍表 重写了查询功能 去掉了其他菜单 ps:如果上面的运行代码提示java.lan.

2022-03-06 22:04:01 700

原创 Vue 封装 Axios 插件

新建一个request.jsimport axios from 'axios' //引入 axiosimport baseUrl from '../api/baseUrl'// 创建 axios 实例const service = axios.create({ baseURL: baseUrl, // api 的 base_url timeout: 15000, // 请求超时时间});// 添加请求拦截器service.interceptors.req

2022-02-27 12:57:04 2822

原创 HDFS源码解析---replaceBlock

前言replaceBlock 这个rpc 在社区版是只有在Balancer中才用到/** * It is used in Balancer and Mover, and it always internal operation. */ @Override public void replaceBlock(final ExtendedBlock block, final StorageType storageType, final Token<Block

2022-02-18 19:05:37 507

原创 Django个人博客搭建教程---基于dwebsocket的实时日志系统

requirementDjango==2.1.7paramiko==2.7.1dwebsocket==0.5.12dwebsocket的配置与HTTPS部署安装uwsgipip install uwsgiuwsgi.ini[uwsgi] chdir = /home/MyBlog module = MyBlog.wsgi:application socket = 127.0.0.1:8000master = true processes = 1threads =

2022-02-04 23:49:59 17986

原创 HDFS源码解析---TestDFSIO

这个工具怎么用没啥好说的,里面的原理简单说一下。MapReduce 这个工具会起mapreduce 任务在yarn的各个节点(客户端)发起读写请求。TestDFSIO.java的run方法会调用mapreduce作业任务。@Override // Tool public int run(String[] args) throws IOException { TestType testType = null; int buff...

2021-12-09 12:12:57 15268

原创 C++中使用new占住固定内存

main.cpp#include <cstdlib>#include <iostream>int64_t total = int64_t(128) * 1024 * 1024 * 1024;char * p;int main() { while (total) { // 一次申请500M size_t batch = 1024 * 1024 * 500; batch = batch > total ? total : batch;

2021-11-10 14:09:09 24839

原创 HDFS源码解析---triggerBlockReport

当前有两种方式出发全量块汇报通过命令行 通过hdfs.site.xml参数控制全量块汇报的代码datanode---BPServiceActor/** * Report the list blocks to the Namenode * @return DatanodeCommands returned by the NN. May be null. * @throws IOException */List<DatanodeCommand> block

2021-11-02 17:02:10 27083

原创 HDFS源码解析---DataTransferThrottler(流量控制)

简介DataTransferThrottler类别Datanode读取和写入数据时控制传输数据速率。这个类是线程安全的,它可以由多个线程共享。用途是构建DataTransferThrottler对象,并设置期限period和带宽bandwidthPerSec,际读写前调用DataTransferThrottler.throttle()方法。假设I/O的速率相对给定的带宽太快,则该方法会将当前线程wait。构造函数双參构造函数,能够设置周期period和带宽ba...

2021-08-31 14:57:27 261

原创 HDFS源码解析---数据块

Block、Replica、BlocksMapBlock类Block类用来唯一标识Namenode中的数据块,是HDFS数据块最基本的抽象接口。Block类实现了Writable接口,可以进行序列化。Block类还实现了Comparable接口,按照blockid大小排序。 Block类定义了三个字段。blockId(唯一标识了这个block对象) numBytes(数据块大小,单位是字节) generateStamp(数据块的时间戳)private...

2021-08-27 15:57:11 398

原创 HDFS源码解析---Balancer

HDFS Balancer概述在输入启动命令的那台机器上会启动一个进程,为了避免给namenode带来过大的负担,整个balance过程由balance server而不是namenode来控制。Balancer的最终结果是namenode上记录的一个block的一个副本从一个datanode转移到另一个datanode上。PS:副本放置策略 第 2 个副本存放于不同于第 1 个副本所在的机架 第 3 个副本存放于第2个副本所在的机架,但 是属于不同的节点 .

2021-08-25 15:36:52 4401

原创 HDFS源码解析---Decommission

HDFS DecommissionintroductionDecommissionManager管理数据节点停用。 后台监控线程定期检查正在进行停用的数据节点的状态。源码分析/** * Manage node decommissioning. * 节点Decommission操作状态管理器 */class DecommissionManager { static final Log LOG = LogFactory.getLog(DecommissionManager..

2021-08-17 20:31:07 30260

原创 Django个人博客搭建教程---annotate

需求实现一个接口,查询每个分类下的文章数量表结构文章和分类是1对多的关系文章表class Articles(models.Model): id = models.AutoField(primary_key=True, db_index=True) # id title = models.CharField(max_length=150) # 博客标题 # body = models.TextField() # 博客正文 body = MDTextF

2021-07-02 00:12:31 284

原创 Django个人博客搭建教程---使用Element-UI实现文件上传

Element-UI<el-upload class="upload-demo" drag="" action="http://127.0.0.1:8000/api/upload/resumes/" multiple="" :limit="3" :show-file-list="false" :on-exceed="handleExceed" :onsuccess="uploadSuccess" :file-list="fileList"> <i class="el-icon-up

2021-05-22 21:56:08 20620

原创 使用SpringBoot重构Django博客(二)基于JWT的用户认证api

JWT暂且不表,主要讲讲如何获取Django的用户表和验证密码,由于Django的用户密码都是通过pbkdf2_sha256加密后存入数据库的,那么需要用java重写这加密过程然后进行比对。Pbkdf2Sha256.javapackage com.arithmeticjia.zuul.utils;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import javax.crypto.SecretKey;import javax.c

2021-03-14 15:11:39 19971 2

原创 使用SpringBoot重构Django博客(一)查询所有博客的api

考虑到文章的主表和分类表示一对多关联,标签表示多对多,使用Mybatis处理。这里的表结构如下所示:表结构文章idtitlebodycategory_id分类idname标签idname文章-标签中间表idarticles_idtag_idPojo.javapackage com.arithmeticjia.zuul.pojo;import java.util.Date;import java.util.List;/** * @author

2021-03-13 14:39:46 434

原创 matplotlib绘制带误差的折线

import matplotlib.pyplot as pltimport numpy as npindex = np.arange(6)x_data = ['2', '4', '6', '8', '16', '32']y_data = [0.7451, 0.8464, 0.6464, 0.6964, 0.5964, 0.4864]y_data_2 = [0.4451, 0.2464, 0.3464, 0.5964, 0.8964, 0.5864]plt.errorbar(x_data, y.

2021-02-20 21:42:44 21396

原创 Vue.js前端性能优化

动态路由加载const router = new Router({ mode: 'history', //去掉url中的# routes: [ { path: '/index', name: 'Index', component: () => import('@/components/Index') }, { path: '/hello', name: 'HelloWorld', compo

2021-02-15 01:20:12 19831

原创 Vue.js中使用nprogress进度条

安装npm install --save nprogress简单使用router目录下,index.js引入import NProgress from 'nprogress'import 'nprogress/nprogress.css'配置NProgress.configure({ easing: 'ease', speed: 500, // 递增进度条的速度 showSpinner: false, // 是否显示加载ico trickl

2021-02-13 00:27:02 20220 2

原创 Element-UI修改样式不影响其他组件

需求描述需要修改某一个页面(组件)的弹框,又不能影响其他组件的弹框样式然而不能在<style scoped></style>中直接修改,因为不生效也不能在<style></style>中修改,因为会影响其他组件方法<div class="wrapper"> <el-dialog class="pop_dialog" title="" :visible.sync="wuhan" width="35%" center s

2021-02-09 14:41:26 1212

原创 Vue.js结合Element-UI实现markdown目录

引入markednpm install marked -S父子组件传值以及函数调用我的父组件是文章详情页,子组件是左侧菜单栏父组件代码<template> <el-container> <title></title> <Markdown :psMsg=navList @callFather="pageJump"></Markdown> <el-main> <vue-

2021-01-24 22:07:31 1961

原创 Vue项目部署到Apache2解决404问题

vue项目打包打包的文件放在/var/www目录下此时包括一个index.html和一堆静态文件修改/etc/apache2下apache2.conf将AllowOverride None改为AllowOverride All<Directory /> Options FollowSymLinks AllowOverride All Require all denied</Directory><Directory /usr/share&g.

2021-01-23 09:29:29 1098 1

原创 Vue.js结合Element-UI实现标题动态赋值以及国际化

国际化动态标题赋值添加标题<template> <el-container> <title>{{$t('common.category')}}</title> </el-container></template>首先监听语言改变watch: { '$i18n.locale' (newVal, oldVal) { document.title = this.$t('common

2021-01-21 18:07:11 1023

原创 Vue.js结合Element-UI实现分页跳转页面详情返回记住当前点击第几页

列表页mountedmounted: function() { this.showBlogs(); this.getLastPage()},methodsgetLastPage() {     //当从详情页返回的时候,先获取详情页中存下来的detall标识,在列表页中,把获取到的分页页码重新赋值赋值,用以返回前的页面,保持不变 if (sessionStorage.getItem('detail')) { // console.log(Num

2021-01-20 13:11:37 3129 5

原创 复现LLP-GAN代码(使用CIFAR-10数据集)

代码地址LLP-GANCIFAR-10数据集CIFAR-10数据集环境准备python3.6tensorflow1.14keras2.2.25其他的不用指定版本数据集改为本地文件环境准备好了以后,可以直接运行good-llp-gan.py,这里代码会去下载CIFAR-10数据集,会很慢,我们可以先下来来,然后本地直接加载。下载好cifar-10-python.tar.gz,解压,放在dataset文件夹下。load_local_cifar10.pyfrom __future__ i

2021-01-18 21:33:42 556

原创 SpringBoot创建Zuul网关

什么是ZuulZuul 是 一个API网关,API网关可以提供一个单独且统一的API入口用于访问内部一个或多个API。它可以将一个一直的请求通过路由的方式,映射到另外一个地址,使真实地址不可见;也可以对所有的请求进行拦截,验证,简单来说嘛就是一个统一入口,比如现在的支付宝或者微信的相关api服务一样,都有一个统一的api地址,统一的请求参数,统一的鉴权。创建一个SpringBoot应用pom.xml添加依赖<dependency> <groupId>org.

2021-01-04 15:25:58 930 1

原创 idea中对SpringBoot项目实现Maven隔离

pom.xml<build> <resources> <resource> <directory>src/main/java</directory> <includes> <include>**/*.properties</include> <include>*

2021-01-01 13:25:42 478

原创 Vue.js+Element-UI走马灯图片自适应实践

核心代码<el-carousel :height="bannerHeight+'px'" > <el-carousel-item v-for="item in imgUrls" :key="item"> <img ref="bannerHeight" @load="imgLoad" style="width: 100%" :src="item" >

2021-01-01 12:45:41 1234 4

原创 Vue.js+Element-UI国际化实践

1、 下载element-ui和vue-i18n:npm i element-ui --save npm i vue-i18n –save2、 创建languages文件夹路径为/src/assets/languages,新建en.js和zh.jsconst en = { "common": { "home": "Home", "archive": "Archive", "category": "Category", "search": "..

2020-12-29 16:18:35 514

原创 SpringBoot使用gRPC实现HelloWorld完整示例

什么是gRPCgRPC 是一个高性能、开源和通用的 RPC 框架,面向移动和 HTTP/2 设计。目前提供 C、Java 和 Go 语言版本,分别是:grpc,grpc-java,grpc-go. 其中 C 版本支持C,C++,Node.js,Python,Ruby,Objective-C,PHP和C#支持.SpringBoot添加相关依赖指定gRPC版本,不要太高,否则会报错<properties> <java.version>1....

2020-12-22 10:14:23 975

原创 Vue.js结合Element-UI实现导航菜单组件复用

定义顶部导航菜单CloudTabHead.vue注意,这里不要用<el-header>或者<el-container>之类的标签去包装,不然你在用的时候会出现错乱,还有可能导致Component template should contain exactly one root element的错误(这是因为一个template模板只能有一个根<div>,可以认为也不能出现两个根<el-container>。<template>

2020-12-19 10:02:18 1259 3

原创 使用Tensorflow2.x实现基于LSTM+Attention的时间序列预测

数据集纳斯达克100模型原理模型代码class Attention(Layer): def __init__(self, step_dim, W_regularizer=None, b_regularizer=None, W_constraint=None, b_constraint=None, bias=True, **kwargs): self.suppor

2020-12-13 21:58:26 12153 14

原创 Vue.js结合Element-UI递归实现多级导航菜单动态加载

主要参考https://blog.csdn.net/gnosed/article/details/105178518Menu.Vue在需要加载导航的地方调用该组件:<el-menu > <navigation-item v-for="(menu,i) in List" :key="i" :item="menu"/></el-menu>完整代码:<template> <div> <el-aside.

2020-12-10 20:00:41 1511 1

原创 Ubuntu 16.04.7 LTS安装Jenkins

1 、添加 Jenkins PPAwget -q -O - https://pkg.jenkins.io/debian/jenkins.io.key | sudo apt-key add sudo sh -c 'echo deb http://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list'2、安装Jenkinssudo apt-get updatesudo apt-get instal

2020-11-21 12:29:01 449

原创 IntelliJ IDEA使用Maven创建SpringMVC项目-HelloWorld

我的IntelliJ IDEA是最新版(2020.2)旗舰版,好像无法直接创建Spring MVC项目,折腾好久也没找到解决办法,但是可以通过Maven引入Spring MVC。整体目录结构创建新项目这里选择webapp写好项目名后,你可以指定你的maven仓库地址和配置文件添加Maven依赖<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/.

2020-10-01 19:58:07 2267

v4.0-JavaGuide面试突击版.pdf

Java面试宝典

2021-08-24

nasdaq100_padding.csv

nasdaq100_padding.csv

2021-08-23

Erasure Codes for Storage Applications

Erasure Codes for Storage Applications

2021-08-20

空空如也

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

TA关注的人

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