- 博客(44)
- 收藏
- 关注
原创 使用pygame实现音乐播放器(三)
接上一篇,现在我们播放器只有停止功能,没有播放功能,只能循环播放,下面我们实现一个停止/播放功能。 首先准备播放和停止按钮: 按钮的位置修改:STOPBUTTONPOS = pygame.Rect(203,290,73,68)由于这两个按钮的位置相同,当点击播放的时候显示停止按钮,点击停止的时候显示播放,这就有必要设置一个全局变量区分一下状态:IS_PLAY = True然后在主函数里加载按钮图片start = pygame.image.load("images
2021-03-01 10:05:27
737
原创 使用pygame实现音乐播放器(二)
前一篇文章中我们已经实现了图片显示和音乐的播放,接下来实现按钮点击。点击按钮需要通过事件处理实现。pygame是基于事件驱动的,也就是说如果没有任何事件,游戏会停下等待用户操作(事件),所以游戏里首先要有一个事件循环,不停检测用户的事件,否则程序会直接结束。在pygame中,用户按键、鼠标操作、窗口变化等都会产生事件,这些事件按照发生的先后顺序入队,我们可以在事件循环中,从事件队列中取出事件进行处理。 事件获取 我们可以使用以下方法从事件队列中获取事件,下面这些方法都返回事件对象。 方
2021-02-26 19:16:17
1254
2
原创 使用pygame实现音乐播放器(一)
本教程通过pygame实现一个简单的音乐播放器,涉及pygame中图片显示、画图、事件处理、音乐播放、进度条实现、定时器
2021-02-26 18:26:39
6713
2
原创 django分页实现
Django分页Django提供了一个类Paginator用于分页,但Paginator并不具体管理具体的页的处理,而是使用Page对象管理具体页面。下面我们以一个具体的例子来说明一下分页的实现文章模型:class Articles(models.Model): tid = models.AutoField(primary_key=True) cid = models.ForeignKey('Category', models.DO_NOTHING, db_column='ci
2021-02-23 22:24:20
679
1
原创 1 爬虫基本概念
目录一、什么是网络爬虫?1、数据采集2、调研3、刷流量和秒杀二、爬虫分类1.通用网络爬虫2.聚焦爬虫3.增量式爬虫三、如何编写爬虫1.获取页面代码2.解析页面提取想要的信息3.存储(持久化,mysql、mongodb)/ 压缩 / 签名4.数据清洗,归一化 ---> 数据分析 ---> 生成统计图表/报表四、爬虫必备技能1、python基础语法2、如何抓取页面3、解析内容4、采集动态html5、scrapy6、分布式
2021-02-20 22:05:51
490
转载 lnmp忘记mysql密码怎么办?
有的时候装好lnmp后,会忘记mysql密码,这时候就要通过修改mysql的配置文件,来跨过数据库的密码验证来实现mysql密码的重置,具体步骤如下:1、先确认lnmp的工作状态: 如果lnmp正在running,则先将其关闭 # /root/lnmp status # /root/lnmp stop2、进入mysql配置文件:
2017-06-14 19:45:59
1488
转载 php7新特性
1. ?? 运算符(NULL合并运算符) 把这个放在第一个说是因为我觉得它很有用。用法: $a = $_GET['a'] ?? 1;它相当于: <?PHP $a = isset($_GET['a']) ? $_GET['a'] : 1;我们知道三元运算符是可以这样用的: $a ?: 1但是这是建立在 $a已经定义了的前提上。1. ?? 运算符(NULL合并运算符)把这个放在
2017-06-13 07:55:17
335
转载 WAMP启动报错MSVCR100.dll丢失
最近电脑因为系统损坏无法启动,不得已重装系统,也让PHP程序员雷雪松下决心坚决的抛弃XP系统。这样一来跟上时代的步伐,二来也为Win7的市场占有率和消灭IE7以下浏览器做点贡献。,作为一个PHP程序员,装完系统的第一件事就是安装PHP的环境了,下面PHP程序员雷雪松就详细的和大家分享下如何解决WAMP启动报错”无法启动此程序,因为计算机中丢失 MSVCR110.dll。尝试重新安装该程序以解决
2017-06-07 08:05:36
821
转载 PHP常用函数
(一)字符串函数1.str_word_count:统计单词个数2.count_chars:得到字符串里面字符的有关情况3.str_len:得到字符串长度,就是有多少个字符4.substr_count:统计有多少个字符串,比如统计is,this is PHP里面就会出现2个 is5.strpos:定义字符串出现的首次位置(大小写不敏感 IS=is)6.
2017-06-07 07:45:24
435
转载 php进阶之数据库设计/ 选择合适的表引擎
什么是表引擎我们看到的表结构,它的本质是数据在硬盘中的存储。根据不同的特性,数据的存储方式不同。比如:对于每一条数据,在硬盘中它是怎么存储的,怎么压缩的,怎么建立索引和优化的,它的读取和写入是怎么实现的。这些完整的一条路径,我们称之为表引擎。选择的依据选择的依据,是我们的需求,我们的需求很大程度上决定我们的选择。有的时候,我们的习惯决策着这个过程。这里,我们关注一下方面:并发性,同
2017-06-02 21:46:30
415
转载 学习PHP注意事项
1 多阅读手册和源代码没什么比阅读手册更值得强调的事了–仅仅通过阅读手册你就可以学习到很多东西,特别是很多有关于字符串和数组的函数。就在这些函数里面包括许多有用的功能,如果你仔细阅读手册,你会经常发现在以往的项目开发过程中,很多时候你在“重复发明轮子”,而实际上你只需要一个核心函数就可以完成相应的功能。手册是你的朋友。另外,现在有很多使用PHP开发的开源程序。为什么不去学习和借鉴呢?下载一
2017-06-02 21:43:34
622
转载 rel、href、src、url的区别
我们在日常教学中经常会提到rel、href、src、url这几个单词。学生在刚接触的时候会经常搞不清楚该使用哪个。那么这四个单词到底是什么意思呢?我们先来了解一下这几个单词是怎么定义的吧。1.url百度百科上是这样解释的:统一资源定位符是对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示,是互联网上标准资源的地址。互联网上的每个文件都有一个唯一的URL,它包含的信息指出文件
2017-06-02 21:03:21
15483
转载 解析提高PHP执行效率的50个技巧
解析提高PHP执行效率的50个技巧 1、用单引号代替双引号来包含字符串,这样做会更快一些。因为会在双引号包围的字符串中搜寻变量, 单引号则不会,注意:只有echo能这么做,它是一种可以把多个字符串当作参数的”函数”(译注:PHP手册中说echo是语言结构,不是真正的函数,故 把函数加上了双引号)。2、如果能将类的方法定义成static,就尽量定义成static,它的速度会提升将近4
2017-06-02 20:55:47
596
原创 Thinkphp5使用阿里大于短信验证
现在各种平台登录验证很多时候会使用短信验证,快捷安全,有很多平台提供短信验证服务,相比较而言阿里大于价格比较便宜,快捷,所以在在千锋日常的php教学中多以此为例来说明短信验证的使用。下面我们在tp5中说明如何使用阿里大于进行短信验证。一、首先到阿里大于平台上注册,创建应用阿里大于地址为:https://www.alidayu.com/,点击免费入住,然后注册,注册完毕后,进入管理中心。如下
2017-06-01 22:50:54
6899
转载 适配器模式
适配器模式,即根据客户端需要,将某个类的接口转换成特定样式的接口,以解决类之间的兼容问题。如果我们的代码依赖一些外部的API,或者依赖一些可能会经常更改的类,那么应该考虑用适配器模式。下面我们以集成支付宝支付功能为例。1 问题假设支付宝支付类的功能如下:/** * 支付宝支付类 */class Alipay{ public function se
2017-05-24 15:32:12
287
转载 单例模式
单例模式,正如其名,允许我们创建一个而且只能创建一个对象的类。这在整个系统的协同工作中非常有用,特别明确了只需一个类对象的时候。那么,为什么要实现这么奇怪的类,只实例化一次?在很多场景下会用到,如:配置类、Session类、Database类、Cache类、File类等等。这些只需要实例化一次,就可以在应用全局中使用。本文我们以数据库类为例。1 问题
2017-05-24 15:14:21
237
转载 简单工厂模式(三)
工厂模式,就是负责生成其他对象的类或方法。1 类实现比如,我们有一些类,它们都继承自交通工具类:interface Vehicle{ public function drive();}class Car implements Vehicle{ public function drive() { echo '汽车靠四个轮子滚动行走
2017-05-24 14:50:41
276
转载 设计原则(二)
设计模式有六大原则,这些原则是经过代码大神们不断总结的规律,目的是提高代码的复用性,降低耦合。1 开闭原则1988年,勃兰特·梅耶(Bertrand Meyer)在他的著作《面向对象软件构造(Object Oriented Software Construction)》中提出了开闭原则(Open Close Principle),它的原文是这样:“Software entities
2017-05-24 14:46:38
241
转载 UML类图详解
UML类图是一种结构图,用于描述一个系统的静态结构。类图以反映类结构和类之间关系为目的,用以描述软件系统的结构,是一种静态建模方法。类图中的类,与面向对象语言中的类的概念是对应的。1 类结构在类的UML图中,使用长方形描述一个类的主要构成,长方形垂直地分为三层,以此放置类的名称、属性和方法。其中,一般类的类名用正常字体粗体表示,如上图;抽象类名用斜体字粗体,
2017-05-24 12:22:09
874
转载 设计模式基础(一)
设计模式的宗旨就是:重用。在面向对象中,类是用于生成对象的代码模版,而设计模式是用于解决共性问题的代码模版。遵循这样的模板,我们可以设快速地设计出优秀的代码。注意,设计模式只是模板,不是具体的代码。它是为了代码复用,增加可维护性。在学习设计模式的时候,有几个概念让我很难接受,这可能是从过程式编程转到面向对象编程的禁锢。假设有这样一个对象:clas
2017-05-24 12:19:04
303
转载 PHP设计模式教程
面向对象是PHP5之后增加的功能,是PHP走向现代语言的一个标志。在过程式设计时代,PHP以学习成本低、入门快的特点赢得很多WEB开发者的青睐,但同时也限制了PHP的发展。借鉴Java和C++之后的PHP语言,在增加面向对象特性的同时,还保持着简便易懂的特点。但是,如果只是使用了PHP的继承特性,并不是面向对象的设计,因为这并不能提高代码的重用性和灵活性。
2017-05-24 12:16:30
332
转载 PHP cURL库函数抓取页面内容
cURL 是一个利用URL语法规定来传输文件和数据的工具,支持很多协议和选项,如HTTP、FTP、TELNET等,能提供 URL 请求相关的各种细节信息。最爽的是,PHP 也支持 cURL 库。本文将介绍 cURL 的一些高级特性,以及在 PHP 中如何运用它。1 为什么要用cURL?是的,我们可以通过其他办法获取网页内容。大多数时候,我因为想偷懒,都直接用简单的 PH
2017-05-24 12:10:00
11513
转载 手把手编写自己的PHP MVC框架实例教程
1 什么是MVCMVC模式(Model-View-Controller)是软件工程中的一种软件架构模式。MVC把软件系统分为三个基本部分:模型(Model)、视图(View)和控制器(Controller)。PHP中MVC模式也称Web MVC,从上世纪70年代进化而来。MVC的目的是实现一种动态的程序设计,便于后续对程序的修改和扩展简化,并且使程序某一部分的重复利
2017-05-24 12:02:15
11318
4
转载 MYSQLl防注入
1.简单sql防注入所谓SQL注入式攻击,就是攻击者把SQL命令插入到Web表单的输入域或页面请求的查询字符串,欺骗服务器执行恶意的SQL命令。在某些表单中,用户输入的内容直接用来构造(或者影响)动态SQL命令,或作为存储过程的输入参数,这类表单特别容易受到SQL注入式攻击。magic_quotes_gpc的一点认识 以及addslashes addcslashes区别:
2017-05-24 11:50:55
311
转载 面向对象设计6大原则
OOP基本上有6大原则,而实际上都是互补的,也就是说一些原则需要利用另一些原则来实现自己。6大原则如下:1) Open-Close Principle(OCP),开-闭原则,讲的是设计要对扩展有好的支持,而对修改要严格限制。这是最重要也是最为抽象的原则,基本上我们所说的Reusable Software既是基于此原则而开发的。其他的原则也是对它的实现提供了路径。2) Lisko
2017-05-23 23:15:10
419
转载 php-人员权限管理(RBAC)
php-人员权限管理(RBAC)权限管理可以想做vip的功能,普通用户和vip用户的功能是不一样的,大致会用到五张表:用户表、角色表、功能表,还有他们之间互相关联的表:用户与角色表、角色与功能表我用到的五张表如下: 一.首先写的是管理员页面1.用下拉列表显示用户名
2017-05-23 23:10:33
13108
4
转载 每天laravel[002]-自动加载函数流程
当需要开启自动加载的。一般情况下,都是注册自动处理函数!第一步:首先定义 开启时间define('LARAVEL_START', microtime(true));第二步:包含系统 框架内核心 函数 ,我们来看看 核心函数 是怎么 实现自动加载的呢?require __DIR__.'/../vendor/autoload.php';第三步:一般对于这种自动加载的文件,都会有一个
2017-05-23 23:03:58
544
转载 每天laravel
第一天:开始学习laravel 框架 首先 了解 laravel的运行流程第一步:包含自动加载文件require __DIR__.'/../bootstrap/autoload.php';composer 提供了一个方便、自动的生成类加载,对于我们的应用。我们需要利用它!我们简单的包含这个文件在我们的脚本文件中,这样我们就不会担心后面使用过程中需要手动加载了!这种感觉让我们很放松!
2017-05-23 22:59:21
475
转载 linux启动流程简介
我们都知道,由于linux的稳定性,通常被作为服务器系统,要想称为一个PHP的高手,linux是必修之课。那么linux系统从开机到启动,中间到底都发生了什么?本文来简单探讨一下中间的神秘过程。1、 BIOS加电自检 BIOS是英文"Basic Input Output System"的缩略词 其实,它是一组固化到计算机内主板上一个ROM芯片上的程序。 计算机会首先加载BIOS信
2017-05-23 22:52:38
1216
转载 五环之歌之PHP分页
根据以往的经验,对于很多初学者,分页功能实现起来还是有一定的困难的,为了帮大家解决这样的问题:特此献上五环之歌。从此分页功能便是如小岳岳唱歌一样简练,漂亮,精干。哈哈,不闲扯了。正式进入千锋PHP五环之歌之步骤实现分页功能。第一环:计算总的记录数—即总共要显示多少条数据第二环: 每页显示的条数—即一般都是我们程序媛来规定每页显示几条数据。第三环: 计算总页数—即根据以上两个条件便可求出
2017-05-23 22:48:39
229
转载 超好用的一个JQUERY分页器-jpaginate
jpaginate是一个自带滑动动画效果的jQuery分页插件,用户可以通过单击或只是悬停在箭头上的使页码滑动显示。你可以用下面的方式调用插件:$(elementID).paginate() 您可以通过一下属性来配置插件:count:页面总数start:默认选中页码display:可见页码数量border:边框(true/false)bord
2017-05-23 22:45:52
1948
转载 最好用的mysql密码忘记的解决方法
在windows下:打开命令行窗口,停止mysql服务:Net stop mysql启动mysql,一般到mysql的安装路径,找到 mysqld-nt.exe (或mysqld.exe)执行:mysqld-nt (或mysqld.exe) –skip-grant-tables 当前窗口将会停止。另外打开一个命令行窗口,执行mysql 如果提示没有这个命令,先进入MYSQL
2017-05-23 22:39:06
289
转载 nginx与php-fpm 504 Gateway Time-out 排查与解决案例
很多人都都可能遇到过 504 Gateway Time-out。有时候会让人一头雾水。解决方法:1.通过百度可以很多人的说法,调整 nginx配置或者php-fpm配置,配置大家都可以百度,在这边就不多说。但是很多都尝试了没有什么软用。2.尝试过上面的方法还是回到本质上是不是整站都是504.如果不是,我建议你打开php-fpm 慢日志来查看对应的页面请求与响应慢是由哪个方法或者操作造成
2017-05-23 22:36:04
4906
转载 php session redis 配置
相信很多人用过数据库,Memcache以及文件存储SESSION,那么Rdis可以存储SESSION吗?答案是肯定的。具体环境:一台apache+php的服务器(yum安装remi源及配置 httpd-2.2.15 php-5.4.45)一台redis服务器(yum安装remi源及配置 redis-3.2.6)保证apache服务器可以访问redis服务器的6379端口具体步骤
2017-05-23 13:08:49
440
转载 Nginx+PHP 配置
假设我们用PHP实现了一个前端控制器,或者直白点说就是统一入口:把PHP请求都发送到同一个文件上,然后在此文件里通过解析「REQUEST_URI」实现路由。此时很多教程会教大家这样配置Nginx+PHP:server { listen 80; server_name foo.com; root /path; location / {
2017-05-23 12:18:26
269
转载 php header函数常见用途
header函数在php中是发送一些头部信息的, 我们可以直接使用它来做301跳转等,下面我来总结关于header函数用法与一些常用见问题解决方法。 发送一个原始 HTTP 标头[Http Header]到客户端。标头 (header) 是服务器以 HTTP 协义传 HTML 资料到浏览器前所送出的字串,在标头与 HTML 文件之间尚需空一行分隔. 1.重定向. Heade
2017-05-23 12:15:14
383
转载 PHP魔术方法汇总
魔术方法是PHP面向对象中特有的特性。它们在特定的情况下被触发,都是以双下划线开头,在此做了下总结,向大家分享下1.__construct,__destruct__constuct构建对象的时被调用;__destruct明确销毁对象或脚本结束时被调用;2.__get,__set__set当给不可访问或不存在属性赋值时被调用__get读取不可访问或不存在属性时
2017-05-23 12:13:09
307
转载 ajax 和jsonp 不是一码事 细读详解
由于Sencha Touch 2这种开发模式的特性,基本决定了它原生的数据交互行为几乎只能通过AJAX来实现。当然了,通过调用强大的PhoneGap插件然后打包,你可以实现100%的Socket通讯和本地数据库功能,又或者通过HTML5的WebSocket也可以实现与服务器的通讯和服务端推功能,但这两种方式都有其局限性,前者需要PhoneGap支持,后者要求用户设备必须支持WebSocket,因此
2017-05-23 12:09:17
251
转载 php常见术语
什么是PHP? php是Hypertext Preprocessor的缩写,php是一种内嵌 HTML的脚本语言。PHP的独特语法混合了c,java和perl及PHP式的新语法。这门语言的的目标是让网页开发人员快速的写出动态的网页。 什么是PHPer? PHP programmer,指编写PHP的程序员 什么是模式? 模式,即pattern。其实就是解决某一类问
2017-05-23 12:06:01
1910
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人