<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet href='http://feed.feedsky.com/styles/temp01.xsl' type='text/xsl' ?><!--这是一个由Feedsy提供技术支持的Feed，为了提高读者阅读的体验，以及满足用户美化自己Feed的需要，我们设计了多种精美的Feed模板，提供给大家选择，所有最终呈现出来的样式，皆由用户自愿选择使用，未经许可，任何团体和个人，请不要擅自修改样式或者盗用，这是对于用户选择权的尊重。--><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:fs="http://www.feedsky.com/namespace/feed" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0"><channel><atom:link href="http://feed.g2w.me" type="application/rss+xml" rel="self"></atom:link><fs:self_link href="http://feed.feedsky.com/greatghoul" type="application/rss+xml"></fs:self_link><lastBuildDate>Thu, 23 Feb 2012 12:40:04 GMT</lastBuildDate><title>Ghoul To World!</title><description>Ask and Learn.</description><image><url>http://www.feedsky.com/feed/greatghoul/sc/gif</url><title>Ghoul To World!</title><link>http://www.g2w.me</link></image><link>http://www.g2w.me</link><sy:updatePeriod>hourly</sy:updatePeriod><sy:updateFrequency>1</sy:updateFrequency><language>en</language><pubDate>Thu, 23 Feb 2012 12:41:18 GMT</pubDate><item><title>解决 gnome-tweak-tool 无法更换主题的问题</title><link>http://item.feedsky.com/~feedsky/greatghoul/~8477067/609013293/6440757/1/item.html</link><content:encoded>&lt;p&gt;卸载了XP，装上了 2011.8.19 的那个 ArchLinux，桌面为 gnome3，安装了 gnome-tweak-tool 后，无法更换桌面主题。&lt;/p&gt;
&lt;div&gt;提示信息：&lt;span style=&quot;color: #ff0000;&quot;&gt;Shell user-theme extension not enabled&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;&lt;img class=&quot;alignnone&quot; title=&quot;gnome-tweak-tool	&quot; src=&quot;http://pic.yupoo.com/greatghoul_v/BLpEph5R/IB1dW.png&quot; alt=&quot;&quot; width=&quot;656&quot; height=&quot;528&quot; /&gt;&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;要启用，可用借助 &lt;code&gt;dconf-editor&lt;/code&gt; 工具，打开 &lt;code&gt;dconf-editor&lt;/code&gt;，展开 &lt;code&gt;org.gnome.shell &lt;/code&gt;，将 &lt;code&gt;user-theme&lt;/code&gt; 插件加入到键值 &lt;code&gt;enabled-extensions&lt;/code&gt; 中&lt;/div&gt;
&lt;div&gt;&lt;code&gt;['&lt;strong&gt;user-theme@&lt;span class='wp_keywordlink_affiliate'&gt;&lt;a href=&quot;http://www.g2w.me/tag/gnome-shell/&quot; title=&quot;View all posts in gnome-shell&quot; target=&quot;_blank&quot;&gt;gnome-shell&lt;/a&gt;&lt;/span&gt;-extensions.gcampax.github.com&lt;/strong&gt;', 'poweroptions@fpmurphy.com']&lt;/code&gt;&lt;/div&gt;
&lt;div&gt;当然，&lt;code&gt;user-theme&lt;/code&gt; 插件需要自己下载&lt;/div&gt;
&lt;div&gt;
&lt;pre class=&quot;prettyprint&quot;&gt;sudo pacman -S gnome-shell-extension-user-theme&lt;/pre&gt;
&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;启用了插件后，重启&lt;code&gt; &lt;span class='wp_keywordlink_affiliate'&gt;&lt;a href=&quot;http://www.g2w.me/tag/gnome-shell/&quot; title=&quot;View all posts in gnome-shell&quot; target=&quot;_blank&quot;&gt;gnome-shell&lt;/a&gt;&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;
&lt;div&gt;
&lt;pre class=&quot;prettyprint&quot;&gt;&amp;lt;Alt+F2&amp;gt;
r&amp;lt;Enter&amp;gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div&gt;然后就可以了。&lt;/div&gt;
&lt;hr/&gt;&lt;p&gt;&lt;small&gt;
&lt;a href=&quot;http://www.google.com/buzz/post?url=http://www.g2w.me/2012/02/gnome-tweak-tool-shell-user-theme-extension-not-enabled/&quot;&gt;Buzz&lt;/a&gt; | 
&lt;a href=&quot;http://www.g2w.me/2012/02/gnome-tweak-tool-shell-user-theme-extension-not-enabled/#comments&quot;&gt;Comments&lt;/a&gt; | 
&lt;a href=&quot;http://www.g2w.me/2012/02/gnome-tweak-tool-shell-user-theme-extension-not-enabled/&quot; title=&quot;解决 gnome-tweak-tool 无法更换主题的问题&quot;&gt;Permalink&lt;/a&gt; | 
&lt;a href=&quot;http://www.g2w.me/2012/02/gnome-tweak-tool-shell-user-theme-extension-not-enabled/&quot; title=&quot;解决 gnome-tweak-tool 无法更换主题的问题&quot;&gt;Original post&lt;/a&gt; 
blogged on &lt;a href=&quot;http://www.g2w.me&quot;&gt;Ghoul To World!&lt;/a&gt; 
by &lt;a href=&quot;https://www.google.com/profiles/greatghoul&quot;&gt;@greatghoul&lt;/a&gt;
&lt;/p&gt;&lt;/small&gt;&lt;/p&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/609013293/greatghoul/feedsky/s.gif?r=http://item.feedsky.com/~feedsky/greatghoul/~8477067/609013293/6440757/1/item.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</content:encoded><wfw:commentRss>http://www.g2w.me/2012/02/gnome-tweak-tool-shell-user-theme-extension-not-enabled/feed/</wfw:commentRss><slash:comments>0</slash:comments><description>卸载了XP，装上了 2011.8.19 的那个 ArchLinux，桌面为 gnome3，安装了 gnome-tweak-tool 后，无法更换桌面主题。 提示信息：Shell user-theme extension not enabled 要启用，可用借助 dconf-editor 工具，打开 dconf-editor，展开 org.gnome.shell ，将 user-theme 插件加入到键值 enabled-extensions 中 ['user-theme@gnome-shell-extensions.gcampax.github.com', 'poweroptions@fpmurphy.com'] 当然，user-theme 插件需要自己下载 sudo pacman -S gnome-shell-extension-user-theme 启用了插件后，重启 gnome-shell &amp;#60;Alt+F2&amp;#62; r&amp;#60;Enter&amp;#62; 然后就可以了。 Buzz &amp;#124; Comments &amp;#124; Permalink &amp;#124; Original post blogged on Ghoul To World! by @greatghoul&lt;img src=&quot;http://www1.feedsky.com/t1/609013293/greatghoul/feedsky/s.gif?r=http://item.feedsky.com/~feedsky/greatghoul/~8477067/609013293/6440757/1/item.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</description><category>gnome-shell</category><category>archlinux</category><category>gnome-theme</category><category>Misc Words</category><pubDate>Thu, 23 Feb 2012 20:40:04 +0800</pubDate><author>greatghoul</author><comments>http://www.g2w.me/2012/02/gnome-tweak-tool-shell-user-theme-extension-not-enabled/#comments</comments><guid isPermaLink="false">http://www.g2w.me/?p=774</guid><dc:creator>greatghoul</dc:creator><fs:srclink>http://www.g2w.me/2012/02/gnome-tweak-tool-shell-user-theme-extension-not-enabled/</fs:srclink><fs:srcfeed>http://www.g2w.me/feed/</fs:srcfeed><fs:itemid>feedsky/greatghoul/~8477067/609013293/6440757</fs:itemid></item><item><title>Archlinux安装eclipse-jee</title><link>http://item.feedsky.com/~feedsky/greatghoul/~8477067/609010155/6440757/1/item.html</link><content:encoded>&lt;p&gt;刚装好的 ArchLinux (Gnome3) ，准备安装个 &lt;span class='wp_keywordlink_affiliate'&gt;&lt;a href=&quot;http://www.g2w.me/tag/eclipse/&quot; title=&quot;View all posts in eclipse&quot; target=&quot;_blank&quot;&gt;eclipse&lt;/a&gt;&lt;/span&gt;，不过官方 extra 里面找不到 &lt;span class='wp_keywordlink_affiliate'&gt;&lt;a href=&quot;http://www.g2w.me/tag/eclipse/&quot; title=&quot;View all posts in eclipse&quot; target=&quot;_blank&quot;&gt;eclipse&lt;/a&gt;&lt;/span&gt;-jee，只有 &lt;code&gt;&lt;span class='wp_keywordlink_affiliate'&gt;&lt;a href=&quot;http://www.g2w.me/tag/eclipse/&quot; title=&quot;View all posts in eclipse&quot; target=&quot;_blank&quot;&gt;eclipse&lt;/a&gt;&lt;/span&gt; 3.7.1&lt;/code&gt;，于是我直接在 eclipse 官方网站上下载了个 eclipse-jee，准备安装时，突然发现 aur 里面有一个 &lt;a title=&quot;eclipse-jee 3.7.1-3&quot; href=&quot;http://aur.archlinux.org/packages.php?ID=18067&quot; target=&quot;_blank&quot;&gt;eclipse-jee&lt;/a&gt; 于是赶紧下载了 tarball。&lt;/p&gt;
&lt;p&gt;下载后 &lt;code&gt;makepkg&lt;/code&gt;&lt;/p&gt;
&lt;pre class=&quot;prettyprint&quot;&gt;tar -zxvf eclipse-jee.tar.gz
cd eclipse-jee
makepkg -s&lt;/pre&gt;
&lt;p&gt;结果下载 &lt;code&gt;eclipse-jee-indigo-SR1-linux-gtk.tar.gz&lt;/code&gt; 时异常的慢，实在不想再下载一次，刚好我下载的和这个是同一个版本，所以直接将之前下载的&lt;code&gt;eclipse-jee-indigo-SR1-linux-gtk.tar.gz&lt;/code&gt; 移动到 &lt;code&gt;eclipse-jee&lt;/code&gt; 解压的目录下，再 &lt;code&gt;makepkg -s&lt;/code&gt; ，顺利完成 。&lt;/p&gt;
&lt;p&gt;然后就是直接安装了 pkg 了。&lt;/p&gt;
&lt;pre class=&quot;prettyprint&quot;&gt;sudo pacman -U eclipse-jee.3.7.1.pkg.tar.gz&lt;/pre&gt;
&lt;p&gt;这样一来，以后更新什么的也方便多了，而且可以直接通过 gnome-shell 运行了。&lt;/p&gt;
&lt;p&gt;虽然安装好了，但是启动 eclipse 时还遇到了些小麻烦，刚启动就直接崩溃了，老大套路。&lt;/p&gt;
&lt;p&gt;修改 &lt;code&gt;/usr/share/eclipse/usr/share/eclipse/eclipse.ini&lt;/code&gt;&lt;/p&gt;
&lt;pre class=&quot;prettyprint&quot;&gt;sudo vim /usr/share/eclipse/usr/share/eclipse/eclipse.ini&lt;/pre&gt;
&lt;p&gt;将&lt;code&gt;-Xms40m&lt;/code&gt; 改为&lt;code&gt;-Xms256m&lt;/code&gt; 启动 eclipse 正常。&lt;/p&gt;
&lt;hr/&gt;&lt;p&gt;&lt;small&gt;
&lt;a href=&quot;http://www.google.com/buzz/post?url=http://www.g2w.me/2012/02/install-eclipse-jee-in-archlinux/&quot;&gt;Buzz&lt;/a&gt; | 
&lt;a href=&quot;http://www.g2w.me/2012/02/install-eclipse-jee-in-archlinux/#comments&quot;&gt;Comments&lt;/a&gt; | 
&lt;a href=&quot;http://www.g2w.me/2012/02/install-eclipse-jee-in-archlinux/&quot; title=&quot;Archlinux安装eclipse-jee&quot;&gt;Permalink&lt;/a&gt; | 
&lt;a href=&quot;http://www.g2w.me/2012/02/install-eclipse-jee-in-archlinux/&quot; title=&quot;Archlinux安装eclipse-jee&quot;&gt;Original post&lt;/a&gt; 
blogged on &lt;a href=&quot;http://www.g2w.me&quot;&gt;Ghoul To World!&lt;/a&gt; 
by &lt;a href=&quot;https://www.google.com/profiles/greatghoul&quot;&gt;@greatghoul&lt;/a&gt;
&lt;/p&gt;&lt;/small&gt;&lt;/p&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/609010155/greatghoul/feedsky/s.gif?r=http://item.feedsky.com/~feedsky/greatghoul/~8477067/609010155/6440757/1/item.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</content:encoded><wfw:commentRss>http://www.g2w.me/2012/02/install-eclipse-jee-in-archlinux/feed/</wfw:commentRss><slash:comments>0</slash:comments><description>刚装好的 ArchLinux (Gnome3) ，准备安装个 eclipse，不过官方 extra 里面找不到 eclipse-jee，只有 eclipse 3.7.1，于是我直接在 eclipse 官方网站上下载了个 eclipse-jee，准备安装时，突然发现 aur 里面有一个 eclipse-jee 于是赶紧下载了 tarball。 下载后 makepkg tar -zxvf eclipse-jee.tar.gz cd eclipse-jee makepkg -s 结果下载 eclipse-jee-indigo-SR1-linux-gtk.tar.gz 时异常的慢，实在不想再下载一次，刚好我下载的和这个是同一个版本，所以直接将之前下载的eclipse-jee-indigo-SR1-linux-gtk.tar.gz 移动到 eclipse-jee 解压的目录下，再 makepkg -s ，顺利完成 。 然后就是直接安装了 pkg 了。 sudo pacman -U eclipse-jee.3.7.1.pkg.tar.gz 这样一来，以后更新什么的也方便多了，而且可以直接通过 gnome-shell 运行了。 虽然安装好了，但是启动 eclipse 时还遇到了些小麻烦，刚启动就直接崩溃了，老大套路。 修改 /usr/share/eclipse/usr/share/eclipse/eclipse.ini sudo vim /usr/share/eclipse/usr/share/eclipse/eclipse.ini 将-Xms40m 改为-Xms256m [...]&lt;img src=&quot;http://www1.feedsky.com/t1/609010155/greatghoul/feedsky/s.gif?r=http://item.feedsky.com/~feedsky/greatghoul/~8477067/609010155/6440757/1/item.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</description><category>eclipse</category><category>archlinux</category><category>Misc Words</category><pubDate>Thu, 23 Feb 2012 20:11:34 +0800</pubDate><author>greatghoul</author><comments>http://www.g2w.me/2012/02/install-eclipse-jee-in-archlinux/#comments</comments><guid isPermaLink="false">http://www.g2w.me/?p=770</guid><dc:creator>greatghoul</dc:creator><fs:srclink>http://www.g2w.me/2012/02/install-eclipse-jee-in-archlinux/</fs:srclink><fs:srcfeed>http://www.g2w.me/feed/</fs:srcfeed><fs:itemid>feedsky/greatghoul/~8477067/609010155/6440757</fs:itemid></item><item><title>VIM中移动选中内容到备份文件</title><link>http://item.feedsky.com/~feedsky/greatghoul/~8477067/609010156/6440757/1/item.html</link><content:encoded>&lt;p&gt;在公司跟踪自己的工作计划时，我使用的 &lt;span class='wp_keywordlink_affiliate'&gt;&lt;a href=&quot;http://www.g2w.me/tag/gtd/&quot; title=&quot;View all posts in gtd&quot; target=&quot;_blank&quot;&gt;gtd&lt;/a&gt;&lt;/span&gt; 工具是 &lt;span class='wp_keywordlink_affiliate'&gt;&lt;a href=&quot;http://www.g2w.me/tag/vim/&quot; title=&quot;View all posts in vim&quot; target=&quot;_blank&quot;&gt;vim&lt;/a&gt;&lt;/span&gt; 的插件 &lt;a title=&quot;taskpaper.vim : TaskPaper to-do list format support &quot; href=&quot;http://www.vim.org/scripts/script.php?script_id=2027&quot; target=&quot;_blank&quot;&gt;taskpaper &lt;/a&gt;，不过当任务比较多的时候，想要把已经完成的任务备份起来，于是选择需要备份的条目剪切到新的文件中，但每次这样实在是太麻烦了，那就让代码来帮忙吧。&lt;/p&gt;
&lt;p&gt;在 &lt;code&gt;.&lt;span class='wp_keywordlink_affiliate'&gt;&lt;a href=&quot;http://www.g2w.me/tag/vim/&quot; title=&quot;View all posts in vim&quot; target=&quot;_blank&quot;&gt;vim&lt;/a&gt;&lt;/span&gt;rc&lt;/code&gt; 中添加内容如下：&lt;/p&gt;
&lt;pre class=&quot;prettyprint&quot;&gt;com! -nargs=1 -range Sbak call MoveSelectedLinesToFile(&amp;lt;f-args&amp;gt;)
fun! MoveSelectedLinesToFile(filename)
    exec &quot;'&amp;lt;,'&amp;gt;w! &amp;gt;&amp;gt;&quot; . a:filename
    norm gvd
