2021年11月

日语IT用语(持续更新中)

(日/中)

  • 本番環境 线上环境/正式服
  • 構築 构建
  • 環境構築 搭建环境
  • 実装 实现(某个需求/功能)
  • インフラ構成図 架构图(Infrastructure)
  • 構成 组织/架构/构造
  • 冗長化 冗余化 redundantize(使系统冗余,以保持高可用)
  • 流す 跑一下 DBに流す 在数据库上跑一下
  • 要素 元素(HTML a, div, body等)
  • 擬似要素 伪类(CSS :link :active等)
  • URLに飛ぶ 跳转到URL
  • 仮登録 通常用于验证邮箱或手机号之前完成注册的状态
  • 発火 触发(イベントを発火させる 触发事件)
  • 動的 动态/在运行时
  • 付け外す 取消绑定
  • 困りごと 痛点
  • タスクばらし 细分任务
  • ブランチ切って 切换分支
  • プルリク Pull Request(PR)
  • バグを登録 记录BUG
  • 行動に落とし込む 以行动落实
  • 拡張機能 扩展/插件
  • APIキー再発行 重置API Key
  • 正規表現 正则表达式
  • 変数 变量
  • 定数 常量
  • while構文 while结构
  • 読み込む 加载、读取
  • コメントアウト 注释comment out
  • 反面教師 反面教材
  • 疎結合 louse coupling 低耦合
  • 密結合 高耦合
  • 引数 参数
  • 手戻り 返工
  • 踏み台サーバ 跳板机
  • 後方互換性 向后兼容性
  • ブラインドタッチ blind touch 盲打
  • リクエストを投げる 发请求
  • ページ遷移時 页面跳转时/转移时
  • ボタンを押下する 按下按钮
  • ポートをリッスン 监听端口
  • 紐付ける 关联/绑定
  • 設定反映 应用设定(apply settings)
  • 配列 数组
  • 出力 输出的内容
  • 仮想マシン 虚拟机
  • 糖衣構文 wrapper语法糖
  • NULL 許容 允许为NULL(的字段)
  • 同期 同步
  • データ構造 数据结构
  • 連想配列 关联数组
  • 埋め込み 填入(表单)/嵌入、引用(在页面中)
  • 紐付ける 关联(账号)
  • 紐付けを解除 解除关联(账号)
  • 連携 绑定/关联
  • 二段階認証/2要素認証 两步认证(2FA)
  • 共有 共享
  • 詳細 详情
  • 無効化 禁用(disable)
  • 有効化 启用(enable)
  • 非表示 隐藏(hide)
  • 利用規約 用户协议(Term of Service)
  • 端末 终端/设备
  • 役割/ロール 角色
  • 認可 权限
  • 演算子 操作符
  • 同期 同步
  • テストが合格する 通过测试
  • 依存 依赖
  • 即応性 响应式responsive
  • 組み込む 内置(例如,软件内置加密功能)
  • 既定 默认的
  • 既存 既有的/现存的
  • 再構築 重构
  • トラフィック(Traffic) 流量
  • 社内勉強会 公司内部分享会
  • 待ち行列/キュー 队列(Queue)
  • 並び替え 排序
  • ジョブ 任务
  • (非)活性化状態 (非)激活状态 (in)active

可以用以下形式表达(中/日)

  • 无效/过期 無効
  • toggle 表示切り替え
  • 隐藏/私有 非公開
  • 机制 メカニズム/仕組み

写测试前需要准备的东西

  1. 默认数据需要准备
    一些数据是需要提前准备的,例如角色数据、分类数据。

1.1 表结构
在使用Laravel的时候,需要注意要先创建表结构。
如果是用原生的Laravel搭建的系统还好,每个表结构都应该有对应的migration。
但是在诸如Voyager等CMS的时候,可能并不会创建migration文件。
此时需要使用例如laravel-migrations-generator的反向migrator生成器。他可以根据表结构生成migration文件。
用此类工具的时候需要注意:由于是以当前时间点表结构创建的migration,如果自己还有写一些migration,那么要注意冲突或者字段不存在的情况。
例如:我写了migration在user表的avatar字段后面添加status字段,但是用该扩展生成的migration文件里已经包含了status字段。如果再跑这个migration,就会报该字段已存在的错误。

1.2 初始数据
用seeder可以插入默认数据。我使用了orangehill/iseed这个扩展来生成初始数据。
这里要注意一点,由于它是根据表名的顺序来生成seeder的,如果使用了外键约束,那么在往前面的表插入数据的时候会报关联错误Integrity constraint violation。

  1. 分清楚要测试的模块、分清楚测试的先后顺序。
    订单都没有,也不可能测支付。
  2. 写清楚每个测试的步骤
    例如,先创建才能编辑/删除。

Laravel6 启动dusk时遇到JSON decoding of remote response failed

今天第一次使用Laravel Dusk来写UI测试。

按照文档安装好dusk,使用php artisan dusk尝试跑测试后,报了以下错误:

Facebook\WebDriver\Exception\WebDriverException: JSON decoding of remote response failed.
Error code: 4
The response: ''

搜索了一圈,在这个链接找到一个解决方法。需要先用./vendor/laravel/dusk/bin/chromedriver-mac-intel --port=9515这个命令启动chrome,再跑php artisan dusk才可以。(我用的是Intel版的mac,其他版本有对应的chrome driver)

我觉得很奇怪,dusk命令居然还要我手动启动chrome的吗?

后来试了一下关闭启动了的chromedriver,并在dusk命令前添加了sudo:sudo php artisan dusk
果然代码可以跑通了。

但我看chromedriver-mac-intel文件是-rwxr-xr-x,不应该启动不了啊?

在网上搜索了一圈,说要用php artisan dusk:chrome-driver --proxy=0.0.0.0:8888命令先安装chrome driver,但文件是存在的。太奇怪了。安装了之后,再跑php artisan dusk,现在报的错就不一样了:

Facebook\WebDriver\Exception\UnknownErrorException: unknown error: Chrome failed to start: exited abnormally.
  (unknown error: DevToolsActivePort file doesn't exist)
  (The process started from chrome location ./vendor/laravel/dusk/bin/chromedriver-mac-intel is no longer running, so ChromeDriver is assuming that Chrome has crashed.)

在网上搜索了第二圈,说安装了之后要重启才行。俗话说重启大法好,那我就重启看看吧。

重启之后果然就好了……