SELECT data_key, data_value
FROM xf_data_registry
WHERE data_key IN ('options', 'languages', 'contentTypes', 'codeEventListeners', 'deferredRun', 'simpleCache', 'addOns', 'defaultStyleProperties', 'routeFiltersIn', 'routeFiltersOut', 'routesPublic', 'nodeTypes', 'bannedIps', 'discouragedIps', 'styles', 'displayStyles', 'userBanners', 'smilies', 'bbCode', 'threadPrefixes', 'userTitleLadder', 'reportCounts', 'moderationCounts', 'userModerationCounts', 'notices', 'userFieldsInfo')
Run Time: 0.000723
Select Type | Table | Type | Possible Keys | Key | Key Len | Ref | Rows | Extra |
---|
SIMPLE | xf_data_registry | range | PRIMARY | PRIMARY | 27 | | 26 | Using where |
SELECT data_key, data_value
FROM xf_data_registry
WHERE data_key IN ('brListenerClasses', 'brBriviumAddOns')
Run Time: 0.000162
Select Type | Table | Type | Possible Keys | Key | Key Len | Ref | Rows | Extra |
---|
SIMPLE | xf_data_registry | range | PRIMARY | PRIMARY | 27 | | 2 | Using where |
SELECT *
FROM xf_brivium_addon
ORDER BY addon_id
Run Time: 0.000145
Select Type | Table | Type | Possible Keys | Key | Key Len | Ref | Rows | Extra |
---|
SIMPLE | xf_brivium_addon | index | | PRIMARY | 77 | | 1 | |
INSERT INTO xf_data_registry
(data_key, data_value)
VALUES
(?, ?)
ON DUPLICATE KEY UPDATE
data_value = VALUES(data_value)
Params: brBriviumAddOns, a:0:{}
Run Time: 0.000132
SELECT cache_value
FROM xf_permission_combination
WHERE permission_combination_id = ?
Params: 1
Run Time: 0.000171
Select Type | Table | Type | Possible Keys | Key | Key Len | Ref | Rows | Extra |
---|
SIMPLE | xf_permission_combination | const | PRIMARY | PRIMARY | 4 | const | 1 | |
SELECT thread.*
,
user.gender, user.avatar_date, user.gravatar,
NULL AS thread_read_date,
0 AS thread_reply_banned,
0 AS thread_is_watched,
'' AS draft_message, NULL AS draft_extra
FROM xf_thread AS thread
LEFT JOIN xf_user AS user ON
(user.user_id = thread.user_id)
WHERE thread.thread_id = ?
Params: 332647
Run Time: 0.000400
Select Type | Table | Type | Possible Keys | Key | Key Len | Ref | Rows | Extra |
---|
SIMPLE | thread | const | PRIMARY | PRIMARY | 4 | const | 1 | |
SIMPLE | user | const | PRIMARY | PRIMARY | 4 | const | 1 | |
SELECT node.*, forum.*
,
permission.cache_value AS node_permission_cache,
NULL AS forum_read_date
FROM xf_forum AS forum
INNER JOIN xf_node AS node ON (node.node_id = forum.node_id)
LEFT JOIN xf_permission_cache_content AS permission
ON (permission.permission_combination_id = 1
AND permission.content_type = 'node'
AND permission.content_id = forum.node_id)
WHERE node.node_id = ?
Params: 38
Run Time: 0.000437
Select Type | Table | Type | Possible Keys | Key | Key Len | Ref | Rows | Extra |
---|
SIMPLE | forum | const | PRIMARY | PRIMARY | 4 | const | 1 | |
SIMPLE | node | const | PRIMARY | PRIMARY | 4 | const | 1 | |
SIMPLE | permission | const | PRIMARY | PRIMARY | 35 | const,const,const | 1 | |
SELECT post.*
,
thread.*, thread.user_id AS thread_user_id, thread.username AS thread_username,
thread.post_date AS thread_post_date,
post.user_id, post.username, post.post_date,
bb_code_parse_cache.parse_tree AS message_parsed, bb_code_parse_cache.cache_version AS message_cache_version,
user.*, IF(user.username IS NULL, post.username, user.username) AS username,
user_profile.*,
user_privacy.*,
signature_parse_cache.parse_tree AS signature_parsed, bb_code_parse_cache.cache_version AS signature_cache_version,
session_activity.view_date AS last_view_date,
0 AS like_date
FROM xf_post AS post
INNER JOIN xf_thread AS thread ON
(thread.thread_id = post.thread_id)
LEFT JOIN xf_bb_code_parse_cache AS bb_code_parse_cache ON
(bb_code_parse_cache.content_type = 'post' AND bb_code_parse_cache.content_id = post.post_id)
LEFT JOIN xf_user AS user ON
(user.user_id = post.user_id)
LEFT JOIN xf_user_profile AS user_profile ON
(user_profile.user_id = post.user_id)
LEFT JOIN xf_user_privacy AS user_privacy ON
(user_privacy.user_id = post.user_id)
LEFT JOIN xf_bb_code_parse_cache AS signature_parse_cache ON
(signature_parse_cache.content_type = 'signature' AND signature_parse_cache.content_id = post.user_id)
LEFT JOIN xf_session_activity AS session_activity ON
(post.user_id > 0 AND session_activity.user_id = post.user_id AND session_activity.unique_key = CAST(post.user_id AS BINARY))
WHERE (
(post.thread_id = ? AND (post.position >= 0 AND post.position < 10) )
)
AND (post.message_state IN ('visible'))
ORDER BY post.position ASC, post.post_date ASC
Params: 332647
Run Time: 0.002931
Select Type | Table | Type | Possible Keys | Key | Key Len | Ref | Rows | Extra |
---|
SIMPLE | thread | const | PRIMARY | PRIMARY | 4 | const | 1 | Using filesort |
SIMPLE | post | ref | thread_id_post_date,thread_id_position | thread_id_post_date | 4 | const | 1 | Using index condition; Using where |
SIMPLE | bb_code_parse_cache | eq_ref | content_type_id | content_type_id | 31 | const,xenforo.cc.post.post_id | 1 | Using where |
SIMPLE | user | eq_ref | PRIMARY | PRIMARY | 4 | xenforo.cc.post.user_id | 1 | |
SIMPLE | user_profile | eq_ref | PRIMARY | PRIMARY | 4 | xenforo.cc.post.user_id | 1 | |
SIMPLE | user_privacy | eq_ref | PRIMARY | PRIMARY | 4 | xenforo.cc.post.user_id | 1 | |
SIMPLE | signature_parse_cache | eq_ref | content_type_id | content_type_id | 31 | const,xenforo.cc.post.user_id | 1 | Using where |
SIMPLE | session_activity | eq_ref | PRIMARY | PRIMARY | 22 | xenforo.cc.post.user_id,func | 1 | Using where |
INSERT INTO xf_thread_view
(thread_id)
VALUES
(?)
Params: 332647
Run Time: 0.000098
INSERT INTO `xf_session` (`session_id`, `session_data`, `expiry_date`) VALUES (?, ?, ?)
Params: 51552bc45c1e03d966f97905b274e3c8, , 1715043361
Run Time: 0.001027
INSERT INTO xf_session_activity
(user_id, unique_key, ip, controller_name, controller_action, view_state, params, view_date, robot_key)
VALUES
(?, ?, ?, ?, ?, ?, ?, ?, ?)
ON DUPLICATE KEY UPDATE
ip = VALUES(ip),
controller_name = VALUES(controller_name),
controller_action = VALUES(controller_action),
view_state = VALUES(view_state),
params = VALUES(params),
view_date = VALUES(view_date),
robot_key = VALUES(robot_key)
Params: 0, , , XenForo_ControllerPublic_Thread, Index, valid, thread_id=332647, 1715039761,
Run Time: 0.000133
INSERT INTO xf_bb_code_parse_cache
(content_type, content_id, parse_tree, cache_version, cache_date)
VALUES (?, ?, ?, ?, ?)
ON DUPLICATE KEY UPDATE parse_tree = VALUES(parse_tree),
cache_version = VALUES(cache_version),
cache_date = VALUES(cache_date)
Params: post, 339276, a:31:{i:0;a:4:{s:3:"tag";s:3:"img";s:6:"option";N;s:8:"original";a:2:{i:0;s:5:"[IMG]";i:1;s:6:"[/IMG]";}s:8:"children";a:1:{i:0;s:64:"http://pic3.zhimg.com/v2-c1be5d3fcbe2bfd2544d430fe511088a_is.jpg";}}i:1;s:35:" 科学公园,科学就是力量 ";i:2;a:4:{s:3:"tag";s:3:"url";s:6:"option";s:57:"https://www.zhihu.com/question/68402131/answer/1387088806";s:8:"original";a:2:{i:0;s:65:"[URL='https://www.zhihu.com/question/68402131/answer/1387088806']";i:1;s:6:"[/URL]";}s:8:"children";a:1:{i:0;s:12:"阅读原文";}}i:3;s:88:"
说来话长,这个问题要先从玻璃的发明说起。
玻璃的主要成分是";i:4;a:4:{s:3:"tag";s:1:"b";s:6:"option";N;s:8:"original";a:2:{i:0;s:3:"[B]";i:1;s:4:"[/B]";}s:8:"children";a:1:{i:0;s:12:"二氧化硅";}}i:5;s:268:",这种物质同时也是沙子的主要成分。二氧化硅的熔点是 2000℃,加入碳酸钠或者碳酸钾之后熔点会下降到 1000℃,通常需要再加入一些氧化钙使其不溶于水。由于种种原因,最早发明玻璃技术的是居住在";i:6;a:4:{s:3:"tag";s:1:"b";s:6:"option";N;s:8:"original";a:2:{i:0;s:3:"[B]";i:1;s:4:"[/B]";}s:8:"children";a:1:{i:0;s:12:"新月地带";}}i:7;s:464:"[1]的人类,出现时间是大约公元前 3000 年。公元前 15 世纪,在地中海东部和东南部出现了大规模的玻璃制造工场,玻璃的生产工艺被细心的隐藏起来。公元前 9 世纪,出现了无色玻璃。公元前 1 世纪,出现了玻璃吹制工艺,公元 100 年左右,古罗马人开始把玻璃用作建筑物的装饰材料,接下来一千年里,玻璃及其加工技术在欧洲南部地区慢慢传播。
";i:8;a:4:{s:3:"tag";s:3:"img";s:6:"option";N;s:8:"original";a:2:{i:0;s:5:"[IMG]";i:1;s:6:"[/IMG]";}s:8:"children";a:1:{i:0;s:64:"https://pic2.zhimg.com/v2-620e7b2eade29b7b5e6f7895135e05c9_b.jpg";}}i:9;s:99:"
伽利略自制望远镜的复制品(来源:互联网)
11 世纪时,德意志人发明了";i:10;a:4:{s:3:"tag";s:1:"b";s:6:"option";N;s:8:"original";a:2:{i:0;s:3:"[B]";i:1;s:4:"[/B]";}s:8:"children";a:1:{i:0;s:12:"平板玻璃";}}i:11;s:558:"的制造技术,这项技术在 13 世纪的威尼斯得到了完善和发展。13 世纪晚期,威尼斯和佛罗伦萨开始出现眼镜制造业,之后它也出现在荷兰和德国。眼镜制造商们在黑暗中摸索,在没有光学理论的帮助下,艰难地研究如何制造出更适合人类需要的透镜。在这个过程中,显微镜和望远镜都被发明出来了,尽管其发明人声称是“无意中”发现的,但如果没有透镜制造技术的发达,望远镜这类光学工具的问世是完全不可能的。
";i:12;a:4:{s:3:"tag";s:3:"img";s:6:"option";N;s:8:"original";a:2:{i:0;s:5:"[IMG]";i:1;s:6:"[/IMG]";}s:8:"children";a:1:{i:0;s:64:"https://pic1.zhimg.com/v2-2f43ddc431d5b0efc40d3cf6cc58dd48_b.jpg";}}i:13;s:271:"
汉斯·李普希画像(来源:维基百科)
1608 年 10 月 2 日,定居在荷兰泽兰省米德尔堡市的眼镜制造商汉斯·李普希(Hans Lippershey,1570 年 -1619 年)向荷兰国会提交了一份专利申请,声明他已经发明了一种“";i:14;a:4:{s:3:"tag";s:1:"b";s:6:"option";N;s:8:"original";a:2:{i:0;s:3:"[B]";i:1;s:4:"[/B]";}s:8:"children";a:1:{i:0;s:69:"能看到很远的地方,好像它们就在你附近一样的东西";}}i:15;s:439:"”。关于他是如何发明这种装置的说法,有好几个版本,其中一个比较流行的说法是:有两个孩子在他的眼镜店里玩透镜,无意中发现用凸透镜和凹透镜的组合可以放大远处的物体,其他的说法还包括“学徒发现”以及抄袭等等。
另一个眼镜制造商雅各·梅提斯(Jacob Metius)几周后也向国会要求拥有望远镜的发明权,争执的结果是";i:16;a:4:{s:3:"tag";s:1:"b";s:6:"option";N;s:8:"original";a:2:{i:0;s:3:"[B]";i:1;s:4:"[/B]";}s:8:"children";a:1:{i:0;s:27:"两人都没有获得专利";}}i:17;s:1420:"。当时荷兰处在“八十年战争”时期,正在和西班牙帝国交战,所以望远镜这种新发明立即就用于军事行动,而获得授权制造望远镜的李普希也因此获利颇丰。
这件事被暹罗(现在的泰国)国王 Ekathotsarot 派往荷兰的外交大使(1608 年 9 月 10 日到任)写在他的一份外交信件中,这封信在欧洲被传抄,很多人由此知道了荷兰人的这个新发明。这些人中包括意大利人保罗·萨尔皮(Paolo Sarpi),罂国人托马斯·哈里奥特(Thomas Harriot),以及大学者伽利略·伽利莱(Galileo Galilei)。
当时伽利略是帕罗瓦大学的教授,1609 年以前他通过和友人(可能是萨尔皮)的通信获知了望远镜的消息,但并未在意。这年 7 月中旬,一个荷兰人来到威尼斯,向当时的威尼斯大公推销望远镜,伽利略可能在威尼斯看到了(也可能是当面和萨尔皮交流知道了关于望远镜的更多的信息),他返回了帕多瓦,用一个晚上的时间猜出了望远镜的制造秘密,大约在 7 月 22 日制造了第一支属于自己的望远镜。差不多在 27 日他带着他改进的 8 或者 9 倍望远镜来到威尼斯,准备向威尼斯的统治者们展示了他自己的新发明。8 月 25 日,他的望远镜在威尼斯共和国议会展示,得到了大公和议员们的赞扬。
";i:18;a:4:{s:3:"tag";s:3:"img";s:6:"option";N;s:8:"original";a:2:{i:0;s:5:"[IMG]";i:1;s:6:"[/IMG]";}s:8:"children";a:1:{i:0;s:64:"https://pic1.zhimg.com/v2-cf022fb0bb0f32d36a40d7c9fb381f3c_b.jpg";}}i:19;s:222:"
油画:伽利略向威尼斯大公展示望远镜(来源:互联网)
和荷兰人一样,伽利略首先想到的是望远镜的军用价值,但作为学者,他迅速就做出了一个影响深远的决定:";i:20;a:4:{s:3:"tag";s:1:"b";s:6:"option";N;s:8:"original";a:2:{i:0;s:3:"[B]";i:1;s:4:"[/B]";}s:8:"children";a:1:{i:0;s:24:"把望远镜指向天空";}}i:21;s:457:"。李普希式望远镜的物镜由两片凸透镜组成,其中一片是成像物镜,一片是正像物镜,目镜用凹透镜,放大率是 3 倍。伽利略意识到对于天文观测来说,正像物镜是不必要的,因此他去掉了它。伽利略制造了两架用于天文观测的望远镜,其中一架口径 2.6 厘米,焦距长 1.33 米,放大倍率 14 倍;另一架口径 4.4 厘米,焦距 1.2 米,放大倍率 33 倍。
";i:22;a:4:{s:3:"tag";s:3:"img";s:6:"option";N;s:8:"original";a:2:{i:0;s:5:"[IMG]";i:1;s:6:"[/IMG]";}s:8:"children";a:1:{i:0;s:64:"https://pic3.zhimg.com/v2-c366c8928244787f594272baca54af9e_b.jpg";}}i:23;s:140:"
伽利略自制望远镜的复制品(来源:互联网)
1610 年 1 月 7 日的夜晚,伽利略把他的望远镜指向了木星,";i:24;a:4:{s:3:"tag";s:1:"b";s:6:"option";N;s:8:"original";a:2:{i:0;s:3:"[B]";i:1;s:4:"[/B]";}s:8:"children";a:1:{i:0;s:51:"天文学从这一天开始进入了新的时代。";}}i:25;s:2:"
";i:26;a:4:{s:3:"tag";s:3:"img";s:6:"option";N;s:8:"original";a:2:{i:0;s:5:"[IMG]";i:1;s:6:"[/IMG]";}s:8:"children";a:1:{i:0;s:64:"https://pic2.zhimg.com/v2-a56430487f062b1e82e304287e303219_b.jpg";}}i:27;s:53:"
伽利略手绘的月面图(来源:互联网)
";i:28;a:4:{s:3:"tag";s:3:"img";s:6:"option";N;s:8:"original";a:2:{i:0;s:5:"[IMG]";i:1;s:6:"[/IMG]";}s:8:"children";a:1:{i:0;s:64:"https://pic2.zhimg.com/v2-904dc24695dd59088fe2d09c6df79f95_b.jpg";}}i:29;s:1845:"
伽利略手绘的木星及木卫(来源:互联网)
笔者上世纪 90 年代上高中时曾经自制过伽利略式望远镜。当时一台成品望远镜要几百元钱,根本不是我这样的穷高中生能买得起的,所以我去眼镜店里买了一片 100 度的老花镜和一片 2000 度的平凹透镜准备自己做。一个同学的妈妈在县城百货公司工作,通过他妈妈的关系弄来了几个废弃的羽毛球球筒当镜筒(羽毛球筒的内径约 6 厘米,而眼镜店里未磨边的镜片直径恰好是 6 厘米),单个球筒长度不够,就用宽透明胶带把两个球筒粘起来,外面再裹上几层报纸。没有支架,就用手托着或者用篮球架之类的固定物体托着,就这么着弄出来一个简陋的能放大 20 倍的望远镜。虽然外表其貌不扬,但看个月亮、仙女座大星云什么的一点儿问题都没有,而且从头开始完全手工打造一个望远镜的乐趣也是买成品望远镜所体验不到的。
后来我立志自己磨制大口径镜片,还花钱邮购了全套磨制望远镜镜片的资料,可惜一直没备齐所需材料(抛光用的铁红粉[2]好搞,但沥青一直没找到门路),结果这个宏愿到现在都没实现,估计也不会有实现的可能了。
注:
1、新月地带,指今天地中海东岸(以色列、巴勒斯坦、黎巴嫩、叙利亚)到土耳其东南部、伊拉克的一个弧形地带,历史上它自然条件优越,土壤肥沃、物种资源丰富,同时又位于从非洲到亚洲的必经之处,考古材料证实,这里是现代人最早定居和发展出原始农业的地方,也是孕育出两河流域、古埃及和古希腊文明的摇篮。
2、铁红粉,就是三氧化二铁粉末,可以用于镜面抛光。
作者:飞蠓
";i:30;a:4:{s:3:"tag";s:3:"url";s:6:"option";s:39:"https://www.zhihu.com/question/68402131";s:8:"original";a:2:{i:0;s:47:"[URL='https://www.zhihu.com/question/68402131']";i:1;s:6:"[/URL]";}s:8:"children";a:1:{i:0;s:12:"阅读原文";}}}, 1621686945, 1715039761
Run Time: 0.001350