陈随易:论技术思维和产品思维

大家好,我是不被定义的前端之虎陈随易。

我的个人网站是:https://chensuiyi.me,欢迎大家眼熟我。

picture 0

写这篇文章呢,源于一次群聊。

群友有一个产品,其中涉及到免费用户和付费用户对 pdf 的查看权限问题,使用的是 pdfjs 这个库,所以他在群里问:

问下大家看完类似 pdfjs 这样的仓库的源码,需要多久?

其实看到这个问题,给我的第一感觉就是,胸口有点闷,像到手的鱼又滑到水里去了,能体会到这种感觉吗?

就是这个问题缺少了一些前提条件,让人比较难受。

最主要的就是,你是基于什么需求和背景的前提下要看源码。

一般来说,不可能无缘无故要去看这么大的一个项目的源码,一定是有目的,有需求,有背景的。

当你提出一个问题,但是没有说清楚你的需求,背景,目的的时候,看到的人就会有点硌得慌。

所以呢,希望大家提问题,可以把问题描述地清楚一点。

我所了解的,搞技术的程序员,不管是小佬,中佬还是大佬,都是非常乐于助人的。

话说回来,人家一个团队写了那么久的项目,普通人真没那么大本事能看懂看明白。

笔者 2015-2019年间,就不信这个邪,喜欢研究个清楚明白,直到后面才深刻认识到,自己真的平凡又普通。

所以,2019年以后,笔者就不在做技术层面的深入研究了,而是研究技术的应用层,就是探索如何用技术创造出更方便,更好用的技术或产品。

思维的产品,也让笔者成功地做出了几个盈利中的产品,也有兴趣和力气,去做更多,更好的产品。

那么说到这里呢,希望读者朋友们,可以多多思考一下,问问题的艺术,技术探索的边界以及自己的特点和擅长。

把时间和精力,花在自己擅长的事情上面,有可能会获得更高的性价比。

那么针对以上问题的回复呢,笔者很快就得出一个方案:

简单,把 pdf 做 2 份,一份只有几页 (免费版),一份就是全部的 (付费版),这不比你看 pdfjs 源码快得多吗。

说实话,笔者几年前绝对想不出这种方案,这几年的折腾和实践,让笔者的 技术思维 慢慢向 产品思维 进行了一些转变。

我认为,前者带着一些 个人英雄主义 的情绪在里面。

比如说,我们看到一个组件不好用,哎,我要自己写一个。

笔者以前就喜欢干这种事,手写轮播图,手写手风琴,手写菜单等等。

现成的,框架的,一律不用,不如我自己的好!

我自己写的,掌控度多高啊,想怎么改怎么改,几年后我都能维护。

哈哈,中二气息充满了~

现在不行了,30 岁了,成熟多了。

人家大厂的技术团队日夜维护的框架,组件,不如自己写的好?

人家国际知名的轮播图不香?

太好了,太香了,老铁们。

专业的事情,交给更专业的人去做,在工作上面,适当减少个人英雄主义,用更好的、更稳的、更强的,现成的东西去解决问题。

尽量不要自己挖洞给自己埋雷,因为这极有可能影响工作效率,产品稳定,还容易出 BUG,最后还有可能自己收不了场 (别问我怎么知道的,毕竟谁的青春不迷茫~)。

那么后者呢,更多的是直面 解决问题 这个关键目标而去。

过早优化,是万恶之源,不管是写代码,还是做产品,都是如此。

同样一个东西,一个能用,但是不好用的产品,绝对比一个不能用,但是代码写得贼优雅的产品要好得多。

很多时候,所谓的 代码优化性能优化体验爆炸,其实不过是技术人的意淫罢了。

当然不是说这些东西不重要,而是一个能用的,可以马上用起来解决问题的东西,要比以上这些因素重要地多。

可用 的基础上,其他的一切都是锦上添花。

最后呢,笔者的公众号,关注的人还不多,希望大家可以访问我的个人网站 https://chensuiyi.me,有一个大大的二维码,扫码点个关注吧。

