微信公众号开发--善忘影视(十)

  |   0 评论   |   3,070 浏览

优化列表加载速度,列表图片压缩 如下图左边的图片 运行了一段时间后,发现打开公众号,或者网页的列表速度很慢,用chrome查看了一下加载时间, 主要是还是在加载图片上,毕竟列表加载那么大的图片,是一件很费时间的事情,现在我就来优化它。 主要分三个步骤 1. 获取列表图片(获取详情页中的海报图片) 2. 压缩图片 3. 上传云存储图片,保存路径到数据库中 3. 修改显示列表图片,显示压缩后的图片 获取列表图片 主要是通过定时器来获取列表数据,然后分析详情页的里面的图片地址,下载对应图片。 关键代码如下 List movieCrawlList = movieCrawlMapper.listNotDealImgByCreateTime(); try { movieCrawlList.forEach(mc -> { String content = mc.getContent(); if (StringUtils.isNotNull(content)) { Document doc = Jsoup.parse(content); Elements imgs = doc.select(“i….

使用jenkins来自动发布war包

  |   0 评论   |   3,223 浏览

使用jenkins来自动发布war包, 比自己用ant写发布要好点 需要配置用户密码,git也一样的, 需要能访问的用户密码 reployfangmaster.sh #!/bin/bash kill -9 $(ps -ef|grep ‘tomcatfd’| grep -v ‘grep’ |awk ‘{print $2}’) rm -rf /opt/tomcatfd/webapps/fangmaster.war rm -rf /opt/tomcatfd/webapps/fangmaster cp /root/.jenkins/jobs/fangmaster/workspace/target/fangmaster-0.0.1-SNAPSHOT.war /opt/tomcatfd/webapps/fangmaster.war /opt/tomcatfd/bin/startup.sh 发送邮件, 需要在系统设置 配置发件人信息

微信公众号开发--善忘影视(九)

  |   0 评论   |   1,828 浏览

主要解决的问题: 影视的数据十五分钟更新一次, 为了减少数据库的访问,添加了redis缓存,缓存数据查询的结果,这样相同的数据就不会再查询一次了数据了,加快查询结果的返回 序列化对象工具类 一共四个方法,序列化对象和数组,反序列化对象和数组 //序列化bean对象–object–>byte[] public static byte[] serialize(T obj) { if (obj == null) { throw new RuntimeException(“序列化对象(” + obj + “)!”); } @SuppressWarnings(“unchecked”) Schema schema = (Schema) RuntimeSchema.getSchema(obj.getClass()); LinkedBuffer buffer = LinkedBuffer.allocate(1024 * 1024); byte[] protostuff = null; try { protostuff = ProtostuffIOUtil.toByteArray(obj, sc….

《去,你的旅行》阅读笔记

  |   0 评论   |   1,677 浏览

去,你的旅行 世界那么大,任性的资本 1.月薪过万,无法任性 2.工薪几座大山 3.存钱讲究科学 结婚潮,守卫钱包 1.学会理财,提前做好预算 2.鸡蛋别放在同一个篮子里面 3.能省则省,红包也能拼 4.准新人,避开五一 5.收份子钱, 要及时钱生钱 预算3000出国游? 斯里兰卡-印度洋上的眼泪 尼泊尔-东方瑞士 柬埔寨-静谧的古老国度 斐济 秘鲁 香港 钱包太小,算算再出发 是不是最想做的 成本是否接受 下载地址: 百度脑图 SVG格式

微信公众号开发--善忘影视(八)

  |   0 评论   |   1,469 浏览

在善忘影视公众号中,搜索到自己想找到的电影列表, 点击列表中的任何一条,都会跳转到电影的详情页,详细描述了电影的相关元数据信息。在详情页的最下方,有一个发送邮件的功能。或许您觉得没什么用,但是在某些时候,需要电脑下载的,而不是直接用手机下载的话,还是挺有用的。我自己就经常看到好看的电影, 就直接发到我自己的邮箱里面,在电脑上打开邮箱的时候,直接点击迅雷下载就好了。如下图,只要按直接在输入框里面输入邮箱地址,点击确定,就会发送到您的邮箱了。 原来想着做一个漂亮的邮箱模板, 发送到邮箱里面的,奈何太多邮箱类型,根本就不支持这种html语法,导致了最后简化功能,只能使用最简单的图片,加下载链接的方式来简单处理了,发个邮件看上去简单,实际上需要掌握的东西还挺多的。如下图,收到邮箱信息大概就是这么样子 下面我详细的讲解一下我做这个功能的需要注意的地方。 1.发送邮件的发件人统一使用了善忘影视的名称 这一点的话,只需要在发送邮件(commons-email)的时候,设置发件人信息为中文字符,并设置编码就好了。如下面代码email.setFrom(key, value,“GBK”); Iterato….

微信公众号开发--善忘影视(七)

  |   0 评论   |   1,523 浏览

微信公众号开发--善忘影视(七) 今天我们就来说说数据抓取的问题,数据来源电影网站的数据抓取。 首先想着用网上现成的爬虫程序去抓取想要数据,然后倒入到数据库中。 八抓鱼采集器 测试了一下, 抓取数据什么的功能不是很复杂, 自己设计的表数据, 住去也都是图形化界面,还有能直接导入的,功能还是挺齐全的, 但是免费版本没办法用。功能限制太大了。对于我导入数据来说太难了,毕竟影视的数据会很多。看下图资费情况 ,如果用于商业的话, 其实也还行,可以节约不少开发时间。不过配置起来的, 还是需要懂一点点代码的,不懂代码来用的话难度还是不小的。 火车头采集器 和上面的原因的, 需要自己配置懂点html代码什么的,价格的话, 可能会便宜的, 如下图 所以这两个免费版本都不符合要求, 我还是自己写代码来抓取好了。 桌子前也有过抓取代码的经验, 所以写这个简单的抓取连接并不难。 java抓取数据,解析html比较简单。是用jsoup来做就好。方便快捷。再通过定时器来抓取,比较方便使用。如下代码以‘电影天堂’示例。 网站编码gbk,直接通过jsoup获取会有中文部分乱码,通过去连接url设置字符编码就可以解决….

微信公众号开发--善忘影视(六)

  |   0 评论   |   1,213 浏览

今天不知道为什么阿里云tomcat停掉了, 微信什么的,都不能提供服务了。上去找也没有找到原因,就想到,自己本地用联通的宽带加上花生壳做了一个外网映射域名,也有tomcat跑着相同的服务。搭建外网域名映射可以参考我hskserver ,只需要简单的配置,就能做到绑定联通的动态域名来获取ip地址。不用担心动态ip的问题了。 之所以选择在本地也部署服务, 主要是阿里云买的ecs配置太低了。 怕跑爬虫等程序,太慢了, 所以数据都是本地服务器抓取上来,放到数据库里面去的 。这样的话, 阿里云的机器,只是用来展示数据了,对机器要求不高了 。今天突然想起来, 阿里云的服务总是挂掉的话, 也烦人, 还不如直接使用本地的tomcat,但是联通太坑了 ,封了80,8080端口,没办法, 只能通过阿里云的ecs来跳转。原来我就在ecs上配置有nginx跳转的。配置如下图 其实只需要简单配置上面那两个地址就好了,但是中间因为一个很简单的问题, 导致了我微信订阅号,善忘影视输入搜索条件无法搜索了。找了很久原因, 也重启了服务 。重发版本都没有解决,最后发现重新初始化微信后台连接,发现日志里面一些信息….

微信公众号开发--善忘影视(五)

  |   0 评论   |   1,419 浏览

今天新增了一个搜索的功能,主要是方便web这块的搜索, 直接在网页端也能搜索内容,而不一定要在微信中搜索结果了。 微信没有认证, 然后呢, 输入框就会出现这种情况了。提示不要输入账号密码什么的,真的无语了, 正好挡在了我的搜索框上。后面再优化好了。出现下面提示,请稍等输入搜索关键字   搜索结果如下图,效果还不错, 还可以下拉加载更多。 实现这个功能很简单,直接上源码吧,就一点点js的代码 搜索 取消 正在加载… <jsp:include page=“/weixin/weuiTabbar” flush=“true”/>

微信公众号开发--善忘影视(四)

  |   0 评论   |   1,816 浏览

对于不会前端的我,设计就更不会了,找现有的前端框架就实必须要的了。 还好微信直接出了weui , 这个前端对于公众号来说,这个ui界面是最好不过了, 几乎不需什么前端的技巧,就可以拿过来用,很贴合微信的风格。还有一个jquery插件功能的,一些基本脚本也都已经写好了,而且ui使用的原生weui界面。所以我选择了,这个jquery-weui,适合后台开发者,快速的开发前端界面。 微信自己出的ui界面 jquery-weui扩展组件   网站链接上有现成实例,使用说明。直接点击查看就好了,示例写的很详细, 看到自己需要的效果,直接添加对应的组件就好了。 以下是我公众号的一些效果,前端页面都采用了jquery-weui,一些tabar,导航栏,列表,提示都直接使用了。只需要自己对接后台获取数据就可以了。

微信公众号开发--善忘影视(三)

  |   0 评论   |   1,015 浏览

善忘影视的目标是让大家找电影的时间变快,搜索结果准确,没有网站上的那么多广告内容, 要跳好几个广告页面,才有我们需要的电影下载链接,还有google浏览器那红色背景的提醒, 现在用google浏览器的人多了,一看到下面这个界面,你还有勇气点开不。 可能病毒, 只是误报而已, 但是里面含有广告链接肯定是不可避免的, 至于广告带什么内容,有没有病毒就不清楚了, 我一般不敢去点。 说了那么多, 下面就讲讲我搜索的数据来源了。现在搜录了3w多影视剧集,都是来自于网上的链接,自己写程序抓取来的,数据库结构很简单。一共就两个表的信息。moviecrawl表示抓取内容信息,moviecrawllink表示抓取对应影视剧集的下载链接。 CREATE TABLE moviecrawl ( id bigint(20) NOT NULL AUTOINCREMENT, movietype int(11) DEFAULT NULL COMMENT ‘电影分类1.最新电影2.华语电视剧3.日韩电视剧4.日韩电影5.欧美电影6.国内电影7.综合电影’, title varchar(200) DEFAULT ….

微信公众号开发--善忘影视(二)

  |   0 评论   |   1,098 浏览

打开开发者模式后,需要一个后台接收微信过来的请求, 比如搜索框输入电影名字, 能返回相关电影列表信息 。 如上我搜索老九门 返回了搜索结果点击对应列表信息,就能查看影视节目的详情信息了。 为了简单, 不需要自己从零开始实现微信上的接口了, 比起最早什么都要自己实现来,现在开源的微信框架都挺成熟了。 我这里用的是http://git.oschina.net/lisenhui/mpsdk4j这个开源的实现, 可以节约很多时间,当然, oschina上有很多,选一个自己觉得可以的就行了, 都大同小异了。我使用的是ssm框架结构,可以看道文档里面有关于springmvc使用说明,如下图, 现在已经是最新版本的,我用版本是早点版本 ,代码可能有点区别,用实际的代码就好了。 #微信账号信息 在属性文件里面配置 weixin.appId=xxx weixin.appSecret=xxxxx weixin.token=xxx weixin.aesKey=xxxxx 在我的是实现类里面实现引用属性值,springmvc 配置文件中初始化了属性文件 @Controller @RequestMapping(….

微信公众号开发--善忘影视(一)

  |   0 评论   |   1,111 浏览

  不知道用什么名字好,就随便取了一个《善忘影视》公众号,用于检索影视资源,方便大家下载资源,了解影视资源的内容。 既然是个公众号,先上微信公众平台申请账号。网址:http://mp.weixin.qq.com/ 使用qq邮箱就可以申请了, 注意和qq帐号不是关联登陆的 。 申请账号注意了,个人用户功能很少。不过我这里不使用支付和菜单等功能。需要注意的时候,订阅号和服务号。订阅号主要是按照用来推广宣传,每天可以发送推送一条信息给我所有的关注用户,服务号主要重功能,提供服务,提供一些便民公众号,比如银行等功能。 这里我要使用的订阅号, 每天推送一条信息到用户上。 登陆到公众号,可以配置一些信息 在自定义菜单上面,如果没有打开开发者模式, 是可以配置一些固定的链接。菜单也可以显示出来的 但是这里我们需要配置开发者模式,所以后面启用开发者模式后,这个菜单会自动关闭掉。 素材管理里面就可以编辑我们每天要推送的一条公众号内容信息。   找到公众号设置这里   名称是之前设置好的,头像和微信号可以设置,微信号就是可以通过这个账号搜索到账户,除了中文的公众号。….

druid 数据库密码加密

  |   0 评论   |   1,164 浏览

cmd命令: 1、切换的druid-1.0.16.jar包所在目录 2、在命令行中执行如下命令: java -cp druid-0.2.9.jar com.alibaba.druid.filter.config.ConfigTools you_password 即输出加密后密码 3、 新版本需要添加公钥方法进去: config.decrypt.key=${config.decrypt.key} 参考:https://github.com/alibaba/druid/wiki/%E4%BD%BF%E7%94%A8ConfigFilter 官方的文档并没有明确说明需要加这个公钥 ,查看了源码后,才知道了需要添加公钥进去才行

房总管2.0版本上线

  |   0 评论   |   901 浏览

5个多月辛苦努力,2.0版本已经正式上线了。 希望一切都能顺利,在互联网行业也算是有几个月的经验了, 期间趟过的坑也算是有无数个,曾经说是要坚持的事情,如写博客之类的,坚持运动之类的都已经放弃的不少了。以后能正常上下班的话,一定要重拾这些,坚持下来。

阿里云数据库RDS备份文件导入本地恢复操作

  |   0 评论   |   855 浏览

参照aliyun的服务器介绍,导入到本地的数据根本就没有办法用。本地数据库也无法启动起来,找了好久才找到问题 。 参照文档里面,RDS使用的是innobackupex这个工具来备份的。这个工具的感觉对于备份mysql来说,特别好, 备份速度快,同时支持InnoDB,MyISAM,因为我的数据库中就有这两种引擎, 所以,这个工具比较好。 主要的操作步骤如下,就可以把rds上备份的文件,解压缩后,恢复到本地的数据库,建议在本地新安装一个没有使用过的新库,不然,丢掉了数据库数据就亏大了 innobackupex –defaults-file=/var/lib/mysql/backup-my.cnf –apply-log /var/lib/bak 没有指定数据文件路径, 默认的my.cnf文件有指定datadir参数,默认会放在/var/lib/mysql目录下 innobackupex –copy-back /var/lib/bak 必须要授权给mysql用户, 才能启动 $ chown -R mysql:mysql /var/li….

ubuntu安装mysql后只能本地登陆

  |   0 评论   |   829 浏览

查找问题的主要从两个方面来查找 第一步: vim /etc/mysql/my.cnf找到bind-address = 127.0.0.1 注释掉这行,如:#bind-address = 127.0.0.1 或者改为: bind-address = 0.0.0.0 允许任意IP访问; 或者自己指定一个IP地址。 重启 MySQL:sudo /etc/init.d/mysql restart 第二步: 授权用户能进行远程连接 grant all privileges on . to root@“%” identified by “password” with grant option; flush privileges; 第一行命令解释如下,.:第一个代表数据库名;第二个代表表名。这里的意思是所有数据库里的所有表都授权给用户。root:授予root账号。“%”:表示授权的用户IP可以指定,这里代表任意的IP地址都能访问MySQL数据库。“password”:分配账号对应的密码,这里密码自己替换成你的mysql root帐号密码。 第二行命令是刷新权限信息,也即是让我们所作的设置马….

学习重要还是经营人脉重要?

  |   0 评论   |   877 浏览

  导读 大说数人的朋友圈都是这样的:雪中送炭的寥寥无几,锦上添花的大多数人连你自己都不认识,碰到倒霉的时候还能遇到落进下石的。人脉是很重要,可相对自身的学习来说,就没有想象中那么重要了。 文 / 李笑来 来源:环球企业家 有一次在北大讲座,遇到一位学生问我," 老师,你说学习重要,还是经营人脉重要 ?" 看着他一脸大杂烩的表情,我先拿出本子记下了这个问题,然后告诉他说,这是个比较大的话题,我会仔细写篇文章放在网上的,然后给了他我的博客地址。而后又补了一句," 相信我,所谓的人脉就算重要,也根本没他们说的那么重要 “。 你愿意与什么样的人成为朋友? 让我们细说从头。先动脑思考一下,你愿意与什么样的人成为朋友 ? 从幼儿园开始,每个人就都已经有一些选择朋友的原则—尽管并不自知。事实上,资源分布的不均匀,必然造成人与人之间的某种依附关系。观察一下,就可以看到事实:幼儿园里玩具多的孩子更容易被其他孩子当作朋友。那么,玩具最多的孩子朋友最多么?答案并非肯定。 如果你像我一样有机会、也恰好愿意多花一点心思与那个玩具最多的孩子交谈的话,你也很快就会发现,在他的心目中,与所有成年人一样,朋….

孩子犯错后,父母别这样

  |   0 评论   |   1,382 浏览

①隔着屋子对孩子大声发出命令:面对面交流和身体接触,孩子更能听进去。②发现孩子乱动电器就大声呵斥:告诉孩子乱动的后果更重要。③孩子缠着要东西就给买:要和孩子约定好条件,养成自律的习惯。④超市里对孩子的购物要求严厉喝止:转移注意力更有效。   文章来源:@人民日报