开源项目的正确打开方式

2023-10-30

如何分析开源项目

1. 学习的方式

  1. 不知道这个代码是怎么来的

  2. 这个代码跑不起来

  3. 这个项目对我们有什么帮助,不会模块化分析

2. 观察、下载开源项目

下载,解压,码云比github快。

解压,先不要着急运行。

观察:

  1. 用了哪些技术

  2. 是否有数据库(比如Mysql)

  3. 你的环境是否匹配(Maven)(Redis) (Vue)

    1. redis,需要有单独的环境

    2. vue 需要有对应的环境,node.js

此刻,再想办法运行!

3.跑起来是第一步(以某前后端分离项目为例)

  1. 安装数据库,执行SQL

  2. 前端需要跑起来

  3. 后端项目导入跑起来(import)

  4. 等待所有的项目跑成功

只要发现了Swagger,那么跑起来之后的第一步先一定是Swagger-ui页面,因为这里面都是接口。

进而查看配置文件,默认接口,有哪些配置,然后需要改为自己的项目和环境配置

前端就是安装依赖,启动测试运行,看接口是否正常

4.前后端分离项目的固定套路

  1. 从前端开始分析,打开浏览器控制台,点一个接口,分析一下调用关系。

  2. 如果前后端端口调用不一致的话,研究具体是指怎么操作的

    1. 封装了那些接口请求 : 前后端分离一般用到Ajax , Vue一般用到axios, request

    2. 找到配置

    3. 前后端分离项目的重点,找到接口的调用关系

    4. Springboot提供服务,前端调用接口数据,Vue的负责渲染页面

    5. 通过抓取前端的请求,找到后端对应的接口

    6. 后端分析

      • controller

      • service 业务层

      • Dao(entity) 底层

    7. 现在从前到后可以分析了,但是如何渲染到视图上的呢?看前端

    8. Vue标准套路

      • 视图层

      • js操作,接口的调用

      • 样式

      <template>
          视图层
      </template>
          
      <script>
          export default{
         js操作,接口的调用
      }
      </script>
          
      <style>
          页面样式
      </style>

      如果需要学习一个模块,将这个模块抽取出来,可以采用删除无关项的方式。

5 . 如何找到一个好的开源项目

  1. 找分类,Java python

  2. 看收藏(star).大家说好,才是真的好

  3. 看具有价值

  4. 根据自身的理解情况去看Java SSM SpringBoot 阶段性学习与巩固

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

