栗子

打造自己的Sublime Text 3 编辑器

吃可爱长大的小学妹 提交于 2019-12-10 02:16:32
Sublime Text 3据说是windows下的编辑神器,有很多vim的功能,字体颜色超丰富,灰常不错(装X专用*_*)。 1,sublime安装 官网http://www.sublimetext.com/3下载 2,package control安装 打开地址https://packagecontrol.io/installation 在Sublime Text 3,菜单 View -> Show Console,会在底部出现一个命令输入框,然后将刚打开页面上面的Sublime Text 3命令拷贝到输入框中,回车,等待(时长剧网速而定), 安装成功,这时Preference下就有Package Control了。 3,插件安装 快捷键 Ctrl+Shift+P 打开Package Control,在打开的输入框中输入 install ,它会根据你的输入自动提示,选择 Install Package。在弹出的输入框,输入你 要安装的插件名。 ConvertToUTF8 支持UTF-8编码 BracketHighlighter 高亮匹配括号,引号和html标签 Emmet(Zen Coding) 快速生成HTML代码段 Themr 主题管理,切换主题的时候,不用自己修改配置文件了,用这个可以方便的切换主题 Glacier、Predawn 安装了俩主题,挺漂亮,够用,主题太多了

sublime text3 快捷键

落爺英雄遲暮 提交于 2019-12-06 23:43:26
以下是个人总结不完全的快捷键总汇,祝愿各位顺利解放自己的鼠标。 选择类 Ctrl+D 选中光标所占的文本,继续操作则会选中下一个相同的文本。 Alt+F3 选中文本按下快捷键,即可一次性选择全部的相同文本进行同时编辑。举个栗子:快速选中并更改所有相同的变量名、函数名等。 Ctrl+L 选中整行,继续操作则继续选择下一行,效果和 Shift+↓ 效果一样。 Ctrl+Shift+L 先选中多行,再按下快捷键,会在每行行尾插入光标,即可同时编辑这些行。 Ctrl+Shift+M 选择括号内的内容(继续选择父括号)。举个栗子:快速选中删除函数中的代码,重写函数体代码或重写括号内里的内容。 Ctrl+M 光标移动至括号内结束或开始的位置。 Ctrl+Enter 在下一行插入新行。举个栗子:即使光标不在行尾,也能快速向下插入一行。 Ctrl+Shift+Enter 在上一行插入新行。举个栗子:即使光标不在行首,也能快速向上插入一行。 Ctrl+Shift+[ 选中代码,按下快捷键,折叠代码。 Ctrl+Shift+] 选中代码,按下快捷键,展开代码。 Ctrl+K+0 展开所有折叠代码。 Ctrl+← 向左单位性地移动光标,快速移动光标。 Ctrl+→ 向右单位性地移动光标,快速移动光标。 shift+↑ 向上选中多行。 shift+↓ 向下选中多行。 Shift+← 向左选中文本。

【设计模式】设计模式的分类及六大原则

自古美人都是妖i 提交于 2019-12-05 15:33:03
一、设计模式的分类 总体来说设计模式分为三大类:   创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。   结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。   行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。   其实还有两类:并发型模式和线程池模式。 二、 设计模式的 六大原则 单一职责原则 里氏替换原则 依赖倒置原则 接口隔离原则 迪米特原则 开闭原则 单一职责 概念:对功能进行分类,代码进行解耦 栗子:一个网络请求框架大致分为:请求类,缓存类,配置类;不能把这三个功能混合在一起,必须分成三个类分别去实现不同的功能 里氏替换 概念:在继承类时,除了扩展一些新的功能之外,尽量不要删除或者修改对父类方法的引用,也尽量不要重载父类的方法 栗子:每个类都是Object的子类,Object类中有一个toString()的方法,假如子类重写该方法并且返回null,这个子类的下一级继承返回的都是null,那么在不同开发人员维护时可能考虑不到这个问题,并且很可能会导致程序崩溃 依赖倒置 概念:高层模块不依赖低层次模块的细节,高层次就是不依赖细节而是依赖抽象(不依赖具体的类,而是依赖于接口) 栗子

JS三座大山再学习(二、作用域和闭包)

