掌握谷歌搜索高级指令

1. 谷歌搜索指令 2. 基本命令 符号 简介 语法 注意点 示例 + 包含A且必须包含B A +B A和+之间有空格 Maxwell +wills - 包含A且不包含B A -B A和+之间有空格 Maxwell -Absolom " " 完整匹配AB “AB” “Thomas Jefferson” OR 包含A或者B A OR B 或者 `A B` +-“OR 指令可以组合,完成更复杂的查询 beach -sandy +albert +nathaniel ~ 包含A, 并且包含B的近义词 A ~B github ~js .. 区间查询 AB之间 A..B china 1888..2000 * 匹配任意字符 node* java site: 站内搜索 A site:B filetype: 按照文件类型搜索 A filetype:B csta filetype:pdf 3....

2019-10-15 22:30:27 · 1 min · Eddie Wang

如何成为从培训班里出来的牛人?

1. 培训行业的现状和问题 进入培训班学习可能有一下两个原因: 想转行 学校里学的东西太过时了,需要深入学习本行业的知识 培训的行业的核心思想都是:如何快速的让你能够面试通过 老师教的东西大多是一些面试必须要问的一些知识,做的项目也应该都是市面上比较火的项目。这么做的不利之处有以下几点: 局限性:知识局限于教师的授课范围,知识面窄 扩展性:快餐式学习管饱不管消化,很多知识吸收不高,无法举一反三 系统性:没有系统的整体知识体系 所以这些因素可能会让用人不太喜欢培训出来的应聘者,而往往希望刚毕业的应届生。但是,培训行业出来的应聘者,也不乏国士无双的牛逼人物。 2. 如何成为培训出来的牛人? 无论在哪个行业,自学都是必不可少的事情。毕业不是学习的终点,而应该是起点。你和技术牛人之间的距离或许并不遥远,可能只是一个芭蕉扇的距离。 2.1. 读权威书籍,扎实理论基础 每个行业都有一些经历时间考验而熠熠生辉的经典数据,例如在前端行业。我认为下面两本书是必须要读完一本的。 基础 JavaScript高级程序设计 JavaScript权威指南 进阶 JavaScript语言精粹 JavaScript忍者秘籍 You Don’t Know JS JS函数式编程指南 2.2. 动手能力,闲话少说,放码过来 各种demo啊,效果啊,有时间自己都可以撸一遍,放在github上,又不收钱,还能提高动手能力。 2.3. 数据结构 差劲的程序员操心代码,牛逼的程序员操心数据结构和它们之间的关系。 一一Linus Torvalds, Linux 创始人 优秀的数据结构,可以节省你80%的编码时间。差劲的数据结构,你需要花大量的时间去做各种高难度动作的转换,一不小心,数据库就要累的气喘如牛,停机罢工。 2.4. 知识积累,从博客开始 如果你已经在某个行业工作个两三年,一篇像样的博客都没有。 那我觉得你可能是个懒人。因为几乎很少写东西。 我觉得你可以是个自私的人。因为做计算机行业的,谁没有用过别人造的轮子。即使你没有造轮子的能力,即使你给出一个问题应该如何解决的,至少你对计算机行业也作出了你的贡献。 2.5. 互联网的基石 TCP IP 计算机行业是分层的,就像大海一样,海面上的往往都是惊涛骇浪,暴风骤雨,各种框架层出不穷,争奇斗艳。当你深入海底,你会发现,那里是最平静的地方。而TCP IP等协议知识,就是整个互联网大航海时代的海底。互联网行业如此多娇,引无数框架竞折腰。浪潮之巅者成为行业热点,所有资源会喷薄涌入,失去优势被替代者,往往折戟沉沙铁未销。总之,越是上层,竞争越激烈,换代越快。 但是底层的TCP/IP之类的知识,往往几十年都不会有多大的改变。而且无论你从事什么语言开发,只要你涉及到通信了,你就需要TCP/IP的知识点,不过你不清楚这些知识点,你可以随时给自己埋下定时炸弹。 这个错误我也犯过,你可以看我的犯错记录:哑代理 - TCP链接高Recv-Q,内存泄露的罪魁祸首。 关于TCP/IP, 推荐一下书籍 基础 图解TCP/IP : 第5版 图解HTTP 进阶 HTTP权威指南 2.6. 工具的威力 你用刀,我用枪,谁说谁能打过谁。原始社会两个野蛮人相遇,块头大的,食物多,可以拥有更多的繁衍后代的权利。但是当一个野蛮人知道用刀的威力时,他就不会害怕胳膊比较粗的对手了。 举例来说,前端开发免不了有时需要一个静态文件服务器,如果你只知道阿帕奇,那你的工具也太落后了。你可以看看这篇文章:一行命令搭建简易静态文件http服务器 当你想要更偷懒,想要不安于现状时,你会找到更多的厉害的工具。 2.7. 英语阅读能力 IT行业还有一个现象,就是看英文文档如喝中药一般,总是捏着鼻子也看不下去。看中文文档放佛如喝王老吉,消火又滋润。...

