Java程序员的修炼之路<1>菜鸟篇(1年)

      菜鸟程序员如何才能快速提高自己的技术?

      好了,言归正传,进入今天的主题,菜鸟程序员如何才能快速提高自己的技术,为什么要写这篇文章呢,因为有很多程序员给我留言,说我们这些初入社会,走向工作的程序员怎样才能做的更好,怎样才能更快的适应工作?还有很多初学者问我,怎样才能更好的学习这项技术?能不能写篇这方面的文章,所以才有了今天的主题。

      这里很明确,主体是两种人,0是初学者,1是刚刚走上工作岗位的程序员。那我就分别来讲讲吧,不一定适合所有人,也就是我的个人经验罢了。

一、初学者

1、夯实基础

     首先,就我个人经历而言,我认为初学者应该特别注意这个点,要注重基础,夯实语言,应该不能急于求成,欲速则不达,好像和快速提高自己的技术这个题目有点冲突,其实题目本来就是一个伪命题,要想真正的快速提高,必须要以慢打快,才能更快。因为对于初学者而言,基础知识,编程语言必须要夯实,只有真正懂了基础,才能举一反三。

      举个我的例子吧,我记得我在大二的时候,移动互联网刚刚兴起,那时候我本来想学习java web开发来,后来感觉移动开发更有前途,就毅然决然地转向了移动开发,由于比较穷,干不起ios,就学了android,那时大学我就知道玩,没怎么学,刚自学android的时候,必须先学javajava就懂个大概,真的,什么匿名内部类什么的,回调接口,文件流啥的都不懂,学起来超费劲,被迫自己又在网上下载视频,重新学习了一遍java,之后再去看android的时候,才豁然开朗。所以基础绝对重要,我的总结就是:再快不能快基础,再烂不能烂语言。

2、记笔记,写博客

       其次,学习的时候,要学会总结,要记笔记,告诉你们一个记笔记的好方法,就是写技术博客。在学习过程中,老师讲的demo,总结的知识点,自己记录到技术博客中,由于编程知识点太多,烂熟于心是不可能的,那就好记性不如写博客。写在博客中,既能分享,又能方便自己查找,还能巩固自己的知识点。去看看我的博客你就知道了,里面有很多现在看来不值一提的内容,但是对于初学者而言,绝对重要。总结,记笔记,写博客就跟冠希哥的电脑一样,方便,好看,说不定哪一天就能一博成名。

3、学会查文档,调bug

      文档这东西,肯定有很多程序员不喜欢看,尤其是英文文档,这个坎我们一定要跨过去,自己看不懂,可以找翻译软件啊,翻译翻译多了,估计就能认识了,也能看个大概了。学会了自己查文档,就提高了自己解决问题的能力了,也提高了学习新技术的能力。别问我为什么这么说,别说话,直接吻我,以后你会感谢我的。调试bug我就不多说了,这个重不重要,还用问吗?总结,学会了查文档,调bug,就跟在百度上谷歌一样,其实没那么难。

      对于自学者而言,在网上搜上一套完整的教学视频,网上教学视频多的是,自己找一套完整的,系统的去学,学完之后,自己要尝试着做一些软件,可能你没有数据,不会做后台,搞服务器,我记得我写过一篇文章叫:《绝对干货:供个人开发者赚钱免费使用的一些好的API接口》,这里面的接口足够初学者练手用的了,做好了,还方便以后拿出去找工作。既做了软件,还能够练手,又能够用于找工作,何乐而不为呢?对于初学者我就先说这么多吧!

二、初入社会的程序员

      其实对于刚到一个新的公司,新的环境的程序员,肯定会有各种不适应,那么自然而然,我们首先要做的就是尽快适应环境,学习代码,刚到公司的一周,肯定是先让你看代码,了解公司,这一两周,也尽快调整自己,适应环境,对于刚到公司的人来说,有很多不好意思,代码你可能不熟悉,不太懂,所以你一定要有勇气去问,都说了不耻下问,何况你这是上问呢。

       在工作的时候,也要时刻总结,了解公司代码的架构,为什么这么写,有什么好处,做到自省和常问,如果工作之余还有时间,就尝试着去了解新的技术和一些框架知识,对于以后的发展还是非常有帮助的。多去浏览一些技术博客和网站,提高自己。说实话,我还真没有什么好的建议和意见。

        对于初入社会刚工作的程序员,我的总结就是:要有凤姐一样厚的脸皮,无耻刘皇叔一样的不羞上问,跟穿山甲一样的能力,你就能混的成功。

经典评论:

@一楼哥们

1.补基础,补基础,补基础!比如学Android,先把Java搞得差不多,很多就明白了。

2.买书看,不要省钱。挑一些大家评价比较好的书,买买买,看看看。书都是比较系统的,比你自己摸索好多了。

3.看源码。源码是个大知识库,搞懂源码你已经很厉害了。

4.github找轮子,看懂优秀的开源框架,然后自己尝试写轮子。

当然最重要的,多敲代码,敲代码前思考,敲完代码后也思考,不断重构完善代码。

@二楼哥们

作为不成功的反面教材,给你的三个建议:

1.父母要记得多打电话,有条件就跟父母一起住,结婚了另算。亲情是世间什么东西都无法比拟的,过去了,就没了…

