情景

  • Rapberry Pi 2 一个
  • Mac OS X 系统

安装步骤

下载Rapberry Pi 2系统并解压

wget http://downloads.hypriot.com/hypriot-rpi-20151115-132854.img.zip
unzip hypriot-rpi-20151115-132854.img.zip

系统简介

Detailed Features of HypriotOS “Hector”
a modern operating system based on Raspbian Jessie
a recent Raspberry Pi firmware and Device Tree to support a huge range of hardware add-ons
a kernel optimized for Docker-awesomeness: Kernel 4.1.12 with support for OverlayFS
support for Raspberry Pi 1 & 2 with the same SD card image
Docker Engine 1.9.0
Docker Compose 1.5.1
Docker Machine 0.4.1
Docker Swarm 1.0.0
support for network hotplugging
out-of-the-box support for WiFi
support for Avahi (aka mDNS aka Apple Bonjour)
support for Open vSwitch
our own package repository to easily update individual components
	

检查下载是否正确

shasum -a 256 hypriot-rpi-20151115-132854.img.zip
089bc64fc5f050f263aa65a67fac5fe48f8721c51f8a31f3d96fa426bc04674d  hypriot-rpi-20151115-132854.img.zip

准备好一张容量最少4G 的microSD卡. 查找其系统编号

diskutil list
	...
	/dev/disk2
   	#:                       TYPE NAME                    SIZE       	IDENTIFIER
   	0:     FDisk_partition_scheme                        *4.0 GB     disk2
   	1:                 DOS_FAT_32 NO NAME                 4.0 GB   
   	...

这里为/dev/disk2,别看错.

取消挂载

diskutil unmountdisk /dev/disk2

写入系统到 SD 卡,设备名 disk2前有个字母 'r', 这样能加速写入

sudo dd if=hypriot-rpi-20151115-132854.img of=/dev/rdisk2 bs=1m
1430+1 records in
1430+0 records out
1499463680 bytes transferred in 112.464700 secs (13332750 bytes/sec)
	

sd 卡放在 pi 2上,启动吧.

sqlite3

使用场景

使用 pony 作为 orm读取 20w 条左右数据

取得所有字段,会自动封装成对象 select(u for u in User)

优化

只取需要的字段 select(u.id for u in User)

redis

使用场景

使用 redis.py 作为  写入 20w 条左右数据

m.incr('u_'+u[:7])
	

优化

使用连接池

pool = redis.ConnectionPool(host='127.0.0.1', port=6379, db=15)
m = redis.StrictRedis(connection_pool=pool)

使用批量提交

	
pipe = m.pipeline()
pipe.incr('u_'+u[:7])
pipe.set()
pipe.execute()

Ubuntu 14.04 在升级内核或是不安全断电情况下,重启后GRUB 会停留在系统选择界面,并不会自动超时,需要手动选择并按回车才能继续启动. 在不方便接触物理机或 VPS 远程开机时,是个很麻烦的事.

主要原因是/boot/grub/grub.cfg 把 timeout 设置成了'-1'.

  if [ "${recordfail}" = 1 ] ; then
   set timeout=-1
  else
   if [ x$feature_timeout_style = xy ] ; then
     set timeout_style=hidden
     set timeout=0
   # Fallback hidden-timeout code in case the timeout_style feature is
   # unavailable.
   elif sleep --interruptible 0 ; then
     set timeout=0
   fi
  fi

grub.cfg 会被重写覆盖,得修改/etc/default/grub,加入一行

  GRUB_RECORDFAIL_TIMEOUT=5

更新 grub.cfg

  update-grub

	

然后'-1'的设置会变更为'5',这样不用手动操作,系统会在5秒超时会继续启动,不再挂住.

#day 13-16 Istanbul

  • 8.2 - 8.6

Ankara 到 istanbul 是全程双向6车道标准高速O-4,平均时速110,除了快到时因几起别人的小车祸导致堵了一小会. 而且 HGS 好象没扣费的样子.

休息站特意去看了一下,价格还过得去,没国内那么狠.

AVIS 还车也很顺利. 这次自驾总里程约2700KM,租车费2400TL,油费1200TL. 不得不说这油价真的是太高了. 可能新车也费油点,加上全程空调不能停,平均油耗11左右了.

感觉上大部分游客都在这里了,热闹是真很热闹.

酒店带厨房,总算能做点对胃口的东西吃了. SOK 超市在附近就有三个,买的蔬菜味道相当不错. 肉主要是鸡肉,少量牛肉. 当然少不了便宜又好吃的樱桃等水果.

