一图来看你需要拥有那些知识储备

技术实践

在这里插入图片描述

数据

关系型数据

  • MySQL
  • SQLServer
  • Oracle
  • PostgrSQL
  • DB2

大数据存储

  • Redis

  • Memcache

  • MongoDB

  • HBase

    • 高可靠性、高性能、面向列、可伸缩的分布式存储系统
  • HDFS

    • 分布式文件系统,以流式数据访问模式存储超大文件

大数据处理

  • Hadoop

    • 大型数据集处理的Apache的开源框架
  • Spark

    • 大数据计算框架,是一种基于内存计算的框架,是一种通用的大数据快速处理引擎

数据报表看板

  • DataGear
  • Grafana
  • Kibana
  • MetaBase

消息对列

  • Rabbit MQ
  • Rock MQ
  • Active MQ
  • Kafka

大数据搜索

  • Solr

  • ElasticSearch

  • Lucene

  • Hive

    • Hive是构建在hadoop之上的数据仓库

大数据流程处理

  • Apache DolphinScheduler

服务提供商

国内云服务

  • 华为云
  • 阿里云
  • 腾讯云
  • 百度云
  • 天翼云

文件存储

  • OBS(华为)
  • OSS(阿里)
  • COS(腾讯)

国外云服务

  • Google云
  • 亚马逊云
  • 微软云
  • IBM云

代码托管服务器

  • github

    • https://github.com/
  • gitee

    • https://gitee.com/
  • gitcode

    • https://gitcode.net/

服务支持

服务中心

  • Eureka
  • Zookper
  • Consul
  • Nacos
  • Apollo

定时任务框架

  • shardingsphere-elasticjob

    • 面向互联网生态和海量任务的分布式调度解决方案
  • opencron

    • 功能完善且通用的开源定时任务调度系统,拥有先进可靠的自动化任务管理调度功能,提供可操作的 web 图形化管理满足多种场景下各种复杂的定时任务调度,同时集成了 linux 实时监控
  • Fenzo

    • 基于 Java 的 Mesos 调度器
  • Azkaban

    • 简单的批处理调度器,用来构建和运行 Hadoop 作业或其他脱机过程
  • Quartz

    • 它提供了巨大的灵 活性而不牺牲简单性。你能够用它来为执行一个作业而创建简单的或复杂的调度
  • Apache DolphinScheduler

    • 是一个可视化的分布式大数据工作流任务调度系统,DolphinScheduler 致力于 “可视化操作工作流 (任务) 之间的依赖关系,并可视化监控整个数据处理过程”。DolphinScheduler 以有向无环图 (DAG) 的方式将任务组装起来,可实时监控任务的运行状态,同时支持重试、从指定节点恢复失败、暂停及 Kill 任务等操作。

性能分析

  • Kotime

    • 轻量级
  • Pinpoint

    • 重量级
  • Sentinel

  • Springboot Admin

  • Phoenix

日志采集工具

  • springboot admin

    • 服务日志输出信息实时查看
  • Graylog

    • 开源的日志聚合、分析、审计、展现和预警工具。
  • logstash

    • 一根具备实时数据传输能力的管道,负责将数据信息从管道的输入端传输到管道的输出端;与此同时这根管道还可以让你根据自己的需求在中间加上滤网,Logstash提供里很多功能强大的滤网以满足你的各种应用场景。

研发管理工具

  • Worktile

    • 易成星光科技
  • Teambition

    • 里巴巴集团
  • TAPD

    • 腾讯敏捷协作平台
  • JIRA

    • 澳大利亚Atlassian公司
  • 禅道

  • Gitee

    • 奥思网络科技
  • Trello

    • 开发商Atlassian收购

技术选型

前端技术

  • Vue
  • Node Js
  • React
  • Boot Strap

服务端开发语言

  • Java
  • Go
  • Scala

手机端技术

  • H5
  • Flutter

脚本语言

  • Shell
  • Python

人工智能

  • MXNET(亚马逊)
  • TensFlow(Google)
  • PyTorch(FaceBook)
  • CNTK(微软)
  • PaddlePaddle(百度)
  • Angle(腾讯)

应用服务

缓存

  • 简介

    • 提供一个存储缓存的容器,该容器实现了存放(Put)和读取(Get)缓存的接口供外部调用。 缓存通常以的形式存在,通过key来从缓存中获取value。当然容器的大小往往是有限的(受限于内存大小),需要为它设置清除缓存的策略。
  • 实例

    • Guava(Google)

      • 特点

        • GuavaCache中缓存的容器被定义为接口Cache的实现类,这些实现类都是线程安全的,因此通常定义为一个单例。并且接口Cache是泛型,很好的支持了不同类型的key和value
    • Ecache

      • 特点

          1. 够快。
  1. 够简单。
    3.够袖珍。

  2. 够轻量。
    5.好扩展。
    6.监听器。

    • Caffeine

      • 特点

        • Java8对Guava缓存的重写版本,性能有了较大的提升,兼容Guava与其API基本保持一致

