LTUI是一个基于lua的跨平台字符终端UI界面库。
此框架源于xmake中图形化菜单配置的需求,类似linux kernel的menuconf去配置编译参数,因此基于curses和lua实现了一整套跨平台的字符终端ui库。
而样式风格基本上完全参照的kconfig-frontends,当然用户也可以自己定制不同的ui风格。
另外,LTUI是完全跨平台的,windows上的terminal终端也是完全支持的,在windows上ltui会采用pdcurses来进行窗口绘制。
Github
更新内容
新版本中,我们主要增加了对鼠标事件的支持,除了 curses/ncurses,我们还对 windows 上 pdcurses 也
继续阅读 »
此版本主要修复一些稳定性问题。
更多使用说明,请阅读:文档手册。
项目源码:Github, Gitee.
改进
改进add_files,支持对files粒度进行编译选项的各种配置,更加灵活。
从依赖的target和option中继承links和linkdirs。
改进target.add_deps接口,添加继承配置,允许手动禁止依赖继承,例如:add_deps("test", {inherit = false})
移除tbox.pkg二进制依赖,直接集成tbox源码进行编译
Bugs修复
修复目标级联依赖问题
修复target:add和option:add问题
修复在archlinux上的编译和安装问题
修复/ZI的兼容性
继续阅读 »
1. 常用命令
git init # 初始化本地git仓库(创建新仓库)
git config --global user.name "xxx" # 配置用户名
git config --global user.email "xxx@xxx.com" # 配置邮件
git config --global color.ui true # git status等命令自动着色
git config --global col
继续阅读 »
用过一段时间的zsh , 但是觉得一般情况下bash也够用了,今天闲着刚好配置了一下zsh.
首先配置oh my zsh,然后用默认的主题改了一个自己的主题.
继续阅读 »
客户端提出搞一个日志上传的接口,方便向服务端提交日志,研究了一下,决定用Nginx嵌入Lua的方式搞。
Lua是一个可以嵌入到Nginx配置文件中的动态脚本语言,从而可以在Nginx请求处理的任何阶段执行各种Lua代码。业余时间使用过,感觉小巧轻快,代码风格和Python一样简洁优雅。在Nginx中内嵌Lua,需要你重新编译安装Nginx,加上ngx_lua模块,同时需要安装LuaJIT,可以看看这篇文章"Nginx与Lua"。
安装好相关的模块后,Nginx配置如下:
location ~ /upload { # 调用的路由
# 转到后台处理URL
upload_pass /uploadHandle;
继续阅读 »
linux(继承自Unix)的文件系统架构,系统会默认选择安装目录,通常情况下:
程序的文档->/usr/share/doc; /usr/local/share/doc
程序->/usr/share; /usr/local/share
程序的启动项->/usr/share/apps; /usr/local/share
程序的语言包->/usr/share/locale; /usr/local/share/locale
可执行文件->/usr/bin; /usr/local/bin
配置文件-> /etc
lib文件->/usr/lib
例如:系统安装软件一般在/usr/share,可执行的文件在/usr/bin,配置文件可能安装到
继续阅读 »
一、安装nginx
首先来安装nginx,使用如下命令:
shell
sudo apt-get -y install nginx
查看nginx安装的文件。使用如下命令进行查看,如下:
shell
dpkg -S nginx
nginx默认的安装位置是/etc/nginx目录,而且nginx的配置文件nginx.conf也是在该目录下。
除此之外,nginx的默认网站目录在/usr/share/nginx/html下,默认nginx网站配置文件为/etc/nginx/sites-available/目录下的default文件。
启动nginx,可以使用如下命令:
shell
sudo /etc/init.d/nginx st
继续阅读 »
首先说明我的软件配置:
Computer: Windows7 SP1 64位
VS2010:旗舰版 SP1
Matlab:R2012a ,64位
下面我们将具体讲述调试Mex文件的全过程。(有图有真相哟! )
more
注意1:我们下面的做法是在64位基础上进行的,对于32位同适用,只要你注意减少某些操作即可。我们会在合适的地方进行相应的说明的,所以请放心操作。
注意2:由于这里建立的Mex文件里包含了opencv 2.4.9,所以如下的配置也会涉及到opencv的部分设置,如include,lib路径和附加依赖项,但是如果你也想使用opencv的话,你还需设置环境变量,在Path中添加bin路径。
MEX的说明
写MEX程
继续阅读 »
生产环境之运维
最近在生产环境上游历了一番,大版本升级,流量控制,问题的追根索源,甚是各种艰辛。
线上资源配置问题
池化连接
必须清楚了解业务进行设置
主要是连接数个数与闲置回收的时间: 防止连接数瓶颈。
超时设置:防止在网络抖动或者数据库不可用的状况下,业务核心线程被阻塞,连接池爆浆。
e.g. 数据库连接池
池的最小最大值(不同数据库需)
从DPCP获取连接超时
连接超时
读超时
socket超时
重试次数与每次重试相隔时间
NoSQL
容量 (dimension)
TTL
连接管理
Dev提供友好的配置指引,工程公式及原理,让Ops了解当前系统在不同的部署环境下如何合理配置系统资源。
系统连接数及计算公式
客户端(e.g
继续阅读 »
之前的版本对编译控制粒度,只能到target这一级:
```lua
-- 全局根配置,所有target都会被影响
add_defines("ROOT")
target("test")
-- target目标配置,只对test目标下的所有源文件编译生效
add_defines("TEST")
add_files("src/*.c")
```
最近给2.1.6开发版本中的add_files进行了改进,支持基于files更细粒度的编译选项控制,例如:
lua
target("test")
add_defines("TEST1")
add_files("src/*.c")
add_files("test/*
继续阅读 »