endfunc
vmap &amp;lt;F2&amp;gt; :Sbak %:t.bak&amp;lt;CR&amp;gt;&lt;/pre&gt;
&lt;p&gt;当你在选择了文本后，只要按下&lt;code&gt;&amp;lt;F2&amp;gt;&lt;/code&gt; 键，便可以将选中的内容移动到 &amp;lt;&lt;code&gt;当前文件名&amp;gt;.bak&lt;/code&gt; 文件的末尾，方便吧。&lt;/p&gt;
&lt;p&gt;不过为了便于查看，最好能够将选中文本移动到备份文件的开头，不知道这里该怎么写。&lt;/p&gt;
&lt;hr/&gt;&lt;p&gt;&lt;small&gt;
&lt;a href=&quot;http://www.google.com/buzz/post?url=http://www.g2w.me/2012/02/move-selection-into-bak-file-in-vim/&quot;&gt;Buzz&lt;/a&gt; | 
&lt;a href=&quot;http://www.g2w.me/2012/02/move-selection-into-bak-file-in-vim/#comments&quot;&gt;Comments&lt;/a&gt; | 
&lt;a href=&quot;http://www.g2w.me/2012/02/move-selection-into-bak-file-in-vim/&quot; title=&quot;VIM中移动选中内容到备份文件&quot;&gt;Permalink&lt;/a&gt; | 
&lt;a href=&quot;http://www.g2w.me/2012/02/move-selection-into-bak-file-in-vim/&quot; title=&quot;VIM中移动选中内容到备份文件&quot;&gt;Original post&lt;/a&gt; 
blogged on &lt;a href=&quot;http://www.g2w.me&quot;&gt;Ghoul To World!&lt;/a&gt; 
by &lt;a href=&quot;https://www.google.com/profiles/greatghoul&quot;&gt;@greatghoul&lt;/a&gt;
&lt;/p&gt;&lt;/small&gt;&lt;/p&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/609010156/greatghoul/feedsky/s.gif?r=http://item.feedsky.com/~feedsky/greatghoul/~8477067/609010156/6440757/1/item.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</content:encoded><wfw:commentRss>http://www.g2w.me/2012/02/move-selection-into-bak-file-in-vim/feed/</wfw:commentRss><slash:comments>0</slash:comments><description>在公司跟踪自己的工作计划时，我使用的 gtd 工具是 vim 的插件 taskpaper ，不过当任务比较多的时候，想要把已经完成的任务备份起来，于是选择需要备份的条目剪切到新的文件中，但每次这样实在是太麻烦了，那就让代码来帮忙吧。 在 .vimrc 中添加内容如下： com! -nargs=1 -range Sbak call MoveSelectedLinesToFile(&amp;#60;f-args&amp;#62;) fun! MoveSelectedLinesToFile(filename) exec &quot;'&amp;#60;,'&amp;#62;w! &amp;#62;&amp;#62;&quot; . a:filename norm gvd endfunc vmap &amp;#60;F2&amp;#62; :Sbak %:t.bak&amp;#60;CR&amp;#62; 当你在选择了文本后，只要按下&amp;#60;F2&amp;#62; 键，便可以将选中的内容移动到 &amp;#60;当前文件名&amp;#62;.bak 文件的末尾，方便吧。 不过为了便于查看，最好能够将选中文本移动到备份文件的开头，不知道这里该怎么写。 Buzz &amp;#124; Comments &amp;#124; Permalink &amp;#124; Original post blogged on Ghoul To World! by @greatghoul&lt;img src=&quot;http://www1.feedsky.com/t1/609010156/greatghoul/feedsky/s.gif?r=http://item.feedsky.com/~feedsky/greatghoul/~8477067/609010156/6440757/1/item.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</description><category>Development</category><category>gtd</category><category>vim</category><pubDate>Tue, 07 Feb 2012 00:30:00 +0800</pubDate><author>greatghoul</author><comments>http://www.g2w.me/2012/02/move-selection-into-bak-file-in-vim/#comments</comments><guid isPermaLink="false">http://www.g2w.me/?p=763</guid><dc:creator>greatghoul</dc:creator><fs:srclink>http://www.g2w.me/2012/02/move-selection-into-bak-file-in-vim/</fs:srclink><fs:srcfeed>http://www.g2w.me/feed/</fs:srcfeed><fs:itemid>feedsky/greatghoul/~8477067/609010156/6440757</fs:itemid></item><item><title>使用SQL实现交叉表</title><link>http://item.feedsky.com/~feedsky/greatghoul/~8477067/609010157/6440757/1/item.html</link><content:encoded>&lt;p&gt;年前去面试时，被问到这样一个 &lt;span class='wp_keywordlink_affiliate'&gt;&lt;a href=&quot;http://www.g2w.me/tag/sql/&quot; title=&quot;View all posts in sql&quot; target=&quot;_blank&quot;&gt;sql&lt;/a&gt;&lt;/span&gt; 题目：&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;有张表，统计了 部门、月份、盈利这三个主要数据，要求仅使用 SQL 作出一张以部门和月份为分组的交叉表。&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;显然俺是被难住了，之前看项目组里一个大牛有写过，但也没有去记住细节，这个问题，要是把12个月份作为字段写死，其实倒还挺容易解决，不过意义不大，自然是要寻求一个能够通用的解决方法了。&lt;/p&gt;
&lt;p&gt;要想数据库中的值动态地构造列，使用简单的 &lt;span class='wp_keywordlink_affiliate'&gt;&lt;a href=&quot;http://www.g2w.me/tag/sql/&quot; title=&quot;View all posts in sql&quot; target=&quot;_blank&quot;&gt;sql&lt;/a&gt;&lt;/span&gt; 自然是无法达到的，必须得借助变量循环什么的才靠谱，几经摸索，搞出了 &lt;span class='wp_keywordlink_affiliate'&gt;&lt;a href=&quot;http://www.g2w.me/tag/mysql/&quot; title=&quot;View all posts in mysql&quot; target=&quot;_blank&quot;&gt;mysql&lt;/a&gt;&lt;/span&gt; 的实现。&lt;/p&gt;
&lt;pre class=&quot;prettyprint&quot;&gt;set @sql:= 'select department ';
select @sql:=concat(@sql, ', sum(if(month=\'', month, '\', income, 0)) as \'', month, '\'')
from (select distinct month from test order by month) t1;
set @sql:=concat(@sql, ' from test group by department;');
prepare statement from @sql;
execute statement;&lt;/pre&gt;
&lt;p&gt;查询结果：&lt;/p&gt;
&lt;p&gt;&lt;img class=&quot;alignnone&quot; title=&quot;mysql 交叉表&quot; src=&quot;http://pic.yupoo.com/greatghoul_v/BIOCAdYV/xxhdA.png&quot; alt=&quot;&quot; width=&quot;975&quot; height=&quot;433&quot; /&gt;&lt;/p&gt;
&lt;p&gt;没有在大数据量的情况下测试效率如何，不过如果要大量使用交叉表，还是借助专业的&lt;span class='wp_keywordlink_affiliate'&gt;&lt;a href=&quot;http://www.g2w.me/tag/%e6%8a%a5%e8%a1%a8/&quot; title=&quot;View all posts in 报表&quot; target=&quot;_blank&quot;&gt;报表&lt;/a&gt;&lt;/span&gt;工具比较保险一些。&lt;/p&gt;
&lt;hr/&gt;&lt;p&gt;&lt;small&gt;
&lt;a href=&quot;http://www.google.com/buzz/post?url=http://www.g2w.me/2012/02/mysql-cross-table/&quot;&gt;Buzz&lt;/a&gt; | 
&lt;a href=&quot;http://www.g2w.me/2012/02/mysql-cross-table/#comments&quot;&gt;Comments&lt;/a&gt; | 
&lt;a href=&quot;http://www.g2w.me/2012/02/mysql-cross-table/&quot; title=&quot;使用SQL实现交叉表&quot;&gt;Permalink&lt;/a&gt; | 
&lt;a href=&quot;http://www.g2w.me/2012/02/mysql-cross-table/&quot; title=&quot;使用SQL实现交叉表&quot;&gt;Original post&lt;/a&gt; 
blogged on &lt;a href=&quot;http://www.g2w.me&quot;&gt;Ghoul To World!&lt;/a&gt; 
by &lt;a href=&quot;https://www.google.com/profiles/greatghoul&quot;&gt;@greatghoul&lt;/a&gt;
&lt;/p&gt;&lt;/small&gt;&lt;/p&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/609010157/greatghoul/feedsky/s.gif?r=http://item.feedsky.com/~feedsky/greatghoul/~8477067/609010157/6440757/1/item.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</content:encoded><wfw:commentRss>http://www.g2w.me/2012/02/mysql-cross-table/feed/</wfw:commentRss><slash:comments>0</slash:comments><description>年前去面试时，被问到这样一个 sql 题目： 有张表，统计了 部门、月份、盈利这三个主要数据，要求仅使用 SQL 作出一张以部门和月份为分组的交叉表。 显然俺是被难住了，之前看项目组里一个大牛有写过，但也没有去记住细节，这个问题，要是把12个月份作为字段写死，其实倒还挺容易解决，不过意义不大，自然是要寻求一个能够通用的解决方法了。 要想数据库中的值动态地构造列，使用简单的 sql 自然是无法达到的，必须得借助变量循环什么的才靠谱，几经摸索，搞出了 mysql 的实现。 set @sql:= 'select department '; select @sql:=concat(@sql, ', sum(if(month=\'', month, '\', income, 0)) as \'', month, '\'') from (select distinct month from test order by month) t1; set @sql:=concat(@sql, ' from test group by department;'); prepare statement from @sql; execute statement; 查询结果： [...]&lt;img src=&quot;http://www1.feedsky.com/t1/609010157/greatghoul/feedsky/s.gif?r=http://item.feedsky.com/~feedsky/greatghoul/~8477067/609010157/6440757/1/item.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</description><category>Development</category><category>sql</category><category>报表</category><category>mysql</category><pubDate>Sun, 05 Feb 2012 23:03:14 +0800</pubDate><author>greatghoul</author><comments>http://www.g2w.me/2012/02/mysql-cross-table/#comments</comments><guid isPermaLink="false">http://www.g2w.me/?p=755</guid><dc:creator>greatghoul</dc:creator><fs:srclink>http://www.g2w.me/2012/02/mysql-cross-table/</fs:srclink><fs:srcfeed>http://www.g2w.me/feed/</fs:srcfeed><fs:itemid>feedsky/greatghoul/~8477067/609010157/6440757</fs:itemid></item><item><title>python批量转换文件编码</title><link>http://item.feedsky.com/~feedsky/greatghoul/~8477067/609010158/6440757/1/item.html</link><content:encoded>&lt;p&gt;今天在 eclipse 中导入了个之前的 swing 项目，结果跑起来后乱码，检查代码发现竟然一部分 java 文件是 utf-8 &lt;span class='wp_keywordlink_affiliate'&gt;&lt;a href=&quot;http://www.g2w.me/tag/%e7%bc%96%e7%a0%81/&quot; title=&quot;View all posts in 编码&quot; target=&quot;_blank&quot;&gt;编码&lt;/a&gt;&lt;/span&gt;，一部分却是 gb2312 的，而文件又比较多，一个一个去看显示太麻烦了，于是又该 &lt;span class='wp_keywordlink_affiliate'&gt;&lt;a href=&quot;http://www.g2w.me/tag/python/&quot; title=&quot;View all posts in python&quot; target=&quot;_blank&quot;&gt;python&lt;/a&gt;&lt;/span&gt; 出手了。&lt;/p&gt;
&lt;p&gt;这里需要用到一个 &lt;span class='wp_keywordlink_affiliate'&gt;&lt;a href=&quot;http://www.g2w.me/tag/python/&quot; title=&quot;View all posts in python&quot; target=&quot;_blank&quot;&gt;python&lt;/a&gt;&lt;/span&gt; 的库 &lt;a title=&quot;chardet 1.0.1 - Universal encoding detector&quot; href=&quot;http://pypi.python.org/pypi/chardet&quot; target=&quot;_blank&quot;&gt;chardet 1.0.1&lt;/a&gt; ，用于自动检测文件的&lt;span class='wp_keywordlink_affiliate'&gt;&lt;a href=&quot;http://www.g2w.me/tag/%e7%bc%96%e7%a0%81/&quot; title=&quot;View all posts in 编码&quot; target=&quot;_blank&quot;&gt;编码&lt;/a&gt;&lt;/span&gt;，使用起来非常方便。&lt;/p&gt;
&lt;pre class=&quot;prettyprint&quot;&gt;&amp;gt;&amp;gt;&amp;gt; import chardet
&amp;gt;&amp;gt;&amp;gt; chardet.detect(open(r'E:\Workspaces\java\GCHMCreator\main\g2w\app\gchm\gui\ContentElement.java').read())
{'confidence': 0.99, 'encoding': 'GB2312'}&lt;/pre&gt;
&lt;p&gt;detect文件返回的是一个字典，其中 &lt;code&gt;encoding&lt;/code&gt; 的值为检测到的编码类型，&lt;code&gt;confidence&lt;/code&gt; 为该编码的符合度，&lt;/p&gt;
&lt;p&gt;我需要做这样的事：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;遍历项目中所有的 &lt;code&gt;.java&lt;/code&gt; 文件，并检测其编码&lt;/li&gt;
&lt;li&gt;备份每个 &lt;code&gt;.java&lt;/code&gt; 文件中 &lt;code&gt;.java.bak&lt;/code&gt; 以便于恢复&lt;/li&gt;
&lt;li&gt;将 .java 文件从检测到的编码格式转换成 utf-8 格式&lt;/li&gt;
&lt;li&gt;提供一个恢复工具，在转换错误后能够恢复到原来的文件&lt;/li&gt;
&lt;li&gt;提供一个清理工具，在确保文件转换正确后，可以清除备份的文件&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;其中最关键的部分在第二条，利用 chardet 检测出文件的编码 &lt;code&gt;source_encoding&lt;/code&gt;，将文本内容通过 &lt;code&gt;source_encoding&lt;/code&gt; &lt;code&gt;decode&lt;/code&gt; 成 unicode ，再利用 &lt;a title=&quot;7.8. codecs — Codec registry and base classes&quot; href=&quot;http://docs.python.org/library/codecs.html&quot; target=&quot;_blank&quot;&gt;codecs&lt;/a&gt; 将文件输出成正确的编码格式。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;完整代码&lt;/strong&gt;&lt;/p&gt;
&lt;pre class=&quot;prettyprint&quot;&gt;#-*- coding: utf-8 -*-

