编程笔记

  • PHP设计模式之状态模式定义与用法详解

    本文实例讲述了PHP设计模式之状态模式定义与用法。分享给大家供大家参考,具体如下: 什么是状态设计模式 当一个对象的内在状态改变时允许改变其行为,这个对象看起来像是改变了其类。 状态模式主要解决的是当控制一个对象状态的条件表达式过于复杂时的情况。把状态的判断逻辑转移到表示不同状态的一系列类中,可以把复杂的判断逻辑简化。

  • php设计模式之状态模式实例分析【星际争霸游戏案例】

    本文实例讲述了php设计模式之状态模式。分享给大家供大家参考,具体如下: 星际的一些兵种会有不止一种状态,比如坦克可以架起来,机枪兵可以打兴奋剂,甚至还有一些被动的,比如被虫族女王喷洒绿色液体后,敌人的行动变慢。 如果按照一般的思路,每次我们对一个小兵进行操作的时候,比如一辆坦克,我们都要用if判断他的状态,这样代码中会有很多的if,else或者swith。 不过我们

  • PHP设计模式入门之状态模式原理与实现方法分析

    本文实例讲述了PHP设计模式入门之状态模式原理与实现方法。分享给大家供大家参考,具体如下: 想必大家都用过自动售卖的自动饮料机吧,塞入硬币或纸币,选择想要的饮料,饮料就会在机器的下方滚出。大家有没有相关如果用程序去写一个饮料机要怎么样实现呢? 首先我们可以分享一下这部饮料机有几种状态 一、没有钱的状态 二、有钱的状态 三、售出的状态

  • PHP设计模式之适配器模式代码实例

    目标: 可将一个类的接口转换成客户希望的另外一个接口,使得原本不兼容的接口能够一起工作。通俗的理解就是将不同接口适配成统一的API接口。 角色: Target适配目标,该角色定义把其他类转换为何种接口,也就是我们的期望接口。 Adaptee被适配者,就是需要被适配的接口。 Adapte

  • jquery插件bootstrapValidator数据验证详解

    因为项目需要数据验证,看bootstrapValidator 还不错,就上手一直,完美兼容,话不多说。 bootstrap:能够增加兼容性的强大框架. 需要引用css: bootstrap.min.css bootstrapValidator.min.css js:

  • JavaScript 格式化数字、金额、千分位、保留几位小数、舍入舍去

    前端开发中经常会碰到用 JavaScript?格式化数字,最最常见的是格式化金额,一般格式化金额需要千分位分隔,保留2位小数等等。 简单的功能函数 类似的代码网上有很多: ** * 将数值四舍五入保留2位小数后格式化成金额形式 * * @param num 数值Number或者String

  • 直接在JS里创建JSON数据然后遍历使用

    之前我已经有讲过后台返回json数据到前台,并在前台遍历json数据。 这里讲下直接在JS里创建JSON数据,然后遍历使用~ 创建代码如下:(创建的是JSON对象) var YearSelect = {}; var Year = 2014; var DateOption; for var i = Year; i Year + 12; i

  • javascript for-in有序遍历json数据并探讨各个浏览器差异

    object本身就是无对象的集合,因此在用 for-in 语句遍历对象的属性时,遍历出的属性顺序与对象定义时不同。 了解W3C标准: 根据 ECMA-262(ECMAScript)第三版中描述,for-in 语句的属性遍历的顺序是由对象定义时属性的书写顺序决定的。 关于 ECMA-262(ECMAScript)第三版中 fo

  • JavaScript遍历Json串浏览器输出的结果不统一问题

    没有介绍正文之前先给大家说下json是什么。 JSONJavaScript Object Notation 是一种轻量级的数据交换格式,我们称之为JavaScript对象表示法。使用JSON进行数据传输的优势之一是JSON实际上就是JavaScript。它基于ECMAScript第3版中JavaScript对象字面量语法子集的一种文本格式。这表示可以使用respon

  • js遍历json对象所有key及根据动态key获取值的方法(必看)

    实例如下: var obj = {}; forvar k in obj { 遍历对象,k即为key,obj[k]为当前k对应的值 console.logobj[k]; } 以上这篇js遍历json对象所有key及根据动态key获取值的方法必看就是小编分享给大家的全部内容了,希望能给大家一个参考,也

  • javascript遍历json对象的key和任意js对象属性实例

    使用 keys 方法获取该对象的属性和方法: function Pastagrain, width, shape { this.grain = grain; this.width = width; this.shape = shape; this.toString = function

  • Ajax返回的json遍历取值并显示到前台的方法

    使用$.eachdata,functioni,n{}; 可以用n.字段,取到想要的值。 $.ajax{ type: 'post', url: 'XXX', dataType: 'json', success:functiondata{ var item; $.eachdata,functioni,resul

  • js获得当前系统日期时间的方法

    本文实例讲述了js获得当前系统日期时间的方法。分享给大家供大家参考。具体实现方法如下: !DOCTYPE html PUBLIC "-W3CDTD XHTML 1.0 TransitionalEN" "http:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd" html xmlns="http:w

  • 带你了解PHP7 性能翻倍的关键

    20岁老牌网页程序语言PHP,最快将在10月底释出PHP 7新版,这是十年来的首次大改版,最大特色是在性能上的大突破,能比前一版PHP 5快上一倍,PHP之父Rasmus Lerdorf表示,甚至能比HHVM虚拟机下的PHP程序性能更快。 HHVM 是脸书为自家网站特性而量身客制的PHP优化机制,不见得适用任何网站。但Rasmus Lerdorf表示,新版目标之一就是要让任何网站开发者,就连使用开发框架

  • php7性能提升的原因详解

    为什么PHP7的性能可以提高这么多? 1. JIT 2. Zval的改变 3. 内部类型zend_string 4. PHP数组的变化(HashTable和Zend Array) 5. 函数调用机制(Function Calling Convention) 6. 通过宏定义和内联函数(inline),让编译器提

  • Java线程编程中Thread类的基础学习教程

    一.线程的状态   在正式学习Thread类中的具体方法之前,我们先来了解一下线程有哪些状态,这个将会有助于后面对Thread类中的方法的理解。   线程从创建到最终的消亡,要经历若干个状态。一般来说,线程包括以下这几个状态:创建new、就绪runnable、运行running、阻塞blocked、time waiting、waitin

  • Java多线程编程中的两种常用并发容器讲解

    ConcurrentHashMap并发容器  ConcurrentHashMap可以做到读取数据不加锁,并且其内部的结构可以让其在进行写操作的时候能够将锁的粒度保持地尽量地小,不用对整个ConcurrentHashMap加锁。 ConcurrentHashMap的内部结构   ConcurrentHashMap为了提高本身的并发能力,在内部采用

  • 学习php设计模式 php实现享元模式(flyweight)

    一、意图 运用共享技术有效的支持大量细粒度的对象 享元模式变化的是对象的存储开销 二、享元模式结构图 img src="https:img.nhooo.comstaticupload2103120656230.jpg?2015117163826"

  • 学习php设计模式 php实现策略模式(strategy)

    一、意图 定义一系列的算法,把它们一个个封装起来,并且使它们可相互替换。策略模式可以使算法可独立于使用它的客户而变化 策略模式变化的是算法 二、策略模式结构图 img src="https:img.nhooo.comstaticupload2103

  • 学习php设计模式 php实现状态模式

    一、意图 允许一个对象在其内部状态改变时改变它的行为。对象看起来似乎修改了它的类 状态模式变化的位置在于对象的状态 二、状态模式结构图 img src="https:img.nhooo.comstaticupload2

  • 学习php设计模式 php实现适配器模式

    一、意图 将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原来由于接口不兼容而不能一起工作的那此类可以一起工作 二、适配器模式结构图 img src="https:img.nhooo.comstaticupload21031206561

  • nginx url自动加斜杠及301重定向的问题

    nginx url自动加斜杠问题及301重定向,URL指向一个目录并且在最后没有包含斜杠,会301重定向跳转,添加server_name或修改访问重定向。 nginx url自动加斜杠问题及301重定向 内部服务器使用nginx,做网站测试之用。不同域名使用端口号区分,如www用默认的80端口,其它域名用81,82... 有时直接在地址栏敲网址,会

  • 详解Nginx 反向代理、负载均衡、页面缓存、URL重写及读写分离详解

    注,操作系统为 CentOS 6.4 x86_64 , Nginx 是版本是最新版的1.4.2,所以实验用到的软件请点击这里下载: CentOS 6.4下载地址:https:www.nhooo.comsofts78243.html Nginx下载地址:https:www.nhooo.comsofts35633.html stron

  • nginx实现根据URL转发请求的实战经历

    前言 因为这久完成了一个分布式文件系统的内网外穿部署,使用fastdfs,该应用部署到8088端口,它的后台管理系统部署在8089端口同一个内网服务器,该后台管理系统的服务要请求fastdfs服务,可以直接请求同一个服务器的资源,但是我们现在只外穿了后台管理系统Springboot项目,不通过公网分配的IP只能访问到后台管理系统,要直接访问fastdfs服务

  • 在phpstudy集成环境下的nginx服务器下配置url重写

    直接在对应的vhosts.conf配置文件的location {}中添加以下内容: location { index index.html index.htm index.php; #autoindex on; if !-e $request_filename { rewrite ^.*$ index.php?s=$1 last;

  • Nginx URL重写rewrite机制原理及使用实例

    URL重写有利于网站首选域的确定,对于同一资源页面多条路径的301重定向有助于URL权重的集中 Nginx URL重写(rewrite)介绍 和apache等web服务软件一样,rewrite的组要功能是实现RUL地址的重定向。Nginx的rewrite功能需要PCRE软件的支持,即通过perl兼容正则表达式语句进行规则匹配的。默认参数编译n

  • Nginx 根据URL带的参数转发的实现

    使用场景: 需要根据截取URL动态配置跳转路径,常见于访问内网不固定ip地址的文件图片, 请求地址:http:11.19.1.212:82bimg432.52.62.42:222DownLoadFile?filename=LOC:12data20180208152e0ae54dfd752210083404deed15269c

  • javascript实现随机显示星星特效

    本文实例讲解了javascript实现随机显示星星特效的详细代码,具体内容如下 (1)网页背景是黑的 (2)星星随机大小:min=15,max=80 (3)星星的坐标是随机的: stro

  • 实例讲解分布式缓存软件Memcached的Java客户端使用

    Memcached介绍 下面就来介绍一下Memcached。 1、什么是Memcached Memcached是一个开源的高性能,分布式的内存对象缓存系统,通过键值队的形式来对数据进行存取,Memcached是简单而强大,它的简单设计促进快速部署,易于开发,解决了大数据缓存面临的许多问题。 官方网址是:http:

  • Linux 命令每天必学(34)之du命令

    Linux du命令也是查看使用空间的,但是与df命令不同的是Linux du命令是对文件和目录磁盘使用的空间的查看,还是和df命令有一些区别的. du bin和du -s bin有什么区别呢? -s 就是summary, 显示该目录占用空间的总和 区别在于bin下面有子目录的时候, 因为bin没有子目录所以结果相同, 比如 p

  • Linux du命令查看文件夹大小并按降序排列

    1. df -lh 2. du -s usr* | sort -rn 这是按字节排序 3. du -sh usr* | sort -rn 这是按兆(M)来排序 4.选出排在前面的10个 du -s usr* | sort -rn | head 5.选出排在后面的10个 p

  • 一天一个shell命令 linux好管家-磁盘-du命令详解

    du命令 磁盘管理 du命令也是查看使用空间的,但是与df命令不同的是Linux du命令是对文件和目录磁盘使用的空间的查看,还是和df命令有一些区别的。 语法 du [选项][文件] 选项 -a或-all 显示目录中个别文件的大小。 -b

  • Linux中du-查看文件夹大小并按大小进行排序详解

    Linux中du-查看文件夹大小并按大小进行排序详解 某天,我想检查一下电脑硬盘的的使用情况,作为一个命令控,废话少说,开始吧: 使用df 命令查看当前磁盘使用情况: jack@jiaobuchong:~$ df -lh Filesystem Size Used Avail Use% Mounted on dev

  • android实现模拟加载中的效果

    最近闲着没事做了一个Android小程序,具体如下: 效果图: 原始界面 点击按钮运行 im

  • Android intent之间复杂参数传递方法详解

    本文详细讲述了Android intent之间复杂参数传递方法。分享给大家供大家参考,具体如下: Intent是Activity与Activity之间,Activity与Service之间传递参数的介质,而这两种通常实现的是Java基本对象类型和String的传递。 在实际项目中,页面之间传值,除了以上几种,经常还有传递Object对象、List类型、ListObject类型和全

  • 微信开发 使用picker封装省市区三级联动模板

    目前学习小程序更多的是看看能否二次封装其它组件,利于以后能快速开发各种小程序应用。目前发现picker的selector模式只有一级下拉,那么我们是否可以通过3个picker来实现三级联动模板的形式来引入其它页面中呢?答案是肯定可以的。那么我的思路是这样的: 1、使用template模板语法进行封装,数据从页面传入 2、根据picker组件的语法,range只能是一组中文地区数组,但是

  • 两种方式创建docker镜像的启动容器时区别介绍(总结篇)

    Docker是建立在Linux内核基础上的,在目前的主流Linux系统中,都已经原生支持了Docker且使用体验也最好,当然,在Windows平台和MacOS系统中也支持Docker,只是需要使用类似Boot2Docker等虚拟化工具来提供Linux支持。 下面重点给大家介绍基于两种创建docker镜像的启动容器时区别,感兴趣的朋友可以跟着小编一起学习! 1.凡是用do

  • Easyui的组合框的取值与赋值

    近期由于工作需要,用户点击下拉框可以试下多选的效果,效果大致如下图: 实现的代码如下: select id="iweekDay" clas

  • JS制作适用于手机和电脑的通知信息效果

    今天项目基本都提测完了,所有利用空闲时间,写两篇文章。上一篇《如何搭建node工程》想必大家有需要学习的都已经看过了。这篇文章最后展示出来的效果确实很棒,所以在这里,想记录下来,以后自己也可以看看。 还是和以前一样的套路,咱们一步一步讲,这样看的思路很明了。 先看一下效果吧: 注意右下角,出现的弹出消息,我们实现的就是这样的效果。 p style="te

  • MySQL命令行导出导入数据库实例详解

    MySQL命令行导出数据库: 1,进入MySQL目录下的bin文件夹:cd MySQL中到bin文件夹的目录 如我输入的命令行:cd C:\Program Files\MySQL\MySQL Server 5.5\bin 或者直接将windows的环境变量path中添加该目录 2,