scp
1、从服务器上下载文件
1scp username@servername:/path/filename /var/www/local_dir(本地目录)
例如scp root@192.168.0.101:/var/www/test.txt 把192.168.0.101上的/var/www/test.txt 的文件下载到/var/www/local_dir(本地目录)
2、上传本地文件到服务器
1scp /path/filename username@servername:/path
例如scp /var/www/test.php root@192.168.0.101:/var/w ...
/etc/rc.local
将脚本写在/etc/rc.local文件
输入命令:sudo vi /etc/rc.local
在exit 0上一行输入:python /usr/bin/python /home/pi/test.py
重启就可以看效果sudo reboot
当然,rc.local 文件需要有执行权限(默认没有)
$ sudo chmod +x /etc/rc.local
对于命令,最好是先which python查出命令路径,写命令时写绝对路径
/etc/init.d
写一个服务放到linux的/etc/init.d目录中
并且授权bash脚本chmod 755 /etc/ ...
深度优先搜索(DFS)
从某个状态,不断转移状态直到无法转移,然后回退到前一步的状态,继续转移到其他状态,如此不断重复,直到找到最终解. ====> 递归函数
隐式的用到了栈(stack)
123456789101112131415161718192021222324252627//[部分和问题]#include <iostream>#define MAXN 10000int n,k;int s[MAXN];using namespace std;bool dfs(int i,int sum){ if( i == n ) return sum == k; ...
ACM 3-20笔记
3部排序
左指针,右指针, 探路指针–>链表的pq
马虎的算式
枚举(五重循环,注意条件)
内存1000ms大约运行10^8的指令
大数除法
减法
除法
39级阶梯
斐波那契
简化模型后再加上考虑条件
错误票据
获得一行内容:getline()前要用getchar()吃掉换行符
分割一行以空格分隔的元素
12345string s;getline(cin,s);stringstream ss(s);string tmp;while( getline(ss,tmp," ") )
▲翻硬币
ACM 3-21笔记 (2 ...
并查集
ACM竞赛中,并查集(DisjointSets)这个数据结构经常使用。顾名思义,并查集即表示集合,并且支持快速查找、合并操作。
用于高效的查找某两个元素是否属于同一个集合;
并查集如何表示一个集合?它借助树的思想,将一个集合看成一棵有根树。那又如何表示一棵树?初始状态下,一个元素即一棵树,根即是元素本身。
合并
并查集如何支持合并操作?不难发现,按照树的思想,在同一棵树中的所有元素,根都是相同的。也就是说,合并两个不同的集合,只需要将其中一个集合的根设置为另一个集合的根即可,而需要改变根的那个集合,其实只需要改变根节点的父节点即可。
如何支持快速查找操作
如果完全按照上面的合 ...
ACM-大数定理(高精度)
由于c/c++中数据类型的范围比较固定,因此有些题目的数据范围正好卡在这些正常范围之外,此时就需要自己实现大数加减乘除的运算。
c/c++需要自己手写
java中有BigInteger类
C++ 加法实现
123456789101112131415161718192021222324252627282930313233343536373839404142434445#include <iostream>#include <string>#include <algorithm>using namespace std;type ...
搭建Gitlab服务器
下载安装Gitlab
由于直接下载Gitlab会很慢(被墙的缘故) , 于是选择清华的镜像安装,清华源
Ubuntu 16.04 用户
Linux其他版本或者不是Ubuntu 16.04 见官网修改方式
首先信任 GitLab 的 GPG 公钥:
1curl https://packages.gitlab.com/gpg.key 2> /dev/null | sudo apt-key add - &>/dev/null
▲如果这步不行,先进行下一步
文本框中内容写进 /etc/apt/sources.list.d/gitlab-ce. ...
什么是线性筛?
筛素数是为了求得一个区间内的所有素数,而把不是素数的筛去。
最普通的办法——判断一个数是不是素数
123456789101112131415161718#define SIZE 1000000int main(){ int check[SIZE]; int prime[SIZE] = {0}; int pos; int flag; for (int i = 2 ; i < SIZE ; i++){ flag = 1; for (int j = 2 ; j < sq ...
文件名传参
123456789101112131415using namespace std;#define FILENAME "data.csv"void readfile(string file){ ifstream inFile; inFile.open(file.c_str(), ios::out); // 打开模式可省略 string lineStr; while (getline(inFile, lineStr) ) // 打印整行字符串 cout << lineStr << '-'<< endl; } int ma ...
之前学请求、响应的时候只是过了一边,大致知道有这些东西。但这次真正要用的时候却又忘了到底该如何写,错误的请求头、请求体的格式导致esp8266一直发送不了数据到服务器上,又重新看了遍请求request的知识,才终于搞明白
请求
最初的写法:
由于在esp8266上已经选择、连接好了了httpbin.org的穿透,就以为Host可以不用加了,于是产生了 最初的写法:
1POST /post?= HTTP/1.1
▲根据玩单片机的小伙伴说必须多出一行\r\n,所以这边是有一行空行的
结果: 400 BAD_REQUEST
搜索过后得知 : 如果使用http 1.1协议的话主机名HOST字段是 ...
GitHub中发起PR(pull Request)
PR是为了贡献代码:
贡献代码,通俗的说,就是自己修改了代码,希望合并到别人的Repository(仓库)中。将自己的智慧贡献给开源社区。
一.贡献代码:
1.第一步:Fork
在GitHub社区闲逛时,看中了某个项目代码,如:spring-projects/spring-framework,点击页面Fork按钮,会生成一个自己的Repository(仓库:thinkingfioa/spring-framework),如下图:
2.第二步:修改
Fork成功后,通过git clone、修改、commit、push等操作后,将 ...
总分:100
选择题得分:40
1.下列方法定义中,正确的是()
A.double me(int a,int b){int r; r = ab}
B.double me(a,b){return b;}
C.int me(int a,int b){return(a-b);}
D.int me(inta,b){return(a-b);}
正确答案是:C
2.下列方法定义中,不正确的是()
A.float x(int a,int b){return(ab);}
B.int x(int a,int b){return ab;}
C.int x(int a,int b){return a * ...
总分:100
选择题得分:50
以下哪一个工具是Java的编译器?( )
A.javac.exe
B.java.exe
C.javap.exe
D.javadoc.exe
正确答案是: A
以下哪一个数据类型不属于Java的基本数据类型?( )
A.boolean
B.char
C.int
D.String
正确答案是: D
假设有如下类的定义: public class test{ public static void main(String[] args){ int a= 3, b = 4; swap(a,b); System.out.println(“a ...
选择题得分:60
\1. 设有如下定义语句: String s1=”My cat”; int m=s1.compareTo(“My a cat”); 语句被执行后m的值为( )
A.2
B.1
C.0
D.-2
正确答案是: A
\2. 语句 String s1=new String(“Hello”); String s2=new String(“Hello”); System.out.println(s1==s2); System.out.printlv(s1.equals(s2)); 执行后的输出结果是( )
A.Hello false
B.Hello true
C.Hello Hell ...
使用git将项目上传到github(最简单方法)
首先你需要一个github账号,所有还没有的话先去注册吧! Github
**我们使用git需要先安装git工具,这里给出下载地址,下载后一路直接安装即可:**https://git-for-windows.github.io/
1.进入Github首页,点击New repository新建一个项目
2.填写相应信息后点击create即可
Repository name: 仓库名称
Description(可选): 仓库描述介绍
Public, Private : 仓库权限(公开共享,私有或指定合作者)
Initialize this ...
Java课程第二次实验报告
1.寻找并输出11~999之间的数m,它满足m、m2、m3均为回文数。回文数是各位数字左右对称的整数。判断是否为回文要求通过编写方法来完成。
123456789101112131415161718public class HelloWorld { public static boolean isPalindrome(int s) { String str = Integer.toString(s); if( str.charAt(0) == str.charAt(str.length() - 1) ) return true; el ...
如果是通过 flask 的 request.remote_addr获取的 ip 都是 127.0.0.1
解决方案:
nginx.conf中添加
123# proxy_set_header Host $host:80; # proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
全文
12345678910111213141516server { listen 8888; server_name 0.0.0.0; ...
首先要提出的是,boost在VS中是可以直接导入的,但是在CB中是不行的,所以写了下这篇文章。
安装boost
1.首先先去boost官网下载boost的源码 , 选择你要下载的版本。
2.解压(可能会耗费一段时间,小文件比较多)
3.双击运行脚本文件bootstrap.bat(引导程序),之后就生成这两个可执行文件
我们为了能直观的看到编译boost的细节信息,进入dos (win +r快捷键 输入cmd )
4.cd 到解压boost库的目录下
5.命令执行bjam.exe
4-5是没必要的,要是不想看输出的东西的话,其实双击bjam.exe即可
▲.编译的时间略久(你可以干一会其 ...
C++机器学习库MLPack
mlpack: a scalable C++ machine learning library
由于在网上查了一下发现安装这个库碰到了不少问题,所以还是记录一下安装过程。
安装
列出两种安装教程吧,第一种实测可以。第二种在测试Armadillo的时候没通过,还是缺库,有兴趣的人可以通过给的Armadillo官网链接下载安装Armadillo再试试
安装方法一:
Mlpack 官网 提供了下载的方法 : sudo apt-get install libmlpack-dev , 但貌似有博客指出目前国内源里是没有这个镜像的,所以采取的办法是直接从观望上下 ...