工作中如何提高技术实力?
点击“硬核王同学”,选择“关注/三连”
福利干货第一时间送达
大家好,我是硬核王同学。
其实这个问题困扰了我很久啊,不知道你们有没有跟我一样。
如何在工作中如何提高技术实力?
随着时间的增加,越来越觉得工作上的这些东西我仅仅只是会用,对技术实力的提升非常有限,经常会对理论知识和工作实践无法很好的打通感到困惑。
直到最近,有出版社送了我一本书——《深入理解Linux进程与内存》,才找到答案。
我也是没想到,我居然能被送书,哈哈哈!
刚开始还觉得这本书不太适合我,有一半讲的是go和容器什么的,跟我工作内容没有半毛钱关系,但是也讲了一些进程、线程和内存、性能优化等等的东西,还是比较有用的,所以就大致翻看了一下。
发现一个很有意思的事情,这本书前言中的6页内容,就已经值这本书的一半价钱了。
这6页内容,实际上就讲了两个事情,一个是讲开发人员如何在工作中提高技术实力,还有一个是如何进行时间管理。
其实如果你要提升技术实力,这本书里就讲了可以分成这三步。
首先,时刻保持好奇心,发现工作中存在的问题;
其次,以问题为起点,对底层原理进行深入的、成体系化的修炼;
最后,思考出结论后再尝试将其应用到项目中,以解决问题并提升项目效果。

通过这三步,可以构成一个非常好的正循环。可以很好的提升技术实力了。
当然,还有一些其他的注意事项,我也总结下:
1.想要成为一名技术专家,一定要深入修炼技术能力,要了解整个的开发技术栈,对应用所依赖的各种底层有足够多的了解。

2.要学以致用,在学习的过程中,将手头工作的真实需求结合起来,进入一个良性循环。

