Larave Error when upgrading to 5.2 – ‘Class log does not exist’

Laravel项目升级到5.2突然提示以下错误

PHP Fatal error: Uncaught exception ‘ReflectionException’ with message ‘Class log does not exist’ in /Users/freek/dev/laravel/vendor/laravel/framework/src/Illuminate/Container/Container.php:776
Stack trace:
#0 /Users/freek/dev/laravel/vendor/laravel/framework/src/Illuminate/Container/Container.php(776): ReflectionClass->__construct(‘log’)
#1 /Users/freek/dev/laravel/vendor/laravel/framework/src/Illuminate/Container/Container.php(656): Illuminate\Container\Container->build(‘log’, Array)
#2 /Users/freek/dev/laravel/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(644): Illuminate\Container\Container->make(‘log’, Array)
#3 /Users/freek/dev/laravel/vendor/laravel/framework/src/Illuminate/Container/Container.php(887): Illuminate\Foundation\Application->make(‘Psr\\Log\\LoggerI…’)

在网上也找了很多种方法,最终的导致问题的原因是:evn文件中的变量设置出现了空格

比如API_NAME=TEST API 改为API_NAME=TESTAPI 或者 API_NAME=”TEST API”即可

keystore文件找回密码的方法

keystore文件忘记密码的话,要不就是重新生成重新打包,要不就是暴力破解,如果你记忆到部分密码的话,还是建议使用jar包破译一下。

Google下载地址:

https://drive.google.com/file/d/0B_Rw7kNjv3BATldrLXMwcVRud2c/edit?usp=sharing

网盘下载地址:

http://pan.baidu.com/s/1eSayYlG

该jar包支持三种破译方法

There are 3 Methods to recover your keystore password:
2 – Simply Bruteforce (简单的暴力破解)
3 – Dictionary Attack (字典破解)
4 – Smart Wordlist Attack (智能单词列表破解)

我使用的是字典破解,由于字典中匹配到密码中的部分,所以分分钟就破译出来了

论可持续性

上周末去参加了一个跑步的新人训练营,在课堂上听了领队栋哥的讲课中,提到了一个关于“可持续”的话题,觉得还是有些道理,加上我自己的一些思考和大家一起探讨一下。

可持续性在我们日常生活经常被提起一般都是一些xx的发展战略或者社会经济趋势,他描述的一种可以长久维持的过程或状态,所以放眼到微观的个体时,我们可以简单的描述为某个人正在处于的状态或者正在做的事情。

来到了我们平台的朋友们,多多少少都在最初之时设立自己的计划和目标,本意是希望是希望借助我们的app或者平台来激励和督促自己,以便尽量地实现目标,最终保持在一种状态(例如每日早起的状态,每日跑步的状态等等),然而最终根据我们的数据结果分析,90%的人都能在一周内完成打卡或者签到,但是第二周这个数值就可能会变成50%不到,到了第三周这个数据会下降到10%。当然,影响这个数据的当然还有其他因素,比如我们的app功能上不够完善等等,但即使脱离app,现实生活中也是类似的情形。

那么,到底是什么原因导致这样的问题产生的呢?或者说是什么因素阻碍着我们的可持续性呢?

我觉得最可能是以下2点:

1、痛苦

事实上,我们大部分做的事情,出了改掉一些不好的习惯(戒酒,戒烟)之类的,你的身体或者精神上是没有承载着太多的折磨,有人或许说早起真的好痛苦,那么冷的天气,那么早的时间,真的太辛苦了,但对于真正形成早起习惯的人来说,早起是一件极其快乐的事情,他们可以在早上的时间内安排自己一天的学习,生活,也可以在早晨运动,他们在享受早起,所以也许,即使你每天可以被闹钟准点叫醒,但是你不会安排和利用这样的时间,或者找寻到快乐,你很难长久坚持下去。

2、冲动

