Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 视频一区在线观看,国产网站视频,久久久久亚洲香蕉网

          整合營(yíng)銷服務(wù)商

          電腦端+手機(jī)端+微信端=數(shù)據(jù)同步管理

          免費(fèi)咨詢熱線:

          AWTK 1.2 發(fā)布,國(guó)產(chǎn)開源 GUI 引擎

          WTK全稱為Toolkit AnyWhere,是ZLG傾心打造的一套基于C語言開發(fā)的GUI框架。旨在為用戶提供一個(gè)功能強(qiáng)大、高效可靠、簡(jiǎn)單易用、可輕松做出炫酷效果的GUI引擎,并支持跨平臺(tái)同步開發(fā),一次編程,終生使用。

          AWTK當(dāng)前升級(jí)到了v1.2版本,相對(duì)于v1.1,我們完善了許多細(xì)節(jié),增加了部分特性、控件以及API等,讓AWTK支持更多的功能和更炫酷的效果。

          1.2版本更新的內(nèi)容

          細(xì)節(jié)完善

          • 輸入法候選字支持滾動(dòng);
          • slider支持上下左右鍵;
          • guage pointer支持錨點(diǎn);
          • slide view indicator作為獨(dú)立控件;
          • 完善idl gen工具;
          • 完善doc gen工具;
          • 支持用focusable屬性設(shè)置控件焦點(diǎn);
          • 去掉TK_DEFAULT_FONT宏定義;
          • 增加style border_width;
          • 支持動(dòng)態(tài)修改屏保時(shí)間;
          • SDL FB模式啟用臟矩形;
          • 新增內(nèi)存耗盡處理;
          • ...

          新增特性

          • cairo實(shí)現(xiàn)的vgcanvas;
          • 支持32位Windows編譯;
          • 增加條件變量tk_cond_var;
          • 支持用tab鍵切換控件的焦點(diǎn);
          • 支持在不同位置彈出完整窗口動(dòng)畫;
          • svg/gif支持從文件系統(tǒng)中加載圖片;
          • 增加widget_gen腳本生成自定義控件;
          • 增加self_layouter_menu實(shí)現(xiàn)彈出菜單;
          • 增加lcd_mem_special;
          • style增加margin參數(shù)。

          新增控件

          • mledit多行編輯器;
          • overlay overlay窗口;
          • hscroll_label可水平滾動(dòng)的文本。

          新增重要API

          • timer_modify
          • widget_add_idle
          • widget_find_animator

          在線運(yùn)行效果: http://zlgawtk.bceapp.com/

          AWTK介紹:

          AWTK 全稱 Toolkit AnyWhere,是 ZLG 開發(fā)的開源 GUI 引擎,旨在為嵌入式系統(tǒng)、WEB、各種小程序、手機(jī)和 PC 打造的通用 GUI 引擎,為用戶提供一個(gè)功能強(qiáng)大、高效可靠、簡(jiǎn)單易用、可輕松做出炫酷效果的 GUI 引擎。

          AWTK 寓意有兩個(gè)方面:

          • Toolkit AnyWhere。
          • ZLG 物聯(lián)網(wǎng)操作系統(tǒng) AWorks 內(nèi)置 GUI。

          AWTK 源碼倉(cāng)庫(kù):

          • 主源碼倉(cāng)庫(kù):https://github.com/zlgopen/awtk
          • 鏡像源碼倉(cāng)庫(kù):https://gitee.com/zlgopen/awtk

          運(yùn)行效果截圖:

          二、最終目標(biāo):

          • 支持開發(fā)嵌入式應(yīng)用程序。
          • 支持開發(fā) Linux 應(yīng)用程序。
          • 支持開發(fā) MacOS 應(yīng)用程序。
          • 支持開發(fā) Windows 應(yīng)用程序。
          • 支持開發(fā) Web APP。
          • 支持開發(fā)微信小程序。
          • 支持開發(fā)支付寶小程序。
          • 支持開發(fā)百度小程序。
          • 支持開發(fā) Android 應(yīng)用程序。
          • 支持開發(fā) iOS 應(yīng)用程序。
          • 支持開發(fā) 2D 小游戲。

          三、主要特色

          1. 跨平臺(tái)

          AWTK 是跨平臺(tái)的,這有兩個(gè)方面的意思:

          • AWTK 本身是跨平臺(tái)的。目前支持的平臺(tái)有 ZLG AWorks、Windows、Linux、MacOS、嵌入式 Linux 和嵌入式裸系統(tǒng),可以輕松的移植到各種 RTOS 上。AWTK 以后也可以運(yùn)行在瀏覽器 (即將公測(cè))、各種小程序、Android 和 iOS 等平臺(tái)上運(yùn)行。
          • AWTK 同時(shí)還提供了一套跨平臺(tái)的基礎(chǔ)工具庫(kù)。其中包括鏈表、數(shù)組、字符串 (UTF8 和 widechar),事件發(fā)射器、值、對(duì)象、文件系統(tǒng)、互斥鎖和線程、表達(dá)式和字符串解析等等,讓你用 AWTK 開發(fā)的應(yīng)用程序可以真正跨平臺(tái)運(yùn)行。

          2. 高效

          AWTK 通過一系列的手段保證 AWTK 應(yīng)用程序高效運(yùn)行:

          • 通過臟矩算法只更新變化的部分。
          • 支持 3 FrameBuffer 讓界面以最高幀率運(yùn)行 (可選)。
          • UI 描述文件和主題文件使用高效的二進(jìn)制格式,解析在瞬間完成。
          • 支持各種 GPU 加速接口。如 OpenGL、DirectX、Vulkan 和 Metal 等。
          • 支持嵌入式平臺(tái)的各種 2D 加速接口。目前 STM32 的 DMA2D 和 NXP 的 PXP 接口,廠家可以輕松擴(kuò)展自己的加速接口。

          3. 穩(wěn)定

          AWTK 通過下列方式極力讓代碼穩(wěn)定可靠:

          • 使用 cppcheck 和 facebook infer 進(jìn)行靜態(tài)檢查。
          • 使用 valgrind 進(jìn)行動(dòng)態(tài)內(nèi)存檢查。
          • 近兩萬行的單元測(cè)試代碼。
          • ZLG 強(qiáng)大 GUI 團(tuán)隊(duì)的支持。
          • 經(jīng)過多個(gè)實(shí)際項(xiàng)目驗(yàn)證。
          • 多平臺(tái) / 多編譯器驗(yàn)證。
          • 優(yōu)秀的架構(gòu)設(shè)計(jì)。
          • Code Review。
          • 手工測(cè)試。

          4. 強(qiáng)大

          • 豐富的控件 (持續(xù)增加中)。
          • 支持各種圖片格式 (png/jpg/gif/svg)。
          • 支持各種字體格式 (點(diǎn)陣和矢量)。
          • 支持窗口動(dòng)畫
          • 支持控件動(dòng)畫
          • 支持高清屏。
          • 支持界面描述文件。
          • 支持主題描述文件。
          • 支持控件布局策略。
          • 支持對(duì)話框高亮策略。
          • 豐富的輔助工具。
          • 支持從低端的 Cortex M3 到各種高端 CPU。
          • 支持無文件系統(tǒng)和自定義的文件系統(tǒng)。
          • 支持裸系統(tǒng)和 RTOS。

          5. 易用

          • 大量的示例代碼。
          • 完善的 API 文檔和使用文檔。
          • ZLG 強(qiáng)大的技術(shù)支持團(tuán)隊(duì)。
          • 用 AWTK 本身開發(fā)的界面編輯器 (開發(fā)中)。
          • 聲明式的界面描述語言。一行代碼啟用控件動(dòng)畫,啟用窗口動(dòng)畫,顯示圖片 (png/jpg/svg/gif)。

          6. 高度擴(kuò)展性

          • 可以擴(kuò)展自己的控件。
          • 可以擴(kuò)展自己的動(dòng)畫。
          • 可以實(shí)現(xiàn)自己的主循環(huán)。
          • 可以擴(kuò)展自己的軟鍵盤。
          • 可以擴(kuò)展自己的圖片加載器。
          • 可以擴(kuò)展自己的字體加載器。
          • 可以擴(kuò)展自己的輸入法引擎。
          • 可以擴(kuò)展自己的控件布局算法。
          • 可以擴(kuò)展自己的對(duì)話框高亮策略。
          • 可以實(shí)現(xiàn)自己的 LCD 接口。
          • 可以擴(kuò)展自己的矢量引擎 (如使用 skia/cairo)。
          • 所有擴(kuò)展組件和內(nèi)置組件具有相同的待遇。

          7. 多種開發(fā)語言

          AWTK 本身是用 C 語言開發(fā)的,可以通過 IDL 生成各種腳本語言的綁定。生成的綁定代碼不是簡(jiǎn)單的把 C 語言的 API 映射到腳本語言,而是生成腳本語言原生代碼風(fēng)格的 API。目前支持以下語言 (以后根據(jù)需要增加):

          • C
          • Lua
          • Javascript on jerryscript
          • Javascript on nodejs

          8. 國(guó)際化

          • 支持 Unicode。
          • 支持輸入法。
          • 支持字符串翻譯 (實(shí)時(shí)生效)。
          • 支持圖片翻譯 (實(shí)時(shí)生效)。
          • 文字雙向排版 (計(jì)劃中)。

          9. 開放源碼,免費(fèi)商用 (LGPL)。

          作者: lixianjing

          軟件下載:「鏈接」

          ginx來處理訪問控制的方法有多種,實(shí)現(xiàn)的效果也有多種,訪問IP段,訪問內(nèi)容限制,訪問頻率限制等。

          1. 需求分析

          1. Nginx來處理訪問控制的方法有多種,實(shí)現(xiàn)的效果也有多種,訪問IP段,訪問內(nèi)容限制,訪問頻率限制等。

          2. 用Nginx+Lua+Redis來做訪問限制主要是考慮到高并發(fā)環(huán)境下快速訪問控制的需求。

          3. Nginx處理請(qǐng)求的過程一共劃分為11個(gè)階段,分別是:

          post-read、server-rewrite、find-config、rewrite、post-rewrite、 preaccess、access、post-access、try-files、content、log.
          

          在openresty中,可以找到:

          set_by_lua,access_by_lua,content_by_lua,rewrite_by_lua等方法。
          

          那么訪問控制應(yīng)該是,access階段。

          解決方案

          按照正常的邏輯思維,我們會(huì)想到的訪問控制方案如下:

          1.檢測(cè)是否被forbidden?
          =》是,forbidden是否到期:是,清除記錄,返回200,正常訪問;否,返回403;
          =》否,返回200,正常訪問

          2.每次訪問,訪問用戶的訪問頻率+1處理

          3.檢測(cè)訪問頻率是否超過限制,超過即添加forbidden記錄,返回403

          這是簡(jiǎn)單地方案,還可以添加點(diǎn)枝枝葉葉,訪問禁止時(shí)間通過算法導(dǎo)入,每次凹曲線增加。

          實(shí)現(xiàn)方法

          首先為nginx添加vhost配置文件,vhost.conf部分內(nèi)容如下:

          lua_package_path "/usr/local/openresty/lualib/?.lua;;";#告訴openresty庫(kù)地址
          lua_package_cpath "/usr/local/openresty/lualib/?.so;;";
          error_log /usr/local/openresty/nginx/logs/openresty.debug.log debug;
          
          server {
              listen 8080 default;
              server_name www.ttlsa.com;    
              root  /www/openresty;
          
              location /login {
                  default_type 'text/html';
                  access_by_lua_file "/usr/local/openresty/nginx/lua/access_by_redis.lua";#通過lua來處理訪問控制
              }
          }

          Access_by_redis.lua

          參考了下v2ex.com的做法,redis存儲(chǔ)方案只做簡(jiǎn)單地string存儲(chǔ)就足夠了。key分別是:

          用戶登錄記錄:user:127.0.0.1:time(unix時(shí)間戳)

          訪問限制:block:127.0.0.1

          先連接Redis吧:

          local red = redis:new()
          function M:redis()
          	red:set_timeout(1000)
          	local ok, err = red:connect("127.0.0.1", 6379)
          	if not ok then
          		ngx.exit(ngx.HTTP_INTERNAL_SERVER_ERROR)
          	end
          end

          按照我們的邏輯方案,第二步是,檢測(cè)是否forbidden,下面我們就檢測(cè)block:127.0.0.1,如果搜索到數(shù)據(jù),檢測(cè)時(shí)間是否過期,未過期返回403,否則直接返回200:

          function M:check1()
          	local time=os.time()	--system time
          	local res, err = red:get("block:"..ngx.var.remote_addr)
          	if not res then	-- redis error
          		ngx.exit(ngx.HTTP_INTERNAL_SERVER_ERROR) --redis get data error 	end
          	
          	if type(res) == "string" then --if red not null then type(red)==string
          		if tonumber(res) >= tonumber(time) then  --check if forbidden expired
          			ngx.exit(ngx.HTTP_FORBIDDEN)
          			--ngx.say("forbidden")
          		end
          	end
          }

          接下來會(huì)做檢測(cè),是否訪問頻率過高,如果過高,要拉到黑名單的,

          實(shí)現(xiàn)的方法是,檢測(cè)user:127.0.0.1:time的值是否超標(biāo):

          function M:check2()
          	local time=os.time()	--system time
          	local res, err = red:get("user:"..ngx.var.remote_addr..":"..time)
          	if not res then	-- redis error
          		ngx.exit(ngx.HTTP_INTERNAL_SERVER_ERROR) --redis get data error
          	end
          
          	if type(res) == "string" then
          		if tonumber(res) >= 10 then -- attack, 10 times request/s
          			red:del("block:"..self.ip)	
          			red:set("block:"..self.ip, tonumber(time)+5*60 ) --set block time
          			ngx.exit(ngx.HTTP_FORBIDDEN)
          		end
          	end
          end

          最后呢,還要記得,把每次訪問時(shí)間做一個(gè)自增長(zhǎng),user:127.0.0.1:time

          function M:add()
          	local time=os.time()	--system time
          	ok, err = red:incr("user:"..ngx.var.remote_addr..":"..time)
          	if not ok then
          		ngx.exit(ngx.HTTP_INTERNAL_SERVER_ERROR) --redis get data error
          	end
          end

          那么,測(cè)試,強(qiáng)刷幾次瀏覽器,發(fā)現(xiàn)過一會(huì),返回了403,ok,搞定。

          原文來自:http://www.ttlsa.com/nginx/nginx-lua-redis-access-frequency-limit/

          本文地址:https://www.linuxprobe.com/lua-access-control-redis.html編輯:楊鵬飛,審

          經(jīng)編輯:杜宇

          11月16日,小米集團(tuán)董事長(zhǎng)雷軍在微博宣布,Xiaomi Vela面向全球軟硬件開發(fā)者正式開源。

          小米手機(jī)官方微博也宣布了該消息。

          根據(jù)小米官方網(wǎng)站的介紹,Vela是小米基于開源實(shí)時(shí)操作系統(tǒng)NuttX打造的物聯(lián)網(wǎng)嵌入式軟件平臺(tái),Vela在各種物聯(lián)網(wǎng)硬件平臺(tái)上提供統(tǒng)一的軟件服務(wù),支持豐富的組件和易用的框架,打通碎片化的物聯(lián)網(wǎng)應(yīng)用場(chǎng)景。

          圖片來源:小米官網(wǎng)

          Vela系統(tǒng)主要有以下特點(diǎn):

          高效性能:Vela基于NuttX內(nèi)核,具有高實(shí)時(shí)性、低功耗、低延遲等特點(diǎn),適用于各種資源受限的嵌入式設(shè)備。

          豐富組件:Vela提供了多種常用的組件,如網(wǎng)絡(luò)、音頻、視頻、圖形、安全等,方便開發(fā)者快速構(gòu)建應(yīng)用。

          易用框架:Vela提供了一套統(tǒng)一的應(yīng)用框架,支持Lua、JavaScript等腳本語言開發(fā)應(yīng)用,并提供了豐富的API和文檔。

          萬物互聯(lián):Vela支持多種通信協(xié)議和標(biāo)準(zhǔn),如Wi-Fi、BLE、Zigbee、MQTT等,并提供了小米妙享技術(shù),實(shí)現(xiàn)設(shè)備之間的無縫連接和協(xié)同。

          小米Vela的開源將為物聯(lián)網(wǎng)行業(yè)帶來新的機(jī)遇和挑戰(zhàn)。對(duì)于開發(fā)者來說,他們將獲得更多選擇,可以根據(jù)自己的需求和創(chuàng)意進(jìn)行定制開發(fā)。對(duì)于行業(yè)來說,這將推動(dòng)物聯(lián)網(wǎng)技術(shù)的快速發(fā)展和創(chuàng)新,為智能家居、智能城市等領(lǐng)域帶來更多的可能性。

          在2023小米IoT生態(tài)伙伴大會(huì)上,小米正式公布了面向人車家全生態(tài)的全新技術(shù)品牌“小米澎湃智聯(lián)”。據(jù)悉,小米澎湃智聯(lián)現(xiàn)已擁有9000+品牌生態(tài)伙伴,接入平臺(tái)設(shè)備達(dá)到了6.55億臺(tái)。

          圖片來源:小米手機(jī)官方微博

          每日經(jīng)濟(jì)新聞


          主站蜘蛛池模板: 精品日韩一区二区三区视频| 日本免费一区二区三区| 看电影来5566一区.二区| 国产精品成人免费一区二区| 男人免费视频一区二区在线观看| 极品人妻少妇一区二区三区| 中文字幕精品亚洲无线码一区| 无码人妻aⅴ一区二区三区有奶水| 亚洲av无码一区二区三区天堂古代 | 精品一区二区三区无码免费直播 | 久久一区二区明星换脸| 中文字幕一区二区在线播放| 全国精品一区二区在线观看| 色噜噜一区二区三区| 国产一区二区三区视频在线观看 | 国产电影一区二区| 交换国产精品视频一区| 精品国产一区二区三区四区| 91秒拍国产福利一区| 综合久久久久久中文字幕亚洲国产国产综合一区首 | 亚洲一区二区三区电影| 国产成人精品无码一区二区三区| 国产成人综合精品一区| 中文字幕永久一区二区三区在线观看| 亚洲av无码天堂一区二区三区 | 蜜芽亚洲av无码一区二区三区| 亚洲日本va一区二区三区| 精品午夜福利无人区乱码一区| 99热门精品一区二区三区无码| 亚洲av日韩综合一区二区三区| 精品国产一区二区三区AV| 日韩一区二区三区免费体验| 国产在线精品一区二区| 丝袜人妻一区二区三区网站| 亚洲A∨无码一区二区三区| 78成人精品电影在线播放日韩精品电影一区亚洲 | 亚洲精品日韩一区二区小说| 国产亚洲福利精品一区二区| 国产午夜三级一区二区三| 夜色福利一区二区三区| 日本香蕉一区二区三区|