不要争了!技术选择可能没那么重要?

编程学习方向的选择!你想好了没? ㉿ 1、C语言 C语言主要用于驱动开发、操作系统、内核开发,嵌入式(单片机)、交换机、路由器等网络设备的开发。 ①、偏硬件方面,相当于目前互联网和移动时代,自动化的或者对硬件感兴趣的,可以选择这个方向。 人员需求:★★★★ 难度指数:★★★★ ②、偏向底层开发的:难度较大,比如要看懂Linux内核代码。但是技术确实最硬核的,毕竟是最接近底层的! 人员需求:★★★ 难度指数:★★★★★... 阅读详情

点击上方“芋道源码”,选择“置顶公众号”

技术文章第一时间送达!

源码精品专栏

 

来源:https://kiwenlau.com/2018/07/19/technology-selection-is-not-critical

很多开发者非常热衷于比较不同技术,比如:Angular是否比Vue.js更好?Node.js能否取代Java?究竟应该选择MySQL还是MongoDB呢?

认真对比不同技术之间的优劣是非常有价值的事,可以加深我们对技术的理解,根据业务场景选择更合适的技术。

但是,对技术选择过于较真,争得面红耳赤,对于产品或者个人来讲,都是没有必要的。因为,技术选择真的没有那么重要。

技术只是产品的实现手段

对于一个产品,技术仅仅只是实现手段。或者说,条条大路通罗马,这个产品可以用Angular + Java + MySQL实现,那它用Vue.js + Node.js + MongoDB来实现也完全没问题。不同技术在细节上确实有不少区别,但是它们在本质上它们是一样的,Angular和Vue.js是前端框架,Java和Node.js是编程语言,MySQL和MongoDB是数据库。

产品面向的是用户,而不是开发者自己,在开发者开来,选择某个技术栈也许很重要,但是对于用户来说,很抱歉,他们完全不关心!用户关心的是:是否有我想要的功能?UI设计是否合理?BUG有没有及时修复?生活中,我们都是用户,我们每天聊微信、刷抖音、逛京东、打王者荣耀,你会关心它们的后台是用Java还是用Node.js吗?

如果产品的技术栈还没有确定,选择一个目前使用者足够多并且保持更新的技术就好了,用的人多的技术不会太差,还在更新则不用担心BUG没人修复。如果产品的技术栈已经确定了,那就更简单了,直接撸代码啊;即使技术选择有一些问题,抱怨是没有用的,也没人愿意为了你的个人偏好去换技术栈,除非是产品需要。

作为开发者,应该利用自己已经掌握和需要学习的技术去实现一个好用的产品,满足用户的需求。如果产品没有成功,有可能是产品的需求有问题,没有市场;有可能市场很大,但是推广得不够成功;有可能推广得不错,但是商业模式有问题,赚不到钱…当然,也有可能是技术问题,是技术不够好,而不太可能是技术选择错了。

Fundebug的技术栈

当我们决定做Fundebug的时候,现在所使用的技术并不熟悉,而对于它们的同类型技术,我们更是一无所知。所以,这里也不存在所谓的选择的问题,我们使用了自己会用的技术:Angular + Node.js + MongoDB。它们使用者足够多并且保持更新,符合我所说的标准。对于这样的似乎有些轻率技术选择,基本上没有对我们产品开发造成什么困恼,用户需要的功能我们能够尽量满足。或者说,正真困恼我们的从来都不是技术选择所造成的问题,而是产品设计、市场推广、用户沟通等问题。

我会负责一些后端开发,对于我们的技术栈,我热爱Node.js,因为它语法简洁,文档清晰、有着简单的异步编程模式和丰富的NPM生态系统;我也很喜欢MongoDB, 因为它的数据模型足够灵活,然后文档非常详细,运维起来轻松很多。这里没有丝毫冒犯Java和MySQL的意思,因为我几乎完全没有接触过它们,所以无法进行比较。我也相信,Java和MySQL也非常优秀,如果我们当初选择它们应该也没有什么问题。

对于Fundebug的技术栈,我经常喜欢和人炫(chui)耀(niu)的一点是我们的所有应用包括MongoDB都是运行在Docker容器里面,这极大的简化了我们的运维工作。把应用打包到Docker镜像里面之后,我们只需要在集群上安装Docker,而不需要安装任何应用,就可以在任意节点运行任意应用。我们可以根据需要(重新分配CPU和内存资源或者进行多副本扩容)随时在任意节点之间移动应用。在集群需要增加新的节点时,也只需要安装Docker,这个新节点可以用来运行任何应用。我一直在思考Docker的价值,发现它确实很有用。所谓“如果你手里有一把锤子,所有东西看上去都像钉子”,我用了将近4年Docker,非常熟悉也非常喜欢,那我当然觉得Docker是个好东西。如果我们不使用Docker会怎样?运维当然会比较痛苦,但是我们应该也没有什么大问题。大量公司还没有Docker化,它们都活着好好的。

