-
Hadoop启动不了
执行`start-dfs.sh`后提示:```Error:JAVA_HOMEisnotsetandcouldnotbefound.```但是`JAVA_HOME`确实配置正确的,怎么办?这是我们直接去修改`/etc/hadoop/hadoop-env.sh`(Hadoop相对路径下面)设置JAVA_HOME。原配置:```bashexportJAVA_HOME=${JAVA_HOME}```改为:```bashexportJAVA_HOME=/usr/java/jdk1.8.0_101```Hadoop安装资料:[http://www.powerxing.com/install-hadoop/](http://www.powerxing.com/install-hadoop/)[http://www.cnblogs.com/laov/p/3421479.html](http://www.cnblogs.com/laov/p/3421479.html)
start-dfs.sh Hadoop -
手机浏览器数字输入
手机浏览器的`input`为数字的时候输入法会自动切换到数字输入模式,非常的方便。```html```但是一些验证框架就出现了非常多的问题,数字中间有空格的时候,也可以通过验证。
手机浏览器 input number -
小黄书
最近终于把小黄书写完了,最近需要找很多的聊天记录导入到系统里面。小黄书是一个自己做的一个聊天机器人,功能可能不够强大,但是希望以后慢慢学习完善。功能分几部分:1.分词,这个本来想用现成的,但是最后还是自己写了。词库用的[IK分词的词库](http://git.oschina.net/wltea/IK-Analyzer-2012FF)2.词语分类3.句子抽象,其实就是将句子分词,然后进行词语分类匹配,组装为抽象句子4.句子最优匹配5.抽象句子实体化,根据聊天的上下文将词语分类反向生成句子6.句子转为语音,讯飞文本转语音基本思路:句子分词后,相同的词语后面跟随的词语词义可能是一样的。例如:```我喜欢吃苹果。我喜欢吃李子。```>苹果和李子同时水果。大量的出现时归为一类,然后将句子抽象,然后每一个对话归为一个场景,使用类型来获取上下文的代指词语。
小黄书 聊天机器人 -
Servlet3.0文件上传
Servlet3.0可以使用注解,而且文件上传也比以前简单多了。代码如下:```java/***文件上传*/@MultipartConfig@WebServlet(name="UploadServlet",urlPatterns="/upload")publicclassUploadServletextendsHttpServlet{privatestaticfinallongserialVersionUID=1L;@OverrideprotectedvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{//request.getPart("file");//单个文件file是input的nameCollectionparts=request.getParts();//多个文件for(Partpart:parts){part.write("文件路径");}}}```注意Servlet上面的注解`MultipartConfig`,没有会提示以下错误:```Unable...
Servlet3.0 文件上传 -
a标签href的其他用法
*拨打电话:```13888888888```*发送短信:```发送信息```*发送邮件:```发送邮件```*打开应用市场:```下载神女控```
a标签 href 拨号 发短信 发邮件 -
网页截图
使用JS插件`html2canvas.js`将网页转为`canvas`:```javascripthtml2canvas(document.body,{onrendered:function(canvas){//操作画布对象}});```然后将画布转为图片:```javascriptvarimage=canvas.toDataURL("image/png");```如果需要下载:```javascriptvar$download=$('');$download.appendTo("body");varimage=canvas.toDataURL("image/png").replace("image/png","image/octet-stream;");$download.attr("href",image);$download.attr("download","image.png");//下载文件名//$download.trigger("click");//jQuery模拟点击事件无效varevent=document.createEvent("MouseEvents");//模拟点击事件event.i...
网页截图 网页快照 html2canvas html2image -
Spring判断当天最后一次定时任务
要判断当天最后一次定时任务思路:获取下次执行时间,判断日期是不是今天。```java@AutowiredprivateApplicationContextcontext;...//获取正确的定时任务时间表达式Maptasks=context.getBeansOfType(CronTask.class);Stringexpression=null;//时间表达式Setkeys=tasks.keySet();for(Stringkey:keys){CronTasktask=tasks.get(key);ScheduledMethodRunnablerunnable=(ScheduledMethodRunnable)task.getRunnable();if("方法名".equals(runnable.getMethod().getName())){expression=task.getExpression();break;}}//获取下次执行时间CronTriggercronTrigger=newCronTrigger(expression);Datenext=cronTrigger.nextExecutionT...
Spring 定时任务 -
身份证正则表达式
```^\\d{8}(0[1-9]|1[0-2])(0[1-9]|1\\d|2\\d|3(0|1))\\d{3}$|^\\d{10}(0[1-9]|1[0-2])(0[1-9]|1\\d|2\\d|3(0|1))\\d{3}(\\d|X|x)$```主要验证15位和18位身份证,主要验证了月和日,还验证了月01-12和日01-31,但是校验位未验证。
身份证 正则表达式 -
Dubbo线程池优化
Dubbo通过配置`threadpool`来配置线程池的类型:1.`fixed`固定大小线程池,启动时建立线程,不关闭,一直持有。2.`cached`缓存线程池,空闲一分钟自动删除,需要时重建。3.`limited`可伸缩线程池,但池中的线程数只会增长不会收缩。默认是固定大小线程池,如果服务消费者太多时会出现等待,甚至超时:```Causedby:com.alibaba.dubbo.remoting.TimeoutException:Waitingserver-sideresponsetimeoutbyscantimer.starttime:2016-04-2210:36:58.471,endtime:2016-04-2210:37:18.535,clientelapsed:342ms,serverelapsed:19722ms,timeout:20000ms,request:Request[id=178,version=2.0.0,twoway=true,event=false,broken=false,data=RpcInvocation[methodName=install,parameterTypes...
Dubbo 线程池 -
Java生成二维码之zxing
##pom.xml```xmlcom.google.zxingjavase3.2.1com.google.zxingcore3.2.1```##代码```javapackagecom.acgist.qrcode;importjava.awt.Graphics2D;importjava.awt.Image;importjava.awt.image.BufferedImage;importjava.io.File;importjava.io.FileNotFoundException;importjava.io.FileOutputStream;importjava.io.IOException;importjava.io.OutputStream;importjava.util.HashMap;importjava.util.Map;importjavax.imageio.ImageIO;importorg.apache.commons.io.IOUtils;importorg.apache.commons.lang.StringUtils;importcom.acgist.logger.Logger;impo...
二维码 Java zxing -
Eclipse找不到或无法加载主类
今天使用Eclipse遇到一个问题,不能执行JUnit,而且`main`方法也不能执行。我开始以为不能编译,后来发现编译了,但是一直不行。最后项目我重新建了也有问题,后来发现原来要重新配置一下`run/debug`的配置,删除掉旧的配置信息就可以了。
classnotfound Java Eclipse -
CentOS搭建SVN服务器
##安装软件```bashyuminstallhttpdmod_dav_svnsubversion```##修改端口修改`/etc/httpd/conf/http.conf`端口`9090`##创建SVN库```bashsvnadmincreate/home/svn```##修改配置修改`/etc/httpd/conf.d/subversion.conf`配置文件:```DAVsvnSVNPath/home/svnSVNListParentPathonSatisfyAnyAuthTypeBasicAuthName"acgist.comsvnserver"AuthUserFile/home/svn/conf/passwdRequirevalid-userAuthzSVNAccessFile/home/svn/conf/authz```一般`.so`库文件都已经正常的引用了。>注:如果同时要支持匿名用户访问,一定要加上`SatisfyAny`这行,否者匿名用户不能访问。授权软件`authz`和`svn`配置一样,`passwd`文件需要使用命令`htpasswd`创建,如果没有文件需要加上参数`-c`:``...
SVN httpd Nginx Apache -
href不跳转
很多时候我们都是用`a`标签作为按钮,想要点击鼠标指针显示手型,又不使用`css`的`cursor`样式,所以加了`href`属性,为了防止跳转加上`javascript:void();`。但是最近发现有很多用`href="###"`这种写法,`##`的锚点不存在所以不会滚动,但是单个和两个`#`会回到顶部。看似非常完美,但是这里有一个陷阱,就是如果同时有`target="_blank"`时,会打开新页面。`javascript:void();`还可以简单的写成:`javascript:;`有的人也喜欢`javascript:void(0);`
### javascript:void() -
Java AIO
感觉上NIO开发要比AIO简单一点。两者区别:[http://bbym010.iteye.com/blog/2100868](http://bbym010.iteye.com/blog/2100868)代码参考:[http://yunhaifeiwu.iteye.com/blog/1714664](http://yunhaifeiwu.iteye.com/blog/1714664)上面文章的代码已经非常好了,注释也写的非常好,这里需要补充一些需要注意的地方:##解码```javaattachment.flip();CharsetDecoderdecoder=Charset.forName("UTF-8").newDecoder();decoder.onMalformedInput(CodingErrorAction.IGNORE);//注意content=decoder.decode(attachment).toString();attachment.compact();```##连接```javasocket.connect(newInetSocketAddress("localhost",8888),so...
AIO NIO2.0 Java -
系统架构演变
这篇文章主要是摘录。引用`Dubbo`的一段文字服务器架构的演变:###单一应用架构当网站流量很小时,只需一个应用,将所有功能都部署在一起,以减少部署节点和成本。此时,用于简化增删改查工作量的数据访问框架(ORM)是关键。###垂直应用架构当访问量逐渐增大,单一应用增加机器带来的加速度越来越小,将应用拆成互不相干的几个应用,以提升效率。此时,用于加速前端页面开发的Web框架(MVC)是关键。###分布式服务架构当垂直应用越来越多,应用之间交互不可避免,将核心业务抽取出来,作为独立的服务,逐渐形成稳定的服务中心,使前端应用能更快速的响应多变的市场需求。此时,用于提高业务复用及整合的分布式服务框架(RPC)是关键。###流动计算架构当服务越来越多,容量的评估,小服务资源的浪费等问题逐渐显现,此时需增加一个调度中心基于访问压力实时管理集群容量,提高集群利用率。此时,用于提高机器利用率的资源调度和治理中心(SOA)是关键。>一个知乎里面不错的回答:...
分布式 系统架构 -
今年的目标
今年的目标很简单,如下几条:1.学习分布式,然后学习使用`hadoop`。2.深入学习`NoSQL`数据库,主要为`MongoDB`和`Redis`,掌握基本的操作命令。3.熟练掌握IO,多线程,服务端等等一些技术。4.把小黄书网站的交谈功能做出来。发现一张不错的图片:>来源:[http://www.jianshu.com/p/5b0f90cd445d](http://www.jianshu.com/p/5b0f90cd445d)
目标 -
Spring问题总结
`Spring`注入的`bean`默认为单例,但是如果单例`bean`注入一个非单例的`bean`不能使用`resource`注入,而要是用个`getBean`:```javaContextLoader.getCurrentWebApplicationContext().getBean("beanName");````Spring`仅单例的`bean`能执行销毁方法`destroy-method`。实现`init`和`destory`有三种方法:*注解`@PostConstruct`和`@PreDestroy`*`xml`配置`init-method`和`destory-method`*`bean`实现`InitializingBean`和`DisposableBean`接口>注:`destory`好像不能对数据库数据进行操作,如果需要操作数据库最好使用监听器,而且测试最好不要用Eclipse配置的Tomcat测试。错误`java.lang.ClassCastException:com.sun.proxy.$Proxy51cannotbecastto`是因为`getBean`的时候要强转为接口。
Spring -
PDF修改
最近遇到一个需要修改PDF的问题,但是发现中文支持非常糟糕,而且网络上的代码都是同一个例子,这个例子里面有些分段的字符串是不能替换的。[https://svn.apache.org/repos/asf/pdfbox/tags/1.5.0/pdfbox/src/main/java/org/apache/pdfbox/examples/pdmodel/ReplaceString.java](https://svn.apache.org/repos/asf/pdfbox/tags/1.5.0/pdfbox/src/main/java/org/apache/pdfbox/examples/pdmodel/ReplaceString.java)源代码看起来也是一头包,暂时写了点在下面,以后有时间优化一下看看吧。>使用版本`pdfbox-1.8.10````javapublicstaticvoidmain(String[]args){replacePDFContentStr("e://test.pdf","13888888888","admin@acgist.com");}publicstaticvoidrepla...
PDF PDFBox -
教程网站
说到教程网站,自然不能不提到W3CSchool,好东西值得拥有好吧。地址:[http://www.w3school.com.cn/](http://www.w3school.com.cn/)当然这个网站东西更多一些,菜鸟教程,学的不是技术,更是梦想好吧。地址:[http://www.runoob.com/](http://www.runoob.com/)
文档 w3cschool 教程 -
HTTPS学习笔记
上次发现一个免费的SSL证书,而且Google浏览器显示绿锁图标,于是忍不住搞了一下HTTPS的东西。如果网页地址使用了HTTPS,那么静态资源也要使用,否者提示错误:```MixedContent:Thepageat'https://www.acgist.com/'wasloadedoverHTTPS,butrequestedaninsecurestylesheet'http://static.acgist.com/resources/css/style.css'.Thisrequesthasbeenblocked;thecontentmustbeservedoverHTTPS.```不过图片`img`不会提示错误,但是绿锁会消失。还有最好静态资源不要加`http:`或者`https:`,而是直接使用`//`开头,例如:```html```这样浏览器会自动判断是HTTP还是HTTPS。>20220624批注以前一致以为HTTPS所有资源都是使用RSA加密的,后来发现原来RSA加密只是用来传递对称加密密钥的,文件传输的时候还是使用对称加密算法。
SSL HTTPS