共计 14833 个字符,预计需要花费 38 分钟才能阅读完成。
尽管有许多函数式编程可供选择,比方 Haskell。我抉择 Scala,因为作为一名 Java 开发者,我发现学习 Scala 比 Haskell 更容易。
有人也能够把学习 Haskell 当作一个挑战。然而从理论的角度讲,我认为学习 Scala 对于 Java 开发者来说更有意义。
对于 C ++ 程序员,学习 Haskell 可能更正当。坦白讲,你能够抉择任何一门函数式编程语言,但请抉择一门有商业需要的比拟好。
作为一名职业开发者,我偏向于把工夫投资在那些对我的职业有帮忙的事件上。
无论你学习了多少种编程语言,你须要听从 Bob Martin 在《代码整洁之道》给出的编码和设计准则,能力成为一名业余的程序员。它是在你的编程职业生涯能给与你最大帮忙的技能。
以上所有清单的内容,列出了每个软件工程师都该学习的 5 种编程语言。
学习能提供不同编程范式的语言,是晋升编码技能的最佳路径。它能帮你无效地解决日常工作。
现实状况下,一个程序员的工具集里,应该蕴含一个靠近底层零碎的语言,比 C 或 C ++;一个面向对象的语言,比方 Java,Pythong 或 C ++;一个函数式编程语言,比方 Scala 或 Haskell;一个弱小的脚本语言,像 Perl、Python、Ruby 和 JavaScript。
工夫过的很快,曾经来到了 2020 年的年末,因为疫情的起因,我甚至感觉往年还没有开始就完结了。来到博客园也有了 3 年了,2017 年大四的我报名了一个嵌入式的培训班,因为物理业余不好找工作,破费了家里 2 万大洋,在培训班老师的领导下,抉择了博客园,写下了一篇博客。说实话,我感觉我在培训班中学到了好多好多货色,当初想想包含根底语法(C 语言),简略的数据结构,算法(SVM PCA),零碎设计(C 写抄一个爬虫我的项目)等等。学的很多,学会的简直没有,不是说培训班老师讲的不好,次要还是本人根底太差了。因而最初投递简历的时候,浙江的大公司,大华、海康都没有面试的机会,惟一面过的是宇视科技。我记得很分明,宇视给我开了 5000 的薪酬,如同还是外包岗,说一年后给转正有 6000 块。过后的我一心想要留在杭州,那时候的杭州房价曾经达到了 2W 了。我掐指一算,这个工资水平是买不了房子的啊,一个月根底生活费都要 3000 以上,还能攒多少钱呢?最初我决定加入考研二战,回到老家温习备考。
再见 five is five。考研二战期间齐全学不进去,果然考试成绩也就和一战大差不差,相比于第一次无奈承受考研落榜,国家线都没有过的苦楚,这一次,我有了一丝抉择的机会,去读非全日制研究生还是去工作。对于有一年的空窗期,为了这些沉没老本,必定是抉择了非全。尽管他不好听,受到社会的歧视,有书读总比没有强吧。受到复试的影响,决定根底非常差的我,决定开始吭经典书,CSAPP。
学渣就是学渣,看了两天就保持不上来了,博客也没有更新几天。想了想本人还是对 linux 感兴趣,来学 bash 吧。而后就开学了,从老师那边得悉应该要做深度学习,就又开始了学习 python。其实 python 还是保持下来了,因为本人花钱买了课,淘宝的盗版课程,看了好多,然而最初没有整顿放到博客园下面来。而且本地写的是在 txt 上的,放过来排版是针对麻烦。最初就不了了之。前面也陆陆续续写过一些博客,其实实现没实现很明确,如果是上的课,那必定是实现了,因为要期末嘛,如果是自学的内容,那都是大功告成了。总结一下:
《CSAPP》【40%】看了很多,然而博客没写,前面写在纸质笔记上。《python 根底》【60%】看了很多,写在 txt 上,前面的对于 python 连贯数据库,爬虫,后端啥的都没有看
《西瓜书》【40%?】遗记了,大略也就是这几篇博客写的学到了,其余的要么没看,要么看了也没看懂。不过不重要了,当前反正也不搞机器学习了。《逆向工程》书其实也没有看完,然而还是实现了一次逆向工程的作业了。尽管是对着 52pojie 上抄的。
《图论》致力学过,已经学的还行,当初曾经忘光了。研一上学期就这样差不多草草的技术了,也没学到个啥。研一下开始,就开始学习深度学习,钻研了一下 Faster R-CNN, 看了看吴恩达的入门视频笔记,开了一门我最感兴趣的 linux 内核课程。第二次“重学”python。
《linux 操作系统内核构造》这既是一门课,也是我给本人挖的一个坑,填了好久好久,到当初还没有填完。两头停停动动,真的很慢。然而当前有机会还会补!
【Faster R-CNN 系列】这个是对着 tf 版本的源码浏览当前学习的,也是这个时候,发现研一学的除了根底语法其它啥也不会,什么包模块啊,装璜器啊,lambda 表达式啊,都不会。这个系列算是我对深度学习中最重要的一部分了吧。
这也是我努力学习 TensorFlow 和 Keras 的期间,google 的开发人员,真的让我一言难尽,我常常感觉本人是一个运维,次要指标是把 google 大佬们开源的代码 run 起来。最终我倒在了 TensorFlow2.0 刚进去的时候,在 TensorFlow1.3 刚更新,TensorFlow 刚进去有了 eager essentials 的时候,我慢慢的投入了 pytorch 的怀抱。最近在逼乎上说 tf2 挺好用,倒退的真的很好的时候,我情绪是简单的,我从一个动摇的 TensorFlow 使用者,到一个 TensorFlow 的黑粉,逢人就劝入门 torch,再到当初发现 torch 也不是那么完满,Keras 也有他优良的中央(比方 Keras 的 summary 函数,能够显示参数量)。感觉其实每个框架都大差不差,都是为了同一个目标的不同实现过程。选一款社区沉闷的,用起来之后,再理解一下另一款,加几个轮子应该就能够用的棘手了吧。写到这里,不禁的感叹,是 MongDB, 还是 redis, 还是 Tairs。抉择 Flink 还是 Kafka。都是理解,应用,比照,而后在本人想着补充的一个过程吧。【下次做个 TensorFlow 和 pytorch 的比照补充版!】
其实,前面有抄 java 根底系列的笔记,然而就是缮写《java 核心技术 卷一》这个局部放在 github 上。算是 java 的入门了吧。
找工作后面大部分都是基础知识的学习,到了研二下,疫情左右,就开始功利的学习了。SSM,vue,OS,计网,数据库,都是学习的重点,这个局部,也是因为过后工夫紧迫,简直没有工夫写入博客园,也感觉没有必要,值得一提的是,这个时间段,我当了 linux 内核课的助教,算是第二次持续学习内核了,又写了几篇相干博客。也是凭借这些货色,能让我找个还算能够的工作吧。
实际上,我感觉本人的内核学的真的不好,然而又真的不晓得该怎么去学,学来干什么。机缘巧合,认为本人要成为一名客户端开发了,所以买了一本 android 的书,抄完。算是完结了吧。我不太像再用更多的工夫去钻研他了。Flutter 有缘再会。
将来
哎,写到这里,感觉本人挖的坑好多,不会的也好多,须要学习的也好多,真的很好受。瞻望一下 2021 年要写哪些博客吧,立个 Flag, 努力完成:
netty 系列博客:之前本人决定学,学到当初曾经丢了,明年首先捡起来,实现了再说 kafka 系列博客:包含 kafka 入门,kafka 和流计算之类的内容。仅次于 netty,亟待学习的一个方向
设计模式:课都买了,必定要看完。顺便出在博客园上吧。redis:面试瞎学了一些,当初想看看源码学习一下,尽管我也不晓得想学什么。
微服务:其实 kafka,redis, 微服务是买的三本书,这三本书作为明年的第一实现工作吧!刚开始学编程不久,据说过什么是设计模式
由很长时间的编程教训,本人写了很多代码,其中用到了设计模式,然而本人却不晓得学习过了设计模式,发现自己曾经在应用了,并且发现了一些新的模式挺好用的
浏览了很多他人写的源码和框架,在其中看到他人设计模式,并且可能体会设计模式的精妙和带来的益处。代码写着写着,字节都没有意识到应用了设计模式,并且纯熟的写了进去。
设计模式介绍
设计模式是程序员再面对同类软件工程设计问题所总结进去的有用的教训,模式不是代码,而是 某类问题的通用解决方案,设计模式 (Design pattern) 代表了最佳的实际。这些解决方案是泛滥软件开发人员通过相当长的工夫的试验和谬误总结进去的。设计模式的实质进步软件的维护性,通用性和扩展性,并升高软件的复杂度。
设计模式分为三种类型,共 23 种
创立型模式:单例模式,形象工厂模式,原型模式,建造者模式,工程模式。
结构型模式:适配器模式,桥接模式,装璜模式,组合模式,外观模式,享元模式,代理模式
行为型模式:模块办法模式,命令模式,访问者模式,迭代模式,观察者模式,中介者模式,备忘录模式,解释器模式 (Interpreter 模式),状态模式,策略模式,职责链模式(责任链模式)
留神: 不同的书籍上对分类和名称略有差异。
单例模式
单例模式介绍
? 所谓类的单例设计模式,就是采取肯定的办法保障再整个的软件系统中,对某个类只能存在一个对象实例,并且该类只提供了一个获得对象实例的办法(静态方法)。
? 比方 Hibernate 的 SessionFactory,他充当数据存储源的代理,并负责创立 Session 对象。SessionFactory 并不是轻量级的,个别状况下,一个我的项目通常只须要一个 SessionFactoury 就够,这是就会用到单例模式。
单例设计模式有八种写法
饿汉式 (动态常量) 饿汉式 (动态代码块)
懒汉式 (线程不平安) 懒汉式 (线程平安,同步办法)
懒汉式 (线程平安,同步代码块) 双重查看
动态外部类枚举
饿汉式(动态常量)
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=2…
https://github.com/search?q=2…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=2…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=2…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=2…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=k…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…
https://github.com/search?q=%…