傻猫网络日志 Samool's blog - 二十年老博客 - 时间
type: channel
link: https://samool.com/tag/%E6%97%B6%E9%97%B4/
items: 《时间褶皱里的稻穗》
items: [GPT]时间空间与维度的关系
items: 成都郫都区：新增本土病例2例 24小时内将完成90余万人采样
items: 成都新公园，418万平方米的公园
items: 大成都5条新线车站齐亮相！
items: 成都市郫都区新冠肺炎疫情检测通知
items: SQL Server 2008 评估期已过的解决办法
items: Golang 汇编入门知识总结
items: 【Redis持久化】服务器突然挂了！Redis缓存都在内存中啊
items: 视频防盗链技术方案研究与讲解

《时间褶皱里的稻穗》
type: item
date: 2025-03-07T05:20:00+08:00
description: AI摘要 这首诗描绘了时间流逝中的自然景象和生活细节，通过晨露、咖啡渍、沙漏等元素展现了时间的流转，同时用候鸟、药片、稻穗等意象传达了生命的脆弱和宇宙的广阔。 document.addEventListener('DOMContentLoaded', function() { const urlDisplay = document.getElementById('urlDisplay'); urlDisplay.textContent = "此内容根据文章生成，更内容请访问：" + window.location.href; }); 蝉鸣在晨露里翻身指纹拓印着玻璃窗的裂纹咖啡渍正漫过昨日的账单沙漏在逆时针抽芽候鸟衔来褪色的病历本药片在血管里种下整片星空镰刀与麦秆对话时月光正在磨锈蚀的齿轮稻穗垂首计算着光年陶罐盛满液态的寂静指纹与年轮在釉下私语泥土在骨缝中长出新的经络

[GPT]时间空间与维度的关系
type: item
date: 2024-11-03T05:48:03+08:00
description: AI摘要 本文探讨了物理学和数学中维度的概念，包括经典物理学中的四维时空、一至三维空间的定义，以及爱因斯坦相对论中时间与空间的结合。文章还介绍了弦理论和M理论中涉及的更高维度，以及这些理论框架对维度的不同解释。尽管理论上存在多维空间模型，我们的直接经验和观察仍限于三维空间加一维时间。 document.addEventListener('DOMContentLoaded', function() { const urlDisplay = document.getElementById('urlDisplay'); urlDisplay.textContent = "此内容根据文章生成，更内容请访问：" + window.location.href; }); 在物理学和数学中，维度是用来描述空间的一个重要特性。A. 经典物理学：通常认为是三维空间加上时间，即四维时空。一维（1维）：只有长度的线，比如一条线段，只有前后两个方向。二维（2维）：有长度和宽度的平面，比如一个矩形或圆形，能表示平面上的位置。三维（3维）：有长度、宽度和高度的空间，能表示现实世界中的物体，比如一个立方体。四维（4维）：通常指在三维空间中添加时间作为第四个维度，或者在一些物理理论中可能涉及更复杂的四维空间。当谈到爱因斯坦时，特别是在相对论中，时间被视为与空间相结合形成时空的一个维度。在更高的维度（例如五维、六维等）中，通常是在理论物理学中讨论的，比如弦理论中涉及的多维空间。在理论物理学中，关于维度的讨论通常取决于所涉及的理论框架。B. 弦理论：弦理论提到的维度可以高达10维或11维。在某些版本的弦理论中，宇宙被认为有10维，其中包括我们熟悉的四维时空和额外的六维（或七维）空间。这些额外的维度通常被认为是“紧致化”的，意味着它们在非常小的尺度上弯曲，因此不易被直接观察到。C. M理论：在弦理论的一个扩展中，M理论提出了11维的宇宙，其中包含了额外的维度用于描述膜的存在。D. 更高维度：在某些数学和理论物理的框架中，可能探讨更多的维度（例如，超弦理论可能涉及到更多的维度），但这些通常超出了我们目前的物理理解和实验验证。尽管理论上可以构建出许多维度的模型，但在现实中，我们的直接经验和观察主要是限于三维空间加一维时间。对于更高维度的理解，仍然是科学研究和哲学讨论的领域。你对某个特定的理论或维度特别感兴趣吗？

