- 开发者
- 算法
#算法#
- 背景介绍 SHA安全散列算法SHA (Secure Hash Algorithm)是美国国家标准和技术局发布的国家标准FIPS PUB 180-1,一般称为SHA-1。其对长度不超过264二进制位的消息产生160位的消息摘要输出,按512比特块处理其输入。SHA是一种数据加密算法,该算法经过加密专家多年来的发展和改进已日益完善,现在已成为公认的最安全的散列算法之一,并被广泛使用。该算... 背景介绍 SHA安全散列算法SHA (Secure Hash Algorithm)是美国国家标准和技术局发布的国家标准FIPS PUB 180-1,一般称为SHA-1。其对长度不超过264二进制位的消息产生160位的消息摘要输出,按512比特块处理其输入。SHA是一种数据加密算法,该算法经过加密专家多年来的发展和改进已日益完善,现在已成为公认的最安全的散列算法之一,并被广泛使用。该算...
- 本文主要介绍了几种程序猿需要了解的排序算法。有些是经典,有些是常用系列,而有些虽然不常用但也需要了解一二。 本文主要介绍了几种程序猿需要了解的排序算法。有些是经典,有些是常用系列,而有些虽然不常用但也需要了解一二。
- 以下文章来源于程序猿DD 作者翟永超本文翻译自:http://idea-intellij.com/top-10-intellij-plugins/IntelliJ的十大插件?相信每个人都有自己的选择。我们也同样如此。在这里,我们为您带来我们认为的十大IntelliJ插件。如果你还是不知道什么是IntelliJ插件,请先阅读our page about plugins(http://idea... 以下文章来源于程序猿DD 作者翟永超本文翻译自:http://idea-intellij.com/top-10-intellij-plugins/IntelliJ的十大插件?相信每个人都有自己的选择。我们也同样如此。在这里,我们为您带来我们认为的十大IntelliJ插件。如果你还是不知道什么是IntelliJ插件,请先阅读our page about plugins(http://idea...
- 上一次为大家介绍了单例模式的基本概念和几种实现方式,没看过的小伙伴们可以点击下面链接:漫画:什么是单例设计模式?如果懒得去看也不要紧,让我们来简单回顾一下。线程安全的懒汉型单例模式:Singleton { Singleton() {} Singleton instance = ; Singleton getInstance() { (instance == ) {... 上一次为大家介绍了单例模式的基本概念和几种实现方式,没看过的小伙伴们可以点击下面链接:漫画:什么是单例设计模式?如果懒得去看也不要紧,让我们来简单回顾一下。线程安全的懒汉型单例模式:Singleton { Singleton() {} Singleton instance = ; Singleton getInstance() { (instance == ) {...
- 本文转载自公众号 架构师之路作者:沈剑 58同城首席架构师上图是一个典型的互联网分层架构:客户端层:典型调用方是browser或者APP站点应用层:实现核心业务逻辑,从下游获取数据,对上游返回html或者json数据-缓存层:加速访问存储数据-数据库层:固化数据存储 如果实施了服务化,这个分层架构图可能是这样:中间多了一个服务层。同一个层次的内部,例如端上的APP,以及web-serve... 本文转载自公众号 架构师之路作者:沈剑 58同城首席架构师上图是一个典型的互联网分层架构:客户端层:典型调用方是browser或者APP站点应用层:实现核心业务逻辑,从下游获取数据,对上游返回html或者json数据-缓存层:加速访问存储数据-数据库层:固化数据存储 如果实施了服务化,这个分层架构图可能是这样:中间多了一个服务层。同一个层次的内部,例如端上的APP,以及web-serve...
- 前言:本文原作者BlindingDark, 老刘做了修改。1第一天上帝看到约翰·麦卡锡发明了表处理语言 Lisp,却只用来学术研究,很是伤心,就把 Lisp 解释器的秘密告诉了他的学生斯蒂芬·罗素,斯蒂芬·罗素将eval函数在IBM 704机器上实现后,函数式编程的大门第一次向人类打开了。2第二天这个平行宇宙的上帝思想独特,他说:“ 要有不变量” 上帝又说: “... 前言:本文原作者BlindingDark, 老刘做了修改。1第一天上帝看到约翰·麦卡锡发明了表处理语言 Lisp,却只用来学术研究,很是伤心,就把 Lisp 解释器的秘密告诉了他的学生斯蒂芬·罗素,斯蒂芬·罗素将eval函数在IBM 704机器上实现后,函数式编程的大门第一次向人类打开了。2第二天这个平行宇宙的上帝思想独特,他说:“ 要有不变量” 上帝又说: “...
- 转载自公众号 技术特工队在java中垃圾回收是系统自动完成的,了解它对优化应用程序有很大的帮助。那么我们就从下面几个方面来了解垃圾回收机制:哪些对象需要回收?什么时候回收?怎么去回收?判断对象可以回收的方法:引用计数算法给对象中添加一个引用计数器,每当有一个地方引用它时,计数器值就加1;当引用失效时,计数器值就减1;任何时刻计数器为0的对象就是不可能再被使用的。优点:简单,高效,现在的ob... 转载自公众号 技术特工队在java中垃圾回收是系统自动完成的,了解它对优化应用程序有很大的帮助。那么我们就从下面几个方面来了解垃圾回收机制:哪些对象需要回收?什么时候回收?怎么去回收?判断对象可以回收的方法:引用计数算法给对象中添加一个引用计数器,每当有一个地方引用它时,计数器值就加1;当引用失效时,计数器值就减1;任何时刻计数器为0的对象就是不可能再被使用的。优点:简单,高效,现在的ob...
- 本文转载自公众号 占小狼的博客前言Java NIO 由以下几个核心部分组成: 1 、Buffer2、Channel 3、Selector传统的IO操作面向数据流,意味着每次从流中读一个或多个字节,直至完成,数据没有被缓存在任何地方。NIO操作面向缓冲区,数据从Channel读取到Buffer缓冲区,随后在Buffer中处理数据。本文着重介绍Channel和Buffer的概念以及在文件读写方... 本文转载自公众号 占小狼的博客前言Java NIO 由以下几个核心部分组成: 1 、Buffer2、Channel 3、Selector传统的IO操作面向数据流,意味着每次从流中读一个或多个字节,直至完成,数据没有被缓存在任何地方。NIO操作面向缓冲区,数据从Channel读取到Buffer缓冲区,随后在Buffer中处理数据。本文着重介绍Channel和Buffer的概念以及在文件读写方...
- 本文转载自公众号 一个程序员的日常什么是数据思维?「企业数据化管理变革」这本书中对数据思维是这么阐述的:数据思维是根据数据来思考事物的一种思维模式,是一种量化的思维模式,是重视事实、追求真理的思维模式。很多人陷入了一种误区,认为数据思维就是罗列数据,其实不然,数据思维的重点是要得出定性的结论。 举个简单的例子:甲公司的某款产品12月份的销售额3千万,环比增长-10%,同比增长10%,这就是... 本文转载自公众号 一个程序员的日常什么是数据思维?「企业数据化管理变革」这本书中对数据思维是这么阐述的:数据思维是根据数据来思考事物的一种思维模式,是一种量化的思维模式,是重视事实、追求真理的思维模式。很多人陷入了一种误区,认为数据思维就是罗列数据,其实不然,数据思维的重点是要得出定性的结论。 举个简单的例子:甲公司的某款产品12月份的销售额3千万,环比增长-10%,同比增长10%,这就是...
- 本文转载自公众号 SpringForAll社区在项目迭代的过程中,不可避免需要”上线“。上线对应着部署,或者重新部署;部署对应着修改;修改则意味着风险。目前有很多用于部署的技术,有的简单,有的复杂;有的得停机,有的不需要停机即可完成部署。本文的目的就是将目前常用的布署方案做一个总结。一、蓝绿布署Blue/Green Deployment(蓝绿部署)1、定义蓝绿部署是不停老版本,部署新版本然... 本文转载自公众号 SpringForAll社区在项目迭代的过程中,不可避免需要”上线“。上线对应着部署,或者重新部署;部署对应着修改;修改则意味着风险。目前有很多用于部署的技术,有的简单,有的复杂;有的得停机,有的不需要停机即可完成部署。本文的目的就是将目前常用的布署方案做一个总结。一、蓝绿布署Blue/Green Deployment(蓝绿部署)1、定义蓝绿部署是不停老版本,部署新版本然...
- 小灰回忆起当时的情景......题目:实现一个栈,带有出栈(pop),入栈(push),取最小元素(getMin)三个方法。要保证这三个方法的时间复杂度都是O(1)。小灰的想法:1.创建一个整型变量 min,初始值-12.当第一个元素进栈时,让min=0,即把唯一的元素当做最小值。3.之后每当一个新元素近栈,让新元素和min指向位置的元素比较大小。如果Stack[min]大于新元素,则min... 小灰回忆起当时的情景......题目:实现一个栈,带有出栈(pop),入栈(push),取最小元素(getMin)三个方法。要保证这三个方法的时间复杂度都是O(1)。小灰的想法:1.创建一个整型变量 min,初始值-12.当第一个元素进栈时,让min=0,即把唯一的元素当做最小值。3.之后每当一个新元素近栈,让新元素和min指向位置的元素比较大小。如果Stack[min]大于新元素,则min...
- 中秋节前夕,公司为内部员工提供了在线抢月饼的活动......公司里,恰好有一位调皮的程序员.....随后,这位调皮的员工埋头研究了一下下......很快就到了抢月饼活动开始的时间,脚本的效果出人意料的好......可是,事情已经没那么简单了。很快,员工被叫去约谈......这位调皮员工的经历被传到网上,引起了很多人的关注。小灰和同学之间也在饶有兴致地谈论这件事......首先,让我们来模拟一... 中秋节前夕,公司为内部员工提供了在线抢月饼的活动......公司里,恰好有一位调皮的程序员.....随后,这位调皮的员工埋头研究了一下下......很快就到了抢月饼活动开始的时间,脚本的效果出人意料的好......可是,事情已经没那么简单了。很快,员工被叫去约谈......这位调皮员工的经历被传到网上,引起了很多人的关注。小灰和同学之间也在饶有兴致地谈论这件事......首先,让我们来模拟一...
- 小灰一边回忆一边讲述起当时面试的情景......题目:一个无序数组里有99个不重复正整数,范围从1到100,唯独缺少一个整数。如何找出这个缺失的整数?解法一:创建一个HashMap,以1到100为键,值都是0 。然后遍历整个数组,每读到一个整数,就找到HashMap当中对应的键,让其值加一。由于数组中缺少一个整数,最终一定有99个键值等于1, 剩下一个键值等于0。遍历修改后的HashMap,... 小灰一边回忆一边讲述起当时面试的情景......题目:一个无序数组里有99个不重复正整数,范围从1到100,唯独缺少一个整数。如何找出这个缺失的整数?解法一:创建一个HashMap,以1到100为键,值都是0 。然后遍历整个数组,每读到一个整数,就找到HashMap当中对应的键,让其值加一。由于数组中缺少一个整数,最终一定有99个键值等于1, 剩下一个键值等于0。遍历修改后的HashMap,...
- 大四毕业前夕,计算机学院的小灰又一次顶着炎炎烈日,去某IT公司面试研发工程师岗位......半小时后,公司会议室,面试开始......小灰奋笔疾书,五分钟后......小灰的思路十分简单。他使用暴力枚举的方法,试图寻找到一个合适的整数 i,看看这个整数能否被两个整型参数numberA和numberB同时整除。这个整数 i 从2开始循环累加,一直累加到numberA和numberB中较小参数的... 大四毕业前夕,计算机学院的小灰又一次顶着炎炎烈日,去某IT公司面试研发工程师岗位......半小时后,公司会议室,面试开始......小灰奋笔疾书,五分钟后......小灰的思路十分简单。他使用暴力枚举的方法,试图寻找到一个合适的整数 i,看看这个整数能否被两个整型参数numberA和numberB同时整除。这个整数 i 从2开始循环累加,一直累加到numberA和numberB中较小参数的...
- 大四毕业前夕,计算机学院,正在四处求职的小灰碰到了同系的学霸大黄......小灰边说边回忆着上周去面试的情形......有一个单向链表,链表当中有可能出现“环”,就像下图这样。如何用程序判断出这个链表是有环链表?方法一:首先从头节点开始,依次遍历单链表的每一个节点。每遍历到一个新节点,就从头节点重新遍历新节点之前的所有节点,用新节点ID和此节点之前所有节点ID依次作比较。如果发现新节点之前的... 大四毕业前夕,计算机学院,正在四处求职的小灰碰到了同系的学霸大黄......小灰边说边回忆着上周去面试的情形......有一个单向链表,链表当中有可能出现“环”,就像下图这样。如何用程序判断出这个链表是有环链表?方法一:首先从头节点开始,依次遍历单链表的每一个节点。每遍历到一个新节点,就从头节点重新遍历新节点之前的所有节点,用新节点ID和此节点之前所有节点ID依次作比较。如果发现新节点之前的...
上滑加载中
推荐直播
-
让你的应用用上GaussDB
2024/12/19 周四 16:30-18:00
Jerry 华为云生态技术讲师
GaussDB很受客户关注,伙伴们想知道什么时候该选用,开发者也跃跃欲试想尝鲜。课程会分享适用的场景,并一步步演示如何用上GaussDB。
即将直播 -
2024创原会年度技术峰会
2024/12/20 周五 09:00-12:00
华为云讲师团
2024创原会年度技术峰会将于12月20日在海南万宁石梅湾威斯汀酒店举办,本次大会将以“智能・进化”为主题探讨从Cloud Native到AI Native的新阶段企业如何通过AI技术重塑企业应用,围绕AI如何在千行万业落地进行深入交流,探索可以先行先试先成功的创新场景和实现路径。
即将直播 -
华为云开发者日·2024年度创享峰会
2024/12/23 周一 14:00-16:00
华为云讲师团
华为云开发者日HDC.Cloud Day是面向全球开发者的旗舰活动,汇聚来自千行百业、高校及科研院所的开发人员。致力于打造开发者专属的技术盛宴,全方位服务与赋能开发者围绕华为云生态“知、学、用、创、商”的成长路径。通过前沿的技术分享、场景化的动手体验、优秀的应用创新推介,为开发者提供沉浸式学习与交流平台。开放创新,与开发者共创、共享、共赢未来。
去报名
热门标签