微信又被吐槽了,委屈啊
昨天的时候,一打开微博热搜榜,一看,微信又被吐槽了,微信占用存储这件事几乎年年会被骂,几乎也会年年被吐槽。
这次的起因呢,是一个人整理了一个方法:「微信内存从 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语言的扩展,增加了面向对象编程的特性,适用于大型软件系统、图形用户界面、嵌入式系统等。…...
【大模型RAG】拍照搜题技术架构速览:三层管道、两级检索、兜底大模型
摘要 拍照搜题系统采用“三层管道(多模态 OCR → 语义检索 → 答案渲染)、两级检索(倒排 BM25 向量 HNSW)并以大语言模型兜底”的整体框架: 多模态 OCR 层 将题目图片经过超分、去噪、倾斜校正后,分别用…...
OpenLayers 可视化之热力图
注:当前使用的是 ol 5.3.0 版本,天地图使用的key请到天地图官网申请,并替换为自己的key 热力图(Heatmap)又叫热点图,是一种通过特殊高亮显示事物密度分布、变化趋势的数据可视化技术。采用颜色的深浅来显示…...
SciencePlots——绘制论文中的图片
文章目录 安装一、风格二、1 资源 安装 # 安装最新版 pip install githttps://github.com/garrettj403/SciencePlots.git# 安装稳定版 pip install SciencePlots一、风格 简单好用的深度学习论文绘图专用工具包–Science Plot 二、 1 资源 论文绘图神器来了:一行…...
聊聊 Pulsar:Producer 源码解析
一、前言 Apache Pulsar 是一个企业级的开源分布式消息传递平台,以其高性能、可扩展性和存储计算分离架构在消息队列和流处理领域独树一帜。在 Pulsar 的核心架构中,Producer(生产者) 是连接客户端应用与消息队列的第一步。生产者…...
Module Federation 和 Native Federation 的比较
前言 Module Federation 是 Webpack 5 引入的微前端架构方案,允许不同独立构建的应用在运行时动态共享模块。 Native Federation 是 Angular 官方基于 Module Federation 理念实现的专为 Angular 优化的微前端方案。 概念解析 Module Federation (模块联邦) Modul…...
涂鸦T5AI手搓语音、emoji、otto机器人从入门到实战
“🤖手搓TuyaAI语音指令 😍秒变表情包大师,让萌系Otto机器人🔥玩出智能新花样!开整!” 🤖 Otto机器人 → 直接点明主体 手搓TuyaAI语音 → 强调 自主编程/自定义 语音控制(TuyaAI…...
OpenLayers 分屏对比(地图联动)
注:当前使用的是 ol 5.3.0 版本,天地图使用的key请到天地图官网申请,并替换为自己的key 地图分屏对比在WebGIS开发中是很常见的功能,和卷帘图层不一样的是,分屏对比是在各个地图中添加相同或者不同的图层进行对比查看。…...
RNN避坑指南:从数学推导到LSTM/GRU工业级部署实战流程
本文较长,建议点赞收藏,以免遗失。更多AI大模型应用开发学习视频及资料,尽在聚客AI学院。 本文全面剖析RNN核心原理,深入讲解梯度消失/爆炸问题,并通过LSTM/GRU结构实现解决方案,提供时间序列预测和文本生成…...
Python ROS2【机器人中间件框架】 简介
销量过万TEEIS德国护膝夏天用薄款 优惠券冠生园 百花蜂蜜428g 挤压瓶纯蜂蜜巨奇严选 鞋子除臭剂360ml 多芬身体磨砂膏280g健70%-75%酒精消毒棉片湿巾1418cm 80片/袋3袋大包清洁食品用消毒 优惠券AIMORNY52朵红玫瑰永生香皂花同城配送非鲜花七夕情人节生日礼物送女友 热卖妙洁棉…...
基于Springboot+Vue的办公管理系统
角色: 管理员、员工 技术: 后端: SpringBoot, Vue2, MySQL, Mybatis-Plus 前端: Vue2, Element-UI, Axios, Echarts, Vue-Router 核心功能: 该办公管理系统是一个综合性的企业内部管理平台,旨在提升企业运营效率和员工管理水…...
