nutch抓取实验

1. 背景 入门教程:http://wiki.apache.org/nutch/NutchTutorial 下载:http://nutch.apache.org/downloads.html 下载全网抓取的种子文件: wget http://rdf.dmoz.org/rdf/content.rdf.u8. ...

MySQL tips

每个工具都有tips,MySQL也不例外,本文整理了一些MySQL的tips,可能会用得着。 尽量使用MySQL的shell客户端,因为有一个命令可能别的图形化界面没有这么好用。 ? content:这个命令会提示你所有的操作手册。 ? delete:提示具体的一个命令可以怎么使用 ? create table ? show:看有哪些show命令 在所有的地方,都用utf-8会很省事。包括create database, tables, field,以及使用jdbc连接时。 查看物理文件存储的位置:show variables like "%datadir% ...

MySQL分区表操作

又到了要做表分区的时候了,写个博客记录一下。 1. 背景 MySQL版本是5.5,5.1以后就开始支持分区了,所以软件上没有问题。 1. show variables like "%version%" 'version', '5.5.11-log' 'innodb_version', '1.1.6' ------------ 2. show ...

使用更好的shell:oh-my-zsh

cat /etc/shells这个命令可以看你的系统中有哪些shell。 写之前的shell相比,有着更好的插件、提示以及可视化的目录选择功能。还有很多定制的功能。用一段时间后,相信你也会喜欢上的。 # zhaowei @ nc021 in /disk2/zhaowei/gitlab [1:06:41] 例如这样的目录和时间提示 1. 在mac本地安装 1.1 自动安装: wget https: ...

我做直播scrum master的心得

前言 因为最近需要把直播的事情放在一边,专心折腾查询优化的事。所以写一下心得供后续的master参考,可以看出哪些地方是我做得不足的或者是需要修改的。 具体的scrum流程可以看一下网上的资料,后续可能公司也会有相应的培训流程。在这里就不再介绍了。 以下只是介绍我在担当scrum master时的一些感受,目前有不少问题的或者执行得不到位,所以建议只是参考一下。另外具体如何实施也与公司情况和当前的团队状态有关,有一些具体做事的方法可能和scrum规定的流程是相反的。 一、我的原则 1. 让大家在现有的资源情况下尽可能干得爽。 1.1 现有的资源我看到如下: 公司能提供出来的team人力资源,例如有几个全职,有多少实习生,这些人力是否还需要兼顾别的事情。我们团队之前有过不少实习同事, ...

dsa登录集群要注意目录权限

今天浪费了比较多的时间在集群登录上。。。 原因是最后发现/home/zhaowei目录的权限不小心改了。由于自己不能上集群操作,所以麻烦了运维同事不少的时间。 生成dsa ssh-keygen -t dsa 会生成id_dsa以及id_dsa.pub两个文件 加入授权文件中 找运维同事把iddsa.pub放到/home/zhaowei/.ssh/authorizedkeys文件中(文件名也可能是别的) cat id_dsa.pub ...

用nginx搞定一机多个域名

一般我们在域名上绑定机器基本都只能是80端口。而我目前有两个服务简单服务,一个是vicviz.com,也就是这个博客,基于node.js。另一个是isoftpark.com,是因为在西二旗工作,工作中没有论坛,所以用discuz简单搭建了一个论坛,基于php。这两个域名都是在阿里云上购买和备案的。都只能使用80端口。 所以我现在要做的事就是就是在用户访问不同域名时,进入的页面是不一样的,虽然服务都在一台机器上。 1. node.js服务 假设是111.111.111.111:8000, ...

关于spring的了解

写java web服务4年了,一直在用spring。不过也正因为上手确实比较简单,写成了习惯,所以也没有深入了解一下spring的体系,对于spring mvc的源码和机制也没仔细研究过。工作中的时间一般都写业务逻辑去了。昨天看了一下框架,还是有好多更新与发展,所以再写个文章记一下自己的理解。 1. Spring要解决的问题 对于Java企业级应用来说,很多开源项目热衷于在做的事情,就是去开发替换主流的J2EE的备选方案,因为J2EE中之前的一些规范例如JSP或者EJB过于复杂了。这其中一个很常见的问题就是如何把一个以数据库为后端的各个不同的团队开发出来的组件放在同一个web控制框架下。而spring就在这方面作了一些尝试,用分层的方式把不同的组件聚合起来。 Spring的优点很多,目前我感受到的有以下一些: 1. 可测试性。就算没有servlet容器, ...

