Back-end knowledge collection (Updated continuously ~)

The framework

Spring Boot

Some SpringBoot uses notes

MyBatis


MyBatis-PLUS

An enhancement tool for MyBatis

Website: baomidou.com


SpringCloud


Shiro


Spring


Dubbo


The database

Redis

Redis ZSet data structure


MySQL

# date_format()time.'%Y-%m-%d %H:%i:%s');
date_format(from_unixtime(time/1000),'%Y-%m-%d %H:%i:%s') # Select a random piece of dataselect * from users where userid > = ((select max(userid) from users)-(select min(userid) from users)) * rand() + (select min(userid) from users)  limit 1
Copy the code

MyCat


The development tools

IDEA

  • shortcuts

    Case toggle: CTRL + Shift + UCopy the code

Drawing software

  • processon
  • draw.io

system

Linux

  • The command

    #Observe the file type file
    file ~/.bashrc
    
    #Search for script file nameswhich/typeWhich ifconfig which -a command # lists all directives that can be found in the PATH directory, not just the name of the first directive found
    #Search whereis/locate/find for the file name
    find /etc -newer /etc/passwd
    
    #Capacity related DF/DU
    du -sh ./*
    
    #Common compression techniques
    #Time gzip
    gzip
    bzip2
    xz
    
    #The awk commandExecutorfactory. handler - [vipusermkttouchjob_worker-1 :QXyq4kMAdZ] executorFactory. handler[79] : [op:handler, executorId:2, ruleId:145, uid:[email protected], handler:true, result:success] cat webapp.log | grep 'ExecutorFactory.handler[79]' | awk -F'uid:' '{print $2}' | awk -F',' '{print $1}'  | sort -uCopy the code

Distributed storage system

MINIO


CEPH


HDFS


JAVA related

Design patterns

Scheduled Task Scheduling

ELASTIC-JOB

<! -- 2.x version access case -->
<! -- Importing dependency packages -->
<! -- elastic-job -->
<dependency>
    <groupId>com.dangdang</groupId>
    <artifactId>elastic-job-lite-spring</artifactId>
    <version>2.1.5</version>
</dependency>

<! Configure jobs in Spring XML -->
<! -- Configure the Job registry -->
<reg:zookeeper id="regCenter" server-lists="${zookeeper.serverLists}" namespace="namespace"
               base-sleep-time-milliseconds="1000" max-sleep-time-milliseconds="3000" max-retries="3"/>

<! -- Configure jobs -->
<job:simple id="job1" class="jobClass"
            registry-center-ref="regCenter" cron="${job.cron}"
            sharding-total-count="${job.sharding-total-count}"
            sharding-item-parameters="${job.sharding-item-parameters}"
            overwrite="true"
            description="Scheduled task"/>

<! -- Parameter case -->
zookeeper.serverLists=x.x.x.x:2181,x.x.x.x:2182
job.cron=0 0 2 * * ?
job.sharding-total-count=1
job.sharding-item-parameters=0=A
Copy the code

XXL-JOB


Handy utility classes

Hutool is a small and comprehensive JAVA tool class library


Arthas

Ali open source Java diagnostic tools


The Mock tools

  • Testable Mock tool makes unit testing simpler and testable
  • Mockito

Lambda

Option class, elegant determination of null

Streaming data processing

10 examples of lambda expressions


Maven


Gradle


Cache

Local cache Guava

Caffeine

Memcached

Redis


Big data

Flink(Flow Computing Framework)


Storm


Hadoop


network

Netty


SOFABolt


Other network

Java implements TCP communication

Java sockets implement simple HTTP services

TcpSocket heartbeat problem (including Mac system Settings)

Set the TCP keepalive for network interworking


The middleware

RabbitMQ

Go to rabbitmq. md


Kafka


ZooKeeper


Data structures and algorithms

Consistent hashing algorithm


BitMap

An interesting blog introduction

-The application labels the userCopy the code

Brush the topic notes


other

Git


DNS


CDN


Docker


The picture related

GIF picture principle and storage structure

GIF image generation


GIT

  • Introduction to git

  • Complete the game with Git

  • A Commit Message format

    -Blair: Feat. New feature fixes bugs in docs style. Refactoring (i.e. not new features, nor code changes that fix bugs) perf: performance (changes that improve code performance) test: adding or modifying tests build: changes that affect the build system or external dependencies (Maven, Gradle, NPM, etc.) CI: Changes to CI configuration files and scripts chore: Changes to non-src and test directories Revert: REVERT a commitCopy the code

Excel large file processing


Scripting language


Back-end technology atlas


The monitoring system

  • Promethes
  • Prometheus practice

Some personally written tool classes


Graduation design small program – health housekeeper


books

Java
Java Programming Ideas, the first Docke book, Effective Java, In-depth Understanding of the Java Virtual Machine, Java Performance Tuning Guide, From Paxos to Zookeeper, TCP/IP Details, HTTP details, Linux and Unix "Shell Programming Guide" "Birdman's Linux Private House Dish" "Python Programming from Beginning to Practice" "High-performance MySQL" "Hive Programming Guide" "Refactoring: Improving the design of existing code" "Head First Design Pattern" "Redis Design and Implementation" "MySQL must Know must Know" "Java Concurrent Programming practice" "Java Performance Authority Guide" "Programming Abas" "Introduction to Algorithms" "In-depth Understanding of computer Systems" "Graphic TCP/IP" "Domain Driven Design" "Code" "Art of Modifying Code" "Code Clean Way" "Programmer's Professional literacy"Copy the code