成都郫都区：新增本土病例2例 24小时内将完成90余万人采样
type: item
date: 2020-12-12T15:45:18+08:00
description: AI摘要 成都郫都区新增2例本土新冠肺炎确诊病例，均为既往病例的密切接触者。目前已追踪到密切接触者580人，完成采样2124人，其中2022人为阴性。郫都区犀浦街道犀池社区二组被划定为中风险区域。成都市计划在24小时内完成90余万人的核酸采样。华西专家栾荣生强调重点人群需要反复检测以确保无漏网之鱼。 document.addEventListener('DOMContentLoaded', function() { const urlDisplay = document.getElementById('urlDisplay'); urlDisplay.textContent = "此内容根据文章生成，更内容请访问：" + window.location.href; }); 红星新闻网（记者 李慧颖 宋雅婷）12月11日报道 12月11日晚，成都市人民政府新闻办公室召开成都市疫情防控工作新闻发布会，成都市卫健委主任谢强，郫都区人民政府区长刘印勇，四川省卫生健康委应对新型冠状病毒肺炎疫情领导小组疫情防控组副组长、四川大学华西公共卫生学院流行病学教授栾荣生对成都市疫情防控进行了信息发布。截至12月11日18时，郫都区新增新冠肺炎本土确诊病例2例。新增病例均在郫都区，其中一例为无症状感染者确诊。病例1：张某某，女，54岁，农民工，居住于郫都区郫筒街道太平村11组，是既往确诊病例的密切接触者。12月10日，核酸检测呈阳性，9时诊断为无症状感染者，并于昨晚新闻发布会通报。昨日22时，因患者胸部CT检查结果异常，订正为确诊病例。该患者14天内去过中铁奥维尔小区、南门菜市场、中冶中央公园、郫都区红牌楼川菜厂等地。病例2：李某，女，57岁，缝纫工，居住于郫都区犀浦街道犀池五街，是既往确诊病例的密切接触者。12月10日，核酸检测呈阳性，当日23时诊断为确诊病例。该患者14天内去过犀浦贸易中心、国宁菜市场等地。上述2例确诊患者，现均已收入成都市公共卫生临床医疗中心进行隔离治疗，其停留过的所有场所均已采取相应管控措施，并实施终末消毒。同时，成都市已按照防控方案，全面开展流行病学调查。经排查，截至12月11日晚6时，已追踪到上述确诊病例及无症状感染者的密切接触者580人，已完成采样2124人，其中2022人为阴性，其余结果待出。截至11日18点，全市已进行核酸采样1458900人，已进行核酸检测 1361050人，其中阳性11人（不含首例确诊病例）。根据国务院联防联控机制有关要求，经省防控指挥部研究同意，自12月11日21时起，将郫都区犀浦街道犀池社区二组划定为中风险区域，其他地区风险等级不变。中风险地区人员原则上不离开当地，确需离开的须持7日内核酸检测阴性证明。24小时内将完成郫都区90余万人采样郫都区区长刘印勇会上介绍，截至12月11日18时，郫都区已对排查出密切接触者169人，次密接触者508人进行集中隔离。12月10日，郫都对太平村在内11个村社区进行第二次采样。12月10日，23时，李某确诊后，郫都区对犀浦街道全域进行采样，已出结果197684人，结果均为阴性，其余待出。此外，刘印勇表示，犀浦街道从未封闭，市民可正常通行。今天，成都21个区县的4000余人的专业采集队伍已在郫都集结，24小时内将完成90余万人采样。华西专家栾荣生：重点人群需要反复检测四川省卫生健康委应对新型冠状病毒肺炎疫情领导小组疫情防控组副组长、四川大学华西公共卫生学院流行病学教授栾荣生介绍，对于重点对象，需要重复检测，要确保没有一个人漏网。栾荣生介绍，这次在郫都区检测的样本很大，成都21个区市县全部来支援郫都区。规模扩大以后，针对重点人群，现在采取的是混检，就是5—10个标本在一起检测。如果呈现阳性，这个5—10个人再来逐个一次。“根据现在的情况是一步一步扩大包围圈，从今天18点起扩大到整个郫都区。”栾荣生解读到，实验室核酸检测要经过45个循环，最后做试纸来看。对于一般的人来讲，不需要反复检测。“对于重点对象需要反复检测，比如密切接触者，刚开始的可能排出病毒量不多，咽拭子有可能没有检测到，但是不代表体内没有病毒。所以，我们要多次进行检测，单次核酸阴性对重点对象来说，其实是不保险的。”栾荣生还说，今天新增的一例病患，并不是在隔离酒店检测出来，而是在扩大了包围圈后发现的病患，也就是说，扩大包围圈是有用的，所以，今晚18时开始检测范围扩大到整个郫都区。发布会和次日官方通报数据不一致：时间统计口径问题对于网友疑问：晚上发布会和早上官方通报的数据不一致，为什么会出现这种情况？成都市卫健委主任谢强进行了回应。他表示，自今年1月成都出现首例新冠肺炎确诊病例以来，成都市坚持及时、准确通报相关信息，并通过健康成都官微对外发布权威信息。参考国家和省卫健委通报的建议，通报数据都是前一天的0-2…

