博客首发:https://bornforthis.cn/posts/19.html 有时您需要在代码中存储敏感信息,例如密码或 API 密钥,而在 Python 中最简洁的方法是使用 os 和 dotenv...在命令行中,输入: pip install python-dotenv 或者对于 Python 3 pip3 install python-dotenv 假设 .env 文件的内容是: API_KEY=...该文件的内容如下所示: API_KEY="abcd123" 要将其加载到您的 python 文件中,您应该: import os from dotenv import load_dotenv load_dotenv...() API_KEY = os.getenv("API_KEY") Good!...现在,您正在正确地隐藏数据!
在前端js编程中,如果涉及到加密通信、加密算法,经常会用到密钥。但密钥,很容易暴露。暴露原因:js代码透明,在浏览器中可以查看源码,从中找到密钥。...例如,下面的代码中,变量key是密钥:如何保护源码中的密钥呢?很多时候,人们认为需要对密钥字符串进行加密。其实更重要的是对存储密钥的变量进行加密。加密了密钥变量,使变量难以找到,才更能保护密钥本身。...”隐藏了起来。...,也可以使用这个办法,也能很好的隐藏密钥。...用jsfuck+jshaman保护JS中的密钥,你学会了吗?
在实际项目中,我们通常会封装一些工具类,如判断数组、对象、函数等…… 然而在 vue3 已经内置了很多常用的工具函数,因此我们不必再重复造轮子 camelize 转骆驼 import { camelize...capitalize 首字母大写 import { capitalize } from "vue"; capitalize("hello world"); // Hello world remove 删除数组指定的元素...isVNode } from "vue"; isVNode(哈哈哈) // true isVNode('哈哈哈') // false cloneVNode 克隆一个虚拟节点,相同的属性...100px' }) vnode2; // 哈哈哈 useCssVars 为组件的根节点添加
ArcGIS API for JavaScript 中的 Autocasting Autocasting 简介 Autocasting 是 ArcGIS API for JavaScript 4.x 的一个新特性...for JavaScript 中的对应类的文档, 如果一个一个属性能够进行自动转换, 就会出现 Autocast 标记。...最后 最后说一下, esri-loader 一直是 ArcGIS API for JavaScript 的加载神器, 隔离了 dojo 的入侵性, 让 ArcGIS API for JavaScript...轻松加载到常见的前端开发环境中, 包括今天的对 Autocasting 的扩展, 也是用到了 esri-loader。...不过从 4.18 开始, ArcGIS API for JavaScript 提供了原生 ES6 模块 @arcgis/core , 可以直接在受支持的浏览器中运行, 不用在依赖第三方加载器, 也可以很轻松的在各种前端框架中使用
在互联网技术飞速更新的今天,前端性能的优化已经成为决定用户体验优劣的核心环节。...本文旨在深入剖析JavaScript在前端缓存策略中的应用,旨在为开发者提供更为实际和详尽的指导,帮助他们更精准地把握并运用这些策略,以优化网站性能。...前端缓存的类型前端缓存主要分为以下几种类型:浏览器缓存:浏览器会将用户访问过的页面资源存储在本地,当再次请求相同的资源时,可以直接从本地读取,避免重复的网络请求。...LocalStorage/SessionStorage缓存:利用浏览器的存储API,将数据保存在客户端。浏览器缓存策略浏览器缓存策略主要包括强缓存和协商缓存两种。...综合缓存策略在实际应用中,通常会结合多种缓存策略来实现最优的性能优化,对于不同场景应用不同的缓存搭配,例如下方几种对于不经常变化的静态资源,使用强缓存。对于经常变化的内容,使用协商缓存。
JavaScript是基础,JQuery能让DOM操作更方便,哪怕用vue react当操作dom的时候 还是离不开的,只是说可以不用学的那么深。 下面就整理一下我之前工作中用到的一些API <!...console.log(obj); } 10、for in 和for of for in 循环,不仅可以循环对象,还可以遍历数组, in 为下标值 for of 循环 const item of list 获取的为集合中的每个对象...end;返回被删除的元素,不改变原来的数组 .concat(arr) 合并两个数组,返回一个新数组,不改变原来的数组 .join() 默认,来分割数组中的每个元素,返回一个字符串....forEach(function(item){}) 遍历数组中的每个元素 .filter(p=>p.id==1 ) 筛选元素 */ 20、++和–...; alert("回车了") } }); 24、代码控制元素的显示和隐藏 $(document).on('click', '#button_3', function
前言 在前端开发中,交互性是至关重要的。动态事件添加是一种在JavaScript中实现交互的重要技术。本文将介绍动态事件添加的概念和优势,并详细介绍两种常用的动态事件添加方法。...事件的基本概念 事件是指在网页中发生的特定交互行为,比如点击按钮、滚动页面或输入文本等。通过事件,我们可以在特定的交互行为发生时触发相关的JavaScript代码,以实现相应的操作和逻辑。...减少重复代码: 可以通过动态事件添加的方式,避免在HTML中为每个元素都编写相同的事件处理代码。...3.在父元素的事件处理函数中,通过判断事件的目标元素,确定要执行的操作。 总结 动态事件添加是前端开发中实现交互性的重要手段。通过动态事件添加,我们可以实现灵活、可扩展的交互效果,减少重复代码的编写。...本文介绍了两种常用的动态事件添加方法:使用addEventListener()方法和事件委托。了解和掌握这些方法,可以为前端开发中的交互效果提供更多的选择和实现方式。
短”字加了引号,只是因为它看起来短,实际并不短,因为字节还是在的,在 unicode 里有一种神奇的字符叫 零宽空白,它的特点是字型的显示宽度为 0,无论堆了多少个零宽字符,你都看不见它。...就像上面我写的例子中,Function("".repla......藏了大量的零宽字符,实际看起来就好像是一个空字符串 “”,这个“空”字串即是 md5 的函数定义经过编码转换后得到的全零宽字符串,此创意最初源自一个叫z.js 的库。...的字串,把 1 替换成 U+200C,把 0 替换成 U+200D 就得到一个全零宽空白的字符串,每 8 位零宽字符可用于表示 1 个 ascii字符,所以例子当中,理论上是变长的,不算解码程序的 129...个字符,仅空白就占了原文 8 倍的体积,如果出现中文,那就更不止了,因为中文已经超过了 ascii 的范围,需要先转成纯 ascii (如以 \uxxxx 表示)后再处理。
当面试官突然问你:“前端隐藏元素的方式有哪些?”你还是只知道 display: none 吗? 其实,在前端开发的世界里,隐藏元素的方法非常多。...使用场景:当需要彻底隐藏元素且不影响页面布局时。 注意事项:子元素及其内容也会被隐藏,不会被渲染在页面中。....hidden { display: none; } 2. visibility: hidden; 效果:元素变为不可见,但仍占据其原来的空间。 使用场景:需要隐藏元素但保留其在文档中的位置时。...使用场景:用于临时将元素移出屏幕,保持在 DOM 中的存在。 注意事项:适合动态控制可见性。...0,同时隐藏溢出的内容。
对称密码学(密钥加密) 介绍 本教程将演示如何通过System.Security.Cryptography在.NET Framework 1.1中实现对称加密/密钥加密。...从某种意义上说,它也掩盖了大量恶行,因为那些有恶意的人无法阅读或者修改针对其他接收方的消息。 加密术语中的重要术语 将实际消息转换为编码形式(编码)被称为加密,并且反向转换(解码)被称为解密。...对称加密是最早开始使用的非常古老的加密方案之一,也称为密钥加密。在这种方案中,发送方和接收方共享相同的加密和解密密钥。...这意味着任何相同且处于相同消息中的明文或者使用相同密钥加密的不同消息块将被转换为相同的密文块。 填充 大多数明文消息不包含大量填充完整块的字节。通常没有足够的字节来填充最后一个块。...[hndd9j5fay.jpeg] 命名为Session Key的Groupbox,其中包含以下控件: 带有文本的标签控件“选择一个关键短语以派生密钥或保留空白以导出随机会话密钥”。
在前端开发中,为了提高网站的性能和保护代码的知识产权,代码压缩与混淆是十分重要的环节。本文将深入探讨 JavaScript 中前端代码压缩与混淆的概念、作用、常见方法及工具。...前端代码压缩与混淆的概念前端代码压缩指的是通过去除代码中的空格、换行符、注释等不必要的字符,来减小代码文件的大小,从而减少网络传输的时间,提高页面加载速度。...只需将代码粘贴进去,即可获得压缩后的结果。构建工具 如 Webpack、Gulp 等,它们可以在项目构建过程中自动对 JavaScript 代码进行压缩。...字符串加密 对代码中的字符串进行加密处理。使用 Terser 进行代码压缩与混淆我们可以直接使用 Terser 来压缩和混淆 JavaScript 代码。...过度的混淆可能会导致代码在某些浏览器或环境中出现兼容性问题,需要进行充分的测试。javaScript 中的前端代码压缩与混淆是优化性能和保护代码的重要手段。
密钥的作用? 使用腾讯云 API 时,你需要用密钥来签名你的 API 请求。腾讯云接收到你的请求后,会比对你的签名串和实际请求参数。如果通过了验证,那请求会被认为合法的,继而发给后台服务继续执行。...密钥在权限上等同于你的帐号和密码。你登录腾讯云控制台时是使用帐号和密码,但是当你点击控制台各种按钮时,控制台实际是用密钥对来签名 API 请求。...密钥的有效期是永久的,这也是为什么你需要将其妥善保管的原因之一。在一些高度敏感的业务中,你甚至需要使用永久密钥去生成临时密钥去发起 API 请求。临时密钥是有有效期的,过期自动就失效了。...你可以在腾讯云控制台云 API 密钥界面 https://console.cloud.tencent.com/cam/capi 管理你的密钥。...答案是: 把你的密钥隐藏在环境变量中 把你的密钥隐藏在环境变量中 把你的密钥隐藏在环境变量中 我们推荐开发者使用腾讯云 SDK 调用 API 。
前言 在开发工作中,我们可能会碰到这样的需求:需要将某个对象内容弹窗显示或者保存在文件中,这时候如果你直接弹窗的话,很可能就是下面这样的:[image-20210629184729132] 因为很多接口它对参数有要求...方法描述 JSON.stringify() 方法将一个 JavaScript 对象或值转换为 JSON 字符串,如果指定了一个 replacer 函数,则可以选择性地替换值,或者指定的 replacer...replacer(可选) 如果该参数是一个函数,则在序列化过程中,被序列化的值的每个属性都会经过该函数的转换和处理; 如果该参数是一个数组,则只有包含在这个数组中的属性名才会被序列化到最终的 JSON...如果 space是一个非空字符串(例如“\t”),则返回值文本在每个级别中缩进字符串中的字符。 如果 space 是长度大于 10个字符的字符串,则使用前 10 个字符。...函数应当返回JSON字符串中的value, 如下所示: 如果返回一个 Number,转换成相应的字符串作为属性值被添加入 JSON 字符串。
在 JavaScript 开发中,很多小伙伴都会遇到一个场景,就是要给变量设置一个默认值,比如当变量没有有效值时,使用一个备用值。这个时候,可能有两个操作符会让你感到困惑:??...JavaScript 中的"??"操作符:只关心空值,别搞混了! JavaScript 里的??(空值合并运算符)看起来和我们之前聊过的||有点像,但它其实更“挑剔”!...这种行为对于某些场景非常有用,比如分数为 0 的时候你不希望它被误当成无效值。 ?? 和 || 的关键区别:用错容易踩坑哦! 在 JavaScript 里,??...结束 在 JavaScript 开发中,?? 和 || 绝对是处理默认值的利器,虽然它们看上去很像,但实际应用中却有明显区别。|| 会把很多值当作“假值”,包括 0、false、空字符串等;而 ??...欢迎在评论区分享你的开发经验或遇到的坑,咱们一起交流交流! 同时,别忘了关注「前端达人」,每天带你学习实用的前端开发技巧,让我们一起成长!
笔者最近在看 你不知道的JavaScript上卷,里面关于 this 的讲解个人觉得非常精彩。...JavaScript 中的 this 算是一个核心的概念,有一些同学会对其有点模糊和小恐惧,究其原因,现在对 this 讨论的文章很多,让我们觉得 this 无规律可寻,就像一个幽灵一样 本篇文章,算是一篇读书笔记...每当 Javascript 代码在运行的时候,它都是在执行上下文中运行 JavaScript 中有三种执行上下文类型 全局执行上下文 — 这是默认或者说基础的上下文,任何不在函数内部的代码都在全局上下文中...当函数引用有上下文对象时,隐式绑定规则会把函数调用中的 this 绑定到这个上下文对象。...绑定到那个上下文对象 默认:在严格模式下绑定到 undefined,否则绑定到全局对象 如下图所示: 参考 [译] 理解 JavaScript 中的执行上下文和执行栈 你不知道的JavaScript上卷
在 JavaScript 中,整数和浮点数都统称为 Number 类型 。除此之外,Number 类型还有一个很特殊的值,即 NaN 。...console.log(Number.NaN); // NaN 在 ECMAScript v1 和其后的版本中,还可以用预定义的全局属性 NaN 代替 Number.NaN 。...console.log(NaN); // NaN 在以下两种场景中,可能会产生 NaN 值 。...【1】表达式计算 一个表达式中如果有减号 (-)、乘号 (*) 或 除号 (/) 等运算符时,JS 引擎在计算之前,会试图将表达式的每个分项转化为 Number 类型(使用 Number(x) 做转换)...Number 类型,这是因为JS表达式的执行顺序是按照运算符的优先级从左到右依次进行的,如果加号 (+) 两边的变量都是 Number 类型时,才会做数字相加运算,如果其中有一个变量是字符串,则会将两边都作为字符串相加
单线程是必要的,也是javascript这门语言的基石,原因之一在其最初也是最主要的执行环境——浏览器中,我们需要进行各种各样的dom操作。...因此,为了保证不会 发生类似于这个例子中的情景,javascript选择只用一个主线程来执行代码,这样就保证了程序执行的一致性。...可以预见,未来的javascript也会一直是一门单线程的语言。 话说回来,前面提到javascript的另一个特点是“非阻塞”,那么javascript引擎到底是如何实现的这一点呢?...正文 浏览器环境下js引擎的事件循环机制 1、执行栈与事件队列 当javascript代码执行的时候会将不同的变量存于内存中的不同位置:堆(heap)和栈(stack)中来加以区分。...我们知道node选择chrome v8引擎作为js解释器,v8引擎将js代码分析后去调用对应的node api,而这些api最后则由libuv引擎驱动,执行对应的任务,并把不同的事件放在不同的队列中等待主线程执行
关于Mantra Mantra是一款功能强大的API密钥扫描与提取工具,该工具基于Go语言开发,其主要目标就是帮助广大研究人员在JavaScript文件或HTML页面中搜索泄漏的API密钥。...Mantra可以通过检查网页和脚本文件的源代码来查找与API密钥相同或相似的字符串。这些密钥通常用于对第三方API等在线服务进行身份验证,而且这些密钥属于机密/高度敏感信息,不应公开共享。...通过使用此工具,开发人员可以快速识别API密钥是否泄漏,并在泄漏之前采取措施解决问题。...除此之外,该工具对安全研究人员也很有用,他们可以使用该工具来验证使用外部API的应用程序和网站是否充分保护了其密钥的安全。...总而言之,Mantra是一个高效而准确的解决方案,有助于保护你的API密钥并防止敏感信息泄露。 工具下载 由于该工具基于Go语言开发,因此我们首先需要在本地设备上安装并配置好Go语言环境。
隐藏前 ? 隐藏后 从上面两图中可以看到,在Test的Controller中原本是有三个API的,使用了隐藏后最后只有一个Api显示在外面。...实现在Swagger中隐藏Api的方式我们就利用到了特性Attribute,关于特征在《【干货】C#自定义特性(Attribute)讲解与实际应用》有详细的讲解,可以直接看那篇文章来了解c#中的特性。...实现思路 # Swagger隐藏Api 1 创建一个IDocumentFilter的继承类,实现隐藏接口特性标识 2 在Startup的ConfigureServices中针对AddSwaggerGen...的项中加入DocumentFilter的过滤 3 在想要隐藏的Api上面加入我们定义好的特性 代码实现 ?...>(); 03 对隐藏的API加入特性 最后我们只要对想要隐藏的Api加上特性,即可实现隐藏效果了。
JavaScript中,变量指的是一个可以改变的量。...在JavaScript中,共有3种流程控制方式 1、顺序结构;在JavaScript中,顺序结构是最基本的结构。所谓的顺序结构,说白了,就是代码按照从上到下、从左到右的“顺序”执行。...1、在JavaScript中,如果我们想要使用函数,一般只需要简单的2步;定义函数和调用函数。...在JavaScript中,调用事件的方式有两种: 1、在script标签中调用 语法: DOM对象.事件名 = function() { …… }; 2、在元素中调用 例子: 中, this 的指向是由外层(函数或全局)作用域来决定的 。 # 拓展建议 ES6是 JavaScript 语言的下一代标准; 非常重要,前端必学。