2018/10/15
1.所思所想:今天刘凤成学长跟我介绍了公司情况,以及我们小组的主要任务,即网络数据的爬取,决定学好学深,不辜负半年时光。下午的主要任务就是配置环境,所谓“工欲善其事,必先利其器”,但还是不能花太多时间,后面的具体工作才是根本。
2.工作:
(1)ubuntu系统的安装,因为之前安装过,网上教程很多,故略。
(2)PyCharm的安装,既可以在官网下载安装(免费社区版),也可在命令行安装。
详细教程见:https://blog.csdn.net/qq_38683692/article/details/79868391
对于注册码的问题,可以分以下三步获取并注册:
[1].在命令行输入 sudo gedit /etc/hosts 然后会显示hosts文件内容的窗口
[2].最后一行添加 0.0.0.0 account.jetbrains.com
[3].从 http://idea.lanyus.com/ 中获取激活码,激活软件
(3)Navicat的安装与卸载
安装问题:参照 https://blog.csdn.net/u010856630/article/details/52575581?utm_source=blogxgwz3
乱码问题:第一次使用navicat一般会乱码。关闭navicat。解决:打开start_navicat文件, 可以用 gedit 打开; 将export LANG="en_US.UTF-8"改为export LANG="zh_CN.UTF-8",保存,关闭即可。
后来因为我安装了Navicat 12 版本,还遇到了其他问题,总结在我的博客中:https://mp.csdn.net/postedit/83106983
破解问题:(1)不可取:有博客说删掉home下的隐藏文件.navicat64,我试了下,软件的其他功能也受到了影响。然后只好重装。
(2) 可取:
第一次执行start_navicat时,会在用户主目录下生成一个名为.navicat的隐藏文件夹。用 ls -a 命令可以看到。
cd /home/.navicat64/ 此文件夹下有一个system.reg文件
rm system.reg 把此文件删除后,下次启动navicat 会重新生成此文件,14天试用期会按新的时间开始计算。
卸载问题:在linux下只要把Navicat文件夹删除即可,这一点和windows很不同。
(4)Git的安装
sudo apt-get install git
(5)mysql数据库
安装问题:参照博客 https://www.cnblogs.com/boshen-hzb/p/5889633.html
操作笔记:参照博客 https://www.cnblogs.com/wf-skylark/p/9043904.html
3.linux操作
(1).cd
(2).ls
(3).mv
(4).tar -zxvf 解压缩文件 -zcvf 压缩文件
TAR.GZ
这种格式是我使用得最多的压缩格式。它在压缩时不会占用太多CPU的,而且可以得到一个非常理想的压缩率。使用下面这种格式去压缩一个目录:
# tar -zcvf archive_name.tar.gz directory_to_compress
解压缩:
# tar -zxvf archive_name.tar.gz
上面这个解包命令将会将文档解开在当前目录下面。当然,你也可以用这个命令来捏住解包的路径:
# tar -zxvf archive_name.tar.gz -C /tmp/extract_here/
**ubuntu解压缩zip, tar, tar.gz, tar.bz2详细教程:https://www.cnblogs.com/nyist-xsk/p/7929859.html
(5).rm -rf 删除文件
(6).chmod 修改权限
2018/10/16
1.所思所想:"希望某一天,我的代码能改变世界。"——今天看到的很喜欢的一句话,有理想有情怀有抱负!
在这里的每一天都要虚心接受学长学姐们的建议,常勉!
2.工作:
(1)今天上午试了为Navicat添加方式到任务栏,按博客来一直失败,以后有经验了再试一下。
(2)整理了Git的入门使用,并放到了我的博客:https://blog.csdn.net/qq_37597345/article/details/83089125
(3)《Fluent Python》Chapter1 Python数据模型
这一章主要讲了Python中的特殊方法,即双下方法。在Python中可以实现特殊方法来使用Python中强大的内置函数,书中通过“为什么len不是普通方法”的例子向我们阐明了Python中的“实用胜于纯粹”的Python之禅。下面我将特殊方法罗列一下,一方面增强记忆,另一方面为之后学习作铺垫。
[1].跟运算符无关的特殊方法
字符串/字节序列表示形式 __repr__, __str__, __format__, __bytes__
数值转换 __abs__, __bool__, __complex__, __int__, __float__, __hash__, __index__
集合模拟 __len__, getitem__, __setitem__, __delitem__, __contains__
迭代枚举 __iter__, __reversed__, __next__
可调用模拟 __call__
上下文管理 __enter__, __exit__
实例创建与销毁 __new__, __init__, __del__
属性管理 __getattr__, getattribute__, __setattr__, __delattr__, __dir__
属性描述符 __get__, __set__, __delete__
跟类相关的服务 __prepare__, __instancecheck__, __subclasscheck__
[2].跟运算符相关的特殊方法
一元运算符 __neg__ -, __pos__ +, __abs__ abs()
众多比较运算符 __lt__ <, __le__ <=, __eq__ ==, __ne__ !=, __gt__ >, __ge__ >=
算术运算符 __add__ +, __sub__ -, __mul__ *, __truediv__ /, __floordiv__ //, __mod__ % ...
反向算术运算符 __radd__, __rsub__, __rmul__, __rtruediv__, __rfloordiv__, __rmod__, ...
增量赋值算术运算符 __iadd__, __isub__, __imul__, __itruediv__, __ifloordiv__,...
位运算符 __invert__ ~, __lshift__ <<, __rshift__ >>, __and__ &, __or__ |, __xor__ ^
反向位运算符 __rshift__, __rrshift__, __rand__, __rxor__, __ror__
增量赋值位运算符 __ilshift__, __irshift__, __irand__, __ixor__, __ior__
Python中的任何对象都可以用于需要布尔值的上下文中。为了判定一个值x为真还是为假,Python会调用bool(x)来判定,这个函数只能返回True或False。这一点和C++中差别很大。
2018/10/17
1.所思所想:自己在MySQL上还要花时间,另外《Fluent Python》和《Python core》要看,路漫漫。
对了,自己买的爬虫项目实战,明天开始看,每天必须看2chapter!!!
2.工作:
(1)linux操作:
[1].ifconfig -a
注意:如果不是administrator用户登录的话,请在ifconfig -a命令前加上sudo,以获取管理员权限。
(2)Navicat的安装
下午一路坎坷,本以为连接费事,不料很简单,而是安装后表格内的数据显示为方框。后来删了又装,心里一万只羊驼飞奔而过。。。表格中编码的问题在上面的博客中已经提到,故略去。
详细安装教程见下面的博客,里面也附了注册码(虽然因为版本不同,无效,呵呵):https://blog.csdn.net/fh09102103/article/details/42713655?utm_source=blogxgwz0
(4)MySQL的操作笔记
虽然在上面有人已经做了比较详细的笔记,但我还是决定用半天时间来把MySQL的常用操作整理一遍。
[1].登录MySQL
mysql -u root -p
[2].MySQL创建数据库 create database 数据库名 [其他选项];
create database test character set utf8;
创建成功后,会犯会如下信息:Query OK...
[3].MySQL选择创建的数据库 use 数据库名;
use test;
[4].MySQL创建表 create table 表名称(列声明1, 列声明2,...);
create table student(
id int unsigned not null auto_increment primary key,
name char(8) not null,
sex char(4) not null,
age tinyint unsigned not null
);
[5].MySQL对表数据增删改查操作
增:insert into 表名 values(列变量1, 列变量2, ...);
insert into student values(NULL, "qiye", "male", 24);
删:delete from 表名 where 列变量 = 类型值;
delete from student where name = "qiye";
改:update 表名 set 列变量 = 类型值 where 列变量 = 类型值;
update student set age = 18 where name = "qiye";
查:select 列变量1, 列变量2, 列变量3,... from 表名;
select name, age ... from student;
***在MySQL中字符串既可以使用单引号包裹,也可以使用双引号包裹。这一点和Python很像。
[6].MySQL对表结构的增删改重(重命名)操作
增:alter table 表名 add 列名 列数据类型(after插入位置);
alter table student add address varchar(60) after age;
删:alter table 表名 drop 列名称;
alter table student drop addr;
改:alter table 表名 change 列名称 新列名 新数据类型
alter table student change address addr char(60);
重:alter table 表名 rename 新表名
alter table student rename students
[7].删除数据库
drop database 数据库名;
drop database test;
[8].删除表
drop table 表名;
drop table student;
[9].退出登录
quit;
2018/10/18
1.所思所想:看着窗外的车流,不免感慨颇多。感情,亲情,学业,爱好,心里五味杂陈。今天准备学好MySQL的基础,以及Python的正则部分,下午开始看爬虫源代码。《Python爬虫实战》也要带着看,每天2Chapter,每天2Chapter,每天2Chapter。
今天比较喜欢的一句话:“但是请记住,没有必要一下子完成所有需求。要将整个工作分解成若干需求,一次只解决一个需求。”——《MySQL技术内幕》
看了爬虫代码,感觉自己残弱的不行。欠缺的地方在于Python网络编程,正则表达式,以及html的理解。立誓:学好Python,看懂其中的每一行代码。
2.工作:
打开终端的快捷方式:Ctrl + Alt + t
(1).linux操作
创建文件: touch a.txt
删除文件: rm a.txt
创建文件夹: mkdir NewFolder
删除文件夹: rmdir Folder
[1].mkdir
使用格式:mkdir [options] DirName
options:
-m 用于对新建目录设置存取权限,也可以用chmod命令进行设置。
-p 需要时创建上层目录,如果目录已经存在,则不视为出错。
[2].rm
options:
-i 删除前逐一询问确认
-f 即使原档案属性设为只读,也直接删除,无需直接确认
-r 将目录及之中的文档逐一删除
pwd 查看当前目录所在路径
(2).MySQL操作整理
MySQL Chapter1 看完了一半,学会了很多技巧,明天可能还要继续。
2018/10/19
1.所思所想:昨晚和将要做的内容大致看了一下,感觉仍有很多欠缺,但我对自己抱有信心,我相信“慢就是快”,我相信自己的禀赋,我相信天道酬勤。今天看完MySQL,还有《Fluent Python》Chapter2,还有《Python spiser》Chapter1,2。加油,Maple!
2.工作:
(1).看到学长将Navicat快捷方式弄好,心里想着自己一定也要搞好,谁让我自尊心如此之强呢,创建快捷方式已整理成博客,如下:https://blog.csdn.net/qq_37597345/article/details/83176143
(2).Python3的字符串格式化
这一片博客整理的很好:https://www.cnblogs.com/lvcm/p/8859225.html