分类
日常记录

灰度站点

body *{
	-webkit-filter: grayscale(100%); /* webkit */
	-moz-filter: grayscale(100%); /*firefox*/
	-ms-filter: grayscale(100%); /*ie9*/
	-o-filter: grayscale(100%); /*opera*/
	filter: grayscale(100%);
	filter:progid:DXImageTransform.Microsoft.BasicImage(grayscale=1); 
	filter:gray; /*ie9- */
}

大概就是这样一段样式。

分类
日常记录

一些 ssl 证书 与 http2.0 可能让 iOS 设备请求 httpcode 421

事情是这样的,我在开发微信小程序直播的相关工作,我的主力机是华为的,本来事情进展的还不错。不过当我用 iPhone 测试的时候,步入入了两天的噩梦。

经过一番调查,我觉得我解决了问题。

我的环境使用的是 Let’s Encrypt 泛域名证书。直播使用的是七牛云的demo,因为先完成测试才会进入真正的开发。这个七牛云的demo是 node 写的,我在服务器上用宝塔提供的工具进行了部署。

部署完成后,其他 PHP 部分的请求都还好用,不知道为啥,七牛云的demo也很好用。但是把他们的代码放到我的小程序里面就不好用了。

服务器接收到了请求,长的下面这个样子:

[03/Apr/2020:12:00:50 +0800] "GET /wechat/api/activeuser HTTP/2.0" 421 391 "https://servicewechat.com/wx3f5537d8cddc233a/0/page-frame.html" "Mozilla/5.0 (iPhone; CPU iPhone OS 12_4_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 MicroMessenger/7.0.12(0x17000c27) NetType/WIFI Language/zh_CN"

我们可以看出,这是个 http2.0 的请求。返回数据是下面这个样子:

Misdirected Request
The client needs a new connection for this request as the requested host name does not match the Server Name Indication (SNI) in use for this connection.

Apache Server at live.guodapeng.icu Port 443

这件事情看上去很不简单,相当可怕,不过我发现是 Apache 干的。那么问题就有了方向,不断探索后返现下图内容:

LoadModule http2_module modules/mod_http2.so

注释掉这一行,重启服务。天下太平……

分类
日常记录

用 Docker 启动 MySQL

事情是这样的,我们已经把项目交付给了甲方,甲方还想进一步开发,但是我们的报价让甲方不满意。甲方就找了其他人开发。讲真,一分钱一分货,那伙人把服务器搞摊跑路了,各种服务全挂了。

要知道,把他们搞坏的修好,还不如重装系统比较快,何况是云服务器。

我复制下来数据库的文件们,大概长这样。

因为是 mysql 5.7 的数据库。先下载一个镜像。

docker pull mysql:5

然后在这个目录启动起来。

docker run -d \
 --name mysql \
 -v $PWD:/var/lib/mysql \
 -p 3306:3306 \
mysql:5

Can’t open the mysql.plugin table. Please run mysql_upgrade to create it.

出现这个错误启动不起来时,可能是 MySQL 版本问题,我用的版本比之前的低了,5.7 用了 5.6 的 MySQL,报错直接退出了。

-e MYSQL_ROOT_PASSWORD=123456如果加这个,可以指定root用户密码。

然后进入容器看看。

docker exec -it mysql bash

这时候我发现我不能连接数据库,因为密码不对,不管是啥原因,反正是不对,我猜是跑路那群人把密码改了(有点腹黑),然后就要 skip-grant-tables,但是发现没有 vi。

没关系,办法总比困难多。

复制出来改。

docker cp mysql:/etc/mysql/mysql.conf.d/mysqld.cnf ~/Desktop

改完复制回去。

docker cp ~/Desktop/mysqld.cnf mysql:/etc/mysql/mysql.conf.d/mysqld.cnf

好了,可以重启试试了。我就不截图了。

docker restart mysql

然后还有没有好玩的?当然还可以继续,上 phpMyAdmin 哇。我目标是吧数据掏出来重新部署哇,当然有很多方法,但是我习惯 phpMyAdmin。

docker pull phpmyadmin/phpmyadmin
docker run --name myadmin -d \
 -p 8088:80 \
 -e PMA_ARBITRARY=1 \
phpmyadmin/phpmyadmin

注意数据库用户是否能在容器外访问。

好了,这样可以比较友好的操作这个数据库了,至少这样的方案是免费的。

https://my.oschina.net/guodapeng/blog/3212147

分类
日常记录

Stylus 解决一下编写小程序写 css 难受的问题

