Longing Blog

热情喂狂风 希望养恶鬼

研发团队GIT开发流程新人学习指南

GIT开放流程

研发团队GIT开发流程新人学习指南 本文定位于为使用GIT标准分支开发流程的开发团队新人提供一份参考指南,其中的内容都是我们公司在研发团队初创时所遵循的一些开发流程标准,经过近一年的实践,虽说还有很多不足,但是随着团队经验的丰富和人员的扩张,我会适时地更新本文,分享我们在使用GIT开发流程中遇到的问题和解决方案。 本文将会持续修正和更新,最新内容请参考我的 GITHUB 上的 程序猿成长...

Laravel-EloquentORM高级部分

优雅的数据库查询

Laravel-EloquentORM高级部分 查询作用域 全局作用域 全局作用域允许你对给定模型的所有查询添加约束。使用全局作用域功能可以为模型的所有操作增加约束。 软删除功能实际上就是利用了全局作用域功能 实现一个全局作用域功能只需要定义一个实现Illuminate\Database\Eloquent\Scope接口的类,该接口只有一个方法apply,在该方法中增加查询...

复杂SQL解析

针对于复杂SQL,我们如何去写

SQL复杂查询 这边主要说到几种SQL的复杂查询 统计 我们对一些网站都会做一些统计数据,针对这些数据我们需要些一些统计sql 我们在对应代码中去请求数据库 这里可以使用SQL里面的视图 来方便查询 视图究竟是什么呢?如果用一句话概述的话,就是“从 SQL 的角度 来看视图就是一张表”。 那么视图和表到底有什么不同呢?区别只有一个,那就是“是否保存 了...

HTTP访问控制(CORS)

跨域资源共享(CORS)

跨域资源共享 跨域资源共享(CORS) 是一种机制,它使用额外的 HTTP 头来告诉浏览器 让运行在一个 origin (domain) 上的Web应用被准许访问来自不同源服务器上的指定的资源。当一个资源从与该资源本身所在的服务器不同的域、协议或端口请求一个资源时,资源会发起一个跨域 HTTP 请求。 比如,站点 http://domain-a.com 的某 HTML 页面通过 的 ...

Elasticsearch搜索服务

强大的Elasticsearch

elasticsearch 安装 1 2 在bin 下面有个脚本 ./bin/elasticsearch -d 是后台运行 elasticsearch-head 集群管理 修改config 下面的yml文件 解决跨域 1 2 http.cors.enabled: true http.cors.allow-origin: "*" 然后使用head插件就能检测...

redis消息订阅

如果你需要一个简单发布/订阅 机制的消息队列

Laravel实现redis发布 订阅消息 如果说我们需要一个比较简单的这种机制,我们可以采用redis这个轻量级的订阅机制,我们可以参考redis的 Publish/Subscribe 机制,得到比较好的问题解决方案 当然,如果是项目比较复杂,可以考虑使用Kafka, RabbitMQ之类的消息队列组件 首先简单介绍关于redis这个机制相关的几个命令 1 2 3 4 5 6 7 8...

php的反射类

功能强大的反射类

反射 反射机制被各种语言广泛使用,主要是用来动态地获取系统中类,实例对象,方法等语言构建的信息,通过反射API函数可以实现对这些语言构建信息的动态获取和动态操作等. 反射API还提供了获取函数,类,和方法等语言构建中的文档注释,下面介绍一个实例 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27...

后期静态绑定

php的后期静态绑定

后期静态绑定 在看到后期静态绑定这个词的时候,感觉挺官方的,不太好理解,这里为我权当做个笔记了 即在类的继承过程中,使用的类不再是继承的类.而是调用的类,通过static关键字来实现,“static”不在被解析定义为当前方法所在的类,而是在实际运行时计算得到的,即为运行时最初调用的类,虽然称为后期静态绑定 但是并不局限于静态方法的调用 1 2 3 4 5 6 7 8 9 10 ...

程序开发方式

亘古不变的开发方式只会让你被淘汰

现在的开发方式—-敏捷开发 敏捷开发以用户的需求进化为核心,采用迭代、循序渐进的方法进行软件开发。在敏捷开发中,软件项目在构建初期被切分成多个子项目,各个子项目的成果都经过测试,具备可视、可集成和可运行使用的特征。换言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。 为什么要使用敏捷开发? 作为程序员,写的程序如果功能没有问题...

React-native iOS打包记录

react-native App打包

iOS打包 打包命令介绍 通过React Native的react-native bundle命令来进行打包的。 react-native bundle的详细命令选项。 其中常用命令选项: –entry-file ,ios或者android入口的js名称,比如index.ios.js –platform ,平台名称(ios或者android) –dev ,设置为fa...