我在使用自己以前高中时用的小米3调试android应用时,总是出现下图中的情况

issue.png

因为一直知道小米的尿性,刷机,root都要开发者选项里点8秒允许

所以一开始就把 USB调试,USB安装还有FASTBOOT刷机都开启了,然而还是出现上面的情况

经过不存在的网站搜索得知,原来是开发者选项里的 MIUI优化 在作祟(自己心中一万头CNM在奔腾)

解决方法

开发者选项 -> MIUI优化 (关闭掉)

即可解决无法安装的问题

php里面,我曾经也一直认为是2个字节,在学习的过程中,根本没有对字符编码这个玩意进行过了解,在前段时间也看到了其它人说是2个字节,但是使用strlen()或mb_strlen()检查一个汉字所占的大小,是3位!!!

如果这个时候使用substr()或mb_substr()切割汉字的话必定会出现乱码,这个时候你就需要了解到unicode了

      • -

英文字母:

  • 编码: GB2312, 字节数: 1
  • 编码: GBK, 字节数: 1
  • 编码: ISO-8859-1, 字节数: 1
  • 编码: UTF-8, 字节数: 1
  • 编码: UTF-16, 字节数: 4

中文汉字:

  • 编码: GB2312, 字节数: 2
  • 编码: GBK, 字节数: 2
  • 编码: ISO-8859-1, 字节数: 1
  • 编码: UTF-8, 字节数: 3
  • 编码: UTF-16, 字节数: 4
      • -

面试出个字符编码的题完全可以呀,感觉面试难度又提高了一截。

unicode这个业界标准好呀,基本上现在所使用的环境中都存在unicode,把世界上大部分的语言文字整理编码出来,电脑可以更简单的呈现和处理文字,大家不用烦恼自己看到的是乱码而厌烦了,文字以原始的方式显示

最新版本的unicode是2017年6月20号10.0.0

      • -
        参考资料:
  1. http://www.unicode.org
  2. http://www.unicode.org/standard/WhatIsUnicode.html
  3. https://zh.wikipedia.org/wiki/Unicode

正式版v1.2发布,新增掉线重连(服务器挂了那是没有办法的?‍♂️)

注: 需要安装swoole扩展

在公司闲着了好长时间,现在就是没事在找事做,真鸡儿刺激

用了两天搞了这个(抄)?QQ聊天应用

做起来难度不大,利用现有的swoole扩展可以快速构建出一个开袋即食的IM应用,自己所需要做的是相应的逻辑处理与权限管理

我在这里还使用了identicon来做随机头像,想着大家进来还打个鸡毛的账号呀,直接名字搞起,飞机火箭刷起来

ps:不清楚identicon的可以看看identicon wiki

      • -

如果你非要说和QQ一样,我能怎么办,我tm就是抄的QQ #滑稽

聊天室首页

添加可耐的颜表情(●'◡'●)让聊天更具趣味性(我才不是死肥宅)

添加可耐的颜表情(●'◡'●)

还特意为大(hao)佬(shi)们(zhe)人性化的添加了斗图模式,看我是不是很爱你们

斗图莫斯

      • -

这是一个最基础的聊天室程序了,识别性,趣味性,都有具备,具体的怎么开发看你们的了,我把项目地址甩在下面

演示地址: http://chat.flxxyz.com

github: https://github.com/flxxyz/php-chat-websocket

这个星期正好双休,借着下午的时间去电影院看了《二十二》,我其实是非常想爆粗说日本操你妈个逼,但是不行,两国的人民都不会希望战争的再一次洗礼摧残,我只求世界和平。

不知是大家的无知还是无识,现在没有多少人,加我在一起一只手就数的来了,“你们”不想看的话,我来帮你们看吧。

或许我该庆幸正是没有多少人,才有非常不错的观影体验,能够潜下心,细细观看当中的动作,言语。

当时我也不知道是播放到什么时候了,出现了一位老人,老人名叫李爱莲,回想整篇电影,她是现在最乐观,开心的一位老人了。(有兴趣可以去看看纪录片《三十二》,韦绍兰老人也是一位乐观阳光的老人,不幸的是在电影放映前早已抱憾离世)

她讲述她当时的环境与所受到的遭遇,也是说的最清楚的一位,每当讲述到关进“那所房子”的事情,所有的老人都是难以掩饰自己的情绪。

片子是以我们日常的视角来拍摄的老奶奶们,大概是要我们理解,她们就是普普通通的一个老人,和我们的爷爷奶奶爸爸妈妈一样,都是一个在我们身边生活的一个人!虽然她们和我们一样,但是在那个时代,在她们的身上发生了一些不被我们了解的事情。

扒开了她们的伤口,我们看了个究竟,陪着一起她们哭,一起笑。她们一个人受到巨大且沉痛的伤害,还能在世间如此生活,是有多么大的勇气啊,都是勇敢的战士!

在电影院看的时候真的是泪滴就挂在眼睛上打转,几位老人简单的话语,却有着强大的力量,希望老人开心的度过晚年生活,欠你的一声道歉我们后人为你取回。

愿世上再无战争,愿世间再无苦难。

愿世界和平。

      • -

你怎么自己来了?你的孩子呢? —— 李爱莲老人

我宁愿自己死,也不跟你说。 —— 毛银梅老人

