原创 dbus org.freedesktop.DBus.Error.AccessDenied 錯誤處理

在使用 dbus時,bus type 是system, dbus-daemon 也是以–system 模式拉起的。運行某個客戶端,向dbus 建立鏈接,並輸出bus name 時,出現如下錯誤: org.freedesktop.DBu

原创 C scanf 的使用注意

scanf函數,給數值型數組賦值時只能用 for 循環一個一個地賦值,給字符型數組賦值可以整體賦值 輸入字符型數據時,系統會自動在最後添加結束標誌符 ‘\0’ 系統會將空格,作爲輸入字符之間的分隔符 例如,通過scanf讀

原创 C語言操作sqlite3數據庫的一個注意點

使用C語言往數據庫中插入一個記錄,發現無論如何都無法插入。 數據庫的創建語法 int rc = sqlite3_exec(db, "create table if not exists \ Account_Blob(i

原创 關於js的code緩存

JavaScript的預編譯與執行 是一種描述型腳本語言,是由瀏覽器進行動態地解析與執行,不同於Java或C等編譯性語言,不需要提前進行編譯生成中間結果。事實上,引擎執行js:語法分析、預編譯期(預處理)與執行期。 就是引擎檢查你的代碼

原创 理解一個應用結構

最近接觸一個簡單的框架,是用MV VM實現的。工作後,筆者一直接觸的MVC。 view持有管理着一個viewModel; view 持有viewModel的一個數據、方法集合data; view在構建的時候,監聽data上的數據,綁定

原创 工作中常用的git命令

git log git log git log -p -1 展開顯示最近一次的提交差異; git log –stat 顯示簡要的函數統計 git log –pretty=oneline git log –pretty=format:

原创 工作中的專業術語

測試 beta 測試 Beta測試指的是公測,可以針對所有用戶發佈的公開測試版本,也可以是針對特定用戶(beta 用戶)發佈。以收集用戶反饋、使用數據進行bug修復或小範圍功能更改。 AB測試 AB測試指的是同時發佈兩個不同的軟件

原创 C++11新特性的讀書記錄

第二章 保持兼容 預定義宏:通過預定義宏,#ifdef #endef等預處理命令,完成代碼的平臺性支持; func : 反回所在函數名字 #progma 一條預處理指令, #progma once :告訴編譯器,該頭文件只被編譯一次

原创 c++中任意類型的研究

- c或者c++中,可以指向任意類型的關鍵字就是無符號類型void*,任何一個對象都可以使用void*來指向。 - 很顯然,這種使用方式極其不安全。 - 因爲void*是指針,所指向的對象如果已經被釋放,再使用any時就會

原创 shell知識點碎碎念

什麼時候用shell 簡單、靈活、高效,小問題的剋星 自動化管理 unix/linux系統中移植性好 不需要編譯 什麼時候不用shell 計算密集型任務(用C/C++) 大型複雜工程,數據庫操作,結構化編程,大規模文件操作,圖形化相

原创 工程中js代碼小技巧

用timer來保護任務不被多次執行; // this._timer = setImmediate(() => { // this._timer = null; // } 事實上,不僅僅是數組,任何具

原创 fbo的個人淺薄瞭解

在OpenGL渲染管道中,幾何數據和紋理被轉換並通過幾個測試,最終以2D像素的形式呈現在屏幕上。 OpenGL管道的最終呈現目標稱爲幀緩衝區(Framebuffer)。Framebuffer是OpenGL使用的2D數組或存儲庫的集合:彩色

原创 經濟學小故事

日常生活中的既有規則,並不是理所當然的存在,而是長期發展演化後的結果。在此列舉幾個聽到的小故事。 拍賣,博弈 經常在電視中看到某某藝術家的傳世名畫拍出天價。 常見的是增加拍賣,也叫英格蘭拍賣。拍賣標的的競價由低到高,以最後競標者當中出的最

原创 js的細小知識點

熟悉module的概念 "use strcit"; var M = module.exports = {}; M.onCreate = function(){}; M.onDestroy = function(){}; 通過閉包,實現全局

原创 libuv的淺薄理解

libuv是最初爲NodeJS編寫的跨平臺支持庫。 它圍繞事件驅動的異步I/O模型進行設計。該庫提供的不僅僅是在不同的I/O輪詢機制上的簡單抽象:“句柄”和“流”爲套接字和其他實體提供了高級抽象; 還提供了跨平臺文件I/O和線程功能。 深