Angel Lunamaria

Lunamaria's Life...

Subscribe to RSS feed

春节快乐

农历龙年到了~~新年快乐~~

Wishes:
希望我和猫都能拿到牛offer,希望明年的春节能和猫一起在美国过。
希望爸爸妈妈身体健康,保重身体。
希望自己学业进步。

p.s:能否给个meta-wish?哈哈~

联飞趣事

好久没去FSAAC连飞,昨天有空去飞了一个ZPPP - VGEG,上巡航高后遇到一个超级淡定的飞飞。当时管制发现他速度不对,于是主动联系机组证实速度,结果他淡定的答到:“呃,我的发动机不工作了,我还在研究是怎么回事”。FML,何其淡定啊,空管连忙问他是否要宣布紧急情况,那哥们继续淡定:“嗯,那么就宣布一下紧急情况吧”。

新年快乐~~

Happy new year~~
希望我在2012年能有更大的进步,祝爸爸妈妈身体健康,祝同学业有成,早日收获牛paper。
尤其要祝福喵咪明年每天都能快快乐乐,希望我们都能申请到好学校,一起加油~~

City Bloxx TODO

,

关于csharp的内存管理与垃圾回收

csharp有GC,所以一个对象一旦没有vallid reference,它所占用的内存无论如何都会被自动回收,但是有些对象中有unmanaged resource,例如file、socket、thread,他们不能简单的回收内存了事,必须由用户代码去释放这些资源。

如何达成这一点,csharp提供了implicit和explicit两种回收模式:implicit回收即依赖GC,GC在回收内存前会检查对象是否有Finalizer,即~Type()方法,如果有则先调用这个方法,再回收内存,这样用户可以在Finalizer里实现对unmanged resource的回收。

implicit回收依靠GC,其行为是非确定的,即回收的顺序、时机、是否会回收都是不确定的。例如A references B,当AB都成为垃圾时,其回收次序是不确定的,如果两者都有Finalizer,其调用此次序也是不确定的,这样会给Finalizer的实现带来困难;另外,不确定的回收时机会导致关键资源不能及时释放,所以m$又提供了一种explicit的回收机制。

explicit的回收机制完全是一个接口,IDisposable,提供一个方法Dispose()。它的行为与普通方法一致,依靠用户显示调用。而且这个接口与GC完全没有关系,调用Dispose()不会触发GC,不会导致GC回收内存,也不会通知GC:“这个对象已经被释放了,你一会只管回收内存,不用调他的Finalizer了”。假设这个Dispose只是输出了一句hello world,你甚至可以在资源的生命周期中间就去call他的Dispose(),然后继续该干嘛干嘛。

总之,这个接口有很多问题,例如它让接口依赖实现;另外,两种回收机制的剥离也导致了很多问题。

1、任何一个对象,只要他持有了一个Disposable资源,则它必须在合适的时候调用Dispose()去显示的回收此资源;如果这个对象本身也是一个资源,则它也必须实现IDisposable,以便在自己被显示回收时把自己持有的资源也显示回收;

2、一个实现IDisposable的资源必须要考虑到:假设用户忘记调用Dispose()了怎么办?所以我们要在Finalizer里调用Dispose(),这样即使用户忘记调用Dispose(),当implicit回收机制被触发时依然可以把这些unmanaged resource回收;

3、用户多次调用Dispose()怎么办。。。

4、当用户忘记dispose,而后implicit机制的Finalizer调用Dispose()时,回收逻辑变了:因为GC的不确定性,它持有的其他Disposable资源可能已经被Dispose了,一不小心就null reference了。。。

m$为此提供了Dispose Pattern,可以说是比较完美的解决了这个问题,只不过代码及其复杂,而且不了解GC机制的人完全搞不懂为什么会这么复杂。。。
http://msdn.microsoft.com/en-us/library/b1yfkh5e.aspx

这里还有两篇文章介绍了资源回收的问题,并给出了很详细的解释
http://bentsai.wordpress.com/2011/02/21/idisposable-the-contentious-dispose-pattern/
http://www.codeproject.com/KB/dotnet/idisposable.aspx

World Travel 19

, ,

伊斯坦布尔 - 雅典 VFR飞行~~

这一段最期待的航路当然要VFR啦~~从充满伊斯兰风情的古城伊斯坦布尔出发,沿着16世纪的黄金航路穿越达达尼尔海峡,飞翔在美丽的爱琴海上空,前往希腊神话和艺术的故乡——雅典。

