ARTS 是 左耳朵耗子 提出来的一个打卡任务。每周一个 Algorithm,Review 一篇英文文章,总结一个工作中的技术 Tip,以及 Share 一个传递价值观的东西!我希望这个事可以给大家得到相应的算法、代码、技术和影响力的训练。
这是我的第一周打卡,标题为“技术人的理想主义”,取自我要分享的文章《爱因互动 CTO 洪强宁:当别人用月薪去衡量程序员时,我们自己应该谈点理想》
🤖 Algorithm
📖 Review
How to structure your Vue project for the long term
最近一直在找关于怎么用Vue
来构建一个大型的企业级应用的资料。相关文章和视频翻阅了不少,对于这种问题,行业的实践还是比较少的。这篇文章中作者给出了自己的一些思路。
首先,对于一个需要长期开发的应用来说,它的体量是越来越大的。我们尤其要关注的是Scalability
(可扩展性)和 Maintainability
(可维护性)。其次,每个项目的业务场景和团队工作的方式都不尽相同,所以不存在一个最佳的项目架构。软件开发是没有银弹的。但是我们还是可以找出解决复杂项目的一些通用思想。比如作者提出的几点:
-
Source code navigation(源代码可导航)
-
Testability(易于测试)
-
Monitoring + Observability(监控和观察)
-
Debugging(调试)
-
Collaboration(协作)
具体的实现措施,这篇文章大篇幅讲的都是使用基于模块而非文件的项目结构。vue-cli
提供的项目结构对于小型的项目来说,可以达到开箱即用的效果。但是对于中大型的项目,这种组织方式并不太好。作者推荐的是根据业务模块划分成不同的module
,每个module
里包含对应的components
、services
、router
、store
等等。
然后就是要做到模块的隔离,这个可以参考SOLID
原则来设计。在大型项目中,不同的组件之间经常需要进行交互,隔离模块的内部实现细节是非常重要的。
最后有一点大家比较容易忽视,就是技术文档的撰写。对于大型项目来说,一个好的README.md
文件可以带来很多的方便。
💡 Tip
最近从Ubuntu
转到了Mac
平台来做开发,自己折腾摸索了不少关于Mac
上实用的技巧。
1. .zshrc
配置
有些常用的命令可以配置在.zshrc
终端环境中,比如
alias ll='ls -l -a '
可以实现ll
命令
export https_proxy=http://localhost:1234
让代理直接在命令行生效
2. SCROLL REVERSER 实现鼠标的滚轮表现形式跟触摸板不同
用Mac
外接鼠标后发现滚轮跟在Windows
上的表现形式是相反的,很不习惯,发现这款软件可以自定义鼠标和触摸板的方向设置,很不错。
3. 外接双显示器
公司用的是双显示器,买了一个扩展坞发现同时接上HDMI
和VGA
会被识别成一个显示器。后来发现要插两个不同的雷电接口才能被识别成两台显示器。解决方案是买两个扩展坞或再专门买一个Type-C
转HDMI/VGA
的高清转换器。
💎 Share
分享文章:爱因互动 CTO 洪强宁:当别人用月薪去衡量程序员时,我们自己应该谈点理想
每当在这条路上坚持不下去的时候,重新再看一下洪强宁的这篇文章,又坚定了信心,继续跟自己死磕。
InfoQ的二叉树上有一个关于他的采访视频,也很值得一看:
洪强宁:编程三十年,因 Python 结识豆瓣,想用技术改变世界