• 首页
  • 关于

我自然

latex文档模板

在 2009年8月26日 上公布 作者为 yankay

在之前的两个月,补充了不少排版上的知识,是时候发挥一下了。把原先写程序文档的模板加以改进。成果如下。

usepackage{graphicx}
usepackage{indentfirst}
usepackage[usenames,dvipsnames]{color}
usepackage{fancyvrb} % for verbatim
usepackage{fancyhdr}
usepackage{listings}
usepackage[sf]{titlesec}
usepackage{titletoc}
usepackage[boldfont,slantfont,CJKnumber]{xeCJK}
usepackage{xcolor} % 使用颜色宏包
usepackage{color}
usepackage{amsmath, amsfonts, epsfig, xspace}
usepackage{algorithm,algorithmic}
usepackage[normal,tight,center]{subfigure}
usepackage{graphicx}
usepackage{booktabs}
usepackage{longtable}
usepackage{array}
usepackage{multicol}
usepackage{colortbl}

definecolor{steelblue}{rgb}{.275,.51,.71}
definecolor{lpink}{rgb}{.991,.711,.754}
definecolor{mygray}{gray}{0.92}
definecolor{darkblue}{rgb}{0,0,.5}
definecolor{darkgreen}{rgb}{0,.39,0}
definecolor{hgray}{gray}{.5}
definecolor{lgray}{gray}{.8}

usepackage[colorlinks=true,urlcolor=blue,linkcolor=blue]{hyperref} % for links and anchors

setCJKmainfont[BoldFont=Adobe Heiti Std]{Adobe Song Std} % 设置默认的中文字体
setCJKfamilyfont{kai}{Adobe Kaiti Std}

