Month: 5月 2018

MySQL 5.7数据库新增字段报 Incorrect date value: ‘0000-00-00’ for column ‘endtime’ at row 2的问题

MySQL 5.7数据库新增字段报 Incorrect date value: '0000-00-00' for column 'endtime' at row 2的问题

在数据库执行 ALTER TABLE `smt_announce` ADD `ischildarea` tinyint(1) DEFAULT '0' COMMENT '是否下发到子区域站点0:否;1:是';报以上错误

是因为数据库里的记录的 endtime字段,存在0000-00-00这样的值. 

最后更新于 2018年10月2日 …

    

到底三段式版本号是什么,以及 Composer 的波浪线符号 ~ 和幂符号 ^ 到底有啥区别

曾经见过太多乱写版本号的(其实现在比以前好很多了),好多 1.9.0 的下个版本必然是 2.0.0, 2.9.0 下个版本必须 3.0.0……主要还是因为之前对版本号的命名就没有规范,大家都是看心情写。后来 semantic versioning 得到推广,版本号取名的情况得到改善,但依然有很多人不知道三段式版本号是什么含义(各种培训学校你们教一下这些规范会死么……)。

简单来说(我也就是搬运一下,上面提到的网站说的更清楚),三段式版本号各个段的含义是:…

软件开发的十二要素(准则)

简介

如今,软件通常会作为一种服务来交付,它们被称为网络应用程序,或软件即服务(SaaS)。12-Factor 为构建如下的 SaaS 应用提供了方法论:

  • 使用标准化流程自动配置,从而使新的开发者花费最少的学习成本加入这个项目。
  • 和操作系统之间尽可能的划清界限,在各个系统中提供最大的可移植性
  • 适合部署在现代的云计算平台,从而在服务器和系统管理方面节省资源。
  • 将开发环境和生产环境的差异降至最低,并使用持续交付实施敏捷开发。
  • 可以在工具、架构和开发流程不发生明显变化的前提下实现扩展

这套理论适用于任意语言和后端服务(数据库、消息队列、缓存等)开发的应用程序。

背景

本文的贡献者者参与过数以百计的应用程序的开发和部署,并通过 Heroku 平台间接见证了数十万应用程序的开发,运作以及扩展的过程。

本文综合了我们关于 SaaS 应用几乎所有的经验和智慧,是开发此类应用的理想实践标准,并特别关注于应用程序如何保持良性成长,开发者之间如何进行有效的代码协作,以及如何 避免软件污染 。

我们的初衷是分享在现代软件开发过程中发现的一些系统性问题,并加深对这些问题的认识。我们提供了讨论这些问题时所需的共享词汇,同时使用相关术语给出一套针对这些问题的广义解决方案。本文格式的灵感来自于 Martin Fowler 的书籍: 

symfony 4 框架安装与使用指南

symfony 4 框架安装与使用指南

注意:需要用PHP7.1版本进行操作。

创建一个新项目

第一步是创建项目。目前, 这需要通过composer create-project来完成。我们可能会释放一个工具来更快地引导项目。

走起:

composer create-project symfony/skeleton demo
cd demo

 

该命令将下载骨架, 该框架仅由一个composer.json文件组成。

 

然后, 它将文件提取到demo目录中, 并自动运行composer installsymfony/flex是要安装的第一个包, 以便它可以挂钩到Composer进程。当Composer安装 (或更新) 其他依赖项时,

        

JS工具库封装:Video转换成Canvas

在PC端,IE9+浏览器对原生视频的支持还是很不错的,然而一到了移动端就会各种兼容性的坑爹问题。

在移动端,各大浏览器厂商对视频会植入许多他们自定义的交互方式(如默认全屏播放、视频不能初始化播放、窗口置顶等等),更坑爹的是这些被植入的交互还无法去掉。移动端的视频行内自动播放看起来确实很棘手。

目前主流有两种方法处理移动端的视频播放问题:

一种是改设计和说服需求方,即使视频不能自动播放或者置顶也不影响页面展示的主要体验;

另一种便是使用canvas来替代video。…