[转] 扫描版pdf电子书修改背景色

12 17th, 2011 | Posted by | Filed under 读书笔记
780 views | 没有评论

转自 windhue的专栏,略作修改并配图           原文链接:http://blog.csdn.net/windhue/article/details/889914

网络上pdf格式的资料很多。相信不少人在阅读的时候,总会改成保护眼睛的颜色,即自定义色调、饱和度、亮度为:85/105/205,这样就能把刺眼的白色改为墨绿色了。具体方法如下,我们以adobe acrobat x (10.1.1)为例进行说明。

打开adobe acrobat pro x,单击编辑-》首选项,进入如下界面:

编辑首选项

辅助工具

在左侧“种类”里点击“辅助工具”-》自定义颜色-》页面背景-》其他颜色,如下图所示:

自定义颜色

调整色调/饱和度/亮度的值,可以设置为85/105/205,然后“添加到自定义颜色”,选中自定义颜色中的墨绿色,确定即可。

不过,对于扫描版的pdf电子书,这样设置是无效的。白底黑字非常刺眼,看久了实在太辛苦。如何解决呢?

若是从源头解决的话,在初期制作电子书的阶段,使用“FreePic2Pdf”时可以选择是否要将黑白图像的背景设置为透明,如果设置为透明,则在阅读pdf时就可以按照上述方法自由设置背景色。

然而,对于那些不是自己制作的,非透明背景的扫描版pdf,又该怎么办呢?答案就是:添加半透明背景

首先,应当使用adobe acrobat pro版本,不要用adobe reader,毕竟acrobat的功能更全更强大。

我们以一篇扫描版非透明背景的pdf文献为例,加以说明。

打开文档-》右侧“工具”-》背景-》添加背景,如下图所示:

工具背景

进入后如下图所示:

添加背景

需要做3步:

1. 第1处添加一个配好色的墨绿色背景图片,为了方便大家,这里给出该图片的下载链接,另外附上示例文档的下载链接,大家可以自己试一下;

2. 第2处将不透明度改变为30%,也可以根据自己喜好调整,30%是一个比较合适的透明度;

3. 第3处可以选择需要修改的页面。

做完这3步确定即可,然后保存修改后的pdf,以后再看时就能呈现墨绿色的背景。效果对比如下:

修改前效果               修改后效果

左侧为修改前效果,右侧为修改后效果。

注意事项:

1。只在屏幕上看到水印即可,对实际打印无效,无须担心打印情况。

2。建议使用一个自己编辑的纯色的bmp图片作为水印,墨绿色就可以,上文已给出下载链接。

3。水印面积足够大以覆盖完整的页面。例如,可以根据缩略图调整缩放比例。

4。水印设置为半透明很重要,大概30%左右。

5。一般第一页是封面,不必修改。所以选择从第二页到最后一页。

如果不再需要此背景,直接在 工具-》背景-》删除 即可。

--EOF--

标签:

将win7快速启动栏上的“库文件”还原为“我的电脑”

11 24th, 2011 | Posted by | Filed under 杂记
429 views | 没有评论

每次重装win7之后总会面临这个问题,上网搜了一些东西,记在这里。到目前为止还没看出来“库”的威力,还是习惯于xp模式下的“我的电脑”。下面具体说一下还原方法。

将鼠标移到快速启动栏的“库文件”上(就是一个文件夹形状的图标,win7下叫“资源管理器”),按住Shift键,右键单击该图标,选中“属性”,在“目标”一栏将原有的 %windir%explorer.exe”替换为“%windir%\explorer.exe - ,”(不含双引号)。这样就大功告成了,以后单击快速启动栏的上“库文件”图标,打开的就是“我的电脑”而不是“库”了。

