待兔 待兔
4年前
理解软件设计的基本原则
任何软件唯一不变的真理是变化,毕竟软件是"软"的。软件研发需要快速响应市场、需求的变化。为了快速响应,我们可以通过增加人手来达到部分目的,但软件开发属于知识密集型工作,当人数增加到一定数量后,不仅不能够提升研发效能。反而增加管理成本,沟通成本及由于人与人沟通、理解上产生的歧义而最终造成软件实现的混乱和复杂度。所以软件本身需要能够轻易的扩展,适应各种需
浅谈加密算法 aes
一、目标搞了这么多期签名和加密解密,今天我们聊聊高大上的东西:加密算法。加密算法我们整体可以分为:不可逆加密算法和可逆加密算法。不可逆加密算法常见的不可逆加密算法有MD5,HMAC,SHA1、SHA224、SHA256、SHA384,和SHA512。他们的特点是,不能从加密后的结果解密出原文,主要用于校检数据的一致性,防止篡改数据,我们之前分析的大部分s
Application Repository一键启用微信告警通知
前言我们在使用云平台时偶尔会在管理员邮箱中收到系统发出的告警通知,如EC2维护信息,这些邮件很容易淹没在收件箱中,没有得到及时处理。另外对于重要的应用我们可能会在CloudWatch设置一些指标告警并进行邮件通知。如果这些都可以发到微信等即时通信软件,就比邮件通知好多了,毕竟很多人都习惯在即时通信软件上查看消息。具体实现原理并不复杂,我们知道微信等即时通信
免费试用产品
探索100余种产品,并使用免费套餐在AWS上开始构建。根据所使用的产品,有三种不同类型的免费优惠可供选择。12个月免费:这些产品仅适用于新AWS客户,在自注册AWS之日起12个月内可用。当12个月的免费使用期过期或您的应用程序使用量超过了免费套餐限额,您只需支付标准的按使用量付费的服务费率(请参阅每个服务页面上的完整定价详情)。存在
参加 AWS DeepRacer League 人工智能赛车竞赛
人工智能正成为企业转型过程中的关键组成部分,大多数公司都知道人工智能和机器学习能帮助企业实现转型。AWSLeague是世界上第一个面向所有人开放的全球自动驾驶赛车联盟。开发人员可以与来自世界各地的任何人比赛,赢得奖金和荣誉,并有机会晋级到re:Invent2021上的AWSDeepRacer锦标赛杯决赛!在这里您可以:1.AWS虚拟巡回赛
Wesley13 Wesley13
3年前
CAP理论与分布式事务解决方案
微服务系统所设计的系统是分布式系统。分布式系统有一个著名的CAP理论,即同时满足“一致性”“可用性”和“分区容错”是一件不可能的事。CAP理论是由EricBrewer在2000年PODC会议上提出的,该理论在两年后被证明成立。CAP理论告诉架构师不要妄想设计出同时满足三者的系统,应该有所取舍,设计出适合业务的系统。CAP理论示意图!(https:/
Wesley13 Wesley13
3年前
Java并发编程:Java中的锁和线程同步机制
锁的基础知识锁的类型锁从宏观上分类,只分为两种:悲观锁与乐观锁。乐观锁乐观锁是一种乐观思想,即认为读多写少,遇到并发写的可能性低,每次去拿数据的时候都认为别人不会修改,所以不会上锁,但是在更新的时候会判断一下在此期间别人有没有去更新这个数据,采取在写时先读出当前版本号,然后加锁操作(比较跟上一次的版本号,如果一
Wesley13 Wesley13
3年前
80、54、84坐标系七参数转换算法
一、为什么要进行坐标转换  我们所在地球是一个不规则的椭球,地表凹凸不平,地底密度不均,因此很难用一个简单模型来概括。国际上根据建模坐标系的原点不同分为参心坐标系和地心坐标系,其中参心坐标系是指参考椭球的几何中心坐标基准,地心,通常分为:参心空间直角坐标系(以x,y,z为其坐标元素)和参心大地坐标系(以B,L,H为其坐标元素)
Stella981 Stella981
3年前
53w字!阿里首推系统性能优化指南太香了,堪称性能优化最优解
性能优化我们都知道代码是系统的基石,没有良好的代码,系统架构就不牢固。但作为一般一个普通程序员,很少有机会参与系统架构级别的优化,甚至暂时不能理解架构上的调整。在开发新功能或审查组内的代码时,优化系统的方式主要是优化自己或他人写的代码。但是真实的情况是:且不说其他层次的优化,就一个代码优化很多入行没有多久的小伙伴甚至都还没入门,更别说啥实现
Wesley13 Wesley13
3年前
C语言基础之ASCII编码(3)
什么是字符集和字符编码?前面我们已经讲到,计算机是以二进制的形式来存储数据的,它只认识0和1两个数字,我们在屏幕上看到的文字,在存储之前都被转换成了二进制(0和1序列),在显示时也要根据二进制找到对应的字符。可想而知,特定的文字必然对应着固定的二进制,否则在转换时将发生混乱。那么,怎样将文字与二进制对应起来