首页 文章 精选 留言 我的

精选列表

搜索[播客],共4711篇文章
优秀的个人博客,低调大师

传智播客C++学习感悟

楼主在本文中将说到C++的学习方式以及亲身经历。本文内容不仅仅限于C++学员,对于那些有意向来学习技术的、或刚来不久、或处在迷茫期的同学可以一同看下,希望在这里楼主能帮到你们什么。 [目录]:1、作为一个程序员必备的心理素质2、学习中的困扰与技能提高方式3、生活中你可能会遇到的一些困扰4、楼主接触过的讲师以及对老师的个人见解5、楼主个人在传智所遇到的一些事与感悟 1、作为一个程序员必备的心理素质 楼主在准备做程序员之前是做游戏工作室的,看着身边的大牛写个程序月入几万、几十万,很是羡慕。所以在15年中旬解散了工作室,前来传智学习。当然,要准备做一个程序员,你要考虑好自己是否能成为一个合格的程序员(入门级)。 1)忍耐与毅力 你是否已经准备好面对熬夜、加班、咖啡、手机24小时开机、天书一样枯燥的代码?做程序员不是一件轻松的事,你可能只看到了程序员整天面对电脑就能有着丰富的薪水,舒服的工作环境,但是!如果想成为一个标准的程序员,你必须付出比这些多N倍的付出。 要学会如何去阅读英文文档(不要说你不用,有时候英文文档是救你一命的稻草); 要在别人愉快玩耍的时候自己依然在电脑前反复的去调试BUG; 当女朋友要求你逛街、过节、看电影时,你却离不开工作岗位; 当别人三四十岁满面红光时,你却秃了头顶白了头发(说严重了,但是有可能); 当你的朋友愉快的打游戏时,还要一遍遍的巩固知识,提高自己; 熬到半夜你突然发现身边陪你的只有香烟、咖啡、代码。 2)学习能力与解决问题的能力 诚然,一个普通的程序员只要知道代码怎么写就可以了,但是做一个好的程序员,你务必要有良好的学习能力,在职场生涯中你所做的并不会如你所想的去做你精通的事。这时候就需要你强大的学习能力,在这个每天一个新概念的社会,如果你放弃了学习,那么你离离职也就不远了。 在学习过程中以及职场生涯中你会遇到一系列奇葩的问题,你要知道怎么去解决,遇到BUG怎么去解决,遇到一个新的知识体系你如何去接触、去理解。 3)心理素质 程序员是枯燥的,是乏味的(如果不信的话可以去搜程序员冷笑话),同时程序员也是寂寞的。 当你真正学完的时候,你会发现你可能跟以前的朋友完全交流不了,而不管你做到什么位置,在长辈眼里你也只是一个修电脑的。 在熬夜、调BUG、攻克项目的时候,你累成狗却没人能知道。 当然,我这里可能说的比较严重了,但是想要成为一个程序员,请务必要对以上有所准备。毕竟好多事是无法避免的,你要学会如何去接受。 2、学习中的困扰与技能提高方式 在传智的学习生涯中,楼主也遇到了一系列的困扰,在这里跟大家分享一下: 1)代码看不懂 很多时候,当老师行云流水一般的敲出代码,然而,自己却像看天书一样,请不要怀疑自己,传智填鸭式教学,你只需要记住代码就好了。在晚自习的时候,拿出代码,把老师讲的东西,打开画图工具去理一理。比如:链表是如何连接的,程序是怎么循环的......一般的问题在画图中就会解决,如果遇到了画图都解决不了的问题,请直接背代码,背住了,在以后有闲暇之余就拿出来看看,通过知识的积累去慢慢的消化,一口气吃不了一个胖子。当你脑容量不够的时候,你自然无法理解(千万不要钻牛角尖!)(千万不要钻牛角尖!)(千万不要钻牛角尖!)如果你钻牛角尖了,那么你会崩溃的一塌涂地。 2)我明明按照老师代码抄下来的,怎么就无法运行呢? 你要知道,老师的水准比你高出N多倍,如果在你字符没有敲错的情况下,请查看你代码的先后顺序是否正确,抄的是否是正确代码(老师上课有时候会举错误代码作为警告示范),如果你确定你的字符抄正确了,那么请检查你的缩进、空格、与标点符号吧。 楼主在学python的时候,少了一个缩进,得到的结果天差地别。 3)为什么别人好多东西都知道,自己像个白痴一样? 学生之间水平参差不齐,请不要有自卑感,努力学就行了,有的同学计算机科班出身,自然懂得多,只要你努力,你自然会超过他。 如果说你们学的知识是一样的,那么,请闲暇时间给自己来一次大的复习吧。学的东西太多,不复习你会忘光的。 4)我该看什么书,该买什么书? 在学习中,老师会推荐你一些书籍,但是相信我,请不要老师说什么,你就去买什么。 你买了会看么?你看了会懂么?你手头有PDF么?你会把这本书看上三遍以上么? 如果达不到,请找PDF格式的自己偶尔看吧,毕竟学习时间那么紧张,你看书,似懂不懂会让你很迷茫很迷茫很迷茫。 老师推荐的书,都是好书,这个世界上没有坏书,只有分什么人看,但是,把老师教的全都掌握了再去考虑这些,可OK? 太过激进反而不是什么好事,踏踏实实的先消化眼前知识才是最重要的。当你毕业了,放假了,你可以说看看书。上学时候,请抛弃这个念头,如果你是情怀主义者,请无视以上的话。 5)要开新课程了,我学这个会找到高薪么? 在学习期间,请不要考虑薪水这个问题。你学的好,有自信、有信心,自然能跟企业要出你期待的薪水,如果你学的渣渣的话,那么就算给你一个月一万八,你确定自己能干的长久么? 想这个不如多去想想老师今天讲什么知识了。 6)如何提高自己的能力<一> 老师在授课期间,你会发现一个问,每个老师写代码方式不一样啊!!! 有的变量全是英文名,有的变量就是a,有的变量竟然还有中文拼音呢! 请注意老师的代码风格,一个好老师带出来的学生必然有良好的代码风格,这个问题很多老师不会去提,楼主在这里推荐两本书,一本是<<高质量C、C++编程指南>>、一本是<<像程序员一样思考>> 尽快找到你的代码风格并固定下来,这对你是一件帮助特别大的事情.。(用合理的英文名去定义一个变量,让你看到这个变量的时候你就能知道它是用来做什么的。) 7)如何提高自己的能力<二> 当你准备提高自己的能力的时候,请先问问自己,当前的知识掌握了没有,如果没有,请先抛弃你的兴趣,不要把知识浪费了。 如果你掌握了的话,那么就狂敲代码,敲不一样的代码,盲敲代码,让代码达到你想就出的程度,这样你就成功了。如果你都已经可以去很顺畅的教别人了,那么你还会怀疑自己么? 3、生活中你可能会遇到的一些困扰 一个人出门在外,最重要的是什么?衣!食!住!行! 楼主刚来传智的时候学校推荐的是福林公寓,楼主去看了看,感觉太挤,八个人或六个人一间寝室,暗无天日,楼主跟女朋友住习惯了。实在是怕最后怀疑自己的性取向,所以楼主毅然决然的出去找房子了,楼主跟几个小伙伴去朱辛庄那边找的公寓,价格挺便宜的。就是吃饭不方便,楼主住了三个月搬来了九克拉,唯一好处就是,吃饭方便了! 怎么说呢,其实找房子这件事,楼主没什么太多的经验,找房子一定要找几个熟悉的小伙伴一起,最好是一个班的,到时候有什么事有个照应,谁有困难了、或者病了,可以互相照看着点。 另外呢,北京最不缺的是什么?黑心商人、骗子、各位找房子的时候一定要看好合同,如果找中介最好找正规中介。不要相信什么乱七八糟的个人中介。 个人推荐:金燕龙周边的小区,远一点的,朱辛庄,史各庄那边。小伙伴都不少。 4、楼主接触过的讲师以及对老师的个人见解 总体来说,传智的教学水平还是一流的。如果你觉得你的老师不好,请结合你的课表当前课程难度,问问自己,是自己不够努力,还是真的老师不好。 楼主来说说在C++基础班以及就业班所认识的以及有所耳闻的几位老师吧! 老师 C++基础班讲师-->朱景尧 为人厚道、慈善,是个不折不扣的人才。知识之丰富,社会经验之充足,是你无法想到的。吹拉弹唱样样精通,代码滴水不漏。C++学院院长一职与首席架构师的称号不是白说的。关于朱老师的社会事迹我就不说了,太丰富, 讲课方式、通俗易懂、通过形象化的讲解让你能轻松的进入C语言的大门。变量、变量名物化,而不是职业化,让不懂C的人也能很快的理解C语言基础。 C++基础与C提高-->王桂林 华为项目经理出身,代码职业化,代码风格清晰,讲课丝丝不漏,听他的课就好比你真的进入到了公司里。公司给你下达任务后的文档需求分析一样,而且底蕴丰厚,讲课时就公司内部所遇到的事有时候也会说一说,让大家不会成为呆子一般的盲目的学,,号召力强、亲民, 外号大哥。学员面试时如果有什么问题,找他第一句话就是:大哥救我 ,C++学院副院长(目前已离职),大哥是个有梦想的文艺青年,对生活、对遇到的事有着自己独特的见解,爱好分享,博客一堆精品文章,大师级程序员。 C++提高STL-->刘丹冰 东北人,说话风趣幽默,讲课有激情,上他的课你不会感到昏昏欲睡,你会觉得有嗷嗷的求知欲望。做网络安全出身,由于课程原因,接触的不是很多,但是的确是个好老师,让你对学习有激情,让你学起来枯燥的STL也不会产生厌恶感。 C++数据结构-->苏丙榅 地道的码农,在他身上我看到了我以后可能会遇到的,感觉更像是朋友一样,生活的压力、工作的压力、四天课程,讲的还算可以的。毕竟是刚刚接手课程,接手别人的课表,可以理解。但是为人的确不错,像常见问题都挺乐意给你解答,还有工作中遇到的很多事,他都会去说,包括自身经历,以及个人求职的艰辛。让我们在茫然之中也有面对挫折的应对方法,而不是像某些培训机构一样,只能喊高薪。 一个人挺一个家,苏老师挺不容易的的,他让我们从北漂一族的梦里边醒过来面对事实。 linux基础&SQL数据库-->王飞 王老师是一个特别负责任的老师,传智那么多老师中,没有几个像他一样,每天下课到七点才走。班里很多同学反映王老师讲的不是那么好,我感觉跟课程有关系,就像苏老师一样,摊上了这个摊子,换成别人也就讲成那样了。挺注重互动的,我不知道我是什么情况,我看王老师加速的视屏跟看他本人亲身讲课,感觉完全不一样。或许以为我看视频都是加速看的原因,看视频就感觉讲的真的是棒棒哒,亲身听课,为啥说话这么慢呢。 linux提高-->邢文鹏 Linux大牛,十年工作经验,为人和善,善于开发学生的学习能力与问题的应对能力。给你指点一个方向能让你快速入门那种,给他几个人,他能迅速的给你组成一个团队的一个人。领导能力强,讲课内功扎实的不要不要的。他是一个能给你指引方向的老师。 QT-->江文聪 讲课风趣幽默,从事QT出身。一口流利的广东普通话,让课堂的气氛不是那么压抑。快速开发能力强、接触不是过多,不做过多评论。 班主任 基础班-->毛兆军(大猫) 逗逼!!!十足的逗逼!!!!!! 不过很多事都是为学员考虑,像朋友多过像班主任。 就业班-->柳叶 好说话,脾气挺好的一大姐。 作为一个不常回家的母亲,也是挺不容易的。 学弟班-->吕冬雪 直来直去,完事好说话,平时该玩玩该闹闹,遇到事能看事。 听闻过的老师 张孝祥(已逝) 传智创始人,张老师的JAVA教程算是业内最经典的JAVA教程了,没能听张老师现场的课挺遗憾的。 王宝明 技术大牛一枚,马上要上王老师的项目课了,对于真人不做评论,不过视频好的不要不要的!!! 5、楼主个人在传智所遇到的一些事与感悟 先来说两个身边实际的事情: 一起找房子的小伙伴之一,被游戏坑害的不轻,两度重听基础班,感觉有时候就像看到了迷茫期的自己一样。其实挺惋惜的,学了之后的知识感觉基础班的知识并没有那么重要,但是入门还是要懂得。希望大家能不重读尽量不要重读。毕竟,一个月,三十天,你可以做的事很多很多很多。 同班小伙伴之一,爱钻牛角尖,爱研究为什么,在一个点上死磕经常出不来。现在已经放弃,准备年后继续来重读。楼主挺惋惜,也劝过,但是每个人有每个人独特的想法。不过挺年轻,才十八岁。还有时间能浪费。但是,时间就是金钱,也是希望大家,遇到事别怕,抗抗就过去了。没什么大不了的,就当是锻炼自己。 楼主作为一个同样被游戏坑害不轻的少年,对游戏是痛恨的不要不要的。学习的时候有过迷茫、有过冲动,半年也经历了很多,楼主也是有家室的人,跟女朋友分居两地这半年过得也很是不易。劝大家一句,没事闲下来就给家里打个电话,报个平安。问问女朋友,父母怎么样。别玩疯了,偏激了忘了自己是谁。 楼主毕业第一志愿是留在学校做技术辅导,毕竟,教别人是提高自己最快捷的路径。可惜,知道是自己学的不好,还是别的,听说技术辅导人满了,挺惋惜的。 毕业之后,对于方向选择,感觉如果能有提高自己的职位,即使薪水低点也能干,毕竟发展自己才是第一位的。 对于求职,挺迷茫的,在家做了三年的个体,也没怎么给别人打工。码农可以说是自己人生的第一份正式职业,这个敲门砖,自己还真没有力道的把握与信心,同时劝各位学员一句,有人给你开,合适就干。但是薪水低的,你要考虑回报值得不值得,千万不要凑合了事。宁愿多找俩月也要找到自己喜欢的,,毕竟爱好是学习最大的动力。 ============================================================================= 原文链接网址:http://tieba.baidu.com/p/4255766507我的GitHub地址: https://github.com/heizemingjun 我的博客园地址: http://www.cnblogs.com/chenmingjun 我的蚂蚁笔记博客地址: http://blog.leanote.com/chenmingjun Copyright ©2018 黑泽明军 【转载文章务必保留出处和署名,谢谢!】