伊斯坦布尔(土耳其)- 雅典(希腊)
2010-4-11 10:45 +0000
LTBA - LGAV 290 NM
VFR
LTBA Rwy 18L 10:54 CRZ 180 PROF 180 LGAV Rwy 3R 12:02


要起飞啦(老板,满上羊毛毯~~)


马尔马拉海其实很小。。。


下面是航路么?


岛屿~~马上就到达达尼尔海峡了


达达尼尔海峡~~


继续~


是不是比大航海时代2里显得更狭长啊?


回头看一眼


到爱琴海啦~


岛屿星罗密布~~


还是爱琴海里的岛屿


望一眼雅典港的方向~


巴尔干半岛~~


接地~秀性感~~ -61ft/min,其实带了2度的坡度单脚着地~~XD


欢迎来到雅典(老板,把羊毛毯全卖了,满上美术品~~)

只用了一个小时,如果当年的船有这么快的话,是不是瞬间就都成了暴发户了呢?(一天跑5个来回?!?!XD)

飞行器名称: KLM MD-11 PH-KCB
飞行器类型: MEJ
离港机场: LTBA - Ataturk - Turkey
到港机场: LGAV - Eleftherios Venizelos Int - Greece
起飞时间: 11:45:00 (10:46:00 GMT)
到达时间: 13:04:00 (12:05:00 GMT)
载客量: 262
载货量: 8300 kg
综合评价: Perfect
起飞重量: 184773 kg
着陆重量: 188498 kg
起飞油量: 32472 kg
着陆油量: 16862 kg
总耗油量: 15610 kg
总飞行里程: 537 km
总耗时: 01:27:18
总夜航时间: 00:00:00
总滞空时间: 01:12:26
总留地时间: 00:17:57
最大飞行高度: 18536ft
巡航速度: 368 kt
接地速度: 144 kt
接地仰角: 4.74
接地率: -60.77 ft/mn
紧急情况: 0
航班事故: 0
乘客打分: 100%
乘客反馈: -Were highly entertained by the movie.
-Were in a better mood because they had food.
-Were pleased by the music on ground. A very nice addition to their flying experience.
故障描述:
伤亡人数:
机组奖励分数: 230
奖励描述: You made a very smooth landing. (+50)
Perfect Flight, no problems, and very satisfied passengers. (+150)
You landed at the scheduled airport. (+30)
机组处罚分数: 0
处罚描述:

World Travel 18

, ,

帕福斯(塞浦路斯) - 伊斯坦布尔(土耳其)

2010-4-10
LCPH - LTBA 414 NM 5:40 +0000
LCPH AYT UM855 KFK UA1G KARGI UL610 YAA LTBA
LCPH Rwy 29 05:57 CRZ 280 6:12 DECEND 6:44 LTBA Rwy 18L 7:16

穿过地中海,俯瞰小亚细亚半岛,掠过土耳其海峡,没错,前往梦幻中的伊斯坦布尔~~


冲出云层~


性感的妖妖


半路上往下看,全是云。。。


大航海迷们对这里是不是很熟悉呀~爱琴海,土耳其海峡,伊斯坦布尔-雅典的黄金航路~~无限倒卖羊毛-美术品,顺便还要躲着点红胡子黑胡子,哈哈


马尔马拉海~


马尔马拉海~左侧远方是达达尼尔海峡,右侧远方是博斯普鲁斯海峡~


马尔马拉海~左侧远方是达达尼尔海峡,右侧远方是博斯普鲁斯海峡~


博斯普鲁斯海峡!!欧亚分界线~有欧亚大陆桥贯通,左侧就是伊斯坦布尔~~


飞行器名称: KLM MD-11 PH-KCB
飞行器类型: MEJ
离港机场: LCPH - Pafos Intl - Cyprus
到港机场: LTBA - Ataturk - Turkey
起飞时间: 07:50:00 (05:50:00 GMT)
到达时间: 08:18:00 (07:18:00 GMT)
载客量: 261
载货量: 8454 kg
综合评价: Perfect
起飞重量: 193668 kg
着陆重量: 194571 kg
起飞油量: 40966 kg
着陆油量: 23073 kg
总耗油量: 17893 kg
总飞行里程: 767 km
总耗时: 01:37:45
总夜航时间: 00:00:00
总滞空时间: 01:18:09
总留地时间: 00:15:54
最大飞行高度: 28028ft
巡航速度: 437 kt
接地速度: 150 kt
接地仰角: 2.45
接地率: -198.46 ft/mn
紧急情况: 0
航班事故: 0
乘客打分: 100%
乘客反馈: -Are relieved to have landed safely after the extreme weather they experienced during landing.
-Were highly entertained by the movie.
-Were in a better mood because they had food.
-Were pleased by the music on ground. A very nice addition to their flying experience.
故障描述:
伤亡人数:
机组奖励分数: 330
奖励描述: You made a very nice landing. (+50)
Perfect Flight, no problems, and very satisfied passengers. (+150)
You landed at the scheduled airport. (+30)
Extreme weather conditions during approach, but a safe landing with satisfied passengers. (+100)
机组处罚分数: 0
处罚描述:

