会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
古兰精
博客园
首页
新随笔
联系
订阅
管理
上一页
1
···
10
11
12
13
14
15
16
17
18
···
126
下一页
2021年9月29日
浅析Map和WeakMap有什么不同之处、强/弱引用的区别、WeakMap详解、map的缺点和使用WeakMap的好处
摘要: 一、Map 和 WeakMap 有什么不同之处 1、Map 是为了解决对象中的 key 只能为字符串的缺陷 //基本的对象 const obj = { 'name': '张飞',, 'age': 18 } // Map let m = new Map() a.set(obj,1) 我们的 Map 是
阅读全文
posted @ 2021-09-29 11:26 古兰精
阅读(1367)
评论(1)
推荐(0)
2021年9月26日
浅析JavaScript图片文字隐写术:什么是隐写术、隐写术与密码学区别、Unicode 中的不可见字符、StegCloak库实现隐写术
摘要: 这篇文章主要记录及介绍一下前端实现隐写术及相关知识,具体内容不细节展开,因为感觉工作中实用性不强,就是知道有这个东西,可以实现这些东西,以后如果需要使用的话,再细细研究学习,不过真的感觉不错,会玩,哈哈。 主要推荐下面这篇文章:《通过文本与图片的隐写来隐藏信息(非常有意思!)》- https://m
阅读全文
posted @ 2021-09-26 18:51 古兰精
阅读(966)
评论(0)
推荐(0)
浅析前端安全-如何防止CSRF攻击:csrf安全漏洞是什么、发生背景、常见攻击类型(get、post、链接)、csrf的防护策略(同源策略-origin/referer、CSRF Token、双重cookie验证、Samesite Cookie属性-严格/宽松模式区别)
摘要: 一、CSRF 攻击 1、CSRF漏洞的发生 相比 XSS,CSRF 的名气似乎并不是那么大,很多人都认为CSRF“不那么有破坏性”。真的是这样吗?接下来有请小明出场 —— 小明的悲惨遭遇: 这一天,小明同学百无聊赖地刷着Gmail邮件。大部分都是没营养的通知、验证码、聊天记录之类。但有一封邮件引起了
阅读全文
posted @ 2021-09-26 17:35 古兰精
阅读(1732)
评论(0)
推荐(0)
浅析从axios HTTP 拦截器的设计与实现里学习如何设计通用的任务处理模型(任务注册/任务编排/任务调度)、axios HTTP 适配器的设计与实现、常见CSRF防御措施(检查Referer、同步表单CSRF Token校验、双重Cookie防御)、axios 自带 CSRF 防御的实现原理
摘要: 一、HTTP 拦截器的设计与实现 1、拦截器简介 对于大多数 SPA 应用程序来说, 通常会使用 token 进行用户的身份认证。这就要求在认证通过后,我们需要在每个请求上都携带认证信息。针对这个需求,为了避免为每个请求单独处理,我们可以通过封装统一的 request 函数来为每个请求统一添加 to
阅读全文
posted @ 2021-09-26 15:23 古兰精
阅读(914)
评论(0)
推荐(0)
2021年9月24日
浅析Promise三兄弟:Promise.all、Promise.race、Promise.allSettled 的理解和使用场景
摘要: 一、Pomise.all 的使用 Promise.all 可以将多个Promise实例包装成一个新的Promise实例。同时,成功和失败的返回值是不同的,成功的时候返回的是一个结果数组,而失败的时候则返回最先被 reject 失败状态的值。代码示例如下: let p1 = new Promise((
阅读全文
posted @ 2021-09-24 18:12 古兰精
阅读(4293)
评论(0)
推荐(0)
浅析JavaScript中如何实现并发控制:并发控制的理解和执行流程、使用 asyncPool 实现并发控制及其实现原理、如何手写 Promise.all 和 Promise.race
摘要: 一、并发控制简介 在日常开发过程中,你可能会遇到并发控制的场景,比如控制请求并发数。那么在 JavaScript 中如何实现并发控制呢?在回答这个问题之前,我们来简单介绍一下并发控制。 假设有 6 个待办任务要执行,而我们希望限制同时执行的任务个数,即最多只有 2 个任务能同时执行。当 正在执行任务
阅读全文
posted @ 2021-09-24 17:17 古兰精
阅读(1162)
评论(0)
推荐(0)
浅析PostgreSQL的 ON CONFLICT 和 upsert:不存在则插入/存在则更新、upsert 介绍、语法及示例
摘要: 一、需求背景 在数据库表里,一般都有主键,主键是不能重复的,因为是唯一标识。假设这个时候需求来了,需要插入一组数据,这些数据中有些是完全新的,可以直接插入(insert),但有些主键内容是和原本表内的数据主键内容是一致的,这些就无法直接插入了,而是执行更新(update)操作。这时候就比较麻烦了,因
阅读全文
posted @ 2021-09-24 15:06 古兰精
阅读(14746)
评论(0)
推荐(0)
2021年9月23日
常见工作场景解决方案开源库推荐:文件上传库 - uppy、图片处理库 - tui.image-editor、在线文档预览解决方案 - kkFileView、纯前端在线表格/协同编辑解决方案 - Luckysheet、表单设计器 - form-generator / form-render、H5在线网页设计器 - gods-pen / luban-h5
摘要: 俗话说得好,工欲善其事必先利其器。利用一些开源项目,我们将能轻松应对一些常见工作场景:文件上传、图片处理、文档处理、在线表格、表单设计器、H5 页面设计器。 1、文件上传 - uppy 24.6k uppy 是一个体验顺滑、模块化的 JavaScript 文件上传器,可以无缝地与任何应用程序集成。它
阅读全文
posted @ 2021-09-23 22:41 古兰精
阅读(1657)
评论(0)
推荐(0)
浅析前端常见文件下载的9种场景:Blob基础知识/组成/Blob URL、a标签下载、showSaveFilePicker API下载(兼容性差)、FileSaver.js库下载、Zip下载(JSZip库)、附件形式下载(设置Content-Disposition)、base64格式下载(需转为blob)、分块传输下载、HTTP范围请求下载、大文件分块并行下载
摘要: 一般在我们工作中,主要会涉及到 9 种文件下载的场景,每一种场景背后都使用不同的技术,其中也有很多细节需要我们额外注意。 在浏览器端处理文件的时候,我们经常会用到 Blob 。比如图片本地预览、图片压缩、大文件分块上传及文件下载。在浏览器端文件下载的场景中,比如我们今天要讲到的 a 标签下载、sho
阅读全文
posted @ 2021-09-23 18:56 古兰精
阅读(3055)
评论(0)
推荐(0)
浅析Java中不使用的对象应赋值为null的深层理解:基本没必要的原因、JVM中局部变量表(运行时候的栈状态)和slot(运行时栈里的索引)的理解、Java的栈优化(重用栈索引节约内存空间)、GC的可达性分析算法-如何找到root树根(栈中引用的对象)、如何断开栈中引用与堆的联系(重写栈索引)
摘要: 经常听说“不使用的对象应手动赋值为null”,但是要问原因,大都回答“有利于GC更早回收内存,减少内存占用”,但再往深入问就回答不出来了。所以这里做一点深入研究。 一、将对象赋值为null,对垃圾回收有用吗? 网上很多java性能优化里都会有这么一条:尽量把不使用的对象显式得置为null,这样有助于
阅读全文
posted @ 2021-09-23 16:00 古兰精
阅读(1378)
评论(0)
推荐(1)
上一页
1
···
10
11
12
13
14
15
16
17
18
···
126
下一页
公告