码农翻身(随笔)

书一直都有在读,我会一直更新博文,欢迎大家前来阅读、指教!

XML和注解

xml:应用于集中配置的场合,比如数据源的配置;

注解:像@Controller、@RequestMapping、@Transactional这样的注解,更适合与java方法写在一起,显得简单而直观;

所以就很快兴起了xml和注解的混合使用。


SSO单点登录

1、首次登录

首次登录后,浏览器就会保存sso.com的cookie

2、验证ticket

CAS是一个著名的SSO(单点登录)解决方案

单点退出

用户在一个系统退出了,认证中心需要把自己的会话和cookie消灭,然后还要去通知各个系统,让他们也把自己的会话统统消灭,这样才能在所有的系统中都实现真正的退出。


从密码到token,一个有关授权的故事

授权码+token

注:获取token的过程是在服务器后台完成的,浏览器接触不到

需要注意的一个问题:由于浏览器接触到了授权码,所以存在安全问题?

解决方法:第一种---设置授权码的失效时间;第二种---设置授权码只能用来申请一次token


Redis

1、数据结构

      List  列表

      Set  集合

      Sorted  Set  有序集合

      Hash   包含键值对的无序散列表

2、Hash槽(Hash  Slot)

      共16384个槽,采用了一种CRC16算法:先对key产生一个整数值,再对16384求余数

      优点:在Redis集群中,很好的解决了在增、删缓存服务器时的缓存失效问题

3、故障转移

      为了使Redis集群支持故障转移,提供了master-slave功能,当Hash被均匀的分成几个小组服务器,其中每个服务器都有一个master节点和多个slave节点组成,其中master节点的数据与slave节点的数据始终保持一致,对数据的操作都是在master节点中操作的,slave节点只作为备份存在,一旦master节点挂掉,其中的一个slave节点就会替换它,成为一个新的master,依然可以正常工作。

4、缓存服务器的优点

      缓存服务器之间可以互相通信,保证数据的完整性;(Hash槽)

      支持服务器动态的增加和删除;(Hash槽)

      还支持缓存数据的备份和故障转移。(master-slave)


Nginx(web服务器)

       实现了高可用,即集群

       keepalived------将多个Nginx形成一种master-slave结构(对外只提供一个IP地址)


Tomcat(Tomcat服务器)

       实现了高可用,即集群

       实现集群过程中,存在的问题:一个tomcat挂掉,他所拥有的session也会丢失,如何解决?

       解决方案:将tomcat中的session放入Redis集群


数据库

       实现了高可用,即集群,实现方式----读写分离

       一个master库:可读可写,以写为主

       多个slave库:只能读,不能写

       注:master库与slave库的数据要保持一致

       如何实现数据库事务的隔离?

       X锁和S锁应运而生

       X锁----排他锁,写数据的时候用

       S锁----共享锁,读数据的时候用

       读写分离的好处:极大地缓解了程序对X锁和S锁的争用

       数据库的读写分离伴随而来的一个问题是:tomcat的访问比较麻烦,如何解决?

       解决方案:在tomcat与数据库之间添加一个中间层,tomcat只需要正常的向中间层发出请求,具体的操作如:在程序中找到写数据的操作,发到master库去执行,找到读数据的操作发到指定的slave库去执行,这些繁琐的事情交给中间层去解决。


加解密技术

       分类:对称加密、非对称加密

       1、对称加密

       对信息的加密和解密都使用相同的密钥key,即:使用同一个密钥key对数据进行加密和解密(需要交换密钥key,交换过程中存在安全问题)

       2、非对称加密

       密钥被分解为一对,一个公开密钥(PK),一个私有密钥(SK)。公钥可以通过非保密方式向他人公开,而私钥则由解密方保存,不对外公开。(发送信息的一方通过公钥对数据进行加密,然后发送给接收方,接收方通过私钥对密文进行解密)

       优点:可以使通信双方无需事先交换密钥就可以建立安全通信。

下面简要介绍下RSA:

RSA(公钥加密算法)

       用于数据的加密数字签名

公钥和私钥的生成
1、选择两个素数P、Q
2、N=PQ
3、T=(P-1)(Q-1)
4、选择一个整数E,使  E<T  且  (E,T)=1
5、由DE    mod   T   三    1      得出   D   (mod 代表取余)
6、得到公钥(N,E),私钥(N,D)

 

        公钥加密算法

         1、公钥N,E

         2、密文C

         3、明文M

         公式:C  三   M的E次方     mod    N

        私钥解密算法

         1、私钥N,D

         2、密文C

         3、明文M

         公式:M  三   C的D次方     mod    N
 

数字签名
  发送者A(RSA私钥)  接收者B(RSA公钥)  