newcommand{kai}{CJKfamily{kai}}
newcommand{sectionname}{第CJKnumber{thesection}章}
newcommand{myheader}[1]{textcolor{darkblue}{#1}}

defprojectName{Enhance2web20}
renewcommandcontentsname{目录}

special{ pdf: bgcolor [ 1.00 0.98 0.95 ] }

linespread{1.382}

pagestyle{fancy}

makeatletter
  fancyhf{}
  lhead{textcolor{hgray}@title}
  rhead{textcolor{hgray}leftmark}
makeatother

makeatletter
renewcommand{maketitle}{
begin{titlepage}%
letfootnotesizesmall
    letfootnoterulerelax
    parindent z@
    reset@font
    vskip 10p@
    hbox{mbox{%
        hspace{4pt}%
        fbox{includegraphics[width=6em]{../logo.png}}%
        hspace{4pt}
        }%
     vrule depth 0.8textheight%
     mbox{hspace{2em}}
     vtop{% %%%%%%%%%%%%%%%%%%
        vskip 40p@
        begin{flushleft}
          Large projectName par
        end{flushleft}
        vskip 80p@
        begin{flushleft}
        textcolor{steelblue}{ fontsize{36}{20pt} bfseries kai @title }par
        end{flushleft}

      }
     }
     rightline{By @author}

  end{titlepage}%
}

makeatother

titleformat{section}[hang]{LARGEsfkai}
            {myheadersectionname}
            {1em}
            {myheader}[color{steelblue}{titlerule}]

titleformat{subsection}[hang]{Largesfkai}
            {myheaderthesubsection}
            {1em}
            {myheader}
titleformat{subsubsection}[hang]{largesfkai}
            {myheaderthesubsubsection}
            {1em}
            {myheader}

titlecontents{section}
              [2em]{largesfkaiaddvspace{-0.1em}}
              {thecontentslabelquad}
%%            {hspace*{-2.3em}}
              {}
              {titlerule*[0.8pc]{.}contentspage}
titlecontents{subsection}
              [4em]{smalladdvspace{-0.2em}}
              {thecontentslabelquad}
%%            {hspace*{-2.3em}}
              {}
              {titlerule*[0.8pc]{.}contentspage}
titlecontents{subsubsection}
              [6em]{smalladdvspace{-0.2em}}
              {thecontentslabelquad}
%%            {hspace*{-2.3em}}
              {}
              {titlerule*[0.8pc]{.}contentspage}

lstset{
keywordstyle=color{blue!70}, commentstyle=color{red!50!green!50!blue!50},
frame=shadowbox,
rulesepcolor=color{red!20!green!20!blue!20}
}
lstset{breaklines}%这条命令可以让LaTeX自动将长的代码行换行排版
lstset{extendedchars=false}

% lstset{ xleftmargin=2em,xrightmargin=2em, aboveskip=1em}

只要把最上面的代码,保存成J_sty_zh.tex,再你的代码中input进去就好了。示例如下:

documentclass[12pt,a4paper,titlepage]{article}
input{J_sty_zh.tex}%% 关键
title{架构说明书}
author{htmladdnormallink{tt Jerry Mouse}{http://jerrymouse.org.cn/}}
date{today}
begin{document}
maketitle
tableofcontents
clearpage
section{引言}
subsection{编写目的}
XXX
end{document}
文章分类 未分类 | 发表评论 |

Gae进阶和优化

在 2009年8月7日 上公布 作者为 yankay

俺炒作Gae已经很长时间的,却纠缠于细节,没有能很好的研究。自从eclipse之后我就对“云”耿耿于怀,遂看了一些资料。写个总结帖子。

云计算是什么,我又该重点炒作哪些内容?

记得院杯初赛的时候,郑淘同志向我逼问“云计算是个啥子嘛”,我回答到了“分布式”之后便无言以对,他便说“漂移”是云的精妙所在,我豁然没开朗。一万个听众心中,有一万个春哥。云计算知识用来被炒作的寂寞罢了。目前有两类很主流的云计算服务。

  • 一类是 Amazon S3(提供云存储),Amazon ec2(提供云计算服务)。S3用分布式文件系统实现,ec2则是用类似Xen的虚拟化来提供可伸缩的计算服务。两者商业应用很成功。
  • 另一种是Gae,同时提供 云存储和云计算服务。不同于前者,他使用MapReduce算法来提供可伸缩性。MapReduce算法说白了,在带宽比计算能力值钱,就是把任务切割为几块,到各自的机器上去跑,在合并起来。 与普通分布式不同的是每台机器上都有“数据库”,而不是普通系统中的只有专门的数据库服务器。Google其实拥有大量的底配置机器(和我们的PC差不多),和少量大机器完成管理工作,提供了无与伦比的计算能力。但Gae商业应用目前很不成功。原因在于Gae程序的迁移问题(其实也有方案的,下面会介绍),更多人愿意选择Amazon。

唠唠叨叨了半天,大概解释如下:云计算提供一个分布式的存储系统(Amazon S3 or BigTable),还有“云的运算”这不是重点。因为计算能力是最不值钱的。换句话说云计算相对于分布式,和春哥相对于李宇春一样。都是前者更为“性感”一些。而我就是要炒作“纯爷们”这个特点,并告诉大家信他得永生。也可以说云计算是把分布式推向大众的一个口号罢了。详细一点,我的炒点是 如何使程序适应云计算的环境。

如何让程序适应Gae?

不管是Gae还是Amazon都提供了一套API。你甚至能把普通的程序完全迁移过去,为什么要适应?

颠覆的数据库理论。什么一二三范式,什么数据库的良好实践,什么XXX。在这么都没应用无效。我们要换一种眼光来看待。这个要谈谈GaeVfs说起,这个是分布式文件系统,你可以大概理解为索引放在一台机器上,数据分散着。计算要跟着数据跑,所以数据表的粒度要大,一次要能取出全部数据,不要怕冗余,冗余是应该的。比方说,我建个人人网,我把某个人的全部数据包括日志啥的建成一个表,新鲜事也建成一个表,用户刷主页和新鲜事都只要刷一次表,速度极快。这才是我认为的最佳实践。有些人(大概就是作这个的工程师)总结的一下使用BigTable的要点,罗列如下。

  • 假定数据访问是较慢的随机访问而非较快的连续访问。
  • 为并发读取对数据进行分组
  • 磁盘和CPU都很便宜,不要再为它们操心,尽力提高可伸缩性吧
  • 围绕数据的用途来决定数据的结构
  • 创建大型的实体,允许可选的字段
  • 在模型中定义Schema
  • 用Ajax隐藏更新操作。
  • Put是昂贵的
  • 按显式费用模型设计
  • 将many-to-many关系包含到实体中,但减少关联元素的数量
  • 避免无限制条件的查询
  • 避免出现对数据存储实体的争用
  • 避免庞大的实体组

数据库设计完了,那么其他可以用领域模型设计,注意粒度放细便于Gae切割任务。

还有一点,很重要,缓存。是的,分布式缓存。很明确,Gae使用Memcached接口来缓存。缓存实现原理应该和GaeVfs差不多。注意点也差不多。Restful应用对于缓存来说是个不错的实践。

其他相关项目

我不得不提几个项目:

Hadoop,可以理解为Gae的一个Apache的实现,可以跑在普通机器上。跑在Amazon上可以实现类似Gae的效果。

Appscale,提供Gae程序到Hadoop的迁移。

Gaeo是前朝人的项目,想法和我们的GaeS如出一辙,只是他的语言的Python,我们是Java,相信我们可以借鉴不少东西。

文章分类 未分类 | 发表评论 |

Maven中多模块项目的Site生成

在 2009年8月6日 上公布 作者为 yankay

疲累不堪的我一定不能在写完之前倒下。

Maven生成站点大家都会。mvn site,mvn site-deploy。不管是单模块,多模块一切OK。可是如果不凑巧,你如果为一个子项目专门 配置了 site.xml ,

当你在父项目目录下运行mvn site-deploy时,很遗憾,他会一点作用都没有,使用的是 父项目 site.xml

当你进入子项目目录,运行 mvn site-deploy,一切OK。

于是这五个小时我被折磨的蛋疼,学习的大量的Maven知识,实验的数百次(运行了一下history,发现其实只有73次)。于是倒下了。

在昏死中,我想起来了,site.xml支持继承,而如果要编写一个支持继承的插件,最起码的要求就是在运行父子项目的时候必须运行的是同一个插件。那么 解决方案如下:

在父项目的 pluginManagement 中明确 使用 maven-site-plugin。而在每一个项目中都明确使用 maven-site-plugin

代码如下:父项目pom.xml:




org.apache.maven.plugins
maven-site-plugin
2.0





org.apache.maven.plugins
maven-site-plugin



子项目pom.xml:




org.apache.maven.plugins
maven-site-plugin



解决之,终得眠

文章分类 未分类 | 发表评论 |

Latex排版模板

在 2009年8月5日 上公布 作者为 yankay

Latex排版不短时间了,配置已经不是问题。问题是美观,我想作一个新的文档模板。

侯先生这本《Word排版艺术》告诉我,据他多年排版的经验,正文可用9.5磅字(比五号字略小),字体是华康简宋(实践证明,这会使字体间距不一,还是Adobe无敌),行距16磅(或18磅),段前4磅,段后 8磅。这样排出来的正文很均匀美观,没有常见的那种挤成一团的感觉,可直接付印。

下面是来自法国的一些latex模板,我想会很有帮助。

封面模板

chapter模板

section模板
再推荐一个不错的Latex学习站点吧。里面也有一些更酷的模板。

看了这么多,发现关于Latex排版美化的网站大多都是法国的,法国真是个足够浪漫的地方。

文章分类 未分类 | 发表评论 |

GaeVfs 我又失败了

在 2009年8月5日 上公布 作者为 yankay

操作系统没白上,我知道了 Vfs 是啥(虚拟文件系统)。希望能显示文件夹,试了一整天,从单纯实验,到编辑依赖,到修改源码。无所不用其极,最后失败放弃了。

我又一次感到了这个项目的重要性。希望如果我把GaeS完成,再来作这个的时候,会比较轻松一点。

文章分类 未分类 | 发表评论 |

睡不着

在 2009年8月2日 上公布 作者为 yankay

今天睡不着,但又很困。起来看看书,看不下去了再玩玩电脑。

也是放荡了一个月,什么也没干。二玉哥的项目,中科杯的项目,院杯都是要紧的事情。acm拖欠好多的题目没有交。20号之前又要考驾照去不了学校,还想和两个徐足球去华西村。事情好多,我还闲的慌。向往古人那闲散的日子,想犬夜叉里的村民一样的生活。
而我有陷入了沉思,我为什么要这样做,是不是太执着了一些。或许我该多外出,或许该联系联系思念的人,或许该减减肥。算了还是看书吧,已经陷入了,那么拔出了也是一种执着。

文章分类 未分类 | 发表评论 |

0/1背包和完全背包的java解法

在 2009年7月14日 上公布 作者为 yankay

背包问题:

现有 n 件物品,一个最大容量为 maxWeight 的背包。第 i 件物品重量为 weights[i] ,价值为 values[i] 。如果是0/1背包,对于一件物品,你必须选择取或不取,且每件物品只能被取一次(这就是“0/1”的含义);如果是完全背包,你可以选择任意多件。

求放置哪几件物品进背包,使得背包中物品价值最大。

思路:推荐

  • 0/1背包
  • 完全背包

说的清清楚楚地。

代码最实际了:
0/1背包

public static int unpack(int[] values, int[] weights, int maxWeight) {
  int[] ans = new int[maxWeight + 1];
  for (int i = 0; i = weights[i]; j--) {
      int takeValue = values[i] + ans[j - weights[i]];
      if (takeValue > ans[j]) {
        ans[j] = takeValue;
      }
    }
  }
  return ans[ans.length - 1];
}

完全背包:

public static int unpack(int[] values, int[] weights, int maxWeight) {
  int[] ans = new int[maxWeight + 1];
  for (int i = 0; i  ans[j]) {
        ans[j] = takeValue;
      }
    }
  }
  return ans[maxWeight];
}
文章分类 未分类 | 发表评论 |

宿醉记

在 2009年6月30日 上公布 作者为 yankay

民国九十七年五月初七,因迁仙林,同窗伤别离,聚而豪饮,曰散伙饭,其间诸事,感慨万千,午夜酒醒,遂记之。

夕阳下,诸事毕,群聚寻一酒家,皆客满,无可得饮者。诸生乐,步至沿江镇,其间喜而滑板者,皋城颜开也。途遇白孟阳,黄渊者,亦图饮而散也。旬觅得酒家,坐定。

席间,诸生酒逢知己,畅怀豪饮,嬉笑怒骂,无不为也。宁阳博翰,辽东守卫,狂谈蹴球,买卖球员,不亦乐乎。常州严铖,大声呼叫于席间,取诨名,干酒杯,瓜 分天下,乐此不疲。太子徐铖,能食能饮,食尽盘中物,饮尽坛中酒,亦得宿醉。徐俊杰不饮酒,失一乐。唯徐氏建国者,觅肉而食,酒则敷衍,极尽猥琐之态。饮 少辄醉,卧于席间者,吾也。

遥记吾醉,晕眩中狂笑不止。笑今日之乐,笑今生之乐,笑友人之乐,笑世人之乐,凡所诸事,皆为乐事,诸生问吾何以乐,吾不知,唯有以笑解脱,直至脱力。复 念今日之乐,皆由自分离之苦,遂眼泪纵横,嚎哭不止。悲今日之离别,悲今世之离别,悲复国之无望,凡所诸事,皆苦不堪言,哭更甚,泪加多。诸生劝慰,吾哭 不止,直至泪尽。其后诸事,渐已忘却。

记此文时,不知觉中,泪复下,不止。

文章分类 未分类 | 发表评论 |

软件图书馆借书有感

在 2008年10月27日 上公布 作者为 yankay

前几天去软件借了一本不著名的linux书,借书的时候发现,张昊在两年前同一时段也借了这本书,我们的学号也几乎一样就是相差了两年。我不是想说我和他有缘什么的,而是觉的我仿佛被那些大哥拐上了他们的道路。而我们也自觉不自觉的模仿他们,以他们为榜样和目标。所以原本并不迷茫的我陷入了迷茫。这是真的我吗?如果我是真的我,那我该做什么?……直至世界为什么存在之类无聊话题。 经过漫长的思考,我想明白了两个道理。当我迷糊的时候,我做的事是我真正想作的。因此到目前为止,我还是我。我一定要为这个世界留下些什么,不能白白走一遭。

文章分类 未分类 | 发表评论 |

Windows下eclipse的 C++环境配置

在 2008年8月16日 上公布 作者为 yankay

引言
方便大家在windows下进行C++开发,且现在很难找到最新版的eclipseC++配置说明,这就是我写这篇文档动机。

l  eclipse CDT项目的主页:http://www.eclipse.org/cdt/。

l  eclipse 的主页 http://www.eclipse.org/

l  DevCPP 的主页 http://www.bloodshed.net/devcpp.html

Eclipse 是一个伟大的IDE也可以说是平台,目前版本3.4,代号ganymede。CDT是eclipse的一个写C/C++的项目,目前版本5.0。而 DevCPP是另一个和eclipse风牛马不相及的的IDE,但是它捆绑的mingw32是我们需要的编译器,正如写java需要JDK一样,我们需要 他来进行编译。

你可以在以下地址下载所需要的软件:

l  Eclipse http://www.eclipse.org/downloads/

n  如果你只写C/C++,就选Eclipse IDE for C/C++ Developers (68 MB)

n  如果你渴望拥有eclipse其他的功能,就选Eclipse Classic 3.4 (151 MB)

l  DevCPP http://www.skycn.com/soft/4639.html

安装
相信大家已经迫不及待地下载下来了。

安装DevCPP。建议装在D:Program FilesDEV-CPP,没别的意思,这样可以照抄我的环境变量。

Eclipse解压就能用。可以随意选个workspace。如果你是下载的Eclipse IDE for C/C++ Developers (68 MB) 那么安装过程到此结束,如果是其他版本,则:

1.          打开eclipse,点击菜单上的Help->software update

2.         选择available software标签,点击Ganymede前的箭头,将C and C++前的框选上,点击右上方的install.
3.         Next…install……. Finish…restart。就是这么简单。

附:假如你的eclipse版本是3.3,代号europa则稍有不同。

1.          打开eclipse,点击菜单上的Help->software update->find and install

2.         选Search for new features to install

3.         勾选europa discovery site->finish

4.        点击europa前的箭头,将C and C++前的框选上
5.         Next……install…. Finish…restart。也是这么简单。

配置
1.          打开DevCPP.工具->编译器选项->目录
2.         打开eclipse.window->preference->C/C++->environment
3.         单击Add,在name中填path,在value中填DevCpp中“二进制”的值” d:Program FilesDEV-CPPBin”。以下是对应关系,和我的赋值。Ok.设置完毕

Eclipse中的name DevCPP中的中文名 我自己的value
path 二进制 D:Program FilesDEV-CPPBin
LIBRARY_PATH 库 d:Program FilesDEV-CPPLib
C_INCLUDE_PATH C包含文件 d:Program FilesDEV-CPPinclude
CPLUS_INCLUDE_PATH C++包含文件 d:Program FilesDEV-CPPinclude;d:Program FilesDEV-CPPincludec++3.4.2;d:Program FilesDEV-CPPincludec++3.4.2mingw32;d:Program FilesDEV-CPPincludec++3.4.2backward;d:Program FilesDEV-CPPlibgccmingw323.4.2include

4.        如果你不怕现在麻烦, 可以把这个编译器设置为mingw32。window->preference->C/C++->New CDT project…。将下方个show project types…..的勾去掉。选executable,选mingw gcc .按make toolchain(s) preferred.ok

5.         重启eclipse.

HelloWord
没什么语言逃的了helloWorld.

1.          打开eclipse,file->new->other->C++ project

2.         弹出如下对话框,去掉下方show project…..的钩,Project types选exexutable->Hello World C++ Project.Toolchain选MinGw(如果你默认配置在minGW则不用选).Finish.
3.   选中helloWorld.cpp文件,按运行按钮 。下方控制台自动编译,并运行,显示出!!!Hello World!!!

附
1.          eclipseCDT很好很强大。

2.         在linux中eclipseCDT不需要任何配置,下载就可用。和windows形成鲜明对比。

3.         除此之外还有更强大的可以编辑C++工具,比如VIM,Emacs.就是我不会用。

文章分类 未分类 | 1 条评论 |
« 上一页
下一页 »

近期文章

  • 听说 Docker 被 kubenetes 抛弃了,怎么办?containerd
  • 公告 – 博客重开了
  • CloudFoundry v2面面谈,内赠MicroCFv2福利
  • Docker能够运行任何应用的“PaaS”云
  • Scala Tour – 精选

近期评论

  • [整理]完美哈希函数(Perfect Hash Function) - 高性能架构探索发表在《最小完美哈希函数简介》
  • Scala Tour – 精选 - Java天堂发表在《Scala Tour – 精选》
  • Golang适合高并发场景的原因分析 - 站壳网发表在《Go-简洁的并发》
  • HBase 官方文档 – 源码巴士发表在《Windows下eclipse的 C++环境配置》
  • Go-简洁的并发-点开发表在《Go-简洁的并发》

归档

  • 2021年6月
  • 2021年3月
  • 2014年2月
  • 2013年9月
  • 2013年5月
  • 2013年1月
  • 2012年11月
  • 2012年9月
  • 2012年8月
  • 2012年3月
  • 2012年2月
  • 2012年1月
  • 2011年11月
  • 2011年10月
  • 2011年9月
  • 2010年10月
  • 2010年8月
  • 2010年7月
  • 2010年6月
  • 2010年5月
  • 2010年4月
  • 2010年3月
  • 2010年2月
  • 2010年1月
  • 2009年10月
  • 2009年9月
  • 2009年8月
  • 2009年7月
  • 2009年6月
  • 2008年10月
  • 2008年8月
  • 2008年7月
  • 2008年6月

分类目录

  • 家庭生活
  • 未分类
  • 每日心得
  • 软件技术

友情链接

  • DaoCloud Enterprise
  • DaoCloud 云原生一体机

CyberChimps WordPress Themes

沪ICP备2021008917号-1 © 颜开