央视爆破失败..谎话张嘴就来!

我的神啊~~ 难道是瞎话说习惯了?

喜欢仙剑,需要理由吗?

一个游戏,一首歌,当我闭起眼睛,一个个故事,一个有一个镜头在我们眼前闪过,这些是虚幻吗?

Play非常不错的java敏捷框架

前几天了解了下Play这个框架. 原本1年前就对java web已经死心了的我,又有点重找回信心了.

不想去回忆java做web开发的痛苦了,框架间乱七八糟的组合,有无意义暂且不说,一个简单的增删改查,光写类就要写N个,出了错还得一个个debug过来.痛苦啊!所以年前就“背叛”Java 加入python阵营了. 用python做web真是优美,而且快速简单.至于很长时间对struts,webwork这种框架有点恶心.

感觉java除了高性能应用外,在web上简直就是糟糕透顶了. 然而不久前一次偶然的机会,让我了解了Play,彻底打破了我的想法,原来java也可以敏捷.也可以像python那样精简,快速.

这几天研究,做了官网上的Yabe例子,当然没做完(admin CRUD对现实意义不大),总结了下面几个优点:

  1. 自动编译,无需重启. 个人最欣赏的地方,总算可以摆脱一修改代码就要重启服务器的窘境了,事实上在调试阶段,重启服务器的时间远远大于修改代码所需的时间,时间大大浪费在毫无意义的等待上面了.
  2. 优美的URI映射. 貌似大部分敏捷框架,都在这里大下功夫.根据不同的URI,自动映射到不同的view层,别拿struts这种恶心人的uri映射来比,敏捷的uri映射更加灵活,更加强大.
  3. 简单的MVC层次. 不知道哪位规范了MVC模型,心意是好的,但是国内大部分web应用都瞎套了MVC,总之,我感觉struts之流引入MVC的概念不是简化了开发,而是大大增加了工作量,什么dao,daoimpl,server,serverimpl,view… 要多细可以写多细,然后我们自己问自己,真的有必要这么’细致’吗?敏捷告诉我们答案,mvc可以如此简单. Web技术的核心就是 “提交表单,操作数据库”.
  4. 强健的模板语言. 总所周知,一般java运用主要采用freemwark这种模板框架,究其原因还是JSTL这种标签表现力不够丰富,不够灵活,很难满足一般应用的需要.play模板语言重复吸取了ror,django这种脚本语言框架. 到处可以看到ror的影子.这点说不清楚,大家自己实际看一下就能明白,play的模板是多么的敏捷.
  5. Model. 最后写这点,因为这点也是java作为静态语言的无奈,不可能像python这样做成完美的充血模型,Play的model是基于JPA规范,也模仿动态语言写了增删改查的常见方法,但说到底这些都不是很好. Model也是个人觉得比较遗憾的地方了.

以上是这几天闲暇之余查看Play文档和做些例子的一些感受和想法. 粗浅的地方还望大家指正.

免费手机天气预报

前段时间突然想研究飞信(fetion),因为觉得利用飞信发手机短信是个不错的方法.

于是就诞生了此程序,目前测试中 http://fengsms.appspot.com/ 大家可帮忙进行测试.

使用本程序用户需遵守2条原则

1. 必须是移动用户且绑定飞信,程序基于飞信,所以是免费的.具体可以参考飞信官网

2. 原则上只要是飞信好友,都可以通过此程序发送消息,建议不要乱加好友,否则会被移动认定垃圾短信导致封号(飞信号)

使用方法

1.注册   打开http://fengsms.appspot.com/ 左边即可注册.简单填写用户名和密码即可

2.登录   打开首页右边即可登录

3.输入手机号码和飞信口令. 这里声明,本程序的原理是模拟飞信登录,因此需要飞信口令,否则哪有免费短信一说,因此这里会记录用户的手机号码和飞信密码.本站不会想任何人透露.由于飞信是和手机绑定,因此只需要发送’新密码’到12520050即可重置密码.

4.输入后,请先点击’激活’按钮,如果担心密码输入错误,请点击旁边的’测试’按钮.如果有测试短信成功发送到手机,则口令正确

5.点上面导航条的’发送列表’.

6.在新增用户表单中输入带发送的手机号码和号码所在城市的拼音. 注意,系统默认不会给任何人发送天气预报包括自己,请把自己加入列表中.

7.可以点’立刻发送’按钮.测试是否收到当天天气情况.

 

注:程序测试中. 会出现不稳定情况,请各位海涵.

杭州千分之四大学生感染艾滋病

不可思议啊~~ 大学正在被社会污染~ 到底是谁的悲哀?

Linux(debian)下ffmpeg编译与运行

Why write this article?

   网上关于如何编译的文章很多,但有2个很明显的趋势

   1. 国内的大多东抄点西抄点,时间滞后不说,当你google的结果大部分都大同小异后就会有抓狂的感觉,究其原因还是国内站长们‘爬虫’太多.
   2. 国外优秀文章不错,很多,比如这篇 因此本文的目的主要是为了国内阅读英文较困难的同学服务,务必做到阅读完本文后,能自行编译ffmpeg.并简单操作.

