東京の桜 – 新宿御苑・靖国神社・千鳥ヶ淵

东京都内有几处赏樱名所,上野公园、新宿御苑和千鸟渊。其中上野公园和新宿御苑入选日本赏樱100名所。关东樱花极盛的时期,上班族闲暇的日子就只有那一周的星期六、日。今年是4月9、10两天。4月9日,余去了伊豆半岛,4月10日,首先去了新宿御苑,接着去了靖国神社,最后步行至千鸟渊。余认为,要看得心花怒放体验一种震撼,新宿御苑比不上千鸟渊,对于初来日本就是体验樱吹雪的盛景,千鸟渊不可错过。

新宿御苑的樱花品种比较多,樱花树的年龄也偏大,导致很多樱花开到了天上,只能远观

新宿御苑的庭院也是比较出名的

枝垂樱

知识匮乏,不知名

染井吉野的花瓣结构简单,但开得疯,一整树全是花,相比之下,很多枝垂樱都是稀稀拉拉的

这个品种粉红得可爱

花开一树繁华一瞬


阅读全文…

376 次浏览 | 1 条评论
2011年4月19日 | 归档于 私语
标签: ,

箱根

3月初不是一个去箱根的合适季节,只是为了将青春18车票的回数用完,但结果是搭进去更多的车费。

坐JR到了小田原后开始换乘箱根登山铁道,強羅之后需要换乘另外一条很独特的异常陡峭的爬山铁道,到早雲山还要换乘缆车才能抵达芦之湖,三段线路属于三家公司,交通费非常贵。由于没查清楚,其实从小田原坐公交就能直到芦之湖,还便宜很多

从早雲山看到的早云地狱

缆车离地最高的一段

大涌谷

有工场在采集硫磺

大涌谷是缆车经过的最高点,海拔超过1000米

下降。芦之湖海拔只有700多米,开始可以见到高大的杉树林
传说每棵杉树都吸附着一个灵魂(好恐怖)

到达桃源台。看到凌波丽看板娘

终于到湖边啦。这个方向不是富士山方向,要反过来。不过那天阴天,整一天都没看到富士山。箱根富士是日本百景之一,可惜这一趟了

温度大概在七八度左右,冷得耳朵发疼,还有人跑到湖里钓鱼
回来时飘起了雪花

能想象夏天的遍山苍绿

杉树林…

箱根园。那颗应该是箱根相当有名的一本樱吧,远处是駒ケ岳,缆车可达山顶

箱根园处的芦之湖

没有继续往元箱根走,坐船回桃源台。湖上,看不到富士山

九头龙神社

