front-end's People
Forkers
kybetter janetshan feather130 klayxue charlesleons songzxdev xiyou yangtoude nyc098 movive xiaoluohe thinkdo wws7leng castiel3399 rayallen20 renzhenpeng lgxoyx lightnoway shin-guid yangyhx xuyunbo quanquan2100 theburn craystal2048 liuwenru shifeng-lee hlf0213 zuoxiaodong0815 flowbywind bordergong liyaowonder tankunpeng aizk lcl22hope huirudong zhangtj-here milesmao233 klayxzl zrpray alfredolee qiraining zhangdongming0607 xiaodongxing zhouyi0315 mcmajh fasttian 490273789 liufan-f fanjiner yuzewang mbearo simplezhao dingaimingit zhanzhanhu hilda-gcy aaaaaaaaq piter2015 zzzhrookie timzw yousi2016 djan99 lemon-energy rambogit henry-diasafront-end's Issues
【028-阶段总结1】关于首次线下大课及本周知识的总结
【028-阶段总结1】关于首次线下大课及本周知识的总结
为什么报名前端训练营:
从毕业开始已经工作了两年,一直从事前端的行业,也一直没有换过公司。由于公司业务关系一直使用的是angularjs,一直也是面向百度,面向谷歌编程。平时虽然也会去学习一些新的内容扩展了很广的知识面,但是不擅长总结自己已有的知识,经常是前面看过了解了,过几天就只记得自己知道这个知识,却忘记了内容具体内容是什么。在极客时间上看到了winter老师的前端训练营,为了巩固知识,学习更体系化的内容,也为了自己未来的发展,所以报名前端训练营。
线下
知识架构
通过第一天的学习,上午根据老师的介绍,认识到前端的职业阶段,对自己的职业规划提供了一个方向。课间对于面试时候真正需要的能力有了初步了解,面试其实需要的是思路、思维,这样更能让面试官了解自己。下午通过老师的带领下合作完成了初版的知识图谱,并根据同学们的提问学到一些实际的技巧。认识到了总结前端的知识结构、梳理知识的重要性。
- 有利于面试时的知识点搜索
- 对于已经知道的知识可以更好的巩固,查漏补缺,深入理解
- 对于那些新知识可以加深了解
编程能力
第二天的学习,通过黑白棋游戏初步对代码逻辑的实现,了解优化代码的一些变通方法,尝试封装黑白棋的代码,使代码脱离固定环境,可以运行在多个地方。以及一些AI的基础设计。
这一周
知识架构
基于第一天的基础和winter老师的知识图谱,正在重新看《重学前端》的html部分并结合w3c标准重新梳理自己的知识图谱。
编程能力
将黑白棋用其他框架重新实现,主要研究黑白棋的AI实现,发现算法的重要性。
计划
- 继续完善自己的知识图谱
- 黑白棋的功能完善
- 重新捡起算法的学习
最后
通过线下的学习和线上跟同学们的交流,发现了自己有很多不足的地方,需要继续努力,不断学习。加油!!!
【027-阶段总结1】参加前端训练营一周后的总结
线下第一天
线下,winter老师的问的一个问题,你心目中的优秀前端工程师长啥样?当时好像技术强就是,至于哪方面强,多强是没概念的。老师现场发问,在有可能会被叫到的情况下,那种心里紧张,就发现自己要当一个多具体的工程师是不知道的,发现自己是没有目标的,那我学技术干啥呀?也发现自己还是不足够热爱技术和敬畏技术。
”你是你自己职业生涯的雇主“,时间是我的,本来在这个世界上的时间不多,好像还以为我拿公司的钱,我的时间卖给公司,好像是我赚到了一样,其实是我亏了。
前端知识体系的构建,两天后回到家,自己尝试重新构建了知识图谱,在这个过程中发现,W3C是干嘛的?为何成立?谁在主导?的源头知识也是蛮有意思的。也提了一个问题,自己既然从事了前端,那就努力去做好,踏实走吧。追溯法和整理法也是有用的。
见到了很多前端的同侪,第一次见那么多前端工程师,是非常开心的,虽然表面上看不出来。
小组内解决前端知识图谱的事,让感觉到团队协作和分工蛮重要的,在时间有限情况下。
线下第二天
第二天的黑白棋编程,我蛮高兴的是,棋盘和黑白子用程序给表达出来了,现实生活中的问题,如何通过程序表达,那也是要一步步来的,不能跨步的。所以对我来说编程练习也一样,着急不得,我一着急,我就容易出Bug。虽然后边的八个方向的吃子规则以及后边的逻辑没写出来,确实在现场容易紧张,也是一个锻炼自己如何冷静解决问题的机会,如何拆解一个问题变成几个简单的小问题的机会。如果自己不会或者没有理清需求,还是要求助,如果我不找助教,我想我后边的八个方向和pass规则真的听不懂了。我来训练营不是来证明我有多懂(当然我不是很懂),就是来发现自己不足的。
好吧,黑白棋的游戏我还没有继续完善,除了这周工作蛮多,项目改版要上线,好吧其实也是借口,好像不愿意再输出黑白棋了,又以为自己懂了,都是幻觉。
总结:
我们小组的人已经在刷力扣的算法题有一周了,我不能调队。总结先这样,有一句话会永远记住:你是你自己职业生涯的雇主。
目前计划:
如果我在前端训练营毕业了,那么我完成了力扣算法训练200道简单和中等的算法题。
如果我在前端训练营毕业了,那么我已经很好的改造了黑白棋、轮播组件的逻辑了。
【006-阶段总结1】学习收获
- 方法论的冲击,原来大佬们学习东西的套路是这样的,相信给自己实实在在的上了一课,以前很多时候偏解决单一问题,通过单一问题获得若干知识,很多知识不是串联的,最终其实脑子里面是没有完整的图谱的,这部分可以复用到自己后端、数据库、devops的工作中去。形成自己的重学后端、重学数据库。
- 一个功能改进应该在公司推进的途径,从技术论证、形成文档、小规模迭代实验、上线、数据统计、总结汇报。这是一套完整的路径,后续自己的工作也可以按照这个套路进行。
- 原生js/css的功底很差,我需要恶补,避免影响后续上课。
【051-阶段总结1】收获与计划
收获
1.通过winter的分享,更加清楚地了解到了开发行业的职级划分。站在更高的角度,明白了对于以团队而言,各个职级对各项能力的要求。也明确了在工作中的目的,对职业生涯的规划有很大帮助。
2.通过小组讨论梳理前端知识框架,认识到了自身还有很多知识盲区,基础知识不牢靠。也站在了更高的角度来看整个前端知识体系,有一种豁然开朗的感觉,也找到了之后学习的方向,不断完善自身的知识体系。再通过黑白棋这个项目,充分认识到了自身的编程能力较弱的情况。也通过winter和同学的分析,获得了一些提升自己编程能力的方法。
计划
刻意练习:前端开发写业务逻辑比较多,缺乏复杂逻辑的编程练习,导致编程能力较弱。这一块只能花时间花精力,通过各种练习慢慢提升,所以在之后会加强编程能力的刻意练习。不把自己局限在前端开发里,希望能够获得其他的突破。
查缺补漏:编程能力仅仅是作为一个工程师的基本能力,前端的专业知识也同样重要,梳理完前端知识体系,计划按照知识体系一点点查缺补漏,增加自身知识的广度和深度。
希望和大家一起变得优秀!
【026-阶段总结1】学习收获
- 通过知识图谱了解到自身很多的知识盲点,同时也可以据此来进行自己的补充;
- 线下的方式的确是第一次参加,感觉还挺不错的,我自己本身比较喜欢沉默,但是只听的话也得到了很多解题的思路,之后思考问题也会从多个角度去对待;
- 虽然第二天的黑白棋我是在按照的思路来实现(同时也对比了老师的思路),但是明显感觉到有时候思路受阻或者说是思维不清晰,之后的方式可能通过刷题来锻炼一下,一段时间再看效果。
【001-阶段总结1】8月两天大课的感想
-
前端基础这部分,知识点众多,之前不知道该如何去梳理和掌握,比较苦恼。第一天老师说的一句话点醒了自己:当想不起来某个知识点的时候,去想它在图谱中的位置,然后想跟它相近的知识点的含义。
“如何对前端知识进行归纳和总结,并形成索引,让大脑能迅速定位所需知识点然后去参考对应文档,通过反复的去使用和查阅达到巩固记忆和理解的效果,从而打下扎实的基础”---这种学习方式真的很好的解决了我的疑问,其实学任何语言和框架都应该参考这样的方式. -
非常喜欢老师分享的“如何判断一个人是否晋升的标准”,我理解这个考核的**不止适用于淘宝,而是适用于每个人的职业生涯。值得思考
-
黑白棋项目,我收获最多有两点,第一是重构的力量,虽然winter老师是为了照顾大家的能力,一步步演示最终的代码,但是程序员在工作中也应该去这样做,复杂的需求很难一下写出最终的效果,需要不停的去一步步重构,才能完善自己的思路,减少bug
-
第二点是如何带领这么多人去一起coding,线下大课有六十多人,起点和理解力都不一样,那如何设计课程让大家都能跟上节奏?这里的很多点都可以供自己去参考。
小建议:最后一步我看大家都不太懂为什么要拆分pattern和game,老师可以再讲解一下这样拆的意义,有利于为后边线上课程的封装组件讲解打个基础。
【014-阶段总结1】收获、问题和计划
一、收获
1、首先我特别感谢自己可以遇到这么好的训练营,让我可以对于自己所从事的工作更全面的认识。
2、听老师讲学习方法和前端晋升阶段,对于自己今后的前端发展很有帮助。
二、问题
1、基础知识掌握的不牢、不全面
2、学习习惯差。自己学习比较懈怠,技术水平也一直处于初级阶段。
3、接触的前端工作,一直比较基础,没有复杂的逻辑和技术要求。
4、第二天跟着老师一起做黑白棋的项目,自己真的快要崩溃了。因为自己之前很少去写这样有逻辑的代码再加上自己的基础比较弱,所以开始就懵了。后来是慢慢跟着老师的代码一点一点写下来的。
三、计划
1、培养学习习惯。
2、建立自己的前端知识架构、查漏补缺。
3、刻意练习,选择The hard way。在学习上花费更多的时间。
4、虽然自己的基础比较差,自己会利用课下的时间多做一些练习,努力争取不掉队。
【052-阶段总结1】学习收获
经过了这一周多的学习,我学到了很多知识,同时也发现了自己的很多不足。本阶段总结如下:
1.前端基础知识不牢固,所以老师讲的一些东西没法快速反应,加以运用。
2.前端知识面理解的不透彻,接触的事物少,如同井底之蛙。
3.业余时间练习的少,导致遇到问题没有方法解决。
4.扩展思维极差,无法通过现象看本质,无法举一反三。
……
希望自己能参考老师的思维方法总结出一天适合自己的前端之路,也希望自己能查缺补漏跟上大家的脚步,别托后腿。
【033-阶段总结1】关于黑白棋项目学习的总结
关于前端
1、如何成为合格的前端开发工程师?
我以前觉得前端的技术大牛就是各种前端框架都会用,在前端编程的过程中熟练使用各种编程技巧熟悉前端领域出现各种的新技术...这也曾是我努力学习的方向。
掌握这些可以说是一名前端开发工程师了,但优秀的合格的前端开发工程师又该是怎么样的呢, winter老师说前端工程师应该具备基本的编程能力、架构能力、工程能力。 我觉得掌握了基本知识就是找到了很多盖房子的砖头,房子要想盖得好、盖得牢固那就需要架构能力和工程能力的支撑了。但是基础知识对于我们来说也很重要,如果连基本的知识都没有掌握,那后来的高楼大厦也就无从谈起了。
2、如何学习前端知识?
前端知识多而繁杂,平时我们在学习的过程中可能是用到了就去网上查下资料了解一下,也就是是仅此而已,只是停留在知识点的掌握。
知识虽然很多,但是也不是无迹可寻,winter老师带领我们建立完善的前端知识图谱, 我们可以依据前端知识图谱发现我们知识的盲区,可以有针对性的补充自己的不足。构建完善的知识图谱就是了解前端的知识脉络,可以帮助我们快速定位知识所属的范围,这无疑会给我们的学习带来很多的好处。比单纯的记住某一个知识点要好太多。
3、 如何进行前端职业规划?
前端开发工程师已经成为研发体系中的重要岗位之一。未来前端行业的发展也会越来越好。进行职业规划可以让我们的工作有一个目标,在工作的过程中不断的提高专业技能,提升业务水准。可以让我们在前端的道路上走的更稳。
我们都应该对自己的职业发展负责,在职业发展的过程中成长、成就、晋升是相辅相成的。在工作的过程中能够提升技能,解决工作中遇到的问题就能获得更多成就,获得的成就又会对我们的晋升提供了实际的依据。晋升后就会遇到很多其他的问题,解决问题的过程就是我们成长的过程,这就在我们的职业发展的过程中形成了一个良性循环。
4、如何提高编程能力?
正如老师说的,前端工程师首先是工程师。工程师应该具备编程的能力。老师带领我们从零开始完成黑白棋项目, 从简单到复杂,项目开始画棋盘、加事件、1个方向吃子、8个方向吃子...一步一步完善项目,到最后的抽象封装。
这正是我们需要学习的解决问题的思路, 把复杂的问题简单化,解决一个个简单的问题,最后完美的解决整个大问题。关于老师在解决问题时的思路和方法。老师在回答怎样提高编程能力的问题时说"无他唯手熟尔"。 这也正是我们所欠缺的,就是通过大量的、刻意的练习来提高我们的编程能力。
5、 目标
说了一些问题大都很空、很大,可能不太实际,定个目标吧。
除工作时间外每天学习1小时:
(1)、按知识图谱对知识查漏补缺(重学前端)
(2)、做算法题,提高思维能力(数据结构和算法)
示例:【003-阶段总结1】关于黑白棋开发一些新的理解
标题格式:【学号后三位+阶段总结1】(如果是阶段总结2就是阶段总结2,以此类推)+文章标题
正文部分,字数不限。
【023-阶段总结1】黑白棋项目总结
一、
好久没写这类复杂逻辑的 case 了,感觉自己编程能力下降了不少,早上开始写棋盘逻辑的时候,甚至连 createElement 都不知道要怎么用了,由于工作中天天使用 vue 框架,早已把原生 API 忘的一干二净,这是我觉得自己退步的原因,往后我会按照 winter 老师的指示,好好梳理前端知识体系,把落下的东西再捡回来。
二、
早上一直都很兴奋,因为终于可以跟着老师写黑白棋这个我比较喜欢的项目了,觉得能锻炼自己解决复杂问题的能力。期间发现很多小伙伴的技术都很好,当我还再做当前步骤的时候,他们已经开始做下一步骤了。在这种情况下我心里并不着急,因为我能跟上老师的进度,在课程期间我认真理解每一段逻辑,写好注释,要把前期基础打扎实了。因为对黑白棋逻辑不是太了解,所以只能跟着老师的代码走,然后再仔细分析理解其中的逻辑,倒是还能够跟得上。
三、
黑白棋有八个方向,从鼠标点击的地方开始要往这几个方向去找子,我当时对此没有更好的解法,能想到的就是把找的逻辑改改再循环八次,是很笨的办法,当老师提到矢量(向量)
这个概念并且把找子的方向当做矢量来设计,给我的感觉是发现了一条新大陆,我对这种设计**大概理解七八成,后续我会好好把这一个地方再写一遍理解一遍,争取内化到自己的知识体系中。
四、
要加强 debug 能力,因为在看老师调试问题的时候,我是一脸懵的状态,但是看着老师就在那打打断点调试几下就发现问题所在并马上解决了,我是自愧不如,得好好巩固这块技能。
五、
我终于知道一个复杂的项目是如何一步一步编写、封装、优化的了,非常感谢 winter 老师教给我们这么干的知识,这是工作中接触不到的东西。后续我会试着写一个五子棋项目,按照所学的这种思路和流程来写,目的在于提升编程能力。
六、
虽然这次参加线下课程只有短短两天时间,但是让我感受到了来自集体的温暖,winter 老师、班主任和助教都非常负责任。我们二组的组员们都很棒,在梳理前端知识体系的时候都积极地找资料,积极地参与......我很享受这种感觉,小伙伴们推荐我当学习委员,组长还帮我拉票,真的太爱你们啦,O(∩_∩)O哈哈~。希望我们通过这三个月的时间都能够有所收获,有所成长。
【008-阶段总结1】学习总结
收获
之前是做后端运维的,所以对这块的知识一直是一个灾区,听了老师的相关分享以及老师的知识图谱后感觉自己有的放矢,同时也学习到了类似脑图的方式其实也可以很好的帮助我梳理其他领域的知识。
对老师的说的关于知识的学习需要自己去求证,最好是能够落实到提出者和官方文档出处,这种对知识的严谨态度值的学习。老师对职业生涯的指导也学习到了如何工作中的问题如何处理变成个人实践与公司利益统一的方法,很值的思考。
黑白棋项目的收获
感受到自己对编程能力的确实存在很大的欠缺,主要表现在想法与最后落实到代码层次这个关节存在严重的脱节。对于一些开发过程中的**需要多去打磨、总结、思考。
同时发现有很多的代码技巧以及注意点需要在平时的联系过程中不断的总结与学习。
行动
自己线下第一次作业也是写了第二次按照老师讲解的思路将代码再写一遍,同时根据老师理出来前端知识进行系统的学习。每节课提前预习一下老师要讲的内容保持不掉队。
【058-阶段总结1】关于黑白棋与两天学习的反思
黑白棋实现步骤:
1)用一个二维数组的数据结构来,描述棋盘,用value来表示落子, 简历html结构。
2)挺假布局,棋盘,棋子,样式。
3)向右水平吃子,单个方向的 吃子算法。
4)用向量的方式,增加8个方向的 吃子算法。
5)增加判断isPass方法,判断下一步,该谁落子。
6)抽象,View 和 Game类
抽象,View,Game 和 Pattern类。
(抽象描述:视图类 与 棋盘类分离 , 想想两个人下棋,棋盘并不知道,下一个该谁走,而下棋的人知道。 有分离 出 Pattern类 )
7)用数组列表的方法,增加悔棋功能。
反思:
winter 老师把大问题,拆解成一个个小问题,由浅入深,引导我们,最终大家都能解决大问题。对我来说是一次巨大的挑战,从中体会到了,思考的过程,并能把思考落实到手头上。给人豁然开朗的体验。
这几个步骤,非常值得人深思,往往在复杂需求面前,无从下手。而这次练习,让我有种想要挑战复杂问题的激动, 从html入手,再到布局,在到交互/逻辑,最后一个一个功能的迭代,最后在进行抽象封装。
反思不足:
在这个过程种,我也发现了很多自己能力较差的部分,如果 **->代码,这个转化,需要今后加强的地方。
构建自己的知识树:
还有第一天老师的给我们分享了,知识整理法,决心一定要花时间的把自己的知识树建立起来,然后,在把知识树点亮。
团结合作:
第一天的任务,整理知识树没有,分工合作,在规定的时间内是无法完成的,在这个过程中,小伙伴们体会了,交流讨论,交换**,分工合作,锻炼了,沟通与交流能力。### ###
【018-阶段总结1】两天的学习感受
学习总结:
1.以前听说过大神winter老师,这次就是冲着winter老师来学前端的,第一次学习黑白棋开发,这种小游戏对逻辑思维要求很高,一开始云里雾里通过老师的点拨才大体理解了
2.通过两天的学习,感觉不同于其他培训机构只是教一些效果或者各种框架的使用,winter老师教的是内功心法,以不变应万变
3.分组学习方法挺好的,组长以身作则都督促我们学习,感觉每个组都有很多高手,需要加倍努力向他们看齐
4.老师的脑图的方法需要自己通过扎实的基础知识和大项目的实践,最后形成自己的脑图
【020-阶段总结1】黑白棋项目后的思考
收获
两天的线下课收获颇丰,不仅仅是代码能力,做人做事都有一些感悟。不仅仅是winter的分享,同学们的交流,甚至还有课间放的大牛们的关于10年的视频,都让我有一种醍醐灌顶的感觉。
- 学习是痛苦的,越痛苦,越深刻。
- 工程是逐步演化来的,心急吃不了热豆腐。
- 工作中要把目标量化,论点论据论证。tab滑动切换可以带来3倍的点击量
- 没有武林秘籍,功夫是练出来的。胖子光有减肥指南每天看是减不了肥的。
- 知识体系很重要,有了框架就可以往里填肉了。
- 最适合的架构就是最好的,架构是一步步演进过来的
行动
- 合理安排自己的学习。虽然每天我都刻意给自己留时间学习,但是都是零碎的知识点。现在回想起来,就像是没头苍蝇。梳理自己的知识体系非常重要,让点连成线,线动成面。这不是段时间可以完成的目标,坚持才是胜利。
- 黑白棋项目在winter之前的线上分享时,我就开始沿着自己的思路去做。妄想一步到位,结果当发现后面的需求在不断地涌进来的时候就蒙蔽了,然后开始不断地推翻重写。但是当winter说明他的思路并展示他的代码的时候,只能暗自感叹,妙哉。之后做任何项目都要缕清思路,一步一步的踏实的去做,切忌急躁。
- 初入职场,公司内的氛围很融洽,但是从专业的角度上还差很多。很多决定都是拍脑袋决定,完全没有论据可言。之后可以想办法收集分析关键资料,帮助做更好的决策。
- 上学时候写代码就是靠的实操才能理解书本上晦涩难懂的知识。winter说的刻意练习,跟我的理解完全一致。不光要练习,还要刻意,把自己往绝路上逼,才能痛苦学习,有所长进。
总结
和优秀的人一起学习,加油!
【011-阶段总结1】关于知识架构和编程能力的学习总结
一、 前端进阶之路
Winter老师深入浅出地讲解前端的技能模型、职业规划等内容,让我明白了“You are the owner of your career”这句话背后的含义。前端成长,主要在两个方面,一部分是能力,一部分是知识。知识这块主要是一些标准和前端知识点;而能力包含了业务能力、工程能力、技术能力。其中业务能力就需要理解公司的核心目标,将目标转化指标,完成技术实施方案,最后进行结果评估。这块对我感触很深,对我以后的职业发展有很大帮助,
关于前端的学习方法,其中领域知识在实践中学习,重新建立前端知识体系,不断温习《重学前端》,构建完整的前端知识图谱,查漏补缺。这些知识点里面有顺序关系、组合关系、维度关系、分类关系,后续还要不断地总结与整理。另外,还要通过追溯法辅助学习,源头、标题和文档、大师等方式来刨根问底儿。
二、 黑白棋项目
通过第二天的黑白棋项目,让我深刻意识到编程能力的不足。棋盘的绘制,虽然自己实现了棋盘,但与老师的思路相比相差甚远,通过讲解不同思路,写出了更好的棋盘代码。
随后在吃子功能实现上,从一个方向到八个方向,自己的写得如此臃肿,封装也很垃圾。
老师讲解后,醍醐灌顶,最后用简洁的代码,更好的封装来实现吃子功能。最后整个项目抽象环节,心中赞叹不许,逻辑与表现分离,重新整理代码架构,还完成了回退的逻辑。Js功底、Debug能力、封装与抽象还需要不断地加强与巩固。
最后,感谢训练营的每一个人,能跟优秀的人一起学习,让我感到如此幸福!
【057-阶段总结1】
8月3日
前端知识体系
以前一直做Java后端支持,前端很少涉猎。总认为前端就是画画界面排排版。没什么技术难度,但是当我开始接触并深入学习后,才发现前端和后台一样。有自己完整的一套架构体系,难度丝毫不下余后台编程,需要掌握的技术更是多如繁星。
闭门造车永远是最笨的方法且效率低下的。在关键的时候我遇到了《极客大学》winter老师。帮我梳理了前端完整的知识图谱,并传授了如何学习的思路。同时和同学们的讨论加深了我对前端的兴趣和热情。
我发现我只掌握了前端的皮毛,还有太多的知识需要我去学习。话不多说,开始行动
8月4日
黑白棋
黑白棋的开发重点在与方法的抽取和封装。由于我的基础有些薄弱,以至于还未到重点我就有写跟不上进度。但是老师和助教们都有很热心的帮助我。最终我也完成了课程的内容。但也发现了我的不足,很多的js方法和css样式我都不知道。这是我目前需要重点加强的地方。
老师后面对方法的抽取和封装,更是给了我全新的认识。但在抽取和封装的**上,我患有加强练习,老师课上讲的抽取思路,我每个都得理解好久才能掌握。老师的建议是多练、多写。
---------------书山有路勤为径,学海无涯苦作舟
【042-阶段总结1】对于知识图谱与黑白棋项目的一些思考
收获
- 通过产出知识图谱,发现自己对于前端知识的整体架构以及知识点的把握还不够牢靠,有一定的盲区
- 认识到自我对业务需求分析不够透彻
- 对于问题的分析能力不够
- 对于问题抽象能力有一定的欠缺
改进
- 通过结合 winter 老师以及 4 组的知识图谱建立自己的知识图谱,并按照图谱查漏补缺,将前端知识系统化
- 通过可以刻意增强自我编程能力,在「简单需求及代码」基础上多多练习「让自己痛苦」的需求及代码
- 通过对业务核心的分析以及抽取提升自我对于需求或问题的分析、抽象、解决能力
- 学会逐步分析需求,在需求以及代码上进行迭代
022-阶段1总结 回想过往,重视现在,展望未来
回想过去
我入行软件行业的本心是学习计算机的底层原理,从cpu以及cpu与存储器,输入输出设备间的协同工作,再到操作系统的工作原理,再到运行在操作系统上的各种语言的运行。我要学习真技术。
工作后,发现根本接触不到这些,接触到的只是语言层面的运用,而且这个语言层面的琐碎知识点特别多,里面的各种规则也不少,工作内容就是记忆琐碎的知识点,熟悉各种规则,来提升工作效率。这离我的本心越来越远。
在业余我接触了极客时间,也买了一些课程,让我感觉,这才是要真正学习的东西,我从事的是前端,所以我看到极客大学有前端方面的课程,所以就买了,之前在极客时间买过前端的专栏,感觉虽然不是在讲计算机底层的原理,但是是这个语言底层的知识和语言的本质,最起码也算是靠底层了,我工作的时候,比较喜欢分析过程,而不是单纯的为了完成任务,而分析调试会耗费大量的时间,这导致给领导的印象就是效率低下,他们更喜欢那种重复劳动而不怎么思考的人,特别是熟练的重复工作。但当遇到bug时,他们往往花费很长的时间都找不出问题,而我往往能很快的分析定位问题,并解决。
极客大学两天的线下课程,让我进一步加深了我对前端整体知识体系的理解,而做游戏的过程中,我又找回了自己驾驭代码的感觉,感觉到了我做的游戏,这个游戏的规则是我来制定定并实现的,里面的每个细节都能掌控,这是在实现我的想法的一个过程,其实程序员本就该是这个样子,将自己的**用代码的方式体现出来,而不是工作中一直在调用别人的方法,而且周期紧,任务重,一旦看看别人方法的源码,就会被领导给予“注意效率”的友善提示,感觉自己对代码并没有充分的驾驭能力。
我想要研究底层方面的东西,但工作内容与我所要研究的东西大相径庭,而且是一些重复性的劳动,时间紧,任务重,消耗着大量的时间,能力没有任何提升,让我感觉很失望。
重视现在
这个黑白棋游戏,讲的那天,就我而言,没感觉有多难,我是当天早上才开始了解这个游戏的,对游戏的规则还不太熟悉,在听课的过程中一边熟悉规则,一边想着如何实现,当讲到八个方向落子的时候,我感觉这种方式很巧妙,当讲到checkPass时,我想到了,这个位置中如果可以落子,悬浮的时候可以给这个棋格一个高亮的显示,当讲到身份切换时,我想到了可以实现基础的AI,当讲到悔棋的时候,我想到了可以实现“撤销悔棋”,当然我的这些想法后面也都用代码都实现了,如果要做高级的AI,那我就得多下棋,形成自己的算法体系,并用代码体现出来,或者老师讲讲他的AI算法规则,在这个基础上思考,实现,以及进一步扩展完善。算是站在巨人的肩膀上吧。
这两天的收获还是很大的,后面完成作业的过程中也有不少收获,但是并没有感觉自己的编程能力和架构能力有多大的提升,至少没有达到我所想的那种程度,先用这段时间把前端的整体知识,以及开发必备技能做一个整体的掌握。
我现在的前端知识图谱还很稀疏,按老师的知识体系划分,我在每个主分支上,也衍生不出来多少东西,而且完备性很差,开发了快三年了,对前端知识知道的知识零星的一点半点。这让我很惭愧。需要努力完善。
展望未来
三个月的时间,可能带来质的提升,也可能只是另一个开始,期待后续课程有更大的收获和惊喜吧。
【必知】8.3-8.4线下大课课程表
8月3日 周六
上午
09:15-09:30 | 开营 |
09:30-10:30 | 教学 | 前端进阶之路讲解前端的技能模型、职业规划等内容
10:30-10:45 | 休息
10:45-12:00 | 教学 | 前端进阶之路讲解前端的学习方法:整理法和追溯法
12:00-14:00 | 午间休息
下午
14:00-15:00 | 教学 | 梳理前端知识体系讨论遇到过的面试题、不理解的概念等,开始第一次分组整理前端知识图谱
15:00-15:10 | 休息
15:10-16:10 | 教学 | 梳理前端知识体系:
- 各小组展示、讲解前端知识图谱,讲师点评;
- 根据上一节自己遇到的问题,讲师讲解知识图谱的完备性和合理性;
- 讲师讲解前端知识图谱
16:10-16:20 | 休息
16:20-17:20 | 教学 | 梳理前端知识体系
- 重新分组讨论,完善一张完整的前端知识图谱;
- 通过溯源法,进一步强化前端学习方法
17:20-17:30 | 休息
17:30-18:30 | 教学 | 总结总结前端进阶的学习方法,根据自己的知识图谱查漏补缺,将学习方法落地
18:30-18:50 | 晚间休息
18:50-19:20 | 小组讨论:优化学习计划、总结当天学习收获及难点
19:20-20:00 | 总结展示:小组代表进行总结发言
8月4日 周日
上午
09:30-10:30 | 教学 + 练习 | 黑白棋开发讲解课程设计思路、基本规则,绘制棋盘
10:30-10:45 | 休息
10:45-12:00 | 教学 + 练习 | 黑白棋开发——棋盘讲师点评绘制棋盘代码,讲解不同思路,引导写出更好的棋盘代码
12:00-14:00 | 午间休息
下午
14:00-15:00 | 教学 + 练习 | 黑白棋开发——吃子讲解吃子规则,完成一个方向的吃子
15:00-15:10 | 休息
15:10-16:10 | 教学 + 练习 | 黑白棋开发——吃子讲师点评吃子代码,完成八个方向的吃子
16:10-16:20 | 休息
16:20-17:20 | 教学 + 练习 | 黑白棋开发——抽象讲解逻辑和表现分离的**,引导整理代码架构;演示更多内容:Vue、React版本,回退等逻辑,展示AI版本等
17:20-17:30 | 休息
17:30-18:30 | 教学 | 总结总结提升编程能力所需要的知识和技能
18:30-18:50 | 晚间休息
18:50-19:20 | 小组讨论:优化学习计划、总结当天学习收获及难点
19:20-20:00 | 总结展示:小组代表进行总结发言
【035-阶段总结1】2天学习总结
【055-阶段总结1】个人的思考
首先我写了一年的业务代码,所以这个是我从工作开始遇到最难的demo
我惊讶于老师对于代码的熟悉程度,对调试工具的熟悉程度,也对自己菜的惊人表示很难接受
幸运是及时的发现了,也庆幸有好的老师,从整个过程代码抽象到类过程,老师一气呵成,最后一句对自己打气的话师傅领进门,修行在个人
不足
1.调试工具使用熟练的问题
2.缺少团队协作的意识
3.硬变成能力的欠缺
4.编程模式的认知于理解程度
近期量化目标
1.逐日前端知识体系架构图
2.逐日黑白棋项目代码的review
【013-阶段终结1】
从开始了解前端到做实际的上线项目,大大小小的项目也做了不少,自我感觉对前端这块知识还还算是了解不少。了解的知识大部分都是因为项目中遇到了问题或者用是用到了新的技术,不懂的不会的就去网上查资料(大多数情况是参考别人的代码),对于前端知识自己的感觉一直都是又多、又乱、又杂,不成体系。两天的线下大课收获很多,对于前端有了新的认识,新的理解,明确了今后的奋斗目标,感触比较深的是小组讨论整理前端知识图谱,整理过程中用到了老师分享的前端学习方法,整理法,追溯法。当一张相对完整的知识图谱整理出来,对照图谱,把自己所掌握的前端知识对号入座,哪里需要查漏补缺一目了然,重学前端真的很有必要!
对于个人的编程能力,一直都觉得很一般,黑白棋项目充分证明了自己编程能力确实挺菜,即使脑袋里有想法,但是把想法翻译成代码确不知道怎么下手,虽然最后一步一步跟跟着老师把代码写出来了,接下来就是要有意识的锻炼编程能力,每天留点时间,练习,练习,练习!
【034-阶段总结1】黑白棋开发个人领悟
【034-阶段总结1】黑白棋开发个人领悟
项目需求
- 使用原生js实现基础黑白棋AI对战效果
我对需求的解析和初步设计
解析需求
- 完成棋盘的绘制
- 实现黑白双方吃子的逻辑
我的初步设计
- 使用table表格绘制棋盘
- 每个td元素中放置一个隐藏button元素
- 根据棋盘开局规则在指定位置设置按钮(显示/隐藏)和颜色(黑色/白色)
- 通过对button 绑定onclick事件,并在回调函数中编写逻辑,通过设置相邻棋子颜色和显示规则,模拟吃子效果
- 使用vue控件通过数据变更去驱动dom进行更新
- 使用一维对象数组进行数据绑定
winner老师的架构
- 根据需求确定使用二维数组作为数据结构
- 使用最简单的div进行绘制棋盘和初始化开局棋子
- 实现一个方向的吃子规则
- 实现八个方向的交替吃子规则
- 将耦合在一起的视图和游戏逻辑分离
- 进一步抽象代码,封装成class
对比设计方案后我的领悟
- 棋盘的规则是8*8的阵列,优先使用二维数组更有效
- 原生js能实现就不要考虑使用框架
- 有时候“暴力”处理一些判断逻辑(例如:pass逻辑)可能更有效
- 牛逼的代码也是一步一步写出来的,一句话:多盘盘自己的历史lower代码,让他们看起来牛逼一点
- 出bug了要向winner老师学习,泰然自若,耐心去debug,bug终究会浮出水面
我接下来的小目标
- 将自己项目中的历史代码尝试封装成class
- 尝试将新的需求尽量使用简单化的思路去处理
- 参照资料梳理前端知识图谱,能做到快速定位问题属于前端的那一类型分类,节省沟通成本
- 编写一些小demo,开发些常用的小工具,例如开发个大数据树状图展示的组件
- 三人行必有我师,多和同学进行沟通和交流,获取一些新的知识和思路
【必知】整体课程及作业安排
整体课程概览
线下大课安排
线上学习安排
在前端训练营的 13 周学习周期内,除 5 天线下大课外,还有 10 周的线上学习。10 周线上学习中,包含 9 周线上直播教学+练习,1 周阶段分享+总结。
直播教学+练习安排
日期:8月11日、8月18日、8月25日、9月22日、9月28日、10月13日、10月20日、10月27日、11月3日
时间:14:00 - 18:00
形式:以“讲解 + 练习 + 实时code review”的形式,由 winter 进行讲解,学员在线实操练习,winter及助教实时对学员的代码进行 review 并给予指导。
阶段分享+总结安排
日期:9月1日
时间:14:00 - 18:00
形式:
- 小组阶段学习讨论与总结
- 学员代表分享
- 特邀嘉宾分享
- 小组专题作业
作业安排
前端训练营每周作业包含:代码作业、阶段总结、毕业总结、毕业设计、Review和点评。每周作业提交时间:每周日24:00前。
作业的提交规范请阅读本仓库的README(https://github.com/front-end-001/Front-end/blob/master/README.md)
1)代码作业:
前端训练营每周有整体教学进度,老师会根据教学进度计划本周需要完成的代码并带领你在直播课上进行练习。直播结束后,你需要将本周要求完成的代码上传到你自己的GitHub仓库,然后 Pull Request 到极客大学代码仓库。如果你没有参加当周的直播,需要自行观看录播视频,完成代码练习,并 Pull 到极客大学代码仓库。
2)阶段总结:
围绕本阶段的学习情况,提交一篇阶段性总结:
阶段总结 1:围绕「知识架构」、「编程能力」部分进行阶段性总结(Week 01)
阶段总结 2:围绕「组件开发」部分进行阶段性总结(Week 06)
阶段总结 3:围绕「前端实战」部分进行阶段性总结(Week 13)
此外,我们鼓励大家每周都进行学习总结,并将你的总结思考分享给大家。
3)毕业总结:
在毕业典礼前,围绕全周期学习情况,提交一篇阶段性总结。
4)毕业设计:
完成“有好货”页面的项目开发。
5)Review和点评:
提交总结后,我们鼓励你多去看看伙伴的总结和输出。因此你需要每周 review 和点评至少 5 位同学的总结。
【059-阶段总结1】多做的 20% 正是成长的 80%
仅仅是 day2 的一些引申思考。
工作三年了,正卡在晋升的边缘,但是手上的成绩、资本确实不多。平时也不少做事。一直在思考到底和其他人差在哪里。
昨天看到更优秀的同学,又想了想公司里水平比较高的老师,发现了他们确实有一些不同。
A 老师是公司里的技术专家,平时很少写业务代码,最近公司人手不够,他写了一个项目的一周里,做了三处基础设施的技术改进。
B 老师是公司里是我组长,每个 pr,不管自己写的还是 review 别人的,不管是业务还是技术改进,总是多想想代码结构有没有不合理的地方,哪里多写点性能会更好。
day2 的时候,我问组里的其他小伙伴,那些思路是怎么想到的。组里的同学说了不少,老师解释了不少,现在我记的最深的只是一个字:「练」。
我想就从每次写搬砖代码,多写 20% 开始吧。
80% 的代码是给公司的,20% 的代码是给自己的。多写的部分,其他人可能不愿意写,可能没想到能写,可能没能力写,但终究是你比别人强的。
现在多写几行,下个项目就能复用起来少些几行;代码能健壮一些,节省出一些修 bug 的时间;
今天多做做小改进,以后才能发现且有能力做大改进,有大成绩。
行文有些乱。希望自己和写业务代码写烦了的小伙伴们能在搬砖的时候,也顺带搬几块属于自己的砖。
【136 - 阶段总结 1】
0804 总结
前端学习方法
建立知识架构
学习前端可以先按照html css js 三个关键词 建立索引 画出自己的脑图。把零散的知识组织起来,帮助我们发现知识上的盲区。可以挑一个关键字 快速定位到它在脑图的位置,把一些相关的点讲出来,模拟面试。
追本溯源
mdn
黑白棋
绘制棋盘--水平吃子--8方向吃子--向量法--AI
理解从过程 -> 函数 -> 对象,逐步抽象的过程
理解数据与表现分离
【046-阶段总结1】
第一天收获
-
认识到职业规划对自身的重要性
-
在工作的过程中不能只局限于代码上,以前只是觉得把页面的上逻辑、业务搞好就可以,其实深入了解自身所在行业的业务对工作上也会有很大的提升
-
简历上要有能吸引人的亮点,面试的时候也不要过多的去纠结能不能把面试官的问题回答上来,要让面试官能看见对个人困难问题解决方式,不能一味在哪干瞪眼
-
通过整理知识图谱,能发现自身的不足,以前都是发现问题去查问题,从来没有想过整理和梳理出自己的一套知识体系,这样很容易造成学了后面的,忘了前面的
第一天总结、目标
-
通过老师的知识图谱,去逐渐的完成自己的图谱
-
还要多加巩固前端基础知识,对自己的一个目标就是能坚持看完js红皮书
第二天收获
很痛苦的一天,认知到自己的编程能力、**有多么糟糕
-
通过项目,学到完成一个功能,尤其是复杂的功能,要一步一步的去叠加
-
面向对象的**,以及抽离和封装方法
-
通过调试工具,快速的定位问题
第二天总结、目标
-
平时要多刷题,提升自己的编程能力和**
-
坚持刻意练习,多练习面向对象的**
-
把黑白棋的项目能通过自己熟悉的框架实现
【030-阶段总结1】前端知识体系和黑白棋项目总结
感悟:
1、自己参加工作也有五六年了,从刚开始的不知道该看些什么书籍内容,到看了很多内容,
但不成体系,心中没有全局。通过参加这次训练营,了解到了工作学习中要有沉淀和输出,
这句话对我触动很大,击中了我在能力提升方面的弱点。
2、知识图谱的构建,不只是前端知识可以这样,其他领域的内容也可以使用该方法。
3、自己工作中的前端代码基本上都是过程式的,通过黑白棋项目我大致的了解了怎么使用
面向对象的**写前端代码。
对自己的认知:
沉淀输出太少,以后需要多些一些技术博客。
知识体系不完整,可以根据老师教的方法,把工作中使用的技术都整理出一份知识体系出来。
行动:
CSS这方面内容,根据知识图谱,细致的看一下官方文档,基本已经完成,需要再巩固一下。
JS方面,计划三个月内读完<你所不知道的JS>,并整理出学习文档,目前已经在做了。
【041-阶段总结1】关于两天学习的总结
-
关于职业规划 & 面试
- 收获
- you are the owner of your career
- 成就在职业规划中的重要性
- 好的面试官是要让面试者展现出自己的能力,应该问一些有广度和深度的问题
- 不足及改进
- 自己在工作中完全没有做到上面这句话,觉得自己没有拿的出手的项目是没有找到好公司和好项目,其实是自己没有自我意识,不管在什么样的公司,想取得成就都需要自己去发现问题和解决问题
- 在以后的的工作中用如何取得成就来指导工作,多了解公司的业务而不只是了解需求,总结业务和工作中的痛点,想办法去解决
- 收获
-
关于前端知识
- 收获
- 学习了老师的知识图谱,最重要的是老师学习知识的方法,通过权威的网站及大牛等获取最权威的知识
- 不足及改进
- 之前学习前端的知识都是一些小的知识点,而且像w3c, MDN等网站也都是查一个小知识点,没有归纳总结过,脑子里面根本没有知识图谱的概念
- 先按自己的理解画一个前端的知识图谱,在结合老师和同学们的加以改进
- 注重画知识图谱的过程,而不是结果
- 收获
-
关于黑白棋编程能力
- 收获
- 通过一天的刻意练习学习了老师是如何把一个看似很难的问题,通过分析先从小的功能点落实到代码,在不断完善代码实现最终效果的过程
- 学习了老师利用工具查找问题的熟练度
- 不足及改进
- 不具备编程能力,遇到问题没有思路,缺少刻意练习
- 自己好多工具都不熟悉,工具的使用能力也很重要,可以提高写代码和查问题的效率
- 收获
-
其它
- 平时工作中缺少总结和输出,没有成长
- 最重要的是 行动 行动 行动!!!
- 收获优秀的伙伴,给自己学习的动力
希望自己走出舒适区,前端训练营只是一个非常好的开始!
[104-阶段总结]
学习总结有点多,放链接地址吧
《201908线下课总结》
【012-阶段总结1】第一阶段学习总结
线下第一天:
1.学习到一些绘制脑图的方法论
2.认识到自己的前端知识有哪些不足
3.学习到面试的一些知识
4.认识了很多小伙伴
线下第二天:
1.了解了黑白棋的规则
2.学会了黑白棋游戏的制作
3.发现了自己逻辑思维能力的不足
4.发现了自己dom操作知识的欠缺
5.了解了如何将代码一步步抽象化用类来实现
计划:
1.每周刷1-2题提高算法能力
2.根据知识图谱查漏补缺
3.学习dom知识
【032-阶段总结1】总结与计划
了解行业,确立发展目标
在报班之前我只知道大公司对工程师岗位有职级划分,但是对于每个等你都相对应的需要备具什么杨的技能,以及自己在行业里处于什么水平都没有太具体的认识,通过课程知道了我现阶段的职业发展目标“资深前端开发工程师”,然后距离这个目标我需要在提高自己的编程能力和架构能力。
黑白棋课程
黑白棋这个项目,老师从最普通的面相过程的代码入手一步一步实现黑白棋。最后通过抽象把代码编程面相对象的编程的方式。很多时候我们在真实的开发过程中写的大多数都是没有抽象的面相过程的代码,简单粗暴解决问题。但是这种代码写多了对我们的编程能力并没有什么提升,就需要像黑白棋项目一样优化自己编写的代码,让自己的代码变得接口,可复用。同时黑白棋项目也暴露了自己的另一个问题,编程能力太差。
改进与计划
两天的课程确立了自己的目标,有了目标才知道努力的方向,剩下来的就是通过学习缩小与目标的差距,达到自己的目标。
学习态度
学习是自己的事 意思就是要主动学习,任何人都不是学习这个事的推动者,应该只有我自己是。
编程能力
为了提高自己的编程能力,我计划在三个月时间刷100道leeCode题。自己一个做这个事还是挺难坚持的,所以我想号召小组同学一起刷题,互相鼓励坚持下去。
架构能力
架构能力是课程的主要教授目标,所以我觉得跟着老师的课程一步一步来就行。
【048-阶段总结1】8/3-8/4学习复盘
收获:
- 把个人目标和公司目标分开。不受公司沉浮的影响,专注个人知识体系和影响力的构建
- 从业务成就、项目成就、流程成就三个维度复盘自己的工作经历,确认自己在职业生涯中的位置和发展方向
- 跟着winter老师完备遍历了前端知识点构筑知识地图,看着地图上自己东一榔头西一锤子学到的板块,认识到自己的前端路还很漫长
- 用身体了解逻辑抽象的正确打开方式,体会到从零开始的开发思路,这是实例代码粘贴修改中体验不到的经验
不足:
- 本行不是前端开发,很少接触实际项目,学到的知识流于理论
- 之前的前端学习零碎分散,什么模块流行学习什么,有时连学完的知识如何运用都不清楚。
目标与行动:
- 看着前端知识图谱检视自己的知识体系,查缺补漏
- 尝试从零开发轮子,再和现有代码比较,锻炼思维
【054-阶段总结1】学习收获总结
1、对前端的行业方向有了更深入的了解,明确了努力的方向
2、学习了脑图在实际学习中的使用方法
3、了解了在面试当中遇到不同问题是应该以什么思路去解答
4、通过整理脑图的梳理发现了自己还有很多需要学习地方
5、黑白棋的学习过程中,老师通过每个功能点的代码落实以及后面不断的完善代码,在这个过程中对于这种封装的**收获很大。
6、知道了很多可以学习查询知识的网站,
【031-阶段总结1】you are the owner of your career
1、收获
Day 1
· 深刻了解了前端工程师的知识体系、职业规划与相关学习方式与面试技巧;
· 通过老师讲解与同学间相互的讨论,完善了自己知识体系;进一步缩小自己的知识盲区;
· 了解工作中如何快速提高自己,找寻业务痛点,you are the owner of your career.
Day 2
· 痛...并快乐着。
· 拿到需求与业务时应逐步分析,先缩小规模,一步步迭代与分析;
· 多培养自己的编程能力与四维,解决复杂问题的能力;
· 浏览器快速调试方法;
2、不足与计划
不足
· 没有将知识形成良好的体系,多为零散划分,即用即找,缺少系统化;
· 没有较好的能力解决复杂逻辑,编程能力欠缺;
计划
· 多练习,多总结;
· 知识形成体系;
004+阶段总结1
1、老师教的学习编程的方法论有较大体会,比如,学习一块知识先去了解他最原始是解决什么问题的,当时都有哪些牛人提供了先进的解决方法,从他们身上学习了解知识点的来源从根上解决问题,然后再去想怎么解决和实现可以更深刻的认识知识点
2、面试这块提供了很多很好的思路,譬如你学习到了某些知识,但是面试的时候可能答不上来,那可能说明你还是没有完全理解这些知识,深入的理解知识需要能够做到正确解答讲解出来,还有就是面试的时候,如果遇到不会写的题应该吧自己的思路都说出来,不要干瞪眼等着。这些思路都提供了非常好的面试经验。
3、下午在代码练习的工程当中,发现自己在一开始对黑白棋的理解以及设计思路从一开始就步入了思维误区,没有想好后期的吃子以及路径分析思路,所以导致画完棋盘以后不知道该如何下手,从何处解决。
4、经过2天的练习,深刻的认识到了自己的前端编程能力很弱,以后一定努力提高自己的代码能力,更深刻的去学习前端的基础知识。
【024-阶段总结1】确立方法和道路向目标进发
-
知识的全面:
前端的知识太杂太乱,这个问题与同学沟通后发现,不仅仅是自己有这个问题,大家好像都有如此的困扰存在。
第一天就有得到的答案,就是建立知识图谱。
这几天,我尝试用知识图谱整理webpack。慢慢发现不仅仅是在总结学习前端知识上有用,在其他领域都是有用的。
前端的知识特点就是杂乱、不系统。所以,学习的过程中需要将这些知识变成系统的知识图谱,然后在今后不断向其中加入自己不懂的知识细节,做到知识的全面。
-
自身的发展
"You" are the owner of your career.
平时,我们一直强调自身的成长是最重要的,但往往可能陷入一种误区,一直很努力,但收效甚微。
因为,一个"成长—>成就—>晋升”的闭环没有形成。可能知道自己需要成长,但是仅仅关注在了自己知识层的全面,以及能力的锻炼上,没有做成一些对公司有用或自己的成就来。
就好比,学生,一直在学,但是考试却考不好。演员一直在演戏增加自己的经验,却没有一个拿得出的作品。我们的世界,很多时候是只看结果,这虽然是一种无奈,但往往也是锻炼自己的一种有效途径。有量化的目标,自己的方向也更明确,中间的道路也更能清晰可见。
-
能力的培养
第二天的五子棋项目是一道坎。这种编程能力的培养形成,需要多练才行。从简单到复杂的过程,我们往往会忽视。如果让我完全没有参考的写这个程序,我可能一上来就写的比较复杂,不会""先写简单的只完成黑子,再到一个方向的实现,最后8个方向的实现"。这些都是经验和方法,也是一种能力,化繁为简的能力。
类的抽象 --- 之前自己通过公开课写过这个程序,也完成了类的提取,但还有有点面向过程的提取。老师的方法,有点像MVC的一种架构提取,将Pattern作为Model,Game是Controller, View显示。
这种方式提取类后,对后期增加功能就特别方便,只需要仔细考虑单独功能怎么实现即可,这样整个架构和思路就异常清晰。面向对象的**,需要刻意练习。以后写任何程序时,都要多考虑这一层。
-
愿景
两天线下课算是收获颇丰,明确了目标道路和方法,接下来就是踏踏实实做就好了。地基打好,再往上建就会快很多。
【007-阶段终结1】线下课总结
关于这次线下大课的收获
1、列一个知识图谱很重要,知识图谱能清晰的让自己知道,在一个知识体系内,自己知道什么不知道什么,能给自己明确的方向,能一点一点的补上。
2、关于开发的思考方法。以面向对象为基点进行思考,一步一步的往深处想,并且一步一步的去完善。
3、写一段代码,怎么开始,怎么进行并不是最重要的。最重要的是有着明确的主思路
4、其实代码写出来,然后进行一点一点的调试才是最真实的开发过程
【必知】毕业标准及奖学金
毕业标准
三个月课程结束后,我们会给毕业同学颁发极客邦背书、winter 签字的毕业证书,什么样的标准为毕业呢?
- 线下大课:出勤 4 天及以上
- 线上学习:出勤 7 次及以上
- 代码作业:全部提交
- 学习总结:阶段性总结全部提交、毕业总结提交
- 毕业设计:完成项目开发,评委组评分 60 分以上
毕业后即可获得毕业证书,并在未来一年内,获得两次极客大学的企业内推服务。
奖学金
优秀学员
优秀的学员不仅仅是完成了课程规定的内容,同时也能够在学习过程中积极输出,帮助和影响其他的伙伴。优秀学员将获得极客邦科技背书、winter 签名的“优秀学员”证书及 ¥1000 现金奖学金。
优秀学员标准:
- 线下大课:全勤
- 线上学习:全勤
- 代码作业:全部提交
- 毕业设计:完成项目开发,评委组评分 80 分以上
- 学习总结:完成所有阶段性总结及毕业总结,同时能够提交5篇及以上的周学习总结并主动将总结分享至班级微信群内
- 社群分享:课程期间在班级群内进行至少一次 20 分钟以上的社群分享
榜样学员
我们鼓励你跟你的同学进行更多的交流和沟通,输出自己的所学所得,力所能及的帮助伙伴解决在学习上出现的问题。课程结束后,我会发起班内提名,在优秀学员中,综合学员提名和讲师提名,评选两位榜样学员,额外获得极客邦科技背书、winter 签名的“榜样学员”证书及 ¥1000 现金奖学金。
优秀小组
我们鼓励每个学习小组有计划的自发进行线上、线下的学习活动,互相鼓励、一起进步。课程期间,我会为每个小组建立积分榜,将每个小组的出勤、作业提交、团建等通过积分榜体现出来学期结束后分数最高的小组,获得 ¥2000 团建基金。
积分规则:
积分项1:线下与线上出勤
线下大课每天每组的满分为 30 分,缺勤一人积分-2,旷课一人积分-4
线上直播每次出勤满分为 15 分,缺勤一人积分-1,旷课一人-2
积分项2:线下大课小组总结
每天线下大课后的小组讨论总结环节,由讲师选出一个最优秀的小组积分+10,第二名积分+5
积分项3:线上作业提交
每周提交作业积分+3/人
积分项4:输出与分享
课程期间小组成员在班内进行社群分享或直播分享,积分+10
积分项5:小组团建
课程期间小组每进行一次线下团建,积分+3,最多计5次
【038-阶段总结1】关于知识架构和编程能力的一些思考
#关于知识架构和编程能力的一些思考
一、知识架构和前端进阶
(一)通过第一天上午winter老师讲解的前端的职业发展,使我明白了今后的前端道路应该如何走。winter老师讲了前端的职业发展分为:成就、成长、晋升。成就主要分为业务成就、工程型成就、技术难题。今后应该怎样成长,通过winter老师的讲解,今后的成长中应该掌握整理法和追溯法。
(二)下午winter带我们构建了知识图谱,是上午老师讲到个人成长中追溯法重要体现。在今后的前端道路上,如果遇到不会的知识点,要学会定位到知识图谱中具体的知识点,从父级查找子级,才能够查阅资料解决问题。
二、黑白棋——编程能力
通过一天的黑白棋项目的编程能力训练,我深刻了解到自己在编程方面有很大的劣势。首先要学会了解业务逻辑,今天黑白棋项目没有提前了解规则,导致在编程时花费很多时间去理解业务规则;其次对于黑白棋项目来说,winter老师带我们由简入繁,比如黑白棋落子先从一个方向再延伸到八个方向的**,这对于我今后做项目来说是很好的方向;最后winter老师带我们进行代码封装,把逻辑和UI分离开来的方法,有些像MVC。
通过这两天的学习,我明确了自己今后的前端道路应该如何走,架构能力、编程能力的提高是必需的。期待接下来winter老师的授课内容。
You are the owner of your career!
【090-阶段总结1】
第一次体验组件化开发的过程,总结还未整理完先占个地。。。
【010-阶段总结01】不能只低头迈步,也要抬头看路!
认真看了组内其他同学的总结,感触很深,从15年开始入行,至今已经有将近5年的时间了,不同技术栈的项目做过很多,iOS\Android\Python\Web\逆向\测试,当老师说You are the owner of your career!这句话时我深以为然,这些年也是这么做的,但是践行的不够彻底,我曾盲目地以为做过很多项目,所有的技术都会用才是真的厉害,但其实不是的,尤其今年开始,应该说后知后觉了。从18年底iOS开发行情不好,到被抓壮丁开始做前端,我发现自己如果深挖某项技术,其实是非常立不住脚的,我迫切地想要改变,也需要快速而正确地提高自己,于是有了这次参加前端训练营的选择。
成长是需要有人指导的,更需要多和身边优秀的人沟通并获得反馈,这样才不至于在成长的道路上走弯路,winter老师说成功的路径其实很简单:
思考 -> 沉淀 -> 输出
周而复始,自己这三方面都需要反思,做项目遇到问题要思考背后的原理逻辑;写文章写博客可以沉淀并输出为什么不做呢?!应该说舒适区里待太久了。
通过线下两天的学习,对我帮助最大的是学到了学习如何学习的方法:
1.知识图谱,应对前端大而广的知识体系,如果抠细节那是十分耗时的,所以知识图谱是十分有用的,帮助自己查缺补漏,也能对各个知识如何相互辅助有个整体的认识
2.刻意练习,要多做难题,多写困难让自己痛苦的代码,这样从不会到熟练的过程,才能真正提高自己的能力
最后,希望自己未来三个月能够飞速成长,变成更好的自己!
立个小目标:
1.优质完成前端训练营的学习
2.补基础,《你不知道的JS》、《CSS世界》至少过一遍
【045-阶段总结1】第一阶段学习总结
第一天知识总结
1、来本次学习之前,我正处于迷茫之中,感觉发展遇到瓶颈,通过老师的讲解,自己应该向资深工程师进阶。同时工作要有自己的目标,不是单纯机械的‘拧螺丝’,也不是 单 纯的给老板产出,要有自己的收获,为自己的职业规划负责。--you are the owner of your career。
2、在职业发展中 ‘成长’、‘成就’和‘晋升’是三位一体,通过自己的学习获得成长,在通过将知识运用于实际业务中获得工作成就,通过积累工作成就获得晋升机会,晋升 后 获得更多的资源可以继续获得成长。
3、工作中要建立合理的工作步骤: 通过业务指标转化为技术指标,确立技术方案并进行小规模开发检验可行性,确定项目实施目标和参与人,在需要时及时向领导沟通获得 资 源支持,完成开发后及时跟进结果进行数据采集总结并对领导进行汇报。
4、通过学习,了解到前端技能模型:领域知识+前端知识+(编程能力+架构能力+工程能力)即在实践中学习、建立知识体系和刻意的练习。 --真正的能力是练出来的。
5、掌握了集中学习方法、 整理法(完备性)、追溯法。
6、经过与同学共同整理知识图谱,发现自己确实有很多不足,对于理论概念的缺失,导致自己在总结知识图谱时无法提供正确的分支节点,无法正确的为知识分类,在通过 与同学交流,winter老师的讲解后,对知识图谱有了一个完整的认知,后面会通过前面掌握的学习方法配合《重学前端》课程逐个补全。
第二天知识总结
1、通过一整天的学习,刚开始的代码堆砌完成业务到逐步抽象,逐步实现数据与表现分离。
2、从刚开始从绘制基本棋盘到完成单个方向的吃字,尚能独立完成,但是在如何吃8个方向上遇到的困难,刚开始使用的-1到1的双循环调用函数去处理难以调试,后来通过winter老师的讲解,发现通过for of+while循环可以在复用代码的同时便捷的获取运算结果。
3、在完成代码开发后,通过对代码进行分析,将代码拆分成棋盘+游戏+渲染三个部分,实现状态、行为、渲染的分离,一步一步具体到抽象的过程。
4、通过一天的学习,认识到自己需要对算法题进行刻意的练习,这样遇到题目后就不会出现思维短路,方法和步骤也能更丰富。
【043-阶段总结1】黑白棋项目
收获:
Day 1 老师系统地讲了学习了方法和路径
- 学到了构建知识图谱来形成自己的知识框架,同时可以查漏补缺。
- 了解了成就、成长、晋升三位一体的良性循环。
Day 2 通过黑白棋项目来练习解决问题和抽象思维的能力
- 通过将黑白棋这个大问题,一步步分解为可执行的小问题,一个个解决了
- 通过抽象思维,将不同功能分离,简化业务代码,同时提高了可扩展性和可复用性
还有认识到了自己的不足,以及很多优秀的同学,给了自己不少紧迫感
学习计划:
- 首先是跟上老师脚步,完成课程任务
- 平时尽力抽出时间,通过知识图谱和练手代码来查漏补缺
- 定期进行知识总结,一来加深记忆,二来可以分享
【040-阶段总结1】关于前端知识体系构建和黑白棋项目的总结
关于前端知识体系构建和黑白棋项目的总结
前端知识体系
winter老师组织大家查资料、绘制脑图,让我体会到了寻找知识、构建知识体系过程的重要性。我一开始觉得“知识体系”在MDN上都很全,现学现用不就够了吗?或者直接把winter老师总结的脑图拿过来看看不就行了吗?显然,我的这种想法是典型的“拿来主义”,总想拿现成的。“纸上得来终觉浅,绝知此事要躬行”,自己的知识体系和脑图还是需要自己来构建。只有自己通过查找资料、绘制脑图,才会发现自己哪方面的知识遗漏了或者没掌握,即便有些知识自己掌握了,也需要“温故”,通过不断的“温故”,就能不断完善、更正自己的知识体系。
黑白棋项目
黑白棋项目能够很好的锻炼编程能力和思维能力。winter老师后面将业务逻辑和UI抽离封装,也能够很好的锻炼业务逻辑的抽象和封装。编程能力和抽象封装能力,再加上后续要将的web组件化,都是我非常想学习和加强的内容。
【019-阶段总结1】全面与抽象
职业发展方面
- 在完成个人业务之外,应该多思考,如何让个人业务能够沉淀为公司”方法(套路)“,除完成自己业务外要多思考业务的”传承性“。
- 做事做全套,从发现问题,思考问题,解决问题,归纳问题,建立文档,这个完整的路径是工作与公司的宝贵财富,做事做完成不要偷懒。
学习方法方面
- 知识地图是自我知识结构化的过程,这个结构化是一种抽象过程,这个过程一定不是别人帮助自己完成的,一定是按照自己的思维抽象出属于自己的知识地图,并不断的填充完善自己的知识地图。
- 交流是知识内化的高效方式,通过和他人的交流能够梳理自己对知识认知的准确程度,快速的增删改查。
编程技能
- ES6,Js基础中有大量新兴的概念,这些概念有其出现的原因,熟悉这些概念出现的原因能够更好的解决问题。
- 解决问题的过程永远都不是一步就位的,而是不断抽离出那些共性的问题,来一点点的将其变为通用问题。
- 数据结构的敏感度对编程的帮助很大,比如二维数组定位作用。
【037-阶段总结1】【037-阶段总结2】【知识架构】&&【编程能力训练】
【037-阶段总结1】【知识架构】前端的进阶之路,知识图谱梳理
上课前
个人是一个.net开发者(当年前端好像就是控件拖拽),2010年前后没有发现巨大问题,当年理解前端就是美工,ui页面设计,用到的除了HTML,css,js,就只有jquery了。随着互联网的发展,才知道原来前端和后端区别这么大。。。前端和后端的扯皮这么多。。。
直到近年前端工程化的理念越来越广(得益于前端设备的性能提升,越来越多的工作可以推给前端),前端框架越来越多,才开始接触vue.js。一入前端深似海,发现原来前端可以做这么多事情。
由于学习路径是自学,所以知识是零散的,边查边用。小团队中也没有技能牛带领。
上课中
学习到了,前端工程师的进阶阶梯,阶梯的大致区分。也只有在互联网大厂才有如此明确的分隔。
由于没有参加过技术面试,所以第一次知道了技术面试的思路,想法。
再一次深入理解了,学习的方法论,看到了导图爱好者。
第一次全面了解了前端的基础知识架构。
上课后
还没来得及梳理自己的知识图谱,但是会根据老师讲的知识图谱,对相关知识做一下扫盲。
【037-阶段总结2】:编程能力训练--黑白棋
上课前
没有提前了解过黑白棋,没有设计开发过小游戏类的项目
上课中
由于没有提前预习黑白棋的基本规则,也没有下过黑白棋。所以懵的一天,还好脸皮不算薄,没有崩溃。
通过学习发现,黑白棋项目与工作中的业务逻辑最大区别是,可以无限复杂,也可以尽量简单,可以代码罗列,也可以不断重构代码,提高效率。
本次教学模式的选择,绝对是创新性的,是提高能力的。符合心理预期
与刚毕业的或准备找工作的同学不同,本次参加培训的很多同学前端技能已经很熟练了(除了我),大家在工作中或多或少都形成了自己的方法论,因此缺乏的不是知识点的灌输。而是业务能力的提高。
老师讲课程详细分解为了若干个小目标,带领大家一步一步演示,如果提高代码质量,增强复用性,增强代码可维护性。
过程是曲折的,云来云去的,结果是开心的。
上课后
前段时间买了本,《 重构 改善既有代码的设计》,没坚持看完。
通过学习,准备继续把这本书再读一读。
组件化的问题,要提前预习下了,否则后续还将继续崩溃。。。
目前有电商系统需求,期待有好货项目。。。
【两天】
通过两天的学习,都有点再去上个算法训练营了,可是咨询教研老师,说只能看线上课程了,线下开了三期了,再开概率不大。老师也只讲那一次,不会再讲了。
然后就行到了,前端训练营是不是开几期线下,也转线上了,会不会winter老师也只讲这一次。。。
哇塞,突然有种中彩票的感觉。报名要趁早。。。。
【025-阶段1总结】
1、知识图谱的搭建过程中发现自己懂得的知识点虽然不少,但都是零碎的,相互之间没有关联,很容易遗忘,winter老师带领我们搭建前端知识树是很有必要的,帮助我们将零碎的知识点互相关联起来,形成一个前端的知识体系,这样遇到问题也方便查找具体是哪一块的知识点,也有利于后续的学习补充,不容易遗忘。
2、面试的分析帮助也很大,有时候在面试过程对于面试题的思考和解题的思路可能比直接给出答案更有效,思维逻辑的展示有助于面试官更了解你在遇到困难时的思考以及解决问题的能力和方法。
3、黑白棋的项目由简入繁,不同的阶段对于代码不同的思考,封装的思维在一步一步跟着提升,八个方向的写法确实是个考验,向量的方法表示八个方向是一种优雅的写法。
4、小组总结时有个小伙伴说的很好,只要有重复劳动,就说明我们对功能和业务抽象的不够彻底,在工作中对于重复劳动我们需要有更深层的思考,如何去进行抽象,如何进行代码的架构,才能避免重复劳动提高工作效率。
5、小组的讨论是很有必要的,人与人思维的碰撞才能更容易擦出火花,分享交流有助于我们更快的进步,也有助于大家的相互学习。
【009-阶段总结1】收获感受未来
1、这两天的收获
8.3
领域知识:业务方向的提升,在实践中学习
提升能力(编程、架构、工程)
学习方法
—>脑图 (顺序关系,组合关系,纬度关系,分类)
—>追溯 (寻找源头、标准和文档、大师)
关于面试
面试题:寻找一些含概量广的面试题
题目类型
知识型问题 (面试者擅长类型)
开放性问题
案例性问题(算法、分析类,展现分析过程)
有趣的问题(例:为什么井盖是圆的?展现分析过程)
建立前端知识体系 —>整理自己的知识谱图
8.4
debug
封装** —> mvc
(一层才分->二层拆分->三层拆分 ->……)
存储棋盘的结构
向量表示方向
while(true)处理较复杂的循环问题
class中的知识盲区
还收获了一道疑惑很久的面试题更优答案
2、我的感受
整理下来其实收获还是有很多的,无论是知识点方面,还有认识一些优秀的朋友,也是比较有意思的事情,工作一年以来吧,都没有写过这种黑白棋的项目,但是感觉这种刻意练习还是很爽的。刻意练习对封装和debug的能力提高效果应该不错以后刻意继续加油。
3、未来计划
整理一份属于自己的知识谱图,不仅限于老师的知识谱图几个点
增加刻意练习次数
面试别人的时候多去挖掘别人擅长的地方
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.