0%

通过 Windows 实现端口转发。本文为参考转发文章

使用Portproxy模式下的Netsh命令即能实现Windows系统中的端口转发,转发命令如下:

1
netsh interface portproxy add v4tov4 listenaddress=[localaddress] listenport=[localport] connectaddress=[destaddress]
阅读全文 »

Bazel - a fast, scalable, multi-language and extensible build system

在使用 bazel 许久之后,开始做一下记录,以记录一些奇奇怪怪的处理方式(?)。

阅读全文 »

使用 docker-compose 管理本地容器组,是非常方便的手段,但是最近遇到一个 bug,决定使用 docker stack /swarm 替代 docker-compose 。

命令行生成二维码可以试试 echo "二维码内容" | qrencode -o - -t UTF8

事情是这样的,在 docker-compose.yaml 内定义了 network.aliases 之后,在测试的时候,其他容器能够正常通过 aliases 对其进行访问,但是,到了实际部署的时候,很容易失败,例如重启之后,或者某个容器意外或者手动重启之后,都有可能导致该情况,导致很湿郁闷。

遂,在查找资料之后,决定替换掉 docker-compose

Ps:docker-compose 的配置 depends_on 只会控制控制启动顺序,并不会等待所需容器启动成功之后再启动下一 容器
简单来说,启动容器数据库之后会马上启动容器应用,并不在乎应用容器需要数据库容器才能正常运行,此时可能会造成 应用 容器无法找到数据库而意外退出。

阅读全文 »

承接自 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寸+ 的笔记本电脑,我更喜欢携带一些小尺寸的电脑,毕竟,每天上下班背电脑是真的重。

阅读全文 »