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

news2024/11/18 10:51:36

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

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

picture 0

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

哈哈,中二气息充满了~

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

相关文章

EPAI手绘建模APP颜色、贴图、材质、样式

⑦ 颜色选择页面 1) 颜色环选色。 图 65 颜色选择器-颜色环 2) RGB选色。 图 66 颜色选择器-RGB 3) HSL选色。 图 67 颜色选择器-HSL 4) 国风颜色库选色。 图 68 颜色选择器-国风 5) CSS颜色库选色。 图 69 颜色选择器-CSS 6) 历史颜色:保存最近使用的多个颜色&…

鸿蒙开发仿咸鱼TabBar

鸿蒙开发自定义TabBar,实现tabBar 上中间按钮凸起效果 第一步、定义数据模型 export default class TabItemData{defaultIcon: ResourceselectedIcon: Resourcetitle: stringisMiddle: booleanconstructor(defaultIcon:Resource, selectedIcon:Resource, title:st…

基于改进暗原色先验和颜色校正的水下图像增强,Matlab实现

博主简介: 专注、专一于Matlab图像处理学习、交流,matlab图像代码代做/项目合作可以联系(QQ:3249726188) 个人主页:Matlab_ImagePro-CSDN博客 原则:代码均由本人编写完成,非中介,提供…

初始化Linux或者Mac下Docker运行环境

文章目录 1 Mac下安装Docker2 Linux下安装Docker2.1 确定Linux版本2.2 安装Docker2.3 配置加速镜像 3 Docker安装校验4 安装docker-compose4.1 直接下载二进制文件4.2 移动二进制文件到系统路径4.3 设置可执行权限4.4 验证安装 1 Mac下安装Docker mac 安装 docker 还是比较方便…

OpenCV如何为我们的应用程序添加跟踪栏(71)

返回:OpenCV系列文章目录(持续更新中......) 上一篇:OpenCV的周期性噪声去除滤波器(70) 下一篇 :OpenCV系列文章目录(持续更新中......) 在前面的教程中(关于使用 OpenCV 添加(混合)两个图像和…

基于SSM的“软件缺陷管理系统”的设计与实现(源码+数据库+文档+PPT)

基于SSM的“软件缺陷管理系统”的设计与实现(源码数据库文档PPT) 开发语言:Java 数据库:MySQL 技术:SSM 工具:IDEA/Ecilpse、Navicat、Maven 系统展示 系统功能结构图 管理员登录 首页 项目经理列表 项目经理添加…

c#学习基础2

四、复杂数据类型--结构体 1.基本概念 、2.基本语法 结构体一般写在namespace语句块中; 结构体关键字 struct 3.实例 4.结构体的使用 5.访问修饰符 6.结构体的构造函数 7.总结 五、排序初探 1)冒泡排序 1.排序的基本概念 2.冒泡排序的基本原理 两…

Jenkins docker部署springboot项目

1、创建jenkins容器 1,首先,我们需要创建一个 Jenkins 数据卷,用于存储 Jenkins 的配置信息。可以通过以下命令创建一个数据卷: docker volume create jenkins_data启动 Jenkins 容器并挂载数据卷: docker run -dit…

mac查看Linux服务器的性能

mac上安装 linux系统 如果有 linux服务器账号密码,那么上一部可忽略; 比如:直接连接阿里云或腾讯云账号 1. 安装termius 链接: https://pan.baidu.com/s/1iYsZPZThPizxqtkLPT89-Q?pwdbw6j 提取码: bw6j 官网 Termius - SSH platform for …

YOLO系列自研改进:基于注意力机制的多尺度特征提取模块

目录 一、原理 二、代码 三、在YOLO中的应用 一、原理 这个模块的原理仍然是利用不同大小的卷积核来提取不同尺度的特征,同样将通道划分为两部分,一部分通过注意力机制进行通道信息和空间信息的提取,另一部分通过多个不同大小的卷积核来提取多尺度的特征信息。 二、代码…

开源模型应用落地-LangChain高阶-Tools工具-集成agents(四)

一、前言 LangChain 的 tools 是一系列关键组件,它们提供了与外部世界进行交互的能力。通过适当的使用这些组件,可以简单实现如执行网络搜索以获取最新信息、调用特定的 API 来获取数据或执行特定的操作、与数据库进行交互以获取存储的信息等需求。 本章…

【阿里云服务器】ubuntu 22.04.1安装docker以及部署java环境

我的服务器配置是2GB CPU 2GB 内存 Ubuntu22.04 目录 一、阿里云 ubuntu 22.04.1安装docker 二、docker基础命令 三、Windows电脑访问云服务器 四、安装java环境 安装OpenJDK 8(可以根据需要安装其他版本的JDK) 安装java的依赖管理工具maven 一、…

机器学习:基于K-近邻(KNN)、高斯贝叶斯(GaussianNB)、SVC、随机森林(RF)、梯度提升树(GBDT)对葡萄酒质量进行预测

前言 系列专栏:机器学习:高级应用与实践【项目实战100】【2024】✨︎ 在本专栏中不仅包含一些适合初学者的最新机器学习项目,每个项目都处理一组不同的问题,包括监督和无监督学习、分类、回归和聚类,而且涉及创建深度学…

《MySQL45讲》读书笔记

重建表 alter table t engine InnoDB(也就是recreate),而optimize table t 等于recreateanalyze,让表大小变小 重建表的执行流程 建立一个临时文件,扫描表 t 主键的所有数据页;用数据页中表 t 的记录生…

HTML_CSS学习:CSS盒子模型

一、CSS中常用的长度单位 相关代码&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>CSS中常用的长度单位</title><style>html{font-size: 40px;}#d1{/*第一种长度单位&…

MySQL CRUD进阶

前言&#x1f440;~ 上一章我们介绍了CRUD的一些基础操作&#xff0c;关于如何在表里进行增加记录、查询记录、修改记录以及删除记录的一些基础操作&#xff0c;今天我们学习CRUD&#xff08;增删改查&#xff09;进阶操作 如果各位对文章的内容感兴趣的话&#xff0c;请点点小…

Python设计模式 - 单例模式

定义 单例模式是一种创建型设计模式&#xff0c; 其主要目的是确保一个类只有一个实例&#xff0c; 并提供一个全局访问点来访问该实例。 结构 应用场景 资源管理&#xff1a;当需要共享某个资源时&#xff0c;例如数据库连接、线程池、日志对象等&#xff0c;可以使用单例模…

OpenCV(六) —— Android 下的人脸识别

本篇我们来介绍在 Android 下如何实现人脸识别。 上一篇我们介绍了如何在 Windows 下通过 OpenCV 实现人脸识别&#xff0c;实际上&#xff0c;在 Android 下的实现的核心原理是非常相似的&#xff0c;因为 OpenCV 部分的代码改动不大&#xff0c;绝大部分代码可以直接移植到 …

银行ETL-监管报送

1104报表 1104报表主要包括&#xff1a;资产负债&#xff0c;表外业务、流动性风险、贷款质量、投向行业和地区、重点客户等。 1104报表分类 普通报表、机构特色类报表。 反洗钱 大额交易、可疑交易。标签分类&#xff1a;疑似犯罪、疑似毒品、疑似传销。 反洗钱—接口报…

正点原子[第二期]Linux之ARM(MX6U)裸机篇学习笔记-11.1,11.2-BSP文件目录组织

前言&#xff1a; 本文是根据哔哩哔哩网站上“正点原子[第二期]Linux之ARM&#xff08;MX6U&#xff09;裸机篇”视频的学习笔记&#xff0c;在这里会记录下正点原子 I.MX6ULL 开发板的配套视频教程所作的实验和学习笔记内容。本文大量引用了正点原子教学视频和链接中的内容。…