自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(155)
  • 收藏
  • 关注

转载 (转)jQuery中的extend()方法

本文转自:http://www.xiabingbao.com/jquery/2015/05/30/jquery-extend原文的排版要比这里美观很多,建议去原文查看。本文仅仅作为个人的mark,方便自己。 通常我们使用jquery的extend时,大都是为了实现默认字段的覆盖,即若传入某个字段的值,则使用传入值,否则使用默认值。如下面的代码:function

2017-05-16 17:45:19 268

原创 深入了解jQuery之整体架构

本文是在阅读了Aaron艾伦的jQuery源码解析(地址:http://www.imooc.com/learn/172)后的个人体会以及笔记。在这里感谢艾伦老师深入浅出的讲解!! 先来看看如何生成一个jQuery对象,源码:var jQuery = function( selector, context ) { return new jQ

2017-05-16 17:44:41 505

原创 (转)前端面试题

FE-interview$HTML, HTTP,web综合问题常见排序算法的时间复杂度,空间复杂度前端需要注意哪些SEOweb开发中会话跟踪的方法有哪些的title和alt有什么区别doctype是什么,举例常见doctype及特点HTML全局属性(global attribute)有哪些什么是web语义化,有什么好处HTTP method从浏览器地址栏输入url到显示页面的步

2017-05-16 17:43:48 732

原创 jQuery中的end()

要说end(),我们就不得不说prevObject。在jQuery中,每个jQuery对象都有一个prevObject属性var $p = $('p');这个属性是做什么的呢?  jQuery内部维护着一个jQuery对象栈。每个遍历方法都会找到一组新元素(一个jQuery对象),然后jQuery会把这组元素推入到栈中。可能上面这句话让人读起来有

2017-05-16 17:43:07 171

转载 (转)javascript异步编程的四种方法

本文转自:http://www.ruanyifeng.com/blog/2012/12/asynchronous%EF%BC%BFjavascript.html作者:阮一峰本文仅仅作为个人mark,所以排版可能并不优美,建议到原文观看。另:本文在转载过程中加入了个人的一些理解,对原文进行了修改。修改都使用红色字体!请区分你可能知道,Javascript语言的执行环境是"

2017-05-16 17:42:37 234

原创 深入jQuery中的data()

引入  data函数在jQuery中看起来很不起眼, 就像沙滩上一颗平凡的沙子, 但仔细一瞅, 却惊讶的发现data是jQuery中无比重要的一环, 甚至jQuery中各种事件都基于此。data有什么作用?  在我们平时js编码过程中,我们经常会向DOM元素中添加各种自定义属性,这样有一个弊端。  1  假设我们在DOM元素中添加了一个属性,这个属性指向了某个js对象。

2017-05-16 17:42:06 212

原创 python基础之生成器迭代器

1 生成器:为什么要有生成器?  就拿列表来说吧,假如我们要创建一个list,这个list要求格式为:[1,4,9,16,25,36……]这么一直持续下去,直到有了一万个元素的时候为止。如果我们要创建这个list,那么应该是这样的:[i*i for i in range(1,10001)] #列表生成式,不要忘了#结果就不列出来了  这样的话,这个li

2017-05-16 11:21:10 119

原创 Linux基础命令之grep

grep :根据pattern(模式)搜索文本,并将符合模式的文本行显示出来,并不会修改原文件。用法: grep  [options]   ‘ pattern ‘  /file       #也可以利用管道进行匹配-i  ignore  忽略大小写--colour  将匹配的字符串加颜色。-v  反向查找,显示与pattern不匹配的行-o  只

2017-05-16 11:20:27 130

原创 python基础之正则表达式

什么是正则表达式?正则表达式并不仅仅是python的专利,几乎其他的语言都有正则表达式。就比如bash就有正则表达式命令--grep,个人感觉python中的正则表达式类似于grep -o正则表达式是用于处理字符串的强大工具,虽然效率上可能不高,但是功能强大!正则表达式设定了一系列语法,比如说“ . ”表示任意单个字符,\d表示单个数字……  通过组合这些规则我们可

2017-05-16 11:19:47 136

原创 python基础之模块之os模块

os模块os模块的作用:  os,语义为操作系统,所以肯定就是操作系统相关的功能了,可以处理文件和目录这些我们日常手动需要做的操作,就比如说:显示当前目录下所有文件/删除某个文件/获取文件大小……  另外,os模块不受平台限制,也就是说:当我们要在linux中显示当前命令时就要用到pwd命令,而Windows中cmd命令行下就要用到这个,额...我擦,我还真不知道,(甭管怎

2017-05-16 11:15:23 136

原创 python基础之模块之sys模块

sys模块的功能sys是python中较为常用的一个模块,他提供了对python脚本运行时的环境的操作。 sys功能:1  sys.argv     #将python脚本运行时的脚本名以及参数作为一个list,并输出。 View Code2  sys.path    #返回一个list,该list为当前脚本的path环境变量(PYTHONPATH) 

2017-05-16 11:14:14 239

原创 python基础之文件操作

文件操作有很多种  我们在这里可以大体分一下,文件的操作其实可以分为对文件整体的操作(创建文件,删除文件,重命名文件,获取文件属性)以及对文件内容的操作(修改文件内容)  先来看对文件整体的操作:我们按照增删查改的顺序进行讲述1  增  所谓增,即新建。新建一个文件f=open('lalal','w+') #如果该文件(lalal)不存

2017-05-16 11:13:32 153

原创 python之模块之shutil模块

shutil  -- --High-level file operations  高级的文件操作模块。  os模块提供了对目录或者文件的新建/删除/查看文件属性,还提供了对文件以及目录的路径操作。比如说:绝对路径,父目录……  但是,os文件的操作还应该包含移动 复制  打包 压缩 解压等操作,这些os模块都没有提供。  而本章所讲的shutil则就是对os中文件操作的

2017-05-16 11:13:01 330

原创 python基础之面向对象01

什么是面向对象?  所谓面向对象就是将那些具有共同特质的事物组成一个类(Class),在类中为这些特质定义一个个方法(函数)。  具体一点,比如说英雄联盟。在英雄联盟中我们可以把所有的英雄划分为一个英雄类,这个类包含血量/蓝量/攻击力/法术强度/移动速度……的基本属性,同时我们为这些英雄定义了买装备,前后左右移动,受到伤害掉血,释放技能……的功能或者方法,这些基本属性和功能就组成了

2017-05-16 11:12:00 255

原创 python基础之面向对象02

---继承  当我们定义完成某个类时,可以再定义一个新类,新类可以继承第一个类。新类被称为子类,而被继承的类称为父类/基类/超类。  继承就是子类继承父类的属性和方法(注意是类属性和类方法)。  继承可以使子类使用父类中的方法,也可以在子类中新定义某个方法,或者在子类中覆盖父类的方法。  来看一个实例:class animal(object):

2017-05-16 11:11:28 214

原创 python基础之map/reduce/filter/sorted

---map(fun,iterable)  首先来看一看map()函数,map函数接受两个参数,第一个参数是函数的名称,第二个参数一个可迭代对象。即map(fun,iterable)  map函数就是将具体数值根据算法进行计算,并将结果保存为一个迭代器。我们知道,迭代器很'懒',通过调用next函数一次只输出一个值。  来看一个最简单的map()例子。#

2017-05-16 11:10:37 155

原创 python基础之模块之序列化

---什么是序列化(picking)? 我们把变量从内存中变成可存储或传输的过程称之为序列化。 序列化之后,就可以把序列化后的内容写入磁盘,或者通过网络传输到别的机器上。 反过来,把变量内容从序列化的对象重新读到内存里称之为反序列化,即unpickling。 举例:大家应该都玩过魔兽争霸,应该知道该游戏有一个存档的功能,我每次不想玩得时候就可以存档,然后再玩得时候我

2017-05-16 11:09:53 166

原创 python基础之异常处理

--引入  程序运行时,难免出现bug,当出现bug时,用户可能很难明白那一堆报错代码到底是个什么东西,为了让用户能更清楚知道错误原因或者直接对用户将此错误屏蔽,异常处理就应运而生。--格式try:              #输入要运行的代码 pass            except NameError as err:   #将该类型的错误捕获

2017-05-16 11:09:23 188

原创 linux基础命令之sed

什么是sed?sed是一个流编辑器,英文全名为stream editor,流的意思就是能处理文件或者通过管    道传输来的数据。主要针对行,也就是行编辑。默认是不编辑文件的,处理时,把当前    处理的行存储在临时缓冲区中,称之为模式空间(pattern space),接着用sed命令处理      缓冲区中的内容,处理完成后,默认把缓冲区的内容送往至屏幕,接着处理下一行。仅    对模

2017-05-16 11:08:34 154

原创 python基础之socket与socketserver

---引入Socket的英文原义是“孔”或“插座”,在Unix的进程通信机制中又称为‘套接字’。套接字实际上并不复杂,它是由一个ip地址以及一个端口号组成。Socket正如其英文原意那样,像一个多孔插座。一台主机犹如布满各种插座(ip地址)的房间,每个插座有很多插口(端口),通过这些插口接入电线(进程)我们可以烧水,看电视,玩电脑……  应用程序通常通过"套接字"向网络发出请求或者

2017-05-16 11:07:52 190

原创 在通知栏上玩游戏,Steve iOS 游戏实现思路

最近有一款游戏特别的火爆,叫做Steve ,一种可以在通知中心直接玩的游戏。作者的脑洞也是非常的大,实在让人佩服。其实实现起来也简单,就是用到了iOS8新特性 app extension(Today extension),我们先来看看Steve 这图的效果。我打算把一个曾经很火爆的开源游戏移植成控制中心的游戏。没错就是它FlappyBird 传送门首先我们来看以下效果。

2017-05-15 16:16:44 391

原创 ThinkPHP 3.2.x 集成极光推送指北

3.2版本已经过了维护生命周期,官方已经不再维护,请及时更新至5.0版本—— ThinkPHP 官方仓库以上,如果有条件,请关闭这个页面,然后升级至 ThinkPHP 5,如果由于各种各样的原因无法升级至 TP 5 ,请往下看。另外本指南使用环境为 Linux/Mac,若开发环境为 Windwos,则或许可能会有某些问题,如果有任何问题,欢迎在下方评论区留言讨论。参考文档:

2017-05-15 16:11:57 274

原创 MkDocs 文档生成逻辑浅析

Markdown 和 MkDocs 简介Markdown 的语法简洁明了、学习容易,而且功能比纯文本更强,因此有很多人用它写博客。世界上最流行的博客平台 WordPress 和大型 CMS 如 Joomla 、Drupal 都能很好的支持 Markdown 。MkDocs 是一个用于创建项目文档的快速,简单的静态站点生成器。文档源码使用 Markdown 来撰写,用一个 YAML

2017-05-15 16:11:28 414

原创 极光推送的角标问题

我们现在无论何时拿出自己的手机,解锁后的主页上,总能看到一个个的小红点,仿佛在呐喊:有消息啦,不管重不重要,快点我,快来消除我。甚至曾有人掀起了一波潮流:在微信头像上加上小红点。这很直接很彻底地引发了大众的清除强迫症。这也就是为什么我们做 App 的时候,希望在收到了推送消息时,App 能带上一个小红点。在使用得当的情况下,小红点有助于增加 App 的启动率,保持用户粘度。

2017-05-15 16:10:53 3810

原创 聊天界面-自适应文字

该篇文章主要介绍一个实现聊天界面的思路过程,源码可以在 源码链接 获得,该工程实现聊天的基本功能,功能还不够完善,欢迎大家提PR,效果图如下所示我希望通过相对简单的方式实现界面的布局,没有复杂的计算达到自适应的效果。iOS8新功能介绍虽然self size cell最终没有在我的工程中用到,但是这是我曾经挖过的坑,所以在此做了简单的介绍。在iOS 8 中,UIT

2017-05-15 16:10:07 201

原创 C# 服务端推送,十步十分钟,从注册到推送成功

目标展示 C# 服务端集成极光推送的步骤,多图少字,有图有真相。使用极光推送, C# 服务端推送到 Demo App,Android 手机收到推送,整理为十个步骤,使用十分钟左右,完成从注册账号到 Android 手机上的 Demo App 收到推送。1.注册极光账号注册页面: https://www.jiguang.cn/accounts/register/form

2017-05-15 16:08:15 291

原创 认识本质:黑天鹅、关键时刻与张小龙的产品观

最近接触与学习到的几个思想,总结学习下。『黑天鹅』帮你认识世界的本质,『关键时刻』帮你认识商业的本质,张小龙则是从产品的本质出发来做工具的。『黑天鹅』这本书很出名,因为它创造了一个非常独特的视角:认真地看待随机事件,并且是可以采取策略来规避与利用的。世界一定程度上是由黑天鹅事件推动的。之所以黑天鹅事件往往被忽视,是因为其随机性、不可预测性,没有因素关系。而人的认识体系里,是

2017-05-15 16:06:08 164

原创 iOS 轻松使用 App 数据统计

想获取用户各项行为数据吗?想轻松查看用户行为图表吗?想高效进行 App 运营管理吗?想,来我带你玩转 App 数据统计。这里我使用专业、轻便的 JAnalytics。本文内容分为两部分:代码示例&使用技巧部分、控制台图表查看部分。代码示例&使用技巧集成下载 JAnalytics SDK添加 Lib 文件夹下的全部文件至 Xcode Project增加相关的 framew

2017-05-15 16:05:42 426

转载 10 分钟实现一个自己的服务器监控器

需求最近需要给自己的服务器添加监控器,目的是监控服务器的内存、CPU、磁盘占用率,资源占用率过高的话能给自己发个提醒,当前主流的平台一般会提供邮件、短息、甚至会提供微信提醒,不过这类提醒包含的噪音太多了(夹杂着各种无关的社交信息),我只是单纯的需要接收到服务器的预警。由于服务器环境并不复杂,所以不考虑主流的与监控平台(毕竟搭建起来还是挺复杂的)。选择产品有很多产品支持 inco

2017-05-15 16:05:03 937

原创 JPush Android 推送如何区分开发、生产环境

我们 Android 开发者在使用极光推送时可能会发现,在通过官方控制台进行推送时。只有 iOS 区分了开发和生产环境,而 Android 则没有。但实际开发中又确实经常需要针对开发和生产环境分别来推送,这里就讲解下 JPush 如何实现 Android 应用的不同环境推送。首先,我们在极光推送官网控制台中创建两个应用,一个用于生产环境,一个用于开发环境。就像这样:这里推荐

2017-05-15 16:04:24 324

原创 JMessage Android 端开发详解

目前越来越多的应用会需要集成即时通讯功能,这里就为大家详细讲一下如何通过集成 JMessage 来为你的 App 增加即时通讯功能。首先,一个最基础的 IM 应用会需要有哪些功能?用户注册 / 登录管理聊天会话发送消息接收消息那么我们又该如何用 JMessage 来实现这些功能呢?当然啦,你需要先为自己的应用集成 JMessage SDK,具体的集成方法可以参考集成

2017-05-15 16:03:59 734

原创 python bottle 简介

bottle 是一个轻量级的python web框架, 可以适配各种web服务器,包括python自带的wsgiref(默认),gevent, cherrypy,gunicorn等等。bottle是单文件形式发布,源码在这里可以下载,代码量不多,可以用来学习web框架。这里也有官方文档的中文翻译。  首先我们来运行一下bottle的hello worldfrom bottl

2017-05-15 11:32:04 828

原创 gunicorn 简介

gunicorn是一个python Wsgi http server,只支持在Unix系统上运行,来源于Ruby的unicorn项目。Gunicorn使用prefork master-worker模型(在gunicorn中,master被称为arbiter),能够与各种wsgi web框架协作。gunicorn的文档是比较完善的,这里也有部分中文翻译,不过还是建议直接读英文文档。笔者并没有在项目中

2017-05-15 11:31:29 1360

原创 gunicorn Arbiter 源码解析

如前文所述,Arbiter是gunicorn master进程的核心。Arbiter主要负责管理worker进程,包括启动、监控、杀掉Worker进程;同时,Arbiter在某些信号发生的时候还可以热更新(reload)App应用,或者在线升级gunicorn。Arbiter的核心代码在一个文件里面,代码量也不大,源码在此:https://github.com/benoitc/gunicorn。

2017-05-15 11:31:02 233

转载 gunicorn 信号处理(SIGHUP,SIGUSR2)

在这篇文章中,提到了Master进程对信号的处理函数,其中有两个信号比较有意思。SIGHUP:用来热更新(Reload)应用SIGUSR2:用来在线升级(upgrade on the fly)gunicorn下面来详细看一下:SIGHUP:     Reload the configuration, start the new worker processes with a n

2017-05-15 11:30:21 716

原创 gunicorn syncworker 源码解析

gunicorn支持不同的worker类型,同步或者异步,异步的话包括基于gevent、基于eventlet、基于Aiohttp(python版本需要大于3.3),也有多线程的版本。下面是gunicorn当前版本(19.6.0)支持的Worker类型:synceventlet - Requires eventlet >= 0.9.7gevent - Requires gevent >=

2017-05-15 11:29:52 651

原创 python yield generator 详解

目录generator基础generator应用generator基础应用generator高级应用注意事项 正文  本文将由浅入深详细介绍yield以及generator,包括以下内容:什么generator,生成generator的方法,generator的特点,generator基础及高级应用场景,generator使用中的注意事项。本文不包括en

2017-05-15 11:29:25 300

原创 python enhanced generator - coroutine

本文主要介绍python中Enhanced generator即coroutine相关内容,包括基本语法、使用场景、注意事项,以及与其他语言协程实现的异同。enhanced generator  在上文介绍了yield和generator的使用场景和主意事项,只用到了generator的next方法,事实上generator还有更强大的功能。PEP 342为generator增加了

2017-05-15 11:28:56 255

原创 greenlet 详解

目录greenlet初体验greenlet module与classSwitch not callGreenlet生命周期Greenlet Traceinggreenlet使用建议总结 正文   在前面的文章中提到python原生的generator是semicoroutine,而greenlet是 真 协程。本文内容主要来自对官网文档的翻译,在其中也加入了很多自己

2017-05-15 11:26:15 265

原创 无限“递归”的python程序

如果一个函数直接或者间接调用了自己,那么就形成了递归(recursion),比如斐波那契数列的一个实现def fib(n): if n <= 2: return 1 else: return fib(n - 1) + fib(n - 2)  递归一定要有结束条件,否则就形成了死循环, 比如下面的例子:def a()

2017-05-15 11:25:49 209

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除