日本员工帮助20名中国研修生避难后被海啸吞没

为日本灾区民众祈福,祝福日本人民早日战胜天灾。




  新华网日本宫城县女川町3月16日电 大灾来时有大爱——宫城县女川町百名中国研修生受助生还

  新华社记者马杰 刘华

  “要不是这些当地人的帮助,我们早就没了!”来自中国大连的研修生衣亚男和同伴们在宫城县女川町含着泪水感激道。

  女川町约一万人口,一半左右至今下落不明,记者在这里看到,城镇一片废墟,海岸边堆放着几具被海浪冲上来的遗体。一辆日本国营列车被海啸拆成两截,拍打在离海岸轨道几十米以外的山边。在这样一座受灾惨烈的小镇,近百名中国研修生无一遇难,而很多人能够逃生,是因为身边有给予帮助的当地人。

  灾难发生时,地动山摇,佐藤水产株式会社的20名中国研修生逃到宿舍附近一处地势较高的地方,不一会儿,公司专务佐藤充跑过来,喊着“海啸来了”,随后带着她们跑到更高处的神社避难。安顿好研修生后,佐藤充又冲回宿舍楼,试图找寻妻女。但宿舍楼很快被海啸淹没,佐藤充再也没有跑出来。

  “我们看到他被逼得无路,在房顶上左跑右跑,最后还是被卷到水里。一开始还扑腾了两下,很快人就不见了,”衣亚男哽咽着说。研修生张军燕用相机拍摄下了整个过程,视频里,女孩们尖叫着、哭喊着“快跑啊”,却只能看着救命恩人佐藤充被海啸无情吞噬。张军燕说,佐藤充的妻女到现在也下落不明。

  灾难发生当晚,大雪严寒,研修生们无处可去。佐藤充的哥哥、佐藤水产社长佐藤仁不顾自己家被冲走的悲伤,一晚上都在找山上的朋友借房子,暂时将研修生们安置进去。平时负责佐藤水产研修生管理的杜华说:“灾害发生第二天,佐藤仁见到我的第一句话就是:‘杜华,20个人一个都没少!’”

  冈青株式会社的社长和部长也没有忘记中国研修生,他们第一时间开车将5名研修生送到附近山上。“当晚,社长给我们找了一间山顶的温泉旅馆避难。那时,他们连自己的孩子都还没找到,”来自大连的曹晶说,等情况稳定后,她们又被转移到当地最大的避难所,和几十名中国同胞团聚。

  在避难所,研修生们一日可以保证有两到三餐。随着受灾信息被外界更多人知道,赈灾车辆越来越多,补给也逐渐充足。“我实在不敢想象如果没有这些人的帮助我们会怎样,”曹晶说,在这场与时间赛跑的逃生中,这些当地人对每一个生命的同等尊重,将让得到救助的研修生感动一生。

World Travel 8

, ,

新年第一次飞行,进喜马拉雅山~~

那啥。。其实飞了两次,第一次悲剧了,一会儿慢慢道来。

选的航线是VGZR - VNKT,说实在的完全没查VNKT的情况,只知道这个机场没有ILS,只能VOR/DME飞全手动。但总觉得人家至少是国际机场,不会很差吧,于是就上路了。

再次赞一下路上的景象,前半段在印度次大陆的沿海部分,河网密布,中间一段与喜马拉雅山脉平行飞行,喜马拉雅山脉东西走向连绵不绝,十分壮观。最后一段向北拐入喜马拉雅山南坡,几个台阶之后,瞬间从平原进入山区,北方是喜马拉雅山脉的主山脊,冰雪覆盖,令人敬畏。

到了VNKT,彻底傻眼了,这次是在一个河谷中,跑道基本南北走向022/202,但东侧、西侧、都有9000ft以上的山峰,北侧就更不用说了,一列8000ft左右的山脉完全堵死了Rwy20的五边,再往北就是喜马拉雅山主脉。南边也有7000多ft的山在Rwy02的五边上。加德满都就在群山环抱的一个河谷盆地里,标高4100ft左右。

