原创 lua實現原理

lua實現原理 概覽 語言設計 c和lua使用 c實現lua 自定義dsl實現openresty擴展 語言設計 文法設計 詞法實現 語法實現 AST樹構造 符號表存儲 AST樹遍歷 ATS樹執行 c和lua交互 lua調用c AP

原创 lpeg使用

lpeg使用 簡介 lua的正則表達式庫 doc 規則 lpeg可以創造和組合規則 操作符 描述 lpeg.P(string) Matches string literally lpeg.P(n) Matc

原创 ffi

FFI 介紹 FFI 庫,是 LuaJIT 中最重要的一個擴展庫。它允許從純 Lua 代碼調用外部C函數,使用 C 數據結構。 在 JIT 編譯過的代碼中,調用 C 函數,可以被內連處理,不同於基於 Lua/C API 函數調用。

原创 kibana

KIBANA 查詢 kibana支持兩種查詢 es本身搜索語法 QueryDsl: json串搜索格式 lucene搜索語法 域名+”:”+搜索的項名 es查詢語法 略 lucene搜索語法 AND查詢 title:”Th

原创 lua_深入用法

lua 深入用法 C API 兩種觀點(Lua作爲擴展性語言和可擴展的語言)對應的C和Lua中間有兩種交互方式。第一種,C作爲應用程序語言,Lua作爲一個庫使用;第二種,反過來,Lua作爲程序語言,C作爲庫使用。這兩種方式,C語言

原创 jvm

JVM 簡介 JRE由JVM、java core classes、java 平臺組建構成 JVM相當於提供了一個與系統無關的軟件隔離平臺 架構 JVM hotspot架構 java class file ------->

原创 makefile

Makefile 規則 <target> : <prerequisites> [tab] <commands> 上面第一行冒號前面的部分,叫做"目標"(target),冒號後面的部分叫做"前置條件"(prerequisite

原创 jinja2

Jinja2 簡介 python 模板語言 {% block title %}{% endblock %} {% for user in users %} {{ user.username }} {% endfor %}

原创 openresty

openresty 參數相關 ngx.var.args 包含了參數的最原始形式,eg: c=3&d=4,是可以修改的 ngx.var.arg_c是某個具體的參數,如果存在多個c參數的話,就是一個table,不可以被修改。 當修

原创 linux_misc

Linux misc linux kernerl dmesg/varlog 電源溫度過高 什麼是Oops?從語言學的角度說,Oops應該是一個擬聲詞。當出了點小事故,或者做了比較尷尬的事之後,你可以說"Oops",翻譯成中國話就叫

原创 git

Git git 分支管理: 從0開始github 高級用法 查看分支 git branch 查看當前分支 git branch -a 查看本地和遠程所有分支 創建分支 git branch branch_name 創

原创 mac_vim配置

mac vim配置 插件安裝 插件使用 文檔目錄 tagbar 標籤頁 minibuferexplore :b+num進行跳轉 跳轉 [+ctrl+i 跳轉到函數、變量和#define [+ctrl+d 跳轉到#define處

原创 es原理

ES原理 原理 概念 index 邏輯命名空間,指向一個或者多個shards shards index實際存儲的分片 集羣擴展時,會自動增加分片 shards分爲兩種: primary shards和replica sha

原创 python_瑣碎

python 瑣碎 瑣碎點 string.format 自python2.6開始,新增了一種格式化字符串的函數str.format() 它通過{}和:來代替%。 * 通過位置 * In [1]: '{0},{1}'.format(

原创 kafka

Kafka 消息隊列 含義:消息隊列技術是分佈式應用間交換信息的一種技術 通訊方式 點對點 多點廣播 發佈/訂閱 集羣 kafka原理 作爲一層中間中間存儲介質,隔離生產者和消費者。 kafka 存儲原理 名詞解釋 Broker: