当前位置: 首页 > Web前端 > HTML

菜鸟程序员的成长史--Github1000+投稿

时间:2023-04-02 17:50:29 HTML

微信关注mad_coder,获取更多精彩文章其实一直想写一篇总结这几年技术学习的文章,正好趁着自己第一次github贡献达到1000+,写一篇文章总结如下。这篇文章比较长,所以我会分成几个章节。博客文章为什么要把博客放在首位?因为我觉得博客是开发者学习技术的平台,是开发者分享知识的平台。博客几乎等同于开发者的名片。现在的博客平台五花八门,有老牌的博客园、CSDN,也有比较新潮的SegmentFault、掘金、开发者头条、知乎等等。现在博客已经发展成各种形式了,现在流行的像各种专栏之类的。当然,在这么多的博文中,有很多是高质量的文章,也有很多是假的垃圾文章。下面,我就我所接触到的这些博客平台,以我个人的理解来进行探讨,仅代表个人看法。Github哈哈。为什么我在博文中列出了Github?事实上,Github现在几乎已经成为我生活中不可或缺的一部分。我每天打开电脑做的一件事基本上就是打开Github。作为全球最大的同性交友网站,Github绝对是程序员生活中不可或缺的一部分。在这里,我主要说说Github作为一个博客。很多人认为Github只是一个代码托管地,为什么跟博客有关系呢?其实现在很多人都在Githubissues里开博客,因为issues方便了作者和读者之间的交流,而且支持markdown格式,各种功能也很丰富。对于比较关注的博客,可以设置一个watch,这样就可以知道issue的每一个变化,并且会有相应的邮件通知。在这里,我给几个我关注的几个人的Github博客:iCSS:ExplainingCSS,其中一些还挺有意思的。梁少峰个人博客:vue讲解的很透彻,百度大师,有些博文我觉得还是值得看的,值得多看几遍,但是好像没看完。他的博客仍然需要更深入地挖掘。ccforward/cc:应该是一开始关注他的知乎爬虫。他的博客内容我没有看太多,但是内容好像还不错。underscore-analysis:分析underscroe的源码,比较不错。看过一两篇文章,值得多读几篇。我应该自己读。Front-end-tutorial:内容比较多,了解的不多,可以多多学习。以上是我所知道的Github上的一些博客。因为我在Github上不是特别关注这方面,所以也不是很多。当然,Github并不是我主要看博客的地方。CSDNCSDN是我开始个人技术博客的地方。有兴趣的可以去我的博客http://blog.csdn.net/neal1991。应该是2015年4月开始写博客的,博客内容主要是研究生期间做的一些关于道路识别的研究论文。虽然这个方向没有被追求,但是这个方向确实很有前途。只能说老板很有眼光,只是我没有这个本事。其他的还有开发过程中遇到的一些坑,面试经验,技术文章的翻译等。说实话CSDN现在确实不是一个很好的平台,因为太老了,在markdown里面展示的不是很完善,在移动端展示也不是很好。还有很重要的一点就是广告那么多,还是莫名其妙。看起来很恶心。其实一直想弃坑的,但是github国内访问速度不稳定,毕竟在这里维护了这么久,所以还是维护了。在CSDN上,我基本都是写博客,基本不在上面浏览技术博客,因为它的浏览界面太乱,没有重点。这可能也是老式博客的一个缺点,可能一时半会儿也改不了了。下面我主要说说我自己的一些稍微有点用的博客内容:Combox系列问题集:我在做winform开发时遇到的问题。我记得最坑爹的是调试组合框的时候。是有道翻译的错,他也是醉了。..独立成分分析:这应该是讨论课上的演示文稿。整理了一下内容,写了这篇博文。阅读量快2000了,好像是我博客里阅读量最大的了。如何找到django的安装路径:一个很简单的问题,但是我找遍了也没有找到解决办法。mongoose对象不能增删属性:在处理mongo时遇到的一个问题,是个坑。第一个chrome扩展:这是我第一次写chrome扩展。没有想象中那么复杂,但是方法还是有的。360好像翻译了谷歌相关的文档。说实话,谷歌真的很良心,现在很多开发者文档都已经是中文了。第一个pwa:第一次写渐进式web应用。其实写pwa和写其他单页应用并没有太大区别。Pwa也是我看的非常多的一个技术栈。我觉得这比小程序好一百倍,但在国内还是不温不火,但我觉得总有一天会星火燎原,可以燎原。鉴于CSDN的各种平台,我确实是越来越不愿意在上面写文章了。而我最近的文章一直都是以翻译国外的技术文章为主。毕竟还是菜,只能靠英语吃饭了。掘金老实说,掘金应该是同类网站中访问量最大的了。确实里面有很多优质的内容,当然也会夹杂很多乱七八糟的东西。其实大部分原创博主并不是只在一个平台发文章,所以基本上你能看到的在这个平台上,你几乎可以在其他平台上看到它。只是我现在基本不看掘金,因为他们的编辑对新人极其不友好,极其不友好。众成翻译360是一个翻译技术博客平台,目前应该比较小众。360的前端其实还是很不错的,尤其是他们的奇舞队,也有不少大牛。这个平台一半的文章质量都比较高,而且这个平台的翻译操作也比较舒服,有兴趣的可以试试。而且他们的小组沟通非常顺畅,不像掘金队。..无力抱怨。知乎我自己一直很排斥知乎。说实话,知乎里80%的人都在写故事,骗人眼球。不明白为什么知乎上每天都挤满了无所事事的人。当然不可否认知乎还有20%的优质内容,这也是我能容忍剩下80%垃圾的原因。我觉得知乎里的答案意义不大。读完后,我只是微笑。它们一般用于刷新三个视图。在这里,我只讲一些技术栏目:你饿了吗?前端:你现在饿了吗前端真的很火,尤其是pwa。我觉得他们是中国这方面最成熟的公司。可能不是,但他们肯定是在这方面分享最多的公司。你饿了吗?前端挺大的,不过感觉都喜欢混国外的圈子。黄轩基本上都是在媒体上发表文章。..熊的全栈之路:这应该是一个infoq专栏。本小编每周都会发一篇国内外最新技术的文章合集,基本以前端为主。内容比较新,基本上最时髦的都在这里了。ThinkInVue:顾名思义,Vue现在在国内真的很流行。太流行了,我觉得用react的撕逼比用vue更好。vue的作者游雨溪在知乎上也很活跃。手喷vue的人他经常撕。看阮一风的日常喷也很有意思。阮老师也是一个很有趣的人。感觉天天有人骂他,但阮老师的心态丝毫没有受影响,很有大师风范。不过值得一提的是,阮老师博客的广告位很有价值~~美团点评科技博客:也算是大厂了,值得一看。知乎乱了,前端乱了,如何在乱中取胜,就是保持一颗平常心。开发者今日头条是一个不温不火的平台,文章质量还不错。我通常发一篇文章,我也会发一份这个。感觉里面的内容更多是关于机器学习和架构的,而且这篇文章可以存IO币,可以换书。Medium是国外的博客平台,访问需要翻墙。这是一个专门写故事的异域之地。样式非常漂亮。应该算是国外非常知名的博客平台了。当然里面的内容也是丰富多彩,里面有很多优质的技术文章。现在国内技术圈翻译的大部分文章基本都出自这个平台。Quora是一个类似于知乎的国外网站。但是,知乎凭借国内人数优势,非常受欢迎。Quora不温不火,上面有很多中文。关注了一段时间,好像没什么特别的。以上就是我对一些博客平台的基本了解,可能不是全部,但基本上是我自己的亲身经历。有些话可能很激烈,但都是发自内心的。微信公众号微信公众号作为一个特殊的平台,现在也变成了一个传播渠道,有点类似于订阅报纸的形式。但这未必是一种非常有效的沟通方式,深度还是不够。我更喜欢在电脑上看文章,因为在手机上看文章很难持续专注于一篇有内容的文章。一点味道就够了。所以我一般都是把链接转到我的微信PC版,然后用浏览器打开。下面是我比较关心的一些技术类,其实应该和之前的知乎专栏有重叠。奇物周刊:360奇物团队,前面说了,国内知名的前端团队,都会有一些有价值的文章。前端早读课:每天早上发推文,但是文章质量参差不齐,基本都是别人写的文章。FEX:百度FEX团队收集最新的技术文章,但排版比较简陋、原始。神秘程序员:会有一些脑洞大开的漫画,会有程序员、产品经理、架构师的故事,非常有趣。Github为什么我要把Github作为一个单独的章节来讲?因为它太重要了!!!以至于我不想尝试除它之外的其他类似平台。Github可以说的太多了,它带给程序员的是无穷的魅力。在这里,我只从几个方面说说我个人的理解:明星文章明星是衡量一个开源项目受欢迎程度的重要标准之一(当然也有不少坑爹的明星)。其实很多人看到一个项目都会去star,当然以后会不会关注就不一定了。曾经有段时间我对星星很着迷(其实我现在还是很着迷),希望有人能每天给我的项目一个star,看到别人几千个star我就超级羡慕。但我也能深刻体会到做一个开源项目的不易。开发人员有一个想法,但要实现它,推广它,改进它,往往是很简单的。真的很难,会有各种各样的人问你各种各样的问题,对你提出各种各样的要求,很痛苦。但我还是希望有一天自己能成为一名优秀的开源项目开发者。接下来我挑几个我的明星项目说一下:prepack:前几天前端圈最火的技术,编译优化,facebook永远走在潮流的末尾。sw-precache&sw-toolbox:谷歌关于pwa的相关工具,值得关注。chrome-remote-interface:小师妹给我介绍了一个叫做headlessChrome的工具。该文档读起来很痛苦,可以编码,尽管您不一定会阅读它。hammer.js:一个移动端的手势库,据说很好用,但是我没用过。..snarkdown:一个超轻量级的markdown库,值得编码,尽管你不一定会读它。guetzli:谷歌爸爸推出的一款图片压缩工具,听说很强大。node-interview:饿了么的面试指南针。一时间,Github上的trends排名前十,有6个项目是中国人的。可想而知现在有多少中国人在Github混。thinkjs:360团队的一个node.js框架,比较小众,面向企业级应用,没有深入了解。webpack中文文档:webpack-china的文档翻译,哈哈,我也是翻译者之一。vue:这个我就不介绍了。leetcode-viewer:关于leetcode主题的博客。这个博主很给力,好像还没毕业。offershow:offer曝光平台,校招可以关注,现在有小程序。纱线:我真的不再使用npm了吗?..electron:可以用前端写跨平台的应用,一直想写一个。phantomjs:一个headlesswebkit,主要用于抓取和测试。但似乎没有维护者了。前段时间,两位维护者中的一位宣布不再继续维护。感之,服枣丸。echarts:百度出品,简单易用。reveal.js:永远不要用ppt制作前端滑块。react:和vue一样,刚发现我盯着看的很早,但是没有用。以上是我挑出来讲的一部分。Github中优秀的项目层出不穷,值得学习的东西也很多,但有时也会迷茫,不知道从哪一个入手。Myrepositories的重点就在这里,下面是我自己的Github。里面几乎就是我平时的项目demo,下面一一介绍。articles-translator这是我Github上star最多的项目,也是我现在维护最多的项目。这个仓库主要是翻译一些国外优秀的博客,里面的文章质量基本都比较高。内容目前主要集中在前端,非常值得一看。Latext专业参考这篇长文是关于latex的,目前还没有完结。想学latex的可以看看。其他文章基本上都是关于js或者progressivewebapplication的。pwa-manifest-generator这是一个webpack插件。它始于基于VueJS、Webpack和MaterialDesign的渐进式Web应用程序[第1部分]。因为本教程使用了一个pwa-manifest-webpack-plugin插件,但是这个插件有点蛋疼,因为它使用了一个特别蛋疼的包lwip。其实它只是用到了lwip的几个功能,但是这个lwip需要的依赖比较多,在windows平台上安装总是有问题。后来想自己写一个webpack插件。我的插件应该和刚才的差不多,只是我用的是另外一个包jimp。这个包依赖比较少,所以用之前的插件没有问题。这是我的第一个npm包。发布一个npm包确实比较简单。要确定合适的package.json,只需执行npmpublish。同时,这个项目也加入了TravisCI,非常酷。pwa我的第一个pwa,一个天气应用。您可以添加多个城市,因为您使用的是Yahoo的API,它需要一个woeid。我还写了一个爬虫小项目woeid-parser来爬取woeid。但是后来发现这个API不是很准确,所以这个项目已经放弃维护了。subway-shanghai因为平时喜欢看地铁图,所以觉得用pwa做上海地铁图很方便,离线也可以用。这个pwa的部分内容借鉴了搜狗图,但是动态生成SVG,对我的pwa来说太贵了。所以我在html中包含svg地图,并通过离线缓存它,网络请求也减少了。这个pwa还可以支持缩放显示站点的第一个和最后一个时间表。如果您有兴趣,可以使用此链接。强烈推荐通过chrome浏览器使用,也可以添加到桌面。graduation的仓库其实就是我的毕业论文,还是私有的。毕业后,这个仓库应该公开。说实话,我这次真的是装大佬了。我在用latex写这篇论文的时候遇到了很多坑。最后还是得转成word查重。真是折腾了。不过,我还是在这个过程中积累了一些东西。用latex写论文真是方便又良心。如果我会用latex,我绝对不会用word。排版差异太大。ife-ecnu百度前端学院课程的部分任务。不完整,项目页面太丑了,一直想抽空重写。.my-first-blog是我以前做的个人主页,免费托管在Pythonanywhere上。这个网站非常良心,专门托管pythonweb应用程序。但是,我的大部分项目基本上都是静态页面,都是用Django搭建的。一直在考虑要不要收录我的个人博客,但是域名好像不太好用,自定义域名需要升级成付费包。front-end-interview-process个人面试题集,主要是前端。但是在我们学校招聘面试的过程中,我发现面试的内容并不一定局限于前端,所以里面有一些杂七杂八的东西。特别希望有人能一起参与维护。latex-ppt用latex做了几张幻灯片,里面有我们学校的模板,主要是我的论文答辩用的,还有一些期中答辩用的幻灯片。Latex做的东西比较简单,但是有时候感觉画质好像有点问题,可能是主题不是特别好。code-recognition本来需要给爬虫项目做一个验证码识别,后来做了一个小demo写了一篇文章介绍一下。主要是使用image-magick和tesseract-orc。步骤挺简单的,但是因为验证码比较简单,识别起来基本没有问题。reading-notes感觉看东西一定要有输出,不然感觉很快就忘记了。所以我想在这个githubissue中维护一些阅读笔记。目前不多,希望以后能继续坚持。以上是我的Github中一些最值得一提的存储库。事实上,在闪光和打火石之间,经常会有一些电子蹦出来,然后被创造出来,然后又消失了。所以做一个开源项目的开发者是非常难的,因为作为一个开发者维护自己的repository不一定有恒久的毅力,所以我真的很佩服那些把个人项目做的有声有色的人。工欲善其事,必先利其器。对于开发者来说,工具(设备)的重要性不言而喻。每个人都有自己喜欢的工具。我认为不应该有太多的工具,因为你将无法使用太多的工具。只需使用您习惯的东西即可。工具包括很多范围,不仅仅是你的电脑,或者软件,甚至一些软技能:包括沟通(撕)沟通(力)的技巧,笔记,如何传递你的想法等等。接下来说一下工具的内容。MAC还是Windows关于MAC和Windows的争论一直在喋喋不休,不亚于你应该使用tab还是space,或者使用vim还是emacs。我说说我的一些感受。近年来,Mac确实被越来越多的人使用,甚至有很多非开发人员使用Mac。事实上,一些在Mac上安装windows系统的人一直抱怨Mac系统太难用了。..既然不想深究,就不要用。其实你基本都熟悉了,也基本能掌握Mac的优点了。Mac因为与Unix系统的关系,一直受到开发者的青睐。Mac在开发上确实有很大的优势。比如我现在windows经常遇到node-gyp相关的npm包,需要安装巨无霸VS,真是蛋疼。而且现在Mac上的应用程序越来越多,基本上Windows上的Mac都会有。就我原来的体验而言,我在Mac上开发没有遇到任何问题。但是有一个问题,当我在Mac上运行我的matlab代码时,速度非常慢,甚至比我实验室那台坏掉的电脑还慢。不知道是不是因为我的Mac版本太旧了。总的来说,无论是Mac还是Windows,对于开发者来说,都没有特别大的争议,更谈不上优缺点。不过现在微软老爸好像也在逐渐发力,觉得windows的跨平台性会越来越好。不过有钱的话还是可以试试Mac的!IDE或编辑器是程序员之间的另一个大争论。我不讨论争议,只讨论各自的特点。老实说,我的IDE不多,用得最多的是visualstudio或者Jetbrains。我在这里强烈推荐Jetbrains的全家桶。它的IDE确实不错,比如ItelliJIDEA,好像大部分JAVA开发者都在用。唯一的缺点就是比较占内存,因为它好像存放了很多索引等丰富的功能。其他的,比如Pycharm或者Clion,它们的软件都有一个特点,就是各个IDE都差不多,所以用起来比较方便。至于Editor,我用的比较多的是sublime和visualstudiocode。实习的时候,哥们比较喜欢用sublime,而我公司的电脑小偷都是垃圾,所以用sublime比较多。对于小编来说,掌握一定的快捷键和添加一定的插件几乎是一样的。其实vs和sublime看起来很像。在微软的推动下,vs现在发展得相当火热,其插件行业发展非常迅速。至于Atom,我没用过。和vs一样,都是用electron开发的,但是听说在性能方面有些问题。机械键盘机械键盘之于程序员,就像包之于女人。是一生不可阻挡的追求。说实话,我对机械键盘了解不多,也不打算花太多时间在上面,但我觉得程序员选择一款方便的机械键盘更重要。我的第一台机械键盘是ikbd的87键棕轴,用起来还可以,性价比高。同样的性价比,好像MagicDuck也可以。后来趁着京东活动,买了filco的绿轴,很爽。但是有时候会觉得青轴用久了有点累,打字有点累。其实HKBC应该属于电容键盘。有经验的同事,摸起来软软的,但感觉不多。Chrome插件Chrome浏览器应该是这辈子最喜欢的浏览器了,没有之一。讲道理,谷歌出品的产品基本上都是很良心的,目前谷歌的很多开发者文档都已经是中文了。Chrome插件对个人和开发者都有很大的帮助,可以大大提高效率。介绍几个我用的比较多的插件:Momentum:这个工具主要用来在新建标签页的时候每天随机更换背景图。背景图一般是高质量的风景图,还包括一些其他的功能。Sub:Adblock:这应该不用说了。Octotree:这里有很多介绍,浏览Github项目时比较方便。Googlekeep:可以用来保存笔记、链接等,不过应该需要翻墙。SendAnywhere:此工具可以跨平台传输文件。likeongit:一个印度人写的插件,使用Github的README保存链接,思路比较独特。RestletClient:一个类似Postman的API调试工具,但是我觉得比Postman好看,而且对于爬虫用起来更方便。其他软件此外,对于程序来说,markdown已经成为必备的格式之一。Markdown的语法比较简单。如果基本掌握了一些基本语法,写文章应该没问题。我平时主要的markdown写作工具是Typora,写作时可以预览,支持Mac和Windows系统。Everything,Windows文件搜索利器。CTEX,Latex编写工具,但是最新的Ctex有一个巨大的坑,就是安装的时候会覆盖你电脑的环境变量,特别坑!!!!TexMaker是一个跨平台的Tex编辑工具。在Mac上使用起来比较方便,但是对中文编码的支持还是有问题。后来只能用Windows系统写毕业论文了。总结与展望其实,我内心深处对技术有着很深的渴望。但是现在还是觉得自己处在瓶颈期,虽然有动力在前端有更长远的发展。目前前端异常活跃,但前端圈内的高阶开发者仍然稀缺,还有大量的初级开发者,以及非专业出身转行的人前端。所以,这个圈子充满了敌意,随处可见。.另一方面,不知道工作之后能不能在前端有更长远的发展。其实说实话,我选择前端是因为当时觉得HTML5更跨平台,IOS或者ANDROID会受到平台的限制。Web应用具有先天优势,跨平台,易于部署,这些都是前端开发的天然优势。现在JavaScript的发展越来越迅速。众所周知的阿特伍德定律:凡是能用JavaScript编写的,最终都会用JavaScript编写。Javascript基本涉及到开发任务的方方面面,而且JavaScript扮演的角色越来越多。大牛们总说要跳出舒适区。其实这真的很难做到,因为人喜欢呆在自己觉得舒服的地方,做自己习惯做的事。但是,如果总是局限在一个区域,那么就只能是井底之蛙,井里看天了。在我看来,不要给自己画圈叫所谓的前端圈。做事还是要多看看外面的世界,才能看到新的东西。