0%

承接自 kHttpd 项目。

由于 kHttpd 项目使用了 libevent 开源库,其中某些特性导致使用上面不太方面(仅仅指的是我个人而言),所以重新开发了本项目。

功能说明

  1. http server 实现, http server 服务端功能,使用线程池为每个连接进行处理,所以每个请求都可以阻塞(但是并不建议,除非某种特定的场景,例如进行http代理服务,必须等到对方回应,不使用 libevent 其中一个原因)。

  2. WebSocket server 实现,当前项目实现了WebSocket server端代码,可以使用 c/c++ 愉快的开发WebSocket项目,同时WebSocket服务端也支持http server,也就是同一个端口同时使用WebSocket server 以及 http server,使得更方便一些。使用WebSocket server的情况下,请根据实际情况,加大线程数量以及监听数量,否则可能造成后续连接被阻塞。

  3. CGI 功能实现,目前实现 CGI 调用 php,可以使用php作为动态脚本进行开发,不过现在还未实现 phpPOST模式,即还未将 php body数据传入给CGI

阅读全文 »

在部分情况下,没有办法直接访问到目标机器,需要通过中转的方式进行访问,一般使用代理,或者VPN等组网方式,使用端口转发的方式其实也是不错的。

这里简单介绍一下 ssh 的代理方式.

阅读全文 »

最近在使用 bazel ,尝试使用交叉编译,在这做个记录

配置的地方有几个:

  1. .bazelrc 文件配置,用于激活 config 配置
  2. 创建 toolchain 目录,并创建BUILD文件
  3. 创建对应的 .bzl 文件
阅读全文 »

本项目是用于模拟自动注入,通过添加注解@Autowired,方便在安卓下能够更好的自动注入自动添加对象,不需要自己给每一个类进行Instance维护。

阅读全文 »

最近弄了个Android的模拟自动注入的库,在给别人用的时候,需要发送 jar 或者 aar 给对方,这就导致我可能需要保留一份,否则每次都需要重新编译生成。为了 偷懒
增加效率,在查询资料之后,将其发布到了github packages

准备工作:需要github账号(废话),生成GitHub token需要有写权限(如果只是使用不需要,如果需要推送则需要),将账号(GITHUB_USER)
token(GITHUB_PERSONAL_ACCESS_TOKEN)配置到用户目录下~/.gradle/gradle.properties

注意事项:

如果发布返回4**系列错误,原因可能是这几个:

  1. GroupPageId或者ArtificatId使用了大写,需要改为小写。
  2. 当前GroupPageId或者ArtificatId已经在使用了!!!,需要修改,或者把在使用的删掉。。。。
  3. 账号密码(Token)错误。
阅读全文 »

在某些情况下,我们需要用一个已知的物体,在一个场景内进行匹配,比如有一张身份证,然后想要在桌子上找到他的位置。比如以下两张图片:

身份证图片:

韦小宝

桌子图片:

韦小宝桌子

(什么?没有桌子?哦,不要在意这些细节问题,嗯。)

如果想要从其中桌子图片找到身份证图片的话,我们可以使用 OpenCV 的 ORB特征检测器(SIFT和SURF已获得专利,如果要在实际应用中使用它,则需要支付许可费,而 ORB 速度和性能也不差)。

阅读全文 »

在需要带着笔记本出门的情况下,相对于如今动不动就 15寸+ 的笔记本电脑,我更喜欢携带一些小尺寸的电脑,毕竟,每天上下班背电脑是真的重。

阅读全文 »

某些情况下,我们只有内网的环境,无法很好的使用 yum 镜像源,进行安装,所以我们可以选择搭建本地镜像源站来使用。

本地镜像源站最简单的方式是使用安装的光盘或者ISO文件作为资源站点。

阅读全文 »