网络时代的认知惰性 置顶! 有更新!

网络时代的认知惰性:对互联网的依赖本身是一种成瘾。 现在走在任何一个地方,都能看到“低头族”——两眼无法从手机屏幕上挪开——这些人中有玩游戏的,有聊天的,有刷微博的,有混朋友圈的,要说这专注的劲头,的确值得欣赏。 注意力是互联网经济的一个核心要素,人们依赖网络,便捷只是原因之一,更重要的是网络上的信息能够把注意力牢牢吸引住。

More...

502 Bad Gateway 什么意思,如何解决? 有更新!

  ,

浏览器访问网站是的时候出现 "Bad Gateway" 错误是什么原因导致的?我们又该如何快速的解决呢?

More...

关于我 有更新!

 
More...

PHP 没有块级作用域

 

<?php $arr = range(0, 9); foreach ($arr as $k => $v) { if ($v/2 == 0) { $flag = true; } else if ($v > 6) { $flag = true; } if (isset($flag)) { // do something echo "I Love PHP!\n"; } } 以上代码除了 $arr 中的值为偶数和大于 6 时会输出”I Love PHP!" ,其它情况也会输出,一开始,我是有点困惑的,搞了好些时间才搞明白。 简单分析下解决的过程:这个代码片段是在最近排查系统的 bug 是看到的,流程做了些简化。代码是我本人写的😓,系统在最开始并没有出现问题,上线一段时候后,就出 bug 了。有的人可能一眼就看出来问题在哪了,但是如果你对 PHP 的变量的作用域不太了解的话,就很容易栽进这坑里。 PHP 有函数作用域,但没有像 c/c++、java 等语言的块及作用域。例如在 c++ 里: for (int i = 0; i < 10; i++) { cout &lt....

More...

Redis Snippet

  ,

基本数据类型 字符串 string、列表 list、无序集合 set、有序集合 zset、散列表 hash。 支持的特性 将内存中的数据持久化到硬盘 使用复制来扩展读性能 使用分片来扩展写性能 键的过期时间 对于散列表这种容器,只能为整个键设置过期时间(整个散列表),而不能为键里面的单个元素设置过期时间。

More...

MySQL 慢查询优化

 

建立索引的五大原则 最左前缀匹配原则。 “=” 和 “in” 可以乱序。 尽量选择区分度高的列作为索引。 索引列不能参与计算。 尽量扩展索引,不要新建索引。 查询优化神器 - explain命令 慢查询优化基本步骤 先运行看看是否真的很慢,注意设置 SQL_NO_CACHE where条件单表查,锁定最小返回记录表。这句话的意思是把查询语句的where都应用到表中返回的记录数最小的表开始查起,单表每个字段分别查询,看哪个字段的区分度最高 explain查看执行计划,是否与1预期一致(从锁定记录较少的表开始查询) order by limit 形式的 sql 语句让排序的表优先查 了解业务方使用场景 加索引时参照建索引的几大原则 观察结果,不符合预期继续从0分析

More...

Linux 设置系统时间及同步网络时间

 

Linux 的时间分为 System Clock (系统时间)和 Real Time Clock (硬件时间,简称 RTC)。 系统时间:指当前 Linux Kernel 中的时间。 硬件时间:指主板上有电池供电的时间。 1. 查看系统时间bash # date # 例: ➜ ~ date # Output 2018年 3月 7日 星期三 12时01分15秒 CST 设置系统时间: # date --set "月/日/年 时:分:秒" # 例: ➜ ~ date --set "01/01/2049 00:00:00" # Output 2049年 1月 1日 星期五 00时00分00秒 CST 同步网络时间 除了手动设置系统时间外,也可与采用和网络时间进行同步的方式。下面介绍一下不同发行版本如何与时间服务器上的时间同步的方法 安装 nptdate 工具 CentOS $ sudo yum -y install ntp ntpdate Ubuntu $ sudo apt-get install ntp ntpdate 设....

More...

从多任务到专注思考:如何让生活化繁为简?

 

有步骤的分解任务 每天留出一段黄金时间,不受任何打扰,什么都不干——就算还有许多事情没做完,也不要急着开工,而是静下心来,安静地冥想。 在冥想的时候,我会按照这几个步骤思考: @复盘 我今天做了什么? 近段时间里,各个项目的进展如何?是否按照预想的方向前进? 在项目的执行中,遇到了什么问题,分别是由什么原因造成的?可以如何去规避? @策略 我接下去要做些什么 通过这些事情,我要达到什么目的 这个方向是最好的吗?有没有别的方向? @规划 我要如何达到第二步目标 如何把这个任务分解成小任务,分别在什么时候完成? 有哪些信息需要了解,我需要在什么时候确定这些信息? 具体操作 通常,这些问题很难一下子全部都得到答案。我会打开 Onenote,将想到的各个点记下来,画成层次图,不断修正、调整,整理自己的思维。 也许,思考的结果,会推翻昨天得到的某个结论。这个时候,就会重新打开昨天的笔记,进行审视和对比,然后将修改结果重新写下来。 最后,我会留下某几个问题,放到一则叫做「聚焦」的笔记里面——它们就是我经过分析之后,需要去思考和处理的最重要的问题。 这也就是我第二天工作和思考的重心。 简....

More...

Vue.js和微信小程序学习心得总结

  ,

Vue.js 总的来说 vue 的官方文档做的真心不错,整个文档由浅入深,循序渐进的介绍了 vue 的基本概念和框架的设计理念。过程中辅以简单的实例加深了对概念性知识点的理解,不过要构建完整的 vue 项目还需要对 Node 和 commonJS 标准有所了解,有一定的学习成本。 Vue 的实例是整个框架的核心,依托强大的组件系统,可以轻松的操作和构建灵活的模板系统。 服务器端渲染(ssr)配合单文件的 Vue 组件开发是目前流行的开发方式,个人觉得单纯的开发简单应用完全没必要了解太多技术点,但是大型复杂项目需要深入理解核心原理和概念。 微信小程序 按照官方开发手册和网上的小程序实例跑了一遍小程序官方 Demo,开发效率应该比较高,这里着重以下几个开发的关键点: 首先是要对小程序的目录结构及其各个文件的作用充分了解,这样在构建页面布局和数据交互上会比较顺手。 其次要在小程序的事件机制的原理上多下功夫,尽管每个页面大体相似,但是也有必要清楚每一个事件的具体含义及调用过程。 第三点就是小程序的组件,微信官方提供大量现成的组件示例,例如视图容器、基础内容、表单、导航等等,即规范又....

More...

PHP 函数 header() 的用法归纳

 

301 永久重定向 <?php header('HTTP/1.1 301 Moved Permanently'); header('Location: http://www.example.com'); exit(); ?> 302 临时重定向 <?php header('Location: http://www.example.com'); exit(); ?> 404 页面未找到 <?php header('HTTP/1.1 404 Not Found'); ?> 503 服务不可用 <?php header('HTTP/1.1 503 Service Temporarily Unavailable'); header('Status: 503 Service Temporarily Unavailable'); exit(); ?> 设置内容类型 <?php // html header('Content-Type: text/html; charset=iso-8859-1'); head....

More...

MySQL 按天、星期、按月数据统计 SQL 集合 (转)

  ,

数据统计的需求做过多次,每次都要重新搜索,为了提高查找效率,索性做个记录。内容在原文的基础之上稍有改动。 准备工作 为了测试方便,先创建一个测试表,在插入两条数据(注:时间为 datetime` 类型,Unix 时间戳需要转换) 创建表 create table if not exists t ( id int, addTime datetime default '0000-00-00 00:00:00' ); 添加两条初始数据: insert t values(1, '2017-03-12 02:00:00'); insert t values(2, '2017-03-22 02:00:00'); 开始 统计当天(当日)的数据: 常规写法(对比判断): SELECT count(*) FROM t WHERE DATE_FORMAT(addTime, '%Y-%m-%d') = date_format(now(),'%Y-%m-%d')); 常规写法的简化: SELECT * FROM t WHERE addTime >= date_format(NO....

More...

Ubuntu_16.04 卸载 LN(A)MP 软件包

 

Start 删除软件包 卸载 Apache2 sudo apt-get --purge remove apache2* sudo apt-get autoremove apache2 (--purge 是完全删除并且不保留配置文件) # (重新安装 sudo apt-get install apache2) 卸载 Nginx sudo apt-get remove nginx-* sudo apt-get purge nginx-* 卸载 php7.0-fpm 或者 php5 sudo apt-get --purge remove php7.0* (或者 sudo apt-get --purge remove php5* libapache2-mod-php5) sudo apt-get autoremove php7.0*(php5) 卸载 MySQL sudo apt-get --purge remove mysql* sudo apt-get autoremove mysql* End 清理残留文件 dpkg -l |grep ^rc|awk ’....

More...