Blog
Contents
💠
💠 2024-11-22 11:50:47
博客
技术团队
个人博客网
- Paul Graham
- baeldung
搜Spring相关总会搜到他的博客
搭建博客
- 知乎话题:如何搭建博客
- 知乎专栏:使用Springboot搭建博客
- solo
博客系统 markdown
- 咖啡兔
现成的模板直接用md就能生成了
- Gitment:使用 GitHub Issues 搭建评论系统
-
ciaoshen
肉身翻墙? Java大佬
-
阮一峰
一个勤奋的布道者,Github每天都有提交
-
酷壳
左耳朵耗子个人博客网 阿里架构师
-
程序员DD
翟永超 Spring4all社区创立者
-
纯洁的微笑
Java丰富技术栈 云收藏的开发者
-
java3y
技术比较全面
-
冰封千里
Javaer,JavaFX和JVM类语言擅长
-
猛禽
一个坚持了17年博客的程序员
-
折腾的创业者
大学生创业
-
David’s blog
Java程序员
-
海底苍鹰(tank)
前端和Linux
-
彭鑫
Git权威指南作者,Git比较熟练
-
Chenxu
使用Github page 以及Https 全免费搭建
-
Romeng’s blog
edu邮箱,VPS等
-
如有乐享
突破限制的 教程资源比较多
-
javabolg
nutz作者的博客
-
chenssy
技术较新 Java博客网
-
tengj
SpringBoot了解深入
-
dreamlikes
Java后台开发
-
张子阳的博客
有技术,有推荐的书
-
绿色记忆
技术涉猎广泛
-
嘟嘟独立博客
SpringBoot系
-
会飞的污熊
github 搭建静态博客, 内容多
-
yscoder
indigo主题的作者 hexo
-
晓风轻技术小站
程序员你为什么这么累? 作者
-
张铁蕾
总结能力强
-
zhangyi
设计模式,TDD
-
johng.cn
Docker,算法相关
-
Catch
简单的小知识点
-
漠然
容器 kubernetes方面
-
senra
服务器, 容器等方面
-
xxl
开发了一套分布式组件
-
yourbatman
励志成长
-
赵劼
对函数式编程,并行程序开发,代码之美以及程序员能力与修养等相关问题
-
Java知音
较多面试题
-
拭心
安卓大佬
-
陈皓
左耳朵耗子
-
于亮
Java相关知识,专栏挺多,阅读量都不低
-
BlindingDark
擅长函数式编程lisp clojure等
-
zhangchuzhao
有深度干货
-
杜琪
Java 服务端
-
wsdjeg
SpaceVim作者
-
Dale
Linux方面
专栏
经验之谈
很多时候工程师们争论的问题,不再是对和错、是与否的问题,而是每个人的观点应用到相关的场景中的时候带来的优劣比较。也就是说,是不是把合适的技术用到了正确的场景中。平衡是我们在这个阶段要着重考虑的,这种平衡有时候是时间复杂度,有时候是空间复杂度。
- 初学者不要纠结“先学哪种语言”,这种时间花得很不值得,还不如随便挑一个语言,跳进去游几圈试试。对于工程师来说,学习第一门编程语言只是万里长征的第一步,只要你还在这个领域,就不可能只学一种语言,只会一种语言的工程师根本就不能称之为工程师。
- 如果你不能用一种编程语言的基本特性写出好代码,那换成另外一种语言也无济于事,你会写出同样差的代码。比如,你的 Java 代码写得很糟糕,那么换成 Go、Ruby,你的代码也会一样糟糕,甚至更差。
所以,基本掌握了一门语言的功能和语法特性之后,要去做实践和练习,能写生产代码了,再回过头来去看编程语言的本质,了解这门编程语言的设计原理,能力边界和高级功能,这样有助于你更快更好掌握其他编程语言。 - 很多人觉得不要用脚本语言入门,我觉得不一定,尤其现在就着人工智能浪潮搞机器学习的人,用 Python 入门就很好。另外,脚本语言在面试中绝对占优势。平时工作中我对 Ruby、Python、C++、和 Java 的熟练程度差不多,但是面试中使用 Ruby 或者 Python 答题,写代码的时间估计是那两者的一半。
- 后端工程师要熟练掌握一门前端语言,前端工程师也要熟练掌握一门后端语言。倒不是为了提倡全栈或多个能力储备,而是两者的编程思维模式很不一样。知己知彼,在架构设计和解决具体问题时,才会有更精确的判断。另外,现在大前端的概念也比较流行,也就是大前端工程师能够同时掌握 Web 编程语言、iOS 和 Android 编程语言,原生技术(iOS 和 Android)和 Web 的配合会越来越紧密。
- SQL 是一门非常非常重要并且应该熟练掌握的语言(虽然它不能被称为程序语言),我在这里用了两个非常,因为很多工程师有些过于轻视 SQL 了,并为此付出了惨重的代价。
如果你平时的编程工作涉及到业务功能,而不是纯粹的技术架构,一定会使用到数据库。SQL 就是数据的语言,通过它你可以和数据建立连接和沟通。如果你的数据访问模式写得很差,轻则代码性能一塌糊涂,重则引发 Bug,而涉及数据的问题,Bug 等级都比较高,后果可能很严重。 - 无论使用什么语言,工程师都应该能够基于这种语言搭建测试框架,写好测试代码和写业务代码一样重要,甚至更重要。工作后你会发现,可能有时候我们只花五分钟写了一个程序,而为其写一个差不多能够覆盖所有功能路径的测试用例集却花了一个小时。
- 最后的,也是最重要的是:在任何时候都要用并发的、分布式的思维去看待你的程序。因为竞争条件或者并发中的不确定因素(比如调用顺序)导致的 Bug,仅仅理解语言的基本特性,根本不能解释。每种语言都有自己的并发编程模式(比如 Go 的 Goroutine,Java 的 ForkJoinPool,Swift 的 Swift Grand Central Dispatch 等)。学习每一种语言,都应该去深入了解它的并发模型,在这个多核的时代,不懂并发的程序员不可能是个好工程师。
最近几年我主要使用 Ruby 和 Java 编程,这两门语言的优缺点就不在这里说了,网上有很多类似的观点。如果你还不知道应该学习哪一门编程语言,那么就从 Java 开始吧。
编程语言,你看它是山,它就是山;看它是水,它就是水。你可以把它当做一门简单的编程语言,有语法,有特性,也有优缺点,但这样的语言也可以复杂到去实现和解释各种计算模型和理论。一门编程语言到底能做什么,完全和工程师怎么去用,在什么场景中用息息相关。
如何将脑海中的思维火花转化为代码
先把流程大致想清楚,在 main() 中写下大致的调用结构,不一定要实现每个细节,可以先用函数分装起来。实现最少的功能,之后再想怎么改进,加功能;这个过程也可以检验一开始写下来的代码是不是具备可拓展性。
比如用 js 做日历,可以先实现一个只能打印字符串日历的版本(这涉及到日期的计算,简单格式化输出),然后思考怎么把字符串适配到 html 上?或者服务端的话输出为 json ? 或者其实可以跳过序列化这一步?等等。
可以学习一下 TDD ,一边写代码一边写测试,切忌自以为思考完所有细节一气呵成实现完毕,这样的话基本上 写代码:调试找bug = 1:10
Tool
团队开发
毕业
生活
-
土木真的没有 IT 行业有前途吗?
每一行都不容易!
娱乐
玩机
商业
Author Kuangcp
LastMod 2018-12-16