
之前有位小伙伴留言問道tee工具的代碼在哪兒?這篇文章我們就來簡單分享一下。
宏的使用,大家經(jīng)常會用,但是一般只是簡單定義一個(gè)符號常量,類似于 #define WHEEL_SCALE_MM?0.53f、 #define LOG_I(tag, text_fmt, ...) log_i(tag, text_fmt, ##__VA_ARGS__)? ,但是除此之外還有宏還有個(gè)##粘貼作用,可以配合#define這個(gè)常量表達(dá)式,可以做成一個(gè)宏定義指針函數(shù)列表,繼而查詢執(zhí)行函數(shù)。話不多說,我們開始今天的分享,首先還是會進(jìn)行一下常規(guī)的描述,再分享"##"粘貼的妙用。
在Linux下的開發(fā)中,printf打印調(diào)試信息默認(rèn)輸出到標(biāo)準(zhǔn)輸出 stdout (即屏幕/終端)中。我們也可以使用輸出重定向技術(shù)輸出到指定文件中,輸出重定向即是把原本要輸出到屏幕的信息寫入到指定文件中。
作為Sharding-JDBC 分庫分表實(shí)戰(zhàn)系列的開篇文章,我們在前文中回顧了一下分庫分表的基礎(chǔ)知識,對分庫分表的拆分方式有了一定的了解,下邊我們介紹一下 Sharding-JDBC框架和快速的搭建一個(gè)分庫分表案例,為講解后續(xù)功能點(diǎn)準(zhǔn)備好環(huán)境。
研究過AQS源碼的小伙伴們應(yīng)該知道,AQS是JUC的核心,而CLH鎖又是AQS的基礎(chǔ),說核心也不為過,因?yàn)锳QS就是用了變種的CLH鎖。如果要學(xué)好Java并發(fā)編程,那么必定要學(xué)好JUC;學(xué)好JUC,必定要先學(xué)好AQS;學(xué)好AQS,那么必定先學(xué)好CLH。因此,這就是我們?yōu)槭裁匆獙W(xué)習(xí)CLH鎖的原因。
說到web服務(wù)器,想必大多數(shù)人首先想到的協(xié)議是http,那么http之下則是 tcp。本文將通過tcp來實(shí)現(xiàn)一個(gè)簡單的web服務(wù)器。本篇文章將著重講解如何實(shí)現(xiàn),對于http與tcp的概念本篇將不過多講解。
五種IO模型包括:阻塞IO、非阻塞IO、IO多路復(fù)用、信號驅(qū)動IO、異步IO。
學(xué)習(xí)一個(gè)知識之前,我覺得比較好的方式是先理解它的來龍去脈:即這個(gè)知識產(chǎn)生的過程,它解決了什么問題,它是怎么樣解決的,還有它引入了哪些新的問題(沒有銀彈),這樣我們才能比較好的抓到它的脈絡(luò)和關(guān)鍵點(diǎn),不會一開始就迷失在細(xì)節(jié)中。所以,在學(xué)習(xí)分布式系統(tǒng)之前,我們需要解決的第一個(gè)問題是:分布式系統(tǒng)解決了什么問題?
本篇將會通過三國中的赤壁之戰(zhàn)來講述周瑜、黃蓋和諸葛亮是怎么把服務(wù)雪崩玩到極致的。
對于某些對時(shí)間精度要求較高的程序,用 c 寫延時(shí)顯得有些力不從心,故需用到匯編程序。本人通過測試,總結(jié)了 51 的精確延時(shí)函數(shù)(在 c 語言中嵌入?yún)R編)分享給大家。
STVP是ST早期的一款下載編程工具,支持早期的ST早期的芯片(比如ST7系列),也支持STM8、 STM32。該工具雖然相對ST-LINK utility、STM32CubeProg比較老,但該工具官方在2017年還進(jìn)行了維護(hù),目前還處于ACTIVE(活躍)狀態(tài)。
變量是程序中重要的一部分,產(chǎn)品中很多業(yè)務(wù)代碼都是變量起到了關(guān)鍵作用。傳感器采集的數(shù)據(jù)、通信中傳輸?shù)臄?shù)據(jù)、算法中的數(shù)據(jù)等這些數(shù)據(jù)都需要借助變量這個(gè)東西來實(shí)現(xiàn)。我們?yōu)槭裁匆獙⒆兞?、?shù)組(例如表或函數(shù))存儲到特定的地址?
inih (INI Not Invented Here 的縮寫) 是一個(gè)簡單的用 C 語言編寫的 INI 文件解析器。
先說內(nèi)存 柿子撿軟的捏,以前做項(xiàng)目的時(shí)候被大小端的問題坑過,那種酸爽就像藍(lán)天白云,晴空萬里忽然暴風(fēng)雨,突如其來的BUG,讓原本不充裕的時(shí)間更加雪上加霜;雖然很基礎(chǔ),但是能力有限,也難免出現(xiàn)錯(cuò)誤和紕漏,請各位大佬們在討論中無情指正我。
Python是一門解釋器語言,代碼通過解釋器執(zhí)行,Python存在多種解釋器,分別基于不同語言開發(fā),每個(gè)解釋器有不同的特點(diǎn)。
編程習(xí)慣的培養(yǎng)需要的是一個(gè)長期的過程,需要不斷地總結(jié),積累,并且我們需要從意識上認(rèn)識其重要性,一個(gè)良好的編程習(xí)慣對于我們能力的提高也是有巨大的幫助的。下面是筆者在閱讀《專業(yè)嵌入式軟件開發(fā)》這本書時(shí)所看到的一些關(guān)于編程好習(xí)慣的總結(jié),特此記錄和分享一下。
在代碼中用一堆嵌套,花大量時(shí)間寫出漂亮的代碼但最后才發(fā)現(xiàn)無法運(yùn)行,不給任務(wù)留緩沖時(shí)間…… 這是很多新手程序員都踩過的雷。在這篇文章中,一位全棧首席開發(fā)者總結(jié)了高級開發(fā)人員的19個(gè)編碼原則,可以幫助新手少踩些坑。
五種IO模型包括:阻塞IO、非阻塞IO、IO多路復(fù)用、信號驅(qū)動IO、異步IO。
在網(wǎng)上看了不少與卡爾曼濾波相關(guān)的博客、論文,要么是只談理論、缺乏感性,或者有感性認(rèn)識,缺乏理論推導(dǎo)。能兼顧二者的少之又少,直到我看到了國外的一篇博文,真的驚艷到我了,不得不佩服作者這種細(xì)致入微的精神,翻譯過來跟大家分享一下。
說到指針,估計(jì)還是有很多小伙伴都還是云里霧里的,有點(diǎn)“知其然,而不知其所以然”。但是,不得不說,學(xué)了指針,C語言才能算是入門了。指針是C語言的「精華」,可以說,對對指針的掌握程度,「直接決定」了你C語言的編程能力。