先放一些之前为公司整理的前端学习资料吧。内容有点旧,有些排版有问题,将就下吧。希望可以帮到热爱学习但没有找到好的方法和资料的人:
C#、DotNetCore(待定)
回首10年前用VBA写记账软件,到现在走过的点点滴滴,略多感慨,稍总结如下:
1 何为编程
这是一个小马过河的问题。去问算法大神,去问CRUD程序员,或者就算同一方向不同技术路线的人,得出的答案可能都不一样。
这个问题的答案不在于别人,而在于你自已的心——编程对于你而言,它是什么就是什么,让你感受到什么就是什么。
2 怎样才能写好程序
一路走来看来,觉得最重要的还是:兴趣。
我见过有兴趣没天赋的,也没过没兴趣有天赋的人,但最终还是有兴趣的人的程序要写得好一些,更不用说平日的管理成本了。
也许你想看到诸如:学习能力、记忆力、分析能力、抽象思维……之类的占比,请相信我,那没有意义,也帮不了你,甚至会唤起一些人莫名的骄傲和自卑情绪。
编程是生活的一环,好的生活不就是喜欢什么然后去做么?
之前遇到一些同事,赶上了那波互联网泡沫。工资体面,但他们是由衷的不喜欢也不擅长编程啊。有一个很要好的一个朋友,很长一段他处在一种:学不进,团队不认可,无法晋升,转行没底气的状态中。你知道那是一种怎样的煎熬么?
3 我认为的有趣
帮到自已或别人的成就感;
程序的结构之美;
创造或突破一种解决方案时的灵光;
解疑找到问题所在时的爽;
一点点超越原先的充实;
4 心法至上
要想长久的保持进步,在首先要养成良好的心态:
5 业务至上
本来它应该属于心法之一,但过于特殊,所以单独列举。
以前问我业务和编程能力哪个重要,我肯定会说编程能力。但现在我感觉业务理解还是更重要一些,领域越深越如此。
“程序”是什么,就是用来帮人们解决现实中的问题的。所以,业务决定了你写的东西是否有价值。技术不行多数只是换个差点的技术方案慢一些,但如果对业务理解或把握得不准造成产品无人问津,团队会损失钱和宝贵的市场先机。
或许你会说,需求不应该是产品或项目经理的事么?不理解需求直接问他们不就得了么。这里要说两点:
一、深入理解业务需求,可以帮你找到更好的思路。有没有这样的经历,很多时候,一个项目写着写着你觉得越来越简单了,回头看之前的代码,发现好多逻辑代码根本不用绕那么多。对业务需求越深,你转化的代码就越强健,代码本身就是一个把需求转换成思维的过程,脱离需求就不叫程序了。等你可以预备到将来需求的改变时,就差不多到专家组别了。
二、理解需求可以锻炼自已的设计能力。设计能力只是划分几个模块几个类几个接口么?NoNoNo。举两个例子,大家都写过日志,也接触过事件吧。
如果让你搞个写日志的模块,你要设计哪些功能,由哪些类承担,由哪些接口对外公布呢?
你要考虑哪些,我们一起思考下:
1 日志存放在哪(db? 控制台? 文件?http发送出去给其它模块写... 可否动态配置?) ;
2 日志除了你放的message还要记什么?(程序名?版本?时间? 创建人? 堆栈信息? 环境或设备信息?线程信息?);
3 那些信息以一种怎样的格式展现呢?(既美观又好搜索,可否动态配置);
4 如果写文件中,线程并发怎么办,都写一个文件太大怎么办? 如果写http中,发送太频繁怎么办?如果写db,elashticsearch还是sqlite, 还是?
...
如果写事件模块,我们也可以思考下上面的问题:
1 事件怎么添加,怎么触发,什么时候触发,如xxx.AddEventListener(key, callback), xxx.RaiseEvent(key)。那么,事件的回调函数存放在哪呢?
2 事件的参数怎么设计,要不要放sender?设计成什么类型?
3 事件可以传递吗?传递过程中可以取消吗?
4 有些事件我只监听一次的,可以ListenOnce么?
5 有的事件只能订阅一次,有的可以多次订阅,是设计不同的api,还是之前的listene放不同的配置参数呢?
...
或许你会说:我在教你造轮子。如果未来你做了团队技术负责人,你能保证你能永远都能找到颜色、重量、轮子纹路、螺丝大小位置,适用场景都刚好匹配的轮子么?
其实,你知道么?让你不要重复造轮子这句话并不是为你好,而是怕你浪费团队效率而已。
如果你连轮子都不会造,未来怎么保证可以造车呢?你该不会觉得架构师就是像郎中抓药一样,把各种自已和和第三方的轮子配起来就是一个好系统了吧。他需要了解每个零件的细节,以使整体和谐。在时候可能要把一些零件削一削,有时候可能还要打点补丁,有时候可能会加点润滑剂,如果一些零件太有棱角不好改进又不没什么好的替代,就只好自已造了——而了解轮子最根本的方法,还是自已把它造一遍。
6 方法论
对的,光有内功还不够,你还是想听一些关于招式上的,可执行的方法和建议, 随机总结一些吧:
---未完待续
原文:https://www.cnblogs.com/caption/p/13248511.html