成都新公园，418万平方米的公园
type: item
date: 2020-12-07T19:53:32+08:00
description: AI摘要 成都新公园天府艺术公园占地418万平方米，位于成都老西门，旨在再现“蜀风揽胜画卷”。公园内包含天府艺术馆、天府美术馆和天府图书馆，其中美术馆屋顶设计为芙蓉花瓣形状，艺术馆和图书馆屋顶为斜向上的斜面曲面。公园预计将于2021年8月前开放，有望成为成都新地标。 document.addEventListener('DOMContentLoaded', function() { const urlDisplay = document.getElementById('urlDisplay'); urlDisplay.textContent = "此内容根据文章生成，更内容请访问：" + window.location.href; }); 初次对成都加深印象是在什么时候呢？应该是那句歌词唱的那样，走在成都的街道上也停不下来，这首歌火遍了校园，到处都能听到哼着小曲的人。成都的这个热闹的大城市，一个又一个远方的游客的吸引着人们，成都的发展观光业也在这里盛行，父亲总是一种令人羡慕的语气，他的旧同学谁又说成都旅行了，这样，这里真的是一个好地方，这个公园的名字叫天府艺术公园，地点在成都老西门，这个公园的建成范围有多大？这个公园的目的是再现“蜀风揽胜画卷”，既然是艺术类的，那一定展示了艺术性的内容，这个公园还引进了展馆。有天府艺术馆、天府美术馆、天府图书馆，下面详细说明这些展馆。天府美术馆，这个展馆富有艺术性，屋顶是用芙蓉花瓣形状的金属素材建造的，从远处看，这个美术馆是盛开在湖里的芙蓉花。天府艺术馆和图书馆的屋顶造型是斜向上的斜面曲面，对面就是美术馆，今后，如果小队友们如果有读书的欲望，在图书馆中读书，读着书，同时可以欣赏美丽的设计，精神的喜悦心情，同时也能好转，这是什么人的人梦想的生活！该公园的建设是一个文化艺术爱好者争相，但他们在图书馆里徜徉中，美术馆也培养情操，比他们两人呐喊，也在一个地方停留的时间长了，特别是也改变了，从任何角度而言的一种心情，这是文艺爱好者的理想的天堂，今后，这里很有可能成为成都的“新地标”，对这里感兴趣的朋友们不要着急，这个公园将在2021年8月之前亮相。

