我最近研究分析了在 SWIS上面创建的项目的性能.令人惊讶的是,最耗费性能的方法之一是优秀的  spatie/laravel-permission 包造成的. 经过查阅更多资料和研究,发现一个可能明显改善的性能问题 .既然解决方案已明确阐述,就很容易编写代码改善,提交请求. 现在这个解决方案已被合并和发布,下面是这个性能问题的分析和如何在自己的项目避免这类问题. TL;DR: 跳转到结论部分. 性能瓶颈 如果我们抽象的看 spatie/laravel-permission 它主要做两件事: 保持…
web开发性能优化---安全篇 1.ip验证 2.操作日志.安全日志.登录日志 3.SQL注入校验 4.权限管理 5.验证规范(前端.后端.数据库约束) 2014-10-29 08:04   2773 web开发性能优化---扩展性能篇 1.实现代码分离 一个成熟的软件开发团队一般都不会完全手写代码,这里讲的代码分离只要是开发中用到的小技巧,通过底层框架+手工代码方式结合实现快速开发和快速扩展: 2.模块化开发 模块化结构开发,尽量减... 2014-10-29 08:03   2399 web…
在使用elementUI构建公司管理系统时,发现首屏加载时间长,加载的网络资源比较多,对系统的体验性会差一点,而且用webpack打包的vuejs的vendor包会比较大.所以通过搜集网上所有对于vuejs项目的性能优化,做了有关3方面的优化建议,主要包括:上线代码包打包.源码编写优化.用户体验优化.(下面的优化建议只在vue-cli脚手架下做过测试,详情请参考) 1.代码包优化 屏蔽sourceMap 待下项目开发完成.进行打包源码上线环节,需要对项目开发环节的开发提示信息以及错误信息进行屏蔽…
项目初始化 注意:安装前请确保有安装node.js,并且node>=8.9 全局安装vue npm install -g @vue/cli 如果之前安装了vue旧版本,查看vue --version 创建项目 vue create vue-cli3-init(项目名) 注:名称不能采用驼峰 vue-cli3也可以采用UI面板进行配置,相对比较方便,目前先写命令行创建,后续再加上面板创建. 选择配置,默认配置还是手动,这里我选择手动Manually,继续回车会让你选择你想要功能. (不用用git窗…
在使用elementUI构建公司管理系统时,发现首屏加载时间长,加载的网络资源比较多,对系统的体验性会差一点,而且用webpack打包的vuejs的vendor包会比较大.所以通过搜集网上所有对于vuejs项目的性能优化,做了有关3方面的优化建议,主要包括:上线代码包打包.源码编写优化.用户体验优化.(下面的优化建议只在vue-cli脚手架下做过测试,详情请参考) 1.代码包优化 屏蔽sourceMap 待下项目开发完成.进行打包源码上线环节,需要对项目开发环节的开发提示信息以及错误信息进行屏蔽…
Laravel大型项目系列教程(三)之发表文章 一.前言 上一节教程中完成了用户管理,这节教程将大概完成发表Markdown格式文章并展示的功能. 二.Let's go 1.数据库迁移 文章模块中我们需要建立articles.tags以及article_tag表,每篇文章会有一到多个标签,每个标签会有一到多篇文章,创建迁移文件: $ php artisan migrate:make create_articles_table --create=articles $ php artisan mig…
Laravel大型项目系列教程(二) 一.前言 本节教程将大概实现用户的注册.修改个人信息.管理用户功能. 二.Let's go 1.创建用户注册视图 $ php artisan generate:view users.create 修改app/views/users/edit.blade.php: @extends('_layouts.default') @section('main') <div class="am-g am-g-fixed"> <div clas…
Laravel大型项目系列教程(一) 一.课程概述 1.课程介绍 本教程将使用Laravel完成一个多用户的博客系统,大概会包含如下内容: 路由管理. 用户管理,如用户注册.修改信息.锁定用户等. 文章管理,如发表文章.修改文章等. 标签管理,文章会有一到多个标签. 数据库管理,如迁移.填充数据等. Web表单验证. Blade模版引擎. 分页处理. 安全处理. 单元测试. 部署到应用服务器Apache. 尽量保证每节教程完整并能运行,会在教程的最后附上这节教程的代码下载地址. Tip:教程中必…
如今在现代网络开发中,比较流行的模式是基于 API 开发,可以通过手机或网站来创建服务. Laravel 是创建基于 API 的项目的最佳框架之一,它为世界各地的大型社区提供了高速开发. Laravel 内置的项目包括 Composer,允许您添加一些包,使开发更快. 当您决定启动新的基于 API 的项目时,以下几个有用的软件包必须安装.   1. Barryvdh/laravel-debugbar 调试是开发过程中非常重要的一个环节, 通过分析问题,来找到问题,从而解决问题. Laravel…
记一次构建SaaS平台项目失败后的反思 前言: 笔者从2017年起开始着手将公司现有的软件系统改造成多租户模式,以降低整个系统的运营成本.但最后这个项目以失败告终.今天,我将对这个SaaS项目是如何走向失败,做一个分析和反思. 此前,我们花费了两年的时间研发了一套教学系统,考虑到用户的数量与营运成本,后期决定将这套单体的应用程序改造为基于SaaS架构的多租户应用程序.经过短暂的需求分析后,便开始了重构工作.经过一年的艰苦奋斗,SaaS化的产品不仅用户不能接受,就连我们自己也无法成功运营.其功能的…