跟福哥学编程吧~~
介绍介绍Elasticsearch是一个文档型数据库引擎,和MongoDB类似,它的数据也是以一个一个文档的形式存储起来的,同样的它的数据也是JSON数据类型的。和MongoDB最大的区别是Elasticsearch的重点是在搜索上,从名字也可以看得出来,Elasticsearch基于Lucene全文检索引擎,可以轻松建立一个BM25...
介绍介绍我们在使用Elasticsearch进行搜索的时候,会需要对搜索结果进行调整,以达到最佳效果。影响搜索结果的取决于索引和搜索分词的匹配度,低精度要求可以是只要一个搜索分词命中就算匹配到了,高精度要求可以是每一个搜索分词都命中才算匹配到了,甚至可以要求索引必须一字不差地包含搜索关键字才算匹配到了。福哥今天带着大家来了解一下ES的...
介绍介绍福哥在使用Elasticsearch建立搜索引擎的时候,文档有多个字段标题(title)、关键字(keyword)、正文(content),现在是全部字段都是一样权重这样查询出来的结果排序很不理想那么应该怎么办呢?福哥学到了可以通过对不同字段设置不同权重的方式改变查询结果的权重,从而影响结果排序。现在福哥要把这个技巧分享大家!...
介绍介绍今天福哥给大家介绍一下Elasticsearch的分词查询的使用技巧,通过分词查询可以避免不是很匹配的文档出现在结果当中。举例:如果查询“北京”一般情况下都是想查询关于“北京”这个地区的相关信息,但是如果没有进行分词之前,“北”和“京”会作为单独的查询匹配项和文档中的字段进行匹配,那查询出来的结果就可想而知了。为了解决这个问题...
介绍介绍福哥要在项目里面对用户上传的图片进行裁剪、缩小、拉伸等等加工处理。之前用了Thumbnailator这个工具,结果Thumbnailator只能生成图片缩略图却不能裁剪图片。最后发现使用BufferedImage就可以晚上裁剪图片、缩小图片、拉伸图片这些处理功能了。下面福哥就给大家讲解一下如何通过BufferedImage完成...
介绍介绍上传图片功能是大多数网站平台一定会有的功能。用户上传的图片大小都不一样,格式也不一样,所以我们得到用户上传的文件之后一定需要进行统一格式、尺寸的处理,也就是说生成图片的缩略图。今天福哥就找到了Thumbnailator这个工具,用它来生成图片缩略图,非常方便好用!配置在pom.xml增加依赖项<dependency>...
介绍介绍福哥在使用hub挑选Docker的基础镜像的时候,发现了很多版本,包括buster、alpine、stretch几种。这些都是什么意思呢?大家今天就跟着福哥逐一地了解了解吧!!Busterbuster是基于Debian Linux发行的一个版本,这个版本比较新,支持比较全面,受广大Debian爱好者的好评!所以像PHP、Pyt...
介绍介绍今天开始我们来学习各种语言操作数据库的技巧,根据福哥学习编程的顺序,我们先来将PHP语言操作数据库的技巧。因为相对强大又免费的数据库只有MySQL了,所以我们这里只讲解各种语言操作MySQL数据库的方法,其他数据库福哥会在后面给逐步给大家讲解。PHP有很多版本,在PHP4的时代大家一般是通过php_mysql库来操作MySQL...
介绍介绍在Java里实现随机数有很多方法,今天福哥就一一介绍给大家。这几种方法里面,福哥最喜欢用的是Math.random方法,下面是福哥项目里使用的函数。Random使用Random对象获取随机数,可以设置随机数的上限,但是无法设置随机数的下限。Random random = new Rand...
介绍介绍福哥需要在Java里面去请求其他服务器的接口,找了半天决定使用WebClient这个对象来实现。GET模拟用户的GET请求操作,这里面最CD的是拼凑GET请求的QueryString的问题。如果你直接通过字符串拼接的方式把QueryString组织好拼到url后面,那么你就会发现如果QueryString的参数的值包含“?”、...
介绍介绍php7.4.6是一个划时代的产品,它让php对于强类型编程的支持度提升到了前所未有的的高度,不仅仅支持函数参数强类型,还支持函数返回值强类型,甚至对象属性也都支持强类型了在这样的环境下编写php是非常舒服的,一写复杂的功能也可以通过php来实现了,可靠性比着前面的版本要强太多了基本信息安装环境CentOS:CentOS Li...
介绍介绍福哥最近在把一部分功能从PHP转入Java里面,在处理PHP的序列化(Serialize)数据的时候遇到了问题,经过一番折腾找到了一个在Java里实现序列化的功能的第三方库。现在,福哥将这个库的使用方法交给大家!!依赖首先导入phprpc的依赖库<dependency>    &nb...
介绍介绍在web开发过程中图片上传功能是很常见的,很多网站都可以实现在用户选择了一张图片之后,在没有点击“上传”按钮之前就可以立即预览选择的图片的内容。这个设计的用户体验是非常好的,那么这个是怎么做到的呢?图片上传预览HTML<div class="row">   &nb...
介绍介绍福哥在编写python程序的时候比较喜欢用dict类型对象,尤其喜欢用多级dict数据结构。但是有个问题,如果调用一个不存在的元素就会报出KeyError异常,要在上下文里增加try ... except太麻烦了,怎么办呢?今天福哥给出一些判断dict类型对象是否包含某个键的元素的方法,大家可以根据自己的喜好选择使用。解决办法...
介绍介绍今天我们来学习在java程序里面使用日期和时间的方法。这里面涉及到Calendar、Date、Timestamp几个对象,Calendar主要用来获得当前时间的种子再转换成其他格式;Date格式比较容易转换成数字,方便进行比较大小;Timestamp格式比较方便和字符串互转,在实体对象里用的比较广。当前时间获取当前时间yyyy...
介绍介绍福哥的项目里面需要对字符串编码进行转换,从网上一搜,清一色的都是一样的教程,关键这些教程的方法还都不好使。经过一番亲身测试,终于找到了解决可用的解决方法。系统编码在转换编码之前我们需要知道“系统编码”是什么,很多人会下意识地认为程序文件的编码就是“系统编码”,这是一个很大的误区。其实“系统编码”是编译程序时候使用的编码,在不同...
介绍介绍之前福哥给大家讲过关于Python的selenium库的使用技巧,通过selenium库可以调用浏览器打开网页并且进行自动化操作的方法。selenium库有个headless模式,就是headless模式下不会弹出浏览器窗口,可以让自动化过程更像一个命令行程序在运行。不过这个headless模式下在终端会打印巨多的控制台信息,...
介绍介绍福哥顺应潮流打算玩一玩微信小程序,因为是个人行为所以只能注册个人版本的微信小程序。个人版本的微信小程序限制非常多,其实也可以理解,企业行为相比较个人行为会更有保障一些,毕竟大部分企业还是要盈利的,他们会微信小程序用户更加负责任。不过福哥开发这个微信小程序只是把我们学习的文章可以在小程序里面浏览,这样比较方便,仅此而已。至少福哥...
介绍介绍大部分技术都是外国人搞出来的,真是悲哀~~这些技术的支持服务器都在国外,所以在国内的我们想使用这些技术的支持就要忍受缓慢的国际网速延迟带来的痛苦!!!著名的CentOS操作系统内建的包管理器yum的镜像地址mirrotlist.centos.org就是国外的,连都连不上,怎么办?还好我们的163.com提供了一套镜像选择,福哥...
介绍介绍如果我们需要一张SSL证书,又不想花钱,又不想麻烦,可以自己制作一个。自己制作的SSL证书的好处是分分钟搞定,简单,快捷。缺点是证书不受信任,浏览器会显示不安全。教程创建 server.key 文件openssl genrsa -des3 -out server.key 102...
介绍介绍福哥今天要教给大家学会给自己的程序代码签名,签名的作用通常情况下是为了告诉使用我们的代码的人这个程序的原作者是谁。除此之外,签名还会把程序代码的版权协议告诉使用代码的人,不过在国内基本上除了特别出名的框架、插件、库会引起使用者的注意外,其他开源的程序代码基本没有人会在意版权问题~~无论如何,给我们的程序代码增加签名,至少可以帮...
介绍介绍福哥最近处理一个客户的网站JS错误发现了一个诡异的情况,就是前面载入了一个JQ的插件,后面调用这个插件,提示插件不是一个函数。经过一顿查询,发现载入插件的地方有个“defer”属性,查资料得知这个属性告知浏览器在全部网页都加载完成之后再加载这个插件代码。我去,全部加载完成之后再加载插件代码,那么这里调用插件肯定失败啊~~正常模...
介绍介绍今天开始福哥要给大家讲解关于字符编码的知识,所谓字符编码就是将一个字符串或者是一个二进制字节数组里面的每一个字符根据一定的规则替换成一个或者多个其他字符的过程。字符编码的意义有很多种,有的是为了将一些不可见的字符以可见字符替代保证可见度;有的是为了以少数字符去描述更多的其他字符便于传递数据;还有的是为了将不定长的字符串转成定长...
介绍介绍今天开始福哥要给大家讲解关于字符编码的知识,所谓字符编码就是将一个字符串或者是一个二进制字节数组里面的每一个字符根据一定的规则替换成一个或者多个其他字符的过程。字符编码的意义有很多种,有的是为了将一些不可见的字符以可见字符替代保证可见度;有的是为了以少数字符去描述更多的其他字符便于传递数据;还有的是为了将不定长的字符串转成定长...
介绍介绍今天开始福哥要给大家讲解关于字符编码的知识,所谓字符编码就是将一个字符串或者是一个二进制字节数组里面的每一个字符根据一定的规则替换成一个或者多个其他字符的过程。字符编码的意义有很多种,有的是为了将一些不可见的字符以可见字符替代保证可见度;有的是为了以少数字符去描述更多的其他字符便于传递数据;还有的是为了将不定长的字符串转成定长...
介绍介绍上一课童鞋们和福哥学习了TFPHP的响应对象TFRespnose涉及到的一些知识,包括:响应状态、响应数据类型、响应数据长度等等,在响应对象里面我们要对这些数据进行管理控制。这里面响应状态包含非常多的可选状态信息,所以福哥将响应状态封装了一个新对象TFResponseStatus。然后响应数据类型和响应数据长度相对比较简单,福...
介绍介绍今天我们来讲讲响应对象TFResponse,它也是系统级别的对象,它负责视图的输出。也就是说用户在浏览器上看到的一些网页内容都是通过TFResponse响应对象输出出来的。输出数据包括很多属性,如:响应数据类型、响应数据大小、服务器信息、服务器指令等等。响应对象TFResponse首先我们先建立TFResponse这个响应对象...
介绍介绍上一课大家已经跟着福哥了解了用户请求的基本知识了,今天我们就来把这个用户请求对象的功能实现了。因为用户请求包含很多输入数据,我们需要对每一个数据进行实体化,也就是说为它们建立独立的实体对象。在PHP语言里面这些输入数据都是以全局数组形式存在的,所以我们在建立这些实体对象的时候又可以使用相同的基类。基于这些分析结果,福哥会建立这...
介绍介绍福哥今天要带着大家完成一个系统级别的对象——请求对象TFRequest,这个对象会完成所有根用户请求相关的功能。而从用户请求里我们主要是要获取“输入数据”,输入数据包括QUERY参数、POST参数、服务器环境参数、客户端环境参数等等。请求对象TFRequest首先我们先建立请求对象TFRequest,程序文件保存在System...
介绍介绍隔了几天时间,福哥终于有时间了继续推进我们的TFPHP框架的进程了。今天我们继续设计模型模块,上一课我们已经完成了TFDO对象的设计,有了数据连接能力之后就可以进行模型对象TFModel的基本架构的设计了。大家都知道,模型对象TFModel是用来读取/写入数据的,所以我们需要在TFModel里面进行TFDO对象的初始化操作。但...