修改idea的js检测方式为ES6
2020-04-02 software idea 1 mins 1 图 119 字
file>settings>Lauguages & Frameworks>javascript
将javascript languages version 修改为 ECMAScript 6
最后apply>ok
file>settings>Lauguages & Frameworks>javascript
将javascript languages version 修改为 ECMAScript 6
最后apply>ok
本文使用 Debian 9 stretch/ Debian 10 buster进行内核升级。Debian 9 默认是 4.9 的内核。Debian 10 默认是 4.19 的内核。
修改源
# debian 9
echo -e "deb http://http.debian.net/debian stretch-backports main\ndeb-src http://http.debian.net/debian stretch-backports main" | sudo tee /etc/apt/sources.list.d/sources.list
# debian 10
echo -e "\ndeb https://deb.debian.org/debian buster-backports main" >> /etc/apt/sources.list
更新package
sudo apt-get update
sudo apt-get dist-upgrade
查看内核列表
apt-cache search linux-image
查看到最新的内核如下
安装
# debian 9
sudo apt-get install -t stretch-backports linux-image-xxx版本
# debian 10
sudo apt-get install -t buster-backports linux-image-4.19.0-16-amd64
加载内核
# sudo update-grub # 这句不使用也ok的
sudo apt-get clean
sudo reboot
检查下,已经切到了新内核
uname -r
4.19.0-0.bpo.13-amd64
清理
apt-get autoremove
很多情况下,我们还需要使用headers进行其它软件的安装。经常会遇到无法安装的情况,为了避免这种情况,这里也记录一下headers的安装过程。
安装前要重启机器,确保目前已使用升级后的内核。
reboot
uname -a
安装:
sudo apt-get install libmnl-dev linux-headers-$(uname -r) build-essential make git # 安装必要的包
echo "deb http://deb.debian.org/debian/ unstable main" | sudo tee /etc/apt/sources.list.d/unstable.list
echo -e "Package: *\nPin: release a=unstable\nPin-Priority: 150\n" | tee /etc/apt/preferences.d/limit-unstable
apt-get update
apt-get upgrade
laravel 7 已经发布了。作为一个懒人我很不情愿在我的开发机器上安装composer、php、nginx以及数据库等组件,也包括Homestead虚拟机。 本文是我在尝鲜 laravel 7.3时完成的内容。所有的一切只需要系统装有docker。
linux/mac在项目根目录下运行如下命令:
cdir="$(cd "$(dirname "$0")" && pwd)"
docker run -it --rm -v ${cdir}:/app composer /bin/bash
windows我不会写路径,手动改吧。
docker run -it --rm -v D:\Github:/app composer /bin/bash
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
composer create-project --prefer-dist laravel/laravel web --ignore-platform-reqs
至此,一个laravel项目就初始化完成了。
exit
cdir="$(cd "$(dirname "$0")" && pwd)"
docker run -it --rm -v ${cdir}:/app composer install --ignore-platform-reqs
在这个目录结构下分别增加nginx和php的配置文件,下载地址:
在这里我运行了nginx、php、composer-install和yarn的容器:
docker-compose.yaml
version: "3.2"
volumes:
lnmpsock: {}
yarnfile: {}
services:
nginx:
image: openresty/openresty:alpine
restart: always
container_name: nginx
volumes:
- ./:/var/www/html:rw
- ./docker/openresty/conf.d:/etc/nginx/conf.d:rw
- ./docker/openresty/conf/nginx.conf:/usr/local/openresty/nginx/conf/nginx.conf:rw
- ./docker/tmp/openresty:/etc/nginx/fastcgi_cache/one_hour:rw
- ./docker/log:/log:rw
- type: bind
source: lnmpsock
target: /sock
ports:
- "80:80"
php:
image: php:fpm-alpine
restart: always
container_name: phpfpm
volumes:
- ./:/var/www/html:rw
- ./docker/php/php-fpm.d:/usr/local/etc/php-fpm.d
- ./docker/php/conf/php-fpm.conf:/usr/local/etc/php-fpm.conf
- ./docker/log:/log:rw
- type: bind
source: lnmpsock
target: /sock
composer-install:
image: composer
restart: "no"
container_name: composer-install
volumes:
- ./:/app:rw
entrypoint: [ composer,install,--ignore-platform-reqs ]
privileged: true
yarn:
image: kelvinblood/yarn
restart: always
container_name: yarn
stdin_open: true
tty: true
volumes:
- ./:/var/www/html:rw
- type: bind
source: yarnfile
target: /usr/local/share/.cache/yarn
entrypoint: [ "/bin/bash" ]
运行 docker-compose up -d
进入phpfpm容器中,赋文件夹权限和创建新的app key
chmod -R 777 bootstrap/cache
chmod -R 777 storage
php artisan key:generate
然后就能正常访问啦:
对于访问的IP你可能有点疑问,Windows下使用127.0.0.1即可。
如果遇到不能访问的,Windows下docker的默认网段为10.0.75.0/24,使用.1 .2也能访问,即10.0.75.2。
如果你是跑在局域网的服务器里,访问服务器的IP即可。
到这一步其实已经完成啦。由于laravel和前端项目关联也比较紧密,下面再记录一个和前端工具的绑定的容器步骤。
# 进入yarn容器:
$ docker exec -it yarn /bin/bash
# 设置源,安装依赖
yarn config set registry https://registry.npm.taobao.org
SASS_BINARY_SITE=http://npm.taobao.org/mirrors/node-sass yarn
# 安装常用前端组件
npm install vue vue-template-compiler jquery bootstrap --save-dev --production=false
修改一下 Mix 的配置文件 webpack.mix.js
mix.js('resources/js/app.js', 'public/js')
.sass('resources/sass/app.scss', 'public/css')
.version();
在末尾加了一个 version()
,使 Mix 每次生成的静态文件后面加上一个类似版本号的参数,避免浏览器缓存。
增加一些简单的blade文件和SaaS文件,下载地址:
# 继续在容器内运行如下命令,自动编译
npm run watch-poll
然后就看到运行成功啦:
访问网页如下:
最近在做kubernetes的网络测试,排查问题时需要通过网卡确认时哪个容器在跑,具体过程如下:
确认问题网卡
route -n
这是我们的目标网卡 calif036cbd2081
查看它的接口索引值:
ip link show calif036cbd2081
记住前面输出的数字 191
。
在所有容器中查看网卡信息。
以下是运行脚本 test.sh,将在本机上所有容器中运行 ip a
命令
运行命令:
./test @if191
在此我们找到了目标容器
进入容器中确认,确实是这个IP的拥有者
最近入手了树莓派4b,这篇文章记录一些使用的要点。5年前也曾买过类似的开发板,可以看这里: BB-Black
树莓派是一款来源于英国慈善组织“Raspberry Pi 基金会”的卡片电脑,至今已经发行在售了 9 个型号:
在命令行中输入:
cat /proc/cpuinfo
会打印类似下面的信息:
Hardware : BCM2835
Revision : c03111
Serial : 100000001f00eb37
Model : Raspberry Pi 4 Model B Rev 1.1
Revision
是板卡型号编码,Model
是型号名称。
Hardware: BCM2835
代表树莓派系列的硬件架构码。
Neofetch 是用 Bash 脚本编写的,创建系统信息截图的开源工具,可以识别近 150 种不同的操作系统,当然也包含树莓派 Raspbian 操作系统。
sudo apt-get install neofetch
neofetch
修改 ~/.config/neofetch/config.conf
文件还能定制系统信息。下面是我的树莓派截图。
树莓派性能应该留在刀刃上,图形界面这种吃性能的东西应该默认关闭。
$ raspi-config
“Boot Options” -> “Desktop / CLI” -> “Console”
systemctl enable ssh
systemctl restart ssh
先确认树莓派使用的源地址:
$ /bin/cat /etc/apt/sources.list
deb http://raspbian.raspberrypi.org/raspbian/ buster main contrib non-free rpi
# Uncomment line below then 'apt-get update' to enable 'apt-get source'
#deb-src http://raspbian.raspberrypi.org/raspbian/ buster main contrib non-free rpi
可以确认该树莓派基于 debian buster
将其备份后使用清华的源,使用同样 buster 版本。如果你的是其它版本的,查看其他版本的。https://mirror.tuna.tsinghua.edu.cn/help/raspbian/
pip国内的一些镜像
阿里云 http://mirrors.aliyun.com/pypi/simple/ 中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/ 豆瓣(douban) http://pypi.douban.com/simple/ 清华大学 https://pypi.tuna.tsinghua.edu.cn/simple/ 中国科学技术大学 http://pypi.mirrors.ustc.edu.cn/simple/
修改源:
mkdir -p ~/.pip/
vi ~/.pip/pip.conf
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
https://www.advanced-ip-scanner.com/cn/
安装好扫描本局域网的IP即可。
curl -sSL https://get.docker.com| sh
sudo usermod -aG docker pi && sudo reboot
由于树莓派基于arm平台,和我们平时所用的x86服务器不相同,所以常见的镜像在这里都是不能用的,需要从dockerfile重新构建镜像才可使用。
pinout
cat /proc/cpuinfo
ARMV7 processor rev 3(v71) 是指基于ARM V7 指令集的处理器。