IntelliJ IDEA

idea中git标签(tag)的创建与使用

百般思念 提交于 2021-01-19 12:30:49
1、什么是标签   通常,发布一个版本时,会在版本库中打一个标签(tag),这样,就唯一确定了打标签时刻的版本。将来无论什么时候,取某个标签的版本,就是把那个打标签的时刻的历史版本取出来。   所以,标签也是版本库的一个快照。   简单理解:标签是某个版本的别名,因为Git的版本号都是用一串字母数字组成,为了便于管理,Git 可以给版本取个别名(也就是打上标签,比如标签的名字叫做 v1.0.0)。 2、idea中创建标签tag、并推送到远程仓库   创建tag      创建完成后,推送标签到远程仓库      然后继续开发v2.0.0版本      如果需要查看v1.0.0版本的代码,只需要切换版本即可:      输入要切换的版本号      完美! 来源: oschina 链接: https://my.oschina.net/u/4392886/blog/4912796

构建个人知识体系

别说谁变了你拦得住时间么 提交于 2021-01-18 10:27:02
原文首发自我的博客: 构建个人知识体系(https://www.bmpi.dev/self/build-personal-knowledge-system/) 为何要构建个人知识体系 在这个倡导终身学习的时代,我们已经掌握的知识很快就因为技术变革而过期。所以经常学习不只是一种需要,而是一种必须。 之前我已经写过 人生游戏之路 与 如何快速学习一项新技能 两篇关于学习的文章。在这两篇文章中比较零散的阐述了关于“元学习”的概念,现在想想所谓的“元学习”不过是一套个人知识体系(或者自我提升系统)。我们每个人都具备一定的学习能力,在不自觉中掌握某种学习的套路,只是有的人掌握系统化的学习框架,能够横跨多个领域去持续学习。 学习是一种我们生来就具备的能力:我们可以在学校中学习,也可以在社会中学习;可以在书籍里学习,也可以在与人交流中学习;可以自学,也可以在游历中增长见识。 我们可以从获取信息通过学习内化成自己的知识,也可以进一步将多种知识转变为自己认知的提高,不断提高的认知加上阅历的提升,最终可能成为某种智慧。(本文只探讨从信息到知识这一环节。) 从信息到智慧的过程中,学习贯穿整个流程。构建个人知识体系的流程,在我看来就是一个 编排出适合自身的持续学习流程 ,它能帮助我在信息洪流中实现阶段性的人生目标。 构建个人知识体系流程 信息输入 每天都有大量的信息输入: 邮件订阅列表更新;

无限重置idea试用期过期时间插件 简单方便 亲测可用

大城市里の小女人 提交于 2021-01-17 10:34:51
相信破解过IDEA的小伙伴,都知道jetbrains-agent这个工具,没错,就是那个直接拖入到开发工具界面,一键搞定,so easy的破解工具!这个工具目前已经停止更新了,尽管还有很多小伙伴在使用,但是对新版本IDE的支持已经不是很稳定了。下面我会分享一个无线重置IDE过期时间的插件,让你不太再为IDE频繁时效而烦恼。 当然,如果你习惯了使用老版本的IDE,这个工具还是可以继续使用的,关注公众号【终码一生】,公众号后台回复关键词“破解工具”即可获取jetbrains-agent下载,这里不再过多介绍。 如果不嫌麻烦,习惯了使用激活码,也可以。我们也提供, http://idea.94goo.com 定期更新。 ok,下面是使用插件无限重置IDE的试用期。做好准备! 老规矩,先上一张图片,永远都是30天的试用期,哈哈哈~~~ 先把工具下载到本地,下载方式在最下面。 使用也很简单,直接把插件拖入到IDE界面中即可(这里以DataGrip为例演示)。如下: 第一次拖入会提示是否重置过期时间。可以直接点击重置。 如果第一次没有重置,可以打开插件界面。简单设置下。 勾选默认自动重置,这样我们就不用每次都通知了。 结束了,直接点击Reset,重置时间,然后重启IDE。 目前支持: IntelliJ IDEA AppCode CLion DataGrip GoLand PhpStorm

IDEA下使用protobuf2(java)

余生长醉 提交于 2021-01-17 09:12:04
[TOC] 一、介绍 Google提供一个具有高效的<u>协议数据交换格式</u>工具库(类似Json),但相比于Json,Protobuf有更高的转化效率,时间效率和空间效率都是JSON的3-5倍。google 提供了三种语言的实现:java、c++ 和 python,每一种实现都包含了相应语言的编译器以及库文件。 二、特点 Xml、Json是目前常用的数据交换格式,它们直接使用字段名称维护序列化后类实例中字段与数据之间的映射关系,一般用字符串的形式保存在序列化后的字节流中。消息和消息的定义相对独立,可读性较好。但序列化后的数据字节很大,序列化和反序列化的时间较长,数据传输效率不高。 Protobuf和Xml、Json序列化的方式不同,<u>采用了二进制字节的序列化方式</u>,用字段索引和字段类型通过算法计算得到字段之前的关系映射,从而达到更高的时间效率和空间效率,特别适合对数据大小和传输速率比较敏感的场合使用。 三、结构 <u>proto文件定义了协议数据中的实体结构(message ,field)。</u> 举例如下: //要生成的类Person message Person { required string name = 1; required int32 id = 2; optional string email = 3; enum PhoneType {

从一次问题讨论聊聊我对阅读源码的思考

房东的猫 提交于 2021-01-16 13:23:57
比如本文,没有深度思考的同学,很容易就被表面现象所迷惑,以为问题就此解决,立马关掉文章。但是深度思考的同学就会选择关注肥朝公众号,然后星标置顶,并思考,肥朝为什么能迅速找到这个关键的类呢?这个才是最核心的问题!一定要明白什么叫"解决一个问题"和"解决一类问题"!如果你没有掌握分析问题的方法和技巧,下次遇到其他的注解,你还是解决不了,那又有什么意义? 分析问题 由于肥朝之前写过Dubbo系列的源码解析,公众号也大多是老粉丝,那么我就以Dubbo为例,说下分析问题的思路。当然这个时候喜欢抬杠的同学可能就要反驳了,这个问题不是Springboot的吗,和Dubbo有什么关系?我只能说,优秀的代码,套路思想都基本相同,坑爹的代码,却各有各种不同的坑法。拿Dubbo来分析,并不影响你发现问题的本质! 比如Dubbo中常强调的就是"微核心"、"插件式"。梁飞曾经提过 即然要扩展,扩展点的加载方式,首先要统一, 微核心+插件式,是比较能达到OCP原则的思路,由一个插件生命周期管理容器,构成微核心,核心不包括任何功能,这样可以确保所有功能都能被替换, 并且,框架作者能做到的功能,扩展者也一定要能做到,以保证平等对待第三方, 所以,框架自身的功能也要用插件的方式实现,不能有任何硬编码。 很多同学看完这段一脸懵逼。其实这段话的后半部分是关键 框架作者能做到的功能,扩展者也一定要能做到

【2021年1月20日公开课】 多设备共享涂鸦画板的鸿蒙实现方式

試著忘記壹切 提交于 2021-01-15 19:07:38
如果你有一个快乐的idea,想把它画出来,同时分享给其他人共同修改这个idea; 当你希望把自己的idea, 同步演示给十几个人或者更多的人看的时候,可能你就需要这个多设备共享涂鸦画板了。 这个想法在以前看来是很难做到的,但是来听我的课,我会告诉你,现在有了HarmonyOS的分布式能力,想要做一个多设备共享涂鸦画板是非常容易的。 2021年1月20日(周三,晚20:00),我将做一场直播,主题是多设备共享涂鸦画板Demo分享。 免费报名,请戳:https://harmonyos.51cto.com/activity/39 干货清单: 1、多台手机同时共享涂鸦画板 2、介绍HarmonyOS开发中JS框架特性 3、JS 实现Java ServiceAbility的调用 4、HarmonyOS开发中的个人绝佳心得分享 报名福利: 福利1:到会看直播,抽取HarmonyOS官方联名T恤、HiSpark Wi-Fi IoT 智能家居套件(原价399元,直播0元抽取) 福利2:报名直播,分享任何鸿蒙相关内容,包含但不限于:学习心得、踩坑记、开发实战、过程分享...文章数量不限, >>>参加有奖征文投稿<<< ,写出你和HarmonyOS的故事,快来投稿赢大奖——华为P40、华为运动手表、AI开发板、智能小车... 福利3:用一节课完成一个作品,参加HarmonyOS开发者创新大赛

C/C++、Java和Python开发工具一网打尽

℡╲_俬逩灬. 提交于 2021-01-15 05:39:37
戳上面的蓝字可以关注哦! 前言 在我们埋头于代码死磕的时候,会发现一个好的开发工具往往会起到事半功倍的效果,本帖子总结了C语言与Java几个比较流行的开发工具,希望能对大家有用。 另外,本文将持续汇总各种开发语言中使用的优质工具,欢迎小伙伴推荐,互利互助, 发我邮件:17B903027@stu.hit.edu.cn Java开发工具 1 IntelliJ IDEA IDEA 全称 IntelliJ IDEA,是java语言开发的集成环境,IntelliJ在业界被公认为最好的java开发工具之一,尤其在智能代码助手、代码自动提示、重构、J2EE支持、各类版本工具(git、svn、github等)、JUnit、CVS整合、代码分析、 创新的GUI设计等方面的功能可以说是超常的。IDEA是JetBrains公司的产品,这家公司总部位于捷克共和国的首都布拉格,开发人员以严谨著称的东欧程序员为主。它的旗舰版本还支持HTML,CSS,PHP,MySQL,Python等。免费版只支持Java等少数语言。 获取地址 链接:http://pan.baidu.com/s/1pKPbhMz 密码:e8la 2 Myeclipse MyEclipse 是一个十分优秀的用于开发Java, J2EE的 Eclipse 插件集合,MyEclipse的功能非常强大,支持也十分广泛

实战 | 使用maven 轻松重构项目

蓝咒 提交于 2021-01-15 02:35:25
现在是微服务盛行时代,说不准哪一天领导就会让你对一个大项目进行重构。大项目的痛点:编译慢、发布繁琐等。就像下面这张图: 真的不敢动呀,一不小心就坍塌了。 比如说我们用户系统,我们可以这么重构(这里只是举例,每个项目拆分目的可能不同)。 user-system拆分成: user-web user-service user-dao user-common 我们对其拆分后很有可能存在多个子项目中同时依赖某个jar包,如果使用不当可能会导致每个模块使用的版本不一样,所以想想能不能有什么方式来解决这类问题呢? 答案:能。但是得先了解两个概念:聚合和继承。 聚合 所谓的聚合就是我们如果想一次性构建多个项目模块,那我们就需要把这些项目模块进行聚合。 配置模板 <modules> <module>项目模块一</module> <module>项目模块二</module> <module>项目模块三</module> <module>项目模块...</module> </modules> 使用方式 比如我们对user-web、user-service、user-dao、user-common四个项目模块进行聚合。 <modules> <module>user-web</module> <module>user-service</module> <module>user-dao</module>

再见!Postman!

痴心易碎 提交于 2021-01-14 08:21:47
文末有好书推荐 前 言 接口调试是每个软件开发从业者必不可少的一项技能,一个项目的的完成,可能接口测试调试的时间比真正开发写代码的时间还要多,几乎是每个开发的日常工作项。所谓工欲善其事必先利其器,在没有尝到IDEA REST真香之前,postman(chrome的一款插件)确实是一个非常不错的选择,具有完备的REST Client功能和请求历史记录功能。但是当使用了IDEA REST之后,postman就可以丢了,因为, I DEA REST Client 具有postman的所有功能,而且还有postman没有的功能,继续往下看。 从postman到IDEA REST Client 真香定律的原因有如下几个: 首先postman的所有功能IDEA REST Client都具备了,如REST Client控制台和历史请求记录 其次如果能够在一个生产工具里完成开发和调试的事情,干嘛要切换到另一个工具呢 然后IDEA REST Client还支持环境配置区分的功能,以及接口响应断言和脚本化处理的能力 IDEA REST Client的请求配置可以用文件配置描述,所以可以跟随项目和项目成员共享 IDEA REST Client控制台 从顶层工具栏依次Tools -> HTTP Client -> Test RESTFUL Web Service 打开后,IDEA REST