import codecs
import os
import shutil
import re
import chardet

def convert_encoding(filename, target_encoding):
    # Backup the origin file.
    shutil.copyfile(filename, filename + '.bak')

    # convert file from the source encoding to target encoding
    content = codecs.open(filename, 'r').read()
    source_encoding = chardet.detect(content)['encoding']
    print source_encoding, filename
    content = content.decode(source_encoding) #.encode(source_encoding)
    codecs.open(filename, 'w', encoding=target_encoding).write(content)

def main():
    for root, dirs, files in os.walk(os.getcwd()):
        for f in files:
            if f.lower().endswith('.java'):
                filename = os.path.join(root, f)
                try:
                    convert_encoding(filename, 'utf-8')
                except Exception, e:
                    print filename

def process_bak_files(action='restore'):
    for root, dirs, files in os.walk(os.getcwd()):
        for f in files:
            if f.lower().endswith('.java.bak'):
                source = os.path.join(root, f)
                target = os.path.join(root, re.sub('\.java\.bak$', '.java', f, flags=re.IGNORECASE))
                try:
                    if action == 'restore':
                        shutil.move(source, target)
                    elif action == 'clear':
                        os.remove(source)
                except Exception, e:
                    print source

if __name__ == '__main__':
    # process_bak_files(action='clear')
    main()&lt;/pre&gt;
