1. 什么笔记本适合做编程开发
目前比较适合用于做编程开发的笔记本主要有联想的Thinkpad系列、苹果的MacBook Air等。
在这个信息时代,电脑已经成为了人们日常必不可少的物品,对于大多数人来说一般配置的电脑就能够满足自己的需求,但对于程序员来说,电脑就是武器,一个性能好、配置优的电脑往往能够使得程序员在工作中事半功倍。
程序员是对从事计算机程序开发行业的统称,而根据不同的编程类型,程序员也被分为多种。从事不同类型编程的程序员对于笔记本的需求是不一样的,但所有的程序员对于电脑的需求有一个共同点那便是键盘。
键盘是程序员日常接触最多的物件,无论从事何种编程的程序员都免不了要使用键盘来录入代码,基于这个原因,一款拥有体验感极佳的键盘的笔记本必然会受到广大程序员的青睐。
联想作为笔记本生产大厂,它旗下的Thinkpad系列不仅拥有良好的性能,更是在键盘这一领域远超同类竞争者。
这个系列笔记本的键盘要明显优于同等价位的其它笔记本,不仅按键的反馈极好,使人爱不释手,而且其键盘中央特有的小红点按钮使得程序员在工作中方便了许多。此外,Thinkpad系列笔记本的性能也很好,几乎能够满足程序员的所有编程要求,一点也不会卡顿。
而苹果公司旗下的MacBook Air虽然性能稍微差了一些,但是对于主要从事后端服务、数据处理的程序员来说足够了。
这一类型的程序员需要的是一块轻薄的笔记本,这样才能方便他们随时处理突发事件,因此他们不需要性能好但特别笨重的笔记本。对于做前端的程序员来说,Thinkpad系列依旧是最优的选择,保证工作效率的同时,还可以拥有良好的体验。
2. 程序员的必备技能有哪些
数组、字符串与哈希表
任何受过专业训练的程序员,对“数据结构”这门课程中涉及到的各种数据结构都不会陌生,但是在实际的编程工作中,大部分的数据结构都不会用到,而且也永远都不会用到。虽然如此,深入地理解基本数据结构的概念和实现细节,仍然是每个程序员的任务。这不仅仅是因为,掌握这些知识将有利于更加正确和灵活地应用它们,而且也是因为,对于语言背后的实现细节的求知欲是一个优秀程序员的素质。
正则表达式
在程序员日常工作中,数据处理占据了相当的比重。而所有的数据之中文本又占据了相当的比重。文本能够被人理解、具有良好的透明性,利于系统开发、测试和维护等就必需要有一定规律遵循一种规则,当你掌握一门正则表达式语言,就能够培养你编程的直觉本能,达到较高水平,也能够在实践中提供更高的开发和执行效率。
调试
软件调试是软件工程的一个重要部分,其过程出现在软件工程的各个阶段,从最初的可行性分析、原型验证、到开发和测试阶段、再到发布后的维护与支持,都有软件调试过程参与。学习和灵活运用软件调试技术,不仅可以提高程序员工作效率,而且有利于对代码的感知力和控制力,加深对软件和系统的理解。此外,调试技术是解决各种软件难题的一种有效武器,它直击要害、锐不可挡,相对其它间接方法具有明显的优势。软件有大美,调试见真功!
两门语言
任何一位职业化的软件技术人员都会将编程语言当成自己的利器。它们代表了开发人员对计算机本身的理解与对软件开发工作的执着。同时,建立在编程语言之上的基础也标志着程序员的职业化道路发展到了一个新的阶段,而单一语言又有一定的局限性,软件开发的本质就是处理信息以及数据。一种专门用来处理数据的脚本语言常常是走向更加职业化的必备武器之一。所以精通两种语言,对于任何一个开发人员来说,并非必须,但是对于一个专业化程度较高的开发人员来说,又常常是必要的。
一个开发环境
随着技术的进步,IDE已经越来越强大,远远超出我们心目中的最初形象,越来越多的内容被涵盖到IDE中,从需求分析、业务建摸大批软件发布,IDE已经逐渐覆盖了软件开发的整个生命周期。
SQL语言
说起SQL,绝大多数程序员对其作用都了然于胸--用来访问数据库嘛。确实,数据是信息系统的核心,没有数据的计算机应用没有任何意义。信息系统中,大量数据本质上就以实体--关系的模式存在,而RDBMS支持SQL这么简单但表达能力丰富的访问接口,同时还提供了内建的事务ACID特性保证和故障恢复能力--因此,RDBMS理所当然地成为了大部分信息系统的标准数据存储介质。于是,无论使用何种语言开发信息系统,从C、C++,Delphi到Java,从Perl、Python到Ruby,使用SQL访问RDBMS都是我们必须修炼的武功秘籍。
编写软件的思想
说起程序员的武器自然少不了技术书籍,它们就像是拳谱、剑经、虽然不能马上转化为巨大的伤害输出,但假以时日勤以研读,有朝一日成为傍身绝学也是说不定。不过虽然各类技术书籍汗牛充栋,除去入门时浅显易用的参考和复杂深奥的学术专着,能够让所有程序员常看常新的心法秘籍还是不多。
3. 【程序员·随身听】玄学:机械键盘
大家好,感谢收听【程序员·随身听】。
这一期准备讲一讲程序员群体中的一种玄学:键盘,具体来说,是机械键盘。还有一种玄学,是耳机。如果说键盘是程序员的武器,那么耳机就是程序员的铠甲,不过,这一期我们先不讲耳机了。
先阐释一下啥叫玄学,玄学是指那些不可知,不可思议,科学不能解释,不能涉及的学说。
这样来说,似乎玄学带有贬义。不过,事先声明,本期中的玄学并没有贬义的意思,而是带有一种膜拜,或者说,想要亲近,却不得要领,没有途径,而带有一种酸葡萄心理的感情色彩。
说到这里,可能有些听者琢磨出来点味道,好家伙,原来你不是圈里人啊。
对啊,我不是圈里人,默哀三秒钟,一,二,三,然后擦干眼泪继续说。
到这里,作为厚道人,我得说,如果您想通过本期音频,得到关于机械键盘的指导型知识,就得失望了,因为我也想得到这方面的知识。如果您知道,还希望您能够通过微博告诉我。我是真的想知道啊。在此,先声谢过。
那么,我说点什么呢?才疏学浅的我,只是想把这个话题抛出来,谈一谈自己的一些观察和看法。如果有幸能够抛砖引玉,得到高人指点,到时候任督二脉一通,我再做一期指导型的音频。
那么,我们开始进入正题。
键盘作为电子产品的输入设备,比鼠标要出现得早。这很正常,因为进入图形交互系统的时代,我们才有鼠标的需求嘛。直至如今,键盘仍是我们在电子产品输入内容上,不可或缺的设备。
我们知道,一般来说,键盘有两大类,薄膜键盘和机械键盘。还听说一种,叫静电容键盘,静电容键盘太少见,我根本没见过,网络上说,静电容键盘是利用电容容量的变化来判断按键的开和关,在按下按键后,开关中电容容量发生改变,从而实现触发,整个过程不需要开关的闭合。正是由于无物理接触点就可以实现敲击,因而磨损更小,使用寿命更长。更稳定、迅速、全键无冲突、无比灵敏。通常在大型医疗设备上能够见到,也可作为比较昂贵的高端游戏外设。
在静电容键盘还没有进入主流前,我们就不说它了,回到薄膜键盘和机械键盘上。它俩的区别,简单来说,薄膜键盘的键,表面看起来是一个个的,其实,每个键帽是依托在一整张薄膜上的,按下一个键,薄膜上就压下去一个点到印刷电路板上,发出电信号。而机械键盘,那真是一个键,就是一个电信号的开关。所以,你就知道,为啥机械键盘要比薄膜键盘贵很多了,因为从工程学上讲,机械键盘的结构就比薄膜键盘复杂多了。
虽然,一般,机械键盘比薄膜键盘贵,但吊诡的是,早起的键盘可都是机械键盘。我小时候玩的小霸王学习机,就是那个一开机就发出诡异的声音——“小霸王,其乐无穷啊”,那就是机械键盘的。那时候还觉得敲键盘挺费力的。但如果,我们仔细观察下键盘的发展历史,就不奇怪了,就跟汽车一样,早期的汽车,纯手工打造,零件都是匠人一个个做出来的,但随着汽车行业的发展,追求产业化,模块化,纯手工打造的汽车必然退出主流汽车市场。键盘也是如此,随着技术发展,产业化的进步,薄膜键盘应运而生,一下子降低了成本,还增加了便携性。为什么还增加了便携性呢,因为由于机械键盘每个键都是一个个小开关,它需要一定的体积,而薄膜键盘只是一个按的动作,因此薄膜键盘能够做的很薄。为啥苹果的 MacBook 系列能那么薄?所以,即使它的键盘体验被称为敲铁板,它也不可能换成机械键盘,只能在薄膜键盘的基础上,想办法提高键盘的舒适感。
按理说,机械键盘在薄膜键盘的冲击下,就要退出历史舞台了,就像软盘被U盘取代,机械键盘的好兄弟,机械鼠标(就是肚子里装着一个滚球的鼠标)被光电鼠标取代。但是,有时候,有些看似过时的产品,还能苟延残喘,甚至是复活。就像纯手工打造的汽车,可能还是有它的小众市场。历史上,这样的事例也不少见,比如说拍立得,前段时间,我的朋友还用拍立得给自家的娃拍照留念;比如说广播,要知道电影电视的兴起,那可是把无线电广播冲击的奄奄一息,但现在广播在汽车的普及下,在新的生活节奏下,又生机盎然。我作为程序员,都要在蜻蜓FM做广播了。
这里插一句,关于小众产品的复活,大家可以看一下爱奇艺上王自如的脱口秀,《科技相对论》,其中第一季的第三期就专门说的小众产品的复活。
书归正传,继续说我们的键盘。机械键盘为什么能够复活呢?我觉得,一个原因很重要,那就是有很多工作,都是要长期伏案于键盘之前的。像编辑,像程序员,一天敲键盘几个小时那都是少的。键盘作为生产力工具,那就相当于战士的武器,谁不想要一把得心应手的武器呢?这时,我们就怀念起机械键盘那独特手感和反馈感,甚至那噼里啪啦的敲击声。这就是我认为机械键盘复活的重要原因。
另外,程序员作为一个群体,也有自己的文化。文化是虚的,是需要在具体事物上表达的。作为程序员的一个重要生产力工具,键盘必然被程序员赋予了文化符号。为了个性化的彰显,为了追求差异化,甚至仅仅是为了鄙视另一个程序员,就这样,机械键盘就在薄膜键盘的势力包围中,强势回归。
现在的机械键盘,不仅种类很多,颜值担当的也很多,甚至有很多绚丽夺目的小功能,什么呼吸灯,跑马灯,夜间背光等等。我们接下来就说说机械键盘的门派。
在机械键盘的江湖,有四大门派,轻快如风的红轴,内外兼修的茶轴,嚣张直爽的青轴,直来直去的黑轴。
门派之别,来源于对武术的不同见地,但毕竟都是武术,有相同的根源。那机械键盘的共同原理是什么呢?
首先,不管是什么轴,它的机械轴都是由开关帽、开关帽固定卡、弹簧、触点金属片和底座构成,还有一部分的机械轴里还有跳线。这几个部件中,最关键的部位是开关帽,弹簧和触点金属片,它们的不同导致了触发的压力,手感和按键的寿命不同。先说弹簧,弹簧的圈数越少,弹簧的反馈压力就越大,黑>青>茶>红,再说开关帽,开关帽作用于触点金属片,按压导致触点金属片连接或者断开回路,发出电信号,开关帽作用于触点金属片时产生阻力,阻力就会让我们感受到传说中的段落感,再加上开关帽不同的嵌套结构,作用到底座的键程不同,会带来不同的节奏感,红轴和黑轴就是直上直下的感觉,而茶轴和青轴则有一定的阻尼感。然后说说触点金属片,机械键盘单轴寿命是2000万次到8000万次不等,如果一个键被用坏了,一般来说,就是触点金属片损坏了,可以说触点金属片决定了机械键盘单轴的寿命。(要知道,薄膜键盘的寿命一般来说是30万次,如果一个键,你一天按100次,30万次就代表着这个键你能用3000天,小十年呢,机械键盘单轴几千万次,可以说,在你厌烦它之前,是用不坏的)说完最关键的三个部件,最后说说键帽,键帽是我们敲键盘是最直接触摸到的,一般是不同质地的塑料,键帽上的字有很多工艺,比如丝印,激光雕刻,激光刻蚀,热升华,二色成型,丝印是最容易让字摩擦刮花甚至消失的。
热闹的江湖只有四种门派么?当然不是,除了红黑茶青,还有绿轴,橙轴,白轴,灰轴,甚至怪轴,它们有的是不同于上面几种轴的力度,有的是用于空格键这样比较特殊的按键上,它们都比较稀有,有的已经停产,比如白轴,有的是厂家定制款,比如雷柏的橙轴,所以,这个江湖还是很热闹的。
讲完了机械键盘的基本情况,我们来说说玄学部分吧,那就是机械键盘的体验。
有人说,青轴是键盘里的春天,因为青轴触发深度最深,段落感最强,噼里啪啦的声音最大,打字的时候清脆爽快,像沐浴在春风中敲架子鼓。据说,使用青轴容易被你四周的人揍。。。
有人说,黑轴是公认的游戏轴,玩游戏黑轴是不二之选,因为黑轴没有段落感,直上直下,一触即发,打一盘游戏,尽显激情。
又有人说,茶轴是键盘中的绅士,优雅冷静,它全面兼顾,介于打字和游戏之间,相较于青轴,段落感弱了很多,相对于黑轴,又不是直上直下,因此,也有人会觉得它中庸没有个性。
最后说,红轴,红轴一般推荐给女生,因为它和黑轴一样直上直下,打字轻快,同时,它压力系数最小,毫不费力。
听到这里,不知道你能不能明晰的分出四种轴的不同,其实,真让你感受四种轴,可能没有那么明显的不同,如果把那些更小众的轴加上,如白轴,橙轴,灰轴,绿轴,你更加区分不出来。但是被人表达后,人为的强化了不同。这就产生了玄学。玄学的诡谲之处在于,你要根据这些体验去选你想象中的键盘,大概率的可能性是与你的想象不同。就是说,听起来很有道理,指导起事情来,可能要抓瞎。所以,我觉得买键盘,还是要买有眼缘的,当个外貌协会也不错,有机会呢,还是要去感受一下,觉得喜欢就好,没必要根据四种轴的文化定位来选。即使你选了黑轴,该团灭还是会被团灭的。
关于上面说的体验,没有接触过如此多的种类,或者没有长时间在键盘上码字的体验,可能很难有共鸣。你也可能会觉得这些人好矫情啊,不就是码字敲键盘么,说的神神叨叨,故弄玄虚。是啊,是有些故弄玄虚,文化不就这样么,虚虚实实,人类就是这样一种喜欢听故事的动物啊,把你心目中的神抽丝剥茧,还原历史情境,他还会让你感动的起鸡皮疙瘩么?所以,我们还是把机械键盘理解为一种程序员可爱的文化吧。
总结一下来说,机械键盘,相对于薄膜键盘,在体验上没有质的飞越,打字也不一定更快,也不省力,可能只是释放了本能中对节奏的渴望,但是却给程序员带来了很大的愉悦,创造了话题,也是程序员文化中不可或缺的一部分。
感谢您的收听。
4. 2021年最受程序员欢迎的开发工具TOP 50名单出炉-
对于每一个开发者而言,开发工具就相当于他们的武器,选择一个合适的工具能够帮助我们在工作时事半功倍,在互联网逐渐发展成熟的今天,越来越多的开发工具供我们选择,但其中总有一些更好用的,如何选择成为了一大难题。
从而颁布了2021年StackShare第八届顶级工具奖,快来看看有没有你青睐的开发工具吧。
年度最佳新兴工具
1.FastAPI
FastAPI 是一个使用 Python3.6+ 构建 Web API 的高性能框架。根据框架创建者的说法,FastAPI 性能与 NodeJS 或 Golang 相当。
2.GitHub Copilot
作为一款 AI 结对编程工具,Copilot 的主要定位是提供类似 IntelliSense/IntelliCode 的代码补全与建议功能,但在实际表现上有望超越同样由微软合作伙伴 OpenAI 开发的 Codex AI 系统。
3.FiglamFigma
Figma 是一个 基于浏览器 的协作式 UI 设计工具,从推出至今越来越受到 UI 设计师的青睐,也有很多的设计团队投入了Figma 的怀抱,
4.Logtail
Logtail是日志服务提供的日志采集Agent,用于采集阿里云ECS、自建IDC、其他云厂商等服务器上的日志。本文介绍Logtail的功能、优势、使用限制及配置流程等信息。
5.Coder
开发人员工作区平台·
6.Charts.csscss
Charts.css 是用于数据可视化的开源 CSS 框架,帮助用户理解数据,帮助开发人员使用简单的 CSS 类将数据转换为漂亮的图表。·
7.Counter
简单并且免费的网络分析·
8.React Query
React Query是一个库,可为任何类型的异步数据提供ReactJS状态管理功能。根据他们的官方文件,·
9.vscode.dev
将VS Code引入浏览器,构建一个可以在浏览器中完全无服务器运行的开发工具。
10.BookStack
BookStack 是一个开源的、基于 Laravel + Vue.js 构建的知识管理和服务平台。具有简单但功能强大的所见即所得编辑器,允许团队轻松创建详细且有用的文档。·
11.ThunderClient
Thunder Client 为我们提供了一款轻量级、易用、整洁、简单的 Rest API 客户端扩展。·我们可以利用 Thunder Client 在编辑器内快速测试代码库的 API 端点,从而最大限度地减少页面的切换。它可以替代 Postman,作为常用的无脚本测试工具。
12.Quod AI
Quod AI Code Search是一个由人工智能驱动的Chrome扩展,可以自动从Git存储库或Jira问题中搜索代码。
它使用问题的标题和描述,并自动在你的Git存储库中找到匹配的内容。
13.Dendron
Dendron 是典型的开源社区编程思维的解决方案,虽然初看起来有一点学习曲线,但从根本上是给了使用者最大的自由发挥空间,同时又提供了最强大和最彻底的工具生态支持。·
14.Notion API
把概念和你每天使用的工具联系起来·
15.Github1s
只需1秒,就可以用VS Code方式来看GitHub代码。·
16.Ocean
容器的无服务器基础架构引擎·
17.Magic
快速构建应用程序,可定制,无密码登录
·
18.Jina
更简单的一种在云上构建神经搜索的方法,
19.Focalboard
一款开源、本地存储、免费的类 Notion 应用Focalboard 的自我定位是“Trello、Notion 和 Asana 的开源、自托管替代品”。·
20.zx
更好地编写脚本的工具(By Google)
21.OpenSearh
OpenSearch是阿里云开放搜索简称,为解决用户结构化数据搜索需求的托管服务,支持数据结构、搜索排序、数据处理自由定制。·
22.Querybook
一个可以发现、创建和共享数据分析、查询以及表的大数据IDE(通过Pinterest),
23.MangoDB
MongoDB是一款为web应用程序和互联网基础设施设计的数据库管理系统。MongoDB就是数据库,是NoSQL类型的数据库
24.TooIJet
Retool的开源替代品·
25.Kitemaker
Kitemaker是为团队而非经理创建的超快速问题跟踪器。为远程团队创建的Jira的快速替代方案·
26.Appflowy
Appflowy 是一款使用 Flutter 和 Rust 构建的开源笔记软件,它支持Windows、macOS和Linux,可以免费下载使用
27.Kubegres
Kubegres 是一个 Kubernetes Operator,用来部署并维护 PostgreSql 集群,提供开箱即用的数据复制和故障转移功能,简化 PostgreSql 集群生命周期管理,降低数据复制的复杂性
28.Lightning Web Components
Lightning Web Components,业内简称LWC,是Salesforce于Spring 19发布的一款新型Lightning Component,快速的企业级Web组件基础
29.Judo
用无代码构建原生应用体验
30.Apache APISIX
Apache APISIX Apache APISIX是一个动态、实时、高性能的API网关。提供了丰富的流量管理功能,如负载均衡、动态上游、canary释放、断路、认证、可观察性等。
31.Control
提供免费的加速、自动化安全性以及SOC2合规
32.Remix
专注于Web技术和现代 用户体验的框架
33.NocoDB
免费并且开源的Airtable替代方案
34.JetBrainsQodana
评估你拥有的、合同或购买的代码的完整性
35.TabnineAI
只能代码编写
36.Coolify
一个开源的,自适应的Heroku和Netlify的替代品
37.Penpot
开源设计和原型平台
38.Portman
Postman介绍:postman是一个开源的接口测试工具,无论是做单个接口的测试还是整套测试脚本的拨测都非常方便。
39.Devops Stack
持续部署Kubernetes环境
40.Slidev
面向开发人员的演示幻灯片
41.ReScript
ReScript 是一门针对 JavaScript 程序员的新语言,特别是对 TypeScript 和 Flow 的类型安全感兴趣的程序员。ReScript 的语法和 JavaScript 非常相似
42.Fig
自定完成终端
43.FlutterFlow
Flutterflow 是一个在线低码平台,使人们在视觉上以人们在视觉上构建本机移动应用程序。
44.Porter
运行在你自己的云中的Heroku
45.SigmaOS
在 SigmaOS 中,你会看到完全不同的浏览器布局,它更像是一个工作台
46.VictoeiaMetrics DB
快速、低成本的监控解决方案和时间序列数据库
47.CloudflarePages
JAMstack平台为前端开发者提供协作和部署网站的平台
48. Devbook
面向开发者的搜索引擎
49.Front Matter
直接在VS Code中管理静态站点
50.Supacase UI
用于企业仪表的React组件库
以上可以说是集结了开发行业中的所有“神器”,不仅能助力程序员高效工作,也是今后走向开发岗位小伙伴们的加薪工具。小伙伴可以从中挑选适合自己的工具~