船上有一个铃铛,说是经过九头龙神社时弄响,就能把愿望传达到神社(这种参拜方式…

大概十来分钟回到桃源台,太快了

这次箱根之旅挺失望的

239 次浏览 | 没有评论
2011年4月19日 | 归档于 私语

名古屋

3月5日利用青春18车票沿东海道线前往名古屋,3月6日返回东京。本科时代的同鞋中,在日本工作学习的含余共3人(其实算不算不少了呢)。在名古屋的是班长,毕业后立刻来了日本,都已经买车了,现在丰田工作。三年多没见过面,去探访一下他。

乘坐电车从东京到名古屋,同事说日本人都不会这样做,余虽然一来是为了省钱,但也为了体验一下。车程6个小时,去时换乘4次,回来少一次,但基本不会站着,只是真的坐到屁股疼。刚开始时很兴奋,但很快就开始发困,回程时更是觉得劳累。

富士山

不过要在电车上拍一张较好的照片,不是那么容易呢,要避开电线、屋顶

手机拍的这张还勉强

到达名古屋。受姬玩得太狠,打了电话说是在樱通出口然后没电了,同鞋找余找了一个小时,原来他一直在lobby找,余则在改札处不敢动(掩面,下次再也不能这样了)。坐上同鞋的车

去到名古屋城已经关门了

名古屋市内也没啥地方好去的,于是在名古屋城绕了一圈

有鸭子(鸭子!

天守阁

阅读全文…

256 次浏览 | 没有评论
2011年4月19日 | 归档于 私语

伊東・伊豆高原・城ケ崎海岸・富戸

今天和同事去伊豆半島(いずはんとう)旅行。说到伊豆,不得不提起的是川端康成的《伊豆的舞女》,估计很多人知道伊豆这个名字也是因为这部小说,但余实在还没拜读过。从东京出发的旅行电车还有踊り子号(舞女号),可以直到最南端的下田。

但余利用的是青春十八的最后两次机会。
东海道线到热海之后沿伊東(いとう)線接续伊豆急行線到伊豆高原(いずこうげん)。早上下着小雨,下午时天放晴。只在伊豆半岛的东边活动,没有去西边。

先在伊豆高原赏完三公里长的桜並木(さくらなみき)。然后坐巴士到海洋公园,沿着城ケ崎海岸(じょがさきかいがん)的小路一直步行到富戸(ふと),坐电车回到伊东泡温泉最后返回东京。来日本后玩得最尽兴的一次。

因为电力供应不足的缘故,伊豆急行线只有2/3程度的车次,要等半个小时才有一趟车。在伊东等前往伊豆高原的电车时,在周围溜达了一下。

见到一只三色猫。这个猫非常怕生人,一走近她便会躲起来。据主人介绍,这只猫是被扔掉的7只小猫中唯一幸存下来的,当时这群猫被遗弃在店的门前,似乎是被喂了毒馒头,已经奄奄一息。这只猫因此心理受到创伤,自此不再相信人类。日本有见到三色公猫表示运气真好的说法(见到三只黑猫代表厄运),因为三色公猫非常罕见。略微可惜,这只三色猫是母的

伊东这边的海岸基本没有沙滩,这个勉强算沙滩了,但砂子是很罕见的黑色

开始在伊豆高原的三公里长的樱花道赏樱花。下着小雨,很影响拍照

路上遇到一个橱窗,很可爱的兔偶

看完樱花返回伊豆高原站一点多,本想沿步行道一直沿着海岸到富户,但仔细看看地图,距离实在太恐怖,于是折回伊豆高原坐公交到海洋公园,以节省一半的路程

等车的时候玩微距


阅读全文…

425 次浏览 | 没有评论
2011年4月10日 | 归档于 私语

Oracle数据库的TX锁

以前很讨厌Oracle数据库,做DML(insert/update/delete)操作还要commit,但深入理解Oracle数据库的锁机制后,才认识到Oracle数据库的优秀和commit/rollback的合理性。Oracle数据库对并发操作的支持做得非常好,但如果不合理利用,后果同样很严重。

Oracle数据库的锁粒度上分为表级锁和行级锁,但实际上通常考虑行级锁就可以了。表级锁应用在建立表,修改表结构,建立索引,删除表等操作上,这是重大操作,一般的后台不会提供这样的权限。因此本文只谈行级锁。

行级锁仅有一个锁类型,就是TX锁。TX锁的T代表transaction,表面上一个TX锁对应一条记录,但实际上整个DML操作无论做多少遍,只要没commit,加在记录上的TX锁状态就不会改变。X代表排斥(exclusive),表级锁X不允许没持有权限的session(会话)进行任何相关表(包括表中记录)的读和写操作,但TX锁允许没持有权限的session读取记录,这涉及到Oracle副本机制,实际上session读取到的是原始记录,而非副本中的修改记录。

TX锁权限的获得方法有:
1.DML操作(insert/update/delete)
2.使用SQL语句:select *** from TableName (where ***) for update nowait;
不要小看第二种方法。

session释放当前持有的全部TX锁权限的方法有:commit和rollback。commit是合并副本到本体,rollback是抛弃副本。

启动两个Oracle SQL Plus窗口,这将是两个不同的session,可以用来模拟两个客户的行为。用这两个窗口做下面的实验,将会得出一些重要的认识。

Oracle数据库的副本机制
1.表的操作create/drop不会产生副本,倘若操作成功,作用是立刻反映到本体上。因此create和drop操作事实上无需补上commit
session甲:
create table test(
id number(5) primary key,
value NVARCHAR2(10));
session乙:select * from test;

session乙没有错误产生。

session甲:drop table test;
session乙:select * from test;

session乙将发生错误。

重新在session甲创建test表,继续下面的实验。

Oracle数据库的sequence
Oracle中的主键不会自动递增,需要手动创建sequence,插入新记录时使用sequence的nextval
2.sequence和事务无关,不需要锁。
session甲:create sequence test_seq increment by 1 start with 1 maxvalue 99999;
session甲:commit;
session甲:insert into test values(test_seq.nextval, 'test');
session甲:select * from test;
ID VALUE
---------- --------------------
1 test
session乙:insert into test values(test_seq.nextval, 'test2');
session乙:select * from test;
ID VALUE
---------- --------------------
2 test2

session甲和session乙都commit后,select * from test的结果是
ID VALUE
---------- --------------------
1 test
2 test2

Oracle数据库的TX锁机制和副本机制
3.Oracle数据库的记录差异会保存到副本中(借用一下网游的名词),每个session对记录的修改都会产生各自的副本,只有在commit后,副本才会合并到本体中。
session乙:delete from test where id=2;
session乙:select * from test;
ID VALUE
---------- --------------------
1 test
session甲:select * from test;
ID VALUE
---------- --------------------
1 test
2 test2
session乙:commit;
session甲:select * from test;
ID VALUE
---------- --------------------
1 test

4.仅有差异化会保存到副本,也即只有持有TX权限的记录的修改结果会保存到副本。一个session commit后,差异化合并到本体,另外的session的select仍然会发生变化,也即session对记录的select是同时根据本体和当前持有的副本。
session乙:insert into test values(test_seq.nextval, 'test3');
session甲:update test set value='test111' where id=1;
session乙:select * from test;
ID VALUE
---------- --------------------
1 test
3 test3
session甲:commit;
session乙:select * from test;
ID VALUE
---------- --------------------
1 test111
3 test3
session甲:insert into test values(test_seq.nextval, 'test4');
session甲:commit;
session乙:select * from test;
ID VALUE
---------- --------------------
1 test111
3 test3
4 test4
session甲:select * from test;
ID VALUE
---------- --------------------
1 test111
4 test4
session乙:commit;
session甲:select * from test;
ID VALUE
---------- --------------------
1 test111
3 test3
4 test4

5.一个记录的TX权限被session乙取得后,session甲对这个记录的DML操作会进入等待状态,直到TX锁被释放,session甲才能获得这个记录的TX权限,这是Oracle数据库解决操作冲突的机制。
session乙:update test set value='test1' where id=1;
session甲:update test set value='test1111' where id=1;

session甲会进入等待状态
session乙:commit;
session甲会执行SQL语句(同时获得了TX锁权限)
session甲:commit;
session乙:delete from test where id=1;
session甲:update test set value='test' where id=1;

session甲会进入等待状态
session乙:commit;
session甲会执行SQL语句,但要修改的记录已经不存在,所以影响了0条记录
session甲:commit; (是否执行commit已经没所谓,但在商业程序中,在DML操作后一定要commit,不管是否记录数为0,DML操作如果失败,则执行rollback)

6.第5条中的DML操作包括insert,对存在primary key insert具有相同key值的记录,同样会产生TX权限冲突。
session乙:insert into test values(0, 'test0');
session甲:insert into test values(0, 'test000');

session甲会进入等待状态
session乙:commit;
session甲会执行SQL语句,但产生了错误
session甲:rollback;

7.程序设计不合理将会产生死锁
下面的操作请谨慎进行,余不负责解决导致的后果
session甲:update test set value='test33' where id=3;
session乙:update test set value='test44' where id=4;
session甲:update test set value='test444' where id=4;
session乙:update test set value='test333' where id=3;

因为都没执行commit,session甲和session乙都将进入等待对方释放锁权限的状态,是为死锁
终止这两个session都不能释放id=3和id=4这两条记录的锁状态,因为锁状态是保存在Oracle数据库的数据表中(请搜索Google大神解决也同时学习一下)

合理使用Oracle数据库的锁权限,解决锁冲突
因为DML操作是自动获得TX权限,很多人会被这表面蒙蔽,从而写程序时不留意导致死锁。
如何合理解决锁冲突?

8.不能滥用高等级锁
TX锁的粒度是单条记录,是粒度很细的锁,倘若如果觉得解决锁冲突很麻烦而使用高等级的锁,如表级锁X(X是完全排斥的锁,不允许没持有权限的session做任何操作),死锁是没有了,但这是滥用。越高级的锁,所影响的范围越大,虽然拿使用X来做比喻,但使用X是极端的行为,普通的后台管理严禁使用X锁,后台管理之间的完全排斥不说,前台比如一个购物系统,顾客就不能购买任何东西。

9.那是否应该在一条DML操作后立刻进行commit?
这还是不值得推荐的做法。因为DML/commit操作会在数据库服务器产生和注销副本,商业系统面临的并发数不是小数目,频繁产生和注销副本会加重服务器负担。

10.将DML操作缓存在本地程序内存中是一个很好的做法,批量执行之后才commit,可以节省服务器开销。

11.但缓存方法的执行时间间隔就算再小,如果并发度很高,还是有死锁的危险。因此后台管理程序应该提供终止长时间没响应的锁的功能。

12.如何在缓存方法的基础上彻底泯灭死锁的危险?答案就是使用select for update nowait;
for update nowait仅对select操作有效,DML无法使用for update nowait。虽然DML操作会自动申请TX锁,但倘若锁已经被别人获得,DML操作会进行等待状态,这是死锁的根源所在。在DML操作前,首先使用select *** from TableName (where ***) for update nowait申请TX权限,如果申请失败,会返回异常,不会进入等待状态,只要select语句中的where条件子句和DML的条件子句一样,就能保证所影响的记录范围不会扩大。使用try…catch…语句捕捉异常,可以确保事务执行的正确性。事实上select for update nowait如果成功,已经为session建立了相关记录的副本,这对服务器的开销影响不大,因为DML最终还是要使用副本中的这些记录。
注意:insert操作倘若可能造成冲突,比如第6条,在操作前也应当使用select for update nowait(session甲就不会进入等待状态),倘若没有冲突危险,比如使用sequence.nextval作为primary key的值,不需要在操作前select for update nowait。

最后请思考一下下面的问题(深入理解select for update nowait):
session甲:select * from test where id=4 for update nowait;
session乙:update test set value='test44' where id=4;

session乙仍然会进入等待状态。为什么?

391 次浏览 | 没有评论
2011年4月6日 | 归档于 技术

後楽園・二重橋 – 東京の桜

後楽園的樱花开得比较早,东京的樱花普遍要晚一周

后乐园的枝垂樱,但从花瓣构成来看这个品种应该接近染井吉野

近观

远观

后乐园的樱花其实不是很多,这应该还是染井吉野

染井吉野樱盛开时,刚开始是粉红色,然后越来越白,到极盛时全白,风过处花瓣飞舞,正所谓樱吹雪
染井吉野虽然花的构造简单,但胜在规模,别的樱花品种是没有开得这么疯狂的

7分咲く,远观一片绯红,还是挺好看的

这不知啥品种了

好像是一种水仙

那天接着去了皇居外苑

大手町高楼林立,包围着皇居

二重桥

樱田门

369 次浏览 | 没有评论
2011年4月2日 | 归档于 私语

[JSMC]奥華子 一夜限りのSpeclal Session -2010.12.25 Christmas- [mp4/mkv+bk][2.9g]


内容
12 月25日 中野サンプラザホールにて行われた”奥華子クリスマスコンサート’10 一夜限りのSPECIAL SESSION”の模様を収録。奥華子 (pf)、設楽博臣 (guitar)、ha-j (bass+key)、sugarbeans (drums)、伊藤彩 (violin)の5人編成。
収録曲
1     きよしこの夜
2     変わらないもの
3     羽
4     ガラスの花
5     フェイク
6     逢いたいときに逢えない
7     春夏秋冬
8     愛のしずく
9     恋人がサンタ・クロース
10     泡沫
11     パズル
12     他人の涙
13     伝えたい言葉
14     初恋
15     元気でいてね
16     サンタに願いを
17     僕のクリスマス
我倒,终于搞定
rip设置什么的不是很懂,将就下吧

阅读全文…
433 次浏览 | 没有评论
2011年3月28日 | 归档于 音楽
标签: ,

[115 30d][EAC][110223]cossami – 結婚しよ♪[TAK+PNG+LOG]242M

1    結婚しよ♪

2    はじめてのチュウ

3    あ~よかった

4    プリズム

5    二人のハーモニー

6    うれしい!たのしい!大好き!
我倒,等了一年终于出新碟居然翻唱碟

阅读全文…

631 次浏览 | 2 条评论
2011年3月24日 | 归档于 音楽
标签:

[115 30d]ニンテンドー3DS 最速音体験[TAK+PNG+LOG]369m

DEAD OR ALIVE Dimensions
01     D.O.A. ~dimensions mix~
02     Hitohira ~dimensions mix~
03     The shooted ~dimensions mix~

戦国無双Chronicle
04     覇者

とびだす!バブルボブル3D
05     マザーランド

スーパーモンキーボール 3D
06     E.Y.N !!!
07     SEA OF CLOUDS
08     FREAK 2 NITE

タッチ!!ダブルペンスポーツ
09     タイトルBGM
10     メインメニューBGM
11     アーチェリー・ランクマッチ競技中BGM
12     ボクシング・スコアトライ競技中BGM
13     競技終了後用BGM

プロ野球ファミスタ2011
14     青空をかっとばせ! N.D.mix

アニマルリゾート 動物園をつくろう!!
15     動物園ライフ
16     アニマル・コミュニケーション
17     園長のお仕事

レイドン教授と奇跡の仮面
18     モンテドール~夜のカーニバル~
19     謎7

阅读全文…

865 次浏览 | 8 条评论
2011年3月22日 | 归档于 音楽
标签:

青春18きっぷ

きっぷ(切符),票的意思

日本真是一个什么都来“放題”的国家,飲み放題、食べ放題,还有乗り放題,这青春18きっぷ就是24小时内任意乘坐JR(全国范围)普通列车的车票,共可使用5次,或5人同时使用,11500日元。每次的车费仅相当于2300日元。

东京坐到藤泽的普通车票要900多,坐到热海估计就要两千多了,坐到名古屋居然要6000多,相比起来青春18非常实惠了。
和同事聊起的时候,都基本在当学生时利用过青春18来周游日本。一是没钱,二是时间多。
同事还说起一个蹭特急(非新干线)列车的窍门,特急列车都是需要买指定席票(车上会查票),但仍然和普通列车停靠同样的站台,上车后就躲进厕所,停靠下一站时下来,就可以躲避查票XD(事实上在过青森海峡时,因为不开行普通列车,这一区间持青春18是允许坐特急的,这样的区间全日本只有两个)

明天利用它去名古屋,虽然只是坐6个小时,但2300日元比坐巴士的一半还要便宜,物超所值了

412 次浏览 | 没有评论
2011年3月4日 | 归档于 私语