&lt;hr/&gt;&lt;p&gt;&lt;small&gt;
&lt;a href=&quot;http://www.google.com/buzz/post?url=http://www.g2w.me/2012/02/python-batch-convert-file-encodings/&quot;&gt;Buzz&lt;/a&gt; | 
&lt;a href=&quot;http://www.g2w.me/2012/02/python-batch-convert-file-encodings/#comments&quot;&gt;Comments&lt;/a&gt; | 
&lt;a href=&quot;http://www.g2w.me/2012/02/python-batch-convert-file-encodings/&quot; title=&quot;python批量转换文件编码&quot;&gt;Permalink&lt;/a&gt; | 
&lt;a href=&quot;http://www.g2w.me/2012/02/python-batch-convert-file-encodings/&quot; title=&quot;python批量转换文件编码&quot;&gt;Original post&lt;/a&gt; 
blogged on &lt;a href=&quot;http://www.g2w.me&quot;&gt;Ghoul To World!&lt;/a&gt; 
by &lt;a href=&quot;https://www.google.com/profiles/greatghoul&quot;&gt;@greatghoul&lt;/a&gt;
&lt;/p&gt;&lt;/small&gt;&lt;/p&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/609010158/greatghoul/feedsky/s.gif?r=http://item.feedsky.com/~feedsky/greatghoul/~8477067/609010158/6440757/1/item.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</content:encoded><wfw:commentRss>http://www.g2w.me/2012/02/python-batch-convert-file-encodings/feed/</wfw:commentRss><slash:comments>0</slash:comments><description>今天在 eclipse 中导入了个之前的 swing 项目，结果跑起来后乱码，检查代码发现竟然一部分 java 文件是 utf-8 编码，一部分却是 gb2312 的，而文件又比较多，一个一个去看显示太麻烦了，于是又该 python 出手了。 这里需要用到一个 python 的库 chardet 1.0.1 ，用于自动检测文件的编码，使用起来非常方便。 &amp;#62;&amp;#62;&amp;#62; import chardet &amp;#62;&amp;#62;&amp;#62; chardet.detect(open(r'E:\Workspaces\java\GCHMCreator\main\g2w\app\gchm\gui\ContentElement.java').read()) {'confidence': 0.99, 'encoding': 'GB2312'} detect文件返回的是一个字典，其中 encoding 的值为检测到的编码类型，confidence 为该编码的符合度， 我需要做这样的事： 遍历项目中所有的 .java 文件，并检测其编码 备份每个 .java 文件中 .java.bak 以便于恢复 将 .java 文件从检测到的编码格式转换成 utf-8 格式 提供一个恢复工具，在转换错误后能够恢复到原来的文件 提供一个清理工具，在确保文件转换正确后，可以清除备份的文件 其中最关键的部分在第二条，利用 chardet 检测出文件的编码 source_encoding，将文本内容通过 source_encoding decode 成 unicode [...]&lt;img src=&quot;http://www1.feedsky.com/t1/609010158/greatghoul/feedsky/s.gif?r=http://item.feedsky.com/~feedsky/greatghoul/~8477067/609010158/6440757/1/item.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</description><category>编码</category><category>Development</category><category>python</category><pubDate>Fri, 03 Feb 2012 02:26:38 +0800</pubDate><author>greatghoul</author><comments>http://www.g2w.me/2012/02/python-batch-convert-file-encodings/#comments</comments><guid isPermaLink="false">http://www.g2w.me/?p=747</guid><dc:creator>greatghoul</dc:creator><fs:srclink>http://www.g2w.me/2012/02/python-batch-convert-file-encodings/</fs:srclink><fs:srcfeed>http://www.g2w.me/feed/</fs:srcfeed><fs:itemid>feedsky/greatghoul/~8477067/609010158/6440757</fs:itemid></item><item><title>2012年1月壁纸分享</title><link>http://item.feedsky.com/~feedsky/greatghoul/~8477067/609010159/6440757/1/item.html</link><content:encoded>&lt;p&gt;&lt;a href=&quot;http://abstract.desktopnexus.com/wallpaper/943050/&quot;&gt;&lt;img src=&quot;http://static.desktopnexus.com/thumbnails/943050-bigthumbnail.jpg&quot; border=&quot;0&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://nature.desktopnexus.com/wallpaper/943470/&quot;&gt;&lt;img src=&quot;http://static.desktopnexus.com/thumbnails/943470-bigthumbnail.jpg&quot; border=&quot;0&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://abstract.desktopnexus.com/wallpaper/942755/&quot;&gt;&lt;img src=&quot;http://static.desktopnexus.com/thumbnails/942755-bigthumbnail.jpg&quot; border=&quot;0&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://abstract.desktopnexus.com/wallpaper/942805/&quot;&gt;&lt;img src=&quot;http://static.desktopnexus.com/thumbnails/942805-bigthumbnail.jpg&quot; border=&quot;0&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://animals.desktopnexus.com/wallpaper/943317/&quot;&gt;&lt;img src=&quot;http://static.desktopnexus.com/thumbnails/943317-bigthumbnail.jpg&quot; border=&quot;0&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://abstract.desktopnexus.com/wallpaper/615675/&quot;&gt;&lt;img src=&quot;http://static.desktopnexus.com/thumbnails/615675-bigthumbnail.jpg&quot; border=&quot;0&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://animals.desktopnexus.com/wallpaper/6684/&quot;&gt;&lt;img src=&quot;http://static.desktopnexus.com/thumbnails/6684-bigthumbnail.jpg&quot; border=&quot;0&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://animals.desktopnexus.com/wallpaper/938260/&quot;&gt;&lt;img src=&quot;http://static.desktopnexus.com/thumbnails/938260-bigthumbnail.jpg&quot; border=&quot;0&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://animals.desktopnexus.com/wallpaper/931892/&quot;&gt;&lt;img src=&quot;http://static.desktopnexus.com/thumbnails/931892-bigthumbnail.jpg&quot; border=&quot;0&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://anime.desktopnexus.com/wallpaper/505509/&quot;&gt;&lt;img src=&quot;http://static.desktopnexus.com/thumbnails/505509-bigthumbnail.jpg&quot; border=&quot;0&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://people.desktopnexus.com/wallpaper/179496/&quot;&gt;&lt;img src=&quot;http://static.desktopnexus.com/thumbnails/179496-bigthumbnail.jpg&quot; border=&quot;0&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://anime.desktopnexus.com/wallpaper/548711/&quot;&gt;&lt;img src=&quot;http://static.desktopnexus.com/thumbnails/548711-bigthumbnail.jpg&quot; border=&quot;0&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://abstract.desktopnexus.com/wallpaper/308780/&quot;&gt;&lt;img src=&quot;http://static.desktopnexus.com/thumbnails/308780-bigthumbnail.jpg&quot; border=&quot;0&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://animals.desktopnexus.com/wallpaper/934811/&quot;&gt;&lt;img src=&quot;http://static.desktopnexus.com/thumbnails/934811-bigthumbnail.jpg&quot; border=&quot;0&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://animals.desktopnexus.com/wallpaper/938799/&quot;&gt;&lt;img src=&quot;http://static.desktopnexus.com/thumbnails/938799-bigthumbnail.jpg&quot; border=&quot;0&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://animals.desktopnexus.com/wallpaper/938796/&quot;&gt;&lt;img src=&quot;http://static.desktopnexus.com/thumbnails/938796-bigthumbnail.jpg&quot; border=&quot;0&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;过年了，来张喜庆的&lt;span class='wp_keywordlink_affiliate'&gt;&lt;a href=&quot;http://www.g2w.me/tag/%e5%a3%81%e7%ba%b8/&quot; title=&quot;View all posts in 壁纸&quot; target=&quot;_blank&quot;&gt;壁纸&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;
&lt;a href=&quot;http://entertainment.desktopnexus.com/wallpaper/944818/&quot;&gt;&lt;img src=&quot;http://static.desktopnexus.com/thumbnails/944818-bigthumbnail.jpg&quot; border=&quot;0&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;hr/&gt;&lt;p&gt;&lt;small&gt;
&lt;a href=&quot;http://www.google.com/buzz/post?url=http://www.g2w.me/2012/01/wallpapers-201201/&quot;&gt;Buzz&lt;/a&gt; | 
&lt;a href=&quot;http://www.g2w.me/2012/01/wallpapers-201201/#comments&quot;&gt;Comments&lt;/a&gt; | 
&lt;a href=&quot;http://www.g2w.me/2012/01/wallpapers-201201/&quot; title=&quot;2012年1月壁纸分享&quot;&gt;Permalink&lt;/a&gt; | 
&lt;a href=&quot;http://www.g2w.me/2012/01/wallpapers-201201/&quot; title=&quot;2012年1月壁纸分享&quot;&gt;Original post&lt;/a&gt; 
blogged on &lt;a href=&quot;http://www.g2w.me&quot;&gt;Ghoul To World!&lt;/a&gt; 
by &lt;a href=&quot;https://www.google.com/profiles/greatghoul&quot;&gt;@greatghoul&lt;/a&gt;
&lt;/p&gt;&lt;/small&gt;&lt;/p&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/609010159/greatghoul/feedsky/s.gif?r=http://item.feedsky.com/~feedsky/greatghoul/~8477067/609010159/6440757/1/item.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</content:encoded><wfw:commentRss>http://www.g2w.me/2012/01/wallpapers-201201/feed/</wfw:commentRss><slash:comments>0</slash:comments><description>过年了，来张喜庆的壁纸 Buzz &amp;#124; Comments &amp;#124; Permalink &amp;#124; Original post blogged on Ghoul To World! by @greatghoul&lt;img src=&quot;http://www1.feedsky.com/t1/609010159/greatghoul/feedsky/s.gif?r=http://item.feedsky.com/~feedsky/greatghoul/~8477067/609010159/6440757/1/item.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</description><category>壁纸</category><category>Shared Items</category><pubDate>Sun, 22 Jan 2012 12:45:25 +0800</pubDate><author>greatghoul</author><comments>http://www.g2w.me/2012/01/wallpapers-201201/#comments</comments><guid isPermaLink="false">http://www.g2w.me/?p=742</guid><dc:creator>greatghoul</dc:creator><fs:srclink>http://www.g2w.me/2012/01/wallpapers-201201/</fs:srclink><fs:srcfeed>http://www.g2w.me/feed/</fs:srcfeed><fs:itemid>feedsky/greatghoul/~8477067/609010159/6440757</fs:itemid></item><item><title>希望，2012</title><link>http://item.feedsky.com/~feedsky/greatghoul/~8477067/609010160/6440757/1/item.html</link><content:encoded>&lt;p&gt;大后天就要过年了，我明天还得上一天班，因为是西安人的缘故，只能让着远路的同事们，自己坚持到年根再回家（其实也没有多少事做），晚上也不会加班，相比之前，有了很多空余时间，总得写点什么，看到别人都写年终总结，可是发现自己这一年，没有多少东西可以总结的。&lt;/p&gt;
&lt;p&gt;2011年的1月5号，我来到了博彦，满心欢喜的以为可以开始作为 python 程序员的路了，结果面试了一个 python 的项目，可能自己还是小白的关系，后来就没有了音信，公司也不可能让人闲着，于是就塞到了一个 java 的组里面做起了报表，因为之前有过报表开发的经验，做起来也得心应手，就是感觉被限制到太过具体的应用上，技术上没有什么大的提升，一做就近一年，虽然后来转做 js，但是把它用在最不该用的地方，对我的技术成长来说，这一年，等于说是废了，辛苦一年，欢喜过，&lt;a title=&quot;对现在的工作厌烦了&quot; href=&quot;http://www.g2w.me/2011/08/get-tired-of-the-work/&quot;&gt;抱怨过&lt;/a&gt;，但总得留下些东西，于是有了前面的一篇 &lt;a title=&quot;Cognos开发笔记&quot; href=&quot;http://www.g2w.me/2012/01/cognos-notes/&quot;&gt;Cognos开发笔记&lt;/a&gt;。&lt;/p&gt;
&lt;p&gt;还是说说接下来的打算吧，2012，这将是充满希望的一年了。&lt;/p&gt;
&lt;p&gt;我觉得自己不是很适合做外包，尤其是限制比较多的公司，比较像华为里面，虽然开发比较规范（其实也有很多非常混乱的地方，但比起小公司，那是好多了），但限制太多，往往束缚了开发人员的思维，这种 DDD模式(DTS Driver Development)最多带来的不是效率和质量，而是开发、测试、SE、平台扯皮的混乱局面，华为的圣斗士很多，但我不想成为其中之一，所以我打算年后离开，寻找更适合自己的土壤。&lt;/p&gt;
&lt;p&gt;很想找一个做医疗行业软件或者项目的公司发展，这样对自己最有利，因为女朋友是医生的关系，接触这方面要更多一些，所谓近水楼台先得月，能更容易的熟悉业务，何尝不是一件好事，但事上没有两全其美的事情，西安这方面的公司曲指可数，而且前途都不怎么光明，有时候最好的，不一定是最适合的，于是我基本放弃了这一念头。&lt;/p&gt;
&lt;p&gt;过了年，再一边等年终奖，一边物色和筛选新公司。公司年终奖要过了年发，最早也是2月10号了，确实挺无语的。&lt;/p&gt;
&lt;p&gt;过年期间，我将要经历一件人生重要的事，正式的到女朋友家里去拜访，一年多来，我们经历了不少酸甜苦辣，但幸福还是占了大多数，她生起气来，像个女王，撒起娇来，又像个孩子，可无论怎么样，她都是伶牙俐齿的，我在口头上从来没有占过她的便宜，但却也让她流了许多眼泪，如果没有她的妥协，可能都走不到今天，我是个很不细心的人，做什么都大大咧咧，经常惹了她不开心，最焦点的话题，莫过于我的体重了，从去年说减肥，减到现在，还是没有什么起色。过年去她家，一定得认真表现，给伯父伯母留个好印象，她们家，对我们家的家境，还是颇有些微言的，但我知道，她不在乎这些，一帆风顺的爱情，是不稳固的，我知道会面对些什么，我会紧紧的牵着她的手的。&lt;/p&gt;
&lt;p&gt;妈妈和奶奶又将撑过一个年头，尤其是妈妈，是很不容易的，我和哥哥都知道，每活一天，对她来说，都是一种痛苦，她承受着我们无法想象的病痛，数着天过日子，为了我和哥哥进门能够喊一声妈，也希望能等到爸爸刑满释放，一日夫妻百日恩，她在走这前，还是希望能够一家团圆的，作母亲的，也希望能够看到哥哥成家，她始终对哥哥是有歉疚的。哥哥刚之前谈的女朋友，因为女方家在礼金上面出价太高，超出了家里的承受范围，恋情告吹，妈妈嘴上不说，心里其实流着泪，哥哥又何尝不是呢？祝愿哥哥能在新的一年找到合适的工作，顺利的成家立业。保佑妈妈能够等到爸爸回家，说不定欢喜之下，病情有所转机也说不定。&lt;/p&gt;
&lt;p&gt;虽然家里目前境况不堪，但我们从来没有停止过努力，那希望总不能远去吧，同样的是过日子，积极乐观总是好的。&lt;/p&gt;
&lt;p&gt;再回来开发上来，我对开发总是热爱的，从小就是，而我现在所接触的专业知识太散，过年期间，刚好趁着闲暇仔细回顾下自己的所学和自己的志趣，挑一条专一一点的路稳定的走下去，撒网不如静心垂钓，人的精力是有限的，开发这潭水太深，我不能大海捞针。我的主业仍是 java，大环境下，还是靠 web 一些，其次是 python，这个神奇的语言带给我太多便利。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;对于 java：&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;工作流：&lt;/strong&gt;我很早就对工作流感兴趣了，有意从同事那里学习，可惜大家都纷纷离职，新换的工作又不会涉及到这方面的应用，于是就耽误了下来，要重新拾起来。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;云计算：&lt;/strong&gt;年底的时候，分到了别的项目组搞起了 MapReduce，虽然做的都是些皮毛，但总算入了些门，显然这方面大有前途，所以 hadoop 也要拿起来。&lt;/li&gt;
&lt;li&gt;SOA, RESTful Web Services, 设计模式等一些杂碎的东西也要尽快玩熟。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;对于 python：&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;ScriptFan：&lt;/strong&gt;只要不是在华为做，自然有更多的机会参与到沙龙里来，打算2012年再贡献一两个话题，认识更多的朋友 &lt;a title=&quot;ScriptFan技术沙龙&quot; href=&quot;http://scriptfan.com/&quot; target=&quot;_blank&quot;&gt;ScriptFan&lt;/a&gt; 要做自己的网站了，自然也要出一份力了，西安的 python 环境一定会越来越好的，这离不开 &lt;a href=&quot;http://weibo.com/kingheaven&quot; target=&quot;_blank&quot;&gt;@davidx&lt;/a&gt; 和 &lt;a href=&quot;http://weibo.com/roamin9&quot; target=&quot;_blank&quot;&gt;@roamin9&lt;/a&gt; 以及大家的辛苦付出。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Flask：&lt;/strong&gt;这是一个很让人着迷的 Web框架，借助 SAE 这个平台， 要更加熟练的运行它，预计 ScriptFan 的网站也会用它开发，所以更要学习了。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;PIL：&lt;/strong&gt;之前写了几个图像处理成十字锈的初期代码，就忙得再没有时间研究了，对于这样一个可以做的事一定不能错过，而 PIL 则是这其中最重要的一个库，需要仔细钻研。&lt;/li&gt;
&lt;li&gt;博客：用了 wordpress 也很久了，但是对于开发人员来说，用这样一个博客还是有很多地方不太方便，希望有一个更加好用的博客来记录自己成长的点滴，以前在 gae  的时候，用 picky 感觉很顺畅，但是 picky 功能太有限，终于等到 sae 做起来了，打算放弃 wordpress，移植到更加轻量级的博客上来，自然是要用 markdown 写作了，如果已有这样的开源项目，符合自己口味的话，就参与到项目中去，否则的话，就自己写一个。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;除此之外，还要在平台的开发中，更加熟悉 git vim linux等工具的使用。&lt;/p&gt;
&lt;p&gt;2012要做的事还有很多，过年的时候再仔细想想，做一个更加细致，更加可行的规划。&lt;/p&gt;
&lt;hr/&gt;&lt;p&gt;&lt;small&gt;
&lt;a href=&quot;http://www.google.com/buzz/post?url=http://www.g2w.me/2012/01/plans-for-2012/&quot;&gt;Buzz&lt;/a&gt; | 
&lt;a href=&quot;http://www.g2w.me/2012/01/plans-for-2012/#comments&quot;&gt;Comments&lt;/a&gt; | 
&lt;a href=&quot;http://www.g2w.me/2012/01/plans-for-2012/&quot; title=&quot;希望，2012&quot;&gt;Permalink&lt;/a&gt; | 
&lt;a href=&quot;http://www.g2w.me/2012/01/plans-for-2012/&quot; title=&quot;希望，2012&quot;&gt;Original post&lt;/a&gt; 
blogged on &lt;a href=&quot;http://www.g2w.me&quot;&gt;Ghoul To World!&lt;/a&gt; 
by &lt;a href=&quot;https://www.google.com/profiles/greatghoul&quot;&gt;@greatghoul&lt;/a&gt;
&lt;/p&gt;&lt;/small&gt;&lt;/p&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/609010160/greatghoul/feedsky/s.gif?r=http://item.feedsky.com/~feedsky/greatghoul/~8477067/609010160/6440757/1/item.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</content:encoded><wfw:commentRss>http://www.g2w.me/2012/01/plans-for-2012/feed/</wfw:commentRss><slash:comments>0</slash:comments><description>大后天就要过年了，我明天还得上一天班，因为是西安人的缘故，只能让着远路的同事们，自己坚持到年根再回家（其实也没有多少事做），晚上也不会加班，相比之前，有了很多空余时间，总得写点什么，看到别人都写年终总结，可是发现自己这一年，没有多少东西可以总结的。 2011年的1月5号，我来到了博彦，满心欢喜的以为可以开始作为 python 程序员的路了，结果面试了一个 python 的项目，可能自己还是小白的关系，后来就没有了音信，公司也不可能让人闲着，于是就塞到了一个 java 的组里面做起了报表，因为之前有过报表开发的经验，做起来也得心应手，就是感觉被限制到太过具体的应用上，技术上没有什么大的提升，一做就近一年，虽然后来转做 js，但是把它用在最不该用的地方，对我的技术成长来说，这一年，等于说是废了，辛苦一年，欢喜过，抱怨过，但总得留下些东西，于是有了前面的一篇 Cognos开发笔记。 还是说说接下来的打算吧，2012，这将是充满希望的一年了。 我觉得自己不是很适合做外包，尤其是限制比较多的公司，比较像华为里面，虽然开发比较规范（其实也有很多非常混乱的地方，但比起小公司，那是好多了），但限制太多，往往束缚了开发人员的思维，这种 DDD模式(DTS Driver Development)最多带来的不是效率和质量，而是开发、测试、SE、平台扯皮的混乱局面，华为的圣斗士很多，但我不想成为其中之一，所以我打算年后离开，寻找更适合自己的土壤。 很想找一个做医疗行业软件或者项目的公司发展，这样对自己最有利，因为女朋友是医生的关系，接触这方面要更多一些，所谓近水楼台先得月，能更容易的熟悉业务，何尝不是一件好事，但事上没有两全其美的事情，西安这方面的公司曲指可数，而且前途都不怎么光明，有时候最好的，不一定是最适合的，于是我基本放弃了这一念头。 过了年，再一边等年终奖，一边物色和筛选新公司。公司年终奖要过了年发，最早也是2月10号了，确实挺无语的。 过年期间，我将要经历一件人生重要的事，正式的到女朋友家里去拜访，一年多来，我们经历了不少酸甜苦辣，但幸福还是占了大多数，她生起气来，像个女王，撒起娇来，又像个孩子，可无论怎么样，她都是伶牙俐齿的，我在口头上从来没有占过她的便宜，但却也让她流了许多眼泪，如果没有她的妥协，可能都走不到今天，我是个很不细心的人，做什么都大大咧咧，经常惹了她不开心，最焦点的话题，莫过于我的体重了，从去年说减肥，减到现在，还是没有什么起色。过年去她家，一定得认真表现，给伯父伯母留个好印象，她们家，对我们家的家境，还是颇有些微言的，但我知道，她不在乎这些，一帆风顺的爱情，是不稳固的，我知道会面对些什么，我会紧紧的牵着她的手的。 妈妈和奶奶又将撑过一个年头，尤其是妈妈，是很不容易的，我和哥哥都知道，每活一天，对她来说，都是一种痛苦，她承受着我们无法想象的病痛，数着天过日子，为了我和哥哥进门能够喊一声妈，也希望能等到爸爸刑满释放，一日夫妻百日恩，她在走这前，还是希望能够一家团圆的，作母亲的，也希望能够看到哥哥成家，她始终对哥哥是有歉疚的。哥哥刚之前谈的女朋友，因为女方家在礼金上面出价太高，超出了家里的承受范围，恋情告吹，妈妈嘴上不说，心里其实流着泪，哥哥又何尝不是呢？祝愿哥哥能在新的一年找到合适的工作，顺利的成家立业。保佑妈妈能够等到爸爸回家，说不定欢喜之下，病情有所转机也说不定。 虽然家里目前境况不堪，但我们从来没有停止过努力，那希望总不能远去吧，同样的是过日子，积极乐观总是好的。 再回来开发上来，我对开发总是热爱的，从小就是，而我现在所接触的专业知识太散，过年期间，刚好趁着闲暇仔细回顾下自己的所学和自己的志趣，挑一条专一一点的路稳定的走下去，撒网不如静心垂钓，人的精力是有限的，开发这潭水太深，我不能大海捞针。我的主业仍是 java，大环境下，还是靠 web 一些，其次是 python，这个神奇的语言带给我太多便利。 对于 java： 工作流：我很早就对工作流感兴趣了，有意从同事那里学习，可惜大家都纷纷离职，新换的工作又不会涉及到这方面的应用，于是就耽误了下来，要重新拾起来。 云计算：年底的时候，分到了别的项目组搞起了 MapReduce，虽然做的都是些皮毛，但总算入了些门，显然这方面大有前途，所以 hadoop 也要拿起来。 SOA, RESTful Web Services, 设计模式等一些杂碎的东西也要尽快玩熟。 对于 python： ScriptFan：只要不是在华为做，自然有更多的机会参与到沙龙里来，打算2012年再贡献一两个话题，认识更多的朋友 ScriptFan 要做自己的网站了，自然也要出一份力了，西安的 python 环境一定会越来越好的，这离不开 @davidx 和 @roamin9 以及大家的辛苦付出。 Flask：这是一个很让人着迷的 Web框架，借助 SAE 这个平台， 要更加熟练的运行它，预计 ScriptFan 的网站也会用它开发，所以更要学习了。 PIL：之前写了几个图像处理成十字锈的初期代码，就忙得再没有时间研究了，对于这样一个可以做的事一定不能错过，而 [...]&lt;img src=&quot;http://www1.feedsky.com/t1/609010160/greatghoul/feedsky/s.gif?r=http://item.feedsky.com/~feedsky/greatghoul/~8477067/609010160/6440757/1/item.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</description><category>Life Stories</category><pubDate>Fri, 20 Jan 2012 20:39:49 +0800</pubDate><author>greatghoul</author><comments>http://www.g2w.me/2012/01/plans-for-2012/#comments</comments><guid isPermaLink="false">http://www.g2w.me/?p=740</guid><dc:creator>greatghoul</dc:creator><fs:srclink>http://www.g2w.me/2012/01/plans-for-2012/</fs:srclink><fs:srcfeed>http://www.g2w.me/feed/</fs:srcfeed><fs:itemid>feedsky/greatghoul/~8477067/609010160/6440757</fs:itemid></item><item><title>Cognos开发笔记</title><link>http://item.feedsky.com/~feedsky/greatghoul/~8477067/609010161/6440757/1/item.html</link><content:encoded>&lt;p&gt;&lt;img class=&quot;alignleft&quot; style=&quot;margin-left: 5px; margin-right: 5px;&quot; title=&quot;Cognos&quot; src=&quot;http://pic.yupoo.com/greatghoul_v/BFLaT90l/JKqYe.jpg&quot; alt=&quot;&quot; width=&quot;260&quot; height=&quot;64&quot; /&gt;前一段时间，完成了在报表开发中的任务，转至了 MapReduce 开发，将一年来的 Cognos 开发经验小小的做了下总结。&lt;/p&gt;
&lt;p&gt;Cognos 这个 &lt;span class='wp_keywordlink_affiliate'&gt;&lt;a href=&quot;http://www.g2w.me/tag/bi/&quot; title=&quot;View all posts in BI&quot; target=&quot;_blank&quot;&gt;BI&lt;/a&gt;&lt;/span&gt; 有着 IBM 软件基本都具备的特点：大！没错，整个 Cognos 环境相当庞大，当然它的功能也相当强大，但伴随而来的，它非常难用，最起码相比国内的&lt;span class='wp_keywordlink_affiliate'&gt;&lt;a href=&quot;http://www.g2w.me/tag/%e6%8a%a5%e8%a1%a8/&quot; title=&quot;View all posts in 报表&quot; target=&quot;_blank&quot;&gt;报表&lt;/a&gt;&lt;/span&gt;，比如帆软，润乾什么的，它在开发上逊色很多，但是却成熟稳定。Cognos的开发周期比较长，你需要先建模，发布，然后才能建立&lt;span class='wp_keywordlink_affiliate'&gt;&lt;a href=&quot;http://www.g2w.me/tag/%e6%8a%a5%e8%a1%a8/&quot; title=&quot;View all posts in 报表&quot; target=&quot;_blank&quot;&gt;报表&lt;/a&gt;&lt;/span&gt;，如果你想修改模型，那你需要再次发布，再逐个更新&lt;span class='wp_keywordlink_affiliate'&gt;&lt;a href=&quot;http://www.g2w.me/tag/%e6%8a%a5%e8%a1%a8/&quot; title=&quot;View all posts in 报表&quot; target=&quot;_blank&quot;&gt;报表&lt;/a&gt;&lt;/span&gt;，你其实也可以直接在报表中直接使用sql语句建立模型，但也失去了许多高级特性。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Cognos 在使用 &lt;span class='wp_keywordlink_affiliate'&gt;&lt;a href=&quot;http://www.g2w.me/tag/sybaseiq/&quot; title=&quot;View all posts in SybaseIQ&quot; target=&quot;_blank&quot;&gt;SybaseIQ&lt;/a&gt;&lt;/span&gt; 作为数据库时，经常不能够，经常不能查出刚更新的表和数据，对于刚入库的表，你可以在数据源中配置 &lt;code&gt;AutoPreCommit=Yes&lt;/code&gt;，但对于刚更新的数据，你只能牺牲性能，在报表中关闭高速缓存了。&lt;/li&gt;
&lt;li&gt;慎用查询提示页面，有时你漏传参数导致的异常可能会被提示页面的默认参数所隐藏而不易被发现，这使得你在使用 SDK 时尤其危险。&lt;/li&gt;
&lt;li&gt;删除一个查询时切记先断开该查询的所有引用，否则在查询时出现查询引用不存在的异常，使你不得不直接修改报表源代码来手动断开引用。&lt;/li&gt;
&lt;li&gt;如果想删除一个报表元素，而不希望删除与之绑定的查询或者查询项，可使用剪切代替删除命令。&lt;/li&gt;
&lt;li&gt;尽量使用 块 布局报表，而不是使用表格，表格容易在你导出报表为 Excel 时引起布局混乱。&lt;/li&gt;
&lt;li&gt;设计查询时尽量减少分组的数目，以提高查询速度。&lt;/li&gt;
&lt;li&gt;交叉表的无数据内容标签不会生效。&lt;/li&gt;
&lt;li&gt;建议不同的开发人员使用不同的用户去开发报表，以便于追踪报表修改记录以及处理误操作引起的责任判定。&lt;/li&gt;
&lt;li&gt;尽量不要把不同功能的模块混合在一张报表中实现。&lt;/li&gt;
&lt;li&gt;报表模型中数组的参数格式为 &lt;code&gt;a,b,c,d&lt;/code&gt; 而报表视图中的参数格式为 &lt;code&gt;[a,b,c,d]&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;在设计报表模型时，如果某个存储过程引用了错误的数据源，可直接在存储过程定义对话框中修改；如果某个查询引用了错误的数据源，要修改，只能删掉查询重新添加或者在源代码中修改。&lt;/li&gt;
&lt;li&gt;Cognos 在导出为 Excel 时，不支持导出图表的基线 (Baseline)。&lt;/li&gt;
&lt;li&gt;Cognos导出 CSV时，列表的同一个单元格中，只支持导出第一个项。&lt;/li&gt;
&lt;li&gt;报表元素的生成变量设置在导出CSV时无效。&lt;/li&gt;
&lt;li&gt;在折线图和面积图的数据点上显示数据值会极大的影响报表的打开速度，是一个非常鸡肋的功能。&lt;/li&gt;
&lt;li&gt;对于需要实时查询的报表业务，最好禁用报表调整缓存，Cognos 的缓存机制存在严重问题，会导致你在数据更新比较频繁的情况下，同一查询返回的数据存在很大差异。&lt;/li&gt;
&lt;/ol&gt;
&lt;hr/&gt;&lt;p&gt;&lt;small&gt;
&lt;a href=&quot;http://www.google.com/buzz/post?url=http://www.g2w.me/2012/01/cognos-notes/&quot;&gt;Buzz&lt;/a&gt; | 
&lt;a href=&quot;http://www.g2w.me/2012/01/cognos-notes/#comments&quot;&gt;Comments&lt;/a&gt; | 
&lt;a href=&quot;http://www.g2w.me/2012/01/cognos-notes/&quot; title=&quot;Cognos开发笔记&quot;&gt;Permalink&lt;/a&gt; | 
&lt;a href=&quot;http://www.g2w.me/2012/01/cognos-notes/&quot; title=&quot;Cognos开发笔记&quot;&gt;Original post&lt;/a&gt; 
blogged on &lt;a href=&quot;http://www.g2w.me&quot;&gt;Ghoul To World!&lt;/a&gt; 
by &lt;a href=&quot;https://www.google.com/profiles/greatghoul&quot;&gt;@greatghoul&lt;/a&gt;
&lt;/p&gt;&lt;/small&gt;&lt;/p&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/609010161/greatghoul/feedsky/s.gif?r=http://item.feedsky.com/~feedsky/greatghoul/~8477067/609010161/6440757/1/item.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</content:encoded><wfw:commentRss>http://www.g2w.me/2012/01/cognos-notes/feed/</wfw:commentRss><slash:comments>0</slash:comments><description>前一段时间，完成了在报表开发中的任务，转至了 MapReduce 开发，将一年来的 Cognos 开发经验小小的做了下总结。 Cognos 这个 BI 有着 IBM 软件基本都具备的特点：大！没错，整个 Cognos 环境相当庞大，当然它的功能也相当强大，但伴随而来的，它非常难用，最起码相比国内的报表，比如帆软，润乾什么的，它在开发上逊色很多，但是却成熟稳定。Cognos的开发周期比较长，你需要先建模，发布，然后才能建立报表，如果你想修改模型，那你需要再次发布，再逐个更新报表，你其实也可以直接在报表中直接使用sql语句建立模型，但也失去了许多高级特性。 Cognos 在使用 SybaseIQ 作为数据库时，经常不能够，经常不能查出刚更新的表和数据，对于刚入库的表，你可以在数据源中配置 AutoPreCommit=Yes，但对于刚更新的数据，你只能牺牲性能，在报表中关闭高速缓存了。 慎用查询提示页面，有时你漏传参数导致的异常可能会被提示页面的默认参数所隐藏而不易被发现，这使得你在使用 SDK 时尤其危险。 删除一个查询时切记先断开该查询的所有引用，否则在查询时出现查询引用不存在的异常，使你不得不直接修改报表源代码来手动断开引用。 如果想删除一个报表元素，而不希望删除与之绑定的查询或者查询项，可使用剪切代替删除命令。 尽量使用 块 布局报表，而不是使用表格，表格容易在你导出报表为 Excel 时引起布局混乱。 设计查询时尽量减少分组的数目，以提高查询速度。 交叉表的无数据内容标签不会生效。 建议不同的开发人员使用不同的用户去开发报表，以便于追踪报表修改记录以及处理误操作引起的责任判定。 尽量不要把不同功能的模块混合在一张报表中实现。 报表模型中数组的参数格式为 a,b,c,d 而报表视图中的参数格式为 [a,b,c,d] 在设计报表模型时，如果某个存储过程引用了错误的数据源，可直接在存储过程定义对话框中修改；如果某个查询引用了错误的数据源，要修改，只能删掉查询重新添加或者在源代码中修改。 Cognos 在导出为 Excel 时，不支持导出图表的基线 (Baseline)。 Cognos导出 CSV时，列表的同一个单元格中，只支持导出第一个项。 报表元素的生成变量设置在导出CSV时无效。 在折线图和面积图的数据点上显示数据值会极大的影响报表的打开速度，是一个非常鸡肋的功能。 对于需要实时查询的报表业务，最好禁用报表调整缓存，Cognos 的缓存机制存在严重问题，会导致你在数据更新比较频繁的情况下，同一查询返回的数据存在很大差异。 Buzz &amp;#124; Comments &amp;#124; Permalink &amp;#124; Original post [...]&lt;img src=&quot;http://www1.feedsky.com/t1/609010161/greatghoul/feedsky/s.gif?r=http://item.feedsky.com/~feedsky/greatghoul/~8477067/609010161/6440757/1/item.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</description><category>SybaseIQ</category><category>Development</category><category>报表</category><category>MapReduce</category><category>cognos</category><category>BI</category><pubDate>Mon, 16 Jan 2012 20:50:06 +0800</pubDate><author>greatghoul</author><comments>http://www.g2w.me/2012/01/cognos-notes/#comments</comments><guid isPermaLink="false">http://www.g2w.me/?p=735</guid><dc:creator>greatghoul</dc:creator><fs:srclink>http://www.g2w.me/2012/01/cognos-notes/</fs:srclink><fs:srcfeed>http://www.g2w.me/feed/</fs:srcfeed><fs:itemid>feedsky/greatghoul/~8477067/609010161/6440757</fs:itemid></item><item><title>58同城联系客服页面的405错误</title><link>http://item.feedsky.com/~feedsky/greatghoul/~8477067/609010162/6440757/1/item.html</link><content:encoded>&lt;p&gt;由于&lt;a title=&quot;CSDN明文口令泄露的启示&quot; href=&quot;http://coolshell.cn/articles/6193.html&quot; target=&quot;_blank&quot;&gt;CSDN事件&lt;/a&gt;，&lt;a title=&quot;58同城&quot; href=&quot;http://www.58.com/&quot; target=&quot;_blank&quot;&gt;58同城&lt;/a&gt;客服发来邮件提示更改密码，于是前往修改，但由于我的新设定的密码包含了字母、数字及下划线以外的字符，在58同城上不能修改成功，于是我放弃了修改，记忆太多组密码是痛苦的，而自己又不怎么信任第三方密码管理工具 。&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;http://pic.yupoo.com/greatghoul_v/BFKBt1pc/cgmvV.png&quot; alt=&quot;58-0&quot; /&gt;&lt;/p&gt;
&lt;p&gt;58同城现有的密码规则不足以增强我之前密码的强度，于是前往&lt;a title=&quot;58同城在线客服&quot; href=&quot;http://about.58.com/online-kefu.html&quot; target=&quot;_blank&quot;&gt;客服页面&lt;/a&gt;联系解决。&lt;/p&gt;
&lt;p&gt;然后遗憾的是，当我填写了所有信息提交(我把手机号的文本框架误埴成了邮箱)后，出现了&lt;a title=&quot;HTTP状态码-405&quot; href=&quot;http://zh.wikipedia.org/wiki/HTTP%E7%8A%B6%E6%80%81%E7%A0%81#405&quot; target=&quot;_blank&quot;&gt;405&lt;/a&gt;错误的页面&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;http://pic.yupoo.com/greatghoul_v/BFKBtsLS/GP5aT.png&quot; alt=&quot;58-1&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;http://pic.yupoo.com/greatghoul_v/BFKBvBlk/eXIBR.png&quot; alt=&quot;58-2&quot; /&gt;&lt;/p&gt;
&lt;p&gt;经过反复试验后，发现填写中文也可以顺利提交问题。如果填写次数多后，会提示输入验证码，但验证码无法验证通过。&lt;/p&gt;
&lt;p&gt;更夸张的是，连&lt;a href=&quot;http://about.58.com/abc.html&quot; target=&quot;_blank&quot;&gt;404&lt;/a&gt;页面都用的是&lt;span class='wp_keywordlink_affiliate'&gt;&lt;a href=&quot;http://www.g2w.me/tag/tomcat/&quot; title=&quot;View all posts in tomcat&quot; target=&quot;_blank&quot;&gt;tomcat&lt;/a&gt;&lt;/span&gt;自带的。&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #000080;&quot;&gt;屎一样的网站，广告做的再多也是垃圾。&lt;/span&gt;&lt;/p&gt;
&lt;hr/&gt;&lt;p&gt;&lt;small&gt;
&lt;a href=&quot;http://www.google.com/buzz/post?url=http://www.g2w.me/2012/01/58-com-405-error-page/&quot;&gt;Buzz&lt;/a&gt; | 
&lt;a href=&quot;http://www.g2w.me/2012/01/58-com-405-error-page/#comments&quot;&gt;Comments&lt;/a&gt; | 
&lt;a href=&quot;http://www.g2w.me/2012/01/58-com-405-error-page/&quot; title=&quot;58同城联系客服页面的405错误&quot;&gt;Permalink&lt;/a&gt; | 
&lt;a href=&quot;http://www.g2w.me/2012/01/58-com-405-error-page/&quot; title=&quot;58同城联系客服页面的405错误&quot;&gt;Original post&lt;/a&gt; 
blogged on &lt;a href=&quot;http://www.g2w.me&quot;&gt;Ghoul To World!&lt;/a&gt; 
by &lt;a href=&quot;https://www.google.com/profiles/greatghoul&quot;&gt;@greatghoul&lt;/a&gt;
&lt;/p&gt;&lt;/small&gt;&lt;/p&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/609010162/greatghoul/feedsky/s.gif?r=http://item.feedsky.com/~feedsky/greatghoul/~8477067/609010162/6440757/1/item.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</content:encoded><wfw:commentRss>http://www.g2w.me/2012/01/58-com-405-error-page/feed/</wfw:commentRss><slash:comments>0</slash:comments><description>由于CSDN事件，58同城客服发来邮件提示更改密码，于是前往修改，但由于我的新设定的密码包含了字母、数字及下划线以外的字符，在58同城上不能修改成功，于是我放弃了修改，记忆太多组密码是痛苦的，而自己又不怎么信任第三方密码管理工具 。 58同城现有的密码规则不足以增强我之前密码的强度，于是前往客服页面联系解决。 然后遗憾的是，当我填写了所有信息提交(我把手机号的文本框架误埴成了邮箱)后，出现了405错误的页面 经过反复试验后，发现填写中文也可以顺利提交问题。如果填写次数多后，会提示输入验证码，但验证码无法验证通过。 更夸张的是，连404页面都用的是tomcat自带的。 屎一样的网站，广告做的再多也是垃圾。 Buzz &amp;#124; Comments &amp;#124; Permalink &amp;#124; Original post blogged on Ghoul To World! by @greatghoul&lt;img src=&quot;http://www1.feedsky.com/t1/609010162/greatghoul/feedsky/s.gif?r=http://item.feedsky.com/~feedsky/greatghoul/~8477067/609010162/6440757/1/item.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</description><category>tomcat</category><category>Misc Words</category><pubDate>Mon, 16 Jan 2012 19:29:08 +0800</pubDate><author>greatghoul</author><comments>http://www.g2w.me/2012/01/58-com-405-error-page/#comments</comments><guid isPermaLink="false">http://www.g2w.me/?p=732</guid><dc:creator>greatghoul</dc:creator><fs:srclink>http://www.g2w.me/2012/01/58-com-405-error-page/</fs:srclink><fs:srcfeed>http://www.g2w.me/feed/</fs:srcfeed><fs:itemid>feedsky/greatghoul/~8477067/609010162/6440757</fs:itemid></item><item><title>那二逼的人人网</title><link>http://item.feedsky.com/~feedsky/greatghoul/~8477067/609010163/6440757/1/item.html</link><content:encoded>&lt;p&gt;最近 &lt;a title=&quot;CSDN明文口令泄露的启示&quot; href=&quot;http://coolshell.cn/articles/6193.html&quot;&gt;CSDN密码泄露&lt;/a&gt; 闹的沸沸扬扬，涉及的网站也比较多，像我这般苦逼的人，把&lt;a href=&quot;http://www.csdn.net/&quot;&gt;CSDN&lt;/a&gt;密码设置的和&lt;a href=&quot;https://safe.renren.com&quot;&gt;人人网&lt;/a&gt;密码一样，结果人人就被盗号了，盗号都可能用我的帐号传播了一些不太健康的信息，结果导致我的帐号封琐了。&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;http://pic.yupoo.com/greatghoul_v/BD7WhPVy/y9bIq.png&quot; alt=&quot;帐号封停&quot; /&gt;&lt;br /&gt;
（图1）&lt;/p&gt;
&lt;p&gt;解除封锁需要验证绑定的手机（验证短信竟然让用户自己掏腰包发送，真是小气），可我绑定的手机是之前的一个号，早已不用了，现在竟然无法激活帐号了，人人网没有提供其它的验证渠道！&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;http://pic.yupoo.com/greatghoul_v/BD7WgATB/6mW8u.png&quot; alt=&quot;验证短信&quot; /&gt;&lt;br /&gt;
（图2）&lt;/p&gt;
&lt;p&gt;看到页面上提示，如果验证出现问题，可以联系客服，结果点击进去后依然提示帐号封锁（图1），周而复始，我去，干脆以后也不用了。&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #0000ff;&quot;&gt;PS：修改其它网站密码时还碰到一个非常二的网站，&lt;a href=&quot;http://www.feedsky.com/&quot;&gt;FeedSky&lt;/a&gt; 在重置密码时提示，“&lt;strong&gt;请勿使用特殊字符”&lt;/strong&gt;，想坑死爹呀，你想把用户都培养成弱智吗？&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;http://pic.yupoo.com/greatghoul_v/BD8426hM/wLN7Y.png&quot; alt=&quot;feedsky 请勿使用特殊字符&quot; /&gt;&lt;/p&gt;
&lt;p&gt;更悲剧的是，我收到一封标题为我CSDN密码的邮件，告诉我，我已经注册了一个成人一夜情交友的网站，帐号和密码都与CSDN的相同，这是挑衅呀。&lt;/p&gt;
&lt;hr/&gt;&lt;p&gt;&lt;small&gt;
&lt;a href=&quot;http://www.google.com/buzz/post?url=http://www.g2w.me/2011/12/fuck-renren/&quot;&gt;Buzz&lt;/a&gt; | 
&lt;a href=&quot;http://www.g2w.me/2011/12/fuck-renren/#comments&quot;&gt;Comments&lt;/a&gt; | 
&lt;a href=&quot;http://www.g2w.me/2011/12/fuck-renren/&quot; title=&quot;那二逼的人人网&quot;&gt;Permalink&lt;/a&gt; | 
&lt;a href=&quot;http://www.g2w.me/2011/12/fuck-renren/&quot; title=&quot;那二逼的人人网&quot;&gt;Original post&lt;/a&gt; 
blogged on &lt;a href=&quot;http://www.g2w.me&quot;&gt;Ghoul To World!&lt;/a&gt; 
by &lt;a href=&quot;https://www.google.com/profiles/greatghoul&quot;&gt;@greatghoul&lt;/a&gt;
&lt;/p&gt;&lt;/small&gt;&lt;/p&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/609010163/greatghoul/feedsky/s.gif?r=http://item.feedsky.com/~feedsky/greatghoul/~8477067/609010163/6440757/1/item.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</content:encoded><wfw:commentRss>http://www.g2w.me/2011/12/fuck-renren/feed/</wfw:commentRss><slash:comments>0</slash:comments><description>最近 CSDN密码泄露 闹的沸沸扬扬，涉及的网站也比较多，像我这般苦逼的人，把CSDN密码设置的和人人网密码一样，结果人人就被盗号了，盗号都可能用我的帐号传播了一些不太健康的信息，结果导致我的帐号封琐了。 （图1） 解除封锁需要验证绑定的手机（验证短信竟然让用户自己掏腰包发送，真是小气），可我绑定的手机是之前的一个号，早已不用了，现在竟然无法激活帐号了，人人网没有提供其它的验证渠道！ （图2） 看到页面上提示，如果验证出现问题，可以联系客服，结果点击进去后依然提示帐号封锁（图1），周而复始，我去，干脆以后也不用了。 PS：修改其它网站密码时还碰到一个非常二的网站，FeedSky 在重置密码时提示，“请勿使用特殊字符”，想坑死爹呀，你想把用户都培养成弱智吗？ 更悲剧的是，我收到一封标题为我CSDN密码的邮件，告诉我，我已经注册了一个成人一夜情交友的网站，帐号和密码都与CSDN的相同，这是挑衅呀。 Buzz &amp;#124; Comments &amp;#124; Permalink &amp;#124; Original post blogged on Ghoul To World! by @greatghoul&lt;img src=&quot;http://www1.feedsky.com/t1/609010163/greatghoul/feedsky/s.gif?r=http://item.feedsky.com/~feedsky/greatghoul/~8477067/609010163/6440757/1/item.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</description><category>Misc Words</category><pubDate>Fri, 30 Dec 2011 13:44:54 +0800</pubDate><author>greatghoul</author><comments>http://www.g2w.me/2011/12/fuck-renren/#comments</comments><guid isPermaLink="false">http://www.g2w.me/?p=721</guid><dc:creator>greatghoul</dc:creator><fs:srclink>http://www.g2w.me/2011/12/fuck-renren/</fs:srclink><fs:srcfeed>http://www.g2w.me/feed/</fs:srcfeed><fs:itemid>feedsky/greatghoul/~8477067/609010163/6440757</fs:itemid></item></channel></rss>
