黑马程序员技术交流社区
标题: 我的学习之路 [打印本页]
作者: 萌萌哒的外婆 时间: 2019-8-27 10:21
标题: 我的学习之路
来传智这么久了,稍稍有点感悟(为什么不用word,mac出了点问题,我也很绝望啊):
对面对对象的理解:最基本的面向对象就是将一群类的属性和方法抽取出来做成一个类class(继承):,然后在面向对象的思维的基础上确立了模块化的开发,在面向对象的时候,就仅仅classxxx就是对象,不仅仅是这样的,我的理解是这是有关于....的集合体,ok,我想爬取斗鱼的网页,创立斗鱼类,有关于斗鱼爬虫的处理都放入进去,然后要下载的时候怎么办,创建一个有关于下载的类,在爬虫的类里面的方法里面创建下载类的实例,这是我现在对类的理解了.
对软件的理解:出于许多原因,这几个月用了许多软件,然后发现,程序是面向对象过程和面向对象开发的,但是对用户而言,就是基于方法而使用的,例如在linux系统中通用的命令,在底层也是一些函数的封装,然后这些函数有可能封装在哪些类里面吧,程序对键盘的点击出现反应,各个语言的封装的点击的方法把,然后程序能够交互是因为软件的底层有tcp/ip协议族后面讲.例如python 文件.py ,cd, ls
对协议的理解:协议及规定,代码只是封装协议的工具,(代码是完成功能的工具)假设两个人之间的对话的话就是,嗯,身份证号码是他们的ip,他们的回应的工具就是他们的端口,ok,两个人很近的情况下,嘴的端口为1,然后另外一个人接收后,可以用手做肢体动作,手的端口为0,双方的端口和ip的集合便是套接字(真是孽缘啊,解不开的绳子一样),当然,我们在一般情况下是不会对ip协议动手的,在bs结构中,我们一般动手的是在tcp/ip协议封装的上一层的应用层的http协议,在tcp协议的基础上,将我们的代码包含在http协议的请求体下,当然,其他部位要好的,居然可以在浏览器上显示了...
对服务器的理解:我们在浏览器点击一个网址的时候,正常用户是不会记得什么玩意ip地址的,点击下去之后,ip地址会在一个服务器上解析出来,ok,省略n步骤....蹦跶到那个网站上的时候,其实就是另外一台电脑,http的端口都指定好了的,80端口,换句话说,用户访问的就是我们服务器上80端口的运行的程序,至于这个程序是用什么代码写的,用户可不关心.....程序是什么?方法的集合体,其实就是访问的我们写好的方法中,他要在我们的网页上有什么需求,当然为了考虑我们的成本,用nigx软件做异步处理,不能用apache,因为apahce是来一个用户访问就专门为这个用户来一个进程,内存吃不消,代码上,用户的请求基本就3个方面,post,get,ajax,我们写出相应的代码,提高响应速度,对于用户而言,90%的用户操作都是查询操作,所以把一些经常不变的数据放在redis数据库中,ok,还卡,mysql主从,就是读取在一个mysql数据库上,其他操作在其他的mysql数据库上,这些mysql数据库上的数据是联动的,一个更新,其他都改变,当然,数据库常常有备份,防止被炸......
对爬虫的理解:ok,先确定第一步,数据在哪里,我们想要哪的数据,最怕的就是整个网页都要的,简直神经病,局部的数据的话,一般情况下,我们进行get请求比较多,然后看get的规律,ok,确定之后,就可以用xpath提取出我们具体想要的数据,下面就是为所欲为了,ok,有些网站要登录之后才可以,ok,我们先进行一次登录之后,将我们的cookie保存下来,下次爬的时候将cookie一起发过去,当然,一旦发现有些网站是不动的但是页面刷新了的,这就是json格式的数据了,mac下用那个花瓶一样的软件,Windows下用fiddle软件来截包,截取下来之后,有些json格式不是那个json.loads能解决的,不规范,所以,我们用字符转[x,y]提取在拼接就好了,爬虫的大招莫过于无界面浏览器了,真正的浏览器进入,然而搞不定天猫...天猫对机器的操作真的是敏感过头了,爬虫框架和分布式还没学.....
对数据结构和算法的理解:算法:解决问题的方法,任何的代码片段都是算法(因为解决问题了嘛),数据结构组成起来的显现就是算法?(士兵会打仗吗,将军会打仗吗,两个人打仗的方式一样吗?)数据结构是算法需要处理的问题载体,....程序 = 数据结构(存储数据的方式)(像积木一样)(静态)+ 算法(解决问题的思路)(拼装方式)(动态)....这样好一点,数据的操作有哪些,crud加上一个排序,然后数据在这个基准上进行一个封装就是数据结构了,常见的数据结构有,数组,链表,队列,栈,图,散列表,任何编程语言(程序)的底层都有他们的身影,python的列表就像是链表一样,任意的加数据,减数据,在老师的课程里说的是顺序表,我就把他当成链表了,这样方便我自己理解,然后字典就是散列表,一键一值,然后也可以一键多值,数据库的二维表是二维数组,当然我是理解成那个多个一键多值的散列表,额,我觉得有些概念理解错了也没关系,要能记住.在这些数据结构的基础上,根据功能的不同,我们要想出不同的解决方式,算法(解决方式)的不同,我们的方法的解决速度也不同.
对数据挖掘的理解:首先要知道对数据要进行哪方面的挖掘,挖掘出什么样的有趣的模式和知识,分成特征,关联,分类与预测,聚类分析,孤立点分析,我们挖掘出来的知识一般是为管理层的方案提出有力的依据,在一开始领导给出要求,我们根据领导的要求,将数据源整合起来,有可能数据源不同,数据源为不同的数据库,数据库用的是不同的键,然后,我们一般情况下的操作数据库针对用户,用户操作失败的时候,会有许多的错误数据在数据源里,要进行数据的清理,确定我们需要的二维表里需要的数据列,然后用select语句将他筛选出来,筛选出来之后,分成一个个块,空缺值,而且有可能数据量过大的时候,根据需求,进行概念的分层,例如,将省份的都集中到国家上,用特定的值或者是块的平均值代替,然后数据的清理完成之后,根据领导的要求使用不同的算法挖掘出有趣的模式,关联:客户在xx地xx时候买了xx,xx东西,啤酒和尿布;分类与预测:判定树:测出最合适的一个属性来进行分类,例如:小于30学生,大于30,教职工,预测:线性预测,行为的连续值(量化就是连续的值,离散就是分开的值)就是划出一条线,ok,根据这条线预测....,聚类分析:将用户的喜好分成不同的类,这样,这个用户喜欢的东西就推给这个类里面的其他用户,孤立点分析,有人用漏洞搞破坏,例如:在一群土豪花个多少钱多少钱的竞价排名,突然你的网站也到了前面,这就是孤立点了,每种模式都有许多的算法,需要有数学的基础和统计论基础,我们做的事就是为了给管理层推出这件事的概率是多少多少嘛,熟悉使用python中的工具包,当然给出的数据要是用户看的懂的.....
作者: 晨大喵 时间: 2019-8-28 11:13
奈斯,加油
作者: 魔都黑马少年梦 时间: 2019-8-29 14:28
ok~good~厉害哦
作者: 放荡的人生 时间: 2019-8-29 14:44
不得了~了不得
厉害
作者: 秒睡怪人 时间: 2019-8-29 16:18
加油
作者: 小影姐姐 时间: 2019-9-5 17:16
| 欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |