金融IT技术人员
提炼类(Extract Class):并发和事务的风险;某个类做了两个类做的事;建立一个新类,将相关的字段和函数从旧类搬移到新类
搬移字段(Move Field):你的程序中,某个字段被其所驻类之外的另一个类更多的用到。在目标类新建一个字段,修改源字段的所有用户,令它们该用新字段
搬移函数(Move Method):你的程序中,有个函数与其所驻类之外的另一个类进行更多的交流:调用后者,或者被后者调用。在该函数最常引用的类中建立一个有着类似行为的新函数。将就函数变成一个单纯的委托函数,或是将旧函数完全移除
替换算法(Substitute Algorithm):你想要把某个算法替换为另一个更清晰的算法,将函数本体替换为另一个算法
移除对参数的赋值(Remove Assignments to Parameters):代码对一个参数进行赋值,以一个临时变量取代该参数的位置
分解临时变量(Split Temporary Variable):你的程序有某个临时变量被赋值超过一次,它既不是循环变量,也不被用于收集计算结果针对每次赋值,创造一个独立,对应的临时变量
引入解释性变量(Introduce Explaining Variable):你有一个复杂的表达式,将该复杂表达式(或其中的一部分)的结果放进一个临时变量,以此变量名称来解释表达式用途
以查询取代临时变量(Replace Temp with Query):你的程序以一个临时变量保存某一个表达式的结果。将这个表达式提炼到一个独立函数中,将这个临时变量所有的引用点替换为对新函数的调用,此后,新函数就可以被其他函数使用
内联临时变量(Inline Temp):你有一个临时变量,只被一个简单表达式赋值一次,而它妨碍了其他重构手法。将所有对该变量的引用动作,替换为对它赋值的那个表达式自身
内联函数(Inline Method):一个函数本体与名称同样清楚易懂,在函数调用点插入函数本体,然后移除该函数。
内联函数(Inline Method):一个函数本体与名称同样清楚易懂,在函数调用点插入函数本体,然后移除该函数。
内联函数(Inline Method):一个函数本体与名称同样清楚易懂,在函数调用点插入函数本体,然后移除该函数
提炼函数(Extract Method):你有一段代码可以被组织在一起并独立出来,将这段代码放进一个独立的函数中,并让函数名称解释该函数的用途。
应用程序的功能一般包含权限管理和会话管理,但是由于应用程序设计不当,让攻击者可以窃取到密码、密钥、session tokens等信息,进而冒充合法用户身份,获取敏感信息或者进行恶意操作。
SQL注入是指利用现有应用程序,将(恶意)的SQL命令注入到后台数据库引擎执行的攻击方法。 通常Web 应用程序在后端使用数据库,查询数据库的语言一般是 SQL(各大数据库供应商都有自己的不同版本)。
上传任意文件漏洞是指用户可以上传所有文件,程序没有检测上传文件大小、类型是否是符合期望,或仅仅在客户端对上传文件大小、上传文件类型进行限制,未在服务器端进行验证。恶意用户可以利用例如上传一些恶意的程序,比如图片木马。
跨站请求伪造(CSRF)是一种挟制终端用户在当前已登录的Web应用程序上执行非本意的操作的攻击方法。攻击者只要借助少许的社会工程诡计,例如通过电子邮件或者是聊天软件发送的链接,攻击者就能迫使一个Web应用程序的用户去执行攻击者选择的操作。
跨站脚本攻击(也称为XSS)指利用网站漏洞从用户端恶意盗取信息。用户在浏览网站、使用即时通讯软件、甚至在阅读电子邮件时,通常会点击其中的链接,攻击者通过在链接中插入恶意代码,系统在接收到包含恶意代码的请求之后会产成一个包含恶意代码的页面,而这个页面看起来和系统应当生成的合法页面一样,当用户浏览器显示该页面内容时即会执行攻击者插入的而恶意代码,攻击者就能够盗取用户信息。
传输层保护不足:WEB应用程序在进行数据传输时,可能会选择HTTP或者HTTPS。对于前者,在传输的过程中,对传输数据并未做保护。在传输过程中,传输数据有可能被恶意用户截获、篡改。对于未使用SSL/TSL保护的传输通道,我们称之为传输层层保护不足。
不安全的加密存储:对重要信息不进行加密处理或加密强度不够,或者没有安全的存储加密信息,都会导致攻击者获得重要信息。此风险还涉及Web应用以外的安全管理。
Module模式是JavaScript编程中一个非常通用的模式,一般情况下,大家都知道基本用法,本文尝试着给大家更多该模式的高级使用方式。
一致性 hash 算法(consistent hashing)
redis性能问题和解决方案