这世界真好,吃野东西都要留出这条命来看。 —— 韦绍兰老人

希望中国和日本要一直友好,不要再打仗,会有很多人死去的。 —— 日本友人米田麻衣

我只能选择平静,机器摆在门口,远远的深情的看她们一眼,我觉得这就足够了。 -- 导演郭柯

记录是为了“记住”,不怨才能“不忘”

以前的接口应该都不能用了,毕竟是个单文件写出来的,也没有用nginx做伪静态,现在取消了文件后缀是必要的,为了之后的功能扩展不得已而为之。

v2说明

重构使用的CI框架,算是学习PHP第一次接触的框架了,重新上手写写小项目还是挺容易的,2.0版本的url的书写有些是按照RESTsulAPI的规范书写的(强迫症是极好的),以后的接口变动基本就没变化了,相应的只是参数的新增与功能添加了。

对于现在的接口规范来说,开始我是倾向于在 主域下的一级目录分发接口的 api.flxxyz.com/api/*

实行之后发现在 Api.php 中会过于庞大,而且接口所调用的方法都是不一致的,都是独有的,因为这些特性才变成现在的样子

      • -
        相应接口:
    • api.flxxyz.com/hitokoto/api
    • api.flxxyz.com/qq/api
    • api.flxxyz.com/bing/api
    • api.flxxyz.com/miaopai/api
    • api.flxxyz.com/ip/api
      • -

喜欢的可以给我个star哟~

项目地址: https://github.com/flxxyz/api.flxxyz.com

到当前的 Homestead 目录下,打开 Homestead.yml ,然后你懂的

site: 下,按一下格式添加站点

- map: homestead.app           // 站点域名
  to: /home/vagrant/Code/Laravel/public    //站点目录

有需要的话,可以在 folders: 下,添加共享目录,方便本地编辑,虚拟机实时读取了

- map: E:\Work\virtualBox\homestead\site   // windows用户是用这种路径
  to: /home/vagrant/Code/site              // 开启共享目录之后,虚拟机会存在的目录

拜拜ヾ(•ω•`)o

Vue.component(组件名, {
    template: 模板ID, // 使用script与template标签均可实现
    props: [传递数据参数],
    methods: {
        方法名: function () {}
    }
});

单文件可以参考上篇

我是使用import导入没有问题,用webpack生成的时候,发现用Vue.component()注册会报错,检查发现解决方法,删除new里的components
?

import xyz from './components/head.vue';

使用全局注册组件时,须将new中的components删除

Vue.component('xyz ', require('./components/head.vue'));

new Vue({
    el: '#app'
    //components: { xyz }
})

近期在学习laravel的使用

以前听说过,当时自己不知道为什么对thinkphp着魔,上手停不下,中文文档写的很好让国人理解,我也就是这其中的国人,那个时候thinkphp5还在测试阶段,有点小关注,发现与原来的使用差距有点大,没有继续看了(因为我懒吧?)

使用thinkphp之前,还有段时间学习过CodeIgniter俗称CI,是真的很小巧,小巧到很尴尬的境地,具体

当然,由于它的小巧再实现一些微型项目时,用用还是挺方便的,使用要求也没什么,基本就是上传即可开始使用。

因为我懒,于是就有放弃CI使用thinkphp的历史痕迹了

最近接触了laravel大家说的优雅是有其它的道理的

  1. 使用composer来管理依赖,抛弃手动require
  2. 结合php命令行操作
  3. 清晰有条理的路由管理
  4. 目录命名用意一目了然
  5. Eloquent ORM
  6. 查询构造器
  7. 结合bootstrap做成小demo非常快速(5.4修改源码可以使用bootstrap4相关)
  8. 目前我使用后的特性,还有许多我还没接触到的特性...

就在这些学习的过程中,感觉自己是可以有一定能力开发的

但是!!!深刻的感受到自己的基础知识脆弱不堪,理论体系非常不完善,缺口巨大

如:自己以前文章的内容有一长串字符串的出现,由于其中夹杂着中英文,做出的截取不能使用substr(),而要使用 mb_substr(),但是这里的bug是中文是3个字符(使用的utf-8编码),英文只占1个字符,对中英文混合输入的bug必然是会出现乱码的。

"这是一段abc字符串123大家壕"

使用 strlen() 与 mb_strlen() 结果

echo strlen("这是一段abc字符串123大家壕");
// 输出  36
echo mb_strlen("这是一段abc字符串123大家壕");
// 输出  16

使用 mb_substr() 截取前6个字符

echo mb_substr("这是一段abc字符串123大家壕", 0, 6);

当然你会说,这个没有问题好嘛,substr() 就是把每个字*3了

是的,没有错,但是这一切的前提下,全部是utf-8的编码集

echo mb_substr("这是一段abc字符串123大家壕", 0, 6, "gbk");
// 这是一��

这个小例子的实现让我简单的思考了一下接下来的学习进展,放慢脚步,深入的学习语言现有所带来的特性,充分利用自带功能,何必在自造轮子(我想我造出来的轮子应该是没有自带的好用的)

潜心,静气,思考

--------------------- 分割线 ---------------------------

另外 mb_strcut() 对比 mb_substr() 还是感觉好用点,精确到字节操作