Linux debian 系统一些小技巧
Debian buster生命周期已结束, 可离线打包本地的包
安装 dpkg-repack 工具:
1 | sudo apt-get update |
列出已安装的软件包:
你可以使用 dpkg -l 命令列出系统上已安装的软件包,找到你想要重新打包的软件包名称。
1 | dpkg -l | grep <package-name> |
使用 dpkg-repack 重新打包:
运行以下命令,将
1 | sudo dpkg-repack <package-name> |
deb.sury.org 不再提供包,本地打包以便后续继续使用
1 | dpkg -l|grep php8.2 | awk '/^ii/ {print $2}'| xargs -I {} sudo dpkg-repack {} |
docker使用小技巧
如果 docker ps -a
中太多,一次性删除方法
1 | docker rm `docker ps -a -q --filter 'status=exited'` |
debian apparmor linux内核安全模块影响docker运行,本地操作系统可以直接移除此包
1 | sudo apt-get purge apparmor |
docker使用代理获取镜像
某些原因docker被封禁,使用以下方法可以绕过
1 | 修改 daemon.json 文件 |
Linux 系统远程开机(WOL)
局域网远程开机(WOL)
前置条件,主板需要支持wakonlan,Deepin 20.9 为例
1.查看lan网卡是否开启WOL
1 | sudo ethtool enp3s0 |
如果 Wake-on: d
表示未开启
2.设置 wake-on: g
开启WOL
1 | sudo ethtool -s enp3s0 wol g |
3.设置开机自启动
添加rc.local文件sudo vim /etc/rc.local
1 | #!/bin/bash |
1 | sudo chmod +x /etc/rc.local |
然后重启计算机
4.另外一台局域网电脑安装wakeonlan
1 | sudo apt-get install etherwake |
5.发送数据包到上面配置的电脑的MAC地址启动
1 | wakeonlan {MAC Address} |
magento2 单元测试
1.PHP Unit Testing
1 | <?php |
2.JavaScript testing
首先需要进入项目目录
使用最新的package.json
1 | cp package.json.sample package.json |
启动testing,添加参数-v可以看到更多调试信息
1 | node /home/dyl/.config/nvm/versions/node/v20.12.1/bin/grunt spec:luma --file="dev/tests/js/jasmine/tests/app/code/Magento/Ui/base/js/grid/columns/actions.test.js" |
调试启动
1 | node --inspect-brk /home/dyl/.config/nvm/versions/node/v20.12.1/bin/grunt spec:luma --file="dev/tests/js/jasmine/tests/app/code/Magento/Ui/base/js/grid/columns/actions.test.js" |
chrome浏览器输入chrome://inspect
,应该能看到监听的node请求
Magento 同步生产数据的一些问题
Magento2 Frontend Tips
1.在自定义dom上显示数据loading状态
define 引用 loader 组件并初始化为loader变量,接着设置加载icon,然后调用show显示加载中,调用hide隐藏加载中。
1 | define([ |
参考链接
https://developer.adobe.com/commerce/frontend-core/javascript/jquery-widgets/loader/
2.在Magento2 Js 中再加载js组件
1 | define([ |
参考链接
https://fishpig.co.uk/magento/tutorials/manually-load-js-component-magento-2/
Xhgui Tips
最新的 XHGUI 用法
https://github.com/michaeldyl520/xhgui
最新的自修改xhgui搭配mongodb用法如下
- 在程序入口index.php添加以下代码即可开始分析
1
2
3
4
5require_once '/path/to/xhgui/vendor/perftools/php-profiler/autoload.php';
$config = require_once '/path/to/xhgui/config/config.php';
$profiler = new \Xhgui\Profiler\Profiler($config);
$profiler->start();1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43<?php
/**
* Default configuration for PHP Profiler.
*
* config.php
* To change these, create a file called `config.php` file in the same directory
* and return an array from there with your overriding settings.
*/
use Xhgui\Profiler\Profiler;
use Xhgui\Profiler\ProfilingFlags;
return array(
'save.handler' => Profiler::SAVER_STACK,
'save.handler.stack' => array(
'savers' => array(
Profiler::SAVER_UPLOAD
),
'saveAll' => false,
),
'save.handler.upload' => array(
'url' => 'https://www.xhgui.local/run/import',
// The timeout option is in seconds and defaults to 3 if unspecified.
'timeout' => 3,
// the token must match 'upload.token' config in XHGui
'token' => '',
),
'profiler.enable' => function () {
return true;
},
'profiler.flags' => array(
ProfilingFlags::CPU,
ProfilingFlags::MEMORY,
ProfilingFlags::NO_BUILTINS,
ProfilingFlags::NO_SPANS,
),
'profiler.options' => array(),
'profiler.exclude-env' => array(),
'profiler.simple_url' => function ($url) {
return preg_replace('/=\d+/', '', $url);
},
'profiler.replace_url' => null,
);
composer tips
Composer 小技巧
1. 自定义安装包的方法
adobe 官方已不支持stripe-payment 3.2.8,需要用composer 自定义的方式安装包
composer配置方法
1 | { |
然后终端中在项目目录下使用 composer require stripe/module-payments:3.2.8
安装。
magento2 代码规范设置方法
安装代码标准
使用magento2官方的代码标准,如果需要在开发工具中提示代码规范的问题,需要在安装magento2后执行以下shell
1 | vendor/bin/phpcs --config-set installed_paths vendor/magento/magento-coding-standard,vendor/phpcompatibility/php-compatibility/PHPCompatibility |
PhpStorm 自动格式化的一些配置
自动对齐的问题
高版本PhpStorm Function如果有多个变量并换行,会自动两边对齐属性,不符合代码规范,需要在Settings>Editor>Code Style>PHP->Wrapping and Braces->Function declaration parameters
中去掉Align when multiline
的勾选框且勾选Keep ')' and '{' on one line
强制限定类型的提示问题
Magento2 PHP不需要做强制类型限定参照图去掉以下两个复选框。
去掉js相等警告
eslint 搭法
phpcs搭法
如果最新的vendor如果没有包含phpcs等检测工具,我们可以间接使用默认的2.4.5-p1中的phpcs进行项目的检测