
新手必看!
TIOBE 排行榜中 C 和 Java 一直占據(jù)著前兩位,但隨著 Python 近年來(lái)越來(lái)越強(qiáng)勢(shì),市場(chǎng)占有率一直在提升,去年已升至排行榜第三。
最近,在Github上看到有人用Python實(shí)現(xiàn)了《植物大戰(zhàn)僵尸》游戲,并開(kāi)源了,這個(gè)項(xiàng)目使用Python將這個(gè)塔防游戲重新復(fù)現(xiàn)了一遍,盡管暫時(shí)沒(méi)有把所有要素都復(fù)現(xiàn)出來(lái)——目前只實(shí)現(xiàn)了部分植物和僵尸以及白天黑夜關(guān)卡而已,但足夠勾起一波回憶殺。
本文將介紹Linux下使用Shell處理文本時(shí)最常用的工具:find、grep、xargs、sort、uniq、tr、cut、paste、wc、sed、awk;提供的例子和參數(shù)都是最常用和最為實(shí)用的;對(duì)shell腳本使用的原則是命令單行書(shū)寫,盡量不要超過(guò)2行;如果有更為復(fù)雜的任務(wù)需求,還是考慮python吧。
在單片機(jī)編程中,有很多人會(huì)因?yàn)橐恍┟菜坪?jiǎn)單的處理而把問(wèn)題弄得亂七八糟,如林中蛛網(wǎng)一樣,錯(cuò)綜復(fù)雜。而事實(shí)上,根據(jù)編程魔法之思想,對(duì)程序處理的過(guò)程嚴(yán)格劃分部門、各施其職、部門內(nèi)部互不干涉內(nèi)政,是成功編程的關(guān)鍵.
日常生產(chǎn)場(chǎng)景中,為了避免大量請(qǐng)求同時(shí)打在數(shù)據(jù)庫(kù)上導(dǎo)致故障,數(shù)據(jù)庫(kù)+緩存的方式已經(jīng)成了日常標(biāo)配。 對(duì)于讀取的部分,大家都很熟悉。但對(duì)于寫的部分,到底是先寫庫(kù)還是先寫緩存,這點(diǎn)可能困擾著很多人。
linux命令是對(duì)Linux系統(tǒng)進(jìn)行管理的命令。對(duì)于Linux系統(tǒng)來(lái)說(shuō),無(wú)論是中央處理器、內(nèi)存、磁盤驅(qū)動(dòng)器、鍵盤、鼠標(biāo),還是用戶等都是文件,Linux系統(tǒng)管理的命令是它正常運(yùn)行的核心。
本文介紹了如何在最常見(jiàn)的編碼方式(Unicode, UTF-8, ANSI)之間進(jìn)行轉(zhuǎn)換,結(jié)合代碼實(shí)例,清晰明了,方便讀者理解,例子也可以直接拿來(lái)使用。
這篇文章介紹了如何在最常見(jiàn)的編碼方式(Unicode, UTF-8, ANSI)之間進(jìn)行轉(zhuǎn)換,結(jié)合代碼實(shí)例,清晰明了,方便讀者理解,例子也可以直接拿來(lái)使用。
nullptr和NULL有什么區(qū)別?
本文向讀者介紹了如何避免內(nèi)存泄漏的方法和原則,在細(xì)節(jié)和大體方向上均給出一些可行性方案。讀者可以嘗試文中提出的方法,改進(jìn)自己的代碼,大大減少內(nèi)存泄漏的可能性。
像大白這種調(diào)包俠,深知不懂底層技術(shù)點(diǎn)就如同空中樓閣,再這樣下去面阿里p10是沒(méi)希望了。想到這里,我開(kāi)始慌了,所以今天和大家一起學(xué)習(xí)個(gè)底層技術(shù)點(diǎn)-零拷貝Zero-Copy。
大多數(shù)時(shí)候我都是寫一些業(yè)務(wù)代碼,可能一堆 CRUD 就能解決問(wèn)題,但這樣的工作對(duì)技術(shù)人的提升并不多,如何讓自己從業(yè)務(wù)中解脫出來(lái)找到寫代碼的樂(lè)趣呢,我做過(guò)一些嘗試,使用設(shè)計(jì)模式改善自己的業(yè)務(wù)代碼就是其中的一種。
小編對(duì)Linux這一塊的實(shí)際開(kāi)發(fā)經(jīng)驗(yàn)雖然還不是很足,但也知道進(jìn)程間通信有那么幾種方式:管道、消息隊(duì)列、共享內(nèi)存、套接字等。某項(xiàng)目中使用了MQTT作為進(jìn)程間的通信方式,感覺(jué)很新穎,網(wǎng)上好像也比較少有看到使用MQTT來(lái)作為進(jìn)程間通信的方式的。這兩篇筆記我們就來(lái)一起學(xué)習(xí)一下這種方式。
只有5千行代碼的GuiLite是嵌入式、單片機(jī)中常用的GUI框架;它就是C++編寫,在GitHub有4.8K star,在Gitee有2K star??赡苣阌X(jué)得5千行能做什么?
本文以32位系統(tǒng)為例,詳細(xì)介紹了內(nèi)核空間(kernel space)和用戶空間(user space)。
武俠小說(shuō)中,各路俠客綠林好漢都是從基本功開(kāi)始一招一式學(xué)起,掌握了足夠多的招式后,加之勤學(xué)苦練,量變引起質(zhì)變,會(huì)有一天打開(kāi)任督二脈頓悟出這些招式背后的哲學(xué)邏輯,成為一代宗師。在編程的學(xué)習(xí)過(guò)程中,我們何嘗不是從一招一式的函數(shù)、語(yǔ)法、特性等學(xué)起。
根據(jù)IEEE(國(guó)際電氣和電子工程師協(xié)會(huì))的定義,嵌入式系統(tǒng)(Embedded System)是指以應(yīng)用為中心、以計(jì)算機(jī)技術(shù)為基礎(chǔ),軟件硬件可裁剪、適應(yīng)應(yīng)用系統(tǒng)對(duì)功能、可靠性、成本、體積、功耗嚴(yán)格要求的專用計(jì)算機(jī)系統(tǒng)。
微控制器制造商的開(kāi)發(fā)板,以及他們與開(kāi)發(fā)板一起提供的軟件項(xiàng)目例程,在工程師著手一個(gè)新設(shè)計(jì)時(shí)可以提供很大幫助。但在設(shè)計(jì)項(xiàng)目完成其早期階段后,進(jìn)一步設(shè)計(jì)時(shí),制造商提供的軟件也可能會(huì)導(dǎo)致一些問(wèn)題。使用實(shí)時(shí)操作系統(tǒng)作為應(yīng)用程序代碼平臺(tái)的設(shè)計(jì)還面臨著許多挑戰(zhàn),比如如何將功能分配給不同的并行任務(wù)、如何設(shè)計(jì)高可靠的進(jìn)程間通信、以及如何在硬件上測(cè)試整個(gè)軟件包等問(wèn)題。
很多初學(xué)者都不知道這個(gè)“do{...} while(0U)”作用和意義,甚至覺(jué)得這樣寫的代碼復(fù)雜且沒(méi)意義。相信使用過(guò)STM32Cube HAL庫(kù)的朋友都知道,源碼里面有許多do{...} while(0U)的宏定義語(yǔ)句。今天講的主要知識(shí)點(diǎn)是:HAL庫(kù)中do{...} while(0U)作用和意義。