明文M --->签名DSKA(M)--->恢复EPKA(C)--->M
    比较M' = M  

       除A外没有别人能具有A的私密密钥SKA,所以除A外别人不能产生密文DSKA(M),这样,报文M就被签名了;B只能用持有的公钥进行解密,以实现核实A对报文的签名。


心灵鸡汤

        到尽头为止,这本书我已经大致看了一遍。初次阅读,在理解上可能还停留在表面,在以后我还会反复去阅读,正所谓:书读百遍,其义自见。

       1、对新技术要充满好奇心,积极去学习。在现今这个技术更新飞快的时代,如果不实时更新自己的数据库,就会很快被这个行业所淘汰。

        2、敢于去挑战自我能力之外的东西。当机会降临的时候,要勇敢地抓住它,当然在去做的时候会遇到很多的问题,但它会引导你去疯狂的学习,最后你就会发现自己登上了更高一层的台阶。

        3、学东西要有追根溯源的喜好。想要对某个技术有更深层次的理解,就要明白这几点:为什么要有这门技术、这门技术解决的什么、如何使用这门技术。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/253251.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

码农翻身摘录

三次握手:验证双方发信和收信能力问题  第一次握手:京城发信&#xff0c;县衙收到了&#xff0c;此时县衙就会明白&#xff0c;京城的发信能力和自己的收信能力没有问题。  第二次握手:县衙发信&#xff0c;京城收到了&#xff0c;此时京城就会明白&#xff0c;京城的发信和收…

《码农翻身》

大话编程 我是一个线程 我是一个Java class Javascript: 一个屌丝的逆袭 Java:一个帝国的诞生 JSP:一个装配工的没落 TCP/IP 之 大明王朝的邮差 TCP/IP 之 大明内阁 TCP/IP 之 蓟辽督师 CPU 阿甘 CPU 阿甘之烦恼 CPU 阿甘&#xff1a;函数调用的秘密 我是一个网卡 …

码农翻身

ISBN&#xff1a;978-7-121-34117-5 作者&#xff1a;刘欣 页数&#xff1a;324 推荐指数&#xff1a;★★★★★ 阅读日期&#xff1a;2020-02-04 用故事的形式来讲述技术&#xff0c; 从这个技术的诞生到如何发展优化&#xff0c; 一步步探究原理&#xff0c; 讲的非常生动形…

读书笔记(一)《码农翻身》

好久都没有写技术博客了&#xff0c;大概有一年左右没有开始写了&#xff0c;原因是自己弄了一个日志博文&#xff0c;当然这不是重点&#xff0c;重点是心态发生了改变&#xff0c;从心里上感觉技术兴趣不大了&#xff0c;后来又发现&#xff0c;并不是对技术失去了兴趣&#…

最担心的还是发生了,程序员失业来得太突然!

周末我在后台收到一条私信&#xff0c;事情很有代表性&#xff0c;这里分享一下。 这位老哥在一家互联网头部公司做了 6 年的技术&#xff0c;最好的年纪都留在了这家公司。上个月底&#xff0c;赶上所在的部门重组。 公司动作很快&#xff0c;开完年中回顾会就裁掉了一批人&am…

《码农翻身》之技术之路

《码农翻身》读书笔记之技术之路 这是我的后端读书笔记系列文章的第四三篇&#xff0c;选取的是最近刚刚圈粉的知名博主刘欣创作的《码农翻身》。这篇文章只是最后一部分内容。 本文内容主要根据知名博主刘欣一作《码农翻身》的内容总结而来&#xff0c;本书的内容风趣幽默&a…

码农翻身 各章节链接

大话编程 我是一个线程 我是一个Java class Javascript: 一个屌丝的逆袭 Java:一个帝国的诞生 JSP:一个装配工的没落 TCP/IP 之 大明王朝的邮差 TCP/IP 之 大明内阁 TCP/IP 之 蓟辽督师 CPU 阿甘 CPU 阿甘之烦恼 CPU 阿甘&#xff1a;函数调用的秘密 我是一个网卡 …

码农翻身全年文章精华

在码农翻身公众号写了一年多&#xff0c; 最大的体会就是&#xff1a;原创真心不易&#xff01; 每天思考的最大问题就是&#xff1a; 下一篇文章写啥&#xff1f; 在大家的支持和鼓励下&#xff0c;还是坚持了下来&#xff0c; 回头看看走过的路&#xff0c;这一年过得还算…

python笔记16_实例练习_二手车折旧分析p1

python数据分析练习&#xff0c;具体数据不放出。 分析实践很简单。目的不是做完&#xff0c;而是讲清楚每一步的目的和连带的知识点&#xff08;所以才叫学习笔记&#xff09; 0.数据准备 原始数据格式&#xff1a;csv文件 原始数据结构&#xff1a; 数据格式 字段名 int…

