全部文章
共 1306 篇文章
哈士奇的学习笔记:聊聊闭包和它的应用场景
闭包(Closure) 闭包 是指函数“记住”它定义时的词法作用域(即外部函数的变量),即使这个函数在其作用域之外执行。 闭包的核心特点是: 函数可以访问定义它时外部的变量,即使这个函数在其他地方被调用 。 举例: 在这个例子中, 函数在 函数内部定义,即使 函数已经执行完毕并返回了, 函数依然可以访问 中的 。这就是闭包的行为。 为什么闭包重要? 它允许我们创建私有变量,隐藏状态,防止外部访问或修改。 它让函数拥有“记忆”,即函数内部...
如何将 Electron 项目上架
前言 是一个开源框架,它允许开发者使用 技术( 、 和 )来构建跨平台的桌面应用程序。 应用程序可以运行在 、 和 上,为用户提供了一种统一的方式来开发和维护软件。 本文将探讨如何将 Electron 构建的桌面应用程序上架到 中。 创建证书 进入苹果开发者平台 进入证书列表: 创建证书(Certificates) 用于对需要上架应用进行签名 创建 和 两个证书。 证书用于在 网站上注册的计算机上签署用于开发和测试的应用程序。 注册方法...
聊聊 CSS 中文本下划线
在Web中给文本添加下划线常常出现在 链接的文本上,早期一般使用 属性给文本添加下划线、删除线等。除了 之外,CSS还有很多技术方案可以给文本添加下划线效果,比如 、 、 等。对于Web开发者而言,CSS还有更多的,更灵活的特性实现文本下划线的效果。在这篇文章中,将和大家一起聊聊CSS中其他的特性怎么实现一个更有创意的效果。 新的 特性 并不是一个新特性,在CSS 2.1中, 就可以使用 、 、 和 给文本添加下划线、删除线等效果。只不...
这次玩点不一样的,使用 BrowserView 优化 Electron 应用的性能
为了提升长桥桌面端应用 Longbridge Pro 的整体性能体验,在相当长的时间里,长桥桌面端团队一直在追踪 Electron 中体验特性 BrowserView 组件的开发进展以及 Bug 修复状态。 在 Electron v26 版本后,BrowserView 组件终于趋于稳定,长桥桌面端团队就开始尝试使用 BrowserView 组件来优化 Longbridge Pro 的整体性能,在完成了阶段性的优化并发布后,在这里记录一下...
面试常客系列之跨域前言
跨域?什么是跨域呢?我们先来看看一个url的组成, ,这一个url我们可以分成四部分来看 是协议, 是域名, 是端口, 是路径.在浏览器中,我们从一个域名发送请求到另一个域名,如果两个域名的协议,域名,端口三部分只要存在一部分不同就会发生跨域,也就是说只有两个域名的协议,域名,端口都相同才会不会发生跨域,所以我们又如何解决跨域的问题呢?在下文中会给大家介绍几种方法去解决跨域问题. 那么要解决跨域就不得不谈及 ,同源策略是一种安全措施,用...
audio自动播放为什么会失败背景
某天客户报了一个问题,说是大屏的声音不能自动播放了,我们的大屏应用是有个报警的,当有报警的时候,自动会播放警报的声音 测试后发现如下结论 1. 当刷新页面后,audio不会自动播放 2. 当从另外的一个页面进入到当前页面,可以直接播放声音 如果你想测试,可以 你可以先点击上方链接的 尝试一下 ,下方为截图 这个时候你会听到一声马叫声 然后,你刷新下马叫声的页面,这个时候声音的自动播放将不会生效 报错问题排查 打开控制台,不出意外看到了一...
Golang面试题:new 和 make 有什么区别
今天我们来聊聊一个大家面试中经常遇到的问题:Golang 中的 new 和 make 到底有什么区别?这两货看起来名字差不多,但用法和场景可大不一样。为了方便大家理解,我来掰扯掰扯。 先说 new 这个函数名字虽然简单,但功能还挺关键。new 是 Go 语言的内置函数,它的作用就是分配内存,然后返回指向该内存地址的指针。 通俗点讲,new 干的事情就是帮你“造个房子”,不过它不负责装修,也就是只提供一个空的空间。这就意味着你通过 new...
NestJS + Prisma 增删改查实践
官网链接: , 当前版本 node: 20.11.0 @nestjs/cli: 10.3.2 prisma: 5.18.0 初始化项目 安装NestJS 这里需要选择 package manager,本文是用 作为包管理器的 安装Prisma 执行完上面两条命令之后,会发现多了一个 的文件夹和 文件 : 指定数据库连接,以及数据库 \ .env MySQL .env prisma/prisma.schema prisma.schema...
从HTML活动页面到 Vue、React 大型项目都通用的 git hooks 配置
git提交时不加审核,团队内的git规范很容易被一次次的样式拉扯修改、小bug调整等git提交给冲得稀烂。这时候可以使用 git 原生的 hooks,在 commit 之前监听一下 commit 内容。但是原生 git hooks 的配置默认是不同步到仓库的,这样一来,配置好的 hooks 事件其实就是本地单机事件,无法很好的团队共享。而 + 刚好能处理这个场景。 Husky Husky 是一个 Git Hook 工具,它允许开发者在...