地下水宫没在通票内,不过值得下去看看.

大皇宫观景台看海峡. 坐船巡游会经过.

蓝色清真寺外的方尖碑.

只有一站的小火车.类似的还有二处,用于爬山并接驳地铁线路.单独收费. #tips

  • 找个人少的地方或自动售票机,先买好通票,不然排队时间很长.
  • 几个主要景点都在一起,市内交通一人一张交通卡,就能很方便的跑来跑去.
  • 香料市场价格要好一点.
  • 独立大街南边小店价格不错,可以买点纪念品之类.
  • 啤酒有点贵.

#day 12 Ankara

  • 8.1

回走70KM 左右的 D300,再走 E90. 可惜 E90估计是将来的名字,现在仍然是 D750编号,路况和 D300一样,除极少数几个点还在收尾, 路面都非常好,基本上能上100KM/H, 可惜现在还不是封闭高速路,当然也不收高速费.

出发稍晚了点,路上休息了小会,在盐湖又玩了一会,到达 Ankara 时近三点,饿得厉害,便在城堡里的小店吃了点东西. 虽然语言不通,但店家老奶奶和孙儿女们非常的热情,做出来的类似香河肉饼的东西,又便宜又好吃.

自驾建议经过盐湖时去玩一下,走 E90会经过,有指示牌.

#tips

  • 同时标注D 级及 E 级的道路,估计是在升级中,路况都还不错,暂时也不收费.

#day 10 Goreme

  • 7.30

D300一路过来,路况相当好,平均时速能上90. 一路主要是平坦的高原,路直得很,是最近开过最好的路.

Goreme 是个让人看一眼就感觉特别的地方. 洞窟酒店也相当有特色.

中午也总算吃到了瓦罐牛肉, 不然烤肉真要吃到吐了.

买了新的博物馆通票.

##tips

  • D300除了极少几个红灯以及维修收尾的地方,大部分都和高速路况差不多. 特别是放眼望去,是广阔的平坦高原,视野及风景都相当不错.
  • 石窟房间有点湿冷,另外要当心擦伤
  • 玩 ATV 要注意防灰,戴好墨镜.

#day 11 Goreme

  • 7.31

早上热气球是第二波. 比能看到日出的第一波晚了约半小时. 最大的三家没有订到.

上午去了另一个露天博物馆,下午绿线二个地下城. 通票果然好用.

晚上就在镇子里瞎逛.

##tips

  • 天空没什么云,太阳晒得很厉害,要防止晒伤
  • 加油感觉还是道达尔好点,一是价格稍便宜,二是会仔细帮你擦洗边上所有的玻璃,三是感觉上加的油经用一点
  • 如果玩的地方多,建议买通票.

#day 9 Konya

  • 7.29

到 konya 约300KM,只有最后100KM 不到的路比较好,大部分都在维修中.总路况比 D350强点,花了四个半小时.

宾馆就近找了一家. 消费水平也显明降低了不少.

按天书找饭店,串还不错,本地披萨也还成,象是肉饼.

晚餐则找了一家连锁的餐饮店,份量很足.

##tips

  • 烤的东西吃多了会比较腻,可以要个汤,沾面包吃
  • 水果便宜有好吃,早餐时可以多吃点,或者超市买
  • 果汁也很便宜
  • sok 超市相对比别的超市要更便宜点,比如饮用水

#day 8 Antalya

  • 7.28

一路 D350到 Antalya,大部分路段都在维修的样子,相当长一部分双向只有二车道. 是一路过来状况最差的一段路. 因为要经过长长的山区,估计比较长时间难有改善.

路过测速警察之前,碰到了对方车道闪大灯提醒. 考虑到路况,无法/也千万不要超速行使.

Antalya 有大城市的样子,比如有轨电车,shopping mall,塞车以及乱窜马路.

行程1140KM,中间加了100TL 油.

晚餐去了天书记载的饭店,人气很旺,菜单很 Q.

##tips

  • 考虑到时间,没有走 kas 风景路.但因为 D350糟糕的路况,200KM 走了三个半小时.
  • 对面来车大灯闪烁或滴滴,很可能是在提醒你前面有超速警察.
  • 有几个危险路口会显示你的当前速度以及限制速度,一般为50以下,请按指示限速,否则容易飞出去.如果真飞出去,估计也不用抢救了.
  • 午餐的烧烤拼盘是按人头算的,不是按份数. 语言沟通的确是是个大问题.