自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

WS的小屋

it's never too old to learn

  • 博客(224)
  • 资源 (10)
  • 收藏
  • 关注

原创 Jar 包加密

这一套原理,加密时对class文件做了两次处理,一次是对class文件的字节码完全加密,一次是对class文件混淆,这个混淆是保留成员变量和方法,只对方法的内部实现进行隐藏;解密时,判断如果该类是自己加密过的,就找到加密的字节码进行解密,如果不是自己加密的就跳过。那我们只能在命令里增加参数,来特定打开某些需要打开的包才能正常启动项目,下面的命令增加了启动参数,JAR包可以正常执行。解密通过类加载器,基于。时,在原有类加载器的同级别中增加一个自定义的类加载器,通过该类加载器实现加密文件的解密,然后反射调用。

2023-04-11 15:38:14 6732 5

原创 Mybatis-plus 使用 typeHandler 将 String 拼接字符串转换为 List 列表

如果没有使用 mybatis-plus ,使用的是 mybatis 的 xml 配置,则在 property 标签里增加。学生可以有多个角色,但是这多个角色我是作为多条记录存储在另外一张表中的,现在想将这多条记录查询出来,注入到。的查询结果如下,含义是把该学生信息、以及该学生所属的角色拼接成字符串作为一个字段查出来。层中做两次查询然后分别注入,但是为了优雅一点,我想只使用持久层框架就解决这个问题。这知识第一步,下面我们需要在指定的地方使用它,这里我直接使用。将想要的数据查询出来,然后再考虑类型转换。

2023-01-11 20:03:53 5148

原创 Provides transitive vulnerable dependency org.yaml:snakeyaml:1.33

新创建了一个的项目,弹出警告。

2023-01-11 10:16:33 13120 3

原创 JAVA 解析 DXF 文件 点线面圆

一、DXF 文件简介1.人肉解析观察几个具有代表性的 dxf 文件,点、文本、线。使用文本工具直接打开 DXF 文件,可以看到很多字段,这里根据官方文档找规律,找到具有代表性的一些字段如下:点的特点:都是 POINT 开头8 下面对应的图层名称10 下面的是 x 坐标20 下面的是 y 坐标30 下面的是 z 坐标POINT 5668B3301F100AcDbEntity 8井号 6Continuous100AcDbPoint 10398266.5

2022-04-08 17:18:27 3269

原创 EasyExcel 自定义枚举类型装换

问题描述现在需要使用 EasyExcel 的报表导入导出功能,一般的字段都没有问题,但是由于系统使用了 Spring Boot + Mybatis Plus 的枚举类型映射功能,所以类似于 性别 的字段,在实体类中是下面的形式。@ExcelProperty(value = "性别(0:女,1:男)")private GenderType gender;其中的枚举类使用了 @EnumValue 注解,完成了自动映射,这使得在查询数据库的时候,我们和数据库交互的工具 Mybatis Plus 可以自动

2021-11-15 11:09:44 10625 2

原创 Cause: org.postgresql.util.PSQLException: 错误: 重复键违反唯一约束

错误背景SpringBoot 项目使用 Mybatis 框架进行开发,相应的表已经配置了主键自增。@TableId(type = IdType.AUTO)private Integer id;数据库中的字段 id 值也设置了主键自增。错误原因出现这个错误的原因是因为当前表的 id 字段的序列值被改了,通过 Navicat 工具可以查看:可以查看当前值为 209,这是正常的,出现错误的原因就是因为这个当前值被改了,可能改成了 1。解决办法执行一条命令,将序列的当前最大值 +1 ;sel

2021-11-03 20:04:30 2631

原创 Android Studio 开发 Flutter 环境搭建(Windows)

下载Android Studio 软件下载,可以去这里下载 https://developer.android.com/studio/archive 任意版本的 IDE,建议不要下载最新版,因为有些问题网上没有成熟的解决方案,不利于新手开发。下载完成之后安装,在安装的时候要特别注意 SDK 的安装配置问题,安装完成之后右键管理员身份启动,sdk 的相关配置在如下位置。如上图,HAXM 要勾选,同时注意 sdk 的存放位置,存放在一个空文件内。Flutter 下载,建议下载 stable 稳定版,下

2021-09-22 15:57:56 1111 1

原创 CentOS 7.9 安装 Postgresql 9.6

