6 一路洒满阳光XD

尚未进行身份认证

我要认证

暂无相关简介

等级
TA的排名 7w+

Yii 框架自动加载机制 - 为什么可以在代码中随时使用 Yii 类

在代码中随处可以使用 Yii 类,比如 Yii::log()、Yii::app()->end() ,而 Yii 类的引入使用到了 Yii 框架的自动引入机制。

2018-07-10 14:49:52

PHP执行耗时优化

一、耗时纪录方式 (待补充)二、耗时优化方法1、合理使用 fastcgi_finish_request() 函数根据 PHP 手册的说明:此函数冲刷(flush)所有响应的数据给客户端并结束请求。 这使得客户端结束连接后,需要大量时间运行的任务能够继续运行。也就是说,执行该函数后,客户端就会收到本次请求的结果,但是服务端会继续执行本次请求剩余的逻辑。这时即使执行一些耗时操作,客户...

2018-07-02 14:42:58

PHP语法特性使用

本文主要记录一些 PHP 区别于 Java 语法上一些特性和使用1. 动态添加属性应用场景:需要实例化对象,并为大量属性进行赋值时private function _productBiz($arrParams = []) { $biz = new ProductBusiness(); foreach ($arrParams as $property => $v...

2018-06-15 14:16:55

Yii 框架问题排查:无法打印日志,Yii::log() 方法无效

在开发过程中遇到非常奇怪的问题,Yii::log() 方法无效,即使发生异常时也没有任何日志输出。Yii 框架肯定不会有问题,根据经验一般问题都出现在目录权限或者框架配置上。先说结论,这次问题在于配置文件中 'preload' => array('log'), 一行被他人错误的注释掉了,解开注释后日志打印恢复正常。下面记录一下排查方法,顺便了解一下 Yii 框架日志记录原理: 首先...

2018-05-31 15:04:29

PHP 内存溢出错误解决,以及对 PHP 命令行和Web访问两种执行方式的理解

开发过程中,某个接口由于从数据库读取数据量过大,返回状态为 200,但无响应数据,PHP错误日志里有如下信息:PHP Fatal error: Allowed memory size of 134217728 bytes exhausted。很显然这是内存溢出(Out Of Memory)引发的错误,但是令我疑惑的是,Yii 框架的业务日志(application.log)里没有任何输出,页...

2018-05-30 22:01:46

PHP单引号和双引号编码的坑

双引号字符串:UTF-8 编码 单引号字符串:ASCII 编码gmp_init("12345", 10); // 会报错gmp_init('12345', 10); // 正常运行

2018-05-28 10:35:06

Yii框架源码阅读:错误处理与日志打印

(本文基于Yii 1.1版本)通常,在WebServer中会指定默认访问的入口文件,如 index.php ,在入口文件中会引入框架文件、应用配置等,在最后通过 Yii::createWebApplication($config)->run(); 运行。静态方法 Yii::createWebApplication 返回一个 CWebApplication 类的对象,CWebApplica...

2018-05-08 21:10:19

欢迎使用Markdown编辑器写博客

欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I...

2018-05-08 19:49:25

TabLayout改造计划

大多数的应用程序都采用了多Fragment+底部导航栏,Android提供了Fragment+ViewPager+TabLayout这套解决方案,但是TabLayout在使用中有两处局限:Tab无法溢出TabLayout无法设置中心按钮(一般中心按钮不用来切换Fragment,而是发帖、扫码等其他功能)第一处局限已有开源项目XTabLayout解决了这个问题,实现这种效果主要是把Cl

2017-12-23 11:43:38

MySQL在实际场景应用中的问题和思路

1、分表分为横向分表和纵向分表,横向分表直观来说即画一条水平线将大表分成若干个子表,每个子表的字段是相同的;纵向分表偏向于按照业务逻辑分表,每个子表有不同的字段。举例来说,现有用户表:t_user,记录注册登录信息(字段有username,password等),记录个人信息(字段有realname,idcard等),记录用户订单信息(字段有order,status等)。首先进行纵向分表,按照业务逻辑

2017-12-14 02:02:36

全新Linux服务器安装Nginx&PHP&MariaDB环境

1、Nginx环境安装最简单的方式——通过yum安装:yum install nginx这种方式的缺点是,安装完成后Nginx相关的文件并不会统一放置在一个目录中,而是按照RPM默认安装路径分散放置。RPM默认安装路径如下: 路径 说明 /etc 一些设置文件放置的目录如/etc/crontab /usr/bin 一些可执行文件

2017-11-11 02:16:42

Android APP开发记录

1、需要使用ViewPager但是不想使用v4支持包时遇到的问题:通常兼容低版本设备的做法是:ViewPager(v4) + Fragment(v4) + FragmentActivity(v4) + FragmentPagerAdapter(v4)。 构造FragmentPagerAdapter时使用getSupportFragmentManager也可以刚好获取到v4包下的FragmentMa

2017-02-01 21:32:37

PyCharm中开发Python Flask使用模板出现警告

在Flask Web开发-基于Python的Web应用开发实战中,导入或继承模板时,{% extends "base.html" %}、{% extends "bootstrap/base.html" %}、{% import "bootstrap/wtf.html" as wtf %}会显示黄色背景的警告。警告原因是解析不到模板的指向。虽然程序可以正常运行,消除警告的方法是手动为PyCharm指定

2017-01-16 09:48:36

按层次生成、遍历二叉树

对于二叉树一般是按深度生成和遍历,比如使用递归方法进行先序遍历、中序遍历、后序遍历。这次我们按层次生成和遍历二叉树。这种遍历方式关键在于需要使用一个队列保存“已处理该节点,但还没处理它的子节点”这样的节点。# Definition for singly-linked list.class BinTree(object): def __init__(self, x): sel

2016-08-08 08:50:46

Python学习笔记

1. str类型不能进行单字符操作,可以将str转为list,操作完成后将list转为strstr->list:>>> l = list('leetcode')>>> print(l)['l', 'e', 'e', 't', 'c', 'o', 'd', 'e']list->str:>>> s = ''.join(l)>>> print(s)leetcode>>> print(type(s

2016-07-28 14:09:19

爬楼梯(leetcode-70)

需要爬一个n阶楼梯来到达楼梯顶部,每次可以爬1阶也可以爬2阶。求共有多少种爬法?递归:到达n的“前一步”走法可以是:从n-1处爬1阶楼梯,或者从n-2处爬2阶楼梯。那么递归表达式即写成return climbStairs(n - 1) + climbStairs(n - 2),递归结束条件为n=1或n=2。递归方法会导致超时,爬楼梯的爬法数目符合斐波那契数列。(为什么?可参考:爬楼梯与斐波那契数

2016-07-27 23:42:18

判断是否为丑数(Ugly Number)(leetcode-263)

“丑数”是正数,且质数因子只包含2、3、5。(Ugly numbers are positive numbers whose prime factors only include 2, 3, 5。)关键在于:丑数一定是有限个2、3、5的乘积,因为所有的正整数都能分解成1与一个或多个素数的乘积。如果一个数是丑数,那么反复除以2、3、5后,一定会是1;如果一个数不是丑数,那么反复除以2、3、5后,一定还

2016-07-26 15:16:37

Python初级简易爬虫

最近在进行Android网络框架开发时,需要服务端进行测试,于是学习一下Python+Flask,也顺便做一做Python的爬虫。Python版本:Python 3.5项目结构:CoreSpider:控制爬虫的整体逻辑,负责调用其他模块HtmlParser:使用BeautifulSoup解析HTML页面,通过对HTML标签及其属性的选择,获取所有目标的名称和链接Item:每一个目标是一个I

2016-07-25 19:54:57

判断二叉树是否相等(leetcode-100)

递归依据:两棵树相同位置节点的子树也必须相等递归出口:两个节点全是None,相等;只有一个是None,不等;两个都不是None,但节点值不相等,不等。# Definition for a binary tree node.# class TreeNode(object):# def __init__(self, x):# self.val = x#

2016-07-20 11:49:43

翻转二叉树(leetcode-226)

递归得到叶子节点,从叶子节点开始依次到根节点进行翻转class Solution(object): @classmethod def invertTree(self, root): if root == None: return None else: root.left = Solution.inver

2016-07-20 00:05:15

查看更多

勋章 我的勋章
    暂无奖章