简介
俗话说,“PHP是世界上最好的语言”,因为PHP什么都能干。但是在PHP编程中,你是否会遇到这样的困惑:明明是相同的需求,但是之前写的代码却并不能重用,稍微修改不满足需求,大改又会让页面变样。
是的,由于PHP什么都能干,但是高度灵活性降低了代码的结构性。虽然可以利用三方框架来解决问题,但问题的根本在于缺乏设计模式。
本系列文章将由浅入深的介绍各种设计模式。
面向对象编程
面向对象编程,Object-Oriented Programming(OOP)作为最基本的设计模式并不是什么新鲜的话题,但是大部分新手的PHP编程都是在写流水账,各种拼接字符串,所以这里还是要提一下。
Object-Oriented Pro
继续阅读 »
本文的前身是一篇笔记,比较零碎,发布出来是为了让后续的文章可以有一个基本的参考,本文会持续更新。
NDK 的高性能最常见的场景:多媒体,游戏。此外,利用 NDK 还能练习 C/C++,一举两得。
基本概念
shared library, .so
static library, .a
JNI: Java Native Interface
Application Binary Interface, ABI:我们将符号修饰标准、变量内存布局、函数调用方式等跟可执行代码二进制兼容性相关的内容称为程序的 ABI(摘自《程序员的自我修养》);
Application Programming Interface, API:API 是源码层面
继续阅读 »
简述
ASP.NET SignalR 是一个为 ASP.NET 开发者提供简化 real-time web 应用的库。简化并优化以往 Web 程序耗资源 javascript轮询,以及 Comet Programming 方案,同时为 Web程序 添加了即时能力(realtime)。
继续阅读 »
最近准备从头学习下*nix下的网络编程,参考资料为 unix网络编程 和 The Linux Programming Interface.
IPv4套接字地址结构以sockaddr_in命名,定义在头文件中.
我的系统环境为Arch x86_64 GNU/LINUX,该结构体的定义如下
继续阅读 »
参考 The Linux Kernel Module Programming Guide , linux kernel hacking lessons
继续阅读 »
定义
一个数列S,如果分别是两个或多个已知数列的子序列,且是所有符合此条件序列中最长的,则S称为已知序列的最长公共子序列。例如序列X=ABCBDAB,Y=BDCABA。序列BCA是X和Y的一个公共子序列,但是不是X和Y的最长公共子序列,子序列BCBA是X和Y的一个LCS。
复杂度
对于一般性的LCS问题(即任意数量的序列)是属于NP-hard。但当序列的数量确定时,问题可以使用动态规划(Dynamic Programming)在多项式时间解决。
解法
动态规划的一个计算最长公共子序列的方法如下,以两个序列$X=\langle x_1,x_2,...,x_m \rangle$、$Y=\langle y_1,y_2,...,y
继续阅读 »
content
{:toc}
本文为慕课网 JavaScript深入浅出 JavaScript 面向对象笔记。
概念
面向对象程序设计(Object-oriented programming,OOP)是一种程序设计范型,同时也是一种程序开发的方法。对象指的是类的实例。它将对象作为程序的基本单元,将程序和数据封装其中,以提高软件的重用性、灵活性和扩展性。
——维基百科
继续阅读 »
SSM框架学习:初探
Note:参阅书籍《Spring 3.x企业应用开发实战》
一、Spring
定义
Spring 是分层的 Java SE/EE 应用一站式的轻量级开源框架,以 IoC(Inverse of Control 反转控制) 和 AOP(Aspect Oriented Programming 面向切面编程)为内核,提供了 展现层:Spring MVC 和 持久层:Spring JDBC 以及 业务层:事务管理 等众多的企业级应用技术。
继续阅读 »
前言
上一篇文章Java 注解介绍讲解了下Java注解的基本使用方式,并且通过自定义注解实现了一个简单的测试工具;本篇文章将介绍如何使用Spring Boot的AOP来简化处理自定义注解,并将通过实现一个简单的方法执行时间统计工具为样例来讲解这些内容。
AOP概念
面向侧面的程序设计(aspect-oriented programming,AOP,又译作面向方面的程序设计、观点导向编程、剖面导向程序设计)是计算机科学中的一个术语,指一种程序设计范型。该范型以一种称为侧面(aspect,又译作方面)的语言构造为基础,侧面是一种新的模块化机制,用来描述分散在对象、类或函数中的横切关注点(crosscutting concern)。
继续阅读 »
单元测试Unit Test
很早就知道单元测试这样一个概念,但直到几个月前,我真正开始接触和使用它。究竟什么是单元测试?我想也许很多使用了很久的人也不一定能描述的十分清楚,所以写了这篇文章来尝试描述它的特征和原则,以帮助更多人。
什么是单元测试?
先来看看单元测试的定义,在维基百科英文版中可以找到Kolawa Adam在 Automated Defect Prevention: Best Practices in Software Management 一书中对单元测试的定义:
In computer programming, unit testing is a method by which individual unit
继续阅读 »