自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(82)
  • 资源 (9)
  • 收藏
  • 关注

原创 满足您的一切幻想NanoPI R5S

NanoPI-R5S 上手把玩.

2022-05-24 01:03:11 1808

原创 谈谈我个人对WEB3.0对一些看法

起因最近不少朋友聊天必谈WEB3.0,大有山雨欲来之感。一朋友给我分享了一些web3.0技术栈、开源项目,见我不怎么感冒,于是他转而征询我对web3.0对看法。于是我跟他聊了几句,总价如下。什么是WEB3.0在WEB2.0时代,大数据、内容 掌握在资本家手里。他们赚得盆满钵满。WEB3.0 去中心化,数据只属于你个人。 这听起来很美好。然而,对于一个接受过马列熏陶、阅读过资本论我来说,这话怎么听都想是资本家想要革了资本家自己的命的感觉。如梦幻般不真实。我们不妨从下面几个方面来聊聊为什么WEB3.0 不

2022-05-19 01:27:23 275

原创 lua+libuv的一些开发心得

不断的查阅资料, 不断的学习, 阅读 lua代码. 一个人做开发其实是一个痛苦的过程,非常考验毅力和耐心。不过好在经过几个月晚上的学习积累, 已经渐入佳境。觉得有必要做一下笔记了。下面记录下踩过的一些坑。第一个坑原计划将sqlite数据库封装完全异步化的, 实现思路, 使用 uv_queue_work + 队列 来实现异步的数据库操作, 以达到利用一个独立线程来操作数据库的目的。 起初 我觉得通过 lua_newthread 创建一个线程, 然后在这个线程不和 的父线程又任何交集的情况下,应该会是线程

2022-04-27 02:24:40 158

原创 使用JavaScript创建SVG矢量图Code128编码

本来设计使用20开头的EAN13 作为店内码的, 实际查询发现. 一些20开头的也是商品条码. 这就有点尴尬了, 为了不和商品条码冲突, 只好改变编码规则, 因此需要实现输出SVG格式的Code128条码.

2022-04-25 18:47:22 1595

原创 在JavaScript中创建SVG矢量图EAN13条码

EAN-13 商品条码由13位数字构成, 12位商品代码+1位校验码, 本次开发任务是在Javascript中创建 EAN-13 商品条码, 生成矢量图, 方便后续根据用户需要使用画板生成不同尺寸的图片.

2022-04-25 18:45:53 1084

原创 在LUA中使用异步IO的思考

本文介绍利用lua协程+libuv 实现异步IO的方法

2022-04-24 02:21:57 420

转载 PDO 连接池死锁现象分析

我在项目中对PDOPool进行了二次封装, 并写了一个简易的SqlBuilder, 目的还是为了简化开发. 从开发过程到项目上线都没发现问题。本以为一切顺利,然而直到一天,服务器升级一个功能需要重启的时候,意外出现了。系统启动的时候卡死~, 直觉告诉我,这是发生死锁了。然而,服务不能停,智能多次重启的方法,总算成功启动了一次。接下来是排查问题的过程。

2022-01-11 04:07:07 74

原创 Javascript Promise 多次返回.

在JS中 我们使用Promise 可以带来极大地方便。然而,一个Promise 只要 resolve 或者 reject一次后,后续的resolve 或者 reject调用都会被忽略。因为此时 Promise对象已经结束了 Pending 状态。 然而,更多的时候,为了得到更好的用户使用体验,我们向服务器发送一个请求,并不急于等待服务器返回结果,而是在服务器真正完成这次请求之前,向用户展示更多的工作状态信息。 这在 http 请求中很少出现这种请求。但当使用WebSocke...

2021-08-14 00:51:32 899

原创 LUA中绑定C对象的3种方法

对于C 和LUA之间的对象绑定, 大致可以分为以下几种.## 1. 在整个软件生存周期都有效的对象指针.这种类型的C对象, 不用关心C对象的生存周期. 可以使用 lua upvalue 来进行绑定.```c```### 2. 不知道何时会失效的C对象.这类对象的生存周期不确定, 比如一个网络连接, 在你的程序运行的任何时间它都有可能失效(比如:连接断开了). 可以给C对象增加一个引用计数,同时使用匿名元表的方式来绑定到lua对象.```c/*绑定对象的工具函数 Lua ...

2021-06-19 02:57:28 409

原创 VUE3.0 使用全局快捷键

