<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>纸口杯</title>
	<atom:link href="http://www.y513.com/feed" rel="self" type="application/rss+xml" />
	<link>http://www.y513.com</link>
	<description>关注web前端，创新web前端！</description>
	<lastBuildDate>Wed, 01 Feb 2012 06:23:50 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>用十年来学编程</title>
		<link>http://www.y513.com/201202941.html</link>
		<comments>http://www.y513.com/201202941.html#comments</comments>
		<pubDate>Wed, 01 Feb 2012 06:23:50 +0000</pubDate>
		<dc:creator>纸口杯</dc:creator>
				<category><![CDATA[最新新闻]]></category>

		<guid isPermaLink="false">http://www.y513.com/?p=941</guid>
		<description><![CDATA[<h2><span style="color: #ff6600;"><strong>为什么每个人都急不可耐？</strong></span></h2>
<div>        走进任何一家书店，你会看见《Teach Yourself Java in 7 Days》（7天Java无师自通）的旁边是一长排看不到尽头的类似书籍，它们要教会你Visual Basic、Windows、Internet等等，而只需要几天甚至几小时。我在<a href="http://www.amazon.com/" target="_blank">Amazon.com</a>上进行了如下<a href="http://www.amazon.com/exec/obidos/tg/browse/-/468558/104-5938873-6579160">搜索</a>：</div>
<div><a href="http://www.amazon.com/exec/obidos/search-handle-url/ix=books&#38;rank=%2Bfeaturedrank&#38;fqp=power%01pubdate%3A%20after%201992%20and%20title%3A%20days%20and%0D%20%28title%3A%20learn%20or%20title%3A%20teach%20yourself%29&#38;sz=25&#38;pg=1/ref=s_b_np" target="_blank">pubdate: after 1992 and title: days and (title: learn or title: teach yourself)
</a> (出版日期：1992年后 and 书名：天 and （书名：学会 or 书名：无师自通）)</div>
<div>我一共得到了248个搜索结果。前面的78个是计算机书籍（第79个是《<a href="http://www.amazon.com/exec/obidos/ASIN/0781802245/" target="_blank">Learn Bengali in 30 days</a>》，30天学会孟加拉语）。我把关键词“days”换成“<a href="http://www.amazon.com/exec/obidos/search-handle-url/ix=books&#38;rank=%2Bfeaturedrank&#38;fqp=power%01pubdate%3A%20after%201992%20and%20title%3A%20hours%20and%0D%20%28title%3A%20learn%20or%20title%3A%20teach%20yourself%29&#38;sz=25&#38;pg=3/ref=s_b_np" target="_blank">hours</a>”，得到了非常相似的结果：这次有253本书，头77本是计算机书籍，第78本是《<a href="http://www.amazon.com/exec/obidos/ASIN/0028638999/" target="_blank">Teach Yourself Grammar and Style in 24 Hours</a>》（24小时学会文法和文体）。头200本书中，有96%是计算机书籍。</div>
<div></div>
<div>结论是，要么是人们非常急于学会计算机，要么就是不知道为什么计算机惊人地简单，比任何东西都容易学会。没有一本书是要在几天里教会人们欣赏贝多芬或者量子物理学，甚至怎样给狗打扮。在《<em><a href="http://www.ccs.neu.edu/home/matthias/HtDP2e/index.html">How to Design Programs</a></em>》这本书里说“<em>Bad programming is easy. Idiots can learn it in 21 days, even if they are dummies.” </em>（坏的程序是很容易的，就算他们是笨蛋白痴都可以在21天内学会。）</div>
<div></div>
<div>让我们来分析一下像《<a href="http://www.amazon.com/Learn-C-Three-Days-Rachele/dp/1556227078" target="_self">Learn C++ in Three Days</a>》（3天学会C++）这样的题目到底是什么意思：</div>
<ul>
	<li><strong>学会</strong>：在3天时间里，你不够时间写一些有意义的程序，并从它们的失败与成功中学习。你不够时间跟一些有经验的 程序员一起工作，你不会知道在C++那样的环境中是什么滋味。简而言之，没有足够的时间让你学到很多东西。所以这些书谈论的只是表面上的精通，而非深入的 理解。如Alexander Pope（英国诗人、作家，1688-1744）所言，<strong>一知半解是危险的（a little learning is a dangerous thing）</strong></li>
	<li><strong>C++</strong>：在3天时间里你可以学会C++的语法（如果你已经会一门类似的语言），但你无法学到多少如何运用这些 语法。简而言之，如果你是，比如说一个Basic程序员，你可以学会用C++语法写出Basic风格的程序，但你学不到C++真正的优点（和缺点）。那关 键在哪里？Alan Perlis（ACM第一任主席，图灵奖得主，1922-1990）曾经说过：“<strong>如果一门语言不能影响你对编程的想法，那它就不值得去学</strong>”。另一种观点是，有时候你不得不学一点C++（更可能是javascript和Flash Flex之类）的皮毛，因为你需要接触现有的工具，用来完成特定的任务。但此时你不是在学习如何编程，你是在学习如何完成任务。</li>
	<li><strong>3天</strong>：不幸的是，这是不够的，正如下一节所言。</li>
</ul>
<h2><span style="color: #ff6600;">10年学编程</span></h2>
<div>一些研究者（<a href="http://www.amazon.com/exec/obidos/ASIN/034531509X/">Bloom (1985)</a>, <a href="http://norvig.com/21-days.html#bh">Bryan &#38; Harter (1899)</a>, <a href="http://www.amazon.com/exec/obidos/ASIN/0805803092">Hayes (1989)</a>, <a href="http://norvig.com/21-days.html#sc">Simmon &#38; Chase (1973)</a>） 的研究表明，在许多领域，都需要大约10 年时间才能培养出专业技能，包括国际象棋、作曲、绘画、钢琴、游泳、网球，以及神经心理学和拓扑学的研究。似乎并不存在真正的捷径：即使是莫扎特，他4 岁就显露出音乐天才，在他写出世界级的音乐之前仍然用了超过13年时间。再看另一种音乐类型的披头士，他们似乎是在1964年的Ed Sullivan节目中突然冒头的。但其实他们从1957年就开始表演了，即使他们很早就显示出了巨大的吸引力，他们第一次真正的成功——Sgt. Peppers——也要到1967年才发行。<a href="http://www.amazon.com/Outliers-Story-Success-Malcolm-Gladwell/dp/0316017922">Malcolm Gladwell</a> 研究报告称，把在伯林音乐学院学生一个班的学生按水平分成高中低，然后问他们对音乐练习花了多少工夫：</div>
<blockquote>在这三个小组中的每一个人基本上都是从相同的时间开始练习的（在五岁的时候）。在开始的几年里，每个人都是每周练习2-3 个小时。但是在八岁的时候，练习的强度开始显现差异。在这个班中水平最牛的人开始比别人练习得更多——在九岁的时候每周练习6个小时，十二岁的时候，每周 8个小时，十四岁的时候每周16个小时，并在成长过程中练习得越来越多，到20岁的时候，其每周练习可超过30个小时。到了20岁，这些优秀者在其生命中 练习音乐总共超过 10,000 小时。与之对比，其它人只平均有8,000小时，而未来只能留校当老师的人仅仅是4,000 小时。</blockquote>
<div>所以，这也许需要10,000 小时，并不是十年，但这是一个magic number。Samuel Johnson（英国诗人）认为10 年还是不够的：“<strong>任何领域的卓越成就都只能通过一生的努力来获得；稍低一点的代价也换不来。</strong>” （Excellence in any department can be attained only by the labor of a lifetime; it is not to be purchased at a lesser price.） 乔叟（Chaucer，英国诗人，1340-1400）也抱怨说：“<strong>生命如此短暂，掌握技艺却要如此长久。</strong>”（the lyf so short, the craft so long to lerne.）</div>
<div>下面是我在编程这个行当里获得成功的处方：</div>
<ul>
	<li>对编程感兴趣，因为乐趣而去编程。确定始终都能保持足够的乐趣，以致你能够将10年时间投入其中。</li>
	<li>跟其他程序员交谈；阅读其他程序。这比任何书籍或训练课程都更重要。</li>
	<li>编程。最好的学习是<a href="http://www.engines4ed.org/hyperbook/nodes/NODE-120-pg.html" target="_blank">从实践中学习</a>。用更加技术性的语言来讲，“个体在特定领域最高水平的表现不是作为长期的经验的结果而自动获得的，但即使是非常富有经验的个体也可以通过刻意的努力而提高其表现水平。”（<a href="http://www2.umassd.edu/swpi/DesignInCS/expertise.html" target="_blank">p. 366</a>），而且“最有效的学习要求为特定个体制定适当难度的任务，有意义的反馈，以及重复及改正错误的机会。”（p. 20-21）《<a href="http://www.amazon.com/exec/obidos/ASIN/0521357349" target="_blank">Cognition in Practice: Mind, Mathematics, and Culture in Everyday Life</a>》（在实践中认知：心智、数学和日常生活的文化）是关于这个观点的一本有趣的参考书。</li>
	<li>如果你愿意，在大学里花上4年时间（或者再花几年读研究生）。这能让你获得一些工作的入门资格，还能让你对此领域有更深入的理解，但如果你不喜欢 进学校，（作出一点牺牲）你在工作中也同样能获得类似的经验。在任何情况下，单从书本上学习都是不够的。“计算机科学的教育不会让任何人成为内行的程序 员，正如研究画笔和颜料不会让任何人成为内行的画家”, Eric Raymond，《The New Hacker’s Dictionary》（新黑客字典）的作者如是说。我曾经雇用过的最优秀的程序员之一仅有高中学历；但他创造出了许多伟大的软件（<a href="http://www.xemacs.org/" target="_blank">XEmacs</a>, <a href="http://www.mozilla.org/" target="_blank">Mozilla</a>），甚至有讨论他本人的<a href="http://groups.google.com/groups?q=alt.fan.jwz&#38;meta=site%3Dgroups" target="_blank">新闻组</a>，而且股票期权让他达到我无法企及的<a href="http://en.wikipedia.org/wiki/DNA_Lounge" target="_blank">富有程度</a>（译注：指Jamie Zawinski，Xemacs和Netscape的作者）。</li>
	<li>跟别的程序员一起完成项目。在一些项目中成为最好的程序员；在其他一些项目中当最差的一个。当你是最好的程序员时，你要测试自己领导项目的能力，并通过你的洞见鼓舞其他人。当你是最差的时候，你学习高手们在做些什么，以及他们不喜欢做什么（因为他们让你帮他们做那些事）。</li>
	<li>接手别的程序员完成项目。用心理解别人编写的程序。看看在没有最初的程序员在场的时候理解和修改程序需要些什么。想一想怎样设计你的程序才能让别人接手维护你的程序时更容易一些。</li>
	<li>学会至少半打编程语言。包括一门支持类抽象（class abstraction）的语言（如Java或C++），一门支持函数抽象（functional abstraction）的语言（如Lisp或ML），一门支持句法抽象（syntactic abstraction）的语言（如Lisp），一门支持说明性规约（declarative specification）的语言（如Prolog或C++模版），一门支持协程（coroutine）的语言（如Icon或Scheme），以及一门 支持并行处理（parallelism）的语言（如Sisal）。</li>
	<li>记住在“计算机科学”这个词组里包含“计算机”这个词。了解你的计算机执行一条指令要多长时间，从内存中取一个word要多长时间（包括缓存命中和未命中的情况），从磁盘上读取连续的数据要多长时间，定位到磁盘上的新位置又要多长时间。（<a href="http://norvig.com/21-days.html#answers" target="_blank">答案在这里</a>）</li>
	<li>尝试参与到一项语言标准化工作中。可以是ANSI C++委员会，也可以是决定自己团队的编码风格到底采用2个空格的缩进还是4个。不论是哪一种，你都可以学到在这门语言中到底人们喜欢些什么，他们有多喜欢，甚至有可能稍微了解为什么他们会有这样的感觉。</li>
	<li>拥有尽快从语言标准化工作中抽身的良好判断力。</li>
</ul>
抱着这些想法，我很怀疑从书上到底能学到多少东西。在我第一个孩子出生前，我读完了所有“怎样……”的书，却仍然感到自己是个茫无头绪的新手。30 个月后，我第二个孩子出生的时候，我重新拿起那些书来复习了吗？不。相反，我依靠我自己的经验，结果比专家写的几千页东西更有用更靠得住。

Fred Brooks在他的短文《<a href="http://en.wikipedia.org/wiki/No_Silver_Bullet" target="_blank">No Silver Bullets</a>》（没有银弹）中确立了如何发现杰出的软件设计者的三步规划：
<ul>
	<li>尽早系统地识别出最好的设计者群体。</li>
	<li>指派一个事业上的导师负责有潜质的对象的发展，小心地帮他保持职业生涯的履历。</li>
	<li>让成长中的设计师们有机会互相影响，互相激励。</li>
</ul>
这实际上是假定了有些人本身就具有成为杰出设计师的必要潜质；要做的只是引导他们前进。<a href="http://www-pu.informatik.uni-tuebingen.de/users/klaeren/epigrams.html" target="_blank">Alan Perlis</a>说得更简洁：“每个人都可以被教授如何雕塑；而对米开朗基罗来说，能教给他的倒是怎样能够不去雕塑。杰出的程序员也一样”。

所以尽管去买那些Java书；你很可能会从中找到些用处。但你的生活，或者你作为程序员的真正的专业技术，并不会因此在24小时、24天甚至24个月内发生真正的变化。]]></description>
		<wfw:commentRss>http://www.y513.com/201202941.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>在ruby使用ssh连接linux服务器</title>
		<link>http://www.y513.com/201201935.html</link>
		<comments>http://www.y513.com/201201935.html#comments</comments>
		<pubDate>Thu, 12 Jan 2012 03:25:06 +0000</pubDate>
		<dc:creator>纸口杯</dc:creator>
				<category><![CDATA[Ruby]]></category>

		<guid isPermaLink="false">http://www.y513.com/?p=935</guid>
		<description><![CDATA[<blockquote>需要安装ssh的gem</blockquote>

<strong>使用ssh接口访问linux服务器</strong>
[ruby]
require 'net/ssh'
 

host = hostip
username = username
password = pwd

##显示文件和系统版本
server_cmd1 = 'ls -l'
server_cmd2 = 'cat /etc/issue'


# 连接到远程主机 foobar
ssh = Net::SSH.start(host, username, :password =&#62; password) do &#124;ssh&#124;
  result = ssh.exec!(server_cmd1)
  puts result
  result = ssh.exec!(server_cmd2)
  puts result
end
[/ruby]]]></description>
		<wfw:commentRss>http://www.y513.com/201201935.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ruby 解析 HTML (Nokogiri)</title>
		<link>http://www.y513.com/201112927.html</link>
		<comments>http://www.y513.com/201112927.html#comments</comments>
		<pubDate>Tue, 27 Dec 2011 03:17:10 +0000</pubDate>
		<dc:creator>纸口杯</dc:creator>
				<category><![CDATA[Ruby]]></category>

		<guid isPermaLink="false">http://www.y513.com/?p=927</guid>
		<description><![CDATA[很多时候我们需要爬取网页并且获取页面上的特定内容，不一定是做坏事比如爬取竞争对手的数据。也许我想定期爬自己的网站，找到页面上的链接，并且看它们指向的网页是不是都还可以访问。爬到一个网页，为了获得上面所有的链接，我以前首先想到的是用正则表达式。但是 HTML 并不一定是良构的 XML （如果每个人都用 XML 的标准写 HTML，那我们直接用标准的 XML parser 就好了），写正则表达式的时候你需要考虑大小写、换行、单引号/双引号/没有引号、某些地方的空格，太头疼了。

更好的办法当然是像在浏览器中使用 JavaScript 一样，在 DOM 树上找东西。我比较习惯用 jQuery，通过 CSS selector 来找页面上的节点非常舒服。

其实大部分的语言都有人实现了 HTML parser. 拿当下比较火的 Ruby 来说，随便一搜就找到两个：<a href="http://hpricot.com/">Hpricot</a> 和 <a href="http://nokogiri.org/">Nokogiri</a>.看名字好像都是日本人写的──不奇怪，Ruby 就是日本人发明的。

我在 Mac 上先试用了 Hpricot, 很奇怪我测试的一个文档不能正常处理。于是尝试 Nokogiri，很不错，没有发现问题。如果懂 XPath，Nokogiri 提供了 XPath 方式来寻找文档里的节点。或者你习惯了 CSS selector，在 Nokogiri 中也可以用类似 jQuery 的方法：

[ruby]
require 'nokogiri'

html = '...'
doc = Nokogiri::HTML(html)

# 获取页面上所有的链接
doc.css('a').each do &#124;link&#124;
  puts &#34;#{link.content}, #{link['href']}&#34;
end

# 打出 meta-keywords
puts doc.css('meta[name=&#34;keywords&#34;'])[0].content
[/ruby]

使用 Nokogiri 相对于正则表达式的优点当然是更简单直观，而且更安全。缺点呢？如果你只是要页面上很少的数据，Nokogiri 可能比正则表达式稍微慢点，因为不管你要的数据有多么少，它都需要分析整个 HTML 文档（不过 Nokogiri 也提供了 SAX 方式的解析）。

有意思的是 Nokogiri 一出来就号称比老牌的 Hpricot 快，然后 Hpricot 不服，很快就开始反击，我也不知道现在到底是什么情况了。有兴趣的可以看它们提供的 benchmark. 不过我想解析的速度再慢，这种过程的瓶颈还是在爬取网页这个环节上，尤其在中国这种网速超慢的条件下 :)]]></description>
		<wfw:commentRss>http://www.y513.com/201112927.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>TextMate 快捷键收集&amp;教程</title>
		<link>http://www.y513.com/201110925.html</link>
		<comments>http://www.y513.com/201110925.html#comments</comments>
		<pubDate>Mon, 31 Oct 2011 02:39:03 +0000</pubDate>
		<dc:creator>纸口杯</dc:creator>
				<category><![CDATA[最新新闻]]></category>

		<guid isPermaLink="false">http://www.y513.com/?p=925</guid>
		<description><![CDATA[⌘T: Go To File，这个每天要用到N次
Esc: 自动补全
⌃W: 选中当前word
还有默认的类似Emacs的光标移动，不过这些是Mac自己的快捷键

For Rails:
⌘R: Run
⌃&#124;: ...
⌥⌘⇧↓ : Go to...
⌃⇧H：生成partial template
ctrl + ⌘ +上下键：移动整行
ctrl + shift + K： 删除整行
ctrl + shift +D：复制整行
ctrl + shift + T ：看看类里面的方法列表]]></description>
		<wfw:commentRss>http://www.y513.com/201110925.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>centos挂载ntfs（转）</title>
		<link>http://www.y513.com/201110921.html</link>
		<comments>http://www.y513.com/201110921.html#comments</comments>
		<pubDate>Tue, 25 Oct 2011 15:23:42 +0000</pubDate>
		<dc:creator>纸口杯</dc:creator>
				<category><![CDATA[liunx]]></category>

		<guid isPermaLink="false">http://www.y513.com/?p=921</guid>
		<description><![CDATA[摘自http://runforever.blog.163.com/blog/static/13993931620101115617150/

Linux下想访问NTFS分区，现在普遍的方法是利用ntfs-3g或者内核模块来实现。

一、安装ntfs-3g模块

1. 使用yum的安装方法：

请确定你已经安装了rpmforge软件库的源。请参考：RHEL/CentOS 5.5使用第三方软件库

然后安装下列组件。

yum install fuse ntfs-3g -y

注：如果你在使用 CentOS 5.3 或更旧版本，那么你需要安装来自 ELRepo 的 kmod-fuse。

2. 使用ntfs-3g官方源码编译安装的方法：

ntfs-3g下载页面：http://www.tuxera.com/community/ntfs-3g-download/

安装步骤：

wget http://tuxera.com/opensource/ntfs-3g-2010.8.8.tgz

tar zxvf ntfs-3g-2010.8.8.tgz

cd ntfs-3g-2010.8.8

./configure

make

make install

以上两种方法二选一，yum只适用于Redhat系，编译安装适用于所有Linux发行版

二、挂载NTFS文件系统

假设你的NTFS文件系统是 /dev/sda1 而你将会把它挂载在 /mnt/windows/c，请执行以下步骤。

1. 创建挂载点。（一般建议挂在mnt目录里）

mkdir /mnt/windows/c

2. 挂载NTFS分区：

mount -t ntfs-3g /dev/sda1 /mnt/windows/c

注：这里的sda1是指SATA或SCSI硬盘的第一个分区，如果是老式的IDE硬盘，会是hda1，具体请用fdisk -l查看。如偶的一台机：

[root@CentOS ~]# fdisk -l

Disk /dev/sda: 164.6 GB, 164696555520 bytes
255 heads, 63 sectors/track, 20023 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/sda1 * 1 2550 20482843+ 7 HPFS/NTFS
/dev/sda2 2551 20022 140343840 f W95 Ext’d (LBA)
/dev/sda5 5101 8924 30716248+ 7 HPFS/NTFS
/dev/sda6 8925 12748 30716248+ 7 HPFS/NTFS
/dev/sda7 12749 16572 30716248+ 7 HPFS/NTFS
/dev/sda8 16573 20022 27712093+ 7 HPFS/NTFS
/dev/sda9 2551 2584 273042 83 Linux
/dev/sda10 2585 4928 18828148+ 83 Linux
/dev/sda11 4929 5016 706828+ 82 Linux swap / Solaris

Partition table entries are not in disk order

3. 如果想开机系统启动时自动挂载NTFS分区，编辑vim /etc/fstab文件，加入类似如下内容：

只读式挂载：/dev/sda1 /mnt/windows/c ntfs-3g ro,umask=0222,defaults 0 0

读写式挂载：/dev/sda1 /mnt/windows/c ntfs-3g rw,umask=0000,defaults 0 0
或者： /dev/sda1 /mnt/windows/c ntfs-3g defaults 0 0

如偶的/etc/fstab文件如下：

LABEL=/ / ext3 defaults 1 1
LABEL=/boot /boot ext3 defaults 1 2
tmpfs /dev/shm tmpfs defaults 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
sysfs /sys sysfs defaults 0 0
proc /proc proc defaults 0 0
LABEL=SWAP-sda11 swap swap defaults 0 0

/dev/sda1 /mnt/windows/c ntfs-3g ro,umask=0222,defaults 0 0
/dev/sda5 /mnt/windows/e ntfs-3g defaults 0 0
/dev/sda6 /mnt/windows/f ntfs-3g defaults 0 0
/dev/sda7 /mnt/windows/g ntfs-3g defaults 0 0
/dev/sda8 /mnt/windows/h ntfs-3g defaults 0 0

其他注意问题：

从 CentOS 5.4 起（2.6.18-164 或更新的内核），fuse 模块已经包含在内核里。因此，已不再需要 dkms 及 dkms-fuse。如果你先前安装了 dkms-fuse，请用 yum remove dkms-fuse 命令把它卸装。请注意 CentOS 4.x 的用户需要这两个组件。

使用 centosplus 内核的用户

由CentOS-5.3开始，centoplus内核没有启用NTFS模块。这是由于5.3内的 NTFS 是不能运行的。详情请参阅 https://bugzilla.redhat.com/show_bug.cgi?id=481495 。如果你想使用来自CentOS内核的NTFS模块，你可以安装来自ELRepo的kmod-ntfs。但这个模块没有ntfs-3g好，只提供极度有限的写入功能。


<strong>NTFS-3G 用法</strong>
<blockquote>　　
　　1. 首先得到NTFS分区的信息
　　sudo fdisk -l &#124; grep NTFS
　　2. 设置挂载点，用如下命令实现挂载
　　mount -t ntfs-3g <ntfs Partition> <mount Point>
　　例如得到的NTFS分区信息为/dev/sdb1，挂载点设置在/mnt/ntfs_disk下，可以用
　　mount -t ntfs-3g /dev/sdb1 /mnt/ntfs_disk
　　或者直接用
　　ntfs-3g /dev/sdb1 /mnt/ntfs_disk
　　3. 如果想实现开机自动挂载，可以在/etc/fstab里面添加如下格式语句
　　<ntfs Partition> <mount Point> ntfs-3g silent,umask=0,locale=zh_CN.utf8 0 0
　　这样可以实现NTFS分区里中文文件名的显示。
　　4. 卸载分区可以用umount实现，用
　　umount <ntfs Partition>
　　或者
　　umount <mount Point>
</mount></ntfs></mount></ntfs></mount></ntfs></blockquote>]]></description>
		<wfw:commentRss>http://www.y513.com/201110921.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>mac下vim插件taglist的一个小问题</title>
		<link>http://www.y513.com/201110917.html</link>
		<comments>http://www.y513.com/201110917.html#comments</comments>
		<pubDate>Thu, 20 Oct 2011 15:44:00 +0000</pubDate>
		<dc:creator>纸口杯</dc:creator>
				<category><![CDATA[最新新闻]]></category>

		<guid isPermaLink="false">http://www.y513.com/?p=917</guid>
		<description><![CDATA[我在mac下的vim配置和在公司里用的centos是一套,刚迁到mac下时打开文件经常报这样一个错误:
<blockquote>Taglist: Failed to generate tags for /my/path/to/file
ctags: illegal option -- -^@usage: ctags [-BFadtuwvx] [-f tagsfile] file ...</blockquote>
之前一直没在意,仔细一看是报ctags的错误,只有taglist用到了ctags,所以肯定是taglist的问题了.然后就在<a title="vim　taglist" href="http://vim-taglist.sourceforge.net/faq.html" target="_blank">talglist的faq</a>上找到了答案,原来taglist只支持exuberant ctags tool,不支持GNU　ctags或UNIX ctags,mac下自带的不是exuberant　ctags,所以就会有问题了,解决办法也很简单,下载<a title="ctags" href="http://ctags.sourceforge.net/" target="_blank">exuberant ctags tool</a>,然后装在一个与系统自带的ctags不冲突的路径下,然后在.vimrc里加一行let Tlist_Ctags_Cmd = '/path/to/ctags'就可以了.]]></description>
		<wfw:commentRss>http://www.y513.com/201110917.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[转载]我从乔布斯身上学到的12节课</title>
		<link>http://www.y513.com/201110909.html</link>
		<comments>http://www.y513.com/201110909.html#comments</comments>
		<pubDate>Mon, 10 Oct 2011 02:34:26 +0000</pubDate>
		<dc:creator>纸口杯</dc:creator>
				<category><![CDATA[最新新闻]]></category>

		<guid isPermaLink="false">http://www.y513.com/?p=909</guid>
		<description><![CDATA[编者按：前苹果首席步道师Guy Kawasaki和乔布斯共事多年，他分享了从乔布斯身上学到的12节课。很靠谱。
<a href="http://www.y513.com/wp-content/uploads/2011/10/1318209700539.jpeg"><img src="http://www.y513.com/wp-content/uploads/2011/10/1318209700539-300x225.jpg" alt="" title="乔布斯" width="600" height="450" class="aligncenter size-medium wp-image-910" /></a>
<strong>一、专家其实是“砖”家。</strong>

各种专家（记者、分析师、顾问、银行家等）都不“做”事，所以他们“提建议”。他们能告诉你产品问题出在哪里，但他们做不出更好的产品。他们能告诉你如何销售产品，但他们自己却卖不出去。他们能告诉你如何打造牛逼的团队，但他们只管理自己的秘书。比如专家曾在80年代告诉我们Mac有两大缺点，不支持菊轮式打印机驱动和Lotus 1-2-3；还有专家建议苹果收购康柏。专家的话是要听，但别唯专家马首是瞻。

<strong>二、顾客不知道自己想要什么。</strong>

苹果市场调研是个悖论。苹果的核心小组就是乔布斯的左脑和右脑。如果你问顾客想要什么，他们会告诉你，“更好、更快、更便宜”，也就是说在原来基础上改进，而不是颠覆式变革。他们只能根据正在使用的东西描述自己的愿望。Macintosh推出时，所有人都说想要更好、更快、更便宜的微软DOS机。科技创业公司最大的优势就是开发你想要的产品，苹果两位创始人正是这么做的。

<strong>三、把握下一个趋势。</strong>

如果你不落窠臼，你就能取得巨大的成功。当最牛的菊轮打印机公司不断引入各种型号的新字体时，苹果另辟蹊径，引入了激光打印。不妨想想片冰机、冰工厂、冰箱制造商的例子，你可以把它们看成冰 1.0，2.0，3.0。你还会在冬天结冰的池塘里采集冰块吗？

<strong>四、最大的挑战能带来最杰出的工作。</strong>

我曾担心乔布斯把我或者我的工作称为垃圾。尤其是在公开场合。这是一种巨大的挑战。和IBM、微软竞争是一种巨大的挑战。改变世界是一个巨大的挑战。我和苹果的员工都全力以赴，因为我们只有这样才能迎接巨大的挑战。

<strong>五、设计很重要。</strong>

乔布斯的设计需求让人们抓狂，比如有些黑色的阴影还不够黑。只有普通人认为黑就是黑，垃圾桶就是一个垃圾桶。乔布斯是一个完美主义者，一个近乎疯狂的完美主义者，但他是对的：有人在乎设计，至少很多人能感觉到设计的存在。或许不是谁都能感觉到，只有重要的人才能感觉到设计的重要性。

<strong>六、大张图片、大号字体总不会错。</strong>

看看乔布斯的幻灯片。字体都是60号。通常或有一张大的截图或图表。你再看看其他科技演讲者的幻灯片，即便是见过乔布斯的人。他们的幻灯片都是8号字体，而且没有图表。所以很多人说乔布斯是全世界最伟大的产品介绍人，但模仿他的人并不多，你不觉得奇怪吗？

<strong>七、改变思路是聪明的表现。</strong>

当苹果推出iPhone时并没有所谓的应用程序。乔布斯一开始觉得这东西不靠谱，因为你不知道它们能在手机上做什么。他认为Safari网络应用才是正道，直到6个月之后，或者有人说服乔布斯，认为手机上的应用才是正道。从Safari网络应用到iPhone应用，苹果在很短的时间内实现了很大的跨越。

<strong>八、“价值”和“价格”是两码事。</strong>

如果你的决策都是根据价格做出的，你会倒霉。如果你单纯依赖价格，你更倒霉。价格根本没那么重要，重要的是价值。价值包括训练、支持，以及通过使用最靠谱的工具获得的发自内心的快感。可以说没几个人是因为苹果的东西便宜才买苹果产品的。

<strong>九、牛逼的人应该聘请更牛逼的人。</strong>

实际上乔布斯认为牛逼的应该聘请牛逼的人，也就是说跟自己旗鼓相当的人。我微调了一下，我觉得一流的人应该雇佣超一流的人。固然二流的人雇佣三流的人，三流的人雇佣四流的人，会让前者有优越感。但如果你开始接受二流员工，那么你的公司就会遇到乔布斯所说的“笨蛋肆虐”的情况。

<strong>十、真正的CEO善于演示产品。</strong>

乔布斯每年都有两三次机会在数百万观众面前演示平板、手机、Mac等产品，为什么很多CEO会让工程副总做产品演示呢？或许是为了证明凸显团队工作。或许吧。但更有可能是这些CEO对公司产品的了解不够深入，无法解释吧。多可怜啊。

<strong>十一、真正的CEO能做出产品。</strong>

乔布斯是一个完美主义者，但他能做出产品来。或许产品无法保证每次都完美无缺，但一直都还拿得出手。乔布斯高就高在他不是为了折腾而折腾，他心里有谱：瞄准并占领全球现有市场，或创造新的市场。苹果是一个以工程为中心的公司，而不是一家研究型公司。你喜欢哪家：苹果还是Xerox PARC？

<strong>十二、说到底营销在于提供独特价值。</strong>

假设有一个二维矩阵、纵轴代表你的产品和竞争对手的与众不同之处。横轴代表产品价值。下右：有价值但并不独特，你需要在价格上一较高低。右上：独特但没有价值，你将拥有一个并不存在的市场。下左：没有独特性，没有价值，你是个大笨蛋。上右：独特而有价值，你将获得收入、利润，创造历史。比如iPod就是一个右上角的产品，因为如果你想从6家最大的唱片公司合法、方便地下载便宜的歌曲的话，iPod是唯一的渠道。

额外奖励：有些东西只有相信你才能看到。

当你另辟蹊径、无视砖家、像真的猛士一样敢于直面淋漓的鲜血、迷恋设计、专注于独特的价值时，你就可以说服人们相信你，进而让你的努力开花结果。人们只有相信Macintosh才能看到它变成现实。iPod、iPhone、iPad莫不如此。并非每个人都信，但没关系。但是改变世界总是从改变少数人开始的，这是我从乔布斯身上学到的最重要的一课。

作者：Guy Kawasaki，前苹果首席步道师。

转载请注明： 文章来自<a href="http://www.36kr.com/p/51897.html">36氪</a>]]></description>
		<wfw:commentRss>http://www.y513.com/201110909.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>用notepad++ 打造编码神器</title>
		<link>http://www.y513.com/201110904.html</link>
		<comments>http://www.y513.com/201110904.html#comments</comments>
		<pubDate>Sun, 09 Oct 2011 03:01:43 +0000</pubDate>
		<dc:creator>纸口杯</dc:creator>
				<category><![CDATA[最新新闻]]></category>

		<guid isPermaLink="false">http://www.y513.com/?p=904</guid>
		<description><![CDATA[今天早上是十一过后第一个上班，早上为了不能很快的进入工作状态，弄了弄编辑器，最近对vim和notepad++编辑器感兴趣，基本上我WIN32平台上就用notepad++，liunx &#038;& 和mac os我就用VIM编辑器。
<br />
今天对notepad++编辑几个插件的安装，打造一个小巧轻便的神器；
开始了！
notepad++ 是一款很优秀的轻量级编辑器，为大多数程序员所喜爱。那我来让你的notepad++用起来更加爽。
notepad++有丰富的插件，我比较喜欢以下4个，light explorer ，quicktext ，functionlist和zen coding。
大部分插件可以在这里找到：http://sourceforge.net/projects/npp-plugins/files/
<b>light explorer可作为项目管理工具使用。</b>
<b>light explorer可直接显示系统树状目录结构。</b>
<b>quicktext是一个代码段管理插件，能让你快速输入常用内容。</b>
quicktext的配置文件是quicktext.ini，可以用google搜索，找一个比较好的来用。
<b>functionlist 是一个函数列表插件，可以快速查找当前文档内的函数，浏览代码很方便。</b>
这里有篇介绍http://blog.theroyweb.com/function-list-plugin-on-notepad-53 ,说的比较详细。
<blockquote>functionlist的安装着实让我郁闷了一把，我用的是最新的2.1版，把插件下载放到plugin 目录后，一直提示”no rule defined”，且函数列表为空。看起来是配置文件加载错误，可明明按照文档来的嘛~最后还是在此处找到了答案，原来配置文件需要放到%appdata%/notepad++/plugin目录下，放到安装文件所在的目录行啊是不行滴~希望这点经验能对遇到此问题的朋友所有帮助。</blockquote>



<b>zen coding，这个东东还真不好描述，需要体验下的。</b>]]></description>
		<wfw:commentRss>http://www.y513.com/201110904.html/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>完美转换MySQL的字符集 Mysql 数据的导入导出【字符集】</title>
		<link>http://www.y513.com/201109897.html</link>
		<comments>http://www.y513.com/201109897.html#comments</comments>
		<pubDate>Tue, 20 Sep 2011 07:19:28 +0000</pubDate>
		<dc:creator>纸口杯</dc:creator>
				<category><![CDATA[最新新闻]]></category>

		<guid isPermaLink="false">http://www.y513.com/?p=897</guid>
		<description><![CDATA[MySQL从4.1版本开始才提出字符集的概念，所以对于MySQL4.0及其以下的版本，他们的字符集都是Latin1的，所以有时候需要对mysql的字符集进行一下转换，MySQL版本的升级、降级，特别是升级MySQL的版本，为了不让程序继续沿用Latin1字符集之后对以后Discuz！版本升级的影响和安装SupeSite，这就需要我们进行字符集的转换!
本人转换过好多数据了，也用过了好多的办法，个人感觉最好用的就是使用MySQL命令导出导入中将字符集转换过去!
现在我将用图文并茂的方式向大家展示一下如何将MySQL字符集进行转换,由于字符集比较多,现在主要举GBK和Latin1这两种字符集之间的转换!
首先我将讲解一下如何将MySQL从GBK转换为Latin1的(如果是UTF8或者BIG5转换即将GBK换成相应的字符集即可)!这种问题常发生在MySQL从MySQL4.1及其以上版本转换为MySQL4.1以下的版本的过程中!有的人图个方便，特别是有主机权限的，直接将MySQL的data目录下的文件拷贝过去了,这样造成的问题就是乱码问题!当然我所说的这些都要求你必须拥有主机权限,虚拟主机用户可以在本地搭建好论坛,下载数据到你的本地,然后把数据导入到你本地的数据库,然后进行字符集的转换!



现在的步骤就是将MySQL的数据导出了,在mysql的命令提示符下(linux系统为mysql的命令目录下),输入下面导出的命令:
mysqldump -uroot -p --default-character-set=gbk --set-charset=latin1 --compatible=mysql40 --skip-opt discuz>discuz.sql
如图1(windows下)和图2(linux下)所示
图1:
<a href="http://www.y513.com/wp-content/uploads/2011/09/6a7a160889956276e824882e.jpg"><img src="http://www.y513.com/wp-content/uploads/2011/09/6a7a160889956276e824882e.jpg" alt="" title="6a7a160889956276e824882e" width="500" height="328" class="aligncenter size-full wp-image-898" /></a>
图2:
<a href="http://www.y513.com/wp-content/uploads/2011/09/afe0d8eaf5634b95d439c92e.jpg"><img src="http://www.y513.com/wp-content/uploads/2011/09/afe0d8eaf5634b95d439c92e.jpg" alt="" title="afe0d8eaf5634b95d439c92e" width="500" height="329" class="aligncenter size-full wp-image-899" /></a>
这样就轻松的将数据从MySQL数据库中导出了,此时导出的文件在与mysql命令同级的目录下,即bin目录下,而且已经将MySQL字符集导出为Latin1的了!现在要做的就是将数据导入MySQL4.0中去!
同样在4.0版本的mysql命令提示符下(linux系统为mysql的命令目录下),输入下面导入命令:
mysql -uroot -p --default-character-set=latin1 -f discuz<discuz .sql
如图3(window下)和图4(linux下)所示
<a href="http://www.y513.com/wp-content/uploads/2011/09/2121.jpg"><img src="http://www.y513.com/wp-content/uploads/2011/09/2121.jpg" alt="" title="2121" width="500" height="328" class="aligncenter size-full wp-image-900" />
图4:
<a href="http://www.y513.com/wp-content/uploads/2011/09/43232.jpg"><img src="http://www.y513.com/wp-content/uploads/2011/09/43232.jpg" alt="" title="43232" width="500" height="333" class="aligncenter size-full wp-image-901" /></a>

    这样就将字符集从GBK转为Latin1同时将MySQL从4.1以上版本的转为MySQL4.0的了!
现在讲解一下如何从Latin1字符集转换为GBK的!
由于只有MySQL4.1以上的版本才有字符集的概念,所以如果你要将MySQL4.0的字符集从Latin1转换为GBK字符集的话,必须导入到MySQL4.1以上的版本中,然后再导出!这里面就多了一个导出为Latin1的步骤!
同样在MySQL4.0的命令提示符下,输入下面导出的命令:
mysqldump -uroot -p --default-character-set=latin1 --set-charset=latin1 --skip-opt discuz>discuz.sql
然后导入到MySQL4.1中,输入下面导入的命令:
mysql -uroot -p --default-character-set=latin1 -f discuz</discuz><discuz .sql
然后在MySQL4.1下转换字符集,分别输入下面导出和导入的命令:
mysqldump -uroot -p --default-character-set=latin1 --set-charset=gbk --skip-opt discuz>discuz.sql
mysql -uroot -p --default-character-set=gbk -f newdiscuz</discuz><discuz .sql
如果不出问题的话,那么转换就完毕了!其实整个过程还是比较简单的,只是过程看起来比较麻烦些,但是过程却是很简单明了的!
下面举出一个在导入过程中极易容易出现的问题!
在导入的时候容易出现unknown command '/'这样的错误,其实这是由于MySQL在导出的时候,它有时候给一些繁体字后面自动加上了个反斜杠造成的!解决此问题的办法就是打开备份的sql(这里为discuz.sql),提示错误的时候会提示具体哪行出现了错误,找到那行,把反斜杠去掉就行了!其实你可以用Ultraedit这些文本处理的工具,批量的去处理这些反斜杠

!凭个人经验,有很多用户名取的比较怪,这样就容易出现反斜杠,这样只要纠正那些用户名就行了!
以上是个人在转换数据过程中的一些经验之谈,很多地方还有待大家完善!






Mysql 数据的导出
有的站长经常用一种最直接的办法就是拷贝数据库文件夹的办法,这个方法确实简单,但是不提倡,在跨版本或者跨不同字符集系统是很容易出问题.数据库4.1版本有两种存储数据的方式在配置的时候可选,一种是和以前一样的每个数据库存放在单独的文件夹里,另一种叫什么来着我忘了,这种所有的数据库都放在一个文件里,巨大的一个文件,所以对于后者就不可以用拷贝的方法了,用什么呢?
下面介绍:
就是mysql自带的工具mysqldump,这个工具十分强大,可以导出数据,并且可以导出不同版本的数据、也可以导出用于其他数据库的数据. 这个工具实在命令行、cmd下用的 ，如果你的msyql/bin目录没有配置在系统的环境变量里，就先cd到mysql/bin目录.

1、先介绍简单得导出:mysqldump -u 数据库用户名 -p 数据库名称 [表名] > 导出到文件的路径名
例如:我要导出test_db这个数据库,数据库用户为root没有密码(没有密码就不用加 -p 了):
mysqldump -u root test_db > c:\test.sql这样就可以到处test这个数据库了
如果我要导出 test 数据库中的user 表用 ajin 这个用户 密码是 123
mysqldump -u 用户名 -p密码 test_db user >c:\test_user_table.sql
回车后提示输入密码就可以了
2、在导出过程中改变数据库默认的字符集
例如:我要导出 test_db 这个数据库 转换编码为 utf8 (utf8 我最常用的)
mysqldump -u 用户名 -p密码 --default-character-set=utf8 test_db >c:\test.sql
转换成其他字符只需替换 utf8 就可以了
3、导出不同版本数据或者导出给数据库用的数据
例如:我的数据库 Mysql 4.1 的 我要导出一个 默认字符集 utf8 的 4.0版本的数据
mysqldump -u 用户名 -p密码 test_db --compatible=mysql40 --default-character-set=utf8 test_db >c:\test_user_table.sql
就可完成了所谓的降级 --compatible= 可以跟得参数有 mysql323 mysql40 oracle mssql db2 等等.
二 数据的导入
在命令行、cmd下用的,如果你的msyql/bin目录没有配置在系统的环境变量里,就先cd到mysql/bin目录.
比如我要导入 test.sql 这个数据到discuz_db这个数据库
mysql -u 用户名 -p密码 discuz_db <c: \test_user_table.sql



　　1.导出整个数据库
　　mysqldump -u 用户名 -p密码 数据库名 > 导出的文件名
　　mysqldump -u wcnc -p smgp_apps_wcnc > wcnc.sql
　　2.导出一个表
　　mysqldump -u 用户名 -p密码 数据库名 表名> 导出的文件名
　　mysqldump -u wcnc -p smgp_apps_wcnc users> wcnc_users.sql
　　3.导出一个数据库结构
　　mysqldump -u wcnc -p -d --add-drop-table smgp_apps_wcnc >wcnc_db.sql
　　-d 没有数据 --add-drop-table 在每个create语句之前增加一个drop table
　　4.导入数据库
　　常用source 命令
　　进入mysql数据库控制台，
　　如mysql -u root -p
　　mysql>use 数据库
　　然后使用source命令，后面参数为脚本文件(如这里用到的.sql)
　　mysql>source wcnc_db.sql</c:></discuz>]]></description>
		<wfw:commentRss>http://www.y513.com/201109897.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>在Terminal下设置高亮显示</title>
		<link>http://www.y513.com/201109894.html</link>
		<comments>http://www.y513.com/201109894.html#comments</comments>
		<pubDate>Sat, 17 Sep 2011 15:39:09 +0000</pubDate>
		<dc:creator>纸口杯</dc:creator>
				<category><![CDATA[Apple]]></category>

		<guid isPermaLink="false">http://www.y513.com/?p=894</guid>
		<description><![CDATA[近来装了一个干净的系统纯粹是为了干活需要。发现terminal 下没有 syntax highlighting, 所以需要设置一下。写在这里一则为了给记忆作个备份，二则也许有朋友恰好需要知道这一点，所以将设置方法写在下面。

方法一：
---------------
在 ~/.bash_profile  里添加如下语句 (如果 ~/.bash_profile 没有则创建一个)
export CLICOLOR=cons25
---------------

方法二：
--------------
同样在 ~/.bash_profile 里添加
alias ls='ls -G'
-------------

-------------
另：
在 ~/.bash_profile 里添加下面语句也很有用
alias ll='ls -la']]></description>
		<wfw:commentRss>http://www.y513.com/201109894.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

