作为一个有追求的程序员,你应该掌握的七种武器

发现一个程序员最强外设,助你高效开发早日摸鱼! 日常写bug中,副屏是我们每个程序员必备的一个工具,我们都希望拥有一个强大好用的显示器。这篇文章我将介绍:如何将一块优秀的副屏与实际工作结合,发挥其最大价值,实现高效开发、快速摸鱼! 阅读详情

1科学上网

虽然国内互联网一片热闹的景象,但我们不得不承认,从硬件到软件,从协议到标准,我们现在使用的绝大部分技术都是起源于墙外,而Google是检索这些第一手技术的最好的手段,没有之一。

所以对码农来说,可以自由地浏览是非常有必要的。

有很多种科学上网方式,笔者推荐自己买海外主机搭建SS Server,可以和亲近朋友一起使用一台,具体怎么做就不是这篇文章能展开的了,大家可以百度下。

2剪贴板

相信大家最常用的快捷键就是复制和粘贴了。

假如你刚刚从Wiki的设计文档把一个API的URL复制下来准备写代码,发现经常聊天的一个技术群弹出一个消息,有个妹子问一个技术问题,凭借自己对技术的感觉很快在Stackoverflow搜到了答案, 赶紧把答案复制过去;突然又收到产品群发的一个邮件需要你去撕逼,写了几句之后,觉得某个措辞应该放到后面,刚剪切了第一句;经理在IM上让你把某个需求的Jira链接发给他......

你如果经常遇到这种情况,首先考虑的应该是把所有的打扰都屏蔽掉,如果做不到,那就安装一个剪贴板工具吧。

Windows下推荐ditto,Mac下推荐Alfred自带的。顺便提一下,类似Mac下的Alfred这种工具(Windows下的有TotalCommander),如果能研究透彻,会极大的提高工作效率。

3抓包

现在很多产品和需求都需要通过网络与用户或其他服务打交道。如果能细细的查看通过网络发送接收的数据内容,那发现和定位问题就会方便得多,这也是抓包工具的重要功能了。

Windows下的Fiddler,Mac下 的Charles都非常强大。这两者通过安装证书,甚至可以直接抓取Https的网络。

基于Web的应用,也可以直接考虑浏览器的开发者工具。例如,Chrome的开发者工具就非常强大:用XPath可以直接找到元素,可以直接修改元素的值和属性。 


如果想做更深层次的抓包,可以研究下Wireshark。

4文本编辑器

程序员经常要跟各种日志和数据打交道,一个熟悉的文本编辑器可以事半功倍。

笔者比较常用的功能有列模式,例如把一些数据直接编辑成SQL;正则替换,例如从不太标准的日志中提取自己所需的内容。

文本编辑器免费的有Sublime Text/Atom,商业软件有UltraEdit等。另外还有一种基于终端的文本编辑器,例如Nano/Vim/Emacs。如果从事Server开发,掌握这些编辑器的查找、修改、行号等功能是非常有必要的。

5笔记

在这个信息爆炸的时代,搜索引擎有时候也捉襟见肘。

子曰:"吾日三省吾身",做笔记是一个非常好的反省自己的手段,对每天的收获进行记录和整理,也方便后续快速解决类似问题。

市面上的笔记产品大同小异,笔者一直使用有道云笔记:支持MarkDown语法,免费,跨平台。 另外,思维导图也是一个非常好的整理自己知识的工具。

6脚本语言

假如突然接到一个这样的临时需求:需要给客户端提供一个模拟服务器,根据请求内容的不同,返回相应的JSON。

这个需求用Python SimpleHTTPServer十几行代码就能实现。很多类似的临时需求,还有需要快速验证的想法,以及粘合多个系统,脚本语言是最合适的。

在自己的主力开发语言之外熟悉一门脚本语言做很多事都可以事半功倍,也可以体验到另一种编程文化。

有很多脚本语言(shell,Ruby,Perl等等)可以选择,笔者推荐Python。Python这些年在很多领域都重新受到追捧。Python有2和3两种,推荐直接上手3,虽然很多老版本服务器系统自带的还是2,但是现在基本上所有的主流库都已经支持Python3了。 


如果单纯的当做一个脚本语言,只需要了解如何处理字符串,常用数据结构,如何处理文件和网络IO,基本就满足日常需求了。  

7自己的CodeBase