Audience

    ffmpeg初学者,并对linux相关命令不了解

What is ffmpeg?

    简单来说就是一个跨平台、开源的流媒体处理工具.几乎集成了流媒体处理的所有功能,几乎’无所不能’.著名的’暴风影音’,’QQ影音’…都有’幸’加入了ffmpeg耻辱柱.

How to use?

    ffmpeg主要2种使用方式 1、命令行  2、使用lib库

    前者最方便,几乎不需要编程方面的知识,参考具体文档即可.

Compile

    因为ffmpeg是主要几乎linux开发且官方不提供现成的二进制文件,需要用户自行编译,这就大大增加了初学者入门的难度

    windows下有现成的编译库SDK,可以直接下载. 这里将如何在linux(debian)下编译ffmpeg.

    网上可以找到很多教程,在正式安装ffmpeg需要安装许多东西,其实那些都并不是必须的.比如lame

    Debian的确很强大,强大到不需要本文,只需要几个apt-get 命令即可实现整个过程.当然这里不是本文的重点,懒人可以直接用下面的代码直接安装二进制包,有兴趣的朋友继续看下文,我们来手动编译

    懒人方法::

apt-get install ffmpeg 如果提示不完整 继续输入 apt-get –f install

    手动编译:

1. 安装gcc编译器. gcc是linux下一个c的编译器,用来对c源码进行编译.使用 apt-get install gcc 下载
2. 下载ffmpeg源码包 wget http://www.ffmpeg.org/releases/ffmpeg-0.6.tar.gz wget是linux下比较方便的下载命令
3. 解压ffmpeg, tar zxvf ffmpeg-0.6.tar.gz 即可
4. cd ffmpeg-0.6 进入ffmpeg目录
5. 运行./configure –help 可以查看编译参数. 看看就可以了,具体详细参考这份文档.
6. 这里我们运行 ./configure --prefix=/home/fred/ffmpeg --enable-gpl --enable-shared 简单说下
--prefix指定编译后的路径,默认是编译到/usr /opt 等目录中去,个人不是很喜欢这种方式,初学者建议不启用该项.

--enable-gpl 启用gpl编码

--enable-shared 允许共享lib包

7. make 开始编译,看电脑情况,一般几分钟时间是要的.耐心等待吧

8. make install 把编译后的so,co这些二进制文件都转移到prefix指定的目录中去

    如果前面设置过prefix的朋友看这里,使用默认的可以忽略,这段作用是把ffmpeg执行命令加入到环境变量中去

 

$ cd /home/fred

$ vi .bashrc
插入 export ffmpeg=/home/fred/ffmpeg
export PATH = $ffmpeg/bin;$PATH

 

    到了这里,如果一切顺利的话,可以运行下面命令测试下

ffmpeg –-help

 

   如果打印出大量字符提示信息,那就说明安装正确了.

Example

    如果前面都没有问题,运行下面命令,这条命令作用是把flv转成mpg格式

 

ffmpeg -i kitty.flv -target ntsc-dvd -aspect 4:3 kitty.mpg

写个百度搬家玩玩

今天下午实在无聊. 好几天都没事做~ 整天就收发邮件,都快成文秘了. 大笑

随便写了百度搬家工具打发下时间,这是从原来的python百度搬家工具改的. 希望越来越多的朋友”背叛”baidu.加入micolog阵营!

小怡帆得救喽

一直很关注小怡帆的病情,今天打开了怡帆网差看了下最近境况. 一个好消息出现了,小怡帆手术成功了~

保佑小怡帆早日出院,成为一个正常快乐的小孩子!

可怕的”Google”

个人是十分推崇Google精神的,希望Google那无止境的创造力和对互联网的推动力,但今天无意中发现的一件事,也让我感觉到Google的“可怕”.

蓝点:Google用户上传的当地拍摄的图片集合

蓝块:Google著名的全景记录

再来张详细的图

不解释了· 看来Google不需要什么军事卫星,但通过网友们辛勤的上传照片,也已经把全球人类聚集区的图像信息收集到手了~ 作为一个企业做到这一步真是….

Debian网络设置

一直记不住这些设置~ 这里记录下,省的到处找

IP地址配置文件: /etc/network/interface

// 动态DHCP获得

# 启动系统激活设备
# Loop回环地址
auto lo
iface lo inet loopback

# 启动系统激活设备
# 网卡eth0设置为DHCP类型
auto eth0
iface eth0 inet dhcp

// 静态Static获得

# 启动系统激活设备
# Loop回环地址
auto lo
iface lo inet loopback

# 启动系统激活设备
# 网卡eth0设置为Static类型
auto eth0
iface eth0 inet static

# 指定IP地址、子网掩码、广播、网关
address 192.168.0.1
netmask 255.255.255.0 
network 192.168.0.0
broadcast 192.168.0.255
gateway 192.168.0.1

# 指定DNS服务器地址
dns-nameservers 202.103.0.117
dns-search somedomain.org

========================

 

DNS服务器配置文件: /etc/resolv.conf

// 必须设置.否则无法访问任何URL

nameserver 202.103.0.117
nameserver 211.95.193.97