当前位置: 首页 > news >正文

微信又被吐槽了,委屈啊

昨天的时候,一打开微博热搜榜,一看,微信又被吐槽了,微信占用存储这件事几乎年年会被骂,几乎也会年年被吐槽。

这次的起因呢,是一个人整理了一个方法:「微信内存从 126G 清理到 75G 我是怎么做到的」,这个话题讨论,随即就被推上了热搜榜,引来了新一轮的吐槽。

25eb0267b609d8957361beab7f88f4d6.png

微信占用存储这件事,不多说了,毕竟,说了大家也不相信。

要不还是多说一句吧,之所以占用存储是因为微信后端服务器不保存用户聊天记录,所以,聊天记录都存在了本地,用户的数据自己保存,安全自己负责。

其实,我想通过这个话题聊另外一件事,那就是移动端程序员的未来在哪里?

最近很多人都在转发一篇文章什么北京 IT 互联网崩盘了之类的。很多人就焦虑了,说我们移动端程序员是不是未来也崩盘了?未来到底在哪里呢?

咱聊未来之前,先从几个定律聊起。

首先是摩尔定律,我相信身处在互联网世界的我们,尤其是我们 IT 人士应该都了解过摩尔定律。

所谓的摩尔定律就是英特尔创始人之一戈登・摩尔的经验之谈,其核心内容为:集成电路上可以容纳的晶体管数目在大约每经过 18 个月到 24 个月便会增加一倍。换言之,处理器的性能大约每两年翻一倍,同时价格下降为之前的一半。

摩尔定律是内行人摩尔的经验之谈,汉译名为 “定律”,但并非自然科学定律,它一定程度揭示了信息技术进步的速度。

摩尔定律对于大家的好处很容易理解,每过一段时间,我们就能用到更便宜、性能更好的产品了,这是人类有史以来最爽的事情,因为在此之前大家总是抱怨东西涨价。

看看手机就知道了,芯片性能一直在增加,而手机价格却不怎么增长,甚至千元机性能也很好,这都要归功于摩尔定律。

但是,这就是几家欢喜几家愁的事情。

有摩尔定律就有反摩尔定律。

从另一个角度讲,厂家就悲催了,因为如果它生产和制造同样的东西,18 个月后收入就降了一半。这种从反面看摩尔定律的表述方式是 Google 前 CEO 施密特博士提出来的,因此也就叫反摩尔定律。

反摩尔定律让 IT 行业变成了青春饭,因为大部分从业者只有两个结局 —— 要么你的进步速度比摩尔定律更快,这样你会很累,很难干到老。要么干几年后赶不上同行的进度,不得不离开。不论是哪一种,都是青春饭。

至于怎么破局,简单讲,就是能力的增长要快过年纪的增长。在 IT 行业中,对于制作硬件的公司,摩尔定律的负面效果更明显,因为它让利润率变得越来越薄,直到企业关门。

施密特到 Google 之前是著名的计算机工作站和服务器公司太阳微系统公司的 CTO,看到太阳公司的业绩一年不如一年,感叹人再有办法也拗不过规律,才讲出了反摩尔定律。

但是对个人来讲,从事硬件的个人反而不容易被淘汰,因为经验在这个行业里很重要。相比之下,单纯从事软件工作的人,很容易被淘汰。

看到了吗?摩尔定律竟然也是导致我们 IT 行业吃青春饭,这么累的原因。

程序员为什么会这么累呢?我们能不能不跟着硬件来改变软件呢?

这就需要从另外一个定律讲起了。

就是安迪-比尔定律。

我相信大家都有这种感受,就是手机最少两三年就得换一部,因为不换的话,手机就会卡,为什么会卡呢?

因为软件越来越大了,占用内存越来越高了。

手机性能不如现在的时候,软件才占几M ,甚至几十 M 就够了,现在一个普通的小软件占用内存都得几百 M 甚至,上 G 。

不断更新的软件越来越慢,吃掉了你的手机硬件性能的提升。这在 IT 产业中,被称为安迪-比尔定律。

安迪是英特尔公司原 CEO 安迪・格鲁夫,比尔就是大家熟知的微软公司创始人比尔・盖茨。安迪-比尔定律原来的表述是 “安迪所给你的,比尔将它们拿走”。也就是说,英特尔等公司按照摩尔定律提升的硬件性能,都被以微软为代表的软件公司消耗掉了,使得你不得不去买新的硬件。

但是,现在有两个新情况出现了。

一个是摩尔定律可能到极限了,也就是性能未来可能会提升,但是,不会这么快了;另外一个情况是经济环境变了,大家消费开始变得保守了,一个手机可能会用三四年,甚至更长。