将自己编程经验提炼为一个CodeBase,这是非常有价值的做法。

经常需要的用模块,如Web框架、模板引擎、Http请求、单元测试以及Mock、Cache、调度、Metric、时间处理、安全、日志、XML/Excel解析等等,每一个模块都有三四种可以选择的技术,选择一个自己熟悉的,构建自己的软件开发栈,这样遇到各种需求都能快速基于自己的CodeBase的实现。


(完)

你看到的只是冰山一角, 更多精彩文章,请移步《2016文章精华》或者《2017上半年文章精华》


码农翻身

用故事讲述技术

0.jpeg

Python并发编程实战:从多线程到协程的七种武器与选型指南 并发与并行是提升程序性能的核心技术。并发通过逻辑上的任务交替执行,提高CPU在I/O等待期间的利用率,适用于网络请求、文件读写等场景;并行则通过多核物理同时执行,专攻计算密集型任务。Python因GIL限制,多线程在CPU密集型任务中无法实现真正并行,但通过多进程可有效利用多核资源。在工程实践中,理解这些原理能帮助开发者根据任务类型(I/O密集型或CPU密集型)选择合适方案,如使用多线程处理批量网络请求,或利用多进程加速数据处理。本文以实战项目为例,系统梳理了Python中同步阻塞、多线程、多进程、协程、线 阅读详情

相关推荐

C++项目集成脚本引擎:从Lua到Python的七种方案与实战解析

