-
Notifications
You must be signed in to change notification settings - Fork 0
/
atom.xml
614 lines (419 loc) · 289 KB
/
atom.xml
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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
<title>tsuinteru</title>
<subtitle>このツインテールに、夢と願いを込めるんだ</subtitle>
<link href="/atom.xml" rel="self"/>
<link href="http://tsuinte.ru/"/>
<updated>2020-04-30T12:09:40.000Z</updated>
<id>http://tsuinte.ru/</id>
<author>
<name>正义双马尾</name>
</author>
<generator uri="http://hexo.io/">Hexo</generator>
<entry>
<title>胶囊咖啡机 Nespresso</title>
<link href="http://tsuinte.ru/2020/coffee-and-nespresso/"/>
<id>http://tsuinte.ru/2020/coffee-and-nespresso/</id>
<published>2020-04-12T12:00:00.000Z</published>
<updated>2020-04-30T12:09:40.000Z</updated>
<content type="html"><![CDATA[<p>根据<a href="https://zh.wikipedia.org/wiki/%E5%92%96%E5%95%A1" target="_blank" rel="noopener">维基百科</a>,<strong>咖啡</strong>是采经过烘焙过程的咖啡豆(咖啡属植物的种子)所制作冲泡的饮料,是人类社会流行范围最为广泛的饮料之一。咖啡中咖啡因对人体有刺激的作用,人们在学习、阅读和思考等脑力活动时经常用来提神。大部分的研究建议,适度饮用咖啡是有益的,甚或有利于健康的成年人。</p><p>咖啡的种植首次发现于非洲埃塞俄比亚,最早的可信证据出现于 15 世纪也门的伊斯兰教苏菲派(Sufism),在非洲之角及也门,咖啡被用于当地的宗教仪式。17世纪咖啡的种植和生产一直为阿拉伯人所垄断,在欧洲价格不菲,只有欧洲上层人物才能饮用咖啡。大航海时代由欧洲殖民者扩散到东南亚与南美洲殖民地,因大量生产而价格下降的咖啡开始成为欧洲人的重要饮料。</p><p>简介完毕,下面分别讲讲各种常见的咖啡形式。</p><a id="more"></a><h1 id="速溶咖啡"><a href="#速溶咖啡" class="headerlink" title="速溶咖啡"></a>速溶咖啡</h1><p><img src="/img/202005/nestle_coffee_nutrution.jpg" alt="“雀巢1+2”速溶咖啡"></p><p>最常见的是“雀巢1+2”速溶咖啡。速溶咖啡是从炒磨咖啡豆中提取有效成分后经干燥而生产的,此过程中<strong>会有一部分芳香物质散失导致成品的风味、口感不如直接炒磨的咖啡浓郁纯正,厂家通常使用香精弥补香气</strong>。最大优点是方便,加水冲就能喝,方便随时随地补充咖啡因。唯一的问题为不是特别健康,虽然没有反式脂肪,但含有“奶精”植脂末,奶味比较假;而且添加了蔗糖,含糖量高,多喝不好。</p><p><img src="/img/202005/nestle_coffee_nutrution2.png" alt="澳洲产雀巢平白速溶咖啡"></p><p>上图是澳洲超市常见的速溶咖啡之一,唯一改进的地方是使用牛奶固体物代替了植脂末,含糖量差不多,这里 11g 碳水化合物中含有 7.5g 蔗糖,其余 3.5g 大部分是牛奶里的乳糖。所以不少人是买黑咖啡冲了自己兑鲜牛奶,毕竟鲜牛奶家家户户冰箱里都长期备有。</p><h1 id="滴漏式咖啡"><a href="#滴漏式咖啡" class="headerlink" title="滴漏式咖啡"></a>滴漏式咖啡</h1><p><img src="https://upload.wikimedia.org/wikipedia/commons/thumb/d/df/Manual_drip_%28pour-over%29_coffee.jpg/800px-Manual_drip_%28pour-over%29_coffee.jpg" alt></p><p>比较传统的制作咖啡方式,<a href="https://zh.wikipedia.org/wiki/%E6%BB%B4%E6%BC%8F%E5%BC%8F%E5%92%96%E5%95%A1" target="_blank" rel="noopener">滴漏式咖啡(Drip brewing)</a>也就是现在流行的所谓手冲咖啡或者超市卖的挂耳咖啡,是一种将水注入经烘焙以及研磨的咖啡豆中的冲泡咖啡的方式。水渗过研磨咖啡,吸收其焦油和香气,透过重力作用,流至过滤器的底部。冲泡过的咖啡渣被留在过滤器随着滴落的水珠掉进例如玻璃瓶或咖啡壶之类的中。设备要求简单,和泡茶差不多,<strong>口味比 espresso 淡很多</strong>,还可以再加奶冲淡口味,在美洲地区最为流行。</p><p><img src="/img/202005/americano_vs_brewed.jpg" alt></p><p>上图左边的就是美式咖啡,就是 espresso 加水冲淡口味;右边是过滤式咖啡。可以看到最明显的是美式咖啡<strong>有 espresso 萃取出来的咖啡脂(crema)</strong></p><h1 id="意式咖啡-Espresso"><a href="#意式咖啡-Espresso" class="headerlink" title="意式咖啡 Espresso"></a>意式咖啡 Espresso</h1><p>意式咖啡(espresso)是一种通过迫使接近沸腾的高压水流通过磨成细粉的烘培咖啡豆制作而成的饮料。espresso 一般比其他方法制作出来的咖啡更加浓厚,含有更高浓度的悬浮物和已溶解固体,如表层的<strong>咖啡脂(crema,一种奶油质地的泡沫)</strong>。因为其加压的制作过程,espresso 口味强烈,其中的化学物质浓度非常高。espresso 也是其他黑咖啡和花式咖啡的基础,加上牛奶、水或者巧克力就可以制作出拿铁、卡布奇诺、玛琪雅朵、摩卡以及美式咖啡。</p><p>接着我们介绍一下最常见的咖啡种类,这几种是每个新西兰咖啡店都会有的最常点,不包含特别花哨的咖啡:</p><h2 id="Americano-vs-Long-black"><a href="#Americano-vs-Long-black" class="headerlink" title="Americano vs Long black"></a>Americano vs Long black</h2><p><img src="/img/202005/americano_vs_longblack.jpg" alt></p><p>Long black 是澳洲和新西兰本地的一个小变种。两者都是 espresso 加水,加多少水其实自己随意,跟泡茶一样浓淡由人,这两种的唯一区别是在咖啡上加水还是在水上加咖啡。充分混合后味道没什么区别,就是外观上 Long black 好看一些,因为最上层的 crema 没有被热水冲散还是完整的。</p><h2 id="Latte-vs-Flat-white"><a href="#Latte-vs-Flat-white" class="headerlink" title="Latte vs Flat white"></a>Latte vs Flat white</h2><p><img src="/img/202005/latte_vs_flatwhite.jpg" alt></p><p>平白咖啡 Flat white 也是新西兰和澳洲本地的一个变种,后来随着星巴克的引进而流行开来。这里还有段故事,现在可以确认的是平白咖啡是在 1980 年代创造出来的,但新西兰和澳洲都声称是自己发明的一直都互有争议。拿铁和平白咖啡还是非常相似的,如果在咖啡馆喝平白的杯子杯量大概只有 175 ml 而拿铁一般是 225 ml,espresso 一般都是 double shot 60mL,所以<strong>拿铁牛奶的比例高</strong>,奶味重一点咖啡味淡一点。除去容量最大的差别是<strong>牛奶的打发程度,latte 的牛奶在蒸汽中打发的时间更长所以泡沫感强一点</strong>,咖啡的泡沫层厚一点;flat white 打发程度稍微低一些,微泡沫更细腻更加丝滑(上面示意图不算特别准确,foam 还是有薄薄一层的)。</p><p>总的来说差别很小,以至于很多人以为平白只是比拿铁大杯一点。简单的说平白就是少奶、少泡沫的拿铁。所以我觉得奶茶店不用每次都问客人要多少冰多少糖多少奶盖,直接每种组合都起个新名字得了。</p><blockquote><p><strong>Steamed milk</strong>: 咖啡店的咖啡机都会带有蒸汽棒 steam wand,蒸汽的热量可以加热牛奶,同时大量气泡也可以打发牛奶让其体积增大。</p></blockquote><h2 id="Cappuccino-和-Mocha"><a href="#Cappuccino-和-Mocha" class="headerlink" title="Cappuccino 和 Mocha"></a>Cappuccino 和 Mocha</h2><p><img src="/img/202005/cuppucino_and_mocha.png" alt></p><p><strong>卡布奇诺 Cappuccino</strong> 杯量一般在 150mL - 180mL,espresso、牛奶、奶泡的比例是 1:1:1。咖啡师在制作卡布奇诺时用蒸汽打发牛奶的时间更久程度,牛奶体积需要增大一倍;而上面所说的 Latte 可能打法后体积只增大三分之一左右。还有通常在最上层会撒上巧克力粉装饰。</p><p><img src="https://upload.wikimedia.org/wikipedia/commons/thumb/e/e3/Cappuccino_A.jpg/584px-Cappuccino_A.jpg" alt></p><p>上面就是一杯卡布奇诺,可以看到泡沫非常夸张,打发到可以立起来。上面还撒了一点点巧克力粉。</p><p><strong>摩卡 Mocha</strong> 的最大特点是中间一层加入了巧克力糖浆,喝起来会非常甜,对于不太能接受咖啡苦味的人来说是最好的入门咖啡饮品。</p><h2 id="小结"><a href="#小结" class="headerlink" title="小结"></a>小结</h2><p>总结一下上面几种,不加奶的黑咖啡爱好者 Americano 和 Long black 都差不多,Long black 卖相好点。花式咖啡里最甜的是 Mocha,我刚到外国最常喝的就是摩卡,甜掩盖了咖啡的苦味,比较容易入口。其次可以尝试 Latte,奶味最浓,咖啡味最淡。再次是 Flat white,咖啡味和奶味比较均衡,目前我喝的最多的一种咖啡。然后是 Cappuccino,咖啡味比较浓,上层厚厚的泡沫喝起来比较带感。</p><p>咖啡馆点咖啡还有个小技巧,<strong>一般默认 espresso 是双份 double shot</strong>,如果想咖啡味淡一点可以点单份 single shot。一般公司的全自动咖啡机也会有类似的设置,调节咖啡浓淡。</p><h1 id="意式咖啡机"><a href="#意式咖啡机" class="headerlink" title="意式咖啡机"></a>意式咖啡机</h1><p>意式咖啡机由于需要高水压萃取,价格比一般的滴漏式咖啡机贵不少。Espresso 制作就像烘培一样有精确的要求,有了机器冲出一手好咖啡也是需要长期刻苦修炼的,这就是为什么英语还有个专门的咖啡师的单词 barista。下面是单份(single shot) espresso 的参数:</p><table><thead><tr><th>成分</th><th>参数</th></tr></thead><tbody><tr><td>咖啡末重量</td><td>7 ± 0.5 g</td></tr><tr><td>设备的热水温度</td><td>88 ± 2 °C</td></tr><tr><td>萃取完成的咖啡温度</td><td>67 ± 3 °C</td></tr><tr><td>萃取压力</td><td>9 ± 1 bar</td></tr><tr><td>渗滤时间</td><td>25 秒 ± 5</td></tr><tr><td>杯中咖啡体积(包含泡沫)</td><td>25 ± 2.5 mL</td></tr></tbody></table><p>我们了解下冲煮一份咖啡需要的步骤和注意事项,稍不注意萃取的咖啡就是又酸又苦没法喝,或者味道不够。</p><p><strong>磨豆</strong>:就像新鲜研磨的白胡椒粒要比白胡椒粉要香很多,味道更丰富。咖啡豆需要新鲜研磨才能最大程度保留其香味,所以必需要磨豆机,研磨粗细必须可调适应不同的咖啡豆,太粗了味道淡像手冲,太细了萃取不出来。这就是咖啡豆比已经研磨好的袋装咖啡粉要好的原因。单独磨豆机机都不便宜,需要保证磨出的咖啡粉够细而且粗细均匀,所以刀片式的便宜磨豆机绝对不行。</p><p><strong>计量称重</strong>:对重量有精确的要求,现在一般都是 double shot,而且根据咖啡豆不同而定调整,现在咖啡店一般是 18g 居多。</p><p><strong>压粉 tamp</strong>:冲煮头多余的咖啡粉要拨掉,还要用压粉锤用恰当的力度压实咖啡粉,而且要平整。不压实的萃取不充分;不压平整的热水就会冲破薄弱处涌出,不能产生足够的水压萃取。</p><p><strong>冲煮</strong>:上面几步没问题的话,这里一般不会出什么意外,就看咖啡机对压力、水温的控制程度</p><p><strong>牛奶打发</strong>:根据咖啡种类把牛奶打发到适合的程度,例如做拿铁就不要打发过头了。要做咖啡拉花就更加得注意,泡沫打得太大太硬就做不出来图形。</p><blockquote><p>煮一杯 espresso 英文叫 pull a shot,来源于之前的手动压力咖啡机,相对于现代电器用电泵产生水压,它通过一个杠杆产生压力。现在的手动机器基本是工艺品,比咖啡机还要贵。</p></blockquote><p><img src="/img/202005/Manual-Espresso.jpg" alt="手动压力咖啡机与磨豆机"></p><p>家用 espresso 咖啡机主要分为手动、半自动/全自动和胶囊三种,使用方便程度依次递增,单杯咖啡的使用成本也递增。</p><h2 id="手动"><a href="#手动" class="headerlink" title="手动"></a>手动</h2><p>手动的咖啡机操作需要遵循上述的冲煮咖啡各个注意事项,是比较麻烦也需要很多技巧和练习的,仅推荐特别热爱咖啡、形成了自己固定的口味偏好的爱好者。因为手动机器可调节的地方很多,磨豆粗细、分量加减一两克、压粉力度大点小点都会对最终的 espresso 有影响,这样就可以适应各种口味,熟练之后媲美大部分一般的咖啡店完全没问题。缺点是使用起来比较麻烦,冲一杯倒腾半天还要清洗,咖啡粉容易洒的到处都是。</p><p>我认识的洋人同事好多人家里都有一台,特别 lockdown 期间,咖啡店不开门公司的自动咖啡机又不能用,网上咖啡机的销量大增。下面介绍两款常见的机器,没用过纯粹道听途说的。</p><p><strong>Breville Barista Express</strong></p><p>Breville 铂富 BES870 这款机器是综合性价比最高的,也是在同事中最流行的一款手动咖啡机。历史低价 599 纽币,日常活动价 699 纽币。体积小巧,该有的东西全都有:粗细可调的磨豆机、做黑咖啡的单独热水出口、蒸汽打奶棒。畅销十几年的老机器,可靠耐用,用户评价也很高,普通用户首选。稍微有点美中不足的是只有一个加热器,做 espresso 和打奶不能同时进行,时间稍微长一点。</p><p><strong>DeLonghi La Specialista</strong></p><p>德龙 La Specialista 是 2019 年新出的机器,对比 Breville 易用性提高了不少,目前见过最低价是 750 纽币左右。集成磨豆机,但比起 Breville 它还能自动控制粉量,磨够了自动停止;还集成压粉锤,粉碗在磨完豆后无需取下来,拉一下机器左边的杆就可以直接压粉。这个设计非常方便,不会把咖啡粉洒的到处都是。对比 Breville Barista Express 还有一个优点是带有双加热块,可以同时做 espresso 和打奶,而 Breville 有这功能的机器要贵很多。无伤大雅的小缺点也有一些,而且看评论说可靠性一般。</p><p><strong>Sunbeam Mini Barista</strong></p><p>还有种更便宜点的机器是不集成磨豆机的,需要使用咖啡粉,或者单独买个磨豆机。咖啡粉的风味流失了,单独的磨豆机都不便宜,所以最好咖啡机自身集成磨豆机比较省钱。但如果确实不介意使用咖啡粉,那这个 Sunbeam Mini Barista 机器性价比就非常高了,最低见过 199 刀的,espresso 和打奶的功能都有。或者类似的 DeLonghi Dedica,200 刀出头就有。</p><h2 id="半自动"><a href="#半自动" class="headerlink" title="半自动"></a>半自动</h2><p>还有种半自动的,把出 espresso 的过程自动化了,但是打奶还要手动,大大降低了难度。打奶失败最多成品没那么美观,不至于不能喝。</p><h2 id="全自动"><a href="#全自动" class="headerlink" title="全自动"></a>全自动</h2><p>公司里的咖啡机就是全自动咖啡机了,按一个按钮选择需要的咖啡,磨豆 espresso 打奶一气呵成,等几十秒带牛奶的咖啡就出来了,傻瓜式操作。机器普遍较贵,不推荐家用购买</p><h2 id="Nescafe-Dolce-Gusto"><a href="#Nescafe-Dolce-Gusto" class="headerlink" title="Nescafe Dolce Gusto"></a>Nescafe Dolce Gusto</h2><p>还有一种咖啡机是胶囊咖啡机,解决了方便性与咖啡豆新鲜度的问题。咖啡豆磨成粉后马上封入胶囊保留了风味,而且<strong>胶囊单独包装一杯一颗,解决了咖啡香气流失的问题</strong>。也不用什么磨豆机,称重,压粉,直接塞一颗胶囊进机器,按一个按键咖啡就出来了,懒人福音。</p><p>Dolce Gusto 是雀巢的一个系统相对廉价的胶囊咖啡机,有不少型号,全系列带 15bar 压力水泵。对标的其实是速溶咖啡,这个系统带有很多花式咖啡胶囊甚至是茶饮料,单胶囊价钱也比 Nespresso 低大概三分之一。做花式咖啡也很方便,例如有 flat white,里面包含咖啡和牛奶胶囊,<strong>不用单独打鲜牛奶</strong>,特别方便。</p><p><img src="/img/202005/nescafe_infinissima.jpg" alt="Infinissima"></p><p>从机器做工就可以看出这个系统主打性价比,机身全部是塑料了,不过造型都比较后现代化,有点呆萌呆萌的。最便宜的 Piccolini 经常在 50 刀左右,最低的有降到 20 刀还送一盒胶囊的,相当于机器不要钱了。或者 Infinissima,经常在 70 刀左右。</p><p>建议胶囊咖啡入门用户购买,无论是机器还是后期胶囊使用的价钱都比较便宜,咖啡味道比速溶升级一个档次,而且有牛奶胶囊做花式咖啡特别方便。</p><h2 id="Nespresso"><a href="#Nespresso" class="headerlink" title="Nespresso"></a>Nespresso</h2><p>雀巢的另外一个相对高端的系统,胶囊都是以各产地与口味的咖啡豆划分,而花式咖啡使用的是鲜牛奶。对标的是半自动或全自动咖啡机,优点是出品咖啡的品质稳定,虽然比不上好的咖啡师,但比大部分普通咖啡馆要好。<strong>特别适合对咖啡有一定要求,但又不想捣鼓手动咖啡机,或者没时间各种研究粉量磨粉粗细压的力度、各种清洁的朋友</strong>。说实在话,看起来容易,但想想普通咖啡馆的咖啡都不如 Nespresso,个人爱好者不至少浪费几十杯咖啡加上半年左右时间是做不出超过 Nespresso 的咖啡的。</p><p>所以看了不少真实经历后,再想想自己愿意花多少时间捣鼓,还是只是愿意简简单单的享受一杯不错的咖啡,最后比较了一下各种咖啡机的优缺点后,我最后选择了 Nespresso 系统。</p><p>机器全系列标配 19bar 水泵,所以<strong>最便宜和最贵的机器单独 espresso 部分是完全一样的</strong>,区别只是外形、使用方便程度而已。如果只喝黑咖啡买最便宜的机器就够了,最多挑一下外形。其实<strong>区分价格最主要的是打发牛奶的部分</strong>,便宜的咖啡机打奶是单独的机器,可以加热和打发牛奶,但是打发原理跟打蛋器一样,打出来的泡沫偏大偏硬,比较像卡布奇诺的奶泡,也很难做出拉花。</p><h3 id="Essenza-Mini-Inissia"><a href="#Essenza-Mini-Inissia" class="headerlink" title="Essenza Mini, Inissia"></a>Essenza Mini, Inissia</h3><p><img src="/img/202005/Essenza_Mini.jpg" alt="Infinissima"></p><p>Nespresso 的入门级机器,其中 Essenza Mini 有两款,分别是 Delonghi 和 Breville 出品的。Brevile 的瘦高型,节约空间;Delonghi 的矮一些,棱角分明的造型。带打奶机的价格最近做活动 200 刀,还返还 40 刀胶囊咖啡券,折合才 160 刀。单独买机器 130 刀左右,算上咖啡券优惠相当于只要 90 刀。</p><p><img src="/img/202005/Inissia.jpg" alt="Inissia"></p><p>Inissia 属于矮胖圆润的造型,带打奶机的捆绑装活动价同样 200 刀加返还 40 刀胶囊咖啡券。这款最低见过 150 刀,但那时不送咖啡券。</p><h3 id="Lattissima-系列"><a href="#Lattissima-系列" class="headerlink" title="Lattissima 系列"></a>Lattissima 系列</h3><p><img src="/img/202005/Lattissima_one.jpg" alt="Lattissima One"></p><p>Lattissima 系列带有和自动咖啡机类似的打奶器,使用和自动咖啡机类似,一键就把 espresso 和牛奶都做好放杯里了。牛奶随用随添加,而且它设计时就保证一杯咖啡用完牛奶,不会浪费;缺点时每次要拆下来冲洗牛奶容器,有点小麻烦。</p><p>Lattissima One 是该系列最便宜的,目前 350 刀返还 70 刀咖啡券相当于 280 刀,历史低价是 230 刀不送咖啡券。虽然能打奶但<strong>只能做卡布奇诺</strong>,估计是打奶器比较简易打不出拿铁那种细腻的泡沫,只能打和入门机器那种粗泡沫。功能比较有限不太推荐。</p><p>Lattissima Touch 是升级的型号,打奶器<strong>可以调节泡沫的粗细程度,拿铁和卡布奇诺都能做</strong>,还能单独打奶热奶,比 Lattissima One 更值得推荐。目前价格 450 刀返还 70 咖啡券,相当于 380 刀,历史低价 330 刀。</p><h3 id="Creatista-系列"><a href="#Creatista-系列" class="headerlink" title="Creatista 系列"></a>Creatista 系列</h3><p>Breville Creatista 系列是我个人觉得设计最漂亮的,特点是采用和咖啡馆一样的蒸汽打发加热牛奶的方式 <strong>steam wand</strong>,也继承了大受欢迎畅销多年的 Breville Barista Express 机器的技术,做出这款简单易用又有一定发挥空间的咖啡机。和 Barista Express 全靠使用者控制不同,这机器打发牛奶是自动的,设置好温度和需要打发的程度,就可以自动打发好,不用操心。由于蒸气棒只是泡入牛奶中,清洁时只要用抹布拆一下外表就行,不用拆下来清洗;奶缸是不锈钢的,随便冲一下或者放洗碗机清洗,比前面两种的打奶机都要方便清洁。<strong>打发的牛奶可以做拉花 Latte Art</strong>,连拉花缸都给你准备好了,官方的视频也有教程教如何做各种拉花的。</p><p><img src="/img/202005/Creatista.jpg" alt="Creatista Uno"></p><p>系列最便宜的是 Creatista Uno,塑料主体机身,只有黑色一种颜色选择。按键操作,牛奶温度和打发程度都只有三个级别可以选择。价格目前 400 刀返还 70 咖啡券,相当于 330 刀,历史低价 350 刀。和功能类似的 Lattissima Touch 处于同一价格带,个人觉得 Creatista Uno 更好看一些,打奶方式更好,更容易清洁。</p><p><img src="/img/202005/CreatistaPlus.jpg" alt="Creatista Plus"></p><p>更加贵一点的 Creatista Plus 有五个颜色选择,机身使用不锈钢。带有屏幕,使用旋钮操作,牛奶温度和打发程度可以调节的级别多很多,但功能上和 Uno 没有本质区别,目前要贵 150-200 刀左右。</p><p>系列最高端 Creatista Pro 带有触摸屏,最大改进是带有双加热块,可以同时出 espresso 和打奶,速度更快,这在手动咖啡机中也是高端型号才有的功能。其次是有单独热水出口(普通的和咖啡共用出口,热水带有咖啡残留),可以方便做黑咖啡或者泡茶,家里可以省下一个即热式饮水机。各个机器主要特点总结如下表:</p><table><thead><tr><th>机器</th><th>机身</th><th>操作</th><th>奶泡调节级别</th><th>常见价格</th><th>备注</th></tr></thead><tbody><tr><td>Creatista Uno</td><td>塑料,黑色</td><td>按键</td><td>3</td><td>400</td><td></td></tr><tr><td>Creatista Plus</td><td>不锈钢,五种颜色</td><td>小屏幕+旋钮</td><td>8</td><td>650</td><td></td></tr><tr><td>Creatista Pro</td><td>不锈钢,原色</td><td>触摸屏</td><td>8</td><td>1000</td><td>双加热块,独立热水口</td></tr></tbody></table><p>比较了这么久,最后我买了刚做特价的 Creatista Uno,着急着用,虽然 Creatista Plus 的多种颜色更喜欢但没等到特别理想的入手价格。反正功能一样的,就买个便宜的得了。 </p>]]></content>
<summary type="html">
<p>根据<a href="https://zh.wikipedia.org/wiki/%E5%92%96%E5%95%A1" target="_blank" rel="noopener">维基百科</a>,<strong>咖啡</strong>是采经过烘焙过程的咖啡豆(咖啡属植物的种子)所制作冲泡的饮料,是人类社会流行范围最为广泛的饮料之一。咖啡中咖啡因对人体有刺激的作用,人们在学习、阅读和思考等脑力活动时经常用来提神。大部分的研究建议,适度饮用咖啡是有益的,甚或有利于健康的成年人。</p>
<p>咖啡的种植首次发现于非洲埃塞俄比亚,最早的可信证据出现于 15 世纪也门的伊斯兰教苏菲派(Sufism),在非洲之角及也门,咖啡被用于当地的宗教仪式。17世纪咖啡的种植和生产一直为阿拉伯人所垄断,在欧洲价格不菲,只有欧洲上层人物才能饮用咖啡。大航海时代由欧洲殖民者扩散到东南亚与南美洲殖民地,因大量生产而价格下降的咖啡开始成为欧洲人的重要饮料。</p>
<p>简介完毕,下面分别讲讲各种常见的咖啡形式。</p>
</summary>
<category term="Life_Style" scheme="http://tsuinte.ru/categories/Life-Style/"/>
</entry>
<entry>
<title>Flutter Dev Journal(3): HTTP proxy</title>
<link href="http://tsuinte.ru/2019/flutter_log_3_proxy/"/>
<id>http://tsuinte.ru/2019/flutter_log_3_proxy/</id>
<published>2019-11-06T11:00:00.000Z</published>
<updated>2019-11-07T22:39:59.000Z</updated>
<content type="html"><![CDATA[<p>When you want to setup proxy to debug network traffic as you do in developing native apps, you will find there’s no traffic comming through. The reason why this happens is that the proxy configuration in Andorid or iOS Wifi network settings don’t affect Flutter.</p><p>So we have to set up the proxy in our Flutter app. Luckly it’s just a piece of cake with the code below:</p><figure class="highlight dart"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br></pre></td><td class="code"><pre><span class="line"><span class="class"><span class="keyword">class</span> <span class="title">MyProxyHttpOverride</span> <span class="keyword">extends</span> <span class="title">HttpOverrides</span> </span>{</span><br><span class="line"></span><br><span class="line"> <span class="built_in">String</span> _ipAddress;</span><br><span class="line"></span><br><span class="line"> MyProxyHttpOverride(<span class="built_in">String</span> ip, <span class="built_in">String</span> port) {</span><br><span class="line"> _ipAddress = <span class="string">'<span class="subst">$ip</span>:<span class="subst">$port</span>'</span>;</span><br><span class="line"> }</span><br><span class="line"></span><br><span class="line"> <span class="meta">@override</span></span><br><span class="line"> HttpClient createHttpClient(SecurityContext context) {</span><br><span class="line"> <span class="keyword">return</span> <span class="keyword">super</span>.createHttpClient(context)</span><br><span class="line"> ..findProxy = (uri) {</span><br><span class="line"> <span class="keyword">return</span> <span class="string">"PROXY <span class="subst">$_ipAddress</span>;"</span>;</span><br><span class="line"> }</span><br><span class="line"> ..badCertificateCallback =</span><br><span class="line"> (X509Certificate cert, <span class="built_in">String</span> host, <span class="built_in">int</span> port) => <span class="keyword">true</span>;</span><br><span class="line"> }</span><br><span class="line">}</span><br><span class="line"></span><br><span class="line"><span class="keyword">void</span> main() {</span><br><span class="line"> HttpOverrides.global = MyProxyHttpOverride(<span class="string">"192.168.1.xxx"</span>, <span class="string">"8888"</span>);</span><br><span class="line"> runApp(MyApp());</span><br><span class="line">}</span><br></pre></td></tr></table></figure><p>Important things to know:</p><ol><li><code>HttpOverrides.global</code> must be set before using any HTTP methods</li><li>If proxy configuration (IP or port) is changed during using, the app has to be killed and relaunched for the new configuration to take effect</li><li>For HTTPS, certificates are loaded from the OS, same as native apps</li></ol>]]></content>
<summary type="html">
<p>When you want to setup proxy to debug network traffic as you do in developing native apps, you will find there’s no traffic comming throu
</summary>
<category term="EverydayFlutter" scheme="http://tsuinte.ru/categories/EverydayFlutter/"/>
<category term="English" scheme="http://tsuinte.ru/tags/English/"/>
<category term="Flutter" scheme="http://tsuinte.ru/tags/Flutter/"/>
</entry>
<entry>
<title>Flutter Dev Journal(2): AWS Cognito SDK</title>
<link href="http://tsuinte.ru/2019/flutter_log_2_cognito/"/>
<id>http://tsuinte.ru/2019/flutter_log_2_cognito/</id>
<published>2019-10-20T11:00:00.000Z</published>
<updated>2019-10-24T08:50:37.000Z</updated>
<content type="html"><![CDATA[<p>When you are searching for AWS Cognito SDK that can be used in Flutter, you will soon be shocked that there’s no official support yet. According to a thread in <a href="https://forums.aws.amazon.com/thread.jspa?messageID=887161" target="_blank" rel="noopener">AWS forum</a>, one guy says:</p><blockquote><p>I work on the AWS SDK team. I am not aware of any plans to support Flutter at this point. I will take this to my team as a feature request and will post back on this thread/or through a general forum announcement if our plans change in the future.</p></blockquote><p>This is still true as of TODAY (October 2019).</p><p>So there are two community packages out there, which are <a href="https://pub.dev/packages/amazon_cognito_identity_dart" target="_blank" rel="noopener">amazon_cognito_identity_dart</a> and <a href="https://pub.dev/packages/flutter_cognito_plugin" target="_blank" rel="noopener">flutter_cognito_plugin</a>. The former is a pure Dart one translated from AWS official Javascript SDK, with good examples, but last active date was 7 months ago. The latter uses native Android and iOS AWS SDK by wrapping them into <code>MethodChannel</code>s, still activily in development.</p><p><strong>TL;DR</strong></p><p>I chose <code>amazon_cognito_identity_dart</code> out of its pureness in Dart, the first try was successful. But later on found 2 major issues, <a href="https://github.com/LudySu/amazon-cognito-identity-dart" target="_blank" rel="noopener">all fixed in my fork</a>. If you are not interested in the details, you can check that out and follow the usage there.</p><a id="more"></a><p>Thanks the author Jon Saw for the tremendous effort put into this Dart SDK, it saved me tons of time. I would not have been moved our native app into Flutter without this AWS Cognito SDK.</p><h1 id="Issues-and-fixes"><a href="#Issues-and-fixes" class="headerlink" title="Issues and fixes"></a>Issues and fixes</h1><h2 id="1-Client-secret-support"><a href="#1-Client-secret-support" class="headerlink" title="1. Client secret support"></a>1. Client secret support</h2><p>From <a href="https://github.com/aws-amplify/amplify-js/tree/master/packages/amazon-cognito-identity-js" target="_blank" rel="noopener">amazon-cognito-identity-js</a> where this Dart SDK translates from, it says</p><blockquote><p>When creating the App, the generate client secret box must be unchecked because the JavaScript SDK doesn’t support apps that have a client secret.</p></blockquote><p>Client secret is used to restrict access to AWS User Pool, any client that doesn’t have the client secret won’t be able to communicate to the pool.</p><p><img src="/img/201910/flutter_aws_client_secret.png" alt="Client secret setting"></p><p>But our User Pool already has a client secret that has been running smoothly with Android and iOS native SDKs, so we don’t want to change.</p><p>Fortunately, it’s an easy fix by adding a <code>SECRET_HASH</code> parameter to the JSON requests. The hash generating method can be found in the <a href="https://github.com/aws-amplify/aws-sdk-android/blob/master/aws-android-sdk-cognitoidentityprovider/src/main/java/com/amazonaws/mobileconnectors/cognitoidentityprovider/util/CognitoSecretHash.java" target="_blank" rel="noopener">AWS Android SDK</a>.</p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br></pre></td><td class="code"><pre><span class="line">///</span><br><span class="line">/// Translated from library `[email protected]` file `CognitoSecretHash.java::getSecretHash()`</span><br><span class="line">///</span><br><span class="line">static String calculateClientSecretHash(String userName, String clientId, String clientSecret) {</span><br><span class="line"> Hmac hmac = new Hmac(sha256, utf8.encode(clientSecret));</span><br><span class="line"> Digest digest = hmac.convert(utf8.encode(userName + clientId));</span><br><span class="line"> hmac.convert(digest.bytes);</span><br><span class="line"> return base64.encode(digest.bytes);</span><br><span class="line">}</span><br></pre></td></tr></table></figure><h2 id="2-Device-authentication-failure"><a href="#2-Device-authentication-failure" class="headerlink" title="2. Device authentication failure"></a>2. Device authentication failure</h2><p><img src="https://dmhnzl5mp9mj6.cloudfront.net/mobile_awsblog/images/cognito_devices_console.png" alt="Cognito device remembering"></p><p>If you have enabled <a href="https://aws.amazon.com/blogs/mobile/tracking-and-remembering-devices-using-amazon-cognito-your-user-pools/" target="_blank" rel="noopener">device remembering</a> feature in you User Pool, this <code>amazon_cognito_identity_dart</code> SDK will fail in response to <code>DEVICE_PASSWORD_VERIFIER</code> challenge, which occurs on the <strong>second</strong> time you login with the same device. Here is the error response from AWS:</p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br></pre></td><td class="code"><pre><span class="line">HTTP/1.1 400 Bad Request</span><br><span class="line">x-amzn-ErrorType: NotAuthorizedException:</span><br><span class="line">x-amzn-ErrorMessage: Incorrect username or password.</span><br><span class="line"></span><br><span class="line">{</span><br><span class="line"> "__type": "NotAuthorizedException",</span><br><span class="line"> "message": "Incorrect username or password."</span><br><span class="line">}</span><br></pre></td></tr></table></figure><p>This is because when you first time login with this device, it sends the WRONG <code>PasswordVerifier</code> JSON parameter in the <code>AWSCognitoIdentityProviderService.ConfirmDevice</code> request. This doesn’t fail, which means you will be able to login the first time, but it is sending a WRONG parameter (hash based of the combination of device key, device group key and a random string), so AWS Cognito remembers the WRONG information. Consequently, the second time when the SDK sends a parameter <code>PASSWORD_CLAIM_SIGNATURE</code> in the <code>DEVICE_PASSWORD_VERIFIER</code> phase using the CORRECT device key and device group key to generate that hash, hence the conflict. AWS Cognito would complain</p><blockquote><p>hey dude, this is not what you told me before, get outa here</p></blockquote><p>It sounds a lot to comprehend, but the fix is easy, change file <code>authentication_helper.dart</code> in <code>amazon_cognito_identity_dart</code> as shown below</p><figure class="highlight diff"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line"><span class="deletion">- '`$deviceGroupKey$username:${this._randomPassword}';</span></span><br><span class="line"><span class="addition">+ '$deviceGroupKey$username:${this._randomPassword}';</span></span><br></pre></td></tr></table></figure><p>As you can see, there is one more backtick ` at the beginning of the string, which is copy & pasted from the original Amazon Javascript SDK. In Javascript, backtick is used to create template literal.</p><h1 id="Development-journal"><a href="#Development-journal" class="headerlink" title="Development journal"></a>Development journal</h1><h2 id="Client-secret"><a href="#Client-secret" class="headerlink" title="Client secret"></a>Client secret</h2><p>To figure out how to add client secret, I set up a Charles proxy to deciper the traffic between the my device and AWS server. Then I did a side by side comparison of the JSON reqeust between the official Android SDK and the Dart one.</p><p>I noticed there is one more parameter <code>SECRET_HASH</code> in the Android request:</p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br></pre></td><td class="code"><pre><span class="line">POST / HTTP/1.1</span><br><span class="line">user-agent: Dart/2.5 (dart:io)</span><br><span class="line">x-amz-target: AWSCognitoIdentityProviderService.InitiateAuth</span><br><span class="line">accept-encoding: gzip</span><br><span class="line">host: cognito-idp.ap-southeast-2.amazonaws.com</span><br><span class="line">content-type: application/x-amz-json-1.1; charset=utf-8</span><br><span class="line"></span><br><span class="line">{</span><br><span class="line"> "AuthFlow": "USER_SRP_AUTH",</span><br><span class="line"> "ClientId": "YOUR_CLIENT_ID",</span><br><span class="line"> "AuthParameters": {</span><br><span class="line"> "DEVICE_KEY": "ap-southeast-2_DEVICE_UUID",</span><br><span class="line"> "USERNAME": "USER_EMAIL",</span><br><span class="line"> "SRP_A": "LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNGGGGGGGGGGGGGGGGGGGGGGGGGGG_RANDOM_STRING",</span><br><span class="line"> "SECRET_HASH": "FEgxHasTRmQq7SsCcBEAQB4xSyZmbl8UXm2a4QK6bA8="</span><br><span class="line"> },</span><br><span class="line">}</span><br></pre></td></tr></table></figure><p>Then I digged into the Android SDK source code and found that little method that uses <a href="https://en.wikipedia.org/wiki/HMAC" target="_blank" rel="noopener">HMAC_SHA256</a> algorithm to generate this secret hash. The pseudo code is <code>HMAC_SHA256(clientSecret, userName + clientId)</code>, while <code>clientSecret</code> is the key.</p><h2 id="Device-authentication"><a href="#Device-authentication" class="headerlink" title="Device authentication"></a>Device authentication</h2><p>This takes much more effort to fix. I have been staring at that place that has the extra backtick for a long long time but didn’t notice it. As with any backend related problem, I did a side by side comparison of the 400 error JSON request between the official Android SDK and the Dart one. Here is what it looks like:</p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br></pre></td><td class="code"><pre><span class="line">POST / HTTP/1.1</span><br><span class="line">user-agent: Dart/2.5 (dart:io)</span><br><span class="line">x-amz-target: AWSCognitoIdentityProviderService.RespondToAuthChallenge</span><br><span class="line">accept-encoding: gzip</span><br><span class="line">x-amz-user-agent: aws-amplify/0.0.x dart</span><br><span class="line">host: cognito-idp.ap-southeast-2.amazonaws.com</span><br><span class="line">content-type: application/x-amz-json-1.1; charset=utf-8</span><br><span class="line"></span><br><span class="line">{</span><br><span class="line"> "ChallengeName": "DEVICE_PASSWORD_VERIFIER",</span><br><span class="line"> "ClientId": "YOUR_CLIENT_ID",</span><br><span class="line"> "ChallengeResponses": {</span><br><span class="line"> "USERNAME": "USER_EMAIL",</span><br><span class="line"> "PASSWORD_CLAIM_SECRET_BLOCK": "SUPERRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR_LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNGGGGGGGGGGGGGGGGGGGGGGGGGGG_RANDOM_STRING",</span><br><span class="line"> "TIMESTAMP": "Mon Oct 21 12:33:53 UTC 2019",</span><br><span class="line"> "PASSWORD_CLAIM_SIGNATURE": "3oEI2DofcVVxxxxxxFV7UXJWnnqnQYPAxxxxxxxxxx=",</span><br><span class="line"> "DEVICE_KEY": "ap-southeast-2_DEVICE_UUID",</span><br><span class="line"> "SECRET_HASH": "FEgxHasTRmQq7SsCcBEAQB4xSyZmbl8UXm2a4QK6bA8="</span><br><span class="line"> },</span><br><span class="line"> "Session": null</span><br><span class="line">}</span><br></pre></td></tr></table></figure><p>The number of parameters are the same, after closely examining where those values come from, I noticed <code>PASSWORD_CLAIM_SECRET_BLOCK</code> is copied from previous server response, so the only thing can go wrong is the <code>PASSWORD_CLAIM_SIGNATURE</code>.</p><p>Then I went into the file <code>cognito_user.dart</code> that generates the request, I was suspecting that the calculation of the hash in method <code>getDeviceResponse()</code> is not correct. I set up break points in the source file and went line by line to examine the result of every step. But soon found this is not effective, and I have no way to verify whether the algorithm itself has problem. So I went for another blackbox approach, I copied the cached device related parameters from Android SDK which resided in <code>/data/data/app_package_name/shared_prefs/CognitoIdentityProviderDeviceCache.POOL-ID_USER-EMAIL.xml</code>, to the Flutter one in my Android simulator <code>/data/data/app_package_name/shared_prefs/FlutterSharedPreferences.xml</code></p><figure class="highlight xml"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br></pre></td><td class="code"><pre><span class="line"><span class="comment"><!--Android shared preferences--></span></span><br><span class="line"><span class="meta"><?xml version='1.0' encoding='utf-8' standalone='yes' ?></span></span><br><span class="line"><span class="tag"><<span class="name">map</span>></span></span><br><span class="line"> <span class="tag"><<span class="name">string</span> <span class="attr">name</span>=<span class="string">"DeviceSecret"</span>></span>DEVICE_GENERATED_RANDOM_STRING<span class="tag"></<span class="name">string</span>></span></span><br><span class="line"> <span class="tag"><<span class="name">string</span> <span class="attr">name</span>=<span class="string">"DeviceKey"</span>></span>ap-southeast-2_DEVICE_ID<span class="tag"></<span class="name">string</span>></span></span><br><span class="line"> <span class="tag"><<span class="name">string</span> <span class="attr">name</span>=<span class="string">"DeviceGroupKey"</span>></span>xxxxxxx<span class="tag"></<span class="name">string</span>></span></span><br><span class="line"><span class="tag"></<span class="name">map</span>></span></span><br></pre></td></tr></table></figure><p>With the three device parameters from the Android SDK, the Dart SDK was able to successfully go through the previously failed <code>DEVICE_PASSWORD_VERIFIER</code> request!! So it’s clear the method <code>getDeviceResponse()</code> that generates the hash is 100% correct, the problem must be in previous requests where these three parameter are involved. After some digging, the scope got narrowed down to method <code>generateHashDevice()</code> in file <code>authentication_helper.dart</code> where device secret is generated.</p><figure class="highlight dart"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br></pre></td><td class="code"><pre><span class="line"><span class="comment">// File authentication_helper.dart</span></span><br><span class="line"></span><br><span class="line"><span class="keyword">void</span> generateHashDevice(<span class="built_in">String</span> deviceGroupKey, <span class="built_in">String</span> deviceKey) {</span><br><span class="line"> _randomPassword = <span class="keyword">this</span>.generateRandomString(); <span class="comment">// Device secret, a random string</span></span><br><span class="line"> <span class="keyword">final</span> <span class="built_in">String</span> combinedString =</span><br><span class="line"> <span class="string">'`<span class="subst">$deviceGroupKey</span><span class="subst">$deviceKey</span>:<span class="subst">${<span class="keyword">this</span>._randomPassword}</span>'</span>;</span><br><span class="line"> <span class="keyword">final</span> <span class="built_in">String</span> hashedString = <span class="keyword">this</span>.hash(utf8.encode(combinedString)); <span class="comment">// BUG here!!</span></span><br><span class="line"></span><br><span class="line"> <span class="keyword">final</span> <span class="built_in">String</span> hexRandom = <span class="keyword">new</span> RandomString().generate(length: <span class="number">16</span>);</span><br><span class="line"></span><br><span class="line"> _saltToHashDevices = <span class="keyword">this</span>.padHex(BigInt.parse(hexRandom, radix: <span class="number">16</span>)); <span class="comment">// Random salt</span></span><br><span class="line"></span><br><span class="line"> <span class="keyword">final</span> verifierDevicesNotPadded = modPow(</span><br><span class="line"> <span class="keyword">this</span>.g,</span><br><span class="line"> BigInt.parse(<span class="keyword">this</span>.hexHash(_saltToHashDevices + hashedString), radix: <span class="number">16</span>),</span><br><span class="line"> <span class="keyword">this</span>.N,</span><br><span class="line"> );</span><br><span class="line"></span><br><span class="line"> _verifierDevices = <span class="keyword">this</span>.padHex(verifierDevicesNotPadded);</span><br><span class="line">}</span><br></pre></td></tr></table></figure><p>There are three variables that are suspicious. Firstly, <code>_randomPassword</code> is a random string and being sent to server in some sort of hashed form, it is confidential to the device. The second <code>_saltToHashDevices</code> is also locally generated random number, so also innocent. The last one <code>_verifierDevices</code> which is a hashed form of <code>combinedString</code> variable, is used as <code>PasswordVerifier</code> parameter in the following <code>AWSCognitoIdentityProviderService.ConfirmDevice</code> request is the ONLY place that can go wrong:</p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br></pre></td><td class="code"><pre><span class="line">POST / HTTP/1.1</span><br><span class="line">user-agent: Dart/2.5 (dart:io)</span><br><span class="line">x-amz-target: AWSCognitoIdentityProviderService.ConfirmDevice</span><br><span class="line">accept-encoding: gzip</span><br><span class="line">x-amz-user-agent: aws-amplify/0.0.x dart</span><br><span class="line">host: cognito-idp.ap-southeast-2.amazonaws.com</span><br><span class="line">content-type: application/x-amz-json-1.1; charset=utf-8</span><br><span class="line"></span><br><span class="line">{</span><br><span class="line"> "DeviceKey": "ap-southeast-2_DEVICE_ID",</span><br><span class="line"> "AccessToken": "ACCESS_TOKEN_FROM_PREVIOUS_SERVER_RESPONSE",</span><br><span class="line"> "DeviceSecretVerifierConfig": {</span><br><span class="line"> "Salt": "Wexxxxxxcws=",</span><br><span class="line"> "PasswordVerifier": "APjfxxxxxxxxxxxxxxx+8pZC4+iyRlksk6cxxxxxv6ROt3SCnmRIqO8/rt0RSG4TP8xxxxxxJ7jUJeT2MS+008qSCFyJ0WDTbKT6VRd4zx4hID3G1GLujSAOBuOfbYxftFxNxxxx2c6XT/pG4miBHC/7vz6x6VSkrC00gH/JU+V5kE964fTVBHxxxxxxjoButqn9f/kpdqxxxxxxxxxxxxzJWDQiVQWZFH+31kFC7ATZKnseqQfWIse7/Xj1O2GxxxxxxxxddOBX6/WSNm7SDzCA5i+6NAlZ67JywtoqV3twrnlpQ5/i5km8WBhL9+yP6FYVv6s/1ICADuorxxxxxxKhxR12bblNdBxxxxxxxxxmppnLQqIKK8oCog1uikudNi3DhCBHJw6oWxxxxxxxxxxxxxxxxxxxx6xTYT8aJmhNs4L6hmPgcLfumgyw=="</span><br><span class="line"> },</span><br><span class="line"> "DeviceName": "Dart-device"</span><br><span class="line">}</span><br></pre></td></tr></table></figure><p>After another examination of <code>combinedString</code> variable, suddenly I found the weird backtick ` at the beginning of the string. That’s the extra backstick that makes the hash go wrong.</p><p>Problem resolved. One character deletion fix comes from several days of work… In Javascript, backtick is used to create template string, so it’s a copy & paste error.</p>]]></content>
<summary type="html">
<p>When you are searching for AWS Cognito SDK that can be used in Flutter, you will soon be shocked that there’s no official support yet. According to a thread in <a href="https://forums.aws.amazon.com/thread.jspa?messageID=887161" target="_blank" rel="noopener">AWS forum</a>, one guy says:</p>
<blockquote>
<p>I work on the AWS SDK team. I am not aware of any plans to support Flutter at this point. I will take this to my team as a feature request and will post back on this thread/or through a general forum announcement if our plans change in the future.</p>
</blockquote>
<p>This is still true as of TODAY (October 2019).</p>
<p>So there are two community packages out there, which are <a href="https://pub.dev/packages/amazon_cognito_identity_dart" target="_blank" rel="noopener">amazon_cognito_identity_dart</a> and <a href="https://pub.dev/packages/flutter_cognito_plugin" target="_blank" rel="noopener">flutter_cognito_plugin</a>. The former is a pure Dart one translated from AWS official Javascript SDK, with good examples, but last active date was 7 months ago. The latter uses native Android and iOS AWS SDK by wrapping them into <code>MethodChannel</code>s, still activily in development.</p>
<p><strong>TL;DR</strong></p>
<p>I chose <code>amazon_cognito_identity_dart</code> out of its pureness in Dart, the first try was successful. But later on found 2 major issues, <a href="https://github.com/LudySu/amazon-cognito-identity-dart" target="_blank" rel="noopener">all fixed in my fork</a>. If you are not interested in the details, you can check that out and follow the usage there.</p>
</summary>
<category term="EverydayFlutter" scheme="http://tsuinte.ru/categories/EverydayFlutter/"/>
<category term="English" scheme="http://tsuinte.ru/tags/English/"/>
<category term="Flutter" scheme="http://tsuinte.ru/tags/Flutter/"/>
</entry>
<entry>
<title>Flutter Dev Journal(1): Going hybrid</title>
<link href="http://tsuinte.ru/2019/flutter_log_1_hybrid/"/>
<id>http://tsuinte.ru/2019/flutter_log_1_hybrid/</id>
<published>2019-09-08T12:00:00.000Z</published>
<updated>2019-10-22T04:26:52.000Z</updated>
<content type="html"><![CDATA[<p><strong>Situation:</strong> I have an existing iOS app and an Android counterpart, and will be moving to Flutter to leverage the cross-platform ability. But there’s a new feature has to be added on time, is there a future-proof solution that I can avoid re-writing the same feature later on?</p><p>The answer is <strong>YES</strong>, IF it does not rely too much on communication with existing apps. So we can do:</p><ul><li>Develop the new feature using Flutter</li><li>Add the new Flutter module into existing native Android and iOS apps</li><li>Write platform specific code in Flutter, and/or add bridging code to Flutter and/or native apps as required</li><li>Reuse this Flutter module in the future unified Flutter app</li></ul><a id="more"></a><h1 id="Case-study"><a href="#Case-study" class="headerlink" title="Case study"></a>Case study</h1><p>In our case, the new module is rather independent. The existing app stores all the data in an SQLite database, so the Flutter module can read the data from the database directly using SQL queries without talking to the existing app.</p><p><img src="/img/201910/flutter_app_arch.png" alt="App structure"></p><p>Apart from that, the module also needs to get a string token from the existing app. This can be done by using <a href="https://flutter.dev/docs/development/platform-integration/platform-channels" target="_blank" rel="noopener">MessageChannel</a>s, basically you implement a method in both platforms then you can call it in Flutter.</p><p>The outcome was great. This new feature was literally written once, ran on both platforms which saved a lot of time in development as well as testing. But it’s not 2X of the speed, because of the intial learning curve of a new Dart language and framework. Also for people come from the imperial style UI programming world, adapting to <a href="https://flutter.dev/docs/development/data-and-backend/state-mgmt/declarative" target="_blank" rel="noopener">reactive programming</a> takes some time.</p><p>For the Android app, its size increased from 4MB to 10MB after embedding Flutter.</p><h1 id="Headaches-log"><a href="#Headaches-log" class="headerlink" title="Headaches log"></a>Headaches log</h1><p>As the time of writing (October 2019), the common headaches described below have been SOLVED.</p><p>First thing is AndroidX support. It conflicts with the Android app that is already migrated to <a href="https://developer.android.com/jetpack/androidx/migrate" target="_blank" rel="noopener">AndroidX</a>. This is because Flutter still uses <code>com.android.support</code> in their Java wrapper files, if your app is depending on <code>com.android.support.androidx</code>. Solved in Flutter <code>v1.9.1</code>.</p><p>Second thing is Android 64-bit support. Flutter doesn’t build 64-bit binary for so libraries. Solved in Flutter <code>v1.9.1</code>.</p><p>The third is iOS cocoapods. If you have a <code>post_install</code> hook in your <code>Podfile</code>, then you need to move the content into <code>flutter_common_module/.ios/Flutter/podhelper.rb</code>. Flutter uses that hook to disable bitcode, which will cause conflict with yours. Solved in Flutter <code>v1.9.1</code>.</p><h1 id="The-bottom-line"><a href="#The-bottom-line" class="headerlink" title="The bottom line"></a>The bottom line</h1><p>Flutter is a young eco-system, so sometimes you have to dig around for the things that have been available in native platform for a long time, or have trouble fighting for something that is not working.</p><p>The bottom line is: Considering how much time it saves, it well worth the effort.</p>]]></content>
<summary type="html">
<p><strong>Situation:</strong> I have an existing iOS app and an Android counterpart, and will be moving to Flutter to leverage the cross-platform ability. But there’s a new feature has to be added on time, is there a future-proof solution that I can avoid re-writing the same feature later on?</p>
<p>The answer is <strong>YES</strong>, IF it does not rely too much on communication with existing apps. So we can do:</p>
<ul>
<li>Develop the new feature using Flutter</li>
<li>Add the new Flutter module into existing native Android and iOS apps</li>
<li>Write platform specific code in Flutter, and/or add bridging code to Flutter and/or native apps as required</li>
<li>Reuse this Flutter module in the future unified Flutter app</li>
</ul>
</summary>
<category term="EverydayFlutter" scheme="http://tsuinte.ru/categories/EverydayFlutter/"/>
<category term="English" scheme="http://tsuinte.ru/tags/English/"/>
<category term="Flutter" scheme="http://tsuinte.ru/tags/Flutter/"/>
</entry>
<entry>
<title>新西兰生孩子经验分享</title>
<link href="http://tsuinte.ru/2019/pregenency-in-nz/"/>
<id>http://tsuinte.ru/2019/pregenency-in-nz/</id>
<published>2019-07-15T12:00:00.000Z</published>
<updated>2019-07-19T10:43:34.000Z</updated>
<content type="html"><![CDATA[<p>宝宝出生对每个家庭来说都是一件大事,新手爸妈没有经验更可能手忙脚乱不知所措。这里预习一下在新西兰的医院生孩子的流程是啥,从中也能看看西方发达国家的一些人性化的关怀。</p><h1 id="怀孕前期"><a href="#怀孕前期" class="headerlink" title="怀孕前期"></a>怀孕前期</h1><p>怀孕前三个月归家庭医生 GP 管,平时看家庭医生是需要一定费用的,有的便宜诊所可能十几刀,贵的有六七十刀,但是怀孕期间完全免费。一般自己在家里用验孕棒两个星期左右都是阳性就可以确定怀孕,这时可以预约家庭医生,医生会做一些基本检查,还有告诉你简单的怀孕期间需要注意的事项,特别是食品安全方面的;告诉你要找助产士,怀孕 3 个月以后主要由助产士负责。还会给你一个本地 <a href="bounty.co.nz">bounty.co.nz</a> 怀孕知识网站赠送的怀孕小礼包,主要有一本书按怀孕周数写着实用小知识的手册 <em>Your Pregnency</em>,还有产后妊娠纹修复霜(palmer’s)、宝宝屁屁霜(sudocrem)的试用装。</p><a id="more"></a><p><img src="/img/201907/pregenency_in_nz_1.jpg" alt="怀孕知识手册"></p><p>尽管不是必须,我们要求做一次 B 超求个心安。家庭医生开了一张 B 超检查单,让在 9 周到 10 周左右去做检查,可以确认宝宝存在和根据宝宝大小计算比较准确的预产期。</p><blockquote><p><strong>B 超</strong>:在新西兰大部分事务奉行的是政府资助、患者自主选择的原则,确保市场上自由竞争、优胜劣汰,患者可以根据自己情况选择最适合的商家。B 超也同样是医生出具检查单,患者拿着单子可以去任意一家有资质的诊所检查,一般这种都叫什么 radiology,通常包括 X 光、B 超、CT 等服务。去之前大概提前一周预约,预约时间到了就去检查;检查结果会发送给你的医生或助产士。而且数据都是共享的,下次去其他诊所也没问题。怀孕期间 B 超是政府资助的,但是由于成本上涨很多诊所需要额外收取 50 刀一次(全价大概 350 刀),如果想找完全免费的得去比较远的地方。也可以购买一个 package,包括加强版 4D 彩超多次检查,大概 300 多刀左右。</p></blockquote><p>我们在谷歌地图上搜,找了一家离家比较近的叫 Mercy Radiology,在诊所网站上传了医生开具的检查单,一般提前一周预约,第二天就可以收到电话确认预约时间。</p><p>医生还建议怀孕期间孕妇及身边家人都打流感疫苗,因为孕妇得感冒是很危险的。</p><h1 id="怀孕中后期"><a href="#怀孕中后期" class="headerlink" title="怀孕中后期"></a>怀孕中后期</h1><p>怀孕期间最重要的联系人是 Lead Maternity Carer(简称 LMC),包括助产士 midwife、产科专家。其中助产士是政府补助的免费(价值 2500 刀左右),专家需要自己出 3000 - 5000 刀额外费用。一般找 midwife 就行了,有特殊情况或者高危产妇可以找专家;也有一种只在生产期间找专家的,这样 midwife 拿到的钱会变少,需要提前和 midwife 商量好。如果没有专家的话,剖腹产的时候就由当时医院值班医生负责,但值班医生可能不是产科专家,也可能不是经验丰富的老医生。</p><p>可以上两个网站 <a href="https://www.findyourmidwife.co.nz/" target="_blank" rel="noopener">find your midwife</a> 或者 <a href="https://www.healthpoint.co.nz/maternity/midwife-practice/" target="_blank" rel="noopener">healthpoint</a> 寻找 midwife,确定怀孕后要尽快联系,因为能说中文的非常紧俏,晚了只能找英文 midwife 了。</p><p>Midwife 的职责是为你建立健康档案,跟踪关键的体重、血压、血液含量、胎心胎位等等指标,开单子安排你去验血、照 B 超。刚开始是四周见一次,30 周之后两周见一次,36 周后是一周一次。一般 12 周左右开始第一次见 midwife,安排第一次重要的筛查唐氏综合征筛查,包括 B 超检查(Nuchal translucency assessment)和验血。Nuchal translucency 中文叫颈部透明膜,这个检查是用超声波扫描胎儿颈部透明膜的厚度,一般低于 2.5mm 说明胎儿得唐氏综合征的风险很低,高了也不代表真的胎儿有异常,只是需要进一步检查。每次见 midwife 都会验尿血糖、血压、体重,讨论最近去验血、B 超检查的结果,开具下次检查的单子,并把各项指标做好书面记录,后期还会听胎儿心跳和摸胎位。</p><p>整个怀孕期间重要的检查如下表:</p><table><thead><tr><th>怀孕周数</th><th>检查项目</th></tr></thead><tbody><tr><td>12-13 周</td><td>唐氏综合症筛查:B 超(NT scan) + 验血(MSSI)</td></tr><tr><td>20 周</td><td>B 超畸形排查</td></tr><tr><td>26-28 周</td><td>验血(妊娠糖尿病),验尿</td></tr><tr><td>34-36 周</td><td>验血</td></tr></tbody></table><blockquote><p><strong>验血</strong>:新西兰验血都是去 Labtests,专门的抽血和验血的地方,上谷歌地图找离自己最近的一家就行。不用预约,直接拿着医生给的验血单过去就行,看等候人数多少,一般 15 分钟左右。</p></blockquote><p>如果是第一胎 midwife 还会建议你去上免费的产前辅导课,介绍分娩过程和产后宝宝护理,有医院或者其他慈善机构举办。中文的辅导课比较紧俏,最好怀孕 12 周左右就去预约,我们预约晚了一点只能去远一点的地方上课。有些组织的比较好的产前辅导课会有比较多实践互动,还会建立微信群啥的,方便认识朋友以及妈妈之间互相交流新的。</p><p>第二次重要 B 超检查是 20 周时做的胎儿畸形排查,确保各个器官例如心脏、肾脏等等发育正常,这时也能大致检查出胎儿性别。我们检查的时候护士还专门问要不要告诉我们性别,因为有的爸爸妈妈不喜欢剧透的。</p><p>第三次检查在 26 - 28 周,这个阶段最重要的是做葡萄糖耐力测验,来检查你有没有妊娠期糖尿病。做这个检查需要很长时间,早上空腹过去抽血检查,然后喝一杯葡萄糖水,静坐等两个小时后再抽血看血糖水平。也会检查常规血指标,由于需要供应胎儿这间断孕妇血铁含量会直线下降,太低的需要吃补铁的药。</p><blockquote><p><strong>胎动减少怎么办</strong>:我们 midwife 建议喝一大杯带冰块的冰水,然后静静躺着数胎动,一个小时内超过 10 次就没问题。如果还是没动的可以和 midwife 联系,她会安排你马上到医院做胎心监护。</p></blockquote><p>怀孕 28-38 周医生建议去打百白破疫苗,抗体可以传给宝宝。</p><p>32 周左右 midwife 会和你商量生产计划,是否要使用无痛分娩、胎盘如何处理等等,告诉你医院的位置。</p><p>36 周以后每周去一次,听胎心、摸胎位。39 周的时候 midwife 建议我们预约 40 周的 B 超检查,以防万一宝宝延期,那时再预约可能满了预约不上。我们果然要在 40 周去照 B 超,晚上知道结果显示羊水偏少,midwife 叫我们晚上马上去医院做胎心监护看宝宝情况,没事的话做完回去,第二天早上过来准备催产。</p><h1 id="分娩"><a href="#分娩" class="headerlink" title="分娩"></a>分娩</h1><p><img src="/img/201907/pregenency_northshore_hospital_outside2.jpg" alt="清晨来到医院"></p><p>新西兰这边分娩大部分是在医院(少部分洋人喜欢在家里分娩),为了不过多占用医疗资源和避免在医院里无谓的等待,<strong>孕妇在宫缩达到规律的三分钟一次、每次痛一分钟之前都不能去医院</strong>,去到如果检查到宫口开的不够还是会被建议回去等着,达到了再来。刚开始不动觉得这规定太不人性化了,万一路上生出来怎么办,万一出意外呢?后来才知道是不懂医学常识造成的恐慌,midwife 一路跟踪孕妇各种指标,看 B 超结果,摸胎儿位置就已经排查了很多风险,如果是高危产妇会有特殊照顾的。像我们这完全正常的又加上是第一胎,就算达到标准进了医院也得等半天才能进入实际分娩流程,到了分娩过程一两个小时的都有,所以不用太着急。等宫缩达到规律的三分钟一次再慢慢开车去医院,路上半个小时都不是事儿。被医院接收以后就会进去独立病房;医院不允许在门口坐着排队干等的情况,所以进医院要求比较严格,不符合的就得自己回家等着。</p><p><img src="/img/201907/pregenency_northshore_hospital_outside.jpg" alt="医院附近的湖景"></p><p><img src="/img/201907/pregenency_northshore_hospital_outside3.jpg" alt="医院高处看到的湖景"></p><p>我们是前一天 B 超检查羊水低于常规水平,所以第二天一大早就直接去医院准备催产。首先检查宫口开的情况,护士用手指刺激一下子宫口后让出去走动走动;还是没有效果,就在下午开始打催产素 oxytocin,打了之后一般 6-8 小时之内生。等开到四指的时候我太太说疼的不行要死了,之前试过笑气麻醉不管用,就要求上 epidural(俗称腰麻)。由于医院忙,等了大概两个小时左右麻醉师才到,麻醉师还要跟你简单解释一下,后背穿刺好又弄了半个小时左右;之后由 midwife 负责添加麻药。由于下半身麻醉了,排尿会受到影响,还要安装尿袋。这时 midwife 建议大家都休息一下,预计到半夜子宫全打开了生产。这个休息非常重要,<strong>英文分娩过程就叫 labor,字面意思就是体力劳动,事实也证明后面半夜分娩,甚至之后几天被宝宝哭闹、喂奶问题搞得焦头烂额,妈妈都很少有休息机会</strong>。midwife 这时也没闲着,整理病历资料、填写各种表格;中途还有另外一个孕妇来医院找她看,没怎么闲着。</p><p><img src="/img/201907/pregenency_northshore_hospital2.jpg" alt="前半夜在产房休息"></p><blockquote><p><strong>生产过程的麻醉</strong>:首先新西兰这边第一尊重的是孕妇的意愿,在孕妇清醒的情况下完全自己做决定,包括要不要麻醉,不会出现需要手术签字家属不同意,导致悲剧的情况。像麻醉在分娩前 midwife 就会预先跟你解释,了解你的意愿,会用数据跟你说出现可能的问题和概率,每个孕妇都有权利要求使用麻醉。不过麻醉师比较紧缺,要是医院要做手术,可能要等一会儿。麻醉主要有笑气和 epidural,笑气是呼吸一氧化二氮气体,麻醉能力不强;epidural 需要让麻醉医生在你的后背上进行一针穿刺,针走行于脊柱骨头之间的缝隙中并尽量靠近神经,之后会给麻醉药将导致疼痛的神经麻痹,同时会留置一根很细的管子,以便在整个分娩的几个小时中持续给药、持续镇痛。麻醉穿刺弄好也得差不多半个小时,打了之后也要 15 分钟才生效,还要上尿袋,生产过程异常顺利的人,特别是第二胎的可能不打麻醉更省事一点。国内有幸用上无痛分娩的不多,具体查看知乎<a href="https://www.zhihu.com/question/26337852" target="_blank" rel="noopener">为什么国内生孩子没有大范围普及无痛分娩针(Epidural)?</a></p></blockquote><blockquote><p><strong>剖腹产</strong>:由于手术医生有限,新西兰的规定是除非有危险,不然都得先尝试顺产,不行的才行找医院值班医生安排剖腹产,midwife 说很多胎位有点异常、孩子偏大等等最后大部分其实都能顺产的。根据<a href="https://www.health.govt.nz/system/files/documents/publications/report-maternity-2017-apr19.pdf" target="_blank" rel="noopener">新西兰卫生部的 2017 年度报告</a>,27.9% 的孕妇最终是剖腹产,完全顺产 62.7%,辅助顺产 9.5%。</p></blockquote><p>到了半夜起来,我太太开始配合着宫缩用力把宝宝挤出来,虽然快生产前麻药量已经变小了,但知觉还是会变迟钝,基本是看着仪器的波形然后我数数让妈妈配合用力的。一直进展比较慢,可能宝宝偏重也有很大关系。当时已经把值班医生叫来看要不要剖腹产了,幸运的是 midwife 说这个是个专家,很有经验。专家是一个印度大胖姐,一脸严肃的跟其他护士那样对妈妈喊“sweet heart” “honey”(这边护士对着孕妇都这么喊,可能让人觉得亲切吧),感觉怪怪的。最后医生大姐做了侧切和用了吸盘才把宝宝拉出来,如果还是出不来就会送去手术室剖腹产,所以在新西兰是 <strong>所有手段都用尽的情况下才会给你剖腹产的</strong>。宝宝出来之后医生让爸爸来剪脐带,我拒绝了就让医生剪。</p><p>生出来后宝宝就放在妈妈的胸口,这边叫 skin to skin,说有助于建立亲子关系、也可以让宝宝保暖。midwife 和护士们就开始手忙脚乱的收拾东西了,两个人一起确认纱布数量,确认没有残留、清点孕妇失血量、丢掉沾满血的一次性医疗用品、确认胎盘如何处理(丢掉或自己带走),主要是 midwife 在做清洁。然后给宝宝做基本检查,称重,穿衣服,还要给 <strong>打了一针新生儿用维生素 K</strong>。最后大家休息了 midwife 继续整理生产过程,做好记录。</p><blockquote><p><strong>midwife 职业</strong>:midwife 有点类似于家庭医生,孕妇整个怀孕期间主要和 midwife 沟通就行,整个流程都有人跟踪负责。不过想想 midwife 也挺辛苦的,经常要熬夜还要随时待命,孩子出生不会提前跟你预约的;分娩的时候要上麻药、上尿袋、缝合伤口,接生完了还要给宝宝穿衣服称重,做好数据记录,最后还要收拾现场卫生。据说 2019 年数据是接生一个 midwife 能够从政府拿到 2500 刀,分阶段给钱,平均一周接生一两个的话收入还是挺可观的,比医院值班护士高很多。</p></blockquote><h2 id="生产环境"><a href="#生产环境" class="headerlink" title="生产环境"></a>生产环境</h2><p><img src="/img/201907/pregenency_northshore_hospital.jpg" alt="产房"></p><p>这里以北岸医院为例。有两种,一种是监护病房,就是给那些还没到达实际分娩阶段,需要做胎心监测的孕妇用的。实际的产房大很多,看起来有大概 20 平米左右,有一个独立卫生间,有一个单人沙发,几张椅子。可以多个人陪同生产,我们是除产妇外有两人陪同。</p><p>这边鼓励你带一些可以放松的东西,包括音响放你喜欢的歌,或者带相机来记录,带本书来看,看电视等等。实际到时手忙脚乱的顾不上那么多,妈妈疼的不行也没心情听音乐看书。也可以带家属陪同,多几个人也不会太挤,不要妨碍到护士们接生就行。</p><h1 id="产后"><a href="#产后" class="headerlink" title="产后"></a>产后</h1><p><img src="/img/201907/pregenency_northshore_hospital3.jpg" alt="新生儿中心"></p><p><img src="/img/201907/pregenency_northshore_hospital4.jpg" alt="新生儿中心"></p><p>第二天早上我们就转到隔壁的新生儿中心了,这里条件稍微差点,两个人一间房中间用帘子隔开,除了放下一张病床,两边空间都很窄,估计只有 10 平米不到。这里是监护宝宝和妈妈的状况,恢复的快的洋人可能做个检查下午就走了,中国人一般要 2-3 天左右。妈妈失血多的要打点滴补铁或者甚至输血,也监测宝宝喂养情况。这里护士会教你怎么给宝宝喂奶,有什么问题也可以马上问她们,大部分护士态度都很友善,但人员有限可能叫好久都没人来。</p><p><img src="/img/201907/pregenency_brochures.jpg" alt="各种介绍资料中文版"></p><p><img src="/img/201907/pregenency_brochures2.jpg" alt="各种介绍资料"></p><p>这期间也会发很多宣传手册,教你怎么喂奶、怎么冲奶粉、打疫苗、产后恢复需要注意什么等等,除了介绍知识还会告知你的权利(例如拒绝某些资料收集、进行某些筛查),有些甚至有中文版本。</p><p>在这几天医生会过来做几个重要筛查,一个是取几滴脚跟血,筛查几种染色体遗传病(Newborn metabolic screening)。还有一个是听力检查,让宝宝戴上耳机加脑电波电极,宝宝两边耳朵听到声音时脑电波会有反应,从而确定宝宝听力正常。我们住了两个晚上就走了,环境不好,时不时有宝宝哭声,地方又窄。</p><h1 id="新生儿"><a href="#新生儿" class="headerlink" title="新生儿"></a>新生儿</h1><p>头四个星期每周 midwife 都会过来家访,看妈妈的产后恢复情况,看宝宝的发育情况,教怎么给宝宝洗澡等等。发现有潜在问题的会转介给儿科医生看,我们的宝宝就去了几次看儿科医生。之后就是去 GP 看病,儿童都是免费的,同时打疫苗都是在家庭医生那里,一岁以内有分别六周、三个月、五个月打一次。出生之后还要马上<a href="http://arphs.health.nz/bcg-form/" target="_blank" rel="noopener">在这网站</a>预约肺结核病的 BCG(卡介) 疫苗,由于疫苗短缺,只有高危人群才会优先排上打疫苗,一般要等几个星期才有回复,预约上后再过几个星期才能打上。华人宝宝、近期打算回国的都是高危人群,是优先处理的对象。</p><p>上政府的 <a href="https://smartstart.services.govt.nz/register-my-baby" target="_blank" rel="noopener">Smart Start</a> 网站可以给宝宝申请出生证明,成为新西兰公民,同时注册宝宝名字;同时很贴心的网站上会提醒你可以领 Smart Start 福利,每周 60 刀,还会提醒你如果是低收入家庭去申请相应的福利。</p><p>此外还有一个叫 <a href="https://www.plunket.org.nz/" target="_blank" rel="noopener">Plunket</a> 的慈善机构提供上门的免费婴儿咨询服务,跟踪宝宝成长情况、了解妈妈身体和心理情况、解答喂养中遇到的任何问题。他们都是专业的护士,可以提供一般的育儿建议,有问题他们会建议你去看 GP 或者相应的各种机构。</p><p>新西兰国家免疫计划</p><table><thead><tr><th>宝宝周数</th><th>预防疾病</th><th>疫苗商品名</th></tr></thead><tbody><tr><td>6 周</td><td>轮状病毒(口服)<br>六联(白喉+破伤风+百日咳+小儿麻痹+乙肝+B型嗜血杆菌)<br>肺炎链球菌</td><td>Rotarix(葛兰素史克)<br>Infanrix hexa(葛兰素史克)<br>Synflorix(葛兰素史克)</td></tr><tr><td>3 个月</td><td>和 6 周相同</td><td></td></tr><tr><td>5 个月</td><td>六联(白喉+破伤风+百日咳+小儿麻痹+乙肝+B型嗜血杆菌)<br>肺炎链球菌</td><td>Infanrix hexa(葛兰素史克)<br>Synflorix(葛兰素史克)</td></tr><tr><td>15 个月</td><td>B型嗜血杆菌<br>三联(麻疹+腮腺炎+风疹)<br>肺炎链球菌<br>水痘</td><td>Hiberix(葛兰素史克) <br>Priorix(葛兰素史克) <br>Synflorix(葛兰素史克) <br>Varilrix(葛兰素史克)</td></tr><tr><td>4 岁</td><td>四联(白喉+破伤风+百日咳+小儿麻痹)<br>三联(麻疹+腮腺炎+风疹)</td><td>Infanrix IPV(葛兰素史克) <br>Priorix(葛兰素史克)</td></tr><tr><td>11+12 岁</td><td>三联(白喉+破伤风+百日咳)<br>HPV(宫颈癌)</td><td>Boostrix(葛兰素史克) <br>Gardasil(默克)</td></tr><tr><td>新生儿至儿童</td><td>结核病</td><td>BCG(默克)</td></tr></tbody></table><h1 id="思考"><a href="#思考" class="headerlink" title="思考"></a>思考</h1><ol><li>新西兰医生水平可能不如国内最顶尖的医生,但都是合格的,而且有流程规范着,保证每个人享受到的服务都是有底线的</li><li>这里说的是 <strong>所有普通人</strong> 都能享受到的服务,肯自己出钱请专家服务肯定更贴心</li><li>有各种慈善机构帮助处于困难中的新妈妈</li></ol>]]></content>
<summary type="html">
<p>宝宝出生对每个家庭来说都是一件大事,新手爸妈没有经验更可能手忙脚乱不知所措。这里预习一下在新西兰的医院生孩子的流程是啥,从中也能看看西方发达国家的一些人性化的关怀。</p>
<h1 id="怀孕前期"><a href="#怀孕前期" class="headerlink" title="怀孕前期"></a>怀孕前期</h1><p>怀孕前三个月归家庭医生 GP 管,平时看家庭医生是需要一定费用的,有的便宜诊所可能十几刀,贵的有六七十刀,但是怀孕期间完全免费。一般自己在家里用验孕棒两个星期左右都是阳性就可以确定怀孕,这时可以预约家庭医生,医生会做一些基本检查,还有告诉你简单的怀孕期间需要注意的事项,特别是食品安全方面的;告诉你要找助产士,怀孕 3 个月以后主要由助产士负责。还会给你一个本地 <a href="bounty.co.nz">bounty.co.nz</a> 怀孕知识网站赠送的怀孕小礼包,主要有一本书按怀孕周数写着实用小知识的手册 <em>Your Pregnency</em>,还有产后妊娠纹修复霜(palmer’s)、宝宝屁屁霜(sudocrem)的试用装。</p>
</summary>
<category term="新西兰" scheme="http://tsuinte.ru/tags/%E6%96%B0%E8%A5%BF%E5%85%B0/"/>
</entry>
<entry>
<title>Power of hybrid (I): add flutter to existing apps</title>
<link href="http://tsuinte.ru/2019/make-a-flutter-hybrid-app-1/"/>
<id>http://tsuinte.ru/2019/make-a-flutter-hybrid-app-1/</id>
<published>2019-05-07T12:00:00.000Z</published>
<updated>2019-11-20T00:16:38.000Z</updated>
<content type="html"><![CDATA[<p><strong>UPDATED</strong>: Updated for Flutter <code>v1.9.1</code>.</p><p><strong>TL;DR</strong>: this guide gives a real example (which is a minimized version that comes from our real project) when you follow the <a href="https://github.com/flutter/flutter/wiki/Add-Flutter-to-existing-apps" target="_blank" rel="noopener">Official wiki: Add Flutter to existing apps</a>, covering some common issues you might have. Check out the full <a href="https://github.com/LudySu/FlutterHybridExample" target="_blank" rel="noopener">FlutterHybridExample</a> in Github to see what it looks like when done.</p><p>Consider this situation, you have an app that works for both Android and iOS platforms, you developed them in a native way to get the best performance and user experience possible. Then one day you need to add a new feature to make it more attractive, which means the same thing has to be done twice, one for each platform. You heard of fancy and shinny stuff - Flutter that promises to work for both platforms and claims to bring native performance. But you can’t afford the time in totally rebuild the app, you still need to keep things running for existing users, just like doing an open heart surgery. So my answer is:</p><ul><li>Develop the new feature using Flutter</li><li>Add the new Flutter module into existing native Android and iOS apps</li><li>Write platform specific code in Flutter, and/or add bridging code to Flutter and/or native apps as required</li></ul><a id="more"></a><p>For this approach to be productive:</p><ul><li>The new module should not rely too much on platform specific features</li><li>The new module should not rely too much on communication with existing apps, e.g. calling methods from native app</li></ul><p>Before starting, here are a few prerequsites:</p><ol><li>You have set up Flutter tool chain 1.9.1</li><li>You have set up Android Studio IDE 3.5</li></ol><p>Let’s get started.</p><h1 id="1-Create-a-Flutter-project"><a href="#1-Create-a-Flutter-project" class="headerlink" title="1. Create a Flutter project"></a>1. Create a Flutter project</h1><p>First we create a new Flutter project <code>FlutterHybridExample/flutter_common_module</code> as a sub-module in order to develop a new feature:</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line"><span class="built_in">cd</span> FlutterHybridExample</span><br><span class="line">flutter create -t module --androidx flutter_common_module</span><br></pre></td></tr></table></figure><h1 id="2-Android-app"><a href="#2-Android-app" class="headerlink" title="2. Android app"></a>2. Android app</h1><p>There’s an existing Android minimal app at <code>FlutterHybridExample/android_native_app</code> which represents our existing Android app. It has a TextView saying “This is Android native fragment” and a button labeled “GO TO FLUTTER” that does nothing at this stage.</p><h2 id="2-1-Add-denpendency-on-Flutter-module"><a href="#2-1-Add-denpendency-on-Flutter-module" class="headerlink" title="2.1 Add denpendency on Flutter module"></a>2.1 Add denpendency on Flutter module</h2><p>Here we use the option “Depend on the module’s source code” described in the official wiki. Edit file <code>android_native_app/settings.gradle</code> to include Flutter project as a sub-project, which will look like:</p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br></pre></td><td class="code"><pre><span class="line">include ':app'</span><br><span class="line"></span><br><span class="line">setBinding(new Binding([gradle: this]))</span><br><span class="line">evaluate(new File(</span><br><span class="line"> settingsDir.parentFile,</span><br><span class="line"> 'flutter_common_module/.android/include_flutter.groovy'</span><br><span class="line">))</span><br></pre></td></tr></table></figure><p>Then edit file <code>android_native_app/app/build.gradle</code> to add denpendency on Flutter module:</p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">implementation project(':flutter')</span><br></pre></td></tr></table></figure><p>After a Gradle sync, you can see <strong>a new sub-project <code>flutter</code> in parallel with your existing main <code>app</code> module</strong> in Android Studio’s project panel (as picture shown below). When you add more dependencies to flutter project, you will see more sub-projects in your Android app.</p><p><img src="/img/201903/flutter_project_navigation.png" alt="After adding flutter sub-module"></p><h2 id="2-2-Use-Flutter-module"><a href="#2-2-Use-Flutter-module" class="headerlink" title="2.2 Use Flutter module"></a>2.2 Use Flutter module</h2><p>You can use it in two ways, one is to create a <code>FlutterView</code> and display it the same way as any Android <code>View</code>, another is to use it as an Android <code>Fragment</code>. Because we need to <strong>register a <code>MessageChannel</code> later to enable calling Android methods at Flutter side</strong>, so it’s a bit easier to just use <code>FlutterView</code>.</p><p>Suppose we have an existing <code>AndroidFragment</code> that represents the existing Android app, now we are loading a new <code>FlutterHostFragment</code> which creates a <code>FlutterView</code> by calling <code>Flutter.createView()</code>:</p><figure class="highlight kotlin"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br></pre></td><td class="code"><pre><span class="line"><span class="class"><span class="keyword">class</span> <span class="title">FlutterHostFragment</span>: <span class="type">Fragment</span></span>() {</span><br><span class="line"></span><br><span class="line"> <span class="keyword">companion</span> <span class="keyword">object</span> {</span><br><span class="line"> <span class="function"><span class="keyword">fun</span> <span class="title">newInstance</span><span class="params">()</span></span>: FlutterHostFragment {</span><br><span class="line"> <span class="keyword">return</span> FlutterHostFragment()</span><br><span class="line"> }</span><br><span class="line"> }</span><br><span class="line"></span><br><span class="line"> <span class="keyword">private</span> <span class="keyword">var</span> flutterView: FlutterView? = <span class="literal">null</span></span><br><span class="line"></span><br><span class="line"> <span class="keyword">override</span> <span class="function"><span class="keyword">fun</span> <span class="title">onCreateView</span><span class="params">(inflater: <span class="type">LayoutInflater</span>, container: <span class="type">ViewGroup</span>?, savedInstanceState: <span class="type">Bundle</span>?)</span></span>: View? {</span><br><span class="line"> flutterView = Flutter.createView(activity <span class="keyword">as</span> Activity, lifecycle, <span class="literal">null</span>)</span><br><span class="line"> <span class="keyword">return</span> flutterView</span><br><span class="line"> }</span><br><span class="line">}</span><br></pre></td></tr></table></figure><p>Then you can build and run the app in the same way building a normal Android one.</p><p><img src="/img/201903/flutter_app_screens.jpg" alt="Screen shots"></p><h2 id="2-3-Hot-reload"><a href="#2-3-Hot-reload" class="headerlink" title="2.3 Hot reload"></a>2.3 Hot reload</h2><p>This is the best part of a dynamic language like Javascript where you can do hot reload that shows the changes to UI instantly. For the compiled languages like Java/Kotlin , even with partial compile and JVM hot bainary swap, it’s still a headache especially there is a long way to get to the screen that is changed.</p><p>Connect a device or launch an emulator. Then attach Flutter to the app by typing commands in terminal:</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line"><span class="built_in">cd</span> FlutterHybridExample/flutter_common_module</span><br><span class="line">flutter attach <span class="comment"># Use flutter attach -d DEVICE_ID if there are multiple devices connected</span></span><br></pre></td></tr></table></figure><p>Then run the app in debug mode from Android Studio. Go to the Flutter screen by hitting button <code>GO TO FLUTTER</code> in the app. You should be albe to see output in the terminal:</p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br></pre></td><td class="code"><pre><span class="line">Done.</span><br><span class="line">Syncing files to device Nexus 5X... 5.1s</span><br><span class="line"></span><br><span class="line">🔥 To hot reload changes while running, press "r". To hot restart (and rebuild state), press "R".</span><br><span class="line">An Observatory debugger and profiler on Nexus 5X is available at: http://127.0.0.1:59556/</span><br><span class="line">For a more detailed help message, press "h". To quit, press "q".</span><br></pre></td></tr></table></figure><p>After you make some changes to Dart code in <code>flutter_common_module</code>, type <code>r</code> key in the terminal, then you can see the changes instanly. You can also paste the URL above into your browser to use the Dart Observatory for setting breakpoints, analyzing memory retention and other debugging tasks.</p><h1 id="3-iOS-app"><a href="#3-iOS-app" class="headerlink" title="3. iOS app"></a>3. iOS app</h1><p>There’s another minimal app at <code>FlutterHybridExample/ios_native_app</code> which represents our existing iOS counterpart. It uses cocoapods for dependencies management.</p><h2 id="3-1-Add-denpendency-on-Flutter-module"><a href="#3-1-Add-denpendency-on-Flutter-module" class="headerlink" title="3.1 Add denpendency on Flutter module"></a>3.1 Add denpendency on Flutter module</h2><p>First add these two lines to your <code>Podfile</code> which calls a script to setup Flutter stuff:</p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">flutter_application_path = '../flutter_common_module'</span><br><span class="line">load File.join(flutter_application_path, '.ios', 'Flutter', 'podhelper.rb')</span><br></pre></td></tr></table></figure><p>Then for each Xcode target that needs to embed Flutter, call <code>install_all_flutter_pods(flutter_application_path)</code> in the <code>Podfile</code>.</p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><span class="line">target 'ios_native_app' do</span><br><span class="line"> install_all_flutter_pods(flutter_application_path)</span><br><span class="line">end</span><br></pre></td></tr></table></figure><p>Then run <code>pod install</code>, you should be able to see pod output like this without any error:</p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br></pre></td><td class="code"><pre><span class="line">Analyzing dependencies</span><br><span class="line">Downloading dependencies</span><br><span class="line">Installing Flutter (1.0.0)</span><br><span class="line">Installing FlutterPluginRegistrant (0.0.1)</span><br><span class="line">Installing flutter_common_module (0.0.1)</span><br><span class="line">Generating Pods project</span><br><span class="line">Integrating client project</span><br><span class="line">Pod installation complete! There are 3 dependencies from the Podfile and 3 total pods installed.</span><br></pre></td></tr></table></figure><h2 id="3-2-Use-Flutter-module"><a href="#3-2-Use-Flutter-module" class="headerlink" title="3.2 Use Flutter module"></a>3.2 Use Flutter module</h2><p>The way described in the official wiki (see reference 1 at the end of article) requires modifying <code>AppDelegate</code> to register additoinal Flutter libraries, which I don’t really like. Actually the <code>FlutterViewController</code> class wraps everything up pretty good, so the easiest way is to add a new <code>ViewController</code> in storyboard and set is as subclass <code>FlutterViewController</code>. No code is needed.</p><p>Here we add one more host <code>FlutterHostViewController</code> to embed the <code>FlutterViewController</code> to give a little bit more flexibility.</p><p><img src="/img/201903/flutter_ios_storyboard.png" alt="iOS storyboard"></p><p>And we are all set, just run the app. Hot reload is the same as described in a previous chapter.</p><h2 id="Build-error"><a href="#Build-error" class="headerlink" title="Build error"></a>Build error</h2><p>With Flutter 1.9.1 you might run into this build error in the final phase <code>[CP] Embed Pods Frameworks</code>, saying permission denied when signing file <code>Flutter.framework</code>:</p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br></pre></td><td class="code"><pre><span class="line">PhaseScriptExecution [CP] Embed Pods Frameworks</span><br><span class="line"></span><br><span class="line">/Users/myuser/Library/Developer/Xcode/DerivedData/ios_native_app/Build/Products/Debug-iphonesimulator/ios_native_app.app/Frameworks/Flutter.framework: replacing existing signature</span><br><span class="line">/Users/myuser/Library/Developer/Xcode/DerivedData/ios_native_app/Build/Products/Debug-iphonesimulator/ios_native_app.app/Frameworks/Flutter.framework: Permission denied</span><br><span class="line">Command PhaseScriptExecution failed with a nonzero exit code</span><br></pre></td></tr></table></figure><p>According to <a href="https://github.com/flutter/flutter/issues/39507#issuecomment-555715584" target="_blank" rel="noopener">a user replied in Flutter issue tracker</a>, it can be fixed by adding a line <code>chmod -R +w $1</code> to script <code>ios_native_app/Pods/Target Support Files/Pods-ios_native_app/Pods-ios_native_app-frameworks.sh</code>. </p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br></pre></td><td class="code"><pre><span class="line">code_sign_if_enabled() {</span><br><span class="line"> if [ -n "${EXPANDED_CODE_SIGN_IDENTITY:-}" -a "${CODE_SIGNING_REQUIRED:-}" != "NO" -a "${CODE_SIGNING_ALLOWED}" != "NO" ]; then</span><br><span class="line"> # Use the current code_sign_identity</span><br><span class="line"> echo "Code Signing $1 with Identity ${EXPANDED_CODE_SIGN_IDENTITY_NAME}"</span><br><span class="line"> chmod -R +w $1 # ADD THIS NEW LINE</span><br><span class="line"> local code_sign_cmd="/usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} ${OTHER_CODE_SIGN_FLAGS:-} --preserve-metadata=identifier,entitlements '$1'"</span><br><span class="line"></span><br><span class="line"> if [ "${COCOAPODS_PARALLEL_CODE_SIGN}" == "true" ]; then</span><br><span class="line"> code_sign_cmd="$code_sign_cmd &"</span><br><span class="line"> fi</span><br><span class="line"> echo "$code_sign_cmd"</span><br><span class="line"> eval "$code_sign_cmd"</span><br><span class="line"> fi</span><br><span class="line">}</span><br></pre></td></tr></table></figure><h1 id="Reference"><a href="#Reference" class="headerlink" title="Reference"></a>Reference</h1><ol><li><a href="https://github.com/flutter/flutter/wiki/Add-Flutter-to-existing-apps" target="_blank" rel="noopener">Official wiki: Add Flutter to existing apps</a></li></ol>]]></content>
<summary type="html">
<p><strong>UPDATED</strong>: Updated for Flutter <code>v1.9.1</code>.</p>
<p><strong>TL;DR</strong>: this guide gives a real example (which is a minimized version that comes from our real project) when you follow the <a href="https://github.com/flutter/flutter/wiki/Add-Flutter-to-existing-apps" target="_blank" rel="noopener">Official wiki: Add Flutter to existing apps</a>, covering some common issues you might have. Check out the full <a href="https://github.com/LudySu/FlutterHybridExample" target="_blank" rel="noopener">FlutterHybridExample</a> in Github to see what it looks like when done.</p>
<p>Consider this situation, you have an app that works for both Android and iOS platforms, you developed them in a native way to get the best performance and user experience possible. Then one day you need to add a new feature to make it more attractive, which means the same thing has to be done twice, one for each platform. You heard of fancy and shinny stuff - Flutter that promises to work for both platforms and claims to bring native performance. But you can’t afford the time in totally rebuild the app, you still need to keep things running for existing users, just like doing an open heart surgery. So my answer is:</p>
<ul>
<li>Develop the new feature using Flutter</li>
<li>Add the new Flutter module into existing native Android and iOS apps</li>
<li>Write platform specific code in Flutter, and/or add bridging code to Flutter and/or native apps as required</li>
</ul>
</summary>
<category term="English" scheme="http://tsuinte.ru/tags/English/"/>
<category term="Flutter" scheme="http://tsuinte.ru/tags/Flutter/"/>
</entry>
<entry>
<title>日剧《陆王》:老年人也要喝鸡汤(一)</title>
<link href="http://tsuinte.ru/2018/rikuou/"/>
<id>http://tsuinte.ru/2018/rikuou/</id>
<published>2018-10-15T11:00:00.000Z</published>
<updated>2019-10-10T02:00:28.000Z</updated>
<content type="html"><![CDATA[<p><strong>总评分</strong>:4.5/5 设定合理,剧情紧凑、一波三折,主角神演技,镜头构图佳</p><p><strong>社畜友好指数</strong>:5/5 看完充满正能量,搬砖力量+10086</p><p><strong>鸡汤指数</strong>:5/5 营养全面,纯天然鸡血不尴尬</p><p>《陆王》是日本商业小说家池井户润的一部小说,故事开头是老年企业家在时代大潮下原来从事的行业越来越不景气,导致员工流失、订单不断减少、银行融资断绝,不得不再次裁员……</p><blockquote><p>池井户润早年在日本最大之一的三菱银行工作,所以对金融、银行有比较深的了解,善于包装金融知识融入小说剧情中,有些甚至来源于真人真事,能做到保持一定合理性的同时有很强的戏剧性。代表作是《半泽直树》系列,特点是结局一定是喜剧,但过程绝对一波三折,跌宕起伏,明知他是套路你却有欲罢不能,最适合社畜阅读解气,剧中名句是“加倍奉还”。</p></blockquote><h1 id="1-老年危机悄然降临"><a href="#1-老年危机悄然降临" class="headerlink" title="1. 老年危机悄然降临"></a>1. 老年危机悄然降临</h1><p>主角宫泽紘(hong2)一是一个五十多岁的大叔,有一个大学刚毕业的儿子和一个还在读高中的女儿。经营着一家有着 20 名员工的小型乡镇家族企业——小钩屋,比起全盛时期 200 名员工仅余十分之一,作为百年老店的第三代继承者的宫泽大叔生意一直没什么起色,仅仅是勉强维持生计。而且公司产品足袋,也就是日式二趾袜,是一种传统商品,年轻消费者嫌老土,销量逐年下降。就像温水煮青蛙,危机一步一步的开始降临这家百年老店;公司独特的合脚缝纫技术也无用武之地,如同石器时代结束不是因为石头采光,而是不在需要石头了。主角也就等待着企业在自己这一代慢慢凋零,甚至让自己儿子不要继承家业,自己出去闯荡。要知道日本人对家业看得很重,当作是自己家族荣耀的。</p><p><img src="/img/201807/rikuou_1.png" alt="社长奔跑的背影贯穿全剧,一直在救火一直在奔走"></p><a id="more"></a><p>故事第一个画面就从危机开始,工厂有百年历史的德国制缝纫机出现故障,由于机器早已停产所以仅靠备用零件或者拆下旧机器零件替换,这次连备用件都没有了。听说隔壁市另外一家刚破产清算完毕的工厂,可能缝纫机还在(对于债权人而言就是一堆废铁),社长马上连夜驱车前往。</p><h1 id="2-老夫聊发少年狂"><a href="#2-老夫聊发少年狂" class="headerlink" title="2. 老夫聊发少年狂"></a>2. 老夫聊发少年狂</h1><p><img src="/img/201807/rikuou_6.png" alt="感受到了时代洪流的冲击"></p><p>起因是向银行申请贷款时银行职员坂本的一句话,问宫泽社长是否考虑扩展新业务,因为按照目前发展,再过十几二十年行业继续萎缩,到时连现在业绩也无法维持。作为证据,银行方面讲明如果业务没起色,下次可能不会继续融资;主要客户之一的大德百货由于二趾袜销量不畅,要削减三成订单。宫泽社长越来越深切的感受到了时代洪流的冲击,以前行业内其他竞争对手倒下,规模减少就像温水煮青蛙,而现在水快要沸腾了,开始担心代代相传的小钩屋会在自己手上倒闭。宫泽因为这无处发泄的愤怒和不安濒临崩溃。</p><p><img src="/img/201807/rikuou_5.png" alt="一个人喝闷酒解愁"></p><p>人到中老年,每天一张开眼,全部都是依靠他的人,却没有他能依靠的。员工等着他开饭,经历过之前几轮裁员目前剩下的都是老员工,有着家人般的感情,如果企业破产了,他们一把年纪去哪里找工作呢。家里小女儿正在读高中,梦想着出国留学,可这需要一大笔钱。</p><p><img src="/img/201807/rikuou_7.png" alt></p><p>因为二趾袜市场一直在萎缩,要继续发展只有活用公司百年积累的技术和特长,应用到新的产品中去。在帮女儿买运动鞋的时候了解到现在的新潮运动鞋,突发奇想地想到做马拉松二趾袜。这和一般套路不同,他没有任何做运动鞋的经验,完全是外行人不知天高地厚,也没有足够资金开发新产品,这为后来种种困难埋下了伏笔。这样的设定也更贴近现实中的老板,一个普通的为自己和员工生计奔波,意志坚定却有碍于现实困难而瞻前顾后,这种矛盾贯穿全剧。</p><p><img src="/img/201807/rikuou_8.png" alt></p><p>由于儿子喜欢看马拉松,特别是帅哥茂木选手。在看过丰桥国际马拉松比赛后,一是觉得这项运动这么多人关注,二是被茂木就算跌倒也还是想努力站起来的精神打动,宫泽大叔下定决心要做运动鞋。</p><p><img src="/img/201807/rikuou_10.png" alt></p><h1 id="3-失意者们交织的命运"><a href="#3-失意者们交织的命运" class="headerlink" title="3. 失意者们交织的命运"></a>3. 失意者们交织的命运</h1><h2 id="茂木:马拉松选手"><a href="#茂木:马拉松选手" class="headerlink" title="茂木:马拉松选手"></a>茂木:马拉松选手</h2><p><img src="/img/201807/rikuou_9.png" alt></p><p>故事另外一条主线是年轻的马拉松选手茂木,他在年轻时是棒球选手,梦想打进甲子园,可惜后来伤到胳膊不能继续打球。可是他并没有气馁,作为马拉松选手重新跑起来,在丰桥国际马拉松大赛中处于领先地位,可惜在终点前意外跌倒,不得不退出比赛。还得了半腱肌损伤,非常容易复发,对选手生理造成痛苦外还会影响心理,让人不敢再尽全力跑,基本宣布了运动生涯结束。最绝望的是根据过去 30 年数据,没有一人从半肌腱损伤中恢复到顶尖运动状态,就算康复了竞技水平也大大下降。除了治疗恢复外,茂木还需要学会新的跑步方式,矫正跑步姿势。</p><p>就这样茂木被跑鞋赞助商抛弃,宫泽大叔被时代、被银行抛弃,两个人的轨迹开始有了交点。 </p><h2 id="饭山:破产企业家"><a href="#饭山:破产企业家" class="headerlink" title="饭山:破产企业家"></a>饭山:破产企业家</h2><p><img src="/img/201807/rikuou_13.png" alt="饭山失意的背影"></p><p>经过几十年如一日的研发出来的超级材料——丝绸土,由于经营不善令自己的公司破产。整天浑浑噩噩的活着,也不去打工,靠着老婆打零工补贴家用。每天喝着廉价的酒,偶尔看到吟酿也只是留着口水舍不得买。虽说破产了法律上说债权无需再偿还,但每天还要躲着心怀怨气的债权人的骚扰,渐渐忘记了自己的初衷。</p><p>好不容易一家大型化工企业商谈合作,最后公司内部讨论时觉得和破产的人合作不太合适,信不过,这对于大公司来说是再正常不过的要求。在宫泽的工厂他亲自修理了缝纫机,看到大家辛勤工作的样子,让他回想起以前研制丝绸土的日子,他想再努力一把。</p><h2 id="大地:找工作碰壁"><a href="#大地:找工作碰壁" class="headerlink" title="大地:找工作碰壁"></a>大地:找工作碰壁</h2><p><img src="/img/201807/rikuou_15.png" alt="大地参加面试"></p><p>自己专业和兴趣都是电气设备,可是面试到处碰壁,晚晚和朋友去居酒屋倾诉解闷,到后来不管什么职位只要看见就投,饥不择食,渐渐忘记自己初心。一方面老爸公司人手不够,开始在饭山手下负责修理和调试机器,渐渐感受到被人需要,重新建立了自信。</p><p>毋庸置疑,最后这些失败者们谱出了一曲奋斗的战歌,人生漫漫长路,就算一把年纪,只要继续不断尝试就还没有输。</p><h1 id="4-一波三折的剧情"><a href="#4-一波三折的剧情" class="headerlink" title="4. 一波三折的剧情"></a>4. 一波三折的剧情</h1><p><img src="/img/201807/rikuou_16.png" alt></p><p>资金的问题可以说是小企业经营一切困难的核心,小钩屋一年销售额只有 7 亿日元,利润仅够勉强维持生计和员工工资奖金,偶尔还发不出加班工资。要研发新产品,进入全新的领域却需要大笔研发资金投入和设备投资,很容易挤压原来的业务、激化已有的内部矛盾,使得原本想通过开辟新市场使企业更长远健康发展,结果往往加速企业的倒闭。以玄叔为代表的保守派,辅助上一任当家的老员工,<strong>就算看着二趾袜的业务一天天萎缩,也希望企业多活一天是一天,不愿意因为新业务而加速公司的倒闭</strong>。</p><p>小钩屋有的只是缝纫技术,还需要鞋底材料、鞋面面料。鞋底材料靠着和落魄的破产发明家饭山合作算是解决了。鞋面面料刚开始找到一家同样是初创企业的公司合作,可惜后来被对手 Atlantis 抢走,对方为了自己公司生存,选择了大公司 Atlantis。</p><p>企业日常经营也需要周转资金,银行看到新产品投资风险过大,十有八九都不会有结果,轻则亏损元气大伤,就像小钩屋上任当家研发陆王失败,企业不得不规模大减;重则破产倒闭。<strong>无奈之下他拿出了自己名下作为担保的 2000 万个人存款</strong>,砸锅卖铁也要继续他的二次创业。</p><p>后来丝绸土的试产设备终于超期服役而报废,需要投资至少 1 亿日元才能恢复生产。尝试找银行果然没容易这么冒险的投资;还找过股权投资基金,对方觉得投资风险太大也没有同意。最后找到另外一家对丝绸土同样感兴趣的户外用品公司 Felix,对方希望全资收购小钩屋,这意味着家族企业拱手让人;不投资无法开拓运动鞋新业务,只能回到之前的二趾袜老店,进退两难。本来为了让小钩屋存续下去而开发新产品,现在却反过来成为让它消失的原因。</p><p>最后谈判成功,Felix 答应以小钩屋为担保,提供 3 亿日元融资,还款期限只有短短 5 年。头三年向 Felix 独家供货炳保证订购数量,以后不保证,假如市场上有更好的产品甚至可能失去 Felix 这个大客户。没有风险就没有商机,冒着失去家族企业的风险,一把年纪的宫泽大叔开始了新的创业旅途,这不是终点,只是新的起点。</p>]]></content>
<summary type="html">
<p><strong>总评分</strong>:4.5/5 设定合理,剧情紧凑、一波三折,主角神演技,镜头构图佳</p>
<p><strong>社畜友好指数</strong>:5/5 看完充满正能量,搬砖力量+10086</p>
<p><strong>鸡汤指数</strong>:5/5 营养全面,纯天然鸡血不尴尬</p>
<p>《陆王》是日本商业小说家池井户润的一部小说,故事开头是老年企业家在时代大潮下原来从事的行业越来越不景气,导致员工流失、订单不断减少、银行融资断绝,不得不再次裁员……</p>
<blockquote>
<p>池井户润早年在日本最大之一的三菱银行工作,所以对金融、银行有比较深的了解,善于包装金融知识融入小说剧情中,有些甚至来源于真人真事,能做到保持一定合理性的同时有很强的戏剧性。代表作是《半泽直树》系列,特点是结局一定是喜剧,但过程绝对一波三折,跌宕起伏,明知他是套路你却有欲罢不能,最适合社畜阅读解气,剧中名句是“加倍奉还”。</p>
</blockquote>
<h1 id="1-老年危机悄然降临"><a href="#1-老年危机悄然降临" class="headerlink" title="1. 老年危机悄然降临"></a>1. 老年危机悄然降临</h1><p>主角宫泽紘(hong2)一是一个五十多岁的大叔,有一个大学刚毕业的儿子和一个还在读高中的女儿。经营着一家有着 20 名员工的小型乡镇家族企业——小钩屋,比起全盛时期 200 名员工仅余十分之一,作为百年老店的第三代继承者的宫泽大叔生意一直没什么起色,仅仅是勉强维持生计。而且公司产品足袋,也就是日式二趾袜,是一种传统商品,年轻消费者嫌老土,销量逐年下降。就像温水煮青蛙,危机一步一步的开始降临这家百年老店;公司独特的合脚缝纫技术也无用武之地,如同石器时代结束不是因为石头采光,而是不在需要石头了。主角也就等待着企业在自己这一代慢慢凋零,甚至让自己儿子不要继承家业,自己出去闯荡。要知道日本人对家业看得很重,当作是自己家族荣耀的。</p>
<p><img src="/img/201807/rikuou_1.png" alt="社长奔跑的背影贯穿全剧,一直在救火一直在奔走"></p>
</summary>
<category term="鸡汤药丸" scheme="http://tsuinte.ru/categories/%E9%B8%A1%E6%B1%A4%E8%8D%AF%E4%B8%B8/"/>
<category term="日剧" scheme="http://tsuinte.ru/tags/%E6%97%A5%E5%89%A7/"/>
</entry>
<entry>
<title>How to force Android Studio 3.1.3 to load the latest local jar/aar library</title>
<link href="http://tsuinte.ru/2018/how_to_force_as_to_load_new_local_aar/"/>
<id>http://tsuinte.ru/2018/how_to_force_as_to_load_new_local_aar/</id>
<published>2018-08-12T12:00:00.000Z</published>
<updated>2018-08-20T09:38:08.000Z</updated>
<content type="html"><![CDATA[<h1 id="The-problem"><a href="#The-problem" class="headerlink" title="The problem"></a>The problem</h1><p>Starting from at least version 3.1.3 of Android Sutdio, the local jar/aar library refresh mechanism seems to be broken.</p><p>The situation is I have a local aar library named <code>my-lib.aar</code>, which is my product, placed under <code>$project_root/app/libs</code>. Whenever I change the code I will compile a new aar library and replace the old one with the new. It was awesom before Android Studio 3.0.0, the IDE can recognize the library has changed and load it automatically, so what I need to do is just hiting the <code>run</code> button then a new app with my new library will get built and run. However, with 3.1.3 and it is still broken in the latest 3.1.4 released August 2018, the aforementioned process will end up with the app built with the old library.</p><h1 id="The-fix"><a href="#The-fix" class="headerlink" title="The fix"></a>The fix</h1><p>After experimenting a while, the easiest workaround is to delete the IDEA cache config file for that library, which is <code>$project_root/.idea/libraries/Gradle__your_package_name_version.xml</code>. Optinally, you can also delete cache file at <code>~/.gradle/caches/transforms-1/files-1.1/your_lib_name.aar</code>, which just eat up a bit of your storage but won’t mess up your build. Tested with MacOS, should also work for Linux OS.</p>]]></content>
<summary type="html">
<h1 id="The-problem"><a href="#The-problem" class="headerlink" title="The problem"></a>The problem</h1><p>Starting from at least version 3.1
</summary>
<category term="编程开发" scheme="http://tsuinte.ru/categories/%E7%BC%96%E7%A8%8B%E5%BC%80%E5%8F%91/"/>
<category term="English" scheme="http://tsuinte.ru/tags/English/"/>
<category term="Android" scheme="http://tsuinte.ru/tags/Android/"/>
</entry>
<entry>
<title>重新认识新西兰之一:简述医疗、养老、教育</title>
<link href="http://tsuinte.ru/2018/re-know-nz-from-zero-1/"/>
<id>http://tsuinte.ru/2018/re-know-nz-from-zero-1/</id>
<published>2018-07-04T12:00:00.000Z</published>
<updated>2024-02-06T22:57:06.229Z</updated>
<content type="html"><![CDATA[<p>关于新西兰的信息有点割裂,用现在的话说是“精分现场”。在来之前查到的移民、留学介绍说得像天堂一样美好,什么“从摇篮到坟墓的福利”,免费医疗、免费教育不用花一分钱,还有各种福利补贴。等到过来后直呼上当,当地自媒体微信公众号总是渲染医疗又贵又慢、医生技术差,到处都有劫匪抢劫,学校教育懒散等等。前后描述的似乎不是同一个地方。这是因为前者为了做成生意,夸大宣传,故意隐瞒了领取福利的条件;后者为了吸引眼球骗点击,故意渲染事件严重性,把个案说成普遍现象,一直看这种媒体会有种吃枣药丸的感觉。其实这两个极端的信息都是不准确的,<strong>对于真正有困难的人来说,例如残疾、孩子特别多的家庭,福利确实比国内好很多;而对于勤劳工作的普通中产阶层,福利接近于无</strong>。</p><p>其实问题核心是权利和义务对等,常识是一个国家福利水平高那税收肯定也高,所谓取之于民用之于民;福利低的国家税收也低,更有利于人民发挥创造力,谋求个人发展。就算不考虑贪污腐败,如米尔顿·弗里德曼所说,“拿自己的钱替自己办事,最为经济;拿自己的钱替别人办事,最为有效(注:例如送礼给人总倾向于送好的,经常超出接收人需求);拿别人的钱替别人办事,最为浪费”,政府属于最浪费那种<strong>“拿别人的钱替别人办事”中间还要收佣金</strong>。对于信奉自由派市场主义观点的人来说,福利来源于你我缴纳的税,低福利才是符合常识的,意味着更低的税负水平,但同时遇到意外变故时又有基本的有尊严的生活保障。</p><a id="more"></a><blockquote><p>在新西兰中产福利就两个:一个是 Kiwisaver 每年 IRD 补贴个人缴费的 50%,最多 521 刀左右,鼓励大家储蓄;另外是产假补贴,产假期间(26周)公司不发工资的,政府会给相当于最低工资水平的补贴,但是对于高薪白领来说收入会下降不少。</p></blockquote><p>先大体了解一下养老、医疗、教育这几座大山,可以说是社会稳定的基石,保障了人民生存的底线。注意说的是底线,就是说一个人最差最倒霉的时候也有这种水平的生活,节省一点能过个小康生活,不是让懒汉大吃大喝的。</p><h1 id="养老"><a href="#养老" class="headerlink" title="养老"></a>养老</h1><p>国内是缴纳相当于 28% (单位缴费20%、个人缴费8%)工资的养老保险,而<strong>新西兰没有单独的养老保险,全部包含在税收里</strong>,税制简单很多。国内的养老保险、医疗保险就是重复征税,国外像新西兰都已包含在个人所得税里。只要人在新西兰住满 15 年(住满就行,不必纳税),65 岁退休时就可以领取政府养老金,相当于当前最低工资水平 70%,所有阶层一视同仁。</p><p>政府也鼓励个人储蓄养老推行了 Kiwisaver 补充养老金储蓄投资计划,就是你拿出工资收入 3% 储蓄用于投资,公司也会配套给你账户存入 3%,类似于美国的 401k 计划,让你每个月定期存款进行投资,等退休时你的存款加上<strong>投资的回报</strong>应该会对生活有很大的帮助。</p><p>关于 Kiwisaver 可以看这篇文章:<a href="http://tsuinte.ru/2018/make-use-of-kiwisaver/">利用好你的KiwiSaver</a></p><h1 id="医疗"><a href="#医疗" class="headerlink" title="医疗"></a>医疗</h1><p>国内是缴纳相当于 8% (单位缴费6%、个人缴费2%)工资的医疗保险,而<strong>新西兰没有单独的医疗保险,也是包含在税收里</strong>。</p><h2 id="意外"><a href="#意外" class="headerlink" title="意外"></a>意外</h2><p>新西兰有个全球独创的 ACC 意外保险体系,在新西兰境内<strong>无论是本国居民还是外来游客甚至非法劳工</strong>,只要是意外受伤(包括车祸、工伤等)都可以获得免费治疗,并可获得康复治疗、误工费等福利。资金来源于个税、GST、汽车路税。很多人都觉得这个制度很人性化,体现了对弱势群体的关怀,但我觉得这是个糟糕的制度。</p><p>对于中产而言每个月几十上百刀 ACC 税,用于买一家几口商业意外险绰绰有余,就是一种变相税收;免费意外保险还容易被滥用,例如有些情况不属于意外的,这边的个别家庭医生还是给病人使用 ACC 资金治疗。还使得商业保险公司失去了意外保险这项业务,相当于与民争利。</p><p>幸好新西兰人还算比较理智,<strong>把 ACC 仅限于意外保险这一狭窄领域</strong>,没有扩展到普通医疗领域,就算多少有点滥用也不会太严重,而且对于旅游业应该有一定促进作用。所以最近几年 ACC 基金略有盈余,所以汽车路税里面缴纳的 ACC 费用略有下降。</p><h2 id="家庭医生"><a href="#家庭医生" class="headerlink" title="家庭医生"></a>家庭医生</h2><p>再说普通门诊医疗,大家可能都听说国外有病都是先看家庭医生 GP 的,你在家庭医生注册,那个门诊就负责你的日常健康需求。看感冒发烧、腰酸背痛,长期病患者健康管理,小手术例如割个痣啥的,开处方药,打打疫苗等等。</p><p>政府还针<strong>对个别高发病有免费的定期检查计划</strong>,例如女性的宫颈癌、老年人的大肠癌,这也是家庭医生负责通知注册患者和实施检查的。家庭医生诊所都是私人机构,但是<strong>政府会给补贴</strong>,看一次家庭医生便宜的十几刀,贵的四五十刀都有,取决于你去的诊所。这样既保证了患者的选择权利,觉得服务不好换一家就是;又促进了诊所之间的良性竞争。</p><p>另外,女性在怀孕前三个月看家庭医生、做检查哪些是全免费的,之后交给助产士负责,也是免费,正常情况下生孩子不用花钱。还有个很多人不知道的福利是,试管婴儿是免费的。这些都算中产阶层能享受到的少数临时福利之一。</p><h2 id="医院"><a href="#医院" class="headerlink" title="医院"></a>医院</h2><p>最后说到免费的公立医院,<strong>医院是处理紧急情况例如车祸、突发急性疾病的,不紧急的就算去医院也没用</strong>,医院会根据情况紧急程度处理,没生命危险的等大半天也不奇怪,还不如老实去看家庭医生。一般的疼死但不死人的病也是,公立医院资源有限需要排队轮候,例如得了盲肠炎可能得排到半年之后,到那时都疼死了。另一方面,车祸、重大疾病需要手术之类关乎生命危险的,在公立医院能得到及时的治疗。</p><p>在公立医院体系之外,还有价格昂贵的私立医院和专家诊所,例如在手上的同样一个小手术,在上海只要两三百人民币,在这边需要 3000 纽币,所以新闻说的回国来回机票加做手术都比新西兰医院便宜是真的。那新西兰人民是怎么活的?当然得靠私人医疗保险,对于三四十岁健康的人来说,医疗保险价格大概 100 刀一个月,就能保证所有的住院医疗需求,无论得任何再家庭医生治不了的病。我刚听到保所有病有点吃惊,那保险经纪说一句话挺有道理的,<strong>“难道你生病时还能挑着生?”</strong>。</p><p>相比之下国内能保长期的只有“重大疾病险”,只保障范围内的数十种重大疾病,不在清单里的不保。国内也有类似于这边医疗保险的叫“住院医疗险”,但是不能保长期,只能一年一年续。虽然保险宣传资料说能续保,但都没有写入合同(保监会禁止医疗保险签长期合同)没有保障,以后保险公司觉得这款产品亏损大完全可以不在卖这保险,到时年纪大了再买就很贵了。所以国内的私人保险产品比较缺乏,不如国外的好,估计是住院险长期风险太大,保险公司还没有足够数据和能力开展业务,只能先上市限定疾病种类的“重大疾病险”</p><p>再说说如癌症那样的重大疾病。在新西兰公立医院也有一个类似于国内医保药品目录的东西叫 Pharmac,如果是新药新疗法价格太昂贵的,要么自费用药,要么用在医保目录内的疗效差一点的药品。<strong>如果买了合适的商业医保,就能使用这些医保目录外的新药</strong>。所以只要经济条件不是吃不上饭那种,在新西兰建议都要买商业医疗保险。</p><blockquote><p>最近由于《我不是药神》火起来的神药“格列卫”原本在新西兰也是医保目录外药品,但由于病人抗争新西兰政府最终在 2002 年底把它纳入免费清单。待药品专利期过去,2015 年开始和本地药厂合作,采用廉价放心的本地仿制药。这里看出病人有抗议权,团结争取有可能改变政策;新西兰地方虽小,人口只有 450 万,白血病人只有一两百人,但当地药厂 AFT Pharmaceuticals 有能力生产格列卫,比原版便宜 87%,每年为新西兰人省下超过 1200 万纽币。</p></blockquote><p>商业医保也有个问题,它一般只能保障到 65 岁,之后就要靠公立医疗体系和个人储蓄了。所以年轻时还是得多锻炼保持健康,同时为退休做好储蓄;这里和国内的区别仅仅是在你没钱的情况下也能得到基本的免费治疗、基本护理,不至于过不下去,但绝不会像有钱人过得那么舒心。</p><h2 id="医生水平"><a href="#医生水平" class="headerlink" title="医生水平"></a>医生水平</h2><p>很多新闻上报道说医生水平不行,国内一下子就能看好的病这边医生看不出来。这个问题比较宏大,个人的感受可能并不准确,看新闻的时候建议多思考几个角度:</p><ol><li>新西兰新闻自由,媒体主要报道灾难事故,说好话的很少,因为做得好都是应该的,做得不好的多批评有关部门才会进步。国内来的同胞不习惯这种差异的话很容易得出错误的判断。</li><li>媒体也是一门生意,为了吸引眼球会大肆渲染稀奇的新闻,治得好不是新闻,治不好出离奇事故才有新闻价值。</li><li>国内医生见过的病人、病情却是更多,好的医生能得到更多锻炼的机会,水平高一点是可能的。</li><li>同样国内人多,病人得到的照顾和关怀很少,就算是癌症医生可能也只看几分钟就决定治疗方案,只相当于医疗流水线上的产品。在新西兰起码得到的沟通和尊重多很多,用户体验更好。</li><li>看新闻注意看公立医院还是私立医院,生活不是特别窘迫的家庭都会购买商业医疗保险,有病可以看私立医院和专家诊所,水平会高很多。</li><li>就算没钱治病这边也是先治疗再收钱,由政府垫付,日后再分期返还,相当于无息贷款。</li><li>预防胜于治疗,新西兰有针对高发疾病的免费体检项目,由家庭医生通知每个病人定期检查,向病人解释检查的意义和注意事项,做到及早发现。例如医生会通知 25 岁以上妇女每两年做一次宫颈癌筛查,健康的会延长到五年检查一次,时间到了医生会主动联系你,不用自己惦记。</li></ol><h1 id="教育"><a href="#教育" class="headerlink" title="教育"></a>教育</h1><p>和国内以户口定教育资源的方式不同,这边要最好的教育直接给钱进私立学校就行,无论住在哪里,一般大概每年 1-2 万纽币。公立学校由于是就近入学制度,所以想上好的公立学校就去买学区房或者租住在学区内,公立学校是不用学费的但教育水平还是比不上私立。</p><p>幼儿园:3 岁以前要自己给钱,所以不少工资低的妈妈选择在家带孩子,不然打工挣的钱都交给幼儿园了。3-5 岁公立学校原则上免费,但只限每周 20 个小时,而且每年还有四个学校假期(3个两周假期+1个两个月圣诞新年假期)。要省心还是要去私立幼儿园,按照 8:30-14:30 正常 7 小时上学时间,算上补贴后还需要自己多给几十甚至一百多一星期;要是妈妈上班想让孩子待到 16:30,就需要多交 200 刀左右。</p><p>中小学:和中国学制不太一样,如下表所示。这个阶段 13 年教育在公立学校是免费的,采用就近入学原则,所以想入读好的公立学校就需要买学区房;或者出钱读私立学校。此外公立学校也还是有收费的,例如课外活动、校服、课外班、电脑等加起来平均 6000 刀一年;学校还会组织些活动向社会和家长募捐,一年几百刀少不了。当然上面这些费用都是说平均水平以上的公立学校,差的学校费用低很多甚至没有。</p><table><thead><tr><th></th><th>一般年龄</th><th>年级</th><th>称呼</th></tr></thead><tbody><tr><td>小学</td><td>6-12</td><td>1-6</td><td>Primary school</td></tr><tr><td>小学</td><td>13-14</td><td>7-8</td><td>Intermediate School</td></tr><tr><td>中学</td><td>15-19</td><td>9-13</td><td>College, High School</td></tr></tbody></table><blockquote><p>新西兰学校拨款有一个评分值叫 decile,评分 1-10,代表这个学区家庭平均收入的水平,10 分代表收入为前 10%。所以评分越高通常师资水平、学生素质也会高,可以作为参考但并不绝对代表学校的教学质量;decile 越高政府拨款减少,额外费用会增高,前面说到 6000 刀学费外收费就是这个原因。例如 9 分的肯定比 5 分的要好,但可能比个别 8 分的学校差也说不定。</p></blockquote><p>高等教育:普通大学教育大概 6000 纽币一年(外国留学生约 15000),本科教育为 3 年,2018 新政策是第一年免费。</p><h1 id="税收"><a href="#税收" class="headerlink" title="税收"></a>税收</h1><p>新西兰税制简单,主要是个人所得税,最高 39%,比中国的 45% 要低不少;还有商品服务税 GST,相当于国内的增值税,税率是商品价值的 15%;除了少数产品外,绝大部分进口商品没有关税;股票、证券投资收益<strong>没有资本利得税</strong>,但是利息、股息收入要纳税;房产买卖收益免税(需持有满两年,年限经常变)。最重要的是没有单独的社保、医保税,在不偷税漏税的情况下,新西兰的税比国内低很多。</p><p>这里计算一下两国税率,国内以 2017 年北京人均月薪 1 万人民币计算,新西兰按照人均中位数收入 5 万纽币(约 22.5 万人民币)计算。</p><table><thead><tr><th></th><th>税前月收入(当地货币)</th><th>个税</th><th>社保或ACC</th><th>公积金或KiwiSaver</th><th>到手收入</th><th>公司支出</th><th>综合税负</th></tr></thead><tbody><tr><td>新西兰</td><td>4167</td><td>668</td><td>58 (ACC)</td><td>125</td><td>3315</td><td>4291</td><td>22.7%</td></tr><tr><td>中国</td><td>10,000</td><td>323</td><td>2220</td><td>1160</td><td>7457</td><td>14410</td><td>51.7%</td></tr></tbody></table><p>也由此看出一个数据,在中国公司需要支付 1.4 万月薪请一个平均水平的工人,在新西兰也只要 1.9 万人民币搞定,中国人工成本已经相当于新西兰 75%,再考虑到经商环境与其他杂费,成本可能相差无几。唯一不足的是新西兰人口少市场小,无法支撑大型企业发展。</p><p>此外还有些有趣的免税项目。一个是自住房出租所得收入是免税的(房租需要低于一定值,普通的房子肯定不会超),也不用申报,好多华人房东不知道这个规定还偷偷摸摸的收现金房租,买东西花现金,这样不方便又容易引贼。第二个是非自住投资房缴纳的银行利息、房屋维修开支与房租收入的差额可以抵税,所以大部分投资房不需要自己额外贴钱进去,自己只要付银行本金就行。乍一看好像在补贴富人,但这两个制度可以看出设计税收的官员非常聪明务实,真正懂经济,这样可以让更多投资者出租房子进而扩大出租市场供给,补贴房东也就间接降低了租房者的房租。</p><p><strong>2024 更新</strong>:由于前两届工党政府 6 年执政,很多政策都改了。投资房抵税项目取消了,本意是为了抑制投资房抑制房价,但经济规律导致的结果是间接推升了房租、也导致市场的短期混乱。个人所得税最高税率也从 33% 涨到 39% (收入 18 万以上部分),短期内影响不到绝大部分人,但由于这两年严重通货膨胀,很可能再过两年不少人都会落入这个收入区间,这是政府典型的通过通货膨胀加税的秘笈。</p>]]></content>
<summary type="html">
<p>关于新西兰的信息有点割裂,用现在的话说是“精分现场”。在来之前查到的移民、留学介绍说得像天堂一样美好,什么“从摇篮到坟墓的福利”,免费医疗、免费教育不用花一分钱,还有各种福利补贴。等到过来后直呼上当,当地自媒体微信公众号总是渲染医疗又贵又慢、医生技术差,到处都有劫匪抢劫,学校教育懒散等等。前后描述的似乎不是同一个地方。这是因为前者为了做成生意,夸大宣传,故意隐瞒了领取福利的条件;后者为了吸引眼球骗点击,故意渲染事件严重性,把个案说成普遍现象,一直看这种媒体会有种吃枣药丸的感觉。其实这两个极端的信息都是不准确的,<strong>对于真正有困难的人来说,例如残疾、孩子特别多的家庭,福利确实比国内好很多;而对于勤劳工作的普通中产阶层,福利接近于无</strong>。</p>
<p>其实问题核心是权利和义务对等,常识是一个国家福利水平高那税收肯定也高,所谓取之于民用之于民;福利低的国家税收也低,更有利于人民发挥创造力,谋求个人发展。就算不考虑贪污腐败,如米尔顿·弗里德曼所说,“拿自己的钱替自己办事,最为经济;拿自己的钱替别人办事,最为有效(注:例如送礼给人总倾向于送好的,经常超出接收人需求);拿别人的钱替别人办事,最为浪费”,政府属于最浪费那种<strong>“拿别人的钱替别人办事”中间还要收佣金</strong>。对于信奉自由派市场主义观点的人来说,福利来源于你我缴纳的税,低福利才是符合常识的,意味着更低的税负水平,但同时遇到意外变故时又有基本的有尊严的生活保障。</p>
</summary>
<category term="通往新西兰" scheme="http://tsuinte.ru/categories/%E9%80%9A%E5%BE%80%E6%96%B0%E8%A5%BF%E5%85%B0/"/>
<category term="新西兰" scheme="http://tsuinte.ru/tags/%E6%96%B0%E8%A5%BF%E5%85%B0/"/>
</entry>
<entry>
<title>What should you do after moving into a new house</title>
<link href="http://tsuinte.ru/2018/after_moving_into_new_house/"/>
<id>http://tsuinte.ru/2018/after_moving_into_new_house/</id>
<published>2018-06-10T12:00:00.000Z</published>
<updated>2018-08-20T09:38:08.000Z</updated>
<content type="html"><![CDATA[<p>What you should do after moving into your shiny newly built house in New Zealand? Get it connected!</p><h1 id="Post-office"><a href="#Post-office" class="headerlink" title="Post office"></a>Post office</h1><p>The new address usually is not added into post office’s internal address book immediately, which will cause inconveniences to us. For example, letters can not be sent to our new address simply because there’s no such on in the system! Also we won’t be able to receive credit card statements, utility bills etc.. What’s worse, a lot of third parties rely on post office’s system, so they won’t be able to provide service! For example, if you want to order a household garbage bin from companies like Waste Management, they won’t serve you until the address is added.</p><p>Usually it takes several weeks for the post office to recongnize your new address, what we can do here it to report the address to speed up the process. They will send a postman to investigate to see if such an address exists or not, then update their address book accordingly.</p><a id="more"></a><p>How to do that? First go to the website to check your address status: <a href="https://www.nzpost.co.nz/tools/address-postcode-finder" target="_blank" rel="noopener">address-postcode-finder</a>, usually it’s searchable but shown as <code>No Postal Delivery</code> in red color. You can submit an enquiry form here <a href="https://www.nzpost.co.nz/tools/address-report/suggest/Your%20Suggestion" target="_blank" rel="noopener">Suggest an address</a>. There’s also a help page <a href="https://support.nzpost.co.nz/app/answers/detail/a_id/1224/track/AvNZowq~Dv8Q~WXBGvIW~yIK4MEqRi75Mv_z~zj~PP96" target="_blank" rel="noopener">Address and Postcode Finder shows as “No Postal Delivery”</a></p><p><img src="/img/201806/nzpost_form.jpg" alt="Suggest an address"></p><p>Please note that it can take up to 4-6 weeks for your address to show in our address and postcode finder as a valid delivery address as nzpost needs confirmation from the council and also emergency services that your address is valid.</p><h1 id="Google-map"><a href="#Google-map" class="headerlink" title="Google map"></a>Google map</h1><p>Everyone is relying on Google map navigation, guess what would happen if that goes wrong. Your friend might go to the wrong place or at least being late for the party; the new appliances we ordered might be delivered to the wrong recepient! I have a friend whose house has been there for 3 years, but the address is still marked at a wrong place! </p><p>Can we do something about it? Abosolutely! Go to Google Maps and search for your address, open the side menu and hit <code>Send Feedback</code></p><p><img src="/img/201806/maps_sendfeedbak.png" alt="Send feedback"></p><p>Then select <code>Wrong information</code> and drag the location mark to the correct place. In my case, 1-2 weeks later it’s updated.</p><p><img src="/img/201806/maps_report.png" alt="Report"></p>]]></content>
<summary type="html">
<p>What you should do after moving into your shiny newly built house in New Zealand? Get it connected!</p>
<h1 id="Post-office"><a href="#Post-office" class="headerlink" title="Post office"></a>Post office</h1><p>The new address usually is not added into post office’s internal address book immediately, which will cause inconveniences to us. For example, letters can not be sent to our new address simply because there’s no such on in the system! Also we won’t be able to receive credit card statements, utility bills etc.. What’s worse, a lot of third parties rely on post office’s system, so they won’t be able to provide service! For example, if you want to order a household garbage bin from companies like Waste Management, they won’t serve you until the address is added.</p>
<p>Usually it takes several weeks for the post office to recongnize your new address, what we can do here it to report the address to speed up the process. They will send a postman to investigate to see if such an address exists or not, then update their address book accordingly.</p>
</summary>
<category term="Life_Style" scheme="http://tsuinte.ru/categories/Life-Style/"/>
<category term="English" scheme="http://tsuinte.ru/tags/English/"/>
</entry>
<entry>
<title>大橋卓弥《ありがとう(谢谢)》赏析</title>
<link href="http://tsuinte.ru/2018/arigatou/"/>
<id>http://tsuinte.ru/2018/arigatou/</id>
<published>2018-05-27T12:00:00.000Z</published>
<updated>2018-07-23T03:51:14.000Z</updated>
<content type="html"><![CDATA[<div class="video-container"><iframe src="//www.youtube.com/embed/pEZQ_IwvK2M" frameborder="0" allowfullscreen></iframe></div><p>总有那么一首歌,总会是不是的触动人心底最柔软的心,对于离开家乡在外打拼、一年甚至几年才能回家看望父母家人一次的游子来说,《ありがとう(谢谢)》就是这么一首歌。旋律优美、歌词平白如开水,却又能让你品尝出各种滋味,甜美又苦涩。其实这不是开水的味道,而是自己人生的百味。这首歌不忍多听,容易勾起乡愁;但是放下一段时间,无意中在深夜里随机播放的播放器中想起,总能轻易的穿透人们名为懂大局、识大体、分轻重、看长远的厚重装甲。然后只能关上灯,只为看不到自己流泪的样子。我是一个理性神经异常发达的人,从不发怒,以为理性沟通远比情绪宣泄更能达成合作,但是对这首歌却完全没有免疫力。以为自己已经习以为常了,许久不听再次面对着熟悉的旋律还是猝不及防。</p><p>下面是自己歌词翻译(网上能找到的翻译包括网易云音乐的版本感觉翻译有点机械,所以重新翻译一遍):</p><a id="more"></a><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br><span class="line">36</span><br><span class="line">37</span><br><span class="line">38</span><br><span class="line">39</span><br></pre></td><td class="code"><pre><span class="line">なまぬるい風に吹かれながら 【和暧的风吹过】</span><br><span class="line">東京の空眺めてたら 【眺望着东京的天空】</span><br><span class="line">遠くで暮らしてるあなたの事を 【在远方生活的您】</span><br><span class="line">ふと思い出す 【不经意浮上心头】</span><br><span class="line">元気ですか? 【身体是否安好?】</span><br><span class="line">夢を追いかけて離れた街 【年少时为了追梦离开故乡】</span><br><span class="line">見送ってくれたあの春の日 【那年春天你目送我离去】</span><br><span class="line">頼りなかった僕に 【对着不长进的我】</span><br><span class="line">「後悔だけはしないで」と 【您只说了句 “做事但求无悔于心”】</span><br><span class="line">優しい言葉 ぬくもり その笑顔 【那温柔的话语 那份温暖 那份笑颜笑容】</span><br><span class="line">ずっと覚えてるよ 【我一直铭记在心】</span><br><span class="line">そして忘れないよ 【从未曾忘记】</span><br><span class="line">今 心からありがとう 【现在打从心底说声谢谢】</span><br><span class="line">出来が悪くていつも困らせた 【不争气的我一直让你操心】</span><br><span class="line">あなたの涙何度も見た 【总是让您流泪】</span><br><span class="line">素直になれずに罵声を浴びせた 【年少叛逆没少挨您骂】</span><br><span class="line">そんな僕でも愛してくれた 【但对我的爱从未减少一分】</span><br><span class="line">今になってやっと 【直到现在长大】</span><br><span class="line">その言葉の本当の意味にも 【您当年教诲的真意】</span><br><span class="line">気づきました 【才慢慢领会】</span><br><span class="line">「辛くなったときは 【您说 “在外遇到不顺心的事时】</span><br><span class="line">いつでも帰っておいで」と 【随时都可以回家”】</span><br><span class="line">いつも僕の味方でいてくれた 【总是无条件地支持我】</span><br><span class="line">心配かけたこと 支えてくれたこと 【您一直以来关心我 支持我】</span><br><span class="line">今 心からありがとう 【现在打从心底说声谢谢】</span><br><span class="line">返しても返しても返しきれない 【望报亲恩 望报亲恩 却报答不尽】</span><br><span class="line">この感謝と敬意を伝えたい 【只想表达这份感谢和敬意】</span><br><span class="line">頼りなかった僕も少し大人になり 【不长进的我也慢慢长大】</span><br><span class="line">今度は僕が支えていきます 【今后就让我来支撑整个家吧】</span><br><span class="line">そろそろいい年でしょう 【您也一把年纪】</span><br><span class="line">楽して暮らしてください 【请好好享享清福】</span><br><span class="line">僕ならもう大丈夫だから 【我会照顾好自己的】</span><br><span class="line">あなたの元に生まれ 【能有您这样的父母】</span><br><span class="line">本当によかったと 【我感到非常荣幸】</span><br><span class="line">今こうして胸を張って言い切れる 【现在的我可以挺起胸膛自豪的说】</span><br><span class="line">あなたの願うような 【我成为您心中】</span><br><span class="line">僕になれていますか? 【值得骄傲的孩子了吗?】</span><br><span class="line">そんな事を考える 【这是我现在唯一的心愿】</span><br><span class="line">今 心からありがとう 【现在打从心底说声谢谢】</span><br></pre></td></tr></table></figure><p>这首歌让人想起 Beyond 经典的《真的爱你》,描写母亲对自己音乐事业尽管不支持却仍然深爱自己,【沉醉于音阶她不赞赏 母亲的爱却永未退让】;感概无法报答亲情,【没法解释怎可报尽亲恩 爱意宽大是无限 请准我说声 真的爱你】;母亲鼓励自己不要放弃的【是你多么温馨的目光 教我坚毅望着前路 叮嘱我点到不要放弃】。笔触放在描写母亲上,情节过于具体(母亲对自己音乐事业尽管不支持却一直鼓励),所以代入感稍显不足;而且只描写了亲情,没有故乡情。</p><p>说到故乡情,日本歌手组合「嵐」也有一首《ふるさと(故乡)》,连续两年在红白歌会上演唱过,有两个版本。【巡り逢いたい人がそこにある、優しさを広がて待っている(渴望重逢的人就在那里 温柔的伸开双手欢迎你)】描写的是一个温暖的故乡,一切人和事物都那么熟悉,那么亲切,一直等待游子归来从未改变。听起来很温暖,画面却与我们的实际有点差距,感觉加了美图秀秀特效导致过于美化。歌声让人感动,但那是别人的故乡,不是我们这种从小地方出来,追求更好发展不得不背井离乡的那种无奈现实。</p><p>其他熟悉的歌曲还有周杰伦的《稻香》,【回家吧 回到最初的美好】回忆童年田园生活欢乐时光,充满童真;还有罗大佑的《鹿港小镇》,【台北不是我的家 我的家乡没有霓虹灯】,【台北不是我想象中的黄金天堂】诉说着农村青年到大城市打拼见到的灯红酒绿,却最终发现这里不是自己的家、追求不到自己理想,流露出一副逃离北上广深的情绪。</p><p>我个人而言最喜欢也是最让我感动的是《ありがとう(谢谢)》,它把对故乡的思念、异乡打拼、对父母的感恩融合在一起。给人的感觉是一个积极向前看的中年大叔,远离故乡到大城市终于混成小中产生活安定。在某天下班不经意间想起故乡,进而想起远方的父母,接着回忆当时不争气的自己,再到现在长大的满怀感激之心,曲调哀而不伤,思念而不伤感,正是我现在的写照。</p><p>对于除外打拼的人其实已经没有故乡了。论发展速度一线城市是飞机,二线是动车,三线是汽车,四五线是自行车,乡村是蜗牛,就算现在回去家乡也是“纵使相逢应不识”,习惯是一线城市的生活对于小县城总觉得格格不入。我对家乡小县城的记忆与印象只停留在高中,大学去了二线城市,工作去了一线,比起摩托更熟悉滴滴与地铁;对于农村的孩子更甚,他们很多从初中就离开农村来到县城读书,他们对于家乡的记忆止步童年小学。而回家路上也清晰的告诉我们自己离一线又多远,多一线就意味着多转一趟车。小县城虽然慢但十几年也还是变化不小,回去总是听儿时朋友说着自己没去过的新开发区、新商场、最近流行的餐馆和小吃,感觉跟外地来的差不多了;生活的一线城市则是太大了,熟悉的就几个常去的购物中心和自己小区附近、上班路线,就像在大海上漂浮一样也没有归属感。</p><p>乡愁是永恒的,自古以来就被无数诗人表达过。人总是向往更好的发展,更多的机会,而不平等总是存在的、地区发展不平衡永远不会被消灭,而好的地方总是极少数。对于大多数的人来说,乡愁可以说是一种宿命,自己出身在不发达的地方,为了追求更好的生活和梦想,踏上他乡土地。我们比古人庆幸的是现在通信技术发达,希望以后 VR 更发达,同时更易用更便宜能让更多人受惠;而这些进步,大部分是在城市里打拼的异乡人贡献与创造的。</p>]]></content>
<summary type="html">
<div class="video-container"><iframe src="//www.youtube.com/embed/pEZQ_IwvK2M" frameborder="0" allowfullscreen></iframe></div>
<p>总有那么一首歌,总会是不是的触动人心底最柔软的心,对于离开家乡在外打拼、一年甚至几年才能回家看望父母家人一次的游子来说,《ありがとう(谢谢)》就是这么一首歌。旋律优美、歌词平白如开水,却又能让你品尝出各种滋味,甜美又苦涩。其实这不是开水的味道,而是自己人生的百味。这首歌不忍多听,容易勾起乡愁;但是放下一段时间,无意中在深夜里随机播放的播放器中想起,总能轻易的穿透人们名为懂大局、识大体、分轻重、看长远的厚重装甲。然后只能关上灯,只为看不到自己流泪的样子。我是一个理性神经异常发达的人,从不发怒,以为理性沟通远比情绪宣泄更能达成合作,但是对这首歌却完全没有免疫力。以为自己已经习以为常了,许久不听再次面对着熟悉的旋律还是猝不及防。</p>
<p>下面是自己歌词翻译(网上能找到的翻译包括网易云音乐的版本感觉翻译有点机械,所以重新翻译一遍):</p>
</summary>
<category term="阅读感想" scheme="http://tsuinte.ru/categories/%E9%98%85%E8%AF%BB%E6%84%9F%E6%83%B3/"/>
<category term="音乐" scheme="http://tsuinte.ru/tags/%E9%9F%B3%E4%B9%90/"/>
</entry>
<entry>
<title>从《三体》看博弈的艺术</title>
<link href="http://tsuinte.ru/2018/three_body_and_game_theory/"/>
<id>http://tsuinte.ru/2018/three_body_and_game_theory/</id>
<published>2018-05-26T12:00:00.000Z</published>
<updated>2019-11-07T22:39:44.000Z</updated>
<content type="html"><![CDATA[<blockquote><p>声明:下面包含大量《三体》剧透</p></blockquote><p>《三体2》中罗辑终于找到了与三体这个科技远比人类发达的文明博弈的筹码——宇宙广播,一旦触发基于黑暗森林法则,宇宙中更先进的文明一定会灭掉三体文明,但同时不久后地球也必然遭到同样的毁灭性打击。这是一种恐怖平衡,博弈成立的关键在于执剑人——罗辑是否有决心触发广播,一旦三体人确信执剑人没有同归于尽的觉悟,那么三体人一定会向地球发动攻击。这真是一个微妙的位置,为了两个文明和平共处,必须有同时毁灭两个文明的觉悟。</p><p>罗辑的威慑力建立在三体人看不透他,吊儿郎当、玩世不恭,心里全然没有人类命运这些宏大的东西,只想过好自己当前的生活。作为面壁者的时候也是,一心隐居和心爱的人过着小日子。正是因为他没有这种对全人类的大爱,才让他有能力当好执剑人,一旦三体人轻举妄动他会毫不犹豫的触发广播。面对这个看不透、不知底牌的对手,三体人始终没有机会下手。</p><p>到《三体3》人类度过数十年和平的日子后,危机感已经完全消退,没几个人真心相信会和三体人再发生冲突,放弃掉自己唯一的博弈筹码。在这个背景下,程心成为了第二任执剑人。三体人看在眼里,马上对地球发动攻击摧毁了所有威慑广播设施,大家这才明白三体人一刻也没有停止入侵计划,苦等数十年就是为了这一刻。</p><a id="more"></a><p>这一幕在现实世界也正在上演。韩国作为发达国家,经济、科技实力远远胜于朝鲜,加上有美国无保留的军事技术援助,却每每被朝鲜玩弄与股掌之中,今天说要见面就见面,明天改变主意就取消。就是因为他们已经习惯了和平的日子,武力解决这张牌都丢掉不敢用,没吓到对手反而先吓倒了自己。做好 100% 武力解决的准备恰恰是获得和平的保证,也是唯一的方法,不然自己手里没有硬筹码怎么谈判?</p><p>在美国方面,这一届 Trump 政府在各个问题上显然都比前任高明不少。外界都认为 Trump 是疯子、狂人、善变和情绪化,其实恰恰就是他的优势,也可能就是他多年商业世界中锻炼出来的技能。对方一心想达成交易,却看不透你交易意愿有多少、担心你跑掉的时候,要价自然就不敢太高。现在也是朝鲜看不透 Trump 有多少谈判意愿,他自己反而是急于达成交易,还要担心人家的后手制裁甚至武力解决的王炸。经过这回合交手,下次恐怕不敢漫天要价了。朝鲜是个谈判高手,把手里为数不多的几张小牌玩出了花,一些怂的对手就会招架不住;但面对手握多张王炸,牌术更高一筹的对手,朝鲜也只能乖乖服帖。</p><p>在生活中这个策略也非常受用。例如你要和老板谈加工资,那么你的底气来自于做好谈判失败辞职的准备,包括写好了简历、在求职网站上研究过相关职位甚至试探性的投出一两份简历。若你确实给公司带来了价值,公司有意愿想留下你,那么在了解到你没勇气离开的前提下,公司的最佳策略是——拖;若看不透你的底牌,或者知道你做好了离开的准备,那只能给你加薪。问题其实很简单,难的只是执行的勇气,这恰恰是包括多个现任前任国家领导人在内都没做到的。</p>]]></content>
<summary type="html">
<blockquote>
<p>声明:下面包含大量《三体》剧透</p>
</blockquote>
<p>《三体2》中罗辑终于找到了与三体这个科技远比人类发达的文明博弈的筹码——宇宙广播,一旦触发基于黑暗森林法则,宇宙中更先进的文明一定会灭掉三体文明,但同时不久后地球也必然遭到同样的毁灭性打击。这是一种恐怖平衡,博弈成立的关键在于执剑人——罗辑是否有决心触发广播,一旦三体人确信执剑人没有同归于尽的觉悟,那么三体人一定会向地球发动攻击。这真是一个微妙的位置,为了两个文明和平共处,必须有同时毁灭两个文明的觉悟。</p>
<p>罗辑的威慑力建立在三体人看不透他,吊儿郎当、玩世不恭,心里全然没有人类命运这些宏大的东西,只想过好自己当前的生活。作为面壁者的时候也是,一心隐居和心爱的人过着小日子。正是因为他没有这种对全人类的大爱,才让他有能力当好执剑人,一旦三体人轻举妄动他会毫不犹豫的触发广播。面对这个看不透、不知底牌的对手,三体人始终没有机会下手。</p>
<p>到《三体3》人类度过数十年和平的日子后,危机感已经完全消退,没几个人真心相信会和三体人再发生冲突,放弃掉自己唯一的博弈筹码。在这个背景下,程心成为了第二任执剑人。三体人看在眼里,马上对地球发动攻击摧毁了所有威慑广播设施,大家这才明白三体人一刻也没有停止入侵计划,苦等数十年就是为了这一刻。</p>
</summary>
<category term="阅读感想" scheme="http://tsuinte.ru/categories/%E9%98%85%E8%AF%BB%E6%84%9F%E6%83%B3/"/>
<category term="三体" scheme="http://tsuinte.ru/tags/%E4%B8%89%E4%BD%93/"/>
</entry>
<entry>
<title>电钻类电动工具简介</title>
<link href="http://tsuinte.ru/2018/drill_introduction/"/>
<id>http://tsuinte.ru/2018/drill_introduction/</id>
<published>2018-05-01T12:00:00.000Z</published>
<updated>2019-05-07T21:31:32.000Z</updated>
<content type="html"><![CDATA[<h1 id="有线与无线"><a href="#有线与无线" class="headerlink" title="有线与无线"></a>有线与无线</h1><p>有线工具需要连接插座,体积较大、不方便移动,但胜在价格便宜、动力强劲,不常用的可以买有线。无线的就是锂电池驱动,主要分 10-12V 和 18-20V 两种,更低电压的力量不足只能上螺丝(例如组装宜家家具);更高电压的 36V 甚至 54V 重量太大一般是专业人士用来替代有线工具的,价格昂贵。</p><p>12V 电钻带电池一般只有 1 公斤,可以打 10mm 以下的孔、上螺丝,可作为第一把电钻购买,更低电压的就没必要购买了。个人 DIY 主力是 18V 电动工具,带 2.5Ah 小电池一般 1.5 公斤左右,比 12V 重了不少,但钻孔能力已经可以和有线媲美,可使用 13mm 以下直径的钻头。</p><table><thead><tr><th></th><th>12V Bosch GSR120-LI</th><th>18V Ryobi</th></tr></thead><tbody><tr><td>夹头尺寸</td><td>10mm</td><td>13mm</td></tr><tr><td>金属钻孔能力</td><td>10mm</td><td>13mm</td></tr><tr><td>重量</td><td>1kg(1.5Ah电池)</td><td>1.5kg(2.5Ah以下薄电池)</td></tr><tr><td>最大扭力</td><td>20Nm</td><td>45Nm</td></tr><tr><td>套装价格</td><td>¥399RMB(带1.5Ah电池x2,充电器)</td><td>$198NZD(带2.5Ah电池x2,充电器)</td></tr></tbody></table><p>无线电动工具就像单反相机与镜头一样,看中的是系统完整程度,同一个系统的电池可互换,所以充电器、电池买一套,以后就能用在各个电动工具上,完整的系统都会包含 Drill, Impact drill, Impact driver, Impact wrench, Circular saw,甚至还有 Line trimmer,手持吸尘器等数十种工具。</p><a id="more"></a><p><img src="/img/201805/ryobi_18v_system.png" alt="Ryobi 18V系统"></p><p>偶尔用用的 Black decker 比较实惠,个人 DIY 建议用中档的 Ryobi,专业人士用 Dewalt, Makita, Bosch 等质量更好的品牌,价格通常比 Ryobi 翻倍,它们是为长时间高强度使用设计的。Ryobi 18V 系统非常完善,能想到的工具都应有尽有,价格也仅比同品牌的有线工具略贵,非常实惠。</p><p>锂电池驱动的都是直流电机,包含碳刷。更好的电机是直流无刷电机,寿命更长、动力更大、更省电,价格差不多要翻倍,一般 DIY 没太大必要。</p><p><img src="/img/201805/ryobi_brushless.jpg" alt="Ryobi brushless Impact driver"></p><h1 id="Drill-电钻"><a href="#Drill-电钻" class="headerlink" title="Drill 电钻"></a>Drill 电钻</h1><p>主要用来钻孔的,也可以上扭力要求不大的螺丝,例如组装宜家家居、已经钻好孔的实木短螺丝。一般扭力都有 20 多档 clutch 可调节,例如宜家的复合板很脆弱上螺丝不宜过紧,调小点扭力就不会伤害家具。夹具像三个爪子,可以扭动松紧调节适合不同直径的钻头。</p><p><img src="/img/201805/chunk.png" alt="爪子夹具"></p><p>上螺丝时可以直接夹住螺丝批头。或者可换上 1/4 英寸六角磁性套筒(和 Impact driver 接口尺寸一样),快速更换螺丝批头。</p><p><img src="/img/201805/bit_holder.jpg" alt="1/4 英寸六角磁性套筒"></p><h1 id="Impact-drill-冲击钻"><a href="#Impact-drill-冲击钻" class="headerlink" title="Impact drill 冲击钻"></a>Impact drill 冲击钻</h1><p>带有冲击功能的电钻,钻孔的同时会施加高频率垂直冲击,相当于在钻孔同时用锤子凿,在石材或混凝土上钻孔效率更高,除了重之外可以完全替代电钻,因为重所以通常还有横向手柄需要双手握持。冲击能力更强的是 Hammer drill,非大量钻石材、水泥工作不必考虑。</p><p><img src="/img/201805/impact_drill.jpg" alt="冲击钻"></p><h1 id="Impact-driver-冲击起子机"><a href="#Impact-driver-冲击起子机" class="headerlink" title="Impact driver 冲击起子机"></a>Impact driver 冲击起子机</h1><p><img src="/img/201805/impact_driver.png" alt="冲击起子机"></p><p>选择的同时带有沿着转动方向的高频冲击力,用于上大扭力螺丝,上螺丝时可听到高频率的啪啪冲击声。例如在实木 fence 打长长的自攻螺丝,用普通 drill 上螺丝肯定会打滑容易弄坏螺丝,还要用手抓紧 drill 防止它反向转动,上几个螺丝还凑合,多了绝对手都要废了。夹具为 1/4 英寸六角形套筒,可快速更换螺丝批头。</p><p><img src="/img/201805/long_screws.jpg" alt="自攻长螺丝"></p><p>Drill 和 Impact driver 的区别如下表,没有实木上螺丝需求的可以不选购。</p><table><thead><tr><th></th><th>18V Drill</th><th>18V Impact driver</th></tr></thead><tbody><tr><td>最大扭力</td><td>典型扭力为 45Nm 也能上螺丝,但在实木上螺丝会感到力量不足,容易打滑损坏螺丝头</td><td>典型扭力为 170Nm,足够上实木长螺丝</td></tr><tr><td>扭力调节</td><td>22档扭力,到达预定设置后继续拧会自动打滑,精确控制力度,适合拧小扭力但需要控制力度的螺丝</td><td>扭力一般不可调节,个别高端点的有 2-3 档,加上力量大,很容易上过头让螺丝埋进木头里</td></tr><tr><td>反作用力</td><td>会向手传递反向旋转扭力,手也会受同等柠螺丝的力量</td><td>自带冲击力抵消这个旋转扭力,反向作用力不会传递到手上,可单手握持</td></tr></tbody></table><h1 id="Impact-wrench-冲击扳手"><a href="#Impact-wrench-冲击扳手" class="headerlink" title="Impact wrench 冲击扳手"></a>Impact wrench 冲击扳手</h1><p>用于柠螺栓,跟 Impact driver 原理几乎一样,只是更重一些、力量更大,夹具为 1/2 英寸方形头。Impact driver 加个 adapter 也能用 Impact wrench 的螺栓套筒;反之 Impact wrench 也可以转换成 Impact driver。可以看作大扭力版的 Impact driver,前者典型扭力为 170Nm,后者通常为 360 Nm,后者才够力量拆卸汽车上的螺栓,例如固定车轮的。除非爱好摆弄汽车,不然没必要购买,偶尔拆汽车车轮啥的用长柄手动扳手就好。</p><p><img src="/img/201805/impact_wrench.jpg" alt="冲击扳手"></p><p>我试过用 Ryobi Impact driver 去拆扭力为 108Nm 的车轮螺栓,虽然标称扭力有 170Nm 但实际上完全拆不了,实际只能拆标称扭力一半左右的螺栓,不知是虚标还是测试标准不同于实际。质量更好的 brushless Impact driver 扭力有 260Nm,扭力应该足够。</p><h1 id="总结"><a href="#总结" class="headerlink" title="总结"></a>总结</h1><p>Drill 是必须的,若没有钻混凝土的打算 Impact drill 就不必了。Impact driver 做实木工程例如 deck、fence、家具必须,加个 adapter 还能当缩小版 impact wrench 用,只是扭力不够拧个别汽车螺栓,买个便宜的长柄(40cm)扳手即可。所以建议买一套 Drill 加 Impact driver 的 18V 入门套装,例如包含一大一小两块电池的 Ryobi 18V 套装只要 250 新西兰元。</p>]]></content>
<summary type="html">
<h1 id="有线与无线"><a href="#有线与无线" class="headerlink" title="有线与无线"></a>有线与无线</h1><p>有线工具需要连接插座,体积较大、不方便移动,但胜在价格便宜、动力强劲,不常用的可以买有线。无线的就是锂电池驱动,主要分 10-12V 和 18-20V 两种,更低电压的力量不足只能上螺丝(例如组装宜家家具);更高电压的 36V 甚至 54V 重量太大一般是专业人士用来替代有线工具的,价格昂贵。</p>
<p>12V 电钻带电池一般只有 1 公斤,可以打 10mm 以下的孔、上螺丝,可作为第一把电钻购买,更低电压的就没必要购买了。个人 DIY 主力是 18V 电动工具,带 2.5Ah 小电池一般 1.5 公斤左右,比 12V 重了不少,但钻孔能力已经可以和有线媲美,可使用 13mm 以下直径的钻头。</p>
<table>
<thead>
<tr>
<th></th>
<th>12V Bosch GSR120-LI</th>
<th>18V Ryobi</th>
</tr>
</thead>
<tbody>
<tr>
<td>夹头尺寸</td>
<td>10mm</td>
<td>13mm</td>
</tr>
<tr>
<td>金属钻孔能力</td>
<td>10mm</td>
<td>13mm</td>
</tr>
<tr>
<td>重量</td>
<td>1kg(1.5Ah电池)</td>
<td>1.5kg(2.5Ah以下薄电池)</td>
</tr>
<tr>
<td>最大扭力</td>
<td>20Nm</td>
<td>45Nm</td>
</tr>
<tr>
<td>套装价格</td>
<td>¥399RMB(带1.5Ah电池x2,充电器)</td>
<td>$198NZD(带2.5Ah电池x2,充电器)</td>
</tr>
</tbody>
</table>
<p>无线电动工具就像单反相机与镜头一样,看中的是系统完整程度,同一个系统的电池可互换,所以充电器、电池买一套,以后就能用在各个电动工具上,完整的系统都会包含 Drill, Impact drill, Impact driver, Impact wrench, Circular saw,甚至还有 Line trimmer,手持吸尘器等数十种工具。</p>
</summary>
<category term="Life_Style" scheme="http://tsuinte.ru/categories/Life-Style/"/>
<category term="DIY工具" scheme="http://tsuinte.ru/tags/DIY%E5%B7%A5%E5%85%B7/"/>
</entry>
<entry>
<title>新西兰买房维权:少收了三五十平米、爆水管、漏水</title>
<link href="http://tsuinte.ru/2018/nz_house_repair/"/>
<id>http://tsuinte.ru/2018/nz_house_repair/</id>
<published>2018-02-27T11:00:00.000Z</published>
<updated>2018-05-02T22:02:25.000Z</updated>
<content type="html"><![CDATA[<p>由于新手所以买的是比较可靠的老牌洋人建筑商的新房,但买房后还是遇到了一些倒霉烦心事,记录下来。</p><h1 id="少了50平米地"><a href="#少了50平米地" class="headerlink" title="少了50平米地"></a>少了50平米地</h1><p><img src="/img/201803/house_map.jpg" alt></p><a id="more"></a><p>▲买回来时没太多感觉,后花园也挺大的了,真正发现问题是某天上网想查查现在房子估价多少的时候看到上面的地图。上方蓝色框内那个细长的房子是我的,问题是一道围栏完全建在我的地里面,多占了我红色框内的一大块地方约 50 平米。</p><p><img src="/img/201803/house_plan.jpg" alt></p><p>▲刚开始还有点不相信,觉得可能卫星数据不准吧,或者网站房屋边界的数据有误,我又拿出上图的建筑图纸对比。上面红色标出那条边按照比例算出大概 13 米,实际尺子量只有 6.7 米,肯定是建错了。</p><p>由于隔壁那个房子比我的先建,围栏是他们那边做的,所以肯定是他们那边建筑商摆乌龙,我这边的建筑商又没发现。马上给建筑商发邮件说明情况,第二天回复说已经联系对方建筑商,会派注册测量师来量。过了几天后建筑商确认是划错边界了,对方建筑商来重新架设围栏。</p><p>▼围栏没修正之前,少了50平米</p><p><img src="/img/201803/house_fence_before.jpg" alt></p><p>▼过了几天对方建筑商来修正围栏,往后移了一点,看起来宽敞很多</p><p><img src="/img/201803/house_fence_reparing2.jpg" alt><br><img src="/img/201803/house_fence_reparing.jpg" alt></p><p>▼再过几天我的建筑商也过来把水泥地和墙延长,修好,木头的地方重新上黑漆。剩下还要铺好整理好地,种上草</p><p><img src="/img/201803/house_fence_after.jpg" alt></p><p>▼那是是冬天,不太适合种草,催过几次过了几个月之后终于来人修了。就那么小一块 50 平米地方他们还开了个小挖掘机过来,人工贵吧,能用机器的绝不体力劳动。</p><p><img src="/img/201803/house_fence_after2.jpg" alt></p><p>刚发现的时候有点惊讶,觉得有点儿戏,两家建筑商都是当地老牌,有几十年历史的呢,不过最后结果有惊无险。沟通过程比较顺利,唯一不满的是施工时间预约很久,有天气方面的原因,加上人家还有很多新房子再盖,比较拖拉。</p><p>▼为什么会修错呢?其实那条边界不是一条直线,图中三个红点是三个边界桩,中间还有一个桩。对方建筑商修围栏时没分清哪个边界桩才是正确的,围栏修在在中间那个。</p><p><img src="/img/201803/house_boundary.jpg" alt></p><h1 id="屋顶漏水"><a href="#屋顶漏水" class="headerlink" title="屋顶漏水"></a>屋顶漏水</h1><p>新西兰法律规定新房子有一年全屋保修(含屋内所有东西,花园除外),十年结构保修的(含屋顶、主要框架、水管煤气管道、电工、窗户等),唯一担心的是开发商破产倒闭,有问题不能维修了,所以选个老牌建筑商比较安全。再要安心的可以挑个 Master Builder 认证的开发商,房子相应贵几千到一万刀左右。</p><blockquote><p>关于 Master Builder:是一个行业协会,要加入需要经过几年考察,所以经过认证的建筑商建筑质量比较有保障。还有个好处是 Master Builder 都有额外保险,建设图中建筑商破产的话协会负责建好,修好后续的十年结构保修责任也由协会承担。</p></blockquote><p>住进去一年就换过两次灯。有一天下暴雨发现车库有一处靠墙的天花板滴水,非常震惊才一年的房子就漏水了!我们家屋顶 45 度坡度左右,所以车库里安装了个楼梯可以爬上屋顶,有空间储存杂物,就自己爬上去看看。</p><p><img src="/img/201803/house_stairs.jpg" alt="折叠屋顶楼梯"></p><p>▼发现有一个点漏水严重,下面一个保温棉都湿透了,水流到一楼天花板顶上,然后流到下面的车库。只有一个地方漏水,旁边的保温棉不怎么湿。</p><p><img src="/img/201803/house_roof_leak3.jpg" alt="一捏水都流下来"><br><img src="/img/201803/house_roof_leak.jpg" alt="水流到天花板顶"></p><p>▼然后又拿自拍杆拍屋顶对应的地方,没发现有明显瓦片损坏或松动,只能是暗伤了。估计是这一年下雨都不大没发现,这两天下暴雨才暴露出来。</p><p><img src="/img/201803/house_roof_leak2.jpg" alt></p><p>这次比较奇葩,可能我提供的资料已经够详细了,屋顶工没联系我自己就来修,家里锁着门呢,不过不耽误他们施工,反正是爬屋顶检修不需要进室内。没人联系以为还没人来我就发邮件去催,结果建筑商那边说前两天已经修好了。</p><h1 id="水管漏水"><a href="#水管漏水" class="headerlink" title="水管漏水"></a>水管漏水</h1><p>一天早上打开电子邮箱看到一封供水局 watercare 发来的账单,上个月水费比平时多了一倍还多,快上千人民币了。上个月我还出去旅游了一个多星期,应该少很多才对的,百思不得其解。供水局也注意到这个异常还很贴心的附上另外一个邮件,说他们注意到账单异常,如果你没有特别多用水的话,按照下面指南办:</p><blockquote><p>自查水表读数是否准确<br>检查水管是否漏水:不要用水几个小时,查看水表读数是否变高,变高说明有漏水<br>及时修好的话可找供水局申请漏水补贴,补偿漏水损失</p></blockquote><p><img src="/img/201803/house_pipe_leak.jpg" alt></p><p>▲回家后打开路边草地上的水表来看,变成一个小池塘了,怀疑是下雨积水;去邻居家看对比,邻居家没有积水,说明很可能水表附近就漏水。尝试伸手进去摸一下,发现图中红色圈圈的地方有强烈水流涌出,漏水就是那里</p><p><img src="/img/201803/house_pipe_resposibility.jpg" alt></p><p>▲上网查了一下,watercare 官网找到指南说怎么分辨漏水地方属于公共还是私人责任范围,但我这个漏水的地方刚好在责任交界点,看不出属于谁的。我采取了几项措施:</p><ol><li>马上打电话给 watercare 报告,要求派人检修。得到回复说要三五个工作日,比较慢</li><li>晚上和白天没人的时候关闭水闸,减少漏水损失</li><li>发邮件给建筑商,报告漏水问题,并要求属于私人责任的话派人维修</li><li>在脸书当地小区群组里发帖询问,征求意见</li></ol><p>脸书有几个热心人回复,但有人说属于 watercare 有人说属于私人的,得不出结论。</p><blockquote><p>浏览帖子时看到一些当地维修案例:有橱柜过两年不行的,后来联系建筑商说在十年保修范围内,会派人维修;还有一家两年外墙油漆开始掉,联系建筑商后来了几批人检查,最后发现是油漆工施工不符合规范,正常应该先刷底漆,再刷两层油漆,这家施工时少刷一层底漆,建筑商说会派人重新刷。</p></blockquote><p><img src="/img/201803/house_pipe_leak2.jpg" alt></p><p>▲建筑商第二天早上就派人来检查,等我晚上回家发现已经修好了,看来确实属于私人责任范围。</p><p><img src="/img/201803/house_leak_rebate.jpg" alt="漏水补贴申请指南"></p><p>过两天确认没有再漏水后上 watercare 官网申请漏水补贴,提交表格后等待审核,几个工作日后就通过了,全额退回多出的水费。</p><h1 id="总结"><a href="#总结" class="headerlink" title="总结"></a>总结</h1><p>由于是新房子还在保修期内,加上建筑商算是当地老牌大型建筑商,所以沟通过程比较顺利,都是发给电子邮件去说明情况+详细截图,然后对方就会处理。除了花园种草那里施工等了很久才排上之外,其他都是几天内处理完毕。要是老房子的话就没麻烦很多,要自己联系水管工、屋顶工来检修,得几百到几千人民币;要是老房子屋顶老化需要保养那更花钱,几万可能就没了。</p><p>最后放两张防水图,饭厅傍晚可以看到火烧云,缺点是西斜很晒</p><p><img src="/img/201803/house_sunset.jpg" alt><br><img src="/img/201803/house_sunset2.jpg" alt></p>]]></content>
<summary type="html">
<p>由于新手所以买的是比较可靠的老牌洋人建筑商的新房,但买房后还是遇到了一些倒霉烦心事,记录下来。</p>
<h1 id="少了50平米地"><a href="#少了50平米地" class="headerlink" title="少了50平米地"></a>少了50平米地</h1><p><img src="/img/201803/house_map.jpg" alt></p>
</summary>
<category term="Life_Style" scheme="http://tsuinte.ru/categories/Life-Style/"/>
<category term="新西兰" scheme="http://tsuinte.ru/tags/%E6%96%B0%E8%A5%BF%E5%85%B0/"/>
</entry>
<entry>
<title>利用好你的KiwiSaver</title>
<link href="http://tsuinte.ru/2018/make-use-of-kiwisaver/"/>
<id>http://tsuinte.ru/2018/make-use-of-kiwisaver/</id>
<published>2018-02-21T11:00:00.000Z</published>
<updated>2019-11-06T22:48:26.000Z</updated>
<content type="html"><![CDATA[<h1 id="KiwiSaver-是什么"><a href="#KiwiSaver-是什么" class="headerlink" title="KiwiSaver 是什么"></a>KiwiSaver 是什么</h1><p><img src="https://upload.wikimedia.org/wikipedia/en/9/9c/KiwiSaver_logo.jpg" alt="KiwiSaver"></p><p>新西兰永久居民所享有的政府养老金仅相当于目前最低工资的 70% 左右。具体说按照 2017 年颁布的标准,单身独居的个人每周税后可领 $390.20,所以要想过得宽裕就要依靠自己的储蓄。KiwiSaver 就是政府推出的补充养老金储蓄投资计划,类似于美国的 401k 计划,让你每个月定期存款进行投资,等退休时你的存款加上<strong>投资的回报</strong>应该会对生活有很大的帮助。</p><p>那么和自己投资买股票有什么区别吗?干嘛要把钱交给官僚机构管理?</p><a id="more"></a><ol><li>IRD 每年会赠送 $521 到你的账户,只要你每年缴款超过 $1,042.86,这是<strong>勤劳工作的人赚政府钱的唯一机会</strong>。政府这项政策鼓励人们为将来储蓄</li><li>你个人缴纳工资的 3%,你的雇主也必须缴纳 3%(税后会少点),相当于涨工资</li><li>和国内不同,KiwiSaver 的钱全部都是你的,你有完全支配权,无论换工作、移居其他城市甚至永久离开新西兰</li><li>人的意志力、注意力都是有限的,这样强制每个月直接从工资扣款、不能随意取款的机制能帮助你储蓄,摆脱一时的诱惑</li><li>可以自由选择投资品种,市场上有非常多的服务提供商</li></ol><p>如果你是新西兰永久居民或者新西兰国籍,KiwiSaver 在入职时是默认加入的,除非你主动提出不加入或者申请临时暂停缴纳。如果需要加入,一定要找雇主确认,合法的雇主都需要配合员工缴纳 KiwiSaver。</p><blockquote><p>KiwiSaver 如何缴税:和美国不同,新西兰<strong>没有</strong>资本利得税,就是说 KiwiSaver 的基金赚到的钱不用交税;但是有利息税,如果你的基金买的是股票,股票每年的分红需要交税,税率最高 28%;同时雇主配套缴纳的 3% KiwiSaver 需要扣税后再存入你的账户。对于希望赚股票升值的钱的投资者是好消息,对于主要赚股息的是坏消息。</p></blockquote><h1 id="应该投资哪个"><a href="#应该投资哪个" class="headerlink" title="应该投资哪个"></a>应该投资哪个</h1><p>上面说到你可以选择使用哪个服务供应商,刚开始加入的时候会随机分配一个供应商,之后你可以随时转移到你喜欢的供应商。所要做的只是在新的供应商那里注册,转移手续完全不用自己办理,一般只需在网上填个表写明你的 IRD 号和个人基本资料就行。</p><p><img src="https://upload.wikimedia.org/wikipedia/commons/c/c0/S_and_P_500_daily_linear_chart_1950_to_2016.png" alt="标普500指数 1950-2016"></p><p>楼主个人想投资美国标普 500 指数 ETF,就是涨跌完全等同于美国标普 500 指数,指数今年涨 10%,你的投资就赚 10%。ETF,也就是指数基金近十年来已经成为主流,相对于有基金经理管理的主动基金(如高大上的对冲基金),其费用低廉(主动基金要你资金的 2% 加上回报的 20%)、简单易懂,而且 08 金融危机以后的股市大牛市使得绝大部分主动基金业绩落后于指数基金。经典的例子是 2008 年巴菲特曾与金融“高才” Protege 合伙人公司总裁特德·塞德斯打赌 50 万美元,巴菲特买美国标普 500 指数 ETF,对方可以使用包括各种做空、期货等任何投资手段,看 10 年后谁的投资回报更高。结果塞德斯在 2015 年就投降认输了,成绩是 66% 对 22%。</p><p>KiwiSaver 服务供应商里面唯一能直接买标普 500 指数 ETF 的是 <a href="https://beta.superlife.co.nz/" target="_blank" rel="noopener">Superlife</a>,属于新西兰证券交易所 NZX 集团旗下,提供 KiwiSaver 及股市、债券投资服务。主打产品是各种被动指数基金,收费属于业界最低之一,例如标普 500 指数 ETF 年费为投资额 0.44% 加上 $30 管理费。最大好处是你可以随意分配资金用于投资它旗下各个基金的百分比,实现非常灵活的个性化投资组合。那么这个 Superlife 有什么玩法呢?</p><h2 id="全投股市"><a href="#全投股市" class="headerlink" title="全投股市"></a>全投股市</h2><p>据统计标普 500 指数从 1926-2015 复合年均回报率在 10.02%,而债券回报率在 6.08%,所以长期投资优先投股市。但回报率高是有代价的,股市波动率较大,仅投资三五年的话要是遇上熊市,亏损都有可能。</p><p>长期投资股市实际是赌国运,楼主看好资本市场发达美国,所以就投标普 500 指数 ETF。此外 Superlife 还有欧洲、澳洲、新西兰、新兴市场等其他选择,下面表格是举例,产品都可以在 Superlife 找到:</p><table><thead><tr><th>投资组合</th><th>说明</th></tr></thead><tbody><tr><td>US 500 ETF Fund</td><td>标普 500 指数 ETF</td></tr><tr><td>Emerging Markets ETF Fund</td><td>投资标的包括 A 股,港股的腾讯(权重约 5%)等等</td></tr></tbody></table><h2 id="50-50-组合"><a href="#50-50-组合" class="headerlink" title="50/50 组合"></a>50/50 组合</h2><p><strong>投资上唯一的免费午餐是多样化</strong>,就是俗话说的鸡蛋不要都放在一个篮子里,而且各投资品种相关性越低越好。这是因为投资预期收益一样的两种资产,虽不能提高收益率,但能显著降低收益波动性。</p><p>其中最经典的是股市+债券这个组合,通常股市上涨时债券下跌,反之亦然。这是因为在低利率时期企业投资活跃、业绩扩张,加上借贷容易、成本低,有更多热钱流入投资市场,股市通常上涨;市场利率走低,债券利率也会跟着降低,价格下跌。高利率时则两者刚好反过来。按照上面的数据这个组合的复合年均回报率约在 8%,但波动率低于只投股市,例如离退休仅有 5-10 年的话投资于股市+债券会比较稳妥,市场上那些所谓 balanced fund 也是这个原理。</p><p>另外一个策略是投资两个不同国家的股市,例如<code>美国+新兴市场</code>或<code>美国+欧洲</code>。但由于全球经济一体化,美国、欧洲这些大的经济体出现问题时,其他国家和地区也有很大概率出问题,只能算一般的策略。例如 2008 年经济危机是从美国开始,但迅速蔓延到全世界,并引爆了很多国家隐藏在繁荣背后的炸弹。</p><p>如果在新西兰买了房,KiwiSaver 投资国外股市是很好的多样化策略,能够对冲汇率波动、本地经济危机等风险。</p><table><thead><tr><th>投资组合</th><th>说明</th></tr></thead><tbody><tr><td>US 500 ETF + Global Bond ETF</td><td>Global Bond ETF 做了货币对冲,没有汇率风险</td></tr></tbody></table><hr><p>下面策略<strong>仅做理论研究不建议尝试</strong>,有极大概率收益不如上面两种常见方法。</p><h2 id="对冲汇率风险"><a href="#对冲汇率风险" class="headerlink" title="对冲汇率风险"></a>对冲汇率风险</h2><p>08 金融危机时新西兰元兑美元曾跌到 0.5:1,比近期 0.7 左右低了近 50%,所以投资美国的股市能够对冲这种汇率风险。如果还想利用汇率波动为你已有的 KiwiSaver 赚钱,可以使用 Superlife 提供的各种投资工具。这里利用了 NZ Cash Fund 这个货币基金,收益稳定在每年 2% 左右,可以当作资金临时避风港。以投资 US 500 ETF 为例</p><ul><li>2009-2010 年新西兰元在谷底时,把钱从 US 500 ETF 转到 NZ Cash Fund;上涨到正常水平后从 NZ Cash Fund 转回到 US 500 ETF。但问题是那时美股也比 2008 年低很多,折腾一番可能还不如让钱一直躺在那赚的多。</li><li>觉得新西兰元要下跌,US 500 ETF 以新西兰元计价的价格会上涨,对我们有利。这就是多样化带来的好处,对冲风险</li></ul><h2 id="规避股灾"><a href="#规避股灾" class="headerlink" title="规避股灾"></a>规避股灾</h2><p>规避股灾是个难度系数非常高的动作,就像美国股市近年来喊跌的每年都有,天天都有人找到新的证据说现在和那一年股灾前很像,但全都被证伪,所以更大的可能是你错过接下来的涨幅。理论上避开股灾的重大下跌非常有吸引力,例如 00 科技股泡沫和 08 金融危机期间美股都下跌接近一半,但操作的时机实在太难把握,稍有不慎再次上车晚了可能把之前赚的都吐回去,而且违背了被动投资的省心原则。要省心上面的股市+债券投资组合会好不少,因为股灾期间债券常常反而大涨。</p><p>财务状况良好的话,<strong>更好的办法是股灾期间加大买入</strong>,就是投入 KiwiSaver 的钱比平时加倍甚至几倍,这样可以趁机抄底又不会失去手上的筹码。这就要平时做好财务控制,控制负债同时管住手不乱投资小浪花,等真正大浪来了下注一把大的。这种机会都是在大经济危机、大股灾之后,裸泳的人不得不离场,机会只留给手里有筹码、信心坚定的投资者。</p><h1 id="投资收益"><a href="#投资收益" class="headerlink" title="投资收益"></a>投资收益</h1><p>这个复利投资收益图是每个想骗你投钱进去的银行理财顾问、基金经理、传销组织必定会给你看的,而且可能拉长到 30-50 年更加吓人的收益。</p><p><img src="/img/201801/25years-return.png" alt="25年投资收益"></p><p>假设你拿 2017 年最低工资 $15.75 一小时全职 (年薪 $32.76k),那么每年你将缴纳 $1014,加上雇主缴纳的 $836.55 加起来一年可投入 KiwiSaver $1850.55 (IRD 送钱只送五年,在此忽略)。假设工资水平每年上涨 2%(实际每年最低工资都会上调)投资 25 年,那么上图蓝色线代表你这些年存入的钱总额 $59274,橙色表示的是按股市 10% 平均回报率算的总收益,达到 $233944,对于将来退休应该有很大帮助。</p><p>所以从几天开始一点一滴积累,加上复利那魔鬼般的力量,为自己将来做打算吧。</p>]]></content>
<summary type="html">
<h1 id="KiwiSaver-是什么"><a href="#KiwiSaver-是什么" class="headerlink" title="KiwiSaver 是什么"></a>KiwiSaver 是什么</h1><p><img src="https://upload.wikimedia.org/wikipedia/en/9/9c/KiwiSaver_logo.jpg" alt="KiwiSaver"></p>
<p>新西兰永久居民所享有的政府养老金仅相当于目前最低工资的 70% 左右。具体说按照 2017 年颁布的标准,单身独居的个人每周税后可领 $390.20,所以要想过得宽裕就要依靠自己的储蓄。KiwiSaver 就是政府推出的补充养老金储蓄投资计划,类似于美国的 401k 计划,让你每个月定期存款进行投资,等退休时你的存款加上<strong>投资的回报</strong>应该会对生活有很大的帮助。</p>
<p>那么和自己投资买股票有什么区别吗?干嘛要把钱交给官僚机构管理?</p>
</summary>
<category term="金融市场" scheme="http://tsuinte.ru/categories/%E9%87%91%E8%9E%8D%E5%B8%82%E5%9C%BA/"/>
<category term="新西兰" scheme="http://tsuinte.ru/tags/%E6%96%B0%E8%A5%BF%E5%85%B0/"/>
</entry>
<entry>
<title>在新西兰买了房?这是你需要的家电购置指南</title>
<link href="http://tsuinte.ru/2018/nz-buy-applicances/"/>
<id>http://tsuinte.ru/2018/nz-buy-applicances/</id>
<published>2018-02-20T11:00:00.000Z</published>
<updated>2018-02-24T13:24:41.000Z</updated>
<content type="html"><![CDATA[<p>这篇文章说说在大农村新西兰买房后如何添置家电,介绍家电基本知识、知名品牌和价格,也会穿插介绍当地一些生活习惯。</p><h1 id="前言"><a href="#前言" class="headerlink" title="前言"></a>前言</h1><p>年轻的时候整天看牛刀时寒冰之流的文章,当年踮踮脚就能够得着深圳房价的时候没有入手。也不能怪人家写文章的,人家不骗不抢又没问你要钱,是自己投资理财观念没有建立起来,所以 2016 年初顺利定居新西兰后第一件事就是买房。以前老是被媒体文章欺骗,其实国外很多地方房子挺贵的,例如新西兰最大城市奥克兰房价中位数就在 500 万左右(所有价格按当前汇率 4.7 折算,下同),好在首付只要 20% 加上房价已含精装修及基本厨房家电,只要添置少量家电和家具就能入住,所以首付的压力比在深圳小一点,而且不用管装修那些烦心事。</p><p><img src="/img/201803/appliance_house_progress.jpg" alt="建房流程"></p><a id="more"></a><p>就算是中位数房价也只能在稍微远一点的地方买全新房或者近一点的地方买老破小。全新房一般有 200-600 平米地,200 平米四房(一层或两层)左右居住面积;老破小一般数十年房龄,地有大有小,房子可能 100-150 平米 三房左右。这边的面积都是室内实用面积,含车库 20 平米,但不算其他室外硬化地面如 driveway。</p><p><img src="/img/201803/appliance_house.jpg" alt="连接车库与大路的就是driveway"></p><h1 id="厨房垃圾处理机"><a href="#厨房垃圾处理机" class="headerlink" title="厨房垃圾处理机"></a>厨房垃圾处理机</h1><p><strong>很多家电属于房子的固定资产,就是包含在房价当中属于房子不可分割的一部分,搬家、卖房也不会带走</strong>,因为这些每个房子都有,嵌入式家电搬走也不方便(人工贵)。厨房垃圾处理机就是其中之一,预装的档次取决于房子价格。</p><p>国内可能刚开始流行,但在新西兰普及率很高了,绝大部分新房都会预装。主要是需求迫切,国内可以天天倒垃圾,新西兰<strong>一周只能倒一次垃圾,而且丢垃圾要收 10 块/60L 袋子</strong>,容易腐烂变臭的厨余还是直接冲掉省心省钱。多费微不足道的一点水一点电就能换回干净的厨房,极大提高生活品质。</p><p>厨房垃圾处理机是由美国工程师 John W. Hammes 在 1927 年发明的,并在 1940 年成立了 InSinkErator爱适易 公司开始销售产品,并于 1960 年被艾默生电气收购,所以宣传材料都写着“使用艾默生电机”。开始时人们称之为“电猪”,其就像农场家庭的猪一样处理剩饭剩菜,还蛮形象的。改变人们日常生活习惯总是困难的,第一年销量只有区区 52 台,人们担心这会堵塞下水管道,很多美国市政府禁止安装厨房垃圾处理机。例如纽约市一直禁止,直到多年后环保部经过长达 21 个月的研究后,才在 1997 年解除禁令,现在美国家庭 50% 以上安装有厨房垃圾处理机。在其他地方相对没那么普遍,英国普及率只有 6%,加拿大只有 3%,而新西兰近年新建房子都有,老房子很多没有。</p><p><img src="/img/201803/appliance_garbage_lifecycle.jpg" alt="厨房垃圾的回收利用"></p><p>厨房垃圾处理机是很好的发明,可以减少占家庭垃圾 10-20% 的厨余,进而减少送往垃圾填埋场的垃圾,保护环境;如上图所示,污水处理厂可以处理液态的厨余,变成肥料和沼气;厨余容易吸引蟑螂苍蝇,冲掉后干净卫生。</p><h2 id="规格与选购"><a href="#规格与选购" class="headerlink" title="规格与选购"></a>规格与选购</h2><p><img src="/img/201803/appliance_insink_working.gif" alt="工作原理"></p><p>▲机器原理很简单,<strong>就一个电机加研磨器,食物进来被研磨成粉末,就可以通过研磨盘底部的小孔随着水流进下水道</strong>。研磨器采用无刀片设计,看起来更像两颗金牙,安全而且不用像刀片那样要时不时磨刀,对于设计寿命十年不用维护的家电来说至关重要。更高级的产品主要是静音加强,就是防震和加厚外壳隔音;还有电机功率更大、研磨层级更多,可以处理更硬的食物例如玉米梗、菠萝梗、猪排骨。噪音个人觉得影响不大,反正一天就用几分钟;功率普通的就够用了,反正再厉害也处理不了猪腿骨,玉米、菠萝梗那些少数食材就丢垃圾袋好了。</p><p>虽然市面上牌子很多,但销量最高还是创始品牌 InSinkErator爱适易,可靠耐用。对于普通用户买 MODEL 56 就够了,美国原装进口,自带更安全的空气开关(MODEL 46 还是机体开关),更强的不锈钢研磨头。各型号规格参数如下:</p><p><img src="/img/201803/appliance_insink_models.jpg" alt="爱适易在售型号"></p><table><thead><tr><th>特色</th><th>Model 46</th><th>Model 56</th><th>Model 66</th><th>Evolution 100</th><th>Evolution 200</th></tr></thead><tbody><tr><td>电机</td><td>0.55HP 380W</td><td>0.55HP 380W</td><td>0.75HP 550W</td><td>0.75HP 550W</td><td>0.75HP 550W</td></tr><tr><td>研磨器</td><td>一级</td><td>不锈钢一级</td><td>不锈钢一级</td><td>不锈钢二级</td><td>不锈钢三级</td></tr><tr><td>开关</td><td>带机体开关,选配空气开关</td><td>空气开关</td><td>空气开关</td><td>空气开关</td><td>空气开关</td></tr><tr><td>静音</td><td>基本</td><td>基本</td><td>基本</td><td>静音 40%</td><td>超静音</td></tr><tr><td>容积</td><td>980mL</td><td>980mL</td><td>980mL</td><td>1005mL</td><td>1180mL</td></tr><tr><td>效果</td><td>见下</td><td>见下</td><td>见下</td><td>除放不进去的猪大腿骨外几乎所有厨余</td><td>除放不进去的猪大腿骨外所有厨余</td></tr><tr><td>京东参考价</td><td>京东有升级版尊爵带空气开关,1266</td><td>1699</td><td>2488</td><td>3499</td><td>6488</td></tr></tbody></table><h2 id="使用体验"><a href="#使用体验" class="headerlink" title="使用体验"></a>使用体验</h2><p><img src="/img/201803/appliance_insink_photo.jpg" alt="实拍"></p><p><img src="/img/201803/appliance_insink_photo2.jpg" alt="处理鱼骨和萝卜皮"></p><p>我们家预装的是中低档的 Model 56,装在小水槽那边,可以放的:软质厨余肯定没问题,生肉熟肉苹果橙子啥的;米饭面条等淀粉类容易吸水膨胀,少量可以,多的就算了,还要慢慢放多加水;长纤维萝卜皮、土豆皮、红薯皮、芹菜也没事,不要一次放太多,我们家饭量不大两三个土豆、半个大萝卜是没问题的;鱼骨、鸡骨头、虾壳非常适合,腥味大,冲走不用弄臭垃圾袋。</p><p>不要放:猪骨、牛骨等大骨头,排骨也不行;瓜子壳(不要问我怎么知道的),核桃那些坚果、桃子橄榄核也不要;玉米梗、菠萝梗、香蕉柄等特别硬的植物;大量动物油脂不要放,特别是冬天会在下水道凝结,可能造成堵塞,想象老年人由于血脂堆积造成的心脑血管疾病吧;任何非食物。</p><p>总之不确定,或者<strong>淀粉、长纤维类的食物还是少量慢慢加,多冲点水</strong>。很多东西对机器没啥伤害,那些说土豆皮缠绕刀片的反正我没见过,就两个像牙齿一样的东西还怎么缠绕,要么是机器设计不行、要么削了一箱土豆还舍不得加水吧,所以还是买外国久经考验的大品牌吧。就怕堵塞下水管道,在中国可能还好,外国请一次水管工真的要大出血,水管工是专业人员要先当学徒再持证上岗,工资很高的。正常人也不敢找无证工人,整出问题来保险公司有权拒赔,得不偿失;坏处是价格从中国人观点看偏高,好处是责任明确,万一出事了按规章办事。</p><blockquote><p>题外话:说起责任制度,我们家最近爆自来水管一段时间没发现,结果一个月水费多了 600 块,因为新房有 10 年结构保修,水管施工包含其中,所以建筑商很快上门修好了。然后只要你及时修好就可以找水务局申请漏水补贴,申请材料里就包括水管工资质与收据,原则上要求注册水管工。建筑商的肯定是符合资质人员,就给了建筑商联系方式让他们去核实,大概三四个工作日左右就收到补贴了。</p></blockquote><p><img src="/img/201803/appliance_insink_donts.jpg" alt="能放与不能放,来源爱适易官网"></p><p><strong>使用步骤:</strong></p><ol><li>打开水龙头</li><li>打开处理机</li><li>慢慢倒入垃圾</li><li>处理完垃圾后让水再流一会儿,冲走垃圾</li></ol><p>小技巧:偶尔放些橘子或柠檬皮可除味</p><blockquote><p>处理厨余还有没其他办法?有的,新西兰由于家家户户有花园,所以有些家庭会把厨余和割下的草堆在一起放堆肥箱里面,过一段时间后箱子底部能取出天然有机肥料,省下菜园、花园买肥料的成本。但是有点臭,箱子吸引苍蝇。▼</p></blockquote><p><img src="/img/201803/appliance_compost_bin.jpg" alt="堆肥箱"></p><h1 id="洗碗机"><a href="#洗碗机" class="headerlink" title="洗碗机"></a>洗碗机</h1><p>属于固定家电,这个在新西兰几乎家家户户都有。这边绝大部分公司都有洗碗机,因为公司都提供咖啡、茶和杯子,员工也用公司的刀叉碗碟经常吃个麦片、沙拉啥的,顽固的咖啡污渍就是靠洗碗机洗的。一般晚上大楼的清洁工把所有杯子盘子放进去洗碗机,第二天早上公司自己的人把干净烘干的杯子拿出来放橱柜,这边人工成本高还是洗碗机便宜多了。这边中端的一般预装全套西屋或 Fisher & Paykel(澳洲本土品牌),中高端伊莱克斯博世,高端 Miele,低端的不太知名牌子也有。整套包含灶、油烟机、洗碗机、嵌入式烤箱,我们家中端所以是伊莱克斯。</p><p>第一款在商业上取得成功的手动洗碗机是在 1887 由 Josephine Cochrane 女士发明的,那时中国还在大清光绪十三年,洋务运动接近尾声。Josephine 女士出生于一个富裕的工程师家庭,她和丈夫喜欢宴请亲友聚会,<strong>洗碗什么的就交给仆人们根本不用自己操心。但是仆人洗碗粗暴,经常打碎她精心挑选的昂贵瓷器</strong>,有些甚至是 1600 年代的古董,逛遍商店后发现市面上没有洗碗机这种机器,她就决定自己发明了一台,成立公司后还出售给商业客户。她的公司后来被 KitchenAid 收购,现属于惠而浦集团旗下,惠而浦洗碗机负责中低端,KitchenAid 专攻北美高端。例如下面这款 KitchenAid 非常风骚的带玻璃窗,还是第一次见洗碗机有窗的,只有美国有卖,2000 美刀▼。</p><p><img src="/img/appliance_dishwasher_kitchenaid.jpg" alt></p><p>同厨房垃圾处理机一样,洗碗机也是在二战之后才得到大规模普及的,极大的减轻了家务劳动量。今天的美国和欧洲发达国家家庭普及率在 75% 以上,比厨房垃圾处理机还要高。</p><h2 id="规格与选购-1"><a href="#规格与选购-1" class="headerlink" title="规格与选购"></a>规格与选购</h2><p><img src="/img/201803/appliance_dishwasher_anatomy.gif" alt="洗碗机工作原理"></p><p>▲洗碗机原理如上面动图,<strong>碗碟放在架子上,机器把水加热到 70 度(手洗 50 度就烫得不行了,一般就 40 度),机内上中下各有一个旋转喷水臂喷出强力热水</strong>,油污在洗碗剂和热水作用下失去附着力,很容易就被强力流水冲走。所以别看纤细的喷水臂觉得不如你的钢丝刷,清洁能力课比手洗强多了,而且洗洁精和热水都伤手,钢丝刷、洗碗布的也是藏污纳垢非常脏。</p><p>关于洗碗机有很多都市传说,我们逐一分析:</p><p><strong>洗碗机废水费电?</strong> -> 不是,水龙头流水冲洗很费水的,只是没测量不觉得而已,洗碗机之于手洗就像农业上滴灌与农民手工浇水的对比,用水量跟会过日子的老人家装一大盆水洗碗差不多。我们家洗碗机经济模式下用水 11.5L 用电 0.86 度,东西少的可以低至 7L 水 0.6 度电,比手洗省水但多费一点电。</p><p><strong>洗不干净?</strong> -> 不是,首先水温高,油污更容易溶解,加上洗碗剂不用考虑不伤手问题更强力,清洁能力比手洗强很多。高温可以顺便消毒,也可以防止洗碗布的二次污染。实际上连很深杯子的陈年茶垢、油烟机滤网陈年油污等难清洗的也洗得干干净净;喜欢玻璃杯的更应该用洗碗机,加入漂洗剂(rinse aid)甚至可以做到杯子不留水滴痕迹,手洗的话要马上擦干才能做到。</p><p><strong>费时间?</strong> -> 通常程序需要两三个小时,也有针对比较干净碗碟的快速程序,只要 30 分钟。其实没啥关系,把碗碟放进机器自己上网看电视去,又不用守着它,等第二天碗碟拿出来是干的,可以直接用。</p><p><strong>麻烦,要预先处理顽固食材?</strong> -> 把剩饭剩菜倒厨房垃圾处理机,然后摆进洗碗机就行,碗碟多的摆放可能会麻烦一点。洗碗机对中国饮食的重油污有特效(高温+强力洗碗剂),对加热会固化的蛋白不太行,所以蒸蛋碗、装生鸡蛋碗还是手洗吧。</p><p><strong>不适合中国人?</strong> -> 洗衣机也是外国发明的,怎么都适合中国人呢?反而洗碗机对中国饮食的重油污有特效,还可以替代老一辈家庭里常见的消毒碗柜。唯一不太好的是碗最好朝下放置,尽量不重叠,水平放置的话顽固污渍可能有残留,这样一个碗的地方能放好几个碟了。</p><p><img src="/img/201803/appliance_dishwasher_loading.jpg" alt="放置餐具"></p><p>小型台上式洗碗机装不了几个碗,仅适合喜欢卫生不想洗碗的人。优先选购大型 60cm 洗碗机,这就要求装修的时候就要考虑安装。<strong>60cm 可装 13-14 套标准西餐餐具,但西餐多数是碟,换算成中餐碗盆会少很多</strong>。实惠的就选美的等国内品牌,要求高品质就外国进口的西门子,更高端的博世、Miele。</p><p><img src="/img/201803/appliance_dishwasher_type.jpg" alt="独立式和嵌入式"></p><p>安装方式有独立式和嵌入式,独立式跟洗衣机类似,嵌入式是作为 60cm 单元嵌入橱柜内,可以使用橱柜同样材料的面板,做到视觉隐藏。机器只需要电源、进水、排水三个连接口,排水自带水泵,排水口可高于机器出水口。</p><p>选购注意点:</p><ol><li><strong>直流变频电机。</strong>国外品牌大部分水泵都是直流变频电机了,相比交流电机更静音,国内品牌绝大部分还是交流电机。</li><li><strong>自动洗碗程序。</strong>机内有传感器感应水流里脏东西的多少,自动决定应该用多少水和多少时间,无脑一键搞定,外国人这智商。</li><li><strong>三层架子。</strong>一般只有两层,筷子刀叉放刀叉笼,有些洗碗机最上面还有一层托盘,方便放筷子刀叉。缺点是占用上层空间,一些碗碟可能就差那三五厘米就放不下了。<br><img src="/img/201803/appliance_dishwasher_rack.jpg" alt></li><li><strong>特殊设计喷水臂。</strong>一般的直直一条,高端机器的喷水臂设计花哨一点,能喷到更难到达的角度。<br><img src="/img/201803/appliance_dishwasher_arm.jpg" alt="伊莱克斯FlexiSpray"></li><li><strong>双重烘干。</strong>普通的利用余热冷凝烘干,对于陶瓷玻璃不锈钢碗效果非常好,塑料的效果稍差。</li></ol><p>直流变频电机比较重要,其他几个功能可有可无,高端产品更人性化而已。我们从参数上来分析京东上热门几款产品。</p><p><strong>西门子入门级 SN23E232TI,参考价 3900</strong></p><p><img src="/img/201803/appliance_dishwasher_2.jpg" alt="西门子低端"></p><p>直流变频电机,洗碗程序简单,普通余热烘干,足够日常使用。洗碗机国内刚开始造没多久,现阶段还是外国产品比较成熟。</p><p><strong>美的 Q6,参考价 3200</strong></p><p><img src="/img/201803/appliance_dishwasher_3.jpg" alt="美的Q6"></p><p>普通交流电机噪音稍大。有上层托盘方便放筷子刀叉,洗碗程序选择更多,包含冷水预冲洗可洗菜。产品定位精准,用多一些人性化功能弥补核心电机技术的缺失,适合不介意噪音稍微大一点的人。</p><p><strong>西门子中级 SN255I13JC,参考价 6900</strong></p><p><img src="/img/201803/appliance_dishwasher_1.jpg" alt="西门子高端"></p><p>直流变频电机,包含自动程序“智能洗”,机器内有传感器判断该洗多久和用多少水,不用自己选。带热交换双重烘干,烘干效果稍微好一点。</p><h2 id="使用体验-1"><a href="#使用体验-1" class="headerlink" title="使用体验"></a>使用体验</h2><p><img src="/img/201803/appliance_dishwasher_photo2.jpg" alt="实拍"><br><img src="/img/201803/appliance_dishwasher_photo4.jpg" alt="实拍"></p><p><img src="/img/201803/appliance_dishwasher_photo.jpg" alt="实拍喷水臂"><br><img src="/img/201803/appliance_dishwasher_photo3.jpg" alt="实拍喷水臂"></p><p>我们家洗碗机是伊莱克斯的一个中高端型号,带有传感器自动洗碗程序,特殊设计喷水臂,可调节洗碗蓝,这边卖 8300 人民币左右,在新西兰这价钱可以买博世,也可以买 Miele 低端产品。由于我们家只有两个人,一餐一般两个碗两个碟两个锅,日常还是手洗比较快。偶尔客人来玩产生大量餐具的时候就非常有用了,还有隔段时间消毒清楚顽固污垢,例如喝茶的杯子的茶垢。以后父母过来住或者孩子多了就得天天用了,现在还用得不多。</p><p>还有油烟机的滤网,之前试过用热水加大量洗洁精浸泡,还是洗的不太干净,丢洗碗机省心又干净。现在每隔两三周清洗一次油烟机网,经常洗所以看不出特别脏,但第一次时效果真的很惊人,粘稠的油污都洗得干干净净▼。</p><p><img src="/img/201803/appliance_dishwasher_wash.jpg" alt="洗油烟机网"></p><p>这个杯子之前是充满茶垢的,现在洗得干干净净▼:</p><p><img src="/img/201803/appliance_dishwasher_wash2.jpg" alt="洗杯子"></p><p><strong>使用步骤:</strong></p><ol><li>剩菜放厨房垃圾处理机</li><li>碟放架子上,筷子放筷子笼,碗、杯子、锅那些深容器要么朝上要么朝下</li><li>放洗碗剂</li><li>洗完后放回橱柜收好</li></ol><p>不能放洗碗机:木质筷子、勺子、竹木砧板等容易老化,不建议经常放洗碗机;不适合铁锅、铸铁锅,会生锈,只能手洗。</p><p>其他用途:洗孩子玩具、油烟机滤网、充满茶垢的保温杯</p><h2 id="洗碗机用品"><a href="#洗碗机用品" class="headerlink" title="洗碗机用品"></a>洗碗机用品</h2><p><img src="/img/201803/appliance_dishwasher_use.jpg" alt></p><p>▲洗碗机前面板有两个口,小的添加漂洗剂仅用于玻璃,一般不用加;大的添加洗碗粉或洗碗块,一般需要添加。</p><p><strong>洗碗盐 salt</strong></p><p><img src="/img/201803/appliance_dishwasher_finish4.jpg" alt></p><p>▲用于软化水质,对于水中含矿物质多的地方需要添加。新西兰这边的洗碗机没有这个功能,也没得卖,这几个洗碗用品里面只有洗碗盐是国内生产,其他面向全球的产品都是波兰产。</p><p><strong>洗碗粉 detergent</strong></p><p><img src="/img/201803/appliance_dishwasher_finish2.jpg" alt></p><p>▲相当于洗衣粉,碗油污不重的话可以少加甚至不加。</p><p><strong>漂洗剂 rinse aid</strong></p><p><img src="/img/201803/appliance_dishwasher_finish3.jpg" alt></p><p>▲基本不需要,仅对玻璃器皿有用,防止水渍生成,不介意水滴痕迹的完全可以不加。</p><p><strong>洗碗块 powerball</strong></p><p><img src="/img/201803/appliance_dishwasher_finish.jpg" alt></p><p>▲相当于洗碗粉+漂洗剂,使用方便,宣传说洗净能力更强但价格贵,建议偶尔洗超重油污使用。</p><p><strong>机体清洁剂</strong></p><p>个人觉得没太大必要,放点洗碗粉或一个洗碗块就够了。</p><h1 id="油烟机、灶"><a href="#油烟机、灶" class="headerlink" title="油烟机、灶"></a>油烟机、灶</h1><p>属于固定家电。这油烟机还是国内的先进好用,老外就煎个牛排鱼片,没有点开高温爆炒技能树(大圆铁锅都没得卖,有也大部分含不粘涂层),所以油烟机普遍功率较弱、设计落后,放在国内卖估计不及格。国内品牌例如方太也有,价格比国内贵个三五成左右吧,最要命的是不含安装费,<strong>安装还要加 1400 元左右</strong>,我有心想换也舍不得出这个钱,先凑合用吧。</p><p><img src="/img/201803/appliance_canopy.jpg" alt><br><img src="/img/201803/appliance_canopy2.jpg" alt></p><p>▲我家预装这个吸力小,只有过滤网,也没有油杯,爆炒几次多油点的菜就会滴油下来,那个黑色风扇电机下面容易形成油滴。所以国内的朋友们还是买个好点的方太或者老板吧。</p><p><img src="/img/201803/appliance_stovetop_ceramic.jpg" alt></p><p>灶也大部分是电陶炉,燃气灶只有少部分住宅有,有些新房装了燃气热水器也照样还是电陶炉,人家没这个需求!电陶炉比燃气安全,不用担心煤气泄漏或者意外熄火造成危险;炉子纯平面一擦就干净,不像燃气灶这么多坑坑洼洼,不小心汤汁洒出来了很难擦干净。不过这边的炉子功率不比煤气的小多少,上面这款最大单个功率 3.2kW(煤气也才折合 4kW),整体最大功率 7.4kW。</p><p><img src="/img/201803/appliance_stovetop.jpg" alt></p><p>▲我们家的是西屋 westinghouse 的 60cm 宽四口(这边主流)天然气炉子,价格约 6000 人民币,不知为啥这么贵。唯一有点特色的是熄火保护比较先进,熄火后可以立即切断气源,据说这传感器比较贵;国内的绝大部分是热电偶传感器,就是探测温度低于一定程度就切断,但熄火后炉具还很热,探测要数十秒才生效,会泄漏不少煤气造成危险。国内对这方面不太重视,<strong>方太、老板 2000 元以上的还是用热电偶,仅发现华帝 2000 元左右的高端产品采用离子熄火保护</strong>,可在 4 秒内切断气源。外国的炉子没有考虑中国大炒锅的需求,导致上了炒锅后面那个用不了,右边那个也很勉强。实际同时能用的一般就对角那两个,第三个小煎锅或小奶锅才勉强挤得下。而国内的大部分两口灶都是 72cm 宽的,只有下面嵌入部分是 60cm,放两个炒锅都不耽误▼</p><p><img src="/img/201803/appliance_stovetop_cn.jpg" alt></p><h1 id="嵌入式烤箱"><a href="#嵌入式烤箱" class="headerlink" title="嵌入式烤箱"></a>嵌入式烤箱</h1><p><img src="/img/201803/appliance_oven_big.jpg" alt></p><p>属于固定家电,家家户户都有,洋人以烤面包、蛋糕为主食,烹饪步骤也经常包含放入烤箱(没有高温热油爆炒),就相当于我们的电饭煲一样普遍,都是 60cm 70L 以上大容量嵌入式大烤箱(一层可以烤 8 个正常大小的菠萝包),高端的甚至有两个烤炉。烤箱对大部分人并无必要,除非想学习西式烘焙当业余爱好、学习西式需要烤箱的菜、在家做烤鸡烤羊腿,不然真没用。</p><h2 id="规格与选购-2"><a href="#规格与选购-2" class="headerlink" title="规格与选购"></a>规格与选购</h2><p>烤箱原理也不复杂,就电热丝,最多加个风扇,主要看质量是否过硬。主要指标有:</p><p><strong>功率。</strong>嵌入式多在 3kW 以上,小烤箱 2kW 左右就够了。<br><strong>上下加热。</strong>上下都有电热丝。<br><strong>双层玻璃门。</strong>单层不小心碰到烫手,而且热量损失大,不仅费电还可能造成温度不足。<br><strong>热风循环。</strong>加快烤箱内空气流动,让加热更均匀,对于烤鸡翅烤肉特别好,实现类似空气炸锅的效果。<br><strong>蒸汽功能。</strong>上万的高端烤箱才有,利用高温水蒸气加热食材,类似于日本的水波炉。用处不大,普通烤箱已经能把鸡烤得鲜嫩多汁,这一点水也不够蒸包子。</p><p><img src="/img/201803/appliance_oven_pana.jpg" alt="松下32L烤箱"></p><p>国内大型烤箱只有进口的价格昂贵,还是买中型烤箱比较合适,买个 30-40L 左右的,可烤 4-6 个普通菠萝包,太小的温控差达不到需要的温度。要有上下加热、双层玻璃门、热风循环功能,其他什么石窖、旋转烧烤叉、钻石棱形反射面、智能 app 都是没啥用的。推荐美的和长帝,特别长帝就是做烤箱起家的,三五百就能拿下,仅为大型嵌入式烤箱十分之一。要颜值高的加点钱买松下。</p><h2 id="使用体验-2"><a href="#使用体验-2" class="headerlink" title="使用体验"></a>使用体验</h2><p><img src="/img/201803/appliance_oven_wh.jpg" alt="烤鸡"></p><p>▲我们家装的是中端的西屋,带上下加热、风扇辅助、三层隔热玻璃,送一个浅托盘、一个深托盘、一个烤鸡架、两个不锈钢架,功率 3kW,实用容积 72L,基本使用足够了。这边售价约 7000 元。</p><p>▼烤鸡是新西兰人民喜爱的节日食品,超市都有腌好的各种口味的鸡卖,买回来直接放烤箱烤一个小时就行。和国内卖的烤鸡不一样,自己烤的刚出炉时鲜嫩多汁、外焦里嫩、汁水直流,这边超市卖烤好的也很柴不好吃,这是少数自己在家做比外面好吃的菜。鸡翅我不用烤箱,太久了,也不如用铸铁煎锅煎的好吃。</p><p><img src="/img/201803/appliance_oven_chicken.jpg" alt="烤鸡"></p><p><img src="/img/201803/appliance_oven_chicken2.jpg" alt="烤鸡"></p><p>▼这边牛羊比人多多了,芝士品质很高,做芝士焗意面再好不过。加点培根、香肠、洋葱,拌上意面酱,上面再铺满满一层马苏里拉芝士,越多越好,烤个二十分钟左右就好。</p><p><img src="/img/201803/appliance_oven_pasta.jpg" alt="芝士焗意面"></p><p><img src="/img/201803/appliance_oven_pasta2.jpg" alt="芝士焗意面"></p><p>▼我在国内有个小烤箱,学着做过一阵子容易上手的曲奇饼、重芝士蛋糕,现在有了大烤箱以后就开始进阶到难度更高的面包。面包发酵时间长,但烤起来只要 15 分钟。从简单的餐包开始:</p><p><img src="/img/201803/appliance_oven_bread.jpg" alt="餐包"></p><p>▼最喜欢菠萝包,简约又不简单,酥皮和面包都是简单的面粉加糖、黄油,但面包是高筋粉经过发酵,酥皮是高糖高黄油的低筋粉,热热的时候中间加一块黄油夹着吃,妙不可言。怀念深圳元朗荣华饼家的现烤菠萝包。</p><p><img src="/img/201803/appliance_oven_bread2.jpg" alt="菠萝包"></p><p>▼再来一炉,一次能烤八个正常大小的</p><p><img src="/img/201803/appliance_oven_bread3.jpg" alt="菠萝包"></p><p>▼蛋糕不用发酵相对面包要容易一些,轻乳酪蛋糕芝士味道浓郁,比入门版戚风蛋糕更有风味。这个是 8 寸大小</p><p><img src="/img/201803/appliance_oven_cake.jpg" alt="轻乳酪蛋糕"></p><h1 id="热水器"><a href="#热水器" class="headerlink" title="热水器"></a>热水器</h1><p>也是随房子一起,除非换新不然没人买热水器的。用的多的是储水电热式或即热燃气热水器,储水式需要时刻保持水箱温度比较费电,但即刻可出热水;即热燃气式节能,出热水稍微慢点,但高端型号会好很多。热水器原理不复杂,看的还是品质和细节做工,国内中低端燃气热水器用海尔、万和、美的、万家乐,高端多为日本品牌能率、林内。毕竟现在房子贵了,买贵一点也应该。</p><p><img src="/img/201803/appliance_heater.jpg" alt></p><p>在新西兰大部分人家装储水式电热水器,少部分用燃气热水器,品牌多为日本林内、百乐满,四房多安装 24L 或以上,两个牌子价钱差不多约 7500 元。我们家预装百乐满 24L,室内有个温控面板设定温度,出水温度恒定;出水快,开水一秒左右热水器就点火。</p><h1 id="净水机"><a href="#净水机" class="headerlink" title="净水机"></a>净水机</h1><p>这边装净水机的很少,政府建议除非不喜欢自来水的口味,否则建议直接饮用自来水,净水设备安装保养不当还会造成二次污染。个别家庭或公司饮水机有安装净水器的也是普通超滤,没见过用反渗透滤水器的,那是工业级设备。因为人少加上环保意识强,例如新西兰海上有油田的但居民们就是有钱躺着也不赚,坚决反对开采,还有钓鱼抓螃蟹都规定数量和只能抓大的,不合规定的被人看到了绝对举报。所以这边自然水质普遍较好,很多小城市的水厂甚至没有经过氯气消毒,直接沉淀过滤一下就成自来水了,纯天然口感。也是因为人少加上政府垄断水价就贼贵了,其他电煤气网络好歹还有竞争好点,每个月水费大概四百多,还双向收费,用水 7 块一立方,排水 12 块一方,每个月还要收官网费 80 块,综合用水成本约 20 块一方,国内的朋友知道水价便宜了吧。</p><p><img src="/img/201803/appliance_waterbill.jpg" alt></p><p>洋人大部分直接喝水龙头的,公园也多有向上喷的水龙头可供游客饮用。之前我买过一个小米 TDS 监测笔(TDS 表示水中含导电物质的总量,不能直接反映水质的好坏),测得为 71,口感清淡水质较软▼</p><p><img src="/img/201803/appliance_water.jpg" alt></p><h1 id="完结"><a href="#完结" class="headerlink" title="完结"></a>完结</h1><p>这篇讲的是在新西兰属于房子固定资产的一些电器的原理、选购和使用心得,穿插介绍一些新西兰这个大农村的乡土习惯,不知不觉写了八千多字,都是辛苦查英文资料和自己经验总结的,希望对大家有帮助。</p>]]></content>
<summary type="html">
<p>这篇文章说说在大农村新西兰买房后如何添置家电,介绍家电基本知识、知名品牌和价格,也会穿插介绍当地一些生活习惯。</p>
<h1 id="前言"><a href="#前言" class="headerlink" title="前言"></a>前言</h1><p>年轻的时候整天看牛刀时寒冰之流的文章,当年踮踮脚就能够得着深圳房价的时候没有入手。也不能怪人家写文章的,人家不骗不抢又没问你要钱,是自己投资理财观念没有建立起来,所以 2016 年初顺利定居新西兰后第一件事就是买房。以前老是被媒体文章欺骗,其实国外很多地方房子挺贵的,例如新西兰最大城市奥克兰房价中位数就在 500 万左右(所有价格按当前汇率 4.7 折算,下同),好在首付只要 20% 加上房价已含精装修及基本厨房家电,只要添置少量家电和家具就能入住,所以首付的压力比在深圳小一点,而且不用管装修那些烦心事。</p>
<p><img src="/img/201803/appliance_house_progress.jpg" alt="建房流程"></p>
</summary>
<category term="Life_Style" scheme="http://tsuinte.ru/categories/Life-Style/"/>
<category term="新西兰" scheme="http://tsuinte.ru/tags/%E6%96%B0%E8%A5%BF%E5%85%B0/"/>
</entry>
<entry>
<title>日本旅游(三):传统和服结婚照摄影体验</title>
<link href="http://tsuinte.ru/2018/japan_trip_kimono/"/>
<id>http://tsuinte.ru/2018/japan_trip_kimono/</id>
<published>2018-02-10T11:00:00.000Z</published>
<updated>2018-02-24T13:24:41.000Z</updated>
<content type="html"><![CDATA[<p>和服来源于唐朝服饰,并有所继承和发展,在日剧和动漫上看到和服美美哒,那么去日本也可以顺便租借和服,更进一步的是去传统的拍结婚照的摄影工作室拍摄。</p><h1 id="轻度体验"><a href="#轻度体验" class="headerlink" title="轻度体验"></a>轻度体验</h1><p><img src="/img/201802/kimono_formal.jpg" alt="和服分类"></p><p>就像西装,和服也是分场合和规格的,一般来说层次件数越多、袖子越长、下摆越长、花纹越鲜艳多样越正式,就是越繁琐越正式。最随意的是【浴衣(yukata)】,旅馆、正规餐馆服务员穿的多是【小纹】,婚礼可穿下摆拖地的【引振袖】。男性的和服则没太多变化,一般越宽松越不正式,正式的都是里三件外三件非常笔挺的。</p><a id="more"></a><p><img src="/img/201802/kimono_yukata.jpg" alt="浴衣"><br><img src="/img/201802/kimono_anime.jpg" alt="浴衣"></p><p>很多著名旅游景点都有和服出租服务,便宜的【浴衣(yukata)】一般一天 4000 日元起,很多都有中文服务甚至就是中国人开的。所以你到浅草寺等景点看到穿和服的帅哥美女其实大部分是中国人游客,洋人穿的也不少。另外,传统温泉旅馆也大多提供浴衣,泡完温泉后穿着。浴衣穿着简单,也是最不正式最随意的和服,只有一件衣服加一个腰带,比较轻薄行动方便。日本夏天的花火(烟花)大会最适合穿着浴衣,平常女生和闺蜜出门逛街穿着也不会特别奇怪。</p><p><img src="/img/201802/kimono_hurisode.jpg" alt="中振袖"></p><p>要想好看点可以租【中振袖(hurisode)】,有里外两层,布料比较厚花纹鲜艳丰富,袖子也比较长,通常一天要 10000 日元以上。虽然好看,但走起来不方便,只能小碎步的走,上个楼梯都不容易,建议在平地短暂拍照时穿着。日本人通常正式场合例如成人式、新年参拜等正式场合才穿着,就像没有人穿着晚礼服出去逛街一样。</p><p><img src="/img/201802/komono_oiran.jpg" alt="花魁"></p><p>其他的花魁、歌舞伎和服虽然华丽,但那是特殊行业的工作制服。</p><h1 id="传统结婚礼服"><a href="#传统结婚礼服" class="headerlink" title="传统结婚礼服"></a>传统结婚礼服</h1><p><img src="/img/201802/kmono_wedding5.jpg" alt></p><p>【引振袖】可以作为婚礼服装,通常为黑色寓意不会被其他颜色玷污,还有更高规格鲜艳的【色打褂(irouchikake)】和纯白的【白无垢(shiromuku)】。通常在神社举办结婚典礼时穿白无垢,婚礼披露宴(在婚礼前举办)上穿着色打褂,当然要行动稍微方便点披露宴上也有穿【引振袖】的。作为最高规格的和服,件数非常多穿着繁琐,一个人不可能穿得上,要有专门穿着师帮忙;而且全部下摆拖到地上,走路非常不方便。</p><p>▼引振袖,通常为黑色底色,这里设计比较新潮加入了其他明亮的颜色,也有些设计得跟普通振袖一样华丽而仅仅加长了下摆。</p><p><img src="/img/201802/kmono_wedding.jpg" alt></p><p>▼色打褂,颜色非常鲜艳,比振袖穿着要复杂,振袖后面可以看到露出的腰带结,而色打褂是腰带在衣服里面。</p><p><img src="/img/201802/kmono_wedding2.jpg" alt></p><p>▼白无垢,颜色纯白,但衣服上面常常会刺绣有图案。</p><p><img src="/img/201802/kmono_wedding4.jpg" alt></p><p>▼第一次认识白无垢是因为买了这个粘土</p><p><img src="/img/201802/kimono_miku.jpg" alt></p><p>▼男性只有一种纹付,变化也不多。</p><p><img src="/img/201802/kmono_wedding3.jpg" alt></p><h1 id="知识点复习"><a href="#知识点复习" class="headerlink" title="知识点复习"></a>知识点复习</h1><p><img src="/img/201802/kimono_quiz.jpg" alt><br><img src="/img/201802/kimono_quiz2.jpg" alt="▲第一题:这是哪种和服?"></p><p>和服种类这么多看得有点眼花缭乱了,那上面的都是哪一类的和服呢?我们首先看袖口都很短,而且只有一件,所以是最随意的浴衣了。有个手办厂商 FREEing 专门出各个角色的浴衣手办,上面那些都是这个厂商出品。</p><p><img src="/img/201802/kimono_quiz3.jpg" alt="▲第二题:这是哪种和服"></p><p>我们来到第二题,袖口很长,从领口可以看到里面还穿有一件袍,再看下摆没有拖地,所以是【中振袖】,也是未婚女生可以穿的最高级礼服,设计也会比较花哨。</p><p><img src="/img/201802/kimono_quiz4.jpg" alt="▲附加题:这些分别哪种和服,可以看出什么?"></p><p>中间的英梨梨同学上面提到,穿的是【振袖】。最左边的加藤惠同学下摆加长,衣服层次明显更多,明显属于礼服,腰带穿里面,所以是【色打褂】。最右边的诗羽学姐是【花魁】装束,所以穿着比较大胆。那我们可以得出什么结论呢?从她们的衣服就能判断出小说剧情,穿婚礼礼服【色打褂】的加藤惠同学是正室;【中振袖】是未婚女生穿的,所以英梨梨同学是单身狗路人;花魁和服代表诗羽学姐成熟妖艳万人迷的魅力。</p><h1 id="和服拍摄体验"><a href="#和服拍摄体验" class="headerlink" title="和服拍摄体验"></a>和服拍摄体验</h1><p>楼主家都比较喜欢动漫,这次去日本旅行就预留了一天去体验一下和服婚纱摄影,尝试一下正式的传统和服。</p><h2 id="拍摄预约"><a href="#拍摄预约" class="headerlink" title="拍摄预约"></a>拍摄预约</h2><p>网上也有不少支持中文的摄影工作室,楼主比较过几间,通常室内静态拍摄 6 万日元以上,外景 10 万日元以上,包含化妆、拍摄全部,底片 100 张以上加一本小相册。周末节假日,或者加一套衣服再加 1-2 万日元。最好提前两周以上预约。</p><p>我们都知道镰仓市是日本佛教圣地,室内有各个流派的众多寺庙,有高德院大佛等等,可以拍寺庙的外景。这次选了镰仓的一家工作人员全部是日本当地人的摄影工作室【华雅苑】,选镰仓是因为离东京只有 70 分钟车程,加上打算去镰仓逛逛就顺路一起去了。这家外拍比东京看的几家都要便宜,我们是一月初周五去拍的,选的两件衣服白无垢和色打褂,价格是约 6 万日元。价格包含服装、化妆、交通全部,摄影地方可选两个佛教寺庙,包含 200 张底片+A3相框+A5相册(四张)▼</p><p><img src="/img/201802/kimono_plan.jpg" alt></p><p>在国内提前一个多星期发电子邮件预约,楼主虽然日语口语一般,但写信交流还是没太大问题。他们没有太多接待外国游客经验,所以很多都要求电话沟通确认,而且支付只能用日元现金。我就说人在外国电话不方便,尽量邮件联系。他们就问了身高体重和鞋子尺寸,然后说新年参拜的人很多,寺庙只能选一间,不然路上堵车肯定不够时间,然后摄影前一天电话需要再确认一次。这样邮件来来回回几次就预约上了。</p><p>最后选择了拍摄地点【妙本寺】,是日莲宗最古老的寺庙,建于 1260 年。春天有樱花,夏天有绿树,秋冬都有红叶,冬天还有雪▼</p><p><img src="/img/201802/kimono_tera.jpg" alt></p><p>服装选了一套白无垢,一套色打褂,镰仓分店白无垢有几套可以选,色打褂有大概 20 套可选▼</p><p><img src="/img/201802/kimono_dress.jpg" alt><br><img src="/img/201802/kimono_dress2.jpg" alt><br><img src="/img/201802/kimono_dress3.jpg" alt="色打褂有大概 20 套"></p><h2 id="正式拍摄"><a href="#正式拍摄" class="headerlink" title="正式拍摄"></a>正式拍摄</h2><p>我们早上坐车到北镰仓站,然后步行 15 分钟左右到达拍摄店里。新娘要弄头发造型比较久,新郎相对简单很多,头发也不用弄。因为是冬天,里面建议穿优衣库的保暖内衣内裤,男士和服是比较透风的会很冷。最里面有两件像胸甲、腹甲那样的绑着你,收腰挺拔。上衣内外两件,加上类似于长款外套的羽织;下衣也有两件,特别是外面那件其实侧边是空的,冬天真的比较冷。</p><p>然后摄影师开着面包车载我们去妙本寺,还有化妆师一名陪同,还带着一个大箱子装着假发。拍摄的时候按照摄影师要求作出各种动作,小道具主要是扇子和伞。负责衣服打扮的化妆师女士非常认真,衣服稍微有点歪了都会矫正过来,包括胸前绣球稍微歪了一点,裤子的皱褶不美观了;摄影师也帮忙注意服装,还负责逗笑,好在他说的姿势要求基本都能听懂,主要就看镜头、对视、看远方三种。路人过的时候大家都很有礼貌,摄影师都会让人先过,行人也很有礼貌的回礼。不过寺庙人很少,不像神社这么多人参拜。中途新娘换了一次衣服,把色打褂换成白无垢。路上他们也挺热情的陪聊,以前楼主老感觉自己日语比英语好,因为说英语时老冒出日文单词,但其实那是错觉,只是能听懂但无法表达,毕竟是第一次和真人玩家 PK。他们很好奇问了很多问题,从哪里来的,聊聊当地天气、环境啥的。我也问了有没外国人来拍照,说有日本人和中国新娘,外国人和日本新娘,完全不懂日语的没有,那样会很难沟通。</p><p>拍摄当天是阴天,好处是不会太晒,人物也不会过曝光,不好是照片可能会缺少光影层次吧。回去路上另一侧堵车很长很长,幸好早点出来,不然得堵在那里好久了。回去路上我叫摄影师顺便去一趟便利店,我拿的现金不太够,去取钱的时候没感觉什么,回来摄影师说有没有人盯着你看,我现在就是穿着燕尾服去便利店的感觉;不过又说现在还是正月,穿着这样去神社参拜也不算奇怪。回去后我们还要求加拍了一组白无垢的正座照,本来套餐是没有的,肯免费加真的不错。</p><p>以下是实拍▼时间一月初,没有下雪,寺庙内的红叶比较漂亮</p><p><img src="/img/201802/kimono_photo.jpg" alt></p><p><img src="/img/201802/kimono_photo2.jpg" alt></p><p>更多图片到他们官网看:<a href="http://www.kagaenn.com/shop/kamakura/index.html" target="_blank" rel="noopener">http://www.kagaenn.com/shop/kamakura/index.html</a></p><p><img src="http://www.kagaenn.com/shop/kamakura/photo/01/034.jpg" alt="官网样片"></p>]]></content>
<summary type="html">
<p>和服来源于唐朝服饰,并有所继承和发展,在日剧和动漫上看到和服美美哒,那么去日本也可以顺便租借和服,更进一步的是去传统的拍结婚照的摄影工作室拍摄。</p>
<h1 id="轻度体验"><a href="#轻度体验" class="headerlink" title="轻度体验"></a>轻度体验</h1><p><img src="/img/201802/kimono_formal.jpg" alt="和服分类"></p>
<p>就像西装,和服也是分场合和规格的,一般来说层次件数越多、袖子越长、下摆越长、花纹越鲜艳多样越正式,就是越繁琐越正式。最随意的是【浴衣(yukata)】,旅馆、正规餐馆服务员穿的多是【小纹】,婚礼可穿下摆拖地的【引振袖】。男性的和服则没太多变化,一般越宽松越不正式,正式的都是里三件外三件非常笔挺的。</p>
</summary>
<category term="Life_Style" scheme="http://tsuinte.ru/categories/Life-Style/"/>
<category term="日本游记" scheme="http://tsuinte.ru/tags/%E6%97%A5%E6%9C%AC%E6%B8%B8%E8%AE%B0/"/>
</entry>
<entry>
<title>日本旅游(二):你的名字、秒速五厘米打卡详细攻略</title>
<link href="http://tsuinte.ru/2018/japan-trip-acg-related/"/>
<id>http://tsuinte.ru/2018/japan-trip-acg-related/</id>
<published>2018-02-04T07:51:43.000Z</published>
<updated>2018-02-04T07:51:43.000Z</updated>
<content type="html"><![CDATA[<p>日本是动漫圣地,从小到大相信有不少作品伴随着我们的成长并留下了不少感动的瞬间。那么去日本旅游的时候可以把曾经感动过你的动漫列入旅行计划中,去探访一下动漫中刻画的场景,让二次元走进三次元的世界。</p><h1 id="你的名字"><a href="#你的名字" class="headerlink" title="你的名字"></a>你的名字</h1><p><img src="/img/201802/japan_trip_kimi_poster.jpg" alt="你的名字海报"></p><blockquote><p>梦里相逢人不见<br><br>若知是梦何须醒<br><br>纵然梦里常幽会<br><br>怎比真如见一回<br><br><br>——平安时代诗人,小野小町</p></blockquote><a id="more"></a><p>如果说以前《秒速五厘米》《言叶之庭》新海诚编剧&导演给人的感觉是小清新文艺范,那么这部日本本土票房超过 250 亿日元(约 15 亿人民币)排名日本历代电影票房第四名的《你的名字》则显露出了王者风范,受众已经覆盖男女老少。在国内票房也超过 5.6 亿人民币。</p><table><thead><tr><th>排名</th><th>作品</th><th>发行公司</th><th>票房(亿日元)</th><th>发行日期</th></tr></thead><tbody><tr><td>1</td><td>千与千寻的神隐</td><td>东宝</td><td>308.0</td><td>2001/07/20</td></tr><tr><td>2</td><td>泰坦尼克号</td><td>FOX</td><td>262.0</td><td>1997/12/20</td></tr><tr><td>3</td><td>冰雪奇缘</td><td>迪斯尼</td><td>255.0</td><td>2014/03/14</td></tr><tr><td>4</td><td>你的名字</td><td>东宝</td><td>250.3</td><td>2016/08/26</td></tr></tbody></table><p>最令人欣慰的是在《秒速五厘米》中像是被命运诅咒一般擦肩而过的男女主角(码农感受到了新海诚深深的恶意),在《你的名字》中终于回眸相认,可喜可贺。</p><p><img src="/img/201802/japan_trip_kimi_end.jpg" alt="大团圆结局"></p><h2 id="取景地一览"><a href="#取景地一览" class="headerlink" title="取景地一览"></a>取景地一览</h2><p>剧中女主角三叶所居住的糸守町在设定上是位于【飞驒】一带的虚构城镇。男主角立花泷的平日活动区域大量采用【东京都新宿区】一带实有的场景,如他平日通勤上学往返为【新宿车站】与【四谷车站】;剧情里他与奥寺的约会段落中则安排了六本木【国立新美术馆】、以及【新宿御苑】出现,在三叶前往东京寻找泷时采用了夕阳时的【代代木车站】景色。 结尾前,已入社会的泷与三叶于【JR中央线】交错的列车中发现对方,之后分别从【新宿车站南口】及【千駄谷站】出发,于【须贺町】中徘徊并互相找寻对方;最后以位于【四谷】的【须贺神社前阶梯】处作为最后收尾场景。</p><p><img src="/img/201802/japan_trip_kimi_spots.jpg" alt="东京取景地一览"></p><p>打开<a href="https://www.google.com/maps/d/viewer?mid=1eEMtWSg0aquXVtRLnrwnZ8hVrxk&ll=35.675546722502276%2C139.72549301586923&z=14" target="_blank" rel="noopener">这个谷歌地图地址</a>可以查看这个地图,上面有日文标注及对应动画画面,来源于<a href="http://blog.livedoor.jp/touyokojunrei-yokofuji3/archives/66083853.html" target="_blank" rel="noopener">君の名は。 舞台探訪(聖地巡礼)記事一覧 </a>,攻略参考这个博客就够了。</p><p>对于不是十分狂热的普通观众首选是收尾场景【四谷】的【须贺神社前阶梯】,之后顺便去须贺神社参拜;其次是【新宿】附近几个景点,购物途中顺便打卡;再次是行程中有六本木的话,顺便去【国立新美术馆】。</p><h2 id="须贺神社阶梯实拍"><a href="#须贺神社阶梯实拍" class="headerlink" title="须贺神社阶梯实拍"></a>须贺神社阶梯实拍</h2><p><img src="/img/201802/japan_trip_kimi_map.jpg" alt="须贺神社阶梯地图"></p><p><strong>交通方案</strong>:乘坐都营地铁【丸之内线】到上面地图左上角的【四谷三丁目站】下车,沿着途中箭头指示往东南方向走 7 分钟即可到达。然后沿着阶梯上去须贺神社参拜;然后回地铁站的时候走另外一条路,顺便游览上图中最左边邮箱和男主奔跑场景。</p><p>不包括交通的建议游览所需时间约 2 小时,主要是人多需要等待。接着可步行去【新宿御苑】,《言叶之庭》的拍摄地;接着可以去【新宿】,那是繁华的商业区应有尽有。所以打算去新宿的朋友,抽出 2 个小时左右就能完成《你的名字》打卡。</p><blockquote><p>拍摄礼仪须知:很多取景地其实是居民区,周围就是居民楼,我们拍摄时注意不要阻塞交通、不要大声喧哗妨碍人家休息。有行人、车辆经过的时候要主动让路,大部分人看到你在拍摄都会让停下让你先拍并的,所以我们也要感觉让路不能耽误人家太久。遇到同样拍摄的游客,通常要么排队,要么在旁边等等有空位再上。</p></blockquote><p>因为《你的名字》现在人气还比较高,所以我们上午 11 点左右到的时候常常有 5-10 组人在拍,加上元旦期间很多当地人到上面的须贺神社参拜常常上下楼梯,所以要拍没有人的场景比较困难。要么早上早早来,要么就耐心等候机会吧。</p><p>根据上面地图的路线走第一次右转后看到一个路牌</p><p><img src="/img/201802/japan_trip_kimi_road_sign.JPG" alt="路牌"></p><p>再走几百米经过一个 45 度大斜坡后来到了阶梯所在的十字路口,那是三叶奔跑经过的地方</p><p><img src="/img/201802/japan_trip_kimi_mitsuha.JPG" alt="三叶奔跑经过的十字路口"></p><p>接着泷走上了阶梯</p><p><img src="/img/201802/japan_trip_kimi_stairs.JPG" alt="阶梯"></p><p>在阶梯中段双方交错而过,并没有相望</p><p><img src="/img/201802/japan_trip_kimi_stairs2.JPG" alt="阶梯中段"><br><img src="/img/201802/japan_trip_kimi_passing_by.JPG" alt></p><p>再补几张阶梯的照片,人实在太多,中港台日的旅客走了一波又一波,附近居民、参拜神社的上上下下,很难找到没有人的时候。</p><p><img src="/img/201802/japan_trip_kimi_stairs3.JPG" alt><br><img src="/img/201802/japan_trip_kimi_stairs4.JPG" alt><br><img src="/img/201802/japan_trip_kimi_stairs5.JPG" alt></p><p>从斜坡远望阶梯</p><p><img src="/img/201802/japan_trip_kimi_road.JPG" alt="从斜坡远望阶梯"></p><p>上去阶梯后右手边就是神社,那是元旦当天参拜的人很多</p><p><img src="/img/201802/japan_trip_kimi_shrine.JPG" alt="须贺神社"><br><img src="/img/201802/japan_trip_kimi_shrine2.JPG" alt="须贺神社"></p><p>旁边有卖一些护身符,绘马什么的</p><p><img src="/img/201802/japan_trip_kimi_miko.JPG" alt="巫女售卖护身符等"></p><p>印有那个阶梯的绘马,推荐买一个回去当周边,好像 1500 日元。</p><p><img src="/img/201802/japan_trip_kimi_ema.JPG" alt="绘马"></p><h2 id="商品推荐"><a href="#商品推荐" class="headerlink" title="商品推荐"></a>商品推荐</h2><p><strong>饼干与蛋糕</strong></p><p><img src="/img/201802/japan_trip_kimi_cake_cookie.jpg" alt="点心"></p><p>在折扣连锁店【唐吉诃德】买的,好像 1000 日元左右。</p><p><strong>手办粘土</strong></p><p><img src="/img/201802/japan_trip_kimi_nendroid.jpg" alt="粘土"></p><p><img src="/img/201802/japan_trip_kimi_figure.jpg" alt="手办"></p><p>Good Smile Company 出的 Q 版粘土和比例手办,粘土有现货淘宝不到 200 元,手办预计 3 月底发货。楼主已经在 otakumode 网站上预订,淘宝卖 500 出头,这里订单写着 83 美刀是原价,经常做全场返现 20% 活动,黑五圣诞促销季甚至达到 40% - 50%,活动下来就很便宜了,楼主这个三叶就是用之前返现的钱买的,凑单满 150 刀可全球包邮。顺便说下 otakumode 在天猫也有店,叫“东京宅”,没怎么做活动所以人气不旺。</p><p><img src="/img/201802/japan_trip_kimi_figure_preorder.png" alt="订单截图"></p><h1 id="秒速五厘米"><a href="#秒速五厘米" class="headerlink" title="秒速五厘米"></a>秒速五厘米</h1><p><img src="/img/201802/japan_trip_5cm_ending.jpg" alt="结局对比"></p><blockquote><p>樱花掉落的速度 秒速五厘米<br><br><br>该以怎样的速度活着 才能与你再次相见?</p></blockquote><p>2007 年上映的《秒速五厘米》是新海诚第三部公开电影作品,BD/DVD 合计销量超过 10 万本、小说版 10 万部、漫画版 13 万部,属于相对小众的文艺小清新作品。</p><p>同样的地点,同样的樱花飘落的季节,曾经如此亲密的两小无猜,如今却纵使见面不相识,令人唏嘘。这是一部限时赏味的电影,当你不再青春很难再融入这样的剧情中;待到长大后,慢慢品尝到各种人生滋味,你就会像最后男主角贵树那样,微微一笑地不经意想起生命中曾经还有这么一个女孩儿,但已没有了曾经那种不顾一切都要相见的执着和勇气。仅仅在记忆中泛起一丝涟漪,抑或心里早已向现实妥协没有丝毫反抗的力气。</p><p>让人感叹岁月的力量过于强大,无从反抗,想想儿时多少无话不说好友由于后来搬迁、升学等不可抗拒愿意而分离。此后大家的人生早已像火车一样驶往不同方向,再无交集,纵使若干年后再见面早已沦为陌生人,不知该说什么。就如本作的副标题“a chain of short stories about their distance”,距离渐行渐远。</p><h2 id="取景地一览-1"><a href="#取景地一览-1" class="headerlink" title="取景地一览"></a>取景地一览</h2><p>东京都内:</p><ul><li>叁宫桥站 - 第一话〈樱花抄〉登场</li><li>代代木八幡神社 - 第一话〈樱花抄〉登场</li><li>豪德寺车站 - 第一话〈樱花抄〉登场</li><li>西新宿 - 第三话〈秒速五厘米〉的舞台</li><li>新宿御苑 - 第三话〈秒速五厘米〉的登场</li><li>新宿NTT DoCoMo代代木大厦 - 第三话〈秒速五厘米〉的登场</li></ul><p>栃木县(距离东京一百多公里):</p><ul><li>岩舟町 - 第一话〈樱花抄〉的舞台,两人大雪中见面地点</li><li>两毛线 - 第一话〈樱花抄〉登场</li></ul><p>鹿儿岛(日本最南端):</p><ul><li>中种子町 - 第二话〈宇航员〉的舞台</li><li>鹿儿岛县立中种子高等学校 - 为〈宇航员〉主要舞台的高校</li></ul><p>由于地点众多,一般游客首选去【叁宫桥站】附近铁路交叉点,是开头和结尾两人交错而过的地方。往前再走 500 米左右还有【代代木八幡神社】,那是他们小时候上学路上经过的地方。</p><p><strong>攻略参考</strong>:</p><ul><li><a href="http://blog.livedoor.jp/touyokojunrei-yokofuji3/archives/61659418.html" target="_blank" rel="noopener">秒速5センチメートル 舞台探訪(聖地巡礼)都内近郊編</a></li><li><a href="http://lvbanwe.lofter.com/post/1d9d4771_96c0378" target="_blank" rel="noopener">秒速五厘米中的取景圣地巡礼</a></li></ul><h2 id="叁宫桥铁道交叉点实拍"><a href="#叁宫桥铁道交叉点实拍" class="headerlink" title="叁宫桥铁道交叉点实拍"></a>叁宫桥铁道交叉点实拍</h2><p><img src="/img/201802/japan_trip_5cm_map.jpg" alt="叁宫桥附近地图"></p><p><strong>交通方案</strong>:坐私营【小田急线】到达上面地图中间上方的【叁宫桥】站,出站后先去图中标注 ① 和 ② 地点;然后沿着铁路到第一个交叉点 ③,那是小时候他们相会的路口;再沿着铁路到第二个交叉点 ④,那是他们长大后相见不相识的路口。有时间的再往前走到 500 米左右还有【代代木八幡神社】,那是他们小时候上学路上经过的地方。</p><p>不包括交通的建议游览所需时间约 2 小时。接着可步行去【明治神宫】和【代代木公园】,去代代木公园的话还可以顺便去地图右下角两个《刀剑神域:序列之争》剧场版取景地打卡;或者可以去【新宿】,那是繁华的商业区应有尽有。</p><p>地点 ① (坐标:35.679225,139.692262)和 ② (坐标:35.678674,139.692915),他们上学经过的地方。 </p><p><img src="/img/201802/japan_trip_5cm_childhood.jpg" alt="上学路上"><br><img src="/img/201802/japan_trip_5cm_childhood2.jpg" alt="上学路上"><br><img src="/img/201802/japan_trip_5cm_childhood3.jpg" alt="上学路上"></p><p>遗憾的是 ③(坐标:35.677681,139.693048)走过头了没去到,补充一张上面提到一个日本博主拍的,构图还原度比楼主高多了。</p><p><img src="/img/201802/japan_trip_5cm_crossing00.jpg" alt><br><img src="/img/201802/japan_trip_5cm_crossing0.jpg" alt></p><p>影片结尾的铁道交叉口 ④(坐标:35.6759156,139.6933813)</p><p><img src="/img/201802/japan_trip_5cm_crossing3.jpg" alt><br><img src="/img/201802/japan_trip_5cm_crossing2.jpg" alt></p><p><img src="/img/201802/japan_trip_5cm_crossing.jpg" alt><br><img src="/img/201802/japan_trip_5cm_crossing4.jpg" alt></p><p>交叉口 ④ 的对面看过来的样子,明里视角。注意男主左边一辆红色的车,10 多年过去了的 2018 年楼主去拍的时候还是那辆车,还是停在那个位置,这有多少年没换车了。。。</p><p><img src="/img/201802/japan_trip_5cm_crossing_opposite3.jpg" alt><br><img src="/img/201802/japan_trip_5cm_crossing_opposite2.jpg" alt><br><img src="/img/201802/japan_trip_5cm_crossing_opposite.jpg" alt></p><p>经过时顺便拍的铁路</p><p><img src="/img/201802/japan_trip_5cm_railroad.jpg" alt></p><h1 id="灌篮高手"><a href="#灌篮高手" class="headerlink" title="灌篮高手"></a>灌篮高手</h1><p><img src="/img/201802/japan_trip_sd_op2.jpg" alt><br><img src="/img/201802/japan_trip_sd_op.jpg" alt></p><p>湘北高中的原型其实是武藏野北高中,镰仓高中是陵南的原型,但是动漫版灌篮高手 OP 校外取景地在镰仓高中附近,所有有点混乱。需要转乘至少两次电车大概 70 分钟左右车程,在【江之岛电铁】的【镰仓高校前站】下车。所以单独去一趟肯定是不划算的,镰仓市佛教圣地拥有众多寺庙,江之岛也不错,可以顺便去参观。楼主定了镰仓一个传统和服结婚摄影外拍,本来打算拍完去镰仓高中的,结果拍完都下午两点多,只能匆匆赶去拍个照打卡。</p><p>动画片头那个电车交叉路口,灌篮高手这么多年过去了人气依然很旺,大部分是中港台的旅客,少部分日本当地游客。楼主去的时候大概下午三点还下着毛毛雨,人们依然热情不减,起码十几组以上的人在等电车经过,然后一阵上前狂拍。那个路口一直有车驶过,有些游客挡着交通比较危险,所以大家去的时候一定要注意前后有没车,不要站在路中间拍摄。</p><p><img src="/img/201802/japan_trip_sd_crossing.jpg" alt><br><img src="/img/201802/japan_trip_sd_crossing2.jpg" alt></p><blockquote><p>关于镰仓高校:平常是关门不允许外人进去的,寒假、暑假为了方便学生们社团活动会开门,但也会有牌子写着外人不许入内。网上有部分游客无视标语入内拍摄,不建议效仿。</p></blockquote><p>动画版中湘北众人训练的海滩。</p><p><img src="/img/201802/japan_trip_sd_sea2.jpg" alt><br><img src="/img/201802/japan_trip_sd_sea.jpg" alt></p><p>随便补充几张。下车地点,非常小的一个站,出站往前走十几米就到交叉路口了。</p><p><img src="/img/201802/japan_trip_sd_station.jpg" alt></p><p>抓拍到镰仓高校高中妹子,估计刚参加完社团活动。</p><p><img src="/img/201802/japan_trip_sd_crossing4.jpg" alt></p><p>还捕捉到两个穿和服的妹子,当天是 1 月 5 号,估计是去附近神社参拜的。</p><p><img src="/img/201802/japan_trip_sd_crossing3.jpg" alt></p>]]></content>
<summary type="html">
<p>日本是动漫圣地,从小到大相信有不少作品伴随着我们的成长并留下了不少感动的瞬间。那么去日本旅游的时候可以把曾经感动过你的动漫列入旅行计划中,去探访一下动漫中刻画的场景,让二次元走进三次元的世界。</p>
<h1 id="你的名字"><a href="#你的名字" class="headerlink" title="你的名字"></a>你的名字</h1><p><img src="/img/201802/japan_trip_kimi_poster.jpg" alt="你的名字海报"></p>
<blockquote>
<p>梦里相逢人不见<br><br>若知是梦何须醒<br><br>纵然梦里常幽会<br><br>怎比真如见一回<br><br><br>——平安时代诗人,小野小町</p>
</blockquote>
</summary>
<category term="Life_Style" scheme="http://tsuinte.ru/categories/Life-Style/"/>
<category term="日本游记" scheme="http://tsuinte.ru/tags/%E6%97%A5%E6%9C%AC%E6%B8%B8%E8%AE%B0/"/>
</entry>
<entry>
<title>日本旅游(一):顺路配眼镜</title>
<link href="http://tsuinte.ru/2018/japan-trip-buy-glasses/"/>
<id>http://tsuinte.ru/2018/japan-trip-buy-glasses/</id>
<published>2018-01-29T11:00:00.000Z</published>
<updated>2024-02-07T04:34:57.406Z</updated>
<content type="html"><![CDATA[<p>现在出国旅游已经成为家常便饭,那么除了去那些热门景点打卡外,相应地我们也可以办一些“日常”事,更深入的贴近当地普通人生活,或许会带来不同的感受。现在电子商务这么发达,普通的购物随时都可以在网上买然后转运到家,日本亚马逊很多商品甚至支持直邮。但是服务业就不一样,必须亲身去体验、感受和交流,而无微不至的服务正是日本的长处。我认为中国商人同样勤劳与智慧,只是社会整体发展水平使得大多数人仍然处于追求低价、解决有无的阶段,所以现阶段日本的很多中端以上服务业仍然有优势,价格更便宜且服务水平更高。</p><p>所以近视的朋友到日本旅游还可以顺路去配一副眼镜,快时尚&开放选购模式的 JINS 在国内一副普通近视镜卖 399 起,日本当地 5000 日元起(约 300 人民币),日本当地使用的是 HOYA(豪雅)非球面镜片(国内单配 HOYA 镜片都要差不多七百),而且连 1.74 折射率的镜片都不用加钱。此外:</p><ol><li>定价简单。日本眼镜店套装镜片大都是 HOYA、NIKKON、SEIKO、TOKAI 等等日本本地著名品牌非球面精品,带防紫外、防泼水、防反射镀膜,起点已经很高,所以都没有其它镜片选项。就算选最低端 5000 日元的眼镜套装,镜片品质都不会受影响</li><li>最快 30 分钟可以拿到眼镜。选好镜框后,验光约 15 分钟,然后去商场逛逛 30 分钟后回来拿眼镜,全程可控制在 1 小时以内</li><li>镜框款式多,还有很多动漫合作款式</li><li>镜片选项多。一般加 5000 日元可以选防蓝光、渐进双焦点、太阳变色、驾驶用、偏振等等,满足各种功能需要</li><li>开放式购物环境,自由试戴自由挑选,没有店员来询问你。楼主最怕那种特别热情的店员,最希望安静的自己研究。实际上在合适的时机向顾客搭话是对店员的一项要求,在和真配镜后的反馈问卷就有一项,店员搭话时机是否合适,有没有太早或太晚</li><li>最后,游客买可以免税</li></ol><a id="more"></a><h1 id="店铺介绍"><a href="#店铺介绍" class="headerlink" title="店铺介绍"></a>店铺介绍</h1><p>眼镜现在成为快时尚商品,在你逛街的商业区附近肯定有多家眼镜店,用谷歌地图搜搜就知道了。</p><h2 id="JINS-睛姿"><a href="#JINS-睛姿" class="headerlink" title="JINS 睛姿"></a>JINS 睛姿</h2><p><img src="/img/201801/japan_glasses_jins.jpg" alt="JINS"></p><p>JINS 是日本最大的连锁眼镜店,在国内也有不少店铺。款式多样,价格从 5000 - 10000 日元左右,统一使用 HOYA 非球面镜片,带防紫外、防泼水、防反射镀膜。选购只需要关心镜框是否适合自己,种类非常非常多,板材的、金属的、钛合金的,复古的潮流的应有尽有。普通消费者首选。</p><p><img src="/img/201801/japan_glasses_airframe.jpg" alt="JINS AirFrame"></p><p>主打是 AirFrame 系列,特点是使用 TR-90 材质超轻而且具有弹性,变形后可恢复形状。部分眼镜腿使用橡胶材质,可以自己随意弯曲改变形状。</p><p><img src="/img/201801/japan_glasses_bluecut.jpg" alt="JINS防蓝光"></p><p>还有 JINS SCREEN 电脑防蓝光系列,可以减少 25% 至 40% 有害蓝光,保护眼睛。防蓝光需要加 5000 日元。</p><p><img src="/img/201801/japan_glasses_jinkela.png" alt="金坷垃刻字"></p><p>还可以利用他们的 APP 或者网站自己设计镜架,叫做 JINS PAINT,带镜片只要 8000 日元。可以自定义镜框颜色和镜腿花纹图案,带有大量预置图案,甚至支持图片上传、打印英文和假名。上图就是楼主设计的金坷垃款,黄色代表土地,绿色代表庄稼,黑色代表吸收两米下氮磷钾后变成黑土地,<strong>戴了每天代码能写一千八</strong>。</p><p><img src="/img/201801/japan_glasses_osomatsusan.jpg" alt="阿松合作款"></p><p>此外还有各种脑洞款,例如防花粉款、带储水盒的保湿镜框等等。还会时不时和热门动漫作品联动,例如现在就有和《姆明一族》的合作款,也有和《阿松》合作可自行通过 JINS PAINT 加入阿松的图案,而且价格也就是 5000 - 8000 日元,非常实惠。遗憾的是每幅眼镜只能选一个角色,要凑 CP 的只能买两副了,果然是奸商。</p><p>JINS 也支持网购,输入自己眼镜度数即可,通过转运公司可以海淘。</p><h2 id="Zoff-佐芙"><a href="#Zoff-佐芙" class="headerlink" title="Zoff 佐芙"></a>Zoff 佐芙</h2><p>定位和 JINS 差不多,售价 5000 - 12000 日元,款式也很丰富。唯一不好的地方是标配球面镜片,非球面需要加 5000 日元,所以不是很推荐。</p><h2 id="Washin-和真"><a href="#Washin-和真" class="headerlink" title="Washin 和真"></a>Washin 和真</h2><p><img src="/img/201801/japan_glasses_washin.jpg" alt="和真新宿店"></p><p>国内知名度比较低仅天津有一家店铺,不过这也是一家有 60 多年历史的老店,论销售业绩大概只有 JINS 的五分之一。价格比 JINS 略高,主打套餐为 13800 自主品牌镜框和 18000 日元大牌镜框,大牌包括 ck、converse 等等。<strong>自主品牌镜架全部是日本眼镜产业发源地福井鯖江制造</strong>,不像 JINS 那样很多是日本设计但外包中国生产的,所以定价贵一点。</p><p>楼主选和真因为它家有 1.5 折射率的镜片,其它 JINS、Zoff 都是 1.6 起步。楼主度数 300 左右用 1.5 折射率的足够了,最重要的是 1.5 的光学性能最好,下面一章会详细讲。</p><p><img src="/img/201801/japan_glasses_washin_miku.jpg" alt="和真动漫初音款"></p><p>还有个原因是它家有初音未来合作款,不像 JINS 多数仅仅是在眼镜腿印上花纹,和真的合作款眼镜都是全新设计,因此价格高出不少。例如 JINS 《阿松》款只要 8000 日元带镜片,而和真初音款需要约 13000 日元带平光防蓝光镜片,近视镜片要另外加 10000 日元配,价格是 JINS 的三倍。此外还有《海贼王》、《攻壳机动队》、《红猪》的合作款,每款都诚意十足。</p><p><img src="/img/201801/japan_glasses_collaboration.jpg" alt="和真动漫合作款"></p><h2 id="其它"><a href="#其它" class="headerlink" title="其它"></a>其它</h2><p><img src="/img/201801/japan_glasses_tai_hachiro.jpg" alt="八郎谨制"></p><p>其它还有定位更高一点的商务风【眼镜市场】(也有定位低端的副牌 Alook),拥有超过 130 年历史迷倒约翰列侬的高逼格【白山眼镜】等等。更高端的福井鯖江匠人纯手工打造的眼镜框,例如【八郎谨制】,不带镜片也就两三万日元起,且需要提前三个月预定,比起奢饰品品牌不算贵,逼格又高。如果说奢饰品是成功人士身份地位的象征,那么这种日本匠人手工制品就是文艺青年及技术宅的首选,低调又显得与众不同,给自己体内的工匠精神信仰充充值。</p><blockquote><p>“工匠精神”这个词已经烂大街了,但国内品牌目前普遍还停留在口号的阶段。但我不认为国内的厂商就是奸商,当中国像发达国家一样富足,消费者对商品各个细节越加挑剔的时候,所谓的“工匠精神”就会自然产生。说到底精益求精只是厂商为了在竞争激烈的饱和市场中多赚钱而迫不得已迎难而上的结果,如果随随便便 9.9 包邮就能赚到盘满钵满,何必费这个心思呢?反之产品价格超出市场普遍需求太多的话,国内的“工匠”也只有饿死。所以现阶段对质量有更高要求的消费者更多的关注国外的高端品牌,这也是近年来消费升级、海淘兴起的原因,毕竟国外品牌还有国外市场作为主要支撑。</p></blockquote><h1 id="选购"><a href="#选购" class="headerlink" title="选购"></a>选购</h1><p>镜架质量方面不需要担心,选购自己喜欢的就行,楼主就选了初音未来合作款。一般建议眼镜两年更换一次,而且现在换眼镜越来越方便,眼镜也成为类似于服装的快时尚商品,个人觉得没必要选太贵的。镜片方面楼主谈谈自己的看法。</p><h2 id="阿贝数"><a href="#阿贝数" class="headerlink" title="阿贝数"></a>阿贝数</h2><p>阿贝数用来描述镜片的色散特性,不应低于30,以保证色彩条纹不损害周边视觉,过低会使物体边缘看出七色彩虹的感觉。我们买看镜头档次常常看其含有多少片低色散镜片,高端长焦镜头会加入萤石镜片降低色散,其阿贝数高达 95.3。镜片光学性能仅与材料相关,所以材料就决定了折射率和阿贝数,通常折射率越高阿贝数越低,也就是色散会越严重。其它防水、防 UV、硬化防划伤、防反射都是表面处理工艺,让镜片更容易使用,与光学性能无关。</p><p>高折射率的好处是轻和薄,深度近视的当然需要使用高折射率镜片。但对于 400 度以下的全框眼镜厚度感知不明显,<strong>应该优先选用 1.5 折射率的镜片</strong>,其光学性能最好,阿贝数鹤立鸡群达到 58;在意厚度的半框或者无框眼镜可以选择 1.6 折射率,阿贝数仅次于 1.5。</p><table><thead><tr><th>折射率</th><th>阿贝数</th><th>推荐度数</th></tr></thead><tbody><tr><td>1.5</td><td>58</td><td>400 以下</td></tr><tr><td>1.55</td><td>36</td><td>不推荐,不如上 1.6</td></tr><tr><td>1.6</td><td>40</td><td>600 以下</td></tr><tr><td>1.67</td><td>31</td><td>800 以下</td></tr><tr><td>1.74</td><td>31</td></tr></tbody></table><h2 id="防蓝光"><a href="#防蓝光" class="headerlink" title="防蓝光"></a>防蓝光</h2><p>个人认为有点概念炒作的味道,至今没有确切的科学依据说明蓝光会损害眼睛,况且眼镜疲劳了就应该休息一下。关键是减少蓝光意味着看到不是真实色彩了,画面肯定偏暖色调(黄色),对色彩还原有要求的千万不能戴。</p><h2 id="非球面"><a href="#非球面" class="headerlink" title="非球面"></a>非球面</h2><p>非球面镜片会轻薄一点、图像失真小一点,尽量选择非球面的镜片。例如 JINS 标配非球面镜片,Zoff 要加 5000 日元才行,同等价钱肯定非球面的要好。</p><h1 id="配眼镜体验"><a href="#配眼镜体验" class="headerlink" title="配眼镜体验"></a>配眼镜体验</h1><h2 id="深圳"><a href="#深圳" class="headerlink" title="深圳"></a>深圳</h2><p><img src="/img/201801/japan_glasses_loho.jpg" alt="LOHO验光"></p><p>在深圳的 LOHO 眼镜生活配过一次,之前都是在小县城眼镜店配的,感觉验光机先进了很多,而且验光师看起来比较专业。之前在小县城眼镜店好像就是验光机一测,然后 E 字视力表再戴插片眼镜看看就完事了。这里的会先测量你旧眼镜的度数,然后还会做 AB 对比测试精确确定你的散光度数。当时觉得很先进,但现在都是行业标配了。镜架花了 200 多,镜片选了 HOYA 1.5 折射率的,加起来花了 900 左右,总体感觉中规中矩。</p><h2 id="新西兰"><a href="#新西兰" class="headerlink" title="新西兰"></a>新西兰</h2><p><img src="/img/201801/japan_glasses_specsavers.jpg" alt="SpecSavers验光"></p><p>后来去了新西兰又在当地的 SpecSavers 眼镜店配过一次,这是一家总部在英国的眼镜连锁店,在欧洲、澳大利亚、新西兰都有很多店铺。那时刚去那边不久,首先感觉震惊的是<strong>验光要提前几天预约的</strong>,直接走进去验光想都别想!验光师非常专业,是医科毕业的,销售的事情完全不管,有点像驻店医师的感觉。使用的仪器也很多,因为他们除了验光还做眼睛检查,包括视网膜成像,视力神经及血管检查,查出问题会转介到专科医生做进一步检查。插片验光方面时间是这三次体验之中最长的,有很多 AB 对比、看字母、看红绿颜色,确定哪个设置更清晰。</p><p>眼镜套装从 69 新西兰元(约 320 人民币)起,标配宾得镜片,但低价镜框选择太少了,十个手指头都数的过来。那些 200 刀以上的所谓 designer 镜框也不咋好看,真心不愿意为不好看的设计花这么多钱,最后买了一副 130 刀(约 600 人民币)左右的算了。</p><h2 id="日本"><a href="#日本" class="headerlink" title="日本"></a>日本</h2><p><img src="/img/201801/japan_glasses_washin2.jpg" alt="和真新宿店"></p><p>然后就是这次去日本旅游配镜,去了和真新宿本馆。去一楼前台询问仅仅换镜片该怎么办,然后被领到三楼检查视力。前面有两个人在检查,所以工作人员让我稍等,需要半个小时左右。首先帮我检查旧的眼镜度数,过程中还不声不响的把我的旧眼镜用超声波清洗、擦亮,把眼镜的螺丝上紧,而且是默默的做的。接待的是一位 30 岁左右的女生,说话声音感觉细声软语(除了吆喝欢迎光临的一般都这样),我日语虽然过了 N1 但口语表达能力一般,工作人员善意地特别放慢语速。后来还联络了一位能说中文的工作人员,是个年轻女生。</p><p><img src="/img/201801/japan_glasses_washin3.jpg" alt="和真验光区"></p><p>首先是用电脑验光仪测量,就是途中左边那个机器,一下子就完了。然后去另外一个机器插片验光,就是把眼镜调节成需要的度数去实际试看视力表。在中国和新西兰看到的<strong>视力表都是 E 字的就觉得应该是世界通用的吧,结果它家不走寻常路是平假名的</strong>,给一串随机组合的平假名问你是否能读出来。不懂日文的也不用担心,你只要回答能否看清楚,对比的回答前面一个还是后面一个更清楚就行;我这次也有中文工作人员陪同。然后验光师解释说配镜是按照验出度数减 25 度配的,度数没有变化,散光在有和没有之间建议不用加散光度数。仅换镜片是 10000 日元,不比 13800 的带镜框套餐便宜多少,1.5 至 1.74 折射率价钱都一样,楼主当然是选 1.5 的,蓝光啥的一概不加。说要一个多小时后才能取,就干脆第二天再取了。</p><p><img src="/img/201801/japan_glasses_washin4.png" alt="和真眼镜调整"></p><p>本来以为取镜片很简单,但其实它们还帮你调整镜架使其更容易佩戴。我的眼镜就调整了眼镜腿的弯曲度,原来是比较直的,工作人员用机器加热塑料然后掰弯一点,让你试戴到满意为止。日本人真的很喜欢各种颜色,像优衣库衣服经常像颜料一样五颜六色都有,和真的眼镜布也有 10 种颜色让你选择。最后是解释了一下如何保养眼镜和保修规则,保养说明还贴心的制作了中文版。<strong>保修是一年内质量问题包换,半年内度数不合适可以免费更换,人为损坏情况下一年内半价更换</strong>。感觉日本的服务人员都很耐心的向每个顾客都详细介绍那些注意事项,服务态度也非常好。</p><p>总结起来国内的服务中规中矩,个别工作人员推销行为比较明显,总希望你升级到更贵的,有主见的消费者还是能买到合适的产品。新西兰的热情友好,逛一会儿就走过来问 Are you OK,包括路人与超市收银员普遍时常面带真诚的笑容,让人感觉轻松,相应的工作效率比较低,验光要预约,取眼镜要隔几天。日本的比较省心,普通套餐质量已经足够好,价格适中,款式、功能应有尽有,产品差异化做的很好;服务非常体贴入微,可见行业竞争之激烈,只有靠高水平服务才能赢得消费者。下面放几张眼镜实拍:</p><p><img src="/img/201801/japan_glasses_lenses.JPG" alt="镜片+中文说明"></p><p>TOKAI 1.5 折射率镜片和中文使用说明书,中文叫东海,也是日本一家大型镜片厂商。</p><p><img src="/img/201801/japan_glasses_warranty.JPG" alt="保修卡"></p><p>保修卡,由于楼主仅买了镜片,工作人员还给镜框一年保修那栏打叉了。</p><p>眼镜是 13 还是 14 年买的盒子有点变色了,因为是平光的买回来一直没用过,打算哪天配个好点的镜片,结果等到现在回到本家和真配了镜片。当时这个初音限量款出了之后犹豫了一下结果不久就没货了,等到再版终于下手,用转运公司运回来,那一版完了之后就真的不再生产了。当时 13000 日元左右,现在淘宝还有一家卖 4190 人民币。现在入的话建议千本樱或者 V4X 款,特别是 V4X 设计和这个 Project DIVA F 游戏合作款差不多。</p><p><img src="/img/201801/japan_glasses_miku.JPG" alt="眼镜盒"></p><p><img src="/img/201801/japan_glasses_miku2.jpg" alt="眼镜盒"></p><p><img src="/img/201801/japan_glasses_miku3.JPG" alt="眼镜布"></p><p><img src="/img/201801/japan_glasses_miku6.JPG" alt="眼镜正面"></p><p><img src="/img/201801/japan_glasses_miku4.JPG" alt="眼镜侧面"></p><p><img src="/img/201801/japan_glasses_miku5.JPG" alt="眼镜侧面"></p><p><strong>后记:</strong></p><p>这是楼主 2018 年元旦期间日本旅游游记第一篇,不按照日程而按照事件来归类描写。下一篇将写动漫游记,包括探访《你的名字》、《秒速五厘米》拍摄地、哆啦A梦博物馆等等。</p><hr><p>本博客微信公众号</p>]]></content>
<summary type="html">
<p>现在出国旅游已经成为家常便饭,那么除了去那些热门景点打卡外,相应地我们也可以办一些“日常”事,更深入的贴近当地普通人生活,或许会带来不同的感受。现在电子商务这么发达,普通的购物随时都可以在网上买然后转运到家,日本亚马逊很多商品甚至支持直邮。但是服务业就不一样,必须亲身去体验、感受和交流,而无微不至的服务正是日本的长处。我认为中国商人同样勤劳与智慧,只是社会整体发展水平使得大多数人仍然处于追求低价、解决有无的阶段,所以现阶段日本的很多中端以上服务业仍然有优势,价格更便宜且服务水平更高。</p>
<p>所以近视的朋友到日本旅游还可以顺路去配一副眼镜,快时尚&amp;开放选购模式的 JINS 在国内一副普通近视镜卖 399 起,日本当地 5000 日元起(约 300 人民币),日本当地使用的是 HOYA(豪雅)非球面镜片(国内单配 HOYA 镜片都要差不多七百),而且连 1.74 折射率的镜片都不用加钱。此外:</p>
<ol>
<li>定价简单。日本眼镜店套装镜片大都是 HOYA、NIKKON、SEIKO、TOKAI 等等日本本地著名品牌非球面精品,带防紫外、防泼水、防反射镀膜,起点已经很高,所以都没有其它镜片选项。就算选最低端 5000 日元的眼镜套装,镜片品质都不会受影响</li>
<li>最快 30 分钟可以拿到眼镜。选好镜框后,验光约 15 分钟,然后去商场逛逛 30 分钟后回来拿眼镜,全程可控制在 1 小时以内</li>
<li>镜框款式多,还有很多动漫合作款式</li>
<li>镜片选项多。一般加 5000 日元可以选防蓝光、渐进双焦点、太阳变色、驾驶用、偏振等等,满足各种功能需要</li>
<li>开放式购物环境,自由试戴自由挑选,没有店员来询问你。楼主最怕那种特别热情的店员,最希望安静的自己研究。实际上在合适的时机向顾客搭话是对店员的一项要求,在和真配镜后的反馈问卷就有一项,店员搭话时机是否合适,有没有太早或太晚</li>
<li>最后,游客买可以免税</li>
</ol>
</summary>
<category term="Life_Style" scheme="http://tsuinte.ru/categories/Life-Style/"/>
<category term="日本游记" scheme="http://tsuinte.ru/tags/%E6%97%A5%E6%9C%AC%E6%B8%B8%E8%AE%B0/"/>
</entry>
<entry>
<title>VR设备前景展望</title>
<link href="http://tsuinte.ru/2017/the-future-of-vr/"/>
<id>http://tsuinte.ru/2017/the-future-of-vr/</id>
<published>2017-11-27T11:00:00.000Z</published>
<updated>2024-02-07T04:31:23.958Z</updated>
<content type="html"><![CDATA[<h1 id="VR设备现状"><a href="#VR设备现状" class="headerlink" title="VR设备现状"></a>VR设备现状</h1><p><img src="/img/201711/psvr-rift-vive.jpg" alt="三大VR设备"></p><p>游戏市场隔一段时间就要搞些新鲜事情出来,上个主机世代是运动体感,这个世代终于把 VR 设备推向了大众市场。PlayStation VR、HTC Vive、Oculus Rift 是目前三大 VR 设备,各自的具体参数如下表:</p><table><thead><tr><th></th><th>PlayStation VR</th><th>Oculus Rift</th><th>HTC Vive</th></tr></thead><tbody><tr><td>分辨率</td><td>1920x1080</td><td>2160x1200</td><td>2160x1200</td></tr><tr><td>刷新率</td><td>90Hz 120Hz</td><td>90Hz</td><td>90Hz</td></tr><tr><td>兼容性</td><td>PS4,PS4 Pro</td><td>PC</td><td>PC</td></tr><tr><td>特色</td><td>独占大作</td><td>比 HTC 便宜</td><td>领先的运动追踪技术</td></tr><tr><td>2017黑五套装价格</td><td>$334 <br> 赠送:Skyrim VR或GT Sports游戏</td><td>$349</td><td>$599 <br>赠送:Fallout 4 VR游戏</td></tr></tbody></table><a id="more"></a><p>可以看到 PlayStation VR 平台价格优势明显,特别是 PS4 主机价格相比 PC 便宜很多,黑五送两个游戏的 PS4 主机套装只要 $200,也就 PC 一块显卡的价钱。加上其安装相对简单、完成度相当高的包括索尼自己出品的 AAA 大作,毫无疑问会成为最受欢迎的重度游戏 VR 平台。诚然其他两个 VR 平台也各有千秋,特别是 HTC Vive 有先进的运动体感技术,将来可以在特定专业领域发挥优势,但是在价格、易用性、AAA 大作方面 PSVR 领先太多,其他细微差别其实无关痛痒。作为面向大众消费市场的产品,最后胜出的不一定是技术最先进的,在成本、易用性、内容生态系统各方面平衡的产品往往能笑到最后。螳螂捕蝉黄雀在后,微软最近推出了结合 AR 与 VR 的“混合现实” MR 设备,使用头显上的两个摄像头定位,降低了体感跟踪的安装复杂度与成本,估计以后 PC 平台是 MR 兼容设备的江湖。</p><p><img src="/img/201711/microsoft-windows-10-mr.jpg" alt="微软MR设备"></p><p>作为游戏平台最主要的是游戏素质,例如 3DS,这种史前画质的游戏机直到现在销量也不错,好玩的游戏大家不还是玩的不亦乐乎。从游戏开发商来说现世代做一个 AAA 游戏动辄需要几千万上亿美元的资金,去做一个用户基数小前途未卜的 VR 大作风险太大;但是没有好玩的游戏用户怎么会买账呢,这就陷入了死循环,这就是 PC VR 的现状。虽说很多游戏都是跨平台的,但通常 PC 是最后才出的,同一个游戏在 PC 平台上销量也是远远不如主机平台。换到在游戏主机平台上,由于有第一方这个亲妈,肯定至少会亲自推出或大力支持几个关系好的第三方作出几个大作来配合新技术推广,市场反应好的话更多第三方就会跟上,逐渐形成良性游戏生态。就像任天堂 Switch 刚开始没人看好,而现在各个厂商都忙着准备往上面移植自己的游戏。反之如果市场反应不好就不会再开发下一代了,但至少已经推出的游戏够玩一阵。</p><p>事实也证明了这点,PSVR 在 2017 年 6 月销量已经超过 100 万台,而根据 SuperData 的数据 HTC Vive 和 Oculus Rift 截至 2016 年底销量分别为 42 万和 24.3 万,差距非常明显。</p><p>PSVR 游戏方面也非常丰富,首发有生化危机 7,最近有还算不错的带体感枪的射击游戏 Farpoint,赛车游戏 Drive club 和 GT Sports,经典 RPG 上古卷轴天际,日本特色二次元方面也有夏日课堂、初音未来 VR Future Live 等等。尽管没有出现现象级的重磅游戏,但已经比其他平台好很多。</p><p><img src="/img/201711/farpoint.jpg" alt="Farpoint套装"></p><p><img src="/img/201711/miku_future_live.jpg" alt="初音未来 VR Future Live"></p><h2 id="今后市场估计"><a href="#今后市场估计" class="headerlink" title="今后市场估计"></a>今后市场估计</h2><p>移动 VR:</p><ul><li>三星 GearVR 已有 500 万销量,加上各种纸盒玩家 VR,用户低成本尝鲜用</li><li>由于门槛低可能成为 VR 视频平台首选</li></ul><p>PC VR:</p><p><img src="/img/201711/eva_arcade.jpg" alt="EVA街机游戏@新宿VR Zone"></p><ul><li>微软 MR 一统江湖,预计会把 SDK 集成进 DirectX,降低开发难度</li><li>专业行业应用的首选</li><li>替代部分显示器、电视的看电影需求,毕竟大城市寸土寸金搬家更是家常便饭</li><li>游戏第二发行平台,大量 VR 游戏会发布跨平台版;日式街机应该以 PC 平台为主,便于定制特殊外设。</li><li>如之前英伟达 3D Vision,所有游戏理论上都能简单 VR 化,相当于 3D 立体的增强版</li></ul><p>PSVR:</p><ul><li>最佳 VR 游戏发行平台,包含独占游戏像 Farpoint、GT Sports,和一些日系二次元游戏如初音</li><li>替代部分显示器、电视的看电影需求</li></ul><h1 id="VR设备技术"><a href="#VR设备技术" class="headerlink" title="VR设备技术"></a>VR设备技术</h1><h2 id="为什么VR对主机性能要求高"><a href="#为什么VR对主机性能要求高" class="headerlink" title="为什么VR对主机性能要求高"></a>为什么VR对主机性能要求高</h2><p>头部移动时画面必须能快速跟上切换视角,所以游戏渲染必须 90fps 不许掉帧,大致相当于 1080p@90fps。现在大部分 PS4 游戏能以 1080p@30fps,少部分能够到 1080p@60fps,PS4 Pro 优化良好的大作能做到 1080p@60fps 或假 4k。所以就算对于 PS4 Pro 性能还是非常吃紧,对于优化不到位的二线厂商只能降低图像质量或者降低分辨率了。</p><p>当然还有更多优化措施,要是厂商持续开发,有可能做到和 1080p@60fps 消耗的计算能力差不多,当然前提是市场对 VR 有持续的需求。例如从<a href="https://developer.nvidia.com/sites/default/files/akamai/gameworks/events/cgdc16/FunHouse_VRWorks_cn.pdf" target="_blank" rel="noopener">英伟达的 PPT</a> 可以看到有这几个技术(AMD 也有类似的):</p><p><strong>Multi-res Shading</strong></p><p><img src="/img/201711/vr_distortion.png" alt="图像形变"></p><p>由于人眼注意力主要集中在中央区域,边缘部分其实看不太清楚;加上显示在 VR 头显屏幕上的画面是经过变形的(上图右边),一些边缘像素会被裁掉,相当于渲染了不少永远不会显示在屏幕上的无用像素。利用这个特性可以把渲染画面划分成如下图所示的九个区域。中央区域全分辨率渲染,上下左右四个红色区域按照二分之一分辨率渲染,四个角落的区域进一步压缩到四分之一分辨率。</p><p><img src="/img/201711/multires-shading.png" alt="多分辨率着色"></p><p><strong>Single Pass Stereo</strong></p><p><img src="/img/201711/two_viewports.png" alt="多个观察口"></p><p>VR 眼镜包含两个 960x1080 的独立画面,一般来说需要单独渲染。但其实双眼看到的是同一个物体,仅仅是视角不同,利用这个特性可以仅渲染一次 960x1080 画面,然后类似 3D 电影拍摄一样多设置一个相机给另外一个眼睛观察。</p><p>英伟达 PPT 宣称第一个技术最多达到原来 1.5x 性能,而第二个技术可达到 2x,保守点估算 VR 的 960x1080x2@90fps 做到 1920x1080@60fps 的性能是可以期待的。主流的 Unreal、Unity 引擎已经支持这些技术,不少已发布的游戏也已采用,再假以时日开发人员优化到位的话性能会有所改观。</p><h2 id="VR原理"><a href="#VR原理" class="headerlink" title="VR原理"></a>VR原理</h2><p>VR 设备有三大块:头戴显示器、头盔传感器、体感。传感器和手机上那些一样的,加速度计和陀螺仪,成熟又便宜。体感方面各家技术略有不同,PSVR 则直接是上一代 PS3 的技术,摄像头设备发光的物体运动。头盔传感器跟踪头部运动,改变显示器的画面,模拟人在现实世界中移动头部观察物体的动作。体感跟踪人的肢体运动,PS Move 在游戏中会被虚拟成刀剑、球拍、盾牌等等物体。</p><p>头戴显示器也不是太高科技的东西,几十块的廉价手机 VR 眼镜就是两个透镜而已。所以头戴式显示器也就是一块手机级别的屏幕加上两个透镜,透镜的作用是放大画面使其看起来像坐在 2.5 米外看 200 寸屏幕的感觉。因为透镜放大了图像,所以 PSVR 那块 1080p 5.7 寸的屏幕虽然物理分辨率有 386PPI,变换成 200 寸大屏幕换算后 PPI 是很低的,远远达不到视网膜的水平。那为什么高端相机的电子取景器清晰度感觉好不少呢,难道是黑科技?不是的,例如 SONY RX100 M5 的取景器号称 240 万像素,真实分辨率也才 1024x768,只是用户看到的图像没有被放大多少,只占视野很小一部分,不像 VR 填满整个视野。</p><p><img src="/img/201711/vr_theory.png" alt="VR 显示原理"></p><p>VR 图像具体显示流程如上图,渲染后的画面经过变形成为第二步的“显示的图像”,经过头戴显示器的透镜后,变成最右边“用户看到的图像”。</p><h1 id="下一代理想的-VR"><a href="#下一代理想的-VR" class="headerlink" title="下一代理想的 VR"></a>下一代理想的 VR</h1><p>下面猜想主要对象为主机平台和 PSVR,其他阵营的水平应该类似。</p><h2 id="无线"><a href="#无线" class="headerlink" title="无线"></a>无线</h2><p>仅作为显示器使用问题还不大,要是加上运动体感那线缆就是灾难。无线传输的挑战主要在于带宽(延时只要信号好 1ms 不是问题),好在市面上已有合适的技术,只是成本和功耗问题。例如索尼上一代 3D 头戴式显示器 HMZ-T3W 就利用了 60GHz WirelessHD 1.1,电池能用 3 个小时。VIVE 也有第三方出品的无线套件 TPCAST,其使用了 5GHz 无线局域网传输,能用 5 个小时。</p><p>5GHz WiFi 双天线理论带宽也就 867 Mbps,所以 TPCAST 的图像必然经过了压缩,据说图像质量尚可。5GHz 的数据频道普遍为 40MHz,而 60GHz 的 WirelessHD 由于频率高数据频道达到 7000MHz,而数据带宽是和频宽直接相关的。WirelessHD 理论带宽达到 28Gbps,比 HDMI 1.3 的 10.2Gbps 和 DisaplayPort 1.2 的 21.6Gbps 都要高。频率高的缺陷是传输距离短,5GHz 明显比 2.4GHz 穿墙能力弱,到了 60GHz 基本只能无阻挡直线传输。当然好处是不用担心隔壁信号的干扰,因为根本传不了这么远!</p><p>算算下一代 3840x2160@90fps RGB888 刚好需要 18Gbps 带宽,无损图像压缩保守估计能达到 80% 压缩比就只要 14.3 Gbps,带宽还是比较宽裕的。所以无线传输用 60GHz 技术是最优方案,支持在同一个房间内小范围活动。2017 年 4 月 AMD 收购了同样做 60GHz 无线显示方案的公司 Nitero,要是能和 CPU 集成就能大大降低成本。</p><p>说句题外话,VR 的左右眼两个画面有很大一部分是相同的,可以只传左眼的完整画面,右眼仅包含和左眼不同部分的差分画面,估计能再降低 10-30% 带宽要求。</p><h2 id="分辨率"><a href="#分辨率" class="headerlink" title="分辨率"></a>分辨率</h2><p>没有比较就没有伤害,这些 VR 的分辨率放几年前肯定没人说不清晰,只是现在手机 ppi 那么高把大家都宠坏了,很难再回去。那么 VR 需要多高分辨率才能达到视网膜级别呢?乔布斯帮主定义了在手机观看距离下 300dpi 算视网膜屏,但要考虑到距离,对于观看距离远的要求会降低,例如 4K 分辨率的 iMac 只有 219 ppi 但也归入视网膜屏。再换个角度想,看手机时屏幕其实只占据视野很小一部分,而用同样 ppi 的手机想 VR 一样填满视野需要多大分辨率?</p><p>这里需要引入角分辨率 PPD 的概念,乔帮主把视角分辨率高于 57 的称为视网膜屏,就是说 1° 视角需要 57 像素。公式为</p><blockquote><p>2dr tan(0.5°) > 57</p></blockquote><p>d 是人眼距离屏幕的距离(厘米),r 是像素密度(像素每厘米)。我们知道 PSVR 大屏幕模式相当于在 250cm 处观看 226 英寸等效屏幕,代入上面公式算出屏幕像素密度需要大于 13 像素每厘米,知道 226 英寸等效屏幕的尺寸大概为 500cm x 282cm,可到分辨率为 6504x3658。就是说 PSVR 那个物理尺寸为 5.7 英寸的小屏幕需要 6k 级别分辨率才行,相当于 1309 ppi。稍微降低一点要求下一代 VR 能达到 4k 分辨率的话观看性会大大提高,踩到视网膜的门槛上。</p><p>现在 299 美元的微软 MR 设备已经达到 1440p,旗舰级手机分辨率也在这个水平。市面上有索尼推出了带 4k 屏幕的手机,只是价格太高而且只有部分 app 能以 4k 显示,估计两年内 4k 屏幕能作为主流旗舰手机配置。</p><p><img src="/img/201711/gpu_roadmap.png" alt="AMD PPT 系列"></p><p>要支撑 4k,相应的显卡性能也要达到现在的 PS4 Pro 的四倍以上,我们看看 AMD 的 GPU 路线图规划。我们知道 PS4 Pro 峰值功耗在 150W 左右,那么 GPU 最高只能 120W 左右,功耗再高的话体积、散热要求会大大提升。更高功耗意味着更高端的 GPU,显然游戏主机价格目标 399-499 美元无法负担得起。要提升性能必须提升晶体管密度,根据上面的路线图我们直接看下一个制程 7nm,对应产品代号仙后座 Navi,上市时间定在 2019 年左右。预测 150W 对应性能为 15 TFlops,而 PS4 Pro 为 4.2 TFlops,性能差不多够用。由此看来起码要 2019 年推出下一代主机才能在合理的价位达到 4k 要求的性能。</p><h1 id="我应该等吗"><a href="#我应该等吗" class="headerlink" title="我应该等吗"></a>我应该等吗</h1><p>任何电子产品都有进步和优化的空间,回过头看第一代产品总是很多缺陷的,但 PSVR 完成度还是很高的,游戏虽然没有超级大作,几个 AAA 级别游戏也能领先体现以下 VR。任何技术如果没人买就不会有下一代了,愿意尝鲜第一代不完美产品的可以购入,现在 PSVR 圣诞季促销只要 334 刀还带一个值 60 刀的游戏。根据现在技术发展,下一代产品最早也要 2019 年才会推出(如果还有下一代),第一代产品生命周期还有至少两年。可是 PSVR 发售半年销量仅 100 万台,想当年微软 Kinect 体感控制器发售两个月内卖出 800 万台,第一代共卖出 2400 万台,可以说前景堪忧。</p><p>VR 是很好的技术,作为显示设备是对上一代 3D 头戴式显示器的进一步发展,不仅能看到立体画面,还能像现实世界一样改变视角;体感技术则直接继承 PS3 时代的遗产。VR 特别适合赛车类游戏,可惜索尼自己的金字招牌 GT Sports 里也仅仅对 VR 做了象征性的支持;Farpoint 及其配套的 Aim Controller 也展示在第一人称射击类游戏中的潜在可能性,但论游戏性只有二三流水平;首发的全程 VR 游戏生化危机 7 也证明了 VR 在恐怖游戏中的优势。</p><p>我们知道游戏开发商完全摸透新游戏模式需要数年,几个版本游戏迭代才行,如果给 VR 多一点时间游戏体验肯定能大大提升,至少可作为高端玩家的配件存在。这也是符合 PS 系列高性能主机的定位,提供明显优于手机游戏的差异化特点,问题是索尼有无耐心与精力去经营这个细分市场。到了第二代可以推出有线的廉价版和无线豪华版覆盖更广泛市场,达到 4k 分辨率后作为显示设备可替代电视及投影仪,毕竟大城市房价这么贵空间有限。从最近的 GT Sports 赛车游戏看到不好的苗条,这个索尼第一方游戏仅仅支持在 VR Arcade 模式下使用,试想如果亲妈都不爱 VR 这个孩子,还有谁会爱呢?扩展这个市场需要第一方先带头作出优秀的游戏,吸引更多玩家入坑;第三方开发商看到市场火爆迅速跟上,使得游戏更加丰富。不然的话就是索尼已经认定第一代 VR 前景不大,在集中资源做第二代吧。</p><p>会到是否一样买这一代 VR 的问题,如果刚好有几个你喜欢的游戏,价钱又没有太多压力的话当然早买早享受,新技术也需要尝鲜者们的支持。毕竟现在看来市场前景不乐观,这样下去到不好第二代会被砍掉,就像 Kinect、PS Move 一样。普通用户可以在等两年看看,真的没第二代的话,到时二手捡的便宜的回来体验怀旧怀旧就够了。</p><hr><p>本博客微信公众号</p>]]></content>
<summary type="html">
<h1 id="VR设备现状"><a href="#VR设备现状" class="headerlink" title="VR设备现状"></a>VR设备现状</h1><p><img src="/img/201711/psvr-rift-vive.jpg" alt="三大VR设备"></p>
<p>游戏市场隔一段时间就要搞些新鲜事情出来,上个主机世代是运动体感,这个世代终于把 VR 设备推向了大众市场。PlayStation VR、HTC Vive、Oculus Rift 是目前三大 VR 设备,各自的具体参数如下表:</p>
<table>
<thead>
<tr>
<th></th>
<th>PlayStation VR</th>
<th>Oculus Rift</th>
<th>HTC Vive</th>
</tr>
</thead>
<tbody>
<tr>
<td>分辨率</td>
<td>1920x1080</td>
<td>2160x1200</td>
<td>2160x1200</td>
</tr>
<tr>
<td>刷新率</td>
<td>90Hz 120Hz</td>
<td>90Hz</td>
<td>90Hz</td>
</tr>
<tr>
<td>兼容性</td>
<td>PS4,PS4 Pro</td>
<td>PC</td>
<td>PC</td>
</tr>
<tr>
<td>特色</td>
<td>独占大作</td>
<td>比 HTC 便宜</td>
<td>领先的运动追踪技术</td>
</tr>
<tr>
<td>2017黑五套装价格</td>
<td>$334 <br> 赠送:Skyrim VR或GT Sports游戏</td>
<td>$349</td>
<td>$599 <br>赠送:Fallout 4 VR游戏</td>
</tr>
</tbody>
</table>
</summary>
<category term="键盘侠云评测" scheme="http://tsuinte.ru/categories/%E9%94%AE%E7%9B%98%E4%BE%A0%E4%BA%91%E8%AF%84%E6%B5%8B/"/>
<category term="游戏" scheme="http://tsuinte.ru/tags/%E6%B8%B8%E6%88%8F/"/>
<category term="VR" scheme="http://tsuinte.ru/tags/VR/"/>
</entry>
</feed>