MySQL第二章、数据库基础

回顾&#xff1a; 目录 一、数据库的操作 1.1创建数据库 1.2显示当前数据库 1.3使用数据库 1.4删除数据库 二、常用数据类型 2.1数值类型&#xff08;分为整型和浮点型&#xff09; 2.2字符串类型 2.3 日期类型 三、表的操作 ​编辑 3.1创建表 3.2查看表结构 ​编…

苹果手机如何实现微信多开分身

微信现在是生活中使用最多的聊天软件&#xff0c;而且很多人的微信都不止一个&#xff0c;一般都是一个用来工作使用&#xff0c;一个用来日常使用。 安卓手机在很早之前就可以安装两个微信了&#xff0c;目前还有部分用苹果的朋友不知道微信怎么分身&#xff0c;接下来小编就…

苹果手机如何微信分身?

苹果微信分身&#xff0c;既是你的生活伴侣&#xff0c;又是你的工作好帮手。对于那些工作繁忙&#xff0c;生活节奏快的人来说&#xff0c;这款产品非常实用。让你随时切换身份&#xff0c;一种生活&#xff0c;一种工作&#xff0c;既避免了不必要的误会和困扰&#xff0c;也…

苹果手机微信分身

QQ慢慢退出历史舞台后&#xff0c;我们的生活与工作又重新与微信拾起了联系&#xff0c;并且无法离开。虽然安卓用户很多都有自带两个微信&#xff0c;但由于系统的限制&#xff0c;iPhone手机还不能正常安装两个微信。那这些想安装两个微信的iPhone用户怎么办&#xff1f;iPho…

苹果微信分身版ios_微信正式支持暗黑模式:iOS版已上线 安卓版随后就来

微信暗黑模式一直受到网友的极大期待&#xff0c;今天(22日)&#xff0c;微信 iOS版 终于迎来了 7.0.12 更新&#xff0c;正式加入对深色模式的支持。 微信 7.0.12 更新日志显示可跟随系统的设置&#xff0c;切换为深色模式。 从目前网友的反馈来看&#xff0c;一方面对微信终于…

苹果微信分身版ios_苹果手机ios14系统微信分身地址安装教程

大家期待已久的苹果12终于也到来了。是否达到了你的预期&#xff1f;惊喜多还是失望多呢&#xff1f; 随着苹果12的到来&#xff0c;市面上百分之80的苹果手机用户的苹果手机系统版本都更新到了ios14版本了。ios14系统可以说在使用体验上给用户们有很大的视觉提升跟操作舒心。为…

微信分身服务器,苹果微信分身版

苹果微信分身版 定制技巧一、怎样去做做seo&#xff1f;出现seo&#xff0c;一看就知道。seo如同天上掉馅饼&#xff0c;做到专注优化&#xff0c;那么就是正确的seo&#xff0c;后面的会做出***好的seo。 打造微信中的自我推广、商业协同等。微信公众平台做业务流程也可以分为…

苹果微信分身版使用教程与注意事项

许多苹果手机用户都听说过&#xff1a;苹果微信分身版这一款手机软件&#xff0c;不过&#xff0c;什么是苹果微信分身版&#xff1f;微信分身版有什么功能&#xff1f;还有&#xff0c;苹果微信分身版怎么使用呢&#xff1f;相信这一些问题大家都不知道&#xff0c;在今天的教…

多开分身苹果版_苹果手机最新微信分身怎么下载?微信多开地址分享

哇 放假了 大家端午节快乐安康。简直不要太开心。 苹果用户们都知道苹果系统已经升级到IOS14了。喜欢升级的朋友们会发现微信分身都不能用了。怎么办呢?终归不会凉拌。我的出现就是来拯救你们的,对。 已经升级到ios14系统的朋友不要着急,船到桥头自然直,下面这款微信分身就…

苹果应用分身_苹果手机微信分身怎么下载?微信多开版地址

周一了,新的一周开始了,小伙伴们这周要加油啊。 小伙伴们这周的工作有没有有效率的完成呢??如果没有,那可能是因为你缺少一个稳定的微信分身。何为微信多开? 顾名思义就是在一个手机上安装两个乃至多个微信。对 ,就是这个意思了。如下图所示 很多人在苦恼,找了那么多年…

Vue3-devtools开发者工具正确安装方法

目录 前言&#xff1a;1、下载安装2、添加扩展 前言&#xff1a; 最近在学习Vue3&#xff0c;学习Vue3自然离不开调试工具Vue3-Devtools&#xff0c;所以我们需要来下载这个调试工具并放入谷歌浏览器里的扩展程序里面。帮助我们更好的调试vue3里的程序。 1、下载安装 Github下…