介绍介绍我们已经设计好了搜索引擎的MySQL数据库,今天我们要开始设计ElasticSearch数据库了。ElasticSearch数据库在这个搜索引擎项目里的作用是全文检索,因为MySQL无法实现这个功能。而搜索引擎的特点是用户给出一个查询关键字,我们根据这个关键字进行全文匹配查找符合条件的文档出来返回给用户。也就是说我们只需要考虑...
介绍介绍jenkins在持续集成工作当中起到的作用,简单一句话就是:手动转自动。一般情况下,如果没有jenkins工具,我们要发版上线功能的流程是:从版本库检出最新代码 》部署到灰度机器 》进行自动化测试 》将灰度机器连接Nginx。这里面的每一个环节都需要人员去一步一步操作,即便有脚本辅助,还是会有风险,而且时间成本高。使用jenk...
介绍介绍原因当作浮点数计算了解决ports参数增加双引号
介绍介绍jenkins在持续集成工作当中起到的作用,简单一句话就是:手动转自动。一般情况下,如果没有jenkins工具,我们要发版上线功能的流程是:从版本库检出最新代码 》部署到灰度机器 》进行自动化测试 》将灰度机器连接Nginx。这里面的每一个环节都需要人员去一步一步操作,即便有脚本辅助,还是会有风险,而且时间成本高。使用jenk...
介绍介绍福哥在使用urllib库访问API接口的时候,发现一个很奇葩的问题,就是网上满天飞的教程里都是教大家如何使用urllib的,但是通过pip安装urllib提示找不到软件包,这是怎么回事?后来又看到有人使用urllib2来替换urllib库,使用pip尝试安装一下,发现urllib2也是找不到软件包,啊?怎么办?再后来又发现有人...
介绍介绍大家刚刚跟着福哥通过VMware安装了Windows 10操作系统了,同样的为了避免我们安装的软件,编写的代码会被快照破坏掉,我们需要添加一块独立的永久的硬盘,作为编程使用的专用硬盘。不过Windows和Linux不一样,安装软件是有注册表的,如果注册表信息丢失,有一些软件就会无法使用。还好根据福哥的经验,编程用到的很多软件都...
介绍介绍使用官方的镜像安装Jenkins环境的时候,发现插件都找不到。忽略安装插件环节,直接进入jenkins后台,进入插件管理界面,发现可选插件列表也是空的,点击“立即获取”按钮数秒后得到如下错误信息。Signature verification failed in update site 'default' (sh...
介绍介绍福哥今天打算给大家讲一讲MySQL的Replication功能,使用Replication功能来实现双主机相互同步复制数据,可以大大提高系统的健壮性,两台主机都可以用来作为数据写入服务器使用。主主同步复制的配置难度远远超过主从同步复制,因为两台机器都会相互同步对方的用户提交的操作,一个不小心有可能会造成两边的机器的数据都被清空...
介绍介绍福哥今天打算给大家讲一讲MySQL的Replication功能,使用Replication功能来实现主机和从机同步复制数据,可以实现主机到从机的数据的实时同步,通过从机可以分担主机的读压力,提高系统性能。配置配置文件里面必须包含的参数包括:server_idlog-binlog-bin-indexbinlog-do-dbaut...
介绍介绍大家前两天跟着福哥已经学会了通过VMware安装Linux操作系统CentOS 7了,我们教程里是分配了一个20G的硬盘,很显然20G肯定是不够用的,福哥说过需要增加硬盘来解决容量问题,我们的所有程序和代码都要放入这个新硬盘里面那么现在就开始吧~~添加硬盘启动VMware,找到我们的虚拟机TFLinux,点击硬盘一栏,弹出硬盘...
介绍介绍控制Elasticsearch搜索引擎的查询结果的评分的终极武器script_score,评分完全的自定义化,真的是想怎么玩就怎么玩,爽的不要不要的。福哥今天会给大家讲讲如何使用ES的script_score去自定义查询结果的每个文档的评分,完完全全地按照自己的想法去设计文档的评分计算方法。script_score按照官方的说...
介绍介绍调试selenium的headless模式下隐藏控制台信息时候,系统提示这个错误信息:ImportError: No module named win32process傻傻地运行 pip install win32process 提示找不到软件库。这可怎么办?解决原来win32process是在pypiwin32软件库里面,直...
介绍介绍我们在使用MongoDB数据库的时候会有需要对数据库里的数据进行物理删除(状态删除的数据还是存在的)的需求,通常情况下物理删除的数据是找不回来的(能找回来对于就想抹掉数据的需求来说也不安全),所以我们有必要对删除数据的方法有一个深入的了解。remove使用db.connection.remove()方法可以删除符合规则的数据。...
介绍介绍MongoDB是一个文档数据库引擎,文档数据库和MySQL这种关系型数据库是不一样的设计,文档数据库和Redis这种Key-Value数据库也有很大差别。不过文档数据库和Key-Value数据库都属于NoSQL型的数据库,也就是说MongoDB也是不支持SQL语句的。MongoDB相对于MySQL数据库来说有一项独有的非常强大...
工欲善其事,必先利其器,我们在使用数据库时,通常需要各种工具的支持来提高效率;很多新用户在刚接触 MongoDB 时,遇到的问题是『不知道有哪些现成的工具可以使用』,本系列文章将主要介绍 MongoDB 生态在工具、driver、可视化管理等方面的支持情况。本文主要介绍 MongoDB 的一些可视化运维管理工具MongoDB Clou...
介绍介绍福哥在使用Elasticsearch建立搜索引擎的时候,文档有多个字段标题(title)、关键字(keyword)、正文(content),现在是全部字段都是一样权重这样查询出来的结果排序很不理想那么应该怎么办呢?福哥学到了可以通过对不同字段设置不同权重的方式改变查询结果的权重,从而影响结果排序。现在福哥要把这个技巧分享大家!...
介绍介绍今天我们学习如何通过Python操作Elasticsearch搜索引擎。学会使用Python操作Elasticsearch数据库之后,我们就可以使用Python制作拥有强大搜索功能的应用程序了。Elasticsearch的搜索功能要远远超过MySQL这样关系型数据库基于SQL语句实现的基本搜索功能。在Python2.7下使用的...
介绍介绍Elasticsearch是一个文档型数据库引擎,和MongoDB类似,它的数据也是以一个一个文档的形式存储起来的,同样的它的数据也是JSON数据类型的。和MongoDB最大的区别是Elasticsearch的重点是在搜索上,从名字也可以看得出来,Elasticsearch基于Lucene全文检索引擎,可以轻松建立一个BM25...
介绍介绍福哥今天带着同学们给我们的TFSpring框架增加JdbcTemplate的功能。虽然这么说,其实福哥并没有对JdbcTemplate进行封装,只是简单的把它配置起来而已。JdbcTemplate是Java语言操作数据库的主流工具对象,它不仅仅可以操作MySQL,还可以操作很多其他数据库引擎。JdbcTemplate可以通过e...
介绍介绍今天福哥会带着大家实现网页控制器的逻辑以及它和路由模块的结合部分的逻辑,实现了这部分功能之后,每个用户的请求就会映射到具体的程序文件上面了。上一课我们提到过网页控制器需要借助Smarty这个模板扩展实现,所以我们需要先下载最新版本的Smarty模板扩展包,把它安装到我们的TFPHP里面。由于Smarty是第三方的代码,福哥打算...
介绍介绍福哥今天要带着大家完成控制器模块TFController对象的设计,控制器模块是web框架的核心模块之一,它负责管理控制网站数据,需要高度的兼容性和高度的灵活性,便于开发者进行高效地开发工作。设计控制器模块比路由模块要复杂许多,因为控制器模块有很多能力需要我们一个一个实现,今天我们就先把这些能力一个一个地列出来,逐一的设计它们...
介绍介绍童鞋们今天福哥就要带着大家完成路由对象TFRouter的功能了,首先福哥和大家先想一想如何映射才能起到安全又灵活的双重目的。第一点:既然要安全就是不能直接通过浏览器就可以访问到,这里面就必须借助路由的基本功能将非法请求进行一个屏蔽处理。第二点:除了安全还需要灵活,灵活就是高度的自由,也就是说我们不能对项目开发人员进行过多的限制...
介绍介绍Rancher/Server是一款管理k8s集群的B/S软件,通过Rancher/Server我们可以轻松地管理多个Docker服务器。Rancher/Server是图形化的操作界面,大大简化了操作难度,提高了执行效率。使用Rancher/Server还可以方便地监控各个服务的运行状态,随时了解到服务平台的健康状态。使用Ran...
介绍介绍今天我们主要需要达到的目标就是解决路由模块的核心功能,实现资源路径的映射功能。要实现资源路径的映射就需要能够对资源路径映射的操作有控制权,需要获得资源路径映射的控制权就需要借助Apache的rewrite模块了。Apache的rewrite模块是一个很厉害的模块,它实现在用户发起的请求达到服务器之后由服务器进行URI解析之前的...
介绍介绍福哥打算开始教给大家web编程,相比较java和php两种语言来说,php更加容易上手,所以福哥打算先教给大家基于php语言的web编程。web编程一定是建立在web框架上面进行的,福哥在对比yii和laravel以及福哥自主研发的tfapi三个web框架之后,觉得还不如带着大家一起做一个属于我们自己的web框架,这样可以让大...
介绍介绍上一课我们知道了什么是框架以及框架在编程当中起到的作用是什么,框架在编程当中的作用就是大幅减少相似项目开发过程中的重复工作。既然框架要解决的是相似项目的开发过程中的重复工作,那么区别很大的项目又该怎么办呢?例如:我们要开发一个Windows桌面程序,或者我们要做一套web系统的接口,又或者我们要做一个留言板网页,很显然这些不同...
介绍介绍福哥今天要跟大家讨论的主题是——框架,框架在编程里面的作用简单一句话解释就是:框架可以帮助我们快速地完成开发任务。咱们打个比喻,我们要组装一台兼容机电脑,我们会怎么做呢?当然首先我们需要去购买电脑配件,包括CPU、内存、显卡、主板、电源、机箱、显示器、键盘、鼠标等等。接着我们需要把主板安装到机箱里面,然后将CPU、内存、显卡插...
介绍介绍今天开始我们要做搜索引擎的“界面”部分了,我们给这个工具起个名字——搜索器,因为我们使用的是Python编写的搜索器,所以我们的搜索器是控制台形式的。搜索器的名称是Searcher,搜索器的启动程序文件名称是Searcher.py,搜索器包含一个库文件lib/Searcher.py。搜索器的功能是这样的,启动搜索器Search...
介绍介绍福哥发现使用pip安装软件包特别的慢,大概是从大洋彼岸下载软件包遇到了堵车吧,怎么办呢?还好我大中华地大物博,这个pip的安装源镜像也是有很多大佬平台提供了支持,真的是非常感谢~~下面福哥就教给童鞋们更换pip安装源的方法了。https://tongfu.net/home/35/blog/512781.html
介绍介绍福哥今天给大家系统的讲一讲Python中对日期和时间的处理的技巧,在python中处理日期和时间需要用到time和datetime软件包,这两个软件包是内建的不需要单独安装,可以直接import进来使用。在程序里获取时间实际上就是得到运行程序的电脑或者服务器的时间,也就是说如果将电脑或者服务器的时间更改了,运行程序得到的时间也...