Python的P2P聊天软件开发

0.概述

无聊,做点事情。
环境 Ubuntu Python
模块 threading thread??

多线程编程:
并发情况,手段有多进程和多线程

线程比进程更加轻量化,系统开销更加低

Python提供多线程编程。

1
import threading

创建Thread对象,然后运行,每个Thread对象代表一个线程,在每个线程中可以让程序处理不同的任务。

注意,程序运行默认就是在主线程。

Matlab基础

0. 水,好水

1.数据读取

待定
从excel或者记事本中读取数据。

2.拟合

数据清理、计算、拟合、绘制图形、预测
曲线拟合,和插值函数有区别,不要求曲线一定经过数据点,曲线拟合的判别准则偏差的平方和最小,最小二乘法。

2.1多项式拟合

1
2
3
4
polyfit(x,y,n)
#降幂排列的多项式系数
polyval(P,xi)
#计算多项式的数值

2.2图形窗口的多项式拟合

Tools -> Basic fitting ??
可以比较不同阶数的效果

2.3 指定函数的拟合

1
2
fittype(func,)
fit

2.4 曲线拟合工具箱

Toolboxes-> Curve Fitting
cftool
可以对结果进行分析

2.5 问题

对人口使用Logistic曲线模型。。

下次试试直接拟合

薄膜渗透率测定

lsqcurvefit 非线性拟合

3 插值

4.规划问题

线性规划、非线性规划、整数规划

5.灰色预测

数据量少的情况下进行预测

6.遗传算法

多约束规划

7.粒子群算法

8.模拟退火

9.人工神经网络

10.小波分析

11.计算机虚拟

12.题目

彩票、卡车调度、商圈规划、卫星和飞船跟踪、出版社资源配置、供水问题。

建立网站整理

0.概述

建立网站包含下面的步骤:

1.服务器及域名
这里是乱七八糟的东西,可以跳过

2.环境配置
使用Web服务器软件,这里使用Apache

3.前端
html、java_script等

4.后端
php

建立网站整理的原因是自己的爬虫爬漫画的时候,网站使用了js,所以,自己建一个网站,然后,就知道怎么爬了。。哈哈哈。

1.服务器及域名

2.环境配置

服务器环境 Ubuntu20

1
2
3
4
5
6
7
8
9
ssh user@ip #连接到服务器
who # ssh下面的命令,可以检查有哪些用户在使用服务器
ps aux|grep sshd # 断开某个ssh用户
xxx# 关闭那个pid
scp filename user@ip #传输文件到服务器
apt install apache2 #安装apache网页服务软件
//这里直接访问服务器的ip就可以显示apache服务页面了,说明上面的成功
//注意apache 的文件内容在/var/www/html中
scp local_file user@ip:remote_file # 将本地的数据上传到服务器中

这样就可以完成静态的网站了。
下面是动态网站的内容:

1

3.前端

4.后端

2021研电赛进行

1.资料

2021题目
https://cpipc.acge.org.cn//pw/detail/2c90800c78715fdd0178ab9399280ef1
需要注意的题目
手语识别系统 景嘉微

基于图像处理的缺陷检测系统——工业派 TI 1K+

基于麦克风阵列的智能硬件应用创新–RSLK专家版 TI 3K+

自动驾驶 EAIDK-310 Arm 9/100套

报名
https://cpipc.acge.org.cn//pw/list/%E5%A4%A7%E8%B5%9B%E5%8A%A8%E6%80%81/1/1

关于Ubuntu下串口的设置问题:
minicom

1
2
3
查找设备
ls -l /dev/ttyUSB*
注意Hardware flow NO

水论文的必要步骤1之期刊选择

0.概述

这个水论文系列仅仅是对于论文写作的方法的总结,至于,写论文之前的数据、实验等因为各自的方向不同就不进行记录了。

这是第一篇,就是期刊选择,首先,假设,你已经有了一个方向和idea,然后准备开始水自己的第一篇论文了,那么不如看一看。

我们首先需要确定哪一个期刊包含自己所研究的方向,这里使用了小木虫,以自然语言处理方向为例。

首先,进入小木虫,http://muchong.com/

然后点击期刊,下面会有期刊方向,写‘自然语言’,然后搜索,就会发现自然语言理解与机器翻译这个方向,那么下面的就是和你研究的方向相关的期刊。

整理-Git使用教程

0.概述

环境:Ubuntu

这里是关于Git使用的整理,将之前使用的相关的资料整理。包含下面的内容:

  1. SSH连接到Git(你不会想每次连接到Git的时候都输入账户名和密码的)
    官方资料参考:https://docs.github.com/en/github/authenticating-to-github/connecting-to-github-with-ssh

  2. 建立本地仓库之后并上传到Github

