前言
dart 作为 google 主导的两门编程语言之一,可能并没有另外一门编程语言那么出名。
dart 的每次发布好像都被寄予厚望,但是好像每次都不温不火,抱着试试看的心态打算安装 dart 来玩一下。
本篇教程的 代码主要基于 grpc 官方的代码进行修改,大部分相同于官方又有一点微小的不同,所以不能完全的相互替代,请大家注意!需要查看官方文档的请前往 https://grpc.io/docs/ 进行查看。在接下来的演示中我会使用 golang 和 python3 的代码进行编写。
目前会用到一些 nodejs 相关的软件,然而 debian 稳定源提供的 nodejs 版本太老了。就算提供最新版我可能也不会使用源方式进行安装,这样会在全局范围内生效。所以我选择是新建一个普通用户进行安装,需要使用的时候切换到这个用户就可以了。
写这个的原因是打算,为以后的混合编程做准备。打算了解一下类 unix 平台下的通信方式。在综合了各种通信方式的优劣后最终选定了这一种通信方式,而且这种通信方式很容易的转化为 tcp 通信,实现更远距离的通信。至于为什么不直接选择 tcp 是因为 tcp 需要占用一个端口,而且目前也不打算实现更远距离的通信
关于 unix domain socket 的更多详情请查看:https://zh.m.wikipedia.org/wiki/Unix域套接字
本次展示的代码主要使用 go 进行编写。为了直观的展示跨进程能力,也使用到了 python3 编写的代码
写这个的起因是 阿里云 的云服务器 没有提供 debian9 现成的镜像,所以没有办法快速安装 nginx 支持 tcp 转发的版本,所以想了一下还是自己写一个 tcp 转发。而且借助 go 的跨平台能力,再也不用担心 nginx 不支持 tcp 转发了。
本文中展示的只是关键代码 如果你不是像我一样只是固定的转发流量到一台主机可能还需要再写一个函数读取用户输入
hanime.tv (请勿在公共场合打开,别怪我没提醒你哦!) 是我很喜欢的一个网站。当时我就在想能不能下载一些视频来看,在尝试了比较知名的下载器比如 youtube-dl you-get 后发现均不支持这家网站,然后全网搜索也没有发现支持这家网站的下载器。当时正在学习 go 语言 就把实现 hanime downloader 作为学习 go 语言后第一个实现的软件。当我把 go 语言学完后,开始写这个软件,在快写完时,我才知道我踩了多么大个坑!感觉明白了网上为什么没有前例作为参考!在这个过程中我踩了许多坑,尝试了许多东西,甚至换回了熟悉的 python 然而还是没成功。直到之前得大佬指点,终于完成了软件的核心部分。这一路走来感觉学到了蛮多东西。
在此,感谢 telegram 群友的帮助,以及特别感谢 he peter 的帮助
python3.6 有新的语法,如果有用新的语法编写的的软件,软件在低版本的 python 环境是运行不起来的。
由于 我的 vps 需要运行很多服务,而且我个人比较在乎稳定性与方便性,所以升级系统的 python3 是不可能的(注:debian9 稳定版默认 python3.5 )。所以我选择新建一个普通用户。然后把 python3安装在这个用户下,需要新特性的软件全部用这个用户运行
opencv 是 一个开源的 跨平台 计算机视觉 分析库。
本文将记录一下,我的安装过程。因为我查资料的时候发现大部分教程,都是讲的 只支持 python2 的 opencv 。而我使用的 python3。
我将介绍两种安装方法 pip3 安装 和 编译安装,我更推荐使用 pip 的方式安装。这两种安装方式选一种就行了,不要两种都使用。
说句题外话,我是编译安装完了才发现可以 pip 安装Σ(゚Д゚)