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組件庫
以上可以說是集結了開發行業中的所有「神器」,不僅能助力程序員高效工作,也是今後走向開發崗位小夥伴們的加薪工具。小夥伴可以從中挑選適合自己的工具~