轻量级数据库

  • 简介

    • 内存数据库(MMDB:Main Memory Database,也叫主存数据库)技术,就是干脆重新设计一种数据库管理系统,对查询处理、并发控制与恢复的算法和数据结构进行重新设计,以更有效地使用CPU周期和内存,这种技术近乎把整个数据库放进内存中,因而会产生一些根本性的变化。
  • 实例

    • SQLite

      • 优点

        • 1、易于管理。
          2、易于使用。
          3、易于嵌入其他大型程序。
          4、易于维护和配置。
      • 最佳试用场合

        • · 1、网站。
          · 2、应用程序文件格式。
          · 3、替代某些特别的文件格式。
          · 4、内部的或临时的数据库。
          · 5、命令行数据集分析工具。
          · 6、在Demo或测试版的时候作为企业级数据库的替代品。
          · 7、数据库教学。
          · 8、试验SQL语言的扩展。
    • H2 Database

      • 特性

        • 1、非常速的数据库引擎。
          2、开源、免费数据库。
          3、支持 JDBC和ODBC API,支持SQL。
          4、支持嵌入式,服务器和集群模式。支持内存数据库。
          5、提供基于浏览器的管理控制台。
          6、整个应用本身只有1MB左右。
      • 简介

        • h2是Thomas Mueller提供的一个开源的、纯java实现的关系数据库。
      • 其他

        • 1、基于磁盘或内存的数据库、表,支持只读数据库、临时表。
          2、两段式事务支持
          3、支持多个连接。表级别的锁。
          4、基于成本的优化,为复杂查询使用遗传算法,零管理。
          5、滚动的、可修改的result set支持。支持大结果集、外部结果排序。
          6、加密数据库(AES或XTEA),SHA-256密码加密。

服务打包

  • 简介

    • · 1、编译源代码。
      · 2、运行单元测试或者集成测试。
      · 3、生成执行分析的报告。
      · 4、创建发布版本。
      · 5、部署到目标环境。
  • 实例

    • Ant

      • 早期的Ant(Another Neat Tool),开始主要用来构建著名的Tomcat,产生的动机是由于作者James Duncan Davidson受不了Makfile的语法格式
      • Ant全部要自己处理。
    • Maven

      • Maven的产生,也是由于厌倦了日复一日的手工构建工作,对各个项目风格迥异的构建系统感到麻烦.Maven的依赖管理以及项目构建规则重用性等特点,让Maven几乎成为Java构建工具的事实标准
      • Maven有自己的单一仓库坐标格式
    • Gradle

      • Gradle作为新的构建工具,基于Groovy语言的构建工具,既保持了Maven的优点,通过使用Groovy定义,克服了 Maven中使用XML繁冗以及不灵活等缺点。
      • Gradle可以使用Ivy仓库和Maven仓库。

服务构建工具

  • 简介

    • 持续构建,快速响应部署
  • 实例

    • Jekins

      • Jenkins是一款用Java编写的开源的CI工具。当Oracle收购Sun Microsystems时,它作为Hudson的分支被开发出来。Jenkins是一个跨平台的CI工具,它通过GUI界面和控制台命令进行配置
      • Jenkins非常灵活,因为它可以通过插件扩展功能。Jenkins插件非常好用,同时你可以容易地添加自己的插件。除了它的扩展性之外,Jenkins还有另一个非常好的功能——它可以在多台机器上进行分布式地构建和负载测试。Jenkins是根据MIT许可协议发布的,因此可以自由地使用和分发。Cloudbees还提供Jenkins in Cloud形式的托管解决方案。
    • Hudson

      • Hudson是一款用来监控类似软件项目构建或Cron任务执行过程这样重复性工作执行情况的工具
      • 1、易安装:只需执行java –jar hudson.war命令就能测试,或者将它部署到一个servlet容器中并用于生产环境。没有其他内容需要安装,也无需数据库。
        2、易配置:由于有大量的动态错误检查机制和内置的帮助文档,Hudson完全可以通过友好的Web界面就完成所有配置而无需手动编辑XML配置文件,当然如果你更喜欢那么做,我们也支持XML文件配置。
        3、支持变更记录:Hudson可以生成一个列表,它记录了从CVS、SVN、Git等软件配置管理(SCM)系统中所产生的对版本构建的变更影响。
        4、永久链接:对于大多数页面,Hudson都给出了清晰可读的URL地址,包括一些像“最近构建版本”、“最近成功构建版本”的永久链接。这样就能很容易的从别的地方链接到它了。
        集成了RSS、电子邮件、即时通讯:当构建失败时监控结果会以RSS或者电子邮件的形式实时提醒。
        5、事后标记:构建在完成之后的很长时间内都可以被标记。
        支持Junit、TestNG测试:Junit测试报告可以和历史信息一起被制成表格、总结并展示出来。
        6、分布式构建:Hudson可以将构建、测试分布式地负载到多台电脑上进行。这使得你能够最大限度的利用那些开发人员桌子下面的空闲工作站。
        7、文件指纹:Hudson可以记录哪次构建产生了哪些jar包或者哪次构建在使用哪个版本的jar包等等。这个功能甚至同样适用于在Hudson之外产生的jar包,这是追踪一个项目依赖的理想方法。
        8、插件扩展支持:Hudson可以通过第三方插件来进行扩展。你也可以为Hudson编写插件,使其能支持你们项目所用到的工具。