更多精彩内容,将会在笔者的公众号 陈随易 上,持续分享~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/831807.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

图像处理ASIC设计方法 笔记21 标记ASIC的顶层状态机

目录 (一)标记ASIC的工作流程1 ASIC首先从控制寄存器内读出待标记图像的基本参数2若写入了有效的启动命令,则进入下面一帧图像的标记过程。3 ASIC通过接口模块从FIFO1中读取待标记的图像4一帧图像初步标记完成后进行等价表的整理压缩5从临时标记存储器中读取临时标记送入标记…

大语言模型从Scaling Laws到MoE

1、摩尔定律和伸缩法则 摩尔定律(Moores law)是由英特尔(Intel)创始人之一戈登摩尔提出的。其内容为:集成电路上可容纳的晶体管数目,约每隔两年便会增加一倍;而经常被引用的“18个月”&#xf…

CSS精灵图、字体图标、HTML5新增属性、界面样式和网站 favicon 图标

精灵图 为什么要使用精灵图 一个网页中往往会应用很多小的背景图像作为修饰,当网页中的图像过多时,服务器就会频繁地接收和发送请求图片,造成服务器请求压力过大,这将大大降低页面的加载速度,因此,为了有效地减少服务…

扫雷实现详解【递归展开+首次必展开+标记雷+取消标记雷】

扫雷 一.扫雷设计思路二.扫雷代码逐步实现1.创建游戏菜单2.初始化棋盘3.打印棋盘4.随机布置雷5.统计周围雷的个数6.递归展开棋盘7.标记雷8.删除雷的标记9.保证第一次排雷的安全性棋盘必定展开10.排查雷11.判断输赢 三.扫雷总代码四.截图 一.扫雷设计思路 1.创建游戏菜单。  2.…

Leetcode—1056. 易混淆数【简单】Plus