当然,大家可能看着这个“库图标”不爽,毕竟不是往常“我的电脑”那种电脑似的形状,接下来就可以更改下图标。首先重复一部分操作,即在刚才位置按下Shift键,右键单击该图标,选中“属性”,进去后在对话框下方选中“更改图标”,接着单击“浏览”,找到“AdapterTroubleshooter.exe”,选中即可(图标具体路径是C:\Windows\System32\AdapterTroubleshooter.exe),这个图标看着和比较符合“我的电脑”的形状。当然,大家也可以根据自己喜好选择其他图标,也可以从网上下载一些精美的ico图标进行替换。

但是这时候我们会发现,在确定之后快速启动栏的图标并未发生改变,但是刚才我们确实更改了图标,而且在属性窗口中确实显示图标变了。这时不用着急,是因为图标缓存没有刷新,在Win 7下图标缓存的管理很复杂,我们采用何种方式刷新图标呢?事实证明,重启、注销都是最常规的方法,然而最简单有效的办法是:仅仅给刚才的图标重命名即可,还是在刚才位置按下Shift键,右键单击该图标,选中“属性”进去后,进入“常规”选项卡,将名字改一下,然后确定就ok了。

--EOF--

标签:

[转] 我们到底该怎么学技术?如何成为一个优秀的技术人员?

10 22nd, 2011 | Posted by | Filed under 杂记
318 views | 没有评论

转自Jeffrey Zhao:  http://blog.zhaojie.me/2007/10/how-to-learn.html

看了不要迷失在技术的海洋中,深表同意。在后来的评论中大家也表达了自己的看法。让我觉得很有意思的是,大家的观点惊人地一致——几乎没有反对的声音。

不过从经验上来看,意见太统一也不一定是一件好事。我有时也会小人之心地想,表示赞同的朋友们是真与LoveCherry的想法一致,还是仅仅因为自己以前对待技术随波逐流不堪所累,现在把这篇文章作为救命稻草看待,追求自身的心理平衡呢?LoveCherry写这篇文章,是基于他对于技术和思想的深度。如果我们没有达到这样的程度,是否会误解他的意思,得到的仅仅是一种心理安慰,却失去了更多东西呢?

我们到底该如何学习技术?或者说,如何成为一个优秀的技术人员?

扎实的基础

如果要成为一个优秀的技术人员——我并没有说是“开发人员”,比如也包括“测试人员”吧——一定需要扎实的基础。什么叫做扎实的基础呢?其实就是我们大学所学的课程——离散数学、算法与数据结构、操作系统、计算机体系结构、网络、编译原理等等。现在它们经常被视为“没有用”,但是我认为这些都是一个优秀技术人员成长和前进的基础。不知道大家有没有过这样的感觉:某天早上一醒来,发现对于最近接触的事物有了新一层的认识,似乎什么都不会了,却好像什么都理解了——就像张无忌练太极剑,不求剑招,只求剑意。我曾经有过两次这样的感觉,真可谓豁然开朗。其实我想,这就是所谓的“突破瓶颈”。而引起“量变到质变”的关键,可能就是您忽视的那些课程,那些一进大学就被“灌输”的知识。

在面试时我经常听到这样的话:“我的理论和基础不行,但是我让我写代码是没有问题的。”这样看来,基础真的没有用吗?我并不这样认为,因为……

  • 如果您不了算法和数据结构,又如何从.NET Framework(甚至包括Power Collections,在这里我强烈推荐这个组件)琳琅满目的数据结构中做出最适合目前需求的选择呢?
  • 如果您不了解操作系统,又如何能深入Windows系统,写好.NET Framework程序,或者在postmortem环境中做调试呢?
  • 如果您不了解计算机体系结构,又如何能在Multi-CPU(Multi-Core)时代写出真正高效的应用程序呢?
  • 如果……

因为我们不光要写代码,而且要写好的代码,因此我们必须强调基础。很多时候技术人员之间能力的高低,很可能就会取决于这些基础。有朋友告诉我,这些计算机科学的基础的意义不仅仅在于知识本身,它们还能够让人的思维更符合计算机科学的发展和变革——这可能说的有点远大,但是我基本上同意这个看法。如果说得简单一些,它们让您的思维方式更适合这个行业——试想,如果您知道了计算机/程序/框架/系统是怎么想的,他们还能够为难你吗?

