java 精选选择题_Java生产率提示:社区精选

java 精选选择题

社区已经发言。 我们已将您最好和最出色的生产力技巧汇总到一篇文章中。

我们都有自己的小技巧,可以帮助我们提高工作效率,并提高生产率。 我们使用工具来避免繁琐的日常任务,并运行脚本来自动化流程。 我们所做的一切只是为了确保一切就绪,正确有效地工作。

在下面的文章中,我们决定更深入地发现那些使我们比以往更有生产力的黑客,技巧和窍门。 开始做笔记。

您自己的技巧和窍门

当要提高生产力时,我们知道总有改进的余地。 除了关闭分散注意力的社交网络并清除不需要的文件之外,还有许多其他选择正等着您使用它们。

因此,我们决定求助于博客的可信赖读者,队友和密友,并要求您提供特殊的花招。 我们得到了很多反馈,包括有用的工具,便捷的快捷方式,硬核脚本,甚至是更好地聚焦的基本技巧。

由于我们想分享财富,因此我们挑选了一些技巧来为您安排。 选择适合您和您的工作环境的任何东西,然后就去做 。

脚本:您自己的Jarvis

如果我们必须为调查选择胜出者,那就是脚本。 毫不奇怪,我们大多数人都喜欢自动化很大一部分工作量, 特别是如果这是一项日常工作而占用我们太多时间的时候 。

你们大多数人都提到了bash脚本的使用。 费兰·德尔加多(Ferran Delgado)详细介绍了他正在进行的一个分开的项目,并告诉我们。 它由整个公司的一个公共部分和其部门的另一个特定的Java项目组成。 他们使用脚本来监视和控制Maven步骤是否正确执行。 它还会将jar文件上载到远程计算机以进行生产前测试。

我们自己的Takipi高级软件架构师David Levanon建议使用别名命令。 意味着您只需输入几个字符就可以启动任何命令或一组命令。

由于我们在Takipi使用许多编程语言,因此重建代码,刷新IDE,重新启动系统等都需要时间。 这就是David创建环境的原因,该环境使用别名和方便的快捷方式来保存Git存储库,这些别名和方便的快捷方式可以在几分钟之内和两次击键之间进行。 这样,他可以连接到Amazon计算机并在其中工作,就像在几秒钟内在自己的计算机上工作一样。

例如,他创建了一个别名以连接到本地MySQL:

alias mysql-local="mysql -A -u root -p123456"

还有一个别名来检查Jenkins是否正在运行:

alias psjenkins="ps -ef | grep jenkins"

David还创建了一些方便的功能来帮助他完成日常任务,例如将十进制数字转换为十六进制:

function d2h()
{printf "%x\n" $1
}

还有一个提取所有zip文件并将其放置在目录中的函数:

function unzipAll()
{for file in `ls | /bin/grep zip`; do local base_name="${file%.*}"rm -rf $base_name mkdir $base_nameunzip $file -d $base_namerm $filedone
}

他最喜欢的功能之一是使用当前时间和日期创建CD并将其保存到临时目录:

function temp()
{local root_dir=~/temp/templocal date_seconds=date +%slocal temp_dir="$root_dir/$date_seconds"mkdir -p "$temp_dir"cd "$temp_dir"
}

当然,他具有杀死Tomcat进程的功能:

function killtomcat()
{running_tomcats=ps -ef | grep org.apache.catalina.startup.Bootstrap | grep -v grep | awk '{ print $2 }' | tail -1kill -9 $running_tomcats
}

Monica Beckwith ,Java / JVM性能顾问和JavaOne摇滚明星也有一些帮助她的脚本。 她使用自动化脚本来生成JFreeChart,以绘制任何/所有相关的GC文件信息。

如果您在减少Java垃圾收集开销方面遇到困难,那么无论您选择使用哪种垃圾收集器, 我们都有一些技巧可能会有所帮助 。

底线:使用bash脚本,创建别名和方便的快捷方式,并在加载计算机或服务器时尝试自动执行任何操作。

文档:为下一个开发人员做准备

我们需要记住的最重要的事情之一是,我们并不是唯一需要阅读我们的代码的人。 你们中的许多人都同意我们的建议,并建议添加详尽的评论以供将来参考。

