浏览器计算文件md5 相关API连接:HTML InputFile标签在web应用程序中使用文件FileReader使用spark-md5 浏览器使用的md5计算包演示代码: 按住ctrl 多选, 控制台输出对应计算结果<!DOCTYPE html><html><head><script src="https://cdn.bootcdn.net/ajax/libs/spark-md5/3.0.2/spark-md5.js" ></script>&
AWS S3 数据完整性校验 近期在处理OTA升级包数据完整性这个问题 引发了一系列的review。如何保证服务器上传到S3 S3收到的升级文件是完整的,如何保证设备获取到的升级文件是完整。这里其实就涉及到两个问题:1 在上传文件到S3如何确定上传过程数据不被损坏2 如何把保证下载过程数据如何不被损坏这里S3果然有进行考虑:https://aws.amazon.com/cn/premiumsupport/knowledge-center/data-integrity-s3/1 关于S3 ETag实体标签(ETag)代表
AWS STS在region ap-east-1支持问题 原来一直没有用过香港区域STS 来签发临时授权令牌。然后近期开启了香港区域ap-east-1 然后进行测试发现通过STS签发的凭着获取S3中的文件抛出:The provided token is malformed or otherwise invalid真的是相当的令人困惑。然后在东京区域 ap-northeast-1 建立了同样的存储桶,然后同样的代码去获取文件,就可以获取成功,让人不禁怀疑香港区域有点特殊。最后知道翻到了 https://docs.aws.amazon.com/IAM/lat
mongodb4.4 windows环境安装 安装社区版本:Mongodb 4.4windows版本: win101 windows 安装mongodbMongodb 下载地址: https://www.mongodb.com/try/download/communitywindwos直接下载,在安装界面配置数据目录和log目录,然后下一步即可。我们可以不安装MongoDB Compass.安装完成后mongodb应该就已经在后台运行了。测试访问mongodb默认端口(localhost:27017),出现以下界面说明mongodb已经安.
database-关系数据库与noSql数据库选型分析 近期因为一些私有化部署的需求需要切换一下方案底层数据库,评估一下数据库选型并需要整理一份文档,这里借此机会也整理一下这部分内容。本文档是个人一些浅见和基于极客时间的两门课程整理(Mysql实战45讲和从零开始学架构)1 关系数据库常见的以Mysql和Postgresql为代表优点:强大的 SQL 功能和 ACID 的属性一个用户请求要么成功、要么失败,不能处于中间状态(Atomic)一旦一个事务完成,将来的所有事务都必须基于这个完成后的状态(Consistent)未完成的事务不会互相影响(
Nginx 配置文件nginx.conf拆分 本文环境:ubuntu 18.04 阿里云当nginx 反向代理的内容越来越多的时候,如果仅仅使用nginx.conf来配置会导致比较难管理。所以希望按照子域名规则来划分application。然后将application的规则配置到/etc/nginx/conf.d/下面去。目前希望针对不同子域名进行拆分。比如有以下两个子域名的反向代理需要拆分。rtc.sample.top -> port 4056account.sample.top -> port 40571 环境准备本节主
Linux 自启动服务配置 最近想把nodejs 的服务器作为服务随linux启动而启动。发现对这部分理解并不是非常清晰,这里重新整理学习一下这部分内容。1 服务的概念在Linux中,服务是在后台运行的程序。服务可以按需启动,也可以在启动时启动。如果您使用Linux作为主要操作系统或开发平台,那么您将处理不同的服务,例如webserver,ssh或cron。在调试系统问题时,了解如何列出正在运行的服务或检查服务状态非常重要。最近的大多数Linux发行版都使用systemd作为默认的初始化系统和服务管理器。Systemd是一套
AWS Cloud Watch及Lambda 执行定时任务 1 背景目前有一个报表功能,希望能定时扫描统计Dynamodb 数据库并在月初生成上月统计分析数据并填入统计结果表中。所以看能不能写一个定时任务来处理。但分析了一下场景,实际上和web应用服务器并没有关系且不希望统计功能占用到应用服务器资源影响运行。利用cloudwatch 来实现定时任务的触发。利用Lambda函数实现读取数据库,统计整理数据,并回写数据的功能。这里好处是就完成应用web服务器直接查询统计结果数据即可,不用参与较高复杂度的统计分析回写操作。而利用cloudwatch和
Ant Design Pro 使用proxy无法设置cookies Ant Design Pro 使用proxy无法设置cookies近期使用ant design Pro 实现了一个内部的后台。用于提供一个简单界面访问一些用户和设备的数据。但近期需要将系统交接给其他同事继续开发。想要在本地配置proxy连接后端服务器。1 关于AntD Pro配置代理1.1 关于为什么要配置代理AntD Pro 是前后端分离的前端框架,在部署时,一般会将前端代码打包和后端代码部署同一个域名下,所以不会有跨域的场景。比如使用nginx 部署· location / {
nodejs使用crypto进行对称加密 1 简介Nodejs 加解密模块主要由Crypto模块提供,Crypto模块由 C/C++ 实现算法后,暴露为 javascript 接口的模块,包含对 OpenSSL 的哈希、HMAC、加密、解密、签名、以及验证功能的一整套封装。关于对称加密:采用单钥密码系统的加密方法,同一个密钥可以同时用作信息的加密和解密,这种加密方法称为对称加密对称加密主要由Cipher 提供:Cipher该类的实例用于加密数据。关于支持的算法:最近的OpenSSL发布,openssl list-cipher-algorit
Javascript 实现Sleep效果 在C++ 和linux 中经常使用sleep 来实现一个程序的延时,而在JavaScript中只有setTimeOut这种非阻塞方式,如果要实现一种类似阻塞的方式可以使用async/await 配合settimeout来实现。可以用于一些测试场景async function run(){ console.log('--------------'); await sleep(2); console.log('--------------'); await sleep(5); conso
身份证校验码计算 身份证校验码计算最近看一份文档看到身份证规则,觉得很有趣,这里记录一下如何计算校验码1 身份证编码规则《中华人民共和国国家标准GB 11643-1999》中有关公民身份号码的规定,公民身份号码是特征组合码,由十七位数字本体码和一位数字校验码组成。排列顺序从左至右依次为:六位数字地址码 (编码对象常住户口所在县(市、旗、区)的行政区划代码,按 GB/T 2260的规定执行),八位数字出生日期码(表示编码对象出生的年、月、日,按GB/T 7408的规定执行。年、月、日代码之间不用分隔符)顺序码
Minio 搭建对象存储服务 文章目录1 mino简介2 环境3 部署3.1 获取程序3.2 存储类别3.3 挂载硬盘3.4 单机部署3.4.1 部署及测试3.4.2 作为Linux Service启动3.5 分布式集群扩容方案3.5.1 部署及测试3.5.2 作为Linux Service启动3.6 多机部署,扩容支持4 客户端及演示5 Prometheus+Grafana 搭建监控系统监控minio集群5.1 搭建Prometheus 收集minio集群数据5.2 使用Grafana 优化监控界面6 参考1 mino简介Mi
Linux 普通用户bind 80端口 文章目录1 使用nginx 做反向代理2 Linux能力-CAP_NET_BIND_SERVICE2.1 Linux 能力概念2.2 测试及赋予能力linux对于非root权限用户不能使用1024以下的端口,那普通用户该如何将应用服务通过80端口对外提供服务呢1 使用nginx 做反向代理常规操作,一般应用服务器不会直接暴露在公网,而是使用nginx 做方向代理,将访问服务器80端的请求转发到具体应用服务器的监听的端口server { listen 80; server_name
Markdown编写工具及图床方案 经常在个人编写blog 使用markdown语法,但最近使用语雀编写文档时发现用语雀客户端编写的markdow 生成的图片外链 无法在其他网站使用。基于这种情况是时候考虑一下如何在本地编写markdown。在知乎上找了一圈发现很多人推荐:typora 编写markdownpicgo作为图床处理markdown中图片picgo使用七牛云作为服务商。注意这里长期使用需要有一个备案域名1 下载typorahttps://www.typora.io/很简单就可以下载安装2 申请七牛云并配置picgo七牛
使用Nextcloud在AWS搭建云存储 环境: ubuntu 18.04国内区确定是否已备案拥有80/443 端口相应EC2 安全组已开放对应端口如果仅仅是自用推荐使用第二种snap方式1 使用dockers安装nextcloud1.1 安装及启动ubuntu安装dockers脚本curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun拉取nextcloud dockers镜像docker pull nextcloud启动nextcloud容器d
使用crow E-R图描述数据库关系 在设计数据库模型时,使用E-R图的方式可以帮我们理清各数据库实体信息及实体与实体之间的关系。本文描述的为:E-R Crow画法绘图工具: draw.io 离线版文章目录1 E-R图2 E-R图说明2.1 属性2.2 关系2.3 实体3 图例及参考3.1 crow方法图列3.2 示例4 参考1 E-R图实体关系图(ERD)或ER模型代表任何系统中的数据。您可以使用它们来说明业务流程中数据的结构,或详细说明关系数据库中数据的存储方式。ER图不一定显示数据的处理方式或经过的确切过程,而是数据实体的结构和
算法评估标准:时间复杂度与空间复杂度 1 概念最近开始随便看看leetcode,发现自己对时间复杂度和空间复杂度没有一个清晰地认识。就去看了看程序员小灰写的算法之旅。这里写篇博客记录一下这部分的知识方便以后查阅。先说说什么是算法:在计算机领域里,算法是一系列程序指令,用于处理特定 的运算和逻辑问题。 衡量算法优劣的主要标准是时间复杂度和空间复杂度。而是什么是时间复杂度和空间复杂度呢?**时间复杂度:时间复杂度是对一个算法运行时间长短的量度。**用大O表 示,记作T(n)=O(f(n))。常见的时间复杂度按照从低到高的顺序,包括O(1)、
AWS STS 临时授权方案 官方文档:https://docs.amazonaws.cn/IAM/latest/UserGuide/id_credentials_temp_request.html描述一下这篇文章的背景:1 背景使用cognito 控制app接入:APP 通过cognito服务的开发者授权验证方式接入到的cognito服务身份池。通过userid 作为开发人员标识换到cognito indentity pool 的唯一标识 indentityid。 而每一个通过验证的用户都可以用身份映射到一个AWS IAM
阿里云资源编排(ROS)Sample 原来用过AWS cloudFormation 服务感觉用于帮客户搭建环境很好用。近期需要客户创建一个阿里云OSS 桶资源,并给一个对应用户mobile APP访问的RAM角色和一个用于server访问的子账号。 文档写了5小节,整个过程比较繁琐,如果需要客户手动操作可能会造成一些困扰。所以这里就看了下和AWS cloudFormation对应的阿里云 资源编排服务(ROS)。此文档记录一些Sample方便以后接着填这种坑。 阿里云的文档写的还是不错的:模板的基本语法: https://help.aliyun