
大家對(duì)單例模式并不會(huì)陌生,當(dāng)創(chuàng)建一個(gè)對(duì)象需要消耗比較多資源時(shí),例如創(chuàng)建數(shù)據(jù)庫(kù)連接和消息服務(wù)端等,這時(shí)我們選擇只創(chuàng)建一份這種類型的對(duì)象并在進(jìn)程內(nèi)共享。但是,單例模式想要寫好并不容易,我們寫多個(gè)版本的單例模式看看每個(gè)版本都有什么問(wèn)題。
關(guān)于設(shè)備樹,之前就已經(jīng)接觸過(guò)很久了,但本著夠用的原則,基本上都是看著文檔CRUD,處于一種不求甚解的狀態(tài),沒(méi)有進(jìn)行全面性的總結(jié),導(dǎo)致很多知識(shí)點(diǎn)都是比較碎片狀,沒(méi)有形成一個(gè)系統(tǒng)的知識(shí)網(wǎng)絡(luò)。最近公司來(lái)了一個(gè)實(shí)習(xí)生,問(wèn)了個(gè)關(guān)于設(shè)備樹的問(wèn)題,居然沒(méi)答上來(lái)。于是為了尊嚴(yán),工作多年的老咸魚決定挪用一部分打籃球的時(shí)間,整理一下這方面的知識(shí)。
一直在用Keil MDK開發(fā),很多時(shí)候并沒(méi)有仔細(xì)去研究它強(qiáng)大的功能,最近在做一些開源項(xiàng)目的同時(shí)也在想辦法提高自己的工作效率,所謂時(shí)間就是金錢,看到世偉兄分享的這篇Keil MDK的筆記,正是我想要學(xué)習(xí)提升效率的,所謂前人種樹,作為后人的我就來(lái)乘涼咯!
新手必看!
TIOBE 排行榜中 C 和 Java 一直占據(jù)著前兩位,但隨著 Python 近年來(lái)越來(lái)越強(qiáng)勢(shì),市場(chǎng)占有率一直在提升,去年已升至排行榜第三。
最近,在Github上看到有人用Python實(shí)現(xiàn)了《植物大戰(zhàn)僵尸》游戲,并開源了,這個(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腳本使用的原則是命令單行書寫,盡量不要超過(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)行的核心。
本文介紹了如何在最常見的編碼方式(Unicode, UTF-8, ANSI)之間進(jìn)行轉(zhuǎn)換,結(jié)合代碼實(shí)例,清晰明了,方便讀者理解,例子也可以直接拿來(lái)使用。
這篇文章介紹了如何在最常見的編碼方式(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)希望了。想到這里,我開始慌了,所以今天和大家一起學(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í)際開發(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ō)中,各路俠客綠林好漢都是從基本功開始一招一式學(xué)起,掌握了足夠多的招式后,加之勤學(xué)苦練,量變引起質(zhì)變,會(huì)有一天打開任督二脈頓悟出這些招式背后的哲學(xué)邏輯,成為一代宗師。在編程的學(xué)習(xí)過(guò)程中,我們何嘗不是從一招一式的函數(shù)、語(yǔ)法、特性等學(xué)起。