举一个例子,微软有着大量高素质的技术人员,他们是微软惊人生产力的源泉。因此微软能够在Vista和Office开发完成之后将大量牛人派去作Windows Live产品研发。在我们很多技术人员看来,Vista是操作系统,Windows Live是Web,两者大相径庭。但是微软就是能够有大量的技术人员作此类迁移。再举一个例子,当年Google挖角Microsoft许多技术人员,难道他们跳槽去Google继续作微软产品的研发吗?正是因为那些技术人员有着扎实的基础能力,因此就能够在各种类型的技术之间游刃有余,即使它们“表面”上看来差距有多大。

表面?这两个字放在这里是什么意思?因为这就是我想说的就是……

技术之间的关系

其实《不》一文的中心思想,就是不要随波逐流,不要迷失在技术的汪洋之中。我很同意,但是我也想补充一点我的看法。

在《不》文的评论中,我看到了一段话,其主要意思就是:“如果一个技术不会用到,就不要去学它。当要用的时候再去学”。首先表明我的观点:我不同意。这里我想举一个例子:

我是今年1月份加入目前的公司的,公司的技术团队当时使用.NET Framework 1.1进行应用开发。是时由于业务的原因需要开发一个平台以及其他一些应用,我当时在技术部门内部强烈建议将新系统使用.NET Framework 2.0 + 3.0的方式进行构建。我的理由是:“使用.NET Framework 2.0构建新平台在基础设施上不会增加任何成本,但是在功能和性能上都会有提高。而.NET Framework 3.0,尤其是WCF,是微软提供的新组件,也即将成为微软平台上通信的标准。”领导同意了我的建议,并希望我带领新的团队进行新平台的开发。过程中的细节就不一一道来了,现在回头看来过程虽有波折,但是倒也收到了较好的效果。我们经常会发现有技术人员会抱怨技术发展地太快,但是就拿我之前的例子来说,在2007年还在使用2001年出现的东西,却忽视2004年就已经成熟的技术,这究竟是技术发展的太快,还是我们没有根本没有去跟进技术呢?

我想答案很明显是后者,这其实就是“如果一个技术不会用到,就不要去学它。当要用的时候再去学”。我们不会(或者很难)因为不断钻研老技术而领会新技术,掌握新技术是需要我们主动去追求的。如果一个人不追求,他就难以发展。如果人人不追求,那么整个技术团队就难以发展。不过我认为,其实只要怀着“把项目做的更好”的想法,追求新的技术和实践(例如重构、TDD)是自然而然的事情。

不论您是普通开发人员、技术经理抑或是架构师,我想您都不能止步不前。有人说,领导不愿意使用新技术,我们没有办法——那么设法说服他们。如果他们不能给出让您满意的理由,如果您觉得他们妨碍了您的发展,那么可以选择离开。我想有追求的您一定不会在找工作的问题上遇到太多麻烦。:)

似乎话题有些偏了,我们回到正体。新技术那么多,我们到底该怎么学呢?我这里想说的就是,新技术并非洪水猛兽。在一定程度上,我们完全可以驾驭它们。

我们来想一下,新技术是怎么来的?新技术并不是某些公司的牛人们拍脑袋出来的,新技术也是发展过来的。发展需要时间,发展是一个过程。例如C# 3.0由2.0发展而来,CLR 2由CLR 1发展而来。根据我的经验,如果一个技术人员能够较好地掌握.NET Framework 1.1,他几乎能够轻而易举地过渡到.NET Framework 2.0。他之需要了解一下新特性,找一些资料比较一下前后两者的改变即可。我们并没有创造技术,我们只是在跟进。为什么总有人能够在技术出现不久就写出大量文章或书籍来进行推广呢?这就是值得我们思考的地方。