我对技术的迷思

和很多开发者,我也曾经迷信过一些技术,谁没年轻过呢?

大三暑假学了一门叫做《大规模数据处理/云计算》的课,听着很炫酷,其实主要是学习Hadoop,用Hadoop去实现PageRank等算法。PageRank是Google创始人提出的网页排序算法,是Google搜索引擎的基础。Hadoop如此厉害,居然可以造Google,当时年少无知,觉得学会了Hadoop就够了。事实上,知乎上也有类似的问题:Hadoop 就业前景如何?但是,现在呢?Hadoop的光环早已褪去,它只不过是对大规模数据进行批处理的常规工具,并没有太大门槛。而Hadoop生态系统还有很多其他工具比如Spark, HBase等,仅仅使用Hadoop完全不足以应对各种复杂业务场景。

读研的时候第一次接触Docker,被深深吸引,因为Docker可以完美解决软件安装和配置的问题。大学毕业设计我曾花了至少1个星期时间配置一个4个实体机器组成的Hadoop集群(当时不熟悉Linux),而使用Docker的话,无需安装,可以直接运行。我的开源项目hadoop-cluster-docker就是将Hadoop集群运行到多个Docker容器中,这个项目已经累积了近千个Star,可见大家对于使用Docker简化Hadoop安装还是非常认可的。我接触Docker的时间算是很早了,Docker最热门的时候还收到过大公司的相关工作邀请,因此觉得熟悉Docker非常好,这次算是站在风口了。而现在呢?Docker已经逐渐普及化!因为Docker并没有什么高深之处,上手非常快。国内很多大公司,例如腾讯, 京东等早已Docker化。

无论是Hadoop和Docker,多少都算是改变世界的技术,也曾经大红大紫,现在依然在发光发热,但是早已不再自带光环效应。这也是技术发展的客观规律,新的技术不断出现,它们解决了某些问题,受到热捧,然后逐渐普及,被更新的技术所超越甚至取代。

事实上,我从来也没有依靠Hadoop或者Docker去工作,它们也是靠不住的。技术发展如此之快,怎么可能一招鲜吃遍天,现在热门的技术迟早会冷却,甚至会被淘汰。再说,技术是为工作服务的,而不是围绕技术栈去圈定自己的工作内容;工作的时候,需要什么技术就学习什么技术,永远呆在舒适区是一件很危险的事情。

参考

  • 技术路线的选择重要但不具有决定性



如果你对 Dubbo 感兴趣,欢迎加入我的知识星球一起交流。


知识星球