应用服容器

  • 实例

    • jetty

      • 1、jetty更灵活,体现在其可插拔性和可扩展性,更易于开发者对Jetty本身进行二次开发,定制一个2、适合自身需求的WebServer。
        相比之下,重量级的Tomcat原本支持过多特征,要对齐瘦身的成本远大于丰富Jetty的成本。
    • tomcat

      • Tomcat除遵循JavaServlet规范之外,自身还扩展大量JEE特性以满足企业级应用的需求,所以Tomcat是较重量级的。
    • resin

      • 简介

        • Resin是CAUCHO公司的产品,是一个非常流行的支持servlets和jsp的引擎,速度非常快。
        • Resin也可以 和许多其他的WEB服务器一起工作。
        • Resin支持 负载均衡(Load balancing),可以增加WEB站点的可靠性。
    • Undertow

      • 在相同的机器配置下,模拟相等的请求数,Undertow 在性能和内存使用方面都是最优的。并且 Undertow 新版本默认使用持久连接,这将会进一步提高它的并发吞吐能力。所以,如果是高并发的业务系统,Undertow 是最佳选择。
    • netty

      • 1、并发高。
        2、传输快。
        3、封装好。

负载均衡

  • 实例

    • apache

      • 开放源码的网页服务器,可以在大多数计算机操作系统中运行,由于其多平台和安全性被广泛使用,是最流行的Web服务器端软件之一。它快速、可靠并且可通过简单的API扩展,将Perl/Python等解释器编译到服务器中。
    • nginx

      • 1、Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。2011年6月1日,nginx 1.0.4发布。
        2、Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。其特点是占有内存少,并发能力强。
        3、Nginx 是高性能的 HTTP 和反向代理的web服务器,处理高并发能力是十分强大的,能经受高负 载的考验。
        Nginx支持热部署,启动简单。
    • openresty

      • 1、一个基于NGINX的可伸缩的WEB平台,由中国人章亦春发起,提供了很多高质量的第三方模块。
        2、OpenResty 是一个强大的 Web 应用服务器,Web 开发人员可以使用 Lua 脚本语言调动 Nginx 支持的各种 C 以及 Lua 模块,更主要的是在性能方面,OpenResty可以 快速构造出足以胜任 10K 以上并发连接响应的超高性能 Web 应用系统。

java技术栈

数据连接池

  • 简介

    • 根据配置适当的增加或减少,数据库连接维持一定的连接数量,保持稳定的性能
  • 实例

    • C3P0
    • Druid
    • DBCP
    • HikariCP
    • tomcat-jdbc

接口文档生产工具

  • 简介

    • 后端服务接口文档,方便前后端接口对接
  • 实例

    • Smar-Doc
    • Swagger
    • Japidocs
    • torna

工作流

  • 简介

    • 工作流程处理框架
  • 实例

    • AgileBPM
    • Activiti
    • Smart-Fllow

Json工具

  • 简介

    • json数据解析工具
  • 实例

    • Gson

      • com.google.gson
    • fastjson

      • com.alibaba.fastjson
    • Jackson

      • com.fasterxml.jackson
    • json

      • net.sf.json

报表工具

  • 简介

    • 报表生成工具,能够展示丰富的页面内容,并将之转换成PDF,HTML,或者XML格式
  • 实例

    • iReport+JasperReport

      •   
        
      net.sf.jasperreports jasperreports 6.6.0

工具技术

统计图表

  • AntV-G2

    • 数据可视化引擎 G2

图像处理

  • WebGLStudio.js

    • 基于浏览器的 3D 图形套件
  • Kornia

    • 基于 PyTorch 的可微分计算机视觉库。为了兼顾传统视觉处理与深度学习的需求
  • Waifu2x-Extension-GUI

    • 使用机器学习的多媒体处理应用,借助深度卷积神经网络对图片 & GIF & 视频进行超分辨率放大
  • react-three-fiber

    • 针对 Web 和 react-native 上的 threejs 的 React 渲染器
  • Pixel Art to CSS

    • 基于 React 的在线像素绘画编辑器,简单好用,功能齐全
  • avbuild

    • 适用于所有平台的 ffmpeg 构建工具,其中包括:iOS、android、raspberry pi、win32、uwp、linux、macOS 等
  • ClayGL

    • WebGL 图形库,用于构建可伸缩的 Web3D 应用程序
  • Open3D

    • 支持快速开发 3D 数据处理应用的开源库,使用 C++ 和 python 实现前端和算法。后端经过高度优化,并设置为并行化

