微信又被吐槽了,委屈啊
昨天的时候,一打开微博热搜榜,一看,微信又被吐槽了,微信占用存储这件事几乎年年会被骂,几乎也会年年被吐槽。
这次的起因呢,是一个人整理了一个方法:「微信内存从 126G 清理到 75G 我是怎么做到的」,这个话题讨论,随即就被推上了热搜榜,引来了新一轮的吐槽。

微信占用存储这件事,不多说了,毕竟,说了大家也不相信。
要不还是多说一句吧,之所以占用存储是因为微信后端服务器不保存用户聊天记录,所以,聊天记录都存在了本地,用户的数据自己保存,安全自己负责。
其实,我想通过这个话题聊另外一件事,那就是移动端程序员的未来在哪里?
最近很多人都在转发一篇文章什么北京 IT 互联网崩盘了之类的。很多人就焦虑了,说我们移动端程序员是不是未来也崩盘了?未来到底在哪里呢?
咱聊未来之前,先从几个定律聊起。
首先是摩尔定律,我相信身处在互联网世界的我们,尤其是我们 IT 人士应该都了解过摩尔定律。
所谓的摩尔定律就是英特尔创始人之一戈登・摩尔的经验之谈,其核心内容为:集成电路上可以容纳的晶体管数目在大约每经过 18 个月到 24 个月便会增加一倍。换言之,处理器的性能大约每两年翻一倍,同时价格下降为之前的一半。
摩尔定律是内行人摩尔的经验之谈,汉译名为 “定律”,但并非自然科学定律,它一定程度揭示了信息技术进步的速度。
摩尔定律对于大家的好处很容易理解,每过一段时间,我们就能用到更便宜、性能更好的产品了,这是人类有史以来最爽的事情,因为在此之前大家总是抱怨东西涨价。
看看手机就知道了,芯片性能一直在增加,而手机价格却不怎么增长,甚至千元机性能也很好,这都要归功于摩尔定律。
但是,这就是几家欢喜几家愁的事情。
有摩尔定律就有反摩尔定律。
从另一个角度讲,厂家就悲催了,因为如果它生产和制造同样的东西,18 个月后收入就降了一半。这种从反面看摩尔定律的表述方式是 Google 前 CEO 施密特博士提出来的,因此也就叫反摩尔定律。
反摩尔定律让 IT 行业变成了青春饭,因为大部分从业者只有两个结局 —— 要么你的进步速度比摩尔定律更快,这样你会很累,很难干到老。要么干几年后赶不上同行的进度,不得不离开。不论是哪一种,都是青春饭。
至于怎么破局,简单讲,就是能力的增长要快过年纪的增长。在 IT 行业中,对于制作硬件的公司,摩尔定律的负面效果更明显,因为它让利润率变得越来越薄,直到企业关门。
施密特到 Google 之前是著名的计算机工作站和服务器公司太阳微系统公司的 CTO,看到太阳公司的业绩一年不如一年,感叹人再有办法也拗不过规律,才讲出了反摩尔定律。
但是对个人来讲,从事硬件的个人反而不容易被淘汰,因为经验在这个行业里很重要。相比之下,单纯从事软件工作的人,很容易被淘汰。
看到了吗?摩尔定律竟然也是导致我们 IT 行业吃青春饭,这么累的原因。
程序员为什么会这么累呢?我们能不能不跟着硬件来改变软件呢?
这就需要从另外一个定律讲起了。
就是安迪-比尔定律。
我相信大家都有这种感受,就是手机最少两三年就得换一部,因为不换的话,手机就会卡,为什么会卡呢?
因为软件越来越大了,占用内存越来越高了。
手机性能不如现在的时候,软件才占几M ,甚至几十 M 就够了,现在一个普通的小软件占用内存都得几百 M 甚至,上 G 。
不断更新的软件越来越慢,吃掉了你的手机硬件性能的提升。这在 IT 产业中,被称为安迪-比尔定律。
安迪是英特尔公司原 CEO 安迪・格鲁夫,比尔就是大家熟知的微软公司创始人比尔・盖茨。安迪-比尔定律原来的表述是 “安迪所给你的,比尔将它们拿走”。也就是说,英特尔等公司按照摩尔定律提升的硬件性能,都被以微软为代表的软件公司消耗掉了,使得你不得不去买新的硬件。
但是,现在有两个新情况出现了。
一个是摩尔定律可能到极限了,也就是性能未来可能会提升,但是,不会这么快了;另外一个情况是经济环境变了,大家消费开始变得保守了,一个手机可能会用三四年,甚至更长。
这就意味着什么?意味着在硬件不变的前提下,要想让机器运行的更快,就需要不断的优化软件。
所以,对于移动端程序员的未来我认为在于底层和性能优化。
你要懂得如何给软件做性能优化,或者是系统级的性能优化,如何让软件运行的更好、更快。
你会优化软件也行,会 framework 层的知识,懂得如何优化系统也行。
这可能是比较好的择业方向。
如果你是一个还没有进入互联网行业的学生,那么未来最好学习一下性能优化或者 framework 系统层的知识,这是优势。
当然了,数据安全方向也是一个不错的选择,虽然,微信说不保存大家的聊天记录,所以存在了用户自己本地,大家还是不相信,但是,正是因为这种不相信,未来数据安全方面也是非常重要的一个就业方向。
这是我的一点思考和感悟。
点击下方公众号卡片,关注我
在公众号对话框,回复关键字 “1024”
免费领取副业赚钱实操教程

