最簡潔的Erlang基礎
0x00 説在前面 Erlang讀音/ˈɜːrlæŋ/。第一次見到的時候總感覺怎麼讀都讀不對,後來在維基上看到Erlang標註了音標,才能準確的讀出來,而且也沒那麼怪異。因為工作才有機會接觸這門語言,也因此只有三天的時間可以看《Erlang程序設計》這本書。學習這門語言的時候帶着一個工作目標:把一個Erlang日誌收集分析統計的代碼轉換成Python的。而Erlang的風格是儘量不寫註釋,儘量在寫
昵稱 職場亮哥
0x00 説在前面 Erlang讀音/ˈɜːrlæŋ/。第一次見到的時候總感覺怎麼讀都讀不對,後來在維基上看到Erlang標註了音標,才能準確的讀出來,而且也沒那麼怪異。因為工作才有機會接觸這門語言,也因此只有三天的時間可以看《Erlang程序設計》這本書。學習這門語言的時候帶着一個工作目標:把一個Erlang日誌收集分析統計的代碼轉換成Python的。而Erlang的風格是儘量不寫註釋,儘量在寫
昵稱 職場亮哥
説在前面,為啥要碼這些,並不是因為喜歡它,恰恰相反,我非常討厭Erlang(真香警告)這位二郎神(Erlang的諧音),討厭它的語法,討厭它不變的變量,討厭它的一切。 曾經的我,一聽到這個語言,我就打心眼不服,一看到它的寫法,我就不爽,C++和Java不香嗎?特別香,特別好用,隨便百度谷歌一搜,到處都是技術分享博客,想找啥找啥,啥資料都有,一抓一大把。話説想找一些Erlang資料,技術文章
昵稱 snowcicada
目錄 消息隊列 MQ的本質 原始模型的進化 隊列模型 發佈-訂閲模型 小結 RabbitMQ Rabbit安裝流程 名詞解釋 channel信道 exchange交換機和綁定routing key 隊列(queue)
昵稱 Lernen
前言 一般來講,電腦是不能直接運行我們的javascript代碼的,它需要一個翻譯程序將人類能夠理解的編程語言 JavaScript,翻譯成機器能夠理解的機器語言。目前市面上有很多種 JavaScript 引擎,諸如 SpiderMonkey、V8、JavaScriptCore 等。而由谷歌開發的開源項目 V8 是當下使用最廣泛的 JavaScript 虛擬機,全球有超過 25 億枱安卓設備,而這
昵稱 南玖
前言 我們平時在寫代碼的過程中,好像很少需要自己手動進行垃圾回收,那麼V8是如何來減少內存佔用,從而避免內存溢出而導致程序崩潰的情況的。為了更高效地回收垃圾,V8引入了兩個垃圾回收器,它們分別針對不同場景進行工作。 如果這篇文章有幫助到你,❤️關注+點贊❤️鼓勵一下作者,文章公眾號首發,關注 前端南玖 第一時間獲取最新文章~ 垃圾從何而來 我們先來搞清楚這些‘垃圾’是怎麼產生的 不管使用哪一
昵稱 南玖
安裝rabbitMQ的前提是安裝上erlang,所以從erlang安裝開始。 安裝erlang 1,先升級一下 $:sudo apt-get update 如果軟件源有問題 修改etc/apt/sources.list內為如下: # 國內源 deb http://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multive
昵稱 滄海一粒硅
如果你喜歡我的文章,希望點贊👍 收藏 📁 評論 💬 三連支持一下,謝謝你,這對我真的很重要! 吐槽時間 不知道從什麼時候開始,前端開始卷一些 “高端知識”,動不動就瀏覽器底層原理,V8 是如何運行的,倒不是説這些沒啥用,只是來勢洶洶好像不懂這些就不能糊頁面一樣。 我工作中和內核團隊與虛擬機團隊也合作過並諮詢過他們這些相關問題,大家的態度也很明確,面對這種千萬行代碼的大型工程項目,他們作為專業
昵稱 鹵代烴
棧的操作實現 棧的概念 棧是一種後進先出(LIFO)的線性數據結構,只允許在一端(棧頂)進行插入和刪除操作。新元素總是添加到棧頂,而刪除也總是從棧頂移除最上面的元素。棧常用於函數調用、表達式求值、括號匹配等場景。 代碼實現---順序存儲(Array-based Stack) #include stdio.h // 標準輸入輸出庫,用於 printf 等函數 #include stdbool.h//
昵稱 Yue+
在前端面試中,面試官可能會問你V8的引擎機制,給你這樣的一道題目如下: console.log(1); setTimeout(() = { console.log(2); }); new Promise(reslove = { console.log(3); reslove(); }).then(() = { console.log(4); }); console.log(5)
昵稱 Winn
隊列的基本操作實現 1.隊列的概念 🌟 隊列(Queue)—— 先進先出的數據結構 隊列是一種線性數據結構,遵循 “先進先出”(FIFO, First In First Out) 的原則。如現實中的排隊:先來的人先被服務,後來的人排在隊尾等待。 🔧 基本操作: 入隊(Enqueue):在隊尾添加一個新元素。 出隊(Dequeue):從隊頭移除一個元素。 查看隊頭(Front):獲取隊頭
昵稱 Yue+
二叉排序樹定義 二叉排序樹(Binary Sort Tree),也稱為二叉查找樹(Binary Search Tree, BST)或有序二叉樹,是一種特殊的二叉樹數據結構。以下是二叉排序樹的一些核心概念: 一個二叉排序樹或者是一棵空樹,或者是具有以下性質的二叉樹: 右子樹上所有結點的值均大於它的根結點的值 左子樹上所有結點的值均小於它的根結點的值 左右子樹也分別為二叉排序樹 不存在鍵值相
昵稱 Yue+
關於 V8 我想前端從業人員或多或少會聽説過這個詞,但是他具體是什麼, 怎麼入門, 怎麼學習是一個較高的門檻,本文就 V8 入門,來做一個記錄,也方便大家的學習。 V8 是 Google 用 C++ 編寫的開源高性能 JavaScript 和 WebAssembly 引擎。它被用於 Chrome 瀏覽器和 Node.js 等。它實現了 ECMAScript 和 WebAssembly,可在 Win
昵稱 Grewer
五種基礎排序-升序實現 插入排序 構建有序序列,對於未排序數據,在已排序序列中從後向前掃描,找到相應位置並插入。 void InsertSort(int buf[], int bufsize) { for (int i = 1; i bufsize; i++){ int temp = buf[i]; int j = i - 1; // 只
昵稱 Yue+
設計一個將24位色深的bmp圖片顯示到lcd屏幕上,可移植,該程序自己寫過之後,又經過了ai的完善和修復後,自己又再次添加一些語句註釋 /**************************************************************************** * * file name: 2025-07-30_filecopy.c * author :
昵稱 一二三一二一
該遊戲為c語言寫的練手小遊戲 大致分為兩部分: 菜單顯示 遊戲部分 主程序 首先加載菜單 用户選擇人機或者雙人,進入遊戲函數 選擇退出時,退出程序 選擇不合法選項時,再次加載菜單供用户選擇 菜單代碼 /** * @brief 菜單函數 * * @return 無返回值 * * @code * Menu(); * @endcode */ void Menu() { pri
昵稱 EricsT
在計算機中,原碼、反碼、補碼 是用於表示有符號整數的三種編碼方式,主要用於解決二進制數的 正負表示 和 加減運算 問題。它們的核心區別在於 符號位的處理 和 負數的表示方法。 原碼(Sign-Magnitude) 定義 最高位(最左邊的一位)表示符號: 0 表示正數(如 +5) 1 表示負數(如 -5) 其餘位表示數值的絕對值。 示例(8位二進制)
昵稱 Invinc-Z
本文總結了在C語言中與文件流相關的標準庫函數。 文件流常用標準庫函數 使用下列文件流相關函數需要包含頭文件stdio.h。 函數 作用 注意事項 打開或關閉文件流 fopen 打開文件,返回指向FILE的指針 需要指定模式(如“r”, “w”, “a”等),並處理可能的文件打開錯誤
昵稱 Invinc-Z
在 C 語言中,可變參數列表(Variable Argument List)通過 stdarg.h 頭文件提供的宏和函數來實現。它允許函數接受可變數量的參數,類似於 printf 和 scanf 這樣的函數。本文介紹與可變參數列表相關的函數和用法。 核心宏和函數 stdarg.h 提供了以下宏和函數來處理可變參數列表: 宏/函數 作用 va_li
昵稱 Invinc-Z
lwip-2.1.3/src/core/ipv4/autoip.c AutoIP 通常指的是在動態網絡環境中,系統自動為其網絡接口分配、管理和使用一個IP地址的技術,而無需依賴中心化的服務器(如DHCP服務器)或手動靜態配置 需要使用autoip,需要在opt.h頭文件當中使能LWIP_AUTOIP這個宏,通常也會使能LWIP_DHCP_AUTOIP_COOP這個宏 /* ------
昵稱 nuanshu
本文介紹瞭如何設計和定義一個新的數據類型,具體包括建立抽象、建立接口和實現接口三個部分。總結這三步法:從思考“做什麼”(抽象)到規定“怎麼做才對”(接口),最後才是“怎麼做到”(實現),這是編寫健壯、清晰、可維護代碼的基石。 引言 設計一種數據類型包括設計如何儲存該數據類型(屬性)和設計一系列管理該數據的函數(操作)。 計算機科學領域已開發了一種定義新類型的好方法,用3個步驟完成從抽象到具體的過
昵稱 Invinc-Z
記錄了學習 “一生一芯” 時(更確切地説是學習 “Learn C The Hard Way” 時)遇到的 LIST_FOREACH 鏈表遍歷宏。該宏的精髓在於使用 V 和 _node 雙指針機制,以確保即使在複雜場景下(如用户誤改指針),循環的健壯性和遍歷的正確性也不會被破壞。 LIST_FOREACH的定義 #define LIST_FOREACH(L, S, M, V) ListNod
昵稱 Zeeh-Lin
//請求連接 void mqtt_connect(char *clientid,char *username,char *passwd) { uint32_t clientid_len = strlen(clientid); uint32_t username_len = strlen(username); uint32_t passwd_len = strlen(passwd); //用
昵稱 LRadian
這裏記錄一下怎麼為結構體成員變量實現內存連續且為動態 #include iostream #include conio.h #include stdlib.h #include string.h #include stdio.h using namespace std; // 今天描述結構體中的指針和數組 typedef struct _Player { int level; ch
昵稱 1angx
原文鏈接:https://www.cnblogs.com/mddblog/p/11105450.html 如果對方法交換已經比較熟悉,可以跳過整體介紹,直接看常見問題部分 整體介紹 方法交換是runtime的重要體現,也是"消息語言"的核心。OC給開發者開放了很多接口,讓開發者也能全程參與這一過程。 原理 oc的方法調用,比如[self test]會轉換為objc_msgSend(self,@se
昵稱 時間已靜止