举个例子,如果要从.NET 2.0升级到3.5(我不懂VB,用VB的朋友抱歉了),其实您只需要了解……

  • ListView控件:一个控件而已。
  • 集成了ASP.NET AJAX:不是新东西了。
  • Linq To XML:一套新的语法用于解析和构建XML。
  • Linq To Object:枚举,只是枚举。
  • Linq To Sql:可以视作简单的一套ORM,动态生成SQL语句。
  • Lambda Expression:即使没有接触过LISP(很幸运,我大学课程中有Functional Programming这门课:)),我想如果您了解编译原理的话,对此也应该不陌生了。
  • ……

真的不多。其实我觉得,跟进每个人各自领域的技术并非不可能的事情。我一再提到这么一句话:一个优秀的技术人员,他的知识架构应该呈倒T字形,有着扎实的底盘,并且成为某个领域的专家。

我们究竟该如何学习基础呢?

扎实。我认为,这是关键。

  • 您有扎实的基础吗?这是成为优秀技术人员知识储备。
  • 您对于每项掌握的知识或技能都学的扎实吗?这是您前进过程中的助手。
  • 您有扎实的学习目标和计划吗?这是您在技术汪洋中的指南针。

我的文章写完了。

我很理想,我也在努力。:)

--EOF--

标签:

[转] 不要迷失在技术的海洋中

10 22nd, 2011 | Posted by | Filed under 杂记
327 views | 没有评论

转自LoveCherry:    http://www.cnblogs.com/lovecherry/archive/2007/10/28/940555.html

技术就好像一片汪洋大海,越深入越望不到边际。就拿自己的体验来说吧,2000年的时候在学校搞ASP,觉得网页开发就是这么简单,把数据库中的数据格式化一下显示在页面上,把用户的输入组装成添加删除和修改的SQL提交到数据库中去。几年后的今天,我对自己了解或听说过的ASP.NET相关(注意:仅仅是ASP.NET或者说网站制作相关)技术列了一下:
不要迷失在技术的海洋中

在这些语言、技术、工具、理念中,每一项都能扩展出很多还要细化的技术,每一项要达到熟悉的程度可能都会花去一年的时间,如果这些都要达到熟悉的话,大概也就快退休了。不但如此,每一个技术都在飞速发展,今年语言到了明年就有更简单的语法,今年的技术到了明年就有更好的技术来替代,今年的工具到明年已经面目全非,今年的理念到了明年已不再流行。

或许你现在:

  • 在为面试而去搜索接口和抽象类的区别;
  • 在为新技术来不及学习而烦恼;
  • 在为看不懂高深的技术文章而烦恼;
  • 在为项目不能提高自己的编码水平而发愁;
  • …………

