跟福哥学编程吧~~
介绍介绍之前我们跟着福哥完成了“做个搜索引擎”项目的前半部分“网页蜘蛛”的程序的编写,童鞋们可以看到福哥将网页蜘蛛的功能封装成为了一个Spider对象,而不是简简单单的写一些函数,更不是直接码代码堆逻辑。大家可以发现在网页蜘蛛的“主程序”里面的代码非常简单,很清爽,很干净,这就是对象编程的优势,我们可以将功能的实现和业务的设计分离开来...
介绍介绍福哥在使用Elasticsearch的时候需要删除匹配指定条件的查询结果的文档,找了半天终于让福哥解决了现在就分享给大家教程delete_by_query通过delete_by_query关键字将查询结果文档全部删除掉(慎用!!!)示例:查出所有age小于21的全部文档将其删除掉curl -X POST&n...
介绍介绍福哥为了研究Elasticsearch搜索引擎的三个大版本之间的区别,使用Dockerfile在TFLinux环境里面搭建了Elasticsearch的5、6、7三个版本的运行环境。福哥选择的ES5的版本是5.6.16,ES6的版本是6.8.16,ES7的版本是7.13.2,这三个版本都是每个大版本里面最新的版本,福哥觉得这样...
介绍介绍福哥在安装Elasticsearch7的时候遇到了问题,报告如下的错误消息:bootstrap check failure [1] of [1]: the default discovery settings are unsuitable for production use; at least one of [discove...
介绍介绍现在互联网到处都是巨婴的Windows 11的宣传图片,这次的改动貌似更加的Mac化了,圆角窗体、居中的任务栏、图标样式等等,简直就是macOS的皮肤一般。福哥很像体验一下,可是翻遍了了巨婴的中文网/英文网也没找到从哪儿下载Windows 11预览版本,怎么办呢?内部体验官网注册/登录首先我们要去巨婴的内部体验网站上登录一下自...
介绍介绍福哥的TFUMS项目的配置文件其实就是一个PHP程序文件,使用PHP程序文件作为项目的配置文件虽然更加灵活,但是感觉上差一点。Java项目使用XML作为项目的配置文件,XML格式可以容纳更复杂的配置参数,阅读起来也很清晰,但是PHP读取XML格式的文档有点先天不足,XML格式无法转换为PHP的数组,而且PHP解析XML格式的效...
介绍介绍今天开始我们来学习Python操作MySQL数据库的技巧,Python操作MySQL是借助pymysql这个库来实现的。pymysql库区别于PDO和JdbcTemplate,它只能用来操作MySQL,不能用来操作其他数据库,这一点和早期的PHP的php_mysqli差不多。相信在不久的将来Python也会给出多数据库的集中解...
介绍介绍福哥今天要带着大家学习Elasticsearch搜索引擎的索引数据的导出/导入功能,因为ES搜索引擎的包括很多功能,如果要保留全部索引的配置和数据的话,还是需要对ES的功能有一定的了解才可以做到的。mappingES索引可以直接添加数据,但是默认情况下会将所有非数字的字段都做完文本(text)来对待,如果要根据字段类型进行特别...
介绍介绍福哥在使用pymysql的时候得到了如下的错误信息:TypeError: __init__() takes 1 positional argument but 4 were given意思是默认参数是一个,实际传入了4个。可是pymysql.connect一个参数怎么够用呢?原因原来在Python3.8里面pymysql.co...
介绍介绍上一课福哥带着大家使用TFPHP框架给TFUMS项目的标签模块的增加了回收站功能,标签可以设置子级标签,子级标签又可以设置孙级标签,但是我们的标签管理列表无法体现这样的特点。今天福哥要给标签功能增加一个面包屑功能,当我们切换到子级标签、孙级标签的时候可以通过面包屑上面的标签信息知道当前所处的标签层级位置,这个功能需要用到标签的...
介绍介绍上一课福哥带着大家使用TFPHP框架给TFUMS项目增加了全套的标签模块的增、删、改、查功能,标签的删除功能福哥使用的是状态删除方式而不是物理删除方式,为的就是那些误删除的标签可以通过恢复功能找回来,今天福哥要带着大家来实现这个恢复功能。标签模块的恢复功能和删除功能相对的,删除功能是把标签状态改为T_STATE_LOCKED,...
介绍介绍福哥今天要把TFPHP框架开发的标准CRUD功能的方法整理一遍,我们以TFUMS系统为基础,给TFUMS项目增加一个标签功能,就是可以给用户打标签的功能。福哥会把标签模块的增、删、改查功能的开发方法逐个讲解给大家听~~结构模型WEB-APP/Model/tag.inc.php控制器WEB-APP/Controller/admi...
介绍介绍福哥在将TFLinux的PHP+Apache的组合转换成PHP+FPM+Nginx的过程里遇到了一个问题,就是无法通过默认方式安装GD库。通过上网去查询发现人家说php7.4开始编译GD库的方式变了,然后给出了一个错误的Dockerfile示例(福哥非常确定那个示例是错的),你大爷的你知道旧的方式不好使了,你丫倒是给一个好使的...
介绍介绍福哥今天要教给大家使用Python处理XML文档。XML文档格式是一种比JSON文档格式更加复杂的一种文本文档格式,XML文档包括节点和属性两个元素,节点名称可以重复,一个节点上的属性名称必须唯一,节点名称和属性名称没有统一性要求,相比较JSON格式XML格式可以存储更加复杂的关系的数据结构。Python操作XML文档推荐使用...
介绍介绍福哥在将数据库里的数据编码从utf8转为utf8mb4的时候得到了如下的错误:Specified key was too long; max key length is 3072 bytes这是怎么回事呢?怎么解决呢?原因从字面理解就是索引长度超限了,最大的长度是3072个字节。福哥的数据表的有一个字段是1000个字符长度的v...
介绍介绍由于Python语言对于变量类型是有强制性的要求的,如果我们传递错误的类似数据到函数里面,会触发异常报错。为了解决这个问题,我们需要知道当前变量的类型是什么。但是Python又不同于Java,变量类型没有显性地声明出来,所以我们需要一个可以判断变量类型的方法。判断Python变量的类型是通过内建函数isinstance实现了,...
介绍介绍今天开始福哥要给大家讲解关于字符编码的知识,所谓字符编码就是将一个字符串或者是一个二进制字节数组里面的每一个字符根据一定的规则替换成一个或者多个其他字符的过程。字符编码的意义有很多种,有的是为了将一些不可见的字符以可见字符替代保证可见度;有的是为了以少数字符去描述更多的其他字符便于传递数据;还有的是为了将不定长的字符串转成定长...
介绍介绍福哥在使用Python读文件内容的时候系统报出如下错误:'gbk' codec can't decode byte 0xb0 in position 481: illegal multibyte sequence原因看报错的信息很明显是使用GBK码解析文件数据失败,可是福哥的文件明明是UTF-8编码的啊...
介绍介绍福哥需要用Java操作Elasticsearch搜索引擎,经过了一番折腾终于搞定了。现在福哥整理了用Java操作Elasticsearch的方法,分享给大家。有需要的童鞋可以参考一下!在Java里面操作Elasticsearch搜索引擎是通过官方的elasticsearch库实现的,上一课福哥用RestClient方式实现了E...
介绍介绍福哥在用Python去读PHP语言开发的项目的数据库的时候,发现一些字段里存储的居然是经过PHP的serialize函数序列化过的数据,这个要解开它通过json库是不行的了,怎么办呢?原来Python专门有个库用来模拟PHP语言的serialize和unserialize的功能,它就是phpserialize库。安装phpse...
介绍介绍福哥今天要带着大家完成修改个人资料表单的功能。修改个人资料表单和注册、登录表单不同,它不仅仅是将用户填写的数据提交到服务器,还要在进入修改个人资料表单的时候将上一次填写的内容展示到表单里面。也就是说,用户可以修改其中一部分,也可以什么都不修改,用户需要知道每个表单项自己曾经填写的数据是什么。将用户填写的表单数据提交到服务器这部...
介绍介绍今天福哥带着大家来把会员中心(就是开放给登录用户的功能集中管理模块)的基础框架搭建一下。所谓的基础框架包括了会员中心的导航菜单,还有每个已知功能页面的视图模型以及功能页面的基本权限控制。这里面有个问题,就是首页应该是公开的(任何人都可以访问),而会员中心里面的功能则必须有用户登录才能操作,并且有用户登录之后login和regi...
介绍介绍福哥今天要继续制作TFUMS系统的用户登录状态的功能,上一课我们已经完成了用户登录状态的接口的开发,今天我们的目的就是要在页面上根据这个用户登录状态显示不同的界面内容,让用户可以了解到自己当前是否已经登录了。用户登录状态有两种使用场景,第一种就是在后台进行判断的,这种场景属于在后端发现用户没有登录就会直接拦截并采取措施(例如:...
介绍介绍今天福哥要带着大家做一些系统级别的调整,我们带着一个问题去了解这个系统级别的调整需要做哪些事情,今天的课程有一定难度,大家要仔细听了~~首先,我们需要在每个用户网页上面判断当前浏览器有没有用户已经登录过了,如果有登录则显示登录才能看到的内容,否则就要显示未登录状态的信息。那么如果判断登录这个逻辑在每个页面都写一遍的话,想一想都...
介绍介绍福哥今天就带着大家完成TFUMS系统的登录功能,为什么登录功能不分几集?因为在注册功能开发的过程中我们已经把表单需要准备的工具和接口都弄好了,所以今天在制作登录功能的时候一集就可以做完了。登录功能就是检验用户输入的用户名和密码是否正确,如果用户名和密码是正确的,就建立一个token。这个token里包含这登录用户的信息,但是一...
介绍介绍今天福哥打算使用TFPHP框架的TFSafeCode对象给我们的TFUMS系统的注册功能增加验证码功能,大家可以通过这个注册功能的验证码功能了解到验证码是怎么一回事、验证码的工作原理以及验证码在表单当中的作用和价值。验证码简单说就是:防止机器人模拟用户操作表单的安全防护措施。也就是说,我们给表单增加验证码机制的目的仅仅是为了避...
介绍介绍福哥今天要带着大家给我们的TFPHP框架添加一个工具对象TFSafeCode,这个工具对象是用来生成验证码和校验验证码的。验证码大家都很熟悉了,就是在诸如:注册、登录等等重要的操作时候除了表单自有的项目之外还会有一个验证码项目,这个验证码五花八门什么样式的都有,其目的就是防止黑客使用机器人模拟用户来操作这个表单。今天福哥要在T...
介绍介绍福哥今天要带着大家开发TFUMS系统的注册功能的处理程序了。这个处理程序会调用模型user的add方法进行创建用户的操作,模型user的add方法会先检查用户名是否被占用了,如果没有被占用才能进一步完成创建用户的操作,否则会报错。如果处理程序报错的话,会返回错误码和错误信息。这个错误码需要我们定义好,一般情况下错误码一个是7位...
介绍介绍今天我们继续开发注册功能,今天主要完成的是表单处理时候的错误提示的处理的技巧。错误处理福哥上一课已经决定了使用tips提示框来实现,tips提示框的特点就是它会在屏幕中间显示一个黑色的框框,里面是白色的错误提示文字,这个提示框会在几秒钟后自动消失掉。要实现这个功能很显然需要使用JS程序来完成,福哥使用jQuery的控件封装技术...
介绍介绍今天福哥来带着大家完成第一个页面控制器——注册页面。首先注册页面应该有验证码的,而验证码需要用到GD库,我们的TFPHP暂时没有处理图像的能力,所以这一版注册页面福哥暂时先不实现验证码的功能。其次表单提交出现问题需要提示用户的,福哥在前面也没有设计错误提示显示方式,这次会使用一个旋风的黑色提示框来提示错误信息。最后一个含有表单...