…衆ロ難τιáo~ 提交于 2019-12-05 13:39:16
原文地址 作用域 JS中有两种作用域:全局作用域|局部作用域 栗子1 console.log(name); //undefined var name = '波妞'; var like = '宗介' console.log(name); //波妞 function fun(){ console.log(name); //波妞 console.log(eat) //ReferenceError: eat is not defined (function(){ console.log(like) //宗介 var eat = '肉' })() } fun(); name定义在全局,在全局可以访问到,所以 (2) 打印能够正确打印; 在函数fun中,如果没有定义name属性,那么会到它的父作用域去找,所以 (3) 也能正确打印。 内部环境可以通过作用域链访问所有外部环境,但外部环境不能访问内部环境的任何变量和函数。类似 单向透明 ,这就是作用域链,所以 (4) 不行而 (5) 可以。 那么问题来了,为什么第一个打印是"undefined",而不是"ReferenceError: name is not defined"。原理简单的说就是JS的 变量提升 变量提升: JS在解析代码时,会将所有的声明提前到所在作用域的最前面 栗子2 console.log(name); //undefined

三个爬虫的小栗子

前提是你 提交于 2019-12-05 00:22:49
三个爬虫的小栗子 第一个例子 —— 京东商品的爬取案例 import requests def getHTMLtext(url): try: r = requests.request('get' ,url ) r.raise_for_status() r.encoding = r.apparent_encoding return r.text except: return "出现异常" url = "https://item.jd.com/100005477055.html" print(getHTMLtext(url)) 结果如下: 第二个例子 —— 亚马逊爬虫案例 import requests url = 'https://www.amazon.cn/dp/B00RY59GJ0?ref_=Oct_DLandingSV2_PC_e9324a46_0&smid=A2EDK7H33M5FFG' r = requests.request('get',url) print(r.status_code) header = {'user-agent': 'Mozilla/5.0'} r = requests.request('get',url,headers = header) print(r.headers) print(r.status_code) print(r.text)

sublime快捷键

拟墨画扇 提交于 2019-12-03 23:07:29
选择类 Ctrl+D 选中光标所占的文本,继续操作则会选中下一个相同的文本。 Alt+F3 选中文本按下快捷键,即可一次性选择全部的相同文本进行同时编辑。举个栗子:快速选中并更改所有相同的变量名、函数名等。 Ctrl+L 选中整行,继续操作则继续选择下一行,效果和 Shift+↓ 效果一样。 Ctrl+Shift+L 先选中多行,再按下快捷键,会在每行行尾插入光标,即可同时编辑这些行。 Ctrl+Shift+M 选择括号内的内容(继续选择父括号)。举个栗子:快速选中删除函数中的代码,重写函数体代码或重写括号内里的内容。 Ctrl+M 光标移动至括号内结束或开始的位置。 Ctrl+Enter 在下一行插入新行。举个栗子:即使光标不在行尾,也能快速向下插入一行。 Ctrl+Shift+Enter 在上一行插入新行。举个栗子:即使光标不在行首,也能快速向上插入一行。 Ctrl+Shift+[ 选中代码,按下快捷键,折叠代码。 Ctrl+Shift+] 选中代码,按下快捷键,展开代码。 Ctrl+K+0 展开所有折叠代码。 Ctrl+← 向左单位性地移动光标,快速移动光标。 Ctrl+→ 向右单位性地移动光标,快速移动光标。 shift+↑ 向上选中多行。 shift+↓ 向下选中多行。 Shift+← 向左选中文本。 Shift+→ 向右选中文本。 Ctrl+Shift+←

celery 使用详解

