yii2自动生成数据库表migrations

yii2使用代码自动生成数据库表对应migrations

1.首先配置db数据库,例:

2.在console下面实现脚本:

最后运行该方法接口,输出“success”,检查web下生成了多个migrations文件,可以配置生成路径到mirations目录下,也可以生成后复制到migrations目录下,方便使用数据库转移。

js中blur和click事件的冲突

问题:当焦点在输入框时,点击取消按钮会触发blur和click事件,导致需要点击两次取消按钮才能关闭弹窗

原因:这是因为blur事件比click事件先触发,而javascript为单线程,同一时间只能执行处理一个事件,所以当blur处理程序时,导致其后续click事件并不会执行

解决方案1:如果click事件比blur事件先触发就没有问题了,所以可以给blur事件延迟触发

解决方案2:将click事件改为mousedown事件,让其优先于blur事件执行(缺点是用户体验不好,鼠标按下便触发了事件)

解决方案3:给按钮添加一个mousedown事件,在其中执行event.preventDefault()阻止浏览器默认事件,这样点击按钮时输入框就不会失去焦点了

参考:https://www.jianshu.com/p/ad8569eaca0c

安卓安装apk失败错误码-15

应用仅仅属于测试的debug版本,仅限于adb安装,其他安装方式会失败。

用Android Studio编译app,调试的时候一切正常,但是在手机上安装或者是用adb安装的时候就提示失败,adb安装时提示的错误:INSTALL_FAILED_TEST_ONLY。

Android Studio 3.0以上会在debug apk的manifest文件application标签里自动添加 android:testOnly=”true”属性,导致IDE中run跑出的apk在大部分手机上只能用adb install -t 来安装,在一些安卓手机上甚至安装不了
解决办法:在gradle.properties(项目根目录或者gradle全局配置目录 ~/.gradle/)文件中添加android.injected.testOnly=false

以上方法如果还没有用的话。比如,Android Studio 不是用gradle编译的情况下,就需要用如下办法。

在新版AS中,点这个绿三角生成的apk,都会被标记为test only。

正确的做法是,选择Build APK(s),如下图所示:

参考:
https://blog.csdn.net/kernel_/article/details/78780192
https://blog.csdn.net/qq_25330791/article/details/89540054
https://blog.csdn.net/lihenhao/article/details/79146211

PHP 7.3 “continue” targeting switch is equivalent to “break”. Did you mean to use “continue 2”?

Composer PHP7.3 SHA384 is not supported by your openssl extension
在使用composer 更新时候的,报错
解决方法
composer selfupdate
composer self-update

再次报错如下:
SHA384 is not supported by your openssl extension, could not verify the phar file integrity

解决(mac)
重新下载在安装
rm -f /usr/local/bin/composer
curl -s https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer

Remove Your older versions and install the latest version of Composer,
Remove Your older version: sudo rm -f /usr/local/bin/composer
Download the installer: sudo curl -s https://getcomposer.org/installer | php
Move the composer.phar file: sudo mv composer.phar /usr/local/bin/composer

参考:
https://www.heibaiketang.com/forum/show/173.html

Java微信语音amr格式转mp3格式,兼容Linux/Mac/Windows,支持Maven

其实之间用dadiyang的jave库就可以了,建议切换maven到ali的国内镜像库。但是由于mac升级,需要用最新版本的ffmpeg来运行,其它没有什么特别要注意的地方啦。

建议参考我这边fork的库,其实就是更新了ffmpeg-mac这个文件咯。

参考:

https://blog.csdn.net/dadiyang/article/details/85003240

https://github.com/deaboway/jave

https://baijiahao.baidu.com/s?id=1596812208203490238&wfr=spider&for=pc

http://ffmpeg.org/

从Android Studio迁移到IntelliJ,从Gradle2升级到Gradle5.4.1,JNI NDK的配置更新

IntelliJ IDEA,是java编程语言开发的集成环境,在业界被公认为最好的java开发工具之一。参考其官网:https://www.jetbrains.com/idea/。

其实不只是Java,同家公司的Android Studio、PHPStorm、WebStorm、PyCharm、RubyMine的功能,它都有,不就是插件嘛!所以,最近把Android Studio、PHPStorm、WebStorm、PyStorm全部干掉了,所有项目都用IntelliJ来开发。

因为IntelliJ的各种插件都比较新,所以,顺带把Android的各种编译工具和环境更新到相对新的版本,也就有了如下采坑总结,记录一下。

1.gradle.properties

