-
JavaScript作用域分全局、函数和块级三种:全局作用域中var声明变量可提升且可重复,let/const不提升且不可重复;函数作用域内变量仅函数内有效,支持作用域链;块级作用域仅let/const生效,var无视{}。
-
Go1.13+errors库需用%w封装才支持自动展开,errors.New()和无%w的fmt.Errorf()返回扁平错误;errors.Is/As依赖Unwrap()逐层匹配,自定义错误只需实现Unwrap()方法即可兼容。
-
HTML乱码主因是文件编码非UTF-8无BOM,其次为metacharset位置/写法错误、HTTP响应头覆盖及表单/AJAX传输未声明UTF-8。
-
Symbol.toPrimitive是JavaScript中用于自定义对象类型转换行为的内置symbol,其值为接收hint("string"、"number"或"default")参数的函数,优先于toString和valueOf被引擎调用以返回对应原始值。
-
通过接口和结构体定义错误类型,结合errors.As和错误包装,可构建可识别的Go错误分类体系。
-
Hyperf中foreach遍历大数组爆内存,根本原因不是foreach语法,而是select()/get()已将全部数据一次性加载进内存;cursor()仅在单表查询、禁用缓冲、不调全量方法时才真正流式取数。
-
IllegalOperationError:Channelclosed是因在已关闭的channel上调用方法所致;amqplib不自动重建,需监听channel.on('close')和channel.on('error')并手动重建,避免缓存失效channel引用。
-
Linux中文件压缩最核心的组合是tar和gzip,tar负责打包文件或目录,gzip负责压缩单个文件。1.tar命令用于打包、查看、解包文件,保留目录结构和权限;2.gzip用于压缩或解压文件,节省空间;3.两者结合使用时,用tar-czvf打包并压缩成.tar.gz文件,用tar-xzvf解压并解包。二者分工明确,tar处理多文件组织,gzip专注高效压缩,适用于数据管理、传输及备份场景。
-
Laravel不原生支持七牛私有云,因官方驱动及主流扩展包仅适配公有云API;私有云需手动改造SDK并自定义FlysystemAdapter,注意API地址、鉴权、上传逻辑等差异。
-
多层Promise.then链式调用本身不会造成“积压”,真正影响执行节奏的是微任务队列调度及then返回值类型:同步返回普通值会立即入队,返回未settle的Promise则暂停链式执行。
-
fsnotify漏事件是因底层inotify/kqueue/ReadDirectoryChangesW缓冲区溢出或atomicwrite导致路径失效;应监听目录而非文件,用filepath.Base过滤,并防抖处理多事件。
-
FastAPI可通过依赖注入和自定义依赖项实现轻量RBAC:1.用Pydantic定义角色与权限模型;2.通过get_current_role依赖注入角色;3.用require_permission校验权限;4.可选扩展角色继承与动态权限。
-
现代浏览器推荐用::placeholder改占位符颜色,仅支持color、opacity等有限样式;Firefox需额外加::-moz-placeholder兼容。
-
phpEnvMySQL忘记root密码时需用--skip-grant-tables启动并修改user表,严格按关闭服务、管理员运行mysqld、另开窗口执行UPDATE和FLUSHPRIVILEGES、终止进程、重启服务流程操作。
-
HTTP缓存头关键字段为Cache-Control、ETag、Last-Modified,其中Cache-Control优先级最高并覆盖Expires,ETag与Last-Modified共存时客户端优先使用ETag校验,ETag值必须用英文双引号包裹。