0%

嘿,最近快高考了,家里长辈的一些声音总是不绝于耳:别玩电脑了,快去复习,现在这么要求你是为了你好。

是这样的吧,长辈都是关心我的,所以我照做肯定没有错。可是为什么心里却有很多压抑,总觉得自己这样的人生是不是就如同复制出来的人生,那么我自己又在什么地方呢?我总是爱冥想,想着一些莫名其妙的问题……

嗯?为什么今天家里没人?为什么我看的电视里放着一部电影?我就算看电视也应该在看喜羊羊的啊。不过我没有追究完这么多为什么,因为我似乎被电影的剧情吸引了。说起来也奇怪,这其实是一部在我觉得很老套的文艺片,里面女主对男主爱的死去活来,只不过男主感受不到。这样的情节不应该引起我的注意才对。

而冗杂的电影里面,我现在只记得女主最后实在忍受不了跟男主争吵的桥段,大意不过是在控诉为何自己付出那么多却得不到自己想要的关心和爱护。

或许是在看别人故事的缘故吧,我好像大致能懂这对纠结情侣之间的问题:其实看得出男主对女主是有感情的,相处的时候男主做的很多细节也体现了对女主的关心。可是男主比较委婉,不曾将这些细节和盘托出,所以女主也就没有切身的体会到被爱。而女主则比较简单直接,没有那么多委婉。她觉得什么方式是好的,就在用什么方式对待男主,时刻希望男主能感觉到她就在身边。可是这种自以为的方式,不过是她自己最能接受的方式罢了。换句话说就是,当别人用她的这种方式来关心她时,她才能感觉的到自己是有人爱护的。

所以其实两个人都没有错的吧,不过是频段不一样,加上两个人在沟通之前都想表达自己其实更在乎对方,可没想到的是,这些话到了嘴边却变成了谁更伤害对方的现实。

而这一切的美中不足,大概就是还没等我看到结局,就被开门声吵醒了。原来那部电影是个梦,我在看喜羊羊的时候睡着了……更悲催的是趁家里没人偷看电视这一行径被抓个现行又挨批了。只不过这时候我似乎想通了之前的问题:其实长辈们没错,他们教育我的时候有自己的既定立场,因为他们已经替我们经历过了未来我们可能经历过的事,所以有那些教育我的角度。理虽明白,可是我亦只有一个一生,我虽然希望能顺着长辈们的好意,按着他们的期望走下去,但其实我更想把我的一生定义成我想要的样子。也许未来的某个桥段我会出现差错,可是这出戏演起来,经历的更多我才能收获的更多吧。当然我也相信,等到我年纪老迈之时,可能对晚辈也会“指指点点”,因为我们总是用自以为最好的方式要求着别人。无他,这是表达爱意的一种方式。


此段文与作文主体无关:

写这作文不过是突发奇想,希望把我理解的安徽高考今年的作文题跟大家交流一下。而关于作文本身,希望轻吐槽,毕竟从09年到现在,时代也有点久远了,而且虽然努力回忆我高考时的心态来写这作文,可是好像引那样的故事也不太合适,哈哈。

其实我还是很怀念那段高考时光的。因为好像全世界对我们都很关心,很宽容。印象最深的是有一次在后期冲刺阶段,我买了一本书之后打车回学校,司机看我拿着复习材料便问:“快高考了吧”。我简单的回了一句“是的”,笑一笑,便没了下文。没想到的是这位司机蜀黍在送我到学校之后很关心的叫我好好加油,别太累。还有一次便是考英语那天下午,我从家准备打车去考场,在招出租的时候有点争抢的意味,结果司机阿姨说带我吧,先把我送到考场要紧。

当然最怀念的还是那段时间朋友们的鼓励和陪伴,也因为舍不得,所以甚至把当年六月份的短信都保留了下来发到了空间的日志上面。链接应该在这里

而远离高考这么多年,对我改变最大的应该是喜欢上了用笔在纸上写字的感觉。虽然当年作为母语是汉语的我,整个高中的语文考试几乎没及格过,唯一记得及格的就是高考的语文考试,但这不妨碍我现在喜欢那种笔尖在纸上婆娑的样子。唯一的缺点就是字略丑影响美感,哈哈。有图有真相~

IMG_20140607_205019

Peace.

当初在筹划建站的时候,无意间发现有人用时间轴的样式做了一个文章归档的页面,顿时觉得十分高大上。于是联系到那位亲几封邮件下来终于也把时间轴归档弄到我的博客来了。

