帐前卒专栏

code, software architect, articles and novels.
代码,软件架构,博客和小说

突然想到某人的一句话:“自动化标注比人工标注的准确率还高。”这句话早已不知出处,但现在想来的确有些可笑。首先标准答案是谁给出的呢?是程序还是人类?是人类的话
就说明人工标注的准确率是100%,何来比人工标注准确率还高的说法?如果是程序,程序现在都没有没有100%的准确率,又怎么做标准答案?不过如果说某个程序在一定
语义下的准确率,比某一个普通人的准确率高,这倒是很可信。可惜原文不是那么说的。

这次沙龙来的人很多,相比于上学期的举办而言很成功。不过场地有限仅容纳了70人。

和上学期相比改进之处在于:

1.请到了有经验的人,这些人倒并非什么专家或者极为成功的人。因为专家和成功本来就难以定义。但有出去的经验,打工的也好,创业的也罢,不管如何总是比学院派要多些
经验。

2.扩大宣传范围。不仅仅是技术部的沙龙,而且面向许多社区。至少在bbs,群里,beijing open party, perl-china, python-
cn, toplanguage 中做了些宣传。仅仅面向一个狭窄的群体,往往不能有太大的起色,或者沙龙越开人越少。面向多个社区往往有对技术或者对交流更感趣的听
众。也就是扩大了可能参与者的基数。

沙龙摘要如下:

1.22条商规。不知何书,但是嘉宾推荐n次。

2.深谋远虑,图小弃大。小事做精。小事是指别人不太愿花大力气做的事情,但事情还是有一定价值的。

3.B2C网站的产品:a)毛利20%以上,b)购买方便或者便宜,c)运输方便或者不易毁坏,d)单价在300~500,e)宜存储.

当然这些仅作为参考.

4.技术并非主要问题.

下期沙龙中需要改进之处:

1.统计得知信息的来源,以方便宣传

2.在网上使用count机制,来防止人员过多.120%~130%的量

3.现场登记名片,以备用.

** ** ** 图片由 WikiMedia 在 署名-相同方式共享 3.0 版权协议下提供 **

** ** ** 转自:aifreedom.com **

PET

你有没有注意过平时使用的饮料瓶上都有一个这样的标志, 它表示什么?

所有人都知道那个"箭头围成的三角形"表示它可以被回收再利用. 但圈里那个数字和下面的字母是什么呢?

这个顺时针旋转的箭头形成的三角形和它里面的数字一起, 叫做 [ 塑 胶分类标志 ](http://zh.wikipedia.org/wiki/��%
91%E8%86%A0%E5%88%86%E9%A1%9E%E6%A8%99%E8%AA%8C) ( Resin identification code
).

很多人误以为有这个标志就意味着这个塑料制品是可以回收的, 而这个数字表示这个材料被回收的难度或者频率. 其实这个数字只是一个编号,
是美国塑胶工业协会制订的分类编码方式, 不同的编号表示不同种类的塑料材料. 而且虽然绝大多数塑料都可以回收, 但需要根据它们是不同的聚合物种类来分类.
而且由于挑选, 分类, 清洁和再加工等工序的成本, 目前经济上只能应付回收聚对苯二甲酸乙二酯(PET)与高密度聚乙烯(HDPE). 看这个 “PET”
是不是很眼熟? 上面那个标志就是 “PET” 塑料的标志. 我们平时用的大多数矿泉水, 碳酸饮料的瓶子就是用它做的.

不同种类的塑料制品的物理化学性质是有区别的. 例如除了PP塑料之外的大部分塑料都不耐热, 而不耐热的塑料制品遇热就容易释放出有毒的, 致癌的物质.

下面的塑料性质介绍来自网络. 部分内容我在 Wikipedia 上找到了相关资料, 但我没有查证以下所有描述, 不保证它们完全准确.
如果有任何错误请留言指出.

PET

1. PET [ 聚 对苯二甲酸乙二醇脂 ](http://zh.wikipedia.org/wiki/聚对��%
AF%E4%BA%8C%E7%94%B2%E9%85%B8%E4%B9%99%E4%BA%8C%E9%85%AF)

常见矿泉水瓶, 碳酸饮料瓶等. 耐热至70℃, 易变形, 有对人体有害的物质融出. PET塑料品用了10个月后, 可能释放出致癌物DEHP.
不能放在汽车内晒太阳; 不要装酒, 油等物质.