开源项目的正确打开方式 的相关文章

  • 如何在测试套件中定义 JUnit 方法规则?

    我有一个类 它是 JUnit 测试类的 JUnit 套件 我想定义一个规则on the suite 这是可以做到的 但需要做一些工作 您还需要定义自己的 Suite 运行程序和测试运行程序 然后在测试运行程序中重写 runChild 使用以
  • Google 地图查询返回的 JSON 包含像 \x26 这样的编码字符(如何解码?)

    在 Java 应用程序中 我获取 JSON 来自 Google 地图 其中包含以下字符 x26我想将其转换为其原始字符 据我所知 这是一个 UTF 8 表示法 但我不完全确定 在源 JSON 中 可能会出现各种编码字符 例如 x3c div
  • java.lang.Class: 在 java 程序中初始化 log4j 属性文件时出错

    我正在尝试使用 log4j 运行独立的 java 程序 但在调试时收到以下消息 控制台上没有 log4j 相关日志 log Logger 1343 java lang Class ERROR in 18b4aac2 有人可以建议这里出了什么
  • 由于连接超时,无法通过 ImageIO.read(url) 获取图像

    下面的代码似乎总是失败 URL url new URL http userserve ak last fm serve 126 8636005 jpg Image img ImageIO read url System out printl
  • 使用 Checkstyle Plugin 时从插件调用代码时出现问题:“org.eclipse.jface”

    我正在尝试在 Rational Software Architect 7 0 0 4 上使用 eclipse cs 插件 我最近卸载了旧的 beta2 版本并安装了 beta3 插件本身按照之前的配置工作 但是每当我尝试通过 Windows
  • 如何对 IntStream 进行逆序排序

    我正在使用 txt 文件读取数字BufferedReader 我想颠倒该流中元素的顺序 以便在收集它们时 它们将从最高到最低排列 我不想在构建数组后进行排序 因为我不知道其中可能有多少元素 我只需要最高的 N 个元素 in new Buff
  • 场景生成器删除 fxml 文件中的导入

    我使用场景构建器 Gluon Scene Builder JavaFX Scene Builder 8 1 1 来创建应用程序的 UI 并使用 Eclipse 开发 JavaFX 现在 每次我在场景生成器中保存某些内容时 它都会从 fxml
  • cucumber-junit-platform-engine 中的功能文件发现

    In cucumber junit我使用的库 CucumberOptions定义功能文件位置 package com mycompany cucumber import cucumber api CucumberOptions import
  • @EnableTransactionManagement 的范围是什么?

    我试图了解正确的放置位置 EnableTransactionManagement多个 JavaConfig 上下文的情况下的注释 考虑以下场景 我在 JPAConfig java 和 AppConfig java 中有 JPA 配置以及一组
  • 参数动态时如何构建 JPQL 查询?

    我想知道是否有一个好的解决方案来构建基于过滤器的 JPQL 查询 我的查询太 富有表现力 我无法使用 Criteria 就像是 query Select from Ent if parameter null query WHERE fiel
  • 打印包含 JBIG2 图像的 PDF

    请推荐一些库 帮助我打印包含 JBIG2 编码图像的 PDF 文件 PDFRenderer PDFBox别帮我 这些库可以打印简单的 PDF 但不能打印包含 JBIG2 图像的 PDF PDFRenderer尝试修复它 根据 PDFRedn
  • 从 html 页面和 javascript 调用 java webservice

    我正在尝试从 javascript 调用 java 实现的 Web 服务 使用 NetBeans IDE 我读过很多关于 jQuery 和 AJAX 的内容 但我似乎无法掌握它 假设我的 Web 服务 WSDL 位于 http localh
  • OpenJDK 版本控制

    上下文 我想确保我们系统上安装的 Java 不受 CVE 2022 21449 的影响 java version 给出 openjdk version 11 0 7 2020 04 14 LTS OpenJDK Runtime Enviro
  • 将 RSA 密钥从 BigIntegers 转换为SubjectPublicKeyInfo 形式

    WARNING 最初的问题是关于 PKCS 1 编码密钥 而问题中的实际示例需要SubjectPublicKeyInfo X 509 编码密钥 我目前正致力于在 java 中从头开始实现 RSA 算法 特别是密钥生成方面 现在我的代码可以给
  • 来自客户端的超时 Web 服务调用

    我正在使用 RestEasy 客户端调用网络服务 一项要求是 如果调用运行时间超过 5 秒 则中止 超时调用 我如何使用 RestEasy 客户端实现这一目标 我只看到服务器端超时 即如果在一定时间内未完成请求 Rest Easy 网络服务
  • 从java中的字符串数组中删除空值

    java中如何从字符串数组中删除空值 String firstArray test1 test2 test4 我需要像这样没有 null 空 值的 firstArray String firstArray test1 test2 test4
  • Path2D 上的鼠标指针检测

    我构建了一个Path2D http docs oracle com javase 7 docs api java awt geom Path2D html表示由直线组成的未闭合形状 我希望能够检测何时单击鼠标并且鼠标指针靠近路径 在几个像素
  • 重写Object类的finalize()方法有什么用?

    据我所知 在java中如果我们想手动调用垃圾收集器 我们可以执行System gc 1 我们在重写的finalize 方法中做了哪些操作 2 如果我们想手动调用JVM垃圾收集器 是否需要重写finalize 方法 我们在重写的 Finali
  • java中如何找到class文件的包

    我正在编写一个使用 class 文件的 java 程序 我希望能够读取文件系统上的 class 文件 使用 InputStream 并确定它所在的包 该 class 文件可能不在一个好的包目录结构中 它可能位于某个随机位置 我怎样才能做到这
  • 使用 eclipse IDE 配置 angularjs

    我想开始使用 AngularJs 和 Java Spring 进行开发 我使用 Eclipse 作为 IDE 我想配置我的 Eclipse 以使这些框架无缝工作 我知道我可能要求太多 但相信我 我已经做了很多研究 你们是我最后的选择 任何帮