Anyway,先来看看代码吧(以下代码是针对我所使用的Clearision主题修改而来的)

  • footer.php添加引入jquery语句(要在script.js引入前引入)
1
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8/jquery.min.js"></script>
  • 修改js\script.js 添加
1
2
3
4
5
6
$('.archives ul.archives-monthlisting').hide();
$('.archives ul.archives-monthlisting:first').show();
$('.archives .m-title').click(function() {
$(this).next().slideToggle('fast');
return false;
});
  • 在clearision下参考留言板模版page-comments.php创建page-archives.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
<?php /* Template Name: 文章归档 */
get_header(); ?>
<div id="ctn">
<div id="content">

<?php while ( have_posts() ) : the_post(); ?>

<div class="post_ctn">

<div class="archives">
<?php
$previous_year = $year = 0;
$previous_month = $month = 0;
$ul_open = false;
$myposts = get_posts('numberposts=-1&orderby=post_date&order=DESC');
foreach($myposts as $post) :
setup_postdata($post);
$year = mysql2date('Y', $post->post_date);
$month = mysql2date('n', $post->post_date);
$day = mysql2date('j', $post->post_date);
if($year != $previous_year || $month != $previous_month) :
if($ul_open == true) :
echo '</ul>';
endif;
echo '<h3 class="m-title">'; echo the_time('Y-m'); echo '</h3>';
echo '<ul class="archives-monthlisting">';
$ul_open = true;
endif;
$previous_year = $year; $previous_month = $month;
?>
<li>
<a href="<?php the_permalink(); ?>"><span><?php the_time('Y-m-j'); ?></span>
<div class="atitle"><?php the_title(); ?></div></a>
</li>
<?php endforeach; ?>
</ul>
</div>

<div class="post_t">
<!--<?php the_content(); ?>-->
</div>

</div>

<?php endwhile; ?>

</div>
</div>

