PID是一種非常經(jīng)典的控制類算法,憑著它的簡單易用在工程上得到了廣泛的應(yīng)用,并且影響力也是極高,那為什么說其簡單易用呢?可以說只要你對PID的主要的參數(shù)對系統(tǒng)的影響理解得足夠好,完全可以通過手動試湊的方式來獲得一套合適的PID參考,所以對一些非控制類的工程師應(yīng)用起來也是非常友好的。
今天分享一個C語言宏定義小技巧,從語法上來看比較簡單,不過一旦真正領(lǐng)悟到其精妙之處不僅可以簡化代碼、還能提高代碼的可擴展性。X-MACRO宏技術(shù)的核心在于靈活的應(yīng)用#define與#undef,對于玩C語言的伙計#define是再熟悉不過了,但#undef卻鮮有人在實際的開發(fā)過程中熟練使用,基本上都是#define走天下。那#define的作用域是怎樣的呢?其作用范圍都是從宏定義處到文件結(jié)束,不管函數(shù)內(nèi)外均可以隨意使用。那一不小心使用#define重復(fù)定義相同的宏又會怎樣呢?對于大部分編譯器會報重復(fù)定義警告,但也有小部分編譯器采用最近的宏定義直接通過,所以稍不留神就把bug引入到了代碼中。其實對于C語言編程素養(yǎng)良好的工程師們多會使用#undef來限制宏定義的作用范圍,即取消宏定義,以免造成宏泛濫。
常規(guī)內(nèi)容也寫的差不多,特別是第④篇,我相信仔細(xì)看過的小伙伴一定會有所收獲,畢竟里面的內(nèi)容在百度上不那么容易搜到。今天我們再聊點進階的,同樣在百度上也是不容易檢索到。
正如Linus Torvalds曾經(jīng)說過的,大多數(shù)安全問題都是bug造成的,而bug又是軟件開發(fā)過程的一部分,是軟件就有bug。至于是安全還是非安全漏洞BUG,內(nèi)核社區(qū)的做法就是盡可能多的測試,找出更多潛在漏洞這樣近似于黑名單的做法。Greg Kroah-Hartman說:“一旦我們修復(fù)了它,我們就將它放到我們的棧分析規(guī)則中,以便于以后不再重新出現(xiàn)這個bug?!比绻麤]有2015年11月5號華盛頓郵報的一篇關(guān)于內(nèi)核安全性的爆炸性專題報道《Net of insecurity the kernel of the argument》,內(nèi)核社區(qū)應(yīng)該仍會固守“A bug is bug”的理念(雖然如今也沒有改變太多)。這篇文章狠狠的批評了內(nèi)核社區(qū)對內(nèi)核安全的態(tài)度,批評Linux “沒有一個系統(tǒng)性的機制能在黑客之前發(fā)現(xiàn)和解決安全問題,或引入更新的防御技術(shù)”,“甚至Linux內(nèi)核開發(fā)社區(qū)都沒有一個首席安全官”等等。
我是從ARM7TDMI開始接觸ARM架構(gòu)的,當(dāng)時很幸運有DSP的學(xué)習(xí)基礎(chǔ),同時遇到了把ARM架構(gòu)和操作系統(tǒng)結(jié)合講解的書籍。這樣,結(jié)合自己不斷的實踐,一直可以跟上ARM架構(gòu)的演進。長期的跟蹤也讓我容易能看到ARM的趨勢,我從Linaro在做ARM NEON指令集優(yōu)化關(guān)注到Linaro,后面持續(xù)的關(guān)注以Linaro為首ARM生態(tài)組織的發(fā)展,幾年后的2017年,我作為演講人分享了ARM架構(gòu)下的一個TLB性能優(yōu)化方案,實現(xiàn)了從關(guān)注到深度參與到過程。
我們生活中幾乎到處都能接觸到計算機,從我們?nèi)粘J褂玫氖謾C、平板,到辦公使用的筆記本、臺式機,到銀行的ATM機,到各處可見的監(jiān)控設(shè)備,還有我們平時看不見但是我們?yōu)g覽的網(wǎng)頁其所在的服務(wù)器,還有微信、抖音等我們?nèi)粘K玫腁PP它們所在的服務(wù)器,等等,這些都是計算機。如果沒有了計算機,我們的生活將難以想象。那么究竟什么是計算機呢,這個還真不好下定義的,那我們就來看一下百度百科對計算機的定義:計算機俗稱電腦,是現(xiàn)代一種用于高速計算的電子計算機器,可以進行數(shù)值計算,又可以進行邏輯計算,還具有存儲記憶功能。是能夠按照程序運行,自動、高速處理海量數(shù)據(jù)的現(xiàn)代化智能電子設(shè)備。計算機的應(yīng)用非常廣泛,從我們?nèi)粘W畛R姷呐_式機、筆記本到手機平板都是計算機,而且大到服務(wù)器、超級計算機,小到各種嵌入式設(shè)備也都是計算機。現(xiàn)在我們對計算機既有了感性的認(rèn)識,又知道了的它的權(quán)威定義,那么計算機是怎么產(chǎn)生的呢,下面我們來看一看計算機的發(fā)展史。
程序員為了求職刷題已經(jīng)是業(yè)內(nèi)共識,但一位程序員卻把leetcode注銷了,因為純屬浪費時間,工作上又用不上,天天刷有什么意義?刷得再好,不也是35歲失業(yè)?多開會多寫PPT,多給領(lǐng)導(dǎo)匯報,學(xué)習(xí)他們的管理邏輯商業(yè)思維,比刷題更有用。
最近,一位網(wǎng)友的故事引起了大家的熱議:我被一家外企裁員,賠償了60多萬,離職后以個人名義幫客戶維修產(chǎn)品,客戶給我5萬一臺的維修費,公司維修收20萬一臺。最近被公司發(fā)現(xiàn)了,說再私自幫客戶維修公司設(shè)備就要起訴我。
下面是一位網(wǎng)友的“突然發(fā)現(xiàn)”,不知道看文的各位有沒有同感?這位網(wǎng)友說:但凡給他offer的公司,面試時大多都沒問什么技術(shù)細(xì)節(jié),基本自我介紹完之后稍微問一兩個技術(shù)點,就問薪資要求、什么時候能上班之類
面試字節(jié),中間問了好多業(yè)務(wù)相關(guān)的問題,后面越來越不對勁,問了更多工作細(xì)節(jié),面試官一直記筆記,面了一個多小時,最后卻掛了。樓主認(rèn)為,這是利用別人求職白嫖別人信息,奉勸大家謹(jǐn)慎投字節(jié),面試時留個心眼,不要透露太多業(yè)務(wù)核心內(nèi)容。
最近大環(huán)境不好,各公司都在裁員,但裁員手段卻大有不同。一位京東員工說:阿里裁員的離職證明寫的是主動離職,被裁同學(xué)的新公司背調(diào)時,阿里規(guī)定hr必須積極配合。但京東hr卻在協(xié)商過程中各種威脅恐嚇使絆子,從不為員工的未來發(fā)展考慮,令人心寒。
管理者用大腳趾想想就會知道員工會多么憤怒,但他們依然能做出這種無腦行為,要么是又蠢又壞,要么就是完全不把員工當(dāng)人看。就像人給牛棚馬棚裝監(jiān)控一樣,誰會在乎牛馬的隱私和感受呢?只能說,大環(huán)境不好,什么奇葩都出來蹦跶,真的是醉了!
本文討論了 Sallen-Key 低通濾波器的設(shè)計。為了便于具體電路參數(shù)選擇,采用了比率設(shè)計方案進行討論,大大提高了電路參數(shù)的實現(xiàn)可能性。
本文給出了將 HEIC 格式的文件轉(zhuǎn)換成 BMP,JPEG 的方法。HEIC 格式的文件,在相同的圖像質(zhì)量下文件大小只有普通JPEG格式的一半,所以現(xiàn)在被廣泛應(yīng)用在便攜式拍照設(shè)備中存儲拍攝的文件。這樣可以在相同的存儲介質(zhì)下擴大存儲圖片的容量。
今天在 Youtube 上看到短片 WOW! This is the LARGEST transistor[1] ,介紹了不同型號和尺寸的蘇聯(lián)生產(chǎn)的三極管,其中包括一個令人印象深刻的碩大的三極管。