一、安装与简介 实验环境: supervisor安装sudo apt-get install supervisor supervisor简介python开发的通用进程管理工具,可以将命令行进程转换为后台的deamon进程来运行,通过fork/exec方式(后续有简要介绍)所管理的进程都做为supervisor的子进程来处理。之前也用过类似supervisor的这种进程管理工具Monit,他的实现
这本书是前些日子,我去实习单位的朋友推荐的一本书,没有读之前,感觉自己也许已经是有一些职业素养的“专业人士”了,还未读完,便觉收获十分之多。BOB大叔用自己的亲身经历,诠释了对于程序的热爱与追求,是一本不可多得的好书。他这一生,所取得的成就,对于大多数人来说已经难以企及,但通过这本书,我们知道他成长的路上也绝对不
人生的岔路口,你会选择走向何方?是考研?是求职?还是创业,去拼搏?大三升大四的这个暑假里,我终于拿到了一份心仪的offer,如果不出意外的话,我可能会在这个公司实习、转正,然后持续工作数年的时间。这么多年了,都是依靠着自己的父母生活,即使偶尔有兼职的收入,也是微薄的。从今天开始,看了看手里剩余的资金,终于不用再向父母要钱了,终于可以实现经济独立了。从出生,到幼儿园、小学、初中、高中、大学,21年的时间,每一阶段父母都在陪伴着或者默默支持着我。虽然并非完全愉快,但是回忆起来,总是充满欢乐、温馨与
秋招已经进行了月余,现在手里也拿到了两个offer,忽然有一种放松下来的感觉,感觉飘忽不定的未来,有了大致的方向,努力的程度,也越来低了。数周的时间,就这样在我的手中荒废了,今日,我不禁思考,未来到底应该去向何方,人生到底应该如何前行。首先,我要与这个繁华的世界隔上一点距离,放眼望去,身边的人,有的按照既定的路线默默无闻的平凡着度过一生,曾经的梦想,曾经的热血,都迷失在了喧嚣的世界中。
永远不要让心灵干涸,时刻拥有着梦想,体验着人生,拥有着思想,做出行动,做让自己骄傲的事,做让世界变得更美好的事。 如今,要如树的种子般,扎根大地,深深的汲取让自己爆发的力量。 化身虚无,如同从未出现过一样。悄然的改变着世界,做着自己所能做出的贡献,而不留下痕迹。 “技术无黑白,攻防无对错”,也许,作为一个技术人,应该遵循内心的指引,一探这个世界的奥秘。 过去了将近一年半的岁月,虽说学到了...
入行两年半时光的追忆自从选了信息与计算科学这个计算机与数学的交叉专业,不知不觉见已经入行两年半的时间了。大一上从大一军校时的意气风发,大一上学期一年,收获了不少知识,如今总结起来,主要是学习了数学专业的基础知识,而后便是接触了Python,还小有成就,虽然课程比较水,但是自己下了点功夫,还是学到了不少东西的
一、分组传送网的保护1. BFD——双线转发检测对于IP网来说,路由器之间有一种保护机制叫做慢HELLO机制。IP数据网本身就是定位于承载公共业务的,基于秒级的故障检测、重路由机制是可以接受的,可是现在要承载TDM等电信级业务,秒级就太慢了,需要一种新的机制。BFD的原理就是网络对等实体之间通过互联接口每隔一定时间相互握手,这个借口可以是物理的,比如以太网借口,也可以是逻辑的。
题目n个物品,重量w[i],对应的价值为v[i],从这些物品中挑选重量不超过W的物品,求价值总和最高的方案。1 <= n <= 401 <= w,v <= 10^151 <= W <= 10^15解析背包问题用动态规划求解,复杂度O(nW),但是这里W的范围太大了,搞不了。不过这里面的n范围比较小,可以考虑从n下手。
手动操作在宿舍用路由器还是太慢了,反正有两个网线接口,直接拉一根新的网线独享他不香吗。在进行了初始化的设置之后,即使保存了用户名和密码,每次登录之后都要重新进行拨号连接,如下:之前感觉没啥,但是用了一段时间以后,感觉每天开机都要这么来一次,就很傻,那么接下来就让计算机每次开机的时候自动的连接这个宽带吧。...
函数模板是什么?通用函数描述,使用泛型来定义函数,其中的泛型可以用具体的类型来替换,使用函数模板的编程有时候也叫做泛型编程。知识总结在标准的C++98添加关键字typename之前,C++使用关键字class来创建函数模板。
1. 电脑拨号连接成功2. 手机开启热点3. 电脑连接手机的热点这时候电脑显示的是已经成功的连接上了手机的热点,在用手机的流量上午,但是电脑此时的宽带连接依旧是处于连接状态。
对称加密加密密钥和解密密钥相同的加密方式。(或者加密密钥可以从解密密钥推出,解密密钥可以从加密密钥推出)例如:DES,3DES,RC4,RC5,AES等都是对称加密算法非对称加密利用公钥和私钥的机制,发送端利用接收端的公开密钥进行加密,接收端利用只有自己有的私有密钥进行加密。攻击方在已知加密算法的情况下,即使获取了公钥,也无法推算出私钥。对比分析对称加密的速度比较快,非
我们不必刻意去追求一种诗意化的生活,但我们完全可以让生活充满诗意。许久未曾写博客了,今日也是感触颇多,想用文字来记录一下此刻内心的感受,人生路漫漫,多少次曾闻 “不能只看远方,也要关注沿途的风景”,却只在多年以后,才蓦然读懂了这句话。人生不只有眼前的苟且,还有诗和远方,这句话固然深得人心,我也曾为之迷恋,去苦苦追寻我心中的诗和远方,但是路途总是痛苦的
今天闲着没事,刷了几道二分的题目。刷题之前我想:二分,就这?两分钟就写一道题。但是没想到
今天下午,参加了阿里巴巴、灵犀互娱、游戏研发工程师的一面,感觉提问的问题不是很难,但是可能基础不是很好,并且游戏这方面接触的也比较少
1.对于正常的数组,使用如下方法进行排序:sort(nums, num + n);2.而对于vector数组num,需要使用:sort(nums.begin(), n
LSB算法加密数据:(自己随便找)加密前图像:自己随便找一个加密后图像:自己跑代码生成加密代码:from PIL import Imagedef get_key(strr): tmp = strr f = open(tmp,'rb') str = "" s = f.read() for i in range(len(s)): str = str + bin(s[i]).repl
一、Boost使用基础Boost库的大部分组件(90%左右),不需要进行编译,直接包含头文件即可使用。#include <boost/logic/tribool.hpp>using namespace std;Boost网站www.boost.orgC++标准库的一个实现——STLport配合boost库工作可移植性高,几乎可以配合市面上所有的操作系统合编译器来使用如果想要深入了解,推荐大家看一下《Boost完全开发手册这本书》,虽然是十年前的老书,但有诸多可以复用的经验,读
这次参加的武汉烽火科技的实习,是学校与企业合作进行的一个项目。今天是去烽火实习的第一天,算不上实习吧,第一天只是一个入职之前的简单培训,上午的时间主要是部门总经理的一些讲话,介绍我们公共研发部门的一些情况及事宜,之后,有进行了有关安全方面的培训,就是很简单消防安全、信息安全等领域的一些培训,还有一个简单的关于公司使用的VDI方面的培训。之后,我们组织了集体就餐,主要是去吃公司安排的盒饭,感觉还行吧,没有很好吃,主要是第一次来,不太熟悉,而且新食堂还没有建好,疫情期间,很多人都直接安排盒饭,方便快捷。午
今天,是实习第二周的第二天,从这周,我才开始写实习日志。每天快结束的时候,感觉开始写一下实习日志还是很有用的,昨天,花了很长的时间去补之前的实习日志,感觉并没有很大的效果,但是每天进行一个小小的总结还是很不错的。今天上午,我给自己安排了学习Boost开发中智能指针部分的学习任务,感觉总体完成情况还不错,任务也算是圆满完成了,但是感觉由于休息不足,或者是身体有点感冒的原因,所以状态不是很好,长时间进行摸鱼,没有那种适合学习与工作的淡然的心境,老是学一会儿就去做其他的事情了,以后每天列好计划之后,一定要好好
一、模拟通讯与数字通讯1. 模拟通讯模拟:磁带、录像带、胶卷底片(将卤化银涂抹在聚乙酸酯片基上,当有光照射到卤化银上时,卤化银变为黑色)都是用模拟的方式存储信息的电磁波——模拟通讯第一代移动通讯系统——模拟调制方式,通过话筒将声波转换为时间和幅度上同样连续的电磁波,两者的图像高度相似,这个信号就是模拟信号。模拟信号无法加密,信号在途中被截获就意味着信息的泄漏,这套通讯系统无法实现信息的安全传输。2. 数字通讯2.1 抽样奈奎斯特定律告诉我们:只要采样频率大于信号带宽的两倍时,采样之后的数字信
一、MSTP多业务传送平台简介2G时代可以实现低速上网浏览一些网页、QQ之类,但实现技术上来说(GPRS和EDGE)都是无线侧利用语音通道实现的,对于传送网来说,传送的还是E1业务。2009年各运营商开始大力建设3G,在3G时代,手机上网速度明显快了,看视频、听音乐、下载电影都可以实现了,从单站宽带上说3G单站宽带达到了20M左右,到了HSPA+时代,单站宽带达到了50M,LTE阶段更是达到了100M以上。语音TDM业务的帧无论是64K的话路还是E1电路,都是固定的每秒8000帧的帧率,这是语音业务
一、OTN系统的保护
题目链接https://vjudge.net/problem/POJ-1064当然我是在Virtual Judge上面写的,可以直接去POJ去提交。这个题目感觉并不是很困难的样子,主要就是一个二分的思想,之前写的时候,主要是结尾判断的时候,没有向下取整,直接四舍五入的,导致一直提交失败,甚至写了不只一个版本的代码。下面,我随便给出两个版本的结果,都能过。#include <iostream>#include <cstdio>#include <cmath>
题目链接点击这里代码#include <iostream>#include <algorithm>using namespace std;int N, M;const int MAX_N = 100000;int X[MAX_N];bool try_place(int mid){ int pre = 0; int cnt = 1; for (int i = 1; i < N; ++i) { if (X[i] - X[pre] >= m
代码#include <iostream>#include <algorithm>using namespace std;int N, S;const int MAX_N = 100000;int A[MAX_N];int sum[MAX_N];void solve(){ sum[0] = A[0]; for (int i = 1; i < N; ++i) { sum[i] = sum[i - 1] + A[i]; } int res =
题目链接https://vjudge.net/problem/POJ-3320代码#include <iostream>#include <set>#include <map>using namespace std;int P;const int MAX_P = 1000000;int a[MAX_P];void solve(){ set<int> all; for (int i = 0; i < P; +
题目链接https://vjudge.net/problem/POJ-3276开关问题K为反转块的大小,M为反转的次数(要求在最小的反转次数内,选择最小的反转块)我们,首先从小到大遍历所有的单位块K,这样能保证在选择最小的反转次数M的同时,只会保留最小的块数K。对于每一个可能的K值,如果能满足条件,则turn函数返回需要反转的次数,如果反转的次数比当前值要小,则更新最小的M,因为K是保证在最小M前提下的K,所以也要同时更新K值。在turn函数的每一次处理中,以块为单位的思想进行推进,记
题目链接https://vjudge.net/problem/POJ-3279拿到这道题想了很久,都没找到什么好的做饭,一看题解,好家伙,直接暴力是没想到的,一看数据最多才15行15列,之间暴力就OK了。首先,暴力第一行的所有可能性,2的15次方,大概32768种可能性。只要第一行确定下来了,之后的情况都可以之间根据上一行来锁定出下一行,然后确定出整个矩阵的最优解。注意,同样踩踏次数的可能性下,要选择字典序最小的那种踩踏情况,所以要从最小的数0开始,一直确定到最大的数2的15次方。AC代码
使用情况只有当集合中的元素比较少的时候,才能用这种方法来表示。原理f(S) = sum(2^i),其中,i为属于集合的元素的所有下标。用法空集 —— 0只含第i个元素的集合 —— 1<<i含有从0到n-1这n个元素的集合 —— (1<<n) - 1判断第i个元素是否属于集合S —— if (S >> i & 1)向集合中加入第i个元素 —— S | 1 << i从集合中去除第i个元素 —— S & ~(1 <<
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号