领域驱动设计(Domain Driven Design)

2019-03-16
阅读 4 分钟
6k
软件是一种被创建用来帮助我们处理现代生活中复杂问题的工具,它只是到达目的的一种方法(不是一定要使用软件)。【手机、操作系统、IM、email】

跨域访问

2018-12-24
阅读 2 分钟
1.3k
浏览器出于安全和隐私的原因,对于XMLHttpRequest请求,禁止不同域名,不同端口,不同协议间的脚本相互影响,跨域脚本无效。如上图(摘自参考1)用户在浏览器浏览网站,如果javascript脚本请求了yahoo的接口或者文件,会报类似下图这样的错误。

Php本地多版本安装

2018-06-05
阅读 3 分钟
2.8k
lumen和laravel可以使用自带的install进行安装(可参照参考1和参考2),令人发指的是最新的安装器默认采用的是php7.1,本地的环境是7.0,所以得不失礼貌微笑的说一声:干得漂亮!

Ajax提交数据

2018-05-27
阅读 4 分钟
2.2k
在业务上面使用到了ajax上传图片,采用的方式是提供一个公用的api进行图片上传,然后返回图片的在服务器的url,这样在其他地方使用到时,直接提交图片的url,而不是图片资源,避免影响应能和体验,也方便后期切换(如果后期采用了第三方图片服务,或者对图片需要进行处理,只要改造这个接口就好了)。

ApiBlueprint在laravel框架中的使用

2018-04-03
阅读 3 分钟
2k
使用MarkDown出接口文档,放在共同的gitlab仓库上面,前后端都可以访问(只要约定好谁修改就好了,避免两个人都修改出现差异),作为一个经常写方法注释的好程序员来说(其实你的leader也会要求你),要在每一个接口上面写上几行方法注释,注明这个方法是做啥的,不然别人接手不便捷 ^_^;

ApiDoc的使用

2018-04-03
阅读 1 分钟
3.8k
apiDoc是一个接口文档,它的创建方式是基于你的源代码的接口备注。我们只需要给接口写好相应的文档,然后使用apiDoc生成接口文档工具生成文档,便于管理和查看。

ElasticSearch的使用

2018-03-22
阅读 3 分钟
3.3k
简介 ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。 安装elasticsearch {代码...} 1.结果: 2.开启、关闭、重启es {代码...} 3.灌入数据方式(测试时我使用的是postman) 安装elasticsearch-head 1.目的:用于查看es的状态和信息(也可以查看数据)。 2...

MongoDB的使用

2018-03-13
阅读 2 分钟
1.5k
MongoDB 是一个基于分布式文件存储的数据库。由 C++ 语言编写。旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。

Memcached的使用

2018-03-13
阅读 1 分钟
3.1k
Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态、数据库驱动网站的速度。Memcached基于一个存储键/值对的hashmap。其守护进程(daemon )是用C写的,但是客户端可以用任何语言来编写,并通过Memcached协议与守护...

Redis的简易使用

2018-03-10
阅读 3 分钟
1.7k
REmote DIctionary Server(Redis) 是一个由Salvatore Sanfilippo写的key-value存储系统。Redis是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。

PHP日常开发小结