大成都5条新线车站齐亮相！
type: item
date: 2020-12-07T19:50:37+08:00
description: AI摘要 成都轨道交通5条新线6项目车站集体亮相，各线路车站设计融入沿线特色，展现天府文化。6号线以“科技华章、创新菁蓉”为主题，8号线以“音乐地铁，国际文创”为主题，9号线以“锦绣芳华，绿裳画图”为主题，17号线以“水育柳城，丝织锦绣”为主题，18号线福田站以航空器造型和机舱设计为主题，各线路车站设计展现成都世界文化艺术名城气息。 document.addEventListener('DOMContentLoaded', function() { const urlDisplay = document.getElementById('urlDisplay'); urlDisplay.textContent = "此内容根据文章生成，更内容请访问：" + window.location.href; }); 就在今天！！！备受关注的5线6项目车站集体“闪亮登场”！5条新线串联成都多个区域，站厅设计也囊括了科技华章、音乐地铁、锦绣芳华、水育柳城等多元风格，将沿线特色融入厅站风貌，用轨道交通串联天府文化！6号线一二三期主题：“科技华章、创新菁蓉”6号线根据站点周边文化定位全线站点，共设两个层级，其中一般艺术站45座（不含西博城站和西北桥站），重点艺术站9座。9座重点艺术站望丛祠站、金府站、西南交大站、建设北路站、牛王庙站、三官堂站、金融城东站、秦皇寺站、天府商务区站。01望丛祠站以“望丛二帝”为主题，灵感源自都江堰的地势水形及成都平原综合交错的自然形态，通过深色的天花格栅和不同层次的绿色片状金属板以表达自然形态中“水与田”的元素。02金府站以“青春活力”为主题，灵感源于紧邻的欢乐谷过山车等游乐设施的曲线造型，通过优美的曲线造型和流光溢彩的色带，表达欢快和动感的游乐气氛。运用鲜明的色彩对比，展现出一个梦幻的世界。03西南交大站以“天堑变通途”为主题，提炼了西南交大象征性的桥梁、隧道、大门的拱形元素作为空间构成的基础要素，以表达“传承、纪念、学术、探索”的主旨；车站艺术品名为“天堑变通途”。04建设北路站以“时光穿梭”为主题，营造科技、未来的空间气质，通过深色的天花背景和线性格栅、灯具，形成明暗对比强烈的震撼的视觉感受，整个地铁站成为链接川蜀工业过去与未来的“时空虫洞”。05牛王庙站以“市井牛王庙”为主题，从老的历史街区场景中提取元素，经过现代手法的演绎，形成一种穿越时空、传统与现代再次对话的独特空间，使人们再次体验到昔日散发浓厚酒文化的市井场景，感受成都老街巷的独特魅力。06三官堂站以“成都工业文明”为主题，提取自四川机械总局旧址建筑的元素，通过回应拱券的造型，使用木纹格栅和混凝土饰面材料，展示出“工业、高大，张力、厚重”的历史感，经过现代手法的演绎，形成一种穿越时空、传统与现代再次对话的独特空间。07金融城东站以“科技金融创新”为主题，通过对可视化的“金融数据”及代表科技核心的“芯片电路”提取动感、强劲的线性元素，并以白色金属为基底，金、银作为点缀性主题色，赋予金融城东站时尚、科技的空间特征。08天府商务区站以“科技创新·AI智能”为主题，提取“人工智能虚拟大脑”的三角形元素，通过重复连续的设计手法，将整个车站空间联系起来，塑造出形式统一并富有变化的多维空间。09秦皇寺站以“科技创新·互联共享”为主题，将抽象的“互联网”、具象的“川西竹编”两种元素相融合，这是刚与柔的碰撞，形与光的契合。体现科技与传统的交织，传达出互联网共享与文化传承欣欣向荣的发展意向。45座一般艺术站6号线一二期工程一般艺术站根据区位，共划分为三个段落，从望丛祠站到西华大道站，为“先进制造业集中、复合型产学研新城”的高新西区展现出“青春创业活力”的文化个性；从金府站到琉三路站，为“历史悠久、文化商业活力强盛”的主城区段展现出“历史科技华章”的人文情怀；从金石路站到观东站，为“现代商务中心、高端产业新城”的高新南区能展现出“时代科技创新”的艺术格调。三期工程整体空间着重于功能性、舒适性，采用空间一体化打造手法，通过将天花、墙面相连，统一设计打造，使整个车站空间浑然一体，塑造出具有“科技感”的空间氛围。8号线一期主题：“音乐地铁，国际文创”8号线一期所经区域覆盖众多教育、音乐及文创产业，故将“音乐地铁，国际文创”作为本线路设计主题，以文创方式多维表现音乐主题的地铁空间，个性鲜明，独具特色。5座重点艺术站川大江安校区站、芳草街站、川大望江校区站、东郊记忆站、理工大学站。01川大江安校区站以“风华正茂”为设计主题，将展开的“书本”作为空间延展的主体装饰构造，“书页”片状的组合形式活泼、清逸，通过冰蓝色灯光的渲染，形象的展现川大新校区现代、朝气的精神风貌和活力。02芳草街站以“玉林百态”为设计主题，提取玉林片区街景风貌的特点，以绿色为基调，通过对金属材料的镂空处理，将空间营…

成都市郫都区新冠肺炎疫情检测通知
type: item
date: 2020-12-07T16:40:02+08:00
description: AI摘要 成都市郫都区新增1例新冠肺炎确诊病例，患者为69岁女性。当地已启动应急预案，追踪密切接触者并进行核酸检测，同时对相关地区实施封控管理。郫都区发布疫情检测通知，要求特定时间段内前往过郫都区人民医院和太平村11组的人员于12月8日24时前进行核酸检测。 document.addEventListener('DOMContentLoaded', function() { const urlDisplay = document.getElementById('urlDisplay'); urlDisplay.textContent = "此内容根据文章生成，更内容请访问：" + window.location.href; }); 12月7日，四川成都郫都区新增1例新冠肺炎确诊病例。患者卢某某，女，69岁，无业，居住于郫筒街道太平村11组。12月6日，因咳嗽、咳痰等症状，前往郫都区人民医院就诊。入院体温36.2℃，肺部CT显示双肺散在分布磨玻璃影。12月7日，经市疾控中心复核新冠病毒核酸检测阳性。经省、市、区专家会诊，综合临床、影像学表现和实验室核酸检查结果，诊断为确诊病例（普通型），已转运至成都市公共卫生临床医疗中心医院隔离治疗。省、市、区立即启动应急预案，组织21支流调、检测和消杀专业队伍，全面开展流行病学调查，核酸检测、环境消杀和现场管控等措施。目前，已追踪到的密切接触者及密接的密接均已落实集中隔离观察和核酸检测。已对区人民医院、患者居住地等地区实施封控管理及人员和环境核酸检测。下一步，将继续做好相关人员流行病学调查溯源和核酸检测工作，严格落实属地防控责任，做好闭环管理和各项防疫工作。同时，请广大市民做好个人防护，配合做好新冠肺炎疫情防控工作。成都郫都区发布新型冠状病毒肺炎疫情检测通知12月7日13时25分，成都市郫都区官方微博发布新型冠状病毒肺炎疫情检测通知。广大市民朋友：因疫情防控需要，为切实保障广大群众健康安全，严防疫情扩散，请下列人员于2020年12月7日内参加核酸检测。一、检测对象2020年12月6日8时至2020年12月7日8时期间前往过郫都区人民医院的所有患者、陪同人员、医护人员、工作人员。2020年11月23日至12月7日到过郫筒街道太平村11组的人员。二、检测时间2020年12月8日24时前三、检测地点地点一：郫都区郫筒街道蜀都新邨党群服务中心（郫筒街道蜀信路二段290号）地点二：西汇·西都会（郫筒街道鹃兴路63号）四、注意事项请参加核酸检测的人员，服从现场工作人员的统一安排，有序排队参加检测，做好个人防护。如有不适，及时前往医疗机构就诊。成都市郫都区新型冠状病毒肺炎疫情防控指挥部2020年12月7日来源：郫都发布