目前在知识星球(https://t.zsxq.com/2VbiaEu)更新了如下 Dubbo 源码解析如下:

01. 调试环境搭建
02. 项目结构一览
03. 配置 Configuration
04. 核心流程一览

05. 拓展机制 SPI

06. 线程池

07. 服务暴露 Export

08. 服务引用 Refer

09. 注册中心 Registry

10. 动态编译 Compile

11. 动态代理 Proxy

12. 服务调用 Invoke

13. 调用特性 

14. 过滤器 Filter

15. NIO 服务器

16. P2P 服务器

17. HTTP 服务器

18. 序列化 Serialization

19. 集群容错 Cluster

20. 优雅停机

21. 日志适配

22. 状态检查

23. 监控中心 Monitor

24. 管理中心 Admin

25. 运维命令 QOS

26. 链路追踪 Tracing

...
一共 60 篇++

源码不易↓↓↓↓↓

点赞支持老艿艿↓↓

C++上机——2023年“信息与未来”小学生编程思维展示官方题解 本次活动前三题是“根据问题描述实现代码”类型的问题,题解和示例代码由人工智能GPT-4直接阅读题面后生成――只要熟悉C++的语法和基本的编程、调试,即可解决p1、p2、p3。后三题有一定的算法性,我们给出命题思路和一些可能的解法。注意:本题解是面向指导教师的;指导教师在讲解时可以根据学生掌握程度进行调整。 阅读详情

相关推荐

微信小程序中蓝牙打印机中文编码处理:使用iconv-lite库

本文介绍了微信小程序集成蓝牙打印机时中文乱码问题的解决方案。由于打印机通常仅支持GBK/GB2312编码,而小程序使用UTF-8,导致中文显示异常。通过引入轻量级iconv-lite库进行编码转换,可高效解决该问题。文章详细说明了从库安装、编码转换到蓝牙发送的实现步骤,并提供了完整代码示例。关键注意事项包括编码验证、分段发送和兼容性测试。该方法经实际验证,能有效保障中文打印的准确性,适用于零售、物流等场景。

canglingyue的专栏 1310

【胡思乱想之】为什么大多数人认为”技术“不重要?

吐槽一下,关于自身周围这个对“技术”不重视的环境

k60405003的博客 870

电商产品组合策略:引流品与利润品的实战方法论

在电商运营中,产品组合策略是提升流量转化与利润增长的核心技术。其基本原理是通过数据化选品构建产品矩阵,利用引流品吸引用户流量,再通过利润品实现商业变现。这种策略不仅能优化广告投放的ROAS(广告投入产出比),还能显著提升客单价。技术实现上需要结合Google Analytics等工具进行归因分析,并运用动态库存管理模型控制风险。该方案特别适用于Amazon、Shopify等电商平台,能有效解决跨境电商业内流量获取与利润创造的平衡难题。通过实战案例可见,合理的产品组合可使客单价提升30-50%,是电商运营必备

weixin_42522009的博客 356

工作三年后才明白技术不重要!

工作三年后才明白的道理

gusucheng的博客 635

STM32 BLDC无刷电机霍尔信号捕获与换相控制实战解析

本文深入解析了STM32如何实现BLDC无刷电机的霍尔信号捕获与换相控制。详细阐述了硬件接口配置、定时器霍尔传感器模式的使用、抗干扰的滤波器与软件容错设计,以及中断服务与换相逻辑的实战代码。重点解决了信号抖动、换相不准等常见问题,旨在帮助开发者构建稳定可靠的电机驱动基础。

weixin_29193259的博客 370

Python调用Google Trends官方数据接口实战指南

Google Trends作为全球最权威的搜索热度分析工具,其数据本质是公开、结构化、可编程访问的时序指标,而非需爬取的网页内容。其底层基于标准HTTP协议与JSON API交互,核心原理在于复现用户浏览器行为——通过/explore接口获取token,再凭token请求/widgetdata/multiline等端点获取归一化(0-100)时间序列数据。该技术路径规避了Selenium渲染依赖与非官方库的脆弱性,具备高稳定性、易调试、可监控等工程优势,广泛应用于竞品监测、内容选题验证、地域营销策略制定等业

weixin_29789925的博客 422

(转)“在证券行业,技术不重要,不要过分强调!”

其实,不仅是传统证券金融业IT,其他绝大部分传统垂直行业IT,就技术前沿性和专业性而言都是距离科技公司颇远的。 不管愿不愿意接受,一个事实是,顶级名校的计算机系毕业生,职业首选肯定是去投奔互联网巨头的研究院、跨国IT公司、创业公司独角兽。

代码过客 1581

YOLOv11 损失函数解析

YOLOv11 在 YOLO 系列的持续演进中,通过 ​多模态损失协同优化、动态任务感知机制 和 ​超轻量化设计,实现了检测精度与推理效率的再突破。其损失函数设计融合了前沿的几何建模、分布学习与自监督技术,显著提升了复杂场景下的鲁棒性。

浩瀚之水的专栏 6703

不要争了!技术选择没那么重要

转载:https://blog.fundebug.com/ 2018/07/19/technology-selection-is-not-critical/ 很多开发者非常热衷于比较不同技术,比如:Angular是否比Vue.js更好?Node.js能否取代Java?究竟应该选择MySQL还是MongoDB呢? 认真对比不同技术之间的优劣是非常有价值的事,可以加深我们对技术的理解,根据业务场景选择...

黑白相间... 201

node运行项目-Network: unavailable-没有ip地址

vscode运行vue项目后发现Network: unavailable 是什么情况呢?可能有一下三种情况:1.多个网卡原因:打开网络共享中心,把多余的网络禁用掉,只留一个2.在中配置host及public3.系统环境变量问题。

JackieDYH的博客 7540

C#实现每日定时执行制定程序(附完整源码)

C#实现每日定时执行制定程序(附完整源码)

希望我的博客,能帮上你解决学习中工作中所遇到的问题 867

不要从事技术含量较低的工作,真的!

大学刚毕业,由于对各类工作内容的不了解,再加上对求职的渴望,可能会选择一些技术含量较低,更容易上岗的工作。但建议大家尽量不要选择这样的工作!虽能解决一时温饱,但弊大于利! 1,技术含量较低的工作,容易被替代! 在人们固有的思想里,大多数人认为“工作时间越长,越有优势”。当我们以为在职场到了可以“倚老卖老”的年纪,仅凭一点点工作经验,可以拿到更高薪酬的时候,殊不知在公司眼里,工作效率,完成质量度远远赶不上应届生的标准,唯独比应届生懂一些工作流程罢了,所以这类工作更容易被“廉价”的应届生取代,比如前台,助理

weixin_43647641的博客 1509

学 Simulink——基于递推最小二乘法(RLS)的工业电机转动惯量 J在线辨识仿真

Te 估算 = 1.5·p·(ψ·iq + (Ld-Lq)·id·iq)回归量:φ(k)=−ω˙(k), y(k)=Te​(k), θ=J。仿真:电机加速 0→1500rpm,观测 J^(k)→Jnom​。(可选) Jtrue​切 0.04(双惯量负载)→ 看跟踪。电机机械运动方程:Te​−TL​=J⋅ω˙+B⋅ω。J^(0)=0.005→收敛至0.02kg⋅m2✔。Te​:电磁转矩(Nm),已知(来自电流环输出)仅需 Te​,ω(驱动器已有)→ 无额外传感 ✔。

amy_mhd的博客 45

LLC缓存争用探测与优化技术解析

在计算机体系结构中,最后一级缓存(LLC)作为CPU与主存间的关键缓冲层,其共享争用问题直接影响多核系统性能。通过Prime+Probe等缓存侧信道技术,可以量化评估LLC资源竞争程度,其中窗口化探测方法通过引入时间维度和并行化MLP加速,显著提升了监测精度。这类技术在虚拟化云计算场景中尤为重要,能有效解决多租户环境下的性能干扰问题。基于动态EWMA算法和分级调度策略,系统可实现LLC感知的任务调度(cas)和智能页面管理(cap),实测可使典型工作负载获得20%以上的性能提升。这些优化手段对大数据分析、高

android_mylove的专栏 318

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

ITL争用

itl争用 所有事务在修改块之前,必须在块头的ITL上登记条目。当在块头上请求登记itl条目时,如果数据块上没有足够的ITL槽(slot),itl tx等待会发生。 影响itl的因素 initrans  初始分配的itl条目数 maxtrans  最大itl条目数(10g不能更改,为255)。 pctfree   空闲空间所占块比例,虽然pctfree预留了空间,但是update操作

Laughing 1118

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

你家网速卡成狗?可能是设备没选对!

👉 要上网,找路由!👉 内网快,交换牛!(路由器是"外交官",管出门;交换机是"大管家",管家事!网络卡顿的真相往往不在宽带,而在你桌上的小盒子里。搞清路由交换之分,下次升级设备时,你就能一眼看穿商家噱头,把钱花在刀刃上!你家的网络是谁在掌控?快去看看设备标签吧!👇发现用错的欢迎评论区吐槽~

微信公众号:互联网之路 453

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

SQL Server tempdb 闩锁争用

如果争用仍然存在,则将数据文件的数量进一步增加 4 的倍数,不过一旦达到 32 个文件,就可能没什么效果了。121320 是 8088 的倍数,所以它是一个 PFS 页面,如果不是 PFS 页面,我们也可以识别正在等待的页面是 GAM 还是 SGAM 页面。GAM页面是数据文件中的第 2 页,下一个 GAM 页面放置在第一个 GAM 页面之后的 511230 页(GAM 间隔)。SGAM 页面是数据文件中的第 3 页,下一个 SGAM 页面放置在第一个 SGAM 页面之后的 511230 Page 处。

756

CSS样式没显示为什么?往这看!

CSS选择器权重问题

weixin_44543121的博客 1万+

你可能不知道的CSS选择器!

CSS伪类和伪元素选择器还用很多,比如伪类:root、:hover、:nth-child、only-child、:disabled、checked等,伪元素::first-line、::before、::after等。CSS伪类和伪元素选择器在开发中的作用主要体现在通过添加特殊效果和修改样式来增强用户体验和页面表现力。学会了这些CSS伪类和伪元素选择器可以帮助我们快速的是实现一些特定的效果,通过合理使用这些伪类和伪元素,我们可以创建出更加动态、富有表现力的网页。

流绪@微梦 952

【CSS】CSS选择器优先级及!important属性

CSS的选择器是有权重的,当不同选择器的样式设置有冲突时,会采用权重高的选择器设置样式。权重(即优先级)的规则如下,权重越高,优先级越高: 同一个元素可以使用多个规则来指定它的同一样式(比如字体颜色),每个规则都有自己的选择器。显然最终只有一个规则起作用(不可能一个字既是红色又是绿色),那么该规则的特殊性最高,特殊性即css优先级。很多人仅仅知道选择器优先级ID>class>元素选择器,而不知道

LZGS_4的专栏 2万+

千万不要一辈子靠技术生存

点击上方的终端研发部,右上角选择“设为星标”每日早9点半,技术文章准时送上公众号后台回复“学习”,获取作者独家秘制精品资料往期文章记五月的一个Android面试经今日头条...

这个时代,作为程序员可能要学习小程序 882
上一篇: 深入理解负载均衡
下一篇: 我为 Redis 找到了一个新家 —— VMWare
公众号-芋道源码
博客等级 码龄10年 1634粉丝 377原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值