2018-03-04
阅读 1 分钟
3.2k
参考一些博主的经验和自己的开发经验进行总结-持续更新ing。 功能设计 功能尽量模块化; 类的设计尽量单一,函数功能单一; 需要uml图(类图、时序图、组件图)、文档沉淀; 编写风格 遵循PSR-1 基础编码规范[链接] 遵循PSR-2 编码风格规范[链接] 注释!!! 常量、env代替硬编码 路由遵循RestfulApi原则 created_at(INT...

类的设计原则-SOLID

2018-03-03
阅读 5 分钟
1.8k
S: 单一职责原则 (SRP) O: 开闭原则 (OCP) L: 里氏替换原则 (LSP) I: 接口隔离原则 (ISP) D: 依赖反转原则 (DIP) 迪米特法则

Thrift-简单实用

2018-02-23
阅读 7 分钟
7k
Apache Thrift是一个软件框架,用来进行可扩展跨语言的服务开发,结合了软件堆栈和代码生成引擎,用来构建C++,Java,Python...等语言,使之它们之间无缝结合、高效服务。

PHPUnit-手册总结

2018-02-23
阅读 3 分钟
2.4k
用 @dataProvider 标注来表达数据供给器(AdditionProviderTest.php)同一个测试中组合使用 @depends 和 @dataProvider(DependencyAndDataProviderComboTest.php)

Python-爬一下豆瓣电影

2018-02-22
阅读 3 分钟
2.4k
简介 纯属python小练习 文件结构 html_downloader.py - 下载网页html内容 {代码...} html_outputer.py - 输出结果到文件中 {代码...} html_parser.py: 解析器:解析html的dom树 {代码...} spider_main.py - 主函数 {代码...} 综述 其实就是使用了urllib2和BeautifulSoup库,没啥好说的,你也可以直接改url,然后更改html...

Xhgui+Tideways的使用

2018-02-22
阅读 4 分钟
6.9k
xhgui基于xhprof,以图形化方式显示结果。简单点就是更加直观。采用tideways + xhgui组合的原因是我的PHP版本是7,而xhprof不支持,(虽然我安装了一个支持php7的xhprof,但是没有数据,猜测和xhgui不兼容。)

xhprof的使用

2018-02-22
阅读 4 分钟
3.3k
XHProf是一个分层PHP性能分析工具。XHProf是一个分层PHP性能分析工具。它报告函数级别的请求次数和各种指标,包括阻塞时间,CPU时间和内存使用情况。一个函数的开销,可细分成调用者和被调用者的开销,XHProf数据收集阶段,它记录调用次数的追踪和包容性的指标弧在动态callgraph的一个程序。它独有的数据计算的报告/后处...

Restful Api

2018-02-22
阅读 2 分钟
1.7k
简介 Resource Representational State Transfer(不知是啥) 特征 (1) 每一个uri代表一种资源; (2) 客户端和服务器之间,传递这种资源的某种表现层; (3) 客户端通过四个HTTP动词(GET、POST、DELETE、PUT),对服务器端资源进行操作,实现"表现层状态转化"(增删改查)。 (4) URL中通常不出现动词,只有名词 (5) 使用JSON不...

Git的简易使用

2018-02-22
阅读 3 分钟
1.6k
工作区在计算机上的体现就是一个目录,与其它目录区别是其下有一个隐藏的 .git 目录,该目录就为版本库,是git的核心,不要随便手动修改此目录的内容。版本库中有三个最重要的文件,index,称为暂存区stage;分支文件,如master;HEAD文件,保存指向当前版本库中当前分支的指针。 比如在某个目录git init的时候该目录就...

B树和B+树

2018-02-22
阅读 6 分钟
3.1k
在计算机科学中,B树(英语:B-tree)是一种自平衡的树,能够保持数据有序。这种数据结构能够让查找数据、顺序访问、插入数据及删除的动作,都在对数时间内完成。B树,概括来说是一个一般化的二叉查找树(binary search tree),可以拥有多于2个子节点。与自平衡二叉查找树不同,B树为系统大块数据的读写操作做了优化。B...

Zend引擎

2018-02-22
阅读 2 分钟
3.8k
Zend有两部分组成,即编译器和执行器。编译器负责将PHP代码编译为抽象语法树,然后进一步编译为可执行的opcodes,这个过程相当于GCC的工作,编译器是一个语言实现的基础;执行器负责执行编译器输出的Opcodes,也就是执行PHP脚本中编写的代码逻辑。Opcode是将PHP代码编译产生的Zend虚拟机可识别的指令,php7共有173个Opco...

PHP的生命周期

2018-02-22
阅读 2 分钟
8.8k
SAPI是一个用来帮助其他开发程序扩展web服务器功能的应用程序接口(api)。它将外部条件抽象, 为内部的PHP提供一套固定统一的接口, 使得PHP自身实现能够不受外部环境影响,保持一定的独立性。PHP中常用的SAPI有cli(命令行模式,单进程)、php-fpm、CGI、Apache...有点像策略模式,使用相同的接口,但是实现会略有不同。