跟福哥学编程吧~~
介绍介绍福哥在使用PyCharm调试程序的时候发现得到了这个错误:bad magic number in 'lib': b'\x03\xf3\r\n'这是怎么回事呢?原因每一个py脚本运行之前都会编译成pyc文件,当py脚本修改后python会重新编译这个文件。出现这个错误是因为pyc和py脚本不一致造...
介绍介绍跟福哥学习编程,无论是java,还是php,或者是asp.net,都会需要连接一些服务,包括但不限于MySQL、Redis、Memcached、Apache、Tomcat、MongoDB、ElasticSearch、Kafka等等这些软件有的有windows版本,有的只有linux版本,无论是否有windows版本,linux...
介绍介绍在Python里面字符串有两种形式——普通str和字节(bytes)str,这两种形式是不一样的,有的库需要传入普通形式的字符串,有的库需要传入字节形式的字符串。str使用双引号括起来的内容就是字符串。bytes将普通字符串以一种编码encode之后就是字符串的字节形式了。相互转换bytes转strmyBytes =...
介绍介绍福哥学习Python也有半年了多了。之前对Python的理解比较肤浅,觉得Python是个“不三不四”、“不伦不类”的语言,定位也不清晰,语法又很古怪,还被一帮JS拿去忽悠家长给鸡娃报班。现在福哥作为一名“老”Python程序员对Python有了全新的认识,Python是一个非常好的语言,理由是:首先,相比较PHP语言,Pyt...
介绍介绍Redis是一款使用内存作为存储介质的数据库。大家应该都知道,计算机最快的单元是CPU,较次之的单元就是内存,再其次才是固态硬盘,最后是传统的物理硬盘。现如今大部分笔记本电脑和台式机都已经开始采用固态硬盘作为主要存储介质了,但是服务器领域传统的物理硬盘还是主流的(毕竟几百G、甚至几个T的巨大容量固态硬盘成本太高了)。所以,Re...
介绍介绍福哥今天带着大家完成个人资料修改的功能。这个个人资料修改里面包括很多项目,包括昵称、性别、生日、学历、个人介绍几个项目。其中性别是一组单选项,而生日是两组下拉框,学历是一组下拉框,个人介绍是一个多行文本框,看起来个人资料表单包含了大部分表单元素内容了。这个表单里有个难点,就是要保存性别和学历的时候,表单里面是一个单词,而数据库...
介绍介绍今天我们和福哥一起来好好设计一下安全问题功能,安全问题用来识别账号的安全保护身份。用户在指定若干问题里面挑出三个问题,并提供这三个问题的自己的答案。在验证安全保护身份的时候,用户需要答出这三个问题的答案,且答案要一字不差。这种验证的安全系数是非常高的,即便是和用户本人非常熟悉的人也很难得出三个问题的正确答案。设置安全问题代码/...
介绍介绍今天福哥带着大家来实现用户模块user的设置绑定邮箱和修改密码功能。设置绑定邮箱属性修改数据库操作,所以在修改之前需要检查目标数据记录是不是存在。由于绑定邮箱是不能够有重复的,所以还要检查这个准备写入的邮箱地址是不是被其他人使用了。最后就是通过update方法更新绑定邮箱字段了。修改密码功能也属于修改数据库操作,在修改之前也需...
介绍介绍今天我们来建立TFUMS的第一个模块用户模块user,然后在这个模块里面实现添加用户和用户身份认证两个基础功能。添加用户就是向user表插入一条数据,只不过插入之前需要通过查询语句检查用户名是否已经被其他人使用了,因为用户名userName是约束键,就是说用户名userName不能有重复的情况。用户身份认证最简单的做法就是根据...
介绍介绍上一阶段福哥带着大家完成了TFUMS的视图模板的制作,根据这些模板上面的功能回头看看我们的数据表的字段,会发现很多功能用到的字段我们并没有设计进来。这是因为福哥在计划开这门《做个用户管理系统》课程之初没有想过要做这么复杂的一套系统,或者说第一版不打算做这么多功能,所以导致最初设计的数据表的字段过于简陋,不够支持项目的功能。当然...
介绍介绍今天福哥来实现jQuery控件form对于表单验证的功能,说起表单验证大家可以想到的就是通过JQ获取表单项的值,然后判断表单项的值是否满足业务规则,如果不满足规则就要告知用户重新填写或重新选择表单项,其实这一系列的操作是有很多规则可循的。首先通过JQ获取表单项的值是第一步,也是可以集中处理的。其次根据业务规则判断表单项的值是否...
介绍介绍我们的TFUMS的网页模板基本上都做好了,但是大家都发现了我们的模板里面的表单是不能提交的,这是因为缺少驱动程序,这个驱动程序就是指Javascript代码。在用户填写完表单项之后,点击了提交按钮,浏览器会将用户填写的内容组织起来发送给指定的服务器地址去处理。不过现如今的表单提交不再使用浏览器去处理了,而是使用AJAX技术去实...
介绍介绍今天福哥会带着大家完成个人资料修改页面和用户头像设置页面的模板的设计。个人资料里的项目比较多一些,这里面的项目在数据库里的没有对应的字段用来保存数据,我们今后会一起不上来。用户头像设置里有一个图片,这个图片是可以点击的,点击后会打开文件选择对话框让用户选择一张图片,然后系统会将这个照片经过处理加工后保存起来作为用户的头像使用。...
介绍介绍今天福哥跟大家完成忘记密码页面和重置密码方式页面的模板的制作,这里面忘记密码和重置密码方式是一个操作流程的前两步,是连续的表里的设计。这种多步骤表单在的设计需要一些技巧的,我们要知道每一步在整个流程里的具体步骤位置,还要避免其中一步被直接访问到的问题。今天没有按上一课说的制作个人资料修改页面,因为我们在前面设计数据表的时候只涉...
介绍介绍今天我们赶一下进度,福哥打算一下子完成三个比较普通的页面的制作,修改密码页面、绑定邮箱页面、安全问题页面。这三个页面里使用的技术和登录页面基本一样,所以我们就可以快速地把这三个页面制作完成了。不多说了,直接上代码和截图,大家直接照着来就行了修改密码页面HTML<!-- passwd form ...
介绍介绍福哥今天本来打算多弄几个页面,后来在实现注册页面的服务协议这里花了点时间。在早以前注册页面的服务协议就是在表单里增加一个复选框一个指向服务协议具体内容的链接即可。可是福哥参考大厂的注册页面发现现在已经不这样处理了,都是弄一个遮罩,弹出一个对话框,在里面直接显示服务协议内容,只有同意了才能继续,否则自动转到首页去。福哥决定不能被...
介绍介绍前面我们以及学会了Bootstrap框架和jQuery库的基本使用方法,并且已经把这两个软件包整合到了我们的TFPHP框架里面,接下来我们就可以使用它们去制作用户管理系统的视图模板了。用户管理系统包含几个主页模板:1)用户信息表2)用户登录页面3)用户注册页面4)个人资料修改5)登录密码重置6)用户头像上传7)安全问题设置8)...
介绍介绍jQuery是一款非常流行的前端Javascript库,jQuery相比原生的Javascript要更加简单、更加直观。jQuery除了简化JS代码之外,还提供了一系列的常用属性的获取,常用功能的封装。不仅如此,jQuery还将JS的事件处理封装的更加友好。最重要的是使用jQuery编写JS代码可以忘记各个浏览器之间的差异导致...
介绍介绍Bootstrap是一个免费的web前端框架,它将HTML、CSS、Javascript结合到一起,制定了一系列的前端开发规则,使设计网页就像搭积木一样简单。今天我们就跟着福哥来学习一下Bootstrap框架的使用技巧,我们的TFPHP框架会将Bootstrap引入进来作为框架的前端模块的支持。安装安装Bootstrap很简单...
介绍介绍今天福哥要跟跟大家说一说标签的样式,上一课我们学习的标签的样子就是它们的“默认”样子,实话实说这简直太难看了!为了让它们看起来更漂亮,为了可以使用这些标签勾勒出互联网上我们看到的那些美轮美奂的网页,我们需要通过标签样式对它们进行换装、进行美化。标签样式格式使用标签样式的语法,示例:我们给一个div设置边框和背景颜色。<d...
介绍介绍福哥今天跟大家讲一讲HTML语言,讲到HTML语言就要说说标签,因为HTML语言又称为标签语言。HTML语言的基本结构就是一个一个的标签组成的,每个标签在网页上面会作为一个元素展示出来,再通过CSS样式表调整它们的样式,最终把漂亮的网页呈现到用户面前。标签格式标签格式为双尖角符号括起来一个英文单词,示例:<div>...
介绍介绍昨天我们已经对TFUMS系统的需求进行了分析,今天福哥带着大家把TFUMS的数据表设计一下。根据我们的需求分析结果可以知道,TFUMS只有一个模块就是用户模块,该模块只有一个模型就是用户模型。而且用户模型的属性和功能已经设计好了,现在我们就根据这些设计好的内容进行数据库的设计了。数据库数据库名称自然就是tfums了,这个没有什...
介绍介绍今天我们开始开发用户管理系统项目的第一课——需求分析。需求分析就是要得出用户管理系统都包括哪些模块,这些模块是由哪些模型组成的,这些模型又拥有哪些属性,这些模型同时具有哪些功能,最后这些模型之间的关系。首先用户管理系统的主体肯定是用户,那么用户模块是一定会有的了。而说到用户模块一定会有的模型就是用户模型。接着用户模型包括的属性...
介绍介绍今天福哥将带着大家完成日志对象TFLog的逻辑部分,这个TFLog对象的逻辑相对比较简单。首先通过系统配置设置日志保存路径、日志文件名称、日志格式等等。然后建立不同级别的专用方法用来保存这个级别的日志信息。最复杂的莫过于解析日志格式带入环境参数这一节了,要使用正则表达式进行模式匹配替换。最后就是通过写入文件的函数将解析过的日志...
介绍介绍福哥今天要给大家介绍的是web框架里面非常重要的一个部分——日志模块,在web项目开发过程中日志作为了解项目运行状况的工具是极其重要的。没有日志的话,系统运行出现问题我们无从下手去解决问题,只能盲猜或者重构,很显然我们不能这样做。有了日志我们就可以根据日志里记录的出现问题时候的“现场”情况进行问题的分析,从而快速找到诱使问题出...
介绍介绍福哥今天要给大家讲讲关于Elasticsearch的路由功能,什么是路由?路由功能是干什么用的呢?听福哥娓娓道来!首先,ES可以提供海量的数据的快速全文检索服务,这个“海量”的数据的量级远远不是一台服务器可以承受的了的,所以在大型搜索平台上使用ES实现搜索功能的话,必然会用到ES的集群。默认路由正常情况下,我们向ES集群(Cl...
介绍介绍福哥今天要带着大家学习一下Elasticsearch的别名alias的使用方法。ES的别名是什么的呢?有什么用途呢?大家都知道ES的索引的字段结构创建后就无法更改,要想增加字段或者删除字段就需要重新建立一个新的索引,很显然这样做势必要删除当前索引重新建立,这样做服务就会出现终端的情况。其实我们还可以这样做,建立一个新的索引,向...
介绍介绍福哥在搭建TFLinux的Dockerfile版本的环境的时候遇到了一个问题,虽然一些服务可以通过scale继续动态扩容,但是持久化的服务却不能这样操作,福哥想为服务设置分配的内存上限应该怎么办呢?CPUcpuset-cpus通过cpuset-cpus设置可以使用的CPU的核心,例如:一个4核心的CPU,就会有0、1、2、3四...
介绍介绍福哥前面教给大家使用Dockerfile搭建TFLinux的运行环境的方法了,但是这里面有一个问题,就是Docker认为容器的ENTRYPOINT运行起来了就表示容器启动了,容器的ENTRYPOINT启动的进程没有退出就表示容器是可用的,可实际情况下这个判断方法并不是那么靠谱。Docker在v1.12版本之后增加了health...
介绍介绍福哥在使用json.dumps方法将变量转成JSON格式的字符串的时候系统报出了如下错误:代码这是出问题的代码。import json myDict = [     35,     "福哥"...