一、wget
应用场景
批量下载或递归下载网页中的所有文件: wget -r http://site.com/content_dir
指定下载编码后再重命名: wget --restrict-file-names=ascii -m www.xxx.com/
下载为ascii的文件名, 可以使用软件RenamePro8.0在“高级文件名变”更里面有一个“文件名编码与解码”,“ANSI编码URL字符串转换为文字”
Start
批量下载或递归下载网页中的所有文件: wget -r http://site.com/content_dir
指定下载编码后再重命名: wget --restrict-file-names=ascii -m www.xxx.com/
下载为ascii的文件名, 可以使用软件RenamePro8.0在“高级文件名变”更里面有一个“文件名编码与解码”,“ANSI编码URL字符串转换为文字”
axel tools是多线程下载工具
|
|
axel 参数 文件下载地址
可选参数:
-n
指定线程数-o
指定另存为目录-s
指定每秒的最大比特数-q
静默模式如从Diahosting下载lnmp安装包指定10个线程,存到/tmp/:axel -n 10 -o /tmp/ http://soft.vpser.net/lnmp/lnmp0.7-full.tar.gz
如果下载过程中下载中断可以再执行下载命令即可恢复上次的下载进度。
Chrome修改UserAgent
其他的ua比如:
—user-agent=”iPhone”
Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_0 like Mac OS X; en-us) AppleWebKit/532.9 (KHTML, like Gecko) Version/4.0.5 Mobile/8A293 Safari/6531.22.7
chrome://net-internals/#hsts
Delete domain security policies
栏的输入框中输入:xxx.com -> 点击delete
按钮,即可完成配置。
|
|
网络状况好的话执行vagrant box add laravel/Homestead
即可完成安装,但由于国内网络种种原因,会导致断线,所以我们需要进行离线安装
这里主要是说明自己机器php环境配置相关问题,涵盖了windows、unix和mac多平台。
通过系统默认命令brew install php71
后php提醒libpng库问题,在执行php --version
时报错内容大致如下:
|
|
解决方法: 执行命令
brew reinstall -s php71
可以解决
参考:https://github.com/Homebrew/homebrew-php/issues/3961
配置端口及对应的php服务如下
php
(默认): nginx端口80,php-fpm端口9007php54
: nginx端口8054,php-fpm端口9004php56
: nginx端口8065,php-fpm端口9000php71
: nginx端口8071,php-fpm端口9007也就是说后面一旦访问域名:端口
即可使用对应php版本的服务。下面附上部分nginx fastcgi配置:
修改配置后需要执行以下命令重新加载相关服务:
|
|
本文只探讨正则在php中的一些使用,小白用户还是先了解下正则相关的基础概念:正则表达式30分钟入门教程
|
|
正则表达式基本语法归类:
.
匹配除换行符之外的任意字符。等价于[^\n]。\d
匹配任意一个十进制数字,即[0-9]。\D
匹配任意一个非十进制数字,即[^0-9]。\s
匹配一个不可见原子,即[\f\n\r\t\v]。\S
匹配一个可见原子,即[^\f\n\r\t\v]。\w
匹配任意一个数字,字母或下划线,即[0-9a-zA-Z_]。\W
匹配任意一个非数字,字母或是下划线,即[^0-9a-zA-Z_]。{n}
表示其前面的原子恰好出现n次。{n,}
表示其前面的原子最少出现n次。{n,m}
表示其前面的原子最少出现n次,最多出现m次。+
匹配1次,或者多次其之前的原子,即{1,}。?
匹配0次,1次,或者1次其之前的原子,即{0,1}。备注:量词不仅支持原子,同样支持原子的集合,同样支持元字符的写法。例如:\w{4}
^
匹配字符串开始的位置$
匹配字符串结尾的位置()
匹配其中的整体为一个原子, 例如:(H|h)ello则匹配Hello和hello的结果。U
懒惰匹配i
忽略英文字母大小写x
忽略空白(空格,制表符等空白符)s
让元字符’.’匹配包括换行符在内的所有字符e
后面单独写下~惰模式的标识为大写的U
例如:
$pattern = ‘/hello.+12/‘;
$subject = ‘hello1231321233123131’;
在贪婪模式下匹配的结果为:hello1231321233123131
而修改为懒惰匹配$pattern = ‘/hello.+12/U’;
$subject = ‘hello1231321233123131’;
那么结果就会变为:hello12
/.+/
/\d+.\d{2}$/
,实现保留两位的浮点数,$符号是上文中的边界控制哦~/1[34578]\d{9}/
,匹配到的为1开头,第二位为3,4,5,7,或8的11位手机号/^\w+(.\w+)*@\w+(.\w+)+$/
(\w 字母,数字,下划线)^(https?://)?
。是否是二级域名? 即:(\w+.)+
。顶级域名。即:[a-zA-Z]+
。故:正则表达式:^(https?://)?(\w+.)+[a-zA-Z]+$
|
|
vim下的正则使用主要是批量替换的功能,使用语法如::[range]s/from/to/[flags]
range:搜索范围,如果没有指定范围,则作用于但前行。
flags 有如下四个选项:
c
confirm,每次替换前询问;e
error, 不显示错误;g
globle,不询问,整行替换。如果不加g选项,则只替换每行的第一个匹配到的字符串;i
ignore,忽略大小写。这里只针对vim中特殊的正则进行说明,其他的与通用正则大体一致。
\w
代表匹配单词字母,等同于[0-9A-Za-z_].
: 匹配.
字符, 不需要转义\
: 匹配\
字符, 不需要转义\<
: 匹配单词词首\>
: 匹配单词词尾%s/^\(.\+\)$/,(\1)/
: 缓存变量使用,在vim中用 \num
表示;:%s/\n//g
: 批量删除换行:%s/\s+$//g
%s/^\s*//
或者 %s/^ *//
%s/^$//
或者 g/^$/d
%s/^\s*$//
或者 g/^\s*$/d
%s/^[ |\t]*$//
或者 g/^[ |\t]*$/d
abc……xyz
”替换为“xyz……abc
”可以有下列写法:%s/abc\(.*\)xyz/xyz\1abc/g
:%s/\(abc\)\(.*\)\(xyz\)/\3\2\1/g
最近有从图书中拍照ocr部分段落的需求,这里是收集的部分入门 及 目前商用的接口方案。
以下关于OCR介绍来自搜索:
OCR(Optical Character Recognition,光学字符识别)是指电子设备(例如扫描仪或数码相机)检查纸上打印的字符,通过检测暗、亮的模式确定其形状,然后用字符识别方法将形状翻译成计算机文字的过程;即,针对印刷体字符,采用光学的方式将纸质文档中的文字转换成为黑白点阵的图像文件,并通过识别软件将图像中的文字转换成文本格式,供文字处理软件进一步编辑加工的技术。如何除错或利用辅助信息提高识别正确率,是OCR最重要的课题,ICR(Intelligent Character Recognition)的名词也因此而产生。衡量一个OCR系统性能好坏的主要指标有:拒识率、误识率、识别速度、用户界面的友好性,产品的稳定性,易用性及可行性等。
简单地说吧,就是识别印刷品上面的文字,大概用得比较多的情况是:用设备的摄像头拍一张照片,照片中有文字,然后通过OCR技术将照片中的字符识别出来,转化为字符。顺便说一下,如果想“干坏事”的话,也可以用OCR技术来识别一些简单的图片验证码,呵呵,不过,现在很多网站的验证码都比较“狡猾”,要准确识别出来不那么容易。
在着手开发之前,首选要了解微信开发相关文档和调试工具:
|
|
|
|
|
|
[TOC]
一个从零开始学棋的小学生,需要多长时间的专业训练就可以超过 99% 在路边摊下了一辈子棋的老棋友呢?
大约 6 个月。
李叫兽之前写过一篇关于刻意练习的文章,起的题目是《为什么你有10年经验,却成不了专家》。这个题目其实也是在说他自己,叫兽在读研一的时候就拿到300W年薪的offer,然后又在5分钟内拒掉了。
我们这个时代,可以看到还有很多像叫兽这样的年轻人迅速崛起,究竟是什么原因导致了彼此的差距呢。
继续套用风尘棋客的话:
绝大多数人在职场上的第一大幻觉,就是把时间的流逝当做了技能的增长。
李叫兽一直在践行自己所学的东西,而我们大多数人并非如此。绝大多数人在看书的时候,其实是和看AV、看韩剧一样的
。
心理学上有一种“预先体验效应
”,就是我们在想象一件事的时候,即使还没有经历过,大脑也会分泌多巴胺,产生了经历过的感觉。
所以男人爱看AV,女人爱看韩剧,因为在看的时候,头脑里真的会产生相应的感觉,也就是我们所说的安慰剂效应。
回到看书学习这件事也一样,当代人很大的一个毛病是喜欢囤积各种学习资料。你问他真的看了吗?没有。满足吗?真的满足。
因为安慰剂效应,很多人在看完书、听完课之后,就以为自己真的掌握了。就跟囤积各种资料一样,下载下来就好像已经看完一样,陷入知识的幻觉。
另外一部分人甚至会走入标榜阅读量的极端。讲实话,船长之前就是这样。看完一本书之后,就是“哦,我知道了”。然后呢,没有然后。
王阳明讲知行合一,知道了做不到,其实说明你还是不知道。哪怕逻辑上你完全接受,可是在内心里并不相信。因为不相信,所以你不会去实践。
拿船长自身举例,我有过两次正式减肥经历。第一次是在高考结束后,失败的很彻底。在当时我实际上并不“相信”自己能够减肥下来。
因为在我的身边,我的认知之中从来没有过这样的人。电视上虽然有很多,但是跟我没有关系,内心并不会有所触动。直到上了大学,以前的高中朋友纷纷健身减肥成功,我才真正相信并且去实践。
你看,这真是一件滑稽的事情。
一方面大脑陷入知识的幻觉,以为我们看过就掌握了。另一方面,内心并不会真正的相信,也不会去实践。从而陷入了一种成长的幻觉,让时间流逝。
有一次学员问小马宋如何成为一个营销高手,小马宋说他不敢以营销高手自居,简单谈了下自己的观察。
他觉得这个世界有两种人。
一种是他这样的人,在看书包括读MBA的时候,都学过营销的4P理论。产品、价格、渠道、促销,学完了之后就是“哦,我知道了”,知道了之后完全没有去实践。
说实话也不太相信这个事情,也没有想到这个东西可以真正用到营销上去。读了很多书,知道了很多道理,然后一件没有用。后来吃了很多亏,才认识到这个问题。
一种是李叫兽这样的人。李叫兽是一个特别相信书的人,他相信所有的经典理论都是有效的,只是大多数人不会运用。他在高中学习了博弈论,就用囚徒困境这个理论去分析高考,写了一篇文章。之后就把这个策略应用到实际当中去。
这两位都是营销高手,用小马宋的话说,他这类人是归纳型的人,通过实操一个一个案例总结出一个方法来。这类人的成长,都是用钱赔出来的。
而他要学习的李叫兽,是一个演绎型的人,从一个理论中可以演绎出很多方法来。
归纳型的人问题在于只从自己过去的经验中学习,只有经历过之后才知道怎么解决,这样的成本太高。正如周国平所说:“对人生的觉悟来自智慧,倘若必待大苦大难然后开悟,慧根也未免太浅。
”
另外一方面,从自己过去的经验中学习,是有限而且封闭的,一旦超出了自己目前的认知范围就很难解决。
李叫兽在14天训练营里谈到如何把任何一件事做好的三种思维方法,第一个方法就是利用知识范围之外的知识。
我们无法解决某些问题的第一重要原因——解决该问题所需要的知识,在你现有的知识范围以外。
只有在你真正坚信并践行那些经典智慧和理论的时候,人类的智慧才会变成你真正的宝库。
个人的经验是有限的,而人类的总体智慧经验是相当丰富的,只要你安装了对外的接口,就总能找到做好一件事的方法。
否则的话,就是睁眼瞎,人类最大的财富就在那里,你却视而不见。
很多人会觉得那些理论太虚,没有用。实际上没有用的不是理论,而是理论派。理论派没有用,理论有大用。
借用知乎营销大神@波旬的一句话:用理论拍死理论派。
这才是高手应该做的事情。
如何成为一个很厉害的人,采铜的回答是“在理论世界思考现实,在现实世界思考理论。”
深以为然。
船长总结了两个能力,来把这两句话进一步的落地。
在理论世界思考现实,就是掌握一个理论框架之后,用大量的现实案例填充进去,不断的练习和修正,最终熟练掌握。这其中最重要的一个能力,就是拆解的能力。
用一套理论框架去拆解一个现实案例,就好像我们小时候拆钟表一样,是学习的必经之路。
就用船长想提高写作能力来举例。
李笑来老师讲写作就是沟通,ok这点我认同。而徐强老师又将沟通分为2个维度,4类对话。
过程导向型:娱乐式对话、分享式对话
结果导向型:销售式对话、解决问题式对话
嗯,这是不是意味着我们的文章也可以分为这四类,而沟通的技巧也可以运用在写作上面呢。
仔细一想,好像确实是这样。
每一类沟通有不同的技巧,举个例子,如果把销售式文案理解为销售式对话,那么一些销售中的技巧就可以拿来作为写作技巧。
在销售的时候,有一个基本法则:诉诸利益原则
。就是想要打动一个人的时候,从对方的利益出发。
案例:劝小孩换薄一点的衣服。
说法1:天气热了穿那件薄的
说法2:哎呀待会和小朋友玩,穿厚衣服会不会跑得慢啊
说法2就是从对方的利益出发。这个技巧同样可以运用到文章中。
本文的开头部分原本在目录大纲里是第二部分,后来被我放在开头了,各位不妨回想一下,是什么驱动你们看到了这里。
整个框架在下图,细节我没有放出来。
如图,带着这套理论框架去大量的分析别人的文章,把段落、句子揉碎了、掰开了来看。对比不同人在不同情境下的使用技巧,再辅以自己的实践,相信很快会有所提升。
台大的吕世浩教授,在coursera开的两门课《史记》和《秦始皇》,一直以来都是是精品中的精品课程。他在TEDx的演讲《学历史的大用》中谈到一个很有意思的发现:
中国古代都是帝王和精英在学习历史,并且都觉得很有用。
而我们当代人人从小学开始学历史,却都不知道历史有什么用。
最后他发现其实是因为古人学历史根本和我们的方法完全不一样。
古人学习历史的方法就是,读到关键处,把书盖上
。
当读到一个历史人物,面对人生的一个重要关头,需要下一个决定的时候,那一刻把书盖上,去想象你就是他,想象你在这样的环境中你会怎样决定。
把一切都想清楚之后,再把书打开,去看那个人是怎么做决定的,和你是否一样,他为什么做这个决定,成功了还是失败了,付出了什么又得到了什么。
通过这种方法,可以用古人的智慧来磨练我们的智慧。
这也是为什么中国古代的很多帝王,虽然都是生于深宫之中,长于妇人之手,最后却能驾驭下面这些大臣。更有甚者,像雍正皇帝这种,把大臣玩的团团转。要知道那些大臣都是全国竞赛选拔出来,人精中的人精。
李叫兽讲自己的训练方法主要是“预测-反馈法”,就是在学习过去的商业案例时,把最后的结果盖住,想象如果是自己,自己会怎样去做,会运用什么方法,然后再跟实际对比。包括在他的14天训练营中,也是用这套方法来训练学员。
而李叫兽的“预测-反馈法”其实就是古人读史的方法。那么为什么这套方法会这么有用呢?
因为理论的本质是对现实世界规律的总结,智慧也是如此。
而规律就是用来对现实进行预测的,如果预测与实际不一致就要进行修正,从而不断迭代获得真正的认知。
所以如果你从来没有用它来进行预测过,你又怎么可能学会呢?
受限于我们失败的教育,大部分人都活在“理论-理论”或者“实践-实践”的单行道上,一伙人成了象牙塔里的学院派,另外一伙人则整天叫嚣“读书无用论”。
实际上都是挺可悲的事情。
最后想说的一点是,船长最近的文章都是按照李笑来老师的格式化写作模板来组织的。多亏了笑来老师的框架,我也才能驾驭这样的长文。
很多人容易陷入成长的幻觉之中。大脑觉得自己学了很多东西,实际上并没有掌握。内心不相信,也不会去践行。
有些人只从自己以往的经验中学习,这样的成本太高,而且一旦超出认知范围就没有办法。
学会利用践行理论知识,理论有大用,没有用的是理论派。用理论拍死理论派。
在理论世界思考现实,用一套行之有效的理论框架去拆解分析大量现实案例。
在现实世界思考理论,用“预测-反馈法”去借助古人的智慧来磨练我们的智慧。
@link
:
Gist 是 Github 推出的基于 Git 的代码片段管理服务。用户可以提交自己的代码片段或任意的文本,可以作为个人的代码管理库、文档管理库等。同时 Gist 页面提供访问的 JavaScript 片段用于嵌入其他网站,如:个人博客等。下面说说gist的一些正确打开姿势。
github官网默认功能,这里不多说了
gistboxapp是一个gist集成管理工具,GistBox 是可以直接用 Github 账户登录的,实时同步你的 Gist 到 Github,很方便。GitBox 从体验上来说更加方便,界面元素丰富,功能也比较全。如果不想用 Sublime Text, 又觉着 Github 自己的 Gist 管理太简单,GistBox是一种不错的方式。官网是 https://app.gistboxapp.com/,功能功能截图如下:
安装插件:Gist
配置token: 插件下的user setting下配置,
添加 Github Token:
这里直接粘贴部分代码片段:
|
|
或者添加通用的处理规则在function中:
|
|