1.内容

1.1 SSH连接到Git

当你使用Git的时候,你会需要建立自己的仓库,时不时地对仓库进行操作更新等。每次都输入用户名和密码是非人类的,所以需要通过使用SSH连接到Git,这样就能够直接进行操作了。

参考资料在概述中有,下面我会详细讲述一下。

1.1.1 关于SSH

使用SSH协议,您可以连接到远程服务器和服务并进行身份验证。使用SSH密钥,您可以连接到GitHub,而无需在每次访问时都提供用户名和个人访问令牌。

设置SSH时,您将生成一个SSH密钥并将其添加到ssh-agent中,然后将该密钥添加到您的GitHub帐户中。将SSH密钥添加到ssh-agent可以确保您的SSH密钥通过使用密码短语具有额外的安全性。

可以在用户中设置SSH Key,作为全局的SSH,或者对单个仓库设置SSH Key,来单独使用。

官方文档建议您定期查看SSH密钥列表,并撤消所有无效或已被破坏的密钥。

如果一年未使用SSH密钥,那么GitHub将自动删除非活动SSH密钥,以确保安全。

1.1.2 检查现有的SSH密钥

在生成SSH密钥之前,您可以检查是否有任何现有的SSH密钥。

默认ssh key保存路径为

1
~/.ssh

如果已经有一个公共的SSH Key,那么文件中包含类似于下面的文件:

1
2
3
id_rsa
id_rsa.pub
known_hosts

如果没有的话,可以到下面一步生成新的SSH Key,如果已经有了公钥和私钥对,那么就将跳跃到SSH Key添加到ssh-agent中去。

1.1.3 生成新的SSH密钥并且添加到ssh-agent中

这里其实是两步,针对上面是否有公钥和私钥对。

1.1.3.1 生成新的SSH密钥

1
ssh-keygen -t ed25519 -C "your_email@example.com"

如果,你的系统不支持Ed25519,那么使用下面的内容:

1
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

1.1.3.2 将SSH密钥添加到ssh-agent

后台启动ssh-agent

1
eval "$(ssh-agent -s)"

将SSH私钥添加到ssh-agent,如果密钥是其他名称就使用其他名称,顺便说一下,私钥的路径上面说过了

1
~/.ssh
1
ssh-add ~/.ssh/id_ed25519

1.1.4 向Github账户中添加SSH密钥

要将GitHub帐户配置为使用新的(或现有的)SSH密钥,您还需要将其添加到GitHub帐户中。

打开xxx.pub,也就是公钥,然后将它复制。

到github页面右上角的个人资料,点击settings,在左边的栏目中点击SSH and GPG keys,点击New SSH key。

在title中,添加一个描述性的文字,例如”mytitle”
将公钥粘贴到Key中,是以ssh-xxx开始的内容

1.1.5 测试SSH连接

1
ssh -T git@github.com

当第一次输入的时候会有如下的输出

1
2
3
> The authenticity of host 'github.com (IP ADDRESS)' can't be established.
> RSA key fingerprint is SHA256:nThbg6kXUpJWGl7E1IGOCspRomTxdCARLviKw6E5SY8.
> Are you sure you want to continue connecting (yes/no)?

确定之后,会有如下的输出:

1
2
> Hi username! You've successfully authenticated, but GitHub does not
> provide shell access.

1.1.5 备注

记住我们使用的是SSH,所以当你使用HTTP连接的时候依然需要输入用户名和密码。只要选择SSH连接。。

1.2 建立本地仓库后上传到Github

现在可以开始正式一些的项目了。

1.2.1 创建一个本地仓库

1
git init MyProject

会建立MyProject文件夹,然后文件夹中会有.git隐藏文件夹,其中包含的内容是一些索引、忽略的文件等配置。

1.2.1.1 创建描述性文件

进入项目文件夹,然后建立描述文件README.md。这很重要!!!虽然没有这个文件也可以继续,但是强烈建议

1.2.1.2 将文件添加到索引中

1
2
3
git add filename
# or
git add --all

上面的是添加单个文件进入索引,下面是添加所有文件进入索引。

1.2.1.3 提交对索引的更改

1
git commit -c "comment"

后面是对于修改的一些注释,提交对索引的更改

1.2.2 在Github上创建远端仓库

打开github.com,然后建立一个Repository,点点点。
创建完成之后,我们将本地仓库和Github上的仓库进行连接

1
git remote add origin https://github.com/user_name/Mytest.git

后面的可以在网页上找到

1.2.3 将本地仓库推送到Github远端仓库

1
git push --set-upstream origin master