我想学后段开发,前一段时间学了一点Django,发现这个数据库交互的参数怎么这么怪异id__gt,id__lt,设计师就不能{"id":{"$gt":1}}
,flask要配置什么什么的我也懒得搞。
折腾了这么久,想入门Spring Boot,不知道语法会不会根id__gt一样蛋疼。
说了这么多,问下有经验的小伙伴后段开发怎么入门,顺便问下前后端分离怎么实现
我想学后段开发,前一段时间学了一点Django,发现这个数据库交互的参数怎么这么怪异id__gt,id__lt,设计师就不能{"id":{"$gt":1}}
,flask要配置什么什么的我也懒得搞。
折腾了这么久,想入门Spring Boot,不知道语法会不会根id__gt一样蛋疼。
说了这么多,问下有经验的小伙伴后段开发怎么入门,顺便问下前后端分离怎么实现
多看书 少上网
你不是在学 clojure 么为啥不用
国内没那么多资料,况且不是主流,以后有哪家公司会要我
django的历史比较久了,从模型到操作方法大量使用了python的反射技巧,硬要说为什么不用字典作查寻语句的话,我猜就是“符合python习惯”吧。。
后端就是crud的操作玩的溜就行,现在基本能restful就restful了,MVC那套不学也没关系(不过和前端倒也是通的),会crud+restful,后端就算会做了,前后端也自然的分离了。
学 Common Lisp + Hunchentoot
你应该反过来想,用的人多竞争就激烈,学个小众语言竞争压力小很多。
毕竟改变世界的是少数人
可是资料去哪里找呢?如果只有我一个人的话,孤掌难鸣。总不能用NASM汇编写一个吧。
不过最近看Rust挺不错的
资料去官网看,官网不够看就看源码。看一手资料是最好不过的。
我来分享我是怎么学习 Linux 服务端开发的吧。
大学时候初始入门时学习的是 C
,学校采用的教材是 The C programming language
,
比较经典。现在的话,可以选择 Rust
来入手,没有那么多坑。
起初学习Linux C 一站式编程。虽然这本书是一个培
训机构出的,但是它的内容、质量真得非常高。当时看完之后拿它来写了一个局域网聊天
室。看完这本书的最大用处是对 Linux
有
一点熟悉了,了解了一下 posix api
、syscall
,深度不够。
然后继续看 UNP,
APUE,这里绕不开的是
内核。于是自己写了个玩具内核了解了下内核的机制。这里首先参考的是
James 的版本,因为它比较糙,可以
以最快的速度做出来让人有点成就感。随后可以按照 osdev
上的教程系统得走一遍。现
在国内开源的课程也有了,可以直接学习清华的操作系统课程。
coursera
上有门课程 hardware/software interface
不错,对应的教材是 csapp,
可以给系统一个完整的认识。里面编译、链接相关的内容可以阅读「程序员的自我修养」来
完善一下(当然你也可以挑战自己看 linkers and loaders
)。
纯粹看系统相关的也可能会有点无聊,可以找点乐子,例如写个黑白棋AI之类的、刷刷 oj。
然后我是花了比较多的时候学习 C++
去了(无奈当时根本没听说过 Rust
,不然也就不
会学习这么有历史包袱的系统级别语言了)。看了些 C++
相关的书,这个书单也比较长:
然后知道了 reactor
, proactor
,找了些资料来看,这里必不可少的是 libevent
。
使用它、学习它基本是知道了一个网络库该是什么样子。然后可以模仿着 muduo 写个网络
库(也可以直接用它)来写一个监控系统。这就算是一个比较大型的项目了,会涉及到组件
之间的消息交互,然后可以试着使用一些开源中间件来玩,当然玩的同时也要看看源码,例
如 redis
的代码就相对简单,特别是它里面有个比较经典的 ae
eventloop 库。
基本上到了这里能够干后端的活了?
休闲读物: