首页
AI Coding
数据标注
NEW
沸点
课程
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
个人收藏
订阅
Atom李
更多收藏集
微信扫码分享
微信
新浪微博
QQ
49篇文章 · 0订阅
九种跨域方式实现原理(完整版)
前后端数据交互经常会碰到请求跨域,什么是跨域,以及有哪几种跨域方式,这是本文要探讨的内容。 本文完整的源代码请猛戳github博客,纸上得来终觉浅,建议大家动手敲敲代码。 同源策略是一种约定,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,浏览器很容易受到XSS、CSR…
不是吧,还有人不知道三目运算符的BUG
三目运算符一直是众多开发者信手拈来的一种写法,它简化了if-else的臃肿的写法,而是用一行代码替代,就感觉无形之中秀了一把。 殊不知,这么帅气的代码也暗藏着一个BUG。 头天晚上发布了一个功能,本以为是波澜不惊的一个需求,结果第二天kibana打出了成吨的NPE日志。这些NP…
妙用“Function”消灭if...else
在开发过程中经常会使用```if...else...```进行判断抛出异常、分支处理等操作。这些```if...else...```充斥在代码中严重影响了代码代码的美观,这时我们可以利用`Java 8
Java8之熟透Optional
这是一个可以包含或者不包含非 null 值的容器。如果值存在则 isPresent()方法会返回 true,调用 get() 方法会返回该对象。 好像看着代码是优美了点,但是事实上这与之前判断 null 值的代码没有本质的区别,反而用 Optional 去封装 value,增加…
消息顺序性为何这么难?
画外音:发送方只要将邮件协议里的时间调整为 1970 年或者 2970 年,就可以在接收方收到邮件后一直 “置顶” 或者“置底”。 对于严格时序的业务场景,可以利用单点写 db 的 seq/auto_inc_id 生成单调递增的 id,来保证顺序性。 画外音:这个生成 id 的…
群聊比单聊,为什么复杂这么多?
群消息的实时性、可达性、离线消息的复杂度,要远高于单对单消息。 群业务的核心数据结构有两个。 画外音:用来描述一个群里有多少成员。 画外音:用来描述一个群成员的离线消息。 那么,问题来了!对于同一份群消息的内容,多个离线用户似乎要存储很多份。假设群中有 200 个用户离线,离线…
求你了,别再随便打日志了,教你动态修改日志级别!
之前写过一篇文章《明明有自动清理,日志还是把我的服务干爆了!》,介绍过一次大促故障,是因为日志量激增,导致服务器差点挂掉。 在那次问题发生之后,我开发了一个简单的日志降级的小工具,通过配置的方式,动态推送日志级别,动态修改线上的日志输出级别。并且把这份配置的修改配置到我们的预案…
JVM 内存分析工具 MAT 的深度讲解与实践——进阶篇
本系列共三篇文章, 本文是系列第2篇——进阶篇,详细讲解 MAT 各种工具的核心功能、用法、适用场景,并在具体实战场景下讲解帮大家学习如何针对各类内存问题。 《JVM 内存分析工具 MAT 的深度讲解与实践——入门篇》 介绍 MAT 产品功能、基础概念、与其他工具对比、Quic…
HashMap源码解析
hashmap源码分析
天猫面试官:如何设计一个数据库?我人傻了
我们知道,软件工程是为了解决软件危机的,它是采用工程的概念、原理、 技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来。 在软件开发的过程中,数据库设计是非常重要的,它需要根据需求分析设抽象出E-R图,逻辑结构设计,数据库选型,…