程序员

日志组件slf4j介绍及配置详解

若如初见. 提交于 2019-12-02 21:38:31
1 基本介绍 每一个Java程序员都知道日志对于任何一个Java应用程序尤其是服务端程序是至关重要的,而很多程序员也已经熟悉各种不同的日志库,如java.util.logging、Apache log4j、logback。但如果你还不知道SLF4J(Simple logging facade for Java)的话,那么是时候在你的项目中学习使用SLF4J了。 SLF4J不同于其他日志类库,与其它日志类库有很大的不同。SLF4J(Simple logging Facade for Java)不是一个真正的日志实现,而是一个抽象层( abstraction layer),它允许你在后台使用任意一个日志类库。如果是在编写供内外部都可以使用的API或者通用类库,那么你真不会希望使用你类库的客户端必须使用你选择的日志类库。 如果一个项目已经使用了log4j,而你加载了一个类库,比方说 Apache Active MQ——它依赖于于另外一个日志类库logback,那么你就需要把它也加载进去。但如果Apache Active MQ使用了SLF4J,你可以继续使用你的日志类库而无需忍受加载和维护一个新的日志框架的痛苦。 总的来说,SLF4J使你的代码独立于任意一个特定的日志API,这是对于API开发者的很好的思想。虽然抽象日志类库的思想已经不是新鲜的事物,而且Apache commons

《程序员修炼之道》之基本工具读后感

老子叫甜甜 提交于 2019-12-02 21:19:38
在第二章中,我知道了注意时效的重要性,然后在第三章,我了解到了我们如何去运用基本工具去让我们的时效性增强 第三章开头就有一句话让我的记忆十分深刻,那就是作为注意时效的程序员,我们手中的基本材料不是木头,不是铁块,而是知识,我们搜集顾客的需求,然后将其转化为知识,随后又在我们的设计,实现,测试,以及文档中表达这些知识。 xml,sgml,html都是良好定义的结构的纯文本的例子,我们可以通过纯文本,做到某种二进制的能做的每一件事,包括这版本管理 然而纯文本也具有一定的缺点,存储空间较大,处理纯文本文件,计算需要的代价可能更大(不太明白为什么需要的代价较大,后续补充!) 但是与二进制相比,纯文本较为安全。 虽然更大和更慢,但是纯文本更为人们所接受,因为保证不过时,还能起到杠杆作用,更易于测试。 投入一些精力去研究shall命令,它可以让我们的时效性增加 来源: https://www.cnblogs.com/sunhongbin/p/11762812.html

Java开发程序员,最常用的20%技术有哪些?