3.对技术应该主深度,辅广度。在工作学习中,首先加强对深层内核技术的理解和把握,慢慢再拓展宽度。
4.要用“精确制导”的方式来阅读底层源码,当你在阅读源码的时候,要时刻牢记要消灭的问题是什么。如果某段逻辑和你要解决的问题无关,那就绕过去,不要恋战!
以上这些就是讲了如何在工作中提升技术开发实力的,
还有一个是讲如何时间管理。
相信很多人都觉得,工作以后很难有大量的时间进行学习,每天上晚班就只想躺着了,根本就没有时间可以学习,提升自己的技术实力。
而这本书里讲的就和马斯克那种的时间管理有些不太一样,并没有用到像时间拳击那种高级的技巧,仅仅是通过简单而微小的改变,就可以节省大量时间。
1.提高注意力,高度专注,也就是提高效率。
如果注意力不能够专注下来,只是堆大量的时间来做事情,那除了感动自己之外没有任何实际的意义。
我们可以选择合适的学习地点或番茄工作法来提高短时间内的注意力。
2.规律化的碎片时间投入。
现在大家的工作本身就都比较忙了,所以想像学生时代那样,抽大块的时间来学习几乎是不可能的事情了。
但是规律化地抽一块碎片化的时间却是完全可以的。
这些碎片化的时间虽然单个看起来不是很起眼,但是如果你把这些事情都用来做一件固定的事情的话,长期积累下来你会发现它的威力不容小觑。
并且作者说他个人的技术成长几乎都是在这种时间里完成突破的。在工作中,更多的是对这些技术的应用和实践。
3.通勤时间要尽可能地短。
这个我深有体会啊,尤其是在一线城市,通勤在1h以上真的非常普遍,而且超长的上班距离致使我痛苦不堪,后来直接搬到上班走路10分钟的地方,节约下了非常多的时间用于学习,要不然像这样的书,我可能半年都读不了一本。
《深入理解Linux进程与内存》这本书的作者呢,是张彦飞,飞哥。在腾讯、字节等大厂工作了10多年,有着非常丰富的实战开发经验。
主要是做后端的。但是这本书对Linux进程、内存、性能优化等等有很深的讲解,甚至前一两章都深入到CPU、内存的硬件原理开始讲起,并且这本书始终围绕着以和工作相关的实际问题为核心创作的。
所以想要提升自己技术实力的,一定要看一下这本书,也可以去当地的图书馆借阅一下,如果对你当前工作特别有帮助,我建议可以入手一本,当做工具书,方便解决工作中碰到的问题。
------ END ------
如果觉得有用请点个免费的赞
您的支持就是我最大的动力,这对我很重要!!
相关文章:
工作中如何提高技术实力?
点击“硬核王同学”,选择“关注/三连” 福利干货第一时间送达 大家好,我是硬核王同学。 其实这个问题困扰了我很久啊,不知道你们有没有跟我一样。 如何在工作中如何提高技术实力? 随着时间的增加,越来越觉得工作上…...
画图,matlab,
clear;close all;clc;tic;dirOutput dir(*.dat); % 罗列所有后缀-1.dat的文件列表,罗列BDDATA的数据 filenames string({dirOutput.name}); % 提取文件名%% 丢包统计 FILENAMES [""]; LOSS_YTJ [ ]; LOSS_RAD [ ]; LOSS_ETH [ ]…...
Java虚拟机类加载(解析阶段)[虚方法表的生成以及其存在意义]
class字节码文件中的常量池结构详解-CSDN博客Java虚拟机类加载(解析阶段)-CSDN博客...
电子元器件与电路之-MOS管的介绍和作用
一、基本概念 MOS 管,或MOSFET,全称是Metal-Oxide-Semiconductor Field-Effect Transistor(金属 - 氧化物 - 半导体场效应晶体管)。和三极管利用电流控制电流不同,它是一种利用电场效应来控制电流的半导体器件。和三级…...
python实现word转html
目录 使用mammoth库 使用spire.doc库 使用mammoth库 mammoth库支持将word转为HTML和markdown格式的文件。 import mammothdef word_html(word_file):html_save_name fr{word_file.split(.)[0]}.htmlwith open(word_file, rb) as f:data mammoth.convert_to_html(f)with o…...
nginx模块ngx-fancyindex 隐藏标题中的 / 和遇到的坑
首先下载nginx源码,编译时加上 --add-module/usr/local/src/ngx-fancyindex/ 例如 : ./configure --prefix/usr/local/nginx --with-select_module --with-poll_module --with-threads --with-file-aio --with-http_ssl_module --with-http_v2_module…...
第二十四天 循环神经网络(RNN)LSTM与GRU
LSTM(长短期记忆网络)和GRU(门控循环单元)是两种流行的循环神经网络变体,它们被设计来解决传统RNN在处理长序列数据时遇到的梯度消失和梯度爆炸问题。这两种网络都通过引入门控机制来控制信息的流动,从而能…...
RocketMQ如何保证消息顺序?
大家好,我是锋哥。今天分享关于【RocketMQ如何保证消息顺序?】面试题。希望对大家有帮助; RocketMQ如何保证消息顺序? 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 RocketMQ 作为一个分布式消息中间件,提供了高吞吐、低延迟的…...
LabVIEW实现GSM/GPRS通信
目录 1、GSM/GPRS通信原理 2、硬件环境部署 3、程序架构 4、前面板设计 5、程序框图设计 6、测试验证 本专栏以LabVIEW为开发平台,讲解物联网通信组网原理与开发方法,覆盖RS232、TCP、MQTT、蓝牙、Wi-Fi、NB-IoT等协议。 结合实际案例,展示如何利用LabVIEW和常用模块实现物联…...
关于如何做技术文档
在技术的浩瀚海洋中,一份优秀的技术文档宛如精准的航海图。它是知识传承的载体,是团队协作的桥梁,更是产品成功的幕后英雄。然而,打造这样一份出色的技术文档并非易事。你是否在为如何清晰阐释复杂技术而苦恼?是否纠结…...
基于多尺度动态卷积的图像分类
✨✨ 欢迎大家来访Srlua的博文(づ ̄3 ̄)づ╭❤~✨✨ 🌟🌟 欢迎各位亲爱的读者,感谢你们抽出宝贵的时间来阅读我的文章。 我是Srlua小谢,在这里我会分享我的知识和经验。&am…...
RK3576 介绍
RK3576 介绍 1 介绍1.1 概述1.2 RK3576、RK3588、RK3568 和 RK3399 的参数对比 2 DataSheet2.1 RK35762.2 RK35882.3 RK35682.4 RK3399 参考 1 介绍 1.1 概述 ARM 64位高性能八核通用处理器,丰富的PCIE/USB3.0/SATA/GMAC等各类高速及CAN FD/DSMC/UART/SPI/I2C/I3C…...
如何评估并持续优化AI呼出机器人的使用效果
如何评估并持续优化AI呼出机器人的使用效果 作者:开源呼叫中心FreeIPCC 随着人工智能技术的发展,AI呼出机器人在企业中的应用越来越广泛。这些智能系统不仅提高了工作效率、降低了成本,还改善了客户体验。然而,要确保AI呼出机器…...
Ubuntu上如何部署Nginx?
环境: Unbuntu 22.04 问题描述: Ubuntu上如何部署Nginx? 解决方案: 在Ubuntu上部署Nginx是一个相对简单的过程,以下是详细的步骤指南。我们将涵盖安装Nginx、启动服务、配置防火墙以及验证安装是否成功。 1. 更新…...
制造业4.0:AI与机器人如何重塑生产线
引言:从传统到未来的转型 在轰鸣的生产线上,传统制造业曾以规模化生产和成本效益为核心竞争力,推动了全球工业化进程。然而,面对现代市场的多样化需求和激烈竞争,这种模式正暴露出越来越多的局限性:产能过剩…...
ChatGPT与领域特定语言的集成
用ChatGPT做软件测试 领域特定语言(Domain-Specific Language,DSL)是一种编程语言,专门设计用于满足特定领域或问题领域的需求。它是一种定制的语言,通常包括特定领域的专业术语以及相应的语法规则。DSL的设计旨在让领…...
【记录50】uniapp安装uview插件,样式引入失败分析及解决
SassError: Undefined variable: "$u-border-color". 表示样式变量$u-border-color没定义,实际是定义的 首先确保安装了scss/sass 其次,根目录下 app.vue中是否全局引入 <style lang"scss">import /uni_modules/uview-ui/in…...
【WPF】把DockPanel的内容生成图像
要在WPF中将一个 DockPanel 的内容生成为图像并保存,可以按照与之前类似的步骤进行,但这次我们将专注于 DockPanel 控件而不是整个窗口。 DockPanel的使用 WPF(Windows Presentation Foundation)中的 DockPanel 是一种布局控件&…...
买卖股票的最佳时机 - 合集
************* C 买卖股票问题合集 ************* Since I have finished some stocks problems. I wanna make a list of the stocks to figure out the similarities. Here is the storks topucs list, from easy to hard: 121. 买卖股票的最佳时机 - 力扣(L…...
lshw学习——简单介绍
文章目录 简介核心结构扫描设备原理scan_abiscan_burnerscan_cdromscan_cpufreqscan_cpuidscan_cpuinfoscan_device_treescan_diskscan_displayscan_dmiscan_fatscan_fbscan_graphicsscan_idescan_ideraidscan_inputscan_isapnpscan_lvmscan_memoryscan_mmcscan_mountsscan_net…...
eNSP-Cloud(实现本地电脑与eNSP内设备之间通信)
说明: 想象一下,你正在用eNSP搭建一个虚拟的网络世界,里面有虚拟的路由器、交换机、电脑(PC)等等。这些设备都在你的电脑里面“运行”,它们之间可以互相通信,就像一个封闭的小王国。 但是&#…...
OpenLayers 可视化之热力图
注:当前使用的是 ol 5.3.0 版本,天地图使用的key请到天地图官网申请,并替换为自己的key 热力图(Heatmap)又叫热点图,是一种通过特殊高亮显示事物密度分布、变化趋势的数据可视化技术。采用颜色的深浅来显示…...
【kafka】Golang实现分布式Masscan任务调度系统
要求: 输出两个程序,一个命令行程序(命令行参数用flag)和一个服务端程序。 命令行程序支持通过命令行参数配置下发IP或IP段、端口、扫描带宽,然后将消息推送到kafka里面。 服务端程序: 从kafka消费者接收…...
解决Ubuntu22.04 VMware失败的问题 ubuntu入门之二十八
现象1 打开VMware失败 Ubuntu升级之后打开VMware上报需要安装vmmon和vmnet,点击确认后如下提示 最终上报fail 解决方法 内核升级导致,需要在新内核下重新下载编译安装 查看版本 $ vmware -v VMware Workstation 17.5.1 build-23298084$ lsb_release…...
论文解读:交大港大上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(一)
宇树机器人多姿态起立控制强化学习框架论文解析 论文解读:交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(一) 论文解读:交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化…...
Rust 异步编程
Rust 异步编程 引言 Rust 是一种系统编程语言,以其高性能、安全性以及零成本抽象而著称。在多核处理器成为主流的今天,异步编程成为了一种提高应用性能、优化资源利用的有效手段。本文将深入探讨 Rust 异步编程的核心概念、常用库以及最佳实践。 异步编程基础 什么是异步…...
JDK 17 新特性
#JDK 17 新特性 /**************** 文本块 *****************/ python/scala中早就支持,不稀奇 String json “”" { “name”: “Java”, “version”: 17 } “”"; /**************** Switch 语句 -> 表达式 *****************/ 挺好的ÿ…...
全志A40i android7.1 调试信息打印串口由uart0改为uart3
一,概述 1. 目的 将调试信息打印串口由uart0改为uart3。 2. 版本信息 Uboot版本:2014.07; Kernel版本:Linux-3.10; 二,Uboot 1. sys_config.fex改动 使能uart3(TX:PH00 RX:PH01),并让boo…...
什么是Ansible Jinja2
理解 Ansible Jinja2 模板 Ansible 是一款功能强大的开源自动化工具,可让您无缝地管理和配置系统。Ansible 的一大亮点是它使用 Jinja2 模板,允许您根据变量数据动态生成文件、配置设置和脚本。本文将向您介绍 Ansible 中的 Jinja2 模板,并通…...
安卓基础(aar)
重新设置java21的环境,临时设置 $env:JAVA_HOME "D:\Android Studio\jbr" 查看当前环境变量 JAVA_HOME 的值 echo $env:JAVA_HOME 构建ARR文件 ./gradlew :private-lib:assembleRelease 目录是这样的: MyApp/ ├── app/ …...