快速搭建discuz论坛

1.先安装apache2 apt-get install apache2 如果安装失败,记得更新一下源 安装好了之后,修改一下端口号,否则可能起不来: vi /etc/apache2/ports.conf 启动的命令在这里: /etc/init.d/apache2 start 对应的webapps目录在这里: /var/www/ 输入外网ip,可以看到页面: ...

java定时任务

又有代码要删除了,有些小工具如果不放在博客中,可能又无影无踪了。所以还是整理一下吧。 之前在linux上,会用contab来定时执行任务。一直想在java上也有这么个简单方便的工具就好了。之前一直自己干写,直到发现了quartz。 1.介绍 Quartz是OpenSymphony开源组织在Job scheduling领域又一个开源项目,它可以与J2EE与J2SE应用程序相结合也可以单独使用。Quartz可以用来创建简单或为运行十个,百个,甚至是好几万个Jobs这样复杂的程序。Jobs可以做成标准的Java组件或 EJBs. 官网在这里 2.代码示例 JobDetail job = JobBuilder.newJob( ...

直播系统如何承担更多的学堂用户增长职责

写这个文章,主要是基于几天前与manager的一次one2one,目前直播系统服务端的任务,算是告一段落了。目前需要做是对系统前端的不断优化,以及PC客户端的稳定性改进。这时可能需要面临我自己的一个问题:我如何去利用自己作为老员工的工作经验,去更快的推动学堂业务的发展。从给的建议来看,如果按照目前直播系统的全年规划,对我自己的职业发展可能会存在问题。所以这几天我也在考虑如何让正在努力开发的系统产生更大的价值。 1. 为什么需要承担这个职责? 这个职责指的是:商城让更多的用户来使用学堂的产品。 直播系统是目前用户享受付费服务的主要场所,系统的好坏直接影响了用户的体验。让用户惊艳的体验会带来口口相传的效果,而不断的黑屏卡顿也会影响学堂在老师们以及学弟学妹们心中的口碑,导致后续的售课量降低。所以做好系统的体验,就是对学堂业务最大的贡献。 虽然目前存在的问题,不过视频流和消息流能改的地方基本稳定, ...

30岁这个春节,我在做什么

写30岁这个春节前,我想了一下去年春节我做的事:结婚第一年回老家乡下过年,回京后决定不离职而是先看房。所以这个春节就在北京过了,家人也在这边过年,所以我省了8天的时间可以一直在家里,想想自己的未来。 一、当前处境 作为一名程序员,我一直都是非常喜欢写代码。我现在能在公司和家里写代码,我觉得还是很开心的。但在工作上,自己没有能成为一名专家,因为所有的子模块,我都只是参与调用,而不是自己实现,现在自己更像是pm而不是dev的角色。我现在做的是直播系统,但是推流是PC客户端同事写的,消息服务基础设施是杭研的,web播放器是买的,android和ios播放器是移动客户端同事使用的开源的,对于我个人来说, ...

视频处理遇到的一些问题

1. flv文件时间戳突然变大 1.1 问题描述 我们的视频推流到cdn后,cdn会记录下来我们的流的并生成flv文件。由于flv文件生成是一小段一小段的,所以在一堂课结束后,我们会有一个小工具,将这些小段的flv文件拼接起来。有一个出现了几次的问题是,拼接起来的文件有一段是播放不了的。 我检查了flv文件,发现视频文件有问题,如下图: 可以看出flv中封装的H.264的视频帧,居然时间直接到了93:38.900,这个应该就是罪魁祸首了。我理了一下推流的过程,可能是老师先讲了90多分钟,中间休息了一会,再接着推, ...

移动端离线视频防盗思路

1. 背景 2013年我在有道词典开发云图书项目,虽然叫云图书,其实用户下载使用的是富媒体资料,其中就包括与外部合作的资料,例如50音图的日文音频书,新东方的视频书。这些资料合作方是有要求不能被用户盗用的,只能通过我们的软件使用。而云图书的一个必备功能就是下载之后可以离线使用,所以我们需要对移动端(Andoird和IOS)进行离线的文件加密。 2. 需求与问题 对epub格式的电子书、离线的web应用、音频、视频文件进行防盗处理。 首先遇到的问题就是我们的播放器是弱播放器,对于epub文件,其实用的就是webview浏览器,对于音频和视频,其实也是封装后用h5来调用。另外移动端还需要考虑性能问题, ...

前端开发自动构建

为了成为一名稍微专业一些的前端开发,我觉得自己了解并使用工具来自动构建前端代码还是很有必要的。工具很多,虽然grunt是一个大伙都说还不错的工具,插件也比较丰富,但gulp是号称要替代grunt的工具,有不少的优点,例如上手简单,代码短,本身就是配置文件,流式处理效率高,看到得错误的行号提示等等,对于两者都没有接触过的人来说,还是用gulp吧。于是元旦在家里没事就折腾了一下。以下是我的使用过程。 目标 前端的工作流程一些是这样: 写代码-》代码检查-》测试-》文件合并、压缩-》发布 前面的代码检查和测试我还没有做,不过目前我需要工具可以帮我做的事有下面两个: ...

最近工作的性能优化

开发直播系统一年了,说真的一直没有好好做做性能调优,一方面是目前用户少,机器毫无压力,而功能比较杂优先关注功能,另一方面就是自己懒,不专业,所以只是做了简单的打压测试就完事了。没有服务异常也就没有往这方面做优化。现在有一段时间功能上没有太大的压力,于是开始自己折腾,一边把resin4.0.14升到了tomcat8.10,jdk1.6升到了1.8(无论哪家jdk,都应该用最新的版本),缓存加了redis,从单机升了多机。经过了这么一个版本,还是需要好好做一下性能测试的。以下是我的一些处理: 优化的方向 ...

PPT/PPTX/PDF 转图片

1. 需求 在直播系统中,最开始的课件是用一个小窗口调本地的powerpoint软件打开PPT,老师在原生的PPT上进行操作,然后把这个窗口录下来,同步给学生。 问题 我没有开发win客户端,只能从现象上进行描述 1. 如果本没有powerpoint,或者装了wps,或者装的2003打不开pptx,都会导致没法继续下一步。 2. 如果中间我们的直播软件挂了,而powerpoint没有挂,需要从任务管理器杀进程。另外powerpoint挂了,下次打开可能会提示是否要继续原来的操作会导致流程中断打开也会出现问题。 3. 原来的PPT画笔工具老师反馈不好用,例如画笔的切换需要点多次才能重新调起。不能用键盘打字,只能输入。 ...

关于房子

在结束了这么多年最恶心的一次租房之后,终于搬进了自己家里。从春节回北京后,休了一周的假看了北边的房子,无奈只有选择了六环边上。接下来4月5月处理过户相关的手续,也是各种费心。再然后是5,6,7月的装修,基本每个周末都花在上面了。六月跟公司去了趟云南,8月陪家人,时间就这么过了。 先上一下装修的图吧: 好了之后的 接下来就好好安心工作了,少打dota多挣钱,抓紧时间好好生活~! ...

mysql优化相关

从哪些角度做? 考虑商业模式,从产品需求上做。能不做的功能尽量别做;能不实时的就别实时; 能不存的东西就不要存;真的要存的话找对存储的工具(文件,sql,nosql,memory cache); 例如:多媒体,日志log,超大文本。 能不用到数据库,就别用到数据库,例如在业务层加缓存。例如:配置数据(云图书元信息)、活跃用户个人信息等。 sql语句优化。 例子:获取某类目下例如四级的所有的课, ...

MySQL安装

源码安装 官方的安装教程 一般来说,开发人员基本是没有运维人员的管理员权限的,所以推荐源码安装,目录自定义更加方便。以下仅限于mysql-5.6的版本。 1. 下载:http://dev.mysql.com/downloads/mysql/,我选择的是source code, Generic Linux (Architecture Independent), Compressed TAR Archive, 2. ...