-
TortoiseSVN新人使用指南
2016-10-20 16:32:05这篇文章源于6月份给公司新人作的关于SVN使用的培训,转眼已经过了几个月的时间,丢了也怪可惜的,于是整理出来希望能够帮助后来人快速入门。安装说明 使用说明 检出项目 导入项目 提交 更新 查看日志 版本回滚 版本...这篇文章源于6月份给公司新人作的关于SVN使用的培训,转眼已经过了几个月的时间,丢了也怪可惜的,于是整理出来希望能够帮助后来人快速入门。
安装说明
开发人员强烈建议使用IDE中的SVN插件更加智能与人性化。
首先安装SVN客户端,windows一般选择乌龟客户端https://tortoisesvn.net/downloads.html。
根据系统位数选择相应客户端进行安装。如果你喜欢用命令行操作,请务必记得勾选
command line client tool
为will be install on local hard driver
,不用命令行的跳过这一步。然后一路next即可安装。安装完毕后,在任意地方右键查看快捷菜单。发现
TortoiseSVN
即表示安装成功。如果勾选了安装命令行工具,那么输入命令SVN,有如下提示也表示安装成功
但是此时菜单全是英文的,如果你不习惯英文,可以去下载语言包,记得下对系统位数。
安装完语言包之后,可以右键进入
setting
设置。选择你喜欢的语言(比如中文),然后确定,不出意外,现在的语言已经切换到中文了。
安装教程到此结束,下面开始介绍SVN的使用。
使用说明
检出项目
假如项目已经在服务器的仓库里,那么现在你要做的就是把它检出到本地。
首先创建一个空文件夹。在空文件夹内右键,选择SVN检出。现在你看到应该是这个界面,填入版本库地址,选择确定。
此时会弹出一个对话框让你输入账号密码,输入你的账号密码即可。记得勾选保存认证,不然每次操作都会让你输入。
等几分钟就可以检出完毕。
此时在你的目录下就能看到你的项目,现在可以开始愉快的工作了。
导入项目
但是有时候你已经在本地建立好了项目,需要把你项目推到SVN上,此时应怎么做呢?
右键选择版本库浏览器。在相应目录下,右键,加入文件/加入文件夹,选择相应目录即可。
比如我现在有个项目叫SVNProject,我想把它传到SVN上。
那么我只需选择加入文件夹即可。
务必要输入提交信息。这样别人才能知道你干了什么。
导入成功就能看到目录。
但是,不要以为导入成功就可以了。你还得重新检出,重新检出的项目才是受SVN控制的,务必记得检出。
在SVNProject上右键检出到本地,然后在里面进行修改。现在就可以愉快的工作了。
检出过后的右键菜单变成了这样。提交
绿色表示当前文件没有被修改过(看不见颜色的重启下电脑就好了)。
假如我现在在
我是新项目.txt
中加了一行字,然后保存。发现现在变成了红色,红色表示已修改。
怎么提交修改?
在根目录下,右键选择提交。务必记得输入提交信息(虽然不输入也能提交),提交信息可以方便日后查看。
提交完毕后,可以发现又恢复到了绿色。
假如现在加入了一个新文件。可以看出是蓝色的。蓝色表示不属于版本库的未知文件,未知文件是不能提交的。
记住选择增加把它加入到版本库里面去。
增加完毕后,变成了蓝色加号,表示新增加的版本库文件。
接下来,只需写代码,然后提交即可。
删除文件也应该右键提交,如下。记得随时检查你的文件状态,如果没有添加到版本控制里要及时添加进去,不然你的文件提交不上去。
更新
假如你和B同学在协作。B同学写完代码提交到了SVN上,如果你想获取最新修改,就需要选择更新(如果服务器上已经有别人提交过的新的,你是提交不上去的,必须先更新再提交)。
怎么知道服务器有没有更新?你可以直接选择更新,有没有更新一下就知道。或者右键检查修改,然后检查版本库,就能看到服务器上改了哪些文件。右键选择HEAD和BASE比较。
左边的表示你的代码,右边的表示服务器上的代码。
如果有修改记得及时更新到本地然后再继续工作。
但是有时候更新会冲突,比如你和服务器上的改了同一个地方。
这时候你需要更新下来解决冲突。它会提示你哪个文件冲突,你只需打开那个文件,按照需求解决冲突即可。
<<<<<<.mine到====表示你的代码,其他表示服务器的代码。你只需改成你想要的。
然后选择解决,告诉SVN我已经解决冲突了就行了。
剩下的就是团队协作间的更新提交操作,这里不做赘述。
查看日志
选择显示日志,可以看出团队里面的人干了什么。
可以看出谁谁谁,什么时间,干了什么事。最后那一列信息是自己提交的时候写的。建议大家提交时务必要填写提交信息,这样别人一看就知道你干了什么。提交信息对于自己也是有好处的,时间长了也能看到当初做了什么。
版本回滚
如果你改了东西,但是还没有提交,可以使用还原功能。
但是如果我们写错了东西并且提交了上去怎么办?通过版本回滚可以将文件恢复到
以前的版本。右键更新至版本,通过查看日志来选择版本,然后回滚即可。
有时候我们需要查看以前版本的代码。此时我们可以新建个文件夹检出到指定版本。
版本控制
版本控制有好几种方法,如下。
-
在提交发布版本时添加版本信息,这是最简单的一种方法。
-
打标签
每次发布版本时应该打标签。右键选择分支/标记。在至路径以版本号打上标签即可
这样你就有了一个v1.0版本的标签。
以后如果你想查看某个版本的代码,只需切换过去就行
总结
我们在日常使用中,最常用的是更新和提交操作。这两个步骤务必要非常熟练。其他的可以在遇到问题是查看文档。此外,需要注意的是,所有版本控制工具只能跟踪文本文件(能用记事本打开查看的文件),不要妄想SVN能记录你word改了哪一行。一旦遇到word冲突,记住仔细对比两个版本,然后解决冲突。
-
-
vs2017安装和使用教程(详细)
2019-03-26 21:15:56vs2019安装和使用教程(详细) vs2017如此强大,不仅仅是C语言,Python,R,F#,ios,Android,Web,Node.js,Azure,Unity,HTML,JavaScript等开发都可以执行,大家快来使用它吧~ 如果想编写Java的话,可以使用...vs2019 已于4月2日推出,用户不用卸载vs2017,因为这二者互相独立,项目也兼容,安装教程也是本篇的姊妹篇:
vs2019安装和使用教程(详细)
vs2017如此强大,不仅仅是C语言,Python,R,F#,ios,Android,Web,Node.js,Azure,Unity,HTML,JavaScript等开发都可以执行,大家快来使用它吧~
如果想编写Java的话,可以使用vscode,博主也提供了相关教程:
vscode安装和使用教程 Java
目录
3.博客:开始自己的第一个MFC程序--对话框示例--整数加法器(内附MFC安装步骤)
1.博客:开始自己的第一个深度学习例子——MNIST分类(基于TensorFlow框架)
2.博客:VGG19处理cifar-10数据集的TensorFlow实现
3.博客:VGG16处理cifar-10数据集的PyTorch实现
无法进入安装界面或安装程序一闪而过,博主已经解决了这个问题:vs2017 因软链接失效而无法进入安装界面的解决方法
博主也在安装步骤中构建软链接的内容里添加了关于vs2017不能更改SDK文件安装位置的解决方案,希望对大家有所帮助
本文网址:vs2017安装和使用教程(详细)
一、官网下载
1.下载网址:微软官网
2.官网首页
3.选择菜单栏最右边的更多,在“所有 Microsoft”下拉一栏选择“Visual Studio”进入
4.进入之后是这个界面,但是已经换为vs2019
5.如果不想从官网进入也可以直接进入这个网址:VS下载,选择免费的社区版,会开始自动下载
二、安装
1.点击下载程序,会显示这个界面
2.改变位置,不想装到C盘的话可以这么做(C盘够地且嫌麻烦的可以忽略此步骤~~点击这里直接跳到第4步)
3.转移安装的位置的方法
(1)早期的安装程序版本(现在不再建议以下做法):
我们会发现运行安装程序开始到这个界面会生成一个文件夹,是C:\ProgramData\Microsoft\VisualStudio\Packages,如果你勾选的东西越多,C盘会没有空间的,因此必须要修改安装的路径,可以添加一个链接链接到这个文件夹,防止全部安装在C盘。这里博主只是将安装包文件夹Packages进行了搬移,如果想搬移在C盘的其他文件夹就需要多次执行该步骤。
具体步骤(博主自己的,大家可以根据具体情况而定):①如果在没有构建软链接的情况下就执行安装程序,就会在C盘生成Packages文件夹,因此已经执行了安装程序的朋友们需要删除刚才生成的Packages文件夹,在其它位置新建一个文件夹(博主的是vs2017_system_driver)
②管理员身份打开cmd,输入以下指令:mklink /D C:\ProgramData\Microsoft\VisualStudio\Packages G:\vs2017_system_driver
(其实这里的名字取得不当,因为只是搬移了安装包,所以博主后来认为vs2017_Packages更好)
③之后运行安装程序,此时分别在C盘和G盘对应位置生成了一个文件夹_bootstrapper,可以看到C盘的Packages有一个小箭头显示,说明链接成功
(其实_bootstrapper这个文件夹也可以进行以上搬移操作)
如果无法进入安装界面,很可能是因为软链接失效所致,请看博主的解决方法:vs2017 因软链接失效而无法进入安装界面的解决方法
(2)较新的安装程序版本:
①现在的vs2017安装程序可以选择安装位置了,但是可能会有SDK还是会装在C盘的问题。和之前版本对安装包构建软链接一样,我们同样可以对SDK的文件夹进行相同的操作,防止其装在C盘
②我们可以进入SDK的文件夹,默认路径是:C:\Program Files (x86)\Microsoft Visual Studio\Shared
③把这个SDK文件夹移动到别的盘,例如博主这里移到了H盘
④之后还是一样的步骤,构建这个SDK文件夹的软链接:
mklink /D "C:\Program Files (x86)\Microsoft Visual Studio\Shared" "H:\Shared"
注意由于(x86)在命令行输入的问题,需要在这两个关联的文件夹前后加上引号“”,否则cmd会提示命令语法不正确!
⑤同样的,我们可以看到在C盘的Shared文件夹上有个小箭头,说明链接成功
4.我们再选择自己想要安装的东西,确认好后点击安装
三、等待安装
1.等待界面
2.完成获取包
3.安装完成
四、启动
1.提示登陆,我选择直接跳过,来到这个界面,选择自己喜欢的样式
2.第一次启动会耗时大概10秒
3.进入主界面
*五、Github插件的安装和使用
关于如何将自己的项目上传同步至Github,可参看博主的博客:GitHub插件的安装和使用,希望对使用Github的朋友有所帮助~
承接上面的步骤,在这里博主提供自己的几个样例供大家享用~
六、开始自己的第一个程序
1.博客:开始自己的第一个C++/C程序
2.博客:开始自己的第一个C#程序
3.博客:开始自己的第一个Python程序
4.博客:开始自己的第一个TensorFlow程序
5.博客:开始自己的第一个PyTorch程序
6.博客:开始自己的第一个R语言程序
7.博客:待更新...
七、面向对象
1.博客:构造有理数类实现加减乘(除)四则运算
2.博客:构造复数类实现加减乘除四则运算
3.博客:开始自己的第一个MFC程序--对话框示例--整数加法器(内附MFC安装步骤)
4.博客:待更新...
八、算法设计与分析
1.博客:分治法解决邮局选址问题 C++
2.博客:动态规划算法实现0-1背包问题 C++
3.博客:回溯法解决作业分配问题 C++
4.博客:待更新...
九、深度学习
1.博客:开始自己的第一个深度学习例子——MNIST分类(基于TensorFlow框架)
2.博客:VGG19处理cifar-10数据集的TensorFlow实现
3.博客:VGG16处理cifar-10数据集的PyTorch实现
4.博客:各种深度学习框架实现猫狗大战
5.博客:待更新...
十、经济管理
1.博客:vs2017 KMV模型的R语言实现
2.博客:待更新...
至此vs2017 community版就安装完成了!!
-
Java集合Stream类filter的使用
2018-05-11 11:49:42之前的Java集合中removeIf的使用一文写了使用removeIf来实现按条件对集合进行过滤。这篇文章使用同样是JDK1.8新加入的Stream中filter方法来实现同样的效果。之前的Java集合中removeIf的使用一文写了使用
removeIf
来实现按条件对集合进行过滤。这篇文章使用同样是JDK1.8新加入的Stream
中filter
方法来实现同样的效果。并且在实际项目中通常使用filter
更多。关于Stream
的详细介绍参见Java 8系列之Stream的基本语法详解。
同样的场景:你是公司某个岗位的HR,收到了大量的简历,为了节约时间,现需按照一点规则过滤一下这些简历。比如要经常熬夜加班,所以只招收男性。//求职者的实体类 public class Person { private String name;//姓名 private Integer age;//年龄 private String gender;//性别 ... //省略构造方法和getter、setter方法 ... //重写toString,方便观看结果 @Override public String toString() { return "Person{" + "name='" + name + '\'' + ", age=" + age + ", gender='" + gender + '\'' + '}'; } }
这里就不展示使用传统
Iterator
来进行过滤了,有需要做对比的可以参见之前的Java集合中removeIf的使用。
使用Stream
的filter
进行过滤,只保留男性的操作:Collection<Person> collection = new ArrayList(); collection.add(new Person("张三", 22, "男")); collection.add(new Person("李四", 19, "女")); collection.add(new Person("王五", 34, "男")); collection.add(new Person("赵六", 30, "男")); collection.add(new Person("田七", 25, "女")); Stream<Person> personStream = collection.stream().filter(new Predicate<Person>() { @Override public boolean test(Person person) { return "男".equals(person.getGender());//只保留男性 } }); collection = personStream.collect(Collectors.toList());//将Stream转化为List System.out.println(collection.toString());//查看结果
运行结果如下:
[Person{name=‘张三’, age=22, gender=‘男’}, Person{name=‘王五’, age=34, gender=‘男’}, Person{name=‘赵六’, age=30, gender=‘男’}]
Process finished with exit code 0上面的demo没有使用
lambda
表达式,下面的demo使用lambda
来进一步精简代码:Collection<Person> collection = new ArrayList(); collection.add(new Person("张三", 22, "男")); collection.add(new Person("李四", 19, "女")); collection.add(new Person("王五", 34, "男")); collection.add(new Person("赵六", 30, "男")); collection.add(new Person("田七", 25, "女")); Stream<Person> personStream = collection.stream().filter( person -> "男".equals(person.getGender())//只保留男性 ); collection = personStream.collect(Collectors.toList());//将Stream转化为List System.out.println(collection.toString());//查看结果
效果和不用
lambda
是一样的。不过读者在使用
filter
时不要和removeIf
弄混淆了:removeIf
中的test
方法返回true
代表当前元素会被过滤掉;filter
中的test
方法返回true
代表当前元素会保留下来。
-
swagger 介绍及两种使用方法
2018-04-26 15:13:30一:swagger是什么? 1、是一款让你更好的书写API文档的规范且完整框架。 2、提供描述、生产、消费和...二:使用第三方依赖(最简单的方法) 1、在pom.xml文件中添加第三方swagger依赖() &lt;dependen...一:swagger是什么?
1、是一款让你更好的书写API文档规范且完整的框架。
2、提供描述、生产、消费和可视化RESTful Web Service。
3、是由庞大工具集合支撑的形式化规范。这个集合涵盖了从终端用户接口、底层代码库到商业API管理的方方面面。方法一:使用第三方依赖(最简单的方法)
1、在pom.xml文件中添加第三方swagger依赖()
<dependency> <groupId>com.spring4all</groupId> <artifactId>swagger-spring-boot-starter</artifactId> <version>1.7.0.RELEASE</version> </dependency>
2、在Spring Boot项目的启动类上添加@EnableSwagger2Doc注解,就可以直接使用啦。
3、https://github.com/SpringForAll/spring-boot-starter-swagger这是GitHub上这个swagger依赖实现的项目,里面有详细的讲解。方法二:使用官方依赖
1、在pom.xml文件中添加swagger相关依赖
<dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.7.0</version> </dependency> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger-ui</artifactId> <version>2.7.0</version> </dependency>
第一个是API获取的包,第二是官方给出的一个ui界面。这个界面可以自定义,默认是官方的,对于安全问题,以及ui路由设置需要着重思考。
2、swagger的configuration
需要特别注意的是swagger scan base package,这是扫描注解的配置,即你的API接口位置。
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import springfox.documentation.builders.ApiInfoBuilder; import springfox.documentation.builders.PathSelectors; import springfox.documentation.builders.RequestHandlerSelectors; import springfox.documentation.service.ApiInfo; import springfox.documentation.spi.DocumentationType; import springfox.documentation.spring.web.plugins.Docket; import springfox.documentation.swagger2.annotations.EnableSwagger2; @Configuration @EnableSwagger2 public class Swagger2 { @Bean public Docket createRestApi() { return new Docket(DocumentationType.SWAGGER_2) .apiInfo(apiInfo()) .select() .apis(RequestHandlerSelectors.basePackage("com.yss.ms.admin")) .paths(PathSelectors.any()) .build(); } private ApiInfo apiInfo() { return new ApiInfoBuilder() .title("服务:发布为daocke镜像,权限管理,用户管理,页面管理,日志 后台 APIs") .description("服务:发布为daocke镜像,权限管理,用户管理,页面管理,日志 后台") .termsOfServiceUrl("http://192.168.1.198:10070/platformgroup/ms-admin") .contact("程序猿") .version("1.0") .build(); } }
三、具体使用
1、在API上做一些声明
//本controller的功能描述 @Api(value = "pet", description = "the pet API") public interface PetApi { //option的value的内容是这个method的描述,notes是详细描述,response是最终返回的json model。其他可以忽略 @ApiOperation(value = "Add a new pet to the store", notes = "", response = Void.class, authorizations = { @Authorization(value = "petstore_auth", scopes = { @AuthorizationScope(scope = "write:pets", description = "modify pets in your account"), @AuthorizationScope(scope = "read:pets", description = "read your pets") }) }, tags={ "pet", }) //这里是显示你可能返回的http状态,以及原因。比如404 not found, 303 see other @ApiResponses(value = { @ApiResponse(code = 405, message = "Invalid input", response = Void.class) }) @RequestMapping(value = "/pet", produces = { "application/xml", "application/json" }, consumes = { "application/json", "application/xml" }, method = RequestMethod.POST) ResponseEntity<Void> addPet( //这里是针对每个参数的描述 @ApiParam(value = "Pet object that needs to be added to the store" ,required=true ) @RequestBody Pet body);
2、设定访问API doc的路由
在配置文件中,application.yml中声明:
springfox.documentation.swagger.v2.path: /api-docs
这个path就是json的访问request mapping.可以自定义,防止与自身代码冲突。
API doc的显示路由是:http://localhost:8080/swagger-ui.html
如果项目是一个webservice,通常设定home / 指向这里:
@Controller public class HomeController { @RequestMapping(value = "/swagger") public String index() { System.out.println("swagger-ui.html"); return "redirect:swagger-ui.html"; } }
四:swagger的常用API
1、api标记
Api 用在类上,说明该类的作用。可以标记一个Controller类做为swagger 文档资源,使用方式:
@Api(value = "/user", description = "Operations about user")
2、ApiOperation标记
ApiOperation:用在方法上,说明方法的作用,每一个url资源的定义,使用方式:
@ApiOperation( value = "Find purchase order by ID", notes = "For valid response try integer IDs with value <= 5 or > 10. Other values will generated exceptions", response = Order, tags = {"Pet Store"})
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-V8AEIZ2l-1609508640724)(http://ozpb6wow8.bkt.clouddn.com/22.png)]
3、ApiParam标记
ApiParam请求属性,使用方式:
public ResponseEntity<User> createUser(@RequestBody @ApiParam(value = "Created user object", required = true) User user)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5veQGqo7-1609508640725)(http://ozpb6wow8.bkt.clouddn.com/3.png)]
4、ApiResponse
ApiResponse:响应配置,使用方式:
@ApiResponse(code = 400, message = "Invalid user supplied")
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6nd1sH5D-1609508640729)(http://ozpb6wow8.bkt.clouddn.com/44.png)]5、ApiResponses
ApiResponses:响应集配置,使用方式:
@ApiResponses({ @ApiResponse(code = 400, message = "Invalid Order") })
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SNlJ6vSI-1609508640730)(http://ozpb6wow8.bkt.clouddn.com/5.png)]6、ResponseHeader
响应头设置,使用方法
@ResponseHeader(name="head1",description="response head conf")
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NDXgB4JA-1609508640731)(http://ozpb6wow8.bkt.clouddn.com/6.png)] -
CodeBlocks的安装及使用
2017-10-02 18:42:27CodeBlocks的安装及使用...二、进入下载页面三、一般使用的话选择安装二进制版就可以四、选择合适的版本,这里我下载的是适用于windows的带编译器等工具的版本,也是大家最常用的版本五、这里我选择的是Sourceforge.ne -
Swagger 常用注解使用详解
2018-03-16 09:18:24刚开始的时候,在controller层使用@RequestParam的时候,发现这个参数是必须要输入值的,但是我们有时候必须查询的时候允许参数为空,使用这个注解就不行了。在集成了swagger2后,找了半天的原因,发现使用@... -
docker-compose教程(安装,使用, 快速入门)
2017-12-03 22:31:45教程基于ubuntu下最新的compose版本3 ... 1.Compose介绍 Docker Compose是一个用来定义和运行复杂应用的Docker工具。...使用Docker Compose不再需要使用shell脚本来启动容器。 Compose 通过一个配... -
npm太慢, 淘宝npm镜像使用方法
2017-03-20 09:48:14如何使用 有很多方法来配置npm的registry地址,下面根据不同情境列出几种比较常用的方法。以淘宝npm镜像举例: 1.临时使用npm --registry https://registry.npm.taobao.org install express2.持久使用npm config ... -
IDEA中使用eclipse快捷键
2018-02-03 01:17:591.修改使用Eclipse风格的快捷键 目的是习惯了使用eclipse的快捷键,在使用IDEA时不想重头记一套新的快捷键。 按照下面的顺序操作 File --> settings --> keymap --> 在下来框中选中Eclipse 选择Apply保存设置 ... -
解决TeamViewer可免费用于个人用途,但所使用的设备数量受限。您已达到设备数量上限
2020-07-19 11:04:24应该是Teamviewer出于安全考虑,强制要求...而可信设备会算在上面设备数量限制内的,因此建议如果不是经常使用的设备请添加信任的时候选择:不,仅使用一次。 如果已经受到限制了怎么解决呢? 解决方案一:方案一如 -
Pycharm简单使用教程
2018-03-02 11:19:511、下载pycharm pycharm是一种Python IDE,能够帮助我们在编写代码时提高效率。 网上提供的有专业版和教育版之分。 专业版是收费的,功能更全面点。...教育版或社区版是阉割版本,但它是免费的。... -
IntelliJ IDEA 超实用使用技巧分享
2019-10-16 13:39:49最近受部门的邀请,给入职新人统一培训IDEA,发现有很多新人虽然日常开发使用的是IDEA,但是还是很多好用的技巧没有用到,只是用到一些基本的功能,蛮浪费IDEA这个优秀的IDE。 同时,在这次分享之后,本人自己也... -
C/C++ 开发神器 CLion 使用入门
2018-10-23 14:18:19同样支持python哦,相信使用过IntelliJ idea开发过java的盆友都很清楚该IDE的强大,所以做为Jetbrains旗下的c/c++开发工具CLion同样包含了许多智能功能来提高开发人员的生产力,提高开发人员... -
Vue中slot的使用(通俗易懂)
2018-06-01 14:00:35在vue中使用slot插槽个人理解:是对组件的扩展,通过slot插槽向组件内部指定位置传递内容,通过slot可以父子传参;开发背景:正常情况下,<Child><span style=”color:red;”>hello ... -
pdf.js使用方法
2018-06-08 14:46:32项目中 显示 pdf 的功能,浏览过不少的技术帖,都不太理想,花了点时间研究了下pdf.js正确使用方法,总结下:1.防止自己忘记 2.工作留有痕迹 3.供大家参考借鉴 pdf.js: 将 PDF 文件解析后生成一张 .png 图片,利用 ... -
Nacos做服务注册中心使用案例
2020-09-21 04:27:51关于环境搭建部分请借鉴:nacos做配置中心和服务注册中心 的完整使用案例 <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-... -
visual studio新手使用教程
2018-09-18 12:37:39目录 1.下载安装Visual Studio 2.新建工程 ...对于刚刚接触编程的新手来说,最先需要熟练掌握的当然是语言之祖——C语言,而C语言编译器首当其冲的必然是visual studio ,小编入门使用VC6.0,... -
Navicat使用快速入门教程
2020-05-04 18:18:32Navicat使用教程目录一、 连接使用1.1 连接数据库1.2 操作数据库二、 导入备份三、 查询数据四、 修改用户信息五、 其他操作5.1 查看数据库版本5.1.1 终端查看5.1.2 sql语句查看5.2 查看sql执行计划 一、 连接使用 ... -
Gradle的使用教程
2018-08-08 19:28:28Gradle是一个好用的构建工具 ,使用它的原因是: 配置相关依赖代码量少,不会像maven一样xml过多 打包编译测试发布都有,而且使用起来方便 利用自定义的任务可以完成自己想要的功能 二、安装 下载地址... -
Livy的安装使用
2020-07-29 15:32:42Livy介绍(apache 孵化项目) ... Livy是一个提供rest接口和spark集群交互的...Livy也简化了与spark与应用服务的交互,这允许通过web/mobile与spark的使用交互。其他特点还包含: 长时间运行的SparkContext,允许多个spark -
使用anaconda安装pytorch
2019-07-09 15:14:33使用anaconda安装pytorch使用anaconda安装pytorch过程中出现的问题使用anaconda直接从网上下载使用anaconda从本地下载torch使用anaconda从本地下载torchvision 使用anaconda安装pytorch过程中出现的问题 在使用... -
为什么越来越多的开发者选择使用Spring Boot?
2016-10-16 15:26:05使用Java做Web应用开发已经有近20年的历史了,从最初的Servlet1.0一步步演化到现在如此多的框架,库以及整个生态系统。经过这么长时间的发展,Java作为一个成熟的语言,也演化出了非常成熟的生态系统,这也是许多... -
JdbcTemplate基本使用
2019-03-13 18:25:35JdbcTemplate基本使用 目标 能够掌握JdbcTemplate+Druid创建数据库 讲解 JdbcTemplate介绍 JDBC已经能够满足大部分用户最基本的需求,但是在使用JDBC时,必须自己来管理数据库资源如:获取PreparedStatement,... -
Proxifier使用教程
2019-03-25 11:02:33成功搭建使用shadowshocks实现代理访问google,然而只能浏览器代理方式使用,不能其他程序使用代理,不利于白帽子匿名安全检测,下面将介绍利用Proxifier实现全局代理。 安装 官网发布多个版本,其中便携版不需要... -
使用maven创建web项目
2014-07-18 09:36:08目前做的项目使用的是MAVEN来管理jar包,这也是我第一次接触maven,感觉非常好,再也不用一个一个去添加和下载jar包了,直接在maven配置文件中配置就可以了,maven可以帮助我们自动下载。非常方便。之前比较忙没时间... -
MySQL索引的创建与使用
2018-08-06 18:49:59声明:本人主要简单示例MySQL中的单列索引、组合索引的创建与使用。 索引的创建: 建表时创建: CREATE TABLE 表名( 字段名 数据类型 [完整性约束条件], ……, [UNIQUE | FULLTEXT | SPATIAL] INDEX | KEY ... -
在IDEA里gradle配置和使用
2018-06-13 19:32:23在IDEA里gradle配置和使用 在IDEA里gradle配置和使用 前言 Windows环境IDEA配置gradle 配置系统环境变量 下载 配置环境变量 测试 idea配置 gradle仓库设置 构建命令 创建缓存依赖 gradle.build构建脚本 ... -
使用arpspoof进行ARP欺骗
2019-12-25 11:30:37使用arpspoof进行ARP欺骗 使用虚拟机上的kail进行测试 基本原理 我们将运行实际的ARP中毒攻击,重定向数据包流并使其流经我们的设备 基本命令 arpspooef -i 网卡 -t 目标ip 默认网关 测试 下面是我作为被攻击的... -
VMware实现Android x86 8.1 从安装到使用———全网最全,全网首发,本人实测
2019-03-23 14:48:18VMware实现Android x86 8.1 从安装到使用虚拟机 虚拟机Android安装托坑指南 一些终端模拟器的指令 -
vue中使用vuex(超详细)
2019-07-15 14:23:08vuex是使用vue中必不可少的一部分,基于父子、兄弟组件,我们传值可能会很方便,但是如果是没有关联的组件之间要使用同一组数据,就显得很无能为力,那么vuex就很好的解决了我们这种问题,它相当于一个公共仓库,...
-
应用调试之strace
-
用xshell时vim装zsh后 Ctrl+s 卡死问题
-
【2021】Python3+Selenium3自动化测试(不含框架)
-
阿里消息中间件rocketMQ的安装
-
【数据分析-随到随学】SPSS调查问卷统计分析
-
python寻找摄像头参数
-
转行做IT-第8章 类与对象、封装、构造方法
-
MFC开发简单聊天程序
-
电商设计专业思维
-
webgl室内3d场景.zip
-
gimp-2.10.22
-
Datawhale组队学习21期_异常检测_Task5:高维异常
-
在线视频学习网站的设计与实现.
-
阿里云云计算ACP考试必备教程
-
学习笔记1-计算器概论
-
Aircraft_war.rar
-
2021.01.24 Week1 训练小结
-
微信公众号2021之网页授权一学就会java版
-
WPF上位机数据采集与监控系统零基础实战
-
算法导论二(排序和顺序统计量)——编程大牛的必经之路