2019-10-15 22:25:56 · 1 min · Eddie Wang

你不知道的专业化道路

从分工到专业化 分工提高生产效率,专业化提高个人价值。很多人都认为,一旦我们进入了某一行,我们就应该在这个行业深挖到底。例如我是做前端的,我就会去学习各种前端的知识点,各种层出不穷的框架。我总是在如饥似渴的希望自己能够保持在深入学习的状态,我不想哪一天自己突然out了。 专业化的危机在哪? 以前我在上初中的时候,就稍稍的学习了一点点ActionScript的知识。可能有些人不知道ActionScript是干嘛的,它是在flash的环境中工作的,可以在flash里做一些动画和特效之类的。那时候flash是很火的技术,几乎所有的网站都是有flash的,所以会ActionScript语言的程序员,工资都不低。 但是,你现在还听过什么ActionScript吗? 它的宿主环境flash都已经被淘汰了,皮之不存毛将焉附。可想而知,flash的淘汰,同时也让时长淘汰了一批在ActionScript的专家。 所以,专业化并不是一个安全的道路。准确来说,世界上本来就没有安全的路。大多说认为这条路安全,是因为他们总是以静态的眼光看这条路。说点题外话,如果你书读多了,你会发现,其实一直在你思想里的那些观念,那些故事,往往都是忽悠人的。你可以看看我的一个书单:2018年我的阅读计划。 从企业的角度考虑,每个老板都想招在某一方面专家。但是从个人的角度考虑,如果你在专业化的道路钻研的非常深,或许有时候你应该放慢脚步,找个长椅,坐着想一想,如果你前面马上就是死路了,你应该怎么办? 我们应该怎么办? 世界上没有安全的路,世界上也没有一直安全的职业。一个职业的火爆,往往因为这个行业的火爆。而永远也没有永远火爆的行业,当退潮时,将会有大批的弄潮儿会搁浅,干死,窒息…… 除去环境造成的扰动,人的身体也会随着年龄会慢慢老化。 你可以想象一下,当你四十多岁时。那些新来的实习生,比你要的工资低,比你更容易接受这个行业的前沿知识,比你更加能加班,比你能力更强时,比你更听话时。你的优势在哪里?我相信到那时候,你的领导会毫不犹豫开了你。 在此,你要改变。我给出以下几个角度,你可以自行延伸。 开始锻炼身体 这是一切的基石 搞一搞副业,学习一下你喜欢的东西,你可以去深入学学如何做菜,如何摄影等等 学习理财知识,这是学校从没教你的,但是却是非常重要的东西 读书,越多越好 参考文献 专业主义 日 大前研一 富爸爸穷爸爸 罗伯特·清崎 / 莎伦·莱希特 国富论 英 亚当·斯密 失控 乌合之众 法 古斯塔夫·勒庞 未来世界的幸存者 阮一峰 新生 七年就是一辈子 李笑来

2019-10-15 22:25:18 · 1 min · Eddie Wang

我苦苦寻找诡异的bug原因,其实是我的无知