Stylus 解决一下编写小程序写 css 难受的问题。不是很优雅,但是能解决问题,有语法提示也不会多打几个字,感觉还是很香的。

编译出来的结果还算理想,不用管生成的 wxss rpx 随便格式化会有空格的问题。

Stylus 解决一下编写小程序写 css 难受的问题

JetBrains 是我很喜欢的工具,下面是我 WebStorm 的配置。

https://stylus.bootcss.com/ 可以先去官网简单浏览一下,这里只是使用了一下函数和 unit() 内置函数。

安装 stylus:npm install stylus -g

在 WebStorm 设置 stylus 的自动处理

设置
设置

--ext .wxss 这个很关键,是定义生成文件的后缀的。要不然默认是 css 后缀。

这里推荐两个插件,对于 WebStorm 写小程序有一些帮助。

TabNine https://plugins.jetbrains.com/plugin/12798-tabnine

Wechat mini program support https://plugins.jetbrains.com/plugin/13396-wechat-mini-program-support

相关连接:

分类
日常记录

DataGrip 在 Database 表名后面显示 comment 注释

DataGrip 在 Database 表名后面显示 comment 注释

打开这个选项,就能很直观的看见注释了,对于我这种英文不好的太有用了。

DataGrip:https://www.jetbrains.com/datagrip/

相关连接:

分类
日常记录

DataGrip Compare 差异对比

https://www.jetbrains.com/help/datagrip/differences-viewer-for-routines.html

上面这个链接是 DataGrip Differences viewer for files 的文档。

大概的使用方法就是,选择两个东西,先选择的和后选择的做比较对比差异,选择顺序对对比结果有影响。

分类
日常记录

Android Studio 的 Java 可以借来用用

这个事情其实困扰我很久,我就是不想在全局安装 Java,因为不能安装安装最新的,最新的 Android 不服,非常难受。所以目前坚持不单独安装 Java。

然后就是 Flutter 环境老一个不打勾,我觉得应该和我的 Java 环境有关系。

这里面有一句 Android sdkmanager tool not found 。我发现我整个电脑里面都没有 sdkmanager 。然后就踏上了寻找 sdkmanager 的路程。

不过过了很久我发现一个获得这个文件的方法。

cmdline-tools 这个安装了就会得到 sdkmanager 这个文件。

执行了一下,开心, 环境没有 Java。

然后我坚信一定是有地方有 Java 的,我就是不安装。

搜索了一下 Java ,果然有,就选择 Android Studio 的用用试试。

好了知道怎么借 Java 用了,咱们试试 sdkmanager 。

当然,原本是有很长很长的协议需要同意的,第二次就这样了。我感觉我要解决 Flutter 的那个问题了。

然而我讲文件复制到了对应的地方,出现了新的问题,要求更新,显然是个糟糕的建议,我到这里就放弃了……

最后欣赏一下这个截图,简单来讲,就是白忙活了……

Android Studio 的 Java 可以借来用用

分类
日常记录

iTerm 多个窗口同时输入

iTerm 是我现在最常用的终端。

iTerm

下面这样操作。一定要在一个标签页面下面。

iTerm

不过我和同事说这个操作的时候,同事提出的质疑是,这有什么用。我说,我用这个同时给 4 个 树莓派 部署了 k8s。

分类
日常记录

Sublime Text 安装插件 设置主题

安装插件

卸载插件

我安装的插件

手动安装插件

把文件放在这里就可以了。

配置

苹果+逗号(⌘,)

{
	"color_scheme": "Packages/Theme - Spacegray/base16-ocean.dark.tmTheme",
	"draw_white_space": "all",
	"ignored_packages":
	[
		"Vintage"
	],
	"show_encoding": true,
	"theme": "Spacegray.sublime-theme",
	"translate_tabs_to_spaces": true
}

theme 设置主题
color_scheme 设置配色

我自己改的主题配色

基于他们之前写的,自己改了部分样式,为了给别人截图时用,显示界面漂亮。

链接: https://pan.baidu.com/s/1DqkKZTZiwg9ixUMcU9Q2WA 密码: 9erw

分类
日常记录

Raspberry Pi 安装系统

下载系统

https://www.raspberrypi.org/downloads/

使用卡刷工具

启动时开启 ssh

在卡的 boot 根目录创建 ssh 这个空文件,启动后就打开了 ssh 服务

➜  boot touch ssh

ssh 连接

在路由器里面可以看分配给它的 IP
ssh pi@
默认用户名为 pi
默认密码 raspberry

修改主机名

我有4个,经常分不清谁是谁。所以需要修改主机名。
编辑树莓派的主机名

sudo vi /etc/hostname