HDPE

2. HDPE 高 密度聚乙烯

常见白色药瓶, 清洁用品, 沐浴产品的塑料瓶. 不要再用来做为水杯或者用来做储物容器装其他物品. 不要循环使用.

PVC

3. PVC 聚 氯乙烯

常见雨衣, 建材, 塑料膜, 塑料盒等. 可塑性优良, 价钱便宜, 故使用很普遍, 只能耐热81℃. 高温时容易释放有毒物质, 很少被用于食品包装.
不要循环使用. 若装饮品不要购买.

PE

4. PE 聚 乙烯

常见保鲜膜, 塑料膜等都是用PE材料制作. 根据高中化学知识, PE本身是没有毒的. 但塑料制品在制作时会添加小分子的助剂, 它们通常是有毒的.
在高温下有毒的助剂容易迁移到塑料制品的表面. 如果用它来装高温的食物, 有毒物质随食物进入人体后, 可能引起乳腺癌, 新生儿先天缺陷等疾病.
所以别把保鲜膜放进微波炉.

PP

5. PP 聚 丙烯

常见豆浆瓶, 优酪乳瓶, 果汁饮料瓶, 微波炉餐盒. 熔点高达167℃, 是唯一可以放进微波炉的塑料盒, 可在小心清洁后重复使用. 需要注意,
有些微波炉餐盒, 盒体以5号PP塑料制造, 但盒盖却以1号PE塑料制造. 由于PE不能抵受高温, 故不能与盒体一并放进微波炉.

PS

6. PS 聚 苯乙烯

常见碗装泡面盒, 快餐盒. 不能放进微波炉中, 以免因温度过高而释出化学物. 装酸(如柳橙汁), 碱性物质后, 会分解出致癌物质. 别用微波炉煮碗装方便面,
或者干脆和我一样戒掉方便面.

PC

7. OTHER 其它类 (包括 ABS 树脂
、 [ 聚 甲基丙烯酸甲酯 ](http:/
/zh.wikipedia.org/wiki/%E8%81%9A%E7%94%B2%E5%9F%BA%E4%B8%99%E7%83%AF%E9%85%B8%
E7%94%B2%E9%85%AF) 、 聚 碳酸酯
聚 乳酸
尼 龙
与 [ 玻 璃纤维强化塑胶 ](http://zh.w
ikipedia.org/wiki/玻璃纖維強化��
%91%E8%86%A0) )

常见水壶, 太空杯, 奶瓶, CD 光盘, 桶装水瓶都是用这一类里的 PC 塑料制作, 容易释放出双酚A. 关于双酚A对人类的影响, 说法不一.
但加拿大政府已宣布双酚A是一种危险的化学品, 并正式将双酚A列入有毒化学品名单, 禁止在制造婴儿奶瓶的过程中添加双酚A.[ 1
] 使用时不要加热,
不要在阳光下直晒.

first download a source tarball, then add all *.h and *.c into code::blocks. and remove tclsqlite.c file. Then copy tcl.h, tclDecls.h, and tclPlatDecls.h from /usr/include/tclXXX/ to your project forld and add them into your project. Then choose your project name in the left Projects browser. and right click, then choose build options. like following:

In the opening window, choose other option tab and add some options:

then choose #define tab:

ok, done. go back and build the project. If you have sqlite3api multiply defined error, you may don’t use SQLITE_CORE macro. If you have realine function dose not have prototype, you may don’t have “libreadline”, or you not use -lreadline and -lcurses option links. If the compiler tells you:“can not find “tcl.h” head file”, you can copy tcl.h, tclDecls.h, and tclPlatDecls.h into your project, or change tcl.h to <tcl.h>. If you have some error with tcl, you may leave the tclsqlit.c file from building. If you persist in compile tclsqlit.c, you should merge its all codes into main.c.

转自http://blog.renren.com/blog/224877949/456896689

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、澳门:珠宝金饰、古 董文玩、工艺品、首饰和海味药材是受游客欢迎的物品。

转自:http://www.sqlite.com.cn/MySqlite/4/539.Html

2、    事务(Transaction)