2.选一个对象,这个对象不一定长的漂亮或者帅气,不一定能给你多少“性福”,不一定能给你多牛逼的家族背景。能对你好,能在你关键的时候给你支持或者指点迷津,能有共同的话题,就够了。在你困难的时候,爱情是卑微而高尚的,当你有话不能跟父母说的时候,可以和他/她倾诉,释放你的压力,给你前进的动力。

3.选自己热爱的行业,做好自己的方向和目标,然后日夜兼程的赶路,浮躁的社会,只要你肯学习,愿意努力,你坚持三个月,就可以做到熟手,你坚持半年就是精英,你坚持一年就是老员工,你坚持三年就是前辈,坚持的时间再长了,我也不知道会怎样,也许是成功,也许是失败,但是人给自己的定义是不一样的。

      成功人士说自己事业刚起步的时候,都会说的很难或者怎么样,其实,成功的人很多都是时代的需要或者有其他的背景。不要幻想自己成为比尔盖茨,也不要认为自己能做巴菲特,中国也只有一个马化腾,只有一个马云。社会更需要的是一颗颗的螺丝钉,一个个踏实做事的人。


@三楼娘们

别急,找棵大树好乘凉,加油,萌萌哒


   

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1 目标检测的定义 目标检测(Object Detection)的任务是找出图像中所有感兴趣的目标(物体),确定它们的类别和位置,是计算机视觉领域的核心问题之一。由于各类物体有不同的外观、形状和姿态,加上成像时光照、遮挡等因素的干扰,目标检测一直是计算机视觉领域最具有挑战性的问题。 目标检测任务可分为两个关键的子任务,目标定位和目标分类。首先检测图像中目标的位置(目标定位),然后给出每个目标的具体类别(目标分类)。输出结果是一个边界框(称为Bounding-box,一般形式为(x1,y1,x2,y2),表示框的左上角坐标和右下角坐标),一个置信度分数(Confidence Score),表示边界框中是否包含检测对象的概率和各个类别的概率(首先得到类别概率,经过Softmax可得到类别标签)。 1.1 Two stage方法 目前主流的基于深度学习的目标检测算法主要分为两类:Two stage和One stage。Two stage方法将目标检测过程分为两个阶段。第一个阶段是 Region Proposal 生成阶段,主要用于生成潜在的目标候选框(Bounding-box proposals)。这个阶段通常使用卷积神经网络(CNN)从输入图像中提取特征,然后通过一些技巧(如选择性搜索)来生成候选框。第二个阶段是分类和位置精修阶段,将第一个阶段生成的候选框输入到另一个 CNN 中进行分类,并根据分类结果对候选框的位置进行微调。Two stage 方法的优点是准确度较高,缺点是速度相对较慢。 常见Tow stage目标检测算法有:R-CNN系列、SPPNet等。 1.2 One stage方法 One stage方法直接利用模型提取特征值,并利用这些特征值进行目标的分类和定位,不需要生成Region Proposal。这种方法的优点是速度快,因为省略了Region Proposal生成的过程。One stage方法的缺点是准确度相对较低,因为它没有对潜在的目标进行预先筛选。 常见的One stage目标检测算法有:YOLO系列、SSD系列和RetinaNet等。 2 常见名词解释 2.1 NMS(Non-Maximum Suppression) 目标检测模型一般会给出目标的多个预测边界框,对成百上千的预测边界框都进行调整肯定是不可行的,需要对这些结果先进行一个大体的挑选。NMS称为非极大值抑制,作用是从众多预测边界框中挑选出最具代表性的结果,这样可以加快算法效率,其主要流程如下: 设定一个置信度分数阈值,将置信度分数小于阈值的直接过滤掉 将剩下框的置信度分数从大到小排序,选中值最大的框 遍历其余的框,如果和当前框的重叠面积(IOU)大于设定的阈值(一般为0.7),就将框删除(超过设定阈值,认为两个框的里面的物体属于同一个类别) 从未处理的框中继续选一个置信度分数最大的,重复上述过程,直至所有框处理完毕 2.2 IoU(Intersection over Union) 定义了两个边界框的重叠度,当预测边界框和真实边界框差异很小时,或重叠度很大时,表示模型产生的预测边界框很准确。边界框A、B的IOU计算公式为: 2.3 mAP(mean Average Precision) mAP即均值平均精度,是评估目标检测模型效果的最重要指标,这个值介于0到1之间,且越大越好。mAP是AP(Average Precision)的平均值,那么首先需要了解AP的概念。想要了解AP的概念,还要首先了解目标检测中Precision和Recall的概念。 首先我们设置置信度阈值(Confidence Threshold)和IoU阈值(一般设置为0.5,也会衡量0.75以及0.9的mAP值): 当一个预测边界框被认为是True Positive(TP)时,需要同时满足下面三个条件: Confidence Score > Confidence Threshold 预测类别匹配真实值(Ground truth)的类别 预测边界框的IoU大于设定的IoU阈值 不满足条件2或条件3,则认为是False Positive(FP)。当对应同一个真值有多个预测结果时,只有最高置信度分数的预测结果被认为是True Positive,其余被认为是False Positive。 Precision和Recall的概念如下图所示: Precision表示TP与预测边界框数量的比值 Recall表示TP与真实边界框数量的比值 改变不同的置信度阈值,可以获得多组Precision和Recall,Recall放X轴,Precision放Y轴,可以画出一个Precision-Recall曲线,简称P-R
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值