测试工具

  • Detox

    • 移动端 APP 灰盒测试
  • RunnerGo

    • 实现了接口测试、场景自动化测试、性能测试等测试能力
  • Sheeps

    • 通用于 TCP 和 UDP 服务器的压力测试框架,基于数据包的录制和回放,集成时间控制、快进、暂停功能,可以完成对游戏服务器的压力测试,探知游戏服务器所能承载的最大在线人数
  • TreeATE

    • 专注服务于工厂成品或半成品测试自动化的一种开源软件工具平台。
  • MeterSphere

    • 开源企业级持续测试平台,涵盖测试跟踪、接口测试、性能测试、 团队协作等功能
  • JD-hotkey

    • 京东 APP 后台热数据探测框架,历经多次高压压测和 2020 年京东 618 大促考验。在上线运行的这段时间内,每天探测的 key 数量数十亿计,精准捕获了大量爬虫、刷子用户,另准确探测大量热门商品并毫秒级推送到各个服务端内存,大幅降低了热数据对数据层的查询压力,提升了应用性能
  • Soloπ

    • 无线化、非侵入式的 Android 自动化测试工具,公测版拥有录制回放、性能测试、一机多控三项主要功能,能为测试开发人员节省宝贵时间
  • Automagica

    • 开源智能机器人流程自动化(SRPA,Smart Robotic Process Automation)平台,借助 Automagica,自动化跨平台流程变得轻而易举。Automagica 可以通过简单程序脚本实现打开各种应用程序并对应用进行操作
  • Mobly

    • Python 开发的测试框架,支持要求多设备、复杂环境以及自定义硬件设置的测试案例
  • FAutoTest

    • H5、小程序自动化测试框架
  • 性能测试工具

    • 简介

      • 服务端系统的并发模型,而为了能测试到这样的服务器系统的并发能力,性能测试工具也需要支持与之相应的并发包能力。
    • 实例

      • ab
      • jemeter

代码混淆

  • ClassFinal

    • Java class 文件安全加密工具,支持直接加密 jar 包或 war 包,无需修改任何项目代码,兼容 spring-framework,可避免源码泄漏或字节码被反编译
  • EnPHP

    • 加密混淆 PHP 代码

构建工具

  • Syncd

    • 一款开源的代码部署工具,它具有简单、高效、易用等特点,可以提高团队的工作效率。
  • Jib

    • Google 开发的可以直接构建 Java 应用的 Docker 和 OCI 镜像的类库,以 Maven 和 Gradle 插件形式提供。
  • Parcel.js

    • 极速零配置 Web 应用打包工具
  • Screwdriver

    • Yahoo 开源的持续交付构建系统,Screwdriver 的一些关键设计功能帮助 Yahoo 实现了大规模持续交付能力
  • xctool

    • iOS 应用构建工具
  • Buildout

    • 基于Python的构建工具
  • Bazel

    • 一款快速、可靠地构建和测试任何规模的软件
  • XMake

    • 基于 Lua 的跨平台构建工具
  • Teletraan

    • Pinterest 公司内部使用的应用代码发布系统,这是云工程团队开发的一个工具,提供可靠、高速、高效和安全的架构
  • Gulp.js

    • 基于流的自动化构建工具

程序文档工具

  • Gitako

    • 支持 Gitee/GitHub 等网站的文件树浏览器插件,可用于 Chrome & Firefox & Edge 浏览器
  • DevDocs

    • 集合了多个开发者文档到一个简洁的 Web 界面中,提供即时搜索、离线浏览和移动设备支持,提供黑暗模式,键盘快捷键等等特性。同时提供各种编辑工具的插件
  • Apiggs

    • 非侵入的 RestDoc 文档生成工具。工具通过分析代码和注释,获取文档信息,生成 RestDoc 文档。
  • Docusaurus

    • 开源的静态网站生成器。它将你的网站构建成一个单页面应用程序 (single-page application),具有快速的客户端导航功能并充分利用了 React 的强大能力,为网站赋予更好地交互性。
  • Lunar Markdown Editor

    • Markdown 编辑器,适合用来创建 CHM 文档
  • Hovercraft

    • 用 HTML 制作幻灯片不同,Hovercraft 可以让你更加专注于写作。你可以任意改动元素而不用担心标记语言的标签封闭问题
  • Strut

    • 幻灯片制作工具

XMind - Trial Version


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部