-
dubbox技术
①dubbox是什么dubbox是当当网基于dubbo技术开发维护的,它就是一个远程服务调用的分布式框架。其核心部分包含: 远程通讯: 提供对多种基于长连接的NIO框架抽象封装,包括多种线程模型,序列化,以及“请求-响应”模式的信息交换方式。 集群容错: 提供基于接口方法的透明远程过程调用,包括多协议支持,以及软负载均衡,失败容错,地址路由,动态配置等集群支持。3. 自动发现: 基于注册中心目录服务,使服务消费方能动态的查找服务提供方,使地址透明,使服务提供方可以平...…
-
git/gitlib/gitlab/github的区别和联系
Git是一款自由和开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。Git - 版本控制工具Git是一个开源的分布式版本控制系统,用以有效、高速的处理从很小到非常大的项目版本管理。Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。Torvalds 开始着手开发 Git 是为了作为一种过渡方案来替代 BitKeeper,后者之前一直是 Linux 内核开发人员在全球使用的主要源代码工具。开放源码社区中的有些人觉得 B...…
-
牛客网 剑指offer 二叉搜索树的第K个结点
#题目:MySQL技术内幕-01①我们首先以一个什么心态去读书?知其然,知其所以然,我们应该注重why要多于what,应用很重要,但是了解其原理,结构设计思路是更重要的。我们要从大脑中时刻保持这样的思想,有目的的去读书和学习。②MySQL数据库和MySQL实例的区别MySQL数据库就是一系列二进制文件的集合,但是这些文件的执行不能通过简单的操作文件来完成,它必须通过数据库实例来完成,数据库实例是程序,数据库是文件的集合。③MySQL的结构…
-
静心凝气,不忘初心
时间限制:1秒空间限制:32768K热度指数:11442#题目:不以物喜,不以己悲。2016-02-06 北京爱琴鸟 来源 阅 96 转 3转藏到我的图书馆微信分享:如何改变内在的心理结构?先哲们的探索使得改变内在心理结构的法门可谓多如恒河之沙,但我认为,对于职业炒手最现实的选择却主要只有两个:一是要将交易视为整体生活的一部分,规划好自己的生活就能规划好自己的交易,暖家庭的沐浴、青山绿水间的放浪、老刹古寺里的沉静、自我禅定中的清明,都能净化我们的心灵、保持我们的健康、减缓我们的压力...…
-
…
-
clean code 之注解
注释。关于注释的一段经典评价:什么也比不上放置良好的注释来的有用,什么也不会比乱七八糟的注释更有本事搞乱一个模块,什么也不会比陈旧,提供错误信息的注释更有破坏性。若是编程语言有足够的表达力,或者我们长于用这些语言来表达意图,那就根本不需要注释。① 我们对注释应有的态度 首先我们要明白注释是怎么出现的,它为了弥补我们用代码表达目的时遭遇的失败,能用代码表达,就用代码去表达你的意图。我们为什么不提倡使用注释呢,因为注释会撒谎,也不是总是如此或是故意如此,但是出现的太频繁,注释存在的越久,就离...…
-
牛客网 剑指offer 含有min函数的栈
时间限制:1秒空间限制:32768K热度指数:10493本题知识点:栈**算法知识视频讲解题目描述定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数。利用vector,min函数即为求最小值,遍历一遍vector即可,其余操作与stack无太大区别,因为vector一般也是尾部进行插入删除,最大值只需输出最后一个数即可代码如下:class Solution {public: void push(int value) { v.push_back(valu...…
-
cleaning code
时间限制:1秒空间限制:32768K热度指数:13590本题知识点:代码优化之函数。①无副作用,一个函数应该功能单一,一目了然。总而言之就是函数应该只做一件事,副作用就是它在做一件事的时候还会做被隐藏的事,有时,它会对自己类中的变量做出未能预期的改动,有时它会把变量搞成向函数传递的参数或是系统全局变量,无论哪种情况都是具有破坏性的,会导致古怪的时序性耦合及顺序依赖。 如以下例子,该函数使用标准算法来匹配userName和password,如果匹配成功返回true,如果失败,返回false...…
-
牛客网 把字符串转换成整数
时间限制:1秒空间限制:32768K热度指数:5997本题知识点:字符串**算法知识视频讲解题目描述输入描述:输入一个字符串,包括数字字母符号,可以为空输出描述:如果是合法的数值表达则返回该数字,否则返回0输入例子:+2147483647 1a33输出例子:2147483647 0题解:先判断第一位,再遍历字符串,若不为数字,则break;否则继续加代码如下:class Solution {public: int StrToInt(string str) { ...…
-
第一行代码第二版
由于第一行代码在2016年11月出了第二版,所以看看新特性以及回顾一下Android基本知识…
-
Android Studio与Genymotion
记录下自己的一时兴起所导致的坑,正所谓自己挖的坑,就得自己填。。1.由于重装电脑,手残的把用户名设置为了中文,所以不管是在安装Android Studio还是在使用Genymotion时都遇到了一系列由于中文所导致的问题,如Android Studio无法打开,Genymotion安装模拟器并不能安装等等。。。这种问题怎么解决呢,第一,如果你不想再次重装,那你就重开一个账户,用来装Android与Genymotion等2.若是碰到了无法启动模拟器的情况,我以我碰到的问题来说明一下1.无法启...…
-
牛客网 剑指offer 和为S的连续正数序列
时间限制:1秒空间限制:32768K热度指数:6377**算法知识视频讲解题目描述输出描述:输出所有和为S的连续正数序列。序列内按照从小至大的顺序,序列间按照开始数字从小到大的顺序题解://sum=(a1+an)n/2;n=an-a1+1;(a1+an)(an-a1+1)=2*sum=d*l;a1=(d-l+1)/2;an=(d+l-1)/2代码如下://s=(a1+an)n/2;n=an-a1+1;class Solution {public: vector<...…
-
牛客网 剑指offer 和为S的两个数字
时间限制:1秒空间限制:32768K热度指数:7214**算法知识视频讲解题目描述输出描述:对应每个测试案例,输出两个数,小的先输出。题解:利用vector一种利用两层FOR循环然后进行剪枝;一种利用set存储数组中的值,因为递增序列,所以本身就无重复的,恰好可以用set然后遍历查询是否sum-*b在不在set中,若在,则保存到vector中代码如下:class Solution {public: vector<int> FindNumbersWithSum(vector...…
-
牛客网 剑指offer 二叉树中和为某一值的路径
时间限制:1秒空间限制:32768K热度指数:8801**算法知识视频讲解题目描述输入一颗二叉树和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。题解:利用dfs代码如下:/*struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right; TreeNode(int x) : val(x), left(NULL), right(N...…
-
程序员健康常识
时间限制:1秒空间限制:32768K热度指数:6676«««< HEAD**程序员健康常识题目描述=======**生活点滴积累题目描述程序员健康问题 9195ae1b0bb29e0d02c0e5ad81d24fe75087d9e6程序员健康面临的5大问题 说实在的,程序员是一门苦差事,虽然工资...…
-
牛客网 剑指offer 字符流中第一个不重复的字符
时间限制:1秒空间限制:32768K热度指数:4286本题知识点:字符串**算法知识视频讲解题目描述输出描述:如果当前字符流没有存在出现一次的字符,返回#字符。题解:利用map值为1代码如下:class Solution{public: unordered_map<char,int>m; vector<char>v; //Insert one char from stringstream void Insert(char ch) { ...…
-
牛客网 剑指offer 二叉树中序遍历的下一个结点
时间限制:1秒空间限制:32768K热度指数:4658**算法知识视频讲解题目描述给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回。注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针。题解:有右孩子,则找右孩子的最左孩子,若无则返回右孩子无右孩子,则返回父节点的左孩子。代码如下:/*struct TreeLinkNode { int val; struct TreeLinkNode *left; struct TreeLinkNode *r...…
-
牛客网 剑指offer 二叉搜索树的后序遍历序列
时间限制:1秒空间限制:32768K热度指数:9504**算法知识视频讲解题目描述输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。题解:利用后序遍历的特征,前半部分为小于根节点,后半部分为大于根节点代码如下:class Solution {public: int index=0; bool VerifySquenceOfBST(vector<int> sequence) { ...…
-
策略模式
时间限制:1秒空间限制:32768K热度指数:5105知识点:策略设计模式策略设计模式定义:定义了算法族,分别封装起来,让他们之间可以互相替换,此模式让算法的的变化独立于使用算法的客户。 其实策略模式就是把变化的行为抽取出来,形成单独的类,然后把这些行为抽取出一个接口出来,这样做的目的是可复用,然后在你所要用到行为的地方新建一个行为类型的接口变量,你想要什么具体的行为直接new出来接口对应的实现类就行。策略者模式用到了哪些设计原则? 1、多用组合、少用继承。这句话中的“组合”的意思...…
-
牛客网 剑指offer 连续子数组的最大和
时间限制:1秒空间限制:32768K热度指数:8659本题知识点:数组**算法知识视频讲解题目描述HZ偶尔会拿些专业问题来忽悠那些非计算机专业的同学。今天测试组开完会后,他又发话了:在古老的一维模式识别中,常常需要计算连续子向量的最大和,当向量全为正数的时候,问题很好解决。但是,如果向量中包含负数,是否应该包含某个负数,并期望旁边的正数会弥补它呢?例如:{6,-3,-2,7,-15,1,2,2},连续子向量的最大和为8(从第0个开始,到第3个为止)。你会不会被他忽悠住?(子向量的长度至少是...…