匿名 (未验证) 提交于 2019-12-02 20:59:24
Web应用,最常见的研发语言是 Java 和 PHP 。后端服务,最常见的研发语言是Java和C/C++。 大数据 ,最常见的研发语言是Java和 Python 。 基本可以说,Java是现阶段中国 互联网 公司中覆盖度最广的研发语言,掌握了Java技术体系,不管在成熟的大公司,快速发展的公司,还是创业阶段的公司,都能有立足之地。编程语言中经常使用的是其中20%的技术。Java这门语言中,使用率最高、最重要的20%的技术我简单概括为以下内容: ・ Java基础: 基本语法、面向对象、常用类、正则、集合、Io流、多线程、Nio、网络编程、JDK新特性、 函数式编程 等。 小编相信这里有很多学习java的朋友,小编整理了一份java方面的学习资料,想要获取的可以加我的java学习群的哟,928204055。欢迎爱学习Java的你们。 ・ Javaweb: 掌握数据库( MySQL )、前端( Html5 、 CSS3 、JS、BootStrap、 jQuery )、后端技术(Servlet、Filter、 Listener 、JSP)、会话跟踪技术( Cookie 、 Session )、版本控制器(SVN)、在线支付等。 ・ Java框架: 掌握主流的企业级框架,开发和管理工具(Maven、Git、 Idea )、 Spring 、webMVC框架(SpringMVC、Struts2

程序员福音-- 常用idea 插件plugins 提高编码效率

匿名 (未验证) 提交于 2019-12-02 20:41:15
1.打开settings配置面板 FindBugs-IDEA 检测代码中可能的bug及不规范的位置, 写完代码后检测下 避免低级bug, https://plugins.jetbrains.com/plugin/3847-findbugs-idea 重启idea后如果插件加载成功左下角出现: 2. Maven Helper 一键查看maven依赖,查看冲突的依赖,一键进行exclude依赖 对于大型项目 非常方便 https://plugins.jetbrains.com/plugin/7179-maven-helper 重启idea后如果插件加载成功 打开pom文件左下角出现: 切换Dependency Analyzer试图即可进行相应操作: 选中右键就可以 Exclude 啦,想用1.2就把其他版本的Exclude掉,想用1.1.3就把其他版本的Exclude掉,很方便。 VisualVM Launcher 运行java程序的时候启动visualvm,方便查看jvm的情况 比如堆内存大小的分配 某个对象占用了多大的内存,jvm调优必备工具 https://plugins.jetbrains.com/plugin/7115-visualvm-launcher 重启idea后如果插件加载成功右上角出现: 暂时不知道咋用 GenerateAllSetter

《程序员修炼之道:从小工到专家》读后感3

风格不统一 提交于 2019-12-02 20:00:13
每个工匠在开始其职业生涯时,都会准备一套品质良好的工具。这些工具将经过认真挑选、打造得更加坚固耐用、并用于完成很少与其他工具重合的特定工作。随后学习与适应的过程就开始了。每样工作都有自身的特性和古怪之处,并且需要得到相应的特殊对待。每样工具都需要以独特的方式进行打磨,或者以独特的方式把持。到时候工具就变成了工匠的头脑与所做的产品之间的通道——他们变成了工匠双手的延伸。到最后工具会放大工匠的才干。工具越好,工匠就越能更好的掌握他们的用法,生产力也就会越高。这指出了我们这些不成形的程序员以及一些新程序员的一个常见错误:采用单一的强力工具。比如特定的集成开发环境IDE,而且再也不离开其舒适的界面。这是个错误,我们要乐于超越IDE所施加的各种限制。要做到这一点,唯一的途径是保持基本工具集的锋利与就绪。 接下来,本书介绍了纯文本的威力。纯文本是可以直接让人理解的形式,与二进制编码相比,纯文本所处的层面更高。但是纯文本也有两个缺点:1.所需空间很大;2.需要解释及处理的文件,计算上的代价更大。但是纯文本也有很重要的优势特性:1.保证不过时;2.杠杆作用;3.更易于测试。保证不过时很容易达成,而且可以自动保存所有改动的历史,可以监视文件是否收到偶然的修改。 后面,又接连介绍了shell游戏、强力编辑、源码控制、调试、文本操控、代码生成器等,解释了他们各自的优缺点以及相应的特性

对于我们来说,相对稳定的工作,就是在浪费生命?

∥☆過路亽.° 提交于 2019-12-02 19:53:30
一方面要鼓吹稳定的工作是在浪费生命,一方面又宣扬几十年如一日的工匠精神,人类的精神分裂真严重! 一本励志的书 2016年一本新书,上市三个月,总销量超过了50万册,并迅速占据京东、当当等各大电商新书畅销榜榜首,这本书的名字叫做《你所谓的稳定,不过是在浪费生命》。 一本打鸡血的书,唤醒了很多迷茫、慵懒的年轻人,但是也有人对此嗤之以鼻,将书摔在地上破口大骂:“呸!毒鸡汤!” 喜欢的人,特别喜欢,讨厌的人,恶极了它。到底追求稳定的工作,是不是在浪费生命? 追求稳定的工作 有一种很可怕的生物 平素以跟老板保持步调一致为荣 老板转了一个《年轻人,你为什么不加班》 他第一个点赞,跟转 被老板的个人奋斗史给折服 笃信着“不接受996,就是不能吃苦”的人生信条 本来下午6点下班,非要拖到晚上9点以后走 这种生物,叫做职场奋斗逼 然而真正的成功者,却总是在追求稳定的工作与生活。 马化腾在一次香港大学演讲中,曾回忆起自己的创业史。他说道,当初在一家通讯公司上班时,自己是从未想过要创业的,如果可能,他是很愿意一直呆在一家公司,走升职加薪的道路的。 当时互联网刚刚兴起,他认为互联网通讯很有潜力,于是向公司提了这件事,可公司和自己的想法不同,最终马化腾选择了离开。 不仅仅是马化腾,很多大型公司的创始人,似乎都想追求稳定的生活,而不是整日奔波、劳心劳力的日子。 “糟糕”的程序员 再看看我们熟悉的程序员群体。

成为程序员前需要做的10件事

喜欢而已 提交于 2019-12-02 18:04:20
想要成为一名伟大的程序员并不是那么容易的一件事,事实上——没有经历过漫长考验的话,这根本就是妄想。想要成为一名堪称优秀的程序员就已经很需要花时间了,而且过程不可谓不艰难——你会不止一次地想要放弃。 彻底掌握编程最基本的内容粗粗一算就要一到三年。我开始学的是基本的HTML和CSS,这用了我很长一段时间。后来终于这些概念在我脑子里变得清晰起来,而且理解起来也慢慢变得毫无障碍,接着写一些小程序也难不倒我了。总而言之,光靠看书或者看教程视频是成不了程序员的。实践与练习,才是王道。 1. 个人学习体会 我们需要知道的第一个经验教训是,别人的经验永远不会与你的一样,不仅是因为你们碰到的资源不同,还包括每个人的想法以及思考的方式也是不一样的。学习新语言最好的方式是找到关于该编程语言“常见问题解答”的书。 这本书你在看的时候从始至终都不要去碰电脑。首先你要做的是掌握概念理解该编程语言(即使你看完之后忘了大半也没关系,总之继续),所以我们选择的书籍应该是基础性的,入门级的。 2. 目的是搞项目 你知道项目吗,如果你想要学习编程——那么你需要创建的一些东西。为什么我们需要项目呢?因为如果没有的话,我们就没有目标——浑浑噩噩,不知所以。 可以先拿小型的应用程序和网页练练手,想搞软件开发的还可以建立自己的网络浏览器或者其他酷炫的玩意儿。 3. 知道自己想要什么 确定一个项目有助于制定目标

学习当前流行框架,同时也要自己去造建议的框架

给你一囗甜甜゛ 提交于 2019-12-02 17:05:00
在网上看到一个帖子,一个Java程序员,工作一段时候后,因为公司没有使用最新的框架,还是使用之前老套的框架,然后离职了。 该帖子下的留言是,程序员只要有活干给钱,做什么都无所谓。旧框架也是能够学习到新的东西。学习新的框架,可以私底下学习,而公司的项目要平稳,不能激进的使用新框架。 其实这些都没有错,在一个岗位上,肯定优先使用稳定的框架,或者是让之前旧代码一直稳定的运行下去。但是对于一个程序员来说,特别是之后还需要投递简历去找工作的程序员来说,是比较不好的。厉害的人不投简历都有工作,但是对于普普通通的程序员来说,面试被问的最多的就是这些新框架内的东西。 前几年Java程序员被问的最多的是关于Spring内的AOP,IOC知识,而现在会被会到SpringBoot一些知识,还有微服务框架SpringBoot, Rpc框架Dubbo。平常没有使用过,即使私底下搭建起Demo,对其内容也是不会熟悉。 诚然这些都是框架,学会使用花不了太多的时间,但是在之前学会了使用,可能在面试时,回答上会更自信一些。我之前有一个老大,非常厉害,对这些框架很熟悉,玩的贼溜,但是他觉得这些框架使用太繁琐,不好用,然后自己造了一套轮子。他可以玩转各个框架,但是对于新手的我们来说,潮流是需要追的,并且需要深入下去,Dubbo是Rpc框架,学习其中原理,在项目中进行扩展,使其能够输出调用的日志信息。

软件测试必须要知道十个关键点

纵然是瞬间 提交于 2019-12-02 16:42:15
软件测试行业急需大牛   记得2年前刚毕业的时候听说了软件测试这个行业,当时也去百度仔细进行了一番搜索,评价基本千篇一律的看好。看好的原因在于,专家认为未来的互联网市场用户体验至上,而产品质量与用户体验有紧密的联系,自从近年产品经理岗位火了之后,人人都是产品经理的概念深入人心,但其实人人也都要具有质量观念,出色的产品质量可以提供更好的用户体验。   说被专家一席话打动有些牵强,当时就是因为自己的开发功底不足,退而求其次选择了 杭州软件测试 (www.proginn.com/users/hangzhou/csgcs/)一家公司谋生。而生活中很多事都要亲历了才知道究竟是怎样~其实,国内的软件测试行业没有书中以及媒体描述的那么好,规范、流程都需要各个公司摸索制定。流程是否规范,对测试的能力要求高低,自动化与接口测试完善与否,很多工具平台或软件是否能够重复使用,这都说明着该公司在软件测试方面的积累。   但凡接触过软件企业的人应该都知道,从公司的生态链来说,软件测试属于最下游,这也决定了很多情况必须要被动接受。即使某个测试攻城狮理论知识丰富,辨识风险能力强,在测试中独具慧眼,但是一个产品需求的变更就可以让他傻眼,接着很努力的去适应这种节奏。也许他抱怨,也许他吐槽,背后将产品、运营骂了N多遍,但是毫无用处,产品运营主导必然是趋势,测试主导是做不出好产品的。   还有一个点的确争论了很久