所有文章 (80)
less is more
Let's Encrypt, 为nextjs加密
·约 2182 字·5 分钟
AI摘要: 本文介绍了如何在 Let's Encrypt 中为 Next.js 添加 TLS。由于缺少 TLS 证书,网站只能通过 HTTPS 访问,而 Chrome 浏览器更新后默认开启了安全 DNS,导致无法打开。了解到 Let's Encrypt 可以免费获取 TLS 证书后,决定为网站安装该证书。文章详细解释了 TLS 加密过程,包括银行与客户之间的信任建立和密码加密解密的过程。最后,通过执行特定命令,成功为 Next.js 应用部署了免费的 TLS 证书,并设置了定时更新功能。...
Let's EncryptNext.jsTLSSSLHTTPSNginx分类问题常用CE而不是MSE
·约 1567 字·4 分钟
AI摘要: 本文分析了机器学习中分类任务常用MSE而非CE的原因,并从分布角度、优化角度进行了详细讨论。文章指出,MSE假设数据服从高斯分布,而现实中长尾分布也很常见,直接使用MSE可能导致效果不佳。同时,文中还提到在优化的角度上,如果分类问题使用MSE作为损失函数,是非凸优化,难以求出最优解。...
MSECE分布角度优化角度ThreadLocal简单讲解
·约 1860 字·4 分钟
AI摘要: 本文介绍了Java中的ThreadLocal类,它是一种用于处理共享变量的线程安全机制。ThreadLocal为每个线程提供一个独立的数据副本,通过get(), set()和remove()方法来管理这些副本。尽管ThreadLocal可以解决线程安全问题,但更好的解决方案是使用synchronized关键字。文章还提供了一个示例代码,展示了如何使用ThreadLocal实现多线程编程。...
ThreadLocal线程安全共享变量线程不安全问题@synchronizedRand7生成Rand10
·约 1992 字·5 分钟
AI摘要: 本文介绍了如何使用数学原理和C++代码生成等概率的随机数。首先,通过数学公式$(randX() - 1) * Y + randY()$可以生成等概率的$[1, X * Y]$范围内的随机数。证明过程基于$randX()$和$randY()$分别生成$[1, X]$和$[1, Y]$之间的等概率随机数。联合概率表展示了如何从这些随机数中采样得到均匀分布的$[1, XY]$之间的随机数。接着,文章提供了使用C++编写的代码示例,演示了如何通过构造特定表达式来生成在指定范围内的均匀随机数。然而,这种方法效率较低,因为只有当采样到$[1, 10]$之间时才会停止,而$[11, 49]$之间的数会被丢弃。为了提高效率,文章提出了一种优化方法,通过模除操作将范围缩小到$[1, 10]$,并进一步优化为只采样$[41, 49]$之间的数,从而提高了效率。最后,文章还探讨了从进制的角度解决问题的方法,指出如果给定$rand1()$只能生成$[0, 1]$之间的均匀随机数,那么可以通过二进制编码的方式生成$[a, b]$之间的均匀随机数。...
数学原理C++代码随机数生成均匀分布高效编程