UNIX 技巧: 借助 UNIX 成为更优秀的博客( 三 )


$ awk ' BEGIN { FS="""}; {print $4}' log.daily|grep -v "^-$"|sort|uniq -c|sort -r
预先设置图像大小
超文本标记语言 (HTML) 标记
的 HEIGHT 和 WIDTH 属性非常重要 。这些参数指定给定图像的大小 。当这些参数存在时,大多数浏览器都会在加载图像之前,在呈现页面的窗口中为图像腾出空间 。如果没有这些标记,则必须在图像下载完成以后,才会显示图像周围的文本 。
所以,当您在博客中放置图像时,在
标记中包括这些参数是有利的,尤其是在单个页面上开始有大量图像的时候,因为这样可以显著改善博客页面的加载 。访问者将能在页面开始加载时就开始阅读,而不必等待整个页面及其所有图像传输到本地 。
但是,每次使用图像并将它们放在
标记中时,都必须确定精确的 HEIGHT 和 WIDTH 值,这本身就是件恐怖的麻烦事情 。幸运的是,存在一个工具可以为您自动执行整个任务 。imgsizer 实用程序(请参见参考资料)读取您提供给它的任何 .html 文件,检查那些文件中所引用的所有源图像,确定它们的高度和宽度,并在给定文件所包含的
标记中写入正确的值:
$ imgsizer index.html
就这样简单——您不必加载任何图像或对它们做其他任何事情 。在 imgsizer 添加这些标记以后,您将对页面加载速度的提高幅度感到非常吃惊 。很少有博客所有者使用了此项简单技术,但它是读者将会非常欣赏的技术 。
自动化更新
很少有博客所有者直接在在线页面本身之上制作博客 。大多数工作都是在本地副本上完成的,他们首先在本地副本上草拟和提炼新条目 。然后,当新的 index.html 文件为在线 准备就绪时,博客所有者将该文件上载到承载实际站点的服务器 。
该过程可能要花 30 秒到一分钟的强制性注意时间,在此过程中,博客所有者打开文件传输协议 (FTP) 连接、键入密码、切换到本地网络博客根目录、切换到服务器根目录、上传该文件,然后注销(有关示例请参见清单 3) 。
可以想象,此过程很容易出现用户错误 。如果您志在成为每天拥有 10 个优秀更新的大亨级精英博客所有者,则此上传过程每天就要花去您整整五分钟时间——或者说每年总共超过 30 个小时!那是相当多的时间,原本可以更好地花在阅读 developerWorks 文章来加强您的信息技术 (IT) 本领上 。
清单 3. 网络博客根页的手动更新
develbox$ ftp bigblog.example.com
Connected to bigblog.example.com.
220 bigblog.example.com NcFTPd Server (licensed copy) ready.
Name (bigblog.example.com:joe): joe_blogger
331 User joe_blogger okay, need password.
Password: secret
230 You are user #1 of 2 simultaneous users allowed.
230 Logged in.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> lcd ~/blog
Local directory now /home/joe/blog
ftp> cd public_html
250 "/usr/www/users/joe_blogger" is new cwd.
ftp> put index.html
local: index.html remote: index.html
200 PORT command successful.
150 Opening BINARY mode data connection.
226 Transfer completed.
ftp> bye
221 Goodbye.
develbox$
完成此任务的一种更好方法是使用 Expect 语言,它是为脚本交互式会话而设计的(请参见参考资料) 。对于通过 FTP 来人工更新站点的博客所有者,创建自动化的更新脚本是很自然的方法 。清单 4 显示了一个自动化清单 3 所示的会话的示例 。
清单 4. 自动化网络博客更新的 Expect 程序
#!/usr/bin/expect
# update a weblog index page
# puts ~/blog/index.html in remote ~/public_html/
exp_version -exit 5.0

推荐阅读