这就意味着什么?意味着在硬件不变的前提下,要想让机器运行的更快,就需要不断的优化软件。

所以,对于移动端程序员的未来我认为在于底层和性能优化。

你要懂得如何给软件做性能优化,或者是系统级的性能优化,如何让软件运行的更好、更快。

你会优化软件也行,会 framework 层的知识,懂得如何优化系统也行。

这可能是比较好的择业方向。

如果你是一个还没有进入互联网行业的学生,那么未来最好学习一下性能优化或者 framework 系统层的知识,这是优势。

当然了,数据安全方向也是一个不错的选择,虽然,微信说不保存大家的聊天记录,所以存在了用户自己本地,大家还是不相信,但是,正是因为这种不相信,未来数据安全方面也是非常重要的一个就业方向。

这是我的一点思考和感悟。

点击下方公众号卡片,关注我

在公众号对话框,回复关键字 “1024”

免费领取副业赚钱实操教程

921358d8aad4eee8d8c4b50dcb802e63.png

相关文章:

微信又被吐槽了,委屈啊

昨天的时候,一打开微博热搜榜,一看,微信又被吐槽了,微信占用存储这件事几乎年年会被骂,几乎也会年年被吐槽。 这次的起因呢,是一个人整理了一个方法:「微信内存从 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视觉–通道分离&#xff0c;合并处理 通道分离: 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的使用 五、总结 一、前言 在网络爬虫中&#xff0c;IP代理池的作用非常重要。网络爬虫需要大量的IP地址来发送请求&#xff0c;同时为了降低被封禁的风险…...

阻塞队列以及阻塞队列的一个使用

阻塞队列以及阻塞队列的一个使用 阻塞队列简介 阻塞队列&#xff08;Blocking Queue&#xff09;是一种常见的队列数据结构&#xff0c;它具有特殊的行为&#xff0c;可以用于多线程编程中&#xff0c;以协调不同线程之间的任务执行和数据传递。阻塞队列在多线程环境中非常有…...

kafka的请求处理机制

目录 前言&#xff1a; kafak是如何处理请求的&#xff1f; 控制请求与数据类请求 参考资料 前言&#xff1a; 无论是 Kafka 客户端还是 Broker 端&#xff0c;它们之间的交互都是通过“请求 / 响应”的方式完成的。比如&#xff0c;客户端会通过网络发送消息生产请求给 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 操作系统。安装此操作系统的难题在于&#xff0c;在安装此系统之前&#xff0c…...

5种排序算法

文章目录 一&#xff0c;排序算法时间复杂度比较二&#xff0c;插入排序三&#xff0c;冒泡排序四&#xff0c;快速排序五&#xff0c;堆排序六&#xff0c;二分归并排序 一&#xff0c;排序算法时间复杂度比较 算法最坏情况下平均情况下插入排序O(n )O(n)冒泡排序O(n)O(n)快速…...

TCP/IP(七)TCP的连接管理(四)

一 全连接队列 nginx listen 参数backlog的意义 nginx配置文件中listen后面的backlog配置 ① TCP全连接队列概念 全连接队列: 也称 accept 队列 ② 查看应用程序的 TCP 全连接队列大小 实验1&#xff1a; ss 命令查看 LISTEN状态下 Recv-Q/Send-Q 含义附加&#xff1a;…...

LeetCode【84】柱状图中的最大矩形

题目&#xff1a; 思路&#xff1a; https://blog.csdn.net/qq_28468707/article/details/103682528 https://www.jianshu.com/p/2b9a36a548fa 清晰 代码&#xff1a; public int largestRectangleArea(int[] heights) {int[] heightadd new int[heights.length 1];for (i…...

C++:关于模拟实现vector和list中迭代器模块的理解

文章目录 list和vector的迭代器对比list的实现过程完整代码 本篇是关于vector和list的模拟实现中&#xff0c;关于迭代器模块的更进一步理解&#xff0c;以及在前文的基础上增加对于反向迭代器的实现和库函数的对比等 本篇是写于前面模拟实现的一段时间后&#xff0c;重新回头…...

HTML 笔记 表格

1 表格基本语法 tr&#xff1a;table row th&#xff1a;table head 2 表格属性 2.1 基本属性 表格的基本属性是指表格的行、列和单元格但并不是每个表格的单元格大小都是统一的&#xff0c;所以需要设计者通过一些属性参数来修改表格的样子&#xff0c;让它们可以更更多样…...

3.1 C/C++ 使用字符与指针