vue3.0中 使用全局快捷键是比较容易的。1. 首先编写一个全局快捷键类,import { inject } from "@vue/runtime-core";const rkey = 'r-shortcut-key'function RKeyMap(){ var map = {}; this.bind = (skey, fn)=>{ map[skey] = fn; return this; } this.evt =.

2021-04-27 22:06:12 461

原创 2021-03-10

vue3.0 动态创建组件缘起设想中的写法:组件的实现代码:用法第一步: 首先全局引入组件第二步: 在全局使用一次组件第三步: 如何使用缘起有时候, 我们希望组件在我们任何需要的时候呼之即来,而不是固定在HTML的DOM中.在 element-plus中 是事先通过 el-dialog 定义 然后 控制起是否可见来决定对话框的弹出还是隐藏。这在涉及复杂逻辑可能会不太方便。设想中的写法:import LocMarkDialog from 'LocMarkDialog.vue'///省略代码 .

2021-03-10 03:19:25 152

原创 继续折腾 NanoPC-T4之 私有云部署

前言自从360 等各大云盘开始收费, 莆田系各种恶心限速以来,一直想搭建一个自己的私有云服务器。以满足手机/PC等个机器之间的文件同步(中间用GIT替代过一段时间). 虽然强大 但各种不方便。在尝试了 seafile、owncloud等后,发现这些东东都不能满足在树莓派嵌入式单板机器上的使用要求。于是转而寻求一个适合嵌入式机器使用的私有云软件。syncthing 出现了。经过一段时间的折腾测试...

2019-05-10 15:01:31 1331 1

原创 NanoPC-T4 上实现pwm风扇自动调速

友善之臂推出的 NanoPC-T4 是一款采用 瑞芯微RK3399 方案的嵌入式开发板,性能强大。发热量也杠杠的。 其板载PWM调速风扇接口采用GH1.25 插头,支持PWM调速。但查看了下 dts 并没有配置自动根据温度调节的选项。(注:pwm-fan, thermal_zone, cooling_device相关DTS节点) , 不过这么做也可以理解,友善官方并没有配套的风扇...

2019-05-06 09:32:07 2485 1

原创 PHP实现wav文件拼接

缘起众所周知 科大讯飞的在线语音合成好使,但每天只有少得可怜的500次的配额, 想用但又不想出钱怎么办? 针对自己的特定业务场景, 同频词汇多,变化词汇少的情况. 将要请求的短句自己分词后分别获取wav 然后存于数据库. 是一个还不错的解决方案.数据库设计CREATE TABLE `tp_user_voice` ( `id` int(11) NOT NULL AUTO_INCREMENT...

2019-04-23 21:57:10 1180 2

原创 一个保持服务器文件整洁的简单方法

一个保持服务器文件整洁的简单方法前言解决思路数据表设计开发文件清理功能.前言在项目开发实施的过程中,我们经常遇到服务器需要存储大量文件的情况,而且这些文件中存在大量内容相同的文件。这篇文章的目标是使用少量代码。提供一个简单的解决方法解决思路建立一个表,用来保存用户上传的的文件记录.当有新文件上传的时候,添加一条记录.并设置引用计数=1当有记录删除或者修改的时候更新其对应的引用计数....

2019-04-03 15:27:16 374

原创 抓取全国行政区划(PHP)代码

项目需要,简单写了一个抓取全国行政区划的代码。class AreaCodeCtrl extends Controller{static function getSubstr($str, $leftStr, $rightStr) { $llen = strlen($leftStr); $left = strpos($str, $leftStr); $ri...

2019-03-08 10:42:49 1728

原创 ISCSS 项目开始开发了

目标 打造一个迷你的 css 模板目前已经支持的内容:栅格系统完成弹性盒子布局对话框 –开发中sidenav –计划中menu –计划中html5进度上传 –计划中  欢迎大家提交pr仓库地址: https://coding.net/u/bywayboy/p/iscss/git

2016-09-01 22:46:25 840

原创 AngularJS 实现弹性盒子布局

最近在写一个简单的布局框架,其实功能大同小异。但目标要求是用尽量简单的代码,实现一些必用的功能。应用在一些要求加载速度快的场合。CSS部分.flex-row,.flex{ display: -webkit-flex;display: flex; flex-direction: row;}.flex-col{ display: -webkit-flex; display: fle

2016-08-29 14:26:58 2105

原创 Angularjs 实现 switch 开关

下面是实现效果:AngularJS 实现代码:ro.directive('toggle',[function(){ return { restrict: 'E', replace: true, scope:{ 'ngModel':'=' }, template:'', link:function(scope,el

2016-08-27 14:11:08 7796

原创 angularjs material 实现搜索框

Material 提供了大量的android 风格的UI组件,使用 angularjs + Material 可以很容易开发出风格接近原生 Android 5.x 的web界面。但在实际使用的过程中并不总是能满足我们的需求。开发一个组件就成了我们必须学习的内容。下面是一个组件的实现://前面省略若干代码directive('mdSearchInput',[function(){ ret

2016-03-08 01:26:42 7473 3

原创 解决OpenSSL 在VC2015下链接报错的问题。

起因: 公司项目 服务器的nginx是使用的定制版,使用了concat、缩略图生成等模块,为了方便同事们在办公室环境下使用nginx,在Windows下编译nginx,并带上这两个模块。之前在 VC2013 之前的版本一直编译很顺利,最近开发环境改用了 VC2015 突然发现编译不过了。报了一堆link error!libeay32.lib(ui_openssl.obj) : error LNK2

2015-10-07 11:05:40 13928 8

原创 Objective-C 学习笔记:从HelloWorld开始

最近手痒痒,想玩玩IOS开发,询问过北京某大牛后,人家给我推荐Objective-C。为嘛不是 swift呢? 我也不细究,反正咱现在的首选编程语言是C,那就用Objecive-C吧. 希望能坚持下来。嘿嘿……import 和include 的区别 import 和 include 都可以用来包含头文件 import 可以确保该文件只会被包含一次. char * 和 NSStri

2015-08-28 00:45:20 1174 3

原创 DIY 一个 JSON解析器。

从最早使用的C-JSON,性能没什么问题,缺点是最大只支持32层嵌套,不过可以通过修改宏来增加嵌套层数, 最近使用LUA开发服务器业务部分,找了几个JSON库,要么标准支持不尽人意,要么则是使用LUA实现的,性能无法满足要求。与其漫无目的在网络上到处寻找,不如自己动手写一个。反正这东西也不复杂。定了个简单的设计要求: 使用C语言开发,编译为LUA模块. 支持UTF-8 JSON 中一般

2015-07-29 23:35:39 1900

原创 libuv 使用点滴

对于一个纯C语言实现的网络库来说,libuv 作为Node的跨平台抽象层,有着良好的性能,有Node 这个成熟项目提供营养,其可用性有了保障。但有些地方还是比较晦涩。最近在写一个C/S架构项目,服务器端和客户端均采用了libuv作为网络库,在编写服务器的时候,Server端极少情况会出现莫名其妙的崩溃现象。经过多次调试,发现崩溃的时机一般是服务器正在发送一个大数据,比如发送一个文件,而客户端此时突然

2015-07-29 23:24:38 9486 2

原创 如何Mysql触发器中抛出一个异常

当想Mysql出发其中插入或者更新一条数据的时候,我希望使用触发器进行一些检查工作。虽然这些工作可以使用PHP来完成,但考虑到公司做PHP的小伙子是个新手,为了简化PHP端的业务,使用触发器来实现可靠性应该更强, 在平时的应用中我们经常使用触发器来做一些关联表的字段值的更新操作。这次,我想做的事,在插入数据之前进行一次检查。当前的应用场景是,当创建订单的时候,先检查用户账户的余额,余额

2015-04-12 11:17:44 21252 1

原创 地理位置开发笔记

地理位置,GPS计算距离

2015-04-11 01:06:22 1131 2

原创 在LUA中获取各种路径.

1、获取当前路径。可以使用C语言大法。也可以使用 os库调用 cd命令。static int fmt_fs_cwd(lua_State * L){ char path[1024]; if(NULL == getcwd(path, 1023)) lua_pushinteger(L, errno); else lua_pushstring(L, path); return 1

2015-01-15 13:04:14 21129 3

原创 用C为LUA写一个超迷你的模板引擎.

中午在做HTTP服务器,内嵌了LUA

2014-11-12 20:09:49 4447

原创 使用Rust为OpenWRT开发应用.

最近阅读了 liigo的文章

2014-09-29 18:04:33 6447 2

原创 在C语言中调用Unix Shell脚本。

最近项目要求需要在C语言中调用shell脚本。

2014-08-05 11:30:44 1884

原创 Debian 安装 Subversion 1.8.x

wget http://opensource.wandisco.com/wandisco-debian.gpg -O /tmp/wd-deb.gpgapt-key add /tmp/wd-deb.gpgrm /tmp/wd-deb.gpgsudo nano /etc/apt/sources.listdeb http://opensource.wandisco.com/deb

2014-05-29 16:45:46 1173

原创 ThinkPHP 实现Mysql数据库备份

1、缘由自从2010年开始试用ThinkPHP以来,的确带来了许多方便。的确给我带来了许多方便。此次应为数据频繁备份需要,而每次远程连接到服务器颇为不便。变萌生了写个ThinkPHP数据库备份SQL生成类的念头。2、介绍由于在数据库中有使用触发器。因此也需要一并备份。并且为了插入数据的时候不会受到触发器影响而破坏先前插入的数据,在插入数据之前生成了删除触发器的代码。 本类并

2014-05-05 14:25:37 10245 3

原创 BootStrap TabView的编写

手动填入 选择已有 2222 JavaScript$(function(){ $('#region-tab li').each(function(i,t){ var me = $(t),idx=i; me.click(function(){ $($(me.parent('.nav-tabs').attr('data-target')).find('.t

2014-04-02 23:42:45 1473

转载 TSO、UFO、GSO、LRO、GRO和RSS介绍

ethtool -k ,可以看到很多网络接口的offload特性,例如:$ sudo ethtool -k eth0Offload parameters for eth0:rx-checksumming: ontx-checksumming: onscatter-gather: ontcp-segmentation-offload: onudp-fragmentat

2014-04-02 11:10:24 1884

原创 jQuery 实现可编辑下拉框。

HTML的下拉框可以让用户方便地选择项目,但是如果要允许用户随意添加选项呢?有朋友建议我使用一个按钮,添加自定义项目。不过我还是倾向于在下拉框里做手脚。在select中添加一项,其它。value=-1 select中class中增加 editable 然后js代码如下。$.fn.editable = function(config){ $(this).each(function(i,

2014-03-24 18:15:06 16760 2

原创 OpenWRT UCI API的使用

OpenWRT UCI API的使用UCI 是OpenWRT为实现配置集中化而引入的一个软件包, 通过修改UCI,可以实现对OpenWRT的绝对部分配置的修改.LUCI(OpenWRT 的WEB配置界面)也是通过读UCI配置文件的操作来实现用户对路由的配置的。通过掌握UCI的API的使用,可以方便地将您的软件的配置接口集成到LUCI中.LUCI配置文件简介LUCI的配置

2014-03-09 21:51:50 34449 7

原创 Linux 下 毫秒级延时函数

/* 毫秒级 延时 */void Sleep(int ms){ struct timeval delay; delay.tv_sec = 0; delay.tv_usec = ms * 1000; // 20 ms select(0, NULL, NULL, NULL, &delay);}

2014-03-05 16:17:14 18337

原创 检测路由器网关,上网的网卡 MAC地址,ip地址。网关MAC地址。

1、关于默认网关的监测,通常情况下 使用 route PRINT -4 可以获取到默认网关,如果您有多个网卡且都连接到了路由 您会发现 有多个默认网关。而跳跃点数则是优先级。数字越小 优先级越高。static void getIpAddressByIndex(DWORD ifIndex, char * ip){ DWORD dwSize = 0, i =0; if(ERROR_I

2014-02-21 16:02:55 5177

原创 通过IP地址获取MAC

在最一个Linux中 需要通过局域网的IP地址获取MAC, 自然而然地想到了可以通过查询MAC缓存来实现。一般情况下 可以通过读取 /proc 文件系统中的 /proc/net/arp 文件来实现。但也可以通过 ioctl 来获取。缺点是必须明确指定设备名称 比如获取局域网的 则要指定 交换机接口的名字 ,在我的路由器里是 br-lan 也有些是 br0。bool querymacby

2014-02-18 09:35:40 3443

原创 一段失败的代码 inotify的使用

在最近的工作中,由于需要在路由器上检测局域网所有连接的电脑。于是想到一个办法,监控arp缓存。有2个方法。1、从内核入手。邻居子系统。arp_tbl改变后自己通过 netlink 放通知,第二个方法 通过监控 /proc/net/arp 的改变。但由于 /proc 文件系统是一类特殊的文件系统。inotify无法监控,也是做了后才知道。权当学习 inotify的用法吧。将这段代码贴出来做个记号。

2014-02-14 19:15:10 2765 3

ExtJS Gears 工程实践

practical extjs projects with gears. 本书籍为英文版。 Ext 中文论坛 http://bbs.extgui.cn 收集。

2009-08-31

官方设计器 Ext Designer 补丁 升级版

这是Ext官方设计器的补丁的升级版。与上一个版本相比。这个版本能以Ext 组件的形式生成代码,并支持直接保存为js文件的功能。 并修正了 Grid Store 生成代码错误的bug。 http://bbs.extgui.cn出品。

2009-08-31

Gears 入门教程 PDF

Google gears 入门教程 收集整理 http://bbs.extgui.cn

2009-08-29

ExtJS 实用简明教程

ExtJS实用简明教程,很不错的extjs入门资料。本次上传的为PDF版本。

2008-03-06

T9输入法源码

T9输入法的源码,您可以使用VC++编译。

2008-02-26

C99标准新特性

介绍C99 标准的新特性。<br>PDF格式文档

2008-02-26

易语言.尘土 界面库

采用易语言开发,完全不依赖易语言核心库的一套GUI图形界面库。<br> 借助斩月工具可以使得您的图形界面程序不依赖易语言核心支持库运行。<br> 本界面库提供Windows通用组件的封装 以及一些扩展组件。<br>您可以继承其组件类编写自己的窗口控件。

2008-02-25

输入法编程指南.pdf

PDF版 输入法编程指南

2008-02-25

LearnC

LearnC 源码。<br>使用 sphinx c -- 编写。

2008-02-01

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除