Data Geekery的创始人兼首席执行官, jOOQ的创建者Lukas Eder表示,每种软件都注定会发展壮大,并且在某个时候将不可能编写完全不言自明的代码。

这就是为什么所有不那么明显的逻辑都应该用单线注释记录下来,该注释引用了一个公开发布的GitHub问题,其中包含有关事物为何如此的所有历史信息。

这样,在进行任何给定的错误修正数年后,很容易找出做出任何决定的原因,否则就不可能:

if {// [#1145] Bind variables only for true prepared statements// [#2414] Even if parameters are inlined here, child//         QueryParts may override this behaviour!executePreparedStatements(c.settings()) &&// [#1520] Renderers may enforce static statements, too!Boolean.TRUE.equals(ctx.data(DATA_FORCE_STATIC_STATEMENT))) {...

底线:尽一切可能解释,这样将更容易(或仅可能)理解您的代码并使用它。

故障排除:错误后的追求

ZeroTurnaround产品工程师OlegŠelajev告诉我们,使他变得更有生产力的是一项技能。 他的建议是学习最大程度地使用IDE调试器。 确定并使用正确的断点类型:异常断点,方法输入,字段访问,当然还有条件断点,这些断点仅在您指定的条件为true时才会命中。 这将使单步执行代码更加容易,因为您将避免误报。

Oleg还补充说,当您需要添加其他日志语句时,应在它们之前添加一些可区分且荒谬的内容,这样可以很容易地对这些信息进行grep操作,并且永远不会超出代码审查范围。 他喜欢使用“熊猫说:”作为前缀,因为谁不喜欢熊猫��。

如果某些错误确实设法解决了问题,那么您应该尝试的另一种工具是Takipi 。 这将帮助您节省宝贵的时间来寻找错误的根本原因,并且在代码中断时会提醒您。 每当引发新异常或发生日志错误时,Takipi都会捕获该异常,并在方法和机器之间向您显示导致该异常的变量状态。 检查一下 。

总结:故障排除是软件开发不可分割的一部分,请学习如何充分利用它。

工具:监视和管理系统

在生产环境中工作意味着要处理频繁的部署以及大量的服务和服务器。 这需要可帮助您解决日常重复任务的工具。 实际上,我们获得了有关可以在该领域提供帮助的各种工具的大量建议。

脱颖而出的两个是厨师和木偶。 两者都是开源工具,可帮助您监视产品的性能,功能,服务器等。 如果您不确定这两个之间有什么区别,或者只是想知道应该选择哪种部署管理工具,我们将Chef与Puppet,Ansible与SaltStack与Fabric进行了比较 。

说到发现差异,我们还为各种差异工具提供了许多建议,包括:

  • 比较++
  • 吉菲
  • Kompare

我们求助于塔基皮(Takipi )的团队负责人Tzofia Shiftan,问她有什么用。 她使用Meld比较文件和目录,查看代码更改并在合并影响代码之前了解合并。

Tzofia还使用另一个方便的工具Indicator ,可以帮助她监视系统。 它显示了CPU,网络活动,内存和您要检查的任何其他系统资源的性能图。 如果您想知道,David会使用htop监视他的系统。

如果您正在寻找在编写代码时会有所帮助的工具,则可能需要研究JRebel 。 它会立即重新加载您的代码更改,因此您无需重新启动Java进程即可查看所做的更改。

有关其他有用的工具,它们将帮助您了解应用程序和环境在生产中的行为,请查看以下文章 。

底线:在需要帮助时,都会使用工具来帮助您。 使用它们来跟上您的代码,检查系统和整个环境。

杂项:关闭您的Chrome,消除嗡嗡声

现在您已经掌握了快捷方式,脚本和工具,现在该开始工作了。 但是对于我们中的某些人来说,专注于我们的任务可能是最难的事情。 我们知道我们很难坐下来写这篇文章。 这就是为什么我们决定从我们的团队那里获得一些提示:

  • 每天仅阅读一两次电子邮件
  • 每天设置可实现的目标(并实际完成)
  • 找到合适的音乐来帮助您保持专注
  • 清理桌面并隐藏所有不需要的东西
  • 关闭您不使用的浏览器标签
  • 站立的工作站,有助于使血液流动
  • 记得每隔一段时间休息一下

底线:提高生产力并非总是那么容易,您应该找到能为您设定正确工作氛围的任何东西。

TL; DR

您正处于繁忙的工作中,想要快速浏览一下我们在帖子中提到的所有内容吗? 这是我们涵盖的所有内容:

  • 别名–只需单击几下即可启动一组方便的命令
  • JFreeChart –在应用程序内部显示图表
  • 文档–使您的代码对于未来的开发人员而言是易于理解的
  • 故障排除–了解如何简化错误和错误查找
  • Takipi –了解为什么Java代码在生产中失败
  • Chef + Puppet –使用工具来概述和管理系统
  • Compare ++ , Guiffy , Kompare , Meld –使用差异和合并工具比较和检测更改
  • htop 指标 –实时监控您的系统和资源
  • JRebel –立即重新加载代码更改

最后的想法

即使我们大多数人都有自己的工作流程和习惯,也很高兴听到其他人所提供的东西。 共享很重要,您始终可以了解有助于提高工作效率的新工具或快捷方式。

我们希望您至少学到了一种新的技巧,对您有帮助。当然,如果您还有其他窍门或技巧,我们希望在下面的评论中听到。

翻译自: https://www.javacodegeeks.com/2016/08/java-productivity-tips-top-picks-community.html

java 精选选择题

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/335678.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

监听js变量的变化_JS监听事件型爬虫

点击上方“Python数据科学”,选择“星标公众号”关键时刻,第一时间送达!作者:zuobangbang来源:zuobangbang最近开始研究网页参数的JS加密,但是大型网站的JS文件过于繁杂,不适合新手上路&#xf…

HH SaaS电商系统的支付模块设计

文章目录支付单支付单状态流转逻辑说明支付相关实体支付流水记录支付方式支付渠道支付单 销售订单生成时,同步生成支付单,如果销售订单的应付金额由首付款和尾款组成,那么会生成两个支付单 支付单与销售订单的“联合单号”或者“退款单ID”关…

java8 guava_Guavate:桥接Guava和Java8的微型库

java8 guavaJava8很棒,并向JDK添加了一些有用的抽象,这些抽象通过Google出色的Guava commons库在Java社区中得到了普及。 小组讨论表明, 不久将有一个需要Java 8的Guava版本,并弥合了Guava和Java8之间的鸿沟。 但是,直…

添加几个手机联系人_One UI 3.0: 更细腻、更好用,这才是手机系统该有的样子

作为全球出货量最多的 Android 手机厂商,三星宣布将于北京时间 1 月 14 日正式召开 2021 年度的新品发布会。伴随着 S21 的即将发售,我想借此机会和大家一起来聊一聊前不久刚刚推送正式版本的 One UI 3.0。One UI 3.0 是三星基于 Android 11.0 打造的新一…

HH SaaS电商系统的商城模块设计

文章目录好获SaaS电商系统层级关系商城实体商城运营模式商城可选子系统创建商城商城管理后台有供应系统和无供应系统的B2C和混合模式的商城系统对比有仓储系统和无仓储系统的B2C和混合模式的商城系统对比有店铺系统和没有店铺系统的商城系统对比商城关闭商家入驻通道B2C模式商城…

autovalue_AutoValue:生成的不可变值类

autovalueGoogle GitHub托管的项目AutoValue之所以有趣,有多种原因。 该项目不仅使为“ 值对象 ”编写更少的Java代码变得容易,而且还为Java注释处理的实际应用提供了概念上简单的演示。 该自动/值项目是由提供谷歌的员工凯文Bourrillion和埃蒙麦克马纳斯…

舱机器人尾巴毛茸茸_毛茸茸的(Fluffy)——欧美有史以来最伟大的机器人战争机器人...

我们精选了部分网友观点:是一个潜在的十大机器人如果它被更可靠。Wouldve been a potential top 10 robot had it been more reliable.毁灭性的一次了!Devastating once it got going!打击101和Terrorhurtz遗忘和猫造成了重大损失,猫是更糟糕的状态没有毛茸茸的分解…

HH SaaS电商系统的物流单设计

业务说明 物流信息提交后,系统生成物流单,出库单与物流单是一对多的关系 退货时买家填写物流信息,提交后系统生成物流单和入库单,物流单需要保存入库单的id 物流单实体

pcl_openmap_OpenMap教程5 – 3层GIS应用程序

pcl_openmap1.简介 欢迎使用OpenMap系列教程的第5个教程。 OpenMap是一个免费的开源Java GIS库。 这是以前的教程列表: 在第一个教程中,我们创建了一个基本的OpenMap GIS应用程序,该应用程序在JFrame中显示一个从文件系统加载的具有一个形状…

小米登录协议分析_小米温湿度传感器协议分析

博主喜欢玩智能家居的东西,智能家居确实能给家里带了不少的方便。天气热了,博主想做一个:当屋子有人,并温度高于33度时,开空调。博主已有了一套自家的智能家居系统,有网关、人体红外传感器、红外转发器&…

HH SaaS电商系统的商品系统设计

文章目录商品信息结构商品信息总结构商品信息结构图发布商品商品类型虚拟商品服务商品为什么服务商品要分类前端根据服务商品类型来设计不同的界面和交互订单状态和服务类型有关商品档案上下架运营商品上下架(即商品营销上下架)删除商品租户删除自供商品…

jdk170不支持注释_JDK 9 @不建议使用的注释增强功能

jdk170不支持注释在帖子中, Deprecated可能会是什么样子? ,我当时使用JEP 277 (“增强的弃用”)的描述来指导创建增强的自定义Deprecated注释。 但是,自从发布该文章以来,JEP 277进行了重大更改…

对mysql的总结与反思_深入了解MySQL,一篇简短的总结

MySQL的基本语法这里作为MySQL部分模块的深入了解,大部分都是理论方面的笔记,不会写具体用法。具体用法会记录在下面这个随笔分类下,不过暂时还没更新完,等过段时间会更新下事务、存储过程、索引等用法,虽然都很简单&a…

HH SaaS电商系统移动端商城,买家选择商品规格的交互设计

文章目录未完整选择商品规格时商品图如何显示库存如何显示价格如何显示选择规格提示文案如何显示原型图已选完整选择商品规格时商品图如何显示库存如何显示价格如何显示原型图SKU下架后如何显示原型图购买数量如何交互未完整选择商品规格时 商品图如何显示 显示SPU的主图&…

aws lambda_适用于无服务器Java开发人员的AWS Lambda:它为您提供了什么?

aws lambda无服务器计算如何帮助您的生产基础架构? 在过去的几年中,无服务器计算架构一直受到关注,因为它专注于应用程序的主要组件之一:服务器。 这种体系结构采用了不同的方法。 在下面的文章中,我们将解释无服务器…

HH SaaS电商系统的销售订单毛利润模块设计

HH SaaS电商系统的销售订单利润分析,仅是简单分析供运营人员参考而已,所以订单生成后就自动根据商品成本价和实际交易价生成利润表,而不需要等到订单归档后才生成。 销售子单的毛利润最终交易总额-成本总额销售子单的毛利率毛利润/最终交易总…

aes子密钥生成c语言_一种基于流密码算法的子密钥生成方法与流程

本发明涉及一种用于分组加解密算法的子密钥的生成方法。背景技术:随着信息技术的发展,信息安全性的问题却愈来愈显得突出,保证信息安全的一个重要技术就是密码学。密码学在信息安全技术中扮演着基础的角色,是攻击者最难攻破的模块…

学习java很痛苦_Java日期细微的痛苦提醒

学习java很痛苦这些天我不再需要使用java.util.Date了,但是最近选择这样做,这让我想起了使用与Java Date关联的API的痛苦 。 在这篇文章中,我看了弃用的参数化Date构造函数的一些令人惊讶的API期望,该构造函数接受六个整数 。 在…

如何理解程序保存数据就是输出,读取数据就是输入的含义(程序中输入input/输出output的含义如何理解)

文章目录程序是如何保存数据的为什么保存数据的类名称都表达一种输出意思,例如:output程序如何读取数据为什么读取数据的类名称都表达一种输入意思,例如:input总结程序是如何保存数据的 对象的序列化就是持久化,就是把…

hazelcast_HazelCast的Spring-Boot和Cache抽象

hazelcast以前,我们是使用spring提供的默认Cache Manager来开始Spring Cache抽象的。 尽管这种方法可能适合我们对简单应用程序的需求,但是在出现复杂问题的情况下,我们需要使用具有更多功能的其他工具。 Hazelcast就是其中之一。 当涉及到基…