C/C语言是一种通用的编程语言&#xff0c;具有高效、灵活和可移植等特点。C语言主要用于系统编程&#xff0c;如操作系统、编译器、数据库等&#xff1b;C语言是C语言的扩展&#xff0c;增加了面向对象编程的特性&#xff0c;适用于大型软件系统、图形用户界面、嵌入式系统等。…...

PA100K数据集实战:从下载到结构化解析全流程

1. PA100K数据集初探&#xff1a;为什么选择它&#xff1f;如果你正在研究行人属性识别&#xff0c;PA100K绝对是个绕不开的宝藏数据集。这个数据集包含了10万张真实监控场景下的行人图像&#xff0c;每张图都标注了26种常见属性——从衣着风格&#xff08;比如是否穿T恤、裙子…...

古戏台构件声学特性的时域有限差分方法【附模型】

✨ 长期致力于时域有限差分法、窑洞、戏台、八字墙、共形技术研究工作&#xff0c;擅长数据搜集与处理、建模仿真、程序编写、仿真设计。 ✅ 专业定制毕设、代码 ✅ 如需沟通交流&#xff0c;点击《获取方式》 &#xff08;1&#xff09;曲面共形网格快速生成算法&#xff1a; …...

如何进行TVA仿真引擎的“光照地狱”训练?

重磅预告&#xff1a;本专栏将独家连载系列丛书《智能体视觉技术与应用》部分精华内容&#xff0c;该书是世界首套系统阐述“因式智能体”视觉理论与实践的专著&#xff0c;特邀美国 TypeOne 公司首席科学家、斯坦福大学博士 Bohan 担任技术顾问。Bohan先生师从美国三院院士、“…...

SMUDebugTool终极指南:如何深度掌控AMD Ryzen处理器的隐藏性能

SMUDebugTool终极指南&#xff1a;如何深度掌控AMD Ryzen处理器的隐藏性能 【免费下载链接】SMUDebugTool A dedicated tool to help write/read various parameters of Ryzen-based systems, such as manual overclock, SMU, PCI, CPUID, MSR and Power Table. 项目地址: ht…...

从安装到排错:手把手解决Linux服务器上Nacos启动失败的十大常见问题

从安装到排错&#xff1a;手把手解决Linux服务器上Nacos启动失败的十大常见问题当你在Linux服务器上部署Nacos时&#xff0c;是否遇到过启动失败却无从下手的困境&#xff1f;作为阿里巴巴开源的服务发现和配置管理平台&#xff0c;Nacos在微服务架构中扮演着重要角色。然而&am…...

基于PIC32的嵌入式MIDI合成器:从波表合成到硬件实现

1. 项目概述&#xff1a;一个基于嵌入式微控制器的MIDI声音合成器如果你对电子音乐制作、嵌入式开发&#xff0c;或者DIY硬件合成器感兴趣&#xff0c;那么“REMI Synth”这个项目绝对值得你花时间深入了解。它本质上是一个数字单音MIDI控制的声音合成器&#xff0c;核心是一块…...

基于Arduino与蓝牙模块的六路无线开关控制系统设计与实现

1. 项目概述&#xff1a;用手机蓝牙控制六路LED想不想把手机变成一个无线遥控器&#xff0c;随手一点就能开关家里的灯带、氛围灯&#xff0c;甚至是其他电器&#xff1f;这个项目就是为你准备的。它基于一块功能增强的Arduino兼容板——GlowDuino Uno&#xff0c;配合一个极其…...

Python strip 与 rstrip 函数区别

Python strip 与 rstrip 函数区别 文章目录Python strip 与 rstrip 函数区别一、核心作用二、基础语法三、基础使用示例四、指定删除特定字符五、常用业务场景一、核心作用 函数作用范围strip()移除字符串首尾空白字符rstrip()仅移除字符串右侧末尾字符&#xff0c;左侧保持不…...

告别Windows卡顿!在VMware里给Kubuntu 22.04 LTS分区和安装的保姆级避坑指南

告别Windows卡顿&#xff01;在VMware里给Kubuntu 22.04 LTS分区和安装的保姆级避坑指南你是否已经厌倦了Windows系统越来越慢的启动速度、频繁的后台更新和资源占用&#xff1f;当你的电脑开始频繁卡顿&#xff0c;或许该考虑给系统来一次"减负"了。Kubuntu 22.04 L…...

Claude服务治理架构升级(生产环境零停机迁移实录)

更多请点击&#xff1a; https://codechina.net 第一章&#xff1a;Claude服务治理架构升级&#xff08;生产环境零停机迁移实录&#xff09; 为应对日益增长的推理请求量与多租户策略精细化需求&#xff0c;我们对Claude服务治理层实施了从单体API网关向云原生服务网格的平滑…...