优秀的个人博客,低调大师

Java学习笔记--异常处理(传智播客的总结)

背景: 我们的java程序也是会存在某些不正常 的情况的,这些不正常的 情况我们就统称异常。(还有一种是IO流的异常 要包装成运行时异常) 异常体系: ———-| Throwable 所以异常或者错误类的超类 ————–|Error 错误 错误一般是用于jvm或者是硬件引发的问题,所以我们一般不会通过代码去处理错误的。 ————–|Exception 异常 是需要通过代码去处理的。 如何区分错误与异常呢: 如果程序出现了不正常的信息,如果不正常的信息的类名是以Error结尾的,那么肯定是一个错误。 如果是以Exception结尾的,那么肯定就是一个异常。 Throwable常用的方法: toString() 返回当前异常对象的完整类名+病态信息。 包名+类名 = 完整类名 getMessage() 返回的是创建Throwable传入的字符串信息。 printStackTrace() 打印异常的栈信息 比如:虚拟机能分配的内存是50多mb如果超过了就是Error类型的 疑问: 下面的信息是通过printStackTrace方法打印出来,那么异常对象从何而来呢? Exception in thread “main” java.lang.ArithmeticException: / by zero at Demo10.div(Demo10.java:10) at Demo10.main(Demo10.java:5) jvm运行到a/b这个语句的时候,发现b为0,除数为0在我们现实生活中是属于 不正常的情况,jvm一旦发现了这种不正常的情况时候,那么jvm就会马上创建 一个对应的异常对象,并且会调用这个异常对象 的printStackTrace的方法来处理。 异常的处理: 方式一:捕获处理 捕获处理的格式: try{ 可能发生异常的代码; }catch(捕获的异常类型 变量名){ 处理异常的代码.... } 捕获处理要注意的细节: 如果try块中代码出了异常经过了处理之后,那么try-catch块外面的代码可以正常执行。 如果try块中出了异常的代码,那么在try块中出现异常代码后面的代码是不会执行了。 一个try块后面是可以跟有多个catch块的,也就是一个try块可以捕获多种异常的类型。 一个try块可以捕获多种异常的类型,但是捕获的异常类型必须从小到大进行捕获,否则编译报错。 疑问一 : 异常的处理感觉没有多大作用,因为都是输出一个话而已? 异常处理非常有用,只不过是由于我们目前所接触的知识点太过于局限而已。 疑问二: 以后捕获处理 的时候是否就是捕获Exception即可? 错的,因为我们在现实开发中遇到不同的异常类型的时候,我往往会有不同 的处理方式。 所以要分开不同的异常类型处理。 注意 如果抛出了一个异常 那么接下来的代码就不会执行 */ 举例: try catch方法 class A{ public static void main(String[] args){ div(1,0); } public static void div(int a,int b){ int c=0; try{ c=a/b; }catch(ArithmeticException e){ System.out.println("1"); }catch(NullPointerException e){ System.out.println("2"); }catch(Exception e){ System.out.println("3"); } } } /* 异常的处理方式----抛出处理 抛出处理(throw throws) 抛出处理要注意的细节: 1. 如果一个方法的内部抛出了一个异常 对象,那么必须要在方法上声明抛出。 2. 如果调用了一个声明抛出异常 的方法,那么调用者必须要处理异常。 3. 如果一个方法内部抛出了一个异常对象,那么throw语句后面的代码都不会再执行了(一个方法遇到了throw关键字,该方法也会马上停止执行的)。 4. 在一种情况下,只能抛出一种类型异常对象。 throw 与throws两个关键字: 1. throw关键字是用于方法内部的,throws是用于方法声声明上的。 2. throw关键字是用于方法内部抛出一个异常对象的,throws关键字是用于在方法声明上声明抛出异常类型的。 3. throw关键字后面只能有一个异常对象,throws后面一次可以声明抛出多种类型的 异常。 疑问:何时使用抛出处理?何时捕获处理?原则是如何? 如果你需要通知到调用者,你代码出了问题,那么这时候就使用抛出处理. 如果代码是直接与用户打交道遇到了异常千万不要再抛,再抛的话,就给了用户了。 这时候就应该使用捕获处理。 */ 举例:throw 抛出 class Demo2{ public static void main(String[] args)throws Exception{ try{ div(0,1,null); }catch(Exception e){ System.out.print("1"); throw new Exception(); } } public static void div(int i,int j,int[] arr) throws Exception{ if(i==0){ throw new Exception(); }else if(arr==null){ throw new NullPointerException(); } int c=i/j; System.out.println(c); } } 如果 main函数也抛出异常 那么到时候出错的时候直接打印printStackTrace 自定义异常类: /* sun提供了很多的异常类给我们用于描述程序中各种的不正常情况,但是sun 给我 提供异常类还不足以描述我们现实生活中所有不正常情况,那么这时候我们就需要 自定义异常类。 需求: 模拟feiQ上线的时候,如果没有插上网线,那么就抛出一个没有插上网线的异常, 如果已经插上了网上,那么就正常显示好友列表。 自定义异常类的步骤: 自定义一个类继承Exception即可。 class NullIpException extends Exception{ public NullIpException(String x){ super(x); } } class Demo2{ public static void main(String[] args){ String ip="sdf"; ip=null; try{ xx(ip); }catch(Exception z){ z.printStackTrace(); } } public static void xx(String ip)throws Exception{ if(ip==null){ throw new NullIpException("noip"); } System.out.println("sdfsadfasdfas"); } } —————| 运行时异常: 如果一个方法内部抛出了一个运行时异常,那么方法上 可以声明也可以不 声明,调用者可以以处理也可以不处理。 ——————| 编译时异常(非运行时异常、受检异常): 如果一个方法内部抛出了一个编译时异常对象,那么方法上就必须要声明,而且调用者也必须要处理。 运行时异常: RuntimeException以及RuntimeException子类 都是属于运行时异常。 编译时异常: 除了运行时异常就是编译异常。 疑问: 为什么java编译器会如此严格要求编译时异常,对运行时异常如此宽松? 运行时异常都是可以通过程序员良好的编程习惯去避免,所以java编译器就没有严格要求处理运行时异常。 ———————————————————————————————————— */ finally块的 使用前提是必须要存在try块才能使用。 finally块的代码在任何情况下都会执行的,除了j vm退出的情况。 finally非常适合做资源释放的工作,这样子可以保证资源文件在任何情况下都 会被释放。 finally: 结论: 1、不管有木有出现异常,finally块中代码都会执行; 2、当try和catch中有return时,finally仍然会执行; 3、finally是在return后面的表达式运算后执行的(此时并没有返回运算后的值,而是先把要返回的值保存起来,管finally中的代码怎么样,返回的值都不会改变,任然是之前保存的值),所以函数返回值是在finally执行前确定的; 4、finally中最好不要包含return,否则程序会提前退出,返回值不是try或catch中保存的返回值。 System.exit(0);//退出jvm 那么finally是不会执行的 举例: class Demo2{ public static void main(String[] args){ try{ div(1); }catch(Exception e){ e.printStackTrace(); System.out.println("xipanzi"); } } public static void div(int n) throws Exception{ try{ System.exit(0); }catch(Exception e){ System.out.print("sdf"); }finally{ System.out.print("finally"); } } } 如果try里面是return 那么也会执行finally 但是不会影响return的返回值 因为finally是在return之后才执行的 fianlly释放资源的代码 import java.io.*; class Demo6 { public static void main(String[] args) throws Exception { FileReader fileReader = null; try{ //找到目标文件 File file = new File("f:\\a.txt"); //建立程序与文件的数据通道 fileReader = new FileReader(file); //读取文件 char[] buf = new char[1024]; int length = 0; length = fileReader.read(buf); System.out.println("读取到的内容:"+ new String(buf,0,length)); }catch(IOException e){ System.out.println("读取资源文件失败...."); }finally{ try{ //关闭资源 fileReader.close(); System.out.println("释放资源文件成功...."); }catch(IOException e){ System.out.println("释放资源文件失败...."); } } } } 总结: 1:子类覆盖父类方法是,父类方法抛出异常,子类的覆盖方法可以不抛 出异常,或者抛出父类方法的异常,或者该父类方法异常的子类。 2:父类方法抛出了多个异常,子类覆盖方法时,只能抛出父类异常的子 集 3:父类没有抛出异常子类不可抛出异常 1:子类发生非运行时异常,需要进行try{}catch的(){}处理,不能 抛出。 4:子类不能比父类抛出更多的异常

资源下载

更多资源
腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

用户登录
用户注册