2月
02
直接开始
# 方式一
sudo pecl channel-update pecl.php.net
sudo pecl install swoole
# 方式二
# 官网 https://wiki.swoole.com/#/environment
# pecl https://pecl.php.net/package/swoole
cd /usr/local/src
sudo wget https://pecl.php.net/get/swoole-4.6.2.tgz
sudo tar -xzvf swoole-4.6.2.tgz
cd swoole-4.6.2
sudo phpize
sudo ./configure \
--enable-openssl \
--enable-http2
# 支持更多可以看文档
./configure \
--enable-openssl \
--enable-http2 \
--enable-swoole-json \
--enable-swoole-curl
sudo make && make install
sudo make test
# 找到扩展存放位置
php -i|grep extension_dir
/usr/lib/php/20190902
sudo cp /usr/local/src/swoole-4.6.2/modules/swoole.so ./swoole.so
# 然后安装下边的方式配置和重启即可。
# 找 php 版本,发现是 7.4
php -v
sudo vim /etc/php/7.4/mods-available/swoole.ini
# php 扩展安装位置
php -i|grep extension_dir
# 写入下边内容
extension=swoole.so
# 创建软链
cd /etc/php/7.4/cli/conf.d
sudo ln -s /etc/php/7.4/mods-available/swoole.ini ./20-swoole.ini
# 重启
sudo service php7.4-fpm restart
# 查看
php --ri swoole
php -i |grep swoole
1月
28
app 通常会有启动页,引导页和闪屏这三个前奏页面。启动页必须有,不可跳过。引导页通常是第一次启动有和更新版本后有。闪屏可能有广告的嫌疑,用户可点击跳过,也可以等待倒计时跳过。
像 soul 就是强制有 启动页和闪屏。不过闪屏都是一些比较漂亮的图片。
启动页 splash
引导页 guid
闪屏 flash
launchFlag
1月
10
写 flutter 越多,遇到的场景和用到组件就越多。这样,就有机会采坑。遇到的情况先记录下。
记录坑
Scaffold(
appBar: PreferredSize(
preferredSize: Size.fromHeight(1),
child: Container(
color: Colors.white,
),
),
body: webView()
)
记录细节
List list = ['huo', 'are', 'you'];
list.asMap().forEach((index, item) => {
});
学习链接
http://laomengit.com/flutter/widgets/PreferredSize.html
12月
29
在一个项目中,环境变量,配置文件这些都是一个很重要的环节。设计好了,体验也会不一般。在 go 中,使用 viper 来构造一个这样的配置环境。
https://github.com/spf13/viper
开始之前
- 在开始之前,我们已经熟悉了 laravel 的配置文件的方式。这里,我们仿照 laravel 的结构方式来组织我们的代码。使用 .env 文件来放置重要配置信息。当然也有 .env.example 。.env 不会加入版本控制中,.env.example 加入版本控制中。
-
go 的 init 函数。相关联文件中, init 函数总是会先执行的。init 函数要慎用,仔细用。导入顺序也很有关系。
-
一个项目中 MVC 是指的是业务逻辑的代码,而除了支撑业务逻辑代码以外,还有底层的辅助代码。例如路由加载、数据库初始化等。在我们的项目中,遵循 Go 社区的惯例,这些底层代码我们会归类为各自的包,并放置于 pkg 目录下。pkg 目录下的包,我们会尽量保持其独立性,这样方便在其他项目中复用。但是最重要的,当前还是以服务 goblog 项目为主。
12月
28
vue cli 配置 dev 的 host 和端口号
# vue.config.js 中
module.exports = {
devServer: {
port: 80, // 端口号,如果端口号被占用,会自动加1
host: "sky.cn", //主机名, 127.0.0.1, 真机 0.0.0.0
https: false, //协议
open: true //启动服务时自动打开浏览器访问
},
可是当: npm run dev
的时候,端口号却是 1024。 话说 mac 下启动 1024 以下的端口需要 root 权限。用 sudo 试试。
sudo npm run dev
当然,仅仅上边是不可以的。我们要修改 host,映射一下。
# mac 下
sudo vim /etc/hosts
# 增加
127.0.0.1 sky.cn
# windows 下
win + r -> drivers -> cd etc -> vim hosts
# 增加
127.0.0.1 sky.cn
这样,service 结果
App running at:
- Local: http://sky.cn:80/
- Network: http://sky.cn:80/
Note that the development build is not optimized.
To create a production build, run npm run build.
优化
这个配置硬写在 vue.config.js 中。这样不好看。我们写在环境配置中。在 .env.development 中,新增配置:
# 配置 service 的域名
VUE_APP_HOST = 'sky.cn'
# 配置 service 的端口号
VUE_APP_PORT = '80'
然后,在 vue.config.js 中这样修改:
const host = process.env.host || process.env.VUE_APP_HOST || '127.0.0.1'
const port = process.env.port || process.env.VUE_APP_PORT || process.env.npm_config_port || 80
module.exports = {
devServer: {
host: host, //主机名, 127.0.0.1, 真机 0.0.0.0
port: port, // 端口号,如果端口号被占用,会自动加1
https: false, //协议
open: true, //启动服务时自动打开浏览器访问
overlay: {
warnings: false,
errors: true
},
before: ''
},
…
环境变量一说可以参考这里:https://cli.vuejs.org/zh/guide/mode-and-env.html#%E6%A8%A1%E5%BC%8F
12月
28
多在windows上编程的童鞋可能习惯于感受tab键为4个空格的长度,不过在linux系统中一般默认设定tab键为8个空格长度来显示。事实上tab也确实是8个空格的长度。不过由于习惯问题,某些童鞋还是希望在linux上也感受tab键为4个空格长度的显示,因为vi编辑器在linux上是那么地众所周知,所以下面就开始谈如何设定vim编辑器对tab键的显示长度问题。
关于vim对tab键的设定问题,我在网上也查过一些资料,不过大部分都解释的不清楚,只是照着其设定的代码copy一份到配置文件中,对每一行代码具体所起的作用则不甚清楚,本篇章根据国外一篇文章对tab键设定的讲述加之自己亲自在centos7上进行不断尝试进行总结。
操作
# 新增 .vimrc 文件
vim ~/.vimrc
# 填充下边的内容
"语法高亮
syntax enable
"显示行号
set number
"突出显示当前行
set cursorline
"打开状态栏标尺
set ruler
"设定 << 和 >> 命令移动时的宽度为 4
set shiftwidth=4
"使得按退格键时可以一次删掉 4 个空格
set softtabstop=4
"设定 tab 长度为 4
set tabstop=4
"用space替代tab的输入
set expandtab
"高亮显示括号匹配
set showmatch
12月
28
快速 mac go 开发环境
go version
go env
# 表示使用 go modules 模式
go env -w GO111MODULE=on
# 开启代理,方便下载包
go env -w GOPROXY=https://goproxy.cn,direct
- 下载 goland 虽然 vscode,atom 等也可以用。可还是 goland 好用。下载破解版吧。
http://www.520xiazai.com/soft/GoLand-2020-for-mac.html