原创 架構實踐 - 3. 基於事件系統的demo

1、概述 基於上篇文章,我們設計一個具體的demo。demo在linux版本運行,gcc編譯通過。 主要由如下文件構成: main.c                  實現main_loop, 和main_handler base_qu

原创 git 上fork代碼後,保持原作者同步更新

1、首先要先確定一下是否建立了主repo的遠程源: git remote -v   2、如果裏面只能看到你自己的兩個源(fetch 和 push),那就需要添加主repo的源: git remote add upstream URL up

原创 linux 殺掉某用戶下所有進程

兩種方式,我們以kill用戶user爲例: 1. pkill方式 # pkill -u user 2. killall方式 # killall -u user

原创 Python 更改pip源

python pip自帶的源是國外的,pip install的時候很慢,更改爲國內的源。 1. pip國內的一些鏡像   阿里雲: http://mirrors.aliyun.com/pypi/simple/        清華大學: h

原创 進程與線程的區別

要解釋,進程和線程的區別,首先要了解,什麼是線程,什麼是進程?網上關於進程和線程的說法有很多,我們先看一下? 1、什麼是進程?什麼是線程? #解釋1: 進程:是程序的一次執行過程,是一個動態概念,是程序在執行過程中分配和管理資源的基本單

原创 架構實踐 - 4. 架構設計之進程通信(獨立構件風格)

1、概要設計       將不同的功能,劃分爲獨立進程,進程之間通過domain socket通信。通過epoll來監聽socket消息。該設計的優點,相互之間解耦。 2、詳細設計   3、模塊實現 3.1 iomux模塊 通過epol

原创 架構實踐 - 5. 基於進程通信的demo

1、概述 基於上篇敘述的架構,我們設計一個具體的demo,demo的運行環境爲linux demo分爲如下文件 iomux:     epoll相關 ipc:          domain socket相關 log:         

原创 linux tmux 支持鼠標滾動

剛安裝了tmux。發現tmux默認不支持滾動上翻,超級不方便 如下解決: 1、通過tmux界面輸入 進入tmux界面,按綴ctrl+B後,再按冒號:進入命令行模式, 輸入以下命令: set -g mouse on   2、通過配置文件 通

原创 tmux 終端複用詳解

https://www.cnblogs.com/wangqiguo/p/8905081.html

原创 Vscode格式化C語言

Vscode 編譯器有很多格式化插件,比如Vetur和Eslint。但是Vetur和Eslint傾向於格式化前端代碼   格式化c語言代碼,不需要插件,使用自帶的clang-format就可以 在File->Preferance->set

原创 git 查看某個文件的修改記錄

1. git log filename 可以看到fileName相關的commit記錄 2. git log -p filename 可以顯示每次提交的diff 3. 查看某次提交中的某個文件變化,可以直接加上fileName git

原创 git 下載特定分支

esp32上有2個分支。現在要下載特定的分支 git clone -b esp32_homekit_ble ssh://[email protected]:29418/yeelink/firmware/esp32  

原创 http小型服務器搭建

臨時搭建一個http的服務器,來訪問。有一個叫HFS的軟件,可以用 http://www.rejetto.com/hfs/

原创 xshell終端假死

    當使用xshell這款終端模擬器時,當無心輸入CRTL+S組合鍵之後,無論輸入什麼終端屏幕上就是什麼都沒有顯示,終端就這樣呈現着一種死機的狀態,很多小夥伴一時不知如何是好,本集小編就教大家出現這種情況該如何化解。 1、問題描述:

原创 I2C從地址左移1位

I2C讀寫中,新人會比較困惑,爲什麼I2C從地址要左移1位? 這是i2c協議決定的,i2c地址實際爲7位, AD7 AD6 AD5 AD4 AD3 AD2 AD1 AD0(讀/寫標誌位),如下圖 i2c模塊pdf文檔,表示的地址爲(A