Simple tech-talk

736 views

Published on

Published in: Technology, Design
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
736
On SlideShare
0
From Embeds
0
Number of Embeds
33
Actions
Shares
0
Downloads
6
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Simple tech-talk

  1. 1. 关于技术的一点扯淡<br />李辉荣<br />2011-07-14<br />
  2. 2. 没有主题<br />cdppt-session<br />ls –l<br />cd爬虫,WebCrawler<br />drwxr-xr-x 2 root root 4096 爬虫,Web Crawler<br />drwxr-xr-x 2 root root 4096 Linux<br />drwxr-xr-x 2 root root 4096 Java<br />drwxr-xr-x 2 root root 4096 其他<br />
  3. 3. 爬虫<br />神马玩意?<br />搜索引擎的信息积累 google/baidu/bing…<br />Googlebot, Baiduspider, bingbot, Yahoo! Slurp, <br />
  4. 4. 爬虫<br />礼貌问题<br />Robots.txt<br />http://zh.wikipedia.org/wiki/Robots.txt<br />广度优先,Breadth First Search<br />深度优先,Depth First Search<br />
  5. 5. 不礼貌的行为<br />几个服务器<br />Down<br />蜂拥而上<br />403<br />
  6. 6. 解决方法-1<br />
  7. 7. 解决办法-2<br />几个服务器<br />乱序访问<br />
  8. 8. 广度优先<br />通常实现<br />FIFO<br />边界越来越大<br />
  9. 9. 深度优先<br />LIFO<br />缺点:不可自拔<br />优点:遍历小站点时效率好<br />
  10. 10. 没有主题<br />ls –l<br />cdLinux<br />drwxr-xr-x 2 root root 4096 爬虫,Web Crawler<br />drwxr-xr-x 2 root root 4096 Linux<br />drwxr-xr-x 2 root root 4096 Java<br />drwxr-xr-x 2 root root 4096 其他<br />
  11. 11. Linux<br />学习使用Linux的必要性<br />发行版:Debian, RPM, …<br />服务器多用Linux(Red Hat, CentOS, UbuntuServer, openSUSE)<br />推荐个人安装Ubuntu(烂货RTX!!)<br />
  12. 12. 编辑器 Editor<br />nano(^+O, ^+X)<br />geditor(GNome)<br />编辑器之神——Vi<br />另外一个不介绍,因为我不会。。。<br />
  13. 13. ViM<br />英文http://marius.wirelessisfun.com/2010/tutorial-vi-vim/<br />中文:http://blog.webshuo.com/2011/02/23/549/<br />当前服务器上的VI版本<br />
  14. 14. MM图<br />
  15. 15. 键盘图<br />
  16. 16. shell<br />输入输出重定向,管道<br />grep<br />tail –f –n <br />ps –ef/-aux<br />top<br />[]/[[]]/for/if/while/do/done/then…<br />sed/awk<br />perl –nle<br />文档:http://10.0.93.16/abs-3.9.1/<br />
  17. 17. Ubuntu简介<br />基于Debian,Ubuntu的目标在于为一般用户提供一个最新的、同时又相当稳定的主要由自由软件构建而成的操作系统。<br />Ubuntu desktop<br />Ubuntu server<br />软件安装<br />利用deb包安装 sudodpkg -i vim.deb<br />利用apt安装 sudo apt-get install vim<br />
  18. 18. 没有主题<br />ls –l<br />cdJava<br />drwxr-xr-x 2 root root 4096 爬虫,Web Crawler<br />drwxr-xr-x 2 root root 4096 Linux<br />drwxr-xr-x 2 root root 4096 Java<br />drwxr-xr-x 2 root root 4096 其他<br />
  19. 19. Java<br />编码风格,编程习惯,注释,标记<br />对抽象编程<br />使用框架<br />日志<br />
  20. 20. 风格<br />变量、方法命名<br />格式:Eclipse,Ctrl+Shift+F?<br />代码即注释!<br />额外的注释,可以有,但必须精<br />中文?英文?<br />标注:TODO,FIXME<br />线程setName(String threadName)<br />close()<br />
  21. 21. 抽象,接口和抽象类<br />个人理解(不保证完全准确)<br />接口为类型转化<br />抽象类为减少重复代码、公用基础功能<br />优先使用接口<br />在抽取抽象类的时候尽量考虑Adapter模式<br />
  22. 22. 框架<br />JavaJDK类库<br />Collection框架<br />java.util.concurrent框架<br />Stream体系<br />使用开源框架:<br />Spring , struts2<br />iBatis, hibernate <br />Log4j, Jetty, HtmlCleaner, quartz<br />
  23. 23. 日志<br />×System.out.println(msg)<br />√ Logger.info(msg)<br />查看程序运行历史记录。中文?英文?<br />推荐log4j,功能完善,资料丰富<br />单行模式,视觉块<br />行号一定要有<br />多线程环境下,一定要有%t选项<br />Log4j.logger.com.xxx=debug,stdout,logfile<br />log4j.additivity.com.xxx=false<br />
  24. 24. 没有主题<br />ls –l<br />cd其他<br />drwxr-xr-x 2 root root 4096 爬虫,Web Crawler<br />drwxr-xr-x 2 root root 4096 Linux<br />drwxr-xr-x 2 root root 4096 Java<br />drwxr-xr-x 2 root root 4096 其他<br />
  25. 25. 其他<br />方向与速度<br />问题的本质<br />懒不是缺点<br />HTTP一点点<br />信息获取<br />
  26. 26. 方向与速度<br />SB & NB<br />实例:爬虫里的Link Extract和Page Analyse<br />
  27. 27. 问题的本质<br />抽象 具体<br />任务分解,一个大任务 多个小任务<br />解决任务的途径,不止一种<br />任何时刻明确大任务是神马,这是本质<br />实例:下载网页,HtmlCleaner<br />问题的实质:一个正确的TagNode对象<br />而非:一个返回正确Charset的方法<br />
  28. 28. 懒不是缺点<br />当然要把事情做好<br />懒得学习才是缺点<br />事半功倍的前提:一点学习曲线<br />例子<br /> 一键部署脚本<br /> Vi的使用<br />
  29. 29. HTTP一点点<br />HTTP URL组成<br />http://www.google.com:80/search?q=http+url#tag<br />$protocol//$host$pathname$search$hash<br />$host => $hostname:$port<br />Search queryString<br />可以用Javascript查看:location.xxx<br />Status codes<br />
  30. 30. 信息获取<br />书籍的选择<br />开源项目<br />API Document<br />https://www.google.com/reader/<br />
  31. 31. Qustions?<br />
  32. 32. Thank you~~<br />感谢坚持到最后的同学<br />你们辛苦了~ <br />Blog: http://blog.blacklee.net/<br />Twitter: http://twitter.com/liltos<br />

×