前言
在学习 Rust 时,官方文档 的 7.3 节的例子中(创建模块和引用),出现了以下错误:
解决方法
方法也很简单,如果是使用 cargo new –lib name 创建的模块的话,默认在 src/lib.rs 中的第一行会添加:
#[cfg(test)]
只要注释掉这一行即可。即
//#[cfg(test)]
题目描述
2.3 节描述了一个程序,以将一个文件内容复制到另一个目标文件。这个程序首先提示用户输入源文件名和目标文件名。利用 windows 或 POSIX 的 API,编写这个程序。确保包括所有必要的错误检查以及源文件是否存在。
程序
#include <stdio.h>
#include <stdlib.h>
#include <fcntl.h>
int main(void)
{
char sourceName[100];
char objName[100];
int fd1, fd2;
printf("请输入源文件的名字:");
scanf("%s", sourceName);
/*读文件*/
fd1 = open(sourceName, O_RDONLY);
/*错误时返回-1*/
if (fd1 == -1){
/*print a system error message*/
perror(sourceName);
return EXIT_FAILURE;
}
printf("请输入目标文件名:");
scanf("%s", objName);
char buf[128];
/*写文件
O_WRONLY 写入
O_CREAT 如果不存在则创建改文件
*/
fd2 = open(objName, O_WRONLY|O_CREAT);
/*read系统调用,正常情况下返回读取的字符位数,错误时返回-1, 读取到文件结尾时返回0*/
while (read(fd1, buf, 1) != 0){
write(fd2, buf, 1);
}
close(fd1);
close(fd2);
return 0;
}
系统调用
本题使用了多个系统调用
001
首先在客户端使用 ssh-keygen -t rsa
生成一对密钥,当系统提示输入与密钥相关的密码时,直接按下 Enter
键即可。
这样,会在 ~/.ssh/
下生成两个密钥,一个是私钥 id_rsa
,一个是公钥 id_rsa.pub
。
002
使用 scp
命令将公钥 id_rsa.pub
上载到远程服务器中的 ~/.ssh/
中,
转移到远程机器中,并将其内容追加到同一目录中的 authorized_keys
中。
END
在 Linux 中使用 ls
时,显示的文件夹大小始终为 4kb。这是因为在 Linux 中目录也是一个文件,里面存储着特有的数据结构,所以 ls
显示的就是这个目录文件的大小,并不是这个目录中所有文件的大小的总和。
命令
使用 du
命令就可以统计一个目录下所有目录所占用的真正的磁盘大小。
du [options] [directorys or files]
选项说明
- -a:显示所有的子目录和子文件的磁盘总用量。
- -h:使用友好的单位显示大小,如 KB、MB、G 等。
- -s:不显示子目录的信息,只显示当前查询的目录的磁盘总用量。
- 不加选项时:显示所有子目录的磁盘使用量。相比于
-a
少了子文件的信息。
例如
不加选项时
使用-a
包括了子文件。
使用-s
## 前言
为了实现网站的邮件发送业务,我查找了自己搭建邮件服务器的一些资料,发现这是很困难很不现实的。不仅消耗精力,更是违反了相关法律规定。于是我申请了网易免费企业邮箱,传送门。最多支持 50 的用户,非常够用了。但是,我在配置第三方客户端时遇到了困难,主要是 smtp 服务的地址和端口并不是那么的清楚,官方的资料上也是错误的信息。最终还是被我试了出来。
注意!这是网易免费企业邮箱的 smtp 和 pop 地址,付费的请参考官方资料。
服务地址和端口
服务名称 | 地址 | 端口 |
---|---|---|
SMTP | smtp.ym.163.com | 25\465(SSL 加密) |
POP | pop.ym.163.com | 110\995 |
## 前言
由于学习需要,电脑上安装了 MSSQL 和 MySQL。目前课程已经结束,暂时用不到数据库了。但是他们还是会在开机自启,而且占用的内存还不少,尤其是 MSSQL。所以就查了一下怎么禁止他们开机自启。
使用 Systemctl 管理工具
systemctl is-enabled servicename.service #查询服务是否开机启动
systemctl enable *.service #开机运行服务
systemctl disable *.service #取消开机运行
systemctl start *.service #启动服务
systemctl stop *.service #停止服务
systemctl restart *.service #重启服务
systemctl reload *.service #重新加载服务配置文件
systemctl status *.service #查询服务运行状态
我们要使用的就是 systemctl disable mssql-server.service
和 systemctl disable mysql.service
,输入 root 密码即可关闭服务自启!
环境
- Ubuntu 18.04
- python 3.9
问题描述
手动更新了 python 版本到 3.9,原本的是 3.6 版本的。更换了默认的 python 版本之后,就会出现这样的错误。百度了一下,应该是因为包管理的版本还没有改过来,所以冲突了。解决方法就是更换一下软连接的链接文件。
解决方法
cd /usr/lib/python3/dist-packages/
sudo cp apt_pkg.cpython-36m-x86_64-linux-gnu.so apt_pkg.cpython-39m-x86_64-linux-gnu.so #修改成自己的版本
sudo ln -s apt_pkg.cpython-39m-x86_64-linux-gnu.so apt_pkg.so #修改成自己的版本
成功解决!一些方法根本就不可用,这个软连接应该才是关键。
参考链接
问题描述
本人正在使用 Elementary OS 5.1.7 Hera,某天突然想设置自定义快捷键,但是却发现键盘设置已经从系统设置面板中消失了,这叫人如何是好。于是就一阵百度,百度了个寂寞。国内用 Linux 的本来就少,用 Elementary OS 就可想而知,当然是少得可怜。所以关于这方面的资料基本都是一些老旧的东西,找不到解决问题的办法。最后还是我蹩脚的英语和谷歌拯救了我。
环境
- Elementary OS 5.1.7 Hera
解决办法
安装 switchboard-plug-keyboard
和 wingpanel-indicator-keyboard
这两个包即可!
sudo apt install switchboard-plug-keyboard
sudo apt install wingpanel-indicator-keyboard
参考来源
描述
环境:
- windows10 LTSC 1809
- python 3.9 64bit
- pip version :20.2.4
动作:
- pip install scrapy
错误信息:
Running setup.py install for Twisted … error
ERROR: Command errored out with exit status 1:
查阅资料
经过谷歌之后,发现有许多人出现了这个错误。一种是缺少 Visual C++14 Tool,另一个问题就是缺少 Scrapy 的依赖包 **Twisted** 。所以,经过实践,只是安装 Visual C++14 Tool 还不行,还需要手动下载 Twisted 进行安装之后,再执行 pip install scrapy
。
参考链接:Error when install scrapy in window by using pip install scrapy · Issue #2881 · scrapy/scrapy · GitHub 和 在 python 3.8.1 上面安装 scrapy(报错显示说没有相关 twisted 文件/scrapy 安装失败)_qq_43738233 的博客-CSDN 博客
3.1
step = 0.5
year = 10
weight = eval(input("请输入你在地球上的重量(KG):"))
weight_in_earth = weight+year*step
weght_in_month = weight_in_earth*0.165
print("十年后,你的体重为:\n地球上:{:.2f}\n月球上:{:.2f}".format(weight_in_earth, weght_in_month))
3.2
# 连续学习的天数
x = 0
# 天数
day = 0
# 初始能力值
base = 1
# 周期
cycle = 7
for day in range(365):
if 0 <= x < 3:
x += 1
elif 3 <= x < cycle:
x += 1
base *= (0.01+1)
elif x == 7:
x = 0
print("连续学习365天后,能力值为{:.2}".format(base))
3.3