ARST打卡第136周[136/521]

Algorithm

lc709_转换成小写字母

1
2
3
4
5
6
7
8
9
10
11
12
13
14
class Solution {
public:
string toLowerCase(string s) {
for (int i = 0; i < s.length() ; i++) {
if (65 <= s[i] && s[i] <= 90) {
// s[i] = s[i] - 65 + 97;
s[i] += 32;
// Leetcode官方解更进一步,找到了位运算规律
// s[i] |= 32;
}
}
return s;
}
};

Review

【TED演讲】正念的力量:如何获得真正持久的转变?

正念是有意识的带着善意去关注。
what your practice grows stronger.

Tips

FTP协议(指令集)

Share

ftp支持ipv6

给linux客户端创建ipv6

  • 运行vi /etc/modprobe.d/disable_ipv6.conf(没有这个文件可以pass),将options ipv6 disable=1修改为options ipv6 disable=0 后保存退出。
  • 运行vi /etc/sysconfig/network,将NETWORKING_IPV6=no修改为NETWORKING_IPV6=yes后保存退出。
  • 运行vi /etc/sysctl.conf做如下修改:
    #net.ipv6.conf.all.disable_ipv6 = 1
    #net.ipv6.conf.default.disable_ipv6 = 1
    #net.ipv6.conf.lo.disable_ipv6 = 1

net.ipv6.conf.all.disable_ipv6 = 0
net.ipv6.conf.default.disable_ipv6 = 0
net.ipv6.conf.lo.disable_ipv6 = 0
修改完成后,保存并退出。

运行sysctl -p使配置生效

之后ip a可以看到ipv6地址

vsftpd配置ipv6支持

1
2
3
4
5
~ $ vim /etc/vsftpd/vsftpd.conf
~ $ cat /etc/vsftpd/vsftpd.conf | grep listen
# 必须把listen改成no,因为gdb调试查看缺省为yes
listen=no
listen_ipv6=yes

连接

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
from ftplib import FTP

class FtpTest():
def __init__(self):
self.ftp_client = FTP()
# Vsftpd使用的utf-8,所以用utf-8编码防止中文乱码
self.ftp_client.encoding = 'utf-8'

if __name__ == '__main__':
host_ip = '13.232.23.1xx'
host_ip = 'fdfx:9xxx:c5xd:0:42:acf:fxxx:1xx5'
host_ip6 = 'fdxe:9xx2:c5xd:0:42:af2:fexx:1xx5'
username = 'root'
password = 'root'
# 实例化
ftp_test = FtpTest()
# 如果登录成功则执行命令,然后退出
if ftp_test.login_ftp(host_ip, username, password) == True:
LOG.info('login success , now will execute some command')
ftp_test.execute_some_command()
ftp_test.ftp_logout()