随机推荐

  • chown 命令

    NAME chown change file owner and group SYNOPSIS chown OPTION OWNER GROUP FILE chown OPTION reference RFILE FILE 当使用 refe
  • 数据库-面试题(持续更新)

    来自牛客网的汇总 1 MySQL查询时 只有满足联接条件的记录才包含在查询结果 这种联接是 内联接 内联接 典型的联接运算 使用像 或 lt gt 之类的比较运算符 包括相等联接和自然联接 内联接使用比较运算符根据每一表共有的列的值匹配两个
  • 在simulink中查看bode图

    打开simulink 在library里面找到inport和outport 然后在inport和outport之间使用传递函数 想要查看bode图的传函 连接 按如下路径点击Analysis Control Design Linear An
  • 【2.学习__签名证书和加密证书】

    实习期学习一些签名和加密的知识 暂时先这样 有时间了再整理 学习的方法 先学习证书文件内容 结构 再针对问题进行学习 证书相关的知识 1 证书的结构大致是什么样的 证书的机构分为三部分 tbsCertificate 包含 主题 和 发行者的
  • 【C语言学习笔记】再次深入理解递归——总结设计易错点

    写在前面 其实我也说不太清楚到底递归算不算算法 因为我一开始从0基础接触递归是从 算法图解 这本书中得知的 也很推荐刚学算法的朋友可以先看看这本书 写的挺不错的 也就把它当成算法了 但写了那么多题目 渐渐的感觉递归这个东西把 它更像是一种工
  • sqli-labs第十三和十四关(post请求-报错盲注)

    一上来 先加个单引号探探路 有sql报错回显 在单引号后继续加上and 1 试图让sql报错显示更多信息 从near and password 1 LIMIT 0 1 at line 1可以判断 这关就用单引号加括号了 没什么意思 注入 却
  • 深度学习:经典卷积神经网络和目标检测网络

    最近自己会把自己个人博客中的文章陆陆续续的复制到CSDN上来 欢迎大家关注我的 个人博客 以及我的github 本文主要讲解关于有关物体检测的相关网络 具体包括R CNN Fast R CNN Faster R CNN和Mask R CNN
  • 流量分析例题

    流量分析 一 题目背景 某公司内网网络被黑客渗透 简单了解 黑客首先攻击了一台web服务器 破解了后台的账户密码 随之利用破解的账号密码登陆了mail系统 然后获取了vpn的申请方式 然后登陆了vpn 在内网pwn掉了一台打印机 请根据提供
  • 第1期技术: DQN算法原理及实现过程

    深度强化学习实验室 DeepRLhub 访问官网 http deeprlhub com 特别声明 本文是作者在充分知晓著作权细则的情况下 经过个人付出或者翻译他人著作内容 并已注明翻译原文来源的情况下授权给 深度强化学习实验室 CSDN博客
  • Java 国际化简单使用

    文章目录 Java国际化使用 Locale 本地化工具类 配置文件本地化 ResourceBundle Java国际化使用 Locale 是表示语言和国际的类 是国际化应用的基础 语言完整版 http www loc gov standar
  • python使用ctypes调用dll

    因为 ctypes 是内置模块 可以直接使用 from ctypes import 加载dll程序 from ctypes import dll CDLL test sdk dll 调用dll方法 直接调用 from ctypes impo
  • C++----类型转换

    C 类型转换的方式 1 static cast static cast用于非多态类型的转换 静态转换 编译器隐式执行的任何类型转换都可用 static cast 但它不能用于两个不相关的类型进行转换 2 reinterpret cast r
  • OC中一些容易混淆和忘记的知识点总结

    1 三目运算符 lt 表达式1 gt lt 表达式2 gt lt 表达式3 gt 运算符的含义是 先求表达式1的值 如果为真 则执行表达式2 并返回表达式2的结果 如果表达式1的值为假 则执行表达式3 并返回表达式3的结果 可以理解为条件
  • Self-study Python Fish-C Note-3 P15-P19

    分支和循环 branch and loop python中分支和循环结构语法的注意和特点 1 严格的缩进 2 if elif else while for后面要加冒号 也只有冒号一种标点符号 A 分支 branch a 语法结构 1 判断一
  • 华为OD机试 - 服务失效判断(Java)

    题目描述 某系统中有众多服务 每个服务用字符串 只包含字母和数字 长度 lt 10 唯一标识 服务间可能有依赖关系 如A依赖B 则当B故障时导致A也故障 依赖具有传递性 如A依赖B B依赖C 当C故障时导致B故障 也导致A故障 给出所有依赖
  • dynamic 365 前端操作

    dynamic 365 常用js操作和方法 dynamic 365 常用js dynamic 365 常用js 获取当前用户id Xrm Page context getUserId 获取当前用户的用户名 Xrm Page context
  • Conference and Journal Level in 2016

    中国计算机学会推荐国际学术会议和期刊目录 2015 年 中国计算机学会 中国计算机学会推荐国际学术期刊 计算机体系结构 并行与分布计算 存储系统 一 A 类 序号 刊物简称 刊物全称 出版社 网址 1 TOCS ACM Transactio
  • 【dubbo学习系列】dubbo消费端的代理生成详解(@DubboReference和@Reference)

    文章目录 spring中dubbo实现RPC 如何加载 Reference和 DubboReference注解 DubboComponentScanRegistrar 概括 发现 Refrence和 DubboReference注解 并编织
  • anaconda虚拟环境管理,从此Python版本不用愁

    1 引言 在前几篇博文中介绍过 virtualenv virtualenvwrapper等几个虚拟环境管理工具 本篇要介绍的anaconda也有很强大的虚拟环境管理功能 甚至相比virtualenv virtualenvwrapper等工具
  • 开源项目的正确打开方式

    如何分析开源项目 1 学习的方式 不知道这个代码是怎么来的 这个代码跑不起来 这个项目对我们有什么帮助 不会模块化分析 2 观察 下载开源项目 下载 解压 码云比github快 解压 先不要着急运行 观察 用了哪些技术 是否有数据库 比如M