Leetcode-344-字符串反转
LeetCode 的344 题。
编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 s 的形式给出。
不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。
提示:
1 <= s.length <= 105
s[i] 都是 ASCII 码表中的可打印字符
示例1:
12输入:["h","e","l","l","o"]输出:["o","l","l","e","h"]
示例2:
12输入:["H","a","n","n","a","h"]输出:["h","a","n","n","a","H& ...
hadoop 1.0 和 NameNode 的一些回顾
NameNode可以理解为主从模式:
NameNode 是主节点 [Master]SecondaryNameNode[Master]
DataNode 是从节点 [Worker]
Hdfs 1.0 回顾1.NameNode 两种元数据映射:1.文件名—->block数据映射2.block 数据块 —> datanode 节点地址的映射
细节: 1.是持久化到NN的磁盘上的(fsimage<—edits log<—NN的内存变化来的) 2.是通过心跳来组织起来的(DN—>NN)
注意:如果设置的副本数量小于DataNode的节点个数,其实是不会超过DataNode 的个数的。比如副本个数设3,DataNode只有两个,副本只会有两个。
2.就目前我们的环境(1个master,2个slaves):虽然默认3个副本,期实是两个。3.NN倾向存储大数据:太小的话,block多,内存放不下,太大的话,MR作务执行慢。4.如果没有SNN,fsimage多久加载一次,只有重启时加载,如果有了SNN呢?SNN存在的意义?备份,数据恢复editlog 什么时候会合并 ...
大数据常见业务
常见业务1.搜索引擎三段式结构:1.检索系统2.索引系统3.spider爬虫
1.爬虫:由搜索引擎主动发起,去别人家的网站去爬数据关键是建索引
快速判重:布隆过滤器。给定数据排序:1.常见排序算法2.BitMap 算法, 数据量小的时间复杂度、空间复杂度比较大如(10、122、10万)。但是适应于密集的情况,有明显优势。
2.推荐系统NetFlix 推荐系统公司,很多公司的标杆,其他公司的系统多少都会抄这家公司。
推荐系统通常有三个部份:
offline 部份,离线
nearline 部分,近线
online部分,在线
划分为以上三部分的理由:
|昨天|今天|
离线:当天肯定无法将当天所有用户的行为数据拿到,所以将昨天的数据存储后进行计算。比如,用户9点看了鞋子的广告,但量不能确定10后用户还看了什么。离线挖掘出的数据,应快带提供出去,比如使用NOSQL做为中间介质传递出去。redis、mongo、hbase 等前端从nosql中去取数据。大至是这个流程。
在线:处理在线的时时的数据,对数据进行时时产生。如地图。为什么不用时实代替离线??如果时实时系统做的很完备,可以不要离线 ...
shell--检查github最新release
前言经常在需要使用脚本监控仓库是不是有最新的release版本的发布,然后进行自动构建。如何知道远程的github是发布新的release版本,可以能过脚本来获得。
git ls-remote作用:查看远程分支。能够列出远程分中的内容。
查看远程所有tag1git ls-remote --tags ./.
结果如下:
d6602ec5194c87b0fc87103ca4d67251c76f233a refs/tags/v0.99f25a265a342aed6041ab0cc484224d9ca54b6f41 refs/tags/v0.99.17ceca275d047c90c0c7d5afb13ab97efdf51bd6e refs/tags/v0.99.3c5db5456ae3b0873fc659c19fafdde22313cc441 refs/tags/v0.99.2
查看指定仓库分支1git ls-remote http://www.kernel.org/pub/scm/git/git.git master seen r ...
spring boot 添加自定义 fliter
自定义的 springboot 过滤器要注册到 spring boot中, 首先先添加一个过滤器,然后在spring boot 进行注册即可。
12345678910111213141516171819202122232425import com.reapal.openapi.web.filter.XSSFilter;import org.springframework.boot.web.servlet.FilterRegistrationBean;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;/** * Title: 注册自定义过滤器 * Description: * * @author liu kai * @date 2018/6/26 16:06. */@Configurationpublic class XssFilterConfig { @Bean public FilterReg ...
springboot + vue 跨域处理
在使用 vue 做前端开发时,碰到 vue 请求接口出现跨域问题。解决的方法,就在后台添加一个跨域请求的过滤器,来添加跨域支持。
123456789101112131415161718192021222324252627282930313233343536373839import org.springframework.stereotype.Component;import javax.servlet.*;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import java.io.IOException;/** * Title: 跨域处理 * Description: * vue 请求服务跨域处理 * @author liu kai * @date 2018/6/14 10:38. */@Componentpublic class CorsFilter implements Filter { @Override ...
shell判空true false的一个坑
前言在写shell的时候发现一个违反直觉的的操作,一般判断一个变量是否为boolean,习惯上使用if param。但是在写脚本的时候,发现无论如何,不会走false。
反例在很多编程语言中,可以直接使用 if boolean,来判断这个变量是否为true。但是在shell当中直觉上是可以,但实际上是不能。
123456aaa=falseif [[ $aaa ]];then echo "is true"else echo "is false"fi
结是为is true,是不是违反直觉。
为什么这段脚本会进is true。
shell 是怎么执行这一段脚本的:
1sh -x test.sh
结果:
1234+ aaa=false+ [[ -n false ]]+ echo 'is true'is true
可以看到,如果是一个变量,shell 会默认加上-n来判断变量是否为空。aaa是有值的,而且在shell里,false 并不代表false。真正代表true和false的是0和1,没想到吧。
正常判断注意,这里用的是 ...
spring 解决 Cannot determine embedded database driver class for database type NONE
问题新项目搭建时,项目启不来,报了一个错。
Description:
Cannot determine embedded database driver class for database type NONE
Action:
If you want an embedded database please put a supported one on the classpath. If you have database settings to be loaded from a particular profile you may need to active it (no profiles are currently active).
处理方式一: 排除两个默认配置排除两个默认配置
1234@SpringBootApplication(exclude={DataSourceAutoConfiguration.class, HibernateJpaAutoConfiguration.class})public class Application { ...
springboot使用pagehelper报错解决方法
问题springboot项目使用SpringMVC的pagehelper报错。
先说结论springboot 不能使用pagehelper的4.1.x 和 5.1.x,而需要使用 pagehelper-spring-boot-starter
起因同事的新项目使用 Spring boot,之前是 SpringMVC 所以把pom.xml直接复制过来,一跑就报各种错,各种谷歌百度都不管用。查看 pom 依赖的包后,决定对他一顿老拳。
正确的示例而必须使用,否则 yml 配置无效。
12345<dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper-spring-boot-starter</artifactId> <version>1.1.2</version></dependency>
坑一个是一个的示例,谁用谁脱发12345<dependency> <groupI ...
getWriter() has already been called for this response 的解决办法
问题在使用springboot时,发现有个同事报了一个错:
getWriter() has already been called for this response错误提示也比较明显,是被调用过了。
出错的部分代码如下:
12345678910111213141516171819202122232425try { //有问题的部份 //PrintWriter out = null; //out = response.getWriter(); //String json = new ObjectMapper().writeValueAsString(map); //out.write(json); //out.flush(); //out.close(); outputStream = response.getOutputStream(); String json = new ObjectMapper().writeValueAsString(map); outputStream.write(json.getBytes()); outputStr ...