我觉得:

  • 不管做什么,学什么,一要心态好,二要态度好。所谓心态好就是不要着急、不用担心;所谓态度好是多分享、多讨论、学出自己的心得。分享的意义是很大的,在分享之后的认知水平往往比分享之前的高,而且在很多时候分享给别人1点,别人能回报给你2点。有些人在团队中不愿意分享,怕团队中的其它人水平提升了影响到自己的地位,其实这种想法是没有什么道理的,也是对自己不利的。有些人又在羡慕别人的技术NB,崇拜高手,为自己的技术差感到烦恼,如果你对自己有信心,又有什么技术是花时间学不到的那?
  • 从学习的内容上来说,要坚持两个原则,如果你没有时间的话,那么学新技术不如学基础、学应用不如学思想。举例来说,如果你只熟悉C#的基本语法的话,那么学好C#这个语言比学会编写留言本更有意义,如果你关注MVC、ORM的话,那么学习它们的思想比学会使用MONORAIL以及NHIBERNMATE更好。技术虽然一直在变,但是越是基础和越是抽象的技术变化越慢,越是偏向应用越是具体的技术变化越是快,从性价比上说,学习基础知识性价比更高。再举一个直白的例子,DIY电脑的时候,在显示器上多花费500元的意义一定比在显卡上多花费500元的意义大,而就是有些人宁可在显卡上多花费500元。在很多大型软件公司,招聘的时候只看人(看人品、看聪明程度、看态度)不看技术的,因为它们需要的是能快速发展,适应企业文化的人,而不需要你那些所谓的精通和熟悉。
  • 不要过于专著于技术,这里的技术指工作中用于开发的技术。在几年之后,当你只有.NET可以和你的孩子分享的话,是不是太可悲了。在软件行业,技术虽然一定程度决定了薪水、决定了职位,但是我们的生活并不是100%是工作,有时间为技术而发愁,为何不综合提升自己的其它能力呢?并且随着职位的上升,往往沟通能力、经济知识以及文学艺术修养比技术显得更重要,这个时候叹息自己过于专著技术往往为时过晚。
  • 虽然国内很多公司的技术层次不同和文化也有差异,但是在大多数的时候公司或别人能教给你的东西很少,要学东西还是要靠自己主动。有的人一直觉得在公司学不到东西,想换一个环境,往往他换了一个环境之后发现还是学不到什么东西。国内的项目大多还是急功近利的,不要期望有这么多微软研究院,空闲的时间踏踏实实学一些东西比到处找工作强很多,做项目的时候多分享一下自己的心得给团队成员比抱怨团队技术实力差强很多。
  • 在工作中,要始终提醒自己“谦恭”、“真诚”和“规矩”,谦恭真诚对别人,把规矩留给自己。技术再强也要“谦恭”,离开了“谦恭”的技术就会失去光芒,社会再险恶也要“真诚”,一切虚伪会在“真”诚面前低头,职位再高也要“规矩”(不迟到,不早退,以身作则),否则再大的权力也只能变成人员的流失。如果能做到这六个字,那么无论你的技术怎么样,无论你到哪里都会得到领导的重用,在事业上有所发展。

现在的你不再:

  • 为面试而去搜索接口和抽象类的区别,而是在面试的时候告诉考官你并不知道它们之间的区别,但是愿意在一个月内系统学习面向对象的知识;
  • 为新技术来不及学习而烦恼,而是明确了自己最需要学习的技术,一边学习一边分享;
  • 为看不懂高深的技术文章而烦恼,而是拿起《C#高级编程》踏踏实实从头到底边阅读边做试验;
  • 为项目不能提高自己的编码水平而发愁,而是在进度允许的情况下尽可能让项目变得可扩展、可维护以及高效;
  •  …………

看到身边的一些人为技术所累,在技术的海洋中航行的很辛苦,因此有了本文。本文的主要目的是提醒大家找到方向,时不时回岸边休息一下,思考一下新的航向,不要迷失在技术的海洋中让自己筋疲力尽,在技术之外的有很多东西的意义远大于技术,请大家踊跃讨论…………

更新(本文或许过于杂乱,总结一下观点):

  • 学习靠自己,不要期望别人教你什么,学习要主动;
  • 不管水平高低,不要看不起自己,也不能看不起别人,学习要心态好;
  • 不能不思进取,也不用让自己为技术所累,给自己多一点技术之外的时间;
  • 如果时间不充裕,优先考虑学习基础的内容,同时也可以多关注一些新的思想;
  • 如果别人能从你这里学到知识的话,那么你自己也一定学到了知识,请坚持分享;

--EOF--

标签:

有感于谢老师的10年坚守、10年成长

10 15th, 2011 | Posted by | Filed under 数据库
512 views | 2 条评论

刚才看了谢老师(pub_id :warehouse)新写的一篇文章“寄语pub-10年坚守、10年成长”,感触很深。认识谢老师以来,虽然接触不多,但是从他身上学到很多东西,不仅是技术,更是态度,更是做人。