相关文章:
微信又被吐槽了,委屈啊
昨天的时候,一打开微博热搜榜,一看,微信又被吐槽了,微信占用存储这件事几乎年年会被骂,几乎也会年年被吐槽。 这次的起因呢,是一个人整理了一个方法:「微信内存从 126G 清理到 75G 我是怎么做到…...
刷题笔记27——并查集
很长一段时间,我的生活看似马上就要开始了。但是总有一些障碍阻挡着,有些事得先解决,有些工作还有待完成,时间貌似不够用,还有一笔债务8要去付清,然后生活就会开始。最后我终于明白,这些障碍&am…...
Python 模拟类属性
文章目录 模拟类属性的原因模拟类属性的可能解决方案使用 PropertyMock 模拟类属性在不使用 PropertyMock 的情况下模拟类属性Python 模拟类构造函数使用 patch.object 装饰器来修补构造函数本文的主要目的是介绍如何使用 python 单元测试模块 unittest 操作类属性以进行测试和…...
面试算法24:反转链表
题目 定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点。例如,把图4.8(a)中的链表反转之后得到的链表如图4.8(b)所示。 分析 由于节点j的next指针指向了它的前一个节…...
【论文阅读】面向抽取和理解基于Transformer的自动作文评分模型的隐式评价标准(实验结果部分)
方法 结果 在这一部分,我们展示对于每个模型比较的聚合的统计分析当涉及到计算特征和独立的特征组(表格1),抽取功能组和对齐重要功能组(表格2),并且最后,我们提供从模型比较&#x…...
VueRouter与expres/koa中间件的关联
ueRouter: runQueue 路由守卫都是有三个参数to,from,next。其中next就是下方的fn执行时候传入的第二个参数(回调函数),只有该回调执行后才会挨个遍历queue内的守卫。 中间件的作用 隔离基础设施与业务逻辑之间的细节。详细的内容位于《深入浅出Node.js》P210 另外一…...
二十、SpringCloud Alibaba Seata处理分布式事务
目录 一、分布式事务问题1、分布式之前2、分布式之后 二、Seata简介1、Seata是什么?2、Seata能干嘛?3、去拿下?4、怎么玩 三、Seata-server安装四、订单、库存、账户业务数据库准备五、订单、库存、账户业务微服务准备六、Seata原理介绍 一、…...
标准误与聚类稳健标准误的理解
1 标准误 1.1 定义 标准误(Standard Error)是用来衡量统计样本估计量(如均值、回归系数等)与总体参数之间的差异的一种统计量。标准误衡量了样本估计量的变异程度,提供了对总体参数的估计的不确定性的度量。标准误越…...
【Github】将本地仓库同步到github上
许久没有用GitHub了,怎么传仓库都忘记了。在这里记录一下 If you have a local folder on your machine and you want to transform it into a GitHub repository, follow the steps below: 1. Install Git (if not already installed) Make sure you have Git in…...
c++视觉--通道分离,合并处理,在分离的通道中的ROI感兴趣区域里添加logo图片
c视觉–通道分离,合并处理 通道分离: split()函数 #include <opencv2/opencv.hpp>int main() {// 读取图像cv::Mat image cv::imread("1.jpg");// 检查图像是否成功加载if (image.empty()) {std::cerr << "Error: Could not read the…...
python爬虫:多线程收集/验证IP从而搭建有效IP代理池
目录 一、前言 二、IP池的实现 1. 收集代理IP 2. 验证代理IP可用性 3. 搭建IP代理池 三、多线程实现 四、代理IP的使用 五、总结 一、前言 在网络爬虫中,IP代理池的作用非常重要。网络爬虫需要大量的IP地址来发送请求,同时为了降低被封禁的风险…...
阻塞队列以及阻塞队列的一个使用
阻塞队列以及阻塞队列的一个使用 阻塞队列简介 阻塞队列(Blocking Queue)是一种常见的队列数据结构,它具有特殊的行为,可以用于多线程编程中,以协调不同线程之间的任务执行和数据传递。阻塞队列在多线程环境中非常有…...
kafka的请求处理机制
目录 前言: kafak是如何处理请求的? 控制请求与数据类请求 参考资料 前言: 无论是 Kafka 客户端还是 Broker 端,它们之间的交互都是通过“请求 / 响应”的方式完成的。比如,客户端会通过网络发送消息生产请求给 B…...
Linux系统管理:虚拟机Centos Stream 9安装
目录 一、理论 1.Centos Stream 9 二、实验 1.虚拟机Centos Stream 9安装准备阶段 2.安装Centos Stream 9 3.进入系统 一、理论 1.Centos Stream 9 (1) 简介 CentOS Stream 是一种 Linux 操作系统。安装此操作系统的难题在于,在安装此系统之前,…...
5种排序算法
文章目录 一,排序算法时间复杂度比较二,插入排序三,冒泡排序四,快速排序五,堆排序六,二分归并排序 一,排序算法时间复杂度比较 算法最坏情况下平均情况下插入排序O(n )O(n)冒泡排序O(n)O(n)快速…...
TCP/IP(七)TCP的连接管理(四)
一 全连接队列 nginx listen 参数backlog的意义 nginx配置文件中listen后面的backlog配置 ① TCP全连接队列概念 全连接队列: 也称 accept 队列 ② 查看应用程序的 TCP 全连接队列大小 实验1: ss 命令查看 LISTEN状态下 Recv-Q/Send-Q 含义附加:…...
LeetCode【84】柱状图中的最大矩形
题目: 思路: https://blog.csdn.net/qq_28468707/article/details/103682528 https://www.jianshu.com/p/2b9a36a548fa 清晰 代码: public int largestRectangleArea(int[] heights) {int[] heightadd new int[heights.length 1];for (i…...
C++:关于模拟实现vector和list中迭代器模块的理解
文章目录 list和vector的迭代器对比list的实现过程完整代码 本篇是关于vector和list的模拟实现中,关于迭代器模块的更进一步理解,以及在前文的基础上增加对于反向迭代器的实现和库函数的对比等 本篇是写于前面模拟实现的一段时间后,重新回头…...
HTML 笔记 表格
1 表格基本语法 tr:table row th:table head 2 表格属性 2.1 基本属性 表格的基本属性是指表格的行、列和单元格但并不是每个表格的单元格大小都是统一的,所以需要设计者通过一些属性参数来修改表格的样子,让它们可以更更多样…...
3.1 C/C++ 使用字符与指针
C/C语言是一种通用的编程语言,具有高效、灵活和可移植等特点。C语言主要用于系统编程,如操作系统、编译器、数据库等;C语言是C语言的扩展,增加了面向对象编程的特性,适用于大型软件系统、图形用户界面、嵌入式系统等。…...
超短脉冲激光自聚焦效应
前言与目录 强激光引起自聚焦效应机理 超短脉冲激光在脆性材料内部加工时引起的自聚焦效应,这是一种非线性光学现象,主要涉及光学克尔效应和材料的非线性光学特性。 自聚焦效应可以产生局部的强光场,对材料产生非线性响应,可能…...
三维GIS开发cesium智慧地铁教程(5)Cesium相机控制
一、环境搭建 <script src"../cesium1.99/Build/Cesium/Cesium.js"></script> <link rel"stylesheet" href"../cesium1.99/Build/Cesium/Widgets/widgets.css"> 关键配置点: 路径验证:确保相对路径.…...
【力扣数据库知识手册笔记】索引
索引 索引的优缺点 优点1. 通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。2. 可以加快数据的检索速度(创建索引的主要原因)。3. 可以加速表和表之间的连接,实现数据的参考完整性。4. 可以在查询过程中,…...
python/java环境配置
环境变量放一起 python: 1.首先下载Python Python下载地址:Download Python | Python.org downloads ---windows -- 64 2.安装Python 下面两个,然后自定义,全选 可以把前4个选上 3.环境配置 1)搜高级系统设置 2…...
第25节 Node.js 断言测试
Node.js的assert模块主要用于编写程序的单元测试时使用,通过断言可以提早发现和排查出错误。 稳定性: 5 - 锁定 这个模块可用于应用的单元测试,通过 require(assert) 可以使用这个模块。 assert.fail(actual, expected, message, operator) 使用参数…...
2025 后端自学UNIAPP【项目实战:旅游项目】6、我的收藏页面
代码框架视图 1、先添加一个获取收藏景点的列表请求 【在文件my_api.js文件中添加】 // 引入公共的请求封装 import http from ./my_http.js// 登录接口(适配服务端返回 Token) export const login async (code, avatar) > {const res await http…...
新能源汽车智慧充电桩管理方案:新能源充电桩散热问题及消防安全监管方案
随着新能源汽车的快速普及,充电桩作为核心配套设施,其安全性与可靠性备受关注。然而,在高温、高负荷运行环境下,充电桩的散热问题与消防安全隐患日益凸显,成为制约行业发展的关键瓶颈。 如何通过智慧化管理手段优化散…...
让AI看见世界:MCP协议与服务器的工作原理
让AI看见世界:MCP协议与服务器的工作原理 MCP(Model Context Protocol)是一种创新的通信协议,旨在让大型语言模型能够安全、高效地与外部资源进行交互。在AI技术快速发展的今天,MCP正成为连接AI与现实世界的重要桥梁。…...
如何理解 IP 数据报中的 TTL?
目录 前言理解 前言 面试灵魂一问:说说对 IP 数据报中 TTL 的理解?我们都知道,IP 数据报由首部和数据两部分组成,首部又分为两部分:固定部分和可变部分,共占 20 字节,而即将讨论的 TTL 就位于首…...
Mac下Android Studio扫描根目录卡死问题记录
环境信息 操作系统: macOS 15.5 (Apple M2芯片)Android Studio版本: Meerkat Feature Drop | 2024.3.2 Patch 1 (Build #AI-243.26053.27.2432.13536105, 2025年5月22日构建) 问题现象 在项目开发过程中,提示一个依赖外部头文件的cpp源文件需要同步,点…...
