装饰者模式 && ES7 decorator装饰器
装饰者模式在提及这个新特性前我们先了解一下设计模式中的装饰者模式。定义装饰者模式能够在不改变对象自身的基础上,在程序运行期间给对像动态的添加职责。与继承相比,装饰者是一种更轻便灵活的做法。装饰者模式v.s.适配器模式装饰者模式和适配器模式都是包装模式(WrapperPattern),它们都是通过封装其他对象达到设计的目的的,但是它们的形态有很大区别。适配器模式我们使用的场景比较多,比如连接不同数据
高级程序员和普通程序员有哪些区别?
很多小白程序员,刚刚踏入社会还是个职场菜鸟,在这条路上走过很多弯路。这条路,或许迷茫过,也放弃过,但最后还是找到了一条属于自己的路。一、主要问题1、没有编程思想或许很多人觉得很扯,但确实是这样的。高级程序员在看到一个需求的时候,总是能够快速在大脑里生成这个需求在现实生活中的映射。每当产品经理提一个需求的时候,高级程序员首先想到的就是,这个需求需要哪些数据库上的改动,对现有的逻辑有什么影响,需要提供
40款非常棒的 jQuery 插件和制作教程
jQuery是一个非常优秀的JavaScript框架,在现在的Web开发项目中扮演着重要角色。jQuery使用简单灵活,同时还有许多成熟的插件可供选择,它可以帮助你在项目中加入一些非常好的效果,让网站有更好的可用性和用户体验。本文向大家分享40个实用的jQuery插件以及制作教程。
Android系统联系人相关介绍以及具体的用法
概述本文主要解读Android系统联系人相关的知识,以及展示联系人相关的操作实例。参考Android官方API。由于Contact在API5的时候废弃,因为其只支持单账号联系人。所以本文就直接介绍ContactContract类ContactsContractContactsContract是什么呢?官方文档是这样描述的:Thecontractbetweenthecontactsprovidera
javascript获取当前时间-学习笔记
function startTime(){ //每隔1秒钟执行updateTime()方法 window.setInterval("updateTime()",1000); } function updateTime(){ //取得当前时间 var date
JS哪些操作会造成内存泄漏?
1.背景介绍 什么是内存泄漏内存泄漏是指一块被分配的内存既不能使用,又不能回收,直到浏览器进程结束。在C++中,因为是手动管理内存,内存泄漏是经常出现的事情。而现在流行的C#和Java等语言采用了自动垃圾回收方法管理内存,正常使用的情况下几乎不会发生内存泄漏。浏览器中也是采用自动垃圾回收方法管理内存,但由于浏览器垃圾回收方法有bug,因此会产生内存泄漏。2.知识剖析
从零开始撸一个Fresco之gif和Webp动画
上一篇文章的链接:从零开始撸一个Fresco之硬盘缓存转载请注明出处Fresco源代码文档翻译项目请看这里:Fresco源代码翻译项目 这个项目会不断更新想学习Fresco源代码的同学一定不要错过。Fresco中有个很重要的功能就是gif和Webp动画的实现,今天我就来讲解一下这个模块,顺便撸了个模块demo出来。这是项目的github地址Fresco动画模块,推荐看博客的时候结合项目一起看,项目
删除某一路径下所有文件
想删除某一路径之下所有文件:删除文件,Insus.NET写了2个方法,名称一样,重载而已。原理简单,即是循环指定路径下所有目录和子目录来进行删除文件。重载的方法,带多一个参数。是想删除几天前的文件,根扰文件的创建日期来判断。代码高亮的一行,Insus.NET是想这个数据不管使用这个方法,输入一个正数或是负数均可。最终处理为一个负数。写到这里,你还可以限制不能输入0值。 public static
[编]使用AutoCompleteExtender实现文本框自动匹配
使用AutoCompleteExtender实现文本框自动匹配引言AjaxControlToolkit是一个丰富的控件集,可以为我们提供许多很炫也很实用的页面功能。编写一个Asp.NetAjax控件是比较耗费精力的,不仅需要有一定的javascript脚本编写能力,还需要了解微软的AjaxLibrary。如果我们急需一些效果,那么可以直接使用AjaxControlToolkit所提供的一些功能。但
如何反编译Android 5.0 framework
在Android平台,对于和硬件交互相关的模块来说,比如:和双卡对应的Telephony模块、和拍照对应的Camera模块,以及Bluetooth模块等等,不同厂商会不同程度的修改Androidframework层对应的原生模块代码来达到他们自己的目的,这就给应用层的开发人员带来了让他们很头疼的适配问题,严重会导致Crash等问题。为了更好的适配,我们不得不对framework层进行反编译,在An
Android开发中的MVP架构详解
最近越来越多的人开始谈论架构。我周围的同事和工程师也是如此。尽管我还不是特别深入理解MVP和DDD,但是我们的新项目还是决定通过MVP来构建。这篇文章是我通过研究和学习各种文章以及专题讨论所总结出来的,它包括以下几点:为什么越来越多的人开始关注架构?首先,MVP是什么?哪种架构才是最好的,MVC,MVVM还是MVP?MVP的利与弊Showmethecode!!!代码展示不幸的,这篇文章将不包括:详
Scapy 2.4.0 发布,基于 Python 的交互式数据包处理库
Scapy是一个功能强大的基于Python的交互式数据包操作工具和库,它能够伪造或解码大量协议的数据包,提供多种类别的交互式生成数据包或数据包集合,对数据包进行操作、发送数据包、包嗅探、应答和反馈匹配等等功能。Scapy支持Python2.7和Python3(3.3-3.6),可运行在Linux、OSX、Windows等不同平台上。Scapy2.4.0更新内容:Mainchanges支持Pytho
php源码学习日志 hash表
php的源码实现中,很多数据是用一张hash表维护的,比如对象的方法,数组等 基本概念 哈希表是一种通过哈希函数,将特定的键映射到特定值的一种数据结构,它维护键和值之间一一对应关系。键(key):用于操作数据的标示,例如PHP数组中的索引,或者字符串键等等。槽(slot/bucket):哈希表中用于保存数据的一个单元,也就是数据真正存放的容器。哈希函数(hashfunction
三种东西永远不要放到mysql数据库里
图片,文件,二进制数据永远不要放到mysql数据库里。很多人会觉得既然数据库支持BLOB类型的数据,把文件塞进BLOB字段里一定没有错了!?错,不是这样的!别的先不提,在很多数据库语言里,处理大字段都不是很容易。把文件存放在数据库里有很多问题:1.对数据库的读/写的速度永远都赶不上文件系统处理的速度2.数据库备份变的巨大,越来越耗时间3.对文件的访问需要穿越你的应用层和数据库层这后两个是真正的杀手
使用fs模块编写一个简单数据库(一)-nodejs
berryDB,npmberryDB,yarnberryDB前些日子,给一部电脑配置mysql时,深感痛苦,深思一段时间后,我痛下决心,要写一个属于自己的数据库。额。。。这名字可以些什么呢?我一扫桌上的酸梅汤,决定了,就叫"berry-database"吧。由于是自娱自乐,所以可以简单实现下。将一个文件夹当成数据库,表为文件。经过深思,这款数据库与平常数据库不同,它目前有三种存储类型,表,数组与便
规范化的SQL数据修改语句总结
1增加字段复制代码代码如下:IFNOTEXISTS(SELECT*FROMSYSCOLUMNSWHEREID=OBJECT_ID('QueryDataSource')andname='IsCrossTable')BEGINALTERTABLEQueryDataSourceADDIsCrossTablebitdefault(0)--插入字段END2存储过程复制代码代码如下:ifexist
ES6编程风格(中)
遍历 forin(返回的是数组的索引)和forof(返回的是数组的值),PS:不支持json对象const arr = ["a","b","c"];const obj ={a:"1",b:"2",c:"3",};for (let i in arr){ console.log(i);//1 2 3}for (let v of arr){ console.log(v);//a b c}fo
用Python写FTP客户端程序
0前言:ftp客户端相信大家都用过,那么我们为什么还要用Python写ftp客户端呢?我想有两个原因:一是写出更好的ftp客户端应用程序,方便大家使用;二是定制一些特殊服务,例如每天定时下载/上传某文件;我还没能力也没时间写出ftp客户端应用程序,前期先分析一下python写ftp客户端的核心部分,即实现上传和下载的关键部分。首先看一下ftp服务器/客户端架构:1FTP服务器/客户端ftp架构上图
php加载memcache模块
如果需要为php增加memcache扩展,按如下方法进行:cd/usr/local/php/bin./peclinstallmemcache 安装时会提示是否开启session支持,输入n,不支持,安装后路径如下:/usr/local/php/lib/php/extensions/no-debug-non-zts-20121212/memcache.so 需要手动配置到php.ini中,增加如下内
Github最火开源项目-高仿今日头条视频列表功能
开源地址:https://github.com/open-android/JieCaoVideoPlayer主要特点视频全屏播放和浮层小窗播放可以完全自定义UI能在ListView、ViewPager和ListView、ViewPager和Fragment等多重嵌套模式下全屏工作手势修改进度和音量视频大小的屏幕适配,宽或长至少有两个对边是充满屏幕的,另外两个方向居中可以在加载、暂停、播放等各种状态