Jump to Navigation

Document

Programming articles and books.

docker应用小记

docker应用小记

这两天搞了点docker相关的东西,涉及到了docker两个相关的点,
都是关于网络方面的。

一个是docker使用的子网的配置。
一个是 docker pull/push使用的代理方式配置。

###
在centos7上,docker使用了这些配置文件:
/etc/sysconfig/docker
/etc/sysconfig/docker-network
/etc/sysconfig/docker-storage
/etc/sysconfig/docker-storage-setup

这几个文件内容比较简单,每个文件一行,而且默认是空参数。
这些文件叫做EnvironmentFile,用来设置docker的固定配置参数。

对本文开头提到的两个问题,修改这些文件即可实现。
比如这里只修改了/etc/sysconfig/docker-network文件,因为这两个配置都是关于网络方面的。

toxnet rUDP协议,重点

toxnet rUDP协议,重点,
三次握手
四次挥手

丢包检测,
丢包重传

RUDP的模块中最为重要的是其收发缓冲控制和CCC发送窗口控制、CCC发送慢启动控制、CCC快恢复控制等

设计:
现有的rudp实现,大都还处于socket层之上,也许更有前途的要基于任意tranport层上。
双层设计,控制层和传输层,
rudcp rilable USER DATA control protocol layer
rudtp rilable USER DATA transport protocol layer

生成ISN(initial sequence no)算法:防止被猜到,使用32位随机整数。
理论上对于长连接来说有可能超过32位,所以最好找一个稍微小点的值,尽量防止超过之后返0处理。

Category:

toxcore几个常量记录

toxcore几个常量记录:

python开发两项小记

最近用python做了些试验性开发,除了前面一篇的的语法缩进规范不爽之外,其他的还可以。

1、打包方式
最近使用python开发了小工具程序,然后自然想到了打包,顺便总结下了python的打包方式。

python的打包一般使用setup.py的方式,
但setup.py其实是一段python程序,根据不同的打包要求,格式也不相同。
setup.py包括以下几种:
* pip规范
*

这些规范适合系统机打包,依赖可以邮包管理来处理。
还有一种比较特殊的,类似静态打包的要求,当然也有多个选择:
* cxfreeze项目
* pyinstaller项目
* py2exe项目

这种需求比较少,虽然有选择,但也不是哪一个都能满足所有要求。
cxfreeze支持全平台,支持py3k,但不支持打包为单一文件。
pyinstaller项目,支持全平台,实验支持py3k,不完善。
py2exe支持windows平台,支持打包为单一文件。

目前看比较方便的cxfreeze,也先使用了这个作为基础工具。

以上是关于打包的一点总结。

shadowsocks安装,portable化

sss

配置文件:

创建toxcore初始节点与快速测试

使用正式的toxcore网络,目前速度上还有些慢,包括连接到网络上,以及添加好友等操作。
可能是因为toxcore的节点还不是那么多,DHT程序上也优化的不够吧。

可以使用一种简单的方式,实现一个快速的toxcore网络,
用这个小网络做测试,然后再加入到正式的toxcore网络测试。

建立一个自己的toxcore网络,
首先要启动一个初始节点,在toxcore源码树中other/bootstrap_daemon/目录中,
编译出tox-bootstrapd程序,配置该目录中的示例配置文件,启动命令,
tox-bootstrapd tox-bootstrapd.conf

注意,如果要把这个节点作为一个新的toxcore网络的初始节点,
需要把bootstrap_nodes=()一段置空,或者删掉这一段。

115syncd项目介绍

115网盘是个比较好用的网盘,提供比较大的磁盘容量。

该115syncd项目主要提供以下功能,
自动模拟登陆115网盘api。
以服务模式运行。
指定本地目录以及对应的115网盘目录。
监控指定目录,如有目录或者文件发生变化,则自动上传到115网盘对应的目录。
指定目录对可配置多个。
本地目录与网盘目录能够保持一到,在缺少目录时自动创建。
支持任务队列式并发上传控制,默认3个并发上传。
文件上传采用POST协议方式,有上传文件大小限制。
能够自动过滤掉一些指定的临时文件。
能够实现仅上传模式功能,即本地删除而网盘不删除,这样保持本地空间远小于网盘空间。
反复修改重复上传的文件,根据哈希去重,只保留最近一次上传的文件。

该实现使用PyQt5,在linux系统上安装使用都非常简便。
项目地址:https://github.com/kitech/115syncd

ToxCore 客户端基本处理流程图

每一个使用toxcore的程序,都可以算是一个toxcore客户端程序。
而这个客户端大都有一个共有的处理流程,以下提供一个简单流程图,仅供参考:

ToxCore API本次升级总结

在2015年早些时候,ToxCore完成了一次比较大的升级API升级,影响到所有的使用原API的程序。
最近又拾起来了toxcore项目,在些基础上做些项目与研究,在升级API的过程中整理了一下,公布在之儿。如有不完善不正确之处,请指正。

这次api从外面看主要是命名的规范化的提升,其中也不乏大的改动,像文件API部分,有API的增删。

Qt5的ruby语言绑定实现系列:JIT ExecuteEngine与IR Module重用优化

# JIT ExecuteEngine与IR Module重用优化

在项目的原型阶段,为了代码的简洁与直接,很多地方都使用了新实例实现相关功能。
包括JIT ExecuteEngine和IR Module两个大模块。

这种方式由于大量使用了new操作,会浪费大量的内存与CPU资源。
本次改进的目的也是针对这两方面的,以提高现阶段该项目的可用性。

本文从优化的整体架构说明,到每个分模块一一介绍,到最后简单的测试,
希望能够对本次优化做到清晰说明。

###

概要

为什么提高效率,优化内存使用,可行的方式就是资源的重用。

经过项目原型实现的分析,基本整理出来两个关系性比较强,可以重用的模块:
第一个是自动生成的IR代码的重用。
第二个是JIT执行引擎的重用。

以下所有的改进都是围绕这两个部分进行的。

###

Category:

页面

订阅 RSS - Document


Main menu 2

by Dr. Radut