<?php get_sidebar(); ?>
<?php get_footer(); ?>
  • 修改style.css添加相关效果
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
/*归档时间轴*/  
.archives ul{overflow:hidden;padding-left:0px}
.archive-title{border-bottom:1px #eee solid;position:relative;padding-bottom:4px;margin-bottom:10px}
.archives li a{padding:8px 0;display:block;border-bottom:0;}
.archives li a:hover .atitle:after{background:#FF6600}
.archives li a span{display:inline-block;width:100px;font-size:12px;text-indent:20px}
.archives li a .atitle{display:inline-block;padding:0 15px;position:relative;white-space:nowrap;width:calc(100% - 180px)}
.archives li a .atitle:after{position:absolute;left:-6px;background:#ccc;height:8px;width:8px;border-radius:6px;top:8px;content:""}
.archives li a .atitle:before{position:absolute;left:-8px;background:#fff;height:12px;width:12px;border-radius:6px;top:6px;content:""}
.archives{position:relative;padding:10px 0}
.archives:before{width:4px;background:#eee;position:absolute;left:100px;content:"";top:0}
.m-title{position:relative;margin:10px 0;cursor:pointer}
.m-title:hover:after{background:#FF0000}
.m-title:before{position:absolute;left:93px;background:#fff;height:18px;width:18px;border-radius:6px;top:3px;content:""}
.m-title:after{position:absolute;left:96px;background:#ccc;height:12px;width:12px;border-radius:6px;top:6px;content:""}
  • 创建文章归档页面

因为JS的问题,这样的时间轴样式只能在chrome/Firefox内核的浏览器下有折叠的效果,如下图:

chrome

而在IE9及以下的版本,是折叠不了的。

IE9

一、Reset master

这个语句可以验证首次配置主机备机是否成功、步骤如下:

1. 启动master和 slave,开启replication (即 复制)

注:replication (复制) 也是mysql一个重要的技术

2.运行一些测试的语句看数据是否能够复制到 slave上面

3.当复制运行正常的话,就 stop slace 然后在slave上面执行 reset slave,去掉不需要的数据

4.在master上面执行reset master 去掉2中产生的数据。

可以删除列于索引文件中的所有二进制日志,把二进制日志索引文件重新设置为空,并创建一个新的二进制日志文件

当有slave正在运行的时候请不要执行这个语句。

和 PURGE MASTER LOGS 的区别有2点:

1.当执行 RESET MASTER 的时候 所有二进制日志 都重新设置为空 以 .000001 编号结尾的文件都被清空

而PURGE MASTER LOGS 却没有重置

2.RESET MASTER 有备机正在运行的时候不能执行 而 PURGE MASTER LOGS  是可以执行的。

注意:RESET 这个命令要慎用 只是在初始化环境 删除垃圾数据的时候取使用 目前正在运行的库 最好是不要去执行!!!!

二.PURGE MASTER LOGS

语法

PURGE {MASTER | BINARY} LOGS TO ‘log_name’ –用于删除指定日志之前的所有日志

PURGE {MASTER | BINARY} LOGS BEFORE ‘date’  –用于删除日期之前的日志,BEFORE变量的date自变量可以为’YYYY-MM-DD hh:mm:ss’格式

如:(MASTER 和BINARY 在这里都是等效的)

PURGE MASTER LOGS TO ‘test-bin.000001’;

PURGE MASTER LOGS BEFORE ‘2011-01-0100:00:00’;

如果您有一个活性的slave,该slave当前正在读取您正在master试图删除的日志之一,则本语句不会起作用,而是会失败,并伴随一个错误;如果slave是停止的,同时碰巧要清理的日志是其想要读取的日志之一,则salve启动后不能复制这些日志;当slave正在复制时,本语句可以安全运行。您不需要停止它们。

要清理日志,需按照以下步骤:

1.在slave上,使用SHOW SLAVE STATUS来检查它正在读取哪个日志。

2.使用SHOW MASTER LOGS获得master上的一系列日志。

3.在所有的slave中判定最早的日志。这个是目标日志。如果所有的slave是更新的,这是清单上的最后一个日志。

4.将所有要删除日志的备份

三. 指定自动清理日志的参数

my.cnf 配置文件中的参数  expire_logs_days  默认值为0,表示“不要自动删除”

启动时和二进制日志循环时可能删除

语法:mysql -u -p进去之后 执行:

set GLOBAL expire_logs_days=5;

但是设置了 不会马上生效

需要执行:

1.执行 flush logs;

(关闭当前的二进制日志文件并创建一个新文件,新的二进制日志文件的名字在当前的二进制文件的编号上加1。)

2.或者等待当前的日志文件写满设定的大小(重启服务器可选)

expire_logs_days=5   –表示自动删除5天以前的日志

备注:当有备机的时候一定要注意master对slave的影响。

配置主从复制的前提,是主从两个MySQL版本号最好一致。然后我们来看看如何配置:

  • 修改主数据库配置文件my.cnf(or my.ini)

    开启二进制日志 设置server_id=1 重启主服务器MySQL服务

  • 修改从数据库配置文件my.cnf(or my.ini)

    设置server_id=2 重启从服务器MySQL服务

  • 在主数据库新建一个用来复制的用户(下划线处可自定义)

1
2
CREATE USER 'repl'@'%(此处也可定义为自己的从服务器IP)'IDENTIFIED BY 'slavepass';
GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%';
  • 在新建数据快照或者开启复制进程之前,需要定位主服务器二进制日志的坐标
1
2
mysql> FLUSH TABLES WITH READ LOCK;    --对于InnoDB表,该操作还会锁定commit操作
mysql> SHOW MASTER STATUS; --记录file和position的值。这条命令最好新建一个会话再执行。
  • 若你的主数据库已经存有数据,并且你希望从服务器同步这些数据。那么你需要新建一个数据快照。一般新建数据快照的方式有两种:MySQLdump;直接拷贝数据文件。
1
shell> mysqldump --all-databases --master-data > dbdump.db --该事例表示将所有数据库导出到一个名为dbdump.db的文件中,附加的 --master-data命令,官方文档解释了一大堆,看着似懂非懂,反正都加上吧-。- 如果你的数据库比较大,那么将原始数据文件直接复制到从服务器比使用mysqldump要效率很多。
  • 解锁主数据库
1
mysql> UNLOCK TABLES;
  • 将主数据库的dump出的文件导入到从服务器
1
shell> mysql < dbdump.db
  • 在从服务器开启复制进程
1
2
3
4
5
6
7
8
9
mysql> START SLAVE;  --一般情况下是启动不了的,必须先change master to 
mysql> CHANGE MASTER TO
-> MASTER_HOST='master_host_name',
-> MASTER_USER='replication_user_name',
-> MASTER_PASSWORD='replication_password',
-> MASTER_LOG_FILE='recorded_log_file_name',
-> MASTER_LOG_POS=recorded_log_position;
mysql> START SLAVE;
mysql> show slave status \G --检查Slave_IO_Running以及Slave_SQL_Running,如果都为yes则主从复制配置成功。若不成功,该命令可以看到相关报错。

此为转载文章,原链接:http://www.aips.me/disable-and-delete-wordpress-revision-history-of-a-method.html

1.禁用 WordPress 文章修订历史功能

打开 WordPress 根目录下的 wp-config.php 文件,添加下面的代码即可:

1
define("WP_POST_REVISIONS", false);

2.删除 WordPress 已有的文章修订记录

上面也说过,WordPress 文章的修订记录,都是被写入了数据库,所以我们需要删除MySQL数据库中有关的语句SQL 如下(直接删除即可):

1
2
3
DELETE FROM wp_postmeta WHERE post_id IN (SELECT id FROM wp_posts WHERE post_type ='revision');
DELETE FROM wp_term_relationships WHERE object_id IN (SELECT id FROM wp_posts WHERE post_type='revision');
DELETE FROM wp_posts WHERE post_type='revision';

OK,搞定了,操作完上面的两部,以后在wordpress写文,将不会产生历史修订,所以数据库也不会变的庞大!

这大概是一篇观后感吧,记在看了《同桌的你》之后
  • 做我女朋友吧

所有故事的开始,似乎总是喜欢用最直接最美好的方式拉开帷幕,吸引着别人的关注。

学生时代,让我最憧憬的情感大概就是,一个人的一句话,就努力奋斗考到对方能上的学校。因为好像这样的努力看上去很简单,我们不需要考虑的太多,只要大考过了起码能在一起好几年的时间,而不出意外,还可以有更久的日子。最重要的是,那一句话可以让我有多大的动力让我急着往前走。嗯,其实没有推力,我一般不会调动自己所有的小宇宙,大概是这样吧。

  • 这是我们两个人的事 我一个人办不到

婚礼前的酒宴,周小栀带着十杯酒,说着那些为了林一去了美国之后努力奔赴团聚时所做的努力。可是结果一次一次的打击着她,她不确定了。那时候她想着把林一叫回来的吧,可是想一想,林一在美国发展的应该会很好吧,自己不确定她还值得林一回来找她。

“我已经不是当初那个林一了,你也不是当初那个周小栀”。是这样的,她没去美国,可是每一天都在地图上一遍又一遍的看着他可能走过的路;他在美国,虽然已经接到电话说她不会来美国了,可还是习惯着搬家的时候找一间带向南窗户的房子,甚至想象着院子里挂着她的裙子,该是多么的好看。他不是当初那个林一,不是那个为了周小栀不计后果的林一;她不是当初那个周小栀,不是那个为了林一不惧生死的周小栀。

只不过人们总是在完成不了一个愿望的时候,将未完成的原因推给现实。可是我天真的以为现实只是人们掩盖自己任性的幌子。所谓现实,明明是人性的弱点催生出来的实际情况,可是最后被当作了责备对方的理由。恐怕不太合适吧。

  • 我想在教堂办一个独一无二的婚礼 跟谁的都不一样

当婚礼开始的时候,因为看过了预告片,加上周小栀前面剧情里说的这句话,所以总是爱幻想的我天真的觉得,这之后的抢亲应该就是这部电影最后的结局了吧。结果虽然“差强人意”,不过当幻想出来的镜头切回现实的时候,影院里的一片哗然倒是让我有一丝安慰,因为让我觉得天真的人其实不止我一个。

而那场由周小栀幻想出来的抢亲,那个在神父询问是否愿意时迟疑的眼神,想象着他能像自己彼时在非典时不顾生死将手伸向他那样,能在教堂握着她的手,不顾一切的往外面奔跑。甚至做好了所有的准备,连逃婚用的平底鞋都穿好了,只不过……正当时,林一心里想的应该是,周小栀终于安稳的嫁给别人了,毕竟自己一败如水,根本提不起勇气,甚至不敢想抢亲的念头。所谓人性,不仅有自私,还有怯懦。

  • The End

记忆总是喜欢添油加醋,好像曾经的某个瞬间自己做或者不做一些事,结果就会向最好的方向发展。好在实际发生的事情总喜欢是不是的给我们来一记响亮的巴掌,如嘲讽一般。

Yep,所有的故事都有结局,而关乎青春的故事更喜欢以当下看起来很悲伤的结局收尾,犹如那些年,犹如终将逝去的青春。不管有多怀念,未来的某一天,总会有这样的问题被问出来:

Miss Zhou.Do you come freely and without reservations to give yourselves to each other in this marridge.

而后还会伴着一个理所应当的答案:

我愿意。

the-old-classmate

  • The end of the End

爱情总是在自己最需要最感动的时候来到自己身边才是最好的,因为这个恰当的时候拥有这样一份感情,才容易让故事足够久的走下去。这也正是我现在对爱情不抱美好希望的“原罪”:不是别人多么适合,只不过是那年时光恰好。类似于这篇“观后感”,本意是在看完电影后就写出来的,可是总想沉淀更多的东西,却慢慢的将当初看电影的情绪也近乎消磨殆尽,最后拖拉成这个样子,以至于到今天应付为之。

我知道,所有的事情,必有来时路。

Edited at 杭州一生一信 Posted at 2014.6.14

今天是个美好的日子,我依稀的记得彼时的这个时候,我熬过了最漫长的一个星期,然后……

首先先看一下我们发出邮件后,一系列的邮件发送动作(图片来自网络)

1

如图所示,文字表述就是:我们写好邮件后由1(Mail User Agent)

负责投递到我们注册邮箱的邮箱服务器(Mail Transfer Agent),这时候我们的邮箱服务器判断投递目的地是本服务器还是别的邮箱服务器,这里我们抢林距离门票的邮件,当然都是从我们的MTA发送到jjlin.com的MTA。

其次具体说明一下抢票邮件从我们的MTA到jjlin.com的MTA相关流程

1.我们从QQ邮箱发送邮件至service@jjlin.com时,因为两者用的是不同的MTA,所以QQ邮箱发出去之前,得通过DNS服务器查询jjlin.com的MX记录,如下图所示

2

根据preference高低,选择对应的mail exchanger。这里jjlin.com只有一个mail exchanger,遂没有特别的选择。

2.通过DNS服务器查询ms.jjlin.com的A记录,即具体到该mail exchanger的IP地址。

3.如果连接失败,则返回不发连接异常(有的系统会有重试或者软弹回)

4.如果连接成功,则使用SMTP协议发送到jjlin.com的MTA。这时候我们的抢票邮件就争先恐后的游到了版工的邮箱服务器,而我们的先后顺序在这一步就差不多定下来了。

5.jjlin.com的MTA收到邮件后通过本身的Mail Delivery Agent分发到service@jjlin.com。分发的过程中可能会再一次对前面安排好的顺序进行微调。当然这些调整都是人工干预不了的,请放心。所以我们常说的抢票拼人品,就是指的这些。

尾巴:

从这件事的当事人发布的一些质疑来看,首先有这么几个问题,当事人微博说道“用的腾讯微博的定时发送,后来又确认了无数次是八点发过去的”。可是我在腾讯微博的相关功能里面,没有找到腾讯微博可以定时发送邮件的功能,不知当事人可否在其QQ邮箱中查到相关的抢票邮件,以及投递状态。另外一个问题就是看到当事人的一些评论中表示林距离微博下面的评论也有其他歌迷没有抢到票,于是质疑“既然開始的時候名單就不夠,為什麼還會有沒搶到的情況”。这里我觉得有必要引出另外一个可能性,即是否按照规范发送了抢票邮件,众所周知我们的抢票都有相应的邮件主题格式以及内容要求。有些人可能觉得犯这种错误的人在少数,但事实是在我管理的某分会邮箱,却时常见到有些需要登记的歌迷没有按照规定主题发送登记邮件。而我采取的一种稍微极端的措施是对所有发送来的邮件制定规则自动分组,凡是不在“入会登记”文件夹的新邮件我都不会查看,只会直接删除,详见下图

3

而我这么做的目的只有一个,那就是尽量保证入会的歌迷,在基本的邮件操作上是没有问题的,否则之后因为邮件发送不到位导致无法正常参加活动,最后责怪我们暗箱操作或者其他阴谋论指责,我个人是受不了的。

最后尤其想要吐槽的就是,当事人觉得只要有组织就一定会有猫腻,只要有组织就有贪污。而我所在的某分支组织,目前为止的几年中,其表现可能会颠覆您的这种世界观。

没办法,谁叫my big is always so high。哦,翻译过来就是我的逼格总是如此の高

Peace~

安装之前先which svn,查找系统中是否有svn命令。若找不到该命令,则欢迎往下看。

首先是最简单的svn安装方式,即yum安装

1
yum install svn -y

但通过此方式安装,获得的版本比较低。

其次便是通过编译源码完成安装

1.下载最新的subversion源码(截止2014/05/19,最新版为1.8.9)

1
wget -c http://mirrors.hust.edu.cn/apache/subversion/subversion-1.8.9.tar.gz

2.解压subversion

1
tar xzf subversion-1.8.9.tar.gz

3.下载sqlite并解压

1
2
wget -c http://www.sqlite.org/sqlite-amalgamation-3071501.zip
unzip sqlite-amalgamation-3071501.zip

4.将sqlite-amalgamation-3071501中的所有文件复制到subversion-1.8.9/sqlite-amalgamation文件夹(sqlite-amalgamation为手动新建)

5.下载scons并安装,然后通过scons安装serf以使svn支持http、https协议(Subversion no longer supports the neon http library with 1.8 and has moved exclusively to using the serf http library)

scons官网:http://www.scons.org/

serf官网:https://code.google.com/p/serf/

1
2
3
4
5
6
rpm -ivh scons-2.3.1-1.noarch.rpm
(注:若使用的是ubuntu系统,则在scons官网下载scons-local package的prior stable包,并直接使用文件路径安装)
#进入serf源码包目录
scons PREFIX=/usr/local/serf APR=/usr/local/apr APU=/usr/local/apr-util
#/tmp/scons/scons.py PREFIX=/usr/local/serf APR=/usr/local/apr APU=/usr/local/apr-utile
scons install

6.进入subversion源码包目录,编译、安装

1
2
./configure --prefix=/usr/local/webserver/subversion --with-apr=/usr/local/apr/bin/apr-1-config --with-apr-util=/usr/local/apr-util/bin/apu-1-config --with-zlib --with-apxs=/usr/local/webserver/apache2/bin/apxs --enable-maintainer-mode --enable-mod-activation --with-serf=/usr/local/serf
make && make install

启动或安装时报错svn: error while loading shared libraries: libserf-1.so.1: cannot open shared object file: No such file or directory,则cp /usr/local/serf/lib/libserf-1.so.1 /usr/local/webserver/subversion/lib并重新安装

安装完毕,查看httpd.conf中是否有dav_svn_module以及authz_svn_module拓展,并且可以使用命令svn –version查看svn版本信息。

若使用svn –version提示无此命令,可以编辑profile文件添加变量环境

1
vim /etc/profile

在文末添加svn安装位置

1
2
3
PATH=/usr/local/webserver/subversion/lib:/usr/local/webserver/subversion/bin:$PATH
export PATH
source /etc/profile //使环境立即生效

此时使用svn –version应该能看到想过信息了,如下图(我当初安装的是1.8.8):


 

补充:配置svn使用svn协议和HTTP协议访问(2014/11/10)

svn协议访问:

新建一个文件夹存放项目库,比如mkdir -p /data/svndata

使用命令创建新项目test:

1
svnadmin create /data/svndata/test

编辑test/conf/文件夹下svnserve.conf、passwd、authz文件

清除svnserve.conf中anon-access = read、auth-access = write、password-db = passwd、authz-db = authz前面的#和空格符。尤其是空格符,因为svn不识别配置文件中的空格符。

passwd文件中在文末添加svn用户,格式为用户=密码

authz文件中[groups]标签下可以自定义svn用户各属于哪些组,格式为“组名=用户名,用户名,用户名…,用户名”。文末新增类似于这样的[/]标签,并在该标签下设置各组的权限,格式为 @组名=rw等,其中/代表项目库的根目录。若某些文件夹只允许某个组读写,可新建标签,并编辑权限,如下

1
2
3
[/foo]
@程序=rw
*=

其中*代表所有人,=后不写rw代表没有读写权限

三大金刚编辑完毕,便可以使用命令启动svn服务。

1
svnserve -d -r /data/svndata

启动完毕可以在windows上使用TortoiseSVN的repo-browser检测连通性,连接地址为svn://ipaddress/test。若防火墙运行中且没有对svn的端口放行,记得编辑防火墙文件。
 

HTTP协议访问:

添加svn验证文件svn-auth.conf,该文件可以指定至任何位置,如/home/svnprofile,该文件与上面的passwd类似,不过使用Apache组件htpasswd命令生成用户的加密密码,命令如下

1
../apache2/bin/htpasswd -cm /home/svnprofile/svn-auth.conf admin

根据提示便可以新建admin用户,若需要新增用户,则上面的命令中,需要去掉c选项,否则会覆盖原文件,如

1
../apache2/bin/htpasswd -m /home/svnprofile/svn-auth.conf test

新增一个test用户

添加svn权限控制文件svn-access.conf,该文件同样可以指定任意位置。并且内容格式与上面的authz类似,主要包括如下内容:

1
2
3
4
[groups]
admin = admin
[/]
@admin=rw

编辑Apache配置文件httpd.conf,去掉LoadModule dav_module modules/mod_dav.so前的#,启用该组件。并在文末添加如下内容:

1
2
3
4
5
6
7
8
9
10
<Location /svn>
DAV svn
SVNParentPath /data/svndata
AuthType Basic
AuthName "SVN server"
AuthUserFile /home/svnprofile/svn-auth.conf
Require valid-user
AuthzSVNAccessFile /home/svnprofile/svn-access.conf
</Location>
CustomLog logs/svn_logfile "%t %u %{SVN-ACTION}e" env=SVN-ACTION --该行主要是开启日志记录客户端做了哪些高级操作

CustomLog解释详见:

http://www.subversion.org.cn/svnbook/1.4/svn.serverconfig.httpd.html#svn.serverconfig.httpd.authz

运行或重启Apache使更改的配置文件生效,并运行svnserve启动svn服务器。运行成功后可以在浏览器输入连接http://ipaddress/svn/test测试是否可以访问。

这里可以看出,使用HTTP协议和svn协议时,连接地址有些许区别,http连接中,需要在项目库前添加svn/

约定好会聊聊自己的故事,想一想,先交待这样的一个故事吧。

去年刚到上海那会儿,经常在住的地方听到楼上一位女生电话里头跟她男朋友的争吵。只是从这争吵的声音里面,我多听到了一点撕心裂肺。那似乎是一种控诉与虽然不服气但还是抵挡不了既定事实的绝望情绪。控诉着对方为什么变成这个样子;绝望着把两个人的感情经营到如此不堪却毫无回天之力。

我当初就在幻想,这对情侣一定有过你浓我浓的阶段。那又是什么,让一对情侣之间变得只剩争吵了呢。曾经跟某个人聊到这样的情况,她给我的解答是触碰到原则和底线了吧。

关于底线,之前找过一句话来安慰自己:“生命里的VIP,总是让你甘愿把自己的原则一再打折”。所以,因为不是什么VIP,才有那些不愉快吧。

我是一个相信一切都会改变的人,而所谓的承诺与永恒,在许下的那个当下便是永远,因为觉得之后的时间线里,再没有一模一样的瞬间了。稍微一些时间和距离的沉淀,我就开始怀疑感情是否依旧存在。只是这种怀疑,往往伴随着事实来到自己面前,所以也挺相信自己的这种负面情绪。日子一天天的过着,好像每天发生的都一模一样,可是突然到了某一天,发现原本自己执着着的东西都变了。这样子想一想也挺难过的吧,呵呵。

三月的时候看到对方的手机记录,觉得心里有些梗,虽然当时有沟通,可是说实话没有多大实际作用。因为在那种沟通氛围里面,觉得自己的错误更多,这种沟通的实际情况是由我多事引起的,反而要对方来安抚我,心里很愧疚。所以也在质问自己,两个人在一起我却让对方不开心,“说散,你想很久了吧”,嗯,是的,从那时候开始。只是还有不服气,还想抓住些什么。这就称之为矛盾吧。在后来的日子里,眼看着感情慢慢走向凋零,尤其觉得对方什么都不在做,很难过……

伴随着这样的矛盾,以及在上海见到的一些事情,想法变得有些“阴暗”,比如觉得好像快离开我身边了,那么我得讨回点什么才对得起之前的用心。现在回想起当初我的状态,自己也会很排斥,可是我知道自己摆脱不了这样差劲的状态,因为我不是第一次见到自己那样子了。起初以为可以克制好,但实际情况证明了我战胜不了那样的自己。于是曾经才会发一条微博,说每个人都希望被照顾吧。这样我才不会有那样的状态了吧。

至于所谓的被照顾,在感情里面的角色应该是接受对方的付出吧。而那个付出更多的人,或许是期待着付出这么多的时候,可以得到对方按照自己期望的样子来回应。毕竟我深信这样的一句话——“每个人做任何事,都只是为了自己,虽然有人会说,我希望能为哪个人做些什么,但事实上,也只不过是希望看到别人幸福时,自己也有份幸福感罢了”。其实有这样的想法很正常,但问题的症结大致在于,男生和女生的思维如此的不一样,所以往往责备对方没有达到自己内心期望的样子,那么自然而然的,争执便如期而至。

回到我自己身上的话,因为我对自己要求很严格。举例说来就是好比之前请朋友一起去看电影,结果电影枯燥无味。但最开始我顾虑的是朋友的感受,观影中途几次看朋友的状态,当对方表现的对电影漠不关心甚至不想再看的时候,我会觉得内疚和“不安”。再比如单独跟朋友一起吃饭,当面对面却没有声音的时候,我会在想自己为什么这么不善于沟通,让对方无话可说。所以跟别人介绍我自己的时候,会主动说我聊天很不行。而这种负担,在喜欢的女生面前表现的程度更深。之前跟朋友聊到这样的情况,她的解释让我清醒了一下:因为我对自己要求很严格,所以在恋爱的时候对对方也自然的有很高的要求。后来仔细想一想,好像真的是这样。那么多的争执,我如果能安稳一点,便可以避免的吧。再后来回忆起那些争执的时候,想着,没什么比对方还愿意跟你在一起更好的了。所以,为了那些争执执着作甚呢。

记得在打算写这篇日志的时候,准备了好多好多的“理论”和独白。可到了这样的时间,却“提笔忘字”起来。罢了,本来就是简单的陈述和记录而已嘛。能想到这么些,那么就写这么多吧。哦,刚好上面提到的那个在外人面前不太常见的我,可以放在这里,为了以后方便别人了解我吧。毕竟按照目前的趋势,即使我多么的抵触,好像也改变不了过年回家相亲的可能,哈哈。

嗯,其实还得写下遇到的一个人。起先的印象不算好。可是相处过一段时间实实在在看到没见过的一面,知道真的是一个很好的女生。可是那段时间我真的比较焦躁,因为很多生活上的不安。而且知道彼此曾经的经历那么的不同,交际着那么多不一样的朋友,想必以后的生活少不了委屈与妥协。所以曾经幻想过,如果跟你拥有着相似的世界观和经历,无论如何我都不会选择那么坚定的走开吧。对那段时间是否怀念,用现在记录着如此清晰的文字就足以证明了吧。

大致觉得,心里能腾出的空位只有那么些,所以好好珍惜可能的遇见,好好把握已经发生的相遇。2014的时候,我还在,我相信还会爱。Peace

接下来,该交待交待这几年都在做些什么了好像。

从02年之后就很少写日志了,记得那一年对自己比较重要的是准备专升本考试(当然事实证明自己太高估自己了)。考试失败之后的确迷茫过一阵子,因为还想在学校里待着,抗拒踏上社会的感觉。可事实是由不得自己的,在朋友的召唤下跑去了上海。而接下来的半年,日子过的还是很紧巴的。可是到了今年初,随着工作转正和工作内容的改变,算是给了我接下来的工作方向。再到离职的这十个月,在公司还算接触和学习了很多东西。现在找工作面试聊的时候,发现之前公司给的平台还是很广阔的。

刚好说到前公司很广阔的平台和现在找工作的实际情况,那就交待一些前几个月突然离职的几个想法吧:本来在那个公司按着那样的路走下去似乎蛮不错的,可是觉得刚毕业一年,前面的道路就这么清晰,会不会太顺利了。刚好那段时间开始想着再体验一下刚到上海找工作的时候那种心情,好像那时候虽然生活难熬,但是有更多的生活感觉,因为好像身边的全世界都在帮着我。加上那段时间朋友的结婚,说实话让我突然想安稳起来。而选择来合肥的理由很简单,因为我爱这样的城市。虽然现在待业待的有点心慌,生活上也真的拮据,想一想今年回家过年的话,应该会很有心理负担。可是总有让自己不断努力的理由,这样就足够了吧。

能说的故事大致就这么多了,虽然一直觉得新的日期只不过让我们有足够的借口说,嘿,从某年某月某日开始就是新的阶段,我要重新开始云云。可让人拥有一些希望未必是一件坏的事情。

【小子们哪,我们相爱,不要只在言语和舌头上,总要在行为和诚实上。——约翰一书3:18】2014,大家一起“马上幸福”

Hello world.

这是使用基于Wordpress搭建的博客发布的第一篇文章。

——Yvan