说到冲动,其实这个想象太正常了,也许就在某日,我们看到自己的好友在朋友圈晒出了自己跑步5公里的分享图片,一时感觉正能量爆棚,平时他都文文弱弱,我这身体比他壮硕,肯定比他跑的更远,于是内心不甘,当天晚上就刷了10公里,引来无数的点赞,再被虚荣心促使的几天内,你也许还可以坚持跑下来,但是这个时候你的腿或许就带来了不适应的感觉,你感觉自己的膝盖疼,你感觉自己的跟腱疼。在你不以为然的时候,你的身体已经产生了损害,或许在接下来的日子,你可能就告别了跑步,更不要谈什么可持续性了。

 

所以总结下来,当你想让一件事情能够可持续地进行时候,首先请先搞清楚你做这件事情的目的是什么,当清楚目标后,再考虑指定什么的计划,根据自己的情况循序渐进地来进行,最重要你要能在整个过程找寻和享受更多这件事情给自己带来的变化和欢乐,你越享受这件事情,这件事情就会变的越可持续性。

Laravel更改密码加密方式

laravel 默认用的登录密码加密方式hash,但我以前的老项目是md5(password+salt)的方式,为了兼容,怎么修改默认的加密的方式呢?

1、修改/vender/laravel/framework/src/illuminate/Auth下的EloquentUserProvider.php文件,将validateCredentials修改为:

2、修改统一目录下的UserInterface.php文件,添加方法

 

 

3、在/app/models/User.php下添加这个方法:

Cocos2dx的音效播放数量设置问题

对于同一个游戏场景内,可能会出现多个音效同时播放,这个时候如果太多的话就会出现失音的现象,对于这个问题,我们可以修改默认的设置,提供同时播放音效的数量,

Android下修改org/cocos2dx/lib里的Cocos2dxSound.java文件,改大这个数值即可

private static final int MAX_SIMULTANEOUS_STREAMS_DEFAULT = 50;

Centos下安装Nginx提示No package nginx available.

CentOS下使用yum安装Nginx提示:

No package nginx available.

解决方法:

导入epel,centos6下导入

安装完后可能还会提示:

Error: Cannot retrieve metalink for repository: epel. Please verify its path and try again

修改epel.repo文件

将[epel] mirrorlist 这行注释掉 baseurl 取消掉注释,保存即可。

Theme.Nodisplay造成的ANR问题

情况是这样的:

A activity 启动 B activity(Theme.nodisplay) 最终启动C activity

从C开始按返回键到B,再按返回键A,再多按几次的话就会出现anr报错。

为此我特定在每个activity里加了onDestory onResume onStop的日志打印

最终发现,B activity 始终没有调用onDestory的方法,从C到B只是调用了onResume,原来问题就出在这里,A按返回后已经销毁了,但是调用的B还没有销毁,所以造成了问题。

解决办法,就是需要自动回到B的时候自己监听返回键,根据需要手动调用finish()方法结束此activity即可。

Android下使用setBackground大小问题

最近做贝壳支付的时候,需要设计一个右侧带复选框的listview,而且这个复选框是使用图片自定义的,整个布局使用的是代码布局。

最开始我使用的是setButtonDrawable方法来加载图片,不过在一些机型比如锤子,金立上面显示的复选框都不正常,复选框很小

后来找到了替换方法setBackgroupdDrawable,API16废弃了这个方法,替代方法是setBackground

核心代码:

这里会看到,我这里的图片是从assets 目录加载的,这里我们可以通过的bitmap的createScaledBitmap方法对取出来的图片指定尺寸

核心代码

Ignoring InnerClasses attribute for an anonymous inner class

项目里加入了一些第三方的jar包和sdk,今天在编译的时候提示“Ignoring InnerClasses attribute for an anonymous inner class”

网上查了一下原因是debug证书过期导致的,具体解决办法比较简单

进入/Users/jasonz/.android目录,删除debug.keystore文件

重新编译工程即可。