摘要: 1. 复杂JSON字符串转模型 1 import com.fasterxml.jackson.core.type.TypeReference; 2 import com.fasterxml.jackson.databind.ObjectMapper; 1 ObjectMapper mapper = 阅读全文
posted @ 2020-01-10 10:46 无脑仔的小明 阅读(540) 评论(0) 推荐(0) 编辑
摘要: 零、说明 说明一下,我写的博客,都是我自己实践后,写下记录,方便以后自己看而已。没有什么系统的教学教程。也没有对底层的原理进行讲解,我觉得这些目前不是我需要注重的,作为一个开发人员,快速实现好需求才是最重要的。而作为一名合格的架构负责人,又必须了解底层,因此需要系统学习的,建议读者看官方文档或者对应 阅读全文
posted @ 2017-12-21 20:29 无脑仔的小明 阅读(8970) 评论(0) 推荐(1) 编辑
摘要: Socket网络编程--聊天程序 Socket网络编程--聊天程序(1) http://www.cnblogs.com/wunaozai/p/3870156.html Socket网络编程--聊天程序(2) http://www.cnblogs.com/wunaozai/p/3870194.html 阅读全文
posted @ 2014-09-01 16:23 无脑仔的小明 阅读(1094) 评论(2) 推荐(1) 编辑
摘要: 一、前言 quickjs是标准的js引擎,不可能直接运行ts文件。所以需要对ts文件,进行编译,编译成符合当前版本的js脚本,然后在运行。 二、简单ts例子 安装typescript,就有tsc编译器。使用npm之类安装。使用 tsc --init 创建项目,此时会得到一个tsconfig.js 配 阅读全文
posted @ 2023-12-15 16:38 无脑仔的小明 阅读(404) 评论(0) 推荐(1) 编辑
摘要: 一、前言 茴香豆的“茴”字有多少种写法?这篇博客不是为了炫技,是JS就是这么多种情况。比如C语言,就只能通过函数调用,没有类的概念。比如Java,就只能通过类、对象的方式。不能单独创建函数。哪怕main函数也要包装成一个class。而JS,即可以提供函数,也可以提供类。 在ES5之前,JS还没有模块 阅读全文
posted @ 2023-12-14 19:28 无脑仔的小明 阅读(788) 评论(0) 推荐(0) 编辑
摘要: 零、前言 默认的quickjs,是js引擎,需要自己移植类似curl库,才能使quickjs有http请求功能。js引擎+一些本地功能调用=js运行时。 一、libcurl库 这个库的安装或编译,也是比较麻烦的事情,特别是需要使其支持https访问,配置和编译更是麻烦。因此,还是使用上次提到的vcp 阅读全文
posted @ 2023-12-11 14:32 无脑仔的小明 阅读(794) 评论(0) 推荐(0) 编辑
摘要: 一、前言 这次通过这两篇博客,对libuv再次深入了解。因为后面结合iotjs,txiki.js会有很多地方用到libuv库。同时由于上一篇libuv博文是跟lvgl结合的。这一篇则比较纯粹的见解libuv库的使用。 二、默认的setTimeout例子,了解原理 1 import {setTimeo 阅读全文
posted @ 2023-12-08 15:09 无脑仔的小明 阅读(439) 评论(0) 推荐(0) 编辑
摘要: 一、模块封装、类封装 通过quickjs,封装JS模块,然后可以通过import 导入对应模块,还可以导入具体的类。全部代码如下。 1 #include "quickjs-libc.h" 2 #include <stdio.h> 3 #include <inttypes.h> 4 #include 阅读全文
posted @ 2023-12-05 14:43 无脑仔的小明 阅读(337) 评论(0) 推荐(0) 编辑
摘要: 一、使用qjsc编译字节码 hello.js console.log("Hello World") qjsc.exe -c hello.js 1 const uint32_t qjsc_hello_size = 78; 2 3 const uint8_t qjsc_hello[78] = { 4 0 阅读全文
posted @ 2023-12-04 17:47 无脑仔的小明 阅读(267) 评论(0) 推荐(0) 编辑
摘要: 零、前言 默认quickjs 是有setTimeout函数的实现的。但是由于js的进程与ui进程会有冲突,因此,需要通过重写quickjs的setTimeout,改用系统进程实现才行。 这里以大部分基于quickjs开源的框架中使用最多的libuv作为底层库。 一、编译libuv库 通过github 阅读全文
posted @ 2023-12-01 10:10 无脑仔的小明 阅读(400) 评论(0) 推荐(0) 编辑
摘要: 实现本次使用quickjs的最主要目的,就是通过程序动态加载js,然后调用lvgl函数库,实现渲染。以达到类似小程序的效果。后续还会实现类似小程序效果,通过quickjs解析xml(html),编译成js然后调用lvgl库,实现界面渲染。通过quickjs会调用c语言提供的底层功能,如wifi、蓝牙 阅读全文
posted @ 2023-11-29 09:09 无脑仔的小明 阅读(289) 评论(0) 推荐(0) 编辑
摘要: QuickJS调用C函数,这个可以参考官方的std、os进行实现。 外部库 core.h 1 #include <string.h> 2 #include "quickjs-libc.h" 3 #include "cutils.h" 4 5 extern JSModuleDef *js_init_m 阅读全文
posted @ 2023-11-28 19:35 无脑仔的小明 阅读(444) 评论(0) 推荐(0) 编辑
摘要: 零、前言 之前搞过在嵌入式中引入Lua作为脚本,以实现动态执行效果。详见(https://www.cnblogs.com/wunaozai/p/14087370.html)但是众所周知原因,其实Lua远远没有JS好,一方面是目前前端的如日中天,加之前端开源的库很多。很多都可以复用。 在选型用哪个JS 阅读全文
posted @ 2023-11-24 16:09 无脑仔的小明 阅读(2202) 评论(0) 推荐(2) 编辑
摘要: 由于最近在学习quickjs,把学习过程中遇到的问题和功能验证的过程都记录下来,这篇是quickjs入门学习的目录导航。 一、基础篇 1. https://www.cnblogs.com/wunaozai/p/17850789.html quickjs在嵌入式中的应用 2. https://www. 阅读全文
posted @ 2023-11-24 15:57 无脑仔的小明 阅读(533) 评论(0) 推荐(0) 编辑
摘要: 0. 前言 由于项目需要,众所周知,PC端软件的界面UI令人堪忧。之前使用过Qt,C#都不尽人意。而且对应的界面库也不多,很多还是收费的。 有没有一种可能,就是基于Web的开源生态,开发一些桌面工作呢,目前有Electron,这个用的人比较多。这个有个缺点就是,如果涉及到与硬件或操作系统之类进行交互 阅读全文
posted @ 2022-02-09 08:28 无脑仔的小明 阅读(904) 评论(0) 推荐(0) 编辑
摘要: 转眼间2021年了,2020年加上19年,都没有进行过总结。主要是心情很不好,加上平时要搬砖比较忙。趁今天有兴致,总结一下最近一年多的事情,还有对未来的期望吧。 工作上,其实已经逐渐感觉没有多少进步和能力提升了。奈何公司发展迅速,最近几年,每年销售额都翻番。待遇也提高了很多。在这三线城市,算是很不错 阅读全文
posted @ 2021-01-06 10:16 无脑仔的小明 阅读(558) 评论(3) 推荐(1) 编辑
摘要: 阅读全文
posted @ 2021-01-06 08:52 无脑仔的小明 阅读(239) 评论(0) 推荐(1) 编辑
摘要: 1. C# FFmpeg.AutoGen 用这个FFmpeg.AutoGen时出现如下错误 1 System.Runtime.InteropServices.MarshalDirectiveException: 无法封送处理“parameter #2”: 无效的托管/非托管类型组合(String 类 阅读全文
posted @ 2020-12-11 16:34 无脑仔的小明 阅读(668) 评论(0) 推荐(0) 编辑
摘要: 0.前言 接上一篇博客,上一篇博客讲到在QT里面调用Lua,还有Lua里面调用QT里面的函数两部分。由于需要在QT里面写Lua脚本或者通过文件导入Lua脚本。为了方便查看代码,就需要进行简单的高亮。 1. 效果图 2. 代码部分 本次代码分成两部分,一部分是自定义代码高亮,一部分是自定义编辑器区域。 阅读全文
posted @ 2020-12-11 09:00 无脑仔的小明 阅读(3298) 评论(0) 推荐(0) 编辑
摘要: 0. 前言 最近有个需求,就是需要在QT(C++)中移植lua脚本。达到可以动态更新软件功能。lua是一门脚本语言。常用于各类编程语言,作为脚本。特别是游戏行业,据说很多用lua脚本来写业务逻辑。本次分为两种调用,一种是QT调用Lua,这种比较简单。利用Lua源码编译后,直接就可以使用。另外一种是L 阅读全文
posted @ 2020-12-07 09:06 无脑仔的小明 阅读(5412) 评论(0) 推荐(1) 编辑
摘要: 0.前言 上一篇博客讲的这个图,说到,设备主动上报数据到应用服务器端,只说到基于MQ来实现,只讲到安装篇,至于代码篇,等后面实际用到再继续深入了解。本篇博客主要讲,客户端(手机或者PC端)命令下发到设备,然后设备应答,返回结果到客户端。常用于扫码支付类应用。这该是如何设计呢?以前有说到,把手机或者P 阅读全文
posted @ 2020-12-03 11:48 无脑仔的小明 阅读(1020) 评论(0) 推荐(0) 编辑
摘要: 一、前言 一般上传文件,都是通过<input type="file" />标签,然后选择本地文件,再进行上传。最近遇到一个需求,就是由JS创建好一个二进制文件,然后上传到服务器。原理还是比较简单的,就是通过js提供的blob创建一个数据流。然后生成一个文件实例。然后提交到后端。 二、服务器代码 服务 阅读全文
posted @ 2020-11-07 11:25 无脑仔的小明 阅读(8633) 评论(0) 推荐(1) 编辑
摘要: 一、前言 这张图,前面已经说到了,物联网平台推送给客户应用服务器(APP应用),除了用传统的RPC远程调用。还可以使用RabbitMQ这种消息队列来进行推送。RabbitMQ之类的MQ这里就不展开细说了。 下面这张图是 OneNet 后台截图,里面的MQ推送和HTTP推送,就是我上面说到的两种方式。 阅读全文
posted @ 2020-11-05 14:00 无脑仔的小明 阅读(1115) 评论(0) 推荐(0) 编辑