版本CentOS Linux release 7.9.2009 (Core)postgresql 9.6截止发文时间,以下版本已经不再支持,所以最低只能安装 9.6 版本的数据库:下面的步骤都是按照 9.6 版本进行安装的,如果时境过迁,9.6 也不支持了,只需要更改下面的版本号即可,将 9.6 版本改为你安装的版本,例如版本 10 ,只需要将下面所有的 9.6 改为 10 。步骤1.# 安装源yum install https://download.postgresql.org/pub/

2021-08-24 13:56:24 648

原创 Mybatis-Plus 通用枚举类型的使用

有些字段,例如性别、婚姻状况、等标志性字段,在数据库中存放的形式往往是数字,0 或者 1,这样做的好处是存取的效率高节省空间,但是前端的在展示的时候不能直接展示,需要进行一个判断,但是判断逻辑放在前端不妥,所以后端应该提前将值转换好返回该前端。在 Mybatis-Plus 中我们可以使用枚举类型来完成这一操作,他能自动将数据库里的字段映射成我们需要的字段,例如性别,新建枚举类如下:@Getterpublic enum GenderType { WOMEN(0, "女"), MAN(1,

2021-08-20 14:12:36 2299

原创 Mybatis Plus 快速入门

一、配置添加 SpringBoot 启动器依赖<dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.4.2</version> </dependency>查看引入的依赖结构,打开自动装配的配置文件,发现自动

2021-07-19 14:41:21 748

原创 Windows10 下启动 postgresql 服务

管理员身份运行 cmd 依次执行以下命令,报错就跳过:这里我的安装目录是 D:\Programe Files\postgresql\10 :initdb.exe -D "D:\Programe Files\postgresql\10\data" -E UTF-8 --locale=chs -U postgres -Wpg_ctl.exe -D "D:\Programe Files\postgresql\10\data" start然后先进入到 bin 目录,执行以下命令:.\psql.exe

2021-07-17 19:05:37 4036

原创 系统错误:由于找不到 VCRUNTIME140_1.dll 无法继续执行代码

问题描述在安装完 Tableau Public 之后,启动报错找不到 VCRUNTIME140_1.dll。解决方法下载缺失的系统文件 点击即开始下载,解压之后将其放到 C:\Windows\System32 目录下。

2021-06-28 18:26:23 3086

原创 Ubuntu18 项目环境搭建

分为以下几部分:后端环境:java前端环境:node数据库环境:mysql安装配置 Java关于 Java 环境的配置之前有文章介绍:https://blog.csdn.net/weixin_43941364/article/details/105011771。文中使用的 Xftp7 安装包:https://download.csdn.net/download/weixin_43941364/19821232安装 Node#安装 nodesudo apt install nodejs

2021-06-26 09:30:02 321

原创 ssh: connect to host ip port 22: Connection timed out

windows使用ssh连接阿里云远程服务器超时的问题,解决办法很简单,但是如果不知道的话真的很麻烦。

2021-06-24 14:49:03 45550 9

原创 Java 中 3 种常见的 IO 模型

知识背景操作系统:为了保证操作系统的稳定性和安全性,一个进程的地址空间被分为 用户空间 和 内核空间 ;用户空间不能直接访问内核空间,要想访问必须进行 系统调用 ;IO 操作只有内核空间才能完成,所以用户进程需要进行系统调用;所以用户空间仅仅是发起系统调用请求,真正的 IO 操作执行是由内核空间完成的。常见的 IO 模型:同步阻塞 IO ⭐同步非阻塞 IOIO 多路复用 ⭐信号驱动 IO异步 IO ⭐其中带有星号的模型为 java 中常见的 3 中模型,下面将分别介绍。BI

2021-06-22 14:20:31 677 1

原创 使用 Axure RP 8 进行滑动页面设计

Axure RP 是一个专业的快速原型设计工具。Axure(发音:Ack-sure),代表美国 Axure 公司;RP 则是 Rapid Prototyping(快速原型)的缩写。Axure RP 是美国 Axure Software Solution 公司旗舰产品,是一个专业的快速原型设计工具,让负责定义需求和规格、设计功能和界面的专家能够快速创建应用软件或Web网站的线框图、流程图、原型和规格说明文档。作为专业的原型设计工具,它能快速、高效的创建原型,同时支持多人协作设计和版本控制管理。Axure.

2021-06-17 11:24:20 8541 1

原创 打包部署微服务项目

随着 Spring Boot、Spring Cloud 的流行,越来越多的公司和企业开始使用微服务分布式架构,大家也都在学习相关知识;在自己做项目的时候,面对庞大的项目文件和繁杂的逻辑关系,有些同学就不知如何部署自己的项目了,本篇文章将介绍通用型的微服务项目部署方式。

2021-06-10 21:39:29 8779 14

原创 Ps案例 香水广告

导入素材之后可以拖动窗口移动各个素材。绘制选区:选择椭圆工具使用选区工具选择圆形图片,使用 Ctrl+T 可以更改选取。之后使用蒙版工具,添加图层蒙版。然后右键装换为智能对象。按住 Alt 键拖动图像可以快速复制。将 4 个小球全选拖动至文件夹图标处,双击文件夹可以重命名。右键可以链接图层,这样图层就链接到一起了,可以进行一起移动等操作。混合方式选择明度,可以改变大球与背景的显示方式。调整画布大小至合适的大小。Ctrl+Alt+Z 可以实现多步撤销。加盖印:Ctrl+

2021-03-17 12:42:03 563

原创 Word 在试图打开文件时遇到错误 文档可能已损坏 解决方法

我使用的是 Office 2019 的 Word 打开后缀名为 doc 的文件。错误信息:有多种原因可导致显示此错误消息。文档可能已损坏。请使用“恢复文本”转换器或“打开并修复”功能。这两种功能都可在“打开”对话框中找到。注意: 如果打开的文件是电子邮件的附件,建议先将该文件保存到本地硬盘,然后再尝试恢复或修复该文件。 可在“打开”对话框中使用“打开并修复”功能。若要打开并尝试修复,请单击“文件”选项卡,再单击“打开”,然后定位到损坏的文件并单击该文件。此时不要单击对话框右下部的“打开”按钮,而

2021-03-16 11:00:57 18070 7

原创 Adobe 软件安装出现 183 错误

出现183错误的解决办法,官网建议是重试,等于没说。这里给出解决方案:删除 ‪C:\Program Files 和 ‪C:\Program Files(x86)\ 文件夹下的 Adobo 文件夹。这个错误是文件写入失败导致的,查看安装日志(C:\Program Files (x86)\Common Files\Adobe\Installers\Install.log)可以看到基本上是下面两个文件夹的文件无法写入C:\Program Files\Common Files\AdobeC:\Progra

2021-03-14 14:02:47 22562

原创 进程同步习题——棋子问题

生产围棋的工人不小心把相等数量的黑子和白子混装载一个箱子里,现要用自动分拣系统把黑子和白子分开,该系统由两个并发执行的进程组成,功能如下:(1)进程 A 专门拣黑子,进程 B 专门拣白子;(2)每个进程每次只拣一子,当一个进程在拣子时不允许另一个进程去拣子;当一个进程拣一子后,必须让另一进程去拣一子。请回答:这两个并发进程之间的关系是同步还是互斥 ;用 wait、signal 操作管理时,写出所定义的信号量和初值;根据定义的信号量,在下列空白处填入应执行的 wait、signal 操作,以

2021-01-17 18:46:34 3493 2

原创 【操作系统】文件管理

设文件 F1 的当前引用级数值为 1 ,先建立文件 F1 的符号链接(软链接)文件 F2 ,再建立文件 F1 的硬链接文件 F3,然后删除文件 F1,此时文件 F2 和文件 F3 的引用计数值分别是(1,1)。

2021-01-17 12:37:27 6103 5

原创 软件工程黑盒白盒测试

目的是为了应付期末考试,期末考试肯定会考测试的习题。一、概述先总览一下测试的分类:重点掌握黑盒测试和白盒测试。黑盒由白盒的区别:黑盒测试:检查程序各功能是否能实现,检查功能错误;黑盒测试与软件的具体实现过程无关,只关心结果;所以又被称为功能测试。白盒测试:检查内部操作是否按规定执行,各功能是否得到充分的使用;所以又被称为结构测试。二、黑盒测试方法有很多种方法,这里主要讲解两种比较常用常考的方法,分别是等价类划分、边界值分析。2.1 等价类划分先来一个引例:Next

2021-01-12 19:15:02 6632

原创 前后端多环境配置

介绍一下前后端的多环境配置,前端使用的 Vue 框架,后端使用的是 SpringBoot 框架。前端 Vue这里以开发环境(dev)和生产环境(prod)为例。首先在项目根目录下创建两个文件:这是创建出来了两个不同的环境,内容如下:.env.dev文件内容:NODE_ENV=developmentVUE_APP_SERVER=http://127.0.0.1:9000--------------------------------------.env.prod文件内容:NODE

2021-01-03 15:33:42 728

原创 使用 Power Designer 16 设计数据库

使用 PowerDesigner 做数据库设计,主要用到两个大的模型:第一个是 CDM:概念模型;第二个是 PDM:物理模型。整体的步骤如下:先创建 CDM;然后把 CDM 转化成 PDM ;最后把 PDM 转化成数据库 sql 执行语句;还可以把 PDM 转化成 word 文档。所以本文也分为 4 个步骤介绍。一、创建概念模型打开之后,选择创建概念模型:修改名称之后点击 OK:可以在 Domain 中设置常用的数据格式:这样以后我们创建的实体属性会继承这里的数据类

2020-12-27 22:56:58 1344

原创 一篇文章学会统一建模语言UML

学习 UML 的目的是帮助我进行需求分析,CRUD 谁都会写,那是建立在数据库和业务需求都明确的基础之上的,所以这些基本功还是要掌握的。不需要掌握复杂的 UML 语法,更多的是要去理解 面向对象 的分析方法,这可以提高需求分析能力。一、总览 UMLUML 有很多种图,可分为 2 类:结构型:类图对象图组件图部署图包图行为型:活动图状态图顺序图通信图用例图

2020-12-27 16:37:36 314 1

原创 设计模式之 —— 状态模式 State

引例在软件开发过程中,应用程序中的部分对象可能会根据不同的情况做出不同的行为,我们把这种对象称为 有状态的对象 ,而把影响对象行为的一个或多个动态变化的属性称为状态。对这种有状态的对象编程,传统的解决方案是:将这些所有可能发生的情况全都考虑到,然后使用 if-else 或 switch-case 语句来做状态判断,再进行不同情况的处理。但是显然这种做法对复杂的状态判断存在天然弊端,条件判断语句会过于臃肿,可读性差,且不具备扩展性,维护难度也大。且增加新的状态时要添加新的 if-else 语句,这违背了“

2020-12-26 14:34:05 247 1

原创 设计模式之—— 桥接模式 Bridge

定义将抽象与实现分离,使它们可以独立变化。他是用 组合关系 代替 继承关系 ,从而降低了抽象和实现两个维度的耦合度。结构和实现桥接模式包含以下角色:抽象化角色:定义抽象类,并包含一个对实现化对象的引用;扩展抽象化角色:是抽象化角色的子类,实现父类中的业务方法,调用实现化角色的方法;实现化角色:定义接口,供扩展抽象化角色调用;具体实现化角色:给出具体实现。package bridge;public class BridgeTest { public static void

2020-12-25 18:27:33 240

原创 IDEA隐藏无用文件

像 iml 文件和 idea 文件都是可以隐藏显示的,这样会让我们的项目结构看起来更简洁。隐藏 iml 文件:输入 *.iml 然后保存确定;隐藏 idea 文件:输入 .idea 然后保存确定;

2020-12-24 10:39:43 785

原创 设计模式之——享元模式 Flyweight

我们经常抱怨学校的选课系统非常卡,这是什么原因呢?设想一下在选课高峰期,1 秒钟有 1000 人选课,程序在内存中同时创建 1000 个对象,服务器压力过大肯定卡啊,还有可能出现内存溢出的现象。但是我们仔细想一下这 1000 个对象,他们有什么共同点,我们选课会选择任课老师、课程名称等等,那么很多同学有可能选的都是同一节课,现在是每个同学选课都会重新创建一个新的选课记录对象,但是我们没必要这么做,因为这些对象有共性,他们除了学生的名字是不一样的,有可能任课老师和课程名都是同一个,这个时候我们可以共享这些

2020-12-24 06:00:37 359

原创 设计模式之——组合模式 Composite Pattern

引例在介绍之前我们先来看一个例子,是关于公司的人事管理系统的:这是一个典型的树形结构,那么我们怎么才能用代码表示他呢?分析:总共有两种不同性质的节点:有分支的节点:根节点:总经理树枝节点:研发部经理无分支的节点:叶子节点:开发人员那这么说,定义三个类不就行了,如下图:那我们就按照这个类图实现一下代码:首先是 根节点接口 :/** * 根节点接口 * * @author wang suo * @version 1.0 * @date 2020/12/21

2020-12-22 22:05:05 366 1

原创 设计模式——六大设计原则

一、单一职责原则单一职责原则简称 SRP,他想表达的就是字面意思,一个类只承担一个职责。有时候我们可以将一个复杂的接口拆成两个不同的接口,这两个接口承担着不同的责任,这就是依赖了单一职责原则;它的定义就是:应该有且仅有一个原因引起类的变更。关于 职责 的定义很模糊,什么才是职责呢?不同的人有不同的解读,所以该原则很难运用,需要开发者的慧眼。下面以大学学生工作管理程序为例介绍单一职责原则的应用。二、里式替换原则里式替换原则也叫 LSP 原则,没错就是你想的那个 lsp ????。其实是英文

2020-12-21 21:27:19 393

原创 【操作系统】内存管理

介绍内存管理中重要的知识点基本分页存储管理方式、请求分页存储管理方式、段页式管理方式;以及页面置换算法,中间穿插着系统方便读者理解。

2020-12-19 19:39:13 1693 1

原创 Design Patterns 之原型模式

原型(Prototype)模式的定义如下:用一个已经创建的实例作为原型,通过复制该原型对象来创建一个和原型相同或相似的新对象。在这里,原型实例指定了要创建的对象的种类。用这种方式创建对象非常高效,根本无须知道对象创建的细节。例如,Windows 操作系统的安装通常较耗时,如果复制就快了很多。在生活中复制的例子非常多,这里不一一列举了。原型模式的优点:Java 自带的原型模式基于内存二进制流的复制,在性能上比直接 new 一个对象更加优良。可以使用深克隆方式保存对象的状态,使用原型模式将对象复制一份

2020-11-30 15:54:34 256

原创 死锁习题——银行家算法讲解

非剥夺资源的竞争和进程的不恰当推进顺序会导致死锁。有 3 种方式可以解决死锁问题:预防死锁;避免死锁;死锁的检测和解除;今天要讲的银行家算法就属于死锁避免。一、银行家算法银行家算法是最著名的死锁避免算法。1、数据结构描述可用资源向量:Available,是一个数组,表示现在系统中总共还有多少可用的资源。例如:A B C 的 Available 是 [1,2,3]表示现在系统中还有 A 类资源 1 个,B 类资源 2 个,C 类资源 3 个。最大需求: Max,是一个矩阵,表

2020-11-26 08:10:44 33775 22

原创 Design Patterns 之工厂模式

现实生活中,原始社会自给自足(没有工厂),农耕社会小作坊(简单工厂,民间酒坊),工业革命流水线(工厂方法,自产自销),现代产业链代工厂(抽象工厂,富士康)。我们的项目代码同样是由简到繁一步一步迭代而来的,但对于调用者来说,却越来越简单。定义工厂模式的定义:定义一个创建产品对象的工厂接口,将产品对象的实际创建工作推迟到具体子工厂类当中。按实际业务场景划分,工厂模式有 3 种不同的实现方式,分别是简单工厂模式、工厂方法模式和抽象工厂模式。下面我们来分别看一下这 3 种模式。一、简单工厂模式在简单工

2020-11-24 10:47:30 449 1

原创 【操作系统】生产者消费者问题讲解

生产者消费者问题是经典的进程同步问题,也是考试最常考的问题。之前讲过了使用信号量机制实现进程控制,请确保已经掌握了相关知识:信号量机制实现进程控制 。问题描述——生产者消费者问题系统中有一组生产者进程和一组消费者进程,生产者进程每次生产一个产品放入缓冲区,消费者每次从缓冲区中取出一个产品并使用。生产者、消费者共享一个初始为空、大小为 n 的缓冲区。分析:只有缓冲区没满时,生产者才能把产品放入缓冲区,否则必须等待;只有缓冲区不为空时,消费者才能从中取出产品,否则必须等待;缓冲区是临界资源

2020-11-22 19:39:12 8446 3

原创 ATM 系统的用例图、类图、顺序图、协作图、活动图设计

用例图分析:对于银行的客户来说,可以通过ATM机启动几个用例:存款、取款、查阅结余、付款、转帐和改变PIN(密码)。银行官员也可以启动改变PIN这个用例。参与者可能是一个系统,这里信用系统就是一个参与者,因为它是在ATM系统之外的。箭头从用例到参与者表示用例产生一些参与者要使用的信息。这里付款用例向信用系统提供信用卡付款信息。类图分析:类图显示了取款这个用例中各个类之间的关系,由四个类完成:读卡机、账目、ATM屏幕和取钱机。类图中每个类都是用方框表示的,分成三个部分。第一部分是类名;第二部分是类包含

2020-11-20 22:31:47 38645

原创 信号量机制实现进程控制

一、信号量机制实现进程互斥我们将一次仅允许一个进程访问的资源称为临界资源,而临界区是指访问临界资源的那段代码。通常将互斥信号量设置为 mutex ,初始值为 1。为什么初始值设置为 1 呢?因为数值表示访问临界资源的进程数量,作为进程互斥,同时就只能有一个进程访问临界资源,所以是 1 。对于不同的临界资源,需要设置不同的互斥信号量。这里来看一段代码:semaphore mutex = 1; // 初始化信号量P1(){ ... P(mutex); //使用临界资源前需要加锁 临界

2020-11-20 21:41:25 1584

原创 Design Patterns 之命令模式

一、前言在许多设计中,经常会出现一个对象直接请求另一个对象调用其方法以达到某种目的的行为,这里的两个类之间就会出现紧耦合。这很不好,所以我们应该将 方法的请求者 和 方法的实现者 分开。比如我们可以直接用手按电视机上的按钮调节音量,这样对我们来说很麻烦,我们可以使用遥控器作为中介,相当于一个命令,这样以后就可以使用电视机遥控器(命令发送者)通过按钮(具体命令)来遥控电视机(命令接收者)。二、结构命令模式包含以下角色:抽象命令类 Command:声明执行命令的接口;具体命令角色 Concrete

2020-11-02 09:11:28 280 1

Xftp-7.0.0071.exe

Xftp7安装包

2021-06-25

StarUML v3.2.2 安装包

StarUML 的安装包,具体的使用教程请查看我的这篇文章:https://blog.csdn.net/weixin_43941364/article/details/108874499

2020-09-29

jxgl数据库,SQL语句改错使用,SQL Server 数据库

使用的是 SQL Server 数据库,关于如何导入数据库,请看这篇文章:https://blog.csdn.net/weixin_43941364/article/details/106361511 关于操作数据库:https://blog.csdn.net/weixin_43941364/article/details/106430725

2020-05-29

IDEA 的 vuejs 插件安装包

适用于 2019.2.4 及以上版本的 IDEA,点击从磁盘安装即可,具体操作请看我的博客。

2020-05-03

adminlte2-itcast.zip

黑马后台管理系统的前端模板页面,就是前端的一个框架,自己从后台填充数据就可以了。页面已经写好了。只需要修改局部内容即可,很适合做为后台管理系统的模板。

2020-04-29

jdk8_linux.zip

java的JDK,Linux上的 tar.gz 格式的压缩包,解压以后取出来安装包,忽略TXT文本,具体过程参考我的文章

2020-03-21

archetype-catalog.zip

maven 会去下载`archetype-catalog.xml`文件,从而导致卡顿,那我们直接给它下载好存在本地不就行了?但是可能会因为网络原因无法下载,这里给你提供好了,下载直接可用。

2020-03-05

SecureCRTPortable.zip

使用SSH连接必备软件,用过的都说好,另外还可以参考我的文章进行配置,配置完成之后很漂亮,如果你对它感兴趣可以向我留言.

2020-02-29

cpptools-win32.vsix

想在visual studio code 上面编译c语言吗?那这个工具是必不可少的,你能找到它肯定知道怎么安装的,如果不知道,访问我的个人网址获取方法wsuo.top

2020-02-06

APK反编译专家V2.1.exe

APK反编译,让你轻松的获取APK源码,使用方法:打开应用之后将APK文件拖入进去,一键解码,直接生成源代码到指定目录。

2020-02-06

空空如也

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

TA关注的人

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