2.1、事务的周期(Transaction Lifecycles)
程 序与事务之间有两件事值得注意:
(1)    哪些对象在事务下运行——这直接与API有关。
(2)    事务的生命周期,即什么时候开始,什么时候结束以及它在什么时候开始影响别的连接(这点对于并发性很重要)——这涉及到SQLite的具体实现。
一 个连接(connection)可以包含多个(statement),而且每个连接有一个与数据库关联的B-tree和一个pager。Pager在连接
中起着很重要的作用,因为它管理事务、锁、内存缓存以及负责崩溃恢复(crash
recovery)。当你进行数据库写操作时,记住最重要的一件事:在任何时候,只在一个事务下执行一个连接。这些回答了第一个问题。
一般来说, 一个事务的生命和statement差不多,你也可以手动结束它。默认情况下,事务自动提交,当然你也可以通过BEGIN…COMMIT手动提交。接下
来就是锁的问题。
锁状态
2.2、锁的状态(Lock States)
锁 对于实现并发访问很重要,而对于大型通用的DBMS,锁的实现也十分复杂,而SQLite相对较简单。通常情况下,它的持续时间和事务一致。一个事务开
始,它会先加锁,事务结束,释放锁。但是系统在事务没有结束的情况下崩溃,那么下一个访问数据库的连接会处理这种情况。
在SQLite中有5种不 同状态的锁,连接(connection)任何时候都处于其中的一个状态。下图显示了相应的状态以及锁的生命周期。

关于这个图有以下几点 值得注意:
(1)    一个事务可以在UNLOCKED,RESERVED或EXCLUSIVE三种状态下开始。默认情况下在UNLOCKED时开始。
(2)    白色框中的UNLOCKED, PENDING, SHARED和 RESERVED可以在一个数据库的同一时存在。
(3)    从灰色的PENDING开始,事情就变得严格起来,意味着事务想得到排斥锁(EXCLUSIVE)(注意与白色框中的区别)。
虽然锁有这么多状 态,但是从体质上来说,只有两种情况:读事务和写事务。

2.3、读事务(Read Transactions)
我们先来看看SELECT语句执行时锁的状态变化过程,非常简单:一个连接执行select语句,触
发一个事务,从UNLOCKED到SHARED,当事务COMMIT时,又回到UNLOCKED,就这么简单。
考虑下面的例子(为了简单,这里用 了伪码):
** db = open(‘foods.db’)
db.exec(‘BEGIN’)
db.exec(‘SELECT * FROM episodes’)
db.exec(‘SELECT * FROM episodes’)
db.exec(‘COMMIT’)
db.close() **

由 于显式的使用了BEGIN和COMMIT,两个SELECT命令在一个事务下执行。第一个exec()执行时,connection处于SHARED,然
后第二个exec()执行,当事务提交时,connection又从SHARED回到UNLOCKED状态,如下:
UNLOCKED→PENDING→SHARED→UNLOCKED
如 果没有BEGIN和COMMIT两行时如下:
UNLOCKED→PENDING→SHARED→UNLOCKED→PENDING→ SHARED→UNLOCKED

2.4、写事务(Write Transactions)
下面我们来考虑写数据库,比如UPDATE。和读事务一样,它也会经历 UNLOCKED→PENDING→SHARED,但接下来却是灰色的PENDING,

2.4.1、The Reserved States
当一个连接(connection)向数据库写数据时,从
SHARED状态变为RESERVED状态,如果它得到RESERVED锁,也就意味着它已经准备好进行写操作了。即使它没有把修改写入数据库,也可以把
修改保存到位于pager中缓存中(page cache)。
当一个连接进入RESERVED状态,pager就开始初始化恢复日志 (rollback
journal)。在RESERVED状态下,pager管理着三种页面:
(1)    Modified pages:包含被B-树修改的记录,位于page cache中。
(2)    Unmodified pages:包含没有被B-tree修改的记录。
(3)    Journal pages:这是修改页面以前的版本,这些并不存储在page cache中,而是在B-tree修改页面之前写入日志。
Page cache非常重要,正是因为它的存在,一个处于RESERVED状态的连接可以真正的开始工作,而不会干扰其它的(读)连接。所以,SQLite可以高
效的处理在同一时刻的多个读连接和一个写连接。