2024每日刷题(126) Leetcode—1056. 易混淆数 💩山实现代码 class Solution { public:bool confusingNumber(int n) {int arr[10] {0};int notNum 0;int arr2[12] {0};int size 0;while(n) {int x n % 10;arr[x] 1;arr2[size] x;if(…

OneFlow深度学习框原理、用法、案例和注意事项

本文将基于OneFlow深度学习框架,详细介绍其原理、用法、案例和注意事项。OneFlow是由中科院计算所自动化研究所推出的深度学习框架,专注于高效、易用和扩展性强。它提供了一种类似于深度学习库的接口,可以用于构建神经网络模型,并…

【Java基础】Maven的生命周期(clean+site+default)

1. 前言 在 Maven 出现之前,项目构建的生命周期就已经存在,开发人员每天都在对项目进行清理,编译,测试及部署,但由于没有统一的规范,不同公司甚至不同项目之间的构建的方式都不尽相同。 Maven 从大量项目…

Java Web网页设计(7)-网页查看

7.面我们讲最后一个操作 修改的操作 在讲修改之前 我们先讲一个知识点 表单调用的通常是doPost方法 超链接通常调用的是doGet方法 操作如何在同一个方法 (doGet中) 进行区分 type OrderDao orderDaonew OrderDao(); String typereq.getParameter("type"); …

nn.GRU层输出:state与output的关系

在 GRU(Gated Recurrent Unit)中,output 和 state 都是由 GRU 层的循环计算产生的,它们之间有直接的关系。state 实际上是 output 中最后一个时间步的隐藏状态。 GRU 的基本公式 GRU 的核心计算包括更新门(update gat…

ZooKeeper以及DolphinScheduler的用法

目录 一、ZooKeeper的介绍 数据模型 ​编辑 操作使用 ①登录客户端 ​编辑 ②可以查看下面节点有哪些 ③创建新的节点,并指定数据 ④查看节点内的数据 ⑤、删除节点及数据 特殊点: 运行机制: 二、DolphinScheduler的介绍 架构&#…

将java项目上传到GitHub步骤

文章目录 GitHub 作用github如何修改默认分支为master手把手教你把项目上传github上github怎么删除仓库或项目执行到push时报错的解决办法github怎么修改仓库语言 GitHub 作用 GitHub 是一个存放软件代码的网站,主要用于软件开发者存储和管理其项目源代码&#xff…

HTB Intuition

Intuition User nmap ┌──(kali㉿kali)-[~/…/machine/SeasonV/linux/iClean] └─$ nmap -A 10.129.22.134 Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-04-30 05:29 EDT Nmap scan report for 10.129.22.134 Host is up (0.49s latency). Not shown: 998 …

连接HiveMQ代理器实现MQTT协议传输

先下载MQTTX: MQTTX: Your All-in-one MQTT Client Toolbox 使用线上免费的MQTTX BROKER:The Free Global Public MQTT Broker | Try Now | EMQ 打开MQTTX,创建连接,点击NEW SUBSCRIPTION,创建一个主题,这里使用test/topic,在下面Json中填写…

日本2024年铃木亮平主演的电影《城市猎人》

《城市猎人》是由佐藤祐市执导、三岛龙朗担任编剧、铃木亮平主演的动作片,于2024年4月25日上线Netflix。 该片改编自北条司的同名漫画,讲述了负责处理黑社会纠纷的清道夫在寻找失踪的Cosplayer时被卷入巨大阴谋的故事 [2]。 相关星图 查看更多 佐藤佑…

中间件之搜索和数据分析组件Elasticsearch

一、概述 1.1介绍 The Elastic Stack, 包括 Elasticsearch、Kibana、Beats 和 Logstash(也称为 ELK Stack)。 能够安全可靠地获取任何来源、任何格式的数据,然后实时地对数据进行搜索、分析和可视 化。Elaticsearch,简称为 ES&a…

【Android学习】自定义文本框和输入监听

实现功能 以上代码可实现功能: 1 自定义文本框样式 2. 文本框触发形式转变 3. 文本框输入长度监听,达到最大长度关闭软键盘 4. password框触发检测phone框内容 1. drawable自定义形状 我创建了editor_focus.xml 和 editor_unfocus.xml,两者仅…

Codeforces Round 943 (Div. 3 ABCDEFG1G2题) 视频讲解

A. Maximize? Problem Statement You are given an integer x x x. Your task is to find any integer y y y ( 1 ≤ y < x ) (1\le y<x) (1≤y<x) such that gcd ⁡ ( x , y ) y \gcd(x,y)y gcd(x,y)y is maximum possible. Note that if there is more tha…

计算机毕业设计Python+Spark考研预测系统 考研推荐系统 考研数据分析 考研大数据 大数据毕业设计 大数据毕设

安顺学院本科毕业论文(设计)题目申请表 院别&#xff1a;数学与计算机科学 专业&#xff1a;数据科学与大数据 时间&#xff1a;2022年 5月26日 题 目 情 况 题目名称 基于hive数据仓库的考研信息离线分析系统的设计与实现 学生姓名 杨娣荧 学号 201903144042 …

华为鸿蒙系统(Huawei HarmonyOS)

华为鸿蒙系统&#xff08;华为技术有限公司开发的分布式操作系统&#xff09; 华为鸿蒙系统&#xff08;HUAWEI HarmonyOS&#xff09;&#xff0c;是华为公司在2019年8月9日于东莞举行的华为开发者大会&#xff08;HDC.2019&#xff09;上正式发布的分布式操作系统。 华为鸿蒙…

使用DependencyCheck工具检测JAR依赖包的安全漏洞

引言 Dependency-Check 是一个开源工具,用于检测软件项目中使用的第三方库和组件是否存在已知的安全漏洞。它可以帮助开发团队及时发现和解决项目中的潜在安全风险,从而提高软件的安全性。 该工具通过分析项目的依赖关系,识别其中使用的第三方库和组件,并与已知的漏洞数据…