脚本引擎作为连接底层系统与动态逻辑的桥梁,其核心原理在于为宿主程序(如C++应用)提供一个安全的、可编程的运行时环境。通过暴露有限的宿主API,脚本能够调用原生函数与对象,实现业务逻辑的动态修改与扩展,而无需重新编译主程序。这一技术为软件工程带来了显著价值:它实现了核心引擎与可变逻辑的解耦,支持快速迭代与热更新,并允许非程序员通过脚本参与配置与定制。在游戏开发、工业软件、科学计算及插件系统等场景中,脚本引擎是提升灵活性与开发效率的关键。本文聚焦于C++项目,深入探讨了包括轻量级嵌入(如Lua)、深度集成(如

快马扬鞭须努力! 645

程序员编程必备的6大装备,比尔盖茨居然也用三个屏幕编程!

一套好的装备可以显著地提高程序员的身心健康和工作效率。 0、好的座椅 很多程序员调侃需要一本《颈椎康复指南》。 如果程序员颈椎出现问题,一般是座椅不符合人体工学的,好一点的座椅一般是不会这样的。 不妨来看下Aeron Chair ,听说这是世界上最舒服的椅子。 对于我们来说,自备一个碉堡的人体工学座椅,配上大显示器就很OK啦~ 1、机械键盘 对于一个程序员来说,用机械键盘打字编程...

youkiyu的博客 3344

创客入门必备:从Arduino到3D打印的七种核心工具与实战指南

在嵌入式开发和硬件创客领域,掌握核心工具链是项目成功的基础。微控制器作为硬件项目的“大脑”,其选型与开发环境搭建是首要步骤,其中Arduino生态以其丰富的库和低学习成本,成为快速原型开发的首选。电路设计与焊接是硬件实现的基石,涉及电源管理、电平转换和信号调理等关键电路,而3D建模与打印则为创意提供了物理形态。在软件层面,创意编程工具如Processing能将硬件数据可视化,实现丰富的人机交互。整个开发流程中,版本控制系统Git和系统的项目文档管理,是保障项目可维护、可协作和可复现的关键工程实践。本文聚焦A

weixin_30512043的博客 332

Alfred的常见设置

使用Alfred 1、如何保留搜索词 每次激活搜索框,希望保持上一次的搜索历史。 设置中勾选红色框就是了。

w8y56f的专栏 712

MIPS-5级流水线CPU

一、流水线CPU 流水线CPU就是指将一条分解为多步,在同一周期内进行多条指令的同时执行。MIPS五级流水线就是将指令分为:取指(IF),译码(ID),执行(EX),访存(MEM),写回(WB)五个阶段。举个例子: 比如第二条指令lui $t2,0x2100 在流水线CPU中执行的就是 可以看到在200-300ns的周期里,IF阶段取到0x00400004处的指令,300-400ns,这条指令到了ID阶段,而IF阶段执行下一条指令。400-500ns,执行这条指令,ALU的结果为0x2100

weixin_43877853的博客 2万+

IEC61850客户端连接实战:CMS vs MMS协议抓包对比与性能初探(基于YX-PIS协议栈)

本文深入探讨了IEC61850客户端连接中CMS与MMS协议的抓包对比与性能优化。通过Wireshark抓包分析、协议栈配置实战和性能基准测试,揭示了两种协议在连接建立、数据交互和性能调优方面的关键差异,为智能电网自动化系统的协议选择提供了实用指南。

weixin_29209805的博客 215

国内顶级程序员都有谁?说说你心中的互联网巨佬...

璀璨的明星谁不觉得耀眼?这也是为什么那么多人喜欢明星,想当明星的理由。中国程序员道路虽不长,但这个圈里也有很多如明星般闪耀的牛人!今天是10月24日,一个属于程序员的节日。还记得你做程序员的初心吗?你还记得是哪个大佬触动了你想当程序员的心吗?

马士兵教育 5354

别再只当代码阅读器了!手把手教你用Understand的实体定位器和信息浏览器,5分钟精准定位代码逻辑

本文深入解析Understand代码分析工具的高级功能,重点介绍实体定位器和信息浏览器的实战应用。通过5分钟快速定位代码逻辑的技巧,帮助开发者从代码阅读者升级为逻辑侦探,提升大型代码库的分析效率。文章包含过滤搜索、调用链追踪等实用方法,是掌握Understand核心功能的必备指南。

weixin_28745821的博客 292

程序员的最强外设?资深软件开发工程师屏幕选购指南

这款显示器简直就是程序员的最佳搭档!它有啥特别的?屏幕又高又大,28寸3:2屏幕比例,写代码时不用老是上下滚动,一眼就能看到更多内容,能显著提高我的编码效率。可以在不同区域同时打开好几个窗口,比如一边写代码,一边看文档,再腾出地方放设计图,工作效率蹭蹭往上涨!

共同学习,共同成长 2269

利用NURBS曲线进行点云曲面拟合算法

点云拟合曲面算法是将点云数据拟合成一个二次或高次曲面模型的算法。这种算法主要用于三维模型重建、计算机视觉、机器人感知、医学图像处理等领域。最小二乘法(Least Squares Method):通过最小化点到曲面距离的平方和来拟合曲面模型。三角剖分算法(Triangulation-Based Method):将点云构建成三角网格,再拟合成曲面模型。隐式曲面算法(Implicit Surface Method):通过定义一个隐式函数来表示曲面,然后用点云数据来估计隐式函数的系数。

weixin_44770969的博客 1万+

carsim与simulink联合仿真学习笔记(二)——使用C-class车模做driver model仿真(5 driver sensors)

Driver model 在carsim的Simulink库中自带外部驾驶员模型,打开后如图所示: 然后打开carsim中对应的数据集,如图所示: 具体仿真步骤不在赘述,注意到这里选择的是E-Class车模,那么如果我想选择C-Class车型进行仿真呢?点三角选择车型可以看到: 马赛克部分是我后来建的,如过没有使用过是没有马赛克部分的。那么既然这里没有C-class,又该怎么办呢? 创建C-...

xufuqiang2017的博客 4117

程序员成功之路

非常愿意和大家分享, 优秀程序员的心里话: 编程的原因是喜欢,不是为了别的。  从摸上电脑的那一刻,我就知道,这才是我的世界。 我一心一意地想作个程序员,尽管知道很累。 人真的不能轻言放弃,否则,失去的永远无法挽回! 生命是一种长期而持续的累积过程  所有成功的人都有一个不变的黄金法则: 积累!与 坚持! 大家听了这些话,不知道是怎样的想法呢?  提问, (1)你以前有没有读过这

计算机技术学习与应用 2122

银河麒麟arm64 V10 SP1桌面系统高效部署onnxruntime推理环境实战

本文详细介绍了在银河麒麟arm64 V10 SP1桌面系统上高效部署onnxruntime推理环境的完整实战流程。从系统环境准备、关键依赖安装,到onnxruntime的安装验证,并以YOLOv5模型部署为例进行性能对比分析,提供了在国产化飞腾D2000平台上进行AI边缘推理的实用指南和避坑技巧。

ss78901的博客 636

程序员的未来之路[转]

url:http://blog.youkuaiyun.com/hitprince/article/details/2545567ps:文章有点长 但写得很好虽然同道不同路 但程序猿们应该读读本叼读后三省自身惭愧彷徨不知所措 虽然目前迷茫 但不会放弃程序员的未来之路 一、我很羡慕在座的各位同学,因为你们是中国未来的程序员,而我不是,我一直很遗憾。比尔盖茨曾经写过一本书叫做《...

weixin_34226706的博客 136

Vue3 - 最新实现在线预览Excel文件(xls/xlsx)多种方案,解析打开excel电子表格支持服务器链接在线URL形式、调用后端接口获取二进制文件流、文件地址(vue3实现excel预览)

vue3,预览excel文件,xlsx,xls,vue预览Excel表格,vue在线编辑xls文件,预览和编辑,vue3如何新开一页浏览器打开查看,手机h5页面打开在线EXCEL文档,在弹框中加载预览,在指定模态框中显示,基于Vue的Excel文件预览,加载失败白屏,报错没反应,详细示例代码教程,文件预览下载,nuxt3,excel预览插件,xlsx插件预览,纯前端vue中预览excel表格,接口调用的文件如何预览查看,文件url地址,vue移动端实现excel在线预览,vue移动端H5网页excel预览,

🏆 前端领域优质创作者 1万+

RK3568笔记五十四:SORT实时目标追踪

YOLOv5具备目标检测的功能,把视频分解成多幅图像并逐帧执行时,如果视频帧中有多个目标,如何知道一帧中的目标和上一帧是同一个对象就是目标跟踪的工作。DeepSort是实现目标跟踪的算法,从sort(simple online and realtime tracking)演变而来,使用卡尔曼滤波器预测所检测对象的运动轨迹,匈牙利算法将它们与新的检测目标相匹配。结合YOLOv5和DeepSORT可以在实时场景中实现高效的目标检测和跟踪。

789

程序员的未来之路

程序员的未来之路 一、我很羡慕在座的各位同学,因为你们是中国未来的程序员,而我不是,我一直很遗憾。比尔盖茨曾经写过一本书叫做《未来之路》The road ahead, 那么今天我选择这样一个题目,the road ahead for programmer, 程序员的未来之路,也就是程序员的成功之路,希望大家未来也能够拥有像比尔盖茨一样的智慧的头脑和开一家像微软一样的公司。俗话说:心有多大,人生...

weixin_34248023的博客 235

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

设计模式:程序员的秘密武器,让你成为高手,三面美团Linux运维岗

这里提到的七大设计原则,每一种都为我们提供了设计程序的指导。这些原则的理解层次高于具体的设计模式,因为它们提供了一个更广泛、更深入的视角,帮助我们理解如何更好地设计和构建程序。而不是生搬硬套,切记必须要有具体的使用场景下使用设计模式,而不要为了实用设计模式而使用他,这是有本质上的区别的。设计,在很多场景下我们都需要话UML图来表述逻辑的结构,程序的流程,类之间的关系,程序的拓扑结构。(包含:模板模式、命令模式、责任链模式、策略模式、迭代器模式、中介者模式、观察者模式、备忘录模式、访问者模式、解释器模式)。

2301_77118221的博客 916

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

设计模式:程序员的秘密武器(高手必备)

在过去的几十年的职业生涯中,我观察到许多同事在技术方面取得了显著的进步和能力提升。然而,随着时间的推移,他们似乎逐渐遇到了一个发展的瓶颈。尽管大家都渴望以最快的速度提升自己的技能水平,但他们忽视了一个关键的因素,那就是内功修炼。是的,我相信大家都知道我们所说的内功心法指的是《设计模式》。接下来,我很乐意和大家一起探讨为什么学习设计模式是如此重要。

andy19880308的博客 1404

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

设计模式:程序员的秘密武器,让你成为高手

在过去的十几年职业生涯中,我注意到许多同学都取得了显著的技术进步和出色的能力提升。然而,随着时间的推移,他们似乎逐渐遇到了一个瓶颈期。尽管大家都渴望以最快的速度提升自己的技能水平,但他们忽视了一个关键的因素,那就是。这让我想起了《天龙八部》中的虚竹。虚竹之所以能在短时间内迅速达到别人无法企及的高度,是因为他继承了许多内功心法。相比之下,鸠摩智过于执着于武术秘籍,导致他的武功进步很快就遇到了瓶颈。这表明了内功心法的重要性,它是提升武功修为的关键因素。想必大家都知道,我们这里所说的内功心法指的是什么吧?

未来AI视界 616

设计模式:程序员的秘密武器,让你成为高手(2),Linux运维面试题内存优化

这里提到的七大设计原则,每一种都为我们提供了设计程序的指导。这些原则的理解层次高于具体的设计模式,因为它们提供了一个更广泛、更深入的视角,帮助我们理解如何更好地设计和构建程序。而不是生搬硬套,切记必须要有具体的使用场景下使用设计模式,而不要为了实用设计模式而使用他,这是有本质上的区别的。设计,在很多场景下我们都需要话UML图来表述逻辑的结构,程序的流程,类之间的关系,程序的拓扑结构。(包含:模板模式、命令模式、责任链模式、策略模式、迭代器模式、中介者模式、观察者模式、备忘录模式、访问者模式、解释器模式)。

2301_77118221的博客 788

老赵点滴:.NET技术博客与程序员职业成长手记

在.NET开发领域,技术文档解决‘是什么’,社区问答解决‘怎么修’,而真正稀缺的是回答‘为什么这样设计’的深度认知。这涉及框架演进逻辑、底层IL指令差异、中间件管道机制等核心原理,其技术价值在于帮助开发者建立性能、可维护性与演进成本三位一体的判断力。典型应用场景包括ASP.NET Core中间件嵌套分析、HttpClientFactory生命周期约束、IHostedService作用域管理等工程实践。当代码不再只是执行指令,而是承载设计意图与团队契约,“老赵点滴”所代表的技术人格化表达,正成为中级开发者突破

aobai7842的博客 463

JAVA程序上班那点事儿(钟声著)

程序员修炼三种境界(知己知彼) 1 剑指四方,试问天下谁与争锋 目标: 无所不能 2 世界如此之大,要学的东西很多 目标: 质量效率 合理的技术用在合理的地方  3 最深即最浅,最浅即最深 目标: 盈利   准备,自我挖掘,积累,把自己交給市场,用心去经营   做一头野生的狼     程序员保持前进的步伐: 1 找一个编程语言入门 2 用这门语言去分析和推理 3 新知...

关注大型网站架构、海量数据存储、高性能IO框架、高可用/高伸缩/高性能方案、企业应用集成等 152

逗比的程序员流派划分,你是哪派中人?

问题:程序员有流派吗? 问题:程序员有流派吗? 像成了名的剑侠 都有什么 拨刀流,二刀流,不知火流忍术。。。 没见哪个程序员高手 有什么流派的啊! 你能不能 瞎编几个 给我看看 copy派 ctrlCV流 回答者:觉浅,老程序员 第一种分法: 1.科班出身专业派 2.青鸟达内

中科院计算所培训中心 1374

Linux操作系统中的七件超厉害的武器

Linux是一套免费使用和自由传播的类UNIX操作系统,主要用于基于Intel x86系列CPU的计算机上。Linux系统是由全世界各地的成千上万的程序员设计和实现的,其目的是建立不受任何商品化软件的版权所制约的、全世界都能 自由使用的UNIX兼容产品。也许有些准备和正在使用Linux的朋友对为什么使用Linux并不十分了解。本文试就这一问题给出答案,让人们真正了解 Linux带给我们的七件武器。

kobejayandy的专栏 1023

java7a_职场成功的核武器_7A+软实力理论

谁都想在职场闯出一片天,个人理解,想要升职加薪不仅需要业务能力强(硬实力),还需要有情商、会管理、会沟通(软实力)。就程序员而言,技术能力是职场的基础,也是小白比较重视的,但是短期内难以提升,主要影响工作的效率。而软实力就是职场晋升的关键。很多人认为沟通和管理能力都是天生的,不可以改变,所以大多数人不会专门训练,而事实上,软实力却是能短时间内提高的,并且如果能训练得当,这将会影响到你工作和人生的各...

weixin_31111015的博客 182
上一篇: 黑客三兄弟
下一篇: 告别2017,码农翻身全年文章精华
码农翻身
码农翻身 《码农翻身》作者 《码农翻身》作者
博客等级 码龄8年 3万+粉丝 1084原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值