2.4.2 、The Pending States
当一个连接完成修改,就真正开始提交事务,执行该过程的pager进入EXCLUSIVE状态。从 RESERVED状态,pager试着获取
PENDING锁,一旦得到,就独占它,不允许任何其它连接获得PENDING锁(PENDING is a gateway
lock)。既然写操作持有PENDING锁,其它任何连接都不能从UNLOCKED状态进入SHARED状态,即没有任何连接可以进入数据(no new
readers, no new
writers)。只有那些已经处于SHARED状态的连接可以继续工作。而处于PENDING状态的Writer会一直等到所有这些连接释放它们的锁,
然后对数据库加EXCUSIVE锁,进入EXCLUSIVE状态,独占数据库(讨论到这里,对SQLite的加锁机制应该比较清晰了)。
2.4.3、The Exclusive State
在EXCLUSIVE状态下,主 要的工作是把修改的页面从page cache写入数据库文件,这是真正进行写操作的地方。
在pager写入modified
pages之前,它还得先做一件事:写日志。它检查是否所有的日志都写入了磁盘,而这些通常位于操作的缓冲区中,所以pager得告诉OS把所有的文件写
入磁盘,这是由程序synchronous(通过调用OS的相应的API实现)完成的。
日志是数据库进行恢复的惟一方法,所以日志对于DBMS非
常重要。如果日志页面没有完全写入磁盘而发生崩溃,数据库就不能恢复到它原来的状态,此时数据库就处于不一致状态。日志写入完成后,pager就把所有的
modified pages写入数据库文件。接下来就取决于事务提交的模式,如果是自动提交,那么pager清理日志,page
cache,然后由EXCLUSIVE进入UNLOCKED。如果是手动提交,那么pager继续持有EXCLUSIVE锁和保存日志,直到COMMIT
或者ROLLBACK。

总之,从性能方面来说,进程占有排斥锁的时间应该尽可能的短,所以DBMS通常都是在真正写文件时才会占有排斥 锁,这样能大大提高并发性能。

qsort is quicksort function in linux or Unix. The function prototype is
1
void qsort(const void* array, const int number, const size_t sizeof_element,int (*cmp_fun)(const void*,const void*));

maybe I write too many const here:) I will write some examples to sort numbers below:

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
#include&lt;stdlib.h&gt;
// in c++ use cstdlib
int cmp(const void * a, const void * b){
const int *tmp_a = (const int*)a;
const int *tmp_b = (const int *)b;
return *tmp_a-*tmp_b; // this is ASCE
} // this is function for comparing two Int type

int main(){
int array[100],i,flag = 0;
for(i =0; i &lt;100; i++){
scanf("%d",&amp;array[i]);
}
qsort(array,100, sizeof(array[0]), cmp);
// here you can use sizeof(int) instead
for(i = 0; i &lt; 100; i++){
if(!flag){
printf("%d", array[i]);
flag = 1;
}
else{
printf(" %d", array[i]);
}
}
printf("\n");
return 0;
}

qsort function will change the content of array. If you want use complex object in qsort. You should just convert const void* to object*. If you will use point in array, you should compare with objects use **tmp_a-**tmp_b. If you want to compare double or float type, you should have a look at my another article: compare double numbers in c/c++ language.

If you want a stable compare function, you can use qsort also. First you should construct a class or struct, then and index or other information into struct. And compare when two values are equal.

1
2
3
4
5
6
7
8
9
10
11
12
13
int cmp(const void * a, const void * b){
const Object *tmp_a = (const Object*)a;
const Object *tmp_b = (const Object *)b;
if(tmp_a-&gt;value == tmp_b-&gt;value){
if(tmp_a-&gt;index &lt; tmp_b-&gt;index){
return -1;
}
else{
return 1;
}
}
return tmp_a-&gt;value-tmp_b-&gt;value; // this is ASCE
} // this is function for comparing two Int type

这个云输入法的创意是相当不错的,也不用重新开发适应于各种操作系统的应用程序(客户端)。节约了相当的成本。不过既然是其称为云输入法,相距于真正的云输入法还有一
段路要走:

1. 云强调的个性化定制 ,暂时还未能满足。因为好像我想调些参数都不行。

2. 云强调满足 用户的 短时高强度作业 ,暂时还未能满足。因为再我快速输入时,有时竟然要等许久,还有时是显示空白。

3.这个是纯技术问题,在某网页中新生成的

或者