SQL Server 2008 评估期已过的解决办法
type: item
date: 2020-10-26T15:08:00+08:00
description: AI摘要 本文介绍了如何解决SQL Server 2008评估期已过的问题。首先，通过输入相应的产品密钥进行版本升级。如果升级后仍提示评估期已过，可以通过修改注册表中的“CommonFiles”值来解决。此外，文章还提供了解决SQL Server 2008安装需要一直重启的问题的方法，即删除注册表中的PendingFileRenameOperations键值。 document.addEventListener('DOMContentLoaded', function() { const urlDisplay = document.getElementById('urlDisplay'); urlDisplay.textContent = "此内容根据文章生成，更内容请访问：" + window.location.href; }); 今天上班一打开SQL Server，就报了下面这个问题很显然，SQL Server 试用期到了，微软提醒我们购买。大家经济允许的话，还是要买正版。对于我们这些暂时无力承担正版费用的屌丝群体怎么办呢？显然，重装不是一个好的办法。SQL Server软件装起来很麻烦，还需要一段时间。况且光卸载老版本就是个问题，很难卸载干净。卸载加安装，半天就过去了。通过百度，找到了一些解决方案，通过自身的具体实践，终于把问题解决了，特将问题与解决方法记录下来，给遇到同样问题的伙伴提供一种解决方式，也方便自己日后查看。1.开始-->所有程序-->MicrosoftSQL Server 2008-->配置工具-->SQL Server 安装中心2.打开SQL Server安装中心(64位) 点击维护-->版本升级，如果提示失败1，电脑没有重启，这个时候就需要我们手动进行重启，重新打开电脑后，从步骤1开始；接着按照提示一直点下一步，到产品密钥的时候输入Microsoft SQL Server 2008 R2序列号密钥开发版32位：MC46H-JQR3C-2JRHY-XYRKY-QWPVM开发版64位：FTMGC-B2J97-PJ4QG-V84YB-MTXX8工组版：XQ4CB-VK9P3-4WYYH-4HQX3-K2R6QWEB版：FP4P7-YKG22-WGRVK-MKGMX-V9MTM数据中心版32位：PTTFM-X467G-P7RH2-3Q6CG-4DMYB数据中心版64位：DDT3B-8W62X-P9JD6-8MX7M-HWK38企业版32位：R88PF-GMCFT-KM2KR-4R7GB-43K4B企业版64位：GYF3T-H2V88-GRPPH-HWRJP-QRTYB标准版32位：CXTFT-74V4Y-9D48T-2DMFW-TX7CY标准版64位：B68Q6-KK2R7-89WGB-6Q9KR-QHFDW输入密钥之后进行升级，升级完成后，再次打开SQL Server。如果还是提示评估期已过，进行如下操作：修改注册表： win键 + r 打开运行界面 输入regedit 就能打开注册表页面找到 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MicrosoftSQL Server\100\ConfigurationState里的“CommonFiles”值改成3，在重新执行上面的操作。sql server 2008安装需要一直重启的解决办法：同样打开注册表找到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager 位置然后在右边窗口右击PendingFileRenameOperations，选择删除，然后确认