认识谢老师是去年11月份的时候,从头慢慢道来吧。那时候的我刚刚进入一个软件公司实习,天天做的事情就是测试,写文档,画画界面,写写简单的程序。但是由于自己非科班出身,所以对编程很不入道,很吃力,在公司过的很郁闷。当然,自己也曾努力过想好好学C#,跟上公司的节奏,但是后来越来越发现自己不喜欢开发这个行当,无奈只有另谋出路。当时想,毕竟一年后还是要找工作的,很是忧虑,一时也看不到方向。

后来由于自己所参与的项目涉及数据库方面,就开始写数据库方面的论文,慢慢接触到了oracle,也就自然而然知道了itpub。平时也经常会上去看看,后来慢慢知道了biti,piner,eygle等大牛,再后来偶然间看了piner在pub上写的关于自己职业生涯的连载文章,感觉大牛也是一步一步走过来的,于是就萌生了让自己慢慢变成大牛的想法,就想着自己也要好好学oracle,在这条道上一直走下去。

在pub上逛得时间长了,也就知道了几个有名的版主。之后看到一个名为warehouse的ID,地址是大连,而且发了不少好文,还是版主。于是自己眼前一亮,就战战兢兢的加了谢老师的qq,问了一些关于oracle和ocp考试的问题,当时谢老师非常热情,给我解答了很多问题。还看我是学生,给我ocp考试优惠了一大把。之后的某一天谢老师还给我打电话,说都是大连的,出来见一面吧,整好今天晚上有空。当时很是激动,毕竟自己是oracle连门都没入的小菜鸟,而谢老师已是pub的版主,是我的偶像。我俩约好时间当天见面,当天的细节记得很清楚,那天下午加班,一直拖到6点多,还让谢老师在大厅等了我大半个小时,很过意不去。之后在附近一个火锅店坐下开聊,老师还要了几瓶啤酒,哈哈,甚是爽快。期间聊了3个多小时,问了很多关于oracle的问题,也向老师请教了很多关于职业生涯的发展问题,当时老师说的很多话,至今记忆犹新。老师说oracle的学习不是一朝一夕的事,想学好oracle至少做好3年的准备。还说oracle能够改变一个人的性格,连一个人的性格都能改变的了,还改变不了什么呢。确实,在现在这个到处弥漫着浮躁气息的社会,能坚持做技术,十年如一日,确实令人敬佩。时间很快就过去了,最后谢老师请的我这顿饭,我想结账都没份,谢老师说你还是个学生,大家都是从学生时代过来的,不容易,听了这话很感动,也坚定了自己搞技术的决心。随后离开了饭店,背着书包就回学校了,当天很冷,大连的冬天有时候风很大的,一路伴着风声,想了很多,觉得遇到谢老师是缘分,感谢上天的这次缘分。

随后断断续续跟了谢老师2个班级的ocp课程,说来惭愧,总是各种各样理由,没有把课听完,还有一次居然是起晚了,当时真想抽自己,明明想好好学习,却没有足够的毅力。后来在5月份参加了ocp考试,借助题库的力量,算是赖赖唧唧通过了。这期间还多靠谢老师单独给自己安排的vue考试,真的非常感谢。

现在的我坐在教研室写毕业论文,前一阵刚找完工作,签了国内一家存储厂商,虽然不是数据库方面的,但是我已经很知足了,存储--系统--数据库,在我看来,这些都是相关的,只要自己坚持学,会出成果的,相信自己。说实话,这半年在数据库方面的积累对我找工作有很大的帮助,多亏了自己对oracle的一些了解。

最后,还是对谢老师的感谢。今天看到老师在blog上更新了一篇文章,讲了讲自己的职业生涯,一路走来,并不平淡,唯有不放弃,一直坚持,才能获得足够的积累。看完文章,除了感动,更是佩服。向老师学习,克服浮躁的心态,一路坚持走下去。十年坚守,十年成长,希望十年后再来看这篇文章时,已经获得了足够的成长。加油!

--EOF--

标签:
This blog is protected by Dave\\\'s Spam Karma 2: 1087 Spams eaten and counting...