1. 问题1:chosen插件无法显示图标 问题现象在我本地调试的时候,我使用了一个多选下拉框的插件,就是chosen, 不知道为什么,这个多选框上面的图标不见了。我找了半天没有找到原因,然后我把我的机器的内网地址给我同事,让他访问我机器,当它访问到这个页面时。他的电脑上居然显示出了这个下拉框的图标。 这是什么鬼?, 为什么同样的代码,在我的电脑上显示不出图标,但是在他的电脑上可以显示。有句名言说的好:没有什么bug是一遍调试解决不了的,如果有,就再仔细调试一遍。于是我就再次调试一遍。 我发现了一些第一遍没有注意到的东西媒体查询,就是在css里有这样的语句: @media 从这里作为切入口,我发现:媒体查询的类会覆盖它原生的类的属性 由于我的电脑视网膜屏幕,分辨率比较高,触发了媒体查询,这就导致了媒体查询的类覆盖了原生的类。而覆盖后的类,使用了chosen-sprite@2x.png作为图标的背景图片。但是这个图片并没有被放在这个插件的目录下,有的只有chosen-sprite.png这个图片。在一般情况下,都是用chosen-sprite.png作为背景图片的。这就解释了:为什么同事的电脑上出现了图标,但是我的电脑上没有出现这个图标。 总结: 如果你要使用一个插件,你最好把这个插件的所有文件都放在同一个目录下。而不要只放一些你认为有用的文件。最后:媒体查询的相关知识也是必要的。 2. 问题2:jQuery 与 Vue之间的暧昧 jQuery流派代表着直接操纵DOM的流派,Vue流派代表着操纵数据的流派。 如果在项目里,你使用了一些jQuery插件,也使用了Vue,这就可能导致一些问题。 举个例子: <!DOCTYPE html> <html> <head> <title></title> <script src="https://cdn.bootcss.com/vue/2.4.4/vue.js"></script> <script src="https://cdn.bootcss.com/jquery/3.2.1/jquery.min.js"></script> </head> <body> <div id="app"> 姓名 <input type="text" v-model="userName"> <br/> 年龄 <input type="text" id="userAge" v-model="userAge"> <br/> </div> <script type="text/javascript"> new Vue({ el: '#app', data: { userName: '', userAge: 12 } }); $('#userAge').val(14); </script> </body> </html> 在页面刚打开时:姓名输入框是空的,年龄输入框是14。但是一旦你在姓名输入框输入任何字符时,年龄输入框的值就会变成12。 如果你仔细看过Vue官方文档,你会很容易定位问题所在。 v-model 会忽略所有表单元素的 value、checked、selected 特性的初始值。因为它会选择 Vue 实例数据来作为具体的值。你应该通过 JavaScript 在组件的 data 选项中声明初始值。---Vue官方文档 你可以用 v-model 指令在表单控件元素上创建双向数据绑定。它会根据控件类型自动选取正确的方法来更新元素。尽管有些神奇,但 v-model 本质上不过是语法糖,它负责监听用户的输入事件以更新数据,并特别处理一些极端的例子。...

2019-10-15 22:22:24 · 1 min · Eddie Wang

一行命令搭建简易静态文件http服务器