Golang 汇编入门知识总结
type: item
date: 2020-09-27T14:35:04+08:00
description: AI摘要 本文是一篇关于Golang汇编入门的知识总结，作者分享了自己在学习Golang底层实现机制时对Golang汇编的理解。文章首先解释了为什么需要汇编语言，然后介绍了程序与进程的概念，接着深入讲解了Go汇编的相关知识，包括核心寄存器、常用操作指令等。文章还提供了如何输出Go汇编的方法，并通过对一个简单Go函数的汇编代码进行分析，帮助读者理解Go汇编的实现过程。最后，文章还介绍了一些Go调试工具，如gdb和delve，并总结了学习Go汇编需要熟悉的几个方面。 document.addEventListener('DOMContentLoaded', function() { const urlDisplay = document.getElementById('urlDisplay'); urlDisplay.textContent = "此内容根据文章生成，更内容请访问：" + window.location.href; }); 作者：ivansli，腾讯 IEG 运营开发工程师在深入学习 Golang 的 runtime 和标准库实现的时候发现，如果对 Golang 汇编没有一定了解的话，很难深入了解其底层实现机制。在这里整理总结了一份基础的 Golang 汇编入门知识，通过学习之后能够对其底层实现有一定的认识。0. 为什么写本文平时业务中一直使用 PHP 编写代码，但是一直对 Golang 比较感兴趣，闲暇、周末之余会看一些 Go 底层源码。近日在分析 go 的某些特性底层功能实现时发现：有些又跟 runtime 运行时有关，而要掌握这一部分的话，有一道坎是绕不过去的，那就是 Go 汇编。索性就查阅了很多大佬们写的资料，在阅读之余整理总结了一下，并在这里分享给大家。本文使用 Go 版本为 go1.14.11. 为什么需要汇编众所周知，在计算机的世界里，只有 2 种类型。那就是：0 和 1。计算机工作是由一系列的机器指令进行驱动的，这些指令又是一组二进制数字，其对应计算机的高低电平。而这些机器指令的集合就是机器语言，这些机器语言在最底层是与硬件一一对应的。显而易见，这样的机器指令有一个致命的缺点：可阅读性太差（恐怕也只有天才和疯子才有能力把控得了）。为了解决可读性的问题以及代码编辑的需求，于是就诞生了最接近机器的语言：汇编语言（在我看来，汇编语言更像一种助记符，这些人们容易记住的每一条助记符都映射着一条不容易记住的由 0、1 组成的机器指令。你觉得像不像域名与 IP 地址的关系呢？）。1.1 程序的编译过程以 C 语言为例来说，从 hello.c 的源码文件到 hello 可执行文件，经过编译器处理，大致分为几个阶段：编译器在不同的阶段会做不同的事情，但是有一步是可以确定的，那就是：源码会被编译成汇编，最后才是二进制。2. 程序与进程源码经过编译之后，得到一个二进制的可执行 文件。文件这两个字也就表明，目前得到的这个文件跟其他文件对比，除了是具有一定的格式（Linux 中是 ELF 格式，即：可运行可链接。executable linkable formate）的二进制组成，并没什么区别。在 Linux 中文件类型大致分为 7 种：b: 块设备文件c：字符设备文件d：目录-：普通文件l：链接s：socketp：管道通过上面可以看到，可执行文件 main 与源码文件 main.go，都是同一种类型，属于普通文件。（当然了，在 Unix 中有一句很经典的话：一切皆文件）。那么，问题来了：什么是程序？什么是进程？2.1 程序维基百科告诉我们：程序是指一组指示计算机或其他具有消息处理能力设备每一步动作的指令，通常用某种程序设计语言编写，运行于某种目标体系结构上。从某个层面来看，可以把程序分为静态程序、动态程序：静态程序：单纯的指具有一定格式的可执行二进制文件。动态程序：则是静态可执行程序文件被加载到内存之后的一种运行时模型（又称为进程）。2.2 进程首先，要知道的是，进程是分配系统资源的最小单位，线程(带有时间片的函数)是系统调度的最小单位。进程包含线程，线程所属于进程。创建进程一般使用 fork 方法(通常会有个拉起程序，先 fork 自身生成一个子进程。然后，在该子进程中通过 exec 函数把对应程序加载进来，进而启动目标进程。当然，实际上要复杂得多)，而创建线程则是使用 pthread 线程库。以 32 位 Linux 操作系统为例，进程经典的虚拟内存结构模型如下图所示：其中，有两处结构是静态程序所不具有的，那就是 运行时堆(heap)与 运行时栈(stack)。运行时堆从低地址向高地址增长，申请的内存空间需要程序员自己或者由 GC 释放。运行时栈从高地址向低地址增长，内存空间在当前栈桢调用结束之后自动释放(并不是清除其…

【Redis持久化】服务器突然挂了！Redis缓存都在内存中啊
type: item
date: 2020-09-27T14:29:53+08:00
description: AI摘要 文章通过Redis与MySQL的对话形式，介绍了Redis的两种持久化方式：RDB和AOF。RDB通过周期性备份内存中的数据到文件，而AOF则记录所有写入命令到文件中。文章还讨论了AOF重写的概念，即通过合并命令来减小AOF文件的大小。最后，文章提出了一个问题，即在AOF方案已经很完善的情况下，是否还需要RDB方案。 document.addEventListener('DOMContentLoaded', function() { const urlDisplay = document.getElementById('urlDisplay'); urlDisplay.textContent = "此内容根据文章生成，更内容请访问：" + window.location.href; }); 我是Redis，一个叫Antirez的男人把我带到了这个世界上。“快醒醒！快醒醒！”，隐隐约约，我听到有人在叫我。慢慢睁开眼睛，原来旁边是MySQL大哥。“我怎么睡着了？”“嗨，你刚才是不是出现了错误，整个进程都崩溃了！害得一大堆查询请求都给我怼过来了！”，MySQL说到。刚刚醒来，脑子还有点懵，MySQL大哥扶我起来继续工作。“糟了！我之前缓存的数据全都不见了！”“WTF？你没有做持久化吗？”，MySQL大哥一听脸色都变了。我尴尬的摇了摇头，“我都是保存在内存中的，所以才那么快啊”“那也可以在硬盘上保存一下啊，遇到这种情况全部从头再来建立缓存，这不浪费时间嘛！”我点了点头，“让我琢磨一下，看看怎么做这个持久化”。RDB持久化没几天，我就拿出了一套方案：RDB既然我的数据都在内存中存放着，最简单的就是遍历一遍把它们全都写入文件中。为了节约空间，我定义了一个二进制的格式，把数据一条一条码在一起，生成了一个RDB文件。不过我的数据量有点大，要是全部备份一次得花不少时间，所以不能太频繁的去做这事，要不然我不用干正事了，光花时间去备份了。还有啊，要是一直没有写入操作，都是读取操作，那我也不用重复备份，浪费时间。思来想去，我决定提供一个配置参数，既可以支持周期性备份，也可以避免做无用功。就像这样：save 900 1 # 900秒（15分钟）内有1个写入save 300 10 # 300秒（5分钟）内有10个写入save 60 10000 # 60秒（1分钟）内有10000个写入多个条件可以组合使用，只要上面一个条件满足，我就会去进行备份。后来我又想了一下，这样还是不行，我得fork出一个子进程去做这件事，不能浪费我的时间。有了备份文件，下次我再遇到崩溃退出，甚至服务器断电罢工了，只要我的备份文件还在，我就能在启动的时候读取，快速恢复之前的状态啦！MySQL:binlog我带着这套方案，兴冲冲的拿给了MySQL大哥看了，期待他给我一些鼓励。“老弟，你这个方案有点问题啊”，没想到，他竟给我浇了一盆冷水。“问题？有什么问题？”“你看啊，你这个周期性去备份，周期还是分钟级别的，你可知道咱们这服务每秒钟都要响应多少请求，像你这样不得丢失多少数据？”，MySQL语重心长的说到。我一下有些气短了，“可是，这个备份一次要遍历全部数据，开销还是挺大的，不适合高频执行啊”“谁叫你一次遍历全部数据了？来来来，我给你看个东西”，MySQL大哥把我带到了一个文件目录下：mysql-bin.000001mysql-bin.000002mysql-bin.000003···“看，这些是我的二进制日志binlog，你猜猜看里面都装了些什么？”，MySQL大哥指着这一堆文件说到。我看了一眼，全是一堆二进制数据，这哪看得懂，我摇了摇头。“这里面呀记录了我对数据执行更改的所有操作，像是INSERT，UPDATE、DELETE等等动作，等我要进行数据恢复的时候就可以派上大用场了”听他这么一说，我一下来了灵感！告别了MySQL大哥，回去研究起新的方案来了。AOF持久化你们也知道，我也是基于命令式的，每天的工作就是响应业务程序发来的命令请求。回来以后，我决定照葫芦画瓢，学着MySQL大哥的样子，把我执行的所有写入命令都记录下来，专门写入了一个文件，并给这种持久化方式也取了一个名字：AOF（Append Only File）。不过我遇到了RDB方案同样的问题，我该多久写一次文件呢？我肯定不能每执行一条写入命令就记录到文件中，那会严重拖垮我的性能！我决定准备一个缓冲区，然后把要记录的命令先临时保存在这里，然后再择机写入文件，我把这个临时缓冲区叫做aof_buf。说干就干，我试了一下，竟然发现数据没有写入到文件中去。多方打听才知道，原来操作系统也有个缓存区，我写的数据被他缓存起来了，没有给我写入到文件中去，这不是坑爹呢嘛！看来，我写完了还得要去刷新一下，把数据真正给写下去，思来想去，我还…

视频防盗链技术方案研究与讲解
type: item
date: 2020-09-15T18:48:00+08:00
description: AI摘要 本文介绍了点播视频防盗链技术方案，包括防盗链的必要性、常见技术方案和主流视频平台的防盗链技术。文章详细讲解了Referer防盗链和URL防盗链两种方案，包括它们的工作原理、功能和生成方法。最后，作者建议使用HLS（m3u8）文件格式来提高视频传输的安全性。 document.addEventListener('DOMContentLoaded', function() { const urlDisplay = document.getElementById('urlDisplay'); urlDisplay.textContent = "此内容根据文章生成，更内容请访问：" + window.location.href; }); 作者：谭东最近刚完成点播视频防盗链的部署，也对视频防盗链技术方案有了研究与了解。在这里给大家分享下技术方案和原理。一、先说下为什么要防盗链？这个主要是：网站方为了防止自己的点播服务器的资源和流量被盗用；保护视频版权；防止视频被下载盗用等。二、防盗链技术方案一般盗链者可以直接获取播放地址盗用或者破解播放器盗用、录屏盗用、下载盗用、视频链接破解提取原地址等方式进行盗链。所以我们在防盗链时要综合这些因素考虑，当然不可能面面俱到，但是能够覆盖大部分常见的手段即可。常见方案有：视频加水印；视频加DRM版权水印；视频加密；播放器加解密；Referer防盗链；URL防盗链；采用m3u8等盗链难度高的文件格式，也可以防下载；IP黑白名单限制等。说了这么多，我们来看看目前主流的视频防盗链技术方案，例如央视网、腾讯、优酷等平台一般都采用Referer防盗链和URL防盗链方式进行防盗链。针对直播视频防盗链或点播视频防下载，我们还可以将视频文件格式变成m3u8格式，这样可以防止视频被下载。那么接下来我们就简单讲解下Referer防盗链和URL防盗链方案：（1）Referer防盗链Referer防盗链比较简单，是基于 HTTP 协议支持的 Referer 机制，通过播放请求 Header 中携带的 Referer 字段识别请求的来源。开发者可以设置一批域名为黑名单或白名单，CDN 节点将按照名单中的域名做鉴权，从而允许或拒绝播放请求。也就是携带了播放来源，如果播放这个视频源的页面地址不对的话，则会拒绝播放。当然Referer是可以伪造的，所以建议结合URL防盗链进行使用。（2）URL防盗链URL防盗链是主流防盗链方案，也是安全度比较高一种防盗链方式。当然也有称作是Token校验方式，也有叫做鉴权防盗链，这里统称URL防盗链。URL防盗链可以设置很多功能，如视频链接过期时间、播放人数控制、视频播放时长控制（如试看5分钟这种功能）等等。而控制鉴权的这部分放在CDN节点中去处理。URL防盗链，允许开发者将视频的播放控制参数以 QueryString 的形式拼接在视频 URL 中，CDN 节点将检查 URL 中的播放控制参数，并依据参数控制视频的播放。目前，Key 防盗链通过“过期时间参数”、“允许播放的 IP 数量参数”和“试看时间参数”，支持“防盗链有效时间控制”、“防盗链播放人数控制”和“视频播放时长控制”。防盗链有效时间控制在视频 URL 中指定过期时间。如果请求的视频 URL 已过期，则视频无法播放。通过这种方式，可以为视频 URL 设置有效时间，防范他人将视频 URL 转移到其他站点后长期使用。防盗链播放人数控制在视频 URL 中指定链接最多能供多少人播放。不在同一内网的播放终端，它们的公网 IP 一般是不同的。通过限制一个 URL 允许最多能被多少公网 IP 播放，就能够限制同一个 URL 可以播放的人数，从而可以防范他人将视频 URL 转移到其他站点后，无限制地分发给任意多的人数观看。视频允许播放时长控制在视频 URL 中指定试看时长（如仅允许播放视频的前5分钟）。通过这种方式，可以实现对未付费用户的试看功能。URL防盗链功能简介：支持在视频 URL 中指定过期时间，他人获取后无法长期使用。支持在视频 URL 中指定最大允许播放 IP 数，他人获取后不能无限制地分发给更多人观看。支持在视频 URL 中指定试看时长，实现试看功能。开发者使用密钥KEY对视频 URL 签名，并在 URL 中带上签名结果。只要用户密钥不泄露，其他用户无法伪造视频 URL。CDN 节点检查视频 URL 中的参数和签名，对视频播放请求进行控制。如果请求检查不通过，则返回403响应码。支持的文件类型：MP4、TS、M3U8、FLV、AAC、MOV、WMV、AVI、MP3、RMVB、MKV、MPG、3GP、WEBM、M4V、ASF、F4V、WAV、MPEG、VOB、RM、WMA、DAT、M4A、MPD、M4S。三、具体URL防盗链生成和使用…