死塔台让我Rwy20着陆,于是先试着按正常五边程序走,没航图,不断出pull up警报,在四边上飞8600ft还报pull up,转五边之后越过地障,基本还在7000ft以上,但距离Rwy20不到5NM了,俯冲急降,速度完全控制不住,襟翼超速。就这样进跑到的时候还有500ft。心想没戏,拉起复飞,看来直接五边没戏,那么就按启德的方法降落,结果Rwy20五边上的山脉仍然令人困扰,启德的夹角只有48度,这边山脉太近,五边太短,基本要按照60度才能切进去,(而且还得忍受着油门灵敏度的bug),吃力的拐过去之后速度很低(没错,油门惹的祸),跑到就在眼前了,根本来不及调整,-900ft的下降率就趴在跑道上了。。。

出师不利,网上查查VNKT的飞法,找到了jeppesen航图,才发现Rwy20明令禁止大型飞机降落。。。我X,塔台这不是谋杀么。仔细研究了航图,决定用Rwy02的阶梯下高降落。

重飞,到了VNKT附近,塔台又让我Rwy20降落,这次鸟都不鸟他,按着航图走。第一次速度有点快,虽然勉强按着阶梯下高到了跑道,但调整余量太小,进跑道后先拉挂,又右偏,急忙复飞,不过主轮还是在跑道上轻点了一下地面,但很危险,因为仰角已经到了9度,基本和起飞仰角一样了。

顺便熟悉了VNKT的复飞航线,基本就是转向西侧,转弯比较急,要在DME4.0之内完成,高度也要快速拉到10500ft以上,从西侧山脉飞离后,可以再回NOPEN重新降落。第二次算是比较成功的下来了。

基本来说,VNKT进近的要点就是:在ROMEO之后就要开始逐步放襟翼、减速。NOPEN点之前一定要襟翼到位、放轮、完成检查单、速度minimal。NOPEN点之后距离跑到只有16NM,而且10NM-5NM是急降,如果速度太快下高就很困难,而且急降中很难放襟翼。
10NM之前严格不低于9100NM越障,最近地障距离不到1000ft,但在500ft以上。10NM之后要迅速压机头,10NM-5NM这一段基本要按照-2500甚至-3000的下降率飞,到5NM之后回复正常,5海里的余量对一个普通的手动进近就很容易了。

复飞1次,复飞前接地1次,在跑道内
-167ft/min 1.22G 134 knots 9.64度
最后降落接地1次
-223ft/min 1.23G 144 knots 4.3度

World Travel 7

, ,

2010年最后一段飞行,从西双版纳出国,到孟加拉国的达卡。

也产生了第一次重落地。。。所谓经验就是:当50ft以下的时候电脑卡3秒,神也救不了你。。。T_T

嘛,先不提这些,整体来说这段航路还是十分漂亮的,从云贵高原飞到印度次大陆,孟加拉国附近河网纵横,十分漂亮,心旷神怡。

时间:2010-12-31 14:00 +0800
航段:ZPJH - VGZR 841 NM 36T
航线:ZPJH SAGAG A581 BIDRU L888 MAKUL A599 LSO A201 BOGEP VGZR
起飞:ZPJH Rwy 16 14:21
巡航:FL370 14:49
下高:16:05
接地:VGZR Rwy 17:08

快到达VGZR的时候,发现大雾弥漫,机场IFR,无奈申请了一个IFR计划,结果天空就立刻放晴了。。。情何以堪

VGZR这机场奇怪得很,地面报告静风,可是1000ft的地方侧风分量竟然有15+,早早断掉AP手动纠正,仍然偏航严重,无奈复飞一次,然后在三边上的时候,AP莫名其妙傲娇了,不停左转,急忙关了AP,发现已经进四边了,这距离怎么够啊,于是就彻底手动吧,相当于执行一次反向降落程序回到了五边上,终于一切顺利了。

进下滑道的时候下降率有点低,只有-400不到,于是想稍微压杆补偿一下,刚一压杆,然后就在40ft的时候,电脑傲娇了,卡了3秒,等卡回来的时候,已经15ft-了,而且鼠标的位置还在压杆- -!下滑率瞬间从-300飙到-550,急忙拉杆,最后还是-472接地的。。。

以为要收获2G+了,结果一看才1.6G,看来即使拉杆还是补偿了一些,不过起落架估计得好好探伤了。。。

我错了。。我不该开着firefox和eclipse跑FSX的。。。

复飞1次
最后降落接地1次
-472ft/min 1.6G 140 knots 4.59度