神理论 | 我面向淘宝编程,而你面向什么编程?
陌生人一定会疑问,嵌入式跟taobao有半毛钱关系啊?那么本文,博主就跟你聊聊,如何面向淘宝学习嵌入式!
文章目录
- 1 写在前面
- 2 面向XXX编程
- 3 面向淘宝学习嵌入式
- 3.1 入门篇
- 3.2 进阶篇
- 3.3 课外篇
- 3.4 付费篇
- 4 想在淘宝上干一番事业
- 5 友情推荐
- 6 文末福利
1 写在前面
大家好,我是架构师李肯,一个在嵌入式研发领域摸爬打滚了10年,目前专注于嵌入式物联网系统架构设计的攻城狮。
当你看到我这个标题的时候,一定会非常差异,这到底是什么深理论啊,通过各种 面向XXX编程,就是没听过你这个 面向淘宝学习嵌入式。
那么,本期的议题究竟是一个什么样的结论呢?下面李肯会结合自己的实际从业经验,给你娓娓道来,讲述一段在taobao中学习嵌入式的神级理论。
2 面向XXX编程
这个话题有点大,我们聚焦一下,分分类。
先说一下 正经一点 的:
- 面向过程编程:(procedure oriented Programming)(POP),它是一种以过程为中心的编程思想。这些都是以什么正在发生为主要目标进行编程,比较典型的编程语言就是:C语言。它就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。
- 面向对象编程:(object oriented programming)(OOP),它是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描述某个事物在整个解决问题的步骤中的行为。比较典型的编程语言是:C++语言、Java语言 等。
- 面向接口编程:(Interface Oriented Programming)(OIP),它是一种编程思想,接口作为实体抽象出来的一种表现形式,用于抽离内部实现进行外部沟通,最终实现内部变动而不影响外部与其他实现交互。
- 面向实现编程:在面向对象编程设计中有,面对接口编程和面向实现编程之分;面向实现表示继承普通类,面向接口表示子类是实现接口或者抽象类。面向接口的耦合比较低,因修改代码比较低,因为接口和抽象类本身有的方法不干事情,而是子类去去实现。所以面向实现编程,在一定程度上,不是一种推崇的编程方式。
- 面向服务编程:(Service-Oriented Architecture)(SOA),它是一种进行系统开发的新的体系架构。在基于SOA架构的系统中,具体应用程序的功能是由一些松耦合并且具有统一接口定义方式的组件(也就是Service)组合构建起来的,它对迅速变化的业务环境具有良好适应力。
以上几种都是比较经典的编程方法,如有需要深入编程领域,还是要对各项编程方法有比较好的认识和理解,至少能够理解什么情景下改用什么编程方式。
再来几个 不那么正经 的,相信这些梗,你一定听过:
- 面向CV编程:这个指的就是那些只会 CTRL+C 和 CTRL+V 的攻城狮使用的编程方法,这个一般代指从事的编程工作没有实际内涵或者该攻城狮不愿上进只会拷贝代码来实现功能。一般来说,这种是不太可取的。
- 面向百度编程:这种一般就是调侃,有些攻城狮一有问题就百度、bing、google等各大搜索引擎用个遍,而缺少自己对问题的深度思考在里面;这种方式也是不利于攻城狮编码的成长的。
- 面向github编程:这种特指那些专从github上面找各种各样的开源代码,左右一拼接,就形成自己的代码的那帮攻城狮;当然,github的确有非常多优秀的开源代码值得我们去学习,但是我们要取之精华,取其糟粕,最大化地为我所用。把优秀的代码,深入理解消化了,逐步转换为自己的知识,这才是学习优秀代码的上上策。
- 面向薪资编程:这种就更是吐槽式的行为了,换句话说就是,东家给多少钱,写多少代码。虽然短期内好像是自己占了便宜,但从长远的角度来说,真正困于成长的、吃亏的还是你自己;因为你可能浪费了最宝贵的学习上升的时间机会。
- 面向ChatGPT编程:这是最近非常流行的一种编程方式,你只需要把你要的代码逻辑告诉ChatGPT,一段带优美注释的可运行代码就呈现在你面前了。你可能会说,这简直太棒了,但我想说的是,这样的话,我们编程攻城狮的意义何在呢?
以上几种都是调侃式的编程,实际从业操作中,切不可陷入太深,否则可能导致自己无法自拔。
3 面向淘宝学习嵌入式
大家都知道淘宝是一个国民级的电商平台,不敢说常年第一,至少说 稳坐第一批队 应该没有人敢反对。
而就这样的一个体量巨大的电商平台,你要找嵌入式相关的东西,简直不要太方便了。不然的话,你去jingdong试试看?
有了嵌入式的东西,那还得要看你学习嵌入式的什么内容,下面简单介绍下我是如何利用淘宝来学习嵌入式的。
3.1 入门篇
这里说的入门,我个人觉得你至少得有修过电子相关专业课程,比如基础的模电、数电、电路分析等。有了这些电子基础,如果你对嵌入式开发有这浓厚的兴趣,相信你很快就会踏入嵌入式开发的大门。
很多入门嵌入式软件开发都是先走51单片机的老路子,我也不例外。当年还在大三的时候,硬着头皮,省了几天的饭钱,在淘宝上搜索,买了一块需要自己焊接插件的51开发板。至于为了没有选别人焊好的,因为别人焊好的,要贵8块钱。
就这样,我开始拥有了我的第1块开发板;然后自从有了第一块开发板,各种小板子小器件的需求就接踵而来。于是乎,我的淘宝订单逐渐都被嵌入式的各种小东西填满了。当然,有时候还是出点小困惑,比如你要买一个小器件,淘宝上找不到,那就只去附近线下的电子相关的店铺里买。虽然贵一些,但好歹有货。但就现在淘宝如此发达的情况下,这种情况应该很少见了。
51单片机可以说伴随了我嵌入式开发很长的时间,就去年的时候,我都还在使用51单片机,不过已经不是入门级的那种51单片机了;我更倾向于买类似下图这种的核心板,小巧精悍,外设可以灵活搭配,学习做项目的好帮手。这个也是购于 淘宝。
去年我还拿它来做一个智能项目呢,感兴趣的可以去看看。【IoT智能单品设计】一款基于涂鸦智能IoT云平台的新型智能蓝牙水杯_架构师李肯的博客
3.2 进阶篇
到了嵌入式开发进阶了,你可能就不会局限于51单片机了,怎么得也得上stm32。
要学stm32相关的开发,自然要去 淘宝 找开发板。要说这种主流的stm32板子,真的是不要太多,就是受困于之前进口芯片紧缺的问题,stm32普遍比之前贵了不少。
学习stm32,我的观点是不需要一下子上性能太高的板子,稍微在淘宝上找一个比较主流的板子,性价比高的就行。一来,多人玩的板子,自然大家踩的坑也比较多,遇到问题也比较多解决的方案;二来,单纯买来学习,价格的确是需要重点考虑的。
在这里,我比较推荐正点原子的板子,玩的人非常多,他们的教程、源码、售后、名气各方面都占优势,是学习stm32不错的选择。
一开始学习stm32,最重要的还是要能从学习51单片机的思维中迁移过来,学会使用stm32官方的一些开发工具,比如 STM32CubeIDE - STM32的集成开发环境
熟练掌握它的基础寄存器、各种外设是必须的。这个对不必51单片机那是量的碾压,一开始学肯定会吃力不少,但是可以分模块来一个个啃,各个击破。
当这些掌握得差不多了,可以考虑上RTOS实时操作系统,这里我比较推荐上RT-Thread,因为它在stm32的移植和使用已经非常多人玩,非常成熟了,基本不需要自己多踩坑,可以很快就做成一些实战应用。
同时RT-Thread有很好的社区资源,活跃的技术支持,使得初学者有很好的开发体验。
3.3 课外篇
要是工作中,没有相关的嵌入式实战项目联系,我推荐你去参加一个课外设计大赛,这是一个很好的学习提高的方式。
比如我最近在参加的一个 【社区大赛】瑞萨RA4M2(Cortex-M33内核MCU)物联网网关设计挑战赛。挺有意思的一个比赛,有幸在这次比赛中拿了一个三等奖,奖金1K,当做补贴饭钱了。对这个项目感兴趣的,可以联系我。
在参赛前期,我快速地确认了参赛主题,然后由于工作时间比较忙,直到临近项目提交才开始动手。
急急忙忙去 淘宝 买了一些外设模块搭建自己的项目,除了芯片上的踩的一些坑外,项目应用逻辑上,还是比较顺利的,得益于RT-Thread做了很多比较成功的软件包,加速了开发者的开发进程。
至于在业务比赛上淘宝买外设器件这一块上,淘宝的确没让我失败。不过,最好还是要提前买好这些器件,最怕的就是发货赶不及时,耽误了比赛就比较麻烦。
3.4 付费篇
还有一部分需求,其实淘宝真的是一个 资源宝藏库,撇开版权不说,你可能可以在这里找到1块钱的资料,也许这资料你在外面的网站找好久好久也不见得能找到。这大概就是钞能力!
所以提醒一个大家,如果你发现在学习过程中,遇到一些不好找的嵌入式学习资料,不妨来淘宝看看,兴许你能发现宝藏。
4 想在淘宝上干一番事业
每个人都有一个 开店梦,我也不例外。
去年底的时候在家里打扫卫生,突然发现其实家里有很多零零散散、各式各样的开发板、小模块之类的;还有参加各种社区平台获得的大大小小的礼品,堆积在那里。
很多都是一开始收到的时候,兴奋一下,然后热度一过,就在那里吃灰中。
还有,去年年末参加国民技术N32的一个在线直播,感兴趣可以戳这里,主办方也比较大方,直接给每一位参加直播的老师朋友每人赠送了1k等值的芯片。
原本我是想着,看看有没有公司渠道转手卖掉,换点零花钱;后面结合上面那一堆嵌入式的板子,我有了一个新的想法,我想开一个淘宝店,然后店里就买各种各样的板子、期间,同时提供技术支持,顺带还能扶持一些有潜力成长的攻城狮,何乐而不为呢?
至于,我那1K的芯片,我想我可能会layout一块新的开发板,作为特殊福利送给那些支持我的攻城狮?
具体怎么操作呢?我现在还没有完全想好,也请大家可以期待一下。
5 友情推荐
今天给大家推荐一本软件交付领域的大成之作:《淘宝交付之道》。
全面个性化、内容化的淘宝天猫,构造了基于内容的丰富的导购场景,包括猜你喜欢、有好货、每日好店、必买清单、哇哦视频、微淘、买家秀、 头条、洋葱盒子等。个性化为消费者带来了更精准的货品分发服务,内容化为消费者带来了更多惊喜和更好的服务体验。好的商品应该以更好的形式展现给消费者。
不同于传统测试业务,面对海量的 feed 流(即持续更新并呈现给用户内容的信息流)内容、个性化推荐分发、庞大的用户群体等挑战,如何构建整体内容导购质量 体系?如何发现问题、度量体验并丰富和提效测试手段?构建整体内容导购质量体系,主要可从以下两个方面进行考虑。
- 用户侧:如何评估千人千面导购推荐系统?
- 平台侧:多来源、多类型、高标准下,如何高效管控素材质量?
对本书感兴趣的,可以到我的社区,查看本书的详细介绍。
6 文末福利
为了感谢广大粉丝朋友的支持,特在本文举办赠书答谢活动,详细内容可参加我的社区活动:【第14期社区福利赠书活动】只为最美,淘宝“千人千面”导购智能评测与素材巡检(文末赠书《淘宝交付之道》5本)-CSDN社区,一共赠书5本,欢迎大家踊跃参加。