2.根目录下的:build.gradle

3.library目录下的:build.gradle

4.子项目的build.gradle

5.对应的android.mk

6.对应的Application.mk

参考:

https://developer.android.com/ndk/guides/android_mk

https://www.cnblogs.com/webor2006/p/9999063.html

http://wuxiaolong.me/2017/12/27/AndroidNDK/

gradle 插件版本、gradle版本 和buildToolsVersion之间的对应关系

一、主要概念

1、Gradle是什么?

Gradle其实就是一个构建项目的工具,即把一堆堆的目录、文件按照一定的规则关联起来,形成一个项目的自动化构建工具。

Gradle版本,如gradle-4.10.1-all.zip

位置:项目主目录 gradle 文件夹->wrapper->gradle-wrapper.properties

2、Gradle插件又是什么?

Gradle插件是针对Gradle发行版和Android SDK Build Tools封装的一个工具,主要有两大功能:

  1. 调用Gradle本身的代码和批处理工具来构建项目
  2. 调用Android SDK的编译、打包功能

Gradle插件版本

项目主目录下的 build.gradle 中,如“com.android.tools.build:gradle:3.3.0”

Gradle插件会有版本号(3.3.0),每个版本号又对应有一个或一些 Gradle发行版本(一般是限定一个最低版本,如gradle-4.1-all.zip)

3、 Android SDK Build Tools Version:Android SDK 构建工具版本

buildToolsVersion 位置:app 目录->buid.gradle 文件

二、依赖关系

明确概念:

  • Gradle Plugin Version: Gradle 插件版本
  • Gradle Version: Gradle发行版本
  • Android SDK Build Tools Version:Android SDK 构建工具版本

三者依赖关系

  1. Gradle Plugin 有不同的版本号。 即我们常见的:classpath ‘com.android.tools.build:gradle:3.0.1’】,
    每个插件版本号又对应一个或一些 Gradle 发行版本【即我们常见的:gradle-4.1-all.zip】

如果这两个版本对应不上了,那么构建项目的时候就会报错。

  1. Gradle Plugin 还和 Android SDK BuildTool 有关联,因为它还负责和编译相关的功能,这也是为何我们要在 build.gradle 里注明 buildToolsVersion 的原因。

三者对应关系如下表:

plugin versionRequired Gradle versionRequired Gradle version
1.0.0 – 1.1.32.2.1 – 2.3
1.2.0 – 1.3.12.2.1 – 2.9
1.5.02.2.1 – 2.13
2.0.0 – 2.1.22.10 – 2.1321.1.1+
2.1.3 – 2.2.32.14.1+23.0.2+
2.3.0+3.3+25.0.0+
2.3.0+3.3+
3.0.0+4.1+26.0.2+ 不再需要为构建工具指定版本 – 插件默认使用最低要求的版本。可以删除该android.buildToolsVersion属性
3.1.0+4.4+27.0.3+ 不再需要为构建工具指定版本 – 插件默认使用最低要求的版本。可以删除该android.buildToolsVersion属性
3.2.0 – 3.2.14.6+
3.3.0 – 3.3.24.10.1+
3.4.0+5.1.1+

参考链接:

https://blog.csdn.net/gongxiaoou/article/details/81082387

http://www.blogdaren.com/post-2418.html

https://developer.android.google.cn/studio/releases/gradle-plugin

Mac Xampp ‘s Apache Web and MySQL can NOT start

由于是覆盖安装,Apache通过删除lib文件夹中的old文件解决。

由于是覆盖安装,MySQL通过删除/Applications/XAMPP/xamppfiles/var/mysql/ 下的ib_logfile1和ib_logfile0解决

参考:https://stackoverflow.com/questions/33109315/unknown-unsupported-storage-engine-innodb

Echarts不显示tooltip

显示Echarts图,但是tooltip不显示,因为canvas容器的问题。

从代码:

改为:

解决 Mac 从睡眠恢复后没有声音的问题

办法1:终端输入sudo killall coreaudiod命令并输入密码即可!

方法2:

打开活动监视器(在应用程序→实用工具里可以找到)
在右上角的搜索框里输入audio,此时可以搜索到coreaudiod进程
选中coreaudiod进程,点击退出进程按钮,在弹出的对话框中点击退出

方法3:

重置 Mac 上的 NVRAM 或 PRAM
关机,拔掉电源线等待15s
按住键盘Command+Option+P+R 键的同时,记住是同时按开机键。等听到两次启动声之后松开这些按键。