简易服务器:在命令执行的所在路径启动一个http服务器,然后你可以通过浏览器访问该路径下的所有文件。 在局域网内传文件,或者自己测试使用都是非常方便的。 1. 基于python 1.1. 基于Python2 python -m SimpleHTTPServer port > python -m SimpleHTTPServer 8099 Serving HTTP on 0.0.0.0 port 8099 ... 127.0.0.1 - - [24/Oct/2017 11:07:56] "GET / HTTP/1.1" 200 - 1.2. 基于python3 python3 -m http.server port > python3 -m http.server 8099 Serving HTTP on 0.0.0.0 port 8099 (http://0.0.0.0:8099/) ... 127.0.0.1 - - [24/Oct/2017 11:05:06] "GET / HTTP/1.1" 200 - 127.0.0.1 - - [24/Oct/2017 11:05:06] code 404, message File not found 127....

2019-10-15 22:21:02 · 1 min · Eddie Wang

python实战 报纸分词排序

1. 环境 win7 64位 python 3.5 2. 目标 抓取一篇报纸,并提取出关键字,然后按照出现次数排序,用echarts在页面上显示出来。 3. 工具选择 因为之前对nodejs的相关工具比较熟悉,在用python的时候,也想有类似的工具。所以就做了一个对比的表格。 功能 nodejs版 python版 http工具 request requests 中文分词工具 node-segment, nodejieba(一直没有安装成功过) jieba(分词准确度比node-segment好) DOM解析工具 cheeio pyquery(这两个工具都是有类似jQuery那种选择DOM的接口,很方便) 函数编程工具 underscore.js underscore.py(underscore来处理集合比较方便) 服务器 express flask 4. 开始的噩梦:中文乱码 感觉每个学python的人都遇到过中文乱码的问题。我也不例外。 首先要抓取网页,但是网页在控制台输出的时候,中文总是乱码。搞了好久,搞得我差点要放弃python。最终找到解决方法。 解决python3 UnicodeEncodeError: ‘gbk’ codec can’t encode character ‘\xXX’ in position XX 过程很艰辛,但是从中也学到很多知识。 import io import sys sys.stdout = io.TextIOWrapper(sys.stoodout.buffer,encoding='gb18030') 5. 函数式编程: 顺享丝滑 #filename word_rank.py import requests import io import re import sys import jieba as _jieba # 中文分词比较优秀的一个库 from pyquery import PyQuery as pq #类似于jquery、cheerio的库 from underscore import _ # underscore....

2019-10-15 21:59:23 · 2 min · Eddie Wang

代码整洁之道 - 有意义的命名

在小朱元璋出生一个月后,父母为他取了一个名字(元时惯例):朱重八,这个名字也可以叫做朱八八。我们这里再介绍一下,朱重八家族的名字,都很有特点。 朱重八高祖名字:朱百六; 朱重八曾祖名字:朱四九; 朱重八祖父名字:朱初一; 他的父亲我们介绍过了,叫朱五四。 取这样的名字不是因为朱家是搞数学的,而是因为在元朝,老百姓如果不能上学和当官就没有名字,只能以父母年龄相加或者出生的日期命名。(登记户口的人一定会眼花)–《明朝那些事儿》 那么问题来了,朱四九和朱百六是什么关系? 你可能马上懵逼了。所以说:命名不仅仅是一种科学,更是一种艺术。 1. 名副其实 // bad var d; // 分手的时间,以天计算 // good var daysAfterBrokeUp; // 分手以后,以天计算 2. 避免误导 // bad var nameList = 'wdd'; // List一般暗指数据是数组,而不应该赋值给字符串 // good var nameList = ['wdd','ddw','dwd']; // // bad var ill10o = 10; //千万不要把i,1,l,0,o,O放在一起,傻傻分不清楚 // good var illOne = 10; 3. 做有意义的区分 // bad var userData, userInfo; // Data和Info, 有什么区别????, 不要再用data和info这样模糊不清的单词了 // good var userProfile, userAcount 4. 使用读得出来的名称 // bad var beeceearrthrtee; // 你知道怎么读吗? 鼻涕阿三?? // good var userName; 5....

2019-10-15 21:58:30 · 1 min · Eddie Wang

【译】13简单的优秀编码规则(从我15年的经验)

原文地址:https://hackernoon.com/few-simple-rules-for-good-coding-my-15-years-experience-96cb29d4acd9#.ddzpjb80c 嗨,我的工作作为一个程序员超过15年,并使用许多不同的语言,范例,框架和其他狗屎。我想和大家分享我写好代码的规则。 1. 优化VS可读性 去他妈的优化 始终编写易于阅读且对开发人员可理解的代码。因为在硬可读代码上花费的时间和资源将远远高于从优化中获得的。如果你需要进行优化,那么使它像DI的独立模块,具有100%的测试覆盖率,并且不会被触及至少一年。 2. 架构第一 我看到很多人说“我们需要快速做事,我们没有时间做架构”。其中约99%的人因为这样的想法而遇到了大问题。编写代码而不考虑其架构是没有用的,就像没有实现它们的计划一样,梦想你的愿望。在编写代码的第一行之前,你应该明白它将要做什么,它将如何使用,模块,服务如何相互工作,它将有什么结构,如何进行测试和调试,以及如何更新。 3. 测试覆盖率 测试是好事,但他们并不总是负担得起,对项目有意义。 当你需要测试: 当你编写模块时,微服务将不会被触及至少一个月。 当你编写开源代码。 当你编写涉及金融渠道的核心代码或代码。 当您有代码更新的同时更新测试的资源。 当你不需要测试时: 当你是一个创业。 当你有小团队和代码更改是快速。 当你编写的脚本,可以简单地通过他们的输出手动测试。 记住,带有严格测试的代码可能比没有测试的代码更有害。 4. 保持简单,极度简单 不要编写复杂的代码。更多更简单,那么更少的错误它可能有和更少的时间来调试它们。代码应该做的只是它需要没有非常多的抽象和其他OOP shit(尤其是涉及java开发人员)+ 20%的东西可能需要在将来以简单的方式更新它。 5. 注释 出现注释说明你的代码不够好。好的代码应该是可以理解的,没有一行注释。但是如何为新开发人员节省时间? - 编写简单的内联文档描述什么和如何方法工作。这将节省很多时间来理解,甚至更多 - 它将给人们更多的机会来提出更好的实施这种方法。并且它将是全球代码文档的良好开端。 6. 硬耦合VS较小耦合 始终尝试使用微服务架构。单片软件可以比微服务软件运行得更快,但只能在一个服务器的上下文中运行。微服务使您可以不仅在许多服务器上,而且有时甚至在一台机器上(我的意思是过程分发)高效地分发您的软件。 7. 代码审查 代码审查可以是好的,也以是坏的。您可以组织代码审查,只有当您有开发人员了解95%的代码,谁可以监控所有更新,而不浪费很多时间。在其他情况下,这将是只是耗时,每个人都会讨厌这个。 在这部分有很多问题,所以更深入地描述这一点。 许多人认为代码审查是一个很好的方式教新手,或者工作在不同部分的代码的队友。但是代码审查的主要目标是保持代码质量,而不是教学。让我们想象你的团队制作代码用于控制核反应堆或太空火箭发动机的冷却系统。你在非常硬的逻辑中犯了巨大的错误,然后你给这个代码审查新的家伙。你怎么认为会发生意外的风险? - 我的练习率超过70%。 良好的团队是每个人都有自己的角色,负责确切的工作。如果有人想要理解另一段代码,那么他去一个负责任去问他。你不可能知道一切,更好的优秀的理解小块代码而不是理解所有。 8. 重构没啥用 在我的职业生涯中,我听到很多次“不要担心,我们以后会重构它”。在未来,这会导致大的技术债务或从头开始删除所有的代码和写作。 所以,不要得到一个债务,除非你有钱从头开发你的软件几次。 9. 当你累了或在一个坏的心情不要写代码。 当开发人员厌倦时,他们正在制造2到5倍或者更多的bug。所以工作更多是非常糟糕的做法。这就是为什么越来越多的国家思考6小时工作日,其中一些已经有了。精神工作不同于使用你的二头肌。 10. 不要一次写全部 - 使开发迭代 在编写代码分析和预测之前,您的客户/客户真正需要什么,然后选择您可以在短期内以高质量开发的MVF(最有价值的功能)。使用这样的迭代来部署质量更新,而不是腰部时间和资源对不合理的愿望和牺牲与质量。 11. 自动化VS手动 自动化是长期的100%成功。所以如果你有资源自动化的东西,现在应该做。你可能认为“只需要5分钟,为什么我应该自动化?但让我计算这个。例如,它是5个开发人员的日常任务。 5分钟_ 5天_ 21天* 12个月= 6 300分钟= 105小时= 13.125天〜5250 $。如果你有40 000名员工,这将需要多少费用?...

2019-10-15 21:54:25 · 1 min · Eddie Wang

gitbash生存指南 之 git常用命令与oh-my-zsh常用缩写

如果命令行可以解决的问题,就绝对不要用GUI工具。快点试用Git bash吧, 别再用TortoiseGit了。 1. 必会8个命令 下面的操作都是经常使用的,有些只需要做一次,有些是经常操作的 git命令虽然多,但是经常使用的不超过8个。 命令 执行次数 说明 git clone http://sdfjslf.git 每个项目只需要执行一次 //克隆一个项目 git fetch origin round-2 每个分支只需要执行一次 //round-2分支在本地不存在,首先要创建一个分支 git checkout round-2 多次 // 切换到round-2分支 git branch --set-upstream-to=origin/round-2 每个分支只需要执行一次 // 将本地round-2分支关联远程round-2分支 git add -A 每次增加文件都要执行 // 在round-2下创建了一个文件, 使用-A可以添加所有文件到暂存区 git commit -am "我增加了一个文件" 每次提交都要执行 // commit git push 每次推送都要执行 //最好是在push之前,使用git pull拉去远程代码到本地,否则有可能被拒绝 git pull 每次拉去都要执行 拉去远程分支代码到本地并合并到当前分支 2. 常用的git命令 假设你在master分支上 // 将本地修改后的文件推送到本地仓库 git commit -am '修改了一个问题' // 将本地仓库推送到远程仓库 git push 2.1. 状态管理 2....

2019-10-15 21:48:37 · 2 min · Eddie Wang

免费服务的盈利模式

免费产品的盈利模式有四种 投放广告 增值服务:先把羊养肥,再慢慢割羊毛,现在大部分都是互联网服务都是这种 交叉补贴: A服务免费,再用户使用A服务时,通过提供B服务来盈利 零边际成本:免费提供A服务,但是用户需要用物品去交换A服务,服务提供者通过加工物品来盈利

2019-10-15 21:46:04 · 1 min · Eddie Wang