て烟熏妆下的殇ゞ 提交于 2019-12-03 17:29:29
celery 是啥? 由python 编写 的异步生产者消费者设计模式下 的实例 举个例子: 现有两个进程 生产者进程A 消费者进程B 现在的情况是 逻辑推导: A 产出栗子 B 要吃栗子 那么这两个进程必然是 B依赖于A 耦合度很高且是一个耗时操作 B -----> (发送请求给A)------->(等待A 产出栗子也许会很久)------->(A响应栗子给B)------->(B得到栗子) B 可能是个很多服务的集成后台之类很忙大忙人不想一直等等等 那么 celery 的任务就是 替B 去等 逻辑推导: A 产出栗子 B 要吃栗子 C celery B (替我去取栗子)-----> C(发送请求给A)------->(等待A 产出栗子也许会很久)------->(A响应栗子给C)------->(B得到栗子) (C 可以去把栗子存在一个地方B直接去取就好了) 那么celery 的本质知道了:一个中间人角色 ,类似快递小哥,跑腿的 作用: 1 防止线程阻塞提高性能 2低耦合解耦 高内聚 高复用 好处 ::每分钟可以实现数以百万的任务 特点: 使用消息队列(broker )在客户端和消费者之间协调 主体在消息队列 还有 协调 两端可以有多个 好的,现在说celery 的结构 Celery的架构由三部分组成,消息中间件(message broker),任务执行单元(worker

关于this的指向问题

夙愿已清 提交于 2019-12-02 16:35:16
概要 在javascript当中每一个function都是一个对象,this是javascript语言的一个关键字。它代表函数运行时,自动生成的一个内部对象,只能在函数内部使用 this出现的场景分为四类 1、有对象就指向调用对象 2、没调用对象就指向全局对象:window是js中的全局对象 3、用new构造就指向新对象 4、通过apply或者call或bind来改变this的指向 1、函数有所有对象时:指向所属对象 举个栗子 var a={value:20}; a.show=function(){ console.log(this.value) console.log(this) } show()这个函数所属对象是a,并由a调用.因此this指向对象是a 函数没有所属对象:指向全局对象 window.name='阿姨请您别把你闺女介绍给我'; function foo(){ console.log(this.name) } foo() 构造器中的this:指向新对象 var a=function(){ this.value=100; } var p1=new a(); console.log(p1.value);//100 这里面的this指向新对象 apply和call调用以及bind绑定:指向绑定对象 apply()方法接受两个参数第一个是函数运行的作用于

sublime text3的快捷键

情到浓时终转凉″ 提交于 2019-12-02 13:55:47
常用的sublime的快捷键。 快捷键 功能 Ctrl+Shift+P 打开命令面板 Ctrl+P 搜索项目中的文件 Ctrl+G 跳转到第几行 Ctrl+W 关闭当前打开文件 Ctrl+Shift+W 关闭所有打开文件 Ctrl+Shift+V 粘贴并格式化 Ctrl+D 选择单词,重复可增加选择下一个相同的单词 Ctrl+L 选择行,重复可依次增加选择下一行 Ctrl+Shift+L 选择多行 Ctrl+Shift+Enter 在当前行前插入新行 Ctrl+X 删除当前行 Ctrl+M 跳转到对应括号 Ctrl+U 软撤销,撤销光标位置 Ctrl+J 选择标签内容 Ctrl+F 查找内容 Ctrl+Shift+F 查找并替换 Ctrl+H 替换 Ctrl+R 前往 method Ctrl+N 新建窗口 Ctrl+K+B 开关侧栏 Ctrl+Shift+M 选中当前括号内容,重复可选着括号本身 Ctrl+F2 设置/删除标记 Ctrl+/ 注释当前行 Ctrl+Shift+/ 当前位置插入注释 Ctrl+Alt+/ 块注释,并Focus到首行,写注释说明用的 Ctrl+Shift+A 选择当前标签前后,修改标签用的 F11 全屏 Shift+F11 全屏免打扰模式,只编辑当前文件 Alt+F3 选择所有相同的词 Alt+. 闭合标签 Alt+Shift+数字 分屏显示 Alt

Sublime Text 快捷键

那年仲夏 提交于 2019-12-01 07:13:18
选择类: Ctrl+D 选中光标所占的文本,继续操作则会选中下一个相同的文本。 Alt+F3 选中文本按下快捷键,即可一次性选择全部的相同文本进行同时编辑。举个栗子:快速选中并更改所有相同的变量名、函数名等。 Ctrl+L 选中整行,继续操作则继续选择下一行,效果和 Shift+↓ 效果一样。 Ctrl+Shift+L 先选中多行,再按下快捷键,会在每行行尾插入光标,即可同时编辑这些行。 Ctrl+Shift+M 选择括号内的内容(继续选择父括号)。举个栗子:快速选中删除函数中的代码,重写函数体代码或重写括号内里的内容。 Ctrl+M 光标移动至括号内结束或开始的位置。 Ctrl+Enter 在下一行插入新行。举个栗子:即使光标不在行尾,也能快速向下插入一行。 Ctrl+Shift+Enter 在上一行插入新行。举个栗子:即使光标不在行首,也能快速向上插入一行。 Ctrl+Shift+[ 选中代码,按下快捷键,折叠代码。 Ctrl+Shift+] 选中代码,按下快捷键,展开代码。 Ctrl+K+0 展开所有折叠代码。 Ctrl+← 向左单位性地移动光标,快速移动光标。 Ctrl+→ 向右单位性地移动光标,快速移动光标。 shift+↑ 向上选中多行。 shift+↓ 向下选中多行。 Shift+← 向左选中文本。 Shift+→ 向右选中文本。 Ctrl+Shift+←