Stella981 Stella981
3年前
Bash 脚本中的 set
有些开发人员会用Bash来实现很复杂的功能,就像使用别的高级语言一样。他可能觉得自己很牛逼但其他人早就想锤爆他了,Bash的可读性和可维护性远远低于任何高级语言。更要命的是,Bash并没有方便的调试工具和防错机制,出了问题你要排查半天。<!more在Ruby或者Python等高级语言里,你很容易知道错误是哪行什么类型的错误,还有IDE的
Wesley13 Wesley13
3年前
PHP 代码加密面面观
时代在发展,在PHP平台上开发的开发者越来越多。“天下熙熙,皆为利来;天下攘攘,皆为利往”,许多开发者使用PHP开发他们的商业产品,并将其进行二次分发。可惜由于PHP的机制受限,开发者们只能分发源代码,这对他们的版权保护极为不利,导致PHP界涌现出了不少加密产品。笔者最近想了想,在这里对这些加密产品进行逐项介绍,以飨各位读者。如果你没有任何技术背景,笔者
Stella981 Stella981
3年前
Kafka 消息存储与索引设计
消息中间件的性能好坏,它的消息存储的机制是衡量该性能的最重要指标之一,而Kafka具有高性能、高吞吐、低延时的特点,动不动可以上到几十上百万TPS,离不开它优秀的消息存储设计。下面我按照自己的理解为大家讲解Kafka消息存储设计的那些事。在Kafka的设计思想中,消息的存储文件被称作日志,我们Java后端绝大部分人谈到日志,一般会联想到
Stella981 Stella981
3年前
CISSP考试指南笔记:1.4 安全框架part1
这一节非常重要,在后面章节都会遇到,而且考试都或多或少会遇到。在我们进入如何开发组织范围内的安全计划之前,让我们先来看看什么不能做,这就是所谓的晦涩安全。晦涩安全概念是假设你的敌人没有你聪明,他们无法弄懂得你觉得非常棘手的事情。安全规划是由许多实体组成的框架:逻辑、管理和物理保护机制;程序;业务流程;以及为环境提供保护级别的人员。
Stella981 Stella981
3年前
Guava中的EventBus
其实代码中经常会遇到跟主流程分支出去的异步逻辑,比如说:爬虫处理逻辑中,进行心跳打点,订单处理中,需要触发用户的个人信息变更等。这个时候就应该使用观察者模式。EventBus是Guava的事件处理机制,是设计模式中的观察者模式(生产/消费者编程模型)的优雅实现。对于事件监听和发布订阅模式,EventBus是一个非常优雅和简单解决方案,我们不用创建
Easter79 Easter79
3年前
SSM框架(3):配置Spring的事务管理器,实现事务控制
 一、相关概念1、不可重复读和幻读的区别  很多人容易搞混不可重复读和幻读,确实这两者有些相似。但不可重复读重点在于update和delete,而幻读的重点在于insert。  如果使用锁机制来实现这两种隔离级别,在可重复读中,该sql第一次读取到数据后,就将这些数据加锁,其它事务无法修改这些数据,就可以实现可重复读了。但
Stella981 Stella981
3年前
SQL注入基础 sql注入详细解释 小白学习笔记
sql注入作为安全攻防中最重要的一个部分,可以说是所有渗透测试注入中最为重要的一个注入,不管是预防还是测试,都需要扎实的基础才能明白sql注入。温馨提示:此文章仅限于学习记录与讨论,不得随意测试或者注入,互联网不是法外之地,任何除学习之外的事情与作者无关。sql注入顾名思义就是执行sql命令原理:执行的用户能使用sql注入绕过认证机制
Stella981 Stella981
3年前
JVM复习
在复习Java内存机制的过程中有一些新问题,自问自答,做个记录。新生代是java堆内存的一部分。堆内存分新生代和老生代两大块,也有把堆内存分为新生代老生代永久代(持久代)三块的说法。(不过这种说法应该逐渐被淘汰,因为从java7开始永久代就已经被移除了。)新生代继续细分,可以划分出Eden,SurvivorFrom,SurvivorTo三块,Ed
Wesley13 Wesley13
3年前
JAVA中,序列化接口的作用
Java规定的内部机制,实现Serializable接口就行了,这个接口只是个标记性的接口,表示类的设计者已经允许这个类型的对象被序列化写入磁盘或通过网络发送,对于有保密要求的东西一般不实现这个接口防止无意间复制到jvm内存之外。如果一个类型的多数字段可以复制但个别字段不用复制(比如,它实际上是通过其它字段计算出来的),我们可以把它标记为
跨机房ES同步实战
众所周知单个机房在出现不可抗拒的问题(如断电、断网等因素)时,会导致无法正常提供服务,会对业务造成潜在的损失。所以在协同办公领域,一种可以基于同城或异地多活机制的高可用设计,在保障数据一致性的同时,能够最大程度降低由于机房的仅单点可用所导致的潜在高可用问题,最大程度上保障业务的用户体验,降低单点问题对业务造成的潜在损失显得尤为重要。