分类标签归档:技术分享

linux重启某个主进程


这里以重启gunicorn为例子

  • 查找主进程id(masterpid ) 通过执行以下命令,获取进程树

    pstree -ap|grep gunicorn
  • 执行结果:

    ubuntu@ip-172-31-17-237:~$ pstree -ap|grep gunicorn
    |               |-grep,2784 --color=auto gunicorn
    |   `-gunicorn,1279 /home/ubuntu/.virtualenvs/alpfaceblog/bin/gunicorn DjangoBlog.wsgi:application--n
    |       ...

Read more

Plugin initialization aborted with error Generic error


关于ubuntu环境下的mysql错误:

OperationalError at /admin/article/body/
(2003, "Can't connect to MySQL server on '127.0.0.1' ([Errno 111] Connection refused)")

重启mysql后,大概半小时后,又不断报错,再次重启mysql报错;

$ /etc/init.d/mysqld start
Starting mysqld (via systemctl):  Job for mysqld.service failed because the control p...

Read more

python 项目 通过FFmpeg截取视频部分并生成gif


ffmpeg 命令
ffmpeg -ss 00:00:01 -t 3 -i 视频路径 -vf crop=iw:ih*2/3 -s 320x240 -r 7 存储的gif路径
ffmpeg参数说明:
  • -ss 00:00:01表示从视频第一秒开始截取
  • -t 表示截图3秒钟的视频
  • -vf crop=iw:ih*2/3 表示截取视频的部分区域,其中宽为视频宽度,高为原视频的2/3
  • -r 7 表示每秒帧率为7帧
  • 最后直接加上要生成的gif的路径就会把截取好的视频输出为gif了。
python代码实现:
def get_video_thumbnail_gif(file):
    path = ...

Read more

iOS使用cocoapods 安装libwebp0.6.0遇到Error installing libwebp


可能会遇到libwebp v0.6.0 超时问题:

[!] Error installing libwebp
[!] /usr/bin/git clone https://chromium.googlesource.com/webm/libwebp /var/folders/p6/t42f8nmd7332018zm9m2s3d80000gn/T/d20180415-42656-1hjxh43 --template= --single-branch --depth 1 --branch v0.6.0

Cloning into '/var/folders/p6/t42f8nmd733201...

Read more

Ubuntu 16.04 执行 apt-get install 时报错的解决办法


apt更新如果非正常结束,会留有lock文件、以及许多更新缓存文件,导致无法继续执行apt update操作。解决办法是手工删除这些文件,即可正常使用apt update更新命令。

报错如下:

parallels@ubuntu:~$ sudo apt-get install fcitx-config-gtk
E: dpkg was interrupted, you must manually run 'sudo dpkg --configure -a' to correct the problem.

起初我安装上面的提示执行,依旧报错

sudo dpkg --configure -a

解...

Read more

ffmpeg 制作webp动图


项目实战:

众所周知webp 出自google,它是一种图片的格式, webp减少图片体积,按照官方的说法,在质量相同的情况下,WebP格式图像的体积要比JPEG格式图像小40%。 起初webp并不支持动图,直到后来在0.2.0的版本上加上了动图,称为animated webp。

最早接触webp是因为公司要减小app包的体积,因为公司是做地图导航的,有很多图片资源文件,而且Android和iOS都有相应的解决方案,所以觉得将所有图片资源替换为webp,经过几天的折腾最终减少了将近20m。 这次我要使用animated webp作为客户端动图,是因为其效率和压缩...

Read more

Django关于emoji😆表情存入mysql时的错误


使用Django搭建了一个简单的服务器,用于iOS客户端的服务端;今天在上传数据时总是失败,通过与服务端联调找到问题; 服务端报错内容:

(1366, "Incorrect string value: '\\xF0\\x9F\\x98\\x862' for column 'describe' at row 1")

通过一些网友的分享找到了原因:

我们可以看到错误提示中的字符\\xF0\\x9F\\x98\\x86 ,这对应UTF-8编码格式中的4字节编码(UTF-8编码规范)。正常的汉字一般不会超过3个字节,为什么为出现4个字节呢?实际上是它对应的是智能手机输入法中的表情。那为什么会报错...

Read more

iOS UITableView estimatedHeight为0导致的系列问题


现在项目中TableView基本都是使用cell自适应高度,这当然需要依赖cell子控件的约束,然后设置tableView的estimatedRowHeight预估高度即可。 由于我的粗心导致很奇怪的2个问题: 1.在insert或delete某个cell时会导致某些cell高度为0; 2.第一次单独插入某个cell时的动画很奇怪,可以说刷新的很不Apple。

我以为是cell子控件的布局没有依赖好导致的,经过仔细的排查,并未发觉布局存在问题,最终发觉estimatedRowHeight竟然是0,将其修改为一个差不多的值时,这两个问题解决了。

Read more

iOS系统定位权限弹出框和跳转系统设置


项目要做自定义没开启定位的弹框,但是发现当如果没有定位权限,会弹出的Alert,并点击设置alert上的设置后,可以跳转到系统的定位设置页面的现象,根据调研后可以得到以下结论:

  • 1,改Alert为系统级别Alert,为系统控制弹出,弹出的触发条件为,在需要定位时,直接调用定位接口,系统判断当前定位总开关未开启,则会提示用户是否设置定位功能,用户点击后,跳转系统的定位设置页面。 tu
  • 2,该Alert只能弹出提示两次。
    • 不管用户点击了“设置”还是“取消”按钮,当两次弹出后,以后即使系统级别的定位总开关没开启,也不会再次提示,要再次显示,需要卸载客户端,再次安装。
    • 用户如果在关闭定位总开关时...

Read more